collabmd 0.1.39 → 0.1.40
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/README.md +7 -1
- package/dist/client/assets/{CodeMirrorEditor-UCMRAMCV-75Zi8U_A.js → CodeMirrorEditor-UCMRAMCV-CjJV4GGp.js} +1 -1
- package/dist/client/assets/{ar-SA-NXDWD63E-CTf_wpt3.js → ar-SA-NXDWD63E-BfWwfLiP.js} +1 -1
- package/dist/client/assets/{arc-DD8jaAGl.js → arc-B59iLcOr.js} +1 -1
- package/dist/client/assets/architecture-7EHR7CIX-M1SFnuBJ.js +1 -0
- package/dist/client/assets/{architectureDiagram-Q4EWVU46-BftXiJA8.js → architectureDiagram-3BPJPVTR-Cs4u0ty-.js} +3 -3
- package/dist/client/assets/{az-AZ-MXSORGZV-C_C9i9u3.js → az-AZ-MXSORGZV-D3w9H6nC.js} +1 -1
- package/dist/client/assets/{bg-BG-O6MV2KSF-YmfvQf63.js → bg-BG-O6MV2KSF-CqITeIE6.js} +1 -1
- package/dist/client/assets/blockDiagram-GPEHLZMM-C4RLg7wo.js +132 -0
- package/dist/client/assets/{bn-IN-MMW2ORAC-BTEFR4Ed.js → bn-BD-T2VJNT7N-DRxwOMG_.js} +1 -1
- package/dist/client/assets/{bn-BD-T2VJNT7N-BD0ob0JE.js → bn-IN-MMW2ORAC-BZcsVFhS.js} +1 -1
- package/dist/client/assets/{c4Diagram-AHTNJAMY-Gz7ZAK0d.js → c4Diagram-AAUBKEIU-DMK9WIWS.js} +2 -2
- package/dist/client/assets/{ca-ES-MKBCGNOG-aLX_cjA0.js → ca-ES-MKBCGNOG-D2cujUJ7.js} +1 -1
- package/dist/client/assets/channel-E9SBQ9z6.js +1 -0
- package/dist/client/assets/{chunk-EDXVE4YY-M4QxyGNt.js → chunk-2J33WTMH-Beqll06X.js} +1 -1
- package/dist/client/assets/chunk-3OPIFGDE-Kf30X6bZ.js +62 -0
- package/dist/client/assets/{chunk-4BX2VUAB-D5YiFdu1.js → chunk-4BX2VUAB-BVNkn9EH.js} +1 -1
- package/dist/client/assets/chunk-4EGX6M5U-6L36_8q8.js +1 -0
- package/dist/client/assets/{chunk-55IACEB6-VHgZjidg.js → chunk-55IACEB6-CaPPZbdp.js} +1 -1
- package/dist/client/assets/chunk-5DO6E6H7-BpgUf0HE.js +1 -0
- package/dist/client/assets/chunk-5ZQYHXKU-BJyABJSy.js +2 -0
- package/dist/client/assets/chunk-727SXJPM-DNANnyAn.js +206 -0
- package/dist/client/assets/chunk-AQP2D5EJ-D-ou9vaq.js +231 -0
- package/dist/client/assets/{chunk-LIHQZDEY-DtYrHuCi.js → chunk-BR22UD5L-CHoFxkAQ.js} +1 -1
- package/dist/client/assets/{chunk-BSJP7CBP-D2KkrA_B.js → chunk-BSJP7CBP-AmT6zI00.js} +1 -1
- package/dist/client/assets/chunk-CSCIHK7Q-BIoF4mTy.js +123 -0
- package/dist/client/assets/chunk-FHYWG6QK-qLbgayZT.js +1 -0
- package/dist/client/assets/{chunk-FMBD7UC4-qQT7MtX2.js → chunk-FMBD7UC4-DD6CIukb.js} +1 -1
- package/dist/client/assets/chunk-KSCS5N6A-DSHzBB4H.js +10 -0
- package/dist/client/assets/{chunk-ZZ45TVLE-DGIhE_ST.js → chunk-L5ZTLDWV-Ca0loQr2.js} +1 -1
- package/dist/client/assets/chunk-LZXEDZCA-D4QboL2E.js +2 -0
- package/dist/client/assets/chunk-MPE355IW-BGGMthoR.js +1 -0
- package/dist/client/assets/chunk-MZUSXYTE-CXyCvcyW.js +1 -0
- package/dist/client/assets/chunk-N66VUXT2-CZ58QOjk.js +1 -0
- package/dist/client/assets/{chunk-YZCP3GAM-D1jf1WUI.js → chunk-ND2GUHAM-3Xs0Awks.js} +1 -1
- package/dist/client/assets/chunk-NNHCCRGN--8l6bbR-.js +159 -0
- package/dist/client/assets/{chunk-X2U36JSP-D3OEPG7k.js → chunk-NZK2D7GU-w2jXiKa6.js} +1 -1
- package/dist/client/assets/{chunk-U2HBQHQK-BBXgsocS.js → chunk-O5CBEL6O-BFgstMja.js} +4 -4
- package/dist/client/assets/chunk-PUPMXCY4-JvkUXyIj.js +1 -0
- package/dist/client/assets/chunk-QZHKN3VN-9NMPSwDX.js +1 -0
- package/dist/client/assets/{chunk-SRAX5OIU-yDw8XRsi.js → chunk-SRAX5OIU-C_UPA-vt.js} +1 -1
- package/dist/client/assets/chunk-UIBZB4QT-B4OybPy_.js +1 -0
- package/dist/client/assets/chunk-WCWK7LTN-BOL8a2ua.js +1 -0
- package/dist/client/assets/chunk-WMDFGAFD-EzVSth95.js +35 -0
- package/dist/client/assets/chunk-WU5MYG2G-Bl8VQmZH.js +1 -0
- package/dist/client/assets/{chunk-XPW4576I-BUfyrOtN.js → chunk-XPW4576I-D5FnFhOk.js} +1 -1
- package/dist/client/assets/{chunk-Z5NKEFVG-Vu8zBV4H.js → chunk-Z5NKEFVG-GcpeeLo6.js} +1 -1
- package/dist/client/assets/chunk-tBc3Ke6Z.js +1 -0
- package/dist/client/assets/classDiagram-4FO5ZUOK-D7YhYDLZ.js +1 -0
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-COI4atGv.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-A8ssRFyt.js → cose-bilkent-S5V4N54A-Cx3Qt7pR.js} +1 -1
- package/dist/client/assets/{cs-CZ-V77HGUP7-Du3y53BB.js → cs-CZ-V77HGUP7-BXqhmWZb.js} +1 -1
- package/dist/client/assets/{da-DK-I5RFNTM4-CDJtjf5s.js → da-DK-I5RFNTM4-raD_lQnT.js} +1 -1
- package/dist/client/assets/dagre-BM42HDAG-BpURvxT4.js +4 -0
- package/dist/client/assets/dagre-BcZLxzJJ.js +1 -0
- package/dist/client/assets/{de-CH-WLRDEVBV-CLV2tVw6.js → de-CH-WLRDEVBV-CyNG_YAO.js} +1 -1
- package/dist/client/assets/{de-DE-DTI4WUSC-B53J0BQ8.js → de-DE-DTI4WUSC-BAnqlByT.js} +1 -1
- package/dist/client/assets/diagram-2AECGRRQ-DJH0JVlq.js +43 -0
- package/dist/client/assets/{diagram-5BDNPKRD-BuK-UBuN.js → diagram-5GNKFQAL-DQG4Q1eS.js} +2 -2
- package/dist/client/assets/diagram-KO2AKTUF-hx21Lv-5.js +3 -0
- package/dist/client/assets/{diagram-TYMM5635-CT8BdT4s.js → diagram-LMA3HP47--QODJMa9.js} +1 -1
- package/dist/client/assets/diagram-OG6HWLK6-CB30hX1a.js +24 -0
- package/dist/client/assets/{dist-Bz-8_JmE.js → dist-6oqNX0NJ.js} +1 -1
- package/dist/client/assets/dist-B0U2pnHE.js +1 -0
- package/dist/client/assets/{dist-tRNsnttY.js → dist-B1BRR2vO.js} +1 -1
- package/dist/client/assets/{dist-BEk5kTf_.js → dist-B48_21rM.js} +1 -1
- package/dist/client/assets/{dist-CRyP6okk.js → dist-BBsYBvEp.js} +1 -1
- package/dist/client/assets/{dist-ZuMKSK7c.js → dist-BNDWUlMx.js} +1 -1
- package/dist/client/assets/{dist-CQZDuOJ9.js → dist-BOA6xeuH.js} +1 -1
- package/dist/client/assets/{dist-wkd-N1L5.js → dist-BQuic6-d.js} +1 -1
- package/dist/client/assets/{dist-NcJIpTJ8.js → dist-Bhn_Fiol.js} +1 -1
- package/dist/client/assets/dist-BoCYrsTA.js +1 -0
- package/dist/client/assets/{dist-_THc9HiJ.js → dist-BsTc7qjG.js} +1 -1
- package/dist/client/assets/dist-C-W89K9S.js +1 -0
- package/dist/client/assets/{dist-QktK6LIH.js → dist-CAlqrzaF.js} +1 -1
- package/dist/client/assets/dist-CBTadfRi2.js +1 -0
- package/dist/client/assets/{dist-8EAyH6_p.js → dist-CDsAhnoa.js} +1 -1
- package/dist/client/assets/{dist-fpFkgu34.js → dist-CJMPm6rd.js} +1 -1
- package/dist/client/assets/{dist-bkoMCmF7.js → dist-CtHMYO6t.js} +1 -1
- package/dist/client/assets/dist-D4DGyOvV.js +1 -0
- package/dist/client/assets/{dist-Das5WX49.js → dist-D5BVeoD4.js} +1 -1
- package/dist/client/assets/{dist-D8d0IGSI.js → dist-D5hPoFa5.js} +1 -1
- package/dist/client/assets/{dist-BXiFOexW.js → dist-DCqHC6ts.js} +1 -1
- package/dist/client/assets/{dist-yy8SO13g.js → dist-DFzJ8okV.js} +1 -1
- package/dist/client/assets/{dist-Bp_j2hKC.js → dist-DSehUDUA.js} +1 -1
- package/dist/client/assets/{dist-eAgBpkKv.js → dist-Dv_PLWtE.js} +1 -1
- package/dist/client/assets/{dist-B7XQNod9.js → dist-Dx8yU-RA.js} +1 -1
- package/dist/client/assets/{dist-CH3l6nVf.js → dist-U35xPXYU.js} +1 -1
- package/dist/client/assets/{dist-DplP0BiK.js → dist-UnjH15yg.js} +2 -2
- package/dist/client/assets/{dist-DwgKARew.js → dist-ihRjPW1T.js} +1 -1
- package/dist/client/assets/{dist-CIt_ogHO.js → dist-q3smPWAL.js} +1 -1
- package/dist/client/assets/{dist-uyVGTnZh.js → dist-wA96SVn6.js} +1 -1
- package/dist/client/assets/{dist-1SMeCZhf.js → dist-x4M0Qd0y.js} +1 -1
- package/dist/client/assets/drawio-editor-BHYoSlR7.js +9 -0
- package/dist/client/assets/{drawioEditor-DBSyP3_d.js → drawioEditor-B-Ssnq_p.js} +2 -2
- package/dist/client/assets/{editor-session-C1scHGLl.js → editor-session-BTPe8PEu.js} +3 -3
- package/dist/client/assets/{el-GR-ZXDJ2OS4-DFmRQv0o.js → el-GR-ZXDJ2OS4-De6xlnXD.js} +1 -1
- package/dist/client/assets/{en-CMP6EMR6-D9x8hVSu.js → en-CMP6EMR6-Bfz_MnNa.js} +1 -1
- package/dist/client/assets/{erDiagram-SMLLAGMA-6VFZA3Qb.js → erDiagram-TEJ5UH35-BvMeaml9.js} +2 -2
- package/dist/client/assets/{es-ES-DYQHAD43-BiGWIrBG.js → es-ES-DYQHAD43-EVQAeFTZ.js} +1 -1
- package/dist/client/assets/{eu-ES-QDSYU5Y3-BjwS0kZi.js → eu-ES-QDSYU5Y3-O5XEQp0x.js} +1 -1
- package/dist/client/assets/eventmodeling-FCH6USID-DKkN-EFL.js +1 -0
- package/dist/client/assets/excalidraw-editor-DzL1T9D9.js +9 -0
- package/dist/client/assets/{excalidraw-editor-BZCE9ydu.css → excalidraw-editor-mKBCIvNR.css} +1 -1
- package/dist/client/assets/{excalidraw-mermaid-stub-Df0Q2qkW.js → excalidraw-mermaid-stub-B5sWezsO.js} +1 -1
- package/dist/client/assets/excalidraw-scene-i7oBzgH8.js +176 -0
- package/dist/client/assets/excalidrawEditor-DRxzpbJ-.js +2 -0
- package/dist/client/assets/{export-page-Bnk-YQp-.js → export-page-BkCqT_2s.js} +2 -2
- package/dist/client/assets/exportDocument-Dj7w1hDJ.js +2 -0
- package/dist/client/assets/{fa-IR-26LZG4PM-BgANg2TD.js → fa-IR-26LZG4PM-BlqI3v_N.js} +1 -1
- package/dist/client/assets/{fi-FI-6YS4KDE4-CBL5f3oN.js → fi-FI-6YS4KDE4-af5Lkv-j.js} +1 -1
- package/dist/client/assets/{flowDiagram-DWJPFMVM-DO9RH8YQ.js → flowDiagram-I6XJVG4X-DgXXcK8y.js} +6 -6
- package/dist/client/assets/{fr-FR-BRLLPTZC-CRibNSLG.js → fr-FR-BRLLPTZC-CwQyur9E.js} +1 -1
- package/dist/client/assets/ganttDiagram-6RSMTGT7-BMpbo3vT.js +292 -0
- package/dist/client/assets/gitGraph-WXDBUCRP-BIQYiPEj.js +1 -0
- package/dist/client/assets/gitGraphDiagram-PVQCEYII-CCdpTNJZ.js +106 -0
- package/dist/client/assets/{gl-ES-OKUZTLYG-DEDwa_xt.js → gl-ES-OKUZTLYG-BNEoLCI4.js} +1 -1
- package/dist/client/assets/graphlib-Dduz6oB8.js +1 -0
- package/dist/client/assets/{he-IL-26MGYIU7-47wxy70N.js → he-IL-26MGYIU7-WnVF9HP3.js} +1 -1
- package/dist/client/assets/{hi-IN-Q4ZOGTP2-bhV7c3dK.js → hi-IN-Q4ZOGTP2-DcU7ec07.js} +1 -1
- package/dist/client/assets/{hu-HU-P2OXPSN5-xG-gBMzE.js → hu-HU-P2OXPSN5-wmJyK1Wq.js} +1 -1
- package/dist/client/assets/{id-ID-2EIKXYN6-MQuYaNHo.js → id-ID-2EIKXYN6-BTvn0aFf.js} +1 -1
- package/dist/client/assets/image-KGGK4BDN-BtStV6c9.js +1 -0
- package/dist/client/assets/index-Cnyy977t.css +1 -0
- package/dist/client/assets/{index-BoKmcqkH.js → index-DxQmPZ_f.js} +2 -2
- package/dist/client/assets/info-J43DQDTF-CO2Z2J7J.js +1 -0
- package/dist/client/assets/{infoDiagram-42DDH7IO-C77Pt7T1.js → infoDiagram-5YYISTIA-oYw2qnNY.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-UXIWVN3A-Cy1fwvvg.js → ishikawaDiagram-YF4QCWOH-BPqURwBR.js} +2 -2
- package/dist/client/assets/{it-IT-4CFKVXI2-v2kj-y7j.js → it-IT-4CFKVXI2-CC_iQxXu.js} +1 -1
- package/dist/client/assets/{ja-JP-MAND2Z4V-BahXSQz-.js → ja-JP-MAND2Z4V-ConJI8GA.js} +1 -1
- package/dist/client/assets/{journeyDiagram-VCZTEJTY-CYWaI6re.js → journeyDiagram-JHISSGLW-CvxY2Fte.js} +3 -3
- package/dist/client/assets/{jsx-runtime-1KUJVfx8.js → jsx-runtime-IB1e1gmy.js} +1 -1
- package/dist/client/assets/{kaa-HQRTCXTJ-BF26ydFa.js → kaa-HQRTCXTJ-Caqwh_Qr.js} +1 -1
- package/dist/client/assets/{kab-KAB-JKIKKTGH-CEIH0F80.js → kab-KAB-JKIKKTGH-DQBmYNc9.js} +1 -1
- package/dist/client/assets/{kanban-definition-6JOO6SKY-DY1xE7tm.js → kanban-definition-UN3LZRKU-Ex7702dO.js} +6 -6
- package/dist/client/assets/{kk-KZ-HXQ63ZFC-CxWjc9Sf.js → kk-KZ-HXQ63ZFC-O5qp74q-.js} +1 -1
- package/dist/client/assets/{km-KH-PKL3LSGX-DJlCteEp.js → km-KH-PKL3LSGX-2wUYTyyo.js} +1 -1
- package/dist/client/assets/{ko-KR-KXLREZX3-B1gtI_ci.js → ko-KR-KXLREZX3-CYtUnW5t.js} +1 -1
- package/dist/client/assets/{ku-TR-MJ4IER3X-Bf41y2v2.js → ku-TR-MJ4IER3X-DtEKOAU3.js} +1 -1
- package/dist/client/assets/line-DRJILpPI.js +1 -0
- package/dist/client/assets/{linear-dsIQT_iU.js → linear-rFRiXd2u.js} +1 -1
- package/dist/client/assets/{lt-LT-H6WFQ6FJ-DA1or-Eo.js → lt-LT-H6WFQ6FJ-Cs17Ppdf.js} +1 -1
- package/dist/client/assets/{lv-LV-GOCK6SJW-qa0BoYMm.js → lv-LV-GOCK6SJW-DYuTyosz.js} +1 -1
- package/dist/client/assets/{main-BKumyd95.js → main-iuYcGt-A.js} +11 -7
- package/dist/client/assets/mermaid-parser.core-BD_OCbyj.js +4 -0
- package/dist/client/assets/mermaid-runtime-CEgpdpwB.js +9 -0
- package/dist/client/assets/{mindmap-definition-QFDTVHPH-DB_M5r-j.js → mindmap-definition-RKZ34NQL-D4pwLdMH.js} +23 -23
- package/dist/client/assets/{mr-IN-IXVLDMEQ-DXFRgvgb.js → mr-IN-IXVLDMEQ-CIJFnklt.js} +1 -1
- package/dist/client/assets/{my-MM-YG6MYTTD-BKDIfalJ.js → my-MM-YG6MYTTD-em_7TGWX.js} +1 -1
- package/dist/client/assets/{nb-NO-XGWJISD2-DbwbopH8.js → nb-NO-XGWJISD2-BLNgPVDj.js} +1 -1
- package/dist/client/assets/{nl-NL-XVDVCPNC-ChSneTSU.js → nl-NL-XVDVCPNC-CComxzvg.js} +1 -1
- package/dist/client/assets/{nn-NO-EMX5MJX5-Cf7ZWKWZ.js → nn-NO-EMX5MJX5-Cekj8s_-.js} +1 -1
- package/dist/client/assets/{oc-FR-ROEINTVO-lM7Nl7hD.js → oc-FR-ROEINTVO-DW-kHJ81.js} +1 -1
- package/dist/client/assets/{ordinal-Dz3y_j0K.js → ordinal-De-qfORd.js} +1 -1
- package/dist/client/assets/{pa-IN-ZYN6SUDY-C9WNUTeR.js → pa-IN-ZYN6SUDY-CnhULOGp.js} +1 -1
- package/dist/client/assets/packet-YPE3B663-VxGcYggl.js +1 -0
- package/dist/client/assets/percentages-5DKR754L-Ug3UfchV.js +1 -0
- package/dist/client/assets/{pica-CgGaIJly.js → pica-DcQ1xKp1.js} +1 -1
- package/dist/client/assets/pie-LRSECV5Y-7RrvmmEk.js +1 -0
- package/dist/client/assets/pieDiagram-4H26LBE5-C6MCExtR.js +30 -0
- package/dist/client/assets/{pl-PL-6VTG7PHC-DqRVepnC.js → pl-PL-6VTG7PHC-C9rBsz9v.js} +1 -1
- package/dist/client/assets/{preview-render-compiler-IUtgIlOM.js → preview-render-compiler-CSggyCbw.js} +1 -1
- package/dist/client/assets/preview-render-compiler-TPMesM_L.js +1 -0
- package/dist/client/assets/{preview-render-profile-Bf6R7v4w.js → preview-render-profile-CQR0o67h.js} +5 -5
- package/dist/client/assets/{preview-render-worker-BwQ5sPy9.js → preview-render-worker-CifbXdlx.js} +2 -2
- package/dist/client/assets/{pt-BR-5YFKRR5G-CopLYEA6.js → pt-BR-5YFKRR5G-BVyxOCjg.js} +1 -1
- package/dist/client/assets/{pt-PT-GEIXXZ67-BjZ_Lphg.js → pt-PT-GEIXXZ67-5CbVaVay.js} +1 -1
- package/dist/client/assets/quadrantDiagram-W4KKPZXB-CD77Rny0.js +7 -0
- package/dist/client/assets/quick-switcher-controller-CVJBt6V9.js +12 -0
- package/dist/client/assets/radar-GUYGQ44K-2SBnfFng.js +1 -0
- package/dist/client/assets/{requirementDiagram-MS252O5E-CtUIQnWa.js → requirementDiagram-4Y6WPE33-DdKM6ZWI.js} +4 -4
- package/dist/client/assets/{ro-RO-E2P6TFZI-DakDz5Xu.js → ro-RO-E2P6TFZI-DANwkfep.js} +1 -1
- package/dist/client/assets/{room-z2w9b96b.js → room-Cha55fQg.js} +1 -1
- package/dist/client/assets/{ru-RU-YBIIY43T-BMvCT-XT.js → ru-RU-YBIIY43T-BWZSxhA5.js} +1 -1
- package/dist/client/assets/runtime-config-CM_2pVYD.js +1 -0
- package/dist/client/assets/{sankeyDiagram-XADWPNL6-tcSeuifE.js → sankeyDiagram-5OEKKPKP-BH3_LNkI.js} +36 -6
- package/dist/client/assets/sequenceDiagram-3UESZ5HK-CCGL7FMW.js +162 -0
- package/dist/client/assets/{si-LK-673C2CI2-hGdH1S9E.js → si-LK-673C2CI2-Bqr808AJ.js} +1 -1
- package/dist/client/assets/{sk-SK-CKZHQ4AP-DiRA-fj8.js → sk-SK-CKZHQ4AP-B2PvXXeU.js} +1 -1
- package/dist/client/assets/{sl-SI-557H2GWM-DN94n_1-.js → sl-SI-557H2GWM-IPVDhzgb.js} +1 -1
- package/dist/client/assets/{src-BuiVcSz-.js → src-BshjqEL2.js} +1 -1
- package/dist/client/assets/stateDiagram-AJRCARHV-ljJcYRX4.js +1 -0
- package/dist/client/assets/stateDiagram-v2-BHNVJYJU-DXm0ynOB.js +1 -0
- package/dist/client/assets/subset-shared.chunk-C9mEHUfV.js +1 -0
- package/dist/client/assets/{subset-worker.chunk-kj1e3wjW.js → subset-worker.chunk-BW_EF59g.js} +1 -1
- package/dist/client/assets/{sv-SE-XOPKKDWS-CkHUNABj.js → sv-SE-XOPKKDWS-CQipq9Nf.js} +1 -1
- package/dist/client/assets/{ta-IN-XBH7DQI3-W-157oVK.js → ta-IN-XBH7DQI3-Cj2o89vS.js} +1 -1
- package/dist/client/assets/{th-TH-TOCWH3R4-BsU-Pydr.js → th-TH-TOCWH3R4-IOX-l13w.js} +1 -1
- package/dist/client/assets/{timeline-definition-GMOUNBTQ-Bs6U53Mo.js → timeline-definition-PNZ67QCA-CUVPem2o.js} +5 -5
- package/dist/client/assets/{tr-TR-GXW6CYY5-CTddyq89.js → tr-TR-GXW6CYY5-DBVLEsZg.js} +1 -1
- package/dist/client/assets/treeView-BLDUP644-DItqHrxu.js +1 -0
- package/dist/client/assets/treemap-LRROVOQU-DD1ESKp7.js +1 -0
- package/dist/client/assets/{uk-UA-IJKTNUDG-1LzXkII3.js → uk-UA-IJKTNUDG-C5kaymku.js} +1 -1
- package/dist/client/assets/{uz-UZ-TBZZEA4V-kqm-qcUj.js → uz-UZ-TBZZEA4V-lMna4tx1.js} +1 -1
- package/dist/client/assets/{vault-api-client-BDKKvtOF.js → vault-api-client-Fa51l2lE.js} +1 -1
- package/dist/client/assets/{vault-utils-CRpy8MQz.js → vault-utils-BbJUHPCf.js} +1 -1
- package/dist/client/assets/vennDiagram-CIIHVFJN-Bb1KSPKA.js +34 -0
- package/dist/client/assets/{vi-VN-MULSGNVB-C3H2AUhm.js → vi-VN-MULSGNVB-BAcoCjsz.js} +1 -1
- package/dist/client/assets/wardley-L42UT6IY-BoSI-SvR.js +1 -0
- package/dist/client/assets/{wardleyDiagram-NUSXRM2D-C-scJfPY.js → wardleyDiagram-YWT4CUSO-EdTzLQiR.js} +61 -3
- package/dist/client/assets/{xychartDiagram-5P7HB3ND-D3nQoxhz.js → xychartDiagram-2RQKCTM6-BoQFrGlt.js} +3 -3
- package/dist/client/assets/{zh-CN-MVX3E32U-BULPbsyl.js → zh-CN-MVX3E32U-sW-DCFHP.js} +1 -1
- package/dist/client/assets/{zh-HK-JNU5RLIE-bNGmeSaW.js → zh-HK-JNU5RLIE-Duqu8EG_.js} +1 -1
- package/dist/client/assets/{zh-TW-LENVCA6T-CQDp064P.js → zh-TW-LENVCA6T-BHC0OLnd.js} +1 -1
- package/dist/client/drawio-editor.html +1 -1
- package/dist/client/excalidraw-editor.html +1 -1
- package/dist/client/export-document.html +1 -1
- package/dist/client/index.html +2 -2
- package/package.json +14 -14
- package/src/client/application/mermaid-preview-hydrator.js +26 -8
- package/src/client/application/preview-renderer.js +6 -1
- package/src/client/application/quick-switcher-loader.js +14 -0
- package/src/client/application/workspace-route-controller.js +14 -0
- package/src/client/domain/drawio-frame-load.js +28 -0
- package/src/client/domain/hash-routes.js +16 -1
- package/src/client/domain/runtime-paths.js +7 -0
- package/src/client/drawio-editor.js +23 -10
- package/src/client/excalidraw-editor.js +66 -13
- package/src/client/infrastructure/editor-session.js +4 -0
- package/src/client/infrastructure/editor-view-adapter.js +30 -0
- package/src/client/infrastructure/runtime-config.js +17 -2
- package/src/client/infrastructure/vault-api-client.js +11 -0
- package/src/client/presentation/app-shell-template.js +4 -0
- package/src/client/presentation/drawio-embed-controller.js +230 -64
- package/src/client/presentation/excalidraw-embed-controller.js +51 -60
- package/src/client/presentation/quick-switcher-controller.js +217 -21
- package/src/client/presentation/quick-switcher-text-search.js +125 -0
- package/src/client/styles/features/diagram-preview.css +43 -23
- package/src/client/styles/features/quick-switcher.css +153 -15
- package/src/client/styles/layout/shell.css +6 -3
- package/src/client/styles/surfaces/excalidraw-editor.css +4 -0
- package/src/server/config/env.js +1 -0
- package/src/server/create-app-server.js +29 -6
- package/src/server/domain/ripgrep-search-service.js +365 -0
- package/src/server/infrastructure/http/create-request-handler.js +3 -1
- package/src/server/infrastructure/http/create-static-handler.js +10 -1
- package/src/server/infrastructure/http/create-vault-api-handler.js +2 -0
- package/src/server/infrastructure/http/create-vault-api-query-handler.js +38 -2
- package/src/server/infrastructure/workspace/file-system-sync-service.js +4 -0
- package/dist/client/assets/_baseFor-BSErPbF2.js +0 -1
- package/dist/client/assets/architecture-YZFGNWBL-DWWrde02.js +0 -1
- package/dist/client/assets/blockDiagram-DXYQGD6D-6UN-nR8-.js +0 -132
- package/dist/client/assets/channel-XGCkuPi6.js +0 -1
- package/dist/client/assets/chunk-2KRD3SAO-CFcF2aNP.js +0 -1
- package/dist/client/assets/chunk-336JU56O-DvrrHsJT.js +0 -2
- package/dist/client/assets/chunk-426QAEUC-CEbmCgux.js +0 -1
- package/dist/client/assets/chunk-4TB4RGXK-CoouNThi.js +0 -206
- package/dist/client/assets/chunk-5FUZZQ4R-CxIIxXPy.js +0 -62
- package/dist/client/assets/chunk-5PVQY5BW-ciE7eHID.js +0 -2
- package/dist/client/assets/chunk-67CJDMHE-CW-fbgQB.js +0 -1
- package/dist/client/assets/chunk-7N4EOEYR-DbAW6XnF.js +0 -1
- package/dist/client/assets/chunk-AA7GKIK3-ClDHDAza.js +0 -1
- package/dist/client/assets/chunk-CIAEETIT-BnB8a6HR.js +0 -1
- package/dist/client/assets/chunk-ENJZ2VHE-BQj_1YA_.js +0 -10
- package/dist/client/assets/chunk-FOC6F5B3-Bw6XfKDP.js +0 -1
- package/dist/client/assets/chunk-ICPOFSXX-DqJi89rc.js +0 -122
- package/dist/client/assets/chunk-K5T4RW27-CQtjKF2g.js +0 -94
- package/dist/client/assets/chunk-KGLVRYIC-BWSPiKjp.js +0 -1
- package/dist/client/assets/chunk-ORNJ4GCN-Csga44e5.js +0 -1
- package/dist/client/assets/chunk-OYMX7WX6-DvtmCasj.js +0 -231
- package/dist/client/assets/chunk-QZHKN3VN-CHVH9_3S.js +0 -1
- package/dist/client/assets/chunk-YHkbxXgt.js +0 -1
- package/dist/client/assets/chunk-YKPWT25G-GISHuloq.js +0 -35
- package/dist/client/assets/classDiagram-6PBFFD2Q-D1KhAUL3.js +0 -1
- package/dist/client/assets/classDiagram-v2-HSJHXN6E-BSyyJpnR.js +0 -1
- package/dist/client/assets/clone-DI0bYZ1L.js +0 -1
- package/dist/client/assets/dagre-Dn6rkrte.js +0 -1
- package/dist/client/assets/dagre-KV5264BT-COzej2en.js +0 -4
- package/dist/client/assets/diagram-G4DWMVQ6-CbswIU9X.js +0 -24
- package/dist/client/assets/diagram-MMDJMWI5-BE-yOVGX.js +0 -43
- package/dist/client/assets/dist-BCzW2jDH.js +0 -1
- package/dist/client/assets/dist-BOn786F3.js +0 -1
- package/dist/client/assets/dist-BwUX6zpo.js +0 -1
- package/dist/client/assets/dist-D-ixVAsS2.js +0 -1
- package/dist/client/assets/dist-GgGgSSbl.js +0 -1
- package/dist/client/assets/drawio-editor-B_Sr8Z_Z.js +0 -9
- package/dist/client/assets/excalidraw-editor-B0XXVLHd.js +0 -9
- package/dist/client/assets/excalidraw-scene-wAbVSY1L.js +0 -176
- package/dist/client/assets/excalidrawEditor-37sk03H8.js +0 -2
- package/dist/client/assets/exportDocument-WQNApAbg.js +0 -2
- package/dist/client/assets/flatten-DjXjUsvv.js +0 -1
- package/dist/client/assets/ganttDiagram-T4ZO3ILL-B-NMvHWN.js +0 -292
- package/dist/client/assets/gitGraph-7Q5UKJZL-DWNinXu4.js +0 -1
- package/dist/client/assets/gitGraphDiagram-UUTBAWPF-B95qkCUx.js +0 -106
- package/dist/client/assets/graphlib-CAwOVCJc.js +0 -1
- package/dist/client/assets/image-J2CAS7OM-DD4DaQTs.js +0 -1
- package/dist/client/assets/index-maPm_Kvk.css +0 -1
- package/dist/client/assets/info-OMHHGYJF-DtYG_rX0.js +0 -1
- package/dist/client/assets/isEmpty-CpfhGGBo.js +0 -1
- package/dist/client/assets/line-BCItEgq3.js +0 -1
- package/dist/client/assets/mermaid-parser.core-CsTVsPcD.js +0 -4
- package/dist/client/assets/mermaid-runtime-BGlnoUXY.js +0 -11
- package/dist/client/assets/packet-4T2RLAQJ-CUVefhAv.js +0 -1
- package/dist/client/assets/percentages-5DKR754L-DuhOjTM2.js +0 -1
- package/dist/client/assets/pie-ZZUOXDRM-BHBJ1dLX.js +0 -1
- package/dist/client/assets/pieDiagram-DEJITSTG-BOo-WzjZ.js +0 -30
- package/dist/client/assets/preview-render-compiler-9SmLUP5V.js +0 -1
- package/dist/client/assets/quadrantDiagram-34T5L4WZ-2vfo0l5S.js +0 -7
- package/dist/client/assets/quick-switcher-controller-B1erSgJ1.js +0 -5
- package/dist/client/assets/radar-PYXPWWZC-2jR4qZNU.js +0 -1
- package/dist/client/assets/reduce-ChpYjEUB.js +0 -1
- package/dist/client/assets/runtime-config-BcUbZKho.js +0 -1
- package/dist/client/assets/sequenceDiagram-FGHM5R23-DtF-1Kt2.js +0 -157
- package/dist/client/assets/stateDiagram-FHFEXIEX-DKk7Sb0f.js +0 -1
- package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-DJUaiADr.js +0 -1
- package/dist/client/assets/subset-shared.chunk-CWNYNLru.js +0 -1
- package/dist/client/assets/treeView-SZITEDCU-DN5dP2ol.js +0 -1
- package/dist/client/assets/treemap-W4RFUUIX-Dva7DBJR.js +0 -1
- package/dist/client/assets/vennDiagram-DHZGUBPP-DNnIjRae.js +0 -34
- package/dist/client/assets/wardley-RL74JXVD-CDZW5uzY.js +0 -1
- /package/dist/client/assets/{array-B3agRrCs.js → array-7rJMcyYQ.js} +0 -0
- /package/dist/client/assets/{cytoscape.esm-BurByw8X.js → cytoscape.esm-B_ygTtvl.js} +0 -0
- /package/dist/client/assets/{defaultLocale-B_FbTTbl.js → defaultLocale-DKHHE2Ij.js} +0 -0
- /package/dist/client/assets/{drawio-room-1i6Nn0_Z.js → drawio-room-DrZ-gy4N.js} +0 -0
- /package/dist/client/assets/{excalidraw-mermaid-stub-DzxtBcQW.js → excalidraw-mermaid-stub-Co4Okjfg.js} +0 -0
- /package/dist/client/assets/{file-kind-DmKq2MvD.js → file-kind-DLz-bCzA.js} +0 -0
- /package/dist/client/assets/{image-blob-reduce.esm-D8JQdTFk.js → image-blob-reduce.esm-CRyv8pnU.js} +0 -0
- /package/dist/client/assets/{init-DtLQcSuO.js → init-EmgYNkpL.js} +0 -0
- /package/dist/client/assets/{katex-CXYULLWy.js → katex-Beiidjxi.js} +0 -0
- /package/dist/client/assets/{path-DIlZIGue.js → path-vqW-z8T-.js} +0 -0
- /package/dist/client/assets/{preview-diagram-utils-Nqpp4FNV.js → preview-diagram-utils-D94KrSQH.js} +0 -0
- /package/dist/client/assets/{rough.esm-BU2knLt9.js → rough.esm-DE_lJ5Ge.js} +0 -0
- /package/dist/client/assets/{roundRect-BzEouiv_.js → roundRect-BMsJLtvm.js} +0 -0
- /package/dist/client/assets/{yjs-provider-reset-guard-DSPzcvAO.js → yjs-provider-reset-guard-CNmMf4Qd.js} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"./chunk-SRAX5OIU-
|
|
1
|
+
import"./chunk-SRAX5OIU-C_UPA-vt.js";var e={paste:`Вставити`,pasteAsPlaintext:`Вставити як текст`,pasteCharts:`Вставити діаграми`,selectAll:`Вибрати все`,multiSelect:`Додати елемент до вибраного`,moveCanvas:`Перемістити полотно`,cut:`Вирізати`,copy:`Копіювати`,copyAsPng:`Копіювати як PNG`,copyAsSvg:`Копіювати як SVG`,copyText:`Копіювати як текст`,copySource:`Скопіювати джерело в буфер обміну`,convertToCode:`Перетворити у код`,bringForward:`Перемістити вперед`,sendToBack:`На задній план`,bringToFront:`На передній план`,sendBackward:`Перемістити назад`,delete:`Видалити`,copyStyles:`Копіювати стилі`,pasteStyles:`Вставити стилі`,stroke:`Контур`,changeStroke:`Змінити колір обведення`,background:`Тло`,changeBackground:`Змінити колір фону`,fill:`Заповнити`,strokeWidth:`Товщина контуру`,strokeStyle:`Стиль контуру`,strokeStyle_solid:`Суцільний`,strokeStyle_dashed:`Пунктир`,strokeStyle_dotted:`Крапки`,sloppiness:`Охайність`,opacity:`Прозорість`,textAlign:`Вирівнювання тексту`,edges:`Краї`,sharp:`Гострі`,round:`Круглі`,arrowheads:`Закінчення стрілки`,arrowhead_none:`Жоден`,arrowhead_arrow:`Стрілка`,arrowhead_bar:`Колона`,arrowhead_circle:`Коло`,arrowhead_circle_outline:`Коло (контур)`,arrowhead_triangle:`Трикутник`,arrowhead_triangle_outline:`Трикутник (контур)`,arrowhead_diamond:`Ромб`,arrowhead_diamond_outline:`Ромб (контур)`,arrowhead_crowfoot_many:``,arrowhead_crowfoot_one:``,arrowhead_crowfoot_one_or_many:``,more_options:`Інші опції`,arrowtypes:`Тип стрілки`,arrowtype_sharp:`Гостра стрілка`,arrowtype_round:`Вигнута стрілка`,arrowtype_elbowed:`Прямокутна стрілка`,fontSize:`Розмір шрифту`,fontFamily:`Шрифт`,addWatermark:`Додати "Зроблено з Excalidraw"`,handDrawn:`Ручний апарат`,normal:`Звичайний`,code:`Код`,small:`Малий`,medium:`Середній`,large:`Великий`,veryLarge:`Дуже великий`,solid:`Суцільна`,hachure:`Штриховка`,zigzag:`Зиґзаґ`,crossHatch:`Перехресна штриховка`,thin:`Тонкий`,bold:`Жирний`,left:`Зліва`,center:`По центру`,right:`Справа`,extraBold:`Товстий`,architect:`Архітектор`,artist:`Художник`,cartoonist:`Карикатурист`,fileTitle:`Назва файла`,colorPicker:`Палітра кольорів`,canvasColors:`Використовується на полотні`,canvasBackground:`Тло полотна`,drawingCanvas:`Полотно`,clearCanvas:`Прозоре полотно`,layers:`Шари`,actions:`Дії`,language:`Мова`,liveCollaboration:`Спільна робота наживо...`,duplicateSelection:`Дублювати`,untitled:`Без назви`,name:`Ім’я`,yourName:`Ваше ім’я`,madeWithExcalidraw:`Зроблено з Excalidraw`,group:`Групувати виділене`,ungroup:`Розгрупувати виділене`,collaborators:`Співавтори`,toggleGrid:`Перемикати сітку`,addToLibrary:`Додати до бібліотеки`,removeFromLibrary:`Видалити з бібліотеки`,libraryLoadingMessage:`Завантаження бібліотеки…`,libraries:`Всі бібліотеки`,loadingScene:`Завантаження сцени…`,loadScene:`Завантажити сцену з файлу`,align:`Вирівнювання`,alignTop:`Вирівняти по верхньому краю`,alignBottom:`Вирівняти по нижньому краю`,alignLeft:`Вирівняти по лівому краю`,alignRight:`Вирівнювання по правому краю`,centerVertically:`Центрувати по вертикалі`,centerHorizontally:`Центрувати по горизонталі`,distributeHorizontally:`Розподілити по горизонталі`,distributeVertically:`Розподілити по вертикалі`,flipHorizontal:`Віддзеркалити горизонтально`,flipVertical:`Віддзеркалити вертикально`,viewMode:`Режим перегляду`,share:`Поділитися`,showStroke:`Показати палітру для контура`,showBackground:`Показати палітру для фону`,showFonts:`Показати засіб вибору шрифту`,toggleTheme:`Перемикати світлу/темну теми`,theme:`Тема`,personalLib:`Персональна бібліотека`,excalidrawLib:`Бібліотека Excalidraw`,decreaseFontSize:`Зменшити розмір шрифту`,increaseFontSize:`Збільшити розмір шрифту`,unbindText:`Відв'язати текст`,bindText:`Прив’язати текст до контейнера`,createContainerFromText:`Огорнути текст у контейнер`,link:{edit:`Редагування посилання`,editEmbed:`Редагувати вбудоване посилання`,create:`Додати посилання`,label:`Посилання`,labelEmbed:`Посилання і вкладення`,empty:`Посилання відсутнє`,hint:`Введіть або вставте ваше посилання тут`,goToElement:`Перейти до цільового елемента`},lineEditor:{edit:`Редагувати лінію`,editArrow:`Редагувати стрілку`},polygon:{breakPolygon:``,convertToPolygon:``},elementLock:{lock:`Блокувати`,unlock:`Розблокувати`,lockAll:`Заблокувати все`,unlockAll:`Розблокувати все`},statusPublished:`Опубліковано`,sidebarLock:`Не закривати бокове меню`,selectAllElementsInFrame:`Обрати всі елементи у фреймі`,removeAllElementsFromFrame:`Видалити всі елементи з фрейму`,eyeDropper:`Вибрати колір з полотна`,textToDiagram:`Діаграма з тексту`,prompt:`Запит`,followUs:`Підписатися`,discordChat:`Чат в Discord`,zoomToFitViewport:`Збільшити до розміру перегляду`,zoomToFitSelection:`Збільшити, щоб відповідати виділенню`,zoomToFit:`Збільшити, щоб умістити всі елементи`,installPWA:`Встановити Excalidraw локально (PWA)`,autoResize:`Увімкнути автоматичне змінення розміру тексту`,imageCropping:`Обрізка зображення`,unCroppedDimension:`Необрізаний розмір`,copyElementLink:`Копіювати посилання на об'єкт`,linkToElement:`Посилання на об’єкт`,wrapSelectionInFrame:`Обтікання виділеного фрагмента рамкою`,tab:``,shapeSwitch:``},t={title:`Посилання на об’єкт`,desc:`Натисніть на фігуру на полотні або вставте посилання.`,notFound:`Зв'язаний об'єкт не знайдено на полотні.`},n={noItems:`Тут поки пусто...`,hint_emptyLibrary:`Виберіть об'єкт на полотні, щоб додати його сюди або встановіть бібліотеку з публічного репозиторію, що нижче.`,hint_emptyPrivateLibrary:`Виберіть елемент на полотні, щоб додати його сюди.`,search:{inputPlaceholder:``,heading:``,noResults:``,clearSearch:``}},r={title:`Знайти на полотні`,noMatch:`Збігів не знайдено...`,singleResult:`результат`,multipleResults:`результати`,placeholder:`Знайти текст на полотні...`,frames:``,texts:``},i={clearReset:`Очистити полотно`,exportJSON:`Експорт у файл`,exportImage:`Експорт зображення...`,export:`Зберегти як...`,copyToClipboard:`Скопіювати до буферу обміну`,copyLink:`Копіювати посилання`,save:`Зберегти до поточного файлу`,saveAs:`Зберегти як`,load:`Відкрити`,getShareableLink:`Отримати посилання`,close:`Закрити`,selectLanguage:`Обрати мову`,scrollBackToContent:`Повернутися до вмісту`,zoomIn:`Збільшити`,zoomOut:`Зменшити`,resetZoom:`Скинути масштаб`,menu:`Меню`,done:`Готово`,edit:`Редагувати`,undo:`Відмінити`,redo:`Повторити`,resetLibrary:`Очистити бібліотеку`,createNewRoom:`Створити нову кімнату`,fullScreen:`Повноекранний режим`,darkMode:`Темна тема`,lightMode:`Світла тема`,systemMode:`Системний режим`,zenMode:`Режим Дзен`,objectsSnapMode:`Прив'язати до об'єктів`,exitZenMode:`Вийти з дзен-режиму`,cancel:`Скасувати`,saveLibNames:``,clear:`Очистити`,remove:`Видалити`,embed:`Перемкнути вкладення`,publishLibrary:``,submit:`Надіслати`,confirm:`Підтвердити`,embeddableInteractionButton:`Натисніть для взаємодії`},a={clearReset:`Це очистить все полотно. Впевнені?`,couldNotCreateShareableLink:`Не вдалося створити посилання.`,couldNotCreateShareableLinkTooBig:`Не вдалося створити посилання для обміну: сцена занадто велика`,couldNotLoadInvalidFile:`Файл з помилками не відкрився`,importBackendFailed:`Імпортування невдале.`,cannotExportEmptyCanvas:`Не вийшло експортувати пусте полотно.`,couldNotCopyToClipboard:`Не вдалося скопіювати до буфера обміну.`,decryptFailed:`Не вдалося розшифрувати дані.`,uploadedSecurly:`Це завантаження було захищене наскрізним шифруванням, а це означає що сервер Excalidraw та інші не зможуть прочитати вміст.`,loadSceneOverridePrompt:`Завантаження зовнішнього креслення замінить ваш наявний контент. Продовжити?`,collabStopOverridePrompt:`Зупинка сесії перезапише ваш попередній, локально збережений малюнок. Ви впевнені?
|
|
2
2
|
|
|
3
3
|
(Якщо ви хочете зберегти локальний малюнок, просто закрийте замість нього вкладку браузера.)`,errorAddingToLibrary:`Не вдалося додати елемент до бібліотеки`,errorRemovingFromLibrary:`Не вдалося видалити елемент з бібліотеки`,confirmAddLibrary:`Це призведе до додавання {{numShapes}} фігур до вашої бібліотеки. Ви впевнені?`,imageDoesNotContainScene:`Виглядає ніби зображення не містить корисної інформації. Ви увімкнули вбудовування сцени при експорті?`,cannotRestoreFromImage:`Сцена не може бути відновлена з цього файлу зображення`,invalidSceneUrl:`Не вдалося імпортувати сцену з наданого URL. Він або недоформований, або не містить дійсних даних Excalidraw JSON.`,resetLibrary:`Це призведе до очищення бібліотеки. Ви впевнені?`,removeItemsFromsLibrary:`Видалити {{count}} елемент(ів) з бібліотеки?`,invalidEncryptionKey:`Ключ шифрування повинен бути довжиною до 22 символів. Спільну роботу вимкнено.`,collabOfflineWarning:`Немає підключення до Інтернету.
|
|
4
4
|
Ваші зміни не будуть збережені!`,localStorageQuotaExceeded:``},o={unsupportedFileType:`Непідтримуваний тип файлу.`,imageInsertError:`Не вдалося вставити зображення. Повторіть спробу пізніше...`,fileTooBig:`Занадто великий розмір файлу, максимальний розмір файлу {{maxSize}}.`,svgImageInsertError:`Не вдалося вставити SVG-зображення. Помилка розмітки SVG.`,failedToFetchImage:`Не вдалося отримати зображення.`,cannotResolveCollabServer:`Не вдалося приєднатися до сервера. Перезавантажте сторінку та повторіть спробу.`,importLibraryError:`Не вдалося завантажити бібліотеку`,saveLibraryError:`Не вдалося зберегти бібліотеку в сховище. Збережіть свою бібліотеку у файл локально, щоб не втратити зміни.`,collabSaveFailed:`Не вдалося зберегти у базу даних сервера. Якщо проблеми не зникнуть, Вам слід зберегти файл локально, щоб не втратити роботу.`,collabSaveFailed_sizeExceeded:`Полотно завелике! Не вдалося зберегти у базу даних сервера. Вам слід зберегти файл локально, щоб не втратити свою роботу.`,imageToolNotSupported:`Зображення відключені.`,brave_measure_text_error:{line1:`Ви використовуєте браузер Brave з увімкненим налаштуванням <bold>Агресивного Блокування Розпізнавання Пристрою</bold>.`,line2:`Це може нашкодити <bold>текстовим елементам</bold> у ваших малюнках.`,line3:`Ми наполегливо рекомендуємо вимкнути це налаштування. Виконайте наступні <link>кроки</link>, щоб виправити це.`,line4:`Якщо вимкнення цього параметра не вирішує показ текстових елементів, тоді створіть, будь ласка, <issueLink>запит на розв'язання проблеми</issueLink> на нашому GitHub або напишіть нам у <discordLink>Discord</discordLink>`},libraryElementTypeError:{embeddable:`Вбудовані елементи не можна додати в бібліотеку.`,iframe:`Елементи iFrame не можна додати до бібліотеки.`,image:`Підтримка додавання зображень в бібліотеку найближчим часом!`},asyncPasteFailedOnRead:`Не вдалося вставити (неможливо прочитати з буфера обміну).`,asyncPasteFailedOnParse:`Не вдалося вставити.`,copyToSystemClipboardFailed:`Не вдалося скопіювати до буфера обміну.`},s={selection:`Виділення`,lasso:``,image:`Вставити зображення`,rectangle:`Прямокутник`,diamond:`Ромб`,ellipse:`Еліпс`,arrow:`Стрілка`,line:`Лінія`,freedraw:`Малювати`,text:`Текст`,library:`Бібліотека`,lock:`Залишити обраний інструмент активним після креслення`,penMode:`Режим пера - запобігання дотику`,link:`Додати/оновити посилання для вибраної форми`,eraser:`Гумка`,frame:`Інструмент фрейму`,magicframe:`Перетворити у код`,embeddable:`Веб вкладення`,laser:`Лазерний вказівник`,hand:`Рука (інструмент для панорамування)`,extraTools:`Інші інструменти`,mermaidToExcalidraw:`Mermaid у Excalidraw`,convertElementType:``},c={rectangle:`Прямокутник`,diamond:`Ромб`,ellipse:`Еліпс`,arrow:`Стрілка`,line:`Лінія`,freedraw:`Малювання від руки`,text:`Текст`,image:`Зображення`,group:`Група`,frame:`Рамка`,magicframe:`Перетворити у код`,embeddable:`Веб вкладення`,selection:`Виділення`,iframe:`IFrame`},l={canvasActions:`Дії з полотном`,selectedShapeActions:`Вибрані дії з фігурою`,shapes:`Фігури`},u={dismissSearch:``,canvasPanning:``,linearElement:`Натисніть щоб додати кілька точок. Перетягніть щоб намалювати одну лінію`,arrowTool:``,arrowBindModifiers:``,freeDraw:`Натисніть і потягніть, відпустіть коли завершите`,text:`Порада: можна також додати текст, двічі клацнувши по будь-якому місці інструментом вибору`,embeddable:`Клікніть та перетягніть для створення вбудованого вебсайту`,text_selected:``,text_editing:``,linearElementMulti:``,lockAngle:``,resize:``,resizeImage:``,rotate:``,lineEditor_info:``,lineEditor_line_info:``,lineEditor_pointSelected:``,lineEditor_nothingSelected:``,publishLibrary:`Опублікувати свою власну бібліотеку`,bindTextToElement:``,createFlowchart:``,deepBoxSelect:``,eraserRevert:``,firefox_clipboard_write:`Цю функцію можна ввімкнути, встановивши значення "true" для налаштування "dom.events.asyncClipboard.clipboardItem". Перейдіть на сторінку «about:config», щоб змінити налаштування браузера у Firefox.`,disableSnapping:``,enterCropEditor:``,leaveCropEditor:``},d={cannotShowPreview:`Не вдається показати попередній перегляд`,canvasTooBig:`Полотно може бути завеликим.`,canvasTooBigTip:`Порада: спробуйте підсунути найвіддаленіші елементи ближче один до одного.`},f={headingMain:`Сталася помилка. Спробуйте <button>перезавантажити сторінку.</button>`,clearCanvasMessage:`Якщо перезавантаження не допоможе, спробуйте <button>очистити полотно.</button>`,clearCanvasCaveat:` Це призведе до втрати роботи `,trackedToSentry:`Помилка з ідентифікатором {{eventId}} було відслідковано в нашій системі.`,openIssueMessage:`Ми були дуже обережні, щоб не включати інформацію про ваші сцени в текст помилки. Якщо ваша сцена не була приватна, будь ласка, розгляньте можливість продовження на нашому <button>трекер помилок.</button> Будь ласка, додайте інформацію нижче, скопіюючи і вставляючи у GitHub issue.`,sceneContent:`Вміст сцени:`},p={or:`Або`},m={desc_intro:`Запросіть людей до співпраці над вашим малюнком.`,desc_privacy:`Не хвилюйтеся, сеанс наскрізно зашифрований і повністю приватний. Навіть наш сервер не бачить, що ви малюєте.`,button_startSession:`Почати сесію`,button_stopSession:`Закрити сесію`,desc_inProgressIntro:`Сесія спільної роботи над кресленням триває.`,desc_shareLink:`Поділіться цим посиланням з будь-ким для спільної роботи:`,desc_exitSession:`Зупинка сесії відключить вас від кімнати, але ви зможете продовжити роботу з полотном локально. Зверніть увагу, що це не вплине на інших людей, і вони все одно зможуть працювати над їх версією.`,shareTitle:`Приєднатися до сеансу спільної роботи на Excalidraw`},h={title:`Помилка`},g={disk_title:`Зберегти на диск`,disk_details:`Експорт даних сцени в файл, з якого можна імпортувати пізніше.`,disk_button:`Зберегти до файлу`,link_title:`Доступ за посиланням`,link_details:`Експортувати як посилання тільки для читання.`,link_button:`Експортувати у посилання`,excalidrawplus_description:`Збережіть сцену у вашому обліковому записі Excalidraw+.`,excalidrawplus_button:`Експортувати`,excalidrawplus_exportError:`Не вдалося експортувати у Excalidraw+...`},_={blog:`Наш блог`,click:`натиснути`,deepSelect:`Глибокий вибір`,deepBoxSelect:`Глибоке виділення в межах рамки, та обмеження перетягування`,createFlowchart:`Створіть графік із загального елемента`,navigateFlowchart:`Перейти на графік`,curvedArrow:`Крива стрілка`,curvedLine:`Крива лінія`,documentation:`Документація`,doubleClick:`подвійний клік`,drag:`перетягнути`,editor:`Редактор`,editLineArrowPoints:`Редагувати лінію/стрілки`,editText:`Редагувати текст / додати позначку`,github:`Знайшли помилку? Повідомте`,howto:`Дотримуйтесь наших інструкцій`,or:`або`,preventBinding:`Запобігти зв'язування зі стрілками`,tools:`Інструменти`,shortcuts:`Гарячі клавіші`,textFinish:`Завершити редагування (текстовий редактор)`,textNewLine:`Додати новий рядок (текстовий редактор)`,title:`Допомога`,view:`Вигляд`,zoomToFit:`Збільшити щоб умістити всі елементи`,zoomToSelection:`Наблизити вибране`,toggleElementLock:`Заблокувати/розблокувати вибране`,movePageUpDown:`Пересунути сторінку вгору/вниз`,movePageLeftRight:`Пересунути сторінку вліво/вправо`,cropStart:`Обрізати зображення`,cropFinish:`Закінчити обрізку зображення`},v={title:`Очистити полотно`},y={title:`Опублікувати бібліотеку`,itemName:`Назва елементу`,authorName:`Ім'я автора`,githubUsername:`Ім'я користувача Github`,twitterUsername:`Ім'я користувача Twitter`,libraryName:`Назва бібліотеки`,libraryDesc:`Опис бібліотеки`,website:`Вебсайт`,placeholder:{authorName:`Ваше ім'я або ім'я користувача`,libraryName:`Назва вашої бібліотеки`,libraryDesc:`Опис вашої бібліотеки, щоб допомогти людям зрозуміти її використання`,githubHandle:`Ім'я користувача в GitHub (необов'язково), щоб ви могли редагувати бібліотеку під час перевірки`,twitterHandle:`Ім'я користувача у Twitter (необов'язково), щоб ми могли згадати вас під час промоції у Twitter`,website:`Посилання на ваш особистий сайт або інший сайт (опціонально)`},errors:{required:`Обов’язково`,website:`Введіть дійсну URL-адресу`},noteDescription:`Подати бібліотеку, щоб вона була включена до <link>публічного репозиторія бібліотек</link>для інших людей, для використання у їхніх полотнах.`,noteGuidelines:`Спочатку бібліотека повинна бути підтверджена. Будь ласка, прочитайте <link>настанови</link> перед відправкою. Вам знадобиться обліковий запис на GitHub, щоб колаборувати та вносити зміни, але це не обов'язково.`,noteLicense:`Публікуючи, ви погоджуєтеся, що бібліотека буде опублікована під <link>Ліцензія MIT, </link>, простими словами, це означає що нею зможе користуватися будь-хто без обмежень.`,noteItems:`Кожен об'єкт в бібліотеці повинен мати назву, це потрібно для пошуку та фільтрування. Наступні об'єкти бібліотеки будуть включені:`,atleastOneLibItem:`Будь ласка, виберіть принаймні один елемент бібліотеки, щоб почати`,republishWarning:`Зауважте, деякі з вибраних елементів позначені як вже опубліковані/надіслані. Ви повинні повторно надсилати елементи тільки при оновленні вже опублікованої бібліотеки чи при публікації бібліотеки.`},b={title:`Бібліотека відправлена`,content:`Дякуємо, {{authorName}}. Ваша бібліотека була відправлена для розгляду. Ви можете відстежувати статус<link>тут</link>`},x={resetLibrary:`Очистити бібліотеку`,removeItemsFromLib:`Видалити вибрані елементи з бібліотеки`},S={header:`Експортувати зображення`,label:{withBackground:`Тло`,onlySelected:`Тільки вибране`,darkMode:`Темний режим`,embedScene:`Вбудована сцена`,scale:`Масштабування`,padding:`Відступ`},tooltip:{embedScene:`Дані сцени будуть збережені в експортований файл PNG/SVG. Ця сцена може бути відновлена з нього, однак це збільшить розмір експортованого файлу.`},title:{exportToPng:`Експортувати в PNG`,exportToSvg:`Експортувати у SVG`,copyPngToClipboard:`Скопіювати PNG в буфер обміну`},button:{exportToPng:`PNG`,exportToSvg:`SVG`,copyPngToClipboard:`Копіювати в буфер обміну`}},C={tooltip:`Ваші креслення захищені наскрізним шифруванням — сервери Excalidraw ніколи їх не побачать.`,link:`Допис у блозі на наскрізному шифруванні в Excalidraw`},w={angle:`Кут`,shapes:`Форми`,height:`Висота`,scene:`Сцена`,selected:`Обрано`,storage:`Сховище`,fullTitle:`Властивості полотна та форми`,title:`Властивості`,generalStats:`Загальні`,elementProperties:`Властивості форми`,total:`Всього`,version:`Версія`,versionCopy:`Натисніть, щоб скопіювати`,versionNotAvailable:`Версія недоступна`,width:`Ширина`},T={addedToLibrary:`Додано до бібліотеки`,copyStyles:`Скопійовані стилі.`,copyToClipboard:`Скопіювати до буферу обміну.`,copyToClipboardAsPng:`Скопійовано {{exportSelection}} до буфера обміну як PNG
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./chunk-SRAX5OIU-yDw8XRsi.js";var e={paste:``,pasteAsPlaintext:``,pasteCharts:``,selectAll:``,multiSelect:``,moveCanvas:``,cut:``,copy:``,copyAsPng:``,copyAsSvg:``,copyText:``,copySource:``,convertToCode:``,bringForward:``,sendToBack:``,bringToFront:``,sendBackward:``,delete:``,copyStyles:``,pasteStyles:``,stroke:``,changeStroke:``,background:``,changeBackground:``,fill:``,strokeWidth:``,strokeStyle:``,strokeStyle_solid:``,strokeStyle_dashed:``,strokeStyle_dotted:``,sloppiness:``,opacity:``,textAlign:``,edges:``,sharp:``,round:``,arrowheads:``,arrowhead_none:``,arrowhead_arrow:``,arrowhead_bar:``,arrowhead_circle:``,arrowhead_circle_outline:``,arrowhead_triangle:``,arrowhead_triangle_outline:``,arrowhead_diamond:``,arrowhead_diamond_outline:``,arrowhead_crowfoot_many:``,arrowhead_crowfoot_one:``,arrowhead_crowfoot_one_or_many:``,more_options:``,arrowtypes:``,arrowtype_sharp:``,arrowtype_round:``,arrowtype_elbowed:``,fontSize:``,fontFamily:``,addWatermark:``,handDrawn:``,normal:``,code:``,small:``,medium:``,large:``,veryLarge:``,solid:``,hachure:``,zigzag:``,crossHatch:``,thin:``,bold:``,left:``,center:``,right:``,extraBold:``,architect:``,artist:``,cartoonist:``,fileTitle:``,colorPicker:``,canvasColors:``,canvasBackground:``,drawingCanvas:``,clearCanvas:``,layers:``,actions:``,language:``,liveCollaboration:``,duplicateSelection:``,untitled:``,name:``,yourName:``,madeWithExcalidraw:``,group:``,ungroup:``,collaborators:``,toggleGrid:``,addToLibrary:``,removeFromLibrary:``,libraryLoadingMessage:``,libraries:``,loadingScene:``,loadScene:``,align:``,alignTop:``,alignBottom:``,alignLeft:``,alignRight:``,centerVertically:``,centerHorizontally:``,distributeHorizontally:``,distributeVertically:``,flipHorizontal:``,flipVertical:``,viewMode:``,share:``,showStroke:``,showBackground:``,showFonts:``,toggleTheme:``,theme:``,personalLib:``,excalidrawLib:``,decreaseFontSize:``,increaseFontSize:``,unbindText:``,bindText:``,createContainerFromText:``,link:{edit:``,editEmbed:``,create:``,label:``,labelEmbed:``,empty:``,hint:``,goToElement:``},lineEditor:{edit:``,editArrow:``},polygon:{breakPolygon:``,convertToPolygon:``},elementLock:{lock:``,unlock:``,lockAll:``,unlockAll:``},statusPublished:``,sidebarLock:``,selectAllElementsInFrame:``,removeAllElementsFromFrame:``,eyeDropper:``,textToDiagram:``,prompt:``,followUs:``,discordChat:``,zoomToFitViewport:``,zoomToFitSelection:``,zoomToFit:``,installPWA:``,autoResize:``,imageCropping:``,unCroppedDimension:``,copyElementLink:``,linkToElement:``,wrapSelectionInFrame:``,tab:``,shapeSwitch:``},t={title:``,desc:``,notFound:``},n={noItems:``,hint_emptyLibrary:``,hint_emptyPrivateLibrary:``,search:{inputPlaceholder:``,heading:``,noResults:``,clearSearch:``}},r={title:``,noMatch:``,singleResult:``,multipleResults:``,placeholder:``,frames:``,texts:``},i={clearReset:``,exportJSON:``,exportImage:``,export:``,copyToClipboard:``,copyLink:``,save:``,saveAs:``,load:``,getShareableLink:``,close:``,selectLanguage:``,scrollBackToContent:``,zoomIn:``,zoomOut:``,resetZoom:``,menu:``,done:``,edit:``,undo:``,redo:``,resetLibrary:``,createNewRoom:``,fullScreen:``,darkMode:``,lightMode:``,systemMode:``,zenMode:``,objectsSnapMode:``,exitZenMode:``,cancel:``,saveLibNames:``,clear:``,remove:``,embed:``,publishLibrary:``,submit:``,confirm:``,embeddableInteractionButton:``},a={clearReset:``,couldNotCreateShareableLink:``,couldNotCreateShareableLinkTooBig:``,couldNotLoadInvalidFile:``,importBackendFailed:``,cannotExportEmptyCanvas:``,couldNotCopyToClipboard:``,decryptFailed:``,uploadedSecurly:``,loadSceneOverridePrompt:``,collabStopOverridePrompt:``,errorAddingToLibrary:``,errorRemovingFromLibrary:``,confirmAddLibrary:``,imageDoesNotContainScene:``,cannotRestoreFromImage:``,invalidSceneUrl:``,resetLibrary:``,removeItemsFromsLibrary:``,invalidEncryptionKey:``,collabOfflineWarning:``,localStorageQuotaExceeded:``},o={unsupportedFileType:``,imageInsertError:``,fileTooBig:``,svgImageInsertError:``,failedToFetchImage:``,cannotResolveCollabServer:``,importLibraryError:``,saveLibraryError:``,collabSaveFailed:``,collabSaveFailed_sizeExceeded:``,imageToolNotSupported:``,brave_measure_text_error:{line1:``,line2:``,line3:``,line4:``},libraryElementTypeError:{embeddable:``,iframe:``,image:``},asyncPasteFailedOnRead:``,asyncPasteFailedOnParse:``,copyToSystemClipboardFailed:``},s={selection:``,lasso:``,image:``,rectangle:``,diamond:``,ellipse:``,arrow:``,line:``,freedraw:``,text:``,library:``,lock:``,penMode:``,link:``,eraser:``,frame:``,magicframe:``,embeddable:``,laser:``,hand:``,extraTools:``,mermaidToExcalidraw:``,convertElementType:``},c={rectangle:``,diamond:``,ellipse:``,arrow:``,line:``,freedraw:``,text:``,image:``,group:``,frame:``,magicframe:``,embeddable:``,selection:``,iframe:``},l={canvasActions:``,selectedShapeActions:``,shapes:``},u={dismissSearch:``,canvasPanning:``,linearElement:``,arrowTool:``,arrowBindModifiers:``,freeDraw:``,text:``,embeddable:``,text_selected:``,text_editing:``,linearElementMulti:``,lockAngle:``,resize:``,resizeImage:``,rotate:``,lineEditor_info:``,lineEditor_line_info:``,lineEditor_pointSelected:``,lineEditor_nothingSelected:``,publishLibrary:``,bindTextToElement:``,createFlowchart:``,deepBoxSelect:``,eraserRevert:``,firefox_clipboard_write:``,disableSnapping:``,enterCropEditor:``,leaveCropEditor:``},d={cannotShowPreview:``,canvasTooBig:``,canvasTooBigTip:``},f={headingMain:``,clearCanvasMessage:``,clearCanvasCaveat:``,trackedToSentry:``,openIssueMessage:``,sceneContent:``},p={or:``},m={desc_intro:``,desc_privacy:``,button_startSession:``,button_stopSession:``,desc_inProgressIntro:``,desc_shareLink:``,desc_exitSession:``,shareTitle:``},h={title:``},g={disk_title:``,disk_details:``,disk_button:``,link_title:``,link_details:``,link_button:``,excalidrawplus_description:``,excalidrawplus_button:``,excalidrawplus_exportError:``},_={blog:``,click:``,deepSelect:``,deepBoxSelect:``,createFlowchart:``,navigateFlowchart:``,curvedArrow:``,curvedLine:``,documentation:``,doubleClick:``,drag:``,editor:``,editLineArrowPoints:``,editText:``,github:``,howto:``,or:``,preventBinding:``,tools:``,shortcuts:``,textFinish:``,textNewLine:``,title:``,view:``,zoomToFit:``,zoomToSelection:``,toggleElementLock:``,movePageUpDown:``,movePageLeftRight:``,cropStart:``,cropFinish:``},v={title:``},y={title:``,itemName:``,authorName:``,githubUsername:``,twitterUsername:``,libraryName:``,libraryDesc:``,website:``,placeholder:{authorName:``,libraryName:``,libraryDesc:``,githubHandle:``,twitterHandle:``,website:``},errors:{required:``,website:``},noteDescription:``,noteGuidelines:``,noteLicense:``,noteItems:``,atleastOneLibItem:``,republishWarning:``},b={title:``,content:``},x={resetLibrary:``,removeItemsFromLib:``},S={header:``,label:{withBackground:``,onlySelected:``,darkMode:``,embedScene:``,scale:``,padding:``},tooltip:{embedScene:``},title:{exportToPng:``,exportToSvg:``,copyPngToClipboard:``},button:{exportToPng:``,exportToSvg:``,copyPngToClipboard:``}},C={tooltip:``,link:``},w={angle:``,shapes:``,height:``,scene:``,selected:``,storage:``,fullTitle:``,title:``,generalStats:``,elementProperties:``,total:``,version:``,versionCopy:``,versionNotAvailable:``,width:``},T={addedToLibrary:``,copyStyles:``,copyToClipboard:``,copyToClipboardAsPng:``,copyToClipboardAsSvg:``,fileSaved:``,fileSavedToFilename:``,canvas:``,selection:``,pasteAsSingleElement:``,unableToEmbed:``,unrecognizedLinkFormat:``,elementLinkCopied:``},E={transparent:``,black:``,white:``,red:``,pink:``,grape:``,violet:``,gray:``,blue:``,cyan:``,teal:``,green:``,yellow:``,orange:``,bronze:``},D={app:{center_heading:``,center_heading_line2:``,center_heading_line3:``,center_heading_plus:``,menuHint:``},defaults:{menuHint:``,center_heading:``,toolbarHint:``,helpHint:``}},O={color:``,mostUsedCustomColors:``,colors:``,shades:``,hexCode:``,noShades:``},k={action:{exportToImage:{title:``,button:``,description:``},saveToDisk:{title:``,button:``,description:``},excalidrawPlus:{title:``,button:``,description:``}},modal:{loadFromFile:{title:``,button:``,description:``},shareableLink:{title:``,button:``,description:``}}},A={title:``,button:``,description:``,syntax:``,preview:``,label:``,inputPlaceholder:``},j={error:``},M={inputPlaceholder:``,inputPlaceholderWithMessages:``,generating:``,rateLimitRemaining:``,role:{user:``,assistant:``,system:``},aiBeta:``,label:``,menu:``,newChat:``,deleteChat:``,deleteMessage:``,viewAsMermaid:``,placeholder:{title:``,description:``,hint:``},preview:``,insert:``,retry:``,errors:{promptTooShort:``,promptTooLong:``,generationFailed:``,invalidDiagram:``,fixInMermaid:``,aiRepair:``,requestAborted:``,requestFailed:``,mermaidParseError:``},rateLimit:{messageLimit:``,generalRateLimit:``,messageLimitInputPlaceholder:``},upsellBtnLabel:``},N={placeholder:``},P={badge:{old:``},sceneFonts:``,availableFonts:``,empty:``},F={empty:``,hint:{text:``,followStatus:``,inCall:``,micMuted:``,isSpeaking:``}},I={title:``,shortcuts:{select:``,confirm:``,close:``},recents:``,search:{placeholder:``,noMatch:``},itemNotAvailable:``,shortcutHint:``},L={ctrl:``,option:``,cmd:``,alt:``,escape:``,enter:``,shift:``,spacebar:``,delete:``,mmb:``},R={labels:e,elementLink:t,library:n,search:r,buttons:i,alerts:a,errors:o,toolBar:s,element:c,headings:l,hints:u,canvasError:d,errorSplash:f,shareDialog:p,roomDialog:m,errorDialog:h,exportDialog:g,helpDialog:_,clearCanvasDialog:v,publishDialog:y,publishSuccessDialog:b,confirmDialog:x,imageExportDialog:S,encrypted:C,stats:w,toast:T,colors:E,welcomeScreen:D,colorPicker:O,overwriteConfirm:k,mermaid:A,ttd:j,chat:M,quickSearch:N,fontList:P,userList:F,commandPalette:I,keys:L};export{a as alerts,i as buttons,d as canvasError,M as chat,v as clearCanvasDialog,O as colorPicker,E as colors,I as commandPalette,x as confirmDialog,R as default,c as element,t as elementLink,C as encrypted,h as errorDialog,f as errorSplash,o as errors,g as exportDialog,P as fontList,l as headings,_ as helpDialog,u as hints,S as imageExportDialog,L as keys,e as labels,n as library,A as mermaid,k as overwriteConfirm,y as publishDialog,b as publishSuccessDialog,N as quickSearch,m as roomDialog,r as search,p as shareDialog,w as stats,T as toast,s as toolBar,j as ttd,F as userList,D as welcomeScreen};
|
|
1
|
+
import"./chunk-SRAX5OIU-C_UPA-vt.js";var e={paste:``,pasteAsPlaintext:``,pasteCharts:``,selectAll:``,multiSelect:``,moveCanvas:``,cut:``,copy:``,copyAsPng:``,copyAsSvg:``,copyText:``,copySource:``,convertToCode:``,bringForward:``,sendToBack:``,bringToFront:``,sendBackward:``,delete:``,copyStyles:``,pasteStyles:``,stroke:``,changeStroke:``,background:``,changeBackground:``,fill:``,strokeWidth:``,strokeStyle:``,strokeStyle_solid:``,strokeStyle_dashed:``,strokeStyle_dotted:``,sloppiness:``,opacity:``,textAlign:``,edges:``,sharp:``,round:``,arrowheads:``,arrowhead_none:``,arrowhead_arrow:``,arrowhead_bar:``,arrowhead_circle:``,arrowhead_circle_outline:``,arrowhead_triangle:``,arrowhead_triangle_outline:``,arrowhead_diamond:``,arrowhead_diamond_outline:``,arrowhead_crowfoot_many:``,arrowhead_crowfoot_one:``,arrowhead_crowfoot_one_or_many:``,more_options:``,arrowtypes:``,arrowtype_sharp:``,arrowtype_round:``,arrowtype_elbowed:``,fontSize:``,fontFamily:``,addWatermark:``,handDrawn:``,normal:``,code:``,small:``,medium:``,large:``,veryLarge:``,solid:``,hachure:``,zigzag:``,crossHatch:``,thin:``,bold:``,left:``,center:``,right:``,extraBold:``,architect:``,artist:``,cartoonist:``,fileTitle:``,colorPicker:``,canvasColors:``,canvasBackground:``,drawingCanvas:``,clearCanvas:``,layers:``,actions:``,language:``,liveCollaboration:``,duplicateSelection:``,untitled:``,name:``,yourName:``,madeWithExcalidraw:``,group:``,ungroup:``,collaborators:``,toggleGrid:``,addToLibrary:``,removeFromLibrary:``,libraryLoadingMessage:``,libraries:``,loadingScene:``,loadScene:``,align:``,alignTop:``,alignBottom:``,alignLeft:``,alignRight:``,centerVertically:``,centerHorizontally:``,distributeHorizontally:``,distributeVertically:``,flipHorizontal:``,flipVertical:``,viewMode:``,share:``,showStroke:``,showBackground:``,showFonts:``,toggleTheme:``,theme:``,personalLib:``,excalidrawLib:``,decreaseFontSize:``,increaseFontSize:``,unbindText:``,bindText:``,createContainerFromText:``,link:{edit:``,editEmbed:``,create:``,label:``,labelEmbed:``,empty:``,hint:``,goToElement:``},lineEditor:{edit:``,editArrow:``},polygon:{breakPolygon:``,convertToPolygon:``},elementLock:{lock:``,unlock:``,lockAll:``,unlockAll:``},statusPublished:``,sidebarLock:``,selectAllElementsInFrame:``,removeAllElementsFromFrame:``,eyeDropper:``,textToDiagram:``,prompt:``,followUs:``,discordChat:``,zoomToFitViewport:``,zoomToFitSelection:``,zoomToFit:``,installPWA:``,autoResize:``,imageCropping:``,unCroppedDimension:``,copyElementLink:``,linkToElement:``,wrapSelectionInFrame:``,tab:``,shapeSwitch:``},t={title:``,desc:``,notFound:``},n={noItems:``,hint_emptyLibrary:``,hint_emptyPrivateLibrary:``,search:{inputPlaceholder:``,heading:``,noResults:``,clearSearch:``}},r={title:``,noMatch:``,singleResult:``,multipleResults:``,placeholder:``,frames:``,texts:``},i={clearReset:``,exportJSON:``,exportImage:``,export:``,copyToClipboard:``,copyLink:``,save:``,saveAs:``,load:``,getShareableLink:``,close:``,selectLanguage:``,scrollBackToContent:``,zoomIn:``,zoomOut:``,resetZoom:``,menu:``,done:``,edit:``,undo:``,redo:``,resetLibrary:``,createNewRoom:``,fullScreen:``,darkMode:``,lightMode:``,systemMode:``,zenMode:``,objectsSnapMode:``,exitZenMode:``,cancel:``,saveLibNames:``,clear:``,remove:``,embed:``,publishLibrary:``,submit:``,confirm:``,embeddableInteractionButton:``},a={clearReset:``,couldNotCreateShareableLink:``,couldNotCreateShareableLinkTooBig:``,couldNotLoadInvalidFile:``,importBackendFailed:``,cannotExportEmptyCanvas:``,couldNotCopyToClipboard:``,decryptFailed:``,uploadedSecurly:``,loadSceneOverridePrompt:``,collabStopOverridePrompt:``,errorAddingToLibrary:``,errorRemovingFromLibrary:``,confirmAddLibrary:``,imageDoesNotContainScene:``,cannotRestoreFromImage:``,invalidSceneUrl:``,resetLibrary:``,removeItemsFromsLibrary:``,invalidEncryptionKey:``,collabOfflineWarning:``,localStorageQuotaExceeded:``},o={unsupportedFileType:``,imageInsertError:``,fileTooBig:``,svgImageInsertError:``,failedToFetchImage:``,cannotResolveCollabServer:``,importLibraryError:``,saveLibraryError:``,collabSaveFailed:``,collabSaveFailed_sizeExceeded:``,imageToolNotSupported:``,brave_measure_text_error:{line1:``,line2:``,line3:``,line4:``},libraryElementTypeError:{embeddable:``,iframe:``,image:``},asyncPasteFailedOnRead:``,asyncPasteFailedOnParse:``,copyToSystemClipboardFailed:``},s={selection:``,lasso:``,image:``,rectangle:``,diamond:``,ellipse:``,arrow:``,line:``,freedraw:``,text:``,library:``,lock:``,penMode:``,link:``,eraser:``,frame:``,magicframe:``,embeddable:``,laser:``,hand:``,extraTools:``,mermaidToExcalidraw:``,convertElementType:``},c={rectangle:``,diamond:``,ellipse:``,arrow:``,line:``,freedraw:``,text:``,image:``,group:``,frame:``,magicframe:``,embeddable:``,selection:``,iframe:``},l={canvasActions:``,selectedShapeActions:``,shapes:``},u={dismissSearch:``,canvasPanning:``,linearElement:``,arrowTool:``,arrowBindModifiers:``,freeDraw:``,text:``,embeddable:``,text_selected:``,text_editing:``,linearElementMulti:``,lockAngle:``,resize:``,resizeImage:``,rotate:``,lineEditor_info:``,lineEditor_line_info:``,lineEditor_pointSelected:``,lineEditor_nothingSelected:``,publishLibrary:``,bindTextToElement:``,createFlowchart:``,deepBoxSelect:``,eraserRevert:``,firefox_clipboard_write:``,disableSnapping:``,enterCropEditor:``,leaveCropEditor:``},d={cannotShowPreview:``,canvasTooBig:``,canvasTooBigTip:``},f={headingMain:``,clearCanvasMessage:``,clearCanvasCaveat:``,trackedToSentry:``,openIssueMessage:``,sceneContent:``},p={or:``},m={desc_intro:``,desc_privacy:``,button_startSession:``,button_stopSession:``,desc_inProgressIntro:``,desc_shareLink:``,desc_exitSession:``,shareTitle:``},h={title:``},g={disk_title:``,disk_details:``,disk_button:``,link_title:``,link_details:``,link_button:``,excalidrawplus_description:``,excalidrawplus_button:``,excalidrawplus_exportError:``},_={blog:``,click:``,deepSelect:``,deepBoxSelect:``,createFlowchart:``,navigateFlowchart:``,curvedArrow:``,curvedLine:``,documentation:``,doubleClick:``,drag:``,editor:``,editLineArrowPoints:``,editText:``,github:``,howto:``,or:``,preventBinding:``,tools:``,shortcuts:``,textFinish:``,textNewLine:``,title:``,view:``,zoomToFit:``,zoomToSelection:``,toggleElementLock:``,movePageUpDown:``,movePageLeftRight:``,cropStart:``,cropFinish:``},v={title:``},y={title:``,itemName:``,authorName:``,githubUsername:``,twitterUsername:``,libraryName:``,libraryDesc:``,website:``,placeholder:{authorName:``,libraryName:``,libraryDesc:``,githubHandle:``,twitterHandle:``,website:``},errors:{required:``,website:``},noteDescription:``,noteGuidelines:``,noteLicense:``,noteItems:``,atleastOneLibItem:``,republishWarning:``},b={title:``,content:``},x={resetLibrary:``,removeItemsFromLib:``},S={header:``,label:{withBackground:``,onlySelected:``,darkMode:``,embedScene:``,scale:``,padding:``},tooltip:{embedScene:``},title:{exportToPng:``,exportToSvg:``,copyPngToClipboard:``},button:{exportToPng:``,exportToSvg:``,copyPngToClipboard:``}},C={tooltip:``,link:``},w={angle:``,shapes:``,height:``,scene:``,selected:``,storage:``,fullTitle:``,title:``,generalStats:``,elementProperties:``,total:``,version:``,versionCopy:``,versionNotAvailable:``,width:``},T={addedToLibrary:``,copyStyles:``,copyToClipboard:``,copyToClipboardAsPng:``,copyToClipboardAsSvg:``,fileSaved:``,fileSavedToFilename:``,canvas:``,selection:``,pasteAsSingleElement:``,unableToEmbed:``,unrecognizedLinkFormat:``,elementLinkCopied:``},E={transparent:``,black:``,white:``,red:``,pink:``,grape:``,violet:``,gray:``,blue:``,cyan:``,teal:``,green:``,yellow:``,orange:``,bronze:``},D={app:{center_heading:``,center_heading_line2:``,center_heading_line3:``,center_heading_plus:``,menuHint:``},defaults:{menuHint:``,center_heading:``,toolbarHint:``,helpHint:``}},O={color:``,mostUsedCustomColors:``,colors:``,shades:``,hexCode:``,noShades:``},k={action:{exportToImage:{title:``,button:``,description:``},saveToDisk:{title:``,button:``,description:``},excalidrawPlus:{title:``,button:``,description:``}},modal:{loadFromFile:{title:``,button:``,description:``},shareableLink:{title:``,button:``,description:``}}},A={title:``,button:``,description:``,syntax:``,preview:``,label:``,inputPlaceholder:``},j={error:``},M={inputPlaceholder:``,inputPlaceholderWithMessages:``,generating:``,rateLimitRemaining:``,role:{user:``,assistant:``,system:``},aiBeta:``,label:``,menu:``,newChat:``,deleteChat:``,deleteMessage:``,viewAsMermaid:``,placeholder:{title:``,description:``,hint:``},preview:``,insert:``,retry:``,errors:{promptTooShort:``,promptTooLong:``,generationFailed:``,invalidDiagram:``,fixInMermaid:``,aiRepair:``,requestAborted:``,requestFailed:``,mermaidParseError:``},rateLimit:{messageLimit:``,generalRateLimit:``,messageLimitInputPlaceholder:``},upsellBtnLabel:``},N={placeholder:``},P={badge:{old:``},sceneFonts:``,availableFonts:``,empty:``},F={empty:``,hint:{text:``,followStatus:``,inCall:``,micMuted:``,isSpeaking:``}},I={title:``,shortcuts:{select:``,confirm:``,close:``},recents:``,search:{placeholder:``,noMatch:``},itemNotAvailable:``,shortcutHint:``},L={ctrl:``,option:``,cmd:``,alt:``,escape:``,enter:``,shift:``,spacebar:``,delete:``,mmb:``},R={labels:e,elementLink:t,library:n,search:r,buttons:i,alerts:a,errors:o,toolBar:s,element:c,headings:l,hints:u,canvasError:d,errorSplash:f,shareDialog:p,roomDialog:m,errorDialog:h,exportDialog:g,helpDialog:_,clearCanvasDialog:v,publishDialog:y,publishSuccessDialog:b,confirmDialog:x,imageExportDialog:S,encrypted:C,stats:w,toast:T,colors:E,welcomeScreen:D,colorPicker:O,overwriteConfirm:k,mermaid:A,ttd:j,chat:M,quickSearch:N,fontList:P,userList:F,commandPalette:I,keys:L};export{a as alerts,i as buttons,d as canvasError,M as chat,v as clearCanvasDialog,O as colorPicker,E as colors,I as commandPalette,x as confirmDialog,R as default,c as element,t as elementLink,C as encrypted,h as errorDialog,f as errorSplash,o as errors,g as exportDialog,P as fontList,l as headings,_ as helpDialog,u as hints,S as imageExportDialog,L as keys,e as labels,n as library,A as mermaid,k as overwriteConfirm,y as publishDialog,b as publishSuccessDialog,N as quickSearch,m as roomDialog,r as search,p as shareDialog,w as stats,T as toast,s as toolBar,j as ttd,F as userList,D as welcomeScreen};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as e,n as t}from"./runtime-config-BcUbZKho.js";var n={enabled:!1,implemented:!0,loginEndpoint:`/api/auth/oidc/login`,passwordLabel:`Password`,provider:``,requiresLogin:!1,sessionEndpoint:`/api/auth/session`,statusEndpoint:`/api/auth/status`,strategy:`none`,submitLabel:`Continue`},r=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAIAAAABc2X6AAAGsklEQVR4Ae3cA3jsShgG4Gvbtu1js7aObdu2bdbudmvbtu1VtUg2ydw7x95mstnt5rZ5voflG80/fzL72L89bOsF94J7wWgb2dSgiAzpPHmwbfPK1qWzxDNsRdb6Ar2BgtF9hSbDRbYG4mk2beuXwm+Q89yV+TmAILgHptrb5DyPtg3LhBZjBCP+RovewNZlc2TOl8nGel0HA4LA4qPhkRSM6XcHoEYk86fIfT2AQqFzYIBjMncHofkoZBWNCM1GSq+cpdpadQIMKEoRzIeXIroEkW08TObpDAiiO8F4Tga85TBnoEc8xVKZm9UNYECS0stnBCP/Ud+AnJH/SC+eAiShPTDZ3CRZPIN9CUokC6ZSYqE2wHhmKhw/2TegR2RnSFSUaRaMJccLxg7QsAQhktkTAACaAmOxkbA80h2taKIZKWzR1BFWRAQLRvXhphYdDEtcWDxxU4sOhjdDkdVYbmrRwYAgJIums3RTNWrftbHz/AmZh5MiLBAGVqOdZ4+1790inmrFvpYZuPPEATWdknmT5f7eZEN9V2N7o9zPu3XNInQte2BlcYE6tVTbltXw4kf9h5QlhW3rliBr1QcDAODsjPFlhmelqfNvKQty4S9B0KoPVgTxmWk7Tx0COMZCF6GzA3ZC0LWMwJSsTWiOXj+O6iP382KzowAAvMOhaxmAqw/Ijr4tGPsHgnbsACwxlpNNPABIIv5LIvxpzOVlkdXPNMGK8CCudi2pFi+ovRFlwLOtc7/uUgvnxhxu05LpIyD17nTu+EAw8q9HaVtXzgcAcBUMcAER/sx9YBj5pdeExr897NLtT9TVcLgRTzVcgbyHBuc9L5n8PdLJzAEwmWP1KDCMMvTp9jWf3tbC1gdQKDgMBhRBRL0GYaojO35zxOo8fZjbz5ZAZz700Anm9pLI9g+yoY7bYKrJBWJoRpk8SJ0/fDoc13QuRuNdgMmydfTBZPkGdcDDd0q1EDkOVIKzTOiDKVGY7oPLmylVYCKlL30wIKW6D44tJlSCE76nC45+CwHXfWDfdKVKcMwHdMEJ33MC7JqEqwRHvEgXnDaYE+ArMayBB3ECDAennnVKn4tUDU74gS446k1OgB3i8Z41LHmkKHtW4eGfpRpctv5/VlomlxOsTR6kKQN1H1wnptiZHpYFv27pMbqus4kxOChbySzTz8loakfukhIkYKEBEBzw6SBXk79cLQ5lXv5XuxtJAaMDdA/v+JMydVs8irBnDvB+g9QbGeY1SUFg2gTn1JD0z+cdPIVaTbym0JemeQ6FzrtzJtdFm+DT4Rh9MD9DybxNmxL03mg3g/u0MP3cbWo6GrWjbZMBg/0Id6wqAcWwEX+F/10fVzPIe2jmRW3VTiP+VBjC4bU6KgMAID9qaQt9frl3P6hSndOaP7HrxdSYPQiH92QYhvAwTRH7KdSWBL9h5j4GeugkqDpWc1oZBqaelSGNwMWNJMLjUkHxBn//zwZeH3topr+7bWxDmia0AID17gok7aTTMrTnw1KsfZTPVMhAyj9uVl5lIexqcQLs4KFpYXjpSjQw3HwrIqCBQQ5mXsZInBWtoIOac1GOqrU4IsUJwOSllsmha5iZTf3npzXnqXka+1dFmzo4D9vZgQp2TsAZvrZUIC7729WSmRlmVfz+HGExKpUCVGJj1oSQlTd+SZ9Lm4bubqKvtTkmk+OAIRhu+zMu3jEwyqTQ1d7lofWdzV0VyWSxpPJkjpOB76z7fsPfjjOHHMhBb0QzAhMUMS18nRrgOzHkz96YdPR4toNTMT+gKjq4OtatNPBCvgfcp9PD1w/wsFP14y7WA4/zu9SudVWw8HKpUC4Zw5uOLmQ//c4fGrZL8iit+WEpvMmxAIZbtrCor7uNLpj/ubpk6N6Kh059M6tINl8Qh4UUHGa73wzjNGHQ4dj7wC6JOPtLACLqkvq4WeuE2cWi/+nLt0csOKnQ1CKP+IYMWELqgPnGiLVh6O7Go8GYZpfxpDbnwkaHjpj3JfLRV7Wgb01SARxIupc6wntyfGOG9pbikRQJmzvodRg7mRq2tkkm7IbFlhktBdaBS7SsPZx1haDIbltOSwGKXxl5px7UZGaEb8gXlerEgmmMxB2KfEciTKHRAsvbmPo0nVsST1BEdH3Kyrh9bJVlQ7wmbk05USSu0PUPPWjDOtxLg5bF7h7tM42B08x//o7U0/AmrCSV3PtYiwZpS3B13MHMS/DIz4rYaBO0VM93JpwbwaJtqNfEsbwZFgEL50VtgcJLBV6wK9aKtfd+cEkvuBfcC37k9h8VGR+csPdltgAAAABJRU5ErkJggg==`;function i(){return{...n,...t().auth??{}}}function a(){let e=window.location.hash.startsWith(`#`)?window.location.hash.slice(1):window.location.hash;return new URLSearchParams(e)}function o(){return a().get(`auth_password`)||``}function s(){let e=a();if(!e.has(`auth_password`))return;e.delete(`auth_password`);let t=e.toString(),n=`${window.location.pathname}${window.location.search}${t?`#${t}`:``}`;window.history.replaceState(null,``,n)}function c(e){let t=a(),n=t.get(e)||``;if(!n)return``;t.delete(e);let r=t.toString(),i=`${window.location.pathname}${window.location.search}${r?`#${r}`:``}`;return window.history.replaceState(null,``,i),n}function l(){return`${window.location.pathname}${window.location.search}${window.location.hash}`}async function u(e){let t=await fetch(e.statusEndpoint,{headers:{Accept:`application/json`}}),n=await t.json().catch(()=>({}));if(!t.ok)throw Error(n.error||`Failed to read auth status`);return n}function d(e){let t=e?.auth??{};if(t.strategy!==`oidc`||t.provider!==`google`)return;let n=String(e?.user?.name??``).trim();if(n)try{window.localStorage.setItem(`collabmd-user-name`,n)}catch{}}async function f(e,t){let n=await fetch(e.sessionEndpoint,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({password:t})}),r=await n.json().catch(()=>({}));if(!n.ok)throw Error(r.error||`Authentication failed`);return r}function p(){let e=document.createElement(`div`);e.className=`auth-gate-overlay`;let t=document.createElement(`section`);return t.className=`auth-gate-card`,e.append(t),{card:t,overlay:e}}function m(){let e=document.createElement(`span`);e.className=`auth-gate-button__icon`,e.setAttribute(`aria-hidden`,`true`);let t=document.createElement(`img`);return t.alt=``,t.decoding=`async`,t.height=20,t.loading=`eager`,t.src=r,t.width=20,e.append(t),e}function h(e,t,{errorMessage:n=``}){e.replaceChildren();let r=document.createElement(`h1`);r.textContent=`Authentication required`;let i=document.createElement(`p`);i.textContent=`Sign in with Google to join this session.`;let a=document.createElement(`div`);a.className=`auth-gate-actions`;let o=document.createElement(`button`);o.className=`ui-button ui-button--secondary auth-gate-button auth-gate-button--google`,o.type=`button`,o.append(m(),document.createTextNode(t.submitLabel||`Continue with Google`));let s=document.createElement(`div`);s.className=`auth-gate-error`,s.textContent=n,a.append(o),e.append(r,i,s,a),o.addEventListener(`click`,()=>{let e=new URL(t.loginEndpoint,window.location.origin);e.searchParams.set(`returnTo`,l()),window.location.assign(e.toString())})}function g(e,{title:t,body:n,secondaryActionLabel:r=``,onSecondaryAction:i=null}){e.replaceChildren();let a=document.createElement(`h1`);a.textContent=t;let o=document.createElement(`p`);if(o.textContent=n,e.append(a,o),r&&typeof i==`function`){let t=document.createElement(`button`);t.className=`ui-button ui-button--secondary auth-gate-secondary-button`,t.type=`button`,t.textContent=r,t.addEventListener(`click`,()=>{i()}),e.append(t)}}function _(e,t,{onSubmit:n}){e.replaceChildren();let r=document.createElement(`h1`);r.textContent=`Authentication required`;let i=document.createElement(`p`);i.textContent=`Enter the host password to join this shared session.`;let a=document.createElement(`form`);a.className=`auth-gate-form`;let o=document.createElement(`label`);o.className=`auth-gate-label`,o.textContent=t.passwordLabel;let s=document.createElement(`input`);s.className=`ui-input auth-gate-input`,s.type=`password`,s.name=`password`,s.autocomplete=`current-password`,s.required=!0;let c=document.createElement(`div`);c.className=`auth-gate-error`;let l=document.createElement(`div`);l.className=`auth-gate-actions`;let u=document.createElement(`button`);u.className=`ui-button ui-button--primary auth-gate-button`,u.type=`submit`,u.textContent=t.submitLabel,l.append(u),o.append(s),a.append(r,i,o,c,l),e.append(a),a.addEventListener(`submit`,e=>{e.preventDefault();let t=s.value;s.disabled=!0,u.disabled=!0,c.textContent=``,n(t).catch(e=>{c.textContent=e instanceof Error?e.message:`Authentication failed`,s.disabled=!1,u.disabled=!1,s.select(),s.focus()})}),queueMicrotask(()=>{s.focus()})}async function v(){let e=i();if(!e.enabled||e.strategy===`none`)return{authenticated:!0,auth:e};let{card:t,overlay:n}=p();document.body.append(n);let r=c(`auth_error`);return new Promise(i=>{let a=(t=null)=>{s(),d(t),n.remove(),i({authenticated:!0,auth:t?.auth??e,user:t?.user??null})};(async()=>{g(t,{body:`Checking access to this session…`,title:`CollabMD`});try{let t=await u(e);if(t.authenticated){a(t);return}}catch(e){g(t,{body:e instanceof Error?`${e.message} Refresh the page and try again.`:`Failed to contact the auth service. Refresh the page and try again.`,title:`Cannot verify access`});return}if(e.strategy===`password`){let n=o();if(n)try{s(),await f(e,n),a();return}catch{}_(t,e,{onSubmit:async t=>{await f(e,t),a()}});return}if(e.strategy===`oidc`){h(t,e,{errorMessage:r}),r=``;return}g(t,{body:`This authentication strategy is not available.`,title:`Authentication unavailable`})})()})}function y(e){return!e||e.repeat||!e.metaKey&&!e.ctrlKey||e.shiftKey||e.altKey?!1:String(e.key??``).toLowerCase()===`k`||e.code===`KeyK`}function b(e){return encodeURIComponent(String(e??``))}function x(e){return String(e??``).replace(/\/+$/u,``).split(`/`).filter(Boolean).pop()||``}function S(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,document.body.appendChild(r),r.click(),r.remove(),window.setTimeout(()=>URL.revokeObjectURL(n),0)}function C(e=``,t=`download`){let n=String(e).match(/filename\*=UTF-8''([^;]+)/iu);if(n)try{return decodeURIComponent(n[1])}catch{return t}return String(e).match(/filename="([^"]+)"/iu)?.[1]||t}function w(e,t={}){let n={...t};return e&&(n[`X-CollabMD-Request-Id`]=String(e)),n}async function T(e,t){let n=await e.json().catch(()=>({}));if(!e.ok||n.ok===!1){let r=Error(n.error||t);throw r.status=e.status,r.body=n,r}return n}async function E(e,{fallbackError:t,fallbackFileName:n}={}){let r=await fetch(e);if(!r.ok){let e=await r.json().catch(()=>({}));throw Error(e.error||t)}return S(await r.blob(),C(r.headers.get(`content-disposition`)||``,n)),r}var D=new class{async readTree(){return T(await fetch(e(`/files`)),`Failed to load file tree`)}async readFile(t){return T(await fetch(e(`/file?path=${encodeURIComponent(t)}`)),`Failed to read file`)}async queryBase({activeFilePath:t=``,path:n=``,search:r=``,source:i=null,sourcePath:a=``,view:o=``}={}){return T(await fetch(e(`/base/query`),{body:JSON.stringify({activeFilePath:t,path:n,search:r,source:i,sourcePath:a,view:o}),headers:{"Content-Type":`application/json`},method:`POST`}),`Failed to query base`)}async exportBaseCsv({activeFilePath:t=``,path:n=``,search:r=``,source:i=null,sourcePath:a=``,view:o=``}={}){let s=await fetch(e(`/base/export`),{body:JSON.stringify({activeFilePath:t,path:n,search:r,source:i,sourcePath:a,view:o}),headers:{"Content-Type":`application/json`},method:`POST`});if(!s.ok){let e=await s.json().catch(()=>({}));throw Error(e.error||`Failed to export base CSV`)}return{blob:await s.blob(),contentDisposition:s.headers.get(`content-disposition`)||``}}async queryBasePropertyValues({activeFilePath:t=``,path:n=``,propertyId:r=``,query:i=``,source:a=null,sourcePath:o=``,view:s=``}={}){return T(await fetch(e(`/base/property-values`),{body:JSON.stringify({activeFilePath:t,path:n,propertyId:r,query:i,source:a,sourcePath:o,view:s}),headers:{"Content-Type":`application/json`},method:`POST`}),`Failed to load base property values`)}async transformBase({activeFilePath:t=``,mutation:n=null,path:r=``,source:i=null,sourcePath:a=``,view:o=``}={}){return T(await fetch(e(`/base/transform`),{body:JSON.stringify({activeFilePath:t,mutation:n,path:r,source:i,sourcePath:a,view:o}),headers:{"Content-Type":`application/json`},method:`POST`}),`Failed to transform base`)}async createFile({content:t,path:n,requestId:r=null}){return T(await fetch(e(`/file`),{body:JSON.stringify({content:t,path:n}),headers:w(r,{"Content-Type":`application/json`}),method:`POST`}),`Failed to create file`)}async writeFile({content:t,path:n,requestId:r=null}){return T(await fetch(e(`/file`),{body:JSON.stringify({content:t,path:n}),headers:w(r,{"Content-Type":`application/json`}),method:`PUT`}),`Failed to write file`)}async renameFile({oldPath:t,newPath:n,requestId:r=null}){return T(await fetch(e(`/file`),{body:JSON.stringify({newPath:n,oldPath:t}),headers:w(r,{"Content-Type":`application/json`}),method:`PATCH`}),`Failed to rename file`)}async deleteFile(t,{requestId:n=null}={}){return T(await fetch(e(`/file?path=${encodeURIComponent(t)}`),{headers:n?w(n):void 0,method:`DELETE`}),`Failed to delete file`)}async createDirectory(t,{requestId:n=null}={}){return T(await fetch(e(`/directory`),{body:JSON.stringify({path:t}),headers:w(n,{"Content-Type":`application/json`}),method:`POST`}),`Failed to create folder`)}async renameDirectory({oldPath:t,newPath:n,requestId:r=null}){return T(await fetch(e(`/directory`),{body:JSON.stringify({newPath:n,oldPath:t}),headers:w(r,{"Content-Type":`application/json`}),method:`PATCH`}),`Failed to rename folder`)}async deleteDirectory(t,{recursive:n=!1,requestId:r=null}={}){let i=new URLSearchParams({path:String(t??``)});return n&&i.set(`recursive`,`1`),T(await fetch(e(`/directory?${i.toString()}`),{headers:r?w(r):void 0,method:`DELETE`}),`Failed to delete folder`)}async uploadImageAttachment({file:t,fileName:n=``,sourcePath:r}){return T(await fetch(e(`/attachments`),{body:t,headers:{"Content-Type":t?.type||`application/octet-stream`,"X-CollabMD-File-Name":b(n),"X-CollabMD-Source-Path":b(r)},method:`POST`}),`Failed to upload image`)}async downloadFile(t){let n=x(t)||`download`;return E(e(`/download/file?path=${encodeURIComponent(t)}`),{fallbackError:`Failed to download file`,fallbackFileName:n})}async downloadDirectory(t){let n=x(t)||`vault`;return E(e(`/download/directory?path=${encodeURIComponent(t)}`),{fallbackError:`Failed to download folder`,fallbackFileName:`${n}.zip`})}};export{y as n,v as r,D as t};
|
|
1
|
+
import{d as e,n as t}from"./runtime-config-CM_2pVYD.js";var n={enabled:!1,implemented:!0,loginEndpoint:`/api/auth/oidc/login`,passwordLabel:`Password`,provider:``,requiresLogin:!1,sessionEndpoint:`/api/auth/session`,statusEndpoint:`/api/auth/status`,strategy:`none`,submitLabel:`Continue`},r=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAIAAAABc2X6AAAGsklEQVR4Ae3cA3jsShgG4Gvbtu1js7aObdu2bdbudmvbtu1VtUg2ydw7x95mstnt5rZ5voflG80/fzL72L89bOsF94J7wWgb2dSgiAzpPHmwbfPK1qWzxDNsRdb6Ar2BgtF9hSbDRbYG4mk2beuXwm+Q89yV+TmAILgHptrb5DyPtg3LhBZjBCP+RovewNZlc2TOl8nGel0HA4LA4qPhkRSM6XcHoEYk86fIfT2AQqFzYIBjMncHofkoZBWNCM1GSq+cpdpadQIMKEoRzIeXIroEkW08TObpDAiiO8F4Tga85TBnoEc8xVKZm9UNYECS0stnBCP/Ud+AnJH/SC+eAiShPTDZ3CRZPIN9CUokC6ZSYqE2wHhmKhw/2TegR2RnSFSUaRaMJccLxg7QsAQhktkTAACaAmOxkbA80h2taKIZKWzR1BFWRAQLRvXhphYdDEtcWDxxU4sOhjdDkdVYbmrRwYAgJIums3RTNWrftbHz/AmZh5MiLBAGVqOdZ4+1790inmrFvpYZuPPEATWdknmT5f7eZEN9V2N7o9zPu3XNInQte2BlcYE6tVTbltXw4kf9h5QlhW3rliBr1QcDAODsjPFlhmelqfNvKQty4S9B0KoPVgTxmWk7Tx0COMZCF6GzA3ZC0LWMwJSsTWiOXj+O6iP382KzowAAvMOhaxmAqw/Ijr4tGPsHgnbsACwxlpNNPABIIv5LIvxpzOVlkdXPNMGK8CCudi2pFi+ovRFlwLOtc7/uUgvnxhxu05LpIyD17nTu+EAw8q9HaVtXzgcAcBUMcAER/sx9YBj5pdeExr897NLtT9TVcLgRTzVcgbyHBuc9L5n8PdLJzAEwmWP1KDCMMvTp9jWf3tbC1gdQKDgMBhRBRL0GYaojO35zxOo8fZjbz5ZAZz700Anm9pLI9g+yoY7bYKrJBWJoRpk8SJ0/fDoc13QuRuNdgMmydfTBZPkGdcDDd0q1EDkOVIKzTOiDKVGY7oPLmylVYCKlL30wIKW6D44tJlSCE76nC45+CwHXfWDfdKVKcMwHdMEJ33MC7JqEqwRHvEgXnDaYE+ArMayBB3ECDAennnVKn4tUDU74gS446k1OgB3i8Z41LHmkKHtW4eGfpRpctv5/VlomlxOsTR6kKQN1H1wnptiZHpYFv27pMbqus4kxOChbySzTz8loakfukhIkYKEBEBzw6SBXk79cLQ5lXv5XuxtJAaMDdA/v+JMydVs8irBnDvB+g9QbGeY1SUFg2gTn1JD0z+cdPIVaTbym0JemeQ6FzrtzJtdFm+DT4Rh9MD9DybxNmxL03mg3g/u0MP3cbWo6GrWjbZMBg/0Id6wqAcWwEX+F/10fVzPIe2jmRW3VTiP+VBjC4bU6KgMAID9qaQt9frl3P6hSndOaP7HrxdSYPQiH92QYhvAwTRH7KdSWBL9h5j4GeugkqDpWc1oZBqaelSGNwMWNJMLjUkHxBn//zwZeH3topr+7bWxDmia0AID17gok7aTTMrTnw1KsfZTPVMhAyj9uVl5lIexqcQLs4KFpYXjpSjQw3HwrIqCBQQ5mXsZInBWtoIOac1GOqrU4IsUJwOSllsmha5iZTf3npzXnqXka+1dFmzo4D9vZgQp2TsAZvrZUIC7729WSmRlmVfz+HGExKpUCVGJj1oSQlTd+SZ9Lm4bubqKvtTkmk+OAIRhu+zMu3jEwyqTQ1d7lofWdzV0VyWSxpPJkjpOB76z7fsPfjjOHHMhBb0QzAhMUMS18nRrgOzHkz96YdPR4toNTMT+gKjq4OtatNPBCvgfcp9PD1w/wsFP14y7WA4/zu9SudVWw8HKpUC4Zw5uOLmQ//c4fGrZL8iit+WEpvMmxAIZbtrCor7uNLpj/ubpk6N6Kh059M6tINl8Qh4UUHGa73wzjNGHQ4dj7wC6JOPtLACLqkvq4WeuE2cWi/+nLt0csOKnQ1CKP+IYMWELqgPnGiLVh6O7Go8GYZpfxpDbnwkaHjpj3JfLRV7Wgb01SARxIupc6wntyfGOG9pbikRQJmzvodRg7mRq2tkkm7IbFlhktBdaBS7SsPZx1haDIbltOSwGKXxl5px7UZGaEb8gXlerEgmmMxB2KfEciTKHRAsvbmPo0nVsST1BEdH3Kyrh9bJVlQ7wmbk05USSu0PUPPWjDOtxLg5bF7h7tM42B08x//o7U0/AmrCSV3PtYiwZpS3B13MHMS/DIz4rYaBO0VM93JpwbwaJtqNfEsbwZFgEL50VtgcJLBV6wK9aKtfd+cEkvuBfcC37k9h8VGR+csPdltgAAAABJRU5ErkJggg==`;function i(){return{...n,...t().auth??{}}}function a(){let e=window.location.hash.startsWith(`#`)?window.location.hash.slice(1):window.location.hash;return new URLSearchParams(e)}function o(){return a().get(`auth_password`)||``}function s(){let e=a();if(!e.has(`auth_password`))return;e.delete(`auth_password`);let t=e.toString(),n=`${window.location.pathname}${window.location.search}${t?`#${t}`:``}`;window.history.replaceState(null,``,n)}function c(e){let t=a(),n=t.get(e)||``;if(!n)return``;t.delete(e);let r=t.toString(),i=`${window.location.pathname}${window.location.search}${r?`#${r}`:``}`;return window.history.replaceState(null,``,i),n}function l(){return`${window.location.pathname}${window.location.search}${window.location.hash}`}async function u(e){let t=await fetch(e.statusEndpoint,{headers:{Accept:`application/json`}}),n=await t.json().catch(()=>({}));if(!t.ok)throw Error(n.error||`Failed to read auth status`);return n}function d(e){let t=e?.auth??{};if(t.strategy!==`oidc`||t.provider!==`google`)return;let n=String(e?.user?.name??``).trim();if(n)try{window.localStorage.setItem(`collabmd-user-name`,n)}catch{}}async function f(e,t){let n=await fetch(e.sessionEndpoint,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({password:t})}),r=await n.json().catch(()=>({}));if(!n.ok)throw Error(r.error||`Authentication failed`);return r}function p(){let e=document.createElement(`div`);e.className=`auth-gate-overlay`;let t=document.createElement(`section`);return t.className=`auth-gate-card`,e.append(t),{card:t,overlay:e}}function m(){let e=document.createElement(`span`);e.className=`auth-gate-button__icon`,e.setAttribute(`aria-hidden`,`true`);let t=document.createElement(`img`);return t.alt=``,t.decoding=`async`,t.height=20,t.loading=`eager`,t.src=r,t.width=20,e.append(t),e}function h(e,t,{errorMessage:n=``}){e.replaceChildren();let r=document.createElement(`h1`);r.textContent=`Authentication required`;let i=document.createElement(`p`);i.textContent=`Sign in with Google to join this session.`;let a=document.createElement(`div`);a.className=`auth-gate-actions`;let o=document.createElement(`button`);o.className=`ui-button ui-button--secondary auth-gate-button auth-gate-button--google`,o.type=`button`,o.append(m(),document.createTextNode(t.submitLabel||`Continue with Google`));let s=document.createElement(`div`);s.className=`auth-gate-error`,s.textContent=n,a.append(o),e.append(r,i,s,a),o.addEventListener(`click`,()=>{let e=new URL(t.loginEndpoint,window.location.origin);e.searchParams.set(`returnTo`,l()),window.location.assign(e.toString())})}function g(e,{title:t,body:n,secondaryActionLabel:r=``,onSecondaryAction:i=null}){e.replaceChildren();let a=document.createElement(`h1`);a.textContent=t;let o=document.createElement(`p`);if(o.textContent=n,e.append(a,o),r&&typeof i==`function`){let t=document.createElement(`button`);t.className=`ui-button ui-button--secondary auth-gate-secondary-button`,t.type=`button`,t.textContent=r,t.addEventListener(`click`,()=>{i()}),e.append(t)}}function _(e,t,{onSubmit:n}){e.replaceChildren();let r=document.createElement(`h1`);r.textContent=`Authentication required`;let i=document.createElement(`p`);i.textContent=`Enter the host password to join this shared session.`;let a=document.createElement(`form`);a.className=`auth-gate-form`;let o=document.createElement(`label`);o.className=`auth-gate-label`,o.textContent=t.passwordLabel;let s=document.createElement(`input`);s.className=`ui-input auth-gate-input`,s.type=`password`,s.name=`password`,s.autocomplete=`current-password`,s.required=!0;let c=document.createElement(`div`);c.className=`auth-gate-error`;let l=document.createElement(`div`);l.className=`auth-gate-actions`;let u=document.createElement(`button`);u.className=`ui-button ui-button--primary auth-gate-button`,u.type=`submit`,u.textContent=t.submitLabel,l.append(u),o.append(s),a.append(r,i,o,c,l),e.append(a),a.addEventListener(`submit`,e=>{e.preventDefault();let t=s.value;s.disabled=!0,u.disabled=!0,c.textContent=``,n(t).catch(e=>{c.textContent=e instanceof Error?e.message:`Authentication failed`,s.disabled=!1,u.disabled=!1,s.select(),s.focus()})}),queueMicrotask(()=>{s.focus()})}async function v(){let e=i();if(!e.enabled||e.strategy===`none`)return{authenticated:!0,auth:e};let{card:t,overlay:n}=p();document.body.append(n);let r=c(`auth_error`);return new Promise(i=>{let a=(t=null)=>{s(),d(t),n.remove(),i({authenticated:!0,auth:t?.auth??e,user:t?.user??null})};(async()=>{g(t,{body:`Checking access to this session…`,title:`CollabMD`});try{let t=await u(e);if(t.authenticated){a(t);return}}catch(e){g(t,{body:e instanceof Error?`${e.message} Refresh the page and try again.`:`Failed to contact the auth service. Refresh the page and try again.`,title:`Cannot verify access`});return}if(e.strategy===`password`){let n=o();if(n)try{s(),await f(e,n),a();return}catch{}_(t,e,{onSubmit:async t=>{await f(e,t),a()}});return}if(e.strategy===`oidc`){h(t,e,{errorMessage:r}),r=``;return}g(t,{body:`This authentication strategy is not available.`,title:`Authentication unavailable`})})()})}function y(e){return!e||e.repeat||!e.metaKey&&!e.ctrlKey||e.shiftKey||e.altKey?!1:String(e.key??``).toLowerCase()===`k`||e.code===`KeyK`}function b(e){return encodeURIComponent(String(e??``))}function x(e){return String(e??``).replace(/\/+$/u,``).split(`/`).filter(Boolean).pop()||``}function S(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,document.body.appendChild(r),r.click(),r.remove(),window.setTimeout(()=>URL.revokeObjectURL(n),0)}function C(e=``,t=`download`){let n=String(e).match(/filename\*=UTF-8''([^;]+)/iu);if(n)try{return decodeURIComponent(n[1])}catch{return t}return String(e).match(/filename="([^"]+)"/iu)?.[1]||t}function w(e,t={}){let n={...t};return e&&(n[`X-CollabMD-Request-Id`]=String(e)),n}async function T(e,t){let n=await e.json().catch(()=>({}));if(!e.ok||n.ok===!1){let r=Error(n.error||t);throw r.status=e.status,r.body=n,r}return n}async function E(e,{fallbackError:t,fallbackFileName:n}={}){let r=await fetch(e);if(!r.ok){let e=await r.json().catch(()=>({}));throw Error(e.error||t)}return S(await r.blob(),C(r.headers.get(`content-disposition`)||``,n)),r}var D=new class{async readTree(){return T(await fetch(e(`/files`)),`Failed to load file tree`)}async readFile(t){return T(await fetch(e(`/file?path=${encodeURIComponent(t)}`)),`Failed to read file`)}async searchText({limit:t=50,query:n=``,signal:r=null}={}){let i=new URLSearchParams({limit:String(t),q:String(n??``)});return T(await fetch(e(`/search?${i.toString()}`),{signal:r}),`Failed to search files`)}async queryBase({activeFilePath:t=``,path:n=``,search:r=``,source:i=null,sourcePath:a=``,view:o=``}={}){return T(await fetch(e(`/base/query`),{body:JSON.stringify({activeFilePath:t,path:n,search:r,source:i,sourcePath:a,view:o}),headers:{"Content-Type":`application/json`},method:`POST`}),`Failed to query base`)}async exportBaseCsv({activeFilePath:t=``,path:n=``,search:r=``,source:i=null,sourcePath:a=``,view:o=``}={}){let s=await fetch(e(`/base/export`),{body:JSON.stringify({activeFilePath:t,path:n,search:r,source:i,sourcePath:a,view:o}),headers:{"Content-Type":`application/json`},method:`POST`});if(!s.ok){let e=await s.json().catch(()=>({}));throw Error(e.error||`Failed to export base CSV`)}return{blob:await s.blob(),contentDisposition:s.headers.get(`content-disposition`)||``}}async queryBasePropertyValues({activeFilePath:t=``,path:n=``,propertyId:r=``,query:i=``,source:a=null,sourcePath:o=``,view:s=``}={}){return T(await fetch(e(`/base/property-values`),{body:JSON.stringify({activeFilePath:t,path:n,propertyId:r,query:i,source:a,sourcePath:o,view:s}),headers:{"Content-Type":`application/json`},method:`POST`}),`Failed to load base property values`)}async transformBase({activeFilePath:t=``,mutation:n=null,path:r=``,source:i=null,sourcePath:a=``,view:o=``}={}){return T(await fetch(e(`/base/transform`),{body:JSON.stringify({activeFilePath:t,mutation:n,path:r,source:i,sourcePath:a,view:o}),headers:{"Content-Type":`application/json`},method:`POST`}),`Failed to transform base`)}async createFile({content:t,path:n,requestId:r=null}){return T(await fetch(e(`/file`),{body:JSON.stringify({content:t,path:n}),headers:w(r,{"Content-Type":`application/json`}),method:`POST`}),`Failed to create file`)}async writeFile({content:t,path:n,requestId:r=null}){return T(await fetch(e(`/file`),{body:JSON.stringify({content:t,path:n}),headers:w(r,{"Content-Type":`application/json`}),method:`PUT`}),`Failed to write file`)}async renameFile({oldPath:t,newPath:n,requestId:r=null}){return T(await fetch(e(`/file`),{body:JSON.stringify({newPath:n,oldPath:t}),headers:w(r,{"Content-Type":`application/json`}),method:`PATCH`}),`Failed to rename file`)}async deleteFile(t,{requestId:n=null}={}){return T(await fetch(e(`/file?path=${encodeURIComponent(t)}`),{headers:n?w(n):void 0,method:`DELETE`}),`Failed to delete file`)}async createDirectory(t,{requestId:n=null}={}){return T(await fetch(e(`/directory`),{body:JSON.stringify({path:t}),headers:w(n,{"Content-Type":`application/json`}),method:`POST`}),`Failed to create folder`)}async renameDirectory({oldPath:t,newPath:n,requestId:r=null}){return T(await fetch(e(`/directory`),{body:JSON.stringify({newPath:n,oldPath:t}),headers:w(r,{"Content-Type":`application/json`}),method:`PATCH`}),`Failed to rename folder`)}async deleteDirectory(t,{recursive:n=!1,requestId:r=null}={}){let i=new URLSearchParams({path:String(t??``)});return n&&i.set(`recursive`,`1`),T(await fetch(e(`/directory?${i.toString()}`),{headers:r?w(r):void 0,method:`DELETE`}),`Failed to delete folder`)}async uploadImageAttachment({file:t,fileName:n=``,sourcePath:r}){return T(await fetch(e(`/attachments`),{body:t,headers:{"Content-Type":t?.type||`application/octet-stream`,"X-CollabMD-File-Name":b(n),"X-CollabMD-Source-Path":b(r)},method:`POST`}),`Failed to upload image`)}async downloadFile(t){let n=x(t)||`download`;return E(e(`/download/file?path=${encodeURIComponent(t)}`),{fallbackError:`Failed to download file`,fallbackFileName:n})}async downloadDirectory(t){let n=x(t)||`vault`;return E(e(`/download/directory?path=${encodeURIComponent(t)}`),{fallbackError:`Failed to download folder`,fallbackFileName:`${n}.zip`})}};export{y as n,v as r,D as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{l as e,t}from"./file-kind-
|
|
1
|
+
import{l as e,t}from"./file-kind-DLz-bCzA.js";function n(e){return String(e??``).trim()||null}function r(r,i){let a=n(r);if(!a||!Array.isArray(i)||i.length===0)return null;let o=null;for(let e of i){if(e===a)return e;!o&&e.endsWith(`/${a}`)&&(o=e)}if(o||t(a))return o;let s=`${a}.md`,c=null;for(let t of i)if(e(t)){if(t===s)return t;!c&&t.endsWith(`/${s}`)&&(c=t)}return c}function i(e){return String(e).replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)}function a(e,t){return r(e,t)??void 0}function o(e,t,n){return Math.min(Math.max(e,t),n)}function s(e){return String(e??``).replace(/\\/g,`/`).split(`/`).filter(Boolean)}function c(e,t){let n=s(e),r=String(t??``).split(`/`).map(e=>{try{return decodeURIComponent(e)}catch{return e}});if(r.length===0)return``;n.pop();let i=[...n];for(let e of r){let t=String(e??``).trim();if(!(!t||t===`.`)){if(t===`..`){if(i.length===0)return``;i.pop();continue}i.push(t)}}return i.join(`/`)}export{a as i,i as n,c as r,o as t};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import{h as e,p as t}from"./src-BshjqEL2.js";import{H as n,K as r,U as i,a,b as o,c as s,et as c,f as l,nt as u,rt as d,tt as f,v as p,w as m,y as h}from"./chunk-CSCIHK7Q-BIoF4mTy.js";import{i as g}from"./chunk-5ZQYHXKU-BJyABJSy.js";import{t as _}from"./chunk-WU5MYG2G-Bl8VQmZH.js";import{t as v}from"./rough.esm-DE_lJ5Ge.js";var y=(e,t)=>u(e,`a`,-t),b=1e-10;function x(e,t){let n=C(e),r=n.filter(t=>S(t,e)),i=0,a=0,o=[];if(r.length>1){let t=O(r);for(let e=0;e<r.length;++e){let n=r[e];n.angle=Math.atan2(n.x-t.x,n.y-t.y)}r.sort((e,t)=>t.angle-e.angle);let n=r[r.length-1];for(let t=0;t<r.length;++t){let s=r[t];a+=(n.x+s.x)*(s.y-n.y);let c={x:(s.x+n.x)/2,y:(s.y+n.y)/2},l=null;for(let t=0;t<s.parentIndex.length;++t)if(n.parentIndex.includes(s.parentIndex[t])){let r=e[s.parentIndex[t]],i=Math.atan2(s.x-r.x,s.y-r.y),a=Math.atan2(n.x-r.x,n.y-r.y),o=a-i;o<0&&(o+=2*Math.PI);let u=a-o/2,d=T(c,{x:r.x+r.radius*Math.sin(u),y:r.y+r.radius*Math.cos(u)});d>r.radius*2&&(d=r.radius*2),(l==null||l.width>d)&&(l={circle:r,width:d,p1:s,p2:n,large:d>r.radius,sweep:!0})}l!=null&&(o.push(l),i+=w(l.circle.radius,l.width),n=s)}}else{let t=e[0];for(let n=1;n<e.length;++n)e[n].radius<t.radius&&(t=e[n]);let n=!1;for(let r=0;r<e.length;++r)if(T(e[r],t)>Math.abs(t.radius-e[r].radius)){n=!0;break}n?i=a=0:(i=t.radius*t.radius*Math.PI,o.push({circle:t,p1:{x:t.x,y:t.y+t.radius},p2:{x:t.x-b,y:t.y+t.radius},width:t.radius*2,large:!0,sweep:!0}))}return a/=2,t&&(t.area=i+a,t.arcArea=i,t.polygonArea=a,t.arcs=o,t.innerPoints=r,t.intersectionPoints=n),i+a}function S(e,t){return t.every(t=>T(e,t)<t.radius+b)}function C(e){let t=[];for(let n=0;n<e.length;++n)for(let r=n+1;r<e.length;++r){let i=D(e[n],e[r]);for(let e of i)e.parentIndex=[n,r],t.push(e)}return t}function w(e,t){return e*e*Math.acos(1-t/e)-(e-t)*Math.sqrt(t*(2*e-t))}function T(e,t){return Math.sqrt((e.x-t.x)*(e.x-t.x)+(e.y-t.y)*(e.y-t.y))}function E(e,t,n){if(n>=e+t)return 0;if(n<=Math.abs(e-t))return Math.PI*Math.min(e,t)*Math.min(e,t);let r=e-(n*n-t*t+e*e)/(2*n),i=t-(n*n-e*e+t*t)/(2*n);return w(e,r)+w(t,i)}function D(e,t){let n=T(e,t),r=e.radius,i=t.radius;if(n>=r+i||n<=Math.abs(r-i))return[];let a=(r*r-i*i+n*n)/(2*n),o=Math.sqrt(r*r-a*a),s=e.x+a*(t.x-e.x)/n,c=e.y+a*(t.y-e.y)/n,l=-(t.y-e.y)*(o/n),u=-(t.x-e.x)*(o/n);return[{x:s+l,y:c-u},{x:s-l,y:c+u}]}function O(e){let t={x:0,y:0};for(let n of e)t.x+=n.x,t.y+=n.y;return t.x/=e.length,t.y/=e.length,t}function k(e,t,n,r){r||={};let i=r.maxIterations||100,a=r.tolerance||1e-10,o=e(t),s=e(n),c=n-t;if(o*s>0)throw`Initial bisect points must have opposite signs`;if(o===0)return t;if(s===0)return n;for(let n=0;n<i;++n){c/=2;let n=t+c,r=e(n);if(r*o>=0&&(t=n),Math.abs(c)<a||r===0)return n}return t+c}function A(e){let t=Array(e);for(let n=0;n<e;++n)t[n]=0;return t}function j(e,t){return A(e).map(()=>A(t))}function M(e,t){let n=0;for(let r=0;r<e.length;++r)n+=e[r]*t[r];return n}function N(e){return Math.sqrt(M(e,e))}function P(e,t,n){for(let r=0;r<t.length;++r)e[r]=t[r]*n}function F(e,t,n,r,i){for(let a=0;a<e.length;++a)e[a]=t*n[a]+r*i[a]}function I(e,t,n){n||={};let r=n.maxIterations||t.length*200,i=n.nonZeroDelta||1.05,a=n.zeroDelta||.001,o=n.minErrorDelta||1e-6,s=n.minErrorDelta||1e-5,c=n.rho===void 0?1:n.rho,l=n.chi===void 0?2:n.chi,u=n.psi===void 0?-.5:n.psi,d=n.sigma===void 0?.5:n.sigma,f,p=t.length,m=Array(p+1);m[0]=t,m[0].fx=e(t),m[0].id=0;for(let n=0;n<p;++n){let r=t.slice();r[n]=r[n]?r[n]*i:a,m[n+1]=r,m[n+1].fx=e(r),m[n+1].id=n+1}function h(e){for(let t=0;t<e.length;t++)m[p][t]=e[t];m[p].fx=e.fx}let g=(e,t)=>e.fx-t.fx,_=t.slice(),v=t.slice(),y=t.slice(),b=t.slice();for(let t=0;t<r;++t){if(m.sort(g),n.history){let e=m.map(e=>{let t=e.slice();return t.fx=e.fx,t.id=e.id,t});e.sort((e,t)=>e.id-t.id),n.history.push({x:m[0].slice(),fx:m[0].fx,simplex:e})}f=0;for(let e=0;e<p;++e)f=Math.max(f,Math.abs(m[0][e]-m[1][e]));if(Math.abs(m[0].fx-m[p].fx)<o&&f<s)break;for(let e=0;e<p;++e){_[e]=0;for(let t=0;t<p;++t)_[e]+=m[t][e];_[e]/=p}let t=m[p];if(F(v,1+c,_,-c,t),v.fx=e(v),v.fx<m[0].fx)F(b,1+l,_,-l,t),b.fx=e(b),b.fx<v.fx?h(b):h(v);else if(v.fx>=m[p-1].fx){let n=!1;if(v.fx>t.fx?(F(y,1+u,_,-u,t),y.fx=e(y),y.fx<t.fx?h(y):n=!0):(F(y,1-u*c,_,u*c,t),y.fx=e(y),y.fx<v.fx?h(y):n=!0),n){if(d>=1)break;for(let t=1;t<m.length;++t)F(m[t],1-d,m[0],d,m[t]),m[t].fx=e(m[t])}}else h(v)}return m.sort(g),{fx:m[0].fx,x:m[0]}}function L(e,t,n,r,i,a,o){let s=n.fx,c=M(n.fxprime,t),l=s,u=s,d=c,f=0;i||=1,a||=1e-6,o||=.1;function p(u,f,p){for(let m=0;m<16;++m)if(i=(u+f)/2,F(r.x,1,n.x,i,t),l=r.fx=e(r.x,r.fxprime),d=M(r.fxprime,t),l>s+a*i*c||l>=p)f=i;else{if(Math.abs(d)<=-o*c)return i;d*(f-u)>=0&&(f=u),u=i,p=l}return 0}for(let m=0;m<10;++m){if(F(r.x,1,n.x,i,t),l=r.fx=e(r.x,r.fxprime),d=M(r.fxprime,t),l>s+a*i*c||m&&l>=u)return p(f,i,u);if(Math.abs(d)<=-o*c)return i;if(d>=0)return p(i,f,l);u=l,f=i,i*=2}return i}function ee(e,t,n){let r={x:t.slice(),fx:0,fxprime:t.slice()},i={x:t.slice(),fx:0,fxprime:t.slice()},a=t.slice(),o,s,c=1,l;n||={},l=n.maxIterations||t.length*20,r.fx=e(r.x,r.fxprime),o=r.fxprime.slice(),P(o,r.fxprime,-1);for(let t=0;t<l;++t){if(c=L(e,o,r,i,c),n.history&&n.history.push({x:r.x.slice(),fx:r.fx,fxprime:r.fxprime.slice(),alpha:c}),!c)P(o,r.fxprime,-1);else{F(a,1,i.fxprime,-1,r.fxprime);let e=M(r.fxprime,r.fxprime),t=Math.max(0,M(a,i.fxprime)/e);F(o,t,o,-1,i.fxprime),s=r,r=i,i=s}if(N(r.fxprime)<=1e-5)break}return n.history&&n.history.push({x:r.x.slice(),fx:r.fx,fxprime:r.fxprime.slice(),alpha:c}),r}function te(e,t={}){t.maxIterations=t.maxIterations||500;let n=t.initialLayout||oe,r=t.lossFunction||z,i=re(e,t),a=n(i,t),o=Object.keys(a),s=[];for(let e of o)s.push(a[e].x),s.push(a[e].y);let c=I(e=>{let t={};for(let n=0;n<o.length;++n){let r=o[n];t[r]={x:e[2*n],y:e[2*n+1],radius:a[r].radius}}return r(t,i)},s,t).x;for(let e=0;e<o.length;++e){let t=o[e];a[t].x=c[2*e],a[t].y=c[2*e+1]}return a}var ne=1e-10;function R(e,t,n){return Math.min(e,t)*Math.min(e,t)*Math.PI<=n+ne?Math.abs(e-t):k(r=>E(e,t,r)-n,0,e+t)}function re(e,t={}){let n=t.distinct,r=e.map(e=>Object.assign({},e));function i(e){return e.join(`;`)}if(n){let e=new Map;for(let t of r)for(let n=0;n<t.sets.length;n++){let r=String(t.sets[n]);e.set(r,t.size+(e.get(r)||0));for(let i=n+1;i<t.sets.length;i++){let n=String(t.sets[i]),a=`${r};${n}`,o=`${n};${r}`;e.set(a,t.size+(e.get(a)||0)),e.set(o,t.size+(e.get(o)||0))}}for(let t of r)t.sets.length<3&&(t.size=e.get(i(t.sets)))}let a=[],o=new Set;for(let e of r)if(e.sets.length===1)a.push(e.sets[0]);else if(e.sets.length===2){let t=e.sets[0],n=e.sets[1];o.add(i(e.sets)),o.add(i([n,t]))}a.sort((e,t)=>e===t?0:e<t?-1:1);for(let e=0;e<a.length;++e){let t=a[e];for(let n=e+1;n<a.length;++n){let e=a[n];o.has(i([t,e]))||r.push({sets:[t,e],size:0})}}return r}function ie(e,t,n){let r=j(t.length,t.length),i=j(t.length,t.length);return e.filter(e=>e.sets.length===2).forEach(e=>{let a=n[e.sets[0]],o=n[e.sets[1]],s=R(Math.sqrt(t[a].size/Math.PI),Math.sqrt(t[o].size/Math.PI),e.size);r[a][o]=r[o][a]=s;let c=0;e.size+1e-10>=Math.min(t[a].size,t[o].size)?c=1:e.size<=1e-10&&(c=-1),i[a][o]=i[o][a]=c}),{distances:r,constraints:i}}function ae(e,t,n,r){for(let e=0;e<t.length;++e)t[e]=0;let i=0;for(let a=0;a<n.length;++a){let o=e[2*a],s=e[2*a+1];for(let c=a+1;c<n.length;++c){let l=e[2*c],u=e[2*c+1],d=n[a][c],f=r[a][c],p=(l-o)*(l-o)+(u-s)*(u-s),m=Math.sqrt(p),h=p-d*d;f>0&&m<=d||f<0&&m>=d||(i+=2*h*h,t[2*a]+=4*h*(o-l),t[2*a+1]+=4*h*(s-u),t[2*c]+=4*h*(l-o),t[2*c+1]+=4*h*(u-s))}}return i}function oe(e,t={}){let n=ce(e,t),r=t.lossFunction||z;if(e.length>=8){let i=se(e,t),a=r(i,e),o=r(n,e);a+1e-8<o&&(n=i)}return n}function se(e,t={}){let n=t.restarts||10,r=[],i={};for(let t of e)t.sets.length===1&&(i[t.sets[0]]=r.length,r.push(t));let{distances:a,constraints:o}=ie(e,r,i),s=N(a.map(N))/a.length;a=a.map(e=>e.map(e=>e/s));let c=(e,t)=>ae(e,t,a,o),l=null;for(let e=0;e<n;++e){let e=ee(c,A(a.length*2).map(Math.random),t);(!l||e.fx<l.fx)&&(l=e)}let u=l.x,d={};for(let e=0;e<r.length;++e){let t=r[e];d[t.sets[0]]={x:u[2*e]*s,y:u[2*e+1]*s,radius:Math.sqrt(t.size/Math.PI)}}if(t.history)for(let e of t.history)P(e.x,s);return d}function ce(e,t){let n=t&&t.lossFunction?t.lossFunction:z,r={},i={};for(let t of e)if(t.sets.length===1){let e=t.sets[0];r[e]={x:1e10,y:1e10,rowid:r.length,size:t.size,radius:Math.sqrt(t.size/Math.PI)},i[e]=[]}e=e.filter(e=>e.sets.length===2);for(let t of e){let e=t.weight==null?1:t.weight,n=t.sets[0],a=t.sets[1];t.size+ne>=Math.min(r[n].size,r[a].size)&&(e=0),i[n].push({set:a,size:t.size,weight:e}),i[a].push({set:n,size:t.size,weight:e})}let a=[];Object.keys(i).forEach(e=>{let t=0;for(let n=0;n<i[e].length;++n)t+=i[e][n].size*i[e][n].weight;a.push({set:e,size:t})});function o(e,t){return t.size-e.size}a.sort(o);let s={};function c(e){return e.set in s}function l(e,t){r[t].x=e.x,r[t].y=e.y,s[t]=!0}l({x:0,y:0},a[0].set);for(let t=1;t<a.length;++t){let s=a[t].set,d=i[s].filter(c),f=r[s];if(d.sort(o),d.length===0)throw`ERROR: missing pairwise overlap information`;let p=[];for(var u=0;u<d.length;++u){let e=r[d[u].set],t=R(f.radius,e.radius,d[u].size);p.push({x:e.x+t,y:e.y}),p.push({x:e.x-t,y:e.y}),p.push({y:e.y+t,x:e.x}),p.push({y:e.y-t,x:e.x});for(let n=u+1;n<d.length;++n){let i=r[d[n].set],a=R(f.radius,i.radius,d[n].size),o=D({x:e.x,y:e.y,radius:t},{x:i.x,y:i.y,radius:a});p.push(...o)}}let m=1e50,h=p[0];for(let t of p){r[s].x=t.x,r[s].y=t.y;let i=n(r,e);i<m&&(m=i,h=t)}l(h,s)}return r}function z(e,t){let n=0;for(let r of t){if(r.sets.length===1)continue;let t;if(r.sets.length===2){let n=e[r.sets[0]],i=e[r.sets[1]];t=E(n.radius,i.radius,T(n,i))}else t=x(r.sets.map(t=>e[t]));let i=r.weight==null?1:r.weight;n+=i*(t-r.size)*(t-r.size)}return n}function le(e,t){let n=0;for(let r of t){if(r.sets.length===1)continue;let t;if(r.sets.length===2){let n=e[r.sets[0]],i=e[r.sets[1]];t=E(n.radius,i.radius,T(n,i))}else t=x(r.sets.map(t=>e[t]));let i=r.weight==null?1:r.weight,a=Math.log((t+1)/(r.size+1));n+=i*a*a}return n}function ue(e,t,n){if(n==null?e.sort((e,t)=>t.radius-e.radius):e.sort(n),e.length>0){let t=e[0].x,n=e[0].y;for(let r of e)r.x-=t,r.y-=n}if(e.length===2&&T(e[0],e[1])<Math.abs(e[1].radius-e[0].radius)&&(e[1].x=e[0].x+e[0].radius-e[1].radius-1e-10,e[1].y=e[0].y),e.length>1){let n=Math.atan2(e[1].x,e[1].y)-t,r=Math.cos(n),i=Math.sin(n);for(let t of e){let e=t.x,n=t.y;t.x=r*e-i*n,t.y=i*e+r*n}}if(e.length>2){let n=Math.atan2(e[2].x,e[2].y)-t;for(;n<0;)n+=2*Math.PI;for(;n>2*Math.PI;)n-=2*Math.PI;if(n>Math.PI){let t=e[1].y/(1e-10+e[1].x);for(let n of e){var r=(n.x+t*n.y)/(1+t*t);n.x=2*r-n.x,n.y=2*r*t-n.y}}}}function de(e){e.forEach(e=>{e.parent=e});function t(e){return e.parent!==e&&(e.parent=t(e.parent)),e.parent}function n(e,n){let r=t(e);r.parent=t(n)}for(let t=0;t<e.length;++t)for(let r=t+1;r<e.length;++r){let i=e[t].radius+e[r].radius;T(e[t],e[r])+1e-10<i&&n(e[r],e[t])}let r=new Map;for(let n=0;n<e.length;++n){let i=t(e[n]).parent.setid;r.has(i)||r.set(i,[]),r.get(i).push(e[n])}return e.forEach(e=>{delete e.parent}),Array.from(r.values())}function B(e){let t=t=>({max:e.reduce((e,n)=>Math.max(e,n[t]+n.radius),-1/0),min:e.reduce((e,n)=>Math.min(e,n[t]-n.radius),1/0)});return{xRange:t(`x`),yRange:t(`y`)}}function fe(e,t,n){t??=Math.PI/2;let r=he(e).map(e=>Object.assign({},e)),i=de(r);for(let e of i){ue(e,t,n);let r=B(e);e.size=(r.xRange.max-r.xRange.min)*(r.yRange.max-r.yRange.min),e.bounds=r}i.sort((e,t)=>t.size-e.size),r=i[0];let a=r.bounds,o=(a.xRange.max-a.xRange.min)/50;function s(e,t,n){if(!e)return;let i=e.bounds,s,c;if(t)s=a.xRange.max-i.xRange.min+o;else{s=a.xRange.max-i.xRange.max;let e=(i.xRange.max-i.xRange.min)/2-(a.xRange.max-a.xRange.min)/2;e<0&&(s+=e)}if(n)c=a.yRange.max-i.yRange.min+o;else{c=a.yRange.max-i.yRange.max;let e=(i.yRange.max-i.yRange.min)/2-(a.yRange.max-a.yRange.min)/2;e<0&&(c+=e)}for(let t of e)t.x+=s,t.y+=c,r.push(t)}let c=1;for(;c<i.length;)s(i[c],!0,!1),s(i[c+1],!1,!0),s(i[c+2],!0,!0),c+=3,a=B(r);return me(r)}function pe(e,t,n,r,i){let a=he(e);t-=2*r,n-=2*r;let{xRange:o,yRange:s}=B(a);if(o.max===o.min||s.max===s.min)return console.log(`not scaling solution: zero size detected`),e;let c,l;if(i){let e=Math.sqrt(i/Math.PI)*2;c=t/e,l=n/e}else c=t/(o.max-o.min),l=n/(s.max-s.min);let u=Math.min(l,c),d=(t-(o.max-o.min)*u)/2,f=(n-(s.max-s.min)*u)/2;return me(a.map(e=>({radius:u*e.radius,x:r+d+(e.x-o.min)*u,y:r+f+(e.y-s.min)*u,setid:e.setid})))}function me(e){let t={};for(let n of e)t[n.setid]=n;return t}function he(e){return Object.keys(e).map(t=>Object.assign(e[t],{setid:t}))}function ge(e={}){let t=!1,n=600,r=350,i=15,a=1e3,o=Math.PI/2,s=!0,c=null,l=!0,u=!0,d=null,f=null,p=!1,m=null,h=e&&e.symmetricalTextCentre?e.symmetricalTextCentre:!1,g={},_=e&&e.colourScheme?e.colourScheme:e&&e.colorScheme?e.colorScheme:[`#1f77b4`,`#ff7f0e`,`#2ca02c`,`#d62728`,`#9467bd`,`#8c564b`,`#e377c2`,`#7f7f7f`,`#bcbd22`,`#17becf`],v=0,y=function(e){if(e in g)return g[e];var t=g[e]=_[v];return v+=1,v>=_.length&&(v=0),t},b=te,x=z;function S(g){let _=g.datum(),v=new Set;_.forEach(e=>{e.size==0&&e.sets.length==1&&v.add(e.sets[0])}),_=_.filter(e=>!e.sets.some(e=>v.has(e)));let S={},C={};if(_.length>0){let e=b(_,{lossFunction:x,distinct:p});s&&(e=fe(e,o,f)),S=pe(e,n,r,i,c),C=ye(S,_,h)}let w={};_.forEach(e=>{e.label&&(w[e.sets]=e.label)});function T(e){if(e.sets in w)return w[e.sets];if(e.sets.length==1)return``+e.sets[0]}g.selectAll(`svg`).data([S]).enter().append(`svg`);let E=g.select(`svg`);t?E.attr(`viewBox`,`0 0 ${n} ${r}`):E.attr(`width`,n).attr(`height`,r);let D={},O=!1;E.selectAll(`.venn-area path`).each(function(e){let t=this.getAttribute(`d`);e.sets.length==1&&t&&!p&&(O=!0,D[e.sets[0]]=xe(t))});function k(e){return t=>we(e.sets.map(e=>{let i=D[e],a=S[e];return i||={x:n/2,y:r/2,radius:1},a||={x:n/2,y:r/2,radius:1},{x:i.x*(1-t)+a.x*t,y:i.y*(1-t)+a.y*t,radius:i.radius*(1-t)+a.radius*t}}),m)}let A=E.selectAll(`.venn-area`).data(_,e=>e.sets),j=A.enter().append(`g`).attr(`class`,e=>`venn-area venn-${e.sets.length==1?`circle`:`intersection`}${e.colour||e.color?` venn-coloured`:``}`).attr(`data-venn-sets`,e=>e.sets.join(`_`)),M=j.append(`path`),N=j.append(`text`).attr(`class`,`label`).text(e=>T(e)).attr(`text-anchor`,`middle`).attr(`dy`,`.35em`).attr(`x`,n/2).attr(`y`,r/2);u&&(M.style(`fill-opacity`,`0`).filter(e=>e.sets.length==1).style(`fill`,e=>e.colour?e.colour:e.color?e.color:y(e.sets)).style(`fill-opacity`,`.25`),N.style(`fill`,t=>t.colour||t.color?`#FFF`:e.textFill?e.textFill:t.sets.length==1?y(t.sets):`#444`));function P(e){return typeof e.transition==`function`?e.transition(`venn`).duration(a):e}let F=g;O&&typeof F.transition==`function`?(F=P(g),F.selectAll(`path`).attrTween(`d`,k)):F.selectAll(`path`).attr(`d`,e=>we(e.sets.map(e=>S[e])),m);let I=F.selectAll(`text`).filter(e=>e.sets in C).text(e=>T(e)).attr(`x`,e=>Math.floor(C[e.sets].x)).attr(`y`,e=>Math.floor(C[e.sets].y));l&&(O?`on`in I?I.on(`end`,V(S,T)):I.each(`end`,V(S,T)):I.each(V(S,T)));let L=P(A.exit()).remove();typeof A.transition==`function`&&L.selectAll(`path`).attrTween(`d`,k);let ee=L.selectAll(`text`).attr(`x`,n/2).attr(`y`,r/2);return d!==null&&(N.style(`font-size`,`0px`),I.style(`font-size`,d),ee.style(`font-size`,`0px`)),{circles:S,textCentres:C,nodes:A,enter:j,update:F,exit:L}}return S.wrap=function(e){return arguments.length?(l=e,S):l},S.useViewBox=function(){return t=!0,S},S.width=function(e){return arguments.length?(n=e,S):n},S.height=function(e){return arguments.length?(r=e,S):r},S.padding=function(e){return arguments.length?(i=e,S):i},S.distinct=function(e){return arguments.length?(p=e,S):p},S.colours=function(e){return arguments.length?(y=e,S):y},S.colors=function(e){return arguments.length?(y=e,S):y},S.fontSize=function(e){return arguments.length?(d=e,S):d},S.round=function(e){return arguments.length?(m=e,S):m},S.duration=function(e){return arguments.length?(a=e,S):a},S.layoutFunction=function(e){return arguments.length?(b=e,S):b},S.normalize=function(e){return arguments.length?(s=e,S):s},S.scaleToFit=function(e){return arguments.length?(c=e,S):c},S.styled=function(e){return arguments.length?(u=e,S):u},S.orientation=function(e){return arguments.length?(o=e,S):o},S.orientationOrder=function(e){return arguments.length?(f=e,S):f},S.lossFunction=function(e){return arguments.length?(x=e===`default`?z:e===`logRatio`?le:e,S):x},S}function V(e,t){return function(n){let r=this,i=e[n.sets[0]].radius||50,a=t(n)||``,o=a.split(/\s+/).reverse(),s=(a.length+o.length)/3,c=o.pop(),l=[c],u=0,d=1.1;r.textContent=null;let f=[];function p(e){let t=r.ownerDocument.createElementNS(r.namespaceURI,`tspan`);return t.textContent=e,f.push(t),r.append(t),t}let m=p(c);for(;c=o.pop(),c;){l.push(c);let e=l.join(` `);m.textContent=e,e.length>s&&m.getComputedTextLength()>i&&(l.pop(),m.textContent=l.join(` `),l=[c],m=p(c),u++)}let h=.35-u*d/2,g=r.getAttribute(`x`),_=r.getAttribute(`y`);f.forEach((e,t)=>{e.setAttribute(`x`,g),e.setAttribute(`y`,_),e.setAttribute(`dy`,`${h+t*d}em`)})}}function H(e,t,n){let r=t[0].radius-T(t[0],e);for(let n=1;n<t.length;++n){let i=t[n].radius-T(t[n],e);i<=r&&(r=i)}for(let t=0;t<n.length;++t){let i=T(n[t],e)-n[t].radius;i<=r&&(r=i)}return r}function _e(e,t,n){let r=[];for(let t of e)r.push({x:t.x,y:t.y}),r.push({x:t.x+t.radius/2,y:t.y}),r.push({x:t.x-t.radius/2,y:t.y}),r.push({x:t.x,y:t.y+t.radius/2}),r.push({x:t.x,y:t.y-t.radius/2});let i=r[0],a=H(r[0],e,t);for(let n=1;n<r.length;++n){let o=H(r[n],e,t);o>=a&&(i=r[n],a=o)}let o=I(n=>-1*H({x:n[0],y:n[1]},e,t),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,s={x:n?0:o[0],y:o[1]},c=!0;for(let t of e)if(T(s,t)>t.radius){c=!1;break}for(let e of t)if(T(s,e)<e.radius){c=!1;break}if(c)return s;if(e.length==1)return{x:e[0].x,y:e[0].y};let l={};return x(e,l),l.arcs.length===0?{x:0,y:-1e3,disjoint:!0}:l.arcs.length==1?{x:l.arcs[0].circle.x,y:l.arcs[0].circle.y}:t.length?_e(e,[]):O(l.arcs.map(e=>e.p1))}function ve(e){let t={},n=Object.keys(e);for(let e of n)t[e]=[];for(let r=0;r<n.length;r++){let i=n[r],a=e[i];for(let o=r+1;o<n.length;++o){let r=n[o],s=e[r],c=T(a,s);c+s.radius<=a.radius+1e-10?t[r].push(i):c+a.radius<=s.radius+1e-10&&t[i].push(r)}}return t}function ye(e,t,n){let r={},i=ve(e);for(let a=0;a<t.length;++a){let o=t[a].sets,s={},c={};for(let e=0;e<o.length;++e){s[o[e]]=!0;let t=i[o[e]];for(let e=0;e<t.length;++e)c[t[e]]=!0}let l=[],u=[];for(let t in e)t in s?l.push(e[t]):t in c||u.push(e[t]);let d=_e(l,u,n);r[o]=d,d.disjoint&&t[a].size>0&&console.log(`WARNING: area `+o+` not represented on screen`)}return r}function be(e,t,n){let r=[];return r.push(`
|
|
2
|
+
M`,e,t),r.push(`
|
|
3
|
+
m`,-n,0),r.push(`
|
|
4
|
+
a`,n,n,0,1,0,n*2,0),r.push(`
|
|
5
|
+
a`,n,n,0,1,0,-n*2,0),r.join(` `)}function xe(e){let t=e.split(` `);return{x:Number.parseFloat(t[1]),y:Number.parseFloat(t[2]),radius:-Number.parseFloat(t[4])}}function Se(e){if(e.length===0)return[];let t={};return x(e,t),t.arcs}function Ce(e,t){if(e.length===0)return`M 0 0`;let n=10**(t||0),r=t==null?e=>e:e=>Math.round(e*n)/n;if(e.length==1){let t=e[0].circle;return be(r(t.x),r(t.y),r(t.radius))}let i=[`
|
|
6
|
+
M`,r(e[0].p2.x),r(e[0].p2.y)];for(let t of e){let e=r(t.circle.radius);i.push(`
|
|
7
|
+
A`,e,e,0,+!!t.large,+!!t.sweep,r(t.p1.x),r(t.p1.y))}return i.join(` `)}function we(e,t){return Ce(Se(e),t)}function Te(e,t={}){let{lossFunction:n,layoutFunction:r=te,normalize:i=!0,orientation:a=Math.PI/2,orientationOrder:o,width:s=600,height:c=350,padding:l=15,scaleToFit:u=!1,symmetricalTextCentre:d=!1,distinct:f,round:p=2}=t,m=r(e,{lossFunction:n===`default`||!n?z:n===`logRatio`?le:n,distinct:f});i&&(m=fe(m,a,o));let h=pe(m,s,c,l,u),g=ye(h,e,d),_=new Map(Object.keys(h).map(e=>[e,{set:e,x:h[e].x,y:h[e].y,radius:h[e].radius}])),v=e.map(e=>{let t=e.sets.map(e=>_.get(e)),n=Se(t);return{circles:t,arcs:n,path:Ce(n,p),area:e,has:new Set(e.sets)}});function y(e){let t=``;for(let n of v)n.has.size>e.length&&e.every(e=>n.has.has(e))&&(t+=` `+n.path);return t}return v.map(({circles:e,arcs:t,path:n,area:r})=>({data:r,text:g[r.sets],circles:e,arcs:t,path:n,distinctPath:n+y(r.sets)}))}var U=(function(){var t=e(function(e,t,n,r){for(n||={},r=e.length;r--;n[e[r]]=t);return n},`o`),n=[5,8],r=[7,8,11,12,17,19,22,24],i=[1,17],a=[1,18],o=[7,8,11,12,14,15,16,17,19,20,21,22,24,27],s=[1,31],c=[1,39],l=[7,8,11,12,17,19,22,24,27],u=[1,57],d=[1,56],f=[1,58],p=[1,59],m=[1,60],h=[7,8,11,12,16,17,19,20,22,24,27,31,32,33],g={trace:e(function(){},`trace`),yy:{},symbols_:{error:2,start:3,optNewlines:4,VENN:5,document:6,EOF:7,NEWLINE:8,line:9,statement:10,TITLE:11,SET:12,identifier:13,BRACKET_LABEL:14,COLON:15,NUMERIC:16,UNION:17,identifierList:18,TEXT:19,IDENTIFIER:20,STRING:21,INDENT_TEXT:22,indentedTextTail:23,STYLE:24,stylesOpt:25,styleField:26,COMMA:27,styleValue:28,valueTokens:29,valueToken:30,HEXCOLOR:31,RGBCOLOR:32,RGBACOLOR:33,$accept:0,$end:1},terminals_:{2:`error`,5:`VENN`,7:`EOF`,8:`NEWLINE`,11:`TITLE`,12:`SET`,14:`BRACKET_LABEL`,15:`COLON`,16:`NUMERIC`,17:`UNION`,19:`TEXT`,20:`IDENTIFIER`,21:`STRING`,22:`INDENT_TEXT`,24:`STYLE`,27:`COMMA`,31:`HEXCOLOR`,32:`RGBCOLOR`,33:`RGBACOLOR`},productions_:[0,[3,4],[4,0],[4,2],[6,0],[6,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,5],[10,2],[10,3],[10,4],[10,5],[10,3],[10,3],[10,3],[10,4],[10,4],[10,2],[10,3],[23,1],[23,1],[23,1],[23,2],[23,2],[25,1],[25,3],[26,3],[28,1],[28,1],[29,1],[29,2],[30,1],[30,1],[30,1],[30,1],[30,1],[18,1],[18,3],[13,1],[13,1]],performAction:e(function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 1:return a[s-1];case 2:case 3:case 4:this.$=[];break;case 5:a[s-1].push(a[s]),this.$=a[s-1];break;case 6:this.$=[];break;case 7:case 22:case 32:case 36:case 37:case 38:case 39:case 40:this.$=a[s];break;case 8:r.setDiagramTitle(a[s].substr(6)),this.$=a[s].substr(6);break;case 9:r.addSubsetData([a[s]],void 0,void 0),r.setIndentMode&&r.setIndentMode(!0);break;case 10:r.addSubsetData([a[s-1]],a[s],void 0),r.setIndentMode&&r.setIndentMode(!0);break;case 11:r.addSubsetData([a[s-2]],void 0,parseFloat(a[s])),r.setIndentMode&&r.setIndentMode(!0);break;case 12:r.addSubsetData([a[s-3]],a[s-2],parseFloat(a[s])),r.setIndentMode&&r.setIndentMode(!0);break;case 13:if(a[s].length<2)throw Error(`union requires multiple identifiers`);r.validateUnionIdentifiers&&r.validateUnionIdentifiers(a[s]),r.addSubsetData(a[s],void 0,void 0),r.setIndentMode&&r.setIndentMode(!0);break;case 14:if(a[s-1].length<2)throw Error(`union requires multiple identifiers`);r.validateUnionIdentifiers&&r.validateUnionIdentifiers(a[s-1]),r.addSubsetData(a[s-1],a[s],void 0),r.setIndentMode&&r.setIndentMode(!0);break;case 15:if(a[s-2].length<2)throw Error(`union requires multiple identifiers`);r.validateUnionIdentifiers&&r.validateUnionIdentifiers(a[s-2]),r.addSubsetData(a[s-2],void 0,parseFloat(a[s])),r.setIndentMode&&r.setIndentMode(!0);break;case 16:if(a[s-3].length<2)throw Error(`union requires multiple identifiers`);r.validateUnionIdentifiers&&r.validateUnionIdentifiers(a[s-3]),r.addSubsetData(a[s-3],a[s-2],parseFloat(a[s])),r.setIndentMode&&r.setIndentMode(!0);break;case 17:case 18:case 19:r.addTextData(a[s-1],a[s],void 0);break;case 20:case 21:r.addTextData(a[s-2],a[s-1],a[s]);break;case 23:r.addStyleData(a[s-1],a[s]);break;case 24:case 25:case 26:var c=r.getCurrentSets();if(!c)throw Error(`text requires set`);r.addTextData(c,a[s],void 0);break;case 27:case 28:var c=r.getCurrentSets();if(!c)throw Error(`text requires set`);r.addTextData(c,a[s-1],a[s]);break;case 29:case 41:this.$=[a[s]];break;case 30:case 42:this.$=[...a[s-2],a[s]];break;case 31:this.$=[a[s-2],a[s]];break;case 33:this.$=a[s].join(` `);break;case 34:this.$=[a[s]];break;case 35:a[s-1].push(a[s]),this.$=a[s-1];break;case 43:case 44:this.$=a[s];break}},`anonymous`),table:[t(n,[2,2],{3:1,4:2}),{1:[3]},{5:[1,3],8:[1,4]},t(r,[2,4],{6:5}),t(n,[2,3]),{7:[1,6],8:[1,8],9:7,10:9,11:[1,10],12:[1,11],17:[1,12],19:[1,13],22:[1,14],24:[1,15]},{1:[2,1]},t(r,[2,5]),t(r,[2,6]),t(r,[2,7]),t(r,[2,8]),{13:16,20:i,21:a},{13:20,18:19,20:i,21:a},{13:20,18:21,20:i,21:a},{16:[1,25],20:[1,23],21:[1,24],23:22},{13:20,18:26,20:i,21:a},t(r,[2,9],{14:[1,27],15:[1,28]}),t(o,[2,43]),t(o,[2,44]),t(r,[2,13],{14:[1,29],15:[1,30],27:s}),t(o,[2,41]),{16:[1,34],20:[1,32],21:[1,33],27:s},t(r,[2,22]),t(r,[2,24],{14:[1,35]}),t(r,[2,25],{14:[1,36]}),t(r,[2,26]),{20:c,25:37,26:38,27:s},t(r,[2,10],{15:[1,40]}),{16:[1,41]},t(r,[2,14],{15:[1,42]}),{16:[1,43]},{13:44,20:i,21:a},t(r,[2,17],{14:[1,45]}),t(r,[2,18],{14:[1,46]}),t(r,[2,19]),t(r,[2,27]),t(r,[2,28]),t(r,[2,23],{27:[1,47]}),t(l,[2,29]),{15:[1,48]},{16:[1,49]},t(r,[2,11]),{16:[1,50]},t(r,[2,15]),t(o,[2,42]),t(r,[2,20]),t(r,[2,21]),{20:c,26:51},{16:u,20:d,21:[1,53],28:52,29:54,30:55,31:f,32:p,33:m},t(r,[2,12]),t(r,[2,16]),t(l,[2,30]),t(l,[2,31]),t(l,[2,32]),t(l,[2,33],{30:61,16:u,20:d,31:f,32:p,33:m}),t(h,[2,34]),t(h,[2,36]),t(h,[2,37]),t(h,[2,38]),t(h,[2,39]),t(h,[2,40]),t(h,[2,35])],defaultActions:{6:[2,1]},parseError:e(function(e,t){if(t.recoverable)this.trace(e);else{var n=Error(e);throw n.hash=t,n}},`parseError`),parse:e(function(t){var n=this,r=[0],i=[],a=[null],o=[],s=this.table,c=``,l=0,u=0,d=0,f=2,p=1,m=o.slice.call(arguments,1),h=Object.create(this.lexer),g={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(g.yy[_]=this.yy[_]);h.setInput(t,g.yy),g.yy.lexer=h,g.yy.parser=this,h.yylloc===void 0&&(h.yylloc={});var v=h.yylloc;o.push(v);var y=h.options&&h.options.ranges;typeof g.yy.parseError==`function`?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function b(e){r.length-=2*e,a.length-=e,o.length-=e}e(b,`popStack`);function x(){var e=i.pop()||h.lex()||p;return typeof e!=`number`&&(e instanceof Array&&(i=e,e=i.pop()),e=n.symbols_[e]||e),e}e(x,`lex`);for(var S,C,w,T,E,D={},O,k,A,j;;){if(w=r[r.length-1],this.defaultActions[w]?T=this.defaultActions[w]:(S??=x(),T=s[w]&&s[w][S]),T===void 0||!T.length||!T[0]){var M=``;for(O in j=[],s[w])this.terminals_[O]&&O>f&&j.push(`'`+this.terminals_[O]+`'`);M=h.showPosition?`Parse error on line `+(l+1)+`:
|
|
8
|
+
`+h.showPosition()+`
|
|
9
|
+
Expecting `+j.join(`, `)+`, got '`+(this.terminals_[S]||S)+`'`:`Parse error on line `+(l+1)+`: Unexpected `+(S==p?`end of input`:`'`+(this.terminals_[S]||S)+`'`),this.parseError(M,{text:h.match,token:this.terminals_[S]||S,line:h.yylineno,loc:v,expected:j})}if(T[0]instanceof Array&&T.length>1)throw Error(`Parse Error: multiple actions possible at state: `+w+`, token: `+S);switch(T[0]){case 1:r.push(S),a.push(h.yytext),o.push(h.yylloc),r.push(T[1]),S=null,C?(S=C,C=null):(u=h.yyleng,c=h.yytext,l=h.yylineno,v=h.yylloc,d>0&&d--);break;case 2:if(k=this.productions_[T[1]][1],D.$=a[a.length-k],D._$={first_line:o[o.length-(k||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(k||1)].first_column,last_column:o[o.length-1].last_column},y&&(D._$.range=[o[o.length-(k||1)].range[0],o[o.length-1].range[1]]),E=this.performAction.apply(D,[c,u,l,g.yy,T[1],a,o].concat(m)),E!==void 0)return E;k&&(r=r.slice(0,-1*k*2),a=a.slice(0,-1*k),o=o.slice(0,-1*k)),r.push(this.productions_[T[1]][0]),a.push(D.$),o.push(D._$),A=s[r[r.length-2]][r[r.length-1]],r.push(A);break;case 3:return!0}}return!0},`parse`)};g.lexer=(function(){return{EOF:1,parseError:e(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},`parseError`),setInput:e(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=``,this.conditionStack=[`INITIAL`],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},`setInput`),input:e(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},`input`),unput:e(function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},`unput`),more:e(function(){return this._more=!0,this},`more`),reject:e(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError(`Lexical error on line `+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
10
|
+
`+this.showPosition(),{text:``,token:null,line:this.yylineno});return this},`reject`),less:e(function(e){this.unput(this.match.slice(e))},`less`),pastInput:e(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?`...`:``)+e.substr(-20).replace(/\n/g,``)},`pastInput`),upcomingInput:e(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?`...`:``)).replace(/\n/g,``)},`upcomingInput`),showPosition:e(function(){var e=this.pastInput(),t=Array(e.length+1).join(`-`);return e+this.upcomingInput()+`
|
|
11
|
+
`+t+`^`},`showPosition`),test_match:e(function(e,t){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=e[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},`test_match`),next:e(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,n,r;this._more||(this.yytext=``,this.match=``);for(var i=this._currentRules(),a=0;a<i.length;a++)if(n=this._input.match(this.rules[i[a]]),n&&(!t||n[0].length>t[0].length)){if(t=n,r=a,this.options.backtrack_lexer){if(e=this.test_match(n,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}else return!1}else if(!this.options.flex)break}return t?(e=this.test_match(t,i[r]),e===!1?!1:e):this._input===``?this.EOF:this.parseError(`Lexical error on line `+(this.yylineno+1)+`. Unrecognized text.
|
|
12
|
+
`+this.showPosition(),{text:``,token:null,line:this.yylineno})},`next`),lex:e(function(){return this.next()||this.lex()},`lex`),begin:e(function(e){this.conditionStack.push(e)},`begin`),popState:e(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},`popState`),_currentRules:e(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},`_currentRules`),topState:e(function(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:`INITIAL`},`topState`),pushState:e(function(e){this.begin(e)},`pushState`),stateStackSize:e(function(){return this.conditionStack.length},`stateStackSize`),options:{"case-insensitive":!0},performAction:e(function(e,t,n,r){switch(n){case 0:break;case 1:break;case 2:break;case 3:if(e.getIndentMode&&e.getIndentMode())return e.consumeIndentText=!0,this.begin(`INITIAL`),22;break;case 4:break;case 5:e.setIndentMode&&e.setIndentMode(!1),this.begin(`INITIAL`),this.unput(t.yytext);break;case 6:return this.begin(`bol`),8;case 7:break;case 8:break;case 9:return 7;case 10:return 11;case 11:return 5;case 12:return 12;case 13:return 17;case 14:if(e.consumeIndentText)e.consumeIndentText=!1;else return 19;break;case 15:return 24;case 16:return t.yytext=t.yytext.slice(2,-2),14;case 17:return t.yytext=t.yytext.slice(1,-1).trim(),14;case 18:return 16;case 19:return 31;case 20:return 33;case 21:return 32;case 22:return 20;case 23:return 21;case 24:return 27;case 25:return 15}},`anonymous`),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[ \t]+(?=[\n\r]))/i,/^(?:[ \t]+(?=text\b))/i,/^(?:[ \t]+)/i,/^(?:[^ \t\n\r])/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[ \t]+)/i,/^(?:$)/i,/^(?:title\s[^#\n;]+)/i,/^(?:venn-beta\b)/i,/^(?:set\b)/i,/^(?:union\b)/i,/^(?:text\b)/i,/^(?:style\b)/i,/^(?:\["[^\"]*"\])/i,/^(?:\[[^\]\"]+\])/i,/^(?:[+-]?(\d+(\.\d+)?|\.\d+))/i,/^(?:#[0-9a-fA-F]{3,8})/i,/^(?:rgba\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:rgb\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:"[^\"]*")/i,/^(?:,)/i,/^(?::)/i],conditions:{bol:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0},INITIAL:{rules:[0,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0}}}})();function _(){this.yy={}}return e(_,`Parser`),_.prototype=g,g.Parser=_,new _})();U.parser=U;var Ee=U,W=[],G=[],K=[],q=new Set,J,Y=!1,De=e((e,t,n)=>{let r=Z(e).sort(),i=n??10/e.length**2;J=r,r.length===1&&q.add(r[0]),W.push({sets:r,size:i,label:t?X(t):void 0})},`addSubsetData`),Oe=e(()=>W,`getSubsetData`),X=e(e=>{let t=e.trim();return t.length>=2&&t.startsWith(`"`)&&t.endsWith(`"`)?t.slice(1,-1):t},`normalizeText`),ke=e(e=>e&&X(e),`normalizeStyleValue`),Ae=e((e,t,n)=>{let r=X(t);G.push({sets:Z(e).sort(),id:r,label:n?X(n):void 0})},`addTextData`),je=e((e,t)=>{let n=Z(e).sort(),r={};for(let[e,n]of t)r[e]=ke(n)??n;K.push({targets:n,styles:r})},`addStyleData`),Me=e(()=>K,`getStyleData`),Z=e(e=>e.map(e=>X(e)),`normalizeIdentifierList`),Ne=e(e=>{let t=Z(e).filter(e=>!q.has(e));if(t.length>0)throw Error(`unknown set identifier: ${t.join(`, `)}`)},`validateUnionIdentifiers`),Pe=e(()=>G,`getTextData`),Fe=e(()=>J,`getCurrentSets`),Ie=e(()=>Y,`getIndentMode`),Le=e(e=>{Y=e},`setIndentMode`),Re=l.venn;function ze(){return g(Re,o().venn)}e(ze,`getConfig`);var Be={getConfig:ze,clear:e(()=>{a(),W.length=0,G.length=0,K.length=0,q.clear(),J=void 0,Y=!1},`customClear`),setAccTitle:i,getAccTitle:h,setDiagramTitle:r,getDiagramTitle:m,getAccDescription:p,setAccDescription:n,addSubsetData:De,getSubsetData:Oe,addTextData:Ae,addStyleData:je,validateUnionIdentifiers:Ne,getTextData:Pe,getStyleData:Me,getCurrentSets:Fe,getIndentMode:Ie,setIndentMode:Le},Ve=e(e=>`
|
|
13
|
+
.venn-title {
|
|
14
|
+
font-size: 32px;
|
|
15
|
+
fill: ${e.vennTitleTextColor};
|
|
16
|
+
font-family: ${e.fontFamily};
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.venn-circle text {
|
|
20
|
+
font-size: 48px;
|
|
21
|
+
font-family: ${e.fontFamily};
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.venn-intersection text {
|
|
25
|
+
font-size: 48px;
|
|
26
|
+
fill: ${e.vennSetTextColor};
|
|
27
|
+
font-family: ${e.fontFamily};
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.venn-text-node {
|
|
31
|
+
font-family: ${e.fontFamily};
|
|
32
|
+
color: ${e.vennSetTextColor};
|
|
33
|
+
}
|
|
34
|
+
`,`getStyles`);function He(e){let t=new Map;for(let n of e){let e=n.targets.join(`|`),r=t.get(e);r?Object.assign(r,n.styles):t.set(e,{...n.styles})}return t}e(He,`buildStyleByKey`);var Ue=e((e,n,r,i)=>{let a=i.db,l=a.getConfig?.(),{themeVariables:u,look:p,handDrawnSeed:m}=o(),h=p===`handDrawn`,g=[u.venn1,u.venn2,u.venn3,u.venn4,u.venn5,u.venn6,u.venn7,u.venn8].filter(Boolean),b=a.getDiagramTitle?.(),x=a.getSubsetData(),S=a.getTextData(),C=He(a.getStyleData()),w=l?.width??800,T=l?.height??450,E=w/1600,D=b?48*E:0,O=u.primaryTextColor??u.textColor,k=_(n);k.attr(`viewBox`,`0 0 ${w} ${T}`),b&&k.append(`text`).text(b).attr(`class`,`venn-title`).attr(`font-size`,`${32*E}px`).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).attr(`x`,`50%`).attr(`y`,32*E).style(`fill`,u.vennTitleTextColor||u.titleColor);let A=t(document.createElement(`div`)),j=ge().width(w).height(T-D);A.datum(x).call(j);let M=h?v.svg(A.select(`svg`).node()):void 0,N=Te(x,{width:w,height:T-D,padding:l?.padding??15}),P=new Map;for(let e of N){let t=Q([...e.data.sets].sort());P.set(t,e)}S.length>0&&$(l,P,A,S,E,C);let F=d(u.background||`#f4f4f4`);A.selectAll(`.venn-circle`).each(function(e,n){let r=t(this),i=Q([...e.sets].sort()),a=C.get(i),o=a?.fill||g[n%g.length]||u.primaryColor;r.classed(`venn-set-${n%8}`,!0);let s=a?.[`fill-opacity`]??.1,l=a?.stroke||o,d=a?.[`stroke-width`]||`${5*E}`;if(h&&M){let e=P.get(i);if(e&&e.circles.length>0){let t=e.circles[0],i=M.circle(t.x,t.y,t.radius*2,{roughness:.7,seed:m,fill:y(o,.7),fillStyle:`hachure`,fillWeight:2,hachureGap:8,hachureAngle:-41+n*60,stroke:l,strokeWidth:parseFloat(String(d))});r.select(`path`).remove(),r.node()?.insertBefore(i,r.select(`text`).node())}}else r.select(`path`).style(`fill`,o).style(`fill-opacity`,s).style(`stroke`,l).style(`stroke-width`,d).style(`stroke-opacity`,.95);let p=a?.color||(F?f(o,30):c(o,30));r.select(`text`).style(`font-size`,`${48*E}px`).style(`fill`,p)}),h&&M?A.selectAll(`.venn-intersection`).each(function(e){let n=t(this),r=Q([...e.sets].sort()),i=C.get(r),a=i?.fill;if(a){let e=n.select(`path`),t=e.attr(`d`);if(t){let n=M.path(t,{roughness:.7,seed:m,fill:y(a,.3),fillStyle:`cross-hatch`,fillWeight:2,hachureGap:6,hachureAngle:60,stroke:`none`}),r=e.node();r?.parentNode?.insertBefore(n,r),e.remove()}}else n.select(`path`).style(`fill-opacity`,0);n.select(`text`).style(`font-size`,`${48*E}px`).style(`fill`,i?.color??u.vennSetTextColor??O)}):(A.selectAll(`.venn-intersection text`).style(`font-size`,`${48*E}px`).style(`fill`,e=>{let t=Q([...e.sets].sort());return C.get(t)?.color??u.vennSetTextColor??O}),A.selectAll(`.venn-intersection path`).style(`fill-opacity`,e=>{let t=Q([...e.sets].sort());return+!!C.get(t)?.fill}).style(`fill`,e=>{let t=Q([...e.sets].sort());return C.get(t)?.fill??`transparent`}));let I=k.append(`g`).attr(`transform`,`translate(0, ${D})`),L=A.select(`svg`).node();if(L&&`childNodes`in L)for(let e of[...L.childNodes])I.node()?.appendChild(e);s(k,T,w,l?.useMaxWidth??!0)},`draw`);function Q(e){return e.join(`|`)}e(Q,`stableSetsKey`);function $(e,t,n,r,i,a){let o=e?.useDebugLayout??!1,s=n.select(`svg`).append(`g`).attr(`class`,`venn-text-nodes`),c=new Map;for(let e of r){let t=Q(e.sets),n=c.get(t);n?n.push(e):c.set(t,[e])}for(let[e,n]of c.entries()){let r=t.get(e);if(!r?.text)continue;let c=r.text.x,l=r.text.y,u=Math.min(...r.circles.map(e=>e.radius)),d=Math.min(...r.circles.map(e=>e.radius-Math.hypot(c-e.x,l-e.y))),f=Number.isFinite(d)?Math.max(0,d):0;f===0&&Number.isFinite(u)&&(f=u*.6);let p=s.append(`g`).attr(`class`,`venn-text-area`).attr(`font-size`,`${40*i}px`);o&&p.append(`circle`).attr(`class`,`venn-text-debug-circle`).attr(`cx`,c).attr(`cy`,l).attr(`r`,f).attr(`fill`,`none`).attr(`stroke`,`purple`).attr(`stroke-width`,1.5*i).attr(`stroke-dasharray`,`${6*i} ${4*i}`);let m=Math.max(80*i,f*2*.95),h=Math.max(60*i,f*2*.95),g=(r.data.label&&r.data.label.length>0?Math.min(32*i,f*.25):0)+(n.length<=2?30*i:0),_=c-m/2,v=l-h/2+g,y=Math.max(1,Math.ceil(Math.sqrt(n.length))),b=Math.max(1,Math.ceil(n.length/y)),x=m/y,S=h/b;for(let[e,t]of n.entries()){let n=e%y,r=Math.floor(e/y),s=_+x*(n+.5),c=v+S*(r+.5);o&&p.append(`rect`).attr(`class`,`venn-text-debug-cell`).attr(`x`,_+x*n).attr(`y`,v+S*r).attr(`width`,x).attr(`height`,S).attr(`fill`,`none`).attr(`stroke`,`teal`).attr(`stroke-width`,1*i).attr(`stroke-dasharray`,`${4*i} ${3*i}`);let l=x*.9,u=S*.9,d=p.append(`foreignObject`).attr(`class`,`venn-text-node-fo`).attr(`width`,l).attr(`height`,u).attr(`x`,s-l/2).attr(`y`,c-u/2).attr(`overflow`,`visible`),f=a.get(t.id)?.color,m=d.append(`xhtml:span`).attr(`class`,`venn-text-node`).style(`display`,`flex`).style(`width`,`100%`).style(`height`,`100%`).style(`white-space`,`normal`).style(`align-items`,`center`).style(`justify-content`,`center`).style(`text-align`,`center`).style(`overflow-wrap`,`normal`).style(`word-break`,`normal`).text(t.label??t.id);f&&m.style(`color`,f)}}}e($,`renderTextNodes`);var We={parser:Ee,db:Be,renderer:{draw:Ue},styles:Ve};export{We as diagram};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"./chunk-SRAX5OIU-
|
|
1
|
+
import"./chunk-SRAX5OIU-C_UPA-vt.js";var e={paste:`Dán`,pasteAsPlaintext:`Dán kiểu văn bản thuần`,pasteCharts:`Dán biểu đồ`,selectAll:`Chọn tất cả`,multiSelect:`Chọn thêm đối tượng này`,moveCanvas:`Di chuyển canvas`,cut:`Cắt`,copy:`Sao chép`,copyAsPng:`Sao chép vào bộ nhớ tạm dưới dạng PNG`,copyAsSvg:`Sao chép vào bộ nhớ tạm dưới dạng SVG`,copyText:`Sao chép vào bộ nhớ tạm dưới dạng chữ`,copySource:`Sao chép vào bộ nhớ tạm`,convertToCode:`Chuyển thành mã`,bringForward:`Đưa ra trước`,sendToBack:`Hạ xuống dưới`,bringToFront:`Đưa ra đầu tiên`,sendBackward:`Hạ xuống cuối`,delete:`Xóa`,copyStyles:`Sao chép định dạng`,pasteStyles:`Dán định dạng`,stroke:`Nét`,changeStroke:`Đổi màu nét vẽ`,background:`Nền`,changeBackground:`Thay đổi màu nền`,fill:`Đổ màu`,strokeWidth:`Độ dày nét`,strokeStyle:`Kiểu nét`,strokeStyle_solid:`Khối`,strokeStyle_dashed:`Gạch ngang`,strokeStyle_dotted:`Nhiều chấm`,sloppiness:`Hoa văn nét`,opacity:`Độ trong suốt`,textAlign:`Căn chỉnh văn bản`,edges:`Cạnh`,sharp:`Nhọn`,round:`Tròn`,arrowheads:`Đầu mũi tên`,arrowhead_none:`Không`,arrowhead_arrow:`Mũi tên`,arrowhead_bar:`Thanh`,arrowhead_circle:`Hình tròn`,arrowhead_circle_outline:`Hình tròn (đường viền)`,arrowhead_triangle:`Tam giác`,arrowhead_triangle_outline:`Tam giác (đường viền)`,arrowhead_diamond:`Kim cương`,arrowhead_diamond_outline:`Kim cương (đường viền)`,arrowhead_crowfoot_many:``,arrowhead_crowfoot_one:``,arrowhead_crowfoot_one_or_many:``,more_options:`Tùy chọn khác`,arrowtypes:`Loại mũi tên`,arrowtype_sharp:`Mũi tên nhọn`,arrowtype_round:`Mũi tên cong`,arrowtype_elbowed:`Mũi tên gấp khúc`,fontSize:`Cỡ chữ`,fontFamily:`Phông chữ`,addWatermark:`Làm với Excalidraw"`,handDrawn:`Vẽ tay`,normal:`Bình thường`,code:`Mã`,small:`Nhỏ`,medium:`Vừa`,large:`Lớn`,veryLarge:`Rất lớn`,solid:`Đặc`,hachure:`Nét gạch gạch`,zigzag:`Zig-zag`,crossHatch:`Nét gạch chéo`,thin:`Mỏng`,bold:`In đậm`,left:`Trái`,center:`Giữa`,right:`Phải`,extraBold:`Nét siêu đậm`,architect:`Kiến trúc sư`,artist:`Nghệ sỹ`,cartoonist:`Hoạt hình`,fileTitle:`Tên tập tin`,colorPicker:`Chọn màu`,canvasColors:`Đã dùng trên canvas`,canvasBackground:`Nền canvas`,drawingCanvas:`Canvas vẽ`,clearCanvas:`Xóa khung vẽ`,layers:`Lớp`,actions:`Chức năng`,language:`Ngôn ngữ`,liveCollaboration:`Hợp tác trực tiếp...`,duplicateSelection:`Tạo bản sao`,untitled:`Không có tiêu đề`,name:`Tên`,yourName:`Tên của bạn`,madeWithExcalidraw:`Làm với Excalidraw`,group:`Gộp nhóm lại lựa chọn`,ungroup:`Tách nhóm lựa chọn`,collaborators:`Cộng tác viên`,toggleGrid:`Bật/tắt lưới`,addToLibrary:`Thêm vào thư viện`,removeFromLibrary:`Xóa khỏi thư viện`,libraryLoadingMessage:`Đang tải thư viện…`,libraries:`Xem thư viện`,loadingScene:`Đang tải về…`,loadScene:`Tải bản vẽ từ tệp`,align:`Căn chỉnh`,alignTop:`Căn trên`,alignBottom:`Căn dưới`,alignLeft:`Canh trái`,alignRight:`Canh phải`,centerVertically:`Giữa theo chiều dọc`,centerHorizontally:`Giữa theo chiều ngang`,distributeHorizontally:`Phân bố theo chiều ngang`,distributeVertically:`Phân bố theo chiều dọc`,flipHorizontal:`Lật ngang`,flipVertical:`Lật dọc`,viewMode:`Chế độ xem`,share:`Chia sẻ`,showStroke:`Hiển thị chọn màu`,showBackground:`Hiện thị chọn màu nền`,showFonts:`Hiển thị bộ chọn phông chữ`,toggleTheme:`Chuyển đổi giao diện sáng/tối`,theme:`Chủ đề`,personalLib:`Thư viện cá nhân`,excalidrawLib:`Thư viện Excalidraw`,decreaseFontSize:`Giảm cỡ chữ`,increaseFontSize:`Tăng cỡ chữ`,unbindText:`Bỏ liên kết văn bản`,bindText:`Gắn văn bản vào khung`,createContainerFromText:`Ngắt dòng văn bản trong khung`,link:{edit:`Sửa liên kết`,editEmbed:`Chỉnh sửa liên kết nhúng`,create:`Thêm liên kết`,label:`Liên kết`,labelEmbed:`Liên kết & nhúng`,empty:`Chưa đặt liên kết`,hint:`Nhập hoặc dán liên kết vào đây`,goToElement:`Đi tới phần tử đích`},lineEditor:{edit:`Điều chỉnh nét`,editArrow:``},polygon:{breakPolygon:``,convertToPolygon:``},elementLock:{lock:`Khoá`,unlock:`Mở khoá`,lockAll:`Khóa tất cả`,unlockAll:`Mở khóa tất cả`},statusPublished:`Đã đăng tải`,sidebarLock:`Giữ thanh bên luôn mở`,selectAllElementsInFrame:`Chọn tất cả phần tử trong khung`,removeAllElementsFromFrame:`Loại bỏ tất cả các phần tử trong khung`,eyeDropper:`Chọn màu từ vùng vẽ`,textToDiagram:`Văn bản sang sơ đồ`,prompt:`Lời nhắc`,followUs:`Theo dõi chúng tôi`,discordChat:`Trò chuyện Discord`,zoomToFitViewport:`Thu phóng vừa với khung nhìn`,zoomToFitSelection:`Thu phóng vừa với vùng chọn`,zoomToFit:`Thu phóng để hiển thị toàn bộ các phần tử`,installPWA:`Cài đặt Excalidraw trên máy (PWA)`,autoResize:`Bật tự động thay đổi kích thước văn bản`,imageCropping:`Cắt ảnh`,unCroppedDimension:`Kích thước gốc (chưa cắt)`,copyElementLink:`Sao chép liên kết tới đối tượng`,linkToElement:`Liên kết đến đối tượng`,wrapSelectionInFrame:`Đưa vùng chọn vào khung`,tab:``,shapeSwitch:``},t={title:`Liên kết đến đối tượng`,desc:`Nhấp vào một hình trên vùng vẽ hoặc dán liên kết.`,notFound:`Không tìm thấy đối tượng liên kết trên vùng vẽ.`},n={noItems:`Chưa có món nào...`,hint_emptyLibrary:`Chọn một món trên canvas để thêm nó vào đây, hoặc cài đặt thư viện từ kho lưu trữ công cộng, ở bên dưới.`,hint_emptyPrivateLibrary:`Chọn một món trên canvas để thêm nó vào đây.`,search:{inputPlaceholder:``,heading:``,noResults:``,clearSearch:``}},r={title:`Tìm trên vùng vẽ`,noMatch:`Không có kết quả phù hợp...`,singleResult:`kết quả`,multipleResults:`các kết quả`,placeholder:`Tìm văn bản trên vùng vẽ`,frames:``,texts:``},i={clearReset:`Reset canvas`,exportJSON:`Xuất ra tập tin`,exportImage:`Xuất file ảnh...`,export:`Lưu vào...`,copyToClipboard:`Sao chép vào bộ nhớ tạm`,copyLink:`Sao chép liên kết`,save:`Lưu vào tập tin hiện tại`,saveAs:`Lưu thành`,load:`Mở`,getShareableLink:`Tạo liên kết để chia sẻ`,close:`Đóng`,selectLanguage:`Chọn ngôn ngữ`,scrollBackToContent:`Cuộn về nội dung chính`,zoomIn:`Phóng to`,zoomOut:`Thu nhỏ`,resetZoom:`Đặt lại thu phóng`,menu:`Bảng chọn`,done:`Xong`,edit:`Chỉnh sửa`,undo:`Hoàn tác`,redo:`Làm lại`,resetLibrary:`Cài lại thư viện`,createNewRoom:`Tạo phòng mới`,fullScreen:`Toàn màn hình`,darkMode:`Chế độ tối`,lightMode:`Chế độ sáng`,systemMode:`Chế độ hệ thống`,zenMode:`Chế độ zen`,objectsSnapMode:`Căn chỉnh theo đối tượng`,exitZenMode:`Thoát chể độ zen`,cancel:`Hủy`,saveLibNames:``,clear:`Làm sạch`,remove:`Xóa`,embed:`Bật/tắt chế độ nhúng`,publishLibrary:``,submit:`Gửi`,confirm:`Xác nhận`,embeddableInteractionButton:`Nhấn để tương tác`},a={clearReset:`Điều này sẽ dọn hết canvas. Bạn có chắc không?`,couldNotCreateShareableLink:`Không thể tạo đường dẫn chia sẻ.`,couldNotCreateShareableLinkTooBig:`Không thể tạo đường dẫn chia sẻ: bản vẽ quá lớn`,couldNotLoadInvalidFile:`Không thể load tập tin không hợp lệ`,importBackendFailed:`Nhập dữ liệu từ máy chủ thất bại.`,cannotExportEmptyCanvas:`Không thể xuất canvas trống.`,couldNotCopyToClipboard:`Không thể sao chép vào bộ nhớ tạm.`,decryptFailed:`Không thể giải mã dữ liệu.`,uploadedSecurly:`Việc tải lên đã được bảo mật với mã hóa đầu cuối, có nghĩa là máy chủ Excalidraw và bên thứ ba không thể đọc nội dung.`,loadSceneOverridePrompt:`Mở bản vẽ bên ngoài sẽ thay thế nội dung hiện tại của bạn. Bạn có muốn tiếp tục không?`,collabStopOverridePrompt:`Dừng phiên sẽ ghi đè lên bản vẽ được lưu trữ cục bộ trước đó của bạn. Bạn có chắc không?
|
|
2
2
|
|
|
3
3
|
(Nếu bạn muốn giữ bản vẽ cục bộ của mình, chỉ cần đóng tab trình duyệt.)`,errorAddingToLibrary:`Không thể thêm món vào thư viện`,errorRemovingFromLibrary:`Không thể xoá món khỏi thư viện`,confirmAddLibrary:`Hình {{numShapes}} sẽ được thêm vào thư viện. Bạn chắc chứ?`,imageDoesNotContainScene:`Hình ảnh này dường như không chứa bất kỳ dữ liệu cảnh nào. Bạn đã bật tính năng nhúng cảnh khi xuất chưa?`,cannotRestoreFromImage:`Không thể khôi phục bản vẽ từ tệp hình ảnh này.`,invalidSceneUrl:`Không thể nhập nội dung từ URL đã cung cấp. Đó có thể là do URL không đúng cú pháp hoặc không chứa dữ liệu JSON hợp lệ với Excalidraw.`,resetLibrary:`Hành động này sẽ xóa toàn bộ thư viện của bạn. Bạn chắc chắn chứ?`,removeItemsFromsLibrary:`Xoá {{count}} món từ thư viện?`,invalidEncryptionKey:`Khóa mã hóa phải có 22 ký tự. Hợp tác trực tiếp bị vô hiệu hóa.`,collabOfflineWarning:`Không có kết nối internet.
|
|
4
4
|
Thay đổi của bạn sẽ không được lưu!`,localStorageQuotaExceeded:``},o={unsupportedFileType:`Loại tập tin không được hỗ trợ.`,imageInsertError:`Không thể thêm ảnh. Hãy thử lại sau...`,fileTooBig:`Tệp tin quá lớn. Dung lượng tối đa cho phép là {{maxSize}}.`,svgImageInsertError:`Không thể thêm ảnh SVG. Mã SVG có vẻ sai.`,failedToFetchImage:`Có lỗi khi tải ảnh.`,cannotResolveCollabServer:`Không thể kết nối với máy chủ hợp tác. Hãy tải lại trang và thử lại.`,importLibraryError:`Không thể tải thư viện`,saveLibraryError:`Không thể lưu thư viện vào bộ nhớ. Hãy lưu thành tệp trên máy để đảm bảo bạn không mất các thay đổi.`,collabSaveFailed:`Không thể lưu vào cơ sở dữ liệu. Nếu vấn đề tiếp tục xảy ra, bạn nên lưu tệp vào máy để đảm bảo bạn không bị mất công việc.`,collabSaveFailed_sizeExceeded:`Không thể lưu vào cơ sở dữ liệu, canvas có vẻ quá lớn. Bạn nên lưu tệp cục bộ để đảm bảo bạn không bị mất công việc.`,imageToolNotSupported:`Hình ảnh đã được vô hiệu hóa.`,brave_measure_text_error:{line1:`Dường như bạn đang sử dụng trình duyệt Brave với cài đặt <bold>Aggressively Block Fingerprinting</bold> được bật.`,line2:`Điều này có thể gây ra lỗi cho các <bold>Text Elements</bold> trong bản vẽ của bạn.`,line3:`Chúng tôi khuyên bạn nên tắt tùy chọn này. Xem <link>hướng dẫn này</link> để biết cách thực hiện.`,line4:`Nếu tắt cài đặt này vẫn không sửa được lỗi hiển thị chữ, hãy tạo <issueLink>báo cáo lỗi</issueLink> trên GitHub hoặc liên hệ qua <discordLink>Discord</discordLink>.`},libraryElementTypeError:{embeddable:`Không thể lưu phần tử nhúng vào thư viện`,iframe:`Các phần tử IFrame không thể được thêm vào thư viện.`,image:`Thêm hình ảnh vào thư viện sẽ sớm được hỗ trợ!`},asyncPasteFailedOnRead:`Không thể dán (không thể đọc từ bộ nhớ tạm của hệ thống).`,asyncPasteFailedOnParse:`Không thể dán.`,copyToSystemClipboardFailed:`Không thể sao chép vào bộ nhớ tạm.`},s={selection:`Lựa chọn`,lasso:``,image:`Chèn ảnh`,rectangle:`Hình chữ nhật`,diamond:`Kim cương`,ellipse:`Hình elíp`,arrow:`Mũi tên`,line:`Đường kẻ`,freedraw:`Vẽ`,text:`Văn bản`,library:`Thư viện`,lock:`Giữ dụng cũ hiện tại sau khi vẽ`,penMode:`Chế độ bút vẽ - ngăn ngừa chạm nhầm`,link:`Thêm / Cập nhật liên kết cho hình đã chọn`,eraser:`Xóa`,frame:`Công cụ tạo khung`,magicframe:`Wireframe thành code`,embeddable:`Nhúng Web`,laser:`Con trỏ laser`,hand:`Tay kéo`,extraTools:`Công cụ khác`,mermaidToExcalidraw:`Mermaid sang Excalidraw`,convertElementType:``},c={rectangle:`Hình chữ nhật`,diamond:`Kim cương`,ellipse:`Hình bầu dục`,arrow:`Mũi tên`,line:`Đường kẻ`,freedraw:`Vẽ tự do`,text:`Văn bản`,image:`Hình ảnh`,group:`Nhóm`,frame:`Khung hình`,magicframe:`Wireframe thành code`,embeddable:`Nhúng Web`,selection:`Lựa chọn`,iframe:`IFrame`},l={canvasActions:`Hành động canvas`,selectedShapeActions:`Các hành động cho hình dạng đã chọn`,shapes:`Các hình khối`},u={dismissSearch:``,canvasPanning:``,linearElement:`Ấn để bắt đầu nhiểm điểm vẽ, kéo để vẽ một đường thẳng`,arrowTool:``,arrowBindModifiers:``,freeDraw:`Ấn bà kéo, thả khi bạn xong`,text:`Mẹo: bạn có thể thêm văn bản tại bất cứ đâu bằng cách ấn hai lần bằng tool lựa chọn`,embeddable:`Nhấp và kéo để tạo nội dung nhúng từ website.`,text_selected:``,text_editing:``,linearElementMulti:``,lockAngle:``,resize:``,resizeImage:``,rotate:`Giới hạn góc độ bằng cách giữ {{shortcut}} khi xoay`,lineEditor_info:``,lineEditor_line_info:``,lineEditor_pointSelected:``,lineEditor_nothingSelected:``,publishLibrary:`Chia sẻ thư viện của bạn`,bindTextToElement:`Nhấn {{shortcut}} để thêm văn bản`,createFlowchart:``,deepBoxSelect:``,eraserRevert:``,firefox_clipboard_write:`Tính năng này có thể được bật bằng cách đặt cờ "dom.events.asyncClipboard.clipboardItem" thành "true". Để thay đổi cờ trình duyệt trong Firefox, hãy truy cập trang "about:config".`,disableSnapping:``,enterCropEditor:``,leaveCropEditor:``},d={cannotShowPreview:`Không thể xem trước`,canvasTooBig:`Canvas này có thể hơi lớn.`,canvasTooBigTip:`Mẹo: hãy thử di chuyển các elements nhất lại gần nhau hơn một chút.`},f={headingMain:`Đã xảy ra lỗi. Hãy thử <button>tải lại trang</button>.`,clearCanvasMessage:`Nếu không tải lại được, hãy thử <button>dọn canvas.</button>`,clearCanvasCaveat:` Điều này sẽ dẫn đến mất dữ liệu bạn đã làm `,trackedToSentry:``,openIssueMessage:``,sceneContent:`Nội dung bản vẽ:`},p={or:`Hoặc`},m={desc_intro:`Mời mọi người cùng cộng tác trong bản vẽ của bạn.`,desc_privacy:`Đừng lo, phiên hoạt động đã được mã hóa đầu cuối, và hoàn toàn riêng tư. Ngay cả máy chủ của chúng tôi cũng không thể thấy những gì bạn vẽ.`,button_startSession:`Bắt đầu phiên`,button_stopSession:`Kết thúc phiên`,desc_inProgressIntro:`Phiên làm việc trực tiếp hiện đang diễn ra.`,desc_shareLink:`Chia sẻ liên kết này với người bạn muốn cộng tác cùng:`,desc_exitSession:`Dừng phiên sẽ đưa bạn ra khỏi phòng, nhưng bạn vẫn có thể làm việc tiếp trên máy. Những người khác sẽ không bị ảnh hưởng và vẫn cộng tác trên bản của họ.`,shareTitle:`Vào phiên làm việc chung trên Excalidraw`},h={title:`Lỗi`},g={disk_title:`Lưu về máy`,disk_details:``,disk_button:`Lưu vào tệp tin`,link_title:`Liên kết có thể chia sẻ`,link_details:`Tạo liên kết chỉ xem`,link_button:`Tạo liên kết`,excalidrawplus_description:`Lưu bản vẽ vào không gian làm việc Excalidraw+ của bạn.`,excalidrawplus_button:`Xuất`,excalidrawplus_exportError:`Hiện tại không thể xuất sang Excalidraw+...`},_={blog:`Đọc blog của chúng tôi`,click:`Nhấp`,deepSelect:``,deepBoxSelect:``,createFlowchart:``,navigateFlowchart:``,curvedArrow:`Mũi tên cong`,curvedLine:`Đường cong`,documentation:`Tài liệu`,doubleClick:`Nhấp đúp`,drag:`kéo`,editor:`Trình chỉnh sửa`,editLineArrowPoints:`Chỉnh sửa điểm của đường/mũi tên`,editText:`Chỉnh sửa văn bản / thêm nhãn`,github:`Phát hiện lỗi? Gửi phản hồi`,howto:`Làm theo hướng dẫn của chúng tôi`,or:`hoặc`,preventBinding:`Ngăn mũi tên tự gắn`,tools:`Công cụ`,shortcuts:`Phím tắt bàn phím`,textFinish:`Hoàn tất chỉnh sửa (trình soạn thảo văn bản)`,textNewLine:``,title:`Trợ giúp`,view:`Xem`,zoomToFit:``,zoomToSelection:``,toggleElementLock:`Khóa/mở khóa vùng lựa chọn`,movePageUpDown:`Chuyển trang lên/xuống`,movePageLeftRight:`Chuyển trang trái/phải`,cropStart:`Cắt ảnh`,cropFinish:``},v={title:`Dọn canvas`},y={title:``,itemName:`Tên món`,authorName:`Tên tác giả`,githubUsername:`Tên tài khoản Github`,twitterUsername:`Tên tài khoản Twitter`,libraryName:`Tên thư viện`,libraryDesc:`Mô tả thư viện`,website:`Website`,placeholder:{authorName:`Tên của bạn hoặc tên tài khoản`,libraryName:`Tên thư viện của bạn`,libraryDesc:`Mô tả thư viện của bạn để mọi người có thể hiểu được cách dùng của nó`,githubHandle:``,twitterHandle:`Tên Twitter (không bắt buộc) để chúng tôi ghi nhận bạn khi chia sẻ trên Twitter.`,website:`Đường dẫn tới trang web cá nhân của bạn hoặc tới đâu đó (tùy chọn)`},errors:{required:`Bắt buộc`,website:`Nhập đường dẫn hợp lệ`},noteDescription:`Chia sẻ thư viện của bạn vào <link>kho thư viện công khai</link> để mọi người có thể dùng trong bản vẽ của họ.`,noteGuidelines:`Thư viện cần được phê duyệt thủ công trước. Vui lòng đọc <link>hướng dẫn</link> trước khi gửi. Bạn sẽ cần tài khoản GitHub để trao đổi và chỉnh sửa khi được yêu cầu, nhưng điều này không bắt buộc.`,noteLicense:`Bằng việc gửi, bạn đồng ý rằng thư viện sẽ được phát hành theo <link>Giấy phép MIT</link>, nghĩa là bất kỳ ai cũng có thể sử dụng mà không bị hạn chế.`,noteItems:`Từng món trong thư viện phải có tên riêng để có thể lọc. Các món thư viện sau đây sẽ thêm:`,atleastOneLibItem:`Vui lòng chọn ít nhất một món thư viện để bắt đầu`,republishWarning:`Lưu ý: một số món đã chọn được đánh dấu là đã xuất bản/đã gửi. Bạn chỉ nên gửi lại các món khi cập nhật thư viện hiện có hoặc gửi.`},b={title:`Thư viện đã được gửi`,content:`Cảm ơn {{authorName}}! Thư viện của bạn đã được gửi để duyệt. Bạn có thể xem tiến trình <link>tại đây</link>.`},x={resetLibrary:`Cài lại thư viện`,removeItemsFromLib:`Xóa món đã chọn khỏi thư viện`},S={header:`Xuất thành hình ảnh`,label:{withBackground:`Nền`,onlySelected:`Chỉ phần tử đã lựa chọn`,darkMode:`Chế độ tối`,embedScene:``,scale:`Thu phóng`,padding:`Phần đệm`},tooltip:{embedScene:`Dữ liệu của bối cảnh sẽ được lưu dưới định dạng PNG/SVG vậy nên bối cảnh có thể khôi phục lại từ nó.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-NNHCCRGN--8l6bbR-.js";import{n as e}from"./chunk-PUPMXCY4-JvkUXyIj.js";export{e as createWardleyServices};
|