@hienlh/ppm 0.17.15 → 0.17.16
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/CHANGELOG.md +9 -0
- package/assets/skills/ppm/SKILL.md +1 -1
- package/assets/skills/ppm/references/cli-reference.md +4 -4
- package/assets/skills/ppm/references/http-api.md +1 -1
- package/dist/web/assets/{ai-resource-editor-DfCN7LjR.js → ai-resource-editor-CsossqDO.js} +1 -1
- package/dist/web/assets/{angular-html-DkR4iCth.js → angular-html-CkxY2iBQ.js} +1 -1
- package/dist/web/assets/{angular-ts-DcyL4Chx.js → angular-ts-BePeGkkC.js} +1 -1
- package/dist/web/assets/{apl-BVlrVtjt.js → apl-DBS7PWvB.js} +1 -1
- package/dist/web/assets/architecture-PBZL5I3N-NAS99xy0.js +1 -0
- package/dist/web/assets/{astro-MjJlozLj.js → astro-Clbk1k4h.js} +1 -1
- package/dist/web/assets/{audio-preview-DbFUkIzm.js → audio-preview-DIkokvPM.js} +1 -1
- package/dist/web/assets/{blade-DnJWi1fz.js → blade-BeBsBuGS.js} +1 -1
- package/dist/web/assets/{bsl-DCmJxSIz.js → bsl-DYigT3JZ.js} +1 -1
- package/dist/web/assets/{cairo-C8dDenub.js → cairo-BjpO78wI.js} +1 -1
- package/dist/web/assets/chat-tab-Bh6l253v.js +18 -0
- package/dist/web/assets/click-outside-container-DXZVmhaX.js +1 -0
- package/dist/web/assets/{cobol-DPx_nifl.js → cobol-CpuUx69s.js} +1 -1
- package/dist/web/assets/code-editor-B7F-d4DK.js +10 -0
- package/dist/web/assets/{coffee-DvFzqhgN.js → coffee-FoFd2Cxo.js} +1 -1
- package/dist/web/assets/{conflict-editor-BAAffNdj.js → conflict-editor-Dqm1bkyL.js} +3 -3
- package/dist/web/assets/{cpp-BLJN0umi.js → cpp-CO_nPfdr.js} +1 -1
- package/dist/web/assets/{crystal-BXR-9fGw.js → crystal-D-UygAAF.js} +1 -1
- package/dist/web/assets/{csv-preview-DzhSC0fd.js → csv-preview-CvP4xzug.js} +1 -1
- package/dist/web/assets/data-grid-overlay-editor-CUlFsD-D.js +1 -0
- package/dist/web/assets/database-viewer-5oNTPgjF.js +1 -0
- package/dist/web/assets/{diff-viewer-DvXxlk47.js → diff-viewer-BfWixe_z.js} +1 -1
- package/dist/web/assets/dist-BsziT-tR.js +11 -0
- package/dist/web/assets/{docx-preview-DfjH-dIr.js → docx-preview-CguUoTKe.js} +1 -1
- package/dist/web/assets/{edge-rWOlCmXT.js → edge-BSzxzX11.js} +1 -1
- package/dist/web/assets/{elixir-E7Y82okW.js → elixir-DH1-Mrep.js} +1 -1
- package/dist/web/assets/{elm-DTPGbc-w.js → elm-B0ln5J70.js} +1 -1
- package/dist/web/assets/{erb-DHqLHrE6.js → erb-GIz6NnlZ.js} +1 -1
- package/dist/web/assets/{erlang-Byg0nNiV.js → erlang-B8MgYhib.js} +1 -1
- package/dist/web/assets/esm-CjVeOTNQ.js +2 -0
- package/dist/web/assets/{extension-webview-wuMQ8pD7.js → extension-webview-DTpFt1eL.js} +1 -1
- package/dist/web/assets/{fortran-fixed-form-CY1n0Xf6.js → fortran-fixed-form-D_-TrK6U.js} +1 -1
- package/dist/web/assets/{fsharp-_vEDSCJz.js → fsharp-C9cLCk2b.js} +1 -1
- package/dist/web/assets/{gdresource-B6XT0wAC.js → gdresource-CsZ3lXwY.js} +1 -1
- package/dist/web/assets/{git-commit-Wk9ovq59.js → git-commit-xmq0KqrA.js} +1 -1
- package/dist/web/assets/{git-log-panel-SPPYmbCr.js → git-log-panel-DUX7N5tN.js} +1 -1
- package/dist/web/assets/{git-rebase-DSarGPvK.js → git-rebase-D3O-jsSX.js} +1 -1
- package/dist/web/assets/gitGraph-HDMCJU4V-B4I3L4Sf.js +1 -0
- package/dist/web/assets/glide-data-grid-7vB1SNne.js +138 -0
- package/dist/web/assets/{glimmer-js-CkYI35_P.js → glimmer-js-g74gESrC.js} +1 -1
- package/dist/web/assets/{glimmer-ts-BqmIZcds.js → glimmer-ts-DF4aDWHT.js} +1 -1
- package/dist/web/assets/{glsl-Be-yBCF5.js → glsl-D5LmfW7l.js} +1 -1
- package/dist/web/assets/{graphql-a5DrENHY.js → graphql-_KI4RuXL.js} +1 -1
- package/dist/web/assets/group-chat-tab-CNECY-zg.js +1 -0
- package/dist/web/assets/{hack-BLAg20aD.js → hack-B1NaTC39.js} +1 -1
- package/dist/web/assets/{haml-Dj6bGOQH.js → haml-DDFXadZ4.js} +1 -1
- package/dist/web/assets/{handlebars-dmEa36Oh.js → handlebars-Bp-Jq3K9.js} +1 -1
- package/dist/web/assets/{html-yacZYzSE.js → html-DyB9_5Tj.js} +1 -1
- package/dist/web/assets/{html-derivative-lLi3-RNT.js → html-derivative-CC60wi-3.js} +1 -1
- package/dist/web/assets/{http-1KaxcE4e.js → http-C-9qngH4.js} +1 -1
- package/dist/web/assets/{hurl-ST-dEEZR.js → hurl-BtxgpNDs.js} +1 -1
- package/dist/web/assets/{hxml-CpDtuq__.js → hxml-DOoOS9op.js} +1 -1
- package/dist/web/assets/{image-preview-D_8o6OLx.js → image-preview-CZg6FQ3w.js} +1 -1
- package/dist/web/assets/{index-C1Q59prB.js → index-D2G6kmTs.js} +7 -7
- package/dist/web/assets/index-DCmrZnq0.css +2 -0
- package/dist/web/assets/info-3K5VOQVL-CBbbOe3C.js +1 -0
- package/dist/web/assets/{jinja-Cjw-evAn.js → jinja-cN-150ao.js} +1 -1
- package/dist/web/assets/{jison-DfATMYoY.js → jison-CqjsqPq5.js} +1 -1
- package/dist/web/assets/{julia-DDCaxiqT.js → julia-C-I5m8W4.js} +1 -1
- package/dist/web/assets/{just-CJL529u6.js → just-CgsSW9zs.js} +1 -1
- package/dist/web/assets/keybindings-store-D8Cppv4w.js +1 -0
- package/dist/web/assets/{latex-Zc4EpLpW.js → latex-BFzR9N2d.js} +1 -1
- package/dist/web/assets/{liquid-B_6KMNYS.js → liquid-BWfr-_iC.js} +1 -1
- package/dist/web/assets/{lua-BtS2idK7.js → lua-DsXVun6g.js} +1 -1
- package/dist/web/assets/{markdown-renderer-DVVx3WCU.js → markdown-renderer-CiQkvWP_.js} +3 -3
- package/dist/web/assets/{marko-Wk6LBnck.js → marko-DWBbo09n.js} +1 -1
- package/dist/web/assets/{mdc-cRaXBrzL.js → mdc-CUMe9LOG.js} +1 -1
- package/dist/web/assets/{nextflow-Bos2wvDV.js → nextflow-CoYbADOm.js} +1 -1
- package/dist/web/assets/{nginx-DMlOwzdr.js → nginx-z-JRZREw.js} +1 -1
- package/dist/web/assets/{nim-D2dZQA88.js → nim-Ci4LHyBm.js} +1 -1
- package/dist/web/assets/notification-store-DOGxkWih.js +1 -0
- package/dist/web/assets/{number-overlay-editor-Du_UgiD3.js → number-overlay-editor-lnnuUpPI.js} +1 -1
- package/dist/web/assets/packet-RMMSAZCW-fr8-QSTF.js +1 -0
- package/dist/web/assets/{pdf-preview-HTC73FyK.js → pdf-preview-B6ZqANpw.js} +1 -1
- package/dist/web/assets/{perl-C5-Z6fPn.js → perl-pbDimKOO.js} +1 -1
- package/dist/web/assets/{php-BXNNhkMH.js → php-B003E5v7.js} +1 -1
- package/dist/web/assets/pie-UPGHQEXC-Biu7_Pbb.js +1 -0
- package/dist/web/assets/postgres-viewer-B23xTCSs.js +3 -0
- package/dist/web/assets/{pug-C1zf1yWy.js → pug-AoueAWJo.js} +1 -1
- package/dist/web/assets/{qml-OW58jGpD.js → qml-CepxioQA.js} +1 -1
- package/dist/web/assets/radar-KQ55EAFF-CMtNRpK6.js +1 -0
- package/dist/web/assets/{razor-DzjSaobM.js → razor-lIvU-Gu-.js} +1 -1
- package/dist/web/assets/{rst-RfuihOUW.js → rst-Dn-dwElE.js} +1 -1
- package/dist/web/assets/{ruby-CNO3pli1.js → ruby-DmsD1Iz5.js} +1 -1
- package/dist/web/assets/{sas-DZY5BtXx.js → sas-6IM2P4YP.js} +1 -1
- package/dist/web/assets/{scss--4g-REcN.js → scss-RgYEZQqh.js} +1 -1
- package/dist/web/assets/{settings-store-mWnY4Kt0.js → settings-store-BkSf4SPQ.js} +2 -2
- package/dist/web/assets/settings-tab-D5hAA1bY.js +1 -0
- package/dist/web/assets/{shaderlab-Cu4sBiVn.js → shaderlab-B0MNEwt4.js} +1 -1
- package/dist/web/assets/{shellsession-DWzJfEv7.js → shellsession-F8S4LrQI.js} +1 -1
- package/dist/web/assets/{soy-BnqE-5Ff.js → soy-DDlMbX7u.js} +1 -1
- package/dist/web/assets/{sparql-Ctg__NhZ.js → sparql-kthmGAAe.js} +1 -1
- package/dist/web/assets/{sql-query-editor-CJdpO95g.js → sql-query-editor-BYNM0RRl.js} +1 -1
- package/dist/web/assets/sqlite-viewer-DW9f2Hqj.js +1 -0
- package/dist/web/assets/{stata-Qk2h66XW.js → stata-Tfbew8La.js} +1 -1
- package/dist/web/assets/{surrealql-8QEX7EfH.js → surrealql-C0LIGqRx.js} +1 -1
- package/dist/web/assets/{svelte-D_mubC5-.js → svelte-CfTy8CGF.js} +1 -1
- package/dist/web/assets/{system-monitor-tab-BA9gqJRW.js → system-monitor-tab-B5f4pgdX.js} +1 -1
- package/dist/web/assets/{templ-C1jV0fsO.js → templ-V5H1Sbfy.js} +1 -1
- package/dist/web/assets/{terminal-tab-DWncjHEA.js → terminal-tab-CK3lX-0Y.js} +2 -2
- package/dist/web/assets/{tex-D_StFXy_.js → tex-C3H3uMZf.js} +1 -1
- package/dist/web/assets/treemap-KZPCXAKY-ZYVFjoaN.js +1 -0
- package/dist/web/assets/{ts-tags-B5m47rEm.js → ts-tags-7AXgG5YS.js} +1 -1
- package/dist/web/assets/{twig-C_br6GIl.js → twig-BSyS38T3.js} +1 -1
- package/dist/web/assets/{use-monaco-theme-Ch2jRiGj.js → use-monaco-theme-Jj2OxkAE.js} +1 -1
- package/dist/web/assets/{use-websocket-MvxbuTdy.js → use-websocket-DrDBgIWU.js} +1 -1
- package/dist/web/assets/{vendor-mermaid-DP1CEcGn.js → vendor-mermaid-DGOXKrJC.js} +193 -193
- package/dist/web/assets/{video-preview-rWrNCfZX.js → video-preview-BOHxkwKG.js} +1 -1
- package/dist/web/assets/{vue-DQwCnLdr.js → vue-C4d_br9u.js} +1 -1
- package/dist/web/assets/{vue-html-T_EoGpPJ.js → vue-html-CGdoz4vW.js} +1 -1
- package/dist/web/assets/{vue-vine-DmxLqX50.js → vue-vine-CqNolQlN.js} +1 -1
- package/dist/web/assets/{xml-Bs6Bw8is.js → xml-UmCmu-Od.js} +1 -1
- package/dist/web/assets/{xsl-f5ZNhRCc.js → xsl-DJG6USGh.js} +1 -1
- package/dist/web/index.html +14 -14
- package/dist/web/monacoeditorwork/css.worker.bundle.js +122 -122
- package/dist/web/monacoeditorwork/editor.worker.bundle.js +78 -78
- package/dist/web/monacoeditorwork/html.worker.bundle.js +110 -110
- package/dist/web/monacoeditorwork/json.worker.bundle.js +108 -108
- package/dist/web/monacoeditorwork/ts.worker.bundle.js +81 -81
- package/dist/web/sw.js +1 -1
- package/package.json +1 -1
- package/schemas/ppm-config.schema.json +3 -3
- package/src/cli/commands/init.ts +8 -5
- package/src/providers/claude-agent-sdk-query-options.ts +57 -0
- package/src/providers/claude-agent-sdk.ts +21 -9
- package/src/server/ws/chat.ts +91 -10
- package/src/services/account.service.ts +13 -7
- package/src/services/db.service.ts +31 -1
- package/src/types/api.ts +4 -2
- package/src/types/chat.ts +8 -0
- package/src/types/config.ts +4 -9
- package/src/web/components/chat/chat-tab.tsx +8 -0
- package/src/web/components/chat/message-input.tsx +27 -7
- package/src/web/components/chat/message-list.tsx +48 -3
- package/src/web/components/chat/model-thinking-selector-helpers.ts +33 -0
- package/src/web/components/chat/model-thinking-selector.tsx +189 -0
- package/src/web/components/settings/ai-settings-section.tsx +2 -0
- package/src/web/components/settings/proxy-test-section.tsx +3 -1
- package/src/web/hooks/use-chat.ts +45 -0
- package/dist/web/assets/architecture-PBZL5I3N-CqTF9Xn6.js +0 -1
- package/dist/web/assets/chat-tab-C6nMDb9l.js +0 -18
- package/dist/web/assets/code-editor-C38IIs_y.js +0 -10
- package/dist/web/assets/data-grid-overlay-editor-cOzDcGkl.js +0 -1
- package/dist/web/assets/data-grid-types-CWHnFOc-.js +0 -1
- package/dist/web/assets/database-viewer-DxmL2veb.js +0 -1
- package/dist/web/assets/dist-B5ErTtYs.js +0 -11
- package/dist/web/assets/esm-DU7axMjq.js +0 -2
- package/dist/web/assets/gitGraph-HDMCJU4V-X12vfQ3i.js +0 -1
- package/dist/web/assets/glide-data-grid-BC0AHzMn.js +0 -138
- package/dist/web/assets/group-chat-tab-D20bF8q5.js +0 -1
- package/dist/web/assets/index-CMJ6whqq.css +0 -2
- package/dist/web/assets/info-3K5VOQVL-Bcz-Qhua.js +0 -1
- package/dist/web/assets/keybindings-store-TINaziU9.js +0 -1
- package/dist/web/assets/notification-store-DN8oDV7o.js +0 -1
- package/dist/web/assets/packet-RMMSAZCW-BTwjB70W.js +0 -1
- package/dist/web/assets/pie-UPGHQEXC-Cn-lrQYZ.js +0 -1
- package/dist/web/assets/postgres-viewer-pWjwP3GD.js +0 -3
- package/dist/web/assets/radar-KQ55EAFF-Cmppm_Ia.js +0 -1
- package/dist/web/assets/settings-tab-BoRuss3O.js +0 -1
- package/dist/web/assets/sqlite-viewer-BgewX3tM.js +0 -1
- package/dist/web/assets/treemap-KZPCXAKY-BLWus1wm.js +0 -1
- package/docs/journal/binary-self-upgrade-260724.md +0 -66
- package/nul/docs/claude-agent-sdk-reference.md +0 -780
- package/nul/docs/code-standards.md +0 -1080
- package/nul/docs/codebase-summary.md +0 -916
- package/nul/docs/deployment-guide.md +0 -702
- package/nul/docs/design-guidelines.md +0 -767
- package/nul/docs/extension-development-guide.md +0 -629
- package/nul/docs/journals/260414-1400-ext-git-graph-port-complete.md +0 -147
- package/nul/docs/journals/260414-1452-git-graph-faithful-port.md +0 -144
- package/nul/docs/journals/260414-1810-git-graph-ui-improvements-complete.md +0 -261
- package/nul/docs/journals/260414-2001-bundled-extensions.md +0 -219
- package/nul/docs/journals/260415-frontend-memory-optimization.md +0 -73
- package/nul/docs/lessons-learned.md +0 -70
- package/nul/docs/project-changelog.md +0 -574
- package/nul/docs/project-overview-pdr.md +0 -205
- package/nul/docs/project-roadmap.md +0 -222
- package/nul/docs/system-architecture.md +0 -1961
- package/packages/vscode-compat/node_modules/.bin/tsc.bunx +0 -0
- package/packages/vscode-compat/node_modules/.bin/tsc.exe +0 -0
- package/packages/vscode-compat/node_modules/.bin/tsserver.bunx +0 -0
- package/packages/vscode-compat/node_modules/.bin/tsserver.exe +0 -0
- package/spike-group-channel.mjs +0 -156
- package/spike-group-chat.mjs +0 -181
- /package/dist/web/assets/{abap-tkptwpsK.js → abap-BZ3J5hF3.js} +0 -0
- /package/dist/web/assets/{actionscript-3-Di9TMGwg.js → actionscript-3-CkyGfT-8.js} +0 -0
- /package/dist/web/assets/{ada-CB9F079D.js → ada-CxNLBoe7.js} +0 -0
- /package/dist/web/assets/{andromeeda-Dcl8jpb7.js → andromeeda-BPN5rsDz.js} +0 -0
- /package/dist/web/assets/{apache-D0Nk0qsH.js → apache-C1F5wHL6.js} +0 -0
- /package/dist/web/assets/{apex-mQIoWncD.js → apex-BaNixdO-.js} +0 -0
- /package/dist/web/assets/{api-themes-BdQCjXQk.js → api-themes-84MT-XqR.js} +0 -0
- /package/dist/web/assets/{applescript-C6ljbcsI.js → applescript-Cl_pdcch.js} +0 -0
- /package/dist/web/assets/{ara-WFqRPGPe.js → ara-B6UAE7M2.js} +0 -0
- /package/dist/web/assets/{asciidoc-bNd8w4nf.js → asciidoc-D9c9Twki.js} +0 -0
- /package/dist/web/assets/{asm-BQ1_F580.js → asm-CNmtv7Y9.js} +0 -0
- /package/dist/web/assets/{aurora-x-Ciqs_Dbu.js → aurora-x-C9z-NyzR.js} +0 -0
- /package/dist/web/assets/{awk-GCR-6KZV.js → awk-BfLHEnKa.js} +0 -0
- /package/dist/web/assets/{ayu-dark-DxJXuj99.js → ayu-dark-Bn7trkt_.js} +0 -0
- /package/dist/web/assets/{ayu-light-jvSyJWDV.js → ayu-light-Dpya9hPf.js} +0 -0
- /package/dist/web/assets/{ayu-mirage-Cg3BPO6H.js → ayu-mirage-Cc0jfABD.js} +0 -0
- /package/dist/web/assets/{ballerina-BPz4CrX6.js → ballerina-BtiCmN7T.js} +0 -0
- /package/dist/web/assets/{bat-CSTs2hIG.js → bat-tmFM76zR.js} +0 -0
- /package/dist/web/assets/{beancount-DMateAZX.js → beancount-BjPqRrcH.js} +0 -0
- /package/dist/web/assets/{berry-9lXg0GRM.js → berry-D0SQBxN2.js} +0 -0
- /package/dist/web/assets/{bibtex-DIbqmvFg.js → bibtex-CkjRWQKr.js} +0 -0
- /package/dist/web/assets/{bicep-02WGsoJ8.js → bicep-Bhq28Cxc.js} +0 -0
- /package/dist/web/assets/{bird2-BY0tbu3k.js → bird2-DFGInYb3.js} +0 -0
- /package/dist/web/assets/{c-jMBX_9Je.js → c-CP8cB4k_.js} +0 -0
- /package/dist/web/assets/{c3-B8JVbNjW.js → c3-oRytyeWo.js} +0 -0
- /package/dist/web/assets/{cadence-DUIf1tvL.js → cadence-Inf1rGb7.js} +0 -0
- /package/dist/web/assets/{catppuccin-frappe-FhUCVxex.js → catppuccin-frappe-DAzribQo.js} +0 -0
- /package/dist/web/assets/{catppuccin-latte-CzfrtmgL.js → catppuccin-latte-B6Y_mCCQ.js} +0 -0
- /package/dist/web/assets/{catppuccin-macchiato-6xL0lOtj.js → catppuccin-macchiato-COLbYqVL.js} +0 -0
- /package/dist/web/assets/{catppuccin-mocha-D39-xS3P.js → catppuccin-mocha-DKWaML1B.js} +0 -0
- /package/dist/web/assets/{clarity-D8TeGvoT.js → clarity-_ZLLrrsX.js} +0 -0
- /package/dist/web/assets/{clojure-Dx_acSX7.js → clojure-DWGVCg_P.js} +0 -0
- /package/dist/web/assets/{cmake-CyeYPq8o.js → cmake-Cwh3mug7.js} +0 -0
- /package/dist/web/assets/{codeowners-DrTI0lmI.js → codeowners-BdV6CFYi.js} +0 -0
- /package/dist/web/assets/{codeql-CPkFxVW-.js → codeql-NvupDIDf.js} +0 -0
- /package/dist/web/assets/{common-lisp-B0k-3LTj.js → common-lisp-B-vtBh5k.js} +0 -0
- /package/dist/web/assets/{coq-uygpo7to.js → coq-M8-FTfiZ.js} +0 -0
- /package/dist/web/assets/{csharp-DKUYGfSp.js → csharp-B7Ugdtd-.js} +0 -0
- /package/dist/web/assets/{css-DoOUp7v4.js → css-86k3Z-YA.js} +0 -0
- /package/dist/web/assets/{csv-B3YE13gi.js → csv-BX5XYhfH.js} +0 -0
- /package/dist/web/assets/{csv-parser-CB6bK93y.js → csv-parser-d56Fzpwc.js} +0 -0
- /package/dist/web/assets/{cue-DViO2wvn.js → cue-B7099gQa.js} +0 -0
- /package/dist/web/assets/{cypher-4BMCIW5N.js → cypher-D99mWVIu.js} +0 -0
- /package/dist/web/assets/{d-BT_sTHas.js → d-CFE8oQwh.js} +0 -0
- /package/dist/web/assets/{dark-plus-DVVXu-1N.js → dark-plus-BEeeDwdg.js} +0 -0
- /package/dist/web/assets/{dart-DHz6f6_6.js → dart-HVSWGnI5.js} +0 -0
- /package/dist/web/assets/{dax-ChYCjweK.js → dax-DjDgSJkh.js} +0 -0
- /package/dist/web/assets/{desktop-D6Lt4p04.js → desktop-B5A3i7J1.js} +0 -0
- /package/dist/web/assets/{diff-D8TDe4hP.js → diff-CpTrlaE9.js} +0 -0
- /package/dist/web/assets/{dist-D1CjMuoa.js → dist-BSCgJs-V.js} +0 -0
- /package/dist/web/assets/{docker-Bsp0YbPx.js → docker-xBhmJeHj.js} +0 -0
- /package/dist/web/assets/{dotenv-B_7giSY_.js → dotenv-DKKhLEv5.js} +0 -0
- /package/dist/web/assets/{dracula-TrQL2iB5.js → dracula-CVwQuzra.js} +0 -0
- /package/dist/web/assets/{dracula-soft-n2XOlgh-.js → dracula-soft-CG6mB-lf.js} +0 -0
- /package/dist/web/assets/{dream-maker-CdIEdhpT.js → dream-maker-SC-IdYY3.js} +0 -0
- /package/dist/web/assets/{edit-diff-preview-Cj6-iplb.js → edit-diff-preview-C50i1H63.js} +0 -0
- /package/dist/web/assets/{emacs-lisp-CSbixs6u.js → emacs-lisp-CIBFq6W8.js} +0 -0
- /package/dist/web/assets/{everforest-dark-BuZahZYp.js → everforest-dark-odRT_lec.js} +0 -0
- /package/dist/web/assets/{everforest-light-DPH53z5H.js → everforest-light-or1Voqjl.js} +0 -0
- /package/dist/web/assets/{fennel-B1-K_hlJ.js → fennel-tQd1z3iu.js} +0 -0
- /package/dist/web/assets/{fish-Cy12Dbua.js → fish-DSuZQG0k.js} +0 -0
- /package/dist/web/assets/{fluent-B_82ys8E.js → fluent-D7xI8a8e.js} +0 -0
- /package/dist/web/assets/{fortran-free-form-BRQdNzZF.js → fortran-free-form-BlAtcPd3.js} +0 -0
- /package/dist/web/assets/{gdscript-XBDmLUm9.js → gdscript-VsEQXBPm.js} +0 -0
- /package/dist/web/assets/{gdshader-DhVfB3u4.js → gdshader-iqHMOdwW.js} +0 -0
- /package/dist/web/assets/{genie-X3K29Y49.js → genie-C4XU4g1a.js} +0 -0
- /package/dist/web/assets/{gherkin-DKIx-6cX.js → gherkin-C4nfQzAB.js} +0 -0
- /package/dist/web/assets/{github-dark-Bf7zdp5s.js → github-dark-B_pbG3CC.js} +0 -0
- /package/dist/web/assets/{github-dark-default-DqsBBV11.js → github-dark-default-kFbx7C95.js} +0 -0
- /package/dist/web/assets/{github-dark-dimmed-X2gqRz6w.js → github-dark-dimmed-CpVfQEqs.js} +0 -0
- /package/dist/web/assets/{github-dark-high-contrast-Z7tvbGX4.js → github-dark-high-contrast-DYKqQwZh.js} +0 -0
- /package/dist/web/assets/{github-light-default-B0liF4d4.js → github-light-default-DVHfMPQ2.js} +0 -0
- /package/dist/web/assets/{github-light-BKxt-7zZ.js → github-light-gEYBmKaj.js} +0 -0
- /package/dist/web/assets/{github-light-high-contrast-F4encJwr.js → github-light-high-contrast-ClVJDu-q.js} +0 -0
- /package/dist/web/assets/{gleam-Pz2bHgBB.js → gleam-BLaPu7ft.js} +0 -0
- /package/dist/web/assets/{gn-CgmdNsPU.js → gn-BKgerUyI.js} +0 -0
- /package/dist/web/assets/{gnuplot-qLNF5yZ9.js → gnuplot-cqJuEFb-.js} +0 -0
- /package/dist/web/assets/{go-CSDUNhE7.js → go-B2EHdyD8.js} +0 -0
- /package/dist/web/assets/{groovy-B3NEnOHF.js → groovy-DdImoj8s.js} +0 -0
- /package/dist/web/assets/{gruvbox-dark-hard-DcoftiUX.js → gruvbox-dark-hard-DlwstAds.js} +0 -0
- /package/dist/web/assets/{gruvbox-dark-medium-D1wVSuD8.js → gruvbox-dark-medium-CiYEd1vd.js} +0 -0
- /package/dist/web/assets/{gruvbox-dark-soft-DWpunymH.js → gruvbox-dark-soft-C-wEa4h4.js} +0 -0
- /package/dist/web/assets/{gruvbox-light-hard-rHMvyUdS.js → gruvbox-light-hard-BqYmfna-.js} +0 -0
- /package/dist/web/assets/{gruvbox-light-medium-3O2KiXO7.js → gruvbox-light-medium-CxmfalT2.js} +0 -0
- /package/dist/web/assets/{gruvbox-light-soft-lNlXJPwH.js → gruvbox-light-soft-DGWXXMCB.js} +0 -0
- /package/dist/web/assets/{haskell-aaG3aC0h.js → haskell-H_C_IuVb.js} +0 -0
- /package/dist/web/assets/{haxe-CPcHhUDd.js → haxe-CGNSMpeZ.js} +0 -0
- /package/dist/web/assets/{hcl-CMQNlR_4.js → hcl-B7bSTSQf.js} +0 -0
- /package/dist/web/assets/{hjson-DeuklPFj.js → hjson-DlJ-glQZ.js} +0 -0
- /package/dist/web/assets/{hlsl-BI3hlsaM.js → hlsl-CehW5SJN.js} +0 -0
- /package/dist/web/assets/{horizon-C7-gOcjs.js → horizon-Beabcz2d.js} +0 -0
- /package/dist/web/assets/{horizon-bright-Cxt9bRW7.js → horizon-bright-BC87RXPa.js} +0 -0
- /package/dist/web/assets/{houston-DbF2G7iD.js → houston-Da7RFwUy.js} +0 -0
- /package/dist/web/assets/{hy-DRG6Hs2I.js → hy-m1H70w19.js} +0 -0
- /package/dist/web/assets/{imba-CxKv_2TW.js → imba-MExFsdAA.js} +0 -0
- /package/dist/web/assets/{ini-BiHsyCdO.js → ini-CJy_zmwy.js} +0 -0
- /package/dist/web/assets/{java-D3RZzgDB.js → java-DqDFvJBH.js} +0 -0
- /package/dist/web/assets/{javascript-4FmSqG-T.js → javascript-C3Wyv22X.js} +0 -0
- /package/dist/web/assets/{json-CjB236_E.js → json-DnGBw_DZ.js} +0 -0
- /package/dist/web/assets/{json5-bkfO-Rco.js → json5-CRN-zoN4.js} +0 -0
- /package/dist/web/assets/{jsonc-BwaTeLyv.js → jsonc-CKRUZNRo.js} +0 -0
- /package/dist/web/assets/{jsonl-CfxNSwGd.js → jsonl-CGfD6FrH.js} +0 -0
- /package/dist/web/assets/{jsonnet-CQETCYrp.js → jsonnet-nbFuDj0o.js} +0 -0
- /package/dist/web/assets/{jssm-D5o3Zzdz.js → jssm-D0ShzIqD.js} +0 -0
- /package/dist/web/assets/{jsx-BAMILPLo.js → jsx-D27hbRbs.js} +0 -0
- /package/dist/web/assets/{kanagawa-dragon-BhGVxu3R.js → kanagawa-dragon-Ov3f8K0T.js} +0 -0
- /package/dist/web/assets/{kanagawa-lotus-FH4Y59ro.js → kanagawa-lotus-CLyOqh-g.js} +0 -0
- /package/dist/web/assets/{kanagawa-wave-eilvP9MB.js → kanagawa-wave-Kj3dzabH.js} +0 -0
- /package/dist/web/assets/{kdl-BQ-yvXUK.js → kdl-DFF58Gu4.js} +0 -0
- /package/dist/web/assets/{kotlin-BuCx0-VT.js → kotlin-BM4PKaB4.js} +0 -0
- /package/dist/web/assets/{kusto-DAN_n_Cy.js → kusto-DrvHLCv5.js} +0 -0
- /package/dist/web/assets/{laserwave-Cq2BlxrT.js → laserwave-Db6i6ZkO.js} +0 -0
- /package/dist/web/assets/{lean-Dhq7uXKw.js → lean-D0hEjzwk.js} +0 -0
- /package/dist/web/assets/{less-CxaMQb8j.js → less-BEj4npGG.js} +0 -0
- /package/dist/web/assets/{lib-MIEszzkI.js → lib-CBdlQ75W.js} +0 -0
- /package/dist/web/assets/{light-plus-B4sMAend.js → light-plus-DLIIbDea.js} +0 -0
- /package/dist/web/assets/{llvm-DQ6-B_6Y.js → llvm-DMt6umsO.js} +0 -0
- /package/dist/web/assets/{log-Bb_vqvu7.js → log-BopvdtPW.js} +0 -0
- /package/dist/web/assets/{logo-BzfYv3A_.js → logo-CYSUFPFR.js} +0 -0
- /package/dist/web/assets/{luau-BnAeNR77.js → luau-XC611HNO.js} +0 -0
- /package/dist/web/assets/{make-B6IFuxpC.js → make-BMYZIfBj.js} +0 -0
- /package/dist/web/assets/{markdown-Z0xi77Fn.js → markdown-BLza5nvF.js} +0 -0
- /package/dist/web/assets/{material-theme-1scy1SYn.js → material-theme-Uw27UfJW.js} +0 -0
- /package/dist/web/assets/{material-theme-darker-G-JykXQP.js → material-theme-darker-dfqt8XBY.js} +0 -0
- /package/dist/web/assets/{material-theme-lighter-BtKkCMVq.js → material-theme-lighter-CPtBTblV.js} +0 -0
- /package/dist/web/assets/{material-theme-ocean-irrDC89L.js → material-theme-ocean-BfZgVqC-.js} +0 -0
- /package/dist/web/assets/{material-theme-palenight-Eq5_K4LM.js → material-theme-palenight-DAZoVYg8.js} +0 -0
- /package/dist/web/assets/{matlab-BE3oCXZC.js → matlab-cSzmquiW.js} +0 -0
- /package/dist/web/assets/{mdx-DYiuFTGw.js → mdx-Dq0kW5VM.js} +0 -0
- /package/dist/web/assets/{mermaid-DVlaEvtw.js → mermaid-DoIKF0yS.js} +0 -0
- /package/dist/web/assets/{min-dark-DSkeTpQa.js → min-dark-DyraimDU.js} +0 -0
- /package/dist/web/assets/{min-light-CFv2Q0uF.js → min-light-Co9cbcUv.js} +0 -0
- /package/dist/web/assets/{mipsasm-CiAFuZQ2.js → mipsasm-ph6cKgHn.js} +0 -0
- /package/dist/web/assets/{mojo-ARshcaSQ.js → mojo-BBT0XwmY.js} +0 -0
- /package/dist/web/assets/{monokai-CPTV-SOg.js → monokai-IP0T5Rtg.js} +0 -0
- /package/dist/web/assets/{moonbit-D57B0dZr.js → moonbit-B8cogNXl.js} +0 -0
- /package/dist/web/assets/{move-qgy3G_o9.js → move-DkY26NtM.js} +0 -0
- /package/dist/web/assets/{narrat-CZ3rC-oc.js → narrat-rBs3byG0.js} +0 -0
- /package/dist/web/assets/{nextflow-groovy-BxxIOcI4.js → nextflow-groovy-DkO9wMLP.js} +0 -0
- /package/dist/web/assets/{night-owl-B1ryGCda.js → night-owl-jVR4lFji.js} +0 -0
- /package/dist/web/assets/{night-owl-light-BZvNnvMF.js → night-owl-light-fBYJ7s3U.js} +0 -0
- /package/dist/web/assets/{nix-BVBQi8yv.js → nix-WX9oavu6.js} +0 -0
- /package/dist/web/assets/{nord-3NXw613h.js → nord-Cf7G21Pu.js} +0 -0
- /package/dist/web/assets/{nushell-BMOLRalb.js → nushell-DQdzcJ1H.js} +0 -0
- /package/dist/web/assets/{objective-c-AxruEUgh.js → objective-c-JSO2uvZ-.js} +0 -0
- /package/dist/web/assets/{objective-cpp-cFT0qRsD.js → objective-cpp-CZMGJ9Fb.js} +0 -0
- /package/dist/web/assets/{ocaml-_8JH6O8J.js → ocaml-C4S4NSDo.js} +0 -0
- /package/dist/web/assets/{odin-nwYvR0O6.js → odin-Y2jXCgVq.js} +0 -0
- /package/dist/web/assets/{one-dark-pro-C1LaYJaH.js → one-dark-pro-dVIxuoJY.js} +0 -0
- /package/dist/web/assets/{one-light-B7rMc__c.js → one-light-BQ1IKfD1.js} +0 -0
- /package/dist/web/assets/{openscad-Cwes8bKO.js → openscad-Bddw4I3z.js} +0 -0
- /package/dist/web/assets/{pascal-DMt-6tdZ.js → pascal-BKVXrzC1.js} +0 -0
- /package/dist/web/assets/{pkl-QBTyYQmB.js → pkl-BTd-YRsO.js} +0 -0
- /package/dist/web/assets/{plastic-BTSUp8Fk.js → plastic-eiGvBIxV.js} +0 -0
- /package/dist/web/assets/{plsql-DQv3IFXP.js → plsql-C290tieP.js} +0 -0
- /package/dist/web/assets/{po-CNwZx4tW.js → po-DyDwh0tx.js} +0 -0
- /package/dist/web/assets/{poimandres-8Os7Qequ.js → poimandres-B87zc_g-.js} +0 -0
- /package/dist/web/assets/{polar-b4yK8oD8.js → polar-Cdub1YMT.js} +0 -0
- /package/dist/web/assets/{postcss-sFctwpxx.js → postcss-BcI_3K0v.js} +0 -0
- /package/dist/web/assets/{powerquery-Cg_WrtuN.js → powerquery-OdMrkJSe.js} +0 -0
- /package/dist/web/assets/{powershell-C7Ifz95h.js → powershell-C8auT6xg.js} +0 -0
- /package/dist/web/assets/{prisma-Z52HUJzQ.js → prisma-DIbVv8PA.js} +0 -0
- /package/dist/web/assets/{prolog-DLqW-zR1.js → prolog-DbTOH3Ld.js} +0 -0
- /package/dist/web/assets/{proto-BOIzxCCJ.js → proto-C4Cq2dCD.js} +0 -0
- /package/dist/web/assets/{puppet-De7TjZIf.js → puppet-DJp3uqum.js} +0 -0
- /package/dist/web/assets/{purescript-R76ou1WT.js → purescript-CLsV4rPU.js} +0 -0
- /package/dist/web/assets/{python-Dprm0tNP.js → python-2gBtEza2.js} +0 -0
- /package/dist/web/assets/{qmldir-Clp_jpNw.js → qmldir-DfhULcua.js} +0 -0
- /package/dist/web/assets/{qss-eQPYYzSo.js → qss-DK--VTTV.js} +0 -0
- /package/dist/web/assets/{r-CCcRHIf5.js → r-BArBO2Sa.js} +0 -0
- /package/dist/web/assets/{racket-CzE472yp.js → racket-5mijHsVy.js} +0 -0
- /package/dist/web/assets/{raku-DQwXrTSi.js → raku-ir0suElk.js} +0 -0
- /package/dist/web/assets/{red-KCS6wyop.js → red-DSecpIOT.js} +0 -0
- /package/dist/web/assets/{reg-CcrAddUh.js → reg-Dp30FusS.js} +0 -0
- /package/dist/web/assets/{regexp-DDbud-Ri.js → regexp-DXJnEM_6.js} +0 -0
- /package/dist/web/assets/{rel-99GDgaHp.js → rel-Dr483ozj.js} +0 -0
- /package/dist/web/assets/{riscv-Dm2eNv0R.js → riscv-ZfBy5IA1.js} +0 -0
- /package/dist/web/assets/{ron-CzFt0ygH.js → ron-ZJ_CljGP.js} +0 -0
- /package/dist/web/assets/{rose-pine-Ck6lCrCP.js → rose-pine-CcW_eJ6G.js} +0 -0
- /package/dist/web/assets/{rose-pine-dawn-vtALRJNj.js → rose-pine-dawn-v2l_UF-j.js} +0 -0
- /package/dist/web/assets/{rose-pine-moon-DPto8qXw.js → rose-pine-moon-CNXkwf3D.js} +0 -0
- /package/dist/web/assets/{rosmsg-NtS6429H.js → rosmsg-BMYMVW84.js} +0 -0
- /package/dist/web/assets/{rust-BjIXvF9h.js → rust-BR-zJh5q.js} +0 -0
- /package/dist/web/assets/{sass-CQ23wf5E.js → sass-BukPOBFz.js} +0 -0
- /package/dist/web/assets/{scala-LfKLM143.js → scala-DUFY7D6D.js} +0 -0
- /package/dist/web/assets/{scheme-D3SLBXlF.js → scheme-Dl-dNNxQ.js} +0 -0
- /package/dist/web/assets/{sdbl-ODRd2rGN.js → sdbl-DdmlQhia.js} +0 -0
- /package/dist/web/assets/{shellscript-3KB1G_oA.js → shellscript-UyhrvGcd.js} +0 -0
- /package/dist/web/assets/{slack-dark-DTtyWmIy.js → slack-dark-Cv6Szr-q.js} +0 -0
- /package/dist/web/assets/{slack-ochin-Bu0PApk3.js → slack-ochin-V6Ii3lAm.js} +0 -0
- /package/dist/web/assets/{smalltalk-haMT-Sbe.js → smalltalk-BUCv5G91.js} +0 -0
- /package/dist/web/assets/{snazzy-light-DXJzefE9.js → snazzy-light-B67a78qi.js} +0 -0
- /package/dist/web/assets/{solarized-dark-B6LyYa18.js → solarized-dark-ccWnfYyA.js} +0 -0
- /package/dist/web/assets/{solarized-light-QLADebkv.js → solarized-light-C3WyRO5I.js} +0 -0
- /package/dist/web/assets/{solidity-mzfq1aDc.js → solidity-BFbRPNi_.js} +0 -0
- /package/dist/web/assets/{splunk-CyH4RWBp.js → splunk-zdpwCJLE.js} +0 -0
- /package/dist/web/assets/{sql-CWVlT5D3.js → sql-B2IPUsfz.js} +0 -0
- /package/dist/web/assets/{ssh-config-DNvQJ1Qx.js → ssh-config-Co4cXifq.js} +0 -0
- /package/dist/web/assets/{stylus-ByQQdtmf.js → stylus-CmI75XY8.js} +0 -0
- /package/dist/web/assets/{swift-D1cpY4ow.js → swift-Dfks9YQI.js} +0 -0
- /package/dist/web/assets/{synthwave-84-BDF_-QiW.js → synthwave-84-B3LERzNS.js} +0 -0
- /package/dist/web/assets/{system-verilog-BYrkMydC.js → system-verilog-BFvldiwl.js} +0 -0
- /package/dist/web/assets/{systemd-CQm3zyK0.js → systemd-Cu4Vvgbu.js} +0 -0
- /package/dist/web/assets/{talonscript-DMW5CzE1.js → talonscript-Bnq32pUB.js} +0 -0
- /package/dist/web/assets/{tasl-BhFzMCr2.js → tasl-Nwe2K3J1.js} +0 -0
- /package/dist/web/assets/{tcl-D7VEAF-9.js → tcl-zOnpywrl.js} +0 -0
- /package/dist/web/assets/{terraform-DdT5A0Vy.js → terraform-Bc9Vj-n3.js} +0 -0
- /package/dist/web/assets/{tokyo-night-WGLMM6Q9.js → tokyo-night-9_KyM8M2.js} +0 -0
- /package/dist/web/assets/{toml-CZ7ipXHZ.js → toml-ByH-fxOY.js} +0 -0
- /package/dist/web/assets/{tsv-B1zVvoTr.js → tsv-DrCnDClP.js} +0 -0
- /package/dist/web/assets/{tsx-D4HwRUBq.js → tsx-B8LafSYr.js} +0 -0
- /package/dist/web/assets/{turtle-B4r8KEJH.js → turtle-DuyP_QCJ.js} +0 -0
- /package/dist/web/assets/{typescript-BnHhxMtp.js → typescript-BTBJb5RD.js} +0 -0
- /package/dist/web/assets/{typespec-DP2q46GT.js → typespec-DdOFo7M5.js} +0 -0
- /package/dist/web/assets/{typst-DFsD_yaD.js → typst-LYvnBWQu.js} +0 -0
- /package/dist/web/assets/{use-blob-url-DpDVcTeK.js → use-blob-url-CpyRr7Cx.js} +0 -0
- /package/dist/web/assets/{v-Bji8hSVT.js → v-BuBYA1_x.js} +0 -0
- /package/dist/web/assets/{vala-D3TIgGmU.js → vala-vRIBYYe3.js} +0 -0
- /package/dist/web/assets/{vb-DvcxFS2q.js → vb-DwGi-IYM.js} +0 -0
- /package/dist/web/assets/{vendor-xterm-DfNMj6xt.js → vendor-xterm-i6SHFTfU.js} +0 -0
- /package/dist/web/assets/{verilog-Dy7cF35d.js → verilog-6B1X4G2-.js} +0 -0
- /package/dist/web/assets/{vesper-BzjwUv9J.js → vesper-Dw1y_Ae7.js} +0 -0
- /package/dist/web/assets/{vhdl-DuFnFNmW.js → vhdl-DK8JwBzJ.js} +0 -0
- /package/dist/web/assets/{viml-yAPgKlbz.js → viml-BTKIEIqm.js} +0 -0
- /package/dist/web/assets/{vitesse-black-oSSQdyIZ.js → vitesse-black-BqqolhEg.js} +0 -0
- /package/dist/web/assets/{vitesse-dark-BZxwPihB.js → vitesse-dark-B9JL5WQA.js} +0 -0
- /package/dist/web/assets/{vitesse-light-uIigycvt.js → vitesse-light-DYJKj2se.js} +0 -0
- /package/dist/web/assets/{vyper-CX3NAxm5.js → vyper-D-jDI3WH.js} +0 -0
- /package/dist/web/assets/{wasm-Coen1MOg.js → wasm-1-GlNdpk.js} +0 -0
- /package/dist/web/assets/{wasm-D9td37qO.js → wasm-BBW4WmT2.js} +0 -0
- /package/dist/web/assets/{wenyan-lwNIHgk6.js → wenyan-B6cM7sDO.js} +0 -0
- /package/dist/web/assets/{wgsl-DQAzCfog.js → wgsl-FaHGQgko.js} +0 -0
- /package/dist/web/assets/{wikitext-DTXmt5NE.js → wikitext-DtIyPUrk.js} +0 -0
- /package/dist/web/assets/{wit-Bdw_7WDH.js → wit-BMVRif5Y.js} +0 -0
- /package/dist/web/assets/{wolfram-DqyHDZ07.js → wolfram-DQsCGohn.js} +0 -0
- /package/dist/web/assets/{yaml-CPXhdByd.js → yaml-C-Va56Gt.js} +0 -0
- /package/dist/web/assets/{zenscript-6s_i5zek.js → zenscript-DdobKGI-.js} +0 -0
- /package/dist/web/assets/{zig-B2htezJ_.js → zig-vqDFwj6q.js} +0 -0
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/markdown-renderer-DVVx3WCU.js","assets/rolldown-runtime-FhOqtrmT.js","assets/index-C1Q59prB.js","assets/vendor-mermaid-DP1CEcGn.js","assets/vendor-ui-DMRGWRuc.js","assets/vendor-markdown-CKTlmXbz.js","assets/utils-CTg5uAYR.js","assets/createLucideIcon-ConhwJnb.js","assets/eye-off-Rq1n2-oe.js","assets/bot-E9mcVZnr.js","assets/chevron-right-BBc6ATtm.js","assets/input-24Nf_edC.js","assets/sparkles-2ii4lR7b.js","assets/database-BLht7BVM.js","assets/trash-2-CbbD5QF1.js","assets/x-C2VSAp7O.js","assets/react-J9g6e3Rq.js","assets/api-client-Dvzcc_EO.js","assets/api-settings-DAk7D-NP.js","assets/project-store-Cekcjcom.js","assets/panel-store-D6RV_ztx.js","assets/settings-store-mWnY4Kt0.js","assets/tab-store-CcLQfu8H.js","assets/apply-theme-ORrEdHKT.js","assets/resolve-theme-DJORYzKu.js","assets/index-CMJ6whqq.css","assets/csv-preview-DzhSC0fd.js","assets/lib-MIEszzkI.js","assets/csv-parser-CB6bK93y.js","assets/image-preview-D_8o6OLx.js","assets/file-exclamation-point-C-lL0g_E.js","assets/use-blob-url-DpDVcTeK.js","assets/pdf-preview-HTC73FyK.js","assets/video-preview-rWrNCfZX.js","assets/audio-preview-DbFUkIzm.js","assets/docx-preview-DfjH-dIr.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{b as t,y as n}from"./vendor-markdown-CKTlmXbz.js";import"./vendor-ui-DMRGWRuc.js";import{t as r}from"./createLucideIcon-ConhwJnb.js";import{t as i}from"./chevron-right-BBc6ATtm.js";import{t as a}from"./input-24Nf_edC.js";import{t as o}from"./code-7ZAlTvsm.js";import{t as s}from"./database-BLht7BVM.js";import{i as c,r as l}from"./trash-2-CbbD5QF1.js";import{t as u}from"./file-exclamation-point-C-lL0g_E.js";import{a as d,i as f,r as p,t as m}from"./glide-data-grid-BC0AHzMn.js";import{t as ee}from"./shield-check-m2QzZTuZ.js";import{t as te}from"./shield-off-DNn7VzJe.js";import{t as ne}from"./table-CAVmgQMT.js";import{t as h}from"./x-C2VSAp7O.js";import{i as g,t as _}from"./api-client-Dvzcc_EO.js";import{q as v}from"./vendor-mermaid-DP1CEcGn.js";import{t as re}from"./settings-store-mWnY4Kt0.js";import{t as y}from"./utils-CTg5uAYR.js";import{t as ie}from"./panel-store-D6RV_ztx.js";import{i as b}from"./project-store-Cekcjcom.js";import{t as ae}from"./tab-store-CcLQfu8H.js";import{$ as x,B as S,Bt as oe,Dt as C,E as w,G as T,H as E,J as se,Jt as D,K as O,Q as k,T as ce,U as A,V as le,W as j,Y as M,Z as ue,Zt as de,an as fe,dt as N,en as pe,et as P,in as F,kt as me,ln as he,nn as ge,o as _e,on as ve,q as ye,rn as be,tn as I,tt as L,zt as xe}from"./index-C1Q59prB.js";import"./data-grid-types-CWHnFOc-.js";import{t as Se}from"./use-monaco-theme-Ch2jRiGj.js";var Ce=r(`redo-2`,[[`path`,{d:`m15 14 5-5-5-5`,key:`12vg1m`}],[`path`,{d:`M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13`,key:`6uklza`}]]),R=e(t(),1),z=n();function we(e){let t=e.startsWith(`/`),n=e.split(/[/\\]/).filter(Boolean),r=e=>{let r=(t?`/`:``)+n.slice(0,e+1).join(`/`);return/^[A-Za-z]:$/.test(r)?r+`/`:r},i=t?`/`:(n[0]??``)+`/`;return n.map((e,t)=>({name:e,absPath:r(t),parentDir:t>0?r(t-1):i}))}async function Te(e){return(await _.get(`/api/fs/browse?path=${encodeURIComponent(e)}`)).entries}function B({filePath:e,projectName:t,tabId:n,className:r}){let{updateTab:a,openTab:o}=ae(S(e=>({updateTab:e.updateTab,openTab:e.openTab}))),s=(0,R.useRef)(null),c=(0,R.useMemo)(()=>we(e),[e]);(0,R.useEffect)(()=>{s.current&&(s.current.scrollLeft=s.current.scrollWidth)},[c]);let l=(0,R.useCallback)((e,r)=>{let i=y(e),s={filePath:e,projectName:t};r.metaKey||r.ctrlKey?o({type:`editor`,title:i,metadata:s,projectId:t,closable:!0}):a(n,{title:i,metadata:s})},[t,n,o,a]);return(0,z.jsx)(`div`,{ref:s,className:r,children:c.map((e,t)=>(0,z.jsxs)(`div`,{className:`flex items-center shrink-0`,children:[t>0&&(0,z.jsx)(i,{className:`size-3 text-muted-foreground shrink-0 mx-0.5`}),(0,z.jsx)(Ee,{segment:e,isLast:t===c.length-1,onFileClick:l})]},e.absPath))})}function Ee({segment:e,isLast:t,onFileClick:n}){let[r,i]=(0,R.useState)(null),[a,o]=(0,R.useState)(null);function s(t){t&&r===null&&Te(e.parentDir).then(i).catch(e=>{o(e.message||`Failed to browse`),i([])})}return(0,z.jsxs)(le,{onOpenChange:s,children:[(0,z.jsx)(ye,{asChild:!0,children:(0,z.jsx)(`button`,{type:`button`,className:`text-xs px-1 py-0.5 rounded hover:bg-muted transition-colors truncate max-w-[120px] ${t?`text-foreground font-medium`:`text-muted-foreground`}`,children:e.name})}),(0,z.jsx)(E,{align:`start`,className:`max-h-[300px] overflow-y-auto p-1`,children:r===null?(0,z.jsx)(A,{disabled:!0,className:`text-xs text-muted-foreground`,children:`Loading…`}):a?(0,z.jsx)(A,{disabled:!0,className:`text-xs text-destructive`,children:a}):r.length===0?(0,z.jsx)(A,{disabled:!0,className:`text-xs text-muted-foreground`,children:`Empty`}):r.map(t=>(0,z.jsx)(V,{entry:t,activePath:e.absPath,onFileClick:n},t.path))})]})}function V({entry:e,activePath:t,onFileClick:n}){let r=H(e.name,e.type===`directory`),i=e.path===t,[a,o]=(0,R.useState)(null);if(e.type===`directory`){function s(t){t&&a===null&&Te(e.path).then(o).catch(()=>o([]))}return(0,z.jsxs)(j,{onOpenChange:s,children:[(0,z.jsxs)(O,{className:`text-xs gap-1.5 ${i?`bg-muted`:``}`,children:[(0,z.jsx)(r,{className:`size-3.5 shrink-0 text-muted-foreground`}),(0,z.jsx)(`span`,{className:`truncate`,children:e.name})]}),(0,z.jsx)(T,{className:`max-h-[300px] overflow-y-auto p-1`,children:a===null?(0,z.jsx)(A,{disabled:!0,className:`text-xs text-muted-foreground`,children:`Loading…`}):a.length===0?(0,z.jsx)(A,{disabled:!0,className:`text-xs text-muted-foreground`,children:`Empty`}):a.map(e=>(0,z.jsx)(V,{entry:e,activePath:t,onFileClick:n},e.path))})]})}return(0,z.jsxs)(A,{className:`text-xs gap-1.5 cursor-pointer ${i?`bg-muted`:``}`,onClick:t=>n(e.path,t),children:[(0,z.jsx)(r,{className:`size-3.5 shrink-0 text-muted-foreground`}),(0,z.jsx)(`span`,{className:`truncate`,children:e.name})]})}var De={ts:F,tsx:F,js:F,jsx:F,py:F,rs:F,go:F,html:F,css:F,scss:F,json:fe,md:be,txt:be,yaml:ge,yml:ge};function H(e,t){return t?pe:De[e.split(`.`).pop()?.toLowerCase()??``]??I}function U(e,t){let n=[],r=e,i=``;for(let e=0;e<t.length;e++){let a=t[e],o=t.slice(0,e+1).join(`/`),s=r.find(e=>e.name===a);if(n.push({name:a,fullPath:o,node:s??null,siblings:r,parentPath:i}),s?.children)i=s.path,r=s.children;else{for(let r=e+1;r<t.length;r++)n.push({name:t[r],fullPath:t.slice(0,r+1).join(`/`),node:null,siblings:[],parentPath:t.slice(0,r).join(`/`)});break}}return n}function Oe(e){return[...e].sort((e,t)=>e.type===t.type?e.name.localeCompare(t.name):e.type===`directory`?-1:1)}function ke({filePath:e,projectName:t,tabId:n,className:r}){let a=N(e=>e.tree),{updateTab:o,openTab:s}=ae(S(e=>({updateTab:e.updateTab,openTab:e.openTab}))),c=b(e=>e.projects.find(e=>e.name===t)?.path??``),l=(0,R.useRef)(null),{prefixParts:u,relativePath:d,isExternal:f}=(0,R.useMemo)(()=>{let t=e.startsWith(`/`)?e.slice(1):e,n=c.startsWith(`/`)?c.slice(1):c;if(n&&t.startsWith(n+`/`)){let e=t.slice(n.length+1);return{prefixParts:n.split(`/`),relativePath:e,isExternal:!1}}return{prefixParts:[],relativePath:t,isExternal:/^(\/|[A-Za-z]:[/\\])/.test(e)}},[e,c]),p=(0,R.useMemo)(()=>U(a,d.split(`/`).filter(Boolean)),[a,d]);(0,R.useEffect)(()=>{l.current&&(l.current.scrollLeft=l.current.scrollWidth)},[p]);function m(e,r){let i=y(e);r.metaKey||r.ctrlKey?s({type:`editor`,title:i,metadata:{filePath:e,projectName:t},projectId:t,closable:!0}):o(n,{title:i,metadata:{filePath:e,projectName:t}})}return f?(0,z.jsx)(B,{filePath:e,projectName:t,tabId:n,className:r}):(0,z.jsxs)(`div`,{ref:l,className:r,children:[u.map((e,t)=>(0,z.jsxs)(`div`,{className:`flex items-center shrink-0`,children:[t>0&&(0,z.jsx)(i,{className:`size-3 text-muted-foreground shrink-0 mx-0.5`}),(0,z.jsx)(`span`,{className:`text-xs text-muted-foreground px-1 py-0.5`,children:e})]},`prefix-${t}`)),p.map((e,n)=>(0,z.jsxs)(`div`,{className:`flex items-center shrink-0`,children:[(n>0||u.length>0)&&(0,z.jsx)(i,{className:`size-3 text-muted-foreground shrink-0 mx-0.5`}),(0,z.jsx)(W,{segment:e,isLast:n===p.length-1,projectName:t,onFileClick:m})]},e.fullPath))]})}function W({segment:e,isLast:t,projectName:n,onFileClick:r}){let i=N(e=>e.loadChildren),a=N(e=>e.loadedPaths),o=(0,R.useMemo)(()=>Oe(e.siblings),[e.siblings]),s=a.has(e.parentPath);function c(t){if(t&&!s){let t=e.parentPath.split(`/`).filter(Boolean);(async()=>{for(let e=0;e<=t.length;e++)await i(n,t.slice(0,e).join(`/`))})()}}return(0,z.jsxs)(le,{onOpenChange:c,children:[(0,z.jsx)(ye,{asChild:!0,children:(0,z.jsx)(`button`,{type:`button`,className:`text-xs px-1 py-0.5 rounded hover:bg-muted transition-colors truncate max-w-[120px] ${t?`text-foreground font-medium`:`text-muted-foreground`}`,children:e.name})}),(0,z.jsx)(E,{align:`start`,className:`max-h-[300px] p-1`,children:o.length===0?(0,z.jsx)(A,{disabled:!0,className:`text-xs text-muted-foreground`,children:`Loading…`}):o.map(t=>(0,z.jsx)(G,{node:t,projectName:n,activePath:e.fullPath,onFileClick:r},t.path))})]})}function G({node:e,projectName:t,activePath:n,onFileClick:r}){let i=H(e.name,e.type===`directory`),a=e.path===n,o=N(e=>e.loadChildren),s=N(e=>e.loadedPaths);if(e.type===`directory`){let c=e.children??[],l=s.has(e.path);function u(n){n&&!l&&o(t,e.path)}return(0,z.jsxs)(j,{onOpenChange:u,children:[(0,z.jsxs)(O,{className:`text-xs gap-1.5 ${a?`bg-muted`:``}`,children:[(0,z.jsx)(i,{className:`size-3.5 shrink-0 text-muted-foreground`}),(0,z.jsx)(`span`,{className:`truncate`,children:e.name})]}),(0,z.jsx)(T,{className:`max-h-[300px] overflow-y-auto p-1`,children:c.length===0?(0,z.jsx)(A,{disabled:!0,className:`text-xs text-muted-foreground`,children:`Loading…`}):Oe(c).map(e=>(0,z.jsx)(G,{node:e,projectName:t,activePath:n,onFileClick:r},e.path))})]})}return(0,z.jsxs)(A,{className:`text-xs gap-1.5 cursor-pointer ${a?`bg-muted`:``}`,onSelect:e=>{},onClick:t=>{r(e.path,t)},children:[(0,z.jsx)(i,{className:`size-3.5 shrink-0 text-muted-foreground`}),(0,z.jsx)(`span`,{className:`truncate`,children:e.name})]})}function K({active:e,onClick:t,icon:n,label:r}){return(0,z.jsxs)(`button`,{type:`button`,onClick:t,className:`flex items-center gap-1 px-2 py-1 rounded text-xs transition-colors ${e?`bg-muted text-foreground`:`text-muted-foreground hover:text-foreground`}`,children:[(0,z.jsx)(n,{className:`size-3`}),(0,z.jsx)(`span`,{className:`hidden sm:inline`,children:r})]})}function Ae({ext:e,mdMode:t,onMdModeChange:n,csvMode:r,onCsvModeChange:i,wordWrap:a,onToggleWordWrap:s,onRefresh:u,refreshing:d,filePath:f,projectName:p,className:m}){return(0,z.jsxs)(`div`,{className:m,children:[(e===`md`||e===`mdx`)&&n&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(K,{active:t===`edit`,onClick:()=>n(`edit`),icon:o,label:`Edit`}),(0,z.jsx)(K,{active:t===`preview`,onClick:()=>n(`preview`),icon:l,label:`Preview`})]}),e===`csv`&&i&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(K,{active:r===`table`,onClick:()=>i(`table`),icon:ne,label:`Table`}),(0,z.jsx)(K,{active:r===`raw`,onClick:()=>i(`raw`),icon:o,label:`Raw`})]}),(0,z.jsx)(K,{active:a,onClick:s,icon:me,label:`Wrap`}),u&&(0,z.jsxs)(`button`,{type:`button`,onClick:u,disabled:d,title:`Reload file from disk`,className:`flex items-center gap-1 px-2 py-1 rounded text-xs text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50`,children:[(0,z.jsx)(xe,{className:`size-3 ${d?`animate-spin`:``}`}),(0,z.jsx)(`span`,{className:`hidden sm:inline`,children:`Refresh`})]}),f&&p&&(0,z.jsx)(K,{active:!1,onClick:()=>L(p,f),icon:c,label:`Download`})]})}var je=[{id:`plaintext`,label:`Plain Text`},{id:`javascript`,label:`JavaScript`},{id:`typescript`,label:`TypeScript`},{id:`sql`,label:`SQL`},{id:`json`,label:`JSON`},{id:`xml`,label:`XML`},{id:`html`,label:`HTML`},{id:`css`,label:`CSS`},{id:`python`,label:`Python`},{id:`markdown`,label:`Markdown`},{id:`yaml`,label:`YAML`},{id:`shell`,label:`Shell`}];function Me({value:e,onChange:t}){return(0,z.jsxs)(`div`,{className:`shrink-0 flex items-center gap-1 px-2 border-l border-border`,children:[(0,z.jsx)(F,{className:`size-3 text-muted-foreground`}),(0,z.jsx)(`select`,{value:e,onChange:e=>t(e.target.value),className:`h-5 text-[10px] bg-transparent border border-border rounded px-1 text-foreground outline-none max-w-[120px]`,title:`Select editor language`,children:je.map(e=>(0,z.jsx)(`option`,{value:e.id,children:e.label},e.id))})]})}function Ne({open:e,defaultName:t,content:n,onSave:r,onCancel:i}){let[o,s]=(0,R.useState)(t),[c,l]=(0,R.useState)(!1),[u,d]=(0,R.useState)(``),f=b(e=>e.activeProject),p=(0,R.useCallback)(()=>{let e=o.trim();if(!e){d(`Filename cannot be empty`);return}if(/[/\\]/.test(e)){d(`Filename cannot contain / or \\`);return}d(``),l(!0)},[o]),m=(0,R.useCallback)(e=>{let t=e.includes(`\\`)?`\\`:`/`;r(e.endsWith(t)?`${e}${o.trim()}`:`${e}${t}${o.trim()}`,n)},[o,n,r]);return c?(0,z.jsx)(w,{open:!0,mode:`folder`,root:f?.path,title:`Save "${o.trim()}" to...`,onSelect:m,onCancel:()=>l(!1)}):(0,z.jsx)(se,{open:e,onOpenChange:e=>{e||i()},children:(0,z.jsxs)(M,{className:`sm:max-w-md`,children:[(0,z.jsx)(k,{children:(0,z.jsx)(x,{children:`Save As`})}),(0,z.jsxs)(`div`,{className:`flex flex-col gap-2 py-2`,children:[(0,z.jsx)(`label`,{className:`text-sm text-muted-foreground`,children:`Filename`}),(0,z.jsx)(a,{value:o,onChange:e=>{s(e.target.value),d(``)},onKeyDown:e=>{e.key===`Enter`&&p()},placeholder:`e.g. my-file.ts`,autoFocus:!0}),u&&(0,z.jsx)(`p`,{className:`text-xs text-destructive`,children:u})]}),(0,z.jsxs)(ue,{children:[(0,z.jsx)(P,{variant:`outline`,onClick:i,children:`Cancel`}),(0,z.jsx)(P,{onClick:p,children:`Choose Folder...`})]})]})})}var q=typeof window<`u`&&window.isSecureContext,Pe=[`(`,`)`,`{`,`}`,`[`,`]`,`<`,`>`,`;`,`:`,`=`,`"`,`'`,"`",`/`,`\\`,`_`,`#`],Fe=`px-2 py-1.5 rounded text-xs min-w-[36px] min-h-[32px] bg-surface-elevated text-text-primary active:bg-primary active:text-primary-foreground transition-colors select-none`,Ie=`px-3 py-1.5 rounded text-xs font-mono min-w-[36px] min-h-[32px] bg-surface-elevated text-text-primary active:bg-primary active:text-primary-foreground transition-colors select-none`,Le=`w-px h-5 bg-border mx-0.5 shrink-0`;function Re({editorRef:e,readOnly:t}){let n=(0,R.useCallback)(()=>e.current,[e]),r=(0,R.useCallback)(e=>{let t=n();if(!t)return;t.focus();let r=t.getSelection();r&&t.executeEdits(`mobile-toolbar`,[{range:r,text:e}])},[n]),[i,a]=(0,R.useState)(!1),o=(0,R.useRef)(null),s=(0,R.useCallback)(async()=>{try{let e=await navigator.clipboard.readText();e&&r(e)}catch{}},[r]),c=(0,R.useCallback)(()=>{a(!0),requestAnimationFrame(()=>o.current?.focus())},[]),l=(0,R.useCallback)(e=>{e.preventDefault();let t=e.clipboardData.getData(`text/plain`);t&&(a(!1),r(t))},[r]),u=(0,R.useCallback)(()=>{let e=n();e&&(e.focus(),e.trigger(`mobile-toolbar`,`undo`,null))},[n]),d=(0,R.useCallback)(()=>{let e=n();e&&(e.focus(),e.trigger(`mobile-toolbar`,`redo`,null))},[n]),f=(0,R.useCallback)(()=>{let e=n();e&&(e.focus(),e.trigger(`mobile-toolbar`,`tab`,null))},[n]);return t?null:(0,z.jsxs)(`div`,{className:`shrink-0 border-t border-border bg-surface`,children:[!q&&i&&(0,z.jsxs)(`div`,{className:`flex items-center gap-2 px-2 py-1.5 border-b border-border bg-muted/50`,children:[(0,z.jsx)(`textarea`,{ref:o,onPaste:l,placeholder:`Long-press here → Paste`,className:`flex-1 h-8 rounded border border-border bg-background text-foreground text-xs px-2 py-1.5 resize-none focus:outline-none focus:ring-1 focus:ring-primary`}),(0,z.jsx)(`button`,{type:`button`,onClick:()=>a(!1),className:`p-1.5 rounded text-muted-foreground active:bg-muted transition-colors`,children:(0,z.jsx)(h,{size:14})})]}),(0,z.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-1.5 overflow-x-auto`,children:[(0,z.jsx)(`button`,{type:`button`,onClick:q?s:c,className:Fe,title:`Paste`,children:(0,z.jsx)(he,{size:14})}),(0,z.jsx)(`button`,{type:`button`,onClick:u,className:Fe,title:`Undo`,children:(0,z.jsx)(C,{size:14})}),(0,z.jsx)(`button`,{type:`button`,onClick:d,className:Fe,title:`Redo`,children:(0,z.jsx)(Ce,{size:14})}),(0,z.jsx)(`div`,{className:Le}),(0,z.jsx)(`button`,{type:`button`,onClick:f,className:Ie,children:`Tab`}),(0,z.jsx)(`div`,{className:Le}),Pe.map(e=>(0,z.jsx)(`button`,{type:`button`,onClick:()=>r(e),className:Ie,children:e},e))]})]})}var J=(0,R.lazy)(()=>v(()=>import(`./markdown-renderer-DVVx3WCU.js`).then(e=>({default:e.MarkdownRenderer})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]))),ze=(0,R.lazy)(()=>v(()=>import(`./csv-preview-DzhSC0fd.js`).then(e=>({default:e.CsvPreview})),__vite__mapDeps([26,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28]))),Be=(0,R.lazy)(()=>v(()=>import(`./image-preview-D_8o6OLx.js`).then(e=>({default:e.ImagePreview})),__vite__mapDeps([29,2,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31]))),Ve=(0,R.lazy)(()=>v(()=>import(`./pdf-preview-HTC73FyK.js`).then(e=>({default:e.PdfPreview})),__vite__mapDeps([32,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30]))),He=(0,R.lazy)(()=>v(()=>import(`./video-preview-rWrNCfZX.js`).then(e=>({default:e.VideoPreview})),__vite__mapDeps([33,2,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31]))),Ue=(0,R.lazy)(()=>v(()=>import(`./audio-preview-DbFUkIzm.js`).then(e=>({default:e.AudioPreview})),__vite__mapDeps([34,2,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,31]))),We=(0,R.lazy)(()=>v(()=>import(`./docx-preview-DfjH-dIr.js`).then(e=>({default:e.DocxPreview})),__vite__mapDeps([35,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30]))),Ge=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`svg`,`ico`]),Ke=new Set([`mp4`,`webm`,`mov`,`ogg`,`avi`,`mkv`]),qe=new Set([`mp3`,`wav`,`flac`,`aac`,`m4a`,`wma`]),Je=new Set([`db`,`sqlite`,`sqlite3`]);function Ye(e){return e.split(`.`).pop()?.toLowerCase()??``}function Xe(e){return{js:`javascript`,jsx:`javascript`,ts:`typescript`,tsx:`typescript`,py:`python`,html:`html`,css:`css`,scss:`scss`,json:`json`,md:`markdown`,mdx:`markdown`,yaml:`yaml`,yml:`yaml`,sh:`shell`,bash:`shell`,sql:`sql`}[Ye(e)]??`plaintext`}var Ze=(0,R.memo)(function({metadata:e,tabId:t}){let n=e?.filePath,r=e?.projectName,i=e?.inlineContent,a=e?.inlineLanguage,[o,c]=(0,R.useState)(i??null),[l,m]=(0,R.useState)(`utf-8`),[ne,h]=(0,R.useState)(!0),[v,b]=(0,R.useState)(null),[x,C]=(0,R.useState)(!1),w=(0,R.useRef)(null),T=(0,R.useRef)(``),E=(0,R.useRef)(null),{tabs:se,updateTab:O}=ae(S(e=>({tabs:e.tabs,updateTab:e.updateTab}))),{wordWrap:k,toggleWordWrap:A}=re(S(e=>({wordWrap:e.wordWrap,toggleWordWrap:e.toggleWordWrap}))),le=Se(),j=e?.isUntitled===!0,M=e?.unsavedContent,[ue,de]=(0,R.useState)(!1),fe=se.find(e=>e.id===t),N=n?Ye(n):``,pe=Ge.has(N),P=N===`pdf`,F=N===`docx`,me=Ke.has(N),he=qe.has(N),ge=Je.has(N),ve=N===`md`||N===`mdx`,ye=N===`csv`,be=e?.language,I=a??be??Xe(n??``),L=I===`sql`,[xe,Ce]=(0,R.useState)(`preview`),[we,Te]=(0,R.useState)(`table`),{connections:B,cachedTables:Ee,refreshTables:V,updateConnection:De}=ce(),H=n?`ppm:sql-conn:${n}`:t?`ppm:sql-conn:tab:${t}`:null,[U,Oe]=(0,R.useState)(()=>{if(!H)return null;let e=localStorage.getItem(H);return e?Number(e):null}),W=(0,R.useRef)(null),G=(0,R.useRef)(null),K=(0,R.useMemo)(()=>B.find(e=>e.id===U)??null,[B,U]),je=i!=null&&(a===`json`||a===`xml`),[q,Pe]=(0,R.useState)(!1),Fe=(0,R.useCallback)(()=>{if(i)if(q)c(i),Pe(!1);else{let e=i.trimStart();if(a===`json`)try{c(JSON.stringify(JSON.parse(e),null,2)),Pe(!0)}catch{}else if(a===`xml`){let t=0;c(e.replace(/(>)(<)(\/*)/g,`$1
|
|
3
|
-
$2$3`).split(`
|
|
4
|
-
`).map(e=>{let n=e.trim();n.startsWith(`</`)&&(t=Math.max(0,t-1));let r=` `.repeat(t)+n;return n.startsWith(`<`)&&!n.startsWith(`</`)&&!n.endsWith(`/>`)&&!n.includes(`</`)&&t++,r}).join(`
|
|
5
|
-
`)),Pe(!0)}}},[i,a,q]),Ie=(0,R.useCallback)(e=>{Oe(e),H&&localStorage.setItem(H,String(e)),V(e).catch(()=>{})},[H,V]),Le=(0,R.useCallback)(n=>{t&&O(t,{metadata:{...e,language:n}})},[t,e,O]),J=(0,R.useMemo)(()=>{if(!L||!U)return;let e=(Ee.get(U)??[]).map(e=>({name:e.tableName,schema:e.schemaName}));if(e.length!==0)return{tables:e,getColumns:async(e,t)=>_.get(`/api/db/connections/${U}/schema?table=${encodeURIComponent(e)}${t?`&schema=${encodeURIComponent(t)}`:``}`)}},[L,U,Ee]);(0,R.useEffect)(()=>{if(!(!W.current||!J))return G.current?.dispose(),p(),G.current=W.current.languages.registerCompletionItemProvider(`sql`,f(W.current,J)),()=>{G.current?.dispose()}},[J]);let Ze=ae(e=>e.openTab),[Y,et]=(0,R.useState)(null),[tt,nt]=(0,R.useState)(null),[rt,it]=(0,R.useState)(!1),[at,ot]=(0,R.useState)(``),st=(0,R.useCallback)(async e=>{if(K){it(!0),nt(null),ot(e);try{et(await _.post(`/api/db/connections/${K.id}/query`,{sql:e}))}catch(e){nt(e.message),et(null)}finally{it(!1)}}},[K]),ct=(0,R.useCallback)(()=>{!K||!at||Ze({type:`database`,title:`${K.name} · Query`,projectId:null,closable:!0,metadata:{connectionId:K.id,connectionName:K.name,dbType:K.type,initialSql:at}})},[K,Ze,at]),lt=(0,R.useCallback)(()=>{if(!E.current||!K)return;let e=E.current,t=e.getSelection();st(t&&!t.isEmpty()?e.getModel()?.getValueInRange(t)??e.getValue():e.getValue())},[K,st]),ut=typeof window<`u`&&`ontouchstart`in window,dt=(0,R.useRef)(null),[ft,pt]=(0,R.useState)(null);(0,R.useEffect)(()=>{if(!ut)return;let e=window.visualViewport;if(!e)return;let t=()=>{let t=dt.current;if(!t)return;let n=t.getBoundingClientRect().top;pt(e.height-Math.max(0,n))};return e.addEventListener(`resize`,t),e.addEventListener(`scroll`,t),()=>{e.removeEventListener(`resize`,t),e.removeEventListener(`scroll`,t)}},[ut]);let Z=(0,R.useRef)([]),mt=(0,R.useRef)(st);mt.current=st,(0,R.useEffect)(()=>()=>{Z.current.forEach(e=>e.dispose()),Z.current=[]},[]),(0,R.useEffect)(()=>{ge&&t&&O(t,{type:`sqlite`})},[ge,t,O]);let Q=n?/^(\/|[A-Za-z]:[/\\])/.test(n):!1;(0,R.useEffect)(()=>{if(i!=null){h(!1);return}if(j){c(M??``),T.current=M??``,h(!1),M&&C(!0);return}if(!n||!Q&&!r)return;if(pe||P||F||me||he){h(!1);return}h(!0),b(null);let e=Q?`/api/fs/read?path=${encodeURIComponent(n)}`:`${g(r)}/files/read?path=${encodeURIComponent(n)}`;return _.get(e).then(e=>{c(e.content),e.encoding&&m(e.encoding),T.current=e.content,h(!1)}).catch(e=>{b(e instanceof Error?e.message:`Failed to load file`),h(!1)}),()=>{w.current&&clearTimeout(w.current)}},[n,r,pe,P,F,Q,j]);let[ht,gt]=(0,R.useState)(!1),_t=(0,R.useCallback)(()=>{if(!n||i!=null||j||!Q&&!r)return;let e=Q?`/api/fs/read?path=${encodeURIComponent(n)}`:`${g(r)}/files/read?path=${encodeURIComponent(n)}`;gt(!0),_.get(e).then(e=>{c(e.content),T.current=e.content,e.encoding&&m(e.encoding),C(!1),b(null)}).catch(e=>b(e instanceof Error?e.message:`Failed to reload file`)).finally(()=>gt(!1))},[n,r,Q,i,j]),vt=(0,R.useRef)(x);vt.current=x,(0,R.useEffect)(()=>{if(!n||!r||i!=null||j)return;let e=e=>{let t=e.detail;if(t.projectName!==r||t.path!==n||vt.current)return;let i=Q?`/api/fs/read?path=${encodeURIComponent(n)}`:`${g(r)}/files/read?path=${encodeURIComponent(n)}`;_.get(i).then(e=>{e.content!==T.current&&(c(e.content),T.current=e.content,e.encoding&&m(e.encoding))}).catch(()=>{})};return window.addEventListener(`file:changed`,e),()=>window.removeEventListener(`file:changed`,e)},[n,r,Q,i,j]),(0,R.useEffect)(()=>{if(!fe||i!=null)return;let t=j?`Untitled-${e?.untitledNumber??1}`:n?y(n):`Untitled`,r=x?`${t} \u25CF`:t;fe.title!==r&&O(fe.id,{title:r})},[x]);let yt=(0,R.useCallback)(async e=>{if(n&&!(!Q&&!r))try{Q?await _.put(`/api/fs/write`,{path:n,content:e}):await _.put(`${g(r)}/files/write`,{path:n,content:e}),C(!1)}catch{}},[n,r,Q]);function bt(n){let r=n??``;c(r),T.current=r,C(!0),w.current&&clearTimeout(w.current),j?w.current=setTimeout(()=>{t&&O(t,{metadata:{...e,unsavedContent:T.current}})},2e3):w.current=setTimeout(()=>yt(T.current),1e3)}let xt=(0,R.useCallback)(async(e,n)=>{try{if(w.current&&clearTimeout(w.current),await _.put(`/api/fs/write`,{path:e,content:n}),t){let{closeTab:n,openTab:r}=ie.getState();n(t),r({type:`editor`,title:y(e),projectId:null,metadata:{filePath:e},closable:!0})}C(!1),de(!1)}catch{}},[t]),$=e?.lineNumber,St=e?.endLine,Ct=e?.revealAt,wt=(0,R.useCallback)(()=>{let e=E.current;if(!(!e||!$||$<=0)){if(e.revealLineInCenter($),e.setPosition({lineNumber:$,column:1}),St&&St>=$){let t=e.getModel(),n=t?.getLineCount()??$,r=Math.min(St,n),i=t?.getLineMaxColumn(r)??1;e.setSelection({startLineNumber:$,startColumn:1,endLineNumber:r,endColumn:i})}e.focus()}},[$,St]);(0,R.useEffect)(()=>{Ct!=null&&wt()},[Ct,wt]);let Tt=(0,R.useCallback)((e,t)=>{if(E.current=e,W.current=t,$&&$>0&&setTimeout(()=>wt(),100),j&&e.addCommand(t.KeyMod.CtrlCmd|t.KeyCode.KeyS,()=>de(!0)),e.addCommand(t.KeyMod.Alt|t.KeyCode.KeyZ,()=>re.getState().toggleWordWrap()),t.languages.typescript.typescriptDefaults.setDiagnosticsOptions({noSemanticValidation:!0,noSyntaxValidation:!0,noSuggestionDiagnostics:!0}),t.languages.typescript.javascriptDefaults.setDiagnosticsOptions({noSemanticValidation:!0,noSyntaxValidation:!0,noSuggestionDiagnostics:!0}),J&&(G.current?.dispose(),G.current=t.languages.registerCompletionItemProvider(`sql`,f(t,J))),L){e.addAction({id:`run-sql-at-cursor`,label:`Run Statement at Cursor`,keybindings:[t.KeyMod.CtrlCmd|t.KeyCode.Enter],run:e=>{let t=e.getPosition();if(!t)return;let n=d(e.getValue(),t.lineNumber);n&&mt.current(n)}}),Z.current.forEach(e=>e.dispose()),Z.current=[];let n=e.getModel(),r=e.addCommand(0,(e,t)=>{t&&mt.current(t)});if(r&&n){let e=t.languages.registerCodeLensProvider(`sql`,{provideCodeLenses:e=>{if(e!==n)return{lenses:[],dispose:()=>{}};let t=[],i=e.getValue().split(`
|
|
6
|
-
`),a=-1,o=[],s=!1,c=/^(BEGIN|COMMIT|ROLLBACK|END)(;|\s|$)/i,l=-1,u=[],d=(e,n,i=`▷ Run`)=>{let a=n.trim();!a||a.startsWith(`--`)||t.push({range:{startLineNumber:e,startColumn:1,endLineNumber:e,endColumn:1},command:{id:r,title:i,arguments:[a]}})};for(let e=0;e<i.length;e++){let t=i[e].trim();if(a===-1){if(!t||t.startsWith(`--`))continue;a=e+1,o=[]}if(o.push(i[e]),(t.match(/\$\$/g)||[]).length%2==1&&(s=!s),!s&&t.endsWith(`;`)){let e=o.join(`
|
|
7
|
-
`).trim(),t=/^BEGIN(;|\s|$)/i.test(e),n=/^(COMMIT|ROLLBACK|END)(;|\s|$)/i.test(e);l===-1&&t?(l=a,u=[e]):l>-1?(u.push(e),!n&&!c.test(e)&&d(a,e),n&&(d(l,u.join(`
|
|
8
|
-
`),`▷ Run Transaction`),l=-1,u=[])):d(a,e),a=-1,o=[]}}return l>-1&&u.length>1&&d(l,u.join(`
|
|
9
|
-
`),`▷ Run Transaction`),a>0&&o.join(``).trim()&&d(a,o.join(`
|
|
10
|
-
`)),{lenses:t,dispose:()=>{}}}});Z.current.push(e);let i=t.languages.registerFoldingRangeProvider(`sql`,{provideFoldingRanges:e=>{if(e!==n)return[];let r=[],i=e.getLineCount(),a=[];for(let n=1;n<=i;n++){let i=e.getLineContent(n).trim();if(/^BEGIN(;|\s|$)/i.test(i))a.push(n);else if(/^(COMMIT|ROLLBACK|END)(;|\s|$)/i.test(i)&&a.length>0){let e=a.pop();r.push({start:e,end:n,kind:t.languages.FoldingRangeKind.Region})}}return r}});Z.current.push(i)}}},[J,L]);if(!i&&!j&&(!n||!Q&&!r))return(0,z.jsx)(`div`,{className:`flex items-center justify-center h-full text-text-secondary text-sm`,children:`No file selected.`});if(ne)return(0,z.jsxs)(`div`,{className:`flex items-center justify-center h-full gap-2 text-text-secondary`,children:[(0,z.jsx)(D,{className:`size-5 animate-spin`}),(0,z.jsx)(`span`,{className:`text-sm`,children:`Loading file...`})]});if(v)return(0,z.jsx)(`div`,{className:`flex items-center justify-center h-full text-error text-sm`,children:v});if(pe)return(0,z.jsx)(R.Suspense,{fallback:(0,z.jsx)(X,{}),children:(0,z.jsx)(Be,{filePath:n,projectName:r})});if(P)return(0,z.jsx)(R.Suspense,{fallback:(0,z.jsx)(X,{}),children:(0,z.jsx)(Ve,{filePath:n,projectName:r})});if(F)return(0,z.jsx)(R.Suspense,{fallback:(0,z.jsx)(X,{}),children:(0,z.jsx)(We,{filePath:n,projectName:r})});if(me)return(0,z.jsx)(R.Suspense,{fallback:(0,z.jsx)(X,{}),children:(0,z.jsx)(He,{filePath:n,projectName:r})});if(he)return(0,z.jsx)(R.Suspense,{fallback:(0,z.jsx)(X,{}),children:(0,z.jsx)(Ue,{filePath:n,projectName:r})});if(l===`base64`)return(0,z.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-3 text-text-secondary`,children:[(0,z.jsx)(u,{className:`size-10 text-text-subtle`}),(0,z.jsx)(`p`,{className:`text-sm`,children:`This file is a binary format and cannot be displayed.`}),(0,z.jsx)(`p`,{className:`text-xs text-text-subtle`,children:n})]});let Et=L?(0,z.jsxs)(`div`,{className:`shrink-0 flex items-center gap-1 px-2 border-l border-border`,children:[(0,z.jsx)(s,{className:`size-3 text-muted-foreground`}),(0,z.jsxs)(`select`,{value:U??``,onChange:e=>{let t=Number(e.target.value);t&&Ie(t)},className:`h-5 text-[10px] bg-transparent border border-border rounded px-1 text-foreground outline-none max-w-[140px]`,title:`Select connection for autocomplete`,children:[(0,z.jsx)(`option`,{value:``,children:`Connection…`}),B.map(e=>(0,z.jsx)(`option`,{value:e.id,children:e.name},e.id))]}),(0,z.jsx)(`button`,{type:`button`,onClick:lt,disabled:!K,className:`p-0.5 rounded text-muted-foreground hover:text-primary disabled:opacity-30 transition-colors`,title:`Run SQL`,children:(0,z.jsx)(oe,{className:`size-3.5`})}),K&&(0,z.jsx)(`button`,{type:`button`,onClick:()=>De(K.id,{readonly:K.readonly?0:1}),className:`flex items-center gap-0.5 px-1 py-0.5 rounded text-[10px] transition-colors ${K.readonly?`text-muted-foreground hover:text-foreground`:`bg-destructive/15 text-destructive`}`,title:K.readonly?`Readonly — click to allow writes`:`WRITE mode — click to enable readonly`,children:K.readonly?(0,z.jsx)(ee,{className:`size-3`}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(te,{className:`size-3`}),(0,z.jsx)(`span`,{className:`font-medium`,children:`WRITE`})]})})]}):null;return(0,z.jsxs)(`div`,{ref:dt,className:`flex flex-col h-full w-full overflow-hidden`,style:ft?{height:`${ft}px`,maxHeight:`${ft}px`}:void 0,children:[i!=null&&je&&(0,z.jsx)(`div`,{className:`flex items-center h-7 border-b border-border bg-background shrink-0 px-2 gap-2`,children:(0,z.jsx)(`button`,{type:`button`,onClick:Fe,className:`text-[10px] px-2 py-0.5 rounded border border-border hover:bg-muted transition-colors text-foreground`,children:q?`Raw`:`Beautify`})}),n&&r&&t&&(0,z.jsxs)(`div`,{className:`hidden md:flex items-center h-7 border-b border-border bg-background shrink-0`,children:[(0,z.jsx)(ke,{filePath:n,projectName:r,tabId:t,className:`flex items-center flex-1 min-w-0 overflow-x-auto scrollbar-none px-2 gap-0.5`}),(0,z.jsx)(Me,{value:I,onChange:Le}),Et,(0,z.jsx)(Ae,{ext:N,mdMode:xe,onMdModeChange:Ce,csvMode:we,onCsvModeChange:Te,wordWrap:k,onToggleWordWrap:A,onRefresh:_t,refreshing:ht,filePath:n,projectName:r,className:`shrink-0 flex items-center gap-1 px-2`})]}),i==null&&t&&(j||n&&!r)&&(0,z.jsxs)(`div`,{className:`hidden md:flex items-center h-7 border-b border-border bg-background shrink-0 px-2`,children:[(0,z.jsx)(`span`,{className:`text-xs text-muted-foreground truncate flex-1`,children:j?`Untitled-${e?.untitledNumber??1}`:n?y(n):`Untitled`}),(0,z.jsx)(Me,{value:I,onChange:Le}),Et]}),ye&&we===`table`?(0,z.jsx)(R.Suspense,{fallback:(0,z.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,z.jsx)(D,{className:`size-5 animate-spin text-text-subtle`})}),children:(0,z.jsx)(ze,{content:o??``,onContentChange:bt,wordWrap:k})}):ve&&xe===`preview`?(0,z.jsx)($e,{content:o??``}):(0,z.jsx)(`div`,{className:`flex-1 overflow-hidden min-h-0`,children:(0,z.jsx)(_e,{height:`100%`,language:I,value:o??``,onChange:i==null?bt:void 0,onMount:Tt,theme:le,options:{fontSize:13,fontFamily:`Menlo, Monaco, Consolas, monospace`,wordWrap:k?`on`:`off`,minimap:{enabled:!1},scrollBeyondLastLine:!1,automaticLayout:!0,lineNumbers:`on`,folding:!0,bracketPairColorization:{enabled:!0},readOnly:i!=null},loading:(0,z.jsx)(D,{className:`size-5 animate-spin text-text-subtle`})},I)}),L&&(Y||tt||rt)&&(0,z.jsx)(Qe,{result:Y,error:tt,loading:rt,connName:K?.name,onClose:()=>{et(null),nt(null),it(!1)},onOpenInTab:ct}),ut&&(0,z.jsx)(Re,{editorRef:E,readOnly:i!=null}),ue&&(0,z.jsx)(Ne,{open:ue,defaultName:`Untitled-${e?.untitledNumber??1}`,content:T.current,onSave:xt,onCancel:()=>de(!1)})]})}),Y=()=>{};function Qe({result:e,error:t,loading:n,connName:r,onClose:i,onOpenInTab:a}){let o=(0,R.useMemo)(()=>e?.changeType===`select`&&e.rows.length>0?{columns:e.columns,rows:e.rows,total:e.rows.length,limit:e.rows.length}:null,[e]),c=(0,R.useMemo)(()=>(e?.columns??[]).map(e=>({name:e,type:`text`,nullable:!0,pk:!1,defaultValue:null})),[e?.columns]),[l,u]=(0,R.useState)(250),d=(0,R.useCallback)(e=>{e.preventDefault();let t=e.clientY,n=l,r=e=>u(Math.max(80,n+(t-e.clientY))),i=()=>{document.removeEventListener(`mousemove`,r),document.removeEventListener(`mouseup`,i)};document.addEventListener(`mousemove`,r),document.addEventListener(`mouseup`,i)},[l]);return(0,z.jsxs)(`div`,{className:`shrink-0 border-t border-border flex flex-col`,style:{height:l},children:[(0,z.jsx)(`div`,{onMouseDown:d,className:`shrink-0 h-1.5 cursor-row-resize bg-border/50 hover:bg-primary/30 flex items-center justify-center transition-colors`,children:(0,z.jsx)(de,{className:`size-3 text-muted-foreground/50`})}),(0,z.jsxs)(`div`,{className:`flex items-center gap-2 px-2 py-1 bg-muted/50 border-b border-border shrink-0`,children:[(0,z.jsx)(s,{className:`size-3 text-muted-foreground`}),(0,z.jsxs)(`span`,{className:`text-xs font-medium text-foreground truncate flex-1`,children:[r?`${r} · Results`:`Query Results`,e?.executionTimeMs!=null&&(0,z.jsxs)(`span`,{className:`text-muted-foreground ml-1.5 font-normal`,children:[e.executionTimeMs,`ms`]})]}),(0,z.jsxs)(`button`,{type:`button`,onClick:a,title:`Open in DB Viewer tab`,className:`flex items-center gap-1 px-1.5 py-0.5 rounded text-[10px] text-muted-foreground hover:text-foreground hover:bg-muted transition-colors`,children:[(0,z.jsx)(ve,{className:`size-3`}),(0,z.jsx)(`span`,{className:`hidden sm:inline`,children:`Open in Tab`})]}),(0,z.jsx)(`button`,{type:`button`,onClick:i,title:`Close results`,className:`p-0.5 rounded text-muted-foreground hover:text-foreground transition-colors`,children:(0,z.jsx)(h,{className:`size-3`})})]}),(0,z.jsxs)(`div`,{className:`flex-1 overflow-hidden min-h-0`,children:[n&&(0,z.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,z.jsx)(D,{className:`size-4 animate-spin text-muted-foreground`})}),t&&(0,z.jsx)(`div`,{className:`px-3 py-2 text-xs text-destructive bg-destructive/5`,children:t}),e?.changeType===`modify`&&(0,z.jsxs)(`div`,{className:`px-3 py-2 text-xs text-success`,children:[e.rowsAffected,` row(s) affected`]}),o&&(0,z.jsx)(m,{columns:o.columns,rows:o.rows,total:o.total,limit:o.limit,schema:c,loading:!1,page:1,onPageChange:Y,onCellUpdate:Y,orderBy:null,orderDir:`ASC`,onToggleSort:Y,connectionName:r}),e?.changeType===`select`&&e.rows.length===0&&(0,z.jsx)(`div`,{className:`px-3 py-2 text-xs text-muted-foreground`,children:`No results`})]})]})}function X(){return(0,z.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,z.jsx)(D,{className:`size-5 animate-spin text-text-subtle`})})}function $e({content:e}){return(0,z.jsx)(R.Suspense,{fallback:(0,z.jsx)(`div`,{className:`animate-pulse h-4 bg-muted rounded m-4`}),children:(0,z.jsx)(J,{content:e,className:`flex-1 overflow-auto p-4`})})}export{Ze as CodeEditor};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{b as t}from"./vendor-markdown-CKTlmXbz.js";import{ot as n}from"./vendor-ui-DMRGWRuc.js";import{B as r,G as i,R as a,c as o,o as s,s as c}from"./data-grid-types-CWHnFOc-.js";import{t as l}from"./dist-D1CjMuoa.js";var u=e(n(),1),d=e(t(),1),f=()=>e=>e.targetX,p=()=>e=>e.targetY,m=()=>e=>e.targetWidth,h=()=>e=>e.targetHeight,g=()=>e=>e.targetY+10,_=()=>e=>Math.max(0,(e.targetHeight-28)/2),v=l(`div`)({name:`DataGridOverlayEditorStyle`,class:`gdg-d19meir1`,propsAsIs:!1,vars:{"d19meir1-0":[p(),`px`],"d19meir1-1":[f(),`px`],"d19meir1-2":[m(),`px`],"d19meir1-3":[h(),`px`],"d19meir1-4":[g(),`px`],"d19meir1-5":[_(),`px`]}});function y(){let[e,t]=d.useState();return[e??void 0,t]}function b(){let[e,t]=y(),[n,r]=d.useState(0),[i,a]=d.useState(!0);return d.useLayoutEffect(()=>{if(e===void 0||!(`IntersectionObserver`in window))return;let t=new IntersectionObserver(e=>{e.length!==0&&a(e[0].isIntersecting)},{threshold:1});return t.observe(e),()=>t.disconnect()},[e]),d.useEffect(()=>{if(i||e===void 0)return;let t,n=()=>{let{right:i}=e.getBoundingClientRect();r(e=>Math.min(e+window.innerWidth-i-10,0)),t=requestAnimationFrame(n)};return t=requestAnimationFrame(n),()=>{t!==void 0&&cancelAnimationFrame(t)}},[e,i]),{ref:t,style:d.useMemo(()=>({transform:`translateX(${n}px)`}),[n])}}var x=e=>{let{target:t,content:n,onFinishEditing:l,forceEditMode:f,initialValue:p,imageEditorOverride:m,markdownDivCreateNode:h,highlight:g,className:_,theme:y,id:x,cell:S,bloom:C,validateCell:w,getCellRenderer:T,provideEditor:E,isOutsideClick:D}=e,[O,k]=d.useState(f?n:void 0),A=d.useRef(O??n);A.current=O??n;let[j,M]=d.useState(()=>w===void 0?!0:!(s(n)&&w?.(S,n,A.current)===!1)),N=d.useCallback((e,t)=>{l(j?e:void 0,t)},[j,l]),P=d.useCallback(e=>{if(w!==void 0&&e!==void 0&&s(e)){let t=w(S,e,A.current);t===!1?M(!1):(typeof t==`object`&&(e=t),M(!0))}k(e)},[S,w]),F=d.useRef(!1),I=d.useRef(void 0),L=d.useCallback(()=>{N(O,[0,0]),F.current=!0},[O,N]),R=d.useCallback((e,t)=>{N(e,t??I.current??[0,0]),F.current=!0},[N]),z=d.useCallback(async e=>{let t=!1;e.key===`Escape`?(e.stopPropagation(),e.preventDefault(),I.current=[0,0]):e.key===`Enter`&&!e.shiftKey?(e.stopPropagation(),e.preventDefault(),I.current=[0,1],t=!0):e.key===`Tab`&&(e.stopPropagation(),e.preventDefault(),I.current=[e.shiftKey?-1:1,0],t=!0),window.setTimeout(()=>{!F.current&&I.current!==void 0&&(N(t?O:void 0,I.current),F.current=!0)},0)},[N,O]),B=O??n,[V,H]=d.useMemo(()=>{if(c(n))return[];let e=E?.(n);return e===void 0?[T(n)?.provideEditor?.(n),!1]:[e,!1]},[n,T,E]),{ref:U,style:W}=b(),G=!0,K,q=!0,J;if(V!==void 0){G=V.disablePadding!==!0,q=V.disableStyling!==!0;let e=o(V);e&&(J=V.styleOverride);let n=e?V.editor:V;K=d.createElement(n,{isHighlighted:g,onChange:P,value:B,initialValue:p,onFinishedEditing:R,validatedSelection:s(B)?B.selectionRange:void 0,forceEditMode:f,target:t,imageEditorOverride:m,markdownDivCreateNode:h,isValid:j,theme:y})}J={...J,...W};let Y=document.getElementById(`portal`);if(Y===null)return console.error('Cannot open Data Grid overlay editor, because portal not found. Please add `<div id="portal" />` as the last child of your `<body>`.'),null;let X=q?`gdg-style`:`gdg-unstyle`;j||(X+=` gdg-invalid`),G&&(X+=` gdg-pad`);let Z=C?.[0]??1,Q=C?.[1]??1;return(0,u.createPortal)(d.createElement(a.Provider,{value:y},d.createElement(i,{style:r(y),className:_,onClickOutside:L,isOutsideClick:D},d.createElement(v,{ref:U,id:x,className:X,style:J,as:H===!0?`label`:void 0,targetX:t.x-Z,targetY:t.y-Q,targetWidth:t.width+Z*2,targetHeight:t.height+Q*2},d.createElement(`div`,{className:`gdg-clip-region`,onKeyDown:z},K)))),Y)};export{x as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e,t}from"./rolldown-runtime-FhOqtrmT.js";import{b as n}from"./vendor-markdown-CKTlmXbz.js";var r=e(n(),1),i=class extends r.PureComponent{wrapperRef=r.createRef();componentDidMount(){document.addEventListener(`touchend`,this.clickOutside,!0),document.addEventListener(`mousedown`,this.clickOutside,!0),document.addEventListener(`contextmenu`,this.clickOutside,!0)}componentWillUnmount(){document.removeEventListener(`touchend`,this.clickOutside,!0),document.removeEventListener(`mousedown`,this.clickOutside,!0),document.removeEventListener(`contextmenu`,this.clickOutside,!0)}clickOutside=e=>{if(!(this.props.isOutsideClick&&!this.props.isOutsideClick(e))&&this.wrapperRef.current!==null&&!this.wrapperRef.current.contains(e.target)){let t=e.target;for(;t!==null;){if(t.classList.contains(`click-outside-ignore`))return;t=t.parentElement}this.props.onClickOutside()}};render(){let{onClickOutside:e,isOutsideClick:t,...n}=this.props;return r.createElement(`div`,{...n,ref:this.wrapperRef},this.props.children)}},a={},o=null;function s(){let e=document.createElement(`div`);return e.style.opacity=`0`,e.style.pointerEvents=`none`,e.style.position=`fixed`,document.body.append(e),e}function c(e){let t=e.toLowerCase().trim();if(a[t]!==void 0)return a[t];o||=s(),o.style.color=`#000`,o.style.color=t;let n=getComputedStyle(o).color;o.style.color=`#fff`,o.style.color=t;let r=getComputedStyle(o).color;if(r!==n)return[0,0,0,1];let i=r.replace(/[^\d.,]/g,``).split(`,`).map(Number.parseFloat);return i.length<4&&i.push(1),i=i.map(e=>Number.isNaN(e)?0:e),a[t]=i,i}function l(e,t){let[n,r,i]=c(e);return`rgba(${n}, ${r}, ${i}, ${t})`}var u=new Map;function d(e,t){let n=`${e}-${t}`,r=u.get(n);if(r!==void 0)return r;let i=f(e,t);return u.set(n,i),i}function f(e,t){if(t===void 0)return e;let[n,r,i,a]=c(e);if(a===1)return e;let[o,s,l,u]=c(t),d=a+u*(1-a);return`rgba(${(a*n+u*o*(1-a))/d}, ${(a*r+u*s*(1-a))/d}, ${(a*i+u*l*(1-a))/d}, ${d})`}function p(e){return{"--gdg-accent-color":e.accentColor,"--gdg-accent-fg":e.accentFg,"--gdg-accent-light":e.accentLight,"--gdg-text-dark":e.textDark,"--gdg-text-medium":e.textMedium,"--gdg-text-light":e.textLight,"--gdg-text-bubble":e.textBubble,"--gdg-bg-icon-header":e.bgIconHeader,"--gdg-fg-icon-header":e.fgIconHeader,"--gdg-text-header":e.textHeader,"--gdg-text-group-header":e.textGroupHeader??e.textHeader,"--gdg-text-header-selected":e.textHeaderSelected,"--gdg-bg-cell":e.bgCell,"--gdg-bg-cell-medium":e.bgCellMedium,"--gdg-bg-header":e.bgHeader,"--gdg-bg-header-has-focus":e.bgHeaderHasFocus,"--gdg-bg-header-hovered":e.bgHeaderHovered,"--gdg-bg-bubble":e.bgBubble,"--gdg-bg-bubble-selected":e.bgBubbleSelected,"--gdg-bg-search-result":e.bgSearchResult,"--gdg-border-color":e.borderColor,"--gdg-horizontal-border-color":e.horizontalBorderColor??e.borderColor,"--gdg-drilldown-border":e.drilldownBorder,"--gdg-link-color":e.linkColor,"--gdg-cell-horizontal-padding":`${e.cellHorizontalPadding}px`,"--gdg-cell-vertical-padding":`${e.cellVerticalPadding}px`,"--gdg-header-font-style":e.headerFontStyle,"--gdg-base-font-style":e.baseFontStyle,"--gdg-marker-font-style":e.markerFontStyle,"--gdg-font-family":e.fontFamily,"--gdg-editor-font-size":e.editorFontSize,...e.resizeIndicatorColor===void 0?{}:{"--gdg-resize-indicator-color":e.resizeIndicatorColor},...e.headerBottomBorderColor===void 0?{}:{"--gdg-header-bottom-border-color":e.headerBottomBorderColor},...e.roundingRadius===void 0?{}:{"--gdg-rounding-radius":`${e.roundingRadius}px`}}}var m={accentColor:`#4F5DFF`,accentFg:`#FFFFFF`,accentLight:`rgba(62, 116, 253, 0.1)`,textDark:`#313139`,textMedium:`#737383`,textLight:`#B2B2C0`,textBubble:`#313139`,bgIconHeader:`#737383`,fgIconHeader:`#FFFFFF`,textHeader:`#313139`,textGroupHeader:`#313139BB`,textHeaderSelected:`#FFFFFF`,bgCell:`#FFFFFF`,bgCellMedium:`#FAFAFB`,bgHeader:`#F7F7F8`,bgHeaderHasFocus:`#E9E9EB`,bgHeaderHovered:`#EFEFF1`,bgBubble:`#EDEDF3`,bgBubbleSelected:`#FFFFFF`,bgSearchResult:`#fff9e3`,borderColor:`rgba(115, 116, 131, 0.16)`,drilldownBorder:`rgba(0, 0, 0, 0)`,linkColor:`#353fb5`,cellHorizontalPadding:8,cellVerticalPadding:3,headerIconSize:18,headerFontStyle:`600 13px`,baseFontStyle:`13px`,markerFontStyle:`9px`,fontFamily:`Inter, Roboto, -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Ubuntu, noto, arial, sans-serif`,editorFontSize:`13px`,lineHeight:1.4};function ee(){return m}var te=r.createContext(m);function ne(e,...t){let n={...e};for(let e of t)if(e!==void 0)for(let t in e)e.hasOwnProperty(t)&&(t===`bgCell`?n[t]=f(e[t],n[t]):n[t]=e[t]);return(n.headerFontFull===void 0||e.fontFamily!==n.fontFamily||e.headerFontStyle!==n.headerFontStyle)&&(n.headerFontFull=`${n.headerFontStyle} ${n.fontFamily}`),(n.baseFontFull===void 0||e.fontFamily!==n.fontFamily||e.baseFontStyle!==n.baseFontStyle)&&(n.baseFontFull=`${n.baseFontStyle} ${n.fontFamily}`),(n.markerFontFull===void 0||e.fontFamily!==n.fontFamily||e.markerFontStyle!==n.markerFontStyle)&&(n.markerFontFull=`${n.markerFontStyle} ${n.fontFamily}`),n}function h(e=`This should not happen`){throw Error(e)}function g(e,t=`Assertion failed`){if(!e)return h(t)}function _(e,t){return h(t??`Hell froze over`)}function re(e,t){try{return e()}catch{return t}}var v=Object.prototype.hasOwnProperty;function y(e,t){let n,r;if(e===t)return!0;if(e&&t&&(n=e.constructor)===t.constructor){if(n===Date)return e.getTime()===t.getTime();if(n===RegExp)return e.toString()===t.toString();if(n===Array){if((r=e.length)===t.length)for(;r--&&y(e[r],t[r]););return r===-1}if(!n||typeof e==`object`){for(n in r=0,e)if(v.call(e,n)&&++r&&!v.call(t,n)||!(n in t)||!y(e[n],t[n]))return!1;return Object.keys(t).length===r}}return e!==e&&t!==t}var ie=t(((e,t)=>{var n=Object.prototype.hasOwnProperty;function r(e,t){return e!=null&&n.call(e,t)}t.exports=r})),b=t(((e,t)=>{t.exports=Array.isArray})),x=t(((e,t)=>{t.exports=typeof global==`object`&&global&&global.Object===Object&&global})),S=t(((e,t)=>{var n=x(),r=typeof self==`object`&&self&&self.Object===Object&&self;t.exports=n||r||Function(`return this`)()})),C=t(((e,t)=>{t.exports=S().Symbol})),ae=t(((e,t)=>{var n=C(),r=Object.prototype,i=r.hasOwnProperty,a=r.toString,o=n?n.toStringTag:void 0;function s(e){var t=i.call(e,o),n=e[o];try{e[o]=void 0;var r=!0}catch{}var s=a.call(e);return r&&(t?e[o]=n:delete e[o]),s}t.exports=s})),oe=t(((e,t)=>{var n=Object.prototype.toString;function r(e){return n.call(e)}t.exports=r})),w=t(((e,t)=>{var n=C(),r=ae(),i=oe(),a=`[object Null]`,o=`[object Undefined]`,s=n?n.toStringTag:void 0;function c(e){return e==null?e===void 0?o:a:s&&s in Object(e)?r(e):i(e)}t.exports=c})),T=t(((e,t)=>{function n(e){return typeof e==`object`&&!!e}t.exports=n})),E=t(((e,t)=>{var n=w(),r=T(),i=`[object Symbol]`;function a(e){return typeof e==`symbol`||r(e)&&n(e)==i}t.exports=a})),D=t(((e,t)=>{var n=b(),r=E(),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;function o(e,t){if(n(e))return!1;var o=typeof e;return o==`number`||o==`symbol`||o==`boolean`||e==null||r(e)?!0:a.test(e)||!i.test(e)||t!=null&&e in Object(t)}t.exports=o})),O=t(((e,t)=>{function n(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}t.exports=n})),k=t(((e,t)=>{var n=w(),r=O(),i=`[object AsyncFunction]`,a=`[object Function]`,o=`[object GeneratorFunction]`,s=`[object Proxy]`;function c(e){if(!r(e))return!1;var t=n(e);return t==a||t==o||t==i||t==s}t.exports=c})),A=t(((e,t)=>{t.exports=S()[`__core-js_shared__`]})),se=t(((e,t)=>{var n=A(),r=function(){var e=/[^.]+$/.exec(n&&n.keys&&n.keys.IE_PROTO||``);return e?`Symbol(src)_1.`+e:``}();function i(e){return!!r&&r in e}t.exports=i})),j=t(((e,t)=>{var n=Function.prototype.toString;function r(e){if(e!=null){try{return n.call(e)}catch{}try{return e+``}catch{}}return``}t.exports=r})),ce=t(((e,t)=>{var n=k(),r=se(),i=O(),a=j(),o=/[\\^$.*+?()[\]{}|]/g,s=/^\[object .+?Constructor\]$/,c=Function.prototype,l=Object.prototype,u=c.toString,d=l.hasOwnProperty,f=RegExp(`^`+u.call(d).replace(o,`\\$&`).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,`$1.*?`)+`$`);function p(e){return!i(e)||r(e)?!1:(n(e)?f:s).test(a(e))}t.exports=p})),le=t(((e,t)=>{function n(e,t){return e?.[t]}t.exports=n})),M=t(((e,t)=>{var n=ce(),r=le();function i(e,t){var i=r(e,t);return n(i)?i:void 0}t.exports=i})),N=t(((e,t)=>{t.exports=M()(Object,`create`)})),ue=t(((e,t)=>{var n=N();function r(){this.__data__=n?n(null):{},this.size=0}t.exports=r})),de=t(((e,t)=>{function n(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}t.exports=n})),fe=t(((e,t)=>{var n=N(),r=`__lodash_hash_undefined__`,i=Object.prototype.hasOwnProperty;function a(e){var t=this.__data__;if(n){var a=t[e];return a===r?void 0:a}return i.call(t,e)?t[e]:void 0}t.exports=a})),pe=t(((e,t)=>{var n=N(),r=Object.prototype.hasOwnProperty;function i(e){var t=this.__data__;return n?t[e]!==void 0:r.call(t,e)}t.exports=i})),me=t(((e,t)=>{var n=N(),r=`__lodash_hash_undefined__`;function i(e,t){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=n&&t===void 0?r:t,this}t.exports=i})),he=t(((e,t)=>{var n=ue(),r=de(),i=fe(),a=pe(),o=me();function s(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}s.prototype.clear=n,s.prototype.delete=r,s.prototype.get=i,s.prototype.has=a,s.prototype.set=o,t.exports=s})),P=t(((e,t)=>{function n(){this.__data__=[],this.size=0}t.exports=n})),F=t(((e,t)=>{function n(e,t){return e===t||e!==e&&t!==t}t.exports=n})),I=t(((e,t)=>{var n=F();function r(e,t){for(var r=e.length;r--;)if(n(e[r][0],t))return r;return-1}t.exports=r})),L=t(((e,t)=>{var n=I(),r=Array.prototype.splice;function i(e){var t=this.__data__,i=n(t,e);return i<0?!1:(i==t.length-1?t.pop():r.call(t,i,1),--this.size,!0)}t.exports=i})),R=t(((e,t)=>{var n=I();function r(e){var t=this.__data__,r=n(t,e);return r<0?void 0:t[r][1]}t.exports=r})),ge=t(((e,t)=>{var n=I();function r(e){return n(this.__data__,e)>-1}t.exports=r})),_e=t(((e,t)=>{var n=I();function r(e,t){var r=this.__data__,i=n(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}t.exports=r})),z=t(((e,t)=>{var n=P(),r=L(),i=R(),a=ge(),o=_e();function s(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}s.prototype.clear=n,s.prototype.delete=r,s.prototype.get=i,s.prototype.has=a,s.prototype.set=o,t.exports=s})),B=t(((e,t)=>{t.exports=M()(S(),`Map`)})),ve=t(((e,t)=>{var n=he(),r=z(),i=B();function a(){this.size=0,this.__data__={hash:new n,map:new(i||r),string:new n}}t.exports=a})),ye=t(((e,t)=>{function n(e){var t=typeof e;return t==`string`||t==`number`||t==`symbol`||t==`boolean`?e!==`__proto__`:e===null}t.exports=n})),V=t(((e,t)=>{var n=ye();function r(e,t){var r=e.__data__;return n(t)?r[typeof t==`string`?`string`:`hash`]:r.map}t.exports=r})),be=t(((e,t)=>{var n=V();function r(e){var t=n(this,e).delete(e);return this.size-=t?1:0,t}t.exports=r})),xe=t(((e,t)=>{var n=V();function r(e){return n(this,e).get(e)}t.exports=r})),Se=t(((e,t)=>{var n=V();function r(e){return n(this,e).has(e)}t.exports=r})),Ce=t(((e,t)=>{var n=V();function r(e,t){var r=n(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}t.exports=r})),H=t(((e,t)=>{var n=ve(),r=be(),i=xe(),a=Se(),o=Ce();function s(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}s.prototype.clear=n,s.prototype.delete=r,s.prototype.get=i,s.prototype.has=a,s.prototype.set=o,t.exports=s})),we=t(((e,t)=>{var n=H(),r=`Expected a function`;function i(e,t){if(typeof e!=`function`||t!=null&&typeof t!=`function`)throw TypeError(r);var a=function(){var n=arguments,r=t?t.apply(this,n):n[0],i=a.cache;if(i.has(r))return i.get(r);var o=e.apply(this,n);return a.cache=i.set(r,o)||i,o};return a.cache=new(i.Cache||n),a}i.Cache=n,t.exports=i})),Te=t(((e,t)=>{var n=we(),r=500;function i(e){var t=n(e,function(e){return i.size===r&&i.clear(),e}),i=t.cache;return t}t.exports=i})),Ee=t(((e,t)=>{var n=Te(),r=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,i=/\\(\\)?/g;t.exports=n(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(``),e.replace(r,function(e,n,r,a){t.push(r?a.replace(i,`$1`):n||e)}),t})})),De=t(((e,t)=>{function n(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}t.exports=n})),Oe=t(((e,t)=>{var n=C(),r=De(),i=b(),a=E(),o=1/0,s=n?n.prototype:void 0,c=s?s.toString:void 0;function l(e){if(typeof e==`string`)return e;if(i(e))return r(e,l)+``;if(a(e))return c?c.call(e):``;var t=e+``;return t==`0`&&1/e==-o?`-0`:t}t.exports=l})),ke=t(((e,t)=>{var n=Oe();function r(e){return e==null?``:n(e)}t.exports=r})),U=t(((e,t)=>{var n=b(),r=D(),i=Ee(),a=ke();function o(e,t){return n(e)?e:r(e,t)?[e]:i(a(e))}t.exports=o})),Ae=t(((e,t)=>{var n=w(),r=T(),i=`[object Arguments]`;function a(e){return r(e)&&n(e)==i}t.exports=a})),W=t(((e,t)=>{var n=Ae(),r=T(),i=Object.prototype,a=i.hasOwnProperty,o=i.propertyIsEnumerable;t.exports=n(function(){return arguments}())?n:function(e){return r(e)&&a.call(e,`callee`)&&!o.call(e,`callee`)}})),G=t(((e,t)=>{var n=9007199254740991,r=/^(?:0|[1-9]\d*)$/;function i(e,t){var i=typeof e;return t??=n,!!t&&(i==`number`||i!=`symbol`&&r.test(e))&&e>-1&&e%1==0&&e<t}t.exports=i})),K=t(((e,t)=>{var n=9007199254740991;function r(e){return typeof e==`number`&&e>-1&&e%1==0&&e<=n}t.exports=r})),q=t(((e,t)=>{var n=E(),r=1/0;function i(e){if(typeof e==`string`||n(e))return e;var t=e+``;return t==`0`&&1/e==-r?`-0`:t}t.exports=i})),J=t(((e,t)=>{var n=U(),r=W(),i=b(),a=G(),o=K(),s=q();function c(e,t,c){t=n(t,e);for(var l=-1,u=t.length,d=!1;++l<u;){var f=s(t[l]);if(!(d=e!=null&&c(e,f)))break;e=e[f]}return d||++l!=u?d:(u=e==null?0:e.length,!!u&&o(u)&&a(f,u)&&(i(e)||r(e)))}t.exports=c})),je=e(t(((e,t)=>{var n=ie(),r=J();function i(e,t){return e!=null&&r(e,t,n)}t.exports=i}))(),1),Y;(function(e){e.Uri=`uri`,e.Text=`text`,e.Image=`image`,e.RowID=`row-id`,e.Number=`number`,e.Bubble=`bubble`,e.Boolean=`boolean`,e.Loading=`loading`,e.Markdown=`markdown`,e.Drilldown=`drilldown`,e.Protected=`protected`,e.Custom=`custom`})(Y||={});var Me;(function(e){e.HeaderRowID=`headerRowID`,e.HeaderCode=`headerCode`,e.HeaderNumber=`headerNumber`,e.HeaderString=`headerString`,e.HeaderBoolean=`headerBoolean`,e.HeaderAudioUri=`headerAudioUri`,e.HeaderVideoUri=`headerVideoUri`,e.HeaderEmoji=`headerEmoji`,e.HeaderImage=`headerImage`,e.HeaderUri=`headerUri`,e.HeaderPhone=`headerPhone`,e.HeaderMarkdown=`headerMarkdown`,e.HeaderDate=`headerDate`,e.HeaderTime=`headerTime`,e.HeaderEmail=`headerEmail`,e.HeaderReference=`headerReference`,e.HeaderIfThenElse=`headerIfThenElse`,e.HeaderSingleValue=`headerSingleValue`,e.HeaderLookup=`headerLookup`,e.HeaderTextTemplate=`headerTextTemplate`,e.HeaderMath=`headerMath`,e.HeaderRollup=`headerRollup`,e.HeaderJoinStrings=`headerJoinStrings`,e.HeaderSplitString=`headerSplitString`,e.HeaderGeoDistance=`headerGeoDistance`,e.HeaderArray=`headerArray`,e.RowOwnerOverlay=`rowOwnerOverlay`,e.ProtectedColumnOverlay=`protectedColumnOverlay`})(Me||={});var X;(function(e){e.Triangle=`triangle`,e.Dots=`dots`})(X||={});function Ne(e){return`width`in e&&typeof e.width==`number`}async function Pe(e){return typeof e==`object`?e:await e()}function Z(e){return!(e.kind===Y.Loading||e.kind===Y.Bubble||e.kind===Y.RowID||e.kind===Y.Protected||e.kind===Y.Drilldown)}function Fe(e){return e.kind===$.Marker||e.kind===$.NewRow}function Q(e){if(!Z(e)||e.kind===Y.Image)return!1;if(e.kind===Y.Text||e.kind===Y.Number||e.kind===Y.Markdown||e.kind===Y.Uri||e.kind===Y.Custom||e.kind===Y.Boolean)return e.readonly!==!0;_(e,`A cell was passed with an invalid kind`)}function Ie(e){return(0,je.default)(e,`editor`)}function Le(e){return!(e.readonly??!1)}var $;(function(e){e.NewRow=`new-row`,e.Marker=`marker`})($||={});function Re(e){if(e.length===0)return[];let t=[...e],n=[];t.sort(function(e,t){return e[0]-t[0]}),n.push([...t[0]]);for(let e of t.slice(1)){let t=n[n.length-1];t[1]<e[0]?n.push([...e]):t[1]<e[1]&&(t[1]=e[1])}return n}var ze,Be=class e{items;constructor(e){this.items=e}static empty=()=>ze??=new e([]);static fromSingleSelection=t=>e.empty().add(t);offset(t){return t===0?this:new e(this.items.map(e=>[e[0]+t,e[1]+t]))}add(t){let n=typeof t==`number`?[t,t+1]:t;return new e(Re([...this.items,n]))}remove(t){let n=[...this.items],r=typeof t==`number`?t:t[0],i=typeof t==`number`?t+1:t[1];for(let[e,t]of n.entries()){let[a,o]=t;if(a<=i&&r<=o){let t=[];a<r&&t.push([a,r]),i<o&&t.push([i,o]),n.splice(e,1,...t)}}return new e(n)}first(){if(this.items.length!==0)return this.items[0][0]}last(){if(this.items.length!==0)return this.items.slice(-1)[0][1]-1}hasIndex(e){for(let t=0;t<this.items.length;t++){let[n,r]=this.items[t];if(e>=n&&e<r)return!0}return!1}hasAll(e){for(let t=e[0];t<e[1];t++)if(!this.hasIndex(t))return!1;return!0}some(e){for(let t of this)if(e(t))return!0;return!1}equals(e){if(e===this)return!0;if(e.items.length!==this.items.length)return!1;for(let t=0;t<this.items.length;t++){let n=e.items[t],r=this.items[t];if(n[0]!==r[0]||n[1]!==r[1])return!1}return!0}toArray(){let e=[];for(let[t,n]of this.items)for(let r=t;r<n;r++)e.push(r);return e}get length(){let e=0;for(let[t,n]of this.items)e+=n-t;return e}*[Symbol.iterator](){for(let[e,t]of this.items)for(let n=e;n<t;n++)yield n}};export{C as A,p as B,j as C,E as D,D as E,_ as F,i as G,f as H,y as I,re as L,x as M,b as N,T as O,g as P,te as R,M as S,O as T,d as U,ne as V,l as W,U as _,Le as a,z as b,Ie as c,Pe as d,J as f,W as g,G as h,$ as i,S as j,w as k,Q as l,K as m,Y as n,Z as o,q as p,X as r,Fe as s,Be as t,Ne as u,H as v,k as w,F as x,B as y,ee as z};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{b as t,y as n}from"./vendor-markdown-CKTlmXbz.js";import"./vendor-ui-DMRGWRuc.js";import{t as r}from"./database-BLht7BVM.js";import{n as i,t as a}from"./glide-data-grid-BC0AHzMn.js";import{t as o}from"./shield-check-m2QzZTuZ.js";import{t as s}from"./shield-off-DNn7VzJe.js";import{t as c}from"./api-client-Dvzcc_EO.js";import"./vendor-mermaid-DP1CEcGn.js";import"./settings-store-mWnY4Kt0.js";import"./panel-store-D6RV_ztx.js";import{t as l}from"./tab-store-CcLQfu8H.js";import{Jt as u,T as d,Zt as f,zt as p}from"./index-C1Q59prB.js";import"./data-grid-types-CWHnFOc-.js";import"./use-monaco-theme-Ch2jRiGj.js";import{t as m}from"./sql-query-editor-CJdpO95g.js";var h=e(t(),1);function g(e,t,n,r){return`ppm-db-${e}-${n}.${t}-p${r}`}function _(e,t,n,r){try{let i=sessionStorage.getItem(g(e,t,n,r));return i?JSON.parse(i):null}catch{return null}}function v(e,t,n,r,i,a){try{sessionStorage.setItem(g(e,t,n,r),JSON.stringify({data:i,cols:a}))}catch{}}function y(e){let t=`/api/db/connections/${e}`,[n,r]=(0,h.useState)(null),[i,a]=(0,h.useState)(`public`),[o,s]=(0,h.useState)(null),[l,u]=(0,h.useState)([]),[d,f]=(0,h.useState)(!1),[p,m]=(0,h.useState)(null),[g,y]=(0,h.useState)(1),[b,x]=(0,h.useState)(null),[S,C]=(0,h.useState)(null),[w,T]=(0,h.useState)(!1),[E,D]=(0,h.useState)(null),[O,k]=(0,h.useState)(`ASC`),A=(0,h.useRef)(null),j=(0,h.useCallback)(async(r,a,o,l,d)=>{let p=r??n,h=a??i;if(!p)return;A.current=null,f(!0);let _=l===void 0?E:l,y=d??O;try{let n=_?`&orderBy=${encodeURIComponent(_)}&orderDir=${y}`:``,[r,i]=await Promise.all([c.get(`${t}/data?table=${encodeURIComponent(p)}&schema=${h}&page=${o??g}&limit=100${n}`),c.get(`${t}/schema?table=${encodeURIComponent(p)}&schema=${h}`)]);s(r),u(i),v(e,p,h,o??g,r,i)}catch(e){m(e.message)}finally{f(!1)}},[t,e,n,i,g,E,O]),M=(0,h.useCallback)((t,n=`public`)=>{r(t),a(n),y(1),x(null);let i=_(e,t,n,1);i?(s(i.data),u(i.cols),f(!1),j(t,n,1)):j(t,n,1)},[e,j]),N=(0,h.useCallback)(e=>{y(e),j(void 0,void 0,e)},[j]),P=(0,h.useCallback)(async e=>{A.current={sql:e,mode:`table`},f(!0);try{let n=await c.post(`${t}/query`,{sql:e});n.changeType===`select`&&s({columns:n.columns,rows:n.rows,total:n.rows.length,page:1,limit:n.rows.length})}catch(e){m(e.message)}finally{f(!1)}},[t]),F=(0,h.useCallback)(async e=>{T(!0),C(null);try{let r=await c.post(`${t}/query`,{sql:e});x(r),r.changeType===`modify`?(A.current=null,j(n??void 0,i)):A.current={sql:e,mode:`query`}}catch(e){C(e.message)}finally{T(!1)}},[t,n,i,j]),I=(0,h.useCallback)((e,t)=>{let n=A.current;if(n?.mode===`table`){P(n.sql);return}j(e,t)},[P,j]),L=(0,h.useCallback)(async(e,r,a,o)=>{if(!n)return;let s=n,l=i;try{await c.put(`${t}/cell`,{table:s,schema:l,pkColumn:e,pkValue:r,column:a,value:o}),I(s,l)}catch(e){m(e.message)}},[t,n,i,I]),R=(0,h.useCallback)(async(e,r)=>{if(!n)return;let a=n,o=i;try{await c.del(`${t}/row`,{table:a,schema:o,pkColumn:e,pkValue:r}),I(a,o)}catch(e){m(e.message)}},[t,n,i,I]);return{selectedTable:n,selectedSchema:i,selectTable:M,tableData:o,schema:l,loading:d,error:p,page:g,setPage:N,orderBy:E,orderDir:O,toggleSort:(0,h.useCallback)(e=>{let t,n=`ASC`;E===e?O===`ASC`?(t=e,n=`DESC`):(t=null,n=`ASC`):(t=e,n=`ASC`),D(t),k(n),y(1),j(void 0,void 0,1,t,n)},[E,O,j]),clearSort:(0,h.useCallback)(()=>{D(null),k(`ASC`),y(1),j(void 0,void 0,1,null,`ASC`)},[j]),queryResult:b,queryError:S,queryLoading:w,executeQuery:F,updateCell:L,deleteRow:R,bulkDelete:(0,h.useCallback)(async(e,r)=>{if(!n)return;let a=n,o=i;try{await c.post(`${t}/rows/delete`,{table:a,schema:o,pkColumn:e,pkValues:r}),I(a,o)}catch(e){m(e.message)}},[t,n,i,I]),insertRow:(0,h.useCallback)(async e=>{if(!n)return;let r=n,a=i;try{await c.post(`${t}/row`,{table:r,schema:a,values:e}),I(r,a)}catch(e){throw m(e.message),e}},[t,n,i,I]),refreshData:j,queryAsTable:P,reload:(0,h.useCallback)(()=>{let e=A.current;if(e?.mode===`query`){F(e.sql);return}if(e?.mode===`table`){P(e.sql);return}j()},[F,P,j])}}var b=n();function x(e){let t={},n=/"(\w+)"\s+ILIKE\s+'%([^']*?)%'/gi,r;for(;(r=n.exec(e))!==null;)t[r[1]]=r[2].replace(/''/g,`'`);return t}function S({metadata:e,tabId:t}){let n=e?.connectionId,g=e?.connectionName,_=e?.tableName,v=e?.schemaName??`public`,S=e?.initialSql,C=e?.currentSql,T=l(e=>e.updateTab),E=(0,h.useRef)(e);E.current=e;let D=(0,h.useCallback)(e=>{t&&T(t,{metadata:{...E.current,currentSql:e}})},[t,T]),O=y(n),{connections:k,updateConnection:A}=d(),j=(0,h.useMemo)(()=>k.find(e=>e.id===n),[k,n]),[M,N]=(0,h.useState)([]),[P,F]=(0,h.useState)(180),I=(0,h.useRef)(null),[L,R]=(0,h.useState)({}),z=(0,h.useMemo)(()=>{if(S&&!O.selectedTable)return S;if(O.selectedTable){let e=`SELECT * FROM "${O.selectedTable}"`,t=Object.entries(L).filter(([,e])=>e.trim()).map(([e,t])=>`"${e}" ILIKE '%${t.replace(/'/g,`''`)}%'`);t.length>0&&(e+=` WHERE ${t.join(` AND `)}`),O.orderBy&&(e+=` ORDER BY "${O.orderBy}" ${O.orderDir}`);let n=(O.page-1)*100;return e+=` LIMIT 100`,n>0&&(e+=` OFFSET ${n}`),e}return`SELECT * FROM `},[S,O.selectedTable,O.orderBy,O.orderDir,O.page,L]),ee=(0,h.useCallback)(e=>{R(e)},[]),B=(0,h.useRef)(void 0),V=(0,h.useRef)(!1);(0,h.useEffect)(()=>{if(!O.selectedTable)return;let e=Object.values(L).some(e=>e.trim());if(!(!e&&!V.current))return V.current=e,clearTimeout(B.current),B.current=setTimeout(()=>{e?O.queryAsTable(z):O.refreshData()},500),()=>clearTimeout(B.current)},[L]);let H=(0,h.useCallback)(e=>{e.preventDefault();let t=e.clientY,n=P,r=e=>{let r=e.clientY-t;F(Math.max(80,Math.min(n+r,(I.current?.clientHeight??600)-100)))},i=()=>{document.removeEventListener(`mousemove`,r),document.removeEventListener(`mouseup`,i)};document.addEventListener(`mousemove`,r),document.addEventListener(`mouseup`,i)},[P]);(0,h.useEffect)(()=>{c.get(`/api/db/connections/${n}/tables?cached=1`).then(e=>N(e.map(e=>({name:e.name,schema:e.schema})))).catch(()=>{})},[n]);let U=(0,h.useMemo)(()=>{if(M.length!==0)return{tables:M,getColumns:async(e,t)=>await c.get(`/api/db/connections/${n}/schema?table=${encodeURIComponent(e)}${t?`&schema=${encodeURIComponent(t)}`:``}`)}},[n,M]),W=(0,h.useRef)(!1);(0,h.useEffect)(()=>{W.current||(W.current=!0,S?O.executeQuery(S):_&&O.selectTable(_,v))},[_,v,S]);let[G,K]=(0,h.useState)(!!S),q=(0,h.useCallback)(e=>{let t=e.trim();if(O.selectedTable&&RegExp(`^SELECT\\s+\\*\\s+FROM\\s+"?${O.selectedTable.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}"?\\b`,`i`).test(t)){R(x(t)),O.queryAsTable(t);return}K(!0),O.executeQuery(e)},[O.executeQuery,O.queryAsTable,O.selectedTable]),J=(0,h.useCallback)(e=>{K(!1),O.toggleSort(e)},[O.toggleSort]),Y=(0,h.useCallback)(()=>{K(!1),O.clearSort()},[O.clearSort]),X=(0,h.useCallback)(e=>{K(!1),O.setPage(e)},[O.setPage]),Z=O.queryResult,Q=G&&!!(Z||O.queryError),$=O.selectedTable&&!Q,te=!($&&O.tableData)&&!Q&&(O.loading||O.queryLoading);return(0,b.jsx)(`div`,{ref:I,className:`flex h-full w-full overflow-hidden`,children:(0,b.jsxs)(`div`,{className:`flex-1 flex flex-col overflow-hidden`,children:[(0,b.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-1.5 border-b border-border bg-background shrink-0`,children:[(0,b.jsx)(r,{className:`size-3.5 text-muted-foreground`}),(0,b.jsx)(`span`,{className:`text-xs text-muted-foreground truncate`,children:g??`Database`}),O.selectedTable&&(0,b.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`/ `,O.selectedTable]}),(0,b.jsxs)(`div`,{className:`ml-auto flex items-center gap-1`,children:[O.tableData&&(0,b.jsx)(i,{columns:O.tableData.columns,rows:O.tableData.rows,filename:g?`${g}-${O.selectedTable??`data`}`:O.selectedTable??`data`,exportAllUrl:O.selectedTable?`/api/db/connections/${n}/export?table=${encodeURIComponent(O.selectedTable)}&schema=${O.selectedSchema}`:void 0}),j&&(0,b.jsx)(`button`,{type:`button`,onClick:()=>A(j.id,{readonly:j.readonly?0:1}),className:`flex items-center gap-0.5 px-1 py-0.5 rounded text-[10px] transition-colors ${j.readonly?`text-muted-foreground hover:text-foreground`:`bg-destructive/15 text-destructive`}`,title:j.readonly?`Readonly — click to allow writes`:`WRITE mode — click to enable readonly`,children:j.readonly?(0,b.jsx)(o,{className:`size-3`}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{className:`size-3`}),(0,b.jsx)(`span`,{className:`font-medium`,children:`WRITE`})]})}),(0,b.jsx)(`button`,{type:`button`,onClick:()=>O.reload(),title:`Reload data`,className:`p-1 rounded text-muted-foreground hover:text-foreground transition-colors`,children:(0,b.jsx)(p,{className:`size-3 ${O.loading||O.queryLoading?`animate-spin`:``}`})})]})]}),(0,b.jsx)(`div`,{className:`shrink-0 border-b border-border`,style:{height:P},children:(0,b.jsx)(m,{onExecute:q,loading:O.queryLoading,defaultValue:z,schemaInfo:U,onSqlChange:D,persistedSql:C})}),(0,b.jsx)(`div`,{onMouseDown:H,className:`shrink-0 h-1.5 cursor-row-resize bg-border/50 hover:bg-primary/30 flex items-center justify-center transition-colors`,children:(0,b.jsx)(f,{className:`size-3 text-muted-foreground/50`})}),(0,b.jsxs)(`div`,{className:`flex-1 overflow-hidden`,children:[$&&O.tableData&&(0,b.jsx)(a,{columns:O.tableData.columns,rows:O.tableData.rows,total:O.tableData.total,limit:O.tableData.limit,schema:O.schema,loading:O.loading,page:O.page,onPageChange:X,onCellUpdate:O.updateCell,onRowDelete:O.deleteRow,orderBy:O.orderBy,orderDir:O.orderDir,onToggleSort:J,onClearSort:Y,onBulkDelete:O.bulkDelete,onInsertRow:O.insertRow,connectionId:n,selectedTable:O.selectedTable,selectedSchema:O.selectedSchema,connectionName:g,columnFilters:L,onColumnFilter:ee}),Q&&(0,b.jsx)(w,{result:Z,error:O.queryError,loading:O.queryLoading,schema:O.schema,connectionName:g}),te&&(0,b.jsx)(`div`,{className:`flex items-center justify-center h-full text-muted-foreground`,children:(0,b.jsx)(u,{className:`size-4 animate-spin`})})]})]})})}var C=()=>{};function w({result:e,error:t,loading:n,schema:r,connectionName:i}){let o=(0,h.useMemo)(()=>e?.changeType===`select`&&e.rows.length>0?{columns:e.columns,rows:e.rows,total:e.rows.length,limit:e.rows.length}:null,[e]),s=(0,h.useMemo)(()=>r?.length?r:(e?.columns??[]).map(e=>({name:e,type:`text`,nullable:!0,pk:!1,defaultValue:null})),[r,e?.columns]);return(0,b.jsxs)(`div`,{className:`flex flex-col h-full overflow-hidden text-xs`,children:[t&&(0,b.jsx)(`div`,{className:`px-3 py-2 text-destructive bg-destructive/5 shrink-0`,children:t}),e?.changeType===`modify`&&(0,b.jsxs)(`div`,{className:`px-3 py-2 text-success shrink-0`,children:[e.rowsAffected,` row(s) affected`,e.executionTimeMs!=null&&(0,b.jsxs)(`span`,{className:`text-muted-foreground ml-2`,children:[e.executionTimeMs,`ms`]})]}),o&&(0,b.jsxs)(`div`,{className:`flex-1 overflow-hidden`,children:[(0,b.jsx)(a,{columns:o.columns,rows:o.rows,total:o.total,limit:o.limit,schema:s,loading:!!n,page:1,onPageChange:C,onCellUpdate:C,orderBy:null,orderDir:`ASC`,onToggleSort:C,connectionName:i}),e?.executionTimeMs!=null&&(0,b.jsxs)(`div`,{className:`px-3 py-0.5 border-t border-border text-[10px] text-muted-foreground shrink-0`,children:[e.rows.length,` rows · `,e.executionTimeMs,`ms`]})]}),e?.changeType===`select`&&e.rows.length===0&&(0,b.jsxs)(`div`,{className:`px-3 py-2 text-muted-foreground shrink-0`,children:[`No results`,e.executionTimeMs!=null&&(0,b.jsxs)(`span`,{className:`ml-2 text-muted-foreground/60`,children:[e.executionTimeMs,`ms`]})]}),!e&&!t&&(0,b.jsx)(`div`,{className:`flex items-center justify-center h-full text-muted-foreground`,children:n?(0,b.jsx)(u,{className:`size-4 animate-spin`}):`Run a query to see results`})]})}export{S as DatabaseViewer};
|