@lunora/studio 1.0.0-alpha.4 → 1.0.0-alpha.41
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/LICENSE.md +6 -0
- package/__assets__/package-og.svg +1 -1
- package/dist/index.d.ts +33 -18
- package/dist/index.js +29 -29
- package/dist/mount.d.ts +1 -1
- package/dist/mount.js +3 -2
- package/dist/{packem_shared/ApiTab-W3no0KOj.js → packem_chunks/ApiTab.js} +5 -5
- package/dist/{packem_shared/AuditPanel-Bq4o_IqT.js → packem_chunks/AuditPanel.js} +29 -41
- package/dist/{packem_shared/ExportImportPanel-dxY56TDF.js → packem_chunks/ExportImportPanel.js} +16 -11
- package/dist/{packem_shared/FileBrowser-Dhy4zES8.js → packem_chunks/FileBrowser.js} +15 -15
- package/dist/{packem_shared/FunctionRunner--fQJRPAD.js → packem_chunks/FunctionRunner.js} +10 -10
- package/dist/{packem_shared/FunctionStatsPanel-BjRUA_G3.js → packem_chunks/FunctionStatsPanel.js} +153 -208
- package/dist/{packem_shared/HealthPanel-PxclMWmA.js → packem_chunks/HealthPanel.js} +37 -29
- package/dist/{packem_shared/InsightsPanel-CWS_C-xW.js → packem_chunks/InsightsPanel.js} +108 -69
- package/dist/{packem_shared/LogsPanel-CTW8CFcM.js → packem_chunks/LogsPanel.js} +46 -58
- package/dist/{packem_shared/MailPanel-BwkvfIHF.js → packem_chunks/MailPanel.js} +45 -139
- package/dist/{packem_shared/MetricsPanel-BLuOhZQ4.js → packem_chunks/MetricsPanel.js} +41 -322
- package/dist/{packem_shared/MigrationsPanel-DT3lnwHF.js → packem_chunks/MigrationsPanel.js} +44 -51
- package/dist/{packem_shared/PitrPanel-CdErL7EJ.js → packem_chunks/PitrPanel.js} +9 -9
- package/dist/{packem_shared/SchemaViewer-LJDcmNIO.js → packem_chunks/SchemaViewer.js} +17 -16
- package/dist/{packem_shared/SecurityAdvisorPanel-C_ETsPih.js → packem_chunks/SecurityAdvisorPanel.js} +47 -31
- package/dist/packem_chunks/SettingsPanel.js +391 -0
- package/dist/{packem_shared/sql-editor-panel-BFRpzj6r.js → packem_chunks/SqlEditorPanel.js} +158 -387
- package/dist/{packem_shared/TableEditor-ChfUOZec.js → packem_chunks/TableEditor.js} +10 -68
- package/dist/packem_chunks/analytics-panel.js +261 -0
- package/dist/packem_chunks/auth-config-panel.js +365 -0
- package/dist/packem_chunks/auth-sessions-panel.js +175 -0
- package/dist/packem_chunks/containers-panel.js +247 -0
- package/dist/packem_chunks/dashboards-panel.js +780 -0
- package/dist/packem_chunks/fanout-panel.js +482 -0
- package/dist/packem_chunks/flags-panel.js +176 -0
- package/dist/packem_chunks/kv-browser.js +1896 -0
- package/dist/packem_chunks/log-drains-panel.js +273 -0
- package/dist/packem_chunks/organizations-panel.js +3178 -0
- package/dist/packem_chunks/payments-panel.js +186 -0
- package/dist/packem_chunks/permissions-panel.js +805 -0
- package/dist/packem_chunks/queues-panel.js +1075 -0
- package/dist/packem_chunks/rls-panel.js +315 -0
- package/dist/packem_chunks/schedule-panel.js +831 -0
- package/dist/packem_chunks/sparkline.js +79 -0
- package/dist/packem_chunks/storage-rules-panel.js +140 -0
- package/dist/packem_chunks/subscriptions-panel.js +238 -0
- package/dist/packem_chunks/users-panel.js +1731 -0
- package/dist/packem_chunks/vector-browser.js +281 -0
- package/dist/packem_chunks/workflows-panel.js +562 -0
- package/dist/packem_shared/{ADMIN_FUNCTIONS-DmBqMZ-z.js → ADMIN_FUNCTIONS-BHHJi3Gb.js} +7 -0
- package/dist/packem_shared/{ApiDocsPanel-C5-yJ1p7.js → ApiDocsPanel-CBma-lnp.js} +2 -2
- package/dist/packem_shared/{ApiReferencePanel-1vubqG5s.js → ApiReferencePanel-CQM3pPN7.js} +2 -1
- package/dist/packem_shared/{CommandPalette-BtgkBzZI.js → CommandPalette-X2tkbyHk.js} +1 -1
- package/dist/packem_shared/{DataBrowser-CtBe1So9.js → DataBrowser-D2ywrdId.js} +198 -247
- package/dist/packem_shared/{GlobalDataBrowser-BTEmGrph.js → GlobalDataBrowser-BkTPLzAY.js} +37 -66
- package/dist/packem_shared/HomePanel-D1Q9LZgK.js +14 -0
- package/dist/packem_shared/{OpenRpcReferencePanel-vbcYbv3V.js → OpenRpcReferencePanel-Dno-hfDb.js} +2 -1
- package/dist/packem_shared/{ScheduledJobs-CabfKbyM.js → ScheduledJobs-Ctw4jYtU.js} +163 -60
- package/dist/packem_shared/Studio-lJhzDAze.js +16 -0
- package/dist/packem_shared/{StudioApp-CHOZA-z-.js → StudioApp-DiMkupvZ.js} +276 -11
- package/dist/packem_shared/{advisor-view-CGcfMiPq.js → advisor-view-BX8OhG0w.js} +6 -6
- package/dist/packem_shared/alert-CdAET2K_.js +68 -0
- package/dist/packem_shared/{app.d-CCmwDEVs.d.ts → app.d-CNLRTrWw.d.ts} +1 -1
- package/dist/packem_shared/{bar-chart-CzJAgqkp.js → bar-chart-DSwcWIRy.js} +5 -4
- package/dist/packem_shared/browser-storage-BTrX4y3B.js +215 -0
- package/dist/packem_shared/{cf-links-2cktDedA.js → cf-links-BZfRdxSE.js} +1 -1
- package/dist/packem_shared/{data-grid-B5CaV3wS.js → data-grid-CdXztApG.js} +1 -1
- package/dist/packem_shared/data-view-params-Cd6yRVbv.js +96 -0
- package/dist/packem_shared/error-alert-CXjqyGw9.js +114 -0
- package/dist/packem_shared/{grid-features-CzUfqgsM.js → grid-features-BF-KBDFz.js} +131 -163
- package/dist/packem_shared/home-panel-TFcRf9Ui.js +1889 -0
- package/dist/packem_shared/{internal-rXJEAhXS.js → internal-CYcbqMjX.js} +44 -3
- package/dist/packem_shared/modal-shell-hyaJvIJ6.js +100 -0
- package/dist/packem_shared/{reference-view-B4E49Lip.js → reference-view-DUiJcILV.js} +6 -45
- package/dist/packem_shared/scroll-area-DLhcy-ml.js +93 -0
- package/dist/packem_shared/select-UkNYCT3s.js +273 -0
- package/dist/packem_shared/skeleton-CGhL0p20.js +45 -0
- package/dist/packem_shared/{sparkline-10dG-_f0.js → sparkline-BnA1kC9X.js} +1 -1
- package/dist/packem_shared/studio-Dh9UlaF_.js +4015 -0
- package/dist/packem_shared/{table-_RzNvy3R.js → table-DsCa9Qp9.js} +1 -1
- package/dist/packem_shared/{table-list-sidebar-Bg7uzbvC.js → table-list-sidebar-UVIXQJdU.js} +1 -1
- package/dist/packem_shared/use-admin-query-CfHYWx5n.js +106 -0
- package/dist/packem_shared/use-async-submit-DJQiPc-_.js +91 -0
- package/dist/standalone/chunk-25AYY4H7.js +2 -0
- package/dist/standalone/chunk-2ANAF4ZM.js +1 -0
- package/dist/standalone/chunk-2K47A3P6.js +1 -0
- package/dist/standalone/chunk-2NGUNNGW.js +1 -0
- package/dist/standalone/chunk-3CJW6NWG.js +4 -0
- package/dist/standalone/chunk-3OA7PECS.js +6 -0
- package/dist/standalone/chunk-3OIHOXVV.js +1 -0
- package/dist/standalone/chunk-447TAUFD.js +1 -0
- package/dist/standalone/chunk-4QHKBC77.js +1 -0
- package/dist/standalone/chunk-5C4TSNE6.js +1 -0
- package/dist/standalone/chunk-5OIBXYZM.js +1 -0
- package/dist/standalone/chunk-6HSHEMZV.js +76 -0
- package/dist/standalone/chunk-6JIZ34MB.js +3 -0
- package/dist/standalone/chunk-6VO23MMW.js +4 -0
- package/dist/standalone/chunk-7MVSQS7B.js +1 -0
- package/dist/standalone/chunk-7TJJXVSE.js +1 -0
- package/dist/standalone/chunk-7YXOPTWI.js +1 -0
- package/dist/standalone/chunk-AHILM3ZP.js +1 -0
- package/dist/standalone/chunk-BGXOXASQ.js +1 -0
- package/dist/standalone/chunk-BJGBHGK3.js +1 -0
- package/dist/standalone/chunk-BOXSWNXZ.js +1 -0
- package/dist/standalone/chunk-BX5MKYOC.js +1 -0
- package/dist/standalone/chunk-CKSHCYGC.js +2 -0
- package/dist/standalone/chunk-DWDILV2E.js +1 -0
- package/dist/standalone/chunk-E75ANNWX.js +19 -0
- package/dist/standalone/chunk-EQZQOTJY.js +1 -0
- package/dist/standalone/chunk-GTLEWM5Y.js +1 -0
- package/dist/standalone/chunk-GTM65MVX.js +1 -0
- package/dist/standalone/chunk-GUI5GFFI.js +1 -0
- package/dist/standalone/chunk-HN6KJXYQ.js +1 -0
- package/dist/standalone/chunk-HV7G6DFP.js +5 -0
- package/dist/standalone/chunk-HYDJNCGW.js +1 -0
- package/dist/standalone/chunk-HZK5RQHG.js +1 -0
- package/dist/standalone/chunk-IN2SYVJB.js +1 -0
- package/dist/standalone/chunk-IOANPSJN.js +1 -0
- package/dist/standalone/chunk-ISDZPW3V.js +1 -0
- package/dist/standalone/chunk-IXDH4GL5.js +1 -0
- package/dist/standalone/chunk-J6J54MBP.js +1 -0
- package/dist/standalone/chunk-J73VHFCL.js +1 -0
- package/dist/standalone/chunk-JHKMUTIF.js +13 -0
- package/dist/standalone/chunk-JPRH6DPK.js +1 -0
- package/dist/standalone/chunk-JSEXCW5Q.js +1 -0
- package/dist/standalone/chunk-KA5YB3VP.js +1 -0
- package/dist/standalone/chunk-KBB75WNT.js +1 -0
- package/dist/standalone/chunk-KEGAWN6Y.js +1 -0
- package/dist/standalone/chunk-KJJ3WM6H.js +4 -0
- package/dist/standalone/chunk-KQV4NGH3.js +1 -0
- package/dist/standalone/chunk-KSKXW5PX.js +1 -0
- package/dist/standalone/chunk-KUH4P5F5.js +1 -0
- package/dist/standalone/chunk-KYJPPVGB.js +1 -0
- package/dist/standalone/chunk-KZ6INM5M.js +1 -0
- package/dist/standalone/chunk-L2TJVSDQ.js +1 -0
- package/dist/standalone/chunk-L7SK4ZZD.js +1 -0
- package/dist/standalone/chunk-LAK5VSPI.js +1 -0
- package/dist/standalone/chunk-LBN7LPVK.js +1 -0
- package/dist/standalone/chunk-LNZIB2MD.js +1 -0
- package/dist/standalone/chunk-MJWVMKQ4.js +6 -0
- package/dist/standalone/chunk-MLZYX5CQ.js +1 -0
- package/dist/standalone/chunk-N2X2OO4V.js +1 -0
- package/dist/standalone/chunk-NGKITPQP.js +13 -0
- package/dist/standalone/chunk-O3NAGRTR.js +1 -0
- package/dist/standalone/chunk-OZACQNKG.js +1 -0
- package/dist/standalone/chunk-PNDNXS5Z.js +1 -0
- package/dist/standalone/chunk-Q7DMUTUE.js +1 -0
- package/dist/standalone/chunk-QAFAJBAW.js +1 -0
- package/dist/standalone/chunk-QBAT52GB.js +1 -0
- package/dist/standalone/chunk-RHZ4M2NZ.js +1 -0
- package/dist/standalone/chunk-RRCPZMC2.js +22 -0
- package/dist/standalone/chunk-SEU5V7I6.js +1 -0
- package/dist/standalone/chunk-TAD43CG5.js +1 -0
- package/dist/standalone/chunk-TBMYIZIO.js +1 -0
- package/dist/standalone/chunk-TDZ44E5I.js +4 -0
- package/dist/standalone/chunk-THNBTMUF.js +1 -0
- package/dist/standalone/chunk-TIQISBGK.js +1 -0
- package/dist/standalone/chunk-TMYVNQ66.js +1 -0
- package/dist/standalone/chunk-TQ36RWOP.js +1 -0
- package/dist/standalone/chunk-UGUEC6BC.js +1 -0
- package/dist/standalone/chunk-UJB2LEI4.js +4 -0
- package/dist/standalone/chunk-UK64ZSUW.js +1 -0
- package/dist/standalone/chunk-UKDJ4H7I.js +1 -0
- package/dist/standalone/chunk-VLXV72QE.js +1 -0
- package/dist/standalone/chunk-VON7JUPG.js +1 -0
- package/dist/standalone/chunk-W3JK4YWR.js +1 -0
- package/dist/standalone/chunk-W3SHEIAL.js +3 -0
- package/dist/standalone/chunk-WI7GWFEG.js +1 -0
- package/dist/standalone/chunk-WIHXMNUY.js +1 -0
- package/dist/standalone/chunk-WLDVXVI2.js +1 -0
- package/dist/standalone/chunk-XLXNLJ4N.js +1 -0
- package/dist/standalone/chunk-XNJNSCLM.js +1 -0
- package/dist/standalone/chunk-YAECF5LW.js +1 -0
- package/dist/standalone/chunk-YBGC4PPD.js +1 -0
- package/dist/standalone/chunk-YJAPWSDC.js +4 -0
- package/dist/standalone/chunk-ZEJB6DXU.js +8 -0
- package/dist/standalone/chunk-ZFNBPAIZ.js +1 -0
- package/dist/standalone/chunk-ZHVTQ37P.js +1 -0
- package/dist/standalone/chunk-ZIGWVHCS.js +1 -0
- package/dist/standalone/chunk-ZPP2KOR4.js +1 -0
- package/dist/standalone/chunk-ZPUO7FNI.js +1 -0
- package/dist/standalone/studio.js +104 -246
- package/dist/styles.css +2 -2
- package/package.json +15 -13
- package/dist/packem_shared/HomePanel-Cw16stjq.js +0 -1273
- package/dist/packem_shared/SettingsPanel-C0uLRf5P.js +0 -176
- package/dist/packem_shared/SqlEditorPanel-CguV7otm.js +0 -13
- package/dist/packem_shared/Studio-DFWAlcuf.js +0 -33
- package/dist/packem_shared/studio-Bj8psK1c.js +0 -10303
- package/dist/packem_shared/use-live-admin-Dq6g3daN.js +0 -73
- package/dist/packem_shared/use-live-shard-seed-Cuk3dnH0.js +0 -76
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as l,e as m,f as v,g as E}from"./chunk-RRCPZMC2.js";var R=m(E(),1),e=m(v(),1);var g=5e3,p=l((r,o,f)=>{let t=(0,R.c)(6),s=f===void 0?g:f,i=(0,e.useRef)(r),c;t[0]!==r?(c=l(()=>{i.current=r},"t1"),t[0]=r,t[1]=c):c=t[1],(0,e.useEffect)(c);let n,u;t[2]!==o||t[3]!==s?(n=l(()=>{if(!o)return;let a=setInterval(()=>{globalThis.document?.hidden!==!0&&i.current()},s);return()=>{clearInterval(a)}},"t2"),u=[o,s],t[2]=o,t[3]=s,t[4]=n,t[5]=u):(n=t[4],u=t[5]),(0,e.useEffect)(n,u)},"useAutoRefresh");export{p as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as Oe,b as Je}from"./chunk-KA5YB3VP.js";import{a as Ke}from"./chunk-7YXOPTWI.js";import{a as qe}from"./chunk-AHILM3ZP.js";import{a as We}from"./chunk-J6J54MBP.js";import"./chunk-L7SK4ZZD.js";import{a as Ge}from"./chunk-2K47A3P6.js";import{a as De,b as Re,c as Pe,d as j,e as D,f as R}from"./chunk-GTM65MVX.js";import{a as V}from"./chunk-JSEXCW5Q.js";import"./chunk-4QHKBC77.js";import{R as B}from"./chunk-3CJW6NWG.js";import{c as U}from"./chunk-UK64ZSUW.js";import"./chunk-O3NAGRTR.js";import"./chunk-HV7G6DFP.js";import{a as Qe}from"./chunk-TAD43CG5.js";import{a as Ze}from"./chunk-RHZ4M2NZ.js";import{a as we,e as Ce}from"./chunk-SEU5V7I6.js";import{b as $}from"./chunk-ZPP2KOR4.js";import"./chunk-CKSHCYGC.js";import{f as H}from"./chunk-XLXNLJ4N.js";import"./chunk-ZHVTQ37P.js";import"./chunk-3OA7PECS.js";import{d as Y,g as ze,j as Ae,k as Ue,o as Fe}from"./chunk-E75ANNWX.js";import"./chunk-JHKMUTIF.js";import{a as i,e as je,f as _e,g as et,h as tt}from"./chunk-RRCPZMC2.js";var k=je(_e(),1);var Q=je(et(),1);var t=je(tt(),1);var st=i(()=>{let u=(0,Q.c)(3),{config:e,ready:a}=Oe(),l;return u[0]!==e.capabilities||u[1]!==a?(l={capabilities:e.capabilities,ready:a},u[0]=e.capabilities,u[1]=a,u[2]=l):l=u[2],l},"useAuthCapabilities"),lt={boolean:"checkbox",date:"datetime-local",number:"number",string:"text"},at=i((u,e)=>u.type==="boolean"?!0:typeof e!="string"||e.trim()===""?!1:u.type!=="number"||!Number.isNaN(Number(e.trim())),"isFieldFilled"),it=i((u,e)=>{if(u.type==="boolean")return e===!0?{value:!0}:u.required?{value:!1}:void 0;let a=typeof e=="string"?e.trim():"";if(a!==""){if(u.type==="number"){let l=Number(a);return Number.isNaN(l)?void 0:{value:l}}return{value:a}}},"coerceFieldValue"),ot=i(u=>{let e=(0,Q.c)(105),{onClose:a,onCreated:l}=u,c=H(),s=Y(),{config:r}=Oe(),{busy:o,error:n,run:f}=Je(),[w,S]=(0,k.useState)(""),[x,C]=(0,k.useState)(""),[y,F]=(0,k.useState)(""),[v,g]=(0,k.useState)(""),p;e[0]===Symbol.for("react.memo_cache_sentinel")?(p={},e[0]=p):p=e[0];let[h,d]=(0,k.useState)(p),A;e[1]===Symbol.for("react.memo_cache_sentinel")?(A=i(m=>{S(m.target.value)},"t2"),e[1]=A):A=e[1];let b=A,I;e[2]===Symbol.for("react.memo_cache_sentinel")?(I=i(m=>{C(m.target.value)},"t3"),e[2]=I):I=e[2];let M=I,E;e[3]===Symbol.for("react.memo_cache_sentinel")?(E=i(m=>{F(m.target.value)},"t4"),e[3]=E):E=e[3];let Be=E,Z;e[4]===Symbol.for("react.memo_cache_sentinel")?(Z=i(m=>{g(m.target.value)},"t5"),e[4]=Z):Z=e[4];let $e=Z,G;e[5]===Symbol.for("react.memo_cache_sentinel")?(G=i((m,P)=>{d(q=>({...q,[m]:P}))},"t6"),e[5]=G):G=e[5];let Ee=G,W;e[6]!==h?(W=i(m=>h[m.name]??(m.type==="boolean"?!1:""),"t7"),e[6]=h,e[7]=W):W=e[7];let T=W,J;if(e[8]!==r.userFields||e[9]!==T){let m;e[11]!==T?(m=i(P=>!P.required||at(P,T(P)),"t92"),e[11]=T,e[12]=m):m=e[12],J=r.userFields.every(m),e[8]=r.userFields,e[9]=T,e[10]=J}else J=e[10];let Ie=J,K;e[13]!==o||e[14]!==w||e[15]!==x||e[16]!==Ie?(K=!o&&w.trim()!==""&&x.trim()!==""&&Ie,e[13]=o,e[14]=w,e[15]=x,e[16]=Ie,e[17]=K):K=e[17];let Ve=K,X;e[18]!==r.userFields||e[19]!==T?(X=i(()=>{let m={};for(let P of r.userFields){let q=it(P,T(P));q!==void 0&&(m[P.name]=q.value)}return Object.keys(m).length===0?void 0:m},"t10"),e[18]=r.userFields,e[19]=T,e[20]=X):X=e[20];let Se=X,_;e[21]!==Se||e[22]!==c||e[23]!==w||e[24]!==x||e[25]!==a||e[26]!==l||e[27]!==y||e[28]!==v||e[29]!==f?(_=i(()=>{f(async()=>{await c.createAuthUser({data:Se(),email:w.trim(),name:x.trim(),password:y===""?void 0:y,role:v.trim()===""?void 0:v.trim()}),l(),a()})},"t11"),e[21]=Se,e[22]=c,e[23]=w,e[24]=x,e[25]=a,e[26]=l,e[27]=y,e[28]=v,e[29]=f,e[30]=_):_=e[30];let N=_,z;e[31]!==s?(z=s("Create user"),e[31]=s,e[32]=z):z=e[32];let L;e[33]!==s?(L=s("Create user"),e[33]=s,e[34]=L):L=e[34];let O;e[35]!==L?(O=(0,t.jsxDEV)("h2",{className:"text-sm font-semibold text-foreground",children:L},void 0,!1),e[35]=L,e[36]=O):O=e[36];let ee;e[37]!==s?(ee=s("email"),e[37]=s,e[38]=ee):ee=e[38];let te;e[39]!==ee?(te=(0,t.jsxDEV)(V,{htmlFor:"uc-email",children:ee},void 0,!1),e[39]=ee,e[40]=te):te=e[40];let se;e[41]!==w?(se=(0,t.jsxDEV)(B,{"data-testid":"uc-email",id:"uc-email",onChange:b,type:"email",value:w},void 0,!1),e[41]=w,e[42]=se):se=e[42];let le;e[43]!==te||e[44]!==se?(le=(0,t.jsxDEV)("div",{className:"flex flex-col gap-1",children:[te,se]},void 0,!0),e[43]=te,e[44]=se,e[45]=le):le=e[45];let ae;e[46]!==s?(ae=s("name"),e[46]=s,e[47]=ae):ae=e[47];let ie;e[48]!==ae?(ie=(0,t.jsxDEV)(V,{htmlFor:"uc-name",children:ae},void 0,!1),e[48]=ae,e[49]=ie):ie=e[49];let oe;e[50]!==x?(oe=(0,t.jsxDEV)(B,{"data-testid":"uc-name",id:"uc-name",onChange:M,value:x},void 0,!1),e[50]=x,e[51]=oe):oe=e[51];let ne;e[52]!==ie||e[53]!==oe?(ne=(0,t.jsxDEV)("div",{className:"flex flex-col gap-1",children:[ie,oe]},void 0,!0),e[52]=ie,e[53]=oe,e[54]=ne):ne=e[54];let de;e[55]!==s?(de=s("Password (optional)"),e[55]=s,e[56]=de):de=e[56];let re;e[57]!==de?(re=(0,t.jsxDEV)(V,{htmlFor:"uc-password",children:de},void 0,!1),e[57]=de,e[58]=re):re=e[58];let ce;e[59]!==y?(ce=(0,t.jsxDEV)(B,{"data-testid":"uc-password",id:"uc-password",onChange:Be,type:"password",value:y},void 0,!1),e[59]=y,e[60]=ce):ce=e[60];let ue;e[61]!==re||e[62]!==ce?(ue=(0,t.jsxDEV)("div",{className:"flex flex-col gap-1",children:[re,ce]},void 0,!0),e[61]=re,e[62]=ce,e[63]=ue):ue=e[63];let fe;e[64]!==s?(fe=s("Role (optional)"),e[64]=s,e[65]=fe):fe=e[65];let ve;e[66]!==fe?(ve=(0,t.jsxDEV)(V,{htmlFor:"uc-role",children:fe},void 0,!1),e[66]=fe,e[67]=ve):ve=e[67];let me;e[68]!==v?(me=(0,t.jsxDEV)(B,{"data-testid":"uc-role",id:"uc-role",onChange:$e,value:v},void 0,!1),e[68]=v,e[69]=me):me=e[69];let he;e[70]!==ve||e[71]!==me?(he=(0,t.jsxDEV)("div",{className:"flex flex-col gap-1",children:[ve,me]},void 0,!0),e[70]=ve,e[71]=me,e[72]=he):he=e[72];let pe;e[73]!==r.userFields||e[74]!==T||e[75]!==s?(pe=r.userFields.length>0&&(0,t.jsxDEV)("div",{className:"flex flex-col gap-3 border-t border-border pt-3","data-testid":"uc-plugin-fields",children:[(0,t.jsxDEV)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:s("Plugin fields")},void 0,!1),r.userFields.map(m=>{let P=`uc-field-${m.name}`,q=m.required?"":` (${s("optional")})`;if(m.type==="boolean"){let Le=T(m)===!0;return(0,t.jsxDEV)("label",{className:"flex items-center gap-2",htmlFor:P,children:[(0,t.jsxDEV)(Ke,{checked:Le,"data-testid":P,id:P,onCheckedChange:i(Xe=>{Ee(m.name,Xe)},"onCheckedChange")},void 0,!1),(0,t.jsxDEV)("span",{className:"text-sm",children:[m.name,q]},void 0,!0)]},m.name,!0)}let Ye=T(m);return(0,t.jsxDEV)("div",{className:"flex flex-col gap-1",children:[(0,t.jsxDEV)(V,{htmlFor:P,children:[m.name,q]},void 0,!0),(0,t.jsxDEV)(B,{"data-testid":P,id:P,onChange:i(Le=>{Ee(m.name,Le.target.value)},"onChange"),type:lt[m.type],value:typeof Ye=="string"?Ye:""},void 0,!1)]},m.name,!0)})]},void 0,!0),e[73]=r.userFields,e[74]=T,e[75]=s,e[76]=pe):pe=e[76];let be;e[77]!==n?(be=n!==null&&(0,t.jsxDEV)("p",{className:"text-sm text-destructive","data-testid":"uc-error",role:"alert",children:n},void 0,!1),e[77]=n,e[78]=be):be=e[78];let xe;e[79]!==s?(xe=s("Cancel"),e[79]=s,e[80]=xe):xe=e[80];let ye;e[81]!==a||e[82]!==xe?(ye=(0,t.jsxDEV)(U,{"data-testid":"uc-cancel",onClick:a,size:"sm",type:"button",variant:"outline",children:xe},void 0,!1),e[81]=a,e[82]=xe,e[83]=ye):ye=e[83];let Me=!Ve,ge;e[84]!==o||e[85]!==s?(ge=s(o?"Creating\u2026":"Create"),e[84]=o,e[85]=s,e[86]=ge):ge=e[86];let Ne;e[87]!==N||e[88]!==Me||e[89]!==ge?(Ne=(0,t.jsxDEV)(U,{"data-testid":"uc-submit",disabled:Me,onClick:N,size:"sm",type:"button",children:ge},void 0,!1),e[87]=N,e[88]=Me,e[89]=ge,e[90]=Ne):Ne=e[90];let ke;e[91]!==ye||e[92]!==Ne?(ke=(0,t.jsxDEV)("div",{className:"flex justify-end gap-2 pt-1",children:[ye,Ne]},void 0,!0),e[91]=ye,e[92]=Ne,e[93]=ke):ke=e[93];let Te;return e[94]!==a||e[95]!==z||e[96]!==O||e[97]!==le||e[98]!==ne||e[99]!==ue||e[100]!==he||e[101]!==pe||e[102]!==be||e[103]!==ke?(Te=(0,t.jsxDEV)(qe,{label:z,onClose:a,panelTestId:"uc-dialog",testId:"uc-overlay",variant:"dialog",children:[O,le,ne,ue,he,pe,be,ke]},void 0,!0),e[94]=a,e[95]=z,e[96]=O,e[97]=le,e[98]=ne,e[99]=ue,e[100]=he,e[101]=pe,e[102]=be,e[103]=ke,e[104]=Te):Te=e[104],Te},"UserCreateDialog"),He=i(u=>{let e=(0,Q.c)(2),{children:a}=u,l;return e[0]!==a?(l=(0,t.jsxDEV)("h3",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:a},void 0,!1),e[0]=a,e[1]=l):l=e[1],l},"SectionHeading"),nt=i(u=>{let e=(0,Q.c)(29),{busy:a,runAction:l,userId:c,version:s}=u,r=H(),o=Y(),[n,f]=(0,k.useState)(null),[w,S]=(0,k.useState)(null),x;e[0]!==r||e[1]!==c?(x=i(()=>{Ue((async()=>{S(null);try{let b=await r.listAuthSessions({limit:50,userId:c});f(b.rows)}catch(b){let I=b;f(null),S(ze(I))}})())},"t1"),e[0]=r,e[1]=c,e[2]=x):x=e[2];let C;e[3]!==r||e[4]!==c||e[5]!==s?(C=[r,c,s],e[3]=r,e[4]=c,e[5]=s,e[6]=C):C=e[6],(0,k.useEffect)(x,C);let y;e[7]!==r||e[8]!==l?(y=i(b=>{l(()=>r.revokeAuthSession({sessionId:b}))},"t3"),e[7]=r,e[8]=l,e[9]=y):y=e[9];let F=y,v;e[10]!==o?(v=o("Sessions"),e[10]=o,e[11]=v):v=e[11];let g;e[12]!==v?(g=(0,t.jsxDEV)(He,{children:v},void 0,!1),e[12]=v,e[13]=g):g=e[13];let p;e[14]!==w?(p=w!==null&&(0,t.jsxDEV)("p",{className:"text-sm text-destructive","data-testid":"ud-sessions-error",role:"alert",children:w},void 0,!1),e[14]=w,e[15]=p):p=e[15];let h;e[16]!==n||e[17]!==o?(h=n!==null&&n.length===0&&(0,t.jsxDEV)("p",{className:"text-sm text-muted-foreground","data-testid":"ud-sessions-empty",children:o("No active sessions.")},void 0,!1),e[16]=n,e[17]=o,e[18]=h):h=e[18];let d;e[19]!==a||e[20]!==F||e[21]!==n||e[22]!==o?(d=n!==null&&n.length>0&&(0,t.jsxDEV)(we,{className:"overflow-hidden py-0",children:(0,t.jsxDEV)(Ce,{className:"px-0",children:(0,t.jsxDEV)(De,{"data-testid":"ud-sessions-table",children:[(0,t.jsxDEV)(Re,{children:(0,t.jsxDEV)(j,{children:[(0,t.jsxDEV)(D,{children:o("expires")},void 0,!1),(0,t.jsxDEV)(D,{children:o("ip")},void 0,!1),(0,t.jsxDEV)(D,{children:o("user agent")},void 0,!1),(0,t.jsxDEV)(D,{"aria-label":o("Actions")},void 0,!1)]},void 0,!0)},void 0,!1),(0,t.jsxDEV)(Pe,{children:n.map(b=>(0,t.jsxDEV)(j,{"data-testid":`ud-session-${b.id}`,children:[(0,t.jsxDEV)(R,{className:"text-muted-foreground tabular-nums",children:Fe(b.expiresAt)},void 0,!1),(0,t.jsxDEV)(R,{children:b.ipAddress??""},void 0,!1),(0,t.jsxDEV)(R,{className:"max-w-40 truncate",children:b.userAgent??""},void 0,!1),(0,t.jsxDEV)(R,{children:(0,t.jsxDEV)(U,{"data-testid":`ud-revoke-${b.id}`,disabled:a,onClick:i(()=>{F(b.id)},"onClick"),size:"xs",type:"button",variant:"ghost",children:o("Revoke")},void 0,!1)},void 0,!1)]},b.id,!0))},void 0,!1)]},void 0,!0)},void 0,!1)},void 0,!1),e[19]=a,e[20]=F,e[21]=n,e[22]=o,e[23]=d):d=e[23];let A;return e[24]!==g||e[25]!==p||e[26]!==h||e[27]!==d?(A=(0,t.jsxDEV)("div",{className:"flex flex-col gap-2","data-testid":"ud-sessions",children:[g,p,h,d]},void 0,!0),e[24]=g,e[25]=p,e[26]=h,e[27]=d,e[28]=A):A=e[28],A},"UserSessionsPanel"),dt=i(u=>{let e=(0,Q.c)(30),{busy:a,runAction:l,userId:c,version:s}=u,r=H(),o=Y(),[n,f]=(0,k.useState)(null),[w,S]=(0,k.useState)(null),x;e[0]!==r||e[1]!==c?(x=i(()=>{Ue((async()=>{S(null);try{f(await r.listAuthAccounts({userId:c}))}catch(b){let I=b;f(null),S(ze(I))}})())},"t1"),e[0]=r,e[1]=c,e[2]=x):x=e[2];let C;e[3]!==r||e[4]!==c||e[5]!==s?(C=[r,c,s],e[3]=r,e[4]=c,e[5]=s,e[6]=C):C=e[6],(0,k.useEffect)(x,C);let y;e[7]!==r||e[8]!==l||e[9]!==c?(y=i(b=>{l(()=>r.unlinkAuthAccount({accountId:b,userId:c}))},"t3"),e[7]=r,e[8]=l,e[9]=c,e[10]=y):y=e[10];let F=y,v;e[11]!==o?(v=o("Linked accounts"),e[11]=o,e[12]=v):v=e[12];let g;e[13]!==v?(g=(0,t.jsxDEV)(He,{children:v},void 0,!1),e[13]=v,e[14]=g):g=e[14];let p;e[15]!==w?(p=w!==null&&(0,t.jsxDEV)("p",{className:"text-sm text-destructive",role:"alert",children:w},void 0,!1),e[15]=w,e[16]=p):p=e[16];let h;e[17]!==n||e[18]!==o?(h=n!==null&&n.length===0&&(0,t.jsxDEV)("p",{className:"text-sm text-muted-foreground",children:o("No linked accounts.")},void 0,!1),e[17]=n,e[18]=o,e[19]=h):h=e[19];let d;e[20]!==n||e[21]!==a||e[22]!==F||e[23]!==o?(d=n!==null&&n.length>0&&(0,t.jsxDEV)(we,{className:"overflow-hidden py-0",children:(0,t.jsxDEV)(Ce,{className:"px-0",children:(0,t.jsxDEV)(De,{"data-testid":"ud-accounts-table",children:[(0,t.jsxDEV)(Re,{children:(0,t.jsxDEV)(j,{children:[(0,t.jsxDEV)(D,{children:o("provider")},void 0,!1),(0,t.jsxDEV)(D,{children:o("created")},void 0,!1),(0,t.jsxDEV)(D,{"aria-label":o("Actions")},void 0,!1)]},void 0,!0)},void 0,!1),(0,t.jsxDEV)(Pe,{children:n.map(b=>{let I=Ae(b.id);return(0,t.jsxDEV)(j,{"data-testid":`ud-account-${I}`,children:[(0,t.jsxDEV)(R,{children:Ae(b.providerId)},void 0,!1),(0,t.jsxDEV)(R,{className:"text-muted-foreground tabular-nums",children:Fe(b.createdAt)},void 0,!1),(0,t.jsxDEV)(R,{children:(0,t.jsxDEV)(U,{"data-testid":`ud-unlink-${I}`,disabled:a,onClick:i(()=>{F(I)},"onClick"),size:"xs",type:"button",variant:"ghost",children:o("Unlink")},void 0,!1)},void 0,!1)]},I,!0)})},void 0,!1)]},void 0,!0)},void 0,!1)},void 0,!1),e[20]=n,e[21]=a,e[22]=F,e[23]=o,e[24]=d):d=e[24];let A;return e[25]!==g||e[26]!==p||e[27]!==h||e[28]!==d?(A=(0,t.jsxDEV)("div",{className:"flex flex-col gap-2","data-testid":"ud-accounts",children:[g,p,h,d]},void 0,!0),e[25]=g,e[26]=p,e[27]=h,e[28]=d,e[29]=A):A=e[29],A},"UserAccountsPanel"),rt=i(u=>{let e=(0,Q.c)(40),{busy:a,capabilities:l,runAction:c,userId:s,version:r}=u,o=H(),n=Y(),[f,w]=(0,k.useState)(null),S;e[0]!==l.passkey||e[1]!==o||e[2]!==s?(S=i(()=>{l.passkey&&Ue((async()=>{try{w(await o.listAuthPasskeys({userId:s}))}catch{w(null)}})())},"t1"),e[0]=l.passkey,e[1]=o,e[2]=s,e[3]=S):S=e[3];let x;e[4]!==l.passkey||e[5]!==o||e[6]!==s||e[7]!==r?(x=[l.passkey,o,s,r],e[4]=l.passkey,e[5]=o,e[6]=s,e[7]=r,e[8]=x):x=e[8],(0,k.useEffect)(S,x);let C;e[9]!==o||e[10]!==c||e[11]!==s?(C=i(()=>{c(()=>o.disableAuthTwoFactor({userId:s}))},"t3"),e[9]=o,e[10]=c,e[11]=s,e[12]=C):C=e[12];let y=C,F;e[13]!==o||e[14]!==c?(F=i(I=>{c(()=>o.deleteAuthPasskey({passkeyId:I}))},"t4"),e[13]=o,e[14]=c,e[15]=F):F=e[15];let v=F,g;e[16]!==n?(g=n("Security"),e[16]=n,e[17]=g):g=e[17];let p;e[18]!==g?(p=(0,t.jsxDEV)(He,{children:g},void 0,!1),e[18]=g,e[19]=p):p=e[19];let h;e[20]!==a||e[21]!==l.twoFactor||e[22]!==y||e[23]!==n?(h=l.twoFactor&&(0,t.jsxDEV)(U,{"data-testid":"ud-disable-2fa",disabled:a,onClick:y,size:"sm",type:"button",variant:"outline",children:n("Disable two-factor")},void 0,!1),e[20]=a,e[21]=l.twoFactor,e[22]=y,e[23]=n,e[24]=h):h=e[24];let d;e[25]!==l.passkey||e[26]!==f||e[27]!==n?(d=l.passkey&&f!==null&&f.length===0&&(0,t.jsxDEV)("p",{className:"text-sm text-muted-foreground",children:n("No passkeys.")},void 0,!1),e[25]=l.passkey,e[26]=f,e[27]=n,e[28]=d):d=e[28];let A;e[29]!==a||e[30]!==l.passkey||e[31]!==v||e[32]!==f||e[33]!==n?(A=l.passkey&&f!==null&&f.length>0&&(0,t.jsxDEV)(we,{className:"overflow-hidden py-0",children:(0,t.jsxDEV)(Ce,{className:"px-0",children:(0,t.jsxDEV)(De,{"data-testid":"ud-passkeys-table",children:[(0,t.jsxDEV)(Re,{children:(0,t.jsxDEV)(j,{children:[(0,t.jsxDEV)(D,{children:n("name")},void 0,!1),(0,t.jsxDEV)(D,{children:n("created")},void 0,!1),(0,t.jsxDEV)(D,{"aria-label":n("Actions")},void 0,!1)]},void 0,!0)},void 0,!1),(0,t.jsxDEV)(Pe,{children:f.map(I=>{let M=Ae(I.id);return(0,t.jsxDEV)(j,{"data-testid":`ud-passkey-${M}`,children:[(0,t.jsxDEV)(R,{children:Ae(I.name)||M},void 0,!1),(0,t.jsxDEV)(R,{className:"text-muted-foreground tabular-nums",children:Fe(I.createdAt)},void 0,!1),(0,t.jsxDEV)(R,{children:(0,t.jsxDEV)(U,{"data-testid":`ud-delete-passkey-${M}`,disabled:a,onClick:i(()=>{v(M)},"onClick"),size:"xs",type:"button",variant:"ghost",children:n("Delete")},void 0,!1)},void 0,!1)]},M,!0)})},void 0,!1)]},void 0,!0)},void 0,!1)},void 0,!1),e[29]=a,e[30]=l.passkey,e[31]=v,e[32]=f,e[33]=n,e[34]=A):A=e[34];let b;return e[35]!==p||e[36]!==h||e[37]!==d||e[38]!==A?(b=(0,t.jsxDEV)("div",{className:"flex flex-col gap-2","data-testid":"ud-security",children:[p,h,d,A]},void 0,!0),e[35]=p,e[36]=h,e[37]=d,e[38]=A,e[39]=b):b=e[39],b},"UserSecurityPanel"),ct=/(?:at|expires)$/iu,ut=new Set(["banExpires","banned","banReason","email","emailVerified","id","name","role"]),ft=i((u,e)=>typeof e=="number"&&ct.test(u)?Fe(e):Ae(e),"formatField"),vt=i(({capabilities:u,onChanged:e,onClose:a,user:l})=>{let c=H(),s=Y(),r=l.banned===!0,[o,n]=(0,k.useState)(null),[f,w]=(0,k.useState)(!1),[S,x]=(0,k.useState)(0),[C,y]=(0,k.useState)(typeof l.role=="string"?l.role:""),[F,v]=(0,k.useState)(""),[g,p]=(0,k.useState)(""),[h,d]=(0,k.useState)(""),[A,b]=(0,k.useState)(null),[I,M]=(0,k.useState)(!1),E=i((N,z)=>{Ue((async()=>{w(!0),n(null);try{let L=await N();z?.refresh!==!1&&(x(O=>O+1),e()),z?.onResult?.(L)}catch(L){n(ze(L))}finally{w(!1)}})())},"runAction"),Be=i(N=>{y(N.target.value)},"onRoleInputChange"),Z=i(N=>{v(N.target.value)},"onBanReasonChange"),$e=i(N=>{p(N.target.value)},"onBanDaysChange"),G=i(N=>{d(N.target.value)},"onNewPasswordChange"),Ee=i(()=>{let N=C.trim();N!==""&&E(async()=>{await c.setAuthUserRole({role:N,userId:l.id})})},"onSetRole"),W=i(()=>{let N=Number.parseInt(g,10),z=Number.isFinite(N)&&N>0?N*86400:void 0;E(async()=>{await c.banAuthUser({expiresInSeconds:z,reason:F.trim()===""?void 0:F.trim(),userId:l.id})})},"onBan"),T=i(()=>{E(async()=>{await c.unbanAuthUser({userId:l.id})})},"onUnban"),J=i(()=>{E(async()=>{await c.setAuthUserPassword({newPassword:h,userId:l.id}),d("")})},"onSetPassword"),Ie=i(()=>{E(()=>c.impersonateAuthUser({userId:l.id}),{onResult:i(N=>{b(N.token)},"onResult"),refresh:!1})},"onImpersonate"),K=i(()=>{E(async()=>{await c.revokeAuthUserSessions({userId:l.id})})},"onRevokeAll"),Ve=i(()=>{E(async()=>{await c.removeAuthUser({userId:l.id}),a()})},"onDelete"),X=i(()=>{M(!0)},"onConfirmDelete"),Se=i(()=>{M(!1)},"onCancelDelete"),_=Object.entries(l).filter(([N])=>!ut.has(N));return(0,t.jsxDEV)(qe,{label:s("User details"),onClose:a,panelTestId:"ud-panel",testId:"ud-overlay",variant:"drawer",children:[(0,t.jsxDEV)("div",{className:"flex items-start justify-between gap-2",children:[(0,t.jsxDEV)("div",{className:"flex flex-col gap-1",children:[(0,t.jsxDEV)("h2",{className:"text-sm font-semibold text-foreground",children:l.name??l.email??l.id},void 0,!1),(0,t.jsxDEV)("p",{className:"font-mono text-xs text-muted-foreground",children:l.id},void 0,!1),(0,t.jsxDEV)("div",{className:"flex flex-wrap items-center gap-1.5 pt-1",children:[typeof l.role=="string"&&l.role!==""&&(0,t.jsxDEV)($,{variant:"secondary",children:l.role},void 0,!1),r?(0,t.jsxDEV)($,{variant:"destructive",children:s("Banned")},void 0,!1):(0,t.jsxDEV)($,{variant:"outline",children:s("Active")},void 0,!1),l.emailVerified===!0?(0,t.jsxDEV)($,{variant:"secondary",children:s("verified")},void 0,!1):(0,t.jsxDEV)($,{variant:"outline",children:s("unverified")},void 0,!1)]},void 0,!0)]},void 0,!0),(0,t.jsxDEV)(U,{"data-testid":"ud-close",onClick:a,size:"sm",type:"button",variant:"ghost",children:s("Close")},void 0,!1)]},void 0,!0),o!==null&&(0,t.jsxDEV)("p",{className:"text-sm text-destructive","data-testid":"ud-action-error",role:"alert",children:o},void 0,!1),u.admin&&(0,t.jsxDEV)(we,{className:"gap-0 py-0",children:[(0,t.jsxDEV)("header",{className:"border-b border-border px-4 py-3",children:(0,t.jsxDEV)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:s("Actions")},void 0,!1)},void 0,!1),(0,t.jsxDEV)(Ce,{className:"flex flex-col gap-3 p-3",children:[(0,t.jsxDEV)("div",{className:"flex items-end gap-2",children:[(0,t.jsxDEV)("div",{className:"flex flex-1 flex-col gap-1",children:[(0,t.jsxDEV)(V,{htmlFor:"ud-role",children:s("Role")},void 0,!1),(0,t.jsxDEV)(B,{"data-testid":"ud-role-input",id:"ud-role",onChange:Be,value:C},void 0,!1)]},void 0,!0),(0,t.jsxDEV)(U,{"data-testid":"ud-set-role",disabled:f||C.trim()==="",onClick:Ee,size:"sm",type:"button",variant:"outline",children:s("Set role")},void 0,!1)]},void 0,!0),r?(0,t.jsxDEV)(U,{"data-testid":"ud-unban",disabled:f,onClick:T,size:"sm",type:"button",variant:"outline",children:s("Unban")},void 0,!1):(0,t.jsxDEV)("div",{className:"flex items-end gap-2",children:[(0,t.jsxDEV)("div",{className:"flex flex-1 flex-col gap-1",children:[(0,t.jsxDEV)(V,{htmlFor:"ud-ban-reason",children:s("Ban reason (optional)")},void 0,!1),(0,t.jsxDEV)(B,{"data-testid":"ud-ban-reason",id:"ud-ban-reason",onChange:Z,value:F},void 0,!1)]},void 0,!0),(0,t.jsxDEV)("div",{className:"flex w-24 flex-col gap-1",children:[(0,t.jsxDEV)(V,{htmlFor:"ud-ban-days",children:s("Days")},void 0,!1),(0,t.jsxDEV)(B,{"data-testid":"ud-ban-days",id:"ud-ban-days",onChange:$e,type:"number",value:g},void 0,!1)]},void 0,!0),(0,t.jsxDEV)(U,{"data-testid":"ud-ban",disabled:f,onClick:W,size:"sm",type:"button",variant:"destructive",children:s("Ban user")},void 0,!1)]},void 0,!0),(0,t.jsxDEV)("div",{className:"flex items-end gap-2",children:[(0,t.jsxDEV)("div",{className:"flex flex-1 flex-col gap-1",children:[(0,t.jsxDEV)(V,{htmlFor:"ud-password",children:s("New password")},void 0,!1),(0,t.jsxDEV)(B,{"data-testid":"ud-password",id:"ud-password",onChange:G,type:"password",value:h},void 0,!1)]},void 0,!0),(0,t.jsxDEV)(U,{"data-testid":"ud-set-password",disabled:f||h==="",onClick:J,size:"sm",type:"button",variant:"outline",children:s("Set password")},void 0,!1)]},void 0,!0),(0,t.jsxDEV)("div",{className:"flex flex-wrap gap-2",children:[(0,t.jsxDEV)(U,{"data-testid":"ud-impersonate",disabled:f,onClick:Ie,size:"sm",type:"button",variant:"outline",children:s("Impersonate")},void 0,!1),(0,t.jsxDEV)(U,{"data-testid":"ud-revoke-all",disabled:f,onClick:K,size:"sm",type:"button",variant:"outline",children:s("Revoke all sessions")},void 0,!1),I?(0,t.jsxDEV)(t.Fragment,{children:[(0,t.jsxDEV)(U,{"data-testid":"ud-delete-confirm",disabled:f,onClick:Ve,size:"sm",type:"button",variant:"destructive",children:s("Confirm delete")},void 0,!1),(0,t.jsxDEV)(U,{"data-testid":"ud-delete-cancel",onClick:Se,size:"sm",type:"button",variant:"ghost",children:s("Cancel")},void 0,!1)]},void 0,!0):(0,t.jsxDEV)(U,{"data-testid":"ud-delete",disabled:f,onClick:X,size:"sm",type:"button",variant:"destructive",children:s("Delete user")},void 0,!1)]},void 0,!0),A!==null&&(0,t.jsxDEV)("div",{className:"flex flex-col gap-1","data-testid":"ud-impersonation",children:[(0,t.jsxDEV)(V,{htmlFor:"ud-token",children:s("Impersonation token")},void 0,!1),(0,t.jsxDEV)(B,{"data-testid":"ud-token",id:"ud-token",readOnly:!0,value:A},void 0,!1)]},void 0,!0)]},void 0,!0)]},void 0,!0),(0,t.jsxDEV)(nt,{busy:f,runAction:E,userId:l.id,version:S},void 0,!1),u.accounts&&(0,t.jsxDEV)(dt,{busy:f,runAction:E,userId:l.id,version:S},void 0,!1),(u.twoFactor||u.passkey)&&(0,t.jsxDEV)(rt,{busy:f,capabilities:u,runAction:E,userId:l.id,version:S},void 0,!1),(0,t.jsxDEV)("div",{className:"flex flex-col gap-1","data-testid":"ud-fields",children:[(0,t.jsxDEV)("h3",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:s("Fields")},void 0,!1),(0,t.jsxDEV)("dl",{className:"flex flex-col",children:_.map(([N,z])=>(0,t.jsxDEV)("div",{className:"flex flex-col border-t border-border py-1.5",children:[(0,t.jsxDEV)("dt",{className:"text-xs font-semibold text-muted-foreground",children:N},void 0,!1),(0,t.jsxDEV)("dd",{className:"m-0 font-mono text-xs break-words",children:ft(N,z)},void 0,!1)]},N,!0))},void 0,!1)]},void 0,!0)]},void 0,!0)},"UserDetailDrawer"),mt=50,Rt=i(({pageSize:u=mt}={})=>{let e=H(),a=Y(),[l,c]=(0,k.useState)(""),[s,r]=(0,k.useState)(""),o=Ge(l),[n,f]=(0,k.useState)(null),[w,S]=(0,k.useState)(!1),{capabilities:x}=st(),C=o.trim(),y=s.trim(),F=Ze(["lunora-auth-users",C,y,u],()=>e.listAuthUsers({filterField:y===""?void 0:"role",filterValue:y===""?void 0:y,limit:u,search:C===""?void 0:C}),{keepPreviousData:!0}),v=F.data?.rows??null,g=F.error,p=i(()=>{F.refetch()},"reloadUsers");We(()=>{F.refetch()},!0);let h=n===null?null:v?.find(d=>d.id===n)??null;return(0,t.jsxDEV)("div",{className:"flex flex-col gap-4","data-testid":"lunora-users",children:[(0,t.jsxDEV)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsxDEV)(B,{"aria-label":a("Search users"),className:"w-56","data-testid":"us-search",onChange:i(d=>{c(d.target.value)},"onChange"),placeholder:a("Search by email or name\u2026"),value:l},void 0,!1),(0,t.jsxDEV)(B,{"aria-label":a("Filter by role"),className:"w-40","data-testid":"us-role-filter",onChange:i(d=>{r(d.target.value)},"onChange"),placeholder:a("Filter by role"),value:s},void 0,!1),(0,t.jsxDEV)(U,{"data-testid":"us-new",onClick:i(()=>{S(!0)},"onClick"),size:"sm",type:"button",children:a("New user")},void 0,!1)]},void 0,!0),g!==null&&(0,t.jsxDEV)("p",{className:"text-sm text-destructive","data-testid":"us-users-error",role:"alert",children:g},void 0,!1),v!==null&&v.length===0&&(0,t.jsxDEV)(Qe,{description:a("Users who sign up to your app will appear here."),icon:(0,t.jsxDEV)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,t.jsxDEV)("path",{d:"M16 20v-2a4 4 0 0 0-4-4H7a4 4 0 0 0-4 4v2M9.5 10a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm11.5 10v-2a4 4 0 0 0-3-3.85"},void 0,!1)},void 0,!1),testId:"us-empty",title:a("No users.")},void 0,!1),v!==null&&v.length>0&&(0,t.jsxDEV)(we,{className:"overflow-hidden py-0",children:(0,t.jsxDEV)(Ce,{className:"px-0",children:(0,t.jsxDEV)(De,{"data-testid":"us-table",children:[(0,t.jsxDEV)(Re,{children:(0,t.jsxDEV)(j,{children:[(0,t.jsxDEV)(D,{children:a("id")},void 0,!1),(0,t.jsxDEV)(D,{children:a("email")},void 0,!1),(0,t.jsxDEV)(D,{children:a("name")},void 0,!1),(0,t.jsxDEV)(D,{children:a("role")},void 0,!1),(0,t.jsxDEV)(D,{children:a("status")},void 0,!1),(0,t.jsxDEV)(D,{children:a("verified")},void 0,!1),(0,t.jsxDEV)(D,{children:a("created")},void 0,!1),(0,t.jsxDEV)(D,{"aria-label":a("Actions")},void 0,!1)]},void 0,!0)},void 0,!1),(0,t.jsxDEV)(Pe,{children:v.map(d=>(0,t.jsxDEV)(j,{"data-testid":`us-row-${d.id}`,children:[(0,t.jsxDEV)(R,{className:"font-mono text-xs",children:d.id},void 0,!1),(0,t.jsxDEV)(R,{children:d.email??""},void 0,!1),(0,t.jsxDEV)(R,{children:d.name??""},void 0,!1),(0,t.jsxDEV)(R,{children:typeof d.role=="string"&&d.role!==""?(0,t.jsxDEV)($,{variant:"secondary",children:d.role},void 0,!1):""},void 0,!1),(0,t.jsxDEV)(R,{children:d.banned===!0?(0,t.jsxDEV)($,{variant:"destructive",children:a("Banned")},void 0,!1):(0,t.jsxDEV)($,{variant:"success",children:a("Active")},void 0,!1)},void 0,!1),(0,t.jsxDEV)(R,{children:d.emailVerified===!0?(0,t.jsxDEV)($,{variant:"success",children:a("yes")},void 0,!1):(0,t.jsxDEV)($,{variant:"outline",children:a("no")},void 0,!1)},void 0,!1),(0,t.jsxDEV)(R,{className:"text-muted-foreground tabular-nums",children:Fe(d.createdAt)},void 0,!1),(0,t.jsxDEV)(R,{children:(0,t.jsxDEV)(U,{"data-testid":`us-manage-${d.id}`,onClick:i(()=>{f(d.id)},"onClick"),size:"xs",type:"button",variant:"ghost",children:a("Manage")},void 0,!1)},void 0,!1)]},d.id,!0))},void 0,!1)]},void 0,!0)},void 0,!1)},void 0,!1),h!==null&&(0,t.jsxDEV)(vt,{capabilities:x,onChanged:p,onClose:i(()=>{f(null)},"onClose"),user:h},void 0,!1),w&&(0,t.jsxDEV)(ot,{onClose:i(()=>{S(!1)},"onClose"),onCreated:p},void 0,!1)]},void 0,!0)},"UsersPanel");export{Rt as UsersPanel};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import{a as t}from"./chunk-RRCPZMC2.js";var r={BAD_REQUEST:{status:400,title:"Bad request"},UNAUTHORIZED:{status:401,title:"Unauthorized"},FORBIDDEN:{status:403,title:"Forbidden"},NOT_FOUND:{status:404,title:"Not found"},CONFLICT:{hint:["Another write changed this row while your mutation was running (optimistic concurrency conflict).","","Re-read the row and retry the mutation with the fresh value. Lunora serializes a DO's mutations, so a persistent conflict usually means the handler conflicts **with itself** (e.g. a trigger or cascade touching the same row) \u2014 split that work rather than adding a retry loop."],status:409,title:"Conflict"},NOT_UNIQUE:{hint:["`.unique()` matched more than one document \u2014 it expects the query to identify at most one row.","","- If several matches are legitimate, use `.first()` (take one) or `.collect()` (take all) instead.","- Otherwise tighten the query (e.g. filter on a unique/indexed field) so it can only match one row."],status:400,title:"Query matched more than one document"},VALIDATION_ERROR:{status:400,title:"Validation failed"},TOO_MANY_REQUESTS:{status:429,title:"Too many requests"},UNPROCESSABLE:{status:422,title:"Unprocessable"},NOT_IMPLEMENTED:{status:501,title:"Not implemented"},FUNCTION_NOT_FOUND:{status:404,title:"Function not found"},METHOD_NOT_ALLOWED:{status:405,title:"Method not allowed"},PAYLOAD_TOO_LARGE:{status:413,title:"Payload too large"},INTERNAL:{internal:!0,status:500,title:"Internal error"},INTERNAL_SERVER_ERROR:{internal:!0,status:500,title:"Internal error"},RPC_FAILED:{internal:!0,status:500,title:"Internal error"},COUNT_RLS_UNSUPPORTED:{status:422,title:"count() is unsupported under an RLS policy"},MASK_UNSUPPORTED:{status:422,title:"Aggregation over a masked column is unsupported"},RELATION_PREDICATE_UNSUPPORTED:{status:422,title:"Relation predicate is unsupported in a write policy"},RLS_REQUIRED:{hint:["This table is secure-by-default: it has no `.public()` marker and no RLS policy resolved for the caller, so the read fails closed.","","Add a read policy with `.rls(...)`, or mark the table `.public()` if it is intentionally world-readable."],status:403,title:"RLS policy required"},SHARD_ERROR:{status:503,title:"Shard error"},SHARD_UNAVAILABLE:{status:503,title:"Shard unavailable"},OFFLINE_IDENTITY_CHANGED:{status:409,title:"Offline identity changed"},CODEGEN_DIAGNOSTIC:{status:500,title:"Codegen diagnostic"},SCHEMA_SNAPSHOT_PARSE:{status:500,title:"Schema snapshot parse error"},ENV_INVALID:{internal:!0,status:500,title:"Invalid environment"},AUTH_HEADERS_MISSING:{internal:!0,status:500,title:"Auth headers missing"},ANALYTICS_SQL_ERROR:{status:502,title:"Analytics Engine SQL API error"},R2_SQL_ERROR:{status:502,title:"R2 SQL API error"},WORKFLOWS_REST_ERROR:{status:502,title:"Cloudflare Workflows REST API error"}};var l=[{body:["Lunora codegen couldn't find a schema to generate from.","","Create `lunora/schema.ts` exporting a `defineSchema(...)` call:","","```ts",'import { defineSchema, defineTable, v } from "@lunora/server";',"","export default defineSchema({"," messages: defineTable({ body: v.string() }),","});","```","","Or run `lunora init` to scaffold Lunora (a sample `lunora/schema.ts` included) into your app."].join(`
|
|
2
|
+
`),header:"No Lunora schema found",id:"lunora-schema-missing",test:t(e=>e.includes("defineSchema() not found")||e.includes("schema.ts not found at"),"test")},{body:["`defineSchema(...)` must be called with an **inline object literal** mapping table names to `defineTable(...)`:","","```ts","export default defineSchema({"," todos: defineTable({ title: v.string(), done: v.boolean() }),","});","```","","Codegen reads the schema statically, so it can't follow a variable or a spread \u2014 pass the object literal directly."].join(`
|
|
3
|
+
`),header:"`defineSchema()` needs an inline object literal",id:"lunora-schema-not-object-literal",test:t(e=>e.includes("defineSchema() expects an object literal"),"test")},{body:["This table name collides with a built-in `ctx.db` member, so the generated client can't expose it.","","Rename the table to anything that isn't a reserved name (the error lists them) \u2014 e.g. `userAccounts` instead of `insert`."].join(`
|
|
4
|
+
`),header:"Table name is reserved",id:"lunora-table-reserved",test:t(e=>e.includes("is reserved")&&e.includes("ctx.db"),"test")},{body:["Two tables resolve to the same name \u2014 usually a base table and a schema **extension** both defining it.","","Rename one of them, or drop the duplicate from the extension. Each table name must be unique across `defineSchema(...)` and every `.extend(...)`."].join(`
|
|
5
|
+
`),header:"Duplicate table name",id:"lunora-table-duplicate",test:t(e=>e.includes("already exists")&&e.includes(".extend("),"test")},{body:['`.jurisdiction(...)` accepts only a **string literal** of `"eu"`, `"us"`, or `"fedramp"`:',"","```ts",'defineSchema({ /* \u2026 */ }).jurisdiction("eu");',"```"].join(`
|
|
6
|
+
`),header:"Invalid `.jurisdiction(...)` value",id:"lunora-jurisdiction",test:t(e=>e.includes("unknown jurisdiction")||e.includes("jurisdiction")&&e.includes('"eu", "us", or "fedramp"'),"test")},{body:["The `unique` flag on an index must be a **literal** `true` or `false`, not a computed value \u2014 codegen needs to read it statically:","","```ts",'defineTable({ email: v.string() }).index("by_email", ["email"], { unique: true });',"```"].join(`
|
|
7
|
+
`),header:"`unique` must be a literal",id:"lunora-unique-literal",test:t(e=>e.includes("must be a literal")&&e.includes("unique"),"test")},{body:["A declared container/workflow class isn't re-exported by your worker entry, so `wrangler deploy` would reject it.","","Add the generated re-export shown in the error to your worker entry (e.g. `src/index.ts`):","","```ts",'export * from "./lunora/_generated/containers";',"```"].join(`
|
|
8
|
+
`),header:"Binding not exported by your worker entry",id:"lunora-worker-entry-export-gap",test:t(e=>e.includes("not exported by your worker entry"),"test")},{body:["A row with the same value already exists in a `unique` index.","","- If you meant to upsert, use `ctx.db.<table>().upsert(...)` (or `.patch(...)` an existing row) instead of `.insert(...)`.",`- Otherwise pick a value that isn't already taken, and consider surfacing a friendly "already exists" message to the user.`].join(`
|
|
9
|
+
`),header:"Unique constraint violation",id:"lunora-runtime-unique",test:t(e=>e.includes("unique constraint violation on"),"test")},{body:r.CONFLICT.hint.join(`
|
|
10
|
+
`),header:"Optimistic concurrency conflict",id:"lunora-runtime-occ",test:t(e=>e.includes("optimistic concurrency conflict"),"test")}],d=t(e=>(Array.isArray(e)?e.join(`
|
|
11
|
+
`):e).split(`
|
|
12
|
+
`).filter(i=>!i.startsWith("```")).join(`
|
|
13
|
+
`).replaceAll(/\*\*(.+?)\*\*/gu,"$1").replaceAll(/`([^`]+)`/gu,"$1"),"flattenHint");var o=class extends Error{static{t(this,"LunoraError")}type="VisulimaError";hint;title;loc;code;status;docsUrl;data;constructor(i,s,n={}){let a=r[i];super(s??i,{cause:n.cause}),this.name=n.name??"LunoraError",this.hint=n.hint??a?.hint,this.title=n.title??a?.title,this.loc=n.location,this.code=i,this.status=n.status??a?.status??500,this.docsUrl=n.docsUrl??a?.docsUrl,this.data=n.data}};export{d as a,o as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as le}from"./chunk-UGUEC6BC.js";import{a as te}from"./chunk-HN6KJXYQ.js";import"./chunk-XNJNSCLM.js";import{a as ae,b as se,c as oe,d as Q,e as $,f as z}from"./chunk-GTM65MVX.js";import{a as re}from"./chunk-VLXV72QE.js";import{a as C}from"./chunk-JSEXCW5Q.js";import{a as ee}from"./chunk-UKDJ4H7I.js";import"./chunk-TBMYIZIO.js";import{R as E}from"./chunk-3CJW6NWG.js";import{c as k}from"./chunk-UK64ZSUW.js";import"./chunk-O3NAGRTR.js";import"./chunk-HV7G6DFP.js";import{a as L}from"./chunk-BOXSWNXZ.js";import{a as J}from"./chunk-TAD43CG5.js";import{b as U}from"./chunk-RHZ4M2NZ.js";import{a as j,b as K,c as V,d as Y,e as q}from"./chunk-SEU5V7I6.js";import{b as I}from"./chunk-ZPP2KOR4.js";import"./chunk-CKSHCYGC.js";import{f as W}from"./chunk-XLXNLJ4N.js";import"./chunk-ZHVTQ37P.js";import"./chunk-3OA7PECS.js";import{d as O,e as G,f as X,g as Z,k as D}from"./chunk-E75ANNWX.js";import"./chunk-JHKMUTIF.js";import{a as n,e as B,f as ve,g as he,h as xe}from"./chunk-RRCPZMC2.js";var c=B(ve(),1);var ne=B(he(),1);var e=B(xe(),1);var ie=["read","insert","update","delete"],ye=n((a,t)=>({delete:a("Delete"),insert:a("Insert"),read:a("Read"),update:a("Update")})[t],"operationLabel"),ge=n(a=>{let t=new Set;for(let l of a?.advisories??[])if(l.name==="rls_uncovered_table"){let{table:r}=l.metadata;typeof r=="string"&&r!==""&&t.add(r)}return t},"uncoveredTables"),be=n((a,t,l)=>{let r=new Map,s=n(o=>{let d=r.get(o);if(d!==void 0)return d;let i={cells:{delete:{},insert:{},read:{},update:{}},maskedColumns:[],table:o,uncovered:l.has(o)};return r.set(o,i),i},"ensure");for(let o of a)s(o.table).cells[o.on]={procedure:o.procedure};for(let o of t){let d=s(o.table);d.maskedColumns.includes(o.column)||d.maskedColumns.push(o.column)}for(let o of l)s(o);return[...r.values()].toSorted((o,d)=>o.table.localeCompare(d.table))},"buildRows"),Ne=n(a=>{let t=(0,ne.c)(17),l;t[0]!==a?(l=a===void 0?{}:a,t[0]=a,t[1]=l):l=t[1];let{onProbe:r}=l,s=O(),o,d;t[2]===Symbol.for("react.memo_cache_sentinel")?(o={},d={live:!0},t[2]=o,t[3]=d):(o=t[2],d=t[3]);let i=U(L.rlsPolicies,o,d),x;t[4]===Symbol.for("react.memo_cache_sentinel")?(x={},t[4]=x):x=t[4];let p=U(L.maskPolicies,x),v;t[5]===Symbol.for("react.memo_cache_sentinel")?(v={},t[5]=v):v=t[5];let b=U(L.getAdvisories,v),N;if(t[6]!==b.data||t[7]!==p.data||t[8]!==r||t[9]!==i||t[10]!==s){let g=null;i.data!==void 0&&(g=Array.isArray(i.data.policies)?i.data.policies:[]);let _=Array.isArray(p.data?.columns)?p.data.columns:[],F=b.data??null,{error:h,errorSource:m,liveError:P}=i,A=g===null?[]:be(g,_,ge(F)),T;t[12]!==P?(T=(0,e.jsxDEV)("div",{className:"flex items-center justify-end",children:(0,e.jsxDEV)(le,{message:P,prefix:"pm"},void 0,!1)},void 0,!1),t[12]=P,t[13]=T):T=t[13];let y;t[14]!==h||t[15]!==m?(y=h!==null&&(0,e.jsxDEV)(te,{error:m,testId:"pm-error"},void 0,!1),t[14]=h,t[15]=m,t[16]=y):y=t[16],N=(0,e.jsxDEV)("div",{className:"flex flex-col gap-3","data-testid":"lunora-permissions-matrix",children:[T,y,g!==null&&A.length===0?(0,e.jsxDEV)(J,{description:s("Add a `definePolicy` and wire it through `.use(rls(...))` to populate this matrix."),testId:"pm-empty",title:s("No policy")},void 0,!1):(0,e.jsxDEV)(ae,{"data-testid":"pm-table",children:[(0,e.jsxDEV)(se,{children:(0,e.jsxDEV)(Q,{children:[(0,e.jsxDEV)($,{children:s("Table")},void 0,!1),ie.map(u=>(0,e.jsxDEV)($,{children:ye(s,u)},u,!1)),(0,e.jsxDEV)($,{children:s("Masked columns")},void 0,!1)]},void 0,!0)},void 0,!1),(0,e.jsxDEV)(oe,{children:A.map(u=>(0,e.jsxDEV)(Q,{"data-testid":`pm-row-${u.table}`,children:[(0,e.jsxDEV)(z,{className:"font-mono text-xs",children:(0,e.jsxDEV)("span",{className:"flex items-center gap-1.5",children:[u.table,u.uncovered&&(0,e.jsxDEV)(I,{"data-testid":`pm-uncovered-${u.table}`,title:s("Uncovered \u2014 reachable without a policy"),variant:"destructive",children:s("Uncovered \u2014 reachable without a policy")},void 0,!1)]},void 0,!0)},void 0,!1),ie.map(w=>{let R=u.cells[w];return(0,e.jsxDEV)(z,{"data-testid":`pm-cell-${u.table}-${w}`,children:R.procedure===void 0?(0,e.jsxDEV)("span",{className:"text-xs text-muted-foreground",children:s("No policy")},void 0,!1):(0,e.jsxDEV)("span",{className:"flex flex-col gap-1",children:[(0,e.jsxDEV)(I,{variant:"secondary",children:s("Covered by {procedure}",{procedure:R.procedure})},void 0,!1),r!==void 0&&(0,e.jsxDEV)(k,{className:"h-auto justify-start p-0 text-[11px]","data-testid":`pm-probe-${u.table}-${w}`,onClick:n(()=>{r(u.table,w,R.procedure??"")},"onClick"),size:"xs",type:"button",variant:"ghost",children:s("Probe this")},void 0,!1)]},void 0,!0)},w,!1)}),(0,e.jsxDEV)(z,{children:u.maskedColumns.length===0?(0,e.jsxDEV)("span",{"aria-hidden":"true",className:"text-muted-foreground",children:"\u2014"},void 0,!1):(0,e.jsxDEV)("span",{className:"flex flex-wrap gap-1",children:u.maskedColumns.map(ke)},void 0,!1)},void 0,!1)]},u.table,!0))},void 0,!1)]},void 0,!0)]},void 0,!0),t[6]=b.data,t[7]=p.data,t[8]=r,t[9]=i,t[10]=s,t[11]=N}else N=t[11];return N},"PermissionsMatrix");function ke(a){return(0,e.jsxDEV)(I,{variant:"outline",children:a},a,!1)}n(ke,"_temp");var Ce=G(L.runAs),we=n(()=>{let a=W();return async({args:t,functionPath:l,shardKey:r="",userId:s})=>{let o=Ce;try{return{kind:"allowed",value:await a.query(o,{args:t,functionPath:l,userId:s},X(r))}}catch(d){return{kind:"denied",message:d instanceof Error?d.message:String(d)}}}},"useRunAsProbe"),Se=n(a=>a===void 0?"undefined":JSON.stringify(a,null,2),"formatValue"),Pe=n(({functions:a,prefill:t,runAsIdentity:l=!1}={})=>{let r=W(),s=O(),o=we(),[d,i]=(0,c.useState)(null),[x,p]=(0,c.useState)(null),v=a??d??[],[b,N]=(0,c.useState)(""),[g,_]=(0,c.useState)("{}"),[F,h]=(0,c.useState)(""),[m,P]=(0,c.useState)(""),[A,T]=(0,c.useState)(!1),[y,u]=(0,c.useState)(null),[w,R]=(0,c.useState)(null),H=(0,c.useRef)(-1);(0,c.useEffect)(()=>{if(a!==void 0)return;let f=!1;return r.listFunctions().then(S=>(f||i(S),S)).catch(S=>{f||p(Z(S))}),()=>{f=!0}},[r,a]),(0,c.useEffect)(()=>{if(t===void 0||H.current===t.nonce)return;H.current=t.nonce;let f=t.functionPath;queueMicrotask(()=>{N(f),u(null)})},[t]);let M=b===""?v[0]?.path??"":b,ce=n(async()=>{if(M==="")return;let f;try{f=g.trim()===""?{}:JSON.parse(g)}catch(S){R(s("Invalid JSON args: {message}",{message:S.message})),u(null);return}R(null),T(!0);try{let S=await o({args:f,functionPath:M,shardKey:F.trim(),userId:m.trim()});u(S)}finally{T(!1)}},"run"),fe=n(()=>{D(ce())},"runOnce"),ue=n(f=>{N(f.target.value)},"onSelectChange"),me=n(f=>{_(f.target.value)},"onArgsChange"),pe=n(f=>{P(f.target.value)},"onUserIdChange");return(0,e.jsxDEV)("div",{className:"flex flex-col gap-3","data-testid":"lunora-permissions-playground",children:[x!==null&&(0,e.jsxDEV)("p",{className:"text-sm text-destructive","data-testid":"pp-discover-error",role:"alert",children:x},void 0,!1),!l&&(0,e.jsxDEV)(J,{description:s("Dev only: runs the selected function as this user over the admin gate so you can test auth and RLS."),testId:"pp-gate",title:s("Set `runAsIdentity` to forge an identity and probe access.")},void 0,!1),(0,e.jsxDEV)("div",{className:"flex flex-col gap-3 rounded-md border border-border p-3",children:[(0,e.jsxDEV)("div",{className:"flex flex-col gap-1.5",children:[(0,e.jsxDEV)(C,{htmlFor:"pp-function",children:s("Function")},void 0,!1),(0,e.jsxDEV)("select",{"aria-label":s("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:ue,value:M,children:v.map(f=>(0,e.jsxDEV)("option",{value:f.path,children:[f.path," (",f.kind,")"]},f.path,!0))},void 0,!1)]},void 0,!0),(0,e.jsxDEV)("div",{className:"flex flex-col gap-1.5",children:[(0,e.jsxDEV)(C,{htmlFor:"pp-args",children:s("Arguments")},void 0,!1),(0,e.jsxDEV)(re,{"aria-label":s("Arguments"),className:"font-mono text-xs","data-testid":"pp-args",id:"pp-args",onChange:me,value:g},void 0,!1)]},void 0,!0),(0,e.jsxDEV)(ee,{onChange:h,testId:"pp-shard",value:F},void 0,!1),(0,e.jsxDEV)("div",{className:"flex flex-col gap-1.5",children:[(0,e.jsxDEV)(C,{htmlFor:"pp-user",children:s("Run as (userId)")},void 0,!1),(0,e.jsxDEV)(E,{"aria-label":s("Identity (userId) to run as"),className:"font-mono text-xs","data-testid":"pp-user",id:"pp-user",onChange:pe,placeholder:s("Leave empty to run as admin"),value:m},void 0,!1)]},void 0,!0),(0,e.jsxDEV)("div",{className:"flex items-center gap-2",children:[(0,e.jsxDEV)(k,{"data-testid":"pp-run",disabled:!l||A||M==="",onClick:fe,type:"button",children:s(A?"Probing\u2026":"Run probe")},void 0,!1),m.trim()!==""&&(0,e.jsxDEV)(I,{"data-testid":"pp-as-badge",variant:"secondary",children:s("as {userId}",{userId:m.trim()})},void 0,!1)]},void 0,!0)]},void 0,!0),w!==null&&(0,e.jsxDEV)("p",{className:"text-sm text-destructive","data-testid":"pp-args-error",role:"alert",children:w},void 0,!1),y!==null&&y.kind==="allowed"&&(0,e.jsxDEV)("div",{className:"flex flex-col gap-2","data-testid":"pp-outcome-allowed",children:[(0,e.jsxDEV)(I,{variant:"secondary",children:s("Allowed")},void 0,!1),(0,e.jsxDEV)("pre",{className:"overflow-auto rounded-md border border-border bg-muted/50 p-3 font-mono text-xs","data-testid":"pp-result",children:Se(y.value)},void 0,!1)]},void 0,!0),y!==null&&y.kind==="denied"&&(0,e.jsxDEV)("div",{className:"flex flex-col gap-2","data-testid":"pp-outcome-denied",children:[(0,e.jsxDEV)(I,{variant:"destructive",children:s("Denied")},void 0,!1),(0,e.jsxDEV)("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:y.message},void 0,!1)]},void 0,!0)]},void 0,!0)},"PermissionsPlayground"),Ae="/__lunora/policy-scaffold",Te={"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."},Ie=n(async a=>{let t=await fetch(Ae,{body:JSON.stringify(a),headers:{"Content-Type":"application/json"},method:"POST"}),l=await t.json();if(l.needsManualEdit===!0)return{kind:"needs-manual-edit",message:l.message??"This change must be made by hand."};if(t.ok)return{diagnostics:l.diagnostics??[],kind:"ok",label:l.fileName??l.exportName??""};let r=l.error;return{kind:"error",message:r===void 0?`policy scaffold failed (${String(t.status)})`:Te[r]??r}},"applyPolicyScaffold"),de={exportName:"",filePath:"",policyName:"",policies:"",tableName:""},Ee=n(()=>{let a=O(),[t,l]=(0,c.useState)(null),[r,s]=(0,c.useState)(!1),[o,d]=(0,c.useState)(null),[i,x]=(0,c.useState)(de),p=n(h=>{let m=h.target.name,{value:P}=h.target;x(A=>({...A,[m]:P}))},"onFieldChange"),v=n(()=>{l(null),x(de)},"reset"),b=n(async h=>{s(!0),d(null);try{let m=await Ie(h);d(m),m.kind==="ok"&&v()}catch(m){d({kind:"error",message:m instanceof Error?m.message:String(m)})}finally{s(!1)}},"submit"),N=n(()=>{D(b({kind:"scaffoldPolicy",name:i.policyName.trim(),table:i.tableName.trim()}))},"onSubmitScaffold"),g=n(()=>{D(b({exportName:i.exportName.trim(),filePath:i.filePath.trim(),kind:"wireRls",policies:i.policies.trim()}))},"onSubmitWire"),_=n(()=>{d(null),l("scaffold")},"openScaffold"),F=n(()=>{d(null),l("wire")},"openWire");return(0,e.jsxDEV)(j,{"data-testid":"policy-scaffolder",size:"sm",children:[(0,e.jsxDEV)(K,{children:[(0,e.jsxDEV)(V,{children:a("Scaffold access rules")},void 0,!1),(0,e.jsxDEV)(Y,{children:a("Writes a new deny-by-default policy file under lunora/, or wires one into a procedure, then reruns codegen. Local dev only.")},void 0,!1)]},void 0,!0),(0,e.jsxDEV)(q,{children:[(0,e.jsxDEV)("div",{className:"flex flex-wrap gap-2",children:[(0,e.jsxDEV)(k,{"data-testid":"policy-scaffolder-new",onClick:_,size:"xs",type:"button",variant:t==="scaffold"?"default":"outline",children:a("New policy file")},void 0,!1),(0,e.jsxDEV)(k,{"data-testid":"policy-scaffolder-wire",onClick:F,size:"xs",type:"button",variant:t==="wire"?"default":"outline",children:a("Wire into a procedure")},void 0,!1)]},void 0,!0),t==="scaffold"&&(0,e.jsxDEV)("div",{className:"mt-3 flex flex-wrap items-end gap-2","data-testid":"policy-scaffolder-new-form",children:[(0,e.jsxDEV)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,e.jsxDEV)(C,{htmlFor:"policy-scaffolder-name",children:a("Policy name")},void 0,!1),(0,e.jsxDEV)(E,{"data-testid":"policy-scaffolder-name",id:"policy-scaffolder-name",name:"policyName",onChange:p,value:i.policyName},void 0,!1)]},void 0,!0),(0,e.jsxDEV)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,e.jsxDEV)(C,{htmlFor:"policy-scaffolder-table",children:a("Table name")},void 0,!1),(0,e.jsxDEV)(E,{"data-testid":"policy-scaffolder-table",id:"policy-scaffolder-table",name:"tableName",onChange:p,value:i.tableName},void 0,!1)]},void 0,!0),(0,e.jsxDEV)(k,{"data-testid":"policy-scaffolder-create",disabled:r||i.policyName.trim()===""||i.tableName.trim()==="",onClick:N,size:"xs",type:"button",children:a(r?"Creating\u2026":"Create policy file")},void 0,!1),(0,e.jsxDEV)(k,{onClick:v,size:"xs",type:"button",variant:"ghost",children:a("Cancel")},void 0,!1)]},void 0,!0),t==="wire"&&(0,e.jsxDEV)("div",{className:"mt-3 flex flex-wrap items-end gap-2","data-testid":"policy-scaffolder-wire-form",children:[(0,e.jsxDEV)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,e.jsxDEV)(C,{htmlFor:"policy-scaffolder-file",children:a("Procedure file path")},void 0,!1),(0,e.jsxDEV)(E,{"data-testid":"policy-scaffolder-file",id:"policy-scaffolder-file",name:"filePath",onChange:p,value:i.filePath},void 0,!1)]},void 0,!0),(0,e.jsxDEV)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,e.jsxDEV)(C,{htmlFor:"policy-scaffolder-export",children:a("Exported procedure")},void 0,!1),(0,e.jsxDEV)(E,{"data-testid":"policy-scaffolder-export",id:"policy-scaffolder-export",name:"exportName",onChange:p,value:i.exportName},void 0,!1)]},void 0,!0),(0,e.jsxDEV)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,e.jsxDEV)(C,{htmlFor:"policy-scaffolder-policies",children:a("Policy set identifier")},void 0,!1),(0,e.jsxDEV)(E,{"data-testid":"policy-scaffolder-policies",id:"policy-scaffolder-policies",name:"policies",onChange:p,value:i.policies},void 0,!1)]},void 0,!0),(0,e.jsxDEV)(k,{"data-testid":"policy-scaffolder-apply",disabled:r||i.filePath.trim()===""||i.exportName.trim()===""||i.policies.trim()==="",onClick:g,size:"xs",type:"button",children:a(r?"Wiring\u2026":"Wire RLS")},void 0,!1),(0,e.jsxDEV)(k,{onClick:v,size:"xs",type:"button",variant:"ghost",children:a("Cancel")},void 0,!1)]},void 0,!0),o?.kind==="error"&&(0,e.jsxDEV)("p",{className:"mt-3 text-sm text-destructive","data-testid":"policy-scaffolder-error",role:"alert",children:o.message},void 0,!1),o?.kind==="needs-manual-edit"&&(0,e.jsxDEV)("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.")},void 0,!1),o?.kind==="ok"&&(0,e.jsxDEV)("div",{className:"mt-3 flex flex-col gap-1","data-testid":"policy-scaffolder-ok",children:[(0,e.jsxDEV)("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})},void 0,!1),o.diagnostics.length>0&&(0,e.jsxDEV)("ul",{className:"flex flex-col gap-0.5","data-testid":"policy-scaffolder-diagnostics",children:o.diagnostics.map(h=>(0,e.jsxDEV)("li",{className:"font-mono text-[11px] text-destructive",children:h},h,!1))},void 0,!1)]},void 0,!0)]},void 0,!0)]},void 0,!0)},"PolicyScaffolder"),He=n(({functions:a,runAsIdentity:t=!1,schemaEditable:l=!1}={})=>{let r=O(),[s,o]=(0,c.useState)(void 0),d=n((i,x,p)=>{p!==""&&o(v=>({functionPath:p,nonce:(v?.nonce??0)+1}))},"onProbe");return(0,e.jsxDEV)("div",{className:"flex flex-col gap-8","data-testid":"lunora-permissions",children:[(0,e.jsxDEV)("section",{className:"flex flex-col gap-3",children:[(0,e.jsxDEV)("header",{className:"border-b border-border px-4 py-3",children:(0,e.jsxDEV)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:r("Permissions")},void 0,!1)},void 0,!1),(0,e.jsxDEV)(Ne,{onProbe:d},void 0,!1)]},void 0,!0),(0,e.jsxDEV)("section",{className:"flex flex-col gap-3",children:(0,e.jsxDEV)(j,{className:"gap-0 py-0",children:[(0,e.jsxDEV)("header",{className:"border-b border-border px-4 py-3",children:(0,e.jsxDEV)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:r("Probe")},void 0,!1)},void 0,!1),(0,e.jsxDEV)(q,{className:"px-4 py-4",children:[(0,e.jsxDEV)("p",{className:"mb-3 text-sm text-muted-foreground",children:r("Pick a function and an identity, then run it to see the access outcome.")},void 0,!1),(0,e.jsxDEV)(Pe,{functions:a,prefill:s,runAsIdentity:t},void 0,!1)]},void 0,!0)]},void 0,!0)},void 0,!1),l&&(0,e.jsxDEV)("section",{className:"flex flex-col gap-2",children:(0,e.jsxDEV)(Ee,{},void 0,!1)},void 0,!1)]},void 0,!0)},"PermissionsPanel");export{He as PermissionsPanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as i,e as r,f as c,g as m,h as f,j as n}from"./chunk-RRCPZMC2.js";var p=r(m(),1),b=r(c(),1);var d=r(f(),1);function x(s){let e=(0,p.c)(8),t,a;e[0]!==s?({className:t,...a}=s,e[0]=s,e[1]=t,e[2]=a):(t=e[1],a=e[2]);let l;e[3]!==t?(l=n("flex items-center gap-2 text-xs leading-none select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",t),e[3]=t,e[4]=l):l=e[4];let o;return e[5]!==a||e[6]!==l?(o=(0,d.jsxDEV)("label",{"data-slot":"label",className:l,...a},void 0,!1),e[5]=a,e[6]=l,e[7]=o):o=e[7],o}i(x,"Label");export{x as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as y}from"./chunk-RHZ4M2NZ.js";import{f as m}from"./chunk-XLXNLJ4N.js";import{g as d,k as g}from"./chunk-E75ANNWX.js";import{a as o,e as f,f as A,g as b}from"./chunk-RRCPZMC2.js";var p=f(b(),1);var c=f(A(),1);var h={capabilities:{accounts:!0,admin:!0,organization:!1,passkey:!1,twoFactor:!1},emailAndPassword:!1,organization:{enabled:!1,roles:!1,teams:!1},plugins:[],rateLimit:{enabled:!1},session:{},socialProviders:[],userFields:[]},L=o(()=>{let e=(0,p.c)(6),t=m(),a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a=["lunora-auth-config"],e[0]=a):a=e[0];let s;e[1]!==t?(s=o(()=>t.getAuthConfig(),"t1"),e[1]=t,e[2]=s):s=e[2];let{data:u,isLoading:i}=y(a,s),r=u??h,l=!i,n;return e[3]!==r||e[4]!==l?(n={config:r,ready:l},e[3]=r,e[4]=l,e[5]=n):n=e[5],n},"useAuthConfig"),w=o(()=>{let[e,t]=(0,c.useState)(!1),[a,s]=(0,c.useState)(null);return{busy:e,error:a,run:o(i=>{g((async()=>{t(!0),s(null);try{await i()}catch(r){s(d(r))}finally{t(!1)}})())},"run")}},"useAsyncSubmit");export{L as a,w as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as g,b as S}from"./chunk-6HSHEMZV.js";import{a as i,e as m,g as v,h as C,j as d}from"./chunk-RRCPZMC2.js";var w=i(e=>{let t=0,n=0,o=0,r=0,s=0,l=0,c=0;for(let{metrics:a}of e){if(a===null){s+=1;continue}r+=1,t+=a.requests,n+=a.errors,o+=a.databaseSize??0,a.cache!==null&&(l+=a.cache.hits,c+=a.cache.hits+a.cache.misses)}return{failed:s,hitRate:c===0?null:l/c,reachable:r,totalDatabaseSize:o,totalErrors:n,totalRequests:t}},"aggregateMetrics"),E=i((e,t)=>{let n=new Set,o=[];for(let r of["",e.trim(),...t])n.has(r)||(n.add(r),o.push(r));return o},"shardsToAggregate"),x=i((e,t)=>{if(e.length===0)return 0;if(e.sort((o,r)=>o-r),t<=0)return e[0]??0;if(t>=100)return e.at(-1)??0;let n=Math.ceil(t/100*e.length)-1;return e[n]??0},"percentile"),N=i(e=>{let n=e.functions;if(!n||n.length===0)return{p90:0,p95:0};let o=1e3,r=[];for(let s of n){if(s.calls<=0)continue;let l=s.totalDurationMs/s.calls,c=Math.min(s.calls,o);for(let a=0;a<c;a+=1)r.push(l)}return r.length===0?{p90:0,p95:0}:{p90:x([...r],90),p95:x([...r],95)}},"computeLatencyPercentiles");var _=i(e=>e.map(t=>({...t,avgDurationMs:t.execCount>0?t.totalDurationMs/t.execCount:0})),"enrichQueryStats");var b=m(v(),1);var p=m(C(),1);var D={value:{colors:{dark:["var(--foreground)"],light:["var(--foreground)"]},label:""}},P=i(e=>{let t=(0,b.c)(12),{ariaLabel:n,className:o,series:r,testId:s}=e;if(r.length<2)return null;let l;t[0]!==r?(l=r.slice(-40).map(M),t[0]=r,t[1]=l):l=t[1];let c=l,a;t[2]!==o?(a=d("h-6 w-[120px]",o),t[2]=o,t[3]=a):a=t[3];let u;t[4]===Symbol.for("react.memo_cache_sentinel")?(u=(0,p.jsxDEV)(S,{dataKey:"value"},void 0,!1),t[4]=u):u=t[4];let f;t[5]!==c?(f=(0,p.jsxDEV)(g,{animationType:"none",barCategoryGap:1,className:"h-full w-full",config:D,data:c,children:u},void 0,!1),t[5]=c,t[6]=f):f=t[6];let h;return t[7]!==n||t[8]!==a||t[9]!==f||t[10]!==s?(h=(0,p.jsxDEV)("div",{"aria-label":n,className:a,"data-testid":s,role:"img",children:f},void 0,!1),t[7]=n,t[8]=a,t[9]=f,t[10]=s,t[11]=h):h=t[11],h},"Sparkline");function M(e,t){return{index:t,value:e}}i(M,"_temp");export{w as a,E as b,N as c,_ as d,P as e};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a,c as v,f as G}from"./chunk-RRCPZMC2.js";var C=v(h=>{"use strict";(function(){function T(e,r){return e===r&&(e!==0||1/e===1/r)||e!==e&&r!==r}a(T,"is");function f(e,r){u||i.startTransition===void 0||(u=!0,console.error("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));var t=r();if(!c){var o=r();L(t,o)||(console.error("The result of getSnapshot should be cached to avoid an infinite loop"),c=!0)}o=y({inst:{value:t,getSnapshot:r}});var n=o[0].inst,O=o[1];return D(function(){n.value=t,n.getSnapshot=r,d(n)&&O({inst:n})},[e,t,r]),m(function(){return d(n)&&O({inst:n}),e(function(){d(n)&&O({inst:n})})},[e]),_(t),t}a(f,"useSyncExternalStore$2");function d(e){var r=e.getSnapshot;e=e.value;try{var t=r();return!L(e,t)}catch{return!0}}a(d,"checkIfSnapshotChanged");function A(e,r){return r()}a(A,"useSyncExternalStore$1"),typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var i=G(),L=typeof Object.is=="function"?Object.is:T,y=i.useState,m=i.useEffect,D=i.useLayoutEffect,_=i.useDebugValue,u=!1,c=!1,E=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?A:f;h.useSyncExternalStore=i.useSyncExternalStore!==void 0?i.useSyncExternalStore:E,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()});var B=v((w,g)=>{"use strict";g.exports=C()});var K=v(H=>{"use strict";(function(){function T(_,u){return _===u&&(_!==0||1/_===1/u)||_!==_&&u!==u}a(T,"is"),typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var f=G(),d=B(),A=typeof Object.is=="function"?Object.is:T,i=d.useSyncExternalStore,L=f.useRef,y=f.useEffect,m=f.useMemo,D=f.useDebugValue;H.useSyncExternalStoreWithSelector=function(_,u,c,E,e){var r=L(null);if(r.current===null){var t={hasValue:!1,value:null};r.current=t}else t=r.current;r=m(function(){function n(s){if(!O){if(O=!0,p=s,s=E(s),e!==void 0&&t.hasValue){var l=t.value;if(e(l,s))return S=l}return S=s}if(l=S,A(p,s))return l;var R=E(s);return e!==void 0&&e(l,R)?(p=s,l):(p=s,S=R)}a(n,"memoizedSelector");var O=!1,p,S,V=c===void 0?null:c;return[function(){return n(u())},V===null?void 0:function(){return n(V())}]},[u,c,E,e]);var o=i(_,r[0],r[1]);return y(function(){t.hasValue=!0,t.value=o},[o]),D(o),o},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()});var M=v((z,I)=>{"use strict";I.exports=K()});export{B as a,M as b};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{a as H}from"./chunk-HV7G6DFP.js";import{a as d,e as D,f as $}from"./chunk-RRCPZMC2.js";function k(r,h,t){let e=new Array(r);return new Proxy(e,{get(s,n,o){if(typeof n=="string"){let i=n.charCodeAt(0);if(i>=48&&i<=57){let l=+n;if(Number.isInteger(l)&&l>=0&&l<r){let a=s[l];if(!a){let u=h[l*2];a=s[l]={index:l,key:t(l),start:u,size:h[l*2+1],end:u+h[l*2+1],lane:0}}return a}}if(n==="length")return r}return Reflect.get(s,n,o)}})}d(k,"createLazyMeasurementsView");function z(r,h,t){let e=t.initialDeps??[],s,n=!0;function o(){var i;let l=!!t.key&&!!((i=t.debug)!=null&&i.call(t)),a=0;l&&(a=Date.now());let u=r();if(!(u.length!==e.length||u.some((p,c)=>e[c]!==p)))return s;e=u;let f=0;if(l&&(f=Date.now()),s=h(...u),l){let p=Math.round((Date.now()-a)*100)/100,c=Math.round((Date.now()-f)*100)/100,E=c/16,v=d((g,b)=>{for(g=String(g);g.length<b;)g=" "+g;return g},"pad");console.info(`%c\u23F1 ${v(c,5)} /${v(p,5)} ms`,`
|
|
2
|
+
font-size: .6rem;
|
|
3
|
+
font-weight: bold;
|
|
4
|
+
color: hsl(${Math.max(0,Math.min(120-120*E,120))}deg 100% 31%);`,t?.key)}return t?.onChange&&!(n&&t.skipInitialOnChange)&&t.onChange(s),n=!1,s}return d(o,"memoizedFunction"),o.updateDeps=i=>{e=i},o}d(z,"memo");function C(r,h){if(r===void 0)throw new Error(`Unexpected undefined${h?`: ${h}`:""}`);return r}d(C,"notUndefined");var W=d((r,h)=>Math.abs(r-h)<1.01,"approxEqual"),L=d((r,h,t)=>{let e;return function(...s){r.clearTimeout(e),e=r.setTimeout(()=>h.apply(this,s),t)}},"debounce");var y,A=d(()=>{if(y!==void 0)return y;if(typeof navigator>"u")return y=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return y=!0;let r=navigator.maxTouchPoints;return y=navigator.platform==="MacIntel"&&r!==void 0&&r>0},"isIOSWebKit");var V=d(r=>{let{offsetWidth:h,offsetHeight:t}=r;return{width:h,height:t}},"getRect"),J=d(r=>r,"defaultKeyExtractor"),q=d(r=>{let h=Math.max(r.startIndex-r.overscan,0),e=Math.min(r.endIndex+r.overscan,r.count-1)-h+1,s=new Array(e);for(let n=0;n<e;n++)s[n]=h+n;return s},"defaultRangeExtractor"),j=d((r,h)=>{let t=r.scrollElement;if(!t)return;let e=r.targetWindow;if(!e)return;let s=d(o=>{let{width:i,height:l}=o;h({width:Math.round(i),height:Math.round(l)})},"handler");if(s(V(t)),!e.ResizeObserver)return()=>{};let n=new e.ResizeObserver(o=>{let i=d(()=>{let l=o[0];if(l?.borderBoxSize){let a=l.borderBoxSize[0];if(a){s({width:a.inlineSize,height:a.blockSize});return}}s(V(t))},"run");r.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(i):i()});return n.observe(t,{box:"border-box"}),()=>{n.unobserve(t)}},"observeElementRect"),_={passive:!0};var U=typeof window>"u"?!0:"onscrollend"in window,X=d((r,h,t)=>{let e=r.scrollElement;if(!e)return;let s=r.targetWindow;if(!s)return;let n=r.options.useScrollendEvent&&U,o=0,i=n?null:L(s,()=>h(o,!1),r.options.isScrollingResetDelay),l=d(m=>()=>{o=t(e),i?.(),h(o,m)},"createHandler"),a=l(!0),u=l(!1);return e.addEventListener("scroll",a,_),n&&e.addEventListener("scrollend",u,_),()=>{e.removeEventListener("scroll",a),n&&e.removeEventListener("scrollend",u)}},"observeOffset"),N=d((r,h)=>X(r,h,t=>{let{horizontal:e,isRtl:s}=r.options;return e?t.scrollLeft*(s&&-1||1):t.scrollTop}),"observeElementOffset");var Y=d((r,h,t)=>{if(t.options.useCachedMeasurements){let e=t.indexFromElement(r),s=t.options.getItemKey(e);return t.itemSizeCache.get(s)??t.options.estimateSize(e)}if(h?.borderBoxSize){let e=h.borderBoxSize[0];if(e)return Math.round(e[t.options.horizontal?"inlineSize":"blockSize"])}if(!h){let e=t.indexFromElement(r),s=t.options.getItemKey(e),n=t.itemSizeCache.get(s);if(n!==void 0)return n}return r[t.options.horizontal?"offsetWidth":"offsetHeight"]},"measureElement"),G=d((r,{adjustments:h=0,behavior:t},e)=>{var s,n;(n=(s=e.scrollElement)==null?void 0:s.scrollTo)==null||n.call(s,{[e.options.horizontal?"left":"top"]:r+h,behavior:t})},"scrollWithAdjustments");var K=G,T=class{static{d(this,"Virtualizer")}constructor(h){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var t,e,s;return((s=(e=(t=this.targetWindow)==null?void 0:t.performance)==null?void 0:e.now)==null?void 0:s.call(e))??Date.now()},this.observer=(()=>{let t=null,e=d(()=>t||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:t=new this.targetWindow.ResizeObserver(s=>{s.forEach(n=>{let o=d(()=>{let i=n.target,l=this.indexFromElement(i);if(!i.isConnected){this.observer.unobserve(i);for(let[a,u]of this.elementsCache)if(u===i){this.elementsCache.delete(a);break}return}this.shouldMeasureDuringScroll(l)&&this.resizeItem(l,this.options.measureElement(i,n,this))},"run");this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(o):o()})})),"get");return{disconnect:d(()=>{var s;(s=e())==null||s.disconnect(),t=null},"disconnect"),observe:d(s=>{var n;return(n=e())==null?void 0:n.observe(s,{box:"border-box"})},"observe"),unobserve:d(s=>{var n;return(n=e())==null?void 0:n.unobserve(s)},"unobserve")}})(),this.range=null,this.setOptions=t=>{var e,s;let n={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:J,rangeExtractor:q,onChange:d(()=>{},"onChange"),measureElement:Y,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,anchorTo:"start",followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",useCachedMeasurements:!1};for(let f in t){let p=t[f];p!==void 0&&(n[f]=p)}let o=this.options,i=null,l=null,a=!1;if(o!==void 0&&o.enabled&&n.enabled&&n.anchorTo==="end"&&this.scrollElement!==null){let f=o.count,p=n.count,c=this.getMeasurements(),E=f>0?((e=c[0])==null?void 0:e.key)??o.getItemKey(0):null,v=f>0?((s=c[f-1])==null?void 0:s.key)??o.getItemKey(f-1):null;if(p!==f||f>0&&p>0&&(n.getItemKey(0)!==E||n.getItemKey(p-1)!==v)){a=!0;let S=f>0?this.getVirtualItemForOffset(this.getScrollOffset())??c[0]:null;S&&(i=[S.key,this.getScrollOffset()-S.start]);let x=n.followOnAppend===!0?"auto":n.followOnAppend||null;x&&p>f&&this.isAtEnd(o.scrollEndThreshold)&&(f===0||n.getItemKey(p-1)!==v)&&(l=x)}}this.options=n,a&&(this.pendingMin=0,this.itemSizeCacheVersion++);let u=!1,m=0;if(i&&this.scrollOffset!==null){let[f,p]=i,c=this.getMeasurements(),{count:E,getItemKey:v}=this.options,g=0;for(;g<E&&v(g)!==f;)g++;if(g<E){let b=c[g];if(b){let S=b.start+p;S!==this.scrollOffset&&(m=S-this.scrollOffset,this.scrollOffset=S,u=!0)}}}(u||l)&&(this.pendingScrollAnchor=[u?i[0]:null,u?i[1]:0,l,m])},this.notify=t=>{var e,s;(s=(e=this.options).onChange)==null||s.call(e,this,t)},this.maybeNotify=z(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),t=>{this.notify(t)},{key:"maybeNotify",debug:d(()=>this.options.debug,"debug"),initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(t=>t()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var t;let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}if(this.scrollElement=e,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((t=this.scrollElement)==null?void 0:t.window)??null,this.elementsCache.forEach(n=>{this.observer.observe(n)}),this.unsubs.push(this.options.observeElementRect(this,n=>{this.scrollRect=n,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(n,o)=>{if(o&&this._intendedScrollOffset===null&&n===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(n-this._intendedScrollOffset)<1.5&&(n=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0;let i=this.getScrollOffset();this.scrollDirection=o?i===n?this.scrollDirection:i<n?"forward":"backward":null,this.scrollOffset=n,this.isScrolling=o,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),"addEventListener"in this.scrollElement){let n=this.scrollElement,o=d(()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},"onTouchStart"),i=d(()=>{this._iosTouching=!1,!(!A()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))},"onTouchEnd");n.addEventListener("touchstart",o,_),n.addEventListener("touchend",i,_),this.unsubs.push(()=>{n.removeEventListener("touchstart",o),n.removeEventListener("touchend",i),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let s=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,s&&this.scrollElement&&this.options.enabled){let[n,o,i,l]=s;n!==null&&!i&&(A()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?l!==0&&(this._iosDeferredAdjustment+=l):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),i&&this.scrollToEnd({behavior:i})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let t=this.getScrollOffset(),e=this.getMaxScrollOffset();if(t<0||t>e)return;let s=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(t,{adjustments:this.scrollAdjustments+=s,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(t,e)=>{let s=new Map,n=new Map;for(let o=e-1;o>=0;o--){let i=t[o];if(s.has(i.lane))continue;let l=n.get(i.lane);if(l==null||i.end>l.end?n.set(i.lane,i):i.end<l.end&&s.set(i.lane,!0),s.size===this.options.lanes)break}return n.size===this.options.lanes?Array.from(n.values()).sort((o,i)=>o.end===i.end?o.index-i.index:o.end-i.end)[0]:void 0},this.getMeasurementOptions=z(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode],(t,e,s,n,o,i,l)=>(this.prevLanes!==void 0&&this.prevLanes!==i&&(this.lanesChangedFlag=!0),this.prevLanes=i,this.pendingMin=null,{count:t,paddingStart:e,scrollMargin:s,getItemKey:n,enabled:o,lanes:i,laneAssignmentMode:l}),{key:!1}),this.getMeasurements=z(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:t,paddingStart:e,scrollMargin:s,getItemKey:n,enabled:o,lanes:i,laneAssignmentMode:l},a)=>{let u=this.itemSizeCache;if(!o)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>t)for(let c of this.laneAssignments.keys())c>=t&&this.laneAssignments.delete(c);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(c=>{this.itemSizeCache.set(c.key,c.size)}));let m=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===t&&(this.lanesSettling=!1),i===1){let c=this.options.gap,E=t*2,v=this._flatMeasurements;if(!v||v.length<E){let S=new Float64Array(E);v&&m>0&&S.set(v.subarray(0,m*2)),v=S,this._flatMeasurements=v}let g;if(m===0)g=e+s;else{let S=m-1;g=v[S*2]+v[S*2+1]+c}for(let S=m;S<t;S++){let x=n(S),I=u.get(x),M=typeof I=="number"?I:this.options.estimateSize(S);v[S*2]=g,v[S*2+1]=M,g+=M+c}let b=k(t,v,n);return this.measurementsCache=b,b}let f=this.measurementsCache.slice(0,m),p=new Array(i).fill(void 0);for(let c=0;c<m;c++){let E=f[c];E&&(p[E.lane]=c)}for(let c=m;c<t;c++){let E=n(c),v=this.laneAssignments.get(c),g,b,S=l==="estimate"||u.has(E);if(v!==void 0&&this.options.lanes>1){g=v;let w=p[g],F=w!==void 0?f[w]:void 0;b=F?F.end+this.options.gap:e+s}else{let w=this.options.lanes===1?f[c-1]:this.getFurthestMeasurement(f,c);b=w?w.end+this.options.gap:e+s,g=w?w.lane:c%this.options.lanes,this.options.lanes>1&&S&&this.laneAssignments.set(c,g)}let x=u.get(E),I=typeof x=="number"?x:this.options.estimateSize(c),M=b+I;f[c]={index:c,start:b,size:I,end:M,key:E,lane:g},p[g]=c}return this.measurementsCache=f,f},{key:"getMeasurements",debug:d(()=>this.options.debug,"debug")}),this.calculateRange=z(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(t,e,s,n)=>t.length===0||e===0?(this.range=null,null):(this.range=Z(t,e,s,n,n===1&&this._flatMeasurements!=null?this._flatMeasurements:null),this.range),{key:"calculateRange",debug:d(()=>this.options.debug,"debug")}),this.getVirtualIndexes=z(()=>{let t=null,e=null,s=this.calculateRange();return s&&(t=s.startIndex,e=s.endIndex),this.maybeNotify.updateDeps([this.isScrolling,t,e]),[this.options.rangeExtractor,this.options.overscan,this.options.count,t,e]},(t,e,s,n,o)=>n===null||o===null?[]:t({startIndex:n,endIndex:o,overscan:e,count:s}),{key:"getVirtualIndexes",debug:d(()=>this.options.debug,"debug")}),this.indexFromElement=t=>{let e=this.options.indexAttribute,s=t.getAttribute(e);return s?parseInt(s,10):(console.warn(`Missing attribute name '${e}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=t=>{var e;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;let s=this.scrollState.index??((e=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:e.index);if(s!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),o=Math.max(0,s-n),i=Math.min(this.options.count-1,s+n);return t>=o&&t<=i}return!0},this.measureElement=t=>{if(!t){this.elementsCache.forEach((o,i)=>{o.isConnected||(this.observer.unobserve(o),this.elementsCache.delete(i))});return}let e=this.indexFromElement(t),s=this.options.getItemKey(e),n=this.elementsCache.get(s);n!==t&&(n&&this.observer.unobserve(n),this.observer.observe(t),this.elementsCache.set(s,t)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(e)&&this.resizeItem(e,this.options.measureElement(t,void 0,this))},this.resizeItem=(t,e)=>{var s,n;if(t<0||t>=this.options.count)return;let o,i,l,a=this._flatMeasurements;if(this.options.lanes===1&&a!==null)l=this.options.getItemKey(t),i=a[t*2],o=a[t*2+1];else{let f=this.measurementsCache[t];if(!f)return;l=f.key,i=f.start,o=f.size}let u=this.itemSizeCache.get(l)??o,m=e-u;if(m!==0){let f=this.options.anchorTo==="end"&&((s=this.scrollState)==null?void 0:s.behavior)!=="smooth"&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,p=f?this.getTotalSize():0,c=((n=this.scrollState)==null?void 0:n.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[t]??{index:t,key:l,start:i,size:o,end:i+o,lane:0},m,this):i<this.getScrollOffset()+this.scrollAdjustments&&(!this.itemSizeCache.has(l)||this.scrollDirection!=="backward"));(this.pendingMin===null||t<this.pendingMin)&&(this.pendingMin=t),this.itemSizeCache.set(l,e),this.itemSizeCacheVersion++,f?this.applyScrollAdjustment(this.getTotalSize()-p):c&&this.applyScrollAdjustment(m),this.notify(!1)}},this.getVirtualItems=z(()=>[this.getVirtualIndexes(),this.getMeasurements()],(t,e)=>{let s=[];for(let n=0,o=t.length;n<o;n++){let i=t[n],l=e[i];s.push(l)}return s},{key:"getVirtualItems",debug:d(()=>this.options.debug,"debug")}),this.getVirtualItemForOffset=t=>{let e=this.getMeasurements();if(e.length===0)return;let s=this._flatMeasurements,n=this.options.lanes===1&&s!=null,o=P(0,e.length-1,n?i=>s[i*2]:i=>C(e[i]).start,t);return C(e[o])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let t=this.scrollElement.document.documentElement;return this.options.horizontal?t.scrollWidth-this.scrollElement.innerWidth:t.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(t=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=t,this.getOffsetForAlignment=(t,e,s=0)=>{if(!this.scrollElement)return 0;let n=this.getSize(),o=this.getScrollOffset();e==="auto"&&(e=t>=o+n?"end":"start"),e==="center"?t+=(s-n)/2:e==="end"&&(t-=n);let i=this.getMaxScrollOffset();return Math.max(Math.min(i,t),0)},this.getOffsetForIndex=(t,e="auto")=>{t=Math.max(0,Math.min(t,this.options.count-1));let s=this.getSize(),n=this.getScrollOffset(),o=this.measurementsCache[t];if(!o)return;if(e==="auto")if(o.end>=n+s-this.options.scrollPaddingEnd)e="end";else if(o.start<=n+this.options.scrollPaddingStart)e="start";else return[n,e];if(e==="end"&&t===this.options.count-1)return[this.getMaxScrollOffset(),e];let i=e==="end"?o.end+this.options.scrollPaddingEnd:o.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(i,e,o.size),e]},this.scrollToOffset=(t,{align:e="start",behavior:s="auto"}={})=>{let n=this.getOffsetForAlignment(t,e),o=this.now();this.scrollState={index:null,align:e,behavior:s,startedAt:o,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollToIndex=(t,{align:e="auto",behavior:s="auto"}={})=>{t=Math.max(0,Math.min(t,this.options.count-1));let n=this.getOffsetForIndex(t,e);if(!n)return;let[o,i]=n,l=this.now();this.scrollState={index:t,align:i,behavior:s,startedAt:l,lastTargetOffset:o,stableFrames:0},this._scrollToOffset(o,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollBy=(t,{behavior:e="auto"}={})=>{let s=this.getScrollOffset()+t,n=this.now();this.scrollState={index:null,align:"start",behavior:e,startedAt:n,lastTargetOffset:s,stableFrames:0},this._scrollToOffset(s,{adjustments:void 0,behavior:e}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:t="auto"}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:"end",behavior:t});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:t})},this.getTotalSize=()=>{var t;let e=this.getMeasurements(),s;if(e.length===0)s=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,o=this._flatMeasurements;o!=null?s=o[n*2]+o[n*2+1]:s=((t=e[n])==null?void 0:t.end)??0}else{let n=Array(this.options.lanes).fill(null),o=e.length-1;for(;o>=0&&n.some(i=>i===null);){let i=e[o];n[i.lane]===null&&(n[i.lane]=i.end),o--}s=Math.max(...n.filter(i=>i!==null))}return Math.max(s-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let t=[];if(this.itemSizeCache.size===0)return t;let e=this.getMeasurements();for(let s of e)s&&this.itemSizeCache.has(s.key)&&t.push({index:s.index,key:s.key,start:s.start,size:s.size,end:s.end,lane:s.lane});return t},this._scrollToOffset=(t,{adjustments:e,behavior:s})=>{this._intendedScrollOffset=t+(e??0),this.options.scrollToFn(t,{behavior:s,adjustments:e},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(h)}applyScrollAdjustment(h,t){h!==0&&(this.options.debug&&console.info("correction",h),A()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=h:(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=h,behavior:t}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollAdjustments=0)))}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let e=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,s=e?e[0]:this.scrollState.lastTargetOffset,n=1,o=s!==this.scrollState.lastTargetOffset;if(!o&&W(s,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=n){this.getScrollOffset()!==s&&this._scrollToOffset(s,{adjustments:void 0,behavior:"auto"}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,o){let i=this.getSize()||600,l=Math.abs(s-this.getScrollOffset()),a=this.scrollState.behavior==="smooth"&&l>i;this.scrollState.lastTargetOffset=s,a||(this.scrollState.behavior="auto"),this._scrollToOffset(s,{adjustments:void 0,behavior:a?"smooth":"auto"})}this.scheduleScrollReconcile()}},P=d((r,h,t,e)=>{for(;r<=h;){let s=(r+h)/2|0,n=t(s);if(n<e)r=s+1;else if(n>e)h=s-1;else return s}return r>0?r-1:0},"findNearestBinarySearch");function Q(r,h,t){let e=0;for(;e<=h;){let s=(e+h)/2|0,n=r[s*2];if(n<t)e=s+1;else if(n>t)h=s-1;else return s}return e>0?e-1:0}d(Q,"findNearestBinarySearchFlat");function Z(r,h,t,e,s){let n=r.length-1;if(r.length<=e)return{startIndex:0,endIndex:n};if(e===1&&s!==null){let a=Q(s,n,t),u=a,m=t+h;for(;u<n&&s[u*2]+s[u*2+1]<m;)u++;return{startIndex:a,endIndex:u}}let i=P(0,n,d(a=>r[a].start,"getStart"),t),l=i;if(e===1)for(;l<n&&r[l].end<t+h;)l++;else if(e>1){let a=Array(e).fill(0);for(;l<n&&a.some(m=>m<t+h);){let m=r[l];a[m.lane]=m.end,l++}let u=Array(e).fill(t+h);for(;i>=0&&u.some(m=>m>=t);){let m=r[i];u[m.lane]=m.start,i--}i=Math.max(0,i-i%e),l=Math.min(n,l+(e-1-l%e))}return{startIndex:i,endIndex:l}}d(Z,"calculateRangeImpl");var O=D($(),1),B=D(H(),1);var R=typeof document<"u"?O.useLayoutEffect:O.useEffect;function tt({useFlushSync:r=!0,directDomUpdates:h=!1,directDomUpdatesMode:t="transform",...e}){let s=O.useReducer(a=>a+1,0)[1],n=O.useRef({enabled:h,mode:t,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});n.current.enabled=h,n.current.mode=t;let o=d(a=>{let u=n.current;if(!u.enabled||!u.container)return;let m=a.getTotalSize();if(m!==u.lastSize){u.lastSize=m;let g=a.options.horizontal?"width":"height";u.container.style[g]=`${m}px`}let f=!!a.options.horizontal,p=u.mode==="transform",c=f?"left":"top",E=a.options.scrollMargin,v=a.getVirtualItems();for(let g of v){let b=g.start-E,S=a.elementsCache.get(g.key);S&&u.lastPositions.get(S)!==b&&(u.lastPositions.set(S,b),p?S.style.transform=f?`translate3d(${b}px, 0, 0)`:`translate3d(0, ${b}px, 0)`:S.style[c]=`${b}px`)}},"applyDirectStyles"),i={...e,onChange:d((a,u)=>{var m;let f=n.current,p=!0;if(f.enabled){o(a);let c=a.range,E=f.prevRange;p=!E||E.isScrolling!==a.isScrolling||E.startIndex!==c?.startIndex||E.endIndex!==c?.endIndex,p&&(f.prevRange=c?{startIndex:c.startIndex,endIndex:c.endIndex,isScrolling:a.isScrolling}:null)}p&&(r&&u?(0,B.flushSync)(s):s()),(m=e.onChange)==null||m.call(e,a,u)},"onChange")},[l]=O.useState(()=>{let a=new T(i);return Object.assign(a,{containerRef:d(u=>{let m=n.current;if(m.container=u,m.lastSize=null,u&&m.enabled){let f=a.getTotalSize();m.lastSize=f;let p=a.options.horizontal?"width":"height";u.style[p]=`${f}px`}},"containerRef")})});return l.setOptions(i),R(()=>l._didMount(),[]),R(()=>l._willUpdate()),R(()=>{o(l)}),l}d(tt,"useVirtualizerBase");function ft(r){return tt({observeElementRect:j,observeElementOffset:N,scrollToFn:K,...r})}d(ft,"useVirtualizer");export{j as a,ft as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as $,b as F,c as D,d as p,e as l,f as i}from"./chunk-GTM65MVX.js";import{a as se}from"./chunk-VLXV72QE.js";import{R as te}from"./chunk-3CJW6NWG.js";import{c as T}from"./chunk-UK64ZSUW.js";import"./chunk-O3NAGRTR.js";import"./chunk-HV7G6DFP.js";import{a as K}from"./chunk-BOXSWNXZ.js";import{a as B}from"./chunk-TAD43CG5.js";import{b as ae}from"./chunk-RHZ4M2NZ.js";import{a as R,e as _}from"./chunk-SEU5V7I6.js";import"./chunk-CKSHCYGC.js";import{f as Q}from"./chunk-XLXNLJ4N.js";import"./chunk-ZHVTQ37P.js";import"./chunk-3OA7PECS.js";import{d as V,e as X,f as Y,g as E,k as W}from"./chunk-E75ANNWX.js";import"./chunk-JHKMUTIF.js";import{a as r,e as ee,f as re,h as le}from"./chunk-RRCPZMC2.js";var n=ee(re(),1);var e=ee(le(),1);var ie=["queued","running","paused","waiting","complete","errored","terminated"],ne=["pause","resume","terminate"],de="WORKFLOWS_NOT_CONFIGURED",ce=r(c=>typeof c=="object"&&c!==null&&c.code===de,"isNotConfigured"),fe=r(c=>{let s=c.error??c.output;if(s===void 0)return"\u2014";try{return JSON.stringify(s)}catch{return"(unserializable)"}},"formatStepPayload"),ue=r(({loadDetail:c,loadInstances:s,readOnly:y,runAction:L,workflowName:v})=>{let A=Q(),o=V(),[x,N]=(0,n.useState)(null),[k,I]=(0,n.useState)(null),[w,P]=(0,n.useState)(""),[g,h]=(0,n.useState)(null),[U,S]=(0,n.useState)(!1),[z,J]=(0,n.useState)(null),m=c??(a=>A.getWorkflowInstance(a)),O=y?void 0:L??(s===void 0?a=>A.setWorkflowInstanceStatus(a):void 0),j=r(async()=>{h(null),S(!1);let a=w===""?void 0:w;try{if(s===void 0){let d=await A.listWorkflowInstances({name:v,status:a});if(d.configured===!1){N(null),S(!0);return}N(d.instances);return}N(await s({name:v,status:a}))}catch(d){N(null),ce(d)?S(!0):h(E(d))}},"load");(0,n.useEffect)(()=>{I(null),W(j())},[v,w]);let G=r(async a=>{h(null);try{I(await m({id:a,name:v}))}catch(d){h(E(d))}},"openDetail"),H=r(async(a,d)=>{if(O!==void 0){J(a),h(null);try{await O({action:d,id:a,name:v}),await j()}catch(M){h(E(M))}finally{J(null)}}},"act");return(0,e.jsxDEV)("div",{className:"flex flex-col gap-3","data-testid":"lunora-workflow-instances",children:[(0,e.jsxDEV)("div",{className:"flex items-center justify-between gap-2",children:[(0,e.jsxDEV)("h3",{className:"text-sm font-medium",children:o("Instance history")},void 0,!1),(0,e.jsxDEV)("select",{"aria-label":o("Filter by status"),className:"h-8 rounded-md border border-input bg-transparent px-2.5 py-1 text-xs outline-none focus-visible:border-ring focus-visible:ring-1 focus-visible:ring-ring/50","data-testid":"workflow-instances-filter",onChange:r(a=>{P(a.target.value)},"onChange"),value:w,children:[(0,e.jsxDEV)("option",{value:"",children:o("All statuses")},void 0,!1),ie.map(a=>(0,e.jsxDEV)("option",{value:a,children:a},a,!1))]},void 0,!0)]},void 0,!0),g!==null&&(0,e.jsxDEV)("p",{className:"text-sm text-destructive","data-testid":"workflow-instances-error",role:"alert",children:g},void 0,!1),U&&(0,e.jsxDEV)(B,{description:o("Set CLOUDFLARE_ACCOUNT_ID and CLOUDFLARE_API_TOKEN in your .dev.vars to enable workflow instance history."),testId:"workflow-instances-unconfigured",title:o("Workflow inspection not configured")},void 0,!1),!U&&x!==null&&x.length===0&&(0,e.jsxDEV)(B,{description:o("No instances match this filter for the selected workflow."),testId:"workflow-instances-empty",title:o("No instances")},void 0,!1),x!==null&&x.length>0&&(0,e.jsxDEV)(R,{className:"overflow-hidden py-0",children:(0,e.jsxDEV)(_,{className:"px-0",children:(0,e.jsxDEV)($,{"data-testid":"workflow-instances-table",children:[(0,e.jsxDEV)(F,{children:(0,e.jsxDEV)(p,{children:[(0,e.jsxDEV)(l,{children:o("Instance id")},void 0,!1),(0,e.jsxDEV)(l,{children:o("Status")},void 0,!1),(0,e.jsxDEV)(l,{children:o("Created")},void 0,!1),(0,e.jsxDEV)(l,{children:o("Ended")},void 0,!1),(0,e.jsxDEV)(l,{"aria-label":o("Actions")},void 0,!1)]},void 0,!0)},void 0,!1),(0,e.jsxDEV)(D,{children:x.map(a=>(0,e.jsxDEV)(p,{"data-testid":`workflow-instance-${a.id}`,children:[(0,e.jsxDEV)(i,{className:"font-mono text-xs",children:a.id},void 0,!1),(0,e.jsxDEV)(i,{className:"font-mono text-xs",children:a.status},void 0,!1),(0,e.jsxDEV)(i,{className:"text-muted-foreground tabular-nums",children:a.createdOn??"\u2014"},void 0,!1),(0,e.jsxDEV)(i,{className:"text-muted-foreground tabular-nums",children:a.endedOn??"\u2014"},void 0,!1),(0,e.jsxDEV)(i,{className:"text-right",children:(0,e.jsxDEV)("div",{className:"flex justify-end gap-1.5",children:[(0,e.jsxDEV)(T,{"data-testid":`workflow-instance-steps-${a.id}`,onClick:r(()=>{W(G(a.id))},"onClick"),size:"sm",type:"button",variant:"outline",children:o("Steps")},void 0,!1),O!==void 0&&ne.map(d=>(0,e.jsxDEV)(T,{"data-testid":`workflow-instance-${d}-${a.id}`,disabled:z===a.id,onClick:r(()=>{W(H(a.id,d))},"onClick"),size:"sm",type:"button",variant:"ghost",children:o(d)},d,!1))]},void 0,!0)},void 0,!1)]},a.id,!0))},void 0,!1)]},void 0,!0)},void 0,!1)},void 0,!1),k!==null&&(0,e.jsxDEV)(R,{className:"overflow-hidden py-0","data-testid":"workflow-instance-detail",children:(0,e.jsxDEV)(_,{className:"flex flex-col gap-2 px-4 py-3",children:[(0,e.jsxDEV)("div",{className:"flex items-center justify-between",children:[(0,e.jsxDEV)("span",{className:"font-mono text-xs",children:[o("Steps")," \xB7 ",k.id]},void 0,!0),(0,e.jsxDEV)(T,{"data-testid":"workflow-instance-detail-close",onClick:r(()=>{I(null)},"onClick"),size:"xs",type:"button",variant:"ghost",children:o("Close")},void 0,!1)]},void 0,!0),k.steps.length===0?(0,e.jsxDEV)("p",{className:"text-xs text-muted-foreground",children:o("This instance has no recorded steps yet.")},void 0,!1):(0,e.jsxDEV)($,{"data-testid":"workflow-instance-steps",children:[(0,e.jsxDEV)(F,{children:(0,e.jsxDEV)(p,{children:[(0,e.jsxDEV)(l,{children:o("Step")},void 0,!1),(0,e.jsxDEV)(l,{children:o("Type")},void 0,!1),(0,e.jsxDEV)(l,{children:o("Attempts")},void 0,!1),(0,e.jsxDEV)(l,{children:o("Started")},void 0,!1),(0,e.jsxDEV)(l,{children:o("Output")},void 0,!1)]},void 0,!0)},void 0,!1),(0,e.jsxDEV)(D,{children:k.steps.map((a,d)=>(0,e.jsxDEV)(p,{"data-testid":`workflow-step-${String(d)}`,children:[(0,e.jsxDEV)(i,{className:"font-mono text-xs",children:a.name},void 0,!1),(0,e.jsxDEV)(i,{className:"text-xs text-muted-foreground",children:a.type??"\u2014"},void 0,!1),(0,e.jsxDEV)(i,{className:"tabular-nums",children:a.attempts??"\u2014"},void 0,!1),(0,e.jsxDEV)(i,{className:"text-muted-foreground tabular-nums",children:a.start??"\u2014"},void 0,!1),(0,e.jsxDEV)(i,{className:"font-mono text-xs text-muted-foreground",children:fe(a)},void 0,!1)]},`${a.name}:${String(d)}`,!0))},void 0,!1)]},void 0,!0)]},void 0,!0)},void 0,!1)]},void 0,!0)},"WorkflowInstanceHistory"),me=X(K.createWorkflowInstance),ve=X(K.getWorkflowInstanceStatus),he=r(c=>{if(c.error)return`${c.error.name}: ${c.error.message}`;if(c.output===void 0)return"\u2014";try{return JSON.stringify(c.output)}catch{return"(unserializable)"}},"formatPayload"),Oe=r(()=>{let c=Q(),s=V(),{data:y,error:L}=ae(K.listWorkflows,{}),[v,A]=(0,n.useState)(""),[o,x]=(0,n.useState)(""),[N,k]=(0,n.useState)(""),[I,w]=(0,n.useState)(!1),[P,g]=(0,n.useState)(null),[h,U]=(0,n.useState)([]),[S,z]=(0,n.useState)(null),J=y!==void 0,m=(0,n.useMemo)(()=>Array.isArray(y?.workflows)?[...y.workflows].toSorted((t,u)=>t.exportName.localeCompare(u.exportName)):[],[y]),C=(0,n.useMemo)(()=>m.some(t=>t.exportName===v)?v:m[0]?.exportName??"",[m,v]),q=(0,n.useMemo)(()=>m.find(t=>t.exportName===C),[m,C]),O=r(t=>{U(u=>{let f=u.filter(b=>!(b.exportName===t.exportName&&b.id===t.id));return[t,...f]})},"upsertInstance"),j=r(async()=>{let t=C;if(t==="")return;let u,f=N.trim();if(f!=="")try{u=JSON.parse(f)}catch{g(s("Params must be valid JSON"));return}w(!0),g(null);try{let b=o.trim(),Z=await c.query(me,{exportName:t,id:b===""?void 0:b,params:u},Y(""));O({exportName:t,id:Z.id,status:Z.status}),x("")}catch(b){g(E(b))}finally{w(!1)}},"start"),G=r(()=>{W(j())},"startInstance"),H=r(async(t,u)=>{z(u);try{let f=await c.query(ve,{exportName:t,id:u},Y(""));O({error:f.error,exportName:t,id:f.id,output:f.output,status:f.status})}catch(f){g(E(f))}finally{z(null)}},"refreshInstance"),a=r(t=>{A(t.target.value)},"onSelectedExportChange"),d=r(t=>{x(t.target.value)},"onInstanceIdChange"),M=r(t=>{k(t.target.value)},"onParamsChange"),oe=r(t=>{let{export:u,id:f}=t.currentTarget.dataset;u!==void 0&&f!==void 0&&W(H(u,f))},"onRefreshClick");return(0,e.jsxDEV)("div",{className:"flex flex-col gap-6","data-testid":"lunora-workflows-panel",children:[L!==null&&(0,e.jsxDEV)("p",{className:"text-sm text-destructive","data-testid":"workflows-error",role:"alert",children:L},void 0,!1),(0,e.jsxDEV)("p",{className:"text-sm text-muted-foreground",children:s("Workflows are declared in code with defineWorkflow and run as durable Cloudflare Workflows. Start an instance and observe its status below.")},void 0,!1),J&&m.length===0?(0,e.jsxDEV)(B,{description:s("No defineWorkflow is declared in lunora/workflows.ts in this deployment. Add one to run a durable, multi-step workflow."),testId:"workflows-empty",title:s("No workflows defined")},void 0,!1):(0,e.jsxDEV)(R,{className:"overflow-hidden py-0",children:(0,e.jsxDEV)(_,{className:"px-0",children:(0,e.jsxDEV)($,{"data-testid":"workflows-table",children:[(0,e.jsxDEV)(F,{children:(0,e.jsxDEV)(p,{children:[(0,e.jsxDEV)(l,{children:s("Export")},void 0,!1),(0,e.jsxDEV)(l,{children:s("Name")},void 0,!1),(0,e.jsxDEV)(l,{children:s("Class")},void 0,!1),(0,e.jsxDEV)(l,{children:s("Binding")},void 0,!1)]},void 0,!0)},void 0,!1),(0,e.jsxDEV)(D,{children:m.map(t=>(0,e.jsxDEV)(p,{"data-testid":`workflows-row-${t.exportName}`,children:[(0,e.jsxDEV)(i,{className:"font-mono text-xs",children:t.exportName},void 0,!1),(0,e.jsxDEV)(i,{className:"font-mono text-xs text-muted-foreground",children:t.name},void 0,!1),(0,e.jsxDEV)(i,{className:"font-mono text-xs text-muted-foreground",children:t.className},void 0,!1),(0,e.jsxDEV)(i,{className:"font-mono text-xs text-muted-foreground",children:t.binding},void 0,!1)]},t.exportName,!0))},void 0,!1)]},void 0,!0)},void 0,!1)},void 0,!1),m.length>0&&(0,e.jsxDEV)("div",{className:"flex flex-col gap-3","data-testid":"workflows-start",children:[(0,e.jsxDEV)("h3",{className:"text-sm font-medium",children:s("Start instance")},void 0,!1),P!==null&&(0,e.jsxDEV)("p",{className:"text-sm text-destructive","data-testid":"workflows-start-error",role:"alert",children:P},void 0,!1),(0,e.jsxDEV)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,e.jsxDEV)("select",{"aria-label":s("Workflow"),className:"h-8 rounded-md border border-input bg-transparent px-2.5 py-1 text-xs outline-none focus-visible:border-ring focus-visible:ring-1 focus-visible:ring-ring/50","data-testid":"workflows-start-select",onChange:a,value:C,children:m.map(t=>(0,e.jsxDEV)("option",{value:t.exportName,children:t.exportName},t.exportName,!1))},void 0,!1),(0,e.jsxDEV)(te,{"aria-label":s("Instance id (optional)"),className:"max-w-48","data-testid":"workflows-start-id",onChange:d,placeholder:s("Instance id (optional)"),value:o},void 0,!1),(0,e.jsxDEV)(T,{"data-testid":"workflows-start-button",disabled:I||C==="",onClick:G,children:s(I?"Starting\u2026":"Start instance")},void 0,!1)]},void 0,!0),(0,e.jsxDEV)(se,{"aria-label":s("Params (JSON)"),className:"font-mono","data-testid":"workflows-start-params",onChange:M,placeholder:s("Params (JSON, optional)"),value:N},void 0,!1)]},void 0,!0),h.length>0&&(0,e.jsxDEV)("div",{className:"flex flex-col gap-3","data-testid":"workflows-instances",children:[(0,e.jsxDEV)("h3",{className:"text-sm font-medium",children:s("Instances")},void 0,!1),(0,e.jsxDEV)(R,{className:"overflow-hidden py-0",children:(0,e.jsxDEV)(_,{className:"px-0",children:(0,e.jsxDEV)($,{"data-testid":"workflows-instances-table",children:[(0,e.jsxDEV)(F,{children:(0,e.jsxDEV)(p,{children:[(0,e.jsxDEV)(l,{children:s("Workflow")},void 0,!1),(0,e.jsxDEV)(l,{children:s("Instance id")},void 0,!1),(0,e.jsxDEV)(l,{children:s("Status")},void 0,!1),(0,e.jsxDEV)(l,{children:s("Output")},void 0,!1),(0,e.jsxDEV)(l,{},void 0,!1)]},void 0,!0)},void 0,!1),(0,e.jsxDEV)(D,{children:h.map(t=>(0,e.jsxDEV)(p,{"data-testid":`workflows-instance-${t.id}`,children:[(0,e.jsxDEV)(i,{className:"font-mono text-xs",children:t.exportName},void 0,!1),(0,e.jsxDEV)(i,{className:"font-mono text-xs text-muted-foreground",children:t.id},void 0,!1),(0,e.jsxDEV)(i,{className:"font-mono text-xs",children:t.status},void 0,!1),(0,e.jsxDEV)(i,{className:"font-mono text-xs text-muted-foreground",children:he(t)},void 0,!1),(0,e.jsxDEV)(i,{children:(0,e.jsxDEV)(T,{"data-export":t.exportName,"data-id":t.id,"data-testid":`workflows-instance-refresh-${t.id}`,disabled:S===t.id,onClick:oe,size:"xs",variant:"outline",children:S===t.id?s("Refreshing\u2026"):s("Refresh")},void 0,!1)},void 0,!1)]},`${t.exportName}:${t.id}`,!0))},void 0,!1)]},void 0,!0)},void 0,!1)},void 0,!1)]},void 0,!0),q!==void 0&&(0,e.jsxDEV)(ue,{workflowName:q.name},void 0,!1)]},void 0,!0)},"WorkflowsPanel");export{Oe as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as q,b as wo}from"./chunk-5OIBXYZM.js";import{a as xo,c as bo}from"./chunk-L7SK4ZZD.js";import{a as hs,b as Rs}from"./chunk-KEGAWN6Y.js";import{A as ho,B as ze,C as Ne,E as Ro,F as It,G as ht,H as hr,K as Eo,L as yo,O as te,P as fe,d as xt,h as Z,i as Pe,j as mo,k as Zt,l as en,m as pr,n as Cn,o as Ae,p as Y,q as be,r as St,s as Pn,t as po,u as Xt,v as gr,w as tn,x as go,y as nn}from"./chunk-3CJW6NWG.js";import{a as V,c as U,d as Me,e as Oe,f as ft,g as uo,h as Q,i as Re,j as Yt,k as bt,l as ao,m as Tn,n as fr,o as fo,p as dr,q as gt,r as Le,s as Qt,t as wt,u as $t,v as mr}from"./chunk-O3NAGRTR.js";import{a as Sn}from"./chunk-HV7G6DFP.js";import{c as ut,d as ar,e as vn,g as Bt,h as lo,i as at,j as On}from"./chunk-CKSHCYGC.js";import{a as Wt}from"./chunk-3OA7PECS.js";import{a as i,e as ee,f as me}from"./chunk-RRCPZMC2.js";function je(e){e.preventDefault(),e.stopPropagation()}i(je,"stopEvent");function So(e){return"nativeEvent"in e}i(So,"isReactEvent");function In(e){return e.pointerType===""&&e.isTrusted?!0:Pe.os.android&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}i(In,"isVirtualClick");function Mn(e){return Pe.env.jsdom?!1:!Pe.os.android&&e.width===0&&e.height===0||Pe.os.android&&e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"||e.width<1&&e.height<1&&e.pressure===0&&e.detail===0&&e.pointerType==="touch"}i(Mn,"isVirtualPointerEvent");function dt(e,t){let n=["mouse","pen"];return t||n.push("",void 0),n.includes(e)}i(dt,"isMouseLikePointerType");function vo(e){let t=e.type;return t==="click"||t==="mousedown"||t==="keydown"||t==="keyup"}i(vo,"isClickLikeEvent");var Co=["top","right","bottom","left"];var vt=Math.min,Ye=Math.max,on=Math.round,sn=Math.floor,nt=i(e=>({x:e,y:e}),"createCoords"),Es={left:"right",right:"left",bottom:"top",top:"bottom"};function cn(e,t,n){return Ye(e,vt(t,n))}i(cn,"clamp");function rt(e,t){return typeof e=="function"?e(t):e}i(rt,"evaluate");function ke(e){return e.split("-")[0]}i(ke,"getSide");function ot(e){return e.split("-")[1]}i(ot,"getAlignment");function kn(e){return e==="x"?"y":"x"}i(kn,"getOppositeAxis");function ln(e){return e==="y"?"height":"width"}i(ln,"getAxisLength");function Xe(e){let t=e[0];return t==="t"||t==="b"?"y":"x"}i(Xe,"getSideAxis");function un(e){return kn(Xe(e))}i(un,"getAlignmentAxis");function Po(e,t,n){n===void 0&&(n=!1);let r=ot(e),o=un(e),s=ln(o),c=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(c=rn(c)),[c,rn(c)]}i(Po,"getAlignmentSides");function Io(e){let t=rn(e);return[An(e),t,An(t)]}i(Io,"getExpandedPlacements");function An(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}i(An,"getOppositeAlignmentPlacement");var Oo=["left","right"],To=["right","left"],ys=["top","bottom"],xs=["bottom","top"];function bs(e,t,n){switch(e){case"top":case"bottom":return n?t?To:Oo:t?Oo:To;case"left":case"right":return t?ys:xs;default:return[]}}i(bs,"getSideList");function Mo(e,t,n,r){let o=ot(e),s=bs(ke(e),n==="start",r);return o&&(s=s.map(c=>c+"-"+o),t&&(s=s.concat(s.map(An)))),s}i(Mo,"getOppositeAxisPlacements");function rn(e){let t=ke(e);return Es[t]+e.slice(t.length)}i(rn,"getOppositePlacement");function ws(e){return{top:0,right:0,bottom:0,left:0,...e}}i(ws,"expandPaddingObject");function Fn(e){return typeof e!="number"?ws(e):{top:e,right:e,bottom:e,left:e}}i(Fn,"getPaddingObject");function Mt(e){let{x:t,y:n,width:r,height:o}=e;return{width:r,height:o,top:n,left:t,right:t+r,bottom:n+o,x:t,y:n}}i(Mt,"rectToClientRect");var _e=ee(me(),1);function Ss(e,t){return t!=null&&!dt(t)?0:typeof e=="function"?e():e}i(Ss,"resolveValue");function Rt(e,t,n){let r=Ss(e,n);return typeof r=="number"?r:r?.[t]}i(Rt,"getDelay");function Rr(e){return typeof e=="function"?e():e}i(Rr,"getRestMs");function Dn(e,t){return t||e==="click"||e==="mousedown"}i(Dn,"isClickLikeOpenEvent");function Ao(e){return e?.includes("mouse")&&e!=="mousedown"}i(Ao,"isHoverOpenEvent");var ko=ee(Wt(),1);var Er=_e.createContext({hasProvider:!1,timeoutMs:0,delayRef:{current:0},initialDelayRef:{current:0},timeout:new ze,currentIdRef:{current:null},currentContextRef:{current:null}});Er.displayName="FloatingDelayGroupContext";function vs(e,t){e.current=t.current}i(vs,"resetDelayRef");function Os(e){let{children:t,delay:n,timeoutMs:r=0}=e,o=_e.useRef(n),s=_e.useRef(n),c=_e.useRef(null),l=_e.useRef(null),d=Ne();return V(()=>{if(s.current=n,!c.current){o.current=n;return}o.current={open:Rt(o.current,"open"),close:Rt(n,"close")}},[n,c,o,s]),(0,ko.jsx)(Er.Provider,{value:_e.useMemo(()=>({hasProvider:!0,delayRef:o,initialDelayRef:s,currentIdRef:c,timeoutMs:r,currentContextRef:l,timeout:d}),[r,d]),children:t})}i(Os,"FloatingDelayGroup");function Ts(e,t={open:!1}){let{open:n}=t,r="rootStore"in e?e.rootStore:e,o=r.useState("floatingId"),s=_e.useContext(Er),{currentIdRef:c,delayRef:l,timeoutMs:d,initialDelayRef:a,currentContextRef:u,hasProvider:m,timeout:f}=s,[g,p]=_e.useState(!1),R=_e.useRef(n),E=_e.useRef(!1);return V(()=>{R.current=n},[n]),V(()=>()=>{E.current=!0},[]),V(()=>{function y(){E.current||p(!1),u.current?.setIsInstantPhase(!1),c.current=null,u.current=null,l.current=a.current,f.clear()}if(i(y,"unset"),!!c.current&&!n&&c.current===o){if(p(!1),d){let h=o;return f.start(d,()=>{r.select("open")||c.current&&c.current!==h||y()}),()=>{(R.current||c.current!==h)&&f.clear()}}y()}},[n,o,c,l,d,a,u,f,r]),V(()=>{if(!n)return;let y=u.current,h=c.current;f.clear(),u.current={onOpenChange:r.setOpen,setIsInstantPhase:p},c.current=o,l.current={open:0,close:Rt(a.current,"close")},h!==null&&h!==o?(p(!0),y?.setIsInstantPhase(!0),y?.onOpenChange(!1,fe(te.none))):(p(!1),y?.setIsInstantPhase(!1))},[n,o,r,c,l,a,u,f]),V(()=>()=>{if(c.current===o){if(u.current=null,!R.current)return;c.current=null,vs(l,a),f.clear()}},[u,c,l,o,a,f]),_e.useMemo(()=>({hasProvider:m,delayRef:l,isInstantPhase:g}),[m,l,g])}i(Ts,"useDelayGroup");function we(e){let t=ut(Cs,e).current;return t.next=e,V(t.effect),t}i(we,"useValueAsRef");function Cs(e){let t={current:e,next:e,effect:i(()=>{t.current=t.next},"effect")};return t}i(Cs,"createLatestRef");var Ln=ee(me(),1);var Fo=ee(Wt(),1);var At=Ln.forwardRef(i(function(t,n){let[r,o]=Ln.useState();return V(()=>{Pe.screenReader.voiceOver&&Pe.engine.webkit&&o("button")},[]),(0,Fo.jsx)("span",{...t,ref:n,style:xo,"aria-hidden":r?void 0:!0,...{tabIndex:0,role:r},"data-base-ui-focus-guard":""})},"FocusGuard"));At.displayName="FocusGuard";var Do={style:{transition:"none"}},Lo="data-base-ui-click-trigger",Ps="data-base-ui-swipe-ignore",Is="data-swipe-ignore",Dl=`[${Ps}]`,Ll=`[${Is}]`,Nl={fallbackAxisSide:"none"},_l={fallbackAxisSide:"end"},No={clipPath:"inset(50%)",position:"fixed",top:0,left:0};var Se=ee(me(),1),Tr=ee(Sn(),1);function He(...e){return()=>{for(let t=0;t<e.length;t+=1){let n=e[t];n&&n()}}}i(He,"mergeCleanups");function yr(e,t){return t<0||t>=e.length}i(yr,"isIndexOutOfListBounds");function Nn(e,t){return kt(e.current,{disabledIndices:t})}i(Nn,"getMinListIndex");function xr(e,t){return kt(e.current,{decrement:!0,startingIndex:e.current.length,disabledIndices:t})}i(xr,"getMaxListIndex");function kt(e,{startingIndex:t=-1,decrement:n=!1,disabledIndices:r,amount:o=1}={}){let s=t;do s+=n?-o:o;while(s>=0&&s<=e.length-1&&br(e,s,r));return s}i(kt,"findNonDisabledListIndex");function br(e,t,n){if(typeof n=="function"?n(t):n?.includes(t)??!1)return!0;let o=e[t];return o?Ft(o)?!n&&(o.hasAttribute("disabled")||o.getAttribute("aria-disabled")==="true"):!0:!1}i(br,"isListIndexDisabled");function Ms(e){return e.visibility==="hidden"||e.visibility==="collapse"}i(Ms,"isHiddenByStyles");function Ft(e,t=e?Le(e):null){return!e||!e.isConnected||!t||Ms(t)?!1:typeof e.checkVisibility=="function"?e.checkVisibility():t.display!=="none"&&t.display!=="contents"}i(Ft,"isElementVisible");var As='a[href],button,input,select,textarea,summary,details,iframe,object,embed,[tabindex],[contenteditable]:not([contenteditable="false"]),audio[controls],video[controls]';function ks(e){let t=e.assignedSlot;if(t)return t;if(e.parentElement)return e.parentElement;let n=e.getRootNode();return Yt(n)?n.host:null}i(ks,"getParentElement");function Sr(e){for(let t of Array.from(e.children))if(Me(t)==="summary")return t;return null}i(Sr,"getDetailsSummary");function Fs(e,t){let n=Sr(t);return!!n&&(e===n||Y(n,e))}i(Fs,"isWithinOpenDetailsSummary");function _o(e){let t=e?Me(e):"";return e!=null&&e.matches(As)&&(t!=="summary"||e.parentElement!=null&&Me(e.parentElement)==="details"&&Sr(e.parentElement)===e)&&(t!=="details"||Sr(e)==null)&&(t!=="input"||e.type!=="hidden")}i(_o,"isFocusableCandidate");function Ho(e){if(!_o(e)||!e.isConnected||e.matches(":disabled"))return!1;for(let t=e;t;t=ks(t)){let n=t!==e,r=Me(t)==="slot";if(t.hasAttribute("inert")||n&&Me(t)==="details"&&!t.open&&!Fs(e,t)||t.hasAttribute("hidden")||!r&&!Ds(t,n))return!1}return!0}i(Ho,"isFocusableElement");function Ds(e,t){let n=Le(e);return t?n.display!=="none":Ft(e,n)}i(Ds,"isVisibleInTabbableTree");function Vo(e){let t=e.tabIndex;if(t<0){let n=Me(e);if(n==="details"||n==="audio"||n==="video"||Re(e)&&e.isContentEditable)return 0}return t}i(Vo,"getTabIndex");function wr(e){if(Me(e)!=="input")return null;let t=e;return t.type==="radio"&&t.name!==""?t:null}i(wr,"getNamedRadioInput");function Ls(e,t){let n=wr(e);if(!n)return!0;let r=t.find(o=>{let s=wr(o);return s?.name===n.name&&s.form===n.form&&s.checked});return r?r===n:t.find(o=>{let s=wr(o);return s?.name===n.name&&s.form===n.form})===n}i(Ls,"isTabbableRadio");function Wo(e){if(Re(e)&&Me(e)==="slot"){let t=e.assignedElements({flatten:!0});if(t.length>0)return t}return Re(e)&&e.shadowRoot?Array.from(e.shadowRoot.children):Array.from(e.children)}i(Wo,"getComposedChildren");function Bo(e,t){Wo(e).forEach(n=>{_o(n)&&t.push(n),Bo(n,t)})}i(Bo,"appendCandidates");function Yo(e,t,n){Wo(e).forEach(r=>{Re(r)&&r.matches(t)&&n.push(r),Yo(r,t,n)})}i(Yo,"appendMatchingElements");function _n(e){return Ho(e)&&Vo(e)>=0}i(_n,"isTabbable");function vr(e){let t=[];return Bo(e,t),t.filter(Ho)}i(vr,"focusable");function Gt(e){let t=vr(e);return t.filter(n=>Vo(n)>=0&&Ls(n,t))}i(Gt,"tabbable");function $o(e,t){let n=Gt(e),r=n.length;if(r===0)return;let o=Ae(Z(e)),s=n.indexOf(o),c=s===-1?t===1?0:r-1:s+t;return n[c]}i($o,"getTabbableIn");function Hn(e){return $o(Z(e).body,1)||e}i(Hn,"getNextTabbable");function Vn(e){return $o(Z(e).body,-1)||e}i(Vn,"getPreviousTabbable");function Xo(e,t){if(!e)return null;let n=Gt(Z(e).body),r=n.length;if(r===0)return null;let o=n.indexOf(e);if(o===-1)return null;let s=(o+t+r)%r;return n[s]}i(Xo,"getTabbableNearElement");function zl(e){return Xo(e,1)}i(zl,"getTabbableAfterElement");function jl(e){return Xo(e,-1)}i(jl,"getTabbableBeforeElement");function Dt(e,t){let n=t||e.currentTarget,r=e.relatedTarget;return!r||!Y(n,r)}i(Dt,"isOutsideEvent");function Go(e){Gt(e).forEach(n=>{n.dataset.tabindex=n.getAttribute("tabindex")||"",n.setAttribute("tabindex","-1")})}i(Go,"disableFocusInside");function Or(e){let t=[];Yo(e,"[data-tabindex]",t),t.forEach(n=>{let r=n.dataset.tabindex;delete n.dataset.tabindex,r?n.setAttribute("tabindex",r):n.removeAttribute("tabindex")})}i(Or,"enableFocusInside");function Et(e){return`data-base-ui-${e}`}i(Et,"createAttribute");var Lt=ee(Wt(),1);var Cr=Se.createContext(null);Cr.displayName="PortalContext";var Pr=i(()=>Se.useContext(Cr),"usePortalContext"),Ns=Et("portal");function Uo(e={}){let{ref:t,container:n,componentProps:r=at,elementProps:o}=e,s=xt(),l=Pr()?.portalNode,[d,a]=Se.useState(null),[u,m]=Se.useState(null),f=U(E=>{E!==null&&m(E)}),g=Se.useRef(null);V(()=>{if(n===null){g.current&&(g.current=null,m(null),a(null));return}if(s==null)return;let E=(n&&(uo(n)?n:n.current))??l??document.body;if(E==null){g.current&&(g.current=null,m(null),a(null));return}g.current!==E&&(g.current=E,m(null),a(E))},[n,l,s]);let p=On("div",r,{ref:[t,f],props:[{id:s,[Ns]:""},o]});return{portalNode:u,portalSubtree:d&&p?Tr.createPortal(p,d):null}}i(Uo,"useFloatingPortalNode");var Ko=Se.forwardRef(i(function(t,n){let{render:r,className:o,style:s,children:c,container:l,renderGuards:d,...a}=t,{portalNode:u,portalSubtree:m}=Uo({container:l,ref:n,componentProps:t,elementProps:a}),f=Se.useRef(null),g=Se.useRef(null),p=Se.useRef(null),R=Se.useRef(null),[E,y]=Se.useState(null),h=Se.useRef(!1),b=E?.modal,x=E?.open,T=typeof d=="boolean"?d:!!E&&!E.modal&&E.open&&!!u;Se.useEffect(()=>{if(!u||b)return;function S(P){u&&P.relatedTarget&&Dt(P)&&(P.type==="focusin"?h.current&&(Or(u),h.current=!1):(Go(u),h.current=!0))}return i(S,"onFocus"),He(q(u,"focusin",S,!0),q(u,"focusout",S,!0))},[u,b]),V(()=>{!u||x!==!0||!h.current||(Or(u),h.current=!1)},[x,u]);let I=Se.useMemo(()=>({beforeOutsideRef:f,afterOutsideRef:g,beforeInsideRef:p,afterInsideRef:R,portalNode:u,setFocusManagerState:y}),[u]);return(0,Lt.jsxs)(Se.Fragment,{children:[m,(0,Lt.jsxs)(Cr.Provider,{value:I,children:[T&&u&&(0,Lt.jsx)(At,{"data-type":"outside",ref:f,onFocus:i(S=>{if(Dt(S,u))p.current?.focus();else{let P=E?E.domReference:null;Vn(P)?.focus()}},"onFocus")}),T&&u&&(0,Lt.jsx)("span",{"aria-owns":u.id,style:No}),u&&Tr.createPortal(c,u),T&&u&&(0,Lt.jsx)(At,{"data-type":"outside",ref:g,onFocus:i(S=>{if(Dt(S,u))R.current?.focus();else{let P=E?E.domReference:null;Hn(P)?.focus(),E?.closeOnFocusOut&&E?.onOpenChange(!1,fe(te.focusOut,S.nativeEvent))}},"onFocus")})]})]})},"FloatingPortal"));Ko.displayName="FloatingPortal";function Wn(){let e=new Map;return{emit(t,n){e.get(t)?.forEach(r=>r(n))},on(t,n){e.has(t)||e.set(t,new Set),e.get(t).add(n)},off(t,n){e.get(t)?.delete(n)}}}i(Wn,"createEventEmitter");var Bn=class{static{i(this,"FloatingTreeStore")}nodesRef={current:[]};events=Wn();addNode(t){this.nodesRef.current.push(t)}removeNode(t){let n=this.nodesRef.current.findIndex(r=>r===t);n!==-1&&this.nodesRef.current.splice(n,1)}};var Ot=ee(me(),1);var Ir=ee(Wt(),1);var Mr=Ot.createContext(null);Mr.displayName="FloatingNodeContext";var Ar=Ot.createContext(null);Ar.displayName="FloatingTreeContext";var it=i(()=>Ot.useContext(Mr)?.id||null,"useFloatingParentNodeId"),Ge=i(e=>{let t=Ot.useContext(Ar);return e??t},"useFloatingTree");function _s(e){let t=xt(),n=Ge(e),r=it();return V(()=>{if(!t)return;let o={id:t,parentId:r};return n?.addNode(o),()=>{n?.removeNode(o)}},[n,t,r]),t}i(_s,"useFloatingNodeId");function Hs(e){let{children:t,id:n}=e,r=it();return(0,Ir.jsx)(Mr.Provider,{value:Ot.useMemo(()=>({id:n,parentId:r}),[n,r]),children:t})}i(Hs,"FloatingNode");function Vs(e){let{children:t,externalTree:n}=e,r=ut(()=>n??new Bn).current;return(0,Ir.jsx)(Ar.Provider,{value:r,children:t})}i(Vs,"FloatingTree");var Ve=ee(me(),1);function Ze(e,t,n=!0){return e.filter(o=>o.parentId===t).flatMap(o=>[...!n||o.context?.open?[o]:[],...Ze(e,o.id,n)])}i(Ze,"getNodeChildren");function kr(e,t){let n=[],r=e.find(o=>o.id===t)?.parentId;for(;r;){let o=e.find(s=>s.id===r);r=o?.parentId,o&&(n=n.concat(o))}return n}i(kr,"getNodeAncestors");var Yn=0;function Ut(e,t={}){let{preventScroll:n=!1,sync:r=!1,shouldFocus:o}=t;cancelAnimationFrame(Yn);function s(){o&&!o()||e?.focus({preventScroll:n})}if(i(s,"exec"),r)return s(),Bt;let c=requestAnimationFrame(s);return Yn=c,()=>{Yn===c&&(cancelAnimationFrame(c),Yn=0)}}i(Ut,"enqueueFocus");var Fr={inert:new WeakMap,"aria-hidden":new WeakMap},zo="data-base-ui-inert",Lr={inert:new WeakSet,"aria-hidden":new WeakSet},an=new WeakMap,Dr=0;function Ws(e){return Lr[e]}i(Ws,"getUncontrolledElementsSet");function Qo(e){return e?Yt(e)?e.host:Qo(e.parentNode):null}i(Qo,"unwrapHost");var jo=i((e,t)=>t.map(n=>{if(e.contains(n))return n;let r=Qo(n);return e.contains(r)?r:null}).filter(n=>n!=null),"correctElements"),qo=i(e=>{let t=new Set;return e.forEach(n=>{let r=n;for(;r&&!t.has(r);)t.add(r),r=r.parentNode}),t},"buildKeepSet"),Jo=i((e,t,n)=>{let r=[],o=i(s=>{!s||n.has(s)||Array.from(s.children).forEach(c=>{Me(c)!=="script"&&(t.has(c)?o(c):r.push(c))})},"walk");return o(e),r},"collectOutsideElements");function Bs(e,t,n,r,{mark:o=!0}){let s=null;r?s="inert":n&&(s="aria-hidden");let c=null,l=null,d=jo(t,e),a=o?Jo(t,qo(d),new Set(d)):[],u=[],m=[];if(s){let f=Fr[s],g=Ws(s);l=g,c=f;let p=jo(t,Array.from(t.querySelectorAll("[aria-live]"))),R=d.concat(p);Jo(t,qo(R),new Set(R)).forEach(y=>{let h=y.getAttribute(s),b=h!==null&&h!=="false",x=(f.get(y)||0)+1;f.set(y,x),u.push(y),x===1&&b&&g.add(y),b||y.setAttribute(s,s==="inert"?"":"true")})}return o&&a.forEach(f=>{let g=(an.get(f)||0)+1;an.set(f,g),m.push(f),g===1&&f.setAttribute(zo,"")}),Dr+=1,()=>{c&&u.forEach(f=>{let p=(c.get(f)||0)-1;c.set(f,p),p||(!l?.has(f)&&s&&f.removeAttribute(s),l?.delete(f))}),o&&m.forEach(f=>{let g=(an.get(f)||0)-1;an.set(f,g),g||f.removeAttribute(zo)}),Dr-=1,Dr||(Fr.inert=new WeakMap,Fr["aria-hidden"]=new WeakMap,Lr.inert=new WeakSet,Lr["aria-hidden"]=new WeakSet,an=new WeakMap)}}i(Bs,"applyAttributeToOthers");function Nr(e,t={}){let{ariaHidden:n=!1,inert:r=!1,mark:o=!0}=t,s=Z(e[0]).body;return Bs(e,s,n,r,{mark:o})}i(Nr,"markOthers");var fn=ee(Wt(),1);function Ys(e,t){let n=Oe(be(e));return e instanceof n.KeyboardEvent?"keyboard":e instanceof n.FocusEvent?t||"keyboard":"pointerType"in e?e.pointerType||"keyboard":"touches"in e?"touch":e instanceof n.MouseEvent?t||(e.detail===0?"keyboard":"mouse"):""}i(Ys,"getEventType");var Zo=20,Tt=[];function _r(){Tt=Tt.filter(e=>e.deref()?.isConnected)}i(_r,"clearDisconnectedPreviouslyFocusedElements");function ei(e){_r(),e&&Me(e)!=="body"&&(Tt.push(new WeakRef(e)),Tt.length>Zo&&(Tt=Tt.slice(-Zo)))}i(ei,"addPreviouslyFocusedElement");function ti(){return _r(),Tt[Tt.length-1]?.deref()}i(ti,"getPreviouslyFocusedElement");function $s(e){return e?_n(e)?e:Gt(e)[0]||e:null}i($s,"getFirstTabbableElement");function ni(e){if(e.hasAttribute("tabindex")&&!e.hasAttribute("data-tabindex")||!e.getAttribute("role")?.includes("dialog"))return;let n=vr(e).filter(o=>{let s=o.getAttribute("data-tabindex")||"";return _n(o)||o.hasAttribute("data-tabindex")&&!s.startsWith("-")}),r=e.getAttribute("tabindex");n.length===0?r!=="0"&&(e.setAttribute("tabindex","0"),e.setAttribute("data-tabindex","0")):(r!=="-1"||e.hasAttribute("data-tabindex")&&e.getAttribute("data-tabindex")!=="-1")&&(e.setAttribute("tabindex","-1"),e.setAttribute("data-tabindex","-1"))}i(ni,"handleTabIndex");function Xs(e){let{context:t,children:n,disabled:r=!1,initialFocus:o=!0,returnFocus:s=!0,restoreFocus:c=!1,modal:l=!0,closeOnFocusOut:d=!0,openInteractionType:a="",nextFocusableElement:u,previousFocusableElement:m,beforeContentFocusGuardRef:f,externalTree:g,getInsideElements:p}=e,R="rootStore"in t?t.rootStore:t,E=R.useState("open"),y=R.useState("domReferenceElement"),h=R.useState("floatingElement"),{events:b,dataRef:x}=R.context,T=U(()=>x.current.floatingContext?.nodeId),I=o===!1,S=tn(y)&&I,P=we(o),A=we(s),H=we(a),ne=we(E),N=Ge(g),k=Pr(),M=Ve.useRef(!1),v=Ve.useRef(!1),L=Ve.useRef(!1),W=Ve.useRef(null),O=Ve.useRef(""),D=Ve.useRef(""),_=Ve.useRef(null),$=Ve.useRef(null),X=ar(_,f,k?.beforeInsideRef),ue=ar($,k?.afterInsideRef),J=Ne(),ce=Ne(),j=It(),ye=k!=null,B=nn(h),le=U((z=B)=>z?Gt(z):[]),Ee=U(()=>p?.().filter(z=>z!=null)??[]);Ve.useEffect(()=>{if(r||!l)return;function z(pe){pe.key==="Tab"&&Y(B,Ae(Z(B)))&&le().length===0&&!S&&je(pe)}i(z,"onKeyDown");let ae=Z(B);return q(ae,"keydown",z)},[r,B,l,S,le]),Ve.useEffect(()=>{if(r||!E)return;let z=Z(B);function ae(){L.current=!1}i(ae,"clearPointerDownOutside");function pe(Ce){let K=be(Ce),re=Ee(),G=Y(h,K)||Y(y,K)||Y(k?.portalNode,K)||re.some(de=>de===K||Y(de,K));L.current=!G,D.current=Ce.pointerType||"keyboard",K?.closest(`[${Lo}]`)&&(v.current=!0,ce.start(0,()=>{v.current=!1}))}i(pe,"onPointerDown");function xe(){D.current="keyboard"}return i(xe,"onKeyDown"),He(q(z,"pointerdown",pe,!0),q(z,"pointerup",ae,!0),q(z,"pointercancel",ae,!0),q(z,"keydown",xe,!0),ae)},[r,h,y,B,E,k,ce,Ee]),Ve.useEffect(()=>{if(r||!d)return;let z=Z(B);function ae(){v.current=!0,ce.start(0,()=>{v.current=!1})}i(ae,"handlePointerDown");function pe(re){let G=be(re);_n(G)&&(W.current=G)}i(pe,"handleFocusIn");function xe(re){let G=re.relatedTarget,de=re.currentTarget,ve=be(re);l&&G==null&&ve!=null&&Y(h,ve)&&ei(ve),queueMicrotask(()=>{let se=T(),$e=R.context.triggerElements,w=Ee(),C=G?.hasAttribute(Et("focus-guard"))&&[_.current,$.current,k?.beforeInsideRef.current,k?.afterInsideRef.current,k?.beforeOutsideRef.current,k?.afterOutsideRef.current,ht(m),ht(u)].includes(G),oe=!(Y(y,G)||Y(h,G)||Y(G,h)||Y(k?.portalNode,G)||w.some(F=>F===G||Y(F,G))||G!=null&&$e.hasElement(G)||$e.hasMatchingElement(F=>Y(F,G))||C||N&&(Ze(N.nodesRef.current,se).find(F=>Y(F.context?.elements.floating,G)||Y(F.context?.elements.domReference,G))||kr(N.nodesRef.current,se).find(F=>[F.context?.elements.floating,nn(F.context?.elements.floating)].includes(G)||F.context?.elements.domReference===G)));if(de===y&&B&&ni(B),c&&de!==y&&!Ft(ve)&&Ae(z)===z.body){if(Re(B)&&(B.focus(),c==="popup")){j.request(()=>{B.focus()});return}let F=le(),ie=W.current,et=(ie&&F.includes(ie)?ie:null)||F[F.length-1]||B;Re(et)&&et.focus()}if(x.current.insideReactTree){x.current.insideReactTree=!1;return}(S||!l)&&G&&oe&&!v.current&&(S||G!==ti())&&(M.current=!0,R.setOpen(!1,fe(te.focusOut,re)))})}i(xe,"handleFocusOutside");function Ce(){L.current||(x.current.insideReactTree=!0,J.start(0,()=>{x.current.insideReactTree=!1}))}i(Ce,"markInsideReactTree");let K=Re(y)?y:null;if(!(!h&&!K))return He(K&&q(K,"focusout",xe),K&&q(K,"pointerdown",ae),h&&q(h,"focusin",pe),h&&q(h,"focusout",xe),h&&k&&q(h,"focusout",Ce,!0))},[r,y,h,B,l,N,k,R,d,c,le,S,T,x,J,ce,j,u,m,Ee]),Ve.useEffect(()=>{if(r||!h||!E)return;let z=Array.from(k?.portalNode?.querySelectorAll(`[${Et("portal")}]`)||[]),pe=(N?kr(N.nodesRef.current,T()):[]).find(de=>tn(de.context?.elements.domReference||null))?.context?.elements.domReference,Ce=[...[h,...z,_.current,$.current,k?.beforeOutsideRef.current,k?.afterOutsideRef.current,...Ee()],pe,ht(m),ht(u),S?y:null].filter(de=>de!=null),K=Nr(Ce,{ariaHidden:l||S,mark:!1}),re=[h,...z].filter(de=>de!=null),G=Nr(re);return()=>{G(),K()}},[E,r,y,h,l,k,S,N,T,u,m,Ee]),V(()=>{if(!E||r||!Re(B))return;let z=Z(B),ae=Ae(z);queueMicrotask(()=>{let pe=P.current,xe=typeof pe=="function"?pe(H.current||""):pe;if(xe===void 0||xe===!1||Y(B,ae))return;let K=null,re=i(()=>(K==null&&(K=le(B)),K[0]||B),"getDefaultFocusElement"),G;xe===!0||xe===null?G=re():G=ht(xe),G=G||re();let de=Y(B,Ae(z));Ut(G,{preventScroll:G===B,shouldFocus(){if(!ne.current)return!1;if(de)return!0;let ve=Ae(z);return!(ve!==G&&Y(B,ve))}})})},[r,E,B,le,P,H,ne]),V(()=>{if(r||!B)return;let z=Z(B),ae=Ae(z),pe=H.current==null;ei(ae);function xe(K){if(K.open||(O.current=Ys(K.nativeEvent,D.current)),K.reason===te.triggerHover&&K.nativeEvent.type==="mouseleave"&&(M.current=!0),K.reason===te.outsidePress)if(K.nested)M.current=!1;else if(In(K.nativeEvent)||Mn(K.nativeEvent))M.current=!1;else{let re=!1;Z(B).createElement("div").focus({get preventScroll(){return re=!0,!1}}),re?M.current=!1:M.current=!0}}i(xe,"onOpenChangeLocal"),b.on("openchange",xe);function Ce(){let K=A.current,re=typeof K=="function"?K(O.current):K;if(re===void 0||re===!1)return null;re===null&&(re=!0);let G=y?.isConnected?y:null,de=ae?.isConnected&&Me(ae)!=="body"?ae:null,ve=pe?de||G:G||de;return ve||(ve=ti()||null),typeof re=="boolean"?ve:ht(re)||ve||null}return i(Ce,"getReturnElement"),()=>{b.off("openchange",xe);let K=Ae(z),re=Ee(),G=Y(h,K)||re.some(se=>se===K||Y(se,K))||N&&Ze(N.nodesRef.current,T(),!1).some(se=>Y(se.context?.elements.floating,K)),de=A.current,ve=Ce();queueMicrotask(()=>{let se=$s(ve),$e=typeof de!="boolean";de&&!M.current&&Re(se)&&(!(!$e&&se!==K&&K!==z.body)||G)&&se.focus({preventScroll:!0}),M.current=!1})}},[r,h,B,A,H,b,N,y,T,Ee]),V(()=>{if(!Pe.engine.webkit||E||!h)return;let z=Ae(Z(h));!Re(z)||!Xt(z)||Y(h,z)&&z.blur()},[E,h]),V(()=>{if(!(r||!k))return k.setFocusManagerState({modal:l,closeOnFocusOut:d,open:E,onOpenChange:R.setOpen,domReference:y}),()=>{k.setFocusManagerState(null)}},[r,k,l,E,R,d,y]),V(()=>{if(!(r||!B))return ni(B),()=>{queueMicrotask(_r)}},[r,B]);let Te=!r&&(l?!S:!0)&&(ye||l);return(0,fn.jsxs)(Ve.Fragment,{children:[Te&&(0,fn.jsx)(At,{"data-type":"inside",ref:X,onFocus:i(z=>{if(l){let ae=le();Ut(ae[ae.length-1])}else k?.portalNode&&(M.current=!1,Dt(z,k.portalNode)?Hn(y)?.focus():ht(m??k.beforeOutsideRef)?.focus())},"onFocus")}),n,Te&&(0,fn.jsx)(At,{"data-type":"inside",ref:ue,onFocus:i(z=>{l?Ut(le()[0]):k?.portalNode&&(d&&(M.current=!0),Dt(z,k.portalNode)?Vn(y)?.focus():ht(u??k.afterOutsideRef)?.focus())},"onFocus")})]})}i(Xs,"FloatingFocusManager");var dn=ee(me(),1);function Gs(e,t={}){let{enabled:n=!0,event:r="click",toggle:o=!0,ignoreMouse:s=!1,stickIfOpen:c=!0,touchOpenDelay:l=0,reason:d=te.triggerPress}=t,a="rootStore"in e?e.rootStore:e,u=a.context.dataRef,m=dn.useRef(void 0),f=It(),g=Ne(),p=dn.useMemo(()=>{function R(y,h,b,x){let T=fe(d,h,b);y&&x==="touch"&&l>0?g.start(l,()=>{a.setOpen(!0,T)}):a.setOpen(y,T)}i(R,"setOpenWithTouchDelay");function E(y,h,b){let x=u.current.openEvent,T=a.select("domReferenceElement")!==h;return y&&T||!y||!o?!0:x&&c?!b(x.type):!1}return i(E,"getNextOpen"),{onPointerDown(y){m.current=y.pointerType},onMouseDown(y){let h=m.current,b=y.nativeEvent,x=a.select("open");if(y.button!==0||r==="click"||dt(h,!0)&&s)return;let T=E(x,y.currentTarget,P=>P==="click"||P==="mousedown"),I=be(b);if(Xt(I)){R(T,b,I,h);return}let S=y.currentTarget;f.request(()=>{R(T,b,S,h)})},onClick(y){if(r==="mousedown-only")return;let h=m.current;if(r==="mousedown"&&h){m.current=void 0;return}if(dt(h,!0)&&s)return;let b=a.select("open"),x=E(b,y.currentTarget,T=>T==="click"||T==="mousedown"||T==="keydown"||T==="keyup");R(x,y.nativeEvent,y.currentTarget,h)},onKeyDown(){m.current=void 0}}},[u,r,s,d,a,c,o,f,g,l]);return dn.useMemo(()=>n?{reference:p}:at,[n,p])}i(Gs,"useClick");var Ue=ee(me(),1);function Us(e,t){let n=null,r=null,o=!1;return{contextElement:e||void 0,getBoundingClientRect(){let s=e?.getBoundingClientRect()||{width:0,height:0,x:0,y:0},c=t.axis==="x"||t.axis==="both",l=t.axis==="y"||t.axis==="both",d=["mouseenter","mousemove"].includes(t.dataRef.current.openEvent?.type||"")&&t.pointerType!=="touch",a=s.width,u=s.height,m=s.x,f=s.y;return n==null&&t.x&&c&&(n=s.x-t.x),r==null&&t.y&&l&&(r=s.y-t.y),m-=n||0,f-=r||0,a=0,u=0,!o||d?(a=t.axis==="y"?s.width:0,u=t.axis==="x"?s.height:0,m=c&&t.x!=null?t.x:m,f=l&&t.y!=null?t.y:f):o&&!d&&(u=t.axis==="x"?s.height:u,a=t.axis==="y"?s.width:a),o=!0,{width:a,height:u,x:m,y:f,top:f,right:m+a,bottom:f+u,left:m}}}}i(Us,"createVirtualElement");function ri(e){return e!=null&&e.clientX!=null}i(ri,"isMouseBasedEvent");function Ks(e,t={}){let{enabled:n=!0,axis:r="both"}=t,o="rootStore"in e?e.rootStore:e,s=o.useState("open"),c=o.useState("floatingElement"),l=o.useState("domReferenceElement"),d=o.context.dataRef,a=Ue.useRef(!1),u=Ue.useRef(null),[m,f]=Ue.useState(),[g,p]=Ue.useState([]),R=U(x=>{o.set("positionReference",x)}),E=U((x,T,I)=>{a.current||d.current.openEvent&&!ri(d.current.openEvent)||o.set("positionReference",Us(I??l,{x,y:T,axis:r,dataRef:d,pointerType:m}))}),y=U(x=>{s?u.current||(E(x.clientX,x.clientY,x.currentTarget),p([])):E(x.clientX,x.clientY,x.currentTarget)}),h=dt(m)?c:s;Ue.useEffect(()=>{if(!n){R(l);return}if(!h)return;function x(){u.current?.(),u.current=null}i(x,"cleanupListener");let T=Oe(c);function I(S){let P=be(S);Y(c,P)?x():E(S.clientX,S.clientY)}return i(I,"handleMouseMove"),!d.current.openEvent||ri(d.current.openEvent)?u.current=q(T,"mousemove",I):R(l),x},[h,n,c,d,l,o,E,R,g]),Ue.useEffect(()=>()=>{o.set("positionReference",null)},[o]),Ue.useEffect(()=>{n&&!c&&(a.current=!1)},[n,c]),Ue.useEffect(()=>{!n&&s&&(a.current=!0)},[n,s]);let b=Ue.useMemo(()=>{function x(T){f(T.pointerType)}return i(x,"setPointerTypeRef"),{onPointerDown:x,onPointerEnter:x,onMouseMove:y,onMouseEnter:y}},[y]);return Ue.useMemo(()=>n?{reference:b,trigger:b}:{},[n,b])}i(Ks,"useClientPoint");var Ke=ee(me(),1);function zs(){return!1}i(zs,"alwaysFalse");function js(e){return{escapeKey:typeof e=="boolean"?e:e?.escapeKey??!1,outsidePress:typeof e=="boolean"?e:e?.outsidePress??!0}}i(js,"normalizeProp");function qs(e,t={}){let{enabled:n=!0,escapeKey:r=!0,outsidePress:o=!0,outsidePressEvent:s="sloppy",referencePress:c=zs,bubbles:l,externalTree:d}=t,a="rootStore"in e?e.rootStore:e,u=a.useState("open"),m=a.useState("floatingElement"),{dataRef:f}=a.context,g=Ge(d),p=U(typeof o=="function"?o:()=>!1),R=typeof o=="function"?p:o,E=R!==!1,y=U(()=>s),{escapeKey:h,outsidePress:b}=js(l),x=Ke.useRef(!1),T=Ke.useRef(!1),I=Ke.useRef(!1),S=Ke.useRef(!1),P=Ke.useRef(""),A=Ke.useRef(null),H=Ne(),ne=Ne(),N=U(()=>{ne.clear(),f.current.insideReactTree=!1}),k=U(X=>{let ue=f.current.floatingContext?.nodeId;return(g?Ze(g.nodesRef.current,ue):[]).some(ce=>ce.context?.open&&!ce.context.dataRef.current[X])}),M=U(X=>Pn(X,a.select("floatingElement"))||Pn(X,a.select("domReferenceElement"))),v=U(X=>{c()&&a.setOpen(!1,fe(te.triggerPress,X.nativeEvent))}),L=U(X=>{if(!u||!n||!r||X.key!=="Escape"||S.current||!h&&k("__escapeKeyBubbles"))return;let ue=So(X)?X.nativeEvent:X,J=fe(te.escapeKey,ue);a.setOpen(!1,J),J.isCanceled||X.preventDefault(),!h&&!J.isPropagationAllowed&&X.stopPropagation()}),W=U(()=>{f.current.insideReactTree=!0,ne.start(0,N)}),O=U(X=>{if(!u||!n||X.button!==0)return;let ue=be(X.nativeEvent);Y(a.select("floatingElement"),ue)&&(x.current||(x.current=!0,T.current=!1))}),D=U(X=>{!u||!n||(X.defaultPrevented||X.nativeEvent.defaultPrevented)&&x.current&&(T.current=!0)});Ke.useEffect(()=>{if(!u||!n)return;f.current.__escapeKeyBubbles=h,f.current.__outsidePressBubbles=b;let X=new ze,ue=new ze;function J(){X.clear(),S.current=!0}i(J,"handleCompositionStart");function ce(){X.start(Pe.engine.webkit?5:0,()=>{S.current=!1})}i(ce,"handleCompositionEnd");function j(){I.current=!0,ue.start(0,()=>{I.current=!1})}i(j,"suppressImmediateOutsideClickAfterPreventedStart");function ye(){x.current=!1,T.current=!1}i(ye,"resetPressStartState");function B(){let w=P.current,C=w==="pen"||!w?"mouse":w,oe=y(),F=typeof oe=="function"?oe():oe;return typeof F=="string"?F:F[C]}i(B,"getOutsidePressEvent");function le(w){let C=B();return C==="intentional"&&w.type!=="click"||C==="sloppy"&&w.type==="click"}i(le,"shouldIgnoreEvent");function Ee(w){let C=f.current.floatingContext?.nodeId,oe=g&&Ze(g.nodesRef.current,C).some(F=>Pn(w,F.context?.elements.floating));return M(w)||oe}i(Ee,"isEventWithinFloatingTree");function Te(w){if(le(w)){w.type!=="click"&&!M(w)&&(ue.clear(),I.current=!1),N();return}if(f.current.insideReactTree){N();return}let C=be(w),oe=`[${Et("inert")}]`,F=Q(C)?C.getRootNode():null,ie=Array.from((Yt(F)?F:Z(a.select("floatingElement"))).querySelectorAll(oe)),et=a.context.triggerElements;if(C&&(et.hasElement(C)||et.hasMatchingElement(De=>Y(De,C))))return;let Je=Q(C)?C:null;for(;Je&&!gt(Je);){let De=wt(Je);if(gt(De)||!Q(De))break;Je=De}if(!(ie.length&&Q(C)&&!po(C)&&!Y(C,a.select("floatingElement"))&&ie.every(De=>!Y(Je,De)))){if(Re(C)&&!("touches"in w)){let De=gt(C),st=Le(C),ct=/auto|scroll/,Rn=De||ct.test(st.overflowX),En=De||ct.test(st.overflowY),yn=Rn&&C.clientWidth>0&&C.scrollWidth>C.clientWidth,xn=En&&C.clientHeight>0&&C.scrollHeight>C.clientHeight,bn=st.direction==="rtl",ge=xn&&(bn?w.offsetX<=C.offsetWidth-C.clientWidth:w.offsetX>C.clientWidth),Be=yn&&w.offsetY>C.clientHeight;if(ge||Be)return}if(!Ee(w)){if(B()==="intentional"&&I.current){ue.clear(),I.current=!1;return}typeof R=="function"&&!R(w)||k("__outsidePressBubbles")||(a.setOpen(!1,fe(te.outsidePress,w)),N())}}}i(Te,"closeOnPressOutside");function z(w){B()!=="sloppy"||w.pointerType==="touch"||!a.select("open")||!n||M(w)||Te(w)}i(z,"handlePointerDown");function ae(w){if(B()!=="sloppy"||!a.select("open")||!n||M(w))return;let C=w.touches[0];C&&(A.current={startTime:Date.now(),startX:C.clientX,startY:C.clientY,dismissOnTouchEnd:!1,dismissOnMouseDown:!0},H.start(1e3,()=>{A.current&&(A.current.dismissOnTouchEnd=!1,A.current.dismissOnMouseDown=!1)}))}i(ae,"handleTouchStart");function pe(w,C){let oe=be(w);if(!oe)return;let F=q(oe,w.type,()=>{C(w),F()})}i(pe,"addTargetEventListenerOnce");function xe(w){P.current="touch",pe(w,ae)}i(xe,"handleTouchStartCapture");function Ce(w){H.clear(),w.type==="pointerdown"&&(P.current=w.pointerType),!(w.type==="mousedown"&&A.current&&!A.current.dismissOnMouseDown)&&pe(w,C=>{C.type==="pointerdown"?z(C):Te(C)})}i(Ce,"closeOnPressOutsideCapture");function K(w){if(!x.current)return;let C=T.current;if(ye(),B()==="intentional"){if(w.type==="pointercancel"){C&&j();return}if(!Ee(w)){if(C){j();return}typeof R=="function"&&!R(w)||(ue.clear(),I.current=!0,N())}}}i(K,"handlePressEndCapture");function re(w){if(B()!=="sloppy"||!A.current||M(w))return;let C=w.touches[0];if(!C)return;let oe=Math.abs(C.clientX-A.current.startX),F=Math.abs(C.clientY-A.current.startY),ie=Math.sqrt(oe*oe+F*F);ie>5&&(A.current.dismissOnTouchEnd=!0),ie>10&&(Te(w),H.clear(),A.current=null)}i(re,"handleTouchMove");function G(w){pe(w,re)}i(G,"handleTouchMoveCapture");function de(w){B()!=="sloppy"||!A.current||M(w)||(A.current.dismissOnTouchEnd&&Te(w),H.clear(),A.current=null)}i(de,"handleTouchEnd");function ve(w){pe(w,de)}i(ve,"handleTouchEndCapture");let se=Z(m),$e=He(r&&He(q(se,"keydown",L),q(se,"compositionstart",J),q(se,"compositionend",ce)),E&&He(q(se,"click",Ce,!0),q(se,"pointerdown",Ce,!0),q(se,"pointerup",K,!0),q(se,"pointercancel",K,!0),q(se,"mousedown",Ce,!0),q(se,"mouseup",K,!0),q(se,"touchstart",xe,!0),q(se,"touchmove",G,!0),q(se,"touchend",ve,!0)));return()=>{$e(),X.clear(),ue.clear(),ye(),I.current=!1}},[f,m,r,E,R,u,n,h,b,L,N,y,k,M,g,a,H]),Ke.useEffect(N,[R,N]);let _=Ke.useMemo(()=>({onKeyDown:L,onPointerDown:v,onClick:v}),[L,v]),$=Ke.useMemo(()=>({onKeyDown:L,onPointerDown:D,onMouseDown:D,onClickCapture:W,onMouseDownCapture(X){W(),O(X)},onPointerDownCapture(X){W(),O(X)},onMouseUpCapture:W,onTouchEndCapture:W,onTouchMoveCapture:W}),[L,W,O,D]);return Ke.useMemo(()=>n?{reference:_,floating:$,trigger:_}:{},[n,_,$])}i(qs,"useDismiss");function oi(e,t,n){let{reference:r,floating:o}=e,s=Xe(t),c=un(t),l=ln(c),d=ke(t),a=s==="y",u=r.x+r.width/2-o.width/2,m=r.y+r.height/2-o.height/2,f=r[l]/2-o[l]/2,g;switch(d){case"top":g={x:u,y:r.y-o.height};break;case"bottom":g={x:u,y:r.y+r.height};break;case"right":g={x:r.x+r.width,y:m};break;case"left":g={x:r.x-o.width,y:m};break;default:g={x:r.x,y:r.y}}switch(ot(t)){case"start":g[c]-=f*(n&&a?-1:1);break;case"end":g[c]+=f*(n&&a?-1:1);break}return g}i(oi,"computeCoordsFromPlacement");async function ci(e,t){var n;t===void 0&&(t={});let{x:r,y:o,platform:s,rects:c,elements:l,strategy:d}=e,{boundary:a="clippingAncestors",rootBoundary:u="viewport",elementContext:m="floating",altBoundary:f=!1,padding:g=0}=rt(t,e),p=Fn(g),E=l[f?m==="floating"?"reference":"floating":m],y=Mt(await s.getClippingRect({element:(n=await(s.isElement==null?void 0:s.isElement(E)))==null||n?E:E.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(l.floating)),boundary:a,rootBoundary:u,strategy:d})),h=m==="floating"?{x:r,y:o,width:c.floating.width,height:c.floating.height}:c.reference,b=await(s.getOffsetParent==null?void 0:s.getOffsetParent(l.floating)),x=await(s.isElement==null?void 0:s.isElement(b))?await(s.getScale==null?void 0:s.getScale(b))||{x:1,y:1}:{x:1,y:1},T=Mt(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:h,offsetParent:b,strategy:d}):h);return{top:(y.top-T.top+p.top)/x.y,bottom:(T.bottom-y.bottom+p.bottom)/x.y,left:(y.left-T.left+p.left)/x.x,right:(T.right-y.right+p.right)/x.x}}i(ci,"detectOverflow");var Js=50,li=i(async(e,t,n)=>{let{placement:r="bottom",strategy:o="absolute",middleware:s=[],platform:c}=n,l=c.detectOverflow?c:{...c,detectOverflow:ci},d=await(c.isRTL==null?void 0:c.isRTL(t)),a=await c.getElementRects({reference:e,floating:t,strategy:o}),{x:u,y:m}=oi(a,r,d),f=r,g=0,p={};for(let R=0;R<s.length;R++){let E=s[R];if(!E)continue;let{name:y,fn:h}=E,{x:b,y:x,data:T,reset:I}=await h({x:u,y:m,initialPlacement:r,placement:f,strategy:o,middlewareData:p,rects:a,platform:l,elements:{reference:e,floating:t}});u=b??u,m=x??m,p[y]={...p[y],...T},I&&g<Js&&(g++,typeof I=="object"&&(I.placement&&(f=I.placement),I.rects&&(a=I.rects===!0?await c.getElementRects({reference:e,floating:t,strategy:o}):I.rects),{x:u,y:m}=oi(a,f,d)),R=-1)}return{x:u,y:m,placement:f,strategy:o,middlewareData:p}},"computePosition");var ui=i(function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,r;let{placement:o,middlewareData:s,rects:c,initialPlacement:l,platform:d,elements:a}=t,{mainAxis:u=!0,crossAxis:m=!0,fallbackPlacements:f,fallbackStrategy:g="bestFit",fallbackAxisSideDirection:p="none",flipAlignment:R=!0,...E}=rt(e,t);if((n=s.arrow)!=null&&n.alignmentOffset)return{};let y=ke(o),h=Xe(l),b=ke(l)===l,x=await(d.isRTL==null?void 0:d.isRTL(a.floating)),T=f||(b||!R?[rn(l)]:Io(l)),I=p!=="none";!f&&I&&T.push(...Mo(l,R,p,x));let S=[l,...T],P=await d.detectOverflow(t,E),A=[],H=((r=s.flip)==null?void 0:r.overflows)||[];if(u&&A.push(P[y]),m){let M=Po(o,c,x);A.push(P[M[0]],P[M[1]])}if(H=[...H,{placement:o,overflows:A}],!A.every(M=>M<=0)){var ne,N;let M=(((ne=s.flip)==null?void 0:ne.index)||0)+1,v=S[M];if(v&&(!(m==="alignment"?h!==Xe(v):!1)||H.every(O=>Xe(O.placement)===h?O.overflows[0]>0:!0)))return{data:{index:M,overflows:H},reset:{placement:v}};let L=(N=H.filter(W=>W.overflows[0]<=0).sort((W,O)=>W.overflows[1]-O.overflows[1])[0])==null?void 0:N.placement;if(!L)switch(g){case"bestFit":{var k;let W=(k=H.filter(O=>{if(I){let D=Xe(O.placement);return D===h||D==="y"}return!0}).map(O=>[O.placement,O.overflows.filter(D=>D>0).reduce((D,_)=>D+_,0)]).sort((O,D)=>O[1]-D[1])[0])==null?void 0:k[0];W&&(L=W);break}case"initialPlacement":L=l;break}if(o!==L)return{reset:{placement:L}}}return{}}}},"flip");function ii(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}i(ii,"getSideOffsets");function si(e){return Co.some(t=>e[t]>=0)}i(si,"isAnySideFullyClipped");var ai=i(function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:o="referenceHidden",...s}=rt(e,t);switch(o){case"referenceHidden":{let c=await r.detectOverflow(t,{...s,elementContext:"reference"}),l=ii(c,n.reference);return{data:{referenceHiddenOffsets:l,referenceHidden:si(l)}}}case"escaped":{let c=await r.detectOverflow(t,{...s,altBoundary:!0}),l=ii(c,n.floating);return{data:{escapedOffsets:l,escaped:si(l)}}}default:return{}}}}},"hide");var fi=new Set(["left","top"]);async function Qs(e,t){let{placement:n,platform:r,elements:o}=e,s=await(r.isRTL==null?void 0:r.isRTL(o.floating)),c=ke(n),l=ot(n),d=Xe(n)==="y",a=fi.has(c)?-1:1,u=s&&d?-1:1,m=rt(t,e),{mainAxis:f,crossAxis:g,alignmentAxis:p}=typeof m=="number"?{mainAxis:m,crossAxis:0,alignmentAxis:null}:{mainAxis:m.mainAxis||0,crossAxis:m.crossAxis||0,alignmentAxis:m.alignmentAxis};return l&&typeof p=="number"&&(g=l==="end"?p*-1:p),d?{x:g*u,y:f*a}:{x:f*a,y:g*u}}i(Qs,"convertValueToCoords");var di=i(function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,r;let{x:o,y:s,placement:c,middlewareData:l}=t,d=await Qs(t,e);return c===((n=l.offset)==null?void 0:n.placement)&&(r=l.arrow)!=null&&r.alignmentOffset?{}:{x:o+d.x,y:s+d.y,data:{...d,placement:c}}}}},"offset"),mi=i(function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){let{x:n,y:r,placement:o,platform:s}=t,{mainAxis:c=!0,crossAxis:l=!1,limiter:d={fn:i(y=>{let{x:h,y:b}=y;return{x:h,y:b}},"fn")},...a}=rt(e,t),u={x:n,y:r},m=await s.detectOverflow(t,a),f=Xe(ke(o)),g=kn(f),p=u[g],R=u[f];if(c){let y=g==="y"?"top":"left",h=g==="y"?"bottom":"right",b=p+m[y],x=p-m[h];p=cn(b,p,x)}if(l){let y=f==="y"?"top":"left",h=f==="y"?"bottom":"right",b=R+m[y],x=R-m[h];R=cn(b,R,x)}let E=d.fn({...t,[g]:p,[f]:R});return{...E,data:{x:E.x-n,y:E.y-r,enabled:{[g]:c,[f]:l}}}}}},"shift"),pi=i(function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:o,rects:s,middlewareData:c}=t,{offset:l=0,mainAxis:d=!0,crossAxis:a=!0}=rt(e,t),u={x:n,y:r},m=Xe(o),f=kn(m),g=u[f],p=u[m],R=rt(l,t),E=typeof R=="number"?{mainAxis:R,crossAxis:0}:{mainAxis:0,crossAxis:0,...R};if(d){let b=f==="y"?"height":"width",x=s.reference[f]-s.floating[b]+E.mainAxis,T=s.reference[f]+s.reference[b]-E.mainAxis;g<x?g=x:g>T&&(g=T)}if(a){var y,h;let b=f==="y"?"width":"height",x=fi.has(ke(o)),T=s.reference[m]-s.floating[b]+(x&&((y=c.offset)==null?void 0:y[m])||0)+(x?0:E.crossAxis),I=s.reference[m]+s.reference[b]+(x?0:((h=c.offset)==null?void 0:h[m])||0)-(x?E.crossAxis:0);p<T?p=T:p>I&&(p=I)}return{[f]:g,[m]:p}}}},"limitShift"),gi=i(function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,r;let{placement:o,rects:s,platform:c,elements:l}=t,{apply:d=i(()=>{},"apply"),...a}=rt(e,t),u=await c.detectOverflow(t,a),m=ke(o),f=ot(o),g=Xe(o)==="y",{width:p,height:R}=s.floating,E,y;m==="top"||m==="bottom"?(E=m,y=f===(await(c.isRTL==null?void 0:c.isRTL(l.floating))?"start":"end")?"left":"right"):(y=m,E=f==="end"?"top":"bottom");let h=R-u.top-u.bottom,b=p-u.left-u.right,x=vt(R-u[E],h),T=vt(p-u[y],b),I=!t.middlewareData.shift,S=x,P=T;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(P=b),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(S=h),I&&!f){let H=Ye(u.left,0),ne=Ye(u.right,0),N=Ye(u.top,0),k=Ye(u.bottom,0);g?P=p-2*(H!==0||ne!==0?H+ne:Ye(u.left,u.right)):S=R-2*(N!==0||k!==0?N+k:Ye(u.top,u.bottom))}await d({...t,availableWidth:P,availableHeight:S});let A=await c.getDimensions(l.floating);return p!==A.width||R!==A.height?{reset:{rects:!0}}:{}}}},"size");function yi(e){let t=Le(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,o=Re(e),s=o?e.offsetWidth:n,c=o?e.offsetHeight:r,l=on(n)!==s||on(r)!==c;return l&&(n=s,r=c),{width:n,height:r,$:l}}i(yi,"getCssDimensions");function Vr(e){return Q(e)?e:e.contextElement}i(Vr,"unwrapElement");function Kt(e){let t=Vr(e);if(!Re(t))return nt(1);let n=t.getBoundingClientRect(),{width:r,height:o,$:s}=yi(t),c=(s?on(n.width):n.width)/r,l=(s?on(n.height):n.height)/o;return(!c||!Number.isFinite(c))&&(c=1),(!l||!Number.isFinite(l))&&(l=1),{x:c,y:l}}i(Kt,"getScale");var Zs=nt(0);function xi(e){let t=Oe(e);return!dr()||!t.visualViewport?Zs:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}i(xi,"getVisualOffsets");function ec(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==Oe(e)?!1:t}i(ec,"shouldAddVisualOffsets");function Nt(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let o=e.getBoundingClientRect(),s=Vr(e),c=nt(1);t&&(r?Q(r)&&(c=Kt(r)):c=Kt(e));let l=ec(s,n,r)?xi(s):nt(0),d=(o.left+l.x)/c.x,a=(o.top+l.y)/c.y,u=o.width/c.x,m=o.height/c.y;if(s){let f=Oe(s),g=r&&Q(r)?Oe(r):r,p=f,R=mr(p);for(;R&&r&&g!==p;){let E=Kt(R),y=R.getBoundingClientRect(),h=Le(R),b=y.left+(R.clientLeft+parseFloat(h.paddingLeft))*E.x,x=y.top+(R.clientTop+parseFloat(h.paddingTop))*E.y;d*=E.x,a*=E.y,u*=E.x,m*=E.y,d+=b,a+=x,p=Oe(R),R=mr(p)}}return Mt({width:u,height:m,x:d,y:a})}i(Nt,"getBoundingClientRect");function $n(e,t){let n=Qt(e).scrollLeft;return t?t.left+n:Nt(ft(e)).left+n}i($n,"getWindowScrollBarX");function bi(e,t){let n=e.getBoundingClientRect(),r=n.left+t.scrollLeft-$n(e,n),o=n.top+t.scrollTop;return{x:r,y:o}}i(bi,"getHTMLOffset");function tc(e){let{elements:t,rect:n,offsetParent:r,strategy:o}=e,s=o==="fixed",c=ft(r),l=t?Tn(t.floating):!1;if(r===c||l&&s)return n;let d={scrollLeft:0,scrollTop:0},a=nt(1),u=nt(0),m=Re(r);if((m||!m&&!s)&&((Me(r)!=="body"||bt(c))&&(d=Qt(r)),m)){let g=Nt(r);a=Kt(r),u.x=g.x+r.clientLeft,u.y=g.y+r.clientTop}let f=c&&!m&&!s?bi(c,d):nt(0);return{width:n.width*a.x,height:n.height*a.y,x:n.x*a.x-d.scrollLeft*a.x+u.x+f.x,y:n.y*a.y-d.scrollTop*a.y+u.y+f.y}}i(tc,"convertOffsetParentRelativeRectToViewportRelativeRect");function nc(e){return Array.from(e.getClientRects())}i(nc,"getClientRects");function rc(e){let t=ft(e),n=Qt(e),r=e.ownerDocument.body,o=Ye(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),s=Ye(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),c=-n.scrollLeft+$n(e),l=-n.scrollTop;return Le(r).direction==="rtl"&&(c+=Ye(t.clientWidth,r.clientWidth)-o),{width:o,height:s,x:c,y:l}}i(rc,"getDocumentRect");var hi=25;function oc(e,t){let n=Oe(e),r=ft(e),o=n.visualViewport,s=r.clientWidth,c=r.clientHeight,l=0,d=0;if(o){s=o.width,c=o.height;let u=dr();(!u||u&&t==="fixed")&&(l=o.offsetLeft,d=o.offsetTop)}let a=$n(r);if(a<=0){let u=r.ownerDocument,m=u.body,f=getComputedStyle(m),g=u.compatMode==="CSS1Compat"&&parseFloat(f.marginLeft)+parseFloat(f.marginRight)||0,p=Math.abs(r.clientWidth-m.clientWidth-g);p<=hi&&(s-=p)}else a<=hi&&(s+=a);return{width:s,height:c,x:l,y:d}}i(oc,"getViewportRect");function ic(e,t){let n=Nt(e,!0,t==="fixed"),r=n.top+e.clientTop,o=n.left+e.clientLeft,s=Re(e)?Kt(e):nt(1),c=e.clientWidth*s.x,l=e.clientHeight*s.y,d=o*s.x,a=r*s.y;return{width:c,height:l,x:d,y:a}}i(ic,"getInnerBoundingClientRect");function Ri(e,t,n){let r;if(t==="viewport")r=oc(e,n);else if(t==="document")r=rc(ft(e));else if(Q(t))r=ic(t,n);else{let o=xi(e);r={x:t.x-o.x,y:t.y-o.y,width:t.width,height:t.height}}return Mt(r)}i(Ri,"getClientRectFromClippingAncestor");function wi(e,t){let n=wt(e);return n===t||!Q(n)||gt(n)?!1:Le(n).position==="fixed"||wi(n,t)}i(wi,"hasFixedPositionAncestor");function sc(e,t){let n=t.get(e);if(n)return n;let r=$t(e,[],!1).filter(l=>Q(l)&&Me(l)!=="body"),o=null,s=Le(e).position==="fixed",c=s?wt(e):e;for(;Q(c)&&!gt(c);){let l=Le(c),d=fr(c);!d&&l.position==="fixed"&&(o=null),(s?!d&&!o:!d&&l.position==="static"&&!!o&&(o.position==="absolute"||o.position==="fixed")||bt(c)&&!d&&wi(e,c))?r=r.filter(u=>u!==c):o=l,c=wt(c)}return t.set(e,r),r}i(sc,"getClippingElementAncestors");function cc(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e,c=[...n==="clippingAncestors"?Tn(t)?[]:sc(t,this._c):[].concat(n),r],l=Ri(t,c[0],o),d=l.top,a=l.right,u=l.bottom,m=l.left;for(let f=1;f<c.length;f++){let g=Ri(t,c[f],o);d=Ye(g.top,d),a=vt(g.right,a),u=vt(g.bottom,u),m=Ye(g.left,m)}return{width:a-m,height:u-d,x:m,y:d}}i(cc,"getClippingRect");function lc(e){let{width:t,height:n}=yi(e);return{width:t,height:n}}i(lc,"getDimensions");function uc(e,t,n){let r=Re(t),o=ft(t),s=n==="fixed",c=Nt(e,!0,s,t),l={scrollLeft:0,scrollTop:0},d=nt(0);function a(){d.x=$n(o)}if(i(a,"setLeftRTLScrollbarOffset"),r||!r&&!s)if((Me(t)!=="body"||bt(o))&&(l=Qt(t)),r){let g=Nt(t,!0,s,t);d.x=g.x+t.clientLeft,d.y=g.y+t.clientTop}else o&&a();s&&!r&&o&&a();let u=o&&!r&&!s?bi(o,l):nt(0),m=c.left+l.scrollLeft-d.x-u.x,f=c.top+l.scrollTop-d.y-u.y;return{x:m,y:f,width:c.width,height:c.height}}i(uc,"getRectRelativeToOffsetParent");function Hr(e){return Le(e).position==="static"}i(Hr,"isStaticPositioned");function Ei(e,t){if(!Re(e)||Le(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return ft(e)===n&&(n=n.ownerDocument.body),n}i(Ei,"getTrueOffsetParent");function Si(e,t){let n=Oe(e);if(Tn(e))return n;if(!Re(e)){let o=wt(e);for(;o&&!gt(o);){if(Q(o)&&!Hr(o))return o;o=wt(o)}return n}let r=Ei(e,t);for(;r&&ao(r)&&Hr(r);)r=Ei(r,t);return r&>(r)&&Hr(r)&&!fr(r)?n:r||fo(e)||n}i(Si,"getOffsetParent");var ac=i(async function(e){let t=this.getOffsetParent||Si,n=this.getDimensions,r=await n(e.floating);return{reference:uc(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}},"getElementRects");function fc(e){return Le(e).direction==="rtl"}i(fc,"isRTL");var Wr={convertOffsetParentRelativeRectToViewportRelativeRect:tc,getDocumentElement:ft,getClippingRect:cc,getOffsetParent:Si,getElementRects:ac,getClientRects:nc,getDimensions:lc,getScale:Kt,isElement:Q,isRTL:fc};function vi(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}i(vi,"rectsAreEqual");function dc(e,t){let n=null,r,o=ft(e);function s(){var l;clearTimeout(r),(l=n)==null||l.disconnect(),n=null}i(s,"cleanup");function c(l,d){l===void 0&&(l=!1),d===void 0&&(d=1),s();let a=e.getBoundingClientRect(),{left:u,top:m,width:f,height:g}=a;if(l||t(),!f||!g)return;let p=sn(m),R=sn(o.clientWidth-(u+f)),E=sn(o.clientHeight-(m+g)),y=sn(u),b={rootMargin:-p+"px "+-R+"px "+-E+"px "+-y+"px",threshold:Ye(0,vt(1,d))||1},x=!0;function T(I){let S=I[0].intersectionRatio;if(S!==d){if(!x)return c();S?c(!1,S):r=setTimeout(()=>{c(!1,1e-7)},1e3)}S===1&&!vi(a,e.getBoundingClientRect())&&c(),x=!1}i(T,"handleObserve");try{n=new IntersectionObserver(T,{...b,root:o.ownerDocument})}catch{n=new IntersectionObserver(T,b)}n.observe(e)}return i(c,"refresh"),c(!0),s}i(dc,"observeMove");function mn(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:o=!0,ancestorResize:s=!0,elementResize:c=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:d=!1}=r,a=Vr(e),u=o||s?[...a?$t(a):[],...t?$t(t):[]]:[];u.forEach(y=>{o&&y.addEventListener("scroll",n,{passive:!0}),s&&y.addEventListener("resize",n)});let m=a&&l?dc(a,n):null,f=-1,g=null;c&&(g=new ResizeObserver(y=>{let[h]=y;h&&h.target===a&&g&&t&&(g.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var b;(b=g)==null||b.observe(t)})),n()}),a&&!d&&g.observe(a),t&&g.observe(t));let p,R=d?Nt(e):null;d&&E();function E(){let y=Nt(e);R&&!vi(R,y)&&n(),R=y,p=requestAnimationFrame(E)}return i(E,"frameLoop"),n(),()=>{var y;u.forEach(h=>{o&&h.removeEventListener("scroll",n),s&&h.removeEventListener("resize",n)}),m?.(),(y=g)==null||y.disconnect(),g=null,d&&cancelAnimationFrame(p)}}i(mn,"autoUpdate");var Oi=di;var Ti=mi,Ci=ui,Pi=gi,Ii=ai;var Mi=pi,Xn=i((e,t,n)=>{let r=new Map,o={platform:Wr,...n},s={...o.platform,_c:r};return li(e,t,{...o,platform:s})},"computePosition");var Ie=ee(me(),1),ki=ee(me(),1),Fi=ee(Sn(),1);var pc=typeof document<"u",gc=i(function(){},"noop"),Gn=pc?ki.useLayoutEffect:gc;function Un(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,o;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!Un(e[r],t[r]))return!1;return!0}if(o=Object.keys(e),n=o.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,o[r]))return!1;for(r=n;r--!==0;){let s=o[r];if(!(s==="_owner"&&e.$$typeof)&&!Un(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}i(Un,"deepEqual");function Di(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}i(Di,"getDPR");function Ai(e,t){let n=Di(e);return Math.round(t*n)/n}i(Ai,"roundByDPR");function Br(e){let t=Ie.useRef(e);return Gn(()=>{t.current=e}),t}i(Br,"useLatestRef");function Li(e){e===void 0&&(e={});let{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:o,elements:{reference:s,floating:c}={},transform:l=!0,whileElementsMounted:d,open:a}=e,[u,m]=Ie.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,g]=Ie.useState(r);Un(f,r)||g(r);let[p,R]=Ie.useState(null),[E,y]=Ie.useState(null),h=Ie.useCallback(O=>{O!==I.current&&(I.current=O,R(O))},[]),b=Ie.useCallback(O=>{O!==S.current&&(S.current=O,y(O))},[]),x=s||p,T=c||E,I=Ie.useRef(null),S=Ie.useRef(null),P=Ie.useRef(u),A=d!=null,H=Br(d),ne=Br(o),N=Br(a),k=Ie.useCallback(()=>{if(!I.current||!S.current)return;let O={placement:t,strategy:n,middleware:f};ne.current&&(O.platform=ne.current),Xn(I.current,S.current,O).then(D=>{let _={...D,isPositioned:N.current!==!1};M.current&&!Un(P.current,_)&&(P.current=_,Fi.flushSync(()=>{m(_)}))})},[f,t,n,ne,N]);Gn(()=>{a===!1&&P.current.isPositioned&&(P.current.isPositioned=!1,m(O=>({...O,isPositioned:!1})))},[a]);let M=Ie.useRef(!1);Gn(()=>(M.current=!0,()=>{M.current=!1}),[]),Gn(()=>{if(x&&(I.current=x),T&&(S.current=T),x&&T){if(H.current)return H.current(x,T,k);k()}},[x,T,k,H,A]);let v=Ie.useMemo(()=>({reference:I,floating:S,setReference:h,setFloating:b}),[h,b]),L=Ie.useMemo(()=>({reference:x,floating:T}),[x,T]),W=Ie.useMemo(()=>{let O={position:n,left:0,top:0};if(!L.floating)return O;let D=Ai(L.floating,u.x),_=Ai(L.floating,u.y);return l?{...O,transform:"translate("+D+"px, "+_+"px)",...Di(L.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:D,top:_}},[n,l,L.floating,u.x,u.y]);return Ie.useMemo(()=>({...u,update:k,refs:v,elements:L,floatingStyles:W}),[u,k,v,L,W])}i(Li,"useFloating");var Yr=i((e,t)=>{let n=Oi(e);return{name:n.name,fn:n.fn,options:[e,t]}},"offset"),$r=i((e,t)=>{let n=Ti(e);return{name:n.name,fn:n.fn,options:[e,t]}},"shift"),Xr=i((e,t)=>({fn:Mi(e).fn,options:[e,t]}),"limitShift"),Gr=i((e,t)=>{let n=Ci(e);return{name:n.name,fn:n.fn,options:[e,t]}},"flip"),Ur=i((e,t)=>{let n=Pi(e);return{name:n.name,fn:n.fn,options:[e,t]}},"size");var Kr=i((e,t)=>{let n=Ii(e);return{name:n.name,fn:n.fn,options:[e,t]}},"hide");var Ni=ee(me(),1);function _i(e){let t=Ni.useRef(!0);t.current&&(t.current=!1,e())}i(_i,"useOnFirstRender");var Hi=ee(me(),1);var zr=[],jr;function Vi(){return jr}i(Vi,"getInstance");function Wi(e){zr.push(e)}i(Wi,"register");function hc(e){let t=i((n,r)=>{let o=ut(Rc).current,s;try{jr=o;for(let c of zr)c.before(o);s=e(n,r);for(let c of zr)c.after(o);o.didInitialize=!0}finally{jr=void 0}return s},"FastComponent");return t.displayName=e.displayName||e.name,t}i(hc,"fastComponent");function df(e){return Hi.forwardRef(hc(e))}i(df,"fastComponentRef");function Rc(){return{didInitialize:!1}}i(Rc,"createInstance");var Bi=ee(me(),1),qr=ee(hs(),1),Yi=ee(Rs(),1);var Ec=vn(19),yc=Ec?bc:wc;function Kn(e,t,n,r,o){return yc(e,t,n,r,o)}i(Kn,"useStore");function xc(e,t,n,r,o){let s=Bi.useCallback(()=>t(e.getSnapshot(),n,r,o),[e,t,n,r,o]);return(0,qr.useSyncExternalStore)(e.subscribe,s,s)}i(xc,"useStoreR19");Wi({before(e){e.syncIndex=0,e.didInitialize||(e.syncTick=1,e.syncHooks=[],e.didChangeStore=!0,e.getSnapshot=()=>{let t=!1;for(let n=0;n<e.syncHooks.length;n+=1){let r=e.syncHooks[n],o=r.selector(r.store.state,r.a1,r.a2,r.a3);Object.is(r.value,o)||(t=!0,r.value=o)}return t&&(e.syncTick+=1),e.syncTick})},after(e){e.syncHooks.length>0&&(e.didChangeStore&&(e.didChangeStore=!1,e.subscribe=t=>{let n=new Set;for(let o of e.syncHooks)n.add(o.store);let r=[];for(let o of n)r.push(o.subscribe(t));return()=>{for(let o of r)o()}}),(0,qr.useSyncExternalStore)(e.subscribe,e.getSnapshot,e.getSnapshot))}});function bc(e,t,n,r,o){let s=Vi();if(!s)return xc(e,t,n,r,o);let c=s.syncIndex;s.syncIndex+=1;let l;return s.didInitialize?(l=s.syncHooks[c],(l.store!==e||l.selector!==t||!Object.is(l.a1,n)||!Object.is(l.a2,r)||!Object.is(l.a3,o))&&(l.store!==e&&(s.didChangeStore=!0),l.store=e,l.selector=t,l.a1=n,l.a2=r,l.a3=o,l.value=t(e.getSnapshot(),n,r,o))):(l={store:e,selector:t,a1:n,a2:r,a3:o,value:t(e.getSnapshot(),n,r,o)},s.syncHooks.push(l)),l.value}i(bc,"useStoreFast");function wc(e,t,n,r,o){return(0,Yi.useSyncExternalStoreWithSelector)(e.subscribe,e.getSnapshot,e.getSnapshot,s=>t(s,n,r,o))}i(wc,"useStoreLegacy");var zn=class{static{i(this,"Store")}constructor(t){this.state=t,this.listeners=new Set,this.updateTick=0}subscribe=i(t=>(this.listeners.add(t),()=>{this.listeners.delete(t)}),"subscribe");getSnapshot=i(()=>this.state,"getSnapshot");setState(t){if(this.state===t)return;this.state=t,this.updateTick+=1;let n=this.updateTick;for(let r of this.listeners){if(n!==this.updateTick)return;r(t)}}update(t){for(let n in t)if(!Object.is(this.state[n],t[n])){this.setState({...this.state,...t});return}}set(t,n){Object.is(this.state[t],n)||this.setState({...this.state,[t]:n})}notifyAll(){let t={...this.state};this.setState(t)}use(t,n,r,o){return Kn(this,t,n,r,o)}};var $i=ee(me(),1);var _t=i((e,t,n,r,o,s,...c)=>{if(c.length>0)throw new Error("Unsupported number of selectors");let l;if(e&&t&&n&&r&&o&&s)l=i((d,a,u,m)=>{let f=e(d,a,u,m),g=t(d,a,u,m),p=n(d,a,u,m),R=r(d,a,u,m),E=o(d,a,u,m);return s(f,g,p,R,E,a,u,m)},"selector");else if(e&&t&&n&&r&&o)l=i((d,a,u,m)=>{let f=e(d,a,u,m),g=t(d,a,u,m),p=n(d,a,u,m),R=r(d,a,u,m);return o(f,g,p,R,a,u,m)},"selector");else if(e&&t&&n&&r)l=i((d,a,u,m)=>{let f=e(d,a,u,m),g=t(d,a,u,m),p=n(d,a,u,m);return r(f,g,p,a,u,m)},"selector");else if(e&&t&&n)l=i((d,a,u,m)=>{let f=e(d,a,u,m),g=t(d,a,u,m);return n(f,g,a,u,m)},"selector");else if(e&&t)l=i((d,a,u,m)=>{let f=e(d,a,u,m);return t(f,a,u,m)},"selector");else if(e)l=e;else throw new Error("Missing arguments");return l},"createSelector");var yt=ee(me(),1);var jn=class extends zn{static{i(this,"ReactStore")}constructor(t,n={},r){super(t),this.context=n,this.selectors=r}useSyncedValue(t,n){yt.useDebugValue(t);let r=this;V(()=>{r.state[t]!==n&&r.set(t,n)},[r,t,n])}useSyncedValueWithCleanup(t,n){let r=this;V(()=>(r.state[t]!==n&&r.set(t,n),()=>{r.set(t,void 0)}),[r,t,n])}useSyncedValues(t){let n=this;{yt.useDebugValue(t,c=>Object.keys(c));let o=yt.useRef(Object.keys(t)).current,s=Object.keys(t);(o.length!==s.length||o.some((c,l)=>c!==s[l]))&&console.error("ReactStore.useSyncedValues expects the same prop keys on every render. Keys should be stable.")}let r=Object.values(t);V(()=>{n.update(t)},[n,...r])}useControlledProp(t,n){yt.useDebugValue(t);let r=this,o=n!==void 0;V(()=>{o&&!Object.is(r.state[t],n)&&r.setState({...r.state,[t]:n})},[r,t,n,o]);{let s=this.controlledValues??=new Map;s.has(t)||s.set(t,o);let c=s.get(t);c!==void 0&&c!==o&&console.error(`A component is changing the ${o?"":"un"}controlled state of ${t.toString()} to be ${o?"un":""}controlled. Elements should not switch from uncontrolled to controlled (or vice versa).`)}}select(t,n,r,o){let s=this.selectors[t];return s(this.state,n,r,o)}useState(t,n,r,o){return yt.useDebugValue(t),Kn(this,this.selectors[t],n,r,o)}useContextCallback(t,n){yt.useDebugValue(t);let r=U(n??Bt);this.context[t]=r}useStateSetter(t){let n=yt.useRef(void 0);return n.current===void 0&&(n.current=r=>{this.set(t,r)}),n.current}observe(t,n){let r;typeof t=="function"?r=t:r=this.selectors[t];let o=r(this.state);return n(o,o,this),this.subscribe(s=>{let c=r(s);if(!Object.is(o,c)){let l=o;o=c,n(c,l,this)}})}};var Sc={open:_t(e=>e.open),transitionStatus:_t(e=>e.transitionStatus),domReferenceElement:_t(e=>e.domReferenceElement),referenceElement:_t(e=>e.positionReference??e.referenceElement),floatingElement:_t(e=>e.floatingElement),floatingId:_t(e=>e.floatingId)},zt=class extends jn{static{i(this,"FloatingRootStore")}constructor(t){let{syncOnly:n,nested:r,onOpenChange:o,triggerElements:s,...c}=t;super({...c,positionReference:c.referenceElement,domReferenceElement:c.referenceElement},{onOpenChange:o,dataRef:{current:{}},events:Wn(),nested:r,triggerElements:s},Sc),this.syncOnly=n}syncOpenEvent=i((t,n)=>{(!t||!this.state.open||n!=null&&vo(n))&&(this.context.dataRef.current.openEvent=t?n:void 0)},"syncOpenEvent");dispatchOpenChange=i((t,n)=>{this.syncOpenEvent(t,n.event);let r={open:t,reason:n.reason,nativeEvent:n.event,nested:this.context.nested,triggerElement:n.trigger};this.context.events.emit("openchange",r)},"dispatchOpenChange");setOpen=i((t,n)=>{if(this.syncOnly){this.context.onOpenChange?.(t,n);return}this.dispatchOpenChange(t,n),this.context.onOpenChange?.(t,n)},"setOpen")};function Jr(e){let{popupStore:t,treatPopupAsFloatingElement:n=!1,floatingRootContext:r,floatingId:o,nested:s,onOpenChange:c}=e,l=t.useState("open"),d=t.useState("activeTriggerElement"),a=t.useState(n?"popupElement":"positionerElement"),u=t.context.triggerElements,m=c,f=$i.useRef(null);r===void 0&&f.current===null&&(f.current=new zt({open:l,transitionStatus:void 0,referenceElement:d,floatingElement:a,triggerElements:u,onOpenChange:m,floatingId:o,syncOnly:!0,nested:s}));let g=r??f.current;return t.useSyncedValue("floatingId",o),V(()=>{let p={open:l,floatingId:o,referenceElement:d,floatingElement:a};Q(d)&&(p.domReferenceElement=d),g.state.positionReference===g.state.referenceElement&&(p.positionReference=d),g.update(p)},[l,o,d,a,g]),g.context.onOpenChange=m,g.context.nested=s,g}i(Jr,"useSyncedFloatingRootContext");var jt=ee(me(),1),Xi=ee(Sn(),1);var Zf={tabIndex:-1,[mo]:""};function ed(e){return t=>t==="touch"?e.current:!0}i(ed,"createDefaultInitialFocus");function td(e,t,n=!1){let r=xt(),o=it()!=null,s=jt.useRef(null);e===void 0&&s.current===null&&(s.current=t(r,o));let c=e??s.current;return Jr({popupStore:c,treatPopupAsFloatingElement:n,floatingRootContext:c.state.floatingRootContext,floatingId:r,nested:o,onOpenChange:c.setOpen}),{store:c,internalStore:s.current}}i(td,"usePopupStore");function vc(e,t){let n=jt.useRef(null),r=jt.useRef(null);return jt.useCallback(o=>{if(e===void 0)return;let s=!1;if(n.current!==null){let c=n.current,l=r.current,d=t.context.triggerElements.getById(c);l&&d===l&&(t.context.triggerElements.delete(c),s=!0),n.current=null,r.current=null}if(o!==null&&(n.current=e,r.current=o,t.context.triggerElements.add(e,o),s=!0),s){let c=t.context.triggerElements.size;t.select("open")&&t.state.triggerCount!==c&&t.set("triggerCount",c)}},[t,e])}i(vc,"useTriggerRegistration");function Oc(e,t,n,r=!1){t?e.preventUnmountingOnClose=!1:r&&(e.preventUnmountingOnClose=!0);let o=n?.id??null;(o||t)&&(e.activeTriggerId=o,e.activeTriggerElement=n??null)}i(Oc,"setPopupOpenState");function Tc(e){let t=!1;return e.preventUnmountOnClose=()=>{t=!0},()=>t}i(Tc,"attachPreventUnmountOnClose");function nd(e,t,n,r={}){let o=n.reason,s=o===te.triggerHover,c=t&&o===te.triggerFocus,l=!t&&(o===te.triggerPress||o===te.escapeKey),d=Tc(n);if(e.context.onOpenChange?.(t,n),n.isCanceled)return;r.onBeforeDispatch?.(),e.state.floatingRootContext.dispatchOpenChange(t,n);let a=i(()=>{let u={...r.extraState,open:t};c?u.instantType="focus":l?u.instantType="dismiss":s&&(u.instantType=void 0),Oc(u,t,n.trigger,d()),e.update(u)},"changeState");s?Xi.flushSync(a):a()}i(nd,"applyPopupOpenChange");function rd(e,t,n,r){_i(()=>{t===void 0&&e.state.open===!1&&n&&(e.state={...e.state,open:!0,activeTriggerId:r,preventUnmountingOnClose:!1})})}i(rd,"useInitialOpenSync");function od(e,t,n,r){let o=n.useState("isMountedByTrigger",e),s=vc(e,n),c=U(l=>{if(s(l),!l)return;let d=n.select("open"),a=n.select("activeTriggerId");if(a===e){n.update({activeTriggerElement:l,...d?r:null});return}a==null&&d&&n.update({activeTriggerId:e,activeTriggerElement:l,...r})});return V(()=>{o&&n.update({activeTriggerElement:t.current,...r})},[o,n,t,...Object.values(r)]),{registerTrigger:c,isMountedByThisTrigger:o}}i(od,"useTriggerDataForwarding");function id(e,t={}){let{closeOnActiveTriggerUnmount:n=!1}=t,r=e.useState("open"),o=e.useState("triggerCount");V(()=>{if(!r){e.state.triggerCount!==0&&e.set("triggerCount",0);return}let s=e.context.triggerElements.size,c={};e.state.triggerCount!==s&&(c.triggerCount=s);let l=e.select("activeTriggerId"),d=null;if(l){let a=e.context.triggerElements.getById(l);a?a!==e.state.activeTriggerElement&&(c.activeTriggerElement=a):d=l}if(!d&&!l&&s===1){let a=e.context.triggerElements.entries().next();if(!a.done){let[u,m]=a.value;c.activeTriggerId=u,c.activeTriggerElement=m}}(c.triggerCount!==void 0||c.activeTriggerId!==void 0||c.activeTriggerElement!==void 0)&&e.update(c),d&&n&&queueMicrotask(()=>{if(e.select("open")&&e.select("activeTriggerId")===d&&!e.context.triggerElements.getById(d)){let a=fe(te.none);e.setOpen(!1,a),a.isCanceled||e.update({activeTriggerId:null,activeTriggerElement:null})}})},[r,e,o,n])}i(id,"useImplicitActiveTrigger");function sd(e,t,n){let{mounted:r,setMounted:o,transitionStatus:s}=yo(e),c=t.useState("preventUnmountingOnClose"),l=e?!1:c;t.useSyncedValues({mounted:r,transitionStatus:s,preventUnmountingOnClose:l});let d=U(()=>{o(!1),t.update({activeTriggerId:null,activeTriggerElement:null,mounted:!1,preventUnmountingOnClose:!1}),n?.(),t.context.onOpenChangeComplete?.(!1)});return Eo({enabled:r&&!e&&!l,open:e,ref:t.context.popupRef,onComplete(){e||d()}}),{forceUnmount:d,transitionStatus:s}}i(sd,"useOpenStateTransitions");function cd(e,t){e.useSyncedValues(t),V(()=>()=>{e.update({activeTriggerProps:at,inactiveTriggerProps:at,popupProps:at})},[e])}i(cd,"usePopupInteractionProps");function ld(e,t){V(()=>{!t&&e.state.openMethod!==null&&e.set("openMethod",null)},[t,e]),V(()=>()=>{e.state.openMethod!==null&&e.set("openMethod",null)},[e])}i(ld,"usePopupRootSync");var qn=class{static{i(this,"PopupTriggerMap")}constructor(){this.elementsSet=new Set,this.idMap=new Map}add(t,n){let r=this.idMap.get(t);if(r!==n&&(r!==void 0&&this.elementsSet.delete(r),this.elementsSet.add(n),this.idMap.set(t,n),this.elementsSet.size!==this.idMap.size))throw new Error("Base UI: A trigger element cannot be registered under multiple IDs in PopupTriggerMap.")}delete(t){let n=this.idMap.get(t);n&&(this.elementsSet.delete(n),this.idMap.delete(t))}hasElement(t){return this.elementsSet.has(t)}hasMatchingElement(t){for(let n of this.elementsSet)if(t(n))return!0;return!1}getById(t){return this.idMap.get(t)}entries(){return this.idMap.entries()}elements(){return this.elementsSet.values()}get size(){return this.idMap.size}};function Qr(e){let{open:t=!1,onOpenChange:n,elements:r={}}=e,o=xt(),s=it()!=null;{let l=r.reference;l&&!Q(l)&&console.error("Cannot pass a virtual element to the `elements.reference` option,","as it must be a real DOM element. Use `context.setPositionReference()`","instead.")}let c=ut(()=>new zt({open:t,transitionStatus:void 0,onOpenChange:n,referenceElement:r.reference??null,floatingElement:r.floating??null,triggerElements:new qn,floatingId:o,syncOnly:!1,nested:s})).current;return V(()=>{let l={open:t,floatingId:o};r.reference!==void 0&&(l.referenceElement=r.reference,l.domReferenceElement=Q(r.reference)?r.reference:null),r.floating!==void 0&&(l.floatingElement=r.floating),c.update(l)},[t,o,r.reference,r.floating,c]),c.context.onOpenChange=n,c.context.nested=s,c}i(Qr,"useFloatingRootContext");var mt=ee(me(),1);var Zr=Pe.os.mac&&Pe.engine.webkit;function Cc(e,t={}){let{enabled:n=!0,delay:r}=t,o="rootStore"in e?e.rootStore:e,{events:s,dataRef:c}=o.context,l=mt.useRef(!1),d=mt.useRef(null),a=mt.useRef(!0),u=Ne();mt.useEffect(()=>{let f=o.select("domReferenceElement");if(!n)return;let g=Oe(f);function p(){let y=o.select("domReferenceElement");!o.select("open")&&Re(y)&&y===Ae(Z(y))&&(l.current=!0)}i(p,"onBlur");function R(){a.current=!0}i(R,"onKeyDown");function E(){a.current=!1}return i(E,"onPointerDown"),He(q(g,"blur",p),Zr&&q(g,"keydown",R,!0),Zr&&q(g,"pointerdown",E,!0))},[o,n]),mt.useEffect(()=>{if(!n)return;function f(g){if(g.reason===te.triggerPress||g.reason===te.escapeKey){let p=o.select("domReferenceElement");Q(p)&&(d.current=p,l.current=!0)}}return i(f,"onOpenChangeLocal"),s.on("openchange",f),()=>{s.off("openchange",f)}},[s,n,o]);let m=mt.useMemo(()=>{function f(){l.current=!1,d.current=null}return i(f,"resetBlockedFocus"),{onMouseLeave(){f()},onFocus(g){let p=g.currentTarget;if(l.current){if(d.current===p)return;f()}let R=be(g.nativeEvent);if(Q(R)){if(Zr&&!g.relatedTarget){if(!a.current&&!Xt(R))return}else if(!go(R))return}let E=St(g.relatedTarget,o.context.triggerElements),{nativeEvent:y,currentTarget:h}=g,b=typeof r=="function"?r():r;if(o.select("open")&&E||b===0||b===void 0){o.setOpen(!0,fe(te.triggerFocus,y,h));return}u.start(b,()=>{l.current||o.setOpen(!0,fe(te.triggerFocus,y,h))})},onBlur(g){f();let p=g.relatedTarget,R=g.nativeEvent,E=Q(p)&&p.hasAttribute(Et("focus-guard"))&&p.getAttribute("data-type")==="outside";u.start(0,()=>{let y=o.select("domReferenceElement"),h=Ae(Z(y));!p&&h===y||Y(c.current.floatingContext?.refs.floating.current,h)||Y(y,h)||E||St(p??h,o.context.triggerElements)||o.setOpen(!1,fe(te.triggerFocus,R))})}}},[c,r,o,u]);return mt.useMemo(()=>n?{reference:m,trigger:m}:{},[n,m])}i(Cc,"useFocus");var eo=class e{static{i(this,"HoverInteraction")}constructor(){this.pointerType=void 0,this.interactedInside=!1,this.handler=void 0,this.blockMouseMove=!0,this.performedPointerEventsMutation=!1,this.pointerEventsScopeElement=null,this.pointerEventsReferenceElement=null,this.pointerEventsFloatingElement=null,this.restTimeoutPending=!1,this.openChangeTimeout=new ze,this.restTimeout=new ze,this.handleCloseOptions=void 0}static create(){return new e}dispose=i(()=>{this.openChangeTimeout.clear(),this.restTimeout.clear()},"dispose");disposeEffect=i(()=>this.dispose,"disposeEffect")},Jn=new WeakMap;function qt(e){if(!e.performedPointerEventsMutation)return;let t=e.pointerEventsScopeElement;t&&Jn.get(t)===e&&(e.pointerEventsScopeElement?.style.removeProperty("pointer-events"),e.pointerEventsReferenceElement?.style.removeProperty("pointer-events"),e.pointerEventsFloatingElement?.style.removeProperty("pointer-events"),Jn.delete(t)),e.performedPointerEventsMutation=!1,e.pointerEventsScopeElement=null,e.pointerEventsReferenceElement=null,e.pointerEventsFloatingElement=null}i(qt,"clearSafePolygonPointerEventsMutation");function Qn(e,t){let{scopeElement:n,referenceElement:r,floatingElement:o}=t,s=Jn.get(n);s&&s!==e&&qt(s),qt(e),e.performedPointerEventsMutation=!0,e.pointerEventsScopeElement=n,e.pointerEventsReferenceElement=r,e.pointerEventsFloatingElement=o,Jn.set(n,e),n.style.pointerEvents="none",r.style.pointerEvents="auto",o.style.pointerEvents="auto"}i(Qn,"applySafePolygonPointerEventsMutation");function Zn(e){let t=e.context.dataRef.current,n=ut(()=>t.hoverInteractionState??eo.create()).current;return t.hoverInteractionState||(t.hoverInteractionState=n),ho(t.hoverInteractionState.disposeEffect),t.hoverInteractionState}i(Zn,"useHoverInteractionSharedState");var to=ee(me(),1);function Pc(e,t={}){let{enabled:n=!0,closeDelay:r=0,nodeId:o}=t,s="rootStore"in e?e.rootStore:e,c=s.useState("open"),l=s.useState("floatingElement"),d=s.useState("domReferenceElement"),{dataRef:a}=s.context,u=Ge(),m=it(),f=Zn(s),g=Ne(),p=U(()=>Dn(a.current.openEvent?.type,f.interactedInside)),R=U(()=>Ao(a.current.openEvent?.type)),E=U(()=>{qt(f)});V(()=>{c||(f.pointerType=void 0,f.restTimeoutPending=!1,f.interactedInside=!1,E())},[c,f,E]),to.useEffect(()=>E,[E]),V(()=>{if(n&&c&&f.handleCloseOptions?.blockPointerEvents&&R()&&Q(d)&&l){let y=d,h=l,b=Z(l),x=u?.nodesRef.current.find(P=>P.id===m)?.context?.elements.floating;x&&(x.style.pointerEvents="");let T=f.pointerEventsScopeElement!==h?f.pointerEventsScopeElement:null,I=x!==h?x:null,S=f.handleCloseOptions?.getScope?.()??T??I??y.closest("[data-rootownerid]")??b.body;return Qn(f,{scopeElement:S,referenceElement:y,floatingElement:h}),()=>{E()}}},[n,c,d,l,f,R,u,m,E]),to.useEffect(()=>{if(!n)return;function y(){return!!(u&&m&&Ze(u.nodesRef.current,m).length>0)}i(y,"hasParentChildren");function h(P){let A=Rt(r,"close",f.pointerType),H=i(()=>{s.setOpen(!1,fe(te.triggerHover,P)),u?.events.emit("floating.closed",P)},"close");A?f.openChangeTimeout.start(A,H):(f.openChangeTimeout.clear(),H())}i(h,"closeWithDelay");function b(P){let A=be(P);if(!gr(A)){f.interactedInside=!1;return}f.interactedInside=A?.closest("[aria-haspopup]")!=null}i(b,"handleInteractInside");function x(){f.openChangeTimeout.clear(),g.clear(),u?.events.off("floating.closed",I),E()}i(x,"onFloatingMouseEnter");function T(P){if(y()&&u){u.events.on("floating.closed",I);return}if(St(P.relatedTarget,s.context.triggerElements))return;let A=a.current.floatingContext?.nodeId??o,H=P.relatedTarget;if(!(u&&A&&Q(H)&&Ze(u.nodesRef.current,A,!1).some(N=>Y(N.context?.elements.floating,H)))){if(f.handler){f.handler(P);return}E(),R()&&!p()&&h(P)}}i(T,"onFloatingMouseLeave");function I(P){!u||!m||y()||g.start(0,()=>{u.events.off("floating.closed",I),s.setOpen(!1,fe(te.triggerHover,P)),u.events.emit("floating.closed",P)})}i(I,"onNodeClosed");let S=l;return He(S&&q(S,"mouseenter",x),S&&q(S,"mouseleave",T),S&&q(S,"pointerdown",b,!0),()=>{u?.events.off("floating.closed",I)})},[n,l,s,a,r,o,R,p,E,f,u,m,g])}i(Pc,"useHoverFloatingInteraction");var Ct=ee(me(),1),Gi=ee(Sn(),1);var Ic={current:null};function Mc(e,t={}){let{enabled:n=!0,delay:r=0,handleClose:o=null,mouseOnly:s=!1,restMs:c=0,move:l=!0,triggerElementRef:d=Ic,externalTree:a,isActiveTrigger:u=!0,getHandleCloseContext:m,isClosing:f,shouldOpen:g}=t,p="rootStore"in e?e.rootStore:e,{dataRef:R,events:E}=p.context,y=Ge(a),h=Zn(p),b=Ct.useRef(!1),x=we(o),T=we(r),I=we(c),S=we(n),P=we(g),A=we(f),H=U(()=>Dn(R.current.openEvent?.type,h.interactedInside)),ne=U(()=>P.current?.()!==!1),N=U((v,L,W)=>{let O=p.context.triggerElements;if(O.hasElement(L))return!v||!Y(v,L);if(!Q(W))return!1;let D=W;return O.hasMatchingElement(_=>Y(_,D))&&(!v||!Y(v,D))}),k=U(()=>{if(!h.handler)return;Z(p.select("domReferenceElement")).removeEventListener("mousemove",h.handler),h.handler=void 0}),M=U(()=>{qt(h)});return u&&(h.handleCloseOptions=x.current?.__options),Ct.useEffect(()=>k,[k]),Ct.useEffect(()=>{if(!n)return;function v(L){L.open?b.current=!1:(b.current=L.reason===te.triggerHover,k(),h.openChangeTimeout.clear(),h.restTimeout.clear(),h.blockMouseMove=!0,h.restTimeoutPending=!1)}return i(v,"onOpenChangeLocal"),E.on("openchange",v),()=>{E.off("openchange",v)}},[n,E,h,k]),Ct.useEffect(()=>{if(!n)return;function v(D,_=!0){let $=Rt(T.current,"close",h.pointerType);$?h.openChangeTimeout.start($,()=>{p.setOpen(!1,fe(te.triggerHover,D)),y?.events.emit("floating.closed",D)}):_&&(h.openChangeTimeout.clear(),p.setOpen(!1,fe(te.triggerHover,D)),y?.events.emit("floating.closed",D))}i(v,"closeWithDelay");let L=d.current??(u?p.select("domReferenceElement"):null);if(!Q(L))return;function W(D){if(h.openChangeTimeout.clear(),h.blockMouseMove=!1,s&&!dt(h.pointerType))return;let _=Rr(I.current),$=Rt(T.current,"open",h.pointerType),X=be(D),ue=D.currentTarget??null,J=p.select("domReferenceElement"),ce=ue;if(Q(X)&&!p.context.triggerElements.hasElement(X)){for(let pe of p.context.triggerElements.elements())if(Y(pe,X)){ce=pe;break}}Q(ue)&&Q(J)&&!p.context.triggerElements.hasElement(ue)&&Y(ue,J)&&(ce=J);let j=ce==null?!1:N(J,ce,X),ye=p.select("open"),B=A.current?.()??p.select("transitionStatus")==="ending",le=!ye&&B&&b.current,Ee=!j&&Q(ce)&&Q(J)&&Y(J,ce)&&le,Te=_>0&&!$,z=j&&(ye||le)||Ee,ae=!ye||j;if(z){ne()&&p.setOpen(!0,fe(te.triggerHover,D,ce));return}Te||($?h.openChangeTimeout.start($,()=>{ae&&ne()&&p.setOpen(!0,fe(te.triggerHover,D,ce))}):ae&&ne()&&p.setOpen(!0,fe(te.triggerHover,D,ce)))}i(W,"onMouseEnter");function O(D){if(H()){M();return}k();let _=p.select("domReferenceElement"),$=Z(_);h.restTimeout.clear(),h.restTimeoutPending=!1;let X=R.current.floatingContext??m?.();if(St(D.relatedTarget,p.context.triggerElements))return;if(x.current&&X){p.select("open")||h.openChangeTimeout.clear();let J=d.current;h.handler=x.current({...X,tree:y,x:D.clientX,y:D.clientY,onClose(){M(),k(),S.current&&!H()&&J===p.select("domReferenceElement")&&v(D,!0)}}),$.addEventListener("mousemove",h.handler),h.handler(D);return}(h.pointerType!=="touch"||!Y(p.select("floatingElement"),D.relatedTarget))&&v(D)}return i(O,"onMouseLeave"),l?He(q(L,"mousemove",W,{once:!0}),q(L,"mouseenter",W),q(L,"mouseleave",O)):He(q(L,"mouseenter",W),q(L,"mouseleave",O))},[k,M,R,T,p,n,x,h,u,N,H,s,l,I,d,y,S,m,A,ne]),Ct.useMemo(()=>{if(!n)return;function v(L){h.pointerType=L.pointerType}return i(v,"setPointerRef"),{onPointerDown:v,onPointerEnter:v,onMouseMove(L){let{nativeEvent:W}=L,O=L.currentTarget,D=p.select("domReferenceElement"),_=p.select("open"),$=N(D,O,L.target);if(s&&!dt(h.pointerType))return;if(_&&$&&h.handleCloseOptions?.blockPointerEvents){let J=p.select("floatingElement");if(J){let ce=h.handleCloseOptions?.getScope?.()??O.ownerDocument.body;Qn(h,{scopeElement:ce,referenceElement:O,floatingElement:J})}}let X=Rr(I.current);if(_&&!$||X===0||!$&&h.restTimeoutPending&&L.movementX**2+L.movementY**2<2)return;h.restTimeout.clear();function ue(){if(h.restTimeoutPending=!1,H())return;let J=p.select("open");!h.blockMouseMove&&(!J||$)&&ne()&&p.setOpen(!0,fe(te.triggerHover,W,O))}i(ue,"handleMouseMove"),h.pointerType==="touch"?Gi.flushSync(()=>{ue()}):$&&_?ue():(h.restTimeoutPending=!0,h.restTimeout.start(X,ue))}}},[n,h,H,N,s,p,I,ne])}i(Mc,"useHoverReferenceInteraction");var Fe=ee(me(),1);var Ac="Escape";function tr(e,t,n){switch(e){case"vertical":return t;case"horizontal":return n;default:return t||n}}i(tr,"doSwitch");function er(e,t){return tr(t,e===pr||e===Cn,e===Zt||e===en)}i(er,"isMainOrientationKey");function no(e,t,n){return tr(t,e===Cn,n?e===Zt:e===en)||e==="Enter"||e===" "||e===""}i(no,"isMainOrientationToEndKey");function kc(e,t,n){return tr(t,n?e===Zt:e===en,e===Cn)}i(kc,"isCrossOrientationOpenKey");function Fc(e,t,n,r){let o=n?e===en:e===Zt,s=e===pr;return t==="both"||t==="horizontal"&&r?e===Ac:tr(t,o,s)}i(Fc,"isCrossOrientationCloseKey");function Dc(e,t){let{listRef:n,activeIndex:r,onNavigate:o=i(()=>{},"onNavigateProp"),enabled:s=!0,selectedIndex:c=null,allowEscape:l=!1,loopFocus:d=!1,nested:a=!1,rtl:u=!1,virtual:m=!1,focusItemOnOpen:f="auto",focusItemOnHover:g=!0,openOnArrowKeyDown:p=!0,disabledIndices:R=void 0,orientation:E="vertical",parentOrientation:y,id:h,resetOnPointerLeave:b=!0,externalTree:x,grid:T}=t,I=T!=null;l&&(d||console.warn("`useListNavigation` looping must be enabled to allow escaping."),m||console.warn("`useListNavigation` must be virtual to allow escaping.")),E==="vertical"&&I&&console.warn("In grid list navigation mode, the `orientation` should",'be either "horizontal" or "both".');let S="rootStore"in e?e.rootStore:e,P=S.useState("open"),A=S.useState("floatingElement"),H=S.useState("domReferenceElement"),ne=S.context.dataRef,N=nn(A),k=tn(H),M=we(N),v=it(),L=Ge(x),W=Fe.useRef(f),O=Fe.useRef(c??-1),D=Fe.useRef(null),_=Fe.useRef(!0),$=U(w=>{o(O.current===-1?null:O.current,w)}),X=Fe.useRef(!!A),ue=Fe.useRef(P),J=Fe.useRef(!1),ce=Fe.useRef(!1),j=Fe.useRef(null),ye=we(R),B=we(P),le=we(c),Ee=we(b),Te=It(),z=It(),ae=U(()=>{function w(ie){m?L?.events.emit("virtualfocus",ie):j.current=Ut(ie,{sync:J.current,preventScroll:!0})}i(w,"runFocus");let C=n.current[O.current],oe=ce.current;C&&w(C),(J.current?ie=>ie():ie=>Te.request(ie))(()=>{let ie=n.current[O.current]||C;if(!ie)return;C||w(ie),G&&(oe||!_.current)&&ie.scrollIntoView?.({block:"nearest",inline:"nearest"})})});V(()=>{ne.current.orientation=E},[ne,E]),V(()=>{s&&(P&&A?(O.current=c??-1,W.current&&c!=null&&(ce.current=!0,$())):X.current&&(O.current=-1,$()))},[s,P,A,c,$]),V(()=>{if(s){if(!P){J.current=!1;return}if(A)if(r==null){if(J.current=!1,le.current!=null)return;if(X.current&&(O.current=-1,ae()),(!ue.current||!X.current)&&W.current&&(D.current!=null||W.current===!0&&D.current==null)){let w=0,C=i(()=>{n.current[0]==null?(w<2&&(w?F=>z.request(F):queueMicrotask)(C),w+=1):(O.current=D.current==null||no(D.current,E,u)||a?Nn(n):xr(n),D.current=null,$())},"waitForListPopulated");C()}}else yr(n.current,r)||(O.current=r,ae(),ce.current=!1)}},[s,P,A,r,le,a,n,E,u,$,ae,z]),V(()=>{if(!s||A||!L||m||!X.current)return;let w=L.nodesRef.current,C=w.find(ie=>ie.id===v)?.context?.elements.floating,oe=Ae(Z(H??C??null)),F=w.some(ie=>ie.context&&Y(ie.context.elements.floating,oe));C&&!F&&_.current&&C.focus({preventScroll:!0})},[s,A,H,L,v,m]),V(()=>{ue.current=P,X.current=!!A}),V(()=>{P||(D.current=null,W.current=f)},[P,f]);let pe=r!=null,xe=U(w=>{if(!B.current)return;let C=n.current.indexOf(w.currentTarget);C!==-1&&(O.current!==C||r!==C)&&(O.current=C,$(w))}),Ce=U(()=>y??L?.nodesRef.current.find(w=>w.id===v)?.context?.dataRef?.current.orientation),K=U(()=>Nn(n,ye.current)),re=U(w=>{if(_.current=!1,J.current=!0,w.which===229||!B.current&&w.currentTarget===M.current)return;if(a&&Fc(w.key,E,u,I)){er(w.key,Ce())||je(w),S.setOpen(!1,fe(te.listNavigation,w.nativeEvent)),Re(H)&&(m?L?.events.emit("virtualfocus",H):H.focus());return}let C=O.current,oe=Nn(n,R),F=xr(n,R);if(k||(w.key==="Home"&&(je(w),O.current=oe,$(w)),w.key==="End"&&(je(w),O.current=F,$(w))),T!=null){let ie=T(w,O.current,n,E,d,u,R,oe,F);if(ie!=null&&(O.current=ie,$(w)),E==="both")return}if(er(w.key,E)){if(je(w),P&&!m&&Ae(w.currentTarget.ownerDocument)===w.currentTarget){O.current=no(w.key,E,u)?oe:F,$(w);return}no(w.key,E,u)?d?C>=F?l&&C!==n.current.length?O.current=-1:(J.current=!1,O.current=oe):O.current=kt(n.current,{startingIndex:C,disabledIndices:R}):O.current=Math.min(F,kt(n.current,{startingIndex:C,disabledIndices:R})):d?C<=oe?l&&C!==-1?O.current=n.current.length:(J.current=!1,O.current=F):O.current=kt(n.current,{startingIndex:C,decrement:!0,disabledIndices:R}):O.current=Math.max(oe,kt(n.current,{startingIndex:C,decrement:!0,disabledIndices:R})),yr(n.current,O.current)&&(O.current=-1),$(w)}}),G=Fe.useMemo(()=>({onFocus(C){J.current=!0,xe(C)},onClick:i(({currentTarget:C})=>C.focus({preventScroll:!0}),"onClick"),onMouseMove(C){J.current=!0,ce.current=!1,g&&xe(C)},onPointerLeave(C){if(!B.current||!_.current||C.pointerType==="touch")return;J.current=!0;let oe=C.relatedTarget;if(!(!g||n.current.includes(oe))&&Ee.current&&(j.current?.(),j.current=null,O.current=-1,$(C),!m)){let F=M.current,ie=Ae(Z(F));F&&Y(F,ie)&&F.focus({preventScroll:!0})}}}),[xe,B,M,g,n,$,Ee,m]),de=Fe.useMemo(()=>m&&P&&pe&&{"aria-activedescendant":`${h}-${r}`},[m,P,pe,h,r]),ve=Fe.useMemo(()=>({"aria-orientation":E==="both"?void 0:E,...k?{}:de,onKeyDown(w){if(w.key==="Tab"&&w.shiftKey&&P&&!m){let C=be(w.nativeEvent);if(C&&!Y(M.current,C))return;je(w),S.setOpen(!1,fe(te.focusOut,w.nativeEvent)),Re(H)&&H.focus();return}re(w)},onPointerMove(){_.current=!0}}),[de,re,M,E,k,S,P,m,H]),se=Fe.useMemo(()=>{function w(F){S.setOpen(!0,fe(te.listNavigation,F.nativeEvent,F.currentTarget))}i(w,"openOnNavigationKeyDown");function C(F){f==="auto"&&In(F.nativeEvent)&&(W.current=!m)}i(C,"checkVirtualMouse");function oe(F){W.current=f,f==="auto"&&Mn(F.nativeEvent)&&(W.current=!0)}return i(oe,"checkVirtualPointer"),{onKeyDown(F){let ie=S.select("open");_.current=!1;let et=F.key.startsWith("Arrow"),Je=kc(F.key,Ce(),u),De=er(F.key,E),st=(a?Je:De)||F.key==="Enter"||F.key.trim()==="";if(m&&ie)return re(F);if(!(!ie&&!p&&et)){if(st){let ct=er(F.key,Ce());D.current=a&&ct?null:F.key}if(a){Je&&(je(F),ie?(O.current=K(),$(F)):w(F));return}De&&(le.current!=null&&(O.current=le.current),je(F),!ie&&p?w(F):re(F),ie&&$(F))}},onFocus(F){S.select("open")&&!m&&(O.current=-1,$(F))},onPointerDown:oe,onPointerEnter:oe,onMouseDown:C,onClick:C}},[re,f,K,a,$,S,p,E,Ce,u,le,m]),$e=Fe.useMemo(()=>({...de,...se}),[de,se]);return Fe.useMemo(()=>s?{reference:$e,floating:ve,item:G,trigger:se}:{},[s,$e,ve,se,G])}i(Dc,"useListNavigation");var Ht=ee(me(),1);function Lc(e,t){let{listRef:n,elementsRef:r,activeIndex:o,onMatch:s,disabledIndices:c,onTyping:l,enabled:d=!0,resetMs:a=750,selectedIndex:u=null}=t,m="rootStore"in e?e.rootStore:e,f=m.useState("open"),g=Ne(),p=Ht.useRef(""),R=Ht.useRef(u??o??-1),E=Ht.useRef(null),y=U(x=>{function T(M){let v=r?.current[M];return!v||Ft(v)}i(T,"isVisible");function I(M){return T(M)?c==null||!br(lo,M,c):!1}i(I,"isItemAvailable");function S(M,v,L=0){if(M.length===0)return-1;let W=(L%M.length+M.length)%M.length,O=v.toLowerCase();for(let D=0;D<M.length;D+=1){let _=(W+D)%M.length;if(!(!M[_]?.toLowerCase().startsWith(O)||!I(_)))return _}return-1}i(S,"getMatchingIndex");let P=n.current;if(p.current.length>0&&x.key===" "&&(je(x),l?.(!0)),p.current.length>0&&p.current[0]!==" "&&S(P,p.current)===-1&&x.key!==" "&&l?.(!1),P==null||x.key.length!==1||x.ctrlKey||x.metaKey||x.altKey)return;f&&x.key!==" "&&(je(x),l?.(!0));let A=p.current==="";A&&(R.current=u??o??-1),P.every((M,v)=>M&&I(v)?M[0]?.toLowerCase()!==M[1]?.toLowerCase():!0)&&p.current===x.key&&(p.current="",R.current=E.current),p.current+=x.key,g.start(a,()=>{p.current="",R.current=E.current,l?.(!1)});let N=((A?u??o??-1:R.current)??0)+1,k=S(P,p.current,N);k!==-1?(s?.(k),E.current=k):x.key!==" "&&(p.current="",l?.(!1))}),h=U(x=>{let T=x.relatedTarget,I=m.select("domReferenceElement"),S=m.select("floatingElement");Y(I,T)||Y(S,T)||(g.clear(),p.current="",R.current=E.current,l?.(!1))});V(()=>{!f&&u!==null||(g.clear(),E.current=null,p.current!==""&&(p.current=""))},[f,u,g]),V(()=>{f&&p.current===""&&(R.current=u??o??-1)},[f,u,o]);let b=Ht.useMemo(()=>({onKeyDown:y,onBlur:h}),[y,h]);return Ht.useMemo(()=>d?{reference:b,floating:b}:{},[d,b])}i(Lc,"useTypeahead");var Ui=.1,Nc=Ui*Ui,he=.5;function nr(e,t,n,r,o,s){return r>=t!=s>=t&&e<=(o-n)*(t-r)/(s-r)+n}i(nr,"hasIntersectingEdge");function rr(e,t,n,r,o,s,c,l,d,a){let u=!1;return nr(e,t,n,r,o,s)&&(u=!u),nr(e,t,o,s,c,l)&&(u=!u),nr(e,t,c,l,d,a)&&(u=!u),nr(e,t,d,a,n,r)&&(u=!u),u}i(rr,"isPointInQuadrilateral");function _c(e,t,n){return e>=n.x&&e<=n.x+n.width&&t>=n.y&&t<=n.y+n.height}i(_c,"isInsideRect");function or(e,t,n,r,o,s){let c=Math.min(n,o),l=Math.max(n,o),d=Math.min(r,s),a=Math.max(r,s);return e>=c&&e<=l&&t>=d&&t<=a}i(or,"isInsideAxisAlignedRect");function Hc(e={}){let{blockPointerEvents:t=!1}=e,n=new ze,r=i(({x:o,y:s,placement:c,elements:l,onClose:d,nodeId:a,tree:u})=>{let m=c?.split("-")[0],f=!1,g=null,p=null,R=typeof performance<"u"?performance.now():0;function E(h,b){let x=performance.now(),T=x-R;if(g===null||p===null||T===0)return g=h,p=b,R=x,!1;let I=h-g,S=b-p,P=I*I+S*S,A=T*T*Nc;return g=h,p=b,R=x,P<A}i(E,"isCursorMovingSlowly");function y(){n.clear(),d()}return i(y,"close"),i(function(b){n.clear();let x=l.domReference,T=l.floating;if(!x||!T||m==null||o==null||s==null)return;let{clientX:I,clientY:S}=b,P=be(b),A=b.type==="mouseleave",H=Y(T,P),ne=Y(x,P);if(H&&(f=!0,!A))return;if(ne&&(f=!1,!A)){f=!0;return}if(A&&Q(b.relatedTarget)&&Y(T,b.relatedTarget))return;function N(){return!!(u&&Ze(u.nodesRef.current,a).length>0)}i(N,"hasOpenChildNode");function k(){N()||y()}if(i(k,"closeIfNoOpenChild"),N())return;let M=x.getBoundingClientRect(),v=T.getBoundingClientRect(),L=o>v.right-v.width/2,W=s>v.bottom-v.height/2,O=v.width>M.width,D=v.height>M.height,_=(O?M:v).left,$=(O?M:v).right,X=(D?M:v).top,ue=(D?M:v).bottom;if(m==="top"&&s>=M.bottom-1||m==="bottom"&&s<=M.top+1||m==="left"&&o>=M.right-1||m==="right"&&o<=M.left+1){k();return}let J=!1;switch(m){case"top":J=or(I,S,_,M.top+1,$,v.bottom-1);break;case"bottom":J=or(I,S,_,v.top+1,$,M.bottom-1);break;case"left":J=or(I,S,v.right-1,ue,M.left+1,X);break;case"right":J=or(I,S,M.right-1,ue,v.left+1,X);break;default:}if(J)return;if(f&&!_c(I,S,M)){k();return}if(!A&&E(I,S)){k();return}let ce=!1;switch(m){case"top":{let j=O?he/2:he*4,ye=O||L?o+j:o-j,B=O?o-j:L?o+j:o-j,le=s+he+1,Ee=L||O?v.bottom-he:v.top,Te=L?O?v.bottom-he:v.top:v.bottom-he;ce=rr(I,S,ye,le,B,le,v.left,Ee,v.right,Te);break}case"bottom":{let j=O?he/2:he*4,ye=O||L?o+j:o-j,B=O?o-j:L?o+j:o-j,le=s-he,Ee=L||O?v.top+he:v.bottom,Te=L?O?v.top+he:v.bottom:v.top+he;ce=rr(I,S,ye,le,B,le,v.left,Ee,v.right,Te);break}case"left":{let j=D?he/2:he*4,ye=D||W?s+j:s-j,B=D?s-j:W?s+j:s-j,le=o+he+1,Ee=W||D?v.right-he:v.left,Te=W?D?v.right-he:v.left:v.right-he;ce=rr(I,S,Ee,v.top,Te,v.bottom,le,ye,le,B);break}case"right":{let j=D?he/2:he*4,ye=D||W?s+j:s-j,B=D?s-j:W?s+j:s-j,le=o-he,Ee=W||D?v.left+he:v.right,Te=W?D?v.left+he:v.right:v.left+he;ce=rr(I,S,le,ye,le,B,Ee,v.top,Te,v.bottom);break}default:}ce?f||n.start(40,k):k()},"onMouseMove")},"fn");return r.__options={...e,blockPointerEvents:t},r}i(Hc,"safePolygon");var We=ee(me(),1);function ro(e={}){let{nodeId:t,externalTree:n}=e,r=Qr(e),o=e.rootContext||r,s=o.useState("referenceElement"),c=o.useState("floatingElement"),l=o.useState("domReferenceElement"),d=o.useState("open"),a=o.useState("floatingId"),[u,m]=We.useState(null),[f,g]=We.useState(void 0),[p,R]=We.useState(void 0),E=We.useRef(null),y=Ge(n),h=We.useMemo(()=>({reference:s,floating:c,domReference:l}),[s,c,l]),b=Li({...e,elements:{...h,...u&&{reference:u}}}),x=Q(f)?f:null,T=p===void 0?o.state.floatingElement:p;o.useSyncedValue("referenceElement",f??null),o.useSyncedValue("domReferenceElement",f===void 0?l:x),o.useSyncedValue("floatingElement",T);let I=We.useCallback(N=>{let k=Q(N)?{getBoundingClientRect:i(()=>N.getBoundingClientRect(),"getBoundingClientRect"),getClientRects:i(()=>N.getClientRects(),"getClientRects"),contextElement:N}:N;m(k),b.refs.setReference(k)},[b.refs]),S=We.useCallback(N=>{(Q(N)||N===null)&&(E.current=N,g(N)),(Q(b.refs.reference.current)||b.refs.reference.current===null||N!==null&&!Q(N))&&b.refs.setReference(N)},[b.refs,g]),P=We.useCallback(N=>{R(N),b.refs.setFloating(N)},[b.refs]),A=We.useMemo(()=>({...b.refs,setReference:S,setFloating:P,setPositionReference:I,domReference:E}),[b.refs,S,P,I]),H=We.useMemo(()=>({...b.elements,domReference:l}),[b.elements,l]),ne=We.useMemo(()=>({...b,dataRef:o.context.dataRef,open:d,onOpenChange:o.setOpen,events:o.context.events,floatingId:a,refs:A,elements:H,nodeId:t,rootStore:o}),[b,A,H,t,o,d,a]);return V(()=>{l&&(E.current=l)},[l]),V(()=>{o.context.dataRef.current.floatingContext=ne;let N=y?.nodesRef.current.find(k=>k.id===t);N&&(N.context=ne)}),We.useMemo(()=>({...b,context:ne,refs:A,elements:H,rootStore:o}),[b,A,H,ne,o])}i(ro,"useFloating");var io=(function(e){return e.open="data-open",e.closed="data-closed",e[e.startingStyle=hr.startingStyle]="startingStyle",e[e.endingStyle=hr.endingStyle]="endingStyle",e.anchorHidden="data-anchor-hidden",e.side="data-side",e.align="data-align",e})({}),oo=(function(e){return e.popupOpen="data-popup-open",e.pressed="data-pressed",e})({}),Vc={[oo.popupOpen]:""},Wc={[oo.popupOpen]:"",[oo.pressed]:""},Bc={[io.open]:""},Yc={[io.closed]:""},$c={[io.anchorHidden]:""},Sp={open(e){return e?Vc:null}},vp={open(e){return e?Wc:null}},Ki={open(e){return e?Bc:Yc},anchorHidden(e){return e?$c:null}};var gn=ee(me(),1);var pn=ee(me(),1);function zi(e){let t=pn.useRef(""),n=pn.useCallback(o=>{o.defaultPrevented||(t.current=o.pointerType,e(o,o.pointerType))},[e]);return{onClick:pn.useCallback(o=>{if(o.detail===0){e(o,"keyboard");return}"pointerType"in o?e(o,o.pointerType):e(o,t.current),t.current=""},[e]),onPointerDown:n}}i(zi,"useEnhancedClickHandler");function Xc(e,t){let n=U((s,c)=>{(typeof e=="function"?e():e)||t(c||(Pe.os.ios?"touch":""))}),{onClick:r,onPointerDown:o}=zi(n);return gn.useMemo(()=>({onClick:r,onPointerDown:o}),[r,o])}i(Xc,"useOpenMethodTriggerProps");function kp(e){let[t,n]=gn.useState(null),r=Xc(e,n);return bo(e,o=>{o&&!e&&n(null)}),gn.useMemo(()=>({openMethod:t,triggerProps:r}),[t,r])}i(kp,"useOpenInteractionType");function Np(e){return vn(19)?e:e?"true":void 0}i(Np,"inertValue");var hn={sideX:"left",sideY:"top"},Bp={name:"adaptiveOrigin",async fn(e){let{x:t,y:n,rects:{floating:r},elements:{floating:o},platform:s,strategy:c,placement:l}=e,d=Oe(o),a=d.getComputedStyle(o);if(!(a.transitionDuration!=="0s"&&a.transitionDuration!==""))return{x:t,y:n,data:hn};let m=await s.getOffsetParent?.(o),f={width:0,height:0};if(c==="fixed"&&d?.visualViewport)f={width:d.visualViewport.width,height:d.visualViewport.height};else if(m===d){let h=Z(o);f={width:h.documentElement.clientWidth,height:h.documentElement.clientHeight}}else await s.isElement?.(m)&&(f=await s.getDimensions(m));let g=ke(l),p=t,R=n;g==="left"&&(p=f.width-(t+r.width)),g==="top"&&(R=f.height-(n+r.height));let E=g==="left"?"right":hn.sideX,y=g==="top"?"bottom":hn.sideY;return{x:p,y:R,data:{sideX:E,sideY:y}}}};var qe=ee(me(),1);var Gc=i(e=>({name:"arrow",options:e,async fn(t){let{x:n,y:r,placement:o,rects:s,platform:c,elements:l,middlewareData:d}=t,{element:a,padding:u=0,offsetParent:m="real"}=rt(e,t)||{};if(a==null)return{};let f=Fn(u),g={x:n,y:r},p=un(o),R=ln(p),E=await c.getDimensions(a),y=p==="y",h=y?"top":"left",b=y?"bottom":"right",x=y?"clientHeight":"clientWidth",T=s.reference[R]+s.reference[p]-g[p]-s.floating[R],I=g[p]-s.reference[p],S=m==="real"?await c.getOffsetParent?.(a):l.floating,P=l.floating[x]||s.floating[R];(!P||!await c.isElement?.(S))&&(P=l.floating[x]||s.floating[R]);let A=T/2-I/2,H=P/2-E[R]/2-1,ne=Math.min(f[h],H),N=Math.min(f[b],H),k=ne,M=P-E[R]-N,v=P/2-E[R]/2+A,L=cn(k,v,M),W=!d.arrow&&ot(o)!=null&&v!==L&&s.reference[R]/2-(v<k?ne:N)-E[R]/2<0,O=W?v<k?v-k:v-M:0;return{[p]:g[p]+O,data:{[p]:L,centerOffset:v-L-O,...W&&{alignmentOffset:O}},reset:W}}}),"baseArrow"),ji=i((e,t)=>({...Gc(e),options:[e,t]}),"arrow");var Uc=Kr().fn,qi={name:"hide",async fn(e){let{width:t,height:n,x:r,y:o}=e.rects.reference,s=t===0&&n===0&&r===0&&o===0;return{data:{referenceHidden:(await Uc(e)).data?.referenceHidden||s}}}};function Zi(e,t,n){let r=e==="inline-start"||e==="inline-end";return{top:"top",right:r?n?"inline-start":"inline-end":"right",bottom:"bottom",left:r?n?"inline-end":"inline-start":"left"}[t]}i(Zi,"getLogicalSide");function Ji(e,t,n){let{rects:r,placement:o}=e;return{side:Zi(t,ke(o),n),align:ot(o)||"center",anchor:{width:r.reference.width,height:r.reference.height},positioner:{width:r.floating.width,height:r.floating.height}}}i(Ji,"getOffsetData");function og(e){let{anchor:t,positionMethod:n="absolute",side:r="bottom",sideOffset:o=0,align:s="center",alignOffset:c=0,collisionBoundary:l,collisionPadding:d=5,sticky:a=!1,arrowPadding:u=5,disableAnchorTracking:m=!1,inline:f,keepMounted:g=!1,floatingRootContext:p,mounted:R,collisionAvoidance:E,shiftCrossAxis:y=!1,nodeId:h,adaptiveOrigin:b,lazyFlip:x=!1,externalTree:T}=e,[I,S]=qe.useState(null);!R&&I!==null&&S(null);let P=E.side||"flip",A=E.align||"flip",H=E.fallbackAxisSide||"end",ne=typeof t=="function"?t:void 0,N=U(ne),k=ne?N:t,M=we(t),v=we(R),W=wo()==="rtl",O=I||{top:"top",right:"right",bottom:"bottom",left:"left","inline-end":W?"left":"right","inline-start":W?"right":"left"}[r],D=s==="center"?O:`${O}-${s}`,_=d,$=1,X=r==="bottom"?$:0,ue=r==="top"?$:0,J=r==="right"?$:0,ce=r==="left"?$:0;typeof _=="number"?_={top:_+X,right:_+ce,bottom:_+ue,left:_+J}:_&&(_={top:(_.top||0)+X,right:(_.right||0)+ce,bottom:(_.bottom||0)+ue,left:(_.left||0)+J});let j={boundary:l==="clipping-ancestors"?"clippingAncestors":l,padding:_},ye=qe.useRef(null),B=we(o),le=we(c),Ee=typeof o!="function"?o:0,Te=typeof c!="function"?c:0,z=[];f&&z.push(f),z.push(Yr(ge=>{let Be=Ji(ge,r,W),lt=typeof B.current=="function"?B.current(Be):B.current,Qe=typeof le.current=="function"?le.current(Be):le.current;return{mainAxis:lt,crossAxis:Qe,alignmentAxis:Qe}},[Ee,Te,W,r]));let ae=A==="none"&&P!=="shift",pe=!ae&&(a||y||P==="shift"),xe=P==="none"?null:Gr({...j,padding:{top:_.top+$,right:_.right+$,bottom:_.bottom+$,left:_.left+$},mainAxis:!y&&P==="flip",crossAxis:A==="flip"?"alignment":!1,fallbackAxisSideDirection:H}),Ce=ae?null:$r(ge=>{let Be=Z(ge.elements.floating).documentElement;return{...j,rootBoundary:y?{x:0,y:0,width:Be.clientWidth,height:Be.clientHeight}:void 0,mainAxis:A!=="none",crossAxis:pe,limiter:a||y?void 0:Xr(lt=>{if(!ye.current)return{};let{width:Qe,height:pt}=ye.current.getBoundingClientRect(),tt=Xe(ke(lt.placement)),Pt=tt==="y"?Qe:pt,Vt=tt==="y"?_.left+_.right:_.top+_.bottom;return{offset:Pt/2+Vt/2}})}},[j,a,y,_,A]);P==="shift"||A==="shift"||s==="center"?z.push(Ce,xe):z.push(xe,Ce),z.push(Ur({...j,apply({elements:{floating:ge},availableWidth:Be,availableHeight:lt,rects:Qe}){if(!v.current)return;let pt=ge.style;pt.setProperty("--available-width",`${Be}px`),pt.setProperty("--available-height",`${lt}px`);let tt=Oe(ge).devicePixelRatio||1,{x:Pt,y:Vt,width:wn,height:sr}=Qe.reference,cr=(Math.round((Pt+wn)*tt)-Math.round(Pt*tt))/tt,lr=(Math.round((Vt+sr)*tt)-Math.round(Vt*tt))/tt;pt.setProperty("--anchor-width",`${cr}px`),pt.setProperty("--anchor-height",`${lr}px`)}}),ji(ge=>({element:ye.current||Z(ge.elements.floating).createElement("div"),padding:u,offsetParent:"floating"}),[u]),{name:"transformOrigin",fn(ge){let{elements:Be,middlewareData:lt,placement:Qe,rects:pt,y:tt}=ge,Pt=ke(Qe),Vt=Xe(Pt),wn=ye.current,sr=lt.arrow?.x||0,cr=lt.arrow?.y||0,lr=wn?.clientWidth||0,as=wn?.clientHeight||0,ur=sr+lr/2,co=cr+as/2,fs=Math.abs(lt.shift?.y||0),ds=pt.reference.height/2,Jt=typeof o=="function"?o(Ji(ge,r,W)):o,ms=fs>Jt,ps={top:`${ur}px calc(100% + ${Jt}px)`,bottom:`${ur}px ${-Jt}px`,left:`calc(100% + ${Jt}px) ${co}px`,right:`${-Jt}px ${co}px`}[Pt],gs=`${ur}px ${pt.reference.y+ds-tt}px`;return Be.floating.style.setProperty("--transform-origin",pe&&Vt==="y"&&ms?gs:ps),{}}},qi,b),V(()=>{!R&&p&&p.update({referenceElement:null,floatingElement:null,domReferenceElement:null,positionReference:null})},[R,p]);let K=qe.useMemo(()=>({elementResize:!m&&typeof ResizeObserver<"u",layoutShift:!m&&typeof IntersectionObserver<"u"}),[m]),{refs:re,elements:G,x:de,y:ve,middlewareData:se,update:$e,placement:w,context:C,isPositioned:oe,floatingStyles:F}=ro({rootContext:p,open:g?R:void 0,placement:D,middleware:z,strategy:n,whileElementsMounted:g?void 0:(...ge)=>mn(...ge,K),nodeId:h,externalTree:T}),{sideX:ie,sideY:et}=se.adaptiveOrigin||hn,Je=oe?n:"fixed",De=qe.useMemo(()=>{let ge=b?{position:Je,[ie]:de,[et]:ve}:{position:Je,...F};return oe||(ge.opacity=0),ge},[b,Je,ie,de,et,ve,F,oe]),st=qe.useRef(null);V(()=>{if(!R)return;let ge=M.current,Be=typeof ge=="function"?ge():ge,Qe=(Qi(Be)?Be.current:Be)||null||null;Qe!==st.current&&(re.setPositionReference(Qe),st.current=Qe)},[R,re,k,M]),qe.useEffect(()=>{if(!R)return;let ge=M.current;typeof ge!="function"&&Qi(ge)&&ge.current!==st.current&&(re.setPositionReference(ge.current),st.current=ge.current)},[R,re,k,M]),qe.useEffect(()=>{if(g&&R&&G.reference&&G.floating)return mn(G.reference,G.floating,$e,K)},[g,R,G,$e,K]);let ct=ke(w),Rn=Zi(r,ct,W),En=ot(w)||"center",yn=!!se.hide?.referenceHidden;V(()=>{x&&R&&oe&&S(ct)},[x,R,oe,ct]);let xn=qe.useMemo(()=>({position:"absolute",top:se.arrow?.y,left:se.arrow?.x}),[se.arrow]),bn=se.arrow?.centerOffset!==0;return qe.useMemo(()=>({positionerStyles:De,arrowStyles:xn,arrowRef:ye,arrowUncentered:bn,side:Rn,align:En,physicalSide:ct,anchorHidden:yn,refs:re,context:C,isPositioned:oe,update:$e}),[De,xn,ye,bn,Rn,En,ct,yn,re,C,oe,$e])}i(og,"useAnchorPositioning");function Qi(e){return e!=null&&"current"in e}i(Qi,"isRef");var es=ee(me(),1),ts=ee(Wt(),1);var Kc=es.forwardRef(i(function(t,n){let{cutout:r,...o}=t,s;if(r){let c=r.getBoundingClientRect();s=`polygon(0% 0%,100% 0%,100% 100%,0% 100%,0% 0%,${c.left}px ${c.top}px,${c.left}px ${c.bottom}px,${c.right}px ${c.bottom}px,${c.right}px ${c.top}px,${c.left}px ${c.top}px)`}return(0,ts.jsx)("div",{ref:n,role:"presentation","data-base-ui-inert":"",...o,style:{position:"fixed",inset:0,userSelect:"none",WebkitUserSelect:"none",clipPath:s}})},"InternalBackdrop"));Kc.displayName="InternalBackdrop";function ns(e){return e==="starting"?Do:at}i(ns,"getDisabledMountTransitionStyles");function hg(e,t,{styles:n,transitionStatus:r,props:o,refs:s,hidden:c,inert:l=!1}){let d={...n};return l&&(d.pointerEvents="none"),On("div",e,{state:t,ref:s,props:[{role:"presentation",hidden:c,style:d},ns(r),o],stateAttributesMapping:Ki})}i(hg,"usePositioner");var cs=ee(me(),1);var rs={},os={},is="";function zc(e){if(typeof document>"u")return!1;let t=Z(e);return Oe(t).innerWidth-t.documentElement.clientWidth>0}i(zc,"hasInsetScrollbars");function jc(e){if(!(typeof CSS<"u"&&CSS.supports&&CSS.supports("scrollbar-gutter","stable"))||typeof document>"u")return!1;let n=Z(e),r=n.documentElement,o=n.body,s=bt(r)?r:o,c=s.style.overflowY,l=r.style.scrollbarGutter;r.style.scrollbarGutter="stable",s.style.overflowY="scroll";let d=s.offsetWidth;s.style.overflowY="hidden";let a=s.offsetWidth;return s.style.overflowY=c,r.style.scrollbarGutter=l,d===a}i(jc,"supportsStableScrollbarGutter");function qc(e){let t=Z(e),n=t.documentElement,r=t.body,o=bt(n)?n:r,s={overflowY:o.style.overflowY,overflowX:o.style.overflowX};return Object.assign(o.style,{overflowY:"hidden",overflowX:"hidden"}),()=>{Object.assign(o.style,s)}}i(qc,"preventScrollOverlayScrollbars");function Jc(e){let t=Z(e),n=t.documentElement,r=t.body,o=Oe(n),s=0,c=0,l=!1,d=Ro.create();if(Pe.engine.webkit&&(o.visualViewport?.scale??1)!==1)return()=>{};function a(){let g=o.getComputedStyle(n),p=o.getComputedStyle(r),y=(g.scrollbarGutter||"").includes("both-edges")?"stable both-edges":"stable";s=n.scrollTop,c=n.scrollLeft,rs={scrollbarGutter:n.style.scrollbarGutter,overflowY:n.style.overflowY,overflowX:n.style.overflowX},is=n.style.scrollBehavior,os={position:r.style.position,height:r.style.height,width:r.style.width,boxSizing:r.style.boxSizing,overflowY:r.style.overflowY,overflowX:r.style.overflowX,scrollBehavior:r.style.scrollBehavior};let h=n.scrollHeight>n.clientHeight,b=n.scrollWidth>n.clientWidth,x=g.overflowY==="scroll"||p.overflowY==="scroll",T=g.overflowX==="scroll"||p.overflowX==="scroll",I=Math.max(0,o.innerWidth-r.clientWidth),S=Math.max(0,o.innerHeight-r.clientHeight),P=parseFloat(p.marginTop)+parseFloat(p.marginBottom),A=parseFloat(p.marginLeft)+parseFloat(p.marginRight),H=bt(n)?n:r;if(l=jc(e),l){n.style.scrollbarGutter=y,H.style.overflowY="hidden",H.style.overflowX="hidden";return}Object.assign(n.style,{scrollbarGutter:y,overflowY:"hidden",overflowX:"hidden"}),(h||x)&&(n.style.overflowY="scroll"),(b||T)&&(n.style.overflowX="scroll"),Object.assign(r.style,{position:"relative",height:P||S?`calc(100dvh - ${P+S}px)`:"100dvh",width:A||I?`calc(100vw - ${A+I}px)`:"100vw",boxSizing:"border-box",overflow:"hidden",scrollBehavior:"unset"}),r.scrollTop=s,r.scrollLeft=c,n.setAttribute("data-base-ui-scroll-locked",""),n.style.scrollBehavior="unset"}i(a,"lockScroll");function u(){Object.assign(n.style,rs),Object.assign(r.style,os),l||(n.scrollTop=s,n.scrollLeft=c,n.removeAttribute("data-base-ui-scroll-locked"),n.style.scrollBehavior=is)}i(u,"cleanup");function m(){u(),d.request(a)}i(m,"handleResize"),a();let f=q(o,"resize",m);return()=>{d.cancel(),u(),typeof o.removeEventListener=="function"&&f()}}i(Jc,"preventScrollInsetScrollbars");var so=class{static{i(this,"ScrollLocker")}lockCount=0;restore=null;timeoutLock=ze.create();timeoutUnlock=ze.create();acquire(t){return this.lockCount+=1,this.lockCount===1&&this.restore===null&&this.timeoutLock.start(0,()=>this.lock(t)),this.release}release=i(()=>{this.lockCount-=1,this.lockCount===0&&this.restore&&this.timeoutUnlock.start(0,this.unlock)},"release");unlock=i(()=>{this.lockCount===0&&this.restore&&(this.restore?.(),this.restore=null)},"unlock");lock(t){if(this.lockCount===0||this.restore!==null)return;let r=Z(t).documentElement,o=Oe(r).getComputedStyle(r).overflowY;if(o==="hidden"||o==="clip"){this.restore=Bt;return}let s=Pe.os.ios||!zc(t);this.restore=s?qc(t):Jc(t)}},Qc=new so;function ss(e=!0,t=null){V(()=>{if(e)return Qc.acquire(t)},[e,t])}i(ss,"useScrollLock");var Zc=20;function kg(e,t,n,r){let[o,s]=cs.useState(!1);V(()=>{if(!e||!t||n==null){s(!1);return}let c=Z(n).documentElement.clientWidth,l=n.offsetWidth;s(c>0&&l>0&&l>=c-Zc)},[e,t,n]),ss(e&&(!t||o),r)}i(kg,"useAnchoredPopupScrollLock");var el="ArrowUp",tl="ArrowDown",nl="ArrowLeft",rl="ArrowRight",ol="Home",il="End";var sl=new Set([nl,rl]);var cl=new Set([el,tl]);var ll=new Set([...sl,...cl]),Lg=new Set([...ll,ol,il]);var ir=ee(me(),1);var ls=ir.createContext(void 0);ls.displayName="ToolbarRootContext";function Hg(e){let t=ir.useContext(ls);if(t===void 0&&!e)throw new Error("Base UI: ToolbarRootContext is missing. Toolbar parts must be placed within <Toolbar.Root>.");return t}i(Hg,"useToolbarRootContext");var us=ee(me(),1);function Xg(e){let[t,n]=us.useState({current:e,previous:null});return e!==t.current&&n({current:e,previous:t.current}),t.previous}i(Xg,"usePreviousValue");export{In as a,dt as b,on as c,Mt as d,Hn as e,zl as f,jl as g,Dt as h,Os as i,Ts as j,we as k,At as l,Lo as m,Nl as n,_l as o,Uo as p,Ko as q,Bn as r,it as s,Ge as t,_s as u,Hs as v,Vs as w,Xs as x,Gs as y,Ks as z,qs as A,Wr as B,_i as C,_t as D,hc as E,df as F,Kn as G,zn as H,jn as I,zt as J,Jr as K,Zf as L,ed as M,td as N,vc as O,Oc as P,Tc as Q,nd as R,rd as S,od as T,id as U,sd as V,cd as W,ld as X,qn as Y,Qr as Z,Cc as _,Zn as $,Pc as aa,Mc as ba,Dc as ca,Lc as da,Hc as ea,io as fa,oo as ga,Sp as ha,vp as ia,Ki as ja,Xc as ka,kp as la,Np as ma,Bp as na,og as oa,Kc as pa,ns as qa,hg as ra,ss as sa,kg as ta,Lg as ua,Hg as va,Xg as wa};
|