ryugi-artifacts 1.70.2 → 1.70.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.cjs +2 -2
- package/dist/server.cjs +1 -1
- package/dist/viewer/{AgentStatusPill-5vOW9xJv.js → AgentStatusPill-32K1bSLj.js} +1 -1
- package/dist/viewer/{ArtboardLayout-SA1gCqPF.js → ArtboardLayout-eR_sC6MB.js} +1 -1
- package/dist/viewer/{ArtifactList-DKmeVnKi.js → ArtifactList-DV4G_qK2.js} +1 -1
- package/dist/viewer/{AutoPublishPrompt-BYAg2V0y.js → AutoPublishPrompt-BWNRGLoX.js} +1 -1
- package/dist/viewer/{Avatar-Cr9OW8YH.js → Avatar-DGMPym4p.js} +1 -1
- package/dist/viewer/{Avatar-NMdjRnIS.js → Avatar-oPUFOoVq.js} +1 -1
- package/dist/viewer/{BottomSheet-BQnGJL4p.js → BottomSheet-BqMckeYt.js} +1 -1
- package/dist/viewer/Canvas-BpSDoGt-.js +1 -0
- package/dist/viewer/{CompositeItem-tvyaiM7D.js → CompositeItem-DA-WyEr7.js} +1 -1
- package/dist/viewer/DocumentLayout-BXegH0sF.js +2 -0
- package/dist/viewer/{DocumentPage-CxPKfY8H.js → DocumentPage-Dw7m0Oxi.js} +2 -2
- package/dist/viewer/{DropdownMenu-DQRhgqL-.js → DropdownMenu-C4feb-Mq.js} +1 -1
- package/dist/viewer/{HtmlLayout-DzcNJHBz.js → HtmlLayout-DltXJryH.js} +1 -1
- package/dist/viewer/{MenuSubmenuTrigger-CFAM5XEZ.js → MenuSubmenuTrigger-B_Ya87it.js} +1 -1
- package/dist/viewer/{MenuTrigger-COssWqPW.js → MenuTrigger-C421vH74.js} +1 -1
- package/dist/viewer/{PhoneArtboardBar-B6JoWeSs.js → PhoneArtboardBar-BUlgF3vS.js} +1 -1
- package/dist/viewer/{PhoneSheet-F7YTU--u.js → PhoneSheet-4j89IU2w.js} +1 -1
- package/dist/viewer/{Popover-4xoki5-K.js → Popover-C23mZ93A.js} +1 -1
- package/dist/viewer/{PreviewLayout-4K_gFN2k.js → PreviewLayout-CMYzEEL_.js} +2 -2
- package/dist/viewer/{Segmented-CFwxjVOk.js → Segmented-CRw0XP1f.js} +1 -1
- package/dist/viewer/{Select-CwMZ_V48.js → Select-BCfJ7Dw_.js} +1 -1
- package/dist/viewer/{SelectScrollUpArrow-D1wI2boK.js → SelectScrollUpArrow-CTtHJLxk.js} +1 -1
- package/dist/viewer/{SettingsDialog-ytisgF60.js → SettingsDialog-DXraxvYr.js} +1 -1
- package/dist/viewer/{SnapshotDocument-hqdNWrGC.js → SnapshotDocument-DK5PtxZf.js} +1 -1
- package/dist/viewer/{SplitShell-CPNXykMT.js → SplitShell-BXL8Wrt6.js} +1 -1
- package/dist/viewer/{ThreadView-CxcjZsZO.js → ThreadView-BB278JlB.js} +1 -1
- package/dist/viewer/{TooltipPopup-D7gvHCZl.js → TooltipPopup-CfrIPB9r.js} +1 -1
- package/dist/viewer/{VirtualizedEditor-uWe43zaI-jXQYKA6Y.js → VirtualizedEditor-uWe43zaI-CU144P8N.js} +1 -1
- package/dist/viewer/{VirtualizedRenderer-C_d95FXi-DXOAwChO.js → VirtualizedRenderer-C_d95FXi-F9BGUjW7.js} +1 -1
- package/dist/viewer/{WarningsBadge-yykGlxIS.js → WarningsBadge-8P8HTqhj.js} +1 -1
- package/dist/viewer/{WhiteboardLayout-DrbL4lir.js → WhiteboardLayout-CvpcOBD0.js} +1 -1
- package/dist/viewer/{WritingCursor-BmvJsfI4.js → WritingCursor-D5F8GgYm.js} +1 -1
- package/dist/viewer/{abnfDiagram-VCTEODGH-BcWo9FwK.js → abnfDiagram-VCTEODGH-B0LKfCdw.js} +1 -1
- package/dist/viewer/{agentLook-t-qk7xG-.js → agentLook-nPOaN-2B.js} +1 -1
- package/dist/viewer/{anchor-CMDdppxq.js → anchor-DOedlAmb.js} +1 -1
- package/dist/viewer/{ar-SA-G6X2FPQ2-Cm_ExiPk.js → ar-SA-G6X2FPQ2-B5ymZ6-7.js} +1 -1
- package/dist/viewer/{architecture-7GRP2DOG-B0ELn-r9.js → architecture-7GRP2DOG-BMYJCrZV.js} +1 -1
- package/dist/viewer/{architectureDiagram-5GKGNRK7-pjk1bmyn.js → architectureDiagram-5GKGNRK7-CTIIuGJC.js} +1 -1
- package/dist/viewer/{az-AZ-76LH7QW2-C3xDoCfK.js → az-AZ-76LH7QW2-0e4OEoQn.js} +1 -1
- package/dist/viewer/{bg-BG-XCXSNQG7-BuqoExRt.js → bg-BG-XCXSNQG7-BK4Yfu0v.js} +1 -1
- package/dist/viewer/{blockDiagram-I7D4REHJ-Bt5Fgmbw.js → blockDiagram-I7D4REHJ-BCY39CK-.js} +1 -1
- package/dist/viewer/{bn-BD-2XOGV67Q-Cb6R-JhO.js → bn-BD-2XOGV67Q-DY0dhZri.js} +1 -1
- package/dist/viewer/{c4Diagram-7LVT6UL2-DVoqgVNh.js → c4Diagram-7LVT6UL2-C4bAGSRF.js} +1 -1
- package/dist/viewer/{ca-ES-6MX7JW3Y-C9x3VZP6.js → ca-ES-6MX7JW3Y-DYeaKAAZ.js} +1 -1
- package/dist/viewer/{channel-B6od2bv2.js → channel-CMKOAKFL.js} +5 -5
- package/dist/viewer/channel-Dg0tnVaL.js +1 -0
- package/dist/viewer/{chunk-4HAMMTFA-CTdlWrtX.js → chunk-4HAMMTFA-DKKrCtt5.js} +1 -1
- package/dist/viewer/{chunk-75Z2AOVW-C_A1Se9D.js → chunk-75Z2AOVW-CxnIcYMY.js} +1 -1
- package/dist/viewer/{chunk-DU6HZSFF-Dr7PaN7b.js → chunk-DU6HZSFF-CO07tHJW.js} +1 -1
- package/dist/viewer/{chunk-EIO257PC-oHJkbpFs.js → chunk-EIO257PC-qXGHvKXr.js} +1 -1
- package/dist/viewer/{chunk-F27PBJKO-BBCDjN53.js → chunk-F27PBJKO-BKgYSwDY.js} +1 -1
- package/dist/viewer/{chunk-GMAD6QVW-BFHBOVJq.js → chunk-GMAD6QVW-BbSqVE_3.js} +1 -1
- package/dist/viewer/{chunk-GVQU2GXP-BIpEZyzS.js → chunk-GVQU2GXP-CybTk49_.js} +1 -1
- package/dist/viewer/{chunk-IMKFNOWR-KEawvx8K.js → chunk-IMKFNOWR-jCedT_zr.js} +1 -1
- package/dist/viewer/{chunk-L3NEJ4N5-IwBcwkuk.js → chunk-L3NEJ4N5-CdvkCIkZ.js} +1 -1
- package/dist/viewer/{chunk-OSK3NFVY-C3k_p7-w.js → chunk-OSK3NFVY-9vAyeFw7.js} +1 -1
- package/dist/viewer/{chunk-P2QGCYS3-Dtm_7Lz7.js → chunk-P2QGCYS3-CLr9GbT7.js} +1 -1
- package/dist/viewer/{chunk-POPQ4Y6H-CytCoNkh.js → chunk-POPQ4Y6H-CI_O6mAo.js} +1 -1
- package/dist/viewer/{chunk-PWAF6VOD-CyHOdyql.js → chunk-PWAF6VOD-mr5E6zf6.js} +1 -1
- package/dist/viewer/{chunk-SHT3W25Y-DD7pl4JI.js → chunk-SHT3W25Y-DYrFyqoc.js} +1 -1
- package/dist/viewer/{chunk-SVP7TREG-Bu4mLQNH.js → chunk-SVP7TREG-dMNx_CcY.js} +1 -1
- package/dist/viewer/{chunk-TICWLB2K-sZ8FCdF0.js → chunk-TICWLB2K-BGQtf-K3.js} +1 -1
- package/dist/viewer/classDiagram-ZZMXUADV-I3gtgBTd.js +1 -0
- package/dist/viewer/classDiagram-v2-VYDZK3BY-I3gtgBTd.js +1 -0
- package/dist/viewer/{cs-CZ-2BRQDIVT-BYzmp2zB.js → cs-CZ-2BRQDIVT-DjaDntjh.js} +1 -1
- package/dist/viewer/{cynefin-OW5HDTMX-BRRxGfUD.js → cynefin-OW5HDTMX-DsZ0qkVs.js} +1 -1
- package/dist/viewer/{cynefinDiagram-5FMLGOSQ-BJJG-W2c.js → cynefinDiagram-5FMLGOSQ-Y54wafYF.js} +1 -1
- package/dist/viewer/{da-DK-5WZEPLOC-BQMUVHri.js → da-DK-5WZEPLOC-Tqj9zEgt.js} +1 -1
- package/dist/viewer/{dagre-GXQ25YYZ-18YALgQ_.js → dagre-GXQ25YYZ-BehPXdKF.js} +1 -1
- package/dist/viewer/{de-DE-XR44H4JA-CXVFrfP-.js → de-DE-XR44H4JA-B7Ys3_AN.js} +1 -1
- package/dist/viewer/{diagram-S7CK7UJ4-BxB2LRSe.js → diagram-S7CK7UJ4-CUPMHvHL.js} +1 -1
- package/dist/viewer/{diagram-UQ7AKVKN-BcJ9Tkbs.js → diagram-UQ7AKVKN-Cnsotkkq.js} +1 -1
- package/dist/viewer/{diagram-VSXAHHWV-_UeBcZmY.js → diagram-VSXAHHWV-_Gb0p4Xt.js} +1 -1
- package/dist/viewer/{diagram-VX7I27RA-Bc9iy24S.js → diagram-VX7I27RA-6b_DdSPn.js} +1 -1
- package/dist/viewer/{diagram-Z3DM3KII-gU89rmSx.js → diagram-Z3DM3KII-C3auC1O2.js} +1 -1
- package/dist/viewer/{dist-CimouhBR.js → dist-7UQnJyoY.js} +1 -1
- package/dist/viewer/{dist-Ckk8Ln7v.js → dist-B2Pz6jKV.js} +1 -1
- package/dist/viewer/{dist-DFoTCsMa.js → dist-BKIoajE3.js} +1 -1
- package/dist/viewer/{dist-CtNq8Fc3.js → dist-BNqLQbx8.js} +1 -1
- package/dist/viewer/{dist-OI9ayuXJ.js → dist-Bpc6MjnN.js} +1 -1
- package/dist/viewer/{dist-DP3kgHOu.js → dist-C30QaZlo.js} +1 -1
- package/dist/viewer/{dist-B2iLAjhx.js → dist-C54IWjMq.js} +1 -1
- package/dist/viewer/{dist-DeLN4KiV.js → dist-CAlOKecF.js} +1 -1
- package/dist/viewer/{dist-k5REaceC.js → dist-CLMpMvW8.js} +1 -1
- package/dist/viewer/{dist-zAsatJ3z.js → dist-CivKp_88.js} +1 -1
- package/dist/viewer/{dist-T5bhQ39l.js → dist-D0jfqsk3.js} +1 -1
- package/dist/viewer/{dist-Cb-yo3Gf.js → dist-D1ltcskn.js} +1 -1
- package/dist/viewer/{dist-DhLyhl2k.js → dist-D8yTrHOe.js} +1 -1
- package/dist/viewer/{dist-B6jptwyK.js → dist-DJD7Rxl_.js} +1 -1
- package/dist/viewer/{dist-QVTBQ_Lo.js → dist-DKC2CFz3.js} +1 -1
- package/dist/viewer/{dist-CjrbmuC6.js → dist-DYYos7aA.js} +1 -1
- package/dist/viewer/{dist-DNnbAIPr.js → dist-DjX-jLyv.js} +1 -1
- package/dist/viewer/{dist-C3p_NYog.js → dist-DmX9cG26.js} +1 -1
- package/dist/viewer/{dist-DksKyGM5.js → dist-Dvpwh6aN.js} +1 -1
- package/dist/viewer/{dist-B-4OmMiD.js → dist-Q62YQ6Tz.js} +1 -1
- package/dist/viewer/{dist-CoQPmYDy.js → dist-SjMB3ORD.js} +1 -1
- package/dist/viewer/{dist-CqZmBkkh.js → dist-pOfDFOb4.js} +1 -1
- package/dist/viewer/{dist-QjnQrlMe.js → dist-ujkFdcwL.js} +4 -4
- package/dist/viewer/{dist-2zwLzKuW.js → dist-xaJ7cT-p.js} +1 -1
- package/dist/viewer/{ebnfDiagram-PWID7BFC-C8HSoSRy.js → ebnfDiagram-PWID7BFC-CE0BLrbg.js} +1 -1
- package/dist/viewer/{el-GR-BZB4AONW-ow3fFVLT.js → el-GR-BZB4AONW-D1iu3D-5.js} +1 -1
- package/dist/viewer/{en-B4ZKOASM-CaY3r9HU.js → en-B4ZKOASM-q9ZI4jM7.js} +1 -1
- package/dist/viewer/{erDiagram-RLTQ6QDP-BxJx7rlQ.js → erDiagram-RLTQ6QDP-gRel-NWS.js} +1 -1
- package/dist/viewer/{es-ES-U4NZUMDT-BMjMaVCY.js → es-ES-U4NZUMDT-C2iEjmwQ.js} +1 -1
- package/dist/viewer/{eu-ES-A7QVB2H4-CM4bkpMu.js → eu-ES-A7QVB2H4-BT6Rltb3.js} +1 -1
- package/dist/viewer/{eventmodeling-NTZA5JFV-DnbDCfB2.js → eventmodeling-NTZA5JFV-Bk9WCA8V.js} +1 -1
- package/dist/viewer/{fa-IR-HGAKTJCU-BLD2tQpT.js → fa-IR-HGAKTJCU-CqwuajY6.js} +1 -1
- package/dist/viewer/{fi-FI-Z5N7JZ37-Bgn7EPoz.js → fi-FI-Z5N7JZ37-B5eOrZnB.js} +1 -1
- package/dist/viewer/flowDiagram-HODETNUW-yZn6O744.js +1 -0
- package/dist/viewer/{fr-FR-RHASNOE6-Bkw82-6W.js → fr-FR-RHASNOE6-CuAP0ov3.js} +1 -1
- package/dist/viewer/{ganttDiagram-EL5Y4UJY-DOR_e0je.js → ganttDiagram-EL5Y4UJY-A51eLNzS.js} +1 -1
- package/dist/viewer/{gitGraph-4MIJSDKK-SVRQ5W4D.js → gitGraph-4MIJSDKK-DLjlyn5v.js} +1 -1
- package/dist/viewer/{gitGraphDiagram-WWUBYQGX-CDiQ0mCt.js → gitGraphDiagram-WWUBYQGX-CpflpsWN.js} +1 -1
- package/dist/viewer/{gl-ES-HMX3MZ6V-BLzHqZN8.js → gl-ES-HMX3MZ6V-DNzL8ZLj.js} +1 -1
- package/dist/viewer/{he-IL-6SHJWFNN-D8wU25du.js → he-IL-6SHJWFNN-BL2IqUA2.js} +1 -1
- package/dist/viewer/{hi-IN-IWLTKZ5I-BL-e61Xu.js → hi-IN-IWLTKZ5I-Cc_Z6cIK.js} +1 -1
- package/dist/viewer/{hu-HU-A5ZG7DT2-DbYToYgQ.js → hu-HU-A5ZG7DT2-BpJys7hD.js} +1 -1
- package/dist/viewer/{id-ID-SAP4L64H-CCT_QszX.js → id-ID-SAP4L64H-D4zLMff9.js} +1 -1
- package/dist/viewer/{image-GAAHSSAO-DKoD4XKV.js → image-GAAHSSAO-BKQeWnXf.js} +1 -1
- package/dist/viewer/index.html +5 -5
- package/dist/viewer/index.js +2 -2
- package/dist/viewer/index3.css +102 -4
- package/dist/viewer/{info-A6RAGUB7-CX2C9N30.js → info-A6RAGUB7-DvZhLcWt.js} +1 -1
- package/dist/viewer/{infoDiagram-27XIBGKW-CN86my9R.js → infoDiagram-27XIBGKW-Cb6BEK3u.js} +1 -1
- package/dist/viewer/{ishikawaDiagram-5VMMS53U-5BluWj2f.js → ishikawaDiagram-5VMMS53U-wRvUis49.js} +1 -1
- package/dist/viewer/{it-IT-JPQ66NNP-afXtP8Ww.js → it-IT-JPQ66NNP-DQMNMOSZ.js} +1 -1
- package/dist/viewer/{ja-JP-DBVTYXUO-DekQisaL.js → ja-JP-DBVTYXUO-CyTOe7Y8.js} +1 -1
- package/dist/viewer/{journeyDiagram-3NMN7TZE-CJC3KFyX.js → journeyDiagram-3NMN7TZE-DrV8-21n.js} +1 -1
- package/dist/viewer/{kaa-6HZHGXH3-tRph-_T2.js → kaa-6HZHGXH3-Bid3n_YF.js} +1 -1
- package/dist/viewer/{kab-KAB-ZGHBKWFO-BE4QoOsA.js → kab-KAB-ZGHBKWFO-BYjsuHFe.js} +1 -1
- package/dist/viewer/{kanban-definition-UXKFOSKX-B18ysZ84.js → kanban-definition-UXKFOSKX-DWK9G9rt.js} +1 -1
- package/dist/viewer/{kk-KZ-P5N5QNE5-CVRotJxc.js → kk-KZ-P5N5QNE5-DP8c-ogr.js} +1 -1
- package/dist/viewer/{km-KH-HSX4SM5Z-hAYTx672.js → km-KH-HSX4SM5Z-xmnFjfoK.js} +1 -1
- package/dist/viewer/{ko-KR-MTYHY66A-QEVtuRm5.js → ko-KR-MTYHY66A-DBXzp-hP.js} +1 -1
- package/dist/viewer/{ku-TR-6OUDTVRD-CRm854Ze.js → ku-TR-6OUDTVRD-DjqLLQgd.js} +1 -1
- package/dist/viewer/{local-split-host-B8nXcoph.js → local-split-host-D5XeWHs2.js} +1 -1
- package/dist/viewer/{lt-LT-XHIRWOB4-CKPgIz76.js → lt-LT-XHIRWOB4-CiXIbBlP.js} +1 -1
- package/dist/viewer/{lv-LV-5QDEKY6T-ChfyCJQM.js → lv-LV-5QDEKY6T-BBg2ICUg.js} +1 -1
- package/dist/viewer/{mermaid-parser.core-BVnYCq41.js → mermaid-parser.core-DIrH0vIS.js} +3 -3
- package/dist/viewer/{mindmap-definition-YA3MSWOX-DHv3E1P_.js → mindmap-definition-YA3MSWOX-D-RKw5yH.js} +1 -1
- package/dist/viewer/{mr-IN-CRQNXWMA-BJLGlD17.js → mr-IN-CRQNXWMA-BvFZO2Ww.js} +1 -1
- package/dist/viewer/{my-MM-5M5IBNSE-9rLlVOlt.js → my-MM-5M5IBNSE-B2vH-znI.js} +1 -1
- package/dist/viewer/{nb-NO-T6EIAALU-B8VMz4zh.js → nb-NO-T6EIAALU-BbKLi7pg.js} +1 -1
- package/dist/viewer/{nl-NL-IS3SIHDZ-DqLxBYZV.js → nl-NL-IS3SIHDZ-Djj6TAo1.js} +1 -1
- package/dist/viewer/{nn-NO-6E72VCQL-Bo0PPFBQ.js → nn-NO-6E72VCQL-C9FENQ04.js} +1 -1
- package/dist/viewer/{oc-FR-POXYY2M6-CWWRWFHX.js → oc-FR-POXYY2M6-Bb9oRGl0.js} +1 -1
- package/dist/viewer/{pa-IN-N4M65BXN-DT0tg3Sk.js → pa-IN-N4M65BXN-GiTIcI0J.js} +1 -1
- package/dist/viewer/{packet-AYTQ26CC-KGzO-wcr.js → packet-AYTQ26CC-CtVAKo8Y.js} +1 -1
- package/dist/viewer/{parseTrigger-Bu-PV9CL.js → parseTrigger-G_dEUQ-S.js} +1 -1
- package/dist/viewer/{pegDiagram-XKGWAZYB-Dic4eBsi.js → pegDiagram-XKGWAZYB-DoKug0Ul.js} +1 -1
- package/dist/viewer/percentages-BXMCSKIN-D095tJfv.js +1 -0
- package/dist/viewer/{pie-WAS4IAKB-BYfJrbuD.js → pie-WAS4IAKB-CxVCcwr-.js} +1 -1
- package/dist/viewer/{pieDiagram-E7YTZNPT-CjUaUWV2.js → pieDiagram-E7YTZNPT-cjr6q7MN.js} +1 -1
- package/dist/viewer/{pl-PL-T2D74RX3-Ch27cnOo.js → pl-PL-T2D74RX3-Bn1NSuWG.js} +1 -1
- package/dist/viewer/preview.html +4 -4
- package/dist/viewer/preview.js +1 -1
- package/dist/viewer/{prod-TT-J6Nam.js → prod-CaFKRNhp.js} +8 -8
- package/dist/viewer/{pt-BR-5N22H2LF-8J6Vfb7V.js → pt-BR-5N22H2LF-BI-zbYLr.js} +1 -1
- package/dist/viewer/{pt-PT-UZXXM6DQ-BX7qQNlR.js → pt-PT-UZXXM6DQ-319Tw5BW.js} +1 -1
- package/dist/viewer/{quadrantDiagram-AXDQQJYC-r9uBJJoA.js → quadrantDiagram-AXDQQJYC-BZ8DulYV.js} +1 -1
- package/dist/viewer/{radar-RG4KPBEZ-DDBCvrzl.js → radar-RG4KPBEZ-CQfJyEYa.js} +1 -1
- package/dist/viewer/{railroad-74A4TZTK-DHdJAn7o.js → railroad-74A4TZTK-BYRU4vXG.js} +1 -1
- package/dist/viewer/{railroad-abnf-HS5TGJTU-D9wWd5uO.js → railroad-abnf-HS5TGJTU-B38hjcrZ.js} +1 -1
- package/dist/viewer/{railroad-ebnf-LZEXJU2U-D-NZ6dqJ.js → railroad-ebnf-LZEXJU2U-CNMwCkdT.js} +1 -1
- package/dist/viewer/{railroad-peg-WCYAUIDC-CyPMQZm7.js → railroad-peg-WCYAUIDC-xAU0vZOf.js} +1 -1
- package/dist/viewer/{railroadDiagram-O6MQD6OU-CWrubsQf.js → railroadDiagram-O6MQD6OU-DbEnsKie.js} +1 -1
- package/dist/viewer/{ref-BF7Dk-nb.js → ref-BwCMEjB3.js} +1 -1
- package/dist/viewer/{requirementDiagram-BXWQKSXE-YIdQ9sc_.js → requirementDiagram-BXWQKSXE-D92sYU7y.js} +1 -1
- package/dist/viewer/{ro-RO-JPDTUUEW-2Pp-dKmW.js → ro-RO-JPDTUUEW-VijYgS5D.js} +1 -1
- package/dist/viewer/{route-CDT5H7Dv.js → route-IxDJQ-oO.js} +1 -1
- package/dist/viewer/{route-messages-E7uG4Fm7.js → route-messages-CJ5JptAX.js} +1 -1
- package/dist/viewer/{ru-RU-B4JR7IUQ-DPkLOvY0.js → ru-RU-B4JR7IUQ-HPA0KGMP.js} +1 -1
- package/dist/viewer/{sankeyDiagram-P5KCCOFB-BQftNXO2.js → sankeyDiagram-P5KCCOFB-JlEPpJZr.js} +1 -1
- package/dist/viewer/{selection-BTJrtSto.js → selection-B2_QE61M.js} +1 -1
- package/dist/viewer/{sequenceDiagram-WJ2MYXX4-C90CSvsu.js → sequenceDiagram-WJ2MYXX4-lImr5uIr.js} +1 -1
- package/dist/viewer/{si-LK-N5RQ5JYF-DjQ-ynCO.js → si-LK-N5RQ5JYF-D3xEcphZ.js} +1 -1
- package/dist/viewer/{sk-SK-C5VTKIMK-Do9H8uzR.js → sk-SK-C5VTKIMK-Db8aZYTC.js} +1 -1
- package/dist/viewer/{sl-SI-NN7IZMDC-bJ5rRome.js → sl-SI-NN7IZMDC-eFJNBgsb.js} +1 -1
- package/dist/viewer/{split-url-D0Eu87y4.js → split-url-DL2J8T-a.js} +1 -1
- package/dist/viewer/{stateDiagram-D77RDMKH-pBFTeHBj.js → stateDiagram-D77RDMKH-DlBhDgXR.js} +1 -1
- package/dist/viewer/stateDiagram-v2-MP3YSRHH-Byaeiehp.js +1 -0
- package/dist/viewer/subset-shared.chunk-BNAGyqG3.js +1 -0
- package/dist/viewer/{subset-worker.chunk-3zYap8Q-.js → subset-worker.chunk-7eRPBTIK.js} +1 -1
- package/dist/viewer/{sv-SE-XGPEYMSR-C0oEs72p.js → sv-SE-XGPEYMSR-1ooAaIdn.js} +1 -1
- package/dist/viewer/{swimlanes-42K2YHIH-CTsMizz_.js → swimlanes-42K2YHIH-Dk9L2F9U.js} +1 -1
- package/dist/viewer/swimlanesDiagram-VR7AAH4N-DNI8atPj.js +8 -0
- package/dist/viewer/{ta-IN-2NMHFXQM-B3AATr70.js → ta-IN-2NMHFXQM-r-PlEE_o.js} +1 -1
- package/dist/viewer/{th-TH-HPSO5L25-DQBS-yab.js → th-TH-HPSO5L25-DCSuXNKm.js} +1 -1
- package/dist/viewer/{timeline-definition-24CTP7MA-C-XiBPgr.js → timeline-definition-24CTP7MA-CuLHXBb9.js} +1 -1
- package/dist/viewer/{tr-TR-DEFEU3FU-ag7nD5kA.js → tr-TR-DEFEU3FU-DmRbSHuX.js} +1 -1
- package/dist/viewer/{treeView-Q6P3EWNA-SVlfuIv-.js → treeView-Q6P3EWNA-70u6vE6C.js} +1 -1
- package/dist/viewer/{treemap-WGGIJYW6-_ZShzHPs.js → treemap-WGGIJYW6-BgaNezOX.js} +1 -1
- package/dist/viewer/{uk-UA-QMV73CPH-BSQfUSoA.js → uk-UA-QMV73CPH-CcDh2WkS.js} +1 -1
- package/dist/viewer/{useAriaLabelledBy-BuWax2Z2.js → useAriaLabelledBy-Cu8JrnAw.js} +1 -1
- package/dist/viewer/{useOpenInteractionType-DH5mUVhj.js → useOpenInteractionType-LXvb6AtX.js} +1 -1
- package/dist/viewer/{useTranslation-BNqJXci1.js → useTranslation-DGPvUY4J.js} +1 -1
- package/dist/viewer/{useTypeFavicon-B3gDp1sZ.js → useTypeFavicon-DIU-6w2G.js} +1 -1
- package/dist/viewer/{vennDiagram-4TSXK5OY-BV0PYWnH.js → vennDiagram-4TSXK5OY-Dm5qhhY3.js} +1 -1
- package/dist/viewer/{vi-VN-M7AON7JQ-Dl7QA_Y_.js → vi-VN-M7AON7JQ-DWAX0NEb.js} +1 -1
- package/dist/viewer/{view--v3LsuO9.js → view-HJ0ahbDf.js} +1 -1
- package/dist/viewer/{viewport-CFJHn_Y6-CSiflW-L.js → viewport-CFJHn_Y6-B-kdQ7xr.js} +1 -1
- package/dist/viewer/{wardley-WFR3VGLG-BNvAuofQ.js → wardley-WFR3VGLG-CmWgAGP4.js} +1 -1
- package/dist/viewer/{wardleyDiagram-VM6X3IG4-B12XuiXU.js → wardleyDiagram-VM6X3IG4-DTCi6DmX.js} +1 -1
- package/dist/viewer/{xychartDiagram-S5SC5T6Z-CNASGt-y.js → xychartDiagram-S5SC5T6Z-DxA0cQ3A.js} +1 -1
- package/dist/viewer/{zh-CN-LNUGB5OW-BN9rjxsZ.js → zh-CN-LNUGB5OW-C0GKmW1G.js} +1 -1
- package/dist/viewer/{zh-HK-E62DVLB3-DVH9Q1Iz.js → zh-HK-E62DVLB3-CnrjNkY6.js} +1 -1
- package/dist/viewer/{zh-TW-RAJ6MFWO-CZYgWnVr.js → zh-TW-RAJ6MFWO-CzT4lffH.js} +1 -1
- package/dist/viewer-lib/{Canvas-DlB6aB_J.js → Canvas-Czt9ltgM.js} +313 -259
- package/dist/viewer-lib/{PhoneArtboardBar-Cjyyjai7.js → PhoneArtboardBar-KVFmaCba.js} +2 -2
- package/dist/viewer-lib/{PreviewView-ck_p8T5E.js → PreviewView-BWt3dX8d.js} +2 -2
- package/dist/viewer-lib/{ReadOnlyWhiteboard-BaHks6CC.js → ReadOnlyWhiteboard-DkN-iQ5e.js} +4 -4
- package/dist/viewer-lib/{RyugiLoader-_MZxEs2s.js → RyugiLoader-CxyL1n9v.js} +10 -9
- package/dist/viewer-lib/{SnapshotDocument-Cnh1MruG.js → SnapshotDocument-CbuCIqIZ.js} +32 -32
- package/dist/viewer-lib/{VirtualizedEditor-uWe43zaI-BDnJhFJS.js → VirtualizedEditor-uWe43zaI-XBNVQjy2.js} +2 -2
- package/dist/viewer-lib/{VirtualizedRenderer-C_d95FXi-BuO0NiU-.js → VirtualizedRenderer-C_d95FXi-8iSF4rXx.js} +3 -3
- package/dist/viewer-lib/{WarningsBadge-p7-QKPVW.js → WarningsBadge-SVKLlXSz.js} +1 -1
- package/dist/viewer-lib/{ar-SA-G6X2FPQ2-BulQwi8B.js → ar-SA-G6X2FPQ2-CcppcMle.js} +1 -1
- package/dist/viewer-lib/{az-AZ-76LH7QW2-CI40Y8TL.js → az-AZ-76LH7QW2-C_SU1Xpr.js} +1 -1
- package/dist/viewer-lib/{bg-BG-XCXSNQG7-BzDIvwtq.js → bg-BG-XCXSNQG7-CWd7fzy0.js} +1 -1
- package/dist/viewer-lib/{bn-BD-2XOGV67Q-C-pgv3qu.js → bn-BD-2XOGV67Q-B0z6Tw9j.js} +1 -1
- package/dist/viewer-lib/{ca-ES-6MX7JW3Y-D6x8nfLg.js → ca-ES-6MX7JW3Y-B2xRB0B0.js} +1 -1
- package/dist/viewer-lib/{chunk-EIO257PC-CeMsMfCl.js → chunk-EIO257PC-D6Jf6Xmm.js} +1 -1
- package/dist/viewer-lib/core.js +4 -4
- package/dist/viewer-lib/{cs-CZ-2BRQDIVT-0ckei0wD.js → cs-CZ-2BRQDIVT-BZKj-SkP.js} +1 -1
- package/dist/viewer-lib/{da-DK-5WZEPLOC-ZduCWsZg.js → da-DK-5WZEPLOC-CW0PeGhv.js} +1 -1
- package/dist/viewer-lib/{de-DE-XR44H4JA-Dhn4t1S-.js → de-DE-XR44H4JA-BNWPKMsf.js} +1 -1
- package/dist/viewer-lib/{dist-Di9F7JPb.js → dist-80gN5MDf.js} +3 -3
- package/dist/viewer-lib/{dist-BCW8Zb-U.js → dist-B1eQ7mh1.js} +2 -2
- package/dist/viewer-lib/{dist-DNsjbGxb.js → dist-B8C9-q9r.js} +2 -2
- package/dist/viewer-lib/{dist-CSfdU4jd.js → dist-BAFLptZH.js} +3 -3
- package/dist/viewer-lib/{dist-DDVF8zAt.js → dist-BGKw9XQy.js} +2 -2
- package/dist/viewer-lib/{dist-BbswzSKs.js → dist-C05yE_u3.js} +3 -3
- package/dist/viewer-lib/{dist-CzN9MAge.js → dist-CG3jaold.js} +2 -2
- package/dist/viewer-lib/{dist-XBsZajBB.js → dist-CLixy726.js} +4 -4
- package/dist/viewer-lib/{dist-8NTQy8U-.js → dist-CXXXkgsH.js} +1 -1
- package/dist/viewer-lib/{dist-Dwz5JxbC.js → dist-Cl-thFU5.js} +3 -3
- package/dist/viewer-lib/{dist-DlpJUiVE.js → dist-Csam7y04.js} +1 -1
- package/dist/viewer-lib/{dist-raPDHOGI.js → dist-D01J0hzJ.js} +2 -2
- package/dist/viewer-lib/{dist-06ekt-ke.js → dist-D33Sd5z1.js} +3 -3
- package/dist/viewer-lib/{dist-Cbrc_d6r.js → dist-DHj3-Pp5.js} +2 -2
- package/dist/viewer-lib/{dist-BbM5jkng.js → dist-DQDlkYqz.js} +3 -3
- package/dist/viewer-lib/{dist-DoVnKIC0.js → dist-DVGe9QEo.js} +3 -3
- package/dist/viewer-lib/{dist-CajfXdQP.js → dist-DczdJ0Ss.js} +3 -3
- package/dist/viewer-lib/{dist-5_jnZVlO.js → dist-Dug8w68g.js} +4 -4
- package/dist/viewer-lib/{dist-CgtdwEjB.js → dist-TYFSuN0R.js} +3 -3
- package/dist/viewer-lib/{dist-BTI5z3BP.js → dist-V1Zz1gd6.js} +3 -3
- package/dist/viewer-lib/{dist-DwFHgVKa.js → dist-jwZIUB0I.js} +4 -4
- package/dist/viewer-lib/{dist-CiAUyx7m.js → dist-lWjeTWd-.js} +2 -2
- package/dist/viewer-lib/{dist-DGvnQ0_D.js → dist-zUHol6rl.js} +2 -2
- package/dist/viewer-lib/document.js +7 -7
- package/dist/viewer-lib/{el-GR-BZB4AONW-CJr0Z7TF.js → el-GR-BZB4AONW-CoQS6FL1.js} +1 -1
- package/dist/viewer-lib/{en-B4ZKOASM-lv6d1blP.js → en-B4ZKOASM-DQdepYlH.js} +1 -1
- package/dist/viewer-lib/{es-ES-U4NZUMDT-CoN1P7ea.js → es-ES-U4NZUMDT-dFGK-tCc.js} +1 -1
- package/dist/viewer-lib/{eu-ES-A7QVB2H4-C9ndoQ2r.js → eu-ES-A7QVB2H4-CTPQRG6p.js} +1 -1
- package/dist/viewer-lib/{fa-IR-HGAKTJCU-CfrK4kxd.js → fa-IR-HGAKTJCU-CTuq4ikl.js} +1 -1
- package/dist/viewer-lib/{fi-FI-Z5N7JZ37-CLBbeiQY.js → fi-FI-Z5N7JZ37-D0JlmPmA.js} +1 -1
- package/dist/viewer-lib/{fr-FR-RHASNOE6-CF0M8dHT.js → fr-FR-RHASNOE6-RlGS8zAt.js} +1 -1
- package/dist/viewer-lib/{gl-ES-HMX3MZ6V-Ds78xJRC.js → gl-ES-HMX3MZ6V-BnQPblSD.js} +1 -1
- package/dist/viewer-lib/{he-IL-6SHJWFNN-T3gPOUQI.js → he-IL-6SHJWFNN-PmN9hBtd.js} +1 -1
- package/dist/viewer-lib/{hi-IN-IWLTKZ5I-BPB6ep5X.js → hi-IN-IWLTKZ5I-BeCrGSfv.js} +1 -1
- package/dist/viewer-lib/{hu-HU-A5ZG7DT2-CroFJ3-c.js → hu-HU-A5ZG7DT2-D0c6msJe.js} +1 -1
- package/dist/viewer-lib/{id-ID-SAP4L64H-BdiIiD1M.js → id-ID-SAP4L64H-DA8yn9MO.js} +1 -1
- package/dist/viewer-lib/{image-GAAHSSAO-tMWhJP5r.js → image-GAAHSSAO-B5NCrxDY.js} +1 -1
- package/dist/viewer-lib/index.js +10 -10
- package/dist/viewer-lib/{it-IT-JPQ66NNP-BeGV_PNa.js → it-IT-JPQ66NNP-Msb_59SR.js} +1 -1
- package/dist/viewer-lib/{ja-JP-DBVTYXUO-BfX9p-BL.js → ja-JP-DBVTYXUO-DF9ymwH_.js} +1 -1
- package/dist/viewer-lib/{kaa-6HZHGXH3-B49iCC1F.js → kaa-6HZHGXH3-DLdj8h7V.js} +1 -1
- package/dist/viewer-lib/{kab-KAB-ZGHBKWFO-DOcMX5a2.js → kab-KAB-ZGHBKWFO-DEnShB8n.js} +1 -1
- package/dist/viewer-lib/{kk-KZ-P5N5QNE5-B5SKdTP9.js → kk-KZ-P5N5QNE5-BZpCUQAO.js} +1 -1
- package/dist/viewer-lib/{km-KH-HSX4SM5Z-DhdPNTTx.js → km-KH-HSX4SM5Z-DJfTgaU-.js} +1 -1
- package/dist/viewer-lib/{ko-KR-MTYHY66A-C-zT8umZ.js → ko-KR-MTYHY66A-XCk-trJi.js} +1 -1
- package/dist/viewer-lib/{ku-TR-6OUDTVRD-C4kAusNi.js → ku-TR-6OUDTVRD-ILEraaqU.js} +1 -1
- package/dist/viewer-lib/{lib-DNNuUrSz.js → lib-BECZaH4I.js} +1 -1
- package/dist/viewer-lib/{lt-LT-XHIRWOB4-B_sxP0eq.js → lt-LT-XHIRWOB4-DR0XA43x.js} +1 -1
- package/dist/viewer-lib/{lv-LV-5QDEKY6T-sD6HgFZ4.js → lv-LV-5QDEKY6T-CDJh4KcF.js} +1 -1
- package/dist/viewer-lib/{mr-IN-CRQNXWMA-Cd5o1iq-.js → mr-IN-CRQNXWMA-lAh3x0wf.js} +1 -1
- package/dist/viewer-lib/{my-MM-5M5IBNSE-CoNWjvsH.js → my-MM-5M5IBNSE-CWbsKpe7.js} +1 -1
- package/dist/viewer-lib/{nb-NO-T6EIAALU-C-i8AySs.js → nb-NO-T6EIAALU-DsOr20_y.js} +1 -1
- package/dist/viewer-lib/{nl-NL-IS3SIHDZ-C1ldIK2V.js → nl-NL-IS3SIHDZ-BvJDYbbm.js} +1 -1
- package/dist/viewer-lib/{nn-NO-6E72VCQL-BbufodQ2.js → nn-NO-6E72VCQL-BB2FmVFh.js} +1 -1
- package/dist/viewer-lib/{oc-FR-POXYY2M6-hBKLK-RY.js → oc-FR-POXYY2M6-Bvwx0qAP.js} +1 -1
- package/dist/viewer-lib/{pa-IN-N4M65BXN-CMYieHVI.js → pa-IN-N4M65BXN-p8MWsauR.js} +1 -1
- package/dist/viewer-lib/percentages-BXMCSKIN-DA7GjP-1.js +1 -0
- package/dist/viewer-lib/{pl-PL-T2D74RX3-BLBveBOC.js → pl-PL-T2D74RX3-DbxHOV0E.js} +1 -1
- package/dist/viewer-lib/{plugin-_bGVeqI0-x1NbXzpN.js → plugin-_bGVeqI0-BuoZIQw-.js} +1 -1
- package/dist/viewer-lib/{prod-CKvZ5R1W.js → prod-Duev06nH.js} +59 -59
- package/dist/viewer-lib/{pt-BR-5N22H2LF-Br5SP3ty.js → pt-BR-5N22H2LF-G_V26Vnw.js} +1 -1
- package/dist/viewer-lib/{pt-PT-UZXXM6DQ-D_gaSKkX.js → pt-PT-UZXXM6DQ-Cibz3GSp.js} +1 -1
- package/dist/viewer-lib/{ro-RO-JPDTUUEW-Cq-mwLjh.js → ro-RO-JPDTUUEW-5IR97wtM.js} +1 -1
- package/dist/viewer-lib/{route-messages-DFgs1Qi1.js → route-messages-YkEDJrGo.js} +2 -2
- package/dist/viewer-lib/{ru-RU-B4JR7IUQ-C4b2ijd5.js → ru-RU-B4JR7IUQ-Bhzxtys5.js} +1 -1
- package/dist/viewer-lib/{si-LK-N5RQ5JYF-DvGkDzKr.js → si-LK-N5RQ5JYF-DkbW4kwL.js} +1 -1
- package/dist/viewer-lib/{sk-SK-C5VTKIMK-Cru-JD0e.js → sk-SK-C5VTKIMK-CHvUkTDC.js} +1 -1
- package/dist/viewer-lib/{sl-SI-NN7IZMDC-5FFks32p.js → sl-SI-NN7IZMDC-9wfKjcdf.js} +1 -1
- package/dist/viewer-lib/{stylex-CCivaCRo.css → stylex-DSPr67HN.css} +102 -4
- package/dist/viewer-lib/subset-shared.chunk-C9VoCzEr.js +2 -0
- package/dist/viewer-lib/{subset-worker.chunk-CRX53Rzc.js → subset-worker.chunk-BpDvwKQR.js} +2 -2
- package/dist/viewer-lib/{sv-SE-XGPEYMSR-LuNY2685.js → sv-SE-XGPEYMSR-CiYigmBB.js} +1 -1
- package/dist/viewer-lib/{ta-IN-2NMHFXQM-culSf0A8.js → ta-IN-2NMHFXQM-BsrjQGCa.js} +1 -1
- package/dist/viewer-lib/{th-TH-HPSO5L25-Cn-xDXVd.js → th-TH-HPSO5L25-Ay03kJy0.js} +1 -1
- package/dist/viewer-lib/{tr-TR-DEFEU3FU-D62dl3eN.js → tr-TR-DEFEU3FU-xW9fx8lz.js} +1 -1
- package/dist/viewer-lib/types/src/viewer/components/BoardPlaceholder.d.ts +6 -0
- package/dist/viewer-lib/types/src/viewer/components/Canvas.d.ts +3 -1
- package/dist/viewer-lib/types/src/viewer/components/RyugiLoader.d.ts +2 -1
- package/dist/viewer-lib/{uk-UA-QMV73CPH-D6D8s7pK.js → uk-UA-QMV73CPH-siImZwWq.js} +1 -1
- package/dist/viewer-lib/{vi-VN-M7AON7JQ-Dh3BnbJN.js → vi-VN-M7AON7JQ-B1RwZdrg.js} +1 -1
- package/dist/viewer-lib/{viewport-CFJHn_Y6-BOjZrMc1.js → viewport-CFJHn_Y6-C1O9ia_N.js} +1 -1
- package/dist/viewer-lib/{zh-CN-LNUGB5OW-C48KmWkT.js → zh-CN-LNUGB5OW-6fUO3AXx.js} +1 -1
- package/dist/viewer-lib/{zh-HK-E62DVLB3-B8B3Vey8.js → zh-HK-E62DVLB3-DsB4qJEI.js} +1 -1
- package/dist/viewer-lib/{zh-TW-RAJ6MFWO-C8Ic-j4K.js → zh-TW-RAJ6MFWO-BXCT8oY7.js} +1 -1
- package/package.json +1 -1
- package/dist/viewer/Canvas-DxaQjjSK.js +0 -1
- package/dist/viewer/DocumentLayout-BqobBoJ9.js +0 -2
- package/dist/viewer/channel-fe5QTu-s.js +0 -1
- package/dist/viewer/classDiagram-ZZMXUADV-B-zT7lnC.js +0 -1
- package/dist/viewer/classDiagram-v2-VYDZK3BY-B-zT7lnC.js +0 -1
- package/dist/viewer/flowDiagram-HODETNUW-CXlFZEEj.js +0 -1
- package/dist/viewer/percentages-BXMCSKIN-BS0t4tWg.js +0 -1
- package/dist/viewer/stateDiagram-v2-MP3YSRHH-aanK4VsX.js +0 -1
- package/dist/viewer/subset-shared.chunk-BiJjRqIa.js +0 -1
- package/dist/viewer/swimlanesDiagram-VR7AAH4N-Bgny_WIB.js +0 -8
- package/dist/viewer-lib/percentages-BXMCSKIN-Dg5qsT14.js +0 -1
- package/dist/viewer-lib/subset-shared.chunk-Cd_UazJM.js +0 -2
- package/dist/viewer-lib/{PageLoader-M5KGHqfg.js → PageLoader-C6VBYL59.js} +1 -1
- package/dist/viewer-lib/{agentLook-Pf_kpgWG.js → agentLook-D56IP3D7.js} +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-COiEfhsA.js";import{y as t}from"./route-CDT5H7Dv.js";import{t as n}from"./react-B8SKf8RM.js";import{t as r}from"./jsx-runtime-DePvh3-m.js";import{$t as i}from"./channel-B6od2bv2.js";import{a,c as o,i as s,l as c,n as l,o as u,r as d,s as f,t as p}from"./viewport-CFJHn_Y6-CSiflW-L.js";import{n as m}from"./DocumentPage-CxPKfY8H.js";var h=e(n(),1),g=r(),_=e(t(),1);function v(e){"@babel/helpers - typeof";return v=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},v(e)}function y(e,t){if(v(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(v(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function b(e){var t=y(e,`string`);return v(t)==`symbol`?t:t+``}function x(e,t,n){return(t=b(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var S=class{constructor(e,t,n){if(x(this,`document`,void 0),x(this,`canvas`,void 0),x(this,`options`,void 0),x(this,`pool`,new d),x(this,`preserve`,void 0),x(this,`viewport`,void 0),x(this,`states`,new Map),x(this,`retained`,new Map),x(this,`heights`,void 0),x(this,`metrics`,new Map),x(this,`listeners`,new Set),x(this,`observer`,void 0),x(this,`width`,void 0),x(this,`frame`,0),x(this,`dead`,!1),x(this,`firstParagraph`,void 0),x(this,`onScroll`,()=>this.refresh()),x(this,`onFocusOut`,()=>queueMicrotask(()=>{this.dead||this.refresh()})),x(this,`queueMeasure`,()=>{!this.dead&&!this.frame&&(this.frame=requestAnimationFrame(()=>this.measure()))}),x(this,`onHash`,()=>{let e;try{e=decodeURIComponent(window.location.hash.slice(1))}catch{return}let t=this.document.headingRows.get(e);if(t!==void 0){this.scrollTo(t);let n=this.canvas.querySelector(`#${CSS.escape(e)}`);n&&this.setScrollTop(this.scrollTop+n.getBoundingClientRect().top-this.viewportTop())}}),this.document=e,this.canvas=t,this.options=n,n.overscan!==void 0&&(!Number.isFinite(n.overscan)||n.overscan<0))throw Error(`Renderer overscan must be a nonnegative number`);this.viewport=o(t,n.scrollContainer),this.preserve=new l(n.preserveCapacity??32,e=>{let t=this.pool.slots.find(t=>t.id===e);t?.beforeRelease?.(),t&&(t.committed=-1)}),this.width=t.clientWidth,this.heights=this.buildHeights(),this.firstParagraph=this.rows.flatMap(e=>e.blocks).find(e=>e.data.type===`paragraph`)?.index??-1,this.canvas.style.height=`${this.heights.total}px`,this.observer=new ResizeObserver(this.queueMeasure),this.observer.observe(t),this.viewport instanceof HTMLElement&&this.observer.observe(this.viewport),this.viewport.addEventListener(`scroll`,this.onScroll,{passive:!0}),this.canvas.addEventListener(`focusout`,this.onFocusOut),window.addEventListener(`resize`,this.onScroll),window.addEventListener(`hashchange`,this.onHash),this.refresh(!1),queueMicrotask(()=>{this.dead||this.onHash()})}get rows(){return this.document.rows}get scrollTop(){return this.viewport instanceof HTMLElement?this.viewport.scrollTop:window.scrollY}setScrollTop(e){this.viewport instanceof HTMLElement?this.viewport.scrollTop=e:window.scrollTo(window.scrollX,e)}viewportTop(){return this.viewport instanceof HTMLElement?this.viewport.getBoundingClientRect().top+this.viewport.clientTop:0}viewportHeight(){return this.viewport instanceof HTMLElement?this.viewport.clientHeight:window.innerHeight}canvasTop(){return this.canvas.getBoundingClientRect().top-this.viewportTop()+this.scrollTop}buildHeights(){return new p(this.rows.map(e=>e.blocks.reduce((e,t)=>{let n=this.options.estimateBlockHeight?.(t.data,this.width)??u(t.data,this.width);if(!Number.isFinite(n)||n<=0)throw Error(`Renderer estimated height must be positive and finite`);return e+n},0)))}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}publish(e=!0){if(this.dead||!this.listeners.size)return;let t=()=>this.listeners.forEach(e=>e());e?(0,_.flushSync)(t):t()}refresh(e=!0){if(this.dead||!this.rows.length)return;let t=Math.max(0,this.scrollTop-this.canvasTop()),n=this.options.overscan??this.viewportHeight()*1.5,r=this.heights.find(Math.max(0,t-n)),i=this.heights.find(t+this.viewportHeight()+n),a=Array.from({length:i-r+1},(e,t)=>r+t),o=new Set(a),s=new Set(this.pool.slots.filter(e=>e.active&&(this.retained.get(e.id)||e.element?.contains(globalThis.document.activeElement))).map(e=>e.id)),c=new Set;for(let e of this.pool.slots)(o.has(e.index)||s.has(e.id))&&this.preserve.activate(e.id)&&c.add(e.id);for(let e of this.pool.slots)e.active&&!o.has(e.index)&&!s.has(e.id)&&this.preserve.park(e.id,this.rows[e.index].id);let l=this.pool.slots.map(e=>e.id),u=this.pool.update(a,e=>this.rows[e].pool,s,new Set([...this.preserve.ids(),...c]));for(let e of l)this.pool.slots.some(t=>t.id===e)||this.preserve.forget(e);u&&this.publish(e)}mount(e,t){let n=this.pool.slots.filter(t=>t.active&&t.index>e.index).sort((e,t)=>e.index-t.index).map(e=>this.preserve.host(e.id)).find(e=>e?.parentElement===this.canvas);this.preserve.mount(e.id,t,e.active?this.canvas:null,n??null)}attach(e,t){e.element&&this.observer.unobserve(e.element),e.element=t??void 0,t&&this.observer.observe(t)}nodeState(e,t){let n=`${e}:${this.document.nodePath(t)}`,r=this.states.get(n);return r||(r=new Map,this.states.set(n,r)),r}capturePanels(e){this.nodeState(this.rows[e.index].id).set(`details`,[...e.element?.querySelectorAll(`details`)??[]].map(e=>e.open))}bind(e){if(e.committed===e.generation)return;e.committed=e.generation;let t=this.nodeState(this.rows[e.index].id).get(`details`),n=[],r=e=>{e.type===`details`&&n.push(!!e.open),e.children?.forEach(r)};r(this.rows[e.index].data),e.element?.querySelectorAll(`details`).forEach((e,r)=>e.open=t?.[r]??n[r]??!1)}get leadingMargin(){return this.metrics.get(this.rows[0]?.id)?.top??0}blockOffset(e){return this.heights.offset(e)+this.leadingMargin}slotOffset(e){return this.blockOffset(e.index)-(this.metrics.get(this.rows[e.index]?.id)?.top??0)}anchor(){let e=this.canvas.getBoundingClientRect(),t=globalThis.document.elementFromPoint(e.left+e.width/2,Math.max(this.viewportTop()+8,e.top+1))?.closest(`[data-virtual-renderer-slot]`),n=this.pool.slots.find(e=>e.active&&e.element===t)?.index??this.heights.find(Math.max(0,this.scrollTop-this.canvasTop()));return{index:n,offset:this.scrollTop-this.canvasTop()-this.blockOffset(n)}}commitLayout(){cancelAnimationFrame(this.frame),this.measure(!1)}measure(e=!0){if(this.frame=0,this.dead)return;let t=this.anchor(),n=!1;Math.abs(this.canvas.clientWidth-this.width)>.5&&(this.width=this.canvas.clientWidth,this.metrics.clear(),this.heights=this.buildHeights(),n=!0);let r=new Set;for(let e of this.pool.slots){if(!e.active)continue;let t=e.element?.firstElementChild;if(!t)continue;t.setAttribute(`data-rich-nested`,this.canvas.closest(`.rich-content`)?.getAttribute(`data-rich-nested`)??`false`);let i=[...t.children],a=this.rows[e.index].blocks;i.forEach((t,n)=>{let r=a[n];if(!r)return;t.dataset.blockId=r.id,t.dataset.rendererBlockIndex=String(r.index),t.toggleAttribute(`data-document-first`,e.index===0&&n===0),t.toggleAttribute(`data-document-last`,e.index===this.rows.length-1&&n===i.length-1),t.toggleAttribute(`data-document-first-paragraph`,r.index===this.firstParagraph);let o=a[n-1]?.data??this.rows[e.index-1]?.blocks.at(-1)?.data;t.dataset.documentPrevTag=o?.type===`heading`?o.tag:o?.type===`horizontalrule`?`hr`:``});let o=t.getBoundingClientRect(),s=i.filter(e=>getComputedStyle(e).display!==`none`).map(e=>e.getBoundingClientRect()),c=s.length?Math.min(...s.map(e=>e.top)):o.top,l=s.length?Math.max(...s.map(e=>e.bottom)):o.bottom,u=c-o.top;Math.abs(u-(this.metrics.get(this.rows[e.index].id)?.top??0))>.1&&(n=!0),this.metrics.set(this.rows[e.index].id,{height:l-c,top:u,bottom:o.bottom-l}),r.add(e.index),e.index>0&&r.add(e.index-1)}for(let e of r){let t=this.metrics.get(this.rows[e].id);if(!t)continue;let r=Math.max(0,f(t,this.metrics.get(this.rows[e+1]?.id)));Math.abs(r-this.heights.values[e])>.1&&(this.heights.update(e,r),n=!0)}n&&(this.canvas.style.height=`${this.heights.total+this.leadingMargin}px`,this.setScrollTop(this.canvasTop()+this.blockOffset(t.index)+t.offset),this.refresh(!1),this.publish(e))}scrollTo(e){this.rows.length&&(this.setScrollTop(this.canvasTop()+this.blockOffset(Math.max(0,Math.min(e,this.rows.length-1)))),this.refresh())}dispose(){this.dead=!0,this.observer.disconnect(),cancelAnimationFrame(this.frame),this.viewport.removeEventListener(`scroll`,this.onScroll),this.canvas.removeEventListener(`focusout`,this.onFocusOut),window.removeEventListener(`resize`,this.onScroll),window.removeEventListener(`hashchange`,this.onHash),this.preserve.clear(),this.listeners.clear()}};function C({controller:e,slot:t}){let n=e.rows[t.index],[r]=(0,h.useState)(()=>{let e=document.createElement(`div`);return e.style.display=`contents`,e}),o=t.active||e.preserve.has(t.id),s=`${t.generation}:${t.active}`,[l,u]=(0,h.useState)(``),d=(0,h.useMemo)(()=>e.document.render(t.index,t.id),[e,t.generation,t.id]),f=(0,h.useMemo)(()=>({active:t.active,blockId:n.id,editor:e.document.editor,nodeState:t=>e.nodeState(n.id,t),retain:()=>{e.retained.set(t.id,(e.retained.get(t.id)??0)+1);let n=!1;return()=>{if(n)return;n=!0;let r=(e.retained.get(t.id)??1)-1;r?e.retained.set(t.id,r):e.retained.delete(t.id),e.refresh(!1)}}}),[e,n.id,t.active,t.generation,t.id]),p=(0,h.useCallback)(n=>e.attach(t,n),[e,t]);return(0,h.useLayoutEffect)(()=>{e.mount(t,r),o?e.bind(t):t.committed=-1,t.beforeRelease=()=>e.capturePanels(t)}),(0,h.useLayoutEffect)(()=>()=>r.remove(),[r]),(0,h.useEffect)(()=>{let e=requestAnimationFrame(()=>{e=requestAnimationFrame(()=>u(s))});return()=>cancelAnimationFrame(e)},[s]),(0,_.createPortal)((0,g.jsx)(`div`,{className:c,"data-pool":n.pool,"data-restoring":s===l?void 0:``,"data-virtual-renderer-block":t.active?n.id:void 0,"data-virtual-renderer-slot":t.id,ref:p,style:{display:t.active?void 0:`none`,transform:`translateY(${e.slotOffset(t)}px)`},children:(0,g.jsx)(`div`,{className:a,"data-virtual-renderer-content":``,children:(0,g.jsx)(i,{value:f,children:o&&d})})}),r,String(t.id))}function w({controller:e}){let[,t]=(0,h.useState)(0);return(0,h.useLayoutEffect)(()=>e.subscribe(()=>t(e=>e+1)),[e]),(0,h.useLayoutEffect)(()=>e.commitLayout()),(0,g.jsx)(g.Fragment,{children:e.pool.slots.map(t=>(0,g.jsx)(C,{controller:e,slot:t},t.id))})}function T({document:e,options:t}){let n=(0,h.useRef)(null),[r,i]=(0,h.useState)(null),[a,o]=(0,h.useState)(``);return(0,h.useEffect)(()=>{let r=n.current,a;try{a=new S(e,r,t),o(``),i(a),Object.assign(r,{virtualRenderer:a})}catch(e){o(String(e)),i(null);return}return()=>{a.dispose(),Reflect.deleteProperty(r,`virtualRenderer`)}},[e,t]),(0,g.jsxs)(g.Fragment,{children:[a&&(0,g.jsx)(`p`,{role:`alert`,children:a}),(0,g.jsx)(`div`,{className:s,"data-virtual-renderer":``,ref:n,children:r?(0,g.jsx)(w,{controller:r}):(0,g.jsx)(m,{document:e})})]})}export{T as VirtualizedRenderer};
|
|
1
|
+
import{i as e}from"./rolldown-runtime-COiEfhsA.js";import{y as t}from"./route-IxDJQ-oO.js";import{t as n}from"./react-B8SKf8RM.js";import{t as r}from"./jsx-runtime-DePvh3-m.js";import{$t as i}from"./channel-CMKOAKFL.js";import{a,c as o,i as s,l as c,n as l,o as u,r as d,s as f,t as p}from"./viewport-CFJHn_Y6-B-kdQ7xr.js";import{n as m}from"./DocumentPage-Dw7m0Oxi.js";var h=e(n(),1),g=r(),_=e(t(),1);function v(e){"@babel/helpers - typeof";return v=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},v(e)}function y(e,t){if(v(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(v(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function b(e){var t=y(e,`string`);return v(t)==`symbol`?t:t+``}function x(e,t,n){return(t=b(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var S=class{constructor(e,t,n){if(x(this,`document`,void 0),x(this,`canvas`,void 0),x(this,`options`,void 0),x(this,`pool`,new d),x(this,`preserve`,void 0),x(this,`viewport`,void 0),x(this,`states`,new Map),x(this,`retained`,new Map),x(this,`heights`,void 0),x(this,`metrics`,new Map),x(this,`listeners`,new Set),x(this,`observer`,void 0),x(this,`width`,void 0),x(this,`frame`,0),x(this,`dead`,!1),x(this,`firstParagraph`,void 0),x(this,`onScroll`,()=>this.refresh()),x(this,`onFocusOut`,()=>queueMicrotask(()=>{this.dead||this.refresh()})),x(this,`queueMeasure`,()=>{!this.dead&&!this.frame&&(this.frame=requestAnimationFrame(()=>this.measure()))}),x(this,`onHash`,()=>{let e;try{e=decodeURIComponent(window.location.hash.slice(1))}catch{return}let t=this.document.headingRows.get(e);if(t!==void 0){this.scrollTo(t);let n=this.canvas.querySelector(`#${CSS.escape(e)}`);n&&this.setScrollTop(this.scrollTop+n.getBoundingClientRect().top-this.viewportTop())}}),this.document=e,this.canvas=t,this.options=n,n.overscan!==void 0&&(!Number.isFinite(n.overscan)||n.overscan<0))throw Error(`Renderer overscan must be a nonnegative number`);this.viewport=o(t,n.scrollContainer),this.preserve=new l(n.preserveCapacity??32,e=>{let t=this.pool.slots.find(t=>t.id===e);t?.beforeRelease?.(),t&&(t.committed=-1)}),this.width=t.clientWidth,this.heights=this.buildHeights(),this.firstParagraph=this.rows.flatMap(e=>e.blocks).find(e=>e.data.type===`paragraph`)?.index??-1,this.canvas.style.height=`${this.heights.total}px`,this.observer=new ResizeObserver(this.queueMeasure),this.observer.observe(t),this.viewport instanceof HTMLElement&&this.observer.observe(this.viewport),this.viewport.addEventListener(`scroll`,this.onScroll,{passive:!0}),this.canvas.addEventListener(`focusout`,this.onFocusOut),window.addEventListener(`resize`,this.onScroll),window.addEventListener(`hashchange`,this.onHash),this.refresh(!1),queueMicrotask(()=>{this.dead||this.onHash()})}get rows(){return this.document.rows}get scrollTop(){return this.viewport instanceof HTMLElement?this.viewport.scrollTop:window.scrollY}setScrollTop(e){this.viewport instanceof HTMLElement?this.viewport.scrollTop=e:window.scrollTo(window.scrollX,e)}viewportTop(){return this.viewport instanceof HTMLElement?this.viewport.getBoundingClientRect().top+this.viewport.clientTop:0}viewportHeight(){return this.viewport instanceof HTMLElement?this.viewport.clientHeight:window.innerHeight}canvasTop(){return this.canvas.getBoundingClientRect().top-this.viewportTop()+this.scrollTop}buildHeights(){return new p(this.rows.map(e=>e.blocks.reduce((e,t)=>{let n=this.options.estimateBlockHeight?.(t.data,this.width)??u(t.data,this.width);if(!Number.isFinite(n)||n<=0)throw Error(`Renderer estimated height must be positive and finite`);return e+n},0)))}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}publish(e=!0){if(this.dead||!this.listeners.size)return;let t=()=>this.listeners.forEach(e=>e());e?(0,_.flushSync)(t):t()}refresh(e=!0){if(this.dead||!this.rows.length)return;let t=Math.max(0,this.scrollTop-this.canvasTop()),n=this.options.overscan??this.viewportHeight()*1.5,r=this.heights.find(Math.max(0,t-n)),i=this.heights.find(t+this.viewportHeight()+n),a=Array.from({length:i-r+1},(e,t)=>r+t),o=new Set(a),s=new Set(this.pool.slots.filter(e=>e.active&&(this.retained.get(e.id)||e.element?.contains(globalThis.document.activeElement))).map(e=>e.id)),c=new Set;for(let e of this.pool.slots)(o.has(e.index)||s.has(e.id))&&this.preserve.activate(e.id)&&c.add(e.id);for(let e of this.pool.slots)e.active&&!o.has(e.index)&&!s.has(e.id)&&this.preserve.park(e.id,this.rows[e.index].id);let l=this.pool.slots.map(e=>e.id),u=this.pool.update(a,e=>this.rows[e].pool,s,new Set([...this.preserve.ids(),...c]));for(let e of l)this.pool.slots.some(t=>t.id===e)||this.preserve.forget(e);u&&this.publish(e)}mount(e,t){let n=this.pool.slots.filter(t=>t.active&&t.index>e.index).sort((e,t)=>e.index-t.index).map(e=>this.preserve.host(e.id)).find(e=>e?.parentElement===this.canvas);this.preserve.mount(e.id,t,e.active?this.canvas:null,n??null)}attach(e,t){e.element&&this.observer.unobserve(e.element),e.element=t??void 0,t&&this.observer.observe(t)}nodeState(e,t){let n=`${e}:${this.document.nodePath(t)}`,r=this.states.get(n);return r||(r=new Map,this.states.set(n,r)),r}capturePanels(e){this.nodeState(this.rows[e.index].id).set(`details`,[...e.element?.querySelectorAll(`details`)??[]].map(e=>e.open))}bind(e){if(e.committed===e.generation)return;e.committed=e.generation;let t=this.nodeState(this.rows[e.index].id).get(`details`),n=[],r=e=>{e.type===`details`&&n.push(!!e.open),e.children?.forEach(r)};r(this.rows[e.index].data),e.element?.querySelectorAll(`details`).forEach((e,r)=>e.open=t?.[r]??n[r]??!1)}get leadingMargin(){return this.metrics.get(this.rows[0]?.id)?.top??0}blockOffset(e){return this.heights.offset(e)+this.leadingMargin}slotOffset(e){return this.blockOffset(e.index)-(this.metrics.get(this.rows[e.index]?.id)?.top??0)}anchor(){let e=this.canvas.getBoundingClientRect(),t=globalThis.document.elementFromPoint(e.left+e.width/2,Math.max(this.viewportTop()+8,e.top+1))?.closest(`[data-virtual-renderer-slot]`),n=this.pool.slots.find(e=>e.active&&e.element===t)?.index??this.heights.find(Math.max(0,this.scrollTop-this.canvasTop()));return{index:n,offset:this.scrollTop-this.canvasTop()-this.blockOffset(n)}}commitLayout(){cancelAnimationFrame(this.frame),this.measure(!1)}measure(e=!0){if(this.frame=0,this.dead)return;let t=this.anchor(),n=!1;Math.abs(this.canvas.clientWidth-this.width)>.5&&(this.width=this.canvas.clientWidth,this.metrics.clear(),this.heights=this.buildHeights(),n=!0);let r=new Set;for(let e of this.pool.slots){if(!e.active)continue;let t=e.element?.firstElementChild;if(!t)continue;t.setAttribute(`data-rich-nested`,this.canvas.closest(`.rich-content`)?.getAttribute(`data-rich-nested`)??`false`);let i=[...t.children],a=this.rows[e.index].blocks;i.forEach((t,n)=>{let r=a[n];if(!r)return;t.dataset.blockId=r.id,t.dataset.rendererBlockIndex=String(r.index),t.toggleAttribute(`data-document-first`,e.index===0&&n===0),t.toggleAttribute(`data-document-last`,e.index===this.rows.length-1&&n===i.length-1),t.toggleAttribute(`data-document-first-paragraph`,r.index===this.firstParagraph);let o=a[n-1]?.data??this.rows[e.index-1]?.blocks.at(-1)?.data;t.dataset.documentPrevTag=o?.type===`heading`?o.tag:o?.type===`horizontalrule`?`hr`:``});let o=t.getBoundingClientRect(),s=i.filter(e=>getComputedStyle(e).display!==`none`).map(e=>e.getBoundingClientRect()),c=s.length?Math.min(...s.map(e=>e.top)):o.top,l=s.length?Math.max(...s.map(e=>e.bottom)):o.bottom,u=c-o.top;Math.abs(u-(this.metrics.get(this.rows[e.index].id)?.top??0))>.1&&(n=!0),this.metrics.set(this.rows[e.index].id,{height:l-c,top:u,bottom:o.bottom-l}),r.add(e.index),e.index>0&&r.add(e.index-1)}for(let e of r){let t=this.metrics.get(this.rows[e].id);if(!t)continue;let r=Math.max(0,f(t,this.metrics.get(this.rows[e+1]?.id)));Math.abs(r-this.heights.values[e])>.1&&(this.heights.update(e,r),n=!0)}n&&(this.canvas.style.height=`${this.heights.total+this.leadingMargin}px`,this.setScrollTop(this.canvasTop()+this.blockOffset(t.index)+t.offset),this.refresh(!1),this.publish(e))}scrollTo(e){this.rows.length&&(this.setScrollTop(this.canvasTop()+this.blockOffset(Math.max(0,Math.min(e,this.rows.length-1)))),this.refresh())}dispose(){this.dead=!0,this.observer.disconnect(),cancelAnimationFrame(this.frame),this.viewport.removeEventListener(`scroll`,this.onScroll),this.canvas.removeEventListener(`focusout`,this.onFocusOut),window.removeEventListener(`resize`,this.onScroll),window.removeEventListener(`hashchange`,this.onHash),this.preserve.clear(),this.listeners.clear()}};function C({controller:e,slot:t}){let n=e.rows[t.index],[r]=(0,h.useState)(()=>{let e=document.createElement(`div`);return e.style.display=`contents`,e}),o=t.active||e.preserve.has(t.id),s=`${t.generation}:${t.active}`,[l,u]=(0,h.useState)(``),d=(0,h.useMemo)(()=>e.document.render(t.index,t.id),[e,t.generation,t.id]),f=(0,h.useMemo)(()=>({active:t.active,blockId:n.id,editor:e.document.editor,nodeState:t=>e.nodeState(n.id,t),retain:()=>{e.retained.set(t.id,(e.retained.get(t.id)??0)+1);let n=!1;return()=>{if(n)return;n=!0;let r=(e.retained.get(t.id)??1)-1;r?e.retained.set(t.id,r):e.retained.delete(t.id),e.refresh(!1)}}}),[e,n.id,t.active,t.generation,t.id]),p=(0,h.useCallback)(n=>e.attach(t,n),[e,t]);return(0,h.useLayoutEffect)(()=>{e.mount(t,r),o?e.bind(t):t.committed=-1,t.beforeRelease=()=>e.capturePanels(t)}),(0,h.useLayoutEffect)(()=>()=>r.remove(),[r]),(0,h.useEffect)(()=>{let e=requestAnimationFrame(()=>{e=requestAnimationFrame(()=>u(s))});return()=>cancelAnimationFrame(e)},[s]),(0,_.createPortal)((0,g.jsx)(`div`,{className:c,"data-pool":n.pool,"data-restoring":s===l?void 0:``,"data-virtual-renderer-block":t.active?n.id:void 0,"data-virtual-renderer-slot":t.id,ref:p,style:{display:t.active?void 0:`none`,transform:`translateY(${e.slotOffset(t)}px)`},children:(0,g.jsx)(`div`,{className:a,"data-virtual-renderer-content":``,children:(0,g.jsx)(i,{value:f,children:o&&d})})}),r,String(t.id))}function w({controller:e}){let[,t]=(0,h.useState)(0);return(0,h.useLayoutEffect)(()=>e.subscribe(()=>t(e=>e+1)),[e]),(0,h.useLayoutEffect)(()=>e.commitLayout()),(0,g.jsx)(g.Fragment,{children:e.pool.slots.map(t=>(0,g.jsx)(C,{controller:e,slot:t},t.id))})}function T({document:e,options:t}){let n=(0,h.useRef)(null),[r,i]=(0,h.useState)(null),[a,o]=(0,h.useState)(``);return(0,h.useEffect)(()=>{let r=n.current,a;try{a=new S(e,r,t),o(``),i(a),Object.assign(r,{virtualRenderer:a})}catch(e){o(String(e)),i(null);return}return()=>{a.dispose(),Reflect.deleteProperty(r,`virtualRenderer`)}},[e,t]),(0,g.jsxs)(g.Fragment,{children:[a&&(0,g.jsx)(`p`,{role:`alert`,children:a}),(0,g.jsx)(`div`,{className:s,"data-virtual-renderer":``,ref:n,children:r?(0,g.jsx)(w,{controller:r}):(0,g.jsx)(m,{document:e})})]})}export{T as VirtualizedRenderer};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./jsx-runtime-DePvh3-m.js";import{t}from"./Popover-
|
|
1
|
+
import{t as e}from"./jsx-runtime-DePvh3-m.js";import{t}from"./Popover-C23mZ93A.js";var n=e();function r({warnings:e}){return e.length===0?null:(0,n.jsx)(t,{placement:`topRight`,content:(0,n.jsx)(`ul`,{className:`x1ghz6dp x12ulsxz xwn43p0 x1lr1uin x4z9k3i x1dbl2gt`,children:e.map((e,t)=>(0,n.jsx)(`li`,{children:e},t))}),children:(0,n.jsxs)(`button`,{type:`button`,className:`xixxii4 xlftelb xn0vg7t x1fgtraw x1awh872 xc342km xur7f20 xqdcvd7 x7zghnd xqfszdh x4z9k3i xk50ysn x1cqdj14 x1ypdohk x1n327nk`,children:[e.length,` `,e.length===1?`warning`:`warnings`]})})}export{r as t};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-COiEfhsA.js";import{b as t,c as n}from"./route-CDT5H7Dv.js";import{t as r}from"./react-B8SKf8RM.js";import{c as i,f as a,l as o,u as s}from"./split-url-D0Eu87y4.js";import{t as c}from"./jsx-runtime-DePvh3-m.js";import{q as l}from"./MotionConfigContext-DBHtopYR.js";import{t as u}from"./arrow-down-DnWGNayx.js";import{t as d}from"./arrow-up-BjP7sXQi.js";import{b as f}from"./useOpenInteractionType-DH5mUVhj.js";import{a as p,i as m,o as h,r as g,s as _,t as v}from"./PhoneArtboardBar-B6JoWeSs.js";import{a as y,c as b,i as x,n as S,o as C,s as w}from"./ThreadView-CxcjZsZO.js";import{c as T,d as E,f as D,l as ee,u as O}from"./lib-DABSWeJy.js";import{i as te,n as k,r as A,t as ne}from"./index.js";/* empty css */import{Excalidraw as j,convertToExcalidrawElements as M,exportToBlob as re,reconcileElements as ie,restoreElements as ae}from"./prod-TT-J6Nam.js";import{n as oe}from"./Avatar-NMdjRnIS.js";import{n as se}from"./useMedia-B_wouzHa.js";import{s as ce,t as le}from"./WritingCursor-BmvJsfI4.js";import{n as ue}from"./usePageQuery-BLapKgc-.js";import{t as N}from"./page-api-D8JklgWH.js";import"./shims-DAMrW7mQ.js";var de={name:`move-up-right`,size:24,node:[[`path`,{d:`M13 5H19V11`,key:`1n1gyv`}],[`path`,{d:`M19 5L5 19`,key:`72u4yj`}]]};de.node;var fe=l(de),pe={name:`sparkles`,size:24,node:[[`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`}],[`path`,{d:`M20 2v4`,key:`1rf3ol`}],[`path`,{d:`M22 4h-4`,key:`gwowj6`}],[`circle`,{cx:`4`,cy:`20`,r:`2`,key:`6kqj1y`}]],aliases:[`stars`]};pe.node;var me=l(pe),he={name:`sticky-note`,size:24,node:[[`path`,{d:`M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z`,key:`1dfntj`}],[`path`,{d:`M15 3v5a1 1 0 0 0 1 1h5`,key:`6s6qgf`}]]};he.node;var ge=l(he),P=e(r(),1),F=`main`,I=e=>e.filter(e=>!e.deleted);function _e(e){for(;;){let t=`p-${Math.random().toString(36).slice(2,6).padEnd(4,`0`)}`;if(!e.has(t))return t}}var L=8,R=10,ve=64,ye=190,z=(e,t)=>({x:(e.x+t.scrollX)*t.zoom,y:(e.y+t.scrollY)*t.zoom}),be=(e,t)=>({x:e.x/t.zoom-t.scrollX,y:e.y/t.zoom-t.scrollY});function xe(e,t){let n=new Set(t),r=e.filter(e=>n.has(e.id)&&!e.isDeleted);if(!r.length)return null;let i=Math.min(...r.map(e=>e.x??0)),a=Math.min(...r.map(e=>e.y??0)),o=Math.max(...r.map(e=>(e.x??0)+(e.width??0))),s=Math.max(...r.map(e=>(e.y??0)+(e.height??0)));return{x:i,y:a,w:o-i,h:s-a}}var Se=(e,t,n)=>Math.min(Math.max(e,t),Math.max(t,n));function Ce(e,t,n=420){let r=e.y-40-L,i=r<ve,a={x:Se(e.x,R,t.width-n-R),y:i?e.y+e.h+L:r,flipped:i},o=a.y+5,s=a.x-118-L,c=a.x+n+L,l={x:a.x,y:i?a.y+40+L:a.y-30-L},u=s>=R?{x:s,y:o}:c+118<=t.width-R?{x:c,y:o}:l,d=e.x+e.w+12;return{props:a,chip:u,composer:{x:d+320<=t.width-R?d:Math.max(R,e.x-320-12),y:Se(e.y,ve,t.height-ye)}}}function we(e,t,n,r=F){let i=xe(e,e.map(e=>e.id))??{x:0,y:0,w:0,h:0};return{op:`create`,anchor:{x:i.x+i.w/2,y:i.y+i.h/2,elements:e.map(e=>e.id),...r===`main`?{}:{page:r}},text:t.trim()||n}}var B={root:{kVAEAm:`xixxii4`,kpwlN0:`x10a8y8t`,kWkggS:`x1rozbrz`,kMv6JI:`xqfszdh`,$$css:!0},canvas:{kVAEAm:`x10l6tqk`,kpwlN0:`x10a8y8t`,$$css:!0},bar:{kVAEAm:`x10l6tqk`,k87sOh:`x1eu8d0j`,k1xSpc:`x78zum5`,kGNEyG:`x6s0dn4`,kOIVth:`x195vfkc`,kZKoxP:`xn3w4p2`,kg3NbH:`xfn1xvj`,kWkggS:`x12ilycc`,kMzoRj:`xmkeg23`,ksu8eU:`x1y0btm7`,kVAM5u:`x12xov25`,kaIpWk:`x4pepcl`,kGVxlE:`x1cqdj14`,kGuDYH:`x4z9k3i`,kMwMTN:`xo2rkog`,kY2c9j:`x1n327nk`,$$css:!0},left:{kbCHJM:`x12lbrt0`,$$css:!0},right:{kCIrl2:`x131sewu`,$$css:!0},divider:{kzqmXN:`x1i1rx1s`,kZKoxP:`xmix8c7`,kUOVxO:`xjgtzcg`,kWkggS:`xh6qj2i`,$$css:!0},crumb:{kZCmMZ:`xe2zdcy`,kwRFfy:`xf159sx`,kMwMTN:`xddlp02`,kGuDYH:`xfifm61`,khDVqt:`xuxw1ft`,$$css:!0},crumbId:{kMwMTN:`xo2rkog`,k63SB2:`x1s688f`,$$css:!0},tool:{k1xSpc:`x3nfvp2`,kGNEyG:`x6s0dn4`,kjj79g:`xl56j7k`,kzqmXN:`x1691je0`,kZKoxP:`x90ne7k`,kmVPX3:`x1717udv`,kMzoRj:`xc342km`,kaIpWk:`xur7f20`,kWkggS:`xjbqb8w xj0l527`,kMwMTN:`xo2rkog`,kkrTdU:`x1ypdohk`,$$css:!0},toolOn:{kWkggS:`x15dg6x3`,$$css:!0},zoom:{k7Eaqz:`x1fns5xo`,kg3NbH:`xdqyycr`,kMwMTN:`x1bo0w0s`,kcqcaj:`xss6m8b`,k9WMMc:`x1hr2gdg`,$$css:!0},count:{k1xSpc:`x3nfvp2`,kGNEyG:`x6s0dn4`,kOIVth:`x1jnr06f`,kZKoxP:`x1gnnpzl`,kg3NbH:`xdqyycr`,kMwMTN:`x1bo0w0s`,kcqcaj:`xss6m8b`,$$css:!0},agentPill:{k1xSpc:`x3nfvp2`,kGNEyG:`x6s0dn4`,kOIVth:`x17d4w8g`,kZKoxP:`xxk0z11`,kUOVxO:`xjgtzcg`,kg3NbH:`x1awh872`,kaIpWk:`x1e6avla`,kWkggS:`x118mg9o`,kMwMTN:`xgs9y6l`,kGuDYH:`xfifm61`,khDVqt:`xuxw1ft`,$$css:!0},pillDot:{kzqmXN:`x1v4s8kt`,kZKoxP:`xols6we`,kaIpWk:`x16rqkct`,kWkggS:`xtwfq29`,$$css:!0},problem:{kVAEAm:`x10l6tqk`,k87sOh:`x1imwcls`,kbCHJM:`x1nrll8i`,k3aq6I:`xuuh30`,ks0D6T:`x27kpxv`,k8WAf4:`x1vvogim`,kg3NbH:`xaope02`,kaIpWk:`xur7f20`,kWkggS:`xqdcvd7`,kMwMTN:`x7zghnd`,kGuDYH:`x4z9k3i`,kY2c9j:`x1n327nk`,$$css:!0},loading:{kVAEAm:`x10l6tqk`,kpwlN0:`x10a8y8t`,k1xSpc:`xrvj5dj`,kgQiWS:`x1ku5rj1`,kMwMTN:`xddlp02`,$$css:!0}},V=c();function Te({count:e}){return e?(0,V.jsxs)(`span`,{"data-agent-pill":!0,...t(B.agentPill),children:[(0,V.jsx)(`i`,{...t(B.pillDot)}),n(`whiteboard.agentChanged`,{count:e})]}):null}function Ee({agent:e,glow:t,cursor:n,elements:r,view:i}){let a=new Map(r.map(e=>[e.id,e])),o=e=>({...z({x:e.x??0,y:e.y??0},i),w:(e.width??0)*i.zoom,h:(e.height??0)*i.zoom}),s=n?a.get(n):void 0;return(0,V.jsxs)(V.Fragment,{children:[t.flatMap(e=>{let t=a.get(e);if(!t)return[];let n=o(t);return[(0,V.jsx)(`div`,{"data-agent-glow":e,style:{left:n.x-7,top:n.y-7,width:n.w+14,height:n.h+14},className:`x10l6tqk xdh2fpr x1y0btm7 xr03jrs xur7f20 xempue3 x47corl x16tb26j`},e)]}),s&&(0,V.jsx)(`div`,{"data-agent-cursor":!0,style:{transform:`scale(${i.zoom}) translate(${i.scrollX}px, ${i.scrollY}px)`},className:`x10l6tqk xu96u03 x13vifvy x1hj3fc7 x47corl x16tb26j`,children:(0,V.jsx)(le,{agent:e,title:s.id,zoom:i.zoom,...ce({x:s.x??0,y:s.y??0,w:s.width??0,h:s.height??0},!0)})})]})}function De({compact:e=!1,onClick:t}){return(0,V.jsxs)(`button`,{"data-ask-chip":!0,"aria-label":n(`whiteboard.ask`),title:n(`whiteboard.ask`),type:`button`,onClick:t,className:`x3nfvp2 x6s0dn4 x17d4w8g x1fgtraw xdwrcjd x1awh872 xc342km xu4hgxq x19ckca5 xs0jrwl xqfszdh xfifm61 x1s688f x1ypdohk xuxw1ft`,children:[(0,V.jsx)(me,{size:14}),!e&&n(`whiteboard.ask`)]})}function Oe({composer:e,count:t,onSend:r,onClose:i}){let[a,o]=(0,P.useState)(``),[s,c]=(0,P.useState)(!1),l=async()=>{c(!0);let e=await r(a);c(!1),e&&(o(``),i())};return(0,V.jsxs)(`div`,{"data-ask-composer":!0,role:`dialog`,style:{left:e.x,top:e.y},className:`x10l6tqk x1m258z3 x1gnqi22 x9f619 x12ilycc xmkeg23 x1y0btm7 x12xov25 x4pepcl x1qdtr29 x1x85hfe`,children:[(0,V.jsxs)(`p`,{className:`x78zum5 x6s0dn4 x17d4w8g x1ghz6dp x4z9k3i x1s688f`,children:[(0,V.jsx)(me,{size:14}),n(`whiteboard.askTitle`)]}),(0,V.jsx)(`p`,{className:`xg9jes1 xyorhqc xfifm61 xddlp02`,children:n(`whiteboard.askSelected`,{count:t})}),(0,V.jsx)(`textarea`,{autoFocus:!0,placeholder:n(`whiteboard.askPlaceholder`),value:a,onChange:e=>o(e.target.value),className:`xh8yej3 x1peatla x9f619 x1vvogim x1awh872 xmkeg23 x1y0btm7 x12xov25 xur7f20 xqfszdh x4z9k3i xtt52l0`}),(0,V.jsxs)(`div`,{className:`x78zum5 x13a6bvl x17d4w8g x1anpbxc`,children:[(0,V.jsx)(`button`,{type:`button`,onClick:i,className:`x1fgtraw xaope02 xc342km x1kogg8i xahzvm9 x1bo0w0s x1ypdohk`,children:n(`whiteboard.cancel`)}),(0,V.jsx)(`button`,{"data-ask-send":!0,disabled:s,type:`button`,onClick:()=>void l(),className:`x1fgtraw xaope02 xc342km x1kogg8i x19ckca5 xs0jrwl x1s688f x1ypdohk xtgyt42 x1hc1fzr xijokvz`,children:n(`whiteboard.send`)})]})]})}var H={pin:{kVAEAm:`x10l6tqk`,kzqmXN:`xgd8bvy`,kZKoxP:`x1fgtraw`,kmVPX3:`x1717udv`,kMzoRj:`xc342km`,kaIpWk:`xqgj3pk`,kWkggS:`x1o91uai`,kMwMTN:`x8r4el6`,kGuDYH:`xfifm61`,k63SB2:`x1s688f`,kGVxlE:`xx1f5d8`,k3aq6I:`x105ttfm`,kkrTdU:`x1ypdohk`,kY2c9j:`xk3oba8`,$$css:!0},agentPin:{kWkggS:`xm2cizz`,$$css:!0},stalePin:{kWkggS:`xakccsc`,$$css:!0},orphanPin:{kWkggS:`xgeep88`,$$css:!0}},ke=(e,t)=>e.filter(e=>!e.isDeleted&&e.type!==`frame`&&t.x>=(e.x??0)&&t.x<=(e.x??0)+(e.width??0)&&t.y>=(e.y??0)&&t.y<=(e.y??0)+(e.height??0)).at(-1);function Ae({comments:e,commenting:r,elements:i,onDone:a,onOp:o,view:s,page:c=F}){let[l,u]=(0,P.useState)(null),[d,f]=(0,P.useState)(null),p=e.file.threads.filter(t=>t.status===`open`&&!t.messages.every(e=>e.deleted)&&(e.placed[t.id]??t.anchor.page??`main`)===c),m=p.find(e=>e.id===l),h=e=>void o(e),g=t=>[H.pin,t.messages[0]?.author===`agent`&&H.agentPin,e.stale.includes(t.id)&&H.stalePin,e.orphans.includes(t.id)&&H.orphanPin];return(0,V.jsxs)(V.Fragment,{children:[r&&(0,V.jsx)(`div`,{"data-comment-capture":!0,onClick:e=>{let t=e.currentTarget.getBoundingClientRect(),n={x:e.clientX-t.left,y:e.clientY-t.top},r=be(n,s);f({screen:n,scene:r,element:ke(i(),r)?.id})},className:`x10l6tqk x10a8y8t xsid9ct x1q8xho0`}),p.map((e,n)=>{let r=z(e.anchor,s);return(0,V.jsx)(`button`,{"data-pin":e.id,style:{left:`${r.x}px`,top:`${r.y}px`},type:`button`,onClick:()=>u(l===e.id?null:e.id),...t(...g(e)),children:n+1},e.id)}),m&&(0,V.jsx)(`div`,{style:{...je(z(m.anchor,s))},className:`x10l6tqk x1m258z3 x12ilycc xmkeg23 x1y0btm7 x12xov25 x4pepcl x1d5q07e xb3r6kr x1x85hfe`,children:(0,V.jsx)(S,{label:`#${p.indexOf(m)+1}`,thread:m,actions:{reply:(e,t)=>o({op:`reply`,threadId:e,text:t}),resolve:e=>h({op:`resolve`,threadId:e}),reopen:e=>h({op:`reopen`,threadId:e}),edit:(e,t,n)=>h({op:`edit`,threadId:e,messageId:t,text:n}),remove:(e,t)=>h({op:`delete`,threadId:e,messageId:t})},onClose:()=>u(null)})}),d&&(0,V.jsx)(`div`,{style:je(d.screen),className:`x10l6tqk x1m258z3 x12ilycc xmkeg23 x1y0btm7 x12xov25 x4pepcl x1d5q07e xb3r6kr x1x85hfe x7z7khe`,children:(0,V.jsx)(oe,{autoFocus:!0,placeholder:n(`comments.addPlaceholder`),onCancel:()=>{f(null),a()},onSubmit:async e=>{let t=await o({op:`create`,anchor:{x:d.scene.x,y:d.scene.y,...d.element?{elements:[d.element]}:{},...c===`main`?{}:{page:c}},text:e});return t&&(f(null),a()),t}})})]})}var je=e=>({left:e.x+18,top:Math.max(56,e.y-14)});function Me({frame:e,count:t,elements:r,view:i}){let a=e?r.find(t=>t.id===e):void 0;if(!a)return null;let o=z({x:a.x??0,y:a.y??0},i);return(0,V.jsx)(`div`,{"data-frame-focus":a.id,style:{left:o.x,top:o.y,width:(a.width??0)*i.zoom,height:(a.height??0)*i.zoom},className:`x10l6tqk x1eovdha x1y0btm7 x5kefyr x12oqio5 x9f619 x47corl x1w0boku`,children:t>0&&(0,V.jsx)(`span`,{className:`x10l6tqk x12p4g1f x1bkpikb xf4egzd x1q4txso x1ctf4ec x7grq7f x8r4el6 xfifm61 x1s688f xuxw1ft`,children:n(`whiteboard.docRefs`,{count:t})})})}var U={menu:{kVAEAm:`x1n2onr6`,k1xSpc:`x3nfvp2`,kGNEyG:`x6s0dn4`,$$css:!0},trigger:{k1xSpc:`x3nfvp2`,kGNEyG:`x6s0dn4`,kOIVth:`x17d4w8g`,kZKoxP:`x10w6t97`,ks0D6T:`x1ncir08`,kg3NbH:`xdqyycr`,kMzoRj:`xc342km`,kaIpWk:`xur7f20`,kWkggS:`xjbqb8w xj0l527`,kMwMTN:`xo2rkog`,kGuDYH:`x4z9k3i`,kkrTdU:`x1ypdohk`,$$css:!0},name:{kVQacm:`xb3r6kr`,kg5iWk:`xlyipyv`,khDVqt:`xuxw1ft`,$$css:!0},muted:{kMwMTN:`xddlp02`,kmuXW:`x2lah0s`,$$css:!0},list:{kVAEAm:`x10l6tqk`,k87sOh:`x9ri80z`,kbCHJM:`xu96u03`,k7Eaqz:`xlm99nl`,k8WAf4:`x12ulsxz`,kWkggS:`x12ilycc`,kMzoRj:`xmkeg23`,ksu8eU:`x1y0btm7`,kVAM5u:`x12xov25`,kaIpWk:`x1q4ynmn`,kGVxlE:`x1d5q07e`,kY2c9j:`x1355qak`,$$css:!0},row:{k1xSpc:`x78zum5`,kGNEyG:`x6s0dn4`,kOIVth:`x195vfkc`,kg3NbH:`xfn1xvj`,$$css:!0},item:{k1xSpc:`x78zum5`,kUk6DE:`x98rzlu`,kGNEyG:`x6s0dn4`,kOIVth:`x167g77z`,k7Eaqz:`xeuugli`,kZKoxP:`x10w6t97`,kg3NbH:`xdqyycr`,kMzoRj:`xc342km`,kaIpWk:`x1kogg8i`,kWkggS:`xjbqb8w xj0l527`,kMwMTN:`xo2rkog`,kGuDYH:`x4z9k3i`,k9WMMc:`xdpxx8g`,kkrTdU:`x1ypdohk`,$$css:!0},check:{kzqmXN:`x6jxa94`,kmuXW:`x2lah0s`,$$css:!0},dot:{kzqmXN:`x1v4s8kt`,kZKoxP:`xols6we`,kaIpWk:`x16rqkct`,kWkggS:`xm2cizz`,kmuXW:`x2lah0s`,$$css:!0},action:{k1xSpc:`x3nfvp2`,kGNEyG:`x6s0dn4`,kjj79g:`xl56j7k`,kzqmXN:`x23j0i4`,kZKoxP:`xd7y6wv`,kmVPX3:`x1717udv`,kMzoRj:`xc342km`,kaIpWk:`x1kogg8i`,kWkggS:`xjbqb8w xj0l527`,kMwMTN:`x1bo0w0s`,kkrTdU:`x1ypdohk`,$$css:!0},separator:{kZKoxP:`xjm9jq1`,kqGvvJ:`xg9jes1`,kWkggS:`xh6qj2i`,$$css:!0},heading:{kg3NbH:`xaope02`,k8WAf4:`x12ulsxz`,kMwMTN:`xddlp02`,kGuDYH:`xfifm61`,$$css:!0},input:{kzqmXN:`xzjbwwf`,kZKoxP:`x1fgtraw`,kUOVxO:`x18kdvx8`,kg3NbH:`xdqyycr`,kMzoRj:`xmkeg23`,ksu8eU:`x1y0btm7`,kVAM5u:`xgcsv5v`,kaIpWk:`x1kogg8i`,kWkggS:`x1rozbrz`,kMwMTN:`xo2rkog`,kGuDYH:`x4z9k3i`,kI3sdo:`x1a2a7pz`,$$css:!0}},W=e=>e.name??(e.id===`main`?n(`whiteboard.pages.first`):e.id);function Ne({pages:e,page:r,changed:i,onPick:a,onOp:o}){let[s,c]=(0,P.useState)(!1),[l,p]=(0,P.useState)(null),m=I(e),h=e.filter(e=>e.deleted),g=m.find(e=>e.id===r)??m[0],v=()=>p({mode:`add`,id:_e(new Set(e.map(e=>e.id))),value:``}),b=()=>{if(!l)return;let e=l.value.trim();l.mode===`add`?(o({op:`add`,id:l.id,name:e||n(`whiteboard.pages.untitled`)}),a(l.id),c(!1)):e&&o({op:`rename`,id:l.id,name:e}),p(null)},x=l&&(0,V.jsx)(`input`,{"data-page-name":!0,"aria-label":n(`whiteboard.pages.name`),placeholder:n(`whiteboard.pages.name`),ref:e=>e?.focus(),value:l.value,onBlur:()=>p(null),onChange:e=>p({...l,value:e.target.value}),onKeyDown:e=>{e.key===`Enter`&&b(),e.key===`Escape`&&p(null)},...t(U.input)}),S=(0,V.jsxs)(`button`,{"data-page-add":!0,"aria-label":n(`whiteboard.pages.add`),title:n(`whiteboard.pages.add`),type:`button`,onClick:v,...t(s?U.item:U.action),children:[(0,V.jsx)(O,{size:15}),s&&n(`whiteboard.pages.add`)]});return m.length<=1&&h.length===0?(0,V.jsx)(`span`,{"data-page-menu":!0,...t(U.menu),children:(0,V.jsx)(`span`,{style:{display:`contents`},children:x??S})}):(0,V.jsxs)(`span`,{"data-page-menu":!0,...t(U.menu),children:[(0,V.jsxs)(`button`,{"aria-expanded":s,"aria-label":n(`whiteboard.pages.switch`),type:`button`,onClick:()=>c(!s),...t(U.trigger),children:[(0,V.jsx)(C,{size:15,...t(U.muted)}),(0,V.jsx)(`span`,{...t(U.name),children:g?W(g):``}),[...i].some(e=>e!==r&&m.some(t=>t.id===e))&&(0,V.jsx)(`span`,{...t(U.dot)}),(0,V.jsx)(_,{size:14,...t(U.muted)})]}),s&&(0,V.jsxs)(`div`,{role:`menu`,...t(U.list),children:[m.map((e,s)=>(0,V.jsxs)(`div`,{"data-page-row":e.id,...t(U.row),children:[l?.mode===`rename`&&l.id===e.id?x:(0,V.jsxs)(`button`,{"data-changed":i.has(e.id)?`true`:void 0,"data-page-item":e.id,role:`menuitem`,type:`button`,onClick:()=>{a(e.id),c(!1)},...t(U.item),children:[(0,V.jsx)(`span`,{...t(U.check),children:e.id===r&&(0,V.jsx)(f,{size:14})}),(0,V.jsx)(`span`,{...t(U.name),children:W(e)}),i.has(e.id)&&(0,V.jsx)(`span`,{"aria-label":n(`whiteboard.pages.changed`),...t(U.dot)})]}),(0,V.jsx)(`button`,{"data-page-rename":!0,"aria-label":n(`whiteboard.pages.rename`),title:n(`whiteboard.pages.rename`),type:`button`,onClick:()=>p({mode:`rename`,id:e.id,value:W(e)}),...t(U.action),children:(0,V.jsx)(E,{size:13})}),e.id!==`main`&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`button`,{"data-page-up":!0,"aria-label":n(`whiteboard.pages.up`),disabled:s<=1,title:n(`whiteboard.pages.up`),type:`button`,onClick:()=>o({op:`move`,id:e.id,to:s-1}),...t(U.action),children:(0,V.jsx)(d,{size:13})}),(0,V.jsx)(`button`,{"data-page-down":!0,"aria-label":n(`whiteboard.pages.down`),disabled:s===m.length-1,title:n(`whiteboard.pages.down`),type:`button`,onClick:()=>o({op:`move`,id:e.id,to:s+1}),...t(U.action),children:(0,V.jsx)(u,{size:13})}),(0,V.jsx)(`button`,{"data-page-delete":!0,"aria-label":n(`whiteboard.pages.delete`),title:n(`whiteboard.pages.delete`),type:`button`,onClick:()=>{o({op:`delete`,id:e.id}),e.id===r&&a(`main`)},...t(U.action),children:(0,V.jsx)(T,{size:13})})]})]},e.id)),(0,V.jsx)(`div`,{...t(U.separator)}),(0,V.jsx)(`div`,{...t(U.row),children:l?.mode===`add`?x:S}),h.length>0&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`div`,{...t(U.separator)}),(0,V.jsx)(`div`,{...t(U.heading),children:n(`whiteboard.pages.deleted`)}),h.map(e=>(0,V.jsxs)(`div`,{...t(U.row),children:[(0,V.jsxs)(`span`,{...t(U.item),children:[(0,V.jsx)(`span`,{...t(U.check)}),(0,V.jsx)(`span`,{...t(U.name),children:W(e)})]}),(0,V.jsx)(`button`,{"aria-label":n(`whiteboard.pages.restore`),"data-page-restore":e.id,title:n(`whiteboard.pages.restore`),type:`button`,onClick:()=>o({op:`restore`,id:e.id}),...t(U.action),children:(0,V.jsx)(y,{size:13})})]},e.id))]})]})]})}function G(e){return[{id:null,label:null},...e.filter(e=>e.type===`frame`&&!e.isDeleted).map(e=>({id:e.id,label:typeof e.name==`string`&&e.name?e.name:e.id}))]}var Pe=()=>typeof window>`u`||!window.matchMedia?null:window.matchMedia(`(prefers-color-scheme: dark)`);function Fe(){let[e,t]=(0,P.useState)(()=>Pe()?.matches??!1);return(0,P.useEffect)(()=>{let e=Pe();if(!e)return;let n=()=>t(e.matches);return e.addEventListener(`change`,n),()=>e.removeEventListener(`change`,n)},[]),e}var Ie={path:{kUk6DE:`x98rzlu`,k7Eaqz:`xeuugli`,kVQacm:`xb3r6kr`,kg5iWk:`xlyipyv`,khDVqt:`xuxw1ft`,$$css:!0}},Le={fitToViewport:!0,viewportZoomFactor:.9};function Re({id:e,scene:r,threads:i,setApi:a,onView:o,header:s,children:c}){let l=Fe(),u=(0,P.useRef)(null),[d,f]=(0,P.useState)(null),p=(0,P.useRef)(!1),[m,h]=(0,P.useState)(null),g=()=>{let e=u.current?.getSceneElements();return e?.length?e:r?.elements??[]},_=(e,t=!0)=>{let n=u.current,r=g(),i=e?r.filter(t=>t.id===e):r;return!n||!i.length?!1:(n.scrollToContent(i,{...Le,animate:t}),f(e),!0)},v=()=>{if(p.current)return;let e=G(g())[1]?.id??null;p.current=_(e,!1)},y=(0,P.useRef)(v);(0,P.useLayoutEffect)(()=>{y.current=v}),(0,P.useEffect)(()=>{r&&y.current()},[r]);let b=(e,t)=>{v();let n=G(e);JSON.stringify(n)!==JSON.stringify(m)&&h(n),o?.({scrollX:t.scrollX,scrollY:t.scrollY,zoom:t.zoom.value})};return(0,V.jsxs)(`div`,{...t(B.root),children:[r?(0,V.jsx)(`div`,{"data-whiteboard-canvas":!0,"data-hide-native":`true`,...t(B.canvas),children:(0,V.jsx)(j,{viewModeEnabled:!0,theme:l?`dark`:`light`,excalidrawAPI:e=>{u.current=e,a?.(e)},initialData:{elements:r.elements,appState:{...r.appState,viewBackgroundColor:`#ffffff`},files:r.files},onChange:b})}):(0,V.jsx)(`div`,{...t(B.loading),children:(0,V.jsx)(k,{label:n(`whiteboard.loading`)})}),(0,V.jsxs)(`header`,{className:`x10l6tqk x13vifvy x17y0mx6 x78zum5 x6s0dn4 x167g77z xsdox4t xqin4a2 x12ilycc xso031l x1q0q8m5 xtrfj0v x4z9k3i x1n327nk`,children:[(0,V.jsxs)(`span`,{...t(Ie.path,B.crumb),children:[n(`type.whiteboard`),` / `,(0,V.jsx)(`span`,{...t(B.crumbId),children:e})]}),s,(0,V.jsx)(`span`,{className:`xj8oexa xlkn9b3 x1sxf85j xahzvm9 x1bo0w0s x1j6dyjg`,children:n(`whiteboard.readOnly`)}),i!==void 0&&(0,V.jsxs)(`span`,{className:`x3nfvp2 x6s0dn4 x1jnr06f x1bo0w0s`,children:[(0,V.jsx)(D,{size:14}),i]})]}),c,(0,V.jsx)(`nav`,{className:`x10l6tqk x191j7n5 xpnmzw7 x1s76y0k x78zum5 x17d4w8g xw2csxc x1n327nk`,children:(m??G(r?.elements??[])).map(e=>(0,V.jsx)(`button`,{"aria-pressed":d===e.id,"data-frame-chip":e.id??``,type:`button`,onClick:()=>_(e.id),...{0:{className:`x2lah0s x10w6t97 xqin4a2 xmkeg23 x1y0btm7 x12xov25 xgqmno8 x12ilycc xo2rkog xjb2p0i x4z9k3i xuxw1ft`},1:{className:`x2lah0s x10w6t97 xqin4a2 xmkeg23 x1y0btm7 xgqmno8 xjb2p0i x4z9k3i xuxw1ft x19ckca5 x1rqon0r xs0jrwl`}}[d===e.id|0],children:e.label??n(`whiteboard.all`)},e.id??``))})]})}var K=e=>typeof e.version!=`number`||typeof e.seed!=`number`,ze=e=>e===`human`||e===`agent`;function Be(e){let t=e.customData??{},n={};return ze(t.ryugiAuthor)&&(n.author=t.ryugiAuthor),typeof t.ryugiRev==`number`&&(n.rev=t.ryugiRev),ze(t.ryugiLastBy)&&(n.lastBy=t.ryugiLastBy),n}function q(e,t){for(let n of t)e.set(n.id,n.version??0)}function Ve(e,t){let n=t.filter(t=>e.get(t.id)!==(t.version??0));return q(e,n),n}var He=e=>({x:e.x??0,y:e.y??0,w:e.width??0,h:e.height??0});function Ue(e){let t=e.filter(e=>!e.isDeleted),n=new Map(t.map(e=>[e.id,e])),r={};for(let e of t){let t=He(e),i=e.containerId?n.get(e.containerId):void 0;if(e.type===`text`&&i&&![`arrow`,`line`].includes(i.type)){let e=He(i);(t.x+t.w>e.x+e.w||t.x<e.x||t.y+t.h>e.y+e.h)&&(t.overflow=!0)}r[e.id]=t}return{sceneVersion:e.reduce((e,t)=>e+(t.version??0),0),elements:r}}var We=new Set([`arrow`,`line`]),Ge=new Set([`rectangle`,`ellipse`,`diamond`]),Ke=[`x`,`y`,`width`,`height`,`text`],qe=e=>[e.start,e.end].map(e=>e?.id).filter(e=>typeof e==`string`),J=(e,t)=>({...e,...t,version:(e.version??0)+1,versionNonce:Math.floor(Math.random()*2**31),updated:Date.now()}),Je=e=>We.has(e.type)&&!e.points&&(e.width===0||e.height===0)&&(e.width||e.height)?{...e,points:[[0,0],[e.width??0,e.height??0]]}:e,Ye=(e,t)=>e.type!==`frame`||!Array.isArray(e.children)?e:(t.set(e.id,{children:e.children,box:e.width&&e.height?{x:e.x??0,y:e.y??0,width:e.width,height:e.height}:null}),{...e,children:[]});function Xe(e,t){let n=new Set(e.map(e=>e.id)),r=new Map(t.filter(e=>!e.isDeleted).map(e=>[e.id,e])),i=new Map;for(let t of e)for(let e of qe(t)){let t=r.get(e);!t||n.has(e)||i.has(e)||i.set(e,{id:e,type:Ge.has(t.type)?t.type:`rectangle`,x:t.x??0,y:t.y??0,width:t.width??0,height:t.height??0})}let a=new Map;return{batch:[...e.map(e=>Ye(Je(e),a)),...i.values()],standIns:new Set(i.keys()),frames:a}}var Ze=e=>{let t=e.x??0,n=e.y??0,r=Array.isArray(e.points)?e.points:null;if(!r?.length)return[t,n,t+(e.width??0),n+(e.height??0)];let i=r.map(([e])=>t+e),a=r.map(([,e])=>n+e);return[Math.min(...i),Math.min(...a),Math.max(...i),Math.max(...a)]},Y=10,Qe=e=>{let t=e.map(Ze),n=Math.min(...t.map(([e])=>e))-Y,r=Math.min(...t.map(([,e])=>e))-Y,i=Math.max(...t.map(([,,e])=>e))+Y,a=Math.max(...t.map(([,,,e])=>e))+Y;return{x:n,y:r,width:i-n,height:a-r}};function $e(e,t,n,r){for(let[i,{children:a,box:o}]of r){let r=new Set(a),s=e=>r.has(e.id)||!!(e.containerId&&r.has(e.containerId)),c=[];for(let[t,n]of e.entries())s(n)&&c.push(e[t]={...n,frameId:i});for(let r of n){if(!s(r)||e.some(e=>e.id===r.id))continue;let n=t.findIndex(e=>e.id===r.id),a=n>=0?{...t[n],frameId:i}:J(r,{frameId:i});n>=0?t[n]=a:t.push(a),c.push(a)}let l=e.findIndex(e=>e.id===i);if(l<0)continue;let u=o??(c.length?Qe(c):null);u&&(e[l]={...e[l],...u})}}function et(e,t,n,r=new Map){let i=e.filter(e=>!t.has(e.id)),a=[];for(let r of t){let t=n.find(e=>e.id===r);if(!t)continue;let i=t.boundElements??[],o=(e.find(e=>e.id===r)?.boundElements??[]).filter(e=>!i.some(t=>t.id===e.id));o.length&&a.push(J(t,{boundElements:[...i,...o]}))}return $e(i,a,n,r),{created:i,touched:a}}function tt(e,t){let n=new Map(e.map(e=>[e.id,e]));return t.flatMap(e=>{let t=n.get(e.id);return e.type!==`text`||!t||e.isDeleted||Ke.every(n=>e[n]===t[n])?[]:[J(t,Object.fromEntries(Ke.map(t=>[t,e[t]])))]})}var nt=e=>e.map(e=>e.type===`text`&&e.containerId&&typeof e.originalText==`string`?{...e,text:e.originalText}:e),rt=1e3,X=(e,t)=>{let n=new Map(t.map(e=>[e.id,e])),r=e.map(e=>n.get(e.id)??e),i=new Set(e.map(e=>e.id));return[...r,...t.filter(e=>!i.has(e.id))]};function it({id:e,pages:t,current:n,send:r,convert:i}){let a=(0,P.useRef)(new Map),o=(0,P.useRef)({send:r,convert:i});o.current={send:r,convert:i};let s=(0,P.useCallback)(async t=>{let n=a.current.get(t);if(!n)return;let r=n.elements.filter(K);if(r.length){let i=n.elements.filter(e=>!K(e)),a=o.current.convert(r,i);n.elements=X(i,a),o.current.send({type:`whiteboard-update`,artifact:`whiteboard/${e}`,page:t,elements:a,completion:!0})}let i=Ue(n.elements);if(i.sceneVersion===n.reported)return;n.reported=i.sceneVersion;let s=`page=${encodeURIComponent(t)}`;await fetch(N(`/api/whiteboard/${e}/geometry?${s}`),{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(i)});let c=await re({elements:n.elements.filter(e=>!e.isDeleted),appState:{viewBackgroundColor:`#ffffff`,exportBackground:!0},files:n.files,mimeType:`image/png`});await fetch(N(`/api/whiteboard/${e}/render?version=${i.sceneVersion}&${s}`),{method:`POST`,headers:{"Content-Type":`image/png`},body:c})},[e]),c=(0,P.useCallback)(e=>{let t=a.current.get(e);t&&(clearTimeout(t.timer),t.timer=setTimeout(()=>void s(e),rt))},[s]),l=(t?I(t).map(e=>e.id).filter(e=>e!==n):[]).join(`
|
|
1
|
+
import{i as e}from"./rolldown-runtime-COiEfhsA.js";import{b as t,c as n}from"./route-IxDJQ-oO.js";import{t as r}from"./react-B8SKf8RM.js";import{c as i,f as a,l as o,u as s}from"./split-url-DL2J8T-a.js";import{t as c}from"./jsx-runtime-DePvh3-m.js";import{q as l}from"./MotionConfigContext-DBHtopYR.js";import{t as u}from"./arrow-down-DnWGNayx.js";import{t as d}from"./arrow-up-BjP7sXQi.js";import{b as f}from"./useOpenInteractionType-LXvb6AtX.js";import{a as p,i as m,o as h,r as g,s as _,t as v}from"./PhoneArtboardBar-BUlgF3vS.js";import{a as y,c as b,i as x,n as S,o as C,s as w}from"./ThreadView-BB278JlB.js";import{c as T,d as E,f as D,l as ee,u as O}from"./lib-DABSWeJy.js";import{i as te,n as k,r as A,t as ne}from"./index.js";/* empty css */import{Excalidraw as j,convertToExcalidrawElements as M,exportToBlob as re,reconcileElements as ie,restoreElements as ae}from"./prod-CaFKRNhp.js";import{n as oe}from"./Avatar-oPUFOoVq.js";import{n as se}from"./useMedia-B_wouzHa.js";import{s as ce,t as le}from"./WritingCursor-D5F8GgYm.js";import{n as ue}from"./usePageQuery-BLapKgc-.js";import{t as N}from"./page-api-D8JklgWH.js";import"./shims-DAMrW7mQ.js";var de={name:`move-up-right`,size:24,node:[[`path`,{d:`M13 5H19V11`,key:`1n1gyv`}],[`path`,{d:`M19 5L5 19`,key:`72u4yj`}]]};de.node;var fe=l(de),pe={name:`sparkles`,size:24,node:[[`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`}],[`path`,{d:`M20 2v4`,key:`1rf3ol`}],[`path`,{d:`M22 4h-4`,key:`gwowj6`}],[`circle`,{cx:`4`,cy:`20`,r:`2`,key:`6kqj1y`}]],aliases:[`stars`]};pe.node;var me=l(pe),he={name:`sticky-note`,size:24,node:[[`path`,{d:`M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z`,key:`1dfntj`}],[`path`,{d:`M15 3v5a1 1 0 0 0 1 1h5`,key:`6s6qgf`}]]};he.node;var ge=l(he),P=e(r(),1),F=`main`,I=e=>e.filter(e=>!e.deleted);function _e(e){for(;;){let t=`p-${Math.random().toString(36).slice(2,6).padEnd(4,`0`)}`;if(!e.has(t))return t}}var L=8,R=10,ve=64,ye=190,z=(e,t)=>({x:(e.x+t.scrollX)*t.zoom,y:(e.y+t.scrollY)*t.zoom}),be=(e,t)=>({x:e.x/t.zoom-t.scrollX,y:e.y/t.zoom-t.scrollY});function xe(e,t){let n=new Set(t),r=e.filter(e=>n.has(e.id)&&!e.isDeleted);if(!r.length)return null;let i=Math.min(...r.map(e=>e.x??0)),a=Math.min(...r.map(e=>e.y??0)),o=Math.max(...r.map(e=>(e.x??0)+(e.width??0))),s=Math.max(...r.map(e=>(e.y??0)+(e.height??0)));return{x:i,y:a,w:o-i,h:s-a}}var Se=(e,t,n)=>Math.min(Math.max(e,t),Math.max(t,n));function Ce(e,t,n=420){let r=e.y-40-L,i=r<ve,a={x:Se(e.x,R,t.width-n-R),y:i?e.y+e.h+L:r,flipped:i},o=a.y+5,s=a.x-118-L,c=a.x+n+L,l={x:a.x,y:i?a.y+40+L:a.y-30-L},u=s>=R?{x:s,y:o}:c+118<=t.width-R?{x:c,y:o}:l,d=e.x+e.w+12;return{props:a,chip:u,composer:{x:d+320<=t.width-R?d:Math.max(R,e.x-320-12),y:Se(e.y,ve,t.height-ye)}}}function we(e,t,n,r=F){let i=xe(e,e.map(e=>e.id))??{x:0,y:0,w:0,h:0};return{op:`create`,anchor:{x:i.x+i.w/2,y:i.y+i.h/2,elements:e.map(e=>e.id),...r===`main`?{}:{page:r}},text:t.trim()||n}}var B={root:{kVAEAm:`xixxii4`,kpwlN0:`x10a8y8t`,kWkggS:`x1rozbrz`,kMv6JI:`xqfszdh`,$$css:!0},canvas:{kVAEAm:`x10l6tqk`,kpwlN0:`x10a8y8t`,$$css:!0},bar:{kVAEAm:`x10l6tqk`,k87sOh:`x1eu8d0j`,k1xSpc:`x78zum5`,kGNEyG:`x6s0dn4`,kOIVth:`x195vfkc`,kZKoxP:`xn3w4p2`,kg3NbH:`xfn1xvj`,kWkggS:`x12ilycc`,kMzoRj:`xmkeg23`,ksu8eU:`x1y0btm7`,kVAM5u:`x12xov25`,kaIpWk:`x4pepcl`,kGVxlE:`x1cqdj14`,kGuDYH:`x4z9k3i`,kMwMTN:`xo2rkog`,kY2c9j:`x1n327nk`,$$css:!0},left:{kbCHJM:`x12lbrt0`,$$css:!0},right:{kCIrl2:`x131sewu`,$$css:!0},divider:{kzqmXN:`x1i1rx1s`,kZKoxP:`xmix8c7`,kUOVxO:`xjgtzcg`,kWkggS:`xh6qj2i`,$$css:!0},crumb:{kZCmMZ:`xe2zdcy`,kwRFfy:`xf159sx`,kMwMTN:`xddlp02`,kGuDYH:`xfifm61`,khDVqt:`xuxw1ft`,$$css:!0},crumbId:{kMwMTN:`xo2rkog`,k63SB2:`x1s688f`,$$css:!0},tool:{k1xSpc:`x3nfvp2`,kGNEyG:`x6s0dn4`,kjj79g:`xl56j7k`,kzqmXN:`x1691je0`,kZKoxP:`x90ne7k`,kmVPX3:`x1717udv`,kMzoRj:`xc342km`,kaIpWk:`xur7f20`,kWkggS:`xjbqb8w xj0l527`,kMwMTN:`xo2rkog`,kkrTdU:`x1ypdohk`,$$css:!0},toolOn:{kWkggS:`x15dg6x3`,$$css:!0},zoom:{k7Eaqz:`x1fns5xo`,kg3NbH:`xdqyycr`,kMwMTN:`x1bo0w0s`,kcqcaj:`xss6m8b`,k9WMMc:`x1hr2gdg`,$$css:!0},count:{k1xSpc:`x3nfvp2`,kGNEyG:`x6s0dn4`,kOIVth:`x1jnr06f`,kZKoxP:`x1gnnpzl`,kg3NbH:`xdqyycr`,kMwMTN:`x1bo0w0s`,kcqcaj:`xss6m8b`,$$css:!0},agentPill:{k1xSpc:`x3nfvp2`,kGNEyG:`x6s0dn4`,kOIVth:`x17d4w8g`,kZKoxP:`xxk0z11`,kUOVxO:`xjgtzcg`,kg3NbH:`x1awh872`,kaIpWk:`x1e6avla`,kWkggS:`x118mg9o`,kMwMTN:`xgs9y6l`,kGuDYH:`xfifm61`,khDVqt:`xuxw1ft`,$$css:!0},pillDot:{kzqmXN:`x1v4s8kt`,kZKoxP:`xols6we`,kaIpWk:`x16rqkct`,kWkggS:`xtwfq29`,$$css:!0},problem:{kVAEAm:`x10l6tqk`,k87sOh:`x1imwcls`,kbCHJM:`x1nrll8i`,k3aq6I:`xuuh30`,ks0D6T:`x27kpxv`,k8WAf4:`x1vvogim`,kg3NbH:`xaope02`,kaIpWk:`xur7f20`,kWkggS:`xqdcvd7`,kMwMTN:`x7zghnd`,kGuDYH:`x4z9k3i`,kY2c9j:`x1n327nk`,$$css:!0},loading:{kVAEAm:`x10l6tqk`,kpwlN0:`x10a8y8t`,k1xSpc:`xrvj5dj`,kgQiWS:`x1ku5rj1`,kMwMTN:`xddlp02`,$$css:!0}},V=c();function Te({count:e}){return e?(0,V.jsxs)(`span`,{"data-agent-pill":!0,...t(B.agentPill),children:[(0,V.jsx)(`i`,{...t(B.pillDot)}),n(`whiteboard.agentChanged`,{count:e})]}):null}function Ee({agent:e,glow:t,cursor:n,elements:r,view:i}){let a=new Map(r.map(e=>[e.id,e])),o=e=>({...z({x:e.x??0,y:e.y??0},i),w:(e.width??0)*i.zoom,h:(e.height??0)*i.zoom}),s=n?a.get(n):void 0;return(0,V.jsxs)(V.Fragment,{children:[t.flatMap(e=>{let t=a.get(e);if(!t)return[];let n=o(t);return[(0,V.jsx)(`div`,{"data-agent-glow":e,style:{left:n.x-7,top:n.y-7,width:n.w+14,height:n.h+14},className:`x10l6tqk xdh2fpr x1y0btm7 xr03jrs xur7f20 xempue3 x47corl x16tb26j`},e)]}),s&&(0,V.jsx)(`div`,{"data-agent-cursor":!0,style:{transform:`scale(${i.zoom}) translate(${i.scrollX}px, ${i.scrollY}px)`},className:`x10l6tqk xu96u03 x13vifvy x1hj3fc7 x47corl x16tb26j`,children:(0,V.jsx)(le,{agent:e,title:s.id,zoom:i.zoom,...ce({x:s.x??0,y:s.y??0,w:s.width??0,h:s.height??0},!0)})})]})}function De({compact:e=!1,onClick:t}){return(0,V.jsxs)(`button`,{"data-ask-chip":!0,"aria-label":n(`whiteboard.ask`),title:n(`whiteboard.ask`),type:`button`,onClick:t,className:`x3nfvp2 x6s0dn4 x17d4w8g x1fgtraw xdwrcjd x1awh872 xc342km xu4hgxq x19ckca5 xs0jrwl xqfszdh xfifm61 x1s688f x1ypdohk xuxw1ft`,children:[(0,V.jsx)(me,{size:14}),!e&&n(`whiteboard.ask`)]})}function Oe({composer:e,count:t,onSend:r,onClose:i}){let[a,o]=(0,P.useState)(``),[s,c]=(0,P.useState)(!1),l=async()=>{c(!0);let e=await r(a);c(!1),e&&(o(``),i())};return(0,V.jsxs)(`div`,{"data-ask-composer":!0,role:`dialog`,style:{left:e.x,top:e.y},className:`x10l6tqk x1m258z3 x1gnqi22 x9f619 x12ilycc xmkeg23 x1y0btm7 x12xov25 x4pepcl x1qdtr29 x1x85hfe`,children:[(0,V.jsxs)(`p`,{className:`x78zum5 x6s0dn4 x17d4w8g x1ghz6dp x4z9k3i x1s688f`,children:[(0,V.jsx)(me,{size:14}),n(`whiteboard.askTitle`)]}),(0,V.jsx)(`p`,{className:`xg9jes1 xyorhqc xfifm61 xddlp02`,children:n(`whiteboard.askSelected`,{count:t})}),(0,V.jsx)(`textarea`,{autoFocus:!0,placeholder:n(`whiteboard.askPlaceholder`),value:a,onChange:e=>o(e.target.value),className:`xh8yej3 x1peatla x9f619 x1vvogim x1awh872 xmkeg23 x1y0btm7 x12xov25 xur7f20 xqfszdh x4z9k3i xtt52l0`}),(0,V.jsxs)(`div`,{className:`x78zum5 x13a6bvl x17d4w8g x1anpbxc`,children:[(0,V.jsx)(`button`,{type:`button`,onClick:i,className:`x1fgtraw xaope02 xc342km x1kogg8i xahzvm9 x1bo0w0s x1ypdohk`,children:n(`whiteboard.cancel`)}),(0,V.jsx)(`button`,{"data-ask-send":!0,disabled:s,type:`button`,onClick:()=>void l(),className:`x1fgtraw xaope02 xc342km x1kogg8i x19ckca5 xs0jrwl x1s688f x1ypdohk xtgyt42 x1hc1fzr xijokvz`,children:n(`whiteboard.send`)})]})]})}var H={pin:{kVAEAm:`x10l6tqk`,kzqmXN:`xgd8bvy`,kZKoxP:`x1fgtraw`,kmVPX3:`x1717udv`,kMzoRj:`xc342km`,kaIpWk:`xqgj3pk`,kWkggS:`x1o91uai`,kMwMTN:`x8r4el6`,kGuDYH:`xfifm61`,k63SB2:`x1s688f`,kGVxlE:`xx1f5d8`,k3aq6I:`x105ttfm`,kkrTdU:`x1ypdohk`,kY2c9j:`xk3oba8`,$$css:!0},agentPin:{kWkggS:`xm2cizz`,$$css:!0},stalePin:{kWkggS:`xakccsc`,$$css:!0},orphanPin:{kWkggS:`xgeep88`,$$css:!0}},ke=(e,t)=>e.filter(e=>!e.isDeleted&&e.type!==`frame`&&t.x>=(e.x??0)&&t.x<=(e.x??0)+(e.width??0)&&t.y>=(e.y??0)&&t.y<=(e.y??0)+(e.height??0)).at(-1);function Ae({comments:e,commenting:r,elements:i,onDone:a,onOp:o,view:s,page:c=F}){let[l,u]=(0,P.useState)(null),[d,f]=(0,P.useState)(null),p=e.file.threads.filter(t=>t.status===`open`&&!t.messages.every(e=>e.deleted)&&(e.placed[t.id]??t.anchor.page??`main`)===c),m=p.find(e=>e.id===l),h=e=>void o(e),g=t=>[H.pin,t.messages[0]?.author===`agent`&&H.agentPin,e.stale.includes(t.id)&&H.stalePin,e.orphans.includes(t.id)&&H.orphanPin];return(0,V.jsxs)(V.Fragment,{children:[r&&(0,V.jsx)(`div`,{"data-comment-capture":!0,onClick:e=>{let t=e.currentTarget.getBoundingClientRect(),n={x:e.clientX-t.left,y:e.clientY-t.top},r=be(n,s);f({screen:n,scene:r,element:ke(i(),r)?.id})},className:`x10l6tqk x10a8y8t xsid9ct x1q8xho0`}),p.map((e,n)=>{let r=z(e.anchor,s);return(0,V.jsx)(`button`,{"data-pin":e.id,style:{left:`${r.x}px`,top:`${r.y}px`},type:`button`,onClick:()=>u(l===e.id?null:e.id),...t(...g(e)),children:n+1},e.id)}),m&&(0,V.jsx)(`div`,{style:{...je(z(m.anchor,s))},className:`x10l6tqk x1m258z3 x12ilycc xmkeg23 x1y0btm7 x12xov25 x4pepcl x1d5q07e xb3r6kr x1x85hfe`,children:(0,V.jsx)(S,{label:`#${p.indexOf(m)+1}`,thread:m,actions:{reply:(e,t)=>o({op:`reply`,threadId:e,text:t}),resolve:e=>h({op:`resolve`,threadId:e}),reopen:e=>h({op:`reopen`,threadId:e}),edit:(e,t,n)=>h({op:`edit`,threadId:e,messageId:t,text:n}),remove:(e,t)=>h({op:`delete`,threadId:e,messageId:t})},onClose:()=>u(null)})}),d&&(0,V.jsx)(`div`,{style:je(d.screen),className:`x10l6tqk x1m258z3 x12ilycc xmkeg23 x1y0btm7 x12xov25 x4pepcl x1d5q07e xb3r6kr x1x85hfe x7z7khe`,children:(0,V.jsx)(oe,{autoFocus:!0,placeholder:n(`comments.addPlaceholder`),onCancel:()=>{f(null),a()},onSubmit:async e=>{let t=await o({op:`create`,anchor:{x:d.scene.x,y:d.scene.y,...d.element?{elements:[d.element]}:{},...c===`main`?{}:{page:c}},text:e});return t&&(f(null),a()),t}})})]})}var je=e=>({left:e.x+18,top:Math.max(56,e.y-14)});function Me({frame:e,count:t,elements:r,view:i}){let a=e?r.find(t=>t.id===e):void 0;if(!a)return null;let o=z({x:a.x??0,y:a.y??0},i);return(0,V.jsx)(`div`,{"data-frame-focus":a.id,style:{left:o.x,top:o.y,width:(a.width??0)*i.zoom,height:(a.height??0)*i.zoom},className:`x10l6tqk x1eovdha x1y0btm7 x5kefyr x12oqio5 x9f619 x47corl x1w0boku`,children:t>0&&(0,V.jsx)(`span`,{className:`x10l6tqk x12p4g1f x1bkpikb xf4egzd x1q4txso x1ctf4ec x7grq7f x8r4el6 xfifm61 x1s688f xuxw1ft`,children:n(`whiteboard.docRefs`,{count:t})})})}var U={menu:{kVAEAm:`x1n2onr6`,k1xSpc:`x3nfvp2`,kGNEyG:`x6s0dn4`,$$css:!0},trigger:{k1xSpc:`x3nfvp2`,kGNEyG:`x6s0dn4`,kOIVth:`x17d4w8g`,kZKoxP:`x10w6t97`,ks0D6T:`x1ncir08`,kg3NbH:`xdqyycr`,kMzoRj:`xc342km`,kaIpWk:`xur7f20`,kWkggS:`xjbqb8w xj0l527`,kMwMTN:`xo2rkog`,kGuDYH:`x4z9k3i`,kkrTdU:`x1ypdohk`,$$css:!0},name:{kVQacm:`xb3r6kr`,kg5iWk:`xlyipyv`,khDVqt:`xuxw1ft`,$$css:!0},muted:{kMwMTN:`xddlp02`,kmuXW:`x2lah0s`,$$css:!0},list:{kVAEAm:`x10l6tqk`,k87sOh:`x9ri80z`,kbCHJM:`xu96u03`,k7Eaqz:`xlm99nl`,k8WAf4:`x12ulsxz`,kWkggS:`x12ilycc`,kMzoRj:`xmkeg23`,ksu8eU:`x1y0btm7`,kVAM5u:`x12xov25`,kaIpWk:`x1q4ynmn`,kGVxlE:`x1d5q07e`,kY2c9j:`x1355qak`,$$css:!0},row:{k1xSpc:`x78zum5`,kGNEyG:`x6s0dn4`,kOIVth:`x195vfkc`,kg3NbH:`xfn1xvj`,$$css:!0},item:{k1xSpc:`x78zum5`,kUk6DE:`x98rzlu`,kGNEyG:`x6s0dn4`,kOIVth:`x167g77z`,k7Eaqz:`xeuugli`,kZKoxP:`x10w6t97`,kg3NbH:`xdqyycr`,kMzoRj:`xc342km`,kaIpWk:`x1kogg8i`,kWkggS:`xjbqb8w xj0l527`,kMwMTN:`xo2rkog`,kGuDYH:`x4z9k3i`,k9WMMc:`xdpxx8g`,kkrTdU:`x1ypdohk`,$$css:!0},check:{kzqmXN:`x6jxa94`,kmuXW:`x2lah0s`,$$css:!0},dot:{kzqmXN:`x1v4s8kt`,kZKoxP:`xols6we`,kaIpWk:`x16rqkct`,kWkggS:`xm2cizz`,kmuXW:`x2lah0s`,$$css:!0},action:{k1xSpc:`x3nfvp2`,kGNEyG:`x6s0dn4`,kjj79g:`xl56j7k`,kzqmXN:`x23j0i4`,kZKoxP:`xd7y6wv`,kmVPX3:`x1717udv`,kMzoRj:`xc342km`,kaIpWk:`x1kogg8i`,kWkggS:`xjbqb8w xj0l527`,kMwMTN:`x1bo0w0s`,kkrTdU:`x1ypdohk`,$$css:!0},separator:{kZKoxP:`xjm9jq1`,kqGvvJ:`xg9jes1`,kWkggS:`xh6qj2i`,$$css:!0},heading:{kg3NbH:`xaope02`,k8WAf4:`x12ulsxz`,kMwMTN:`xddlp02`,kGuDYH:`xfifm61`,$$css:!0},input:{kzqmXN:`xzjbwwf`,kZKoxP:`x1fgtraw`,kUOVxO:`x18kdvx8`,kg3NbH:`xdqyycr`,kMzoRj:`xmkeg23`,ksu8eU:`x1y0btm7`,kVAM5u:`xgcsv5v`,kaIpWk:`x1kogg8i`,kWkggS:`x1rozbrz`,kMwMTN:`xo2rkog`,kGuDYH:`x4z9k3i`,kI3sdo:`x1a2a7pz`,$$css:!0}},W=e=>e.name??(e.id===`main`?n(`whiteboard.pages.first`):e.id);function Ne({pages:e,page:r,changed:i,onPick:a,onOp:o}){let[s,c]=(0,P.useState)(!1),[l,p]=(0,P.useState)(null),m=I(e),h=e.filter(e=>e.deleted),g=m.find(e=>e.id===r)??m[0],v=()=>p({mode:`add`,id:_e(new Set(e.map(e=>e.id))),value:``}),b=()=>{if(!l)return;let e=l.value.trim();l.mode===`add`?(o({op:`add`,id:l.id,name:e||n(`whiteboard.pages.untitled`)}),a(l.id),c(!1)):e&&o({op:`rename`,id:l.id,name:e}),p(null)},x=l&&(0,V.jsx)(`input`,{"data-page-name":!0,"aria-label":n(`whiteboard.pages.name`),placeholder:n(`whiteboard.pages.name`),ref:e=>e?.focus(),value:l.value,onBlur:()=>p(null),onChange:e=>p({...l,value:e.target.value}),onKeyDown:e=>{e.key===`Enter`&&b(),e.key===`Escape`&&p(null)},...t(U.input)}),S=(0,V.jsxs)(`button`,{"data-page-add":!0,"aria-label":n(`whiteboard.pages.add`),title:n(`whiteboard.pages.add`),type:`button`,onClick:v,...t(s?U.item:U.action),children:[(0,V.jsx)(O,{size:15}),s&&n(`whiteboard.pages.add`)]});return m.length<=1&&h.length===0?(0,V.jsx)(`span`,{"data-page-menu":!0,...t(U.menu),children:(0,V.jsx)(`span`,{style:{display:`contents`},children:x??S})}):(0,V.jsxs)(`span`,{"data-page-menu":!0,...t(U.menu),children:[(0,V.jsxs)(`button`,{"aria-expanded":s,"aria-label":n(`whiteboard.pages.switch`),type:`button`,onClick:()=>c(!s),...t(U.trigger),children:[(0,V.jsx)(C,{size:15,...t(U.muted)}),(0,V.jsx)(`span`,{...t(U.name),children:g?W(g):``}),[...i].some(e=>e!==r&&m.some(t=>t.id===e))&&(0,V.jsx)(`span`,{...t(U.dot)}),(0,V.jsx)(_,{size:14,...t(U.muted)})]}),s&&(0,V.jsxs)(`div`,{role:`menu`,...t(U.list),children:[m.map((e,s)=>(0,V.jsxs)(`div`,{"data-page-row":e.id,...t(U.row),children:[l?.mode===`rename`&&l.id===e.id?x:(0,V.jsxs)(`button`,{"data-changed":i.has(e.id)?`true`:void 0,"data-page-item":e.id,role:`menuitem`,type:`button`,onClick:()=>{a(e.id),c(!1)},...t(U.item),children:[(0,V.jsx)(`span`,{...t(U.check),children:e.id===r&&(0,V.jsx)(f,{size:14})}),(0,V.jsx)(`span`,{...t(U.name),children:W(e)}),i.has(e.id)&&(0,V.jsx)(`span`,{"aria-label":n(`whiteboard.pages.changed`),...t(U.dot)})]}),(0,V.jsx)(`button`,{"data-page-rename":!0,"aria-label":n(`whiteboard.pages.rename`),title:n(`whiteboard.pages.rename`),type:`button`,onClick:()=>p({mode:`rename`,id:e.id,value:W(e)}),...t(U.action),children:(0,V.jsx)(E,{size:13})}),e.id!==`main`&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`button`,{"data-page-up":!0,"aria-label":n(`whiteboard.pages.up`),disabled:s<=1,title:n(`whiteboard.pages.up`),type:`button`,onClick:()=>o({op:`move`,id:e.id,to:s-1}),...t(U.action),children:(0,V.jsx)(d,{size:13})}),(0,V.jsx)(`button`,{"data-page-down":!0,"aria-label":n(`whiteboard.pages.down`),disabled:s===m.length-1,title:n(`whiteboard.pages.down`),type:`button`,onClick:()=>o({op:`move`,id:e.id,to:s+1}),...t(U.action),children:(0,V.jsx)(u,{size:13})}),(0,V.jsx)(`button`,{"data-page-delete":!0,"aria-label":n(`whiteboard.pages.delete`),title:n(`whiteboard.pages.delete`),type:`button`,onClick:()=>{o({op:`delete`,id:e.id}),e.id===r&&a(`main`)},...t(U.action),children:(0,V.jsx)(T,{size:13})})]})]},e.id)),(0,V.jsx)(`div`,{...t(U.separator)}),(0,V.jsx)(`div`,{...t(U.row),children:l?.mode===`add`?x:S}),h.length>0&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`div`,{...t(U.separator)}),(0,V.jsx)(`div`,{...t(U.heading),children:n(`whiteboard.pages.deleted`)}),h.map(e=>(0,V.jsxs)(`div`,{...t(U.row),children:[(0,V.jsxs)(`span`,{...t(U.item),children:[(0,V.jsx)(`span`,{...t(U.check)}),(0,V.jsx)(`span`,{...t(U.name),children:W(e)})]}),(0,V.jsx)(`button`,{"aria-label":n(`whiteboard.pages.restore`),"data-page-restore":e.id,title:n(`whiteboard.pages.restore`),type:`button`,onClick:()=>o({op:`restore`,id:e.id}),...t(U.action),children:(0,V.jsx)(y,{size:13})})]},e.id))]})]})]})}function G(e){return[{id:null,label:null},...e.filter(e=>e.type===`frame`&&!e.isDeleted).map(e=>({id:e.id,label:typeof e.name==`string`&&e.name?e.name:e.id}))]}var Pe=()=>typeof window>`u`||!window.matchMedia?null:window.matchMedia(`(prefers-color-scheme: dark)`);function Fe(){let[e,t]=(0,P.useState)(()=>Pe()?.matches??!1);return(0,P.useEffect)(()=>{let e=Pe();if(!e)return;let n=()=>t(e.matches);return e.addEventListener(`change`,n),()=>e.removeEventListener(`change`,n)},[]),e}var Ie={path:{kUk6DE:`x98rzlu`,k7Eaqz:`xeuugli`,kVQacm:`xb3r6kr`,kg5iWk:`xlyipyv`,khDVqt:`xuxw1ft`,$$css:!0}},Le={fitToViewport:!0,viewportZoomFactor:.9};function Re({id:e,scene:r,threads:i,setApi:a,onView:o,header:s,children:c}){let l=Fe(),u=(0,P.useRef)(null),[d,f]=(0,P.useState)(null),p=(0,P.useRef)(!1),[m,h]=(0,P.useState)(null),g=()=>{let e=u.current?.getSceneElements();return e?.length?e:r?.elements??[]},_=(e,t=!0)=>{let n=u.current,r=g(),i=e?r.filter(t=>t.id===e):r;return!n||!i.length?!1:(n.scrollToContent(i,{...Le,animate:t}),f(e),!0)},v=()=>{if(p.current)return;let e=G(g())[1]?.id??null;p.current=_(e,!1)},y=(0,P.useRef)(v);(0,P.useLayoutEffect)(()=>{y.current=v}),(0,P.useEffect)(()=>{r&&y.current()},[r]);let b=(e,t)=>{v();let n=G(e);JSON.stringify(n)!==JSON.stringify(m)&&h(n),o?.({scrollX:t.scrollX,scrollY:t.scrollY,zoom:t.zoom.value})};return(0,V.jsxs)(`div`,{...t(B.root),children:[r?(0,V.jsx)(`div`,{"data-whiteboard-canvas":!0,"data-hide-native":`true`,...t(B.canvas),children:(0,V.jsx)(j,{viewModeEnabled:!0,theme:l?`dark`:`light`,excalidrawAPI:e=>{u.current=e,a?.(e)},initialData:{elements:r.elements,appState:{...r.appState,viewBackgroundColor:`#ffffff`},files:r.files},onChange:b})}):(0,V.jsx)(`div`,{...t(B.loading),children:(0,V.jsx)(k,{label:n(`whiteboard.loading`)})}),(0,V.jsxs)(`header`,{className:`x10l6tqk x13vifvy x17y0mx6 x78zum5 x6s0dn4 x167g77z xsdox4t xqin4a2 x12ilycc xso031l x1q0q8m5 xtrfj0v x4z9k3i x1n327nk`,children:[(0,V.jsxs)(`span`,{...t(Ie.path,B.crumb),children:[n(`type.whiteboard`),` / `,(0,V.jsx)(`span`,{...t(B.crumbId),children:e})]}),s,(0,V.jsx)(`span`,{className:`xj8oexa xlkn9b3 x1sxf85j xahzvm9 x1bo0w0s x1j6dyjg`,children:n(`whiteboard.readOnly`)}),i!==void 0&&(0,V.jsxs)(`span`,{className:`x3nfvp2 x6s0dn4 x1jnr06f x1bo0w0s`,children:[(0,V.jsx)(D,{size:14}),i]})]}),c,(0,V.jsx)(`nav`,{className:`x10l6tqk x191j7n5 xpnmzw7 x1s76y0k x78zum5 x17d4w8g xw2csxc x1n327nk`,children:(m??G(r?.elements??[])).map(e=>(0,V.jsx)(`button`,{"aria-pressed":d===e.id,"data-frame-chip":e.id??``,type:`button`,onClick:()=>_(e.id),...{0:{className:`x2lah0s x10w6t97 xqin4a2 xmkeg23 x1y0btm7 x12xov25 xgqmno8 x12ilycc xo2rkog xjb2p0i x4z9k3i xuxw1ft`},1:{className:`x2lah0s x10w6t97 xqin4a2 xmkeg23 x1y0btm7 xgqmno8 xjb2p0i x4z9k3i xuxw1ft x19ckca5 x1rqon0r xs0jrwl`}}[d===e.id|0],children:e.label??n(`whiteboard.all`)},e.id??``))})]})}var K=e=>typeof e.version!=`number`||typeof e.seed!=`number`,ze=e=>e===`human`||e===`agent`;function Be(e){let t=e.customData??{},n={};return ze(t.ryugiAuthor)&&(n.author=t.ryugiAuthor),typeof t.ryugiRev==`number`&&(n.rev=t.ryugiRev),ze(t.ryugiLastBy)&&(n.lastBy=t.ryugiLastBy),n}function q(e,t){for(let n of t)e.set(n.id,n.version??0)}function Ve(e,t){let n=t.filter(t=>e.get(t.id)!==(t.version??0));return q(e,n),n}var He=e=>({x:e.x??0,y:e.y??0,w:e.width??0,h:e.height??0});function Ue(e){let t=e.filter(e=>!e.isDeleted),n=new Map(t.map(e=>[e.id,e])),r={};for(let e of t){let t=He(e),i=e.containerId?n.get(e.containerId):void 0;if(e.type===`text`&&i&&![`arrow`,`line`].includes(i.type)){let e=He(i);(t.x+t.w>e.x+e.w||t.x<e.x||t.y+t.h>e.y+e.h)&&(t.overflow=!0)}r[e.id]=t}return{sceneVersion:e.reduce((e,t)=>e+(t.version??0),0),elements:r}}var We=new Set([`arrow`,`line`]),Ge=new Set([`rectangle`,`ellipse`,`diamond`]),Ke=[`x`,`y`,`width`,`height`,`text`],qe=e=>[e.start,e.end].map(e=>e?.id).filter(e=>typeof e==`string`),J=(e,t)=>({...e,...t,version:(e.version??0)+1,versionNonce:Math.floor(Math.random()*2**31),updated:Date.now()}),Je=e=>We.has(e.type)&&!e.points&&(e.width===0||e.height===0)&&(e.width||e.height)?{...e,points:[[0,0],[e.width??0,e.height??0]]}:e,Ye=(e,t)=>e.type!==`frame`||!Array.isArray(e.children)?e:(t.set(e.id,{children:e.children,box:e.width&&e.height?{x:e.x??0,y:e.y??0,width:e.width,height:e.height}:null}),{...e,children:[]});function Xe(e,t){let n=new Set(e.map(e=>e.id)),r=new Map(t.filter(e=>!e.isDeleted).map(e=>[e.id,e])),i=new Map;for(let t of e)for(let e of qe(t)){let t=r.get(e);!t||n.has(e)||i.has(e)||i.set(e,{id:e,type:Ge.has(t.type)?t.type:`rectangle`,x:t.x??0,y:t.y??0,width:t.width??0,height:t.height??0})}let a=new Map;return{batch:[...e.map(e=>Ye(Je(e),a)),...i.values()],standIns:new Set(i.keys()),frames:a}}var Ze=e=>{let t=e.x??0,n=e.y??0,r=Array.isArray(e.points)?e.points:null;if(!r?.length)return[t,n,t+(e.width??0),n+(e.height??0)];let i=r.map(([e])=>t+e),a=r.map(([,e])=>n+e);return[Math.min(...i),Math.min(...a),Math.max(...i),Math.max(...a)]},Y=10,Qe=e=>{let t=e.map(Ze),n=Math.min(...t.map(([e])=>e))-Y,r=Math.min(...t.map(([,e])=>e))-Y,i=Math.max(...t.map(([,,e])=>e))+Y,a=Math.max(...t.map(([,,,e])=>e))+Y;return{x:n,y:r,width:i-n,height:a-r}};function $e(e,t,n,r){for(let[i,{children:a,box:o}]of r){let r=new Set(a),s=e=>r.has(e.id)||!!(e.containerId&&r.has(e.containerId)),c=[];for(let[t,n]of e.entries())s(n)&&c.push(e[t]={...n,frameId:i});for(let r of n){if(!s(r)||e.some(e=>e.id===r.id))continue;let n=t.findIndex(e=>e.id===r.id),a=n>=0?{...t[n],frameId:i}:J(r,{frameId:i});n>=0?t[n]=a:t.push(a),c.push(a)}let l=e.findIndex(e=>e.id===i);if(l<0)continue;let u=o??(c.length?Qe(c):null);u&&(e[l]={...e[l],...u})}}function et(e,t,n,r=new Map){let i=e.filter(e=>!t.has(e.id)),a=[];for(let r of t){let t=n.find(e=>e.id===r);if(!t)continue;let i=t.boundElements??[],o=(e.find(e=>e.id===r)?.boundElements??[]).filter(e=>!i.some(t=>t.id===e.id));o.length&&a.push(J(t,{boundElements:[...i,...o]}))}return $e(i,a,n,r),{created:i,touched:a}}function tt(e,t){let n=new Map(e.map(e=>[e.id,e]));return t.flatMap(e=>{let t=n.get(e.id);return e.type!==`text`||!t||e.isDeleted||Ke.every(n=>e[n]===t[n])?[]:[J(t,Object.fromEntries(Ke.map(t=>[t,e[t]])))]})}var nt=e=>e.map(e=>e.type===`text`&&e.containerId&&typeof e.originalText==`string`?{...e,text:e.originalText}:e),rt=1e3,X=(e,t)=>{let n=new Map(t.map(e=>[e.id,e])),r=e.map(e=>n.get(e.id)??e),i=new Set(e.map(e=>e.id));return[...r,...t.filter(e=>!i.has(e.id))]};function it({id:e,pages:t,current:n,send:r,convert:i}){let a=(0,P.useRef)(new Map),o=(0,P.useRef)({send:r,convert:i});o.current={send:r,convert:i};let s=(0,P.useCallback)(async t=>{let n=a.current.get(t);if(!n)return;let r=n.elements.filter(K);if(r.length){let i=n.elements.filter(e=>!K(e)),a=o.current.convert(r,i);n.elements=X(i,a),o.current.send({type:`whiteboard-update`,artifact:`whiteboard/${e}`,page:t,elements:a,completion:!0})}let i=Ue(n.elements);if(i.sceneVersion===n.reported)return;n.reported=i.sceneVersion;let s=`page=${encodeURIComponent(t)}`;await fetch(N(`/api/whiteboard/${e}/geometry?${s}`),{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(i)});let c=await re({elements:n.elements.filter(e=>!e.isDeleted),appState:{viewBackgroundColor:`#ffffff`,exportBackground:!0},files:n.files,mimeType:`image/png`});await fetch(N(`/api/whiteboard/${e}/render?version=${i.sceneVersion}&${s}`),{method:`POST`,headers:{"Content-Type":`image/png`},body:c})},[e]),c=(0,P.useCallback)(e=>{let t=a.current.get(e);t&&(clearTimeout(t.timer),t.timer=setTimeout(()=>void s(e),rt))},[s]),l=(t?I(t).map(e=>e.id).filter(e=>e!==n):[]).join(`
|
|
2
2
|
`);return(0,P.useEffect)(()=>{let t=new Set(l?l.split(`
|
|
3
3
|
`):[]);for(let[e,n]of a.current)t.has(e)||(clearTimeout(n.timer),a.current.delete(e));for(let n of t){if(a.current.has(n))continue;let t={elements:[],files:{},reported:null};a.current.set(n,t),fetch(N(`/api/whiteboard/${e}/scene?page=${encodeURIComponent(n)}`),{cache:`no-store`}).then(e=>e.ok?e.json():null).catch(()=>null).then(e=>{e?.scene&&a.current.get(n)===t&&(t.elements=X(e.scene.elements,t.elements),t.files={...e.scene.files,...t.files},c(n))})}},[e,l,c]),(0,P.useEffect)(()=>{let e=a.current;return()=>{for(let t of e.values())clearTimeout(t.timer);e.clear()}},[e]),(0,P.useCallback)((e,t,n)=>{let r=a.current.get(e);r&&(r.elements=X(r.elements,t),n&&(r.files={...r.files,...n}),c(e))},[c])}var at=200,ot=1e3,Z=e=>e,st=Math.random().toString(36).slice(2),ct={file:{version:1,threads:[]},stale:[],orphans:[],placed:{}},Q=e=>({file:e.comments,stale:e.stale??[],orphans:e.orphans??[],placed:e.placed??{}}),lt=(e,t)=>!e||t&&!I(t).some(t=>t.id===e)?F:e,$=(e,t)=>{let{batch:n,standIns:r,frames:i}=Xe(e,t),{created:a,touched:o}=et(Z(M(n,{regenerateIds:!1})).map(t=>({...t,customData:e.find(e=>e.id===t.id)?.customData??t.customData})),r,t,i);return[...a,...o]};function ut(e,t,n=null){let r=`whiteboard/${e}`,[i,a]=(0,P.useState)(null),[o,s]=(0,P.useState)(null),c=lt(n,o),[l,u]=(0,P.useState)(new Set),d=(0,P.useRef)(c),[f,p]=(0,P.useState)(null),[m,h]=(0,P.useState)(ct),g=(0,P.useRef)(null),_=(0,P.useRef)(new Map),v=(0,P.useRef)([]),y=(0,P.useRef)(new Set),b=(0,P.useRef)(``),x=(0,P.useRef)({}),S=(0,P.useRef)(t);S.current=t;let C=(0,P.useRef)(()=>void 0),w=(0,P.useRef)(()=>void 0),T=(0,P.useCallback)(()=>{let e=g.current;if(!e)return;let t=Z(e.getSceneElementsIncludingDeleted()),n=tt(t,Z(ae(nt(t),null,{repairBindings:!0,refreshDimensions:!0})));if(!n.length)return;q(_.current,n);let i=new Map(n.map(e=>[e.id,e]));e.updateScene({elements:t.map(e=>i.get(e.id)??e)}),w.current({type:`whiteboard-update`,artifact:r,page:d.current,elements:n,completion:!0})},[r]),E=(0,P.useCallback)(e=>{let t=$(e,Z(g.current?.getSceneElementsIncludingDeleted()??v.current));q(_.current,t);let n=g.current;n&&n.updateScene({elements:ie(n.getSceneElementsIncludingDeleted(),t,n.getAppState())}),w.current({type:`whiteboard-update`,artifact:r,page:d.current,elements:t,completion:!0}),T()},[r,T]),D=(0,P.useCallback)(e=>{let t=e.filter(K),n=e.filter(e=>!K(e));q(_.current,n);let r=g.current;r&&n.length&&r.updateScene({elements:ie(r.getSceneElementsIncludingDeleted(),n,r.getAppState())}),t.length?E(t):n.length&&T()},[E,T]),{live:ee,send:O}=te(e=>{if(e.type===`whiteboard-comments`&&e.artifact===r){h(Q(e));return}if(e.type===`whiteboard-pages`&&e.artifact===r){s(e.pages);return}if(e.type!==`whiteboard-update`||e.artifact!==r)return;let t=e.page??`main`;if(t!==d.current)e.agent&&u(e=>new Set([...e,t])),C.current?.(t,e.elements,e.files);else{if(e.files){for(let t of Object.keys(e.files))y.current.add(t);g.current?.addFiles(Object.values(e.files))}D(e.elements),e.agent&&S.current?.(e.agent,e.elements)}});w.current=O,C.current=it({id:e,pages:o,current:c,send:O,convert:$}),(0,P.useEffect)(()=>{let t=!1;return fetch(N(`/api/whiteboard/${e}/pages`),{cache:`no-store`}).then(e=>e.ok?e.json():null).catch(()=>null).then(e=>{!t&&e?.pages&&s(e.pages)}),()=>{t=!0}},[e]),(0,P.useEffect)(()=>{let t=!1;d.current=c,u(e=>{if(!e.has(c))return e;let t=new Set(e);return t.delete(c),t});let n=c===`main`?``:`?page=${encodeURIComponent(c)}`;return fetch(N(`/api/whiteboard/${e}/scene${n}`),{cache:`no-store`}).then(e=>e.ok?e.json():null).then(e=>{if(t||!e)return;let n=e.scene.elements.filter(K),i=e.scene.elements.filter(e=>!K(e)),o=n.length?$(n,i):[],s=new Map(o.map(e=>[e.id,e])),l=[...i.map(e=>s.get(e.id)??e),...o.filter(e=>!i.some(t=>t.id===e.id))];q(_.current,l),y.current=new Set(Object.keys(e.scene.files??{})),v.current=l,a({page:c,scene:{...e.scene,elements:l}}),o.length&&w.current({type:`whiteboard-update`,artifact:r,page:c,elements:o,completion:!0}),p(e.problem),e.comments&&h(Q({...e,comments:e.comments}))}),()=>{t=!0,x.current.send&&(clearTimeout(x.current.send),x.current.send=void 0,A.current(c)),clearTimeout(x.current.report),_.current=new Map,v.current=[],b.current=``,g.current=null}},[e,c]);let k=(0,P.useCallback)(async()=>{let t=g.current,n=v.current,r=Ue(n),i=d.current,a=i===`main`?``:`page=${encodeURIComponent(i)}`;if(await fetch(N(`/api/whiteboard/${e}/geometry${a?`?${a}`:``}`),{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(r)}),!t)return;let o=await re({elements:n.filter(e=>!e.isDeleted),appState:t.getAppState(),files:t.getFiles(),mimeType:`image/png`});await fetch(N(`/api/whiteboard/${e}/render?version=${r.sceneVersion}${a?`&${a}`:``}`),{method:`POST`,headers:{"Content-Type":`image/png`},body:o})},[e]),A=(0,P.useRef)(()=>void 0);A.current=e=>{let t=Ve(_.current,v.current);if(!t.length)return;let n=g.current?.getFiles()??{},i=Object.fromEntries(t.map(e=>e.fileId).filter(e=>typeof e==`string`&&!y.current.has(e)&&e in n).map(e=>[e,n[e]]));for(let e of Object.keys(i))y.current.add(e);O({type:`whiteboard-update`,artifact:r,page:e,elements:t,...Object.keys(i).length?{files:i}:{}})};let ne=(0,P.useCallback)((e,t)=>{v.current=Z(e),clearTimeout(x.current.send),x.current.send=setTimeout(()=>{x.current.send=void 0,A.current(d.current)},at),clearTimeout(x.current.report),x.current.report=setTimeout(()=>void k(),ot);let n=Object.keys(t.selectedElementIds??{}).filter(e=>t.selectedElementIds[e]),i=n.join(`,`);if(i===b.current)return;b.current=i;let a=new Map(v.current.map(e=>[e.id,e])),o=new Map(v.current.filter(e=>e.containerId&&typeof e.text==`string`).map(e=>[e.containerId,e.text]));O({type:`selection`,artifact:r,tab:st,human:!0,page:d.current,selected:n.flatMap(e=>{let t=a.get(e);return t?[{id:t.id,type:t.type,text:o.get(t.id)??(typeof t.text==`string`?t.text:null),frameId:t.frameId??null,author:Be(t).author??null}]:[]})})},[r,k,O]),j=(0,P.useCallback)(e=>{g.current=e;let t=Z(e.getSceneElementsIncludingDeleted()).filter(K);t.length&&E(t),document.fonts?.ready.then(T)},[E,T]);(0,P.useEffect)(()=>{let e=document.fonts;if(e)return e.addEventListener(`loadingdone`,T),()=>e.removeEventListener(`loadingdone`,T)},[T]);let M=(0,P.useCallback)(async t=>{let n=await fetch(N(`/api/whiteboard/${e}/comments`),{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)});if(!n.ok)return!1;let r=await n.json();return r.comments&&h(Q({...r,comments:r.comments})),!0},[e]),oe=(0,P.useCallback)(()=>v.current,[]),se=(0,P.useCallback)(e=>O({type:`whiteboard-pages`,artifact:r,op:e}),[r,O]);return{scene:i?.page===c?i.scene:null,page:c,problem:f,live:ee,onChange:ne,setApi:j,api:g,report:k,send:O,comments:m,comment:M,elements:oe,pages:o,changedPages:l,pageOp:se}}var dt=(e,t)=>e.scrollX===t.scrollX&&e.scrollY===t.scrollY&&e.zoom===t.zoom;function ft({id:e}){let[t,r]=ue(),i=ut(e,()=>{},t),a=I(i.pages??[]).map(e=>({id:e.id,name:W(e)})),[o,s]=(0,P.useState)(!1),[c,l]=(0,P.useState)({scrollX:0,scrollY:0,zoom:1}),u=i.comments.file.threads.filter(e=>e.status===`open`).length;return(0,V.jsxs)(Re,{id:e,scene:i.scene,setApi:i.setApi,threads:u,header:(0,V.jsx)(v,{page:i.page,pages:a,onPageChange:e=>r(e===`main`?null:e,!1)}),onView:e=>{dt(e,c)||l(e)},children:[o&&(0,V.jsx)(Ae,{commenting:!1,comments:i.comments,elements:i.elements,page:i.page,view:c,onDone:()=>{},onOp:i.comment}),(0,V.jsx)(`button`,{"data-phone-comments":!0,"aria-label":n(`whiteboard.tools.comment`),"aria-pressed":o,type:`button`,onClick:()=>s(e=>!e),className:`x10l6tqk xn5hqff xn0vg7t xrvj5dj x1ku5rj1 x187nhsf xn3w4p2 xc342km x13pz1uv x7grq7f x8r4el6 x1fptykp x1n327nk`,children:(0,V.jsx)(D,{size:18})})]},i.page)}var pt=[`#1e1e1e`,`#e03131`,`#2f9e44`,`#1971c2`,`#f08c00`],mt=[`#ffec99`,`#ffc9c9`,`#b2f2bb`,`#a5d8ff`,`transparent`],ht=[[`S`,16],[`M`,20],[`L`,28]],gt=[1,2,4],_t=[100,60,30];function vt({x:e,y:t,selected:r,onApply:i,onWidth:a,trailing:o,compact:s=!1}){let[c,l]=(0,P.useState)(!1),u=r[0],d=u?.strokeColor,f=u?.backgroundColor,p=r.find(e=>typeof e.fontSize==`number`)?.fontSize;return(0,V.jsxs)(`div`,{"data-property-bar":!0,"data-compact":s||void 0,style:{left:e,top:t},ref:e=>{e&&a?.(e.offsetWidth)},className:`x10l6tqk x78zum5 x6s0dn4 x195vfkc x1vqgdyp x1xijbu4 x12ilycc xmkeg23 x1y0btm7 x12xov25 x1q4ynmn x1cqdj14 x1of6sz5`,children:[!s&&(0,V.jsx)(`span`,{className:`x1xijbu4 x1j6dyjg xddlp02`,children:n(`whiteboard.stroke`)}),pt.map(e=>(0,V.jsx)(`button`,{"aria-label":e,"data-stroke":e,style:{backgroundColor:e},type:`button`,onClick:()=>i({strokeColor:e}),...{0:{className:`x1xp8n7a xmix8c7 xj3msbq x1717udv xc342km x16rqkct x1scgrc6 x1ypdohk`},1:{className:`x1xp8n7a xmix8c7 xj3msbq x1717udv xc342km x16rqkct x1ypdohk x1cisi93`}}[d===e|0]},e)),(0,V.jsx)(`span`,{className:`x1i1rx1s xmix8c7 xjgtzcg xh6qj2i`}),!s&&(0,V.jsx)(`span`,{className:`x1xijbu4 x1j6dyjg xddlp02`,children:n(`whiteboard.fill`)}),mt.map(e=>(0,V.jsx)(`button`,{"aria-label":e,"data-fill":e,style:{backgroundColor:e===`transparent`?`#fff`:e},type:`button`,onClick:()=>i({backgroundColor:e,fillStyle:`solid`}),...{0:{className:`x1xp8n7a xmix8c7 xj3msbq x1717udv xc342km x1scgrc6 x1ypdohk x1sxf85j`},1:{className:`x1xp8n7a xmix8c7 xj3msbq x1717udv xc342km x1ypdohk x1sxf85j x1cisi93`}}[f===e|0]},e)),(0,V.jsx)(`span`,{className:`x1i1rx1s xmix8c7 xjgtzcg xh6qj2i`}),ht.map(([e,t])=>(0,V.jsx)(`button`,{"aria-label":`${n(`whiteboard.fontSize`)} ${e}`,"data-font-size":t,type:`button`,onClick:()=>i({fontSize:t}),...{0:{className:`xlrd64x xd7y6wv xfn1xvj xc342km x1kogg8i xjbqb8w x1bo0w0s x1j6dyjg x1s688f x1ypdohk`},1:{className:`xlrd64x xd7y6wv xfn1xvj xc342km x1kogg8i x1j6dyjg x1s688f x1ypdohk x15dg6x3 xo2rkog`}}[p===t|0],children:e},e)),(0,V.jsx)(`span`,{className:`x1i1rx1s xmix8c7 xjgtzcg xh6qj2i`}),(0,V.jsx)(`button`,{"aria-expanded":c,"aria-label":n(`whiteboard.more`),type:`button`,onClick:()=>l(e=>!e),className:`xlrd64x xd7y6wv xfn1xvj xc342km x1kogg8i xjbqb8w x1bo0w0s x1j6dyjg x1s688f x1ypdohk`,children:(0,V.jsx)(b,{size:16})}),c&&(0,V.jsxs)(`div`,{className:`x10l6tqk xtirvkn x3m8u43 x78zum5 x6s0dn4 x195vfkc x1ruevkc x12ilycc xmkeg23 x1y0btm7 x12xov25 x1q4ynmn x1cqdj14`,children:[(0,V.jsx)(`span`,{className:`x1xijbu4 x1j6dyjg xddlp02`,children:n(`whiteboard.strokeWidth`)}),gt.map(e=>(0,V.jsx)(`button`,{"data-stroke-width":e,type:`button`,onClick:()=>i({strokeWidth:e}),...{0:{className:`xlrd64x xd7y6wv xfn1xvj xc342km x1kogg8i xjbqb8w x1bo0w0s x1j6dyjg x1s688f x1ypdohk`},1:{className:`xlrd64x xd7y6wv xfn1xvj xc342km x1kogg8i x1j6dyjg x1s688f x1ypdohk x15dg6x3 xo2rkog`}}[u?.strokeWidth===e|0],children:e},e)),(0,V.jsx)(`span`,{className:`x1i1rx1s xmix8c7 xjgtzcg xh6qj2i`}),(0,V.jsx)(`span`,{className:`x1xijbu4 x1j6dyjg xddlp02`,children:n(`whiteboard.opacity`)}),_t.map(e=>(0,V.jsx)(`button`,{"data-opacity":e,type:`button`,onClick:()=>i({opacity:e}),...{0:{className:`xlrd64x xd7y6wv xfn1xvj xc342km x1kogg8i xjbqb8w x1bo0w0s x1j6dyjg x1s688f x1ypdohk`},1:{className:`xlrd64x xd7y6wv xfn1xvj xc342km x1kogg8i x1j6dyjg x1s688f x1ypdohk x15dg6x3 xo2rkog`}}[u?.opacity===e|0],children:e},e))]}),o]})}var yt=`#ffec99`,bt=[{key:`selection`,icon:g,shortcut:`V`,group:`move`},{key:`hand`,icon:p,shortcut:`H`,group:`move`},{key:`rectangle`,icon:ee,shortcut:`R`,group:`draw`},{key:`ellipse`,icon:h,shortcut:`O`,group:`draw`},{key:`arrow`,icon:fe,shortcut:`A`,group:`draw`},{key:`text`,icon:x,shortcut:`T`,group:`draw`},{key:`sticky`,icon:ge,shortcut:`S`,group:`draw`},{key:`freedraw`,icon:E,shortcut:`P`,group:`draw`},{key:`frame`,icon:w,shortcut:`F`,group:`draw`},{key:`comment`,icon:m,shortcut:`C`,group:`talk`}],xt=(e,t,n)=>({type:`rectangle`,x:e,y:t,width:240,height:120,backgroundColor:yt,fillStyle:`solid`,strokeColor:`#1e1e1e`,label:{text:n}}),St=2e3,Ct=1e4,wt={at:0,event:null},Tt=(e,t,n)=>({at:n,event:t});function Et(e,t){let n=t-e.at,r=e.event;return!r||n>=1e4?{glow:[],cursor:null,count:0}:{glow:n<2e3?r.changed:[],cursor:r.last,count:r.changed.length+r.deleted}}function Dt(){let[e,t]=(0,P.useState)(wt),[n,r]=(0,P.useState)(()=>Date.now());return(0,P.useEffect)(()=>{if(!e.event)return;let t=()=>r(Date.now()),n=setTimeout(t,Math.max(0,e.at+St-Date.now())),i=setTimeout(t,Math.max(0,e.at+Ct-Date.now()));return()=>{clearTimeout(n),clearTimeout(i)}},[e]),{visible:Et(e,n),record:e=>{let n=Date.now();t(t=>Tt(t,e,n)),r(n)}}}var Ot=.8;function kt(e,t,n,r,i=!1){if(e.frame){let a=n.filter(t=>t.id===e.frame);if(a.length)return{target:a,frame:e.frame};let o=r[e.frame];return!o&&i?{wait:!0}:o&&o!==t?{switchTo:o}:{drop:!0}}return e.page&&e.page!==t?{switchTo:e.page}:{target:n}}function At(e,t,n={current:F,switchTo:()=>void 0}){let r=(0,P.useMemo)(()=>o(),[]),[i,c]=(0,P.useState)({}),[l,u]=(0,P.useState)(`Agent`),[d,f]=(0,P.useState)(null),[p,m]=(0,P.useState)(!1),h=(0,P.useRef)(null),g=(0,P.useRef)({}),_=(0,P.useRef)(!1),v=(0,P.useRef)(null);(0,P.useEffect)(()=>{let t=!1,n=()=>fetch(N(`/api/artifacts/whiteboard/${e}`),{cache:`no-store`}).then(async e=>e.ok?await e.json():null).catch(()=>null).then(e=>{!t&&e&&(e.backlinks&&c(e.backlinks),typeof e.agent==`string`&&e.agent&&u(e.agent))});n();let r=A(t=>{t.type===`change`&&t.artifact===`whiteboard/${e}`&&n()});return()=>{t=!0,r()}},[e]);let y=()=>{let e=t.current,r=h.current;if(!r||!e)return;let i=e.getSceneElements();if(!i.length&&!r.page&&!r.frame)return;let a=kt(r,n.current,i,g.current,_.current);`wait`in a||(`switchTo`in a?(h.current={frame:r.frame??null},n.switchTo(a.switchTo)):i.length&&(h.current=null,!(`drop`in a||!a.target.length)&&(e.scrollToContent(a.target,{fitToViewport:!0,viewportZoomFactor:Ot,animate:!0}),f(a.frame??null))))},b=(0,P.useRef)(y);return b.current=y,(0,P.useEffect)(()=>{if(!r)return;let t=s(t=>{t.kind===`chrome`&&m(t.hosted),t.kind===`focus`&&(h.current={frame:t.frame??null,page:t.page},t.frame&&!g.current[t.frame]&&(_.current=!0,fetch(N(`/api/whiteboard/${e}/pages`),{cache:`no-store`}).then(e=>e.ok?e.json():null).catch(()=>null).then(e=>{g.current=Object.fromEntries(Object.entries(e?.frames??{}).map(([e,t])=>[e,t.page])),_.current=!1,b.current()})),b.current())});return a({kind:`ready`}),t},[r,e]),{split:r,agent:l,docked:p,focus:d,flush:y,count:d?i[d]?.length??0:0,onSelect:e=>{if(!r)return;let t=e.length===1&&e[0].type===`frame`?e[0].id:null;e.length&&t!==d&&f(null),t!==v.current&&(v.current=t,t&&a({kind:`select`,key:t}))}}}function jt({id:e,active:r,onTool:i,zoom:a,comments:o,agentNotice:s,trailing:c,pageMenu:l,docked:u=!1,readOnly:d=!1}){let f=d?bt.filter(e=>e.group!==`draw`):bt;return(0,V.jsxs)(V.Fragment,{children:[!u&&(0,V.jsxs)(`div`,{"data-chrome":!0,...t(B.bar,B.left),children:[(0,V.jsxs)(`span`,{...t(B.crumb),children:[n(`type.whiteboard`),` / `,(0,V.jsx)(`span`,{...t(B.crumbId),children:e})]}),l,s,f.map((e,a)=>{let o=e.icon,s=n(`whiteboard.tools.${e.key}`),c=a===0||e.group!==f[a-1].group;return(0,V.jsxs)(`span`,{style:{display:`contents`},children:[c&&(0,V.jsx)(`span`,{...t(B.divider)}),(0,V.jsx)(`button`,{"aria-label":s,"aria-pressed":r===e.key,"data-tool":e.key,title:s,type:`button`,onClick:()=>i(e.key),...t(B.tool,r===e.key&&B.toolOn),children:(0,V.jsx)(o,{size:18,strokeWidth:1.75})})]},e.key)})]}),(0,V.jsxs)(`div`,{"data-chrome":!0,...t(B.bar,B.right),children:[u&&s,(0,V.jsxs)(`span`,{...t(B.zoom),children:[Math.round(a*100),`%`]}),(0,V.jsx)(`span`,{...t(B.divider)}),(0,V.jsxs)(`span`,{...t(B.count),children:[(0,V.jsx)(D,{size:15}),o]}),c]})]})}window.EXCALIDRAW_ASSET_PATH=`/`;var Mt={canvasActions:{changeViewBackgroundColor:!1,clearCanvas:!1,export:!1,loadScene:!1,saveAsImage:!1,saveToActiveFile:!1,toggleTheme:!1},tools:{image:!1}},Nt=700,Pt=e=>e.map(e=>`${e.id}:${e.version??0}`).join(`,`);function Ft({id:e}){return i(se(`(max-width: 640px)`))?(0,V.jsx)(ft,{id:e}):(0,V.jsx)(It,{id:e})}function It({id:e}){let r=Dt(),[i,a]=ue(),o=ut(e,r.record,i);ne(o.scene!==null||o.problem!==null);let s=At(e,o.api,{current:o.page,switchTo:e=>a(e===`main`?null:e,!0)}),c=Fe(),[l,u]=(0,P.useState)(`selection`),[d,f]=(0,P.useState)({scrollX:0,scrollY:0,zoom:1}),[p,m]=(0,P.useState)({width:1280,height:800}),[h,g]=(0,P.useState)([]),[_,v]=(0,P.useState)(void 0),[y,b]=(0,P.useState)(!1),x=e=>{let t=o.api.current;if(u(e),t&&e!==`comment`){if(e===`sticky`){let e=t.getAppState(),r=-e.scrollX+e.width/(2*e.zoom.value)-120,i=-e.scrollY+e.height/(2*e.zoom.value)-60,a=M([xt(r,i,n(`whiteboard.sticky`))]);t.updateScene({elements:[...t.getSceneElementsIncludingDeleted(),...a],appState:{selectedElementIds:{[a[0].id]:!0}}}),u(`selection`)}else t.setActiveTool({type:e})}},S=(e,t)=>{o.onChange(e,t),s.flush();let n={scrollX:t.scrollX,scrollY:t.scrollY,zoom:t.zoom.value};(n.scrollX!==d.scrollX||n.scrollY!==d.scrollY||n.zoom!==d.zoom)&&f(n),(t.width!==p.width||t.height!==p.height)&&m({width:t.width,height:t.height});let r=Object.keys(t.selectedElementIds??{}).filter(e=>t.selectedElementIds[e]),i=e.filter(e=>r.includes(e.id));Pt(i)!==Pt(h)&&(g(i),i.length||b(!1),s.onSelect(i))},C=e=>{let t=o.api.current;if(!t)return;let n=new Set(h.map(e=>e.id));t.updateScene({elements:t.getSceneElementsIncludingDeleted().map(t=>{let r=t;if(!(n.has(r.id)||r.containerId&&n.has(r.containerId)))return t;let i=Object.fromEntries(Object.entries(e).filter(([e])=>e===`fontSize`?r.type===`text`:e===`backgroundColor`||e===`fillStyle`?r.type!==`text`:!0));return{...t,...i,version:(r.version??0)+1,versionNonce:Math.floor(Math.random()*2**31),updated:Date.now()}})})},w=xe(h,h.map(e=>e.id)),T=w&&{...z(w,d),w:w.w*d.zoom,h:w.h*d.zoom},E=T&&Ce(T,p,_);return(0,V.jsxs)(`div`,{...t(B.root),children:[o.scene?(0,V.jsx)(`div`,{"data-whiteboard-canvas":!0,"data-hide-native":`true`,...t(B.canvas),children:(0,V.jsx)(j,{UIOptions:Mt,excalidrawAPI:o.setApi,theme:c?`dark`:`light`,initialData:{elements:o.scene.elements,appState:{...o.scene.appState,viewBackgroundColor:`#ffffff`},files:o.scene.files,scrollToContent:!0},onChange:S},o.page)}):(0,V.jsx)(`div`,{...t(B.loading),children:(0,V.jsx)(k,{label:n(`whiteboard.loading`)})}),o.problem&&(0,V.jsx)(`div`,{role:`alert`,...t(B.problem),children:n(`whiteboard.problem`,{problem:o.problem})}),E&&l!==`comment`&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(vt,{compact:p.width<Nt,selected:h,x:E.props.x,y:E.props.y,trailing:(0,V.jsx)(De,{compact:p.width<Nt,onClick:()=>b(!0)}),onApply:C,onWidth:e=>{e&&e!==_&&v(e)}}),y&&(0,V.jsx)(Oe,{composer:E.composer,count:h.length,onClose:()=>b(!1),onSend:async e=>(await o.report(),o.comment(we(h,e,n(`whiteboard.askDefault`),o.page)))})]}),(0,V.jsx)(Ae,{commenting:l===`comment`,comments:o.comments,elements:o.elements,page:o.page,view:d,onDone:()=>u(`selection`),onOp:o.comment}),(0,V.jsx)(Me,{count:s.count,elements:o.api.current?.getSceneElements()??[],frame:s.focus,view:d}),(0,V.jsx)(Ee,{agent:s.agent,cursor:r.visible.cursor,elements:o.api.current?.getSceneElements()??[],glow:r.visible.glow,view:d}),(0,V.jsx)(jt,{active:l,agentNotice:(0,V.jsx)(Te,{count:r.visible.count}),comments:o.comments.file.threads.filter(e=>e.status===`open`).length,docked:s.docked,id:e,zoom:d.zoom,pageMenu:o.pages&&(0,V.jsx)(Ne,{changed:o.changedPages,page:o.page,pages:o.pages,onOp:o.pageOp,onPick:e=>a(e===`main`?null:e,!1)}),onTool:x})]})}export{Ft as WhiteboardLayout};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-COiEfhsA.js";import{t}from"./react-B8SKf8RM.js";import{t as n}from"./jsx-runtime-DePvh3-m.js";import{a as r,i,t as a}from"./agentLook-
|
|
1
|
+
import{i as e}from"./rolldown-runtime-COiEfhsA.js";import{t}from"./react-B8SKf8RM.js";import{t as n}from"./jsx-runtime-DePvh3-m.js";import{a as r,i,t as a}from"./agentLook-nPOaN-2B.js";var o=2e4,s=16,c=24;function l(e,t){return t-e>=o}function u(e,t,n=s){return t?{x:e.x+Math.max(0,e.w-n),y:e.y+e.h+c}:{x:e.x+Math.min(64,e.w*.15),y:e.y+Math.min(80,e.h*.2)}}var d=e(t(),1),f=[`width`,`height`,`position`,`flex-grow`,`display`,`flex-direction`,`align-items`,`gap`,`padding`,`background-color`,`opacity`,`border-radius`,`border-style`,`font-size`,`color`,`box-shadow`],p=`#0D99FF`,m=`M6.2 3.6C5 2.7 3.4 3.6 3.6 5.1L6 22.7C6.2 24.3 8.2 24.8 9.1 23.5L13 18.3C13.4 17.8 14 17.5 14.6 17.5L21.1 17.3C22.7 17.2 23.4 15.2 22.2 14.3Z`,h=`M13 3a9 9 0 0 1 0 18H4.5A1.5 1.5 0 0 1 3 19.5V13A10 10 0 0 1 13 3z`,g=(e,t,n)=>`url("data:image/svg+xml,${encodeURIComponent(e)}") ${t}, ${n}`,_=g(`<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 28 28'><path d='${m}' fill='none' stroke='white' stroke-width='4' stroke-linejoin='round'/><path d='${m}' fill='${p}'/></svg>`,`3 3`,`default`),v=g(`<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'><path d='${h}' fill='none' stroke='white' stroke-width='3' stroke-linejoin='round'/><path d='${h}' fill='${p}'/><path d='M13 8.2v7.6M9.2 12h7.6' stroke='white' stroke-width='2.2' stroke-linecap='round'/></svg>`,`3 21`,`crosshair`);function y(e,t){let n=e;for(;n.length>1;)n=n.slice(0,-1).map((e,r)=>({x:e.x+(n[r+1].x-e.x)*t,y:e.y+(n[r+1].y-e.y)*t}));return n[0]}function b(e,t,n){let r=t.x-e.x,i=t.y-e.y,a=-i,o=r;a<0&&(a=-a,o=-o);let s=(t,n)=>({x:e.x+r*t+a*n,y:e.y+i*t+o*n}),c=[e,s(.2,0),s(.3,-.5),s(1.55,1.25),s(1.35,.1),t];if(n!==void 0){let t=(n-135)*Math.PI/180,a=Math.hypot(r,i)*.2;c[1]={x:e.x+Math.cos(t)*a,y:e.y+Math.sin(t)*a}}let l=c.slice(0,-1).map((e,t)=>({x:5*(c[t+1].x-e.x),y:5*(c[t+1].y-e.y)})),u=[0],d=e;for(let e=1;e<=600;e++){let t=y(c,e/600);u.push(u[e-1]+Math.hypot(t.x-d.x,t.y-d.y)),d=t}let f=u[600];return{length:f,at(e){let t=Math.max(0,Math.min(1,e))*f,n=0,r=600;for(;r-n>1;){let e=n+r>>1;u[e]<t?n=e:r=e}let i=u[r]-u[n],a=(n+(i?(t-u[n])/i:0))/600,o=y(l,a);return{...y(c,a),angle:Math.atan2(o.y,o.x)*180/Math.PI+135}}}}var x=e=>Math.max(0,Math.min(1,e)),S=e=>e*e*(3-2*e);function C(e,t,n,r,i){let a=x(n),o=t.x-e.x,s=t.y-e.y,c=S(a),l=S(x((a-.11)/.89)),u=o*r*(c-l),d=s*r*(c-l),f=Math.min(1,12/(Math.hypot(u,d)||1)),p=1-S(x(a*4)),m=u*f+(i?.pullX??0)*p,h=d*f+(i?.pullY??0)*p,g=Math.min(1,12/(Math.hypot(m,h)||1)),_=a*Math.max(2,Math.ceil(Math.hypot(o,s)*r/36))%1;return{x:e.x+o*c-u*f/r,y:e.y+s*c-d*f/r,angle:0,pullX:m*g,pullY:h*g,lift:a<1?Math.sin(_*Math.PI)*1.8+(i?.lift??0)*p:0,lean:-Math.sign(o)*Math.sin(a*Math.PI)*8+(i?.lean??0)*p,step:_,moving:a>0&&a<1}}var w=n(),T=`M2 0h12v2h-12zM2 2h2v2h-2zM5 2h6v2h-6zM12 2h2v2h-2zM0 4h16v2h-16zM2 6h12v2h-12z`,E=`M4 2h1v2h-1zM11 2h1v2h-1z`,D=`M3 8h1v2h-1zM5 8h1v2h-1zM10 8h1v2h-1zM12 8h1v2h-1z`;function O({fill:e,legs:t}){return(0,w.jsxs)(`svg`,{"aria-hidden":`true`,height:`20`,viewBox:`0 0 16 10`,width:`32`,className:`x1lliihq x1rea2x4 xqlk7fu x1so62im x1gh0xk6 x1pao9z2 x1vtvzbl x4hg4is xa4qsjk x1aquc0h`,children:[(0,w.jsx)(`path`,{d:T,fill:e}),(0,w.jsx)(`path`,{d:D,fill:e,ref:t}),(0,w.jsx)(`path`,{d:E,fill:i.black,className:`x1764fhq x1g0ag68 x7w6qa3 x176w33q xa4qsjk x1aquc0h`})]})}var k=`M2 8h1v2h-1zM5 8h1v1h-1zM10 8h1v2h-1zM13 8h1v1h-1z`,A=`M3 8h1v1h-1zM6 8h1v2h-1zM9 8h1v1h-1zM12 8h1v2h-1z`;function j({fill:e,ref:t}){let n=(0,d.useRef)(null),r=(0,d.useRef)(null),i=(0,d.useRef)(null),a=(0,d.useRef)(null),o=(0,d.useRef)(null);return(0,d.useImperativeHandle)(t,()=>({paint({pullX:e,pullY:t,lift:s,lean:c,step:l,moving:u}){n.current&&(n.current.style.transform=`translate(${e}px, ${t-s}px) skewX(${c}deg)`);let d=31+e,f=8+t-s,p=`M12.5 14.5 Q${d-7} ${f+8} ${d} ${f}`;i.current?.setAttribute(`d`,p),a.current?.setAttribute(`d`,p),r.current?.setAttribute(`d`,u?l<.5?k:A:D),o.current&&(o.current.style.transform=`translate(${e}px, ${t}px)`)}}),[]),(0,w.jsxs)(`div`,{"aria-hidden":`true`,style:{color:e},children:[(0,w.jsxs)(`svg`,{viewBox:`-40 -40 140 120`,className:`x10l6tqk xar8odu x1toy1gi xifkd7f x1wkxgih x1rea2x4`,children:[(0,w.jsx)(`path`,{d:`M12.5 14.5 Q24 16 31 8`,ref:a,className:`xbh8q5q x1nvyj2c x1q82h7f x1owpc8m x1f6yumg`}),(0,w.jsx)(`path`,{d:`M12.5 14.5 Q24 16 31 8`,ref:i,className:`xbh8q5q x73je2i x1ebhgje x1owpc8m x1f6yumg`}),(0,w.jsx)(`rect`,{height:`4`,rx:`.6`,width:`4`,x:`10.5`,y:`12.5`,className:`x117rol3 x1nvyj2c x17z8gs`})]}),(0,w.jsx)(`div`,{ref:o,className:`x10l6tqk x1l0fap9 xmhk92p xvy4d1p xuoj239 x16rqkct xf6rkd6`}),(0,w.jsx)(`div`,{"data-mascot":`clawd`,ref:n,className:`x10l6tqk xbnrxzc x1pdr0v7 xqlk7fu x1so62im`,children:(0,w.jsx)(O,{fill:e,legs:r})})]})}function M({x:e,y:t,zoom:n,agent:o,title:s}){let c=a(o),l=c.mascot===`clawd`,u=c.icon?r[c.icon]:null,f=(0,d.useRef)(null),p=(0,d.useRef)(null),h=(0,d.useRef)(null),g=(0,d.useRef)(null),_=(0,d.useRef)(null),v=(0,d.useRef)(!1),y=(0,d.useRef)(n),x=e=>`translate(${e.x}px, ${e.y}px) scale(${1/y.current})`,S=e=>`translate(-3.43px, -3.43px) rotate(${e}deg)`,T=e=>{_.current=e,f.current&&(f.current.style.transform=x(e)),p.current&&(p.current.style.transform=S(e.angle))},E=e=>{g.current=e,h.current?.paint(e)};return(0,d.useLayoutEffect)(()=>{y.current=n,_.current&&T(_.current)}),(0,d.useLayoutEffect)(()=>{let n=matchMedia(`(prefers-reduced-motion: reduce)`),r=_.current,i=0,a=()=>{cancelAnimationFrame(i),i=0,v.current=!1,T({x:e,y:t,angle:l?0:_.current?.angle??0}),E({pullX:0,pullY:0,lift:0,lean:0,step:0,moving:!1})};!r||n.matches||Math.hypot(e-r.x,t-r.y)*y.current<2?a():(v.current=!0,i=requestAnimationFrame(l?(n=>{let r=Math.hypot(e-n.x,t-n.y)*y.current,a=Math.max(500,Math.min(1200,r*3.3)),o=g.current??void 0,s=performance.now(),c=r=>{let l=Math.min(1,Math.max(0,(r-s)/a)),u=C(n,{x:e,y:t},l,y.current,o);v.current=l<1,T({x:u.x,y:u.y,angle:0}),E(u),i=l<1?requestAnimationFrame(c):0};return c})(r):(n=>{let r=b(n,{x:e,y:t},v.current?n.angle:void 0),a=Math.min(1800,900+r.length*y.current*1.2),o=performance.now(),s=o,c=e=>{let t=Math.min(1,Math.max(0,(e-o)/a)),n=r.at(t**3*(t*(t*6-15)+10)),l=_.current.angle;n.angle=l+(((n.angle-l)%360+540)%360-180)*(1-Math.exp(-(e-s)/80)),s=e,v.current=t<1,T(n),i=t<1?requestAnimationFrame(c):0};return c})(r)));let o=()=>{n.matches&&a()};return n.addEventListener(`change`,o),()=>{cancelAnimationFrame(i),n.removeEventListener(`change`,o)}},[e,t,l]),(0,w.jsxs)(`div`,{"aria-label":`${o} last worked on ${s}`,ref:f,role:`status`,className:`x10l6tqk xu96u03 x13vifvy x1u8a7rm x47corl x1hj3fc7`,style:{transform:`translate(${e}px, ${t}px) scale(${1/n})`},children:[(0,w.jsxs)(`svg`,{"aria-hidden":`true`,"data-agent-arrow":``,height:`24`,ref:p,viewBox:`0 0 28 28`,width:`24`,className:`x1lliihq xqqlr9g x1gtfylx`,style:{transform:S(0)},children:[(0,w.jsx)(`path`,{d:m,fill:`none`,stroke:c.pale?i.ink:i.white,strokeLinejoin:`round`,strokeWidth:`4`}),(0,w.jsx)(`path`,{d:m,fill:c.color})]}),l&&(0,w.jsx)(j,{fill:c.color,ref:h}),!l&&(0,w.jsxs)(`div`,{...{0:{className:`x10l6tqk x1trqr8e xv4lvxq x78zum5 x6s0dn4 x1jnr06f x1w2h69v xaso8d8 x1bjonze xdocmp1 xgs1500 x828b17 x1bqy6mi x1j6dyjg x1s688f x152skdk xuxw1ft xmj57et`},1:{className:`x10l6tqk x1trqr8e xv4lvxq x78zum5 x6s0dn4 x1jnr06f x1w2h69v xaso8d8 x1bjonze xdocmp1 xgs1500 x828b17 x1bqy6mi x1j6dyjg x1s688f x152skdk xuxw1ft xpm4iv0`}}[!!c.pale|0],style:{backgroundColor:c.color,color:c.darkInk?i.ink:i.white},children:[u&&(0,w.jsx)(u,{"aria-hidden":`true`,size:12}),(0,w.jsx)(`span`,{children:o})]})]})}export{o as a,_ as i,v as n,l as o,f as r,u as s,M as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./src-KUZZYZBk.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import"./chunk-DU6HZSFF-
|
|
1
|
+
import{n as e}from"./src-KUZZYZBk.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import"./chunk-DU6HZSFF-CO07tHJW.js";import"./dist-ujkFdcwL.js";import{m as n,t as r}from"./mermaid-parser.core-DIrH0vIS.js";import{n as i,r as a,t as o}from"./chunk-SVP7TREG-dMNx_CcY.js";import{t as s}from"./chunk-JWPE2WC7-DVXcaiue.js";var c=n().RailroadAbnf.parser.LangiumParser,l=t(e=>{let t=e.alternatives.map(u);return t.length===1?t[0]:{type:`choice`,alternatives:t}},`transformAlternation`),u=t(e=>{let t=e.elements.map(f);return t.length===1?t[0]:{type:`sequence`,elements:t}},`transformConcatenation`),d=t(e=>{if(e.includes(`*`)){let[t,n]=e.split(`*`);return{min:t?parseInt(t,10):0,max:n?parseInt(n,10):1/0}}let t=parseInt(e,10);return{min:t,max:t}},`parseRepeat`),f=t(e=>{let t=p(e.primary);if(!e.repeat)return t;let{min:n,max:r}=d(e.repeat);return n===0&&r===1?{type:`optional`,element:t}:{type:`repetition`,element:t,min:n,max:r}},`transformElement`),p=t(e=>{switch(e.$type){case`AbnfStringLiteral`:return{type:`terminal`,value:e.value};case`AbnfNumVal`:return{type:`terminal`,value:e.value};case`AbnfRuleName`:return{type:`nonterminal`,name:e.name};case`AbnfGroup`:return l(e.element);case`AbnfOptionalGroup`:return{type:`optional`,element:l(e.element)};default:throw Error(`Unsupported ABNF primary node: ${e.$type}`)}},`transformPrimary`),m=t(e=>({name:e.name,definition:l(e.definition)}),`transformRule`),h=t(e=>{s(e,o),e.title&&o.setTitle(e.title),e.rules.map(e=>o.addRule(m(e)))},`populateDb`),g={parser:{parse:t(t=>{o.clear(),e.debug(`[ABNF Parser] Starting Langium parse`);let n=c.parse(t);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new r(n);let i=n.value;e.debug(`[ABNF Parser] Parsed rules:`,i.rules.length),h(i),e.debug(`[ABNF Parser] Parse complete`)},`parse`),parser:{yy:o}},db:o,renderer:a,styles:i};export{g as diagram};
|