ryugi-artifacts 1.68.1 → 1.68.2
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 +3 -3
- package/dist/server.cjs +18 -4
- package/dist/viewer/{AgentStatusPill-BnKps9Zr.js → AgentStatusPill-CxFpJS9T.js} +1 -1
- package/dist/viewer/ArtboardLayout-9iOfvOR4.js +12 -0
- package/dist/viewer/{ArtifactList-CCxCNWid.js → ArtifactList-Binw79VZ.js} +1 -1
- package/dist/viewer/{AutoPublishPrompt-BrUfQWmW.js → AutoPublishPrompt-DkGEIW9t.js} +1 -1
- package/dist/viewer/{Avatar-ChKkUO4F.js → Avatar-BhOg2BXZ.js} +1 -1
- package/dist/viewer/{Avatar-CBcHKq6_.js → Avatar-VUQPY4DD.js} +1 -1
- package/dist/viewer/{BottomSheet-ZdnjIGxe.js → BottomSheet-AqG81d_M.js} +1 -1
- package/dist/viewer/{Canvas-CqxEk0B7.js → Canvas-4Utk2C18.js} +1 -1
- package/dist/viewer/{CompositeItem-Dc1pE-Dd.js → CompositeItem-ClMglprA.js} +1 -1
- package/dist/viewer/DocumentLayout-lys_dMmo.js +2 -0
- package/dist/viewer/{DocumentPage-DFTrEydU.js → DocumentPage-mDIgKhlQ.js} +2 -2
- package/dist/viewer/{DropdownMenu-MN8aSs-T.js → DropdownMenu-CZUIT5ss.js} +1 -1
- package/dist/viewer/{HtmlLayout-DhjuMVfU.js → HtmlLayout-89ZuJNxJ.js} +1 -1
- package/dist/viewer/{MenuSubmenuTrigger-6b5C_OEY.js → MenuSubmenuTrigger-B9c8QfBG.js} +1 -1
- package/dist/viewer/{MenuTrigger-C80SSxV1.js → MenuTrigger-yVEYn1Ao.js} +1 -1
- package/dist/viewer/{PhoneArtboardBar-Bzeyu7RL.js → PhoneArtboardBar-Bzffd2nB.js} +1 -1
- package/dist/viewer/{PhoneSheet-BqNn1A8k.js → PhoneSheet-CN4Ewszx.js} +1 -1
- package/dist/viewer/{Popover-Mq50eaGz.js → Popover-J_7ZaGFR.js} +1 -1
- package/dist/viewer/{PreviewLayout-CBXgXFHd.js → PreviewLayout-CA1vbD89.js} +2 -2
- package/dist/viewer/{Segmented-Dn3tMkJ1.js → Segmented-DhJdw1_a.js} +1 -1
- package/dist/viewer/{Select-B3iVUwhL.js → Select-Cqb37-IZ.js} +1 -1
- package/dist/viewer/{SelectScrollUpArrow-PZIGiE5i.js → SelectScrollUpArrow-DYO27Q2D.js} +1 -1
- package/dist/viewer/{SettingsDialog-Di1DIjuU.js → SettingsDialog-BpwMMImH.js} +1 -1
- package/dist/viewer/{SnapshotDocument-CZ9_zlbN.js → SnapshotDocument-DLK882r5.js} +1 -1
- package/dist/viewer/{SplitShell-CEVwAH6T.js → SplitShell-lfa8K-76.js} +1 -1
- package/dist/viewer/{ThreadView-DhKDuMXE.js → ThreadView-CNiDFkdG.js} +1 -1
- package/dist/viewer/{TooltipPopup-DIfQd51a.js → TooltipPopup-DsKnBNAK.js} +1 -1
- package/dist/viewer/{VirtualizedEditor-D9Ivycdp-BS6qVQKi.js → VirtualizedEditor-D9Ivycdp-D8XCyuui.js} +1 -1
- package/dist/viewer/{VirtualizedRenderer-C_d95FXi-Cgx30lJW.js → VirtualizedRenderer-C_d95FXi-hark7DZu.js} +1 -1
- package/dist/viewer/{WarningsBadge-BhvEtIPf.js → WarningsBadge-DT8IiYtX.js} +1 -1
- package/dist/viewer/{WhiteboardLayout-BLUnPC_j.js → WhiteboardLayout-fX2Dx4Ro.js} +1 -1
- package/dist/viewer/{WritingCursor-D8-ImQmN.js → WritingCursor-DQcBMO0U.js} +1 -1
- package/dist/viewer/{abnfDiagram-VCTEODGH-CAaQSsKr.js → abnfDiagram-VCTEODGH-CTyAnl0Z.js} +1 -1
- package/dist/viewer/{agentLook-GSv6M_4b.js → agentLook-C2_12glW.js} +1 -1
- package/dist/viewer/{anchor-cpflnjH6.js → anchor-B2Eea6vf.js} +1 -1
- package/dist/viewer/{ar-SA-G6X2FPQ2-CRJustU_.js → ar-SA-G6X2FPQ2-Co8NUjyx.js} +1 -1
- package/dist/viewer/{architecture-7GRP2DOG-Df-BWMMn.js → architecture-7GRP2DOG-B0zVjmxn.js} +1 -1
- package/dist/viewer/{architectureDiagram-5GKGNRK7-slFJ5pNz.js → architectureDiagram-5GKGNRK7-CGcFQF9y.js} +1 -1
- package/dist/viewer/{az-AZ-76LH7QW2-BZXNMAjr.js → az-AZ-76LH7QW2-De3Qkr8D.js} +1 -1
- package/dist/viewer/{bg-BG-XCXSNQG7-D942OHJ1.js → bg-BG-XCXSNQG7-BzK_v3Xv.js} +1 -1
- package/dist/viewer/{blockDiagram-I7D4REHJ-D7tnOUmG.js → blockDiagram-I7D4REHJ-mTBluH4Q.js} +1 -1
- package/dist/viewer/{bn-BD-2XOGV67Q-CnUziB-N.js → bn-BD-2XOGV67Q-BDqCkFBJ.js} +1 -1
- package/dist/viewer/{c4Diagram-7LVT6UL2-A90PS1Zn.js → c4Diagram-7LVT6UL2-D-nVvYcu.js} +1 -1
- package/dist/viewer/{ca-ES-6MX7JW3Y-fV3kI3by.js → ca-ES-6MX7JW3Y-Di897XK8.js} +1 -1
- package/dist/viewer/{channel-Y8cPWVH2.js → channel-BnquVtpP.js} +5 -5
- package/dist/viewer/channel-OqtHMQX0.js +1 -0
- package/dist/viewer/{chunk-4HAMMTFA-Dtev5uNX.js → chunk-4HAMMTFA-QTbQqNtn.js} +1 -1
- package/dist/viewer/{chunk-75Z2AOVW-Br59Z0N6.js → chunk-75Z2AOVW-BbYnGlO9.js} +1 -1
- package/dist/viewer/{chunk-DU6HZSFF-DTVWCdhx.js → chunk-DU6HZSFF-D25kbUvc.js} +1 -1
- package/dist/viewer/{chunk-EIO257PC-BJo1mhGf.js → chunk-EIO257PC-BqMFp5wN.js} +1 -1
- package/dist/viewer/{chunk-F27PBJKO-CqXtkDh_.js → chunk-F27PBJKO-C7JmXEA_.js} +1 -1
- package/dist/viewer/{chunk-GMAD6QVW-C_mtYAsp.js → chunk-GMAD6QVW-C27INOB_.js} +1 -1
- package/dist/viewer/{chunk-GVQU2GXP-Dnn5H2Ee.js → chunk-GVQU2GXP-CEY5vytX.js} +1 -1
- package/dist/viewer/{chunk-IMKFNOWR-CBTdwY_-.js → chunk-IMKFNOWR-BQSAfnnl.js} +1 -1
- package/dist/viewer/{chunk-L3NEJ4N5-RIzLHntK.js → chunk-L3NEJ4N5-DlFoBxMY.js} +1 -1
- package/dist/viewer/{chunk-OSK3NFVY-CK41dOkH.js → chunk-OSK3NFVY-F3_Phybw.js} +1 -1
- package/dist/viewer/{chunk-P2QGCYS3-BL4CYLWw.js → chunk-P2QGCYS3-09egvNok.js} +1 -1
- package/dist/viewer/{chunk-POPQ4Y6H-CJsQjBoH.js → chunk-POPQ4Y6H-CV8YIoqC.js} +1 -1
- package/dist/viewer/{chunk-PWAF6VOD-DeuKxCvN.js → chunk-PWAF6VOD-Bz8UB2mc.js} +1 -1
- package/dist/viewer/{chunk-SHT3W25Y-1ctnl-w3.js → chunk-SHT3W25Y-DDp6zMvV.js} +1 -1
- package/dist/viewer/{chunk-SVP7TREG-0tebC1pj.js → chunk-SVP7TREG-C8P_HXcE.js} +1 -1
- package/dist/viewer/{chunk-TICWLB2K-BxhvtMAu.js → chunk-TICWLB2K-CqNIbLdD.js} +1 -1
- package/dist/viewer/classDiagram-ZZMXUADV-CVstJoyx.js +1 -0
- package/dist/viewer/classDiagram-v2-VYDZK3BY-CVstJoyx.js +1 -0
- package/dist/viewer/{cs-CZ-2BRQDIVT-DKXyGqNH.js → cs-CZ-2BRQDIVT-BqCK2YiO.js} +1 -1
- package/dist/viewer/{cynefin-OW5HDTMX-BUe484ye.js → cynefin-OW5HDTMX-Cj8F5cxd.js} +1 -1
- package/dist/viewer/{cynefinDiagram-5FMLGOSQ-CWdVGsBk.js → cynefinDiagram-5FMLGOSQ-ao8tcFtS.js} +1 -1
- package/dist/viewer/{da-DK-5WZEPLOC-b4IEozFV.js → da-DK-5WZEPLOC-D8GWiO3u.js} +1 -1
- package/dist/viewer/{dagre-GXQ25YYZ-DCuEklTp.js → dagre-GXQ25YYZ-DsGmxha_.js} +1 -1
- package/dist/viewer/{de-DE-XR44H4JA-C7sc34_X.js → de-DE-XR44H4JA-OJKx5xur.js} +1 -1
- package/dist/viewer/{diagram-S7CK7UJ4-CsxaHH4I.js → diagram-S7CK7UJ4-BPqNSGqm.js} +1 -1
- package/dist/viewer/{diagram-UQ7AKVKN-Ct8242ZE.js → diagram-UQ7AKVKN-Hyylpo16.js} +1 -1
- package/dist/viewer/{diagram-VSXAHHWV-C1nroriz.js → diagram-VSXAHHWV-CqqVLGLK.js} +1 -1
- package/dist/viewer/{diagram-VX7I27RA-DEWRSmDx.js → diagram-VX7I27RA-QDUSbpnl.js} +1 -1
- package/dist/viewer/{diagram-Z3DM3KII-B1SxmMm9.js → diagram-Z3DM3KII-BlSnfIUw.js} +1 -1
- package/dist/viewer/{dist-xKtvXW_M.js → dist-B0RTNhv0.js} +1 -1
- package/dist/viewer/{dist-Cse2aOfa.js → dist-B1Av84X-.js} +1 -1
- package/dist/viewer/{dist-CUWoav31.js → dist-B87a_nX-.js} +1 -1
- package/dist/viewer/{dist-kyCI0GjD.js → dist-BJa8XtNT.js} +1 -1
- package/dist/viewer/{dist-CXasQug3.js → dist-BX48icz_.js} +1 -1
- package/dist/viewer/{dist-lH8EGddX.js → dist-BbWMGndq.js} +1 -1
- package/dist/viewer/{dist-B6-aAGQA.js → dist-C6N0HZZ_.js} +1 -1
- package/dist/viewer/{dist-1xzhgjrK.js → dist-C81cCD06.js} +1 -1
- package/dist/viewer/{dist-DKkW9dU5.js → dist-C9d9kCQe.js} +1 -1
- package/dist/viewer/{dist-D2yfyCbT.js → dist-CFCYK1GH.js} +1 -1
- package/dist/viewer/{dist-fyPnRLSz.js → dist-CIMZ7MXi.js} +1 -1
- package/dist/viewer/{dist-VAycv_3i.js → dist-CIwFN_9o.js} +1 -1
- package/dist/viewer/{dist-CA2_d8WP.js → dist-CUOaFOZB.js} +1 -1
- package/dist/viewer/{dist-rHgXqZ3U.js → dist-CZqMgpXJ.js} +1 -1
- package/dist/viewer/{dist-C4zEBXjK.js → dist-CuFXRlWd.js} +1 -1
- package/dist/viewer/{dist-C8JtF2VW.js → dist-D-AftFRp.js} +1 -1
- package/dist/viewer/{dist-B4M9sgR9.js → dist-DHCEOOdB.js} +1 -1
- package/dist/viewer/{dist-DKLouXV5.js → dist-DNRvf1kb.js} +1 -1
- package/dist/viewer/{dist-B0ahrRmN.js → dist-F9yavwpT.js} +1 -1
- package/dist/viewer/{dist-B3kJb0_U.js → dist-RJrXrBtP.js} +1 -1
- package/dist/viewer/{dist-Cy8NldSx.js → dist-XKj_gvVl.js} +4 -4
- package/dist/viewer/{dist-B9Rn0Zrs.js → dist-e4BQGX6z.js} +1 -1
- package/dist/viewer/{dist-Ds6VFWTz.js → dist-hmTi_WJo.js} +1 -1
- package/dist/viewer/{dist-CBB6_G5_.js → dist-w5u3PgvM.js} +1 -1
- package/dist/viewer/{ebnfDiagram-PWID7BFC-BwAXcSMu.js → ebnfDiagram-PWID7BFC-Cv8jFIx3.js} +1 -1
- package/dist/viewer/{el-GR-BZB4AONW-DO8FKq0o.js → el-GR-BZB4AONW-Bgcc_mhT.js} +1 -1
- package/dist/viewer/{en-B4ZKOASM-BGb9Jd7F.js → en-B4ZKOASM-xfJgNr4J.js} +1 -1
- package/dist/viewer/{erDiagram-RLTQ6QDP-BU0oilOu.js → erDiagram-RLTQ6QDP-DlKwxifM.js} +1 -1
- package/dist/viewer/{es-ES-U4NZUMDT-C8my4jC1.js → es-ES-U4NZUMDT-DjVCDf-d.js} +1 -1
- package/dist/viewer/{eu-ES-A7QVB2H4-7y6iA3PQ.js → eu-ES-A7QVB2H4-B9DLpn4i.js} +1 -1
- package/dist/viewer/{eventmodeling-NTZA5JFV-soHgkZ82.js → eventmodeling-NTZA5JFV-DBsen_iq.js} +1 -1
- package/dist/viewer/{fa-IR-HGAKTJCU-oCdmxr1e.js → fa-IR-HGAKTJCU-mcJehgzb.js} +1 -1
- package/dist/viewer/{fi-FI-Z5N7JZ37-X3VK0x3c.js → fi-FI-Z5N7JZ37-DNSkiCdk.js} +1 -1
- package/dist/viewer/flowDiagram-HODETNUW-CzgiVLhq.js +1 -0
- package/dist/viewer/{fr-FR-RHASNOE6-zrXrM79-.js → fr-FR-RHASNOE6-Bpxco8-f.js} +1 -1
- package/dist/viewer/{ganttDiagram-EL5Y4UJY-bHjB1qlT.js → ganttDiagram-EL5Y4UJY-B9_jTP-f.js} +1 -1
- package/dist/viewer/{gitGraph-4MIJSDKK-CjGC-mW6.js → gitGraph-4MIJSDKK-DQ5l_Czp.js} +1 -1
- package/dist/viewer/{gitGraphDiagram-WWUBYQGX-DUqXPpCq.js → gitGraphDiagram-WWUBYQGX-CNheUmFp.js} +1 -1
- package/dist/viewer/{gl-ES-HMX3MZ6V-BUnj3HlN.js → gl-ES-HMX3MZ6V-BDlXQ8Mo.js} +1 -1
- package/dist/viewer/{he-IL-6SHJWFNN-281kRBUf.js → he-IL-6SHJWFNN-D_oWBOT_.js} +1 -1
- package/dist/viewer/{hi-IN-IWLTKZ5I-DIuMdRpK.js → hi-IN-IWLTKZ5I-B00j5Akq.js} +1 -1
- package/dist/viewer/{hu-HU-A5ZG7DT2-nmQyfjlR.js → hu-HU-A5ZG7DT2-Dir0Uxpm.js} +1 -1
- package/dist/viewer/{id-ID-SAP4L64H-BiViI6m_.js → id-ID-SAP4L64H-CIWlaa2K.js} +1 -1
- package/dist/viewer/{image-GAAHSSAO-yI0Lg6gi.js → image-GAAHSSAO-eNNIIQuo.js} +1 -1
- package/dist/viewer/index.html +5 -5
- package/dist/viewer/index.js +2 -2
- package/dist/viewer/{info-A6RAGUB7-B0l9mAY4.js → info-A6RAGUB7-Cg2ZMBgH.js} +1 -1
- package/dist/viewer/{infoDiagram-27XIBGKW-BTxMqmhS.js → infoDiagram-27XIBGKW-D4PQhgAE.js} +1 -1
- package/dist/viewer/{ishikawaDiagram-5VMMS53U-BunWcUgG.js → ishikawaDiagram-5VMMS53U-ST2q8zVR.js} +1 -1
- package/dist/viewer/{it-IT-JPQ66NNP-DpwQuK5q.js → it-IT-JPQ66NNP-pmEG31XC.js} +1 -1
- package/dist/viewer/{ja-JP-DBVTYXUO-Dg0jZ4Fr.js → ja-JP-DBVTYXUO-B4zqTUsM.js} +1 -1
- package/dist/viewer/{journeyDiagram-3NMN7TZE-CH0mNNME.js → journeyDiagram-3NMN7TZE-jw9cozQW.js} +1 -1
- package/dist/viewer/{kaa-6HZHGXH3-Byd9GDLK.js → kaa-6HZHGXH3-BbZXuqjx.js} +1 -1
- package/dist/viewer/{kab-KAB-ZGHBKWFO-a6r59Esz.js → kab-KAB-ZGHBKWFO-B6Dpy25G.js} +1 -1
- package/dist/viewer/{kanban-definition-UXKFOSKX-Dlxx1p8m.js → kanban-definition-UXKFOSKX-kKtBGERG.js} +1 -1
- package/dist/viewer/{kk-KZ-P5N5QNE5-zq8glNLW.js → kk-KZ-P5N5QNE5-BlT2i9fi.js} +1 -1
- package/dist/viewer/{km-KH-HSX4SM5Z-BTq35Fiu.js → km-KH-HSX4SM5Z-It93cDWb.js} +1 -1
- package/dist/viewer/{ko-KR-MTYHY66A-DlgDzRH_.js → ko-KR-MTYHY66A-BE5d6K1R.js} +1 -1
- package/dist/viewer/{ku-TR-6OUDTVRD-BVLk13SV.js → ku-TR-6OUDTVRD-CyJeB7Dj.js} +1 -1
- package/dist/viewer/{local-split-host-xSgjCeui.js → local-split-host-DwGe1ki5.js} +1 -1
- package/dist/viewer/{lt-LT-XHIRWOB4-6q0TFRDx.js → lt-LT-XHIRWOB4-B90xeOxU.js} +1 -1
- package/dist/viewer/{lv-LV-5QDEKY6T-DxyqknhI.js → lv-LV-5QDEKY6T-CItjDmqr.js} +1 -1
- package/dist/viewer/{mermaid-parser.core-Gvb8dIz1.js → mermaid-parser.core-0b8QyWBB.js} +3 -3
- package/dist/viewer/{mindmap-definition-YA3MSWOX-DCPYU-48.js → mindmap-definition-YA3MSWOX-aI29Qvpk.js} +1 -1
- package/dist/viewer/{mr-IN-CRQNXWMA-D2tHgrn-.js → mr-IN-CRQNXWMA-Tce1KbsQ.js} +1 -1
- package/dist/viewer/{my-MM-5M5IBNSE-BYWw8v9n.js → my-MM-5M5IBNSE-CpUB2CXI.js} +1 -1
- package/dist/viewer/{nb-NO-T6EIAALU-K3IdDtSM.js → nb-NO-T6EIAALU-DsRuGO1k.js} +1 -1
- package/dist/viewer/{nl-NL-IS3SIHDZ-O5S6GhQJ.js → nl-NL-IS3SIHDZ-BjF2156S.js} +1 -1
- package/dist/viewer/{nn-NO-6E72VCQL-CG7rDNE2.js → nn-NO-6E72VCQL-CGeF_3vr.js} +1 -1
- package/dist/viewer/{oc-FR-POXYY2M6-DVAwA1YG.js → oc-FR-POXYY2M6-DLnQnEGu.js} +1 -1
- package/dist/viewer/{pa-IN-N4M65BXN-BfskjU3c.js → pa-IN-N4M65BXN-BAx2ywdg.js} +1 -1
- package/dist/viewer/{packet-AYTQ26CC-V9JOIpxu.js → packet-AYTQ26CC-DK170Gd5.js} +1 -1
- package/dist/viewer/{parseTrigger-Bl4n5XXS.js → parseTrigger-YW1R9ofU.js} +1 -1
- package/dist/viewer/{pegDiagram-XKGWAZYB-CRwdoRdU.js → pegDiagram-XKGWAZYB-DHp6Wg_9.js} +1 -1
- package/dist/viewer/percentages-BXMCSKIN-DvCjqEYt.js +1 -0
- package/dist/viewer/{pie-WAS4IAKB-DD4VdSya.js → pie-WAS4IAKB-BSUWPbAv.js} +1 -1
- package/dist/viewer/{pieDiagram-E7YTZNPT-DtxXj_uG.js → pieDiagram-E7YTZNPT-wfRRTiyk.js} +1 -1
- package/dist/viewer/{pl-PL-T2D74RX3-aSM3OymY.js → pl-PL-T2D74RX3-BiWBdXLi.js} +1 -1
- package/dist/viewer/preview.html +4 -4
- package/dist/viewer/preview.js +1 -1
- package/dist/viewer/{prod-DT6gDrhK.js → prod-CLoF9GCs.js} +8 -8
- package/dist/viewer/{pt-BR-5N22H2LF-CoE1Brmo.js → pt-BR-5N22H2LF-CQSzKbCy.js} +1 -1
- package/dist/viewer/{pt-PT-UZXXM6DQ-N4cE4HWd.js → pt-PT-UZXXM6DQ-CIlCAlTv.js} +1 -1
- package/dist/viewer/{quadrantDiagram-AXDQQJYC-Bp9CaPDI.js → quadrantDiagram-AXDQQJYC-BtPMYaDQ.js} +1 -1
- package/dist/viewer/{radar-RG4KPBEZ-DjIgW5TK.js → radar-RG4KPBEZ-BcVxV4zy.js} +1 -1
- package/dist/viewer/{railroad-74A4TZTK-DJXF4Ntz.js → railroad-74A4TZTK-CTa8S3gO.js} +1 -1
- package/dist/viewer/{railroad-abnf-HS5TGJTU-D2uor4gn.js → railroad-abnf-HS5TGJTU-OAwQkYAd.js} +1 -1
- package/dist/viewer/{railroad-ebnf-LZEXJU2U-d-1EQm0I.js → railroad-ebnf-LZEXJU2U-C5cc5X65.js} +1 -1
- package/dist/viewer/{railroad-peg-WCYAUIDC-VVFlD8Wt.js → railroad-peg-WCYAUIDC-BDnKRxE1.js} +1 -1
- package/dist/viewer/{railroadDiagram-O6MQD6OU-DIYzZs3X.js → railroadDiagram-O6MQD6OU-jnRSJdUv.js} +1 -1
- package/dist/viewer/{ref-DeJSmII1.js → ref-cwone_vf.js} +1 -1
- package/dist/viewer/{requirementDiagram-BXWQKSXE-BFAS1s1U.js → requirementDiagram-BXWQKSXE-BNTKDL1i.js} +1 -1
- package/dist/viewer/{ro-RO-JPDTUUEW-CXL_OLY6.js → ro-RO-JPDTUUEW-QX3jx-nb.js} +1 -1
- package/dist/viewer/{route-B-3a8kXR.js → route-BWL5AGYx.js} +2 -2
- package/dist/viewer/{route-messages-D6nsn-yO.js → route-messages-DNqJY8RF.js} +1 -1
- package/dist/viewer/{ru-RU-B4JR7IUQ-DK0raNaa.js → ru-RU-B4JR7IUQ-C9FGD7Cs.js} +1 -1
- package/dist/viewer/{sankeyDiagram-P5KCCOFB-XkkNzFLA.js → sankeyDiagram-P5KCCOFB-Sqlj0O4h.js} +1 -1
- package/dist/viewer/{selection-A2L_U7cp.js → selection--wknfKoX.js} +1 -1
- package/dist/viewer/{sequenceDiagram-WJ2MYXX4-u1vCwsJu.js → sequenceDiagram-WJ2MYXX4-CPdR8yLJ.js} +1 -1
- package/dist/viewer/{si-LK-N5RQ5JYF-C2C_capt.js → si-LK-N5RQ5JYF-f_2YLEad.js} +1 -1
- package/dist/viewer/{sk-SK-C5VTKIMK-CAZ_jqda.js → sk-SK-C5VTKIMK-DkKosukU.js} +1 -1
- package/dist/viewer/{sl-SI-NN7IZMDC-w4mPw9Qr.js → sl-SI-NN7IZMDC-DMIQDLDl.js} +1 -1
- package/dist/viewer/{split-url-Ds_SbiRI.js → split-url-EQlIwqCq.js} +1 -1
- package/dist/viewer/{stateDiagram-D77RDMKH-CNdAB9GQ.js → stateDiagram-D77RDMKH-Dk8vgDDZ.js} +1 -1
- package/dist/viewer/stateDiagram-v2-MP3YSRHH-Ds741M59.js +1 -0
- package/dist/viewer/subset-shared.chunk-BwlAfs_X.js +1 -0
- package/dist/viewer/{subset-worker.chunk-DWr778aR.js → subset-worker.chunk-B_8bLook.js} +1 -1
- package/dist/viewer/{sv-SE-XGPEYMSR-Cvj4W126.js → sv-SE-XGPEYMSR-B7-5iBmq.js} +1 -1
- package/dist/viewer/{swimlanes-42K2YHIH-CRWoFAkx.js → swimlanes-42K2YHIH-C8ikgnYd.js} +1 -1
- package/dist/viewer/swimlanesDiagram-VR7AAH4N-CIbxLGch.js +8 -0
- package/dist/viewer/{ta-IN-2NMHFXQM-pCSxo0O4.js → ta-IN-2NMHFXQM-CCuxmYHa.js} +1 -1
- package/dist/viewer/{th-TH-HPSO5L25-DA2yXkLO.js → th-TH-HPSO5L25-555yyoqZ.js} +1 -1
- package/dist/viewer/{timeline-definition-24CTP7MA-C7cLrh2M.js → timeline-definition-24CTP7MA-C2dpylBO.js} +1 -1
- package/dist/viewer/{tr-TR-DEFEU3FU-DSUJUHLi.js → tr-TR-DEFEU3FU-BzupxUte.js} +1 -1
- package/dist/viewer/{treeView-Q6P3EWNA-CYMsee9z.js → treeView-Q6P3EWNA-Bo2ovp6d.js} +1 -1
- package/dist/viewer/{treemap-WGGIJYW6-BeYAJy3I.js → treemap-WGGIJYW6-B_JgUt2a.js} +1 -1
- package/dist/viewer/{uk-UA-QMV73CPH-CpavbdpO.js → uk-UA-QMV73CPH-DRep9RrQ.js} +1 -1
- package/dist/viewer/{useAriaLabelledBy-Ai3baFaJ.js → useAriaLabelledBy-qrGtdh85.js} +1 -1
- package/dist/viewer/{useOpenInteractionType-CFrlkl-M.js → useOpenInteractionType-B0XlD3Xc.js} +1 -1
- package/dist/viewer/{useTranslation-BCUMbI5g.js → useTranslation-D3df1rHG.js} +1 -1
- package/dist/viewer/{useTypeFavicon-B4j5zCC6.js → useTypeFavicon-COeOH_8h.js} +1 -1
- package/dist/viewer/{vennDiagram-4TSXK5OY-D-TvgzEs.js → vennDiagram-4TSXK5OY-BmwVNbSU.js} +1 -1
- package/dist/viewer/{vi-VN-M7AON7JQ-149ovaXw.js → vi-VN-M7AON7JQ-HxuRLuM7.js} +1 -1
- package/dist/viewer/{view-tN_gu_ot.js → view-Q3sf2djn.js} +1 -1
- package/dist/viewer/{viewport-CFJHn_Y6-gOi1FTqq.js → viewport-CFJHn_Y6-CbqGY5Lo.js} +1 -1
- package/dist/viewer/{wardley-WFR3VGLG-Bxei-rkR.js → wardley-WFR3VGLG-D6GPmsYf.js} +1 -1
- package/dist/viewer/{wardleyDiagram-VM6X3IG4-Behq92Qv.js → wardleyDiagram-VM6X3IG4-BL1YKfSh.js} +1 -1
- package/dist/viewer/{xychartDiagram-S5SC5T6Z-WvqgiYkm.js → xychartDiagram-S5SC5T6Z-9WjSzaRU.js} +1 -1
- package/dist/viewer/{zh-CN-LNUGB5OW-Bh3vP78p.js → zh-CN-LNUGB5OW-C_gHexkj.js} +1 -1
- package/dist/viewer/{zh-HK-E62DVLB3-DyLx4WST.js → zh-HK-E62DVLB3-Dhwq5Laa.js} +1 -1
- package/dist/viewer/{zh-TW-RAJ6MFWO-CzGpQq8F.js → zh-TW-RAJ6MFWO-CfId5kew.js} +1 -1
- package/dist/viewer-lib/{Canvas-D1GKtdWi.js → Canvas-BIOxiTKF.js} +3 -3
- package/dist/viewer-lib/{PhoneArtboardBar-Wif7mAXi.js → PhoneArtboardBar-BHqZKvJt.js} +2 -2
- package/dist/viewer-lib/{PreviewView-96hXi1zy.js → PreviewView-CpOviFy0.js} +2 -2
- package/dist/viewer-lib/{ReadOnlyWhiteboard-ByJSgs6y.js → ReadOnlyWhiteboard-BmJvK9cn.js} +3 -3
- package/dist/viewer-lib/{SnapshotDocument-boYf3Unu.js → SnapshotDocument-CoYU0Lh9.js} +32 -32
- package/dist/viewer-lib/{VirtualizedEditor-D9Ivycdp-C1r2x0pX.js → VirtualizedEditor-D9Ivycdp-BIjSlsIz.js} +2 -2
- package/dist/viewer-lib/{VirtualizedRenderer-C_d95FXi-lZgY7VI5.js → VirtualizedRenderer-C_d95FXi-Bnj6-pgS.js} +3 -3
- package/dist/viewer-lib/{WarningsBadge-B8dxGKka.js → WarningsBadge-1xR7QoZB.js} +1 -1
- package/dist/viewer-lib/{agentLook-0GsgKSL-.js → agentLook-xSyYY25N.js} +1 -1
- package/dist/viewer-lib/{ar-SA-G6X2FPQ2-D01gdPpr.js → ar-SA-G6X2FPQ2-CEJUrUcf.js} +1 -1
- package/dist/viewer-lib/{az-AZ-76LH7QW2-C7w5r7bD.js → az-AZ-76LH7QW2-D3FZr56u.js} +1 -1
- package/dist/viewer-lib/{bg-BG-XCXSNQG7-p2Qatdni.js → bg-BG-XCXSNQG7-DV2gd8SJ.js} +1 -1
- package/dist/viewer-lib/{bn-BD-2XOGV67Q-DtnIWXwT.js → bn-BD-2XOGV67Q-fNhYcJwe.js} +1 -1
- package/dist/viewer-lib/{ca-ES-6MX7JW3Y-BY9zZN7o.js → ca-ES-6MX7JW3Y-p45OBk_B.js} +1 -1
- package/dist/viewer-lib/{chunk-EIO257PC-Dn7JUPD8.js → chunk-EIO257PC-CXXH8Md3.js} +1 -1
- package/dist/viewer-lib/core.js +2 -2
- package/dist/viewer-lib/{cs-CZ-2BRQDIVT-BzjoZdth.js → cs-CZ-2BRQDIVT-CY75gnzI.js} +1 -1
- package/dist/viewer-lib/{da-DK-5WZEPLOC-TDV970j5.js → da-DK-5WZEPLOC-DmMaYPrm.js} +1 -1
- package/dist/viewer-lib/{de-DE-XR44H4JA-BjyTyKoM.js → de-DE-XR44H4JA-DYfV8p9-.js} +1 -1
- package/dist/viewer-lib/{dist-C60FpC9e.js → dist-4trVCfjq.js} +1 -1
- package/dist/viewer-lib/{dist-DK1Yi8I4.js → dist-B-j0RxZR.js} +4 -4
- package/dist/viewer-lib/{dist-D9IzrveE.js → dist-B6v4d2OE.js} +2 -2
- package/dist/viewer-lib/{dist-Cfk5Y4QC.js → dist-BBbxY7eN.js} +2 -2
- package/dist/viewer-lib/{dist-CgQmu9ki.js → dist-BLZACBxn.js} +3 -3
- package/dist/viewer-lib/{dist-bPGj_tUd.js → dist-BhD6uqFF.js} +4 -4
- package/dist/viewer-lib/{dist-D778PgeW.js → dist-Blffswa2.js} +2 -2
- package/dist/viewer-lib/{dist-xJDwc_X3.js → dist-C18P64_H.js} +3 -3
- package/dist/viewer-lib/{dist-C38vNQIH.js → dist-C3iKnxkm.js} +1 -1
- package/dist/viewer-lib/{dist-D36o7D7T.js → dist-C9wjN4qP.js} +2 -2
- package/dist/viewer-lib/{dist-CBjyw6zC.js → dist-CAQ5QqVX.js} +2 -2
- package/dist/viewer-lib/{dist-BTCqhvAf.js → dist-CGygFbGE.js} +4 -4
- package/dist/viewer-lib/{dist-CPnB9yKQ.js → dist-ChCdGydn.js} +3 -3
- package/dist/viewer-lib/{dist-DYd0_e2w.js → dist-ChJMfI_4.js} +2 -2
- package/dist/viewer-lib/{dist-DHEOl2TN.js → dist-CmgL1T8b.js} +2 -2
- package/dist/viewer-lib/{dist-FVtL0y1F.js → dist-CpKXDAbK.js} +3 -3
- package/dist/viewer-lib/{dist-vd2-brQn.js → dist-Cqnr_svH.js} +3 -3
- package/dist/viewer-lib/{dist-Cr_rgBD9.js → dist-DMtbeBEG.js} +3 -3
- package/dist/viewer-lib/{dist-BEz688xk.js → dist-DP5eJBUk.js} +3 -3
- package/dist/viewer-lib/{dist-qS7iA2eX.js → dist-DW_uBzP-.js} +3 -3
- package/dist/viewer-lib/{dist-CMWQEa97.js → dist-DWjD6K4x.js} +3 -3
- package/dist/viewer-lib/{dist-DULdzKdC.js → dist-DwE6N9nw.js} +3 -3
- package/dist/viewer-lib/{dist-BSFDUw8i.js → dist-FMKgeQVH.js} +2 -2
- package/dist/viewer-lib/document.js +6 -6
- package/dist/viewer-lib/{el-GR-BZB4AONW-Be_WFnxM.js → el-GR-BZB4AONW-C0-Rg3rY.js} +1 -1
- package/dist/viewer-lib/{en-B4ZKOASM-CqCyVRMQ.js → en-B4ZKOASM-CWwARfdU.js} +1 -1
- package/dist/viewer-lib/{es-ES-U4NZUMDT-BbunaFz5.js → es-ES-U4NZUMDT-Di1ZUIVa.js} +1 -1
- package/dist/viewer-lib/{eu-ES-A7QVB2H4-CiDfJl0F.js → eu-ES-A7QVB2H4-DfxpIbwQ.js} +1 -1
- package/dist/viewer-lib/{fa-IR-HGAKTJCU-CLdHVNrd.js → fa-IR-HGAKTJCU-BzJgn5bY.js} +1 -1
- package/dist/viewer-lib/{fi-FI-Z5N7JZ37-AInwUM2B.js → fi-FI-Z5N7JZ37-Dgh9WYA8.js} +1 -1
- package/dist/viewer-lib/{fr-FR-RHASNOE6-5qcE-nn9.js → fr-FR-RHASNOE6-FxbVo7Yh.js} +1 -1
- package/dist/viewer-lib/{gl-ES-HMX3MZ6V-C_hmLe5L.js → gl-ES-HMX3MZ6V-BwezJSl-.js} +1 -1
- package/dist/viewer-lib/{he-IL-6SHJWFNN-Bs4SMN5Y.js → he-IL-6SHJWFNN-CMKZRRs9.js} +1 -1
- package/dist/viewer-lib/{hi-IN-IWLTKZ5I-CHsG_prh.js → hi-IN-IWLTKZ5I-4-ZNp-DM.js} +1 -1
- package/dist/viewer-lib/{hu-HU-A5ZG7DT2-BpNCnfmz.js → hu-HU-A5ZG7DT2-Cao8cecF.js} +1 -1
- package/dist/viewer-lib/{i18n-Bl255uFG.js → i18n-QksLzzWi.js} +2 -0
- package/dist/viewer-lib/{id-ID-SAP4L64H-B18MP3TV.js → id-ID-SAP4L64H-CWnVrU2u.js} +1 -1
- package/dist/viewer-lib/{image-GAAHSSAO-DVKnh1wc.js → image-GAAHSSAO-5jYfRo5K.js} +1 -1
- package/dist/viewer-lib/index.js +461 -435
- package/dist/viewer-lib/{it-IT-JPQ66NNP-BH98nLgr.js → it-IT-JPQ66NNP-DiPCKoa_.js} +1 -1
- package/dist/viewer-lib/{ja-JP-DBVTYXUO-DA2fExJg.js → ja-JP-DBVTYXUO-CXbGOVTd.js} +1 -1
- package/dist/viewer-lib/{kaa-6HZHGXH3-C-82oNQ2.js → kaa-6HZHGXH3-BkMVWloD.js} +1 -1
- package/dist/viewer-lib/{kab-KAB-ZGHBKWFO-CsOeYyyg.js → kab-KAB-ZGHBKWFO-FA3Rofsx.js} +1 -1
- package/dist/viewer-lib/{kk-KZ-P5N5QNE5-C5vZz2mB.js → kk-KZ-P5N5QNE5-CsDnxzrG.js} +1 -1
- package/dist/viewer-lib/{km-KH-HSX4SM5Z-Ds8sNL7U.js → km-KH-HSX4SM5Z-BxCiwgzA.js} +1 -1
- package/dist/viewer-lib/{ko-KR-MTYHY66A-BgSaRncC.js → ko-KR-MTYHY66A-C-7uFPlL.js} +1 -1
- package/dist/viewer-lib/{ku-TR-6OUDTVRD-DahxJWf5.js → ku-TR-6OUDTVRD-BILRBU5_.js} +1 -1
- package/dist/viewer-lib/{lib-HJ5naU7F.js → lib-DwpunbxQ.js} +1 -1
- package/dist/viewer-lib/{lt-LT-XHIRWOB4-BvJ2fjcP.js → lt-LT-XHIRWOB4-B6TKZcXY.js} +1 -1
- package/dist/viewer-lib/{lv-LV-5QDEKY6T-CfcDbPw2.js → lv-LV-5QDEKY6T-C-K90vIy.js} +1 -1
- package/dist/viewer-lib/{mr-IN-CRQNXWMA-C8OfBL2I.js → mr-IN-CRQNXWMA-K0hO9NLW.js} +1 -1
- package/dist/viewer-lib/{my-MM-5M5IBNSE-BUCYgqBD.js → my-MM-5M5IBNSE-Da5X6e7B.js} +1 -1
- package/dist/viewer-lib/{nb-NO-T6EIAALU-BhVURg4a.js → nb-NO-T6EIAALU-D9WwGGq8.js} +1 -1
- package/dist/viewer-lib/{nl-NL-IS3SIHDZ-C5NGTrjU.js → nl-NL-IS3SIHDZ-BOYOn6bl.js} +1 -1
- package/dist/viewer-lib/{nn-NO-6E72VCQL-CIOwp8RU.js → nn-NO-6E72VCQL-Bwi6kGD3.js} +1 -1
- package/dist/viewer-lib/{oc-FR-POXYY2M6-Da6SyINm.js → oc-FR-POXYY2M6-h8Hb5RCQ.js} +1 -1
- package/dist/viewer-lib/{pa-IN-N4M65BXN-tDTX0nfg.js → pa-IN-N4M65BXN-DHJ5ZqCB.js} +1 -1
- package/dist/viewer-lib/percentages-BXMCSKIN-CN_vO7hH.js +1 -0
- package/dist/viewer-lib/{pl-PL-T2D74RX3-dj1Dwz0C.js → pl-PL-T2D74RX3-DSrRpGY_.js} +1 -1
- package/dist/viewer-lib/{plugin-_bGVeqI0-D3iBrFnz.js → plugin-_bGVeqI0-Ce9s-QXj.js} +1 -1
- package/dist/viewer-lib/{prod-B7QWq4m3.js → prod-IPTdmVn7.js} +59 -59
- package/dist/viewer-lib/{pt-BR-5N22H2LF-BL2Y-MuR.js → pt-BR-5N22H2LF-Cnku-mHw.js} +1 -1
- package/dist/viewer-lib/{pt-PT-UZXXM6DQ-BjYJ2Wd6.js → pt-PT-UZXXM6DQ-CI4Lw12R.js} +1 -1
- package/dist/viewer-lib/{ro-RO-JPDTUUEW-D-wh7Qsh.js → ro-RO-JPDTUUEW-Z0rMTCBA.js} +1 -1
- package/dist/viewer-lib/{route-messages-Cd_S7ERg.js → route-messages-BHovJ4nB.js} +2 -2
- package/dist/viewer-lib/{ru-RU-B4JR7IUQ-Vqbdm2HB.js → ru-RU-B4JR7IUQ-DH7fwhiu.js} +1 -1
- package/dist/viewer-lib/{si-LK-N5RQ5JYF-FWjQj7wM.js → si-LK-N5RQ5JYF-BFG1Q032.js} +1 -1
- package/dist/viewer-lib/{sk-SK-C5VTKIMK-CPdKjgc0.js → sk-SK-C5VTKIMK-nKDfxLLq.js} +1 -1
- package/dist/viewer-lib/{sl-SI-NN7IZMDC-Cfsizmp1.js → sl-SI-NN7IZMDC-zdGtFnJ4.js} +1 -1
- package/dist/viewer-lib/subset-shared.chunk-BI1a3Hz4.js +2 -0
- package/dist/viewer-lib/{subset-worker.chunk-ockc4DfZ.js → subset-worker.chunk-DHe1FqQ-.js} +2 -2
- package/dist/viewer-lib/{sv-SE-XGPEYMSR-CkNdCBoc.js → sv-SE-XGPEYMSR-MVhH_h3w.js} +1 -1
- package/dist/viewer-lib/{ta-IN-2NMHFXQM-Cqhx65Sb.js → ta-IN-2NMHFXQM-C_I2r20T.js} +1 -1
- package/dist/viewer-lib/{th-TH-HPSO5L25-Cz6Qzk1K.js → th-TH-HPSO5L25-DQ6MPZ1r.js} +1 -1
- package/dist/viewer-lib/{tr-TR-DEFEU3FU-CCCN9YIS.js → tr-TR-DEFEU3FU-BNz_PazH.js} +1 -1
- package/dist/viewer-lib/types/src/shared/backlinks.d.ts +1 -0
- package/dist/viewer-lib/{uk-UA-QMV73CPH-CP4wZTK4.js → uk-UA-QMV73CPH-Dn_Qrdeq.js} +1 -1
- package/dist/viewer-lib/{vi-VN-M7AON7JQ-DQsgQGd7.js → vi-VN-M7AON7JQ-C777_3GC.js} +1 -1
- package/dist/viewer-lib/{viewport-CFJHn_Y6-LGEa8Vm0.js → viewport-CFJHn_Y6-DCoJRNQ_.js} +1 -1
- package/dist/viewer-lib/{zh-CN-LNUGB5OW-Cp6CD9iP.js → zh-CN-LNUGB5OW-yPc5aNBV.js} +1 -1
- package/dist/viewer-lib/{zh-HK-E62DVLB3-B_z5KWS4.js → zh-HK-E62DVLB3-DL9Y2kPe.js} +1 -1
- package/dist/viewer-lib/{zh-TW-RAJ6MFWO-BgUsVK92.js → zh-TW-RAJ6MFWO-3VDE8SB2.js} +1 -1
- package/package.json +1 -1
- package/dist/viewer/ArtboardLayout-Cz1MWCu8.js +0 -12
- package/dist/viewer/DocumentLayout-B1bQT74s.js +0 -2
- package/dist/viewer/channel-DpF2FNj7.js +0 -1
- package/dist/viewer/classDiagram-ZZMXUADV-BCUwkMkD.js +0 -1
- package/dist/viewer/classDiagram-v2-VYDZK3BY-BCUwkMkD.js +0 -1
- package/dist/viewer/flowDiagram-HODETNUW-A3kbYb0D.js +0 -1
- package/dist/viewer/percentages-BXMCSKIN-BDV0ZRBe.js +0 -1
- package/dist/viewer/stateDiagram-v2-MP3YSRHH-LXrhvJQE.js +0 -1
- package/dist/viewer/subset-shared.chunk-DR4HOb1q.js +0 -1
- package/dist/viewer/swimlanesDiagram-VR7AAH4N-F15yPPv-.js +0 -8
- package/dist/viewer-lib/percentages-BXMCSKIN-Cvdo4-KV.js +0 -1
- package/dist/viewer-lib/subset-shared.chunk-C7qUh7WH.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-COiEfhsA.js";import{g as t}from"./route-B-3a8kXR.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-Y8cPWVH2.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-gOi1FTqq.js";import{n as m}from"./DocumentPage-DFTrEydU.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{g as t}from"./route-BWL5AGYx.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-BnquVtpP.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-CbqGY5Lo.js";import{n as m}from"./DocumentPage-mDIgKhlQ.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-J_7ZaGFR.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{_ as t,a as n}from"./route-B-3a8kXR.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-Ds_SbiRI.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-CFrlkl-M.js";import{a as p,i as m,o as h,r as g,s as _,t as v}from"./PhoneArtboardBar-Bzeyu7RL.js";import{a as y,c as b,i as x,n as S,o as C,s as w}from"./ThreadView-DhKDuMXE.js";import{c as T,d as E,f as D,l as ee,u as O}from"./lib-DABSWeJy.js";import{n as k,r as te,t as A}from"./index.js";/* empty css */import{Excalidraw as j,convertToExcalidrawElements as M,exportToBlob as ne,reconcileElements as re,restoreElements as ie}from"./prod-DT6gDrhK.js";import{n as ae}from"./Avatar-ChKkUO4F.js";import{n as oe}from"./useMedia-CWOjvrMw.js";import{s as se,t as ce}from"./WritingCursor-D8-ImQmN.js";import{n as le}from"./usePageQuery-BLapKgc-.js";import{t as N}from"./page-api-D8JklgWH.js";import"./shims-DAMrW7mQ.js";var ue={name:`move-up-right`,size:24,node:[[`path`,{d:`M13 5H19V11`,key:`1n1gyv`}],[`path`,{d:`M19 5L5 19`,key:`72u4yj`}]]};ue.node;var de=l(ue),fe={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`]};fe.node;var pe=l(fe),me={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`}]]};me.node;var he=l(me),P=e(r(),1),F=`main`,I=e=>e.filter(e=>!e.deleted);function ge(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,_e=64,ve=190,z=(e,t)=>({x:(e.x+t.scrollX)*t.zoom,y:(e.y+t.scrollY)*t.zoom}),ye=(e,t)=>({x:e.x/t.zoom-t.scrollX,y:e.y/t.zoom-t.scrollY});function be(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 xe=(e,t,n)=>Math.min(Math.max(e,t),Math.max(t,n));function Se(e,t,n=420){let r=e.y-40-L,i=r<_e,a={x:xe(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:xe(e.y,_e,t.height-ve)}}}function Ce(e,t,n,r=F){let i=be(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 we({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 Te({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)(ce,{agent:e,title:s.id,zoom:i.zoom,...se({x:s.x??0,y:s.y??0,w:s.width??0,h:s.height??0},!0)})})]})}function Ee({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)(pe,{size:14}),!e&&n(`whiteboard.ask`)]})}function De({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)(pe,{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}},Oe=(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 ke({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=ye(n,s);f({screen:n,scene:r,element:Oe(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:{...Ae(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:Ae(d.screen),className:`x10l6tqk x1m258z3 x12ilycc xmkeg23 x1y0btm7 x12xov25 x4pepcl x1d5q07e xb3r6kr x1x85hfe x7z7khe`,children:(0,V.jsx)(ae,{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 Ae=e=>({left:e.x+18,top:Math.max(56,e.y-14)});function je({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 Me({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:ge(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 Ne=()=>typeof window>`u`||!window.matchMedia?null:window.matchMedia(`(prefers-color-scheme: dark)`);function Pe(){let[e,t]=(0,P.useState)(()=>Ne()?.matches??!1);return(0,P.useEffect)(()=>{let e=Ne();if(!e)return;let n=()=>t(e.matches);return e.addEventListener(`change`,n),()=>e.removeEventListener(`change`,n)},[]),e}var Fe={path:{kUk6DE:`x98rzlu`,k7Eaqz:`xeuugli`,kVQacm:`xb3r6kr`,kg5iWk:`xlyipyv`,khDVqt:`xuxw1ft`,$$css:!0}},Ie={fitToViewport:!0,viewportZoomFactor:.9};function Le({id:e,scene:r,threads:i,setApi:a,onView:o,header:s,children:c}){let l=Pe(),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,{...Ie,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: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(Fe.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`,Re=e=>e===`human`||e===`agent`;function ze(e){let t=e.customData??{},n={};return Re(t.ryugiAuthor)&&(n.author=t.ryugiAuthor),typeof t.ryugiRev==`number`&&(n.rev=t.ryugiRev),Re(t.ryugiLastBy)&&(n.lastBy=t.ryugiLastBy),n}function q(e,t){for(let n of t)e.set(n.id,n.version??0)}function Be(e,t){let n=t.filter(t=>e.get(t.id)!==(t.version??0));return q(e,n),n}var Ve=e=>({x:e.x??0,y:e.y??0,w:e.width??0,h:e.height??0});function He(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=Ve(e),i=e.containerId?n.get(e.containerId):void 0;if(e.type===`text`&&i&&![`arrow`,`line`].includes(i.type)){let e=Ve(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 Ue=new Set([`arrow`,`line`]),We=new Set([`rectangle`,`ellipse`,`diamond`]),Ge=[`x`,`y`,`width`,`height`,`text`],Ke=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()}),qe=e=>Ue.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,Je=(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 Ye(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 Ke(t)){let t=r.get(e);!t||n.has(e)||i.has(e)||i.set(e,{id:e,type:We.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=>Je(qe(e),a)),...i.values()],standIns:new Set(i.keys()),frames:a}}var Xe=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,Ze=e=>{let t=e.map(Xe),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 Qe(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?Ze(c):null);u&&(e[l]={...e[l],...u})}}function $e(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 Qe(i,a,n,r),{created:i,touched:a}}function et(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||Ge.every(n=>e[n]===t[n])?[]:[J(t,Object.fromEntries(Ge.map(t=>[t,e[t]])))]})}var tt=e=>e.map(e=>e.type===`text`&&e.containerId&&typeof e.originalText==`string`?{...e,text:e.originalText}:e),nt=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 rt({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=He(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 ne({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),nt))},[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{_ as t,a as n}from"./route-BWL5AGYx.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-EQlIwqCq.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-B0XlD3Xc.js";import{a as p,i as m,o as h,r as g,s as _,t as v}from"./PhoneArtboardBar-Bzffd2nB.js";import{a as y,c as b,i as x,n as S,o as C,s as w}from"./ThreadView-CNiDFkdG.js";import{c as T,d as E,f as D,l as ee,u as O}from"./lib-DABSWeJy.js";import{n as k,r as te,t as A}from"./index.js";/* empty css */import{Excalidraw as j,convertToExcalidrawElements as M,exportToBlob as ne,reconcileElements as re,restoreElements as ie}from"./prod-CLoF9GCs.js";import{n as ae}from"./Avatar-BhOg2BXZ.js";import{n as oe}from"./useMedia-CWOjvrMw.js";import{s as se,t as ce}from"./WritingCursor-DQcBMO0U.js";import{n as le}from"./usePageQuery-BLapKgc-.js";import{t as N}from"./page-api-D8JklgWH.js";import"./shims-DAMrW7mQ.js";var ue={name:`move-up-right`,size:24,node:[[`path`,{d:`M13 5H19V11`,key:`1n1gyv`}],[`path`,{d:`M19 5L5 19`,key:`72u4yj`}]]};ue.node;var de=l(ue),fe={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`]};fe.node;var pe=l(fe),me={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`}]]};me.node;var he=l(me),P=e(r(),1),F=`main`,I=e=>e.filter(e=>!e.deleted);function ge(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,_e=64,ve=190,z=(e,t)=>({x:(e.x+t.scrollX)*t.zoom,y:(e.y+t.scrollY)*t.zoom}),ye=(e,t)=>({x:e.x/t.zoom-t.scrollX,y:e.y/t.zoom-t.scrollY});function be(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 xe=(e,t,n)=>Math.min(Math.max(e,t),Math.max(t,n));function Se(e,t,n=420){let r=e.y-40-L,i=r<_e,a={x:xe(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:xe(e.y,_e,t.height-ve)}}}function Ce(e,t,n,r=F){let i=be(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 we({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 Te({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)(ce,{agent:e,title:s.id,zoom:i.zoom,...se({x:s.x??0,y:s.y??0,w:s.width??0,h:s.height??0},!0)})})]})}function Ee({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)(pe,{size:14}),!e&&n(`whiteboard.ask`)]})}function De({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)(pe,{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}},Oe=(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 ke({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=ye(n,s);f({screen:n,scene:r,element:Oe(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:{...Ae(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:Ae(d.screen),className:`x10l6tqk x1m258z3 x12ilycc xmkeg23 x1y0btm7 x12xov25 x4pepcl x1d5q07e xb3r6kr x1x85hfe x7z7khe`,children:(0,V.jsx)(ae,{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 Ae=e=>({left:e.x+18,top:Math.max(56,e.y-14)});function je({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 Me({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:ge(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 Ne=()=>typeof window>`u`||!window.matchMedia?null:window.matchMedia(`(prefers-color-scheme: dark)`);function Pe(){let[e,t]=(0,P.useState)(()=>Ne()?.matches??!1);return(0,P.useEffect)(()=>{let e=Ne();if(!e)return;let n=()=>t(e.matches);return e.addEventListener(`change`,n),()=>e.removeEventListener(`change`,n)},[]),e}var Fe={path:{kUk6DE:`x98rzlu`,k7Eaqz:`xeuugli`,kVQacm:`xb3r6kr`,kg5iWk:`xlyipyv`,khDVqt:`xuxw1ft`,$$css:!0}},Ie={fitToViewport:!0,viewportZoomFactor:.9};function Le({id:e,scene:r,threads:i,setApi:a,onView:o,header:s,children:c}){let l=Pe(),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,{...Ie,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: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(Fe.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`,Re=e=>e===`human`||e===`agent`;function ze(e){let t=e.customData??{},n={};return Re(t.ryugiAuthor)&&(n.author=t.ryugiAuthor),typeof t.ryugiRev==`number`&&(n.rev=t.ryugiRev),Re(t.ryugiLastBy)&&(n.lastBy=t.ryugiLastBy),n}function q(e,t){for(let n of t)e.set(n.id,n.version??0)}function Be(e,t){let n=t.filter(t=>e.get(t.id)!==(t.version??0));return q(e,n),n}var Ve=e=>({x:e.x??0,y:e.y??0,w:e.width??0,h:e.height??0});function He(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=Ve(e),i=e.containerId?n.get(e.containerId):void 0;if(e.type===`text`&&i&&![`arrow`,`line`].includes(i.type)){let e=Ve(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 Ue=new Set([`arrow`,`line`]),We=new Set([`rectangle`,`ellipse`,`diamond`]),Ge=[`x`,`y`,`width`,`height`,`text`],Ke=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()}),qe=e=>Ue.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,Je=(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 Ye(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 Ke(t)){let t=r.get(e);!t||n.has(e)||i.has(e)||i.set(e,{id:e,type:We.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=>Je(qe(e),a)),...i.values()],standIns:new Set(i.keys()),frames:a}}var Xe=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,Ze=e=>{let t=e.map(Xe),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 Qe(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?Ze(c):null);u&&(e[l]={...e[l],...u})}}function $e(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 Qe(i,a,n,r),{created:i,touched:a}}function et(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||Ge.every(n=>e[n]===t[n])?[]:[J(t,Object.fromEntries(Ge.map(t=>[t,e[t]])))]})}var tt=e=>e.map(e=>e.type===`text`&&e.containerId&&typeof e.originalText==`string`?{...e,text:e.originalText}:e),nt=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 rt({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=He(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 ne({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),nt))},[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 it=200,at=1e3,Z=e=>e,ot=Math.random().toString(36).slice(2),st={file:{version:1,threads:[]},stale:[],orphans:[],placed:{}},Q=e=>({file:e.comments,stale:e.stale??[],orphans:e.orphans??[],placed:e.placed??{}}),ct=(e,t)=>!e||t&&!I(t).some(t=>t.id===e)?F:e,$=(e,t)=>{let{batch:n,standIns:r,frames:i}=Ye(e,t),{created:a,touched:o}=$e(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 lt(e,t,n=null){let r=`whiteboard/${e}`,[i,a]=(0,P.useState)(null),[o,s]=(0,P.useState)(null),c=ct(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)(st),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=et(t,Z(ie(tt(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:re(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:re(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=rt({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=He(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 ne({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=Be(_.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 j=(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)},it),clearTimeout(x.current.report),x.current.report=setTimeout(()=>void k(),at);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:ot,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:ze(t).author??null}]:[]})})},[r,k,O]),M=(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 ae=(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:j,setApi:M,api:g,report:k,send:O,comments:m,comment:ae,elements:oe,pages:o,changedPages:l,pageOp:se}}var ut=(e,t)=>e.scrollX===t.scrollX&&e.scrollY===t.scrollY&&e.zoom===t.zoom;function dt({id:e}){let[t,r]=le(),i=lt(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)(Le,{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=>{ut(e,c)||l(e)},children:[o&&(0,V.jsx)(ke,{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 ft=[`#1e1e1e`,`#e03131`,`#2f9e44`,`#1971c2`,`#f08c00`],pt=[`#ffec99`,`#ffc9c9`,`#b2f2bb`,`#a5d8ff`,`transparent`],mt=[[`S`,16],[`M`,20],[`L`,28]],ht=[1,2,4],gt=[100,60,30];function _t({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`)}),ft.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`)}),pt.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`}),mt.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`)}),ht.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`)}),gt.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 vt=`#ffec99`,yt=[{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:de,shortcut:`A`,group:`draw`},{key:`text`,icon:x,shortcut:`T`,group:`draw`},{key:`sticky`,icon:he,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`}],bt=(e,t,n)=>({type:`rectangle`,x:e,y:t,width:240,height:120,backgroundColor:vt,fillStyle:`solid`,strokeColor:`#1e1e1e`,label:{text:n}}),xt=2e3,St=1e4,Ct={at:0,event:null},wt=(e,t,n)=>({at:n,event:t});function Tt(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 Et(){let[e,t]=(0,P.useState)(Ct),[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+xt-Date.now())),i=setTimeout(t,Math.max(0,e.at+St-Date.now()));return()=>{clearTimeout(n),clearTimeout(i)}},[e]),{visible:Tt(e,n),record:e=>{let n=Date.now();t(t=>wt(t,e,n)),r(n)}}}var Dt=.8;function Ot(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 kt(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=k(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=Ot(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:Dt,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 At({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?yt.filter(e=>e.group!==`draw`):yt;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 jt={canvasActions:{changeViewBackgroundColor:!1,clearCanvas:!1,export:!1,loadScene:!1,saveAsImage:!1,saveToActiveFile:!1,toggleTheme:!1},tools:{image:!1}},Mt=700,Nt=e=>e.map(e=>`${e.id}:${e.version??0}`).join(`,`);function Pt({id:e}){return i(oe(`(max-width: 640px)`))?(0,V.jsx)(dt,{id:e}):(0,V.jsx)(Ft,{id:e})}function Ft({id:e}){let r=Et(),[i,a]=le(),o=lt(e,r.record,i);A(o.scene!==null||o.problem!==null);let s=kt(e,o.api,{current:o.page,switchTo:e=>a(e===`main`?null:e,!0)}),c=Pe(),[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([bt(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));Nt(i)!==Nt(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=be(h,h.map(e=>e.id)),T=w&&{...z(w,d),w:w.w*d.zoom,h:w.h*d.zoom},E=T&&Se(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:jt,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: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)(_t,{compact:p.width<Mt,selected:h,x:E.props.x,y:E.props.y,trailing:(0,V.jsx)(Ee,{compact:p.width<Mt,onClick:()=>b(!0)}),onApply:C,onWidth:e=>{e&&e!==_&&v(e)}}),y&&(0,V.jsx)(De,{composer:E.composer,count:h.length,onClose:()=>b(!1),onSend:async e=>(await o.report(),o.comment(Ce(h,e,n(`whiteboard.askDefault`),o.page)))})]}),(0,V.jsx)(ke,{commenting:l===`comment`,comments:o.comments,elements:o.elements,page:o.page,view:d,onDone:()=>u(`selection`),onOp:o.comment}),(0,V.jsx)(je,{count:s.count,elements:o.api.current?.getSceneElements()??[],frame:s.focus,view:d}),(0,V.jsx)(Te,{agent:s.agent,cursor:r.visible.cursor,elements:o.api.current?.getSceneElements()??[],glow:r.visible.glow,view:d}),(0,V.jsx)(At,{active:l,agentNotice:(0,V.jsx)(we,{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)(Me,{changed:o.changedPages,page:o.page,pages:o.pages,onOp:o.pageOp,onPick:e=>a(e===`main`?null:e,!1)}),onTool:x})]})}export{Pt 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-C2_12glW.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-D25kbUvc.js";import"./dist-XKj_gvVl.js";import{m as n,t as r}from"./mermaid-parser.core-0b8QyWBB.js";import{n as i,r as a,t as o}from"./chunk-SVP7TREG-C8P_HXcE.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};
|