@lunora/studio 1.0.0-alpha.100 → 1.0.0-alpha.102
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/index.d.ts +3 -1
- package/dist/packem_chunks/LogsPanel.js +1 -1
- package/dist/packem_chunks/MetricsPanel.js +1 -1
- package/dist/packem_chunks/traces-panel.js +1 -1
- package/dist/packem_shared/log-line-CmtmbZNE.js +1 -0
- package/dist/packem_shared/trace-handoff-D7j9TjUT.js +1 -0
- package/dist/packem_shared/use-open-trace-D9XDDHHS.js +1 -0
- package/dist/standalone/chunk-22SUVVIR.js +1 -0
- package/dist/standalone/{chunk-C2OHUG2J.js → chunk-35SAF2LS.js} +1 -1
- package/dist/standalone/chunk-37PXYIVK.js +1 -0
- package/dist/standalone/{chunk-JN2Y24PY.js → chunk-3DH35OZ5.js} +1 -1
- package/dist/standalone/chunk-3RC2X4I2.js +1 -0
- package/dist/standalone/chunk-4KPBTODU.js +1 -0
- package/dist/standalone/{chunk-EALHAMLB.js → chunk-4PDTGZDC.js} +2 -2
- package/dist/standalone/{chunk-MQ2GKKQ6.js → chunk-4V4RO52I.js} +1 -1
- package/dist/standalone/{chunk-FMM3XUZH.js → chunk-5BEGIQM7.js} +1 -1
- package/dist/standalone/chunk-5HMBKUFH.js +1 -0
- package/dist/standalone/chunk-6C6FRIYD.js +1 -0
- package/dist/standalone/{chunk-322ZP3GW.js → chunk-6IZBFC3G.js} +1 -1
- package/dist/standalone/{chunk-BUVIRYQM.js → chunk-6THGMZNI.js} +1 -1
- package/dist/standalone/chunk-7AY2447G.js +1 -0
- package/dist/standalone/{chunk-5NCGZJ55.js → chunk-7GNNMMT4.js} +1 -1
- package/dist/standalone/chunk-7MT6C3FS.js +1 -0
- package/dist/standalone/chunk-A3DCTWSA.js +1 -0
- package/dist/standalone/{chunk-M43KO276.js → chunk-APBWFKW5.js} +1 -1
- package/dist/standalone/chunk-B5FMYLVA.js +1 -0
- package/dist/standalone/chunk-BB7WLC24.js +1 -0
- package/dist/standalone/{chunk-Y7XGNPT6.js → chunk-BCMLQ3LV.js} +1 -1
- package/dist/standalone/{chunk-55PVLIN3.js → chunk-BIVP5DZB.js} +1 -1
- package/dist/standalone/{chunk-DGRAPESO.js → chunk-DBAMCESO.js} +1 -1
- package/dist/standalone/{chunk-GGADAESO.js → chunk-DC23USXJ.js} +1 -1
- package/dist/standalone/chunk-DJZYD5I5.js +1 -0
- package/dist/standalone/chunk-DSDJ3QRD.js +1 -0
- package/dist/standalone/chunk-DY34ZZ5K.js +1 -0
- package/dist/standalone/chunk-ELI5HREQ.js +2 -0
- package/dist/standalone/{chunk-XAEG372C.js → chunk-ELJZNBBJ.js} +1 -1
- package/dist/standalone/{chunk-RTMMB3OY.js → chunk-EWGPDRH3.js} +1 -1
- package/dist/standalone/chunk-G6VZTEGG.js +1 -0
- package/dist/standalone/{chunk-4KIQ5RLS.js → chunk-GG6PIGQO.js} +1 -1
- package/dist/standalone/{chunk-MZ2JNVMR.js → chunk-GRRBUXEI.js} +1 -1
- package/dist/standalone/{chunk-F7IRBXWY.js → chunk-GSQDZMV5.js} +1 -1
- package/dist/standalone/{chunk-NE4N6I57.js → chunk-IID7VT2A.js} +1 -1
- package/dist/standalone/{chunk-PVF5J5UD.js → chunk-IRXDBOOU.js} +1 -1
- package/dist/standalone/chunk-K2E4OECF.js +1 -0
- package/dist/standalone/chunk-LKBKYLWK.js +1 -0
- package/dist/standalone/{chunk-UF6XZKV3.js → chunk-LPBWDHKM.js} +1 -1
- package/dist/standalone/{chunk-M3NGYXDR.js → chunk-LYVP5PT6.js} +1 -1
- package/dist/standalone/chunk-LZFOZFYW.js +1 -0
- package/dist/standalone/{chunk-WMLKVJUX.js → chunk-MRK53LUL.js} +1 -1
- package/dist/standalone/chunk-MWIKAR7F.js +1 -0
- package/dist/standalone/{chunk-5GQFG6QI.js → chunk-NH4HJFG3.js} +1 -1
- package/dist/standalone/chunk-NLHEYDAA.js +1 -0
- package/dist/standalone/{chunk-GVSKCIJR.js → chunk-NLWDTGEP.js} +1 -1
- package/dist/standalone/chunk-OHOWUEQ3.js +1 -0
- package/dist/standalone/chunk-ORNIQZ2P.js +1 -0
- package/dist/standalone/chunk-PCAI3G4M.js +1 -0
- package/dist/standalone/{chunk-V76WCOMM.js → chunk-QJW2Z3SI.js} +1 -1
- package/dist/standalone/{chunk-MKYEFQCA.js → chunk-RA5DW5MU.js} +1 -1
- package/dist/standalone/chunk-RO6LEET3.js +1 -0
- package/dist/standalone/chunk-RTXAZLAE.js +1 -0
- package/dist/standalone/{chunk-AB5WGAX6.js → chunk-SBZXUGZ7.js} +1 -1
- package/dist/standalone/chunk-T6YGEL6X.js +1 -0
- package/dist/standalone/chunk-TFSGDOCG.js +1 -0
- package/dist/standalone/{chunk-FKAUVTSS.js → chunk-TQEVFVNP.js} +1 -1
- package/dist/standalone/{chunk-JXF2J6QZ.js → chunk-U4THUBUT.js} +1 -1
- package/dist/standalone/{chunk-4HNNNIDW.js → chunk-U62QRT34.js} +1 -1
- package/dist/standalone/chunk-UALL2OBT.js +1 -0
- package/dist/standalone/{chunk-BQNVN2OD.js → chunk-UP7OTXKF.js} +1 -1
- package/dist/standalone/chunk-VITTPKH5.js +1 -0
- package/dist/standalone/{chunk-CJLOWFCK.js → chunk-W3VOX7VR.js} +1 -1
- package/dist/standalone/chunk-W3XKLUWQ.js +1 -0
- package/dist/standalone/{chunk-6UPCJAAI.js → chunk-WMBDXCYL.js} +1 -1
- package/dist/standalone/{chunk-6V27P65N.js → chunk-WPK2Q33V.js} +1 -1
- package/dist/standalone/{chunk-YC52XCPK.js → chunk-X7B6PLEW.js} +4 -4
- package/dist/standalone/chunk-Y32QIKBS.js +1 -0
- package/dist/standalone/{chunk-K3PSOZXH.js → chunk-YZ7OINPX.js} +1 -1
- package/dist/standalone/{chunk-HGSIVV32.js → chunk-ZMDNTTAC.js} +1 -1
- package/dist/standalone/{chunk-P4BOVBMR.js → chunk-ZNNKWEH5.js} +1 -1
- package/dist/standalone/studio.js +1 -1
- package/dist/styles.css +1 -1
- package/package.json +6 -6
- package/dist/packem_shared/log-fields-CoL3hsIQ.js +0 -1
- package/dist/packem_shared/trace-handoff-CuZ6WGgo.js +0 -1
- package/dist/standalone/chunk-5PQCUZIE.js +0 -1
- package/dist/standalone/chunk-6UPIWTCN.js +0 -1
- package/dist/standalone/chunk-7LJL6UC2.js +0 -1
- package/dist/standalone/chunk-APXXEXIX.js +0 -1
- package/dist/standalone/chunk-AREBQI6D.js +0 -1
- package/dist/standalone/chunk-DB2D42KJ.js +0 -1
- package/dist/standalone/chunk-DBCMZ4NF.js +0 -1
- package/dist/standalone/chunk-EIK3BLGV.js +0 -1
- package/dist/standalone/chunk-EV2NKHXP.js +0 -1
- package/dist/standalone/chunk-F6W6WUAJ.js +0 -1
- package/dist/standalone/chunk-FXCBF4XT.js +0 -1
- package/dist/standalone/chunk-GRTTHN6U.js +0 -1
- package/dist/standalone/chunk-IVQUDVQV.js +0 -1
- package/dist/standalone/chunk-JYYXXMLM.js +0 -1
- package/dist/standalone/chunk-KESD5PH6.js +0 -1
- package/dist/standalone/chunk-LUIZB427.js +0 -1
- package/dist/standalone/chunk-PKEBAPJY.js +0 -1
- package/dist/standalone/chunk-PKSAWP56.js +0 -1
- package/dist/standalone/chunk-QC2SRHZV.js +0 -1
- package/dist/standalone/chunk-QNWJ5Q2O.js +0 -1
- package/dist/standalone/chunk-QWGT25SE.js +0 -1
- package/dist/standalone/chunk-QZFRZEDN.js +0 -1
- package/dist/standalone/chunk-UETRSNZI.js +0 -2
- package/dist/standalone/chunk-UF7QFJ65.js +0 -1
- package/dist/standalone/chunk-VC4WBYE6.js +0 -1
- package/dist/standalone/chunk-VJHQW5X5.js +0 -1
- package/dist/standalone/chunk-W25EQ7YQ.js +0 -1
- package/dist/standalone/chunk-WGEZGQZ5.js +0 -1
- package/dist/standalone/chunk-XHMHOSGK.js +0 -1
- package/dist/standalone/chunk-Z6CJGUSL.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as u,n as d}from"./chunk-
|
|
1
|
+
import{m as u,n as d}from"./chunk-ZMDNTTAC.js";import"./chunk-4UOFSGUS.js";import"./chunk-CZZWYUTR.js";import"./chunk-T6VMSOBB.js";import"./chunk-7QIFDWQV.js";import"./chunk-X7B6PLEW.js";import{a as c,e as m,g as y,h as b}from"./chunk-3XIESWL4.js";var h=m(y(),1);var n=m(b(),1);var p={value:{colors:{dark:["var(--foreground)"],light:["var(--foreground)"]},label:""}},_=c(o=>{let e=(0,h.c)(6),{data:i}=o,a,r;if(e[0]!==i){r=Symbol.for("react.early_return_sentinel");e:{let f=i.slice(-16);if(f.length<3){r=null;break e}a=f.map(g)}e[0]=i,e[1]=a,e[2]=r}else a=e[1],r=e[2];if(r!==Symbol.for("react.early_return_sentinel"))return r;let s=a,t;e[3]===Symbol.for("react.memo_cache_sentinel")?(t=(0,n.jsx)(d,{dataKey:"value"}),e[3]=t):t=e[3];let l;return e[4]!==s?(l=(0,n.jsx)("div",{"aria-hidden":"true",className:"h-8 w-28",children:(0,n.jsx)(u,{animationType:"none",barCategoryGap:1,className:"h-8 w-full",config:p,data:s,children:t})}),e[4]=s,e[5]=l):l=e[5],l},"b");function g(o,e){return{index:e,value:o}}c(g,"h");export{_ as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as Nt,b as Ve,c as dt,d as gt,e as Tt,f as dr}from"./chunk-2PJNAWB3.js";import{a as ar,b as cr,c as ur,d as pr,e as mr}from"./chunk-SD4BERSA.js";import{a as fr}from"./chunk-IC4L6G56.js";import{A as _o,B as Uo,C as ko,D as P,G as a,H as Fo,L as Bo,Z as Ho,a as Eo,ca as jo,d as wo,da as zo,ha as Wo,ia as Go,ja as mt,k as Ht,la as qo,ma as $o,n as Vo,oa as Ko,pa as Jo,q as Oo,qa as Zo,ra as Qo,ta as er,ua as tr,va as or,wa as rr,x as Do,y as Lo}from"./chunk-2QSHLBCO.js";import{a as To,b as Xo}from"./chunk-BGBLQ563.js";import{a as Po,b as Mo,c as Yo}from"./chunk-IVFHIQOT.js";import{a as nr,b as sr,i as lr,j as ir,k as At}from"./chunk-QBWRC5YX.js";import{C as pt,F as Ao,I as _e,K as Xe,L as ft,M as ro,N as No,O as ge,P as xe,a as Ut,b as ut,c as Ro,e as bo,f as yo,g as Ft,h as Ct,i as Io,p as Bt,y as vo,z as Co}from"./chunk-CFPZYHPY.js";import{b as jt}from"./chunk-FXCBF4XT.js";import{a as ee,c as de,e as kt}from"./chunk-2OUPA2WJ.js";import{a as wt,c as je,d as So,e as ho,h as oo,i as xo,j as O}from"./chunk-6ST5ECQA.js";import{a as r,d as mn,e as I,f as _,g as dn,h as Me,j as ot}from"./chunk-3XIESWL4.js";var Ot=I(dn(),1),Ec=I(_(),1);var me={};mn(me,{Arrow:()=>Zr,Backdrop:()=>kr,Group:()=>cn,GroupLabel:()=>pn,Icon:()=>Or,Item:()=>qr,ItemIndicator:()=>Xr,ItemText:()=>Kr,Label:()=>Nr,List:()=>Gr,Popup:()=>zr,Portal:()=>_r,Positioner:()=>Fr,Root:()=>Er,ScrollDownArrow:()=>on,ScrollUpArrow:()=>sn,Separator:()=>fr,Trigger:()=>Tr,Value:()=>Mr});var j=I(_(),1);var St=I(_(),1);var no=St.createContext(null),so=St.createContext(null);function U(){let e=St.useContext(no);if(e===null)throw new Error(je(60));return e}r(U,"useSelectRootContext");function zt(){let e=St.useContext(so);if(e===null)throw new Error(je(61));return e}r(zt,"useSelectFloatingContext");var gr=r((e,t)=>Object.is(e,t),"defaultItemEquality");function Ue(e,t,o){return e==null||t==null?Object.is(e,t):o(e,t)}r(Ue,"compareItemEquality");function Sr(e,t,o){return!e||e.length===0?!1:e.some(n=>n===void 0?!1:Ue(t,n,o))}r(Sr,"selectedValueIncludes");function rt(e,t,o){return!e||e.length===0?-1:e.findIndex(n=>n===void 0?!1:Ue(n,t,o))}r(rt,"findItemIndex");function hr(e,t,o){return e.filter(n=>!Ue(t,n,o))}r(hr,"removeItem");var xr=I(_(),1);function Wt(e){if(e==null)return"";if(typeof e=="string")return e;try{return JSON.stringify(e)}catch{return String(e)}}r(Wt,"serializeValue");var Rr=I(Me(),1);function br(e){return e!=null&&e.length>0&&typeof e[0]=="object"&&e[0]!=null&&"items"in e[0]}r(br,"isGroupedItems");function yr(e){if(!Array.isArray(e))return e!=null&&"null"in e;let t=e;if(br(t)){for(let o of t)for(let n of o.items)if(n&&n.value==null&&n.label!=null)return!0;return!1}for(let o of t)if(o&&o.value==null&&o.label!=null)return!0;return!1}r(yr,"hasNullItemLabel");function lo(e,t){if(t&&e!=null)return t(e)??"";if(e&&typeof e=="object"){if("label"in e&&e.label!=null)return String(e.label);if("value"in e)return String(e.value)}return Wt(e)}r(lo,"stringifyAsLabel");function ze(e,t){return t&&e!=null?t(e)??"":e&&typeof e=="object"&&"value"in e&&"label"in e?Wt(e.value):Wt(e)}r(ze,"stringifyAsValue");function io(e,t,o){function n(){return lo(e,o)}if(r(n,"fallback"),o&&e!=null)return o(e);if(e&&typeof e=="object"&&"label"in e&&e.label!=null)return e.label;if(t&&!Array.isArray(t))return t[e]??n();if(Array.isArray(t)){let l=t,c=br(l)?l.flatMap(s=>s.items):l;if(e==null||typeof e!="object"){let s=c.find(m=>m.value===e);return s&&s.label!=null?s.label:n()}if("value"in e){let s=c.find(m=>m&&m.value===e.value);if(s&&s.label!=null)return s.label}}return n()}r(io,"resolveSelectedLabel");function Ir(e,t,o){return e.reduce((n,l,c)=>(c>0&&n.push(", "),n.push((0,Rr.jsx)(xr.Fragment,{children:io(l,t,o)},c)),n),[])}r(Ir,"resolveMultipleLabels");var i={id:P(e=>e.id),labelId:P(e=>e.labelId),modal:P(e=>e.modal),multiple:P(e=>e.multiple),items:P(e=>e.items),itemToStringLabel:P(e=>e.itemToStringLabel),itemToStringValue:P(e=>e.itemToStringValue),isItemEqualToValue:P(e=>e.isItemEqualToValue),value:P(e=>e.value),hasSelectedValue:P(e=>{let{value:t,multiple:o,itemToStringValue:n}=e;return t==null?!1:o&&Array.isArray(t)?t.length>0:ze(t,n)!==""}),hasNullItemLabel:P((e,t)=>t?yr(e.items):!1),open:P(e=>e.open),mounted:P(e=>e.mounted),forceMount:P(e=>e.forceMount),transitionStatus:P(e=>e.transitionStatus),openMethod:P(e=>e.openMethod),activeIndex:P(e=>e.activeIndex),selectedIndex:P(e=>e.selectedIndex),isActive:P((e,t)=>e.activeIndex===t),isSelected:P((e,t)=>{let o=e.isItemEqualToValue,n=e.value;return e.multiple?Array.isArray(n)&&n.some(l=>Ue(t,l,o)):Ue(t,n,o)}),isSelectedByFocus:P((e,t)=>e.selectedIndex===t),popupProps:P(e=>e.popupProps),triggerProps:P(e=>e.triggerProps),triggerElement:P(e=>e.triggerElement),positionerElement:P(e=>e.positionerElement),listElement:P(e=>e.listElement),popupSide:P(e=>e.popupSide),scrollUpArrowVisible:P(e=>e.scrollUpArrowVisible),scrollDownArrowVisible:P(e=>e.scrollDownArrowVisible),hasScrollArrows:P(e=>e.hasScrollArrows)};function vr(e,t,o=(n,l)=>n===l){return e.length===t.length&&e.every((n,l)=>o(n,t[l]))}r(vr,"areArraysEqual");var ht=I(Me(),1);function Er(e){let{id:t,value:o,defaultValue:n=null,onValueChange:l,open:c,defaultOpen:s=!1,onOpenChange:m,name:p,form:f,autoComplete:g,disabled:h=!1,readOnly:R=!1,required:v=!1,modal:C=!0,actionsRef:k,inputRef:x,onOpenChangeComplete:J,items:B,multiple:A=!1,itemToStringLabel:b,itemToStringValue:L,isItemEqualToValue:M=gr,highlightItemOnHover:ae=!0,children:te}=e,{clearErrors:$}=Ro(),{setDirty:se,setTouched:Se,setFocused:Re,validityData:z,setFilled:X,name:D,disabled:ce,validation:N,validationMode:Z}=ut(),H=Ft({id:t}),V=ce||h,u=D??p,[S,le]=ro({controlled:o,default:A?n??oo:n,name:"Select",state:"value"}),[F,be]=ro({controlled:c,default:s,name:"Select",state:"open"}),he=j.useRef([]),d=j.useRef([]),w=j.useRef(null),ue=j.useRef(null),Ae=j.useRef(0),T=j.useRef(null),K=j.useRef([]),W=j.useRef(!1),Ie=j.useRef(null),ie=j.useRef(null),pe=j.useRef({allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1,dragY:0}),fe=j.useRef(!1),{mounted:oe,setMounted:Ne,transitionStatus:Q}=ft(F),{openMethod:G,triggerProps:re}=qo(F),y=So(()=>new Fo({id:H,labelId:void 0,modal:C,multiple:A,itemToStringLabel:b,itemToStringValue:L,isItemEqualToValue:M,value:S,open:F,mounted:oe,transitionStatus:Q,items:B,forceMount:!1,openMethod:null,activeIndex:null,selectedIndex:null,popupProps:{},triggerProps:{},triggerElement:null,positionerElement:null,listElement:null,popupSide:null,scrollUpArrowVisible:!1,scrollDownArrowVisible:!1,hasScrollArrows:!1})).current,We=a(y,i.activeIndex),Te=a(y,i.selectedIndex),Oe=a(y,i.triggerElement),ke=a(y,i.positionerElement),Ge=rr(G),Je=G??Ge??null,It=j.useMemo(()=>A?"":ze(S,L),[A,S,L]),Fe=j.useMemo(()=>A&&Array.isArray(S)?S.map(E=>ze(E,L)):ze(S,L),[A,S,L]),Ze=Ht(y.state.triggerElement),ne=de(()=>Fe);No(Ze,H,S,ne,!V,p);let Be=j.useRef(S),He=A?Array.isArray(S)&&S.length>0:S!=null&&ze(S,L)!=="";ee(()=>{S!==Be.current&&y.set("forceMount",!0)},[y,S]),ee(()=>{X(He)},[He,X]),ee(r(function(){let Y=K.current,ve;if(A){let ye=Array.isArray(S)?S:[];if(ye.length===0)ve=null;else{let $e=ye[ye.length-1],tt=rt(Y,$e,M);ve=tt===-1?null:tt}}else{let ye=rt(Y,S,M);ve=ye===-1?null:ye}ve===null&&(ie.current=null),!F&&y.set("selectedIndex",ve)},"syncSelectedIndex"),[He,A,F,S,K,M,y,ie]);function De(E){let Y=z.initialValue;return Array.isArray(E)&&Array.isArray(Y)?!vr(E,Y,(ve,ye)=>Ue(ve,ye,M)):E!==Y}r(De,"isSelectedValueDirty"),Yo(S,()=>{$(u),se(De(S)),N.change(S)});let st=de((E,Y)=>{m?.(E,Y),!Y.isCanceled&&(be(E),!E&&(Y.reason===ge.focusOut||Y.reason===ge.outsidePress)&&(Se(!0),Re(!1),Z==="onBlur"&&N.commit(S)))}),lt=de(()=>{Ne(!1),y.update({activeIndex:null,openMethod:null}),J?.(!1)});Xe({enabled:!k,open:F,ref:w,onComplete(){F||lt()}}),j.useImperativeHandle(k,()=>({unmount:lt}),[lt]);let Ye=de((E,Y)=>{l?.(E,Y),!Y.isCanceled&&le(E)}),Le=de(()=>{let E=y.state.listElement||w.current;if(!E)return;let Y=dt(E.scrollHeight,E.clientHeight),ve=gt(E.scrollTop,Y),ye=ve>0,$e=ve<Y;y.state.scrollUpArrowVisible!==ye&&y.set("scrollUpArrowVisible",ye),y.state.scrollDownArrowVisible!==$e&&y.set("scrollDownArrowVisible",$e)}),Qe=Ho({open:F,onOpenChange:st,elements:{reference:Oe,floating:ke}}),it=Lo(Qe,{enabled:!R&&!V,event:"mousedown"}),at=_o(Qe),qe=jo(Qe,{enabled:!R&&!V,listRef:he,activeIndex:We,selectedIndex:Te,disabledIndices:oo,onNavigate(E){E===null&&!F||y.set("activeIndex",E)},focusItemOnHover:ae}),et=zo(Qe,{enabled:!R&&!V&&(F||!A),listRef:d,activeIndex:We,selectedIndex:Te,disabledIndices:r(E=>mr(he.current[E]),"disabledIndices"),onMatch(E){F?y.set("activeIndex",E):Ye(K.current[E],xe("none"))},onTyping(E){W.current=E}}),vt=j.useMemo(()=>{let E=wt(et.reference,qe.reference,at.reference,it.reference,re);return H&&(E.id=H),E},[it.reference,et.reference,qe.reference,at.reference,re,H]),Et=j.useMemo(()=>wt(Bo,et.floating,qe.floating,at.floating),[et.floating,qe.floating,at.floating]),Dt=qe.item??xo;ko(()=>{y.update({popupProps:Et,triggerProps:vt})}),ee(()=>{y.update({id:H,modal:C,multiple:A,value:S,open:F,mounted:oe,transitionStatus:Q,popupProps:Et,triggerProps:vt,items:B,itemToStringLabel:b,itemToStringValue:L,isItemEqualToValue:M,openMethod:Je})},[y,H,C,A,S,F,oe,Q,Et,vt,B,b,L,M,Je]);let Pe=j.useMemo(()=>({store:y,name:u,required:v,disabled:V,readOnly:R,multiple:A,highlightItemOnHover:ae,setValue:Ye,setOpen:st,listRef:he,popupRef:w,scrollHandlerRef:ue,handleScrollArrowVisibility:Le,scrollArrowsMountedCountRef:Ae,itemProps:Dt,valueRef:T,valuesRef:K,labelsRef:d,typingRef:W,selectionRef:pe,firstItemTextRef:Ie,selectedItemTextRef:ie,validation:N,onOpenChangeComplete:J,alignItemWithTriggerActiveRef:fe,initialValueRef:Be}),[y,u,v,V,R,A,ae,Ye,st,Dt,N,J,Le]),ct=ho(x,N.inputRef),Lt=A&&Array.isArray(S)&&S.length>0,_t=A?void 0:u,eo=j.useMemo(()=>!A||!Array.isArray(S)||!u?null:S.map(E=>{let Y=ze(E,L);return(0,ht.jsx)("input",{type:"hidden",form:f,name:u,value:Y,disabled:V},Y)}),[A,S,f,u,L,V]);return(0,ht.jsx)(no.Provider,{value:Pe,children:(0,ht.jsxs)(so.Provider,{value:Qe,children:[te,(0,ht.jsx)("input",{...N.getValidationProps(V,{onFocus(){y.state.triggerElement?.focus({focusVisible:!0})},onChange(E){if(E.nativeEvent.defaultPrevented||V||R)return;let Y=E.currentTarget.value,ve=xe(ge.none,E.nativeEvent);function ye(){if(A)return;let $e=Y.toLowerCase(),tt=K.current.findIndex(to=>ze(to,L).toLowerCase()===$e||lo(to,b).toLowerCase()===$e);tt===-1&&(tt=K.current.findIndex((to,fn)=>{let go=d.current[fn];return go!=null&&go.toLowerCase()===$e}));let mo=tt===-1?void 0:K.current[tt];mo!=null&&Ye(mo,ve)}r(ye,"handleChange"),y.set("forceMount",!0),queueMicrotask(ye)}}),id:H&&_t==null?`${H}-hidden-input`:void 0,form:f,name:_t,autoComplete:g,value:It,disabled:V,required:v&&!Lt,readOnly:R,ref:ct,style:u?Mo:Po,tabIndex:-1,"aria-hidden":!0,suppressHydrationWarning:!0}),eo]})})}r(Er,"SelectRoot");var Ar=I(_(),1);function wr(e){return e==null?void 0:`${e}-label`}r(wr,"getDefaultLabelId");function Cr(e,t){return e??t}r(Cr,"resolveAriaLabelledBy");var Nr=Ar.forwardRef(r(function(t,o){let{render:n,className:l,style:c,...s}=t,m=s;delete m.id;let p=ut(),{store:f}=U(),g=a(f,i.triggerElement),h=a(f,i.id),R=wr(h),v=Co({id:R,fallbackControlId:g?.id??h,setLabelId(C){f.set("labelId",C)}});return O("div",t,{ref:o,state:p.state,props:[v,s],stateAttributesMapping:Ut})},"SelectLabel"));var xt=I(_(),1);var Gt=2,gn=400,Sn={...Go,...Ut,popupSide:r(e=>e?{"data-popup-side":e}:null,"popupSide"),value:r(()=>null,"value")},Tr=xt.forwardRef(r(function(t,o){let{render:n,className:l,id:c,disabled:s=!1,nativeButton:m=!0,style:p,...f}=t,{setTouched:g,setFocused:h,validationMode:R,state:v,disabled:C}=ut(),{labelId:k}=yo(),{store:x,setOpen:J,selectionRef:B,validation:A,readOnly:b,required:L,alignItemWithTriggerActiveRef:M,disabled:ae}=U(),te=C||ae||s,$=a(x,i.open),se=a(x,i.mounted),Se=a(x,i.value),Re=a(x,i.triggerProps),z=a(x,i.positionerElement),X=a(x,i.listElement),D=a(x,i.popupSide),ce=a(x,i.id),N=a(x,i.labelId),Z=a(x,i.hasSelectedValue),H=se&&z?D:null,V=c??ce,u=Cr(k,N);Ft({id:V});let S=Ht(z),le=xt.useRef(null),{getButtonProps:F,buttonRef:be}=jt({disabled:te,native:m}),he=de(W=>{x.set("triggerElement",W)}),d=pt(),w=pt(),ue=pt();xt.useEffect(()=>{if($)return ue.start(gn,()=>{B.current.allowUnselectedMouseUp=!0,B.current.allowSelectedMouseUp=!0}),()=>{ue.clear()};B.current={allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1,dragY:0},w.clear()},[$,B,w,ue]);let Ae=wt(Re,{id:V,role:"combobox","aria-expanded":$?"true":"false","aria-haspopup":"listbox","aria-controls":$?X?.id??vo(z)?.id:void 0,"aria-labelledby":u,"aria-readonly":b||void 0,"aria-required":L||void 0,tabIndex:te?-1:0,onFocus(W){h(!0),$&&M.current&&J(!1,xe(ge.none,W.nativeEvent)),d.start(0,()=>{x.set("forceMount",!0)})},onBlur(W){Bt(z,W.relatedTarget)||(g(!0),h(!1),R==="onBlur"&&A.commit(Se))},onMouseDown(W){if($)return;let Ie=Ct(W.currentTarget);function ie(pe){if(!le.current)return;let fe=pe.target;if(Bt(le.current,fe)||Bt(S.current,fe))return;let oe=pr(le.current);pe.clientX>=oe.left-Gt&&pe.clientX<=oe.right+Gt&&pe.clientY>=oe.top-Gt&&pe.clientY<=oe.bottom+Gt||J(!1,xe(ge.cancelOpen,pe))}r(ie,"handleMouseUp"),w.start(0,()=>{Ie.addEventListener("mouseup",ie,{once:!0})})}},f,F),T=A.getValidationProps(te,Ae);T.role="combobox";let K={...v,open:$,disabled:te,value:Se,readOnly:b,popupSide:H,placeholder:!Z};return O("button",t,{ref:[o,le,be,he],state:K,stateAttributesMapping:Sn,props:T})},"SelectTrigger"));var Pr=I(_(),1);var hn={value:r(()=>null,"value")},Mr=Pr.forwardRef(r(function(t,o){let{className:n,render:l,children:c,placeholder:s,style:m,...p}=t,{store:f,valueRef:g}=U(),h=a(f,i.value),R=a(f,i.items),v=a(f,i.itemToStringLabel),C=a(f,i.hasSelectedValue),k=!C&&s!=null&&c==null,x=a(f,i.hasNullItemLabel,k),J={value:h,placeholder:!C},B=null;return typeof c=="function"?B=c(h):c!=null?B=c:!C&&s!=null&&!x?B=s:Array.isArray(h)?B=Ir(h,R,v):B=io(h,R,v),O("span",t,{state:J,ref:[o,g],props:[{children:B},p],stateAttributesMapping:hn})},"SelectValue"));var Vr=I(_(),1);var Or=Vr.forwardRef(r(function(t,o){let{render:n,className:l,style:c,...s}=t,{store:m}=U(),f={open:a(m,i.open)};return O("span",t,{state:f,ref:o,props:[{"aria-hidden":!0,children:"\u25BC"},s],stateAttributesMapping:Wo})},"SelectIcon"));var Lr=I(_(),1);var ao=I(_(),1);var Dr=ao.createContext(void 0);var co=I(Me(),1);var _r=Lr.forwardRef(r(function(t,o){let{store:n}=U(),l=a(n,i.mounted),c=a(n,i.forceMount);return l||c?(0,co.jsx)(Dr.Provider,{value:!0,children:(0,co.jsx)(Oo,{ref:o,...t})}):null},"SelectPortal"));var Ur=I(_(),1);var xn={...mt,..._e},kr=Ur.forwardRef(r(function(t,o){let{render:n,className:l,style:c,...s}=t,{store:m}=U(),p=a(m,i.open),f=a(m,i.mounted),g=a(m,i.transitionStatus);return O("div",t,{state:{open:p,transitionStatus:g},ref:o,props:[{role:"presentation",hidden:!f,style:{userSelect:"none",WebkitUserSelect:"none"}},s],stateAttributesMapping:xn})},"SelectBackdrop"));var Ee=I(_(),1);var Yt=I(_(),1);var uo=Yt.createContext(void 0);function Ke(){let e=Yt.useContext(uo);if(!e)throw new Error(je(59));return e}r(Ke,"useSelectPositionerContext");function Rt(e,t){e&&Object.assign(e.style,t)}r(Rt,"clearStyles");var qt={position:"relative",maxHeight:"100%",overflowX:"hidden",overflowY:"auto"};var Pt=I(Me(),1);var Rn={position:"fixed"},Fr=Ee.forwardRef(r(function(t,o){let{anchor:n,positionMethod:l="absolute",className:c,render:s,side:m="bottom",align:p="center",sideOffset:f=0,alignOffset:g=0,collisionBoundary:h="clipping-ancestors",collisionPadding:R,arrowPadding:v=5,sticky:C=!1,disableAnchorTracking:k,alignItemWithTrigger:x=!0,collisionAvoidance:J=Vo,style:B,...A}=t,{store:b,listRef:L,labelsRef:M,alignItemWithTriggerActiveRef:ae,selectedItemTextRef:te,valuesRef:$,initialValueRef:se,popupRef:Se,setValue:Re}=U(),z=zt(),X=a(b,i.open),D=a(b,i.mounted),ce=a(b,i.modal),N=a(b,i.value),Z=a(b,i.openMethod),H=a(b,i.positionerElement),V=a(b,i.triggerElement),u=a(b,i.isItemEqualToValue),S=a(b,i.transitionStatus),le=Ee.useRef(null),F=Ee.useRef(null),[be,he]=Ee.useState(x),d=D&&be&&Z!=="touch";!D&&be!==x&&he(x),ee(()=>{D||(i.scrollUpArrowVisible(b.state)&&b.set("scrollUpArrowVisible",!1),i.scrollDownArrowVisible(b.state)&&b.set("scrollDownArrowVisible",!1))},[b,D]),Ee.useImperativeHandle(ae,()=>d),er((d||ce)&&X,Z==="touch",H,V);let w=Ko({anchor:n,floatingRootContext:z,positionMethod:l,mounted:D,side:m,sideOffset:f,align:p,alignOffset:g,arrowPadding:v,collisionBoundary:h,collisionPadding:R,sticky:C,disableAnchorTracking:k??d,collisionAvoidance:J,keepMounted:!0}),ue=d?"none":w.side,Ae=d?Rn:w.positionerStyles,T={open:X,side:ue,align:w.align,anchorHidden:w.anchorHidden};ee(()=>{b.set("popupSide",w.side)},[b,w.side]);let K=de(fe=>{b.set("positionerElement",fe)}),W=Qo(t,T,{styles:Ae,transitionStatus:S,props:A,refs:[o,K],hidden:!D,inert:!X}),Ie=Ee.useRef(0),ie=de(fe=>{if(fe.size===0&&Ie.current===0||$.current.length===0)return;let oe=Ie.current;if(Ie.current=fe.size,fe.size===oe)return;let Ne=xe(ge.none);if(oe!==0&&!b.state.multiple&&N!==null&&rt($.current,N,u)===-1){let G=se.current,y=G!=null&&rt($.current,G,u)!==-1?G:null;Re(y,Ne),y===null&&(b.set("selectedIndex",null),te.current=null)}if(oe!==0&&b.state.multiple&&Array.isArray(N)){let Q=r(re=>rt($.current,re,u)!==-1,"hasVisibleItem"),G=N.filter(re=>Q(re));(G.length!==N.length||G.some(re=>!Sr(N,re,u)))&&(Re(G,Ne),G.length===0&&(b.set("selectedIndex",null),te.current=null))}if(X&&d){b.update({scrollUpArrowVisible:!1,scrollDownArrowVisible:!1});let Q={height:""};Rt(H,Q),Rt(Se.current,Q)}}),pe=Ee.useMemo(()=>({...w,side:ue,alignItemWithTriggerActive:d,setControlledAlignItemWithTrigger:he,scrollUpArrowRef:le,scrollDownArrowRef:F}),[w,ue,d,he]);return(0,Pt.jsx)(ur,{elementsRef:L,labelsRef:M,onMapChange:ie,children:(0,Pt.jsxs)(uo.Provider,{value:pe,children:[D&&ce&&(0,Pt.jsx)(Jo,{inert:$o(!X),cutout:V}),W]})})},"SelectPositioner"));var we=I(_(),1);var Kt=I(Me(),1);var bn={...mt,..._e},zr=we.forwardRef(r(function(t,o){let{render:n,className:l,style:c,finalFocus:s,...m}=t,{store:p,popupRef:f,onOpenChangeComplete:g,setOpen:h,valueRef:R,firstItemTextRef:v,selectedItemTextRef:C,multiple:k,handleScrollArrowVisibility:x,scrollHandlerRef:J,listRef:B,highlightItemOnHover:A}=U(),{side:b,align:L,alignItemWithTriggerActive:M,isPositioned:ae,setControlledAlignItemWithTrigger:te}=Ke(),$=or(!0)!=null,se=zt(),Se=Xo(),{nonce:Re,disableStyleElements:z}=dr(),X=a(p,i.id),D=a(p,i.open),ce=a(p,i.openMethod),N=a(p,i.mounted),Z=a(p,i.popupProps),H=a(p,i.transitionStatus),V=a(p,i.triggerElement),u=a(p,i.positionerElement),S=a(p,i.listElement),le=we.useRef(!1),F=we.useRef(!1),be=we.useRef({}),he=Ao(),d=de(T=>{if(!u||!f.current||!F.current)return;if(le.current||!M){x();return}let K=u.style.top==="0px",W=u.style.bottom==="0px";if(!K&&!W){x();return}let Ie=Hr(u),ie=Mt(u.getBoundingClientRect().height,"y",Ie),pe=Ct(u),fe=kt(u),oe=fe.getComputedStyle(u),Ne=parseFloat(oe.marginTop),Q=parseFloat(oe.marginBottom),G=Br(fe.getComputedStyle(f.current)),re=Math.min(pe.documentElement.clientHeight-Ne-Q,G),y=T.scrollTop,We=$t(T),Te=0,Oe=null,ke=!1,Ge=!1,Je=r(ne=>{u.style.height=`${ne}px`},"setHeight"),It=r((ne,Be)=>{let He=Nt(ne,0,re-ie);He>0&&Je(ie+He),T.scrollTop=Be,re-(ie+He)<=Ve&&(le.current=!0),x()},"handleSmallDiff"),Fe=K?We-y:y,Ze=Math.min(ie+Fe,re);if(Te=Ze,Fe<=Ve){It(Fe,K?We:0);return}if(re-Ze>Ve)K?Ge=!0:Oe=0;else if(ke=!0,W&&y<We){let ne=ie+Fe-re;Oe=y-(Fe-ne)}if(Te=Math.ceil(Te),Te!==0&&Je(Te),Ge||Oe!=null){let ne=$t(T),Be=Ge?ne:Nt(Oe,0,ne);Math.abs(T.scrollTop-Be)>Ve&&(T.scrollTop=Be)}(ke||Te>=re-Ve)&&(le.current=!0),x()});we.useImperativeHandle(J,()=>d,[d]),Xe({open:D,ref:f,onComplete(){D&&g?.(!0)}});let w={open:D,transitionStatus:H,side:b,align:L};ee(()=>{!u||!f.current||Object.keys(be.current).length||(be.current={top:u.style.top||"0",left:u.style.left||"0",right:u.style.right,height:u.style.height,bottom:u.style.bottom,minHeight:u.style.minHeight,maxHeight:u.style.maxHeight,marginTop:u.style.marginTop,marginBottom:u.style.marginBottom})},[f,u]),ee(()=>{D||M||(F.current=!1,le.current=!1,Rt(u,be.current))},[D,M,u,f]),ee(()=>{let T=f.current;if(!D||!V||!u||!T||M&&!ae||p.state.transitionStatus==="ending")return;if(!M){F.current=!0,he.request(x),T.style.removeProperty("--transform-origin");return}let K=yn(T);T.style.removeProperty("--transform-origin");try{let W=C.current;W?.isConnected||(W=!i.hasSelectedValue(p.state)&&v.current?.isConnected?v.current:null);let Ie=R.current,ie=kt(u),pe=ie.getComputedStyle(u),fe=ie.getComputedStyle(T),oe=Ct(V),Ne=Hr(V),Q=Xt(V.getBoundingClientRect(),Ne),G=Xt(u.getBoundingClientRect(),Ne),re=Q.height,y=S||T,We=y.scrollHeight,Te=parseFloat(fe.borderBottomWidth),Oe=parseFloat(pe.marginTop)||10,ke=parseFloat(pe.marginBottom)||10,Ge=parseFloat(pe.minHeight)||100,Je=Br(fe),It=5,Fe=5,Ze=20,ne=oe.documentElement.clientHeight-Oe-ke,Be=oe.documentElement.clientWidth,He=ne-Q.bottom+re,De,st=Se==="rtl"?Q.right-G.width:Q.left,lt=0;if(W&&Ie){let Pe=Xt(Ie.getBoundingClientRect(),Ne);De=Xt(W.getBoundingClientRect(),Ne),st=G.left+(Se==="rtl"?Pe.right-De.right:Pe.left-De.left);let ct=Pe.top-Q.top+Pe.height/2;lt=De.top-G.top+De.height/2-ct}let Ye=He+lt+ke+Te,Le=Math.min(ne,Ye),Qe=ne-Oe-ke,it=Ye-Le,at=Be-Fe;u.style.left=`${Nt(st,It,at-G.width)}px`,u.style.height=`${Le}px`,u.style.maxHeight="none",u.style.marginTop=`${Oe}px`,u.style.marginBottom=`${ke}px`,T.style.height="100%";let qe=$t(y),et=it>=qe-Ve;et&&(Le=Math.min(ne,G.height)-(it-qe));let vt=Q.top<Ze||Q.bottom>ne-Ze||Math.ceil(Le)+Ve<Math.min(We,Ge),Et=(ie.visualViewport?.scale??1)!==1&&Io.engine.webkit;if(vt||Et){F.current=!0,Rt(u,be.current),te(!1);return}let Dt=Math.max(Ge,Le);if(et){let Pe=Math.max(0,ne-Ye);u.style.top=G.height>=Qe?"0":`${Pe}px`,u.style.height=`${Le}px`,y.scrollTop=$t(y)}else u.style.bottom="0",y.scrollTop=it;if(De){let Pe=G.top,ct=G.height,Lt=De.top+De.height/2,_t=ct>0?(Lt-Pe)/ct*100:50,eo=Nt(_t,0,100);T.style.setProperty("--transform-origin",`50% ${eo}%`)}(Dt===ne||Le>=Je)&&(le.current=!0),x(),A&&p.state.selectedIndex===null&&p.state.activeIndex===null&&B.current[0]!=null&&p.set("activeIndex",0),F.current=!0}finally{K()}},[p,D,u,V,R,v,C,f,x,M,te,he,S,B,A,Se,ae]),we.useEffect(()=>{if(!M||!u||!D)return;let T=kt(u);function K(W){h(!1,xe(ge.windowResize,W))}return r(K,"handleResize"),To(T,"resize",K)},[h,M,u,D]);let ue={...S?{role:"presentation","aria-orientation":void 0}:{role:"listbox","aria-multiselectable":k||void 0,id:`${X}-list`},onKeyDown(T){$&&tr.has(T.key)&&T.stopPropagation()},onScroll(T){S||d(T.currentTarget)},...M&&{style:S?{height:"100%"}:qt}},Ae=O("div",t,{ref:[o,f],state:w,stateAttributesMapping:bn,props:[Z,ue,Zo(H),{className:!S&&M?Tt.className:void 0},m]});return(0,Kt.jsxs)(we.Fragment,{children:[!z&&Tt.getElement(Re),(0,Kt.jsx)(Do,{context:se,modal:!1,disabled:!N,openInteractionType:ce,returnFocus:s,restoreFocus:!0,children:Ae})]})},"SelectPopup"));function Br(e){let t=e.maxHeight||"";return t.endsWith("px")&&parseFloat(t)||1/0}r(Br,"getMaxPopupHeight");function $t(e){return dt(e.scrollHeight,e.clientHeight)}r($t,"getMaxScrollTop");function Hr(e){return Uo.getScale(e)}r(Hr,"getScale");function Mt(e,t,o){return e/o[t]}r(Mt,"normalizeSize");function Xt(e,t){return wo({x:Mt(e.x,"x",t),y:Mt(e.y,"y",t),width:Mt(e.width,"x",t),height:Mt(e.height,"y",t)})}r(Xt,"normalizeRect");var jr=[["transform","none"],["scale","1"],["translate","0 0"]];function yn(e){let{style:t}=e,o={};for(let[n,l]of jr)o[n]=t.getPropertyValue(n),t.setProperty(n,l,"important");return()=>{for(let[n]of jr){let l=o[n];l?t.setProperty(n,l):t.removeProperty(n)}}}r(yn,"unsetTransformStyles");var Wr=I(_(),1);var Gr=Wr.forwardRef(r(function(t,o){let{render:n,className:l,style:c,...s}=t,{store:m,scrollHandlerRef:p}=U(),{alignItemWithTriggerActive:f}=Ke(),g=a(m,i.hasScrollArrows),h=a(m,i.openMethod),R=a(m,i.multiple),C={id:`${a(m,i.id)}-list`,role:"listbox","aria-multiselectable":R||void 0,onScroll(x){p.current?.(x.currentTarget)},...f&&{style:qt},className:g&&h!=="touch"?Tt.className:void 0},k=de(x=>{m.set("listElement",x)});return O("div",t,{ref:[o,k],props:[C,s]})},"SelectList"));var Ce=I(_(),1);var Jt=I(_(),1);var po=Jt.createContext(void 0);function Vt(){let e=Jt.useContext(po);if(!e)throw new Error(je(57));return e}r(Vt,"useSelectItemContext");var Yr=I(Me(),1);var qr=Ce.memo(Ce.forwardRef(r(function(t,o){let{render:n,className:l,style:c,value:s=null,label:m,disabled:p=!1,nativeButton:f=!1,...g}=t,h=Ce.useRef(null),R=cr({label:m,textRef:h,indexGuessBehavior:ar.GuessFromOrder}),{store:v,itemProps:C,setOpen:k,setValue:x,selectionRef:J,typingRef:B,valuesRef:A,multiple:b,selectedItemTextRef:L,disabled:M,readOnly:ae}=U(),te=a(v,i.isActive,R.index),$=a(v,i.open),se=a(v,i.isSelected,s),Se=a(v,i.isSelectedByFocus,R.index),Re=a(v,i.isItemEqualToValue),z=R.index,X=z!==-1,D=Ce.useRef(null);ee(()=>{if(!X)return;let d=A.current;return d[z]=s,()=>{delete d[z]}},[X,z,s,A]),ee(()=>{if(!X)return;let d=v.state.value,w=d;b&&Array.isArray(d)&&(w=d.length>0?d[d.length-1]:void 0),w!==void 0&&Ue(s,w,Re)&&(v.set("selectedIndex",z),h.current&&(L.current=h.current))},[X,z,b,Re,v,s,L]);let ce=Ce.useRef(null),N=Ce.useRef("mouse"),Z=Ce.useRef(!1),{getButtonProps:H,buttonRef:V}=jt({disabled:p,focusableWhenDisabled:!0,native:f,composite:!0}),u={disabled:p,selected:se,highlighted:te};function S(d){if(M||ae)return;let w=v.state.value;if(b){let ue=Array.isArray(w)?w:[],Ae=se?hr(ue,s,Re):[...ue,s];x(Ae,xe(ge.itemPress,d))}else x(s,xe(ge.itemPress,d)),k(!1,xe(ge.itemPress,d))}r(S,"commitSelection");function le(){J.current.dragY=0}r(le,"resetDragMovement");let F={role:"option","aria-selected":se,tabIndex:$&&te?0:-1,onKeyDown(d){ce.current=d.key,v.set("activeIndex",z),d.key===" "&&B.current&&d.preventDefault()},onClick(d){let w=d.type==="click"&&N.current!=="touch",ue=d.nativeEvent.pointerType,Ae=w&&Eo(d.nativeEvent)&&(ue!==void 0||te),T=w&&!Ae&&!Z.current;Z.current=!1,!(d.type==="keydown"&&ce.current===null)&&(p||d.type==="keydown"&&ce.current===" "&&B.current||T||(ce.current=null,S(d.nativeEvent)))},onPointerEnter(d){N.current=d.pointerType},onPointerMove(d){if(d.pointerType==="mouse"&&d.buttons===1){let w=J.current;w.dragY+=d.movementY,w.dragY**2>=64&&(w.allowUnselectedMouseUp=!0)}},onPointerDown(d){N.current=d.pointerType,Z.current=!0,le()},onMouseUp(){if(le(),p||N.current==="touch"||Z.current)return;let d=!J.current.allowSelectedMouseUp&&se,w=!J.current.allowUnselectedMouseUp&&!se;d||w||(Z.current=!0,D.current?.click(),Z.current=!1)}},be=O("div",t,{ref:[V,o,R.ref,D],state:u,props:[C,F,g,H]}),he=Ce.useMemo(()=>({selected:se,index:z,textRef:h,selectedByFocus:Se,hasRegistered:X}),[se,z,h,Se,X]);return(0,Yr.jsx)(po.Provider,{value:he,children:be})},"SelectItem")));var nt=I(_(),1);var $r=I(Me(),1);var Xr=nt.forwardRef(r(function(t,o){let n=t.keepMounted??!1,{selected:l}=Vt();return n||l?(0,$r.jsx)(In,{...t,ref:o}):null},"SelectItemIndicator")),In=nt.memo(nt.forwardRef((e,t)=>{let{render:o,className:n,style:l,keepMounted:c,...s}=e,{selected:m}=Vt(),p=nt.useRef(null),{transitionStatus:f,setMounted:g}=ft(m),R=O("span",e,{ref:[t,p],state:{selected:m,transitionStatus:f},props:[{"aria-hidden":!0,children:"\u2714\uFE0F"},s],stateAttributesMapping:_e});return Xe({open:m,ref:p,onComplete(){m||g(!1)}}),R}));var bt=I(_(),1);var Kr=bt.memo(bt.forwardRef(r(function(t,o){let{index:n,textRef:l,selectedByFocus:c,hasRegistered:s}=Vt(),{firstItemTextRef:m,selectedItemTextRef:p}=U(),{render:f,className:g,style:h,...R}=t,v=bt.useCallback(k=>{k&&(s&&n===0&&(m.current=k),s&&c&&(p.current=k))},[m,p,n,c,s]);return O("div",t,{ref:[v,o,l],props:R})},"SelectItemText")));var Jr=I(_(),1);var vn={...mt,..._e},Zr=Jr.forwardRef(r(function(t,o){let{render:n,className:l,style:c,...s}=t,{store:m}=U(),{side:p,align:f,arrowRef:g,arrowStyles:h,arrowUncentered:R,alignItemWithTriggerActive:v}=Ke(),k={open:a(m,i.open),side:p,align:f,uncentered:R},x=O("div",t,{state:k,ref:[g,o],props:[{style:h,"aria-hidden":!0},s],stateAttributesMapping:vn});return v?null:x},"SelectArrow"));var en=I(_(),1);var Qr=I(_(),1);var Zt=Qr.forwardRef(r(function(t,o){let{render:n,className:l,style:c,direction:s,keepMounted:m=!1,...p}=t,f=s==="up",{store:g,popupRef:h,listRef:R,handleScrollArrowVisibility:v,scrollArrowsMountedCountRef:C}=U(),{side:k,scrollDownArrowRef:x,scrollUpArrowRef:J}=Ke(),B=f?i.scrollUpArrowVisible:i.scrollDownArrowVisible,A=a(g,B),b=a(g,i.openMethod),L=A&&b!=="touch",M=pt(),ae=f?J:x,{mounted:te,transitionStatus:$,setMounted:se}=ft(L);ee(()=>(C.current+=1,g.state.hasScrollArrows||g.set("hasScrollArrows",!0),()=>{C.current=Math.max(0,C.current-1),C.current===0&&g.state.hasScrollArrows&&g.set("hasScrollArrows",!1)}),[g,C]),Xe({open:L,ref:ae,onComplete(){L||se(!1)}});let z=O("div",t,{ref:[o,ae],state:{direction:s,visible:L,side:k,transitionStatus:$},props:[{"aria-hidden":!0,children:f?"\u25B2":"\u25BC",style:{position:"absolute"},onMouseMove(D){if(D.movementX===0&&D.movementY===0||M.isStarted())return;g.set("activeIndex",null);function ce(){let N=g.state.listElement??h.current;if(!N)return;g.set("activeIndex",null),v();let Z=dt(N.scrollHeight,N.clientHeight),H=gt(N.scrollTop,Z),V=H===(f?0:Z),u=R.current;if(H!==N.scrollTop&&(N.scrollTop=H),u.length===0&&g.set(f?"scrollUpArrowVisible":"scrollDownArrowVisible",!V),V){M.clear();return}if(u.length>0){let S=ae.current?.offsetHeight||0;N.scrollTop=En(u,f,H,N.clientHeight,S,Z)}M.start(40,ce)}r(ce,"scrollNextItem"),M.start(40,ce)},onMouseLeave(){M.clear()}},p],stateAttributesMapping:_e});return te||m?z:null},"SelectScrollArrow"));function En(e,t,o,n,l,c){if(t){let g=0,h=o+l-Ve;for(let C=0;C<e.length;C+=1){let k=e[C];if(k&&k.offsetTop>=h){g=C;break}}let R=Math.max(0,g-1),v=e[R];return R<g&&v?gt(v.offsetTop-l,c):0}let s=e.length-1,m=o+n-l+Ve;for(let g=0;g<e.length;g+=1){let h=e[g];if(h&&h.offsetTop+h.offsetHeight>m){s=Math.max(0,g-1);break}}let p=Math.min(e.length-1,s+1),f=e[p];return p>s&&f?gt(f.offsetTop+f.offsetHeight-n+l,c):c}r(En,"getTargetScrollTop");var tn=I(Me(),1);var on=en.forwardRef(r(function(t,o){return(0,tn.jsx)(Zt,{...t,ref:o,direction:"down"})},"SelectScrollDownArrow"));var rn=I(_(),1);var nn=I(Me(),1);var sn=rn.forwardRef(r(function(t,o){return(0,nn.jsx)(Zt,{...t,ref:o,direction:"up"})},"SelectScrollUpArrow"));var yt=I(_(),1);var Qt=I(_(),1);var fo=Qt.createContext(void 0);function ln(){let e=Qt.useContext(fo);if(e===void 0)throw new Error(je(56));return e}r(ln,"useSelectGroupContext");var an=I(Me(),1);var cn=yt.forwardRef(r(function(t,o){let{render:n,className:l,style:c,...s}=t,[m,p]=yt.useState(),f=yt.useMemo(()=>({labelId:m,setLabelId:p}),[m,p]),g=O("div",t,{ref:o,props:[{role:"group","aria-labelledby":m},s]});return(0,an.jsx)(fo.Provider,{value:f,children:g})},"SelectGroup"));var un=I(_(),1);var pn=un.forwardRef(r(function(t,o){let{render:n,className:l,style:c,id:s,...m}=t,{setLabelId:p}=ln(),f=bo(s);return ee(()=>{p(f)},[f,p]),O("div",t,{ref:o,props:[{id:f},m]})},"SelectGroupLabel"));var q=I(Me(),1);var Tc=me.Root;function Pc(e){let t=(0,Ot.c)(8),o,n;t[0]!==e?({className:o,...n}=e,t[0]=e,t[1]=o,t[2]=n):(o=t[1],n=t[2]);let l;t[3]!==o?(l=ot("flex flex-1 text-start",o),t[3]=o,t[4]=l):l=t[4];let c;return t[5]!==n||t[6]!==l?(c=(0,q.jsx)(me.Value,{"data-slot":"select-value",className:l,...n}),t[5]=n,t[6]=l,t[7]=c):c=t[7],c}r(Pc,"W");function Mc({className:e,size:t="default",children:o,...n}){return(0,q.jsxs)(me.Trigger,{"data-slot":"select-trigger","data-size":t,className:ot("flex w-fit items-center justify-between gap-1.5 rounded-md border border-input bg-transparent py-2 pe-2 ps-2.5 text-xs whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:ring-1 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-1 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-md *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...n,children:[o,(0,q.jsx)(me.Icon,{render:(0,q.jsx)(At,{icon:ir,strokeWidth:2,className:"pointer-events-none size-4 text-muted-foreground"})})]})}r(Mc,"T");function Vc({className:e,children:t,side:o="bottom",sideOffset:n=4,align:l="center",alignOffset:c=0,alignItemWithTrigger:s=!0,...m}){return(0,q.jsx)(me.Portal,{children:(0,q.jsx)(me.Positioner,{side:o,sideOffset:n,align:l,alignOffset:c,alignItemWithTrigger:s,className:"isolate z-50",children:(0,q.jsxs)(me.Popup,{"data-slot":"select-content","data-align-trigger":s,className:ot("isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-start-2 data-[side=inline-start]:slide-in-from-end-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 animate-none! relative bg-popover before:pointer-events-none before:absolute before:inset-0 before:-z-1 before:rounded-[inherit] **:data-[slot$=-item]:focus:bg-foreground/10 **:data-[slot$=-item]:data-highlighted:bg-foreground/10 **:data-[slot$=-separator]:bg-foreground/5 **:data-[slot$=-trigger]:focus:bg-foreground/10 **:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! **:data-[variant=destructive]:focus:bg-foreground/10! **:data-[variant=destructive]:text-accent-foreground! **:data-[variant=destructive]:**:text-accent-foreground!",e),...m,children:[(0,q.jsx)(wn,{}),(0,q.jsx)(me.List,{children:t}),(0,q.jsx)(Cn,{})]})})})}r(Vc,"$");function Oc(e){let t=(0,Ot.c)(13),o,n,l;t[0]!==e?({className:n,children:o,...l}=e,t[0]=e,t[1]=o,t[2]=n,t[3]=l):(o=t[1],n=t[2],l=t[3]);let c;t[4]!==n?(c=ot("relative flex w-full cursor-default items-center gap-2 rounded-md py-2 pe-8 ps-2 text-xs outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",n),t[4]=n,t[5]=c):c=t[5];let s;t[6]!==o?(s=(0,q.jsx)(me.ItemText,{className:"flex flex-1 shrink-0 gap-2 whitespace-nowrap",children:o}),t[6]=o,t[7]=s):s=t[7];let m;t[8]===Symbol.for("react.memo_cache_sentinel")?(m=(0,q.jsx)(me.ItemIndicator,{render:(0,q.jsx)("span",{className:"pointer-events-none absolute end-2 flex size-4 items-center justify-center"}),children:(0,q.jsx)(At,{icon:lr,strokeWidth:2,className:"pointer-events-none"})}),t[8]=m):m=t[8];let p;return t[9]!==l||t[10]!==c||t[11]!==s?(p=(0,q.jsxs)(me.Item,{"data-slot":"select-item",className:c,...l,children:[s,m]}),t[9]=l,t[10]=c,t[11]=s,t[12]=p):p=t[12],p}r(Oc,"A");function wn(e){let t=(0,Ot.c)(9),o,n;t[0]!==e?({className:o,...n}=e,t[0]=e,t[1]=o,t[2]=n):(o=t[1],n=t[2]);let l;t[3]!==o?(l=ot("top-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",o),t[3]=o,t[4]=l):l=t[4];let c;t[5]===Symbol.for("react.memo_cache_sentinel")?(c=(0,q.jsx)(At,{icon:sr,strokeWidth:2}),t[5]=c):c=t[5];let s;return t[6]!==n||t[7]!==l?(s=(0,q.jsx)(me.ScrollUpArrow,{"data-slot":"select-scroll-up-button",className:l,...n,children:c}),t[6]=n,t[7]=l,t[8]=s):s=t[8],s}r(wn,"x");function Cn(e){let t=(0,Ot.c)(9),o,n;t[0]!==e?({className:o,...n}=e,t[0]=e,t[1]=o,t[2]=n):(o=t[1],n=t[2]);let l;t[3]!==o?(l=ot("bottom-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",o),t[3]=o,t[4]=l):l=t[4];let c;t[5]===Symbol.for("react.memo_cache_sentinel")?(c=(0,q.jsx)(At,{icon:nr,strokeWidth:2}),t[5]=c):c=t[5];let s;return t[6]!==n||t[7]!==l?(s=(0,q.jsx)(me.ScrollDownArrow,{"data-slot":"select-scroll-down-button",className:l,...n,children:c}),t[6]=n,t[7]=l,t[8]=s):s=t[8],s}r(Cn,"w");export{Tc as a,Pc as b,Mc as c,Vc as d,Oc as e};
|
|
1
|
+
import{a as Nt,b as Ve,c as dt,d as gt,e as Tt,f as dr}from"./chunk-2PJNAWB3.js";import{a as ar,b as cr,c as ur,d as pr,e as mr}from"./chunk-SD4BERSA.js";import{a as fr}from"./chunk-IC4L6G56.js";import{A as _o,B as Uo,C as ko,D as P,G as a,H as Fo,L as Bo,Z as Ho,a as Eo,ca as jo,d as wo,da as zo,ha as Wo,ia as Go,ja as mt,k as Ht,la as qo,ma as $o,n as Vo,oa as Ko,pa as Jo,q as Oo,qa as Zo,ra as Qo,ta as er,ua as tr,va as or,wa as rr,x as Do,y as Lo}from"./chunk-2QSHLBCO.js";import{a as To,b as Xo}from"./chunk-BGBLQ563.js";import{a as Po,b as Mo,c as Yo}from"./chunk-IVFHIQOT.js";import{a as nr,b as sr,i as lr,j as ir,k as At}from"./chunk-QBWRC5YX.js";import{C as pt,F as Ao,I as _e,K as Xe,L as ft,M as ro,N as No,O as ge,P as xe,a as Ut,b as ut,c as Ro,e as bo,f as yo,g as Ft,h as Ct,i as Io,p as Bt,y as vo,z as Co}from"./chunk-CFPZYHPY.js";import{b as jt}from"./chunk-DJZYD5I5.js";import{a as ee,c as de,e as kt}from"./chunk-2OUPA2WJ.js";import{a as wt,c as je,d as So,e as ho,h as oo,i as xo,j as O}from"./chunk-6ST5ECQA.js";import{a as r,d as mn,e as I,f as _,g as dn,h as Me,j as ot}from"./chunk-3XIESWL4.js";var Ot=I(dn(),1),Ec=I(_(),1);var me={};mn(me,{Arrow:()=>Zr,Backdrop:()=>kr,Group:()=>cn,GroupLabel:()=>pn,Icon:()=>Or,Item:()=>qr,ItemIndicator:()=>Xr,ItemText:()=>Kr,Label:()=>Nr,List:()=>Gr,Popup:()=>zr,Portal:()=>_r,Positioner:()=>Fr,Root:()=>Er,ScrollDownArrow:()=>on,ScrollUpArrow:()=>sn,Separator:()=>fr,Trigger:()=>Tr,Value:()=>Mr});var j=I(_(),1);var St=I(_(),1);var no=St.createContext(null),so=St.createContext(null);function U(){let e=St.useContext(no);if(e===null)throw new Error(je(60));return e}r(U,"useSelectRootContext");function zt(){let e=St.useContext(so);if(e===null)throw new Error(je(61));return e}r(zt,"useSelectFloatingContext");var gr=r((e,t)=>Object.is(e,t),"defaultItemEquality");function Ue(e,t,o){return e==null||t==null?Object.is(e,t):o(e,t)}r(Ue,"compareItemEquality");function Sr(e,t,o){return!e||e.length===0?!1:e.some(n=>n===void 0?!1:Ue(t,n,o))}r(Sr,"selectedValueIncludes");function rt(e,t,o){return!e||e.length===0?-1:e.findIndex(n=>n===void 0?!1:Ue(n,t,o))}r(rt,"findItemIndex");function hr(e,t,o){return e.filter(n=>!Ue(t,n,o))}r(hr,"removeItem");var xr=I(_(),1);function Wt(e){if(e==null)return"";if(typeof e=="string")return e;try{return JSON.stringify(e)}catch{return String(e)}}r(Wt,"serializeValue");var Rr=I(Me(),1);function br(e){return e!=null&&e.length>0&&typeof e[0]=="object"&&e[0]!=null&&"items"in e[0]}r(br,"isGroupedItems");function yr(e){if(!Array.isArray(e))return e!=null&&"null"in e;let t=e;if(br(t)){for(let o of t)for(let n of o.items)if(n&&n.value==null&&n.label!=null)return!0;return!1}for(let o of t)if(o&&o.value==null&&o.label!=null)return!0;return!1}r(yr,"hasNullItemLabel");function lo(e,t){if(t&&e!=null)return t(e)??"";if(e&&typeof e=="object"){if("label"in e&&e.label!=null)return String(e.label);if("value"in e)return String(e.value)}return Wt(e)}r(lo,"stringifyAsLabel");function ze(e,t){return t&&e!=null?t(e)??"":e&&typeof e=="object"&&"value"in e&&"label"in e?Wt(e.value):Wt(e)}r(ze,"stringifyAsValue");function io(e,t,o){function n(){return lo(e,o)}if(r(n,"fallback"),o&&e!=null)return o(e);if(e&&typeof e=="object"&&"label"in e&&e.label!=null)return e.label;if(t&&!Array.isArray(t))return t[e]??n();if(Array.isArray(t)){let l=t,c=br(l)?l.flatMap(s=>s.items):l;if(e==null||typeof e!="object"){let s=c.find(m=>m.value===e);return s&&s.label!=null?s.label:n()}if("value"in e){let s=c.find(m=>m&&m.value===e.value);if(s&&s.label!=null)return s.label}}return n()}r(io,"resolveSelectedLabel");function Ir(e,t,o){return e.reduce((n,l,c)=>(c>0&&n.push(", "),n.push((0,Rr.jsx)(xr.Fragment,{children:io(l,t,o)},c)),n),[])}r(Ir,"resolveMultipleLabels");var i={id:P(e=>e.id),labelId:P(e=>e.labelId),modal:P(e=>e.modal),multiple:P(e=>e.multiple),items:P(e=>e.items),itemToStringLabel:P(e=>e.itemToStringLabel),itemToStringValue:P(e=>e.itemToStringValue),isItemEqualToValue:P(e=>e.isItemEqualToValue),value:P(e=>e.value),hasSelectedValue:P(e=>{let{value:t,multiple:o,itemToStringValue:n}=e;return t==null?!1:o&&Array.isArray(t)?t.length>0:ze(t,n)!==""}),hasNullItemLabel:P((e,t)=>t?yr(e.items):!1),open:P(e=>e.open),mounted:P(e=>e.mounted),forceMount:P(e=>e.forceMount),transitionStatus:P(e=>e.transitionStatus),openMethod:P(e=>e.openMethod),activeIndex:P(e=>e.activeIndex),selectedIndex:P(e=>e.selectedIndex),isActive:P((e,t)=>e.activeIndex===t),isSelected:P((e,t)=>{let o=e.isItemEqualToValue,n=e.value;return e.multiple?Array.isArray(n)&&n.some(l=>Ue(t,l,o)):Ue(t,n,o)}),isSelectedByFocus:P((e,t)=>e.selectedIndex===t),popupProps:P(e=>e.popupProps),triggerProps:P(e=>e.triggerProps),triggerElement:P(e=>e.triggerElement),positionerElement:P(e=>e.positionerElement),listElement:P(e=>e.listElement),popupSide:P(e=>e.popupSide),scrollUpArrowVisible:P(e=>e.scrollUpArrowVisible),scrollDownArrowVisible:P(e=>e.scrollDownArrowVisible),hasScrollArrows:P(e=>e.hasScrollArrows)};function vr(e,t,o=(n,l)=>n===l){return e.length===t.length&&e.every((n,l)=>o(n,t[l]))}r(vr,"areArraysEqual");var ht=I(Me(),1);function Er(e){let{id:t,value:o,defaultValue:n=null,onValueChange:l,open:c,defaultOpen:s=!1,onOpenChange:m,name:p,form:f,autoComplete:g,disabled:h=!1,readOnly:R=!1,required:v=!1,modal:C=!0,actionsRef:k,inputRef:x,onOpenChangeComplete:J,items:B,multiple:A=!1,itemToStringLabel:b,itemToStringValue:L,isItemEqualToValue:M=gr,highlightItemOnHover:ae=!0,children:te}=e,{clearErrors:$}=Ro(),{setDirty:se,setTouched:Se,setFocused:Re,validityData:z,setFilled:X,name:D,disabled:ce,validation:N,validationMode:Z}=ut(),H=Ft({id:t}),V=ce||h,u=D??p,[S,le]=ro({controlled:o,default:A?n??oo:n,name:"Select",state:"value"}),[F,be]=ro({controlled:c,default:s,name:"Select",state:"open"}),he=j.useRef([]),d=j.useRef([]),w=j.useRef(null),ue=j.useRef(null),Ae=j.useRef(0),T=j.useRef(null),K=j.useRef([]),W=j.useRef(!1),Ie=j.useRef(null),ie=j.useRef(null),pe=j.useRef({allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1,dragY:0}),fe=j.useRef(!1),{mounted:oe,setMounted:Ne,transitionStatus:Q}=ft(F),{openMethod:G,triggerProps:re}=qo(F),y=So(()=>new Fo({id:H,labelId:void 0,modal:C,multiple:A,itemToStringLabel:b,itemToStringValue:L,isItemEqualToValue:M,value:S,open:F,mounted:oe,transitionStatus:Q,items:B,forceMount:!1,openMethod:null,activeIndex:null,selectedIndex:null,popupProps:{},triggerProps:{},triggerElement:null,positionerElement:null,listElement:null,popupSide:null,scrollUpArrowVisible:!1,scrollDownArrowVisible:!1,hasScrollArrows:!1})).current,We=a(y,i.activeIndex),Te=a(y,i.selectedIndex),Oe=a(y,i.triggerElement),ke=a(y,i.positionerElement),Ge=rr(G),Je=G??Ge??null,It=j.useMemo(()=>A?"":ze(S,L),[A,S,L]),Fe=j.useMemo(()=>A&&Array.isArray(S)?S.map(E=>ze(E,L)):ze(S,L),[A,S,L]),Ze=Ht(y.state.triggerElement),ne=de(()=>Fe);No(Ze,H,S,ne,!V,p);let Be=j.useRef(S),He=A?Array.isArray(S)&&S.length>0:S!=null&&ze(S,L)!=="";ee(()=>{S!==Be.current&&y.set("forceMount",!0)},[y,S]),ee(()=>{X(He)},[He,X]),ee(r(function(){let Y=K.current,ve;if(A){let ye=Array.isArray(S)?S:[];if(ye.length===0)ve=null;else{let $e=ye[ye.length-1],tt=rt(Y,$e,M);ve=tt===-1?null:tt}}else{let ye=rt(Y,S,M);ve=ye===-1?null:ye}ve===null&&(ie.current=null),!F&&y.set("selectedIndex",ve)},"syncSelectedIndex"),[He,A,F,S,K,M,y,ie]);function De(E){let Y=z.initialValue;return Array.isArray(E)&&Array.isArray(Y)?!vr(E,Y,(ve,ye)=>Ue(ve,ye,M)):E!==Y}r(De,"isSelectedValueDirty"),Yo(S,()=>{$(u),se(De(S)),N.change(S)});let st=de((E,Y)=>{m?.(E,Y),!Y.isCanceled&&(be(E),!E&&(Y.reason===ge.focusOut||Y.reason===ge.outsidePress)&&(Se(!0),Re(!1),Z==="onBlur"&&N.commit(S)))}),lt=de(()=>{Ne(!1),y.update({activeIndex:null,openMethod:null}),J?.(!1)});Xe({enabled:!k,open:F,ref:w,onComplete(){F||lt()}}),j.useImperativeHandle(k,()=>({unmount:lt}),[lt]);let Ye=de((E,Y)=>{l?.(E,Y),!Y.isCanceled&&le(E)}),Le=de(()=>{let E=y.state.listElement||w.current;if(!E)return;let Y=dt(E.scrollHeight,E.clientHeight),ve=gt(E.scrollTop,Y),ye=ve>0,$e=ve<Y;y.state.scrollUpArrowVisible!==ye&&y.set("scrollUpArrowVisible",ye),y.state.scrollDownArrowVisible!==$e&&y.set("scrollDownArrowVisible",$e)}),Qe=Ho({open:F,onOpenChange:st,elements:{reference:Oe,floating:ke}}),it=Lo(Qe,{enabled:!R&&!V,event:"mousedown"}),at=_o(Qe),qe=jo(Qe,{enabled:!R&&!V,listRef:he,activeIndex:We,selectedIndex:Te,disabledIndices:oo,onNavigate(E){E===null&&!F||y.set("activeIndex",E)},focusItemOnHover:ae}),et=zo(Qe,{enabled:!R&&!V&&(F||!A),listRef:d,activeIndex:We,selectedIndex:Te,disabledIndices:r(E=>mr(he.current[E]),"disabledIndices"),onMatch(E){F?y.set("activeIndex",E):Ye(K.current[E],xe("none"))},onTyping(E){W.current=E}}),vt=j.useMemo(()=>{let E=wt(et.reference,qe.reference,at.reference,it.reference,re);return H&&(E.id=H),E},[it.reference,et.reference,qe.reference,at.reference,re,H]),Et=j.useMemo(()=>wt(Bo,et.floating,qe.floating,at.floating),[et.floating,qe.floating,at.floating]),Dt=qe.item??xo;ko(()=>{y.update({popupProps:Et,triggerProps:vt})}),ee(()=>{y.update({id:H,modal:C,multiple:A,value:S,open:F,mounted:oe,transitionStatus:Q,popupProps:Et,triggerProps:vt,items:B,itemToStringLabel:b,itemToStringValue:L,isItemEqualToValue:M,openMethod:Je})},[y,H,C,A,S,F,oe,Q,Et,vt,B,b,L,M,Je]);let Pe=j.useMemo(()=>({store:y,name:u,required:v,disabled:V,readOnly:R,multiple:A,highlightItemOnHover:ae,setValue:Ye,setOpen:st,listRef:he,popupRef:w,scrollHandlerRef:ue,handleScrollArrowVisibility:Le,scrollArrowsMountedCountRef:Ae,itemProps:Dt,valueRef:T,valuesRef:K,labelsRef:d,typingRef:W,selectionRef:pe,firstItemTextRef:Ie,selectedItemTextRef:ie,validation:N,onOpenChangeComplete:J,alignItemWithTriggerActiveRef:fe,initialValueRef:Be}),[y,u,v,V,R,A,ae,Ye,st,Dt,N,J,Le]),ct=ho(x,N.inputRef),Lt=A&&Array.isArray(S)&&S.length>0,_t=A?void 0:u,eo=j.useMemo(()=>!A||!Array.isArray(S)||!u?null:S.map(E=>{let Y=ze(E,L);return(0,ht.jsx)("input",{type:"hidden",form:f,name:u,value:Y,disabled:V},Y)}),[A,S,f,u,L,V]);return(0,ht.jsx)(no.Provider,{value:Pe,children:(0,ht.jsxs)(so.Provider,{value:Qe,children:[te,(0,ht.jsx)("input",{...N.getValidationProps(V,{onFocus(){y.state.triggerElement?.focus({focusVisible:!0})},onChange(E){if(E.nativeEvent.defaultPrevented||V||R)return;let Y=E.currentTarget.value,ve=xe(ge.none,E.nativeEvent);function ye(){if(A)return;let $e=Y.toLowerCase(),tt=K.current.findIndex(to=>ze(to,L).toLowerCase()===$e||lo(to,b).toLowerCase()===$e);tt===-1&&(tt=K.current.findIndex((to,fn)=>{let go=d.current[fn];return go!=null&&go.toLowerCase()===$e}));let mo=tt===-1?void 0:K.current[tt];mo!=null&&Ye(mo,ve)}r(ye,"handleChange"),y.set("forceMount",!0),queueMicrotask(ye)}}),id:H&&_t==null?`${H}-hidden-input`:void 0,form:f,name:_t,autoComplete:g,value:It,disabled:V,required:v&&!Lt,readOnly:R,ref:ct,style:u?Mo:Po,tabIndex:-1,"aria-hidden":!0,suppressHydrationWarning:!0}),eo]})})}r(Er,"SelectRoot");var Ar=I(_(),1);function wr(e){return e==null?void 0:`${e}-label`}r(wr,"getDefaultLabelId");function Cr(e,t){return e??t}r(Cr,"resolveAriaLabelledBy");var Nr=Ar.forwardRef(r(function(t,o){let{render:n,className:l,style:c,...s}=t,m=s;delete m.id;let p=ut(),{store:f}=U(),g=a(f,i.triggerElement),h=a(f,i.id),R=wr(h),v=Co({id:R,fallbackControlId:g?.id??h,setLabelId(C){f.set("labelId",C)}});return O("div",t,{ref:o,state:p.state,props:[v,s],stateAttributesMapping:Ut})},"SelectLabel"));var xt=I(_(),1);var Gt=2,gn=400,Sn={...Go,...Ut,popupSide:r(e=>e?{"data-popup-side":e}:null,"popupSide"),value:r(()=>null,"value")},Tr=xt.forwardRef(r(function(t,o){let{render:n,className:l,id:c,disabled:s=!1,nativeButton:m=!0,style:p,...f}=t,{setTouched:g,setFocused:h,validationMode:R,state:v,disabled:C}=ut(),{labelId:k}=yo(),{store:x,setOpen:J,selectionRef:B,validation:A,readOnly:b,required:L,alignItemWithTriggerActiveRef:M,disabled:ae}=U(),te=C||ae||s,$=a(x,i.open),se=a(x,i.mounted),Se=a(x,i.value),Re=a(x,i.triggerProps),z=a(x,i.positionerElement),X=a(x,i.listElement),D=a(x,i.popupSide),ce=a(x,i.id),N=a(x,i.labelId),Z=a(x,i.hasSelectedValue),H=se&&z?D:null,V=c??ce,u=Cr(k,N);Ft({id:V});let S=Ht(z),le=xt.useRef(null),{getButtonProps:F,buttonRef:be}=jt({disabled:te,native:m}),he=de(W=>{x.set("triggerElement",W)}),d=pt(),w=pt(),ue=pt();xt.useEffect(()=>{if($)return ue.start(gn,()=>{B.current.allowUnselectedMouseUp=!0,B.current.allowSelectedMouseUp=!0}),()=>{ue.clear()};B.current={allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1,dragY:0},w.clear()},[$,B,w,ue]);let Ae=wt(Re,{id:V,role:"combobox","aria-expanded":$?"true":"false","aria-haspopup":"listbox","aria-controls":$?X?.id??vo(z)?.id:void 0,"aria-labelledby":u,"aria-readonly":b||void 0,"aria-required":L||void 0,tabIndex:te?-1:0,onFocus(W){h(!0),$&&M.current&&J(!1,xe(ge.none,W.nativeEvent)),d.start(0,()=>{x.set("forceMount",!0)})},onBlur(W){Bt(z,W.relatedTarget)||(g(!0),h(!1),R==="onBlur"&&A.commit(Se))},onMouseDown(W){if($)return;let Ie=Ct(W.currentTarget);function ie(pe){if(!le.current)return;let fe=pe.target;if(Bt(le.current,fe)||Bt(S.current,fe))return;let oe=pr(le.current);pe.clientX>=oe.left-Gt&&pe.clientX<=oe.right+Gt&&pe.clientY>=oe.top-Gt&&pe.clientY<=oe.bottom+Gt||J(!1,xe(ge.cancelOpen,pe))}r(ie,"handleMouseUp"),w.start(0,()=>{Ie.addEventListener("mouseup",ie,{once:!0})})}},f,F),T=A.getValidationProps(te,Ae);T.role="combobox";let K={...v,open:$,disabled:te,value:Se,readOnly:b,popupSide:H,placeholder:!Z};return O("button",t,{ref:[o,le,be,he],state:K,stateAttributesMapping:Sn,props:T})},"SelectTrigger"));var Pr=I(_(),1);var hn={value:r(()=>null,"value")},Mr=Pr.forwardRef(r(function(t,o){let{className:n,render:l,children:c,placeholder:s,style:m,...p}=t,{store:f,valueRef:g}=U(),h=a(f,i.value),R=a(f,i.items),v=a(f,i.itemToStringLabel),C=a(f,i.hasSelectedValue),k=!C&&s!=null&&c==null,x=a(f,i.hasNullItemLabel,k),J={value:h,placeholder:!C},B=null;return typeof c=="function"?B=c(h):c!=null?B=c:!C&&s!=null&&!x?B=s:Array.isArray(h)?B=Ir(h,R,v):B=io(h,R,v),O("span",t,{state:J,ref:[o,g],props:[{children:B},p],stateAttributesMapping:hn})},"SelectValue"));var Vr=I(_(),1);var Or=Vr.forwardRef(r(function(t,o){let{render:n,className:l,style:c,...s}=t,{store:m}=U(),f={open:a(m,i.open)};return O("span",t,{state:f,ref:o,props:[{"aria-hidden":!0,children:"\u25BC"},s],stateAttributesMapping:Wo})},"SelectIcon"));var Lr=I(_(),1);var ao=I(_(),1);var Dr=ao.createContext(void 0);var co=I(Me(),1);var _r=Lr.forwardRef(r(function(t,o){let{store:n}=U(),l=a(n,i.mounted),c=a(n,i.forceMount);return l||c?(0,co.jsx)(Dr.Provider,{value:!0,children:(0,co.jsx)(Oo,{ref:o,...t})}):null},"SelectPortal"));var Ur=I(_(),1);var xn={...mt,..._e},kr=Ur.forwardRef(r(function(t,o){let{render:n,className:l,style:c,...s}=t,{store:m}=U(),p=a(m,i.open),f=a(m,i.mounted),g=a(m,i.transitionStatus);return O("div",t,{state:{open:p,transitionStatus:g},ref:o,props:[{role:"presentation",hidden:!f,style:{userSelect:"none",WebkitUserSelect:"none"}},s],stateAttributesMapping:xn})},"SelectBackdrop"));var Ee=I(_(),1);var Yt=I(_(),1);var uo=Yt.createContext(void 0);function Ke(){let e=Yt.useContext(uo);if(!e)throw new Error(je(59));return e}r(Ke,"useSelectPositionerContext");function Rt(e,t){e&&Object.assign(e.style,t)}r(Rt,"clearStyles");var qt={position:"relative",maxHeight:"100%",overflowX:"hidden",overflowY:"auto"};var Pt=I(Me(),1);var Rn={position:"fixed"},Fr=Ee.forwardRef(r(function(t,o){let{anchor:n,positionMethod:l="absolute",className:c,render:s,side:m="bottom",align:p="center",sideOffset:f=0,alignOffset:g=0,collisionBoundary:h="clipping-ancestors",collisionPadding:R,arrowPadding:v=5,sticky:C=!1,disableAnchorTracking:k,alignItemWithTrigger:x=!0,collisionAvoidance:J=Vo,style:B,...A}=t,{store:b,listRef:L,labelsRef:M,alignItemWithTriggerActiveRef:ae,selectedItemTextRef:te,valuesRef:$,initialValueRef:se,popupRef:Se,setValue:Re}=U(),z=zt(),X=a(b,i.open),D=a(b,i.mounted),ce=a(b,i.modal),N=a(b,i.value),Z=a(b,i.openMethod),H=a(b,i.positionerElement),V=a(b,i.triggerElement),u=a(b,i.isItemEqualToValue),S=a(b,i.transitionStatus),le=Ee.useRef(null),F=Ee.useRef(null),[be,he]=Ee.useState(x),d=D&&be&&Z!=="touch";!D&&be!==x&&he(x),ee(()=>{D||(i.scrollUpArrowVisible(b.state)&&b.set("scrollUpArrowVisible",!1),i.scrollDownArrowVisible(b.state)&&b.set("scrollDownArrowVisible",!1))},[b,D]),Ee.useImperativeHandle(ae,()=>d),er((d||ce)&&X,Z==="touch",H,V);let w=Ko({anchor:n,floatingRootContext:z,positionMethod:l,mounted:D,side:m,sideOffset:f,align:p,alignOffset:g,arrowPadding:v,collisionBoundary:h,collisionPadding:R,sticky:C,disableAnchorTracking:k??d,collisionAvoidance:J,keepMounted:!0}),ue=d?"none":w.side,Ae=d?Rn:w.positionerStyles,T={open:X,side:ue,align:w.align,anchorHidden:w.anchorHidden};ee(()=>{b.set("popupSide",w.side)},[b,w.side]);let K=de(fe=>{b.set("positionerElement",fe)}),W=Qo(t,T,{styles:Ae,transitionStatus:S,props:A,refs:[o,K],hidden:!D,inert:!X}),Ie=Ee.useRef(0),ie=de(fe=>{if(fe.size===0&&Ie.current===0||$.current.length===0)return;let oe=Ie.current;if(Ie.current=fe.size,fe.size===oe)return;let Ne=xe(ge.none);if(oe!==0&&!b.state.multiple&&N!==null&&rt($.current,N,u)===-1){let G=se.current,y=G!=null&&rt($.current,G,u)!==-1?G:null;Re(y,Ne),y===null&&(b.set("selectedIndex",null),te.current=null)}if(oe!==0&&b.state.multiple&&Array.isArray(N)){let Q=r(re=>rt($.current,re,u)!==-1,"hasVisibleItem"),G=N.filter(re=>Q(re));(G.length!==N.length||G.some(re=>!Sr(N,re,u)))&&(Re(G,Ne),G.length===0&&(b.set("selectedIndex",null),te.current=null))}if(X&&d){b.update({scrollUpArrowVisible:!1,scrollDownArrowVisible:!1});let Q={height:""};Rt(H,Q),Rt(Se.current,Q)}}),pe=Ee.useMemo(()=>({...w,side:ue,alignItemWithTriggerActive:d,setControlledAlignItemWithTrigger:he,scrollUpArrowRef:le,scrollDownArrowRef:F}),[w,ue,d,he]);return(0,Pt.jsx)(ur,{elementsRef:L,labelsRef:M,onMapChange:ie,children:(0,Pt.jsxs)(uo.Provider,{value:pe,children:[D&&ce&&(0,Pt.jsx)(Jo,{inert:$o(!X),cutout:V}),W]})})},"SelectPositioner"));var we=I(_(),1);var Kt=I(Me(),1);var bn={...mt,..._e},zr=we.forwardRef(r(function(t,o){let{render:n,className:l,style:c,finalFocus:s,...m}=t,{store:p,popupRef:f,onOpenChangeComplete:g,setOpen:h,valueRef:R,firstItemTextRef:v,selectedItemTextRef:C,multiple:k,handleScrollArrowVisibility:x,scrollHandlerRef:J,listRef:B,highlightItemOnHover:A}=U(),{side:b,align:L,alignItemWithTriggerActive:M,isPositioned:ae,setControlledAlignItemWithTrigger:te}=Ke(),$=or(!0)!=null,se=zt(),Se=Xo(),{nonce:Re,disableStyleElements:z}=dr(),X=a(p,i.id),D=a(p,i.open),ce=a(p,i.openMethod),N=a(p,i.mounted),Z=a(p,i.popupProps),H=a(p,i.transitionStatus),V=a(p,i.triggerElement),u=a(p,i.positionerElement),S=a(p,i.listElement),le=we.useRef(!1),F=we.useRef(!1),be=we.useRef({}),he=Ao(),d=de(T=>{if(!u||!f.current||!F.current)return;if(le.current||!M){x();return}let K=u.style.top==="0px",W=u.style.bottom==="0px";if(!K&&!W){x();return}let Ie=Hr(u),ie=Mt(u.getBoundingClientRect().height,"y",Ie),pe=Ct(u),fe=kt(u),oe=fe.getComputedStyle(u),Ne=parseFloat(oe.marginTop),Q=parseFloat(oe.marginBottom),G=Br(fe.getComputedStyle(f.current)),re=Math.min(pe.documentElement.clientHeight-Ne-Q,G),y=T.scrollTop,We=$t(T),Te=0,Oe=null,ke=!1,Ge=!1,Je=r(ne=>{u.style.height=`${ne}px`},"setHeight"),It=r((ne,Be)=>{let He=Nt(ne,0,re-ie);He>0&&Je(ie+He),T.scrollTop=Be,re-(ie+He)<=Ve&&(le.current=!0),x()},"handleSmallDiff"),Fe=K?We-y:y,Ze=Math.min(ie+Fe,re);if(Te=Ze,Fe<=Ve){It(Fe,K?We:0);return}if(re-Ze>Ve)K?Ge=!0:Oe=0;else if(ke=!0,W&&y<We){let ne=ie+Fe-re;Oe=y-(Fe-ne)}if(Te=Math.ceil(Te),Te!==0&&Je(Te),Ge||Oe!=null){let ne=$t(T),Be=Ge?ne:Nt(Oe,0,ne);Math.abs(T.scrollTop-Be)>Ve&&(T.scrollTop=Be)}(ke||Te>=re-Ve)&&(le.current=!0),x()});we.useImperativeHandle(J,()=>d,[d]),Xe({open:D,ref:f,onComplete(){D&&g?.(!0)}});let w={open:D,transitionStatus:H,side:b,align:L};ee(()=>{!u||!f.current||Object.keys(be.current).length||(be.current={top:u.style.top||"0",left:u.style.left||"0",right:u.style.right,height:u.style.height,bottom:u.style.bottom,minHeight:u.style.minHeight,maxHeight:u.style.maxHeight,marginTop:u.style.marginTop,marginBottom:u.style.marginBottom})},[f,u]),ee(()=>{D||M||(F.current=!1,le.current=!1,Rt(u,be.current))},[D,M,u,f]),ee(()=>{let T=f.current;if(!D||!V||!u||!T||M&&!ae||p.state.transitionStatus==="ending")return;if(!M){F.current=!0,he.request(x),T.style.removeProperty("--transform-origin");return}let K=yn(T);T.style.removeProperty("--transform-origin");try{let W=C.current;W?.isConnected||(W=!i.hasSelectedValue(p.state)&&v.current?.isConnected?v.current:null);let Ie=R.current,ie=kt(u),pe=ie.getComputedStyle(u),fe=ie.getComputedStyle(T),oe=Ct(V),Ne=Hr(V),Q=Xt(V.getBoundingClientRect(),Ne),G=Xt(u.getBoundingClientRect(),Ne),re=Q.height,y=S||T,We=y.scrollHeight,Te=parseFloat(fe.borderBottomWidth),Oe=parseFloat(pe.marginTop)||10,ke=parseFloat(pe.marginBottom)||10,Ge=parseFloat(pe.minHeight)||100,Je=Br(fe),It=5,Fe=5,Ze=20,ne=oe.documentElement.clientHeight-Oe-ke,Be=oe.documentElement.clientWidth,He=ne-Q.bottom+re,De,st=Se==="rtl"?Q.right-G.width:Q.left,lt=0;if(W&&Ie){let Pe=Xt(Ie.getBoundingClientRect(),Ne);De=Xt(W.getBoundingClientRect(),Ne),st=G.left+(Se==="rtl"?Pe.right-De.right:Pe.left-De.left);let ct=Pe.top-Q.top+Pe.height/2;lt=De.top-G.top+De.height/2-ct}let Ye=He+lt+ke+Te,Le=Math.min(ne,Ye),Qe=ne-Oe-ke,it=Ye-Le,at=Be-Fe;u.style.left=`${Nt(st,It,at-G.width)}px`,u.style.height=`${Le}px`,u.style.maxHeight="none",u.style.marginTop=`${Oe}px`,u.style.marginBottom=`${ke}px`,T.style.height="100%";let qe=$t(y),et=it>=qe-Ve;et&&(Le=Math.min(ne,G.height)-(it-qe));let vt=Q.top<Ze||Q.bottom>ne-Ze||Math.ceil(Le)+Ve<Math.min(We,Ge),Et=(ie.visualViewport?.scale??1)!==1&&Io.engine.webkit;if(vt||Et){F.current=!0,Rt(u,be.current),te(!1);return}let Dt=Math.max(Ge,Le);if(et){let Pe=Math.max(0,ne-Ye);u.style.top=G.height>=Qe?"0":`${Pe}px`,u.style.height=`${Le}px`,y.scrollTop=$t(y)}else u.style.bottom="0",y.scrollTop=it;if(De){let Pe=G.top,ct=G.height,Lt=De.top+De.height/2,_t=ct>0?(Lt-Pe)/ct*100:50,eo=Nt(_t,0,100);T.style.setProperty("--transform-origin",`50% ${eo}%`)}(Dt===ne||Le>=Je)&&(le.current=!0),x(),A&&p.state.selectedIndex===null&&p.state.activeIndex===null&&B.current[0]!=null&&p.set("activeIndex",0),F.current=!0}finally{K()}},[p,D,u,V,R,v,C,f,x,M,te,he,S,B,A,Se,ae]),we.useEffect(()=>{if(!M||!u||!D)return;let T=kt(u);function K(W){h(!1,xe(ge.windowResize,W))}return r(K,"handleResize"),To(T,"resize",K)},[h,M,u,D]);let ue={...S?{role:"presentation","aria-orientation":void 0}:{role:"listbox","aria-multiselectable":k||void 0,id:`${X}-list`},onKeyDown(T){$&&tr.has(T.key)&&T.stopPropagation()},onScroll(T){S||d(T.currentTarget)},...M&&{style:S?{height:"100%"}:qt}},Ae=O("div",t,{ref:[o,f],state:w,stateAttributesMapping:bn,props:[Z,ue,Zo(H),{className:!S&&M?Tt.className:void 0},m]});return(0,Kt.jsxs)(we.Fragment,{children:[!z&&Tt.getElement(Re),(0,Kt.jsx)(Do,{context:se,modal:!1,disabled:!N,openInteractionType:ce,returnFocus:s,restoreFocus:!0,children:Ae})]})},"SelectPopup"));function Br(e){let t=e.maxHeight||"";return t.endsWith("px")&&parseFloat(t)||1/0}r(Br,"getMaxPopupHeight");function $t(e){return dt(e.scrollHeight,e.clientHeight)}r($t,"getMaxScrollTop");function Hr(e){return Uo.getScale(e)}r(Hr,"getScale");function Mt(e,t,o){return e/o[t]}r(Mt,"normalizeSize");function Xt(e,t){return wo({x:Mt(e.x,"x",t),y:Mt(e.y,"y",t),width:Mt(e.width,"x",t),height:Mt(e.height,"y",t)})}r(Xt,"normalizeRect");var jr=[["transform","none"],["scale","1"],["translate","0 0"]];function yn(e){let{style:t}=e,o={};for(let[n,l]of jr)o[n]=t.getPropertyValue(n),t.setProperty(n,l,"important");return()=>{for(let[n]of jr){let l=o[n];l?t.setProperty(n,l):t.removeProperty(n)}}}r(yn,"unsetTransformStyles");var Wr=I(_(),1);var Gr=Wr.forwardRef(r(function(t,o){let{render:n,className:l,style:c,...s}=t,{store:m,scrollHandlerRef:p}=U(),{alignItemWithTriggerActive:f}=Ke(),g=a(m,i.hasScrollArrows),h=a(m,i.openMethod),R=a(m,i.multiple),C={id:`${a(m,i.id)}-list`,role:"listbox","aria-multiselectable":R||void 0,onScroll(x){p.current?.(x.currentTarget)},...f&&{style:qt},className:g&&h!=="touch"?Tt.className:void 0},k=de(x=>{m.set("listElement",x)});return O("div",t,{ref:[o,k],props:[C,s]})},"SelectList"));var Ce=I(_(),1);var Jt=I(_(),1);var po=Jt.createContext(void 0);function Vt(){let e=Jt.useContext(po);if(!e)throw new Error(je(57));return e}r(Vt,"useSelectItemContext");var Yr=I(Me(),1);var qr=Ce.memo(Ce.forwardRef(r(function(t,o){let{render:n,className:l,style:c,value:s=null,label:m,disabled:p=!1,nativeButton:f=!1,...g}=t,h=Ce.useRef(null),R=cr({label:m,textRef:h,indexGuessBehavior:ar.GuessFromOrder}),{store:v,itemProps:C,setOpen:k,setValue:x,selectionRef:J,typingRef:B,valuesRef:A,multiple:b,selectedItemTextRef:L,disabled:M,readOnly:ae}=U(),te=a(v,i.isActive,R.index),$=a(v,i.open),se=a(v,i.isSelected,s),Se=a(v,i.isSelectedByFocus,R.index),Re=a(v,i.isItemEqualToValue),z=R.index,X=z!==-1,D=Ce.useRef(null);ee(()=>{if(!X)return;let d=A.current;return d[z]=s,()=>{delete d[z]}},[X,z,s,A]),ee(()=>{if(!X)return;let d=v.state.value,w=d;b&&Array.isArray(d)&&(w=d.length>0?d[d.length-1]:void 0),w!==void 0&&Ue(s,w,Re)&&(v.set("selectedIndex",z),h.current&&(L.current=h.current))},[X,z,b,Re,v,s,L]);let ce=Ce.useRef(null),N=Ce.useRef("mouse"),Z=Ce.useRef(!1),{getButtonProps:H,buttonRef:V}=jt({disabled:p,focusableWhenDisabled:!0,native:f,composite:!0}),u={disabled:p,selected:se,highlighted:te};function S(d){if(M||ae)return;let w=v.state.value;if(b){let ue=Array.isArray(w)?w:[],Ae=se?hr(ue,s,Re):[...ue,s];x(Ae,xe(ge.itemPress,d))}else x(s,xe(ge.itemPress,d)),k(!1,xe(ge.itemPress,d))}r(S,"commitSelection");function le(){J.current.dragY=0}r(le,"resetDragMovement");let F={role:"option","aria-selected":se,tabIndex:$&&te?0:-1,onKeyDown(d){ce.current=d.key,v.set("activeIndex",z),d.key===" "&&B.current&&d.preventDefault()},onClick(d){let w=d.type==="click"&&N.current!=="touch",ue=d.nativeEvent.pointerType,Ae=w&&Eo(d.nativeEvent)&&(ue!==void 0||te),T=w&&!Ae&&!Z.current;Z.current=!1,!(d.type==="keydown"&&ce.current===null)&&(p||d.type==="keydown"&&ce.current===" "&&B.current||T||(ce.current=null,S(d.nativeEvent)))},onPointerEnter(d){N.current=d.pointerType},onPointerMove(d){if(d.pointerType==="mouse"&&d.buttons===1){let w=J.current;w.dragY+=d.movementY,w.dragY**2>=64&&(w.allowUnselectedMouseUp=!0)}},onPointerDown(d){N.current=d.pointerType,Z.current=!0,le()},onMouseUp(){if(le(),p||N.current==="touch"||Z.current)return;let d=!J.current.allowSelectedMouseUp&&se,w=!J.current.allowUnselectedMouseUp&&!se;d||w||(Z.current=!0,D.current?.click(),Z.current=!1)}},be=O("div",t,{ref:[V,o,R.ref,D],state:u,props:[C,F,g,H]}),he=Ce.useMemo(()=>({selected:se,index:z,textRef:h,selectedByFocus:Se,hasRegistered:X}),[se,z,h,Se,X]);return(0,Yr.jsx)(po.Provider,{value:he,children:be})},"SelectItem")));var nt=I(_(),1);var $r=I(Me(),1);var Xr=nt.forwardRef(r(function(t,o){let n=t.keepMounted??!1,{selected:l}=Vt();return n||l?(0,$r.jsx)(In,{...t,ref:o}):null},"SelectItemIndicator")),In=nt.memo(nt.forwardRef((e,t)=>{let{render:o,className:n,style:l,keepMounted:c,...s}=e,{selected:m}=Vt(),p=nt.useRef(null),{transitionStatus:f,setMounted:g}=ft(m),R=O("span",e,{ref:[t,p],state:{selected:m,transitionStatus:f},props:[{"aria-hidden":!0,children:"\u2714\uFE0F"},s],stateAttributesMapping:_e});return Xe({open:m,ref:p,onComplete(){m||g(!1)}}),R}));var bt=I(_(),1);var Kr=bt.memo(bt.forwardRef(r(function(t,o){let{index:n,textRef:l,selectedByFocus:c,hasRegistered:s}=Vt(),{firstItemTextRef:m,selectedItemTextRef:p}=U(),{render:f,className:g,style:h,...R}=t,v=bt.useCallback(k=>{k&&(s&&n===0&&(m.current=k),s&&c&&(p.current=k))},[m,p,n,c,s]);return O("div",t,{ref:[v,o,l],props:R})},"SelectItemText")));var Jr=I(_(),1);var vn={...mt,..._e},Zr=Jr.forwardRef(r(function(t,o){let{render:n,className:l,style:c,...s}=t,{store:m}=U(),{side:p,align:f,arrowRef:g,arrowStyles:h,arrowUncentered:R,alignItemWithTriggerActive:v}=Ke(),k={open:a(m,i.open),side:p,align:f,uncentered:R},x=O("div",t,{state:k,ref:[g,o],props:[{style:h,"aria-hidden":!0},s],stateAttributesMapping:vn});return v?null:x},"SelectArrow"));var en=I(_(),1);var Qr=I(_(),1);var Zt=Qr.forwardRef(r(function(t,o){let{render:n,className:l,style:c,direction:s,keepMounted:m=!1,...p}=t,f=s==="up",{store:g,popupRef:h,listRef:R,handleScrollArrowVisibility:v,scrollArrowsMountedCountRef:C}=U(),{side:k,scrollDownArrowRef:x,scrollUpArrowRef:J}=Ke(),B=f?i.scrollUpArrowVisible:i.scrollDownArrowVisible,A=a(g,B),b=a(g,i.openMethod),L=A&&b!=="touch",M=pt(),ae=f?J:x,{mounted:te,transitionStatus:$,setMounted:se}=ft(L);ee(()=>(C.current+=1,g.state.hasScrollArrows||g.set("hasScrollArrows",!0),()=>{C.current=Math.max(0,C.current-1),C.current===0&&g.state.hasScrollArrows&&g.set("hasScrollArrows",!1)}),[g,C]),Xe({open:L,ref:ae,onComplete(){L||se(!1)}});let z=O("div",t,{ref:[o,ae],state:{direction:s,visible:L,side:k,transitionStatus:$},props:[{"aria-hidden":!0,children:f?"\u25B2":"\u25BC",style:{position:"absolute"},onMouseMove(D){if(D.movementX===0&&D.movementY===0||M.isStarted())return;g.set("activeIndex",null);function ce(){let N=g.state.listElement??h.current;if(!N)return;g.set("activeIndex",null),v();let Z=dt(N.scrollHeight,N.clientHeight),H=gt(N.scrollTop,Z),V=H===(f?0:Z),u=R.current;if(H!==N.scrollTop&&(N.scrollTop=H),u.length===0&&g.set(f?"scrollUpArrowVisible":"scrollDownArrowVisible",!V),V){M.clear();return}if(u.length>0){let S=ae.current?.offsetHeight||0;N.scrollTop=En(u,f,H,N.clientHeight,S,Z)}M.start(40,ce)}r(ce,"scrollNextItem"),M.start(40,ce)},onMouseLeave(){M.clear()}},p],stateAttributesMapping:_e});return te||m?z:null},"SelectScrollArrow"));function En(e,t,o,n,l,c){if(t){let g=0,h=o+l-Ve;for(let C=0;C<e.length;C+=1){let k=e[C];if(k&&k.offsetTop>=h){g=C;break}}let R=Math.max(0,g-1),v=e[R];return R<g&&v?gt(v.offsetTop-l,c):0}let s=e.length-1,m=o+n-l+Ve;for(let g=0;g<e.length;g+=1){let h=e[g];if(h&&h.offsetTop+h.offsetHeight>m){s=Math.max(0,g-1);break}}let p=Math.min(e.length-1,s+1),f=e[p];return p>s&&f?gt(f.offsetTop+f.offsetHeight-n+l,c):c}r(En,"getTargetScrollTop");var tn=I(Me(),1);var on=en.forwardRef(r(function(t,o){return(0,tn.jsx)(Zt,{...t,ref:o,direction:"down"})},"SelectScrollDownArrow"));var rn=I(_(),1);var nn=I(Me(),1);var sn=rn.forwardRef(r(function(t,o){return(0,nn.jsx)(Zt,{...t,ref:o,direction:"up"})},"SelectScrollUpArrow"));var yt=I(_(),1);var Qt=I(_(),1);var fo=Qt.createContext(void 0);function ln(){let e=Qt.useContext(fo);if(e===void 0)throw new Error(je(56));return e}r(ln,"useSelectGroupContext");var an=I(Me(),1);var cn=yt.forwardRef(r(function(t,o){let{render:n,className:l,style:c,...s}=t,[m,p]=yt.useState(),f=yt.useMemo(()=>({labelId:m,setLabelId:p}),[m,p]),g=O("div",t,{ref:o,props:[{role:"group","aria-labelledby":m},s]});return(0,an.jsx)(fo.Provider,{value:f,children:g})},"SelectGroup"));var un=I(_(),1);var pn=un.forwardRef(r(function(t,o){let{render:n,className:l,style:c,id:s,...m}=t,{setLabelId:p}=ln(),f=bo(s);return ee(()=>{p(f)},[f,p]),O("div",t,{ref:o,props:[{id:f},m]})},"SelectGroupLabel"));var q=I(Me(),1);var Tc=me.Root;function Pc(e){let t=(0,Ot.c)(8),o,n;t[0]!==e?({className:o,...n}=e,t[0]=e,t[1]=o,t[2]=n):(o=t[1],n=t[2]);let l;t[3]!==o?(l=ot("flex flex-1 text-start",o),t[3]=o,t[4]=l):l=t[4];let c;return t[5]!==n||t[6]!==l?(c=(0,q.jsx)(me.Value,{"data-slot":"select-value",className:l,...n}),t[5]=n,t[6]=l,t[7]=c):c=t[7],c}r(Pc,"W");function Mc({className:e,size:t="default",children:o,...n}){return(0,q.jsxs)(me.Trigger,{"data-slot":"select-trigger","data-size":t,className:ot("flex w-fit items-center justify-between gap-1.5 rounded-md border border-input bg-transparent py-2 pe-2 ps-2.5 text-xs whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:ring-1 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-1 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-md *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...n,children:[o,(0,q.jsx)(me.Icon,{render:(0,q.jsx)(At,{icon:ir,strokeWidth:2,className:"pointer-events-none size-4 text-muted-foreground"})})]})}r(Mc,"T");function Vc({className:e,children:t,side:o="bottom",sideOffset:n=4,align:l="center",alignOffset:c=0,alignItemWithTrigger:s=!0,...m}){return(0,q.jsx)(me.Portal,{children:(0,q.jsx)(me.Positioner,{side:o,sideOffset:n,align:l,alignOffset:c,alignItemWithTrigger:s,className:"isolate z-50",children:(0,q.jsxs)(me.Popup,{"data-slot":"select-content","data-align-trigger":s,className:ot("isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-start-2 data-[side=inline-start]:slide-in-from-end-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 animate-none! relative bg-popover before:pointer-events-none before:absolute before:inset-0 before:-z-1 before:rounded-[inherit] **:data-[slot$=-item]:focus:bg-foreground/10 **:data-[slot$=-item]:data-highlighted:bg-foreground/10 **:data-[slot$=-separator]:bg-foreground/5 **:data-[slot$=-trigger]:focus:bg-foreground/10 **:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! **:data-[variant=destructive]:focus:bg-foreground/10! **:data-[variant=destructive]:text-accent-foreground! **:data-[variant=destructive]:**:text-accent-foreground!",e),...m,children:[(0,q.jsx)(wn,{}),(0,q.jsx)(me.List,{children:t}),(0,q.jsx)(Cn,{})]})})})}r(Vc,"$");function Oc(e){let t=(0,Ot.c)(13),o,n,l;t[0]!==e?({className:n,children:o,...l}=e,t[0]=e,t[1]=o,t[2]=n,t[3]=l):(o=t[1],n=t[2],l=t[3]);let c;t[4]!==n?(c=ot("relative flex w-full cursor-default items-center gap-2 rounded-md py-2 pe-8 ps-2 text-xs outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",n),t[4]=n,t[5]=c):c=t[5];let s;t[6]!==o?(s=(0,q.jsx)(me.ItemText,{className:"flex flex-1 shrink-0 gap-2 whitespace-nowrap",children:o}),t[6]=o,t[7]=s):s=t[7];let m;t[8]===Symbol.for("react.memo_cache_sentinel")?(m=(0,q.jsx)(me.ItemIndicator,{render:(0,q.jsx)("span",{className:"pointer-events-none absolute end-2 flex size-4 items-center justify-center"}),children:(0,q.jsx)(At,{icon:lr,strokeWidth:2,className:"pointer-events-none"})}),t[8]=m):m=t[8];let p;return t[9]!==l||t[10]!==c||t[11]!==s?(p=(0,q.jsxs)(me.Item,{"data-slot":"select-item",className:c,...l,children:[s,m]}),t[9]=l,t[10]=c,t[11]=s,t[12]=p):p=t[12],p}r(Oc,"A");function wn(e){let t=(0,Ot.c)(9),o,n;t[0]!==e?({className:o,...n}=e,t[0]=e,t[1]=o,t[2]=n):(o=t[1],n=t[2]);let l;t[3]!==o?(l=ot("top-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",o),t[3]=o,t[4]=l):l=t[4];let c;t[5]===Symbol.for("react.memo_cache_sentinel")?(c=(0,q.jsx)(At,{icon:sr,strokeWidth:2}),t[5]=c):c=t[5];let s;return t[6]!==n||t[7]!==l?(s=(0,q.jsx)(me.ScrollUpArrow,{"data-slot":"select-scroll-up-button",className:l,...n,children:c}),t[6]=n,t[7]=l,t[8]=s):s=t[8],s}r(wn,"x");function Cn(e){let t=(0,Ot.c)(9),o,n;t[0]!==e?({className:o,...n}=e,t[0]=e,t[1]=o,t[2]=n):(o=t[1],n=t[2]);let l;t[3]!==o?(l=ot("bottom-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",o),t[3]=o,t[4]=l):l=t[4];let c;t[5]===Symbol.for("react.memo_cache_sentinel")?(c=(0,q.jsx)(At,{icon:nr,strokeWidth:2}),t[5]=c):c=t[5];let s;return t[6]!==n||t[7]!==l?(s=(0,q.jsx)(me.ScrollDownArrow,{"data-slot":"select-scroll-down-button",className:l,...n,children:c}),t[6]=n,t[7]=l,t[8]=s):s=t[8],s}r(Cn,"w");export{Tc as a,Pc as b,Mc as c,Vc as d,Oc as e};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as We,b as De,c as Fe,d as Oe,e as we}from"./chunk-RA5DW5MU.js";import"./chunk-2PJNAWB3.js";import"./chunk-SD4BERSA.js";import"./chunk-IC4L6G56.js";import{a as qe}from"./chunk-3SCGCJYS.js";import{a as Ve}from"./chunk-IGCNMZSB.js";import"./chunk-2QSHLBCO.js";import"./chunk-BGBLQ563.js";import"./chunk-IVFHIQOT.js";import"./chunk-QBWRC5YX.js";import{a as ze}from"./chunk-3CWGJYBB.js";import{a as Te}from"./chunk-RMN2JN4S.js";import"./chunk-GRL5MG3Z.js";import"./chunk-7T7UOTYK.js";import{R as ke}from"./chunk-CFPZYHPY.js";import"./chunk-T6VMSOBB.js";import"./chunk-7QIFDWQV.js";import{a as ie}from"./chunk-MWIKAR7F.js";import"./chunk-DJZYD5I5.js";import"./chunk-2OUPA2WJ.js";import{b as me}from"./chunk-THIXMMZD.js";import"./chunk-6ST5ECQA.js";import"./chunk-QLQADHFE.js";import{a as D}from"./chunk-VDW32UET.js";import{c as Ee}from"./chunk-UP7OTXKF.js";import{f as Ne}from"./chunk-LYVP5PT6.js";import"./chunk-XBDKZZ67.js";import{a as Ce}from"./chunk-XQCVZAGU.js";import{a as Le,b as je,c as Re,d as pe,e as W,f as L}from"./chunk-WJQLNYGX.js";import{a as Me,e as Ae}from"./chunk-WQH3LT2P.js";import{d as ue,f as le,g as be,h as Ke,o as re,r as _e}from"./chunk-IUYFXK4X.js";import{a as Ie,b as $e}from"./chunk-X7B6PLEW.js";import{a as d,e as ye,f as Be,g as Ge,h as He}from"./chunk-3XIESWL4.js";var ge=ye(Ge(),1);var ne=ye(Be(),1);var t=ye(He(),1);var Se="none",Je=["all","open","resolved","ignored"],Pe=["critical","high","medium","low"],Qe=le(D.resolveIssue),Xe=le(D.ignoreIssue),Ue=le(D.assignIssue),Ye=le(D.setIssueSeverity),Ze=le(D.explainIssue),es=d(n=>Array.isArray(n?.issues)?n.issues:[],"Ye"),ss=d(n=>n==="resolved"?"success":n==="ignored"?"secondary":"warning","Ze"),ts=d(n=>n==="critical"?"destructive":n==="high"?"warning":n==="medium"?"info":"secondary","Pe"),as=d(n=>{let e=(0,ge.c)(44),{expanded:u,issue:s,shardKey:$}=n,i=Ne(),r=ue(),[a,o]=(0,ne.useState)(void 0),{busy:T,error:C,run:j}=qe(),K;e[0]!==i||e[1]!==s||e[2]!==j||e[3]!==$?(K=d(()=>{o(void 0),j(async()=>{let g={culprit:s.culprit,sampleMessage:s.sampleMessage,title:s.title},I=await i.query(Ze,g,be($));o(I)})},"K"),e[0]=i,e[1]=s,e[2]=j,e[3]=$,e[4]=K):K=e[4];let z=K;if(!u)return null;let k;if(e[5]!==s.sampleMessage){let g=$e(s.sampleMessage);k=g===void 0?void 0:Ie(g.body),e[5]=s.sampleMessage,e[6]=k}else k=e[6];let _=k,E=`issues-detail-${s.hash}`,h;e[7]!==s.sampleMessage?(h=(0,t.jsx)("p",{className:"whitespace-pre-wrap font-mono text-xs text-muted-foreground",children:s.sampleMessage}),e[7]=s.sampleMessage,e[8]=h):h=e[8];let x;e[9]!==r?(x=r("Suggested fix"),e[9]=r,e[10]=x):x=e[10];let M;e[11]!==x?(M=(0,t.jsx)("div",{className:"text-xs font-medium text-muted-foreground",children:x}),e[11]=x,e[12]=M):M=e[12];let v;e[13]!==_||e[14]!==s.hash||e[15]!==r?(v=_===void 0?(0,t.jsx)("p",{className:"mt-1 text-sm text-muted-foreground","data-testid":`issues-hint-empty-${s.hash}`,children:r("No known fix for this error yet.")}):(0,t.jsx)("p",{className:"mt-1 whitespace-pre-wrap text-sm","data-testid":`issues-hint-${s.hash}`,children:_}),e[13]=_,e[14]=s.hash,e[15]=r,e[16]=v):v=e[16];let y;e[17]!==M||e[18]!==v?(y=(0,t.jsxs)("div",{children:[M,v]}),e[17]=M,e[18]=v,e[19]=y):y=e[19];let b=`issues-explain-${s.hash}`,w;e[20]!==T||e[21]!==r?(w=r(T?"Explaining\u2026":"Explain in plain language"),e[20]=T,e[21]=r,e[22]=w):w=e[22];let m;e[23]!==T||e[24]!==z||e[25]!==w||e[26]!==b?(m=(0,t.jsx)("div",{children:(0,t.jsx)(ie,{"data-testid":b,disabled:T,onClick:z,size:"sm",type:"button",variant:"outline",children:w})}),e[23]=T,e[24]=z,e[25]=w,e[26]=b,e[27]=m):m=e[27];let f;e[28]!==C||e[29]!==s.hash?(f=C!==null&&(0,t.jsx)("p",{className:"text-xs text-destructive","data-testid":`issues-explain-error-${s.hash}`,role:"alert",children:C}),e[28]=C,e[29]=s.hash,e[30]=f):f=e[30];let p;e[31]!==a||e[32]!==s.hash||e[33]!==r?(p=a!==void 0&&(a.degraded?(0,t.jsx)("p",{className:"text-xs text-muted-foreground","data-testid":`issues-degraded-${s.hash}`,children:a.reason==="no-ai-binding"?r("No AI binding is configured. Wire an AI binding to enable plain-language explanations \u2014 the suggested fix above is always available."):r("The AI model could not explain this error right now. The suggested fix above still applies.")}):(0,t.jsxs)("div",{"data-testid":`issues-explanation-${s.hash}`,children:[(0,t.jsx)("div",{className:"text-xs font-medium text-muted-foreground",children:r("AI explanation")}),(0,t.jsx)("p",{className:"mt-1 whitespace-pre-wrap text-sm",children:a.explanation}),a.groundedId===void 0&&(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground","data-testid":`issues-ungrounded-${s.hash}`,children:r("No catalog fix matched this error, so this explanation is the model's own reading of the message. Verify before acting on it.")}),(0,t.jsx)("p",{className:"mt-1 text-[0.7rem] text-muted-foreground",children:r("Generated by {model}",{model:a.model})})]})),e[31]=a,e[32]=s.hash,e[33]=r,e[34]=p):p=e[34];let c;e[35]!==m||e[36]!==f||e[37]!==p||e[38]!==h||e[39]!==y?(c=(0,t.jsx)(L,{className:"bg-muted/30",colSpan:7,children:(0,t.jsxs)("div",{className:"flex flex-col gap-3 py-1",children:[h,y,m,f,p]})}),e[35]=m,e[36]=f,e[37]=p,e[38]=h,e[39]=y,e[40]=c):c=e[40];let S;return e[41]!==c||e[42]!==E?(S=(0,t.jsx)(pe,{"data-testid":E,children:c}),e[41]=c,e[42]=E,e[43]=S):S=e[43],S},"et"),is=d(n=>{let e=(0,ge.c)(119),{busy:u,issue:s,rowError:$,runTriage:i,shardKey:r}=n,a=ue(),[o,T]=(0,ne.useState)(!1),C;e[0]===Symbol.for("react.memo_cache_sentinel")?(C=d(()=>{T(ls)},"C"),e[0]=C):C=e[0];let j=C,K;e[1]!==s.hash||e[2]!==i?(K=d(ae=>{let ce=ae===null||ae===Se?null:ae;re(i(s.hash,Ye,{severity:ce}))},"K"),e[1]=s.hash,e[2]=i,e[3]=K):K=e[3];let z=K,k;e[4]!==s.hash||e[5]!==i?(k=d(ae=>{if(ae.key!=="Enter")return;let ce=ae.currentTarget.value.trim();re(i(s.hash,Ue,{assignee:ce===""?null:ce}))},"k"),e[4]=s.hash,e[5]=i,e[6]=k):k=e[6];let _=k,E=`issues-row-${s.hash}`,h;e[7]!==a?(h=a("Toggle issue details"),e[7]=a,e[8]=h):h=e[8];let x=`issues-toggle-${s.hash}`,M=`mt-1 size-3 shrink-0 text-muted-foreground transition-transform ${o?"rotate-90":""}`,v;e[9]===Symbol.for("react.memo_cache_sentinel")?(v=(0,t.jsx)("path",{d:"m9 6 6 6-6 6"}),e[9]=v):v=e[9];let y;e[10]!==M?(y=(0,t.jsx)("svg",{"aria-hidden":"true",className:M,fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,viewBox:"0 0 24 24",children:v}),e[10]=M,e[11]=y):y=e[11];let b;e[12]!==s.title?(b=(0,t.jsx)("span",{className:"block truncate font-medium",title:s.title,children:s.title}),e[12]=s.title,e[13]=b):b=e[13];let w;e[14]!==s.culprit?(w=(0,t.jsx)("span",{className:"block truncate font-mono text-xs text-muted-foreground",title:s.culprit,children:s.culprit}),e[14]=s.culprit,e[15]=w):w=e[15];let m;e[16]!==b||e[17]!==w?(m=(0,t.jsxs)("span",{className:"min-w-0",children:[b,w]}),e[16]=b,e[17]=w,e[18]=m):m=e[18];let f;e[19]!==o||e[20]!==m||e[21]!==h||e[22]!==x||e[23]!==y?(f=(0,t.jsxs)("button",{"aria-expanded":o,"aria-label":h,className:"flex w-full items-start gap-2 text-left","data-testid":x,onClick:j,type:"button",children:[y,m]}),e[19]=o,e[20]=m,e[21]=h,e[22]=x,e[23]=y,e[24]=f):f=e[24];let p;e[25]!==s.hash||e[26]!==$?(p=$!==void 0&&(0,t.jsx)("p",{className:"mt-1 text-xs text-destructive","data-testid":`issues-action-error-${s.hash}`,role:"alert",children:$}),e[25]=s.hash,e[26]=$,e[27]=p):p=e[27];let c;e[28]!==f||e[29]!==p?(c=(0,t.jsxs)(L,{className:"max-w-80",children:[f,p]}),e[28]=f,e[29]=p,e[30]=c):c=e[30];let S=`issues-status-${s.hash}`,g;e[31]!==s.status?(g=ss(s.status),e[31]=s.status,e[32]=g):g=e[32];let I;e[33]!==s.status||e[34]!==S||e[35]!==g?(I=(0,t.jsx)(L,{children:(0,t.jsx)(me,{"data-testid":S,variant:g,children:s.status})}),e[33]=s.status,e[34]=S,e[35]=g,e[36]=I):I=e[36];let R=s.severity??Se,l;e[37]!==a?(l=a("Set severity"),e[37]=a,e[38]=l):l=e[38];let oe=`issues-severity-${s.hash}`,q;e[39]!==a?(q=a("\u2014"),e[39]=a,e[40]=q):q=e[40];let N;e[41]!==s.severity||e[42]!==a?(N=s.severity===void 0?(0,t.jsx)("span",{className:"text-muted-foreground",children:a("\u2014")}):(0,t.jsx)(me,{variant:ts(s.severity),children:s.severity}),e[41]=s.severity,e[42]=a,e[43]=N):N=e[43];let A;e[44]!==q||e[45]!==N?(A=(0,t.jsx)(De,{placeholder:q,children:N}),e[44]=q,e[45]=N,e[46]=A):A=e[46];let V;e[47]!==l||e[48]!==oe||e[49]!==A?(V=(0,t.jsx)(Fe,{"aria-label":l,className:"h-7 w-[110px]","data-testid":oe,children:A}),e[47]=l,e[48]=oe,e[49]=A,e[50]=V):V=e[50];let de;e[51]===Symbol.for("react.memo_cache_sentinel")?(de=Pe.map(rs),e[51]=de):de=e[51];let F;e[52]!==a?(F=a("Clear"),e[52]=a,e[53]=F):F=e[53];let O;e[54]!==F?(O=(0,t.jsxs)(Oe,{children:[de,(0,t.jsx)(we,{value:Se,children:F})]}),e[54]=F,e[55]=O):O=e[55];let U;e[56]!==u||e[57]!==z||e[58]!==R||e[59]!==V||e[60]!==O?(U=(0,t.jsx)(L,{children:(0,t.jsxs)(We,{disabled:u,onValueChange:z,value:R,children:[V,O]})}),e[56]=u,e[57]=z,e[58]=R,e[59]=V,e[60]=O,e[61]=U):U=e[61];let B;e[62]!==a?(B=a("Assignee"),e[62]=a,e[63]=B):B=e[63];let fe=`issues-assignee-${s.hash}`,xe=s.assignee??"",ve=s.assignee??"",G;e[64]!==a?(G=a("Unassigned"),e[64]=a,e[65]=G):G=e[65];let H;e[66]!==u||e[67]!==_||e[68]!==B||e[69]!==fe||e[70]!==xe||e[71]!==ve||e[72]!==G?(H=(0,t.jsx)(L,{children:(0,t.jsx)(ke,{"aria-label":B,className:"h-7 w-32","data-testid":fe,defaultValue:xe,disabled:u,onKeyDown:_,placeholder:G},ve)}),e[66]=u,e[67]=_,e[68]=B,e[69]=fe,e[70]=xe,e[71]=ve,e[72]=G,e[73]=H):H=e[73];let J;e[74]!==s.count?(J=(0,t.jsx)(L,{className:"text-right",children:(0,t.jsx)(me,{variant:"secondary",children:s.count})}),e[74]=s.count,e[75]=J):J=e[75];let P;e[76]!==s.lastSeen?(P=_e(s.lastSeen),e[76]=s.lastSeen,e[77]=P):P=e[77];let Q;e[78]!==P?(Q=(0,t.jsx)(L,{className:"text-xs tabular-nums text-muted-foreground",children:P}),e[78]=P,e[79]=Q):Q=e[79];let X;e[80]!==u||e[81]!==s.hash||e[82]!==s.status||e[83]!==i||e[84]!==a?(X=s.status!=="resolved"&&(0,t.jsx)(ie,{"data-testid":`issues-resolve-${s.hash}`,disabled:u,onClick:d(()=>{re(i(s.hash,Qe,{}))},"onClick"),size:"xs",variant:"outline",children:a("Resolve")}),e[80]=u,e[81]=s.hash,e[82]=s.status,e[83]=i,e[84]=a,e[85]=X):X=e[85];let Y;e[86]!==u||e[87]!==s.hash||e[88]!==s.status||e[89]!==i||e[90]!==a?(Y=s.status!=="ignored"&&(0,t.jsx)(ie,{"data-testid":`issues-ignore-${s.hash}`,disabled:u,onClick:d(()=>{re(i(s.hash,Xe,{}))},"onClick"),size:"xs",variant:"ghost",children:a("Ignore")}),e[86]=u,e[87]=s.hash,e[88]=s.status,e[89]=i,e[90]=a,e[91]=Y):Y=e[91];let Z;e[92]!==u||e[93]!==s.assignee||e[94]!==s.hash||e[95]!==s.status||e[96]!==i||e[97]!==a?(Z=s.status!=="open"&&(0,t.jsx)(ie,{"data-testid":`issues-reopen-${s.hash}`,disabled:u,onClick:d(()=>{re(i(s.hash,Ue,{assignee:s.assignee??null}))},"onClick"),size:"xs",variant:"ghost",children:a("Reopen")}),e[92]=u,e[93]=s.assignee,e[94]=s.hash,e[95]=s.status,e[96]=i,e[97]=a,e[98]=Z):Z=e[98];let ee;e[99]!==X||e[100]!==Y||e[101]!==Z?(ee=(0,t.jsx)(L,{className:"text-right",children:(0,t.jsxs)("div",{className:"flex justify-end gap-1",children:[X,Y,Z]})}),e[99]=X,e[100]=Y,e[101]=Z,e[102]=ee):ee=e[102];let se;e[103]!==c||e[104]!==I||e[105]!==U||e[106]!==H||e[107]!==J||e[108]!==Q||e[109]!==E||e[110]!==ee?(se=(0,t.jsxs)(pe,{"data-testid":E,children:[c,I,U,H,J,Q,ee]}),e[103]=c,e[104]=I,e[105]=U,e[106]=H,e[107]=J,e[108]=Q,e[109]=E,e[110]=ee,e[111]=se):se=e[111];let te;e[112]!==o||e[113]!==s||e[114]!==r?(te=(0,t.jsx)(as,{expanded:o,issue:s,shardKey:r},s.sampleMessage),e[112]=o,e[113]=s,e[114]=r,e[115]=te):te=e[115];let he;return e[116]!==se||e[117]!==te?(he=(0,t.jsxs)(t.Fragment,{children:[se,te]}),e[116]=se,e[117]=te,e[118]=he):he=e[118],he},"tt"),ks=d(n=>{let e=(0,ge.c)(38),{initialShardKey:u}=n,s=ue(),$=Ne(),{queryShardKey:i,setShardKey:r,shardKey:a}=ze(u),[o,T]=(0,ne.useState)("all"),[C,j]=(0,ne.useState)(ns),[K,z]=(0,ne.useState)(os),k;e[0]!==o?(k=o==="all"?{}:{status:o},e[0]=o,e[1]=k):k=e[1];let _;e[2]!==i?(_={live:!0,shardKey:i},e[2]=i,e[3]=_):_=e[3];let{data:E,error:h,liveError:x}=Ee(D.getIssues,k,_),M=E!==void 0,v;if(e[4]!==K||e[5]!==C||e[6]!==$||e[7]!==E||e[8]!==h||e[9]!==x||e[10]!==M||e[11]!==i||e[12]!==r||e[13]!==a||e[14]!==o||e[15]!==s){let y=es(E),b;e[17]!==$||e[18]!==i?(b=d(async(l,oe,q)=>{z(N=>{if(!N.has(l))return N;let A=new Map(N);return A.delete(l),A}),j(N=>new Set(N).add(l));try{await $.query(oe,{...q,hash:l},be(i))}catch(N){let A=Ke(N);z(V=>new Map(V).set(l,A))}j(N=>{let A=new Set(N);return A.delete(l),A})},"N"),e[17]=$,e[18]=i,e[19]=b):b=e[19];let w=b,m;e[20]!==s?(m=d(l=>s(l==="all"?"All":l==="open"?"Open":l==="resolved"?"Resolved":"Ignored"),"u"),e[20]=s,e[21]=m):m=e[21];let f=m,p;e[22]!==h?(p=h!==null&&(0,t.jsx)("p",{className:"text-sm text-destructive","data-testid":"issues-error",role:"alert",children:h}),e[22]=h,e[23]=p):p=e[23];let c;e[24]!==r||e[25]!==a?(c=(0,t.jsx)(Te,{onChange:r,testId:"issues-shard-input",value:a}),e[24]=r,e[25]=a,e[26]=c):c=e[26];let S;e[27]!==x?(S=(0,t.jsx)(Ve,{message:x,prefix:"issues"}),e[27]=x,e[28]=S):S=e[28];let g;e[29]!==o||e[30]!==f?(g=Je.map(l=>(0,t.jsx)(ie,{"data-active":o===l?"":void 0,"data-testid":`issues-filter-${l}`,onClick:d(()=>{T(l)},"onClick"),size:"xs",variant:o===l?"default":"outline",children:f(l)},l)),e[29]=o,e[30]=f,e[31]=g):g=e[31];let I;e[32]!==g?(I=(0,t.jsx)("div",{className:"ms-auto flex items-center gap-1","data-testid":"issues-status-filter",role:"group",children:g}),e[32]=g,e[33]=I):I=e[33];let R;e[34]!==I||e[35]!==c||e[36]!==S?(R=(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[c,S,I]}),e[34]=I,e[35]=c,e[36]=S,e[37]=R):R=e[37],v=(0,t.jsxs)("div",{className:"flex flex-col gap-6","data-testid":"lunora-issues-panel",children:[p,R,M&&y.length===0?(0,t.jsx)(Ce,{description:s("No grouped errors yet. When a function throws or a container crashes, matching errors fold into a single issue here."),testId:"issues-empty",title:s("No issues")}):(0,t.jsx)(Me,{className:"overflow-hidden py-0",children:(0,t.jsx)(Ae,{className:"px-0",children:(0,t.jsxs)(Le,{"data-testid":"issues-table",children:[(0,t.jsx)(je,{children:(0,t.jsxs)(pe,{children:[(0,t.jsx)(W,{children:s("Issue")}),(0,t.jsx)(W,{children:s("Status")}),(0,t.jsx)(W,{children:s("Severity")}),(0,t.jsx)(W,{children:s("Assignee")}),(0,t.jsx)(W,{className:"text-right",children:s("Events")}),(0,t.jsx)(W,{children:s("Last seen")}),(0,t.jsx)(W,{className:"text-right",children:s("Actions")})]})}),(0,t.jsx)(Re,{children:y.map(l=>(0,t.jsx)(is,{busy:C.has(l.hash),issue:l,rowError:K.get(l.hash),runTriage:w,shardKey:i},l.hash))})]})})})]}),e[4]=K,e[5]=C,e[6]=$,e[7]=E,e[8]=h,e[9]=x,e[10]=M,e[11]=i,e[12]=r,e[13]=a,e[14]=o,e[15]=s,e[16]=v}else v=e[16];return v},"kt");function ls(n){return!n}d(ls,"st");function rs(n){return(0,t.jsx)(we,{value:n,children:n},n)}d(rs,"at");function ns(){return new Set}d(ns,"it");function os(){return new Map}d(os,"rt");export{ks as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as ke}from"./chunk-V53KNYRN.js";import{a as T}from"./chunk-5Y3QLNWX.js";import{a as Pe}from"./chunk-IGCNMZSB.js";import{a as be}from"./chunk-RMN2JN4S.js";import"./chunk-GRL5MG3Z.js";import"./chunk-7T7UOTYK.js";import{R as $}from"./chunk-CFPZYHPY.js";import"./chunk-7QIFDWQV.js";import{a as F}from"./chunk-MWIKAR7F.js";import"./chunk-DJZYD5I5.js";import"./chunk-2OUPA2WJ.js";import{b as M}from"./chunk-THIXMMZD.js";import"./chunk-6ST5ECQA.js";import{a as ge}from"./chunk-6IZBFC3G.js";import"./chunk-XXQUMVWH.js";import"./chunk-ZNNKWEH5.js";import"./chunk-QLQADHFE.js";import{a as Z}from"./chunk-VDW32UET.js";import{c as ae}from"./chunk-UP7OTXKF.js";import{f as oe}from"./chunk-LYVP5PT6.js";import"./chunk-XBDKZZ67.js";import{a as de}from"./chunk-XQCVZAGU.js";import{a as Ne,b as ve,c as we,d as ce,e as le,f as re}from"./chunk-WJQLNYGX.js";import{a as se,b as pe,c as fe,d as ue,e as ne}from"./chunk-WQH3LT2P.js";import{d as Y,f as he,g as xe,h as ye,o as te}from"./chunk-IUYFXK4X.js";import"./chunk-X7B6PLEW.js";import{a as d,e as ie,f as _e,g as Ae,h as Fe}from"./chunk-3XIESWL4.js";var p=ie(_e(),1);var me=ie(Ae(),1);var t=ie(Fe(),1);var Ce=["read","insert","update","delete"],Te=d((e,a)=>({delete:e("Delete"),insert:e("Insert"),read:e("Read"),update:e("Update")})[a],"_e"),ze=d(e=>{let a=new Set;for(let i of e?.advisories??[])if(i.name==="rls_uncovered_table"){let{table:s}=i.metadata;typeof s=="string"&&s!==""&&a.add(s)}return a},"Ae"),Ee=d((e,a,i)=>{let s=new Map,l=d(n=>{let o=s.get(n);if(o!==void 0)return o;let f={cells:{delete:{},insert:{},read:{},update:{}},maskedColumns:new Set,table:n,uncovered:i.has(n)};return s.set(n,f),f},"r");for(let n of e)l(n.table).cells[n.on]={procedure:n.procedure};for(let n of a)l(n.table).maskedColumns.add(n.column);for(let n of i)l(n);return[...s.values()].toSorted((n,o)=>n.table.localeCompare(o.table))},"Fe"),Le=d(e=>{let a=(0,me.c)(17),i;a[0]!==e?(i=e===void 0?{}:e,a[0]=e,a[1]=i):i=a[1];let{onProbe:s}=i,l=Y(),n,o;a[2]===Symbol.for("react.memo_cache_sentinel")?(n={},o={live:!0},a[2]=n,a[3]=o):(n=a[2],o=a[3]);let f=ae(Z.rlsPolicies,n,o),r;a[4]===Symbol.for("react.memo_cache_sentinel")?(r={},a[4]=r):r=a[4];let b=ae(Z.maskPolicies,r),h;a[5]===Symbol.for("react.memo_cache_sentinel")?(h={},a[5]=h):h=a[5];let g=ae(Z.getAdvisories,h),N;if(a[6]!==g.data||a[7]!==b.data||a[8]!==s||a[9]!==f||a[10]!==l){let v=null;f.data!==void 0&&(v=Array.isArray(f.data.policies)?f.data.policies:[]);let z=Array.isArray(b.data?.columns)?b.data.columns:[],j=g.data??null,{error:C,errorSource:w,liveError:S}=f,_=v===null?[]:Ee(v,z,ze(j)),k;a[12]!==S?(k=(0,t.jsx)("div",{className:"flex items-center justify-end",children:(0,t.jsx)(Pe,{message:S,prefix:"pm"})}),a[12]=S,a[13]=k):k=a[13];let x;a[14]!==C||a[15]!==w?(x=C!==null&&(0,t.jsx)(ge,{error:w,testId:"pm-error"}),a[14]=C,a[15]=w,a[16]=x):x=a[16],N=(0,t.jsxs)("div",{className:"flex flex-col gap-3","data-testid":"lunora-permissions-matrix",children:[k,x,v!==null&&_.length===0?(0,t.jsx)(de,{description:l("Add a `definePolicy` and wire it through `.use(rls(...))` to populate this matrix."),testId:"pm-empty",title:l("No policy")}):(0,t.jsxs)(Ne,{"data-testid":"pm-table",children:[(0,t.jsx)(ve,{children:(0,t.jsxs)(ce,{children:[(0,t.jsx)(le,{children:l("Table")}),Ce.map(c=>(0,t.jsx)(le,{children:Te(l,c)},c)),(0,t.jsx)(le,{children:l("Masked columns")})]})}),(0,t.jsx)(we,{children:_.map(c=>(0,t.jsxs)(ce,{"data-testid":`pm-row-${c.table}`,children:[(0,t.jsx)(re,{className:"font-mono text-xs",children:(0,t.jsxs)("span",{className:"flex items-center gap-1.5",children:[c.table,c.uncovered&&(0,t.jsx)(M,{"data-testid":`pm-uncovered-${c.table}`,title:l("Uncovered \u2014 reachable without a policy"),variant:"destructive",children:l("Uncovered \u2014 reachable without a policy")})]})}),Ce.map(I=>{let y=c.cells[I];return(0,t.jsx)(re,{"data-testid":`pm-cell-${c.table}-${I}`,children:y.procedure===void 0?(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:l("No policy")}):(0,t.jsxs)("span",{className:"flex flex-col gap-1",children:[(0,t.jsx)(M,{variant:"secondary",children:l("Covered by {procedure}",{procedure:y.procedure})}),s!==void 0&&(0,t.jsx)(F,{className:"h-auto justify-start p-0 text-[11px]","data-testid":`pm-probe-${c.table}-${I}`,onClick:d(()=>{s(c.table,I,y.procedure??"")},"onClick"),size:"xs",type:"button",variant:"ghost",children:l("Probe this")})]})},I)}),(0,t.jsx)(re,{children:c.maskedColumns.size===0?(0,t.jsx)("span",{"aria-hidden":"true",className:"text-muted-foreground",children:"\u2014"}):(0,t.jsx)("span",{className:"flex flex-wrap gap-1",children:[...c.maskedColumns].map(Oe)})})]},c.table))})]})]}),a[6]=g.data,a[7]=b.data,a[8]=s,a[9]=f,a[10]=l,a[11]=N}else N=a[11];return N},"Te");function Oe(e){return(0,t.jsx)(M,{variant:"outline",children:e},e)}d(Oe,"Ee");var Re=he(Z.runAs),je=d(()=>{let e=oe();return async({args:a,functionPath:i,shardKey:s="",userId:l})=>{let n=Re;try{return{kind:"allowed",value:await e.query(n,{args:a,functionPath:i,userId:l},xe(s))}}catch(o){return{kind:"denied",message:o instanceof Error?o.message:String(o)}}}},"Re"),Me=d(e=>e===void 0?"undefined":JSON.stringify(e,null,2),"Me"),$e=d(({functions:e,prefill:a,runAsIdentity:i=!1}={})=>{let s=oe(),l=Y(),n=je(),[o,f]=(0,p.useState)(null),[r,b]=(0,p.useState)(null),h=e??o??[],[g,N]=(0,p.useState)(""),[v,z]=(0,p.useState)("{}"),[j,C]=(0,p.useState)(""),[w,S]=(0,p.useState)(""),[_,k]=(0,p.useState)(!1),[x,c]=(0,p.useState)(null),[I,y]=(0,p.useState)(null),A=(0,p.useRef)(-1);(0,p.useEffect)(()=>{if(e!==void 0)return;let m=!1;return s.listFunctions().then(u=>(m||f(u),u)).catch(u=>{m||b(ye(u))}),()=>{m=!0}},[s,e]),(0,p.useEffect)(()=>{if(a===void 0||A.current===a.nonce)return;A.current=a.nonce;let m=a.functionPath;queueMicrotask(()=>{N(m),c(null)})},[a]);let P=g===""?h[0]?.path??"":g,E=d(async()=>{if(P==="")return;let m;try{m=v.trim()===""?{}:JSON.parse(v)}catch(u){y(l("Invalid JSON args: {message}",{message:u.message})),c(null);return}y(null),k(!0);try{let u=await n({args:m,functionPath:P,shardKey:j.trim(),userId:w.trim()});c(u)}finally{k(!1)}},"F"),L=d(()=>{te(E())},"T"),H=d(m=>{N(m.target.value)},"B"),O=d(m=>{z(m.target.value)},"E"),R=d(m=>{S(m.target.value)},"L");return(0,t.jsxs)("div",{className:"flex flex-col gap-3","data-testid":"lunora-permissions-playground",children:[r!==null&&(0,t.jsx)("p",{className:"text-sm text-destructive","data-testid":"pp-discover-error",role:"alert",children:r}),!i&&(0,t.jsx)(de,{description:l("Dev only: runs the selected function as this user over the admin gate so you can test auth and RLS."),testId:"pp-gate",title:l("Set `runAsIdentity` to forge an identity and probe access.")}),(0,t.jsxs)("div",{className:"flex flex-col gap-3 rounded-md border border-border p-3",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(T,{htmlFor:"pp-function",children:l("Function")}),(0,t.jsx)("select",{"aria-label":l("Function"),className:"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50","data-testid":"pp-function",id:"pp-function",onChange:H,value:P,children:h.map(m=>(0,t.jsxs)("option",{value:m.path,children:[m.path," (",m.kind,")"]},m.path))})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(T,{htmlFor:"pp-args",children:l("Arguments")}),(0,t.jsx)(ke,{"aria-label":l("Arguments"),className:"font-mono text-xs","data-testid":"pp-args",id:"pp-args",onChange:O,value:v})]}),(0,t.jsx)(be,{onChange:C,testId:"pp-shard",value:j}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(T,{htmlFor:"pp-user",children:l("Run as (userId)")}),(0,t.jsx)($,{"aria-label":l("Identity (userId) to run as"),className:"font-mono text-xs","data-testid":"pp-user",id:"pp-user",onChange:R,placeholder:l("Leave empty to run as admin"),value:w})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(F,{"data-testid":"pp-run",disabled:!i||_||P==="",onClick:L,type:"button",children:l(_?"Probing\u2026":"Run probe")}),w.trim()!==""&&(0,t.jsx)(M,{"data-testid":"pp-as-badge",variant:"secondary",children:l("as {userId}",{userId:w.trim()})})]})]}),I!==null&&(0,t.jsx)("p",{className:"text-sm text-destructive","data-testid":"pp-args-error",role:"alert",children:I}),x!==null&&x.kind==="allowed"&&(0,t.jsxs)("div",{className:"flex flex-col gap-2","data-testid":"pp-outcome-allowed",children:[(0,t.jsx)(M,{variant:"secondary",children:l("Allowed")}),(0,t.jsx)("pre",{className:"overflow-auto rounded-md border border-border bg-muted/50 p-3 font-mono text-xs","data-testid":"pp-result",children:Me(x.value)})]}),x!==null&&x.kind==="denied"&&(0,t.jsxs)("div",{className:"flex flex-col gap-2","data-testid":"pp-outcome-denied",children:[(0,t.jsx)(M,{variant:"destructive",children:l("Denied")}),(0,t.jsx)("pre",{className:"overflow-auto rounded-md border border-border bg-muted/50 p-3 font-mono text-xs text-destructive","data-testid":"pp-denied",role:"alert",children:x.message})]})]})},"Oe"),qe="/__lunora/policy-scaffold",De={"already-wired":"That procedure already has an rls(...) policy wired in.","file-exists":"A policy file with that name already exists \u2014 pick another name or edit it by hand.","invalid-identifier":"Name, table, and policy-set must be plain identifiers (letters, digits, _ or $).","unknown-procedure":"No exported procedure was found at that file path.","unsupported-procedure-shape":"That procedure uses the bare query({\u2026}) form \u2014 convert it to the builder form (c.use(\u2026).query(\u2026)) before wiring RLS."},Je=d(async e=>{let a=await fetch(qe,{body:JSON.stringify(e),headers:{"Content-Type":"application/json"},method:"POST"}),i=await a.json();if(i.needsManualEdit===!0)return{kind:"needs-manual-edit",message:i.message??"This change must be made by hand."};if(a.ok)return{diagnostics:i.diagnostics??[],kind:"ok",label:i.fileName??i.exportName??""};let s=i.error;return{kind:"error",message:s===void 0?`policy scaffold failed (${String(a.status)})`:De[s]??s}},"qe"),Se={exportName:"",filePath:"",policyName:"",policies:"",tableName:""},Ue=d(()=>{let e=(0,me.c)(69),a=Y(),[i,s]=(0,p.useState)(null),[l,n]=(0,p.useState)(!1),[o,f]=(0,p.useState)(null),[r,b]=(0,p.useState)(Se),h;e[0]===Symbol.for("react.memo_cache_sentinel")?(h=d(ee=>{let G=ee.target.name,{value:V}=ee.target;b(Ie=>({...Ie,[G]:V}))},"u"),e[0]=h):h=e[0];let g=h,N;e[1]===Symbol.for("react.memo_cache_sentinel")?(N=d(()=>{s(null),b(Se)},"N"),e[1]=N):N=e[1];let v=N,z;e[2]===Symbol.for("react.memo_cache_sentinel")?(z=d(async ee=>{n(!0),f(null);try{let G=await Je(ee);f(G),G.kind==="ok"&&v()}catch(G){let V=G;f({kind:"error",message:V instanceof Error?V.message:String(V)})}n(!1)},"A"),e[2]=z):z=e[2];let j=z,C;e[3]!==r.policyName||e[4]!==r.tableName?(C=d(()=>{te(j({kind:"scaffoldPolicy",name:r.policyName.trim(),table:r.tableName.trim()}))},"S"),e[3]=r.policyName,e[4]=r.tableName,e[5]=C):C=e[5];let w=C,S;e[6]!==r.exportName||e[7]!==r.filePath||e[8]!==r.policies?(S=d(()=>{te(j({exportName:r.exportName.trim(),filePath:r.filePath.trim(),kind:"wireRls",policies:r.policies.trim()}))},"C"),e[6]=r.exportName,e[7]=r.filePath,e[8]=r.policies,e[9]=S):S=e[9];let _=S,k;e[10]===Symbol.for("react.memo_cache_sentinel")?(k=d(()=>{f(null),s("scaffold")},"k"),e[10]=k):k=e[10];let x=k,c;e[11]===Symbol.for("react.memo_cache_sentinel")?(c=d(()=>{f(null),s("wire")},"c"),e[11]=c):c=e[11];let I=c,y;e[12]!==a?(y=a("Scaffold access rules"),e[12]=a,e[13]=y):y=e[13];let A;e[14]!==y?(A=(0,t.jsx)(fe,{children:y}),e[14]=y,e[15]=A):A=e[15];let P;e[16]!==a?(P=a("Writes a new deny-by-default policy file under lunora/, or wires one into a procedure, then reruns codegen. Local dev only."),e[16]=a,e[17]=P):P=e[17];let E;e[18]!==P?(E=(0,t.jsx)(ue,{children:P}),e[18]=P,e[19]=E):E=e[19];let L;e[20]!==E||e[21]!==A?(L=(0,t.jsxs)(pe,{children:[A,E]}),e[20]=E,e[21]=A,e[22]=L):L=e[22];let H=i==="scaffold"?"default":"outline",O;e[23]!==a?(O=a("New policy file"),e[23]=a,e[24]=O):O=e[24];let R;e[25]!==H||e[26]!==O?(R=(0,t.jsx)(F,{"data-testid":"policy-scaffolder-new",onClick:x,size:"xs",type:"button",variant:H,children:O}),e[25]=H,e[26]=O,e[27]=R):R=e[27];let m=i==="wire"?"default":"outline",u;e[28]!==a?(u=a("Wire into a procedure"),e[28]=a,e[29]=u):u=e[29];let q;e[30]!==m||e[31]!==u?(q=(0,t.jsx)(F,{"data-testid":"policy-scaffolder-wire",onClick:I,size:"xs",type:"button",variant:m,children:u}),e[30]=m,e[31]=u,e[32]=q):q=e[32];let D;e[33]!==R||e[34]!==q?(D=(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[R,q]}),e[33]=R,e[34]=q,e[35]=D):D=e[35];let J;e[36]!==l||e[37]!==r.policyName||e[38]!==r.tableName||e[39]!==i||e[40]!==w||e[41]!==a?(J=i==="scaffold"&&(0,t.jsxs)("div",{className:"mt-3 flex flex-wrap items-end gap-2","data-testid":"policy-scaffolder-new-form",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)(T,{htmlFor:"policy-scaffolder-name",children:a("Policy name")}),(0,t.jsx)($,{"data-testid":"policy-scaffolder-name",id:"policy-scaffolder-name",name:"policyName",onChange:g,value:r.policyName})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)(T,{htmlFor:"policy-scaffolder-table",children:a("Table name")}),(0,t.jsx)($,{"data-testid":"policy-scaffolder-table",id:"policy-scaffolder-table",name:"tableName",onChange:g,value:r.tableName})]}),(0,t.jsx)(F,{"data-testid":"policy-scaffolder-create",disabled:l||r.policyName.trim()===""||r.tableName.trim()==="",onClick:w,size:"xs",type:"button",children:a(l?"Creating\u2026":"Create policy file")}),(0,t.jsx)(F,{onClick:v,size:"xs",type:"button",variant:"ghost",children:a("Cancel")})]}),e[36]=l,e[37]=r.policyName,e[38]=r.tableName,e[39]=i,e[40]=w,e[41]=a,e[42]=J):J=e[42];let U;e[43]!==l||e[44]!==r.exportName||e[45]!==r.filePath||e[46]!==r.policies||e[47]!==i||e[48]!==_||e[49]!==a?(U=i==="wire"&&(0,t.jsxs)("div",{className:"mt-3 flex flex-wrap items-end gap-2","data-testid":"policy-scaffolder-wire-form",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)(T,{htmlFor:"policy-scaffolder-file",children:a("Procedure file path")}),(0,t.jsx)($,{"data-testid":"policy-scaffolder-file",id:"policy-scaffolder-file",name:"filePath",onChange:g,value:r.filePath})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)(T,{htmlFor:"policy-scaffolder-export",children:a("Exported procedure")}),(0,t.jsx)($,{"data-testid":"policy-scaffolder-export",id:"policy-scaffolder-export",name:"exportName",onChange:g,value:r.exportName})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)(T,{htmlFor:"policy-scaffolder-policies",children:a("Policy set identifier")}),(0,t.jsx)($,{"data-testid":"policy-scaffolder-policies",id:"policy-scaffolder-policies",name:"policies",onChange:g,value:r.policies})]}),(0,t.jsx)(F,{"data-testid":"policy-scaffolder-apply",disabled:l||r.filePath.trim()===""||r.exportName.trim()===""||r.policies.trim()==="",onClick:_,size:"xs",type:"button",children:a(l?"Wiring\u2026":"Wire RLS")}),(0,t.jsx)(F,{onClick:v,size:"xs",type:"button",variant:"ghost",children:a("Cancel")})]}),e[43]=l,e[44]=r.exportName,e[45]=r.filePath,e[46]=r.policies,e[47]=i,e[48]=_,e[49]=a,e[50]=U):U=e[50];let K;e[51]!==o?(K=o?.kind==="error"&&(0,t.jsx)("p",{className:"mt-3 text-sm text-destructive","data-testid":"policy-scaffolder-error",role:"alert",children:o.message}),e[51]=o,e[52]=K):K=e[52];let W;e[53]!==o?.kind||e[54]!==a?(W=o?.kind==="needs-manual-edit"&&(0,t.jsx)("p",{className:"mt-3 text-sm text-amber-600 dark:text-amber-500","data-testid":"policy-scaffolder-manual",role:"alert",children:a("This change must be made by hand \u2014 the scaffolder only adds new, deny-by-default rules.")}),e[53]=o?.kind,e[54]=a,e[55]=W):W=e[55];let B;e[56]!==o||e[57]!==a?(B=o?.kind==="ok"&&(0,t.jsxs)("div",{className:"mt-3 flex flex-col gap-1","data-testid":"policy-scaffolder-ok",children:[(0,t.jsx)("p",{className:"text-sm text-emerald-600 dark:text-emerald-500",children:a("Scaffolded {label} and reran codegen. Fill in the `when` predicates before relying on it.",{label:o.label})}),o.diagnostics.length>0&&(0,t.jsx)("ul",{className:"flex flex-col gap-0.5","data-testid":"policy-scaffolder-diagnostics",children:o.diagnostics.map(Ke)})]}),e[56]=o,e[57]=a,e[58]=B):B=e[58];let Q;e[59]!==D||e[60]!==J||e[61]!==U||e[62]!==K||e[63]!==W||e[64]!==B?(Q=(0,t.jsxs)(ne,{children:[D,J,U,K,W,B]}),e[59]=D,e[60]=J,e[61]=U,e[62]=K,e[63]=W,e[64]=B,e[65]=Q):Q=e[65];let X;return e[66]!==L||e[67]!==Q?(X=(0,t.jsxs)(se,{"data-testid":"policy-scaffolder",size:"sm",children:[L,Q]}),e[66]=L,e[67]=Q,e[68]=X):X=e[68],X},"Je");function Ke(e){return(0,t.jsx)("li",{className:"font-mono text-[11px] text-destructive",children:e},e)}d(Ke,"De");var st=d(({functions:e,runAsIdentity:a=!1,schemaEditable:i=!1}={})=>{let s=Y(),[l,n]=(0,p.useState)(void 0),o=d((f,r,b)=>{b!==""&&n(h=>({functionPath:b,nonce:(h?.nonce??0)+1}))},"o");return(0,t.jsxs)("div",{className:"flex flex-col gap-8","data-testid":"lunora-permissions",children:[(0,t.jsxs)("section",{className:"flex flex-col gap-3",children:[(0,t.jsx)("header",{className:"border-b border-border px-4 py-3",children:(0,t.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:s("Permissions")})}),(0,t.jsx)(Le,{onProbe:o})]}),(0,t.jsx)("section",{className:"flex flex-col gap-3",children:(0,t.jsxs)(se,{className:"gap-0 py-0",children:[(0,t.jsx)("header",{className:"border-b border-border px-4 py-3",children:(0,t.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:s("Probe")})}),(0,t.jsxs)(ne,{className:"px-4 py-4",children:[(0,t.jsx)("p",{className:"mb-3 text-sm text-muted-foreground",children:s("Pick a function and an identity, then run it to see the access outcome.")}),(0,t.jsx)($e,{functions:e,prefill:l,runAsIdentity:a})]})]})}),i&&(0,t.jsx)("section",{className:"flex flex-col gap-2",children:(0,t.jsx)(Ue,{})})]})},"nt");export{st as PermissionsPanel};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as me}from"./chunk-XF2B7P5A.js";import{R as ne}from"./chunk-CFPZYHPY.js";import"./chunk-7QIFDWQV.js";import{
|
|
1
|
+
import{a as me}from"./chunk-XF2B7P5A.js";import{R as ne}from"./chunk-CFPZYHPY.js";import"./chunk-7QIFDWQV.js";import{a as ee}from"./chunk-MWIKAR7F.js";import"./chunk-DJZYD5I5.js";import"./chunk-2OUPA2WJ.js";import"./chunk-6ST5ECQA.js";import"./chunk-XBDKZZ67.js";import{a as te,e as se}from"./chunk-WQH3LT2P.js";import{d as Z,h as ie,o as de,q as ce}from"./chunk-IUYFXK4X.js";import{a as h,e as Y,f as ge,g as xe,h as ye}from"./chunk-3XIESWL4.js";var re=Y(xe(),1),K=Y(ge(),1);var s=Y(ye(),1);var be=h(e=>{let t=(0,re.c)(23),{destination:r}=e,f=Z(),g;t[0]!==r.snippet?(g=h(()=>{ce(r.snippet)},"g"),t[0]=r.snippet,t[1]=g):g=t[1];let m=g,a;t[2]!==r.title?(a=(0,s.jsx)("h4",{className:"text-sm font-semibold",children:r.title}),t[2]=r.title,t[3]=a):a=t[3];let o;t[4]!==r.description?(o=(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:r.description}),t[4]=r.description,t[5]=o):o=t[5];let d;t[6]!==a||t[7]!==o?(d=(0,s.jsxs)("div",{children:[a,o]}),t[6]=a,t[7]=o,t[8]=d):d=t[8];let H=`drain-copy-${r.id}`,l;t[9]!==f?(l=f("Copy"),t[9]=f,t[10]=l):l=t[10];let n;t[11]!==m||t[12]!==H||t[13]!==l?(n=(0,s.jsx)(ee,{"data-testid":H,onClick:m,size:"sm",variant:"outline",children:l}),t[11]=m,t[12]=H,t[13]=l,t[14]=n):n=t[14];let i;t[15]!==d||t[16]!==n?(i=(0,s.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[d,n]}),t[15]=d,t[16]=n,t[17]=i):i=t[17];let c;t[18]!==r.snippet?(c=(0,s.jsx)("pre",{className:"mt-2 overflow-x-auto rounded bg-muted p-2 font-mono text-xs",children:r.snippet}),t[18]=r.snippet,t[19]=c):c=t[19];let x;return t[20]!==i||t[21]!==c?(x=(0,s.jsx)(te,{className:"py-0","data-testid":"drain-card",children:(0,s.jsxs)(se,{className:"p-3",children:[i,c]})}),t[20]=i,t[21]=c,t[22]=x):x=t[22],x},"he"),je=h(()=>{let e=(0,re.c)(88),t=Z(),r;e[0]!==t?(r=t("Stream every request log to R2, a SIEM, or a third-party log service."),e[0]=t,e[1]=r):r=e[1];let f;e[2]===Symbol.for("react.memo_cache_sentinel")?(f=["{",' "logpush": true',"}"],e[2]=f):f=e[2];let g=f.join(`
|
|
2
2
|
`),m;e[3]!==t?(m=t("Logpush"),e[3]=t,e[4]=m):m=e[4];let a;e[5]!==r||e[6]!==m?(a={description:r,id:"logpush",snippet:g,title:m},e[5]=r,e[6]=m,e[7]=a):a=e[7];let o;e[8]!==t?(o=t("Send logs programmatically to a Worker for custom capture and forwarding."),e[8]=t,e[9]=o):o=e[9];let d;e[10]===Symbol.for("react.memo_cache_sentinel")?(d=["{",' "tail_consumers": [{ "service": "my-log-forwarder" }]',"}"],e[10]=d):d=e[10];let H=d.join(`
|
|
3
3
|
`),l;e[11]!==t?(l=t("Tail Workers"),e[11]=t,e[12]=l):l=e[12];let n;e[13]!==o||e[14]!==l?(n={description:o,id:"tail-worker",snippet:H,title:l},e[13]=o,e[14]=l,e[15]=n):n=e[15];let i;e[16]!==t?(i=t("Retain and query recent request logs directly in Cloudflare's dashboard."),e[16]=t,e[17]=i):i=e[17];let c;e[18]===Symbol.for("react.memo_cache_sentinel")?(c=["{",' "observability": { "enabled": true }',"}"],e[18]=c):c=e[18];let x=c.join(`
|
|
4
4
|
`),y;e[19]!==t?(y=t("Workers Logs"),e[19]=t,e[20]=y):y=e[20];let b;e[21]!==i||e[22]!==y?(b={description:i,id:"workers-logs",snippet:x,title:y},e[21]=i,e[22]=y,e[23]=b):b=e[23];let J;e[24]!==b||e[25]!==a||e[26]!==n?(J=[a,n,b],e[24]=b,e[25]=a,e[26]=n,e[27]=J):J=e[27];let Q=J,[p,pe]=(0,K.useState)(""),[k,ae]=(0,K.useState)(!1),[u,$]=(0,K.useState)(null),A;if(e[28]!==t||e[29]!==p){let V=h(async()=>{let oe=p.trim();if(oe==="")return;let le="fetch"in globalThis?globalThis.fetch:void 0;if(le===void 0){$({kind:"error",message:t("fetch is unavailable in this environment.")});return}let fe={durationMs:12,function:"messages:list",outcome:"ok",shard:"root",source:"lunora",tablesRead:["messages"],tablesWritten:[],ts:new Date().toISOString(),type:"request"};ae(!0),$(null);let he=performance.now();try{let X=await le(oe,{body:JSON.stringify(fe),headers:{"Content-Type":"application/json"},method:"POST"});$({kind:"success",latencyMs:Math.round(performance.now()-he),status:X.status})}catch(X){$({kind:"error",message:ie(X)})}ae(!1)},"G");A=h(()=>{de(V())},"z"),e[28]=t,e[29]=p,e[30]=A}else A=e[30];let U=A,B;e[31]===Symbol.for("react.memo_cache_sentinel")?(B=h(V=>{pe(V.target.value)},"J"),e[31]=B):B=e[31];let ue=B,v;e[32]!==t?(v=t("Open in Cloudflare"),e[32]=t,e[33]=v):v=e[33];let w;e[34]!==v?(w=(0,s.jsx)("div",{className:"flex flex-wrap items-center gap-3",children:(0,s.jsx)("a",{className:"text-sm text-primary underline-offset-4 hover:underline","data-testid":"drain-cf-link",href:me,rel:"noreferrer",target:"_blank",children:v})}),e[34]=v,e[35]=w):w=e[35];let N;e[36]!==t?(N=t("Lunora does not ship logs itself \u2014 forwarding is handled by Cloudflare. Configure a destination below, then test your collector."),e[36]=t,e[37]=N):N=e[37];let S;e[38]!==N?(S=(0,s.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"drain-readonly-note",children:N}),e[38]=N,e[39]=S):S=e[39];let _;e[40]!==t?(_=t("Cloudflare destinations"),e[40]=t,e[41]=_):_=e[41];let C;e[42]!==_?(C=(0,s.jsx)("h3",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:_}),e[42]=_,e[43]=C):C=e[43];let j;e[44]!==Q?(j=Q.map(ke),e[44]=Q,e[45]=j):j=e[45];let T;e[46]!==C||e[47]!==j?(T=(0,s.jsxs)("section",{className:"flex flex-col gap-3","data-testid":"drain-destinations",children:[C,j]}),e[46]=C,e[47]=j,e[48]=T):T=e[48];let q;e[49]!==t?(q=t("Webhook test"),e[49]=t,e[50]=q):q=e[50];let M;e[51]!==q?(M=(0,s.jsx)("h3",{className:"mb-1 font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:q}),e[51]=q,e[52]=M):M=e[52];let O;e[53]!==t?(O=t("POST a sample Lunora request-log envelope to your collector to confirm it is reachable."),e[53]=t,e[54]=O):O=e[54];let W;e[55]!==O?(W=(0,s.jsx)("p",{className:"mb-2 text-sm text-muted-foreground",children:O}),e[55]=O,e[56]=W):W=e[56];let L;e[57]!==t?(L=t("https://example.com/logs"),e[57]=t,e[58]=L):L=e[58];let R;e[59]!==L||e[60]!==p?(R=(0,s.jsx)(ne,{className:"min-w-[20rem] flex-1","data-testid":"drain-webhook-url",onChange:ue,placeholder:L,type:"url",value:p}),e[59]=L,e[60]=p,e[61]=R):R=e[61];let D;e[62]!==k||e[63]!==p?(D=k||p.trim()==="",e[62]=k,e[63]=p,e[64]=D):D=e[64];let F;e[65]!==k||e[66]!==t?(F=t(k?"Sending\u2026":"Send test event"),e[65]=k,e[66]=t,e[67]=F):F=e[67];let I;e[68]!==U||e[69]!==D||e[70]!==F?(I=(0,s.jsx)(ee,{"data-testid":"drain-webhook-test",disabled:D,onClick:U,children:F}),e[68]=U,e[69]=D,e[70]=F,e[71]=I):I=e[71];let P;e[72]!==R||e[73]!==I?(P=(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[R,I]}),e[72]=R,e[73]=I,e[74]=P):P=e[74];let z;e[75]!==u||e[76]!==t?(z=u!==null&&(0,s.jsx)("p",{className:u.kind==="success"?"mt-2 text-sm text-muted-foreground":"mt-2 text-sm text-destructive","data-testid":"drain-webhook-result",role:u.kind==="error"?"alert":void 0,children:u.kind==="success"?t("Delivered \u2014 status {status} in {latency}ms",{latency:u.latencyMs,status:u.status}):t("Failed: {message}",{message:u.message})}),e[75]=u,e[76]=t,e[77]=z):z=e[77];let E;e[78]!==M||e[79]!==W||e[80]!==P||e[81]!==z?(E=(0,s.jsx)(te,{className:"py-0",children:(0,s.jsx)(se,{className:"p-3",children:(0,s.jsxs)("section",{"data-testid":"drain-webhook",children:[M,W,P,z]})})}),e[78]=M,e[79]=W,e[80]=P,e[81]=z,e[82]=E):E=e[82];let G;return e[83]!==w||e[84]!==S||e[85]!==T||e[86]!==E?(G=(0,s.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"log-drains",children:[w,S,T,E]}),e[83]=w,e[84]=S,e[85]=T,e[86]=E,e[87]=G):G=e[87],G},"_e");function ke(e){return(0,s.jsx)(be,{destination:e},e.id)}h(ke,"ge");export{je as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as Y}from"./chunk-Y32QIKBS.js";import{a as V}from"./chunk-3CWGJYBB.js";import{a as G}from"./chunk-RMN2JN4S.js";import{b as Q}from"./chunk-GRL5MG3Z.js";import{a as z}from"./chunk-SFDOII3B.js";import{e as P}from"./chunk-SMIESS7P.js";import"./chunk-7T7UOTYK.js";import"./chunk-CFPZYHPY.js";import"./chunk-T6VMSOBB.js";import"./chunk-7QIFDWQV.js";import{b as Z,c as ee}from"./chunk-PLFTCTMX.js";import{a as _,b as W}from"./chunk-YZ7OINPX.js";import{a as U}from"./chunk-MWIKAR7F.js";import"./chunk-DJZYD5I5.js";import"./chunk-2OUPA2WJ.js";import"./chunk-6ST5ECQA.js";import"./chunk-6IZBFC3G.js";import"./chunk-XXQUMVWH.js";import"./chunk-ZNNKWEH5.js";import"./chunk-QLQADHFE.js";import{a as I}from"./chunk-VDW32UET.js";import{c as M}from"./chunk-UP7OTXKF.js";import{f as B}from"./chunk-LYVP5PT6.js";import"./chunk-XBDKZZ67.js";import"./chunk-WJQLNYGX.js";import"./chunk-WQH3LT2P.js";import{d as A,f as H,g as K,o as k}from"./chunk-IUYFXK4X.js";import"./chunk-X7B6PLEW.js";import{a as l,e as L,f as fe,g as he,h as me}from"./chunk-3XIESWL4.js";var j=L(he(),1);var u=L(fe(),1);var $=L(me(),1);var pe=l(t=>{let{suggestedIndex:e,table:r}=t;return!(typeof r!="string"||r.length===0||typeof e!="object"||e===null||!Array.isArray(e.fields)||e.fields.length===0)},"pe"),be=l((t,e,r)=>{let a=`"${t}"`,n=`"${e}"`,o=r.map(c=>`"${c}"`).join(", ");return`CREATE INDEX IF NOT EXISTS ${n} ON ${a} (${o});`},"ge"),ge=l(t=>{let e=(0,j.c)(19),{fields:r,indexName:a,table:n,testId:o}=t,c=A(),[T,p]=(0,u.useState)(!1),f;e[0]!==r||e[1]!==a||e[2]!==n?(f=l(()=>{let S="navigator"in globalThis?globalThis.navigator.clipboard:void 0;if(S===void 0)return;let y=be(n,a,r);k(S.writeText(y)),p(!0)},"d"),e[0]=r,e[1]=a,e[2]=n,e[3]=f):f=e[3];let v=f;if(T){let S=`${o}-applied`,y;e[4]!==c?(y=c("CREATE INDEX SQL copied to clipboard."),e[4]=c,e[5]=y):y=e[5];let E;return e[6]!==S||e[7]!==y?(E=(0,$.jsx)("span",{className:"text-xs text-muted-foreground","data-testid":S,children:y}),e[6]=S,e[7]=y,e[8]=E):E=e[8],E}let w;e[9]!==c?(w=c("Apply?"),e[9]=c,e[10]=w):w=e[10];let h;e[11]!==c||e[12]!==n?(h=c("Apply index on {table}",{table:n}),e[11]=c,e[12]=n,e[13]=h):h=e[13];let x;return e[14]!==v||e[15]!==w||e[16]!==h||e[17]!==o?(x=(0,$.jsx)(Y,{confirmLabel:w,onConfirm:v,testId:o,children:h}),e[14]=v,e[15]=w,e[16]=h,e[17]=o,e[18]=x):x=e[18],x},"be"),ve=l((t,e)=>{let r=new Map;for(let a of e){let n=`${a.table} ${a.index}`;r.set(n,(r.get(n)??0)+a.reads)}return t.map(a=>({index:a.index,reads:r.get(`${a.table} ${a.index}`)??0,table:a.table}))},"xe"),xe=l(t=>{let e=new Map;for(let r of t)for(let a of r.scannedTables??[])e.set(a.table,(e.get(a.table)??0)+a.scans);return[...e].map(([r,a])=>({scans:a,table:r}))},"ye"),te=l((t,e)=>e.map(r=>({index:r.name,table:t})),"X"),ye=l(t=>{let e=ve(t.declaredIndexes??[],t.indexHits??[]),r=xe(t.functions??[]),a=t.shardTraffic??[],n=t.analyticsMetrics,o=n&&n.indexHits.length>0?n.indexHits:e,c=n&&n.tableScans.length>0?n.tableScans:r,T=n&&n.shardTraffic.length>0?n.shardTraffic:a,p=ee({indexHits:o,schema:{tables:[]},shardTraffic:T,tableScans:c},{lints:Z,source:"runtime"}),f=t.suppressHotScanTables;return(f===void 0?p:p.filter(v=>!(v.metadata.kind==="hot_scan"&&typeof v.metadata.table=="string"&&f.has(v.metadata.table)))).map(v=>_(v))},"ve"),we=H(I.listTables),Se=H(I.listTableIndexes),Te=H(I.listTablesIndexes),q=l(t=>`${(t*100).toFixed(1)}%`,"K"),ae=l(t=>`${(t/1e3).toFixed(2)}s`,"B"),$e=l(t=>{if(t.length<=1)return t[0]??"";let e=t[t.length-1]??"";return`${t.slice(0,-1).join(", ")} and ${e}`},"Te"),Ie=l((t,e)=>({"high-error-rate":t("High error rate"),"high-evictions":t("High cache eviction rate"),"high-write-contention":t("High write contention"),"low-cache-hit-rate":t("Low cache hit rate"),"missing-index":t("Missing index"),"slow-function":t("Slow function")})[e.kind],"Ie"),ne=l((t,e)=>({"high-error-rate":t("{rate} of calls failed.",{rate:q(e.value)}),"high-evictions":t("{count} entries evicted recently.",{count:e.value}),"high-write-contention":t("{rate} of calls hit a write conflict \u2014 consider sharding to cut contention.",{rate:q(e.value)}),"low-cache-hit-rate":t("{rate} hit rate over recent traffic.",{rate:q(e.value)}),"missing-index":t("Slowest call took {duration} \u2014 it full-scanned {tables} with no index.",{duration:ae(e.value),tables:$e(e.tables??[])}),"slow-function":t("Slowest call took {duration}.",{duration:ae(e.value)})})[e.kind],"J"),Ee=l(t=>{let e=(0,j.c)(10),{onJump:r,table:a}=t,n=A(),o;e[0]!==r||e[1]!==a?(o=l(()=>{r(a)},"o"),e[0]=r,e[1]=a,e[2]=o):o=e[2];let c=o,T=`in-add-index-${a}`,p;e[3]!==n||e[4]!==a?(p=n("Add index on {table}",{table:a}),e[3]=n,e[4]=a,e[5]=p):p=e[5];let f;return e[6]!==c||e[7]!==T||e[8]!==p?(f=(0,$.jsx)(U,{"data-testid":T,onClick:c,size:"sm",type:"button",variant:"outline",children:p}),e[6]=c,e[7]=T,e[8]=p,e[9]=f):f=e[9],f},"Ee"),De=l(({initialShardKey:t,loadShardTraffic:e})=>{let r=B(),a=P(),n=A(),{queryShardKey:o,setShardKey:c,shardKey:T}=V(t),[p,f]=(0,u.useState)(null),[v,w]=(0,u.useState)(null),h=(0,u.useRef)(""),x=M(I.getMetrics,{},{live:!0,shardKey:o}),S=M(I.getFunctionStats,{},{live:!0,shardKey:o}),y=M(I.getAdvisories,{},{live:!0,shardKey:o}),E=x.data??null,F=S.data?.functions??null,O=y.data?.advisories??null,re=x.data?.indexHits??null,R=x.error!==null&&S.error!==null?x.error:null,se=e??(s=>r.shardTraffic(s)),ie=l(async(s,b)=>{let i=s[0];if(i===void 0||i===""){h.current===b&&w(null);return}try{let m=await se(i);if(h.current!==b)return;let d=new Map;for(let g of m.shards)d.has(g.shardKey)||d.set(g.shardKey,{requests:g.requests,shardKey:g.shardKey});w([...d.values()])}catch{h.current===b&&w(null)}},"V"),oe=l(async(s,b)=>{let i=await Promise.allSettled(s.map(async d=>[d,await r.query(Se,{table:d},K(b))])),m=[];for(let d of i)if(d.status==="fulfilled"){let[g,N]=d.value;m.push(...te(g,N.indexes))}return m},"G"),D=(0,u.useEffectEvent)(async s=>{h.current=s;let b=[];try{let i=await r.query(we,{},K(s));if(h.current!==s)return;Q(s),b=i.map(d=>d.name);let m=[];if(b.length>0)try{let d=await r.query(Te,{tables:b},K(s));if(h.current!==s)return;for(let[g,N]of Object.entries(d.indexesByTable))m.push(...te(g,N))}catch{if(m=await oe(b,s),h.current!==s)return}f(m)}catch{h.current===s&&f(null)}await ie(b,s)});(0,u.useEffect)(()=>{k(D(o))},[o]);let le=(0,u.useEffectEvent)(()=>{x.refetch(),S.refetch(),y.refetch(),k(D(o))});(0,u.useEffect)(()=>{let s=l(()=>{document.visibilityState==="visible"&&le()},"i");return document.addEventListener("visibilitychange",s),()=>{document.removeEventListener("visibilitychange",s)}},[]);let J=(0,u.useCallback)(s=>{k(a({search:{table:s},to:"/schema"}))},[a]),C=z(E,F),ce=new Set(C.filter(s=>s.kind==="missing-index").flatMap(s=>s.tables??[])),X=ye({declaredIndexes:p??[],functions:F,indexHits:re,shardTraffic:v,suppressHotScanTables:ce}),de=(0,u.useMemo)(()=>{let s=C.map(i=>{let m=i.kind==="missing-index"?i.tables??[]:[];return{action:m.length>0?m.map(d=>(0,$.jsx)(Ee,{onJump:J,table:d},d)):void 0,description:i.message===void 0?ne(n,i):`${ne(n,i)} \u2014 ${i.message}`,entity:i.fn,issueType:Ie(n,i),key:`${i.kind}:${i.fn??""}`,level:i.severity}}),b=new Set(["unindexed_foreign_key","unindexed_relation_target"]);return[...(O??[]).map(i=>{let m=_(i);if(b.has(i.name)&&pe(i.metadata)){let{table:d,suggestedIndex:g}=i.metadata,N=`in-apply-index-${d}-${g.name}`;return{...m,action:(0,$.jsx)(ge,{fields:g.fields,indexName:g.name,table:d,testId:N})}}return m}),...X,...s]},[O,C,J,X,n]),ue=(0,$.jsx)(G,{onChange:c,testId:"in-shard-input",value:T});return(0,$.jsx)(W,{error:R,errorSource:R===null?void 0:x.errorSource,rows:de,testId:"lunora-insights",toolbar:ue})},"Je");export{De as InsightsPanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as Te,b as Pe}from"./chunk-LZFOZFYW.js";import{a as Ie}from"./chunk-VITTPKH5.js";import{a as ce}from"./chunk-K2E4OECF.js";import{a as Se}from"./chunk-ZJGP6EKR.js";import{b as Le}from"./chunk-AVAC26HJ.js";import{a as de}from"./chunk-XF2B7P5A.js";import{a as ke}from"./chunk-IGCNMZSB.js";import{a as ie}from"./chunk-FURI47Z2.js";import{a as xe}from"./chunk-3CWGJYBB.js";import{a as be}from"./chunk-RMN2JN4S.js";import{b as ve}from"./chunk-GRL5MG3Z.js";import"./chunk-SMIESS7P.js";import"./chunk-7T7UOTYK.js";import{R as j}from"./chunk-CFPZYHPY.js";import"./chunk-T6VMSOBB.js";import"./chunk-7QIFDWQV.js";import{a as pe}from"./chunk-MWIKAR7F.js";import"./chunk-DJZYD5I5.js";import"./chunk-2OUPA2WJ.js";import{b as re}from"./chunk-THIXMMZD.js";import"./chunk-6ST5ECQA.js";import{a as ye}from"./chunk-6IZBFC3G.js";import"./chunk-XXQUMVWH.js";import"./chunk-ZNNKWEH5.js";import"./chunk-QLQADHFE.js";import{a as ne}from"./chunk-VDW32UET.js";import{c as oe}from"./chunk-UP7OTXKF.js";import{f as ge}from"./chunk-LYVP5PT6.js";import"./chunk-XBDKZZ67.js";import{a as X}from"./chunk-XQCVZAGU.js";import{a as we,b as Ne,c as Ce,d as se,e as W,f as B}from"./chunk-WJQLNYGX.js";import{d as D,h as ae,i as fe,o as le}from"./chunk-IUYFXK4X.js";import"./chunk-X7B6PLEW.js";import{a as v,e as te,f as _e,g as Ae,h as Ue,j as V}from"./chunk-3XIESWL4.js";var K=te(Ae(),1);var R=te(_e(),1);var r=te(Ue(),1);var me=["trace","debug","log","info","warn","error","fatal"],ze="LOG_ARCHIVE_NOT_CONFIGURED",De={cursor:void 0,error:null,loading:!1,notConfigured:!1,rows:null},je=v((i,e)=>{switch(e.type){case"append":return{...i,cursor:e.cursor,error:null,loading:!1,rows:[...i.rows??[],...e.rows]};case"failed":return{cursor:void 0,error:e.message,loading:!1,notConfigured:!1,rows:null};case"loaded":return{cursor:e.cursor,error:null,loading:!1,notConfigured:!1,rows:e.rows};case"loading":return{...i,error:null,loading:!0,notConfigured:!1};case"notConfigured":return{cursor:void 0,error:null,loading:!1,notConfigured:!0,rows:null};case"pageFailed":return{...i,error:e.message,loading:!1};default:return i}},"je"),We=v(i=>{let e=(0,K.c)(33),{row:t}=i,n;e[0]!==t.fields?(n=ce(t.fields),e[0]=t.fields,e[1]=n):n=e[1];let s=n,o=`lg-archive-row-${String(t.ts)}`,c;e[2]!==t.ts?(c=new Date(t.ts).toLocaleString(),e[2]=t.ts,e[3]=c):c=e[3];let f;e[4]!==c?(f=(0,r.jsx)(B,{className:"tabular-nums whitespace-nowrap text-xs text-muted-foreground",children:c}),e[4]=c,e[5]=f):f=e[5];let m=Te[t.level],d;e[6]!==t.level||e[7]!==m?(d=(0,r.jsx)(B,{children:(0,r.jsx)(re,{variant:m,children:t.level})}),e[6]=t.level,e[7]=m,e[8]=d):d=e[8];let a;e[9]!==t.functionPath?(a=(0,r.jsx)(B,{className:"font-mono text-xs",children:t.functionPath}),e[9]=t.functionPath,e[10]=a):a=e[10];let h;e[11]!==t.message?(h=(0,r.jsx)("div",{className:"truncate",title:t.message,children:t.message}),e[11]=t.message,e[12]=h):h=e[12];let l;e[13]!==s?(l=s!==""&&(0,r.jsx)("div",{className:"truncate font-mono text-[11px] text-muted-foreground",title:s,children:s}),e[13]=s,e[14]=l):l=e[14];let u;e[15]!==h||e[16]!==l?(u=(0,r.jsxs)(B,{className:"max-w-md",children:[h,l]}),e[15]=h,e[16]=l,e[17]=u):u=e[17];let g=t.traceId??"\u2014",b;e[18]!==g?(b=(0,r.jsx)(B,{className:"font-mono text-[11px] text-muted-foreground",children:g}),e[18]=g,e[19]=b):b=e[19];let x=t.shardKey??"\u2014",w;e[20]!==x?(w=(0,r.jsx)(B,{className:"font-mono text-[11px] text-muted-foreground",children:x}),e[20]=x,e[21]=w):w=e[21];let N=t.userId??"\u2014",y;e[22]!==N?(y=(0,r.jsx)(B,{className:"font-mono text-[11px] text-muted-foreground",children:N}),e[22]=N,e[23]=y):y=e[23];let I;return e[24]!==u||e[25]!==b||e[26]!==w||e[27]!==y||e[28]!==o||e[29]!==f||e[30]!==d||e[31]!==a?(I=(0,r.jsxs)(se,{"data-testid":o,children:[f,d,a,u,b,w,y]}),e[24]=u,e[25]=b,e[26]=w,e[27]=y,e[28]=o,e[29]=f,e[30]=d,e[31]=a,e[32]=I):I=e[32],I},"Be"),Be=v(({shardKey:i})=>{let e=ge(),t=D(),[n,s]=(0,R.useState)(""),[o,c]=(0,R.useState)(""),[f,m]=(0,R.useState)(""),[{cursor:d,error:a,loading:h,notConfigured:l,rows:u},g]=(0,R.useReducer)(je,De),b=ie(n.trim(),400),x=ie(o.trim(),400),w={...b===""?{}:{functionPathPrefix:b},...f===""?{}:{minLevel:f},...i===""?{}:{shardKey:i},...x===""?{}:{userId:x}},N=JSON.stringify(w),y=(0,R.useRef)(N);(0,R.useEffect)(()=>{let p={cancelled:!1};return y.current=N,le((async()=>{g({type:"loading"});try{let C=await e.queryLogArchive(w);p.cancelled||g({cursor:C.nextCursor,rows:C.rows,type:"loaded"})}catch(C){p.cancelled||g(fe(C)===ze?{type:"notConfigured"}:{message:ae(C),type:"failed"})}})()),()=>{p.cancelled=!0}},[e,N]);let I=v(async()=>{if(d===void 0)return;let p=N;g({type:"loading"});try{let C=await e.queryLogArchive({...w,cursor:d});y.current===p&&g({cursor:C.nextCursor,rows:C.rows,type:"append"})}catch(C){y.current===p&&g({message:ae(C),type:"pageFailed"})}},"k"),P=v(p=>{s(p.target.value)},"I"),L=v(p=>{c(p.target.value)},"L"),k=v(p=>{m(p.target.value)},"C"),S=v(()=>{le(I())},"S");return l?(0,r.jsx)(X,{action:(0,r.jsx)("a",{className:"text-sm text-primary underline-offset-4 hover:underline",href:de,rel:"noreferrer",target:"_blank",children:t("Open in Cloudflare")}),description:t("Wire pipelineLogSink to a Cloudflare Pipeline \u2192 R2 Data Catalog table and set R2_SQL_ACCOUNT_ID, R2_SQL_TOKEN, R2_SQL_BUCKET to browse the durable log archive here."),testId:"lg-archive-not-configured",title:t("Log archive not configured")}):(0,r.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lg-archive",children:[(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,r.jsx)(j,{"aria-label":t("Function path prefix"),className:"h-8 w-48","data-testid":"lg-archive-path",onChange:P,placeholder:t("function path\u2026"),value:n}),(0,r.jsx)(j,{"aria-label":t("User id"),className:"h-8 w-40","data-testid":"lg-archive-user",onChange:L,placeholder:t("user id\u2026"),value:o}),(0,r.jsxs)("select",{"aria-label":t("Minimum level"),className:"h-8 rounded-md border border-border bg-background px-2 text-sm","data-testid":"lg-archive-min-level",onChange:k,value:f,children:[(0,r.jsx)("option",{value:"",children:t("min level")}),me.map(p=>(0,r.jsx)("option",{value:p,children:p},p))]})]}),a!==null&&(0,r.jsx)("p",{className:"text-sm text-destructive","data-testid":"lg-archive-error",role:"alert",children:a}),h&&u===null&&a===null&&(0,r.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"lg-archive-loading",children:t("Loading\u2026")}),u!==null&&u.length===0&&(0,r.jsx)(X,{description:t("No archived logs match these filters. The durable archive fills as pipelineLogSink flushes records to R2."),testId:"lg-archive-empty",title:t("No archived logs.")}),u!==null&&u.length>0&&(0,r.jsx)("div",{className:"overflow-hidden rounded-xl border border-border shadow-xs",children:(0,r.jsxs)(we,{"data-testid":"lg-archive-table",children:[(0,r.jsx)(Ne,{children:(0,r.jsxs)(se,{children:[(0,r.jsx)(W,{children:t("Time")}),(0,r.jsx)(W,{children:t("Level")}),(0,r.jsx)(W,{children:t("Function")}),(0,r.jsx)(W,{children:t("Message")}),(0,r.jsx)(W,{children:t("Trace")}),(0,r.jsx)(W,{children:t("Shard")}),(0,r.jsx)(W,{children:t("User")})]})}),(0,r.jsx)(Ce,{children:u.map((p,C)=>(0,r.jsx)(We,{row:p},`${String(p.ts)}-${String(C)}`))})]})}),d!==void 0&&(0,r.jsx)("div",{children:(0,r.jsx)(pe,{"data-testid":"lg-archive-more",disabled:h,onClick:S,size:"sm",variant:"outline",children:t(h?"Loading\u2026":"Load more")})})]})},"ze"),Ve=v(i=>{let e=(0,K.c)(11),{level:t,onToggle:n,selected:s}=i,o;e[0]!==t||e[1]!==n?(o=v(()=>{n(t)},"o"),e[0]=t,e[1]=n,e[2]=o):o=e[2];let c=o,f=s?"border-border bg-muted font-medium":"border-input text-muted-foreground",m;e[3]!==f?(m=V("rounded-md border px-2 py-1 text-xs",f),e[3]=f,e[4]=m):m=e[4];let d=`logs-level-${t}`,a;return e[5]!==t||e[6]!==c||e[7]!==s||e[8]!==m||e[9]!==d?(a=(0,r.jsx)("button",{"aria-pressed":s,className:m,"data-testid":d,onClick:c,type:"button",children:t}),e[5]=t,e[6]=c,e[7]=s,e[8]=m,e[9]=d,e[10]=a):a=e[10],a},"Ge"),Qe=v(i=>{let e=(0,K.c)(68),{levelFilter:t,onLogPathChange:n,onSearchChange:s,onTimeRangeChange:o,onToggleLevel:c,onToggleSummary:f,pathFilter:m,search:d,showSummary:a,timeRange:h}=i,l=D(),u;e[0]!==l?(u=l("Search messages"),e[0]=l,e[1]=u):u=e[1];let g;e[2]!==l?(g=l("search message"),e[2]=l,e[3]=g):g=e[3];let b;e[4]!==s||e[5]!==d||e[6]!==u||e[7]!==g?(b=(0,r.jsx)(j,{"aria-label":u,className:"h-8 w-48","data-testid":"lg-search",onChange:s,placeholder:g,value:d}),e[4]=s,e[5]=d,e[6]=u,e[7]=g,e[8]=b):b=e[8];let x;e[9]!==l?(x=l("Function path"),e[9]=l,e[10]=x):x=e[10];let w;e[11]!==l?(w=l("filter path"),e[11]=l,e[12]=w):w=e[12];let N;e[13]!==n||e[14]!==m||e[15]!==x||e[16]!==w?(N=(0,r.jsx)(j,{"aria-label":x,className:"h-8 w-40","data-testid":"logs-path-filter",onChange:n,placeholder:w,value:m}),e[13]=n,e[14]=m,e[15]=x,e[16]=w,e[17]=N):N=e[17];let y;e[18]!==l?(y=l("Level filter"),e[18]=l,e[19]=y):y=e[19];let I;e[20]!==t||e[21]!==c?(I=me.map(Y=>(0,r.jsx)(Ve,{level:Y,onToggle:c,selected:t.has(Y)},Y)),e[20]=t,e[21]=c,e[22]=I):I=e[22];let P;e[23]!==y||e[24]!==I?(P=(0,r.jsx)("div",{"aria-label":y,className:"inline-flex items-center gap-1","data-testid":"logs-level-filter",role:"group",children:I}),e[23]=y,e[24]=I,e[25]=P):P=e[25];let L;e[26]!==l?(L=l("Time range"),e[26]=l,e[27]=L):L=e[27];let k;e[28]!==l?(k=l("All time"),e[28]=l,e[29]=k):k=e[29];let S;e[30]!==k?(S=(0,r.jsx)("option",{value:"all",children:k}),e[30]=k,e[31]=S):S=e[31];let p;e[32]!==l?(p=l("Last 5m"),e[32]=l,e[33]=p):p=e[33];let C;e[34]!==p?(C=(0,r.jsx)("option",{value:"5m",children:p}),e[34]=p,e[35]=C):C=e[35];let q;e[36]!==l?(q=l("Last 15m"),e[36]=l,e[37]=q):q=e[37];let F;e[38]!==q?(F=(0,r.jsx)("option",{value:"15m",children:q}),e[38]=q,e[39]=F):F=e[39];let E;e[40]!==l?(E=l("Last hour"),e[40]=l,e[41]=E):E=e[41];let O;e[42]!==E?(O=(0,r.jsx)("option",{value:"1h",children:E}),e[42]=E,e[43]=O):O=e[43];let M;e[44]!==o||e[45]!==L||e[46]!==S||e[47]!==C||e[48]!==F||e[49]!==O||e[50]!==h?(M=(0,r.jsxs)("select",{"aria-label":L,className:"h-8 rounded-md border border-input bg-transparent px-2 text-sm shadow-xs focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none","data-testid":"logs-time-range",onChange:o,value:h,children:[S,C,F,O]}),e[44]=o,e[45]=L,e[46]=S,e[47]=C,e[48]=F,e[49]=O,e[50]=h,e[51]=M):M=e[51];let Q=a?"border-border bg-muted font-medium":"border-input text-muted-foreground",_;e[52]!==Q?(_=V("h-8 rounded-md border px-3 text-sm",Q),e[52]=Q,e[53]=_):_=e[53];let U;e[54]!==a||e[55]!==l?(U=l(a?"List":"Summary"),e[54]=a,e[55]=l,e[56]=U):U=e[56];let A;e[57]!==f||e[58]!==a||e[59]!==_||e[60]!==U?(A=(0,r.jsx)("button",{"aria-pressed":a,className:_,"data-testid":"logs-summary-toggle",onClick:f,type:"button",children:U}),e[57]=f,e[58]=a,e[59]=_,e[60]=U,e[61]=A):A=e[61];let z;return e[62]!==M||e[63]!==A||e[64]!==b||e[65]!==N||e[66]!==P?(z=(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[b,N,P,M,A]}),e[62]=M,e[63]=A,e[64]=b,e[65]=N,e[66]=P,e[67]=z):z=e[67],z},"We"),Ye=v(i=>{let e=(0,K.c)(53),{onOutcomeChange:t,onPathChange:n,onTableChange:s,onUserChange:o,outcomeFilter:c,pathPrefix:f,tableFilter:m,userIdFilter:d}=i,a=D(),h;e[0]!==a?(h=a("Function path"),e[0]=a,e[1]=h):h=e[1];let l;e[2]!==a?(l=a("file:function"),e[2]=a,e[3]=l):l=e[3];let u;e[4]!==n||e[5]!==f||e[6]!==h||e[7]!==l?(u=(0,r.jsx)(j,{"aria-label":h,className:"h-8 w-44","data-testid":"lg-req-path",onChange:n,placeholder:l,value:f}),e[4]=n,e[5]=f,e[6]=h,e[7]=l,e[8]=u):u=e[8];let g;e[9]!==a?(g=a("User id"),e[9]=a,e[10]=g):g=e[10];let b;e[11]!==a?(b=a("userId"),e[11]=a,e[12]=b):b=e[12];let x;e[13]!==o||e[14]!==g||e[15]!==b||e[16]!==d?(x=(0,r.jsx)(j,{"aria-label":g,className:"h-8 w-32","data-testid":"lg-req-user",onChange:o,placeholder:b,value:d}),e[13]=o,e[14]=g,e[15]=b,e[16]=d,e[17]=x):x=e[17];let w;e[18]!==a?(w=a("Table touched"),e[18]=a,e[19]=w):w=e[19];let N;e[20]!==a?(N=a("table"),e[20]=a,e[21]=N):N=e[21];let y;e[22]!==s||e[23]!==w||e[24]!==N||e[25]!==m?(y=(0,r.jsx)(j,{"aria-label":w,className:"h-8 w-32","data-testid":"lg-req-table",onChange:s,placeholder:N,value:m}),e[22]=s,e[23]=w,e[24]=N,e[25]=m,e[26]=y):y=e[26];let I;e[27]!==a?(I=a("Outcome filter"),e[27]=a,e[28]=I):I=e[28];let P;e[29]!==a?(P=a("all"),e[29]=a,e[30]=P):P=e[30];let L;e[31]!==P?(L=(0,r.jsx)("option",{value:"all",children:P}),e[31]=P,e[32]=L):L=e[32];let k;e[33]!==a?(k=a("ok"),e[33]=a,e[34]=k):k=e[34];let S;e[35]!==k?(S=(0,r.jsx)("option",{value:"ok",children:k}),e[35]=k,e[36]=S):S=e[36];let p;e[37]!==a?(p=a("error"),e[37]=a,e[38]=p):p=e[38];let C;e[39]!==p?(C=(0,r.jsx)("option",{value:"error",children:p}),e[39]=p,e[40]=C):C=e[40];let q;e[41]!==t||e[42]!==c||e[43]!==I||e[44]!==L||e[45]!==S||e[46]!==C?(q=(0,r.jsxs)("select",{"aria-label":I,className:"h-8 rounded-md border border-input bg-transparent px-2 text-sm shadow-xs focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none","data-testid":"lg-req-outcome",onChange:t,value:c,children:[L,S,C]}),e[41]=t,e[42]=c,e[43]=I,e[44]=L,e[45]=S,e[46]=C,e[47]=q):q=e[47];let F;return e[48]!==q||e[49]!==u||e[50]!==x||e[51]!==y?(F=(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[u,x,y,q]}),e[48]=q,e[49]=u,e[50]=x,e[51]=y,e[52]=F):F=e[52],F},"Ye"),Fe=v(i=>{let e=(0,K.c)(7),{bucket:t}=i,n;e[0]!==t.key?(n=(0,r.jsx)("span",{className:"truncate text-muted-foreground",role:"gridcell",children:t.key}),e[0]=t.key,e[1]=n):n=e[1];let s;e[2]!==t.count?(s=(0,r.jsx)("span",{className:"shrink-0 tabular-nums",role:"gridcell",children:t.count}),e[2]=t.count,e[3]=s):s=e[3];let o;return e[4]!==n||e[5]!==s?(o=(0,r.jsxs)("div",{className:"flex items-center justify-between gap-4 px-3 py-1 font-mono text-xs","data-testid":"logs-summary-row",role:"row",children:[n,s]}),e[4]=n,e[5]=s,e[6]=o):o=e[6],o},"ve"),Ge=v(i=>{let e=(0,K.c)(31),{summary:t}=i,n=D(),s;e[0]!==t.total||e[1]!==n?(s=n("{count} entries",{count:t.total}),e[0]=t.total,e[1]=n,e[2]=s):s=e[2];let o;e[3]!==s?(o=(0,r.jsx)("p",{className:"text-xs text-muted-foreground","data-testid":"logs-summary-total",children:s}),e[3]=s,e[4]=o):o=e[4];let c;e[5]!==n?(c=n("By level"),e[5]=n,e[6]=c):c=e[6];let f;e[7]!==c?(f=(0,r.jsx)("h4",{className:"mb-1 font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:c}),e[7]=c,e[8]=f):f=e[8];let m;e[9]!==t.byLevel?(m=t.byLevel.map(He),e[9]=t.byLevel,e[10]=m):m=e[10];let d;e[11]!==m?(d=(0,r.jsx)("div",{className:"overflow-hidden rounded-lg border border-border","data-testid":"logs-summary-levels",role:"grid",children:m}),e[11]=m,e[12]=d):d=e[12];let a;e[13]!==f||e[14]!==d?(a=(0,r.jsxs)("div",{children:[f,d]}),e[13]=f,e[14]=d,e[15]=a):a=e[15];let h;e[16]!==n?(h=n("By function"),e[16]=n,e[17]=h):h=e[17];let l;e[18]!==h?(l=(0,r.jsx)("h4",{className:"mb-1 font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:h}),e[18]=h,e[19]=l):l=e[19];let u;e[20]!==t.byPath?(u=t.byPath.map(Je),e[20]=t.byPath,e[21]=u):u=e[21];let g;e[22]!==u?(g=(0,r.jsx)("div",{className:"overflow-hidden rounded-lg border border-border","data-testid":"logs-summary-paths",role:"grid",children:u}),e[22]=u,e[23]=g):g=e[23];let b;e[24]!==g||e[25]!==l?(b=(0,r.jsxs)("div",{children:[l,g]}),e[24]=g,e[25]=l,e[26]=b):b=e[26];let x;return e[27]!==b||e[28]!==o||e[29]!==a?(x=(0,r.jsxs)("div",{className:"flex flex-col gap-4 rounded-xl border border-border bg-card p-4 shadow-xs","data-testid":"logs-summary",children:[o,a,b]}),e[27]=b,e[28]=o,e[29]=a,e[30]=x):x=e[30],x},"Qe");function He(i){return(0,r.jsx)(Fe,{bucket:i},i.key)}v(He,"He");function Je(i){return(0,r.jsx)(Fe,{bucket:i},i.key)}v(Je,"Je");var Xe=v(i=>{let e=(0,K.c)(46),{liveError:t,onShardKeyChange:n,onShowArchive:s,onShowErrors:o,onShowRequests:c,shardKey:f,view:m}=i,d=D(),a=m==="requests",h=m==="requests"?"bg-muted font-medium":"text-muted-foreground",l;e[0]!==h?(l=V("px-3 py-1 text-sm",h),e[0]=h,e[1]=l):l=e[1];let u;e[2]!==d?(u=d("Requests"),e[2]=d,e[3]=u):u=e[3];let g;e[4]!==c||e[5]!==a||e[6]!==l||e[7]!==u?(g=(0,r.jsx)("button",{"aria-selected":a,className:l,"data-testid":"lg-view-requests",onClick:c,role:"tab",type:"button",children:u}),e[4]=c,e[5]=a,e[6]=l,e[7]=u,e[8]=g):g=e[8];let b=m==="errors",x=m==="errors"?"bg-muted font-medium":"text-muted-foreground",w;e[9]!==x?(w=V("px-3 py-1 text-sm",x),e[9]=x,e[10]=w):w=e[10];let N;e[11]!==d?(N=d("Errors"),e[11]=d,e[12]=N):N=e[12];let y;e[13]!==o||e[14]!==b||e[15]!==w||e[16]!==N?(y=(0,r.jsx)("button",{"aria-selected":b,className:w,"data-testid":"lg-view-errors",onClick:o,role:"tab",type:"button",children:N}),e[13]=o,e[14]=b,e[15]=w,e[16]=N,e[17]=y):y=e[17];let I=m==="archive",P=m==="archive"?"bg-muted font-medium":"text-muted-foreground",L;e[18]!==P?(L=V("px-3 py-1 text-sm",P),e[18]=P,e[19]=L):L=e[19];let k;e[20]!==d?(k=d("Archive"),e[20]=d,e[21]=k):k=e[21];let S;e[22]!==s||e[23]!==I||e[24]!==L||e[25]!==k?(S=(0,r.jsx)("button",{"aria-selected":I,className:L,"data-testid":"lg-view-archive",onClick:s,role:"tab",type:"button",children:k}),e[22]=s,e[23]=I,e[24]=L,e[25]=k,e[26]=S):S=e[26];let p;e[27]!==y||e[28]!==S||e[29]!==g?(p=(0,r.jsxs)("div",{className:"inline-flex overflow-hidden rounded-lg border border-border",role:"tablist",children:[g,y,S]}),e[27]=y,e[28]=S,e[29]=g,e[30]=p):p=e[30];let C;e[31]!==n||e[32]!==f?(C=(0,r.jsx)(be,{onChange:n,testId:"lg-shard-input",value:f}),e[31]=n,e[32]=f,e[33]=C):C=e[33];let q;e[34]!==t||e[35]!==m?(q=m!=="archive"&&(0,r.jsx)(ke,{message:t,prefix:"lg"}),e[34]=t,e[35]=m,e[36]=q):q=e[36];let F;e[37]!==d?(F=d("Open in Cloudflare"),e[37]=d,e[38]=F):F=e[38];let E;e[39]!==F?(E=(0,r.jsx)("a",{className:"text-sm text-primary underline-offset-4 hover:underline","data-testid":"lg-cf-link",href:de,rel:"noreferrer",target:"_blank",children:F}),e[39]=F,e[40]=E):E=e[40];let O;return e[41]!==p||e[42]!==C||e[43]!==q||e[44]!==E?(O=(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[p,C,q,E]}),e[41]=p,e[42]=C,e[43]=q,e[44]=E,e[45]=O):O=e[45],O},"Xe"),ue=400,Ze=36,$e={height:ue,overflow:"auto"},Ee={left:0,position:"absolute",top:0,width:"100%"},et={error:"destructive",ok:"secondary"},Oe=v(i=>{let e=(0,K.c)(6),{onOpenTrace:t,traceId:n}=i,s=D(),o;e[0]!==t||e[1]!==s||e[2]!==n?(o=n===void 0?null:(0,r.jsx)("button",{className:"text-primary underline-offset-2 hover:underline","data-testid":"lg-trace-link",onClick:v(()=>{t(n)},"onClick"),type:"button",children:s("Trace")}),e[0]=t,e[1]=s,e[2]=n,e[3]=o):o=e[3];let c;return e[4]!==o?(c=(0,r.jsx)("span",{className:"w-16 shrink-0 text-right",role:"gridcell",children:o}),e[4]=o,e[5]=c):c=e[5],c},"xe"),tt=v(i=>{let e=(0,K.c)(13),{entry:t,index:n,measureRef:s,onOpenTrace:o,start:c}=i,f=`translateY(${String(c)}px)`,m;e[0]!==f?(m={...Ee,transform:f},e[0]=f,e[1]=m):m=e[1];let d=m,a;e[2]!==t?(a=(0,r.jsx)(Pe,{entry:t}),e[2]=t,e[3]=a):a=e[3];let h;e[4]!==t.traceId||e[5]!==o?(h=(0,r.jsx)(Oe,{onOpenTrace:o,traceId:t.traceId}),e[4]=t.traceId,e[5]=o,e[6]=h):h=e[6];let l;return e[7]!==n||e[8]!==s||e[9]!==d||e[10]!==a||e[11]!==h?(l=(0,r.jsxs)("div",{className:"flex items-center border-b border-border px-3 py-1.5 font-mono text-xs hover:bg-muted/50","data-index":n,"data-testid":"lg-row",ref:s,role:"row",style:d,children:[a,h]}),e[7]=n,e[8]=s,e[9]=d,e[10]=a,e[11]=h,e[12]=l):l=e[12],l},"rt"),Re=v(i=>i.length===0?"\u2014":i.join(", "),"de"),rt=v(i=>{let e=(0,K.c)(41),{entry:t,index:n,measureRef:s,onOpenTrace:o,start:c}=i,f=`translateY(${String(c)}px)`,m;e[0]!==f?(m={...Ee,transform:f},e[0]=f,e[1]=m):m=e[1];let d=m,a;e[2]!==t.ts?(a=new Date(t.ts).toLocaleString(),e[2]=t.ts,e[3]=a):a=e[3];let h;e[4]!==a?(h=(0,r.jsx)("span",{className:"w-40 shrink-0 tabular-nums text-muted-foreground",role:"gridcell",children:a}),e[4]=a,e[5]=h):h=e[5];let l=et[t.outcome],u;e[6]!==t.outcome||e[7]!==l?(u=(0,r.jsx)("span",{className:"w-16 shrink-0",role:"gridcell",children:(0,r.jsx)(re,{variant:l,children:t.outcome})}),e[6]=t.outcome,e[7]=l,e[8]=u):u=e[8];let g;e[9]!==t.functionPath?(g=(0,r.jsx)("span",{className:"w-44 shrink-0 truncate",role:"gridcell",title:t.functionPath,children:t.functionPath}),e[9]=t.functionPath,e[10]=g):g=e[10];let b=t.shardKey??"\u2014",x;e[11]!==b?(x=(0,r.jsx)("span",{className:"w-24 shrink-0 truncate text-muted-foreground",role:"gridcell",children:b}),e[11]=b,e[12]=x):x=e[12];let w=t.userId??"\u2014",N;e[13]!==w?(N=(0,r.jsx)("span",{className:"w-24 shrink-0 truncate text-muted-foreground",role:"gridcell",children:w}),e[13]=w,e[14]=N):N=e[14];let y;e[15]!==t.durationMs?(y=Math.round(t.durationMs),e[15]=t.durationMs,e[16]=y):y=e[16];let I=`${String(y)}ms`,P;e[17]!==I?(P=(0,r.jsx)("span",{className:"w-16 shrink-0 tabular-nums text-muted-foreground",role:"gridcell",children:I}),e[17]=I,e[18]=P):P=e[18];let L;e[19]!==t.errorMessage||e[20]!==t.outcome||e[21]!==t.tablesRead||e[22]!==t.tablesWritten?(L=t.outcome==="error"&&t.errorMessage!==void 0?t.errorMessage:`r:${Re(t.tablesRead)} \xB7 w:${Re(t.tablesWritten)}`,e[19]=t.errorMessage,e[20]=t.outcome,e[21]=t.tablesRead,e[22]=t.tablesWritten,e[23]=L):L=e[23];let k;e[24]!==L?(k=(0,r.jsx)("span",{className:"flex-1 truncate text-muted-foreground",role:"gridcell",children:L}),e[24]=L,e[25]=k):k=e[25];let S;e[26]!==t.traceId||e[27]!==o?(S=(0,r.jsx)(Oe,{onOpenTrace:o,traceId:t.traceId}),e[26]=t.traceId,e[27]=o,e[28]=S):S=e[28];let p;return e[29]!==n||e[30]!==s||e[31]!==d||e[32]!==N||e[33]!==P||e[34]!==k||e[35]!==S||e[36]!==h||e[37]!==u||e[38]!==g||e[39]!==x?(p=(0,r.jsxs)("div",{className:"flex items-center border-b border-border px-3 py-1.5 font-mono text-xs hover:bg-muted/50","data-index":n,"data-testid":"lg-req-row",ref:s,role:"row",style:d,children:[h,u,g,x,N,P,k,S]}),e[29]=n,e[30]=s,e[31]=d,e[32]=N,e[33]=P,e[34]=k,e[35]=S,e[36]=h,e[37]=u,e[38]=g,e[39]=x,e[40]=p):p=e[40],p},"at"),qe=v(i=>{let{entries:e}=i??{};return Array.isArray(e)?e:[]},"ce"),at=v(i=>{let e={};return i.functionPathPrefix.trim()!==""&&(e.functionPathPrefix=i.functionPathPrefix.trim()),i.userId.trim()!==""&&(e.userId=i.userId.trim()),i.tableTouched.trim()!==""&&(e.tableTouched=i.tableTouched.trim()),(i.outcome==="ok"||i.outcome==="error")&&(e.outcome=i.outcome),e},"lt"),lt={"5m":300*1e3,"15m":900*1e3,"1h":3600*1e3},ot=v((i,e)=>{let t=e.search.trim().toLowerCase(),n=e.path.trim().toLowerCase(),s=e.range==="all"?Number.NEGATIVE_INFINITY:e.now-lt[e.range];return i.filter(o=>e.levels.size>0&&!e.levels.has(o.level)||o.timestamp<s||n!==""&&!(o.functionPath??"").toLowerCase().includes(n)?!1:t===""||o.message.toLowerCase().includes(t)||ce(o.fields).toLowerCase().includes(t))},"nt"),nt="\u2014",st=v(i=>{let e=new Map,t=new Map;for(let o of i){e.set(o.level,(e.get(o.level)??0)+1);let c=o.functionPath??nt;t.set(c,(t.get(c)??0)+1)}let n=me.filter(o=>e.has(o)).map(o=>({count:e.get(o)??0,key:o})),s=[...t.entries()].map(([o,c])=>({count:c,key:o})).toSorted((o,c)=>c.count===o.count?o.key.localeCompare(c.key):c.count-o.count);return{byLevel:n,byPath:s,total:i.length}},"it"),qt=v(({initialShardKey:i})=>{let e=D(),[t,n]=(0,R.useState)("requests"),{queryShardKey:s,setShardKey:o,shardKey:c}=xe(i),[f,m]=(0,R.useState)(""),[d,a]=(0,R.useState)(()=>new Set),[h,l]=(0,R.useState)(""),[u,g]=(0,R.useState)("all"),[b,x]=(0,R.useState)(!1),[w,N]=(0,R.useState)(""),[y,I]=(0,R.useState)(""),[P,L]=(0,R.useState)(""),[k,S]=(0,R.useState)("all"),p=at({functionPathPrefix:w,outcome:k,tableTouched:P,userId:y}),C=oe(ne.getRequestLog,p,{enabled:t==="requests",live:!0,shardKey:s}),q=oe(ne.getLogs,{},{enabled:t==="errors",live:!0,shardKey:s}),F=t==="requests"?C:q,{error:E,errorSource:O,isLoading:M,liveError:Q}=F,_=Ie(s),U=qe(q.data),A=qe(C.data);(0,R.useEffect)(()=>{F.data!==void 0&&ve(s)},[F.data,s]);let z=ot(U,{levels:d,now:Date.now(),path:h,range:u,search:f}),Y=st(z),Z=t==="requests"?A.length:z.length,$=t==="errors"&&b,G=(0,R.useMemo)(()=>E!==null?"error":Z===0?M?$?"summary":"list":"empty":$?"summary":"list",[Z,M,E,$]),he=(0,R.useRef)(null),H=Le({count:Z,estimateSize:v(()=>Ze,"estimateSize"),getScrollElement:v(()=>he.current,"getScrollElement"),initialRect:{height:ue,width:800},observeElementRect:v((T,ee)=>Se(T,ee,ue),"observeElementRect"),overscan:8}),Ke=H.getVirtualItems(),Me={height:H.getTotalSize(),position:"relative",width:"100%"};return(0,r.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-logs",children:[(0,r.jsx)(Xe,{liveError:Q,onShardKeyChange:o,onShowArchive:v(()=>{n("archive"),x(!1)},"onShowArchive"),onShowErrors:v(()=>{n("errors"),x(!1)},"onShowErrors"),onShowRequests:v(()=>{n("requests"),x(!1)},"onShowRequests"),shardKey:c,view:t}),t==="errors"&&(0,r.jsx)(Qe,{levelFilter:d,onLogPathChange:v(T=>{l(T.target.value)},"onLogPathChange"),onSearchChange:v(T=>{m(T.target.value)},"onSearchChange"),onTimeRangeChange:v(T=>{g(T.target.value)},"onTimeRangeChange"),onToggleLevel:v(T=>{a(ee=>{let J=new Set(ee);return J.has(T)?J.delete(T):J.add(T),J})},"onToggleLevel"),onToggleSummary:v(()=>{x(T=>!T)},"onToggleSummary"),pathFilter:h,search:f,showSummary:b,timeRange:u}),t==="requests"&&(0,r.jsx)(Ye,{onOutcomeChange:v(T=>{S(T.target.value)},"onOutcomeChange"),onPathChange:v(T=>{N(T.target.value)},"onPathChange"),onTableChange:v(T=>{L(T.target.value)},"onTableChange"),onUserChange:v(T=>{I(T.target.value)},"onUserChange"),outcomeFilter:k,pathPrefix:w,tableFilter:P,userIdFilter:y}),t==="archive"?(0,r.jsx)(Be,{shardKey:s}):(0,r.jsxs)(r.Fragment,{children:[G==="error"&&(0,r.jsx)(ye,{error:O,testId:"lg-error"}),G==="empty"&&(0,r.jsx)(X,{description:e("Function and request logs for this shard show up here as your app handles traffic."),icon:(0,r.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,r.jsx)("path",{d:"M4 5h16M4 12h16M4 19h10"})}),testId:"lg-empty",title:e("No logs.")}),G==="summary"&&(0,r.jsx)(Ge,{summary:Y}),G==="list"&&(0,r.jsx)("div",{className:"rounded-xl border border-border shadow-xs","data-testid":"lg-scroll",ref:he,style:$e,children:(0,r.jsx)("div",{"aria-label":e("Recent logs"),"data-testid":"lg-table",role:"grid",style:Me,children:Ke.map(T=>t==="requests"?(0,r.jsx)(rt,{entry:A[T.index],index:T.index,measureRef:H.measureElement,onOpenTrace:_,start:T.start},T.key):(0,r.jsx)(tt,{entry:z[T.index],index:T.index,measureRef:H.measureElement,onOpenTrace:_,start:T.start},T.key))})})]})]})},"qt");export{qt as LogsPanel,ot as filterLogs,st as summarizeLogs};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as N}from"./chunk-TMGHRD6W.js";import{a as z}from"./chunk-54MMVNPT.js";import{a as q}from"./chunk-3CWGJYBB.js";import{a as W}from"./chunk-RMN2JN4S.js";import"./chunk-GRL5MG3Z.js";import"./chunk-7T7UOTYK.js";import"./chunk-CFPZYHPY.js";import"./chunk-7QIFDWQV.js";import"./chunk-2OUPA2WJ.js";import{b as R}from"./chunk-THIXMMZD.js";import"./chunk-6ST5ECQA.js";import{a as B}from"./chunk-
|
|
1
|
+
import{a as N}from"./chunk-TMGHRD6W.js";import{a as z}from"./chunk-54MMVNPT.js";import{a as q}from"./chunk-3CWGJYBB.js";import{a as W}from"./chunk-RMN2JN4S.js";import"./chunk-GRL5MG3Z.js";import"./chunk-7T7UOTYK.js";import"./chunk-CFPZYHPY.js";import"./chunk-7QIFDWQV.js";import"./chunk-2OUPA2WJ.js";import{b as R}from"./chunk-THIXMMZD.js";import"./chunk-6ST5ECQA.js";import{a as B}from"./chunk-6IZBFC3G.js";import"./chunk-XXQUMVWH.js";import"./chunk-ZNNKWEH5.js";import"./chunk-QLQADHFE.js";import{a as U}from"./chunk-VDW32UET.js";import{c as L}from"./chunk-UP7OTXKF.js";import"./chunk-LYVP5PT6.js";import"./chunk-XBDKZZ67.js";import{a as A}from"./chunk-XQCVZAGU.js";import{a as E,b as H,c as O,d as K,e as T,f as D}from"./chunk-WJQLNYGX.js";import{a as _}from"./chunk-WQH3LT2P.js";import{d as j}from"./chunk-IUYFXK4X.js";import"./chunk-X7B6PLEW.js";import{a as M,e as F,g as V,h as X}from"./chunk-3XIESWL4.js";var P=F(V(),1);var t=F(X(),1);var G=M(n=>`${n.toString()} ms`,"D"),Q=M(n=>n.totalConnections===0&&n.shapePoke.passes===0&&n.whisper.passes===0,"z"),J=M(n=>{let e=(0,P.c)(48),{counters:r,includeTiming:s,prefix:l,t:o,title:b}=n,k=`${l}-section`,p;e[0]!==b?(p=(0,t.jsx)("h3",{className:"text-sm font-medium text-foreground",children:b}),e[0]=b,e[1]=p):p=e[1];let a=`${l}-stats`,i;e[2]!==o?(i=o("Passes"),e[2]=o,e[3]=i):i=e[3];let I=`${l}-passes`,v;e[4]!==r.passes||e[5]!==i||e[6]!==I?(v=(0,t.jsx)(N,{label:i,testId:I,value:r.passes}),e[4]=r.passes,e[5]=i,e[6]=I,e[7]=v):v=e[7];let h;e[8]!==o?(h=o("Sockets iterated"),e[8]=o,e[9]=h):h=e[9];let x=`${l}-iterated`,c;e[10]!==r.socketsIterated||e[11]!==h||e[12]!==x?(c=(0,t.jsx)(N,{label:h,testId:x,value:r.socketsIterated}),e[10]=r.socketsIterated,e[11]=h,e[12]=x,e[13]=c):c=e[13];let d;e[14]!==o?(d=o("Delivered"),e[14]=o,e[15]=d):d=e[15];let y=`${l}-delivered`,m;e[16]!==r.socketsDelivered||e[17]!==d||e[18]!==y?(m=(0,t.jsx)(N,{label:d,testId:y,value:r.socketsDelivered}),e[16]=r.socketsDelivered,e[17]=d,e[18]=y,e[19]=m):m=e[19];let u;e[20]!==o?(u=o("Peak width"),e[20]=o,e[21]=u):u=e[21];let g=`${l}-peak`,f;e[22]!==r.peakSocketsIterated||e[23]!==u||e[24]!==g?(f=(0,t.jsx)(N,{label:u,testId:g,value:r.peakSocketsIterated}),e[22]=r.peakSocketsIterated,e[23]=u,e[24]=g,e[25]=f):f=e[25];let S;e[26]!==r.totalMs||e[27]!==s||e[28]!==l||e[29]!==o?(S=s&&(0,t.jsx)(N,{label:o("Total time"),testId:`${l}-total-ms`,value:G(r.totalMs)}),e[26]=r.totalMs,e[27]=s,e[28]=l,e[29]=o,e[30]=S):S=e[30];let C;e[31]!==r.maxMs||e[32]!==s||e[33]!==l||e[34]!==o?(C=s&&(0,t.jsx)(N,{label:o("Max time"),testId:`${l}-max-ms`,value:G(r.maxMs)}),e[31]=r.maxMs,e[32]=s,e[33]=l,e[34]=o,e[35]=C):C=e[35];let $;e[36]!==m||e[37]!==f||e[38]!==S||e[39]!==C||e[40]!==a||e[41]!==v||e[42]!==c?($=(0,t.jsxs)("dl",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3","data-testid":a,children:[v,c,m,f,S,C]}),e[36]=m,e[37]=f,e[38]=S,e[39]=C,e[40]=a,e[41]=v,e[42]=c,e[43]=$):$=e[43];let w;return e[44]!==k||e[45]!==$||e[46]!==p?(w=(0,t.jsxs)("section",{className:"flex flex-col gap-2","data-testid":k,children:[p,$]}),e[44]=k,e[45]=$,e[46]=p,e[47]=w):w=e[47],w},"F"),me=M(n=>{let e=(0,P.c)(31),{initialShardKey:r}=n,s=j(),{queryShardKey:l,setShardKey:o,shardKey:b}=q(r),k;e[0]===Symbol.for("react.memo_cache_sentinel")?(k={},e[0]=k):k=e[0];let p;e[1]!==l?(p={keepPreviousData:!0,shardKey:l},e[1]=l,e[2]=p):p=e[2];let{data:a,error:i,errorSource:I,refetch:v}=L(U.getFanoutMetrics,k,p);z(v,!0);let h;e[3]!==a?(h=a!==void 0&&Q(a),e[3]=a,e[4]=h):h=e[4];let x=h,c;e[5]!==o||e[6]!==b?(c=(0,t.jsx)(W,{onChange:o,testId:"fanout-shard-input",value:b}),e[5]=o,e[6]=b,e[7]=c):c=e[7];let d;e[8]!==a||e[9]!==s?(d=a!==void 0&&(0,t.jsxs)("div",{className:"ml-auto flex items-center gap-2 text-sm text-muted-foreground","data-testid":"fanout-count",children:[a.promoted&&(0,t.jsx)(R,{"data-testid":"fanout-promoted",variant:a.relayCount>=a.maxRelays?"destructive":"default",children:a.relayCount>=a.maxRelays?s("auto-scaled: {relayCount}/{maxRelays} relays (at ceiling)",{maxRelays:a.maxRelays,relayCount:a.relayCount}):s("auto-scaled: {relayCount}/{maxRelays} relays",{maxRelays:a.maxRelays,relayCount:a.relayCount})}),(0,t.jsx)(R,{variant:"secondary",children:s("{count} connections",{count:a.totalConnections})}),(0,t.jsx)(R,{variant:"secondary",children:s("peak {count} subscribers",{count:a.peakSubscribers})})]}),e[8]=a,e[9]=s,e[10]=d):d=e[10];let y;e[11]!==c||e[12]!==d?(y=(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[c,d]}),e[11]=c,e[12]=d,e[13]=y):y=e[13];let m;e[14]!==i||e[15]!==I?(m=i!==null&&(0,t.jsx)(B,{error:I,testId:"fanout-error"}),e[14]=i,e[15]=I,e[16]=m):m=e[16];let u;e[17]!==i||e[18]!==x||e[19]!==s?(u=i===null&&x&&(0,t.jsx)(A,{description:s("Realtime fan-out cost and per-topic subscriber counts for this shard."),icon:(0,t.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,t.jsx)("path",{d:"M4 12h4l3 7 4-14 3 7h2"})}),testId:"fanout-empty",title:s("No fan-out activity yet.")}),e[17]=i,e[18]=x,e[19]=s,e[20]=u):u=e[20];let g;e[21]!==i||e[22]!==x||e[23]!==a||e[24]!==s?(g=i===null&&a!==void 0&&!x&&(0,t.jsxs)(t.Fragment,{children:[a.topics.length>0&&(0,t.jsxs)("section",{className:"flex flex-col gap-2","data-testid":"fanout-topics-section",children:[(0,t.jsx)("h3",{className:"text-sm font-medium text-foreground",children:s("Hot topics")}),(0,t.jsx)(_,{className:"overflow-hidden py-0",children:(0,t.jsxs)(E,{"data-testid":"fanout-topics-table",children:[(0,t.jsx)(H,{children:(0,t.jsxs)(K,{children:[(0,t.jsx)(T,{children:s("Topic")}),(0,t.jsx)(T,{children:s("Kind")}),(0,t.jsx)(T,{className:"text-right",children:s("Subscribers")})]})}),(0,t.jsx)(O,{children:a.topics.map(Y)})]})})]}),(0,t.jsxs)("section",{className:"flex flex-col gap-3","data-testid":"fanout-cost",children:[(0,t.jsx)("h2",{className:"text-sm font-medium text-muted-foreground",children:s("Fan-out cost since this instance woke")}),(0,t.jsx)(J,{counters:a.shapePoke,includeTiming:!0,prefix:"fanout-poke",t:s,title:s("Shape pokes")}),(0,t.jsx)(J,{counters:a.whisper,includeTiming:!1,prefix:"fanout-whisper",t:s,title:s("Whisper broadcasts")})]})]}),e[21]=i,e[22]=x,e[23]=a,e[24]=s,e[25]=g):g=e[25];let f;return e[26]!==y||e[27]!==m||e[28]!==u||e[29]!==g?(f=(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"fanout-panel",children:[y,m,u,g]}),e[26]=y,e[27]=m,e[28]=u,e[29]=g,e[30]=f):f=e[30],f},"me");function Y(n){return(0,t.jsxs)(K,{"data-testid":"fanout-topic-row",children:[(0,t.jsx)(D,{className:"font-mono text-xs",children:n.topic}),(0,t.jsx)(D,{children:(0,t.jsx)(R,{variant:"outline",children:n.kind})}),(0,t.jsx)(D,{className:"text-right font-medium tabular-nums",children:n.subscribers})]},`${n.kind}:${n.topic}`)}M(Y,"G");export{me as default};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{a as ye}from"./chunk-V53KNYRN.js";import{a as we}from"./chunk-
|
|
1
|
+
import{a as ye}from"./chunk-V53KNYRN.js";import{a as we}from"./chunk-Y32QIKBS.js";import{a as Ne}from"./chunk-RMN2JN4S.js";import{b as pe}from"./chunk-GRL5MG3Z.js";import"./chunk-7T7UOTYK.js";import"./chunk-CFPZYHPY.js";import"./chunk-7QIFDWQV.js";import{a as ge}from"./chunk-MWIKAR7F.js";import"./chunk-DJZYD5I5.js";import"./chunk-2OUPA2WJ.js";import"./chunk-6ST5ECQA.js";import{a as H}from"./chunk-VDW32UET.js";import{d as be}from"./chunk-UP7OTXKF.js";import{f as xe}from"./chunk-LYVP5PT6.js";import"./chunk-XBDKZZ67.js";import{a as ne,e as ie}from"./chunk-WQH3LT2P.js";import{d as he,f as ce,g as de,h as ee,o as me}from"./chunk-IUYFXK4X.js";import{c as ae}from"./chunk-X7B6PLEW.js";import{a,e as se,f as ve,g as je,h as Ee}from"./chunk-3XIESWL4.js";var Se=se(je(),1);var b=se(ve(),1);var r=se(Ee(),1);var Ce=ce(H.exportShard),Oe=ce(H.importShard),Te=a(x=>x.map(e=>JSON.stringify(e)).join(`
|
|
2
2
|
`),"je"),Ae=a(x=>{let e=[],te=x.split(`
|
|
3
3
|
`);for(let[n,N]of te.entries()){let t=N.trim();if(t==="")continue;let o=JSON.parse(t);if(typeof o!="object"||o===null)throw new ae("INTERNAL",`line ${(n+1).toString()}: expected a { table, doc } object`);let h=o;if(typeof h.table!="string"||typeof h.doc!="object"||h.doc===null||Array.isArray(h.doc))throw new ae("INTERNAL",`line ${(n+1).toString()}: expected a { table, doc } object`);e.push(h)}return e},"$e"),Me=a(x=>{let e=(0,Se.c)(94),{initialShardKey:te}=x,n=xe(),N=be(),t=he(),[o,h]=(0,b.useState)(te??""),[l,ue]=(0,b.useState)(""),[d,K]=(0,b.useState)(!1),[Q,M]=(0,b.useState)(null),[i,re]=(0,b.useState)(null),[w,fe]=(0,b.useState)(null),V;e[0]!==n||e[1]!==o?(V=a(async()=>{K(!0),M(null),re(null);try{let c=await n.query(Ce,{},de(o));pe(o),ue(Te(c.rows)),fe(c.rows.length)}catch(c){M(ee(c))}K(!1)},"Q"),e[0]=n,e[1]=o,e[2]=V):V=e[2];let z=V,W;e[3]!==n||e[4]!==N||e[5]!==l||e[6]!==o||e[7]!==t?(W=a(async()=>{K(!0),M(null),re(null),fe(null);let c;try{c=Ae(l)}catch(s){M(t("Invalid NDJSON: {message}",{message:ee(s)})),K(!1);return}try{let s=await n.query(Oe,{rows:c},de(o));pe(o),re(s),N(H.readTablePage),N(H.listTables)}catch(s){M(ee(s))}K(!1)},"V"),e[3]=n,e[4]=N,e[5]=l,e[6]=o,e[7]=t,e[8]=W):W=e[8];let G=W,y,S,I,m,v,p,u,j,E,f,C;if(e[9]!==d||e[10]!==w||e[11]!==z||e[12]!==i||e[13]!==G||e[14]!==l||e[15]!==o||e[16]!==t){let c=i===null?0:Object.values(i.inserted).reduce(Le,0),s;e[28]!==z?(s=a(()=>{me(z())},"s"),e[28]=z,e[29]=s):s=e[29];let oe=s,Y;e[30]!==G?(Y=a(()=>{me(G())},"X"),e[30]=G,e[31]=Y):Y=e[31];let le=Y,Z;e[32]===Symbol.for("react.memo_cache_sentinel")?(Z=a(g=>{ue(g.target.value)},"Y"),e[32]=Z):Z=e[32];let Ie=Z;C="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 $;e[35]!==L?($=(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]=$):$=e[36];let J;e[37]!==o?(J=(0,r.jsx)(Ne,{onChange:h,testId:"ei-shard-input",value:o}),e[37]=o,e[38]=J):J=e[38];let k;e[39]!==t?(k=t("Export"),e[39]=t,e[40]=k):k=e[40];let D;e[41]!==d||e[42]!==oe||e[43]!==k?(D=(0,r.jsx)(ge,{"data-testid":"ei-export",disabled:d,onClick:oe,type:"button",children:k}),e[41]=d,e[42]=oe,e[43]=k,e[44]=D):D=e[44];let _;e[45]!==J||e[46]!==D?(_=(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[J,D]}),e[45]=J,e[46]=D,e[47]=_):_=e[47];let q;e[48]!==w||e[49]!==t?(q=w!==null&&(0,r.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"ei-export-result",children:t("Exported {count} rows.",{count:w})}),e[48]=w,e[49]=t,e[50]=q):q=e[50];let B;e[51]!==_||e[52]!==q?(B=(0,r.jsxs)(ie,{className:"flex flex-col gap-3 p-4",children:[_,q]}),e[51]=_,e[52]=q,e[53]=B):B=e[53],e[54]!==$||e[55]!==B?(m=(0,r.jsxs)(ne,{className:"rounded-xl border border-border bg-card shadow-xs",children:[$,B]}),e[54]=$,e[55]=B,e[56]=m):m=e[56],S=ne,E="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?(f=(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]=f):f=e[60],y=ie,v="flex flex-col gap-3 p-4",e[61]!==l?(p=(0,r.jsx)(ye,{"aria-label":"NDJSON",className:"font-mono text-xs min-h-40 rounded-md","data-testid":"ei-ndjson",onChange:Ie,placeholder:'{"table":"messages","doc":{\u2026}}',value:l}),e[61]=l,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]!==l?(U=d||l.trim()==="",e[65]=d,e[66]=l,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]!==le||e[71]!==R||e[72]!==U||e[73]!==F?(u=(0,r.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:(0,r.jsx)(we,{confirmLabel:R,disabled:U,onConfirm:le,testId:"ei-import",children:F})}),e[70]=le,e[71]=R,e[72]=U,e[73]=F,e[74]=u):u=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(g=>(0,r.jsx)("li",{className:"text-xs text-destructive",children:t("line {line} ({table}): {message}",{line:g.line,message:g.message,table:g.table})},`${g.table}-${g.line.toString()}`))})]}),e[9]=d,e[10]=w,e[11]=z,e[12]=i,e[13]=G,e[14]=l,e[15]=o,e[16]=t,e[17]=y,e[18]=S,e[19]=I,e[20]=m,e[21]=v,e[22]=p,e[23]=u,e[24]=j,e[25]=E,e[26]=f,e[27]=C}else y=e[17],S=e[18],I=e[19],m=e[20],v=e[21],p=e[22],u=e[23],j=e[24],E=e[25],f=e[26],C=e[27];let O;e[75]!==y||e[76]!==v||e[77]!==p||e[78]!==u||e[79]!==j?(O=(0,r.jsxs)(y,{className:v,children:[p,u,j]}),e[75]=y,e[76]=v,e[77]=p,e[78]=u,e[79]=j,e[80]=O):O=e[80];let T;e[81]!==S||e[82]!==O||e[83]!==E||e[84]!==f?(T=(0,r.jsxs)(S,{className:E,children:[f,O]}),e[81]=S,e[82]=O,e[83]=E,e[84]=f,e[85]=T):T=e[85];let A;e[86]!==Q?(A=Q!==null&&(0,r.jsx)("p",{className:"text-sm text-destructive","data-testid":"ei-error",role:"alert",children:Q}),e[86]=Q,e[87]=A):A=e[87];let X;return e[88]!==I||e[89]!==m||e[90]!==T||e[91]!==A||e[92]!==C?(X=(0,r.jsxs)("div",{className:C,"data-testid":I,children:[m,T,A]}),e[88]=I,e[89]=m,e[90]=T,e[91]=A,e[92]=C,e[93]=X):X=e[93],X},"Be");function Le(x,e){return x+e}a(Le,"Ee");export{Me as ExportImportPanel};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as le}from"./chunk-HPFLBYRI.js";import{b as re}from"./chunk-THIXMMZD.js";import"./chunk-6ST5ECQA.js";import{d as de,f as oe}from"./chunk-
|
|
1
|
+
import{a as le}from"./chunk-HPFLBYRI.js";import{b as re}from"./chunk-THIXMMZD.js";import"./chunk-6ST5ECQA.js";import{d as de,f as oe}from"./chunk-LYVP5PT6.js";import"./chunk-XBDKZZ67.js";import{a as me}from"./chunk-XQCVZAGU.js";import{a as ae}from"./chunk-WQH3LT2P.js";import{d as ce,r as pe}from"./chunk-IUYFXK4X.js";import"./chunk-X7B6PLEW.js";import{a as k,e as ie,g as xe,h as ge,j as Z}from"./chunk-3XIESWL4.js";var ne=ie(xe(),1);var a=ie(ge(),1);var ye="/_lunora/health",Ne="/_lunora/health/ready",ve=k((n,e)=>(n.endsWith("/")?n.slice(0,-1):n)+e,"xe"),be=k(()=>{let n=oe();return async e=>{let w=e==="ready"?Ne:ye,t=n.getAuthToken(),_=ve(n.url,w);try{let l=await fetch(_,{headers:t===null?{}:{authorization:`Bearer ${t}`}}),d=null;try{d=await l.json()}catch{d=null}return{body:d,ok:l.ok,status:l.status}}catch(l){return{body:null,error:l instanceof Error?l.message:String(l),ok:!1,status:0}}}},"Ne"),he={crit:"bg-destructive",ok:"bg-success",warn:"bg-warning"},ke={crit:"bg-destructive/10 text-destructive",ok:"bg-success/10 text-success",warn:"bg-warning/10 text-warning"},we=k(n=>n==="unhealthy"?"crit":n==="degraded"?"warn":"ok","ye"),ue=k(n=>{let e=(0,ne.c)(13),{label:w,level:t,testId:_,value:l}=n,d=he[t],o;e[0]!==d?(o=Z("size-1.5 shrink-0 rounded-full",d),e[0]=d,e[1]=o):o=e[1];let c;e[2]!==o?(c=(0,a.jsx)("span",{"aria-hidden":"true",className:o}),e[2]=o,e[3]=c):c=e[3];let x;e[4]!==w||e[5]!==c?(x=(0,a.jsxs)("span",{className:"flex items-center gap-1.5 font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:[c,w]}),e[4]=w,e[5]=c,e[6]=x):x=e[6];let g;e[7]!==_||e[8]!==l?(g=(0,a.jsx)("span",{className:"text-lg font-semibold text-foreground","data-testid":_,children:l}),e[7]=_,e[8]=l,e[9]=g):g=e[9];let u;return e[10]!==x||e[11]!==g?(u=(0,a.jsx)(ae,{className:"gap-0 py-0",children:(0,a.jsxs)("div",{className:"flex flex-col gap-2.5 p-4",children:[x,g]})}),e[10]=x,e[11]=g,e[12]=u):u=e[12],u},"ne"),De=k(n=>{let e=(0,ne.c)(115),{probe:w}=n,t=ce(),_=be(),l=w??_,d;e[0]!==l?(d=k(async()=>{let[s,i]=await Promise.all([l("live"),l("ready")]);return{live:s,ready:i}},"d"),e[0]=l,e[1]=d):d=e[1];let o;e[2]===Symbol.for("react.memo_cache_sentinel")?(o=["deployment-health"],e[2]=o):o=e[2];let c;e[3]!==d?(c={queryFn:d,queryKey:o},e[3]=d,e[4]=c):c=e[4];let{data:x,isPending:g}=de(c),u=x?.live??null,fe=x?.ready??null;if(g){let s;return e[5]===Symbol.for("react.memo_cache_sentinel")?(s=(0,a.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"deployment-health-loading",children:[(0,a.jsx)(le,{className:"h-16 w-full"}),(0,a.jsx)(le,{className:"h-40 w-full"})]}),e[5]=s):s=e[5],s}let r=u?.body??null;if(r===null){let s=u?.status===403,i;e[6]!==s||e[7]!==u?.error||e[8]!==t?(i=s?t("The health endpoint is in the admin posture. Paste a valid admin token in the connect popover, or set its auth to public."):t("Couldn't reach the health endpoint: {message}",{message:u?.error??t("no response")}),e[6]=s,e[7]=u?.error,e[8]=t,e[9]=i):i=e[9];let h;e[10]!==t?(h=t("Health endpoint unavailable"),e[10]=t,e[11]=h):h=e[11];let p;return e[12]!==i||e[13]!==h?(p=(0,a.jsx)(me,{description:i,testId:"deployment-health-error",title:h}),e[12]=i,e[13]=h,e[14]=p):p=e[14],p}let ee;e[15]!==r.status?(ee=we(r.status),e[15]=r.status,e[16]=ee):ee=e[16];let j=ee,m;if(r.status==="unhealthy"){let s;e[17]!==t?(s=t("Unhealthy"),e[17]=t,e[18]=s):s=e[18],m=s}else if(r.status==="degraded"){let s;e[19]!==t?(s=t("Degraded"),e[19]=t,e[20]=s):s=e[20],m=s}else{let s;e[21]!==t?(s=t("Healthy"),e[21]=t,e[22]=s):s=e[22],m=s}let C=fe?.ok??!1,Y=C?"ok":"crit",z,I,y,N,v,S,V,b,$,H;if(e[23]!==r.appName||e[24]!==r.appVersion||e[25]!==r.checks||e[26]!==r.timestamp||e[27]!==j||e[28]!==Y||e[29]!==C||e[30]!==m||e[31]!==t){let s=[...r.checks].toSorted(_e);H="flex flex-col gap-6",I="deployment-health";let i;e[42]!==t?(i=t("Live liveness, readiness, and per-binding health from the deployment's /_lunora/health endpoint \u2014 wire an uptime monitor or a Cloudflare Health Check at it."),e[42]=t,e[43]=i):i=e[43],e[44]!==i?(y=(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:i}),e[44]=i,e[45]=y):y=e[45];let h=ke[j],p;e[46]!==h?(p=Z("flex size-10 shrink-0 items-center justify-center rounded-full",h),e[46]=h,e[47]=p):p=e[47];let se=he[j],D;e[48]!==se?(D=Z("size-3 rounded-full",se),e[48]=se,e[49]=D):D=e[49];let L;e[50]!==D?(L=(0,a.jsx)("span",{className:D}),e[50]=D,e[51]=L):L=e[51];let T;e[52]!==p||e[53]!==L?(T=(0,a.jsx)("span",{"aria-hidden":"true",className:p,children:L}),e[52]=p,e[53]=L,e[54]=T):T=e[54];let q;e[55]!==m?(q=(0,a.jsx)("span",{className:"text-sm font-semibold text-foreground","data-testid":"dh-status",children:m}),e[55]=m,e[56]=q):q=e[56];let E;e[57]!==r.appName||e[58]!==r.appVersion?(E=(0,a.jsxs)("span",{className:"font-mono text-[13px] text-muted-foreground","data-testid":"dh-app",children:[r.appName," \xB7 ",r.appVersion]}),e[57]=r.appName,e[58]=r.appVersion,e[59]=E):E=e[59];let R;e[60]!==q||e[61]!==E?(R=(0,a.jsxs)("div",{className:"grid leading-tight",children:[q,E]}),e[60]=q,e[61]=E,e[62]=R):R=e[62];let U;e[63]!==T||e[64]!==R?(U=(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[T,R]}),e[63]=T,e[64]=R,e[65]=U):U=e[65];let A;e[66]!==t?(A=t("Checked"),e[66]=t,e[67]=A):A=e[67];let B;e[68]!==A?(B=(0,a.jsx)("div",{className:"font-mono text-[10px] tracking-wide text-muted-foreground uppercase",children:A}),e[68]=A,e[69]=B):B=e[69];let F;e[70]!==r.timestamp?(F=pe(r.timestamp),e[70]=r.timestamp,e[71]=F):F=e[71];let K;e[72]!==F?(K=(0,a.jsx)("time",{className:"text-[13px] text-muted-foreground","data-testid":"dh-timestamp",children:F}),e[72]=F,e[73]=K):K=e[73];let Q;e[74]!==B||e[75]!==K?(Q=(0,a.jsxs)("div",{className:"text-end",children:[B,K]}),e[74]=B,e[75]=K,e[76]=Q):Q=e[76],e[77]!==U||e[78]!==Q?(N=(0,a.jsx)(ae,{className:"gap-0 py-0",children:(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-4 p-4",children:[U,Q]})}),e[77]=U,e[78]=Q,e[79]=N):N=e[79];let W;e[80]!==t?(W=t("Liveness"),e[80]=t,e[81]=W):W=e[81];let G;e[82]!==j||e[83]!==m||e[84]!==W?(G=(0,a.jsx)(ue,{label:W,level:j,testId:"dh-liveness",value:m}),e[82]=j,e[83]=m,e[84]=W,e[85]=G):G=e[85];let J;e[86]!==t?(J=t("Readiness"),e[86]=t,e[87]=J):J=e[87];let M;e[88]!==C||e[89]!==t?(M=t(C?"Ready":"Not ready"),e[88]=C,e[89]=t,e[90]=M):M=e[90];let O;e[91]!==Y||e[92]!==J||e[93]!==M?(O=(0,a.jsx)(ue,{label:J,level:Y,testId:"dh-readiness",value:M}),e[91]=Y,e[92]=J,e[93]=M,e[94]=O):O=e[94],e[95]!==G||e[96]!==O?(v=(0,a.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2","data-testid":"dh-probes",children:[G,O]}),e[95]=G,e[96]=O,e[97]=v):v=e[97],z=ae,S="gap-0 py-0",V="dh-checks";let X;e[98]!==t?(X=t("Subsystem checks"),e[98]=t,e[99]=X):X=e[99],e[100]!==X?(b=(0,a.jsx)("header",{className:"border-b border-border px-4 py-3",children:(0,a.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:X})}),e[100]=X,e[101]=b):b=e[101],$=s.length===0?(0,a.jsx)("p",{className:"px-4 py-8 text-center text-sm text-muted-foreground","data-testid":"dh-checks-empty",children:t("No checks reported.")}):(0,a.jsx)("ul",{className:"divide-y divide-border",children:s.map(f=>(0,a.jsxs)("li",{className:"flex flex-wrap items-center justify-between gap-2 px-4 py-2.5 text-xs","data-testid":`dh-check-${f.name}`,children:[(0,a.jsxs)("span",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{"aria-hidden":"true",className:Z("size-1.5 shrink-0 rounded-full",f.status==="up"?"bg-success":"bg-destructive")}),(0,a.jsx)("span",{className:"font-mono text-foreground",children:f.name}),f.critical&&(0,a.jsx)(re,{variant:"outline",children:t("Critical")})]}),(0,a.jsxs)("span",{className:"flex shrink-0 items-center gap-2",children:[f.message!==void 0&&(0,a.jsx)("span",{className:"text-muted-foreground",children:f.message}),(0,a.jsx)(re,{"data-testid":`dh-check-status-${f.name}`,variant:f.status==="up"?"secondary":"destructive",children:f.status==="up"?t("Up"):t("Down")})]})]},f.name))}),e[23]=r.appName,e[24]=r.appVersion,e[25]=r.checks,e[26]=r.timestamp,e[27]=j,e[28]=Y,e[29]=C,e[30]=m,e[31]=t,e[32]=z,e[33]=I,e[34]=y,e[35]=N,e[36]=v,e[37]=S,e[38]=V,e[39]=b,e[40]=$,e[41]=H}else z=e[32],I=e[33],y=e[34],N=e[35],v=e[36],S=e[37],V=e[38],b=e[39],$=e[40],H=e[41];let P;e[102]!==z||e[103]!==S||e[104]!==V||e[105]!==b||e[106]!==$?(P=(0,a.jsxs)(z,{className:S,"data-testid":V,children:[b,$]}),e[102]=z,e[103]=S,e[104]=V,e[105]=b,e[106]=$,e[107]=P):P=e[107];let te;return e[108]!==I||e[109]!==y||e[110]!==N||e[111]!==v||e[112]!==P||e[113]!==H?(te=(0,a.jsxs)("div",{className:H,"data-testid":I,children:[y,N,v,P]}),e[108]=I,e[109]=y,e[110]=N,e[111]=v,e[112]=P,e[113]=H,e[114]=te):te=e[114],te},"Ie");function _e(n,e){return n.name.localeCompare(e.name)}k(_e,"be");export{De as DeploymentHealthPanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{R as U}from"./chunk-CFPZYHPY.js";import"./chunk-7QIFDWQV.js";import{a as F}from"./chunk-MWIKAR7F.js";import"./chunk-DJZYD5I5.js";import"./chunk-2OUPA2WJ.js";import{b as C}from"./chunk-THIXMMZD.js";import"./chunk-6ST5ECQA.js";import{a as q}from"./chunk-6IZBFC3G.js";import"./chunk-XXQUMVWH.js";import"./chunk-ZNNKWEH5.js";import"./chunk-QLQADHFE.js";import{a as O}from"./chunk-VDW32UET.js";import{c as H}from"./chunk-UP7OTXKF.js";import"./chunk-LYVP5PT6.js";import"./chunk-XBDKZZ67.js";import{a as B}from"./chunk-XQCVZAGU.js";import{a as G,b as J,c as K,d as M,e as a,f as o}from"./chunk-WJQLNYGX.js";import{a as V,e as W}from"./chunk-WQH3LT2P.js";import{d as T,r as D}from"./chunk-IUYFXK4X.js";import"./chunk-X7B6PLEW.js";import{a as n,e as E,f as re,g as se,h as ie}from"./chunk-3XIESWL4.js";var X=E(se(),1),z=E(re(),1);var t=E(ie(),1);var ne=n(e=>e==="ok"?"success":e==="failed"?"destructive":e==="expired"?"warning":"secondary","te"),Q=n(e=>e.endpoint??e.id,"R"),xe=n(()=>{let e=(0,X.c)(38),r=T(),[i,Y]=(0,z.useState)("all"),[l,Z]=(0,z.useState)(""),g;e[0]===Symbol.for("react.memo_cache_sentinel")?(g={},e[0]=g):g=e[0];let{data:_,error:d,errorSource:v,isLoading:I,refetch:x}=H(O.listPushSubscriptions,g),N;if(e[1]!==_?.subscriptions||e[2]!==d||e[3]!==v||e[4]!==I||e[5]!==i||e[6]!==x||e[7]!==l||e[8]!==r){let L=_?.subscriptions??[],P=l.trim().toLowerCase(),A=L.filter(s=>i!=="all"&&s.kind!==i?!1:P===""?!0:`${Q(s)} ${s.userId??""}`.toLowerCase().includes(P)),b;e[10]===Symbol.for("react.memo_cache_sentinel")?(b=n(s=>{Z(s.target.value)},"b"),e[10]=b):b=e[10];let ee=b,w;e[11]!==x?(w=n(()=>{x()},"w"),e[11]=x,e[12]=w):w=e[12];let $=w,k;e[13]===Symbol.for("react.memo_cache_sentinel")?(k=["all","web-push","fcm"],e[13]=k):k=e[13];let te=k,c;e[14]!==i||e[15]!==r?(c=(0,t.jsx)("div",{className:"flex items-center gap-1","data-testid":"nt-kind-filter",role:"tablist",children:te.map(s=>(0,t.jsx)(F,{"aria-selected":i===s,"data-testid":`nt-kind-${s}`,onClick:n(()=>{Y(s)},"onClick"),role:"tab",size:"sm",type:"button",variant:i===s?"secondary":"ghost",children:s==="all"?r("All"):s},s))}),e[14]=i,e[15]=r,e[16]=c):c=e[16];let m;e[17]!==r?(m=r("Filter devices"),e[17]=r,e[18]=m):m=e[18];let h;e[19]!==r?(h=r("filter endpoint, user"),e[19]=r,e[20]=h):h=e[20];let u;e[21]!==l||e[22]!==m||e[23]!==h?(u=(0,t.jsx)(U,{"aria-label":m,className:"h-8 w-56","data-testid":"nt-search",onChange:ee,placeholder:h,value:l}),e[21]=l,e[22]=m,e[23]=h,e[24]=u):u=e[24];let f;e[25]!==r?(f=r("Refresh"),e[25]=r,e[26]=f):f=e[26];let p;e[27]!==$||e[28]!==f?(p=(0,t.jsx)(F,{className:"ml-auto","data-testid":"nt-refresh",onClick:$,size:"sm",type:"button",variant:"outline",children:f}),e[27]=$,e[28]=f,e[29]=p):p=e[29];let j=L.length>0&&(0,t.jsx)(C,{"data-testid":"nt-count",variant:"secondary",children:r("{count} devices",{count:L.length})}),y;e[30]!==p||e[31]!==j||e[32]!==c||e[33]!==u?(y=(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[c,u,p,j]}),e[30]=p,e[31]=j,e[32]=c,e[33]=u,e[34]=y):y=e[34];let S;e[35]!==d||e[36]!==v?(S=d!==null&&(0,t.jsx)(q,{error:v,testId:"nt-error"}),e[35]=d,e[36]=v,e[37]=S):S=e[37],N=(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-notifications",children:[y,S,d===null&&!I&&A.length===0&&(0,t.jsx)(B,{description:r("Registered Web Push / FCM devices appear here. Configure lunora/notify.ts with defineNotify({ store }) and register a device with ctx.push.register(...)."),icon:(0,t.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,t.jsx)("path",{d:"M15 17h5l-1.4-1.4A2 2 0 0 1 18 14.2V11a6 6 0 0 0-4-5.7V5a2 2 0 1 0-4 0v.3A6 6 0 0 0 6 11v3.2a2 2 0 0 1-.6 1.4L4 17h5m6 0v1a3 3 0 1 1-6 0v-1m6 0H9"})}),testId:"nt-empty",title:r("No registered devices.")}),A.length>0&&(0,t.jsx)(V,{className:"overflow-hidden py-0",children:(0,t.jsx)(W,{className:"max-h-[30rem] overflow-auto px-0",children:(0,t.jsxs)(G,{"data-testid":"nt-table",children:[(0,t.jsx)(J,{children:(0,t.jsxs)(M,{children:[(0,t.jsx)(a,{children:r("kind")}),(0,t.jsx)(a,{children:r("endpoint")}),(0,t.jsx)(a,{children:r("user")}),(0,t.jsx)(a,{children:r("last seen")}),(0,t.jsx)(a,{children:r("status")}),(0,t.jsx)(a,{children:r("error")})]})}),(0,t.jsx)(K,{children:A.map(s=>{let R=Q(s);return(0,t.jsxs)(M,{"data-testid":"nt-row",children:[(0,t.jsx)(o,{children:(0,t.jsx)(C,{variant:"outline",children:s.kind})}),(0,t.jsx)(o,{className:"max-w-[28ch] truncate font-mono text-xs",title:R,children:R}),(0,t.jsx)(o,{className:"max-w-[16ch] truncate font-mono text-xs",children:s.userId??(0,t.jsx)("span",{className:"text-muted-foreground",children:"\u2014"})}),(0,t.jsx)(o,{className:"text-muted-foreground tabular-nums",children:D(s.lastSeenAt,"\u2014")}),(0,t.jsx)(o,{children:(0,t.jsx)(C,{"data-testid":`nt-status-${s.id}`,variant:ne(s.lastStatus),children:s.lastStatus??r("n/a")})}),(0,t.jsx)(o,{className:"max-w-[28ch] truncate font-mono text-xs text-muted-foreground",title:s.lastError??void 0,children:s.lastError??(0,t.jsx)("span",{className:"text-muted-foreground",children:"\u2014"})})]},s.id)})})]})})})]}),e[1]=_?.subscriptions,e[2]=d,e[3]=v,e[4]=I,e[5]=i,e[6]=x,e[7]=l,e[8]=r,e[9]=N}else N=e[9];return N},"ve");export{xe as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as D,c as g,d as P,f as k}from"./chunk-
|
|
1
|
+
import{b as D,c as g,d as P,f as k}from"./chunk-LYVP5PT6.js";import{f as v,g as S,h as T,o as q}from"./chunk-IUYFXK4X.js";import{a as i,e as A,f as $,g as M}from"./chunk-3XIESWL4.js";var I=A(M(),1);var f=A($(),1);var l=i(e=>typeof e=="string"?e===""?void 0:e:typeof e=="number"||typeof e=="boolean"?String(e):void 0,"u"),h=i(e=>e.filter(r=>r!==void 0).join(" "),"d"),Q={deleteRows:i(e=>h([l(e.table),Array.isArray(e.ids)?`${String(e.ids.length)} rows`:void 0]),"deleteRows"),facetColumn:i(e=>h([l(e.table),l(e.column)]),"facetColumn"),lintSql:i(()=>"sql","lintSql"),readTablePage:i(e=>h([l(e.table),Array.isArray(e.filters)&&e.filters.length>0?`${String(e.filters.length)} filters`:void 0,typeof e.search=="string"&&e.search!==""?"search":void 0,typeof e.limit=="number"?`limit ${String(e.limit)}`:void 0]),"readTablePage"),runMigration:i(e=>h([l(e.id),l(e.direction),e.dryRun===!0?"dry-run":void 0]),"runMigration"),runSql:i(e=>typeof e.sql=="string"?`${String(e.sql.length)} chars`:"","runSql"),schemaVersion:i(e=>typeof e.hash=="string"?e.hash.slice(0,8):"","schemaVersion"),writeRow:i(e=>h([l(e.table),"1 row"]),"writeRow")},E="__lunora_admin__:",C=i((e,r)=>{let s=e.startsWith(E)?e.slice(E.length):e,t=Q[s];if(t!==void 0)return t(r);let n=Object.keys(r);return n.length===0?"":n.join(", ")},"N"),L=i(e=>{if(Array.isArray(e))return e.length;if(!(typeof e!="object"||e===null)){for(let r of Object.values(e))if(Array.isArray(r))return r.length}},"K"),w=class{static{i(this,"L")}entries=[];listeners=new Set;nextSeq=1;getSnapshot=i(()=>this.entries,"getSnapshot");subscribe=i(r=>(this.listeners.add(r),()=>{this.listeners.delete(r)}),"subscribe");start(r,s,t){return this.append(r,s,t,"call","pending")}startSubscription(r,s,t){return this.append(r,s,t,"subscription","live")}recordPush(r){if(this.listeners.size===0){let s=this.entries.find(t=>t.seq===r);s!==void 0&&(s.pushes=(s.pushes??0)+1);return}this.patch(r,s=>({...s,pushes:(s.pushes??0)+1}))}failSubscription(r,s){this.patch(r,t=>({...t,error:s,status:"error"}))}endSubscription(r){this.patch(r,s=>s.status==="error"?s:{...s,durationMs:Date.now()-s.startedAt,status:"closed"})}lastErrorSeq(){return this.entries.findLast(r=>r.status==="error")?.seq}settle(r,s){this.patch(r,t=>({...t,durationMs:Date.now()-t.startedAt,...s.error===void 0?{resultCount:L(s.result),status:"ok"}:{error:s.error,status:"error"}}))}clear(){this.entries=[],this.emit()}append(r,s,t,n,a){let o=this.nextSeq;this.nextSeq+=1;let d={functionPath:r,kind:n,seq:o,shardKey:t,startedAt:Date.now(),status:a,summary:C(r,s),...n==="subscription"?{pushes:0}:{}},u=[...this.entries,d];return this.entries=u.length>300?u.slice(u.length-300):u,this.emit(),o}patch(r,s){let t=this.entries.findIndex(n=>n.seq===r);t!==-1&&(this.entries=this.entries.with(t,s(this.entries[t])),this.emit())}emit(){for(let r of this.listeners)r()}},p=new w,_=i((e,r,s)=>["lunora-admin",e,r,s.trim()],"q");function R(e,r,s={}){let{enabled:t=!0,keepPreviousData:n=!1,staleTime:a=0}=s,o=P({enabled:t,queryFn:r,placeholderData:n?D:void 0,queryKey:e,staleTime:a});return{data:o.data,error:o.error?T(o.error):o.error,errorSource:o.error??void 0,isLoading:o.isLoading,liveError:void 0,refetch:i(()=>{q(o.refetch())},"refetch")}}i(R,"M");function V(e,r,s={}){let t=k(),n=g(),{enabled:a=!0,keepPreviousData:o=!1,live:d=!1,shardKey:u="",staleTime:j}=s,m=_(e,r,u),x=R(m,()=>t.query(v(e),r,S(u)),{enabled:a,keepPreviousData:o,staleTime:j??(d?Number.POSITIVE_INFINITY:0)}),[N,y]=(0,f.useState)(void 0),O=JSON.stringify(m);return(0,f.useEffect)(()=>{if(!a||!d)return;y(void 0);let b=p.startSubscription(e,r,u),K=t.subscribe(v(e),r,c=>{p.recordPush(b),y(void 0),n.setQueryData(m,c)},{...S(u),onError:i(c=>{p.failSubscription(b,c.message),y(c.message)},"onError")});return()=>{p.endSubscription(b),K()}},[O,a,d]),{...x,liveError:a&&d?N:void 0}}i(V,"z");var U=i(()=>{let e=(0,I.c)(2),r=g(),s;return e[0]!==r?(s=i((t,n,a)=>{let o=n===void 0?["lunora-admin",t]:_(t,n,a??"");q(r.invalidateQueries({queryKey:o}))},"e"),e[0]=r,e[1]=s):s=e[1],s},"J");export{p as a,R as b,V as c,U as d};
|