@yuuichi/tools-assets 1.0.0-ym.2 → 1.0.0-ym.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/carbon/404/index.html +2 -2
- package/dist/carbon/_next/static/chunks/{webpack-c7eee30d6a530fba.js → webpack-145352ce0e98bf12.js} +1 -1
- package/dist/carbon/about/index.html +2 -2
- package/dist/carbon/account/index.html +2 -2
- package/dist/carbon/embed/index.html +2 -2
- package/dist/carbon/index.html +2 -2
- package/dist/carbon/snippets/index.html +2 -2
- package/dist/md/{i18n-toggle.js → i18n-bridge.js} +9 -33
- package/dist/md/index.html +117 -117
- package/dist/md/static/js/{md-AIAssistantPanel-CF4e4Vu5.js → md-AIAssistantPanel-AbRWnr8k.js} +1 -1
- package/dist/md/static/js/{md-AIConfig-DO9zDt5U.js → md-AIConfig-0A2NJlnO.js} +1 -1
- package/dist/md/static/js/{md-AIImageGeneratorPanel-CD1uJVoh.js → md-AIImageGeneratorPanel-DCyzssq7.js} +1 -1
- package/dist/md/static/js/{md-AccountDialog-B9bwHblP.js → md-AccountDialog-7T37gUUf.js} +1 -1
- package/dist/md/static/js/{md-CssEditor-CscA_fkp.js → md-CssEditor-BVHX5HDj.js} +1 -1
- package/dist/md/static/js/{md-CustomComponentDialog-B2dcYBPu.js → md-CustomComponentDialog-B1iN17Un.js} +1 -1
- package/dist/md/static/js/{md-EditorStateDialog-DDwS_6Tq.js → md-EditorStateDialog-Lt42FvkA.js} +1 -1
- package/dist/md/static/js/{md-EmojiManagerPanel-D1CqtlJh.js → md-EmojiManagerPanel-uIslmuqS.js} +1 -1
- package/dist/md/static/js/{md-FormulaEditorDialog-BMRetjWG.js → md-FormulaEditorDialog-CCIdePrb.js} +1 -1
- package/dist/md/static/js/{md-ImportMarkdownDialog-DxL17zpq.js → md-ImportMarkdownDialog-N8HpMw5z.js} +1 -1
- package/dist/md/static/js/{md-KeyboardShortcutsDialog-uRCXJSjd.js → md-KeyboardShortcutsDialog-WImy2X6K.js} +1 -1
- package/dist/md/static/js/{md-LocalImageUploadDialog-avfB7LHB.js → md-LocalImageUploadDialog-BbV43cOw.js} +1 -1
- package/dist/md/static/js/{md-MarketplaceDialog-Bx7VHRvQ.js → md-MarketplaceDialog-CzK5uLAk.js} +1 -1
- package/dist/md/static/js/{md-PdfExportDialog-CLmsnkhd.js → md-PdfExportDialog-DRbC0Gtt.js} +1 -1
- package/dist/md/static/js/{md-PreferencesDialog-DN-JtCU5.js → md-PreferencesDialog-DhI_LHE2.js} +1 -1
- package/dist/md/static/js/{md-RightSlider-CDcYf_n7.js → md-RightSlider-Bnl17S2o.js} +1 -1
- package/dist/md/static/js/{md-ShareDialog-DK8_fzlb.js → md-ShareDialog-BsgtWzfs.js} +1 -1
- package/dist/md/static/js/{md-SidebarAIToolbar-CBndViyU.js → md-SidebarAIToolbar-fOu5w_G0.js} +2 -2
- package/dist/md/static/js/{md-SlashCommandMenu-CBAaWcc8.js → md-SlashCommandMenu-Dlu7CyUU.js} +1 -1
- package/dist/md/static/js/{md-SyncDialog-C6UjzXRA.js → md-SyncDialog-C7mAbp34.js} +1 -1
- package/dist/md/static/js/{md-TableEditDialog-DBWg4Ms5.js → md-TableEditDialog-DsPa9fwJ.js} +1 -1
- package/dist/md/static/js/{md-TemplateDialog-CPjjDwhb.js → md-TemplateDialog-BhKNLG_g.js} +1 -1
- package/dist/md/static/js/{md-UploadImgDialog-BapxZ5ip.js → md-UploadImgDialog-CDE8wIHB.js} +2 -2
- package/dist/md/static/js/{md-abnfDiagram-YUKMZFIV-CmpHTRa0.js → md-abnfDiagram-YUKMZFIV-jxIywNi9.js} +1 -1
- package/dist/md/static/js/{md-aiConfig-CMgvtyLF.js → md-aiConfig-DVPjNuSa.js} +1 -1
- package/dist/md/static/js/{md-architecture-WOLXFQ4H-DQZEV3vU.js → md-architecture-WOLXFQ4H-RZab6uUU.js} +1 -1
- package/dist/md/static/js/{md-architectureDiagram-47P4ROYG-PyGo0e45.js → md-architectureDiagram-47P4ROYG-BGnBNmr-.js} +1 -1
- package/dist/md/static/js/{md-auth-B320eWZs.js → md-auth-CWx4h9Td.js} +2 -2
- package/dist/md/static/js/{md-blockDiagram-E7TT5TSB-uiHRgnyh.js → md-blockDiagram-E7TT5TSB-Cavoj-Il.js} +1 -1
- package/dist/md/static/js/{md-c4Diagram-CRA5TL53-9HPFN7-t.js → md-c4Diagram-CRA5TL53-i-oSIyBw.js} +1 -1
- package/dist/md/static/js/md-channel-B-t0BcGM.js +1 -0
- package/dist/md/static/js/{md-chunk-2BW5OAIV-D_IuJv-P.js → md-chunk-2BW5OAIV-Bzipx0js.js} +1 -1
- package/dist/md/static/js/{md-chunk-3YJQHVM4-CiXjgT0L.js → md-chunk-3YJQHVM4-Bb6IJj4C.js} +1 -1
- package/dist/md/static/js/{md-chunk-4EA7E6EY-aSJB1UxS.js → md-chunk-4EA7E6EY-DEwrdEp4.js} +1 -1
- package/dist/md/static/js/{md-chunk-7TKQ45FW-C72c6C3B.js → md-chunk-7TKQ45FW-Du1Mj90Z.js} +1 -1
- package/dist/md/static/js/{md-chunk-AW2ZBBNX-6YxV8_ON.js → md-chunk-AW2ZBBNX-B50GsoyY.js} +1 -1
- package/dist/md/static/js/{md-chunk-DBDB3WZW-HS7MXf4M.js → md-chunk-DBDB3WZW-CKZWAGTX.js} +1 -1
- package/dist/md/static/js/{md-chunk-E2ZNV5FY-BWwTF2Pa.js → md-chunk-E2ZNV5FY-W1Zi3naC.js} +1 -1
- package/dist/md/static/js/{md-chunk-EU5HNXII-DywVMjVA.js → md-chunk-EU5HNXII-B1XAeHxn.js} +1 -1
- package/dist/md/static/js/{md-chunk-FVRAUYC3-YieLSFki.js → md-chunk-FVRAUYC3-Cihr67T0.js} +1 -1
- package/dist/md/static/js/{md-chunk-HJ2JQQFS-DrdiUr0s.js → md-chunk-HJ2JQQFS-D3hh96VN.js} +1 -1
- package/dist/md/static/js/{md-chunk-HTAEGDNF-B5mqTFVi.js → md-chunk-HTAEGDNF-CiMkCh_G.js} +1 -1
- package/dist/md/static/js/{md-chunk-KQW6MTUR-CAR3krhO.js → md-chunk-KQW6MTUR-Dhx7IoNY.js} +1 -1
- package/dist/md/static/js/{md-chunk-NTY3LDVX-DSdR7sc4.js → md-chunk-NTY3LDVX-GQ44L1v5.js} +1 -1
- package/dist/md/static/js/{md-chunk-VPRB5NB3-CLIIed9Z.js → md-chunk-VPRB5NB3-DFAB8QDQ.js} +1 -1
- package/dist/md/static/js/{md-chunk-XC4XBNZT-BK_ztb60.js → md-chunk-XC4XBNZT-CfdESQNj.js} +1 -1
- package/dist/md/static/js/{md-classDiagram-v2-K4WV4PDN-CCHSKnhN.js → md-classDiagram-v2-K4WV4PDN-B6K4kqpa.js} +1 -1
- package/dist/md/static/js/{md-client-CGJU0lXF.js → md-client-BtyWCOJE.js} +1 -1
- package/dist/md/static/js/{md-clipboard-BYFl_-FZ.js → md-clipboard-D_fwX9Ex.js} +1 -1
- package/dist/md/static/js/{md-confirm-BihqdS5v.js → md-confirm-CaEl21Gf.js} +1 -1
- package/dist/md/static/js/{md-cynefin-EF2NZ3EQ-Bkz4pbNE.js → md-cynefin-EF2NZ3EQ-Co2SL3Gp.js} +1 -1
- package/dist/md/static/js/{md-cynefinDiagram-3GCD6N5R-Ds9PXIId.js → md-cynefinDiagram-3GCD6N5R-B8qs56z0.js} +1 -1
- package/dist/md/static/js/{md-dagre-W4DXFKR2-DkKVDIFC.js → md-dagre-W4DXFKR2-EbJ3K0Ky.js} +1 -1
- package/dist/md/static/js/{md-default-content-Cpz5V9G-.js → md-default-content-Cp2JUIKM.js} +1 -1
- package/dist/md/static/js/{md-diagram-2UJZ2QOL-qZHiizXP.js → md-diagram-2UJZ2QOL-DRFYDLnk.js} +1 -1
- package/dist/md/static/js/{md-diagram-OVF4WLC6-CN8lep7L.js → md-diagram-OVF4WLC6-B8E6egvP.js} +1 -1
- package/dist/md/static/js/{md-diagram-PFPMY2P6-BSwpiHtn.js → md-diagram-PFPMY2P6-GndkeoOu.js} +1 -1
- package/dist/md/static/js/{md-diagram-UMYRVEAY-DY0LU3Hd.js → md-diagram-UMYRVEAY-C_XRhzfS.js} +1 -1
- package/dist/md/static/js/{md-diagram-YEKJPTXX-QY8QLwTU.js → md-diagram-YEKJPTXX-W1nDPXpp.js} +1 -1
- package/dist/md/static/js/{md-diagram-ZIFT7M5P-BRN2Im2O.js → md-diagram-ZIFT7M5P-C0o4DKfz.js} +1 -1
- package/dist/md/static/js/{md-dist-es-cVMEFCse.js → md-dist-es-nelOcRBV.js} +2 -2
- package/dist/md/static/js/{md-ebnfDiagram-VR2GEFS7-DtH7XQzh.js → md-ebnfDiagram-VR2GEFS7-lmS32PGC.js} +1 -1
- package/dist/md/static/js/{md-editor-CAilbZEo.js → md-editor-CY6v2w8B.js} +2 -2
- package/dist/md/static/js/{md-elk-IJKZMXRS-DA-GN0L1.js → md-elk-IJKZMXRS-Cli79gRh.js} +1 -1
- package/dist/md/static/js/{md-emojiPack-iMjrppKC.js → md-emojiPack-C8pHg1Th.js} +1 -1
- package/dist/md/static/js/{md-erDiagram-O2IAPWRE-CPaqE6JI.js → md-erDiagram-O2IAPWRE-C9xQhs9y.js} +1 -1
- package/dist/md/static/js/{md-eventmodeling-K75KTNOO-Bc6tu7KV.js → md-eventmodeling-K75KTNOO-BAdWm5qy.js} +1 -1
- package/dist/md/static/js/{md-export-BjrxWZ9r.js → md-export-kujJShoi.js} +1 -1
- package/dist/md/static/js/{md-extensions-Glu0Pgjx.js → md-extensions-C8rTnfS0.js} +3 -3
- package/dist/md/static/js/md-flowDiagram-OXPTDLAJ-Cv2UXRIF.js +1 -0
- package/dist/md/static/js/{md-folder-source-panel-DFFe32GQ.js → md-folder-source-panel-YtE62CWK.js} +1 -1
- package/dist/md/static/js/{md-formatDoc-BNWCU6io.js → md-formatDoc-C4BJekJV.js} +1 -1
- package/dist/md/static/js/{md-ganttDiagram-R7TSEDQI-BayINpXC.js → md-ganttDiagram-R7TSEDQI-CdvKJ-qg.js} +1 -1
- package/dist/md/static/js/{md-gitGraph-VSP46ZUC-BUwLrmK3.js → md-gitGraph-VSP46ZUC-C3x-S46t.js} +1 -1
- package/dist/md/static/js/{md-gitGraphDiagram-XJZIOB7I-B5H3jLer.js → md-gitGraphDiagram-XJZIOB7I-Ccdv8lmf.js} +1 -1
- package/dist/md/static/js/{md-index-C3THyG4M.js → md-index-KksaGwCt.js} +4 -4
- package/dist/md/static/js/{md-index.browser-SY9JAlDq.js → md-index.browser-BgXgYd6H.js} +1 -1
- package/dist/md/static/js/{md-info-OHQRW6UA-CNO4zTrQ.js → md-info-OHQRW6UA-c5KWvdDg.js} +1 -1
- package/dist/md/static/js/{md-infoDiagram-5W2HQ5XZ-mYYrIV4u.js → md-infoDiagram-5W2HQ5XZ-BX8aRyyo.js} +1 -1
- package/dist/md/static/js/{md-ishikawaDiagram-K3B6WC7H-NabgEAym.js → md-ishikawaDiagram-K3B6WC7H-DdpyI-DP.js} +1 -1
- package/dist/md/static/js/{md-journeyDiagram-COXZFDF6-qclo2Jhn.js → md-journeyDiagram-COXZFDF6-CB6A5flW.js} +1 -1
- package/dist/md/static/js/{md-kanban-definition-P3RFRI5V-CfwJaDLN.js → md-kanban-definition-P3RFRI5V-BZHeGUdo.js} +1 -1
- package/dist/md/static/js/{md-locale-BZywaihl.js → md-locale-BO-XNOeF.js} +1 -1
- package/dist/md/static/js/{md-markdown-CHof_I2H.js → md-markdown-B-zbv6EE.js} +1 -1
- package/dist/md/static/js/{md-marketplace-Ds3POzKO.js → md-marketplace-ZqbDqCG7.js} +1 -1
- package/dist/md/static/js/{md-mermaid-parser.core-hfCUgsuY.js → md-mermaid-parser.core-D5qj8elB.js} +3 -3
- package/dist/md/static/js/{md-mermaid.core-qk0l9q9D.js → md-mermaid.core-DDSYz6Lj.js} +4 -4
- package/dist/md/static/js/{md-mindmap-definition-LZFPQGKD-C1cMWO7B.js → md-mindmap-definition-LZFPQGKD-BkTat9h5.js} +1 -1
- package/dist/md/static/js/{md-oauth-CXETOhnZ.js → md-oauth-BijzNF7k.js} +1 -1
- package/dist/md/static/js/{md-packet-JDAUHWVQ-DrOa3aVS.js → md-packet-JDAUHWVQ-QlNNtjkj.js} +1 -1
- package/dist/md/static/js/{md-pegDiagram-BGZESJAR-DU_dIOZl.js → md-pegDiagram-BGZESJAR-BAeSZgQ3.js} +1 -1
- package/dist/md/static/js/{md-pie-XZMESJXO-f8Y5JjcT.js → md-pie-XZMESJXO-DPTkNBWJ.js} +1 -1
- package/dist/md/static/js/{md-pieDiagram-CAPJLFHJ-mF6qIsfp.js → md-pieDiagram-CAPJLFHJ-LwAUugT_.js} +1 -1
- package/dist/md/static/js/{md-post-CHezuK0L.js → md-post-WD34OnCq.js} +1 -1
- package/dist/md/static/js/{md-post-slider-Xq8kjXXi.js → md-post-slider-DjhSy3SN.js} +2 -2
- package/dist/md/static/js/{md-preload-helper-2--UFWE9.js → md-preload-helper-CZ_s7YgV.js} +1 -1
- package/dist/md/static/js/{md-provider-registry-MsrJ0aEj.js → md-provider-registry-Cxtv8d-y.js} +1 -1
- package/dist/md/static/js/{md-providers-D1N92-lC.js → md-providers-B7kRoB_h.js} +2 -2
- package/dist/md/static/js/{md-quadrantDiagram-GDMTTRAM-DY68Gfb6.js → md-quadrantDiagram-GDMTTRAM-0rz_1vSP.js} +1 -1
- package/dist/md/static/js/{md-quickCommands-d-ysQNPU.js → md-quickCommands-phfj1m8Y.js} +1 -1
- package/dist/md/static/js/{md-radar-ABXABTNO-C9IJ98Xg.js → md-radar-ABXABTNO-2-4CT44H.js} +1 -1
- package/dist/md/static/js/{md-railroad-I3PHUGI6-DB6t5P7O.js → md-railroad-I3PHUGI6-V8xWSoyk.js} +1 -1
- package/dist/md/static/js/{md-railroad-abnf-LNEFI6M7-DQRmhEC7.js → md-railroad-abnf-LNEFI6M7-Do9BdsP_.js} +1 -1
- package/dist/md/static/js/{md-railroad-ebnf-DWYD2UWJ-Dp3zLEwp.js → md-railroad-ebnf-DWYD2UWJ-BL_fhDdd.js} +1 -1
- package/dist/md/static/js/{md-railroad-peg-JR7BVNR7-D9gfVlNF.js → md-railroad-peg-JR7BVNR7-CbJIM4Q4.js} +1 -1
- package/dist/md/static/js/{md-railroadDiagram-SM67HX2B-Cy5Q3yLw.js → md-railroadDiagram-SM67HX2B-DHKEwgkD.js} +1 -1
- package/dist/md/static/js/{md-renderer-4AQ1OZU1.js → md-renderer-C3j0sBEK.js} +1 -1
- package/dist/md/static/js/{md-requirementDiagram-X7JNWC4A-Ca1L-MSu.js → md-requirementDiagram-X7JNWC4A-DRJAUlBf.js} +1 -1
- package/dist/md/static/js/{md-sankeyDiagram-UM26HJRW-C4SRu7DB.js → md-sankeyDiagram-UM26HJRW-GDADPdwW.js} +1 -1
- package/dist/md/static/js/{md-sequenceDiagram-ZO4K6R2Y-DQDdiL2I.js → md-sequenceDiagram-ZO4K6R2Y-BqCqeFP1.js} +1 -1
- package/dist/md/static/js/{md-slashCommands-BkcP4b0C.js → md-slashCommands-DX973mid.js} +1 -1
- package/dist/md/static/js/{md-stateDiagram-v2-TBUQTH76-DgWJk1nQ.js → md-stateDiagram-v2-TBUQTH76-DX_X5UE4.js} +1 -1
- package/dist/md/static/js/{md-storage-TAchKcvc.js → md-storage-BSAs4c5b.js} +1 -1
- package/dist/md/static/js/{md-swimlanes-N4OXWK64-CTC8HdWE.js → md-swimlanes-N4OXWK64-Cjy17OrY.js} +1 -1
- package/dist/md/static/js/md-swimlanesDiagram-K3J5GTZL--VyEqkCo.js +8 -0
- package/dist/md/static/js/{md-sync-DzivBtxQ.js → md-sync-D4XCZ-io.js} +1 -1
- package/dist/md/static/js/{md-template-TV8U1qS4.js → md-template-DtFAO0nN.js} +1 -1
- package/dist/md/static/js/{md-timeline-definition-YOQAKGHF-Bd9f4Y10.js → md-timeline-definition-YOQAKGHF-HjNnETws.js} +1 -1
- package/dist/md/static/js/{md-translate-CzY24XmZ.js → md-translate-RJ_Id5UE.js} +1 -1
- package/dist/md/static/js/{md-treeView-D4JQ5SDB-D-XSvTMP.js → md-treeView-D4JQ5SDB-Ck4OYDV1.js} +1 -1
- package/dist/md/static/js/{md-treemap-SAJKECNS-Bd_rK9Mh.js → md-treemap-SAJKECNS-cpDKKtgH.js} +1 -1
- package/dist/md/static/js/{md-ui-Dq6MTvr4.js → md-ui-Bt-aDIF5.js} +3 -3
- package/dist/md/static/js/{md-useEditorRefresh-DQn4H1Wu.js → md-useEditorRefresh-C1KdD5FC.js} +1 -1
- package/dist/md/static/js/{md-useImageUploader-CYOKxpNX.js → md-useImageUploader-s3F44q5B.js} +2 -2
- package/dist/md/static/js/{md-useLocalizedAIServices-rhW4n8Ti.js → md-useLocalizedAIServices-1SgW-zt5.js} +1 -1
- package/dist/md/static/js/{md-useLocalizedBuiltinComponents-DADyqpKR.js → md-useLocalizedBuiltinComponents-KOhSrZ0U.js} +1 -1
- package/dist/md/static/js/{md-useLocalizedStyleOptions-B5NSKADz.js → md-useLocalizedStyleOptions-DSpLX0_2.js} +1 -1
- package/dist/md/static/js/{md-useSyncStatusMeta-ssY-63xV.js → md-useSyncStatusMeta-CobQo-Ih.js} +1 -1
- package/dist/md/static/js/{md-usecaseDiagram-VIAY4XPW-tkWd_m6m.js → md-usecaseDiagram-VIAY4XPW-C89u-Q5k.js} +1 -1
- package/dist/md/static/js/{md-validate-image-3dQVL-8x.js → md-validate-image-B8ox7pXU.js} +1 -1
- package/dist/md/static/js/{md-vennDiagram-BLWOH2XV-B1h1KBPU.js → md-vennDiagram-BLWOH2XV-D7RaDcl0.js} +1 -1
- package/dist/md/static/js/{md-wardley-7MLQ67FV-BMEyqZgl.js → md-wardley-7MLQ67FV-B1oyFXmn.js} +1 -1
- package/dist/md/static/js/{md-wardleyDiagram-YMQ3BMBF-4KQgaOjT.js → md-wardleyDiagram-YMQ3BMBF-UeuqPlcZ.js} +1 -1
- package/dist/md/static/js/{md-xychartDiagram-TAQBALBS-Cg-G6JP7.js → md-xychartDiagram-TAQBALBS-CqLl-yPp.js} +1 -1
- package/dist/transform/404/index.html +2 -2
- package/dist/transform/404.html +2 -2
- package/dist/transform/_next/static/chunks/5f58523c0e7f8a1496e44fb3aa9708ae212b3a59.7eb188b53aa5e032ca26.js +1 -0
- package/dist/transform/_next/static/chunks/pages/css-to-js-5318424ca1c1f2a567b5.js +1 -0
- package/dist/transform/_next/static/chunks/pages/graphql-to-components-3ab2af869fbcfa184855.js +1 -0
- package/dist/transform/_next/static/chunks/pages/graphql-to-flow-5873d22614a64f662965.js +1 -0
- package/dist/transform/_next/static/chunks/pages/graphql-to-fragment-matcher-da076cda5c237a7f299b.js +1 -0
- package/dist/transform/_next/static/chunks/pages/graphql-to-introspection-json-3a503ed929ca8973d6f7.js +1 -0
- package/dist/transform/_next/static/chunks/pages/graphql-to-java-c23506b8cea6425018e6.js +1 -0
- package/dist/transform/_next/static/chunks/pages/graphql-to-resolvers-signature-ec4f7bcb373fc1bfdc64.js +1 -0
- package/dist/transform/_next/static/chunks/pages/graphql-to-schema-ast-f125f56fede43a181a8a.js +1 -0
- package/dist/transform/_next/static/chunks/pages/graphql-to-typescript-46631f6e2b2d74aee5b6.js +1 -0
- package/dist/transform/_next/static/chunks/pages/{graphql-to-typescript-mongodb-e325d75119d2e7677e6b.js → graphql-to-typescript-mongodb-a6762f012c231ad53d4d.js} +1 -1
- package/dist/transform/_next/static/chunks/pages/index-f20eddd83614aa6fbc1a.js +1 -0
- package/dist/transform/_next/static/chunks/pages/json-to-mobx-state-tree-ba0ed623cbfd12c4150d.js +1 -0
- package/dist/transform/_next/static/chunks/pages/json-to-proptypes-74207e5e0180d6373fd9.js +1 -0
- package/dist/transform/_next/static/chunks/pages/object-styles-to-template-literal-4632ad4472ee11ec823f.js +1 -0
- package/dist/transform/_next/static/chunks/pages/svg-to-react-native-71e7874e599dda8ae7a5.js +1 -0
- package/dist/transform/_next/static/{s2f5sIpNXm2PBoE7dI3W4 → pHXDQTMyssHVxbIxujksW}/_buildManifest.js +1 -1
- package/dist/transform/cadence-to-go/index.html +2 -2
- package/dist/transform/css-to-js/index.html +2 -2
- package/dist/transform/css-to-tailwind/index.html +2 -2
- package/dist/transform/flow-to-javascript/index.html +2 -2
- package/dist/transform/flow-to-typescript/index.html +2 -2
- package/dist/transform/flow-to-typescript-declaration/index.html +2 -2
- package/dist/transform/graphql-to-components/index.html +2 -2
- package/dist/transform/graphql-to-flow/index.html +2 -2
- package/dist/transform/graphql-to-fragment-matcher/index.html +2 -2
- package/dist/transform/graphql-to-introspection-json/index.html +2 -2
- package/dist/transform/graphql-to-java/index.html +2 -2
- package/dist/transform/graphql-to-resolvers-signature/index.html +2 -2
- package/dist/transform/graphql-to-schema-ast/index.html +2 -2
- package/dist/transform/graphql-to-typescript/index.html +2 -2
- package/dist/transform/graphql-to-typescript-mongodb/index.html +2 -2
- package/dist/transform/html-to-jsx/index.html +2 -2
- package/dist/transform/html-to-pug/index.html +2 -2
- package/dist/transform/index.html +2 -2
- package/dist/transform/js-object-to-json/index.html +2 -2
- package/dist/transform/js-object-to-typescript/index.html +2 -2
- package/dist/transform/json-schema-to-openapi-schema/index.html +2 -2
- package/dist/transform/json-schema-to-protobuf/index.html +2 -2
- package/dist/transform/json-schema-to-typescript/index.html +2 -2
- package/dist/transform/json-schema-to-zod/index.html +2 -2
- package/dist/transform/json-to-big-query/index.html +2 -2
- package/dist/transform/json-to-flow/index.html +2 -2
- package/dist/transform/json-to-go/index.html +2 -2
- package/dist/transform/json-to-go-bson/index.html +2 -2
- package/dist/transform/json-to-graphql/index.html +2 -2
- package/dist/transform/json-to-io-ts/index.html +2 -2
- package/dist/transform/json-to-java/index.html +2 -2
- package/dist/transform/json-to-jsdoc/index.html +2 -2
- package/dist/transform/json-to-json-schema/index.html +2 -2
- package/dist/transform/json-to-kotlin/index.html +2 -2
- package/dist/transform/json-to-mobx-state-tree/index.html +2 -2
- package/dist/transform/json-to-mongoose/index.html +2 -2
- package/dist/transform/json-to-mysql/index.html +2 -2
- package/dist/transform/json-to-proptypes/index.html +2 -2
- package/dist/transform/json-to-rust-serde/index.html +2 -2
- package/dist/transform/json-to-sarcastic/index.html +2 -2
- package/dist/transform/json-to-scala-case-class/index.html +2 -2
- package/dist/transform/json-to-toml/index.html +2 -2
- package/dist/transform/json-to-typescript/index.html +2 -2
- package/dist/transform/json-to-yaml/index.html +2 -2
- package/dist/transform/json-to-zod/index.html +2 -2
- package/dist/transform/jsonld-to-compacted/index.html +2 -2
- package/dist/transform/jsonld-to-expanded/index.html +2 -2
- package/dist/transform/jsonld-to-flattened/index.html +2 -2
- package/dist/transform/jsonld-to-framed/index.html +2 -2
- package/dist/transform/jsonld-to-normalized/index.html +2 -2
- package/dist/transform/jsonld-to-nquads/index.html +2 -2
- package/dist/transform/markdown-to-html/index.html +2 -2
- package/dist/transform/object-styles-to-template-literal/index.html +2 -2
- package/dist/transform/svg-to-react-native/index.html +2 -2
- package/dist/transform/toml-to-json/index.html +2 -2
- package/dist/transform/toml-to-yaml/index.html +2 -2
- package/dist/transform/typescript-to-flow/index.html +2 -2
- package/dist/transform/typescript-to-javascript/index.html +2 -2
- package/dist/transform/typescript-to-json-schema/index.html +2 -2
- package/dist/transform/typescript-to-typescript-declaration/index.html +2 -2
- package/dist/transform/typescript-to-zod/index.html +2 -2
- package/dist/transform/xml-to-json/index.html +2 -2
- package/dist/transform/yaml-to-json/index.html +2 -2
- package/dist/transform/yaml-to-toml/index.html +2 -2
- package/package.json +1 -1
- package/dist/md/static/js/md-channel-Dx0LllE1.js +0 -1
- package/dist/md/static/js/md-flowDiagram-OXPTDLAJ-BJ9GLr8l.js +0 -1
- package/dist/md/static/js/md-swimlanesDiagram-K3J5GTZL-DxvPEfP2.js +0 -8
- package/dist/transform/_next/static/chunks/5f58523c0e7f8a1496e44fb3aa9708ae212b3a59.81877283f0ccf4cfa5ad.js +0 -1
- package/dist/transform/_next/static/chunks/pages/css-to-js-c151b6d517dfa79fec1c.js +0 -1
- package/dist/transform/_next/static/chunks/pages/graphql-to-components-870c7f6e926ea6492875.js +0 -1
- package/dist/transform/_next/static/chunks/pages/graphql-to-flow-30f6cd8de7e3479085b7.js +0 -1
- package/dist/transform/_next/static/chunks/pages/graphql-to-fragment-matcher-822fa095ae34dfa20d27.js +0 -1
- package/dist/transform/_next/static/chunks/pages/graphql-to-introspection-json-8702f04c773441e24332.js +0 -1
- package/dist/transform/_next/static/chunks/pages/graphql-to-java-c314a62d644b3b5c4b78.js +0 -1
- package/dist/transform/_next/static/chunks/pages/graphql-to-resolvers-signature-4564a0902441752a543f.js +0 -1
- package/dist/transform/_next/static/chunks/pages/graphql-to-schema-ast-17d93f460973a0435671.js +0 -1
- package/dist/transform/_next/static/chunks/pages/graphql-to-typescript-6599e329a8b3c7f28409.js +0 -1
- package/dist/transform/_next/static/chunks/pages/index-77392cac123afdb7d7ff.js +0 -1
- package/dist/transform/_next/static/chunks/pages/json-to-mobx-state-tree-faad7bbce0c5a4a90c69.js +0 -1
- package/dist/transform/_next/static/chunks/pages/json-to-proptypes-f5d98384dff3089f2f01.js +0 -1
- package/dist/transform/_next/static/chunks/pages/object-styles-to-template-literal-aaec7309c1a602288551.js +0 -1
- package/dist/transform/_next/static/chunks/pages/svg-to-react-native-034e52cf3747b84d4275.js +0 -1
- /package/dist/carbon/_next/static/{j89oBtYEmpICvj7fmBMRz → x-ujJmUU2P28xUB4xtC42}/_buildManifest.js +0 -0
- /package/dist/carbon/_next/static/{j89oBtYEmpICvj7fmBMRz → x-ujJmUU2P28xUB4xtC42}/_middlewareManifest.js +0 -0
- /package/dist/carbon/_next/static/{j89oBtYEmpICvj7fmBMRz → x-ujJmUU2P28xUB4xtC42}/_ssgManifest.js +0 -0
- /package/dist/transform/_next/data/{s2f5sIpNXm2PBoE7dI3W4 → pHXDQTMyssHVxbIxujksW}/css-to-tailwind.json +0 -0
- /package/dist/transform/_next/static/{s2f5sIpNXm2PBoE7dI3W4 → pHXDQTMyssHVxbIxujksW}/_ssgManifest.js +0 -0
package/dist/md/index.html
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<!DOCTYPE html>
|
|
2
2
|
<html lang="zh-CN">
|
|
3
|
-
<head
|
|
3
|
+
<head>
|
|
4
4
|
<script src="https://www.googletagmanager.com/gtag/js?id=G-7NZL3PZ0NK" async></script>
|
|
5
5
|
<script>window.dataLayer = window.dataLayer || [];
|
|
6
6
|
function gtag(){dataLayer.push(arguments);}
|
|
@@ -8,15 +8,15 @@ gtag('js', new Date());
|
|
|
8
8
|
gtag('config', 'G-7NZL3PZ0NK');
|
|
9
9
|
</script>
|
|
10
10
|
|
|
11
|
-
<meta charset="utf-8"
|
|
11
|
+
<meta charset="utf-8" /><script data-yu-i18n="/*yu-i18n*/">(function(){window.__YU_I18N_APP__="md";try{var __l=localStorage.getItem('yu-lang')==='en'?'en-US':'zh-CN';localStorage.setItem('locale',__l);window.__MD_BOOT_LOCALE__=__l;}catch(e){}var s=document.createElement('script');s.src='/md/i18n-bridge.js';s.defer=true;document.documentElement.appendChild(s);})();</script>
|
|
12
12
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
|
13
13
|
<meta name="keywords" content="md,markdown,markdown-editor,wechat,official-account,yanglbme,doocs" />
|
|
14
14
|
<meta name="description" content="Wechat Markdown Editor | 一款高度简洁的微信 Markdown 编辑器" />
|
|
15
15
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
|
|
16
16
|
<title>微信 Markdown 编辑器 | Doocs</title>
|
|
17
|
-
<link rel="shortcut icon" href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
18
|
-
<link rel="apple-touch-icon-precomposed" href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
19
|
-
<style>html,body{height:100%;margin:0;overflow:hidden}.loading{z-index:99999;color:#171717;background-color:#fff;flex-direction:column;justify-content:center;align-items:center;font-size:18px;display:flex;position:fixed;inset:0}html.dark .loading{color:#fafafa;background-color:#141414}.loading:before{content:url(https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
17
|
+
<link rel="shortcut icon" href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/favicon.png" />
|
|
18
|
+
<link rel="apple-touch-icon-precomposed" href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/favicon.png" />
|
|
19
|
+
<style>html,body{height:100%;margin:0;overflow:hidden}.loading{z-index:99999;color:#171717;background-color:#fff;flex-direction:column;justify-content:center;align-items:center;font-size:18px;display:flex;position:fixed;inset:0}html.dark .loading{color:#fafafa;background-color:#141414}.loading:before{content:url(https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/favicon.png);width:100px;height:100px;margin-bottom:26px}.loading strong,.loading .txt{color:inherit}.loading .txt{position:absolute;bottom:10%}.loading .txt:after{content:"...";animation:1.5s steps(4,end) infinite dots}@keyframes dots{0%{content:" "}25%{content:"."}50%{content:".."}75%{content:"..."}}</style>
|
|
20
20
|
<script>
|
|
21
21
|
;(function () {
|
|
22
22
|
const LOCALE_KEY = 'locale'
|
|
@@ -111,118 +111,118 @@ gtag('config', 'G-7NZL3PZ0NK');
|
|
|
111
111
|
}
|
|
112
112
|
})()
|
|
113
113
|
</script>
|
|
114
|
-
<script type="module" crossorigin src="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
115
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
116
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
117
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
118
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
119
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
120
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
121
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
122
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
123
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
124
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
125
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
126
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
127
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
128
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
129
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
130
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
131
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
132
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
133
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
134
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
135
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
136
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
137
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
138
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
139
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
140
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
141
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
142
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
143
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
144
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
145
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
146
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
147
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
148
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
149
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
150
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
151
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
152
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
153
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
154
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
155
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
156
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
157
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
158
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
159
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
160
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
161
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
162
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
163
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
164
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
165
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
166
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
167
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
168
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
169
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
170
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
171
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
172
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
173
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
174
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
175
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
176
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
177
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
178
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
179
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
180
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
181
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
182
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
183
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
184
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
185
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
186
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
187
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
188
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
189
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
190
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
191
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
192
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
193
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
194
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
195
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
196
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
197
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
198
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
199
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
200
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
201
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
202
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
203
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
204
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
205
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
206
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
207
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
208
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
209
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
210
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
211
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
212
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
213
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
214
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
215
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
216
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
217
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
218
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
219
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
220
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
221
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
222
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
223
|
-
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
224
|
-
<link rel="stylesheet" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
225
|
-
<link rel="stylesheet" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.
|
|
114
|
+
<script type="module" crossorigin src="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-index-KksaGwCt.js"></script>
|
|
115
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-configs-l_iJ-wjP.js">
|
|
116
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-rolldown-runtime-Dd_uD5pT.js">
|
|
117
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-vendor_vue-BeOfKbk1.js">
|
|
118
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-v4-DDdyfk2q.js">
|
|
119
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-vue-i18n-Cxvw1c3e.js">
|
|
120
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-preload-helper-CZ_s7YgV.js">
|
|
121
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-translate-RJ_Id5UE.js">
|
|
122
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-lib-CvTniYNx.js">
|
|
123
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-storage-BSAs4c5b.js">
|
|
124
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-config-Ck6OhP_V.js">
|
|
125
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-codemirror-BaABCPpB.js">
|
|
126
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-vendor_vueuse-B2NyWnbq.js">
|
|
127
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-highlight-CQhsZQAL.js">
|
|
128
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-purify.es-B0LuI4JX.js">
|
|
129
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-browser-AkLj9bPh.js">
|
|
130
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-extensions-C8rTnfS0.js">
|
|
131
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-editor-CY6v2w8B.js">
|
|
132
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-ui-Bt-aDIF5.js">
|
|
133
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-locale-BO-XNOeF.js">
|
|
134
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-createLucideIcon-BXdNAL-d.js">
|
|
135
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-blocks-Db875tl4.js">
|
|
136
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-oauth-BijzNF7k.js">
|
|
137
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-auth-CWx4h9Td.js">
|
|
138
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-marketplace-ZqbDqCG7.js">
|
|
139
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-default-content-Cp2JUIKM.js">
|
|
140
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-post-WD34OnCq.js">
|
|
141
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-useLocalizedStyleOptions-DSpLX0_2.js">
|
|
142
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-slashCommands-DX973mid.js">
|
|
143
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-square-function-Dcsq4V45.js">
|
|
144
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-check-lU7D5avq.js">
|
|
145
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-chevron-down-BMHj5Qr0.js">
|
|
146
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-chevron-right-BqZJnr1B.js">
|
|
147
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-utils-CfHWyiHX.js">
|
|
148
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-button-BSiUqWkb.js">
|
|
149
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-Teleport-C33MrUY6.js">
|
|
150
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-DialogTitle-DckujrLp.js">
|
|
151
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-DialogDescription-I_Nb5r3l.js">
|
|
152
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-AlertDialogTitle-tk5d1pHN.js">
|
|
153
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-ai-service-options-BnJLTh-y.js">
|
|
154
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-aiConfig-DVPjNuSa.js">
|
|
155
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-quickCommands-phfj1m8Y.js">
|
|
156
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-template-DtFAO0nN.js">
|
|
157
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-sync-D4XCZ-io.js">
|
|
158
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-loader-circle-CMCAxmDe.js">
|
|
159
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-useSyncStatusMeta-CobQo-Ih.js">
|
|
160
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-circle-question-mark-D7cciLOv.js">
|
|
161
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-circle-CPKPEqFe.js">
|
|
162
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-clock-BO90uR9J.js">
|
|
163
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-copy-FPkQvYMT.js">
|
|
164
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-download-PHSmBRjD.js">
|
|
165
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-MenuSeparator-Bee7ZeuH.js">
|
|
166
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-eye-D87jI9hW.js">
|
|
167
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-face-slightly-smiling-BIxW4AS6.js">
|
|
168
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-package-B4OMyI92.js">
|
|
169
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-useImageUploader-s3F44q5B.js">
|
|
170
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-file-text-g3522ZnA.js">
|
|
171
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-folder-open-BeUSQQdX.js">
|
|
172
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-heart-D1r4IGRy.js">
|
|
173
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-image-DZKTZmYn.js">
|
|
174
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-info-DloVl59m.js">
|
|
175
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-keyboard-Q7K6qWUE.js">
|
|
176
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-log-in-yXDzb3je.js">
|
|
177
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-minus-BmW7V9PF.js">
|
|
178
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-palette-Cj5ov4Zu.js">
|
|
179
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-refresh-cw-DuW6gMMW.js">
|
|
180
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-replace-DRe0Vda1.js">
|
|
181
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-search-5OR9AAo_.js">
|
|
182
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-settings-BQ0oxr26.js">
|
|
183
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-client-BtyWCOJE.js">
|
|
184
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-store-DJ9O8kXN.js">
|
|
185
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-trash-_QL9lZ9Z.js">
|
|
186
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-emojiPack-C8pHg1Th.js">
|
|
187
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-upload-D-o2qobN.js">
|
|
188
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-user-CXP966A6.js">
|
|
189
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-wand-sparkles-BWES2HgT.js">
|
|
190
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-FieldRoot-BGMFmJ2C.js">
|
|
191
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-nullish-DHihWhf5.js">
|
|
192
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-VisuallyHidden-c5ryoUV1.js">
|
|
193
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-useForwardScopeId-f83MRwkF.js">
|
|
194
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-usePrimitiveElement-BroVhtbS.js">
|
|
195
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-VisuallyHiddenInput-CHIu9teZ.js">
|
|
196
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-Collection-iXxEemrA.js">
|
|
197
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-RovingFocusGroup-BdUtwAjh.js">
|
|
198
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-RovingFocusItem-C73VMTDl.js">
|
|
199
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-CheckboxIndicator-hbjLY94G.js">
|
|
200
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-PopperContent-BmY10hvR.js">
|
|
201
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-MenuPortal-DT7yRAVg.js">
|
|
202
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-TooltipTrigger-Bddfw7hJ.js">
|
|
203
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-useNonce-CDLUr9YI.js">
|
|
204
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-Label-BEXxOepa.js">
|
|
205
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-MenuRadioItem-B2SlGXW8.js">
|
|
206
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-PopoverTrigger-BkrNONB4.js">
|
|
207
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-_plugin-vue_export-helper-BDNMzG2s.js">
|
|
208
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-Progress-BqYoYbPS.js">
|
|
209
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-confirm-CaEl21Gf.js">
|
|
210
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-DialogFooter-CBAeLIxQ.js">
|
|
211
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-Textarea-D5oizzXs.js">
|
|
212
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-Input-CXcSl6a3.js">
|
|
213
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-Alert-hAepI8xG.js">
|
|
214
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-useEditorRefresh-C1KdD5FC.js">
|
|
215
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-markdown-B-zbv6EE.js">
|
|
216
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-export-kujJShoi.js">
|
|
217
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-clipboard-D_fwX9Ex.js">
|
|
218
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-index.esm-DjtxxCnL.js">
|
|
219
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-formula-BHWH4bVU.js">
|
|
220
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-table-CyBQSqkg.js">
|
|
221
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-useLocalizedBuiltinComponents-KOhSrZ0U.js">
|
|
222
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-provider-registry-Cxtv8d-y.js">
|
|
223
|
+
<link rel="modulepreload" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/js/md-validate-image-B8ox7pXU.js">
|
|
224
|
+
<link rel="stylesheet" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/css/md-Progress-BG8DdwwN.css">
|
|
225
|
+
<link rel="stylesheet" crossorigin href="https://cdn.cbd.int/@yuuichi/tools-assets@1.0.0-ym.4/dist/md/static/css/md-index-BdIyADE9.css">
|
|
226
226
|
</head>
|
|
227
227
|
|
|
228
228
|
<body>
|
package/dist/md/static/js/{md-AIAssistantPanel-CF4e4Vu5.js → md-AIAssistantPanel-AbRWnr8k.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./md-ui-Dq6MTvr4.js";import{f as t,h as n}from"./md-storage-TAchKcvc.js";import{$ as r,C as i,Ct as a,E as o,Et as s,H as c,I as l,S as u,W as d,b as f,ct as p,f as m,m as h,nt as g,pt as _,q as v,r as y,w as b,x,xt as S,y as C,z as ee}from"./md-vendor_vue-BeOfKbk1.js";import{n as te}from"./md-vue-i18n-Cxvw1c3e.js";import{n as w}from"./md-lib-CvTniYNx.js";import{t as T}from"./md-createLucideIcon-BXdNAL-d.js";import{t as E}from"./md-check-lU7D5avq.js";import{t as D}from"./md-copy-FPkQvYMT.js";import{a as ne,i as re,r as ie}from"./md-useLocalizedAIServices-rhW4n8Ti.js";import{t as ae}from"./md-folder-open-BeUSQQdX.js";import{t as oe}from"./md-image-DZKTZmYn.js";import{n as se,t as ce}from"./md-refresh-ccw-B0suwZhW.js";import{n as le,t as ue}from"./md-AIConfig-DO9zDt5U.js";import{t as de}from"./md-plus-ByJ8LvCm.js";import{t as fe}from"./md-settings-BQ0oxr26.js";import{t as pe}from"./md-trash-_QL9lZ9Z.js";import{n as O}from"./md-button-BSiUqWkb.js";import{i as me,n as he,r as ge,t as _e}from"./md-DialogTitle-DckujrLp.js";import{t as ve}from"./md-DialogDescription-I_Nb5r3l.js";import{n as k,r as A,t as j}from"./md-PopoverTrigger-BkrNONB4.js";import{n as ye,r as be,t as xe}from"./md-DropdownMenuTrigger-Dc5A4zvK.js";import{t as Se}from"./md-DropdownMenuItem-BwyJT-E2.js";import{n as Ce}from"./md-editor-CAilbZEo.js";import{t as we}from"./md-aiConfig-CMgvtyLF.js";import{t as Te}from"./md-quickCommands-d-ysQNPU.js";import{t as Ee}from"./md-_plugin-vue_export-helper-BDNMzG2s.js";import{t as M}from"./md-Textarea-D5oizzXs.js";import{t as N}from"./md-Input-CXcSl6a3.js";import{t as De}from"./md-clipboard-BYFl_-FZ.js";var Oe=T({name:`file-plus-corner`,size:24,node:[[`path`,{d:`M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35`,key:`17jvcc`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M14 19h6`,key:`bvotb8`}],[`path`,{d:`M17 16v6`,key:`18yu1i`}]],aliases:[`file-plus-2`]}),ke=T({name:`send`,size:24,node:[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`,key:`1ffxy3`}],[`path`,{d:`m21.854 2.147-10.94 10.939`,key:`12cjpa`}]]}),P={class:`space-y-4 flex-1 overflow-y-auto pr-1`},F={class:`flex justify-end gap-2`},I={class:`flex items-center justify-between gap-2`},L={class:`flex min-w-0 items-center gap-2`},R={class:`break-all text-sm`},z={key:0,class:`bg-muted text-muted-foreground shrink-0 rounded px-1.5 py-0.5 text-[10px] leading-none`},B={key:0,class:`flex shrink-0 gap-1`},Ae={class:`flex flex-col gap-2`},V={class:`text-sm`},H={class:`flex justify-end gap-2`},U={key:0,class:`text-muted-foreground whitespace-pre-wrap break-all text-xs`},W={class:`space-y-2 mt-4 border rounded-md p-3`},je=o({__name:`QuickCommandManager`,props:{open:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let n=e,a=t,o=_(n.open),l=_(null);r(()=>n.open,e=>o.value=e),r(o,e=>{a(`update:open`,e),e||(l.value=null)});let p=Te(),{t:m}=te(),v=_(``),y=_(``);function ee(){v.value.trim()&&y.value.trim()&&(p.add(v.value.trim(),y.value.trim()),v.value=``,y.value=``)}let w=_(null),T=_(``),E=_(``);function D(e){e.builtin||(l.value=null,w.value=e.id,T.value=e.label,E.value=e.template)}function ne(){w.value=null}function re(){T.value.trim()&&E.value.trim()&&(p.update(w.value,T.value.trim(),E.value.trim()),w.value=null)}return(e,t)=>(c(),f(S(me),{open:o.value,"onUpdate:open":t[6]||=e=>o.value=e},{default:g(()=>[b(S(ge),{class:`max-h-[90vh] w-[92vw] flex flex-col sm:max-w-lg`},{default:g(()=>[b(S(he),null,{default:g(()=>[b(S(_e),null,{default:g(()=>[i(s(S(m)(`ai.quickCommand.title`)),1)]),_:1})]),_:1}),C(`div`,P,[(c(!0),u(h,null,d(S(p).commands,e=>(c(),u(`div`,{key:e.id,class:`flex flex-col gap-2 border rounded-md p-3`},[!e.builtin&&w.value===e.id?(c(),u(h,{key:0},[b(S(N),{modelValue:T.value,"onUpdate:modelValue":t[0]||=e=>T.value=e,placeholder:S(m)(`ai.quickCommand.namePlaceholder`)},null,8,[`modelValue`,`placeholder`]),b(S(M),{modelValue:E.value,"onUpdate:modelValue":t[1]||=e=>E.value=e,rows:`2`,placeholder:S(m)(`ai.quickCommand.templatePlaceholder`)},null,8,[`modelValue`,`placeholder`]),C(`div`,F,[b(S(O),{size:`xs`,onClick:re},{default:g(()=>[i(s(S(m)(`common.save`)),1)]),_:1}),b(S(O),{variant:`ghost`,size:`xs`,onClick:ne},{default:g(()=>[i(s(S(m)(`common.cancel`)),1)]),_:1})])],64)):(c(),u(h,{key:1},[C(`div`,I,[C(`div`,L,[C(`span`,R,s(e.label),1),e.builtin?(c(),u(`span`,z,s(S(m)(`ai.quickCommand.builtin`)),1)):x(``,!0)]),e.builtin?x(``,!0):(c(),u(`div`,B,[b(S(O),{variant:`ghost`,size:`xs`,onClick:t=>D(e)},{default:g(()=>[i(s(S(m)(`common.edit`)),1)]),_:1},8,[`onClick`]),b(S(A),{open:l.value===e.id,"onUpdate:open":t[3]||=e=>{e||(l.value=null)}},{default:g(()=>[b(S(j),{"as-child":``},{default:g(()=>[b(S(O),{variant:`outline`,size:`xs`,onClick:t=>l.value=e.id},{default:g(()=>[i(s(S(m)(`common.delete`)),1)]),_:1},8,[`onClick`])]),_:2},1024),b(S(k),{class:`w-auto p-3`},{default:g(()=>[C(`div`,Ae,[C(`p`,V,s(S(m)(`confirm.deleteItem`,{name:e.label})),1),C(`div`,H,[b(S(O),{size:`xs`,variant:`outline`,onClick:t[2]||=e=>l.value=null},{default:g(()=>[i(s(S(m)(`common.cancel`)),1)]),_:1}),b(S(O),{size:`xs`,onClick:t=>{S(p).remove(e.id),l.value=null}},{default:g(()=>[i(s(S(m)(`common.confirm`)),1)]),_:1},8,[`onClick`])])])]),_:2},1024)]),_:2},1032,[`open`])]))]),e.builtin?(c(),u(`p`,U,s(e.template),1)):x(``,!0)],64))]))),128))]),C(`div`,W,[b(S(N),{modelValue:v.value,"onUpdate:modelValue":t[4]||=e=>v.value=e,placeholder:S(m)(`ai.quickCommand.nameExamplePlaceholder`)},null,8,[`modelValue`,`placeholder`]),b(S(M),{modelValue:y.value,"onUpdate:modelValue":t[5]||=e=>y.value=e,rows:`2`,placeholder:S(m)(`ai.quickCommand.templateExamplePlaceholder`)},null,8,[`modelValue`,`placeholder`]),b(S(O),{class:`w-full`,onClick:ee},{default:g(()=>[i(s(S(m)(`common.add`)),1)]),_:1})])]),_:1})]),_:1},8,[`open`]))}}),Me={class:`space-x-1 flex items-center`},Ne={class:`flex-1 truncate`},Pe={key:0,class:`mb-3 flex flex-wrap gap-2 overflow-x-auto pb-1`},Fe={key:1,class:`text-muted-foreground flex items-center gap-2 border rounded-md border-dashed px-3 py-1 text-xs`},Ie={key:2,class:`custom-scroll space-y-3 chat-container mb-4 flex-1 overflow-y-auto pr-2`},Le={key:0,class:`text-muted-foreground mb-1 italic`},Re={class:`mt-1 flex gap-1`},ze={key:3,class:`relative mt-2`},Be={class:`bg-background border-border flex flex-col items-baseline gap-2 border rounded-xl px-3 py-2 pr-12 shadow-inner`},Ve={class:`text-xs`},He=1500,G=`ai_memory_context`,K=`ai_conversation_list`,q=Ee(o({__name:`AIAssistantPanel`,props:{open:{type:Boolean}},emits:[`update:open`],setup(o,{emit:T}){let k=o,A=T,j=Ce(),{editor:Ee}=y(j),{toggleAIImageDialog:N}=e(),P=_(k.open);r(()=>k.open,e=>P.value=e),r(P,e=>{A(`update:open`,e),e&&$(!0)});let F=_(``),I=_([]),L=_(null),R=_(!1),{loading:z,abort:B,fetchSSE:Ae}=ne(),V=_(null),H=_(null),U=_(!1),W=_(!1),q=_(null),J=_([]),Y=_([]),Ue=we(),{apiKey:We,endpoint:Ge,model:Ke,temperature:qe,maxToken:Je,type:Ye}=y(Ue),Xe=Te(),{t:X}=te(),Ze=_(null);function Qe(){let e=Ze.value?.$el;return e instanceof HTMLTextAreaElement?e:null}function $e(){Qe()?.focus()}function et(e){e.preventDefault(),l($e)}function tt(){return j.getSelection()}function nt(e){let t=tt();F.value=e.buildPrompt(t),L.value=null,l(()=>{let e=Qe();e?.focus(),e&&e.setSelectionRange(e.value.length,e.value.length)})}ee(async()=>{J.value=await t.getJSON(K,[]);let e=await t.getJSON(G,[]);Y.value=e.length>0?e.map(e=>({...e,id:e.id||n()})):Z(),await $(!0)});function Z(){return[{role:`assistant`,content:X(`ai.chat.greeting`),id:n()}]}function rt(){let e=Y.value.find(e=>e.role===`user`);if(!e)return X(`ai.chat.conversationTitle`,{date:new Date().toLocaleString()});let t=e.content.trim();return t.length>20&&(t=`${t.substring(0,20)}...`),t}async function Q(){if(!(Y.value.length<=1)){if(q.value){let e=J.value.find(e=>e.id===q.value);e&&(e.timestamp=Date.now(),await t.setJSON(K,J.value))}else{q.value=n();let e={id:q.value,name:rt(),timestamp:Date.now()};J.value.unshift(e),await t.setJSON(K,J.value)}await t.setJSON(`ai_conversation_${q.value}`,Y.value)}}async function it(){await Q(),q.value=null,Y.value=Z(),await t.setJSON(G,Y.value),await $(!0),w.success(X(`ai.chat.sessionCreated`))}async function at(e){await Q();let r=await t.getJSON(`ai_conversation_${e}`,[]);r.length>0&&(Y.value=r.map(e=>({...e,id:e.id||n()})),q.value=e,await t.setJSON(G,Y.value),await $(!0),w.success(X(`ai.chat.conversationLoaded`)))}async function ot(e){J.value=J.value.filter(t=>t.id!==e),await t.setJSON(K,J.value),await t.remove(`ai_conversation_${e}`),q.value===e&&(q.value=null,Y.value=Z(),await t.setJSON(G,Y.value)),w.success(X(`ai.chat.conversationDeleted`))}function st(){R.value=!1,$(!0)}function ct(){A(`update:open`,!1),setTimeout(()=>{N(!0)},100)}function lt(e){if(!(e.isComposing||e.keyCode===229)){if(e.key===`Enter`&&!e.shiftKey)e.preventDefault(),_t();else if(e.key===`ArrowUp`){if(e.preventDefault(),I.value.length===0)return;L.value===null?L.value=I.value.length-1:L.value>0&&L.value--,F.value=I.value[L.value]||``}else if(e.key===`ArrowDown`){if(e.preventDefault(),L.value===null)return;L.value<I.value.length-1?(L.value++,F.value=I.value[L.value]||``):(L.value=null,F.value=``)}}}async function ut(e,t){De(e),V.value=t,setTimeout(()=>V.value=null,He)}function dt(e,t){j.insertAtCursor(e),H.value=t,setTimeout(()=>H.value=null,He),w.success(X(`ai.chat.insertedToDoc`))}async function ft(){B(),q.value&&=(J.value=J.value.filter(e=>e.id!==q.value),await t.setJSON(K,J.value),await t.remove(`ai_conversation_${q.value}`),null),Y.value=Z(),await t.setJSON(G,Y.value),$(!0),w.success(X(`ai.chat.sessionCleared`))}function pt(){B();let e=Y.value[Y.value.length-1];e?.role===`assistant`&&(e.done=!0),$(!0)}async function $(e=!1){await l();let t=document.querySelector(`.chat-container`);if(t){let n=t.scrollTop+t.clientHeight>=t.scrollHeight-50;(e||n)&&(t.scrollTop=t.scrollHeight,await new Promise(e=>setTimeout(e,50)))}}function mt(){U.value=!U.value}async function ht(){if(z.value)return;let e=Y.value.length-1;if(e<0||Y.value[e].role!==`assistant`)return;Y.value.splice(e,1),z.value=!0,Y.value.push({role:`assistant`,content:``,reasoning:``,done:!1});let t=Y.value[Y.value.length-1];await $(!0),await gt(t)}async function gt(e){let n=Y.value.slice(-12).filter((e,t,n)=>!(t===n.length-1&&e.role===`assistant`&&!e.done)&&(t!==0||e.role!==`assistant`)),r;if(U.value){let e=[];for(let t=n.length-1;t>=0&&e.length<2;t--){let r=n[t];(e.length===0||r.role===`user`||r.role===`assistant`)&&e.unshift(r)}r=e}else r=n.slice(-10);let i=U.value?[{role:`system`,content:X(`ai.chat.systemQuote`,{content:Ee.value?.state.doc.toString()??``})}]:[],a=[{role:`system`,content:X(`ai.chat.systemPrompt`)},...i,...r],o={model:Ke.value,messages:a,temperature:qe.value,max_tokens:Je.value,stream:!0},s=ie(We.value,Ye.value),c=re(Ge.value,`chat`);try{await Ae(c,s,o,{onDelta(t){let n=Y.value[Y.value.length-1];n===e&&(n.content+=t,$())},onReasoningDelta(t){let n=Y.value[Y.value.length-1];n===e&&(n.reasoning=(n.reasoning||``)+t,$())},onDone(){let e=Y.value[Y.value.length-1];e.role===`assistant`&&(e.done=!0,$(!0))}})}catch(e){Y.value[Y.value.length-1].content=X(`ai.chat.requestFailed`,{message:e.message}),await $(!0)}finally{await t.setJSON(G,Y.value),await Q()}}async function _t(){if(!F.value.trim()||z.value)return;I.value.push(F.value.trim()),L.value=null,z.value=!0;let e=F.value.trim();Y.value.push({role:`user`,content:e}),F.value=``,Y.value.push({role:`assistant`,content:``,reasoning:``,done:!1});let t=Y.value[Y.value.length-1];await $(!0),await gt(t)}return(e,t)=>{let n=je,r=ue;return c(),f(S(me),{open:S(P),"onUpdate:open":t[6]||=e=>p(P)?P.value=e:null},{default:g(()=>[b(S(ge),{class:`bg-card text-card-foreground h-dvh max-h-dvh w-full flex flex-col rounded-none shadow-xl sm:max-h-[80vh] sm:max-w-2xl sm:rounded-xl`,onOpenAutoFocus:et},{default:g(()=>[b(S(he),{class:`space-y-1 flex flex-col items-start`},{default:g(()=>[C(`div`,Me,[b(S(_e),null,{default:g(()=>[i(s(S(X)(`ai.chat.title`)),1)]),_:1}),b(S(O),{title:S(R)?S(X)(`ai.chat.title`):S(X)(`ai.chat.configParams`),"aria-label":S(R)?S(X)(`ai.chat.title`):S(X)(`ai.chat.configParams`),variant:`ghost`,size:`icon`,onClick:t[0]||=e=>R.value=!S(R)},{default:g(()=>[S(R)?(c(),f(S(se),{key:0,class:`h-4 w-4`})):(c(),f(S(fe),{key:1,class:`h-4 w-4`}))]),_:1},8,[`title`,`aria-label`]),b(S(O),{title:S(X)(`ai.chat.imageGen`),"aria-label":S(X)(`ai.chat.imageGen`),variant:`ghost`,size:`icon`,onClick:t[1]||=e=>ct()},{default:g(()=>[b(S(oe),{class:`h-4 w-4`})]),_:1},8,[`title`,`aria-label`]),b(S(O),{title:S(X)(`ai.chat.newSession`),"aria-label":S(X)(`ai.chat.newSession`),variant:`ghost`,size:`icon`,onClick:it},{default:g(()=>[b(S(de),{class:`h-4 w-4`})]),_:1},8,[`title`,`aria-label`]),b(S(be),null,{default:g(()=>[b(S(xe),{"as-child":``},{default:g(()=>[b(S(O),{title:S(X)(`ai.chat.loadConversation`),"aria-label":S(X)(`ai.chat.loadConversation`),variant:`ghost`,size:`icon`},{default:g(()=>[b(S(ae),{class:`h-4 w-4`})]),_:1},8,[`title`,`aria-label`])]),_:1}),b(S(ye),{align:`end`,class:`max-h-64 overflow-y-auto w-64 z-[9999]`},{default:g(()=>[S(J).length===0?(c(),f(S(Se),{key:0,disabled:``,class:`text-muted-foreground text-sm`},{default:g(()=>[i(s(S(X)(`ai.chat.noSavedConversations`)),1)]),_:1})):x(``,!0),(c(!0),u(h,null,d(S(J),e=>(c(),f(S(Se),{key:e.id,class:`flex items-center justify-between gap-2 cursor-pointer`,onClick:t=>at(e.id)},{default:g(()=>[C(`span`,Ne,s(e.name),1),b(S(O),{variant:`ghost`,size:`icon`,class:`h-6 w-6 flex-shrink-0`,"aria-label":S(X)(`common.delete`),title:S(X)(`common.delete`),onClick:m(t=>ot(e.id),[`stop`])},{default:g(()=>[b(S(pe),{class:`h-3 w-3`})]),_:1},8,[`aria-label`,`title`,`onClick`])]),_:2},1032,[`onClick`]))),128))]),_:1})]),_:1}),b(S(O),{title:S(X)(`ai.chat.clearConversation`),"aria-label":S(X)(`ai.chat.clearConversation`),variant:`ghost`,size:`icon`,onClick:ft},{default:g(()=>[b(S(pe),{class:`h-4 w-4`})]),_:1},8,[`title`,`aria-label`])]),b(S(ve),{class:`text-muted-foreground text-sm`},{default:g(()=>[i(s(S(X)(`ai.chat.description`)),1)]),_:1})]),_:1}),S(R)?x(``,!0):(c(),u(`div`,Pe,[S(Xe).commands.length?(c(!0),u(h,{key:0},d(S(Xe).commands,e=>(c(),f(S(O),{key:e.id,variant:`secondary`,size:`sm`,class:`text-xs`,onClick:t=>nt(e)},{default:g(()=>[i(s(e.label),1)]),_:2},1032,[`onClick`]))),128)):(c(),u(`div`,Fe,s(S(X)(`ai.chat.noQuickCommands`)),1)),b(S(O),{variant:`ghost`,size:`sm`,title:S(X)(`ai.chat.manageCommands`),"aria-label":S(X)(`ai.chat.manageCommands`),onClick:t[2]||=e=>W.value=!0},{default:g(()=>[b(S(de),{class:`h-4 w-4`})]),_:1},8,[`title`,`aria-label`]),b(n,{open:S(W),"onUpdate:open":t[3]||=e=>p(W)?W.value=e:null},null,8,[`open`])])),S(R)?(c(),f(r,{key:1,class:`mb-4 w-full border rounded-md p-4`,onSaved:st})):x(``,!0),S(R)?x(``,!0):(c(),u(`div`,Ie,[(c(!0),u(h,null,d(S(Y),(e,t)=>(c(),u(`div`,{key:e.id||t,class:a([`flex flex-col`,e.role===`user`?`items-end`:`items-start`])},[C(`div`,{class:a([`ring-border/20 max-w-[75%] rounded-2xl px-4 py-2 text-sm leading-relaxed shadow-xs ring-1`,e.role===`user`?`bg-black text-white dark:bg-primary dark:text-primary-foreground`:`bg-gray-100 text-gray-800 dark:bg-muted/60 dark:text-muted-foreground`])},[e.reasoning?(c(),u(`div`,Le,s(e.reasoning),1)):x(``,!0),C(`div`,{class:a([`whitespace-pre-wrap`,e.content?``:`animate-pulse text-muted-foreground`])},s(e.content||(e.role===`assistant`&&!e.done?S(X)(`ai.chat.thinking`):``)),3)],2),C(`div`,Re,[t>0&&(e.role!==`assistant`||t!==S(Y).length-1||e.done)?(c(),f(S(O),{key:0,variant:`ghost`,size:`icon`,class:`h-5 w-5 p-1`,title:S(X)(`ai.chat.copyContent`),"aria-label":S(X)(`ai.chat.copyContent`),onClick:n=>ut(e.content,t)},{default:g(()=>[S(V)===t?(c(),f(S(E),{key:0,class:`h-3 w-3 text-green-600`})):(c(),f(S(D),{key:1,class:`text-muted-foreground h-3 w-3`}))]),_:2},1032,[`title`,`aria-label`,`onClick`])):x(``,!0),e.role===`assistant`&&(e.done||t<S(Y).length-1)&&t>0?(c(),f(S(O),{key:1,variant:`ghost`,size:`icon`,class:`h-5 w-5 p-1`,title:S(X)(`ai.chat.insertDoc`),"aria-label":S(X)(`ai.chat.insertDoc`),onClick:n=>dt(e.content,t)},{default:g(()=>[S(H)===t?(c(),f(S(E),{key:0,class:`h-3 w-3 text-green-600`})):(c(),f(S(Oe),{key:1,class:`text-muted-foreground h-3 w-3`}))]),_:2},1032,[`title`,`aria-label`,`onClick`])):x(``,!0),e.role===`assistant`&&e.done&&t===S(Y).length-1?(c(),f(S(O),{key:2,variant:`ghost`,size:`icon`,class:`h-5 w-5 p-1`,title:S(X)(`ai.chat.regenerate`),"aria-label":S(X)(`ai.chat.regenerate`),onClick:ht},{default:g(()=>[b(S(ce),{class:`text-muted-foreground h-3 w-3`})]),_:1},8,[`title`,`aria-label`])):x(``,!0)])],2))),128))])),S(R)?x(``,!0):(c(),u(`div`,ze,[C(`div`,Be,[b(S(M),{ref_key:`chatInputRef`,ref:Ze,modelValue:S(F),"onUpdate:modelValue":t[4]||=e=>p(F)?F.value=e:null,placeholder:S(X)(`ai.chat.inputPlaceholder`),rows:`2`,class:`custom-scroll min-h-16 w-full resize-none border-none bg-transparent p-0 focus-visible:outline-hidden focus:outline-hidden focus-visible:ring-0 focus:ring-0 focus-visible:ring-offset-0 focus:ring-offset-0 focus-visible:ring-transparent focus:ring-transparent`,onKeydown:lt},null,8,[`modelValue`,`placeholder`]),b(S(O),{size:`sm`,variant:`outline`,class:a([`h-8 flex items-center gap-1 rounded-md px-3 font-medium transition-colors duration-150`,[S(U)?`bg-primary text-white border-primary dark:bg-white dark:text-black dark:border-white`:`bg-background text-muted-foreground border-border hover:text-foreground hover:border-foreground dark:bg-muted dark:text-gray-400 dark:hover:text-white dark:hover:border-white/60`]]),"aria-label":S(X)(`ai.chat.quoteFullText`),onClick:mt},{default:g(()=>[(c(),f(v(S(U)?S(E):S(D)),{class:`h-4 w-4`})),C(`span`,Ve,s(S(X)(`ai.chat.quoteFullText`)),1)]),_:1},8,[`class`,`aria-label`]),b(S(O),{disabled:!S(F).trim()&&!S(z),size:`icon`,class:`absolute bottom-3 right-3 rounded-full disabled:opacity-40 bg-primary hover:bg-primary/90 text-primary-foreground`,"aria-label":S(z)?S(X)(`common.pause`):S(X)(`common.send`),onClick:t[5]||=e=>S(z)?pt():_t()},{default:g(()=>[S(z)?(c(),f(S(le),{key:0,class:`h-4 w-4`})):(c(),f(S(ke),{key:1,class:`h-4 w-4`}))]),_:1},8,[`disabled`,`aria-label`])])]))]),_:1})]),_:1},8,[`open`])}}}),[[`__scopeId`,`data-v-96c42179`]]);export{q as default};
|
|
1
|
+
import{t as e}from"./md-ui-Bt-aDIF5.js";import{f as t,h as n}from"./md-storage-BSAs4c5b.js";import{$ as r,C as i,Ct as a,E as o,Et as s,H as c,I as l,S as u,W as d,b as f,ct as p,f as m,m as h,nt as g,pt as _,q as v,r as y,w as b,x,xt as S,y as C,z as ee}from"./md-vendor_vue-BeOfKbk1.js";import{n as te}from"./md-vue-i18n-Cxvw1c3e.js";import{n as w}from"./md-lib-CvTniYNx.js";import{t as T}from"./md-createLucideIcon-BXdNAL-d.js";import{t as E}from"./md-check-lU7D5avq.js";import{t as D}from"./md-copy-FPkQvYMT.js";import{a as ne,i as re,r as ie}from"./md-useLocalizedAIServices-1SgW-zt5.js";import{t as ae}from"./md-folder-open-BeUSQQdX.js";import{t as oe}from"./md-image-DZKTZmYn.js";import{n as se,t as ce}from"./md-refresh-ccw-B0suwZhW.js";import{n as le,t as ue}from"./md-AIConfig-0A2NJlnO.js";import{t as de}from"./md-plus-ByJ8LvCm.js";import{t as fe}from"./md-settings-BQ0oxr26.js";import{t as pe}from"./md-trash-_QL9lZ9Z.js";import{n as O}from"./md-button-BSiUqWkb.js";import{i as me,n as he,r as ge,t as _e}from"./md-DialogTitle-DckujrLp.js";import{t as ve}from"./md-DialogDescription-I_Nb5r3l.js";import{n as k,r as A,t as j}from"./md-PopoverTrigger-BkrNONB4.js";import{n as ye,r as be,t as xe}from"./md-DropdownMenuTrigger-Dc5A4zvK.js";import{t as Se}from"./md-DropdownMenuItem-BwyJT-E2.js";import{n as Ce}from"./md-editor-CY6v2w8B.js";import{t as we}from"./md-aiConfig-DVPjNuSa.js";import{t as Te}from"./md-quickCommands-phfj1m8Y.js";import{t as Ee}from"./md-_plugin-vue_export-helper-BDNMzG2s.js";import{t as M}from"./md-Textarea-D5oizzXs.js";import{t as N}from"./md-Input-CXcSl6a3.js";import{t as De}from"./md-clipboard-D_fwX9Ex.js";var Oe=T({name:`file-plus-corner`,size:24,node:[[`path`,{d:`M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35`,key:`17jvcc`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M14 19h6`,key:`bvotb8`}],[`path`,{d:`M17 16v6`,key:`18yu1i`}]],aliases:[`file-plus-2`]}),ke=T({name:`send`,size:24,node:[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`,key:`1ffxy3`}],[`path`,{d:`m21.854 2.147-10.94 10.939`,key:`12cjpa`}]]}),P={class:`space-y-4 flex-1 overflow-y-auto pr-1`},F={class:`flex justify-end gap-2`},I={class:`flex items-center justify-between gap-2`},L={class:`flex min-w-0 items-center gap-2`},R={class:`break-all text-sm`},z={key:0,class:`bg-muted text-muted-foreground shrink-0 rounded px-1.5 py-0.5 text-[10px] leading-none`},B={key:0,class:`flex shrink-0 gap-1`},Ae={class:`flex flex-col gap-2`},V={class:`text-sm`},H={class:`flex justify-end gap-2`},U={key:0,class:`text-muted-foreground whitespace-pre-wrap break-all text-xs`},W={class:`space-y-2 mt-4 border rounded-md p-3`},je=o({__name:`QuickCommandManager`,props:{open:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let n=e,a=t,o=_(n.open),l=_(null);r(()=>n.open,e=>o.value=e),r(o,e=>{a(`update:open`,e),e||(l.value=null)});let p=Te(),{t:m}=te(),v=_(``),y=_(``);function ee(){v.value.trim()&&y.value.trim()&&(p.add(v.value.trim(),y.value.trim()),v.value=``,y.value=``)}let w=_(null),T=_(``),E=_(``);function D(e){e.builtin||(l.value=null,w.value=e.id,T.value=e.label,E.value=e.template)}function ne(){w.value=null}function re(){T.value.trim()&&E.value.trim()&&(p.update(w.value,T.value.trim(),E.value.trim()),w.value=null)}return(e,t)=>(c(),f(S(me),{open:o.value,"onUpdate:open":t[6]||=e=>o.value=e},{default:g(()=>[b(S(ge),{class:`max-h-[90vh] w-[92vw] flex flex-col sm:max-w-lg`},{default:g(()=>[b(S(he),null,{default:g(()=>[b(S(_e),null,{default:g(()=>[i(s(S(m)(`ai.quickCommand.title`)),1)]),_:1})]),_:1}),C(`div`,P,[(c(!0),u(h,null,d(S(p).commands,e=>(c(),u(`div`,{key:e.id,class:`flex flex-col gap-2 border rounded-md p-3`},[!e.builtin&&w.value===e.id?(c(),u(h,{key:0},[b(S(N),{modelValue:T.value,"onUpdate:modelValue":t[0]||=e=>T.value=e,placeholder:S(m)(`ai.quickCommand.namePlaceholder`)},null,8,[`modelValue`,`placeholder`]),b(S(M),{modelValue:E.value,"onUpdate:modelValue":t[1]||=e=>E.value=e,rows:`2`,placeholder:S(m)(`ai.quickCommand.templatePlaceholder`)},null,8,[`modelValue`,`placeholder`]),C(`div`,F,[b(S(O),{size:`xs`,onClick:re},{default:g(()=>[i(s(S(m)(`common.save`)),1)]),_:1}),b(S(O),{variant:`ghost`,size:`xs`,onClick:ne},{default:g(()=>[i(s(S(m)(`common.cancel`)),1)]),_:1})])],64)):(c(),u(h,{key:1},[C(`div`,I,[C(`div`,L,[C(`span`,R,s(e.label),1),e.builtin?(c(),u(`span`,z,s(S(m)(`ai.quickCommand.builtin`)),1)):x(``,!0)]),e.builtin?x(``,!0):(c(),u(`div`,B,[b(S(O),{variant:`ghost`,size:`xs`,onClick:t=>D(e)},{default:g(()=>[i(s(S(m)(`common.edit`)),1)]),_:1},8,[`onClick`]),b(S(A),{open:l.value===e.id,"onUpdate:open":t[3]||=e=>{e||(l.value=null)}},{default:g(()=>[b(S(j),{"as-child":``},{default:g(()=>[b(S(O),{variant:`outline`,size:`xs`,onClick:t=>l.value=e.id},{default:g(()=>[i(s(S(m)(`common.delete`)),1)]),_:1},8,[`onClick`])]),_:2},1024),b(S(k),{class:`w-auto p-3`},{default:g(()=>[C(`div`,Ae,[C(`p`,V,s(S(m)(`confirm.deleteItem`,{name:e.label})),1),C(`div`,H,[b(S(O),{size:`xs`,variant:`outline`,onClick:t[2]||=e=>l.value=null},{default:g(()=>[i(s(S(m)(`common.cancel`)),1)]),_:1}),b(S(O),{size:`xs`,onClick:t=>{S(p).remove(e.id),l.value=null}},{default:g(()=>[i(s(S(m)(`common.confirm`)),1)]),_:1},8,[`onClick`])])])]),_:2},1024)]),_:2},1032,[`open`])]))]),e.builtin?(c(),u(`p`,U,s(e.template),1)):x(``,!0)],64))]))),128))]),C(`div`,W,[b(S(N),{modelValue:v.value,"onUpdate:modelValue":t[4]||=e=>v.value=e,placeholder:S(m)(`ai.quickCommand.nameExamplePlaceholder`)},null,8,[`modelValue`,`placeholder`]),b(S(M),{modelValue:y.value,"onUpdate:modelValue":t[5]||=e=>y.value=e,rows:`2`,placeholder:S(m)(`ai.quickCommand.templateExamplePlaceholder`)},null,8,[`modelValue`,`placeholder`]),b(S(O),{class:`w-full`,onClick:ee},{default:g(()=>[i(s(S(m)(`common.add`)),1)]),_:1})])]),_:1})]),_:1},8,[`open`]))}}),Me={class:`space-x-1 flex items-center`},Ne={class:`flex-1 truncate`},Pe={key:0,class:`mb-3 flex flex-wrap gap-2 overflow-x-auto pb-1`},Fe={key:1,class:`text-muted-foreground flex items-center gap-2 border rounded-md border-dashed px-3 py-1 text-xs`},Ie={key:2,class:`custom-scroll space-y-3 chat-container mb-4 flex-1 overflow-y-auto pr-2`},Le={key:0,class:`text-muted-foreground mb-1 italic`},Re={class:`mt-1 flex gap-1`},ze={key:3,class:`relative mt-2`},Be={class:`bg-background border-border flex flex-col items-baseline gap-2 border rounded-xl px-3 py-2 pr-12 shadow-inner`},Ve={class:`text-xs`},He=1500,G=`ai_memory_context`,K=`ai_conversation_list`,q=Ee(o({__name:`AIAssistantPanel`,props:{open:{type:Boolean}},emits:[`update:open`],setup(o,{emit:T}){let k=o,A=T,j=Ce(),{editor:Ee}=y(j),{toggleAIImageDialog:N}=e(),P=_(k.open);r(()=>k.open,e=>P.value=e),r(P,e=>{A(`update:open`,e),e&&$(!0)});let F=_(``),I=_([]),L=_(null),R=_(!1),{loading:z,abort:B,fetchSSE:Ae}=ne(),V=_(null),H=_(null),U=_(!1),W=_(!1),q=_(null),J=_([]),Y=_([]),Ue=we(),{apiKey:We,endpoint:Ge,model:Ke,temperature:qe,maxToken:Je,type:Ye}=y(Ue),Xe=Te(),{t:X}=te(),Ze=_(null);function Qe(){let e=Ze.value?.$el;return e instanceof HTMLTextAreaElement?e:null}function $e(){Qe()?.focus()}function et(e){e.preventDefault(),l($e)}function tt(){return j.getSelection()}function nt(e){let t=tt();F.value=e.buildPrompt(t),L.value=null,l(()=>{let e=Qe();e?.focus(),e&&e.setSelectionRange(e.value.length,e.value.length)})}ee(async()=>{J.value=await t.getJSON(K,[]);let e=await t.getJSON(G,[]);Y.value=e.length>0?e.map(e=>({...e,id:e.id||n()})):Z(),await $(!0)});function Z(){return[{role:`assistant`,content:X(`ai.chat.greeting`),id:n()}]}function rt(){let e=Y.value.find(e=>e.role===`user`);if(!e)return X(`ai.chat.conversationTitle`,{date:new Date().toLocaleString()});let t=e.content.trim();return t.length>20&&(t=`${t.substring(0,20)}...`),t}async function Q(){if(!(Y.value.length<=1)){if(q.value){let e=J.value.find(e=>e.id===q.value);e&&(e.timestamp=Date.now(),await t.setJSON(K,J.value))}else{q.value=n();let e={id:q.value,name:rt(),timestamp:Date.now()};J.value.unshift(e),await t.setJSON(K,J.value)}await t.setJSON(`ai_conversation_${q.value}`,Y.value)}}async function it(){await Q(),q.value=null,Y.value=Z(),await t.setJSON(G,Y.value),await $(!0),w.success(X(`ai.chat.sessionCreated`))}async function at(e){await Q();let r=await t.getJSON(`ai_conversation_${e}`,[]);r.length>0&&(Y.value=r.map(e=>({...e,id:e.id||n()})),q.value=e,await t.setJSON(G,Y.value),await $(!0),w.success(X(`ai.chat.conversationLoaded`)))}async function ot(e){J.value=J.value.filter(t=>t.id!==e),await t.setJSON(K,J.value),await t.remove(`ai_conversation_${e}`),q.value===e&&(q.value=null,Y.value=Z(),await t.setJSON(G,Y.value)),w.success(X(`ai.chat.conversationDeleted`))}function st(){R.value=!1,$(!0)}function ct(){A(`update:open`,!1),setTimeout(()=>{N(!0)},100)}function lt(e){if(!(e.isComposing||e.keyCode===229)){if(e.key===`Enter`&&!e.shiftKey)e.preventDefault(),_t();else if(e.key===`ArrowUp`){if(e.preventDefault(),I.value.length===0)return;L.value===null?L.value=I.value.length-1:L.value>0&&L.value--,F.value=I.value[L.value]||``}else if(e.key===`ArrowDown`){if(e.preventDefault(),L.value===null)return;L.value<I.value.length-1?(L.value++,F.value=I.value[L.value]||``):(L.value=null,F.value=``)}}}async function ut(e,t){De(e),V.value=t,setTimeout(()=>V.value=null,He)}function dt(e,t){j.insertAtCursor(e),H.value=t,setTimeout(()=>H.value=null,He),w.success(X(`ai.chat.insertedToDoc`))}async function ft(){B(),q.value&&=(J.value=J.value.filter(e=>e.id!==q.value),await t.setJSON(K,J.value),await t.remove(`ai_conversation_${q.value}`),null),Y.value=Z(),await t.setJSON(G,Y.value),$(!0),w.success(X(`ai.chat.sessionCleared`))}function pt(){B();let e=Y.value[Y.value.length-1];e?.role===`assistant`&&(e.done=!0),$(!0)}async function $(e=!1){await l();let t=document.querySelector(`.chat-container`);if(t){let n=t.scrollTop+t.clientHeight>=t.scrollHeight-50;(e||n)&&(t.scrollTop=t.scrollHeight,await new Promise(e=>setTimeout(e,50)))}}function mt(){U.value=!U.value}async function ht(){if(z.value)return;let e=Y.value.length-1;if(e<0||Y.value[e].role!==`assistant`)return;Y.value.splice(e,1),z.value=!0,Y.value.push({role:`assistant`,content:``,reasoning:``,done:!1});let t=Y.value[Y.value.length-1];await $(!0),await gt(t)}async function gt(e){let n=Y.value.slice(-12).filter((e,t,n)=>!(t===n.length-1&&e.role===`assistant`&&!e.done)&&(t!==0||e.role!==`assistant`)),r;if(U.value){let e=[];for(let t=n.length-1;t>=0&&e.length<2;t--){let r=n[t];(e.length===0||r.role===`user`||r.role===`assistant`)&&e.unshift(r)}r=e}else r=n.slice(-10);let i=U.value?[{role:`system`,content:X(`ai.chat.systemQuote`,{content:Ee.value?.state.doc.toString()??``})}]:[],a=[{role:`system`,content:X(`ai.chat.systemPrompt`)},...i,...r],o={model:Ke.value,messages:a,temperature:qe.value,max_tokens:Je.value,stream:!0},s=ie(We.value,Ye.value),c=re(Ge.value,`chat`);try{await Ae(c,s,o,{onDelta(t){let n=Y.value[Y.value.length-1];n===e&&(n.content+=t,$())},onReasoningDelta(t){let n=Y.value[Y.value.length-1];n===e&&(n.reasoning=(n.reasoning||``)+t,$())},onDone(){let e=Y.value[Y.value.length-1];e.role===`assistant`&&(e.done=!0,$(!0))}})}catch(e){Y.value[Y.value.length-1].content=X(`ai.chat.requestFailed`,{message:e.message}),await $(!0)}finally{await t.setJSON(G,Y.value),await Q()}}async function _t(){if(!F.value.trim()||z.value)return;I.value.push(F.value.trim()),L.value=null,z.value=!0;let e=F.value.trim();Y.value.push({role:`user`,content:e}),F.value=``,Y.value.push({role:`assistant`,content:``,reasoning:``,done:!1});let t=Y.value[Y.value.length-1];await $(!0),await gt(t)}return(e,t)=>{let n=je,r=ue;return c(),f(S(me),{open:S(P),"onUpdate:open":t[6]||=e=>p(P)?P.value=e:null},{default:g(()=>[b(S(ge),{class:`bg-card text-card-foreground h-dvh max-h-dvh w-full flex flex-col rounded-none shadow-xl sm:max-h-[80vh] sm:max-w-2xl sm:rounded-xl`,onOpenAutoFocus:et},{default:g(()=>[b(S(he),{class:`space-y-1 flex flex-col items-start`},{default:g(()=>[C(`div`,Me,[b(S(_e),null,{default:g(()=>[i(s(S(X)(`ai.chat.title`)),1)]),_:1}),b(S(O),{title:S(R)?S(X)(`ai.chat.title`):S(X)(`ai.chat.configParams`),"aria-label":S(R)?S(X)(`ai.chat.title`):S(X)(`ai.chat.configParams`),variant:`ghost`,size:`icon`,onClick:t[0]||=e=>R.value=!S(R)},{default:g(()=>[S(R)?(c(),f(S(se),{key:0,class:`h-4 w-4`})):(c(),f(S(fe),{key:1,class:`h-4 w-4`}))]),_:1},8,[`title`,`aria-label`]),b(S(O),{title:S(X)(`ai.chat.imageGen`),"aria-label":S(X)(`ai.chat.imageGen`),variant:`ghost`,size:`icon`,onClick:t[1]||=e=>ct()},{default:g(()=>[b(S(oe),{class:`h-4 w-4`})]),_:1},8,[`title`,`aria-label`]),b(S(O),{title:S(X)(`ai.chat.newSession`),"aria-label":S(X)(`ai.chat.newSession`),variant:`ghost`,size:`icon`,onClick:it},{default:g(()=>[b(S(de),{class:`h-4 w-4`})]),_:1},8,[`title`,`aria-label`]),b(S(be),null,{default:g(()=>[b(S(xe),{"as-child":``},{default:g(()=>[b(S(O),{title:S(X)(`ai.chat.loadConversation`),"aria-label":S(X)(`ai.chat.loadConversation`),variant:`ghost`,size:`icon`},{default:g(()=>[b(S(ae),{class:`h-4 w-4`})]),_:1},8,[`title`,`aria-label`])]),_:1}),b(S(ye),{align:`end`,class:`max-h-64 overflow-y-auto w-64 z-[9999]`},{default:g(()=>[S(J).length===0?(c(),f(S(Se),{key:0,disabled:``,class:`text-muted-foreground text-sm`},{default:g(()=>[i(s(S(X)(`ai.chat.noSavedConversations`)),1)]),_:1})):x(``,!0),(c(!0),u(h,null,d(S(J),e=>(c(),f(S(Se),{key:e.id,class:`flex items-center justify-between gap-2 cursor-pointer`,onClick:t=>at(e.id)},{default:g(()=>[C(`span`,Ne,s(e.name),1),b(S(O),{variant:`ghost`,size:`icon`,class:`h-6 w-6 flex-shrink-0`,"aria-label":S(X)(`common.delete`),title:S(X)(`common.delete`),onClick:m(t=>ot(e.id),[`stop`])},{default:g(()=>[b(S(pe),{class:`h-3 w-3`})]),_:1},8,[`aria-label`,`title`,`onClick`])]),_:2},1032,[`onClick`]))),128))]),_:1})]),_:1}),b(S(O),{title:S(X)(`ai.chat.clearConversation`),"aria-label":S(X)(`ai.chat.clearConversation`),variant:`ghost`,size:`icon`,onClick:ft},{default:g(()=>[b(S(pe),{class:`h-4 w-4`})]),_:1},8,[`title`,`aria-label`])]),b(S(ve),{class:`text-muted-foreground text-sm`},{default:g(()=>[i(s(S(X)(`ai.chat.description`)),1)]),_:1})]),_:1}),S(R)?x(``,!0):(c(),u(`div`,Pe,[S(Xe).commands.length?(c(!0),u(h,{key:0},d(S(Xe).commands,e=>(c(),f(S(O),{key:e.id,variant:`secondary`,size:`sm`,class:`text-xs`,onClick:t=>nt(e)},{default:g(()=>[i(s(e.label),1)]),_:2},1032,[`onClick`]))),128)):(c(),u(`div`,Fe,s(S(X)(`ai.chat.noQuickCommands`)),1)),b(S(O),{variant:`ghost`,size:`sm`,title:S(X)(`ai.chat.manageCommands`),"aria-label":S(X)(`ai.chat.manageCommands`),onClick:t[2]||=e=>W.value=!0},{default:g(()=>[b(S(de),{class:`h-4 w-4`})]),_:1},8,[`title`,`aria-label`]),b(n,{open:S(W),"onUpdate:open":t[3]||=e=>p(W)?W.value=e:null},null,8,[`open`])])),S(R)?(c(),f(r,{key:1,class:`mb-4 w-full border rounded-md p-4`,onSaved:st})):x(``,!0),S(R)?x(``,!0):(c(),u(`div`,Ie,[(c(!0),u(h,null,d(S(Y),(e,t)=>(c(),u(`div`,{key:e.id||t,class:a([`flex flex-col`,e.role===`user`?`items-end`:`items-start`])},[C(`div`,{class:a([`ring-border/20 max-w-[75%] rounded-2xl px-4 py-2 text-sm leading-relaxed shadow-xs ring-1`,e.role===`user`?`bg-black text-white dark:bg-primary dark:text-primary-foreground`:`bg-gray-100 text-gray-800 dark:bg-muted/60 dark:text-muted-foreground`])},[e.reasoning?(c(),u(`div`,Le,s(e.reasoning),1)):x(``,!0),C(`div`,{class:a([`whitespace-pre-wrap`,e.content?``:`animate-pulse text-muted-foreground`])},s(e.content||(e.role===`assistant`&&!e.done?S(X)(`ai.chat.thinking`):``)),3)],2),C(`div`,Re,[t>0&&(e.role!==`assistant`||t!==S(Y).length-1||e.done)?(c(),f(S(O),{key:0,variant:`ghost`,size:`icon`,class:`h-5 w-5 p-1`,title:S(X)(`ai.chat.copyContent`),"aria-label":S(X)(`ai.chat.copyContent`),onClick:n=>ut(e.content,t)},{default:g(()=>[S(V)===t?(c(),f(S(E),{key:0,class:`h-3 w-3 text-green-600`})):(c(),f(S(D),{key:1,class:`text-muted-foreground h-3 w-3`}))]),_:2},1032,[`title`,`aria-label`,`onClick`])):x(``,!0),e.role===`assistant`&&(e.done||t<S(Y).length-1)&&t>0?(c(),f(S(O),{key:1,variant:`ghost`,size:`icon`,class:`h-5 w-5 p-1`,title:S(X)(`ai.chat.insertDoc`),"aria-label":S(X)(`ai.chat.insertDoc`),onClick:n=>dt(e.content,t)},{default:g(()=>[S(H)===t?(c(),f(S(E),{key:0,class:`h-3 w-3 text-green-600`})):(c(),f(S(Oe),{key:1,class:`text-muted-foreground h-3 w-3`}))]),_:2},1032,[`title`,`aria-label`,`onClick`])):x(``,!0),e.role===`assistant`&&e.done&&t===S(Y).length-1?(c(),f(S(O),{key:2,variant:`ghost`,size:`icon`,class:`h-5 w-5 p-1`,title:S(X)(`ai.chat.regenerate`),"aria-label":S(X)(`ai.chat.regenerate`),onClick:ht},{default:g(()=>[b(S(ce),{class:`text-muted-foreground h-3 w-3`})]),_:1},8,[`title`,`aria-label`])):x(``,!0)])],2))),128))])),S(R)?x(``,!0):(c(),u(`div`,ze,[C(`div`,Be,[b(S(M),{ref_key:`chatInputRef`,ref:Ze,modelValue:S(F),"onUpdate:modelValue":t[4]||=e=>p(F)?F.value=e:null,placeholder:S(X)(`ai.chat.inputPlaceholder`),rows:`2`,class:`custom-scroll min-h-16 w-full resize-none border-none bg-transparent p-0 focus-visible:outline-hidden focus:outline-hidden focus-visible:ring-0 focus:ring-0 focus-visible:ring-offset-0 focus:ring-offset-0 focus-visible:ring-transparent focus:ring-transparent`,onKeydown:lt},null,8,[`modelValue`,`placeholder`]),b(S(O),{size:`sm`,variant:`outline`,class:a([`h-8 flex items-center gap-1 rounded-md px-3 font-medium transition-colors duration-150`,[S(U)?`bg-primary text-white border-primary dark:bg-white dark:text-black dark:border-white`:`bg-background text-muted-foreground border-border hover:text-foreground hover:border-foreground dark:bg-muted dark:text-gray-400 dark:hover:text-white dark:hover:border-white/60`]]),"aria-label":S(X)(`ai.chat.quoteFullText`),onClick:mt},{default:g(()=>[(c(),f(v(S(U)?S(E):S(D)),{class:`h-4 w-4`})),C(`span`,Ve,s(S(X)(`ai.chat.quoteFullText`)),1)]),_:1},8,[`class`,`aria-label`]),b(S(O),{disabled:!S(F).trim()&&!S(z),size:`icon`,class:`absolute bottom-3 right-3 rounded-full disabled:opacity-40 bg-primary hover:bg-primary/90 text-primary-foreground`,"aria-label":S(z)?S(X)(`common.pause`):S(X)(`common.send`),onClick:t[5]||=e=>S(z)?pt():_t()},{default:g(()=>[S(z)?(c(),f(S(le),{key:0,class:`h-4 w-4`})):(c(),f(S(ke),{key:1,class:`h-4 w-4`}))]),_:1},8,[`disabled`,`aria-label`])])]))]),_:1})]),_:1},8,[`open`])}}}),[[`__scopeId`,`data-v-96c42179`]]);export{q as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./md-ai-service-options-BnJLTh-y.js";import{$ as t,C as n,E as r,Et as i,H as a,S as o,W as s,b as c,ct as l,m as u,nt as d,pt as f,r as p,v as m,w as h,x as g,xt as _,y as v}from"./md-vendor_vue-BeOfKbk1.js";import{n as y}from"./md-vue-i18n-Cxvw1c3e.js";import{t as b}from"./md-createLucideIcon-BXdNAL-d.js";import{a as x,i as S,n as C,o as w,r as T,s as E,t as D}from"./md-useLocalizedAIServices-
|
|
1
|
+
import{a as e}from"./md-ai-service-options-BnJLTh-y.js";import{$ as t,C as n,E as r,Et as i,H as a,S as o,W as s,b as c,ct as l,m as u,nt as d,pt as f,r as p,v as m,w as h,x as g,xt as _,y as v}from"./md-vendor_vue-BeOfKbk1.js";import{n as y}from"./md-vue-i18n-Cxvw1c3e.js";import{t as b}from"./md-createLucideIcon-BXdNAL-d.js";import{a as x,i as S,n as C,o as w,r as T,s as E,t as D}from"./md-useLocalizedAIServices-1SgW-zt5.js";import{t as O}from"./md-info-DloVl59m.js";import{n as k}from"./md-button-BSiUqWkb.js";import{i as ee,n as te,r as ne,t as re}from"./md-TooltipTrigger-Bddfw7hJ.js";import{t as ie}from"./md-Label-BEXxOepa.js";import{a as ae,i as oe,n as se,r as ce,t as A}from"./md-SelectContent-BTj2mBZa.js";import{t as j}from"./md-aiConfig-DVPjNuSa.js";import{t as M}from"./md-_plugin-vue_export-helper-BDNMzG2s.js";import{t as N}from"./md-Input-CXcSl6a3.js";var P=b({name:`pause`,size:24,node:[[`rect`,{x:`14`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`kaeet6`}],[`rect`,{x:`5`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`1wsw3u`}]]}),F={class:`custom-scroll space-y-4 max-h-[calc(100dvh-10rem)] overflow-y-auto text-xs sm:max-h-none sm:text-sm`},I={class:`font-medium`},L={key:0},R={key:1},z={class:`mt-2 flex flex-col gap-2 sm:flex-row`},B={key:2,class:`mt-1 text-xs text-gray-500`},V=M(r({__name:`AIConfig`,emits:[`saved`],setup(r,{emit:b}){let M=b,P=j(),{type:V,endpoint:H,model:U,apiKey:W,temperature:G,maxToken:K}=p(P),{t:q}=y(),{loading:J,fetchJSON:le}=x(),Y=f(``),{discoveredModels:ue,discovering:de,canDiscover:fe,discover:X,resetDiscovered:pe}=C({endpoint:H,apiKey:W,serviceType:V,kind:`chat`}),Z=D(),Q=m(()=>Z.value.serviceOptions.find(e=>e.value===V.value)||Z.value.serviceOptions[0]);t(V,()=>{Y.value=``}),t(U,()=>{Y.value=``});function $(e=!0){e&&(Y.value=q(`ai.config.saved`),M(`saved`))}function me(){pe(),P.reset(),Y.value=q(`ai.config.cleared`)}async function he(){Y.value=``,J.value=!0;let e=T(W.value,V.value);try{let t=S(H.value,`chat`),n={model:U.value,messages:[{role:`user`,content:`ping`}],temperature:0,max_tokens:1,stream:!1},r=await le(t,e,n);if(r.ok)Y.value=q(`ai.config.testSuccess`),$(!1);else{try{let{error:e}=JSON.parse(r.errorText);if(r.status===404&&(e?.code===`ModelNotOpen`||/not activated|未开通/i.test(e?.message))){Y.value=q(`ai.config.modelNotActivated`,{model:U.value}),$(!1);return}}catch{}Y.value=q(`ai.config.testFailed`,{status:r.status,statusText:r.statusText,errorText:r.errorText})}}catch(e){Y.value=q(`ai.config.testFailedMessage`,{message:e.message})}finally{J.value=!1}}async function ge(){Y.value=``;let e=await X();e&&(Y.value=e)}return(t,r)=>{let f=ie,p=se,m=ce,y=oe,b=A,x=ae,S=N,C=re,T=ne,D=ee,j=te,M=k;return a(),o(`div`,F,[v(`div`,I,i(_(q)(`ai.config.title`)),1),v(`div`,null,[h(f,{class:`mb-1 block text-sm font-medium`},{default:d(()=>[n(i(_(q)(`ai.config.serviceType`)),1)]),_:1}),h(x,{modelValue:_(V),"onUpdate:modelValue":r[0]||=e=>l(V)?V.value=e:null},{default:d(()=>[h(m,{class:`w-full`},{default:d(()=>[h(p,null,{default:d(()=>[n(i(_(Q).label),1)]),_:1})]),_:1}),h(b,null,{default:d(()=>[(a(!0),o(u,null,s(_(Z).serviceOptions,e=>(a(),c(y,{key:e.value,value:e.value},{default:d(()=>[n(i(e.label),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`])]),_(V)===_(e)?g(``,!0):(a(),o(`div`,L,[h(f,{class:`mb-1 block text-sm font-medium`},{default:d(()=>[n(i(_(q)(`ai.config.apiEndpoint`)),1)]),_:1}),h(S,{modelValue:_(H),"onUpdate:modelValue":r[1]||=e=>l(H)?H.value=e:null,placeholder:_(q)(`ai.config.apiEndpointPlaceholder`),class:`focus:border-gray-400 focus:ring-1 focus:ring-gray-300`},null,8,[`modelValue`,`placeholder`])])),_(V)===_(e)?g(``,!0):(a(),o(`div`,R,[h(f,{class:`mb-1 block text-sm font-medium`},{default:d(()=>[n(i(_(q)(`ai.config.apiKey`)),1)]),_:1}),h(_(w),{modelValue:_(W),"onUpdate:modelValue":r[2]||=e=>l(W)?W.value=e:null,placeholder:_(q)(`ai.config.apiKeyPlaceholder`),class:`focus:border-gray-400 focus:ring-1 focus:ring-gray-300`},null,8,[`modelValue`,`placeholder`])])),v(`div`,null,[h(f,{class:`mb-1 block text-sm font-medium`},{default:d(()=>[n(i(_(q)(`ai.config.modelName`)),1)]),_:1}),h(E,{modelValue:_(U),"onUpdate:modelValue":r[3]||=e=>l(U)?U.value=e:null,"preset-models":_(Q).models,"discovered-models":_(ue),placeholder:_(q)(`ai.config.modelPlaceholder`),"select-placeholder":_(q)(`ai.config.selectModel`),"discover-label":_(q)(`ai.config.discoverModels`),"discovering-label":_(q)(`ai.config.discoveringModels`),"need-config-label":_(q)(`ai.config.discoverModelsNeedConfig`),discovering:_(de),"can-discover":_(fe),"show-discover":_(V)!==_(e),onDiscover:ge},null,8,[`modelValue`,`preset-models`,`discovered-models`,`placeholder`,`select-placeholder`,`discover-label`,`discovering-label`,`need-config-label`,`discovering`,`can-discover`,`show-discover`])]),v(`div`,null,[h(f,{class:`mb-1 flex items-center gap-1 text-sm font-medium`},{default:d(()=>[n(i(_(q)(`ai.config.temperature`))+` `,1),h(j,null,{default:d(()=>[h(D,null,{default:d(()=>[h(C,{"as-child":``},{default:d(()=>[h(_(O),{class:`text-gray-500`,size:16})]),_:1}),h(T,{side:`top`,class:`z-[250]`},{default:d(()=>[v(`div`,null,i(_(q)(`ai.config.temperatureHint`)),1)]),_:1})]),_:1})]),_:1})]),_:1}),h(S,{modelValue:_(G),"onUpdate:modelValue":r[4]||=e=>l(G)?G.value=e:null,modelModifiers:{number:!0},type:`number`,step:`0.1`,min:`0`,max:`2`,placeholder:_(q)(`ai.config.temperaturePlaceholder`),class:`focus:border-gray-400 focus:ring-1 focus:ring-gray-300`},null,8,[`modelValue`,`placeholder`])]),v(`div`,null,[h(f,{class:`mb-1 block text-sm font-medium`},{default:d(()=>[n(i(_(q)(`ai.config.maxTokens`)),1)]),_:1}),h(S,{modelValue:_(K),"onUpdate:modelValue":r[5]||=e=>l(K)?K.value=e:null,modelModifiers:{number:!0},type:`number`,min:`1`,max:`32768`,placeholder:_(q)(`ai.config.maxTokensPlaceholder`),class:`focus:border-gray-400 focus:ring-1 focus:ring-gray-300`},null,8,[`modelValue`,`placeholder`])]),v(`div`,z,[h(M,{size:`sm`,onClick:$},{default:d(()=>[n(i(_(q)(`common.save`)),1)]),_:1}),h(M,{size:`sm`,variant:`ghost`,onClick:me},{default:d(()=>[n(i(_(q)(`common.clear`)),1)]),_:1}),h(M,{size:`sm`,variant:`outline`,disabled:_(J),onClick:he},{default:d(()=>[n(i(_(J)?_(q)(`common.testing`):_(q)(`common.testConnection`)),1)]),_:1},8,[`disabled`])]),_(Y)?(a(),o(`div`,B,i(_(Y)),1)):g(``,!0)])}}}),[[`__scopeId`,`data-v-bac80ef7`]]);export{P as n,V as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./md-ui-Dq6MTvr4.js";import{a as t,r as n,t as r}from"./md-ai-service-options-BnJLTh-y.js";import{f as i}from"./md-storage-TAchKcvc.js";import"./md-configs-l_iJ-wjP.js";import{$ as a,C as o,Ct as s,E as c,Et as l,H as u,I as d,R as f,S as p,W as m,b as h,ct as g,d as _,f as v,h as y,l as b,m as x,n as S,nt as C,pt as w,r as T,rt as E,v as D,w as O,x as k,xt as A,y as j,z as M}from"./md-vendor_vue-BeOfKbk1.js";import{n as ee}from"./md-vue-i18n-Cxvw1c3e.js";import{n as N}from"./md-lib-CvTniYNx.js";import{t as P}from"./md-copy-FPkQvYMT.js";import{t as te}from"./md-download-PHSmBRjD.js";import{a as F,i as ne,n as I,o as L,r as re,s as R,t as z}from"./md-useLocalizedAIServices-rhW4n8Ti.js";import{t as B}from"./md-image-DZKTZmYn.js";import{t as V}from"./md-info-DloVl59m.js";import{t as ie}from"./md-loader-circle-CMCAxmDe.js";import{n as ae,t as oe}from"./md-refresh-ccw-B0suwZhW.js";import{t as H}from"./md-settings-BQ0oxr26.js";import{t as U}from"./md-trash-_QL9lZ9Z.js";import{o as se}from"./md-utils-CfHWyiHX.js";import{n as W}from"./md-button-BSiUqWkb.js";import{a as ce,i as le,n as ue,r as de,t as fe}from"./md-DialogTitle-DckujrLp.js";import{t as pe}from"./md-DialogDescription-I_Nb5r3l.js";import{t as G}from"./md-Label-BEXxOepa.js";import{a as K,i as q,n as J,r as Y,t as X}from"./md-SelectContent-BTj2mBZa.js";import{n as me}from"./md-editor-CAilbZEo.js";import{t as he}from"./md-_plugin-vue_export-helper-BDNMzG2s.js";import{t as ge}from"./md-Textarea-D5oizzXs.js";import{t as _e}from"./md-clipboard-BYFl_-FZ.js";var ve=S(`AIImageConfig`,()=>{let e=i.reactive(`openai_image_type`,t),o=i.reactive(`openai_image_size`,`1024x1024`),s=i.reactive(`openai_image_quality`,`standard`),c=i.reactive(`openai_image_style`,`natural`),l=w(``);Promise.resolve().then(async()=>{let t=e.value;if(t===`custom`){let n=await i.get(`openai_image_endpoint_${t}`);e.value===t&&(l.value=n||``)}else{let n=r.find(e=>e.value===t)??r[0];e.value===t&&(l.value=n.endpoint)}});let u=w(``),d=w(n);return Promise.resolve().then(async()=>{let t=e.value,r=await i.get(`openai_image_key_${t}`);e.value===t&&(d.value=r||n)}),a(e,async e=>{let t=r.find(t=>t.value===e)??r[0];if(e===`custom`){let t=await i.get(`openai_image_endpoint_${e}`);l.value=t||``}else l.value=t.endpoint;let a=await i.get(`openai_image_model_${e}`)||``;u.value=a||t.models[0]||``,await i.set(`openai_image_model_${e}`,u.value);let o=await i.get(`openai_image_key_${e}`);d.value=o||n},{immediate:!0}),a(u,async t=>{await i.set(`openai_image_model_${e.value}`,t)}),a(d,async n=>{e.value!==t&&await i.set(`openai_image_key_${e.value}`,n)}),a(l,async t=>{e.value===`custom`&&await i.set(`openai_image_endpoint_${e.value}`,t)}),{type:e,endpoint:l,model:u,size:o,quality:s,style:c,apiKey:d,reset:async()=>{e.value=t,o.value=`1024x1024`,s.value=`standard`,c.value=`natural`,await Promise.all(r.map(async({value:e})=>{await i.remove(`openai_image_key_${e}`),await i.remove(`openai_image_model_${e}`),await i.remove(`openai_image_endpoint_${e}`)}))}}}),ye={class:`space-y-4 max-w-full`},be={class:`font-medium`},xe=[`placeholder`,`readonly`],Se={key:0},Ce={key:1},Z={key:2},we={key:3,class:`flex items-start gap-2 p-3 bg-blue-50 dark:bg-blue-950/30 rounded-md text-sm`},Te={class:`text-blue-700 dark:text-blue-300`},Ee={class:`font-medium`},De={key:4,class:`flex items-start gap-2 p-3 bg-orange-50 dark:bg-orange-950/30 rounded-md text-sm`},Oe={class:`text-orange-700 dark:text-orange-300`},ke={class:`font-medium`},Ae={class:`mt-1 text-xs`},je={class:`flex flex-wrap gap-2`},Me={key:5,class:`mt-1 text-xs text-gray-500`},Ne=c({__name:`AIImageConfig`,emits:[`saved`],setup(e,{emit:n}){let r=n,i=ve(),{type:s,endpoint:c,model:d,apiKey:f,size:_,quality:v,style:y}=T(i),{t:S}=ee(),{loading:M,fetchJSON:N}=F(),P=w(``),{discoveredModels:te,discovering:B,canDiscover:ie,discover:ae,resetDiscovered:oe}=I({endpoint:c,apiKey:f,serviceType:s,kind:`image`}),H=z(),U=D(()=>H.value.imageServiceOptions.find(e=>e.value===s.value)||H.value.imageServiceOptions[0]);a(s,()=>{P.value=``}),a(d,()=>{P.value=``}),a(c,()=>{P.value=``});function se(){if(!c.value.trim()||!d.value.trim())P.value=S(`ai.imageConfig.incompleteConfig`);else if(s.value!==t&&!f.value.trim())P.value=S(`ai.imageConfig.apiKeyRequired`);else{try{new URL(c.value)}catch{P.value=S(`ai.imageConfig.invalidEndpoint`);return}P.value=S(`ai.imageConfig.saved`),r(`saved`)}}function ce(){oe(),i.reset(),P.value=S(`ai.imageConfig.cleared`)}async function le(){P.value=``,M.value=!0;let e=re(f.value,s.value);try{let t=ne(c.value,`image`),n={model:d.value,prompt:`test connection`,size:_.value,quality:v.value,style:y.value,n:1},r=await N(t,e,n);r.ok?P.value=S(`ai.imageConfig.connectionSuccess`):P.value=S(`ai.imageConfig.connectionFailed`,{message:`${r.status} ${r.errorText}`})}catch(e){P.value=S(`ai.imageConfig.connectionFailed`,{message:e.message})}finally{M.value=!1}}async function ue(){P.value=``;let e=await ae();e&&(P.value=e)}let de=D(()=>[{label:S(`ai.imageConfig.sizeSquare`),value:`1024x1024`},{label:S(`ai.imageConfig.sizeLandscape`),value:`1792x1024`},{label:S(`ai.imageConfig.sizePortrait`),value:`1024x1792`}]),fe=D(()=>[{label:S(`ai.imageConfig.qualityStandard`),value:`standard`},{label:S(`ai.imageConfig.qualityHd`),value:`hd`}]),pe=D(()=>[{label:S(`ai.imageConfig.styleNatural`),value:`natural`},{label:S(`ai.imageConfig.styleVivid`),value:`vivid`}]);return(e,n)=>(u(),p(`div`,ye,[j(`div`,be,l(A(S)(`ai.imageConfig.title`)),1),j(`div`,null,[O(A(G),{class:`mb-1 block text-sm font-medium`},{default:C(()=>[o(l(A(S)(`ai.imageConfig.provider`)),1)]),_:1}),O(A(K),{modelValue:A(s),"onUpdate:modelValue":n[0]||=e=>g(s)?s.value=e:null},{default:C(()=>[O(A(Y),{class:`w-full`},{default:C(()=>[O(A(J),null,{default:C(()=>[o(l(A(U).label),1)]),_:1})]),_:1}),O(A(X),null,{default:C(()=>[(u(!0),p(x,null,m(A(H).imageServiceOptions,e=>(u(),h(A(q),{key:e.value,value:e.value},{default:C(()=>[o(l(e.label),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`])]),j(`div`,null,[O(A(G),{class:`mb-1 block text-sm font-medium`},{default:C(()=>[o(l(A(S)(`ai.imageConfig.apiEndpoint`)),1)]),_:1}),E(j(`input`,{"onUpdate:modelValue":n[1]||=e=>g(c)?c.value=e:null,type:`url`,class:`w-full mt-1 rounded-md border bg-background p-2 transition-colors focus:border-primary focus:ring-2 focus:ring-primary`,placeholder:A(S)(`ai.imageConfig.apiEndpointPlaceholder`),readonly:A(s)!==`custom`},null,8,xe),[[b,A(c)]])]),A(s)==="default"?k(``,!0):(u(),p(`div`,Se,[O(A(G),{class:`mb-1 block text-sm font-medium`},{default:C(()=>[o(l(A(S)(`ai.imageConfig.apiKey`)),1)]),_:1}),O(A(L),{modelValue:A(f),"onUpdate:modelValue":n[2]||=e=>g(f)?f.value=e:null,class:`w-full mt-1 focus:ring-2 focus:ring-primary focus:border-primary transition-colors`,placeholder:A(S)(`ai.imageConfig.apiKeyPlaceholder`)},null,8,[`modelValue`,`placeholder`])])),j(`div`,null,[O(A(G),{class:`mb-1 block text-sm font-medium`},{default:C(()=>[o(l(A(S)(`ai.imageConfig.model`)),1)]),_:1}),O(R,{modelValue:A(d),"onUpdate:modelValue":n[3]||=e=>g(d)?d.value=e:null,"preset-models":A(U).models,"discovered-models":A(te),placeholder:A(S)(`ai.imageConfig.modelPlaceholder`),"select-placeholder":A(S)(`ai.imageConfig.selectModel`),"discover-label":A(S)(`ai.imageConfig.discoverModels`),"discovering-label":A(S)(`ai.imageConfig.discoveringModels`),"need-config-label":A(S)(`ai.imageConfig.discoverModelsNeedConfig`),discovering:A(B),"can-discover":A(ie),"show-discover":A(s)!==A(t),onDiscover:ue},null,8,[`modelValue`,`preset-models`,`discovered-models`,`placeholder`,`select-placeholder`,`discover-label`,`discovering-label`,`need-config-label`,`discovering`,`can-discover`,`show-discover`])]),j(`div`,null,[O(A(G),{class:`mb-1 block text-sm font-medium`},{default:C(()=>[o(l(A(S)(`ai.imageConfig.imageSize`)),1)]),_:1}),O(A(K),{modelValue:A(_),"onUpdate:modelValue":n[4]||=e=>g(_)?_.value=e:null},{default:C(()=>[O(A(Y),{class:`w-full`},{default:C(()=>[O(A(J),null,{default:C(()=>[o(l(A(de).find(e=>e.value===A(_))?.label||A(_)),1)]),_:1})]),_:1}),O(A(X),null,{default:C(()=>[(u(!0),p(x,null,m(A(de),e=>(u(),h(A(q),{key:e.value,value:e.value},{default:C(()=>[o(l(e.label),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`])]),A(d).includes(`dall-e`)?(u(),p(`div`,Ce,[O(A(G),{class:`mb-1 block text-sm font-medium`},{default:C(()=>[o(l(A(S)(`ai.imageConfig.imageQuality`)),1)]),_:1}),O(A(K),{modelValue:A(v),"onUpdate:modelValue":n[5]||=e=>g(v)?v.value=e:null},{default:C(()=>[O(A(Y),{class:`w-full`},{default:C(()=>[O(A(J),null,{default:C(()=>[o(l(A(fe).find(e=>e.value===A(v))?.label||A(v)),1)]),_:1})]),_:1}),O(A(X),null,{default:C(()=>[(u(!0),p(x,null,m(A(fe),e=>(u(),h(A(q),{key:e.value,value:e.value},{default:C(()=>[o(l(e.label),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`])])):k(``,!0),A(d).includes(`dall-e`)?(u(),p(`div`,Z,[O(A(G),{class:`mb-1 block text-sm font-medium`},{default:C(()=>[o(l(A(S)(`ai.imageConfig.imageStyle`)),1)]),_:1}),O(A(K),{modelValue:A(y),"onUpdate:modelValue":n[6]||=e=>g(y)?y.value=e:null},{default:C(()=>[O(A(Y),{class:`w-full`},{default:C(()=>[O(A(J),null,{default:C(()=>[o(l(A(pe).find(e=>e.value===A(y))?.label||A(y)),1)]),_:1})]),_:1}),O(A(X),null,{default:C(()=>[(u(!0),p(x,null,m(A(pe),e=>(u(),h(A(q),{key:e.value,value:e.value},{default:C(()=>[o(l(e.label),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`])])):k(``,!0),A(s)==="default"?(u(),p(`div`,we,[O(A(V),{class:`h-4 w-4 text-blue-500 mt-0.5 flex-shrink-0`}),j(`div`,Te,[j(`p`,Ee,l(A(S)(`ai.imageConfig.defaultServiceTitle`)),1),j(`p`,null,l(A(S)(`ai.imageConfig.defaultServiceDesc`)),1)])])):A(s)===`custom`?(u(),p(`div`,De,[O(A(V),{class:`h-4 w-4 text-orange-500 mt-0.5 flex-shrink-0`}),j(`div`,Oe,[j(`p`,ke,l(A(S)(`ai.imageConfig.customServiceTitle`)),1),j(`p`,null,l(A(S)(`ai.imageConfig.customServiceDesc`)),1),j(`p`,Ae,l(A(S)(`ai.imageConfig.endpointExample`)),1)])])):k(``,!0),j(`div`,je,[O(A(W),{type:`button`,class:`flex-1 min-w-[100px]`,onClick:se},{default:C(()=>[o(l(A(S)(`ai.imageConfig.saveConfig`)),1)]),_:1}),O(A(W),{variant:`outline`,type:`button`,class:`flex-1 min-w-[80px]`,onClick:ce},{default:C(()=>[o(l(A(S)(`common.clear`)),1)]),_:1}),O(A(W),{size:`sm`,variant:`outline`,class:`flex-1 min-w-[100px]`,disabled:A(M),onClick:le},{default:C(()=>[o(l(A(M)?A(S)(`common.testing`):A(S)(`common.testConnection`)),1)]),_:1},8,[`disabled`])]),A(P)?(u(),p(`div`,Me,l(A(P)),1)):k(``,!0)]))}}),Pe={class:`space-x-1 flex items-center`},Fe={key:0,class:`mb-4 w-full border rounded-md p-4 max-h-[60vh] overflow-y-auto flex-shrink-0`},Ie={key:1,class:`flex flex-col space-y-4 flex-shrink-0`},Le={class:`flex items-center justify-center bg-gray-50 dark:bg-gray-800 rounded-lg min-h-[250px] sm:min-h-[300px]`},Re={key:0,class:`flex flex-col items-center gap-4`},ze={class:`text-sm text-muted-foreground`},Be={key:1,class:`w-full flex flex-col space-y-3`},Ve={key:0,class:`flex items-center justify-between p-2 bg-muted/20 rounded`},He={class:`text-sm text-muted-foreground`},Ue={class:`flex items-center justify-center p-2 sm:p-4`},We=[`aria-label`],Ge=[`src`],Ke={class:`absolute inset-0 bg-black/0 group-hover:bg-black/10 rounded-lg flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none`},qe={class:`bg-black/70 text-white px-3 py-1 rounded-md text-sm`},Je={class:`px-2 sm:px-4 py-2 bg-muted/10 rounded space-y-1`},Ye={class:`text-xs text-muted-foreground text-center`},Xe={class:`text-xs text-muted-foreground break-words text-center`},Ze={class:`font-medium`},Qe={class:`ml-1`},$e={class:`text-xs text-muted-foreground text-center`},et={class:`font-medium`},tt={class:`font-medium`},nt={class:`flex flex-wrap justify-center gap-2 p-2 sm:p-4 bg-muted/20 border-t border-border rounded-b-lg`},rt={key:2,class:`relative flex-shrink-0 mt-auto`},it={class:`bg-background border-border flex flex-col items-baseline gap-2 border rounded-xl px-3 py-2 pr-12 shadow-inner`},at=[`aria-label`,`onKeydown`],ot=[`src`,`alt`],st=36e5,ct=he(c({__name:`AIImageGeneratorPanel`,props:{open:{type:Boolean}},emits:[`update:open`],setup(t,{emit:n}){let r=t,c=n,{t:m}=ee(),g=me(),{editor:b}=T(g),{toggleAIDialog:S}=e(),E=w(r.open);a(()=>r.open,e=>{E.value=e,e&&Z()}),a(E,e=>c(`update:open`,e));let D=w(!1),F=w(!1),I=w(``),L=w([]),R=w([]),z=w([]),V=w(null),G=w(0),K=w(Date.now()),q=null,J=ve(),{apiKey:Y,endpoint:X,model:he,type:ye,size:be,quality:xe,style:Se}=T(J);function Ce(e){return Date.now()-e>st}async function Z(){let e=await i.getJSON(`ai_generated_images`,[]),t=await i.getJSON(`ai_image_timestamps`,[]);if(e.length===0)return;let n=await i.getJSON(`ai_image_prompts`,[]);if(t.length===0){L.value=[],R.value=[],z.value=[],await i.remove(`ai_generated_images`),await i.remove(`ai_image_prompts`),await i.remove(`ai_image_timestamps`);return}let r=[];t.forEach((e,t)=>{Ce(e)||r.push(t)});let a=r.map(t=>e[t]).filter(Boolean),o=r.map(e=>n[e]||``).filter((e,t)=>a[t]),s=r.map(e=>t[e]).filter(Boolean);L.value=a,R.value=o,z.value=s,a.length<e.length&&(a.length>0?(await i.setJSON(`ai_generated_images`,a),await i.setJSON(`ai_image_prompts`,o),await i.setJSON(`ai_image_timestamps`,s)):(await i.remove(`ai_generated_images`),await i.remove(`ai_image_prompts`),await i.remove(`ai_image_timestamps`)))}M(async()=>{await Z();let e=L.value.length,t=R.value.length,n=z.value.length;e<Math.max(e,t,n)?(L.value=[],R.value=[],z.value=[],await i.remove(`ai_generated_images`),await i.remove(`ai_image_prompts`),await i.remove(`ai_image_timestamps`)):(t<e&&(R.value=[...R.value,...Array.from({length:e-t}).fill(``)]),n<e&&(z.value=[...z.value,...Array.from({length:e-n},()=>Date.now())]));let r=0;q=setInterval(()=>{K.value=Date.now(),r++,r%30==0&&L.value.length>0&&Z()},1e3)}),f(()=>{q!==null&&(clearInterval(q),q=null)});function we(){D.value=!1}function Te(){c(`update:open`,!1),setTimeout(()=>{S(!0)},100)}function Ee(e){e.isComposing||e.keyCode===229||e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),Oe())}async function De(e,t=!1){if(!e.trim()||F.value)return;F.value=!0,V.value=new AbortController;let n=re(Y.value,ye.value);try{let r=ne(X.value,`image`),a={model:he.value,prompt:e.trim(),size:be.value,n:1};he.value.includes(`dall-e`)&&(a.quality=xe.value,a.style=Se.value);let o=await window.fetch(r,{method:`POST`,headers:n,body:JSON.stringify(a),signal:V.value.signal});if(!o.ok){let e=await o.text();throw Error(`${o.status}: ${e}`)}let s=await o.json();if(s.data&&s.data.length>0){let n=s.data[0].url||s.data[0].b64_json;if(n){let r=n.startsWith(`data:`)||n.startsWith(`http`)?n:`data:image/png;base64,${n}`,a=Date.now();L.value.unshift(r),R.value.unshift(e.trim()),z.value.unshift(a),G.value=0,L.value.length>20&&(L.value=L.value.slice(0,20),R.value=R.value.slice(0,20),z.value=z.value.slice(0,20)),await i.setJSON(`ai_generated_images`,L.value),await i.setJSON(`ai_image_prompts`,R.value),await i.setJSON(`ai_image_timestamps`,z.value),t&&(I.value=``)}}else throw Error(m(`ai.image.noValidData`))}catch(e){e.name!==`AbortError`&&N.error(m(`ai.image.generateFailed`,{message:e.message}))}finally{F.value=!1,V.value=null}}async function Oe(){I.value.trim()&&!F.value&&await De(I.value,!0)}function ke(){V.value&&=(V.value.abort(),null),F.value=!1}async function Ae(){L.value=[],R.value=[],z.value=[],G.value=0,await i.remove(`ai_generated_images`),await i.remove(`ai_image_prompts`),await i.remove(`ai_image_timestamps`)}async function je(e,t){try{let n=await fetch(e);if(!n.ok)throw Error(`Failed to download image: ${n.status}`);let r=await n.blob(),i=window.URL.createObjectURL(r),a=document.createElement(`a`);a.href=i;let o=R.value[t]||``,s=o?o.substring(0,20).replace(/[^\w\s-]/g,``).replace(/\s+/g,`-`):`no-prompt`;a.download=`ai-image-${t+1}-${s}.png`,document.body.appendChild(a),a.click(),document.body.removeChild(a),window.URL.revokeObjectURL(i),N.success(m(`ai.image.downloadStarted`))}catch{N.error(m(`ai.image.downloadFailed`))}}async function Me(e){try{await _e(e),N.success(m(`common.copiedToClipboard`))}catch{N.error(m(`ai.image.copyFailed`))}}function ct(){let e=R.value[G.value];e&<(e)}async function lt(e){await De(e)}function ut(){G.value>0&&G.value--}function dt(){G.value<L.value.length-1&&G.value++}function ft(e){if(b.value)try{let t=R.value[G.value]||``,n=``,r=b.value.state.selection.main.head;b.value.dispatch({changes:{from:r,insert:n},selection:{anchor:r+n.length}}),b.value.focus(),N.success(m(`ai.image.insertedToEditor`)),E.value=!1}catch{N.error(m(`ai.image.insertFailed`))}}let Q=w(``),pt=w(null);a(Q,async e=>{e&&(ce(),await d(),pt.value?.focus())});function mt(e){e&&(Q.value=e)}function $(){Q.value=``}function ht(e){if(!z.value[e])return m(`common.unknown`);let t=z.value[e],n=st-(K.value-t);if(n<=0)return m(`ai.image.expired`);let r=Math.floor(n/6e4),i=Math.floor(n%6e4/1e3);return r>0?m(`ai.image.timeRemaining`,{minutes:r,seconds:i}):m(`ai.image.secondsRemaining`,{seconds:i})}function gt(e){if(!z.value[e])return`text-muted-foreground`;let t=z.value[e],n=st-(K.value-t);return n<=0?`text-red-500 font-medium`:n<6e5?`text-orange-500 font-medium`:n<18e5?`text-yellow-600`:`text-green-600`}return(e,t)=>(u(),p(x,null,[O(A(le),{open:E.value,"onUpdate:open":t[10]||=e=>E.value=e},{default:C(()=>[O(A(de),{class:`bg-card text-card-foreground flex flex-col w-[95vw] max-h-[90vh] sm:max-h-[85vh] sm:max-w-4xl overflow-y-auto`},{default:C(()=>[O(A(ue),{class:`space-y-1 flex flex-col items-start`},{default:C(()=>[j(`div`,Pe,[O(A(fe),null,{default:C(()=>[o(l(A(m)(`ai.image.title`)),1)]),_:1}),O(A(W),{title:D.value?A(m)(`ai.image.title`):A(m)(`ai.image.configParams`),"aria-label":D.value?A(m)(`ai.image.title`):A(m)(`ai.image.configParams`),variant:`ghost`,size:`icon`,onClick:t[0]||=e=>D.value=!D.value},{default:C(()=>[D.value?(u(),h(A(B),{key:0,class:`h-4 w-4`})):(u(),h(A(H),{key:1,class:`h-4 w-4`}))]),_:1},8,[`title`,`aria-label`]),O(A(W),{title:A(m)(`ai.image.chat`),"aria-label":A(m)(`ai.image.chat`),variant:`ghost`,size:`icon`,onClick:t[1]||=e=>Te()},{default:C(()=>[O(A(ae),{class:`h-4 w-4`})]),_:1},8,[`title`,`aria-label`]),O(A(W),{title:A(m)(`ai.image.clearImages`),"aria-label":A(m)(`ai.image.clearImages`),variant:`ghost`,size:`icon`,onClick:Ae},{default:C(()=>[O(A(U),{class:`h-4 w-4`})]),_:1},8,[`title`,`aria-label`])]),O(A(pe),{class:`text-muted-foreground text-sm`},{default:C(()=>[o(l(A(m)(`ai.image.description`)),1)]),_:1})]),_:1}),D.value?(u(),p(`div`,Fe,[O(Ne,{onSaved:we})])):k(``,!0),!D.value&&(F.value||L.value.length>0)?(u(),p(`div`,Ie,[j(`div`,Le,[F.value?(u(),p(`div`,Re,[O(A(ie),{class:`h-8 w-8 animate-spin text-primary`}),j(`p`,ze,l(A(m)(`ai.image.generating`)),1),O(A(W),{variant:`outline`,size:`sm`,onClick:ke},{default:C(()=>[o(l(A(m)(`ai.image.cancelGeneration`)),1)]),_:1})])):L.value.length>0?(u(),p(`div`,Be,[L.value.length>1?(u(),p(`div`,Ve,[O(A(W),{variant:`outline`,size:`sm`,disabled:G.value<=0,onClick:ut},{default:C(()=>[o(l(A(m)(`ai.image.previous`)),1)]),_:1},8,[`disabled`]),j(`span`,He,l(G.value+1)+` / `+l(L.value.length),1),O(A(W),{variant:`outline`,size:`sm`,disabled:G.value>=L.value.length-1,onClick:dt},{default:C(()=>[o(l(A(m)(`ai.image.next`)),1)]),_:1},8,[`disabled`])])):k(``,!0),j(`div`,Ue,[j(`div`,{role:`button`,tabindex:`0`,class:`relative group cursor-pointer max-w-lg inline-flex justify-center`,"aria-label":A(m)(`ai.image.clickToViewLarge`),onClick:t[2]||=e=>mt(L.value[G.value]),onKeydown:[t[3]||=_(v(e=>mt(L.value[G.value]),[`prevent`]),[`enter`]),t[4]||=_(v(e=>mt(L.value[G.value]),[`prevent`]),[`space`])]},[j(`img`,{src:L.value[G.value],alt:``,"aria-hidden":`true`,class:`max-w-full h-[300px] object-contain rounded-lg shadow-lg border border-border transition-transform hover:scale-105`},null,8,Ge),j(`div`,Ke,[j(`div`,qe,l(A(m)(`ai.image.clickToViewLarge`)),1)])],40,We)]),j(`div`,Je,[j(`p`,Ye,l(A(m)(`ai.image.size`))+`: `+l(A(be)),1),j(`div`,Xe,[j(`span`,Ze,l(A(m)(`ai.image.prompt`))+`:`,1),j(`span`,Qe,l(R.value[G.value]||A(m)(`ai.image.noPrompt`)),1)]),j(`div`,$e,[j(`span`,et,l(A(m)(`ai.image.remainingValidity`))+`:`,1),j(`span`,{class:s([`ml-1`,gt(G.value)])},l(ht(G.value)),3),j(`span`,tt,l(A(m)(`ai.image.downloadReminder`)),1)])]),j(`div`,nt,[O(A(W),{variant:`outline`,size:`sm`,class:`flex-shrink-0 bg-background text-xs sm:text-sm`,onClick:t[5]||=e=>ft(L.value[G.value])},{default:C(()=>[O(A(B),{class:`h-3 w-3 sm:h-4 sm:w-4 mr-1 sm:mr-2`}),o(` `+l(A(m)(`common.insert`)),1)]),_:1}),O(A(W),{variant:`outline`,size:`sm`,class:`flex-shrink-0 bg-background text-xs sm:text-sm`,onClick:t[6]||=e=>je(L.value[G.value],G.value)},{default:C(()=>[O(A(te),{class:`h-3 w-3 sm:h-4 sm:w-4 mr-1 sm:mr-2`}),o(` `+l(A(m)(`common.download`)),1)]),_:1}),O(A(W),{variant:`outline`,size:`sm`,class:`flex-shrink-0 bg-background text-xs sm:text-sm`,onClick:t[7]||=e=>Me(L.value[G.value])},{default:C(()=>[O(A(P),{class:`h-3 w-3 sm:h-4 sm:w-4 mr-1 sm:mr-2`}),o(` `+l(A(m)(`common.copy`)),1)]),_:1}),O(A(W),{variant:`outline`,size:`sm`,class:`flex-shrink-0 bg-background text-xs sm:text-sm`,onClick:ct},{default:C(()=>[O(A(oe),{class:`h-3 w-3 sm:h-4 sm:w-4 mr-1 sm:mr-2`}),o(` `+l(A(m)(`ai.image.regenerate`)),1)]),_:1})])])):k(``,!0)])])):k(``,!0),D.value?k(``,!0):(u(),p(`div`,rt,[j(`div`,it,[O(A(ge),{modelValue:I.value,"onUpdate:modelValue":t[8]||=e=>I.value=e,placeholder:A(m)(`ai.image.inputPlaceholder`),rows:`2`,class:`custom-scroll min-h-16 w-full resize-none border-none bg-transparent p-0 focus-visible:outline-hidden focus:outline-hidden focus-visible:ring-0 focus:ring-0 focus-visible:ring-offset-0 focus:ring-offset-0 focus-visible:ring-transparent focus:ring-transparent`,onKeydown:Ee},null,8,[`modelValue`,`placeholder`]),O(A(W),{disabled:!I.value.trim()&&!F.value,size:`icon`,class:`absolute bottom-3 right-3 rounded-full disabled:opacity-40 bg-primary hover:bg-primary/90 text-primary-foreground`,"aria-label":F.value?A(m)(`common.cancel`):A(m)(`ai.image.generate`),onClick:t[9]||=e=>F.value?ke():Oe()},{default:C(()=>[F.value?(u(),h(A(ie),{key:0,class:`h-4 w-4 animate-spin`})):(u(),h(A(B),{key:1,class:`h-4 w-4`}))]),_:1},8,[`disabled`,`aria-label`])])]))]),_:1})]),_:1},8,[`open`]),(u(),h(y,{to:`body`},[Q.value?(u(),p(`div`,{key:0,ref_key:`previewOverlayRef`,ref:pt,tabindex:`-1`,role:`dialog`,"aria-modal":`true`,"aria-label":A(m)(`ai.image.preview`),class:`fixed inset-0 z-[1000] bg-black/90 flex items-center justify-center`,onClick:[v($,[`self`]),t[11]||=v(()=>{},[`stop`])],onPointerdown:t[12]||=v(()=>{},[`stop`]),onKeydown:_(v($,[`stop`]),[`escape`])},[O(A(W),{variant:`ghost`,size:`icon`,"aria-label":A(m)(`ai.image.closePreview`),title:A(m)(`ai.image.closePreview`),class:`absolute top-4 right-4 text-white hover:bg-white/20 z-10`,onClick:v($,[`stop`])},{default:C(()=>[O(A(se),{class:`h-6 w-6`})]),_:1},8,[`aria-label`,`title`]),j(`img`,{src:Q.value,alt:A(m)(`ai.image.previewLarge`),class:`max-w-[95vw] max-h-[95vh] object-contain`,onClick:v($,[`stop`])},null,8,ot)],40,at)):k(``,!0)]))],64))}}),[[`__scopeId`,`data-v-27fb3ae1`]]);export{ct as default};
|
|
1
|
+
import{t as e}from"./md-ui-Bt-aDIF5.js";import{a as t,r as n,t as r}from"./md-ai-service-options-BnJLTh-y.js";import{f as i}from"./md-storage-BSAs4c5b.js";import"./md-configs-l_iJ-wjP.js";import{$ as a,C as o,Ct as s,E as c,Et as l,H as u,I as d,R as f,S as p,W as m,b as h,ct as g,d as _,f as v,h as y,l as b,m as x,n as S,nt as C,pt as w,r as T,rt as E,v as D,w as O,x as k,xt as A,y as j,z as M}from"./md-vendor_vue-BeOfKbk1.js";import{n as ee}from"./md-vue-i18n-Cxvw1c3e.js";import{n as N}from"./md-lib-CvTniYNx.js";import{t as P}from"./md-copy-FPkQvYMT.js";import{t as te}from"./md-download-PHSmBRjD.js";import{a as F,i as ne,n as I,o as L,r as re,s as R,t as z}from"./md-useLocalizedAIServices-1SgW-zt5.js";import{t as B}from"./md-image-DZKTZmYn.js";import{t as V}from"./md-info-DloVl59m.js";import{t as ie}from"./md-loader-circle-CMCAxmDe.js";import{n as ae,t as oe}from"./md-refresh-ccw-B0suwZhW.js";import{t as H}from"./md-settings-BQ0oxr26.js";import{t as U}from"./md-trash-_QL9lZ9Z.js";import{o as se}from"./md-utils-CfHWyiHX.js";import{n as W}from"./md-button-BSiUqWkb.js";import{a as ce,i as le,n as ue,r as de,t as fe}from"./md-DialogTitle-DckujrLp.js";import{t as pe}from"./md-DialogDescription-I_Nb5r3l.js";import{t as G}from"./md-Label-BEXxOepa.js";import{a as K,i as q,n as J,r as Y,t as X}from"./md-SelectContent-BTj2mBZa.js";import{n as me}from"./md-editor-CY6v2w8B.js";import{t as he}from"./md-_plugin-vue_export-helper-BDNMzG2s.js";import{t as ge}from"./md-Textarea-D5oizzXs.js";import{t as _e}from"./md-clipboard-D_fwX9Ex.js";var ve=S(`AIImageConfig`,()=>{let e=i.reactive(`openai_image_type`,t),o=i.reactive(`openai_image_size`,`1024x1024`),s=i.reactive(`openai_image_quality`,`standard`),c=i.reactive(`openai_image_style`,`natural`),l=w(``);Promise.resolve().then(async()=>{let t=e.value;if(t===`custom`){let n=await i.get(`openai_image_endpoint_${t}`);e.value===t&&(l.value=n||``)}else{let n=r.find(e=>e.value===t)??r[0];e.value===t&&(l.value=n.endpoint)}});let u=w(``),d=w(n);return Promise.resolve().then(async()=>{let t=e.value,r=await i.get(`openai_image_key_${t}`);e.value===t&&(d.value=r||n)}),a(e,async e=>{let t=r.find(t=>t.value===e)??r[0];if(e===`custom`){let t=await i.get(`openai_image_endpoint_${e}`);l.value=t||``}else l.value=t.endpoint;let a=await i.get(`openai_image_model_${e}`)||``;u.value=a||t.models[0]||``,await i.set(`openai_image_model_${e}`,u.value);let o=await i.get(`openai_image_key_${e}`);d.value=o||n},{immediate:!0}),a(u,async t=>{await i.set(`openai_image_model_${e.value}`,t)}),a(d,async n=>{e.value!==t&&await i.set(`openai_image_key_${e.value}`,n)}),a(l,async t=>{e.value===`custom`&&await i.set(`openai_image_endpoint_${e.value}`,t)}),{type:e,endpoint:l,model:u,size:o,quality:s,style:c,apiKey:d,reset:async()=>{e.value=t,o.value=`1024x1024`,s.value=`standard`,c.value=`natural`,await Promise.all(r.map(async({value:e})=>{await i.remove(`openai_image_key_${e}`),await i.remove(`openai_image_model_${e}`),await i.remove(`openai_image_endpoint_${e}`)}))}}}),ye={class:`space-y-4 max-w-full`},be={class:`font-medium`},xe=[`placeholder`,`readonly`],Se={key:0},Ce={key:1},Z={key:2},we={key:3,class:`flex items-start gap-2 p-3 bg-blue-50 dark:bg-blue-950/30 rounded-md text-sm`},Te={class:`text-blue-700 dark:text-blue-300`},Ee={class:`font-medium`},De={key:4,class:`flex items-start gap-2 p-3 bg-orange-50 dark:bg-orange-950/30 rounded-md text-sm`},Oe={class:`text-orange-700 dark:text-orange-300`},ke={class:`font-medium`},Ae={class:`mt-1 text-xs`},je={class:`flex flex-wrap gap-2`},Me={key:5,class:`mt-1 text-xs text-gray-500`},Ne=c({__name:`AIImageConfig`,emits:[`saved`],setup(e,{emit:n}){let r=n,i=ve(),{type:s,endpoint:c,model:d,apiKey:f,size:_,quality:v,style:y}=T(i),{t:S}=ee(),{loading:M,fetchJSON:N}=F(),P=w(``),{discoveredModels:te,discovering:B,canDiscover:ie,discover:ae,resetDiscovered:oe}=I({endpoint:c,apiKey:f,serviceType:s,kind:`image`}),H=z(),U=D(()=>H.value.imageServiceOptions.find(e=>e.value===s.value)||H.value.imageServiceOptions[0]);a(s,()=>{P.value=``}),a(d,()=>{P.value=``}),a(c,()=>{P.value=``});function se(){if(!c.value.trim()||!d.value.trim())P.value=S(`ai.imageConfig.incompleteConfig`);else if(s.value!==t&&!f.value.trim())P.value=S(`ai.imageConfig.apiKeyRequired`);else{try{new URL(c.value)}catch{P.value=S(`ai.imageConfig.invalidEndpoint`);return}P.value=S(`ai.imageConfig.saved`),r(`saved`)}}function ce(){oe(),i.reset(),P.value=S(`ai.imageConfig.cleared`)}async function le(){P.value=``,M.value=!0;let e=re(f.value,s.value);try{let t=ne(c.value,`image`),n={model:d.value,prompt:`test connection`,size:_.value,quality:v.value,style:y.value,n:1},r=await N(t,e,n);r.ok?P.value=S(`ai.imageConfig.connectionSuccess`):P.value=S(`ai.imageConfig.connectionFailed`,{message:`${r.status} ${r.errorText}`})}catch(e){P.value=S(`ai.imageConfig.connectionFailed`,{message:e.message})}finally{M.value=!1}}async function ue(){P.value=``;let e=await ae();e&&(P.value=e)}let de=D(()=>[{label:S(`ai.imageConfig.sizeSquare`),value:`1024x1024`},{label:S(`ai.imageConfig.sizeLandscape`),value:`1792x1024`},{label:S(`ai.imageConfig.sizePortrait`),value:`1024x1792`}]),fe=D(()=>[{label:S(`ai.imageConfig.qualityStandard`),value:`standard`},{label:S(`ai.imageConfig.qualityHd`),value:`hd`}]),pe=D(()=>[{label:S(`ai.imageConfig.styleNatural`),value:`natural`},{label:S(`ai.imageConfig.styleVivid`),value:`vivid`}]);return(e,n)=>(u(),p(`div`,ye,[j(`div`,be,l(A(S)(`ai.imageConfig.title`)),1),j(`div`,null,[O(A(G),{class:`mb-1 block text-sm font-medium`},{default:C(()=>[o(l(A(S)(`ai.imageConfig.provider`)),1)]),_:1}),O(A(K),{modelValue:A(s),"onUpdate:modelValue":n[0]||=e=>g(s)?s.value=e:null},{default:C(()=>[O(A(Y),{class:`w-full`},{default:C(()=>[O(A(J),null,{default:C(()=>[o(l(A(U).label),1)]),_:1})]),_:1}),O(A(X),null,{default:C(()=>[(u(!0),p(x,null,m(A(H).imageServiceOptions,e=>(u(),h(A(q),{key:e.value,value:e.value},{default:C(()=>[o(l(e.label),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`])]),j(`div`,null,[O(A(G),{class:`mb-1 block text-sm font-medium`},{default:C(()=>[o(l(A(S)(`ai.imageConfig.apiEndpoint`)),1)]),_:1}),E(j(`input`,{"onUpdate:modelValue":n[1]||=e=>g(c)?c.value=e:null,type:`url`,class:`w-full mt-1 rounded-md border bg-background p-2 transition-colors focus:border-primary focus:ring-2 focus:ring-primary`,placeholder:A(S)(`ai.imageConfig.apiEndpointPlaceholder`),readonly:A(s)!==`custom`},null,8,xe),[[b,A(c)]])]),A(s)==="default"?k(``,!0):(u(),p(`div`,Se,[O(A(G),{class:`mb-1 block text-sm font-medium`},{default:C(()=>[o(l(A(S)(`ai.imageConfig.apiKey`)),1)]),_:1}),O(A(L),{modelValue:A(f),"onUpdate:modelValue":n[2]||=e=>g(f)?f.value=e:null,class:`w-full mt-1 focus:ring-2 focus:ring-primary focus:border-primary transition-colors`,placeholder:A(S)(`ai.imageConfig.apiKeyPlaceholder`)},null,8,[`modelValue`,`placeholder`])])),j(`div`,null,[O(A(G),{class:`mb-1 block text-sm font-medium`},{default:C(()=>[o(l(A(S)(`ai.imageConfig.model`)),1)]),_:1}),O(R,{modelValue:A(d),"onUpdate:modelValue":n[3]||=e=>g(d)?d.value=e:null,"preset-models":A(U).models,"discovered-models":A(te),placeholder:A(S)(`ai.imageConfig.modelPlaceholder`),"select-placeholder":A(S)(`ai.imageConfig.selectModel`),"discover-label":A(S)(`ai.imageConfig.discoverModels`),"discovering-label":A(S)(`ai.imageConfig.discoveringModels`),"need-config-label":A(S)(`ai.imageConfig.discoverModelsNeedConfig`),discovering:A(B),"can-discover":A(ie),"show-discover":A(s)!==A(t),onDiscover:ue},null,8,[`modelValue`,`preset-models`,`discovered-models`,`placeholder`,`select-placeholder`,`discover-label`,`discovering-label`,`need-config-label`,`discovering`,`can-discover`,`show-discover`])]),j(`div`,null,[O(A(G),{class:`mb-1 block text-sm font-medium`},{default:C(()=>[o(l(A(S)(`ai.imageConfig.imageSize`)),1)]),_:1}),O(A(K),{modelValue:A(_),"onUpdate:modelValue":n[4]||=e=>g(_)?_.value=e:null},{default:C(()=>[O(A(Y),{class:`w-full`},{default:C(()=>[O(A(J),null,{default:C(()=>[o(l(A(de).find(e=>e.value===A(_))?.label||A(_)),1)]),_:1})]),_:1}),O(A(X),null,{default:C(()=>[(u(!0),p(x,null,m(A(de),e=>(u(),h(A(q),{key:e.value,value:e.value},{default:C(()=>[o(l(e.label),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`])]),A(d).includes(`dall-e`)?(u(),p(`div`,Ce,[O(A(G),{class:`mb-1 block text-sm font-medium`},{default:C(()=>[o(l(A(S)(`ai.imageConfig.imageQuality`)),1)]),_:1}),O(A(K),{modelValue:A(v),"onUpdate:modelValue":n[5]||=e=>g(v)?v.value=e:null},{default:C(()=>[O(A(Y),{class:`w-full`},{default:C(()=>[O(A(J),null,{default:C(()=>[o(l(A(fe).find(e=>e.value===A(v))?.label||A(v)),1)]),_:1})]),_:1}),O(A(X),null,{default:C(()=>[(u(!0),p(x,null,m(A(fe),e=>(u(),h(A(q),{key:e.value,value:e.value},{default:C(()=>[o(l(e.label),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`])])):k(``,!0),A(d).includes(`dall-e`)?(u(),p(`div`,Z,[O(A(G),{class:`mb-1 block text-sm font-medium`},{default:C(()=>[o(l(A(S)(`ai.imageConfig.imageStyle`)),1)]),_:1}),O(A(K),{modelValue:A(y),"onUpdate:modelValue":n[6]||=e=>g(y)?y.value=e:null},{default:C(()=>[O(A(Y),{class:`w-full`},{default:C(()=>[O(A(J),null,{default:C(()=>[o(l(A(pe).find(e=>e.value===A(y))?.label||A(y)),1)]),_:1})]),_:1}),O(A(X),null,{default:C(()=>[(u(!0),p(x,null,m(A(pe),e=>(u(),h(A(q),{key:e.value,value:e.value},{default:C(()=>[o(l(e.label),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`])])):k(``,!0),A(s)==="default"?(u(),p(`div`,we,[O(A(V),{class:`h-4 w-4 text-blue-500 mt-0.5 flex-shrink-0`}),j(`div`,Te,[j(`p`,Ee,l(A(S)(`ai.imageConfig.defaultServiceTitle`)),1),j(`p`,null,l(A(S)(`ai.imageConfig.defaultServiceDesc`)),1)])])):A(s)===`custom`?(u(),p(`div`,De,[O(A(V),{class:`h-4 w-4 text-orange-500 mt-0.5 flex-shrink-0`}),j(`div`,Oe,[j(`p`,ke,l(A(S)(`ai.imageConfig.customServiceTitle`)),1),j(`p`,null,l(A(S)(`ai.imageConfig.customServiceDesc`)),1),j(`p`,Ae,l(A(S)(`ai.imageConfig.endpointExample`)),1)])])):k(``,!0),j(`div`,je,[O(A(W),{type:`button`,class:`flex-1 min-w-[100px]`,onClick:se},{default:C(()=>[o(l(A(S)(`ai.imageConfig.saveConfig`)),1)]),_:1}),O(A(W),{variant:`outline`,type:`button`,class:`flex-1 min-w-[80px]`,onClick:ce},{default:C(()=>[o(l(A(S)(`common.clear`)),1)]),_:1}),O(A(W),{size:`sm`,variant:`outline`,class:`flex-1 min-w-[100px]`,disabled:A(M),onClick:le},{default:C(()=>[o(l(A(M)?A(S)(`common.testing`):A(S)(`common.testConnection`)),1)]),_:1},8,[`disabled`])]),A(P)?(u(),p(`div`,Me,l(A(P)),1)):k(``,!0)]))}}),Pe={class:`space-x-1 flex items-center`},Fe={key:0,class:`mb-4 w-full border rounded-md p-4 max-h-[60vh] overflow-y-auto flex-shrink-0`},Ie={key:1,class:`flex flex-col space-y-4 flex-shrink-0`},Le={class:`flex items-center justify-center bg-gray-50 dark:bg-gray-800 rounded-lg min-h-[250px] sm:min-h-[300px]`},Re={key:0,class:`flex flex-col items-center gap-4`},ze={class:`text-sm text-muted-foreground`},Be={key:1,class:`w-full flex flex-col space-y-3`},Ve={key:0,class:`flex items-center justify-between p-2 bg-muted/20 rounded`},He={class:`text-sm text-muted-foreground`},Ue={class:`flex items-center justify-center p-2 sm:p-4`},We=[`aria-label`],Ge=[`src`],Ke={class:`absolute inset-0 bg-black/0 group-hover:bg-black/10 rounded-lg flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none`},qe={class:`bg-black/70 text-white px-3 py-1 rounded-md text-sm`},Je={class:`px-2 sm:px-4 py-2 bg-muted/10 rounded space-y-1`},Ye={class:`text-xs text-muted-foreground text-center`},Xe={class:`text-xs text-muted-foreground break-words text-center`},Ze={class:`font-medium`},Qe={class:`ml-1`},$e={class:`text-xs text-muted-foreground text-center`},et={class:`font-medium`},tt={class:`font-medium`},nt={class:`flex flex-wrap justify-center gap-2 p-2 sm:p-4 bg-muted/20 border-t border-border rounded-b-lg`},rt={key:2,class:`relative flex-shrink-0 mt-auto`},it={class:`bg-background border-border flex flex-col items-baseline gap-2 border rounded-xl px-3 py-2 pr-12 shadow-inner`},at=[`aria-label`,`onKeydown`],ot=[`src`,`alt`],st=36e5,ct=he(c({__name:`AIImageGeneratorPanel`,props:{open:{type:Boolean}},emits:[`update:open`],setup(t,{emit:n}){let r=t,c=n,{t:m}=ee(),g=me(),{editor:b}=T(g),{toggleAIDialog:S}=e(),E=w(r.open);a(()=>r.open,e=>{E.value=e,e&&Z()}),a(E,e=>c(`update:open`,e));let D=w(!1),F=w(!1),I=w(``),L=w([]),R=w([]),z=w([]),V=w(null),G=w(0),K=w(Date.now()),q=null,J=ve(),{apiKey:Y,endpoint:X,model:he,type:ye,size:be,quality:xe,style:Se}=T(J);function Ce(e){return Date.now()-e>st}async function Z(){let e=await i.getJSON(`ai_generated_images`,[]),t=await i.getJSON(`ai_image_timestamps`,[]);if(e.length===0)return;let n=await i.getJSON(`ai_image_prompts`,[]);if(t.length===0){L.value=[],R.value=[],z.value=[],await i.remove(`ai_generated_images`),await i.remove(`ai_image_prompts`),await i.remove(`ai_image_timestamps`);return}let r=[];t.forEach((e,t)=>{Ce(e)||r.push(t)});let a=r.map(t=>e[t]).filter(Boolean),o=r.map(e=>n[e]||``).filter((e,t)=>a[t]),s=r.map(e=>t[e]).filter(Boolean);L.value=a,R.value=o,z.value=s,a.length<e.length&&(a.length>0?(await i.setJSON(`ai_generated_images`,a),await i.setJSON(`ai_image_prompts`,o),await i.setJSON(`ai_image_timestamps`,s)):(await i.remove(`ai_generated_images`),await i.remove(`ai_image_prompts`),await i.remove(`ai_image_timestamps`)))}M(async()=>{await Z();let e=L.value.length,t=R.value.length,n=z.value.length;e<Math.max(e,t,n)?(L.value=[],R.value=[],z.value=[],await i.remove(`ai_generated_images`),await i.remove(`ai_image_prompts`),await i.remove(`ai_image_timestamps`)):(t<e&&(R.value=[...R.value,...Array.from({length:e-t}).fill(``)]),n<e&&(z.value=[...z.value,...Array.from({length:e-n},()=>Date.now())]));let r=0;q=setInterval(()=>{K.value=Date.now(),r++,r%30==0&&L.value.length>0&&Z()},1e3)}),f(()=>{q!==null&&(clearInterval(q),q=null)});function we(){D.value=!1}function Te(){c(`update:open`,!1),setTimeout(()=>{S(!0)},100)}function Ee(e){e.isComposing||e.keyCode===229||e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),Oe())}async function De(e,t=!1){if(!e.trim()||F.value)return;F.value=!0,V.value=new AbortController;let n=re(Y.value,ye.value);try{let r=ne(X.value,`image`),a={model:he.value,prompt:e.trim(),size:be.value,n:1};he.value.includes(`dall-e`)&&(a.quality=xe.value,a.style=Se.value);let o=await window.fetch(r,{method:`POST`,headers:n,body:JSON.stringify(a),signal:V.value.signal});if(!o.ok){let e=await o.text();throw Error(`${o.status}: ${e}`)}let s=await o.json();if(s.data&&s.data.length>0){let n=s.data[0].url||s.data[0].b64_json;if(n){let r=n.startsWith(`data:`)||n.startsWith(`http`)?n:`data:image/png;base64,${n}`,a=Date.now();L.value.unshift(r),R.value.unshift(e.trim()),z.value.unshift(a),G.value=0,L.value.length>20&&(L.value=L.value.slice(0,20),R.value=R.value.slice(0,20),z.value=z.value.slice(0,20)),await i.setJSON(`ai_generated_images`,L.value),await i.setJSON(`ai_image_prompts`,R.value),await i.setJSON(`ai_image_timestamps`,z.value),t&&(I.value=``)}}else throw Error(m(`ai.image.noValidData`))}catch(e){e.name!==`AbortError`&&N.error(m(`ai.image.generateFailed`,{message:e.message}))}finally{F.value=!1,V.value=null}}async function Oe(){I.value.trim()&&!F.value&&await De(I.value,!0)}function ke(){V.value&&=(V.value.abort(),null),F.value=!1}async function Ae(){L.value=[],R.value=[],z.value=[],G.value=0,await i.remove(`ai_generated_images`),await i.remove(`ai_image_prompts`),await i.remove(`ai_image_timestamps`)}async function je(e,t){try{let n=await fetch(e);if(!n.ok)throw Error(`Failed to download image: ${n.status}`);let r=await n.blob(),i=window.URL.createObjectURL(r),a=document.createElement(`a`);a.href=i;let o=R.value[t]||``,s=o?o.substring(0,20).replace(/[^\w\s-]/g,``).replace(/\s+/g,`-`):`no-prompt`;a.download=`ai-image-${t+1}-${s}.png`,document.body.appendChild(a),a.click(),document.body.removeChild(a),window.URL.revokeObjectURL(i),N.success(m(`ai.image.downloadStarted`))}catch{N.error(m(`ai.image.downloadFailed`))}}async function Me(e){try{await _e(e),N.success(m(`common.copiedToClipboard`))}catch{N.error(m(`ai.image.copyFailed`))}}function ct(){let e=R.value[G.value];e&<(e)}async function lt(e){await De(e)}function ut(){G.value>0&&G.value--}function dt(){G.value<L.value.length-1&&G.value++}function ft(e){if(b.value)try{let t=R.value[G.value]||``,n=``,r=b.value.state.selection.main.head;b.value.dispatch({changes:{from:r,insert:n},selection:{anchor:r+n.length}}),b.value.focus(),N.success(m(`ai.image.insertedToEditor`)),E.value=!1}catch{N.error(m(`ai.image.insertFailed`))}}let Q=w(``),pt=w(null);a(Q,async e=>{e&&(ce(),await d(),pt.value?.focus())});function mt(e){e&&(Q.value=e)}function $(){Q.value=``}function ht(e){if(!z.value[e])return m(`common.unknown`);let t=z.value[e],n=st-(K.value-t);if(n<=0)return m(`ai.image.expired`);let r=Math.floor(n/6e4),i=Math.floor(n%6e4/1e3);return r>0?m(`ai.image.timeRemaining`,{minutes:r,seconds:i}):m(`ai.image.secondsRemaining`,{seconds:i})}function gt(e){if(!z.value[e])return`text-muted-foreground`;let t=z.value[e],n=st-(K.value-t);return n<=0?`text-red-500 font-medium`:n<6e5?`text-orange-500 font-medium`:n<18e5?`text-yellow-600`:`text-green-600`}return(e,t)=>(u(),p(x,null,[O(A(le),{open:E.value,"onUpdate:open":t[10]||=e=>E.value=e},{default:C(()=>[O(A(de),{class:`bg-card text-card-foreground flex flex-col w-[95vw] max-h-[90vh] sm:max-h-[85vh] sm:max-w-4xl overflow-y-auto`},{default:C(()=>[O(A(ue),{class:`space-y-1 flex flex-col items-start`},{default:C(()=>[j(`div`,Pe,[O(A(fe),null,{default:C(()=>[o(l(A(m)(`ai.image.title`)),1)]),_:1}),O(A(W),{title:D.value?A(m)(`ai.image.title`):A(m)(`ai.image.configParams`),"aria-label":D.value?A(m)(`ai.image.title`):A(m)(`ai.image.configParams`),variant:`ghost`,size:`icon`,onClick:t[0]||=e=>D.value=!D.value},{default:C(()=>[D.value?(u(),h(A(B),{key:0,class:`h-4 w-4`})):(u(),h(A(H),{key:1,class:`h-4 w-4`}))]),_:1},8,[`title`,`aria-label`]),O(A(W),{title:A(m)(`ai.image.chat`),"aria-label":A(m)(`ai.image.chat`),variant:`ghost`,size:`icon`,onClick:t[1]||=e=>Te()},{default:C(()=>[O(A(ae),{class:`h-4 w-4`})]),_:1},8,[`title`,`aria-label`]),O(A(W),{title:A(m)(`ai.image.clearImages`),"aria-label":A(m)(`ai.image.clearImages`),variant:`ghost`,size:`icon`,onClick:Ae},{default:C(()=>[O(A(U),{class:`h-4 w-4`})]),_:1},8,[`title`,`aria-label`])]),O(A(pe),{class:`text-muted-foreground text-sm`},{default:C(()=>[o(l(A(m)(`ai.image.description`)),1)]),_:1})]),_:1}),D.value?(u(),p(`div`,Fe,[O(Ne,{onSaved:we})])):k(``,!0),!D.value&&(F.value||L.value.length>0)?(u(),p(`div`,Ie,[j(`div`,Le,[F.value?(u(),p(`div`,Re,[O(A(ie),{class:`h-8 w-8 animate-spin text-primary`}),j(`p`,ze,l(A(m)(`ai.image.generating`)),1),O(A(W),{variant:`outline`,size:`sm`,onClick:ke},{default:C(()=>[o(l(A(m)(`ai.image.cancelGeneration`)),1)]),_:1})])):L.value.length>0?(u(),p(`div`,Be,[L.value.length>1?(u(),p(`div`,Ve,[O(A(W),{variant:`outline`,size:`sm`,disabled:G.value<=0,onClick:ut},{default:C(()=>[o(l(A(m)(`ai.image.previous`)),1)]),_:1},8,[`disabled`]),j(`span`,He,l(G.value+1)+` / `+l(L.value.length),1),O(A(W),{variant:`outline`,size:`sm`,disabled:G.value>=L.value.length-1,onClick:dt},{default:C(()=>[o(l(A(m)(`ai.image.next`)),1)]),_:1},8,[`disabled`])])):k(``,!0),j(`div`,Ue,[j(`div`,{role:`button`,tabindex:`0`,class:`relative group cursor-pointer max-w-lg inline-flex justify-center`,"aria-label":A(m)(`ai.image.clickToViewLarge`),onClick:t[2]||=e=>mt(L.value[G.value]),onKeydown:[t[3]||=_(v(e=>mt(L.value[G.value]),[`prevent`]),[`enter`]),t[4]||=_(v(e=>mt(L.value[G.value]),[`prevent`]),[`space`])]},[j(`img`,{src:L.value[G.value],alt:``,"aria-hidden":`true`,class:`max-w-full h-[300px] object-contain rounded-lg shadow-lg border border-border transition-transform hover:scale-105`},null,8,Ge),j(`div`,Ke,[j(`div`,qe,l(A(m)(`ai.image.clickToViewLarge`)),1)])],40,We)]),j(`div`,Je,[j(`p`,Ye,l(A(m)(`ai.image.size`))+`: `+l(A(be)),1),j(`div`,Xe,[j(`span`,Ze,l(A(m)(`ai.image.prompt`))+`:`,1),j(`span`,Qe,l(R.value[G.value]||A(m)(`ai.image.noPrompt`)),1)]),j(`div`,$e,[j(`span`,et,l(A(m)(`ai.image.remainingValidity`))+`:`,1),j(`span`,{class:s([`ml-1`,gt(G.value)])},l(ht(G.value)),3),j(`span`,tt,l(A(m)(`ai.image.downloadReminder`)),1)])]),j(`div`,nt,[O(A(W),{variant:`outline`,size:`sm`,class:`flex-shrink-0 bg-background text-xs sm:text-sm`,onClick:t[5]||=e=>ft(L.value[G.value])},{default:C(()=>[O(A(B),{class:`h-3 w-3 sm:h-4 sm:w-4 mr-1 sm:mr-2`}),o(` `+l(A(m)(`common.insert`)),1)]),_:1}),O(A(W),{variant:`outline`,size:`sm`,class:`flex-shrink-0 bg-background text-xs sm:text-sm`,onClick:t[6]||=e=>je(L.value[G.value],G.value)},{default:C(()=>[O(A(te),{class:`h-3 w-3 sm:h-4 sm:w-4 mr-1 sm:mr-2`}),o(` `+l(A(m)(`common.download`)),1)]),_:1}),O(A(W),{variant:`outline`,size:`sm`,class:`flex-shrink-0 bg-background text-xs sm:text-sm`,onClick:t[7]||=e=>Me(L.value[G.value])},{default:C(()=>[O(A(P),{class:`h-3 w-3 sm:h-4 sm:w-4 mr-1 sm:mr-2`}),o(` `+l(A(m)(`common.copy`)),1)]),_:1}),O(A(W),{variant:`outline`,size:`sm`,class:`flex-shrink-0 bg-background text-xs sm:text-sm`,onClick:ct},{default:C(()=>[O(A(oe),{class:`h-3 w-3 sm:h-4 sm:w-4 mr-1 sm:mr-2`}),o(` `+l(A(m)(`ai.image.regenerate`)),1)]),_:1})])])):k(``,!0)])])):k(``,!0),D.value?k(``,!0):(u(),p(`div`,rt,[j(`div`,it,[O(A(ge),{modelValue:I.value,"onUpdate:modelValue":t[8]||=e=>I.value=e,placeholder:A(m)(`ai.image.inputPlaceholder`),rows:`2`,class:`custom-scroll min-h-16 w-full resize-none border-none bg-transparent p-0 focus-visible:outline-hidden focus:outline-hidden focus-visible:ring-0 focus:ring-0 focus-visible:ring-offset-0 focus:ring-offset-0 focus-visible:ring-transparent focus:ring-transparent`,onKeydown:Ee},null,8,[`modelValue`,`placeholder`]),O(A(W),{disabled:!I.value.trim()&&!F.value,size:`icon`,class:`absolute bottom-3 right-3 rounded-full disabled:opacity-40 bg-primary hover:bg-primary/90 text-primary-foreground`,"aria-label":F.value?A(m)(`common.cancel`):A(m)(`ai.image.generate`),onClick:t[9]||=e=>F.value?ke():Oe()},{default:C(()=>[F.value?(u(),h(A(ie),{key:0,class:`h-4 w-4 animate-spin`})):(u(),h(A(B),{key:1,class:`h-4 w-4`}))]),_:1},8,[`disabled`,`aria-label`])])]))]),_:1})]),_:1},8,[`open`]),(u(),h(y,{to:`body`},[Q.value?(u(),p(`div`,{key:0,ref_key:`previewOverlayRef`,ref:pt,tabindex:`-1`,role:`dialog`,"aria-modal":`true`,"aria-label":A(m)(`ai.image.preview`),class:`fixed inset-0 z-[1000] bg-black/90 flex items-center justify-center`,onClick:[v($,[`self`]),t[11]||=v(()=>{},[`stop`])],onPointerdown:t[12]||=v(()=>{},[`stop`]),onKeydown:_(v($,[`stop`]),[`escape`])},[O(A(W),{variant:`ghost`,size:`icon`,"aria-label":A(m)(`ai.image.closePreview`),title:A(m)(`ai.image.closePreview`),class:`absolute top-4 right-4 text-white hover:bg-white/20 z-10`,onClick:v($,[`stop`])},{default:C(()=>[O(A(se),{class:`h-6 w-6`})]),_:1},8,[`aria-label`,`title`]),j(`img`,{src:Q.value,alt:A(m)(`ai.image.previewLarge`),class:`max-w-[95vw] max-h-[95vh] object-contain`,onClick:v($,[`stop`])},null,8,ot)],40,at)):k(``,!0)]))],64))}}),[[`__scopeId`,`data-v-27fb3ae1`]]);export{ct as default};
|