@rubytech/create-realagent 1.0.653 → 1.0.655
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/package.json +1 -1
- package/payload/platform/plugins/cloudflare/references/manual-setup.md +1 -1
- package/payload/platform/plugins/cloudflare/scripts/_stream-log.sh +33 -18
- package/payload/platform/plugins/cloudflare/scripts/list-cf-domains.ts +6 -3
- package/payload/platform/plugins/cloudflare/scripts/setup-tunnel.sh +5 -4
- package/payload/server/public/assets/{admin-DLp3geZN.js → admin-CVZaji3A.js} +10 -10
- package/payload/server/public/assets/{arc-CRqJUbyK.js → arc-BMhgytDB.js} +1 -1
- package/payload/server/public/assets/architecture-YZFGNWBL-S9-oeq_x.js +1 -0
- package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-DtICG195.js → architectureDiagram-Q4EWVU46-BePoi8XC.js} +1 -1
- package/payload/server/public/assets/{blockDiagram-DXYQGD6D-nw1V7I38.js → blockDiagram-DXYQGD6D-BkiwLTtq.js} +1 -1
- package/payload/server/public/assets/{c4Diagram-AHTNJAMY-C1eEC43O.js → c4Diagram-AHTNJAMY-bpjPj2Ln.js} +1 -1
- package/payload/server/public/assets/channel-D3U0_a1j.js +1 -0
- package/payload/server/public/assets/{chunk-2KRD3SAO-Bybqj-wj.js → chunk-2KRD3SAO-ZcHg_orY.js} +1 -1
- package/payload/server/public/assets/{chunk-336JU56O-Dszn2qEY.js → chunk-336JU56O-BpATJiGl.js} +2 -2
- package/payload/server/public/assets/chunk-426QAEUC-Wz6Bpsil.js +1 -0
- package/payload/server/public/assets/{chunk-4BX2VUAB-DrKtrnWH.js → chunk-4BX2VUAB-zJekz2NU.js} +1 -1
- package/payload/server/public/assets/{chunk-4TB4RGXK-CBFzVYqS.js → chunk-4TB4RGXK-CLXL19Wd.js} +1 -1
- package/payload/server/public/assets/{chunk-55IACEB6-BNsOFSNf.js → chunk-55IACEB6-CzqB8aoU.js} +1 -1
- package/payload/server/public/assets/{chunk-5FUZZQ4R-CXZykYh_.js → chunk-5FUZZQ4R-BoTfWHuW.js} +1 -1
- package/payload/server/public/assets/{chunk-5PVQY5BW-CLNppenz.js → chunk-5PVQY5BW-RhIfPCRB.js} +1 -1
- package/payload/server/public/assets/{chunk-67CJDMHE-DFyE0-n0.js → chunk-67CJDMHE-mM1sFmlz.js} +1 -1
- package/payload/server/public/assets/{chunk-7N4EOEYR-BIKZD1_4.js → chunk-7N4EOEYR-GUck0jv1.js} +1 -1
- package/payload/server/public/assets/{chunk-AA7GKIK3-D4_g24le.js → chunk-AA7GKIK3-BYhfUc1V.js} +1 -1
- package/payload/server/public/assets/{chunk-BSJP7CBP-Cd9H-V61.js → chunk-BSJP7CBP-CTsYuARh.js} +1 -1
- package/payload/server/public/assets/{chunk-CIAEETIT-CAU9PIQi.js → chunk-CIAEETIT-CGsGmUze.js} +1 -1
- package/payload/server/public/assets/{chunk-EDXVE4YY-CR1JfOwe.js → chunk-EDXVE4YY-utELKGQK.js} +1 -1
- package/payload/server/public/assets/{chunk-ENJZ2VHE-CuXW3Isg.js → chunk-ENJZ2VHE-CNHjq5xK.js} +1 -1
- package/payload/server/public/assets/{chunk-FMBD7UC4-BwGAtkIr.js → chunk-FMBD7UC4-DaRrfk3s.js} +1 -1
- package/payload/server/public/assets/{chunk-FOC6F5B3-Cn0552qP.js → chunk-FOC6F5B3-BaeLcJVt.js} +1 -1
- package/payload/server/public/assets/{chunk-ICPOFSXX-DEZT2XyQ.js → chunk-ICPOFSXX-Di63NBur.js} +2 -2
- package/payload/server/public/assets/{chunk-K5T4RW27-KwBFTzJ9.js → chunk-K5T4RW27-CTTOezMH.js} +1 -1
- package/payload/server/public/assets/{chunk-KGLVRYIC-1-3y582Z.js → chunk-KGLVRYIC-DCkohKP2.js} +1 -1
- package/payload/server/public/assets/{chunk-LIHQZDEY-DXIBsDHL.js → chunk-LIHQZDEY-osQO30uB.js} +1 -1
- package/payload/server/public/assets/{chunk-ORNJ4GCN-CRbOike7.js → chunk-ORNJ4GCN-DoLajOOe.js} +1 -1
- package/payload/server/public/assets/{chunk-OYMX7WX6-CVT9itnY.js → chunk-OYMX7WX6-BSPzqyxs.js} +1 -1
- package/payload/server/public/assets/chunk-QZHKN3VN-BAQp1OEl.js +1 -0
- package/payload/server/public/assets/{chunk-U2HBQHQK-BLgNHWFf.js → chunk-U2HBQHQK-BZnA7c4T.js} +1 -1
- package/payload/server/public/assets/{chunk-X2U36JSP-DHYLiYqc.js → chunk-X2U36JSP-DpQ2OA_c.js} +1 -1
- package/payload/server/public/assets/{chunk-XPW4576I-DBdiQ3Zy.js → chunk-XPW4576I-BccP1mlQ.js} +1 -1
- package/payload/server/public/assets/{chunk-YZCP3GAM-DXaosB5Z.js → chunk-YZCP3GAM-BAkNXu0G.js} +1 -1
- package/payload/server/public/assets/{chunk-ZZ45TVLE-B5dCmOpH.js → chunk-ZZ45TVLE-DBSm41oP.js} +1 -1
- package/payload/server/public/assets/classDiagram-6PBFFD2Q-6EGGLDD_.js +1 -0
- package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-DfAV4tgE.js +1 -0
- package/payload/server/public/assets/clone-BoV8noAi.js +1 -0
- package/payload/server/public/assets/{cose-bilkent-S5V4N54A-DaHtPQvk.js → cose-bilkent-S5V4N54A-Boeb8aWs.js} +1 -1
- package/payload/server/public/assets/{dagre-KV5264BT-CAL9V_HR.js → dagre-KV5264BT-BkvWofSp.js} +1 -1
- package/payload/server/public/assets/{dagre-N8C5Xujx.js → dagre-nvPNAunb.js} +1 -1
- package/payload/server/public/assets/data-DgI19qYm.js +1 -0
- package/payload/server/public/assets/{diagram-5BDNPKRD-pzBSPqlM.js → diagram-5BDNPKRD-CMEgyt4E.js} +1 -1
- package/payload/server/public/assets/{diagram-G4DWMVQ6-DStdLqos.js → diagram-G4DWMVQ6-ChorrAF0.js} +1 -1
- package/payload/server/public/assets/{diagram-MMDJMWI5-D-SfeX-6.js → diagram-MMDJMWI5-D_iD27po.js} +1 -1
- package/payload/server/public/assets/{diagram-TYMM5635-Cdr1DQ84.js → diagram-TYMM5635-8qXI1ioG.js} +1 -1
- package/payload/server/public/assets/{erDiagram-SMLLAGMA-CIg1dDZT.js → erDiagram-SMLLAGMA-BFjtKDSB.js} +1 -1
- package/payload/server/public/assets/{file-Buaz89w8.js → file-J1JpJF4E.js} +1 -1
- package/payload/server/public/assets/{flatten-CpKIi5d2.js → flatten-ya0TqRLc.js} +1 -1
- package/payload/server/public/assets/{flowDiagram-DWJPFMVM-CJtU1T6d.js → flowDiagram-DWJPFMVM-Bpd7IL9l.js} +1 -1
- package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-R4fuRAT1.js → ganttDiagram-T4ZO3ILL-CwOozU85.js} +1 -1
- package/payload/server/public/assets/gitGraph-7Q5UKJZL-BOC4CldZ.js +1 -0
- package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-sifugSGn.js → gitGraphDiagram-UUTBAWPF-CcPILiC9.js} +1 -1
- package/payload/server/public/assets/{graph-B_TxtKJP.js → graph-CFwxUVS0.js} +19 -19
- package/payload/server/public/assets/{graphlib-DrlxPM8j.js → graphlib-B_mcXEVr.js} +1 -1
- package/payload/server/public/assets/{house-B5wS-2kc.js → house-Dche6_m0.js} +1 -1
- package/payload/server/public/assets/info-OMHHGYJF-BSCPTUIx.js +1 -0
- package/payload/server/public/assets/infoDiagram-42DDH7IO-T2sn--WJ.js +2 -0
- package/payload/server/public/assets/{isEmpty-C3Vxk1It.js → isEmpty-h-wRi_o9.js} +1 -1
- package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-CYUJOA2c.js → ishikawaDiagram-UXIWVN3A-DOP9-Q8H.js} +1 -1
- package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-UltrLajs.js → journeyDiagram-VCZTEJTY-DGATg0WC.js} +1 -1
- package/payload/server/public/assets/{jsx-runtime-WYScGBOd.js → jsx-runtime-BE1CBORz.js} +1 -1
- package/payload/server/public/assets/{jsx-runtime-ChVPhhAG.css → jsx-runtime-C7zbe_Pq.css} +1 -1
- package/payload/server/public/assets/{kanban-definition-6JOO6SKY-BBaThtP3.js → kanban-definition-6JOO6SKY-C5PigmKg.js} +1 -1
- package/payload/server/public/assets/{line-BhOwLD_o.js → line-DlKKhwkO.js} +1 -1
- package/payload/server/public/assets/{linear-D76hoLvZ.js → linear-DD4JiB1l.js} +1 -1
- package/payload/server/public/assets/{mermaid-parser.core-D8n5xV7A.js → mermaid-parser.core-C8xGCa9p.js} +2 -2
- package/payload/server/public/assets/{mermaid.core-C3TZA9fX.js → mermaid.core-CCUSwZB_.js} +3 -3
- package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-Bv1kghvk.js → mindmap-definition-QFDTVHPH-75k-IVhC.js} +1 -1
- package/payload/server/public/assets/{ordinal-BLrOss5K.js → ordinal-Dwxksj1B.js} +1 -1
- package/payload/server/public/assets/packet-4T2RLAQJ-pBa_ZhNI.js +1 -0
- package/payload/server/public/assets/pie-ZZUOXDRM-BzYOyiMb.js +1 -0
- package/payload/server/public/assets/{pieDiagram-DEJITSTG-BSYldcKa.js → pieDiagram-DEJITSTG-DN5RsDwZ.js} +1 -1
- package/payload/server/public/assets/public-LhnMTdDE.js +5 -0
- package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-lCDshgz1.js → quadrantDiagram-34T5L4WZ-Sd9x6pNe.js} +1 -1
- package/payload/server/public/assets/radar-PYXPWWZC-CTVOaAq6.js +1 -0
- package/payload/server/public/assets/{reduce-C5tBOlxC.js → reduce-BUuWaDl2.js} +1 -1
- package/payload/server/public/assets/{requirementDiagram-MS252O5E-C7j42RrO.js → requirementDiagram-MS252O5E-BDgifYzj.js} +1 -1
- package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-plPbHhuF.js → sankeyDiagram-XADWPNL6-BX9VULNJ.js} +1 -1
- package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-D3Y8MXiX.js → sequenceDiagram-FGHM5R23-z3vMxhgE.js} +1 -1
- package/payload/server/public/assets/{share-2-Z5v9aWZ2.js → share-2-6hJtFYgM.js} +1 -1
- package/payload/server/public/assets/{stateDiagram-FHFEXIEX-D4BdhMPy.js → stateDiagram-FHFEXIEX-DlP0hBxF.js} +1 -1
- package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-DSddQStC.js +1 -0
- package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-Lh9jrYCl.js → timeline-definition-GMOUNBTQ-DwQbhKCo.js} +1 -1
- package/payload/server/public/assets/treeView-SZITEDCU-OTnF4Qzw.js +1 -0
- package/payload/server/public/assets/treemap-W4RFUUIX-DlIRmHFb.js +1 -0
- package/payload/server/public/assets/{useVoiceRecorder-CgMo3FDt.js → useVoiceRecorder-PUde6itK.js} +4 -4
- package/payload/server/public/assets/{vennDiagram-DHZGUBPP-Cx0v19iv.js → vennDiagram-DHZGUBPP-WTqmZWWa.js} +1 -1
- package/payload/server/public/assets/wardley-RL74JXVD-DwMXAC4U.js +1 -0
- package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-BYewCTre.js → wardleyDiagram-NUSXRM2D-BUY50x5T.js} +1 -1
- package/payload/server/public/assets/x-DmqRGGHj.js +1 -0
- package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-CkfIdbJu.js → xychartDiagram-5P7HB3ND-Btdq-fDj.js} +1 -1
- package/payload/server/public/data.html +6 -7
- package/payload/server/public/graph.html +6 -6
- package/payload/server/public/index.html +8 -9
- package/payload/server/public/public.html +5 -6
- package/payload/server/server.js +402 -104
- package/payload/server/public/assets/architecture-YZFGNWBL-CXIHKKCa.js +0 -1
- package/payload/server/public/assets/channel-CA7njeKl.js +0 -1
- package/payload/server/public/assets/chunk-426QAEUC-tWQOa3-I.js +0 -1
- package/payload/server/public/assets/chunk-QZHKN3VN-BwkFBCAY.js +0 -1
- package/payload/server/public/assets/classDiagram-6PBFFD2Q-CUZ9BU_6.js +0 -1
- package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-BGYsCDux.js +0 -1
- package/payload/server/public/assets/clone-BjouONkW.js +0 -1
- package/payload/server/public/assets/data-DPqrIvgB.js +0 -1
- package/payload/server/public/assets/gitGraph-7Q5UKJZL-tvzbaNdg.js +0 -1
- package/payload/server/public/assets/info-OMHHGYJF-ByeBaFw5.js +0 -1
- package/payload/server/public/assets/infoDiagram-42DDH7IO-CjgCxerY.js +0 -2
- package/payload/server/public/assets/packet-4T2RLAQJ-Csybj5RO.js +0 -1
- package/payload/server/public/assets/pie-ZZUOXDRM-Iw1du1Bn.js +0 -1
- package/payload/server/public/assets/public-BNEciseE.js +0 -5
- package/payload/server/public/assets/radar-PYXPWWZC-rEet4TBV.js +0 -1
- package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-DhKxVkX3.js +0 -1
- package/payload/server/public/assets/trash-2-BaLFnigq.js +0 -1
- package/payload/server/public/assets/treeView-SZITEDCU-PaLYyjtc.js +0 -1
- package/payload/server/public/assets/treemap-W4RFUUIX-CEhGYFbO.js +0 -1
- package/payload/server/public/assets/wardley-RL74JXVD-xtJ4_o4d.js +0 -1
- package/payload/server/public/assets/x-DYxtrMFK.js +0 -1
- /package/payload/server/public/assets/{_baseFor-WfS9pKAn.js → _baseFor-Dn4GSmI6.js} +0 -0
- /package/payload/server/public/assets/{array-HeX70jSN.js → array-DJN9YAVf.js} +0 -0
- /package/payload/server/public/assets/{cytoscape.esm-CDZo0kst.js → cytoscape.esm-BcJTl1re.js} +0 -0
- /package/payload/server/public/assets/{defaultLocale-GJwWH1Jr.js → defaultLocale-B4F_XsBB.js} +0 -0
- /package/payload/server/public/assets/{dist-BKbAaes5.js → dist-CrzV1W3-.js} +0 -0
- /package/payload/server/public/assets/{init-BPLPMQ3Y.js → init-DX0Y1qU4.js} +0 -0
- /package/payload/server/public/assets/{katex-CKZ-HWMQ.js → katex-CjHJ1D7d.js} +0 -0
- /package/payload/server/public/assets/{path-YdFzr2W6.js → path-7vUsG-o2.js} +0 -0
- /package/payload/server/public/assets/{preload-helper-BEFjQwLd.js → preload-helper-qlgyTAkD.js} +0 -0
- /package/payload/server/public/assets/{rough.esm-HAx67Hnb.js → rough.esm-NLRoWnq-.js} +0 -0
- /package/payload/server/public/assets/{src-BvrHnOMG.js → src-Bo15iQ7w.js} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{o as e,t}from"./chunk-DD-I1_y5.js";import{a as n,i as r,n as i,r as a,t as o}from"./jsx-runtime-WYScGBOd.js";import{A as s,C as c,D as l,E as u,M as d,N as f,O as p,P as m,S as h,T as g,_,a as v,b as y,c as b,d as x,f as S,g as C,h as w,i as T,j as E,k as D,l as O,m as k,n as A,o as j,p as M,r as N,s as P,t as ee,u as F,w as te,x as I,y as ne}from"./useVoiceRecorder-CgMo3FDt.js";import{a as re,i as ie,n as L,o as ae,r as oe,t as se}from"./share-2-Z5v9aWZ2.js";import{n as ce,t as le}from"./file-Buaz89w8.js";import{t as ue}from"./trash-2-BaLFnigq.js";import{t as de}from"./x-DYxtrMFK.js";var fe=i(`archive`,[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`,key:`1s80jp`}],[`path`,{d:`M10 12h4`,key:`a56b0p`}]]),pe=i(`asterisk`,[[`path`,{d:`M12 6v12`,key:`1vza4d`}],[`path`,{d:`M17.196 9 6.804 15`,key:`1ah31z`}],[`path`,{d:`m6.804 9 10.392 6`,key:`1b6pxd`}]]),me=i(`bold`,[[`path`,{d:`M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8`,key:`mg9rjx`}]]),he=i(`bot-off`,[[`path`,{d:`M13.67 8H18a2 2 0 0 1 2 2v4.33`,key:`7az073`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M22 22 2 2`,key:`1r8tn9`}],[`path`,{d:`M8 8H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 1.414-.586`,key:`s09a7a`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}],[`path`,{d:`M9.67 4H12v2.33`,key:`110xot`}]]),ge=i(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),_e=i(`calendar-days`,[[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`,key:`1hopcy`}],[`path`,{d:`M3 10h18`,key:`8toen8`}],[`path`,{d:`M8 14h.01`,key:`6423bh`}],[`path`,{d:`M12 14h.01`,key:`1etili`}],[`path`,{d:`M16 14h.01`,key:`1gbofw`}],[`path`,{d:`M8 18h.01`,key:`lrp35t`}],[`path`,{d:`M12 18h.01`,key:`mhygvu`}],[`path`,{d:`M16 18h.01`,key:`kzsmim`}]]),R=i(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),ve=i(`circle-check-big`,[[`path`,{d:`M21.801 10A10 10 0 1 1 17 3.335`,key:`yps3ct`}],[`path`,{d:`m9 11 3 3L22 4`,key:`1pflzl`}]]),z=i(`circle-plus`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}],[`path`,{d:`M12 8v8`,key:`napkw2`}]]),ye=i(`clipboard-list`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}],[`path`,{d:`M12 11h4`,key:`1jrz19`}],[`path`,{d:`M12 16h4`,key:`n85exb`}],[`path`,{d:`M8 11h.01`,key:`1dfujw`}],[`path`,{d:`M8 16h.01`,key:`18s6g9`}]]),be=i(`clipboard-plus`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}],[`path`,{d:`M9 14h6`,key:`159ibu`}],[`path`,{d:`M12 17v-6`,key:`1y8rbf`}]]),xe=i(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]),Se=i(`code-xml`,[[`path`,{d:`m18 16 4-4-4-4`,key:`1inbqp`}],[`path`,{d:`m6 8-4 4 4 4`,key:`15zrgr`}],[`path`,{d:`m14.5 4-5 16`,key:`e7oirm`}]]),Ce=i(`database-zap`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 15 21.84`,key:`14ibmq`}],[`path`,{d:`M21 5V8`,key:`1marbg`}],[`path`,{d:`M21 12L18 17H22L19 22`,key:`zafso`}],[`path`,{d:`M3 12A9 3 0 0 0 14.59 14.87`,key:`1y4wr8`}]]),we=i(`database-search`,[[`path`,{d:`M21 11.693V5`,key:`175m1t`}],[`path`,{d:`m22 22-1.875-1.875`,key:`13zax7`}],[`path`,{d:`M3 12a9 3 0 0 0 8.697 2.998`,key:`151u9p`}],[`path`,{d:`M3 5v14a9 3 0 0 0 9.28 2.999`,key:`q2rs2p`}],[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}]]),Te=i(`dot`,[[`circle`,{cx:`12.1`,cy:`12.1`,r:`1`,key:`18d7e5`}]]),Ee=i(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),De=i(`file-down`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M12 18v-6`,key:`17g6i2`}],[`path`,{d:`m9 15 3 3 3-3`,key:`1npd3o`}]]),Oe=i(`file-image`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`circle`,{cx:`10`,cy:`12`,r:`2`,key:`737tya`}],[`path`,{d:`m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22`,key:`wt3hpn`}]]),ke=i(`file-pen-line`,[[`path`,{d:`m18.226 5.226-2.52-2.52A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-.351`,key:`1k2beg`}],[`path`,{d:`M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`,key:`2t3380`}],[`path`,{d:`M8 18h1`,key:`13wk12`}]]),Ae=i(`file-plus-corner`,[[`path`,{d:`M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35`,key:`17jvcc`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M14 19h6`,key:`bvotb8`}],[`path`,{d:`M17 16v6`,key:`18yu1i`}]]),je=i(`git-branch`,[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`,key:`1cii5b`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}]]),Me=i(`image`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}]]),Ne=i(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),Pe=i(`italic`,[[`line`,{x1:`19`,x2:`10`,y1:`4`,y2:`4`,key:`15jd3p`}],[`line`,{x1:`14`,x2:`5`,y1:`20`,y2:`20`,key:`bu0au3`}],[`line`,{x1:`15`,x2:`9`,y1:`4`,y2:`20`,key:`uljnxc`}]]),Fe=i(`lightbulb-off`,[[`path`,{d:`M16.8 11.2c.8-.9 1.2-2 1.2-3.2a6 6 0 0 0-9.3-5`,key:`1fkcox`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M6.3 6.3a4.67 4.67 0 0 0 1.2 5.2c.7.7 1.3 1.5 1.5 2.5`,key:`10m8kw`}],[`path`,{d:`M9 18h6`,key:`x1upvd`}],[`path`,{d:`M10 22h4`,key:`ceow96`}]]),Ie=i(`lightbulb`,[[`path`,{d:`M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5`,key:`1gvzjb`}],[`path`,{d:`M9 18h6`,key:`x1upvd`}],[`path`,{d:`M10 22h4`,key:`ceow96`}]]),Le=i(`link-2`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]),Re=i(`list`,[[`path`,{d:`M3 5h.01`,key:`18ugdj`}],[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M3 19h.01`,key:`noohij`}],[`path`,{d:`M8 5h13`,key:`1pao27`}],[`path`,{d:`M8 12h13`,key:`1za7za`}],[`path`,{d:`M8 19h13`,key:`m83p4d`}]]),ze=i(`loader`,[[`path`,{d:`M12 2v4`,key:`3427ic`}],[`path`,{d:`m16.2 7.8 2.9-2.9`,key:`r700ao`}],[`path`,{d:`M18 12h4`,key:`wj9ykh`}],[`path`,{d:`m16.2 16.2 2.9 2.9`,key:`1bxg5t`}],[`path`,{d:`M12 18v4`,key:`jadmvz`}],[`path`,{d:`m4.9 19.1 2.9-2.9`,key:`bwix9q`}],[`path`,{d:`M2 12h4`,key:`j09sii`}],[`path`,{d:`m4.9 4.9 2.9 2.9`,key:`giyufr`}]]),Be=i(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),Ve=i(`message-square-plus`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M12 8v6`,key:`1ib9pf`}],[`path`,{d:`M9 11h6`,key:`1fldmi`}]]),He=i(`messages-square`,[[`path`,{d:`M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z`,key:`1n2ejm`}],[`path`,{d:`M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1`,key:`1qfcsi`}]]),Ue=i(`minimize-2`,[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]),We=i(`minus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]),Ge=i(`monitor-smartphone`,[[`path`,{d:`M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8`,key:`10dyio`}],[`path`,{d:`M10 19v-3.96 3.15`,key:`1irgej`}],[`path`,{d:`M7 19h5`,key:`qswx4l`}],[`rect`,{width:`6`,height:`10`,x:`16`,y:`12`,rx:`2`,key:`1egngj`}]]),Ke=i(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),qe=i(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),Je=i(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),Ye=i(`scroll-text`,[[`path`,{d:`M15 12h-5`,key:`r7krc0`}],[`path`,{d:`M15 8h-5`,key:`1khuty`}],[`path`,{d:`M19 17V5a2 2 0 0 0-2-2H4`,key:`zz82l3`}],[`path`,{d:`M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3`,key:`1ph1d7`}]]),Xe=i(`sparkle`,[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`,key:`1s2grr`}]]),Ze=i(`square-arrow-down-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`m16 8-8 8`,key:`166keh`}],[`path`,{d:`M16 16H8V8`,key:`1w2ppm`}]]),Qe=i(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),$e=i(`star`,[[`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,key:`r04s7s`}]]),et=i(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),tt=i(`user-plus`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}],[`line`,{x1:`19`,x2:`19`,y1:`8`,y2:`14`,key:`1bvyxn`}],[`line`,{x1:`22`,x2:`16`,y1:`11`,y2:`11`,key:`1shjgl`}]]),nt=i(`wrench`,[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`,key:`1ngwbx`}]]),rt=i(`zap`,[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`,key:`1xq2db`}]]),it=a(),B=e(n(),1);function at(){(0,B.useEffect)(()=>{function e(e){e.data?.type===`vnc-clipboard`&&typeof e.data.text==`string`&&h(e.data.text)}window.addEventListener(`message`,e);let t=null;return typeof BroadcastChannel<`u`&&(t=new BroadcastChannel(`maxy-vnc-clipboard`),t.onmessage=e=>{typeof e.data==`string`&&h(e.data)}),()=>{window.removeEventListener(`message`,e),t?.close()}},[])}function ot(e){if(e<60)return`${e}s`;let t=Math.floor(e/60),n=e%60;return n>0?`${t}m ${n}s`:`${t}m`}function st(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function ct(){let[e,t]=(0,B.useState)(0),n=(0,B.useRef)(0),r=(0,B.useRef)(0),i=(0,B.useRef)(null),[a,o]=(0,B.useState)(0),s=(0,B.useRef)(0),c=(0,B.useRef)(null),l=(0,B.useRef)(null);return{elapsedSeconds:e,sessionElapsed:a,sessionTurnStart:l,pausedElapsedRef:r,startElapsedTimer:(0,B.useCallback)((e=0)=>{l.current=Date.now(),c.current=setInterval(()=>{let e=s.current+(Date.now()-(l.current??Date.now()));o(Math.floor(e/1e3))},1e3),n.current=e,t(e),i.current=setInterval(()=>{n.current+=1,t(n.current)},1e3)},[]),stopElapsedTimer:(0,B.useCallback)(e=>{i.current&&=(clearInterval(i.current),null),c.current&&=(clearInterval(c.current),null),l.current&&(s.current+=Date.now()-l.current,l.current=null,o(Math.floor(s.current/1e3))),r.current=n.current;let t=n.current;e(e=>{let n=[...e].map((e,t)=>({m:e,i:t})).reverse().find(({m:e})=>e.role===`maxy`)?.i;if(n===void 0)return e;let r=[...e];return r[n]={...r[n],elapsedSeconds:t},r})},[]),resetTimerState:(0,B.useCallback)(()=>{s.current=0,o(0)},[])}}var lt=`image/jpeg,image/png,image/gif,image/webp,application/pdf,text/plain,text/markdown,text/csv,text/html,text/calendar`,ut=new Set(lt.split(`,`)),dt=20*1024*1024,ft=new Set([`action-list`,`document-editor`,`rich-content-editor`,`grid-editor`]);function pt(e){switch(e){case`expanded`:return!0;case`collapsed`:return!1;default:return}}function mt(){let[e,t]=(0,B.useState)(`loading`),[n,r]=(0,B.useState)(``),[i,a]=(0,B.useState)(``),[o,s]=(0,B.useState)(``),[c,l]=(0,B.useState)(!1),[u,d]=(0,B.useState)(!1),[f,p]=(0,B.useState)(!1),[m,h]=(0,B.useState)(!1),[g,_]=(0,B.useState)(!1),[v,y]=(0,B.useState)(null),[b,x]=(0,B.useState)(null),[S,C]=(0,B.useState)(!1),[w,T]=(0,B.useState)(!1),[E,D]=(0,B.useState)(void 0),[O,k]=(0,B.useState)(void 0),[A,j]=(0,B.useState)(null),[M,N]=(0,B.useState)([]),[P,ee]=(0,B.useState)(!1),[F,te]=(0,B.useState)(void 0),I=(0,B.useRef)(void 0),ne=(0,B.useRef)(null),re=(0,B.useRef)(null),ie=(0,B.useRef)(null);(0,B.useEffect)(()=>{async function e(n=2){try{let r=await fetch(`/api/health`);if(!r.ok){if(n>0)return await new Promise(e=>setTimeout(e,1500)),e(n-1);console.error(`[admin] health check returned ${r.status} after retries`),t(`set-pin`);return}let i=await r.json();i.pin_configured?i.claude_authenticated?t(`enter-pin`):t(i.onboarding_complete?`connect-claude`:`onboarding-choice`):t(`set-pin`)}catch(r){if(n>0)return await new Promise(e=>setTimeout(e,1500)),e(n-1);console.error(`[admin] health check failed:`,r),t(`set-pin`)}}e()},[]),(0,B.useEffect)(()=>{e===`chat`&&fetch(`/api/admin/claude-info`).then(e=>{if(e.ok)return e.json()}).then(e=>{e&&x(e)}).catch(()=>{})},[e]),(0,B.useEffect)(()=>{if(e!==`chat`)return;let n=setInterval(async()=>{try{let e=await fetch(`/api/health`);if(!e.ok)return;let n=await e.json();(n.auth_status===`dead`||n.auth_status===`missing`)&&t(`connect-claude`)}catch{}},300*1e3);return()=>clearInterval(n)},[e]),(0,B.useEffect)(()=>{e===`connect-claude`&&fetch(`/api/health`).then(e=>e.ok?e.json():null).then(e=>{e?.claude_authenticated&&t(`enter-pin`)}).catch(()=>{})},[e]);async function L(e,n){d(!0);try{let i=await fetch(`/api/admin/session`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({pin:e,...n?{accountId:n}:{}})});if(!i.ok){s((await i.json().catch(()=>({}))).error||`Invalid PIN`);return}let o=await i.json();if(o.accounts&&!o.session_key){console.log(`[admin] account picker shown: userId=${o.userId} accountCount=${o.accounts.length}`),N(o.accounts),t(`account-picker`);return}y(o.session_key),j(o.conversationId??null),D(o.onboardingComplete??!0),k(o.businessName);let c=pt(o.thinkingView);if(I.current=c,te(c),n)try{sessionStorage.setItem(`maxy-account-id`,n)}catch{}try{sessionStorage.setItem(`maxy-admin-session-key`,o.session_key)}catch{}r(``),a(``),t(`chat`)}catch(e){console.error(`[admin] connection error:`,e),s(`Could not connect.`)}finally{d(!1),ee(!1)}}let ae=(0,B.useCallback)(async e=>{if(e.preventDefault(),u)return;if(s(``),n.length<4){s(`PIN must be at least 4 characters.`);return}if(n!==i){s(`PINs do not match.`);return}let o=n;d(!0);try{let e=await fetch(`/api/onboarding/set-pin`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({pin:o})});if(!e.ok){let n=await e.json().catch(()=>({}));if(e.status===409){console.log(`[admin] PIN already configured — re-checking health`);try{let e=await fetch(`/api/health`);if(e.ok){let r=await e.json();r.pin_configured&&r.claude_authenticated?t(`enter-pin`):r.pin_configured?t(`connect-claude`):s(n.error||`Failed to set PIN.`)}else t(`enter-pin`)}catch{t(`enter-pin`)}return}s(n.error||`Failed to set PIN.`);return}let n=await fetch(`/api/health`);if((n.ok?await n.json():null)?.claude_authenticated){await L(o);return}r(``),a(``),t(`onboarding-choice`)}catch(e){console.error(`[admin] connection error:`,e),s(`Could not connect.`)}finally{d(!1)}},[n,i,u]),oe=(0,B.useCallback)(async e=>{e.preventDefault(),s(``),await L(n)},[n]),se=(0,B.useCallback)(async()=>{if(!v||!b?.contextMode||S)return;let e=b.contextMode,t=e===`claude-code`?`managed`:`claude-code`;C(!0),x({...b,contextMode:t}),T(!0);let n=setTimeout(()=>T(!1),3e3);try{let r=await fetch(`/api/admin/account`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({session_key:v,contextMode:t})});r.ok||(console.error(`[context-mode-toggle] failed: ${r.status}`),x({...b,contextMode:e}),clearTimeout(n),T(!1))}catch(t){console.error(`[context-mode-toggle] error:`,t),x({...b,contextMode:e}),clearTimeout(n),T(!1)}finally{C(!1)}},[v,b,S]),ce=(0,B.useCallback)(async()=>{_(!0),await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`logout`})}),y(null);try{sessionStorage.removeItem(`maxy-admin-session-key`)}catch{}t(`connect-claude`)},[]),le=(0,B.useCallback)(()=>{y(null);try{sessionStorage.removeItem(`maxy-admin-session-key`)}catch{}r(``),a(``),s(``),t(`enter-pin`)},[]);return{appState:e,setAppState:t,pin:n,setPin:r,confirmPin:i,setConfirmPin:a,pinError:o,setPinError:s,showPin:c,setShowPin:l,pinLoading:u,authPolling:f,setAuthPolling:p,authLoading:m,setAuthLoading:h,disconnecting:g,sessionKey:v,setSessionKey:y,claudeInfo:b,setClaudeInfo:x,togglingContextMode:S,contextModeHint:w,onboardingComplete:E,setOnboardingComplete:D,businessName:O,conversationId:A,setConversationId:j,accounts:M,accountPickerLoading:P,expandAll:F,setExpandAll:te,expandAllDefaultRef:I,pinInputRef:ne,confirmPinInputRef:re,setPinFormRef:ie,handleSetPin:ae,handleLogin:oe,handleAccountSelect:(0,B.useCallback)(async e=>{ee(!0),s(``),await L(n,e)},[n]),handleContextModeToggle:se,handleDisconnect:ce,handleLogout:le,handleChangePin:(0,B.useCallback)(async()=>{if(!n){s(`Enter your current PIN first.`);return}d(!0),s(``);try{let e=await fetch(`/api/onboarding/set-pin`,{method:`DELETE`,headers:{"Content-Type":`application/json`},body:JSON.stringify({currentPin:n})});if(!e.ok){s((await e.json().catch(()=>({error:`Incorrect PIN.`}))).error||`Incorrect PIN.`);return}r(``),a(``),s(``),t(`set-pin`)}catch(e){console.error(`[admin-auth] change pin failed:`,e),s(e instanceof Error?e.message:String(e))}finally{d(!1)}},[n])}}var ht={active:!1,heldMessage:null,existingTopic:null,confidence:0};function gt(){let[e,t]=(0,B.useState)(ht),n=(0,B.useRef)(!1);return{offer:e,handleOfferEvent:(0,B.useCallback)((e,n,r)=>{t({active:!0,heldMessage:e,existingTopic:n,confidence:r})},[]),consumeOffer:(0,B.useCallback)(r=>{if(!e.active||!e.heldMessage||n.current)return null;n.current=!0;let i={heldMessage:e.heldMessage,action:r};return t(ht),setTimeout(()=>{n.current=!1},0),i},[e]),dismissAndGetHeldMessage:(0,B.useCallback)(()=>{if(!e.active||!e.heldMessage)return null;let n=e.heldMessage;return t(ht),n},[e])}}var _t=`maxy-admin-draft`,vt=[500,1e3,2e3,4e3,8e3,1e4,1e4],yt=3e4;function bt(e){if(e instanceof TypeError){let t=e.message||``;return/network|failed to fetch|load failed/i.test(t)}return!1}async function xt(){let e=Date.now()+yt;for(let t=0;t<vt.length;t++){let n=vt[t];if(await new Promise(e=>setTimeout(e,n)),Date.now()>e)return!1;try{if((await fetch(`/api/health`,{cache:`no-store`,signal:AbortSignal.timeout(3e3)})).ok)return!0}catch{}}return!1}function St(e){let{sessionKey:t,setSessionKey:n,setAppState:r,setConversationId:i,startElapsedTimer:a,stopElapsedTimer:o,resetTimerState:s,pausedElapsedRef:c,expandAllDefaultRef:l,setExpandAll:u,getPendingFiles:d,clearPendingFiles:f,inputRef:p}=e,[m,h]=(0,B.useState)([]),[g,_]=(0,B.useState)(()=>{try{return localStorage.getItem(_t)??``}catch{return``}}),v=(0,B.useRef)(null),[y,b]=(0,B.useState)(!1),[x,S]=(0,B.useState)([]),C=(0,B.useRef)([]),[w,T]=(0,B.useState)(!1),[E,D]=(0,B.useState)(!1),O=(0,B.useRef)(!1),[k,A]=(0,B.useState)(0),[j,M]=(0,B.useState)(!1),N=(0,B.useRef)(null),P=(0,B.useRef)(()=>{}),[ee,F]=(0,B.useState)(new Set),te=gt();function ne(e){C.current=e,S(e)}(0,B.useEffect)(()=>(v.current=setTimeout(()=>{try{g?localStorage.setItem(_t,g):localStorage.removeItem(_t)}catch{}},300),()=>{v.current&&clearTimeout(v.current)}),[g]);function re(){v.current&&clearTimeout(v.current);try{localStorage.removeItem(_t)}catch{}}function ie(e){N.current?.abort(),M(e)}async function L(e){if(y||!t)return;M(!1),a(),b(!0);let i=new AbortController;N.current=i,h([{role:`maxy`,events:[],timestamp:Date.now()}]);try{let a=await fetch(`/api/admin/chat`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({message:e,session_key:t}),signal:i.signal});if(!a.ok){if(a.status===401){(await a.json().catch(()=>({}))).error===`auth_expired`?r(`connect-claude`):(n(null),r(`enter-pin`));return}let e=await a.json().catch(()=>({}));throw Error(typeof e.error==`string`?e.error:`Request failed (${a.status})`)}let o=!1;for await(let e of I(a)){if(e.type===`session_reset`){O.current=!0,N.current?.abort();break}if(e.type===`server_shutdown`){o=!0,h(e=>{let t=[...e];return t[0]?.role===`maxy`&&(t[0]={...t[0],events:[...t[0].events??[],{type:`text`,content:`Server is restarting — reconnect will happen automatically.`}]}),t});continue}if(e.type===`done`||e.type===`session_init`)continue;let t=e;h(e=>{let n=[...e];return n[0]?.role===`maxy`&&(n[0]={...n[0],events:[...n[0].events??[],t]}),n})}o&&xt()}catch(e){if(!(e instanceof DOMException&&e.name===`AbortError`)){console.error(`[chat] admin sendMessage failed:`,e);let t=e instanceof Error?e.message:String(e),n=bt(e);h(e=>{let r=[...e],i=r[0];if(i?.role===`maxy`){let e=n?`Server is restarting — reconnect will happen automatically.`:`Error: ${t}`;r[0]={...i,events:[...i.events??[],{type:`text`,content:e}]}}else r.push({role:`maxy`,events:[{type:`text`,content:`Error: ${t}`}],timestamp:Date.now()});return r}),n&&xt()}}finally{o(h),b(!1),O.current?(O.current=!1,ae()):p.current?.focus()}}function ae(){h([]),D(!1),s(),F(new Set),u(l.current),ne([]),_(``),re(),f(),M(!1),A(e=>e+1)}async function oe(){if(y||w||!t){console.warn(`[chat] startNewConversation blocked: streaming=${y} compacting=${w} sessionKey=${!!t}`);return}ae();try{let e=await fetch(`/api/admin/sessions/new?session_key=${encodeURIComponent(t)}`,{method:`POST`});if(e.ok){let t=await e.json();t.session_key&&n(t.session_key),t.conversationId&&i(t.conversationId)}else console.error(`[chat] new conversation failed: ${e.status}`),h([{role:`maxy`,events:[{type:`text`,content:`Could not start a new conversation. Please try again.`}],timestamp:Date.now()}])}catch(e){console.error(`[chat] new conversation failed:`,e),h([{role:`maxy`,events:[{type:`text`,content:`Could not start a new conversation. Please try again.`}],timestamp:Date.now()}])}}function se(e,n,r,i){try{let e=JSON.parse(r);if(e._lifecycle&&t){fetch(`/api/admin/chat`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({message:r,session_key:t})}).catch(()=>{});return}if(e.action===`save`)return}catch{}ft.has(i??``)||F(t=>new Set(t).add(`${e}_${n}`)),le(i?JSON.stringify({_componentDone:!0,component:i,payload:r}):r,void 0,void 0,!0)}let ce=(0,B.useMemo)(()=>{let e=new Set(ee),t=[];for(let e=0;e<m.length;e++){let n=m[e];if(!(n.role!==`maxy`||!n.events))for(let e=0;e<n.events.length;e++){let r=n.events[e];r.type===`component`&&r.name===`browser-viewer`&&t.push({key:`${n.timestamp}_${e}`})}}for(let n=0;n<t.length-1;n++)e.add(t[n].key);return e},[m,ee]);async function le(e,i,s,l,u){if(!e&&(i??d()).length===0&&!j||y||!t)return;if(te.offer.active&&!u){let t=te.dismissAndGetHeldMessage();if(t)return ne([...C.current,{text:e,files:i??[],timestamp:s??Date.now()}]),le(t,void 0,void 0,!0,{topicChangeAction:`continue`,heldMessage:t})}let g=j;M(!1),D(!1);let v=i??[...d()],x=v.map(e=>({attachmentId:``,filename:e.name,mimeType:e.type})),S={role:`admin`,content:e,attachments:x.length>0?x:void 0,timestamp:s??Date.now(),hidden:l||void 0},w=m.length;h(e=>[...e,S]),_(``),re(),i||f(),a(g?c.current:0),b(!0);let T=new AbortController;N.current=T;let E={role:`maxy`,events:[],timestamp:Date.now()};h(e=>[...e,E]);let k=w+1;try{let i,a={},o=s?new Date(s).toISOString():void 0;if(v.length>0){let n=new FormData;n.append(`message`,e),n.append(`session_key`,t),o&&n.append(`timestamp`,o);for(let e of v)n.append(`attachments`,e);i=n}else i=JSON.stringify({message:e,session_key:t,...o&&{timestamp:o},...u&&{topicChangeAction:u.topicChangeAction,heldMessage:u.heldMessage}}),a={"Content-Type":`application/json`};let c=await fetch(`/api/admin/chat`,{method:`POST`,headers:a,body:i,signal:T.signal});if(!c.ok){if(c.status===401){(await c.json().catch(()=>({}))).error===`auth_expired`?r(`connect-claude`):(n(null),r(`enter-pin`));return}let e=await c.json().catch(()=>({}));throw Error(typeof e.error==`string`?e.error:`Request failed (${c.status})`)}let l=!1;for await(let e of I(c)){if(e.type===`session_reset`){O.current=!0;continue}if(e.type===`topic_change_offer`){te.handleOfferEvent(e.heldMessage,e.existingTopic,e.confidence);continue}if(e.type===`server_shutdown`){l=!0,h(e=>{let t=[...e],n=t[k];return n&&n.role===`maxy`&&(t[k]={...n,events:[...n.events??[],{type:`text`,content:`Server is restarting — reconnect will happen automatically.`}]}),t});continue}if(e.type===`done`||e.type===`session_init`)continue;let t=e;h(e=>{let n=[...e],r=n[k];if(r&&r.role===`maxy`){let i=r.events??[];if(t.type===`component`&&i.some(e=>e.type===`component`&&e.name===t.name&&JSON.stringify(e.data)===JSON.stringify(t.data)))return e;n[k]={...r,events:[...i,t]}}return n})}l&&xt()}catch(e){if(!(e instanceof DOMException&&e.name===`AbortError`)){console.error(`[chat] admin sendMessage failed:`,e);let t=e instanceof Error?e.message:String(e),n=bt(e);h(e=>{let r=[...e],i=r[k];if(i&&i.role===`maxy`){let e=n?`Server is restarting — reconnect will happen automatically.`:`Error: ${t}`;r[k]={...i,events:[...i.events??[],{type:`text`,content:e}]}}return r}),n&&xt()}}finally{if(o(h),b(!1),O.current)O.current=!1,ae();else{let e=C.current;if(e.length>0){let[t,...n]=e;ne(n),P.current(t.text,t.files,t.timestamp)}else p.current?.focus()}}}P.current=le;let ue=(0,B.useCallback)(async()=>{if(!(!t||y||w)){T(!0);try{let e=await fetch(`/api/admin/compact`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({session_key:t})});for await(let t of I(e))if(t.type===`status`&&t.message){let e=t.message;h(t=>{let n=[...t],r=n[n.length-1];return r?.role===`maxy`&&(n[n.length-1]={...r,events:[...r.events??[],{type:`status`,message:e}]}),n})}else t.type===`done`&&t.ok&&D(!0)}finally{T(!1)}}},[t,y,w]);async function de(){let e=te.consumeOffer(`fresh`);e&&(await oe(),P.current(e.heldMessage))}function fe(){let e=te.consumeOffer(`continue`);e&&le(e.heldMessage,void 0,void 0,!0,{topicChangeAction:`continue`,heldMessage:e.heldMessage})}return{messages:m,setMessages:h,input:g,setInput:_,isStreaming:y,messageQueue:x,messageQueueRef:C,setQueue:ne,isCompacting:w,conversationCompacted:E,greetingGeneration:k,wasPaused:j,sendMessageRef:P,submittedComponents:ee,effectiveSubmitted:ce,stopStreaming:ie,sendSystemPrompt:L,sendMessage:le,resetConversation:ae,startNewConversation:oe,handleComponentSubmit:se,handleCompactNow:ue,topicChangeOffer:te.offer,handleTopicFreshStart:de,handleTopicContinue:fe}}function Ct(){let[e,t]=(0,B.useState)([]),[n,r]=(0,B.useState)(!1),[i,a]=(0,B.useState)(null),o=(0,B.useRef)(null),s=(0,B.useCallback)(e=>{a(null);let n=e.find(e=>!ut.has(e.type));if(n){a(`Unsupported file type: "${n.type}". Supported: images, PDF, plain text, markdown, CSV, calendar.`);return}let r=e.find(e=>e.size>dt);if(r){a(`"${r.name}" exceeds the 20 MB limit.`);return}t(t=>[...t,...e].slice(0,5))},[]);return{pendingFiles:e,setPendingFiles:t,isDragOver:n,attachError:i,setAttachError:a,fileInputRef:o,addFiles:s,clearFiles:(0,B.useCallback)(()=>{t([]),a(null)},[]),removeFile:(0,B.useCallback)(e=>{t(t=>t.filter((t,n)=>n!==e))},[]),onDragOver:(0,B.useCallback)(e=>{e.preventDefault(),r(!0)},[]),onDragLeave:(0,B.useCallback)(()=>{r(!1)},[]),onDrop:(0,B.useCallback)(e=>{e.preventDefault(),r(!1),s([...e.dataTransfer.files])},[s])}}var V=o();function wt({inputRef:e,value:t,onChange:n,onComplete:r,showPin:i,autoFocus:a}){let o=(0,B.useRef)([]);function s(e,r){r.key===`Backspace`?(r.preventDefault(),t[e]?n(t.slice(0,e)+t.slice(e+1)):e>0&&(n(t.slice(0,e-1)+t.slice(e)),o.current[e-1]?.focus())):r.key===`ArrowLeft`&&e>0?o.current[e-1]?.focus():r.key===`ArrowRight`&&e<5?o.current[e+1]?.focus():r.key===`Enter`&&(r.preventDefault(),r.currentTarget.form?.requestSubmit())}function c(e,i){let a=i.nativeEvent.data;if(!a||!/^\d$/.test(a))return;let s=t.split(``);for(s[e]=a;s.length<e;)s.push(``);let c=s.join(``).replace(/\D/g,``).slice(0,6);n(c),c.length===6?r?.(c):e<5&&o.current[e+1]?.focus()}function l(e){e.preventDefault();let t=e.clipboardData.getData(`text`).replace(/\D/g,``).slice(0,6);t&&(n(t),t.length===6?r?.(t):o.current[t.length]?.focus())}return(0,V.jsx)(`div`,{className:`pin-field`,children:Array.from({length:6}).map((n,r)=>(0,V.jsx)(`input`,{ref:t=>{o.current[r]=t,r===0&&e&&(e.current=t)},type:`text`,inputMode:`numeric`,className:`pin-box${t[r]?` pin-box-filled`:``}`,value:t[r]?i?t[r]:`•`:``,onKeyDown:e=>s(r,e),onInput:e=>c(r,e),onPaste:l,onFocus:e=>e.target.select(),autoFocus:a&&r===0,autoComplete:`off`,maxLength:1,"aria-label":`PIN digit ${r+1}`},r))})}function Tt(e){let{pin:t,setPin:n,confirmPin:r,setConfirmPin:i,showPin:a,setShowPin:o,pinLoading:s,pinError:c,pinInputRef:l,confirmPinInputRef:u,setPinFormRef:d,onSubmit:f}=e;return(0,V.jsx)(`div`,{className:`connect-page`,children:(0,V.jsxs)(`div`,{className:`connect-content`,children:[(0,V.jsx)(`img`,{src:y,alt:_.productName,className:`connect-logo connect-logo--maxy`}),!_.logoContainsName&&(0,V.jsxs)(`h1`,{className:`connect-title`,children:[`Welcome to `,_.productName]}),(0,V.jsx)(`p`,{className:`connect-subtitle`,children:`Choose a PIN to secure your admin access.`}),(0,V.jsxs)(`form`,{ref:d,onSubmit:f,className:`connect-pin-form`,children:[(0,V.jsxs)(`div`,{className:`pin-input-row`,children:[(0,V.jsx)(wt,{inputRef:l,value:t,onChange:n,onComplete:()=>u.current?.focus(),showPin:a,autoFocus:!0}),(0,V.jsx)(`div`,{style:{width:38,flexShrink:0},"aria-hidden":`true`})]}),(0,V.jsxs)(`div`,{className:`pin-input-row`,children:[(0,V.jsx)(wt,{inputRef:u,value:r,onChange:i,onComplete:()=>{},showPin:a}),(0,V.jsx)(w,{variant:`send`,type:`submit`,disabled:!t||!r,loading:s,"aria-label":`Set PIN`,children:(0,V.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,V.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,V.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]})})]}),(0,V.jsx)(C,{checked:a,onChange:()=>o(e=>!e),label:`Show PIN`})]}),c&&(0,V.jsx)(`p`,{className:`admin-pin-error`,children:c})]})})}function Et(e){let{pin:t,setPin:n,showPin:r,setShowPin:i,pinLoading:a,pinError:o,pinInputRef:s,onSubmit:c,onChangePin:l}=e;return(0,V.jsx)(`div`,{className:`connect-page`,children:(0,V.jsxs)(`div`,{className:`connect-content`,children:[(0,V.jsx)(`img`,{src:y,alt:_.productName,className:`connect-logo connect-logo--maxy`}),!_.logoContainsName&&(0,V.jsx)(`h1`,{className:`connect-title`,children:_.productName}),(0,V.jsxs)(`form`,{onSubmit:c,className:`connect-pin-form`,children:[(0,V.jsxs)(`div`,{className:`pin-input-row`,children:[(0,V.jsx)(wt,{inputRef:s,value:t,onChange:n,onComplete:()=>{},showPin:r,autoFocus:!0}),(0,V.jsx)(w,{variant:`send`,type:`submit`,disabled:!t,loading:a,children:(0,V.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,V.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,V.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]})})]}),(0,V.jsxs)(`div`,{className:`pin-options`,children:[(0,V.jsx)(C,{checked:r,onChange:()=>i(e=>!e),label:`Show PIN`}),(0,V.jsx)(w,{type:`button`,variant:`ghost`,onClick:l,children:`Change PIN`})]})]}),o&&(0,V.jsx)(`p`,{className:`admin-pin-error`,children:o})]})})}function Dt(e){let{accounts:t,loading:n,error:r,onSelect:i}=e;return(0,V.jsx)(`div`,{className:`connect-page`,children:(0,V.jsxs)(`div`,{className:`connect-content`,children:[(0,V.jsx)(`img`,{src:y,alt:_.productName,className:`connect-logo connect-logo--maxy`}),!_.logoContainsName&&(0,V.jsx)(`h1`,{className:`connect-title`,children:_.productName}),(0,V.jsx)(`p`,{className:`connect-subtitle`,children:`Select an account`}),(0,V.jsx)(`div`,{className:`account-picker-list`,children:t.map(e=>(0,V.jsxs)(`button`,{className:`account-picker-card`,onClick:()=>i(e.accountId),disabled:n,type:`button`,children:[(0,V.jsx)(`span`,{className:`account-picker-name`,children:e.businessName||e.accountId}),(0,V.jsx)(`span`,{className:`account-picker-role`,children:e.role}),n&&(0,V.jsx)(re,{className:`account-picker-spinner`,size:16})]},e.accountId))}),r&&(0,V.jsx)(`p`,{className:`admin-pin-error`,children:r})]})})}function Ot(e){let{authPolling:t,setAuthPolling:n,authLoading:r,setAuthLoading:i,pinError:a,setPinError:o,setAppState:s}=e,[c,l]=(0,B.useState)(!1),[u,d]=(0,B.useState)(!1);async function f(){d(!0),o(``);try{let e=await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`launch-browser`})})).json();e.launched?l(!0):e.error&&o(e.error)}catch(e){console.error(`[admin] browser launch error:`,e),o(`Could not launch browser.`)}d(!1)}async function p(){i(!0),o(``);try{let e=await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`})).json();if(e.started){n(!0),l(!0),i(!1);for(let e=0;e<120;e++)if(await new Promise(e=>setTimeout(e,2e3)),(await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`wait`})})).json()).authenticated){await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`stop`})}),s(`enter-pin`);return}o(`Timed out waiting for sign-in. Try again.`),n(!1)}else e.error&&o(e.error)}catch(e){console.error(`[admin] auth flow error:`,e),o(`Could not start auth flow.`)}i(!1)}async function m(){await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`stop`})}),n(!1),o(``)}return t||c?(0,V.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100dvh`,overflow:`auto`},children:[(0,V.jsxs)(`header`,{className:`chat-header`,style:{paddingBottom:`12px`,flexShrink:0,position:`relative`,maxWidth:`680px`,width:`100%`,margin:`0 auto`,padding:`24px 20px 12px`},children:[t?(0,V.jsx)(`button`,{onClick:m,style:{position:`absolute`,top:`12px`,right:`12px`,background:`none`,border:`none`,color:`#999`,fontSize:`13px`,cursor:`pointer`,padding:`4px 8px`},"aria-label":`Cancel`,children:`✕`}):(0,V.jsx)(`button`,{onClick:()=>l(!1),style:{position:`absolute`,top:`12px`,right:`12px`,background:`none`,border:`none`,color:`#999`,fontSize:`13px`,cursor:`pointer`,padding:`4px 8px`},"aria-label":`Close browser`,children:`✕`}),(0,V.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`chat-logo`}),(0,V.jsx)(`h1`,{className:`chat-tagline`,children:`Connect Claude`}),(0,V.jsx)(`p`,{className:`chat-intro`,children:t?`Sign in and authorize in the browser below.`:`Open your email or prepare your accounts, then sign in.`}),!t&&(0,V.jsx)(`div`,{style:{marginTop:`12px`},children:(0,V.jsx)(w,{variant:`primary`,onClick:p,disabled:r,children:r?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:`spin`,style:{display:`inline-block`},children:`✱`}),` Connecting…`]}):`Sign in to Claude`})})]}),(0,V.jsx)(`div`,{style:{flex:1,display:`flex`,flexDirection:`column`,minHeight:0,gap:`10px`,padding:`0 0 16px`},children:(0,V.jsx)(`iframe`,{src:`/vnc-viewer.html`,style:{flex:1,width:`100%`,minHeight:0,border:`none`,background:`#111`,display:`block`},title:`Claude Sign-in`})}),a&&(0,V.jsx)(`p`,{className:`admin-pin-error`,style:{textAlign:`center`,padding:`0 20px 16px`},children:a})]}):(0,V.jsx)(`div`,{className:`connect-page`,children:(0,V.jsxs)(`div`,{className:`connect-content`,children:[(0,V.jsxs)(`div`,{className:`connect-logos`,children:[(0,V.jsx)(`div`,{className:`connect-logo-wrap`,children:(0,V.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`connect-logo`})}),(0,V.jsx)(`svg`,{className:`connect-arrow`,viewBox:`0 0 48 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:(0,V.jsx)(`path`,{d:`M0 12h44m0 0l-8-8m8 8l-8 8`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})}),(0,V.jsxs)(`div`,{className:`connect-logo-wrap`,children:[(0,V.jsx)(`img`,{src:y,alt:_.productName,className:`connect-logo connect-logo--maxy`}),!_.logoContainsName&&(0,V.jsx)(`span`,{className:`connect-logo-label`,children:_.productName})]})]}),(0,V.jsxs)(`h1`,{className:`connect-title`,children:[`Connect Claude to power `,_.productName]}),(0,V.jsx)(`p`,{className:`connect-subtitle`,children:`Sign in with your Anthropic account to get started.`}),(0,V.jsx)(w,{variant:`primary`,onClick:p,disabled:r,children:r?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:`spin`,style:{display:`inline-block`},children:`✱`}),` Connecting…`]}):`Sign in to Claude`}),(0,V.jsx)(`button`,{onClick:f,disabled:u,style:{marginTop:`12px`,background:`none`,border:`none`,color:`var(--color-primary, #666)`,fontSize:`13px`,cursor:`pointer`,textDecoration:`underline`,textUnderlineOffset:`3px`},children:u?`Launching…`:`Open browser first`}),(0,V.jsx)(`p`,{style:{marginTop:`6px`,fontSize:`11px`,color:`#999`,maxWidth:`300px`,textAlign:`center`,lineHeight:`1.4`},children:`First time? You may need to sign into your email and Anthropic account in the browser before connecting.`}),a&&(0,V.jsx)(`p`,{className:`admin-pin-error`,children:a})]})})}function kt({setAppState:e,setOnboardingComplete:t}){let[n,r]=(0,B.useState)(!1),[i,a]=(0,B.useState)(``);async function o(){r(!0),a(``);try{let n=await fetch(`/api/onboarding/skip`,{method:`POST`});if(!n.ok){a((await n.json().catch(()=>({}))).error||`Failed to apply defaults.`);return}t(!0),e(`connect-claude`)}catch(e){console.error(`[admin] skip onboarding error:`,e),a(`Could not apply defaults.`)}finally{r(!1)}}function s(){e(`connect-claude`)}return(0,V.jsx)(`div`,{className:`connect-page`,children:(0,V.jsxs)(`div`,{className:`connect-content`,children:[(0,V.jsxs)(`div`,{className:`connect-logo-wrap`,children:[(0,V.jsx)(`img`,{src:y,alt:_.productName,className:`connect-logo connect-logo--maxy`}),!_.logoContainsName&&(0,V.jsx)(`span`,{className:`connect-logo-label`,children:_.productName})]}),(0,V.jsx)(`h1`,{className:`connect-title`,children:`How would you like to get started?`}),(0,V.jsx)(`p`,{className:`connect-subtitle`,style:{fontSize:`0.8rem`,maxWidth:`320px`},children:`Defaults: core plugins only, auto-detected timezone, concise output style, and a minimal personality. No WiFi or optional plugins.`}),(0,V.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`10px`,width:`100%`,maxWidth:`320px`,alignItems:`center`},children:[(0,V.jsx)(w,{variant:`primary`,onClick:o,disabled:n,children:n?`Applying defaults…`:`Use defaults`}),(0,V.jsx)(`button`,{onClick:s,style:{background:`none`,border:`none`,padding:`8px`,cursor:`pointer`,fontSize:`0.95rem`,color:`var(--text-secondary, #666)`,textDecoration:`none`},children:`Guided setup`})]}),(0,V.jsx)(`p`,{className:`connect-subtitle`,style:{marginTop:`12px`},children:`You can change any setting later through conversation.`}),i&&(0,V.jsx)(`p`,{className:`admin-pin-error`,children:i})]})})}function At({data:e,onSubmit:t,submitted:n}){let r=e,[i,a]=(0,B.useState)(`Submitted`);return r?.title?(0,V.jsx)(O,{submitted:n,submittedLabel:i,actions:[{label:r.rejectLabel??`Reject`,variant:`ghost`,onClick:()=>{n||(a(`Rejected`),t(r.rejectMessage??`Rejected: ${r.title}`))}},{label:r.confirmLabel??`Approve`,variant:`primary`,onClick:()=>{n||(a(`Approved`),t(r.confirmMessage??`Approved: ${r.title}`))}}],children:(0,V.jsxs)(`div`,{className:`confirm`,children:[(0,V.jsx)(`div`,{className:`confirm__title`,children:r.title}),r.description&&(0,V.jsx)(`div`,{className:`confirm__desc`,children:r.description}),r.items&&r.items.length>0&&(0,V.jsx)(`div`,{className:`confirm__items`,children:r.items.map((e,t)=>(0,V.jsxs)(`div`,{className:`confirm__item`,children:[(0,V.jsx)(`span`,{className:`confirm__item-label`,children:e.label}),(0,V.jsx)(`span`,{className:`confirm__item-value`,children:e.value})]},t))})]})}):null}function jt({data:e,onSubmit:t,submitted:n}){let r=e,i=(0,B.useRef)(!1),a=!!(r?.title&&Array.isArray(r?.fields)&&r.fields.length>0),o=r?.actions&&r.actions.length>0;return(0,B.useEffect)(()=>{a&&!o&&!n&&!i.current&&(i.current=!0,t(``))},[a,o,n,t]),a?(0,V.jsx)(O,{submitted:n,submittedLabel:`Done`,actions:o?r.actions.map(e=>({label:e.label,variant:e.variant,onClick:()=>{n||t(e.message)}})):[],children:(0,V.jsxs)(`div`,{className:`info-card`,children:[(0,V.jsxs)(`div`,{className:`info-card__header`,children:[(0,V.jsx)(`div`,{className:`info-card__title`,children:r.title}),r.subtitle&&(0,V.jsx)(`div`,{className:`info-card__subtitle`,children:r.subtitle})]}),(0,V.jsx)(`div`,{className:`info-card__fields`,children:r.fields.map((e,t)=>(0,V.jsxs)(`div`,{className:`info-card__field`,children:[(0,V.jsx)(`span`,{className:`info-card__field-label`,children:e.label}),(0,V.jsx)(`span`,{className:`info-card__field-value${e.type===`status`?` info-card__field-value--status`:``}`,children:e.type===`link`?(0,V.jsx)(`a`,{href:e.value,target:`_blank`,rel:`noopener noreferrer`,children:e.value}):e.value})]},t))})]})}):null}function Mt({data:e,onSubmit:t,submitted:n}){let r=e,i=Array.isArray(r?.items)?r.items:[],[a,o]=(0,B.useState)(new Set),[s,c]=(0,B.useState)(!1),[l,u]=(0,B.useState)(`Done`);if(i.length===0)return null;let d=n||s,f=(e,n)=>{d||a.has(e)||(o(t=>new Set(t).add(e)),t(n))};return(0,V.jsx)(O,{submitted:d,submittedLabel:l,actions:[{label:`Done`,variant:`primary`,onClick:()=>{d||(c(!0),u(`Done`),t(r?.doneMessage??`Done`))}}],children:(0,V.jsxs)(`div`,{className:`action-list`,children:[r?.title&&(0,V.jsx)(`div`,{className:`action-list__title`,children:r.title}),(0,V.jsx)(`div`,{className:`action-list__items`,children:i.map(e=>(0,V.jsxs)(`div`,{className:`action-list__item${a.has(e.id)?` action-list__item--acted`:``}`,children:[(0,V.jsxs)(`div`,{className:`action-list__item-info`,children:[(0,V.jsx)(`span`,{className:`action-list__item-label`,children:e.label}),e.description&&(0,V.jsx)(`span`,{className:`action-list__item-desc`,children:e.description})]}),(0,V.jsxs)(`div`,{className:`action-list__item-right`,children:[e.status&&(0,V.jsx)(`span`,{className:`action-list__item-status`,children:e.status}),(0,V.jsx)(`div`,{className:`action-list__item-actions`,children:e.actions.map((t,n)=>(0,V.jsx)(w,{variant:t.variant===`danger`?`danger`:t.variant===`ghost`?`ghost`:`primary`,size:`sm`,disabled:d||a.has(e.id),onClick:n=>{n.stopPropagation(),f(e.id,t.message)},children:t.label},n))})]})]},e.id))})]})})}function Nt({data:e,onSubmit:t,submitted:n}){let r=e,i=Array.isArray(r?.fields)?r.fields:[],[a,o]=(0,B.useState)({}),[s,c]=(0,B.useState)({}),[l,u]=(0,B.useState)({}),[d,f]=(0,B.useState)(`Submitted`);if((0,B.useEffect)(()=>{i.length!==0&&(o(e=>{let t={...e};return i.forEach(e=>{e.type!==`list`&&(e.name in t||(t[e.name]=e.defaultValue??(e.type===`checkbox`?!1:``)))}),t}),c(e=>{let t={...e};return i.forEach(e=>{e.type===`list`&&(e.name in t||(t[e.name]=Array.isArray(e.defaultValue)?e.defaultValue:[]))}),t}))},[i]),i.length===0)return null;let p=(e,t)=>{n||o(n=>({...n,[e]:t}))},m=i.filter(e=>e.required&&e.type!==`list`).every(e=>{let t=a[e.name];return e.type===`checkbox`?t===!0:typeof t==`string`&&t.trim()!==``}),h=()=>{if(!m||n)return;f(`Submitted`);let e=r?.submitMessage??`Form submitted: {{json}}`,i=JSON.stringify(a),o=e;for(let[e,t]of Object.entries(a))o=o.replace(`{{${e}}}`,()=>String(t));o=o.replace(`{{json}}`,()=>i),o=o.replace(`{{values}}`,()=>i),t(o)},g=e=>e.description?`${e.label} — ${e.description}`:e.label,_=e=>{let r=(l[e.name]??``).trim();!r||n||(c(t=>({...t,[e.name]:[...t[e.name]??[],r]})),u(t=>({...t,[e.name]:``})),e.addMessage&&t(e.addMessage.replace(`{{value}}`,r)))},v=(e,r)=>{n||(c(t=>({...t,[e.name]:(t[e.name]??[]).filter(e=>e!==r)})),e.removeMessage&&t(e.removeMessage.replace(`{{value}}`,r)))};return(0,V.jsx)(O,{submitted:n,submittedLabel:d,actions:[{label:r?.submitLabel??`Submit`,variant:`primary`,disabled:!m,onClick:h}],children:(0,V.jsxs)(`div`,{className:`form-input`,children:[r?.title&&(0,V.jsx)(`div`,{className:`form-input__title`,children:r.title}),r?.description&&(0,V.jsx)(`div`,{className:`form-input__desc`,children:r.description}),(0,V.jsx)(`div`,{className:`form-input__fields`,children:i.map(e=>(0,V.jsx)(`div`,{className:`form-input__field`,children:e.type===`checkbox`?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(C,{checked:a[e.name]===!0,onChange:t=>p(e.name,t),label:e.label,disabled:n}),e.description&&(0,V.jsx)(`div`,{className:`form-input__field-desc`,children:e.description})]}):e.type===`list`?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`label`,{className:`form-input__label`,children:e.label}),e.description&&(0,V.jsx)(`div`,{className:`form-input__field-desc`,children:e.description}),(0,V.jsxs)(`div`,{className:`form-input__list`,children:[(s[e.name]??[]).map(t=>(0,V.jsxs)(`div`,{className:`form-input__list-item`,children:[(0,V.jsx)(`span`,{className:`form-input__list-item-text`,children:t}),(0,V.jsx)(`button`,{type:`button`,className:`form-input__list-item-remove`,onClick:()=>v(e,t),disabled:n,"aria-label":`Remove ${t}`,children:`×`})]},t)),(0,V.jsxs)(`div`,{className:`form-input__list-add`,children:[(0,V.jsx)(`input`,{className:`form-input__input`,type:`text`,placeholder:e.addPlaceholder??``,value:l[e.name]??``,onChange:t=>u(n=>({...n,[e.name]:t.target.value})),onKeyDown:t=>{t.key===`Enter`&&(t.preventDefault(),_(e))},disabled:n}),(0,V.jsx)(`button`,{type:`button`,className:`form-input__list-add-btn`,onClick:()=>_(e),disabled:n||!(l[e.name]??``).trim(),children:`Add`})]})]})]}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`label`,{className:`form-input__label`,htmlFor:`form-${e.name}`,children:[e.label,e.required&&(0,V.jsx)(`span`,{className:`form-input__required`,children:`*`})]}),e.description&&(0,V.jsx)(`div`,{className:`form-input__field-desc`,children:e.description}),e.type===`textarea`?(0,V.jsx)(`textarea`,{id:`form-${e.name}`,className:`form-input__textarea`,placeholder:e.placeholder,value:a[e.name]??``,onChange:t=>p(e.name,t.target.value),disabled:n,rows:3}):e.type===`select`?(0,V.jsxs)(`select`,{id:`form-${e.name}`,className:`form-input__select`,value:a[e.name]??``,onChange:t=>p(e.name,t.target.value),disabled:n,children:[(0,V.jsx)(`option`,{value:``,children:e.placeholder??`Select...`}),e.options?.map(e=>(0,V.jsx)(`option`,{value:e.value,children:g(e)},e.value))]}):(0,V.jsx)(`input`,{id:`form-${e.name}`,className:`form-input__input`,type:e.type,placeholder:e.placeholder,value:a[e.name]??``,onChange:t=>p(e.name,t.target.value),disabled:n})]})},e.name))})]})})}var Pt={pending:`○`,active:`◉`,completed:`✓`,failed:`✗`,skipped:`–`};function Ft({data:e,onSubmit:t,submitted:n}){let r=e,i=Array.isArray(r?.steps)?r.steps:[],a=(0,B.useRef)(!1),o=i.length>0&&i.every(e=>e.status===`completed`||e.status===`failed`||e.status===`skipped`);return(0,B.useEffect)(()=>{o&&!n&&!a.current&&(a.current=!0,t(r?.completedMessage??`All steps completed`))},[o,n,t,r?.completedMessage]),i.length===0?null:(0,V.jsxs)(`div`,{className:`progress-tracker${n?` progress-tracker--submitted`:``}`,children:[r?.title&&(0,V.jsx)(`div`,{className:`progress-tracker__title`,children:r.title}),(0,V.jsx)(`div`,{className:`progress-tracker__steps`,children:i.map((e,t)=>(0,V.jsxs)(`div`,{className:`progress-tracker__step progress-tracker__step--${e.status}`,children:[(0,V.jsx)(`span`,{className:`progress-tracker__icon`,children:Pt[e.status]??`○`}),(0,V.jsxs)(`div`,{className:`progress-tracker__step-info`,children:[(0,V.jsx)(`span`,{className:`progress-tracker__step-label`,children:e.label}),e.description&&(0,V.jsx)(`span`,{className:`progress-tracker__step-desc`,children:e.description})]})]},t))})]})}function It({handlePopout:e,disabled:t=!1}){let n=(0,B.useCallback)(()=>{delete document.body.dataset.dragPopoutActive},[]);(0,B.useEffect)(()=>()=>n(),[n]);let r=(0,B.useCallback)(e=>{if(t){e.preventDefault();return}let n=e.target;if(n.closest(`.editor-base__actions`)||n.closest(`.browser-viewer__actions`)){e.preventDefault();return}if(!document.querySelector(`.chat-messages`)){e.preventDefault();return}e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,``),document.body.dataset.dragPopoutActive=`true`},[t,n]),i=(0,B.useCallback)(t=>{if(n(),t.clientX===0&&t.clientY===0)return;let r=document.querySelector(`.chat-messages`);if(!r)return;let i=r.getBoundingClientRect();(t.clientX<i.left||t.clientX>i.right||t.clientY<i.top||t.clientY>i.bottom)&&e()},[e,n]);return t?{draggable:!1,onDragStart:()=>{},onDragEnd:()=>{}}:{draggable:!0,onDragStart:r,onDragEnd:i}}function Lt({data:e,onSubmit:t,submitted:n,isStreaming:r}){at();let{title:i}=e??{},[a,o]=(0,B.useState)(!1),[s,c]=(0,B.useState)(!1),[l,u]=(0,B.useState)(!1),d=(0,B.useRef)(null),f=(0,B.useRef)(null),p=i??_.productName,m=(0,B.useCallback)(()=>{f.current&&=(clearInterval(f.current),null),d.current&&!d.current.closed&&d.current.close(),d.current=null,c(!1)},[]),h=(0,B.useCallback)(()=>{o(!1),u(!1);let e=`/vnc-popout.html?title=${encodeURIComponent(p)}`,t=window.open(e,`maxy-vnc-popout`,`width=1024,height=768`);t&&(d.current=t,c(!0),f.current=setInterval(()=>{d.current?.closed&&(m(),u(!0))},500))},[p,m]),g=(0,B.useCallback)(()=>{m(),o(!1),u(!0)},[m]),v=(0,B.useCallback)(()=>{m(),u(!1)},[m]),y=(0,B.useCallback)(()=>{u(!1)},[]),b=(0,B.useCallback)(()=>{m(),u(!1),o(!0)},[m]),x=(0,B.useCallback)(()=>o(!1),[]);(0,B.useEffect)(()=>{if(!a)return;let e=e=>{e.key===`Escape`&&x()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[a,x]),(0,B.useEffect)(()=>()=>m(),[m]);let S=It({handlePopout:h,disabled:s||a});if(n)return null;let C=`/vnc-viewer.html`;return a?(0,V.jsxs)(`div`,{className:`browser-viewer-fullscreen`,children:[(0,V.jsxs)(`div`,{className:`browser-viewer-fullscreen__bar`,...S,children:[(0,V.jsx)(D,{className:`browser-viewer__icon`}),(0,V.jsx)(`span`,{className:`browser-viewer-fullscreen__title`,children:p}),(0,V.jsxs)(`div`,{className:`browser-viewer-fullscreen__actions`,children:[(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Ee,onClick:h,"aria-label":`Pop out`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Ue,onClick:x,"aria-label":`Exit full screen`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:We,onClick:g,"aria-label":`Minimise`})]})]}),(0,V.jsx)(`iframe`,{src:C,className:`browser-viewer-fullscreen__iframe`,title:p})]}):s?(0,V.jsx)(`div`,{className:`browser-viewer browser-viewer--popout`,children:(0,V.jsxs)(`div`,{className:`browser-viewer__bar`,...S,children:[(0,V.jsx)(D,{className:`browser-viewer__icon`}),(0,V.jsx)(`span`,{className:`browser-viewer__title`,children:p}),(0,V.jsxs)(`div`,{className:`browser-viewer__actions`,children:[(0,V.jsx)(`span`,{className:`browser-viewer__popout-label`,children:`Popped out`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Ze,onClick:v,"aria-label":`Pop back in`})]})]})}):l?(0,V.jsxs)(`div`,{className:`browser-viewer browser-viewer--minimised`,onClick:y,role:`button`,tabIndex:0,onKeyDown:e=>e.key===`Enter`&&y(),children:[(0,V.jsxs)(`div`,{className:`browser-viewer__bar`,...S,children:[(0,V.jsx)(D,{className:`browser-viewer__icon`}),(0,V.jsx)(`span`,{className:`browser-viewer__title`,children:p}),(0,V.jsxs)(`div`,{className:`browser-viewer__actions`,onClick:e=>e.stopPropagation(),children:[(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Ee,onClick:h,"aria-label":`Pop out`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Be,onClick:b,"aria-label":`Full screen`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:qe,onClick:y,"aria-label":`Expand`})]})]}),(0,V.jsx)(`iframe`,{src:C,className:`browser-viewer__iframe`,title:p,"aria-hidden":`true`})]}):(0,V.jsxs)(`div`,{className:`browser-viewer`,children:[(0,V.jsxs)(`div`,{className:`browser-viewer__bar`,...S,children:[(0,V.jsx)(D,{className:`browser-viewer__icon`}),i&&(0,V.jsx)(`span`,{className:`browser-viewer__title`,children:i}),(0,V.jsxs)(`div`,{className:`browser-viewer__actions`,children:[(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Ee,onClick:h,"aria-label":`Pop out`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Be,onClick:b,"aria-label":`Full screen`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:We,onClick:g,"aria-label":`Minimise`})]})]}),(0,V.jsx)(`iframe`,{src:C,className:`browser-viewer__iframe`,title:p})]})}var Rt=t((e=>{var t=n();function r(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var i=typeof Object.is==`function`?Object.is:r,a=t.useState,o=t.useEffect,s=t.useLayoutEffect,c=t.useDebugValue;function l(e,t){var n=t(),r=a({inst:{value:n,getSnapshot:t}}),i=r[0].inst,l=r[1];return s(function(){i.value=n,i.getSnapshot=t,u(i)&&l({inst:i})},[e,n,t]),o(function(){return u(i)&&l({inst:i}),e(function(){u(i)&&l({inst:i})})},[e]),c(n),n}function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!i(e,n)}catch{return!0}}function d(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?d:l;e.useSyncExternalStore=t.useSyncExternalStore===void 0?f:t.useSyncExternalStore})),zt=t(((e,t)=>{t.exports=Rt()})),Bt=zt(),Vt=e(r(),1);function Ht(e){this.content=e}Ht.prototype={constructor:Ht,find:function(e){for(var t=0;t<this.content.length;t+=2)if(this.content[t]===e)return t;return-1},get:function(e){var t=this.find(e);return t==-1?void 0:this.content[t+1]},update:function(e,t,n){var r=n&&n!=e?this.remove(n):this,i=r.find(e),a=r.content.slice();return i==-1?a.push(n||e,t):(a[i+1]=t,n&&(a[i]=n)),new Ht(a)},remove:function(e){var t=this.find(e);if(t==-1)return this;var n=this.content.slice();return n.splice(t,2),new Ht(n)},addToStart:function(e,t){return new Ht([e,t].concat(this.remove(e).content))},addToEnd:function(e,t){var n=this.remove(e).content.slice();return n.push(e,t),new Ht(n)},addBefore:function(e,t,n){var r=this.remove(t),i=r.content.slice(),a=r.find(e);return i.splice(a==-1?i.length:a,0,t,n),new Ht(i)},forEach:function(e){for(var t=0;t<this.content.length;t+=2)e(this.content[t],this.content[t+1])},prepend:function(e){return e=Ht.from(e),e.size?new Ht(e.content.concat(this.subtract(e).content)):this},append:function(e){return e=Ht.from(e),e.size?new Ht(this.subtract(e).content.concat(e.content)):this},subtract:function(e){var t=this;e=Ht.from(e);for(var n=0;n<e.content.length;n+=2)t=t.remove(e.content[n]);return t},toObject:function(){var e={};return this.forEach(function(t,n){e[t]=n}),e},get size(){return this.content.length>>1}},Ht.from=function(e){if(e instanceof Ht)return e;var t=[];if(e)for(var n in e)t.push(n,e[n]);return new Ht(t)};function Ut(e,t,n){for(let r=0;;r++){if(r==e.childCount||r==t.childCount)return e.childCount==t.childCount?null:n;let i=e.child(r),a=t.child(r);if(i==a){n+=i.nodeSize;continue}if(!i.sameMarkup(a))return n;if(i.isText&&i.text!=a.text){for(let e=0;i.text[e]==a.text[e];e++)n++;return n}if(i.content.size||a.content.size){let e=Ut(i.content,a.content,n+1);if(e!=null)return e}n+=i.nodeSize}}function Wt(e,t,n,r){for(let i=e.childCount,a=t.childCount;;){if(i==0||a==0)return i==a?null:{a:n,b:r};let o=e.child(--i),s=t.child(--a),c=o.nodeSize;if(o==s){n-=c,r-=c;continue}if(!o.sameMarkup(s))return{a:n,b:r};if(o.isText&&o.text!=s.text){let e=0,t=Math.min(o.text.length,s.text.length);for(;e<t&&o.text[o.text.length-e-1]==s.text[s.text.length-e-1];)e++,n--,r--;return{a:n,b:r}}if(o.content.size||s.content.size){let e=Wt(o.content,s.content,n-1,r-1);if(e)return e}n-=c,r-=c}}var H=class e{constructor(e,t){if(this.content=e,this.size=t||0,t==null)for(let t=0;t<e.length;t++)this.size+=e[t].nodeSize}nodesBetween(e,t,n,r=0,i){for(let a=0,o=0;o<t;a++){let s=this.content[a],c=o+s.nodeSize;if(c>e&&n(s,r+o,i||null,a)!==!1&&s.content.size){let i=o+1;s.nodesBetween(Math.max(0,e-i),Math.min(s.content.size,t-i),n,r+i)}o=c}}descendants(e){this.nodesBetween(0,this.size,e)}textBetween(e,t,n,r){let i=``,a=!0;return this.nodesBetween(e,t,(o,s)=>{let c=o.isText?o.text.slice(Math.max(e,s)-s,t-s):o.isLeaf?r?typeof r==`function`?r(o):r:o.type.spec.leafText?o.type.spec.leafText(o):``:``;o.isBlock&&(o.isLeaf&&c||o.isTextblock)&&n&&(a?a=!1:i+=n),i+=c},0),i}append(t){if(!t.size)return this;if(!this.size)return t;let n=this.lastChild,r=t.firstChild,i=this.content.slice(),a=0;for(n.isText&&n.sameMarkup(r)&&(i[i.length-1]=n.withText(n.text+r.text),a=1);a<t.content.length;a++)i.push(t.content[a]);return new e(i,this.size+t.size)}cut(t,n=this.size){if(t==0&&n==this.size)return this;let r=[],i=0;if(n>t)for(let e=0,a=0;a<n;e++){let o=this.content[e],s=a+o.nodeSize;s>t&&((a<t||s>n)&&(o=o.isText?o.cut(Math.max(0,t-a),Math.min(o.text.length,n-a)):o.cut(Math.max(0,t-a-1),Math.min(o.content.size,n-a-1))),r.push(o),i+=o.nodeSize),a=s}return new e(r,i)}cutByIndex(t,n){return t==n?e.empty:t==0&&n==this.content.length?this:new e(this.content.slice(t,n))}replaceChild(t,n){let r=this.content[t];if(r==n)return this;let i=this.content.slice(),a=this.size+n.nodeSize-r.nodeSize;return i[t]=n,new e(i,a)}addToStart(t){return new e([t].concat(this.content),this.size+t.nodeSize)}addToEnd(t){return new e(this.content.concat(t),this.size+t.nodeSize)}eq(e){if(this.content.length!=e.content.length)return!1;for(let t=0;t<this.content.length;t++)if(!this.content[t].eq(e.content[t]))return!1;return!0}get firstChild(){return this.content.length?this.content[0]:null}get lastChild(){return this.content.length?this.content[this.content.length-1]:null}get childCount(){return this.content.length}child(e){let t=this.content[e];if(!t)throw RangeError(`Index `+e+` out of range for `+this);return t}maybeChild(e){return this.content[e]||null}forEach(e){for(let t=0,n=0;t<this.content.length;t++){let r=this.content[t];e(r,n,t),n+=r.nodeSize}}findDiffStart(e,t=0){return Ut(this,e,t)}findDiffEnd(e,t=this.size,n=e.size){return Wt(this,e,t,n)}findIndex(e){if(e==0)return Kt(0,e);if(e==this.size)return Kt(this.content.length,e);if(e>this.size||e<0)throw RangeError(`Position ${e} outside of fragment (${this})`);for(let t=0,n=0;;t++){let r=this.child(t),i=n+r.nodeSize;if(i>=e)return i==e?Kt(t+1,i):Kt(t,n);n=i}}toString(){return`<`+this.toStringInner()+`>`}toStringInner(){return this.content.join(`, `)}toJSON(){return this.content.length?this.content.map(e=>e.toJSON()):null}static fromJSON(t,n){if(!n)return e.empty;if(!Array.isArray(n))throw RangeError(`Invalid input for Fragment.fromJSON`);return new e(n.map(t.nodeFromJSON))}static fromArray(t){if(!t.length)return e.empty;let n,r=0;for(let e=0;e<t.length;e++){let i=t[e];r+=i.nodeSize,e&&i.isText&&t[e-1].sameMarkup(i)?(n||=t.slice(0,e),n[n.length-1]=i.withText(n[n.length-1].text+i.text)):n&&n.push(i)}return new e(n||t,r)}static from(t){if(!t)return e.empty;if(t instanceof e)return t;if(Array.isArray(t))return this.fromArray(t);if(t.attrs)return new e([t],t.nodeSize);throw RangeError(`Can not convert `+t+` to a Fragment`+(t.nodesBetween?` (looks like multiple versions of prosemirror-model were loaded)`:``))}};H.empty=new H([],0);var Gt={index:0,offset:0};function Kt(e,t){return Gt.index=e,Gt.offset=t,Gt}function qt(e,t){if(e===t)return!0;if(!(e&&typeof e==`object`)||!(t&&typeof t==`object`))return!1;let n=Array.isArray(e);if(Array.isArray(t)!=n)return!1;if(n){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!qt(e[n],t[n]))return!1}else{for(let n in e)if(!(n in t)||!qt(e[n],t[n]))return!1;for(let n in t)if(!(n in e))return!1}return!0}var U=class e{constructor(e,t){this.type=e,this.attrs=t}addToSet(e){let t,n=!1;for(let r=0;r<e.length;r++){let i=e[r];if(this.eq(i))return e;if(this.type.excludes(i.type))t||=e.slice(0,r);else if(i.type.excludes(this.type))return e;else !n&&i.type.rank>this.type.rank&&(t||=e.slice(0,r),t.push(this),n=!0),t&&t.push(i)}return t||=e.slice(),n||t.push(this),t}removeFromSet(e){for(let t=0;t<e.length;t++)if(this.eq(e[t]))return e.slice(0,t).concat(e.slice(t+1));return e}isInSet(e){for(let t=0;t<e.length;t++)if(this.eq(e[t]))return!0;return!1}eq(e){return this==e||this.type==e.type&&qt(this.attrs,e.attrs)}toJSON(){let e={type:this.type.name};for(let t in this.attrs){e.attrs=this.attrs;break}return e}static fromJSON(e,t){if(!t)throw RangeError(`Invalid input for Mark.fromJSON`);let n=e.marks[t.type];if(!n)throw RangeError(`There is no mark type ${t.type} in this schema`);let r=n.create(t.attrs);return n.checkAttrs(r.attrs),r}static sameSet(e,t){if(e==t)return!0;if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].eq(t[n]))return!1;return!0}static setFrom(t){if(!t||Array.isArray(t)&&t.length==0)return e.none;if(t instanceof e)return[t];let n=t.slice();return n.sort((e,t)=>e.type.rank-t.type.rank),n}};U.none=[];var Jt=class extends Error{},W=class e{constructor(e,t,n){this.content=e,this.openStart=t,this.openEnd=n}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(t,n){let r=Xt(this.content,t+this.openStart,n);return r&&new e(r,this.openStart,this.openEnd)}removeBetween(t,n){return new e(Yt(this.content,t+this.openStart,n+this.openStart),this.openStart,this.openEnd)}eq(e){return this.content.eq(e.content)&&this.openStart==e.openStart&&this.openEnd==e.openEnd}toString(){return this.content+`(`+this.openStart+`,`+this.openEnd+`)`}toJSON(){if(!this.content.size)return null;let e={content:this.content.toJSON()};return this.openStart>0&&(e.openStart=this.openStart),this.openEnd>0&&(e.openEnd=this.openEnd),e}static fromJSON(t,n){if(!n)return e.empty;let r=n.openStart||0,i=n.openEnd||0;if(typeof r!=`number`||typeof i!=`number`)throw RangeError(`Invalid input for Slice.fromJSON`);return new e(H.fromJSON(t,n.content),r,i)}static maxOpen(t,n=!0){let r=0,i=0;for(let e=t.firstChild;e&&!e.isLeaf&&(n||!e.type.spec.isolating);e=e.firstChild)r++;for(let e=t.lastChild;e&&!e.isLeaf&&(n||!e.type.spec.isolating);e=e.lastChild)i++;return new e(t,r,i)}};W.empty=new W(H.empty,0,0);function Yt(e,t,n){let{index:r,offset:i}=e.findIndex(t),a=e.maybeChild(r),{index:o,offset:s}=e.findIndex(n);if(i==t||a.isText){if(s!=n&&!e.child(o).isText)throw RangeError(`Removing non-flat range`);return e.cut(0,t).append(e.cut(n))}if(r!=o)throw RangeError(`Removing non-flat range`);return e.replaceChild(r,a.copy(Yt(a.content,t-i-1,n-i-1)))}function Xt(e,t,n,r){let{index:i,offset:a}=e.findIndex(t),o=e.maybeChild(i);if(a==t||o.isText)return r&&!r.canReplace(i,i,n)?null:e.cut(0,t).append(n).append(e.cut(t));let s=Xt(o.content,t-a-1,n,o);return s&&e.replaceChild(i,o.copy(s))}function Zt(e,t,n){if(n.openStart>e.depth)throw new Jt(`Inserted content deeper than insertion position`);if(e.depth-n.openStart!=t.depth-n.openEnd)throw new Jt(`Inconsistent open depths`);return Qt(e,t,n,0)}function Qt(e,t,n,r){let i=e.index(r),a=e.node(r);if(i==t.index(r)&&r<e.depth-n.openStart){let o=Qt(e,t,n,r+1);return a.copy(a.content.replaceChild(i,o))}else if(!n.content.size)return rn(a,on(e,t,r));else if(!n.openStart&&!n.openEnd&&e.depth==r&&t.depth==r){let r=e.parent,i=r.content;return rn(r,i.cut(0,e.parentOffset).append(n.content).append(i.cut(t.parentOffset)))}else{let{start:i,end:o}=sn(n,e);return rn(a,an(e,i,o,t,r))}}function $t(e,t){if(!t.type.compatibleContent(e.type))throw new Jt(`Cannot join `+t.type.name+` onto `+e.type.name)}function en(e,t,n){let r=e.node(n);return $t(r,t.node(n)),r}function tn(e,t){let n=t.length-1;n>=0&&e.isText&&e.sameMarkup(t[n])?t[n]=e.withText(t[n].text+e.text):t.push(e)}function nn(e,t,n,r){let i=(t||e).node(n),a=0,o=t?t.index(n):i.childCount;e&&(a=e.index(n),e.depth>n?a++:e.textOffset&&(tn(e.nodeAfter,r),a++));for(let e=a;e<o;e++)tn(i.child(e),r);t&&t.depth==n&&t.textOffset&&tn(t.nodeBefore,r)}function rn(e,t){return e.type.checkContent(t),e.copy(t)}function an(e,t,n,r,i){let a=e.depth>i&&en(e,t,i+1),o=r.depth>i&&en(n,r,i+1),s=[];return nn(null,e,i,s),a&&o&&t.index(i)==n.index(i)?($t(a,o),tn(rn(a,an(e,t,n,r,i+1)),s)):(a&&tn(rn(a,on(e,t,i+1)),s),nn(t,n,i,s),o&&tn(rn(o,on(n,r,i+1)),s)),nn(r,null,i,s),new H(s)}function on(e,t,n){let r=[];return nn(null,e,n,r),e.depth>n&&tn(rn(en(e,t,n+1),on(e,t,n+1)),r),nn(t,null,n,r),new H(r)}function sn(e,t){let n=t.depth-e.openStart,r=t.node(n).copy(e.content);for(let e=n-1;e>=0;e--)r=t.node(e).copy(H.from(r));return{start:r.resolveNoCache(e.openStart+n),end:r.resolveNoCache(r.content.size-e.openEnd-n)}}var cn=class e{constructor(e,t,n){this.pos=e,this.path=t,this.parentOffset=n,this.depth=t.length/3-1}resolveDepth(e){return e==null?this.depth:e<0?this.depth+e:e}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(e){return this.path[this.resolveDepth(e)*3]}index(e){return this.path[this.resolveDepth(e)*3+1]}indexAfter(e){return e=this.resolveDepth(e),this.index(e)+(e==this.depth&&!this.textOffset?0:1)}start(e){return e=this.resolveDepth(e),e==0?0:this.path[e*3-1]+1}end(e){return e=this.resolveDepth(e),this.start(e)+this.node(e).content.size}before(e){if(e=this.resolveDepth(e),!e)throw RangeError(`There is no position before the top-level node`);return e==this.depth+1?this.pos:this.path[e*3-1]}after(e){if(e=this.resolveDepth(e),!e)throw RangeError(`There is no position after the top-level node`);return e==this.depth+1?this.pos:this.path[e*3-1]+this.path[e*3].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let e=this.parent,t=this.index(this.depth);if(t==e.childCount)return null;let n=this.pos-this.path[this.path.length-1],r=e.child(t);return n?e.child(t).cut(n):r}get nodeBefore(){let e=this.index(this.depth),t=this.pos-this.path[this.path.length-1];return t?this.parent.child(e).cut(0,t):e==0?null:this.parent.child(e-1)}posAtIndex(e,t){t=this.resolveDepth(t);let n=this.path[t*3],r=t==0?0:this.path[t*3-1]+1;for(let t=0;t<e;t++)r+=n.child(t).nodeSize;return r}marks(){let e=this.parent,t=this.index();if(e.content.size==0)return U.none;if(this.textOffset)return e.child(t).marks;let n=e.maybeChild(t-1),r=e.maybeChild(t);if(!n){let e=n;n=r,r=e}let i=n.marks;for(var a=0;a<i.length;a++)i[a].type.spec.inclusive===!1&&(!r||!i[a].isInSet(r.marks))&&(i=i[a--].removeFromSet(i));return i}marksAcross(e){let t=this.parent.maybeChild(this.index());if(!t||!t.isInline)return null;let n=t.marks,r=e.parent.maybeChild(e.index());for(var i=0;i<n.length;i++)n[i].type.spec.inclusive===!1&&(!r||!n[i].isInSet(r.marks))&&(n=n[i--].removeFromSet(n));return n}sharedDepth(e){for(let t=this.depth;t>0;t--)if(this.start(t)<=e&&this.end(t)>=e)return t;return 0}blockRange(e=this,t){if(e.pos<this.pos)return e.blockRange(this);for(let n=this.depth-(this.parent.inlineContent||this.pos==e.pos?1:0);n>=0;n--)if(e.pos<=this.end(n)&&(!t||t(this.node(n))))return new fn(this,e,n);return null}sameParent(e){return this.pos-this.parentOffset==e.pos-e.parentOffset}max(e){return e.pos>this.pos?e:this}min(e){return e.pos<this.pos?e:this}toString(){let e=``;for(let t=1;t<=this.depth;t++)e+=(e?`/`:``)+this.node(t).type.name+`_`+this.index(t-1);return e+`:`+this.parentOffset}static resolve(t,n){if(!(n>=0&&n<=t.content.size))throw RangeError(`Position `+n+` out of range`);let r=[],i=0,a=n;for(let e=t;;){let{index:t,offset:n}=e.content.findIndex(a),o=a-n;if(r.push(e,t,i+n),!o||(e=e.child(t),e.isText))break;a=o-1,i+=n+1}return new e(n,r,a)}static resolveCached(t,n){let r=dn.get(t);if(r)for(let e=0;e<r.elts.length;e++){let t=r.elts[e];if(t.pos==n)return t}else dn.set(t,r=new ln);let i=r.elts[r.i]=e.resolve(t,n);return r.i=(r.i+1)%un,i}},ln=class{constructor(){this.elts=[],this.i=0}},un=12,dn=new WeakMap,fn=class{constructor(e,t,n){this.$from=e,this.$to=t,this.depth=n}get start(){return this.$from.before(this.depth+1)}get end(){return this.$to.after(this.depth+1)}get parent(){return this.$from.node(this.depth)}get startIndex(){return this.$from.index(this.depth)}get endIndex(){return this.$to.indexAfter(this.depth)}},pn=Object.create(null),mn=class e{constructor(e,t,n,r=U.none){this.type=e,this.attrs=t,this.marks=r,this.content=n||H.empty}get children(){return this.content.content}get nodeSize(){return this.isLeaf?1:2+this.content.size}get childCount(){return this.content.childCount}child(e){return this.content.child(e)}maybeChild(e){return this.content.maybeChild(e)}forEach(e){this.content.forEach(e)}nodesBetween(e,t,n,r=0){this.content.nodesBetween(e,t,n,r,this)}descendants(e){this.nodesBetween(0,this.content.size,e)}get textContent(){return this.isLeaf&&this.type.spec.leafText?this.type.spec.leafText(this):this.textBetween(0,this.content.size,``)}textBetween(e,t,n,r){return this.content.textBetween(e,t,n,r)}get firstChild(){return this.content.firstChild}get lastChild(){return this.content.lastChild}eq(e){return this==e||this.sameMarkup(e)&&this.content.eq(e.content)}sameMarkup(e){return this.hasMarkup(e.type,e.attrs,e.marks)}hasMarkup(e,t,n){return this.type==e&&qt(this.attrs,t||e.defaultAttrs||pn)&&U.sameSet(this.marks,n||U.none)}copy(t=null){return t==this.content?this:new e(this.type,this.attrs,t,this.marks)}mark(t){return t==this.marks?this:new e(this.type,this.attrs,this.content,t)}cut(e,t=this.content.size){return e==0&&t==this.content.size?this:this.copy(this.content.cut(e,t))}slice(e,t=this.content.size,n=!1){if(e==t)return W.empty;let r=this.resolve(e),i=this.resolve(t),a=n?0:r.sharedDepth(t),o=r.start(a);return new W(r.node(a).content.cut(r.pos-o,i.pos-o),r.depth-a,i.depth-a)}replace(e,t,n){return Zt(this.resolve(e),this.resolve(t),n)}nodeAt(e){for(let t=this;;){let{index:n,offset:r}=t.content.findIndex(e);if(t=t.maybeChild(n),!t)return null;if(r==e||t.isText)return t;e-=r+1}}childAfter(e){let{index:t,offset:n}=this.content.findIndex(e);return{node:this.content.maybeChild(t),index:t,offset:n}}childBefore(e){if(e==0)return{node:null,index:0,offset:0};let{index:t,offset:n}=this.content.findIndex(e);if(n<e)return{node:this.content.child(t),index:t,offset:n};let r=this.content.child(t-1);return{node:r,index:t-1,offset:n-r.nodeSize}}resolve(e){return cn.resolveCached(this,e)}resolveNoCache(e){return cn.resolve(this,e)}rangeHasMark(e,t,n){let r=!1;return t>e&&this.nodesBetween(e,t,e=>(n.isInSet(e.marks)&&(r=!0),!r)),r}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let e=this.type.name;return this.content.size&&(e+=`(`+this.content.toStringInner()+`)`),gn(this.marks,e)}contentMatchAt(e){let t=this.type.contentMatch.matchFragment(this.content,0,e);if(!t)throw Error(`Called contentMatchAt on a node with invalid content`);return t}canReplace(e,t,n=H.empty,r=0,i=n.childCount){let a=this.contentMatchAt(e).matchFragment(n,r,i),o=a&&a.matchFragment(this.content,t);if(!o||!o.validEnd)return!1;for(let e=r;e<i;e++)if(!this.type.allowsMarks(n.child(e).marks))return!1;return!0}canReplaceWith(e,t,n,r){if(r&&!this.type.allowsMarks(r))return!1;let i=this.contentMatchAt(e).matchType(n),a=i&&i.matchFragment(this.content,t);return a?a.validEnd:!1}canAppend(e){return e.content.size?this.canReplace(this.childCount,this.childCount,e.content):this.type.compatibleContent(e.type)}check(){this.type.checkContent(this.content),this.type.checkAttrs(this.attrs);let e=U.none;for(let t=0;t<this.marks.length;t++){let n=this.marks[t];n.type.checkAttrs(n.attrs),e=n.addToSet(e)}if(!U.sameSet(e,this.marks))throw RangeError(`Invalid collection of marks for node ${this.type.name}: ${this.marks.map(e=>e.type.name)}`);this.content.forEach(e=>e.check())}toJSON(){let e={type:this.type.name};for(let t in this.attrs){e.attrs=this.attrs;break}return this.content.size&&(e.content=this.content.toJSON()),this.marks.length&&(e.marks=this.marks.map(e=>e.toJSON())),e}static fromJSON(e,t){if(!t)throw RangeError(`Invalid input for Node.fromJSON`);let n;if(t.marks){if(!Array.isArray(t.marks))throw RangeError(`Invalid mark data for Node.fromJSON`);n=t.marks.map(e.markFromJSON)}if(t.type==`text`){if(typeof t.text!=`string`)throw RangeError(`Invalid text node in JSON`);return e.text(t.text,n)}let r=H.fromJSON(e,t.content),i=e.nodeType(t.type).create(t.attrs,r,n);return i.type.checkAttrs(i.attrs),i}};mn.prototype.text=void 0;var hn=class e extends mn{constructor(e,t,n,r){if(super(e,t,null,r),!n)throw RangeError(`Empty text nodes are not allowed`);this.text=n}toString(){return this.type.spec.toDebugString?this.type.spec.toDebugString(this):gn(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(e,t){return this.text.slice(e,t)}get nodeSize(){return this.text.length}mark(t){return t==this.marks?this:new e(this.type,this.attrs,this.text,t)}withText(t){return t==this.text?this:new e(this.type,this.attrs,t,this.marks)}cut(e=0,t=this.text.length){return e==0&&t==this.text.length?this:this.withText(this.text.slice(e,t))}eq(e){return this.sameMarkup(e)&&this.text==e.text}toJSON(){let e=super.toJSON();return e.text=this.text,e}};function gn(e,t){for(let n=e.length-1;n>=0;n--)t=e[n].type.name+`(`+t+`)`;return t}var _n=class e{constructor(e){this.validEnd=e,this.next=[],this.wrapCache=[]}static parse(t,n){let r=new vn(t,n);if(r.next==null)return e.empty;let i=yn(r);r.next&&r.err(`Unexpected trailing text`);let a=kn(En(i));return An(a,r),a}matchType(e){for(let t=0;t<this.next.length;t++)if(this.next[t].type==e)return this.next[t].next;return null}matchFragment(e,t=0,n=e.childCount){let r=this;for(let i=t;r&&i<n;i++)r=r.matchType(e.child(i).type);return r}get inlineContent(){return this.next.length!=0&&this.next[0].type.isInline}get defaultType(){for(let e=0;e<this.next.length;e++){let{type:t}=this.next[e];if(!(t.isText||t.hasRequiredAttrs()))return t}return null}compatible(e){for(let t=0;t<this.next.length;t++)for(let n=0;n<e.next.length;n++)if(this.next[t].type==e.next[n].type)return!0;return!1}fillBefore(e,t=!1,n=0){let r=[this];function i(a,o){let s=a.matchFragment(e,n);if(s&&(!t||s.validEnd))return H.from(o.map(e=>e.createAndFill()));for(let e=0;e<a.next.length;e++){let{type:t,next:n}=a.next[e];if(!(t.isText||t.hasRequiredAttrs())&&r.indexOf(n)==-1){r.push(n);let e=i(n,o.concat(t));if(e)return e}}return null}return i(this,[])}findWrapping(e){for(let t=0;t<this.wrapCache.length;t+=2)if(this.wrapCache[t]==e)return this.wrapCache[t+1];let t=this.computeWrapping(e);return this.wrapCache.push(e,t),t}computeWrapping(e){let t=Object.create(null),n=[{match:this,type:null,via:null}];for(;n.length;){let r=n.shift(),i=r.match;if(i.matchType(e)){let e=[];for(let t=r;t.type;t=t.via)e.push(t.type);return e.reverse()}for(let e=0;e<i.next.length;e++){let{type:a,next:o}=i.next[e];!a.isLeaf&&!a.hasRequiredAttrs()&&!(a.name in t)&&(!r.type||o.validEnd)&&(n.push({match:a.contentMatch,type:a,via:r}),t[a.name]=!0)}}return null}get edgeCount(){return this.next.length}edge(e){if(e>=this.next.length)throw RangeError(`There's no ${e}th edge in this content match`);return this.next[e]}toString(){let e=[];function t(n){e.push(n);for(let r=0;r<n.next.length;r++)e.indexOf(n.next[r].next)==-1&&t(n.next[r].next)}return t(this),e.map((t,n)=>{let r=n+(t.validEnd?`*`:` `)+` `;for(let n=0;n<t.next.length;n++)r+=(n?`, `:``)+t.next[n].type.name+`->`+e.indexOf(t.next[n].next);return r}).join(`
|
|
1
|
+
import{o as e,t}from"./chunk-DD-I1_y5.js";import{a as n,i as r,n as i,o as a,r as o,t as s}from"./jsx-runtime-BE1CBORz.js";import{A as c,C as l,D as u,E as d,M as f,N as p,O as m,P as h,S as g,T as _,_ as v,a as y,b,c as x,d as S,f as C,g as w,h as T,i as E,j as D,k as O,l as k,m as A,n as j,o as M,p as N,r as P,s as ee,t as F,u as te,w as I,x as ne,y as re}from"./useVoiceRecorder-PUde6itK.js";import{a as ie,i as L,n as ae,o as oe,r as se,t as ce}from"./share-2-6hJtFYgM.js";import{n as le,t as ue}from"./file-J1JpJF4E.js";import{t as de}from"./x-DmqRGGHj.js";var fe=o(`archive`,[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`,key:`1s80jp`}],[`path`,{d:`M10 12h4`,key:`a56b0p`}]]),pe=o(`asterisk`,[[`path`,{d:`M12 6v12`,key:`1vza4d`}],[`path`,{d:`M17.196 9 6.804 15`,key:`1ah31z`}],[`path`,{d:`m6.804 9 10.392 6`,key:`1b6pxd`}]]),me=o(`bold`,[[`path`,{d:`M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8`,key:`mg9rjx`}]]),he=o(`bot-off`,[[`path`,{d:`M13.67 8H18a2 2 0 0 1 2 2v4.33`,key:`7az073`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M22 22 2 2`,key:`1r8tn9`}],[`path`,{d:`M8 8H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 1.414-.586`,key:`s09a7a`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}],[`path`,{d:`M9.67 4H12v2.33`,key:`110xot`}]]),ge=o(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),_e=o(`calendar-days`,[[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`,key:`1hopcy`}],[`path`,{d:`M3 10h18`,key:`8toen8`}],[`path`,{d:`M8 14h.01`,key:`6423bh`}],[`path`,{d:`M12 14h.01`,key:`1etili`}],[`path`,{d:`M16 14h.01`,key:`1gbofw`}],[`path`,{d:`M8 18h.01`,key:`lrp35t`}],[`path`,{d:`M12 18h.01`,key:`mhygvu`}],[`path`,{d:`M16 18h.01`,key:`kzsmim`}]]),R=o(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),ve=o(`circle-check-big`,[[`path`,{d:`M21.801 10A10 10 0 1 1 17 3.335`,key:`yps3ct`}],[`path`,{d:`m9 11 3 3L22 4`,key:`1pflzl`}]]),z=o(`circle-plus`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}],[`path`,{d:`M12 8v8`,key:`napkw2`}]]),ye=o(`clipboard-list`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}],[`path`,{d:`M12 11h4`,key:`1jrz19`}],[`path`,{d:`M12 16h4`,key:`n85exb`}],[`path`,{d:`M8 11h.01`,key:`1dfujw`}],[`path`,{d:`M8 16h.01`,key:`18s6g9`}]]),be=o(`clipboard-plus`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}],[`path`,{d:`M9 14h6`,key:`159ibu`}],[`path`,{d:`M12 17v-6`,key:`1y8rbf`}]]),xe=o(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]),Se=o(`code-xml`,[[`path`,{d:`m18 16 4-4-4-4`,key:`1inbqp`}],[`path`,{d:`m6 8-4 4 4 4`,key:`15zrgr`}],[`path`,{d:`m14.5 4-5 16`,key:`e7oirm`}]]),Ce=o(`database-zap`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 15 21.84`,key:`14ibmq`}],[`path`,{d:`M21 5V8`,key:`1marbg`}],[`path`,{d:`M21 12L18 17H22L19 22`,key:`zafso`}],[`path`,{d:`M3 12A9 3 0 0 0 14.59 14.87`,key:`1y4wr8`}]]),we=o(`database-search`,[[`path`,{d:`M21 11.693V5`,key:`175m1t`}],[`path`,{d:`m22 22-1.875-1.875`,key:`13zax7`}],[`path`,{d:`M3 12a9 3 0 0 0 8.697 2.998`,key:`151u9p`}],[`path`,{d:`M3 5v14a9 3 0 0 0 9.28 2.999`,key:`q2rs2p`}],[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}]]),Te=o(`dot`,[[`circle`,{cx:`12.1`,cy:`12.1`,r:`1`,key:`18d7e5`}]]),Ee=o(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),De=o(`file-down`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M12 18v-6`,key:`17g6i2`}],[`path`,{d:`m9 15 3 3 3-3`,key:`1npd3o`}]]),Oe=o(`file-image`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`circle`,{cx:`10`,cy:`12`,r:`2`,key:`737tya`}],[`path`,{d:`m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22`,key:`wt3hpn`}]]),ke=o(`file-pen-line`,[[`path`,{d:`m18.226 5.226-2.52-2.52A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-.351`,key:`1k2beg`}],[`path`,{d:`M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`,key:`2t3380`}],[`path`,{d:`M8 18h1`,key:`13wk12`}]]),Ae=o(`file-plus-corner`,[[`path`,{d:`M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35`,key:`17jvcc`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M14 19h6`,key:`bvotb8`}],[`path`,{d:`M17 16v6`,key:`18yu1i`}]]),je=o(`git-branch`,[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`,key:`1cii5b`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}]]),Me=o(`image`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}]]),Ne=o(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),Pe=o(`italic`,[[`line`,{x1:`19`,x2:`10`,y1:`4`,y2:`4`,key:`15jd3p`}],[`line`,{x1:`14`,x2:`5`,y1:`20`,y2:`20`,key:`bu0au3`}],[`line`,{x1:`15`,x2:`9`,y1:`4`,y2:`20`,key:`uljnxc`}]]),Fe=o(`lightbulb-off`,[[`path`,{d:`M16.8 11.2c.8-.9 1.2-2 1.2-3.2a6 6 0 0 0-9.3-5`,key:`1fkcox`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M6.3 6.3a4.67 4.67 0 0 0 1.2 5.2c.7.7 1.3 1.5 1.5 2.5`,key:`10m8kw`}],[`path`,{d:`M9 18h6`,key:`x1upvd`}],[`path`,{d:`M10 22h4`,key:`ceow96`}]]),Ie=o(`lightbulb`,[[`path`,{d:`M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5`,key:`1gvzjb`}],[`path`,{d:`M9 18h6`,key:`x1upvd`}],[`path`,{d:`M10 22h4`,key:`ceow96`}]]),Le=o(`link-2`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]),Re=o(`list`,[[`path`,{d:`M3 5h.01`,key:`18ugdj`}],[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M3 19h.01`,key:`noohij`}],[`path`,{d:`M8 5h13`,key:`1pao27`}],[`path`,{d:`M8 12h13`,key:`1za7za`}],[`path`,{d:`M8 19h13`,key:`m83p4d`}]]),ze=o(`loader`,[[`path`,{d:`M12 2v4`,key:`3427ic`}],[`path`,{d:`m16.2 7.8 2.9-2.9`,key:`r700ao`}],[`path`,{d:`M18 12h4`,key:`wj9ykh`}],[`path`,{d:`m16.2 16.2 2.9 2.9`,key:`1bxg5t`}],[`path`,{d:`M12 18v4`,key:`jadmvz`}],[`path`,{d:`m4.9 19.1 2.9-2.9`,key:`bwix9q`}],[`path`,{d:`M2 12h4`,key:`j09sii`}],[`path`,{d:`m4.9 4.9 2.9 2.9`,key:`giyufr`}]]),Be=o(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),Ve=o(`message-square-plus`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M12 8v6`,key:`1ib9pf`}],[`path`,{d:`M9 11h6`,key:`1fldmi`}]]),He=o(`messages-square`,[[`path`,{d:`M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z`,key:`1n2ejm`}],[`path`,{d:`M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1`,key:`1qfcsi`}]]),Ue=o(`minimize-2`,[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]),We=o(`minus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]),Ge=o(`monitor-smartphone`,[[`path`,{d:`M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8`,key:`10dyio`}],[`path`,{d:`M10 19v-3.96 3.15`,key:`1irgej`}],[`path`,{d:`M7 19h5`,key:`qswx4l`}],[`rect`,{width:`6`,height:`10`,x:`16`,y:`12`,rx:`2`,key:`1egngj`}]]),Ke=o(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),qe=o(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),Je=o(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),Ye=o(`scroll-text`,[[`path`,{d:`M15 12h-5`,key:`r7krc0`}],[`path`,{d:`M15 8h-5`,key:`1khuty`}],[`path`,{d:`M19 17V5a2 2 0 0 0-2-2H4`,key:`zz82l3`}],[`path`,{d:`M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3`,key:`1ph1d7`}]]),Xe=o(`sparkle`,[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`,key:`1s2grr`}]]),Ze=o(`square-arrow-down-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`m16 8-8 8`,key:`166keh`}],[`path`,{d:`M16 16H8V8`,key:`1w2ppm`}]]),Qe=o(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),$e=o(`star`,[[`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,key:`r04s7s`}]]),et=o(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),tt=o(`user-plus`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}],[`line`,{x1:`19`,x2:`19`,y1:`8`,y2:`14`,key:`1bvyxn`}],[`line`,{x1:`22`,x2:`16`,y1:`11`,y2:`11`,key:`1shjgl`}]]),nt=o(`wrench`,[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`,key:`1ngwbx`}]]),rt=o(`zap`,[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`,key:`1xq2db`}]]),it=r(),B=e(a(),1);function at(){(0,B.useEffect)(()=>{function e(e){e.data?.type===`vnc-clipboard`&&typeof e.data.text==`string`&&g(e.data.text)}window.addEventListener(`message`,e);let t=null;return typeof BroadcastChannel<`u`&&(t=new BroadcastChannel(`maxy-vnc-clipboard`),t.onmessage=e=>{typeof e.data==`string`&&g(e.data)}),()=>{window.removeEventListener(`message`,e),t?.close()}},[])}function ot(e){if(e<60)return`${e}s`;let t=Math.floor(e/60),n=e%60;return n>0?`${t}m ${n}s`:`${t}m`}function st(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function ct(){let[e,t]=(0,B.useState)(0),n=(0,B.useRef)(0),r=(0,B.useRef)(0),i=(0,B.useRef)(null),[a,o]=(0,B.useState)(0),s=(0,B.useRef)(0),c=(0,B.useRef)(null),l=(0,B.useRef)(null);return{elapsedSeconds:e,sessionElapsed:a,sessionTurnStart:l,pausedElapsedRef:r,startElapsedTimer:(0,B.useCallback)((e=0)=>{l.current=Date.now(),c.current=setInterval(()=>{let e=s.current+(Date.now()-(l.current??Date.now()));o(Math.floor(e/1e3))},1e3),n.current=e,t(e),i.current=setInterval(()=>{n.current+=1,t(n.current)},1e3)},[]),stopElapsedTimer:(0,B.useCallback)(e=>{i.current&&=(clearInterval(i.current),null),c.current&&=(clearInterval(c.current),null),l.current&&(s.current+=Date.now()-l.current,l.current=null,o(Math.floor(s.current/1e3))),r.current=n.current;let t=n.current;e(e=>{let n=[...e].map((e,t)=>({m:e,i:t})).reverse().find(({m:e})=>e.role===`maxy`)?.i;if(n===void 0)return e;let r=[...e];return r[n]={...r[n],elapsedSeconds:t},r})},[]),resetTimerState:(0,B.useCallback)(()=>{s.current=0,o(0)},[])}}var lt=`image/jpeg,image/png,image/gif,image/webp,application/pdf,text/plain,text/markdown,text/csv,text/html,text/calendar`,ut=new Set(lt.split(`,`)),dt=20*1024*1024,ft=new Set([`action-list`,`document-editor`,`rich-content-editor`,`grid-editor`]);function pt(e){switch(e){case`expanded`:return!0;case`collapsed`:return!1;default:return}}function mt(){let[e,t]=(0,B.useState)(`loading`),[n,r]=(0,B.useState)(``),[i,a]=(0,B.useState)(``),[o,s]=(0,B.useState)(``),[c,l]=(0,B.useState)(!1),[u,d]=(0,B.useState)(!1),[f,p]=(0,B.useState)(!1),[m,h]=(0,B.useState)(!1),[g,_]=(0,B.useState)(!1),[v,y]=(0,B.useState)(null),[b,x]=(0,B.useState)(null),[S,C]=(0,B.useState)(!1),[w,T]=(0,B.useState)(!1),[E,D]=(0,B.useState)(void 0),[O,k]=(0,B.useState)(void 0),[A,j]=(0,B.useState)(null),[M,N]=(0,B.useState)([]),[P,ee]=(0,B.useState)(!1),[F,te]=(0,B.useState)(void 0),I=(0,B.useRef)(void 0),ne=(0,B.useRef)(null),re=(0,B.useRef)(null),ie=(0,B.useRef)(null);(0,B.useEffect)(()=>{async function e(n=2){try{let r=await fetch(`/api/health`);if(!r.ok){if(n>0)return await new Promise(e=>setTimeout(e,1500)),e(n-1);console.error(`[admin] health check returned ${r.status} after retries`),t(`set-pin`);return}let i=await r.json();i.pin_configured?i.claude_authenticated?t(`enter-pin`):t(i.onboarding_complete?`connect-claude`:`onboarding-choice`):t(`set-pin`)}catch(r){if(n>0)return await new Promise(e=>setTimeout(e,1500)),e(n-1);console.error(`[admin] health check failed:`,r),t(`set-pin`)}}e()},[]),(0,B.useEffect)(()=>{e===`chat`&&fetch(`/api/admin/claude-info`).then(e=>{if(e.ok)return e.json()}).then(e=>{e&&x(e)}).catch(()=>{})},[e]),(0,B.useEffect)(()=>{if(e!==`chat`)return;let n=setInterval(async()=>{try{let e=await fetch(`/api/health`);if(!e.ok)return;let n=await e.json();(n.auth_status===`dead`||n.auth_status===`missing`)&&t(`connect-claude`)}catch{}},300*1e3);return()=>clearInterval(n)},[e]),(0,B.useEffect)(()=>{e===`connect-claude`&&fetch(`/api/health`).then(e=>e.ok?e.json():null).then(e=>{e?.claude_authenticated&&t(`enter-pin`)}).catch(()=>{})},[e]);async function L(e,n){d(!0);try{let i=await fetch(`/api/admin/session`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({pin:e,...n?{accountId:n}:{}})});if(!i.ok){s((await i.json().catch(()=>({}))).error||`Invalid PIN`);return}let o=await i.json();if(o.accounts&&!o.session_key){console.log(`[admin] account picker shown: userId=${o.userId} accountCount=${o.accounts.length}`),N(o.accounts),t(`account-picker`);return}y(o.session_key),j(o.conversationId??null),D(o.onboardingComplete??!0),k(o.businessName);let c=pt(o.thinkingView);if(I.current=c,te(c),n)try{sessionStorage.setItem(`maxy-account-id`,n)}catch{}try{sessionStorage.setItem(`maxy-admin-session-key`,o.session_key)}catch{}r(``),a(``),t(`chat`)}catch(e){console.error(`[admin] connection error:`,e),s(`Could not connect.`)}finally{d(!1),ee(!1)}}let ae=(0,B.useCallback)(async e=>{if(e.preventDefault(),u)return;if(s(``),n.length<4){s(`PIN must be at least 4 characters.`);return}if(n!==i){s(`PINs do not match.`);return}let o=n;d(!0);try{let e=await fetch(`/api/onboarding/set-pin`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({pin:o})});if(!e.ok){let n=await e.json().catch(()=>({}));if(e.status===409){console.log(`[admin] PIN already configured — re-checking health`);try{let e=await fetch(`/api/health`);if(e.ok){let r=await e.json();r.pin_configured&&r.claude_authenticated?t(`enter-pin`):r.pin_configured?t(`connect-claude`):s(n.error||`Failed to set PIN.`)}else t(`enter-pin`)}catch{t(`enter-pin`)}return}s(n.error||`Failed to set PIN.`);return}let n=await fetch(`/api/health`);if((n.ok?await n.json():null)?.claude_authenticated){await L(o);return}r(``),a(``),t(`onboarding-choice`)}catch(e){console.error(`[admin] connection error:`,e),s(`Could not connect.`)}finally{d(!1)}},[n,i,u]),oe=(0,B.useCallback)(async e=>{e.preventDefault(),s(``),await L(n)},[n]),se=(0,B.useCallback)(async()=>{if(!v||!b?.contextMode||S)return;let e=b.contextMode,t=e===`claude-code`?`managed`:`claude-code`;C(!0),x({...b,contextMode:t}),T(!0);let n=setTimeout(()=>T(!1),3e3);try{let r=await fetch(`/api/admin/account`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({session_key:v,contextMode:t})});r.ok||(console.error(`[context-mode-toggle] failed: ${r.status}`),x({...b,contextMode:e}),clearTimeout(n),T(!1))}catch(t){console.error(`[context-mode-toggle] error:`,t),x({...b,contextMode:e}),clearTimeout(n),T(!1)}finally{C(!1)}},[v,b,S]),ce=(0,B.useCallback)(async()=>{_(!0),await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`logout`})}),y(null);try{sessionStorage.removeItem(`maxy-admin-session-key`)}catch{}t(`connect-claude`)},[]),le=(0,B.useCallback)(()=>{y(null);try{sessionStorage.removeItem(`maxy-admin-session-key`)}catch{}r(``),a(``),s(``),t(`enter-pin`)},[]);return{appState:e,setAppState:t,pin:n,setPin:r,confirmPin:i,setConfirmPin:a,pinError:o,setPinError:s,showPin:c,setShowPin:l,pinLoading:u,authPolling:f,setAuthPolling:p,authLoading:m,setAuthLoading:h,disconnecting:g,sessionKey:v,setSessionKey:y,claudeInfo:b,setClaudeInfo:x,togglingContextMode:S,contextModeHint:w,onboardingComplete:E,setOnboardingComplete:D,businessName:O,conversationId:A,setConversationId:j,accounts:M,accountPickerLoading:P,expandAll:F,setExpandAll:te,expandAllDefaultRef:I,pinInputRef:ne,confirmPinInputRef:re,setPinFormRef:ie,handleSetPin:ae,handleLogin:oe,handleAccountSelect:(0,B.useCallback)(async e=>{ee(!0),s(``),await L(n,e)},[n]),handleContextModeToggle:se,handleDisconnect:ce,handleLogout:le,handleChangePin:(0,B.useCallback)(async()=>{if(!n){s(`Enter your current PIN first.`);return}d(!0),s(``);try{let e=await fetch(`/api/onboarding/set-pin`,{method:`DELETE`,headers:{"Content-Type":`application/json`},body:JSON.stringify({currentPin:n})});if(!e.ok){s((await e.json().catch(()=>({error:`Incorrect PIN.`}))).error||`Incorrect PIN.`);return}r(``),a(``),s(``),t(`set-pin`)}catch(e){console.error(`[admin-auth] change pin failed:`,e),s(e instanceof Error?e.message:String(e))}finally{d(!1)}},[n])}}var ht={active:!1,heldMessage:null,existingTopic:null,confidence:0};function gt(){let[e,t]=(0,B.useState)(ht),n=(0,B.useRef)(!1);return{offer:e,handleOfferEvent:(0,B.useCallback)((e,n,r)=>{t({active:!0,heldMessage:e,existingTopic:n,confidence:r})},[]),consumeOffer:(0,B.useCallback)(r=>{if(!e.active||!e.heldMessage||n.current)return null;n.current=!0;let i={heldMessage:e.heldMessage,action:r};return t(ht),setTimeout(()=>{n.current=!1},0),i},[e]),dismissAndGetHeldMessage:(0,B.useCallback)(()=>{if(!e.active||!e.heldMessage)return null;let n=e.heldMessage;return t(ht),n},[e])}}var _t=`maxy-admin-draft`,vt=[500,1e3,2e3,4e3,8e3,1e4,1e4],yt=3e4;function bt(e){if(e instanceof TypeError){let t=e.message||``;return/network|failed to fetch|load failed/i.test(t)}return!1}async function xt(){let e=Date.now()+yt;for(let t=0;t<vt.length;t++){let n=vt[t];if(await new Promise(e=>setTimeout(e,n)),Date.now()>e)return!1;try{if((await fetch(`/api/health`,{cache:`no-store`,signal:AbortSignal.timeout(3e3)})).ok)return!0}catch{}}return!1}function St(e){let{sessionKey:t,setSessionKey:n,setAppState:r,setConversationId:i,startElapsedTimer:a,stopElapsedTimer:o,resetTimerState:s,pausedElapsedRef:c,expandAllDefaultRef:l,setExpandAll:u,getPendingFiles:d,clearPendingFiles:f,inputRef:p}=e,[m,h]=(0,B.useState)([]),[g,_]=(0,B.useState)(()=>{try{return localStorage.getItem(_t)??``}catch{return``}}),v=(0,B.useRef)(null),[y,b]=(0,B.useState)(!1),[x,S]=(0,B.useState)([]),C=(0,B.useRef)([]),[w,T]=(0,B.useState)(!1),[E,D]=(0,B.useState)(!1),O=(0,B.useRef)(!1),[k,A]=(0,B.useState)(0),[j,M]=(0,B.useState)(!1),N=(0,B.useRef)(null),P=(0,B.useRef)(()=>{}),[ee,F]=(0,B.useState)(new Set),te=gt();function I(e){C.current=e,S(e)}(0,B.useEffect)(()=>(v.current=setTimeout(()=>{try{g?localStorage.setItem(_t,g):localStorage.removeItem(_t)}catch{}},300),()=>{v.current&&clearTimeout(v.current)}),[g]);function re(){v.current&&clearTimeout(v.current);try{localStorage.removeItem(_t)}catch{}}function ie(e){N.current?.abort(),M(e)}async function L(e){if(y||!t)return;M(!1),a(),b(!0);let i=new AbortController;N.current=i,h([{role:`maxy`,events:[],timestamp:Date.now()}]);try{let a=await fetch(`/api/admin/chat`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({message:e,session_key:t}),signal:i.signal});if(!a.ok){if(a.status===401){(await a.json().catch(()=>({}))).error===`auth_expired`?r(`connect-claude`):(n(null),r(`enter-pin`));return}let e=await a.json().catch(()=>({}));throw Error(typeof e.error==`string`?e.error:`Request failed (${a.status})`)}let o=!1;for await(let e of ne(a)){if(e.type===`session_reset`){O.current=!0,N.current?.abort();break}if(e.type===`server_shutdown`){o=!0,h(e=>{let t=[...e];return t[0]?.role===`maxy`&&(t[0]={...t[0],events:[...t[0].events??[],{type:`text`,content:`Server is restarting — reconnect will happen automatically.`}]}),t});continue}if(e.type===`done`||e.type===`session_init`)continue;let t=e;h(e=>{let n=[...e];return n[0]?.role===`maxy`&&(n[0]={...n[0],events:[...n[0].events??[],t]}),n})}o&&xt()}catch(e){if(!(e instanceof DOMException&&e.name===`AbortError`)){console.error(`[chat] admin sendMessage failed:`,e);let t=e instanceof Error?e.message:String(e),n=bt(e);h(e=>{let r=[...e],i=r[0];if(i?.role===`maxy`){let e=n?`Server is restarting — reconnect will happen automatically.`:`Error: ${t}`;r[0]={...i,events:[...i.events??[],{type:`text`,content:e}]}}else r.push({role:`maxy`,events:[{type:`text`,content:`Error: ${t}`}],timestamp:Date.now()});return r}),n&&xt()}}finally{o(h),b(!1),O.current?(O.current=!1,ae()):p.current?.focus()}}function ae(){h([]),D(!1),s(),F(new Set),u(l.current),I([]),_(``),re(),f(),M(!1),A(e=>e+1)}async function oe(){if(y||w||!t){console.warn(`[chat] startNewConversation blocked: streaming=${y} compacting=${w} sessionKey=${!!t}`);return}ae();try{let e=await fetch(`/api/admin/sessions/new?session_key=${encodeURIComponent(t)}`,{method:`POST`});if(e.ok){let t=await e.json();t.session_key&&n(t.session_key),t.conversationId&&i(t.conversationId)}else console.error(`[chat] new conversation failed: ${e.status}`),h([{role:`maxy`,events:[{type:`text`,content:`Could not start a new conversation. Please try again.`}],timestamp:Date.now()}])}catch(e){console.error(`[chat] new conversation failed:`,e),h([{role:`maxy`,events:[{type:`text`,content:`Could not start a new conversation. Please try again.`}],timestamp:Date.now()}])}}function se(e,n,r,i){try{let e=JSON.parse(r);if(e._lifecycle&&t){fetch(`/api/admin/chat`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({message:r,session_key:t})}).catch(()=>{});return}if(e.action===`save`)return}catch{}ft.has(i??``)||F(t=>new Set(t).add(`${e}_${n}`)),le(i?JSON.stringify({_componentDone:!0,component:i,payload:r}):r,void 0,void 0,!0)}let ce=(0,B.useMemo)(()=>{let e=new Set(ee),t=[];for(let e=0;e<m.length;e++){let n=m[e];if(!(n.role!==`maxy`||!n.events))for(let e=0;e<n.events.length;e++){let r=n.events[e];r.type===`component`&&r.name===`browser-viewer`&&t.push({key:`${n.timestamp}_${e}`})}}for(let n=0;n<t.length-1;n++)e.add(t[n].key);return e},[m,ee]);async function le(e,i,s,l,u){if(!e&&(i??d()).length===0&&!j||y||!t)return;if(te.offer.active&&!u){let t=te.dismissAndGetHeldMessage();if(t)return I([...C.current,{text:e,files:i??[],timestamp:s??Date.now()}]),le(t,void 0,void 0,!0,{topicChangeAction:`continue`,heldMessage:t})}let g=j;M(!1),D(!1);let v=i??[...d()],x=v.map(e=>({attachmentId:``,filename:e.name,mimeType:e.type})),S={role:`admin`,content:e,attachments:x.length>0?x:void 0,timestamp:s??Date.now(),hidden:l||void 0},w=m.length;h(e=>[...e,S]),_(``),re(),i||f(),a(g?c.current:0),b(!0);let T=new AbortController;N.current=T;let E={role:`maxy`,events:[],timestamp:Date.now()};h(e=>[...e,E]);let k=w+1;try{let i,a={},o=s?new Date(s).toISOString():void 0;if(v.length>0){let n=new FormData;n.append(`message`,e),n.append(`session_key`,t),o&&n.append(`timestamp`,o);for(let e of v)n.append(`attachments`,e);i=n}else i=JSON.stringify({message:e,session_key:t,...o&&{timestamp:o},...u&&{topicChangeAction:u.topicChangeAction,heldMessage:u.heldMessage}}),a={"Content-Type":`application/json`};let c=await fetch(`/api/admin/chat`,{method:`POST`,headers:a,body:i,signal:T.signal});if(!c.ok){if(c.status===401){(await c.json().catch(()=>({}))).error===`auth_expired`?r(`connect-claude`):(n(null),r(`enter-pin`));return}let e=await c.json().catch(()=>({}));throw Error(typeof e.error==`string`?e.error:`Request failed (${c.status})`)}let l=!1;for await(let e of ne(c)){if(e.type===`session_reset`){O.current=!0;continue}if(e.type===`topic_change_offer`){te.handleOfferEvent(e.heldMessage,e.existingTopic,e.confidence);continue}if(e.type===`server_shutdown`){l=!0,h(e=>{let t=[...e],n=t[k];return n&&n.role===`maxy`&&(t[k]={...n,events:[...n.events??[],{type:`text`,content:`Server is restarting — reconnect will happen automatically.`}]}),t});continue}if(e.type===`done`||e.type===`session_init`)continue;let t=e;h(e=>{let n=[...e],r=n[k];if(r&&r.role===`maxy`){let i=r.events??[];if(t.type===`component`&&i.some(e=>e.type===`component`&&e.name===t.name&&JSON.stringify(e.data)===JSON.stringify(t.data)))return e;n[k]={...r,events:[...i,t]}}return n})}l&&xt()}catch(e){if(!(e instanceof DOMException&&e.name===`AbortError`)){console.error(`[chat] admin sendMessage failed:`,e);let t=e instanceof Error?e.message:String(e),n=bt(e);h(e=>{let r=[...e],i=r[k];if(i&&i.role===`maxy`){let e=n?`Server is restarting — reconnect will happen automatically.`:`Error: ${t}`;r[k]={...i,events:[...i.events??[],{type:`text`,content:e}]}}return r}),n&&xt()}}finally{if(o(h),b(!1),O.current)O.current=!1,ae();else{let e=C.current;if(e.length>0){let[t,...n]=e;I(n),P.current(t.text,t.files,t.timestamp)}else p.current?.focus()}}}P.current=le;let ue=(0,B.useCallback)(async()=>{if(!(!t||y||w)){T(!0);try{let e=await fetch(`/api/admin/compact`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({session_key:t})});for await(let t of ne(e))if(t.type===`status`&&t.message){let e=t.message;h(t=>{let n=[...t],r=n[n.length-1];return r?.role===`maxy`&&(n[n.length-1]={...r,events:[...r.events??[],{type:`status`,message:e}]}),n})}else t.type===`done`&&t.ok&&D(!0)}finally{T(!1)}}},[t,y,w]);async function de(){let e=te.consumeOffer(`fresh`);e&&(await oe(),P.current(e.heldMessage))}function fe(){let e=te.consumeOffer(`continue`);e&&le(e.heldMessage,void 0,void 0,!0,{topicChangeAction:`continue`,heldMessage:e.heldMessage})}return{messages:m,setMessages:h,input:g,setInput:_,isStreaming:y,messageQueue:x,messageQueueRef:C,setQueue:I,isCompacting:w,conversationCompacted:E,greetingGeneration:k,wasPaused:j,sendMessageRef:P,submittedComponents:ee,effectiveSubmitted:ce,stopStreaming:ie,sendSystemPrompt:L,sendMessage:le,resetConversation:ae,startNewConversation:oe,handleComponentSubmit:se,handleCompactNow:ue,topicChangeOffer:te.offer,handleTopicFreshStart:de,handleTopicContinue:fe}}function Ct(){let[e,t]=(0,B.useState)([]),[n,r]=(0,B.useState)(!1),[i,a]=(0,B.useState)(null),o=(0,B.useRef)(null),s=(0,B.useCallback)(e=>{a(null);let n=e.find(e=>!ut.has(e.type));if(n){a(`Unsupported file type: "${n.type}". Supported: images, PDF, plain text, markdown, CSV, calendar.`);return}let r=e.find(e=>e.size>dt);if(r){a(`"${r.name}" exceeds the 20 MB limit.`);return}t(t=>[...t,...e].slice(0,5))},[]);return{pendingFiles:e,setPendingFiles:t,isDragOver:n,attachError:i,setAttachError:a,fileInputRef:o,addFiles:s,clearFiles:(0,B.useCallback)(()=>{t([]),a(null)},[]),removeFile:(0,B.useCallback)(e=>{t(t=>t.filter((t,n)=>n!==e))},[]),onDragOver:(0,B.useCallback)(e=>{e.preventDefault(),r(!0)},[]),onDragLeave:(0,B.useCallback)(()=>{r(!1)},[]),onDrop:(0,B.useCallback)(e=>{e.preventDefault(),r(!1),s([...e.dataTransfer.files])},[s])}}var V=s();function wt({inputRef:e,value:t,onChange:n,onComplete:r,showPin:i,autoFocus:a}){let o=(0,B.useRef)([]);function s(e,r){r.key===`Backspace`?(r.preventDefault(),t[e]?n(t.slice(0,e)+t.slice(e+1)):e>0&&(n(t.slice(0,e-1)+t.slice(e)),o.current[e-1]?.focus())):r.key===`ArrowLeft`&&e>0?o.current[e-1]?.focus():r.key===`ArrowRight`&&e<5?o.current[e+1]?.focus():r.key===`Enter`&&(r.preventDefault(),r.currentTarget.form?.requestSubmit())}function c(e,i){let a=i.nativeEvent.data;if(!a||!/^\d$/.test(a))return;let s=t.split(``);for(s[e]=a;s.length<e;)s.push(``);let c=s.join(``).replace(/\D/g,``).slice(0,6);n(c),c.length===6?r?.(c):e<5&&o.current[e+1]?.focus()}function l(e){e.preventDefault();let t=e.clipboardData.getData(`text`).replace(/\D/g,``).slice(0,6);t&&(n(t),t.length===6?r?.(t):o.current[t.length]?.focus())}return(0,V.jsx)(`div`,{className:`pin-field`,children:Array.from({length:6}).map((n,r)=>(0,V.jsx)(`input`,{ref:t=>{o.current[r]=t,r===0&&e&&(e.current=t)},type:`text`,inputMode:`numeric`,className:`pin-box${t[r]?` pin-box-filled`:``}`,value:t[r]?i?t[r]:`•`:``,onKeyDown:e=>s(r,e),onInput:e=>c(r,e),onPaste:l,onFocus:e=>e.target.select(),autoFocus:a&&r===0,autoComplete:`off`,maxLength:1,"aria-label":`PIN digit ${r+1}`},r))})}function Tt(e){let{pin:t,setPin:n,confirmPin:r,setConfirmPin:i,showPin:a,setShowPin:o,pinLoading:s,pinError:c,pinInputRef:l,confirmPinInputRef:u,setPinFormRef:d,onSubmit:f}=e;return(0,V.jsx)(`div`,{className:`connect-page`,children:(0,V.jsxs)(`div`,{className:`connect-content`,children:[(0,V.jsx)(`img`,{src:b,alt:v.productName,className:`connect-logo connect-logo--maxy`}),!v.logoContainsName&&(0,V.jsxs)(`h1`,{className:`connect-title`,children:[`Welcome to `,v.productName]}),(0,V.jsx)(`p`,{className:`connect-subtitle`,children:`Choose a PIN to secure your admin access.`}),(0,V.jsxs)(`form`,{ref:d,onSubmit:f,className:`connect-pin-form`,children:[(0,V.jsxs)(`div`,{className:`pin-input-row`,children:[(0,V.jsx)(wt,{inputRef:l,value:t,onChange:n,onComplete:()=>u.current?.focus(),showPin:a,autoFocus:!0}),(0,V.jsx)(`div`,{style:{width:38,flexShrink:0},"aria-hidden":`true`})]}),(0,V.jsxs)(`div`,{className:`pin-input-row`,children:[(0,V.jsx)(wt,{inputRef:u,value:r,onChange:i,onComplete:()=>{},showPin:a}),(0,V.jsx)(T,{variant:`send`,type:`submit`,disabled:!t||!r,loading:s,"aria-label":`Set PIN`,children:(0,V.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,V.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,V.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]})})]}),(0,V.jsx)(w,{checked:a,onChange:()=>o(e=>!e),label:`Show PIN`})]}),c&&(0,V.jsx)(`p`,{className:`admin-pin-error`,children:c})]})})}function Et(e){let{pin:t,setPin:n,showPin:r,setShowPin:i,pinLoading:a,pinError:o,pinInputRef:s,onSubmit:c,onChangePin:l}=e;return(0,V.jsx)(`div`,{className:`connect-page`,children:(0,V.jsxs)(`div`,{className:`connect-content`,children:[(0,V.jsx)(`img`,{src:b,alt:v.productName,className:`connect-logo connect-logo--maxy`}),!v.logoContainsName&&(0,V.jsx)(`h1`,{className:`connect-title`,children:v.productName}),(0,V.jsxs)(`form`,{onSubmit:c,className:`connect-pin-form`,children:[(0,V.jsxs)(`div`,{className:`pin-input-row`,children:[(0,V.jsx)(wt,{inputRef:s,value:t,onChange:n,onComplete:()=>{},showPin:r,autoFocus:!0}),(0,V.jsx)(T,{variant:`send`,type:`submit`,disabled:!t,loading:a,children:(0,V.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,V.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,V.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]})})]}),(0,V.jsxs)(`div`,{className:`pin-options`,children:[(0,V.jsx)(w,{checked:r,onChange:()=>i(e=>!e),label:`Show PIN`}),(0,V.jsx)(T,{type:`button`,variant:`ghost`,onClick:l,children:`Change PIN`})]})]}),o&&(0,V.jsx)(`p`,{className:`admin-pin-error`,children:o})]})})}function Dt(e){let{accounts:t,loading:n,error:r,onSelect:i}=e;return(0,V.jsx)(`div`,{className:`connect-page`,children:(0,V.jsxs)(`div`,{className:`connect-content`,children:[(0,V.jsx)(`img`,{src:b,alt:v.productName,className:`connect-logo connect-logo--maxy`}),!v.logoContainsName&&(0,V.jsx)(`h1`,{className:`connect-title`,children:v.productName}),(0,V.jsx)(`p`,{className:`connect-subtitle`,children:`Select an account`}),(0,V.jsx)(`div`,{className:`account-picker-list`,children:t.map(e=>(0,V.jsxs)(`button`,{className:`account-picker-card`,onClick:()=>i(e.accountId),disabled:n,type:`button`,children:[(0,V.jsx)(`span`,{className:`account-picker-name`,children:e.businessName||e.accountId}),(0,V.jsx)(`span`,{className:`account-picker-role`,children:e.role}),n&&(0,V.jsx)(ie,{className:`account-picker-spinner`,size:16})]},e.accountId))}),r&&(0,V.jsx)(`p`,{className:`admin-pin-error`,children:r})]})})}function Ot(e){let{authPolling:t,setAuthPolling:n,authLoading:r,setAuthLoading:i,pinError:a,setPinError:o,setAppState:s}=e,[c,l]=(0,B.useState)(!1),[u,d]=(0,B.useState)(!1);async function f(){d(!0),o(``);try{let e=await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`launch-browser`})})).json();e.launched?l(!0):e.error&&o(e.error)}catch(e){console.error(`[admin] browser launch error:`,e),o(`Could not launch browser.`)}d(!1)}async function p(){i(!0),o(``);try{let e=await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`})).json();if(e.started){n(!0),l(!0),i(!1);for(let e=0;e<120;e++)if(await new Promise(e=>setTimeout(e,2e3)),(await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`wait`})})).json()).authenticated){await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`stop`})}),s(`enter-pin`);return}o(`Timed out waiting for sign-in. Try again.`),n(!1)}else e.error&&o(e.error)}catch(e){console.error(`[admin] auth flow error:`,e),o(`Could not start auth flow.`)}i(!1)}async function m(){await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`stop`})}),n(!1),o(``)}return t||c?(0,V.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100dvh`,overflow:`auto`},children:[(0,V.jsxs)(`header`,{className:`chat-header`,style:{paddingBottom:`12px`,flexShrink:0,position:`relative`,maxWidth:`680px`,width:`100%`,margin:`0 auto`,padding:`24px 20px 12px`},children:[t?(0,V.jsx)(`button`,{onClick:m,style:{position:`absolute`,top:`12px`,right:`12px`,background:`none`,border:`none`,color:`#999`,fontSize:`13px`,cursor:`pointer`,padding:`4px 8px`},"aria-label":`Cancel`,children:`✕`}):(0,V.jsx)(`button`,{onClick:()=>l(!1),style:{position:`absolute`,top:`12px`,right:`12px`,background:`none`,border:`none`,color:`#999`,fontSize:`13px`,cursor:`pointer`,padding:`4px 8px`},"aria-label":`Close browser`,children:`✕`}),(0,V.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`chat-logo`}),(0,V.jsx)(`h1`,{className:`chat-tagline`,children:`Connect Claude`}),(0,V.jsx)(`p`,{className:`chat-intro`,children:t?`Sign in and authorize in the browser below.`:`Open your email or prepare your accounts, then sign in.`}),!t&&(0,V.jsx)(`div`,{style:{marginTop:`12px`},children:(0,V.jsx)(T,{variant:`primary`,onClick:p,disabled:r,children:r?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:`spin`,style:{display:`inline-block`},children:`✱`}),` Connecting…`]}):`Sign in to Claude`})})]}),(0,V.jsx)(`div`,{style:{flex:1,display:`flex`,flexDirection:`column`,minHeight:0,gap:`10px`,padding:`0 0 16px`},children:(0,V.jsx)(`iframe`,{src:`/vnc-viewer.html`,style:{flex:1,width:`100%`,minHeight:0,border:`none`,background:`#111`,display:`block`},title:`Claude Sign-in`})}),a&&(0,V.jsx)(`p`,{className:`admin-pin-error`,style:{textAlign:`center`,padding:`0 20px 16px`},children:a})]}):(0,V.jsx)(`div`,{className:`connect-page`,children:(0,V.jsxs)(`div`,{className:`connect-content`,children:[(0,V.jsxs)(`div`,{className:`connect-logos`,children:[(0,V.jsx)(`div`,{className:`connect-logo-wrap`,children:(0,V.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`connect-logo`})}),(0,V.jsx)(`svg`,{className:`connect-arrow`,viewBox:`0 0 48 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:(0,V.jsx)(`path`,{d:`M0 12h44m0 0l-8-8m8 8l-8 8`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})}),(0,V.jsxs)(`div`,{className:`connect-logo-wrap`,children:[(0,V.jsx)(`img`,{src:b,alt:v.productName,className:`connect-logo connect-logo--maxy`}),!v.logoContainsName&&(0,V.jsx)(`span`,{className:`connect-logo-label`,children:v.productName})]})]}),(0,V.jsxs)(`h1`,{className:`connect-title`,children:[`Connect Claude to power `,v.productName]}),(0,V.jsx)(`p`,{className:`connect-subtitle`,children:`Sign in with your Anthropic account to get started.`}),(0,V.jsx)(T,{variant:`primary`,onClick:p,disabled:r,children:r?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:`spin`,style:{display:`inline-block`},children:`✱`}),` Connecting…`]}):`Sign in to Claude`}),(0,V.jsx)(`button`,{onClick:f,disabled:u,style:{marginTop:`12px`,background:`none`,border:`none`,color:`var(--color-primary, #666)`,fontSize:`13px`,cursor:`pointer`,textDecoration:`underline`,textUnderlineOffset:`3px`},children:u?`Launching…`:`Open browser first`}),(0,V.jsx)(`p`,{style:{marginTop:`6px`,fontSize:`11px`,color:`#999`,maxWidth:`300px`,textAlign:`center`,lineHeight:`1.4`},children:`First time? You may need to sign into your email and Anthropic account in the browser before connecting.`}),a&&(0,V.jsx)(`p`,{className:`admin-pin-error`,children:a})]})})}function kt({setAppState:e,setOnboardingComplete:t}){let[n,r]=(0,B.useState)(!1),[i,a]=(0,B.useState)(``);async function o(){r(!0),a(``);try{let n=await fetch(`/api/onboarding/skip`,{method:`POST`});if(!n.ok){a((await n.json().catch(()=>({}))).error||`Failed to apply defaults.`);return}t(!0),e(`connect-claude`)}catch(e){console.error(`[admin] skip onboarding error:`,e),a(`Could not apply defaults.`)}finally{r(!1)}}function s(){e(`connect-claude`)}return(0,V.jsx)(`div`,{className:`connect-page`,children:(0,V.jsxs)(`div`,{className:`connect-content`,children:[(0,V.jsxs)(`div`,{className:`connect-logo-wrap`,children:[(0,V.jsx)(`img`,{src:b,alt:v.productName,className:`connect-logo connect-logo--maxy`}),!v.logoContainsName&&(0,V.jsx)(`span`,{className:`connect-logo-label`,children:v.productName})]}),(0,V.jsx)(`h1`,{className:`connect-title`,children:`How would you like to get started?`}),(0,V.jsx)(`p`,{className:`connect-subtitle`,style:{fontSize:`0.8rem`,maxWidth:`320px`},children:`Defaults: core plugins only, auto-detected timezone, concise output style, and a minimal personality. No WiFi or optional plugins.`}),(0,V.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`10px`,width:`100%`,maxWidth:`320px`,alignItems:`center`},children:[(0,V.jsx)(T,{variant:`primary`,onClick:o,disabled:n,children:n?`Applying defaults…`:`Use defaults`}),(0,V.jsx)(`button`,{onClick:s,style:{background:`none`,border:`none`,padding:`8px`,cursor:`pointer`,fontSize:`0.95rem`,color:`var(--text-secondary, #666)`,textDecoration:`none`},children:`Guided setup`})]}),(0,V.jsx)(`p`,{className:`connect-subtitle`,style:{marginTop:`12px`},children:`You can change any setting later through conversation.`}),i&&(0,V.jsx)(`p`,{className:`admin-pin-error`,children:i})]})})}function At({data:e,onSubmit:t,submitted:n}){let r=e,[i,a]=(0,B.useState)(`Submitted`);return r?.title?(0,V.jsx)(k,{submitted:n,submittedLabel:i,actions:[{label:r.rejectLabel??`Reject`,variant:`ghost`,onClick:()=>{n||(a(`Rejected`),t(r.rejectMessage??`Rejected: ${r.title}`))}},{label:r.confirmLabel??`Approve`,variant:`primary`,onClick:()=>{n||(a(`Approved`),t(r.confirmMessage??`Approved: ${r.title}`))}}],children:(0,V.jsxs)(`div`,{className:`confirm`,children:[(0,V.jsx)(`div`,{className:`confirm__title`,children:r.title}),r.description&&(0,V.jsx)(`div`,{className:`confirm__desc`,children:r.description}),r.items&&r.items.length>0&&(0,V.jsx)(`div`,{className:`confirm__items`,children:r.items.map((e,t)=>(0,V.jsxs)(`div`,{className:`confirm__item`,children:[(0,V.jsx)(`span`,{className:`confirm__item-label`,children:e.label}),(0,V.jsx)(`span`,{className:`confirm__item-value`,children:e.value})]},t))})]})}):null}function jt({data:e,onSubmit:t,submitted:n}){let r=e,i=(0,B.useRef)(!1),a=!!(r?.title&&Array.isArray(r?.fields)&&r.fields.length>0),o=r?.actions&&r.actions.length>0;return(0,B.useEffect)(()=>{a&&!o&&!n&&!i.current&&(i.current=!0,t(``))},[a,o,n,t]),a?(0,V.jsx)(k,{submitted:n,submittedLabel:`Done`,actions:o?r.actions.map(e=>({label:e.label,variant:e.variant,onClick:()=>{n||t(e.message)}})):[],children:(0,V.jsxs)(`div`,{className:`info-card`,children:[(0,V.jsxs)(`div`,{className:`info-card__header`,children:[(0,V.jsx)(`div`,{className:`info-card__title`,children:r.title}),r.subtitle&&(0,V.jsx)(`div`,{className:`info-card__subtitle`,children:r.subtitle})]}),(0,V.jsx)(`div`,{className:`info-card__fields`,children:r.fields.map((e,t)=>(0,V.jsxs)(`div`,{className:`info-card__field`,children:[(0,V.jsx)(`span`,{className:`info-card__field-label`,children:e.label}),(0,V.jsx)(`span`,{className:`info-card__field-value${e.type===`status`?` info-card__field-value--status`:``}`,children:e.type===`link`?(0,V.jsx)(`a`,{href:e.value,target:`_blank`,rel:`noopener noreferrer`,children:e.value}):e.value})]},t))})]})}):null}function Mt({data:e,onSubmit:t,submitted:n}){let r=e,i=Array.isArray(r?.items)?r.items:[],[a,o]=(0,B.useState)(new Set),[s,c]=(0,B.useState)(!1),[l,u]=(0,B.useState)(`Done`);if(i.length===0)return null;let d=n||s,f=(e,n)=>{d||a.has(e)||(o(t=>new Set(t).add(e)),t(n))};return(0,V.jsx)(k,{submitted:d,submittedLabel:l,actions:[{label:`Done`,variant:`primary`,onClick:()=>{d||(c(!0),u(`Done`),t(r?.doneMessage??`Done`))}}],children:(0,V.jsxs)(`div`,{className:`action-list`,children:[r?.title&&(0,V.jsx)(`div`,{className:`action-list__title`,children:r.title}),(0,V.jsx)(`div`,{className:`action-list__items`,children:i.map(e=>(0,V.jsxs)(`div`,{className:`action-list__item${a.has(e.id)?` action-list__item--acted`:``}`,children:[(0,V.jsxs)(`div`,{className:`action-list__item-info`,children:[(0,V.jsx)(`span`,{className:`action-list__item-label`,children:e.label}),e.description&&(0,V.jsx)(`span`,{className:`action-list__item-desc`,children:e.description})]}),(0,V.jsxs)(`div`,{className:`action-list__item-right`,children:[e.status&&(0,V.jsx)(`span`,{className:`action-list__item-status`,children:e.status}),(0,V.jsx)(`div`,{className:`action-list__item-actions`,children:e.actions.map((t,n)=>(0,V.jsx)(T,{variant:t.variant===`danger`?`danger`:t.variant===`ghost`?`ghost`:`primary`,size:`sm`,disabled:d||a.has(e.id),onClick:n=>{n.stopPropagation(),f(e.id,t.message)},children:t.label},n))})]})]},e.id))})]})})}function Nt({data:e,onSubmit:t,submitted:n}){let r=e,i=Array.isArray(r?.fields)?r.fields:[],[a,o]=(0,B.useState)({}),[s,c]=(0,B.useState)({}),[l,u]=(0,B.useState)({}),[d,f]=(0,B.useState)(`Submitted`);if((0,B.useEffect)(()=>{i.length!==0&&(o(e=>{let t={...e};return i.forEach(e=>{e.type!==`list`&&(e.name in t||(t[e.name]=e.defaultValue??(e.type===`checkbox`?!1:``)))}),t}),c(e=>{let t={...e};return i.forEach(e=>{e.type===`list`&&(e.name in t||(t[e.name]=Array.isArray(e.defaultValue)?e.defaultValue:[]))}),t}))},[i]),i.length===0)return null;let p=(e,t)=>{n||o(n=>({...n,[e]:t}))},m=i.filter(e=>e.required&&e.type!==`list`).every(e=>{let t=a[e.name];return e.type===`checkbox`?t===!0:typeof t==`string`&&t.trim()!==``}),h=()=>{if(!m||n)return;f(`Submitted`);let e=r?.submitMessage??`Form submitted: {{json}}`,i=JSON.stringify(a),o=e;for(let[e,t]of Object.entries(a))o=o.replace(`{{${e}}}`,()=>String(t));o=o.replace(`{{json}}`,()=>i),o=o.replace(`{{values}}`,()=>i),t(o)},g=e=>e.description?`${e.label} — ${e.description}`:e.label,_=e=>{let r=(l[e.name]??``).trim();!r||n||(c(t=>({...t,[e.name]:[...t[e.name]??[],r]})),u(t=>({...t,[e.name]:``})),e.addMessage&&t(e.addMessage.replace(`{{value}}`,r)))},v=(e,r)=>{n||(c(t=>({...t,[e.name]:(t[e.name]??[]).filter(e=>e!==r)})),e.removeMessage&&t(e.removeMessage.replace(`{{value}}`,r)))};return(0,V.jsx)(k,{submitted:n,submittedLabel:d,actions:[{label:r?.submitLabel??`Submit`,variant:`primary`,disabled:!m,onClick:h}],children:(0,V.jsxs)(`div`,{className:`form-input`,children:[r?.title&&(0,V.jsx)(`div`,{className:`form-input__title`,children:r.title}),r?.description&&(0,V.jsx)(`div`,{className:`form-input__desc`,children:r.description}),(0,V.jsx)(`div`,{className:`form-input__fields`,children:i.map(e=>(0,V.jsx)(`div`,{className:`form-input__field`,children:e.type===`checkbox`?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(w,{checked:a[e.name]===!0,onChange:t=>p(e.name,t),label:e.label,disabled:n}),e.description&&(0,V.jsx)(`div`,{className:`form-input__field-desc`,children:e.description})]}):e.type===`list`?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`label`,{className:`form-input__label`,children:e.label}),e.description&&(0,V.jsx)(`div`,{className:`form-input__field-desc`,children:e.description}),(0,V.jsxs)(`div`,{className:`form-input__list`,children:[(s[e.name]??[]).map(t=>(0,V.jsxs)(`div`,{className:`form-input__list-item`,children:[(0,V.jsx)(`span`,{className:`form-input__list-item-text`,children:t}),(0,V.jsx)(`button`,{type:`button`,className:`form-input__list-item-remove`,onClick:()=>v(e,t),disabled:n,"aria-label":`Remove ${t}`,children:`×`})]},t)),(0,V.jsxs)(`div`,{className:`form-input__list-add`,children:[(0,V.jsx)(`input`,{className:`form-input__input`,type:`text`,placeholder:e.addPlaceholder??``,value:l[e.name]??``,onChange:t=>u(n=>({...n,[e.name]:t.target.value})),onKeyDown:t=>{t.key===`Enter`&&(t.preventDefault(),_(e))},disabled:n}),(0,V.jsx)(`button`,{type:`button`,className:`form-input__list-add-btn`,onClick:()=>_(e),disabled:n||!(l[e.name]??``).trim(),children:`Add`})]})]})]}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`label`,{className:`form-input__label`,htmlFor:`form-${e.name}`,children:[e.label,e.required&&(0,V.jsx)(`span`,{className:`form-input__required`,children:`*`})]}),e.description&&(0,V.jsx)(`div`,{className:`form-input__field-desc`,children:e.description}),e.type===`textarea`?(0,V.jsx)(`textarea`,{id:`form-${e.name}`,className:`form-input__textarea`,placeholder:e.placeholder,value:a[e.name]??``,onChange:t=>p(e.name,t.target.value),disabled:n,rows:3}):e.type===`select`?(0,V.jsxs)(`select`,{id:`form-${e.name}`,className:`form-input__select`,value:a[e.name]??``,onChange:t=>p(e.name,t.target.value),disabled:n,children:[(0,V.jsx)(`option`,{value:``,children:e.placeholder??`Select...`}),e.options?.map(e=>(0,V.jsx)(`option`,{value:e.value,children:g(e)},e.value))]}):(0,V.jsx)(`input`,{id:`form-${e.name}`,className:`form-input__input`,type:e.type,placeholder:e.placeholder,value:a[e.name]??``,onChange:t=>p(e.name,t.target.value),disabled:n})]})},e.name))})]})})}var Pt={pending:`○`,active:`◉`,completed:`✓`,failed:`✗`,skipped:`–`};function Ft({data:e,onSubmit:t,submitted:n}){let r=e,i=Array.isArray(r?.steps)?r.steps:[],a=(0,B.useRef)(!1),o=i.length>0&&i.every(e=>e.status===`completed`||e.status===`failed`||e.status===`skipped`);return(0,B.useEffect)(()=>{o&&!n&&!a.current&&(a.current=!0,t(r?.completedMessage??`All steps completed`))},[o,n,t,r?.completedMessage]),i.length===0?null:(0,V.jsxs)(`div`,{className:`progress-tracker${n?` progress-tracker--submitted`:``}`,children:[r?.title&&(0,V.jsx)(`div`,{className:`progress-tracker__title`,children:r.title}),(0,V.jsx)(`div`,{className:`progress-tracker__steps`,children:i.map((e,t)=>(0,V.jsxs)(`div`,{className:`progress-tracker__step progress-tracker__step--${e.status}`,children:[(0,V.jsx)(`span`,{className:`progress-tracker__icon`,children:Pt[e.status]??`○`}),(0,V.jsxs)(`div`,{className:`progress-tracker__step-info`,children:[(0,V.jsx)(`span`,{className:`progress-tracker__step-label`,children:e.label}),e.description&&(0,V.jsx)(`span`,{className:`progress-tracker__step-desc`,children:e.description})]})]},t))})]})}function It({handlePopout:e,disabled:t=!1}){let n=(0,B.useCallback)(()=>{delete document.body.dataset.dragPopoutActive},[]);(0,B.useEffect)(()=>()=>n(),[n]);let r=(0,B.useCallback)(e=>{if(t){e.preventDefault();return}let n=e.target;if(n.closest(`.editor-base__actions`)||n.closest(`.browser-viewer__actions`)){e.preventDefault();return}if(!document.querySelector(`.chat-messages`)){e.preventDefault();return}e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,``),document.body.dataset.dragPopoutActive=`true`},[t,n]),i=(0,B.useCallback)(t=>{if(n(),t.clientX===0&&t.clientY===0)return;let r=document.querySelector(`.chat-messages`);if(!r)return;let i=r.getBoundingClientRect();(t.clientX<i.left||t.clientX>i.right||t.clientY<i.top||t.clientY>i.bottom)&&e()},[e,n]);return t?{draggable:!1,onDragStart:()=>{},onDragEnd:()=>{}}:{draggable:!0,onDragStart:r,onDragEnd:i}}function Lt({data:e,onSubmit:t,submitted:n,isStreaming:r}){at();let{title:i}=e??{},[a,o]=(0,B.useState)(!1),[s,c]=(0,B.useState)(!1),[l,u]=(0,B.useState)(!1),d=(0,B.useRef)(null),f=(0,B.useRef)(null),p=i??v.productName,m=(0,B.useCallback)(()=>{f.current&&=(clearInterval(f.current),null),d.current&&!d.current.closed&&d.current.close(),d.current=null,c(!1)},[]),h=(0,B.useCallback)(()=>{o(!1),u(!1);let e=`/vnc-popout.html?title=${encodeURIComponent(p)}`,t=window.open(e,`maxy-vnc-popout`,`width=1024,height=768`);t&&(d.current=t,c(!0),f.current=setInterval(()=>{d.current?.closed&&(m(),u(!0))},500))},[p,m]),g=(0,B.useCallback)(()=>{m(),o(!1),u(!0)},[m]),_=(0,B.useCallback)(()=>{m(),u(!1)},[m]),y=(0,B.useCallback)(()=>{u(!1)},[]),b=(0,B.useCallback)(()=>{m(),u(!1),o(!0)},[m]),x=(0,B.useCallback)(()=>o(!1),[]);(0,B.useEffect)(()=>{if(!a)return;let e=e=>{e.key===`Escape`&&x()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[a,x]),(0,B.useEffect)(()=>()=>m(),[m]);let S=It({handlePopout:h,disabled:s||a});if(n)return null;let C=`/vnc-viewer.html`;return a?(0,V.jsxs)(`div`,{className:`browser-viewer-fullscreen`,children:[(0,V.jsxs)(`div`,{className:`browser-viewer-fullscreen__bar`,...S,children:[(0,V.jsx)(O,{className:`browser-viewer__icon`}),(0,V.jsx)(`span`,{className:`browser-viewer-fullscreen__title`,children:p}),(0,V.jsxs)(`div`,{className:`browser-viewer-fullscreen__actions`,children:[(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ee,onClick:h,"aria-label":`Pop out`}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ue,onClick:x,"aria-label":`Exit full screen`}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:We,onClick:g,"aria-label":`Minimise`})]})]}),(0,V.jsx)(`iframe`,{src:C,className:`browser-viewer-fullscreen__iframe`,title:p})]}):s?(0,V.jsx)(`div`,{className:`browser-viewer browser-viewer--popout`,children:(0,V.jsxs)(`div`,{className:`browser-viewer__bar`,...S,children:[(0,V.jsx)(O,{className:`browser-viewer__icon`}),(0,V.jsx)(`span`,{className:`browser-viewer__title`,children:p}),(0,V.jsxs)(`div`,{className:`browser-viewer__actions`,children:[(0,V.jsx)(`span`,{className:`browser-viewer__popout-label`,children:`Popped out`}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ze,onClick:_,"aria-label":`Pop back in`})]})]})}):l?(0,V.jsxs)(`div`,{className:`browser-viewer browser-viewer--minimised`,onClick:y,role:`button`,tabIndex:0,onKeyDown:e=>e.key===`Enter`&&y(),children:[(0,V.jsxs)(`div`,{className:`browser-viewer__bar`,...S,children:[(0,V.jsx)(O,{className:`browser-viewer__icon`}),(0,V.jsx)(`span`,{className:`browser-viewer__title`,children:p}),(0,V.jsxs)(`div`,{className:`browser-viewer__actions`,onClick:e=>e.stopPropagation(),children:[(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ee,onClick:h,"aria-label":`Pop out`}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Be,onClick:b,"aria-label":`Full screen`}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:qe,onClick:y,"aria-label":`Expand`})]})]}),(0,V.jsx)(`iframe`,{src:C,className:`browser-viewer__iframe`,title:p,"aria-hidden":`true`})]}):(0,V.jsxs)(`div`,{className:`browser-viewer`,children:[(0,V.jsxs)(`div`,{className:`browser-viewer__bar`,...S,children:[(0,V.jsx)(O,{className:`browser-viewer__icon`}),i&&(0,V.jsx)(`span`,{className:`browser-viewer__title`,children:i}),(0,V.jsxs)(`div`,{className:`browser-viewer__actions`,children:[(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ee,onClick:h,"aria-label":`Pop out`}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Be,onClick:b,"aria-label":`Full screen`}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:We,onClick:g,"aria-label":`Minimise`})]})]}),(0,V.jsx)(`iframe`,{src:C,className:`browser-viewer__iframe`,title:p})]})}var Rt=t((e=>{var t=a();function n(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var r=typeof Object.is==`function`?Object.is:n,i=t.useState,o=t.useEffect,s=t.useLayoutEffect,c=t.useDebugValue;function l(e,t){var n=t(),r=i({inst:{value:n,getSnapshot:t}}),a=r[0].inst,l=r[1];return s(function(){a.value=n,a.getSnapshot=t,u(a)&&l({inst:a})},[e,n,t]),o(function(){return u(a)&&l({inst:a}),e(function(){u(a)&&l({inst:a})})},[e]),c(n),n}function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!r(e,n)}catch{return!0}}function d(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?d:l;e.useSyncExternalStore=t.useSyncExternalStore===void 0?f:t.useSyncExternalStore})),zt=t(((e,t)=>{t.exports=Rt()})),Bt=zt(),Vt=e(n(),1);function Ht(e){this.content=e}Ht.prototype={constructor:Ht,find:function(e){for(var t=0;t<this.content.length;t+=2)if(this.content[t]===e)return t;return-1},get:function(e){var t=this.find(e);return t==-1?void 0:this.content[t+1]},update:function(e,t,n){var r=n&&n!=e?this.remove(n):this,i=r.find(e),a=r.content.slice();return i==-1?a.push(n||e,t):(a[i+1]=t,n&&(a[i]=n)),new Ht(a)},remove:function(e){var t=this.find(e);if(t==-1)return this;var n=this.content.slice();return n.splice(t,2),new Ht(n)},addToStart:function(e,t){return new Ht([e,t].concat(this.remove(e).content))},addToEnd:function(e,t){var n=this.remove(e).content.slice();return n.push(e,t),new Ht(n)},addBefore:function(e,t,n){var r=this.remove(t),i=r.content.slice(),a=r.find(e);return i.splice(a==-1?i.length:a,0,t,n),new Ht(i)},forEach:function(e){for(var t=0;t<this.content.length;t+=2)e(this.content[t],this.content[t+1])},prepend:function(e){return e=Ht.from(e),e.size?new Ht(e.content.concat(this.subtract(e).content)):this},append:function(e){return e=Ht.from(e),e.size?new Ht(this.subtract(e).content.concat(e.content)):this},subtract:function(e){var t=this;e=Ht.from(e);for(var n=0;n<e.content.length;n+=2)t=t.remove(e.content[n]);return t},toObject:function(){var e={};return this.forEach(function(t,n){e[t]=n}),e},get size(){return this.content.length>>1}},Ht.from=function(e){if(e instanceof Ht)return e;var t=[];if(e)for(var n in e)t.push(n,e[n]);return new Ht(t)};function Ut(e,t,n){for(let r=0;;r++){if(r==e.childCount||r==t.childCount)return e.childCount==t.childCount?null:n;let i=e.child(r),a=t.child(r);if(i==a){n+=i.nodeSize;continue}if(!i.sameMarkup(a))return n;if(i.isText&&i.text!=a.text){for(let e=0;i.text[e]==a.text[e];e++)n++;return n}if(i.content.size||a.content.size){let e=Ut(i.content,a.content,n+1);if(e!=null)return e}n+=i.nodeSize}}function Wt(e,t,n,r){for(let i=e.childCount,a=t.childCount;;){if(i==0||a==0)return i==a?null:{a:n,b:r};let o=e.child(--i),s=t.child(--a),c=o.nodeSize;if(o==s){n-=c,r-=c;continue}if(!o.sameMarkup(s))return{a:n,b:r};if(o.isText&&o.text!=s.text){let e=0,t=Math.min(o.text.length,s.text.length);for(;e<t&&o.text[o.text.length-e-1]==s.text[s.text.length-e-1];)e++,n--,r--;return{a:n,b:r}}if(o.content.size||s.content.size){let e=Wt(o.content,s.content,n-1,r-1);if(e)return e}n-=c,r-=c}}var H=class e{constructor(e,t){if(this.content=e,this.size=t||0,t==null)for(let t=0;t<e.length;t++)this.size+=e[t].nodeSize}nodesBetween(e,t,n,r=0,i){for(let a=0,o=0;o<t;a++){let s=this.content[a],c=o+s.nodeSize;if(c>e&&n(s,r+o,i||null,a)!==!1&&s.content.size){let i=o+1;s.nodesBetween(Math.max(0,e-i),Math.min(s.content.size,t-i),n,r+i)}o=c}}descendants(e){this.nodesBetween(0,this.size,e)}textBetween(e,t,n,r){let i=``,a=!0;return this.nodesBetween(e,t,(o,s)=>{let c=o.isText?o.text.slice(Math.max(e,s)-s,t-s):o.isLeaf?r?typeof r==`function`?r(o):r:o.type.spec.leafText?o.type.spec.leafText(o):``:``;o.isBlock&&(o.isLeaf&&c||o.isTextblock)&&n&&(a?a=!1:i+=n),i+=c},0),i}append(t){if(!t.size)return this;if(!this.size)return t;let n=this.lastChild,r=t.firstChild,i=this.content.slice(),a=0;for(n.isText&&n.sameMarkup(r)&&(i[i.length-1]=n.withText(n.text+r.text),a=1);a<t.content.length;a++)i.push(t.content[a]);return new e(i,this.size+t.size)}cut(t,n=this.size){if(t==0&&n==this.size)return this;let r=[],i=0;if(n>t)for(let e=0,a=0;a<n;e++){let o=this.content[e],s=a+o.nodeSize;s>t&&((a<t||s>n)&&(o=o.isText?o.cut(Math.max(0,t-a),Math.min(o.text.length,n-a)):o.cut(Math.max(0,t-a-1),Math.min(o.content.size,n-a-1))),r.push(o),i+=o.nodeSize),a=s}return new e(r,i)}cutByIndex(t,n){return t==n?e.empty:t==0&&n==this.content.length?this:new e(this.content.slice(t,n))}replaceChild(t,n){let r=this.content[t];if(r==n)return this;let i=this.content.slice(),a=this.size+n.nodeSize-r.nodeSize;return i[t]=n,new e(i,a)}addToStart(t){return new e([t].concat(this.content),this.size+t.nodeSize)}addToEnd(t){return new e(this.content.concat(t),this.size+t.nodeSize)}eq(e){if(this.content.length!=e.content.length)return!1;for(let t=0;t<this.content.length;t++)if(!this.content[t].eq(e.content[t]))return!1;return!0}get firstChild(){return this.content.length?this.content[0]:null}get lastChild(){return this.content.length?this.content[this.content.length-1]:null}get childCount(){return this.content.length}child(e){let t=this.content[e];if(!t)throw RangeError(`Index `+e+` out of range for `+this);return t}maybeChild(e){return this.content[e]||null}forEach(e){for(let t=0,n=0;t<this.content.length;t++){let r=this.content[t];e(r,n,t),n+=r.nodeSize}}findDiffStart(e,t=0){return Ut(this,e,t)}findDiffEnd(e,t=this.size,n=e.size){return Wt(this,e,t,n)}findIndex(e){if(e==0)return Kt(0,e);if(e==this.size)return Kt(this.content.length,e);if(e>this.size||e<0)throw RangeError(`Position ${e} outside of fragment (${this})`);for(let t=0,n=0;;t++){let r=this.child(t),i=n+r.nodeSize;if(i>=e)return i==e?Kt(t+1,i):Kt(t,n);n=i}}toString(){return`<`+this.toStringInner()+`>`}toStringInner(){return this.content.join(`, `)}toJSON(){return this.content.length?this.content.map(e=>e.toJSON()):null}static fromJSON(t,n){if(!n)return e.empty;if(!Array.isArray(n))throw RangeError(`Invalid input for Fragment.fromJSON`);return new e(n.map(t.nodeFromJSON))}static fromArray(t){if(!t.length)return e.empty;let n,r=0;for(let e=0;e<t.length;e++){let i=t[e];r+=i.nodeSize,e&&i.isText&&t[e-1].sameMarkup(i)?(n||=t.slice(0,e),n[n.length-1]=i.withText(n[n.length-1].text+i.text)):n&&n.push(i)}return new e(n||t,r)}static from(t){if(!t)return e.empty;if(t instanceof e)return t;if(Array.isArray(t))return this.fromArray(t);if(t.attrs)return new e([t],t.nodeSize);throw RangeError(`Can not convert `+t+` to a Fragment`+(t.nodesBetween?` (looks like multiple versions of prosemirror-model were loaded)`:``))}};H.empty=new H([],0);var Gt={index:0,offset:0};function Kt(e,t){return Gt.index=e,Gt.offset=t,Gt}function qt(e,t){if(e===t)return!0;if(!(e&&typeof e==`object`)||!(t&&typeof t==`object`))return!1;let n=Array.isArray(e);if(Array.isArray(t)!=n)return!1;if(n){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!qt(e[n],t[n]))return!1}else{for(let n in e)if(!(n in t)||!qt(e[n],t[n]))return!1;for(let n in t)if(!(n in e))return!1}return!0}var U=class e{constructor(e,t){this.type=e,this.attrs=t}addToSet(e){let t,n=!1;for(let r=0;r<e.length;r++){let i=e[r];if(this.eq(i))return e;if(this.type.excludes(i.type))t||=e.slice(0,r);else if(i.type.excludes(this.type))return e;else !n&&i.type.rank>this.type.rank&&(t||=e.slice(0,r),t.push(this),n=!0),t&&t.push(i)}return t||=e.slice(),n||t.push(this),t}removeFromSet(e){for(let t=0;t<e.length;t++)if(this.eq(e[t]))return e.slice(0,t).concat(e.slice(t+1));return e}isInSet(e){for(let t=0;t<e.length;t++)if(this.eq(e[t]))return!0;return!1}eq(e){return this==e||this.type==e.type&&qt(this.attrs,e.attrs)}toJSON(){let e={type:this.type.name};for(let t in this.attrs){e.attrs=this.attrs;break}return e}static fromJSON(e,t){if(!t)throw RangeError(`Invalid input for Mark.fromJSON`);let n=e.marks[t.type];if(!n)throw RangeError(`There is no mark type ${t.type} in this schema`);let r=n.create(t.attrs);return n.checkAttrs(r.attrs),r}static sameSet(e,t){if(e==t)return!0;if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].eq(t[n]))return!1;return!0}static setFrom(t){if(!t||Array.isArray(t)&&t.length==0)return e.none;if(t instanceof e)return[t];let n=t.slice();return n.sort((e,t)=>e.type.rank-t.type.rank),n}};U.none=[];var Jt=class extends Error{},W=class e{constructor(e,t,n){this.content=e,this.openStart=t,this.openEnd=n}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(t,n){let r=Xt(this.content,t+this.openStart,n);return r&&new e(r,this.openStart,this.openEnd)}removeBetween(t,n){return new e(Yt(this.content,t+this.openStart,n+this.openStart),this.openStart,this.openEnd)}eq(e){return this.content.eq(e.content)&&this.openStart==e.openStart&&this.openEnd==e.openEnd}toString(){return this.content+`(`+this.openStart+`,`+this.openEnd+`)`}toJSON(){if(!this.content.size)return null;let e={content:this.content.toJSON()};return this.openStart>0&&(e.openStart=this.openStart),this.openEnd>0&&(e.openEnd=this.openEnd),e}static fromJSON(t,n){if(!n)return e.empty;let r=n.openStart||0,i=n.openEnd||0;if(typeof r!=`number`||typeof i!=`number`)throw RangeError(`Invalid input for Slice.fromJSON`);return new e(H.fromJSON(t,n.content),r,i)}static maxOpen(t,n=!0){let r=0,i=0;for(let e=t.firstChild;e&&!e.isLeaf&&(n||!e.type.spec.isolating);e=e.firstChild)r++;for(let e=t.lastChild;e&&!e.isLeaf&&(n||!e.type.spec.isolating);e=e.lastChild)i++;return new e(t,r,i)}};W.empty=new W(H.empty,0,0);function Yt(e,t,n){let{index:r,offset:i}=e.findIndex(t),a=e.maybeChild(r),{index:o,offset:s}=e.findIndex(n);if(i==t||a.isText){if(s!=n&&!e.child(o).isText)throw RangeError(`Removing non-flat range`);return e.cut(0,t).append(e.cut(n))}if(r!=o)throw RangeError(`Removing non-flat range`);return e.replaceChild(r,a.copy(Yt(a.content,t-i-1,n-i-1)))}function Xt(e,t,n,r){let{index:i,offset:a}=e.findIndex(t),o=e.maybeChild(i);if(a==t||o.isText)return r&&!r.canReplace(i,i,n)?null:e.cut(0,t).append(n).append(e.cut(t));let s=Xt(o.content,t-a-1,n,o);return s&&e.replaceChild(i,o.copy(s))}function Zt(e,t,n){if(n.openStart>e.depth)throw new Jt(`Inserted content deeper than insertion position`);if(e.depth-n.openStart!=t.depth-n.openEnd)throw new Jt(`Inconsistent open depths`);return Qt(e,t,n,0)}function Qt(e,t,n,r){let i=e.index(r),a=e.node(r);if(i==t.index(r)&&r<e.depth-n.openStart){let o=Qt(e,t,n,r+1);return a.copy(a.content.replaceChild(i,o))}else if(!n.content.size)return rn(a,on(e,t,r));else if(!n.openStart&&!n.openEnd&&e.depth==r&&t.depth==r){let r=e.parent,i=r.content;return rn(r,i.cut(0,e.parentOffset).append(n.content).append(i.cut(t.parentOffset)))}else{let{start:i,end:o}=sn(n,e);return rn(a,an(e,i,o,t,r))}}function $t(e,t){if(!t.type.compatibleContent(e.type))throw new Jt(`Cannot join `+t.type.name+` onto `+e.type.name)}function en(e,t,n){let r=e.node(n);return $t(r,t.node(n)),r}function tn(e,t){let n=t.length-1;n>=0&&e.isText&&e.sameMarkup(t[n])?t[n]=e.withText(t[n].text+e.text):t.push(e)}function nn(e,t,n,r){let i=(t||e).node(n),a=0,o=t?t.index(n):i.childCount;e&&(a=e.index(n),e.depth>n?a++:e.textOffset&&(tn(e.nodeAfter,r),a++));for(let e=a;e<o;e++)tn(i.child(e),r);t&&t.depth==n&&t.textOffset&&tn(t.nodeBefore,r)}function rn(e,t){return e.type.checkContent(t),e.copy(t)}function an(e,t,n,r,i){let a=e.depth>i&&en(e,t,i+1),o=r.depth>i&&en(n,r,i+1),s=[];return nn(null,e,i,s),a&&o&&t.index(i)==n.index(i)?($t(a,o),tn(rn(a,an(e,t,n,r,i+1)),s)):(a&&tn(rn(a,on(e,t,i+1)),s),nn(t,n,i,s),o&&tn(rn(o,on(n,r,i+1)),s)),nn(r,null,i,s),new H(s)}function on(e,t,n){let r=[];return nn(null,e,n,r),e.depth>n&&tn(rn(en(e,t,n+1),on(e,t,n+1)),r),nn(t,null,n,r),new H(r)}function sn(e,t){let n=t.depth-e.openStart,r=t.node(n).copy(e.content);for(let e=n-1;e>=0;e--)r=t.node(e).copy(H.from(r));return{start:r.resolveNoCache(e.openStart+n),end:r.resolveNoCache(r.content.size-e.openEnd-n)}}var cn=class e{constructor(e,t,n){this.pos=e,this.path=t,this.parentOffset=n,this.depth=t.length/3-1}resolveDepth(e){return e==null?this.depth:e<0?this.depth+e:e}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(e){return this.path[this.resolveDepth(e)*3]}index(e){return this.path[this.resolveDepth(e)*3+1]}indexAfter(e){return e=this.resolveDepth(e),this.index(e)+(e==this.depth&&!this.textOffset?0:1)}start(e){return e=this.resolveDepth(e),e==0?0:this.path[e*3-1]+1}end(e){return e=this.resolveDepth(e),this.start(e)+this.node(e).content.size}before(e){if(e=this.resolveDepth(e),!e)throw RangeError(`There is no position before the top-level node`);return e==this.depth+1?this.pos:this.path[e*3-1]}after(e){if(e=this.resolveDepth(e),!e)throw RangeError(`There is no position after the top-level node`);return e==this.depth+1?this.pos:this.path[e*3-1]+this.path[e*3].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let e=this.parent,t=this.index(this.depth);if(t==e.childCount)return null;let n=this.pos-this.path[this.path.length-1],r=e.child(t);return n?e.child(t).cut(n):r}get nodeBefore(){let e=this.index(this.depth),t=this.pos-this.path[this.path.length-1];return t?this.parent.child(e).cut(0,t):e==0?null:this.parent.child(e-1)}posAtIndex(e,t){t=this.resolveDepth(t);let n=this.path[t*3],r=t==0?0:this.path[t*3-1]+1;for(let t=0;t<e;t++)r+=n.child(t).nodeSize;return r}marks(){let e=this.parent,t=this.index();if(e.content.size==0)return U.none;if(this.textOffset)return e.child(t).marks;let n=e.maybeChild(t-1),r=e.maybeChild(t);if(!n){let e=n;n=r,r=e}let i=n.marks;for(var a=0;a<i.length;a++)i[a].type.spec.inclusive===!1&&(!r||!i[a].isInSet(r.marks))&&(i=i[a--].removeFromSet(i));return i}marksAcross(e){let t=this.parent.maybeChild(this.index());if(!t||!t.isInline)return null;let n=t.marks,r=e.parent.maybeChild(e.index());for(var i=0;i<n.length;i++)n[i].type.spec.inclusive===!1&&(!r||!n[i].isInSet(r.marks))&&(n=n[i--].removeFromSet(n));return n}sharedDepth(e){for(let t=this.depth;t>0;t--)if(this.start(t)<=e&&this.end(t)>=e)return t;return 0}blockRange(e=this,t){if(e.pos<this.pos)return e.blockRange(this);for(let n=this.depth-(this.parent.inlineContent||this.pos==e.pos?1:0);n>=0;n--)if(e.pos<=this.end(n)&&(!t||t(this.node(n))))return new fn(this,e,n);return null}sameParent(e){return this.pos-this.parentOffset==e.pos-e.parentOffset}max(e){return e.pos>this.pos?e:this}min(e){return e.pos<this.pos?e:this}toString(){let e=``;for(let t=1;t<=this.depth;t++)e+=(e?`/`:``)+this.node(t).type.name+`_`+this.index(t-1);return e+`:`+this.parentOffset}static resolve(t,n){if(!(n>=0&&n<=t.content.size))throw RangeError(`Position `+n+` out of range`);let r=[],i=0,a=n;for(let e=t;;){let{index:t,offset:n}=e.content.findIndex(a),o=a-n;if(r.push(e,t,i+n),!o||(e=e.child(t),e.isText))break;a=o-1,i+=n+1}return new e(n,r,a)}static resolveCached(t,n){let r=dn.get(t);if(r)for(let e=0;e<r.elts.length;e++){let t=r.elts[e];if(t.pos==n)return t}else dn.set(t,r=new ln);let i=r.elts[r.i]=e.resolve(t,n);return r.i=(r.i+1)%un,i}},ln=class{constructor(){this.elts=[],this.i=0}},un=12,dn=new WeakMap,fn=class{constructor(e,t,n){this.$from=e,this.$to=t,this.depth=n}get start(){return this.$from.before(this.depth+1)}get end(){return this.$to.after(this.depth+1)}get parent(){return this.$from.node(this.depth)}get startIndex(){return this.$from.index(this.depth)}get endIndex(){return this.$to.indexAfter(this.depth)}},pn=Object.create(null),mn=class e{constructor(e,t,n,r=U.none){this.type=e,this.attrs=t,this.marks=r,this.content=n||H.empty}get children(){return this.content.content}get nodeSize(){return this.isLeaf?1:2+this.content.size}get childCount(){return this.content.childCount}child(e){return this.content.child(e)}maybeChild(e){return this.content.maybeChild(e)}forEach(e){this.content.forEach(e)}nodesBetween(e,t,n,r=0){this.content.nodesBetween(e,t,n,r,this)}descendants(e){this.nodesBetween(0,this.content.size,e)}get textContent(){return this.isLeaf&&this.type.spec.leafText?this.type.spec.leafText(this):this.textBetween(0,this.content.size,``)}textBetween(e,t,n,r){return this.content.textBetween(e,t,n,r)}get firstChild(){return this.content.firstChild}get lastChild(){return this.content.lastChild}eq(e){return this==e||this.sameMarkup(e)&&this.content.eq(e.content)}sameMarkup(e){return this.hasMarkup(e.type,e.attrs,e.marks)}hasMarkup(e,t,n){return this.type==e&&qt(this.attrs,t||e.defaultAttrs||pn)&&U.sameSet(this.marks,n||U.none)}copy(t=null){return t==this.content?this:new e(this.type,this.attrs,t,this.marks)}mark(t){return t==this.marks?this:new e(this.type,this.attrs,this.content,t)}cut(e,t=this.content.size){return e==0&&t==this.content.size?this:this.copy(this.content.cut(e,t))}slice(e,t=this.content.size,n=!1){if(e==t)return W.empty;let r=this.resolve(e),i=this.resolve(t),a=n?0:r.sharedDepth(t),o=r.start(a);return new W(r.node(a).content.cut(r.pos-o,i.pos-o),r.depth-a,i.depth-a)}replace(e,t,n){return Zt(this.resolve(e),this.resolve(t),n)}nodeAt(e){for(let t=this;;){let{index:n,offset:r}=t.content.findIndex(e);if(t=t.maybeChild(n),!t)return null;if(r==e||t.isText)return t;e-=r+1}}childAfter(e){let{index:t,offset:n}=this.content.findIndex(e);return{node:this.content.maybeChild(t),index:t,offset:n}}childBefore(e){if(e==0)return{node:null,index:0,offset:0};let{index:t,offset:n}=this.content.findIndex(e);if(n<e)return{node:this.content.child(t),index:t,offset:n};let r=this.content.child(t-1);return{node:r,index:t-1,offset:n-r.nodeSize}}resolve(e){return cn.resolveCached(this,e)}resolveNoCache(e){return cn.resolve(this,e)}rangeHasMark(e,t,n){let r=!1;return t>e&&this.nodesBetween(e,t,e=>(n.isInSet(e.marks)&&(r=!0),!r)),r}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let e=this.type.name;return this.content.size&&(e+=`(`+this.content.toStringInner()+`)`),gn(this.marks,e)}contentMatchAt(e){let t=this.type.contentMatch.matchFragment(this.content,0,e);if(!t)throw Error(`Called contentMatchAt on a node with invalid content`);return t}canReplace(e,t,n=H.empty,r=0,i=n.childCount){let a=this.contentMatchAt(e).matchFragment(n,r,i),o=a&&a.matchFragment(this.content,t);if(!o||!o.validEnd)return!1;for(let e=r;e<i;e++)if(!this.type.allowsMarks(n.child(e).marks))return!1;return!0}canReplaceWith(e,t,n,r){if(r&&!this.type.allowsMarks(r))return!1;let i=this.contentMatchAt(e).matchType(n),a=i&&i.matchFragment(this.content,t);return a?a.validEnd:!1}canAppend(e){return e.content.size?this.canReplace(this.childCount,this.childCount,e.content):this.type.compatibleContent(e.type)}check(){this.type.checkContent(this.content),this.type.checkAttrs(this.attrs);let e=U.none;for(let t=0;t<this.marks.length;t++){let n=this.marks[t];n.type.checkAttrs(n.attrs),e=n.addToSet(e)}if(!U.sameSet(e,this.marks))throw RangeError(`Invalid collection of marks for node ${this.type.name}: ${this.marks.map(e=>e.type.name)}`);this.content.forEach(e=>e.check())}toJSON(){let e={type:this.type.name};for(let t in this.attrs){e.attrs=this.attrs;break}return this.content.size&&(e.content=this.content.toJSON()),this.marks.length&&(e.marks=this.marks.map(e=>e.toJSON())),e}static fromJSON(e,t){if(!t)throw RangeError(`Invalid input for Node.fromJSON`);let n;if(t.marks){if(!Array.isArray(t.marks))throw RangeError(`Invalid mark data for Node.fromJSON`);n=t.marks.map(e.markFromJSON)}if(t.type==`text`){if(typeof t.text!=`string`)throw RangeError(`Invalid text node in JSON`);return e.text(t.text,n)}let r=H.fromJSON(e,t.content),i=e.nodeType(t.type).create(t.attrs,r,n);return i.type.checkAttrs(i.attrs),i}};mn.prototype.text=void 0;var hn=class e extends mn{constructor(e,t,n,r){if(super(e,t,null,r),!n)throw RangeError(`Empty text nodes are not allowed`);this.text=n}toString(){return this.type.spec.toDebugString?this.type.spec.toDebugString(this):gn(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(e,t){return this.text.slice(e,t)}get nodeSize(){return this.text.length}mark(t){return t==this.marks?this:new e(this.type,this.attrs,this.text,t)}withText(t){return t==this.text?this:new e(this.type,this.attrs,t,this.marks)}cut(e=0,t=this.text.length){return e==0&&t==this.text.length?this:this.withText(this.text.slice(e,t))}eq(e){return this.sameMarkup(e)&&this.text==e.text}toJSON(){let e=super.toJSON();return e.text=this.text,e}};function gn(e,t){for(let n=e.length-1;n>=0;n--)t=e[n].type.name+`(`+t+`)`;return t}var _n=class e{constructor(e){this.validEnd=e,this.next=[],this.wrapCache=[]}static parse(t,n){let r=new vn(t,n);if(r.next==null)return e.empty;let i=yn(r);r.next&&r.err(`Unexpected trailing text`);let a=kn(En(i));return An(a,r),a}matchType(e){for(let t=0;t<this.next.length;t++)if(this.next[t].type==e)return this.next[t].next;return null}matchFragment(e,t=0,n=e.childCount){let r=this;for(let i=t;r&&i<n;i++)r=r.matchType(e.child(i).type);return r}get inlineContent(){return this.next.length!=0&&this.next[0].type.isInline}get defaultType(){for(let e=0;e<this.next.length;e++){let{type:t}=this.next[e];if(!(t.isText||t.hasRequiredAttrs()))return t}return null}compatible(e){for(let t=0;t<this.next.length;t++)for(let n=0;n<e.next.length;n++)if(this.next[t].type==e.next[n].type)return!0;return!1}fillBefore(e,t=!1,n=0){let r=[this];function i(a,o){let s=a.matchFragment(e,n);if(s&&(!t||s.validEnd))return H.from(o.map(e=>e.createAndFill()));for(let e=0;e<a.next.length;e++){let{type:t,next:n}=a.next[e];if(!(t.isText||t.hasRequiredAttrs())&&r.indexOf(n)==-1){r.push(n);let e=i(n,o.concat(t));if(e)return e}}return null}return i(this,[])}findWrapping(e){for(let t=0;t<this.wrapCache.length;t+=2)if(this.wrapCache[t]==e)return this.wrapCache[t+1];let t=this.computeWrapping(e);return this.wrapCache.push(e,t),t}computeWrapping(e){let t=Object.create(null),n=[{match:this,type:null,via:null}];for(;n.length;){let r=n.shift(),i=r.match;if(i.matchType(e)){let e=[];for(let t=r;t.type;t=t.via)e.push(t.type);return e.reverse()}for(let e=0;e<i.next.length;e++){let{type:a,next:o}=i.next[e];!a.isLeaf&&!a.hasRequiredAttrs()&&!(a.name in t)&&(!r.type||o.validEnd)&&(n.push({match:a.contentMatch,type:a,via:r}),t[a.name]=!0)}}return null}get edgeCount(){return this.next.length}edge(e){if(e>=this.next.length)throw RangeError(`There's no ${e}th edge in this content match`);return this.next[e]}toString(){let e=[];function t(n){e.push(n);for(let r=0;r<n.next.length;r++)e.indexOf(n.next[r].next)==-1&&t(n.next[r].next)}return t(this),e.map((t,n)=>{let r=n+(t.validEnd?`*`:` `)+` `;for(let n=0;n<t.next.length;n++)r+=(n?`, `:``)+t.next[n].type.name+`->`+e.indexOf(t.next[n].next);return r}).join(`
|
|
2
2
|
`)}};_n.empty=new _n(!0);var vn=class{constructor(e,t){this.string=e,this.nodeTypes=t,this.inline=null,this.pos=0,this.tokens=e.split(/\s*(?=\b|\W|$)/),this.tokens[this.tokens.length-1]==``&&this.tokens.pop(),this.tokens[0]==``&&this.tokens.shift()}get next(){return this.tokens[this.pos]}eat(e){return this.next==e&&(this.pos++||!0)}err(e){throw SyntaxError(e+` (in content expression '`+this.string+`')`)}};function yn(e){let t=[];do t.push(bn(e));while(e.eat(`|`));return t.length==1?t[0]:{type:`choice`,exprs:t}}function bn(e){let t=[];do t.push(xn(e));while(e.next&&e.next!=`)`&&e.next!=`|`);return t.length==1?t[0]:{type:`seq`,exprs:t}}function xn(e){let t=Tn(e);for(;;)if(e.eat(`+`))t={type:`plus`,expr:t};else if(e.eat(`*`))t={type:`star`,expr:t};else if(e.eat(`?`))t={type:`opt`,expr:t};else if(e.eat(`{`))t=Cn(e,t);else break;return t}function Sn(e){/\D/.test(e.next)&&e.err(`Expected number, got '`+e.next+`'`);let t=Number(e.next);return e.pos++,t}function Cn(e,t){let n=Sn(e),r=n;return e.eat(`,`)&&(r=e.next==`}`?-1:Sn(e)),e.eat(`}`)||e.err(`Unclosed braced range`),{type:`range`,min:n,max:r,expr:t}}function wn(e,t){let n=e.nodeTypes,r=n[t];if(r)return[r];let i=[];for(let e in n){let r=n[e];r.isInGroup(t)&&i.push(r)}return i.length==0&&e.err(`No node type or group '`+t+`' found`),i}function Tn(e){if(e.eat(`(`)){let t=yn(e);return e.eat(`)`)||e.err(`Missing closing paren`),t}else if(/\W/.test(e.next))e.err(`Unexpected token '`+e.next+`'`);else{let t=wn(e,e.next).map(t=>(e.inline==null?e.inline=t.isInline:e.inline!=t.isInline&&e.err(`Mixing inline and block content`),{type:`name`,value:t}));return e.pos++,t.length==1?t[0]:{type:`choice`,exprs:t}}}function En(e){let t=[[]];return i(a(e,0),n()),t;function n(){return t.push([])-1}function r(e,n,r){let i={term:r,to:n};return t[e].push(i),i}function i(e,t){e.forEach(e=>e.to=t)}function a(e,t){if(e.type==`choice`)return e.exprs.reduce((e,n)=>e.concat(a(n,t)),[]);if(e.type==`seq`)for(let r=0;;r++){let o=a(e.exprs[r],t);if(r==e.exprs.length-1)return o;i(o,t=n())}else if(e.type==`star`){let o=n();return r(t,o),i(a(e.expr,o),o),[r(o)]}else if(e.type==`plus`){let o=n();return i(a(e.expr,t),o),i(a(e.expr,o),o),[r(o)]}else if(e.type==`opt`)return[r(t)].concat(a(e.expr,t));else if(e.type==`range`){let o=t;for(let t=0;t<e.min;t++){let t=n();i(a(e.expr,o),t),o=t}if(e.max==-1)i(a(e.expr,o),o);else for(let t=e.min;t<e.max;t++){let t=n();r(o,t),i(a(e.expr,o),t),o=t}return[r(o)]}else if(e.type==`name`)return[r(t,void 0,e.value)];else throw Error(`Unknown expr type`)}}function Dn(e,t){return t-e}function On(e,t){let n=[];return r(t),n.sort(Dn);function r(t){let i=e[t];if(i.length==1&&!i[0].term)return r(i[0].to);n.push(t);for(let e=0;e<i.length;e++){let{term:t,to:a}=i[e];!t&&n.indexOf(a)==-1&&r(a)}}}function kn(e){let t=Object.create(null);return n(On(e,0));function n(r){let i=[];r.forEach(t=>{e[t].forEach(({term:t,to:n})=>{if(!t)return;let r;for(let e=0;e<i.length;e++)i[e][0]==t&&(r=i[e][1]);On(e,n).forEach(e=>{r||i.push([t,r=[]]),r.indexOf(e)==-1&&r.push(e)})})});let a=t[r.join(`,`)]=new _n(r.indexOf(e.length-1)>-1);for(let e=0;e<i.length;e++){let r=i[e][1].sort(Dn);a.next.push({type:i[e][0],next:t[r.join(`,`)]||n(r)})}return a}}function An(e,t){for(let n=0,r=[e];n<r.length;n++){let e=r[n],i=!e.validEnd,a=[];for(let t=0;t<e.next.length;t++){let{type:n,next:o}=e.next[t];a.push(n.name),i&&!(n.isText||n.hasRequiredAttrs())&&(i=!1),r.indexOf(o)==-1&&r.push(o)}i&&t.err(`Only non-generatable nodes (`+a.join(`, `)+`) in a required position (see https://prosemirror.net/docs/guide/#generatable)`)}}function jn(e){let t=Object.create(null);for(let n in e){let r=e[n];if(!r.hasDefault)return null;t[n]=r.default}return t}function Mn(e,t){let n=Object.create(null);for(let r in e){let i=t&&t[r];if(i===void 0){let t=e[r];if(t.hasDefault)i=t.default;else throw RangeError(`No value supplied for attribute `+r)}n[r]=i}return n}function Nn(e,t,n,r){for(let r in t)if(!(r in e))throw RangeError(`Unsupported attribute ${r} for ${n} of type ${r}`);for(let n in e){let r=e[n];r.validate&&r.validate(t[n])}}function Pn(e,t){let n=Object.create(null);if(t)for(let r in t)n[r]=new Ln(e,r,t[r]);return n}var Fn=class e{constructor(e,t,n){this.name=e,this.schema=t,this.spec=n,this.markSet=null,this.groups=n.group?n.group.split(` `):[],this.attrs=Pn(e,n.attrs),this.defaultAttrs=jn(this.attrs),this.contentMatch=null,this.inlineContent=null,this.isBlock=!(n.inline||e==`text`),this.isText=e==`text`}get isInline(){return!this.isBlock}get isTextblock(){return this.isBlock&&this.inlineContent}get isLeaf(){return this.contentMatch==_n.empty}get isAtom(){return this.isLeaf||!!this.spec.atom}isInGroup(e){return this.groups.indexOf(e)>-1}get whitespace(){return this.spec.whitespace||(this.spec.code?`pre`:`normal`)}hasRequiredAttrs(){for(let e in this.attrs)if(this.attrs[e].isRequired)return!0;return!1}compatibleContent(e){return this==e||this.contentMatch.compatible(e.contentMatch)}computeAttrs(e){return!e&&this.defaultAttrs?this.defaultAttrs:Mn(this.attrs,e)}create(e=null,t,n){if(this.isText)throw Error(`NodeType.create can't construct text nodes`);return new mn(this,this.computeAttrs(e),H.from(t),U.setFrom(n))}createChecked(e=null,t,n){return t=H.from(t),this.checkContent(t),new mn(this,this.computeAttrs(e),t,U.setFrom(n))}createAndFill(e=null,t,n){if(e=this.computeAttrs(e),t=H.from(t),t.size){let e=this.contentMatch.fillBefore(t);if(!e)return null;t=e.append(t)}let r=this.contentMatch.matchFragment(t),i=r&&r.fillBefore(H.empty,!0);return i?new mn(this,e,t.append(i),U.setFrom(n)):null}validContent(e){let t=this.contentMatch.matchFragment(e);if(!t||!t.validEnd)return!1;for(let t=0;t<e.childCount;t++)if(!this.allowsMarks(e.child(t).marks))return!1;return!0}checkContent(e){if(!this.validContent(e))throw RangeError(`Invalid content for node ${this.name}: ${e.toString().slice(0,50)}`)}checkAttrs(e){Nn(this.attrs,e,`node`,this.name)}allowsMarkType(e){return this.markSet==null||this.markSet.indexOf(e)>-1}allowsMarks(e){if(this.markSet==null)return!0;for(let t=0;t<e.length;t++)if(!this.allowsMarkType(e[t].type))return!1;return!0}allowedMarks(e){if(this.markSet==null)return e;let t;for(let n=0;n<e.length;n++)this.allowsMarkType(e[n].type)?t&&t.push(e[n]):t||=e.slice(0,n);return t?t.length?t:U.none:e}static compile(t,n){let r=Object.create(null);t.forEach((t,i)=>r[t]=new e(t,n,i));let i=n.spec.topNode||`doc`;if(!r[i])throw RangeError(`Schema is missing its top node type ('`+i+`')`);if(!r.text)throw RangeError(`Every schema needs a 'text' type`);for(let e in r.text.attrs)throw RangeError(`The text node type should not have attributes`);return r}};function In(e,t,n){let r=n.split(`|`);return n=>{let i=n===null?`null`:typeof n;if(r.indexOf(i)<0)throw RangeError(`Expected value of type ${r} for attribute ${t} on type ${e}, got ${i}`)}}var Ln=class{constructor(e,t,n){this.hasDefault=Object.prototype.hasOwnProperty.call(n,`default`),this.default=n.default,this.validate=typeof n.validate==`string`?In(e,t,n.validate):n.validate}get isRequired(){return!this.hasDefault}},Rn=class e{constructor(e,t,n,r){this.name=e,this.rank=t,this.schema=n,this.spec=r,this.attrs=Pn(e,r.attrs),this.excluded=null;let i=jn(this.attrs);this.instance=i?new U(this,i):null}create(e=null){return!e&&this.instance?this.instance:new U(this,Mn(this.attrs,e))}static compile(t,n){let r=Object.create(null),i=0;return t.forEach((t,a)=>r[t]=new e(t,i++,n,a)),r}removeFromSet(e){for(var t=0;t<e.length;t++)e[t].type==this&&(e=e.slice(0,t).concat(e.slice(t+1)),t--);return e}isInSet(e){for(let t=0;t<e.length;t++)if(e[t].type==this)return e[t]}checkAttrs(e){Nn(this.attrs,e,`mark`,this.name)}excludes(e){return this.excluded.indexOf(e)>-1}},zn=class{constructor(e){this.linebreakReplacement=null,this.cached=Object.create(null);let t=this.spec={};for(let n in e)t[n]=e[n];t.nodes=Ht.from(e.nodes),t.marks=Ht.from(e.marks||{}),this.nodes=Fn.compile(this.spec.nodes,this),this.marks=Rn.compile(this.spec.marks,this);let n=Object.create(null);for(let e in this.nodes){if(e in this.marks)throw RangeError(e+` can not be both a node and a mark`);let t=this.nodes[e],r=t.spec.content||``,i=t.spec.marks;if(t.contentMatch=n[r]||(n[r]=_n.parse(r,this.nodes)),t.inlineContent=t.contentMatch.inlineContent,t.spec.linebreakReplacement){if(this.linebreakReplacement)throw RangeError(`Multiple linebreak nodes defined`);if(!t.isInline||!t.isLeaf)throw RangeError(`Linebreak replacement nodes must be inline leaf nodes`);this.linebreakReplacement=t}t.markSet=i==`_`?null:i?Bn(this,i.split(` `)):i==``||!t.inlineContent?[]:null}for(let e in this.marks){let t=this.marks[e],n=t.spec.excludes;t.excluded=n==null?[t]:n==``?[]:Bn(this,n.split(` `))}this.nodeFromJSON=e=>mn.fromJSON(this,e),this.markFromJSON=e=>U.fromJSON(this,e),this.topNodeType=this.nodes[this.spec.topNode||`doc`],this.cached.wrappings=Object.create(null)}node(e,t=null,n,r){if(typeof e==`string`)e=this.nodeType(e);else if(!(e instanceof Fn))throw RangeError(`Invalid node type: `+e);else if(e.schema!=this)throw RangeError(`Node type from different schema used (`+e.name+`)`);return e.createChecked(t,n,r)}text(e,t){let n=this.nodes.text;return new hn(n,n.defaultAttrs,e,U.setFrom(t))}mark(e,t){return typeof e==`string`&&(e=this.marks[e]),e.create(t)}nodeType(e){let t=this.nodes[e];if(!t)throw RangeError(`Unknown node type: `+e);return t}};function Bn(e,t){let n=[];for(let r=0;r<t.length;r++){let i=t[r],a=e.marks[i],o=a;if(a)n.push(a);else for(let t in e.marks){let r=e.marks[t];(i==`_`||r.spec.group&&r.spec.group.split(` `).indexOf(i)>-1)&&n.push(o=r)}if(!o)throw SyntaxError(`Unknown mark type: '`+t[r]+`'`)}return n}function Vn(e){return e.tag!=null}function Hn(e){return e.style!=null}var Un=class e{constructor(e,t){this.schema=e,this.rules=t,this.tags=[],this.styles=[];let n=this.matchedStyles=[];t.forEach(e=>{if(Vn(e))this.tags.push(e);else if(Hn(e)){let t=/[^=]*/.exec(e.style)[0];n.indexOf(t)<0&&n.push(t),this.styles.push(e)}}),this.normalizeLists=!this.tags.some(t=>{if(!/^(ul|ol)\b/.test(t.tag)||!t.node)return!1;let n=e.nodes[t.node];return n.contentMatch.matchType(n)})}parse(e,t={}){let n=new Qn(this,t,!1);return n.addAll(e,U.none,t.from,t.to),n.finish()}parseSlice(e,t={}){let n=new Qn(this,t,!0);return n.addAll(e,U.none,t.from,t.to),W.maxOpen(n.finish())}matchTag(e,t,n){for(let r=n?this.tags.indexOf(n)+1:0;r<this.tags.length;r++){let n=this.tags[r];if(er(e,n.tag)&&(n.namespace===void 0||e.namespaceURI==n.namespace)&&(!n.context||t.matchesContext(n.context))){if(n.getAttrs){let t=n.getAttrs(e);if(t===!1)continue;n.attrs=t||void 0}return n}}}matchStyle(e,t,n,r){for(let i=r?this.styles.indexOf(r)+1:0;i<this.styles.length;i++){let r=this.styles[i],a=r.style;if(!(a.indexOf(e)!=0||r.context&&!n.matchesContext(r.context)||a.length>e.length&&(a.charCodeAt(e.length)!=61||a.slice(e.length+1)!=t))){if(r.getAttrs){let e=r.getAttrs(t);if(e===!1)continue;r.attrs=e||void 0}return r}}}static schemaRules(e){let t=[];function n(e){let n=e.priority==null?50:e.priority,r=0;for(;r<t.length;r++){let e=t[r];if((e.priority==null?50:e.priority)<n)break}t.splice(r,0,e)}for(let t in e.marks){let r=e.marks[t].spec.parseDOM;r&&r.forEach(e=>{n(e=tr(e)),e.mark||e.ignore||e.clearMark||(e.mark=t)})}for(let t in e.nodes){let r=e.nodes[t].spec.parseDOM;r&&r.forEach(e=>{n(e=tr(e)),e.node||e.ignore||e.mark||(e.node=t)})}return t}static fromSchema(t){return t.cached.domParser||(t.cached.domParser=new e(t,e.schemaRules(t)))}},Wn={address:!0,article:!0,aside:!0,blockquote:!0,canvas:!0,dd:!0,div:!0,dl:!0,fieldset:!0,figcaption:!0,figure:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,li:!0,noscript:!0,ol:!0,output:!0,p:!0,pre:!0,section:!0,table:!0,tfoot:!0,ul:!0},Gn={head:!0,noscript:!0,object:!0,script:!0,style:!0,title:!0},Kn={ol:!0,ul:!0},qn=1,Jn=2,Yn=4;function Xn(e,t,n){return t==null?e&&e.whitespace==`pre`?qn|Jn:n&~Yn:(t?qn:0)|(t===`full`?Jn:0)}var Zn=class{constructor(e,t,n,r,i,a){this.type=e,this.attrs=t,this.marks=n,this.solid=r,this.options=a,this.content=[],this.activeMarks=U.none,this.match=i||(a&Yn?null:e.contentMatch)}findWrapping(e){if(!this.match){if(!this.type)return[];let t=this.type.contentMatch.fillBefore(H.from(e));if(t)this.match=this.type.contentMatch.matchFragment(t);else{let t=this.type.contentMatch,n;return(n=t.findWrapping(e.type))?(this.match=t,n):null}}return this.match.findWrapping(e.type)}finish(e){if(!(this.options&qn)){let e=this.content[this.content.length-1],t;if(e&&e.isText&&(t=/[ \t\r\n\u000c]+$/.exec(e.text))){let n=e;e.text.length==t[0].length?this.content.pop():this.content[this.content.length-1]=n.withText(n.text.slice(0,n.text.length-t[0].length))}}let t=H.from(this.content);return!e&&this.match&&(t=t.append(this.match.fillBefore(H.empty,!0))),this.type?this.type.create(this.attrs,t,this.marks):t}inlineContext(e){return this.type?this.type.inlineContent:this.content.length?this.content[0].isInline:e.parentNode&&!Wn.hasOwnProperty(e.parentNode.nodeName.toLowerCase())}},Qn=class{constructor(e,t,n){this.parser=e,this.options=t,this.isOpen=n,this.open=0,this.localPreserveWS=!1;let r=t.topNode,i,a=Xn(null,t.preserveWhitespace,0)|(n?Yn:0);i=r?new Zn(r.type,r.attrs,U.none,!0,t.topMatch||r.type.contentMatch,a):n?new Zn(null,null,U.none,!0,null,a):new Zn(e.schema.topNodeType,null,U.none,!0,null,a),this.nodes=[i],this.find=t.findPositions,this.needsBlock=!1}get top(){return this.nodes[this.open]}addDOM(e,t){e.nodeType==3?this.addTextNode(e,t):e.nodeType==1&&this.addElement(e,t)}addTextNode(e,t){let n=e.nodeValue,r=this.top,i=r.options&Jn?`full`:this.localPreserveWS||(r.options&qn)>0,{schema:a}=this.parser;if(i===`full`||r.inlineContext(e)||/[^ \t\r\n\u000c]/.test(n)){if(!i){if(n=n.replace(/[ \t\r\n\u000c]+/g,` `),/^[ \t\r\n\u000c]/.test(n)&&this.open==this.nodes.length-1){let t=r.content[r.content.length-1],i=e.previousSibling;(!t||i&&i.nodeName==`BR`||t.isText&&/[ \t\r\n\u000c]$/.test(t.text))&&(n=n.slice(1))}}else if(i===`full`)n=n.replace(/\r\n?/g,`
|
|
3
3
|
`);else if(a.linebreakReplacement&&/[\r\n]/.test(n)&&this.top.findWrapping(a.linebreakReplacement.create())){let e=n.split(/\r?\n|\r/);for(let n=0;n<e.length;n++)n&&this.insertNode(a.linebreakReplacement.create(),t,!0),e[n]&&this.insertNode(a.text(e[n]),t,!/\S/.test(e[n]));n=``}else n=n.replace(/\r?\n|\r/g,` `);n&&this.insertNode(a.text(n),t,!/\S/.test(n)),this.findInText(e)}else this.findInside(e)}addElement(e,t,n){let r=this.localPreserveWS,i=this.top;(e.tagName==`PRE`||/pre/.test(e.style&&e.style.whiteSpace))&&(this.localPreserveWS=!0);let a=e.nodeName.toLowerCase(),o;Kn.hasOwnProperty(a)&&this.parser.normalizeLists&&$n(e);let s=this.options.ruleFromNode&&this.options.ruleFromNode(e)||(o=this.parser.matchTag(e,this,n));out:if(s?s.ignore:Gn.hasOwnProperty(a))this.findInside(e),this.ignoreFallback(e,t);else if(!s||s.skip||s.closeParent){s&&s.closeParent?this.open=Math.max(0,this.open-1):s&&s.skip.nodeType&&(e=s.skip);let n,r=this.needsBlock;if(Wn.hasOwnProperty(a))i.content.length&&i.content[0].isInline&&this.open&&(this.open--,i=this.top),n=!0,i.type||(this.needsBlock=!0);else if(!e.firstChild){this.leafFallback(e,t);break out}let o=s&&s.skip?t:this.readStyles(e,t);o&&this.addAll(e,o),n&&this.sync(i),this.needsBlock=r}else{let n=this.readStyles(e,t);n&&this.addElementByRule(e,s,n,s.consuming===!1?o:void 0)}this.localPreserveWS=r}leafFallback(e,t){e.nodeName==`BR`&&this.top.type&&this.top.type.inlineContent&&this.addTextNode(e.ownerDocument.createTextNode(`
|
|
4
4
|
`),t)}ignoreFallback(e,t){e.nodeName==`BR`&&(!this.top.type||!this.top.type.inlineContent)&&this.findPlace(this.parser.schema.text(`-`),t,!0)}readStyles(e,t){let n=e.style;if(n&&n.length)for(let e=0;e<this.parser.matchedStyles.length;e++){let r=this.parser.matchedStyles[e],i=n.getPropertyValue(r);if(i)for(let e;;){let n=this.parser.matchStyle(r,i,this,e);if(!n)break;if(n.ignore)return null;if(t=n.clearMark?t.filter(e=>!n.clearMark(e)):t.concat(this.parser.schema.marks[n.mark].create(n.attrs)),n.consuming===!1)e=n;else break}}return t}addElementByRule(e,t,n,r){let i,a;if(t.node)if(a=this.parser.schema.nodes[t.node],a.isLeaf)this.insertNode(a.create(t.attrs),n,e.nodeName==`BR`)||this.leafFallback(e,n);else{let e=this.enter(a,t.attrs||null,n,t.preserveWhitespace);e&&(i=!0,n=e)}else{let e=this.parser.schema.marks[t.mark];n=n.concat(e.create(t.attrs))}let o=this.top;if(a&&a.isLeaf)this.findInside(e);else if(r)this.addElement(e,n,r);else if(t.getContent)this.findInside(e),t.getContent(e,this.parser.schema).forEach(e=>this.insertNode(e,n,!1));else{let r=e;typeof t.contentElement==`string`?r=e.querySelector(t.contentElement):typeof t.contentElement==`function`?r=t.contentElement(e):t.contentElement&&(r=t.contentElement),this.findAround(e,r,!0),this.addAll(r,n),this.findAround(e,r,!1)}i&&this.sync(o)&&this.open--}addAll(e,t,n,r){let i=n||0;for(let a=n?e.childNodes[n]:e.firstChild,o=r==null?null:e.childNodes[r];a!=o;a=a.nextSibling,++i)this.findAtPoint(e,i),this.addDOM(a,t);this.findAtPoint(e,i)}findPlace(e,t,n){let r,i;for(let t=this.open,a=0;t>=0;t--){let o=this.nodes[t],s=o.findWrapping(e);if(s&&(!r||r.length>s.length+a)&&(r=s,i=o,!s.length))break;if(o.solid){if(n)break;a+=2}}if(!r)return null;this.sync(i);for(let e=0;e<r.length;e++)t=this.enterInner(r[e],null,t,!1);return t}insertNode(e,t,n){if(e.isInline&&this.needsBlock&&!this.top.type){let e=this.textblockFromContext();e&&(t=this.enterInner(e,null,t))}let r=this.findPlace(e,t,n);if(r){this.closeExtra();let t=this.top;t.match&&=t.match.matchType(e.type);let n=U.none;for(let i of r.concat(e.marks))(t.type?t.type.allowsMarkType(i.type):nr(i.type,e.type))&&(n=i.addToSet(n));return t.content.push(e.mark(n)),!0}return!1}enter(e,t,n,r){let i=this.findPlace(e.create(t),n,!1);return i&&=this.enterInner(e,t,n,!0,r),i}enterInner(e,t,n,r=!1,i){this.closeExtra();let a=this.top;a.match=a.match&&a.match.matchType(e);let o=Xn(e,i,a.options);a.options&Yn&&a.content.length==0&&(o|=Yn);let s=U.none;return n=n.filter(t=>(a.type?a.type.allowsMarkType(t.type):nr(t.type,e))?(s=t.addToSet(s),!1):!0),this.nodes.push(new Zn(e,t,s,r,null,o)),this.open++,n}closeExtra(e=!1){let t=this.nodes.length-1;if(t>this.open){for(;t>this.open;t--)this.nodes[t-1].content.push(this.nodes[t].finish(e));this.nodes.length=this.open+1}}finish(){return this.open=0,this.closeExtra(this.isOpen),this.nodes[0].finish(!!(this.isOpen||this.options.topOpen))}sync(e){for(let t=this.open;t>=0;t--)if(this.nodes[t]==e)return this.open=t,!0;else this.localPreserveWS&&(this.nodes[t].options|=qn);return!1}get currentPos(){this.closeExtra();let e=0;for(let t=this.open;t>=0;t--){let n=this.nodes[t].content;for(let t=n.length-1;t>=0;t--)e+=n[t].nodeSize;t&&e++}return e}findAtPoint(e,t){if(this.find)for(let n=0;n<this.find.length;n++)this.find[n].node==e&&this.find[n].offset==t&&(this.find[n].pos=this.currentPos)}findInside(e){if(this.find)for(let t=0;t<this.find.length;t++)this.find[t].pos==null&&e.nodeType==1&&e.contains(this.find[t].node)&&(this.find[t].pos=this.currentPos)}findAround(e,t,n){if(e!=t&&this.find)for(let r=0;r<this.find.length;r++)this.find[r].pos==null&&e.nodeType==1&&e.contains(this.find[r].node)&&t.compareDocumentPosition(this.find[r].node)&(n?2:4)&&(this.find[r].pos=this.currentPos)}findInText(e){if(this.find)for(let t=0;t<this.find.length;t++)this.find[t].node==e&&(this.find[t].pos=this.currentPos-(e.nodeValue.length-this.find[t].offset))}matchesContext(e){if(e.indexOf(`|`)>-1)return e.split(/\s*\|\s*/).some(this.matchesContext,this);let t=e.split(`/`),n=this.options.context,r=!this.isOpen&&(!n||n.parent.type==this.nodes[0].type),i=-(n?n.depth+1:0)+(r?0:1),a=(e,o)=>{for(;e>=0;e--){let s=t[e];if(s==``){if(e==t.length-1||e==0)continue;for(;o>=i;o--)if(a(e-1,o))return!0;return!1}else{let e=o>0||o==0&&r?this.nodes[o].type:n&&o>=i?n.node(o-i).type:null;if(!e||e.name!=s&&!e.isInGroup(s))return!1;o--}}return!0};return a(t.length-1,this.open)}textblockFromContext(){let e=this.options.context;if(e)for(let t=e.depth;t>=0;t--){let n=e.node(t).contentMatchAt(e.indexAfter(t)).defaultType;if(n&&n.isTextblock&&n.defaultAttrs)return n}for(let e in this.parser.schema.nodes){let t=this.parser.schema.nodes[e];if(t.isTextblock&&t.defaultAttrs)return t}}};function $n(e){for(let t=e.firstChild,n=null;t;t=t.nextSibling){let e=t.nodeType==1?t.nodeName.toLowerCase():null;e&&Kn.hasOwnProperty(e)&&n?(n.appendChild(t),t=n):e==`li`?n=t:e&&(n=null)}}function er(e,t){return(e.matches||e.msMatchesSelector||e.webkitMatchesSelector||e.mozMatchesSelector).call(e,t)}function tr(e){let t={};for(let n in e)t[n]=e[n];return t}function nr(e,t){let n=t.schema.nodes;for(let r in n){let i=n[r];if(!i.allowsMarkType(e))continue;let a=[],o=e=>{a.push(e);for(let n=0;n<e.edgeCount;n++){let{type:r,next:i}=e.edge(n);if(r==t||a.indexOf(i)<0&&o(i))return!0}};if(o(i.contentMatch))return!0}}var rr=class e{constructor(e,t){this.nodes=e,this.marks=t}serializeFragment(e,t={},n){n||=ar(t).createDocumentFragment();let r=n,i=[];return e.forEach(e=>{if(i.length||e.marks.length){let n=0,a=0;for(;n<i.length&&a<e.marks.length;){let t=e.marks[a];if(!this.marks[t.type.name]){a++;continue}if(!t.eq(i[n][0])||t.type.spec.spanning===!1)break;n++,a++}for(;n<i.length;)r=i.pop()[1];for(;a<e.marks.length;){let n=e.marks[a++],o=this.serializeMark(n,e.isInline,t);o&&(i.push([n,r]),r.appendChild(o.dom),r=o.contentDOM||o.dom)}}r.appendChild(this.serializeNodeInner(e,t))}),n}serializeNodeInner(e,t){let{dom:n,contentDOM:r}=lr(ar(t),this.nodes[e.type.name](e),null,e.attrs);if(r){if(e.isLeaf)throw RangeError(`Content hole not allowed in a leaf node spec`);this.serializeFragment(e.content,t,r)}return n}serializeNode(e,t={}){let n=this.serializeNodeInner(e,t);for(let r=e.marks.length-1;r>=0;r--){let i=this.serializeMark(e.marks[r],e.isInline,t);i&&((i.contentDOM||i.dom).appendChild(n),n=i.dom)}return n}serializeMark(e,t,n={}){let r=this.marks[e.type.name];return r&&lr(ar(n),r(e,t),null,e.attrs)}static renderSpec(e,t,n=null,r){return lr(e,t,n,r)}static fromSchema(t){return t.cached.domSerializer||(t.cached.domSerializer=new e(this.nodesFromSchema(t),this.marksFromSchema(t)))}static nodesFromSchema(e){let t=ir(e.nodes);return t.text||=e=>e.text,t}static marksFromSchema(e){return ir(e.marks)}};function ir(e){let t={};for(let n in e){let r=e[n].spec.toDOM;r&&(t[n]=r)}return t}function ar(e){return e.document||window.document}var or=new WeakMap;function sr(e){let t=or.get(e);return t===void 0&&or.set(e,t=cr(e)),t}function cr(e){let t=null;function n(e){if(e&&typeof e==`object`)if(Array.isArray(e))if(typeof e[0]==`string`)t||=[],t.push(e);else for(let t=0;t<e.length;t++)n(e[t]);else for(let t in e)n(e[t])}return n(e),t}function lr(e,t,n,r){if(typeof t==`string`)return{dom:e.createTextNode(t)};if(t.nodeType!=null)return{dom:t};if(t.dom&&t.dom.nodeType!=null)return t;let i=t[0],a;if(typeof i!=`string`)throw RangeError(`Invalid array passed to renderSpec`);if(r&&(a=sr(r))&&a.indexOf(t)>-1)throw RangeError(`Using an array from an attribute object as a DOM spec. This may be an attempted cross site scripting attack.`);let o=i.indexOf(` `);o>0&&(n=i.slice(0,o),i=i.slice(o+1));let s,c=n?e.createElementNS(n,i):e.createElement(i),l=t[1],u=1;if(l&&typeof l==`object`&&l.nodeType==null&&!Array.isArray(l)){u=2;for(let e in l)if(l[e]!=null){let t=e.indexOf(` `);t>0?c.setAttributeNS(e.slice(0,t),e.slice(t+1),l[e]):e==`style`&&c.style?c.style.cssText=l[e]:c.setAttribute(e,l[e])}}for(let i=u;i<t.length;i++){let a=t[i];if(a===0){if(i<t.length-1||i>u)throw RangeError(`Content hole must be the only child of its parent node`);return{dom:c,contentDOM:c}}else{let{dom:t,contentDOM:i}=lr(e,a,n,r);if(c.appendChild(t),i){if(s)throw RangeError(`Multiple content holes`);s=i}}}return{dom:c,contentDOM:s}}var ur=65535,dr=2**16;function fr(e,t){return e+t*dr}function pr(e){return e&ur}function mr(e){return(e-(e&ur))/dr}var hr=1,gr=2,_r=4,vr=8,yr=class{constructor(e,t,n){this.pos=e,this.delInfo=t,this.recover=n}get deleted(){return(this.delInfo&vr)>0}get deletedBefore(){return(this.delInfo&(hr|_r))>0}get deletedAfter(){return(this.delInfo&(gr|_r))>0}get deletedAcross(){return(this.delInfo&_r)>0}},br=class e{constructor(t,n=!1){if(this.ranges=t,this.inverted=n,!t.length&&e.empty)return e.empty}recover(e){let t=0,n=pr(e);if(!this.inverted)for(let e=0;e<n;e++)t+=this.ranges[e*3+2]-this.ranges[e*3+1];return this.ranges[n*3]+t+mr(e)}mapResult(e,t=1){return this._map(e,t,!1)}map(e,t=1){return this._map(e,t,!0)}_map(e,t,n){let r=0,i=this.inverted?2:1,a=this.inverted?1:2;for(let o=0;o<this.ranges.length;o+=3){let s=this.ranges[o]-(this.inverted?r:0);if(s>e)break;let c=this.ranges[o+i],l=this.ranges[o+a],u=s+c;if(e<=u){let i=c?e==s?-1:e==u?1:t:t,a=s+r+(i<0?0:l);if(n)return a;let d=e==(t<0?s:u)?null:fr(o/3,e-s),f=e==s?gr:e==u?hr:_r;return(t<0?e!=s:e!=u)&&(f|=vr),new yr(a,f,d)}r+=l-c}return n?e+r:new yr(e+r,0,null)}touches(e,t){let n=0,r=pr(t),i=this.inverted?2:1,a=this.inverted?1:2;for(let t=0;t<this.ranges.length;t+=3){let o=this.ranges[t]-(this.inverted?n:0);if(o>e)break;let s=this.ranges[t+i];if(e<=o+s&&t==r*3)return!0;n+=this.ranges[t+a]-s}return!1}forEach(e){let t=this.inverted?2:1,n=this.inverted?1:2;for(let r=0,i=0;r<this.ranges.length;r+=3){let a=this.ranges[r],o=a-(this.inverted?i:0),s=a+(this.inverted?0:i),c=this.ranges[r+t],l=this.ranges[r+n];e(o,o+c,s,s+l),i+=l-c}}invert(){return new e(this.ranges,!this.inverted)}toString(){return(this.inverted?`-`:``)+JSON.stringify(this.ranges)}static offset(t){return t==0?e.empty:new e(t<0?[0,-t,0]:[0,0,t])}};br.empty=new br([]);var xr=class e{constructor(e,t,n=0,r=e?e.length:0){this.mirror=t,this.from=n,this.to=r,this._maps=e||[],this.ownData=!(e||t)}get maps(){return this._maps}slice(t=0,n=this.maps.length){return new e(this._maps,this.mirror,t,n)}appendMap(e,t){this.ownData||=(this._maps=this._maps.slice(),this.mirror=this.mirror&&this.mirror.slice(),!0),this.to=this._maps.push(e),t!=null&&this.setMirror(this._maps.length-1,t)}appendMapping(e){for(let t=0,n=this._maps.length;t<e._maps.length;t++){let r=e.getMirror(t);this.appendMap(e._maps[t],r!=null&&r<t?n+r:void 0)}}getMirror(e){if(this.mirror){for(let t=0;t<this.mirror.length;t++)if(this.mirror[t]==e)return this.mirror[t+(t%2?-1:1)]}}setMirror(e,t){this.mirror||=[],this.mirror.push(e,t)}appendMappingInverted(e){for(let t=e.maps.length-1,n=this._maps.length+e._maps.length;t>=0;t--){let r=e.getMirror(t);this.appendMap(e._maps[t].invert(),r!=null&&r>t?n-r-1:void 0)}}invert(){let t=new e;return t.appendMappingInverted(this),t}map(e,t=1){if(this.mirror)return this._map(e,t,!0);for(let n=this.from;n<this.to;n++)e=this._maps[n].map(e,t);return e}mapResult(e,t=1){return this._map(e,t,!1)}_map(e,t,n){let r=0;for(let n=this.from;n<this.to;n++){let i=this._maps[n].mapResult(e,t);if(i.recover!=null){let t=this.getMirror(n);if(t!=null&&t>n&&t<this.to){n=t,e=this._maps[t].recover(i.recover);continue}}r|=i.delInfo,e=i.pos}return n?e:new yr(e,r,null)}},Sr=Object.create(null),Cr=class{getMap(){return br.empty}merge(e){return null}static fromJSON(e,t){if(!t||!t.stepType)throw RangeError(`Invalid input for Step.fromJSON`);let n=Sr[t.stepType];if(!n)throw RangeError(`No step type ${t.stepType} defined`);return n.fromJSON(e,t)}static jsonID(e,t){if(e in Sr)throw RangeError(`Duplicate use of step JSON ID `+e);return Sr[e]=t,t.prototype.jsonID=e,t}},wr=class e{constructor(e,t){this.doc=e,this.failed=t}static ok(t){return new e(t,null)}static fail(t){return new e(null,t)}static fromReplace(t,n,r,i){try{return e.ok(t.replace(n,r,i))}catch(t){if(t instanceof Jt)return e.fail(t.message);throw t}}};function Tr(e,t,n){let r=[];for(let i=0;i<e.childCount;i++){let a=e.child(i);a.content.size&&(a=a.copy(Tr(a.content,t,a))),a.isInline&&(a=t(a,n,i)),r.push(a)}return H.fromArray(r)}var Er=class e extends Cr{constructor(e,t,n){super(),this.from=e,this.to=t,this.mark=n}apply(e){let t=e.slice(this.from,this.to),n=e.resolve(this.from),r=n.node(n.sharedDepth(this.to)),i=new W(Tr(t.content,(e,t)=>!e.isAtom||!t.type.allowsMarkType(this.mark.type)?e:e.mark(this.mark.addToSet(e.marks)),r),t.openStart,t.openEnd);return wr.fromReplace(e,this.from,this.to,i)}invert(){return new Dr(this.from,this.to,this.mark)}map(t){let n=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);return n.deleted&&r.deleted||n.pos>=r.pos?null:new e(n.pos,r.pos,this.mark)}merge(t){return t instanceof e&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from?new e(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark):null}toJSON(){return{stepType:`addMark`,mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,n){if(typeof n.from!=`number`||typeof n.to!=`number`)throw RangeError(`Invalid input for AddMarkStep.fromJSON`);return new e(n.from,n.to,t.markFromJSON(n.mark))}};Cr.jsonID(`addMark`,Er);var Dr=class e extends Cr{constructor(e,t,n){super(),this.from=e,this.to=t,this.mark=n}apply(e){let t=e.slice(this.from,this.to),n=new W(Tr(t.content,e=>e.mark(this.mark.removeFromSet(e.marks)),e),t.openStart,t.openEnd);return wr.fromReplace(e,this.from,this.to,n)}invert(){return new Er(this.from,this.to,this.mark)}map(t){let n=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);return n.deleted&&r.deleted||n.pos>=r.pos?null:new e(n.pos,r.pos,this.mark)}merge(t){return t instanceof e&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from?new e(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark):null}toJSON(){return{stepType:`removeMark`,mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,n){if(typeof n.from!=`number`||typeof n.to!=`number`)throw RangeError(`Invalid input for RemoveMarkStep.fromJSON`);return new e(n.from,n.to,t.markFromJSON(n.mark))}};Cr.jsonID(`removeMark`,Dr);var Or=class e extends Cr{constructor(e,t){super(),this.pos=e,this.mark=t}apply(e){let t=e.nodeAt(this.pos);if(!t)return wr.fail(`No node at mark step's position`);let n=t.type.create(t.attrs,null,this.mark.addToSet(t.marks));return wr.fromReplace(e,this.pos,this.pos+1,new W(H.from(n),0,t.isLeaf?0:1))}invert(t){let n=t.nodeAt(this.pos);if(n){let t=this.mark.addToSet(n.marks);if(t.length==n.marks.length){for(let r=0;r<n.marks.length;r++)if(!n.marks[r].isInSet(t))return new e(this.pos,n.marks[r]);return new e(this.pos,this.mark)}}return new kr(this.pos,this.mark)}map(t){let n=t.mapResult(this.pos,1);return n.deletedAfter?null:new e(n.pos,this.mark)}toJSON(){return{stepType:`addNodeMark`,pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(t,n){if(typeof n.pos!=`number`)throw RangeError(`Invalid input for AddNodeMarkStep.fromJSON`);return new e(n.pos,t.markFromJSON(n.mark))}};Cr.jsonID(`addNodeMark`,Or);var kr=class e extends Cr{constructor(e,t){super(),this.pos=e,this.mark=t}apply(e){let t=e.nodeAt(this.pos);if(!t)return wr.fail(`No node at mark step's position`);let n=t.type.create(t.attrs,null,this.mark.removeFromSet(t.marks));return wr.fromReplace(e,this.pos,this.pos+1,new W(H.from(n),0,t.isLeaf?0:1))}invert(e){let t=e.nodeAt(this.pos);return!t||!this.mark.isInSet(t.marks)?this:new Or(this.pos,this.mark)}map(t){let n=t.mapResult(this.pos,1);return n.deletedAfter?null:new e(n.pos,this.mark)}toJSON(){return{stepType:`removeNodeMark`,pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(t,n){if(typeof n.pos!=`number`)throw RangeError(`Invalid input for RemoveNodeMarkStep.fromJSON`);return new e(n.pos,t.markFromJSON(n.mark))}};Cr.jsonID(`removeNodeMark`,kr);var Ar=class e extends Cr{constructor(e,t,n,r=!1){super(),this.from=e,this.to=t,this.slice=n,this.structure=r}apply(e){return this.structure&&Mr(e,this.from,this.to)?wr.fail(`Structure replace would overwrite content`):wr.fromReplace(e,this.from,this.to,this.slice)}getMap(){return new br([this.from,this.to-this.from,this.slice.size])}invert(t){return new e(this.from,this.from+this.slice.size,t.slice(this.from,this.to))}map(t){let n=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);return n.deletedAcross&&r.deletedAcross?null:new e(n.pos,Math.max(n.pos,r.pos),this.slice,this.structure)}merge(t){if(!(t instanceof e)||t.structure||this.structure)return null;if(this.from+this.slice.size==t.from&&!this.slice.openEnd&&!t.slice.openStart){let n=this.slice.size+t.slice.size==0?W.empty:new W(this.slice.content.append(t.slice.content),this.slice.openStart,t.slice.openEnd);return new e(this.from,this.to+(t.to-t.from),n,this.structure)}else if(t.to==this.from&&!this.slice.openStart&&!t.slice.openEnd){let n=this.slice.size+t.slice.size==0?W.empty:new W(t.slice.content.append(this.slice.content),t.slice.openStart,this.slice.openEnd);return new e(t.from,this.to,n,this.structure)}else return null}toJSON(){let e={stepType:`replace`,from:this.from,to:this.to};return this.slice.size&&(e.slice=this.slice.toJSON()),this.structure&&(e.structure=!0),e}static fromJSON(t,n){if(typeof n.from!=`number`||typeof n.to!=`number`)throw RangeError(`Invalid input for ReplaceStep.fromJSON`);return new e(n.from,n.to,W.fromJSON(t,n.slice),!!n.structure)}};Cr.jsonID(`replace`,Ar);var jr=class e extends Cr{constructor(e,t,n,r,i,a,o=!1){super(),this.from=e,this.to=t,this.gapFrom=n,this.gapTo=r,this.slice=i,this.insert=a,this.structure=o}apply(e){if(this.structure&&(Mr(e,this.from,this.gapFrom)||Mr(e,this.gapTo,this.to)))return wr.fail(`Structure gap-replace would overwrite content`);let t=e.slice(this.gapFrom,this.gapTo);if(t.openStart||t.openEnd)return wr.fail(`Gap is not a flat range`);let n=this.slice.insertAt(this.insert,t.content);return n?wr.fromReplace(e,this.from,this.to,n):wr.fail(`Content does not fit in gap`)}getMap(){return new br([this.from,this.gapFrom-this.from,this.insert,this.gapTo,this.to-this.gapTo,this.slice.size-this.insert])}invert(t){let n=this.gapTo-this.gapFrom;return new e(this.from,this.from+this.slice.size+n,this.from+this.insert,this.from+this.insert+n,t.slice(this.from,this.to).removeBetween(this.gapFrom-this.from,this.gapTo-this.from),this.gapFrom-this.from,this.structure)}map(t){let n=t.mapResult(this.from,1),r=t.mapResult(this.to,-1),i=this.from==this.gapFrom?n.pos:t.map(this.gapFrom,-1),a=this.to==this.gapTo?r.pos:t.map(this.gapTo,1);return n.deletedAcross&&r.deletedAcross||i<n.pos||a>r.pos?null:new e(n.pos,r.pos,i,a,this.slice,this.insert,this.structure)}toJSON(){let e={stepType:`replaceAround`,from:this.from,to:this.to,gapFrom:this.gapFrom,gapTo:this.gapTo,insert:this.insert};return this.slice.size&&(e.slice=this.slice.toJSON()),this.structure&&(e.structure=!0),e}static fromJSON(t,n){if(typeof n.from!=`number`||typeof n.to!=`number`||typeof n.gapFrom!=`number`||typeof n.gapTo!=`number`||typeof n.insert!=`number`)throw RangeError(`Invalid input for ReplaceAroundStep.fromJSON`);return new e(n.from,n.to,n.gapFrom,n.gapTo,W.fromJSON(t,n.slice),n.insert,!!n.structure)}};Cr.jsonID(`replaceAround`,jr);function Mr(e,t,n){let r=e.resolve(t),i=n-t,a=r.depth;for(;i>0&&a>0&&r.indexAfter(a)==r.node(a).childCount;)a--,i--;if(i>0){let e=r.node(a).maybeChild(r.indexAfter(a));for(;i>0;){if(!e||e.isLeaf)return!0;e=e.firstChild,i--}}return!1}function Nr(e,t,n,r){let i=[],a=[],o,s;e.doc.nodesBetween(t,n,(e,c,l)=>{if(!e.isInline)return;let u=e.marks;if(!r.isInSet(u)&&l.type.allowsMarkType(r.type)){let l=Math.max(c,t),d=Math.min(c+e.nodeSize,n),f=r.addToSet(u);for(let e=0;e<u.length;e++)u[e].isInSet(f)||(o&&o.to==l&&o.mark.eq(u[e])?o.to=d:i.push(o=new Dr(l,d,u[e])));s&&s.to==l?s.to=d:a.push(s=new Er(l,d,r))}}),i.forEach(t=>e.step(t)),a.forEach(t=>e.step(t))}function Pr(e,t,n,r){let i=[],a=0;e.doc.nodesBetween(t,n,(e,o)=>{if(!e.isInline)return;a++;let s=null;if(r instanceof Rn){let t=e.marks,n;for(;n=r.isInSet(t);)(s||=[]).push(n),t=n.removeFromSet(t)}else r?r.isInSet(e.marks)&&(s=[r]):s=e.marks;if(s&&s.length){let r=Math.min(o+e.nodeSize,n);for(let e=0;e<s.length;e++){let n=s[e],c;for(let e=0;e<i.length;e++){let t=i[e];t.step==a-1&&n.eq(i[e].style)&&(c=t)}c?(c.to=r,c.step=a):i.push({style:n,from:Math.max(o,t),to:r,step:a})}}}),i.forEach(t=>e.step(new Dr(t.from,t.to,t.style)))}function Fr(e,t,n,r=n.contentMatch,i=!0){let a=e.doc.nodeAt(t),o=[],s=t+1;for(let t=0;t<a.childCount;t++){let c=a.child(t),l=s+c.nodeSize,u=r.matchType(c.type);if(!u)o.push(new Ar(s,l,W.empty));else{r=u;for(let t=0;t<c.marks.length;t++)n.allowsMarkType(c.marks[t].type)||e.step(new Dr(s,l,c.marks[t]));if(i&&c.isText&&n.whitespace!=`pre`){let e,t=/\r?\n|\r/g,r;for(;e=t.exec(c.text);)r||=new W(H.from(n.schema.text(` `,n.allowedMarks(c.marks))),0,0),o.push(new Ar(s+e.index,s+e.index+e[0].length,r))}}s=l}if(!r.validEnd){let t=r.fillBefore(H.empty,!0);e.replace(s,s,new W(t,0,0))}for(let t=o.length-1;t>=0;t--)e.step(o[t])}function Ir(e,t,n){return(t==0||e.canReplace(t,e.childCount))&&(n==e.childCount||e.canReplace(0,n))}function Lr(e){let t=e.parent.content.cutByIndex(e.startIndex,e.endIndex);for(let n=e.depth,r=0,i=0;;--n){let a=e.$from.node(n),o=e.$from.index(n)+r,s=e.$to.indexAfter(n)-i;if(n<e.depth&&a.canReplace(o,s,t))return n;if(n==0||a.type.spec.isolating||!Ir(a,o,s))break;o&&(r=1),s<a.childCount&&(i=1)}return null}function Rr(e,t,n){let{$from:r,$to:i,depth:a}=t,o=r.before(a+1),s=i.after(a+1),c=o,l=s,u=H.empty,d=0;for(let e=a,t=!1;e>n;e--)t||r.index(e)>0?(t=!0,u=H.from(r.node(e).copy(u)),d++):c--;let f=H.empty,p=0;for(let e=a,t=!1;e>n;e--)t||i.after(e+1)<i.end(e)?(t=!0,f=H.from(i.node(e).copy(f)),p++):l++;e.step(new jr(c,l,o,s,new W(u.append(f),d,p),u.size-d,!0))}function zr(e,t,n=null,r=e){let i=Vr(e,t),a=i&&Hr(r,t);return a?i.map(Br).concat({type:t,attrs:n}).concat(a.map(Br)):null}function Br(e){return{type:e,attrs:null}}function Vr(e,t){let{parent:n,startIndex:r,endIndex:i}=e,a=n.contentMatchAt(r).findWrapping(t);if(!a)return null;let o=a.length?a[0]:t;return n.canReplaceWith(r,i,o)?a:null}function Hr(e,t){let{parent:n,startIndex:r,endIndex:i}=e,a=n.child(r),o=t.contentMatch.findWrapping(a.type);if(!o)return null;let s=(o.length?o[o.length-1]:t).contentMatch;for(let e=r;s&&e<i;e++)s=s.matchType(n.child(e).type);return!s||!s.validEnd?null:o}function Ur(e,t,n){let r=H.empty;for(let e=n.length-1;e>=0;e--){if(r.size){let t=n[e].type.contentMatch.matchFragment(r);if(!t||!t.validEnd)throw RangeError(`Wrapper type given to Transform.wrap does not form valid content of its parent wrapper`)}r=H.from(n[e].type.create(n[e].attrs,r))}let i=t.start,a=t.end;e.step(new jr(i,a,i,a,new W(r,0,0),n.length,!0))}function Wr(e,t,n,r,i){if(!r.isTextblock)throw RangeError(`Type given to setBlockType should be a textblock`);let a=e.steps.length;e.doc.nodesBetween(t,n,(t,n)=>{let o=typeof i==`function`?i(t):i;if(t.isTextblock&&!t.hasMarkup(r,o)&&qr(e.doc,e.mapping.slice(a).map(n),r)){let i=null;if(r.schema.linebreakReplacement){let e=r.whitespace==`pre`,t=!!r.contentMatch.matchType(r.schema.linebreakReplacement);e&&!t?i=!1:!e&&t&&(i=!0)}i===!1&&Kr(e,t,n,a),Fr(e,e.mapping.slice(a).map(n,1),r,void 0,i===null);let s=e.mapping.slice(a),c=s.map(n,1),l=s.map(n+t.nodeSize,1);return e.step(new jr(c,l,c+1,l-1,new W(H.from(r.create(o,null,t.marks)),0,0),1,!0)),i===!0&&Gr(e,t,n,a),!1}})}function Gr(e,t,n,r){t.forEach((i,a)=>{if(i.isText){let o,s=/\r?\n|\r/g;for(;o=s.exec(i.text);){let i=e.mapping.slice(r).map(n+1+a+o.index);e.replaceWith(i,i+1,t.type.schema.linebreakReplacement.create())}}})}function Kr(e,t,n,r){t.forEach((i,a)=>{if(i.type==i.type.schema.linebreakReplacement){let i=e.mapping.slice(r).map(n+1+a);e.replaceWith(i,i+1,t.type.schema.text(`
|
|
@@ -99,7 +99,7 @@ ${t.renderChildren(e.content||[],`
|
|
|
99
99
|
`);s+=e.type===`paragraph`?`
|
|
100
100
|
|
|
101
101
|
${n}`:`
|
|
102
|
-
${n}`}}),s}function tm(e,t,n={}){let{state:r}=t,{doc:i,tr:a}=r,o=e;i.descendants((t,r)=>{let i=a.mapping.map(r),s=a.mapping.map(r)+t.nodeSize,c=null;if(t.marks.forEach(e=>{if(e!==o)return!1;c=e}),!c)return;let l=!1;if(Object.keys(n).forEach(e=>{n[e]!==c.attrs[e]&&(l=!0)}),l){let t=e.type.create({...e.attrs,...n});a.removeMark(i,s,e.type),a.addMark(i,s,t)}}),a.docChanged&&t.view.dispatch(a)}var nm=class e extends pp{constructor(){super(...arguments),this.type=`node`}static create(t={}){return new e(typeof t==`function`?t():t)}configure(e){return super.configure(e)}extend(e){let t=typeof e==`function`?e():e;return super.extend(t)}};function rm(e){return new gp({find:e.find,handler:({state:t,range:n,match:r,pasteEvent:i})=>{let a=Y(e.getAttributes,void 0,r,i);if(a===!1||a===null)return null;let{tr:o}=t,s=r[r.length-1],c=r[0],l=n.to;if(s){let r=c.search(/\S/),i=n.from+c.indexOf(s),u=i+s.length;if(vf(n.from,n.to,t.doc).filter(t=>t.mark.type.excluded.find(n=>n===e.type&&n!==t.mark.type)).filter(e=>e.to>i).length)return null;u<n.to&&o.delete(u,n.to),i>n.from&&o.delete(n.from+r,i),l=n.from+r+s.length,o.addMark(n.from+r,l,e.type.create(a||{})),o.removeStoredMark(e.type)}}})}var{getOwnPropertyNames:im,getOwnPropertySymbols:am}=Object,{hasOwnProperty:om}=Object.prototype;function sm(e,t){return function(n,r,i){return e(n,r,i)&&t(n,r,i)}}function cm(e){return function(t,n,r){if(!t||!n||typeof t!=`object`||typeof n!=`object`)return e(t,n,r);let{cache:i}=r,a=i.get(t),o=i.get(n);if(a&&o)return a===n&&o===t;i.set(t,n),i.set(n,t);let s=e(t,n,r);return i.delete(t),i.delete(n),s}}function lm(e){return e?.[Symbol.toStringTag]}function um(e){return im(e).concat(am(e))}var dm=Object.hasOwn||((e,t)=>om.call(e,t));function fm(e,t){return e===t||!e&&!t&&e!==e&&t!==t}var pm=`__v`,mm=`__o`,hm=`_owner`,{getOwnPropertyDescriptor:gm,keys:_m}=Object;function vm(e,t){return e.byteLength===t.byteLength&&jm(new Uint8Array(e),new Uint8Array(t))}function ym(e,t,n){let r=e.length;if(t.length!==r)return!1;for(;r-- >0;)if(!n.equals(e[r],t[r],r,r,e,t,n))return!1;return!0}function bm(e,t){return e.byteLength===t.byteLength&&jm(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}function xm(e,t){return fm(e.getTime(),t.getTime())}function Sm(e,t){return e.name===t.name&&e.message===t.message&&e.cause===t.cause&&e.stack===t.stack}function Cm(e,t){return e===t}function wm(e,t,n){let r=e.size;if(r!==t.size)return!1;if(!r)return!0;let i=Array(r),a=e.entries(),o,s,c=0;for(;(o=a.next())&&!o.done;){let r=t.entries(),a=!1,l=0;for(;(s=r.next())&&!s.done;){if(i[l]){l++;continue}let r=o.value,u=s.value;if(n.equals(r[0],u[0],c,l,e,t,n)&&n.equals(r[1],u[1],r[0],u[0],e,t,n)){a=i[l]=!0;break}l++}if(!a)return!1;c++}return!0}var Tm=fm;function Em(e,t,n){let r=_m(e),i=r.length;if(_m(t).length!==i)return!1;for(;i-- >0;)if(!Nm(e,t,n,r[i]))return!1;return!0}function Dm(e,t,n){let r=um(e),i=r.length;if(um(t).length!==i)return!1;let a,o,s;for(;i-- >0;)if(a=r[i],!Nm(e,t,n,a)||(o=gm(e,a),s=gm(t,a),(o||s)&&(!o||!s||o.configurable!==s.configurable||o.enumerable!==s.enumerable||o.writable!==s.writable)))return!1;return!0}function Om(e,t){return fm(e.valueOf(),t.valueOf())}function km(e,t){return e.source===t.source&&e.flags===t.flags}function Am(e,t,n){let r=e.size;if(r!==t.size)return!1;if(!r)return!0;let i=Array(r),a=e.values(),o,s;for(;(o=a.next())&&!o.done;){let r=t.values(),a=!1,c=0;for(;(s=r.next())&&!s.done;){if(!i[c]&&n.equals(o.value,s.value,o.value,s.value,e,t,n)){a=i[c]=!0;break}c++}if(!a)return!1}return!0}function jm(e,t){let n=e.byteLength;if(t.byteLength!==n||e.byteOffset!==t.byteOffset)return!1;for(;n-- >0;)if(e[n]!==t[n])return!1;return!0}function Mm(e,t){return e.hostname===t.hostname&&e.pathname===t.pathname&&e.protocol===t.protocol&&e.port===t.port&&e.hash===t.hash&&e.username===t.username&&e.password===t.password}function Nm(e,t,n,r){return(r===hm||r===mm||r===pm)&&(e.$$typeof||t.$$typeof)?!0:dm(t,r)&&n.equals(e[r],t[r],r,r,e,t,n)}var Pm=`[object ArrayBuffer]`,Fm=`[object Arguments]`,Im=`[object Boolean]`,Lm=`[object DataView]`,Rm=`[object Date]`,zm=`[object Error]`,Bm=`[object Map]`,Vm=`[object Number]`,Hm=`[object Object]`,Um=`[object RegExp]`,Wm=`[object Set]`,Gm=`[object String]`,Km={"[object Int8Array]":!0,"[object Uint8Array]":!0,"[object Uint8ClampedArray]":!0,"[object Int16Array]":!0,"[object Uint16Array]":!0,"[object Int32Array]":!0,"[object Uint32Array]":!0,"[object Float16Array]":!0,"[object Float32Array]":!0,"[object Float64Array]":!0,"[object BigInt64Array]":!0,"[object BigUint64Array]":!0},qm=`[object URL]`,Jm=Object.prototype.toString;function Ym({areArrayBuffersEqual:e,areArraysEqual:t,areDataViewsEqual:n,areDatesEqual:r,areErrorsEqual:i,areFunctionsEqual:a,areMapsEqual:o,areNumbersEqual:s,areObjectsEqual:c,arePrimitiveWrappersEqual:l,areRegExpsEqual:u,areSetsEqual:d,areTypedArraysEqual:f,areUrlsEqual:p,unknownTagComparators:m}){return function(h,g,_){if(h===g)return!0;if(h==null||g==null)return!1;let v=typeof h;if(v!==typeof g)return!1;if(v!==`object`)return v===`number`?s(h,g,_):v===`function`?a(h,g,_):!1;let y=h.constructor;if(y!==g.constructor)return!1;if(y===Object)return c(h,g,_);if(Array.isArray(h))return t(h,g,_);if(y===Date)return r(h,g,_);if(y===RegExp)return u(h,g,_);if(y===Map)return o(h,g,_);if(y===Set)return d(h,g,_);let b=Jm.call(h);if(b===Rm)return r(h,g,_);if(b===Um)return u(h,g,_);if(b===Bm)return o(h,g,_);if(b===Wm)return d(h,g,_);if(b===Hm)return typeof h.then!=`function`&&typeof g.then!=`function`&&c(h,g,_);if(b===qm)return p(h,g,_);if(b===zm)return i(h,g,_);if(b===Fm)return c(h,g,_);if(Km[b])return f(h,g,_);if(b===Pm)return e(h,g,_);if(b===Lm)return n(h,g,_);if(b===Im||b===Vm||b===Gm)return l(h,g,_);if(m){let e=m[b];if(!e){let t=lm(h);t&&(e=m[t])}if(e)return e(h,g,_)}return!1}}function Xm({circular:e,createCustomConfig:t,strict:n}){let r={areArrayBuffersEqual:vm,areArraysEqual:n?Dm:ym,areDataViewsEqual:bm,areDatesEqual:xm,areErrorsEqual:Sm,areFunctionsEqual:Cm,areMapsEqual:n?sm(wm,Dm):wm,areNumbersEqual:Tm,areObjectsEqual:n?Dm:Em,arePrimitiveWrappersEqual:Om,areRegExpsEqual:km,areSetsEqual:n?sm(Am,Dm):Am,areTypedArraysEqual:n?sm(jm,Dm):jm,areUrlsEqual:Mm,unknownTagComparators:void 0};if(t&&(r=Object.assign({},r,t(r))),e){let e=cm(r.areArraysEqual),t=cm(r.areMapsEqual),n=cm(r.areObjectsEqual),i=cm(r.areSetsEqual);r=Object.assign({},r,{areArraysEqual:e,areMapsEqual:t,areObjectsEqual:n,areSetsEqual:i})}return r}function Zm(e){return function(t,n,r,i,a,o,s){return e(t,n,s)}}function Qm({circular:e,comparator:t,createState:n,equals:r,strict:i}){if(n)return function(a,o){let{cache:s=e?new WeakMap:void 0,meta:c}=n();return t(a,o,{cache:s,equals:r,meta:c,strict:i})};if(e)return function(e,n){return t(e,n,{cache:new WeakMap,equals:r,meta:void 0,strict:i})};let a={cache:void 0,equals:r,meta:void 0,strict:i};return function(e,n){return t(e,n,a)}}var $m=eh();eh({strict:!0}),eh({circular:!0}),eh({circular:!0,strict:!0}),eh({createInternalComparator:()=>fm}),eh({strict:!0,createInternalComparator:()=>fm}),eh({circular:!0,createInternalComparator:()=>fm}),eh({circular:!0,createInternalComparator:()=>fm,strict:!0});function eh(e={}){let{circular:t=!1,createInternalComparator:n,createState:r,strict:i=!1}=e,a=Ym(Xm(e));return Qm({circular:t,comparator:a,createState:r,equals:n?n(a):Zm(a),strict:i})}var th=t((e=>{var t=n(),r=zt();function i(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var a=typeof Object.is==`function`?Object.is:i,o=r.useSyncExternalStore,s=t.useRef,c=t.useEffect,l=t.useMemo,u=t.useDebugValue;e.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var d=s(null);if(d.current===null){var f={hasValue:!1,value:null};d.current=f}else f=d.current;d=l(function(){function e(e){if(!o){if(o=!0,s=e,e=r(e),i!==void 0&&f.hasValue){var t=f.value;if(i(t,e))return c=t}return c=e}if(t=c,a(s,e))return t;var n=r(e);return i!==void 0&&i(t,n)?(s=e,t):(s=e,c=n)}var o=!1,s,c,l=n===void 0?null:n;return[function(){return e(t())},l===null?void 0:function(){return e(l())}]},[t,n,r,i]);var p=o(e,d[0],d[1]);return c(function(){f.hasValue=!0,f.value=p},[p]),u(p),p}})),nh=t(((e,t)=>{t.exports=th()}))(),rh=(...e)=>t=>{e.forEach(e=>{typeof e==`function`?e(t):e&&(e.current=t)})},ih=({contentComponent:e})=>{let t=(0,Bt.useSyncExternalStore)(e.subscribe,e.getSnapshot,e.getServerSnapshot);return(0,V.jsx)(V.Fragment,{children:Object.values(t)})};function ah(){let e=new Set,t={};return{subscribe(t){return e.add(t),()=>{e.delete(t)}},getSnapshot(){return t},getServerSnapshot(){return t},setRenderer(n,r){t={...t,[n]:Vt.createPortal(r.reactElement,r.element,n)},e.forEach(e=>e())},removeRenderer(n){let r={...t};delete r[n],t=r,e.forEach(e=>e())}}}var oh=class extends B.Component{constructor(e){super(e),this.editorContentRef=B.createRef(),this.initialized=!1,this.state={hasContentComponentInitialized:!!e.editor?.contentComponent}}componentDidMount(){this.init()}componentDidUpdate(){this.init()}init(){let e=this.props.editor;if(e&&!e.isDestroyed&&e.view.dom?.parentNode){if(e.contentComponent)return;let t=this.editorContentRef.current;t.append(...e.view.dom.parentNode.childNodes),e.setOptions({element:t}),e.contentComponent=ah(),this.state.hasContentComponentInitialized||(this.unsubscribeToContentComponent=e.contentComponent.subscribe(()=>{this.setState(e=>e.hasContentComponentInitialized?e:{hasContentComponentInitialized:!0}),this.unsubscribeToContentComponent&&this.unsubscribeToContentComponent()})),e.createNodeViews(),this.initialized=!0}}componentWillUnmount(){let e=this.props.editor;if(e){this.initialized=!1,e.isDestroyed||e.view.setProps({nodeViews:{}}),this.unsubscribeToContentComponent&&this.unsubscribeToContentComponent(),e.contentComponent=null;try{if(!e.view.dom?.parentNode)return;let t=document.createElement(`div`);t.append(...e.view.dom.parentNode.childNodes),e.setOptions({element:t})}catch{}}}render(){let{editor:e,innerRef:t,...n}=this.props;return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`div`,{ref:rh(t,this.editorContentRef),...n}),e?.contentComponent&&(0,V.jsx)(ih,{contentComponent:e.contentComponent})]})}},sh=(0,B.forwardRef)((e,t)=>{let n=B.useMemo(()=>Math.floor(Math.random()*4294967295).toString(),[e.editor]);return B.createElement(oh,{key:n,innerRef:t,...e})}),ch=B.memo(sh),lh=typeof window<`u`?B.useLayoutEffect:B.useEffect,uh=class{constructor(e){this.transactionNumber=0,this.lastTransactionNumber=0,this.subscribers=new Set,this.editor=e,this.lastSnapshot={editor:e,transactionNumber:0},this.getSnapshot=this.getSnapshot.bind(this),this.getServerSnapshot=this.getServerSnapshot.bind(this),this.watch=this.watch.bind(this),this.subscribe=this.subscribe.bind(this)}getSnapshot(){return this.transactionNumber===this.lastTransactionNumber?this.lastSnapshot:(this.lastTransactionNumber=this.transactionNumber,this.lastSnapshot={editor:this.editor,transactionNumber:this.transactionNumber},this.lastSnapshot)}getServerSnapshot(){return{editor:null,transactionNumber:0}}subscribe(e){return this.subscribers.add(e),()=>{this.subscribers.delete(e)}}watch(e){if(this.editor=e,this.editor){let e=()=>{this.transactionNumber+=1,this.subscribers.forEach(e=>e())},t=this.editor;return t.on(`transaction`,e),()=>{t.off(`transaction`,e)}}}};function dh(e){let[t]=(0,B.useState)(()=>new uh(e.editor)),n=(0,nh.useSyncExternalStoreWithSelector)(t.subscribe,t.getSnapshot,t.getServerSnapshot,e.selector,e.equalityFn??$m);return lh(()=>t.watch(e.editor),[e.editor,t]),(0,B.useDebugValue)(n),n}var fh=!1,ph=typeof window>`u`,mh=ph||!!(typeof window<`u`&&window.next),hh=class e{constructor(e){this.editor=null,this.subscriptions=new Set,this.isComponentMounted=!1,this.previousDeps=null,this.instanceId=``,this.options=e,this.subscriptions=new Set,this.setEditor(this.getInitialEditor()),this.scheduleDestroy(),this.getEditor=this.getEditor.bind(this),this.getServerSnapshot=this.getServerSnapshot.bind(this),this.subscribe=this.subscribe.bind(this),this.refreshEditorInstance=this.refreshEditorInstance.bind(this),this.scheduleDestroy=this.scheduleDestroy.bind(this),this.onRender=this.onRender.bind(this),this.createEditor=this.createEditor.bind(this)}setEditor(e){this.editor=e,this.instanceId=Math.random().toString(36).slice(2,9),this.subscriptions.forEach(e=>e())}getInitialEditor(){if(this.options.current.immediatelyRender===void 0){if(ph||mh){if(fh)throw Error("Tiptap Error: SSR has been detected, please set `immediatelyRender` explicitly to `false` to avoid hydration mismatches.");return null}return this.createEditor()}if(this.options.current.immediatelyRender&&ph&&fh)throw Error("Tiptap Error: SSR has been detected, and `immediatelyRender` has been set to `true` this is an unsupported configuration that may result in errors, explicitly set `immediatelyRender` to `false` to avoid hydration mismatches.");return this.options.current.immediatelyRender?this.createEditor():null}createEditor(){return new Rp({...this.options.current,onBeforeCreate:(...e)=>{var t;return(t=this.options.current).onBeforeCreate?.call(t,...e)},onBlur:(...e)=>{var t;return(t=this.options.current).onBlur?.call(t,...e)},onCreate:(...e)=>{var t;return(t=this.options.current).onCreate?.call(t,...e)},onDestroy:(...e)=>{var t;return(t=this.options.current).onDestroy?.call(t,...e)},onFocus:(...e)=>{var t;return(t=this.options.current).onFocus?.call(t,...e)},onSelectionUpdate:(...e)=>{var t;return(t=this.options.current).onSelectionUpdate?.call(t,...e)},onTransaction:(...e)=>{var t;return(t=this.options.current).onTransaction?.call(t,...e)},onUpdate:(...e)=>{var t;return(t=this.options.current).onUpdate?.call(t,...e)},onContentError:(...e)=>{var t;return(t=this.options.current).onContentError?.call(t,...e)},onDrop:(...e)=>{var t;return(t=this.options.current).onDrop?.call(t,...e)},onPaste:(...e)=>{var t;return(t=this.options.current).onPaste?.call(t,...e)},onDelete:(...e)=>{var t;return(t=this.options.current).onDelete?.call(t,...e)}})}getEditor(){return this.editor}getServerSnapshot(){return null}subscribe(e){return this.subscriptions.add(e),()=>{this.subscriptions.delete(e)}}static compareOptions(e,t){return Object.keys(e).every(n=>[`onCreate`,`onBeforeCreate`,`onDestroy`,`onUpdate`,`onTransaction`,`onFocus`,`onBlur`,`onSelectionUpdate`,`onContentError`,`onDrop`,`onPaste`].includes(n)?!0:n===`extensions`&&e.extensions&&t.extensions?e.extensions.length===t.extensions.length?e.extensions.every((e,n)=>e===t.extensions?.[n]):!1:e[n]===t[n])}onRender(t){return()=>(this.isComponentMounted=!0,clearTimeout(this.scheduledDestructionTimeout),this.editor&&!this.editor.isDestroyed&&t.length===0?e.compareOptions(this.options.current,this.editor.options)||this.editor.setOptions({...this.options.current,editable:this.editor.isEditable}):this.refreshEditorInstance(t),()=>{this.isComponentMounted=!1,this.scheduleDestroy()})}refreshEditorInstance(e){if(this.editor&&!this.editor.isDestroyed){if(this.previousDeps===null){this.previousDeps=e;return}if(this.previousDeps.length===e.length&&this.previousDeps.every((t,n)=>t===e[n]))return}this.editor&&!this.editor.isDestroyed&&this.editor.destroy(),this.setEditor(this.createEditor()),this.previousDeps=e}scheduleDestroy(){let e=this.instanceId,t=this.editor;this.scheduledDestructionTimeout=setTimeout(()=>{if(this.isComponentMounted&&this.instanceId===e){t&&t.setOptions(this.options.current);return}t&&!t.isDestroyed&&(t.destroy(),this.instanceId===e&&this.setEditor(null))},1)}};function gh(e={},t=[]){let n=(0,B.useRef)(e);n.current=e;let[r]=(0,B.useState)(()=>new hh(n)),i=(0,Bt.useSyncExternalStore)(r.subscribe,r.getEditor,r.getServerSnapshot);return(0,B.useDebugValue)(i),(0,B.useEffect)(r.onRender(t)),dh({editor:i,selector:({transactionNumber:t})=>e.shouldRerenderOnTransaction===!1||e.shouldRerenderOnTransaction===void 0?null:e.immediatelyRender&&t===0?0:t+1}),i}var _h=(0,B.createContext)({editor:null});_h.Consumer;var vh=()=>(0,B.useContext)(_h),yh=(0,B.createContext)({onDragStart:()=>{},nodeViewContentChildren:void 0,nodeViewContentRef:()=>{}}),bh=()=>(0,B.useContext)(yh);B.forwardRef((e,t)=>{let{onDragStart:n}=bh();return(0,V.jsx)(e.as||`div`,{...e,ref:t,"data-node-view-wrapper":``,onDragStart:n,style:{whiteSpace:`normal`,...e.style}})}),B.createContext({markViewContentRef:()=>{}});var xh=(0,B.createContext)({get editor(){throw Error(`useTiptap must be used within a <Tiptap> provider`)}});xh.displayName=`TiptapContext`;var Sh=()=>(0,B.useContext)(xh);function Ch({editor:e,instance:t,children:n}){let r=e??t;if(!r)throw Error("Tiptap: An editor instance is required. Pass a non-null `editor` prop.");let i=(0,B.useMemo)(()=>({editor:r}),[r]),a=(0,B.useMemo)(()=>({editor:r}),[r]);return(0,V.jsx)(_h.Provider,{value:a,children:(0,V.jsx)(xh.Provider,{value:i,children:n})})}Ch.displayName=`Tiptap`;function wh({...e}){let{editor:t}=Sh();return(0,V.jsx)(ch,{editor:t,...e})}wh.displayName=`Tiptap.Content`,Object.assign(Ch,{Content:wh});var Th=[`top`,`right`,`bottom`,`left`],Eh=[`start`,`end`],Dh=Th.reduce((e,t)=>e.concat(t,t+`-`+Eh[0],t+`-`+Eh[1]),[]),Oh=Math.min,kh=Math.max,Ah=Math.round,jh=e=>({x:e,y:e}),Mh={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function Nh(e,t,n){return kh(e,Oh(t,n))}function Ph(e,t){return typeof e==`function`?e(t):e}function Fh(e){return e.split(`-`)[0]}function Ih(e){return e.split(`-`)[1]}function Lh(e){return e===`x`?`y`:`x`}function Rh(e){return e===`y`?`height`:`width`}function zh(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Bh(e){return Lh(zh(e))}function Vh(e,t,n){n===void 0&&(n=!1);let r=Ih(e),i=Bh(e),a=Rh(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Xh(o)),[o,Xh(o)]}function Hh(e){let t=Xh(e);return[Uh(e),t,Uh(t)]}function Uh(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Wh=[`left`,`right`],Gh=[`right`,`left`],Kh=[`top`,`bottom`],qh=[`bottom`,`top`];function Jh(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Gh:Wh:t?Wh:Gh;case`left`:case`right`:return t?Kh:qh;default:return[]}}function Yh(e,t,n,r){let i=Ih(e),a=Jh(Fh(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Uh)))),a}function Xh(e){let t=Fh(e);return Mh[t]+e.slice(t.length)}function Zh(e){return{top:0,right:0,bottom:0,left:0,...e}}function Qh(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Zh(e)}function $h(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function eg(e,t,n){let{reference:r,floating:i}=e,a=zh(t),o=Bh(t),s=Rh(o),c=Fh(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(Ih(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function tg(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=Ph(t,e),p=Qh(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=$h(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=$h(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var ng=50,rg=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:tg},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=eg(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<ng&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=eg(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},ig=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=Ph(e,t)||{};if(l==null)return{};let d=Qh(u),f={x:n,y:r},p=Bh(i),m=Rh(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=Oh(d[_],T),D=Oh(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=Nh(O,A,k),M=!c.arrow&&Ih(i)!=null&&A!==j&&a.reference[m]/2-(A<O?E:D)-h[m]/2<0,N=M?A<O?A-O:A-k:0;return{[p]:f[p]+N,data:{[p]:j,centerOffset:A-j-N,...M&&{alignmentOffset:N}},reset:M}}});function ag(e,t,n){return(e?[...n.filter(t=>Ih(t)===e),...n.filter(t=>Ih(t)!==e)]:n.filter(e=>Fh(e)===e)).filter(n=>e?Ih(n)===e||(t?Uh(n)!==n:!1):!0)}var og=function(e){return e===void 0&&(e={}),{name:`autoPlacement`,options:e,async fn(t){let{rects:n,middlewareData:r,placement:i,platform:a,elements:o}=t,{crossAxis:s=!1,alignment:c,allowedPlacements:l=Dh,autoAlignment:u=!0,...d}=Ph(e,t),f=c!==void 0||l===Dh?ag(c||null,u,l):l,p=await a.detectOverflow(t,d),m=r.autoPlacement?.index||0,h=f[m];if(h==null)return{};let g=Vh(h,n,await(a.isRTL==null?void 0:a.isRTL(o.floating)));if(i!==h)return{reset:{placement:f[0]}};let _=[p[Fh(h)],p[g[0]],p[g[1]]],v=[...r.autoPlacement?.overflows||[],{placement:h,overflows:_}],y=f[m+1];if(y)return{data:{index:m+1,overflows:v},reset:{placement:y}};let b=v.map(e=>{let t=Ih(e.placement);return[e.placement,t&&s?e.overflows.slice(0,2).reduce((e,t)=>e+t,0):e.overflows[0],e.overflows]}).sort((e,t)=>e[1]-t[1]),x=b.filter(e=>e[2].slice(0,Ih(e[0])?2:3).every(e=>e<=0))[0]?.[0]||b[0][0];return x===i?{}:{data:{index:m+1,overflows:v},reset:{placement:x}}}}},sg=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=Ph(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=Fh(r),_=zh(o),v=Fh(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Xh(o)]:Hh(o)),x=p!==`none`;!d&&x&&b.push(...Yh(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=Vh(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==zh(t))||T.every(e=>zh(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=zh(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function cg(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function lg(e){return Th.some(t=>e[t]>=0)}var ug=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=Ph(e,t);switch(i){case`referenceHidden`:{let e=cg(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:lg(e)}}}case`escaped`:{let e=cg(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:lg(e)}}}default:return{}}}}};function dg(e){let t=Oh(...e.map(e=>e.left)),n=Oh(...e.map(e=>e.top)),r=kh(...e.map(e=>e.right)),i=kh(...e.map(e=>e.bottom));return{x:t,y:n,width:r-t,height:i-n}}function fg(e){let t=e.slice().sort((e,t)=>e.y-t.y),n=[],r=null;for(let e=0;e<t.length;e++){let i=t[e];!r||i.y-r.y>r.height/2?n.push([i]):n[n.length-1].push(i),r=i}return n.map(e=>$h(dg(e)))}var pg=function(e){return e===void 0&&(e={}),{name:`inline`,options:e,async fn(t){let{placement:n,elements:r,rects:i,platform:a,strategy:o}=t,{padding:s=2,x:c,y:l}=Ph(e,t),u=Array.from(await(a.getClientRects==null?void 0:a.getClientRects(r.reference))||[]),d=fg(u),f=$h(dg(u)),p=Qh(s);function m(){if(d.length===2&&d[0].left>d[1].right&&c!=null&&l!=null)return d.find(e=>c>e.left-p.left&&c<e.right+p.right&&l>e.top-p.top&&l<e.bottom+p.bottom)||f;if(d.length>=2){if(zh(n)===`y`){let e=d[0],t=d[d.length-1],r=Fh(n)===`top`,i=e.top,a=t.bottom,o=r?e.left:t.left,s=r?e.right:t.right;return{top:i,bottom:a,left:o,right:s,width:s-o,height:a-i,x:o,y:i}}let e=Fh(n)===`left`,t=kh(...d.map(e=>e.right)),r=Oh(...d.map(e=>e.left)),i=d.filter(n=>e?n.left===r:n.right===t),a=i[0].top,o=i[i.length-1].bottom,s=r,c=t;return{top:a,bottom:o,left:s,right:c,width:c-s,height:o-a,x:s,y:a}}return f}let h=await a.getElementRects({reference:{getBoundingClientRect:m},floating:r.floating,strategy:o});return i.reference.x!==h.reference.x||i.reference.y!==h.reference.y||i.reference.width!==h.reference.width||i.reference.height!==h.reference.height?{reset:{rects:h}}:{}}}},mg=new Set([`left`,`top`]);async function hg(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=Fh(n),s=Ih(n),c=zh(n)===`y`,l=mg.has(o)?-1:1,u=a&&c?-1:1,d=Ph(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var gg=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await hg(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},_g=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=Ph(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=zh(Fh(i)),p=Lh(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=Nh(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=Nh(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},vg=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=Ph(e,t),u=await o.detectOverflow(t,l),d=Fh(i),f=Ih(i),p=zh(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=Oh(h-u[g],v),x=Oh(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=kh(u.left,0),t=kh(u.right,0),n=kh(u.top,0),r=kh(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:kh(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:kh(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function yg(){return typeof window<`u`}function bg(e){return Cg(e)?(e.nodeName||``).toLowerCase():`#document`}function xg(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Sg(e){return((Cg(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Cg(e){return yg()?e instanceof Node||e instanceof xg(e).Node:!1}function wg(e){return yg()?e instanceof Element||e instanceof xg(e).Element:!1}function Tg(e){return yg()?e instanceof HTMLElement||e instanceof xg(e).HTMLElement:!1}function Eg(e){return!yg()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof xg(e).ShadowRoot}function Dg(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=Rg(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function Og(e){return/^(table|td|th)$/.test(bg(e))}function kg(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Ag=/transform|translate|scale|rotate|perspective|filter/,jg=/paint|layout|strict|content/,Mg=e=>!!e&&e!==`none`,Ng;function Pg(e){let t=wg(e)?Rg(e):e;return Mg(t.transform)||Mg(t.translate)||Mg(t.scale)||Mg(t.rotate)||Mg(t.perspective)||!Ig()&&(Mg(t.backdropFilter)||Mg(t.filter))||Ag.test(t.willChange||``)||jg.test(t.contain||``)}function Fg(e){let t=Bg(e);for(;Tg(t)&&!Lg(t);){if(Pg(t))return t;if(kg(t))return null;t=Bg(t)}return null}function Ig(){return Ng??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Ng}function Lg(e){return/^(html|body|#document)$/.test(bg(e))}function Rg(e){return xg(e).getComputedStyle(e)}function zg(e){return wg(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Bg(e){if(bg(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Eg(e)&&e.host||Sg(e);return Eg(t)?t.host:t}function Vg(e){let t=Bg(e);return Lg(t)?e.ownerDocument?e.ownerDocument.body:e.body:Tg(t)&&Dg(t)?t:Vg(t)}function Hg(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Vg(e),i=r===e.ownerDocument?.body,a=xg(r);if(i){let e=Ug(a);return t.concat(a,a.visualViewport||[],Dg(r)?r:[],e&&n?Hg(e):[])}else return t.concat(r,Hg(r,[],n))}function Ug(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Wg(e){let t=Rg(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Tg(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=Ah(n)!==a||Ah(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Gg(e){return wg(e)?e:e.contextElement}function Kg(e){let t=Gg(e);if(!Tg(t))return jh(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Wg(t),o=(a?Ah(n.width):n.width)/r,s=(a?Ah(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var qg=jh(0);function Jg(e){let t=xg(e);return!Ig()||!t.visualViewport?qg:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Yg(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==xg(e)?!1:t}function Xg(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Gg(e),o=jh(1);t&&(r?wg(r)&&(o=Kg(r)):o=Kg(e));let s=Yg(a,n,r)?Jg(a):jh(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=xg(a),t=r&&wg(r)?xg(r):r,n=e,i=Ug(n);for(;i&&r&&t!==n;){let e=Kg(i),t=i.getBoundingClientRect(),r=Rg(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=xg(i),i=Ug(n)}}return $h({width:u,height:d,x:c,y:l})}function Zg(e,t){let n=zg(e).scrollLeft;return t?t.left+n:Xg(Sg(e)).left+n}function Qg(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Zg(e,n),y:n.top+t.scrollTop}}function $g(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=Sg(r),s=t?kg(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=jh(1),u=jh(0),d=Tg(r);if((d||!d&&!a)&&((bg(r)!==`body`||Dg(o))&&(c=zg(r)),d)){let e=Xg(r);l=Kg(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Qg(o,c):jh(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function e_(e){return Array.from(e.getClientRects())}function t_(e){let t=Sg(e),n=zg(e),r=e.ownerDocument.body,i=kh(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=kh(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+Zg(e),s=-n.scrollTop;return Rg(r).direction===`rtl`&&(o+=kh(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var n_=25;function r_(e,t){let n=xg(e),r=Sg(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=Ig();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=Zg(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=n_&&(a-=o)}else l<=n_&&(a+=l);return{width:a,height:o,x:s,y:c}}function i_(e,t){let n=Xg(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Tg(e)?Kg(e):jh(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function a_(e,t,n){let r;if(t===`viewport`)r=r_(e,n);else if(t===`document`)r=t_(Sg(e));else if(wg(t))r=i_(t,n);else{let n=Jg(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return $h(r)}function o_(e,t){let n=Bg(e);return n===t||!wg(n)||Lg(n)?!1:Rg(n).position===`fixed`||o_(n,t)}function s_(e,t){let n=t.get(e);if(n)return n;let r=Hg(e,[],!1).filter(e=>wg(e)&&bg(e)!==`body`),i=null,a=Rg(e).position===`fixed`,o=a?Bg(e):e;for(;wg(o)&&!Lg(o);){let t=Rg(o),n=Pg(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||Dg(o)&&!n&&o_(e,o))?r=r.filter(e=>e!==o):i=t,o=Bg(o)}return t.set(e,r),r}function c_(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?kg(t)?[]:s_(t,this._c):[].concat(n),r],o=a_(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=a_(t,a[e],i);s=kh(n.top,s),c=Oh(n.right,c),l=Oh(n.bottom,l),u=kh(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function l_(e){let{width:t,height:n}=Wg(e);return{width:t,height:n}}function u_(e,t,n){let r=Tg(t),i=Sg(t),a=n===`fixed`,o=Xg(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=jh(0);function l(){c.x=Zg(i)}if(r||!r&&!a)if((bg(t)!==`body`||Dg(i))&&(s=zg(t)),r){let e=Xg(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?Qg(i,s):jh(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function d_(e){return Rg(e).position===`static`}function f_(e,t){if(!Tg(e)||Rg(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return Sg(e)===n&&(n=n.ownerDocument.body),n}function p_(e,t){let n=xg(e);if(kg(e))return n;if(!Tg(e)){let t=Bg(e);for(;t&&!Lg(t);){if(wg(t)&&!d_(t))return t;t=Bg(t)}return n}let r=f_(e,t);for(;r&&Og(r)&&d_(r);)r=f_(r,t);return r&&Lg(r)&&d_(r)&&!Pg(r)?n:r||Fg(e)||n}var m_=async function(e){let t=this.getOffsetParent||p_,n=this.getDimensions,r=await n(e.floating);return{reference:u_(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function h_(e){return Rg(e).direction===`rtl`}var g_={convertOffsetParentRelativeRectToViewportRelativeRect:$g,getDocumentElement:Sg,getClippingRect:c_,getOffsetParent:p_,getElementRects:m_,getClientRects:e_,getDimensions:l_,getScale:Kg,isElement:wg,isRTL:h_},__=gg,v_=og,y_=_g,b_=sg,x_=vg,S_=ug,C_=ig,w_=pg,T_=(e,t,n)=>{let r=new Map,i={platform:g_,...n},a={...i.platform,_c:r};return rg(e,t,{...i,platform:a})},E_,D_;if(typeof WeakMap<`u`){let e=new WeakMap;E_=t=>e.get(t),D_=(t,n)=>(e.set(t,n),n)}else{let e=[],t=0;E_=t=>{for(let n=0;n<e.length;n+=2)if(e[n]==t)return e[n+1]},D_=(n,r)=>(t==10&&(t=0),e[t++]=n,e[t++]=r)}var O_=class{constructor(e,t,n,r){this.width=e,this.height=t,this.map=n,this.problems=r}findCell(e){for(let t=0;t<this.map.length;t++){let n=this.map[t];if(n!=e)continue;let r=t%this.width,i=t/this.width|0,a=r+1,o=i+1;for(let e=1;a<this.width&&this.map[t+e]==n;e++)a++;for(let e=1;o<this.height&&this.map[t+this.width*e]==n;e++)o++;return{left:r,top:i,right:a,bottom:o}}throw RangeError(`No cell with offset ${e} found`)}colCount(e){for(let t=0;t<this.map.length;t++)if(this.map[t]==e)return t%this.width;throw RangeError(`No cell with offset ${e} found`)}nextCell(e,t,n){let{left:r,right:i,top:a,bottom:o}=this.findCell(e);return t==`horiz`?(n<0?r==0:i==this.width)?null:this.map[a*this.width+(n<0?r-1:i)]:(n<0?a==0:o==this.height)?null:this.map[r+this.width*(n<0?a-1:o)]}rectBetween(e,t){let{left:n,right:r,top:i,bottom:a}=this.findCell(e),{left:o,right:s,top:c,bottom:l}=this.findCell(t);return{left:Math.min(n,o),top:Math.min(i,c),right:Math.max(r,s),bottom:Math.max(a,l)}}cellsInRect(e){let t=[],n={};for(let r=e.top;r<e.bottom;r++)for(let i=e.left;i<e.right;i++){let a=r*this.width+i,o=this.map[a];n[o]||(n[o]=!0,!(i==e.left&&i&&this.map[a-1]==o||r==e.top&&r&&this.map[a-this.width]==o)&&t.push(o))}return t}positionAt(e,t,n){for(let r=0,i=0;;r++){let a=i+n.child(r).nodeSize;if(r==e){let n=t+e*this.width,r=(e+1)*this.width;for(;n<r&&this.map[n]<i;)n++;return n==r?a-1:this.map[n]}i=a}}static get(e){return E_(e)||D_(e,k_(e))}};function k_(e){if(e.type.spec.tableRole!=`table`)throw RangeError(`Not a table node: `+e.type.name);let t=A_(e),n=e.childCount,r=[],i=0,a=null,o=[];for(let e=0,i=t*n;e<i;e++)r[e]=0;for(let s=0,c=0;s<n;s++){let l=e.child(s);c++;for(let e=0;;e++){for(;i<r.length&&r[i]!=0;)i++;if(e==l.childCount)break;let u=l.child(e),{colspan:d,rowspan:f,colwidth:p}=u.attrs;for(let e=0;e<f;e++){if(e+s>=n){(a||=[]).push({type:`overlong_rowspan`,pos:c,n:f-e});break}let l=i+e*t;for(let e=0;e<d;e++){r[l+e]==0?r[l+e]=c:(a||=[]).push({type:`collision`,row:s,pos:c,n:d-e});let n=p&&p[e];if(n){let r=(l+e)%t*2,i=o[r];i==null||i!=n&&o[r+1]==1?(o[r]=n,o[r+1]=1):i==n&&o[r+1]++}}}i+=d,c+=u.nodeSize}let u=(s+1)*t,d=0;for(;i<u;)r[i++]==0&&d++;d&&(a||=[]).push({type:`missing`,row:s,n:d}),c++}(t===0||n===0)&&(a||=[]).push({type:`zero_sized`});let s=new O_(t,n,r,a),c=!1;for(let e=0;!c&&e<o.length;e+=2)o[e]!=null&&o[e+1]<n&&(c=!0);return c&&j_(s,o,e),s}function A_(e){let t=-1,n=!1;for(let r=0;r<e.childCount;r++){let i=e.child(r),a=0;if(n)for(let t=0;t<r;t++){let n=e.child(t);for(let e=0;e<n.childCount;e++){let i=n.child(e);t+i.attrs.rowspan>r&&(a+=i.attrs.colspan)}}for(let e=0;e<i.childCount;e++){let t=i.child(e);a+=t.attrs.colspan,t.attrs.rowspan>1&&(n=!0)}t==-1?t=a:t!=a&&(t=Math.max(t,a))}return t}function j_(e,t,n){e.problems||=[];let r={};for(let i=0;i<e.map.length;i++){let a=e.map[i];if(r[a])continue;r[a]=!0;let o=n.nodeAt(a);if(!o)throw RangeError(`No cell with offset ${a} found`);let s=null,c=o.attrs;for(let n=0;n<c.colspan;n++){let r=t[(i+n)%e.width*2];r!=null&&(!c.colwidth||c.colwidth[n]!=r)&&((s||=M_(c))[n]=r)}s&&e.problems.unshift({type:`colwidth mismatch`,pos:a,colwidth:s})}}function M_(e){if(e.colwidth)return e.colwidth.slice();let t=[];for(let n=0;n<e.colspan;n++)t.push(0);return t}function N_(e){let t=e.cached.tableNodeTypes;if(!t){t=e.cached.tableNodeTypes={};for(let n in e.nodes){let r=e.nodes[n],i=r.spec.tableRole;i&&(t[i]=r)}}return t}new Ki(`selectingCells`);function P_(e){for(let t=e.depth-1;t>0;t--)if(e.node(t).type.spec.tableRole==`row`)return e.node(0).resolve(e.before(t+1));return null}function F_(e){let t=e.selection.$head;for(let e=t.depth;e>0;e--)if(t.node(e).type.spec.tableRole==`row`)return!0;return!1}function I_(e){let t=e.selection;if(`$anchorCell`in t&&t.$anchorCell)return t.$anchorCell.pos>t.$headCell.pos?t.$anchorCell:t.$headCell;if(`node`in t&&t.node&&t.node.type.spec.tableRole==`cell`)return t.$anchor;let n=P_(t.$head)||L_(t.$head);if(n)return n;throw RangeError(`No cell found around position ${t.head}`)}function L_(e){for(let t=e.nodeAfter,n=e.pos;t;t=t.firstChild,n++){let r=t.type.spec.tableRole;if(r==`cell`||r==`header_cell`)return e.doc.resolve(n)}for(let t=e.nodeBefore,n=e.pos;t;t=t.lastChild,n--){let r=t.type.spec.tableRole;if(r==`cell`||r==`header_cell`)return e.doc.resolve(n-t.nodeSize)}}function R_(e){return e.parent.type.spec.tableRole==`row`&&!!e.nodeAfter}function z_(e,t){return e.depth==t.depth&&e.pos>=t.start(-1)&&e.pos<=t.end(-1)}function B_(e,t,n){let r=e.node(-1),i=O_.get(r),a=e.start(-1),o=i.nextCell(e.pos-a,t,n);return o==null?null:e.node(0).resolve(a+o)}function V_(e,t,n=1){let r={...e,colspan:e.colspan-n};return r.colwidth&&(r.colwidth=r.colwidth.slice(),r.colwidth.splice(t,n),r.colwidth.some(e=>e>0)||(r.colwidth=null)),r}var H_=class e extends G{constructor(e,t=e){let n=e.node(-1),r=O_.get(n),i=e.start(-1),a=r.rectBetween(e.pos-i,t.pos-i),o=e.node(0),s=r.cellsInRect(a).filter(e=>e!=t.pos-i);s.unshift(t.pos-i);let c=s.map(e=>{let t=n.nodeAt(e);if(!t)throw RangeError(`No cell with offset ${e} found`);let r=i+e+1;return new wi(o.resolve(r),o.resolve(r+t.content.size))});super(c[0].$from,c[0].$to,c),this.$anchorCell=e,this.$headCell=t}map(t,n){let r=t.resolve(n.map(this.$anchorCell.pos)),i=t.resolve(n.map(this.$headCell.pos));if(R_(r)&&R_(i)&&z_(r,i)){let t=this.$anchorCell.node(-1)!=r.node(-1);return t&&this.isRowSelection()?e.rowSelection(r,i):t&&this.isColSelection()?e.colSelection(r,i):new e(r,i)}return K.between(r,i)}content(){let e=this.$anchorCell.node(-1),t=O_.get(e),n=this.$anchorCell.start(-1),r=t.rectBetween(this.$anchorCell.pos-n,this.$headCell.pos-n),i={},a=[];for(let n=r.top;n<r.bottom;n++){let o=[];for(let a=n*t.width+r.left,s=r.left;s<r.right;s++,a++){let n=t.map[a];if(i[n])continue;i[n]=!0;let s=t.findCell(n),c=e.nodeAt(n);if(!c)throw RangeError(`No cell with offset ${n} found`);let l=r.left-s.left,u=s.right-r.right;if(l>0||u>0){let e=c.attrs;if(l>0&&(e=V_(e,0,l)),u>0&&(e=V_(e,e.colspan-u,u)),s.left<r.left){if(c=c.type.createAndFill(e),!c)throw RangeError(`Could not create cell with attrs ${JSON.stringify(e)}`)}else c=c.type.create(e,c.content)}if(s.top<r.top||s.bottom>r.bottom){let e={...c.attrs,rowspan:Math.min(s.bottom,r.bottom)-Math.max(s.top,r.top)};c=s.top<r.top?c.type.createAndFill(e):c.type.create(e,c.content)}o.push(c)}a.push(e.child(n).copy(H.from(o)))}let o=this.isColSelection()&&this.isRowSelection()?e:a;return new W(H.from(o),1,1)}replace(e,t=W.empty){let n=e.steps.length,r=this.ranges;for(let i=0;i<r.length;i++){let{$from:a,$to:o}=r[i],s=e.mapping.slice(n);e.replace(s.map(a.pos),s.map(o.pos),i?W.empty:t)}let i=G.findFrom(e.doc.resolve(e.mapping.slice(n).map(this.to)),-1);i&&e.setSelection(i)}replaceWith(e,t){this.replace(e,new W(H.from(t),0,0))}forEachCell(e){let t=this.$anchorCell.node(-1),n=O_.get(t),r=this.$anchorCell.start(-1),i=n.cellsInRect(n.rectBetween(this.$anchorCell.pos-r,this.$headCell.pos-r));for(let n=0;n<i.length;n++)e(t.nodeAt(i[n]),r+i[n])}isColSelection(){let e=this.$anchorCell.index(-1),t=this.$headCell.index(-1);if(Math.min(e,t)>0)return!1;let n=e+this.$anchorCell.nodeAfter.attrs.rowspan,r=t+this.$headCell.nodeAfter.attrs.rowspan;return Math.max(n,r)==this.$headCell.node(-1).childCount}static colSelection(t,n=t){let r=t.node(-1),i=O_.get(r),a=t.start(-1),o=i.findCell(t.pos-a),s=i.findCell(n.pos-a),c=t.node(0);return o.top<=s.top?(o.top>0&&(t=c.resolve(a+i.map[o.left])),s.bottom<i.height&&(n=c.resolve(a+i.map[i.width*(i.height-1)+s.right-1]))):(s.top>0&&(n=c.resolve(a+i.map[s.left])),o.bottom<i.height&&(t=c.resolve(a+i.map[i.width*(i.height-1)+o.right-1]))),new e(t,n)}isRowSelection(){let e=this.$anchorCell.node(-1),t=O_.get(e),n=this.$anchorCell.start(-1),r=t.colCount(this.$anchorCell.pos-n),i=t.colCount(this.$headCell.pos-n);if(Math.min(r,i)>0)return!1;let a=r+this.$anchorCell.nodeAfter.attrs.colspan,o=i+this.$headCell.nodeAfter.attrs.colspan;return Math.max(a,o)==t.width}eq(t){return t instanceof e&&t.$anchorCell.pos==this.$anchorCell.pos&&t.$headCell.pos==this.$headCell.pos}static rowSelection(t,n=t){let r=t.node(-1),i=O_.get(r),a=t.start(-1),o=i.findCell(t.pos-a),s=i.findCell(n.pos-a),c=t.node(0);return o.left<=s.left?(o.left>0&&(t=c.resolve(a+i.map[o.top*i.width])),s.right<i.width&&(n=c.resolve(a+i.map[i.width*(s.top+1)-1]))):(s.left>0&&(n=c.resolve(a+i.map[s.top*i.width])),o.right<i.width&&(t=c.resolve(a+i.map[i.width*(o.top+1)-1]))),new e(t,n)}toJSON(){return{type:`cell`,anchor:this.$anchorCell.pos,head:this.$headCell.pos}}static fromJSON(t,n){return new e(t.resolve(n.anchor),t.resolve(n.head))}static create(t,n,r=n){return new e(t.resolve(n),t.resolve(r))}getBookmark(){return new U_(this.$anchorCell.pos,this.$headCell.pos)}};H_.prototype.visible=!1,G.jsonID(`cell`,H_);var U_=class e{constructor(e,t){this.anchor=e,this.head=t}map(t){return new e(t.map(this.anchor),t.map(this.head))}resolve(e){let t=e.resolve(this.anchor),n=e.resolve(this.head);return t.parent.type.spec.tableRole==`row`&&n.parent.type.spec.tableRole==`row`&&t.index()<t.parent.childCount&&n.index()<n.parent.childCount&&z_(t,n)?new H_(t,n):G.near(n,1)}};new Ki(`fix-tables`);function W_(e){let t=e.selection,n=I_(e),r=n.node(-1),i=n.start(-1),a=O_.get(r);return{...t instanceof H_?a.rectBetween(t.$anchorCell.pos-i,t.$headCell.pos-i):a.findCell(n.pos-i),tableStart:i,map:a,table:r}}function G_(e){return function(t,n){if(!F_(t))return!1;if(n){let r=N_(t.schema),i=W_(t),a=t.tr,o=i.map.cellsInRect(e==`column`?{left:i.left,top:0,right:i.right,bottom:i.map.height}:e==`row`?{left:0,top:i.top,right:i.map.width,bottom:i.bottom}:i),s=o.map(e=>i.table.nodeAt(e));for(let e=0;e<o.length;e++)s[e].type==r.header_cell&&a.setNodeMarkup(i.tableStart+o[e],r.cell,s[e].attrs);if(a.steps.length===0)for(let e=0;e<o.length;e++)a.setNodeMarkup(i.tableStart+o[e],r.header_cell,s[e].attrs);n(a)}return!0}}function K_(e,t,n){let r=t.map.cellsInRect({left:0,top:0,right:e==`row`?t.map.width:1,bottom:e==`column`?t.map.height:1});for(let e=0;e<r.length;e++){let i=t.table.nodeAt(r[e]);if(i&&i.type!==n.header_cell)return!1}return!0}function q_(e,t){return t||={useDeprecatedLogic:!1},t.useDeprecatedLogic?G_(e):function(t,n){if(!F_(t))return!1;if(n){let r=N_(t.schema),i=W_(t),a=t.tr,o=K_(`row`,i,r),s=K_(`column`,i,r),c=(e===`column`?o:e===`row`&&s)?1:0,l=e==`column`?{left:0,top:c,right:1,bottom:i.map.height}:e==`row`?{left:c,top:0,right:i.map.width,bottom:1}:i,u=e==`column`?s?r.cell:r.header_cell:e==`row`?o?r.cell:r.header_cell:r.cell;i.map.cellsInRect(l).forEach(e=>{let t=e+i.tableStart,n=a.doc.nodeAt(t);n&&a.setNodeMarkup(t,u,n.attrs)}),n(a)}return!0}}q_(`row`,{useDeprecatedLogic:!0}),q_(`column`,{useDeprecatedLogic:!0}),q_(`cell`,{useDeprecatedLogic:!0});function J_(e,t){let n=e.selection;if(!(n instanceof H_))return!1;if(t){let r=e.tr,i=N_(e.schema).cell.createAndFill().content;n.forEachCell((e,t)=>{e.content.eq(i)||r.replace(r.mapping.map(t+1),r.mapping.map(t+e.nodeSize-1),new W(i,0,0))}),r.docChanged&&t(r)}return!0}xu({ArrowLeft:X_(`horiz`,-1),ArrowRight:X_(`horiz`,1),ArrowUp:X_(`vert`,-1),ArrowDown:X_(`vert`,1),"Shift-ArrowLeft":Z_(`horiz`,-1),"Shift-ArrowRight":Z_(`horiz`,1),"Shift-ArrowUp":Z_(`vert`,-1),"Shift-ArrowDown":Z_(`vert`,1),Backspace:J_,"Mod-Backspace":J_,Delete:J_,"Mod-Delete":J_});function Y_(e,t,n){return n.eq(e.selection)?!1:(t&&t(e.tr.setSelection(n).scrollIntoView()),!0)}function X_(e,t){return(n,r,i)=>{if(!i)return!1;let a=n.selection;if(a instanceof H_)return Y_(n,r,G.near(a.$headCell,t));if(e!=`horiz`&&!a.empty)return!1;let o=Q_(i,e,t);if(o==null)return!1;if(e==`horiz`)return Y_(n,r,G.near(n.doc.resolve(a.head+t),t));{let i=n.doc.resolve(o),a=B_(i,e,t),s;return s=a?G.near(a,1):t<0?G.near(n.doc.resolve(i.before(-1)),-1):G.near(n.doc.resolve(i.after(-1)),1),Y_(n,r,s)}}}function Z_(e,t){return(n,r,i)=>{if(!i)return!1;let a=n.selection,o;if(a instanceof H_)o=a;else{let r=Q_(i,e,t);if(r==null)return!1;o=new H_(n.doc.resolve(r))}let s=B_(o.$headCell,e,t);return s?Y_(n,r,new H_(o.$anchorCell,s)):!1}}function Q_(e,t,n){if(!(e.state.selection instanceof K))return null;let{$head:r}=e.state.selection;for(let i=r.depth-1;i>=0;i--){let a=r.node(i);if((n<0?r.index(i):r.indexAfter(i))!=(n<0?0:a.childCount))return null;if(a.type.spec.tableRole==`cell`||a.type.spec.tableRole==`header_cell`){let a=r.before(i),o=t==`vert`?n>0?`down`:`up`:n>0?`right`:`left`;return e.endOfTextblock(o)?a:null}}return null}new Ki(`tableColumnResizing`);function $_(e,t){let n=Math.min(e.top,t.top),r=Math.max(e.bottom,t.bottom),i=Math.min(e.left,t.left),a=Math.max(e.right,t.right)-i,o=r-n;return new DOMRect(i,n,a,o)}var ev=class{constructor({editor:e,element:t,view:n,pluginKey:r=`bubbleMenu`,updateDelay:i=250,resizeDelay:a=60,shouldShow:o,appendTo:s,getReferencedVirtualElement:c,options:l}){this.preventHide=!1,this.isVisible=!1,this.scrollTarget=window,this.floatingUIOptions={strategy:`absolute`,placement:`top`,offset:8,flip:{},shift:{},arrow:!1,size:!1,autoPlacement:!1,hide:!1,inline:!1,onShow:void 0,onHide:void 0,onUpdate:void 0,onDestroy:void 0},this.shouldShow=({view:e,state:t,from:n,to:r})=>{let{doc:i,selection:a}=t,{empty:o}=a,s=!i.textBetween(n,r).length&&Ju(t.selection),c=this.element.contains(document.activeElement);return!(!(e.hasFocus()||c)||o||s||!this.editor.isEditable)},this.mousedownHandler=()=>{this.preventHide=!0},this.dragstartHandler=()=>{this.hide()},this.resizeHandler=()=>{this.resizeDebounceTimer&&clearTimeout(this.resizeDebounceTimer),this.resizeDebounceTimer=window.setTimeout(()=>{this.updatePosition()},this.resizeDelay)},this.focusHandler=()=>{setTimeout(()=>this.update(this.editor.view))},this.blurHandler=({event:e})=>{if(this.editor.isDestroyed){this.destroy();return}if(this.preventHide){this.preventHide=!1;return}e?.relatedTarget&&this.element.parentNode?.contains(e.relatedTarget)||e?.relatedTarget!==this.editor.view.dom&&this.hide()},this.handleDebouncedUpdate=(e,t)=>{let n=!t?.selection.eq(e.state.selection),r=!t?.doc.eq(e.state.doc);!n&&!r||(this.updateDebounceTimer&&clearTimeout(this.updateDebounceTimer),this.updateDebounceTimer=window.setTimeout(()=>{this.updateHandler(e,n,r,t)},this.updateDelay))},this.updateHandler=(e,t,n,r)=>{let{composing:i}=e;if(!(i||!t&&!n)){if(!this.getShouldShow(r)){this.hide();return}this.updatePosition(),this.show()}},this.transactionHandler=({transaction:e})=>{let t=e.getMeta(this.pluginKey);t===`updatePosition`?this.updatePosition():t&&typeof t==`object`&&t.type===`updateOptions`&&this.updateOptions(t.options)},this.editor=e,this.element=t,this.view=n,this.pluginKey=r,this.updateDelay=i,this.resizeDelay=a,this.appendTo=s,this.scrollTarget=l?.scrollTarget??window,this.getReferencedVirtualElement=c,this.floatingUIOptions={...this.floatingUIOptions,...l},this.element.tabIndex=0,o&&(this.shouldShow=o),this.element.addEventListener(`mousedown`,this.mousedownHandler,{capture:!0}),this.view.dom.addEventListener(`dragstart`,this.dragstartHandler),this.editor.on(`focus`,this.focusHandler),this.editor.on(`blur`,this.blurHandler),this.editor.on(`transaction`,this.transactionHandler),window.addEventListener(`resize`,this.resizeHandler),this.scrollTarget.addEventListener(`scroll`,this.resizeHandler),this.update(n,n.state),this.getShouldShow()&&(this.show(),this.updatePosition())}get middlewares(){let e=[];return this.floatingUIOptions.flip&&e.push(b_(typeof this.floatingUIOptions.flip==`boolean`?void 0:this.floatingUIOptions.flip)),this.floatingUIOptions.shift&&e.push(y_(typeof this.floatingUIOptions.shift==`boolean`?void 0:this.floatingUIOptions.shift)),this.floatingUIOptions.offset&&e.push(__(typeof this.floatingUIOptions.offset==`boolean`?void 0:this.floatingUIOptions.offset)),this.floatingUIOptions.arrow&&e.push(C_(this.floatingUIOptions.arrow)),this.floatingUIOptions.size&&e.push(x_(typeof this.floatingUIOptions.size==`boolean`?void 0:this.floatingUIOptions.size)),this.floatingUIOptions.autoPlacement&&e.push(v_(typeof this.floatingUIOptions.autoPlacement==`boolean`?void 0:this.floatingUIOptions.autoPlacement)),this.floatingUIOptions.hide&&e.push(S_(typeof this.floatingUIOptions.hide==`boolean`?void 0:this.floatingUIOptions.hide)),this.floatingUIOptions.inline&&e.push(w_(typeof this.floatingUIOptions.inline==`boolean`?void 0:this.floatingUIOptions.inline)),e}get virtualElement(){let{selection:e}=this.editor.state,t=this.getReferencedVirtualElement?.call(this);if(t)return t;if(!this.view?.dom?.parentNode)return;let n=Pf(this.view,e.from,e.to),r={getBoundingClientRect:()=>n,getClientRects:()=>[n]};if(e instanceof q){let t=this.view.nodeDOM(e.from),n=t.dataset.nodeViewWrapper?t:t.querySelector(`[data-node-view-wrapper]`);n&&(t=n),t&&(r={getBoundingClientRect:()=>t.getBoundingClientRect(),getClientRects:()=>[t.getBoundingClientRect()]})}if(e instanceof H_){let{$anchorCell:t,$headCell:n}=e,i=t?t.pos:n.pos,a=n?n.pos:t.pos,o=this.view.nodeDOM(i),s=this.view.nodeDOM(a);if(!o||!s)return;let c=o===s?o.getBoundingClientRect():$_(o.getBoundingClientRect(),s.getBoundingClientRect());r={getBoundingClientRect:()=>c,getClientRects:()=>[c]}}return r}updatePosition(){let e=this.virtualElement;e&&T_(e,this.element,{placement:this.floatingUIOptions.placement,strategy:this.floatingUIOptions.strategy,middleware:this.middlewares}).then(({x:e,y:t,strategy:n,middlewareData:r})=>{if(r.hide?.referenceHidden||r.hide?.escaped){this.element.style.visibility=`hidden`;return}this.element.style.visibility=`visible`,this.element.style.width=`max-content`,this.element.style.position=n,this.element.style.left=`${e}px`,this.element.style.top=`${t}px`,this.isVisible&&this.floatingUIOptions.onUpdate&&this.floatingUIOptions.onUpdate()})}update(e,t){let{state:n}=e,r=n.selection.from!==n.selection.to;if(this.updateDelay>0&&r){this.handleDebouncedUpdate(e,t);return}let i=!t?.selection.eq(e.state.selection),a=!t?.doc.eq(e.state.doc);this.updateHandler(e,i,a,t)}getShouldShow(e){let{state:t}=this.view,{selection:n}=t,{ranges:r}=n,i=Math.min(...r.map(e=>e.$from.pos)),a=Math.max(...r.map(e=>e.$to.pos));return this.shouldShow?.call(this,{editor:this.editor,element:this.element,view:this.view,state:t,oldState:e,from:i,to:a})||!1}show(){var e;this.isVisible||(this.element.style.visibility=`visible`,this.element.style.opacity=`1`,(e=(typeof this.appendTo==`function`?this.appendTo():this.appendTo)??this.view.dom.parentElement)==null||e.appendChild(this.element),this.floatingUIOptions.onShow&&this.floatingUIOptions.onShow(),this.isVisible=!0)}hide(){this.isVisible&&=(this.element.style.visibility=`hidden`,this.element.style.opacity=`0`,this.element.remove(),this.floatingUIOptions.onHide&&this.floatingUIOptions.onHide(),!1)}updateOptions(e){if(e.updateDelay!==void 0&&(this.updateDelay=e.updateDelay),e.resizeDelay!==void 0&&(this.resizeDelay=e.resizeDelay),e.appendTo!==void 0&&(this.appendTo=e.appendTo),e.getReferencedVirtualElement!==void 0&&(this.getReferencedVirtualElement=e.getReferencedVirtualElement),e.shouldShow!==void 0&&e.shouldShow&&(this.shouldShow=e.shouldShow),e.options!==void 0){let t=e.options.scrollTarget??window;t!==this.scrollTarget&&(this.scrollTarget.removeEventListener(`scroll`,this.resizeHandler),this.scrollTarget=t,this.scrollTarget.addEventListener(`scroll`,this.resizeHandler)),this.floatingUIOptions={...this.floatingUIOptions,...e.options}}}destroy(){this.hide(),this.element.removeEventListener(`mousedown`,this.mousedownHandler,{capture:!0}),this.view.dom.removeEventListener(`dragstart`,this.dragstartHandler),window.removeEventListener(`resize`,this.resizeHandler),this.scrollTarget.removeEventListener(`scroll`,this.resizeHandler),this.editor.off(`focus`,this.focusHandler),this.editor.off(`blur`,this.blurHandler),this.editor.off(`transaction`,this.transactionHandler),this.floatingUIOptions.onDestroy&&this.floatingUIOptions.onDestroy()}},tv=e=>new Ui({key:typeof e.pluginKey==`string`?new Ki(e.pluginKey):e.pluginKey,view:t=>new ev({view:t,...e})});Cp.create({name:`bubbleMenu`,addOptions(){return{element:null,pluginKey:`bubbleMenu`,updateDelay:void 0,appendTo:void 0,shouldShow:null}},addProseMirrorPlugins(){return this.options.element?[tv({pluginKey:this.options.pluginKey,editor:this.editor,element:this.options.element,updateDelay:this.options.updateDelay,options:this.options.options,appendTo:this.options.appendTo,getReferencedVirtualElement:this.options.getReferencedVirtualElement,shouldShow:this.options.shouldShow})]:[]}});var nv=class{constructor({editor:e,element:t,view:n,pluginKey:r=`floatingMenu`,updateDelay:i=250,resizeDelay:a=60,options:o,appendTo:s,shouldShow:c}){this.preventHide=!1,this.isVisible=!1,this.scrollTarget=window,this.shouldShow=({view:e,state:t})=>{let{selection:n}=t,{$anchor:r,empty:i}=n,a=r.depth===1,o=r.parent.isTextblock&&!r.parent.type.spec.code&&!r.parent.textContent&&r.parent.childCount===0&&!this.getTextContent(r.parent);return!(!e.hasFocus()||!i||!a||!o||!this.editor.isEditable)},this.floatingUIOptions={strategy:`absolute`,placement:`right`,offset:8,flip:{},shift:{},arrow:!1,size:!1,autoPlacement:!1,hide:!1,inline:!1},this.updateHandler=(e,t,n,r)=>{let{composing:i}=e;if(!(i||!t&&!n)){if(!this.getShouldShow(r)){this.hide();return}this.updatePosition(),this.show()}},this.mousedownHandler=()=>{this.preventHide=!0},this.focusHandler=()=>{setTimeout(()=>this.update(this.editor.view))},this.blurHandler=({event:e})=>{if(this.preventHide){this.preventHide=!1;return}e?.relatedTarget&&this.element.parentNode?.contains(e.relatedTarget)||e?.relatedTarget!==this.editor.view.dom&&this.hide()},this.transactionHandler=({transaction:e})=>{let t=e.getMeta(this.pluginKey);t===`updatePosition`?this.updatePosition():t&&typeof t==`object`&&t.type===`updateOptions`&&this.updateOptions(t.options)},this.resizeHandler=()=>{this.resizeDebounceTimer&&clearTimeout(this.resizeDebounceTimer),this.resizeDebounceTimer=window.setTimeout(()=>{this.updatePosition()},this.resizeDelay)},this.editor=e,this.element=t,this.view=n,this.pluginKey=r,this.updateDelay=i,this.resizeDelay=a,this.appendTo=s,this.scrollTarget=o?.scrollTarget??window,this.floatingUIOptions={...this.floatingUIOptions,...o},this.element.tabIndex=0,c&&(this.shouldShow=c),this.element.addEventListener(`mousedown`,this.mousedownHandler,{capture:!0}),this.editor.on(`focus`,this.focusHandler),this.editor.on(`blur`,this.blurHandler),this.editor.on(`transaction`,this.transactionHandler),window.addEventListener(`resize`,this.resizeHandler),this.scrollTarget.addEventListener(`scroll`,this.resizeHandler),this.update(n,n.state),this.getShouldShow()&&(this.show(),this.updatePosition())}getTextContent(e){return df(e,{textSerializers:ff(this.editor.schema)})}get middlewares(){let e=[];return this.floatingUIOptions.flip&&e.push(b_(typeof this.floatingUIOptions.flip==`boolean`?void 0:this.floatingUIOptions.flip)),this.floatingUIOptions.shift&&e.push(y_(typeof this.floatingUIOptions.shift==`boolean`?void 0:this.floatingUIOptions.shift)),this.floatingUIOptions.offset&&e.push(__(typeof this.floatingUIOptions.offset==`boolean`?void 0:this.floatingUIOptions.offset)),this.floatingUIOptions.arrow&&e.push(C_(this.floatingUIOptions.arrow)),this.floatingUIOptions.size&&e.push(x_(typeof this.floatingUIOptions.size==`boolean`?void 0:this.floatingUIOptions.size)),this.floatingUIOptions.autoPlacement&&e.push(v_(typeof this.floatingUIOptions.autoPlacement==`boolean`?void 0:this.floatingUIOptions.autoPlacement)),this.floatingUIOptions.hide&&e.push(S_(typeof this.floatingUIOptions.hide==`boolean`?void 0:this.floatingUIOptions.hide)),this.floatingUIOptions.inline&&e.push(w_(typeof this.floatingUIOptions.inline==`boolean`?void 0:this.floatingUIOptions.inline)),e}getShouldShow(e){let{state:t}=this.view,{selection:n}=t,{ranges:r}=n,i=Math.min(...r.map(e=>e.$from.pos)),a=Math.max(...r.map(e=>e.$to.pos));return this.shouldShow?.call(this,{editor:this.editor,view:this.view,state:t,oldState:e,from:i,to:a})}updateOptions(e){if(e.updateDelay!==void 0&&(this.updateDelay=e.updateDelay),e.resizeDelay!==void 0&&(this.resizeDelay=e.resizeDelay),e.appendTo!==void 0&&(this.appendTo=e.appendTo),e.shouldShow!==void 0&&e.shouldShow&&(this.shouldShow=e.shouldShow),e.options!==void 0){let t=e.options.scrollTarget??window;t!==this.scrollTarget&&(this.scrollTarget.removeEventListener(`scroll`,this.resizeHandler),this.scrollTarget=t,this.scrollTarget.addEventListener(`scroll`,this.resizeHandler)),this.floatingUIOptions={...this.floatingUIOptions,...e.options}}}updatePosition(){let{selection:e}=this.editor.state,t=Pf(this.view,e.from,e.to);T_({getBoundingClientRect:()=>t,getClientRects:()=>[t]},this.element,{placement:this.floatingUIOptions.placement,strategy:this.floatingUIOptions.strategy,middleware:this.middlewares}).then(({x:e,y:t,strategy:n,middlewareData:r})=>{if(r.hide?.referenceHidden||r.hide?.escaped){this.element.style.visibility=`hidden`;return}this.element.style.visibility=`visible`,this.element.style.width=`max-content`,this.element.style.position=n,this.element.style.left=`${e}px`,this.element.style.top=`${t}px`,this.isVisible&&this.floatingUIOptions.onUpdate&&this.floatingUIOptions.onUpdate()})}update(e,t){let n=!t?.selection.eq(e.state.selection),r=!t?.doc.eq(e.state.doc);this.updateHandler(e,n,r,t)}show(){var e;this.isVisible||(this.element.style.visibility=`visible`,this.element.style.opacity=`1`,(e=(typeof this.appendTo==`function`?this.appendTo():this.appendTo)??this.view.dom.parentElement)==null||e.appendChild(this.element),this.floatingUIOptions.onShow&&this.floatingUIOptions.onShow(),this.isVisible=!0)}hide(){this.isVisible&&=(this.element.style.visibility=`hidden`,this.element.style.opacity=`0`,this.element.remove(),this.floatingUIOptions.onHide&&this.floatingUIOptions.onHide(),!1)}destroy(){this.hide(),this.element.removeEventListener(`mousedown`,this.mousedownHandler,{capture:!0}),window.removeEventListener(`resize`,this.resizeHandler),this.scrollTarget.removeEventListener(`scroll`,this.resizeHandler),this.editor.off(`focus`,this.focusHandler),this.editor.off(`blur`,this.blurHandler),this.editor.off(`transaction`,this.transactionHandler),this.floatingUIOptions.onDestroy&&this.floatingUIOptions.onDestroy()}},rv=e=>new Ui({key:typeof e.pluginKey==`string`?new Ki(e.pluginKey):e.pluginKey,view:t=>new nv({view:t,...e})});Cp.create({name:`floatingMenu`,addOptions(){return{element:null,options:{},pluginKey:`floatingMenu`,updateDelay:void 0,resizeDelay:void 0,appendTo:void 0,shouldShow:null}},addCommands(){return{updateFloatingMenuPosition:()=>({tr:e,dispatch:t})=>(t&&e.setMeta(this.options.pluginKey,`updatePosition`),!0)}},addProseMirrorPlugins(){return this.options.element?[rv({pluginKey:this.options.pluginKey,editor:this.editor,element:this.options.element,updateDelay:this.options.updateDelay,resizeDelay:this.options.resizeDelay,options:this.options.options,appendTo:this.options.appendTo,shouldShow:this.options.shouldShow})]:[]}});function iv(e,t){return e??new Ki(t)}var av=typeof window<`u`?B.useLayoutEffect:B.useEffect,ov=new Set([`left`,`opacity`,`position`,`top`,`visibility`,`width`]),sv=new Set(`animationIterationCount.aspectRatio.borderImageOutset.borderImageSlice.borderImageWidth.columnCount.columns.fillOpacity.flex.flexGrow.flexShrink.fontWeight.gridArea.gridColumn.gridColumnEnd.gridColumnStart.gridRow.gridRowEnd.gridRowStart.lineClamp.lineHeight.opacity.order.orphans.scale.stopOpacity.strokeDasharray.strokeDashoffset.strokeMiterlimit.strokeOpacity.strokeWidth.tabSize.widows.zIndex.zoom`.split(`.`)),cv=new Set([`children`,`className`,`style`]),lv=new Set([`tabIndex`]),uv=new Set([`accessKey`,`autoCapitalize`,`contentEditable`,`contextMenu`,`dir`,`draggable`,`enterKeyHint`,`hidden`,`id`,`lang`,`nonce`,`role`,`slot`,`spellCheck`,`tabIndex`,`title`,`translate`]),dv={Blur:`focusout`,DoubleClick:`dblclick`,Focus:`focusin`,MouseEnter:`mouseenter`,MouseLeave:`mouseleave`};function fv(e,t){return/^on[A-Z]/.test(e)&&typeof t==`function`}function pv(e){return e.startsWith(`aria-`)||e.startsWith(`data-`),e}function mv(e){return e.startsWith(`aria-`)||e.startsWith(`data-`)||uv.has(e)}function hv(e){return e.startsWith(`--`)?e:e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}function gv(e){let t=e.endsWith(`Capture`),n=(t?e.slice(0,-7):e).slice(2);return{eventName:dv[n]??n.toLowerCase(),options:t?{capture:!0}:void 0}}function _v(e,t){let n=t.defaultPrevented,r=!1,i=Object.create(t);return Object.defineProperties(i,{nativeEvent:{value:t},currentTarget:{value:e},target:{value:t.target},persist:{value:()=>void 0},isDefaultPrevented:{value:()=>n},isPropagationStopped:{value:()=>r},preventDefault:{value:()=>{n=!0,t.preventDefault()}},stopPropagation:{value:()=>{r=!0,t.stopPropagation()}}}),i}function vv(e){return lv.has(e)}function yv(e,t,n){if(t===`tabIndex`){e.tabIndex=Number(n);return}e[t]=n}function bv(e,t){if(t===`tabIndex`){e.removeAttribute(`tabindex`);return}let n=e[t];if(typeof n==`boolean`){e[t]=!1;return}if(typeof n==`number`){e[t]=0;return}e[t]=``}function xv(e,t){return typeof t!=`number`||t===0||e.startsWith(`--`)||sv.has(e)?String(t):`${t}px`}function Sv(e,t){ov.has(t)||e.style.removeProperty(hv(t))}function Cv(e,t,n){ov.has(t)||e.style.setProperty(hv(t),xv(t,n))}function wv(e,t,n){new Set([...Object.keys(t),...Object.keys(n)]).forEach(r=>{if(cv.has(r)||!mv(r)||fv(r,t[r])||fv(r,n[r]))return;let i=t[r],a=n[r];if(i===a)return;let o=pv(r);if(a==null||a===!1){vv(r)&&bv(e,r),e.removeAttribute(o);return}if(a===!0){vv(r)&&yv(e,r,!0),e.setAttribute(o,``);return}if(vv(r)){yv(e,r,a);return}e.setAttribute(o,String(a))})}function Tv(e,t,n){if(t!==n){if(n){e.className=n;return}e.removeAttribute(`class`)}}function Ev(e,t,n){let r=t??{},i=n??{};new Set([...Object.keys(r),...Object.keys(i)]).forEach(t=>{let n=r[t],a=i[t];if(n!==a){if(a==null){Sv(e,t);return}Cv(e,t,a)}})}function Dv(e,t,n){t.forEach(({eventName:t,listener:n,options:r})=>{e.removeEventListener(t,n,r)});let r=[];return Object.entries(n).forEach(([t,n])=>{if(!fv(t,n))return;let{eventName:i,options:a}=gv(t),o=t=>{n(_v(e,t))};e.addEventListener(i,o,a),r.push({eventName:i,listener:o,options:a})}),r}function Ov(e,t){let n=(0,B.useRef)({}),r=(0,B.useRef)([]);av(()=>{let i=n.current;return Tv(e,i.className,t.className),Ev(e,i.style,t.style),wv(e,i,t),r.current=Dv(e,r.current,t),n.current=t,()=>{r.current.forEach(({eventName:t,listener:n,options:r})=>{e.removeEventListener(t,n,r)}),r.current=[]}},[e,t])}var kv=B.forwardRef(({pluginKey:e,editor:t,updateDelay:n,resizeDelay:r,appendTo:i,shouldShow:a=null,getReferencedVirtualElement:o,options:s,children:c,...l},u)=>{let d=(0,B.useRef)(document.createElement(`div`)),f=(0,B.useRef)(iv(e,`bubbleMenu`)).current;Ov(d.current,l),typeof u==`function`?u(d.current):u&&(u.current=d.current);let{editor:p}=vh(),m=t||p,h={updateDelay:n,resizeDelay:r,appendTo:i,pluginKey:f,shouldShow:a,getReferencedVirtualElement:o,options:s},g=(0,B.useRef)(h);g.current=h;let[_,v]=(0,B.useState)(!1),y=(0,B.useRef)(!0);return(0,B.useEffect)(()=>{if(m?.isDestroyed)return;if(!m){console.warn(`BubbleMenu component is not rendered inside of an editor component or does not have editor prop.`);return}let e=d.current;e.style.visibility=`hidden`,e.style.position=`absolute`;let t=tv({...g.current,editor:m,element:e});m.registerPlugin(t);let n=g.current.pluginKey;return y.current=!0,v(!0),()=>{v(!1),m.unregisterPlugin(n),window.requestAnimationFrame(()=>{e.parentNode&&e.parentNode.removeChild(e)})}},[m]),(0,B.useEffect)(()=>{if(!(!_||!m||m.isDestroyed)){if(y.current){y.current=!1;return}m.view.dispatch(m.state.tr.setMeta(f,{type:`updateOptions`,options:g.current}))}},[_,m,n,r,a,s,i,o,f]),(0,Vt.createPortal)(c,d.current)});B.forwardRef(({pluginKey:e,editor:t,updateDelay:n,resizeDelay:r,appendTo:i,shouldShow:a=null,options:o,children:s,...c},l)=>{let u=(0,B.useRef)(document.createElement(`div`)),d=(0,B.useRef)(iv(e,`floatingMenu`)).current;Ov(u.current,c),typeof l==`function`?l(u.current):l&&(l.current=u.current);let{editor:f}=vh(),p=t||f,m={updateDelay:n,resizeDelay:r,appendTo:i,pluginKey:d,shouldShow:a,options:o},h=(0,B.useRef)(m);h.current=m;let[g,_]=(0,B.useState)(!1),v=(0,B.useRef)(!0);return(0,B.useEffect)(()=>{if(p?.isDestroyed)return;if(!p){console.warn(`FloatingMenu component is not rendered inside of an editor component or does not have editor prop.`);return}let e=u.current;e.style.visibility=`hidden`,e.style.position=`absolute`;let t=rv({...h.current,editor:p,element:e});p.registerPlugin(t);let n=h.current.pluginKey;return v.current=!0,_(!0),()=>{_(!1),p.unregisterPlugin(n),window.requestAnimationFrame(()=>{e.parentNode&&e.parentNode.removeChild(e)})}},[p]),(0,B.useEffect)(()=>{if(!(!g||!p||p.isDestroyed)){if(v.current){v.current=!1;return}p.view.dispatch(p.state.tr.setMeta(d,{type:`updateOptions`,options:h.current}))}},[g,p,n,r,a,o,i,d]),(0,Vt.createPortal)(s,u.current)});var Av=(e,t)=>{if(e===`slot`)return 0;if(e instanceof Function)return e(t);let{children:n,...r}=t??{};if(e===`svg`)throw Error(`SVG elements are not supported in the JSX syntax, use the array syntax instead`);return[e,r,n]},jv=/^\s*>\s$/,Mv=nm.create({name:`blockquote`,addOptions(){return{HTMLAttributes:{}}},content:`block+`,group:`block`,defining:!0,parseHTML(){return[{tag:`blockquote`}]},renderHTML({HTMLAttributes:e}){return Av(`blockquote`,{...Zd(this.options.HTMLAttributes,e),children:Av(`slot`,{})})},parseMarkdown:(e,t)=>{let n=t.parseBlockChildren??t.parseChildren;return t.createNode(`blockquote`,void 0,n(e.tokens||[]))},renderMarkdown:(e,t)=>{if(!e.content)return``;let n=[];return e.content.forEach((e,r)=>{let i=(t.renderChild?.call(t,e,r)??t.renderChildren([e])).split(`
|
|
102
|
+
${n}`}}),s}function tm(e,t,n={}){let{state:r}=t,{doc:i,tr:a}=r,o=e;i.descendants((t,r)=>{let i=a.mapping.map(r),s=a.mapping.map(r)+t.nodeSize,c=null;if(t.marks.forEach(e=>{if(e!==o)return!1;c=e}),!c)return;let l=!1;if(Object.keys(n).forEach(e=>{n[e]!==c.attrs[e]&&(l=!0)}),l){let t=e.type.create({...e.attrs,...n});a.removeMark(i,s,e.type),a.addMark(i,s,t)}}),a.docChanged&&t.view.dispatch(a)}var nm=class e extends pp{constructor(){super(...arguments),this.type=`node`}static create(t={}){return new e(typeof t==`function`?t():t)}configure(e){return super.configure(e)}extend(e){let t=typeof e==`function`?e():e;return super.extend(t)}};function rm(e){return new gp({find:e.find,handler:({state:t,range:n,match:r,pasteEvent:i})=>{let a=Y(e.getAttributes,void 0,r,i);if(a===!1||a===null)return null;let{tr:o}=t,s=r[r.length-1],c=r[0],l=n.to;if(s){let r=c.search(/\S/),i=n.from+c.indexOf(s),u=i+s.length;if(vf(n.from,n.to,t.doc).filter(t=>t.mark.type.excluded.find(n=>n===e.type&&n!==t.mark.type)).filter(e=>e.to>i).length)return null;u<n.to&&o.delete(u,n.to),i>n.from&&o.delete(n.from+r,i),l=n.from+r+s.length,o.addMark(n.from+r,l,e.type.create(a||{})),o.removeStoredMark(e.type)}}})}var{getOwnPropertyNames:im,getOwnPropertySymbols:am}=Object,{hasOwnProperty:om}=Object.prototype;function sm(e,t){return function(n,r,i){return e(n,r,i)&&t(n,r,i)}}function cm(e){return function(t,n,r){if(!t||!n||typeof t!=`object`||typeof n!=`object`)return e(t,n,r);let{cache:i}=r,a=i.get(t),o=i.get(n);if(a&&o)return a===n&&o===t;i.set(t,n),i.set(n,t);let s=e(t,n,r);return i.delete(t),i.delete(n),s}}function lm(e){return e?.[Symbol.toStringTag]}function um(e){return im(e).concat(am(e))}var dm=Object.hasOwn||((e,t)=>om.call(e,t));function fm(e,t){return e===t||!e&&!t&&e!==e&&t!==t}var pm=`__v`,mm=`__o`,hm=`_owner`,{getOwnPropertyDescriptor:gm,keys:_m}=Object;function vm(e,t){return e.byteLength===t.byteLength&&jm(new Uint8Array(e),new Uint8Array(t))}function ym(e,t,n){let r=e.length;if(t.length!==r)return!1;for(;r-- >0;)if(!n.equals(e[r],t[r],r,r,e,t,n))return!1;return!0}function bm(e,t){return e.byteLength===t.byteLength&&jm(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}function xm(e,t){return fm(e.getTime(),t.getTime())}function Sm(e,t){return e.name===t.name&&e.message===t.message&&e.cause===t.cause&&e.stack===t.stack}function Cm(e,t){return e===t}function wm(e,t,n){let r=e.size;if(r!==t.size)return!1;if(!r)return!0;let i=Array(r),a=e.entries(),o,s,c=0;for(;(o=a.next())&&!o.done;){let r=t.entries(),a=!1,l=0;for(;(s=r.next())&&!s.done;){if(i[l]){l++;continue}let r=o.value,u=s.value;if(n.equals(r[0],u[0],c,l,e,t,n)&&n.equals(r[1],u[1],r[0],u[0],e,t,n)){a=i[l]=!0;break}l++}if(!a)return!1;c++}return!0}var Tm=fm;function Em(e,t,n){let r=_m(e),i=r.length;if(_m(t).length!==i)return!1;for(;i-- >0;)if(!Nm(e,t,n,r[i]))return!1;return!0}function Dm(e,t,n){let r=um(e),i=r.length;if(um(t).length!==i)return!1;let a,o,s;for(;i-- >0;)if(a=r[i],!Nm(e,t,n,a)||(o=gm(e,a),s=gm(t,a),(o||s)&&(!o||!s||o.configurable!==s.configurable||o.enumerable!==s.enumerable||o.writable!==s.writable)))return!1;return!0}function Om(e,t){return fm(e.valueOf(),t.valueOf())}function km(e,t){return e.source===t.source&&e.flags===t.flags}function Am(e,t,n){let r=e.size;if(r!==t.size)return!1;if(!r)return!0;let i=Array(r),a=e.values(),o,s;for(;(o=a.next())&&!o.done;){let r=t.values(),a=!1,c=0;for(;(s=r.next())&&!s.done;){if(!i[c]&&n.equals(o.value,s.value,o.value,s.value,e,t,n)){a=i[c]=!0;break}c++}if(!a)return!1}return!0}function jm(e,t){let n=e.byteLength;if(t.byteLength!==n||e.byteOffset!==t.byteOffset)return!1;for(;n-- >0;)if(e[n]!==t[n])return!1;return!0}function Mm(e,t){return e.hostname===t.hostname&&e.pathname===t.pathname&&e.protocol===t.protocol&&e.port===t.port&&e.hash===t.hash&&e.username===t.username&&e.password===t.password}function Nm(e,t,n,r){return(r===hm||r===mm||r===pm)&&(e.$$typeof||t.$$typeof)?!0:dm(t,r)&&n.equals(e[r],t[r],r,r,e,t,n)}var Pm=`[object ArrayBuffer]`,Fm=`[object Arguments]`,Im=`[object Boolean]`,Lm=`[object DataView]`,Rm=`[object Date]`,zm=`[object Error]`,Bm=`[object Map]`,Vm=`[object Number]`,Hm=`[object Object]`,Um=`[object RegExp]`,Wm=`[object Set]`,Gm=`[object String]`,Km={"[object Int8Array]":!0,"[object Uint8Array]":!0,"[object Uint8ClampedArray]":!0,"[object Int16Array]":!0,"[object Uint16Array]":!0,"[object Int32Array]":!0,"[object Uint32Array]":!0,"[object Float16Array]":!0,"[object Float32Array]":!0,"[object Float64Array]":!0,"[object BigInt64Array]":!0,"[object BigUint64Array]":!0},qm=`[object URL]`,Jm=Object.prototype.toString;function Ym({areArrayBuffersEqual:e,areArraysEqual:t,areDataViewsEqual:n,areDatesEqual:r,areErrorsEqual:i,areFunctionsEqual:a,areMapsEqual:o,areNumbersEqual:s,areObjectsEqual:c,arePrimitiveWrappersEqual:l,areRegExpsEqual:u,areSetsEqual:d,areTypedArraysEqual:f,areUrlsEqual:p,unknownTagComparators:m}){return function(h,g,_){if(h===g)return!0;if(h==null||g==null)return!1;let v=typeof h;if(v!==typeof g)return!1;if(v!==`object`)return v===`number`?s(h,g,_):v===`function`?a(h,g,_):!1;let y=h.constructor;if(y!==g.constructor)return!1;if(y===Object)return c(h,g,_);if(Array.isArray(h))return t(h,g,_);if(y===Date)return r(h,g,_);if(y===RegExp)return u(h,g,_);if(y===Map)return o(h,g,_);if(y===Set)return d(h,g,_);let b=Jm.call(h);if(b===Rm)return r(h,g,_);if(b===Um)return u(h,g,_);if(b===Bm)return o(h,g,_);if(b===Wm)return d(h,g,_);if(b===Hm)return typeof h.then!=`function`&&typeof g.then!=`function`&&c(h,g,_);if(b===qm)return p(h,g,_);if(b===zm)return i(h,g,_);if(b===Fm)return c(h,g,_);if(Km[b])return f(h,g,_);if(b===Pm)return e(h,g,_);if(b===Lm)return n(h,g,_);if(b===Im||b===Vm||b===Gm)return l(h,g,_);if(m){let e=m[b];if(!e){let t=lm(h);t&&(e=m[t])}if(e)return e(h,g,_)}return!1}}function Xm({circular:e,createCustomConfig:t,strict:n}){let r={areArrayBuffersEqual:vm,areArraysEqual:n?Dm:ym,areDataViewsEqual:bm,areDatesEqual:xm,areErrorsEqual:Sm,areFunctionsEqual:Cm,areMapsEqual:n?sm(wm,Dm):wm,areNumbersEqual:Tm,areObjectsEqual:n?Dm:Em,arePrimitiveWrappersEqual:Om,areRegExpsEqual:km,areSetsEqual:n?sm(Am,Dm):Am,areTypedArraysEqual:n?sm(jm,Dm):jm,areUrlsEqual:Mm,unknownTagComparators:void 0};if(t&&(r=Object.assign({},r,t(r))),e){let e=cm(r.areArraysEqual),t=cm(r.areMapsEqual),n=cm(r.areObjectsEqual),i=cm(r.areSetsEqual);r=Object.assign({},r,{areArraysEqual:e,areMapsEqual:t,areObjectsEqual:n,areSetsEqual:i})}return r}function Zm(e){return function(t,n,r,i,a,o,s){return e(t,n,s)}}function Qm({circular:e,comparator:t,createState:n,equals:r,strict:i}){if(n)return function(a,o){let{cache:s=e?new WeakMap:void 0,meta:c}=n();return t(a,o,{cache:s,equals:r,meta:c,strict:i})};if(e)return function(e,n){return t(e,n,{cache:new WeakMap,equals:r,meta:void 0,strict:i})};let a={cache:void 0,equals:r,meta:void 0,strict:i};return function(e,n){return t(e,n,a)}}var $m=eh();eh({strict:!0}),eh({circular:!0}),eh({circular:!0,strict:!0}),eh({createInternalComparator:()=>fm}),eh({strict:!0,createInternalComparator:()=>fm}),eh({circular:!0,createInternalComparator:()=>fm}),eh({circular:!0,createInternalComparator:()=>fm,strict:!0});function eh(e={}){let{circular:t=!1,createInternalComparator:n,createState:r,strict:i=!1}=e,a=Ym(Xm(e));return Qm({circular:t,comparator:a,createState:r,equals:n?n(a):Zm(a),strict:i})}var th=t((e=>{var t=a(),n=zt();function r(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var i=typeof Object.is==`function`?Object.is:r,o=n.useSyncExternalStore,s=t.useRef,c=t.useEffect,l=t.useMemo,u=t.useDebugValue;e.useSyncExternalStoreWithSelector=function(e,t,n,r,a){var d=s(null);if(d.current===null){var f={hasValue:!1,value:null};d.current=f}else f=d.current;d=l(function(){function e(e){if(!o){if(o=!0,s=e,e=r(e),a!==void 0&&f.hasValue){var t=f.value;if(a(t,e))return c=t}return c=e}if(t=c,i(s,e))return t;var n=r(e);return a!==void 0&&a(t,n)?(s=e,t):(s=e,c=n)}var o=!1,s,c,l=n===void 0?null:n;return[function(){return e(t())},l===null?void 0:function(){return e(l())}]},[t,n,r,a]);var p=o(e,d[0],d[1]);return c(function(){f.hasValue=!0,f.value=p},[p]),u(p),p}})),nh=t(((e,t)=>{t.exports=th()}))(),rh=(...e)=>t=>{e.forEach(e=>{typeof e==`function`?e(t):e&&(e.current=t)})},ih=({contentComponent:e})=>{let t=(0,Bt.useSyncExternalStore)(e.subscribe,e.getSnapshot,e.getServerSnapshot);return(0,V.jsx)(V.Fragment,{children:Object.values(t)})};function ah(){let e=new Set,t={};return{subscribe(t){return e.add(t),()=>{e.delete(t)}},getSnapshot(){return t},getServerSnapshot(){return t},setRenderer(n,r){t={...t,[n]:Vt.createPortal(r.reactElement,r.element,n)},e.forEach(e=>e())},removeRenderer(n){let r={...t};delete r[n],t=r,e.forEach(e=>e())}}}var oh=class extends B.Component{constructor(e){super(e),this.editorContentRef=B.createRef(),this.initialized=!1,this.state={hasContentComponentInitialized:!!e.editor?.contentComponent}}componentDidMount(){this.init()}componentDidUpdate(){this.init()}init(){let e=this.props.editor;if(e&&!e.isDestroyed&&e.view.dom?.parentNode){if(e.contentComponent)return;let t=this.editorContentRef.current;t.append(...e.view.dom.parentNode.childNodes),e.setOptions({element:t}),e.contentComponent=ah(),this.state.hasContentComponentInitialized||(this.unsubscribeToContentComponent=e.contentComponent.subscribe(()=>{this.setState(e=>e.hasContentComponentInitialized?e:{hasContentComponentInitialized:!0}),this.unsubscribeToContentComponent&&this.unsubscribeToContentComponent()})),e.createNodeViews(),this.initialized=!0}}componentWillUnmount(){let e=this.props.editor;if(e){this.initialized=!1,e.isDestroyed||e.view.setProps({nodeViews:{}}),this.unsubscribeToContentComponent&&this.unsubscribeToContentComponent(),e.contentComponent=null;try{if(!e.view.dom?.parentNode)return;let t=document.createElement(`div`);t.append(...e.view.dom.parentNode.childNodes),e.setOptions({element:t})}catch{}}}render(){let{editor:e,innerRef:t,...n}=this.props;return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`div`,{ref:rh(t,this.editorContentRef),...n}),e?.contentComponent&&(0,V.jsx)(ih,{contentComponent:e.contentComponent})]})}},sh=(0,B.forwardRef)((e,t)=>{let n=B.useMemo(()=>Math.floor(Math.random()*4294967295).toString(),[e.editor]);return B.createElement(oh,{key:n,innerRef:t,...e})}),ch=B.memo(sh),lh=typeof window<`u`?B.useLayoutEffect:B.useEffect,uh=class{constructor(e){this.transactionNumber=0,this.lastTransactionNumber=0,this.subscribers=new Set,this.editor=e,this.lastSnapshot={editor:e,transactionNumber:0},this.getSnapshot=this.getSnapshot.bind(this),this.getServerSnapshot=this.getServerSnapshot.bind(this),this.watch=this.watch.bind(this),this.subscribe=this.subscribe.bind(this)}getSnapshot(){return this.transactionNumber===this.lastTransactionNumber?this.lastSnapshot:(this.lastTransactionNumber=this.transactionNumber,this.lastSnapshot={editor:this.editor,transactionNumber:this.transactionNumber},this.lastSnapshot)}getServerSnapshot(){return{editor:null,transactionNumber:0}}subscribe(e){return this.subscribers.add(e),()=>{this.subscribers.delete(e)}}watch(e){if(this.editor=e,this.editor){let e=()=>{this.transactionNumber+=1,this.subscribers.forEach(e=>e())},t=this.editor;return t.on(`transaction`,e),()=>{t.off(`transaction`,e)}}}};function dh(e){let[t]=(0,B.useState)(()=>new uh(e.editor)),n=(0,nh.useSyncExternalStoreWithSelector)(t.subscribe,t.getSnapshot,t.getServerSnapshot,e.selector,e.equalityFn??$m);return lh(()=>t.watch(e.editor),[e.editor,t]),(0,B.useDebugValue)(n),n}var fh=!1,ph=typeof window>`u`,mh=ph||!!(typeof window<`u`&&window.next),hh=class e{constructor(e){this.editor=null,this.subscriptions=new Set,this.isComponentMounted=!1,this.previousDeps=null,this.instanceId=``,this.options=e,this.subscriptions=new Set,this.setEditor(this.getInitialEditor()),this.scheduleDestroy(),this.getEditor=this.getEditor.bind(this),this.getServerSnapshot=this.getServerSnapshot.bind(this),this.subscribe=this.subscribe.bind(this),this.refreshEditorInstance=this.refreshEditorInstance.bind(this),this.scheduleDestroy=this.scheduleDestroy.bind(this),this.onRender=this.onRender.bind(this),this.createEditor=this.createEditor.bind(this)}setEditor(e){this.editor=e,this.instanceId=Math.random().toString(36).slice(2,9),this.subscriptions.forEach(e=>e())}getInitialEditor(){if(this.options.current.immediatelyRender===void 0){if(ph||mh){if(fh)throw Error("Tiptap Error: SSR has been detected, please set `immediatelyRender` explicitly to `false` to avoid hydration mismatches.");return null}return this.createEditor()}if(this.options.current.immediatelyRender&&ph&&fh)throw Error("Tiptap Error: SSR has been detected, and `immediatelyRender` has been set to `true` this is an unsupported configuration that may result in errors, explicitly set `immediatelyRender` to `false` to avoid hydration mismatches.");return this.options.current.immediatelyRender?this.createEditor():null}createEditor(){return new Rp({...this.options.current,onBeforeCreate:(...e)=>{var t;return(t=this.options.current).onBeforeCreate?.call(t,...e)},onBlur:(...e)=>{var t;return(t=this.options.current).onBlur?.call(t,...e)},onCreate:(...e)=>{var t;return(t=this.options.current).onCreate?.call(t,...e)},onDestroy:(...e)=>{var t;return(t=this.options.current).onDestroy?.call(t,...e)},onFocus:(...e)=>{var t;return(t=this.options.current).onFocus?.call(t,...e)},onSelectionUpdate:(...e)=>{var t;return(t=this.options.current).onSelectionUpdate?.call(t,...e)},onTransaction:(...e)=>{var t;return(t=this.options.current).onTransaction?.call(t,...e)},onUpdate:(...e)=>{var t;return(t=this.options.current).onUpdate?.call(t,...e)},onContentError:(...e)=>{var t;return(t=this.options.current).onContentError?.call(t,...e)},onDrop:(...e)=>{var t;return(t=this.options.current).onDrop?.call(t,...e)},onPaste:(...e)=>{var t;return(t=this.options.current).onPaste?.call(t,...e)},onDelete:(...e)=>{var t;return(t=this.options.current).onDelete?.call(t,...e)}})}getEditor(){return this.editor}getServerSnapshot(){return null}subscribe(e){return this.subscriptions.add(e),()=>{this.subscriptions.delete(e)}}static compareOptions(e,t){return Object.keys(e).every(n=>[`onCreate`,`onBeforeCreate`,`onDestroy`,`onUpdate`,`onTransaction`,`onFocus`,`onBlur`,`onSelectionUpdate`,`onContentError`,`onDrop`,`onPaste`].includes(n)?!0:n===`extensions`&&e.extensions&&t.extensions?e.extensions.length===t.extensions.length?e.extensions.every((e,n)=>e===t.extensions?.[n]):!1:e[n]===t[n])}onRender(t){return()=>(this.isComponentMounted=!0,clearTimeout(this.scheduledDestructionTimeout),this.editor&&!this.editor.isDestroyed&&t.length===0?e.compareOptions(this.options.current,this.editor.options)||this.editor.setOptions({...this.options.current,editable:this.editor.isEditable}):this.refreshEditorInstance(t),()=>{this.isComponentMounted=!1,this.scheduleDestroy()})}refreshEditorInstance(e){if(this.editor&&!this.editor.isDestroyed){if(this.previousDeps===null){this.previousDeps=e;return}if(this.previousDeps.length===e.length&&this.previousDeps.every((t,n)=>t===e[n]))return}this.editor&&!this.editor.isDestroyed&&this.editor.destroy(),this.setEditor(this.createEditor()),this.previousDeps=e}scheduleDestroy(){let e=this.instanceId,t=this.editor;this.scheduledDestructionTimeout=setTimeout(()=>{if(this.isComponentMounted&&this.instanceId===e){t&&t.setOptions(this.options.current);return}t&&!t.isDestroyed&&(t.destroy(),this.instanceId===e&&this.setEditor(null))},1)}};function gh(e={},t=[]){let n=(0,B.useRef)(e);n.current=e;let[r]=(0,B.useState)(()=>new hh(n)),i=(0,Bt.useSyncExternalStore)(r.subscribe,r.getEditor,r.getServerSnapshot);return(0,B.useDebugValue)(i),(0,B.useEffect)(r.onRender(t)),dh({editor:i,selector:({transactionNumber:t})=>e.shouldRerenderOnTransaction===!1||e.shouldRerenderOnTransaction===void 0?null:e.immediatelyRender&&t===0?0:t+1}),i}var _h=(0,B.createContext)({editor:null});_h.Consumer;var vh=()=>(0,B.useContext)(_h),yh=(0,B.createContext)({onDragStart:()=>{},nodeViewContentChildren:void 0,nodeViewContentRef:()=>{}}),bh=()=>(0,B.useContext)(yh);B.forwardRef((e,t)=>{let{onDragStart:n}=bh();return(0,V.jsx)(e.as||`div`,{...e,ref:t,"data-node-view-wrapper":``,onDragStart:n,style:{whiteSpace:`normal`,...e.style}})}),B.createContext({markViewContentRef:()=>{}});var xh=(0,B.createContext)({get editor(){throw Error(`useTiptap must be used within a <Tiptap> provider`)}});xh.displayName=`TiptapContext`;var Sh=()=>(0,B.useContext)(xh);function Ch({editor:e,instance:t,children:n}){let r=e??t;if(!r)throw Error("Tiptap: An editor instance is required. Pass a non-null `editor` prop.");let i=(0,B.useMemo)(()=>({editor:r}),[r]),a=(0,B.useMemo)(()=>({editor:r}),[r]);return(0,V.jsx)(_h.Provider,{value:a,children:(0,V.jsx)(xh.Provider,{value:i,children:n})})}Ch.displayName=`Tiptap`;function wh({...e}){let{editor:t}=Sh();return(0,V.jsx)(ch,{editor:t,...e})}wh.displayName=`Tiptap.Content`,Object.assign(Ch,{Content:wh});var Th=[`top`,`right`,`bottom`,`left`],Eh=[`start`,`end`],Dh=Th.reduce((e,t)=>e.concat(t,t+`-`+Eh[0],t+`-`+Eh[1]),[]),Oh=Math.min,kh=Math.max,Ah=Math.round,jh=e=>({x:e,y:e}),Mh={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function Nh(e,t,n){return kh(e,Oh(t,n))}function Ph(e,t){return typeof e==`function`?e(t):e}function Fh(e){return e.split(`-`)[0]}function Ih(e){return e.split(`-`)[1]}function Lh(e){return e===`x`?`y`:`x`}function Rh(e){return e===`y`?`height`:`width`}function zh(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Bh(e){return Lh(zh(e))}function Vh(e,t,n){n===void 0&&(n=!1);let r=Ih(e),i=Bh(e),a=Rh(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Xh(o)),[o,Xh(o)]}function Hh(e){let t=Xh(e);return[Uh(e),t,Uh(t)]}function Uh(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Wh=[`left`,`right`],Gh=[`right`,`left`],Kh=[`top`,`bottom`],qh=[`bottom`,`top`];function Jh(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Gh:Wh:t?Wh:Gh;case`left`:case`right`:return t?Kh:qh;default:return[]}}function Yh(e,t,n,r){let i=Ih(e),a=Jh(Fh(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Uh)))),a}function Xh(e){let t=Fh(e);return Mh[t]+e.slice(t.length)}function Zh(e){return{top:0,right:0,bottom:0,left:0,...e}}function Qh(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Zh(e)}function $h(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function eg(e,t,n){let{reference:r,floating:i}=e,a=zh(t),o=Bh(t),s=Rh(o),c=Fh(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(Ih(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function tg(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=Ph(t,e),p=Qh(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=$h(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=$h(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var ng=50,rg=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:tg},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=eg(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<ng&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=eg(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},ig=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=Ph(e,t)||{};if(l==null)return{};let d=Qh(u),f={x:n,y:r},p=Bh(i),m=Rh(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=Oh(d[_],T),D=Oh(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=Nh(O,A,k),M=!c.arrow&&Ih(i)!=null&&A!==j&&a.reference[m]/2-(A<O?E:D)-h[m]/2<0,N=M?A<O?A-O:A-k:0;return{[p]:f[p]+N,data:{[p]:j,centerOffset:A-j-N,...M&&{alignmentOffset:N}},reset:M}}});function ag(e,t,n){return(e?[...n.filter(t=>Ih(t)===e),...n.filter(t=>Ih(t)!==e)]:n.filter(e=>Fh(e)===e)).filter(n=>e?Ih(n)===e||(t?Uh(n)!==n:!1):!0)}var og=function(e){return e===void 0&&(e={}),{name:`autoPlacement`,options:e,async fn(t){let{rects:n,middlewareData:r,placement:i,platform:a,elements:o}=t,{crossAxis:s=!1,alignment:c,allowedPlacements:l=Dh,autoAlignment:u=!0,...d}=Ph(e,t),f=c!==void 0||l===Dh?ag(c||null,u,l):l,p=await a.detectOverflow(t,d),m=r.autoPlacement?.index||0,h=f[m];if(h==null)return{};let g=Vh(h,n,await(a.isRTL==null?void 0:a.isRTL(o.floating)));if(i!==h)return{reset:{placement:f[0]}};let _=[p[Fh(h)],p[g[0]],p[g[1]]],v=[...r.autoPlacement?.overflows||[],{placement:h,overflows:_}],y=f[m+1];if(y)return{data:{index:m+1,overflows:v},reset:{placement:y}};let b=v.map(e=>{let t=Ih(e.placement);return[e.placement,t&&s?e.overflows.slice(0,2).reduce((e,t)=>e+t,0):e.overflows[0],e.overflows]}).sort((e,t)=>e[1]-t[1]),x=b.filter(e=>e[2].slice(0,Ih(e[0])?2:3).every(e=>e<=0))[0]?.[0]||b[0][0];return x===i?{}:{data:{index:m+1,overflows:v},reset:{placement:x}}}}},sg=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=Ph(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=Fh(r),_=zh(o),v=Fh(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Xh(o)]:Hh(o)),x=p!==`none`;!d&&x&&b.push(...Yh(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=Vh(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==zh(t))||T.every(e=>zh(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=zh(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function cg(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function lg(e){return Th.some(t=>e[t]>=0)}var ug=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=Ph(e,t);switch(i){case`referenceHidden`:{let e=cg(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:lg(e)}}}case`escaped`:{let e=cg(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:lg(e)}}}default:return{}}}}};function dg(e){let t=Oh(...e.map(e=>e.left)),n=Oh(...e.map(e=>e.top)),r=kh(...e.map(e=>e.right)),i=kh(...e.map(e=>e.bottom));return{x:t,y:n,width:r-t,height:i-n}}function fg(e){let t=e.slice().sort((e,t)=>e.y-t.y),n=[],r=null;for(let e=0;e<t.length;e++){let i=t[e];!r||i.y-r.y>r.height/2?n.push([i]):n[n.length-1].push(i),r=i}return n.map(e=>$h(dg(e)))}var pg=function(e){return e===void 0&&(e={}),{name:`inline`,options:e,async fn(t){let{placement:n,elements:r,rects:i,platform:a,strategy:o}=t,{padding:s=2,x:c,y:l}=Ph(e,t),u=Array.from(await(a.getClientRects==null?void 0:a.getClientRects(r.reference))||[]),d=fg(u),f=$h(dg(u)),p=Qh(s);function m(){if(d.length===2&&d[0].left>d[1].right&&c!=null&&l!=null)return d.find(e=>c>e.left-p.left&&c<e.right+p.right&&l>e.top-p.top&&l<e.bottom+p.bottom)||f;if(d.length>=2){if(zh(n)===`y`){let e=d[0],t=d[d.length-1],r=Fh(n)===`top`,i=e.top,a=t.bottom,o=r?e.left:t.left,s=r?e.right:t.right;return{top:i,bottom:a,left:o,right:s,width:s-o,height:a-i,x:o,y:i}}let e=Fh(n)===`left`,t=kh(...d.map(e=>e.right)),r=Oh(...d.map(e=>e.left)),i=d.filter(n=>e?n.left===r:n.right===t),a=i[0].top,o=i[i.length-1].bottom,s=r,c=t;return{top:a,bottom:o,left:s,right:c,width:c-s,height:o-a,x:s,y:a}}return f}let h=await a.getElementRects({reference:{getBoundingClientRect:m},floating:r.floating,strategy:o});return i.reference.x!==h.reference.x||i.reference.y!==h.reference.y||i.reference.width!==h.reference.width||i.reference.height!==h.reference.height?{reset:{rects:h}}:{}}}},mg=new Set([`left`,`top`]);async function hg(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=Fh(n),s=Ih(n),c=zh(n)===`y`,l=mg.has(o)?-1:1,u=a&&c?-1:1,d=Ph(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var gg=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await hg(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},_g=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=Ph(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=zh(Fh(i)),p=Lh(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=Nh(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=Nh(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},vg=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=Ph(e,t),u=await o.detectOverflow(t,l),d=Fh(i),f=Ih(i),p=zh(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=Oh(h-u[g],v),x=Oh(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=kh(u.left,0),t=kh(u.right,0),n=kh(u.top,0),r=kh(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:kh(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:kh(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function yg(){return typeof window<`u`}function bg(e){return Cg(e)?(e.nodeName||``).toLowerCase():`#document`}function xg(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Sg(e){return((Cg(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Cg(e){return yg()?e instanceof Node||e instanceof xg(e).Node:!1}function wg(e){return yg()?e instanceof Element||e instanceof xg(e).Element:!1}function Tg(e){return yg()?e instanceof HTMLElement||e instanceof xg(e).HTMLElement:!1}function Eg(e){return!yg()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof xg(e).ShadowRoot}function Dg(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=Rg(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function Og(e){return/^(table|td|th)$/.test(bg(e))}function kg(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Ag=/transform|translate|scale|rotate|perspective|filter/,jg=/paint|layout|strict|content/,Mg=e=>!!e&&e!==`none`,Ng;function Pg(e){let t=wg(e)?Rg(e):e;return Mg(t.transform)||Mg(t.translate)||Mg(t.scale)||Mg(t.rotate)||Mg(t.perspective)||!Ig()&&(Mg(t.backdropFilter)||Mg(t.filter))||Ag.test(t.willChange||``)||jg.test(t.contain||``)}function Fg(e){let t=Bg(e);for(;Tg(t)&&!Lg(t);){if(Pg(t))return t;if(kg(t))return null;t=Bg(t)}return null}function Ig(){return Ng??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Ng}function Lg(e){return/^(html|body|#document)$/.test(bg(e))}function Rg(e){return xg(e).getComputedStyle(e)}function zg(e){return wg(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Bg(e){if(bg(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Eg(e)&&e.host||Sg(e);return Eg(t)?t.host:t}function Vg(e){let t=Bg(e);return Lg(t)?e.ownerDocument?e.ownerDocument.body:e.body:Tg(t)&&Dg(t)?t:Vg(t)}function Hg(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Vg(e),i=r===e.ownerDocument?.body,a=xg(r);if(i){let e=Ug(a);return t.concat(a,a.visualViewport||[],Dg(r)?r:[],e&&n?Hg(e):[])}else return t.concat(r,Hg(r,[],n))}function Ug(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Wg(e){let t=Rg(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Tg(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=Ah(n)!==a||Ah(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Gg(e){return wg(e)?e:e.contextElement}function Kg(e){let t=Gg(e);if(!Tg(t))return jh(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Wg(t),o=(a?Ah(n.width):n.width)/r,s=(a?Ah(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var qg=jh(0);function Jg(e){let t=xg(e);return!Ig()||!t.visualViewport?qg:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Yg(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==xg(e)?!1:t}function Xg(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Gg(e),o=jh(1);t&&(r?wg(r)&&(o=Kg(r)):o=Kg(e));let s=Yg(a,n,r)?Jg(a):jh(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=xg(a),t=r&&wg(r)?xg(r):r,n=e,i=Ug(n);for(;i&&r&&t!==n;){let e=Kg(i),t=i.getBoundingClientRect(),r=Rg(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=xg(i),i=Ug(n)}}return $h({width:u,height:d,x:c,y:l})}function Zg(e,t){let n=zg(e).scrollLeft;return t?t.left+n:Xg(Sg(e)).left+n}function Qg(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Zg(e,n),y:n.top+t.scrollTop}}function $g(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=Sg(r),s=t?kg(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=jh(1),u=jh(0),d=Tg(r);if((d||!d&&!a)&&((bg(r)!==`body`||Dg(o))&&(c=zg(r)),d)){let e=Xg(r);l=Kg(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Qg(o,c):jh(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function e_(e){return Array.from(e.getClientRects())}function t_(e){let t=Sg(e),n=zg(e),r=e.ownerDocument.body,i=kh(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=kh(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+Zg(e),s=-n.scrollTop;return Rg(r).direction===`rtl`&&(o+=kh(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var n_=25;function r_(e,t){let n=xg(e),r=Sg(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=Ig();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=Zg(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=n_&&(a-=o)}else l<=n_&&(a+=l);return{width:a,height:o,x:s,y:c}}function i_(e,t){let n=Xg(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Tg(e)?Kg(e):jh(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function a_(e,t,n){let r;if(t===`viewport`)r=r_(e,n);else if(t===`document`)r=t_(Sg(e));else if(wg(t))r=i_(t,n);else{let n=Jg(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return $h(r)}function o_(e,t){let n=Bg(e);return n===t||!wg(n)||Lg(n)?!1:Rg(n).position===`fixed`||o_(n,t)}function s_(e,t){let n=t.get(e);if(n)return n;let r=Hg(e,[],!1).filter(e=>wg(e)&&bg(e)!==`body`),i=null,a=Rg(e).position===`fixed`,o=a?Bg(e):e;for(;wg(o)&&!Lg(o);){let t=Rg(o),n=Pg(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||Dg(o)&&!n&&o_(e,o))?r=r.filter(e=>e!==o):i=t,o=Bg(o)}return t.set(e,r),r}function c_(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?kg(t)?[]:s_(t,this._c):[].concat(n),r],o=a_(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=a_(t,a[e],i);s=kh(n.top,s),c=Oh(n.right,c),l=Oh(n.bottom,l),u=kh(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function l_(e){let{width:t,height:n}=Wg(e);return{width:t,height:n}}function u_(e,t,n){let r=Tg(t),i=Sg(t),a=n===`fixed`,o=Xg(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=jh(0);function l(){c.x=Zg(i)}if(r||!r&&!a)if((bg(t)!==`body`||Dg(i))&&(s=zg(t)),r){let e=Xg(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?Qg(i,s):jh(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function d_(e){return Rg(e).position===`static`}function f_(e,t){if(!Tg(e)||Rg(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return Sg(e)===n&&(n=n.ownerDocument.body),n}function p_(e,t){let n=xg(e);if(kg(e))return n;if(!Tg(e)){let t=Bg(e);for(;t&&!Lg(t);){if(wg(t)&&!d_(t))return t;t=Bg(t)}return n}let r=f_(e,t);for(;r&&Og(r)&&d_(r);)r=f_(r,t);return r&&Lg(r)&&d_(r)&&!Pg(r)?n:r||Fg(e)||n}var m_=async function(e){let t=this.getOffsetParent||p_,n=this.getDimensions,r=await n(e.floating);return{reference:u_(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function h_(e){return Rg(e).direction===`rtl`}var g_={convertOffsetParentRelativeRectToViewportRelativeRect:$g,getDocumentElement:Sg,getClippingRect:c_,getOffsetParent:p_,getElementRects:m_,getClientRects:e_,getDimensions:l_,getScale:Kg,isElement:wg,isRTL:h_},__=gg,v_=og,y_=_g,b_=sg,x_=vg,S_=ug,C_=ig,w_=pg,T_=(e,t,n)=>{let r=new Map,i={platform:g_,...n},a={...i.platform,_c:r};return rg(e,t,{...i,platform:a})},E_,D_;if(typeof WeakMap<`u`){let e=new WeakMap;E_=t=>e.get(t),D_=(t,n)=>(e.set(t,n),n)}else{let e=[],t=0;E_=t=>{for(let n=0;n<e.length;n+=2)if(e[n]==t)return e[n+1]},D_=(n,r)=>(t==10&&(t=0),e[t++]=n,e[t++]=r)}var O_=class{constructor(e,t,n,r){this.width=e,this.height=t,this.map=n,this.problems=r}findCell(e){for(let t=0;t<this.map.length;t++){let n=this.map[t];if(n!=e)continue;let r=t%this.width,i=t/this.width|0,a=r+1,o=i+1;for(let e=1;a<this.width&&this.map[t+e]==n;e++)a++;for(let e=1;o<this.height&&this.map[t+this.width*e]==n;e++)o++;return{left:r,top:i,right:a,bottom:o}}throw RangeError(`No cell with offset ${e} found`)}colCount(e){for(let t=0;t<this.map.length;t++)if(this.map[t]==e)return t%this.width;throw RangeError(`No cell with offset ${e} found`)}nextCell(e,t,n){let{left:r,right:i,top:a,bottom:o}=this.findCell(e);return t==`horiz`?(n<0?r==0:i==this.width)?null:this.map[a*this.width+(n<0?r-1:i)]:(n<0?a==0:o==this.height)?null:this.map[r+this.width*(n<0?a-1:o)]}rectBetween(e,t){let{left:n,right:r,top:i,bottom:a}=this.findCell(e),{left:o,right:s,top:c,bottom:l}=this.findCell(t);return{left:Math.min(n,o),top:Math.min(i,c),right:Math.max(r,s),bottom:Math.max(a,l)}}cellsInRect(e){let t=[],n={};for(let r=e.top;r<e.bottom;r++)for(let i=e.left;i<e.right;i++){let a=r*this.width+i,o=this.map[a];n[o]||(n[o]=!0,!(i==e.left&&i&&this.map[a-1]==o||r==e.top&&r&&this.map[a-this.width]==o)&&t.push(o))}return t}positionAt(e,t,n){for(let r=0,i=0;;r++){let a=i+n.child(r).nodeSize;if(r==e){let n=t+e*this.width,r=(e+1)*this.width;for(;n<r&&this.map[n]<i;)n++;return n==r?a-1:this.map[n]}i=a}}static get(e){return E_(e)||D_(e,k_(e))}};function k_(e){if(e.type.spec.tableRole!=`table`)throw RangeError(`Not a table node: `+e.type.name);let t=A_(e),n=e.childCount,r=[],i=0,a=null,o=[];for(let e=0,i=t*n;e<i;e++)r[e]=0;for(let s=0,c=0;s<n;s++){let l=e.child(s);c++;for(let e=0;;e++){for(;i<r.length&&r[i]!=0;)i++;if(e==l.childCount)break;let u=l.child(e),{colspan:d,rowspan:f,colwidth:p}=u.attrs;for(let e=0;e<f;e++){if(e+s>=n){(a||=[]).push({type:`overlong_rowspan`,pos:c,n:f-e});break}let l=i+e*t;for(let e=0;e<d;e++){r[l+e]==0?r[l+e]=c:(a||=[]).push({type:`collision`,row:s,pos:c,n:d-e});let n=p&&p[e];if(n){let r=(l+e)%t*2,i=o[r];i==null||i!=n&&o[r+1]==1?(o[r]=n,o[r+1]=1):i==n&&o[r+1]++}}}i+=d,c+=u.nodeSize}let u=(s+1)*t,d=0;for(;i<u;)r[i++]==0&&d++;d&&(a||=[]).push({type:`missing`,row:s,n:d}),c++}(t===0||n===0)&&(a||=[]).push({type:`zero_sized`});let s=new O_(t,n,r,a),c=!1;for(let e=0;!c&&e<o.length;e+=2)o[e]!=null&&o[e+1]<n&&(c=!0);return c&&j_(s,o,e),s}function A_(e){let t=-1,n=!1;for(let r=0;r<e.childCount;r++){let i=e.child(r),a=0;if(n)for(let t=0;t<r;t++){let n=e.child(t);for(let e=0;e<n.childCount;e++){let i=n.child(e);t+i.attrs.rowspan>r&&(a+=i.attrs.colspan)}}for(let e=0;e<i.childCount;e++){let t=i.child(e);a+=t.attrs.colspan,t.attrs.rowspan>1&&(n=!0)}t==-1?t=a:t!=a&&(t=Math.max(t,a))}return t}function j_(e,t,n){e.problems||=[];let r={};for(let i=0;i<e.map.length;i++){let a=e.map[i];if(r[a])continue;r[a]=!0;let o=n.nodeAt(a);if(!o)throw RangeError(`No cell with offset ${a} found`);let s=null,c=o.attrs;for(let n=0;n<c.colspan;n++){let r=t[(i+n)%e.width*2];r!=null&&(!c.colwidth||c.colwidth[n]!=r)&&((s||=M_(c))[n]=r)}s&&e.problems.unshift({type:`colwidth mismatch`,pos:a,colwidth:s})}}function M_(e){if(e.colwidth)return e.colwidth.slice();let t=[];for(let n=0;n<e.colspan;n++)t.push(0);return t}function N_(e){let t=e.cached.tableNodeTypes;if(!t){t=e.cached.tableNodeTypes={};for(let n in e.nodes){let r=e.nodes[n],i=r.spec.tableRole;i&&(t[i]=r)}}return t}new Ki(`selectingCells`);function P_(e){for(let t=e.depth-1;t>0;t--)if(e.node(t).type.spec.tableRole==`row`)return e.node(0).resolve(e.before(t+1));return null}function F_(e){let t=e.selection.$head;for(let e=t.depth;e>0;e--)if(t.node(e).type.spec.tableRole==`row`)return!0;return!1}function I_(e){let t=e.selection;if(`$anchorCell`in t&&t.$anchorCell)return t.$anchorCell.pos>t.$headCell.pos?t.$anchorCell:t.$headCell;if(`node`in t&&t.node&&t.node.type.spec.tableRole==`cell`)return t.$anchor;let n=P_(t.$head)||L_(t.$head);if(n)return n;throw RangeError(`No cell found around position ${t.head}`)}function L_(e){for(let t=e.nodeAfter,n=e.pos;t;t=t.firstChild,n++){let r=t.type.spec.tableRole;if(r==`cell`||r==`header_cell`)return e.doc.resolve(n)}for(let t=e.nodeBefore,n=e.pos;t;t=t.lastChild,n--){let r=t.type.spec.tableRole;if(r==`cell`||r==`header_cell`)return e.doc.resolve(n-t.nodeSize)}}function R_(e){return e.parent.type.spec.tableRole==`row`&&!!e.nodeAfter}function z_(e,t){return e.depth==t.depth&&e.pos>=t.start(-1)&&e.pos<=t.end(-1)}function B_(e,t,n){let r=e.node(-1),i=O_.get(r),a=e.start(-1),o=i.nextCell(e.pos-a,t,n);return o==null?null:e.node(0).resolve(a+o)}function V_(e,t,n=1){let r={...e,colspan:e.colspan-n};return r.colwidth&&(r.colwidth=r.colwidth.slice(),r.colwidth.splice(t,n),r.colwidth.some(e=>e>0)||(r.colwidth=null)),r}var H_=class e extends G{constructor(e,t=e){let n=e.node(-1),r=O_.get(n),i=e.start(-1),a=r.rectBetween(e.pos-i,t.pos-i),o=e.node(0),s=r.cellsInRect(a).filter(e=>e!=t.pos-i);s.unshift(t.pos-i);let c=s.map(e=>{let t=n.nodeAt(e);if(!t)throw RangeError(`No cell with offset ${e} found`);let r=i+e+1;return new wi(o.resolve(r),o.resolve(r+t.content.size))});super(c[0].$from,c[0].$to,c),this.$anchorCell=e,this.$headCell=t}map(t,n){let r=t.resolve(n.map(this.$anchorCell.pos)),i=t.resolve(n.map(this.$headCell.pos));if(R_(r)&&R_(i)&&z_(r,i)){let t=this.$anchorCell.node(-1)!=r.node(-1);return t&&this.isRowSelection()?e.rowSelection(r,i):t&&this.isColSelection()?e.colSelection(r,i):new e(r,i)}return K.between(r,i)}content(){let e=this.$anchorCell.node(-1),t=O_.get(e),n=this.$anchorCell.start(-1),r=t.rectBetween(this.$anchorCell.pos-n,this.$headCell.pos-n),i={},a=[];for(let n=r.top;n<r.bottom;n++){let o=[];for(let a=n*t.width+r.left,s=r.left;s<r.right;s++,a++){let n=t.map[a];if(i[n])continue;i[n]=!0;let s=t.findCell(n),c=e.nodeAt(n);if(!c)throw RangeError(`No cell with offset ${n} found`);let l=r.left-s.left,u=s.right-r.right;if(l>0||u>0){let e=c.attrs;if(l>0&&(e=V_(e,0,l)),u>0&&(e=V_(e,e.colspan-u,u)),s.left<r.left){if(c=c.type.createAndFill(e),!c)throw RangeError(`Could not create cell with attrs ${JSON.stringify(e)}`)}else c=c.type.create(e,c.content)}if(s.top<r.top||s.bottom>r.bottom){let e={...c.attrs,rowspan:Math.min(s.bottom,r.bottom)-Math.max(s.top,r.top)};c=s.top<r.top?c.type.createAndFill(e):c.type.create(e,c.content)}o.push(c)}a.push(e.child(n).copy(H.from(o)))}let o=this.isColSelection()&&this.isRowSelection()?e:a;return new W(H.from(o),1,1)}replace(e,t=W.empty){let n=e.steps.length,r=this.ranges;for(let i=0;i<r.length;i++){let{$from:a,$to:o}=r[i],s=e.mapping.slice(n);e.replace(s.map(a.pos),s.map(o.pos),i?W.empty:t)}let i=G.findFrom(e.doc.resolve(e.mapping.slice(n).map(this.to)),-1);i&&e.setSelection(i)}replaceWith(e,t){this.replace(e,new W(H.from(t),0,0))}forEachCell(e){let t=this.$anchorCell.node(-1),n=O_.get(t),r=this.$anchorCell.start(-1),i=n.cellsInRect(n.rectBetween(this.$anchorCell.pos-r,this.$headCell.pos-r));for(let n=0;n<i.length;n++)e(t.nodeAt(i[n]),r+i[n])}isColSelection(){let e=this.$anchorCell.index(-1),t=this.$headCell.index(-1);if(Math.min(e,t)>0)return!1;let n=e+this.$anchorCell.nodeAfter.attrs.rowspan,r=t+this.$headCell.nodeAfter.attrs.rowspan;return Math.max(n,r)==this.$headCell.node(-1).childCount}static colSelection(t,n=t){let r=t.node(-1),i=O_.get(r),a=t.start(-1),o=i.findCell(t.pos-a),s=i.findCell(n.pos-a),c=t.node(0);return o.top<=s.top?(o.top>0&&(t=c.resolve(a+i.map[o.left])),s.bottom<i.height&&(n=c.resolve(a+i.map[i.width*(i.height-1)+s.right-1]))):(s.top>0&&(n=c.resolve(a+i.map[s.left])),o.bottom<i.height&&(t=c.resolve(a+i.map[i.width*(i.height-1)+o.right-1]))),new e(t,n)}isRowSelection(){let e=this.$anchorCell.node(-1),t=O_.get(e),n=this.$anchorCell.start(-1),r=t.colCount(this.$anchorCell.pos-n),i=t.colCount(this.$headCell.pos-n);if(Math.min(r,i)>0)return!1;let a=r+this.$anchorCell.nodeAfter.attrs.colspan,o=i+this.$headCell.nodeAfter.attrs.colspan;return Math.max(a,o)==t.width}eq(t){return t instanceof e&&t.$anchorCell.pos==this.$anchorCell.pos&&t.$headCell.pos==this.$headCell.pos}static rowSelection(t,n=t){let r=t.node(-1),i=O_.get(r),a=t.start(-1),o=i.findCell(t.pos-a),s=i.findCell(n.pos-a),c=t.node(0);return o.left<=s.left?(o.left>0&&(t=c.resolve(a+i.map[o.top*i.width])),s.right<i.width&&(n=c.resolve(a+i.map[i.width*(s.top+1)-1]))):(s.left>0&&(n=c.resolve(a+i.map[s.top*i.width])),o.right<i.width&&(t=c.resolve(a+i.map[i.width*(o.top+1)-1]))),new e(t,n)}toJSON(){return{type:`cell`,anchor:this.$anchorCell.pos,head:this.$headCell.pos}}static fromJSON(t,n){return new e(t.resolve(n.anchor),t.resolve(n.head))}static create(t,n,r=n){return new e(t.resolve(n),t.resolve(r))}getBookmark(){return new U_(this.$anchorCell.pos,this.$headCell.pos)}};H_.prototype.visible=!1,G.jsonID(`cell`,H_);var U_=class e{constructor(e,t){this.anchor=e,this.head=t}map(t){return new e(t.map(this.anchor),t.map(this.head))}resolve(e){let t=e.resolve(this.anchor),n=e.resolve(this.head);return t.parent.type.spec.tableRole==`row`&&n.parent.type.spec.tableRole==`row`&&t.index()<t.parent.childCount&&n.index()<n.parent.childCount&&z_(t,n)?new H_(t,n):G.near(n,1)}};new Ki(`fix-tables`);function W_(e){let t=e.selection,n=I_(e),r=n.node(-1),i=n.start(-1),a=O_.get(r);return{...t instanceof H_?a.rectBetween(t.$anchorCell.pos-i,t.$headCell.pos-i):a.findCell(n.pos-i),tableStart:i,map:a,table:r}}function G_(e){return function(t,n){if(!F_(t))return!1;if(n){let r=N_(t.schema),i=W_(t),a=t.tr,o=i.map.cellsInRect(e==`column`?{left:i.left,top:0,right:i.right,bottom:i.map.height}:e==`row`?{left:0,top:i.top,right:i.map.width,bottom:i.bottom}:i),s=o.map(e=>i.table.nodeAt(e));for(let e=0;e<o.length;e++)s[e].type==r.header_cell&&a.setNodeMarkup(i.tableStart+o[e],r.cell,s[e].attrs);if(a.steps.length===0)for(let e=0;e<o.length;e++)a.setNodeMarkup(i.tableStart+o[e],r.header_cell,s[e].attrs);n(a)}return!0}}function K_(e,t,n){let r=t.map.cellsInRect({left:0,top:0,right:e==`row`?t.map.width:1,bottom:e==`column`?t.map.height:1});for(let e=0;e<r.length;e++){let i=t.table.nodeAt(r[e]);if(i&&i.type!==n.header_cell)return!1}return!0}function q_(e,t){return t||={useDeprecatedLogic:!1},t.useDeprecatedLogic?G_(e):function(t,n){if(!F_(t))return!1;if(n){let r=N_(t.schema),i=W_(t),a=t.tr,o=K_(`row`,i,r),s=K_(`column`,i,r),c=(e===`column`?o:e===`row`&&s)?1:0,l=e==`column`?{left:0,top:c,right:1,bottom:i.map.height}:e==`row`?{left:c,top:0,right:i.map.width,bottom:1}:i,u=e==`column`?s?r.cell:r.header_cell:e==`row`?o?r.cell:r.header_cell:r.cell;i.map.cellsInRect(l).forEach(e=>{let t=e+i.tableStart,n=a.doc.nodeAt(t);n&&a.setNodeMarkup(t,u,n.attrs)}),n(a)}return!0}}q_(`row`,{useDeprecatedLogic:!0}),q_(`column`,{useDeprecatedLogic:!0}),q_(`cell`,{useDeprecatedLogic:!0});function J_(e,t){let n=e.selection;if(!(n instanceof H_))return!1;if(t){let r=e.tr,i=N_(e.schema).cell.createAndFill().content;n.forEachCell((e,t)=>{e.content.eq(i)||r.replace(r.mapping.map(t+1),r.mapping.map(t+e.nodeSize-1),new W(i,0,0))}),r.docChanged&&t(r)}return!0}xu({ArrowLeft:X_(`horiz`,-1),ArrowRight:X_(`horiz`,1),ArrowUp:X_(`vert`,-1),ArrowDown:X_(`vert`,1),"Shift-ArrowLeft":Z_(`horiz`,-1),"Shift-ArrowRight":Z_(`horiz`,1),"Shift-ArrowUp":Z_(`vert`,-1),"Shift-ArrowDown":Z_(`vert`,1),Backspace:J_,"Mod-Backspace":J_,Delete:J_,"Mod-Delete":J_});function Y_(e,t,n){return n.eq(e.selection)?!1:(t&&t(e.tr.setSelection(n).scrollIntoView()),!0)}function X_(e,t){return(n,r,i)=>{if(!i)return!1;let a=n.selection;if(a instanceof H_)return Y_(n,r,G.near(a.$headCell,t));if(e!=`horiz`&&!a.empty)return!1;let o=Q_(i,e,t);if(o==null)return!1;if(e==`horiz`)return Y_(n,r,G.near(n.doc.resolve(a.head+t),t));{let i=n.doc.resolve(o),a=B_(i,e,t),s;return s=a?G.near(a,1):t<0?G.near(n.doc.resolve(i.before(-1)),-1):G.near(n.doc.resolve(i.after(-1)),1),Y_(n,r,s)}}}function Z_(e,t){return(n,r,i)=>{if(!i)return!1;let a=n.selection,o;if(a instanceof H_)o=a;else{let r=Q_(i,e,t);if(r==null)return!1;o=new H_(n.doc.resolve(r))}let s=B_(o.$headCell,e,t);return s?Y_(n,r,new H_(o.$anchorCell,s)):!1}}function Q_(e,t,n){if(!(e.state.selection instanceof K))return null;let{$head:r}=e.state.selection;for(let i=r.depth-1;i>=0;i--){let a=r.node(i);if((n<0?r.index(i):r.indexAfter(i))!=(n<0?0:a.childCount))return null;if(a.type.spec.tableRole==`cell`||a.type.spec.tableRole==`header_cell`){let a=r.before(i),o=t==`vert`?n>0?`down`:`up`:n>0?`right`:`left`;return e.endOfTextblock(o)?a:null}}return null}new Ki(`tableColumnResizing`);function $_(e,t){let n=Math.min(e.top,t.top),r=Math.max(e.bottom,t.bottom),i=Math.min(e.left,t.left),a=Math.max(e.right,t.right)-i,o=r-n;return new DOMRect(i,n,a,o)}var ev=class{constructor({editor:e,element:t,view:n,pluginKey:r=`bubbleMenu`,updateDelay:i=250,resizeDelay:a=60,shouldShow:o,appendTo:s,getReferencedVirtualElement:c,options:l}){this.preventHide=!1,this.isVisible=!1,this.scrollTarget=window,this.floatingUIOptions={strategy:`absolute`,placement:`top`,offset:8,flip:{},shift:{},arrow:!1,size:!1,autoPlacement:!1,hide:!1,inline:!1,onShow:void 0,onHide:void 0,onUpdate:void 0,onDestroy:void 0},this.shouldShow=({view:e,state:t,from:n,to:r})=>{let{doc:i,selection:a}=t,{empty:o}=a,s=!i.textBetween(n,r).length&&Ju(t.selection),c=this.element.contains(document.activeElement);return!(!(e.hasFocus()||c)||o||s||!this.editor.isEditable)},this.mousedownHandler=()=>{this.preventHide=!0},this.dragstartHandler=()=>{this.hide()},this.resizeHandler=()=>{this.resizeDebounceTimer&&clearTimeout(this.resizeDebounceTimer),this.resizeDebounceTimer=window.setTimeout(()=>{this.updatePosition()},this.resizeDelay)},this.focusHandler=()=>{setTimeout(()=>this.update(this.editor.view))},this.blurHandler=({event:e})=>{if(this.editor.isDestroyed){this.destroy();return}if(this.preventHide){this.preventHide=!1;return}e?.relatedTarget&&this.element.parentNode?.contains(e.relatedTarget)||e?.relatedTarget!==this.editor.view.dom&&this.hide()},this.handleDebouncedUpdate=(e,t)=>{let n=!t?.selection.eq(e.state.selection),r=!t?.doc.eq(e.state.doc);!n&&!r||(this.updateDebounceTimer&&clearTimeout(this.updateDebounceTimer),this.updateDebounceTimer=window.setTimeout(()=>{this.updateHandler(e,n,r,t)},this.updateDelay))},this.updateHandler=(e,t,n,r)=>{let{composing:i}=e;if(!(i||!t&&!n)){if(!this.getShouldShow(r)){this.hide();return}this.updatePosition(),this.show()}},this.transactionHandler=({transaction:e})=>{let t=e.getMeta(this.pluginKey);t===`updatePosition`?this.updatePosition():t&&typeof t==`object`&&t.type===`updateOptions`&&this.updateOptions(t.options)},this.editor=e,this.element=t,this.view=n,this.pluginKey=r,this.updateDelay=i,this.resizeDelay=a,this.appendTo=s,this.scrollTarget=l?.scrollTarget??window,this.getReferencedVirtualElement=c,this.floatingUIOptions={...this.floatingUIOptions,...l},this.element.tabIndex=0,o&&(this.shouldShow=o),this.element.addEventListener(`mousedown`,this.mousedownHandler,{capture:!0}),this.view.dom.addEventListener(`dragstart`,this.dragstartHandler),this.editor.on(`focus`,this.focusHandler),this.editor.on(`blur`,this.blurHandler),this.editor.on(`transaction`,this.transactionHandler),window.addEventListener(`resize`,this.resizeHandler),this.scrollTarget.addEventListener(`scroll`,this.resizeHandler),this.update(n,n.state),this.getShouldShow()&&(this.show(),this.updatePosition())}get middlewares(){let e=[];return this.floatingUIOptions.flip&&e.push(b_(typeof this.floatingUIOptions.flip==`boolean`?void 0:this.floatingUIOptions.flip)),this.floatingUIOptions.shift&&e.push(y_(typeof this.floatingUIOptions.shift==`boolean`?void 0:this.floatingUIOptions.shift)),this.floatingUIOptions.offset&&e.push(__(typeof this.floatingUIOptions.offset==`boolean`?void 0:this.floatingUIOptions.offset)),this.floatingUIOptions.arrow&&e.push(C_(this.floatingUIOptions.arrow)),this.floatingUIOptions.size&&e.push(x_(typeof this.floatingUIOptions.size==`boolean`?void 0:this.floatingUIOptions.size)),this.floatingUIOptions.autoPlacement&&e.push(v_(typeof this.floatingUIOptions.autoPlacement==`boolean`?void 0:this.floatingUIOptions.autoPlacement)),this.floatingUIOptions.hide&&e.push(S_(typeof this.floatingUIOptions.hide==`boolean`?void 0:this.floatingUIOptions.hide)),this.floatingUIOptions.inline&&e.push(w_(typeof this.floatingUIOptions.inline==`boolean`?void 0:this.floatingUIOptions.inline)),e}get virtualElement(){let{selection:e}=this.editor.state,t=this.getReferencedVirtualElement?.call(this);if(t)return t;if(!this.view?.dom?.parentNode)return;let n=Pf(this.view,e.from,e.to),r={getBoundingClientRect:()=>n,getClientRects:()=>[n]};if(e instanceof q){let t=this.view.nodeDOM(e.from),n=t.dataset.nodeViewWrapper?t:t.querySelector(`[data-node-view-wrapper]`);n&&(t=n),t&&(r={getBoundingClientRect:()=>t.getBoundingClientRect(),getClientRects:()=>[t.getBoundingClientRect()]})}if(e instanceof H_){let{$anchorCell:t,$headCell:n}=e,i=t?t.pos:n.pos,a=n?n.pos:t.pos,o=this.view.nodeDOM(i),s=this.view.nodeDOM(a);if(!o||!s)return;let c=o===s?o.getBoundingClientRect():$_(o.getBoundingClientRect(),s.getBoundingClientRect());r={getBoundingClientRect:()=>c,getClientRects:()=>[c]}}return r}updatePosition(){let e=this.virtualElement;e&&T_(e,this.element,{placement:this.floatingUIOptions.placement,strategy:this.floatingUIOptions.strategy,middleware:this.middlewares}).then(({x:e,y:t,strategy:n,middlewareData:r})=>{if(r.hide?.referenceHidden||r.hide?.escaped){this.element.style.visibility=`hidden`;return}this.element.style.visibility=`visible`,this.element.style.width=`max-content`,this.element.style.position=n,this.element.style.left=`${e}px`,this.element.style.top=`${t}px`,this.isVisible&&this.floatingUIOptions.onUpdate&&this.floatingUIOptions.onUpdate()})}update(e,t){let{state:n}=e,r=n.selection.from!==n.selection.to;if(this.updateDelay>0&&r){this.handleDebouncedUpdate(e,t);return}let i=!t?.selection.eq(e.state.selection),a=!t?.doc.eq(e.state.doc);this.updateHandler(e,i,a,t)}getShouldShow(e){let{state:t}=this.view,{selection:n}=t,{ranges:r}=n,i=Math.min(...r.map(e=>e.$from.pos)),a=Math.max(...r.map(e=>e.$to.pos));return this.shouldShow?.call(this,{editor:this.editor,element:this.element,view:this.view,state:t,oldState:e,from:i,to:a})||!1}show(){var e;this.isVisible||(this.element.style.visibility=`visible`,this.element.style.opacity=`1`,(e=(typeof this.appendTo==`function`?this.appendTo():this.appendTo)??this.view.dom.parentElement)==null||e.appendChild(this.element),this.floatingUIOptions.onShow&&this.floatingUIOptions.onShow(),this.isVisible=!0)}hide(){this.isVisible&&=(this.element.style.visibility=`hidden`,this.element.style.opacity=`0`,this.element.remove(),this.floatingUIOptions.onHide&&this.floatingUIOptions.onHide(),!1)}updateOptions(e){if(e.updateDelay!==void 0&&(this.updateDelay=e.updateDelay),e.resizeDelay!==void 0&&(this.resizeDelay=e.resizeDelay),e.appendTo!==void 0&&(this.appendTo=e.appendTo),e.getReferencedVirtualElement!==void 0&&(this.getReferencedVirtualElement=e.getReferencedVirtualElement),e.shouldShow!==void 0&&e.shouldShow&&(this.shouldShow=e.shouldShow),e.options!==void 0){let t=e.options.scrollTarget??window;t!==this.scrollTarget&&(this.scrollTarget.removeEventListener(`scroll`,this.resizeHandler),this.scrollTarget=t,this.scrollTarget.addEventListener(`scroll`,this.resizeHandler)),this.floatingUIOptions={...this.floatingUIOptions,...e.options}}}destroy(){this.hide(),this.element.removeEventListener(`mousedown`,this.mousedownHandler,{capture:!0}),this.view.dom.removeEventListener(`dragstart`,this.dragstartHandler),window.removeEventListener(`resize`,this.resizeHandler),this.scrollTarget.removeEventListener(`scroll`,this.resizeHandler),this.editor.off(`focus`,this.focusHandler),this.editor.off(`blur`,this.blurHandler),this.editor.off(`transaction`,this.transactionHandler),this.floatingUIOptions.onDestroy&&this.floatingUIOptions.onDestroy()}},tv=e=>new Ui({key:typeof e.pluginKey==`string`?new Ki(e.pluginKey):e.pluginKey,view:t=>new ev({view:t,...e})});Cp.create({name:`bubbleMenu`,addOptions(){return{element:null,pluginKey:`bubbleMenu`,updateDelay:void 0,appendTo:void 0,shouldShow:null}},addProseMirrorPlugins(){return this.options.element?[tv({pluginKey:this.options.pluginKey,editor:this.editor,element:this.options.element,updateDelay:this.options.updateDelay,options:this.options.options,appendTo:this.options.appendTo,getReferencedVirtualElement:this.options.getReferencedVirtualElement,shouldShow:this.options.shouldShow})]:[]}});var nv=class{constructor({editor:e,element:t,view:n,pluginKey:r=`floatingMenu`,updateDelay:i=250,resizeDelay:a=60,options:o,appendTo:s,shouldShow:c}){this.preventHide=!1,this.isVisible=!1,this.scrollTarget=window,this.shouldShow=({view:e,state:t})=>{let{selection:n}=t,{$anchor:r,empty:i}=n,a=r.depth===1,o=r.parent.isTextblock&&!r.parent.type.spec.code&&!r.parent.textContent&&r.parent.childCount===0&&!this.getTextContent(r.parent);return!(!e.hasFocus()||!i||!a||!o||!this.editor.isEditable)},this.floatingUIOptions={strategy:`absolute`,placement:`right`,offset:8,flip:{},shift:{},arrow:!1,size:!1,autoPlacement:!1,hide:!1,inline:!1},this.updateHandler=(e,t,n,r)=>{let{composing:i}=e;if(!(i||!t&&!n)){if(!this.getShouldShow(r)){this.hide();return}this.updatePosition(),this.show()}},this.mousedownHandler=()=>{this.preventHide=!0},this.focusHandler=()=>{setTimeout(()=>this.update(this.editor.view))},this.blurHandler=({event:e})=>{if(this.preventHide){this.preventHide=!1;return}e?.relatedTarget&&this.element.parentNode?.contains(e.relatedTarget)||e?.relatedTarget!==this.editor.view.dom&&this.hide()},this.transactionHandler=({transaction:e})=>{let t=e.getMeta(this.pluginKey);t===`updatePosition`?this.updatePosition():t&&typeof t==`object`&&t.type===`updateOptions`&&this.updateOptions(t.options)},this.resizeHandler=()=>{this.resizeDebounceTimer&&clearTimeout(this.resizeDebounceTimer),this.resizeDebounceTimer=window.setTimeout(()=>{this.updatePosition()},this.resizeDelay)},this.editor=e,this.element=t,this.view=n,this.pluginKey=r,this.updateDelay=i,this.resizeDelay=a,this.appendTo=s,this.scrollTarget=o?.scrollTarget??window,this.floatingUIOptions={...this.floatingUIOptions,...o},this.element.tabIndex=0,c&&(this.shouldShow=c),this.element.addEventListener(`mousedown`,this.mousedownHandler,{capture:!0}),this.editor.on(`focus`,this.focusHandler),this.editor.on(`blur`,this.blurHandler),this.editor.on(`transaction`,this.transactionHandler),window.addEventListener(`resize`,this.resizeHandler),this.scrollTarget.addEventListener(`scroll`,this.resizeHandler),this.update(n,n.state),this.getShouldShow()&&(this.show(),this.updatePosition())}getTextContent(e){return df(e,{textSerializers:ff(this.editor.schema)})}get middlewares(){let e=[];return this.floatingUIOptions.flip&&e.push(b_(typeof this.floatingUIOptions.flip==`boolean`?void 0:this.floatingUIOptions.flip)),this.floatingUIOptions.shift&&e.push(y_(typeof this.floatingUIOptions.shift==`boolean`?void 0:this.floatingUIOptions.shift)),this.floatingUIOptions.offset&&e.push(__(typeof this.floatingUIOptions.offset==`boolean`?void 0:this.floatingUIOptions.offset)),this.floatingUIOptions.arrow&&e.push(C_(this.floatingUIOptions.arrow)),this.floatingUIOptions.size&&e.push(x_(typeof this.floatingUIOptions.size==`boolean`?void 0:this.floatingUIOptions.size)),this.floatingUIOptions.autoPlacement&&e.push(v_(typeof this.floatingUIOptions.autoPlacement==`boolean`?void 0:this.floatingUIOptions.autoPlacement)),this.floatingUIOptions.hide&&e.push(S_(typeof this.floatingUIOptions.hide==`boolean`?void 0:this.floatingUIOptions.hide)),this.floatingUIOptions.inline&&e.push(w_(typeof this.floatingUIOptions.inline==`boolean`?void 0:this.floatingUIOptions.inline)),e}getShouldShow(e){let{state:t}=this.view,{selection:n}=t,{ranges:r}=n,i=Math.min(...r.map(e=>e.$from.pos)),a=Math.max(...r.map(e=>e.$to.pos));return this.shouldShow?.call(this,{editor:this.editor,view:this.view,state:t,oldState:e,from:i,to:a})}updateOptions(e){if(e.updateDelay!==void 0&&(this.updateDelay=e.updateDelay),e.resizeDelay!==void 0&&(this.resizeDelay=e.resizeDelay),e.appendTo!==void 0&&(this.appendTo=e.appendTo),e.shouldShow!==void 0&&e.shouldShow&&(this.shouldShow=e.shouldShow),e.options!==void 0){let t=e.options.scrollTarget??window;t!==this.scrollTarget&&(this.scrollTarget.removeEventListener(`scroll`,this.resizeHandler),this.scrollTarget=t,this.scrollTarget.addEventListener(`scroll`,this.resizeHandler)),this.floatingUIOptions={...this.floatingUIOptions,...e.options}}}updatePosition(){let{selection:e}=this.editor.state,t=Pf(this.view,e.from,e.to);T_({getBoundingClientRect:()=>t,getClientRects:()=>[t]},this.element,{placement:this.floatingUIOptions.placement,strategy:this.floatingUIOptions.strategy,middleware:this.middlewares}).then(({x:e,y:t,strategy:n,middlewareData:r})=>{if(r.hide?.referenceHidden||r.hide?.escaped){this.element.style.visibility=`hidden`;return}this.element.style.visibility=`visible`,this.element.style.width=`max-content`,this.element.style.position=n,this.element.style.left=`${e}px`,this.element.style.top=`${t}px`,this.isVisible&&this.floatingUIOptions.onUpdate&&this.floatingUIOptions.onUpdate()})}update(e,t){let n=!t?.selection.eq(e.state.selection),r=!t?.doc.eq(e.state.doc);this.updateHandler(e,n,r,t)}show(){var e;this.isVisible||(this.element.style.visibility=`visible`,this.element.style.opacity=`1`,(e=(typeof this.appendTo==`function`?this.appendTo():this.appendTo)??this.view.dom.parentElement)==null||e.appendChild(this.element),this.floatingUIOptions.onShow&&this.floatingUIOptions.onShow(),this.isVisible=!0)}hide(){this.isVisible&&=(this.element.style.visibility=`hidden`,this.element.style.opacity=`0`,this.element.remove(),this.floatingUIOptions.onHide&&this.floatingUIOptions.onHide(),!1)}destroy(){this.hide(),this.element.removeEventListener(`mousedown`,this.mousedownHandler,{capture:!0}),window.removeEventListener(`resize`,this.resizeHandler),this.scrollTarget.removeEventListener(`scroll`,this.resizeHandler),this.editor.off(`focus`,this.focusHandler),this.editor.off(`blur`,this.blurHandler),this.editor.off(`transaction`,this.transactionHandler),this.floatingUIOptions.onDestroy&&this.floatingUIOptions.onDestroy()}},rv=e=>new Ui({key:typeof e.pluginKey==`string`?new Ki(e.pluginKey):e.pluginKey,view:t=>new nv({view:t,...e})});Cp.create({name:`floatingMenu`,addOptions(){return{element:null,options:{},pluginKey:`floatingMenu`,updateDelay:void 0,resizeDelay:void 0,appendTo:void 0,shouldShow:null}},addCommands(){return{updateFloatingMenuPosition:()=>({tr:e,dispatch:t})=>(t&&e.setMeta(this.options.pluginKey,`updatePosition`),!0)}},addProseMirrorPlugins(){return this.options.element?[rv({pluginKey:this.options.pluginKey,editor:this.editor,element:this.options.element,updateDelay:this.options.updateDelay,resizeDelay:this.options.resizeDelay,options:this.options.options,appendTo:this.options.appendTo,shouldShow:this.options.shouldShow})]:[]}});function iv(e,t){return e??new Ki(t)}var av=typeof window<`u`?B.useLayoutEffect:B.useEffect,ov=new Set([`left`,`opacity`,`position`,`top`,`visibility`,`width`]),sv=new Set(`animationIterationCount.aspectRatio.borderImageOutset.borderImageSlice.borderImageWidth.columnCount.columns.fillOpacity.flex.flexGrow.flexShrink.fontWeight.gridArea.gridColumn.gridColumnEnd.gridColumnStart.gridRow.gridRowEnd.gridRowStart.lineClamp.lineHeight.opacity.order.orphans.scale.stopOpacity.strokeDasharray.strokeDashoffset.strokeMiterlimit.strokeOpacity.strokeWidth.tabSize.widows.zIndex.zoom`.split(`.`)),cv=new Set([`children`,`className`,`style`]),lv=new Set([`tabIndex`]),uv=new Set([`accessKey`,`autoCapitalize`,`contentEditable`,`contextMenu`,`dir`,`draggable`,`enterKeyHint`,`hidden`,`id`,`lang`,`nonce`,`role`,`slot`,`spellCheck`,`tabIndex`,`title`,`translate`]),dv={Blur:`focusout`,DoubleClick:`dblclick`,Focus:`focusin`,MouseEnter:`mouseenter`,MouseLeave:`mouseleave`};function fv(e,t){return/^on[A-Z]/.test(e)&&typeof t==`function`}function pv(e){return e.startsWith(`aria-`)||e.startsWith(`data-`),e}function mv(e){return e.startsWith(`aria-`)||e.startsWith(`data-`)||uv.has(e)}function hv(e){return e.startsWith(`--`)?e:e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}function gv(e){let t=e.endsWith(`Capture`),n=(t?e.slice(0,-7):e).slice(2);return{eventName:dv[n]??n.toLowerCase(),options:t?{capture:!0}:void 0}}function _v(e,t){let n=t.defaultPrevented,r=!1,i=Object.create(t);return Object.defineProperties(i,{nativeEvent:{value:t},currentTarget:{value:e},target:{value:t.target},persist:{value:()=>void 0},isDefaultPrevented:{value:()=>n},isPropagationStopped:{value:()=>r},preventDefault:{value:()=>{n=!0,t.preventDefault()}},stopPropagation:{value:()=>{r=!0,t.stopPropagation()}}}),i}function vv(e){return lv.has(e)}function yv(e,t,n){if(t===`tabIndex`){e.tabIndex=Number(n);return}e[t]=n}function bv(e,t){if(t===`tabIndex`){e.removeAttribute(`tabindex`);return}let n=e[t];if(typeof n==`boolean`){e[t]=!1;return}if(typeof n==`number`){e[t]=0;return}e[t]=``}function xv(e,t){return typeof t!=`number`||t===0||e.startsWith(`--`)||sv.has(e)?String(t):`${t}px`}function Sv(e,t){ov.has(t)||e.style.removeProperty(hv(t))}function Cv(e,t,n){ov.has(t)||e.style.setProperty(hv(t),xv(t,n))}function wv(e,t,n){new Set([...Object.keys(t),...Object.keys(n)]).forEach(r=>{if(cv.has(r)||!mv(r)||fv(r,t[r])||fv(r,n[r]))return;let i=t[r],a=n[r];if(i===a)return;let o=pv(r);if(a==null||a===!1){vv(r)&&bv(e,r),e.removeAttribute(o);return}if(a===!0){vv(r)&&yv(e,r,!0),e.setAttribute(o,``);return}if(vv(r)){yv(e,r,a);return}e.setAttribute(o,String(a))})}function Tv(e,t,n){if(t!==n){if(n){e.className=n;return}e.removeAttribute(`class`)}}function Ev(e,t,n){let r=t??{},i=n??{};new Set([...Object.keys(r),...Object.keys(i)]).forEach(t=>{let n=r[t],a=i[t];if(n!==a){if(a==null){Sv(e,t);return}Cv(e,t,a)}})}function Dv(e,t,n){t.forEach(({eventName:t,listener:n,options:r})=>{e.removeEventListener(t,n,r)});let r=[];return Object.entries(n).forEach(([t,n])=>{if(!fv(t,n))return;let{eventName:i,options:a}=gv(t),o=t=>{n(_v(e,t))};e.addEventListener(i,o,a),r.push({eventName:i,listener:o,options:a})}),r}function Ov(e,t){let n=(0,B.useRef)({}),r=(0,B.useRef)([]);av(()=>{let i=n.current;return Tv(e,i.className,t.className),Ev(e,i.style,t.style),wv(e,i,t),r.current=Dv(e,r.current,t),n.current=t,()=>{r.current.forEach(({eventName:t,listener:n,options:r})=>{e.removeEventListener(t,n,r)}),r.current=[]}},[e,t])}var kv=B.forwardRef(({pluginKey:e,editor:t,updateDelay:n,resizeDelay:r,appendTo:i,shouldShow:a=null,getReferencedVirtualElement:o,options:s,children:c,...l},u)=>{let d=(0,B.useRef)(document.createElement(`div`)),f=(0,B.useRef)(iv(e,`bubbleMenu`)).current;Ov(d.current,l),typeof u==`function`?u(d.current):u&&(u.current=d.current);let{editor:p}=vh(),m=t||p,h={updateDelay:n,resizeDelay:r,appendTo:i,pluginKey:f,shouldShow:a,getReferencedVirtualElement:o,options:s},g=(0,B.useRef)(h);g.current=h;let[_,v]=(0,B.useState)(!1),y=(0,B.useRef)(!0);return(0,B.useEffect)(()=>{if(m?.isDestroyed)return;if(!m){console.warn(`BubbleMenu component is not rendered inside of an editor component or does not have editor prop.`);return}let e=d.current;e.style.visibility=`hidden`,e.style.position=`absolute`;let t=tv({...g.current,editor:m,element:e});m.registerPlugin(t);let n=g.current.pluginKey;return y.current=!0,v(!0),()=>{v(!1),m.unregisterPlugin(n),window.requestAnimationFrame(()=>{e.parentNode&&e.parentNode.removeChild(e)})}},[m]),(0,B.useEffect)(()=>{if(!(!_||!m||m.isDestroyed)){if(y.current){y.current=!1;return}m.view.dispatch(m.state.tr.setMeta(f,{type:`updateOptions`,options:g.current}))}},[_,m,n,r,a,s,i,o,f]),(0,Vt.createPortal)(c,d.current)});B.forwardRef(({pluginKey:e,editor:t,updateDelay:n,resizeDelay:r,appendTo:i,shouldShow:a=null,options:o,children:s,...c},l)=>{let u=(0,B.useRef)(document.createElement(`div`)),d=(0,B.useRef)(iv(e,`floatingMenu`)).current;Ov(u.current,c),typeof l==`function`?l(u.current):l&&(l.current=u.current);let{editor:f}=vh(),p=t||f,m={updateDelay:n,resizeDelay:r,appendTo:i,pluginKey:d,shouldShow:a,options:o},h=(0,B.useRef)(m);h.current=m;let[g,_]=(0,B.useState)(!1),v=(0,B.useRef)(!0);return(0,B.useEffect)(()=>{if(p?.isDestroyed)return;if(!p){console.warn(`FloatingMenu component is not rendered inside of an editor component or does not have editor prop.`);return}let e=u.current;e.style.visibility=`hidden`,e.style.position=`absolute`;let t=rv({...h.current,editor:p,element:e});p.registerPlugin(t);let n=h.current.pluginKey;return v.current=!0,_(!0),()=>{_(!1),p.unregisterPlugin(n),window.requestAnimationFrame(()=>{e.parentNode&&e.parentNode.removeChild(e)})}},[p]),(0,B.useEffect)(()=>{if(!(!g||!p||p.isDestroyed)){if(v.current){v.current=!1;return}p.view.dispatch(p.state.tr.setMeta(d,{type:`updateOptions`,options:h.current}))}},[g,p,n,r,a,o,i,d]),(0,Vt.createPortal)(s,u.current)});var Av=(e,t)=>{if(e===`slot`)return 0;if(e instanceof Function)return e(t);let{children:n,...r}=t??{};if(e===`svg`)throw Error(`SVG elements are not supported in the JSX syntax, use the array syntax instead`);return[e,r,n]},jv=/^\s*>\s$/,Mv=nm.create({name:`blockquote`,addOptions(){return{HTMLAttributes:{}}},content:`block+`,group:`block`,defining:!0,parseHTML(){return[{tag:`blockquote`}]},renderHTML({HTMLAttributes:e}){return Av(`blockquote`,{...Zd(this.options.HTMLAttributes,e),children:Av(`slot`,{})})},parseMarkdown:(e,t)=>{let n=t.parseBlockChildren??t.parseChildren;return t.createNode(`blockquote`,void 0,n(e.tokens||[]))},renderMarkdown:(e,t)=>{if(!e.content)return``;let n=[];return e.content.forEach((e,r)=>{let i=(t.renderChild?.call(t,e,r)??t.renderChildren([e])).split(`
|
|
103
103
|
`).map(e=>e.trim()===``?`>`:`> ${e}`);n.push(i.join(`
|
|
104
104
|
`))}),n.join(`
|
|
105
105
|
>
|
|
@@ -204,7 +204,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
204
204
|
`),t=e[0].match(/^\s*[-+*]\s+\[([ xX])\]\s+(.*)$/),r=t?t[2]:``,i=[];if(e.length>1&&e.slice(1).join(`
|
|
205
205
|
`).trim()){let t=e.slice(1),n=t.filter(e=>e.trim());if(n.length>0){let e=Math.min(...n.map(e=>e.length-e.trimStart().length)),r=t.map(t=>t.trim()?t.slice(e):``).join(`
|
|
206
206
|
`).trim();r&&(i=this.markedInstance.lexer(`${r}
|
|
207
|
-
`))}}l={type:`taskItem`,raw:``,mainContent:r,indentLevel:c,checked:s??!1,text:r,tokens:this.lexer.inlineTokens(r),nestedTokens:i}}let u=o?`taskList`:`list`;a===u?i.push(l):(i.length>0&&r.push({type:a,items:i}),i=[l],a=u)}i.length>0&&r.push({type:a,items:i});let o=[];for(let t=0;t<r.length;t+=1){let n=r[t],i={...e,type:n.type,items:n.items},a=this.parseToken(i);a&&(Array.isArray(a)?o.push(...a):o.push(a))}return o.length>0?o:null}parseTokenWithHandlers(e){if(!e.type)return null;let t=this.getHandlersForToken(e.type),n=this.createParseHelpers();if(t.find(t=>{if(!t.parseMarkdown)return!1;let r=t.parseMarkdown(e,n),i=this.normalizeParseResult(r);return i&&(!Array.isArray(i)||i.length>0)?(this.lastParseResult=i,!0):!1})&&this.lastParseResult){let e=this.lastParseResult;return this.lastParseResult=null,e}return this.parseFallbackToken(e)}createParseHelpers(){return{parseInline:e=>this.parseInlineTokens(e),parseChildren:e=>this.parseTokens(e),parseBlockChildren:e=>this.parseTokens(e,!0),createTextNode:(e,t)=>({type:`text`,text:e,marks:t||void 0}),createNode:(e,t,n)=>{let r={type:e,attrs:t||void 0,content:n||void 0};return(!t||Object.keys(t).length===0)&&delete r.attrs,r},applyMark:(e,t,n)=>({mark:e,content:t,attrs:n&&Object.keys(n).length>0?n:void 0})}}escapeRegex(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}parseInlineTokens(e){let t=[];for(let n=0;n<e.length;n+=1){let r=e[n];if(r.type===`text`)t.push({type:`text`,text:r.text||``});else if(r.type===`html`){let i=(r.raw??r.text??``).toString(),a=/^<\/[\s]*[\w-]+/i.test(i),o=i.match(/^<[\s]*([\w-]+)(\s|>|\/|$)/i);if(!a&&o&&!/\/>$/.test(i)){let r=o[1],a=this.escapeRegex(r),s=RegExp(`^<\\/\\s*${a}\\b`,`i`),c=-1,l=[i];for(let t=n+1;t<e.length;t+=1){let n=e[t],r=(n.raw??n.text??``).toString();if(l.push(r),n.type===`html`&&s.test(r)){c=t;break}}if(c!==-1){let e=l.join(``),r={type:`html`,raw:e,text:e,block:!1},i=this.parseHTMLToken(r);if(i){let e=this.normalizeParseResult(i);Array.isArray(e)?t.push(...e):e&&t.push(e)}n=c;continue}}let s=this.parseHTMLToken(r);if(s){let e=this.normalizeParseResult(s);Array.isArray(e)?t.push(...e):e&&t.push(e)}}else if(r.type){let e=this.getHandlerForToken(r.type);if(e&&e.parseMarkdown){let n=this.createParseHelpers(),i=e.parseMarkdown(r,n);if(this.isMarkResult(i)){let e=this.applyMarkToContent(i.mark,i.content,i.attrs);t.push(...e)}else{let e=this.normalizeParseResult(i);Array.isArray(e)?t.push(...e):e&&t.push(e)}}else r.tokens&&t.push(...this.parseInlineTokens(r.tokens))}}return t}applyMarkToContent(e,t,n){return t.map(t=>{if(t.type===`text`){let r=t.marks||[],i=n?{type:e,attrs:n}:{type:e};return{...t,marks:[...r,i]}}return{...t,content:t.content?this.applyMarkToContent(e,t.content,n):void 0}})}isMarkResult(e){return e&&typeof e==`object`&&`mark`in e}normalizeParseResult(e){return e?this.isMarkResult(e)?e.content:e:null}parseFallbackToken(e,t=!1){switch(e.type){case`paragraph`:return{type:`paragraph`,content:e.tokens?this.parseInlineTokens(e.tokens):[]};case`heading`:return{type:`heading`,attrs:{level:e.depth||1},content:e.tokens?this.parseInlineTokens(e.tokens):[]};case`text`:return{type:`text`,text:e.text||``};case`html`:return this.parseHTMLToken(e);case`space`:return null;default:return e.tokens?this.parseTokens(e.tokens,t):null}}parseHTMLToken(e){let t=e.text||e.raw||``;if(!t.trim())return null;if(typeof window>`u`)return e.block?{type:`paragraph`,content:[{type:`text`,text:t}]}:{type:`text`,text:t};try{let n=lf(t,this.baseExtensions);return n.type===`doc`&&n.content?e.block?n.content:n.content.length===1&&n.content[0].type===`paragraph`&&n.content[0].content?n.content[0].content:n.content:n}catch(e){throw Error(`Failed to parse HTML in markdown: ${e}`)}}renderNodeToMarkdown(e,t,n=0,r=0,i={}){if(e.type===`text`)return e.text||``;if(!e.type)return``;let a=this.getHandlerForToken(e.type);if(!a)return``;let o=Array.isArray(t?.content)&&n>0?t.content[n-1]:void 0,s={renderChildren:(t,i)=>{let o=a.isIndenting?r+1:r;return!Array.isArray(t)&&t.content?this.renderNodes(t.content,e,i||``,n,o):this.renderNodes(t,e,i||``,n,o)},renderChild:(t,n)=>{let i=a.isIndenting?r+1:r;return this.renderNodeToMarkdown(t,e,n,i)},indent:e=>this.indentString+e,wrapInBlock:vw},c={index:n,level:r,parentType:t?.type,previousNode:o,meta:{parentAttrs:t?.attrs,...i}};return a.renderMarkdown?.call(a,e,s,c)||``}renderNodes(e,t,n=``,r=0,i=0){return Array.isArray(e)?this.renderNodesWithMarkBoundaries(e,t,n,i):e.type?this.renderNodeToMarkdown(e,t,r,i):``}renderNodesWithMarkBoundaries(e,t,n=``,r=0){let i=[],a=new Map,o=new Set,s=new Map;return e.forEach((n,c)=>{let l=c<e.length-1?e[c+1]:null;if(n.type)if(n.type===`text`){let e=n.text||``,t=new Map((n.marks||[]).map(e=>[e.type,e])),r=bw(a,t),c=yw(t,l),u=c.filter(e=>a.has(e)),d=u.length>0&&r.length>0,f=``;if(c.length>0&&!d){let t=e.match(/(\s+)$/);t&&(f=t[1],e=e.slice(0,-f.length))}d||c.forEach(n=>{if(!a.has(n))return;let r=t.get(n),i=this.getMarkClosing(n,r,s.get(n));i&&(e+=i),a.has(n)&&(a.delete(n),s.delete(n))});let p=``;if(r.length>0){let t=e.match(/^(\s+)/);t&&(p=t[1],e=e.slice(p.length))}r.forEach(({type:t,mark:n})=>{let r=o.has(t)?`html`:`markdown`,i=this.getMarkOpening(t,n,r);i&&(e=i+e),s.set(t,r),o.delete(t)}),d||r.slice().reverse().forEach(({type:e,mark:t})=>{a.set(e,t)}),e=p+e;let m;if(d){let e=new Set((l?.marks||[]).map(e=>e.type));r.forEach(({type:t})=>{e.has(t)&&this.getHtmlReopenTags(t)&&o.add(t)}),m=[...r.map(e=>e.type),...u]}else m=xw(a,t,l,this.markSetsEqual.bind(this));let h=``;if(m.length>0){let t=e.match(/(\s+)$/);t&&(h=t[1],e=e.slice(0,-h.length))}m.forEach(n=>{let r=a.get(n)??t.get(n),i=this.getMarkClosing(n,r,s.get(n));i&&(e+=i),a.delete(n),s.delete(n)}),e+=h,e+=f,i.push(e)}else{let e=new Map(a),o=new Map(s),l=Sw(a,(e,t)=>this.getMarkClosing(e,t,s.get(e)));s.clear();let u=this.renderNodeToMarkdown(n,t,c,r),d=n.type===`hardBreak`?``:Cw(e,a,(e,t)=>{let n=o.get(e)??`markdown`;return s.set(e,n),this.getMarkOpening(e,t,n)});i.push(l+u+d)}}),i.join(n)}getMarkOpening(e,t,n=`markdown`){if(n===`html`)return this.getHtmlReopenTags(e)?.open||``;let r=this.getHandlersForNodeType(e),i=r.length>0?r[0]:void 0;if(!i||!i.renderMarkdown)return``;let a=`__TIPTAP_MARKDOWN_PLACEHOLDER__`,o={type:e,attrs:t.attrs||{},content:[{type:`text`,text:a}]};try{let e=i.renderMarkdown(o,{renderChildren:()=>a,renderChild:()=>a,indent:e=>e,wrapInBlock:(e,t)=>e+t},{index:0,level:0,parentType:`text`,meta:{}}),t=e.indexOf(a);return t>=0?e.substring(0,t):``}catch(t){throw Error(`Failed to get mark opening for ${e}: ${t}`)}}getMarkClosing(e,t,n=`markdown`){if(n===`html`)return this.getHtmlReopenTags(e)?.close||``;let r=this.getHandlersForNodeType(e),i=r.length>0?r[0]:void 0;if(!i||!i.renderMarkdown)return``;let a=`__TIPTAP_MARKDOWN_PLACEHOLDER__`,o={type:e,attrs:t.attrs||{},content:[{type:`text`,text:a}]};try{let e=i.renderMarkdown(o,{renderChildren:()=>a,renderChild:()=>a,indent:e=>e,wrapInBlock:(e,t)=>e+t},{index:0,level:0,parentType:`text`,meta:{}}),t=e.indexOf(a),n=t+33;return t>=0?e.substring(n):``}catch(t){throw Error(`Failed to get mark closing for ${e}: ${t}`)}}getHtmlReopenTags(e){let t=this.getHandlersForNodeType(e);return(t.length>0?t[0]:void 0)?.htmlReopen}markSetsEqual(e,t){return e.size===t.size?Array.from(e.keys()).every(e=>t.has(e)):!1}},Dw=Cp.create({name:`markdown`,addOptions(){return{indentation:{style:`space`,size:2},marked:void 0,markedOptions:{}}},addCommands(){return{setContent:(e,t)=>{if(!t?.contentType||Tw(e,t?.contentType)!==`markdown`||!this.editor.markdown)return Eu.setContent(e,t);let n=this.editor.markdown.parse(e);return Eu.setContent(n,t)},insertContent:(e,t)=>{if(!t?.contentType||Tw(e,t?.contentType)!==`markdown`||!this.editor.markdown)return Eu.insertContent(e,t);let n=this.editor.markdown.parse(e);return Eu.insertContent(n,t)},insertContentAt:(e,t,n)=>{if(!n?.contentType||Tw(t,n?.contentType)!==`markdown`||!this.editor.markdown)return Eu.insertContentAt(e,t,n);let r=this.editor.markdown.parse(t);return Eu.insertContentAt(e,r,n)}}},addStorage(){return{manager:new Ew({indentation:this.options.indentation,marked:this.options.marked,markedOptions:this.options.markedOptions,extensions:[]})}},onBeforeCreate(){if(this.editor.markdown){console.error("[tiptap][markdown]: There is already a `markdown` property on the editor instance. This might lead to unexpected behavior.");return}if(this.storage.manager=new Ew({indentation:this.options.indentation,marked:this.options.marked,markedOptions:this.options.markedOptions,extensions:this.editor.extensionManager.baseExtensions}),this.editor.markdown=this.storage.manager,this.editor.getMarkdown=()=>this.storage.manager.serialize(this.editor.getJSON()),!this.editor.options.contentType||Tw(this.editor.options.content,this.editor.options.contentType)!==`markdown`)return;if(!this.editor.markdown)throw Error('[tiptap][markdown]: The `contentType` option is set to "markdown", but the Markdown extension is not added to the editor. Please add the Markdown extension to use this feature.');if(this.editor.options.content===void 0||typeof this.editor.options.content!=`string`)throw Error('[tiptap][markdown]: The `contentType` option is set to "markdown", but the initial content is not a string. Please provide the initial content as a markdown string.');let e=this.editor.markdown.parse(this.editor.options.content);this.editor.options.content=e}});function Ow({title:e,isStreaming:t,persistent:n,channelName:r,renderPopout:i,onSyncMessage:a}){let[o,s]=(0,B.useState)(!1),[c,l]=(0,B.useState)(!1),[u,d]=(0,B.useState)(!n&&t===!1),f=(0,B.useRef)(null),p=(0,B.useRef)(null),m=(0,B.useRef)(null),h=(0,B.useRef)(t);(0,B.useEffect)(()=>{!n&&h.current===!0&&t===!1&&d(!0),h.current=t},[t,n]);let g=(0,B.useCallback)(()=>{p.current&&=(clearInterval(p.current),null),m.current&&=(m.current.close(),null),f.current&&!f.current.closed&&f.current.close(),f.current=null,l(!1)},[]),_=(0,B.useCallback)(()=>{s(!1),d(!1);let t=window.open(``,`maxy-${r}`,`width=800,height=600`);if(t){f.current=t,l(!0),i(t,e);try{let e=new BroadcastChannel(r);m.current=e,a&&(e.onmessage=e=>a(e.data))}catch{}p.current=setInterval(()=>{f.current?.closed&&(g(),d(!0))},500)}},[r,e,i,a,g]),v=(0,B.useCallback)(()=>{g(),d(!1)},[g]),y=(0,B.useCallback)(()=>{g(),s(!1),d(!0)},[g]),b=(0,B.useCallback)(()=>{d(!1)},[]),x=(0,B.useCallback)(()=>{g(),d(!1),s(!0)},[g]),S=(0,B.useCallback)(()=>s(!1),[]),C=(0,B.useCallback)(e=>{m.current&&m.current.postMessage(e)},[]);return(0,B.useEffect)(()=>{if(!o)return;let e=e=>{e.key===`Escape`&&(e.stopPropagation(),S())};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[o,S]),(0,B.useEffect)(()=>()=>g(),[g]),{fullscreen:o,poppedOut:c,minimised:u,handlePopout:_,handlePopIn:v,handleFullscreen:x,handleMinimise:y,handleExpand:b,exitFullscreen:S,syncToPopout:C,dragBarProps:It({handlePopout:_,disabled:c||o})}}function kw({onSubmit:e}){let[t,n]=(0,B.useState)([]),[r,i]=(0,B.useState)(!1),[a,o]=(0,B.useState)(``),s=(0,B.useRef)(null);return{pendingComments:t,showCommentInput:r,commentText:a,commentInputRef:s,setCommentText:o,openCommentInput:(0,B.useCallback)(()=>{i(!0),setTimeout(()=>s.current?.focus(),50)},[]),submitComment:(0,B.useCallback)((e,t)=>{if(!a.trim()||!e)return null;let r=`c_${Date.now()}`,s={id:r,selectedText:e,comment:a.trim(),meta:t};return n(e=>[...e,s]),o(``),i(!1),r},[a]),sendComments:(0,B.useCallback)(()=>{t.length!==0&&(e(JSON.stringify({action:`comment`,comments:t.map(({selectedText:e,comment:t,meta:n})=>({selectedText:e,comment:t,...n}))})),n([]))},[t,e]),cancelComment:(0,B.useCallback)(()=>{o(``),i(!1)},[]),removeComment:(0,B.useCallback)(e=>{n(t=>t.filter(t=>t.id!==e))},[])}}var Aw=mp.create({name:`comment`,addAttributes(){return{commentId:{default:null},commentText:{default:``},createdAt:{default:``}}},parseHTML(){return[{tag:`span[data-comment]`}]},renderHTML({HTMLAttributes:e}){return[`span`,Zd(e,{"data-comment":``,class:`doc-editor__comment-highlight`,title:e.commentText||``}),0]}});function jw({content:e}){return(0,V.jsx)(`div`,{className:`doc-editor__fallback`,children:(0,V.jsx)(k,{remarkPlugins:[M],children:e})})}var Mw=`
|
|
207
|
+
`))}}l={type:`taskItem`,raw:``,mainContent:r,indentLevel:c,checked:s??!1,text:r,tokens:this.lexer.inlineTokens(r),nestedTokens:i}}let u=o?`taskList`:`list`;a===u?i.push(l):(i.length>0&&r.push({type:a,items:i}),i=[l],a=u)}i.length>0&&r.push({type:a,items:i});let o=[];for(let t=0;t<r.length;t+=1){let n=r[t],i={...e,type:n.type,items:n.items},a=this.parseToken(i);a&&(Array.isArray(a)?o.push(...a):o.push(a))}return o.length>0?o:null}parseTokenWithHandlers(e){if(!e.type)return null;let t=this.getHandlersForToken(e.type),n=this.createParseHelpers();if(t.find(t=>{if(!t.parseMarkdown)return!1;let r=t.parseMarkdown(e,n),i=this.normalizeParseResult(r);return i&&(!Array.isArray(i)||i.length>0)?(this.lastParseResult=i,!0):!1})&&this.lastParseResult){let e=this.lastParseResult;return this.lastParseResult=null,e}return this.parseFallbackToken(e)}createParseHelpers(){return{parseInline:e=>this.parseInlineTokens(e),parseChildren:e=>this.parseTokens(e),parseBlockChildren:e=>this.parseTokens(e,!0),createTextNode:(e,t)=>({type:`text`,text:e,marks:t||void 0}),createNode:(e,t,n)=>{let r={type:e,attrs:t||void 0,content:n||void 0};return(!t||Object.keys(t).length===0)&&delete r.attrs,r},applyMark:(e,t,n)=>({mark:e,content:t,attrs:n&&Object.keys(n).length>0?n:void 0})}}escapeRegex(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}parseInlineTokens(e){let t=[];for(let n=0;n<e.length;n+=1){let r=e[n];if(r.type===`text`)t.push({type:`text`,text:r.text||``});else if(r.type===`html`){let i=(r.raw??r.text??``).toString(),a=/^<\/[\s]*[\w-]+/i.test(i),o=i.match(/^<[\s]*([\w-]+)(\s|>|\/|$)/i);if(!a&&o&&!/\/>$/.test(i)){let r=o[1],a=this.escapeRegex(r),s=RegExp(`^<\\/\\s*${a}\\b`,`i`),c=-1,l=[i];for(let t=n+1;t<e.length;t+=1){let n=e[t],r=(n.raw??n.text??``).toString();if(l.push(r),n.type===`html`&&s.test(r)){c=t;break}}if(c!==-1){let e=l.join(``),r={type:`html`,raw:e,text:e,block:!1},i=this.parseHTMLToken(r);if(i){let e=this.normalizeParseResult(i);Array.isArray(e)?t.push(...e):e&&t.push(e)}n=c;continue}}let s=this.parseHTMLToken(r);if(s){let e=this.normalizeParseResult(s);Array.isArray(e)?t.push(...e):e&&t.push(e)}}else if(r.type){let e=this.getHandlerForToken(r.type);if(e&&e.parseMarkdown){let n=this.createParseHelpers(),i=e.parseMarkdown(r,n);if(this.isMarkResult(i)){let e=this.applyMarkToContent(i.mark,i.content,i.attrs);t.push(...e)}else{let e=this.normalizeParseResult(i);Array.isArray(e)?t.push(...e):e&&t.push(e)}}else r.tokens&&t.push(...this.parseInlineTokens(r.tokens))}}return t}applyMarkToContent(e,t,n){return t.map(t=>{if(t.type===`text`){let r=t.marks||[],i=n?{type:e,attrs:n}:{type:e};return{...t,marks:[...r,i]}}return{...t,content:t.content?this.applyMarkToContent(e,t.content,n):void 0}})}isMarkResult(e){return e&&typeof e==`object`&&`mark`in e}normalizeParseResult(e){return e?this.isMarkResult(e)?e.content:e:null}parseFallbackToken(e,t=!1){switch(e.type){case`paragraph`:return{type:`paragraph`,content:e.tokens?this.parseInlineTokens(e.tokens):[]};case`heading`:return{type:`heading`,attrs:{level:e.depth||1},content:e.tokens?this.parseInlineTokens(e.tokens):[]};case`text`:return{type:`text`,text:e.text||``};case`html`:return this.parseHTMLToken(e);case`space`:return null;default:return e.tokens?this.parseTokens(e.tokens,t):null}}parseHTMLToken(e){let t=e.text||e.raw||``;if(!t.trim())return null;if(typeof window>`u`)return e.block?{type:`paragraph`,content:[{type:`text`,text:t}]}:{type:`text`,text:t};try{let n=lf(t,this.baseExtensions);return n.type===`doc`&&n.content?e.block?n.content:n.content.length===1&&n.content[0].type===`paragraph`&&n.content[0].content?n.content[0].content:n.content:n}catch(e){throw Error(`Failed to parse HTML in markdown: ${e}`)}}renderNodeToMarkdown(e,t,n=0,r=0,i={}){if(e.type===`text`)return e.text||``;if(!e.type)return``;let a=this.getHandlerForToken(e.type);if(!a)return``;let o=Array.isArray(t?.content)&&n>0?t.content[n-1]:void 0,s={renderChildren:(t,i)=>{let o=a.isIndenting?r+1:r;return!Array.isArray(t)&&t.content?this.renderNodes(t.content,e,i||``,n,o):this.renderNodes(t,e,i||``,n,o)},renderChild:(t,n)=>{let i=a.isIndenting?r+1:r;return this.renderNodeToMarkdown(t,e,n,i)},indent:e=>this.indentString+e,wrapInBlock:vw},c={index:n,level:r,parentType:t?.type,previousNode:o,meta:{parentAttrs:t?.attrs,...i}};return a.renderMarkdown?.call(a,e,s,c)||``}renderNodes(e,t,n=``,r=0,i=0){return Array.isArray(e)?this.renderNodesWithMarkBoundaries(e,t,n,i):e.type?this.renderNodeToMarkdown(e,t,r,i):``}renderNodesWithMarkBoundaries(e,t,n=``,r=0){let i=[],a=new Map,o=new Set,s=new Map;return e.forEach((n,c)=>{let l=c<e.length-1?e[c+1]:null;if(n.type)if(n.type===`text`){let e=n.text||``,t=new Map((n.marks||[]).map(e=>[e.type,e])),r=bw(a,t),c=yw(t,l),u=c.filter(e=>a.has(e)),d=u.length>0&&r.length>0,f=``;if(c.length>0&&!d){let t=e.match(/(\s+)$/);t&&(f=t[1],e=e.slice(0,-f.length))}d||c.forEach(n=>{if(!a.has(n))return;let r=t.get(n),i=this.getMarkClosing(n,r,s.get(n));i&&(e+=i),a.has(n)&&(a.delete(n),s.delete(n))});let p=``;if(r.length>0){let t=e.match(/^(\s+)/);t&&(p=t[1],e=e.slice(p.length))}r.forEach(({type:t,mark:n})=>{let r=o.has(t)?`html`:`markdown`,i=this.getMarkOpening(t,n,r);i&&(e=i+e),s.set(t,r),o.delete(t)}),d||r.slice().reverse().forEach(({type:e,mark:t})=>{a.set(e,t)}),e=p+e;let m;if(d){let e=new Set((l?.marks||[]).map(e=>e.type));r.forEach(({type:t})=>{e.has(t)&&this.getHtmlReopenTags(t)&&o.add(t)}),m=[...r.map(e=>e.type),...u]}else m=xw(a,t,l,this.markSetsEqual.bind(this));let h=``;if(m.length>0){let t=e.match(/(\s+)$/);t&&(h=t[1],e=e.slice(0,-h.length))}m.forEach(n=>{let r=a.get(n)??t.get(n),i=this.getMarkClosing(n,r,s.get(n));i&&(e+=i),a.delete(n),s.delete(n)}),e+=h,e+=f,i.push(e)}else{let e=new Map(a),o=new Map(s),l=Sw(a,(e,t)=>this.getMarkClosing(e,t,s.get(e)));s.clear();let u=this.renderNodeToMarkdown(n,t,c,r),d=n.type===`hardBreak`?``:Cw(e,a,(e,t)=>{let n=o.get(e)??`markdown`;return s.set(e,n),this.getMarkOpening(e,t,n)});i.push(l+u+d)}}),i.join(n)}getMarkOpening(e,t,n=`markdown`){if(n===`html`)return this.getHtmlReopenTags(e)?.open||``;let r=this.getHandlersForNodeType(e),i=r.length>0?r[0]:void 0;if(!i||!i.renderMarkdown)return``;let a=`__TIPTAP_MARKDOWN_PLACEHOLDER__`,o={type:e,attrs:t.attrs||{},content:[{type:`text`,text:a}]};try{let e=i.renderMarkdown(o,{renderChildren:()=>a,renderChild:()=>a,indent:e=>e,wrapInBlock:(e,t)=>e+t},{index:0,level:0,parentType:`text`,meta:{}}),t=e.indexOf(a);return t>=0?e.substring(0,t):``}catch(t){throw Error(`Failed to get mark opening for ${e}: ${t}`)}}getMarkClosing(e,t,n=`markdown`){if(n===`html`)return this.getHtmlReopenTags(e)?.close||``;let r=this.getHandlersForNodeType(e),i=r.length>0?r[0]:void 0;if(!i||!i.renderMarkdown)return``;let a=`__TIPTAP_MARKDOWN_PLACEHOLDER__`,o={type:e,attrs:t.attrs||{},content:[{type:`text`,text:a}]};try{let e=i.renderMarkdown(o,{renderChildren:()=>a,renderChild:()=>a,indent:e=>e,wrapInBlock:(e,t)=>e+t},{index:0,level:0,parentType:`text`,meta:{}}),t=e.indexOf(a),n=t+33;return t>=0?e.substring(n):``}catch(t){throw Error(`Failed to get mark closing for ${e}: ${t}`)}}getHtmlReopenTags(e){let t=this.getHandlersForNodeType(e);return(t.length>0?t[0]:void 0)?.htmlReopen}markSetsEqual(e,t){return e.size===t.size?Array.from(e.keys()).every(e=>t.has(e)):!1}},Dw=Cp.create({name:`markdown`,addOptions(){return{indentation:{style:`space`,size:2},marked:void 0,markedOptions:{}}},addCommands(){return{setContent:(e,t)=>{if(!t?.contentType||Tw(e,t?.contentType)!==`markdown`||!this.editor.markdown)return Eu.setContent(e,t);let n=this.editor.markdown.parse(e);return Eu.setContent(n,t)},insertContent:(e,t)=>{if(!t?.contentType||Tw(e,t?.contentType)!==`markdown`||!this.editor.markdown)return Eu.insertContent(e,t);let n=this.editor.markdown.parse(e);return Eu.insertContent(n,t)},insertContentAt:(e,t,n)=>{if(!n?.contentType||Tw(t,n?.contentType)!==`markdown`||!this.editor.markdown)return Eu.insertContentAt(e,t,n);let r=this.editor.markdown.parse(t);return Eu.insertContentAt(e,r,n)}}},addStorage(){return{manager:new Ew({indentation:this.options.indentation,marked:this.options.marked,markedOptions:this.options.markedOptions,extensions:[]})}},onBeforeCreate(){if(this.editor.markdown){console.error("[tiptap][markdown]: There is already a `markdown` property on the editor instance. This might lead to unexpected behavior.");return}if(this.storage.manager=new Ew({indentation:this.options.indentation,marked:this.options.marked,markedOptions:this.options.markedOptions,extensions:this.editor.extensionManager.baseExtensions}),this.editor.markdown=this.storage.manager,this.editor.getMarkdown=()=>this.storage.manager.serialize(this.editor.getJSON()),!this.editor.options.contentType||Tw(this.editor.options.content,this.editor.options.contentType)!==`markdown`)return;if(!this.editor.markdown)throw Error('[tiptap][markdown]: The `contentType` option is set to "markdown", but the Markdown extension is not added to the editor. Please add the Markdown extension to use this feature.');if(this.editor.options.content===void 0||typeof this.editor.options.content!=`string`)throw Error('[tiptap][markdown]: The `contentType` option is set to "markdown", but the initial content is not a string. Please provide the initial content as a markdown string.');let e=this.editor.markdown.parse(this.editor.options.content);this.editor.options.content=e}});function Ow({title:e,isStreaming:t,persistent:n,channelName:r,renderPopout:i,onSyncMessage:a}){let[o,s]=(0,B.useState)(!1),[c,l]=(0,B.useState)(!1),[u,d]=(0,B.useState)(!n&&t===!1),f=(0,B.useRef)(null),p=(0,B.useRef)(null),m=(0,B.useRef)(null),h=(0,B.useRef)(t);(0,B.useEffect)(()=>{!n&&h.current===!0&&t===!1&&d(!0),h.current=t},[t,n]);let g=(0,B.useCallback)(()=>{p.current&&=(clearInterval(p.current),null),m.current&&=(m.current.close(),null),f.current&&!f.current.closed&&f.current.close(),f.current=null,l(!1)},[]),_=(0,B.useCallback)(()=>{s(!1),d(!1);let t=window.open(``,`maxy-${r}`,`width=800,height=600`);if(t){f.current=t,l(!0),i(t,e);try{let e=new BroadcastChannel(r);m.current=e,a&&(e.onmessage=e=>a(e.data))}catch{}p.current=setInterval(()=>{f.current?.closed&&(g(),d(!0))},500)}},[r,e,i,a,g]),v=(0,B.useCallback)(()=>{g(),d(!1)},[g]),y=(0,B.useCallback)(()=>{g(),s(!1),d(!0)},[g]),b=(0,B.useCallback)(()=>{d(!1)},[]),x=(0,B.useCallback)(()=>{g(),d(!1),s(!0)},[g]),S=(0,B.useCallback)(()=>s(!1),[]),C=(0,B.useCallback)(e=>{m.current&&m.current.postMessage(e)},[]);return(0,B.useEffect)(()=>{if(!o)return;let e=e=>{e.key===`Escape`&&(e.stopPropagation(),S())};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[o,S]),(0,B.useEffect)(()=>()=>g(),[g]),{fullscreen:o,poppedOut:c,minimised:u,handlePopout:_,handlePopIn:v,handleFullscreen:x,handleMinimise:y,handleExpand:b,exitFullscreen:S,syncToPopout:C,dragBarProps:It({handlePopout:_,disabled:c||o})}}function kw({onSubmit:e}){let[t,n]=(0,B.useState)([]),[r,i]=(0,B.useState)(!1),[a,o]=(0,B.useState)(``),s=(0,B.useRef)(null);return{pendingComments:t,showCommentInput:r,commentText:a,commentInputRef:s,setCommentText:o,openCommentInput:(0,B.useCallback)(()=>{i(!0),setTimeout(()=>s.current?.focus(),50)},[]),submitComment:(0,B.useCallback)((e,t)=>{if(!a.trim()||!e)return null;let r=`c_${Date.now()}`,s={id:r,selectedText:e,comment:a.trim(),meta:t};return n(e=>[...e,s]),o(``),i(!1),r},[a]),sendComments:(0,B.useCallback)(()=>{t.length!==0&&(e(JSON.stringify({action:`comment`,comments:t.map(({selectedText:e,comment:t,meta:n})=>({selectedText:e,comment:t,...n}))})),n([]))},[t,e]),cancelComment:(0,B.useCallback)(()=>{o(``),i(!1)},[]),removeComment:(0,B.useCallback)(e=>{n(t=>t.filter(t=>t.id!==e))},[])}}var Aw=mp.create({name:`comment`,addAttributes(){return{commentId:{default:null},commentText:{default:``},createdAt:{default:``}}},parseHTML(){return[{tag:`span[data-comment]`}]},renderHTML({HTMLAttributes:e}){return[`span`,Zd(e,{"data-comment":``,class:`doc-editor__comment-highlight`,title:e.commentText||``}),0]}});function jw({content:e}){return(0,V.jsx)(`div`,{className:`doc-editor__fallback`,children:(0,V.jsx)(A,{remarkPlugins:[N],children:e})})}var Mw=`
|
|
208
208
|
body { font-family: 'DM Sans', -apple-system, sans-serif; margin: 0; padding: 24px;
|
|
209
209
|
background: #FAFAF8; color: #1A1A1A; font-size: 15px; line-height: 1.6; }
|
|
210
210
|
h1,h2,h3 { margin-top: 1.2em; margin-bottom: 0.4em; }
|
|
@@ -213,7 +213,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
213
213
|
a { color: #7C8C72; }
|
|
214
214
|
.title { font-size: 20px; font-weight: 600; margin-bottom: 16px; padding-bottom: 8px;
|
|
215
215
|
border-bottom: 1px solid rgba(0,0,0,0.06); }
|
|
216
|
-
`;function Nw({data:e,onSubmit:t,submitted:n,isStreaming:r}){let{title:i,content:a,filePath:o,readOnly:c}=e??{},l=i??`Document`,u=(0,B.useCallback)(e=>{t(JSON.stringify({_lifecycle:!0,component:`document-editor`,event:e,...o?{filePath:o}:{}}))},[t,o]),[d,f]=(0,B.useState)(`idle`),p=(0,B.useRef)(null),h=(0,B.useRef)(null),[g,_]=(0,B.useState)(!1),[v,y]=(0,B.useState)(!1),[b,x]=(0,B.useState)(`idle`),S=(0,B.useRef)(a),C=(0,B.useMemo)(()=>Vx.extend({markdownTokenizer:null}),[]),T=(0,B.useMemo)(()=>[US.configure({orderedList:!1}),C,mx.configure({openOnClick:!1}),Dw,Aw],[C]),E=(0,B.useCallback)(e=>e.replace(/\u2014/g,`-`).replace(/\u2013/g,`-`).replace(/\u201C/g,`"`).replace(/\u201D/g,`"`).replace(/\u2018/g,`'`).replace(/\u2019/g,`'`).replace(/\u2026/g,`...`).replace(/\u00A0/g,` `),[]),D=gh({extensions:T,content:(0,B.useMemo)(()=>a&&E(a),[a,E]),contentType:`markdown`,editable:!c,editorProps:{attributes:{class:`doc-editor__content`,role:`textbox`,"aria-multiline":`true`}},onUpdate:({editor:e})=>{c||(p.current&&clearTimeout(p.current),p.current=setTimeout(()=>{let n=e.getMarkdown();f(`saving`),t(JSON.stringify({action:`save`,content:n,...o?{filePath:o}:{}})),u(`auto-saved`),h.current&&clearTimeout(h.current),f(`saved`),h.current=setTimeout(()=>f(`idle`),2e3)},500))},onCreate:({editor:e})=>{e||_(!0)},onFocus:()=>y(!0),onBlur:()=>y(!1)}),O=Ow({title:l,isStreaming:r,persistent:!0,channelName:`maxy-doc-editor`,renderPopout:(0,B.useCallback)((e,t)=>{let n=e.document;n.open(),n.close(),n.title=t;let r=n.createElement(`style`);r.textContent=Mw,n.head.appendChild(r);let i=n.createElement(`div`);i.className=`title`,i.textContent=t,n.body.appendChild(i);let a=n.createElement(`pre`);a.style.whiteSpace=`pre-wrap`,a.style.fontFamily=`inherit`,a.style.background=`transparent`,a.style.padding=`0`,a.textContent=D?.getMarkdown()??``,n.body.appendChild(a)},[D]),onSyncMessage:(0,B.useCallback)(e=>{let t=e;t?.type===`content`&&t.markdown&&D&&D.commands.setContent(E(t.markdown),{contentType:`markdown`})},[D,E])});(0,B.useEffect)(()=>{O.poppedOut&&D&&O.syncToPopout({type:`content`,markdown:D.getMarkdown(),title:l})},[O.poppedOut]);let k=kw({onSubmit:t}),A=(0,B.useRef)(null);(0,B.useEffect)(()=>{if(!D||!a||a===S.current)return;S.current=a;let e=E(a);if(A.current&&=(D.off(`blur`,A.current),null),!D.isFocused)D.commands.setContent(e,{contentType:`markdown`});else{let t=()=>{D.commands.setContent(e,{contentType:`markdown`}),D.off(`blur`,t),A.current=null};A.current=t,D.on(`blur`,t)}},[D,a,E]),(0,B.useEffect)(()=>(u(`rendered`),()=>{p.current&&clearTimeout(p.current),h.current&&clearTimeout(h.current)}),[]);let j=(0,B.useCallback)(()=>{if(!D)return;let{from:e,to:t}=D.state.selection;e!==t&&k.openCommentInput()},[D,k]),M=(0,B.useCallback)(()=>{if(!D)return;let{from:e,to:t}=D.state.selection,n=D.state.doc.textBetween(e,t);if(!n)return;let r=k.submitComment(n,{startOffset:e,endOffset:t});r&&D.chain().focus().setMark(`comment`,{commentId:r,commentText:k.commentText,createdAt:new Date().toISOString()}).run()},[D,k]),N=(0,B.useCallback)(()=>{c||!D||(y(!0),D.commands.focus())},[c,D]),P=(0,B.useCallback)(()=>{if(!D||!o)return;let e=D.getMarkdown();!e.trim()&&!window.confirm(`Save empty document?`)||(t(JSON.stringify({action:`approve`,content:e,filePath:o})),u(`approved`),x(`approved`))},[D,o,t,u]),ee=(0,B.useCallback)(()=>{if(!D)return;let e=D.getMarkdown(),n=(l||``).replace(/\.md$/i,``).toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,80)||`document`,r=new Blob([e],{type:`text/markdown;charset=utf-8`}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=`${n}.md`,a.click(),URL.revokeObjectURL(i),t(JSON.stringify({_lifecycle:!0,component:`document-editor`,event:`downloaded`,title:l,contentLength:e.length,...o?{filePath:o}:{}}))},[D,l,o,t]);if(n)return null;if(g||!D)return(0,V.jsxs)(`div`,{className:`editor-base doc-editor`,children:[(0,V.jsxs)(`div`,{className:`editor-base__bar`,...O.dragBarProps,children:[(0,V.jsx)(s,{className:`editor-base__icon`}),(0,V.jsx)(`span`,{className:`editor-base__title`,children:l})]}),(0,V.jsx)(jw,{content:a||``})]});let F=typeof window<`u`&&window.innerWidth<640,te=typeof BroadcastChannel<`u`,I=(0,V.jsxs)(`div`,{className:`editor-base__actions`,children:[d===`saving`&&(0,V.jsx)(`span`,{className:`editor-base__status`,children:`Saving...`}),d===`saved`&&(0,V.jsx)(`span`,{className:`editor-base__status`,children:`Saved`}),b===`approved`&&(0,V.jsx)(`span`,{className:`editor-base__status`,children:`Approved`}),c&&(0,V.jsx)(`span`,{className:`editor-base__status`,children:`View only`}),o&&!c&&b!==`approved`&&(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:m,onClick:P,"aria-label":`Approve`,children:`Approve`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:ce,onClick:ee,"aria-label":`Download`}),k.pendingComments.length>0&&(0,V.jsxs)(w,{variant:`ghost`,size:`sm`,onClick:k.sendComments,children:[`Send `,k.pendingComments.length,` comment`,k.pendingComments.length>1?`s`:``]}),!F&&te&&!O.poppedOut&&(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Ee,onClick:O.handlePopout,"aria-label":`Pop out`}),!O.fullscreen&&(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Be,onClick:O.handleFullscreen,"aria-label":`Full screen`}),O.fullscreen&&(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Ue,onClick:O.exitFullscreen,"aria-label":`Exit full screen`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:We,onClick:O.handleMinimise,"aria-label":`Minimise`})]}),ne=c?null:(0,V.jsx)(kv,{editor:D,children:(0,V.jsxs)(`div`,{className:`doc-editor__bubble-menu`,role:`toolbar`,"aria-label":`Formatting`,children:[(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:me,onClick:()=>D.chain().focus().toggleBold().run(),"aria-label":`Bold`,"aria-pressed":D.isActive(`bold`)}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Pe,onClick:()=>D.chain().focus().toggleItalic().run(),"aria-label":`Italic`,"aria-pressed":D.isActive(`italic`)}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Le,onClick:()=>{let e=window.prompt(`URL`);e&&D.chain().focus().setLink({href:e}).run()},"aria-label":`Link`,"aria-pressed":D.isActive(`link`)}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Se,onClick:()=>D.chain().focus().toggleCode().run(),"aria-label":`Code`,"aria-pressed":D.isActive(`code`)}),(0,V.jsx)(`div`,{className:`doc-editor__bubble-divider`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Ve,onClick:j,"aria-label":`Add comment`})]})}),re=k.showCommentInput?(0,V.jsxs)(`div`,{className:`doc-editor__comment-popover`,children:[(0,V.jsx)(`input`,{ref:k.commentInputRef,type:`text`,value:k.commentText,onChange:e=>k.setCommentText(e.target.value),onKeyDown:e=>{e.key===`Enter`&&M(),e.key===`Escape`&&k.cancelComment()},placeholder:`Add a comment...`,className:`doc-editor__comment-input`,"aria-label":`Add comment`}),(0,V.jsxs)(`div`,{className:`doc-editor__comment-actions`,children:[(0,V.jsx)(w,{variant:`primary`,size:`sm`,onClick:M,disabled:!k.commentText.trim(),children:`Add`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:de,onClick:k.cancelComment,"aria-label":`Cancel`})]})]}):null;if(O.fullscreen)return(0,V.jsxs)(`div`,{className:`editor-base-fullscreen`,children:[(0,V.jsxs)(`div`,{className:`editor-base-fullscreen__bar`,...O.dragBarProps,children:[(0,V.jsx)(s,{className:`editor-base__icon`}),(0,V.jsx)(`span`,{className:`editor-base-fullscreen__title`,children:l}),I]}),(0,V.jsx)(`div`,{className:`editor-base-fullscreen__body`,children:v||c?(0,V.jsxs)(V.Fragment,{children:[ne,re,(0,V.jsx)(ch,{editor:D})]}):(0,V.jsx)(`div`,{className:`doc-editor__preview`,onClick:N,role:`button`,tabIndex:0,onKeyDown:e=>(e.key===`Enter`||e.key===` `)&&N(),children:(0,V.jsx)(jw,{content:D?.getMarkdown()??a??``})})})]});if(O.poppedOut)return(0,V.jsx)(`div`,{className:`editor-base editor-base--popout`,children:(0,V.jsxs)(`div`,{className:`editor-base__bar`,...O.dragBarProps,children:[(0,V.jsx)(s,{className:`editor-base__icon`}),(0,V.jsx)(`span`,{className:`editor-base__title`,children:l}),(0,V.jsxs)(`div`,{className:`editor-base__actions`,children:[(0,V.jsx)(`span`,{className:`editor-base__status`,children:`Popped out`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Ze,onClick:O.handlePopIn,"aria-label":`Pop back in`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:We,onClick:O.handleMinimise,"aria-label":`Close`})]})]})});if(O.minimised)return(0,V.jsx)(`div`,{className:`editor-base editor-base--minimised`,onClick:O.handleExpand,role:`button`,tabIndex:0,onKeyDown:e=>e.key===`Enter`&&O.handleExpand(),children:(0,V.jsxs)(`div`,{className:`editor-base__bar`,...O.dragBarProps,children:[(0,V.jsx)(s,{className:`editor-base__icon`}),(0,V.jsx)(`span`,{className:`editor-base__title`,children:l}),(0,V.jsxs)(`div`,{className:`editor-base__actions`,onClick:e=>e.stopPropagation(),children:[!F&&te&&(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Ee,onClick:O.handlePopout,"aria-label":`Pop out`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Be,onClick:O.handleFullscreen,"aria-label":`Full screen`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:qe,onClick:O.handleExpand,"aria-label":`Expand`})]})]})});let ie=D?.getMarkdown()??a??``;return(0,V.jsxs)(`div`,{className:`editor-base doc-editor`,children:[(0,V.jsxs)(`div`,{className:`editor-base__bar`,...O.dragBarProps,children:[(0,V.jsx)(s,{className:`editor-base__icon`}),(0,V.jsx)(`span`,{className:`editor-base__title`,children:l}),I]}),(0,V.jsx)(`div`,{className:`doc-editor__body`,children:v||c?(0,V.jsxs)(V.Fragment,{children:[ne,re,(0,V.jsx)(ch,{editor:D})]}):(0,V.jsx)(`div`,{className:`doc-editor__preview`,onClick:N,role:`button`,tabIndex:0,onKeyDown:e=>(e.key===`Enter`||e.key===` `)&&N(),children:(0,V.jsx)(jw,{content:ie})})})]})}var Pw=/(?:^|\s)(!\[(.+|:?)]\((\S+)(?:(?:\s+)["'](\S+)["'])?\))$/,Fw=nm.create({name:`image`,addOptions(){return{inline:!1,allowBase64:!1,HTMLAttributes:{},resize:!1}},inline(){return this.options.inline},group(){return this.options.inline?`inline`:`block`},draggable:!0,addAttributes(){return{src:{default:null},alt:{default:null},title:{default:null},width:{default:null},height:{default:null}}},parseHTML(){return[{tag:this.options.allowBase64?`img[src]`:`img[src]:not([src^="data:"])`}]},renderHTML({HTMLAttributes:e}){return[`img`,Zd(this.options.HTMLAttributes,e)]},parseMarkdown:(e,t)=>t.createNode(`image`,{src:e.href,title:e.title,alt:e.text}),renderMarkdown:e=>{let t=e.attrs?.src??``,n=e.attrs?.alt??``,r=e.attrs?.title??``;return r?``:``},addNodeView(){if(!this.options.resize||!this.options.resize.enabled||typeof document>`u`)return null;let{directions:e,minWidth:t,minHeight:n,alwaysPreserveAspectRatio:r}=this.options.resize;return({node:i,getPos:a,HTMLAttributes:o,editor:s})=>{let c=document.createElement(`img`);Object.entries(o).forEach(([e,t])=>{if(t!=null)switch(e){case`width`:case`height`:break;default:c.setAttribute(e,t);break}}),c.src=o.src;let l=new Wp({element:c,editor:s,node:i,getPos:a,onResize:(e,t)=>{c.style.width=`${e}px`,c.style.height=`${t}px`},onCommit:(e,t)=>{let n=a();n!==void 0&&this.editor.chain().setNodeSelection(n).updateAttributes(this.name,{width:e,height:t}).run()},onUpdate:(e,t,n)=>e.type===i.type,options:{directions:e,min:{width:t,height:n},preserveAspectRatio:r===!0}}),u=l.dom;return u.style.visibility=`hidden`,u.style.pointerEvents=`none`,c.onload=()=>{u.style.visibility=``,u.style.pointerEvents=``},l}},addCommands(){return{setImage:e=>({commands:t})=>t.insertContent({type:this.name,attrs:e})}},addInputRules(){return[Bp({find:Pw,type:this.type,getAttributes:e=>{let[,,t,n,r]=e;return{src:n,alt:t,title:r}}})]}}),Iw=`
|
|
216
|
+
`;function Nw({data:e,onSubmit:t,submitted:n,isStreaming:r}){let{title:i,content:a,filePath:o,readOnly:s}=e??{},l=i??`Document`,u=(0,B.useCallback)(e=>{t(JSON.stringify({_lifecycle:!0,component:`document-editor`,event:e,...o?{filePath:o}:{}}))},[t,o]),[d,f]=(0,B.useState)(`idle`),p=(0,B.useRef)(null),m=(0,B.useRef)(null),[g,_]=(0,B.useState)(!1),[v,y]=(0,B.useState)(!1),[b,x]=(0,B.useState)(`idle`),S=(0,B.useRef)(a),C=(0,B.useMemo)(()=>Vx.extend({markdownTokenizer:null}),[]),w=(0,B.useMemo)(()=>[US.configure({orderedList:!1}),C,mx.configure({openOnClick:!1}),Dw,Aw],[C]),E=(0,B.useCallback)(e=>e.replace(/\u2014/g,`-`).replace(/\u2013/g,`-`).replace(/\u201C/g,`"`).replace(/\u201D/g,`"`).replace(/\u2018/g,`'`).replace(/\u2019/g,`'`).replace(/\u2026/g,`...`).replace(/\u00A0/g,` `),[]),D=gh({extensions:w,content:(0,B.useMemo)(()=>a&&E(a),[a,E]),contentType:`markdown`,editable:!s,editorProps:{attributes:{class:`doc-editor__content`,role:`textbox`,"aria-multiline":`true`}},onUpdate:({editor:e})=>{s||(p.current&&clearTimeout(p.current),p.current=setTimeout(()=>{let n=e.getMarkdown();f(`saving`),t(JSON.stringify({action:`save`,content:n,...o?{filePath:o}:{}})),u(`auto-saved`),m.current&&clearTimeout(m.current),f(`saved`),m.current=setTimeout(()=>f(`idle`),2e3)},500))},onCreate:({editor:e})=>{e||_(!0)},onFocus:()=>y(!0),onBlur:()=>y(!1)}),O=Ow({title:l,isStreaming:r,persistent:!0,channelName:`maxy-doc-editor`,renderPopout:(0,B.useCallback)((e,t)=>{let n=e.document;n.open(),n.close(),n.title=t;let r=n.createElement(`style`);r.textContent=Mw,n.head.appendChild(r);let i=n.createElement(`div`);i.className=`title`,i.textContent=t,n.body.appendChild(i);let a=n.createElement(`pre`);a.style.whiteSpace=`pre-wrap`,a.style.fontFamily=`inherit`,a.style.background=`transparent`,a.style.padding=`0`,a.textContent=D?.getMarkdown()??``,n.body.appendChild(a)},[D]),onSyncMessage:(0,B.useCallback)(e=>{let t=e;t?.type===`content`&&t.markdown&&D&&D.commands.setContent(E(t.markdown),{contentType:`markdown`})},[D,E])});(0,B.useEffect)(()=>{O.poppedOut&&D&&O.syncToPopout({type:`content`,markdown:D.getMarkdown(),title:l})},[O.poppedOut]);let k=kw({onSubmit:t}),A=(0,B.useRef)(null);(0,B.useEffect)(()=>{if(!D||!a||a===S.current)return;S.current=a;let e=E(a);if(A.current&&=(D.off(`blur`,A.current),null),!D.isFocused)D.commands.setContent(e,{contentType:`markdown`});else{let t=()=>{D.commands.setContent(e,{contentType:`markdown`}),D.off(`blur`,t),A.current=null};A.current=t,D.on(`blur`,t)}},[D,a,E]),(0,B.useEffect)(()=>(u(`rendered`),()=>{p.current&&clearTimeout(p.current),m.current&&clearTimeout(m.current)}),[]);let j=(0,B.useCallback)(()=>{if(!D)return;let{from:e,to:t}=D.state.selection;e!==t&&k.openCommentInput()},[D,k]),M=(0,B.useCallback)(()=>{if(!D)return;let{from:e,to:t}=D.state.selection,n=D.state.doc.textBetween(e,t);if(!n)return;let r=k.submitComment(n,{startOffset:e,endOffset:t});r&&D.chain().focus().setMark(`comment`,{commentId:r,commentText:k.commentText,createdAt:new Date().toISOString()}).run()},[D,k]),N=(0,B.useCallback)(()=>{s||!D||(y(!0),D.commands.focus())},[s,D]),P=(0,B.useCallback)(()=>{if(!D||!o)return;let e=D.getMarkdown();!e.trim()&&!window.confirm(`Save empty document?`)||(t(JSON.stringify({action:`approve`,content:e,filePath:o})),u(`approved`),x(`approved`))},[D,o,t,u]),ee=(0,B.useCallback)(()=>{if(!D)return;let e=D.getMarkdown(),n=(l||``).replace(/\.md$/i,``).toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,80)||`document`,r=new Blob([e],{type:`text/markdown;charset=utf-8`}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=`${n}.md`,a.click(),URL.revokeObjectURL(i),t(JSON.stringify({_lifecycle:!0,component:`document-editor`,event:`downloaded`,title:l,contentLength:e.length,...o?{filePath:o}:{}}))},[D,l,o,t]);if(n)return null;if(g||!D)return(0,V.jsxs)(`div`,{className:`editor-base doc-editor`,children:[(0,V.jsxs)(`div`,{className:`editor-base__bar`,...O.dragBarProps,children:[(0,V.jsx)(c,{className:`editor-base__icon`}),(0,V.jsx)(`span`,{className:`editor-base__title`,children:l})]}),(0,V.jsx)(jw,{content:a||``})]});let F=typeof window<`u`&&window.innerWidth<640,te=typeof BroadcastChannel<`u`,I=(0,V.jsxs)(`div`,{className:`editor-base__actions`,children:[d===`saving`&&(0,V.jsx)(`span`,{className:`editor-base__status`,children:`Saving...`}),d===`saved`&&(0,V.jsx)(`span`,{className:`editor-base__status`,children:`Saved`}),b===`approved`&&(0,V.jsx)(`span`,{className:`editor-base__status`,children:`Approved`}),s&&(0,V.jsx)(`span`,{className:`editor-base__status`,children:`View only`}),o&&!s&&b!==`approved`&&(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:h,onClick:P,"aria-label":`Approve`,children:`Approve`}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:le,onClick:ee,"aria-label":`Download`}),k.pendingComments.length>0&&(0,V.jsxs)(T,{variant:`ghost`,size:`sm`,onClick:k.sendComments,children:[`Send `,k.pendingComments.length,` comment`,k.pendingComments.length>1?`s`:``]}),!F&&te&&!O.poppedOut&&(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ee,onClick:O.handlePopout,"aria-label":`Pop out`}),!O.fullscreen&&(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Be,onClick:O.handleFullscreen,"aria-label":`Full screen`}),O.fullscreen&&(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ue,onClick:O.exitFullscreen,"aria-label":`Exit full screen`}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:We,onClick:O.handleMinimise,"aria-label":`Minimise`})]}),ne=s?null:(0,V.jsx)(kv,{editor:D,children:(0,V.jsxs)(`div`,{className:`doc-editor__bubble-menu`,role:`toolbar`,"aria-label":`Formatting`,children:[(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:me,onClick:()=>D.chain().focus().toggleBold().run(),"aria-label":`Bold`,"aria-pressed":D.isActive(`bold`)}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Pe,onClick:()=>D.chain().focus().toggleItalic().run(),"aria-label":`Italic`,"aria-pressed":D.isActive(`italic`)}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Le,onClick:()=>{let e=window.prompt(`URL`);e&&D.chain().focus().setLink({href:e}).run()},"aria-label":`Link`,"aria-pressed":D.isActive(`link`)}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Se,onClick:()=>D.chain().focus().toggleCode().run(),"aria-label":`Code`,"aria-pressed":D.isActive(`code`)}),(0,V.jsx)(`div`,{className:`doc-editor__bubble-divider`}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ve,onClick:j,"aria-label":`Add comment`})]})}),re=k.showCommentInput?(0,V.jsxs)(`div`,{className:`doc-editor__comment-popover`,children:[(0,V.jsx)(`input`,{ref:k.commentInputRef,type:`text`,value:k.commentText,onChange:e=>k.setCommentText(e.target.value),onKeyDown:e=>{e.key===`Enter`&&M(),e.key===`Escape`&&k.cancelComment()},placeholder:`Add a comment...`,className:`doc-editor__comment-input`,"aria-label":`Add comment`}),(0,V.jsxs)(`div`,{className:`doc-editor__comment-actions`,children:[(0,V.jsx)(T,{variant:`primary`,size:`sm`,onClick:M,disabled:!k.commentText.trim(),children:`Add`}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:de,onClick:k.cancelComment,"aria-label":`Cancel`})]})]}):null;if(O.fullscreen)return(0,V.jsxs)(`div`,{className:`editor-base-fullscreen`,children:[(0,V.jsxs)(`div`,{className:`editor-base-fullscreen__bar`,...O.dragBarProps,children:[(0,V.jsx)(c,{className:`editor-base__icon`}),(0,V.jsx)(`span`,{className:`editor-base-fullscreen__title`,children:l}),I]}),(0,V.jsx)(`div`,{className:`editor-base-fullscreen__body`,children:v||s?(0,V.jsxs)(V.Fragment,{children:[ne,re,(0,V.jsx)(ch,{editor:D})]}):(0,V.jsx)(`div`,{className:`doc-editor__preview`,onClick:N,role:`button`,tabIndex:0,onKeyDown:e=>(e.key===`Enter`||e.key===` `)&&N(),children:(0,V.jsx)(jw,{content:D?.getMarkdown()??a??``})})})]});if(O.poppedOut)return(0,V.jsx)(`div`,{className:`editor-base editor-base--popout`,children:(0,V.jsxs)(`div`,{className:`editor-base__bar`,...O.dragBarProps,children:[(0,V.jsx)(c,{className:`editor-base__icon`}),(0,V.jsx)(`span`,{className:`editor-base__title`,children:l}),(0,V.jsxs)(`div`,{className:`editor-base__actions`,children:[(0,V.jsx)(`span`,{className:`editor-base__status`,children:`Popped out`}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ze,onClick:O.handlePopIn,"aria-label":`Pop back in`}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:We,onClick:O.handleMinimise,"aria-label":`Close`})]})]})});if(O.minimised)return(0,V.jsx)(`div`,{className:`editor-base editor-base--minimised`,onClick:O.handleExpand,role:`button`,tabIndex:0,onKeyDown:e=>e.key===`Enter`&&O.handleExpand(),children:(0,V.jsxs)(`div`,{className:`editor-base__bar`,...O.dragBarProps,children:[(0,V.jsx)(c,{className:`editor-base__icon`}),(0,V.jsx)(`span`,{className:`editor-base__title`,children:l}),(0,V.jsxs)(`div`,{className:`editor-base__actions`,onClick:e=>e.stopPropagation(),children:[!F&&te&&(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ee,onClick:O.handlePopout,"aria-label":`Pop out`}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Be,onClick:O.handleFullscreen,"aria-label":`Full screen`}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:qe,onClick:O.handleExpand,"aria-label":`Expand`})]})]})});let ie=D?.getMarkdown()??a??``;return(0,V.jsxs)(`div`,{className:`editor-base doc-editor`,children:[(0,V.jsxs)(`div`,{className:`editor-base__bar`,...O.dragBarProps,children:[(0,V.jsx)(c,{className:`editor-base__icon`}),(0,V.jsx)(`span`,{className:`editor-base__title`,children:l}),I]}),(0,V.jsx)(`div`,{className:`doc-editor__body`,children:v||s?(0,V.jsxs)(V.Fragment,{children:[ne,re,(0,V.jsx)(ch,{editor:D})]}):(0,V.jsx)(`div`,{className:`doc-editor__preview`,onClick:N,role:`button`,tabIndex:0,onKeyDown:e=>(e.key===`Enter`||e.key===` `)&&N(),children:(0,V.jsx)(jw,{content:ie})})})]})}var Pw=/(?:^|\s)(!\[(.+|:?)]\((\S+)(?:(?:\s+)["'](\S+)["'])?\))$/,Fw=nm.create({name:`image`,addOptions(){return{inline:!1,allowBase64:!1,HTMLAttributes:{},resize:!1}},inline(){return this.options.inline},group(){return this.options.inline?`inline`:`block`},draggable:!0,addAttributes(){return{src:{default:null},alt:{default:null},title:{default:null},width:{default:null},height:{default:null}}},parseHTML(){return[{tag:this.options.allowBase64?`img[src]`:`img[src]:not([src^="data:"])`}]},renderHTML({HTMLAttributes:e}){return[`img`,Zd(this.options.HTMLAttributes,e)]},parseMarkdown:(e,t)=>t.createNode(`image`,{src:e.href,title:e.title,alt:e.text}),renderMarkdown:e=>{let t=e.attrs?.src??``,n=e.attrs?.alt??``,r=e.attrs?.title??``;return r?``:``},addNodeView(){if(!this.options.resize||!this.options.resize.enabled||typeof document>`u`)return null;let{directions:e,minWidth:t,minHeight:n,alwaysPreserveAspectRatio:r}=this.options.resize;return({node:i,getPos:a,HTMLAttributes:o,editor:s})=>{let c=document.createElement(`img`);Object.entries(o).forEach(([e,t])=>{if(t!=null)switch(e){case`width`:case`height`:break;default:c.setAttribute(e,t);break}}),c.src=o.src;let l=new Wp({element:c,editor:s,node:i,getPos:a,onResize:(e,t)=>{c.style.width=`${e}px`,c.style.height=`${t}px`},onCommit:(e,t)=>{let n=a();n!==void 0&&this.editor.chain().setNodeSelection(n).updateAttributes(this.name,{width:e,height:t}).run()},onUpdate:(e,t,n)=>e.type===i.type,options:{directions:e,min:{width:t,height:n},preserveAspectRatio:r===!0}}),u=l.dom;return u.style.visibility=`hidden`,u.style.pointerEvents=`none`,c.onload=()=>{u.style.visibility=``,u.style.pointerEvents=``},l}},addCommands(){return{setImage:e=>({commands:t})=>t.insertContent({type:this.name,attrs:e})}},addInputRules(){return[Bp({find:Pw,type:this.type,getAttributes:e=>{let[,,t,n,r]=e;return{src:n,alt:t,title:r}}})]}}),Iw=`
|
|
217
217
|
@page {
|
|
218
218
|
margin: 20mm;
|
|
219
219
|
size: A4;
|
|
@@ -328,7 +328,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
328
328
|
a { color: #7C8C72; }
|
|
329
329
|
.title { font-size: 20px; font-weight: 600; margin-bottom: 16px; padding-bottom: 8px;
|
|
330
330
|
border-bottom: 1px solid rgba(0,0,0,0.06); }
|
|
331
|
-
`;function Yw({data:e,onSubmit:t,submitted:n,isStreaming:r}){let{title:i,content:a,filePath:o,readOnly:s,brandName:c,brandLogo:l}=e??{},u=i??`Content`,[d,f]=(0,B.useState)(`idle`),p=(0,B.useRef)(null),m=(0,B.useRef)(null),[h,g]=(0,B.useState)(!1),_=(0,B.useRef)(a),v=(0,B.useRef)(null),y=(0,B.useRef)(null),b=gh({extensions:(0,B.useMemo)(()=>[US,mx.configure({openOnClick:!1}),Fw.configure({inline:!1,allowBase64:!0}),Uw],[]),content:a,editable:!s,editorProps:{attributes:{class:`rich-editor__content`,role:`textbox`,"aria-multiline":`true`},handleDrop:(e,t)=>{if(!t.dataTransfer?.files.length)return!1;t.preventDefault();let n=t.dataTransfer.files[0];return Gw(n)?n.size>Hw?(console.warn(`Rich editor: image exceeds 5MB limit:`,n.size),alert(`Image is too large. Maximum size is 5MB.`),!0):(Ww(n).then(n=>{let r=e.posAtCoords({left:t.clientX,top:t.clientY});r&&e.dispatch(e.state.tr.insert(r.pos,e.state.schema.nodes.image.create({src:n})))}).catch(e=>{console.warn(`Rich editor: FileReader error:`,e)}),!0):(console.warn(`Rich editor: rejected non-image file type:`,n.type),!0)},handleClickOn:(e,t,n)=>n.type.name===`image`&&!s?(y.current=t,v.current?.click(),!0):!1},onUpdate:({editor:e})=>{s||(p.current&&clearTimeout(p.current),p.current=setTimeout(()=>{let n=e.getHTML();f(`saving`),t(JSON.stringify({action:`save`,content:n,...o?{filePath:o}:{}})),m.current&&clearTimeout(m.current),f(`saved`),m.current=setTimeout(()=>f(`idle`),2e3)},500))},onCreate:({editor:e})=>{e||g(!0)}}),x=Ow({title:u,isStreaming:r,channelName:`maxy-rich-editor`,renderPopout:(0,B.useCallback)((e,t)=>{let n=e.document;n.open(),n.close(),n.title=t;let r=n.createElement(`style`);r.textContent=Jw,n.head.appendChild(r);let i=n.createElement(`div`);i.className=`title`,i.textContent=t,n.body.appendChild(i);let a=n.createElement(`div`);n.body.appendChild(a),Kw(n,b?.getHTML()??``,a)},[b]),onSyncMessage:(0,B.useCallback)(e=>{let t=e;t?.type===`content`&&t.html&&b&&b.commands.setContent(t.html)},[b])});(0,B.useEffect)(()=>{x.poppedOut&&b&&x.syncToPopout({type:`content`,html:b.getHTML(),title:u})},[x.poppedOut]);let S=kw({onSubmit:t}),C=(0,B.useRef)(null);(0,B.useEffect)(()=>{if(!(!b||!a||a===_.current))if(_.current=a,C.current&&=(b.off(`blur`,C.current),null),!b.isFocused)b.commands.setContent(a);else{let e=a,t=()=>{b.commands.setContent(e),b.off(`blur`,t),C.current=null};C.current=t,b.on(`blur`,t)}},[b,a]),(0,B.useEffect)(()=>()=>{p.current&&clearTimeout(p.current),m.current&&clearTimeout(m.current)},[]);let
|
|
331
|
+
`;function Yw({data:e,onSubmit:t,submitted:n,isStreaming:r}){let{title:i,content:a,filePath:o,readOnly:s,brandName:c,brandLogo:l}=e??{},u=i??`Content`,[d,f]=(0,B.useState)(`idle`),p=(0,B.useRef)(null),m=(0,B.useRef)(null),[h,g]=(0,B.useState)(!1),_=(0,B.useRef)(a),v=(0,B.useRef)(null),y=(0,B.useRef)(null),b=gh({extensions:(0,B.useMemo)(()=>[US,mx.configure({openOnClick:!1}),Fw.configure({inline:!1,allowBase64:!0}),Uw],[]),content:a,editable:!s,editorProps:{attributes:{class:`rich-editor__content`,role:`textbox`,"aria-multiline":`true`},handleDrop:(e,t)=>{if(!t.dataTransfer?.files.length)return!1;t.preventDefault();let n=t.dataTransfer.files[0];return Gw(n)?n.size>Hw?(console.warn(`Rich editor: image exceeds 5MB limit:`,n.size),alert(`Image is too large. Maximum size is 5MB.`),!0):(Ww(n).then(n=>{let r=e.posAtCoords({left:t.clientX,top:t.clientY});r&&e.dispatch(e.state.tr.insert(r.pos,e.state.schema.nodes.image.create({src:n})))}).catch(e=>{console.warn(`Rich editor: FileReader error:`,e)}),!0):(console.warn(`Rich editor: rejected non-image file type:`,n.type),!0)},handleClickOn:(e,t,n)=>n.type.name===`image`&&!s?(y.current=t,v.current?.click(),!0):!1},onUpdate:({editor:e})=>{s||(p.current&&clearTimeout(p.current),p.current=setTimeout(()=>{let n=e.getHTML();f(`saving`),t(JSON.stringify({action:`save`,content:n,...o?{filePath:o}:{}})),m.current&&clearTimeout(m.current),f(`saved`),m.current=setTimeout(()=>f(`idle`),2e3)},500))},onCreate:({editor:e})=>{e||g(!0)}}),x=Ow({title:u,isStreaming:r,channelName:`maxy-rich-editor`,renderPopout:(0,B.useCallback)((e,t)=>{let n=e.document;n.open(),n.close(),n.title=t;let r=n.createElement(`style`);r.textContent=Jw,n.head.appendChild(r);let i=n.createElement(`div`);i.className=`title`,i.textContent=t,n.body.appendChild(i);let a=n.createElement(`div`);n.body.appendChild(a),Kw(n,b?.getHTML()??``,a)},[b]),onSyncMessage:(0,B.useCallback)(e=>{let t=e;t?.type===`content`&&t.html&&b&&b.commands.setContent(t.html)},[b])});(0,B.useEffect)(()=>{x.poppedOut&&b&&x.syncToPopout({type:`content`,html:b.getHTML(),title:u})},[x.poppedOut]);let S=kw({onSubmit:t}),C=(0,B.useRef)(null);(0,B.useEffect)(()=>{if(!(!b||!a||a===_.current))if(_.current=a,C.current&&=(b.off(`blur`,C.current),null),!b.isFocused)b.commands.setContent(a);else{let e=a,t=()=>{b.commands.setContent(e),b.off(`blur`,t),C.current=null};C.current=t,b.on(`blur`,t)}},[b,a]),(0,B.useEffect)(()=>()=>{p.current&&clearTimeout(p.current),m.current&&clearTimeout(m.current)},[]);let w=(0,B.useCallback)(async e=>{let t=e.target.files?.[0];if(!(!t||!b||y.current===null)){if(!Gw(t)){console.warn(`Rich editor: rejected non-image file type:`,t.type);return}if(t.size>Hw){alert(`Image is too large. Maximum size is 5MB.`);return}try{let e=await Ww(t),n=y.current,r=b.state.doc.nodeAt(n);r?.type.name===`image`&&b.chain().focus().setNodeSelection(n).command(({tr:t,state:i})=>(t.setNodeMarkup(n,i.schema.nodes.image,{...r.attrs,src:e}),!0)).run()}catch(e){console.warn(`Rich editor: image swap failed:`,e)}y.current=null,e.target.value=``}},[b]),E=(0,B.useCallback)(()=>{if(!b)return;let{from:e,to:t}=b.state.selection;e!==t&&S.openCommentInput()},[b,S]),D=(0,B.useCallback)(()=>{if(!b)return;let{from:e,to:t}=b.state.selection,n=b.state.doc.textBetween(e,t);if(!n)return;let r=S.submitComment(n,{startOffset:e,endOffset:t});r&&b.chain().focus().setMark(`comment`,{commentId:r,commentText:S.commentText,createdAt:new Date().toISOString()}).run()},[b,S]),O=(0,B.useCallback)(()=>{b&&Rw({title:u,content:b.getHTML(),brandName:c,brandLogo:l})},[b,u,c,l]);if(n)return null;if(h||!b)return(0,V.jsxs)(`div`,{className:`editor-base rich-editor`,children:[(0,V.jsx)(`div`,{className:`editor-base__bar`,...x.dragBarProps,children:(0,V.jsx)(`span`,{className:`editor-base__title`,children:u})}),(0,V.jsx)(qw,{content:a||``})]});let k=typeof window<`u`&&window.innerWidth<640,A=typeof BroadcastChannel<`u`,j=(0,V.jsx)(`input`,{ref:v,type:`file`,accept:Vw.join(`,`),onChange:w,style:{display:`none`},"aria-hidden":`true`}),M=(0,V.jsxs)(`div`,{className:`editor-base__actions`,children:[d===`saving`&&(0,V.jsx)(`span`,{className:`editor-base__status`,children:`Saving...`}),d===`saved`&&(0,V.jsx)(`span`,{className:`editor-base__status`,children:`Saved`}),s&&(0,V.jsx)(`span`,{className:`editor-base__status`,children:`View only`}),S.pendingComments.length>0&&(0,V.jsxs)(T,{variant:`ghost`,size:`sm`,onClick:S.sendComments,children:[`Send `,S.pendingComments.length,` comment`,S.pendingComments.length>1?`s`:``]}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:De,onClick:O,"aria-label":`Export PDF`}),!k&&A&&!x.poppedOut&&(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ee,onClick:x.handlePopout,"aria-label":`Pop out`}),!x.fullscreen&&(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Be,onClick:x.handleFullscreen,"aria-label":`Full screen`}),x.fullscreen&&(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ue,onClick:x.exitFullscreen,"aria-label":`Exit full screen`}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:We,onClick:x.handleMinimise,"aria-label":`Minimise`})]}),N=s?null:(0,V.jsx)(kv,{editor:b,children:(0,V.jsxs)(`div`,{className:`doc-editor__bubble-menu`,role:`toolbar`,"aria-label":`Formatting`,children:[(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:me,onClick:()=>b.chain().focus().toggleBold().run(),"aria-label":`Bold`,"aria-pressed":b.isActive(`bold`)}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Pe,onClick:()=>b.chain().focus().toggleItalic().run(),"aria-label":`Italic`,"aria-pressed":b.isActive(`italic`)}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Le,onClick:()=>{let e=window.prompt(`URL`);e&&b.chain().focus().setLink({href:e}).run()},"aria-label":`Link`,"aria-pressed":b.isActive(`link`)}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Me,onClick:()=>{y.current=null,v.current?.click()},"aria-label":`Insert image`}),(0,V.jsx)(`div`,{className:`doc-editor__bubble-divider`}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ve,onClick:E,"aria-label":`Add comment`})]})}),P=S.showCommentInput?(0,V.jsxs)(`div`,{className:`doc-editor__comment-popover`,children:[(0,V.jsx)(`input`,{ref:S.commentInputRef,type:`text`,value:S.commentText,onChange:e=>S.setCommentText(e.target.value),onKeyDown:e=>{e.key===`Enter`&&D(),e.key===`Escape`&&S.cancelComment()},placeholder:`Add a comment...`,className:`doc-editor__comment-input`,"aria-label":`Add comment`}),(0,V.jsxs)(`div`,{className:`doc-editor__comment-actions`,children:[(0,V.jsx)(T,{variant:`primary`,size:`sm`,onClick:D,disabled:!S.commentText.trim(),children:`Add`}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:de,onClick:S.cancelComment,"aria-label":`Cancel`})]})]}):null;return x.fullscreen?(0,V.jsxs)(`div`,{className:`editor-base-fullscreen`,children:[j,(0,V.jsxs)(`div`,{className:`editor-base-fullscreen__bar`,...x.dragBarProps,children:[(0,V.jsx)(`span`,{className:`editor-base-fullscreen__title`,children:u}),M]}),(0,V.jsxs)(`div`,{className:`editor-base-fullscreen__body`,children:[N,P,(0,V.jsx)(ch,{editor:b})]})]}):x.poppedOut?(0,V.jsx)(`div`,{className:`editor-base editor-base--popout`,children:(0,V.jsxs)(`div`,{className:`editor-base__bar`,...x.dragBarProps,children:[(0,V.jsx)(`span`,{className:`editor-base__title`,children:u}),(0,V.jsxs)(`div`,{className:`editor-base__actions`,children:[(0,V.jsx)(`span`,{className:`editor-base__status`,children:`Popped out`}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ze,onClick:x.handlePopIn,"aria-label":`Pop back in`}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:We,onClick:x.handleMinimise,"aria-label":`Close`})]})]})}):x.minimised?(0,V.jsx)(`div`,{className:`editor-base editor-base--minimised`,onClick:x.handleExpand,role:`button`,tabIndex:0,onKeyDown:e=>e.key===`Enter`&&x.handleExpand(),children:(0,V.jsxs)(`div`,{className:`editor-base__bar`,...x.dragBarProps,children:[(0,V.jsx)(`span`,{className:`editor-base__title`,children:u}),(0,V.jsxs)(`div`,{className:`editor-base__actions`,onClick:e=>e.stopPropagation(),children:[!k&&A&&(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ee,onClick:x.handlePopout,"aria-label":`Pop out`}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Be,onClick:x.handleFullscreen,"aria-label":`Full screen`}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:qe,onClick:x.handleExpand,"aria-label":`Expand`})]})]})}):(0,V.jsxs)(`div`,{className:`editor-base rich-editor`,children:[j,(0,V.jsxs)(`div`,{className:`editor-base__bar`,...x.dragBarProps,children:[(0,V.jsx)(`span`,{className:`editor-base__title`,children:u}),M]}),(0,V.jsxs)(`div`,{className:`rich-editor__body`,children:[N,P,(0,V.jsx)(ch,{editor:b})]})]})}var Xw=500,Zw=40,Qw=120;function $w(e){return e.includes(` `)?e.split(` `):e.split(`,`).map(e=>e.trim())}function eT(e,t){let n=e=>e.includes(`,`)||e.includes(`"`)||e.includes(`
|
|
332
332
|
`)?`"${e.replace(/"/g,`""`)}"`:e;return`${e.map(n).join(`,`)}\n${t.map(e=>e.map(n).join(`,`)).join(`
|
|
333
333
|
`)}`}var tT=`
|
|
334
334
|
body { font-family: 'DM Sans', -apple-system, sans-serif; margin: 0; padding: 24px;
|
|
@@ -339,17 +339,17 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
339
339
|
th { background: #F5F2ED; font-weight: 600; text-align: left; padding: 8px 10px;
|
|
340
340
|
border: 1px solid rgba(0,0,0,0.1); }
|
|
341
341
|
td { padding: 6px 10px; border: 1px solid rgba(0,0,0,0.1); }
|
|
342
|
-
`;function nT({data:e,onSubmit:t,submitted:n,isStreaming:r}){let{title:
|
|
343
|
-
`).filter(e=>e.trim());if(n.length<=1&&!n[0]?.includes(` `)&&!n[0]?.includes(`,`))return;e.preventDefault();let r=n.slice(0,Xw).map($w);n.length>Xw&&console.warn(`Grid editor: paste truncated from ${n.length} to ${Xw} rows`);let{row:i,col:a}=h;m(e=>{let t=e.map(e=>[...e]);for(let e=0;e<r.length;e++){let n=i+e;for(;n>=t.length;)t.push(Array(d.length).fill(``));for(let i=0;i<r[e].length;i++){let o=a+i;o<d.length&&(t[n][o]=r[e][i])}}return t}),k()},[h,d.length,k]),ne=(0,B.useCallback)(()=>{let e=eT(d,p),t=new Blob([e],{type:`text/csv;charset=utf-8;`}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=`${u.replace(/[^a-zA-Z0-9]/g,`_`)}.csv`,r.click(),URL.revokeObjectURL(n)},[d,p,u]),re=(0,B.useCallback)(()=>{Rw({title:u,content:zw(d,p),brandName:c,brandLogo:l})},[u,d,p,c,l]),ie=(0,B.useCallback)((e,t)=>{t.preventDefault(),S.current={colIndex:e,startX:t.clientX,startWidth:b[e]};let n=null,r=e=>{S.current&&(n&&cancelAnimationFrame(n),n=requestAnimationFrame(()=>{if(!S.current)return;let t=e.clientX-S.current.startX,n=Math.max(Zw,S.current.startWidth+t);x(e=>{let t=[...e];return t[S.current.colIndex]=n,t})}))},i=()=>{S.current=null,n&&cancelAnimationFrame(n),window.removeEventListener(`mousemove`,r),window.removeEventListener(`mouseup`,i)};window.addEventListener(`mousemove`,r),window.addEventListener(`mouseup`,i)},[b]),L=(0,B.useCallback)(()=>{h&&j.openCommentInput()},[h,j]),ae=(0,B.useCallback)(()=>{if(!h)return;let e=p[h.row]?.[h.col]??``;j.submitComment(e,{row:h.row,column:h.col})},[h,p,j]);if(n)return null;let oe=typeof window<`u`&&window.innerWidth<640,se=typeof BroadcastChannel<`u`,le=(0,V.jsxs)(`div`,{className:`editor-base__actions`,children:[C===`saving`&&(0,V.jsx)(`span`,{className:`editor-base__status`,children:`Saving...`}),C===`saved`&&(0,V.jsx)(`span`,{className:`editor-base__status`,children:`Saved`}),j.pendingComments.length>0&&(0,V.jsxs)(w,{variant:`ghost`,size:`sm`,onClick:j.sendComments,children:[`Send `,j.pendingComments.length,` comment`,j.pendingComments.length>1?`s`:``]}),h&&(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Ve,onClick:L,"aria-label":`Comment on cell`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:ce,onClick:ne,"aria-label":`Download CSV`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:De,onClick:re,"aria-label":`Export PDF`}),!oe&&se&&!A.poppedOut&&(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Ee,onClick:A.handlePopout,"aria-label":`Pop out`}),!A.fullscreen&&(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Be,onClick:A.handleFullscreen,"aria-label":`Full screen`}),A.fullscreen&&(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Ue,onClick:A.exitFullscreen,"aria-label":`Exit full screen`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:We,onClick:A.handleMinimise,"aria-label":`Minimise`})]}),fe=(0,V.jsxs)(`div`,{className:`grid-editor__table-wrap`,onPaste:I,children:[j.showCommentInput?(0,V.jsxs)(`div`,{className:`grid-editor__comment-popover`,children:[(0,V.jsx)(`input`,{ref:j.commentInputRef,type:`text`,value:j.commentText,onChange:e=>j.setCommentText(e.target.value),onKeyDown:e=>{e.key===`Enter`&&ae(),e.key===`Escape`&&j.cancelComment()},placeholder:`Add a comment...`,className:`doc-editor__comment-input`,"aria-label":`Add comment on cell`}),(0,V.jsxs)(`div`,{className:`doc-editor__comment-actions`,children:[(0,V.jsx)(w,{variant:`primary`,size:`sm`,onClick:ae,disabled:!j.commentText.trim(),children:`Add`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:de,onClick:j.cancelComment,"aria-label":`Cancel`})]})]}):null,(0,V.jsxs)(`table`,{className:`grid-editor__table`,role:`grid`,"aria-label":u,children:[(0,V.jsx)(`thead`,{children:(0,V.jsxs)(`tr`,{children:[(0,V.jsx)(`th`,{className:`grid-editor__row-header`}),d.map((e,t)=>(0,V.jsxs)(`th`,{className:`grid-editor__col-header`,style:{width:b[t]},children:[e,(0,V.jsx)(`div`,{className:`grid-editor__resize-handle`,onMouseDown:e=>ie(t,e),role:`separator`,"aria-orientation":`vertical`})]},t))]})}),(0,V.jsx)(`tbody`,{children:p.map((e,t)=>(0,V.jsxs)(`tr`,{children:[(0,V.jsxs)(`td`,{className:`grid-editor__row-header`,children:[(0,V.jsx)(`span`,{className:`grid-editor__row-num`,children:t+1}),p.length>1&&(0,V.jsx)(`button`,{className:`grid-editor__row-delete`,onClick:()=>te(t),"aria-label":`Delete row ${t+1}`,children:(0,V.jsx)(ue,{size:12})})]}),e.map((e,n)=>{let r=h?.row===t&&h?.col===n;return(0,V.jsx)(`td`,{className:`grid-editor__cell ${r?`grid-editor__cell--active`:``}`,onClick:()=>!r&&M(t,n),role:`gridcell`,"aria-selected":r,style:{width:b[n]},children:r?(0,V.jsx)(`input`,{ref:y,type:`text`,className:`grid-editor__cell-input`,value:_,onChange:e=>v(e.target.value),onKeyDown:ee,onBlur:N,"aria-label":`${d[n]} row ${t+1}`}):(0,V.jsx)(`span`,{className:`grid-editor__cell-text`,children:e})},n)})]},t))})]}),(0,V.jsxs)(`button`,{className:`grid-editor__add-row`,onClick:F,"aria-label":`Add row`,children:[(0,V.jsx)(z,{size:14}),(0,V.jsx)(`span`,{children:`Add row`})]})]});return A.fullscreen?(0,V.jsxs)(`div`,{className:`editor-base-fullscreen`,children:[(0,V.jsxs)(`div`,{className:`editor-base-fullscreen__bar`,...A.dragBarProps,children:[(0,V.jsx)(`span`,{className:`editor-base-fullscreen__title`,children:u}),le]}),(0,V.jsx)(`div`,{className:`editor-base-fullscreen__body`,style:{maxWidth:`none`},children:fe})]}):A.poppedOut?(0,V.jsx)(`div`,{className:`editor-base editor-base--popout`,children:(0,V.jsxs)(`div`,{className:`editor-base__bar`,...A.dragBarProps,children:[(0,V.jsx)(`span`,{className:`editor-base__title`,children:u}),(0,V.jsxs)(`div`,{className:`editor-base__actions`,children:[(0,V.jsx)(`span`,{className:`editor-base__status`,children:`Popped out`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Ze,onClick:A.handlePopIn,"aria-label":`Pop back in`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:We,onClick:A.handleMinimise,"aria-label":`Close`})]})]})}):A.minimised?(0,V.jsx)(`div`,{className:`editor-base editor-base--minimised`,onClick:A.handleExpand,role:`button`,tabIndex:0,onKeyDown:e=>e.key===`Enter`&&A.handleExpand(),children:(0,V.jsxs)(`div`,{className:`editor-base__bar`,...A.dragBarProps,children:[(0,V.jsx)(`span`,{className:`editor-base__title`,children:u}),(0,V.jsxs)(`div`,{className:`editor-base__actions`,onClick:e=>e.stopPropagation(),children:[!oe&&se&&(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Ee,onClick:A.handlePopout,"aria-label":`Pop out`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Be,onClick:A.handleFullscreen,"aria-label":`Full screen`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:qe,onClick:A.handleExpand,"aria-label":`Expand`})]})]})}):(0,V.jsxs)(`div`,{className:`editor-base grid-editor`,children:[(0,V.jsxs)(`div`,{className:`editor-base__bar`,...A.dragBarProps,children:[(0,V.jsx)(`span`,{className:`editor-base__title`,children:u}),le]}),(0,V.jsx)(`div`,{className:`grid-editor__body`,children:fe})]})}var rT=Object.defineProperty,iT=Object.getOwnPropertySymbols,aT=Object.prototype.hasOwnProperty,oT=Object.prototype.propertyIsEnumerable,sT=(e,t,n)=>t in e?rT(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,cT=(e,t)=>{for(var n in t||={})aT.call(t,n)&&sT(e,n,t[n]);if(iT)for(var n of iT(t))oT.call(t,n)&&sT(e,n,t[n]);return e},lT=(e,t)=>{var n={};for(var r in e)aT.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&iT)for(var r of iT(e))t.indexOf(r)<0&&oT.call(e,r)&&(n[r]=e[r]);return n},uT;(e=>{let t=class t{constructor(e,n,r,a){if(this.version=e,this.errorCorrectionLevel=n,this.modules=[],this.isFunction=[],e<t.MIN_VERSION||e>t.MAX_VERSION)throw RangeError(`Version value out of range`);if(a<-1||a>7)throw RangeError(`Mask value out of range`);this.size=e*4+17;let o=[];for(let e=0;e<this.size;e++)o.push(!1);for(let e=0;e<this.size;e++)this.modules.push(o.slice()),this.isFunction.push(o.slice());this.drawFunctionPatterns();let s=this.addEccAndInterleave(r);if(this.drawCodewords(s),a==-1){let e=1e9;for(let t=0;t<8;t++){this.applyMask(t),this.drawFormatBits(t);let n=this.getPenaltyScore();n<e&&(a=t,e=n),this.applyMask(t)}}i(0<=a&&a<=7),this.mask=a,this.applyMask(a),this.drawFormatBits(a),this.isFunction=[]}static encodeText(n,r){let i=e.QrSegment.makeSegments(n);return t.encodeSegments(i,r)}static encodeBinary(n,r){let i=e.QrSegment.makeBytes(n);return t.encodeSegments([i],r)}static encodeSegments(e,r,a=1,s=40,c=-1,l=!0){if(!(t.MIN_VERSION<=a&&a<=s&&s<=t.MAX_VERSION)||c<-1||c>7)throw RangeError(`Invalid value`);let u,d;for(u=a;;u++){let n=t.getNumDataCodewords(u,r)*8,i=o.getTotalBits(e,u);if(i<=n){d=i;break}if(u>=s)throw RangeError(`Data too long`)}for(let e of[t.Ecc.MEDIUM,t.Ecc.QUARTILE,t.Ecc.HIGH])l&&d<=t.getNumDataCodewords(u,e)*8&&(r=e);let f=[];for(let t of e){n(t.mode.modeBits,4,f),n(t.numChars,t.mode.numCharCountBits(u),f);for(let e of t.getData())f.push(e)}i(f.length==d);let p=t.getNumDataCodewords(u,r)*8;i(f.length<=p),n(0,Math.min(4,p-f.length),f),n(0,(8-f.length%8)%8,f),i(f.length%8==0);for(let e=236;f.length<p;e^=253)n(e,8,f);let m=[];for(;m.length*8<f.length;)m.push(0);return f.forEach((e,t)=>m[t>>>3]|=e<<7-(t&7)),new t(u,r,m,c)}getModule(e,t){return 0<=e&&e<this.size&&0<=t&&t<this.size&&this.modules[t][e]}getModules(){return this.modules}drawFunctionPatterns(){for(let e=0;e<this.size;e++)this.setFunctionModule(6,e,e%2==0),this.setFunctionModule(e,6,e%2==0);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);let e=this.getAlignmentPatternPositions(),t=e.length;for(let n=0;n<t;n++)for(let r=0;r<t;r++)n==0&&r==0||n==0&&r==t-1||n==t-1&&r==0||this.drawAlignmentPattern(e[n],e[r]);this.drawFormatBits(0),this.drawVersion()}drawFormatBits(e){let t=this.errorCorrectionLevel.formatBits<<3|e,n=t;for(let e=0;e<10;e++)n=n<<1^(n>>>9)*1335;let a=(t<<10|n)^21522;i(a>>>15==0);for(let e=0;e<=5;e++)this.setFunctionModule(8,e,r(a,e));this.setFunctionModule(8,7,r(a,6)),this.setFunctionModule(8,8,r(a,7)),this.setFunctionModule(7,8,r(a,8));for(let e=9;e<15;e++)this.setFunctionModule(14-e,8,r(a,e));for(let e=0;e<8;e++)this.setFunctionModule(this.size-1-e,8,r(a,e));for(let e=8;e<15;e++)this.setFunctionModule(8,this.size-15+e,r(a,e));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let e=this.version;for(let t=0;t<12;t++)e=e<<1^(e>>>11)*7973;let t=this.version<<12|e;i(t>>>18==0);for(let e=0;e<18;e++){let n=r(t,e),i=this.size-11+e%3,a=Math.floor(e/3);this.setFunctionModule(i,a,n),this.setFunctionModule(a,i,n)}}drawFinderPattern(e,t){for(let n=-4;n<=4;n++)for(let r=-4;r<=4;r++){let i=Math.max(Math.abs(r),Math.abs(n)),a=e+r,o=t+n;0<=a&&a<this.size&&0<=o&&o<this.size&&this.setFunctionModule(a,o,i!=2&&i!=4)}}drawAlignmentPattern(e,t){for(let n=-2;n<=2;n++)for(let r=-2;r<=2;r++)this.setFunctionModule(e+r,t+n,Math.max(Math.abs(r),Math.abs(n))!=1)}setFunctionModule(e,t,n){this.modules[t][e]=n,this.isFunction[t][e]=!0}addEccAndInterleave(e){let n=this.version,r=this.errorCorrectionLevel;if(e.length!=t.getNumDataCodewords(n,r))throw RangeError(`Invalid argument`);let a=t.NUM_ERROR_CORRECTION_BLOCKS[r.ordinal][n],o=t.ECC_CODEWORDS_PER_BLOCK[r.ordinal][n],s=Math.floor(t.getNumRawDataModules(n)/8),c=a-s%a,l=Math.floor(s/a),u=[],d=t.reedSolomonComputeDivisor(o);for(let n=0,r=0;n<a;n++){let i=e.slice(r,r+l-o+(n<c?0:1));r+=i.length;let a=t.reedSolomonComputeRemainder(i,d);n<c&&i.push(0),u.push(i.concat(a))}let f=[];for(let e=0;e<u[0].length;e++)u.forEach((t,n)=>{(e!=l-o||n>=c)&&f.push(t[e])});return i(f.length==s),f}drawCodewords(e){if(e.length!=Math.floor(t.getNumRawDataModules(this.version)/8))throw RangeError(`Invalid argument`);let n=0;for(let t=this.size-1;t>=1;t-=2){t==6&&(t=5);for(let i=0;i<this.size;i++)for(let a=0;a<2;a++){let o=t-a,s=t+1&2?i:this.size-1-i;!this.isFunction[s][o]&&n<e.length*8&&(this.modules[s][o]=r(e[n>>>3],7-(n&7)),n++)}}i(n==e.length*8)}applyMask(e){if(e<0||e>7)throw RangeError(`Mask value out of range`);for(let t=0;t<this.size;t++)for(let n=0;n<this.size;n++){let r;switch(e){case 0:r=(n+t)%2==0;break;case 1:r=t%2==0;break;case 2:r=n%3==0;break;case 3:r=(n+t)%3==0;break;case 4:r=(Math.floor(n/3)+Math.floor(t/2))%2==0;break;case 5:r=n*t%2+n*t%3==0;break;case 6:r=(n*t%2+n*t%3)%2==0;break;case 7:r=((n+t)%2+n*t%3)%2==0;break;default:throw Error(`Unreachable`)}!this.isFunction[t][n]&&r&&(this.modules[t][n]=!this.modules[t][n])}}getPenaltyScore(){let e=0;for(let n=0;n<this.size;n++){let r=!1,i=0,a=[0,0,0,0,0,0,0];for(let o=0;o<this.size;o++)this.modules[n][o]==r?(i++,i==5?e+=t.PENALTY_N1:i>5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[n][o],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;n<this.size;n++){let r=!1,i=0,a=[0,0,0,0,0,0,0];for(let o=0;o<this.size;o++)this.modules[o][n]==r?(i++,i==5?e+=t.PENALTY_N1:i>5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[o][n],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;n<this.size-1;n++)for(let r=0;r<this.size-1;r++){let i=this.modules[n][r];i==this.modules[n][r+1]&&i==this.modules[n+1][r]&&i==this.modules[n+1][r+1]&&(e+=t.PENALTY_N2)}let n=0;for(let e of this.modules)n=e.reduce((e,t)=>e+(t?1:0),n);let r=this.size*this.size,a=Math.ceil(Math.abs(n*20-r*10)/r)-1;return i(0<=a&&a<=9),e+=a*t.PENALTY_N4,i(0<=e&&e<=2568888),e}getAlignmentPatternPositions(){if(this.version==1)return[];{let e=Math.floor(this.version/7)+2,t=this.version==32?26:Math.ceil((this.version*4+4)/(e*2-2))*2,n=[6];for(let r=this.size-7;n.length<e;r-=t)n.splice(1,0,r);return n}}static getNumRawDataModules(e){if(e<t.MIN_VERSION||e>t.MAX_VERSION)throw RangeError(`Version number out of range`);let n=(16*e+128)*e+64;if(e>=2){let t=Math.floor(e/7)+2;n-=(25*t-10)*t-55,e>=7&&(n-=36)}return i(208<=n&&n<=29648),n}static getNumDataCodewords(e,n){return Math.floor(t.getNumRawDataModules(e)/8)-t.ECC_CODEWORDS_PER_BLOCK[n.ordinal][e]*t.NUM_ERROR_CORRECTION_BLOCKS[n.ordinal][e]}static reedSolomonComputeDivisor(e){if(e<1||e>255)throw RangeError(`Degree out of range`);let n=[];for(let t=0;t<e-1;t++)n.push(0);n.push(1);let r=1;for(let i=0;i<e;i++){for(let e=0;e<n.length;e++)n[e]=t.reedSolomonMultiply(n[e],r),e+1<n.length&&(n[e]^=n[e+1]);r=t.reedSolomonMultiply(r,2)}return n}static reedSolomonComputeRemainder(e,n){let r=n.map(e=>0);for(let i of e){let e=i^r.shift();r.push(0),n.forEach((n,i)=>r[i]^=t.reedSolomonMultiply(n,e))}return r}static reedSolomonMultiply(e,t){if(e>>>8||t>>>8)throw RangeError(`Byte out of range`);let n=0;for(let r=7;r>=0;r--)n=n<<1^(n>>>7)*285,n^=(t>>>r&1)*e;return i(n>>>8==0),n}finderPenaltyCountPatterns(e){let t=e[1];i(t<=this.size*3);let n=t>0&&e[2]==t&&e[3]==t*3&&e[4]==t&&e[5]==t;return(n&&e[0]>=t*4&&e[6]>=t?1:0)+(n&&e[6]>=t*4&&e[0]>=t?1:0)}finderPenaltyTerminateAndCount(e,t,n){return e&&(this.finderPenaltyAddHistory(t,n),t=0),t+=this.size,this.finderPenaltyAddHistory(t,n),this.finderPenaltyCountPatterns(n)}finderPenaltyAddHistory(e,t){t[0]==0&&(e+=this.size),t.pop(),t.unshift(e)}};t.MIN_VERSION=1,t.MAX_VERSION=40,t.PENALTY_N1=3,t.PENALTY_N2=3,t.PENALTY_N3=40,t.PENALTY_N4=10,t.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],t.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],e.QrCode=t;function n(e,t,n){if(t<0||t>31||e>>>t)throw RangeError(`Value out of range`);for(let r=t-1;r>=0;r--)n.push(e>>>r&1)}function r(e,t){return(e>>>t&1)!=0}function i(e){if(!e)throw Error(`Assertion error`)}let a=class e{constructor(e,t,n){if(this.mode=e,this.numChars=t,this.bitData=n,t<0)throw RangeError(`Invalid argument`);this.bitData=n.slice()}static makeBytes(t){let r=[];for(let e of t)n(e,8,r);return new e(e.Mode.BYTE,t.length,r)}static makeNumeric(t){if(!e.isNumeric(t))throw RangeError(`String contains non-numeric characters`);let r=[];for(let e=0;e<t.length;){let i=Math.min(t.length-e,3);n(parseInt(t.substring(e,e+i),10),i*3+1,r),e+=i}return new e(e.Mode.NUMERIC,t.length,r)}static makeAlphanumeric(t){if(!e.isAlphanumeric(t))throw RangeError(`String contains unencodable characters in alphanumeric mode`);let r=[],i;for(i=0;i+2<=t.length;i+=2){let a=e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i))*45;a+=e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i+1)),n(a,11,r)}return i<t.length&&n(e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i)),6,r),new e(e.Mode.ALPHANUMERIC,t.length,r)}static makeSegments(t){return t==``?[]:e.isNumeric(t)?[e.makeNumeric(t)]:e.isAlphanumeric(t)?[e.makeAlphanumeric(t)]:[e.makeBytes(e.toUtf8ByteArray(t))]}static makeEci(t){let r=[];if(t<0)throw RangeError(`ECI assignment value out of range`);if(t<128)n(t,8,r);else if(t<16384)n(2,2,r),n(t,14,r);else if(t<1e6)n(6,3,r),n(t,21,r);else throw RangeError(`ECI assignment value out of range`);return new e(e.Mode.ECI,0,r)}static isNumeric(t){return e.NUMERIC_REGEX.test(t)}static isAlphanumeric(t){return e.ALPHANUMERIC_REGEX.test(t)}getData(){return this.bitData.slice()}static getTotalBits(e,t){let n=0;for(let r of e){let e=r.mode.numCharCountBits(t);if(r.numChars>=1<<e)return 1/0;n+=4+e+r.bitData.length}return n}static toUtf8ByteArray(e){e=encodeURI(e);let t=[];for(let n=0;n<e.length;n++)e.charAt(n)==`%`?(t.push(parseInt(e.substring(n+1,n+3),16)),n+=2):t.push(e.charCodeAt(n));return t}};a.NUMERIC_REGEX=/^[0-9]*$/,a.ALPHANUMERIC_REGEX=/^[A-Z0-9 $%*+.\/:-]*$/,a.ALPHANUMERIC_CHARSET=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:`;let o=a;e.QrSegment=a})(uT||={}),(e=>{(e=>{let t=class{constructor(e,t){this.ordinal=e,this.formatBits=t}};t.LOW=new t(0,1),t.MEDIUM=new t(1,0),t.QUARTILE=new t(2,3),t.HIGH=new t(3,2),e.Ecc=t})(e.QrCode||={})})(uT||={}),(e=>{(e=>{let t=class{constructor(e,t){this.modeBits=e,this.numBitsCharCount=t}numCharCountBits(e){return this.numBitsCharCount[Math.floor((e+7)/17)]}};t.NUMERIC=new t(1,[10,12,14]),t.ALPHANUMERIC=new t(2,[9,11,13]),t.BYTE=new t(4,[8,16,16]),t.KANJI=new t(8,[8,10,12]),t.ECI=new t(7,[0,0,0]),e.Mode=t})(e.QrSegment||={})})(uT||={});var dT=uT,fT={L:dT.QrCode.Ecc.LOW,M:dT.QrCode.Ecc.MEDIUM,Q:dT.QrCode.Ecc.QUARTILE,H:dT.QrCode.Ecc.HIGH},pT=128,mT=`L`,hT=`#FFFFFF`,gT=`#000000`,_T=!1,vT=1,yT=4,bT=0,xT=.1;function ST(e,t=0){let n=[];return e.forEach(function(e,r){let i=null;e.forEach(function(a,o){if(!a&&i!==null){n.push(`M${i+t} ${r+t}h${o-i}v1H${i+t}z`),i=null;return}if(o===e.length-1){if(!a)return;i===null?n.push(`M${o+t},${r+t} h1v1H${o+t}z`):n.push(`M${i+t},${r+t} h${o+1-i}v1H${i+t}z`);return}a&&i===null&&(i=o)})}),n.join(``)}function CT(e,t){return e.slice().map((e,n)=>n<t.y||n>=t.y+t.h?e:e.map((e,n)=>n<t.x||n>=t.x+t.w?e:!1))}function wT(e,t,n,r){if(r==null)return null;let i=e.length+n*2,a=Math.floor(t*xT),o=i/t,s=(r.width||a)*o,c=(r.height||a)*o,l=r.x==null?e.length/2-s/2:r.x*o,u=r.y==null?e.length/2-c/2:r.y*o,d=r.opacity==null?1:r.opacity,f=null;if(r.excavate){let e=Math.floor(l),t=Math.floor(u);f={x:e,y:t,w:Math.ceil(s+l-e),h:Math.ceil(c+u-t)}}let p=r.crossOrigin;return{x:l,y:u,h:c,w:s,excavation:f,opacity:d,crossOrigin:p}}function TT(e,t){return t==null?e?yT:bT:Math.max(Math.floor(t),0)}function ET({value:e,level:t,minVersion:n,includeMargin:r,marginSize:i,imageSettings:a,size:o,boostLevel:s}){let c=B.useMemo(()=>{let r=(Array.isArray(e)?e:[e]).reduce((e,t)=>(e.push(...dT.QrSegment.makeSegments(t)),e),[]);return dT.QrCode.encodeSegments(r,fT[t],n,void 0,void 0,s)},[e,t,n,s]),{cells:l,margin:u,numCells:d,calculatedImageSettings:f}=B.useMemo(()=>{let e=c.getModules(),t=TT(r,i);return{cells:e,margin:t,numCells:e.length+t*2,calculatedImageSettings:wT(e,o,t,a)}},[c,o,a,r,i]);return{qrcode:c,margin:u,cells:l,numCells:d,calculatedImageSettings:f}}var DT=function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0}(),OT=B.forwardRef(function(e,t){let n=e,{value:r,size:i=pT,level:a=mT,bgColor:o=hT,fgColor:s=gT,includeMargin:c=_T,minVersion:l=vT,boostLevel:u,marginSize:d,imageSettings:f}=n,p=lT(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`marginSize`,`imageSettings`]),{style:m}=p,h=lT(p,[`style`]),g=f?.src,_=B.useRef(null),v=B.useRef(null),y=B.useCallback(e=>{_.current=e,typeof t==`function`?t(e):t&&(t.current=e)},[t]),[b,x]=B.useState(!1),{margin:S,cells:C,numCells:w,calculatedImageSettings:T}=ET({value:r,level:a,minVersion:l,boostLevel:u,includeMargin:c,marginSize:d,imageSettings:f,size:i});B.useEffect(()=>{if(_.current!=null){let e=_.current,t=e.getContext(`2d`);if(!t)return;let n=C,r=v.current,a=T!=null&&r!==null&&r.complete&&r.naturalHeight!==0&&r.naturalWidth!==0;a&&T.excavation!=null&&(n=CT(C,T.excavation));let c=window.devicePixelRatio||1;e.height=e.width=i*c;let l=i/w*c;t.scale(l,l),t.fillStyle=o,t.fillRect(0,0,w,w),t.fillStyle=s,DT?t.fill(new Path2D(ST(n,S))):C.forEach(function(e,n){e.forEach(function(e,r){e&&t.fillRect(r+S,n+S,1,1)})}),T&&(t.globalAlpha=T.opacity),a&&t.drawImage(r,T.x+S,T.y+S,T.w,T.h)}}),B.useEffect(()=>{x(!1)},[g]);let E=cT({height:i,width:i},m),D=null;return g!=null&&(D=B.createElement(`img`,{src:g,key:g,style:{display:`none`},onLoad:()=>{x(!0)},ref:v,crossOrigin:T?.crossOrigin})),B.createElement(B.Fragment,null,B.createElement(`canvas`,cT({style:E,height:i,width:i,ref:y,role:`img`},h)),D)});OT.displayName=`QRCodeCanvas`;var kT=B.forwardRef(function(e,t){let n=e,{value:r,size:i=pT,level:a=mT,bgColor:o=hT,fgColor:s=gT,includeMargin:c=_T,minVersion:l=vT,boostLevel:u,title:d,marginSize:f,imageSettings:p}=n,m=lT(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`title`,`marginSize`,`imageSettings`]),{margin:h,cells:g,numCells:_,calculatedImageSettings:v}=ET({value:r,level:a,minVersion:l,boostLevel:u,includeMargin:c,marginSize:f,imageSettings:p,size:i}),y=g,b=null;p!=null&&v!=null&&(v.excavation!=null&&(y=CT(g,v.excavation)),b=B.createElement(`image`,{href:p.src,height:v.h,width:v.w,x:v.x+h,y:v.y+h,preserveAspectRatio:`none`,opacity:v.opacity,crossOrigin:v.crossOrigin}));let x=ST(y,h);return B.createElement(`svg`,cT({height:i,width:i,viewBox:`0 0 ${_} ${_}`,ref:t,role:`img`},m),!!d&&B.createElement(`title`,null,d),B.createElement(`path`,{fill:o,d:`M0,0 h${_}v${_}H0z`,shapeRendering:`crispEdges`}),B.createElement(`path`,{fill:s,d:x,shapeRendering:`crispEdges`}),b)});kT.displayName=`QRCodeSVG`;function AT({data:e,onSubmit:t,submitted:n}){let r=e,i=(0,B.useRef)(!1),a=r?.value?.trim()??``;return(0,B.useEffect)(()=>{a&&!n&&!i.current&&(i.current=!0,t(``))},[a,n,t]),a?(0,V.jsxs)(`div`,{className:`qr-code`,children:[(0,V.jsx)(`div`,{className:`qr-code__canvas`,children:(0,V.jsx)(kT,{value:a,size:240,level:`M`,bgColor:`#ffffff`,fgColor:`#000000`})}),r?.label&&(0,V.jsx)(`div`,{className:`qr-code__label`,children:r.label})]}):(0,V.jsx)(`div`,{className:`qr-code qr-code--error`,children:`No QR data provided. Try again or ask the agent to generate a new QR code.`})}function jT(e){return e===0?`0 B`:e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function MT(e){return e.startsWith(`image/`)?(0,V.jsx)(Oe,{size:18}):e===`application/pdf`?(0,V.jsx)(s,{size:18}):e===`text/calendar`?(0,V.jsx)(_e,{size:18}):e.startsWith(`text/`)?(0,V.jsx)(E,{size:18}):(0,V.jsx)(le,{size:18})}function NT({data:e,onSubmit:t,submitted:n,sessionKey:r}){let i=e,a=(0,B.useRef)(!1),o=!!(i?.attachmentId&&i?.filename);(0,B.useEffect)(()=>{o&&!n&&!a.current&&(a.current=!0,t(JSON.stringify({_lifecycle:!0,component:`file-attachment`,event:`rendered`,attachmentId:i.attachmentId,filename:i.filename})))},[o,n,t,i]);let s=(0,B.useCallback)(()=>{if(!i?.attachmentId||!r)return;let e=`/api/admin/attachment/${i.attachmentId}?session_key=${encodeURIComponent(r)}`,t=document.createElement(`a`);t.href=e,t.download=i.filename,t.click()},[i,r]);return o?(0,V.jsx)(O,{submitted:!1,submittedLabel:`Downloaded`,actions:[{label:`Download`,variant:`primary`,onClick:s,disabled:!r}],children:(0,V.jsxs)(`div`,{className:`file-attachment`,children:[(0,V.jsx)(`div`,{className:`file-attachment__icon`,children:MT(i.mimeType)}),(0,V.jsxs)(`div`,{className:`file-attachment__info`,children:[(0,V.jsx)(`div`,{className:`file-attachment__name`,title:i.filename,children:i.filename}),(0,V.jsxs)(`div`,{className:`file-attachment__meta`,children:[jT(i.sizeBytes),` · `,i.mimeType]})]}),(0,V.jsx)(`button`,{className:`file-attachment__download`,onClick:s,disabled:!r,title:`Download file`,children:(0,V.jsx)(ce,{size:16})})]})}):null}var PT=/^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/,FT=/^[a-z0-9-]$/;function IT(e){return e?PT.test(e):!1}function LT(e){let t=e.toLowerCase(),n=``;for(let e of t)FT.test(e)&&(n+=e);for(;n.startsWith(`-`);)n=n.slice(1);return n}function RT(e){return[{key:`length`,label:`At least 8 characters`,met:e.length>=8},{key:`number`,label:`Contains a number`,met:/\d/.test(e)},{key:`special`,label:`Contains a special character`,met:/[^A-Za-z0-9]/.test(e)},{key:`whitespace`,label:`No spaces`,met:e.length>0&&!/\s/.test(e)}]}var zT=18e4,BT=4096;function VT(e){let t=new TextEncoder().encode(e);return t.length<=BT?e:`${new TextDecoder(`utf-8`,{fatal:!1}).decode(t.slice(0,BT))}\n… ${t.length-BT} bytes truncated (total ${t.length} bytes)`}function HT({data:e,onSubmit:t,submitted:n,sessionKey:r}){let i=e,[a,o]=(0,B.useState)({status:`loading`}),[s,c]=(0,B.useState)(``),[l,u]=(0,B.useState)(``),[d,f]=(0,B.useState)(``),[p,m]=(0,B.useState)(``),[h,g]=(0,B.useState)(``),[_,v]=(0,B.useState)(``),[y,b]=(0,B.useState)(!1),[x,S]=(0,B.useState)(!1),[C,w]=(0,B.useState)(!1),[T,E]=(0,B.useState)(null),D=(0,B.useRef)(null),k=(0,B.useCallback)(async()=>{if(!r){o({status:`error`,field:`session`,message:`No session key available — refresh the page.`});return}o({status:`loading`});try{let e=await(await fetch(`/api/admin/cloudflare/domains?session_key=${encodeURIComponent(r)}`,{method:`GET`,headers:{Accept:`application/json`}})).json();if(!e.ok){o({status:`error`,field:e.field,message:e.message,output:e.output,correlationId:e.correlationId,streamLogPath:e.streamLogPath});return}if(e.domains.length===0){o({status:`empty`});return}o({status:`populated`,domains:e.domains}),u(t=>t||e.domains[0]),m(t=>t||e.domains[0])}catch(e){o({status:`error`,field:`script`,message:e instanceof Error?e.message:`Network error loading domains.`})}},[r]);(0,B.useEffect)(()=>{k()},[k]),(0,B.useEffect)(()=>()=>{D.current&&clearTimeout(D.current)},[]);let A=a.status===`populated`?a.domains:[],j=e=>{n||x||(c(LT(e)),E(null))},M=e=>{n||x||(f(LT(e)),E(null))},N=IT(s)&&l.length>0,P=d!==``,ee=!P||IT(d)&&p.length>0,F=N?`${s.replace(/-+$/,``)}.${l}`:``,te=P&&ee?`${d.replace(/-+$/,``)}.${p}`:``,I=!(te&&te===F),ne=RT(_),re=ne.every(e=>e.met),ie=a.status===`populated`&&N&&ee&&I&&re&&!x,L=s!==``&&!IT(s)?`Use lowercase letters, numbers, and hyphens. Start and end with a letter or number.`:null,ae=P&&!IT(d)?`Use lowercase letters, numbers, and hyphens. Start and end with a letter or number.`:I?null:`Public address must differ from the admin address.`,oe=T?.field===`admin`?T.message:null,se=T?.field===`public`?T.message:null,ce=T?.field===`password`?T.message:null,le=T?.field===`script`||T?.field===`request`?T.message:null,ue=()=>{w(!1),E(null),S(!1)},de=async()=>{if(!ie)return;if(!r){E({field:`request`,message:`No session key available — refresh the page.`});return}S(!0),E(null),w(!1);let e=new AbortController;D.current=setTimeout(()=>{e.abort(),w(!0)},zT);let n={session_key:r,adminLabel:s.replace(/-+$/,``),adminDomain:l,password:_};P&&(n.publicLabel=d.replace(/-+$/,``),n.publicDomain=p),h&&(n.apex=h);try{let r=await fetch(`/api/admin/cloudflare/setup`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n),signal:e.signal});D.current&&clearTimeout(D.current),D.current=null;let i=await r.json();if(!i.ok){E({field:i.field,message:i.message,output:i.output,correlationId:i.correlationId,streamLogPath:i.streamLogPath});let e=i.streamLogPath?`\n\nstream log: ${i.streamLogPath}`:``;t(i.output&&i.output.length>0?`Cloudflare setup failed: ${i.message}\n\n${i.output}${e}`:`Cloudflare setup failed: ${i.message}${e}`),S(!1);return}t(i.output)}catch(t){if(D.current&&clearTimeout(D.current),D.current=null,e.signal.aborted)return;E({field:`script`,message:t instanceof Error?t.message:`Network error — try again.`}),S(!1)}},fe=(0,B.useMemo)(()=>s?`${s}.${l||`your-domain`}`:`your-name.${l||`your-domain`}`,[s,l]);if(a.status===`loading`)return(0,V.jsx)(O,{submitted:!1,actions:[],children:(0,V.jsxs)(`div`,{className:`form-input`,children:[i?.title&&(0,V.jsx)(`div`,{className:`form-input__title`,children:i.title}),(0,V.jsx)(`div`,{className:`form-input__desc`,children:`Reading the domains on your Cloudflare account…`})]})});if(a.status===`empty`)return(0,V.jsx)(O,{submitted:!1,actions:[{label:`Retry`,variant:`primary`,onClick:k}],children:(0,V.jsxs)(`div`,{className:`form-input`,children:[(0,V.jsx)(`div`,{className:`form-input__title`,children:`No domains on this Cloudflare account`}),(0,V.jsx)(`div`,{className:`form-input__desc`,children:`Add a domain in the Cloudflare dashboard first, then click Retry.`}),(0,V.jsxs)(`ol`,{className:`form-input__field-desc`,style:{margin:0,paddingLeft:20},children:[(0,V.jsxs)(`li`,{children:[`With the correct account active (top-left), click `,(0,V.jsx)(`strong`,{children:`Websites`}),` in the left-hand sidebar.`]}),(0,V.jsxs)(`li`,{children:[`Click the `,(0,V.jsx)(`strong`,{children:`Add a site`}),` button.`]}),(0,V.jsxs)(`li`,{children:[`Enter the bare domain (e.g. `,(0,V.jsx)(`code`,{children:`example.com`}),`) and click `,(0,V.jsx)(`strong`,{children:`Continue`}),`.`]}),(0,V.jsxs)(`li`,{children:[`Review Cloudflare's imported DNS records — preserve website (`,(0,V.jsx)(`code`,{children:`A`}),`), email (`,(0,V.jsx)(`code`,{children:`MX`}),`), and verification (`,(0,V.jsx)(`code`,{children:`TXT`}),`) entries.`]}),(0,V.jsx)(`li`,{children:`Copy Cloudflare's two nameservers and set them on your domain registrar.`}),(0,V.jsxs)(`li`,{children:[`Return to Cloudflare and click `,(0,V.jsx)(`strong`,{children:`Check nameservers`}),`. Wait for the zone to show `,(0,V.jsx)(`strong`,{children:`Active`}),`.`]})]})]})});if(a.status===`error`){let e=a.field===`dashboard`,t=e?`Not signed into Cloudflare on this device`:`Could not read domains from Cloudflare`,n=e?`Sign in again at the Cloudflare dashboard in the VNC browser, then click Retry. If the VNC browser is not open, ask me to run vnc.sh restart.`:a.message;return(0,V.jsx)(O,{submitted:!1,actions:[{label:`Retry`,variant:`primary`,onClick:k}],children:(0,V.jsxs)(`div`,{className:`form-input`,children:[(0,V.jsx)(`div`,{className:`form-input__title`,children:t}),(0,V.jsx)(`div`,{className:`form-input__desc`,children:n}),a.output&&a.output.length>0&&(0,V.jsx)(`pre`,{style:{marginTop:8,padding:8,maxHeight:280,overflow:`auto`,fontFamily:`var(--font-mono, ui-monospace, monospace)`,fontSize:12,lineHeight:1.4,whiteSpace:`pre-wrap`,wordBreak:`break-word`,background:`var(--surface-2, rgba(0,0,0,0.04))`,borderRadius:4},children:VT(a.output)}),(a.correlationId||a.streamLogPath)&&(0,V.jsxs)(`div`,{style:{marginTop:8,fontFamily:`var(--font-mono, ui-monospace, monospace)`,fontSize:11,color:`var(--text-secondary)`,wordBreak:`break-all`},children:[a.correlationId&&(0,V.jsxs)(`div`,{children:[`conversationId: `,a.correlationId]}),a.streamLogPath&&(0,V.jsxs)(`div`,{children:[`stream log: `,a.streamLogPath]})]})]})})}return C?(0,V.jsx)(O,{submitted:!1,actions:[{label:`Reset form`,variant:`ghost`,onClick:ue}],children:(0,V.jsxs)(`div`,{className:`form-input`,children:[(0,V.jsx)(`div`,{className:`form-input__title`,children:`Setup is taking longer than expected`}),(0,V.jsx)(`div`,{className:`form-input__desc`,children:`The request is still running on the device — check the chat for live progress. Do not resubmit. If the script fails, the error will appear in chat and you can retry from there.`})]})}):(0,V.jsx)(O,{submitted:n,submittedLabel:`Submitting…`,actions:[{label:x?`Setting up…`:i?.submitLabel??`Set up Cloudflare`,variant:`primary`,disabled:!ie,onClick:de}],children:(0,V.jsxs)(`div`,{className:`form-input`,children:[i?.title&&(0,V.jsx)(`div`,{className:`form-input__title`,children:i.title}),i?.description&&(0,V.jsx)(`div`,{className:`form-input__desc`,children:i.description}),(0,V.jsxs)(`div`,{className:`form-input__fields`,children:[(0,V.jsxs)(`div`,{className:`form-input__field`,children:[(0,V.jsxs)(`label`,{className:`form-input__label`,htmlFor:`cf-admin-label`,children:[`Admin address`,(0,V.jsx)(`span`,{className:`form-input__required`,children:`*`})]}),(0,V.jsxs)(`div`,{className:`tunnel-route__row`,children:[(0,V.jsx)(`input`,{id:`cf-admin-label`,className:`form-input__input tunnel-route__input`,type:`text`,autoCapitalize:`none`,autoComplete:`off`,autoCorrect:`off`,spellCheck:!1,placeholder:`your-name`,value:s,onChange:e=>j(e.target.value),disabled:n||x}),(0,V.jsx)(UT,{id:`cf-admin-domain`,value:l,options:A,onChange:u,disabled:n||x})]}),(0,V.jsx)(`div`,{className:`form-input__field-desc`,children:`Where you access your platform remotely, via your main domain.`}),(0,V.jsxs)(`div`,{className:`form-input__field-desc`,children:[`Preview: `,(0,V.jsx)(`span`,{className:`tunnel-route__preview`,children:fe})]}),(oe||L)&&(0,V.jsx)(`div`,{className:`tunnel-route__error`,children:oe??L})]}),(0,V.jsxs)(`div`,{className:`form-input__field`,children:[(0,V.jsxs)(`label`,{className:`form-input__label`,htmlFor:`cf-public-label`,children:[`Public address`,(0,V.jsx)(`span`,{className:`tunnel-route__optional`,children:`Optional`})]}),(0,V.jsxs)(`div`,{className:`tunnel-route__row`,children:[(0,V.jsx)(`input`,{id:`cf-public-label`,className:`form-input__input tunnel-route__input`,type:`text`,autoCapitalize:`none`,autoComplete:`off`,autoCorrect:`off`,spellCheck:!1,placeholder:`leave empty to skip`,value:d,onChange:e=>M(e.target.value),disabled:n||x}),(0,V.jsx)(UT,{id:`cf-public-domain`,value:p,options:A,onChange:m,disabled:n||x||!P})]}),(0,V.jsx)(`div`,{className:`form-input__field-desc`,children:`Where visitors engage with your public agents, via your main domain. Leave empty for admin-only access.`}),(se||ae)&&(0,V.jsx)(`div`,{className:`tunnel-route__error`,children:se??ae})]}),(0,V.jsxs)(`div`,{className:`form-input__field`,children:[(0,V.jsxs)(`label`,{className:`form-input__label`,htmlFor:`cf-apex`,children:[`Proxy apex`,(0,V.jsx)(`span`,{className:`tunnel-route__optional`,children:`Optional`})]}),(0,V.jsxs)(`select`,{id:`cf-apex`,className:`form-input__input`,value:h,onChange:e=>g(e.target.value),disabled:n||x,children:[(0,V.jsx)(`option`,{value:``,children:`None`}),A.map(e=>(0,V.jsx)(`option`,{value:e,children:e},e))]}),(0,V.jsx)(`div`,{className:`form-input__field-desc`,children:`Alternative domain for public agent visitors.`})]}),(0,V.jsxs)(`div`,{className:`form-input__field`,children:[(0,V.jsxs)(`label`,{className:`form-input__label`,htmlFor:`cf-password`,children:[`Admin password`,(0,V.jsx)(`span`,{className:`form-input__required`,children:`*`})]}),(0,V.jsxs)(`div`,{className:`tunnel-route__row`,children:[(0,V.jsx)(`input`,{id:`cf-password`,className:`form-input__input tunnel-route__input`,type:y?`text`:`password`,autoCapitalize:`none`,autoComplete:`new-password`,autoCorrect:`off`,spellCheck:!1,value:_,onChange:e=>{v(e.target.value),E(null)},disabled:n||x}),(0,V.jsx)(`button`,{type:`button`,className:`tunnel-route__suffix`,onClick:()=>b(e=>!e),disabled:n||x,style:{cursor:`pointer`,border:`none`,background:`inherit`},"aria-label":y?`Hide password`:`Show password`,children:y?`Hide`:`Show`})]}),(0,V.jsx)(`ul`,{className:`form-input__field-desc`,style:{margin:0,paddingLeft:16},children:ne.map(e=>(0,V.jsxs)(`li`,{style:{color:e.met?`var(--text)`:`var(--text-secondary)`},children:[e.met?`✓`:`○`,` `,e.label]},e.key))}),ce&&(0,V.jsx)(`div`,{className:`tunnel-route__error`,children:ce})]}),le&&(0,V.jsxs)(`div`,{className:`tunnel-route__error`,role:`alert`,children:[(0,V.jsx)(`div`,{children:le}),T?.output&&T.output.length>0&&(0,V.jsx)(`pre`,{style:{marginTop:8,padding:8,maxHeight:280,overflow:`auto`,fontFamily:`var(--font-mono, ui-monospace, monospace)`,fontSize:12,lineHeight:1.4,whiteSpace:`pre-wrap`,wordBreak:`break-word`,background:`var(--surface-2, rgba(0,0,0,0.04))`,borderRadius:4},children:VT(T.output)}),(T?.correlationId||T?.streamLogPath)&&(0,V.jsxs)(`div`,{style:{marginTop:8,fontFamily:`var(--font-mono, ui-monospace, monospace)`,fontSize:11,color:`var(--text-secondary)`,wordBreak:`break-all`},children:[T.correlationId&&(0,V.jsxs)(`div`,{children:[`conversationId: `,T.correlationId]}),T.streamLogPath&&(0,V.jsxs)(`div`,{children:[`stream log: `,T.streamLogPath]})]})]})]})]})})}function UT({id:e,value:t,options:n,onChange:r,disabled:i}){return(0,V.jsx)(`select`,{id:e,className:`tunnel-route__suffix`,value:t,onChange:e=>r(e.target.value),disabled:i,style:{cursor:i?`default`:`pointer`,border:`none`},children:n.map(e=>(0,V.jsxs)(`option`,{value:e,children:[`.`,e]},e))})}var WT={"single-select":b,"multi-select":P,confirm:At,"info-card":jt,"action-list":Mt,form:Nt,progress:Ft,"browser-viewer":Lt,"document-editor":Nw,"rich-content-editor":Yw,"grid-editor":nT,"qr-code":AT,"file-attachment":NT,"action-buttons":j,"cloudflare-setup-form":HT,"output-style":b,"thinking-view":b,"plugin-selector":P};function GT({name:e,data:t,onSubmit:n,submitted:r,isStreaming:i,sessionKey:a}){let o=WT[e];return o?(0,V.jsx)(o,{data:t,onSubmit:n,submitted:r,isStreaming:i,sessionKey:a}):(console.warn(`[ComponentRenderer] Unknown component: "${e}". Registered: ${Object.keys(WT).join(`, `)}`),(0,V.jsx)(`div`,{className:`component-card component-card--error`,children:(0,V.jsxs)(`p`,{style:{fontFamily:`var(--font-body)`,fontSize:12,color:`var(--text-secondary)`},children:[`Component “`,e,`” is not available. This may require a platform update.`]})}))}var KT=/\b(?:fail|error|unable|could not|cannot|CAPTCHA|SIGN_IN_REQUIRED)\b/i;function qT(e){let t=new Date(e),n=new Date,r=String(t.getHours()).padStart(2,`0`),i=String(t.getMinutes()).padStart(2,`0`);return t.toDateString()===n.toDateString()?`${r}:${i}`:`${String(t.getDate()).padStart(2,`0`)}-${String(t.getMonth()+1).padStart(2,`0`)}-${t.getFullYear()} ${r}:${i}`}var JT=[$e,Xe,pe,qe,Te];function YT({size:e=13}){let[t,n]=(0,B.useState)(0);(0,B.useEffect)(()=>{let e=setInterval(()=>n(e=>(e+1)%8),300);return()=>clearInterval(e)},[]);let r=t<=4?t:8-t,i=JT[r];return(0,V.jsx)(i,{size:e,className:`star-loader star-frame-${r}`})}var XT=[`Thinking`,`Reasoning`,`Analyzing`,`Considering`,`Reflecting`,`Evaluating`,`Weighing`,`Synthesizing`,`Processing`,`Exploring`,`Examining`,`Assessing`,`Reviewing`,`Contemplating`,`Deliberating`],ZT=60,QT=1500;function $T(){let e=(0,B.useRef)(-1),t=(0,B.useRef)(void 0),[n,r]=(0,B.useState)(()=>{let t=Math.floor(Math.random()*XT.length);return e.current=t,XT[t]+`…`});return(0,B.useEffect)(()=>{let n=!1;function i(){let t;do t=Math.floor(Math.random()*XT.length);while(t===e.current&&XT.length>1);return e.current=t,t}function a(){if(n)return;let e=XT[i()]+`…`,o=0;function s(){n||(o++,r(e.slice(0,o)),o<e.length?t.current=setTimeout(s,ZT):t.current=setTimeout(a,QT))}t.current=setTimeout(s,ZT)}return t.current=setTimeout(a,QT),()=>{n=!0,clearTimeout(t.current)}},[]),(0,V.jsx)(`span`,{className:`tl-thinking-typewriter`,children:n})}function eE(e,t){let n=e=>String(e??``);switch(e){case`Read`:return`Read ${n(t.file_path??t.path)}`;case`Write`:return`Write ${n(t.file_path??t.path)}`;case`Edit`:return`Edit ${n(t.file_path??t.path)}`;case`Bash`:return n(t.description??String(t.command??``).slice(0,70));case`Glob`:return`Glob ${n(t.pattern)}`;case`Grep`:return`Grep "${n(t.pattern)}" in ${n(t.path??`.`)}`;case`WebFetch`:return`Fetch ${n(t.url)}`;case`Agent`:return n(t.description??t.task??`Subagent`);case`Skill`:return n(t.skill??`Skill`);default:{let r=e.match(/^mcp__[^_]+__(.+)$/),i=r?r[1]:e,a=Object.keys(t)[0];return a?`${i}: ${n(t[a]).slice(0,50)}`:i}}}function tE({name:e,size:t=12}){let n=e.match(/^mcp__[^_]+__(.+)$/);switch(n?n[1]:e){case`Read`:return(0,V.jsx)(s,{size:t});case`Write`:return(0,V.jsx)(Ae,{size:t});case`Edit`:return(0,V.jsx)(ke,{size:t});case`Bash`:return(0,V.jsx)(et,{size:t});case`Glob`:case`Grep`:return(0,V.jsx)(L,{size:t});case`WebFetch`:return(0,V.jsx)(D,{size:t});case`Agent`:return(0,V.jsx)(ge,{size:t});case`Skill`:return(0,V.jsx)(Xe,{size:t});case`memory-search`:return(0,V.jsx)(we,{size:t});case`memory-write`:return(0,V.jsx)(Ce,{size:t});case`task-list`:return(0,V.jsx)(ye,{size:t});case`task-create`:return(0,V.jsx)(be,{size:t});case`contact-create`:return(0,V.jsx)(tt,{size:t});default:return(0,V.jsx)(nt,{size:t})}}function nE(e){let t=new Map,n=new Map;return e.forEach((e,r)=>{if(e.type===`tool_use`){let t=n.get(e.name)??[];t.push(r),n.set(e.name,t)}else if(e.type===`tool_result`){let i=n.get(e.name);i?.length&&t.set(i.shift(),r)}}),t}function rE(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function iE(e){let t=``;switch(e.type){case`text`:case`thinking`:t=e.content??``;break;case`tool_use`:t=JSON.stringify(e.input??{});break;case`tool_result`:t=e.output??``;break;case`subagent_start`:t=e.task??``;break;case`subagent_end`:t=e.result??``;break;case`component`:t=JSON.stringify(e.data??{});break;case`status`:t=e.message??``;break;default:return 0}return Math.ceil(t.length/4)}function aE(e){if(e<60)return`${e}s`;let t=Math.floor(e/60),n=e%60;return n>0?`${t}m ${n}s`:`${t}m`}function oE(e){if(e<60)return`${e.toFixed(1)}s`;let t=Math.floor(e/60),n=e%60;return n>=.1?`${t}m ${Math.floor(n)}s`:`${t}m`}function sE({icon:e,isPending:t,isError:n,doneClass:r=`tl-done`,summary:i,detail:a,tokens:o,elapsed:s,isLast:c,expanded:l,onToggle:u,selectCheck:d}){let p=!!a;return(0,V.jsxs)(`div`,{className:`tl-step`,children:[d,(0,V.jsxs)(`div`,{className:`tl-col`,children:[(0,V.jsx)(`div`,{className:`tl-icon${t?` tl-pending`:n?` tl-error`:` ${r}`}`,children:e}),!c&&(0,V.jsx)(`div`,{className:`tl-line tl-line-grow`})]}),(0,V.jsxs)(`div`,{className:`tl-body`,children:[(0,V.jsxs)(`div`,{className:`tl-row`,onClick:p?()=>{window.getSelection()?.toString()||u()}:void 0,style:{cursor:p?`pointer`:`default`},children:[(0,V.jsx)(`span`,{className:`tl-summary`,children:i}),o>0&&(0,V.jsxs)(`span`,{className:`tl-step-tokens`,children:[(0,V.jsx)(rt,{size:9}),rE(o)]}),(0,V.jsx)(`span`,{className:`tl-step-elapsed`,children:oE(s)}),p&&(0,V.jsx)(`span`,{className:`tl-chevron`,children:l?(0,V.jsx)(f,{size:10}):(0,V.jsx)(R,{size:10})})]}),p&&l&&(0,V.jsx)(`pre`,{className:`tl-detail`,children:a})]})]})}function cE({events:e,isStreaming:t,elapsedSeconds:n,streamStartMs:r,expandAll:i,onCompactNow:a,isCompacting:o,sessionCompacted:s,onComponentSubmit:c,submittedComponents:l,timestamp:u,selectionMode:d,selectedItems:p,onToggleItem:h,sessionKey:g}){let[_,v]=(0,B.useState)(new Set),[y,b]=(0,B.useState)(!t),S=(0,B.useRef)(t);(0,B.useEffect)(()=>{S.current&&!t&&b(!0),!S.current&&t&&b(!1),S.current=t},[t]);let T=(0,B.useRef)(new Map),E=(0,B.useRef)(0),[D,O]=(0,B.useState)(Date.now());(0,B.useEffect)(()=>{let t=Date.now();for(let n=E.current;n<e.length;n++)T.current.has(n)||T.current.set(n,t);E.current=e.length},[e]),(0,B.useEffect)(()=>{if(!t)return;let e=setInterval(()=>O(Date.now()),100);return()=>clearInterval(e)},[t]);let k=e=>{v(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},A=(e,t)=>{let n=e===L[0]?.i&&r?r:T.current.get(e)??D,i=t===void 0?D:T.current.get(t)??D;return Math.max(0,(i-n)/1e3)},j=nE(e),M=new Set(j.values()),N=e.map((e,t)=>({e,i:t})).filter(({e})=>e.type===`text`),P=new Set(t?[]:e.map((e,t)=>({e,i:t})).filter(({e})=>e.type===`component`).map(({i:e})=>e)),ee=e=>e.type===`component`&&[`browser-viewer`,`qr-code`].includes(e.name);function te(e){if(!d||t||!u)return null;let n=`${u}_${e}`;return(0,V.jsx)(`div`,{className:`tl-select-check`,onClick:e=>e.stopPropagation(),children:(0,V.jsx)(C,{checked:p?.has(n)??!1,onChange:()=>h?.(n)})})}let I=e.findLast(e=>e.type===`usage`),ne=e.findLast(e=>e.type===`history_usage`),re=e.findLast(e=>e.type===`status`),ie=e.some(e=>e.type===`subagent_start`),L=e.map((e,t)=>({e,i:t})).filter(({e,i:n})=>e.type!==`text`&&e.type!==`usage`&&e.type!==`rate_limit`&&e.type!==`history_usage`&&e.type!==`status`&&e.type!==`done`&&e.type!==`subagent_progress`&&!M.has(n)&&!P.has(n)&&!(t&&e.type===`component`&&!ee(e))&&!(e.type===`tool_use`&&e.name===`Agent`&&ie)),ae=new Map;for(let e=0;e<L.length-1;e++)ae.set(L[e].i,L[e+1].i);let oe=(()=>{let e=[],t=!1,n=0;for(let{e:r}of L)if(n+=iE(r),r.type===`thinking`)t=!0;else if(r.type===`tool_use`){let t=r.name;e.includes(t)||e.push(t)}let r=[`${L.length} step${L.length===1?``:`s`}`];if(e.length>0){let t=e.slice(0,3),n=e.length-t.length;r.push(t.join(`, `)+(n>0?` +${n}`:``))}return{text:r.join(` · `),hasThinking:t,tokenSum:n}})(),se=I?.peak_request_pct==null?I?.context_window?Math.round((I.input_tokens+I.cache_creation_tokens+I.cache_read_tokens)/I.context_window*100):null:Math.round(I.peak_request_pct*100),ce=L.length>0,le=N.length>0,ue=new Set(L.map(e=>e.i)),pe=new Set(N.map(e=>e.i)),me=[];for(let t=0;t<e.length;t++){let n=e[t],r=null;if(ue.has(t)?r=`steps`:pe.has(t)&&(r=`text`),!r)continue;let i=me[me.length-1];i&&i.role===r?i.items.push({e:n,i:t}):me.push({role:r,items:[{e:n,i:t}]})}let he=N.length>0?N[N.length-1].i:-1;function _e(n,r,a,o){let s=o===a.length-1;if(n.type===`thinking`){let e=i===void 0?!_.has(r):i,t=ae.get(r);return(0,V.jsxs)(`div`,{className:`tl-step`,children:[te(r),(0,V.jsxs)(`div`,{className:`tl-col`,children:[(0,V.jsx)(`div`,{className:`tl-icon tl-dim`,children:(0,V.jsx)(Ie,{size:11})}),!s&&(0,V.jsx)(`div`,{className:`tl-line tl-line-grow`})]}),(0,V.jsx)(`div`,{className:`tl-body`,children:(0,V.jsxs)(`div`,{className:`tl-row tl-row-top`,onClick:()=>{window.getSelection()?.toString()||k(r)},style:{cursor:`pointer`},children:[(0,V.jsx)(`div`,{className:`tl-thinking-col`,children:e?(0,V.jsx)(`div`,{className:`tl-thinking-body`,children:n.content}):(0,V.jsxs)(`span`,{className:`tl-summary tl-thinking-label`,children:[n.content.slice(0,80),n.content.length>80?`…`:``]})}),iE(n)>0&&(0,V.jsxs)(`span`,{className:`tl-step-tokens`,children:[(0,V.jsx)(rt,{size:9}),rE(iE(n))]}),(0,V.jsx)(`span`,{className:`tl-step-elapsed`,children:oE(A(r,t))}),(0,V.jsx)(`span`,{className:`tl-chevron`,children:e?(0,V.jsx)(f,{size:10}):(0,V.jsx)(R,{size:10})})]})})]},r)}if(n.type===`status`)return(0,V.jsx)(`div`,{className:`tl-status`,children:n.message},r);if(n.type===`tool_use`){let t=j.get(r),a=t===void 0?void 0:e[t],o=a===void 0,c=a?.type===`tool_result`&&!!a.error,l=o?(0,V.jsx)(ze,{size:11,className:`tl-spinner`}):c?(0,V.jsx)(de,{size:11}):(0,V.jsx)(tE,{name:n.name,size:11}),u=n,d=a?.type===`tool_result`?`Input:
|
|
342
|
+
`;function nT({data:e,onSubmit:t,submitted:n,isStreaming:r}){let{title:a,columns:o,rows:s,filePath:c,brandName:l,brandLogo:u}=e??{},d=a??`Grid`,[f,p]=(0,B.useState)(o??[`Column 1`]),[m,h]=(0,B.useState)(()=>{let e=s??[[``]];return e.length>0?e:[[``]]}),[g,_]=(0,B.useState)(null),[v,y]=(0,B.useState)(``),b=(0,B.useRef)(null),[x,S]=(0,B.useState)(()=>(o??[`Column 1`]).map(()=>Qw)),C=(0,B.useRef)(null),[w,E]=(0,B.useState)(`idle`),D=(0,B.useRef)(null),O=(0,B.useRef)(null),k=(0,B.useRef)(JSON.stringify({columns:o,rows:s}));(0,B.useEffect)(()=>{let e=JSON.stringify({columns:o,rows:s});e!==k.current&&(k.current=e,o&&p(o),s&&(h(s.length>0?s:[[``]]),S(e=>{let t=o?.length??e.length;return t>e.length?[...e,...Array(t-e.length).fill(Qw)]:e.slice(0,t)})))},[o,s]);let A=(0,B.useCallback)(()=>{D.current&&clearTimeout(D.current),D.current=setTimeout(()=>{E(`saving`),t(JSON.stringify({action:`save`,columns:f,rows:m,...c?{filePath:c}:{}})),O.current&&clearTimeout(O.current),E(`saved`),O.current=setTimeout(()=>E(`idle`),2e3)},500)},[f,m,c,t]);(0,B.useEffect)(()=>()=>{D.current&&clearTimeout(D.current),O.current&&clearTimeout(O.current)},[]);let j=Ow({title:d,isStreaming:r,channelName:`maxy-grid-editor`,renderPopout:(0,B.useCallback)((e,t)=>{let n=e.document;n.open(),n.close(),n.title=t;let r=n.createElement(`style`);r.textContent=tT,n.head.appendChild(r);let i=n.createElement(`div`);i.className=`title`,i.textContent=t,n.body.appendChild(i);let a=n.createElement(`table`),o=n.createElement(`thead`),s=n.createElement(`tr`);for(let e of f){let t=n.createElement(`th`);t.textContent=e,s.appendChild(t)}o.appendChild(s),a.appendChild(o);let c=n.createElement(`tbody`);for(let e of m){let t=n.createElement(`tr`);for(let r of e){let e=n.createElement(`td`);e.textContent=r,t.appendChild(e)}c.appendChild(t)}a.appendChild(c),n.body.appendChild(a)},[f,m])}),M=kw({onSubmit:t}),N=(0,B.useCallback)((e,t)=>{_({row:e,col:t}),y(m[e]?.[t]??``),setTimeout(()=>b.current?.focus(),0)},[m]),P=(0,B.useCallback)(()=>{if(!g)return;let{row:e,col:t}=g;h(n=>{let r=n.map(e=>[...e]);return r[e]&&(r[e][t]=v),r}),_(null),A()},[g,v,A]),ee=(0,B.useCallback)(()=>{_(null)},[]),F=(0,B.useCallback)(e=>{if(g)if(e.key===`Tab`){e.preventDefault(),P();let{row:t,col:n}=g,r=n+1;if(r<f.length)N(t,r);else{let e=t+1;e>=m.length&&h(e=>[...e,Array(f.length).fill(``)]),N(Math.min(e,m.length),0)}}else if(e.key===`Enter`){e.preventDefault(),P();let{row:t,col:n}=g,r=t+1;r>=m.length&&h(e=>[...e,Array(f.length).fill(``)]),N(Math.min(r,m.length),n)}else e.key===`Escape`&&ee()},[g,f.length,m.length,P,N,ee]),te=(0,B.useCallback)(()=>{h(e=>[...e,Array(f.length).fill(``)]),A()},[f.length,A]),I=(0,B.useCallback)(e=>{h(t=>t.length<=1?[Array(f.length).fill(``)]:t.filter((t,n)=>n!==e)),g?.row===e&&_(null),A()},[f.length,g,A]),ne=(0,B.useCallback)(e=>{let t=e.clipboardData.getData(`text/plain`);if(!t||!g)return;let n=t.split(`
|
|
343
|
+
`).filter(e=>e.trim());if(n.length<=1&&!n[0]?.includes(` `)&&!n[0]?.includes(`,`))return;e.preventDefault();let r=n.slice(0,Xw).map($w);n.length>Xw&&console.warn(`Grid editor: paste truncated from ${n.length} to ${Xw} rows`);let{row:i,col:a}=g;h(e=>{let t=e.map(e=>[...e]);for(let e=0;e<r.length;e++){let n=i+e;for(;n>=t.length;)t.push(Array(f.length).fill(``));for(let i=0;i<r[e].length;i++){let o=a+i;o<f.length&&(t[n][o]=r[e][i])}}return t}),A()},[g,f.length,A]),re=(0,B.useCallback)(()=>{let e=eT(f,m),t=new Blob([e],{type:`text/csv;charset=utf-8;`}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=`${d.replace(/[^a-zA-Z0-9]/g,`_`)}.csv`,r.click(),URL.revokeObjectURL(n)},[f,m,d]),ie=(0,B.useCallback)(()=>{Rw({title:d,content:zw(f,m),brandName:l,brandLogo:u})},[d,f,m,l,u]),L=(0,B.useCallback)((e,t)=>{t.preventDefault(),C.current={colIndex:e,startX:t.clientX,startWidth:x[e]};let n=null,r=e=>{C.current&&(n&&cancelAnimationFrame(n),n=requestAnimationFrame(()=>{if(!C.current)return;let t=e.clientX-C.current.startX,n=Math.max(Zw,C.current.startWidth+t);S(e=>{let t=[...e];return t[C.current.colIndex]=n,t})}))},i=()=>{C.current=null,n&&cancelAnimationFrame(n),window.removeEventListener(`mousemove`,r),window.removeEventListener(`mouseup`,i)};window.addEventListener(`mousemove`,r),window.addEventListener(`mouseup`,i)},[x]),ae=(0,B.useCallback)(()=>{g&&M.openCommentInput()},[g,M]),oe=(0,B.useCallback)(()=>{if(!g)return;let e=m[g.row]?.[g.col]??``;M.submitComment(e,{row:g.row,column:g.col})},[g,m,M]);if(n)return null;let se=typeof window<`u`&&window.innerWidth<640,ce=typeof BroadcastChannel<`u`,ue=(0,V.jsxs)(`div`,{className:`editor-base__actions`,children:[w===`saving`&&(0,V.jsx)(`span`,{className:`editor-base__status`,children:`Saving...`}),w===`saved`&&(0,V.jsx)(`span`,{className:`editor-base__status`,children:`Saved`}),M.pendingComments.length>0&&(0,V.jsxs)(T,{variant:`ghost`,size:`sm`,onClick:M.sendComments,children:[`Send `,M.pendingComments.length,` comment`,M.pendingComments.length>1?`s`:``]}),g&&(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ve,onClick:ae,"aria-label":`Comment on cell`}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:le,onClick:re,"aria-label":`Download CSV`}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:De,onClick:ie,"aria-label":`Export PDF`}),!se&&ce&&!j.poppedOut&&(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ee,onClick:j.handlePopout,"aria-label":`Pop out`}),!j.fullscreen&&(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Be,onClick:j.handleFullscreen,"aria-label":`Full screen`}),j.fullscreen&&(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ue,onClick:j.exitFullscreen,"aria-label":`Exit full screen`}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:We,onClick:j.handleMinimise,"aria-label":`Minimise`})]}),fe=(0,V.jsxs)(`div`,{className:`grid-editor__table-wrap`,onPaste:ne,children:[M.showCommentInput?(0,V.jsxs)(`div`,{className:`grid-editor__comment-popover`,children:[(0,V.jsx)(`input`,{ref:M.commentInputRef,type:`text`,value:M.commentText,onChange:e=>M.setCommentText(e.target.value),onKeyDown:e=>{e.key===`Enter`&&oe(),e.key===`Escape`&&M.cancelComment()},placeholder:`Add a comment...`,className:`doc-editor__comment-input`,"aria-label":`Add comment on cell`}),(0,V.jsxs)(`div`,{className:`doc-editor__comment-actions`,children:[(0,V.jsx)(T,{variant:`primary`,size:`sm`,onClick:oe,disabled:!M.commentText.trim(),children:`Add`}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:de,onClick:M.cancelComment,"aria-label":`Cancel`})]})]}):null,(0,V.jsxs)(`table`,{className:`grid-editor__table`,role:`grid`,"aria-label":d,children:[(0,V.jsx)(`thead`,{children:(0,V.jsxs)(`tr`,{children:[(0,V.jsx)(`th`,{className:`grid-editor__row-header`}),f.map((e,t)=>(0,V.jsxs)(`th`,{className:`grid-editor__col-header`,style:{width:x[t]},children:[e,(0,V.jsx)(`div`,{className:`grid-editor__resize-handle`,onMouseDown:e=>L(t,e),role:`separator`,"aria-orientation":`vertical`})]},t))]})}),(0,V.jsx)(`tbody`,{children:m.map((e,t)=>(0,V.jsxs)(`tr`,{children:[(0,V.jsxs)(`td`,{className:`grid-editor__row-header`,children:[(0,V.jsx)(`span`,{className:`grid-editor__row-num`,children:t+1}),m.length>1&&(0,V.jsx)(`button`,{className:`grid-editor__row-delete`,onClick:()=>I(t),"aria-label":`Delete row ${t+1}`,children:(0,V.jsx)(i,{size:12})})]}),e.map((e,n)=>{let r=g?.row===t&&g?.col===n;return(0,V.jsx)(`td`,{className:`grid-editor__cell ${r?`grid-editor__cell--active`:``}`,onClick:()=>!r&&N(t,n),role:`gridcell`,"aria-selected":r,style:{width:x[n]},children:r?(0,V.jsx)(`input`,{ref:b,type:`text`,className:`grid-editor__cell-input`,value:v,onChange:e=>y(e.target.value),onKeyDown:F,onBlur:P,"aria-label":`${f[n]} row ${t+1}`}):(0,V.jsx)(`span`,{className:`grid-editor__cell-text`,children:e})},n)})]},t))})]}),(0,V.jsxs)(`button`,{className:`grid-editor__add-row`,onClick:te,"aria-label":`Add row`,children:[(0,V.jsx)(z,{size:14}),(0,V.jsx)(`span`,{children:`Add row`})]})]});return j.fullscreen?(0,V.jsxs)(`div`,{className:`editor-base-fullscreen`,children:[(0,V.jsxs)(`div`,{className:`editor-base-fullscreen__bar`,...j.dragBarProps,children:[(0,V.jsx)(`span`,{className:`editor-base-fullscreen__title`,children:d}),ue]}),(0,V.jsx)(`div`,{className:`editor-base-fullscreen__body`,style:{maxWidth:`none`},children:fe})]}):j.poppedOut?(0,V.jsx)(`div`,{className:`editor-base editor-base--popout`,children:(0,V.jsxs)(`div`,{className:`editor-base__bar`,...j.dragBarProps,children:[(0,V.jsx)(`span`,{className:`editor-base__title`,children:d}),(0,V.jsxs)(`div`,{className:`editor-base__actions`,children:[(0,V.jsx)(`span`,{className:`editor-base__status`,children:`Popped out`}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ze,onClick:j.handlePopIn,"aria-label":`Pop back in`}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:We,onClick:j.handleMinimise,"aria-label":`Close`})]})]})}):j.minimised?(0,V.jsx)(`div`,{className:`editor-base editor-base--minimised`,onClick:j.handleExpand,role:`button`,tabIndex:0,onKeyDown:e=>e.key===`Enter`&&j.handleExpand(),children:(0,V.jsxs)(`div`,{className:`editor-base__bar`,...j.dragBarProps,children:[(0,V.jsx)(`span`,{className:`editor-base__title`,children:d}),(0,V.jsxs)(`div`,{className:`editor-base__actions`,onClick:e=>e.stopPropagation(),children:[!se&&ce&&(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ee,onClick:j.handlePopout,"aria-label":`Pop out`}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Be,onClick:j.handleFullscreen,"aria-label":`Full screen`}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:qe,onClick:j.handleExpand,"aria-label":`Expand`})]})]})}):(0,V.jsxs)(`div`,{className:`editor-base grid-editor`,children:[(0,V.jsxs)(`div`,{className:`editor-base__bar`,...j.dragBarProps,children:[(0,V.jsx)(`span`,{className:`editor-base__title`,children:d}),ue]}),(0,V.jsx)(`div`,{className:`grid-editor__body`,children:fe})]})}var rT=Object.defineProperty,iT=Object.getOwnPropertySymbols,aT=Object.prototype.hasOwnProperty,oT=Object.prototype.propertyIsEnumerable,sT=(e,t,n)=>t in e?rT(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,cT=(e,t)=>{for(var n in t||={})aT.call(t,n)&&sT(e,n,t[n]);if(iT)for(var n of iT(t))oT.call(t,n)&&sT(e,n,t[n]);return e},lT=(e,t)=>{var n={};for(var r in e)aT.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&iT)for(var r of iT(e))t.indexOf(r)<0&&oT.call(e,r)&&(n[r]=e[r]);return n},uT;(e=>{let t=class t{constructor(e,n,r,a){if(this.version=e,this.errorCorrectionLevel=n,this.modules=[],this.isFunction=[],e<t.MIN_VERSION||e>t.MAX_VERSION)throw RangeError(`Version value out of range`);if(a<-1||a>7)throw RangeError(`Mask value out of range`);this.size=e*4+17;let o=[];for(let e=0;e<this.size;e++)o.push(!1);for(let e=0;e<this.size;e++)this.modules.push(o.slice()),this.isFunction.push(o.slice());this.drawFunctionPatterns();let s=this.addEccAndInterleave(r);if(this.drawCodewords(s),a==-1){let e=1e9;for(let t=0;t<8;t++){this.applyMask(t),this.drawFormatBits(t);let n=this.getPenaltyScore();n<e&&(a=t,e=n),this.applyMask(t)}}i(0<=a&&a<=7),this.mask=a,this.applyMask(a),this.drawFormatBits(a),this.isFunction=[]}static encodeText(n,r){let i=e.QrSegment.makeSegments(n);return t.encodeSegments(i,r)}static encodeBinary(n,r){let i=e.QrSegment.makeBytes(n);return t.encodeSegments([i],r)}static encodeSegments(e,r,a=1,s=40,c=-1,l=!0){if(!(t.MIN_VERSION<=a&&a<=s&&s<=t.MAX_VERSION)||c<-1||c>7)throw RangeError(`Invalid value`);let u,d;for(u=a;;u++){let n=t.getNumDataCodewords(u,r)*8,i=o.getTotalBits(e,u);if(i<=n){d=i;break}if(u>=s)throw RangeError(`Data too long`)}for(let e of[t.Ecc.MEDIUM,t.Ecc.QUARTILE,t.Ecc.HIGH])l&&d<=t.getNumDataCodewords(u,e)*8&&(r=e);let f=[];for(let t of e){n(t.mode.modeBits,4,f),n(t.numChars,t.mode.numCharCountBits(u),f);for(let e of t.getData())f.push(e)}i(f.length==d);let p=t.getNumDataCodewords(u,r)*8;i(f.length<=p),n(0,Math.min(4,p-f.length),f),n(0,(8-f.length%8)%8,f),i(f.length%8==0);for(let e=236;f.length<p;e^=253)n(e,8,f);let m=[];for(;m.length*8<f.length;)m.push(0);return f.forEach((e,t)=>m[t>>>3]|=e<<7-(t&7)),new t(u,r,m,c)}getModule(e,t){return 0<=e&&e<this.size&&0<=t&&t<this.size&&this.modules[t][e]}getModules(){return this.modules}drawFunctionPatterns(){for(let e=0;e<this.size;e++)this.setFunctionModule(6,e,e%2==0),this.setFunctionModule(e,6,e%2==0);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);let e=this.getAlignmentPatternPositions(),t=e.length;for(let n=0;n<t;n++)for(let r=0;r<t;r++)n==0&&r==0||n==0&&r==t-1||n==t-1&&r==0||this.drawAlignmentPattern(e[n],e[r]);this.drawFormatBits(0),this.drawVersion()}drawFormatBits(e){let t=this.errorCorrectionLevel.formatBits<<3|e,n=t;for(let e=0;e<10;e++)n=n<<1^(n>>>9)*1335;let a=(t<<10|n)^21522;i(a>>>15==0);for(let e=0;e<=5;e++)this.setFunctionModule(8,e,r(a,e));this.setFunctionModule(8,7,r(a,6)),this.setFunctionModule(8,8,r(a,7)),this.setFunctionModule(7,8,r(a,8));for(let e=9;e<15;e++)this.setFunctionModule(14-e,8,r(a,e));for(let e=0;e<8;e++)this.setFunctionModule(this.size-1-e,8,r(a,e));for(let e=8;e<15;e++)this.setFunctionModule(8,this.size-15+e,r(a,e));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let e=this.version;for(let t=0;t<12;t++)e=e<<1^(e>>>11)*7973;let t=this.version<<12|e;i(t>>>18==0);for(let e=0;e<18;e++){let n=r(t,e),i=this.size-11+e%3,a=Math.floor(e/3);this.setFunctionModule(i,a,n),this.setFunctionModule(a,i,n)}}drawFinderPattern(e,t){for(let n=-4;n<=4;n++)for(let r=-4;r<=4;r++){let i=Math.max(Math.abs(r),Math.abs(n)),a=e+r,o=t+n;0<=a&&a<this.size&&0<=o&&o<this.size&&this.setFunctionModule(a,o,i!=2&&i!=4)}}drawAlignmentPattern(e,t){for(let n=-2;n<=2;n++)for(let r=-2;r<=2;r++)this.setFunctionModule(e+r,t+n,Math.max(Math.abs(r),Math.abs(n))!=1)}setFunctionModule(e,t,n){this.modules[t][e]=n,this.isFunction[t][e]=!0}addEccAndInterleave(e){let n=this.version,r=this.errorCorrectionLevel;if(e.length!=t.getNumDataCodewords(n,r))throw RangeError(`Invalid argument`);let a=t.NUM_ERROR_CORRECTION_BLOCKS[r.ordinal][n],o=t.ECC_CODEWORDS_PER_BLOCK[r.ordinal][n],s=Math.floor(t.getNumRawDataModules(n)/8),c=a-s%a,l=Math.floor(s/a),u=[],d=t.reedSolomonComputeDivisor(o);for(let n=0,r=0;n<a;n++){let i=e.slice(r,r+l-o+(n<c?0:1));r+=i.length;let a=t.reedSolomonComputeRemainder(i,d);n<c&&i.push(0),u.push(i.concat(a))}let f=[];for(let e=0;e<u[0].length;e++)u.forEach((t,n)=>{(e!=l-o||n>=c)&&f.push(t[e])});return i(f.length==s),f}drawCodewords(e){if(e.length!=Math.floor(t.getNumRawDataModules(this.version)/8))throw RangeError(`Invalid argument`);let n=0;for(let t=this.size-1;t>=1;t-=2){t==6&&(t=5);for(let i=0;i<this.size;i++)for(let a=0;a<2;a++){let o=t-a,s=t+1&2?i:this.size-1-i;!this.isFunction[s][o]&&n<e.length*8&&(this.modules[s][o]=r(e[n>>>3],7-(n&7)),n++)}}i(n==e.length*8)}applyMask(e){if(e<0||e>7)throw RangeError(`Mask value out of range`);for(let t=0;t<this.size;t++)for(let n=0;n<this.size;n++){let r;switch(e){case 0:r=(n+t)%2==0;break;case 1:r=t%2==0;break;case 2:r=n%3==0;break;case 3:r=(n+t)%3==0;break;case 4:r=(Math.floor(n/3)+Math.floor(t/2))%2==0;break;case 5:r=n*t%2+n*t%3==0;break;case 6:r=(n*t%2+n*t%3)%2==0;break;case 7:r=((n+t)%2+n*t%3)%2==0;break;default:throw Error(`Unreachable`)}!this.isFunction[t][n]&&r&&(this.modules[t][n]=!this.modules[t][n])}}getPenaltyScore(){let e=0;for(let n=0;n<this.size;n++){let r=!1,i=0,a=[0,0,0,0,0,0,0];for(let o=0;o<this.size;o++)this.modules[n][o]==r?(i++,i==5?e+=t.PENALTY_N1:i>5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[n][o],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;n<this.size;n++){let r=!1,i=0,a=[0,0,0,0,0,0,0];for(let o=0;o<this.size;o++)this.modules[o][n]==r?(i++,i==5?e+=t.PENALTY_N1:i>5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[o][n],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;n<this.size-1;n++)for(let r=0;r<this.size-1;r++){let i=this.modules[n][r];i==this.modules[n][r+1]&&i==this.modules[n+1][r]&&i==this.modules[n+1][r+1]&&(e+=t.PENALTY_N2)}let n=0;for(let e of this.modules)n=e.reduce((e,t)=>e+(t?1:0),n);let r=this.size*this.size,a=Math.ceil(Math.abs(n*20-r*10)/r)-1;return i(0<=a&&a<=9),e+=a*t.PENALTY_N4,i(0<=e&&e<=2568888),e}getAlignmentPatternPositions(){if(this.version==1)return[];{let e=Math.floor(this.version/7)+2,t=this.version==32?26:Math.ceil((this.version*4+4)/(e*2-2))*2,n=[6];for(let r=this.size-7;n.length<e;r-=t)n.splice(1,0,r);return n}}static getNumRawDataModules(e){if(e<t.MIN_VERSION||e>t.MAX_VERSION)throw RangeError(`Version number out of range`);let n=(16*e+128)*e+64;if(e>=2){let t=Math.floor(e/7)+2;n-=(25*t-10)*t-55,e>=7&&(n-=36)}return i(208<=n&&n<=29648),n}static getNumDataCodewords(e,n){return Math.floor(t.getNumRawDataModules(e)/8)-t.ECC_CODEWORDS_PER_BLOCK[n.ordinal][e]*t.NUM_ERROR_CORRECTION_BLOCKS[n.ordinal][e]}static reedSolomonComputeDivisor(e){if(e<1||e>255)throw RangeError(`Degree out of range`);let n=[];for(let t=0;t<e-1;t++)n.push(0);n.push(1);let r=1;for(let i=0;i<e;i++){for(let e=0;e<n.length;e++)n[e]=t.reedSolomonMultiply(n[e],r),e+1<n.length&&(n[e]^=n[e+1]);r=t.reedSolomonMultiply(r,2)}return n}static reedSolomonComputeRemainder(e,n){let r=n.map(e=>0);for(let i of e){let e=i^r.shift();r.push(0),n.forEach((n,i)=>r[i]^=t.reedSolomonMultiply(n,e))}return r}static reedSolomonMultiply(e,t){if(e>>>8||t>>>8)throw RangeError(`Byte out of range`);let n=0;for(let r=7;r>=0;r--)n=n<<1^(n>>>7)*285,n^=(t>>>r&1)*e;return i(n>>>8==0),n}finderPenaltyCountPatterns(e){let t=e[1];i(t<=this.size*3);let n=t>0&&e[2]==t&&e[3]==t*3&&e[4]==t&&e[5]==t;return(n&&e[0]>=t*4&&e[6]>=t?1:0)+(n&&e[6]>=t*4&&e[0]>=t?1:0)}finderPenaltyTerminateAndCount(e,t,n){return e&&(this.finderPenaltyAddHistory(t,n),t=0),t+=this.size,this.finderPenaltyAddHistory(t,n),this.finderPenaltyCountPatterns(n)}finderPenaltyAddHistory(e,t){t[0]==0&&(e+=this.size),t.pop(),t.unshift(e)}};t.MIN_VERSION=1,t.MAX_VERSION=40,t.PENALTY_N1=3,t.PENALTY_N2=3,t.PENALTY_N3=40,t.PENALTY_N4=10,t.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],t.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],e.QrCode=t;function n(e,t,n){if(t<0||t>31||e>>>t)throw RangeError(`Value out of range`);for(let r=t-1;r>=0;r--)n.push(e>>>r&1)}function r(e,t){return(e>>>t&1)!=0}function i(e){if(!e)throw Error(`Assertion error`)}let a=class e{constructor(e,t,n){if(this.mode=e,this.numChars=t,this.bitData=n,t<0)throw RangeError(`Invalid argument`);this.bitData=n.slice()}static makeBytes(t){let r=[];for(let e of t)n(e,8,r);return new e(e.Mode.BYTE,t.length,r)}static makeNumeric(t){if(!e.isNumeric(t))throw RangeError(`String contains non-numeric characters`);let r=[];for(let e=0;e<t.length;){let i=Math.min(t.length-e,3);n(parseInt(t.substring(e,e+i),10),i*3+1,r),e+=i}return new e(e.Mode.NUMERIC,t.length,r)}static makeAlphanumeric(t){if(!e.isAlphanumeric(t))throw RangeError(`String contains unencodable characters in alphanumeric mode`);let r=[],i;for(i=0;i+2<=t.length;i+=2){let a=e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i))*45;a+=e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i+1)),n(a,11,r)}return i<t.length&&n(e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i)),6,r),new e(e.Mode.ALPHANUMERIC,t.length,r)}static makeSegments(t){return t==``?[]:e.isNumeric(t)?[e.makeNumeric(t)]:e.isAlphanumeric(t)?[e.makeAlphanumeric(t)]:[e.makeBytes(e.toUtf8ByteArray(t))]}static makeEci(t){let r=[];if(t<0)throw RangeError(`ECI assignment value out of range`);if(t<128)n(t,8,r);else if(t<16384)n(2,2,r),n(t,14,r);else if(t<1e6)n(6,3,r),n(t,21,r);else throw RangeError(`ECI assignment value out of range`);return new e(e.Mode.ECI,0,r)}static isNumeric(t){return e.NUMERIC_REGEX.test(t)}static isAlphanumeric(t){return e.ALPHANUMERIC_REGEX.test(t)}getData(){return this.bitData.slice()}static getTotalBits(e,t){let n=0;for(let r of e){let e=r.mode.numCharCountBits(t);if(r.numChars>=1<<e)return 1/0;n+=4+e+r.bitData.length}return n}static toUtf8ByteArray(e){e=encodeURI(e);let t=[];for(let n=0;n<e.length;n++)e.charAt(n)==`%`?(t.push(parseInt(e.substring(n+1,n+3),16)),n+=2):t.push(e.charCodeAt(n));return t}};a.NUMERIC_REGEX=/^[0-9]*$/,a.ALPHANUMERIC_REGEX=/^[A-Z0-9 $%*+.\/:-]*$/,a.ALPHANUMERIC_CHARSET=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:`;let o=a;e.QrSegment=a})(uT||={}),(e=>{(e=>{let t=class{constructor(e,t){this.ordinal=e,this.formatBits=t}};t.LOW=new t(0,1),t.MEDIUM=new t(1,0),t.QUARTILE=new t(2,3),t.HIGH=new t(3,2),e.Ecc=t})(e.QrCode||={})})(uT||={}),(e=>{(e=>{let t=class{constructor(e,t){this.modeBits=e,this.numBitsCharCount=t}numCharCountBits(e){return this.numBitsCharCount[Math.floor((e+7)/17)]}};t.NUMERIC=new t(1,[10,12,14]),t.ALPHANUMERIC=new t(2,[9,11,13]),t.BYTE=new t(4,[8,16,16]),t.KANJI=new t(8,[8,10,12]),t.ECI=new t(7,[0,0,0]),e.Mode=t})(e.QrSegment||={})})(uT||={});var dT=uT,fT={L:dT.QrCode.Ecc.LOW,M:dT.QrCode.Ecc.MEDIUM,Q:dT.QrCode.Ecc.QUARTILE,H:dT.QrCode.Ecc.HIGH},pT=128,mT=`L`,hT=`#FFFFFF`,gT=`#000000`,_T=!1,vT=1,yT=4,bT=0,xT=.1;function ST(e,t=0){let n=[];return e.forEach(function(e,r){let i=null;e.forEach(function(a,o){if(!a&&i!==null){n.push(`M${i+t} ${r+t}h${o-i}v1H${i+t}z`),i=null;return}if(o===e.length-1){if(!a)return;i===null?n.push(`M${o+t},${r+t} h1v1H${o+t}z`):n.push(`M${i+t},${r+t} h${o+1-i}v1H${i+t}z`);return}a&&i===null&&(i=o)})}),n.join(``)}function CT(e,t){return e.slice().map((e,n)=>n<t.y||n>=t.y+t.h?e:e.map((e,n)=>n<t.x||n>=t.x+t.w?e:!1))}function wT(e,t,n,r){if(r==null)return null;let i=e.length+n*2,a=Math.floor(t*xT),o=i/t,s=(r.width||a)*o,c=(r.height||a)*o,l=r.x==null?e.length/2-s/2:r.x*o,u=r.y==null?e.length/2-c/2:r.y*o,d=r.opacity==null?1:r.opacity,f=null;if(r.excavate){let e=Math.floor(l),t=Math.floor(u);f={x:e,y:t,w:Math.ceil(s+l-e),h:Math.ceil(c+u-t)}}let p=r.crossOrigin;return{x:l,y:u,h:c,w:s,excavation:f,opacity:d,crossOrigin:p}}function TT(e,t){return t==null?e?yT:bT:Math.max(Math.floor(t),0)}function ET({value:e,level:t,minVersion:n,includeMargin:r,marginSize:i,imageSettings:a,size:o,boostLevel:s}){let c=B.useMemo(()=>{let r=(Array.isArray(e)?e:[e]).reduce((e,t)=>(e.push(...dT.QrSegment.makeSegments(t)),e),[]);return dT.QrCode.encodeSegments(r,fT[t],n,void 0,void 0,s)},[e,t,n,s]),{cells:l,margin:u,numCells:d,calculatedImageSettings:f}=B.useMemo(()=>{let e=c.getModules(),t=TT(r,i);return{cells:e,margin:t,numCells:e.length+t*2,calculatedImageSettings:wT(e,o,t,a)}},[c,o,a,r,i]);return{qrcode:c,margin:u,cells:l,numCells:d,calculatedImageSettings:f}}var DT=function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0}(),OT=B.forwardRef(function(e,t){let n=e,{value:r,size:i=pT,level:a=mT,bgColor:o=hT,fgColor:s=gT,includeMargin:c=_T,minVersion:l=vT,boostLevel:u,marginSize:d,imageSettings:f}=n,p=lT(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`marginSize`,`imageSettings`]),{style:m}=p,h=lT(p,[`style`]),g=f?.src,_=B.useRef(null),v=B.useRef(null),y=B.useCallback(e=>{_.current=e,typeof t==`function`?t(e):t&&(t.current=e)},[t]),[b,x]=B.useState(!1),{margin:S,cells:C,numCells:w,calculatedImageSettings:T}=ET({value:r,level:a,minVersion:l,boostLevel:u,includeMargin:c,marginSize:d,imageSettings:f,size:i});B.useEffect(()=>{if(_.current!=null){let e=_.current,t=e.getContext(`2d`);if(!t)return;let n=C,r=v.current,a=T!=null&&r!==null&&r.complete&&r.naturalHeight!==0&&r.naturalWidth!==0;a&&T.excavation!=null&&(n=CT(C,T.excavation));let c=window.devicePixelRatio||1;e.height=e.width=i*c;let l=i/w*c;t.scale(l,l),t.fillStyle=o,t.fillRect(0,0,w,w),t.fillStyle=s,DT?t.fill(new Path2D(ST(n,S))):C.forEach(function(e,n){e.forEach(function(e,r){e&&t.fillRect(r+S,n+S,1,1)})}),T&&(t.globalAlpha=T.opacity),a&&t.drawImage(r,T.x+S,T.y+S,T.w,T.h)}}),B.useEffect(()=>{x(!1)},[g]);let E=cT({height:i,width:i},m),D=null;return g!=null&&(D=B.createElement(`img`,{src:g,key:g,style:{display:`none`},onLoad:()=>{x(!0)},ref:v,crossOrigin:T?.crossOrigin})),B.createElement(B.Fragment,null,B.createElement(`canvas`,cT({style:E,height:i,width:i,ref:y,role:`img`},h)),D)});OT.displayName=`QRCodeCanvas`;var kT=B.forwardRef(function(e,t){let n=e,{value:r,size:i=pT,level:a=mT,bgColor:o=hT,fgColor:s=gT,includeMargin:c=_T,minVersion:l=vT,boostLevel:u,title:d,marginSize:f,imageSettings:p}=n,m=lT(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`title`,`marginSize`,`imageSettings`]),{margin:h,cells:g,numCells:_,calculatedImageSettings:v}=ET({value:r,level:a,minVersion:l,boostLevel:u,includeMargin:c,marginSize:f,imageSettings:p,size:i}),y=g,b=null;p!=null&&v!=null&&(v.excavation!=null&&(y=CT(g,v.excavation)),b=B.createElement(`image`,{href:p.src,height:v.h,width:v.w,x:v.x+h,y:v.y+h,preserveAspectRatio:`none`,opacity:v.opacity,crossOrigin:v.crossOrigin}));let x=ST(y,h);return B.createElement(`svg`,cT({height:i,width:i,viewBox:`0 0 ${_} ${_}`,ref:t,role:`img`},m),!!d&&B.createElement(`title`,null,d),B.createElement(`path`,{fill:o,d:`M0,0 h${_}v${_}H0z`,shapeRendering:`crispEdges`}),B.createElement(`path`,{fill:s,d:x,shapeRendering:`crispEdges`}),b)});kT.displayName=`QRCodeSVG`;function AT({data:e,onSubmit:t,submitted:n}){let r=e,i=(0,B.useRef)(!1),a=r?.value?.trim()??``;return(0,B.useEffect)(()=>{a&&!n&&!i.current&&(i.current=!0,t(``))},[a,n,t]),a?(0,V.jsxs)(`div`,{className:`qr-code`,children:[(0,V.jsx)(`div`,{className:`qr-code__canvas`,children:(0,V.jsx)(kT,{value:a,size:240,level:`M`,bgColor:`#ffffff`,fgColor:`#000000`})}),r?.label&&(0,V.jsx)(`div`,{className:`qr-code__label`,children:r.label})]}):(0,V.jsx)(`div`,{className:`qr-code qr-code--error`,children:`No QR data provided. Try again or ask the agent to generate a new QR code.`})}function jT(e){return e===0?`0 B`:e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function MT(e){return e.startsWith(`image/`)?(0,V.jsx)(Oe,{size:18}):e===`application/pdf`?(0,V.jsx)(c,{size:18}):e===`text/calendar`?(0,V.jsx)(_e,{size:18}):e.startsWith(`text/`)?(0,V.jsx)(D,{size:18}):(0,V.jsx)(ue,{size:18})}function NT({data:e,onSubmit:t,submitted:n,sessionKey:r}){let i=e,a=(0,B.useRef)(!1),o=!!(i?.attachmentId&&i?.filename);(0,B.useEffect)(()=>{o&&!n&&!a.current&&(a.current=!0,t(JSON.stringify({_lifecycle:!0,component:`file-attachment`,event:`rendered`,attachmentId:i.attachmentId,filename:i.filename})))},[o,n,t,i]);let s=(0,B.useCallback)(()=>{if(!i?.attachmentId||!r)return;let e=`/api/admin/attachment/${i.attachmentId}?session_key=${encodeURIComponent(r)}`,t=document.createElement(`a`);t.href=e,t.download=i.filename,t.click()},[i,r]);return o?(0,V.jsx)(k,{submitted:!1,submittedLabel:`Downloaded`,actions:[{label:`Download`,variant:`primary`,onClick:s,disabled:!r}],children:(0,V.jsxs)(`div`,{className:`file-attachment`,children:[(0,V.jsx)(`div`,{className:`file-attachment__icon`,children:MT(i.mimeType)}),(0,V.jsxs)(`div`,{className:`file-attachment__info`,children:[(0,V.jsx)(`div`,{className:`file-attachment__name`,title:i.filename,children:i.filename}),(0,V.jsxs)(`div`,{className:`file-attachment__meta`,children:[jT(i.sizeBytes),` · `,i.mimeType]})]}),(0,V.jsx)(`button`,{className:`file-attachment__download`,onClick:s,disabled:!r,title:`Download file`,children:(0,V.jsx)(le,{size:16})})]})}):null}var PT=/^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/,FT=/^[a-z0-9-]$/;function IT(e){return e?PT.test(e):!1}function LT(e){let t=e.toLowerCase(),n=``;for(let e of t)FT.test(e)&&(n+=e);for(;n.startsWith(`-`);)n=n.slice(1);return n}function RT(e){return[{key:`length`,label:`At least 8 characters`,met:e.length>=8},{key:`number`,label:`Contains a number`,met:/\d/.test(e)},{key:`special`,label:`Contains a special character`,met:/[^A-Za-z0-9]/.test(e)},{key:`whitespace`,label:`No spaces`,met:e.length>0&&!/\s/.test(e)}]}var zT=18e4,BT=4096;function VT(e){let t=new TextEncoder().encode(e);return t.length<=BT?e:`${new TextDecoder(`utf-8`,{fatal:!1}).decode(t.slice(0,BT))}\n… ${t.length-BT} bytes truncated (total ${t.length} bytes)`}function HT({data:e,onSubmit:t,submitted:n,sessionKey:r}){let i=e,[a,o]=(0,B.useState)({status:`loading`}),[s,c]=(0,B.useState)(``),[l,u]=(0,B.useState)(``),[d,f]=(0,B.useState)(``),[p,m]=(0,B.useState)(``),[h,g]=(0,B.useState)(``),[_,v]=(0,B.useState)(``),[y,b]=(0,B.useState)(!1),[x,S]=(0,B.useState)(!1),[C,w]=(0,B.useState)(!1),[T,E]=(0,B.useState)(null),D=(0,B.useRef)(null),O=(0,B.useCallback)(async()=>{if(!r){o({status:`error`,field:`session`,message:`No session key available — refresh the page.`});return}o({status:`loading`});try{let e=await(await fetch(`/api/admin/cloudflare/domains?session_key=${encodeURIComponent(r)}`,{method:`GET`,headers:{Accept:`application/json`}})).json();if(!e.ok){o({status:`error`,field:e.field,message:e.message,output:e.output,correlationId:e.correlationId,streamLogPath:e.streamLogPath});return}if(e.domains.length===0){o({status:`empty`});return}o({status:`populated`,domains:e.domains}),u(t=>t||e.domains[0]),m(t=>t||e.domains[0])}catch(e){o({status:`error`,field:`script`,message:e instanceof Error?e.message:`Network error loading domains.`})}},[r]);(0,B.useEffect)(()=>{O()},[O]),(0,B.useEffect)(()=>()=>{D.current&&clearTimeout(D.current)},[]);let A=a.status===`populated`?a.domains:[],j=e=>{n||x||(c(LT(e)),E(null))},M=e=>{n||x||(f(LT(e)),E(null))},N=IT(s)&&l.length>0,P=d!==``,ee=!P||IT(d)&&p.length>0,F=N?`${s.replace(/-+$/,``)}.${l}`:``,te=P&&ee?`${d.replace(/-+$/,``)}.${p}`:``,I=!(te&&te===F),ne=RT(_),re=ne.every(e=>e.met),ie=a.status===`populated`&&N&&ee&&I&&re&&!x,L=s!==``&&!IT(s)?`Use lowercase letters, numbers, and hyphens. Start and end with a letter or number.`:null,ae=P&&!IT(d)?`Use lowercase letters, numbers, and hyphens. Start and end with a letter or number.`:I?null:`Public address must differ from the admin address.`,oe=T?.field===`admin`?T.message:null,se=T?.field===`public`?T.message:null,ce=T?.field===`password`?T.message:null,le=T?.field===`script`||T?.field===`request`?T.message:null,ue=()=>{w(!1),E(null),S(!1)},de=async()=>{if(!ie)return;if(!r){E({field:`request`,message:`No session key available — refresh the page.`});return}S(!0),E(null),w(!1);let e=new AbortController;D.current=setTimeout(()=>{e.abort(),w(!0)},zT);let n={session_key:r,adminLabel:s.replace(/-+$/,``),adminDomain:l,password:_};P&&(n.publicLabel=d.replace(/-+$/,``),n.publicDomain=p),h&&(n.apex=h);try{let r=await fetch(`/api/admin/cloudflare/setup`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n),signal:e.signal});D.current&&clearTimeout(D.current),D.current=null;let i=await r.json();if(!i.ok){E({field:i.field,message:i.message,output:i.output,correlationId:i.correlationId,streamLogPath:i.streamLogPath});let e=i.streamLogPath?`\n\nstream log: ${i.streamLogPath}`:``;t(i.output&&i.output.length>0?`Cloudflare setup failed: ${i.message}\n\n${i.output}${e}`:`Cloudflare setup failed: ${i.message}${e}`),S(!1);return}t(i.output)}catch(t){if(D.current&&clearTimeout(D.current),D.current=null,e.signal.aborted)return;E({field:`script`,message:t instanceof Error?t.message:`Network error — try again.`}),S(!1)}},fe=(0,B.useMemo)(()=>s?`${s}.${l||`your-domain`}`:`your-name.${l||`your-domain`}`,[s,l]);if(a.status===`loading`)return(0,V.jsx)(k,{submitted:!1,actions:[],children:(0,V.jsxs)(`div`,{className:`form-input`,children:[i?.title&&(0,V.jsx)(`div`,{className:`form-input__title`,children:i.title}),(0,V.jsx)(`div`,{className:`form-input__desc`,children:`Reading the domains on your Cloudflare account…`})]})});if(a.status===`empty`)return(0,V.jsx)(k,{submitted:!1,actions:[{label:`Retry`,variant:`primary`,onClick:O}],children:(0,V.jsxs)(`div`,{className:`form-input`,children:[(0,V.jsx)(`div`,{className:`form-input__title`,children:`No domains on this Cloudflare account`}),(0,V.jsx)(`div`,{className:`form-input__desc`,children:`Add a domain in the Cloudflare dashboard first, then click Retry.`}),(0,V.jsxs)(`ol`,{className:`form-input__field-desc`,style:{margin:0,paddingLeft:20},children:[(0,V.jsxs)(`li`,{children:[`With the correct account active (top-left), click `,(0,V.jsx)(`strong`,{children:`Websites`}),` in the left-hand sidebar.`]}),(0,V.jsxs)(`li`,{children:[`Click the `,(0,V.jsx)(`strong`,{children:`Add a site`}),` button.`]}),(0,V.jsxs)(`li`,{children:[`Enter the bare domain (e.g. `,(0,V.jsx)(`code`,{children:`example.com`}),`) and click `,(0,V.jsx)(`strong`,{children:`Continue`}),`.`]}),(0,V.jsxs)(`li`,{children:[`Review Cloudflare's imported DNS records — preserve website (`,(0,V.jsx)(`code`,{children:`A`}),`), email (`,(0,V.jsx)(`code`,{children:`MX`}),`), and verification (`,(0,V.jsx)(`code`,{children:`TXT`}),`) entries.`]}),(0,V.jsx)(`li`,{children:`Copy Cloudflare's two nameservers and set them on your domain registrar.`}),(0,V.jsxs)(`li`,{children:[`Return to Cloudflare and click `,(0,V.jsx)(`strong`,{children:`Check nameservers`}),`. Wait for the zone to show `,(0,V.jsx)(`strong`,{children:`Active`}),`.`]})]})]})});if(a.status===`error`){let e=a.field===`dashboard`,t=e?`Not signed into Cloudflare on this device`:`Could not read domains from Cloudflare`,n=e?`Sign in again at the Cloudflare dashboard in the VNC browser, then click Retry. If the VNC browser is not open, ask me to run vnc.sh restart.`:a.message;return(0,V.jsx)(k,{submitted:!1,actions:[{label:`Retry`,variant:`primary`,onClick:O}],children:(0,V.jsxs)(`div`,{className:`form-input`,children:[(0,V.jsx)(`div`,{className:`form-input__title`,children:t}),(0,V.jsx)(`div`,{className:`form-input__desc`,children:n}),a.output&&a.output.length>0&&(0,V.jsx)(`pre`,{style:{marginTop:8,padding:8,maxHeight:280,overflow:`auto`,fontFamily:`var(--font-mono, ui-monospace, monospace)`,fontSize:12,lineHeight:1.4,whiteSpace:`pre-wrap`,wordBreak:`break-word`,background:`var(--surface-2, rgba(0,0,0,0.04))`,borderRadius:4},children:VT(a.output)}),(a.correlationId||a.streamLogPath)&&(0,V.jsxs)(`div`,{style:{marginTop:8,fontFamily:`var(--font-mono, ui-monospace, monospace)`,fontSize:11,color:`var(--text-secondary)`,wordBreak:`break-all`},children:[a.correlationId&&(0,V.jsxs)(`div`,{children:[`conversationId: `,a.correlationId]}),a.streamLogPath&&(0,V.jsxs)(`div`,{children:[`stream log: `,a.streamLogPath]})]})]})})}return C?(0,V.jsx)(k,{submitted:!1,actions:[{label:`Reset form`,variant:`ghost`,onClick:ue}],children:(0,V.jsxs)(`div`,{className:`form-input`,children:[(0,V.jsx)(`div`,{className:`form-input__title`,children:`Setup is taking longer than expected`}),(0,V.jsx)(`div`,{className:`form-input__desc`,children:`The request is still running on the device — check the chat for live progress. Do not resubmit. If the script fails, the error will appear in chat and you can retry from there.`})]})}):(0,V.jsx)(k,{submitted:n,submittedLabel:`Submitting…`,actions:[{label:x?`Setting up…`:i?.submitLabel??`Set up Cloudflare`,variant:`primary`,disabled:!ie,onClick:de}],children:(0,V.jsxs)(`div`,{className:`form-input`,children:[i?.title&&(0,V.jsx)(`div`,{className:`form-input__title`,children:i.title}),i?.description&&(0,V.jsx)(`div`,{className:`form-input__desc`,children:i.description}),(0,V.jsxs)(`div`,{className:`form-input__fields`,children:[(0,V.jsxs)(`div`,{className:`form-input__field`,children:[(0,V.jsxs)(`label`,{className:`form-input__label`,htmlFor:`cf-admin-label`,children:[`Admin address`,(0,V.jsx)(`span`,{className:`form-input__required`,children:`*`})]}),(0,V.jsxs)(`div`,{className:`tunnel-route__row`,children:[(0,V.jsx)(`input`,{id:`cf-admin-label`,className:`form-input__input tunnel-route__input`,type:`text`,autoCapitalize:`none`,autoComplete:`off`,autoCorrect:`off`,spellCheck:!1,placeholder:`your-name`,value:s,onChange:e=>j(e.target.value),disabled:n||x}),(0,V.jsx)(UT,{id:`cf-admin-domain`,value:l,options:A,onChange:u,disabled:n||x})]}),(0,V.jsx)(`div`,{className:`form-input__field-desc`,children:`Where you access your platform remotely, via your main domain.`}),(0,V.jsxs)(`div`,{className:`form-input__field-desc`,children:[`Preview: `,(0,V.jsx)(`span`,{className:`tunnel-route__preview`,children:fe})]}),(oe||L)&&(0,V.jsx)(`div`,{className:`tunnel-route__error`,children:oe??L})]}),(0,V.jsxs)(`div`,{className:`form-input__field`,children:[(0,V.jsxs)(`label`,{className:`form-input__label`,htmlFor:`cf-public-label`,children:[`Public address`,(0,V.jsx)(`span`,{className:`tunnel-route__optional`,children:`Optional`})]}),(0,V.jsxs)(`div`,{className:`tunnel-route__row`,children:[(0,V.jsx)(`input`,{id:`cf-public-label`,className:`form-input__input tunnel-route__input`,type:`text`,autoCapitalize:`none`,autoComplete:`off`,autoCorrect:`off`,spellCheck:!1,placeholder:`leave empty to skip`,value:d,onChange:e=>M(e.target.value),disabled:n||x}),(0,V.jsx)(UT,{id:`cf-public-domain`,value:p,options:A,onChange:m,disabled:n||x||!P})]}),(0,V.jsx)(`div`,{className:`form-input__field-desc`,children:`Where visitors engage with your public agents, via your main domain. Leave empty for admin-only access.`}),(se||ae)&&(0,V.jsx)(`div`,{className:`tunnel-route__error`,children:se??ae})]}),(0,V.jsxs)(`div`,{className:`form-input__field`,children:[(0,V.jsxs)(`label`,{className:`form-input__label`,htmlFor:`cf-apex`,children:[`Proxy apex`,(0,V.jsx)(`span`,{className:`tunnel-route__optional`,children:`Optional`})]}),(0,V.jsxs)(`select`,{id:`cf-apex`,className:`form-input__input`,value:h,onChange:e=>g(e.target.value),disabled:n||x,children:[(0,V.jsx)(`option`,{value:``,children:`None`}),A.map(e=>(0,V.jsx)(`option`,{value:e,children:e},e))]}),(0,V.jsx)(`div`,{className:`form-input__field-desc`,children:`Alternative domain for public agent visitors.`})]}),(0,V.jsxs)(`div`,{className:`form-input__field`,children:[(0,V.jsxs)(`label`,{className:`form-input__label`,htmlFor:`cf-password`,children:[`Admin password`,(0,V.jsx)(`span`,{className:`form-input__required`,children:`*`})]}),(0,V.jsxs)(`div`,{className:`tunnel-route__row`,children:[(0,V.jsx)(`input`,{id:`cf-password`,className:`form-input__input tunnel-route__input`,type:y?`text`:`password`,autoCapitalize:`none`,autoComplete:`new-password`,autoCorrect:`off`,spellCheck:!1,value:_,onChange:e=>{v(e.target.value),E(null)},disabled:n||x}),(0,V.jsx)(`button`,{type:`button`,className:`tunnel-route__suffix`,onClick:()=>b(e=>!e),disabled:n||x,style:{cursor:`pointer`,border:`none`,background:`inherit`},"aria-label":y?`Hide password`:`Show password`,children:y?`Hide`:`Show`})]}),(0,V.jsx)(`ul`,{className:`form-input__field-desc`,style:{margin:0,paddingLeft:16},children:ne.map(e=>(0,V.jsxs)(`li`,{style:{color:e.met?`var(--text)`:`var(--text-secondary)`},children:[e.met?`✓`:`○`,` `,e.label]},e.key))}),ce&&(0,V.jsx)(`div`,{className:`tunnel-route__error`,children:ce})]}),le&&(0,V.jsxs)(`div`,{className:`tunnel-route__error`,role:`alert`,children:[(0,V.jsx)(`div`,{children:le}),T?.output&&T.output.length>0&&(0,V.jsx)(`pre`,{style:{marginTop:8,padding:8,maxHeight:280,overflow:`auto`,fontFamily:`var(--font-mono, ui-monospace, monospace)`,fontSize:12,lineHeight:1.4,whiteSpace:`pre-wrap`,wordBreak:`break-word`,background:`var(--surface-2, rgba(0,0,0,0.04))`,borderRadius:4},children:VT(T.output)}),(T?.correlationId||T?.streamLogPath)&&(0,V.jsxs)(`div`,{style:{marginTop:8,fontFamily:`var(--font-mono, ui-monospace, monospace)`,fontSize:11,color:`var(--text-secondary)`,wordBreak:`break-all`},children:[T.correlationId&&(0,V.jsxs)(`div`,{children:[`conversationId: `,T.correlationId]}),T.streamLogPath&&(0,V.jsxs)(`div`,{children:[`stream log: `,T.streamLogPath]})]})]})]})]})})}function UT({id:e,value:t,options:n,onChange:r,disabled:i}){return(0,V.jsx)(`select`,{id:e,className:`tunnel-route__suffix`,value:t,onChange:e=>r(e.target.value),disabled:i,style:{cursor:i?`default`:`pointer`,border:`none`},children:n.map(e=>(0,V.jsxs)(`option`,{value:e,children:[`.`,e]},e))})}var WT={"single-select":x,"multi-select":ee,confirm:At,"info-card":jt,"action-list":Mt,form:Nt,progress:Ft,"browser-viewer":Lt,"document-editor":Nw,"rich-content-editor":Yw,"grid-editor":nT,"qr-code":AT,"file-attachment":NT,"action-buttons":M,"cloudflare-setup-form":HT,"output-style":x,"thinking-view":x,"plugin-selector":ee};function GT({name:e,data:t,onSubmit:n,submitted:r,isStreaming:i,sessionKey:a}){let o=WT[e];return o?(0,V.jsx)(o,{data:t,onSubmit:n,submitted:r,isStreaming:i,sessionKey:a}):(console.warn(`[ComponentRenderer] Unknown component: "${e}". Registered: ${Object.keys(WT).join(`, `)}`),(0,V.jsx)(`div`,{className:`component-card component-card--error`,children:(0,V.jsxs)(`p`,{style:{fontFamily:`var(--font-body)`,fontSize:12,color:`var(--text-secondary)`},children:[`Component “`,e,`” is not available. This may require a platform update.`]})}))}var KT=/\b(?:fail|error|unable|could not|cannot|CAPTCHA|SIGN_IN_REQUIRED)\b/i;function qT(e){let t=new Date(e),n=new Date,r=String(t.getHours()).padStart(2,`0`),i=String(t.getMinutes()).padStart(2,`0`);return t.toDateString()===n.toDateString()?`${r}:${i}`:`${String(t.getDate()).padStart(2,`0`)}-${String(t.getMonth()+1).padStart(2,`0`)}-${t.getFullYear()} ${r}:${i}`}var JT=[$e,Xe,pe,qe,Te];function YT({size:e=13}){let[t,n]=(0,B.useState)(0);(0,B.useEffect)(()=>{let e=setInterval(()=>n(e=>(e+1)%8),300);return()=>clearInterval(e)},[]);let r=t<=4?t:8-t,i=JT[r];return(0,V.jsx)(i,{size:e,className:`star-loader star-frame-${r}`})}var XT=[`Thinking`,`Reasoning`,`Analyzing`,`Considering`,`Reflecting`,`Evaluating`,`Weighing`,`Synthesizing`,`Processing`,`Exploring`,`Examining`,`Assessing`,`Reviewing`,`Contemplating`,`Deliberating`],ZT=60,QT=1500;function $T(){let e=(0,B.useRef)(-1),t=(0,B.useRef)(void 0),[n,r]=(0,B.useState)(()=>{let t=Math.floor(Math.random()*XT.length);return e.current=t,XT[t]+`…`});return(0,B.useEffect)(()=>{let n=!1;function i(){let t;do t=Math.floor(Math.random()*XT.length);while(t===e.current&&XT.length>1);return e.current=t,t}function a(){if(n)return;let e=XT[i()]+`…`,o=0;function s(){n||(o++,r(e.slice(0,o)),o<e.length?t.current=setTimeout(s,ZT):t.current=setTimeout(a,QT))}t.current=setTimeout(s,ZT)}return t.current=setTimeout(a,QT),()=>{n=!0,clearTimeout(t.current)}},[]),(0,V.jsx)(`span`,{className:`tl-thinking-typewriter`,children:n})}function eE(e,t){let n=e=>String(e??``);switch(e){case`Read`:return`Read ${n(t.file_path??t.path)}`;case`Write`:return`Write ${n(t.file_path??t.path)}`;case`Edit`:return`Edit ${n(t.file_path??t.path)}`;case`Bash`:return n(t.description??String(t.command??``).slice(0,70));case`Glob`:return`Glob ${n(t.pattern)}`;case`Grep`:return`Grep "${n(t.pattern)}" in ${n(t.path??`.`)}`;case`WebFetch`:return`Fetch ${n(t.url)}`;case`Agent`:return n(t.description??t.task??`Subagent`);case`Skill`:return n(t.skill??`Skill`);default:{let r=e.match(/^mcp__[^_]+__(.+)$/),i=r?r[1]:e,a=Object.keys(t)[0];return a?`${i}: ${n(t[a]).slice(0,50)}`:i}}}function tE({name:e,size:t=12}){let n=e.match(/^mcp__[^_]+__(.+)$/);switch(n?n[1]:e){case`Read`:return(0,V.jsx)(c,{size:t});case`Write`:return(0,V.jsx)(Ae,{size:t});case`Edit`:return(0,V.jsx)(ke,{size:t});case`Bash`:return(0,V.jsx)(et,{size:t});case`Glob`:case`Grep`:return(0,V.jsx)(ae,{size:t});case`WebFetch`:return(0,V.jsx)(O,{size:t});case`Agent`:return(0,V.jsx)(ge,{size:t});case`Skill`:return(0,V.jsx)(Xe,{size:t});case`memory-search`:return(0,V.jsx)(we,{size:t});case`memory-write`:return(0,V.jsx)(Ce,{size:t});case`task-list`:return(0,V.jsx)(ye,{size:t});case`task-create`:return(0,V.jsx)(be,{size:t});case`contact-create`:return(0,V.jsx)(tt,{size:t});default:return(0,V.jsx)(nt,{size:t})}}function nE(e){let t=new Map,n=new Map;return e.forEach((e,r)=>{if(e.type===`tool_use`){let t=n.get(e.name)??[];t.push(r),n.set(e.name,t)}else if(e.type===`tool_result`){let i=n.get(e.name);i?.length&&t.set(i.shift(),r)}}),t}function rE(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function iE(e){let t=``;switch(e.type){case`text`:case`thinking`:t=e.content??``;break;case`tool_use`:t=JSON.stringify(e.input??{});break;case`tool_result`:t=e.output??``;break;case`subagent_start`:t=e.task??``;break;case`subagent_end`:t=e.result??``;break;case`component`:t=JSON.stringify(e.data??{});break;case`status`:t=e.message??``;break;default:return 0}return Math.ceil(t.length/4)}function aE(e){if(e<60)return`${e}s`;let t=Math.floor(e/60),n=e%60;return n>0?`${t}m ${n}s`:`${t}m`}function oE(e){if(e<60)return`${e.toFixed(1)}s`;let t=Math.floor(e/60),n=e%60;return n>=.1?`${t}m ${Math.floor(n)}s`:`${t}m`}function sE({icon:e,isPending:t,isError:n,doneClass:r=`tl-done`,summary:i,detail:a,tokens:o,elapsed:s,isLast:c,expanded:l,onToggle:u,selectCheck:d}){let f=!!a;return(0,V.jsxs)(`div`,{className:`tl-step`,children:[d,(0,V.jsxs)(`div`,{className:`tl-col`,children:[(0,V.jsx)(`div`,{className:`tl-icon${t?` tl-pending`:n?` tl-error`:` ${r}`}`,children:e}),!c&&(0,V.jsx)(`div`,{className:`tl-line tl-line-grow`})]}),(0,V.jsxs)(`div`,{className:`tl-body`,children:[(0,V.jsxs)(`div`,{className:`tl-row`,onClick:f?()=>{window.getSelection()?.toString()||u()}:void 0,style:{cursor:f?`pointer`:`default`},children:[(0,V.jsx)(`span`,{className:`tl-summary`,children:i}),o>0&&(0,V.jsxs)(`span`,{className:`tl-step-tokens`,children:[(0,V.jsx)(rt,{size:9}),rE(o)]}),(0,V.jsx)(`span`,{className:`tl-step-elapsed`,children:oE(s)}),f&&(0,V.jsx)(`span`,{className:`tl-chevron`,children:l?(0,V.jsx)(p,{size:10}):(0,V.jsx)(R,{size:10})})]}),f&&l&&(0,V.jsx)(`pre`,{className:`tl-detail`,children:a})]})]})}function cE({events:e,isStreaming:t,elapsedSeconds:n,streamStartMs:r,expandAll:i,onCompactNow:a,isCompacting:o,sessionCompacted:s,onComponentSubmit:c,submittedComponents:l,timestamp:u,selectionMode:d,selectedItems:f,onToggleItem:m,sessionKey:g}){let[_,v]=(0,B.useState)(new Set),[y,b]=(0,B.useState)(!t),x=(0,B.useRef)(t);(0,B.useEffect)(()=>{x.current&&!t&&b(!0),!x.current&&t&&b(!1),x.current=t},[t]);let C=(0,B.useRef)(new Map),E=(0,B.useRef)(0),[D,O]=(0,B.useState)(Date.now());(0,B.useEffect)(()=>{let t=Date.now();for(let n=E.current;n<e.length;n++)C.current.has(n)||C.current.set(n,t);E.current=e.length},[e]),(0,B.useEffect)(()=>{if(!t)return;let e=setInterval(()=>O(Date.now()),100);return()=>clearInterval(e)},[t]);let k=e=>{v(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},A=(e,t)=>{let n=e===L[0]?.i&&r?r:C.current.get(e)??D,i=t===void 0?D:C.current.get(t)??D;return Math.max(0,(i-n)/1e3)},j=nE(e),M=new Set(j.values()),N=e.map((e,t)=>({e,i:t})).filter(({e})=>e.type===`text`),P=new Set(t?[]:e.map((e,t)=>({e,i:t})).filter(({e})=>e.type===`component`).map(({i:e})=>e)),ee=e=>e.type===`component`&&[`browser-viewer`,`qr-code`].includes(e.name);function F(e){if(!d||t||!u)return null;let n=`${u}_${e}`;return(0,V.jsx)(`div`,{className:`tl-select-check`,onClick:e=>e.stopPropagation(),children:(0,V.jsx)(w,{checked:f?.has(n)??!1,onChange:()=>m?.(n)})})}let I=e.findLast(e=>e.type===`usage`),ne=e.findLast(e=>e.type===`history_usage`),re=e.findLast(e=>e.type===`status`),ie=e.some(e=>e.type===`subagent_start`),L=e.map((e,t)=>({e,i:t})).filter(({e,i:n})=>e.type!==`text`&&e.type!==`usage`&&e.type!==`rate_limit`&&e.type!==`history_usage`&&e.type!==`status`&&e.type!==`done`&&e.type!==`subagent_progress`&&!M.has(n)&&!P.has(n)&&!(t&&e.type===`component`&&!ee(e))&&!(e.type===`tool_use`&&e.name===`Agent`&&ie)),ae=new Map;for(let e=0;e<L.length-1;e++)ae.set(L[e].i,L[e+1].i);let oe=(()=>{let e=[],t=!1,n=0;for(let{e:r}of L)if(n+=iE(r),r.type===`thinking`)t=!0;else if(r.type===`tool_use`){let t=r.name;e.includes(t)||e.push(t)}let r=[`${L.length} step${L.length===1?``:`s`}`];if(e.length>0){let t=e.slice(0,3),n=e.length-t.length;r.push(t.join(`, `)+(n>0?` +${n}`:``))}return{text:r.join(` · `),hasThinking:t,tokenSum:n}})(),se=I?.peak_request_pct==null?I?.context_window?Math.round((I.input_tokens+I.cache_creation_tokens+I.cache_read_tokens)/I.context_window*100):null:Math.round(I.peak_request_pct*100),ce=L.length>0,le=N.length>0,ue=new Set(L.map(e=>e.i)),pe=new Set(N.map(e=>e.i)),me=[];for(let t=0;t<e.length;t++){let n=e[t],r=null;if(ue.has(t)?r=`steps`:pe.has(t)&&(r=`text`),!r)continue;let i=me[me.length-1];i&&i.role===r?i.items.push({e:n,i:t}):me.push({role:r,items:[{e:n,i:t}]})}let he=N.length>0?N[N.length-1].i:-1;function _e(n,r,a,o){let s=o===a.length-1;if(n.type===`thinking`){let e=i===void 0?!_.has(r):i,t=ae.get(r);return(0,V.jsxs)(`div`,{className:`tl-step`,children:[F(r),(0,V.jsxs)(`div`,{className:`tl-col`,children:[(0,V.jsx)(`div`,{className:`tl-icon tl-dim`,children:(0,V.jsx)(Ie,{size:11})}),!s&&(0,V.jsx)(`div`,{className:`tl-line tl-line-grow`})]}),(0,V.jsx)(`div`,{className:`tl-body`,children:(0,V.jsxs)(`div`,{className:`tl-row tl-row-top`,onClick:()=>{window.getSelection()?.toString()||k(r)},style:{cursor:`pointer`},children:[(0,V.jsx)(`div`,{className:`tl-thinking-col`,children:e?(0,V.jsx)(`div`,{className:`tl-thinking-body`,children:n.content}):(0,V.jsxs)(`span`,{className:`tl-summary tl-thinking-label`,children:[n.content.slice(0,80),n.content.length>80?`…`:``]})}),iE(n)>0&&(0,V.jsxs)(`span`,{className:`tl-step-tokens`,children:[(0,V.jsx)(rt,{size:9}),rE(iE(n))]}),(0,V.jsx)(`span`,{className:`tl-step-elapsed`,children:oE(A(r,t))}),(0,V.jsx)(`span`,{className:`tl-chevron`,children:e?(0,V.jsx)(p,{size:10}):(0,V.jsx)(R,{size:10})})]})})]},r)}if(n.type===`status`)return(0,V.jsx)(`div`,{className:`tl-status`,children:n.message},r);if(n.type===`tool_use`){let t=j.get(r),a=t===void 0?void 0:e[t],o=a===void 0,c=a?.type===`tool_result`&&!!a.error,l=o?(0,V.jsx)(ze,{size:11,className:`tl-spinner`}):c?(0,V.jsx)(de,{size:11}):(0,V.jsx)(tE,{name:n.name,size:11}),u=n,d=a?.type===`tool_result`?`Input:
|
|
344
344
|
${JSON.stringify(u.input,null,2)}
|
|
345
345
|
|
|
346
346
|
Result:
|
|
347
347
|
${a.output}`:`Input:
|
|
348
|
-
${JSON.stringify(u.input,null,2)}`,f=ae.get(r),p=o?void 0:f??t;return(0,V.jsx)(sE,{icon:l,isPending:o,isError:c,doneClass:u.name===`Read`?`tl-done`:`tl-success`,summary:eE(u.name,u.input),detail:d,tokens:iE(n),elapsed:A(r,p),isLast:s,expanded:i===void 0?_.has(r):i,onToggle:()=>k(r),selectCheck:te(r)},r)}if(n.type===`subagent_start`){let t=n,a=e.some(e=>e.type===`subagent_end`&&e.name===t.name),o=a?e.findIndex(e=>e.type===`subagent_end`&&e.name===t.name):void 0,c=t.background===!0,l=t.task.slice(0,60)+(t.task.length>60?`…`:``),u=t.task;if(c&&!a){let n=[...e].reverse().find(e=>e.type===`subagent_progress`&&e.name===t.name);n?.last_tool_name&&(u=`${t.task}\nLast tool: ${n.last_tool_name} (${n.tool_uses??0} calls)`)}let d=a?e.find(e=>e.type===`subagent_end`&&e.name===t.name):void 0,f=a&&d?KT.test(d.result):!1;return(0,V.jsx)(sE,{icon:a?f?(0,V.jsx)(de,{size:11}):(0,V.jsx)(ge,{size:11}):(0,V.jsx)(ze,{size:11,className:`tl-spinner`}),isPending:!a,isError:f,summary:c?`${t.name} (background) — ${l}`:`${t.name} — ${l}`,detail:c?u:t.task,tokens:iE(n),elapsed:A(r,o),isLast:s,expanded:i===void 0?_.has(r):i,onToggle:()=>k(r),selectCheck:te(r)},r)}if(n.type===`component`){let e=l?.has(`${u}_${r}`)??!1,i=n;return(0,V.jsxs)(`div`,{className:`tl-step`,children:[te(r),(0,V.jsxs)(`div`,{className:`tl-col`,children:[(0,V.jsx)(`div`,{className:`tl-icon ${e?`tl-done`:`tl-pending`}`,children:(0,V.jsx)(Ge,{size:11})}),!s&&(0,V.jsx)(`div`,{className:`tl-line tl-line-grow`})]}),(0,V.jsx)(`div`,{className:`tl-body`,children:(0,V.jsx)(GT,{name:i.name,data:i.data,submitted:e,onSubmit:e=>c?.(r,e,i.name),isStreaming:t,sessionKey:g})})]},r)}if(n.type===`subagent_end`){let e=n,t=KT.test(e.result);return(0,V.jsx)(sE,{icon:t?(0,V.jsx)(de,{size:11}):(0,V.jsx)(m,{size:11}),isPending:!1,isError:t,summary:`${e.name} ${t?`failed`:`complete`}`,detail:e.result,tokens:iE(n),elapsed:A(r,ae.get(r)),isLast:s,expanded:i===void 0?_.has(r):i,onToggle:()=>k(r),selectCheck:te(r)},r)}if(n.type===`script_stream`){let e=n,t=e.line.match(/https:\/\/dash\.cloudflare\.com\/argotunnel\?[^\s]+/)?.[0],i=t?JSON.stringify({url:t,intent:`Cloudflare tunnel authorization`}):void 0;return(0,V.jsxs)(`div`,{className:`tl-script-stream`,children:[(0,V.jsxs)(`div`,{className:`tl-script-stream-line`,children:[(0,V.jsxs)(`span`,{className:`tl-script-stream-source`,children:[`[`,e.source,`]`]}),(0,V.jsx)(`span`,{className:`tl-script-stream-content`,children:e.line})]}),i&&(0,V.jsx)(x,{source:i})]},r)}return null}return(0,V.jsxs)(`div`,{className:`admin-activity`,children:[ce&&!t&&i===void 0&&(0,V.jsx)(`div`,{className:`tl-steps`,children:(0,V.jsxs)(`div`,{className:`tl-step tl-summary-row`,onClick:()=>{window.getSelection()?.toString()||b(e=>!e)},children:[(0,V.jsx)(`div`,{className:`tl-col`,children:(0,V.jsx)(`div`,{className:`tl-icon tl-done`,children:oe.hasThinking?(0,V.jsx)(Ie,{size:11}):(0,V.jsx)(m,{size:11})})}),(0,V.jsx)(`div`,{className:`tl-body`,children:(0,V.jsxs)(`div`,{className:`tl-row`,style:{cursor:`pointer`},children:[(0,V.jsx)(`span`,{className:`tl-summary`,children:oe.text}),oe.tokenSum>0&&(0,V.jsxs)(`span`,{className:`tl-step-tokens`,children:[(0,V.jsx)(rt,{size:9}),rE(oe.tokenSum)]}),(0,V.jsx)(`span`,{className:`tl-step-elapsed`,children:aE(n)}),(0,V.jsx)(`span`,{className:`tl-chevron`,children:y?(0,V.jsx)(R,{size:10}):(0,V.jsx)(f,{size:10})})]})})]})}),me.map((e,n)=>e.role===`steps`?!t&&i===void 0&&y?null:(0,V.jsx)(`div`,{className:`tl-steps`,children:e.items.map(({e:t,i:n},r)=>_e(t,n,e.items,r))},`seg-${n}`):e.items.map(({e,i:n})=>{let r=e,i=n===he;return(0,V.jsxs)(`div`,{className:`tl-text-block`,onClick:d&&!t&&u?()=>h?.(`${u}_${n}`):void 0,style:d&&!t?{cursor:`pointer`}:void 0,children:[te(n),(0,V.jsx)(F,{content:r.content,timestamp:!t&&i&&u?qT(u):void 0})]},n)})),t&&!le&&(0,V.jsxs)(`div`,{className:`tl-loading`,children:[(0,V.jsx)(YT,{size:13}),(0,V.jsx)($T,{}),(0,V.jsx)(`span`,{className:`tl-elapsed`,children:aE(n)})]}),!t&&P.size>0&&(0,V.jsx)(`div`,{className:`tl-post-components`,children:e.map((e,t)=>({e,i:t})).filter(({i:e})=>P.has(e)).map(({e,i:n})=>{if(e.type!==`component`)return null;let r=l?.has(`${u}_${n}`)??!1;return(0,V.jsx)(GT,{name:e.name,data:e.data,submitted:r,onSubmit:t=>c?.(n,t,e.name),isStreaming:t,sessionKey:g},n)})}),(le||!t&&ce)&&(0,V.jsxs)(`div`,{className:`tl-footer`,children:[t&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(YT,{size:10}),(0,V.jsx)($T,{})]}),(0,V.jsxs)(`span`,{className:`tl-footer-icon-stat`,children:[(0,V.jsx)(xe,{size:10}),aE(n)]}),I?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:`tl-footer-sep`,children:`·`}),(0,V.jsxs)(`span`,{className:`tl-footer-icon-stat`,children:[(0,V.jsx)(rt,{size:10}),rE(I.input_tokens+I.cache_creation_tokens+I.cache_read_tokens+I.output_tokens)]})]}):t&&oe.tokenSum>0?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:`tl-footer-sep`,children:`·`}),(0,V.jsxs)(`span`,{className:`tl-footer-icon-stat tl-footer-est`,children:[(0,V.jsx)(rt,{size:10}),`~`,rE(oe.tokenSum)]})]}):null,ne&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:`tl-footer-sep`,children:`·`}),(0,V.jsxs)(`span`,{className:`tl-footer-icon-stat tl-ctx-pct${ne.budget>0&&ne.tokens/ne.budget>=.7?` tl-ctx-high`:ne.budget>0&&ne.tokens/ne.budget>=.5?` tl-ctx-mid`:``}`,children:[(0,V.jsx)(He,{size:10}),ne.messages]})]}),s?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:`tl-footer-sep`,children:`·`}),(0,V.jsxs)(`span`,{className:`tl-footer-icon-stat tl-ctx-compacted`,children:[(0,V.jsx)(fe,{size:10}),`compacted`]})]}):se===null?null:(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:`tl-footer-sep`,children:`·`}),!s&&a&&!t?(0,V.jsxs)(w,{variant:`ghost`,size:`sm`,className:`tl-footer-icon-stat tl-ctx-pct${se>=70?` tl-ctx-high`:se>=50?` tl-ctx-mid`:``}`,style:{padding:0,fontSize:`11px`},onClick:a,children:[(0,V.jsx)(fe,{size:10}),se,`%`]}):(0,V.jsxs)(`span`,{className:`tl-footer-icon-stat tl-ctx-pct${se>=70?` tl-ctx-high`:se>=50?` tl-ctx-mid`:``}`,children:[(0,V.jsx)(fe,{size:10}),se,`%`]})]}),o||t&&re?(0,V.jsxs)(`span`,{className:`tl-footer-status`,children:[(0,V.jsx)(ze,{size:10,className:`tl-spinner`}),re?.message??`Compacting session...`]}):null]})]})}function lE(e){let{messages:t,isStreaming:n,elapsedSeconds:r,sessionTurnStart:i,expandAll:a,setExpandAll:o,conversationCompacted:c,isCompacting:l,setShowCompactConfirm:u,handleComponentSubmit:d,effectiveSubmitted:p,selectionMode:m,selectedItems:h,toggleSelectItem:g,sessionKey:_,setLightboxSrc:y,messageQueue:b,messageQueueRef:x,setQueue:S,sendMessage:w,appState:T,onboardingComplete:D}=e,O=(0,B.useRef)(null),k=(0,B.useRef)(null),A=(0,B.useRef)(null),j=(0,B.useRef)(!1),[M,N]=B.useState(!0);(0,B.useEffect)(()=>{if(!M){j.current=n;return}if(j.current&&!n&&A.current&&k.current){let e=A.current;if(e.offsetHeight>k.current.clientHeight){e.scrollIntoView({behavior:`smooth`,block:`start`}),j.current=n;return}}O.current?.scrollIntoView({behavior:`smooth`}),j.current=n},[t,b,M,n]),(0,B.useEffect)(()=>{if(T!==`chat`)return;let e=k.current;if(!e)return;let t=()=>{N(e.scrollHeight-e.scrollTop-e.clientHeight<80)};return e.addEventListener(`scroll`,t,{passive:!0}),t(),()=>e.removeEventListener(`scroll`,t)},[T]);let P=[...t].sort((e,t)=>(e.timestamp??0)-(t.timestamp??0)),ee=P.reduce((e,t,n)=>t.role===`maxy`&&!t.hidden?n:e,-1);return(0,V.jsxs)(`div`,{className:`chat-messages-wrap`,children:[m&&(0,V.jsx)(`div`,{className:`selection-overlay-band`}),(0,V.jsxs)(`div`,{className:`chat-messages`,ref:k,children:[t.length===0&&T===`chat`&&D!==!1&&(0,V.jsxs)(`div`,{className:`idle-tips`,children:[(0,V.jsx)(`p`,{className:`idle-tips-hint`,children:`What would you like to do?`}),(0,V.jsx)(`div`,{className:`idle-tips-chips`,children:[`What needs doing?`,`Start a new task`].map(e=>(0,V.jsx)(`button`,{type:`button`,className:`idle-tip-chip`,onClick:()=>w(e),children:e},e))})]}),P.map((e,t,o)=>{if(e.hidden)return null;let f=n&&t===o.length-1,b=e.role,x=`${e.timestamp??0}_admin`,S=b===`admin`&&h.has(x),w=(t>0?o[t-1]:null)?.historical&&!e.historical;return(0,V.jsxs)(B.Fragment,{children:[w&&(0,V.jsx)(`div`,{className:`resume-divider`,children:(0,V.jsx)(`span`,{children:`Resumed conversation`})}),(0,V.jsxs)(`div`,{ref:t===ee?A:void 0,className:`message ${b===`admin`?`visitor`:`maxy`}${S?` selected`:``}${e.historical?` message-historical`:``}`,children:[m&&!f&&b===`admin`&&(0,V.jsx)(`div`,{className:`message-select-check`,children:(0,V.jsx)(C,{checked:S,onChange:()=>g(x)})}),e.role===`admin`?(0,V.jsxs)(`div`,{className:`bubble`,children:[e.content,e.attachments&&e.attachments.length>0&&(0,V.jsx)(`div`,{className:`message-attachments`,children:e.attachments.map((e,t)=>(0,V.jsxs)(`button`,{type:`button`,className:`message-attachment-chip${e.attachmentId&&_?``:` no-action`}`,onClick:()=>{if(!e.attachmentId||!_)return;let t=`/api/admin/attachment/${e.attachmentId}?session_key=${encodeURIComponent(_)}`;e.mimeType.startsWith(`image/`)?y(t):window.open(t,`_blank`)},children:[e.mimeType===`application/pdf`?(0,V.jsx)(s,{size:12}):e.mimeType.startsWith(`text/`)?(0,V.jsx)(E,{size:12}):null,(0,V.jsx)(`span`,{children:e.filename})]},t))}),(0,V.jsx)(`span`,{className:`message-timestamp`,children:v(e.timestamp)})]}):(0,V.jsx)(`div`,{className:`maxy-content-wrap`,children:(0,V.jsx)(cE,{events:e.events??[],isStreaming:f,elapsedSeconds:t===o.length-1?r:e.elapsedSeconds??0,streamStartMs:t===o.length-1?i.current??void 0:void 0,expandAll:a,onCompactNow:t===o.length-1&&!c?()=>u(!0):void 0,isCompacting:t===o.length-1?l:void 0,sessionCompacted:t===o.length-1?c:void 0,onComponentSubmit:(t,n,r)=>d(e.timestamp,t,n,r),submittedComponents:p,timestamp:e.timestamp,selectionMode:m,selectedItems:h,onToggleItem:g,sessionKey:_})})]})]},t)}),b.map((e,t)=>(0,V.jsx)(`div`,{className:`message visitor`,children:(0,V.jsxs)(`div`,{className:`bubble bubble-queued`,children:[e.text||null,e.files.length>0&&(0,V.jsx)(`div`,{className:`message-attachments`,children:e.files.map((e,t)=>(0,V.jsxs)(`span`,{className:`message-attachment-chip no-action`,children:[e.type===`application/pdf`?(0,V.jsx)(s,{size:12}):e.type.startsWith(`text/`)?(0,V.jsx)(E,{size:12}):null,(0,V.jsx)(`span`,{children:e.name})]},t))}),(0,V.jsx)(`span`,{className:`message-timestamp`,children:v(e.timestamp)}),(0,V.jsx)(`button`,{type:`button`,className:`queued-bubble-delete`,onClick:()=>S(x.current.filter((e,n)=>n!==t)),"aria-label":`Remove queued message`,children:`×`})]})},e.timestamp)),(0,V.jsx)(`div`,{ref:O})]}),!M&&(0,V.jsx)(`button`,{className:`scroll-to-bottom`,onClick:()=>O.current?.scrollIntoView({behavior:`smooth`}),"aria-label":`Scroll to bottom`,children:(0,V.jsx)(f,{size:18})}),t.some(e=>e.role===`maxy`)&&(0,V.jsx)(`button`,{className:`expand-toggle expand-toggle-${a===void 0?`default`:a?`all`:`off`}`,onClick:()=>o(e=>e===void 0?!0:e===!0?!1:void 0),"aria-label":a===void 0?`Expand all`:a?`Collapse all`:`Reset to default`,children:a===!1?(0,V.jsx)(Fe,{size:14}):(0,V.jsx)(Ie,{size:14})})]})}function uE({offer:e,onFreshStart:t,onContinue:n,disabled:r}){return e.active?(0,V.jsxs)(`div`,{className:`topic-change-bar`,children:[(0,V.jsx)(`div`,{className:`topic-change-bar__icon`,children:(0,V.jsx)(je,{size:16})}),(0,V.jsxs)(`div`,{className:`topic-change-bar__actions`,children:[(0,V.jsx)(w,{variant:`primary`,size:`sm`,onClick:t,disabled:r,children:`Start fresh`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,onClick:n,disabled:r,children:`Continue here`})]})]}):null}function dE(e,t){let n=t.lastIndexOf(`_`),r=t.slice(0,n),i=t.slice(n+1),a=parseInt(r,10),o=i===`admin`?`admin`:`maxy`,s=e.find(e=>e.timestamp===a&&e.role===o);if(!s)return``;if(i===`admin`)return s.content??``;let c=parseInt(i,10),l=s.events?.[c];if(!l)return``;if(l.type===`text`||l.type===`thinking`)return l.content;if(l.type===`tool_use`){let e=l,t=`[Tool: ${e.name}]`,n=`Input:\n${JSON.stringify(e.input,null,2)}`,r=s.events??[],i=``;for(let t=c+1;t<r.length;t++){let n=r[t];if(n.type===`tool_result`&&n.name===e.name){i=`\n\nResult:\n${n.output}`;break}}return`${t}\n${n}${i}`}if(l.type===`subagent_start`){let e=l,t=s.events??[],n=``;for(let r=c+1;r<t.length;r++){let i=t[r];if(i.type===`subagent_end`&&i.name===e.name){n=`\n\nResult:\n${i.result}`;break}}return`[${e.name}: ${e.task}]${n}`}return``}function fE(e,t){let n=[...e].sort((e,t)=>(e.timestamp??0)-(t.timestamp??0)),r=[];for(let e of n)if(!e.hidden)if(e.role===`admin`)(t===`all`||t===`text`)&&r.push(`User:\n${e.content}`);else{let n=e.events??[];for(let e=0;e<n.length;e++){let i=n[e];if(i.type===`text`&&(t===`all`||t===`text`))r.push(`Maxy:\n${i.content}`);else if(i.type===`thinking`&&(t===`all`||t===`non-text`))r.push(`Maxy [thinking]:\n${i.content}`);else if(i.type===`tool_use`&&(t===`all`||t===`non-text`)){let t=i,a=``;for(let r=e+1;r<n.length;r++)if(n[r].type===`tool_result`&&n[r].name===t.name){a=`\n\nResult:\n${n[r].output}`;break}r.push(`Maxy [tool: ${t.name}]:\nInput:\n${JSON.stringify(t.input,null,2)}${a}`)}else if(i.type===`subagent_start`&&(t===`all`||t===`non-text`)){let t=i,a=``;for(let r=e+1;r<n.length;r++)if(n[r].type===`subagent_end`&&n[r].name===t.name){a=`\n\nResult:\n${n[r].result}`;break}r.push(`Maxy [agent: ${t.name}]\nTask: ${t.task}${a}`)}}}return r.join(`
|
|
348
|
+
${JSON.stringify(u.input,null,2)}`,f=ae.get(r),p=o?void 0:f??t;return(0,V.jsx)(sE,{icon:l,isPending:o,isError:c,doneClass:u.name===`Read`?`tl-done`:`tl-success`,summary:eE(u.name,u.input),detail:d,tokens:iE(n),elapsed:A(r,p),isLast:s,expanded:i===void 0?_.has(r):i,onToggle:()=>k(r),selectCheck:F(r)},r)}if(n.type===`subagent_start`){let t=n,a=e.some(e=>e.type===`subagent_end`&&e.name===t.name),o=a?e.findIndex(e=>e.type===`subagent_end`&&e.name===t.name):void 0,c=t.background===!0,l=t.task.slice(0,60)+(t.task.length>60?`…`:``),u=t.task;if(c&&!a){let n=[...e].reverse().find(e=>e.type===`subagent_progress`&&e.name===t.name);n?.last_tool_name&&(u=`${t.task}\nLast tool: ${n.last_tool_name} (${n.tool_uses??0} calls)`)}let d=a?e.find(e=>e.type===`subagent_end`&&e.name===t.name):void 0,f=a&&d?KT.test(d.result):!1;return(0,V.jsx)(sE,{icon:a?f?(0,V.jsx)(de,{size:11}):(0,V.jsx)(ge,{size:11}):(0,V.jsx)(ze,{size:11,className:`tl-spinner`}),isPending:!a,isError:f,summary:c?`${t.name} (background) — ${l}`:`${t.name} — ${l}`,detail:c?u:t.task,tokens:iE(n),elapsed:A(r,o),isLast:s,expanded:i===void 0?_.has(r):i,onToggle:()=>k(r),selectCheck:F(r)},r)}if(n.type===`component`){let e=l?.has(`${u}_${r}`)??!1,i=n;return(0,V.jsxs)(`div`,{className:`tl-step`,children:[F(r),(0,V.jsxs)(`div`,{className:`tl-col`,children:[(0,V.jsx)(`div`,{className:`tl-icon ${e?`tl-done`:`tl-pending`}`,children:(0,V.jsx)(Ge,{size:11})}),!s&&(0,V.jsx)(`div`,{className:`tl-line tl-line-grow`})]}),(0,V.jsx)(`div`,{className:`tl-body`,children:(0,V.jsx)(GT,{name:i.name,data:i.data,submitted:e,onSubmit:e=>c?.(r,e,i.name),isStreaming:t,sessionKey:g})})]},r)}if(n.type===`subagent_end`){let e=n,t=KT.test(e.result);return(0,V.jsx)(sE,{icon:t?(0,V.jsx)(de,{size:11}):(0,V.jsx)(h,{size:11}),isPending:!1,isError:t,summary:`${e.name} ${t?`failed`:`complete`}`,detail:e.result,tokens:iE(n),elapsed:A(r,ae.get(r)),isLast:s,expanded:i===void 0?_.has(r):i,onToggle:()=>k(r),selectCheck:F(r)},r)}if(n.type===`script_stream`){let e=n,t=e.line.match(/https:\/\/dash\.cloudflare\.com\/argotunnel\?[^\s]+/)?.[0],i=t?JSON.stringify({url:t,intent:`Cloudflare tunnel authorization`}):void 0;return(0,V.jsxs)(`div`,{className:`tl-script-stream`,children:[(0,V.jsxs)(`div`,{className:`tl-script-stream-line`,children:[(0,V.jsxs)(`span`,{className:`tl-script-stream-source`,children:[`[`,e.source,`]`]}),(0,V.jsx)(`span`,{className:`tl-script-stream-content`,children:e.line})]}),i&&(0,V.jsx)(S,{source:i})]},r)}return null}return(0,V.jsxs)(`div`,{className:`admin-activity`,children:[ce&&!t&&i===void 0&&(0,V.jsx)(`div`,{className:`tl-steps`,children:(0,V.jsxs)(`div`,{className:`tl-step tl-summary-row`,onClick:()=>{window.getSelection()?.toString()||b(e=>!e)},children:[(0,V.jsx)(`div`,{className:`tl-col`,children:(0,V.jsx)(`div`,{className:`tl-icon tl-done`,children:oe.hasThinking?(0,V.jsx)(Ie,{size:11}):(0,V.jsx)(h,{size:11})})}),(0,V.jsx)(`div`,{className:`tl-body`,children:(0,V.jsxs)(`div`,{className:`tl-row`,style:{cursor:`pointer`},children:[(0,V.jsx)(`span`,{className:`tl-summary`,children:oe.text}),oe.tokenSum>0&&(0,V.jsxs)(`span`,{className:`tl-step-tokens`,children:[(0,V.jsx)(rt,{size:9}),rE(oe.tokenSum)]}),(0,V.jsx)(`span`,{className:`tl-step-elapsed`,children:aE(n)}),(0,V.jsx)(`span`,{className:`tl-chevron`,children:y?(0,V.jsx)(R,{size:10}):(0,V.jsx)(p,{size:10})})]})})]})}),me.map((e,n)=>e.role===`steps`?!t&&i===void 0&&y?null:(0,V.jsx)(`div`,{className:`tl-steps`,children:e.items.map(({e:t,i:n},r)=>_e(t,n,e.items,r))},`seg-${n}`):e.items.map(({e,i:n})=>{let r=e,i=n===he;return(0,V.jsxs)(`div`,{className:`tl-text-block`,onClick:d&&!t&&u?()=>m?.(`${u}_${n}`):void 0,style:d&&!t?{cursor:`pointer`}:void 0,children:[F(n),(0,V.jsx)(te,{content:r.content,timestamp:!t&&i&&u?qT(u):void 0})]},n)})),t&&!le&&(0,V.jsxs)(`div`,{className:`tl-loading`,children:[(0,V.jsx)(YT,{size:13}),(0,V.jsx)($T,{}),(0,V.jsx)(`span`,{className:`tl-elapsed`,children:aE(n)})]}),!t&&P.size>0&&(0,V.jsx)(`div`,{className:`tl-post-components`,children:e.map((e,t)=>({e,i:t})).filter(({i:e})=>P.has(e)).map(({e,i:n})=>{if(e.type!==`component`)return null;let r=l?.has(`${u}_${n}`)??!1;return(0,V.jsx)(GT,{name:e.name,data:e.data,submitted:r,onSubmit:t=>c?.(n,t,e.name),isStreaming:t,sessionKey:g},n)})}),(le||!t&&ce)&&(0,V.jsxs)(`div`,{className:`tl-footer`,children:[t&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(YT,{size:10}),(0,V.jsx)($T,{})]}),(0,V.jsxs)(`span`,{className:`tl-footer-icon-stat`,children:[(0,V.jsx)(xe,{size:10}),aE(n)]}),I?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:`tl-footer-sep`,children:`·`}),(0,V.jsxs)(`span`,{className:`tl-footer-icon-stat`,children:[(0,V.jsx)(rt,{size:10}),rE(I.input_tokens+I.cache_creation_tokens+I.cache_read_tokens+I.output_tokens)]})]}):t&&oe.tokenSum>0?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:`tl-footer-sep`,children:`·`}),(0,V.jsxs)(`span`,{className:`tl-footer-icon-stat tl-footer-est`,children:[(0,V.jsx)(rt,{size:10}),`~`,rE(oe.tokenSum)]})]}):null,ne&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:`tl-footer-sep`,children:`·`}),(0,V.jsxs)(`span`,{className:`tl-footer-icon-stat tl-ctx-pct${ne.budget>0&&ne.tokens/ne.budget>=.7?` tl-ctx-high`:ne.budget>0&&ne.tokens/ne.budget>=.5?` tl-ctx-mid`:``}`,children:[(0,V.jsx)(He,{size:10}),ne.messages]})]}),s?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:`tl-footer-sep`,children:`·`}),(0,V.jsxs)(`span`,{className:`tl-footer-icon-stat tl-ctx-compacted`,children:[(0,V.jsx)(fe,{size:10}),`compacted`]})]}):se===null?null:(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:`tl-footer-sep`,children:`·`}),!s&&a&&!t?(0,V.jsxs)(T,{variant:`ghost`,size:`sm`,className:`tl-footer-icon-stat tl-ctx-pct${se>=70?` tl-ctx-high`:se>=50?` tl-ctx-mid`:``}`,style:{padding:0,fontSize:`11px`},onClick:a,children:[(0,V.jsx)(fe,{size:10}),se,`%`]}):(0,V.jsxs)(`span`,{className:`tl-footer-icon-stat tl-ctx-pct${se>=70?` tl-ctx-high`:se>=50?` tl-ctx-mid`:``}`,children:[(0,V.jsx)(fe,{size:10}),se,`%`]})]}),o||t&&re?(0,V.jsxs)(`span`,{className:`tl-footer-status`,children:[(0,V.jsx)(ze,{size:10,className:`tl-spinner`}),re?.message??`Compacting session...`]}):null]})]})}function lE(e){let{messages:t,isStreaming:n,elapsedSeconds:r,sessionTurnStart:i,expandAll:a,setExpandAll:o,conversationCompacted:s,isCompacting:l,setShowCompactConfirm:u,handleComponentSubmit:d,effectiveSubmitted:f,selectionMode:m,selectedItems:h,toggleSelectItem:g,sessionKey:_,setLightboxSrc:v,messageQueue:b,messageQueueRef:x,setQueue:S,sendMessage:C,appState:T,onboardingComplete:E}=e,O=(0,B.useRef)(null),k=(0,B.useRef)(null),A=(0,B.useRef)(null),j=(0,B.useRef)(!1),[M,N]=B.useState(!0);(0,B.useEffect)(()=>{if(!M){j.current=n;return}if(j.current&&!n&&A.current&&k.current){let e=A.current;if(e.offsetHeight>k.current.clientHeight){e.scrollIntoView({behavior:`smooth`,block:`start`}),j.current=n;return}}O.current?.scrollIntoView({behavior:`smooth`}),j.current=n},[t,b,M,n]),(0,B.useEffect)(()=>{if(T!==`chat`)return;let e=k.current;if(!e)return;let t=()=>{N(e.scrollHeight-e.scrollTop-e.clientHeight<80)};return e.addEventListener(`scroll`,t,{passive:!0}),t(),()=>e.removeEventListener(`scroll`,t)},[T]);let P=[...t].sort((e,t)=>(e.timestamp??0)-(t.timestamp??0)),ee=P.reduce((e,t,n)=>t.role===`maxy`&&!t.hidden?n:e,-1);return(0,V.jsxs)(`div`,{className:`chat-messages-wrap`,children:[m&&(0,V.jsx)(`div`,{className:`selection-overlay-band`}),(0,V.jsxs)(`div`,{className:`chat-messages`,ref:k,children:[t.length===0&&T===`chat`&&E!==!1&&(0,V.jsxs)(`div`,{className:`idle-tips`,children:[(0,V.jsx)(`p`,{className:`idle-tips-hint`,children:`What would you like to do?`}),(0,V.jsx)(`div`,{className:`idle-tips-chips`,children:[`What needs doing?`,`Start a new task`].map(e=>(0,V.jsx)(`button`,{type:`button`,className:`idle-tip-chip`,onClick:()=>C(e),children:e},e))})]}),P.map((e,t,o)=>{if(e.hidden)return null;let p=n&&t===o.length-1,b=e.role,x=`${e.timestamp??0}_admin`,S=b===`admin`&&h.has(x),C=(t>0?o[t-1]:null)?.historical&&!e.historical;return(0,V.jsxs)(B.Fragment,{children:[C&&(0,V.jsx)(`div`,{className:`resume-divider`,children:(0,V.jsx)(`span`,{children:`Resumed conversation`})}),(0,V.jsxs)(`div`,{ref:t===ee?A:void 0,className:`message ${b===`admin`?`visitor`:`maxy`}${S?` selected`:``}${e.historical?` message-historical`:``}`,children:[m&&!p&&b===`admin`&&(0,V.jsx)(`div`,{className:`message-select-check`,children:(0,V.jsx)(w,{checked:S,onChange:()=>g(x)})}),e.role===`admin`?(0,V.jsxs)(`div`,{className:`bubble`,children:[e.content,e.attachments&&e.attachments.length>0&&(0,V.jsx)(`div`,{className:`message-attachments`,children:e.attachments.map((e,t)=>(0,V.jsxs)(`button`,{type:`button`,className:`message-attachment-chip${e.attachmentId&&_?``:` no-action`}`,onClick:()=>{if(!e.attachmentId||!_)return;let t=`/api/admin/attachment/${e.attachmentId}?session_key=${encodeURIComponent(_)}`;e.mimeType.startsWith(`image/`)?v(t):window.open(t,`_blank`)},children:[e.mimeType===`application/pdf`?(0,V.jsx)(c,{size:12}):e.mimeType.startsWith(`text/`)?(0,V.jsx)(D,{size:12}):null,(0,V.jsx)(`span`,{children:e.filename})]},t))}),(0,V.jsx)(`span`,{className:`message-timestamp`,children:y(e.timestamp)})]}):(0,V.jsx)(`div`,{className:`maxy-content-wrap`,children:(0,V.jsx)(cE,{events:e.events??[],isStreaming:p,elapsedSeconds:t===o.length-1?r:e.elapsedSeconds??0,streamStartMs:t===o.length-1?i.current??void 0:void 0,expandAll:a,onCompactNow:t===o.length-1&&!s?()=>u(!0):void 0,isCompacting:t===o.length-1?l:void 0,sessionCompacted:t===o.length-1?s:void 0,onComponentSubmit:(t,n,r)=>d(e.timestamp,t,n,r),submittedComponents:f,timestamp:e.timestamp,selectionMode:m,selectedItems:h,onToggleItem:g,sessionKey:_})})]})]},t)}),b.map((e,t)=>(0,V.jsx)(`div`,{className:`message visitor`,children:(0,V.jsxs)(`div`,{className:`bubble bubble-queued`,children:[e.text||null,e.files.length>0&&(0,V.jsx)(`div`,{className:`message-attachments`,children:e.files.map((e,t)=>(0,V.jsxs)(`span`,{className:`message-attachment-chip no-action`,children:[e.type===`application/pdf`?(0,V.jsx)(c,{size:12}):e.type.startsWith(`text/`)?(0,V.jsx)(D,{size:12}):null,(0,V.jsx)(`span`,{children:e.name})]},t))}),(0,V.jsx)(`span`,{className:`message-timestamp`,children:y(e.timestamp)}),(0,V.jsx)(`button`,{type:`button`,className:`queued-bubble-delete`,onClick:()=>S(x.current.filter((e,n)=>n!==t)),"aria-label":`Remove queued message`,children:`×`})]})},e.timestamp)),(0,V.jsx)(`div`,{ref:O})]}),!M&&(0,V.jsx)(`button`,{className:`scroll-to-bottom`,onClick:()=>O.current?.scrollIntoView({behavior:`smooth`}),"aria-label":`Scroll to bottom`,children:(0,V.jsx)(p,{size:18})}),t.some(e=>e.role===`maxy`)&&(0,V.jsx)(`button`,{className:`expand-toggle expand-toggle-${a===void 0?`default`:a?`all`:`off`}`,onClick:()=>o(e=>e===void 0?!0:e===!0?!1:void 0),"aria-label":a===void 0?`Expand all`:a?`Collapse all`:`Reset to default`,children:a===!1?(0,V.jsx)(Fe,{size:14}):(0,V.jsx)(Ie,{size:14})})]})}function uE({offer:e,onFreshStart:t,onContinue:n,disabled:r}){return e.active?(0,V.jsxs)(`div`,{className:`topic-change-bar`,children:[(0,V.jsx)(`div`,{className:`topic-change-bar__icon`,children:(0,V.jsx)(je,{size:16})}),(0,V.jsxs)(`div`,{className:`topic-change-bar__actions`,children:[(0,V.jsx)(T,{variant:`primary`,size:`sm`,onClick:t,disabled:r,children:`Start fresh`}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,onClick:n,disabled:r,children:`Continue here`})]})]}):null}function dE(e,t){let n=t.lastIndexOf(`_`),r=t.slice(0,n),i=t.slice(n+1),a=parseInt(r,10),o=i===`admin`?`admin`:`maxy`,s=e.find(e=>e.timestamp===a&&e.role===o);if(!s)return``;if(i===`admin`)return s.content??``;let c=parseInt(i,10),l=s.events?.[c];if(!l)return``;if(l.type===`text`||l.type===`thinking`)return l.content;if(l.type===`tool_use`){let e=l,t=`[Tool: ${e.name}]`,n=`Input:\n${JSON.stringify(e.input,null,2)}`,r=s.events??[],i=``;for(let t=c+1;t<r.length;t++){let n=r[t];if(n.type===`tool_result`&&n.name===e.name){i=`\n\nResult:\n${n.output}`;break}}return`${t}\n${n}${i}`}if(l.type===`subagent_start`){let e=l,t=s.events??[],n=``;for(let r=c+1;r<t.length;r++){let i=t[r];if(i.type===`subagent_end`&&i.name===e.name){n=`\n\nResult:\n${i.result}`;break}}return`[${e.name}: ${e.task}]${n}`}return``}function fE(e,t){let n=[...e].sort((e,t)=>(e.timestamp??0)-(t.timestamp??0)),r=[];for(let e of n)if(!e.hidden)if(e.role===`admin`)(t===`all`||t===`text`)&&r.push(`User:\n${e.content}`);else{let n=e.events??[];for(let e=0;e<n.length;e++){let i=n[e];if(i.type===`text`&&(t===`all`||t===`text`))r.push(`Maxy:\n${i.content}`);else if(i.type===`thinking`&&(t===`all`||t===`non-text`))r.push(`Maxy [thinking]:\n${i.content}`);else if(i.type===`tool_use`&&(t===`all`||t===`non-text`)){let t=i,a=``;for(let r=e+1;r<n.length;r++)if(n[r].type===`tool_result`&&n[r].name===t.name){a=`\n\nResult:\n${n[r].output}`;break}r.push(`Maxy [tool: ${t.name}]:\nInput:\n${JSON.stringify(t.input,null,2)}${a}`)}else if(i.type===`subagent_start`&&(t===`all`||t===`non-text`)){let t=i,a=``;for(let r=e+1;r<n.length;r++)if(n[r].type===`subagent_end`&&n[r].name===t.name){a=`\n\nResult:\n${n[r].result}`;break}r.push(`Maxy [agent: ${t.name}]\nTask: ${t.task}${a}`)}}}return r.join(`
|
|
349
349
|
|
|
350
350
|
---
|
|
351
351
|
|
|
352
|
-
`)}function pE(e){let{selectionMode:t,selectedItems:n,copyToast:r,exitSelection:i,enterSelection:a,copySelected:o,showCopyToast:c,input:f,setInput:m,inputRef:_,pendingFiles:v,setPendingFiles:y,isDragOver:b,attachError:x,fileInputRef:S,addFiles:C,removeFile:D,onDragOver:O,onDragLeave:k,onDrop:j,isStreaming:M,wasPaused:P,messages:F,messageQueueRef:I,setQueue:ne,sendMessage:ie,stopStreaming:L,disconnecting:ae,handleDisconnect:se,claudeInfo:ce,setClaudeInfo:le,setShowClaudeInfo:ue,conversationId:de,onNewConversation:fe,newConversationDisabled:pe,onOpenConversations:me}=e,[ge,_e]=(0,B.useState)(!1),R=(0,B.useRef)(null),[ve,z]=(0,B.useState)(!1),ye=(0,B.useRef)(null),be=(0,B.useRef)(!1),xe=ee(),Se=xe.state===`recording`||xe.state===`paused`||xe.state===`sending`,Ce=!Se&&!P&&!f.trim()&&v.length===0;async function we(){let e=await xe.send();if(!e)return;let t=e.type===`audio/ogg`?`.ogg`:e.type===`audio/mp4`?`.m4a`:`.webm`,n=new File([e],`voice-note${t}`,{type:e.type});if(M){ne([...I.current,{text:`[Voice note]`,files:[n],timestamp:Date.now()}]);return}ie(`[Voice note]`,[n])}return(0,B.useEffect)(()=>{t||z(!1)},[t]),(0,B.useEffect)(()=>{if(!ve)return;let e=e=>{e.target.closest(`.selection-copy-wrap`)||z(!1)};return document.addEventListener(`pointerdown`,e),()=>document.removeEventListener(`pointerdown`,e)},[ve]),(0,B.useEffect)(()=>{if(!ge)return;let e=e=>{if(e.key===`Escape`){_e(!1);return}if(e.key===`Tab`&&R.current){let t=R.current.querySelectorAll(`.actions-menu-items button:not([disabled])`);if(t.length===0)return;let n=t[0],r=t[t.length-1];e.shiftKey&&document.activeElement===n?(e.preventDefault(),r.focus()):!e.shiftKey&&document.activeElement===r&&(e.preventDefault(),n.focus())}},t=e=>{R.current&&!R.current.contains(e.target)&&_e(!1)};return document.addEventListener(`keydown`,e),document.addEventListener(`mousedown`,t),()=>{document.removeEventListener(`keydown`,e),document.removeEventListener(`mousedown`,t)}},[ge]),t?(0,V.jsx)(`div`,{className:`chat-input-area`,children:(0,V.jsxs)(`div`,{className:`selection-bar`,children:[(0,V.jsxs)(`span`,{className:`selection-count`,children:[n.size,` Selected`]}),(0,V.jsxs)(`div`,{className:`selection-copy-wrap`,children:[(0,V.jsxs)(`button`,{type:`button`,className:`selection-copy`,onPointerDown:()=>{if(ve){z(!1);return}be.current=!1,ye.current=setTimeout(()=>{be.current=!0,z(!0),ye.current=null},500)},onPointerUp:()=>{ye.current!==null&&(clearTimeout(ye.current),ye.current=null)},onPointerLeave:()=>{ye.current!==null&&(clearTimeout(ye.current),ye.current=null)},onPointerCancel:()=>{ye.current!==null&&(clearTimeout(ye.current),ye.current=null)},onClick:async()=>{be.current||await o(e=>dE(F,e),(e,t)=>{let[n,r]=[e.slice(0,e.lastIndexOf(`_`)),e.slice(e.lastIndexOf(`_`)+1)],[i,a]=[t.slice(0,t.lastIndexOf(`_`)),t.slice(t.lastIndexOf(`_`)+1)],o=parseInt(n,10)-parseInt(i,10);return o===0?r===`admin`?-1:a===`admin`?1:parseInt(r,10)-parseInt(a,10):o})},children:[(0,V.jsx)(d,{size:18}),(0,V.jsx)(`span`,{children:`Copy`})]}),ve&&(0,V.jsx)(`div`,{className:`copy-menu`,children:[[`all`,`All events`],[`text`,`Text messages only`],[`non-text`,`Non-text only`]].map(([e,t])=>(0,V.jsx)(`button`,{type:`button`,className:`copy-menu-item`,onClick:async()=>{let t=fE(F,e);t&&c(await h(t)),i()},children:t},e))})]}),(0,V.jsx)(`button`,{type:`button`,className:`selection-cancel`,onClick:i,children:`Cancel`})]})}):(0,V.jsxs)(`div`,{className:`chat-input-area`,children:[(0,V.jsx)(`input`,{ref:S,type:`file`,multiple:!0,accept:lt,style:{display:`none`},onChange:e=>{e.target.files&&C([...e.target.files]),e.target.value=``}}),v.length>0&&(0,V.jsx)(`div`,{className:`attachment-strip`,children:v.map((e,t)=>(0,V.jsxs)(`div`,{className:`attachment-chip`,children:[e.type.startsWith(`image/`)?(0,V.jsx)(`img`,{src:URL.createObjectURL(e),alt:e.name,className:`attachment-chip-thumb`}):e.type===`application/pdf`?(0,V.jsx)(s,{size:14}):(0,V.jsx)(E,{size:14}),(0,V.jsx)(`span`,{className:`attachment-chip-name`,children:e.name}),(0,V.jsx)(`button`,{type:`button`,className:`attachment-chip-remove`,onClick:()=>D(t),"aria-label":`Remove ${e.name}`,children:`×`})]},t))}),x&&(0,V.jsx)(`p`,{className:`attach-error`,children:x}),xe.state===`error`&&xe.errorMessage&&(0,V.jsxs)(`p`,{className:`voice-error`,role:`alert`,children:[(0,V.jsx)(p,{size:14}),xe.errorMessage]}),(0,V.jsx)(T,{inputRef:_}),Se?(0,V.jsx)(`div`,{className:`chat-form voice-active`,children:(0,V.jsx)(A,{state:xe.state,elapsedSeconds:xe.elapsedSeconds,waveform:xe.waveform,onTogglePause:xe.togglePause,onDiscard:xe.discard,onSend:we})}):(0,V.jsxs)(`form`,{className:`chat-form${b?` drag-over`:``}`,onSubmit:e=>{e.preventDefault();let t=f.trim()||(P?`continue`:``);if(!(!t&&v.length===0)){if(M){ne([...I.current,{text:t,files:[...v],timestamp:Date.now()}]),m(``),y([]),_.current?.resetHeight();return}ie(t),_.current?.resetHeight()}},onDragOver:O,onDragLeave:k,onDrop:j,onPaste:e=>{let t=e.clipboardData?.items;if(!t)return;let n=[];for(let e of t){if(e.kind!==`file`)continue;let t=e.getAsFile();if(!t)continue;let r=t.type.split(`/`)[1]?.replace(`jpeg`,`jpg`)||`png`;n.push(new File([t],`pasted-image-${Date.now()}.${r}`,{type:t.type}))}n.length>0&&C(n)},children:[(0,V.jsx)(w,{variant:`icon`,type:`button`,onClick:()=>S.current?.click(),"aria-label":`Attach file`,children:(0,V.jsx)(l,{size:14})}),(0,V.jsx)(N,{ref:_,value:f,onChange:m}),M?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(w,{variant:`send`,type:`button`,onClick:()=>L(!0),"aria-label":`Pause`,style:{background:`var(--text-secondary)`},children:(0,V.jsx)(u,{size:14})}),(0,V.jsx)(w,{variant:`send`,type:`button`,onClick:()=>L(!1),"aria-label":`Stop`,style:{background:`var(--danger)`},children:(0,V.jsx)(Qe,{size:14})})]}):Ce?(0,V.jsx)(w,{variant:`send`,type:`button`,onClick:xe.start,"aria-label":`Record voice note`,children:(0,V.jsx)(p,{size:14})}):(0,V.jsx)(w,{variant:`send`,type:`submit`,disabled:!f.trim()&&v.length===0&&!P,"aria-label":`Send message`,children:P?(0,V.jsx)(g,{size:14}):(0,V.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,V.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,V.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]})})]}),(0,V.jsxs)(`div`,{className:`chat-actions`,ref:R,children:[(0,V.jsx)(`button`,{className:`burger-trigger`,onClick:()=>_e(e=>!e),"aria-expanded":ge,"aria-haspopup":`true`,"aria-label":`Actions menu`,children:(0,V.jsx)(oe,{size:16})}),(0,V.jsxs)(`div`,{className:`actions-menu-items${ge?` actions-menu-open`:``}`,children:[(0,V.jsxs)(`button`,{className:`chat-action`,disabled:pe,onClick:()=>{_e(!1),fe()},children:[(0,V.jsx)(Ae,{size:14}),(0,V.jsx)(`span`,{className:`action-label`,children:`New conversation`})]}),(0,V.jsxs)(`button`,{className:`chat-action`,onClick:()=>{_e(!1),me()},children:[(0,V.jsx)(Re,{size:14}),(0,V.jsx)(`span`,{className:`action-label`,children:`Conversations`})]}),(0,V.jsxs)(`button`,{className:`chat-action`,disabled:ae,onClick:async()=>{_e(!1),await se()},children:[ae?(0,V.jsx)(re,{size:14,className:`animate-spin`}):(0,V.jsx)(he,{size:14}),(0,V.jsx)(`span`,{className:`action-label`,children:ae?`Disconnecting...`:`Disconnect Claude`})]}),(0,V.jsxs)(`button`,{className:`chat-action`,disabled:!de,onClick:()=>{if(_e(!1),!de){console.debug(`[stream-log-button] disabled reason=no-conversation-id`);return}let e=document.createElement(`a`);e.href=`/api/admin/logs?type=stream&conversationId=${encodeURIComponent(de)}&download=1`,e.click()},title:de?`Download stream log`:`No conversation active — start a message to create a stream log`,children:[(0,V.jsx)(Ye,{size:14}),(0,V.jsx)(`span`,{className:`action-label`,children:`Stream log`})]}),(0,V.jsxs)(`button`,{className:`chat-action`,onClick:()=>{_e(!1),a()},title:`Select messages`,children:[(0,V.jsx)(te,{size:14}),(0,V.jsx)(`span`,{className:`action-label`,children:`Select`})]})]}),(0,V.jsxs)(`div`,{className:`powered-by`,onClick:async()=>{if(ue(!0),!ce){let e=await fetch(`/api/admin/claude-info`);e.ok&&le(await e.json())}},children:[(0,V.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`powered-by-icon`}),(0,V.jsx)(`span`,{children:`Powered by Claude Code`})]})]})]})}var mE=t(((e,t)=>{(function(n,r){if(typeof e==`object`&&typeof t==`object`)t.exports=r();else if(typeof define==`function`&&define.amd)define([],r);else{var i=r();for(var a in i)(typeof e==`object`?e:n)[a]=i[a]}})(globalThis,(()=>(()=>{var e={4567:function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,a=arguments.length,o=a<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}};Object.defineProperty(t,`__esModule`,{value:!0}),t.AccessibilityManager=void 0;let a=n(9042),o=n(9924),s=n(844),c=n(4725),l=n(2585),u=n(3656),d=t.AccessibilityManager=class extends s.Disposable{constructor(e,t,n,r){super(),this._terminal=e,this._coreBrowserService=n,this._renderService=r,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce=``,this._accessibilityContainer=this._coreBrowserService.mainDocument.createElement(`div`),this._accessibilityContainer.classList.add(`xterm-accessibility`),this._rowContainer=this._coreBrowserService.mainDocument.createElement(`div`),this._rowContainer.setAttribute(`role`,`list`),this._rowContainer.classList.add(`xterm-accessibility-tree`),this._rowElements=[];for(let e=0;e<this._terminal.rows;e++)this._rowElements[e]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[e]);if(this._topBoundaryFocusListener=e=>this._handleBoundaryFocus(e,0),this._bottomBoundaryFocusListener=e=>this._handleBoundaryFocus(e,1),this._rowElements[0].addEventListener(`focus`,this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener(`focus`,this._bottomBoundaryFocusListener),this._refreshRowsDimensions(),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=this._coreBrowserService.mainDocument.createElement(`div`),this._liveRegion.classList.add(`live-region`),this._liveRegion.setAttribute(`aria-live`,`assertive`),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this.register(new o.TimeBasedDebouncer(this._renderRows.bind(this))),!this._terminal.element)throw Error(`Cannot enable accessibility before Terminal.open`);this._terminal.element.insertAdjacentElement(`afterbegin`,this._accessibilityContainer),this.register(this._terminal.onResize((e=>this._handleResize(e.rows)))),this.register(this._terminal.onRender((e=>this._refreshRows(e.start,e.end)))),this.register(this._terminal.onScroll((()=>this._refreshRows()))),this.register(this._terminal.onA11yChar((e=>this._handleChar(e)))),this.register(this._terminal.onLineFeed((()=>this._handleChar(`
|
|
352
|
+
`)}function pE(e){let{selectionMode:t,selectedItems:n,copyToast:r,exitSelection:i,enterSelection:a,copySelected:o,showCopyToast:s,input:l,setInput:p,inputRef:h,pendingFiles:v,setPendingFiles:y,isDragOver:b,attachError:x,fileInputRef:S,addFiles:C,removeFile:w,onDragOver:O,onDragLeave:k,onDrop:A,isStreaming:M,wasPaused:N,messages:ee,messageQueueRef:te,setQueue:ne,sendMessage:re,stopStreaming:L,disconnecting:ae,handleDisconnect:oe,claudeInfo:ce,setClaudeInfo:le,setShowClaudeInfo:ue,conversationId:de,onNewConversation:fe,newConversationDisabled:pe,onOpenConversations:me}=e,[ge,_e]=(0,B.useState)(!1),R=(0,B.useRef)(null),[ve,z]=(0,B.useState)(!1),ye=(0,B.useRef)(null),be=(0,B.useRef)(!1),xe=F(),Se=xe.state===`recording`||xe.state===`paused`||xe.state===`sending`,Ce=!Se&&!N&&!l.trim()&&v.length===0;async function we(){let e=await xe.send();if(!e)return;let t=e.type===`audio/ogg`?`.ogg`:e.type===`audio/mp4`?`.m4a`:`.webm`,n=new File([e],`voice-note${t}`,{type:e.type});if(M){ne([...te.current,{text:`[Voice note]`,files:[n],timestamp:Date.now()}]);return}re(`[Voice note]`,[n])}return(0,B.useEffect)(()=>{t||z(!1)},[t]),(0,B.useEffect)(()=>{if(!ve)return;let e=e=>{e.target.closest(`.selection-copy-wrap`)||z(!1)};return document.addEventListener(`pointerdown`,e),()=>document.removeEventListener(`pointerdown`,e)},[ve]),(0,B.useEffect)(()=>{if(!ge)return;let e=e=>{if(e.key===`Escape`){_e(!1);return}if(e.key===`Tab`&&R.current){let t=R.current.querySelectorAll(`.actions-menu-items button:not([disabled])`);if(t.length===0)return;let n=t[0],r=t[t.length-1];e.shiftKey&&document.activeElement===n?(e.preventDefault(),r.focus()):!e.shiftKey&&document.activeElement===r&&(e.preventDefault(),n.focus())}},t=e=>{R.current&&!R.current.contains(e.target)&&_e(!1)};return document.addEventListener(`keydown`,e),document.addEventListener(`mousedown`,t),()=>{document.removeEventListener(`keydown`,e),document.removeEventListener(`mousedown`,t)}},[ge]),t?(0,V.jsx)(`div`,{className:`chat-input-area`,children:(0,V.jsxs)(`div`,{className:`selection-bar`,children:[(0,V.jsxs)(`span`,{className:`selection-count`,children:[n.size,` Selected`]}),(0,V.jsxs)(`div`,{className:`selection-copy-wrap`,children:[(0,V.jsxs)(`button`,{type:`button`,className:`selection-copy`,onPointerDown:()=>{if(ve){z(!1);return}be.current=!1,ye.current=setTimeout(()=>{be.current=!0,z(!0),ye.current=null},500)},onPointerUp:()=>{ye.current!==null&&(clearTimeout(ye.current),ye.current=null)},onPointerLeave:()=>{ye.current!==null&&(clearTimeout(ye.current),ye.current=null)},onPointerCancel:()=>{ye.current!==null&&(clearTimeout(ye.current),ye.current=null)},onClick:async()=>{be.current||await o(e=>dE(ee,e),(e,t)=>{let[n,r]=[e.slice(0,e.lastIndexOf(`_`)),e.slice(e.lastIndexOf(`_`)+1)],[i,a]=[t.slice(0,t.lastIndexOf(`_`)),t.slice(t.lastIndexOf(`_`)+1)],o=parseInt(n,10)-parseInt(i,10);return o===0?r===`admin`?-1:a===`admin`?1:parseInt(r,10)-parseInt(a,10):o})},children:[(0,V.jsx)(f,{size:18}),(0,V.jsx)(`span`,{children:`Copy`})]}),ve&&(0,V.jsx)(`div`,{className:`copy-menu`,children:[[`all`,`All events`],[`text`,`Text messages only`],[`non-text`,`Non-text only`]].map(([e,t])=>(0,V.jsx)(`button`,{type:`button`,className:`copy-menu-item`,onClick:async()=>{let t=fE(ee,e);t&&s(await g(t)),i()},children:t},e))})]}),(0,V.jsx)(`button`,{type:`button`,className:`selection-cancel`,onClick:i,children:`Cancel`})]})}):(0,V.jsxs)(`div`,{className:`chat-input-area`,children:[(0,V.jsx)(`input`,{ref:S,type:`file`,multiple:!0,accept:lt,style:{display:`none`},onChange:e=>{e.target.files&&C([...e.target.files]),e.target.value=``}}),v.length>0&&(0,V.jsx)(`div`,{className:`attachment-strip`,children:v.map((e,t)=>(0,V.jsxs)(`div`,{className:`attachment-chip`,children:[e.type.startsWith(`image/`)?(0,V.jsx)(`img`,{src:URL.createObjectURL(e),alt:e.name,className:`attachment-chip-thumb`}):e.type===`application/pdf`?(0,V.jsx)(c,{size:14}):(0,V.jsx)(D,{size:14}),(0,V.jsx)(`span`,{className:`attachment-chip-name`,children:e.name}),(0,V.jsx)(`button`,{type:`button`,className:`attachment-chip-remove`,onClick:()=>w(t),"aria-label":`Remove ${e.name}`,children:`×`})]},t))}),x&&(0,V.jsx)(`p`,{className:`attach-error`,children:x}),xe.state===`error`&&xe.errorMessage&&(0,V.jsxs)(`p`,{className:`voice-error`,role:`alert`,children:[(0,V.jsx)(m,{size:14}),xe.errorMessage]}),(0,V.jsx)(E,{inputRef:h}),Se?(0,V.jsx)(`div`,{className:`chat-form voice-active`,children:(0,V.jsx)(j,{state:xe.state,elapsedSeconds:xe.elapsedSeconds,waveform:xe.waveform,onTogglePause:xe.togglePause,onDiscard:xe.discard,onSend:we})}):(0,V.jsxs)(`form`,{className:`chat-form${b?` drag-over`:``}`,onSubmit:e=>{e.preventDefault();let t=l.trim()||(N?`continue`:``);if(!(!t&&v.length===0)){if(M){ne([...te.current,{text:t,files:[...v],timestamp:Date.now()}]),p(``),y([]),h.current?.resetHeight();return}re(t),h.current?.resetHeight()}},onDragOver:O,onDragLeave:k,onDrop:A,onPaste:e=>{let t=e.clipboardData?.items;if(!t)return;let n=[];for(let e of t){if(e.kind!==`file`)continue;let t=e.getAsFile();if(!t)continue;let r=t.type.split(`/`)[1]?.replace(`jpeg`,`jpg`)||`png`;n.push(new File([t],`pasted-image-${Date.now()}.${r}`,{type:t.type}))}n.length>0&&C(n)},children:[(0,V.jsx)(T,{variant:`icon`,type:`button`,onClick:()=>S.current?.click(),"aria-label":`Attach file`,children:(0,V.jsx)(u,{size:14})}),(0,V.jsx)(P,{ref:h,value:l,onChange:p}),M?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(T,{variant:`send`,type:`button`,onClick:()=>L(!0),"aria-label":`Pause`,style:{background:`var(--text-secondary)`},children:(0,V.jsx)(d,{size:14})}),(0,V.jsx)(T,{variant:`send`,type:`button`,onClick:()=>L(!1),"aria-label":`Stop`,style:{background:`var(--danger)`},children:(0,V.jsx)(Qe,{size:14})})]}):Ce?(0,V.jsx)(T,{variant:`send`,type:`button`,onClick:xe.start,"aria-label":`Record voice note`,children:(0,V.jsx)(m,{size:14})}):(0,V.jsx)(T,{variant:`send`,type:`submit`,disabled:!l.trim()&&v.length===0&&!N,"aria-label":`Send message`,children:N?(0,V.jsx)(_,{size:14}):(0,V.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,V.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,V.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]})})]}),(0,V.jsxs)(`div`,{className:`chat-actions`,ref:R,children:[(0,V.jsx)(`button`,{className:`burger-trigger`,onClick:()=>_e(e=>!e),"aria-expanded":ge,"aria-haspopup":`true`,"aria-label":`Actions menu`,children:(0,V.jsx)(se,{size:16})}),(0,V.jsxs)(`div`,{className:`actions-menu-items${ge?` actions-menu-open`:``}`,children:[(0,V.jsxs)(`button`,{className:`chat-action`,disabled:pe,onClick:()=>{_e(!1),fe()},children:[(0,V.jsx)(Ae,{size:14}),(0,V.jsx)(`span`,{className:`action-label`,children:`New conversation`})]}),(0,V.jsxs)(`button`,{className:`chat-action`,onClick:()=>{_e(!1),me()},children:[(0,V.jsx)(Re,{size:14}),(0,V.jsx)(`span`,{className:`action-label`,children:`Conversations`})]}),(0,V.jsxs)(`button`,{className:`chat-action`,disabled:ae,onClick:async()=>{_e(!1),await oe()},children:[ae?(0,V.jsx)(ie,{size:14,className:`animate-spin`}):(0,V.jsx)(he,{size:14}),(0,V.jsx)(`span`,{className:`action-label`,children:ae?`Disconnecting...`:`Disconnect Claude`})]}),(0,V.jsxs)(`button`,{className:`chat-action`,disabled:!de,onClick:()=>{if(_e(!1),!de){console.debug(`[stream-log-button] disabled reason=no-conversation-id`);return}let e=document.createElement(`a`);e.href=`/api/admin/logs?type=stream&conversationId=${encodeURIComponent(de)}&download=1`,e.click()},title:de?`Download stream log`:`No conversation active — start a message to create a stream log`,children:[(0,V.jsx)(Ye,{size:14}),(0,V.jsx)(`span`,{className:`action-label`,children:`Stream log`})]}),(0,V.jsxs)(`button`,{className:`chat-action`,onClick:()=>{_e(!1),a()},title:`Select messages`,children:[(0,V.jsx)(I,{size:14}),(0,V.jsx)(`span`,{className:`action-label`,children:`Select`})]})]}),(0,V.jsxs)(`div`,{className:`powered-by`,onClick:async()=>{if(ue(!0),!ce){let e=await fetch(`/api/admin/claude-info`);e.ok&&le(await e.json())}},children:[(0,V.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`powered-by-icon`}),(0,V.jsx)(`span`,{children:`Powered by Claude Code`})]})]})]})}var mE=t(((e,t)=>{(function(n,r){if(typeof e==`object`&&typeof t==`object`)t.exports=r();else if(typeof define==`function`&&define.amd)define([],r);else{var i=r();for(var a in i)(typeof e==`object`?e:n)[a]=i[a]}})(globalThis,(()=>(()=>{var e={4567:function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,a=arguments.length,o=a<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}};Object.defineProperty(t,`__esModule`,{value:!0}),t.AccessibilityManager=void 0;let a=n(9042),o=n(9924),s=n(844),c=n(4725),l=n(2585),u=n(3656),d=t.AccessibilityManager=class extends s.Disposable{constructor(e,t,n,r){super(),this._terminal=e,this._coreBrowserService=n,this._renderService=r,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce=``,this._accessibilityContainer=this._coreBrowserService.mainDocument.createElement(`div`),this._accessibilityContainer.classList.add(`xterm-accessibility`),this._rowContainer=this._coreBrowserService.mainDocument.createElement(`div`),this._rowContainer.setAttribute(`role`,`list`),this._rowContainer.classList.add(`xterm-accessibility-tree`),this._rowElements=[];for(let e=0;e<this._terminal.rows;e++)this._rowElements[e]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[e]);if(this._topBoundaryFocusListener=e=>this._handleBoundaryFocus(e,0),this._bottomBoundaryFocusListener=e=>this._handleBoundaryFocus(e,1),this._rowElements[0].addEventListener(`focus`,this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener(`focus`,this._bottomBoundaryFocusListener),this._refreshRowsDimensions(),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=this._coreBrowserService.mainDocument.createElement(`div`),this._liveRegion.classList.add(`live-region`),this._liveRegion.setAttribute(`aria-live`,`assertive`),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this.register(new o.TimeBasedDebouncer(this._renderRows.bind(this))),!this._terminal.element)throw Error(`Cannot enable accessibility before Terminal.open`);this._terminal.element.insertAdjacentElement(`afterbegin`,this._accessibilityContainer),this.register(this._terminal.onResize((e=>this._handleResize(e.rows)))),this.register(this._terminal.onRender((e=>this._refreshRows(e.start,e.end)))),this.register(this._terminal.onScroll((()=>this._refreshRows()))),this.register(this._terminal.onA11yChar((e=>this._handleChar(e)))),this.register(this._terminal.onLineFeed((()=>this._handleChar(`
|
|
353
353
|
`)))),this.register(this._terminal.onA11yTab((e=>this._handleTab(e)))),this.register(this._terminal.onKey((e=>this._handleKey(e.key)))),this.register(this._terminal.onBlur((()=>this._clearLiveRegion()))),this.register(this._renderService.onDimensionsChange((()=>this._refreshRowsDimensions()))),this.register((0,u.addDisposableDomListener)(document,`selectionchange`,(()=>this._handleSelectionChange()))),this.register(this._coreBrowserService.onDprChange((()=>this._refreshRowsDimensions()))),this._refreshRows(),this.register((0,s.toDisposable)((()=>{this._accessibilityContainer.remove(),this._rowElements.length=0})))}_handleTab(e){for(let t=0;t<e;t++)this._handleChar(` `)}_handleChar(e){this._liveRegionLineCount<21&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,e===`
|
|
354
354
|
`&&(this._liveRegionLineCount++,this._liveRegionLineCount===21&&(this._liveRegion.textContent+=a.tooMuchOutput)))}_clearLiveRegion(){this._liveRegion.textContent=``,this._liveRegionLineCount=0}_handleKey(e){this._clearLiveRegion(),/\p{Control}/u.test(e)||this._charsToConsume.push(e)}_refreshRows(e,t){this._liveRegionDebouncer.refresh(e,t,this._terminal.rows)}_renderRows(e,t){let n=this._terminal.buffer,r=n.lines.length.toString();for(let i=e;i<=t;i++){let e=n.lines.get(n.ydisp+i),t=[],a=e?.translateToString(!0,void 0,void 0,t)||``,o=(n.ydisp+i+1).toString(),s=this._rowElements[i];s&&(a.length===0?(s.innerText=`\xA0`,this._rowColumns.set(s,[0,1])):(s.textContent=a,this._rowColumns.set(s,t)),s.setAttribute(`aria-posinset`,o),s.setAttribute(`aria-setsize`,r))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce=``)}_handleBoundaryFocus(e,t){let n=e.target,r=this._rowElements[t===0?1:this._rowElements.length-2];if(n.getAttribute(`aria-posinset`)===(t===0?`1`:`${this._terminal.buffer.lines.length}`)||e.relatedTarget!==r)return;let i,a;if(t===0?(i=n,a=this._rowElements.pop(),this._rowContainer.removeChild(a)):(i=this._rowElements.shift(),a=n,this._rowContainer.removeChild(i)),i.removeEventListener(`focus`,this._topBoundaryFocusListener),a.removeEventListener(`focus`,this._bottomBoundaryFocusListener),t===0){let e=this._createAccessibilityTreeNode();this._rowElements.unshift(e),this._rowContainer.insertAdjacentElement(`afterbegin`,e)}else{let e=this._createAccessibilityTreeNode();this._rowElements.push(e),this._rowContainer.appendChild(e)}this._rowElements[0].addEventListener(`focus`,this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener(`focus`,this._bottomBoundaryFocusListener),this._terminal.scrollLines(t===0?-1:1),this._rowElements[t===0?1:this._rowElements.length-2].focus(),e.preventDefault(),e.stopImmediatePropagation()}_handleSelectionChange(){if(this._rowElements.length===0)return;let e=document.getSelection();if(!e)return;if(e.isCollapsed)return void(this._rowContainer.contains(e.anchorNode)&&this._terminal.clearSelection());if(!e.anchorNode||!e.focusNode)return void console.error(`anchorNode and/or focusNode are null`);let t={node:e.anchorNode,offset:e.anchorOffset},n={node:e.focusNode,offset:e.focusOffset};if((t.node.compareDocumentPosition(n.node)&Node.DOCUMENT_POSITION_PRECEDING||t.node===n.node&&t.offset>n.offset)&&([t,n]=[n,t]),t.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(t={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(t.node))return;let r=this._rowElements.slice(-1)[0];if(n.node.compareDocumentPosition(r)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(n={node:r,offset:r.textContent?.length??0}),!this._rowContainer.contains(n.node))return;let i=({node:e,offset:t})=>{let n=e instanceof Text?e.parentNode:e,r=parseInt(n?.getAttribute(`aria-posinset`),10)-1;if(isNaN(r))return console.warn(`row is invalid. Race condition?`),null;let i=this._rowColumns.get(n);if(!i)return console.warn(`columns is null. Race condition?`),null;let a=t<i.length?i[t]:i.slice(-1)[0]+1;return a>=this._terminal.cols&&(++r,a=0),{row:r,column:a}},a=i(t),o=i(n);if(a&&o){if(a.row>o.row||a.row===o.row&&a.column>=o.column)throw Error(`invalid range`);this._terminal.select(a.column,a.row,(o.row-a.row)*this._terminal.cols-a.column+o.column)}}_handleResize(e){this._rowElements[this._rowElements.length-1].removeEventListener(`focus`,this._bottomBoundaryFocusListener);for(let e=this._rowContainer.children.length;e<this._terminal.rows;e++)this._rowElements[e]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[e]);for(;this._rowElements.length>e;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener(`focus`,this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let e=this._coreBrowserService.mainDocument.createElement(`div`);return e.setAttribute(`role`,`listitem`),e.tabIndex=-1,this._refreshRowDimensions(e),e}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){this._accessibilityContainer.style.width=`${this._renderService.dimensions.css.canvas.width}px`,this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let e=0;e<this._terminal.rows;e++)this._refreshRowDimensions(this._rowElements[e])}}_refreshRowDimensions(e){e.style.height=`${this._renderService.dimensions.css.cell.height}px`}};t.AccessibilityManager=d=r([i(1,l.IInstantiationService),i(2,c.ICoreBrowserService),i(3,c.IRenderService)],d)},3614:(e,t)=>{function n(e){return e.replace(/\r?\n/g,`\r`)}function r(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function i(e,t,i,a){e=r(e=n(e),i.decPrivateModes.bracketedPasteMode&&!0!==a.rawOptions.ignoreBracketedPasteMode),i.triggerDataEvent(e,!0),t.value=``}function a(e,t,n){let r=n.getBoundingClientRect(),i=e.clientX-r.left-10,a=e.clientY-r.top-10;t.style.width=`20px`,t.style.height=`20px`,t.style.left=`${i}px`,t.style.top=`${a}px`,t.style.zIndex=`1000`,t.focus()}Object.defineProperty(t,`__esModule`,{value:!0}),t.rightClickHandler=t.moveTextAreaUnderMouseCursor=t.paste=t.handlePasteEvent=t.copyHandler=t.bracketTextForPaste=t.prepareTextForTerminal=void 0,t.prepareTextForTerminal=n,t.bracketTextForPaste=r,t.copyHandler=function(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()},t.handlePasteEvent=function(e,t,n,r){e.stopPropagation(),e.clipboardData&&i(e.clipboardData.getData(`text/plain`),t,n,r)},t.paste=i,t.moveTextAreaUnderMouseCursor=a,t.rightClickHandler=function(e,t,n,r,i){a(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}},7239:(e,t,n)=>{Object.defineProperty(t,`__esModule`,{value:!0}),t.ColorContrastCache=void 0;let r=n(1505);t.ColorContrastCache=class{constructor(){this._color=new r.TwoKeyMap,this._css=new r.TwoKeyMap}setCss(e,t,n){this._css.set(e,t,n)}getCss(e,t){return this._css.get(e,t)}setColor(e,t,n){this._color.set(e,t,n)}getColor(e,t){return this._color.get(e,t)}clear(){this._color.clear(),this._css.clear()}}},3656:(e,t)=>{Object.defineProperty(t,`__esModule`,{value:!0}),t.addDisposableDomListener=void 0,t.addDisposableDomListener=function(e,t,n,r){e.addEventListener(t,n,r);let i=!1;return{dispose:()=>{i||(i=!0,e.removeEventListener(t,n,r))}}}},3551:function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,a=arguments.length,o=a<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}};Object.defineProperty(t,`__esModule`,{value:!0}),t.Linkifier=void 0;let a=n(3656),o=n(8460),s=n(844),c=n(2585),l=n(4725),u=t.Linkifier=class extends s.Disposable{get currentLink(){return this._currentLink}constructor(e,t,n,r,i){super(),this._element=e,this._mouseService=t,this._renderService=n,this._bufferService=r,this._linkProviderService=i,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this.register(new o.EventEmitter),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this.register(new o.EventEmitter),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this.register((0,s.getDisposeArrayDisposable)(this._linkCacheDisposables)),this.register((0,s.toDisposable)((()=>{this._lastMouseEvent=void 0,this._activeProviderReplies?.clear()}))),this.register(this._bufferService.onResize((()=>{this._clearCurrentLink(),this._wasResized=!0}))),this.register((0,a.addDisposableDomListener)(this._element,`mouseleave`,(()=>{this._isMouseOut=!0,this._clearCurrentLink()}))),this.register((0,a.addDisposableDomListener)(this._element,`mousemove`,this._handleMouseMove.bind(this))),this.register((0,a.addDisposableDomListener)(this._element,`mousedown`,this._handleMouseDown.bind(this))),this.register((0,a.addDisposableDomListener)(this._element,`mouseup`,this._handleMouseUp.bind(this)))}_handleMouseMove(e){this._lastMouseEvent=e;let t=this._positionFromMouseEvent(e,this._element,this._mouseService);if(!t)return;this._isMouseOut=!1;let n=e.composedPath();for(let e=0;e<n.length;e++){let t=n[e];if(t.classList.contains(`xterm`))break;if(t.classList.contains(`xterm-hover`))return}this._lastBufferCell&&t.x===this._lastBufferCell.x&&t.y===this._lastBufferCell.y||(this._handleHover(t),this._lastBufferCell=t)}_handleHover(e){if(this._activeLine!==e.y||this._wasResized)return this._clearCurrentLink(),this._askForLink(e,!1),void(this._wasResized=!1);this._currentLink&&this._linkAtPosition(this._currentLink.link,e)||(this._clearCurrentLink(),this._askForLink(e,!0))}_askForLink(e,t){this._activeProviderReplies&&t||(this._activeProviderReplies?.forEach((e=>{e?.forEach((e=>{e.link.dispose&&e.link.dispose()}))})),this._activeProviderReplies=new Map,this._activeLine=e.y);let n=!1;for(let[r,i]of this._linkProviderService.linkProviders.entries())t?this._activeProviderReplies?.get(r)&&(n=this._checkLinkProviderResult(r,e,n)):i.provideLinks(e.y,(t=>{if(this._isMouseOut)return;let i=t?.map((e=>({link:e})));this._activeProviderReplies?.set(r,i),n=this._checkLinkProviderResult(r,e,n),this._activeProviderReplies?.size===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(e.y,this._activeProviderReplies)}))}_removeIntersectingLinks(e,t){let n=new Set;for(let r=0;r<t.size;r++){let i=t.get(r);if(i)for(let t=0;t<i.length;t++){let r=i[t],a=r.link.range.start.y<e?0:r.link.range.start.x,o=r.link.range.end.y>e?this._bufferService.cols:r.link.range.end.x;for(let e=a;e<=o;e++){if(n.has(e)){i.splice(t--,1);break}n.add(e)}}}}_checkLinkProviderResult(e,t,n){if(!this._activeProviderReplies)return n;let r=this._activeProviderReplies.get(e),i=!1;for(let t=0;t<e;t++)this._activeProviderReplies.has(t)&&!this._activeProviderReplies.get(t)||(i=!0);if(!i&&r){let e=r.find((e=>this._linkAtPosition(e.link,t)));e&&(n=!0,this._handleNewLink(e))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!n)for(let e=0;e<this._activeProviderReplies.size;e++){let r=this._activeProviderReplies.get(e)?.find((e=>this._linkAtPosition(e.link,t)));if(r){n=!0,this._handleNewLink(r);break}}return n}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(e){if(!this._currentLink)return;let t=this._positionFromMouseEvent(e,this._element,this._mouseService);t&&this._mouseDownLink===this._currentLink&&this._linkAtPosition(this._currentLink.link,t)&&this._currentLink.link.activate(e,this._currentLink.link.text)}_clearCurrentLink(e,t){this._currentLink&&this._lastMouseEvent&&(!e||!t||this._currentLink.link.range.start.y>=e&&this._currentLink.link.range.end.y<=t)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,(0,s.disposeArray)(this._linkCacheDisposables))}_handleNewLink(e){if(!this._lastMouseEvent)return;let t=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);t&&this._linkAtPosition(e.link,t)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:e.link.decorations===void 0||e.link.decorations.underline,pointerCursor:e.link.decorations===void 0||e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:()=>this._currentLink?.state?.decorations.pointerCursor,set:e=>{this._currentLink?.state&&this._currentLink.state.decorations.pointerCursor!==e&&(this._currentLink.state.decorations.pointerCursor=e,this._currentLink.state.isHovered&&this._element.classList.toggle(`xterm-cursor-pointer`,e))}},underline:{get:()=>this._currentLink?.state?.decorations.underline,set:t=>{this._currentLink?.state&&this._currentLink?.state?.decorations.underline!==t&&(this._currentLink.state.decorations.underline=t,this._currentLink.state.isHovered&&this._fireUnderlineEvent(e.link,t))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange((e=>{if(!this._currentLink)return;let t=e.start===0?0:e.start+1+this._bufferService.buffer.ydisp,n=this._bufferService.buffer.ydisp+1+e.end;if(this._currentLink.link.range.start.y>=t&&this._currentLink.link.range.end.y<=n&&(this._clearCurrentLink(t,n),this._lastMouseEvent)){let e=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);e&&this._askForLink(e,!1)}}))))}_linkHover(e,t,n){this._currentLink?.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add(`xterm-cursor-pointer`)),t.hover&&t.hover(n,t.text)}_fireUnderlineEvent(e,t){let n=e.range,r=this._bufferService.buffer.ydisp,i=this._createLinkUnderlineEvent(n.start.x-1,n.start.y-r-1,n.end.x,n.end.y-r-1,void 0);(t?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(i)}_linkLeave(e,t,n){this._currentLink?.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove(`xterm-cursor-pointer`)),t.leave&&t.leave(n,t.text)}_linkAtPosition(e,t){let n=e.range.start.y*this._bufferService.cols+e.range.start.x,r=e.range.end.y*this._bufferService.cols+e.range.end.x,i=t.y*this._bufferService.cols+t.x;return n<=i&&i<=r}_positionFromMouseEvent(e,t,n){let r=n.getCoords(e,t,this._bufferService.cols,this._bufferService.rows);if(r)return{x:r[0],y:r[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(e,t,n,r,i){return{x1:e,y1:t,x2:n,y2:r,cols:this._bufferService.cols,fg:i}}};t.Linkifier=u=r([i(1,l.IMouseService),i(2,l.IRenderService),i(3,c.IBufferService),i(4,l.ILinkProviderService)],u)},9042:(e,t)=>{Object.defineProperty(t,`__esModule`,{value:!0}),t.tooMuchOutput=t.promptLabel=void 0,t.promptLabel=`Terminal input`,t.tooMuchOutput=`Too much output to announce, navigate to rows manually to read`},3730:function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,a=arguments.length,o=a<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}};Object.defineProperty(t,`__esModule`,{value:!0}),t.OscLinkProvider=void 0;let a=n(511),o=n(2585),s=t.OscLinkProvider=class{constructor(e,t,n){this._bufferService=e,this._optionsService=t,this._oscLinkService=n}provideLinks(e,t){let n=this._bufferService.buffer.lines.get(e-1);if(!n)return void t(void 0);let r=[],i=this._optionsService.rawOptions.linkHandler,o=new a.CellData,s=n.getTrimmedLength(),l=-1,u=-1,d=!1;for(let t=0;t<s;t++)if(u!==-1||n.hasContent(t)){if(n.loadCell(t,o),o.hasExtendedAttrs()&&o.extended.urlId){if(u===-1){u=t,l=o.extended.urlId;continue}d=o.extended.urlId!==l}else u!==-1&&(d=!0);if(d||u!==-1&&t===s-1){let n=this._oscLinkService.getLinkData(l)?.uri;if(n){let a={start:{x:u+1,y:e},end:{x:t+(d||t!==s-1?0:1),y:e}},o=!1;if(!i?.allowNonHttpProtocols)try{let e=new URL(n);[`http:`,`https:`].includes(e.protocol)||(o=!0)}catch{o=!0}o||r.push({text:n,range:a,activate:(e,t)=>i?i.activate(e,t,a):c(0,t),hover:(e,t)=>i?.hover?.(e,t,a),leave:(e,t)=>i?.leave?.(e,t,a)})}d=!1,o.hasExtendedAttrs()&&o.extended.urlId?(u=t,l=o.extended.urlId):(u=-1,l=-1)}}t(r)}};function c(e,t){if(confirm(`Do you want to navigate to ${t}?\n\nWARNING: This link could potentially be dangerous`)){let e=window.open();if(e){try{e.opener=null}catch{}e.location.href=t}else console.warn(`Opening link blocked as opener could not be cleared`)}}t.OscLinkProvider=s=r([i(0,o.IBufferService),i(1,o.IOptionsService),i(2,o.IOscLinkService)],s)},6193:(e,t)=>{Object.defineProperty(t,`__esModule`,{value:!0}),t.RenderDebouncer=void 0,t.RenderDebouncer=class{constructor(e,t){this._renderCallback=e,this._coreBrowserService=t,this._refreshCallbacks=[]}dispose(){this._animationFrame&&=(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),void 0)}addRefreshCallback(e){return this._refreshCallbacks.push(e),this._animationFrame||=this._coreBrowserService.window.requestAnimationFrame((()=>this._innerRefresh())),this._animationFrame}refresh(e,t,n){this._rowCount=n,e=e===void 0?0:e,t=t===void 0?this._rowCount-1:t,this._rowStart=this._rowStart===void 0?e:Math.min(this._rowStart,e),this._rowEnd=this._rowEnd===void 0?t:Math.max(this._rowEnd,t),this._animationFrame||=this._coreBrowserService.window.requestAnimationFrame((()=>this._innerRefresh()))}_innerRefresh(){if(this._animationFrame=void 0,this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return void this._runRefreshCallbacks();let e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(let e of this._refreshCallbacks)e(0);this._refreshCallbacks=[]}}},3236:(e,t,n)=>{Object.defineProperty(t,`__esModule`,{value:!0}),t.Terminal=void 0;let r=n(3614),i=n(3656),a=n(3551),o=n(9042),s=n(3730),c=n(1680),l=n(3107),u=n(5744),d=n(2950),f=n(1296),p=n(428),m=n(4269),h=n(5114),g=n(8934),_=n(3230),v=n(9312),y=n(4725),b=n(6731),x=n(8055),S=n(8969),C=n(8460),w=n(844),T=n(6114),E=n(8437),D=n(2584),O=n(7399),k=n(5941),A=n(9074),j=n(2585),M=n(5435),N=n(4567),P=n(779);class ee extends S.CoreTerminal{get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}constructor(e={}){super(e),this.browser=T,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this.register(new w.MutableDisposable),this._onCursorMove=this.register(new C.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onKey=this.register(new C.EventEmitter),this.onKey=this._onKey.event,this._onRender=this.register(new C.EventEmitter),this.onRender=this._onRender.event,this._onSelectionChange=this.register(new C.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this.register(new C.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onBell=this.register(new C.EventEmitter),this.onBell=this._onBell.event,this._onFocus=this.register(new C.EventEmitter),this._onBlur=this.register(new C.EventEmitter),this._onA11yCharEmitter=this.register(new C.EventEmitter),this._onA11yTabEmitter=this.register(new C.EventEmitter),this._onWillOpen=this.register(new C.EventEmitter),this._setup(),this._decorationService=this._instantiationService.createInstance(A.DecorationService),this._instantiationService.setService(j.IDecorationService,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(P.LinkProviderService),this._instantiationService.setService(y.ILinkProviderService,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(s.OscLinkProvider)),this.register(this._inputHandler.onRequestBell((()=>this._onBell.fire()))),this.register(this._inputHandler.onRequestRefreshRows(((e,t)=>this.refresh(e,t)))),this.register(this._inputHandler.onRequestSendFocus((()=>this._reportFocus()))),this.register(this._inputHandler.onRequestReset((()=>this.reset()))),this.register(this._inputHandler.onRequestWindowsOptionsReport((e=>this._reportWindowsOptions(e)))),this.register(this._inputHandler.onColor((e=>this._handleColorEvent(e)))),this.register((0,C.forwardEvent)(this._inputHandler.onCursorMove,this._onCursorMove)),this.register((0,C.forwardEvent)(this._inputHandler.onTitleChange,this._onTitleChange)),this.register((0,C.forwardEvent)(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this.register((0,C.forwardEvent)(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this.register(this._bufferService.onResize((e=>this._afterResize(e.cols,e.rows)))),this.register((0,w.toDisposable)((()=>{this._customKeyEventHandler=void 0,this.element?.parentNode?.removeChild(this.element)})))}_handleColorEvent(e){if(this._themeService)for(let t of e){let e,n=``;switch(t.index){case 256:e=`foreground`,n=`10`;break;case 257:e=`background`,n=`11`;break;case 258:e=`cursor`,n=`12`;break;default:e=`ansi`,n=`4;`+t.index}switch(t.type){case 0:let r=x.color.toColorRGB(e===`ansi`?this._themeService.colors.ansi[t.index]:this._themeService.colors[e]);this.coreService.triggerDataEvent(`${D.C0.ESC}]${n};${(0,k.toRgbString)(r)}${D.C1_ESCAPED.ST}`);break;case 1:if(e===`ansi`)this._themeService.modifyColors((e=>e.ansi[t.index]=x.channels.toColor(...t.color)));else{let n=e;this._themeService.modifyColors((e=>e[n]=x.channels.toColor(...t.color)))}break;case 2:this._themeService.restoreColor(t.index)}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(e){e?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(N.AccessibilityManager,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(e){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(D.C0.ESC+`[I`),this.element.classList.add(`focus`),this._showCursor(),this._onFocus.fire()}blur(){return this.textarea?.blur()}_handleTextAreaBlur(){this.textarea.value=``,this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(D.C0.ESC+`[O`),this.element.classList.remove(`focus`),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;let e=this.buffer.ybase+this.buffer.y,t=this.buffer.lines.get(e);if(!t)return;let n=Math.min(this.buffer.x,this.cols-1),r=this._renderService.dimensions.css.cell.height,i=t.getWidth(n),a=this._renderService.dimensions.css.cell.width*i,o=this.buffer.y*this._renderService.dimensions.css.cell.height,s=n*this._renderService.dimensions.css.cell.width;this.textarea.style.left=s+`px`,this.textarea.style.top=o+`px`,this.textarea.style.width=a+`px`,this.textarea.style.height=r+`px`,this.textarea.style.lineHeight=r+`px`,this.textarea.style.zIndex=`-5`}_initGlobal(){this._bindKeys(),this.register((0,i.addDisposableDomListener)(this.element,`copy`,(e=>{this.hasSelection()&&(0,r.copyHandler)(e,this._selectionService)})));let e=e=>(0,r.handlePasteEvent)(e,this.textarea,this.coreService,this.optionsService);this.register((0,i.addDisposableDomListener)(this.textarea,`paste`,e)),this.register((0,i.addDisposableDomListener)(this.element,`paste`,e)),T.isFirefox?this.register((0,i.addDisposableDomListener)(this.element,`mousedown`,(e=>{e.button===2&&(0,r.rightClickHandler)(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)}))):this.register((0,i.addDisposableDomListener)(this.element,`contextmenu`,(e=>{(0,r.rightClickHandler)(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)}))),T.isLinux&&this.register((0,i.addDisposableDomListener)(this.element,`auxclick`,(e=>{e.button===1&&(0,r.moveTextAreaUnderMouseCursor)(e,this.textarea,this.screenElement)})))}_bindKeys(){this.register((0,i.addDisposableDomListener)(this.textarea,`keyup`,(e=>this._keyUp(e)),!0)),this.register((0,i.addDisposableDomListener)(this.textarea,`keydown`,(e=>this._keyDown(e)),!0)),this.register((0,i.addDisposableDomListener)(this.textarea,`keypress`,(e=>this._keyPress(e)),!0)),this.register((0,i.addDisposableDomListener)(this.textarea,`compositionstart`,(()=>this._compositionHelper.compositionstart()))),this.register((0,i.addDisposableDomListener)(this.textarea,`compositionupdate`,(e=>this._compositionHelper.compositionupdate(e)))),this.register((0,i.addDisposableDomListener)(this.textarea,`compositionend`,(()=>this._compositionHelper.compositionend()))),this.register((0,i.addDisposableDomListener)(this.textarea,`input`,(e=>this._inputEvent(e)),!0)),this.register(this.onRender((()=>this._compositionHelper.updateCompositionElements())))}open(e){if(!e)throw Error(`Terminal requires a parent element.`);if(e.isConnected||this._logService.debug(`Terminal.open was called on an element that was not attached to the DOM`),this.element?.ownerDocument.defaultView&&this._coreBrowserService)return void(this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView));this._document=e.ownerDocument,this.options.documentOverride&&this.options.documentOverride instanceof Document&&(this._document=this.optionsService.rawOptions.documentOverride),this.element=this._document.createElement(`div`),this.element.dir=`ltr`,this.element.classList.add(`terminal`),this.element.classList.add(`xterm`),e.appendChild(this.element);let t=this._document.createDocumentFragment();this._viewportElement=this._document.createElement(`div`),this._viewportElement.classList.add(`xterm-viewport`),t.appendChild(this._viewportElement),this._viewportScrollArea=this._document.createElement(`div`),this._viewportScrollArea.classList.add(`xterm-scroll-area`),this._viewportElement.appendChild(this._viewportScrollArea),this.screenElement=this._document.createElement(`div`),this.screenElement.classList.add(`xterm-screen`),this.register((0,i.addDisposableDomListener)(this.screenElement,`mousemove`,(e=>this.updateCursorStyle(e)))),this._helperContainer=this._document.createElement(`div`),this._helperContainer.classList.add(`xterm-helpers`),this.screenElement.appendChild(this._helperContainer),t.appendChild(this.screenElement),this.textarea=this._document.createElement(`textarea`),this.textarea.classList.add(`xterm-helper-textarea`),this.textarea.setAttribute(`aria-label`,o.promptLabel),T.isChromeOS||this.textarea.setAttribute(`aria-multiline`,`false`),this.textarea.setAttribute(`autocorrect`,`off`),this.textarea.setAttribute(`autocapitalize`,`off`),this.textarea.setAttribute(`spellcheck`,`false`),this.textarea.tabIndex=0,this._coreBrowserService=this.register(this._instantiationService.createInstance(h.CoreBrowserService,this.textarea,e.ownerDocument.defaultView??window,this._document??typeof window<`u`?window.document:null)),this._instantiationService.setService(y.ICoreBrowserService,this._coreBrowserService),this.register((0,i.addDisposableDomListener)(this.textarea,`focus`,(e=>this._handleTextAreaFocus(e)))),this.register((0,i.addDisposableDomListener)(this.textarea,`blur`,(()=>this._handleTextAreaBlur()))),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(p.CharSizeService,this._document,this._helperContainer),this._instantiationService.setService(y.ICharSizeService,this._charSizeService),this._themeService=this._instantiationService.createInstance(b.ThemeService),this._instantiationService.setService(y.IThemeService,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(m.CharacterJoinerService),this._instantiationService.setService(y.ICharacterJoinerService,this._characterJoinerService),this._renderService=this.register(this._instantiationService.createInstance(_.RenderService,this.rows,this.screenElement)),this._instantiationService.setService(y.IRenderService,this._renderService),this.register(this._renderService.onRenderedViewportChange((e=>this._onRender.fire(e)))),this.onResize((e=>this._renderService.resize(e.cols,e.rows))),this._compositionView=this._document.createElement(`div`),this._compositionView.classList.add(`composition-view`),this._compositionHelper=this._instantiationService.createInstance(d.CompositionHelper,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(g.MouseService),this._instantiationService.setService(y.IMouseService,this._mouseService),this.linkifier=this.register(this._instantiationService.createInstance(a.Linkifier,this.screenElement)),this.element.appendChild(t);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this.viewport=this._instantiationService.createInstance(c.Viewport,this._viewportElement,this._viewportScrollArea),this.viewport.onRequestScrollLines((e=>this.scrollLines(e.amount,e.suppressScrollEvent,1))),this.register(this._inputHandler.onRequestSyncScrollBar((()=>this.viewport.syncScrollArea()))),this.register(this.viewport),this.register(this.onCursorMove((()=>{this._renderService.handleCursorMove(),this._syncTextArea()}))),this.register(this.onResize((()=>this._renderService.handleResize(this.cols,this.rows)))),this.register(this.onBlur((()=>this._renderService.handleBlur()))),this.register(this.onFocus((()=>this._renderService.handleFocus()))),this.register(this._renderService.onDimensionsChange((()=>this.viewport.syncScrollArea()))),this._selectionService=this.register(this._instantiationService.createInstance(v.SelectionService,this.element,this.screenElement,this.linkifier)),this._instantiationService.setService(y.ISelectionService,this._selectionService),this.register(this._selectionService.onRequestScrollLines((e=>this.scrollLines(e.amount,e.suppressScrollEvent)))),this.register(this._selectionService.onSelectionChange((()=>this._onSelectionChange.fire()))),this.register(this._selectionService.onRequestRedraw((e=>this._renderService.handleSelectionChanged(e.start,e.end,e.columnSelectMode)))),this.register(this._selectionService.onLinuxMouseSelection((e=>{this.textarea.value=e,this.textarea.focus(),this.textarea.select()}))),this.register(this._onScroll.event((e=>{this.viewport.syncScrollArea(),this._selectionService.refresh()}))),this.register((0,i.addDisposableDomListener)(this._viewportElement,`scroll`,(()=>this._selectionService.refresh()))),this.register(this._instantiationService.createInstance(l.BufferDecorationRenderer,this.screenElement)),this.register((0,i.addDisposableDomListener)(this.element,`mousedown`,(e=>this._selectionService.handleMouseDown(e)))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add(`enable-mouse-events`)):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(N.AccessibilityManager,this)),this.register(this.optionsService.onSpecificOptionChange(`screenReaderMode`,(e=>this._handleScreenReaderModeOptionChange(e)))),this.options.overviewRulerWidth&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(u.OverviewRulerRenderer,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange(`overviewRulerWidth`,(e=>{!this._overviewRulerRenderer&&e&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(u.OverviewRulerRenderer,this._viewportElement,this.screenElement)))})),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(f.DomRenderer,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){let e=this,t=this.element;function n(t){let n=e._mouseService.getMouseReportCoords(t,e.screenElement);if(!n)return!1;let r,i;switch(t.overrideType||t.type){case`mousemove`:i=32,t.buttons===void 0?(r=3,t.button!==void 0&&(r=t.button<3?t.button:3)):r=1&t.buttons?0:4&t.buttons?1:2&t.buttons?2:3;break;case`mouseup`:i=0,r=t.button<3?t.button:3;break;case`mousedown`:i=1,r=t.button<3?t.button:3;break;case`wheel`:if(e._customWheelEventHandler&&!1===e._customWheelEventHandler(t)||e.viewport.getLinesScrolled(t)===0)return!1;i=t.deltaY<0?0:1,r=4;break;default:return!1}return!(i===void 0||r===void 0||r>4)&&e.coreMouseService.triggerMouseEvent({col:n.col,row:n.row,x:n.x,y:n.y,button:r,action:i,ctrl:t.ctrlKey,alt:t.altKey,shift:t.shiftKey})}let r={mouseup:null,wheel:null,mousedrag:null,mousemove:null},a={mouseup:e=>(n(e),e.buttons||(this._document.removeEventListener(`mouseup`,r.mouseup),r.mousedrag&&this._document.removeEventListener(`mousemove`,r.mousedrag)),this.cancel(e)),wheel:e=>(n(e),this.cancel(e,!0)),mousedrag:e=>{e.buttons&&n(e)},mousemove:e=>{e.buttons||n(e)}};this.register(this.coreMouseService.onProtocolChange((e=>{e?(this.optionsService.rawOptions.logLevel===`debug`&&this._logService.debug(`Binding to mouse events:`,this.coreMouseService.explainEvents(e)),this.element.classList.add(`enable-mouse-events`),this._selectionService.disable()):(this._logService.debug(`Unbinding from mouse events.`),this.element.classList.remove(`enable-mouse-events`),this._selectionService.enable()),8&e?r.mousemove||=(t.addEventListener(`mousemove`,a.mousemove),a.mousemove):(t.removeEventListener(`mousemove`,r.mousemove),r.mousemove=null),16&e?r.wheel||=(t.addEventListener(`wheel`,a.wheel,{passive:!1}),a.wheel):(t.removeEventListener(`wheel`,r.wheel),r.wheel=null),2&e?r.mouseup||=a.mouseup:(this._document.removeEventListener(`mouseup`,r.mouseup),r.mouseup=null),4&e?r.mousedrag||=a.mousedrag:(this._document.removeEventListener(`mousemove`,r.mousedrag),r.mousedrag=null)}))),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this.register((0,i.addDisposableDomListener)(t,`mousedown`,(e=>{if(e.preventDefault(),this.focus(),this.coreMouseService.areMouseEventsActive&&!this._selectionService.shouldForceSelection(e))return n(e),r.mouseup&&this._document.addEventListener(`mouseup`,r.mouseup),r.mousedrag&&this._document.addEventListener(`mousemove`,r.mousedrag),this.cancel(e)}))),this.register((0,i.addDisposableDomListener)(t,`wheel`,(e=>{if(!r.wheel){if(this._customWheelEventHandler&&!1===this._customWheelEventHandler(e))return!1;if(!this.buffer.hasScrollback){let t=this.viewport.getLinesScrolled(e);if(t===0)return;let n=D.C0.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?`O`:`[`)+(e.deltaY<0?`A`:`B`),r=``;for(let e=0;e<Math.abs(t);e++)r+=n;return this.coreService.triggerDataEvent(r,!0),this.cancel(e,!0)}return this.viewport.handleWheel(e)?this.cancel(e):void 0}}),{passive:!1})),this.register((0,i.addDisposableDomListener)(t,`touchstart`,(e=>{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.handleTouchStart(e),this.cancel(e)}),{passive:!0})),this.register((0,i.addDisposableDomListener)(t,`touchmove`,(e=>{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.handleTouchMove(e)?void 0:this.cancel(e)}),{passive:!1}))}refresh(e,t){this._renderService?.refreshRows(e,t)}updateCursorStyle(e){this._selectionService?.shouldColumnSelect(e)?this.element.classList.add(`column-select`):this.element.classList.remove(`column-select`)}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(e,t,n=0){n===1?(super.scrollLines(e,t,n),this.refresh(0,this.rows-1)):this.viewport?.scrollLines(e)}paste(e){(0,r.paste)(e,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(e){this._customKeyEventHandler=e}attachCustomWheelEventHandler(e){this._customWheelEventHandler=e}registerLinkProvider(e){return this._linkProviderService.registerLinkProvider(e)}registerCharacterJoiner(e){if(!this._characterJoinerService)throw Error(`Terminal must be opened first`);let t=this._characterJoinerService.register(e);return this.refresh(0,this.rows-1),t}deregisterCharacterJoiner(e){if(!this._characterJoinerService)throw Error(`Terminal must be opened first`);this._characterJoinerService.deregister(e)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(e){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+e)}registerDecoration(e){return this._decorationService.registerDecoration(e)}hasSelection(){return!!this._selectionService&&this._selectionService.hasSelection}select(e,t,n){this._selectionService.setSelection(e,t,n)}getSelection(){return this._selectionService?this._selectionService.selectionText:``}getSelectionPosition(){if(this._selectionService&&this._selectionService.hasSelection)return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){this._selectionService?.clearSelection()}selectAll(){this._selectionService?.selectAll()}selectLines(e,t){this._selectionService?.selectLines(e,t)}_keyDown(e){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&!1===this._customKeyEventHandler(e))return!1;let t=this.browser.isMac&&this.options.macOptionIsMeta&&e.altKey;if(!t&&!this._compositionHelper.keydown(e))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(),!1;t||e.key!==`Dead`&&e.key!==`AltGraph`||(this._unprocessedDeadKey=!0);let n=(0,O.evaluateKeyboardEvent)(e,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(e),n.type===3||n.type===2){let t=this.rows-1;return this.scrollLines(n.type===2?-t:t),this.cancel(e,!0)}return n.type===1&&this.selectAll(),!!this._isThirdLevelShift(this.browser,e)||(n.cancel&&this.cancel(e,!0),!n.key||!!(e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.key.length===1&&e.key.charCodeAt(0)>=65&&e.key.charCodeAt(0)<=90)||(this._unprocessedDeadKey?(this._unprocessedDeadKey=!1,!0):(n.key!==D.C0.ETX&&n.key!==D.C0.CR||(this.textarea.value=``),this._onKey.fire({key:n.key,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(n.key,!0),!this.optionsService.rawOptions.screenReaderMode||e.altKey||e.ctrlKey?this.cancel(e,!0):void(this._keyDownHandled=!0))))}_isThirdLevelShift(e,t){let n=e.isMac&&!this.options.macOptionIsMeta&&t.altKey&&!t.ctrlKey&&!t.metaKey||e.isWindows&&t.altKey&&t.ctrlKey&&!t.metaKey||e.isWindows&&t.getModifierState(`AltGraph`);return t.type===`keypress`?n:n&&(!t.keyCode||t.keyCode>47)}_keyUp(e){this._keyDownSeen=!1,this._customKeyEventHandler&&!1===this._customKeyEventHandler(e)||(function(e){return e.keyCode===16||e.keyCode===17||e.keyCode===18}(e)||this.focus(),this.updateCursorStyle(e),this._keyPressHandled=!1)}_keyPress(e){let t;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&!1===this._customKeyEventHandler(e))return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(e.which===null||e.which===void 0)t=e.keyCode;else{if(e.which===0||e.charCode===0)return!1;t=e.which}return!(!t||(e.altKey||e.ctrlKey||e.metaKey)&&!this._isThirdLevelShift(this.browser,e)||(t=String.fromCharCode(t),this._onKey.fire({key:t,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(t,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,0))}_inputEvent(e){if(e.data&&e.inputType===`insertText`&&(!e.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;let t=e.data;return this.coreService.triggerDataEvent(t,!0),this.cancel(e),!0}return!1}resize(e,t){e!==this.cols||t!==this.rows?super.resize(e,t):this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure()}_afterResize(e,t){this._charSizeService?.measure(),this.viewport?.syncScrollArea(!0)}clear(){if(this.buffer.ybase!==0||this.buffer.y!==0){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let e=1;e<this.rows;e++)this.buffer.lines.push(this.buffer.getBlankLine(E.DEFAULT_ATTR_DATA));this._onScroll.fire({position:this.buffer.ydisp,source:0}),this.viewport?.reset(),this.refresh(0,this.rows-1)}}reset(){this.options.rows=this.rows,this.options.cols=this.cols;let e=this._customKeyEventHandler;this._setup(),super.reset(),this._selectionService?.reset(),this._decorationService.reset(),this.viewport?.reset(),this._customKeyEventHandler=e,this.refresh(0,this.rows-1)}clearTextureAtlas(){this._renderService?.clearTextureAtlas()}_reportFocus(){this.element?.classList.contains(`focus`)?this.coreService.triggerDataEvent(D.C0.ESC+`[I`):this.coreService.triggerDataEvent(D.C0.ESC+`[O`)}_reportWindowsOptions(e){if(this._renderService)switch(e){case M.WindowsOptionsReportType.GET_WIN_SIZE_PIXELS:let e=this._renderService.dimensions.css.canvas.width.toFixed(0),t=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${D.C0.ESC}[4;${t};${e}t`);break;case M.WindowsOptionsReportType.GET_CELL_SIZE_PIXELS:let n=this._renderService.dimensions.css.cell.width.toFixed(0),r=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${D.C0.ESC}[6;${r};${n}t`)}}cancel(e,t){if(this.options.cancelEvents||t)return e.preventDefault(),e.stopPropagation(),!1}}t.Terminal=ee},9924:(e,t)=>{Object.defineProperty(t,`__esModule`,{value:!0}),t.TimeBasedDebouncer=void 0,t.TimeBasedDebouncer=class{constructor(e,t=1e3){this._renderCallback=e,this._debounceThresholdMS=t,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(e,t,n){this._rowCount=n,e=e===void 0?0:e,t=t===void 0?this._rowCount-1:t,this._rowStart=this._rowStart===void 0?e:Math.min(this._rowStart,e),this._rowEnd=this._rowEnd===void 0?t:Math.max(this._rowEnd,t);let r=Date.now();if(r-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=r,this._innerRefresh();else if(!this._additionalRefreshRequested){let e=r-this._lastRefreshMs,t=this._debounceThresholdMS-e;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout((()=>{this._lastRefreshMs=Date.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0}),t)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;let e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t)}}},1680:function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,a=arguments.length,o=a<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}};Object.defineProperty(t,`__esModule`,{value:!0}),t.Viewport=void 0;let a=n(3656),o=n(4725),s=n(8460),c=n(844),l=n(2585),u=t.Viewport=class extends c.Disposable{constructor(e,t,n,r,i,o,c,l){super(),this._viewportElement=e,this._scrollArea=t,this._bufferService=n,this._optionsService=r,this._charSizeService=i,this._renderService=o,this._coreBrowserService=c,this.scrollBarWidth=0,this._currentRowHeight=0,this._currentDeviceCellHeight=0,this._lastRecordedBufferLength=0,this._lastRecordedViewportHeight=0,this._lastRecordedBufferHeight=0,this._lastTouchY=0,this._lastScrollTop=0,this._wheelPartialScroll=0,this._refreshAnimationFrame=null,this._ignoreNextScrollEvent=!1,this._smoothScrollState={startTime:0,origin:-1,target:-1},this._onRequestScrollLines=this.register(new s.EventEmitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this.scrollBarWidth=this._viewportElement.offsetWidth-this._scrollArea.offsetWidth||15,this.register((0,a.addDisposableDomListener)(this._viewportElement,`scroll`,this._handleScroll.bind(this))),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate((e=>this._activeBuffer=e.activeBuffer))),this._renderDimensions=this._renderService.dimensions,this.register(this._renderService.onDimensionsChange((e=>this._renderDimensions=e))),this._handleThemeChange(l.colors),this.register(l.onChangeColors((e=>this._handleThemeChange(e)))),this.register(this._optionsService.onSpecificOptionChange(`scrollback`,(()=>this.syncScrollArea()))),setTimeout((()=>this.syncScrollArea()))}_handleThemeChange(e){this._viewportElement.style.backgroundColor=e.background.css}reset(){this._currentRowHeight=0,this._currentDeviceCellHeight=0,this._lastRecordedBufferLength=0,this._lastRecordedViewportHeight=0,this._lastRecordedBufferHeight=0,this._lastTouchY=0,this._lastScrollTop=0,this._coreBrowserService.window.requestAnimationFrame((()=>this.syncScrollArea()))}_refresh(e){if(e)return this._innerRefresh(),void(this._refreshAnimationFrame!==null&&this._coreBrowserService.window.cancelAnimationFrame(this._refreshAnimationFrame));this._refreshAnimationFrame===null&&(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._innerRefresh())))}_innerRefresh(){if(this._charSizeService.height>0){this._currentRowHeight=this._renderDimensions.device.cell.height/this._coreBrowserService.dpr,this._currentDeviceCellHeight=this._renderDimensions.device.cell.height,this._lastRecordedViewportHeight=this._viewportElement.offsetHeight;let e=Math.round(this._currentRowHeight*this._lastRecordedBufferLength)+(this._lastRecordedViewportHeight-this._renderDimensions.css.canvas.height);this._lastRecordedBufferHeight!==e&&(this._lastRecordedBufferHeight=e,this._scrollArea.style.height=this._lastRecordedBufferHeight+`px`)}let e=this._bufferService.buffer.ydisp*this._currentRowHeight;this._viewportElement.scrollTop!==e&&(this._ignoreNextScrollEvent=!0,this._viewportElement.scrollTop=e),this._refreshAnimationFrame=null}syncScrollArea(e=!1){if(this._lastRecordedBufferLength!==this._bufferService.buffer.lines.length)return this._lastRecordedBufferLength=this._bufferService.buffer.lines.length,void this._refresh(e);this._lastRecordedViewportHeight===this._renderService.dimensions.css.canvas.height&&this._lastScrollTop===this._activeBuffer.ydisp*this._currentRowHeight&&this._renderDimensions.device.cell.height===this._currentDeviceCellHeight||this._refresh(e)}_handleScroll(e){if(this._lastScrollTop=this._viewportElement.scrollTop,!this._viewportElement.offsetParent)return;if(this._ignoreNextScrollEvent)return this._ignoreNextScrollEvent=!1,void this._onRequestScrollLines.fire({amount:0,suppressScrollEvent:!0});let t=Math.round(this._lastScrollTop/this._currentRowHeight)-this._bufferService.buffer.ydisp;this._onRequestScrollLines.fire({amount:t,suppressScrollEvent:!0})}_smoothScroll(){if(this._isDisposed||this._smoothScrollState.origin===-1||this._smoothScrollState.target===-1)return;let e=this._smoothScrollPercent();this._viewportElement.scrollTop=this._smoothScrollState.origin+Math.round(e*(this._smoothScrollState.target-this._smoothScrollState.origin)),e<1?this._coreBrowserService.window.requestAnimationFrame((()=>this._smoothScroll())):this._clearSmoothScrollState()}_smoothScrollPercent(){return this._optionsService.rawOptions.smoothScrollDuration&&this._smoothScrollState.startTime?Math.max(Math.min((Date.now()-this._smoothScrollState.startTime)/this._optionsService.rawOptions.smoothScrollDuration,1),0):1}_clearSmoothScrollState(){this._smoothScrollState.startTime=0,this._smoothScrollState.origin=-1,this._smoothScrollState.target=-1}_bubbleScroll(e,t){let n=this._viewportElement.scrollTop+this._lastRecordedViewportHeight;return!(t<0&&this._viewportElement.scrollTop!==0||t>0&&n<this._lastRecordedBufferHeight)||(e.cancelable&&e.preventDefault(),!1)}handleWheel(e){let t=this._getPixelsScrolled(e);return t!==0&&(this._optionsService.rawOptions.smoothScrollDuration?(this._smoothScrollState.startTime=Date.now(),this._smoothScrollPercent()<1?(this._smoothScrollState.origin=this._viewportElement.scrollTop,this._smoothScrollState.target===-1?this._smoothScrollState.target=this._viewportElement.scrollTop+t:this._smoothScrollState.target+=t,this._smoothScrollState.target=Math.max(Math.min(this._smoothScrollState.target,this._viewportElement.scrollHeight),0),this._smoothScroll()):this._clearSmoothScrollState()):this._viewportElement.scrollTop+=t,this._bubbleScroll(e,t))}scrollLines(e){if(e!==0)if(this._optionsService.rawOptions.smoothScrollDuration){let t=e*this._currentRowHeight;this._smoothScrollState.startTime=Date.now(),this._smoothScrollPercent()<1?(this._smoothScrollState.origin=this._viewportElement.scrollTop,this._smoothScrollState.target=this._smoothScrollState.origin+t,this._smoothScrollState.target=Math.max(Math.min(this._smoothScrollState.target,this._viewportElement.scrollHeight),0),this._smoothScroll()):this._clearSmoothScrollState()}else this._onRequestScrollLines.fire({amount:e,suppressScrollEvent:!1})}_getPixelsScrolled(e){if(e.deltaY===0||e.shiftKey)return 0;let t=this._applyScrollModifier(e.deltaY,e);return e.deltaMode===WheelEvent.DOM_DELTA_LINE?t*=this._currentRowHeight:e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(t*=this._currentRowHeight*this._bufferService.rows),t}getBufferElements(e,t){let n,r=``,i=[],a=t??this._bufferService.buffer.lines.length,o=this._bufferService.buffer.lines;for(let t=e;t<a;t++){let e=o.get(t);if(!e)continue;let a=o.get(t+1)?.isWrapped;if(r+=e.translateToString(!a),!a||t===o.length-1){let e=document.createElement(`div`);e.textContent=r,i.push(e),r.length>0&&(n=e),r=``}}return{bufferElements:i,cursorElement:n}}getLinesScrolled(e){if(e.deltaY===0||e.shiftKey)return 0;let t=this._applyScrollModifier(e.deltaY,e);return e.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(t/=this._currentRowHeight+0,this._wheelPartialScroll+=t,t=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(t*=this._bufferService.rows),t}_applyScrollModifier(e,t){let n=this._optionsService.rawOptions.fastScrollModifier;return n===`alt`&&t.altKey||n===`ctrl`&&t.ctrlKey||n===`shift`&&t.shiftKey?e*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:e*this._optionsService.rawOptions.scrollSensitivity}handleTouchStart(e){this._lastTouchY=e.touches[0].pageY}handleTouchMove(e){let t=this._lastTouchY-e.touches[0].pageY;return this._lastTouchY=e.touches[0].pageY,t!==0&&(this._viewportElement.scrollTop+=t,this._bubbleScroll(e,t))}};t.Viewport=u=r([i(2,l.IBufferService),i(3,l.IOptionsService),i(4,o.ICharSizeService),i(5,o.IRenderService),i(6,o.ICoreBrowserService),i(7,o.IThemeService)],u)},3107:function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,a=arguments.length,o=a<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}};Object.defineProperty(t,`__esModule`,{value:!0}),t.BufferDecorationRenderer=void 0;let a=n(4725),o=n(844),s=n(2585),c=t.BufferDecorationRenderer=class extends o.Disposable{constructor(e,t,n,r,i){super(),this._screenElement=e,this._bufferService=t,this._coreBrowserService=n,this._decorationService=r,this._renderService=i,this._decorationElements=new Map,this._altBufferIsActive=!1,this._dimensionsChanged=!1,this._container=document.createElement(`div`),this._container.classList.add(`xterm-decoration-container`),this._screenElement.appendChild(this._container),this.register(this._renderService.onRenderedViewportChange((()=>this._doRefreshDecorations()))),this.register(this._renderService.onDimensionsChange((()=>{this._dimensionsChanged=!0,this._queueRefresh()}))),this.register(this._coreBrowserService.onDprChange((()=>this._queueRefresh()))),this.register(this._bufferService.buffers.onBufferActivate((()=>{this._altBufferIsActive=this._bufferService.buffer===this._bufferService.buffers.alt}))),this.register(this._decorationService.onDecorationRegistered((()=>this._queueRefresh()))),this.register(this._decorationService.onDecorationRemoved((e=>this._removeDecoration(e)))),this.register((0,o.toDisposable)((()=>{this._container.remove(),this._decorationElements.clear()})))}_queueRefresh(){this._animationFrame===void 0&&(this._animationFrame=this._renderService.addRefreshCallback((()=>{this._doRefreshDecorations(),this._animationFrame=void 0})))}_doRefreshDecorations(){for(let e of this._decorationService.decorations)this._renderDecoration(e);this._dimensionsChanged=!1}_renderDecoration(e){this._refreshStyle(e),this._dimensionsChanged&&this._refreshXPosition(e)}_createElement(e){let t=this._coreBrowserService.mainDocument.createElement(`div`);t.classList.add(`xterm-decoration`),t.classList.toggle(`xterm-decoration-top-layer`,e?.options?.layer===`top`),t.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,t.style.height=(e.options.height||1)*this._renderService.dimensions.css.cell.height+`px`,t.style.top=(e.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height+`px`,t.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;let n=e.options.x??0;return n&&n>this._bufferService.cols&&(t.style.display=`none`),this._refreshXPosition(e,t),t}_refreshStyle(e){let t=e.marker.line-this._bufferService.buffers.active.ydisp;if(t<0||t>=this._bufferService.rows)e.element&&(e.element.style.display=`none`,e.onRenderEmitter.fire(e.element));else{let n=this._decorationElements.get(e);n||(n=this._createElement(e),e.element=n,this._decorationElements.set(e,n),this._container.appendChild(n),e.onDispose((()=>{this._decorationElements.delete(e),n.remove()}))),n.style.top=t*this._renderService.dimensions.css.cell.height+`px`,n.style.display=this._altBufferIsActive?`none`:`block`,e.onRenderEmitter.fire(n)}}_refreshXPosition(e,t=e.element){if(!t)return;let n=e.options.x??0;(e.options.anchor||`left`)===`right`?t.style.right=n?n*this._renderService.dimensions.css.cell.width+`px`:``:t.style.left=n?n*this._renderService.dimensions.css.cell.width+`px`:``}_removeDecoration(e){this._decorationElements.get(e)?.remove(),this._decorationElements.delete(e),e.dispose()}};t.BufferDecorationRenderer=c=r([i(1,s.IBufferService),i(2,a.ICoreBrowserService),i(3,s.IDecorationService),i(4,a.IRenderService)],c)},5871:(e,t)=>{Object.defineProperty(t,`__esModule`,{value:!0}),t.ColorZoneStore=void 0,t.ColorZoneStore=class{constructor(){this._zones=[],this._zonePool=[],this._zonePoolIndex=0,this._linePadding={full:0,left:0,center:0,right:0}}get zones(){return this._zonePool.length=Math.min(this._zonePool.length,this._zones.length),this._zones}clear(){this._zones.length=0,this._zonePoolIndex=0}addDecoration(e){if(e.options.overviewRulerOptions){for(let t of this._zones)if(t.color===e.options.overviewRulerOptions.color&&t.position===e.options.overviewRulerOptions.position){if(this._lineIntersectsZone(t,e.marker.line))return;if(this._lineAdjacentToZone(t,e.marker.line,e.options.overviewRulerOptions.position))return void this._addLineToZone(t,e.marker.line)}if(this._zonePoolIndex<this._zonePool.length)return this._zonePool[this._zonePoolIndex].color=e.options.overviewRulerOptions.color,this._zonePool[this._zonePoolIndex].position=e.options.overviewRulerOptions.position,this._zonePool[this._zonePoolIndex].startBufferLine=e.marker.line,this._zonePool[this._zonePoolIndex].endBufferLine=e.marker.line,void this._zones.push(this._zonePool[this._zonePoolIndex++]);this._zones.push({color:e.options.overviewRulerOptions.color,position:e.options.overviewRulerOptions.position,startBufferLine:e.marker.line,endBufferLine:e.marker.line}),this._zonePool.push(this._zones[this._zones.length-1]),this._zonePoolIndex++}}setPadding(e){this._linePadding=e}_lineIntersectsZone(e,t){return t>=e.startBufferLine&&t<=e.endBufferLine}_lineAdjacentToZone(e,t,n){return t>=e.startBufferLine-this._linePadding[n||`full`]&&t<=e.endBufferLine+this._linePadding[n||`full`]}_addLineToZone(e,t){e.startBufferLine=Math.min(e.startBufferLine,t),e.endBufferLine=Math.max(e.endBufferLine,t)}}},5744:function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,a=arguments.length,o=a<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}};Object.defineProperty(t,`__esModule`,{value:!0}),t.OverviewRulerRenderer=void 0;let a=n(5871),o=n(4725),s=n(844),c=n(2585),l={full:0,left:0,center:0,right:0},u={full:0,left:0,center:0,right:0},d={full:0,left:0,center:0,right:0},f=t.OverviewRulerRenderer=class extends s.Disposable{get _width(){return this._optionsService.options.overviewRulerWidth||0}constructor(e,t,n,r,i,o,c){super(),this._viewportElement=e,this._screenElement=t,this._bufferService=n,this._decorationService=r,this._renderService=i,this._optionsService=o,this._coreBrowserService=c,this._colorZoneStore=new a.ColorZoneStore,this._shouldUpdateDimensions=!0,this._shouldUpdateAnchor=!0,this._lastKnownBufferLength=0,this._canvas=this._coreBrowserService.mainDocument.createElement(`canvas`),this._canvas.classList.add(`xterm-decoration-overview-ruler`),this._refreshCanvasDimensions(),this._viewportElement.parentElement?.insertBefore(this._canvas,this._viewportElement);let l=this._canvas.getContext(`2d`);if(!l)throw Error(`Ctx cannot be null`);this._ctx=l,this._registerDecorationListeners(),this._registerBufferChangeListeners(),this._registerDimensionChangeListeners(),this.register((0,s.toDisposable)((()=>{this._canvas?.remove()})))}_registerDecorationListeners(){this.register(this._decorationService.onDecorationRegistered((()=>this._queueRefresh(void 0,!0)))),this.register(this._decorationService.onDecorationRemoved((()=>this._queueRefresh(void 0,!0))))}_registerBufferChangeListeners(){this.register(this._renderService.onRenderedViewportChange((()=>this._queueRefresh()))),this.register(this._bufferService.buffers.onBufferActivate((()=>{this._canvas.style.display=this._bufferService.buffer===this._bufferService.buffers.alt?`none`:`block`}))),this.register(this._bufferService.onScroll((()=>{this._lastKnownBufferLength!==this._bufferService.buffers.normal.lines.length&&(this._refreshDrawHeightConstants(),this._refreshColorZonePadding())})))}_registerDimensionChangeListeners(){this.register(this._renderService.onRender((()=>{this._containerHeight&&this._containerHeight===this._screenElement.clientHeight||(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)}))),this.register(this._optionsService.onSpecificOptionChange(`overviewRulerWidth`,(()=>this._queueRefresh(!0)))),this.register(this._coreBrowserService.onDprChange((()=>this._queueRefresh(!0)))),this._queueRefresh(!0)}_refreshDrawConstants(){let e=Math.floor(this._canvas.width/3),t=Math.ceil(this._canvas.width/3);u.full=this._canvas.width,u.left=e,u.center=t,u.right=e,this._refreshDrawHeightConstants(),d.full=0,d.left=0,d.center=u.left,d.right=u.left+u.center}_refreshDrawHeightConstants(){l.full=Math.round(2*this._coreBrowserService.dpr);let e=this._canvas.height/this._bufferService.buffer.lines.length,t=Math.round(Math.max(Math.min(e,12),6)*this._coreBrowserService.dpr);l.left=t,l.center=t,l.right=t}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*l.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*l.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*l.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*l.right)}),this._lastKnownBufferLength=this._bufferService.buffers.normal.lines.length}_refreshCanvasDimensions(){this._canvas.style.width=`${this._width}px`,this._canvas.width=Math.round(this._width*this._coreBrowserService.dpr),this._canvas.style.height=`${this._screenElement.clientHeight}px`,this._canvas.height=Math.round(this._screenElement.clientHeight*this._coreBrowserService.dpr),this._refreshDrawConstants(),this._refreshColorZonePadding()}_refreshDecorations(){this._shouldUpdateDimensions&&this._refreshCanvasDimensions(),this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height),this._colorZoneStore.clear();for(let e of this._decorationService.decorations)this._colorZoneStore.addDecoration(e);this._ctx.lineWidth=1;let e=this._colorZoneStore.zones;for(let t of e)t.position!==`full`&&this._renderColorZone(t);for(let t of e)t.position===`full`&&this._renderColorZone(t);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderColorZone(e){this._ctx.fillStyle=e.color,this._ctx.fillRect(d[e.position||`full`],Math.round((this._canvas.height-1)*(e.startBufferLine/this._bufferService.buffers.active.lines.length)-l[e.position||`full`]/2),u[e.position||`full`],Math.round((this._canvas.height-1)*((e.endBufferLine-e.startBufferLine)/this._bufferService.buffers.active.lines.length)+l[e.position||`full`]))}_queueRefresh(e,t){this._shouldUpdateDimensions=e||this._shouldUpdateDimensions,this._shouldUpdateAnchor=t||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>{this._refreshDecorations(),this._animationFrame=void 0})))}};t.OverviewRulerRenderer=f=r([i(2,c.IBufferService),i(3,c.IDecorationService),i(4,o.IRenderService),i(5,c.IOptionsService),i(6,o.ICoreBrowserService)],f)},2950:function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,a=arguments.length,o=a<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}};Object.defineProperty(t,`__esModule`,{value:!0}),t.CompositionHelper=void 0;let a=n(4725),o=n(2585),s=n(2584),c=t.CompositionHelper=class{get isComposing(){return this._isComposing}constructor(e,t,n,r,i,a){this._textarea=e,this._compositionView=t,this._bufferService=n,this._optionsService=r,this._coreService=i,this._renderService=a,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=``}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent=``,this._dataAlreadySent=``,this._compositionView.classList.add(`active`)}compositionupdate(e){this._compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout((()=>{this._compositionPosition.end=this._textarea.value.length}),0)}compositionend(){this._finalizeComposition(!0)}keydown(e){if(this._isComposing||this._isSendingComposition){if(e.keyCode===229||e.keyCode===16||e.keyCode===17||e.keyCode===18)return!1;this._finalizeComposition(!1)}return e.keyCode!==229||(this._handleAnyTextareaChanges(),!1)}_finalizeComposition(e){if(this._compositionView.classList.remove(`active`),this._isComposing=!1,e){let e={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout((()=>{if(this._isSendingComposition){let t;this._isSendingComposition=!1,e.start+=this._dataAlreadySent.length,t=this._isComposing?this._textarea.value.substring(e.start,e.end):this._textarea.value.substring(e.start),t.length>0&&this._coreService.triggerDataEvent(t,!0)}}),0)}else{this._isSendingComposition=!1;let e=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(e,!0)}}_handleAnyTextareaChanges(){let e=this._textarea.value;setTimeout((()=>{if(!this._isComposing){let t=this._textarea.value,n=t.replace(e,``);this._dataAlreadySent=n,t.length>e.length?this._coreService.triggerDataEvent(n,!0):t.length<e.length?this._coreService.triggerDataEvent(`${s.C0.DEL}`,!0):t.length===e.length&&t!==e&&this._coreService.triggerDataEvent(t,!0)}}),0)}updateCompositionElements(e){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){let e=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),t=this._renderService.dimensions.css.cell.height,n=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,r=e*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=r+`px`,this._compositionView.style.top=n+`px`,this._compositionView.style.height=t+`px`,this._compositionView.style.lineHeight=t+`px`,this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+`px`;let i=this._compositionView.getBoundingClientRect();this._textarea.style.left=r+`px`,this._textarea.style.top=n+`px`,this._textarea.style.width=Math.max(i.width,1)+`px`,this._textarea.style.height=Math.max(i.height,1)+`px`,this._textarea.style.lineHeight=i.height+`px`}e||setTimeout((()=>this.updateCompositionElements(!0)),0)}}};t.CompositionHelper=c=r([i(2,o.IBufferService),i(3,o.IOptionsService),i(4,o.ICoreService),i(5,a.IRenderService)],c)},9806:(e,t)=>{function n(e,t,n){let r=n.getBoundingClientRect(),i=e.getComputedStyle(n),a=parseInt(i.getPropertyValue(`padding-left`)),o=parseInt(i.getPropertyValue(`padding-top`));return[t.clientX-r.left-a,t.clientY-r.top-o]}Object.defineProperty(t,`__esModule`,{value:!0}),t.getCoords=t.getCoordsRelativeToElement=void 0,t.getCoordsRelativeToElement=n,t.getCoords=function(e,t,r,i,a,o,s,c,l){if(!o)return;let u=n(e,t,r);return u?(u[0]=Math.ceil((u[0]+(l?s/2:0))/s),u[1]=Math.ceil(u[1]/c),u[0]=Math.min(Math.max(u[0],1),i+(l?1:0)),u[1]=Math.min(Math.max(u[1],1),a),u):void 0}},9504:(e,t,n)=>{Object.defineProperty(t,`__esModule`,{value:!0}),t.moveToCellSequence=void 0;let r=n(2584);function i(e,t,n,r){let i=e-a(e,n),s=t-a(t,n);return l(Math.abs(i-s)-function(e,t,n){let r=0,i=e-a(e,n),s=t-a(t,n);for(let a=0;a<Math.abs(i-s);a++){let s=o(e,t)===`A`?-1:1;n.buffer.lines.get(i+s*a)?.isWrapped&&r++}return r}(e,t,n),c(o(e,t),r))}function a(e,t){let n=0,r=t.buffer.lines.get(e),i=r?.isWrapped;for(;i&&e>=0&&e<t.rows;)n++,r=t.buffer.lines.get(--e),i=r?.isWrapped;return n}function o(e,t){return e>t?`A`:`B`}function s(e,t,n,r,i,a){let o=e,s=t,c=``;for(;o!==n||s!==r;)o+=i?1:-1,i&&o>a.cols-1?(c+=a.buffer.translateBufferLineToString(s,!1,e,o),o=0,e=0,s++):!i&&o<0&&(c+=a.buffer.translateBufferLineToString(s,!1,0,e+1),o=a.cols-1,e=o,s--);return c+a.buffer.translateBufferLineToString(s,!1,e,o)}function c(e,t){let n=t?`O`:`[`;return r.C0.ESC+n+e}function l(e,t){e=Math.floor(e);let n=``;for(let r=0;r<e;r++)n+=t;return n}t.moveToCellSequence=function(e,t,n,r){let o=n.buffer.x,u=n.buffer.y;if(!n.buffer.hasScrollback)return function(e,t,n,r,o,u){return i(t,r,o,u).length===0?``:l(s(e,t,e,t-a(t,o),!1,o).length,c(`D`,u))}(o,u,0,t,n,r)+i(u,t,n,r)+function(e,t,n,r,o,u){let d;d=i(t,r,o,u).length>0?r-a(r,o):t;let f=r,p=function(e,t,n,r,o,s){let c;return c=i(n,r,o,s).length>0?r-a(r,o):t,e<n&&c<=r||e>=n&&c<r?`C`:`D`}(e,t,n,r,o,u);return l(s(e,d,n,f,p===`C`,o).length,c(p,u))}(o,u,e,t,n,r);let d;if(u===t)return d=o>e?`D`:`C`,l(Math.abs(o-e),c(d,r));d=u>t?`D`:`C`;let f=Math.abs(u-t);return l(function(e,t){return t.cols-e}(u>t?e:o,n)+(f-1)*n.cols+1+((u>t?o:e)-1),c(d,r))}},1296:function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,a=arguments.length,o=a<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}};Object.defineProperty(t,`__esModule`,{value:!0}),t.DomRenderer=void 0;let a=n(3787),o=n(2550),s=n(2223),c=n(6171),l=n(6052),u=n(4725),d=n(8055),f=n(8460),p=n(844),m=n(2585),h=`xterm-dom-renderer-owner-`,g=`xterm-rows`,_=`xterm-fg-`,v=`xterm-bg-`,y=`xterm-focus`,b=`xterm-selection`,x=1,S=t.DomRenderer=class extends p.Disposable{constructor(e,t,n,r,i,s,u,d,m,_,v,y,S){super(),this._terminal=e,this._document=t,this._element=n,this._screenElement=r,this._viewportElement=i,this._helperContainer=s,this._linkifier2=u,this._charSizeService=m,this._optionsService=_,this._bufferService=v,this._coreBrowserService=y,this._themeService=S,this._terminalClass=x++,this._rowElements=[],this._selectionRenderModel=(0,l.createSelectionRenderModel)(),this.onRequestRedraw=this.register(new f.EventEmitter).event,this._rowContainer=this._document.createElement(`div`),this._rowContainer.classList.add(g),this._rowContainer.style.lineHeight=`normal`,this._rowContainer.setAttribute(`aria-hidden`,`true`),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=this._document.createElement(`div`),this._selectionContainer.classList.add(b),this._selectionContainer.setAttribute(`aria-hidden`,`true`),this.dimensions=(0,c.createRenderDimensions)(),this._updateDimensions(),this.register(this._optionsService.onOptionChange((()=>this._handleOptionsChanged()))),this.register(this._themeService.onChangeColors((e=>this._injectCss(e)))),this._injectCss(this._themeService.colors),this._rowFactory=d.createInstance(a.DomRendererRowFactory,document),this._element.classList.add(h+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this.register(this._linkifier2.onShowLinkUnderline((e=>this._handleLinkHover(e)))),this.register(this._linkifier2.onHideLinkUnderline((e=>this._handleLinkLeave(e)))),this.register((0,p.toDisposable)((()=>{this._element.classList.remove(h+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()}))),this._widthCache=new o.WidthCache(this._document,this._helperContainer),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}_updateDimensions(){let e=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*e,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*e),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.left=0,this.dimensions.device.char.top=0,this.dimensions.device.canvas.width=this.dimensions.device.cell.width*this._bufferService.cols,this.dimensions.device.canvas.height=this.dimensions.device.cell.height*this._bufferService.rows,this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/e),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/e),this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols,this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows;for(let e of this._rowElements)e.style.width=`${this.dimensions.css.canvas.width}px`,e.style.height=`${this.dimensions.css.cell.height}px`,e.style.lineHeight=`${this.dimensions.css.cell.height}px`,e.style.overflow=`hidden`;this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement(`style`),this._screenElement.appendChild(this._dimensionsStyleElement));let t=`${this._terminalSelector} .${g} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=t,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}_injectCss(e){this._themeStyleElement||(this._themeStyleElement=this._document.createElement(`style`),this._screenElement.appendChild(this._themeStyleElement));let t=`${this._terminalSelector} .${g} { color: ${e.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;t+=`${this._terminalSelector} .${g} .xterm-dim { color: ${d.color.multiplyOpacity(e.foreground,.5).css};}`,t+=`${this._terminalSelector} span:not(.xterm-bold) { font-weight: ${this._optionsService.rawOptions.fontWeight};}${this._terminalSelector} span.xterm-bold { font-weight: ${this._optionsService.rawOptions.fontWeightBold};}${this._terminalSelector} span.xterm-italic { font-style: italic;}`;let n=`blink_underline_${this._terminalClass}`,r=`blink_bar_${this._terminalClass}`,i=`blink_block_${this._terminalClass}`;t+=`@keyframes ${n} { 50% { border-bottom-style: hidden; }}`,t+=`@keyframes ${r} { 50% { box-shadow: none; }}`,t+=`@keyframes ${i} { 0% { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css}; } 50% { background-color: inherit; color: ${e.cursor.css}; }}`,t+=`${this._terminalSelector} .${g}.${y} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${n} 1s step-end infinite;}${this._terminalSelector} .${g}.${y} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${r} 1s step-end infinite;}${this._terminalSelector} .${g}.${y} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${i} 1s step-end infinite;}${this._terminalSelector} .${g} .xterm-cursor.xterm-cursor-block { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css};}${this._terminalSelector} .${g} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${e.cursor.css} !important; color: ${e.cursorAccent.css} !important;}${this._terminalSelector} .${g} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${e.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${g} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${e.cursor.css} inset;}${this._terminalSelector} .${g} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${e.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,t+=`${this._terminalSelector} .${b} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${b} div { position: absolute; background-color: ${e.selectionBackgroundOpaque.css};}${this._terminalSelector} .${b} div { position: absolute; background-color: ${e.selectionInactiveBackgroundOpaque.css};}`;for(let[n,r]of e.ansi.entries())t+=`${this._terminalSelector} .${_}${n} { color: ${r.css}; }${this._terminalSelector} .${_}${n}.xterm-dim { color: ${d.color.multiplyOpacity(r,.5).css}; }${this._terminalSelector} .${v}${n} { background-color: ${r.css}; }`;t+=`${this._terminalSelector} .${_}${s.INVERTED_DEFAULT_COLOR} { color: ${d.color.opaque(e.background).css}; }${this._terminalSelector} .${_}${s.INVERTED_DEFAULT_COLOR}.xterm-dim { color: ${d.color.multiplyOpacity(d.color.opaque(e.background),.5).css}; }${this._terminalSelector} .${v}${s.INVERTED_DEFAULT_COLOR} { background-color: ${e.foreground.css}; }`,this._themeStyleElement.textContent=t}_setDefaultSpacing(){let e=this.dimensions.css.cell.width-this._widthCache.get(`W`,!1,!1);this._rowContainer.style.letterSpacing=`${e}px`,this._rowFactory.defaultSpacing=e}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(e,t){for(let e=this._rowElements.length;e<=t;e++){let e=this._document.createElement(`div`);this._rowContainer.appendChild(e),this._rowElements.push(e)}for(;this._rowElements.length>t;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(e,t){this._refreshRowElements(e,t),this._updateDimensions(),this.handleSelectionChanged(this._selectionRenderModel.selectionStart,this._selectionRenderModel.selectionEnd,this._selectionRenderModel.columnSelectMode)}handleCharSizeChanged(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}handleBlur(){this._rowContainer.classList.remove(y),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(y),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(e,t,n){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(e,t,n),this.renderRows(0,this._bufferService.rows-1),!e||!t)return;this._selectionRenderModel.update(this._terminal,e,t,n);let r=this._selectionRenderModel.viewportStartRow,i=this._selectionRenderModel.viewportEndRow,a=this._selectionRenderModel.viewportCappedStartRow,o=this._selectionRenderModel.viewportCappedEndRow;if(a>=this._bufferService.rows||o<0)return;let s=this._document.createDocumentFragment();if(n){let n=e[0]>t[0];s.appendChild(this._createSelectionElement(a,n?t[0]:e[0],n?e[0]:t[0],o-a+1))}else{let n=r===a?e[0]:0,c=a===i?t[0]:this._bufferService.cols;s.appendChild(this._createSelectionElement(a,n,c));let l=o-a-1;if(s.appendChild(this._createSelectionElement(a+1,0,this._bufferService.cols,l)),a!==o){let e=i===o?t[0]:this._bufferService.cols;s.appendChild(this._createSelectionElement(o,0,e))}}this._selectionContainer.appendChild(s)}_createSelectionElement(e,t,n,r=1){let i=this._document.createElement(`div`),a=t*this.dimensions.css.cell.width,o=this.dimensions.css.cell.width*(n-t);return a+o>this.dimensions.css.canvas.width&&(o=this.dimensions.css.canvas.width-a),i.style.height=r*this.dimensions.css.cell.height+`px`,i.style.top=e*this.dimensions.css.cell.height+`px`,i.style.left=`${a}px`,i.style.width=`${o}px`,i}handleCursorMove(){}_handleOptionsChanged(){this._updateDimensions(),this._injectCss(this._themeService.colors),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}clear(){for(let e of this._rowElements)e.replaceChildren()}renderRows(e,t){let n=this._bufferService.buffer,r=n.ybase+n.y,i=Math.min(n.x,this._bufferService.cols-1),a=this._optionsService.rawOptions.cursorBlink,o=this._optionsService.rawOptions.cursorStyle,s=this._optionsService.rawOptions.cursorInactiveStyle;for(let c=e;c<=t;c++){let e=c+n.ydisp,t=this._rowElements[c],l=n.lines.get(e);if(!t||!l)break;t.replaceChildren(...this._rowFactory.createRow(l,e,e===r,o,s,i,a,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${h}${this._terminalClass}`}_handleLinkHover(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!0)}_handleLinkLeave(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!1)}_setCellUnderline(e,t,n,r,i,a){n<0&&(e=0),r<0&&(t=0);let o=this._bufferService.rows-1;n=Math.max(Math.min(n,o),0),r=Math.max(Math.min(r,o),0),i=Math.min(i,this._bufferService.cols);let s=this._bufferService.buffer,c=s.ybase+s.y,l=Math.min(s.x,i-1),u=this._optionsService.rawOptions.cursorBlink,d=this._optionsService.rawOptions.cursorStyle,f=this._optionsService.rawOptions.cursorInactiveStyle;for(let o=n;o<=r;++o){let p=o+s.ydisp,m=this._rowElements[o],h=s.lines.get(p);if(!m||!h)break;m.replaceChildren(...this._rowFactory.createRow(h,p,p===c,d,f,l,u,this.dimensions.css.cell.width,this._widthCache,a?o===n?e:0:-1,a?(o===r?t:i)-1:-1))}}};t.DomRenderer=S=r([i(7,m.IInstantiationService),i(8,u.ICharSizeService),i(9,m.IOptionsService),i(10,m.IBufferService),i(11,u.ICoreBrowserService),i(12,u.IThemeService)],S)},3787:function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,a=arguments.length,o=a<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}};Object.defineProperty(t,`__esModule`,{value:!0}),t.DomRendererRowFactory=void 0;let a=n(2223),o=n(643),s=n(511),c=n(2585),l=n(8055),u=n(4725),d=n(4269),f=n(6171),p=n(3734),m=t.DomRendererRowFactory=class{constructor(e,t,n,r,i,a,o){this._document=e,this._characterJoinerService=t,this._optionsService=n,this._coreBrowserService=r,this._coreService=i,this._decorationService=a,this._themeService=o,this._workCell=new s.CellData,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(e,t,n){this._selectionStart=e,this._selectionEnd=t,this._columnSelectMode=n}createRow(e,t,n,r,i,s,c,u,f,m,g){let _=[],v=this._characterJoinerService.getJoinedCharacters(t),y=this._themeService.colors,b,x=e.getNoBgTrimmedLength();n&&x<s+1&&(x=s+1);let S=0,C=``,w=0,T=0,E=0,D=!1,O=0,k=!1,A=0,j=[],M=m!==-1&&g!==-1;for(let N=0;N<x;N++){e.loadCell(N,this._workCell);let x=this._workCell.getWidth();if(x===0)continue;let P=!1,ee=N,F=this._workCell;if(v.length>0&&N===v[0][0]){P=!0;let t=v.shift();F=new d.JoinedCellData(this._workCell,e.translateToString(!0,t[0],t[1]),t[1]-t[0]),ee=t[1]-1,x=F.getWidth()}let te=this._isCellInSelection(N,t),I=n&&N===s,ne=M&&N>=m&&N<=g,re=!1;this._decorationService.forEachDecorationAtCell(N,t,void 0,(e=>{re=!0}));let ie=F.getChars()||o.WHITESPACE_CELL_CHAR;if(ie===` `&&(F.isUnderline()||F.isOverline())&&(ie=`\xA0`),A=x*u-f.get(ie,F.isBold(),F.isItalic()),b){if(S&&(te&&k||!te&&!k&&F.bg===w)&&(te&&k&&y.selectionForeground||F.fg===T)&&F.extended.ext===E&&ne===D&&A===O&&!I&&!P&&!re){F.isInvisible()?C+=o.WHITESPACE_CELL_CHAR:C+=ie,S++;continue}S&&(b.textContent=C),b=this._document.createElement(`span`),S=0,C=``}else b=this._document.createElement(`span`);if(w=F.bg,T=F.fg,E=F.extended.ext,D=ne,O=A,k=te,P&&s>=N&&s<=ee&&(s=N),!this._coreService.isCursorHidden&&I&&this._coreService.isCursorInitialized){if(j.push(`xterm-cursor`),this._coreBrowserService.isFocused)c&&j.push(`xterm-cursor-blink`),j.push(r===`bar`?`xterm-cursor-bar`:r===`underline`?`xterm-cursor-underline`:`xterm-cursor-block`);else if(i)switch(i){case`outline`:j.push(`xterm-cursor-outline`);break;case`block`:j.push(`xterm-cursor-block`);break;case`bar`:j.push(`xterm-cursor-bar`);break;case`underline`:j.push(`xterm-cursor-underline`)}}if(F.isBold()&&j.push(`xterm-bold`),F.isItalic()&&j.push(`xterm-italic`),F.isDim()&&j.push(`xterm-dim`),C=F.isInvisible()?o.WHITESPACE_CELL_CHAR:F.getChars()||o.WHITESPACE_CELL_CHAR,F.isUnderline()&&(j.push(`xterm-underline-${F.extended.underlineStyle}`),C===` `&&(C=`\xA0`),!F.isUnderlineColorDefault()))if(F.isUnderlineColorRGB())b.style.textDecorationColor=`rgb(${p.AttributeData.toColorRGB(F.getUnderlineColor()).join(`,`)})`;else{let e=F.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&F.isBold()&&e<8&&(e+=8),b.style.textDecorationColor=y.ansi[e].css}F.isOverline()&&(j.push(`xterm-overline`),C===` `&&(C=`\xA0`)),F.isStrikethrough()&&j.push(`xterm-strikethrough`),ne&&(b.style.textDecoration=`underline`);let L=F.getFgColor(),ae=F.getFgColorMode(),oe=F.getBgColor(),se=F.getBgColorMode(),ce=!!F.isInverse();if(ce){let e=L;L=oe,oe=e;let t=ae;ae=se,se=t}let le,ue,de,fe=!1;switch(this._decorationService.forEachDecorationAtCell(N,t,void 0,(e=>{e.options.layer!==`top`&&fe||(e.backgroundColorRGB&&(se=50331648,oe=e.backgroundColorRGB.rgba>>8&16777215,le=e.backgroundColorRGB),e.foregroundColorRGB&&(ae=50331648,L=e.foregroundColorRGB.rgba>>8&16777215,ue=e.foregroundColorRGB),fe=e.options.layer===`top`)})),!fe&&te&&(le=this._coreBrowserService.isFocused?y.selectionBackgroundOpaque:y.selectionInactiveBackgroundOpaque,oe=le.rgba>>8&16777215,se=50331648,fe=!0,y.selectionForeground&&(ae=50331648,L=y.selectionForeground.rgba>>8&16777215,ue=y.selectionForeground)),fe&&j.push(`xterm-decoration-top`),se){case 16777216:case 33554432:de=y.ansi[oe],j.push(`xterm-bg-${oe}`);break;case 50331648:de=l.channels.toColor(oe>>16,oe>>8&255,255&oe),this._addStyle(b,`background-color:#${h((oe>>>0).toString(16),`0`,6)}`);break;default:ce?(de=y.foreground,j.push(`xterm-bg-${a.INVERTED_DEFAULT_COLOR}`)):de=y.background}switch(le||F.isDim()&&(le=l.color.multiplyOpacity(de,.5)),ae){case 16777216:case 33554432:F.isBold()&&L<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(L+=8),this._applyMinimumContrast(b,de,y.ansi[L],F,le,void 0)||j.push(`xterm-fg-${L}`);break;case 50331648:let e=l.channels.toColor(L>>16&255,L>>8&255,255&L);this._applyMinimumContrast(b,de,e,F,le,ue)||this._addStyle(b,`color:#${h(L.toString(16),`0`,6)}`);break;default:this._applyMinimumContrast(b,de,y.foreground,F,le,ue)||ce&&j.push(`xterm-fg-${a.INVERTED_DEFAULT_COLOR}`)}j.length&&=(b.className=j.join(` `),0),I||P||re?b.textContent=C:S++,A!==this.defaultSpacing&&(b.style.letterSpacing=`${A}px`),_.push(b),N=ee}return b&&S&&(b.textContent=C),_}_applyMinimumContrast(e,t,n,r,i,a){if(this._optionsService.rawOptions.minimumContrastRatio===1||(0,f.treatGlyphAsBackgroundColor)(r.getCode()))return!1;let o=this._getContrastCache(r),s;if(i||a||(s=o.getColor(t.rgba,n.rgba)),s===void 0){let e=this._optionsService.rawOptions.minimumContrastRatio/(r.isDim()?2:1);s=l.color.ensureContrastRatio(i||t,a||n,e),o.setColor((i||t).rgba,(a||n).rgba,s??null)}return!!s&&(this._addStyle(e,`color:${s.css}`),!0)}_getContrastCache(e){return e.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(e,t){e.setAttribute(`style`,`${e.getAttribute(`style`)||``}${t};`)}_isCellInSelection(e,t){let n=this._selectionStart,r=this._selectionEnd;return!(!n||!r)&&(this._columnSelectMode?n[0]<=r[0]?e>=n[0]&&t>=n[1]&&e<r[0]&&t<=r[1]:e<n[0]&&t>=n[1]&&e>=r[0]&&t<=r[1]:t>n[1]&&t<r[1]||n[1]===r[1]&&t===n[1]&&e>=n[0]&&e<r[0]||n[1]<r[1]&&t===r[1]&&e<r[0]||n[1]<r[1]&&t===n[1]&&e>=n[0])}};function h(e,t,n){for(;e.length<n;)e=t+e;return e}t.DomRendererRowFactory=m=r([i(1,u.ICharacterJoinerService),i(2,c.IOptionsService),i(3,u.ICoreBrowserService),i(4,c.ICoreService),i(5,c.IDecorationService),i(6,u.IThemeService)],m)},2550:(e,t)=>{Object.defineProperty(t,`__esModule`,{value:!0}),t.WidthCache=void 0,t.WidthCache=class{constructor(e,t){this._flat=new Float32Array(256),this._font=``,this._fontSize=0,this._weight=`normal`,this._weightBold=`bold`,this._measureElements=[],this._container=e.createElement(`div`),this._container.classList.add(`xterm-width-cache-measure-container`),this._container.setAttribute(`aria-hidden`,`true`),this._container.style.whiteSpace=`pre`,this._container.style.fontKerning=`none`;let n=e.createElement(`span`);n.classList.add(`xterm-char-measure-element`);let r=e.createElement(`span`);r.classList.add(`xterm-char-measure-element`),r.style.fontWeight=`bold`;let i=e.createElement(`span`);i.classList.add(`xterm-char-measure-element`),i.style.fontStyle=`italic`;let a=e.createElement(`span`);a.classList.add(`xterm-char-measure-element`),a.style.fontWeight=`bold`,a.style.fontStyle=`italic`,this._measureElements=[n,r,i,a],this._container.appendChild(n),this._container.appendChild(r),this._container.appendChild(i),this._container.appendChild(a),t.appendChild(this._container),this.clear()}dispose(){this._container.remove(),this._measureElements.length=0,this._holey=void 0}clear(){this._flat.fill(-9999),this._holey=new Map}setFont(e,t,n,r){e===this._font&&t===this._fontSize&&n===this._weight&&r===this._weightBold||(this._font=e,this._fontSize=t,this._weight=n,this._weightBold=r,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${n}`,this._measureElements[1].style.fontWeight=`${r}`,this._measureElements[2].style.fontWeight=`${n}`,this._measureElements[3].style.fontWeight=`${r}`,this.clear())}get(e,t,n){let r=0;if(!t&&!n&&e.length===1&&(r=e.charCodeAt(0))<256){if(this._flat[r]!==-9999)return this._flat[r];let t=this._measure(e,0);return t>0&&(this._flat[r]=t),t}let i=e;t&&(i+=`B`),n&&(i+=`I`);let a=this._holey.get(i);if(a===void 0){let r=0;t&&(r|=1),n&&(r|=2),a=this._measure(e,r),a>0&&this._holey.set(i,a)}return a}_measure(e,t){let n=this._measureElements[t];return n.textContent=e.repeat(32),n.offsetWidth/32}}},2223:(e,t,n)=>{Object.defineProperty(t,`__esModule`,{value:!0}),t.TEXT_BASELINE=t.DIM_OPACITY=t.INVERTED_DEFAULT_COLOR=void 0;let r=n(6114);t.INVERTED_DEFAULT_COLOR=257,t.DIM_OPACITY=.5,t.TEXT_BASELINE=r.isFirefox||r.isLegacyEdge?`bottom`:`ideographic`},6171:(e,t)=>{function n(e){return 57508<=e&&e<=57558}function r(e){return e>=128512&&e<=128591||e>=127744&&e<=128511||e>=128640&&e<=128767||e>=9728&&e<=9983||e>=9984&&e<=10175||e>=65024&&e<=65039||e>=129280&&e<=129535||e>=127462&&e<=127487}Object.defineProperty(t,`__esModule`,{value:!0}),t.computeNextVariantOffset=t.createRenderDimensions=t.treatGlyphAsBackgroundColor=t.allowRescaling=t.isEmoji=t.isRestrictedPowerlineGlyph=t.isPowerlineGlyph=t.throwIfFalsy=void 0,t.throwIfFalsy=function(e){if(!e)throw Error(`value must not be falsy`);return e},t.isPowerlineGlyph=n,t.isRestrictedPowerlineGlyph=function(e){return 57520<=e&&e<=57527},t.isEmoji=r,t.allowRescaling=function(e,t,i,a){return t===1&&i>Math.ceil(1.5*a)&&e!==void 0&&e>255&&!r(e)&&!n(e)&&!function(e){return 57344<=e&&e<=63743}(e)},t.treatGlyphAsBackgroundColor=function(e){return n(e)||function(e){return 9472<=e&&e<=9631}(e)},t.createRenderDimensions=function(){return{css:{canvas:{width:0,height:0},cell:{width:0,height:0}},device:{canvas:{width:0,height:0},cell:{width:0,height:0},char:{width:0,height:0,left:0,top:0}}}},t.computeNextVariantOffset=function(e,t,n=0){return(e-(2*Math.round(t)-n))%(2*Math.round(t))}},6052:(e,t)=>{Object.defineProperty(t,`__esModule`,{value:!0}),t.createSelectionRenderModel=void 0;class n{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(e,t,n,r=!1){if(this.selectionStart=t,this.selectionEnd=n,!t||!n||t[0]===n[0]&&t[1]===n[1])return void this.clear();let i=e.buffers.active.ydisp,a=t[1]-i,o=n[1]-i,s=Math.max(a,0),c=Math.min(o,e.rows-1);s>=e.rows||c<0?this.clear():(this.hasSelection=!0,this.columnSelectMode=r,this.viewportStartRow=a,this.viewportEndRow=o,this.viewportCappedStartRow=s,this.viewportCappedEndRow=c,this.startCol=t[0],this.endCol=n[0])}isCellSelected(e,t,n){return!!this.hasSelection&&(n-=e.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?t>=this.startCol&&n>=this.viewportCappedStartRow&&t<this.endCol&&n<=this.viewportCappedEndRow:t<this.startCol&&n>=this.viewportCappedStartRow&&t>=this.endCol&&n<=this.viewportCappedEndRow:n>this.viewportStartRow&&n<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&n===this.viewportStartRow&&t>=this.startCol&&t<this.endCol||this.viewportStartRow<this.viewportEndRow&&n===this.viewportEndRow&&t<this.endCol||this.viewportStartRow<this.viewportEndRow&&n===this.viewportStartRow&&t>=this.startCol)}}t.createSelectionRenderModel=function(){return new n}},456:(e,t)=>{Object.defineProperty(t,`__esModule`,{value:!0}),t.SelectionModel=void 0,t.SelectionModel=class{constructor(e){this._bufferService=e,this.isSelectAllActive=!1,this.selectionStartLength=0}clearSelection(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0}get finalSelectionStart(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart}get finalSelectionEnd(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){let e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?e%this._bufferService.cols==0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)-1]:[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[e,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){let e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[Math.max(e,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){let e=this.selectionStart,t=this.selectionEnd;return!(!e||!t)&&(e[1]>t[1]||e[1]===t[1]&&e[0]>t[0])}handleTrim(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}}},428:function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,a=arguments.length,o=a<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}};Object.defineProperty(t,`__esModule`,{value:!0}),t.CharSizeService=void 0;let a=n(2585),o=n(8460),s=n(844),c=t.CharSizeService=class extends s.Disposable{get hasValidSize(){return this.width>0&&this.height>0}constructor(e,t,n){super(),this._optionsService=n,this.width=0,this.height=0,this._onCharSizeChange=this.register(new o.EventEmitter),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this.register(new d(this._optionsService))}catch{this._measureStrategy=this.register(new u(e,t,this._optionsService))}this.register(this._optionsService.onMultipleOptionChange([`fontFamily`,`fontSize`],(()=>this.measure())))}measure(){let e=this._measureStrategy.measure();e.width===this.width&&e.height===this.height||(this.width=e.width,this.height=e.height,this._onCharSizeChange.fire())}};t.CharSizeService=c=r([i(2,a.IOptionsService)],c);class l extends s.Disposable{constructor(){super(...arguments),this._result={width:0,height:0}}_validateAndSet(e,t){e!==void 0&&e>0&&t!==void 0&&t>0&&(this._result.width=e,this._result.height=t)}}class u extends l{constructor(e,t,n){super(),this._document=e,this._parentElement=t,this._optionsService=n,this._measureElement=this._document.createElement(`span`),this._measureElement.classList.add(`xterm-char-measure-element`),this._measureElement.textContent=`W`.repeat(32),this._measureElement.setAttribute(`aria-hidden`,`true`),this._measureElement.style.whiteSpace=`pre`,this._measureElement.style.fontKerning=`none`,this._parentElement.appendChild(this._measureElement)}measure(){return this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`,this._validateAndSet(Number(this._measureElement.offsetWidth)/32,Number(this._measureElement.offsetHeight)),this._result}}class d extends l{constructor(e){super(),this._optionsService=e,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext(`2d`);let t=this._ctx.measureText(`W`);if(!(`width`in t&&`fontBoundingBoxAscent`in t&&`fontBoundingBoxDescent`in t))throw Error(`Required font metrics not supported`)}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;let e=this._ctx.measureText(`W`);return this._validateAndSet(e.width,e.fontBoundingBoxAscent+e.fontBoundingBoxDescent),this._result}}},4269:function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,a=arguments.length,o=a<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}};Object.defineProperty(t,`__esModule`,{value:!0}),t.CharacterJoinerService=t.JoinedCellData=void 0;let a=n(3734),o=n(643),s=n(511),c=n(2585);class l extends a.AttributeData{constructor(e,t,n){super(),this.content=0,this.combinedData=``,this.fg=e.fg,this.bg=e.bg,this.combinedData=t,this._width=n}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(e){throw Error(`not implemented`)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}t.JoinedCellData=l;let u=t.CharacterJoinerService=class e{constructor(e){this._bufferService=e,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new s.CellData}register(e){let t={id:this._nextCharacterJoinerId++,handler:e};return this._characterJoiners.push(t),t.id}deregister(e){for(let t=0;t<this._characterJoiners.length;t++)if(this._characterJoiners[t].id===e)return this._characterJoiners.splice(t,1),!0;return!1}getJoinedCharacters(e){if(this._characterJoiners.length===0)return[];let t=this._bufferService.buffer.lines.get(e);if(!t||t.length===0)return[];let n=[],r=t.translateToString(!0),i=0,a=0,s=0,c=t.getFg(0),l=t.getBg(0);for(let e=0;e<t.getTrimmedLength();e++)if(t.loadCell(e,this._workCell),this._workCell.getWidth()!==0){if(this._workCell.fg!==c||this._workCell.bg!==l){if(e-i>1){let e=this._getJoinedRanges(r,s,a,t,i);for(let t=0;t<e.length;t++)n.push(e[t])}i=e,s=a,c=this._workCell.fg,l=this._workCell.bg}a+=this._workCell.getChars().length||o.WHITESPACE_CELL_CHAR.length}if(this._bufferService.cols-i>1){let e=this._getJoinedRanges(r,s,a,t,i);for(let t=0;t<e.length;t++)n.push(e[t])}return n}_getJoinedRanges(t,n,r,i,a){let o=t.substring(n,r),s=[];try{s=this._characterJoiners[0].handler(o)}catch(e){console.error(e)}for(let t=1;t<this._characterJoiners.length;t++)try{let n=this._characterJoiners[t].handler(o);for(let t=0;t<n.length;t++)e._mergeRanges(s,n[t])}catch(e){console.error(e)}return this._stringRangesToCellRanges(s,i,a),s}_stringRangesToCellRanges(e,t,n){let r=0,i=!1,a=0,s=e[r];if(s){for(let c=n;c<this._bufferService.cols;c++){let n=t.getWidth(c),l=t.getString(c).length||o.WHITESPACE_CELL_CHAR.length;if(n!==0){if(!i&&s[0]<=a&&(s[0]=c,i=!0),s[1]<=a){if(s[1]=c,s=e[++r],!s)break;s[0]<=a?(s[0]=c,i=!0):i=!1}a+=l}}s&&(s[1]=this._bufferService.cols)}}static _mergeRanges(e,t){let n=!1;for(let r=0;r<e.length;r++){let i=e[r];if(n){if(t[1]<=i[0])return e[r-1][1]=t[1],e;if(t[1]<=i[1])return e[r-1][1]=Math.max(t[1],i[1]),e.splice(r,1),e;e.splice(r,1),r--}else{if(t[1]<=i[0])return e.splice(r,0,t),e;if(t[1]<=i[1])return i[0]=Math.min(t[0],i[0]),e;t[0]<i[1]&&(i[0]=Math.min(t[0],i[0]),n=!0)}}return n?e[e.length-1][1]=t[1]:e.push(t),e}};t.CharacterJoinerService=u=r([i(0,c.IBufferService)],u)},5114:(e,t,n)=>{Object.defineProperty(t,`__esModule`,{value:!0}),t.CoreBrowserService=void 0;let r=n(844),i=n(8460),a=n(3656);class o extends r.Disposable{constructor(e,t,n){super(),this._textarea=e,this._window=t,this.mainDocument=n,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=new s(this._window),this._onDprChange=this.register(new i.EventEmitter),this.onDprChange=this._onDprChange.event,this._onWindowChange=this.register(new i.EventEmitter),this.onWindowChange=this._onWindowChange.event,this.register(this.onWindowChange((e=>this._screenDprMonitor.setWindow(e)))),this.register((0,i.forwardEvent)(this._screenDprMonitor.onDprChange,this._onDprChange)),this._textarea.addEventListener(`focus`,(()=>this._isFocused=!0)),this._textarea.addEventListener(`blur`,(()=>this._isFocused=!1))}get window(){return this._window}set window(e){this._window!==e&&(this._window=e,this._onWindowChange.fire(this._window))}get dpr(){return this.window.devicePixelRatio}get isFocused(){return this._cachedIsFocused===void 0&&(this._cachedIsFocused=this._isFocused&&this._textarea.ownerDocument.hasFocus(),queueMicrotask((()=>this._cachedIsFocused=void 0))),this._cachedIsFocused}}t.CoreBrowserService=o;class s extends r.Disposable{constructor(e){super(),this._parentWindow=e,this._windowResizeListener=this.register(new r.MutableDisposable),this._onDprChange=this.register(new i.EventEmitter),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this.register((0,r.toDisposable)((()=>this.clearListener())))}setWindow(e){this._parentWindow=e,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=(0,a.addDisposableDomListener)(this._parentWindow,`resize`,(()=>this._setDprAndFireIfDiffers()))}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){this._outerListener&&(this._resolutionMediaMatchList?.removeListener(this._outerListener),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._resolutionMediaMatchList=this._parentWindow.matchMedia(`screen and (resolution: ${this._parentWindow.devicePixelRatio}dppx)`),this._resolutionMediaMatchList.addListener(this._outerListener))}clearListener(){this._resolutionMediaMatchList&&this._outerListener&&(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._outerListener=void 0)}}},779:(e,t,n)=>{Object.defineProperty(t,`__esModule`,{value:!0}),t.LinkProviderService=void 0;let r=n(844);class i extends r.Disposable{constructor(){super(),this.linkProviders=[],this.register((0,r.toDisposable)((()=>this.linkProviders.length=0)))}registerLinkProvider(e){return this.linkProviders.push(e),{dispose:()=>{let t=this.linkProviders.indexOf(e);t!==-1&&this.linkProviders.splice(t,1)}}}}t.LinkProviderService=i},8934:function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,a=arguments.length,o=a<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}};Object.defineProperty(t,`__esModule`,{value:!0}),t.MouseService=void 0;let a=n(4725),o=n(9806),s=t.MouseService=class{constructor(e,t){this._renderService=e,this._charSizeService=t}getCoords(e,t,n,r,i){return(0,o.getCoords)(window,e,t,n,r,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,i)}getMouseReportCoords(e,t){let n=(0,o.getCoordsRelativeToElement)(window,e,t);if(this._charSizeService.hasValidSize)return n[0]=Math.min(Math.max(n[0],0),this._renderService.dimensions.css.canvas.width-1),n[1]=Math.min(Math.max(n[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(n[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(n[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(n[0]),y:Math.floor(n[1])}}};t.MouseService=s=r([i(0,a.IRenderService),i(1,a.ICharSizeService)],s)},3230:function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,a=arguments.length,o=a<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}};Object.defineProperty(t,`__esModule`,{value:!0}),t.RenderService=void 0;let a=n(6193),o=n(4725),s=n(8460),c=n(844),l=n(7226),u=n(2585),d=t.RenderService=class extends c.Disposable{get dimensions(){return this._renderer.value.dimensions}constructor(e,t,n,r,i,o,u,d){super(),this._rowCount=e,this._charSizeService=r,this._renderer=this.register(new c.MutableDisposable),this._pausedResizeTask=new l.DebouncedIdleTask,this._observerDisposable=this.register(new c.MutableDisposable),this._isPaused=!1,this._needsFullRefresh=!1,this._isNextRenderRedrawOnly=!0,this._needsSelectionRefresh=!1,this._canvasWidth=0,this._canvasHeight=0,this._selectionState={start:void 0,end:void 0,columnSelectMode:!1},this._onDimensionsChange=this.register(new s.EventEmitter),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this.register(new s.EventEmitter),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this.register(new s.EventEmitter),this.onRender=this._onRender.event,this._onRefreshRequest=this.register(new s.EventEmitter),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new a.RenderDebouncer(((e,t)=>this._renderRows(e,t)),u),this.register(this._renderDebouncer),this.register(u.onDprChange((()=>this.handleDevicePixelRatioChange()))),this.register(o.onResize((()=>this._fullRefresh()))),this.register(o.buffers.onBufferActivate((()=>this._renderer.value?.clear()))),this.register(n.onOptionChange((()=>this._handleOptionsChanged()))),this.register(this._charSizeService.onCharSizeChange((()=>this.handleCharSizeChanged()))),this.register(i.onDecorationRegistered((()=>this._fullRefresh()))),this.register(i.onDecorationRemoved((()=>this._fullRefresh()))),this.register(n.onMultipleOptionChange([`customGlyphs`,`drawBoldTextInBrightColors`,`letterSpacing`,`lineHeight`,`fontFamily`,`fontSize`,`fontWeight`,`fontWeightBold`,`minimumContrastRatio`,`rescaleOverlappingGlyphs`],(()=>{this.clear(),this.handleResize(o.cols,o.rows),this._fullRefresh()}))),this.register(n.onMultipleOptionChange([`cursorBlink`,`cursorStyle`],(()=>this.refreshRows(o.buffer.y,o.buffer.y,!0)))),this.register(d.onChangeColors((()=>this._fullRefresh()))),this._registerIntersectionObserver(u.window,t),this.register(u.onWindowChange((e=>this._registerIntersectionObserver(e,t))))}_registerIntersectionObserver(e,t){if(`IntersectionObserver`in e){let n=new e.IntersectionObserver((e=>this._handleIntersectionChange(e[e.length-1])),{threshold:0});n.observe(t),this._observerDisposable.value=(0,c.toDisposable)((()=>n.disconnect()))}}_handleIntersectionChange(e){this._isPaused=e.isIntersecting===void 0?e.intersectionRatio===0:!e.isIntersecting,this._isPaused||this._charSizeService.hasValidSize||this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this._pausedResizeTask.flush(),this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)}refreshRows(e,t,n=!1){this._isPaused?this._needsFullRefresh=!0:(n||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,t,this._rowCount))}_renderRows(e,t){this._renderer.value&&(e=Math.min(e,this._rowCount-1),t=Math.min(t,this._rowCount-1),this._renderer.value.renderRows(e,t),this._needsSelectionRefresh&&=(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:e,end:t}),this._onRender.fire({start:e,end:t}),this._isNextRenderRedrawOnly=!0)}resize(e,t){this._rowCount=t,this._fireOnCanvasResize()}_handleOptionsChanged(){this._renderer.value&&(this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize())}_fireOnCanvasResize(){this._renderer.value&&(this._renderer.value.dimensions.css.canvas.width===this._canvasWidth&&this._renderer.value.dimensions.css.canvas.height===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.value.dimensions))}hasRenderer(){return!!this._renderer.value}setRenderer(e){this._renderer.value=e,this._renderer.value&&(this._renderer.value.onRequestRedraw((e=>this.refreshRows(e.start,e.end,!0))),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(e){return this._renderDebouncer.addRefreshCallback(e)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){this._renderer.value&&(this._renderer.value.clearTextureAtlas?.(),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(e,t){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set((()=>this._renderer.value?.handleResize(e,t))):this._renderer.value.handleResize(e,t),this._fullRefresh())}handleCharSizeChanged(){this._renderer.value?.handleCharSizeChanged()}handleBlur(){this._renderer.value?.handleBlur()}handleFocus(){this._renderer.value?.handleFocus()}handleSelectionChanged(e,t,n){this._selectionState.start=e,this._selectionState.end=t,this._selectionState.columnSelectMode=n,this._renderer.value?.handleSelectionChanged(e,t,n)}handleCursorMove(){this._renderer.value?.handleCursorMove()}clear(){this._renderer.value?.clear()}};t.RenderService=d=r([i(2,u.IOptionsService),i(3,o.ICharSizeService),i(4,u.IDecorationService),i(5,u.IBufferService),i(6,o.ICoreBrowserService),i(7,o.IThemeService)],d)},9312:function(e,t,n){var r=this&&this.__decorate||function(e,t,n,r){var i,a=arguments.length,o=a<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__param||function(e,t){return function(n,r){t(n,r,e)}};Object.defineProperty(t,`__esModule`,{value:!0}),t.SelectionService=void 0;let a=n(9806),o=n(9504),s=n(456),c=n(4725),l=n(8460),u=n(844),d=n(6114),f=n(4841),p=n(511),m=n(2585),h=RegExp(`\xA0`,`g`),g=t.SelectionService=class extends u.Disposable{constructor(e,t,n,r,i,a,o,c,d){super(),this._element=e,this._screenElement=t,this._linkifier=n,this._bufferService=r,this._coreService=i,this._mouseService=a,this._optionsService=o,this._renderService=c,this._coreBrowserService=d,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new p.CellData,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this.register(new l.EventEmitter),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this.register(new l.EventEmitter),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this.register(new l.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this.register(new l.EventEmitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=e=>this._handleMouseMove(e),this._mouseUpListener=e=>this._handleMouseUp(e),this._coreService.onUserInput((()=>{this.hasSelection&&this.clearSelection()})),this._trimListener=this._bufferService.buffer.lines.onTrim((e=>this._handleTrim(e))),this.register(this._bufferService.buffers.onBufferActivate((e=>this._handleBufferActivate(e)))),this.enable(),this._model=new s.SelectionModel(this._bufferService),this._activeSelectionMode=0,this.register((0,u.toDisposable)((()=>{this._removeMouseDownListeners()})))}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){let e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!(!e||!t||e[0]===t[0]&&e[1]===t[1])}get selectionText(){let e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return``;let n=this._bufferService.buffer,r=[];if(this._activeSelectionMode===3){if(e[0]===t[0])return``;let i=e[0]<t[0]?e[0]:t[0],a=e[0]<t[0]?t[0]:e[0];for(let o=e[1];o<=t[1];o++){let e=n.translateBufferLineToString(o,!0,i,a);r.push(e)}}else{let i=e[1]===t[1]?t[0]:void 0;r.push(n.translateBufferLineToString(e[1],!0,e[0],i));for(let i=e[1]+1;i<=t[1]-1;i++){let e=n.lines.get(i),t=n.translateBufferLineToString(i,!0);e?.isWrapped?r[r.length-1]+=t:r.push(t)}if(e[1]!==t[1]){let e=n.lines.get(t[1]),i=n.translateBufferLineToString(t[1],!0,0,t[0]);e&&e.isWrapped?r[r.length-1]+=i:r.push(i)}}return r.map((e=>e.replace(h,` `))).join(d.isWindows?`\r
|
|
355
355
|
`:`
|
|
@@ -359,4 +359,4 @@ ${JSON.stringify(u.input,null,2)}`,f=ae.get(r),p=o?void 0:f??t;return(0,V.jsx)(s
|
|
|
359
359
|
\x1B[32m[terminal] reattached\x1B[0m\r
|
|
360
360
|
`),console.info(`[terminal] reattached`)):(l.current=!0,u.current?.())},onClose:e=>{e!==1e3&&l.current&&t.write(`\r
|
|
361
361
|
\x1B[33m[terminal] server restart detected — reconnecting…\x1B[0m\r
|
|
362
|
-
`)},onUnavailable:()=>{d.current?.()}});s.current=r;let f=()=>{try{n.fit()}catch{}};return window.addEventListener(`resize`,f),()=>{window.removeEventListener(`resize`,f);try{c.current?.dispose()}catch{}c.current=null,r.dispose();try{t.dispose()}catch{}a.current=null,o.current=null,s.current=null}},[e]),(0,V.jsx)(`div`,{ref:i,className:`remote-terminal`,style:{width:`100%`,height:`100%`,minHeight:360,background:`#0a0a0a`}})});function wE(e){let{show:t,onClose:n,conversationsLoading:r,conversationsError:i,conversationsList:a,setConversationsList:o,sessionKey:s,isStreaming:c,resetConversation:l,setMessages:u,setConversationId:d}=e,[f,p]=(0,B.useState)(null),[h,_]=(0,B.useState)(null),[v,y]=(0,B.useState)(``),[b,x]=(0,B.useState)(!1),S=(0,B.useRef)(null);(0,B.useEffect)(()=>{t||(p(null),_(null),y(``),x(!1))},[t]),(0,B.useEffect)(()=>{h?.phase===`editing`&&(S.current?.focus(),S.current?.select())},[h]);function C(){p(null),_(null),y(``),x(!1)}async function w(e){if(s){C(),p(e),_({phase:`loading`});try{let t=await fetch(`/api/admin/sessions/${encodeURIComponent(e)}/label?session_key=${encodeURIComponent(s)}`,{method:`POST`});if(!t.ok){_({phase:`error`,reason:(await t.json().catch(()=>({}))).error||`Request failed`});return}let n=await t.json();n.label?(_({phase:`editing`}),y(n.label)):_({phase:`error`,reason:`Not enough message content to suggest a name`})}catch(e){console.error(`[admin-modal] label suggestion failed:`,e),_({phase:`error`,reason:e instanceof Error?e.message:String(e)})}}}async function T(e){if(!(!s||!v.trim()||b)){x(!0);try{let t=await fetch(`/api/admin/sessions/${encodeURIComponent(e)}/label`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({label:v.trim(),session_key:s})});if(!t.ok){_({phase:`error`,reason:(await t.json().catch(()=>({}))).error||`Rename failed`}),x(!1);return}o(t=>t.map(t=>t.conversationId===e?{...t,name:v.trim()}:t)),C()}catch(e){console.error(`[admin-modal] label rename failed:`,e),_({phase:`error`,reason:e instanceof Error?e.message:String(e)}),x(!1)}}}return t?(0,V.jsx)(`div`,{className:`claude-info-overlay`,onClick:n,children:(0,V.jsxs)(`div`,{className:`claude-info-modal conversations-modal`,onClick:e=>e.stopPropagation(),children:[(0,V.jsxs)(`div`,{className:`claude-info-header`,children:[(0,V.jsx)(Re,{size:12}),`Conversations`,(0,V.jsx)(`button`,{className:`claude-info-close`,onClick:n,children:`✕`})]}),(0,V.jsxs)(`div`,{className:`conversations-list`,children:[r&&(0,V.jsxs)(`div`,{className:`conversations-empty`,children:[(0,V.jsx)(re,{size:14,className:`spin`}),` Loading…`]}),i&&(0,V.jsx)(`div`,{className:`conversations-empty conversations-error`,children:i}),!r&&!i&&a.length===0&&(0,V.jsx)(`div`,{className:`conversations-empty`,children:`No recent conversations`}),!r&&!i&&a.map(e=>{let t=f===e.conversationId,r=t&&h?.phase===`loading`,i=t&&h?.phase===`editing`,a=t&&h?.phase===`error`;return(0,V.jsxs)(`div`,{className:`conversations-row`,children:[(0,V.jsxs)(`div`,{className:`conversations-row-info`,children:[r&&(0,V.jsxs)(`span`,{className:`conversations-row-name conversations-edit-loading`,children:[(0,V.jsx)(re,{size:12,className:`spin`}),` Generating suggestion…`]}),i&&(0,V.jsxs)(`div`,{className:`conversations-edit-inline`,children:[(0,V.jsx)(`input`,{ref:S,type:`text`,className:`conversations-edit-input`,value:v,onChange:e=>y(e.target.value),onKeyDown:t=>{t.key===`Enter`&&v.trim()&&T(e.conversationId),t.key===`Escape`&&C()},maxLength:200}),(0,V.jsx)(`button`,{type:`button`,className:`conversations-action conversations-confirm`,title:`Confirm rename`,disabled:!v.trim()||b,onClick:()=>T(e.conversationId),children:b?(0,V.jsx)(re,{size:13,className:`spin`}):(0,V.jsx)(m,{size:13})}),(0,V.jsx)(`button`,{type:`button`,className:`conversations-action conversations-cancel`,title:`Cancel`,onClick:C,children:(0,V.jsx)(de,{size:13})})]}),a&&(0,V.jsxs)(`div`,{className:`conversations-edit-inline`,children:[(0,V.jsx)(`span`,{className:`conversations-edit-error`,children:h.reason}),(0,V.jsx)(`button`,{type:`button`,className:`conversations-action conversations-retry`,title:`Retry`,onClick:()=>w(e.conversationId),children:(0,V.jsx)(Je,{size:13})}),(0,V.jsx)(`button`,{type:`button`,className:`conversations-action conversations-cancel`,title:`Cancel`,onClick:C,children:(0,V.jsx)(de,{size:13})})]}),!t&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:`conversations-row-name`,children:e.name||e.conversationId.slice(0,12)+`…`}),(0,V.jsxs)(`span`,{className:`conversations-row-meta`,children:[(0,V.jsx)(`span`,{className:`conversations-row-id`,children:e.conversationId.slice(0,8)}),(0,V.jsxs)(`span`,{className:`conversations-row-time`,children:[(0,V.jsx)(xe,{size:10}),(()=>{try{let t=new Date(e.updatedAt),n=Date.now()-t.getTime();return n<6e4?`just now`:n<36e5?`${Math.floor(n/6e4)}m ago`:n<864e5?`${Math.floor(n/36e5)}h ago`:`${Math.floor(n/864e5)}d ago`}catch{return``}})()]})]})]})]}),(0,V.jsx)(`div`,{className:`conversations-row-actions`,children:!t&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`button`,{type:`button`,className:`conversations-action conversations-rename`,title:`Rename conversation`,onClick:()=>w(e.conversationId),children:(0,V.jsx)(Ke,{size:13})}),(0,V.jsx)(`button`,{type:`button`,className:`conversations-action conversations-play`,title:`Resume conversation`,disabled:c,onClick:()=>{c||!s||(n(),l(),fetch(`/api/admin/sessions/${encodeURIComponent(e.conversationId)}/resume?session_key=${encodeURIComponent(s)}`,{method:`POST`}).then(e=>e.ok?e.json():Promise.reject(Error(`Failed to resume conversation`))).then(e=>{e.conversationId&&d(e.conversationId);let t=(e.messages??[]).map(e=>({role:e.role===`user`?`admin`:`maxy`,content:e.role===`user`?e.content:void 0,events:e.role===`assistant`?[{type:`text`,content:e.content}]:void 0,timestamp:new Date(e.createdAt).getTime()||0,historical:!0}));t.length>0&&u(t)}).catch(e=>{console.error(`[chat] conversation resume failed:`,e),u([{role:`maxy`,events:[{type:`text`,content:`Could not load conversation history.`}],timestamp:Date.now()-1,historical:!0}])}))},children:(0,V.jsx)(g,{size:13})}),(0,V.jsx)(`button`,{type:`button`,className:`conversations-action conversations-delete`,title:`Delete conversation`,onClick:()=>{o(t=>t.filter(t=>t.conversationId!==e.conversationId)),s&&fetch(`/api/admin/sessions/${encodeURIComponent(e.conversationId)}?session_key=${encodeURIComponent(s)}`,{method:`DELETE`}).catch(e=>console.error(`[chat] conversation delete failed:`,e))},children:(0,V.jsx)(ue,{size:13})})]})})]},e.conversationId)})]})]})}):null}function TE({src:e,onClose:t}){return e?(0,V.jsxs)(`div`,{className:`attachment-lightbox`,onClick:t,children:[(0,V.jsx)(`button`,{className:`attachment-lightbox-close`,onClick:t,"aria-label":`Close`,children:`×`}),(0,V.jsx)(`img`,{src:e,alt:`Attachment`,onClick:e=>e.stopPropagation()})]}):null}function EE({show:e,onClose:t,onConfirm:n}){return e?(0,V.jsx)(`div`,{className:`claude-info-overlay`,onClick:t,children:(0,V.jsxs)(`div`,{className:`claude-info-modal`,onClick:e=>e.stopPropagation(),children:[(0,V.jsxs)(`div`,{className:`claude-info-header`,children:[(0,V.jsx)(`span`,{children:`Compact conversation?`}),(0,V.jsx)(`button`,{className:`claude-info-close`,onClick:t,"aria-label":`Close`,children:`✕`})]}),(0,V.jsx)(`div`,{className:`claude-info-section`,style:{padding:`12px 14px`,fontSize:`11px`,color:`var(--text-secondary)`},children:`Summarises the conversation history to free up context window space. The session continues with a compressed summary.`}),(0,V.jsxs)(`div`,{className:`claude-info-section`,style:{display:`flex`,gap:`8px`,padding:`10px 14px`},children:[(0,V.jsx)(w,{variant:`secondary`,size:`sm`,style:{background:`var(--accent)`,flex:1},onClick:()=>{t(),n()},children:`Yes, compact`}),(0,V.jsx)(w,{variant:`secondary`,size:`sm`,style:{flex:1},onClick:t,children:`No`})]})]})}):null}function DE(e){let{show:t,onClose:n,claudeInfo:r,messages:i,sessionElapsed:a,conversationId:o,contextModeHint:s,handleContextModeToggle:c}=e;if(!t)return null;let l=i.flatMap(e=>e.events?.filter(e=>e.type===`usage`)??[]),u=l.at(-1),d=u?.peak_request_pct==null?u?.context_window?Math.round((u.input_tokens+u.cache_creation_tokens+u.cache_read_tokens)/u.context_window*100):0:Math.round(u.peak_request_pct*100),f=l.reduce((e,t)=>e+t.input_tokens+t.cache_creation_tokens+t.cache_read_tokens+t.output_tokens,0),p=i.flatMap(e=>e.events?.filter(e=>e.type===`rate_limit`)??[]).at(-1),m=l.reduce((e,t)=>e+(t.total_cost_usd??0),0),h=r?.account?.subscriptionType,g=e=>{let t=e*1e3-Date.now();if(t<=0)return`now`;let n=Math.floor(t/36e5),r=Math.floor(t%36e5/6e4);return n>0?`${n}h ${r}m`:`${r}m`};return(0,V.jsx)(`div`,{className:`claude-info-overlay`,onClick:n,children:(0,V.jsxs)(`div`,{className:`claude-info-modal`,onClick:e=>e.stopPropagation(),children:[(0,V.jsxs)(`div`,{className:`claude-info-header`,children:[(0,V.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`claude-info-icon`}),(0,V.jsx)(`span`,{children:`Claude Code`}),(0,V.jsx)(`button`,{className:`claude-info-close`,onClick:n,"aria-label":`Close`,children:`✕`})]}),(0,V.jsxs)(`div`,{className:`claude-info-section`,children:[(0,V.jsxs)(`div`,{className:`claude-info-row`,children:[(0,V.jsx)(`span`,{className:`claude-info-label`,children:`Version`}),(0,V.jsx)(`span`,{className:`claude-info-value`,children:r?r.version:`…`})]}),(0,V.jsxs)(`div`,{className:`claude-info-row`,children:[(0,V.jsx)(`span`,{className:`claude-info-label`,children:`Email`}),(0,V.jsx)(`span`,{className:`claude-info-value`,children:r?.account?.email??`…`})]})]}),(h||p||m>0)&&(0,V.jsxs)(`div`,{className:`claude-info-section`,children:[h&&(0,V.jsxs)(`div`,{className:`claude-info-row`,children:[(0,V.jsx)(`span`,{className:`claude-info-label`,children:`Plan`}),(0,V.jsx)(`span`,{className:`claude-info-value`,style:{textTransform:`capitalize`},children:h})]}),p&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`div`,{className:`claude-info-row`,children:[(0,V.jsx)(`span`,{className:`claude-info-label`,children:`Usage`}),(0,V.jsxs)(`span`,{className:`claude-info-value`,children:[Math.round(p.utilization*100),`%`]})]}),(0,V.jsxs)(`div`,{className:`claude-info-row`,children:[(0,V.jsx)(`span`,{className:`claude-info-label`,children:`Resets in`}),(0,V.jsx)(`span`,{className:`claude-info-value`,children:g(p.resetsAt)})]}),p.isUsingOverage&&(0,V.jsxs)(`div`,{className:`claude-info-row`,children:[(0,V.jsx)(`span`,{className:`claude-info-label`,children:`Overage`}),(0,V.jsx)(`span`,{className:`claude-info-value`,children:`Active`})]})]}),m>0&&(0,V.jsxs)(`div`,{className:`claude-info-row`,children:[(0,V.jsx)(`span`,{className:`claude-info-label`,children:`Session cost`}),(0,V.jsxs)(`span`,{className:`claude-info-value`,children:[`$`,m<.01?m.toFixed(4):m.toFixed(2)]})]})]}),(0,V.jsxs)(`div`,{className:`claude-info-section`,children:[(0,V.jsxs)(`div`,{className:`claude-info-row`,children:[(0,V.jsx)(`span`,{className:`claude-info-label`,children:`Model`}),(0,V.jsx)(`span`,{className:`claude-info-value`,children:r?.model??`…`})]}),(0,V.jsxs)(`div`,{className:`claude-info-row`,children:[(0,V.jsx)(`span`,{className:`claude-info-label`,children:`Context mode`}),(0,V.jsxs)(`span`,{className:`claude-info-value claude-info-toggle`,role:`button`,tabIndex:0,onClick:c,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),c())},children:[r?.contextMode??`…`,s?` (next turn)`:``]})]}),(0,V.jsxs)(`div`,{className:`claude-info-row`,children:[(0,V.jsx)(`span`,{className:`claude-info-label`,children:`Context used`}),(0,V.jsx)(`span`,{className:`claude-info-value`,children:d>0?`${d}%`:`—`})]}),(0,V.jsxs)(`div`,{className:`claude-info-row`,children:[(0,V.jsx)(`span`,{className:`claude-info-label`,children:`Tokens`}),(0,V.jsx)(`span`,{className:`claude-info-value`,children:f>0?st(f):`—`})]}),(0,V.jsxs)(`div`,{className:`claude-info-row`,children:[(0,V.jsx)(`span`,{className:`claude-info-label`,children:`Session`}),(0,V.jsx)(`span`,{className:`claude-info-value`,children:ot(a)})]}),o&&(0,V.jsxs)(`div`,{className:`claude-info-row`,children:[(0,V.jsx)(`span`,{className:`claude-info-label`,children:`Conversation`}),(0,V.jsx)(`span`,{className:`claude-info-value`,style:{fontFamily:`monospace`,fontSize:10},children:o.slice(0,8)})]})]})]})})}var OE=5e3,kE=6,AE=`maxy-upgrade-in-progress`;function jE(){try{return sessionStorage.getItem(AE)===`1`}catch{return!1}}function ME(e){try{e?sessionStorage.setItem(AE,`1`):sessionStorage.removeItem(AE)}catch{}}function NE(e){try{fetch(`/api/_client-error`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({kind:`unknown`,tag:`terminal-unavailable`,msg:`source=${e} corrId=upgrade-modal`}),keepalive:!0})}catch{}}function PE({show:e,onClose:t,versionInfo:n,sessionKey:r,onUpgradeComplete:i}){let[a,o]=(0,B.useState)(!1),[s,c]=(0,B.useState)(!1),[l,u]=(0,B.useState)(()=>jE()),[d,f]=(0,B.useState)(null),[p,m]=(0,B.useState)(!1),h=(0,B.useRef)(null),g=(0,B.useRef)(null),_=(0,B.useRef)(null),v=(0,B.useRef)(0),y=(0,B.useRef)(0),b=n?.latest??null,x=(0,B.useCallback)(()=>{g.current&&=(clearInterval(g.current),null),_.current&&=(clearTimeout(_.current),null)},[]),S=(0,B.useCallback)(async()=>{let e=++y.current;f(null);try{let t=await fetch(`/api/health`,{cache:`no-store`});if(e!==y.current)return;if(!t.ok){f(!1),m(!0),NE(`pre-flight`);return}let n=await t.json();if(e!==y.current)return;let r=n?.terminal_ready===!0;f(r),r||(m(!0),NE(`pre-flight`))}catch{if(e!==y.current)return;f(!1),m(!0),NE(`pre-flight`)}},[]);(0,B.useEffect)(()=>{if(!e){x(),o(!1),c(!1),f(null),m(!1),u(jE()),v.current=0,y.current++;return}S()},[e,x,S]),(0,B.useEffect)(()=>x,[x]),(0,B.useEffect)(()=>{a&&ME(!0)},[a]),(0,B.useEffect)(()=>{s&&ME(!1)},[s]),(0,B.useEffect)(()=>{p&&ME(!1)},[p]),(0,B.useEffect)(()=>{if(!(!e||!a||s||!b))return g.current=setInterval(async()=>{try{let e=await fetch(`/api/admin/version`,{cache:`no-store`});if(!e.ok)return;(await e.json()).installed===b&&(x(),c(!0),i(),setTimeout(()=>window.location.reload(),2e3))}catch{}},OE),x},[e,a,s,b,i,x]);function C(){if(!b){console.warn(`[update] Upgrade blocked: no target version`);return}if(!p){if(_.current&&=(clearTimeout(_.current),null),l||u(!0),!h.current?.send(`npx -y @rubytech/create-maxy@latest\r`)){if(v.current+=1,v.current>=kE){console.warn(`[update] terminal send retry cap (${kE}) exhausted — declaring unavailable`),m(!0),NE(`retry-cap`);return}console.warn(`[update] terminal not ready — retrying in 500ms (${v.current}/${kE})`),_.current=setTimeout(C,500);return}_.current=null,v.current=0,o(!0)}}function w(){p||(m(!0),NE(`on-unavailable`))}function T(){x(),m(!1),u(!1),o(!1),v.current=0,S()}if(!e)return null;let E=l&&d===!0&&!p;return(0,V.jsx)(`div`,{className:`claude-info-overlay`,onClick:()=>{(!a||s)&&t()},children:(0,V.jsxs)(`div`,{className:`claude-info-modal update-modal update-modal-terminal`,onClick:e=>e.stopPropagation(),children:[(0,V.jsxs)(`div`,{className:`claude-info-header`,children:[(0,V.jsx)(ce,{size:12}),`Software Update`,(0,V.jsx)(`button`,{className:`claude-info-close`,onClick:t,children:`✕`})]}),(0,V.jsxs)(`div`,{className:`update-modal-body update-modal-body-terminal`,children:[(0,V.jsxs)(`div`,{className:`update-modal-versions`,children:[(0,V.jsxs)(`div`,{className:`claude-info-row`,children:[(0,V.jsx)(`span`,{className:`claude-info-label`,children:`Installed`}),(0,V.jsxs)(`span`,{className:`claude-info-value`,children:[`v`,n?.installed??`…`]})]}),(0,V.jsxs)(`div`,{className:`claude-info-row`,children:[(0,V.jsx)(`span`,{className:`claude-info-label`,children:`Available`}),(0,V.jsxs)(`span`,{className:`claude-info-value update-version-new`,children:[`v`,b??`…`]})]})]}),(0,V.jsx)(`div`,{className:`update-modal-terminal-wrap`,style:{height:420},children:p?(0,V.jsxs)(`div`,{className:`update-modal-terminal-unavailable`,role:`alert`,children:[(0,V.jsx)(`div`,{className:`update-modal-terminal-unavailable-title`,children:`Admin terminal not available.`}),(0,V.jsxs)(`div`,{className:`update-modal-terminal-unavailable-body`,children:[`Re-run the installer from a shell:`,(0,V.jsx)(`code`,{className:`update-modal-terminal-unavailable-cmd`,children:`npx -y @rubytech/create-maxy@latest`})]}),(0,V.jsx)(`button`,{type:`button`,className:`update-modal-btn`,onClick:T,children:`Try again`})]}):E?(0,V.jsx)(CE,{ref:h,corrId:`upgrade-modal`,onUnavailable:w}):(0,V.jsx)(`div`,{className:`update-modal-terminal-placeholder`,children:d===null?`Checking admin terminal…`:`Ready to upgrade.`})}),!a&&!s&&!p&&(0,V.jsx)(`button`,{type:`button`,className:`update-modal-btn`,onClick:C,disabled:d!==!0,children:`Upgrade`}),s&&(0,V.jsxs)(`div`,{className:`update-modal-result`,children:[(0,V.jsx)(ve,{size:14,className:`update-success-icon`}),(0,V.jsxs)(`span`,{children:[`Upgraded to v`,b,` — reloading…`]})]})]})]})})}function FE({onClose:e}){at();let[t,n]=(0,B.useState)(!1),r=(0,B.useRef)(null),i=(0,B.useRef)(null),a=(0,B.useCallback)(()=>{i.current&&=(clearInterval(i.current),null),r.current&&!r.current.closed&&r.current.close(),r.current=null,n(!1)},[]),o=(0,B.useCallback)(()=>{let t=`/vnc-popout.html?title=${encodeURIComponent(_.productName)}`,o=window.open(t,`maxy-vnc-overlay-popout`,`width=1024,height=768`);o&&(r.current=o,n(!0),i.current=setInterval(()=>{r.current?.closed&&(a(),e())},500))},[a,e]),s=(0,B.useCallback)(()=>{a(),e()},[a,e]);(0,B.useEffect)(()=>{if(t)return;let e=e=>{e.key===`Escape`&&s()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[t,s]),(0,B.useEffect)(()=>()=>a(),[a]);let c=It({handlePopout:o,disabled:t});return t?(0,V.jsxs)(`div`,{className:`browser-overlay-popout`,children:[(0,V.jsx)(D,{className:`browser-viewer__icon`}),(0,V.jsx)(`span`,{className:`browser-viewer__title`,children:_.productName}),(0,V.jsx)(`span`,{className:`browser-viewer__popout-label`,children:`Popped out`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Ue,onClick:()=>{a()},"aria-label":`Pop back in`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:de,onClick:s,"aria-label":`Close`})]}):(0,V.jsxs)(`div`,{className:`browser-viewer-fullscreen`,children:[(0,V.jsxs)(`div`,{className:`browser-viewer-fullscreen__bar`,...c,children:[(0,V.jsx)(D,{className:`browser-viewer__icon`}),(0,V.jsx)(`span`,{className:`browser-viewer-fullscreen__title`,children:_.productName}),(0,V.jsxs)(`div`,{className:`browser-viewer-fullscreen__actions`,children:[(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:Ee,onClick:o,"aria-label":`Pop out`}),(0,V.jsx)(w,{variant:`ghost`,size:`sm`,icon:de,onClick:s,"aria-label":`Close`})]})]}),(0,V.jsx)(`iframe`,{src:`/vnc-viewer.html`,className:`browser-viewer-fullscreen__iframe`,title:_.productName})]})}function IE(){at();let e=(0,B.useRef)(null),[t,n]=(0,B.useState)(null),[r,i]=(0,B.useState)(!1),[a,o]=(0,B.useState)(!1),[s,l]=(0,B.useState)(``),[u,d]=(0,B.useState)(!1),[f,p]=(0,B.useState)(null),[h,g]=(0,B.useState)(!1),[v,y]=(0,B.useState)(null),[b,x]=(0,B.useState)(null),[C,w]=(0,B.useState)(!1),[T,E]=(0,B.useState)([]),[O,k]=(0,B.useState)(!1),[A,j]=(0,B.useState)(null),[M,N]=(0,B.useState)(null),[P,ee]=(0,B.useState)(!1),[F,te]=(0,B.useState)(null),[I,L]=(0,B.useState)(!1),[ce,le]=(0,B.useState)(!1),fe=(0,B.useRef)(!1),pe=(0,B.useRef)(!1),me=(0,B.useRef)(!1),he=(0,B.useRef)(null),ge=c(),_e=ct(),R=mt(),ve=Ct(),z=St({sessionKey:R.sessionKey,setSessionKey:R.setSessionKey,setAppState:R.setAppState,setConversationId:R.setConversationId,startElapsedTimer:_e.startElapsedTimer,stopElapsedTimer:_e.stopElapsedTimer,resetTimerState:_e.resetTimerState,pausedElapsedRef:_e.pausedElapsedRef,expandAllDefaultRef:R.expandAllDefaultRef,setExpandAll:R.setExpandAll,getPendingFiles:()=>ve.pendingFiles,clearPendingFiles:ve.clearFiles,inputRef:e});(0,B.useEffect)(()=>{l(window.location.hostname.startsWith(`admin.`)?window.location.origin.replace(`admin.`,`public.`):window.location.origin)},[]),(0,B.useEffect)(()=>{function e(e){e.key===`Escape`&&(t?n(null):ge.selectionMode&&ge.exitSelection())}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[t,ge.selectionMode]),(0,B.useEffect)(()=>{(R.appState===`set-pin`||R.appState===`enter-pin`)&&setTimeout(()=>R.pinInputRef.current?.focus(),100),R.appState===`chat`&&setTimeout(()=>e.current?.focus(),100)},[R.appState,z.greetingGeneration]),(0,B.useEffect)(()=>{if(R.appState!==`chat`)return;history.pushState({maxyChat:!0},``);function e(){console.debug(`[history-guard] popstate absorbed`),history.pushState({maxyChat:!0},``)}return window.addEventListener(`popstate`,e),()=>window.removeEventListener(`popstate`,e)},[R.appState]);let ye=(0,B.useRef)(z.greetingGeneration);return(0,B.useEffect)(()=>{z.greetingGeneration!==ye.current&&(ye.current=z.greetingGeneration,R.onboardingComplete===!1&&(fe.current=!1))},[z.greetingGeneration,R.onboardingComplete]),(0,B.useEffect)(()=>{R.appState===`chat`&&R.onboardingComplete===!1&&(fe.current||(fe.current=!0,z.sendSystemPrompt(`[Begin onboarding.]`)))},[R.appState,R.onboardingComplete,z.greetingGeneration]),(0,B.useEffect)(()=>{if(!u)return;let e=!1;return fetch(`/api/admin/version`).then(e=>e.json()).then(t=>{e||N(t)}).catch(e=>{console.error(`[admin/version] menu-open client fetch failed:`,e)}),()=>{e=!0}},[u]),(0,B.useEffect)(()=>{if(R.appState!==`chat`){pe.current=!1,me.current=!1;return}if(pe.current)return;pe.current=!0;let e=!1;return fetch(`/api/admin/version`).then(e=>e.json()).then(t=>{e||(N(t),!(!t.updateAvailable||me.current)&&(te(t),ee(!0),fetch(`/api/admin/version/alert-surfaced`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({installed:t.installed,latest:t.latest})}).catch(e=>{console.error(`[admin/version] alert-surfaced signal failed:`,e)})))}).catch(e=>{console.error(`[admin/version] session-start client fetch failed:`,e)}),()=>{e=!0}},[R.appState]),(0,B.useEffect)(()=>{if(!u){p(null),y(null),x(null),N(null);return}function e(e){he.current&&!he.current.contains(e.target)&&d(!1)}return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[u]),(0,B.useEffect)(()=>{if(typeof BroadcastChannel>`u`)return;let e=new BroadcastChannel(`platform-onboarding`);return e.onmessage=e=>{e.data?.type===`remote-password-set`&&z.sendMessageRef.current(`I've set the remote password`)},()=>e.close()},[]),R.appState===`loading`?(0,V.jsx)(`div`,{className:`chat-page admin-page`,children:(0,V.jsx)(`header`,{className:`chat-header`,children:(0,V.jsx)(`img`,{src:ne,alt:_.productName,className:`chat-logo`})})}):R.appState===`set-pin`?(0,V.jsx)(Tt,{pin:R.pin,setPin:R.setPin,confirmPin:R.confirmPin,setConfirmPin:R.setConfirmPin,showPin:R.showPin,setShowPin:R.setShowPin,pinLoading:R.pinLoading,pinError:R.pinError,pinInputRef:R.pinInputRef,confirmPinInputRef:R.confirmPinInputRef,setPinFormRef:R.setPinFormRef,onSubmit:R.handleSetPin}):R.appState===`onboarding-choice`?(0,V.jsx)(kt,{setAppState:R.setAppState,setOnboardingComplete:R.setOnboardingComplete}):R.appState===`connect-claude`?(0,V.jsx)(Ot,{authPolling:R.authPolling,setAuthPolling:R.setAuthPolling,authLoading:R.authLoading,setAuthLoading:R.setAuthLoading,pinError:R.pinError,setPinError:R.setPinError,setAppState:R.setAppState}):R.appState===`enter-pin`?(0,V.jsx)(Et,{pin:R.pin,setPin:R.setPin,showPin:R.showPin,setShowPin:R.setShowPin,pinLoading:R.pinLoading,pinError:R.pinError,pinInputRef:R.pinInputRef,onSubmit:R.handleLogin,onChangePin:R.handleChangePin}):R.appState===`account-picker`?(0,V.jsx)(Dt,{accounts:R.accounts,loading:R.accountPickerLoading,error:R.pinError,onSelect:R.handleAccountSelect}):(0,V.jsx)(S,{value:{onShowVnc:()=>L(!0)},children:(0,V.jsxs)(`div`,{className:`chat-page admin-page`,children:[(0,V.jsxs)(`header`,{className:`chat-header`,children:[(0,V.jsx)(`img`,{src:ne,alt:_.productName,className:`chat-logo`}),(!_.logoContainsName||R.businessName)&&(0,V.jsx)(`div`,{children:(0,V.jsx)(`h1`,{className:`chat-tagline`,children:R.businessName||_.productName})}),(0,V.jsxs)(`div`,{className:`chat-burger-wrap`,ref:he,children:[(0,V.jsx)(`button`,{type:`button`,className:`chat-burger`,onClick:()=>d(e=>!e),"aria-label":`Menu`,"aria-haspopup":`true`,"aria-expanded":u,children:(0,V.jsx)(oe,{size:20})}),u&&(0,V.jsxs)(`div`,{className:`chat-menu`,children:[(0,V.jsxs)(`button`,{type:`button`,className:`chat-menu-item`,onClick:async()=>{if(!(I||ce)){le(!0),d(!1);try{let e=await(await fetch(`/api/admin/browser/launch`,{method:`POST`})).json().catch(()=>({ok:!1,error:`Invalid response`}));if(!e.ok)throw Error(e.error??`Failed to launch browser`);L(!0)}catch(e){console.error(`[browser] Launch failed:`,e),alert(e instanceof Error?e.message:`Failed to launch browser`)}finally{le(!1)}}},disabled:ce,children:[(0,V.jsx)(D,{size:14}),` Browser`,ce&&(0,V.jsx)(re,{size:12,className:`spin`})]}),(0,V.jsxs)(`button`,{type:`button`,className:`chat-menu-item`,onClick:()=>{d(!1),window.location.href=`/data`},children:[(0,V.jsx)(ae,{size:14}),` Data`]}),(0,V.jsxs)(`button`,{type:`button`,className:`chat-menu-item`,onClick:()=>{d(!1),window.location.href=`/graph`},children:[(0,V.jsx)(se,{size:14}),` Graph`]}),(0,V.jsx)(`div`,{className:`chat-menu-divider`}),(0,V.jsxs)(`button`,{type:`button`,className:`chat-menu-item`,onClick:async()=>{if(f!==null){p(null),x(null);return}g(!0),y(null);try{let e=await fetch(`/api/admin/agents`);if(!e.ok)throw Error(`Failed to load agents`);p((await e.json()).agents??[])}catch(e){console.error(`[admin] agent list failed:`,e),y(e instanceof Error?e.message:String(e))}finally{g(!1)}},children:[(0,V.jsx)(Ee,{size:14}),` Public`,h&&(0,V.jsx)(re,{size:12,className:`spin`})]}),f!==null&&(0,V.jsxs)(`div`,{className:`chat-menu-agents`,children:[v&&(0,V.jsx)(`span`,{className:`chat-menu-agent-error`,children:v}),f.length===0&&!v&&(0,V.jsx)(`span`,{className:`chat-menu-agent-empty`,children:`No public agents configured`}),f.map(e=>(0,V.jsxs)(`div`,{className:`chat-menu-item chat-menu-agent-item`,children:[(0,V.jsx)(`span`,{className:`agent-status-dot ${e.status}`}),(0,V.jsxs)(`span`,{className:`agent-text`,children:[(0,V.jsx)(`span`,{className:`agent-display-name`,children:e.displayName}),(0,V.jsxs)(`span`,{className:`agent-slug`,children:[`/`,e.slug]})]}),b===e.slug?(0,V.jsxs)(`span`,{className:`agent-actions agent-confirm`,children:[(0,V.jsx)(`button`,{type:`button`,className:`agent-action-btn agent-confirm-yes`,title:`Confirm delete`,onClick:()=>{x(null),p(t=>t?.filter(t=>t.slug!==e.slug)??null),fetch(`/api/admin/agents/${encodeURIComponent(e.slug)}`,{method:`DELETE`}).catch(e=>console.error(`[admin/agents] delete failed:`,e))},children:(0,V.jsx)(m,{size:12})}),(0,V.jsx)(`button`,{type:`button`,className:`agent-action-btn agent-confirm-no`,title:`Cancel`,onClick:()=>x(null),children:(0,V.jsx)(de,{size:12})})]}):(0,V.jsxs)(`span`,{className:`agent-actions`,children:[(0,V.jsx)(`a`,{href:`${s}/${e.slug}`,target:`_blank`,rel:`noopener noreferrer`,className:`agent-action-btn`,title:`Open agent`,onClick:()=>d(!1),children:(0,V.jsx)(Ee,{size:12})}),(0,V.jsx)(`button`,{type:`button`,className:`agent-action-btn agent-delete-btn`,title:`Delete agent`,onClick:()=>x(e.slug),children:(0,V.jsx)(ue,{size:12})})]})]},e.slug))]}),(0,V.jsx)(`div`,{className:`chat-menu-divider`}),M?.updateAvailable?(0,V.jsxs)(`button`,{type:`button`,className:`chat-menu-version`,onClick:()=>{M.latest&&(te(M),d(!1),ee(!0))},children:[(0,V.jsx)(Ne,{size:14}),(0,V.jsxs)(`span`,{className:`version-installed`,children:[`v`,M.installed,(0,V.jsx)(`span`,{className:`version-update-dot`})]})]}):(0,V.jsxs)(`div`,{className:`chat-menu-version chat-menu-version-passive`,children:[(0,V.jsx)(Ne,{size:14}),(0,V.jsxs)(`span`,{className:`version-installed`,children:[M?`v${M.installed}`:`…`,M&&!M.updateAvailable&&(0,V.jsx)(`span`,{className:`version-uptodate-dot`})]})]}),(0,V.jsxs)(`button`,{type:`button`,className:`chat-menu-item`,onClick:()=>{d(!1),R.handleLogout(),z.setMessages([])},children:[(0,V.jsx)(ie,{size:14}),` Log out`]})]})]})]}),(0,V.jsx)(lE,{messages:z.messages,isStreaming:z.isStreaming,elapsedSeconds:_e.elapsedSeconds,sessionTurnStart:_e.sessionTurnStart,expandAll:R.expandAll,setExpandAll:R.setExpandAll,conversationCompacted:z.conversationCompacted,isCompacting:z.isCompacting,setShowCompactConfirm:o,handleComponentSubmit:z.handleComponentSubmit,effectiveSubmitted:z.effectiveSubmitted,selectionMode:ge.selectionMode,selectedItems:ge.selectedItems,toggleSelectItem:ge.toggleSelectItem,sessionKey:R.sessionKey,setLightboxSrc:n,messageQueue:z.messageQueue,messageQueueRef:z.messageQueueRef,setQueue:z.setQueue,sendMessage:z.sendMessage,appState:R.appState,onboardingComplete:R.onboardingComplete}),(0,V.jsx)(uE,{offer:z.topicChangeOffer,onFreshStart:z.handleTopicFreshStart,onContinue:z.handleTopicContinue,disabled:z.isStreaming}),(0,V.jsx)(pE,{selectionMode:ge.selectionMode,selectedItems:ge.selectedItems,copyToast:ge.copyToast||null,exitSelection:ge.exitSelection,enterSelection:ge.enterSelection,copySelected:ge.copySelected,showCopyToast:ge.showCopyToast,input:z.input,setInput:z.setInput,inputRef:e,pendingFiles:ve.pendingFiles,setPendingFiles:ve.setPendingFiles,isDragOver:ve.isDragOver,attachError:ve.attachError,fileInputRef:ve.fileInputRef,addFiles:ve.addFiles,removeFile:ve.removeFile,onDragOver:ve.onDragOver,onDragLeave:ve.onDragLeave,onDrop:ve.onDrop,isStreaming:z.isStreaming,wasPaused:z.wasPaused,messages:z.messages,messageQueueRef:z.messageQueueRef,setQueue:z.setQueue,sendMessage:z.sendMessage,stopStreaming:z.stopStreaming,disconnecting:R.disconnecting,handleDisconnect:R.handleDisconnect,claudeInfo:R.claudeInfo,setClaudeInfo:R.setClaudeInfo,setShowClaudeInfo:i,conversationId:R.conversationId,onNewConversation:z.startNewConversation,newConversationDisabled:z.isStreaming||z.isCompacting,onOpenConversations:async()=>{w(!0),k(!0),j(null);try{let e=await fetch(`/api/admin/sessions?session_key=${encodeURIComponent(R.sessionKey)}`);if(!e.ok)throw Error(`Failed to load conversations`);E((await e.json()).sessions??[])}catch(e){console.error(`[admin] conversation list failed:`,e),j(e instanceof Error?e.message:String(e))}finally{k(!1)}}}),ge.copyToast&&(0,V.jsx)(`span`,{className:`copy-toast${ge.copyToast===`failed`?` copy-toast-failed`:``}`,children:ge.copyToast===`copied`?`Copied`:`Copy failed`}),(0,V.jsx)(wE,{show:C,onClose:()=>w(!1),conversationsLoading:O,conversationsError:A,conversationsList:T,setConversationsList:E,sessionKey:R.sessionKey,isStreaming:z.isStreaming,resetConversation:z.resetConversation,setMessages:z.setMessages,setConversationId:R.setConversationId}),(0,V.jsx)(TE,{src:t,onClose:()=>n(null)}),(0,V.jsx)(EE,{show:a,onClose:()=>o(!1),onConfirm:z.handleCompactNow}),(0,V.jsx)(DE,{show:r,onClose:()=>{i(!1),R.setClaudeInfo(null)},claudeInfo:R.claudeInfo,messages:z.messages,sessionElapsed:_e.sessionElapsed,conversationId:R.conversationId,contextModeHint:R.contextModeHint,handleContextModeToggle:R.handleContextModeToggle}),(0,V.jsx)(PE,{show:P,onClose:()=>{ee(!1),me.current=!0},versionInfo:F,sessionKey:R.sessionKey,onUpgradeComplete:()=>N(null)}),I&&(0,V.jsx)(FE,{onClose:()=>L(!1)})]})})}(0,it.createRoot)(document.getElementById(`root`)).render((0,V.jsx)(IE,{}));
|
|
362
|
+
`)},onUnavailable:()=>{d.current?.()}});s.current=r;let f=()=>{try{n.fit()}catch{}};return window.addEventListener(`resize`,f),()=>{window.removeEventListener(`resize`,f);try{c.current?.dispose()}catch{}c.current=null,r.dispose();try{t.dispose()}catch{}a.current=null,o.current=null,s.current=null}},[e]),(0,V.jsx)(`div`,{ref:i,className:`remote-terminal`,style:{width:`100%`,height:`100%`,minHeight:360,background:`#0a0a0a`}})});function wE(e){let{show:t,onClose:n,conversationsLoading:r,conversationsError:a,conversationsList:o,setConversationsList:s,sessionKey:c,isStreaming:l,resetConversation:u,setMessages:d,setConversationId:f}=e,[p,m]=(0,B.useState)(null),[g,v]=(0,B.useState)(null),[y,b]=(0,B.useState)(``),[x,S]=(0,B.useState)(!1),C=(0,B.useRef)(null);(0,B.useEffect)(()=>{t||(m(null),v(null),b(``),S(!1))},[t]),(0,B.useEffect)(()=>{g?.phase===`editing`&&(C.current?.focus(),C.current?.select())},[g]);function w(){m(null),v(null),b(``),S(!1)}async function T(e){if(c){w(),m(e),v({phase:`loading`});try{let t=await fetch(`/api/admin/sessions/${encodeURIComponent(e)}/label?session_key=${encodeURIComponent(c)}`,{method:`POST`});if(!t.ok){v({phase:`error`,reason:(await t.json().catch(()=>({}))).error||`Request failed`});return}let n=await t.json();n.label?(v({phase:`editing`}),b(n.label)):v({phase:`error`,reason:`Not enough message content to suggest a name`})}catch(e){console.error(`[admin-modal] label suggestion failed:`,e),v({phase:`error`,reason:e instanceof Error?e.message:String(e)})}}}async function E(e){if(!(!c||!y.trim()||x)){S(!0);try{let t=await fetch(`/api/admin/sessions/${encodeURIComponent(e)}/label`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({label:y.trim(),session_key:c})});if(!t.ok){v({phase:`error`,reason:(await t.json().catch(()=>({}))).error||`Rename failed`}),S(!1);return}s(t=>t.map(t=>t.conversationId===e?{...t,name:y.trim()}:t)),w()}catch(e){console.error(`[admin-modal] label rename failed:`,e),v({phase:`error`,reason:e instanceof Error?e.message:String(e)}),S(!1)}}}return t?(0,V.jsx)(`div`,{className:`claude-info-overlay`,onClick:n,children:(0,V.jsxs)(`div`,{className:`claude-info-modal conversations-modal`,onClick:e=>e.stopPropagation(),children:[(0,V.jsxs)(`div`,{className:`claude-info-header`,children:[(0,V.jsx)(Re,{size:12}),`Conversations`,(0,V.jsx)(`button`,{className:`claude-info-close`,onClick:n,children:`✕`})]}),(0,V.jsxs)(`div`,{className:`conversations-list`,children:[r&&(0,V.jsxs)(`div`,{className:`conversations-empty`,children:[(0,V.jsx)(ie,{size:14,className:`spin`}),` Loading…`]}),a&&(0,V.jsx)(`div`,{className:`conversations-empty conversations-error`,children:a}),!r&&!a&&o.length===0&&(0,V.jsx)(`div`,{className:`conversations-empty`,children:`No recent conversations`}),!r&&!a&&o.map(e=>{let t=p===e.conversationId,r=t&&g?.phase===`loading`,a=t&&g?.phase===`editing`,o=t&&g?.phase===`error`;return(0,V.jsxs)(`div`,{className:`conversations-row`,children:[(0,V.jsxs)(`div`,{className:`conversations-row-info`,children:[r&&(0,V.jsxs)(`span`,{className:`conversations-row-name conversations-edit-loading`,children:[(0,V.jsx)(ie,{size:12,className:`spin`}),` Generating suggestion…`]}),a&&(0,V.jsxs)(`div`,{className:`conversations-edit-inline`,children:[(0,V.jsx)(`input`,{ref:C,type:`text`,className:`conversations-edit-input`,value:y,onChange:e=>b(e.target.value),onKeyDown:t=>{t.key===`Enter`&&y.trim()&&E(e.conversationId),t.key===`Escape`&&w()},maxLength:200}),(0,V.jsx)(`button`,{type:`button`,className:`conversations-action conversations-confirm`,title:`Confirm rename`,disabled:!y.trim()||x,onClick:()=>E(e.conversationId),children:x?(0,V.jsx)(ie,{size:13,className:`spin`}):(0,V.jsx)(h,{size:13})}),(0,V.jsx)(`button`,{type:`button`,className:`conversations-action conversations-cancel`,title:`Cancel`,onClick:w,children:(0,V.jsx)(de,{size:13})})]}),o&&(0,V.jsxs)(`div`,{className:`conversations-edit-inline`,children:[(0,V.jsx)(`span`,{className:`conversations-edit-error`,children:g.reason}),(0,V.jsx)(`button`,{type:`button`,className:`conversations-action conversations-retry`,title:`Retry`,onClick:()=>T(e.conversationId),children:(0,V.jsx)(Je,{size:13})}),(0,V.jsx)(`button`,{type:`button`,className:`conversations-action conversations-cancel`,title:`Cancel`,onClick:w,children:(0,V.jsx)(de,{size:13})})]}),!t&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:`conversations-row-name`,children:e.name||e.conversationId.slice(0,12)+`…`}),(0,V.jsxs)(`span`,{className:`conversations-row-meta`,children:[(0,V.jsx)(`span`,{className:`conversations-row-id`,children:e.conversationId.slice(0,8)}),(0,V.jsxs)(`span`,{className:`conversations-row-time`,children:[(0,V.jsx)(xe,{size:10}),(()=>{try{let t=new Date(e.updatedAt),n=Date.now()-t.getTime();return n<6e4?`just now`:n<36e5?`${Math.floor(n/6e4)}m ago`:n<864e5?`${Math.floor(n/36e5)}h ago`:`${Math.floor(n/864e5)}d ago`}catch{return``}})()]})]})]})]}),(0,V.jsx)(`div`,{className:`conversations-row-actions`,children:!t&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`button`,{type:`button`,className:`conversations-action conversations-rename`,title:`Rename conversation`,onClick:()=>T(e.conversationId),children:(0,V.jsx)(Ke,{size:13})}),(0,V.jsx)(`button`,{type:`button`,className:`conversations-action conversations-play`,title:`Resume conversation`,disabled:l,onClick:()=>{l||!c||(n(),u(),fetch(`/api/admin/sessions/${encodeURIComponent(e.conversationId)}/resume?session_key=${encodeURIComponent(c)}`,{method:`POST`}).then(e=>e.ok?e.json():Promise.reject(Error(`Failed to resume conversation`))).then(e=>{e.conversationId&&f(e.conversationId);let t=(e.messages??[]).map(e=>({role:e.role===`user`?`admin`:`maxy`,content:e.role===`user`?e.content:void 0,events:e.role===`assistant`?[{type:`text`,content:e.content}]:void 0,timestamp:new Date(e.createdAt).getTime()||0,historical:!0}));t.length>0&&d(t)}).catch(e=>{console.error(`[chat] conversation resume failed:`,e),d([{role:`maxy`,events:[{type:`text`,content:`Could not load conversation history.`}],timestamp:Date.now()-1,historical:!0}])}))},children:(0,V.jsx)(_,{size:13})}),(0,V.jsx)(`button`,{type:`button`,className:`conversations-action conversations-delete`,title:`Delete conversation`,onClick:()=>{s(t=>t.filter(t=>t.conversationId!==e.conversationId)),c&&fetch(`/api/admin/sessions/${encodeURIComponent(e.conversationId)}?session_key=${encodeURIComponent(c)}`,{method:`DELETE`}).catch(e=>console.error(`[chat] conversation delete failed:`,e))},children:(0,V.jsx)(i,{size:13})})]})})]},e.conversationId)})]})]})}):null}function TE({src:e,onClose:t}){return e?(0,V.jsxs)(`div`,{className:`attachment-lightbox`,onClick:t,children:[(0,V.jsx)(`button`,{className:`attachment-lightbox-close`,onClick:t,"aria-label":`Close`,children:`×`}),(0,V.jsx)(`img`,{src:e,alt:`Attachment`,onClick:e=>e.stopPropagation()})]}):null}function EE({show:e,onClose:t,onConfirm:n}){return e?(0,V.jsx)(`div`,{className:`claude-info-overlay`,onClick:t,children:(0,V.jsxs)(`div`,{className:`claude-info-modal`,onClick:e=>e.stopPropagation(),children:[(0,V.jsxs)(`div`,{className:`claude-info-header`,children:[(0,V.jsx)(`span`,{children:`Compact conversation?`}),(0,V.jsx)(`button`,{className:`claude-info-close`,onClick:t,"aria-label":`Close`,children:`✕`})]}),(0,V.jsx)(`div`,{className:`claude-info-section`,style:{padding:`12px 14px`,fontSize:`11px`,color:`var(--text-secondary)`},children:`Summarises the conversation history to free up context window space. The session continues with a compressed summary.`}),(0,V.jsxs)(`div`,{className:`claude-info-section`,style:{display:`flex`,gap:`8px`,padding:`10px 14px`},children:[(0,V.jsx)(T,{variant:`secondary`,size:`sm`,style:{background:`var(--accent)`,flex:1},onClick:()=>{t(),n()},children:`Yes, compact`}),(0,V.jsx)(T,{variant:`secondary`,size:`sm`,style:{flex:1},onClick:t,children:`No`})]})]})}):null}function DE(e){let{show:t,onClose:n,claudeInfo:r,messages:i,sessionElapsed:a,conversationId:o,contextModeHint:s,handleContextModeToggle:c}=e;if(!t)return null;let l=i.flatMap(e=>e.events?.filter(e=>e.type===`usage`)??[]),u=l.at(-1),d=u?.peak_request_pct==null?u?.context_window?Math.round((u.input_tokens+u.cache_creation_tokens+u.cache_read_tokens)/u.context_window*100):0:Math.round(u.peak_request_pct*100),f=l.reduce((e,t)=>e+t.input_tokens+t.cache_creation_tokens+t.cache_read_tokens+t.output_tokens,0),p=i.flatMap(e=>e.events?.filter(e=>e.type===`rate_limit`)??[]).at(-1),m=l.reduce((e,t)=>e+(t.total_cost_usd??0),0),h=r?.account?.subscriptionType,g=e=>{let t=e*1e3-Date.now();if(t<=0)return`now`;let n=Math.floor(t/36e5),r=Math.floor(t%36e5/6e4);return n>0?`${n}h ${r}m`:`${r}m`};return(0,V.jsx)(`div`,{className:`claude-info-overlay`,onClick:n,children:(0,V.jsxs)(`div`,{className:`claude-info-modal`,onClick:e=>e.stopPropagation(),children:[(0,V.jsxs)(`div`,{className:`claude-info-header`,children:[(0,V.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`claude-info-icon`}),(0,V.jsx)(`span`,{children:`Claude Code`}),(0,V.jsx)(`button`,{className:`claude-info-close`,onClick:n,"aria-label":`Close`,children:`✕`})]}),(0,V.jsxs)(`div`,{className:`claude-info-section`,children:[(0,V.jsxs)(`div`,{className:`claude-info-row`,children:[(0,V.jsx)(`span`,{className:`claude-info-label`,children:`Version`}),(0,V.jsx)(`span`,{className:`claude-info-value`,children:r?r.version:`…`})]}),(0,V.jsxs)(`div`,{className:`claude-info-row`,children:[(0,V.jsx)(`span`,{className:`claude-info-label`,children:`Email`}),(0,V.jsx)(`span`,{className:`claude-info-value`,children:r?.account?.email??`…`})]})]}),(h||p||m>0)&&(0,V.jsxs)(`div`,{className:`claude-info-section`,children:[h&&(0,V.jsxs)(`div`,{className:`claude-info-row`,children:[(0,V.jsx)(`span`,{className:`claude-info-label`,children:`Plan`}),(0,V.jsx)(`span`,{className:`claude-info-value`,style:{textTransform:`capitalize`},children:h})]}),p&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`div`,{className:`claude-info-row`,children:[(0,V.jsx)(`span`,{className:`claude-info-label`,children:`Usage`}),(0,V.jsxs)(`span`,{className:`claude-info-value`,children:[Math.round(p.utilization*100),`%`]})]}),(0,V.jsxs)(`div`,{className:`claude-info-row`,children:[(0,V.jsx)(`span`,{className:`claude-info-label`,children:`Resets in`}),(0,V.jsx)(`span`,{className:`claude-info-value`,children:g(p.resetsAt)})]}),p.isUsingOverage&&(0,V.jsxs)(`div`,{className:`claude-info-row`,children:[(0,V.jsx)(`span`,{className:`claude-info-label`,children:`Overage`}),(0,V.jsx)(`span`,{className:`claude-info-value`,children:`Active`})]})]}),m>0&&(0,V.jsxs)(`div`,{className:`claude-info-row`,children:[(0,V.jsx)(`span`,{className:`claude-info-label`,children:`Session cost`}),(0,V.jsxs)(`span`,{className:`claude-info-value`,children:[`$`,m<.01?m.toFixed(4):m.toFixed(2)]})]})]}),(0,V.jsxs)(`div`,{className:`claude-info-section`,children:[(0,V.jsxs)(`div`,{className:`claude-info-row`,children:[(0,V.jsx)(`span`,{className:`claude-info-label`,children:`Model`}),(0,V.jsx)(`span`,{className:`claude-info-value`,children:r?.model??`…`})]}),(0,V.jsxs)(`div`,{className:`claude-info-row`,children:[(0,V.jsx)(`span`,{className:`claude-info-label`,children:`Context mode`}),(0,V.jsxs)(`span`,{className:`claude-info-value claude-info-toggle`,role:`button`,tabIndex:0,onClick:c,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),c())},children:[r?.contextMode??`…`,s?` (next turn)`:``]})]}),(0,V.jsxs)(`div`,{className:`claude-info-row`,children:[(0,V.jsx)(`span`,{className:`claude-info-label`,children:`Context used`}),(0,V.jsx)(`span`,{className:`claude-info-value`,children:d>0?`${d}%`:`—`})]}),(0,V.jsxs)(`div`,{className:`claude-info-row`,children:[(0,V.jsx)(`span`,{className:`claude-info-label`,children:`Tokens`}),(0,V.jsx)(`span`,{className:`claude-info-value`,children:f>0?st(f):`—`})]}),(0,V.jsxs)(`div`,{className:`claude-info-row`,children:[(0,V.jsx)(`span`,{className:`claude-info-label`,children:`Session`}),(0,V.jsx)(`span`,{className:`claude-info-value`,children:ot(a)})]}),o&&(0,V.jsxs)(`div`,{className:`claude-info-row`,children:[(0,V.jsx)(`span`,{className:`claude-info-label`,children:`Conversation`}),(0,V.jsx)(`span`,{className:`claude-info-value`,style:{fontFamily:`monospace`,fontSize:10},children:o.slice(0,8)})]})]})]})})}var OE=5e3,kE=6,AE=`maxy-upgrade-in-progress`;function jE(){try{return sessionStorage.getItem(AE)===`1`}catch{return!1}}function ME(e){try{e?sessionStorage.setItem(AE,`1`):sessionStorage.removeItem(AE)}catch{}}function NE(e){try{fetch(`/api/_client-error`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({kind:`unknown`,tag:`terminal-unavailable`,msg:`source=${e} corrId=upgrade-modal`}),keepalive:!0})}catch{}}function PE({show:e,onClose:t,versionInfo:n,sessionKey:r,onUpgradeComplete:i}){let[a,o]=(0,B.useState)(!1),[s,c]=(0,B.useState)(!1),[l,u]=(0,B.useState)(()=>jE()),[d,f]=(0,B.useState)(null),[p,m]=(0,B.useState)(!1),h=(0,B.useRef)(null),g=(0,B.useRef)(null),_=(0,B.useRef)(null),v=(0,B.useRef)(0),y=(0,B.useRef)(0),b=n?.latest??null,x=(0,B.useCallback)(()=>{g.current&&=(clearInterval(g.current),null),_.current&&=(clearTimeout(_.current),null)},[]),S=(0,B.useCallback)(async()=>{let e=++y.current;f(null);try{let t=await fetch(`/api/health`,{cache:`no-store`});if(e!==y.current)return;if(!t.ok){f(!1),m(!0),NE(`pre-flight`);return}let n=await t.json();if(e!==y.current)return;let r=n?.terminal_ready===!0;f(r),r||(m(!0),NE(`pre-flight`))}catch{if(e!==y.current)return;f(!1),m(!0),NE(`pre-flight`)}},[]);(0,B.useEffect)(()=>{if(!e){x(),o(!1),c(!1),f(null),m(!1),u(jE()),v.current=0,y.current++;return}S()},[e,x,S]),(0,B.useEffect)(()=>x,[x]),(0,B.useEffect)(()=>{a&&ME(!0)},[a]),(0,B.useEffect)(()=>{s&&ME(!1)},[s]),(0,B.useEffect)(()=>{p&&ME(!1)},[p]),(0,B.useEffect)(()=>{if(!(!e||!a||s||!b))return g.current=setInterval(async()=>{try{let e=await fetch(`/api/admin/version`,{cache:`no-store`});if(!e.ok)return;(await e.json()).installed===b&&(x(),c(!0),i(),setTimeout(()=>window.location.reload(),2e3))}catch{}},OE),x},[e,a,s,b,i,x]);function C(){if(!b){console.warn(`[update] Upgrade blocked: no target version`);return}if(!p){if(_.current&&=(clearTimeout(_.current),null),l||u(!0),!h.current?.send(`npx -y @rubytech/create-maxy@latest\r`)){if(v.current+=1,v.current>=kE){console.warn(`[update] terminal send retry cap (${kE}) exhausted — declaring unavailable`),m(!0),NE(`retry-cap`);return}console.warn(`[update] terminal not ready — retrying in 500ms (${v.current}/${kE})`),_.current=setTimeout(C,500);return}_.current=null,v.current=0,o(!0)}}function w(){p||(m(!0),NE(`on-unavailable`))}function T(){x(),m(!1),u(!1),o(!1),v.current=0,S()}if(!e)return null;let E=l&&d===!0&&!p;return(0,V.jsx)(`div`,{className:`claude-info-overlay`,onClick:()=>{(!a||s)&&t()},children:(0,V.jsxs)(`div`,{className:`claude-info-modal update-modal update-modal-terminal`,onClick:e=>e.stopPropagation(),children:[(0,V.jsxs)(`div`,{className:`claude-info-header`,children:[(0,V.jsx)(le,{size:12}),`Software Update`,(0,V.jsx)(`button`,{className:`claude-info-close`,onClick:t,children:`✕`})]}),(0,V.jsxs)(`div`,{className:`update-modal-body update-modal-body-terminal`,children:[(0,V.jsxs)(`div`,{className:`update-modal-versions`,children:[(0,V.jsxs)(`div`,{className:`claude-info-row`,children:[(0,V.jsx)(`span`,{className:`claude-info-label`,children:`Installed`}),(0,V.jsxs)(`span`,{className:`claude-info-value`,children:[`v`,n?.installed??`…`]})]}),(0,V.jsxs)(`div`,{className:`claude-info-row`,children:[(0,V.jsx)(`span`,{className:`claude-info-label`,children:`Available`}),(0,V.jsxs)(`span`,{className:`claude-info-value update-version-new`,children:[`v`,b??`…`]})]})]}),(0,V.jsx)(`div`,{className:`update-modal-terminal-wrap`,style:{height:420},children:p?(0,V.jsxs)(`div`,{className:`update-modal-terminal-unavailable`,role:`alert`,children:[(0,V.jsx)(`div`,{className:`update-modal-terminal-unavailable-title`,children:`Admin terminal not available.`}),(0,V.jsxs)(`div`,{className:`update-modal-terminal-unavailable-body`,children:[`Re-run the installer from a shell:`,(0,V.jsx)(`code`,{className:`update-modal-terminal-unavailable-cmd`,children:`npx -y @rubytech/create-maxy@latest`})]}),(0,V.jsx)(`button`,{type:`button`,className:`update-modal-btn`,onClick:T,children:`Try again`})]}):E?(0,V.jsx)(CE,{ref:h,corrId:`upgrade-modal`,onUnavailable:w}):(0,V.jsx)(`div`,{className:`update-modal-terminal-placeholder`,children:d===null?`Checking admin terminal…`:`Ready to upgrade.`})}),!a&&!s&&!p&&(0,V.jsx)(`button`,{type:`button`,className:`update-modal-btn`,onClick:C,disabled:d!==!0,children:`Upgrade`}),s&&(0,V.jsxs)(`div`,{className:`update-modal-result`,children:[(0,V.jsx)(ve,{size:14,className:`update-success-icon`}),(0,V.jsxs)(`span`,{children:[`Upgraded to v`,b,` — reloading…`]})]})]})]})})}function FE({onClose:e}){at();let[t,n]=(0,B.useState)(!1),r=(0,B.useRef)(null),i=(0,B.useRef)(null),a=(0,B.useCallback)(()=>{i.current&&=(clearInterval(i.current),null),r.current&&!r.current.closed&&r.current.close(),r.current=null,n(!1)},[]),o=(0,B.useCallback)(()=>{let t=`/vnc-popout.html?title=${encodeURIComponent(v.productName)}`,o=window.open(t,`maxy-vnc-overlay-popout`,`width=1024,height=768`);o&&(r.current=o,n(!0),i.current=setInterval(()=>{r.current?.closed&&(a(),e())},500))},[a,e]),s=(0,B.useCallback)(()=>{a(),e()},[a,e]);(0,B.useEffect)(()=>{if(t)return;let e=e=>{e.key===`Escape`&&s()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[t,s]),(0,B.useEffect)(()=>()=>a(),[a]);let c=It({handlePopout:o,disabled:t});return t?(0,V.jsxs)(`div`,{className:`browser-overlay-popout`,children:[(0,V.jsx)(O,{className:`browser-viewer__icon`}),(0,V.jsx)(`span`,{className:`browser-viewer__title`,children:v.productName}),(0,V.jsx)(`span`,{className:`browser-viewer__popout-label`,children:`Popped out`}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ue,onClick:()=>{a()},"aria-label":`Pop back in`}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:de,onClick:s,"aria-label":`Close`})]}):(0,V.jsxs)(`div`,{className:`browser-viewer-fullscreen`,children:[(0,V.jsxs)(`div`,{className:`browser-viewer-fullscreen__bar`,...c,children:[(0,V.jsx)(O,{className:`browser-viewer__icon`}),(0,V.jsx)(`span`,{className:`browser-viewer-fullscreen__title`,children:v.productName}),(0,V.jsxs)(`div`,{className:`browser-viewer-fullscreen__actions`,children:[(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ee,onClick:o,"aria-label":`Pop out`}),(0,V.jsx)(T,{variant:`ghost`,size:`sm`,icon:de,onClick:s,"aria-label":`Close`})]})]}),(0,V.jsx)(`iframe`,{src:`/vnc-viewer.html`,className:`browser-viewer-fullscreen__iframe`,title:v.productName})]})}function IE(){at();let e=(0,B.useRef)(null),[t,n]=(0,B.useState)(null),[r,a]=(0,B.useState)(!1),[o,s]=(0,B.useState)(!1),[c,u]=(0,B.useState)(``),[d,f]=(0,B.useState)(!1),[p,m]=(0,B.useState)(null),[g,_]=(0,B.useState)(!1),[y,b]=(0,B.useState)(null),[x,S]=(0,B.useState)(null),[w,T]=(0,B.useState)(!1),[E,D]=(0,B.useState)([]),[k,A]=(0,B.useState)(!1),[j,M]=(0,B.useState)(null),[N,P]=(0,B.useState)(null),[ee,F]=(0,B.useState)(!1),[te,I]=(0,B.useState)(null),[ne,ae]=(0,B.useState)(!1),[le,ue]=(0,B.useState)(!1),fe=(0,B.useRef)(!1),pe=(0,B.useRef)(!1),me=(0,B.useRef)(!1),he=(0,B.useRef)(null),ge=l(),_e=ct(),R=mt(),ve=Ct(),z=St({sessionKey:R.sessionKey,setSessionKey:R.setSessionKey,setAppState:R.setAppState,setConversationId:R.setConversationId,startElapsedTimer:_e.startElapsedTimer,stopElapsedTimer:_e.stopElapsedTimer,resetTimerState:_e.resetTimerState,pausedElapsedRef:_e.pausedElapsedRef,expandAllDefaultRef:R.expandAllDefaultRef,setExpandAll:R.setExpandAll,getPendingFiles:()=>ve.pendingFiles,clearPendingFiles:ve.clearFiles,inputRef:e});(0,B.useEffect)(()=>{u(window.location.hostname.startsWith(`admin.`)?window.location.origin.replace(`admin.`,`public.`):window.location.origin)},[]),(0,B.useEffect)(()=>{function e(e){e.key===`Escape`&&(t?n(null):ge.selectionMode&&ge.exitSelection())}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[t,ge.selectionMode]),(0,B.useEffect)(()=>{(R.appState===`set-pin`||R.appState===`enter-pin`)&&setTimeout(()=>R.pinInputRef.current?.focus(),100),R.appState===`chat`&&setTimeout(()=>e.current?.focus(),100)},[R.appState,z.greetingGeneration]),(0,B.useEffect)(()=>{if(R.appState!==`chat`)return;history.pushState({maxyChat:!0},``);function e(){console.debug(`[history-guard] popstate absorbed`),history.pushState({maxyChat:!0},``)}return window.addEventListener(`popstate`,e),()=>window.removeEventListener(`popstate`,e)},[R.appState]);let ye=(0,B.useRef)(z.greetingGeneration);return(0,B.useEffect)(()=>{z.greetingGeneration!==ye.current&&(ye.current=z.greetingGeneration,R.onboardingComplete===!1&&(fe.current=!1))},[z.greetingGeneration,R.onboardingComplete]),(0,B.useEffect)(()=>{R.appState===`chat`&&R.onboardingComplete===!1&&(fe.current||(fe.current=!0,z.sendSystemPrompt(`[Begin onboarding.]`)))},[R.appState,R.onboardingComplete,z.greetingGeneration]),(0,B.useEffect)(()=>{if(!d)return;let e=!1;return fetch(`/api/admin/version`).then(e=>e.json()).then(t=>{e||P(t)}).catch(e=>{console.error(`[admin/version] menu-open client fetch failed:`,e)}),()=>{e=!0}},[d]),(0,B.useEffect)(()=>{if(R.appState!==`chat`){pe.current=!1,me.current=!1;return}if(pe.current)return;pe.current=!0;let e=!1;return fetch(`/api/admin/version`).then(e=>e.json()).then(t=>{e||(P(t),!(!t.updateAvailable||me.current)&&(I(t),F(!0),fetch(`/api/admin/version/alert-surfaced`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({installed:t.installed,latest:t.latest})}).catch(e=>{console.error(`[admin/version] alert-surfaced signal failed:`,e)})))}).catch(e=>{console.error(`[admin/version] session-start client fetch failed:`,e)}),()=>{e=!0}},[R.appState]),(0,B.useEffect)(()=>{if(!d){m(null),b(null),S(null),P(null);return}function e(e){he.current&&!he.current.contains(e.target)&&f(!1)}return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[d]),(0,B.useEffect)(()=>{if(typeof BroadcastChannel>`u`)return;let e=new BroadcastChannel(`platform-onboarding`);return e.onmessage=e=>{e.data?.type===`remote-password-set`&&z.sendMessageRef.current(`I've set the remote password`)},()=>e.close()},[]),R.appState===`loading`?(0,V.jsx)(`div`,{className:`chat-page admin-page`,children:(0,V.jsx)(`header`,{className:`chat-header`,children:(0,V.jsx)(`img`,{src:re,alt:v.productName,className:`chat-logo`})})}):R.appState===`set-pin`?(0,V.jsx)(Tt,{pin:R.pin,setPin:R.setPin,confirmPin:R.confirmPin,setConfirmPin:R.setConfirmPin,showPin:R.showPin,setShowPin:R.setShowPin,pinLoading:R.pinLoading,pinError:R.pinError,pinInputRef:R.pinInputRef,confirmPinInputRef:R.confirmPinInputRef,setPinFormRef:R.setPinFormRef,onSubmit:R.handleSetPin}):R.appState===`onboarding-choice`?(0,V.jsx)(kt,{setAppState:R.setAppState,setOnboardingComplete:R.setOnboardingComplete}):R.appState===`connect-claude`?(0,V.jsx)(Ot,{authPolling:R.authPolling,setAuthPolling:R.setAuthPolling,authLoading:R.authLoading,setAuthLoading:R.setAuthLoading,pinError:R.pinError,setPinError:R.setPinError,setAppState:R.setAppState}):R.appState===`enter-pin`?(0,V.jsx)(Et,{pin:R.pin,setPin:R.setPin,showPin:R.showPin,setShowPin:R.setShowPin,pinLoading:R.pinLoading,pinError:R.pinError,pinInputRef:R.pinInputRef,onSubmit:R.handleLogin,onChangePin:R.handleChangePin}):R.appState===`account-picker`?(0,V.jsx)(Dt,{accounts:R.accounts,loading:R.accountPickerLoading,error:R.pinError,onSelect:R.handleAccountSelect}):(0,V.jsx)(C,{value:{onShowVnc:()=>ae(!0)},children:(0,V.jsxs)(`div`,{className:`chat-page admin-page`,children:[(0,V.jsxs)(`header`,{className:`chat-header`,children:[(0,V.jsx)(`img`,{src:re,alt:v.productName,className:`chat-logo`}),(!v.logoContainsName||R.businessName)&&(0,V.jsx)(`div`,{children:(0,V.jsx)(`h1`,{className:`chat-tagline`,children:R.businessName||v.productName})}),(0,V.jsxs)(`div`,{className:`chat-burger-wrap`,ref:he,children:[(0,V.jsx)(`button`,{type:`button`,className:`chat-burger`,onClick:()=>f(e=>!e),"aria-label":`Menu`,"aria-haspopup":`true`,"aria-expanded":d,children:(0,V.jsx)(se,{size:20})}),d&&(0,V.jsxs)(`div`,{className:`chat-menu`,children:[(0,V.jsxs)(`button`,{type:`button`,className:`chat-menu-item`,onClick:async()=>{if(!(ne||le)){ue(!0),f(!1);try{let e=await(await fetch(`/api/admin/browser/launch`,{method:`POST`})).json().catch(()=>({ok:!1,error:`Invalid response`}));if(!e.ok)throw Error(e.error??`Failed to launch browser`);ae(!0)}catch(e){console.error(`[browser] Launch failed:`,e),alert(e instanceof Error?e.message:`Failed to launch browser`)}finally{ue(!1)}}},disabled:le,children:[(0,V.jsx)(O,{size:14}),` Browser`,le&&(0,V.jsx)(ie,{size:12,className:`spin`})]}),(0,V.jsxs)(`button`,{type:`button`,className:`chat-menu-item`,onClick:()=>{f(!1),window.location.href=`/data`},children:[(0,V.jsx)(oe,{size:14}),` Data`]}),(0,V.jsxs)(`button`,{type:`button`,className:`chat-menu-item`,onClick:()=>{f(!1),window.location.href=`/graph`},children:[(0,V.jsx)(ce,{size:14}),` Graph`]}),(0,V.jsx)(`div`,{className:`chat-menu-divider`}),(0,V.jsxs)(`button`,{type:`button`,className:`chat-menu-item`,onClick:async()=>{if(p!==null){m(null),S(null);return}_(!0),b(null);try{let e=await fetch(`/api/admin/agents`);if(!e.ok)throw Error(`Failed to load agents`);m((await e.json()).agents??[])}catch(e){console.error(`[admin] agent list failed:`,e),b(e instanceof Error?e.message:String(e))}finally{_(!1)}},children:[(0,V.jsx)(Ee,{size:14}),` Public`,g&&(0,V.jsx)(ie,{size:12,className:`spin`})]}),p!==null&&(0,V.jsxs)(`div`,{className:`chat-menu-agents`,children:[y&&(0,V.jsx)(`span`,{className:`chat-menu-agent-error`,children:y}),p.length===0&&!y&&(0,V.jsx)(`span`,{className:`chat-menu-agent-empty`,children:`No public agents configured`}),p.map(e=>(0,V.jsxs)(`div`,{className:`chat-menu-item chat-menu-agent-item`,children:[(0,V.jsx)(`span`,{className:`agent-status-dot ${e.status}`}),(0,V.jsxs)(`span`,{className:`agent-text`,children:[(0,V.jsx)(`span`,{className:`agent-display-name`,children:e.displayName}),(0,V.jsxs)(`span`,{className:`agent-slug`,children:[`/`,e.slug]})]}),x===e.slug?(0,V.jsxs)(`span`,{className:`agent-actions agent-confirm`,children:[(0,V.jsx)(`button`,{type:`button`,className:`agent-action-btn agent-confirm-yes`,title:`Confirm delete`,onClick:()=>{S(null),m(t=>t?.filter(t=>t.slug!==e.slug)??null),fetch(`/api/admin/agents/${encodeURIComponent(e.slug)}`,{method:`DELETE`}).catch(e=>console.error(`[admin/agents] delete failed:`,e))},children:(0,V.jsx)(h,{size:12})}),(0,V.jsx)(`button`,{type:`button`,className:`agent-action-btn agent-confirm-no`,title:`Cancel`,onClick:()=>S(null),children:(0,V.jsx)(de,{size:12})})]}):(0,V.jsxs)(`span`,{className:`agent-actions`,children:[(0,V.jsx)(`a`,{href:`${c}/${e.slug}`,target:`_blank`,rel:`noopener noreferrer`,className:`agent-action-btn`,title:`Open agent`,onClick:()=>f(!1),children:(0,V.jsx)(Ee,{size:12})}),(0,V.jsx)(`button`,{type:`button`,className:`agent-action-btn agent-delete-btn`,title:`Delete agent`,onClick:()=>S(e.slug),children:(0,V.jsx)(i,{size:12})})]})]},e.slug))]}),(0,V.jsx)(`div`,{className:`chat-menu-divider`}),N?.updateAvailable?(0,V.jsxs)(`button`,{type:`button`,className:`chat-menu-version`,onClick:()=>{N.latest&&(I(N),f(!1),F(!0))},children:[(0,V.jsx)(Ne,{size:14}),(0,V.jsxs)(`span`,{className:`version-installed`,children:[`v`,N.installed,(0,V.jsx)(`span`,{className:`version-update-dot`})]})]}):(0,V.jsxs)(`div`,{className:`chat-menu-version chat-menu-version-passive`,children:[(0,V.jsx)(Ne,{size:14}),(0,V.jsxs)(`span`,{className:`version-installed`,children:[N?`v${N.installed}`:`…`,N&&!N.updateAvailable&&(0,V.jsx)(`span`,{className:`version-uptodate-dot`})]})]}),(0,V.jsxs)(`button`,{type:`button`,className:`chat-menu-item`,onClick:()=>{f(!1),R.handleLogout(),z.setMessages([])},children:[(0,V.jsx)(L,{size:14}),` Log out`]})]})]})]}),(0,V.jsx)(lE,{messages:z.messages,isStreaming:z.isStreaming,elapsedSeconds:_e.elapsedSeconds,sessionTurnStart:_e.sessionTurnStart,expandAll:R.expandAll,setExpandAll:R.setExpandAll,conversationCompacted:z.conversationCompacted,isCompacting:z.isCompacting,setShowCompactConfirm:s,handleComponentSubmit:z.handleComponentSubmit,effectiveSubmitted:z.effectiveSubmitted,selectionMode:ge.selectionMode,selectedItems:ge.selectedItems,toggleSelectItem:ge.toggleSelectItem,sessionKey:R.sessionKey,setLightboxSrc:n,messageQueue:z.messageQueue,messageQueueRef:z.messageQueueRef,setQueue:z.setQueue,sendMessage:z.sendMessage,appState:R.appState,onboardingComplete:R.onboardingComplete}),(0,V.jsx)(uE,{offer:z.topicChangeOffer,onFreshStart:z.handleTopicFreshStart,onContinue:z.handleTopicContinue,disabled:z.isStreaming}),(0,V.jsx)(pE,{selectionMode:ge.selectionMode,selectedItems:ge.selectedItems,copyToast:ge.copyToast||null,exitSelection:ge.exitSelection,enterSelection:ge.enterSelection,copySelected:ge.copySelected,showCopyToast:ge.showCopyToast,input:z.input,setInput:z.setInput,inputRef:e,pendingFiles:ve.pendingFiles,setPendingFiles:ve.setPendingFiles,isDragOver:ve.isDragOver,attachError:ve.attachError,fileInputRef:ve.fileInputRef,addFiles:ve.addFiles,removeFile:ve.removeFile,onDragOver:ve.onDragOver,onDragLeave:ve.onDragLeave,onDrop:ve.onDrop,isStreaming:z.isStreaming,wasPaused:z.wasPaused,messages:z.messages,messageQueueRef:z.messageQueueRef,setQueue:z.setQueue,sendMessage:z.sendMessage,stopStreaming:z.stopStreaming,disconnecting:R.disconnecting,handleDisconnect:R.handleDisconnect,claudeInfo:R.claudeInfo,setClaudeInfo:R.setClaudeInfo,setShowClaudeInfo:a,conversationId:R.conversationId,onNewConversation:z.startNewConversation,newConversationDisabled:z.isStreaming||z.isCompacting,onOpenConversations:async()=>{T(!0),A(!0),M(null);try{let e=await fetch(`/api/admin/sessions?session_key=${encodeURIComponent(R.sessionKey)}`);if(!e.ok)throw Error(`Failed to load conversations`);D((await e.json()).sessions??[])}catch(e){console.error(`[admin] conversation list failed:`,e),M(e instanceof Error?e.message:String(e))}finally{A(!1)}}}),ge.copyToast&&(0,V.jsx)(`span`,{className:`copy-toast${ge.copyToast===`failed`?` copy-toast-failed`:``}`,children:ge.copyToast===`copied`?`Copied`:`Copy failed`}),(0,V.jsx)(wE,{show:w,onClose:()=>T(!1),conversationsLoading:k,conversationsError:j,conversationsList:E,setConversationsList:D,sessionKey:R.sessionKey,isStreaming:z.isStreaming,resetConversation:z.resetConversation,setMessages:z.setMessages,setConversationId:R.setConversationId}),(0,V.jsx)(TE,{src:t,onClose:()=>n(null)}),(0,V.jsx)(EE,{show:o,onClose:()=>s(!1),onConfirm:z.handleCompactNow}),(0,V.jsx)(DE,{show:r,onClose:()=>{a(!1),R.setClaudeInfo(null)},claudeInfo:R.claudeInfo,messages:z.messages,sessionElapsed:_e.sessionElapsed,conversationId:R.conversationId,contextModeHint:R.contextModeHint,handleContextModeToggle:R.handleContextModeToggle}),(0,V.jsx)(PE,{show:ee,onClose:()=>{F(!1),me.current=!0},versionInfo:te,sessionKey:R.sessionKey,onUpgradeComplete:()=>P(null)}),ne&&(0,V.jsx)(FE,{onClose:()=>ae(!1)})]})})}(0,it.createRoot)(document.getElementById(`root`)).render((0,V.jsx)(IE,{}));
|