@hienlh/ppm 0.21.0 → 0.22.1
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 +50 -0
- package/CLAUDE.md +29 -4
- package/THIRD-PARTY-NOTICES.md +1 -1
- 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/bun.lock +16 -1
- package/dist/web/assets/accounts-settings-section-D3BylchP.js +1 -0
- package/dist/web/assets/{ai-resource-editor-F09pf8Hd.js → ai-resource-editor-BLPcnhTM.js} +1 -1
- package/dist/web/assets/ai-settings-section-BtR7rF-T.js +1 -0
- package/dist/web/assets/ai-settings-section-r9JctHNM.js +1 -0
- package/dist/web/assets/{angular-html-DkR4iCth.js → angular-html-G66FNlyn.js} +1 -1
- package/dist/web/assets/{angular-ts-DcyL4Chx.js → angular-ts-B-PnUMyt.js} +1 -1
- package/dist/web/assets/{api-client-bfB7cXRM.js → api-client-C1ZwRL4Y.js} +1 -1
- package/dist/web/assets/api-client-pQL53cDQ.js +1 -0
- package/dist/web/assets/{api-settings-BcNjZIvG.js → api-settings-_7Q-ULxp.js} +1 -1
- package/dist/web/assets/{api-themes-DBfyVUtX.js → api-themes-DRAERo4Q.js} +1 -1
- package/dist/web/assets/{apl-BVlrVtjt.js → apl-BmDqqwE8.js} +1 -1
- package/dist/web/assets/{appearance-settings-section-whgnq3ss.js → appearance-settings-section-CiMdk3sb.js} +1 -1
- package/dist/web/assets/architecture-PBZL5I3N-Dx6nBEKT.js +1 -0
- package/dist/web/assets/{astro-MjJlozLj.js → astro-BfwMNfxr.js} +1 -1
- package/dist/web/assets/{audio-preview-Bc54GCAV.js → audio-preview-DsYvgKqj.js} +1 -1
- package/dist/web/assets/{blade-DnJWi1fz.js → blade-BsFV4pnN.js} +1 -1
- package/dist/web/assets/branch-review-tab-B1pFjlKM.js +1 -0
- package/dist/web/assets/{bsl-DCmJxSIz.js → bsl-Cw9Outng.js} +1 -1
- package/dist/web/assets/{button-VW4QGKCn.js → button-B9CTrsEf.js} +1 -1
- package/dist/web/assets/{cairo-C8dDenub.js → cairo-DOK5Wqnd.js} +1 -1
- package/dist/web/assets/chat-tab-DZagX06m.js +15 -0
- package/dist/web/assets/{cobol-DPx_nifl.js → cobol-DRaRy4FK.js} +1 -1
- package/dist/web/assets/code-editor-BJhOEsnZ.js +7 -0
- package/dist/web/assets/{codex-daily-guard-CfybHv_c.js → codex-daily-guard-CaCQJ4r_.js} +1 -1
- package/dist/web/assets/{coffee-DvFzqhgN.js → coffee-DvXuBmEJ.js} +1 -1
- package/dist/web/assets/{conflict-editor-DenQUOT2.js → conflict-editor-B7u_p49h.js} +3 -3
- package/dist/web/assets/context-menu-C6pIsf83.js +1 -0
- package/dist/web/assets/{cpp-BLJN0umi.js → cpp-zCmm8rKA.js} +1 -1
- package/dist/web/assets/{crystal-BXR-9fGw.js → crystal-CdQx6lB6.js} +1 -1
- package/dist/web/assets/{csv-preview-CClrJOuR.js → csv-preview-CttjJU1e.js} +1 -1
- package/dist/web/assets/{data-grid-overlay-editor-D4fhcMfT.js → data-grid-overlay-editor-6xUCeLHh.js} +1 -1
- package/dist/web/assets/{database-viewer-DItjm8wB.js → database-viewer-Ca4HxIfx.js} +1 -1
- package/dist/web/assets/{dialog-DQTn55Mt.js → dialog-B84_DJQ8.js} +1 -1
- package/dist/web/assets/diff-viewer-9-XjLIwa.js +4 -0
- package/dist/web/assets/{docx-preview-DYBkiUaE.js → docx-preview-CXuk-emm.js} +1 -1
- package/dist/web/assets/{edge-rWOlCmXT.js → edge-E8QLt7oi.js} +1 -1
- package/dist/web/assets/{edit-diff-preview-COtmo54G.js → edit-diff-preview-BGGGecVw.js} +1 -1
- package/dist/web/assets/{editor-language-service-DxkZ51E5.js → editor-language-service-D0DuEOs_.js} +1 -1
- package/dist/web/assets/{elixir-E7Y82okW.js → elixir-DPb_-72P.js} +1 -1
- package/dist/web/assets/{elm-DTPGbc-w.js → elm-BMzJY5b0.js} +1 -1
- package/dist/web/assets/{erb-DHqLHrE6.js → erb-AABQNtMK.js} +1 -1
- package/dist/web/assets/{erlang-Byg0nNiV.js → erlang-CEIKOkfP.js} +1 -1
- package/dist/web/assets/{esm-D_DmOM7n.js → esm-B9RVMpwV.js} +1 -1
- package/dist/web/assets/explorer-body-VdCBqcZu.js +2 -0
- package/dist/web/assets/explorer-window-content-BIsbl7Th.js +1 -0
- package/dist/web/assets/extension-manager-section-HkY7geS5.js +1 -0
- package/dist/web/assets/{extension-webview-DI4VL2tJ.js → extension-webview-DZG8YHX9.js} +1 -1
- package/dist/web/assets/file-icons-BXdvggK2.js +1 -0
- package/dist/web/assets/file-icons.generated-BtBErEwb.css +1 -0
- package/dist/web/assets/file-store-ojgMXgAw.js +1 -0
- package/dist/web/assets/files-settings-section-qnRtkX05.js +1 -0
- package/dist/web/assets/{format-file-meta-DOpzJJhS.js → format-file-meta-C77h04cZ.js} +1 -1
- package/dist/web/assets/{fortran-fixed-form-CY1n0Xf6.js → fortran-fixed-form-CrXvLHyi.js} +1 -1
- package/dist/web/assets/{fsharp-_vEDSCJz.js → fsharp-DCI4qAz_.js} +1 -1
- package/dist/web/assets/{gdresource-B6XT0wAC.js → gdresource-Vb2kO1MG.js} +1 -1
- package/dist/web/assets/{general-settings-section-BcxwiZ0X.js → general-settings-section-BAFSZmCE.js} +1 -1
- package/dist/web/assets/{git-commit-Wk9ovq59.js → git-commit-BMI_OWn-.js} +1 -1
- package/dist/web/assets/git-log-panel-2sGpfEla.js +1 -0
- package/dist/web/assets/{git-rebase-DSarGPvK.js → git-rebase-D-d_2iqZ.js} +1 -1
- package/dist/web/assets/{git-repo-store-Dy69YCHN.js → git-repo-store-88Z8v-pF.js} +1 -1
- package/dist/web/assets/gitGraph-HDMCJU4V-C6qRruHI.js +1 -0
- package/dist/web/assets/{glide-data-grid-BvgAqSUr.js → glide-data-grid-f0hyITiF.js} +7 -7
- package/dist/web/assets/{glimmer-js-CkYI35_P.js → glimmer-js-BmNNiR0Z.js} +1 -1
- package/dist/web/assets/{glimmer-ts-BqmIZcds.js → glimmer-ts-DQE2Ufha.js} +1 -1
- package/dist/web/assets/{glsl-Be-yBCF5.js → glsl-BcIDsxRJ.js} +1 -1
- package/dist/web/assets/{graphql-a5DrENHY.js → graphql-DGKSLmGH.js} +1 -1
- package/dist/web/assets/group-chat-tab-Ck6sk7yY.js +1 -0
- package/dist/web/assets/{hack-BLAg20aD.js → hack-YiC8bEIb.js} +1 -1
- package/dist/web/assets/{haml-Dj6bGOQH.js → haml-DjblxAsz.js} +1 -1
- package/dist/web/assets/{handlebars-dmEa36Oh.js → handlebars-BQepOXaU.js} +1 -1
- package/dist/web/assets/{html-yacZYzSE.js → html-Cayj_2GP.js} +1 -1
- package/dist/web/assets/{html-derivative-lLi3-RNT.js → html-derivative-Weq79bL6.js} +1 -1
- package/dist/web/assets/{http-1KaxcE4e.js → http-BeLfdGdz.js} +1 -1
- package/dist/web/assets/{hurl-ST-dEEZR.js → hurl-D9rypCLK.js} +1 -1
- package/dist/web/assets/{hxml-CpDtuq__.js → hxml-clG8mmSH.js} +1 -1
- package/dist/web/assets/{image-preview-CJVxL0uH.js → image-preview-CzCc4_Do.js} +1 -1
- package/dist/web/assets/image-preview-geometry-9lgeLYB3.js +1 -0
- package/dist/web/assets/index-BH99TIE0.css +1 -0
- package/dist/web/assets/index-CEZVxM4G.js +52 -0
- package/dist/web/assets/info-3K5VOQVL-BOSpdwlz.js +1 -0
- package/dist/web/assets/{jinja-Cjw-evAn.js → jinja-BShBWfs5.js} +1 -1
- package/dist/web/assets/{jira-watcher-section-DIC1yIV3.js → jira-watcher-section-CeLmhvu1.js} +1 -1
- package/dist/web/assets/{jison-DfATMYoY.js → jison-dN2Nf_Dr.js} +1 -1
- package/dist/web/assets/{julia-DDCaxiqT.js → julia-5U0vR-uJ.js} +1 -1
- package/dist/web/assets/{just-CJL529u6.js → just-BMppVRy6.js} +1 -1
- package/dist/web/assets/keybindings-store-C_3ChOEf.js +1 -0
- package/dist/web/assets/{keyboard-shortcuts-section-BW03P3AF.js → keyboard-shortcuts-section-PVz6kuh2.js} +1 -1
- package/dist/web/assets/{latex-Zc4EpLpW.js → latex-DSSOKjis.js} +1 -1
- package/dist/web/assets/{liquid-B_6KMNYS.js → liquid-C24dKoyI.js} +1 -1
- package/dist/web/assets/{lua-BtS2idK7.js → lua-DNOsnyhn.js} +1 -1
- package/dist/web/assets/{markdown-renderer-CvL1pWeK.js → markdown-renderer-C140Ijk0.js} +3 -3
- package/dist/web/assets/markdown-renderer-Dz7-DYUg.js +1 -0
- package/dist/web/assets/{marko-Wk6LBnck.js → marko-26MHO_Q9.js} +1 -1
- package/dist/web/assets/{mdc-cRaXBrzL.js → mdc-Dhw9mGrC.js} +1 -1
- package/dist/web/assets/{media-url-DL8OCGGg.js → media-url-yfqHpPz0.js} +1 -1
- package/dist/web/assets/{mobile-bottom-sheet-CoUauvLF.js → mobile-bottom-sheet-C3TniEP-.js} +1 -1
- package/dist/web/assets/mobile-explorer-sheet-CUG_owdf.js +1 -0
- package/dist/web/assets/{nextflow-Bos2wvDV.js → nextflow-xH4oJTex.js} +1 -1
- package/dist/web/assets/{nginx-DMlOwzdr.js → nginx-CMz4w0M8.js} +1 -1
- package/dist/web/assets/{nim-D2dZQA88.js → nim-D8FnIYsx.js} +1 -1
- package/dist/web/assets/notification-store-6vib1ISy.js +1 -0
- package/dist/web/assets/{notifications-settings-section-DPUROMw-.js → notifications-settings-section-DqlPDfNX.js} +1 -1
- package/dist/web/assets/{number-overlay-editor-DZ2i_Bnb.js → number-overlay-editor-CRGwULhR.js} +1 -1
- package/dist/web/assets/{overview-panel-R146OIom.js → overview-panel-Di-3aV9p.js} +1 -1
- package/dist/web/assets/packet-RMMSAZCW-BGIE1QdU.js +1 -0
- package/dist/web/assets/panel-store-CboGJAwh.js +1 -0
- package/dist/web/assets/{pdf-preview-BWUPGLp6.js → pdf-preview-CmBI6E7d.js} +1 -1
- package/dist/web/assets/{perl-C5-Z6fPn.js → perl-D9iNWYwb.js} +1 -1
- package/dist/web/assets/{php-BXNNhkMH.js → php-Bw3Qo0Zv.js} +1 -1
- package/dist/web/assets/pie-UPGHQEXC-Dg-QTbXX.js +1 -0
- package/dist/web/assets/{postgres-viewer-CjOvaruz.js → postgres-viewer-8ZAqEALv.js} +3 -3
- package/dist/web/assets/{ppmbot-settings-section-DrvWh8l8.js → ppmbot-settings-section-Cji-Mil-.js} +1 -1
- package/dist/web/assets/problems-panel-a6_hrWvl.js +1 -0
- package/dist/web/assets/{process-table-BRMS1MrX.js → process-table-CiIqlOIK.js} +1 -1
- package/dist/web/assets/project-framework-store-B70Q3dNM.js +1 -0
- package/dist/web/assets/project-store-B87hLRSk.js +1 -0
- package/dist/web/assets/{proxy-settings-section-Bv0Ny-Yy.js → proxy-settings-section-BjI4IFgp.js} +1 -1
- package/dist/web/assets/{pug-C1zf1yWy.js → pug-fT5JC6Vm.js} +1 -1
- package/dist/web/assets/{qml-OW58jGpD.js → qml-P_wEDB1w.js} +1 -1
- package/dist/web/assets/{query-audit-section-BcHJZcVC.js → query-audit-section-By6qyqdB.js} +1 -1
- package/dist/web/assets/radar-KQ55EAFF-DZ6IVu2s.js +1 -0
- package/dist/web/assets/{razor-DzjSaobM.js → razor-Drrt2_Ph.js} +1 -1
- package/dist/web/assets/remote-desktop-clipboard-notice-eXYvwgx7.js +1 -0
- package/dist/web/assets/remote-desktop-mobile-sheet-Doh-fci-.js +2 -0
- package/dist/web/assets/remote-desktop-mobile-view-Dt8Akc3p.js +1 -0
- package/dist/web/assets/{remote-desktop-readiness-gate-BTzss2wX.js → remote-desktop-readiness-gate-t83fqbID.js} +1 -1
- package/dist/web/assets/remote-desktop-window-content-CguhZMmx.js +1 -0
- package/dist/web/assets/{rst-RfuihOUW.js → rst-Dr2mW4-h.js} +1 -1
- package/dist/web/assets/{ruby-CNO3pli1.js → ruby-C6EpUsTY.js} +1 -1
- package/dist/web/assets/{run-in-terminal-Cb_hVU8x.js → run-in-terminal-CdefEe_R.js} +1 -1
- package/dist/web/assets/{sas-DZY5BtXx.js → sas-D8ZEeP6v.js} +1 -1
- package/dist/web/assets/{schedules-settings-section-DO8xAOVj.js → schedules-settings-section-BVkpW5ms.js} +1 -1
- package/dist/web/assets/{scroll-area-LtNV8g5o.js → scroll-area-BzeiOd-B.js} +1 -1
- package/dist/web/assets/{scss--4g-REcN.js → scss-ITL7jQ1f.js} +1 -1
- package/dist/web/assets/{send-to-chat-Cnpru1M0.js → send-to-chat-F207yH3u.js} +1 -1
- package/dist/web/assets/{separator-Cds1yxy8.js → separator-TRMsJUYe.js} +1 -1
- package/dist/web/assets/settings-body-CoIxYAh6.js +2 -0
- package/dist/web/assets/settings-store-krC6bc79.js +2 -0
- package/dist/web/assets/settings-tab-7DKVUTbM.js +1 -0
- package/dist/web/assets/settings-window-content-3_39TeX-.js +1 -0
- package/dist/web/assets/{shaderlab-Cu4sBiVn.js → shaderlab-mW-IIlhk.js} +1 -1
- package/dist/web/assets/{shellsession-DWzJfEv7.js → shellsession-DhNl5STt.js} +1 -1
- package/dist/web/assets/{soy-BnqE-5Ff.js → soy-SdY0Qjtr.js} +1 -1
- package/dist/web/assets/{sparql-Ctg__NhZ.js → sparql-ftqZo2i-.js} +1 -1
- package/dist/web/assets/{sql-query-editor-D9k19T_M.js → sql-query-editor-CQB7Yp7U.js} +1 -1
- package/dist/web/assets/{sqlite-viewer-DoV9hnWJ.js → sqlite-viewer-Bd7rjr1D.js} +1 -1
- package/dist/web/assets/{stata-Qk2h66XW.js → stata-Bj7Yjb4b.js} +1 -1
- package/dist/web/assets/{surrealql-8QEX7EfH.js → surrealql-CLhYGAfB.js} +1 -1
- package/dist/web/assets/{svelte-D_mubC5-.js → svelte-DTAlRHhK.js} +1 -1
- package/dist/web/assets/system-monitor-body-DsRXeMyU.js +2 -0
- package/dist/web/assets/system-monitor-tab-DdSZgux3.js +1 -0
- package/dist/web/assets/{system-monitor-window-content-qXLcicFM.js → system-monitor-window-content-ClPo4-El.js} +1 -1
- package/dist/web/assets/{tab-host-window-content-7fPZNEni.js → tab-host-window-content-d2TAD4PU.js} +1 -1
- package/dist/web/assets/{tab-store-DGJGnbwv.js → tab-store-OJa1GPCq.js} +1 -1
- package/dist/web/assets/team-member-sheet-7d2Qp-ie.js +2 -0
- package/dist/web/assets/{team-member-window-content-BgvJFypM.js → team-member-window-content-Bctg2gmg.js} +1 -1
- package/dist/web/assets/{templ-C1jV0fsO.js → templ-BMfhACxb.js} +1 -1
- package/dist/web/assets/{terminal-tab-Cs0sGljx.js → terminal-tab-0HQic25V.js} +3 -3
- package/dist/web/assets/{tex-D_StFXy_.js → tex-BcssM-QA.js} +1 -1
- package/dist/web/assets/tool-cards-CmLLRACd.js +9 -0
- package/dist/web/assets/treemap-KZPCXAKY-CE30wCXa.js +1 -0
- package/dist/web/assets/{ts-tags-B5m47rEm.js → ts-tags-CrR5IYI8.js} +1 -1
- package/dist/web/assets/{twig-C_br6GIl.js → twig-DchfUmyI.js} +1 -1
- package/dist/web/assets/{use-blob-url-C-SGi_Hb.js → use-blob-url-CPtCcY3i.js} +1 -1
- package/dist/web/assets/{use-inline-blame-B4trxGcR.js → use-inline-blame-sDMjcz1-.js} +3 -3
- package/dist/web/assets/{use-lsp-CV0vzILO.js → use-lsp-CBgID-EU.js} +1 -1
- package/dist/web/assets/{use-monaco-theme-DBqbWjWX.js → use-monaco-theme-gvhJ_jZh.js} +1 -1
- package/dist/web/assets/{use-open-team-member-DENsjp0s.js → use-open-team-member-C3mrUzIC.js} +1 -1
- package/dist/web/assets/{use-websocket-LgXiX1qN.js → use-websocket-C9wlRliB.js} +1 -1
- package/dist/web/assets/{vendor-mermaid-Cbig5zA6.js → vendor-mermaid-BitiXJlL.js} +1 -1
- package/dist/web/assets/{vendor-ui-BBdkypKW.js → vendor-ui-DmZ-Mb-H.js} +1 -1
- package/dist/web/assets/video-preview-CSDK5j6H.js +1 -0
- package/dist/web/assets/{vue-DQwCnLdr.js → vue-1EL6Pw1h.js} +1 -1
- package/dist/web/assets/{vue-html-T_EoGpPJ.js → vue-html-BPQNwPC6.js} +1 -1
- package/dist/web/assets/{vue-vine-DmxLqX50.js → vue-vine-Bb_dsWLt.js} +1 -1
- package/dist/web/assets/{window-pip-registry-3l4hoxuD.js → window-pip-registry-yD6esSju.js} +1 -1
- package/dist/web/assets/ws-auth-CEYVQ8NH.js +1 -0
- package/dist/web/assets/{xml-Bs6Bw8is.js → xml-dxkLNA0K.js} +1 -1
- package/dist/web/assets/{xsl-f5ZNhRCc.js → xsl-Bw2adwrl.js} +1 -1
- package/dist/web/index.html +27 -26
- package/dist/web/sw.js +1 -1
- package/docs/architecture/ai-chat-and-providers.md +9 -0
- package/docs/architecture/plugins-and-tracing.md +285 -0
- package/docs/lessons-learned.md +31 -0
- package/docs/system-architecture.md +1 -0
- package/package.json +2 -1
- package/packages/ext-git-graph/src/compare-diff-base.test.ts +173 -0
- package/packages/ext-git-graph/src/compare-view.ts +22 -3
- package/packages/ext-git-graph/src/extension.ts +6 -0
- package/packages/ext-git-graph/src/types.ts +19 -0
- package/packages/ext-git-graph/src/webview-html.test.ts +159 -1
- package/packages/ext-git-graph/src/webview-html.ts +344 -26
- package/scripts/gen-file-icons.ts +493 -242
- package/src/providers/claude-agent-sdk.ts +42 -1
- package/src/providers/codex-app-server/codex-history.ts +77 -23
- package/src/server/index.ts +42 -7
- package/src/server/routes/chat.ts +15 -11
- package/src/server/routes/git.ts +83 -3
- package/src/server/routes/remote-desktop.ts +7 -2
- package/src/server/ws/global.ts +1 -1
- package/src/server/ws/remote-desktop.ts +12 -5
- package/src/services/binary-content.ts +25 -0
- package/src/services/chat-search.service.ts +1 -1
- package/src/services/chat.service.ts +9 -0
- package/src/services/edge-forwarder.ts +191 -191
- package/src/services/event-loop-lag.ts +208 -0
- package/src/services/file-lines.ts +114 -0
- package/src/services/file-watcher/recreated-dir-poller.ts +108 -6
- package/src/services/file-watcher/watch-tree.ts +131 -10
- package/src/services/file-watcher.service.ts +73 -23
- package/src/services/git-branch-diff/branch-diff-parse.ts +151 -0
- package/src/services/git-branch-diff/branch-diff.service.ts +79 -0
- package/src/services/git-hunks/git-hunks.service.ts +26 -11
- package/src/services/git-hunks/unified-diff.ts +15 -1
- package/src/services/git.service.ts +74 -24
- package/src/services/jsonl-transcript-parser.ts +138 -6
- package/src/services/log-rotate.ts +142 -0
- package/src/services/media-transcode/ffmpeg-capabilities.ts +72 -2
- package/src/services/remote-desktop/remote-desktop-audio.ts +193 -0
- package/src/services/remote-desktop/remote-desktop-capture-input.ts +87 -14
- package/src/services/remote-desktop/remote-desktop-capture.ts +40 -7
- package/src/services/remote-desktop/remote-desktop-clipboard.ts +166 -0
- package/src/services/remote-desktop/remote-desktop-displays.ts +77 -1
- package/src/services/remote-desktop/remote-desktop-encoder-args.ts +25 -6
- package/src/services/remote-desktop/remote-desktop-evdev-key-map.ts +69 -0
- package/src/services/remote-desktop/remote-desktop-input-linux.ts +253 -0
- package/src/services/remote-desktop/remote-desktop-input-uinput.ts +242 -0
- package/src/services/remote-desktop/remote-desktop-input.ts +40 -8
- package/src/services/remote-desktop/remote-desktop-linux-session.ts +146 -0
- package/src/services/remote-desktop/remote-desktop-ogg-opus.ts +144 -0
- package/src/services/remote-desktop/remote-desktop-privacy.ts +163 -0
- package/src/services/remote-desktop/remote-desktop-quality.ts +138 -0
- package/src/services/remote-desktop/remote-desktop-requirements.ts +158 -5
- package/src/services/remote-desktop/remote-desktop-resolution.ts +302 -0
- package/src/services/remote-desktop/remote-desktop-session.ts +523 -21
- package/src/services/remote-desktop/remote-desktop-x11.ts +250 -0
- package/src/services/supervisor.ts +47 -4
- package/src/services/windows-process-tree.ts +351 -351
- package/src/shared/codex-daily-guard.ts +12 -5
- package/src/shared/remote-desktop-custom-quality.ts +117 -0
- package/src/shared/remote-desktop-quality.ts +127 -0
- package/src/types/chat.ts +4 -0
- package/src/types/git.ts +52 -0
- package/src/web/components/branch-review/branch-review-tab.tsx +360 -0
- package/src/web/components/branch-review/branch-review-tree-row.tsx +138 -0
- package/src/web/components/chat/attachment-chips.tsx +30 -6
- package/src/web/components/chat/chat-tab.tsx +12 -1
- package/src/web/components/chat/message-events.tsx +273 -0
- package/src/web/components/chat/message-list.tsx +107 -861
- package/src/web/components/chat/message-markdown.tsx +34 -0
- package/src/web/components/chat/message-media.tsx +174 -0
- package/src/web/components/chat/message-user-bubble.tsx +399 -0
- package/src/web/components/chat/provider-selector.tsx +30 -22
- package/src/web/components/chat/session-history-list.tsx +2 -2
- package/src/web/components/chat/session-list-panel.tsx +3 -2
- package/src/web/components/editor/binary-diff-view.tsx +212 -0
- package/src/web/components/editor/diff-viewer.tsx +76 -3
- package/src/web/components/explorer/file-tree.tsx +235 -134
- package/src/web/components/explorer/flatten-visible-tree.ts +35 -40
- package/src/web/components/explorer/tree-node.tsx +69 -69
- package/src/web/components/explorer/use-tree-row-dnd.ts +3 -4
- package/src/web/components/extensions/extension-tree-view.tsx +4 -11
- package/src/web/components/git/git-status-panel.tsx +25 -0
- package/src/web/components/layout/command-palette.tsx +2 -18
- package/src/web/components/layout/draggable-tab.tsx +4 -2
- package/src/web/components/layout/nav-section-rail.tsx +12 -3
- package/src/web/components/layout/status-bar.tsx +10 -6
- package/src/web/components/layout/tab-content.tsx +5 -0
- package/src/web/components/layout/tab-pool.tsx +1 -0
- package/src/web/components/layout/upgrade-button.tsx +5 -1
- package/src/web/components/remote-desktop/remote-desktop-clipboard-client.ts +67 -0
- package/src/web/components/remote-desktop/remote-desktop-clipboard-notice.tsx +127 -0
- package/src/web/components/remote-desktop/remote-desktop-codec-labels.ts +28 -0
- package/src/web/components/remote-desktop/remote-desktop-custom-quality-dialog.tsx +144 -0
- package/src/web/components/remote-desktop/remote-desktop-mobile-key-bar.tsx +13 -2
- package/src/web/components/remote-desktop/remote-desktop-mobile-settings.tsx +232 -0
- package/src/web/components/remote-desktop/remote-desktop-mobile-toolbar.tsx +21 -8
- package/src/web/components/remote-desktop/remote-desktop-mobile-view.tsx +82 -3
- package/src/web/components/remote-desktop/remote-desktop-recording.ts +76 -0
- package/src/web/components/remote-desktop/remote-desktop-resolution-list.ts +100 -0
- package/src/web/components/remote-desktop/remote-desktop-toolbar.tsx +497 -0
- package/src/web/components/remote-desktop/remote-desktop-view-style.ts +145 -0
- package/src/web/components/remote-desktop/remote-desktop-window-content.tsx +126 -35
- package/src/web/components/remote-desktop/use-h264-canvas-decoder.ts +11 -0
- package/src/web/components/remote-desktop/use-opus-audio-player.ts +148 -0
- package/src/web/components/remote-desktop/use-remote-desktop-connection.ts +284 -1
- package/src/web/components/remote-desktop/use-remote-desktop-readiness.ts +75 -1
- package/src/web/components/remote-desktop/use-remote-desktop-recorder.ts +103 -0
- package/src/web/components/remote-desktop/use-remote-desktop-virtual-keyboard.ts +19 -2
- package/src/web/components/remote-desktop/use-remote-input-capture.ts +39 -3
- package/src/web/components/settings/accounts/account-card.tsx +2 -2
- package/src/web/components/settings/accounts/codex-accounts-section.tsx +4 -4
- package/src/web/components/settings/extension-manager-section.tsx +8 -1
- package/src/web/components/settings/theme-picker.tsx +2 -1
- package/src/web/components/ui/tooltip.tsx +15 -2
- package/src/web/lib/branch-review-state.ts +175 -0
- package/src/web/lib/extension-icons.ts +70 -0
- package/src/web/lib/file-icon-name.ts +62 -0
- package/src/web/lib/file-icons.generated.ts +3287 -25
- package/src/web/lib/file-icons.tsx +71 -73
- package/src/web/lib/flatten-expansions.ts +18 -5
- package/src/web/lib/message-ordinals.ts +23 -0
- package/src/web/lib/provider-logos.tsx +143 -0
- package/src/web/lib/tab-type-icons.ts +25 -0
- package/src/web/stores/file-store.ts +73 -35
- package/src/web/stores/panel-utils.ts +5 -0
- package/src/web/stores/project-framework-store.ts +82 -0
- package/src/web/stores/project-store.ts +7 -1
- package/src/web/stores/settings-store.ts +128 -0
- package/src/web/stores/tab-store.ts +1 -0
- package/src/web/stores/window-panel-persistence.ts +1 -0
- package/src/web/styles/file-icons.generated.css +3282 -234
- package/src/web/styles/globals.css +26 -0
- package/dist/web/assets/accounts-settings-section-BuxD9zH3.js +0 -1
- package/dist/web/assets/ai-settings-section-Dd9tOUp0.js +0 -1
- package/dist/web/assets/ai-settings-section-FrU2X8Fu.js +0 -1
- package/dist/web/assets/api-client-BUCo1lms.js +0 -1
- package/dist/web/assets/architecture-PBZL5I3N-5K0wEkAn.js +0 -1
- package/dist/web/assets/chat-tab-Cr6_KSGO.js +0 -15
- package/dist/web/assets/code-editor-DfmlGamv.js +0 -7
- package/dist/web/assets/context-menu-DOODKZdF.js +0 -1
- package/dist/web/assets/diff-viewer-BpNj7pN9.js +0 -4
- package/dist/web/assets/explorer-body-D-5z464e.js +0 -2
- package/dist/web/assets/explorer-window-content-7-1wuRul.js +0 -1
- package/dist/web/assets/extension-manager-section-BhwB6nqr.js +0 -1
- package/dist/web/assets/file-icons-EzPL0q-k.js +0 -1
- package/dist/web/assets/file-icons.generated-CfaJuvZu.css +0 -1
- package/dist/web/assets/file-store-DMABxOkV.js +0 -1
- package/dist/web/assets/files-settings-section-CZzABuKz.js +0 -1
- package/dist/web/assets/git-log-panel-CRN4JVOx.js +0 -1
- package/dist/web/assets/gitGraph-HDMCJU4V-DkVT2MAM.js +0 -1
- package/dist/web/assets/group-chat-tab-DFa5mAx5.js +0 -1
- package/dist/web/assets/index-D7DbXD3G.css +0 -1
- package/dist/web/assets/index-ZtfxZOyb.js +0 -52
- package/dist/web/assets/info-3K5VOQVL-BBsmKGzA.js +0 -1
- package/dist/web/assets/keybindings-store-tVfhPANS.js +0 -1
- package/dist/web/assets/markdown-renderer-sJNNVhlS.js +0 -1
- package/dist/web/assets/mobile-explorer-sheet-CZ0HZ2E_.js +0 -1
- package/dist/web/assets/notification-store-BZbsPnW0.js +0 -1
- package/dist/web/assets/packet-RMMSAZCW-DwmYPOlx.js +0 -1
- package/dist/web/assets/panel-store-BVLBRn6M.js +0 -1
- package/dist/web/assets/pie-UPGHQEXC-D0oogIFi.js +0 -1
- package/dist/web/assets/problems-panel-B7BWVhdy.js +0 -1
- package/dist/web/assets/project-store-BhMbVln3.js +0 -1
- package/dist/web/assets/radar-KQ55EAFF-CQIJOQGa.js +0 -1
- package/dist/web/assets/remote-desktop-mobile-sheet-ByjaeZKX.js +0 -2
- package/dist/web/assets/remote-desktop-mobile-view-D13mtr9F.js +0 -1
- package/dist/web/assets/remote-desktop-window-content-CbqTCaC6.js +0 -1
- package/dist/web/assets/settings-body-Rnu-FcX-.js +0 -2
- package/dist/web/assets/settings-store-DZPgPtEA.js +0 -2
- package/dist/web/assets/settings-tab-C6PHxs0Z.js +0 -1
- package/dist/web/assets/settings-window-content-CQ4gT2qj.js +0 -1
- package/dist/web/assets/system-monitor-body-2vQ1kMxE.js +0 -2
- package/dist/web/assets/system-monitor-tab-krAcvwF7.js +0 -1
- package/dist/web/assets/team-member-sheet-2FnRmk1a.js +0 -2
- package/dist/web/assets/tool-cards-DU_S2o51.js +0 -9
- package/dist/web/assets/treemap-KZPCXAKY-BhEtjljr.js +0 -1
- package/dist/web/assets/use-remote-desktop-display-choice-BK_f787P.js +0 -1
- package/dist/web/assets/video-preview-BDNwumbW.js +0 -1
- package/dist/web/assets/ws-auth-DEAJiGCR.js +0 -1
- 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/dist/web/assets/{abap-tkptwpsK.js → abap-IN2yINdN.js} +0 -0
- /package/dist/web/assets/{actionscript-3-Di9TMGwg.js → actionscript-3-C_t772eR.js} +0 -0
- /package/dist/web/assets/{ada-CB9F079D.js → ada-DPme3emm.js} +0 -0
- /package/dist/web/assets/{andromeeda-Dcl8jpb7.js → andromeeda-DSV4i4mZ.js} +0 -0
- /package/dist/web/assets/{apache-D0Nk0qsH.js → apache-CWr8s8I8.js} +0 -0
- /package/dist/web/assets/{apex-mQIoWncD.js → apex-Z20JnDF5.js} +0 -0
- /package/dist/web/assets/{applescript-C6ljbcsI.js → applescript-BKNPu3ga.js} +0 -0
- /package/dist/web/assets/{apply-theme-BwIMNXyX.js → apply-theme-CbR31K6I.js} +0 -0
- /package/dist/web/assets/{ara-WFqRPGPe.js → ara-hWdY3O96.js} +0 -0
- /package/dist/web/assets/{asciidoc-bNd8w4nf.js → asciidoc-eynhq496.js} +0 -0
- /package/dist/web/assets/{asm-BQ1_F580.js → asm-Bu02Kq4P.js} +0 -0
- /package/dist/web/assets/{aurora-x-Ciqs_Dbu.js → aurora-x-BHBGXbIZ.js} +0 -0
- /package/dist/web/assets/{awk-GCR-6KZV.js → awk-B4ojezyv.js} +0 -0
- /package/dist/web/assets/{ayu-dark-DxJXuj99.js → ayu-dark-D0GQzFi9.js} +0 -0
- /package/dist/web/assets/{ayu-light-jvSyJWDV.js → ayu-light-BVYb5Yn8.js} +0 -0
- /package/dist/web/assets/{ayu-mirage-Cg3BPO6H.js → ayu-mirage-BGFW6oNb.js} +0 -0
- /package/dist/web/assets/{ballerina-BPz4CrX6.js → ballerina-B6Og3IKT.js} +0 -0
- /package/dist/web/assets/{bat-CSTs2hIG.js → bat-D8YFILfx.js} +0 -0
- /package/dist/web/assets/{beancount-DMateAZX.js → beancount-BjlbBBuX.js} +0 -0
- /package/dist/web/assets/{berry-9lXg0GRM.js → berry-Cz1ygeoj.js} +0 -0
- /package/dist/web/assets/{bibtex-DIbqmvFg.js → bibtex-CVkJceJh.js} +0 -0
- /package/dist/web/assets/{bicep-02WGsoJ8.js → bicep-DrhYI5GX.js} +0 -0
- /package/dist/web/assets/{bird2-BY0tbu3k.js → bird2-BV-KJtmc.js} +0 -0
- /package/dist/web/assets/{c-jMBX_9Je.js → c-CuLlvxbG.js} +0 -0
- /package/dist/web/assets/{c3-B8JVbNjW.js → c3-CI7-1CJ0.js} +0 -0
- /package/dist/web/assets/{cadence-DUIf1tvL.js → cadence-DjxhNP3Q.js} +0 -0
- /package/dist/web/assets/{can-open-in-ppm-DGEc0s4P.js → can-open-in-ppm-cv5--yHX.js} +0 -0
- /package/dist/web/assets/{catppuccin-frappe-FhUCVxex.js → catppuccin-frappe-CEozpJRh.js} +0 -0
- /package/dist/web/assets/{catppuccin-latte-CzfrtmgL.js → catppuccin-latte-C4sXQFMc.js} +0 -0
- /package/dist/web/assets/{catppuccin-macchiato-6xL0lOtj.js → catppuccin-macchiato-Ci-fDhXy.js} +0 -0
- /package/dist/web/assets/{catppuccin-mocha-D39-xS3P.js → catppuccin-mocha-CH7YXw8d.js} +0 -0
- /package/dist/web/assets/{clarity-D8TeGvoT.js → clarity-BWrJ7UmT.js} +0 -0
- /package/dist/web/assets/{clojure-Dx_acSX7.js → clojure-C94fh2hb.js} +0 -0
- /package/dist/web/assets/{cmake-CyeYPq8o.js → cmake-CtvCkMsG.js} +0 -0
- /package/dist/web/assets/{codeowners-DrTI0lmI.js → codeowners-CJnubqzH.js} +0 -0
- /package/dist/web/assets/{codeql-CPkFxVW-.js → codeql-BOoP5HY2.js} +0 -0
- /package/dist/web/assets/{common-lisp-B0k-3LTj.js → common-lisp-B9nlMFJd.js} +0 -0
- /package/dist/web/assets/{coq-uygpo7to.js → coq-CgzIQiSH.js} +0 -0
- /package/dist/web/assets/{csharp-DKUYGfSp.js → csharp-4xAIx3jw.js} +0 -0
- /package/dist/web/assets/{css-DoOUp7v4.js → css-D4YoLYGn.js} +0 -0
- /package/dist/web/assets/{csv-B3YE13gi.js → csv-C2v-ZakW.js} +0 -0
- /package/dist/web/assets/{csv-parser-DXePqmXe.js → csv-parser-_oDBUkwQ.js} +0 -0
- /package/dist/web/assets/{cue-DViO2wvn.js → cue-Bbznh_an.js} +0 -0
- /package/dist/web/assets/{cypher-4BMCIW5N.js → cypher-BKhVEARF.js} +0 -0
- /package/dist/web/assets/{d-BT_sTHas.js → d-D6IhWopl.js} +0 -0
- /package/dist/web/assets/{dark-plus-DVVXu-1N.js → dark-plus-xAWu790O.js} +0 -0
- /package/dist/web/assets/{dart-DHz6f6_6.js → dart-Bj6S9O1j.js} +0 -0
- /package/dist/web/assets/{data-grid-types-OgUxMLdQ.js → data-grid-types-C5bthITf.js} +0 -0
- /package/dist/web/assets/{dax-ChYCjweK.js → dax-CF2zvaqq.js} +0 -0
- /package/dist/web/assets/{desktop-D6Lt4p04.js → desktop-CnmyxMKE.js} +0 -0
- /package/dist/web/assets/{diff-D8TDe4hP.js → diff-Qi8WuJsI.js} +0 -0
- /package/dist/web/assets/{dist-DOTlFQJA.js → dist-Bjseolz4.js} +0 -0
- /package/dist/web/assets/{dist-CrBOCtCW.js → dist-Czq7BUMy.js} +0 -0
- /package/dist/web/assets/{docker-Bsp0YbPx.js → docker-vLbbNP5d.js} +0 -0
- /package/dist/web/assets/{dotenv-B_7giSY_.js → dotenv-DJMvvNzn.js} +0 -0
- /package/dist/web/assets/{dracula-TrQL2iB5.js → dracula-CtAh2rhB.js} +0 -0
- /package/dist/web/assets/{dracula-soft-n2XOlgh-.js → dracula-soft-CXtuAAf6.js} +0 -0
- /package/dist/web/assets/{dream-maker-CdIEdhpT.js → dream-maker-D5YQyK49.js} +0 -0
- /package/dist/web/assets/{editor-font-BDrdiGf1.js → editor-font-ClTC9gaD.js} +0 -0
- /package/dist/web/assets/{emacs-lisp-CSbixs6u.js → emacs-lisp-CGTjbiqF.js} +0 -0
- /package/dist/web/assets/{everforest-dark-BuZahZYp.js → everforest-dark-D59p7vAQ.js} +0 -0
- /package/dist/web/assets/{everforest-light-DPH53z5H.js → everforest-light-B3Qtud3V.js} +0 -0
- /package/dist/web/assets/{fennel-B1-K_hlJ.js → fennel-BCyHNUwf.js} +0 -0
- /package/dist/web/assets/{fish-Cy12Dbua.js → fish-DDDlLV2G.js} +0 -0
- /package/dist/web/assets/{fluent-B_82ys8E.js → fluent-By54R9tl.js} +0 -0
- /package/dist/web/assets/{format-bytes-D5sBgIqU.js → format-bytes-D1AQyUCt.js} +0 -0
- /package/dist/web/assets/{fortran-free-form-BRQdNzZF.js → fortran-free-form-tP8mRym_.js} +0 -0
- /package/dist/web/assets/{gdscript-XBDmLUm9.js → gdscript-nHC2z6Te.js} +0 -0
- /package/dist/web/assets/{gdshader-DhVfB3u4.js → gdshader-K-cSmPlW.js} +0 -0
- /package/dist/web/assets/{genie-X3K29Y49.js → genie-BAcRhvEe.js} +0 -0
- /package/dist/web/assets/{gherkin-DKIx-6cX.js → gherkin-CcifxMLb.js} +0 -0
- /package/dist/web/assets/{github-dark-Bf7zdp5s.js → github-dark-67KKlMdB.js} +0 -0
- /package/dist/web/assets/{github-dark-default-DqsBBV11.js → github-dark-default-tja8pidR.js} +0 -0
- /package/dist/web/assets/{github-dark-dimmed-X2gqRz6w.js → github-dark-dimmed-CtjhYQtx.js} +0 -0
- /package/dist/web/assets/{github-dark-high-contrast-Z7tvbGX4.js → github-dark-high-contrast-Bf-LPFgn.js} +0 -0
- /package/dist/web/assets/{github-light-BKxt-7zZ.js → github-light-CbJxE7n3.js} +0 -0
- /package/dist/web/assets/{github-light-default-B0liF4d4.js → github-light-default-DRQmdHxt.js} +0 -0
- /package/dist/web/assets/{github-light-high-contrast-F4encJwr.js → github-light-high-contrast-CJkDgTeM.js} +0 -0
- /package/dist/web/assets/{gleam-Pz2bHgBB.js → gleam-D4LCl2ri.js} +0 -0
- /package/dist/web/assets/{gn-CgmdNsPU.js → gn-COY8zZmC.js} +0 -0
- /package/dist/web/assets/{gnuplot-qLNF5yZ9.js → gnuplot-ROk1VitR.js} +0 -0
- /package/dist/web/assets/{go-CSDUNhE7.js → go-H30c3p0C.js} +0 -0
- /package/dist/web/assets/{groovy-B3NEnOHF.js → groovy-DBLCaelV.js} +0 -0
- /package/dist/web/assets/{gruvbox-dark-hard-DcoftiUX.js → gruvbox-dark-hard-DJy4irps.js} +0 -0
- /package/dist/web/assets/{gruvbox-dark-medium-D1wVSuD8.js → gruvbox-dark-medium-Dhfw1QTO.js} +0 -0
- /package/dist/web/assets/{gruvbox-dark-soft-DWpunymH.js → gruvbox-dark-soft-BncJU-8w.js} +0 -0
- /package/dist/web/assets/{gruvbox-light-hard-rHMvyUdS.js → gruvbox-light-hard-Cq12_YvM.js} +0 -0
- /package/dist/web/assets/{gruvbox-light-medium-3O2KiXO7.js → gruvbox-light-medium-DqVja5_v.js} +0 -0
- /package/dist/web/assets/{gruvbox-light-soft-lNlXJPwH.js → gruvbox-light-soft-IvwhveGF.js} +0 -0
- /package/dist/web/assets/{haskell-aaG3aC0h.js → haskell-DA1JV-MC.js} +0 -0
- /package/dist/web/assets/{haxe-CPcHhUDd.js → haxe-V9RTRc5E.js} +0 -0
- /package/dist/web/assets/{hcl-CMQNlR_4.js → hcl-hr1lyZ10.js} +0 -0
- /package/dist/web/assets/{hjson-DeuklPFj.js → hjson-D3vW3i7X.js} +0 -0
- /package/dist/web/assets/{hlsl-BI3hlsaM.js → hlsl-BB85gfJT.js} +0 -0
- /package/dist/web/assets/{horizon-C7-gOcjs.js → horizon-DU8OOnj8.js} +0 -0
- /package/dist/web/assets/{horizon-bright-Cxt9bRW7.js → horizon-bright-DNMUclW6.js} +0 -0
- /package/dist/web/assets/{houston-DbF2G7iD.js → houston-DAiZKf6T.js} +0 -0
- /package/dist/web/assets/{hy-DRG6Hs2I.js → hy-C6Zv0LMe.js} +0 -0
- /package/dist/web/assets/{image-gallery-CObzTisL.js → image-gallery-CGvlv8zR.js} +0 -0
- /package/dist/web/assets/{imba-CxKv_2TW.js → imba-Didnp6Y-.js} +0 -0
- /package/dist/web/assets/{ini-BiHsyCdO.js → ini-m0T7q4gQ.js} +0 -0
- /package/dist/web/assets/{input-D-dR8RI6.js → input-C7Q8FxeL.js} +0 -0
- /package/dist/web/assets/{java-D3RZzgDB.js → java-Buy07jGn.js} +0 -0
- /package/dist/web/assets/{javascript-4FmSqG-T.js → javascript-Cjq3CbRL.js} +0 -0
- /package/dist/web/assets/{json-CjB236_E.js → json-BSVu8IqD.js} +0 -0
- /package/dist/web/assets/{json5-bkfO-Rco.js → json5-NN_Vb7e6.js} +0 -0
- /package/dist/web/assets/{jsonc-BwaTeLyv.js → jsonc-BdyZhBUw.js} +0 -0
- /package/dist/web/assets/{jsonl-CfxNSwGd.js → jsonl-BsDSNvwi.js} +0 -0
- /package/dist/web/assets/{jsonnet-CQETCYrp.js → jsonnet-Gm963F-U.js} +0 -0
- /package/dist/web/assets/{jssm-D5o3Zzdz.js → jssm-Ds3bKWgJ.js} +0 -0
- /package/dist/web/assets/{jsx-BAMILPLo.js → jsx-BT5mW58X.js} +0 -0
- /package/dist/web/assets/{kanagawa-dragon-BhGVxu3R.js → kanagawa-dragon-BvNvf7xd.js} +0 -0
- /package/dist/web/assets/{kanagawa-lotus-FH4Y59ro.js → kanagawa-lotus-CuSiliSn.js} +0 -0
- /package/dist/web/assets/{kanagawa-wave-eilvP9MB.js → kanagawa-wave-C6g-d6jT.js} +0 -0
- /package/dist/web/assets/{kdl-BQ-yvXUK.js → kdl-Bx4kZef-.js} +0 -0
- /package/dist/web/assets/{kotlin-BuCx0-VT.js → kotlin-qvaVvCcm.js} +0 -0
- /package/dist/web/assets/{kusto-DAN_n_Cy.js → kusto-BPLyNCN6.js} +0 -0
- /package/dist/web/assets/{laserwave-Cq2BlxrT.js → laserwave-Sf8ZEhWP.js} +0 -0
- /package/dist/web/assets/{lean-Dhq7uXKw.js → lean-DGe6uqgk.js} +0 -0
- /package/dist/web/assets/{less-CxaMQb8j.js → less-CqM85x-9.js} +0 -0
- /package/dist/web/assets/{lib-BVwmtv2i.js → lib-CD6pOS4u.js} +0 -0
- /package/dist/web/assets/{libesm-DdtEjhIi.js → libesm-CPh1Av0r.js} +0 -0
- /package/dist/web/assets/{light-plus-B4sMAend.js → light-plus-DBtKwhFA.js} +0 -0
- /package/dist/web/assets/{llvm-DQ6-B_6Y.js → llvm-Dpbq3gky.js} +0 -0
- /package/dist/web/assets/{log-Bb_vqvu7.js → log-qKMcPm9S.js} +0 -0
- /package/dist/web/assets/{logo-BzfYv3A_.js → logo-DFo7i5KH.js} +0 -0
- /package/dist/web/assets/{luau-BnAeNR77.js → luau-DGlqWFyL.js} +0 -0
- /package/dist/web/assets/{make-B6IFuxpC.js → make-CixdvUQe.js} +0 -0
- /package/dist/web/assets/{markdown-Z0xi77Fn.js → markdown-CmRnbngE.js} +0 -0
- /package/dist/web/assets/{material-theme-1scy1SYn.js → material-theme-WDUbafB-.js} +0 -0
- /package/dist/web/assets/{material-theme-darker-G-JykXQP.js → material-theme-darker-u8y2xpOk.js} +0 -0
- /package/dist/web/assets/{material-theme-lighter-BtKkCMVq.js → material-theme-lighter-cyQZK3Tg.js} +0 -0
- /package/dist/web/assets/{material-theme-ocean-irrDC89L.js → material-theme-ocean-LBAVvw7k.js} +0 -0
- /package/dist/web/assets/{material-theme-palenight-Eq5_K4LM.js → material-theme-palenight-BJqhBxL0.js} +0 -0
- /package/dist/web/assets/{matlab-BE3oCXZC.js → matlab-B38sOJee.js} +0 -0
- /package/dist/web/assets/{mdx-DYiuFTGw.js → mdx-C8QrE_IW.js} +0 -0
- /package/dist/web/assets/{mermaid-DVlaEvtw.js → mermaid-BQ-eeU8A.js} +0 -0
- /package/dist/web/assets/{min-dark-DSkeTpQa.js → min-dark-D4gNa5tv.js} +0 -0
- /package/dist/web/assets/{min-light-CFv2Q0uF.js → min-light-Dfbhn_PL.js} +0 -0
- /package/dist/web/assets/{mipsasm-CiAFuZQ2.js → mipsasm-bLOhJkdm.js} +0 -0
- /package/dist/web/assets/{mojo-ARshcaSQ.js → mojo-B0BCOMQW.js} +0 -0
- /package/dist/web/assets/{monaco-dotenv-language-BDYnKcnr.js → monaco-dotenv-language-uB-wok6C.js} +0 -0
- /package/dist/web/assets/{monokai-CPTV-SOg.js → monokai-Bdw_07OM.js} +0 -0
- /package/dist/web/assets/{moonbit-D57B0dZr.js → moonbit-BFdGaeuk.js} +0 -0
- /package/dist/web/assets/{move-qgy3G_o9.js → move-CyXQFGPM.js} +0 -0
- /package/dist/web/assets/{narrat-CZ3rC-oc.js → narrat-9DvTD3_3.js} +0 -0
- /package/dist/web/assets/{nextflow-groovy-BxxIOcI4.js → nextflow-groovy-C4VY3kNY.js} +0 -0
- /package/dist/web/assets/{night-owl-B1ryGCda.js → night-owl-feYm66V0.js} +0 -0
- /package/dist/web/assets/{night-owl-light-BZvNnvMF.js → night-owl-light-DALqFjvx.js} +0 -0
- /package/dist/web/assets/{nix-BVBQi8yv.js → nix-C1kPA9Sw.js} +0 -0
- /package/dist/web/assets/{nord-3NXw613h.js → nord-1dvrj1Al.js} +0 -0
- /package/dist/web/assets/{nushell-BMOLRalb.js → nushell-DSQ_9Uqj.js} +0 -0
- /package/dist/web/assets/{objective-c-AxruEUgh.js → objective-c-Dhcn5ZK8.js} +0 -0
- /package/dist/web/assets/{objective-cpp-cFT0qRsD.js → objective-cpp-CGVYCSrp.js} +0 -0
- /package/dist/web/assets/{ocaml-_8JH6O8J.js → ocaml-rxXW21An.js} +0 -0
- /package/dist/web/assets/{odin-nwYvR0O6.js → odin-ClSJX2DE.js} +0 -0
- /package/dist/web/assets/{one-dark-pro-C1LaYJaH.js → one-dark-pro-3gbWDfFW.js} +0 -0
- /package/dist/web/assets/{one-light-B7rMc__c.js → one-light-C2q5ZZAw.js} +0 -0
- /package/dist/web/assets/{openscad-Cwes8bKO.js → openscad-eHXeafBl.js} +0 -0
- /package/dist/web/assets/{pascal-DMt-6tdZ.js → pascal-kKha3Txs.js} +0 -0
- /package/dist/web/assets/{pkl-QBTyYQmB.js → pkl-CTiPytg-.js} +0 -0
- /package/dist/web/assets/{plastic-BTSUp8Fk.js → plastic-D1Ygezi4.js} +0 -0
- /package/dist/web/assets/{plsql-DQv3IFXP.js → plsql-D_gbgZIr.js} +0 -0
- /package/dist/web/assets/{po-CNwZx4tW.js → po-BkhbDUnq.js} +0 -0
- /package/dist/web/assets/{poimandres-8Os7Qequ.js → poimandres-Do6NywrA.js} +0 -0
- /package/dist/web/assets/{polar-b4yK8oD8.js → polar-B3B23wca.js} +0 -0
- /package/dist/web/assets/{postcss-sFctwpxx.js → postcss-Dv_YBvWd.js} +0 -0
- /package/dist/web/assets/{powerquery-Cg_WrtuN.js → powerquery-fKJWI-Sh.js} +0 -0
- /package/dist/web/assets/{powershell-C7Ifz95h.js → powershell-B4Y7KIgx.js} +0 -0
- /package/dist/web/assets/{prisma-Z52HUJzQ.js → prisma-J--XdTXX.js} +0 -0
- /package/dist/web/assets/{prolog-DLqW-zR1.js → prolog-BBTg4Vb3.js} +0 -0
- /package/dist/web/assets/{proto-BOIzxCCJ.js → proto-DWlum3T8.js} +0 -0
- /package/dist/web/assets/{puppet-De7TjZIf.js → puppet-ZiUfc9JV.js} +0 -0
- /package/dist/web/assets/{purescript-R76ou1WT.js → purescript-CmT8SCHB.js} +0 -0
- /package/dist/web/assets/{python-Dprm0tNP.js → python-BURpj-fq.js} +0 -0
- /package/dist/web/assets/{qmldir-Clp_jpNw.js → qmldir-CpaiJywQ.js} +0 -0
- /package/dist/web/assets/{qss-eQPYYzSo.js → qss-C-zdz0i5.js} +0 -0
- /package/dist/web/assets/{r-CCcRHIf5.js → r-K56BeS-s.js} +0 -0
- /package/dist/web/assets/{racket-CzE472yp.js → racket-gkn6Z_Jw.js} +0 -0
- /package/dist/web/assets/{raku-DQwXrTSi.js → raku-C0ZBuKlx.js} +0 -0
- /package/dist/web/assets/{red-KCS6wyop.js → red-BWZ6x-3p.js} +0 -0
- /package/dist/web/assets/{reg-CcrAddUh.js → reg-Dt_EsyGR.js} +0 -0
- /package/dist/web/assets/{regexp-DDbud-Ri.js → regexp-CT6BLG2C.js} +0 -0
- /package/dist/web/assets/{rel-99GDgaHp.js → rel-MJ2LcyzJ.js} +0 -0
- /package/dist/web/assets/{resolve-theme-CW2niGV2.js → resolve-theme-B_ukrg_8.js} +0 -0
- /package/dist/web/assets/{riscv-Dm2eNv0R.js → riscv-BZYWzMAA.js} +0 -0
- /package/dist/web/assets/{ron-CzFt0ygH.js → ron-CLbwHWMn.js} +0 -0
- /package/dist/web/assets/{rose-pine-Ck6lCrCP.js → rose-pine-BPiI_daR.js} +0 -0
- /package/dist/web/assets/{rose-pine-dawn-vtALRJNj.js → rose-pine-dawn-BjkJc7dW.js} +0 -0
- /package/dist/web/assets/{rose-pine-moon-DPto8qXw.js → rose-pine-moon-BQSxkt7g.js} +0 -0
- /package/dist/web/assets/{rosmsg-NtS6429H.js → rosmsg-yt4151pJ.js} +0 -0
- /package/dist/web/assets/{rust-BjIXvF9h.js → rust-1dAcengL.js} +0 -0
- /package/dist/web/assets/{sass-CQ23wf5E.js → sass-DUgtQJsg.js} +0 -0
- /package/dist/web/assets/{scala-LfKLM143.js → scala-CxoGYpS0.js} +0 -0
- /package/dist/web/assets/{scheme-D3SLBXlF.js → scheme-B2K3u9e3.js} +0 -0
- /package/dist/web/assets/{sdbl-ODRd2rGN.js → sdbl-C0Ygk0n6.js} +0 -0
- /package/dist/web/assets/{shellscript-3KB1G_oA.js → shellscript-C2CvhqMk.js} +0 -0
- /package/dist/web/assets/{slack-dark-DTtyWmIy.js → slack-dark-DYdgzRGj.js} +0 -0
- /package/dist/web/assets/{slack-ochin-Bu0PApk3.js → slack-ochin-X-WD0WCg.js} +0 -0
- /package/dist/web/assets/{smalltalk-haMT-Sbe.js → smalltalk-Dp7g_zb9.js} +0 -0
- /package/dist/web/assets/{snazzy-light-DXJzefE9.js → snazzy-light-DWHWr-a6.js} +0 -0
- /package/dist/web/assets/{solarized-dark-B6LyYa18.js → solarized-dark-CxdLsjvb.js} +0 -0
- /package/dist/web/assets/{solarized-light-QLADebkv.js → solarized-light-Cz9rAvG5.js} +0 -0
- /package/dist/web/assets/{solidity-mzfq1aDc.js → solidity-D33gHHdn.js} +0 -0
- /package/dist/web/assets/{splunk-CyH4RWBp.js → splunk-BFbOroYw.js} +0 -0
- /package/dist/web/assets/{sql-CWVlT5D3.js → sql-ChpxvmdY.js} +0 -0
- /package/dist/web/assets/{ssh-config-DNvQJ1Qx.js → ssh-config-CUuSQ6JG.js} +0 -0
- /package/dist/web/assets/{streaming-store-uDu3PoN1.js → streaming-store-BYukdB56.js} +0 -0
- /package/dist/web/assets/{stylus-ByQQdtmf.js → stylus-DDihP0_W.js} +0 -0
- /package/dist/web/assets/{swift-D1cpY4ow.js → swift-XoalUn4x.js} +0 -0
- /package/dist/web/assets/{synthwave-84-BDF_-QiW.js → synthwave-84-DjkG0Bff.js} +0 -0
- /package/dist/web/assets/{system-verilog-BYrkMydC.js → system-verilog-f_pLKMYd.js} +0 -0
- /package/dist/web/assets/{systemd-CQm3zyK0.js → systemd-DjDcLfxp.js} +0 -0
- /package/dist/web/assets/{talonscript-DMW5CzE1.js → talonscript-BpUzYcDl.js} +0 -0
- /package/dist/web/assets/{tasl-BhFzMCr2.js → tasl-DP-cUbg8.js} +0 -0
- /package/dist/web/assets/{tcl-D7VEAF-9.js → tcl-BHoy-dfE.js} +0 -0
- /package/dist/web/assets/{terraform-DdT5A0Vy.js → terraform-vCVxN25B.js} +0 -0
- /package/dist/web/assets/{tokyo-night-WGLMM6Q9.js → tokyo-night-D0u4xZba.js} +0 -0
- /package/dist/web/assets/{toml-CZ7ipXHZ.js → toml-BS8D0__A.js} +0 -0
- /package/dist/web/assets/{tsv-B1zVvoTr.js → tsv-DCb-NQh3.js} +0 -0
- /package/dist/web/assets/{tsx-D4HwRUBq.js → tsx-DF8YeRgG.js} +0 -0
- /package/dist/web/assets/{turtle-B4r8KEJH.js → turtle-Bhx1GlIy.js} +0 -0
- /package/dist/web/assets/{typescript-BnHhxMtp.js → typescript-CAVD2Wb6.js} +0 -0
- /package/dist/web/assets/{typespec-DP2q46GT.js → typespec-D7mchdY_.js} +0 -0
- /package/dist/web/assets/{typst-DFsD_yaD.js → typst-CeXzq6Yw.js} +0 -0
- /package/dist/web/assets/{use-is-mobile-BQ9Bv5Ga.js → use-is-mobile-TkcwP1Gx.js} +0 -0
- /package/dist/web/assets/{use-visual-viewport-CbwnktSG.js → use-visual-viewport-Lp878uzs.js} +0 -0
- /package/dist/web/assets/{v-Bji8hSVT.js → v-DhzO54je.js} +0 -0
- /package/dist/web/assets/{vala-D3TIgGmU.js → vala-Dw_RAk3E.js} +0 -0
- /package/dist/web/assets/{vb-DvcxFS2q.js → vb-CiXdNh2Y.js} +0 -0
- /package/dist/web/assets/{vendor-xterm-BqPDsE9b.js → vendor-xterm-BHEY6Ctu.js} +0 -0
- /package/dist/web/assets/{verilog-Dy7cF35d.js → verilog-fITdxqwV.js} +0 -0
- /package/dist/web/assets/{vesper-BzjwUv9J.js → vesper-B1wm_At7.js} +0 -0
- /package/dist/web/assets/{vhdl-DuFnFNmW.js → vhdl-ebHjqKp9.js} +0 -0
- /package/dist/web/assets/{viml-yAPgKlbz.js → viml-Dgmnoxoo.js} +0 -0
- /package/dist/web/assets/{vitesse-black-oSSQdyIZ.js → vitesse-black-BZ5gMb7l.js} +0 -0
- /package/dist/web/assets/{vitesse-dark-BZxwPihB.js → vitesse-dark-Lij7kkOt.js} +0 -0
- /package/dist/web/assets/{vitesse-light-uIigycvt.js → vitesse-light-DW6Wq7VC.js} +0 -0
- /package/dist/web/assets/{vyper-CX3NAxm5.js → vyper-6FxDnVNg.js} +0 -0
- /package/dist/web/assets/{wasm-6mEOOvVa.js → wasm-BDxaNPCj.js} +0 -0
- /package/dist/web/assets/{wasm-D9td37qO.js → wasm-DKhAtzfe.js} +0 -0
- /package/dist/web/assets/{wenyan-lwNIHgk6.js → wenyan-C0k0DYG_.js} +0 -0
- /package/dist/web/assets/{wgsl-DQAzCfog.js → wgsl-Y2zagbdn.js} +0 -0
- /package/dist/web/assets/{wikitext-DTXmt5NE.js → wikitext-C4QGWzkY.js} +0 -0
- /package/dist/web/assets/{wit-Bdw_7WDH.js → wit-CQESzjHy.js} +0 -0
- /package/dist/web/assets/{wolfram-DqyHDZ07.js → wolfram-B-ia69Ia.js} +0 -0
- /package/dist/web/assets/{yaml-CPXhdByd.js → yaml-CEYYTQPm.js} +0 -0
- /package/dist/web/assets/{zenscript-6s_i5zek.js → zenscript-BggWXIeJ.js} +0 -0
- /package/dist/web/assets/{zig-B2htezJ_.js → zig-CbaUfBQe.js} +0 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/data-grid-overlay-editor-
|
|
2
|
-
import{o as e,t}from"./rolldown-runtime-FhOqtrmT.js";import{C as n,S as r}from"./vendor-markdown-CuWCHIVb.js";import{
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/data-grid-overlay-editor-6xUCeLHh.js","assets/rolldown-runtime-FhOqtrmT.js","assets/dist-Czq7BUMy.js","assets/vendor-markdown-CuWCHIVb.js","assets/vendor-ui-DmZ-Mb-H.js","assets/data-grid-types-C5bthITf.js","assets/number-overlay-editor-CRGwULhR.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{o as e,t}from"./rolldown-runtime-FhOqtrmT.js";import{C as n,S as r}from"./vendor-markdown-CuWCHIVb.js";import{pt as i}from"./vendor-ui-DmZ-Mb-H.js";import{$ as a,A as o,Br as s,Dr as c,It as l,Un as u,Wn as d,a as f,bt as p,ct as m,d as h,ir as g,j as _,ln as v,lt as y,pr as b,qn as x,st as S,tr as C,wr as w,zr as T}from"./icons-DQjqk0lJ.js";import{M as E,q as D}from"./vendor-mermaid-BitiXJlL.js";import{t as O}from"./tab-store-OJa1GPCq.js";import{$t as k,Rt as A,c as ee,tn as te}from"./index-CEZVxM4G.js";import{A as j,B as ne,C as M,D as re,E as N,F as ie,G as P,H as ae,I as F,L as oe,M as se,N as ce,O as I,P as L,R,S as le,T as ue,U as de,V as fe,W as pe,_ as me,a as he,b as ge,c as z,d as _e,f as ve,g as ye,h as B,i as be,j as V,k as H,l as U,m as xe,n as W,o as G,p as Se,r as Ce,s as we,t as K,u as Te,v as Ee,w as De,x as Oe,y as ke,z as Ae}from"./data-grid-types-C5bthITf.js";import{t as je}from"./dist-Czq7BUMy.js";import{t as Me}from"./use-monaco-theme-gvhJ_jZh.js";import{n as Ne}from"./csv-parser-_oDBUkwQ.js";var Pe=/[A-Za-z0-9_]/,Fe=/^\$([A-Za-z_][A-Za-z0-9_]*)?\$/;function Ie(e){let t=[],n=1,r=-1,i=1,a=0,o=(n,a)=>{if(r===-1)return;let o=e.slice(r,n).trim();o&&t.push({sql:o,startLine:i,endLine:a}),r=-1};for(;a<e.length;){let t=e[a];if(t===`
|
|
3
3
|
`){n++,a++;continue}if(t===` `||t===` `||t===`\r`){a++;continue}if(t===`-`&&e[a+1]===`-`){for(;a<e.length&&e[a]!==`
|
|
4
4
|
`;)a++;continue}if(t===`/`&&e[a+1]===`*`){let t=1;for(a+=2;a<e.length&&t>0;){if(e[a]===`/`&&e[a+1]===`*`){t++,a+=2;continue}if(e[a]===`*`&&e[a+1]===`/`){t--,a+=2;continue}e[a]===`
|
|
5
5
|
`&&n++,a++}continue}if(r===-1&&(r=a,i=n),t===`;`){o(a+1,n),a++;continue}if(t===`'`||t===`"`){let r=e[a-1],i=e[a-2],o=t===`'`&&(r===`e`||r===`E`)&&!(i!==void 0&&Pe.test(i));for(a++;a<e.length;){let r=e[a];if(r===`
|
|
6
6
|
`){n++,a++;continue}if(o&&r===`\\`){a+=2;continue}if(r===t){if(e[a+1]===t){a+=2;continue}a++;break}a++}continue}if(t===`$`){let t=Fe.exec(e.slice(a));if(t){let r=t[0],i=e.indexOf(r,a+r.length),o=i===-1?e.length:i+r.length;for(let t=a;t<o;t++)e[t]===`
|
|
7
7
|
`&&n++;a=o;continue}}a++}return o(e.length,n),t}function Le(e,t){let n=Ie(e);if(n.length===0)return``;let r=n.find(e=>e.startLine<=t&&t<=e.endLine);return r?r.sql:(n.find(e=>e.startLine>t)??n[n.length-1]).sql}var Re=`SELECT.FROM.WHERE.INSERT.INTO.VALUES.UPDATE.SET.DELETE.CREATE.TABLE.ALTER.DROP.INDEX.JOIN.LEFT.RIGHT.INNER.OUTER.ON.AND.OR.NOT.NULL.IS.IN.LIKE.BETWEEN.HAVING.LIMIT.OFFSET.AS.DISTINCT.COUNT.SUM.AVG.MIN.MAX.CASE.WHEN.THEN.ELSE.END.EXISTS.UNION.ALL.ASC.DESC.ORDER BY.GROUP BY.LEFT JOIN.RIGHT JOIN.INNER JOIN.CROSS JOIN.FULL OUTER JOIN.IS NULL.IS NOT NULL`.split(`.`),ze=[`COUNT`,`SUM`,`AVG`,`MIN`,`MAX`],Be=[`=`,`!=`,`<>`,`>`,`<`,`>=`,`<=`,`LIKE`,`ILIKE`,`IN`,`NOT IN`,`BETWEEN`,`IS NULL`,`IS NOT NULL`],Ve=[`ASC`,`DESC`],He=new Map,Ue=new Set(`WHERE.SET.ON.ORDER.GROUP.HAVING.LIMIT.LEFT.RIGHT.INNER.OUTER.CROSS.FULL.JOIN.AND.OR.VALUES.SELECT.FROM.INTO.UPDATE.DELETE.INSERT.CREATE.ALTER.DROP`.split(`.`));function We(e){let t=new Set,n=new Map,r=e.matchAll(/\b(?:FROM|JOIN|UPDATE|INTO)\s+"?(\w+)"?(?:\s+AS\s+(\w+)|\s+(?!(?:FROM|JOIN|UPDATE|INTO|WHERE|SET|ON|ORDER|GROUP|HAVING|LIMIT|LEFT|RIGHT|INNER|OUTER|CROSS|FULL|AND|OR|VALUES|SELECT)\b)(\w+))?/gi);for(let e of r){let r=e[1];t.add(r);let i=e[2]??e[3];i&&!Ue.has(i.toUpperCase())&&n.set(i.toLowerCase(),r)}return{tableRefs:t,aliasMap:n}}function Ge(e,t){return t.get(e.toLowerCase())??e}async function Ke(e,t){let n=e.toLowerCase(),r=He.get(n);if(!r)try{r=await t.getColumns(e),He.set(n,r)}catch{r=[]}return r}async function qe(e,t,n,r){let i=[],a=new Set;for(let o of e){let e=await Ke(o,t);for(let t of e){if(a.has(t.name))continue;a.add(t.name);let e=/[A-Z]/.test(t.name);i.push({label:t.name,kind:n.languages.CompletionItemKind.Field,detail:`${o} · ${t.type}`,insertText:e?`"${t.name}"`:t.name,range:r,sortText:`0`+t.name})}}return i}function Je(e){if(/(\w+)\.\s*$/.test(e))return`dot`;let t=e.match(/\b(?:ORDER|GROUP)\s+BY\s+(?:[\w"]+\s+(?:ASC|DESC)\s*,\s*)*[\w"]+\s+(\w*)$/i);if(t){let e=t[1].toUpperCase();return e===`ASC`||e===`DESC`?`after-direction`:`sort-direction`}return/\b(?:ORDER|GROUP)\s+BY\s+.*(?:ASC|DESC)\s*,\s*\w*$/i.test(e)?`order-by-next-col`:/\b(?:WHERE|AND|OR)\s+[\w"]+\s+\S*$/i.test(e)?`operator`:/\b(?:FROM|JOIN|INTO|UPDATE|TABLE)\s+\w*$/i.test(e)?`table`:/\bINSERT\s+INTO\s+[\w"]+\s*\(\s*(?:[\w"]+\s*,\s*)*\w*$/i.test(e)?`insert-cols`:/\b(?:SELECT|WHERE|ORDER\s+BY|GROUP\s+BY|HAVING|SET|ON|AND|OR)\s+(?:[\w"]+\s*,\s*)*\w*$/i.test(e)?`columns`:/,\s*\w*$/.test(e)?`comma-cols`:`default`}function Ye(e,t){return{triggerCharacters:[`.`,`,`],provideCompletionItems:async(n,r)=>{try{let i=n.getValueInRange({startLineNumber:1,startColumn:1,endLineNumber:r.lineNumber,endColumn:r.column}),a=n.getWordUntilPosition(r),o={startLineNumber:r.lineNumber,endLineNumber:r.lineNumber,startColumn:a.startColumn,endColumn:a.endColumn},{tableRefs:s,aliasMap:c}=We(Le(n.getValue(),r.lineNumber)),l=[],u=Je(i);if(u===`dot`){let n=i.match(/(\w+)\.\s*$/);if(n){let r=n[1],i=await Ke(Ge(r,c),t);for(let t of i){let n=/[A-Z]/.test(t.name);l.push({label:t.name,kind:e.languages.CompletionItemKind.Field,detail:t.type,insertText:n?`"${t.name}"`:t.name,range:o})}}return{suggestions:l}}if(u===`sort-direction`){for(let t of Ve)l.push({label:t,kind:e.languages.CompletionItemKind.Keyword,insertText:t,range:o,sortText:`0`+t});return{suggestions:l}}if(u===`after-direction`)return{suggestions:[]};if(u===`order-by-next-col`)return l.push(...await qe(s,t,e,o)),{suggestions:l};if(u===`operator`){for(let t of Be)l.push({label:t,kind:e.languages.CompletionItemKind.Operator,insertText:t,range:o,sortText:`0`+t});return{suggestions:l}}if(u===`table`){for(let n of t.tables)l.push({label:n.name,kind:e.languages.CompletionItemKind.Struct,detail:n.schema,insertText:n.name,range:o,sortText:`0`+n.name});return{suggestions:l}}if(u===`insert-cols`)return l.push(...await qe(s,t,e,o)),{suggestions:l};if(u===`columns`){if(l.push(...await qe(s,t,e,o)),/\bSELECT\s+/i.test(i)){l.push({label:`*`,kind:e.languages.CompletionItemKind.Value,insertText:`*`,range:o,sortText:`00*`});for(let t of ze)l.push({label:`${t}()`,kind:e.languages.CompletionItemKind.Function,insertText:`${t}($0)`,insertTextRules:e.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:o,sortText:`1`+t})}for(let t of Re)l.push({label:t,kind:e.languages.CompletionItemKind.Keyword,insertText:t,range:o,sortText:`3`+t});return{suggestions:l}}if(u===`comma-cols`&&s.size>0)return l.push(...await qe(s,t,e,o)),{suggestions:l};for(let t of Re)l.push({label:t,kind:e.languages.CompletionItemKind.Keyword,insertText:t,range:o,sortText:`2`+t});for(let n of t.tables)l.push({label:n.name,kind:e.languages.CompletionItemKind.Struct,detail:n.schema,insertText:n.name,range:o,sortText:`1`+n.name});return{suggestions:l}}catch{return{suggestions:[]}}}}}function Xe(){He.clear()}var q=e(n(),1),Ze=e(i(),1),J=r();function Qe(e,t,n){let r=new Blob([t],{type:n}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=e,a.click(),URL.revokeObjectURL(i)}function $e({columns:e,rows:t,filename:n=`export`,exportAllUrl:r}){let[i,a]=(0,q.useState)(!1),[o,s]=(0,q.useState)(!1),c=(0,q.useRef)(null),l=(0,q.useRef)(null);(0,q.useEffect)(()=>{if(!i)return;let e=e=>{l.current&&!l.current.contains(e.target)&&c.current&&!c.current.contains(e.target)&&a(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[i]);let u=(0,q.useCallback)(()=>a(e=>!e),[]),d=()=>{let r=Ne(e,t.map(t=>e.map(e=>String(t[e]??``))));Qe(`${n}.csv`,r,`text/csv`),a(!1)},f=()=>{let e=JSON.stringify(t,null,2);Qe(`${n}.json`,e,`application/json`),a(!1)},p=async()=>{let n=e.join(` `),r=t.map(t=>e.map(e=>String(t[e]??``)).join(` `)).join(`
|
|
8
|
-
`);await
|
|
8
|
+
`);await k(n+`
|
|
9
9
|
`+r),a(!1)},m=async e=>{if(r){s(!0);try{let t=await(await fetch(`${r}&format=${e}&limit=10000`)).text(),i=e===`csv`?`text/csv`:`application/json`;Qe(`${n}-all.${e}`,t,i)}catch{}s(!1),a(!1)}};if(e.length===0||t.length===0)return null;let h=c.current?.getBoundingClientRect(),g=document.getElementById(`portal`);return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`button`,{ref:c,type:`button`,onClick:u,className:`p-1 rounded text-muted-foreground hover:text-foreground transition-colors`,title:`Export`,children:(0,J.jsx)(S,{className:`size-3.5`})}),i&&g&&h&&(0,Ze.createPortal)((0,J.jsxs)(`div`,{ref:l,style:{position:`fixed`,left:Math.min(h.left,window.innerWidth-170),top:h.bottom+4,zIndex:1e4},className:`bg-popover border border-border rounded-md shadow-md py-1 min-w-[160px] text-xs`,children:[(0,J.jsx)(`button`,{onClick:p,className:`w-full text-left px-3 py-1.5 hover:bg-muted transition-colors text-foreground`,children:`Copy to Clipboard (TSV)`}),(0,J.jsx)(`button`,{onClick:d,className:`w-full text-left px-3 py-1.5 hover:bg-muted transition-colors text-foreground`,children:`Export Page (CSV)`}),(0,J.jsx)(`button`,{onClick:f,className:`w-full text-left px-3 py-1.5 hover:bg-muted transition-colors text-foreground`,children:`Export Page (JSON)`}),r&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`border-t border-border my-1`}),(0,J.jsx)(`button`,{onClick:()=>m(`csv`),disabled:o,className:`w-full text-left px-3 py-1.5 hover:bg-muted transition-colors disabled:opacity-50 text-foreground`,children:o?`Exporting…`:`Export All (CSV)`}),(0,J.jsx)(`button`,{onClick:()=>m(`json`),disabled:o,className:`w-full text-left px-3 py-1.5 hover:bg-muted transition-colors disabled:opacity-50 text-foreground`,children:o?`Exporting…`:`Export All (JSON)`})]})]}),g)]})}var et=je(`div`)({name:`ImageOverlayEditorStyle`,class:`gdg-i2iowwq`,propsAsIs:!1}),tt=t(((e,t)=>{t.exports=`SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED`})),nt=t(((e,t)=>{var n=tt();function r(){}function i(){}i.resetWarningCache=r,t.exports=function(){function e(e,t,r,i,a,o){if(o!==n){var s=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name=`Invariant Violation`,s}}e.isRequired=e;function t(){return e}var a={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:r};return a.PropTypes=a,a}})),rt=t(((e,t)=>{t.exports=nt()()})),it=t((e=>{(function(t,r){if(typeof define==`function`&&define.amd)define([`exports`,`react`,`prop-types`],r);else if(e!==void 0)r(e,n(),rt());else{var i={exports:{}};r(i.exports,t.react,t.propTypes),t.reactSwipe=i.exports}})(e,function(e,t,n){Object.defineProperty(e,`__esModule`,{value:!0}),e.setHasSupportToCaptureOption=p;var r=a(t),i=a(n);function a(e){return e&&e.__esModule?e:{default:e}}var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};function s(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function c(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}var l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function u(e,t){if(!e)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return t&&(typeof t==`object`||typeof t==`function`)?t:e}function d(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Super expression must either be null or a function, not `+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var f=!1;function p(e){f=e}try{addEventListener(`test`,null,Object.defineProperty({},`capture`,{get:function(){p(!0)}}))}catch{}function m(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{capture:!0};return f?e:e.capture}function h(e){if(`touches`in e){var t=e.touches[0];return{x:t.pageX,y:t.pageY}}return{x:e.screenX,y:e.screenY}}var g=function(e){d(t,e);function t(){var e;c(this,t);var n=[...arguments],r=u(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(n)));return r._handleSwipeStart=r._handleSwipeStart.bind(r),r._handleSwipeMove=r._handleSwipeMove.bind(r),r._handleSwipeEnd=r._handleSwipeEnd.bind(r),r._onMouseDown=r._onMouseDown.bind(r),r._onMouseMove=r._onMouseMove.bind(r),r._onMouseUp=r._onMouseUp.bind(r),r._setSwiperRef=r._setSwiperRef.bind(r),r}return l(t,[{key:`componentDidMount`,value:function(){this.swiper&&this.swiper.addEventListener(`touchmove`,this._handleSwipeMove,m({capture:!0,passive:!1}))}},{key:`componentWillUnmount`,value:function(){this.swiper&&this.swiper.removeEventListener(`touchmove`,this._handleSwipeMove,m({capture:!0,passive:!1}))}},{key:`_onMouseDown`,value:function(e){this.props.allowMouseEvents&&(this.mouseDown=!0,document.addEventListener(`mouseup`,this._onMouseUp),document.addEventListener(`mousemove`,this._onMouseMove),this._handleSwipeStart(e))}},{key:`_onMouseMove`,value:function(e){this.mouseDown&&this._handleSwipeMove(e)}},{key:`_onMouseUp`,value:function(e){this.mouseDown=!1,document.removeEventListener(`mouseup`,this._onMouseUp),document.removeEventListener(`mousemove`,this._onMouseMove),this._handleSwipeEnd(e)}},{key:`_handleSwipeStart`,value:function(e){var t=h(e);this.moveStart={x:t.x,y:t.y},this.props.onSwipeStart(e)}},{key:`_handleSwipeMove`,value:function(e){if(this.moveStart){var t=h(e),n=t.x,r=t.y,i=n-this.moveStart.x,a=r-this.moveStart.y;this.moving=!0,this.props.onSwipeMove({x:i,y:a},e)&&e.cancelable&&e.preventDefault(),this.movePosition={deltaX:i,deltaY:a}}}},{key:`_handleSwipeEnd`,value:function(e){this.props.onSwipeEnd(e);var t=this.props.tolerance;this.moving&&this.movePosition&&(this.movePosition.deltaX<-t?this.props.onSwipeLeft(1,e):this.movePosition.deltaX>t&&this.props.onSwipeRight(1,e),this.movePosition.deltaY<-t?this.props.onSwipeUp(1,e):this.movePosition.deltaY>t&&this.props.onSwipeDown(1,e)),this.moveStart=null,this.moving=!1,this.movePosition=null}},{key:`_setSwiperRef`,value:function(e){this.swiper=e,this.props.innerRef(e)}},{key:`render`,value:function(){var e=this.props;e.tagName;var t=e.className,n=e.style,i=e.children;e.allowMouseEvents,e.onSwipeUp,e.onSwipeDown,e.onSwipeLeft,e.onSwipeRight,e.onSwipeStart,e.onSwipeMove,e.onSwipeEnd,e.innerRef,e.tolerance;var a=s(e,[`tagName`,`className`,`style`,`children`,`allowMouseEvents`,`onSwipeUp`,`onSwipeDown`,`onSwipeLeft`,`onSwipeRight`,`onSwipeStart`,`onSwipeMove`,`onSwipeEnd`,`innerRef`,`tolerance`]);return r.default.createElement(this.props.tagName,o({ref:this._setSwiperRef,onMouseDown:this._onMouseDown,onTouchStart:this._handleSwipeStart,onTouchEnd:this._handleSwipeEnd,className:t,style:n},a),i)}}]),t}(t.Component);g.displayName=`ReactSwipe`,g.propTypes={tagName:i.default.string,className:i.default.string,style:i.default.object,children:i.default.node,allowMouseEvents:i.default.bool,onSwipeUp:i.default.func,onSwipeDown:i.default.func,onSwipeLeft:i.default.func,onSwipeRight:i.default.func,onSwipeStart:i.default.func,onSwipeMove:i.default.func,onSwipeEnd:i.default.func,innerRef:i.default.func,tolerance:i.default.number.isRequired},g.defaultProps={tagName:`div`,allowMouseEvents:!1,onSwipeUp:function(){},onSwipeDown:function(){},onSwipeLeft:function(){},onSwipeRight:function(){},onSwipeStart:function(){},onSwipeMove:function(){},onSwipeEnd:function(){},innerRef:function(){},tolerance:0},e.default=g})})),at=t((e=>{(function(t,n){if(typeof define==`function`&&define.amd)define([`exports`,`./react-swipe`],n);else if(e!==void 0)n(e,it());else{var r={exports:{}};n(r.exports,t.reactSwipe),t.index=r.exports}})(e,function(e,t){Object.defineProperty(e,`__esModule`,{value:!0});var n=r(t);function r(e){return e&&e.__esModule?e:{default:e}}e.default=n.default})})),ot=t(((e,t)=>{(function(){var e={}.hasOwnProperty;function n(){for(var e=``,t=0;t<arguments.length;t++){var n=arguments[t];n&&(e=i(e,r(n)))}return e}function r(t){if(typeof t==`string`||typeof t==`number`)return t;if(typeof t!=`object`)return``;if(Array.isArray(t))return n.apply(null,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes(`[native code]`))return t.toString();var r=``;for(var a in t)e.call(t,a)&&t[a]&&(r=i(r,a));return r}function i(e,t){return t?e?e+` `+t:e+t:e}t!==void 0&&t.exports?(n.default=n,t.exports=n):typeof define==`function`&&typeof define.amd==`object`&&define.amd?define(`classnames`,[],function(){return n}):window.classNames=n})()})),st=t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var t=n(ot());function n(e){return e&&e.__esModule?e:{default:e}}function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}e.default={ROOT:function(e){return(0,t.default)(r({"carousel-root":!0},e||``,!!e))},CAROUSEL:function(e){return(0,t.default)({carousel:!0,"carousel-slider":e})},WRAPPER:function(e,n){return(0,t.default)({"thumbs-wrapper":!e,"slider-wrapper":e,"axis-horizontal":n===`horizontal`,"axis-vertical":n!==`horizontal`})},SLIDER:function(e,n){return(0,t.default)({thumbs:!e,slider:e,animated:!n})},ITEM:function(e,n,r){return(0,t.default)({thumb:!e,slide:e,selected:n,previous:r})},ARROW_PREV:function(e){return(0,t.default)({"control-arrow control-prev":!0,"control-disabled":e})},ARROW_NEXT:function(e){return(0,t.default)({"control-arrow control-next":!0,"control-disabled":e})},DOT:function(e){return(0,t.default)({dot:!0,selected:e})}}})),ct=t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.outerWidth=void 0,e.outerWidth=function(e){var t=e.offsetWidth,n=getComputedStyle(e);return t+=parseInt(n.marginLeft)+parseInt(n.marginRight),t}})),lt=t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0,e.default=function(e,t,n){var r=e===0?e:e+t;return`translate3d`+(`(`+(n===`horizontal`?[r,0,0]:[0,r,0]).join(`,`)+`)`)}})),ut=t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0,e.default=function(){return window}})),dt=t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var t=u(n()),r=c(st()),i=ct(),a=c(lt()),o=c(at()),s=c(ut());function c(e){return e&&e.__esModule?e:{default:e}}function l(){if(typeof WeakMap!=`function`)return null;var e=new WeakMap;return l=function(){return e},e}function u(e){if(e&&e.__esModule)return e;if(e===null||d(e)!==`object`&&typeof e!=`function`)return{default:e};var t=l();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=e[i]}return n.default=e,t&&t.set(e,n),n}function d(e){"@babel/helpers - typeof";return d=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},d(e)}function f(){return f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},f.apply(this,arguments)}function p(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function m(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function h(e,t,n){return t&&m(e.prototype,t),n&&m(e,n),e}function g(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Super expression must either be null or a function`);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&_(e,t)}function _(e,t){return _=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},_(e,t)}function v(e){var t=x();return function(){var n=S(e),r;if(t){var i=S(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return y(this,r)}}function y(e,t){return t&&(d(t)===`object`||typeof t==`function`)?t:b(e)}function b(e){if(e===void 0)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return e}function x(){if(typeof Reflect>`u`||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==`function`)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}function S(e){return S=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},S(e)}function C(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var w=function(e){return e.hasOwnProperty(`key`)},T=function(e){g(c,e);var n=v(c);function c(e){var r;return p(this,c),r=n.call(this,e),C(b(r),`itemsWrapperRef`,void 0),C(b(r),`itemsListRef`,void 0),C(b(r),`thumbsRef`,void 0),C(b(r),`setItemsWrapperRef`,function(e){r.itemsWrapperRef=e}),C(b(r),`setItemsListRef`,function(e){r.itemsListRef=e}),C(b(r),`setThumbsRef`,function(e,t){r.thumbsRef||=[],r.thumbsRef[t]=e}),C(b(r),`updateSizes`,function(){if(!(!r.props.children||!r.itemsWrapperRef||!r.thumbsRef)){var e=t.Children.count(r.props.children),n=r.itemsWrapperRef.clientWidth,a=r.props.thumbWidth?r.props.thumbWidth:(0,i.outerWidth)(r.thumbsRef[0]),o=Math.floor(n/a),s=o<e,c=s?e-o:0;r.setState(function(e,t){return{itemSize:a,visibleItems:o,firstItem:s?r.getFirstItem(t.selectedItem):0,lastPosition:c,showArrows:s}})}}),C(b(r),`handleClickItem`,function(e,t,n){if(!w(n)||n.key===`Enter`){var i=r.props.onSelectItem;typeof i==`function`&&i(e,t)}}),C(b(r),`onSwipeStart`,function(){r.setState({swiping:!0})}),C(b(r),`onSwipeEnd`,function(){r.setState({swiping:!1})}),C(b(r),`onSwipeMove`,function(e){var n=e.x;if(!r.state.itemSize||!r.itemsWrapperRef||!r.state.visibleItems)return!1;var i=0,o=t.Children.count(r.props.children),s=-(r.state.firstItem*100)/r.state.visibleItems,c=-Math.max(o-r.state.visibleItems,0)*100/r.state.visibleItems;s===i&&n>0&&(n=0),s===c&&n<0&&(n=0);var l=s+100/(r.itemsWrapperRef.clientWidth/n);return r.itemsListRef&&[`WebkitTransform`,`MozTransform`,`MsTransform`,`OTransform`,`transform`,`msTransform`].forEach(function(e){r.itemsListRef.style[e]=(0,a.default)(l,`%`,r.props.axis)}),!0}),C(b(r),`slideRight`,function(e){r.moveTo(r.state.firstItem-(typeof e==`number`?e:1))}),C(b(r),`slideLeft`,function(e){r.moveTo(r.state.firstItem+(typeof e==`number`?e:1))}),C(b(r),`moveTo`,function(e){e=e<0?0:e,e=e>=r.state.lastPosition?r.state.lastPosition:e,r.setState({firstItem:e})}),r.state={selectedItem:e.selectedItem,swiping:!1,showArrows:!1,firstItem:0,visibleItems:0,lastPosition:0},r}return h(c,[{key:`componentDidMount`,value:function(){this.setupThumbs()}},{key:`componentDidUpdate`,value:function(e){this.props.selectedItem!==this.state.selectedItem&&this.setState({selectedItem:this.props.selectedItem,firstItem:this.getFirstItem(this.props.selectedItem)}),this.props.children!==e.children&&this.updateSizes()}},{key:`componentWillUnmount`,value:function(){this.destroyThumbs()}},{key:`setupThumbs`,value:function(){(0,s.default)().addEventListener(`resize`,this.updateSizes),(0,s.default)().addEventListener(`DOMContentLoaded`,this.updateSizes),this.updateSizes()}},{key:`destroyThumbs`,value:function(){(0,s.default)().removeEventListener(`resize`,this.updateSizes),(0,s.default)().removeEventListener(`DOMContentLoaded`,this.updateSizes)}},{key:`getFirstItem`,value:function(e){var t=e;return e>=this.state.lastPosition&&(t=this.state.lastPosition),e<this.state.firstItem+this.state.visibleItems&&(t=this.state.firstItem),e<this.state.firstItem&&(t=e),t}},{key:`renderItems`,value:function(){var e=this;return this.props.children.map(function(n,i){var a={key:i,ref:function(t){return e.setThumbsRef(t,i)},className:r.default.ITEM(!1,i===e.state.selectedItem),onClick:e.handleClickItem.bind(e,i,e.props.children[i]),onKeyDown:e.handleClickItem.bind(e,i,e.props.children[i]),"aria-label":`${e.props.labels.item} ${i+1}`,style:{width:e.props.thumbWidth}};return t.default.createElement(`li`,f({},a,{role:`button`,tabIndex:0}),n)})}},{key:`render`,value:function(){var e=this;if(!this.props.children)return null;var n=t.Children.count(this.props.children)>1,i=this.state.showArrows&&this.state.firstItem>0,s=this.state.showArrows&&this.state.firstItem<this.state.lastPosition,c={},l=-this.state.firstItem*(this.state.itemSize||0),u=(0,a.default)(l,`px`,this.props.axis),d=this.props.transitionTime+`ms`;return c={WebkitTransform:u,MozTransform:u,MsTransform:u,OTransform:u,transform:u,msTransform:u,WebkitTransitionDuration:d,MozTransitionDuration:d,MsTransitionDuration:d,OTransitionDuration:d,transitionDuration:d,msTransitionDuration:d},t.default.createElement(`div`,{className:r.default.CAROUSEL(!1)},t.default.createElement(`div`,{className:r.default.WRAPPER(!1),ref:this.setItemsWrapperRef},t.default.createElement(`button`,{type:`button`,className:r.default.ARROW_PREV(!i),onClick:function(){return e.slideRight()},"aria-label":this.props.labels.leftArrow}),n?t.default.createElement(o.default,{tagName:`ul`,className:r.default.SLIDER(!1,this.state.swiping),onSwipeLeft:this.slideLeft,onSwipeRight:this.slideRight,onSwipeMove:this.onSwipeMove,onSwipeStart:this.onSwipeStart,onSwipeEnd:this.onSwipeEnd,style:c,innerRef:this.setItemsListRef,allowMouseEvents:this.props.emulateTouch},this.renderItems()):t.default.createElement(`ul`,{className:r.default.SLIDER(!1,this.state.swiping),ref:function(t){return e.setItemsListRef(t)},style:c},this.renderItems()),t.default.createElement(`button`,{type:`button`,className:r.default.ARROW_NEXT(!s),onClick:function(){return e.slideLeft()},"aria-label":this.props.labels.rightArrow})))}}]),c}(t.Component);e.default=T,C(T,`displayName`,`Thumbs`),C(T,`defaultProps`,{axis:`horizontal`,labels:{leftArrow:`previous slide / item`,rightArrow:`next slide / item`,item:`slide item`},selectedItem:0,thumbWidth:80,transitionTime:350})})),ft=t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0,e.default=function(){return document}})),pt=t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.setPosition=e.getPosition=e.isKeyboardEvent=e.defaultStatusFormatter=e.noop=void 0;var t=n(),r=i(lt());function i(e){return e&&e.__esModule?e:{default:e}}e.noop=function(){},e.defaultStatusFormatter=function(e,t){return`${e} of ${t}`},e.isKeyboardEvent=function(e){return e?e.hasOwnProperty(`key`):!1},e.getPosition=function(e,n){if(n.infiniteLoop&&++e,e===0)return 0;var r=t.Children.count(n.children);if(n.centerMode&&n.axis===`horizontal`){var i=-e*n.centerSlidePercentage,a=r-1;return e&&(e!==a||n.infiniteLoop)?i+=(100-n.centerSlidePercentage)/2:e===a&&(i+=100-n.centerSlidePercentage),i}return-e*100},e.setPosition=function(e,t){var n={};return[`WebkitTransform`,`MozTransform`,`MsTransform`,`OTransform`,`transform`,`msTransform`].forEach(function(i){n[i]=(0,r.default)(e,`%`,t)}),n}})),mt=t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.fadeAnimationHandler=e.slideStopSwipingHandler=e.slideSwipeAnimationHandler=e.slideAnimationHandler=void 0;var t=n(),r=a(lt()),i=pt();function a(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?o(Object(n),!0).forEach(function(t){c(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}e.slideAnimationHandler=function(e,n){var a={},o=n.selectedItem,c=o,l=t.Children.count(e.children)-1;if(e.infiniteLoop&&(o<0||o>l))return c<0?e.centerMode&&e.centerSlidePercentage&&e.axis===`horizontal`?a.itemListStyle=(0,i.setPosition)(-(l+2)*e.centerSlidePercentage-(100-e.centerSlidePercentage)/2,e.axis):a.itemListStyle=(0,i.setPosition)(-(l+2)*100,e.axis):c>l&&(a.itemListStyle=(0,i.setPosition)(0,e.axis)),a;var u=(0,i.getPosition)(o,e),d=(0,r.default)(u,`%`,e.axis),f=e.transitionTime+`ms`;return a.itemListStyle={WebkitTransform:d,msTransform:d,OTransform:d,transform:d},n.swiping||(a.itemListStyle=s(s({},a.itemListStyle),{},{WebkitTransitionDuration:f,MozTransitionDuration:f,OTransitionDuration:f,transitionDuration:f,msTransitionDuration:f})),a},e.slideSwipeAnimationHandler=function(e,n,r,a){var o={},s=n.axis===`horizontal`,c=t.Children.count(n.children),l=0,u=(0,i.getPosition)(r.selectedItem,n),d=n.infiniteLoop?(0,i.getPosition)(c-1,n)-100:(0,i.getPosition)(c-1,n),f=s?e.x:e.y,p=f;u===l&&f>0&&(p=0),u===d&&f<0&&(p=0);var m=u+100/(r.itemSize/p),h=Math.abs(f)>n.swipeScrollTolerance;return n.infiniteLoop&&h&&(r.selectedItem===0&&m>-100?m-=c*100:r.selectedItem===c-1&&m<-c*100&&(m+=c*100)),(!n.preventMovementUntilSwipeScrollTolerance||h||r.swipeMovementStarted)&&(r.swipeMovementStarted||a({swipeMovementStarted:!0}),o.itemListStyle=(0,i.setPosition)(m,n.axis)),h&&!r.cancelClick&&a({cancelClick:!0}),o},e.slideStopSwipingHandler=function(e,t){var n=(0,i.getPosition)(t.selectedItem,e);return{itemListStyle:(0,i.setPosition)(n,e.axis)}},e.fadeAnimationHandler=function(e,t){var n=e.transitionTime+`ms`,r=`ease-in-out`,i={position:`absolute`,display:`block`,zIndex:-2,minHeight:`100%`,opacity:0,top:0,right:0,left:0,bottom:0,transitionTimingFunction:r,msTransitionTimingFunction:r,MozTransitionTimingFunction:r,WebkitTransitionTimingFunction:r,OTransitionTimingFunction:r};return t.swiping||(i=s(s({},i),{},{WebkitTransitionDuration:n,MozTransitionDuration:n,OTransitionDuration:n,transitionDuration:n,msTransitionDuration:n})),{slideStyle:i,selectedStyle:s(s({},i),{},{opacity:1,position:`relative`}),prevStyle:s({},i)}}})),ht=t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var t=f(n()),r=u(at()),i=u(st()),a=u(dt()),o=u(ft()),s=u(ut()),c=pt(),l=mt();function u(e){return e&&e.__esModule?e:{default:e}}function d(){if(typeof WeakMap!=`function`)return null;var e=new WeakMap;return d=function(){return e},e}function f(e){if(e&&e.__esModule)return e;if(e===null||p(e)!==`object`&&typeof e!=`function`)return{default:e};var t=d();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=e[i]}return n.default=e,t&&t.set(e,n),n}function p(e){"@babel/helpers - typeof";return p=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},p(e)}function m(){return m=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},m.apply(this,arguments)}function h(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function g(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?h(Object(n),!0).forEach(function(t){D(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):h(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function v(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function y(e,t,n){return t&&v(e.prototype,t),n&&v(e,n),e}function b(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Super expression must either be null or a function`);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&x(e,t)}function x(e,t){return x=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},x(e,t)}function S(e){var t=T();return function(){var n=E(e),r;if(t){var i=E(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return C(this,r)}}function C(e,t){return t&&(p(t)===`object`||typeof t==`function`)?t:w(e)}function w(e){if(e===void 0)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return e}function T(){if(typeof Reflect>`u`||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==`function`)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}function E(e){return E=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},E(e)}function D(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var O=function(e){b(u,e);var n=S(u);function u(e){var r;_(this,u),r=n.call(this,e),D(w(r),`thumbsRef`,void 0),D(w(r),`carouselWrapperRef`,void 0),D(w(r),`listRef`,void 0),D(w(r),`itemsRef`,void 0),D(w(r),`timer`,void 0),D(w(r),`animationHandler`,void 0),D(w(r),`setThumbsRef`,function(e){r.thumbsRef=e}),D(w(r),`setCarouselWrapperRef`,function(e){r.carouselWrapperRef=e}),D(w(r),`setListRef`,function(e){r.listRef=e}),D(w(r),`setItemsRef`,function(e,t){r.itemsRef||=[],r.itemsRef[t]=e}),D(w(r),`autoPlay`,function(){t.Children.count(r.props.children)<=1||(r.clearAutoPlay(),r.props.autoPlay&&(r.timer=setTimeout(function(){r.increment()},r.props.interval)))}),D(w(r),`clearAutoPlay`,function(){r.timer&&clearTimeout(r.timer)}),D(w(r),`resetAutoPlay`,function(){r.clearAutoPlay(),r.autoPlay()}),D(w(r),`stopOnHover`,function(){r.setState({isMouseEntered:!0},r.clearAutoPlay)}),D(w(r),`startOnLeave`,function(){r.setState({isMouseEntered:!1},r.autoPlay)}),D(w(r),`isFocusWithinTheCarousel`,function(){return r.carouselWrapperRef?!!((0,o.default)().activeElement===r.carouselWrapperRef||r.carouselWrapperRef.contains((0,o.default)().activeElement)):!1}),D(w(r),`navigateWithKeyboard`,function(e){if(r.isFocusWithinTheCarousel()){var t=r.props.axis===`horizontal`,n={ArrowUp:38,ArrowRight:39,ArrowDown:40,ArrowLeft:37},i=t?n.ArrowRight:n.ArrowDown,a=t?n.ArrowLeft:n.ArrowUp;i===e.keyCode?r.increment():a===e.keyCode&&r.decrement()}}),D(w(r),`updateSizes`,function(){if(!(!r.state.initialized||!r.itemsRef||r.itemsRef.length===0)){var e=r.props.axis===`horizontal`,t=r.itemsRef[0];if(t){var n=e?t.clientWidth:t.clientHeight;r.setState({itemSize:n}),r.thumbsRef&&r.thumbsRef.updateSizes()}}}),D(w(r),`setMountState`,function(){r.setState({hasMount:!0}),r.updateSizes()}),D(w(r),`handleClickItem`,function(e,n){if(t.Children.count(r.props.children)!==0){if(r.state.cancelClick){r.setState({cancelClick:!1});return}r.props.onClickItem(e,n),e!==r.state.selectedItem&&r.setState({selectedItem:e})}}),D(w(r),`handleOnChange`,function(e,n){t.Children.count(r.props.children)<=1||r.props.onChange(e,n)}),D(w(r),`handleClickThumb`,function(e,t){r.props.onClickThumb(e,t),r.moveTo(e)}),D(w(r),`onSwipeStart`,function(e){r.setState({swiping:!0}),r.props.onSwipeStart(e)}),D(w(r),`onSwipeEnd`,function(e){r.setState({swiping:!1,cancelClick:!1,swipeMovementStarted:!1}),r.props.onSwipeEnd(e),r.clearAutoPlay(),r.state.autoPlay&&r.autoPlay()}),D(w(r),`onSwipeMove`,function(e,t){r.props.onSwipeMove(t);var n=r.props.swipeAnimationHandler(e,r.props,r.state,r.setState.bind(w(r)));return r.setState(g({},n)),!!Object.keys(n).length}),D(w(r),`decrement`,function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1;r.moveTo(r.state.selectedItem-(typeof e==`number`?e:1))}),D(w(r),`increment`,function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1;r.moveTo(r.state.selectedItem+(typeof e==`number`?e:1))}),D(w(r),`moveTo`,function(e){if(typeof e==`number`){var n=t.Children.count(r.props.children)-1;e<0&&(e=r.props.infiniteLoop?n:0),e>n&&(e=r.props.infiniteLoop?0:n),r.selectItem({selectedItem:e}),r.state.autoPlay&&r.state.isMouseEntered===!1&&r.resetAutoPlay()}}),D(w(r),`onClickNext`,function(){r.increment(1)}),D(w(r),`onClickPrev`,function(){r.decrement(1)}),D(w(r),`onSwipeForward`,function(){r.increment(1),r.props.emulateTouch&&r.setState({cancelClick:!0})}),D(w(r),`onSwipeBackwards`,function(){r.decrement(1),r.props.emulateTouch&&r.setState({cancelClick:!0})}),D(w(r),`changeItem`,function(e){return function(t){(!(0,c.isKeyboardEvent)(t)||t.key===`Enter`)&&r.moveTo(e)}}),D(w(r),`selectItem`,function(e){r.setState(g({previousItem:r.state.selectedItem},e),function(){r.setState(r.animationHandler(r.props,r.state))}),r.handleOnChange(e.selectedItem,t.Children.toArray(r.props.children)[e.selectedItem])}),D(w(r),`getInitialImage`,function(){var e=r.props.selectedItem,t=r.itemsRef&&r.itemsRef[e];return(t&&t.getElementsByTagName(`img`)||[])[0]}),D(w(r),`getVariableItemHeight`,function(e){var t=r.itemsRef&&r.itemsRef[e];if(r.state.hasMount&&t&&t.children.length){var n=t.children[0].getElementsByTagName(`img`)||[];if(n.length>0){var i=n[0];i.complete||i.addEventListener(`load`,function e(){r.forceUpdate(),i.removeEventListener(`load`,e)})}var a=(n[0]||t.children[0]).clientHeight;return a>0?a:null}return null});var i={initialized:!1,previousItem:e.selectedItem,selectedItem:e.selectedItem,hasMount:!1,isMouseEntered:!1,autoPlay:e.autoPlay,swiping:!1,swipeMovementStarted:!1,cancelClick:!1,itemSize:1,itemListStyle:{},slideStyle:{},selectedStyle:{},prevStyle:{}};return r.animationHandler=typeof e.animationHandler==`function`&&e.animationHandler||e.animationHandler===`fade`&&l.fadeAnimationHandler||l.slideAnimationHandler,r.state=g(g({},i),r.animationHandler(e,i)),r}return y(u,[{key:`componentDidMount`,value:function(){this.props.children&&this.setupCarousel()}},{key:`componentDidUpdate`,value:function(e,t){!e.children&&this.props.children&&!this.state.initialized&&this.setupCarousel(),!e.autoFocus&&this.props.autoFocus&&this.forceFocus(),t.swiping&&!this.state.swiping&&this.setState(g({},this.props.stopSwipingHandler(this.props,this.state))),(e.selectedItem!==this.props.selectedItem||e.centerMode!==this.props.centerMode)&&(this.updateSizes(),this.moveTo(this.props.selectedItem)),e.autoPlay!==this.props.autoPlay&&(this.props.autoPlay?this.setupAutoPlay():this.destroyAutoPlay(),this.setState({autoPlay:this.props.autoPlay}))}},{key:`componentWillUnmount`,value:function(){this.destroyCarousel()}},{key:`setupCarousel`,value:function(){var e=this;this.bindEvents(),this.state.autoPlay&&t.Children.count(this.props.children)>1&&this.setupAutoPlay(),this.props.autoFocus&&this.forceFocus(),this.setState({initialized:!0},function(){var t=e.getInitialImage();t&&!t.complete?t.addEventListener(`load`,e.setMountState):e.setMountState()})}},{key:`destroyCarousel`,value:function(){this.state.initialized&&(this.unbindEvents(),this.destroyAutoPlay())}},{key:`setupAutoPlay`,value:function(){this.autoPlay();var e=this.carouselWrapperRef;this.props.stopOnHover&&e&&(e.addEventListener(`mouseenter`,this.stopOnHover),e.addEventListener(`mouseleave`,this.startOnLeave))}},{key:`destroyAutoPlay`,value:function(){this.clearAutoPlay();var e=this.carouselWrapperRef;this.props.stopOnHover&&e&&(e.removeEventListener(`mouseenter`,this.stopOnHover),e.removeEventListener(`mouseleave`,this.startOnLeave))}},{key:`bindEvents`,value:function(){(0,s.default)().addEventListener(`resize`,this.updateSizes),(0,s.default)().addEventListener(`DOMContentLoaded`,this.updateSizes),this.props.useKeyboardArrows&&(0,o.default)().addEventListener(`keydown`,this.navigateWithKeyboard)}},{key:`unbindEvents`,value:function(){(0,s.default)().removeEventListener(`resize`,this.updateSizes),(0,s.default)().removeEventListener(`DOMContentLoaded`,this.updateSizes);var e=this.getInitialImage();e&&e.removeEventListener(`load`,this.setMountState),this.props.useKeyboardArrows&&(0,o.default)().removeEventListener(`keydown`,this.navigateWithKeyboard)}},{key:`forceFocus`,value:function(){var e;(e=this.carouselWrapperRef)==null||e.focus()}},{key:`renderItems`,value:function(e){var n=this;return this.props.children?t.Children.map(this.props.children,function(r,a){var o=a===n.state.selectedItem,s=a===n.state.previousItem,c=o&&n.state.selectedStyle||s&&n.state.prevStyle||n.state.slideStyle||{};n.props.centerMode&&n.props.axis===`horizontal`&&(c=g(g({},c),{},{minWidth:n.props.centerSlidePercentage+`%`})),n.state.swiping&&n.state.swipeMovementStarted&&(c=g(g({},c),{},{pointerEvents:`none`}));var l={ref:function(e){return n.setItemsRef(e,a)},key:`itemKey`+a+(e?`clone`:``),className:i.default.ITEM(!0,a===n.state.selectedItem,a===n.state.previousItem),onClick:n.handleClickItem.bind(n,a,r),style:c};return t.default.createElement(`li`,l,n.props.renderItem(r,{isSelected:a===n.state.selectedItem,isPrevious:a===n.state.previousItem}))}):[]}},{key:`renderControls`,value:function(){var e=this,n=this.props,r=n.showIndicators,i=n.labels,a=n.renderIndicator,o=n.children;return r?t.default.createElement(`ul`,{className:`control-dots`},t.Children.map(o,function(t,n){return a&&a(e.changeItem(n),n===e.state.selectedItem,n,i.item)})):null}},{key:`renderStatus`,value:function(){return this.props.showStatus?t.default.createElement(`p`,{className:`carousel-status`},this.props.statusFormatter(this.state.selectedItem+1,t.Children.count(this.props.children))):null}},{key:`renderThumbs`,value:function(){return!this.props.showThumbs||!this.props.children||t.Children.count(this.props.children)===0?null:t.default.createElement(a.default,{ref:this.setThumbsRef,onSelectItem:this.handleClickThumb,selectedItem:this.state.selectedItem,transitionTime:this.props.transitionTime,thumbWidth:this.props.thumbWidth,labels:this.props.labels,emulateTouch:this.props.emulateTouch},this.props.renderThumbs(this.props.children))}},{key:`render`,value:function(){var e=this;if(!this.props.children||t.Children.count(this.props.children)===0)return null;var n=this.props.swipeable&&t.Children.count(this.props.children)>1,a=this.props.axis===`horizontal`,o=this.props.showArrows&&t.Children.count(this.props.children)>1,s=o&&(this.state.selectedItem>0||this.props.infiniteLoop)||!1,c=o&&(this.state.selectedItem<t.Children.count(this.props.children)-1||this.props.infiniteLoop)||!1,l=this.renderItems(!0),u=l.shift(),d=l.pop(),f={className:i.default.SLIDER(!0,this.state.swiping),onSwipeMove:this.onSwipeMove,onSwipeStart:this.onSwipeStart,onSwipeEnd:this.onSwipeEnd,style:this.state.itemListStyle,tolerance:this.props.swipeScrollTolerance},p={};return a?(f.onSwipeLeft=this.onSwipeForward,f.onSwipeRight=this.onSwipeBackwards,this.props.dynamicHeight&&(p.height=this.getVariableItemHeight(this.state.selectedItem)||`auto`)):(f.onSwipeUp=this.props.verticalSwipe===`natural`?this.onSwipeBackwards:this.onSwipeForward,f.onSwipeDown=this.props.verticalSwipe===`natural`?this.onSwipeForward:this.onSwipeBackwards,f.style=g(g({},f.style),{},{height:this.state.itemSize}),p.height=this.state.itemSize),t.default.createElement(`div`,{"aria-label":this.props.ariaLabel,className:i.default.ROOT(this.props.className),ref:this.setCarouselWrapperRef,tabIndex:this.props.useKeyboardArrows?0:void 0},t.default.createElement(`div`,{className:i.default.CAROUSEL(!0),style:{width:this.props.width}},this.renderControls(),this.props.renderArrowPrev(this.onClickPrev,s,this.props.labels.leftArrow),t.default.createElement(`div`,{className:i.default.WRAPPER(!0,this.props.axis),style:p},n?t.default.createElement(r.default,m({tagName:`ul`,innerRef:this.setListRef},f,{allowMouseEvents:this.props.emulateTouch}),this.props.infiniteLoop&&d,this.renderItems(),this.props.infiniteLoop&&u):t.default.createElement(`ul`,{className:i.default.SLIDER(!0,this.state.swiping),ref:function(t){return e.setListRef(t)},style:this.state.itemListStyle||{}},this.props.infiniteLoop&&d,this.renderItems(),this.props.infiniteLoop&&u)),this.props.renderArrowNext(this.onClickNext,c,this.props.labels.rightArrow),this.renderStatus()),this.renderThumbs())}}]),u}(t.default.Component);e.default=O,D(O,`displayName`,`Carousel`),D(O,`defaultProps`,{ariaLabel:void 0,axis:`horizontal`,centerSlidePercentage:80,interval:3e3,labels:{leftArrow:`previous slide / item`,rightArrow:`next slide / item`,item:`slide item`},onClickItem:c.noop,onClickThumb:c.noop,onChange:c.noop,onSwipeStart:function(){},onSwipeEnd:function(){},onSwipeMove:function(){return!1},preventMovementUntilSwipeScrollTolerance:!1,renderArrowPrev:function(e,n,r){return t.default.createElement(`button`,{type:`button`,"aria-label":r,className:i.default.ARROW_PREV(!n),onClick:e})},renderArrowNext:function(e,n,r){return t.default.createElement(`button`,{type:`button`,"aria-label":r,className:i.default.ARROW_NEXT(!n),onClick:e})},renderIndicator:function(e,n,r,a){return t.default.createElement(`li`,{className:i.default.DOT(n),onClick:e,onKeyDown:e,value:r,key:r,role:`button`,tabIndex:0,"aria-label":`${a} ${r+1}`})},renderItem:function(e){return e},renderThumbs:function(e){var n=t.Children.map(e,function(e){var n=e;if(e.type!==`img`&&(n=t.Children.toArray(e.props.children).find(function(e){return e.type===`img`})),n)return n});return n.filter(function(e){return e}).length===0?(console.warn(`No images found! Can't build the thumb list without images. If you don't need thumbs, set showThumbs={false} in the Carousel. Note that it's not possible to get images rendered inside custom components. More info at https://github.com/leandrowd/react-responsive-carousel/blob/master/TROUBLESHOOTING.md`),[]):n},statusFormatter:c.defaultStatusFormatter,selectedItem:0,showArrows:!0,showIndicators:!0,showStatus:!0,showThumbs:!0,stopOnHover:!0,swipeScrollTolerance:5,swipeable:!0,transitionTime:350,verticalSwipe:`standard`,width:`100%`,animationHandler:`slide`,swipeAnimationHandler:l.slideSwipeAnimationHandler,stopSwipingHandler:l.slideStopSwipingHandler})})),gt=t((()=>{})),_t=t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),Object.defineProperty(e,`Carousel`,{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,`CarouselProps`,{enumerable:!0,get:function(){return n.CarouselProps}}),Object.defineProperty(e,`Thumbs`,{enumerable:!0,get:function(){return r.default}});var t=i(ht()),n=gt(),r=i(dt());function i(e){return e&&e.__esModule?e:{default:e}}})),vt=t(((e,t)=>{var n=V();t.exports=function(){return n.Date.now()}})),yt=t(((e,t)=>{var n=/\s/;function r(e){for(var t=e.length;t--&&n.test(e.charAt(t)););return t}t.exports=r})),bt=t(((e,t)=>{var n=yt(),r=/^\s+/;function i(e){return e&&e.slice(0,n(e)+1).replace(r,``)}t.exports=i})),xt=t(((e,t)=>{var n=bt(),r=ue(),i=re(),a=NaN,o=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,c=/^0o[0-7]+$/i,l=parseInt;function u(e){if(typeof e==`number`)return e;if(i(e))return a;if(r(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=r(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=n(e);var u=s.test(e);return u||c.test(e)?l(e.slice(2),u?2:8):o.test(e)?a:+e}t.exports=u})),St=t(((e,t)=>{var n=ue(),r=vt(),i=xt(),a=`Expected a function`,o=Math.max,s=Math.min;function c(e,t,c){var l,u,d,f,p,m,h=0,g=!1,_=!1,v=!0;if(typeof e!=`function`)throw TypeError(a);t=i(t)||0,n(c)&&(g=!!c.leading,_=`maxWait`in c,d=_?o(i(c.maxWait)||0,t):d,v=`trailing`in c?!!c.trailing:v);function y(t){var n=l,r=u;return l=u=void 0,h=t,f=e.apply(r,n),f}function b(e){return h=e,p=setTimeout(C,t),g?y(e):f}function x(e){var n=e-m,r=e-h,i=t-n;return _?s(i,d-r):i}function S(e){var n=e-m,r=e-h;return m===void 0||n>=t||n<0||_&&r>=d}function C(){var e=r();if(S(e))return w(e);p=setTimeout(C,x(e))}function w(e){return p=void 0,v&&l?y(e):(l=u=void 0,f)}function T(){p!==void 0&&clearTimeout(p),h=0,l=m=u=p=void 0}function E(){return p===void 0?f:w(r())}function D(){var e=r(),n=S(e);if(l=arguments,u=this,m=e,n){if(p===void 0)return b(m);if(_)return clearTimeout(p),p=setTimeout(C,t),y(m)}return p===void 0&&(p=setTimeout(C,t)),f}return D.cancel=T,D.flush=E,D}t.exports=c})),Ct=e(St(),1);function wt(e,t,n,r,i=!1){let a=q.useRef();a.current=t,q.useEffect(()=>{if(n===null||n.addEventListener===void 0)return;let t=n,o=e=>{a.current?.call(t,e)};return t.addEventListener(e,o,{passive:r,capture:i}),()=>{t.removeEventListener(e,o,{capture:i})}},[e,n,r,i])}function Tt(e,t){return e===void 0?void 0:t}var Et=Math.PI;function Dt(e){return e*Et/180}var Ot=(e,t,n)=>({x1:e-n/2,y1:t-n/2,x2:e+n/2,y2:t+n/2}),kt=(e,t,n,r,i)=>{switch(e){case`left`:return Math.floor(t)+r+i/2;case`center`:return Math.floor(t+n/2);case`right`:return Math.floor(t+n)-r-i/2}},At=(e,t,n)=>Math.min(e,t-n*2),jt=(e,t,n)=>n.x1<=e&&e<=n.x2&&n.y1<=t&&t<=n.y2,Mt=e=>{let t=e.fgColor??`currentColor`;return q.createElement(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},q.createElement(`path`,{d:`M12.7073 7.05029C7.87391 11.8837 10.4544 9.30322 6.03024 13.7273C5.77392 13.9836 5.58981 14.3071 5.50189 14.6587L4.52521 18.5655C4.38789 19.1148 4.88543 19.6123 5.43472 19.475L9.34146 18.4983C9.69313 18.4104 10.0143 18.2286 10.2706 17.9722L16.9499 11.2929`,stroke:t,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`,fill:`none`,vectorEffect:`non-scaling-stroke`}),q.createElement(`path`,{d:`M20.4854 4.92901L19.0712 3.5148C18.2901 2.73375 17.0238 2.73375 16.2428 3.5148L14.475 5.28257C15.5326 7.71912 16.4736 8.6278 18.7176 9.52521L20.4854 7.75744C21.2665 6.97639 21.2665 5.71006 20.4854 4.92901Z`,stroke:t,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`,fill:`none`,vectorEffect:`non-scaling-stroke`}))},Nt=e=>{let t=e.fgColor??`currentColor`;return q.createElement(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},q.createElement(`path`,{d:`M19 6L10.3802 17L5.34071 11.8758`,vectorEffect:`non-scaling-stroke`,stroke:t,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`}))};function Pt(e,t,n){let[r,i]=q.useState(e),a=q.useRef(!0);q.useEffect(()=>()=>{a.current=!1},[]);let o=q.useRef((0,Ct.default)(e=>{a.current&&i(e)},n));return q.useLayoutEffect(()=>{a.current&&o.current(()=>e())},t),r}var Ft=RegExp(`^[^A-Za-zÀ-ÖØ-öø-ʸ̀-ࠀ-Ⰰ-︀--]*[֑-߿יִ-﷽ﹰ-ﻼ]`);function It(e){return Ft.test(e)?`rtl`:`not-rtl`}var Lt=void 0;function Rt(){if(typeof document>`u`)return 0;if(Lt!==void 0)return Lt;let e=document.createElement(`p`);e.style.width=`100%`,e.style.height=`200px`;let t=document.createElement(`div`);t.id=`testScrollbar`,t.style.position=`absolute`,t.style.top=`0px`,t.style.left=`0px`,t.style.visibility=`hidden`,t.style.width=`200px`,t.style.height=`150px`,t.style.overflow=`hidden`,t.append(e),document.body.append(t);let n=e.offsetWidth;t.style.overflow=`scroll`;let r=e.offsetWidth;return n===r&&(r=t.clientWidth),t.remove(),Lt=n-r,Lt}var zt=Symbol();function Bt(e){let t=q.useRef([zt,e]);t.current[1]!==e&&(t.current[0]=e),t.current[1]=e;let[n,r]=q.useState(e),[,i]=q.useState(),a=q.useCallback(e=>{let n=t.current[0];n!==zt&&(e=typeof e==`function`?e(n):e,e===n)||(n!==zt&&i({}),r(t=>typeof e==`function`?e(n===zt?t:n):e),t.current[0]=zt)},[]),o=q.useCallback(()=>{t.current[0]=zt,i({})},[]);return[t.current[0]===zt?n:t.current[0],a,o]}function Vt(e){if(e.length===0)return``;let t=0,n=0;for(let r of e){if(n+=r.length,n>1e4)break;t++}return e.slice(0,t).join(`, `)}function Ht(e){let t=q.useRef(e);return F(e,t.current)||(t.current=e),t.current}var Ut=_t(),Wt=e=>{let{urls:t,canWrite:n,onEditClick:r,renderImage:i}=e,a=t.filter(e=>e!==``);if(a.length===0)return null;let o=a.length>1;return q.createElement(et,{"data-testid":`GDG-default-image-overlay-editor`},q.createElement(Ut.Carousel,{showArrows:o,showThumbs:!1,swipeable:o,emulateTouch:o,infiniteLoop:o},a.map(e=>{let t=i?.(e)??q.createElement(`img`,{draggable:!1,src:e});return q.createElement(`div`,{className:`gdg-centering-container`,key:e},t)})),n&&r&&q.createElement(`button`,{className:`gdg-edit-icon`,onClick:r},q.createElement(Mt,null)))},Gt=je(`div`)({name:`MarkdownContainer`,class:`gdg-mnuv029`,propsAsIs:!1}),Kt=class extends q.PureComponent{targetElement=null;renderMarkdownIntoDiv(){let{targetElement:e,props:t}=this;if(e===null)return;let{contents:n,createNode:r}=t,i=E(n),a=document.createRange();a.selectNodeContents(e),a.deleteContents();let o=r?.(i);if(o===void 0){let e=document.createElement(`template`);e.innerHTML=i,o=e.content}e.append(o);let s=e.getElementsByTagName(`a`);for(let e of s)e.target=`_blank`,e.rel=`noreferrer noopener`}containerRefHook=e=>{this.targetElement=e,this.renderMarkdownIntoDiv()};render(){return this.renderMarkdownIntoDiv(),q.createElement(Gt,{ref:this.containerRefHook})}},qt=je(`textarea`)({name:`InputBox`,class:`gdg-izpuzkl`,propsAsIs:!1}),Jt=je(`div`)({name:`ShadowBox`,class:`gdg-s69h75o`,propsAsIs:!1}),Yt=je(`div`)({name:`GrowingEntryStyle`,class:`gdg-g1y0xocz`,propsAsIs:!1}),Xt=0,Zt=e=>{let{placeholder:t,value:n,onKeyDown:r,highlight:i,altNewline:a,validatedSelection:o,...s}=e,{onChange:c,className:l}=s,u=q.useRef(null),d=n??``;L(c!==void 0,`GrowingEntry must be a controlled input area`);let[f]=q.useState(()=>`input-box-`+(Xt=(Xt+1)%1e7));q.useEffect(()=>{let e=u.current;if(e===null||e.disabled)return;let t=d.toString().length;e.focus(),e.setSelectionRange(i?0:t,t)},[]),q.useLayoutEffect(()=>{if(o!==void 0){let e=typeof o==`number`?[o,null]:o;u.current?.setSelectionRange(e[0],e[1])}},[o]);let p=q.useCallback(e=>{e.key===`Enter`&&e.shiftKey&&a===!0||r?.(e)},[a,r]);return q.createElement(Yt,{className:`gdg-growing-entry`},q.createElement(Jt,{className:l},d+`
|
|
10
10
|
`),q.createElement(qt,{...s,className:(l??``)+` gdg-input`,id:f,ref:u,onKeyDown:p,value:d,placeholder:t,dir:`auto`}))},Qt=new Map,$t=new Map,en=new Map;function Y(){Qt.clear(),en.clear(),$t.clear()}function tn(e,t,n,r,i){let a=0,o={};for(let t of e)a+=n.get(t)??i,o[t]=(o[t]??0)+1;let s=t-a;for(let e of Object.keys(o)){let t=o[e],c=n.get(e)??i,l=c+s*(c*t/a)*r/t;n.set(e,l)}}function nn(e,t){let n=new Map,r=0;for(let t of`abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890,.-+=?`){let i=e.measureText(t).width;n.set(t,i),r+=i}let i=r/n.size,a=(t/i+3)/4,o=n.keys();for(let e of o)n.set(e,(n.get(e)??i)*a);return n}function rn(e,t,n,r){let i=$t.get(n);if(r&&i!==void 0&&i.count>2e4){let r=en.get(n);if(r===void 0&&(r=nn(e,i.size),en.set(n,r)),i.count>5e5){let e=0;for(let n of t)e+=r.get(n)??i.size;return e*1.01}let a=e.measureText(t);return tn(t,a.width,r,Math.max(.05,1-i.count/2e5),i.size),$t.set(n,{count:i.count+t.length,size:i.size}),a.width}let a=e.measureText(t),o=a.width/t.length;if((i?.count??0)>2e4)return a.width;if(i===void 0)$t.set(n,{count:t.length,size:o});else{let e=o-i.size,r=t.length/(i.count+t.length),a=i.size+e*r;$t.set(n,{count:i.count+t.length,size:a})}return a.width}function an(e,t,n,r,i,a,o,s){if(t.length<=1)return t.length;if(i<n)return-1;let c=Math.floor(n/i*a),l=rn(e,t.slice(0,Math.max(0,c)),r,o),u=s?.(t);if(l!==n)if(l<n){for(;l<n;)c++,l=rn(e,t.slice(0,Math.max(0,c)),r,o);c--}else for(;l>n;){let n=u===void 0?t.lastIndexOf(` `,c-1):0;n>0?c=n:c--,l=rn(e,t.slice(0,Math.max(0,c)),r,o)}if(t[c]!==` `){let e=0;if(u===void 0)e=t.lastIndexOf(` `,c);else for(let t of u){if(t>c)break;e=t}e>0&&(c=e)}return c}function on(e,t,n,r,i,a){let o=`${t}_${n}_${r}px`,s=Qt.get(o);if(s!==void 0)return s;if(r<=0)return[];let c=[],l=t.split(`
|
|
11
11
|
`),u=$t.get(n),d=u===void 0?t.length:r/u.size*1.5,f=i&&u!==void 0&&u.count>2e4;for(let t of l){let i=rn(e,t.slice(0,Math.max(0,d)),n,f),o=Math.min(t.length,d);if(i<=r)c.push(t);else{for(;i>r;){let s=an(e,t,r,n,i,o,f,a),l=t.slice(0,Math.max(0,s));t=t.slice(l.length),c.push(l),i=rn(e,t.slice(0,Math.max(0,d)),n,f),o=Math.min(t.length,d)}i>0&&c.push(t)}}return c=c.map((e,t)=>t===0?e.trimEnd():e.trim()),Qt.set(o,c),Qt.size>500&&Qt.delete(Qt.keys().next().value),c}function sn(e,t){return q.useMemo(()=>e.map((e,n)=>({group:e.group,grow:e.grow,hasMenu:e.hasMenu,icon:e.icon,id:e.id,menuIcon:e.menuIcon,overlayIcon:e.overlayIcon,sourceIndex:n,sticky:n<t,style:e.style,themeOverride:e.themeOverride,title:e.title,trailingRowOptions:e.trailingRowOptions,width:e.width,growOffset:e.growOffset,rowMarker:e.rowMarker,rowMarkerChecked:e.rowMarkerChecked})),[e,t])}function cn(e,t){let[n,r]=t;if(e.columns.hasIndex(n)||e.rows.hasIndex(r))return!0;if(e.current!==void 0){if(dn(e.current.cell,t))return!0;let i=[e.current.range,...e.current.rangeStack];for(let e of i)if(n>=e.x&&n<e.x+e.width&&r>=e.y&&r<e.y+e.height)return!0}return!1}function ln(e,t){return(e??``)===(t??``)}function X(e,t,n){return n.current===void 0||e[1]!==n.current.cell[1]?!1:t.span===void 0?n.current.cell[0]===e[0]:n.current.cell[0]>=t.span[0]&&n.current.cell[0]<=t.span[1]}function un(e,t){let[n,r]=e;return n>=t.x&&n<t.x+t.width&&r>=t.y&&r<t.y+t.height}function dn(e,t){return e?.[0]===t?.[0]&&e?.[1]===t?.[1]}function fn(e){return[e.x+e.width-1,e.y+e.height-1]}function pn(e,t,n){let r=n.x,i=n.x+n.width-1,a=n.y,o=n.y+n.height-1,[s,c]=e;if(c<a||c>o)return!1;if(t.span===void 0)return s>=r&&s<=i;let[l,u]=t.span;return l>=r&&l<=i||u>=r&&l<=i||l<r&&u>i}function mn(e,t,n,r){let i=0;if(n.current===void 0)return i;let a=n.current.range;(r||a.height*a.width>1)&&pn(e,t,a)&&i++;for(let r of n.current.rangeStack)pn(e,t,r)&&i++;return i}function hn(e,t){let n=e;if(t!==void 0){let r=[...e],i=n[t.src];t.src>t.dest?(r.splice(t.src,1),r.splice(t.dest,0,i)):(r.splice(t.dest+1,0,i),r.splice(t.src,1)),r=r.map((t,n)=>({...t,sticky:e[n].sticky})),n=r}return n}function gn(e,t){let n=0,r=hn(e,t);for(let e=0;e<r.length;e++){let t=r[e];if(t.sticky)n+=t.width;else break}return n}function _n(e,t,n){if(typeof n==`number`)return t*n;{let r=0;for(let i=e-t;i<e;i++)r+=n(i);return r}}function vn(e,t,n,r,i){let a=hn(e,r),o=[];for(let e of a)if(e.sticky)o.push(e);else break;if(o.length>0)for(let e of o)n-=e.width;let s=t,c=i??0;for(;c<=n&&s<a.length;)c+=a[s].width,s++;for(let e=t;e<s;e++){let t=a[e];t.sticky||o.push(t)}return o}function yn(e,t,n){let r=0;for(let i of t){if(e<=(i.sticky?r:r+(n??0))+i.width)return i.sourceIndex;r+=i.width}return-1}function bn(e,t,n,r,i,a,o,s,c,l){let u=r+i;if(n&&e<=i)return-2;if(e<=u)return-1;let d=t;for(let t=0;t<l;t++){let n=a-1-t,r=typeof o==`number`?o:o(n);if(d-=r,e>=d)return n}let f=a-l,p=e-(c??0);if(typeof o==`number`){let e=Math.floor((p-u)/o)+s;return e>=f?void 0:e}else{let e=u;for(let t=s;t<f;t++){let n=o(t);if(p<=e+n)return t;e+=n}return}}var xn=0,Sn={},Cn=typeof window>`u`;async function wn(){Cn||document?.fonts?.ready===void 0||(await document.fonts.ready,xn=0,Sn={},Y())}wn();function Tn(e,t,n,r){return`${e}_${r??t?.font}_${n}`}function En(e,t,n,r=`middle`){let i=Tn(e,t,r,n),a=Sn[i];return a===void 0&&(a=t.measureText(e),Sn[i]=a,xn++),xn>1e4&&(Sn={},xn=0),a}function Dn(e,t){let n=Tn(e,void 0,`middle`,t);return Sn[n]}function On(e,t){return typeof t!=`string`&&(t=t.baseFontFull),jn(e,t)}function kn(e,t){e.save(),e.textBaseline=t;let n=e.measureText(`ABCDEFGHIJKLMNOPQRSTUVWXYZ`);return e.restore(),n}var An=[];function jn(e,t){for(let e of An)if(e.key===t)return e.val;let n=kn(e,`alphabetic`),r=-(kn(e,`middle`).actualBoundingBoxDescent-n.actualBoundingBoxDescent)+n.actualBoundingBoxAscent/2;return An.push({key:t,val:r}),r}function Mn(e,t,n,r,i,a){let{ctx:o,rect:s,theme:c}=e,l=2**53-1;return t!==void 0&&(l=n-t,l<500&&(o.globalAlpha=1-l/500,o.fillStyle=c.bgSearchResult,o.fillRect(s.x+1,s.y+1,s.width-(i?2:1),s.height-(a?2:1)),o.globalAlpha=1,r!==void 0&&(r.fillStyle=c.bgSearchResult))),l<500}function Nn(e,t,n){let{ctx:r,theme:i}=e,a=t??{},o=n??i.textDark;return o!==a.fillStyle&&(r.fillStyle=o,a.fillStyle=o),a}function Pn(e,t,n,r,i,a,o,s,c){c===`right`?e.fillText(t,n+i-(s.cellHorizontalPadding+.5),r+a/2+o):c===`center`?e.fillText(t,n+i/2,r+a/2+o):e.fillText(t,n+s.cellHorizontalPadding+.5,r+a/2+o)}function Fn(e,t){let n=En(`ABCi09jgqpy`,e,t);return n.actualBoundingBoxAscent+n.actualBoundingBoxDescent}function In(e,t){e.includes(`
|
|
@@ -131,11 +131,11 @@ import{o as e,t}from"./rolldown-runtime-FhOqtrmT.js";import{C as n,S as r}from".
|
|
|
131
131
|
`?(r.push(e.slice(i,o)),i=o+1,s===`
|
|
132
132
|
`&&(n.push(r),r=[])):s===`"`&&(a=t.inString);break;case t.inString:s===`"`&&(a=t.inStringPostQuote);break;case t.inStringPostQuote:s===`"`?a=t.inString:s===` `||s===`
|
|
133
133
|
`?(r.push(No(e.slice(i,o))),i=o+1,s===`
|
|
134
|
-
`&&(n.push(r),r=[]),a=t.None):a=t.None;break}o++}return i<e.length&&r.push(No(e.slice(i,e.length))),n.push(r),n.map(e=>e.map(e=>({rawValue:e,formatted:e,format:`string`})))}function Fo(e,t,n){let r=Ao(e,t),i=e=>{window.navigator.clipboard?.writeText(e)},a=(e,t)=>window.navigator.clipboard?.write===void 0?!1:(window.navigator.clipboard.write([new ClipboardItem({"text/plain":new Blob([e],{type:`text/plain`}),"text/html":new Blob([t],{type:`text/html`})})]),!0);window.navigator.clipboard?.write!==void 0||n?.clipboardData!==void 0?((e,t)=>{try{if(n===void 0||n.clipboardData===null)throw Error(`No clipboard data`);n?.clipboardData?.setData(`text/plain`,e),n?.clipboardData?.setData(`text/html`,t)}catch{a(e,t)||i(e)}})(r.textPlain,r.textHtml):i(r.textPlain),n?.preventDefault()}function Io(e){return e!==!0}function Lo(e){return typeof e==`string`?e:`${e}px`}var Ro=()=>e=>e.innerWidth,zo=()=>e=>e.innerHeight,Bo=je(`div`)({name:`Wrapper`,class:`gdg-wmyidgi`,propsAsIs:!1,vars:{"wmyidgi-0":[Ro()],"wmyidgi-1":[zo()]}}),Vo=e=>{let{inWidth:t,inHeight:n,children:r,...i}=e;return q.createElement(Bo,{innerHeight:Lo(n),innerWidth:Lo(t),...i},r)},Ho=2,Uo=1300;function Wo(e,t,n){let r=q.useRef(0),[i,a]=e??[0,0];q.useEffect(()=>{if(i===0&&a===0){r.current=0;return}let e=!1,o=0,s=c=>{if(!e){if(o===0)o=c;else{let e=c-o;r.current=Math.min(1,r.current+e/Uo);let s=r.current**1.618*e*Ho;t.current?.scrollBy(i*s,a*s),o=c,n?.()}window.requestAnimationFrame(s)}};return window.requestAnimationFrame(s),()=>{e=!0}},[t,i,a,n])}function Go({rowHeight:e,headerHeight:t,groupHeaderHeight:n,theme:r,overscrollX:i,overscrollY:a,scaleToRem:o,remSize:s}){let[c,l,u,d,f,p]=q.useMemo(()=>{if(!o||s===16)return[e,t,n,r,i,a];let c=s/16,l=e,u=Ae();return[typeof l==`number`?l*c:e=>Math.ceil(l(e)*c),Math.ceil(t*c),Math.ceil(n*c),{...r,headerIconSize:(r?.headerIconSize??u.headerIconSize)*c,cellHorizontalPadding:(r?.cellHorizontalPadding??u.cellHorizontalPadding)*c,cellVerticalPadding:(r?.cellVerticalPadding??u.cellVerticalPadding)*c},Math.ceil((i??0)*c),Math.ceil((a??0)*c)]},[n,t,i,a,s,e,o,r]);return{rowHeight:c,headerHeight:l,groupHeaderHeight:u,theme:d,overscrollX:f,overscrollY:p}}var Ko={downFill:!1,rightFill:!1,clear:!0,closeOverlay:!0,acceptOverlayDown:!0,acceptOverlayUp:!0,acceptOverlayLeft:!0,acceptOverlayRight:!0,copy:!0,paste:!0,cut:!0,search:!1,delete:!0,activateCell:!0,scrollToSelectedCell:!0,goToFirstCell:!0,goToFirstColumn:!0,goToFirstRow:!0,goToLastCell:!0,goToLastColumn:!0,goToLastRow:!0,goToNextPage:!0,goToPreviousPage:!0,selectToFirstCell:!0,selectToFirstColumn:!0,selectToFirstRow:!0,selectToLastCell:!0,selectToLastColumn:!0,selectToLastRow:!0,selectAll:!0,selectRow:!0,selectColumn:!0,goUpCell:!0,goRightCell:!0,goDownCell:!0,goLeftCell:!0,goUpCellRetainSelection:!0,goRightCellRetainSelection:!0,goDownCellRetainSelection:!0,goLeftCellRetainSelection:!0,selectGrowUp:!0,selectGrowRight:!0,selectGrowDown:!0,selectGrowLeft:!0};function $(e,t){return e===!0?t:e===!1?``:e}function qo(e){let t=Ha.value;return{activateCell:$(e.activateCell,` |Enter|shift+Enter`),clear:$(e.clear,`any+Escape`),closeOverlay:$(e.closeOverlay,`any+Escape`),acceptOverlayDown:$(e.acceptOverlayDown,`Enter`),acceptOverlayUp:$(e.acceptOverlayUp,`shift+Enter`),acceptOverlayLeft:$(e.acceptOverlayLeft,`shift+Tab`),acceptOverlayRight:$(e.acceptOverlayRight,`Tab`),copy:e.copy,cut:e.cut,delete:$(e.delete,t?`Backspace|Delete`:`Delete`),downFill:$(e.downFill,`primary+_68`),scrollToSelectedCell:$(e.scrollToSelectedCell,`primary+Enter`),goDownCell:$(e.goDownCell,`ArrowDown`),goDownCellRetainSelection:$(e.goDownCellRetainSelection,`alt+ArrowDown`),goLeftCell:$(e.goLeftCell,`ArrowLeft|shift+Tab`),goLeftCellRetainSelection:$(e.goLeftCellRetainSelection,`alt+ArrowLeft`),goRightCell:$(e.goRightCell,`ArrowRight|Tab`),goRightCellRetainSelection:$(e.goRightCellRetainSelection,`alt+ArrowRight`),goUpCell:$(e.goUpCell,`ArrowUp`),goUpCellRetainSelection:$(e.goUpCellRetainSelection,`alt+ArrowUp`),goToFirstCell:$(e.goToFirstCell,`primary+Home`),goToFirstColumn:$(e.goToFirstColumn,`Home|primary+ArrowLeft`),goToFirstRow:$(e.goToFirstRow,`primary+ArrowUp`),goToLastCell:$(e.goToLastCell,`primary+End`),goToLastColumn:$(e.goToLastColumn,`End|primary+ArrowRight`),goToLastRow:$(e.goToLastRow,`primary+ArrowDown`),goToNextPage:$(e.goToNextPage,`PageDown`),goToPreviousPage:$(e.goToPreviousPage,`PageUp`),paste:e.paste,rightFill:$(e.rightFill,`primary+_82`),search:$(e.search,`primary+f`),selectAll:$(e.selectAll,`primary+a`),selectColumn:$(e.selectColumn,`ctrl+ `),selectGrowDown:$(e.selectGrowDown,`shift+ArrowDown`),selectGrowLeft:$(e.selectGrowLeft,`shift+ArrowLeft`),selectGrowRight:$(e.selectGrowRight,`shift+ArrowRight`),selectGrowUp:$(e.selectGrowUp,`shift+ArrowUp`),selectRow:$(e.selectRow,`shift+ `),selectToFirstCell:$(e.selectToFirstCell,`primary+shift+Home`),selectToFirstColumn:$(e.selectToFirstColumn,`primary+shift+ArrowLeft`),selectToFirstRow:$(e.selectToFirstRow,`primary+shift+ArrowUp`),selectToLastCell:$(e.selectToLastCell,`primary+shift+End`),selectToLastColumn:$(e.selectToLastColumn,`primary+shift+ArrowRight`),selectToLastRow:$(e.selectToLastRow,`primary+shift+ArrowDown`)}}function Jo(e){let t=Ht(e);return q.useMemo(()=>{if(t===void 0)return qo(Ko);let e={...t,goToNextPage:t?.goToNextPage??t?.pageDown??Ko.goToNextPage,goToPreviousPage:t?.goToPreviousPage??t?.pageUp??Ko.goToPreviousPage,goToFirstCell:t?.goToFirstCell??t?.first??Ko.goToFirstCell,goToLastCell:t?.goToLastCell??t?.last??Ko.goToLastCell,selectToFirstCell:t?.selectToFirstCell??t?.first??Ko.selectToFirstCell,selectToLastCell:t?.selectToLastCell??t?.last??Ko.selectToLastCell};return qo({...Ko,...e})},[t])}var Yo=e(_r(),1),Xo=e(xr(),1),Zo=q.lazy(async()=>await D(()=>import(`./data-grid-overlay-editor-D4fhcMfT.js`),__vite__mapDeps([0,1,2,3,4,5]))),Qo=0;function $o(e){return(0,Yo.default)((0,Xo.default)((0,Xo.default)(e).filter(e=>e.span!==void 0).map(e=>(0,Ya.default)((e.span?.[0]??0)+1,(e.span?.[1]??0)+1))))}function es(e,t){return e===void 0||t===0||e.columns.length===0&&e.current===void 0?e:{current:e.current===void 0?void 0:{cell:[e.current.cell[0]+t,e.current.cell[1]],range:{...e.current.range,x:e.current.range.x+t},rangeStack:e.current.rangeStack.map(e=>({...e,x:e.x+t}))},rows:e.rows,columns:e.columns.offset(t)}}var ts={kind:W.Loading,allowOverlay:!1},ns={columns:K.empty(),rows:K.empty(),current:void 0},rs=q.forwardRef((e,t)=>{let[n,r]=q.useState(ns),[i,a]=q.useState(),o=q.useRef(null),s=q.useRef(null),[c,l]=q.useState(),u=q.useRef(null),d=q.useRef(),f=typeof window>`u`?null:window,{imageEditorOverride:p,getRowThemeOverride:m,markdownDivCreateNode:h,width:g,height:_,columns:v,rows:y,getCellContent:b,onCellClicked:x,onCellActivated:S,onFillPattern:C,onFinishedEditing:w,coercePasteValue:T,drawHeader:E,drawCell:D,editorBloom:O,onHeaderClicked:k,onColumnProposeMove:A,spanRangeBehavior:ee=`default`,onGroupHeaderClicked:te,onCellContextMenu:j,className:M,onHeaderContextMenu:re,getCellsForSelection:N,onGroupHeaderContextMenu:P,onGroupHeaderRenamed:ae,onCellEdited:F,onCellsEdited:se,onSearchResultsChanged:ce,searchResults:I,onSearchValueChange:le,searchValue:ue,onKeyDown:de,onKeyUp:me,keybindings:he,editOnType:ge=!0,onRowAppended:_e,onColumnMoved:ve,validateCell:ye,highlightRegions:B,rangeSelect:V=`rect`,columnSelect:H=`multi`,rowSelect:xe=`multi`,rangeSelectionBlending:Se=`exclusive`,columnSelectionBlending:Ce=`exclusive`,rowSelectionBlending:Te=`exclusive`,onDelete:Ee,onDragStart:De,onMouseMove:Oe,onPaste:ke,copyHeaders:je=!1,freezeColumns:Me=0,cellActivationBehavior:Ne=`second-click`,rowSelectionMode:Pe=`auto`,onHeaderMenuClick:Fe,getGroupDetails:Ie,onSearchClose:Le,onItemHovered:Re,onSelectionCleared:ze,showSearch:Be,onVisibleRegionChanged:Ve,gridSelection:He,onGridSelectionChange:Ue,minColumnWidth:We=50,maxColumnWidth:Ge=500,maxColumnAutoWidth:Ke,provideEditor:qe,trailingRowOptions:Je,freezeTrailingRows:Ye=0,allowedFillDirections:Xe=`orthogonal`,scrollOffsetX:Ze,scrollOffsetY:J,verticalBorder:Qe,onDragOverCell:$e,onDrop:et,onColumnResize:tt,onColumnResizeEnd:nt,onColumnResizeStart:rt,customRenderers:it,fillHandle:at,drawFocusRing:ot=!0,experimental:st,fixedShadowX:ct,fixedShadowY:lt,headerIcons:ut,imageWindowLoader:dt,initialSize:ft,isDraggable:pt,onDragLeave:mt,onRowMoved:ht,overscrollX:gt,overscrollY:_t,preventDiagonalScrolling:vt,rightElement:yt,rightElementProps:bt,trapFocus:xt=!1,smoothScrollX:St,smoothScrollY:Et,scaleToRem:Dt=!1,rowHeight:Ot=34,headerHeight:kt=36,groupHeaderHeight:At=kt,theme:jt,isOutsideClick:Mt,renderers:Nt}=e,Pt=typeof e.rowMarkers==`string`?void 0:e.rowMarkers,Ft=Pt?.kind??e.rowMarkers??`none`,It=Pt?.width??e.rowMarkerWidth,Lt=Pt?.startIndex??e.rowMarkerStartIndex??1,zt=Pt?.theme??e.rowMarkerTheme,Vt=Pt?.checkboxStyle??`square`,Ht=Math.max(We,20),Ut=Math.max(Ge,Ht),Wt=Math.max(Ke??Ut,Ht),Gt=q.useMemo(()=>typeof window>`u`?{fontSize:`16px`}:window.getComputedStyle(document.documentElement),[]),{rowHeight:Kt,headerHeight:qt,groupHeaderHeight:Jt,theme:Yt,overscrollX:Xt,overscrollY:Zt}=Go({groupHeaderHeight:At,headerHeight:kt,overscrollX:gt,overscrollY:_t,remSize:q.useMemo(()=>Number.parseFloat(Gt.fontSize),[Gt]),rowHeight:Ot,scaleToRem:Dt,theme:jt}),Qt=Jo(he),$t=It??(y>1e4?48:y>1e3?44:y>100?36:32),en=Ft!==`none`,Y=en?1:0,tn=_e!==void 0,nn=Je?.sticky===!0,[rn,an]=q.useState(!1),on=Be??rn,sn=q.useCallback(()=>{Le===void 0?an(!1):Le()},[Le]),X=q.useMemo(()=>He===void 0?void 0:es(He,Y),[He,Y])??n,fn=q.useRef();fn.current===void 0&&(fn.current=new AbortController),q.useEffect(()=>()=>fn?.current.abort(),[]);let[pn,mn]=xo(N,b,Y,fn.current,y),hn=q.useCallback((e,t,n)=>{if(ye===void 0)return!0;let r=[e[0]-Y,e[1]];return ye?.(r,t,n)},[Y,ye]),gn=q.useRef(He),vn=q.useCallback((e,t)=>{t&&(e=Mo(e,pn,Y,ee,fn.current)),Ue===void 0?r(e):(gn.current=es(e,-Y),Ue(gn.current))},[Ue,pn,Y,ee]),yn=Tt(tt,q.useCallback((e,t,n,r)=>{tt?.(v[n-Y],t,n-Y,r)},[tt,Y,v])),bn=Tt(nt,q.useCallback((e,t,n,r)=>{nt?.(v[n-Y],t,n-Y,r)},[nt,Y,v])),xn=Tt(rt,q.useCallback((e,t,n,r)=>{rt?.(v[n-Y],t,n-Y,r)},[rt,Y,v])),Sn=Tt(E,q.useCallback((e,t)=>E?.({...e,columnIndex:e.columnIndex-Y},t)??!1,[E,Y])),Cn=Tt(D,q.useCallback((e,t)=>D?.({...e,col:e.col-Y},t)??!1,[D,Y])),wn=q.useCallback(e=>{if(Ee!==void 0){let t=Ee(es(e,-Y));return typeof t==`boolean`?t:es(t,Y)}return!0},[Ee,Y]),[Tn,En,Dn]=bo(X,vn,Se,Ce,Te,V),On=q.useMemo(()=>fe(Ae(),Yt),[Yt]),[kn,An]=q.useState([0,0,0]),jn=q.useMemo(()=>{if(Nt===void 0)return{};let e={};for(let t of Nt)e[t.kind]=t;return e},[Nt]),Mn=q.useCallback(e=>e.kind===W.Custom?it?.find(t=>t.isMatch(e)):jn[e.kind],[it,jn]),{sizedColumns:Nn,nonGrowWidth:Pn}=$n(v,y,mn,kn[0]-(Y===0?0:$t)-kn[2],Ht,Wt,On,Mn,fn.current);Ft!==`none`&&(Pn+=$t);let Fn=q.useMemo(()=>Nn.some(e=>e.group!==void 0),[Nn]),In=Fn?qt+Jt:qt,Ln=X.rows.length,Rn=Ft===`none`?void 0:Ln===0?!1:Ln===y?!0:void 0,Z=q.useMemo(()=>Ft===`none`?Nn:[{title:``,width:$t,icon:void 0,hasMenu:!1,style:`normal`,themeOverride:zt,rowMarker:Vt,rowMarkerChecked:Rn},...Nn],[Ft,Nn,$t,zt,Vt,Rn]),[zn,Bn]=q.useMemo(()=>[J!==void 0&&typeof Kt==`number`?Math.floor(J/Kt):0,J!==void 0&&typeof Kt==`number`?-(J%Kt):0],[J,Kt]),Vn=q.useRef({height:1,width:1,x:0,y:0}),Hn=q.useMemo(()=>({x:Vn.current.x,y:zn,width:Vn.current.width??1,height:Vn.current.height??1,ty:Bn}),[Bn,zn]),Un=q.useRef(!1),[Wn,Gn,Kn]=Bt(Hn);Vn.current=Wn;let qn=(Wn.height??1)>1;q.useLayoutEffect(()=>{if(J!==void 0&&u.current!==null&&qn){if(u.current.scrollTop===J)return;u.current.scrollTop=J,u.current.scrollTop!==J&&Kn(),Un.current=!0}},[J,qn,Kn]);let Jn=(Wn.width??1)>1;q.useLayoutEffect(()=>{if(Ze!==void 0&&u.current!==null&&Jn){if(u.current.scrollLeft===Ze)return;u.current.scrollLeft=Ze,u.current.scrollLeft!==Ze&&Kn(),Un.current=!0}},[Ze,Jn,Kn]);let Yn=Wn.x+Y,Xn=Wn.y,Zn=q.useRef(null),er=q.useCallback(e=>{e===!0?Zn.current?.focus():window.requestAnimationFrame(()=>{Zn.current?.focus()})},[]),tr=tn?y+1:y,nr=q.useCallback(e=>{let t=Y===0?e:e.map(e=>({...e,location:[e.location[0]-Y,e.location[1]]})),n=se?.(t);if(n!==!0)for(let e of t)F?.(e.location,e.value);return n},[F,se,Y]),[rr,ir]=q.useState(),ar=X.current!==void 0&&X.current.range.width*X.current.range.height>1?X.current.range:void 0,or=ot?X.current?.cell:void 0,sr=or?.[0],cr=or?.[1],lr=q.useMemo(()=>{if((B===void 0||B.length===0)&&(ar??sr??cr??rr)===void 0)return;let e=[];if(B!==void 0)for(let t of B){let n=Z.length-t.range.x-Y;n>0&&e.push({color:t.color,range:{...t.range,x:t.range.x+Y,width:Math.min(n,t.range.width)},style:t.style})}return rr!==void 0&&e.push({color:pe(On.accentColor,0),range:rr,style:`dashed`}),ar!==void 0&&e.push({color:pe(On.accentColor,.5),range:ar,style:`solid-outline`}),sr!==void 0&&cr!==void 0&&e.push({color:On.accentColor,range:{x:sr,y:cr,width:1,height:1},style:`solid-outline`}),e.length>0?e:void 0},[rr,ar,sr,cr,B,Z.length,On.accentColor,Y]),ur=q.useRef(Z);ur.current=Z;let dr=q.useCallback(([e,t],n=!1)=>{let r=tn&&t===tr-1;if(e===0&&en)return r?ts:{kind:be.Marker,allowOverlay:!1,checkboxStyle:Vt,checked:X?.rows.hasIndex(t)===!0,markerKind:Ft===`clickable-number`?`number`:Ft,row:Lt+t,drawHandle:ht!==void 0,cursor:Ft===`clickable-number`?`pointer`:void 0};if(r){let t=e===Y?Je?.hint??``:``,n=ur.current[e];if(n?.trailingRowOptions?.disabled===!0)return ts;{let e=n?.trailingRowOptions?.hint??t,r=n?.trailingRowOptions?.addIcon??Je?.addIcon;return{kind:be.NewRow,hint:e,allowOverlay:!1,icon:r}}}else{let r=e-Y;if(n||st?.strict===!0){let e=Vn.current,n=e.x>r||r>e.x+e.width||e.y>t||t>e.y+e.height||t>=yr.current,i=r===e.extras?.selected?.[0]&&t===e.extras?.selected[1],a=!1;if(e.extras?.freezeRegions!==void 0){for(let n of e.extras.freezeRegions)if(Gr(n,r,t)){a=!0;break}}if(n&&!i&&!a)return ts}let i=b([r,t]);return Y!==0&&i.span!==void 0&&(i={...i,span:[i.span[0]+Y,i.span[1]+Y]}),i}},[tn,tr,en,Vt,X?.rows,Ft,Lt,ht,Y,Je?.hint,Je?.addIcon,st?.strict,b]),fr=q.useCallback(e=>{let t=Ie?.(e)??{name:e};return ae!==void 0&&e!==``&&(t={icon:t.icon,name:t.name,overrideTheme:t.overrideTheme,actions:[...t.actions??[],{title:`Rename`,icon:`renameIcon`,onClick:e=>Mr({group:t.name,bounds:e.bounds})}]}),t},[Ie,ae]),pr=q.useCallback(e=>{let[t,n]=e.cell,r=Z[t],i=r?.group===void 0?void 0:fr(r.group)?.overrideTheme,o=r?.themeOverride,s=m?.(n);a({...e,theme:fe(On,i,o,s,e.content.themeOverride)})},[m,Z,fr,On]),mr=q.useCallback((e,t,n)=>{if(X.current===void 0)return;let[r,i]=X.current.cell,a=dr([r,i]);if(a.kind!==W.Boolean&&a.allowOverlay){let t=a;if(n!==void 0)switch(t.kind){case W.Number:{let e=oe(()=>n===`-`?-0:Number.parseFloat(n),0);t={...t,data:Number.isNaN(e)?0:e};break}case W.Text:case W.Markdown:case W.Uri:t={...t,data:n};break}pr({target:e,content:t,initialValue:n,cell:[r,i],highlight:n===void 0,forceEditMode:n!==void 0})}else a.kind===W.Boolean&&t&&a.readonly!==!0&&(nr([{location:X.current.cell,value:{...a,data:Io(a.data)}}]),Zn.current?.damage([{cell:X.current.cell}]))},[dr,X,nr,pr]),hr=q.useCallback((e,t)=>{let n=Zn.current?.getBounds(e,t);if(n===void 0||u.current===null)return;let r=dr([e,t]);r.allowOverlay&&pr({target:n,content:r,initialValue:void 0,highlight:!0,cell:[e,t],forceEditMode:!0})},[dr,pr]),gr=q.useCallback((e,t,n=`both`,r=0,i=0,a=void 0)=>{if(u.current!==null){let o=Zn.current,c=s.current,l=typeof e==`number`?e:e.unit===`cell`?e.amount:void 0,d=typeof t==`number`?t:t.unit===`cell`?t.amount:void 0,f=typeof e!=`number`&&e.unit===`px`?e.amount:void 0,p=typeof t!=`number`&&t.unit===`px`?t.amount:void 0;if(o!==null&&c!==null){let s={x:0,y:0,width:0,height:0},m=0,h=0;if((l!==void 0||d!==void 0)&&(s=o.getBounds((l??0)+Y,d??0)??s,s.width===0||s.height===0))return;let g=c.getBoundingClientRect(),_=g.width/c.offsetWidth;if(f!==void 0&&(s={...s,x:f-g.left-u.current.scrollLeft,width:1}),p!==void 0&&(s={...s,y:p+g.top-u.current.scrollTop,height:1}),s!==void 0){let o={x:s.x-r,y:s.y-i,width:s.width+2*r,height:s.height+2*i},c=0;for(let e=0;e<Me;e++)c+=Nn[e].width;let l=0,d=Ye+(nn?1:0);d>0&&(l=_n(tr,d,Kt));let f=c*_+g.left+Y*$t*_,p=g.right,v=g.top+In*_,y=g.bottom-l*_,b=s.width+r*2;switch(a?.hAlign){case`start`:p=f+b;break;case`end`:f=p-b;break;case`center`:f=Math.floor((f+p)/2)-b/2,p=f+b;break}let x=s.height+i*2;switch(a?.vAlign){case`start`:y=v+x;break;case`end`:v=y-x;break;case`center`:v=Math.floor((v+y)/2)-x/2,y=v+x;break}f>o.x?m=o.x-f:p<o.x+o.width&&(m=o.x+o.width-p),v>o.y?h=o.y-v:y<o.y+o.height&&(h=o.y+o.height-y),n===`vertical`||typeof e==`number`&&e<Me?m=0:(n===`horizontal`||typeof t==`number`&&t>=tr-d)&&(h=0),(m!==0||h!==0)&&(_!==1&&(m/=_,h/=_),u.current.scrollTo(m+u.current.scrollLeft,h+u.current.scrollTop))}}}},[Y,Ye,$t,In,Me,Nn,tr,nn,Kt]),_r=q.useRef(hr),vr=q.useRef(b),yr=q.useRef(y);_r.current=hr,vr.current=b,yr.current=y;let br=q.useCallback(async(e,t=!0)=>{if(Z[e]?.trailingRowOptions?.disabled===!0)return;let n=_e?.(),r,i=!0;n!==void 0&&(r=await n,r===`top`&&(i=!1),typeof r==`number`&&(i=!1));let a=0,o=()=>{if(yr.current<=y){a<500&&window.setTimeout(o,a),a=50+a*2;return}let n=typeof r==`number`?r:i?y:0;hi.current(e-Y,n),Tn({cell:[e,n],range:{x:e,y:n,width:1,height:1}},!1,!1,`edit`);let s=vr.current([e-Y,n]);s.allowOverlay&&U(s)&&s.readonly!==!0&&t&&window.setTimeout(()=>{_r.current(e,n)},0)};o()},[Z,_e,Y,y,Tn]),xr=q.useCallback(e=>{let t=Nn[e]?.trailingRowOptions?.targetColumn??Je?.targetColumn;if(typeof t==`number`)return t+(en?1:0);if(typeof t==`object`){let e=v.indexOf(t);if(e>=0)return e+(en?1:0)}},[Nn,v,en,Je?.targetColumn]),Sr=q.useRef(),Cr=q.useRef(),wr=q.useCallback((e,t)=>{let[n,r]=t;return fe(On,Z[n]?.themeOverride,m?.(r),e.themeOverride)},[m,Z,On]),Tr=q.useCallback(e=>{let t=Ha.value?e.metaKey:e.ctrlKey,n=t&&xe===`multi`,r=t&&H===`multi`,[i,o]=e.location,s=X.columns,c=X.rows,[l,u]=X.current?.cell??[];if(e.kind===`cell`){if(Cr.current=void 0,Dr.current=[i,o],i===0&&en){if(tn===!0&&o===y||Ft===`number`||xe===`none`)return;let r=dr(e.location);if(r.kind!==be.Marker)return;if(ht!==void 0){let t=Mn(r);L(t?.kind===be.Marker);let n=t?.onClick?.({...e,cell:r,posX:e.localEventX,posY:e.localEventY,bounds:e.bounds,theme:wr(r,e.location),preventDefault:()=>void 0});if(n===void 0||n.checked===r.checked)return}a(void 0),er();let i=c.hasIndex(o),s=Sr.current;if(xe===`multi`&&(e.shiftKey||e.isLongTouch===!0)&&s!==void 0&&c.hasIndex(s)){let e=[Math.min(s,o),Math.max(s,o)+1];n||Pe===`multi`?En(void 0,e,!0):En(K.fromSingleSelection(e),void 0,n)}else n||e.isTouch||Pe===`multi`?i?En(c.remove(o),void 0,!0):(En(void 0,o,!0),Sr.current=o):i&&c.length===1?En(K.empty(),void 0,t):(En(K.fromSingleSelection(o),void 0,t),Sr.current=o)}else if(i>=Y&&tn&&o===y)br(xr(i)??i);else if(l!==i||u!==o){let n=dr(e.location),r=Mn(n);if(r?.onSelect!==void 0){let t=!1;if(r.onSelect({...e,cell:n,posX:e.localEventX,posY:e.localEventY,bounds:e.bounds,preventDefault:()=>t=!0,theme:wr(n,e.location)}),t)return}let s=nn&&o===y,c=nn&&X!==void 0&&X.current?.cell[1]===y;if((e.shiftKey||e.isLongTouch===!0)&&l!==void 0&&u!==void 0&&X.current!==void 0&&!c){if(s)return;let e=Math.min(i,l),n=Math.max(i,l),r=Math.min(o,u),a=Math.max(o,u);Tn({...X.current,range:{x:e,y:r,width:n-e+1,height:a-r+1}},!0,t,`click`),Sr.current=void 0,er()}else Tn({cell:[i,o],range:{x:i,y:o,width:1,height:1}},!0,t,`click`),Sr.current=void 0,a(void 0),er()}}else if(e.kind===`header`)if(Dr.current=[i,o],a(void 0),en&&i===0)Sr.current=void 0,Cr.current=void 0,xe===`multi`&&(c.length===y?En(K.empty(),void 0,t):En(K.fromSingleSelection([0,y]),void 0,t),er());else{let n=Cr.current;if(H===`multi`&&(e.shiftKey||e.isLongTouch===!0)&&n!==void 0&&s.hasIndex(n)){let e=[Math.min(n,i),Math.max(n,i)+1];r?Dn(void 0,e,t):Dn(K.fromSingleSelection(e),void 0,t)}else r?(s.hasIndex(i)?Dn(s.remove(i),void 0,t):Dn(void 0,i,t),Cr.current=i):H!==`none`&&(Dn(K.fromSingleSelection(i),void 0,t),Cr.current=i);Sr.current=void 0,er()}else e.kind===`group-header`?Dr.current=[i,o]:e.kind===`out-of-bounds`&&!e.isMaybeScrollbar&&(vn(ns,!1),a(void 0),er(),ze?.(),Sr.current=void 0,Cr.current=void 0)},[br,H,er,Mn,xr,dr,X,en,nn,ze,ht,Y,Ft,xe,Pe,y,Tn,vn,Dn,En,tn,wr]),Er=q.useRef(!1),Dr=q.useRef(),Or=q.useRef(Wn),kr=q.useRef(),Ar=q.useCallback(e=>{if(Pr.current=!1,Or.current=Vn.current,e.button!==0&&e.button!==1){kr.current=void 0;return}let t=performance.now();kr.current={button:e.button,time:t,location:e.location},e?.kind===`header`&&(Er.current=!0);let n=e.kind===`cell`&&e.isFillHandle;!n&&e.kind!==`cell`&&e.isEdge||(l({previousSelection:X,fillHandle:n}),Dr.current=void 0,!e.isTouch&&e.button===0&&!n?Tr(e):!e.isTouch&&e.button===1&&(Dr.current=e.location))},[X,Tr]),[jr,Mr]=q.useState(),Nr=q.useCallback(e=>{if(e.kind!==`group-header`||H!==`multi`)return;let t=Ha.value?e.metaKey:e.ctrlKey,[n]=e.location,r=X.columns;if(n<Y)return;let i=Z[n],a=n,o=n;for(let e=n-1;e>=Y&&ln(i.group,Z[e].group);e--)a--;for(let e=n+1;e<Z.length&&ln(i.group,Z[e].group);e++)o++;if(er(),t)if(r.hasAll([a,o+1])){let e=r;for(let t=a;t<=o;t++)e=e.remove(t);Dn(e,void 0,t)}else Dn(void 0,[a,o+1],t);else Dn(K.fromSingleSelection([a,o+1]),void 0,t)},[H,er,X.columns,Z,Y,Dn]),Pr=q.useRef(!1),Fr=q.useCallback(async e=>{if(pn!==void 0&&yn!==void 0){let t=Vn.current.y,n=Vn.current.height,r=pn({x:e,y:t,width:1,height:Math.min(n,y-t)},fn.current.signal);typeof r!=`object`&&(r=await r());let i=Nn[e-Y],a=document.createElement(`canvas`).getContext(`2d`,{alpha:!1});if(a!==null){a.font=On.baseFontFull;let t=Qn(a,On,i,0,r,Ht,Ut,!1,Mn);yn?.(i,t.width,e,t.width)}}},[Nn,pn,Ut,On,Ht,yn,Y,y,Mn]),[Ir,Lr]=q.useState(),Rr=q.useCallback(async(e,t)=>{let n=e.current?.range;if(n===void 0||pn===void 0||t.current===void 0)return;let r=t.current.range;if(C!==void 0){let e=!1;if(C({fillDestination:{...r,x:r.x-Y},patternSource:{...n,x:n.x-Y},preventDefault:()=>e=!0}),e)return}let i=pn(n,fn.current.signal);typeof i!=`object`&&(i=await i());let a=i,o=[];for(let e=0;e<r.width;e++)for(let t=0;t<r.height;t++){let i=[r.x+e,r.y+t];if(un(i,n))continue;let s=a[t%n.height][e%n.width];we(s)||!U(s)||o.push({location:i,value:{...s}})}nr(o),Zn.current?.damage(o.map(e=>({cell:e.location})))},[pn,nr,C,Y]),zr=q.useCallback(()=>{X.current===void 0||X.current.range.width<=1||Rr({...X,current:{...X.current,range:{...X.current.range,width:1}}},X)},[Rr,X]),Br=q.useCallback(()=>{X.current===void 0||X.current.range.height<=1||Rr({...X,current:{...X.current,range:{...X.current.range,height:1}}},X)},[Rr,X]),Vr=q.useCallback((e,t)=>{let n=c;if(l(void 0),ir(void 0),Lr(void 0),Er.current=!1,t)return;if(n?.fillHandle===!0&&X.current!==void 0&&n.previousSelection?.current!==void 0){if(rr===void 0)return;let e={...X,current:{...X.current,range:Kr(n.previousSelection.current.range,rr)}};Rr(n.previousSelection,e),vn(e,!0);return}let[r,i]=e.location,[a,o]=Dr.current??[],s=()=>{Pr.current=!0},u=t=>{let c=t.isTouch||a===r&&o===i;if(c&&x?.([r-Y,i],{...t,preventDefault:s}),t.button===1)return!Pr.current;if(!Pr.current){let a=dr(e.location),o=Mn(a);if(o!==void 0&&o.onClick!==void 0&&c){let n=o.onClick({...t,cell:a,posX:t.localEventX,posY:t.localEventY,bounds:t.bounds,theme:wr(a,e.location),preventDefault:s});n!==void 0&&!we(n)&&G(n)&&(nr([{location:t.location,value:n}]),Zn.current?.damage([{cell:t.location}]))}if(Pr.current||X.current===void 0)return!1;let l=!1;switch(a.activationBehaviorOverride??Ne){case`double-click`:case`second-click`:{if(n?.previousSelection?.current?.cell===void 0)break;let[e,a]=X.current.cell,[o,s]=n.previousSelection.current.cell;l=r===e&&r===o&&i===a&&i===s&&(t.isDoubleClick===!0||Ne===`second-click`);break}case`single-click`:l=!0;break}if(l)return S?.([r-Y,i]),mr(t.bounds,!1),!0}return!1},d=e.location[0]-Y;if(e.isTouch){let t=Vn.current,n=Or.current;if(t.x!==n.x||t.y!==n.y)return;if(e.isLongTouch===!0){if(e.kind===`cell`&&dn(X.current?.cell,e.location)){j?.([d,e.location[1]],{...e,preventDefault:s});return}else if(e.kind===`header`&&X.columns.hasIndex(r)){re?.(d,{...e,preventDefault:s});return}else if(e.kind===`group-header`){if(d<0)return;P?.(d,{...e,preventDefault:s});return}}e.kind===`cell`?u(e)||Tr(e):e.kind===`group-header`?te?.(d,{...e,preventDefault:s}):(e.kind===`header`&&k?.(d,{...e,preventDefault:s}),Tr(e));return}if(e.kind===`header`){if(d<0)return;e.isEdge?e.isDoubleClick===!0&&Fr(r):e.button===0&&r===a&&i===o&&k?.(d,{...e,preventDefault:s})}if(e.kind===`group-header`){if(d<0)return;e.button===0&&r===a&&i===o&&(te?.(d,{...e,preventDefault:s}),Pr.current||Nr(e))}e.kind===`cell`&&(e.button===0||e.button===1)&&u(e),Dr.current=void 0},[c,X,Y,rr,Rr,vn,x,dr,Mn,Ne,wr,nr,S,mr,j,re,P,Tr,te,k,Fr,Nr]),Hr=q.useCallback(e=>{let t={...e,location:[e.location[0]-Y,e.location[1]]};Oe?.(t),c!==void 0&&e.buttons===0&&(l(void 0),ir(void 0),Lr(void 0),Er.current=!1),Lr(t=>Er.current?[e.scrollEdge[0],0]:e.scrollEdge[0]===t?.[0]&&e.scrollEdge[1]===t[1]?t:c===void 0||(kr.current?.location[0]??0)<Y?void 0:e.scrollEdge)},[c,Oe,Y]),Wr=q.useCallback((e,t)=>{Fe?.(e-Y,t)},[Fe,Y]),qr=X?.current?.cell,Jr=q.useCallback((e,t,n,r,i,a)=>{Un.current=!1;let o=qr;o!==void 0&&(o=[o[0]-Y,o[1]]);let s=Me===0?void 0:{x:0,y:e.y,width:Me,height:e.height},c=[];s!==void 0&&c.push(s),Ye>0&&(c.push({x:e.x-Y,y:y-Ye,width:e.width,height:Ye}),Me>0&&c.push({x:0,y:y-Ye,width:Me,height:Ye}));let l={x:e.x-Y,y:e.y,width:e.width,height:tn&&e.y+e.height>=y?e.height-1:e.height,tx:i,ty:a,extras:{selected:o,freezeRegion:s,freezeRegions:c}};Vn.current=l,Gn(l),An([t,n,r]),Ve?.(l,l.tx,l.ty,l.extras)},[qr,Y,tn,y,Me,Ye,Gn,Ve]),Yr=Tt(ve,q.useCallback((e,t)=>{ve?.(e-Y,t-Y),H!==`none`&&Dn(K.fromSingleSelection(t),void 0,!0)},[H,ve,Y,Dn])),Xr=q.useRef(!1),Zr=q.useCallback(e=>{if(e.location[0]===0&&Y>0){e.preventDefault();return}De?.({...e,location:[e.location[0]-Y,e.location[1]]}),e.defaultPrevented()||(Xr.current=!0),l(void 0)},[De,Y]),Qr=q.useCallback(()=>{Xr.current=!1},[]),$r=q.useRef(),ei=q.useCallback(e=>{if(!Ja(e,$r.current)&&($r.current=e,!(kr?.current?.button!==void 0&&kr.current.button>=1))){if(e.buttons!==0&&c!==void 0&&kr.current?.location[0]===0&&e.location[0]===0&&Y===1&&xe===`multi`&&c.previousSelection&&!c.previousSelection.rows.hasIndex(kr.current.location[1])&&X.rows.hasIndex(kr.current.location[1])){let t=Math.min(kr.current.location[1],e.location[1]),n=Math.max(kr.current.location[1],e.location[1])+1;En(K.fromSingleSelection([t,n]),void 0,!1)}if(e.buttons!==0&&c!==void 0&&X.current!==void 0&&!Xr.current&&!Er.current&&(V===`rect`||V===`multi-rect`)){let[t,n]=X.current.cell,[r,i]=e.location;if(i<0&&(i=Vn.current.y),c.fillHandle===!0&&c.previousSelection?.current!==void 0){let e=c.previousSelection.current.range;i=Math.min(i,tn?y-1:y),ir(Ur(e,r,i,Xe))}else{if(tn&&n===y)return;if(tn&&i===y)if(e.kind===`out-of-bounds`)i--;else return;r=Math.max(r,Y);let a=r-t,o=i-n,s={x:a>=0?t:r,y:o>=0?n:i,width:Math.abs(a)+1,height:Math.abs(o)+1};Tn({...X.current,range:s},!0,!1,`drag`)}}Re?.({...e,location:[e.location[0]-Y,e.location[1]]})}},[Xe,c,Y,xe,X,V,Re,En,tn,y,Tn]);Wo(Ir,u,q.useCallback(()=>{let e=$r.current;if(e===void 0)return;let[t,n]=e.scrollEdge,[r,i]=e.location,a=Vn.current;t===-1?r=a.extras?.freezeRegion?.x??a.x:t===1&&(r=a.x+a.width),n===-1?i=Math.max(0,a.y):n===1&&(i=Math.min(y-1,a.y+a.height)),r=(0,Pa.default)(r,0,Z.length-1),i=(0,Pa.default)(i,0,y-1),ei({...e,location:[r,i]})},[Z.length,ei,y]));let ti=q.useCallback(e=>{if(X.current===void 0)return;let[t,n]=e,[r,i]=X.current.cell,a=X.current.range,o=a.x,s=a.x+a.width,c=a.y,l=a.y+a.height;if(n!==0)switch(n){case 2:l=y,c=i,gr(0,l,`vertical`);break;case-2:c=0,l=i+1,gr(0,c,`vertical`);break;case 1:c<i?(c++,gr(0,c,`vertical`)):(l=Math.min(y,l+1),gr(0,l,`vertical`));break;case-1:l>i+1?(l--,gr(0,l,`vertical`)):(c=Math.max(0,c-1),gr(0,c,`vertical`));break;default:ie(n)}if(t!==0)if(t===2)s=Z.length,o=r,gr(s-1-Y,0,`horizontal`);else if(t===-2)o=Y,s=r+1,gr(o-Y,0,`horizontal`);else{let e=[];if(pn!==void 0){let t=pn({x:o,y:c,width:s-o-Y,height:l-c},fn.current.signal);typeof t==`object`&&(e=$o(t))}if(t===1){let t=!1;if(o<r){if(e.length>0){let n=(0,Ya.default)(o+1,r+1).find(t=>!e.includes(t-Y));n!==void 0&&(o=n,t=!0)}else o++,t=!0;t&&gr(o,0,`horizontal`)}t||(s=Math.min(Z.length,s+1),gr(s-1-Y,0,`horizontal`))}else if(t===-1){let t=!1;if(s>r+1){if(e.length>0){let n=(0,Ya.default)(s-1,r,-1).find(t=>!e.includes(t-Y));n!==void 0&&(s=n,t=!0)}else s--,t=!0;t&&gr(s-Y,0,`horizontal`)}t||(o=Math.max(Y,o-1),gr(o-Y,0,`horizontal`))}else ie(t)}Tn({cell:X.current.cell,range:{x:o,y:c,width:s-o,height:l-c}},!0,!1,`keyboard-select`)},[pn,X,Z.length,Y,y,gr,Tn]),ni=q.useCallback((e,t,n,r)=>{let i=tr-(n?0:1);if(e=(0,Pa.default)(e,Y,Nn.length-1+Y),t=(0,Pa.default)(t,0,i),e===qr?.[0]&&t===qr?.[1])return!1;if(r&&X.current!==void 0){let n=[...X.current.rangeStack];(X.current.range.width>1||X.current.range.height>1)&&n.push(X.current.range),vn({...X,current:{cell:[e,t],range:{x:e,y:t,width:1,height:1},rangeStack:n}},!0)}else Tn({cell:[e,t],range:{x:e,y:t,width:1,height:1}},!0,!1,`keyboard-nav`);return d.current!==void 0&&d.current[0]===e&&d.current[1]===t&&(d.current=void 0),gr(e-Y,t),!0},[tr,Y,Nn.length,qr,X,gr,vn,Tn]),ri=q.useCallback((e,t)=>{i?.cell!==void 0&&e!==void 0&&G(e)&&(nr([{location:i.cell,value:e}]),window.requestAnimationFrame(()=>{Zn.current?.damage([{cell:i.cell}])})),er(!0),a(void 0);let[n,r]=t;if(X.current!==void 0&&(n!==0||r!==0)){let t=X.current.cell[1]===tr-1&&e!==void 0;ni((0,Pa.default)(X.current.cell[0]+n,0,Z.length-1),(0,Pa.default)(X.current.cell[1]+r,0,tr-1),t,!1)}w?.(e,t)},[i?.cell,er,X,w,nr,tr,ni,Z.length]),ii=q.useMemo(()=>`gdg-overlay-${Qo++}`,[]),ai=q.useCallback(e=>{er();let t=[];for(let n=e.x;n<e.x+e.width;n++)for(let r=e.y;r<e.y+e.height;r++){let e=b([n-Y,r]);if(!e.allowOverlay&&e.kind!==W.Boolean)continue;let i;if(e.kind===W.Custom){let t=Mn(e),n=t?.provideEditor?.(e);t?.onDelete===void 0?z(n)&&(i=n?.deletedValue?.(e)):i=t.onDelete(e)}else (G(e)&&e.allowOverlay||e.kind===W.Boolean)&&(i=Mn(e)?.onDelete?.(e));i!==void 0&&!we(i)&&G(i)&&t.push({location:[n,r],value:i})}nr(t),Zn.current?.damage(t.map(e=>({cell:e.location})))},[er,b,Mn,nr,Y]),oi=i!==void 0,si=q.useCallback(e=>{let t=()=>{e.stopPropagation(),e.preventDefault()},n={didMatch:!1},{bounds:r}=e,i=X.columns,s=X.rows,c=Qt;if(!oi&&Q(c.clear,e,n))vn(ns,!1),ze?.();else if(!oi&&Q(c.selectAll,e,n))vn({columns:K.empty(),rows:K.empty(),current:{cell:X.current?.cell??[Y,0],range:{x:Y,y:0,width:v.length,height:y},rangeStack:[]}},!1);else if(Q(c.search,e,n))o?.current?.focus({preventScroll:!0}),an(!0);else if(Q(c.delete,e,n)){let e=wn?.(X)??!0;if(e!==!1){let t=e===!0?X:e;if(t.current!==void 0){ai(t.current.range);for(let e of t.current.rangeStack)ai(e)}for(let e of t.rows)ai({x:Y,y:e,width:v.length,height:1});for(let e of t.columns)ai({x:e,y:0,width:1,height:y})}}if(n.didMatch)return t(),!0;if(X.current===void 0)return!1;let[l,u]=X.current.cell,d=!1,f=!1;Q(c.scrollToSelectedCell,e,n)?hi.current(l-Y,u):H!==`none`&&Q(c.selectColumn,e,n)?i.hasIndex(l)?Dn(i.remove(l),void 0,!0):H===`single`?Dn(K.fromSingleSelection(l),void 0,!0):Dn(void 0,l,!0):xe!==`none`&&Q(c.selectRow,e,n)?s.hasIndex(u)?En(s.remove(u),void 0,!0):xe===`single`?En(K.fromSingleSelection(u),void 0,!0):En(void 0,u,!0):!oi&&r!==void 0&&Q(c.activateCell,e,n)?u===y&&tn?window.setTimeout(()=>{br(xr(l)??l)},0):(S?.([l-Y,u]),mr(r,!0)):X.current.range.height>1&&Q(c.downFill,e,n)?Br():X.current.range.width>1&&Q(c.rightFill,e,n)?zr():Q(c.goToNextPage,e,n)?u+=Math.max(1,Vn.current.height-4):Q(c.goToPreviousPage,e,n)?u-=Math.max(1,Vn.current.height-4):Q(c.goToFirstCell,e,n)?(a(void 0),u=0,l=0):Q(c.goToLastCell,e,n)?(a(void 0),u=2**53-1,l=2**53-1):Q(c.selectToFirstCell,e,n)?(a(void 0),ti([-2,-2])):Q(c.selectToLastCell,e,n)?(a(void 0),ti([2,2])):oi?(Q(c.closeOverlay,e,n)&&a(void 0),Q(c.acceptOverlayDown,e,n)&&(a(void 0),u++),Q(c.acceptOverlayUp,e,n)&&(a(void 0),u--),Q(c.acceptOverlayLeft,e,n)&&(a(void 0),l--),Q(c.acceptOverlayRight,e,n)&&(a(void 0),l++)):(Q(c.goDownCell,e,n)?u+=1:Q(c.goUpCell,e,n)?--u:Q(c.goRightCell,e,n)?l+=1:Q(c.goLeftCell,e,n)?--l:Q(c.goDownCellRetainSelection,e,n)?(u+=1,d=!0):Q(c.goUpCellRetainSelection,e,n)?(--u,d=!0):Q(c.goRightCellRetainSelection,e,n)?(l+=1,d=!0):Q(c.goLeftCellRetainSelection,e,n)?(--l,d=!0):Q(c.goToLastRow,e,n)?u=y-1:Q(c.goToFirstRow,e,n)?u=-(2**53-1):Q(c.goToLastColumn,e,n)?l=2**53-1:Q(c.goToFirstColumn,e,n)?l=-(2**53-1):(V===`rect`||V===`multi-rect`)&&(Q(c.selectGrowDown,e,n)?ti([0,1]):Q(c.selectGrowUp,e,n)?ti([0,-1]):Q(c.selectGrowRight,e,n)?ti([1,0]):Q(c.selectGrowLeft,e,n)?ti([-1,0]):Q(c.selectToLastRow,e,n)?ti([0,2]):Q(c.selectToFirstRow,e,n)?ti([0,-2]):Q(c.selectToLastColumn,e,n)?ti([2,0]):Q(c.selectToFirstColumn,e,n)&&ti([-2,0])),f=n.didMatch);let p=ni(l,u,!1,d),m=n.didMatch;return m&&(p||!f||xt)&&t(),m},[oi,X,Qt,H,xe,V,Y,y,ni,vn,ze,v.length,wn,xt,ai,Dn,En,tn,xr,br,S,mr,Br,zr,ti]),ci=q.useCallback(e=>{let t=!1;if(de!==void 0&&de({...e,cancel:()=>{t=!0}}),t||si(e)||X.current===void 0)return;let[n,r]=X.current.cell,i=Vn.current;if(ge&&!e.metaKey&&!e.ctrlKey&&X.current!==void 0&&e.key.length===1&&/[ -~]/g.test(e.key)&&e.bounds!==void 0&&U(b([n-Y,Math.max(0,Math.min(r,y-1))]))){if((!tn||r!==y)&&(i.y>r||r>i.y+i.height||i.x>n||n>i.x+i.width))return;mr(e.bounds,!0,e.key),e.stopPropagation(),e.preventDefault()}},[ge,de,si,X,b,Y,y,tn,mr]),li=q.useCallback((e,t)=>{let n=e.location[0]-Y;if(e.kind===`header`&&re?.(n,{...e,preventDefault:t}),e.kind===`group-header`){if(n<0)return;P?.(n,{...e,preventDefault:t})}if(e.kind===`cell`){let[r,i]=e.location;j?.([n,i],{...e,preventDefault:t}),cn(X,e.location)||ni(r,i,!1,!1)}},[X,j,P,re,Y,ni]),ui=q.useCallback(async e=>{if(!Qt.paste)return;function t(e,t,n,r){let i=typeof n==`object`?n?.join(`
|
|
134
|
+
`&&(n.push(r),r=[]),a=t.None):a=t.None;break}o++}return i<e.length&&r.push(No(e.slice(i,e.length))),n.push(r),n.map(e=>e.map(e=>({rawValue:e,formatted:e,format:`string`})))}function Fo(e,t,n){let r=Ao(e,t),i=e=>{window.navigator.clipboard?.writeText(e)},a=(e,t)=>window.navigator.clipboard?.write===void 0?!1:(window.navigator.clipboard.write([new ClipboardItem({"text/plain":new Blob([e],{type:`text/plain`}),"text/html":new Blob([t],{type:`text/html`})})]),!0);window.navigator.clipboard?.write!==void 0||n?.clipboardData!==void 0?((e,t)=>{try{if(n===void 0||n.clipboardData===null)throw Error(`No clipboard data`);n?.clipboardData?.setData(`text/plain`,e),n?.clipboardData?.setData(`text/html`,t)}catch{a(e,t)||i(e)}})(r.textPlain,r.textHtml):i(r.textPlain),n?.preventDefault()}function Io(e){return e!==!0}function Lo(e){return typeof e==`string`?e:`${e}px`}var Ro=()=>e=>e.innerWidth,zo=()=>e=>e.innerHeight,Bo=je(`div`)({name:`Wrapper`,class:`gdg-wmyidgi`,propsAsIs:!1,vars:{"wmyidgi-0":[Ro()],"wmyidgi-1":[zo()]}}),Vo=e=>{let{inWidth:t,inHeight:n,children:r,...i}=e;return q.createElement(Bo,{innerHeight:Lo(n),innerWidth:Lo(t),...i},r)},Ho=2,Uo=1300;function Wo(e,t,n){let r=q.useRef(0),[i,a]=e??[0,0];q.useEffect(()=>{if(i===0&&a===0){r.current=0;return}let e=!1,o=0,s=c=>{if(!e){if(o===0)o=c;else{let e=c-o;r.current=Math.min(1,r.current+e/Uo);let s=r.current**1.618*e*Ho;t.current?.scrollBy(i*s,a*s),o=c,n?.()}window.requestAnimationFrame(s)}};return window.requestAnimationFrame(s),()=>{e=!0}},[t,i,a,n])}function Go({rowHeight:e,headerHeight:t,groupHeaderHeight:n,theme:r,overscrollX:i,overscrollY:a,scaleToRem:o,remSize:s}){let[c,l,u,d,f,p]=q.useMemo(()=>{if(!o||s===16)return[e,t,n,r,i,a];let c=s/16,l=e,u=Ae();return[typeof l==`number`?l*c:e=>Math.ceil(l(e)*c),Math.ceil(t*c),Math.ceil(n*c),{...r,headerIconSize:(r?.headerIconSize??u.headerIconSize)*c,cellHorizontalPadding:(r?.cellHorizontalPadding??u.cellHorizontalPadding)*c,cellVerticalPadding:(r?.cellVerticalPadding??u.cellVerticalPadding)*c},Math.ceil((i??0)*c),Math.ceil((a??0)*c)]},[n,t,i,a,s,e,o,r]);return{rowHeight:c,headerHeight:l,groupHeaderHeight:u,theme:d,overscrollX:f,overscrollY:p}}var Ko={downFill:!1,rightFill:!1,clear:!0,closeOverlay:!0,acceptOverlayDown:!0,acceptOverlayUp:!0,acceptOverlayLeft:!0,acceptOverlayRight:!0,copy:!0,paste:!0,cut:!0,search:!1,delete:!0,activateCell:!0,scrollToSelectedCell:!0,goToFirstCell:!0,goToFirstColumn:!0,goToFirstRow:!0,goToLastCell:!0,goToLastColumn:!0,goToLastRow:!0,goToNextPage:!0,goToPreviousPage:!0,selectToFirstCell:!0,selectToFirstColumn:!0,selectToFirstRow:!0,selectToLastCell:!0,selectToLastColumn:!0,selectToLastRow:!0,selectAll:!0,selectRow:!0,selectColumn:!0,goUpCell:!0,goRightCell:!0,goDownCell:!0,goLeftCell:!0,goUpCellRetainSelection:!0,goRightCellRetainSelection:!0,goDownCellRetainSelection:!0,goLeftCellRetainSelection:!0,selectGrowUp:!0,selectGrowRight:!0,selectGrowDown:!0,selectGrowLeft:!0};function $(e,t){return e===!0?t:e===!1?``:e}function qo(e){let t=Ha.value;return{activateCell:$(e.activateCell,` |Enter|shift+Enter`),clear:$(e.clear,`any+Escape`),closeOverlay:$(e.closeOverlay,`any+Escape`),acceptOverlayDown:$(e.acceptOverlayDown,`Enter`),acceptOverlayUp:$(e.acceptOverlayUp,`shift+Enter`),acceptOverlayLeft:$(e.acceptOverlayLeft,`shift+Tab`),acceptOverlayRight:$(e.acceptOverlayRight,`Tab`),copy:e.copy,cut:e.cut,delete:$(e.delete,t?`Backspace|Delete`:`Delete`),downFill:$(e.downFill,`primary+_68`),scrollToSelectedCell:$(e.scrollToSelectedCell,`primary+Enter`),goDownCell:$(e.goDownCell,`ArrowDown`),goDownCellRetainSelection:$(e.goDownCellRetainSelection,`alt+ArrowDown`),goLeftCell:$(e.goLeftCell,`ArrowLeft|shift+Tab`),goLeftCellRetainSelection:$(e.goLeftCellRetainSelection,`alt+ArrowLeft`),goRightCell:$(e.goRightCell,`ArrowRight|Tab`),goRightCellRetainSelection:$(e.goRightCellRetainSelection,`alt+ArrowRight`),goUpCell:$(e.goUpCell,`ArrowUp`),goUpCellRetainSelection:$(e.goUpCellRetainSelection,`alt+ArrowUp`),goToFirstCell:$(e.goToFirstCell,`primary+Home`),goToFirstColumn:$(e.goToFirstColumn,`Home|primary+ArrowLeft`),goToFirstRow:$(e.goToFirstRow,`primary+ArrowUp`),goToLastCell:$(e.goToLastCell,`primary+End`),goToLastColumn:$(e.goToLastColumn,`End|primary+ArrowRight`),goToLastRow:$(e.goToLastRow,`primary+ArrowDown`),goToNextPage:$(e.goToNextPage,`PageDown`),goToPreviousPage:$(e.goToPreviousPage,`PageUp`),paste:e.paste,rightFill:$(e.rightFill,`primary+_82`),search:$(e.search,`primary+f`),selectAll:$(e.selectAll,`primary+a`),selectColumn:$(e.selectColumn,`ctrl+ `),selectGrowDown:$(e.selectGrowDown,`shift+ArrowDown`),selectGrowLeft:$(e.selectGrowLeft,`shift+ArrowLeft`),selectGrowRight:$(e.selectGrowRight,`shift+ArrowRight`),selectGrowUp:$(e.selectGrowUp,`shift+ArrowUp`),selectRow:$(e.selectRow,`shift+ `),selectToFirstCell:$(e.selectToFirstCell,`primary+shift+Home`),selectToFirstColumn:$(e.selectToFirstColumn,`primary+shift+ArrowLeft`),selectToFirstRow:$(e.selectToFirstRow,`primary+shift+ArrowUp`),selectToLastCell:$(e.selectToLastCell,`primary+shift+End`),selectToLastColumn:$(e.selectToLastColumn,`primary+shift+ArrowRight`),selectToLastRow:$(e.selectToLastRow,`primary+shift+ArrowDown`)}}function Jo(e){let t=Ht(e);return q.useMemo(()=>{if(t===void 0)return qo(Ko);let e={...t,goToNextPage:t?.goToNextPage??t?.pageDown??Ko.goToNextPage,goToPreviousPage:t?.goToPreviousPage??t?.pageUp??Ko.goToPreviousPage,goToFirstCell:t?.goToFirstCell??t?.first??Ko.goToFirstCell,goToLastCell:t?.goToLastCell??t?.last??Ko.goToLastCell,selectToFirstCell:t?.selectToFirstCell??t?.first??Ko.selectToFirstCell,selectToLastCell:t?.selectToLastCell??t?.last??Ko.selectToLastCell};return qo({...Ko,...e})},[t])}var Yo=e(_r(),1),Xo=e(xr(),1),Zo=q.lazy(async()=>await D(()=>import(`./data-grid-overlay-editor-6xUCeLHh.js`),__vite__mapDeps([0,1,2,3,4,5]))),Qo=0;function $o(e){return(0,Yo.default)((0,Xo.default)((0,Xo.default)(e).filter(e=>e.span!==void 0).map(e=>(0,Ya.default)((e.span?.[0]??0)+1,(e.span?.[1]??0)+1))))}function es(e,t){return e===void 0||t===0||e.columns.length===0&&e.current===void 0?e:{current:e.current===void 0?void 0:{cell:[e.current.cell[0]+t,e.current.cell[1]],range:{...e.current.range,x:e.current.range.x+t},rangeStack:e.current.rangeStack.map(e=>({...e,x:e.x+t}))},rows:e.rows,columns:e.columns.offset(t)}}var ts={kind:W.Loading,allowOverlay:!1},ns={columns:K.empty(),rows:K.empty(),current:void 0},rs=q.forwardRef((e,t)=>{let[n,r]=q.useState(ns),[i,a]=q.useState(),o=q.useRef(null),s=q.useRef(null),[c,l]=q.useState(),u=q.useRef(null),d=q.useRef(),f=typeof window>`u`?null:window,{imageEditorOverride:p,getRowThemeOverride:m,markdownDivCreateNode:h,width:g,height:_,columns:v,rows:y,getCellContent:b,onCellClicked:x,onCellActivated:S,onFillPattern:C,onFinishedEditing:w,coercePasteValue:T,drawHeader:E,drawCell:D,editorBloom:O,onHeaderClicked:k,onColumnProposeMove:A,spanRangeBehavior:ee=`default`,onGroupHeaderClicked:te,onCellContextMenu:j,className:M,onHeaderContextMenu:re,getCellsForSelection:N,onGroupHeaderContextMenu:P,onGroupHeaderRenamed:ae,onCellEdited:F,onCellsEdited:se,onSearchResultsChanged:ce,searchResults:I,onSearchValueChange:le,searchValue:ue,onKeyDown:de,onKeyUp:me,keybindings:he,editOnType:ge=!0,onRowAppended:_e,onColumnMoved:ve,validateCell:ye,highlightRegions:B,rangeSelect:V=`rect`,columnSelect:H=`multi`,rowSelect:xe=`multi`,rangeSelectionBlending:Se=`exclusive`,columnSelectionBlending:Ce=`exclusive`,rowSelectionBlending:Te=`exclusive`,onDelete:Ee,onDragStart:De,onMouseMove:Oe,onPaste:ke,copyHeaders:je=!1,freezeColumns:Me=0,cellActivationBehavior:Ne=`second-click`,rowSelectionMode:Pe=`auto`,onHeaderMenuClick:Fe,getGroupDetails:Ie,onSearchClose:Le,onItemHovered:Re,onSelectionCleared:ze,showSearch:Be,onVisibleRegionChanged:Ve,gridSelection:He,onGridSelectionChange:Ue,minColumnWidth:We=50,maxColumnWidth:Ge=500,maxColumnAutoWidth:Ke,provideEditor:qe,trailingRowOptions:Je,freezeTrailingRows:Ye=0,allowedFillDirections:Xe=`orthogonal`,scrollOffsetX:Ze,scrollOffsetY:J,verticalBorder:Qe,onDragOverCell:$e,onDrop:et,onColumnResize:tt,onColumnResizeEnd:nt,onColumnResizeStart:rt,customRenderers:it,fillHandle:at,drawFocusRing:ot=!0,experimental:st,fixedShadowX:ct,fixedShadowY:lt,headerIcons:ut,imageWindowLoader:dt,initialSize:ft,isDraggable:pt,onDragLeave:mt,onRowMoved:ht,overscrollX:gt,overscrollY:_t,preventDiagonalScrolling:vt,rightElement:yt,rightElementProps:bt,trapFocus:xt=!1,smoothScrollX:St,smoothScrollY:Et,scaleToRem:Dt=!1,rowHeight:Ot=34,headerHeight:kt=36,groupHeaderHeight:At=kt,theme:jt,isOutsideClick:Mt,renderers:Nt}=e,Pt=typeof e.rowMarkers==`string`?void 0:e.rowMarkers,Ft=Pt?.kind??e.rowMarkers??`none`,It=Pt?.width??e.rowMarkerWidth,Lt=Pt?.startIndex??e.rowMarkerStartIndex??1,zt=Pt?.theme??e.rowMarkerTheme,Vt=Pt?.checkboxStyle??`square`,Ht=Math.max(We,20),Ut=Math.max(Ge,Ht),Wt=Math.max(Ke??Ut,Ht),Gt=q.useMemo(()=>typeof window>`u`?{fontSize:`16px`}:window.getComputedStyle(document.documentElement),[]),{rowHeight:Kt,headerHeight:qt,groupHeaderHeight:Jt,theme:Yt,overscrollX:Xt,overscrollY:Zt}=Go({groupHeaderHeight:At,headerHeight:kt,overscrollX:gt,overscrollY:_t,remSize:q.useMemo(()=>Number.parseFloat(Gt.fontSize),[Gt]),rowHeight:Ot,scaleToRem:Dt,theme:jt}),Qt=Jo(he),$t=It??(y>1e4?48:y>1e3?44:y>100?36:32),en=Ft!==`none`,Y=en?1:0,tn=_e!==void 0,nn=Je?.sticky===!0,[rn,an]=q.useState(!1),on=Be??rn,sn=q.useCallback(()=>{Le===void 0?an(!1):Le()},[Le]),X=q.useMemo(()=>He===void 0?void 0:es(He,Y),[He,Y])??n,fn=q.useRef();fn.current===void 0&&(fn.current=new AbortController),q.useEffect(()=>()=>fn?.current.abort(),[]);let[pn,mn]=xo(N,b,Y,fn.current,y),hn=q.useCallback((e,t,n)=>{if(ye===void 0)return!0;let r=[e[0]-Y,e[1]];return ye?.(r,t,n)},[Y,ye]),gn=q.useRef(He),vn=q.useCallback((e,t)=>{t&&(e=Mo(e,pn,Y,ee,fn.current)),Ue===void 0?r(e):(gn.current=es(e,-Y),Ue(gn.current))},[Ue,pn,Y,ee]),yn=Tt(tt,q.useCallback((e,t,n,r)=>{tt?.(v[n-Y],t,n-Y,r)},[tt,Y,v])),bn=Tt(nt,q.useCallback((e,t,n,r)=>{nt?.(v[n-Y],t,n-Y,r)},[nt,Y,v])),xn=Tt(rt,q.useCallback((e,t,n,r)=>{rt?.(v[n-Y],t,n-Y,r)},[rt,Y,v])),Sn=Tt(E,q.useCallback((e,t)=>E?.({...e,columnIndex:e.columnIndex-Y},t)??!1,[E,Y])),Cn=Tt(D,q.useCallback((e,t)=>D?.({...e,col:e.col-Y},t)??!1,[D,Y])),wn=q.useCallback(e=>{if(Ee!==void 0){let t=Ee(es(e,-Y));return typeof t==`boolean`?t:es(t,Y)}return!0},[Ee,Y]),[Tn,En,Dn]=bo(X,vn,Se,Ce,Te,V),On=q.useMemo(()=>fe(Ae(),Yt),[Yt]),[kn,An]=q.useState([0,0,0]),jn=q.useMemo(()=>{if(Nt===void 0)return{};let e={};for(let t of Nt)e[t.kind]=t;return e},[Nt]),Mn=q.useCallback(e=>e.kind===W.Custom?it?.find(t=>t.isMatch(e)):jn[e.kind],[it,jn]),{sizedColumns:Nn,nonGrowWidth:Pn}=$n(v,y,mn,kn[0]-(Y===0?0:$t)-kn[2],Ht,Wt,On,Mn,fn.current);Ft!==`none`&&(Pn+=$t);let Fn=q.useMemo(()=>Nn.some(e=>e.group!==void 0),[Nn]),In=Fn?qt+Jt:qt,Ln=X.rows.length,Rn=Ft===`none`?void 0:Ln===0?!1:Ln===y?!0:void 0,Z=q.useMemo(()=>Ft===`none`?Nn:[{title:``,width:$t,icon:void 0,hasMenu:!1,style:`normal`,themeOverride:zt,rowMarker:Vt,rowMarkerChecked:Rn},...Nn],[Ft,Nn,$t,zt,Vt,Rn]),[zn,Bn]=q.useMemo(()=>[J!==void 0&&typeof Kt==`number`?Math.floor(J/Kt):0,J!==void 0&&typeof Kt==`number`?-(J%Kt):0],[J,Kt]),Vn=q.useRef({height:1,width:1,x:0,y:0}),Hn=q.useMemo(()=>({x:Vn.current.x,y:zn,width:Vn.current.width??1,height:Vn.current.height??1,ty:Bn}),[Bn,zn]),Un=q.useRef(!1),[Wn,Gn,Kn]=Bt(Hn);Vn.current=Wn;let qn=(Wn.height??1)>1;q.useLayoutEffect(()=>{if(J!==void 0&&u.current!==null&&qn){if(u.current.scrollTop===J)return;u.current.scrollTop=J,u.current.scrollTop!==J&&Kn(),Un.current=!0}},[J,qn,Kn]);let Jn=(Wn.width??1)>1;q.useLayoutEffect(()=>{if(Ze!==void 0&&u.current!==null&&Jn){if(u.current.scrollLeft===Ze)return;u.current.scrollLeft=Ze,u.current.scrollLeft!==Ze&&Kn(),Un.current=!0}},[Ze,Jn,Kn]);let Yn=Wn.x+Y,Xn=Wn.y,Zn=q.useRef(null),er=q.useCallback(e=>{e===!0?Zn.current?.focus():window.requestAnimationFrame(()=>{Zn.current?.focus()})},[]),tr=tn?y+1:y,nr=q.useCallback(e=>{let t=Y===0?e:e.map(e=>({...e,location:[e.location[0]-Y,e.location[1]]})),n=se?.(t);if(n!==!0)for(let e of t)F?.(e.location,e.value);return n},[F,se,Y]),[rr,ir]=q.useState(),ar=X.current!==void 0&&X.current.range.width*X.current.range.height>1?X.current.range:void 0,or=ot?X.current?.cell:void 0,sr=or?.[0],cr=or?.[1],lr=q.useMemo(()=>{if((B===void 0||B.length===0)&&(ar??sr??cr??rr)===void 0)return;let e=[];if(B!==void 0)for(let t of B){let n=Z.length-t.range.x-Y;n>0&&e.push({color:t.color,range:{...t.range,x:t.range.x+Y,width:Math.min(n,t.range.width)},style:t.style})}return rr!==void 0&&e.push({color:pe(On.accentColor,0),range:rr,style:`dashed`}),ar!==void 0&&e.push({color:pe(On.accentColor,.5),range:ar,style:`solid-outline`}),sr!==void 0&&cr!==void 0&&e.push({color:On.accentColor,range:{x:sr,y:cr,width:1,height:1},style:`solid-outline`}),e.length>0?e:void 0},[rr,ar,sr,cr,B,Z.length,On.accentColor,Y]),ur=q.useRef(Z);ur.current=Z;let dr=q.useCallback(([e,t],n=!1)=>{let r=tn&&t===tr-1;if(e===0&&en)return r?ts:{kind:be.Marker,allowOverlay:!1,checkboxStyle:Vt,checked:X?.rows.hasIndex(t)===!0,markerKind:Ft===`clickable-number`?`number`:Ft,row:Lt+t,drawHandle:ht!==void 0,cursor:Ft===`clickable-number`?`pointer`:void 0};if(r){let t=e===Y?Je?.hint??``:``,n=ur.current[e];if(n?.trailingRowOptions?.disabled===!0)return ts;{let e=n?.trailingRowOptions?.hint??t,r=n?.trailingRowOptions?.addIcon??Je?.addIcon;return{kind:be.NewRow,hint:e,allowOverlay:!1,icon:r}}}else{let r=e-Y;if(n||st?.strict===!0){let e=Vn.current,n=e.x>r||r>e.x+e.width||e.y>t||t>e.y+e.height||t>=yr.current,i=r===e.extras?.selected?.[0]&&t===e.extras?.selected[1],a=!1;if(e.extras?.freezeRegions!==void 0){for(let n of e.extras.freezeRegions)if(Gr(n,r,t)){a=!0;break}}if(n&&!i&&!a)return ts}let i=b([r,t]);return Y!==0&&i.span!==void 0&&(i={...i,span:[i.span[0]+Y,i.span[1]+Y]}),i}},[tn,tr,en,Vt,X?.rows,Ft,Lt,ht,Y,Je?.hint,Je?.addIcon,st?.strict,b]),fr=q.useCallback(e=>{let t=Ie?.(e)??{name:e};return ae!==void 0&&e!==``&&(t={icon:t.icon,name:t.name,overrideTheme:t.overrideTheme,actions:[...t.actions??[],{title:`Rename`,icon:`renameIcon`,onClick:e=>Mr({group:t.name,bounds:e.bounds})}]}),t},[Ie,ae]),pr=q.useCallback(e=>{let[t,n]=e.cell,r=Z[t],i=r?.group===void 0?void 0:fr(r.group)?.overrideTheme,o=r?.themeOverride,s=m?.(n);a({...e,theme:fe(On,i,o,s,e.content.themeOverride)})},[m,Z,fr,On]),mr=q.useCallback((e,t,n)=>{if(X.current===void 0)return;let[r,i]=X.current.cell,a=dr([r,i]);if(a.kind!==W.Boolean&&a.allowOverlay){let t=a;if(n!==void 0)switch(t.kind){case W.Number:{let e=oe(()=>n===`-`?-0:Number.parseFloat(n),0);t={...t,data:Number.isNaN(e)?0:e};break}case W.Text:case W.Markdown:case W.Uri:t={...t,data:n};break}pr({target:e,content:t,initialValue:n,cell:[r,i],highlight:n===void 0,forceEditMode:n!==void 0})}else a.kind===W.Boolean&&t&&a.readonly!==!0&&(nr([{location:X.current.cell,value:{...a,data:Io(a.data)}}]),Zn.current?.damage([{cell:X.current.cell}]))},[dr,X,nr,pr]),hr=q.useCallback((e,t)=>{let n=Zn.current?.getBounds(e,t);if(n===void 0||u.current===null)return;let r=dr([e,t]);r.allowOverlay&&pr({target:n,content:r,initialValue:void 0,highlight:!0,cell:[e,t],forceEditMode:!0})},[dr,pr]),gr=q.useCallback((e,t,n=`both`,r=0,i=0,a=void 0)=>{if(u.current!==null){let o=Zn.current,c=s.current,l=typeof e==`number`?e:e.unit===`cell`?e.amount:void 0,d=typeof t==`number`?t:t.unit===`cell`?t.amount:void 0,f=typeof e!=`number`&&e.unit===`px`?e.amount:void 0,p=typeof t!=`number`&&t.unit===`px`?t.amount:void 0;if(o!==null&&c!==null){let s={x:0,y:0,width:0,height:0},m=0,h=0;if((l!==void 0||d!==void 0)&&(s=o.getBounds((l??0)+Y,d??0)??s,s.width===0||s.height===0))return;let g=c.getBoundingClientRect(),_=g.width/c.offsetWidth;if(f!==void 0&&(s={...s,x:f-g.left-u.current.scrollLeft,width:1}),p!==void 0&&(s={...s,y:p+g.top-u.current.scrollTop,height:1}),s!==void 0){let o={x:s.x-r,y:s.y-i,width:s.width+2*r,height:s.height+2*i},c=0;for(let e=0;e<Me;e++)c+=Nn[e].width;let l=0,d=Ye+(nn?1:0);d>0&&(l=_n(tr,d,Kt));let f=c*_+g.left+Y*$t*_,p=g.right,v=g.top+In*_,y=g.bottom-l*_,b=s.width+r*2;switch(a?.hAlign){case`start`:p=f+b;break;case`end`:f=p-b;break;case`center`:f=Math.floor((f+p)/2)-b/2,p=f+b;break}let x=s.height+i*2;switch(a?.vAlign){case`start`:y=v+x;break;case`end`:v=y-x;break;case`center`:v=Math.floor((v+y)/2)-x/2,y=v+x;break}f>o.x?m=o.x-f:p<o.x+o.width&&(m=o.x+o.width-p),v>o.y?h=o.y-v:y<o.y+o.height&&(h=o.y+o.height-y),n===`vertical`||typeof e==`number`&&e<Me?m=0:(n===`horizontal`||typeof t==`number`&&t>=tr-d)&&(h=0),(m!==0||h!==0)&&(_!==1&&(m/=_,h/=_),u.current.scrollTo(m+u.current.scrollLeft,h+u.current.scrollTop))}}}},[Y,Ye,$t,In,Me,Nn,tr,nn,Kt]),_r=q.useRef(hr),vr=q.useRef(b),yr=q.useRef(y);_r.current=hr,vr.current=b,yr.current=y;let br=q.useCallback(async(e,t=!0)=>{if(Z[e]?.trailingRowOptions?.disabled===!0)return;let n=_e?.(),r,i=!0;n!==void 0&&(r=await n,r===`top`&&(i=!1),typeof r==`number`&&(i=!1));let a=0,o=()=>{if(yr.current<=y){a<500&&window.setTimeout(o,a),a=50+a*2;return}let n=typeof r==`number`?r:i?y:0;hi.current(e-Y,n),Tn({cell:[e,n],range:{x:e,y:n,width:1,height:1}},!1,!1,`edit`);let s=vr.current([e-Y,n]);s.allowOverlay&&U(s)&&s.readonly!==!0&&t&&window.setTimeout(()=>{_r.current(e,n)},0)};o()},[Z,_e,Y,y,Tn]),xr=q.useCallback(e=>{let t=Nn[e]?.trailingRowOptions?.targetColumn??Je?.targetColumn;if(typeof t==`number`)return t+(en?1:0);if(typeof t==`object`){let e=v.indexOf(t);if(e>=0)return e+(en?1:0)}},[Nn,v,en,Je?.targetColumn]),Sr=q.useRef(),Cr=q.useRef(),wr=q.useCallback((e,t)=>{let[n,r]=t;return fe(On,Z[n]?.themeOverride,m?.(r),e.themeOverride)},[m,Z,On]),Tr=q.useCallback(e=>{let t=Ha.value?e.metaKey:e.ctrlKey,n=t&&xe===`multi`,r=t&&H===`multi`,[i,o]=e.location,s=X.columns,c=X.rows,[l,u]=X.current?.cell??[];if(e.kind===`cell`){if(Cr.current=void 0,Dr.current=[i,o],i===0&&en){if(tn===!0&&o===y||Ft===`number`||xe===`none`)return;let r=dr(e.location);if(r.kind!==be.Marker)return;if(ht!==void 0){let t=Mn(r);L(t?.kind===be.Marker);let n=t?.onClick?.({...e,cell:r,posX:e.localEventX,posY:e.localEventY,bounds:e.bounds,theme:wr(r,e.location),preventDefault:()=>void 0});if(n===void 0||n.checked===r.checked)return}a(void 0),er();let i=c.hasIndex(o),s=Sr.current;if(xe===`multi`&&(e.shiftKey||e.isLongTouch===!0)&&s!==void 0&&c.hasIndex(s)){let e=[Math.min(s,o),Math.max(s,o)+1];n||Pe===`multi`?En(void 0,e,!0):En(K.fromSingleSelection(e),void 0,n)}else n||e.isTouch||Pe===`multi`?i?En(c.remove(o),void 0,!0):(En(void 0,o,!0),Sr.current=o):i&&c.length===1?En(K.empty(),void 0,t):(En(K.fromSingleSelection(o),void 0,t),Sr.current=o)}else if(i>=Y&&tn&&o===y)br(xr(i)??i);else if(l!==i||u!==o){let n=dr(e.location),r=Mn(n);if(r?.onSelect!==void 0){let t=!1;if(r.onSelect({...e,cell:n,posX:e.localEventX,posY:e.localEventY,bounds:e.bounds,preventDefault:()=>t=!0,theme:wr(n,e.location)}),t)return}let s=nn&&o===y,c=nn&&X!==void 0&&X.current?.cell[1]===y;if((e.shiftKey||e.isLongTouch===!0)&&l!==void 0&&u!==void 0&&X.current!==void 0&&!c){if(s)return;let e=Math.min(i,l),n=Math.max(i,l),r=Math.min(o,u),a=Math.max(o,u);Tn({...X.current,range:{x:e,y:r,width:n-e+1,height:a-r+1}},!0,t,`click`),Sr.current=void 0,er()}else Tn({cell:[i,o],range:{x:i,y:o,width:1,height:1}},!0,t,`click`),Sr.current=void 0,a(void 0),er()}}else if(e.kind===`header`)if(Dr.current=[i,o],a(void 0),en&&i===0)Sr.current=void 0,Cr.current=void 0,xe===`multi`&&(c.length===y?En(K.empty(),void 0,t):En(K.fromSingleSelection([0,y]),void 0,t),er());else{let n=Cr.current;if(H===`multi`&&(e.shiftKey||e.isLongTouch===!0)&&n!==void 0&&s.hasIndex(n)){let e=[Math.min(n,i),Math.max(n,i)+1];r?Dn(void 0,e,t):Dn(K.fromSingleSelection(e),void 0,t)}else r?(s.hasIndex(i)?Dn(s.remove(i),void 0,t):Dn(void 0,i,t),Cr.current=i):H!==`none`&&(Dn(K.fromSingleSelection(i),void 0,t),Cr.current=i);Sr.current=void 0,er()}else e.kind===`group-header`?Dr.current=[i,o]:e.kind===`out-of-bounds`&&!e.isMaybeScrollbar&&(vn(ns,!1),a(void 0),er(),ze?.(),Sr.current=void 0,Cr.current=void 0)},[br,H,er,Mn,xr,dr,X,en,nn,ze,ht,Y,Ft,xe,Pe,y,Tn,vn,Dn,En,tn,wr]),Er=q.useRef(!1),Dr=q.useRef(),Or=q.useRef(Wn),kr=q.useRef(),Ar=q.useCallback(e=>{if(Pr.current=!1,Or.current=Vn.current,e.button!==0&&e.button!==1){kr.current=void 0;return}let t=performance.now();kr.current={button:e.button,time:t,location:e.location},e?.kind===`header`&&(Er.current=!0);let n=e.kind===`cell`&&e.isFillHandle;!n&&e.kind!==`cell`&&e.isEdge||(l({previousSelection:X,fillHandle:n}),Dr.current=void 0,!e.isTouch&&e.button===0&&!n?Tr(e):!e.isTouch&&e.button===1&&(Dr.current=e.location))},[X,Tr]),[jr,Mr]=q.useState(),Nr=q.useCallback(e=>{if(e.kind!==`group-header`||H!==`multi`)return;let t=Ha.value?e.metaKey:e.ctrlKey,[n]=e.location,r=X.columns;if(n<Y)return;let i=Z[n],a=n,o=n;for(let e=n-1;e>=Y&&ln(i.group,Z[e].group);e--)a--;for(let e=n+1;e<Z.length&&ln(i.group,Z[e].group);e++)o++;if(er(),t)if(r.hasAll([a,o+1])){let e=r;for(let t=a;t<=o;t++)e=e.remove(t);Dn(e,void 0,t)}else Dn(void 0,[a,o+1],t);else Dn(K.fromSingleSelection([a,o+1]),void 0,t)},[H,er,X.columns,Z,Y,Dn]),Pr=q.useRef(!1),Fr=q.useCallback(async e=>{if(pn!==void 0&&yn!==void 0){let t=Vn.current.y,n=Vn.current.height,r=pn({x:e,y:t,width:1,height:Math.min(n,y-t)},fn.current.signal);typeof r!=`object`&&(r=await r());let i=Nn[e-Y],a=document.createElement(`canvas`).getContext(`2d`,{alpha:!1});if(a!==null){a.font=On.baseFontFull;let t=Qn(a,On,i,0,r,Ht,Ut,!1,Mn);yn?.(i,t.width,e,t.width)}}},[Nn,pn,Ut,On,Ht,yn,Y,y,Mn]),[Ir,Lr]=q.useState(),Rr=q.useCallback(async(e,t)=>{let n=e.current?.range;if(n===void 0||pn===void 0||t.current===void 0)return;let r=t.current.range;if(C!==void 0){let e=!1;if(C({fillDestination:{...r,x:r.x-Y},patternSource:{...n,x:n.x-Y},preventDefault:()=>e=!0}),e)return}let i=pn(n,fn.current.signal);typeof i!=`object`&&(i=await i());let a=i,o=[];for(let e=0;e<r.width;e++)for(let t=0;t<r.height;t++){let i=[r.x+e,r.y+t];if(un(i,n))continue;let s=a[t%n.height][e%n.width];we(s)||!U(s)||o.push({location:i,value:{...s}})}nr(o),Zn.current?.damage(o.map(e=>({cell:e.location})))},[pn,nr,C,Y]),zr=q.useCallback(()=>{X.current===void 0||X.current.range.width<=1||Rr({...X,current:{...X.current,range:{...X.current.range,width:1}}},X)},[Rr,X]),Br=q.useCallback(()=>{X.current===void 0||X.current.range.height<=1||Rr({...X,current:{...X.current,range:{...X.current.range,height:1}}},X)},[Rr,X]),Vr=q.useCallback((e,t)=>{let n=c;if(l(void 0),ir(void 0),Lr(void 0),Er.current=!1,t)return;if(n?.fillHandle===!0&&X.current!==void 0&&n.previousSelection?.current!==void 0){if(rr===void 0)return;let e={...X,current:{...X.current,range:Kr(n.previousSelection.current.range,rr)}};Rr(n.previousSelection,e),vn(e,!0);return}let[r,i]=e.location,[a,o]=Dr.current??[],s=()=>{Pr.current=!0},u=t=>{let c=t.isTouch||a===r&&o===i;if(c&&x?.([r-Y,i],{...t,preventDefault:s}),t.button===1)return!Pr.current;if(!Pr.current){let a=dr(e.location),o=Mn(a);if(o!==void 0&&o.onClick!==void 0&&c){let n=o.onClick({...t,cell:a,posX:t.localEventX,posY:t.localEventY,bounds:t.bounds,theme:wr(a,e.location),preventDefault:s});n!==void 0&&!we(n)&&G(n)&&(nr([{location:t.location,value:n}]),Zn.current?.damage([{cell:t.location}]))}if(Pr.current||X.current===void 0)return!1;let l=!1;switch(a.activationBehaviorOverride??Ne){case`double-click`:case`second-click`:{if(n?.previousSelection?.current?.cell===void 0)break;let[e,a]=X.current.cell,[o,s]=n.previousSelection.current.cell;l=r===e&&r===o&&i===a&&i===s&&(t.isDoubleClick===!0||Ne===`second-click`);break}case`single-click`:l=!0;break}if(l)return S?.([r-Y,i]),mr(t.bounds,!1),!0}return!1},d=e.location[0]-Y;if(e.isTouch){let t=Vn.current,n=Or.current;if(t.x!==n.x||t.y!==n.y)return;if(e.isLongTouch===!0){if(e.kind===`cell`&&dn(X.current?.cell,e.location)){j?.([d,e.location[1]],{...e,preventDefault:s});return}else if(e.kind===`header`&&X.columns.hasIndex(r)){re?.(d,{...e,preventDefault:s});return}else if(e.kind===`group-header`){if(d<0)return;P?.(d,{...e,preventDefault:s});return}}e.kind===`cell`?u(e)||Tr(e):e.kind===`group-header`?te?.(d,{...e,preventDefault:s}):(e.kind===`header`&&k?.(d,{...e,preventDefault:s}),Tr(e));return}if(e.kind===`header`){if(d<0)return;e.isEdge?e.isDoubleClick===!0&&Fr(r):e.button===0&&r===a&&i===o&&k?.(d,{...e,preventDefault:s})}if(e.kind===`group-header`){if(d<0)return;e.button===0&&r===a&&i===o&&(te?.(d,{...e,preventDefault:s}),Pr.current||Nr(e))}e.kind===`cell`&&(e.button===0||e.button===1)&&u(e),Dr.current=void 0},[c,X,Y,rr,Rr,vn,x,dr,Mn,Ne,wr,nr,S,mr,j,re,P,Tr,te,k,Fr,Nr]),Hr=q.useCallback(e=>{let t={...e,location:[e.location[0]-Y,e.location[1]]};Oe?.(t),c!==void 0&&e.buttons===0&&(l(void 0),ir(void 0),Lr(void 0),Er.current=!1),Lr(t=>Er.current?[e.scrollEdge[0],0]:e.scrollEdge[0]===t?.[0]&&e.scrollEdge[1]===t[1]?t:c===void 0||(kr.current?.location[0]??0)<Y?void 0:e.scrollEdge)},[c,Oe,Y]),Wr=q.useCallback((e,t)=>{Fe?.(e-Y,t)},[Fe,Y]),qr=X?.current?.cell,Jr=q.useCallback((e,t,n,r,i,a)=>{Un.current=!1;let o=qr;o!==void 0&&(o=[o[0]-Y,o[1]]);let s=Me===0?void 0:{x:0,y:e.y,width:Me,height:e.height},c=[];s!==void 0&&c.push(s),Ye>0&&(c.push({x:e.x-Y,y:y-Ye,width:e.width,height:Ye}),Me>0&&c.push({x:0,y:y-Ye,width:Me,height:Ye}));let l={x:e.x-Y,y:e.y,width:e.width,height:tn&&e.y+e.height>=y?e.height-1:e.height,tx:i,ty:a,extras:{selected:o,freezeRegion:s,freezeRegions:c}};Vn.current=l,Gn(l),An([t,n,r]),Ve?.(l,l.tx,l.ty,l.extras)},[qr,Y,tn,y,Me,Ye,Gn,Ve]),Yr=Tt(ve,q.useCallback((e,t)=>{ve?.(e-Y,t-Y),H!==`none`&&Dn(K.fromSingleSelection(t),void 0,!0)},[H,ve,Y,Dn])),Xr=q.useRef(!1),Zr=q.useCallback(e=>{if(e.location[0]===0&&Y>0){e.preventDefault();return}De?.({...e,location:[e.location[0]-Y,e.location[1]]}),e.defaultPrevented()||(Xr.current=!0),l(void 0)},[De,Y]),Qr=q.useCallback(()=>{Xr.current=!1},[]),$r=q.useRef(),ei=q.useCallback(e=>{if(!Ja(e,$r.current)&&($r.current=e,!(kr?.current?.button!==void 0&&kr.current.button>=1))){if(e.buttons!==0&&c!==void 0&&kr.current?.location[0]===0&&e.location[0]===0&&Y===1&&xe===`multi`&&c.previousSelection&&!c.previousSelection.rows.hasIndex(kr.current.location[1])&&X.rows.hasIndex(kr.current.location[1])){let t=Math.min(kr.current.location[1],e.location[1]),n=Math.max(kr.current.location[1],e.location[1])+1;En(K.fromSingleSelection([t,n]),void 0,!1)}if(e.buttons!==0&&c!==void 0&&X.current!==void 0&&!Xr.current&&!Er.current&&(V===`rect`||V===`multi-rect`)){let[t,n]=X.current.cell,[r,i]=e.location;if(i<0&&(i=Vn.current.y),c.fillHandle===!0&&c.previousSelection?.current!==void 0){let e=c.previousSelection.current.range;i=Math.min(i,tn?y-1:y),ir(Ur(e,r,i,Xe))}else{if(tn&&n===y)return;if(tn&&i===y)if(e.kind===`out-of-bounds`)i--;else return;r=Math.max(r,Y);let a=r-t,o=i-n,s={x:a>=0?t:r,y:o>=0?n:i,width:Math.abs(a)+1,height:Math.abs(o)+1};Tn({...X.current,range:s},!0,!1,`drag`)}}Re?.({...e,location:[e.location[0]-Y,e.location[1]]})}},[Xe,c,Y,xe,X,V,Re,En,tn,y,Tn]);Wo(Ir,u,q.useCallback(()=>{let e=$r.current;if(e===void 0)return;let[t,n]=e.scrollEdge,[r,i]=e.location,a=Vn.current;t===-1?r=a.extras?.freezeRegion?.x??a.x:t===1&&(r=a.x+a.width),n===-1?i=Math.max(0,a.y):n===1&&(i=Math.min(y-1,a.y+a.height)),r=(0,Pa.default)(r,0,Z.length-1),i=(0,Pa.default)(i,0,y-1),ei({...e,location:[r,i]})},[Z.length,ei,y]));let ti=q.useCallback(e=>{if(X.current===void 0)return;let[t,n]=e,[r,i]=X.current.cell,a=X.current.range,o=a.x,s=a.x+a.width,c=a.y,l=a.y+a.height;if(n!==0)switch(n){case 2:l=y,c=i,gr(0,l,`vertical`);break;case-2:c=0,l=i+1,gr(0,c,`vertical`);break;case 1:c<i?(c++,gr(0,c,`vertical`)):(l=Math.min(y,l+1),gr(0,l,`vertical`));break;case-1:l>i+1?(l--,gr(0,l,`vertical`)):(c=Math.max(0,c-1),gr(0,c,`vertical`));break;default:ie(n)}if(t!==0)if(t===2)s=Z.length,o=r,gr(s-1-Y,0,`horizontal`);else if(t===-2)o=Y,s=r+1,gr(o-Y,0,`horizontal`);else{let e=[];if(pn!==void 0){let t=pn({x:o,y:c,width:s-o-Y,height:l-c},fn.current.signal);typeof t==`object`&&(e=$o(t))}if(t===1){let t=!1;if(o<r){if(e.length>0){let n=(0,Ya.default)(o+1,r+1).find(t=>!e.includes(t-Y));n!==void 0&&(o=n,t=!0)}else o++,t=!0;t&&gr(o,0,`horizontal`)}t||(s=Math.min(Z.length,s+1),gr(s-1-Y,0,`horizontal`))}else if(t===-1){let t=!1;if(s>r+1){if(e.length>0){let n=(0,Ya.default)(s-1,r,-1).find(t=>!e.includes(t-Y));n!==void 0&&(s=n,t=!0)}else s--,t=!0;t&&gr(s-Y,0,`horizontal`)}t||(o=Math.max(Y,o-1),gr(o-Y,0,`horizontal`))}else ie(t)}Tn({cell:X.current.cell,range:{x:o,y:c,width:s-o,height:l-c}},!0,!1,`keyboard-select`)},[pn,X,Z.length,Y,y,gr,Tn]),ni=q.useCallback((e,t,n,r)=>{let i=tr-(n?0:1);if(e=(0,Pa.default)(e,Y,Nn.length-1+Y),t=(0,Pa.default)(t,0,i),e===qr?.[0]&&t===qr?.[1])return!1;if(r&&X.current!==void 0){let n=[...X.current.rangeStack];(X.current.range.width>1||X.current.range.height>1)&&n.push(X.current.range),vn({...X,current:{cell:[e,t],range:{x:e,y:t,width:1,height:1},rangeStack:n}},!0)}else Tn({cell:[e,t],range:{x:e,y:t,width:1,height:1}},!0,!1,`keyboard-nav`);return d.current!==void 0&&d.current[0]===e&&d.current[1]===t&&(d.current=void 0),gr(e-Y,t),!0},[tr,Y,Nn.length,qr,X,gr,vn,Tn]),ri=q.useCallback((e,t)=>{i?.cell!==void 0&&e!==void 0&&G(e)&&(nr([{location:i.cell,value:e}]),window.requestAnimationFrame(()=>{Zn.current?.damage([{cell:i.cell}])})),er(!0),a(void 0);let[n,r]=t;if(X.current!==void 0&&(n!==0||r!==0)){let t=X.current.cell[1]===tr-1&&e!==void 0;ni((0,Pa.default)(X.current.cell[0]+n,0,Z.length-1),(0,Pa.default)(X.current.cell[1]+r,0,tr-1),t,!1)}w?.(e,t)},[i?.cell,er,X,w,nr,tr,ni,Z.length]),ii=q.useMemo(()=>`gdg-overlay-${Qo++}`,[]),ai=q.useCallback(e=>{er();let t=[];for(let n=e.x;n<e.x+e.width;n++)for(let r=e.y;r<e.y+e.height;r++){let e=b([n-Y,r]);if(!e.allowOverlay&&e.kind!==W.Boolean)continue;let i;if(e.kind===W.Custom){let t=Mn(e),n=t?.provideEditor?.(e);t?.onDelete===void 0?z(n)&&(i=n?.deletedValue?.(e)):i=t.onDelete(e)}else (G(e)&&e.allowOverlay||e.kind===W.Boolean)&&(i=Mn(e)?.onDelete?.(e));i!==void 0&&!we(i)&&G(i)&&t.push({location:[n,r],value:i})}nr(t),Zn.current?.damage(t.map(e=>({cell:e.location})))},[er,b,Mn,nr,Y]),oi=i!==void 0,si=q.useCallback(e=>{let t=()=>{e.stopPropagation(),e.preventDefault()},n={didMatch:!1},{bounds:r}=e,i=X.columns,s=X.rows,c=Qt;if(!oi&&Q(c.clear,e,n))vn(ns,!1),ze?.();else if(!oi&&Q(c.selectAll,e,n))vn({columns:K.empty(),rows:K.empty(),current:{cell:X.current?.cell??[Y,0],range:{x:Y,y:0,width:v.length,height:y},rangeStack:[]}},!1);else if(Q(c.search,e,n))o?.current?.focus({preventScroll:!0}),an(!0);else if(Q(c.delete,e,n)){let e=wn?.(X)??!0;if(e!==!1){let t=e===!0?X:e;if(t.current!==void 0){ai(t.current.range);for(let e of t.current.rangeStack)ai(e)}for(let e of t.rows)ai({x:Y,y:e,width:v.length,height:1});for(let e of t.columns)ai({x:e,y:0,width:1,height:y})}}if(n.didMatch)return t(),!0;if(X.current===void 0)return!1;let[l,u]=X.current.cell,d=!1,f=!1;Q(c.scrollToSelectedCell,e,n)?hi.current(l-Y,u):H!==`none`&&Q(c.selectColumn,e,n)?i.hasIndex(l)?Dn(i.remove(l),void 0,!0):H===`single`?Dn(K.fromSingleSelection(l),void 0,!0):Dn(void 0,l,!0):xe!==`none`&&Q(c.selectRow,e,n)?s.hasIndex(u)?En(s.remove(u),void 0,!0):xe===`single`?En(K.fromSingleSelection(u),void 0,!0):En(void 0,u,!0):!oi&&r!==void 0&&Q(c.activateCell,e,n)?u===y&&tn?window.setTimeout(()=>{br(xr(l)??l)},0):(S?.([l-Y,u]),mr(r,!0)):X.current.range.height>1&&Q(c.downFill,e,n)?Br():X.current.range.width>1&&Q(c.rightFill,e,n)?zr():Q(c.goToNextPage,e,n)?u+=Math.max(1,Vn.current.height-4):Q(c.goToPreviousPage,e,n)?u-=Math.max(1,Vn.current.height-4):Q(c.goToFirstCell,e,n)?(a(void 0),u=0,l=0):Q(c.goToLastCell,e,n)?(a(void 0),u=2**53-1,l=2**53-1):Q(c.selectToFirstCell,e,n)?(a(void 0),ti([-2,-2])):Q(c.selectToLastCell,e,n)?(a(void 0),ti([2,2])):oi?(Q(c.closeOverlay,e,n)&&a(void 0),Q(c.acceptOverlayDown,e,n)&&(a(void 0),u++),Q(c.acceptOverlayUp,e,n)&&(a(void 0),u--),Q(c.acceptOverlayLeft,e,n)&&(a(void 0),l--),Q(c.acceptOverlayRight,e,n)&&(a(void 0),l++)):(Q(c.goDownCell,e,n)?u+=1:Q(c.goUpCell,e,n)?--u:Q(c.goRightCell,e,n)?l+=1:Q(c.goLeftCell,e,n)?--l:Q(c.goDownCellRetainSelection,e,n)?(u+=1,d=!0):Q(c.goUpCellRetainSelection,e,n)?(--u,d=!0):Q(c.goRightCellRetainSelection,e,n)?(l+=1,d=!0):Q(c.goLeftCellRetainSelection,e,n)?(--l,d=!0):Q(c.goToLastRow,e,n)?u=y-1:Q(c.goToFirstRow,e,n)?u=-(2**53-1):Q(c.goToLastColumn,e,n)?l=2**53-1:Q(c.goToFirstColumn,e,n)?l=-(2**53-1):(V===`rect`||V===`multi-rect`)&&(Q(c.selectGrowDown,e,n)?ti([0,1]):Q(c.selectGrowUp,e,n)?ti([0,-1]):Q(c.selectGrowRight,e,n)?ti([1,0]):Q(c.selectGrowLeft,e,n)?ti([-1,0]):Q(c.selectToLastRow,e,n)?ti([0,2]):Q(c.selectToFirstRow,e,n)?ti([0,-2]):Q(c.selectToLastColumn,e,n)?ti([2,0]):Q(c.selectToFirstColumn,e,n)&&ti([-2,0])),f=n.didMatch);let p=ni(l,u,!1,d),m=n.didMatch;return m&&(p||!f||xt)&&t(),m},[oi,X,Qt,H,xe,V,Y,y,ni,vn,ze,v.length,wn,xt,ai,Dn,En,tn,xr,br,S,mr,Br,zr,ti]),ci=q.useCallback(e=>{let t=!1;if(de!==void 0&&de({...e,cancel:()=>{t=!0}}),t||si(e)||X.current===void 0)return;let[n,r]=X.current.cell,i=Vn.current;if(ge&&!e.metaKey&&!e.ctrlKey&&X.current!==void 0&&e.key.length===1&&/[ -~]/g.test(e.key)&&e.bounds!==void 0&&U(b([n-Y,Math.max(0,Math.min(r,y-1))]))){if((!tn||r!==y)&&(i.y>r||r>i.y+i.height||i.x>n||n>i.x+i.width))return;mr(e.bounds,!0,e.key),e.stopPropagation(),e.preventDefault()}},[ge,de,si,X,b,Y,y,tn,mr]),li=q.useCallback((e,t)=>{let n=e.location[0]-Y;if(e.kind===`header`&&re?.(n,{...e,preventDefault:t}),e.kind===`group-header`){if(n<0)return;P?.(n,{...e,preventDefault:t})}if(e.kind===`cell`){let[r,i]=e.location;j?.([n,i],{...e,preventDefault:t}),cn(X,e.location)||ni(r,i,!1,!1)}},[X,j,P,re,Y,ni]),ui=q.useCallback(async e=>{if(!Qt.paste)return;function t(e,t,n,r){let i=typeof n==`object`?n?.join(`
|
|
135
135
|
`)??``:n?.toString()??``;if(!we(e)&&U(e)&&e.readonly!==!0){let a=T?.(i,e);if(a!==void 0&&G(a))return{location:t,value:a};let o=Mn(e);if(o===void 0)return;if(o.kind===W.Custom){L(e.kind===W.Custom);let n=o.onPaste?.(i,e.data);return n===void 0?void 0:{location:t,value:{...e,data:n}}}else{let a=o.onPaste?.(i,e,{formatted:r,formattedString:typeof r==`string`?r:r?.join(`
|
|
136
136
|
`),rawValue:n});return a===void 0?void 0:(L(a.kind===e.kind),{location:t,value:a})}}}let n=X.columns,r=X.rows,i=u.current?.contains(document.activeElement)===!0||s.current?.contains(document.activeElement)===!0,a;if(X.current===void 0?n.length===1?a=[n.first()??0,0]:r.length===1&&(a=[Y,r.first()??0]):a=[X.current.range.x,X.current.range.y],i&&a!==void 0){let n,r,i=`text/plain`,o=`text/html`;if(navigator.clipboard.read!==void 0){let e=await navigator.clipboard.read();for(let t of e){if(t.types.includes(o)){let e=jo(await(await t.getType(o)).text());if(e!==void 0){n=e;break}}t.types.includes(i)&&(r=await(await t.getType(i)).text())}}else if(navigator.clipboard.readText!==void 0)r=await navigator.clipboard.readText();else if(e!==void 0&&e?.clipboardData!==null)e.clipboardData.types.includes(o)&&(n=jo(e.clipboardData.getData(o))),n===void 0&&e.clipboardData.types.includes(i)&&(r=e.clipboardData.getData(i));else return;let[s,c]=a,l=[];do{if(ke===void 0){let e=dr(a),i=r??n?.map(e=>e.map(e=>e.rawValue).join(` `)).join(` `)??``,o=t(e,a,i,void 0);o!==void 0&&l.push(o);break}if(n===void 0){if(r===void 0)return;n=Po(r)}if(ke===!1||typeof ke==`function`&&ke?.([a[0]-Y,a[1]],n.map(e=>e.map(e=>e.rawValue?.toString()??``)))!==!0)return;for(let[e,r]of n.entries()){if(e+c>=y)break;for(let[n,i]of r.entries()){let r=[n+s,e+c],[a,o]=r;if(a>=Z.length||o>=tr)continue;let u=t(dr(r),r,i.rawValue,i.formatted);u!==void 0&&l.push(u)}}}while(!1);nr(l),Zn.current?.damage(l.map(e=>({cell:e.location})))}},[T,Mn,dr,X,Qt.paste,Z.length,nr,tr,ke,Y,y]);wt(`paste`,ui,f,!1,!0);let di=q.useCallback(async(e,t)=>{if(!Qt.copy)return;let n=t===!0||u.current?.contains(document.activeElement)===!0||s.current?.contains(document.activeElement)===!0,r=X.columns,i=X.rows,a=(t,n)=>{Fo(je?[n.map(e=>({kind:W.Text,data:v[e].title,displayData:v[e].title,allowOverlay:!1})),...t]:t,n,e)};if(n&&pn!==void 0){if(X.current!==void 0){let e=pn(X.current.range,fn.current.signal);typeof e!=`object`&&(e=await e()),a(e,(0,Ya.default)(X.current.range.x-Y,X.current.range.x+X.current.range.width-Y))}else if(i!==void 0&&i.length>0){let e=[...i].map(e=>{let t=pn({x:Y,y:e,width:v.length,height:1},fn.current.signal);return typeof t==`object`?t[0]:t().then(e=>e[0])});e.some(e=>e instanceof Promise)?a(await Promise.all(e),(0,Ya.default)(v.length)):a(e,(0,Ya.default)(v.length))}else if(r.length>0){let e=[],t=[];for(let n of r){let r=pn({x:n,y:0,width:1,height:y},fn.current.signal);typeof r!=`object`&&(r=await r()),e.push(r),t.push(n-Y)}e.length===1?a(e[0],t):a(e.reduce((e,t)=>e.map((e,n)=>[...e,...t[n]])),t)}}},[v,pn,X,Qt.copy,Y,y,je]);wt(`copy`,di,f,!1,!1),wt(`cut`,q.useCallback(async e=>{if(Qt.cut&&(u.current?.contains(document.activeElement)===!0||s.current?.contains(document.activeElement)===!0)&&(await di(e),X.current!==void 0)){let e={current:{cell:X.current.cell,range:X.current.range,rangeStack:[]},rows:K.empty(),columns:K.empty()},t=wn?.(e);if(t===!1||(e=t===!0?e:t,e.current===void 0))return;ai(e.current.range)}},[ai,X,Qt.cut,di,wn]),f,!1,!1);let fi=q.useCallback((e,t)=>{if(ce!==void 0){Y!==0&&(e=e.map(e=>[e[0]-Y,e[1]])),ce(e,t);return}if(e.length===0||t===-1)return;let[n,r]=e[t];d.current!==void 0&&d.current[0]===n&&d.current[1]===r||(d.current=[n,r],ni(n,r,!1,!1))},[ce,Y,ni]),[pi,mi]=He?.current?.cell??[],hi=q.useRef(gr);hi.current=gr,q.useLayoutEffect(()=>{!Un.current&&pi!==void 0&&mi!==void 0&&(pi!==gn.current?.current?.cell[0]||mi!==gn.current?.current?.cell[1])&&hi.current(pi,mi),Un.current=!1},[pi,mi]);let gi=X.current!==void 0&&(X.current.cell[0]>=Z.length||X.current.cell[1]>=tr);q.useLayoutEffect(()=>{gi&&vn(ns,!1)},[gi,vn]);let _i=q.useMemo(()=>tn===!0&&Je?.tint===!0?K.fromSingleSelection(tr-1):K.empty(),[tr,tn,Je?.tint]),vi=q.useCallback(e=>typeof Qe==`boolean`?Qe:Qe?.(e-Y)??!0,[Y,Qe]),yi=q.useMemo(()=>{if(jr===void 0||s.current===null)return null;let{bounds:e,group:t}=jr,n=s.current.getBoundingClientRect();return q.createElement(_o,{bounds:e,group:t,canvasBounds:n,onClose:()=>Mr(void 0),onFinish:e=>{Mr(void 0),ae?.(t,e)}})},[ae,jr]),bi=Math.min(Z.length,Me+(en?1:0));q.useImperativeHandle(t,()=>({appendRow:(e,t)=>br(e+Y,t),updateCells:e=>(Y!==0&&(e=e.map(e=>({cell:[e.cell[0]+Y,e.cell[1]]}))),Zn.current?.damage(e)),getBounds:(e,t)=>{if(!(s?.current===null||u?.current===null)){if(e===void 0&&t===void 0){let e=s.current.getBoundingClientRect(),t=e.width/u.current.clientWidth;return{x:e.x-u.current.scrollLeft*t,y:e.y-u.current.scrollTop*t,width:u.current.scrollWidth*t,height:u.current.scrollHeight*t}}return Zn.current?.getBounds((e??0)+Y,t)}},focus:()=>Zn.current?.focus(),emit:async e=>{switch(e){case`delete`:ci({bounds:void 0,cancel:()=>void 0,stopPropagation:()=>void 0,preventDefault:()=>void 0,ctrlKey:!1,key:`Delete`,keyCode:46,metaKey:!1,shiftKey:!1,altKey:!1,rawEvent:void 0,location:void 0});break;case`fill-right`:ci({bounds:void 0,cancel:()=>void 0,stopPropagation:()=>void 0,preventDefault:()=>void 0,ctrlKey:!0,key:`r`,keyCode:82,metaKey:!1,shiftKey:!1,altKey:!1,rawEvent:void 0,location:void 0});break;case`fill-down`:ci({bounds:void 0,cancel:()=>void 0,stopPropagation:()=>void 0,preventDefault:()=>void 0,ctrlKey:!0,key:`d`,keyCode:68,metaKey:!1,shiftKey:!1,altKey:!1,rawEvent:void 0,location:void 0});break;case`copy`:await di(void 0,!0);break;case`paste`:await ui();break}},scrollTo:gr,remeasureColumns:e=>{for(let t of e)Fr(t+Y)}}),[br,Fr,di,ci,ui,Y,gr]);let[xi,Si]=qr??[],Ci=q.useCallback(e=>{let[t,n]=e;if(n===-1){H!==`none`&&(Dn(K.fromSingleSelection(t),void 0,!1),er());return}xi===t&&Si===n||(Tn({cell:e,range:{x:t,y:n,width:1,height:1}},!0,!1,`keyboard-nav`),gr(t,n))},[H,er,gr,xi,Si,Tn,Dn]),[wi,Ti]=q.useState(!1),Ei=q.useRef((0,Ct.default)(e=>{Ti(e)},5)),Di=q.useCallback(()=>{Ei.current(!0),X.current===void 0&&X.columns.length===0&&X.rows.length===0&&c===void 0&&Tn({cell:[Y,Xn],range:{x:Y,y:Xn,width:1,height:1}},!0,!1,`keyboard-select`)},[Xn,X,c,Y,Tn]),Oi=q.useCallback(()=>{Ei.current(!1)},[]),[ki,Ai]=q.useMemo(()=>{let e,t=st?.scrollbarWidthOverride??Rt(),n=y+(tn?1:0);if(typeof Kt==`number`)e=In+n*Kt;else{let t=0,r=Math.min(n,10);for(let e=0;e<r;e++)t+=Kt(e);t=Math.floor(t/r),e=In+n*t}e+=t;let r=Z.reduce((e,t)=>t.width+e,0)+t;return[`${Math.min(1e5,r)}px`,`${Math.min(1e5,e)}px`]},[Z,st?.scrollbarWidthOverride,Kt,y,tn,In]),ji=q.useMemo(()=>ne(On),[On]);return q.createElement(R.Provider,{value:On},q.createElement(Vo,{style:ji,className:M,inWidth:g??ki,inHeight:_??Ai},q.createElement(mo,{fillHandle:at,drawFocusRing:ot,experimental:st,fixedShadowX:ct,fixedShadowY:lt,getRowThemeOverride:m,headerIcons:ut,imageWindowLoader:dt,initialSize:ft,isDraggable:pt,onDragLeave:mt,onRowMoved:ht,overscrollX:Xt,overscrollY:Zt,preventDiagonalScrolling:vt,rightElement:yt,rightElementProps:bt,smoothScrollX:St,smoothScrollY:Et,className:M,enableGroups:Fn,onCanvasFocused:Di,onCanvasBlur:Oi,canvasRef:s,onContextMenu:li,theme:On,cellXOffset:Yn,cellYOffset:Xn,accessibilityHeight:Wn.height,onDragEnd:Qr,columns:Z,nonGrowWidth:Pn,drawHeader:Sn,onColumnProposeMove:A,drawCell:Cn,disabledRows:_i,freezeColumns:bi,lockColumns:Y,firstColAccessible:Y===0,getCellContent:dr,minColumnWidth:Ht,maxColumnWidth:Ut,searchInputRef:o,showSearch:on,onSearchClose:sn,highlightRegions:lr,getCellsForSelection:pn,getGroupDetails:fr,headerHeight:qt,isFocused:wi,groupHeaderHeight:Fn?Jt:0,freezeTrailingRows:Ye+(tn&&Je?.sticky===!0?1:0),hasAppendRow:tn,onColumnResize:yn,onColumnResizeEnd:bn,onColumnResizeStart:xn,onCellFocused:Ci,onColumnMoved:Yr,onDragStart:Zr,onHeaderMenuClick:Wr,onItemHovered:ei,isFilling:c?.fillHandle===!0,onMouseMove:Hr,onKeyDown:ci,onKeyUp:me,onMouseDown:Ar,onMouseUp:Vr,onDragOverCell:$e,onDrop:et,onSearchResultsChanged:fi,onVisibleRegionChanged:Jr,clientSize:kn,rowHeight:Kt,searchResults:I,searchValue:ue,onSearchValueChange:le,rows:tr,scrollRef:u,selection:X,translateX:Wn.tx,translateY:Wn.ty,verticalBorder:vi,gridRef:Zn,getCellRenderer:Mn}),yi,i!==void 0&&q.createElement(q.Suspense,{fallback:null},q.createElement(Zo,{...i,validateCell:hn,bloom:O,id:ii,getCellRenderer:Mn,className:st?.isSubGrid===!0?`click-outside-ignore`:void 0,provideEditor:qe,imageEditorOverride:p,onFinishEditing:ri,markdownDivCreateNode:h,isOutsideClick:Mt}))))}),is=20,as={getAccessibilityString:e=>e.data?.toString()??`false`,kind:W.Boolean,needsHover:!0,useLabel:!1,needsHoverPosition:!0,measure:()=>50,draw:e=>os(e,e.cell.data,he(e.cell),e.cell.maxSize??is),onDelete:e=>({...e,data:!1}),onClick:e=>{let{cell:t,posX:n,posY:r,bounds:i,theme:a}=e,{width:o,height:s,x:c,y:l}=i,u=t.maxSize??is,d=Math.floor(i.y+s/2),f=At(u,s,a.cellVerticalPadding),p=Ot(kt(t.contentAlign??`center`,c,o,a.cellHorizontalPadding,f),d,f),m=jt(c+n,l+r,p);if(he(t)&&m)return{...t,data:Io(t.data)}},onPaste:(e,t)=>{let n=null;return e.toLowerCase()===`true`?n=!0:e.toLowerCase()===`false`?n=!1:e.toLowerCase()===`indeterminate`&&(n=void 0),n===t.data?void 0:{...t,data:n}}};function os(e,t,n,r){if(!n&&t===null)return;let{ctx:i,hoverAmount:a,theme:o,rect:s,highlighted:c,hoverX:l,hoverY:u,cell:{contentAlign:d}}=e,{x:f,y:p,width:m,height:h}=s,g=.35,_=n?1-g+g*a:.4;t===null&&(_*=a),_!==0&&(i.globalAlpha=_,ii(i,o,t,f,p,m,h,c,l,u,r,d),i.globalAlpha=1)}var ss=je(`div`)({name:`BubblesOverlayEditorStyle`,class:`gdg-b1ygi5by`,propsAsIs:!1}),cs=e=>{let{bubbles:t}=e;return q.createElement(ss,null,t.map((e,t)=>q.createElement(`div`,{key:t,className:`boe-bubble`},e)),q.createElement(`textarea`,{className:`gdg-input`,autoFocus:!0}))},ls={getAccessibilityString:e=>Vt(e.data),kind:W.Bubble,needsHover:!1,useLabel:!1,needsHoverPosition:!1,measure:(e,t,n)=>t.data.reduce((t,n)=>e.measureText(n).width+t+20,0)+2*n.cellHorizontalPadding-4,draw:e=>ds(e,e.cell.data),provideEditor:()=>e=>{let{value:t}=e;return q.createElement(cs,{bubbles:t.data})},onPaste:()=>void 0},us=4;function ds(e,t){let{rect:n,theme:r,ctx:i,highlighted:a}=e,{x:o,y:s,width:c,height:l}=n,u=us,d=o+r.cellHorizontalPadding,f=[];for(let e of t){if(d>o+c)break;let t=En(e,i,r.baseFontFull).width;f.push({x:d,width:t}),d+=t+16+u}i.beginPath();for(let e of f)Z(i,e.x,s+(l-20)/2,e.width+16,20,r.roundingRadius??20/2);i.fillStyle=a?r.bgBubbleSelected:r.bgBubble,i.fill();for(let[e,n]of f.entries())i.beginPath(),i.fillStyle=r.textBubble,i.fillText(t[e],n.x+8,s+l/2+On(i,r))}var fs=je(`div`)({name:`DrilldownOverlayEditorStyle`,class:`gdg-d4zsq0x`,propsAsIs:!1}),ps=e=>{let{drilldowns:t}=e;return q.createElement(fs,null,t.map((e,t)=>q.createElement(`div`,{key:t,className:`doe-bubble`},e.img!==void 0&&q.createElement(`img`,{src:e.img}),q.createElement(`div`,null,e.text))))},ms={getAccessibilityString:e=>Vt(e.data.map(e=>e.text)),kind:W.Drilldown,needsHover:!1,useLabel:!1,needsHoverPosition:!1,measure:(e,t,n)=>t.data.reduce((t,n)=>e.measureText(n.text).width+t+20+(n.img===void 0?0:18),0)+2*n.cellHorizontalPadding-4,draw:e=>vs(e,e.cell.data),provideEditor:()=>e=>{let{value:t}=e;return q.createElement(ps,{drilldowns:t.data})},onPaste:()=>void 0},hs=4,gs={};function _s(e,t,n,r){let i=Math.ceil(window.devicePixelRatio),a=n-10,o=n*i,s=r+5,c=r*3,l=(c+10)*i,u=`${e},${t},${i},${n}`;if(gs[u]!==void 0)return{el:gs[u],height:o,width:l,middleWidth:4*i,sideWidth:s*i,padding:5*i,dpr:i};let d=document.createElement(`canvas`),f=d.getContext(`2d`);return f===null?null:(d.width=l,d.height=o,f.scale(i,i),gs[u]=d,f.beginPath(),Z(f,5,5,c,a,r),f.shadowColor=`rgba(24, 25, 34, 0.4)`,f.shadowBlur=1,f.fillStyle=e,f.fill(),f.shadowColor=`rgba(24, 25, 34, 0.3)`,f.shadowOffsetY=1,f.shadowBlur=5,f.fillStyle=e,f.fill(),f.shadowOffsetY=0,f.shadowBlur=0,f.shadowBlur=0,f.beginPath(),Z(f,5.5,5.5,c,a,r),f.strokeStyle=t,f.lineWidth=1,f.stroke(),{el:d,height:o,width:l,sideWidth:s*i,middleWidth:r*i,padding:5*i,dpr:i})}function vs(e,t){let{rect:n,theme:r,ctx:i,imageLoader:a,col:o,row:s}=e,{x:c,width:l}=n,u=r.baseFontFull,d=Fn(i,u),f=Math.min(n.height,Math.max(16,Math.ceil(d*r.lineHeight)*2)),p=Math.floor(n.y+(n.height-f)/2),m=f-10,h=hs,g=c+r.cellHorizontalPadding,_=r.roundingRadius??6,v=_s(r.bgCell,r.drilldownBorder,f,_),y=[];for(let e of t){if(g>c+l)break;let t=En(e.text,i,u).width,n=0;e.img!==void 0&&a.loadOrGetImage(e.img,o,s)!==void 0&&(n=m-8+4);let r=t+n+16;y.push({x:g,width:r}),g+=r+h}if(v!==null){let{el:e,height:t,middleWidth:n,sideWidth:r,width:a,dpr:o,padding:s}=v,c=r/o,l=s/o;for(let o of y){let s=Math.floor(o.x),u=Math.floor(o.width),d=u-(c-l)*2;i.imageSmoothingEnabled=!1,i.drawImage(e,0,0,r,t,s-l,p,c,f),d>0&&i.drawImage(e,r,0,n,t,s+(c-l),p,d,f),i.drawImage(e,a-r,0,r,t,s+u-(c-l),p,c,f),i.imageSmoothingEnabled=!0}}i.beginPath();for(let[e,n]of y.entries()){let c=t[e],l=n.x+8;if(c.img!==void 0){let e=a.loadOrGetImage(c.img,o,s);if(e!==void 0){let t=m-8,n=0,a=0,o=e.width,s=e.height;o>s?(n+=(o-s)/2,o=s):s>o&&(a+=(s-o)/2,s=o),i.beginPath(),Z(i,l,p+f/2-t/2,t,t,r.roundingRadius??3),i.save(),i.clip(),i.drawImage(e,n,a,o,s,l,p+f/2-t/2,t,t),i.restore(),l+=t+4}}i.beginPath(),i.fillStyle=r.textBubble,i.fillText(c.text,l,p+f/2+On(i,r))}}var ys={getAccessibilityString:e=>e.data.join(`, `),kind:W.Image,needsHover:!1,useLabel:!1,needsHoverPosition:!1,draw:e=>xs(e,e.cell.displayData??e.cell.data,e.cell.rounding??e.theme.roundingRadius??4,e.cell.contentAlign),measure:(e,t)=>t.data.length*50,onDelete:e=>({...e,data:[]}),provideEditor:()=>e=>{let{value:t,onFinishedEditing:n,imageEditorOverride:r}=e,i=r??Wt;return q.createElement(i,{urls:t.data,canWrite:t.readonly!==!1,onCancel:n,onChange:e=>{n({...t,data:[e]})}})},onPaste:(e,t)=>{e=e.trim();let n=e.split(`,`).map(e=>{try{return new URL(e),e}catch{return}}).filter(e=>e!==void 0);if(!(n.length===t.data.length&&n.every((e,n)=>e===t.data[n])))return{...t,data:n}}},bs=4;function xs(e,t,n,r){let{rect:i,col:a,row:o,theme:s,ctx:c,imageLoader:l}=e,{x:u,y:d,height:f,width:p}=i,m=f-s.cellVerticalPadding*2,h=[],g=0;for(let e=0;e<t.length;e++){let n=t[e];if(n.length===0)continue;let r=l.loadOrGetImage(n,a,o);if(r!==void 0){h[e]=r;let t=r.width*(m/r.height);g+=t+bs}}if(g===0)return;g-=bs;let _=u+s.cellHorizontalPadding;r===`right`?_=Math.floor(u+p-s.cellHorizontalPadding-g):r===`center`&&(_=Math.floor(u+p/2-g/2));for(let e of h){if(e===void 0)continue;let t=e.width*(m/e.height);n>0&&(c.beginPath(),Z(c,_,d+s.cellVerticalPadding,t,m,n),c.save(),c.clip()),c.drawImage(e,_,d+s.cellVerticalPadding,t,m),n>0&&c.restore(),_+=t+bs}}function Ss(e,t){let n=e*49632+t*325176;return n^=n<<13,n^=n>>17,n^=n<<5,n/4294967295*2}var Cs={getAccessibilityString:()=>``,kind:W.Loading,needsHover:!1,useLabel:!1,needsHoverPosition:!1,measure:()=>120,draw:e=>{let{cell:t,col:n,row:r,ctx:i,rect:a,theme:o}=e;if(t.skeletonWidth===void 0||t.skeletonWidth===0)return;let s=t.skeletonWidth;t.skeletonWidthVariability!==void 0&&t.skeletonWidthVariability>0&&(s+=Math.round(Ss(n,r)*t.skeletonWidthVariability));let c=o.cellHorizontalPadding,l=t.skeletonHeight??Math.min(18,a.height-2*o.cellVerticalPadding);Z(i,a.x+c,a.y+(a.height-l)/2,s,l,o.roundingRadius??3),i.fillStyle=pe(o.textDark,.1),i.fill()},onPaste:()=>void 0},ws=()=>e=>e.targetWidth,Ts=je(`div`)({name:`MarkdownOverlayEditorStyle`,class:`gdg-m1pnx84e`,propsAsIs:!1,vars:{"m1pnx84e-0":[ws(),`px`]}}),Es=e=>{let{value:t,onChange:n,forceEditMode:r,createNode:i,targetRect:a,onFinish:o,validatedSelection:s}=e,c=t.data,l=t.readonly===!0,[u,d]=q.useState(c===``||r),f=q.useCallback(()=>{d(e=>!e)},[]),p=c?`gdg-ml-6`:``;return u?q.createElement(Ts,{targetWidth:a.width-20},q.createElement(Zt,{autoFocus:!0,highlight:!1,validatedSelection:s,value:c,onKeyDown:e=>{e.key===`Enter`&&e.stopPropagation()},onChange:n}),q.createElement(`div`,{className:`gdg-edit-icon gdg-checkmark-hover ${p}`,onClick:()=>o(t)},q.createElement(Nt,null))):q.createElement(Ts,{targetWidth:a.width},q.createElement(Kt,{contents:c,createNode:i}),!l&&q.createElement(q.Fragment,null,q.createElement(`div`,{className:`spacer`}),q.createElement(`div`,{className:`gdg-edit-icon gdg-edit-hover ${p}`,onClick:f},q.createElement(Mt,null))),q.createElement(`textarea`,{className:`gdg-md-edit-textarea gdg-input`,autoFocus:!0}))},Ds={getAccessibilityString:e=>e.data?.toString()??``,kind:W.Markdown,needsHover:!1,needsHoverPosition:!1,drawPrep:Nn,measure:(e,t,n)=>{let r=t.data.split(`
|
|
137
|
-
`)[0];return e.measureText(r).width+2*n.cellHorizontalPadding},draw:e=>Rn(e,e.cell.data,e.cell.contentAlign),onDelete:e=>({...e,data:``}),provideEditor:()=>e=>{let{onChange:t,value:n,target:r,onFinishedEditing:i,markdownDivCreateNode:a,forceEditMode:o,validatedSelection:s}=e;return q.createElement(Es,{onFinish:i,targetRect:r,value:n,validatedSelection:s,onChange:e=>t({...n,data:e.target.value}),forceEditMode:o,createNode:a})},onPaste:(e,t)=>e===t.data?void 0:{...t,data:e}},Os={getAccessibilityString:e=>e.row.toString(),kind:be.Marker,needsHover:!0,needsHoverPosition:!1,drawPrep:ks,measure:()=>44,draw:e=>js(e,e.cell.row,e.cell.checked,e.cell.markerKind,e.cell.drawHandle,e.cell.checkboxStyle),onClick:e=>{let{bounds:t,cell:n,posX:r,posY:i}=e,{width:a,height:o}=t,s=n.drawHandle?7+(a-7)/2:a/2,c=o/2;if(Math.abs(r-s)<=10&&Math.abs(i-c)<=10)return{...n,checked:!n.checked}},onPaste:()=>void 0};function ks(e,t){let{ctx:n,theme:r}=e,i=r.markerFontFull,a=t??{};return a?.font!==i&&(n.font=i,a.font=i),a.deprep=As,n.textAlign=`center`,a}function As(e){let{ctx:t}=e;t.textAlign=`start`}function js(e,t,n,r,i,a){let{ctx:o,rect:s,hoverAmount:c,theme:l}=e,{x:u,y:d,width:f,height:p}=s,m=n?1:r===`checkbox-visible`?.6+.4*c:c;if(r!==`number`&&m>0){o.globalAlpha=m;let e=7*(n?c:1);if(ii(o,l,n,i?u+e:u,d,i?f-e:f,p,!0,void 0,void 0,18,`center`,a),i){o.globalAlpha=c,o.beginPath();for(let e of[3,6])for(let t of[-5,-1,3])o.rect(u+e,d+p/2+t,2,2);o.fillStyle=l.textLight,o.fill(),o.beginPath()}o.globalAlpha=1}if(r===`number`||r===`both`&&!n){let e=t.toString(),n=l.markerFontFull,i=u+f/2;r===`both`&&c!==0&&(o.globalAlpha=1-c),o.fillStyle=l.textLight,o.font=n,o.fillText(e,i,d+p/2+On(o,n)),c!==0&&(o.globalAlpha=1)}}var Ms={getAccessibilityString:()=>``,kind:be.NewRow,needsHover:!0,needsHoverPosition:!1,measure:()=>200,draw:e=>Ns(e,e.cell.hint,e.cell.icon),onPaste:()=>void 0};function Ns(e,t,n){let{ctx:r,rect:i,hoverAmount:a,theme:o,spriteManager:s}=e,{x:c,y:l,width:u,height:d}=i;r.beginPath(),r.globalAlpha=a,r.rect(c+1,l+1,u,d-2),r.fillStyle=o.bgHeaderHovered,r.fill(),r.globalAlpha=1,r.beginPath();let f=t!==``,p=0;if(n!==void 0){let e=d-8,t=c+8/2,i=l+8/2;s.drawSprite(n,`normal`,r,t,i,e,o,f?1:a),p=e}else{p=24;let e=f?12:a*12,t=f?0:(1-a)*12*.5,n=o.cellHorizontalPadding+4;e>0&&(r.moveTo(c+n+t,l+d/2),r.lineTo(c+n+t+e,l+d/2),r.moveTo(c+n+t+e*.5,l+d/2-e*.5),r.lineTo(c+n+t+e*.5,l+d/2+e*.5),r.lineWidth=2,r.strokeStyle=o.bgIconHeader,r.lineCap=`round`,r.stroke())}r.fillStyle=o.textMedium,r.fillText(t,p+c+o.cellHorizontalPadding+.5,l+d/2+On(r,o)),r.beginPath()}var Ps=q.lazy(async()=>await D(()=>import(`./number-overlay-editor-
|
|
138
|
-
`,t.allowWrapping===!0?void 0:1),i=0;for(let t of r)i=Math.max(i,e.measureText(t).width);return i+2*n.cellHorizontalPadding},onDelete:e=>({...e,data:``}),provideEditor:e=>({disablePadding:e.allowWrapping===!0,editor:t=>{let{isHighlighted:n,onChange:r,value:i,validatedSelection:a}=t;return q.createElement(Zt,{style:e.allowWrapping===!0?{padding:`3px 8.5px`}:void 0,highlight:n,autoFocus:i.readonly!==!0,disabled:i.readonly===!0,altNewline:!0,value:i.data,validatedSelection:a,onChange:e=>r({...i,data:e.target.value})})}}),onPaste:(e,t,n)=>e===t.data?void 0:{...t,data:e,displayData:n.formattedString??t.displayData}},Bs=je(`div`)({name:`UriOverlayEditorStyle`,class:`gdg-u1rrojo`,propsAsIs:!1}),Vs=e=>{let{uri:t,onChange:n,forceEditMode:r,readonly:i,validatedSelection:a,preview:o}=e,[s,c]=q.useState(!i&&(t===``||r)),l=q.useCallback(()=>{c(!0)},[]);return s?q.createElement(Zt,{validatedSelection:a,highlight:!0,autoFocus:!0,value:t,onChange:n}):q.createElement(Bs,null,q.createElement(`a`,{className:`gdg-link-area`,href:t,target:`_blank`,rel:`noopener noreferrer`},o),!i&&q.createElement(`div`,{className:`gdg-edit-icon`,onClick:l},q.createElement(Mt,null)),q.createElement(`textarea`,{className:`gdg-input`,autoFocus:!0}))};function Hs(e,t,n,r){let i=n.cellHorizontalPadding,a=t.height/2-e.actualBoundingBoxAscent/2,o=e.width,s=e.actualBoundingBoxAscent;return r===`right`?i=t.width-o-n.cellHorizontalPadding:r===`center`&&(i=t.width/2-o/2),{x:i,y:a,width:o,height:s}}var Us=[Os,Ms,as,ls,ms,ys,Cs,Ds,Fs,Is,Rs,zs,{getAccessibilityString:e=>e.data?.toString()??``,kind:W.Uri,needsHover:e=>e.hoverEffect===!0,needsHoverPosition:!0,useLabel:!0,drawPrep:Nn,draw:e=>{let{cell:t,theme:n,overrideCursor:r,hoverX:i,hoverY:a,rect:o,ctx:s}=e,c=t.displayData??t.data,l=t.hoverEffect===!0;if(r!==void 0&&l&&i!==void 0&&a!==void 0){let{x:l,y:u,width:d,height:f}=Hs(En(c,s,n.baseFontFull),o,n,t.contentAlign);if(i>=l-4&&i<=l-4+d+8&&a>=u-4&&a<=u-4+f+8){let i=On(s,n.baseFontFull);r(`pointer`);let a=u-i;s.beginPath(),s.moveTo(o.x+l,Math.floor(o.y+a+f+5)+.5),s.lineTo(o.x+l+d,Math.floor(o.y+a+f+5)+.5),s.strokeStyle=n.linkColor,s.stroke(),s.save(),s.fillStyle=e.cellFillColor,Rn({...e,rect:{...o,x:o.x-1}},c,t.contentAlign),Rn({...e,rect:{...o,x:o.x-2}},c,t.contentAlign),Rn({...e,rect:{...o,x:o.x+1}},c,t.contentAlign),Rn({...e,rect:{...o,x:o.x+2}},c,t.contentAlign),s.restore()}}s.fillStyle=l?n.linkColor:n.textDark,Rn(e,c,t.contentAlign)},onClick:e=>{let{cell:t,bounds:n,posX:r,posY:i,theme:a}=e,o=t.displayData??t.data;if(t.hoverEffect!==!0||t.onClickUri===void 0)return;let s=Dn(o,a.baseFontFull);if(s===void 0)return;let c=Hs(s,n,a,t.contentAlign);Gr({x:c.x-4,y:c.y-4,width:c.width+8,height:c.height+8},r,i)&&t.onClickUri(e)},measure:(e,t,n)=>e.measureText(t.displayData??t.data).width+n.cellHorizontalPadding*2,onDelete:e=>({...e,data:``}),provideEditor:e=>t=>{let{onChange:n,value:r,forceEditMode:i,validatedSelection:a}=t;return q.createElement(Vs,{forceEditMode:r.readonly!==!0&&(i||e.hoverEffect===!0&&e.onClickUri!==void 0),uri:r.data,preview:r.displayData??r.data,validatedSelection:a,readonly:r.readonly===!0,onChange:e=>n({...r,data:e.target.value})})},onPaste:(e,t,n)=>e===t.data?void 0:{...t,data:e,displayData:n.formattedString??t.displayData}}],Ws=e(t(((e,t)=>{var n=St(),r=ue(),i=`Expected a function`;function a(e,t,a){var o=!0,s=!0;if(typeof e!=`function`)throw TypeError(i);return r(a)&&(o=`leading`in a?!!a.leading:o,s=`trailing`in a?!!a.trailing:s),n(e,t,{leading:o,maxWait:t,trailing:s})}t.exports=a}))(),1),Gs=[],Ks=class extends qn{imageLoaded=()=>void 0;loadedLocations=[];cache={};setCallback(e){this.imageLoaded=e}sendLoaded=(0,Ws.default)(()=>{this.imageLoaded(new Yn(this.loadedLocations)),this.loadedLocations=[]},20);clearOutOfWindow=()=>{let e=Object.keys(this.cache);for(let t of e){let e=this.cache[t],n=!1;for(let t=0;t<e.cells.length;t++){let r=e.cells[t];if(this.isInWindow(r)){n=!0;break}}n?e.cells=e.cells.filter(this.isInWindow):(e.cancel(),delete this.cache[t])}};loadImage(e,t,n,r){let i=!1,a=Gs.pop()??new Image,o=!1,s={img:void 0,cells:[Un(t,n)],url:e,cancel:()=>{o||(o=!0,Gs.length<12?Gs.unshift(a):i||(a.src=``))}},c=new Promise(e=>a.addEventListener(`load`,()=>e(null)));requestAnimationFrame(async()=>{try{a.src=e,await c,await a.decode();let t=this.cache[r];if(t!==void 0&&!o){t.img=a;for(let e of t.cells)this.loadedLocations.push(Kn(e));i=!0,this.sendLoaded()}}catch{s.cancel()}}),this.cache[r]=s}loadOrGetImage(e,t,n){let r=e,i=this.cache[r];if(i!==void 0){let e=Un(t,n);return i.cells.includes(e)||i.cells.push(e),i.img}else this.loadImage(e,t,n,r)}},qs=q.forwardRef((e,t)=>{let n=q.useMemo(()=>({...Fr,...e.headerIcons}),[e.headerIcons]),r=q.useMemo(()=>e.imageWindowLoader??new Ks,[e.imageWindowLoader]);return q.createElement(rs,{...e,renderers:Us,headerIcons:n,ref:t,imageWindowLoader:r})});function Js(e){return getComputedStyle(document.documentElement).getPropertyValue(e).trim()}function Ys(e,t){if(e.startsWith(`#`)){let n=e.slice(1);return`rgba(${parseInt(n.slice(0,2),16)}, ${parseInt(n.slice(2,4),16)}, ${parseInt(n.slice(4,6),16)}, ${t})`}return e}function Xs(){let e=Js(`--color-background`),t=Js(`--color-foreground`),n=ee(Js(`--color-muted`),e),r=Js(`--color-muted-foreground`),i=Js(`--color-primary`),a=Js(`--color-primary-foreground`),o=Js(`--color-border`),s=Js(`--color-primary`),c=Js(`--color-text-secondary`),l=Js(`--color-text-subtle`),u=Js(`--font-sans`)||`Geist, system-ui, sans-serif`;return{bgCell:e,bgCellMedium:n,bgHeader:n,bgHeaderHasFocus:s,bgHeaderHovered:s,bgBubble:s,bgBubbleSelected:i,textDark:t,textMedium:c,textLight:l,textHeader:r,textGroupHeader:r,textHeaderSelected:t,textBubble:t,accentColor:i,accentFg:a,accentLight:Ys(i,.12),borderColor:o,horizontalBorderColor:o,fontFamily:u,baseFontStyle:`13px`,headerFontStyle:`600 12px`,editorFontSize:`13px`,lineHeight:1.5,cellHorizontalPadding:8,cellVerticalPadding:4,headerIconSize:16}}function Zs(){let[e,t]=(0,q.useState)(0);return(0,q.useEffect)(()=>{let e=()=>t(e=>e+1),n=new MutationObserver(e);return n.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]}),window.addEventListener(`ppm:theme-change`,e),()=>{n.disconnect(),window.removeEventListener(`ppm:theme-change`,e)}},[]),(0,q.useMemo)(()=>Xs(),[e])}function Qs(e,t,n){let r=e.length*9+40,i=0,a=Math.min(t.length,20);for(let n=0;n<a;n++){let r=t[n]?.[e];if(r==null)continue;let a=typeof r==`object`?12:String(r).length;i=Math.max(i,a*8)}let o=/^(int|serial|bigint|smallint|float|double|decimal|numeric|real|money|bool)/.test(n.toLowerCase())?80:100;return Math.max(o,Math.min(Math.max(r,i)+16,400))}function $s(e,t,n,r,i,a,o){let s=(0,q.useMemo)(()=>new Map(e.map(e=>[e.name,e])),[e]),c=(0,q.useMemo)(()=>{let e=new Map;for(let n of t)e.set(n,Qs(n,i,s.get(n)?.type??`text`));return e},[t.join(`|`),e.map(e=>`${e.name}:${e.type}`).join(`|`),i.length>0]);return(0,q.useMemo)(()=>{let e=t.filter(e=>n.has(e)),i=t.filter(e=>!n.has(e)),l=[...e,...i];return{columns:l.map(e=>{let t=s.get(e),n=t?.pk??!1,i;return a===e?i=o===`ASC`?`sortAsc`:`sortDesc`:n?i=`headerRowID`:t?.fk&&(i=`headerFk`),{title:e,id:e,width:r.get(e)??c.get(e)??100,hasMenu:!0,icon:i}}),freezeColumns:e.length,columnOrder:l}},[s,t,n,r,c,a,o])}function ec(e){if(e==null)return!1;if(typeof e==`object`)return!0;let t=String(e);if(t.length>=200)return!0;let n=t.trimStart();return!!((n[0]===`{`||n[0]===`[`)&&(n.endsWith(`}`)||n.endsWith(`]`))||n.startsWith(`<?xml`)||n.startsWith(`<`)&&n.endsWith(`>`))}function tc(e){return e==null?`NULL`:typeof e==`object`?JSON.stringify(e):String(e)}function nc(e){let t=e.trimStart();if(t[0]===`{`||t[0]===`[`)try{return JSON.parse(t),`json`}catch{}return t.startsWith(`<?xml`)||t.startsWith(`<`)&&/<\/\w+>/.test(t)?`xml`:t.startsWith(`---`)||/^\w+:\s/m.test(t)?`yaml`:`plaintext`}function rc(e){let t=e.toLowerCase();return/^(int|serial|bigint|smallint|float|double|decimal|numeric|real|money)/.test(t)?W.Number:/^bool/.test(t)?W.Boolean:W.Text}function ic(e){let t=e.type.toLowerCase();return!!(/^(serial|bigserial|smallserial)/.test(t)||/^(int|bigint|smallint|integer)/.test(t)&&e.defaultValue&&/nextval|identity|auto_increment/i.test(e.defaultValue)||t===`integer`&&e.pk&&!e.defaultValue)}function ac(e,t=200){return e.length>t?e.slice(0,t)+`…`:e}var oc={bgCell:`rgba(251, 191, 36, 0.15)`};function sc(e,t,n,r,i,a,o=!1){let s=(0,q.useRef)(o);s.current=o;let c=(0,q.useRef)(e);c.current=e;let l=(0,q.useRef)(t);l.current=t;let u=(0,q.useRef)(new Map);return u.current=new Map(n.map(e=>[e.name,e])),{getCellContent:(0,q.useCallback)(([e,t])=>{let n=l.current[e],i=c.current[t];if(!n||!i)return{kind:W.Text,data:``,displayData:``,allowOverlay:!1};let o=u.current.get(n),d=o?rc(o.type):W.Text,f=o?.pk??!1,p=r?i[r]:void 0,m=typeof p==`string`&&p.startsWith(`__new_`),h=`${p}:${n}`,g=a.current.get(h),_=g===void 0?i[n]:g.newVal,v=g!==void 0;if(f&&m){if(o&&ic(o))return{kind:W.Text,data:``,displayData:`AUTO`,allowOverlay:!1,readonly:!0,themeOverride:{textDark:`#6b7280`}};let e=g===void 0?``:String(g.newVal??``);return{kind:W.Text,data:e,displayData:e||`Enter ID…`,allowOverlay:!0,readonly:!1,themeOverride:e?v?oc:void 0:{textDark:`#9ca3af`}}}if(_==null){let e=m?``:`NULL`;if(m&&!v&&o){let t=o.type.toLowerCase();o.defaultValue?e=o.defaultValue:/^(timestamp|datetime|date)/.test(t)?e=`NOW()`:/^(uuid)/.test(t)&&(e=`gen_random_uuid()`)}return{kind:W.Text,data:``,displayData:e,allowOverlay:!f,readonly:f||s.current,themeOverride:v?oc:m||e!==`NULL`?{textDark:`#9ca3af`}:{textDark:`#6b7280`}}}if(d===W.Number&&typeof _==`number`)return{kind:W.Number,data:_,displayData:String(_),allowOverlay:!f,readonly:f||s.current,themeOverride:v?oc:void 0};if(d===W.Boolean&&typeof _==`boolean`)return{kind:W.Boolean,data:_,readonly:f||s.current,allowOverlay:!1};let y=tc(_);return{kind:W.Text,data:y,displayData:ac(y),allowOverlay:!f,readonly:f||s.current,themeOverride:v?oc:void 0}},[]),onCellEdited:(0,q.useCallback)(([e,t],n)=>{if(!r||o)return;let a=l.current[e],s=c.current[t];if(!a||!s)return;let u=s[r],d;if(n.kind===W.Text)d=n.data===``?null:n.data;else if(n.kind===W.Number)d=n.data;else if(n.kind===W.Boolean)d=n.data;else return;i(u,a,d)},[r,o,i])}}var cc={columns:K.empty(),rows:K.empty()};function lc(){let[e,t]=(0,q.useState)(cc);return{gridSelection:e,onGridSelectionChange:(0,q.useCallback)(e=>{t(e)},[]),selectedRowIndices:(0,q.useMemo)(()=>{let t=[];if(e.rows)for(let n of e.rows)if(Array.isArray(n))for(let e=n[0];e<n[1];e++)t.push(e);else t.push(n);return t},[e.rows]),clearSelection:(0,q.useCallback)(()=>{t(cc)},[])}}function uc(e,t,n){let[r,i]=(0,q.useState)(new Map),a=(0,q.useRef)(r);a.current=r;let o=(0,q.useRef)(!1);return{pendingEdits:r,pendingRef:a,addEdit:(0,q.useCallback)((e,t,n)=>{let r=`${e}:${t}`;i(i=>new Map(i).set(r,{pkVal:e,col:t,newVal:n}))},[]),commitAll:(0,q.useCallback)(async()=>{if(!e)return;let r=new Map;for(let n of a.current.values()){let i=String(n.pkVal);i.startsWith(`__new_`)?(r.has(i)||r.set(i,{}),r.get(i)[n.col]=n.newVal):t(e,n.pkVal,n.col,n.newVal)}if(n)for(let e of r.values())await n(e);o.current=!0},[e,t,n]),discardAll:(0,q.useCallback)(()=>{i(new Map),o.current=!1},[]),hasPending:r.size>0,pendingCount:r.size,committedRef:o}}function dc(e,t){let[n,r]=(0,q.useState)(new Set);return{effectiveRows:(0,q.useMemo)(()=>{if(n.size===0||!t)return e;let r=[],i=[];for(let a of e)n.has(String(a[t]??``))?i.push(a):r.push(a);return[...r,...i]},[e,n,t]),pinnedCount:n.size,pinnedPks:n,setPinnedPks:r}}function fc(e,t){if(!t)return null;let n=e[t];return n==null?null:String(n)}function pc(e,t){if(!e)return null;let{displayRows:n,pkCol:r,selectedTable:i,connectionId:a}=t,{kind:o,rowIdx:s,pk:c,colName:l}=e,u=(r&&c!==null?n.find(e=>fc(e,r)===c):void 0)??n[s];if(!u)return null;let d=i??``,f=d?` — ${d}`:``;if(o===`row`)return{title:c?`Row #${c}${f}`:`Row${f}`,content:JSON.stringify(u,null,2),language:`json`,viewerKey:`${a}:${d}:row:${c??``}`};if(!l)return null;let p=tc(u[l]),m=c??String(s);return{title:`${l} #${m}${f}`,content:p,language:nc(p),viewerKey:`${a}:${d}:${l}:${m}`}}function mc(e){let{displayRows:t,columnOrder:n,schema:r,pkCol:i,connectionId:a,connectionName:o,selectedTable:s,selectedSchema:c,addEdit:l,gridSelection:u,containerRef:d}=e,{openTab:f}=O(k(e=>({openTab:e.openTab}))),[p,m]=(0,q.useState)(null),h=(0,q.useRef)(t);h.current=t;let g=(0,q.useRef)(n);g.current=n;let _=(0,q.useCallback)(e=>fc(e,i),[i]),v=(0,q.useCallback)(e=>{let n=t[e];n&&m({kind:`row`,rowIdx:e,pk:_(n)})},[t,_]),y=(0,q.useCallback)((e,r)=>{let i=t[e];if(!i)return;let a=n[r];a&&m({kind:`cell`,rowIdx:e,pk:_(i),colName:a})},[t,n,_]),b=(0,q.useCallback)(()=>m(null),[]),x=(0,q.useMemo)(()=>pc(p,{displayRows:t,pkCol:i,selectedTable:s,connectionId:a}),[p,t,i,s,a]),S=(0,q.useCallback)(()=>{x&&f({type:`editor`,title:x.title,projectId:null,closable:!0,metadata:{inlineContent:x.content,inlineLanguage:x.language,viewerKey:x.viewerKey}})},[f,x]),C=(0,q.useCallback)((e,t)=>{if(!i)return!1;let[n,a]=e;for(let e=0;e<t.length;e++){let o=h.current[a+e];if(!o)continue;let s=o[i];for(let i=0;i<t[e].length;i++){let a=g.current[n+i];if(!a||r.find(e=>e.name===a)?.pk)continue;let o=t[e][i];l(s,a,o===``?null:o)}}return!1},[i,r,l]),w=(0,q.useRef)(r);w.current=r;let T=(0,q.useRef)(u);T.current=u;let E=(0,q.useRef)(l);E.current=l;let D=(0,q.useRef)(i);return D.current=i,(0,q.useEffect)(()=>{if(!d)return;let e=e=>{let t=d.current;if(!t||!t.contains(document.activeElement))return;let n=document.activeElement?.tagName;if(n===`INPUT`||n===`TEXTAREA`)return;let r=D.current;if(!r)return;let i=T.current?.current;if(!i)return;let a=e.clipboardData?.getData(`text/plain`);if(!a)return;let o=a.split(/\r?\n/).filter(e=>e.length>0).map(e=>e.split(` `));if(o.length===0)return;let[s,c]=i.cell;for(let e=0;e<o.length;e++){let t=h.current[c+e];if(!t)continue;let n=t[r];for(let t=0;t<o[e].length;t++){let r=g.current[s+t];if(!r||w.current.find(e=>e.name===r)?.pk)continue;let i=o[e][t];E.current(n,r,i===``?null:i)}}e.preventDefault()};return document.addEventListener(`paste`,e),()=>document.removeEventListener(`paste`,e)},[d]),{previewData:x,closePreview:b,openRowPreview:v,openCellPreview:y,openPreviewInTab:S,handlePaste:C,getContextFk:(0,q.useCallback)(e=>e?r.find(t=>t.name===e)?.fk??null:null,[r]),isCellViewable:(0,q.useCallback)((e,t)=>e&&t?ec(e[t]):!1,[]),openFkTable:(0,q.useCallback)((e,t)=>{t==null||!a||f({type:`database`,title:`${o??`DB`} · ${e.table}`,projectId:null,closable:!0,metadata:{connectionId:a,connectionName:o,tableName:e.table,schemaName:c??`public`,initialSql:`SELECT * FROM "${e.table}" WHERE "${e.column}" = '${String(t).replace(/'/g,`''`)}'`}})},[a,o,c,f])}}function hc({colName:e,bounds:t,isPinned:n,filterValue:r,sortState:i,onFilter:a,onSort:o,onClearSort:c,onTogglePin:l,onClose:m}){let[g,_]=(0,q.useState)(r),v=(0,q.useRef)(null),y=(0,q.useRef)(void 0);(0,q.useEffect)(()=>{let e=e=>{v.current&&!v.current.contains(e.target)&&m()};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[m]),(0,q.useEffect)(()=>{let e=e=>{e.key===`Escape`&&m()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[m]);let b=e=>{_(e),clearTimeout(y.current),y.current=setTimeout(()=>a(e),300)},x=Math.min(t.x,window.innerWidth-220-8),S=t.y+t.height+2,C=document.getElementById(`portal`);return C?(0,Ze.createPortal)((0,J.jsxs)(`div`,{ref:v,style:{position:`fixed`,left:x,top:S,zIndex:1e4},className:`w-[220px] bg-popover border border-border rounded-md shadow-lg text-xs overflow-hidden`,children:[(0,J.jsx)(`div`,{className:`px-3 py-1.5 border-b border-border text-muted-foreground font-medium truncate`,children:e}),(0,J.jsx)(`div`,{className:`px-2 py-1.5 border-b border-border`,children:(0,J.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,J.jsx)(p,{className:`size-3 text-muted-foreground shrink-0`}),(0,J.jsx)(`input`,{autoFocus:!0,type:`text`,value:g,onChange:e=>b(e.target.value),placeholder:`Filter (ILIKE)…`,className:`flex-1 bg-transparent outline-none text-foreground placeholder:text-muted-foreground text-xs`}),g&&(0,J.jsx)(`button`,{type:`button`,onClick:()=>b(``),className:`text-muted-foreground hover:text-foreground`,children:(0,J.jsx)(s,{className:`size-3`})})]})}),(0,J.jsxs)(`div`,{className:`py-1`,children:[(0,J.jsxs)(`button`,{type:`button`,onClick:()=>{o(),m()},className:`w-full text-left px-3 py-1.5 hover:bg-muted flex items-center gap-2 text-foreground`,children:[i===`asc`?(0,J.jsx)(f,{className:`size-3`}):(0,J.jsx)(h,{className:`size-3`}),i===`asc`?`Sort Descending`:`Sort Ascending`]}),i&&c&&(0,J.jsxs)(`button`,{type:`button`,onClick:()=>{c(),m()},className:`w-full text-left px-3 py-1.5 hover:bg-muted flex items-center gap-2 text-foreground`,children:[(0,J.jsx)(s,{className:`size-3`}),`Clear Sort`]}),(0,J.jsxs)(`button`,{type:`button`,onClick:()=>{l(),m()},className:`w-full text-left px-3 py-1.5 hover:bg-muted flex items-center gap-2 text-foreground`,children:[n?(0,J.jsx)(d,{className:`size-3`}):(0,J.jsx)(u,{className:`size-3`}),n?`Unpin Column`:`Pin Column`]})]})]}),C):null}function gc({position:e,isPinned:t,onViewRow:n,onViewCell:r,onPinRow:i,onDeleteRow:a,onOpenFkTable:o,fkLabel:s,onClose:c}){let[l,f]=(0,q.useState)(!1),p=(0,q.useRef)(null);(0,q.useEffect)(()=>{let e=e=>{p.current&&!p.current.contains(e.target)&&c()};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[c]),(0,q.useEffect)(()=>{let e=e=>{e.key===`Escape`&&c()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[c]);let h=Math.min(e.x,window.innerWidth-180-8),g=Math.min(e.y,window.innerHeight-130-8),_=document.getElementById(`portal`);return _?(0,Ze.createPortal)((0,J.jsxs)(`div`,{ref:p,style:{position:`fixed`,left:h,top:g,zIndex:1e4},className:`w-[180px] bg-popover border border-border rounded-md shadow-lg text-xs overflow-hidden py-1`,children:[(0,J.jsxs)(`button`,{type:`button`,onClick:()=>{n(),c()},className:`w-full text-left px-3 py-1.5 hover:bg-muted flex items-center gap-2 text-foreground`,children:[(0,J.jsx)(y,{className:`size-3`}),` View as JSON`]}),r&&(0,J.jsxs)(`button`,{type:`button`,onClick:()=>{r(),c()},className:`w-full text-left px-3 py-1.5 hover:bg-muted flex items-center gap-2 text-foreground`,children:[(0,J.jsx)(y,{className:`size-3`}),` View Cell`]}),o&&(0,J.jsxs)(`button`,{type:`button`,onClick:()=>{o(),c()},className:`w-full text-left px-3 py-1.5 hover:bg-muted flex items-center gap-2 text-primary`,children:[(0,J.jsx)(m,{className:`size-3`}),` `,s??`Open Referenced Table`]}),(0,J.jsxs)(`button`,{type:`button`,onClick:()=>{i(),c()},className:`w-full text-left px-3 py-1.5 hover:bg-muted flex items-center gap-2 text-foreground`,children:[t?(0,J.jsx)(d,{className:`size-3`}):(0,J.jsx)(u,{className:`size-3`}),t?`Unpin Row`:`Pin Row`]}),(0,J.jsx)(`div`,{className:`border-t border-border my-0.5`}),l?(0,J.jsxs)(`div`,{className:`px-3 py-1.5 flex items-center gap-2`,children:[(0,J.jsx)(`button`,{type:`button`,onClick:()=>{a(),c()},className:`text-destructive font-medium hover:underline`,children:`Delete?`}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>f(!1),className:`text-muted-foreground hover:underline`,children:`Cancel`})]}):(0,J.jsxs)(`button`,{type:`button`,onClick:()=>f(!0),className:`w-full text-left px-3 py-1.5 hover:bg-muted flex items-center gap-2 text-destructive`,children:[(0,J.jsx)(w,{className:`size-3`}),` Delete Row`]})]}),_):null}function _c({columns:e,onSelect:t,onClose:n,anchorRect:r}){let[i,a]=(0,q.useState)(``),[o,s]=(0,q.useState)(0),c=(0,q.useRef)(null),l=(0,q.useRef)(null),u=i?e.filter(e=>e.toLowerCase().includes(i.toLowerCase())):e;(0,q.useEffect)(()=>{s(0)},[i]),(0,q.useEffect)(()=>{let e=l.current;e&&e.children[o]?.scrollIntoView({block:`nearest`})},[o]),(0,q.useEffect)(()=>{let e=e=>{c.current&&!c.current.contains(e.target)&&n()};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[n]);let d=(0,q.useCallback)(e=>{if(e.key===`Escape`){n();return}if(e.key===`ArrowDown`){e.preventDefault(),s(e=>Math.min(e+1,u.length-1));return}if(e.key===`ArrowUp`){e.preventDefault(),s(e=>Math.max(e-1,0));return}if(e.key===`Enter`){e.preventDefault();let r=u[o];r&&(t(r),n())}},[u,o,t,n]),f=document.getElementById(`portal`);return f?(0,Ze.createPortal)((0,J.jsxs)(`div`,{ref:c,style:{position:`fixed`,left:Math.min(r.x,window.innerWidth-216),top:Math.min(r.y,window.innerHeight-308),zIndex:1e4},className:`w-[200px] max-h-[300px] bg-popover border border-border rounded-md shadow-lg text-xs overflow-hidden flex flex-col`,children:[(0,J.jsx)(`div`,{className:`px-2 py-1.5 border-b border-border`,children:(0,J.jsx)(`input`,{autoFocus:!0,value:i,onChange:e=>a(e.target.value),onKeyDown:d,placeholder:`Search columns…`,className:`w-full bg-transparent outline-none text-foreground placeholder:text-muted-foreground text-xs`})}),(0,J.jsxs)(`div`,{ref:l,className:`overflow-y-auto py-1`,children:[u.map((e,r)=>(0,J.jsx)(`button`,{type:`button`,onClick:()=>{t(e),n()},onMouseEnter:()=>s(r),className:`w-full text-left px-3 py-1 truncate text-foreground ${r===o?`bg-muted`:`hover:bg-muted`}`,children:e},e)),u.length===0&&(0,J.jsx)(`div`,{className:`px-3 py-2 text-muted-foreground`,children:`No columns found`})]})]}),f):null}function vc({hasSelection:e,selectedCount:t,onBulkDelete:n,onInsertRow:r,columns:i,selectedRows:o,connectionName:c,searchTerm:l,onSearchChange:u,onColumnJump:d,colSearchOpen:f,onColSearchChange:p}){let[m,h]=(0,q.useState)(!1),[_,v]=(0,q.useState)(!1),y=f??_,b=p??v,S=(0,q.useRef)(null),C=S.current?(()=>{let e=S.current.getBoundingClientRect();return{x:e.left,y:e.bottom+4}})():{x:0,y:0};return(0,J.jsxs)(`div`,{className:`flex items-center gap-2 px-2 py-1 border-b border-border bg-background shrink-0`,children:[e&&(0,J.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs`,children:[(0,J.jsxs)(`span`,{className:`text-muted-foreground`,children:[t,` selected`]}),n&&(m?(0,J.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,J.jsxs)(`button`,{type:`button`,onClick:()=>{n(),h(!1)},className:`text-destructive text-[10px] font-medium hover:underline`,children:[`Delete `,t,`?`]}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>h(!1),className:`text-muted-foreground text-[10px] hover:underline`,children:`Cancel`})]}):(0,J.jsx)(`button`,{type:`button`,onClick:()=>h(!0),className:`p-0.5 text-muted-foreground hover:text-destructive`,children:(0,J.jsx)(w,{className:`size-3`})})),(0,J.jsx)($e,{columns:i,rows:o,filename:`${c??`db`}-selected`})]}),(0,J.jsx)(`div`,{className:`flex-1`}),(0,J.jsxs)(`div`,{className:`flex items-center gap-1 text-xs`,children:[(0,J.jsx)(g,{className:`size-3 text-muted-foreground`}),(0,J.jsx)(`input`,{value:l,onChange:e=>u(e.target.value),placeholder:`Search page…`,className:`w-24 bg-transparent outline-none text-foreground placeholder:text-muted-foreground text-xs`}),l&&(0,J.jsx)(`button`,{type:`button`,onClick:()=>u(``),className:`text-muted-foreground hover:text-foreground`,children:(0,J.jsx)(s,{className:`size-3`})})]}),d&&(0,J.jsx)(`button`,{ref:S,type:`button`,onClick:()=>b(!y),className:`p-0.5 rounded text-muted-foreground hover:text-foreground transition-colors`,title:`Jump to column (/)`,children:(0,J.jsx)(a,{className:`size-3.5`})}),r&&(0,J.jsx)(`button`,{type:`button`,onClick:r,className:`p-0.5 rounded text-muted-foreground hover:text-primary transition-colors`,title:`Insert row`,children:(0,J.jsx)(x,{className:`size-3.5`})}),y&&d&&(0,J.jsx)(_c,{columns:i,onSelect:d,onClose:()=>b(!1),anchorRect:C})]})}function yc({pendingCount:e,onSave:t,onDiscard:n}){return e===0?null:(0,J.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-1.5 border-t border-warning/50 bg-warning/5 shrink-0 text-xs`,children:[(0,J.jsxs)(`span`,{className:`text-warning font-medium`,children:[e,` pending edit`,e>1?`s`:``]}),(0,J.jsx)(`div`,{className:`flex-1`}),(0,J.jsxs)(`button`,{type:`button`,onClick:n,className:`flex items-center gap-1 px-2 py-0.5 rounded text-muted-foreground hover:text-foreground hover:bg-muted transition-colors`,children:[(0,J.jsx)(c,{className:`size-3`}),` Discard`]}),(0,J.jsxs)(`button`,{type:`button`,onClick:t,className:`flex items-center gap-1 px-2 py-0.5 rounded bg-primary text-primary-foreground hover:bg-primary/90 transition-colors`,children:[(0,J.jsx)(C,{className:`size-3`}),` Save`,(0,J.jsx)(`kbd`,{className:`ml-1 text-[9px] opacity-70`,children:`⌘↵`})]})]})}function bc({total:e,page:t,totalPages:n,onPageChange:r}){return(0,J.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-1.5 border-t border-border bg-background shrink-0 text-xs text-muted-foreground`,children:[(0,J.jsxs)(`span`,{children:[e.toLocaleString(),` rows`]}),(0,J.jsxs)(`div`,{className:`hidden md:flex items-center gap-2 text-[10px] text-muted-foreground/50`,children:[(0,J.jsxs)(`span`,{children:[(0,J.jsx)(`kbd`,{className:`px-1 py-0.5 rounded bg-muted text-[9px]`,children:`/`}),` columns`]}),(0,J.jsxs)(`span`,{children:[(0,J.jsxs)(`kbd`,{className:`px-1 py-0.5 rounded bg-muted text-[9px]`,children:[`⌘`,`A`]}),` select all`]}),(0,J.jsxs)(`span`,{children:[(0,J.jsxs)(`kbd`,{className:`px-1 py-0.5 rounded bg-muted text-[9px]`,children:[`⌘`,`C`]}),` copy`]})]}),(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(`button`,{type:`button`,disabled:t<=1,onClick:()=>r(t-1),className:`p-0.5 rounded hover:bg-muted disabled:opacity-30`,children:(0,J.jsx)(o,{className:`size-3.5`})}),(0,J.jsxs)(`span`,{children:[t,` / `,n]}),(0,J.jsx)(`button`,{type:`button`,disabled:t>=n,onClick:()=>r(t+1),className:`p-0.5 rounded hover:bg-muted disabled:opacity-30`,children:(0,J.jsx)(_,{className:`size-3.5`})})]})]})}function xc(e,t){if(t===`json`)try{return JSON.stringify(JSON.parse(e.trim()),null,2)}catch{return null}if(t===`xml`){let t=0;return e.trim().replace(/>\s*</g,`>
|
|
137
|
+
`)[0];return e.measureText(r).width+2*n.cellHorizontalPadding},draw:e=>Rn(e,e.cell.data,e.cell.contentAlign),onDelete:e=>({...e,data:``}),provideEditor:()=>e=>{let{onChange:t,value:n,target:r,onFinishedEditing:i,markdownDivCreateNode:a,forceEditMode:o,validatedSelection:s}=e;return q.createElement(Es,{onFinish:i,targetRect:r,value:n,validatedSelection:s,onChange:e=>t({...n,data:e.target.value}),forceEditMode:o,createNode:a})},onPaste:(e,t)=>e===t.data?void 0:{...t,data:e}},Os={getAccessibilityString:e=>e.row.toString(),kind:be.Marker,needsHover:!0,needsHoverPosition:!1,drawPrep:ks,measure:()=>44,draw:e=>js(e,e.cell.row,e.cell.checked,e.cell.markerKind,e.cell.drawHandle,e.cell.checkboxStyle),onClick:e=>{let{bounds:t,cell:n,posX:r,posY:i}=e,{width:a,height:o}=t,s=n.drawHandle?7+(a-7)/2:a/2,c=o/2;if(Math.abs(r-s)<=10&&Math.abs(i-c)<=10)return{...n,checked:!n.checked}},onPaste:()=>void 0};function ks(e,t){let{ctx:n,theme:r}=e,i=r.markerFontFull,a=t??{};return a?.font!==i&&(n.font=i,a.font=i),a.deprep=As,n.textAlign=`center`,a}function As(e){let{ctx:t}=e;t.textAlign=`start`}function js(e,t,n,r,i,a){let{ctx:o,rect:s,hoverAmount:c,theme:l}=e,{x:u,y:d,width:f,height:p}=s,m=n?1:r===`checkbox-visible`?.6+.4*c:c;if(r!==`number`&&m>0){o.globalAlpha=m;let e=7*(n?c:1);if(ii(o,l,n,i?u+e:u,d,i?f-e:f,p,!0,void 0,void 0,18,`center`,a),i){o.globalAlpha=c,o.beginPath();for(let e of[3,6])for(let t of[-5,-1,3])o.rect(u+e,d+p/2+t,2,2);o.fillStyle=l.textLight,o.fill(),o.beginPath()}o.globalAlpha=1}if(r===`number`||r===`both`&&!n){let e=t.toString(),n=l.markerFontFull,i=u+f/2;r===`both`&&c!==0&&(o.globalAlpha=1-c),o.fillStyle=l.textLight,o.font=n,o.fillText(e,i,d+p/2+On(o,n)),c!==0&&(o.globalAlpha=1)}}var Ms={getAccessibilityString:()=>``,kind:be.NewRow,needsHover:!0,needsHoverPosition:!1,measure:()=>200,draw:e=>Ns(e,e.cell.hint,e.cell.icon),onPaste:()=>void 0};function Ns(e,t,n){let{ctx:r,rect:i,hoverAmount:a,theme:o,spriteManager:s}=e,{x:c,y:l,width:u,height:d}=i;r.beginPath(),r.globalAlpha=a,r.rect(c+1,l+1,u,d-2),r.fillStyle=o.bgHeaderHovered,r.fill(),r.globalAlpha=1,r.beginPath();let f=t!==``,p=0;if(n!==void 0){let e=d-8,t=c+8/2,i=l+8/2;s.drawSprite(n,`normal`,r,t,i,e,o,f?1:a),p=e}else{p=24;let e=f?12:a*12,t=f?0:(1-a)*12*.5,n=o.cellHorizontalPadding+4;e>0&&(r.moveTo(c+n+t,l+d/2),r.lineTo(c+n+t+e,l+d/2),r.moveTo(c+n+t+e*.5,l+d/2-e*.5),r.lineTo(c+n+t+e*.5,l+d/2+e*.5),r.lineWidth=2,r.strokeStyle=o.bgIconHeader,r.lineCap=`round`,r.stroke())}r.fillStyle=o.textMedium,r.fillText(t,p+c+o.cellHorizontalPadding+.5,l+d/2+On(r,o)),r.beginPath()}var Ps=q.lazy(async()=>await D(()=>import(`./number-overlay-editor-CRGwULhR.js`),__vite__mapDeps([6,1,2,3]))),Fs={getAccessibilityString:e=>e.data?.toString()??``,kind:W.Number,needsHover:!1,needsHoverPosition:!1,useLabel:!0,drawPrep:Nn,draw:e=>Rn(e,e.cell.displayData,e.cell.contentAlign),measure:(e,t,n)=>e.measureText(t.displayData).width+n.cellHorizontalPadding*2,onDelete:e=>({...e,data:void 0}),provideEditor:()=>e=>{let{isHighlighted:t,onChange:n,value:r,validatedSelection:i}=e;return q.createElement(q.Suspense,{fallback:null},q.createElement(Ps,{highlight:t,disabled:r.readonly===!0,value:r.data,fixedDecimals:r.fixedDecimals,allowNegative:r.allowNegative,thousandSeparator:r.thousandSeparator,decimalSeparator:r.decimalSeparator,validatedSelection:i,onChange:e=>n({...r,data:Number.isNaN(e.floatValue??0)?0:e.floatValue})}))},onPaste:(e,t,n)=>{let r=typeof n.rawValue==`number`?n.rawValue:Number.parseFloat(typeof n.rawValue==`string`?n.rawValue:e);if(!(Number.isNaN(r)||t.data===r))return{...t,data:r,displayData:n.formattedString??t.displayData}}},Is={getAccessibilityString:()=>``,measure:()=>108,kind:W.Protected,needsHover:!1,needsHoverPosition:!1,draw:Ls,onPaste:()=>void 0};function Ls(e){let{ctx:t,theme:n,rect:r}=e,{x:i,y:a,height:o}=r;t.beginPath();let s=2.5,c=i+n.cellHorizontalPadding+s,l=a+o/2,u=Math.cos(Dt(30))*s,d=Math.sin(Dt(30))*s;for(let e=0;e<12;e++)t.moveTo(c,l-s),t.lineTo(c,l+s),t.moveTo(c+u,l-d),t.lineTo(c-u,l+d),t.moveTo(c-u,l-d),t.lineTo(c+u,l+d),c+=8;t.lineWidth=1.1,t.lineCap=`square`,t.strokeStyle=n.textLight,t.stroke()}var Rs={getAccessibilityString:e=>e.data?.toString()??``,kind:W.RowID,needsHover:!1,needsHoverPosition:!1,drawPrep:(e,t)=>Nn(e,t,e.theme.textLight),draw:e=>Rn(e,e.cell.data,e.cell.contentAlign),measure:(e,t,n)=>e.measureText(t.data).width+n.cellHorizontalPadding*2,provideEditor:()=>e=>{let{isHighlighted:t,onChange:n,value:r,validatedSelection:i}=e;return q.createElement(Zt,{highlight:t,autoFocus:r.readonly!==!0,disabled:r.readonly!==!1,value:r.data,validatedSelection:i,onChange:e=>n({...r,data:e.target.value})})},onPaste:()=>void 0},zs={getAccessibilityString:e=>e.data?.toString()??``,kind:W.Text,needsHover:e=>e.hoverEffect===!0,needsHoverPosition:!1,drawPrep:Nn,useLabel:!0,draw:e=>{let{cell:t,hoverAmount:n,hyperWrapping:r,ctx:i,rect:a,theme:o,overrideCursor:s}=e,{displayData:c,contentAlign:l,hoverEffect:u,allowWrapping:d}=t;if(u===!0&&n>0){i.textBaseline=`alphabetic`;let e=o.cellHorizontalPadding,t=o.cellVerticalPadding,r=En(c,i,o.baseFontFull,`alphabetic`),l=a.height-t,u=Math.min(l,r.actualBoundingBoxAscent*2.5);i.beginPath(),Z(i,a.x+e/2,a.y+(a.height-u)/2+1,r.width+e*3,u-1,o.roundingRadius??4),i.globalAlpha=n,i.fillStyle=pe(o.textDark,.1),i.fill(),i.globalAlpha=1,i.fillStyle=o.textDark,i.textBaseline=`middle`,s?.(`text`)}Rn(e,c,l,d,r)},measure:(e,t,n)=>{let r=t.displayData.split(`
|
|
138
|
+
`,t.allowWrapping===!0?void 0:1),i=0;for(let t of r)i=Math.max(i,e.measureText(t).width);return i+2*n.cellHorizontalPadding},onDelete:e=>({...e,data:``}),provideEditor:e=>({disablePadding:e.allowWrapping===!0,editor:t=>{let{isHighlighted:n,onChange:r,value:i,validatedSelection:a}=t;return q.createElement(Zt,{style:e.allowWrapping===!0?{padding:`3px 8.5px`}:void 0,highlight:n,autoFocus:i.readonly!==!0,disabled:i.readonly===!0,altNewline:!0,value:i.data,validatedSelection:a,onChange:e=>r({...i,data:e.target.value})})}}),onPaste:(e,t,n)=>e===t.data?void 0:{...t,data:e,displayData:n.formattedString??t.displayData}},Bs=je(`div`)({name:`UriOverlayEditorStyle`,class:`gdg-u1rrojo`,propsAsIs:!1}),Vs=e=>{let{uri:t,onChange:n,forceEditMode:r,readonly:i,validatedSelection:a,preview:o}=e,[s,c]=q.useState(!i&&(t===``||r)),l=q.useCallback(()=>{c(!0)},[]);return s?q.createElement(Zt,{validatedSelection:a,highlight:!0,autoFocus:!0,value:t,onChange:n}):q.createElement(Bs,null,q.createElement(`a`,{className:`gdg-link-area`,href:t,target:`_blank`,rel:`noopener noreferrer`},o),!i&&q.createElement(`div`,{className:`gdg-edit-icon`,onClick:l},q.createElement(Mt,null)),q.createElement(`textarea`,{className:`gdg-input`,autoFocus:!0}))};function Hs(e,t,n,r){let i=n.cellHorizontalPadding,a=t.height/2-e.actualBoundingBoxAscent/2,o=e.width,s=e.actualBoundingBoxAscent;return r===`right`?i=t.width-o-n.cellHorizontalPadding:r===`center`&&(i=t.width/2-o/2),{x:i,y:a,width:o,height:s}}var Us=[Os,Ms,as,ls,ms,ys,Cs,Ds,Fs,Is,Rs,zs,{getAccessibilityString:e=>e.data?.toString()??``,kind:W.Uri,needsHover:e=>e.hoverEffect===!0,needsHoverPosition:!0,useLabel:!0,drawPrep:Nn,draw:e=>{let{cell:t,theme:n,overrideCursor:r,hoverX:i,hoverY:a,rect:o,ctx:s}=e,c=t.displayData??t.data,l=t.hoverEffect===!0;if(r!==void 0&&l&&i!==void 0&&a!==void 0){let{x:l,y:u,width:d,height:f}=Hs(En(c,s,n.baseFontFull),o,n,t.contentAlign);if(i>=l-4&&i<=l-4+d+8&&a>=u-4&&a<=u-4+f+8){let i=On(s,n.baseFontFull);r(`pointer`);let a=u-i;s.beginPath(),s.moveTo(o.x+l,Math.floor(o.y+a+f+5)+.5),s.lineTo(o.x+l+d,Math.floor(o.y+a+f+5)+.5),s.strokeStyle=n.linkColor,s.stroke(),s.save(),s.fillStyle=e.cellFillColor,Rn({...e,rect:{...o,x:o.x-1}},c,t.contentAlign),Rn({...e,rect:{...o,x:o.x-2}},c,t.contentAlign),Rn({...e,rect:{...o,x:o.x+1}},c,t.contentAlign),Rn({...e,rect:{...o,x:o.x+2}},c,t.contentAlign),s.restore()}}s.fillStyle=l?n.linkColor:n.textDark,Rn(e,c,t.contentAlign)},onClick:e=>{let{cell:t,bounds:n,posX:r,posY:i,theme:a}=e,o=t.displayData??t.data;if(t.hoverEffect!==!0||t.onClickUri===void 0)return;let s=Dn(o,a.baseFontFull);if(s===void 0)return;let c=Hs(s,n,a,t.contentAlign);Gr({x:c.x-4,y:c.y-4,width:c.width+8,height:c.height+8},r,i)&&t.onClickUri(e)},measure:(e,t,n)=>e.measureText(t.displayData??t.data).width+n.cellHorizontalPadding*2,onDelete:e=>({...e,data:``}),provideEditor:e=>t=>{let{onChange:n,value:r,forceEditMode:i,validatedSelection:a}=t;return q.createElement(Vs,{forceEditMode:r.readonly!==!0&&(i||e.hoverEffect===!0&&e.onClickUri!==void 0),uri:r.data,preview:r.displayData??r.data,validatedSelection:a,readonly:r.readonly===!0,onChange:e=>n({...r,data:e.target.value})})},onPaste:(e,t,n)=>e===t.data?void 0:{...t,data:e,displayData:n.formattedString??t.displayData}}],Ws=e(t(((e,t)=>{var n=St(),r=ue(),i=`Expected a function`;function a(e,t,a){var o=!0,s=!0;if(typeof e!=`function`)throw TypeError(i);return r(a)&&(o=`leading`in a?!!a.leading:o,s=`trailing`in a?!!a.trailing:s),n(e,t,{leading:o,maxWait:t,trailing:s})}t.exports=a}))(),1),Gs=[],Ks=class extends qn{imageLoaded=()=>void 0;loadedLocations=[];cache={};setCallback(e){this.imageLoaded=e}sendLoaded=(0,Ws.default)(()=>{this.imageLoaded(new Yn(this.loadedLocations)),this.loadedLocations=[]},20);clearOutOfWindow=()=>{let e=Object.keys(this.cache);for(let t of e){let e=this.cache[t],n=!1;for(let t=0;t<e.cells.length;t++){let r=e.cells[t];if(this.isInWindow(r)){n=!0;break}}n?e.cells=e.cells.filter(this.isInWindow):(e.cancel(),delete this.cache[t])}};loadImage(e,t,n,r){let i=!1,a=Gs.pop()??new Image,o=!1,s={img:void 0,cells:[Un(t,n)],url:e,cancel:()=>{o||(o=!0,Gs.length<12?Gs.unshift(a):i||(a.src=``))}},c=new Promise(e=>a.addEventListener(`load`,()=>e(null)));requestAnimationFrame(async()=>{try{a.src=e,await c,await a.decode();let t=this.cache[r];if(t!==void 0&&!o){t.img=a;for(let e of t.cells)this.loadedLocations.push(Kn(e));i=!0,this.sendLoaded()}}catch{s.cancel()}}),this.cache[r]=s}loadOrGetImage(e,t,n){let r=e,i=this.cache[r];if(i!==void 0){let e=Un(t,n);return i.cells.includes(e)||i.cells.push(e),i.img}else this.loadImage(e,t,n,r)}},qs=q.forwardRef((e,t)=>{let n=q.useMemo(()=>({...Fr,...e.headerIcons}),[e.headerIcons]),r=q.useMemo(()=>e.imageWindowLoader??new Ks,[e.imageWindowLoader]);return q.createElement(rs,{...e,renderers:Us,headerIcons:n,ref:t,imageWindowLoader:r})});function Js(e){return getComputedStyle(document.documentElement).getPropertyValue(e).trim()}function Ys(e,t){if(e.startsWith(`#`)){let n=e.slice(1);return`rgba(${parseInt(n.slice(0,2),16)}, ${parseInt(n.slice(2,4),16)}, ${parseInt(n.slice(4,6),16)}, ${t})`}return e}function Xs(){let e=Js(`--color-background`),t=Js(`--color-foreground`),n=te(Js(`--color-muted`),e),r=Js(`--color-muted-foreground`),i=Js(`--color-primary`),a=Js(`--color-primary-foreground`),o=Js(`--color-border`),s=Js(`--color-primary`),c=Js(`--color-text-secondary`),l=Js(`--color-text-subtle`),u=Js(`--font-sans`)||`Geist, system-ui, sans-serif`;return{bgCell:e,bgCellMedium:n,bgHeader:n,bgHeaderHasFocus:s,bgHeaderHovered:s,bgBubble:s,bgBubbleSelected:i,textDark:t,textMedium:c,textLight:l,textHeader:r,textGroupHeader:r,textHeaderSelected:t,textBubble:t,accentColor:i,accentFg:a,accentLight:Ys(i,.12),borderColor:o,horizontalBorderColor:o,fontFamily:u,baseFontStyle:`13px`,headerFontStyle:`600 12px`,editorFontSize:`13px`,lineHeight:1.5,cellHorizontalPadding:8,cellVerticalPadding:4,headerIconSize:16}}function Zs(){let[e,t]=(0,q.useState)(0);return(0,q.useEffect)(()=>{let e=()=>t(e=>e+1),n=new MutationObserver(e);return n.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]}),window.addEventListener(`ppm:theme-change`,e),()=>{n.disconnect(),window.removeEventListener(`ppm:theme-change`,e)}},[]),(0,q.useMemo)(()=>Xs(),[e])}function Qs(e,t,n){let r=e.length*9+40,i=0,a=Math.min(t.length,20);for(let n=0;n<a;n++){let r=t[n]?.[e];if(r==null)continue;let a=typeof r==`object`?12:String(r).length;i=Math.max(i,a*8)}let o=/^(int|serial|bigint|smallint|float|double|decimal|numeric|real|money|bool)/.test(n.toLowerCase())?80:100;return Math.max(o,Math.min(Math.max(r,i)+16,400))}function $s(e,t,n,r,i,a,o){let s=(0,q.useMemo)(()=>new Map(e.map(e=>[e.name,e])),[e]),c=(0,q.useMemo)(()=>{let e=new Map;for(let n of t)e.set(n,Qs(n,i,s.get(n)?.type??`text`));return e},[t.join(`|`),e.map(e=>`${e.name}:${e.type}`).join(`|`),i.length>0]);return(0,q.useMemo)(()=>{let e=t.filter(e=>n.has(e)),i=t.filter(e=>!n.has(e)),l=[...e,...i];return{columns:l.map(e=>{let t=s.get(e),n=t?.pk??!1,i;return a===e?i=o===`ASC`?`sortAsc`:`sortDesc`:n?i=`headerRowID`:t?.fk&&(i=`headerFk`),{title:e,id:e,width:r.get(e)??c.get(e)??100,hasMenu:!0,icon:i}}),freezeColumns:e.length,columnOrder:l}},[s,t,n,r,c,a,o])}function ec(e){if(e==null)return!1;if(typeof e==`object`)return!0;let t=String(e);if(t.length>=200)return!0;let n=t.trimStart();return!!((n[0]===`{`||n[0]===`[`)&&(n.endsWith(`}`)||n.endsWith(`]`))||n.startsWith(`<?xml`)||n.startsWith(`<`)&&n.endsWith(`>`))}function tc(e){return e==null?`NULL`:typeof e==`object`?JSON.stringify(e):String(e)}function nc(e){let t=e.trimStart();if(t[0]===`{`||t[0]===`[`)try{return JSON.parse(t),`json`}catch{}return t.startsWith(`<?xml`)||t.startsWith(`<`)&&/<\/\w+>/.test(t)?`xml`:t.startsWith(`---`)||/^\w+:\s/m.test(t)?`yaml`:`plaintext`}function rc(e){let t=e.toLowerCase();return/^(int|serial|bigint|smallint|float|double|decimal|numeric|real|money)/.test(t)?W.Number:/^bool/.test(t)?W.Boolean:W.Text}function ic(e){let t=e.type.toLowerCase();return!!(/^(serial|bigserial|smallserial)/.test(t)||/^(int|bigint|smallint|integer)/.test(t)&&e.defaultValue&&/nextval|identity|auto_increment/i.test(e.defaultValue)||t===`integer`&&e.pk&&!e.defaultValue)}function ac(e,t=200){return e.length>t?e.slice(0,t)+`…`:e}var oc={bgCell:`rgba(251, 191, 36, 0.15)`};function sc(e,t,n,r,i,a,o=!1){let s=(0,q.useRef)(o);s.current=o;let c=(0,q.useRef)(e);c.current=e;let l=(0,q.useRef)(t);l.current=t;let u=(0,q.useRef)(new Map);return u.current=new Map(n.map(e=>[e.name,e])),{getCellContent:(0,q.useCallback)(([e,t])=>{let n=l.current[e],i=c.current[t];if(!n||!i)return{kind:W.Text,data:``,displayData:``,allowOverlay:!1};let o=u.current.get(n),d=o?rc(o.type):W.Text,f=o?.pk??!1,p=r?i[r]:void 0,m=typeof p==`string`&&p.startsWith(`__new_`),h=`${p}:${n}`,g=a.current.get(h),_=g===void 0?i[n]:g.newVal,v=g!==void 0;if(f&&m){if(o&&ic(o))return{kind:W.Text,data:``,displayData:`AUTO`,allowOverlay:!1,readonly:!0,themeOverride:{textDark:`#6b7280`}};let e=g===void 0?``:String(g.newVal??``);return{kind:W.Text,data:e,displayData:e||`Enter ID…`,allowOverlay:!0,readonly:!1,themeOverride:e?v?oc:void 0:{textDark:`#9ca3af`}}}if(_==null){let e=m?``:`NULL`;if(m&&!v&&o){let t=o.type.toLowerCase();o.defaultValue?e=o.defaultValue:/^(timestamp|datetime|date)/.test(t)?e=`NOW()`:/^(uuid)/.test(t)&&(e=`gen_random_uuid()`)}return{kind:W.Text,data:``,displayData:e,allowOverlay:!f,readonly:f||s.current,themeOverride:v?oc:m||e!==`NULL`?{textDark:`#9ca3af`}:{textDark:`#6b7280`}}}if(d===W.Number&&typeof _==`number`)return{kind:W.Number,data:_,displayData:String(_),allowOverlay:!f,readonly:f||s.current,themeOverride:v?oc:void 0};if(d===W.Boolean&&typeof _==`boolean`)return{kind:W.Boolean,data:_,readonly:f||s.current,allowOverlay:!1};let y=tc(_);return{kind:W.Text,data:y,displayData:ac(y),allowOverlay:!f,readonly:f||s.current,themeOverride:v?oc:void 0}},[]),onCellEdited:(0,q.useCallback)(([e,t],n)=>{if(!r||o)return;let a=l.current[e],s=c.current[t];if(!a||!s)return;let u=s[r],d;if(n.kind===W.Text)d=n.data===``?null:n.data;else if(n.kind===W.Number)d=n.data;else if(n.kind===W.Boolean)d=n.data;else return;i(u,a,d)},[r,o,i])}}var cc={columns:K.empty(),rows:K.empty()};function lc(){let[e,t]=(0,q.useState)(cc);return{gridSelection:e,onGridSelectionChange:(0,q.useCallback)(e=>{t(e)},[]),selectedRowIndices:(0,q.useMemo)(()=>{let t=[];if(e.rows)for(let n of e.rows)if(Array.isArray(n))for(let e=n[0];e<n[1];e++)t.push(e);else t.push(n);return t},[e.rows]),clearSelection:(0,q.useCallback)(()=>{t(cc)},[])}}function uc(e,t,n){let[r,i]=(0,q.useState)(new Map),a=(0,q.useRef)(r);a.current=r;let o=(0,q.useRef)(!1);return{pendingEdits:r,pendingRef:a,addEdit:(0,q.useCallback)((e,t,n)=>{let r=`${e}:${t}`;i(i=>new Map(i).set(r,{pkVal:e,col:t,newVal:n}))},[]),commitAll:(0,q.useCallback)(async()=>{if(!e)return;let r=new Map;for(let n of a.current.values()){let i=String(n.pkVal);i.startsWith(`__new_`)?(r.has(i)||r.set(i,{}),r.get(i)[n.col]=n.newVal):t(e,n.pkVal,n.col,n.newVal)}if(n)for(let e of r.values())await n(e);o.current=!0},[e,t,n]),discardAll:(0,q.useCallback)(()=>{i(new Map),o.current=!1},[]),hasPending:r.size>0,pendingCount:r.size,committedRef:o}}function dc(e,t){let[n,r]=(0,q.useState)(new Set);return{effectiveRows:(0,q.useMemo)(()=>{if(n.size===0||!t)return e;let r=[],i=[];for(let a of e)n.has(String(a[t]??``))?i.push(a):r.push(a);return[...r,...i]},[e,n,t]),pinnedCount:n.size,pinnedPks:n,setPinnedPks:r}}function fc(e,t){if(!t)return null;let n=e[t];return n==null?null:String(n)}function pc(e,t){if(!e)return null;let{displayRows:n,pkCol:r,selectedTable:i,connectionId:a}=t,{kind:o,rowIdx:s,pk:c,colName:l}=e,u=(r&&c!==null?n.find(e=>fc(e,r)===c):void 0)??n[s];if(!u)return null;let d=i??``,f=d?` — ${d}`:``;if(o===`row`)return{title:c?`Row #${c}${f}`:`Row${f}`,content:JSON.stringify(u,null,2),language:`json`,viewerKey:`${a}:${d}:row:${c??``}`};if(!l)return null;let p=tc(u[l]),m=c??String(s);return{title:`${l} #${m}${f}`,content:p,language:nc(p),viewerKey:`${a}:${d}:${l}:${m}`}}function mc(e){let{displayRows:t,columnOrder:n,schema:r,pkCol:i,connectionId:a,connectionName:o,selectedTable:s,selectedSchema:c,addEdit:l,gridSelection:u,containerRef:d}=e,{openTab:f}=O(A(e=>({openTab:e.openTab}))),[p,m]=(0,q.useState)(null),h=(0,q.useRef)(t);h.current=t;let g=(0,q.useRef)(n);g.current=n;let _=(0,q.useCallback)(e=>fc(e,i),[i]),v=(0,q.useCallback)(e=>{let n=t[e];n&&m({kind:`row`,rowIdx:e,pk:_(n)})},[t,_]),y=(0,q.useCallback)((e,r)=>{let i=t[e];if(!i)return;let a=n[r];a&&m({kind:`cell`,rowIdx:e,pk:_(i),colName:a})},[t,n,_]),b=(0,q.useCallback)(()=>m(null),[]),x=(0,q.useMemo)(()=>pc(p,{displayRows:t,pkCol:i,selectedTable:s,connectionId:a}),[p,t,i,s,a]),S=(0,q.useCallback)(()=>{x&&f({type:`editor`,title:x.title,projectId:null,closable:!0,metadata:{inlineContent:x.content,inlineLanguage:x.language,viewerKey:x.viewerKey}})},[f,x]),C=(0,q.useCallback)((e,t)=>{if(!i)return!1;let[n,a]=e;for(let e=0;e<t.length;e++){let o=h.current[a+e];if(!o)continue;let s=o[i];for(let i=0;i<t[e].length;i++){let a=g.current[n+i];if(!a||r.find(e=>e.name===a)?.pk)continue;let o=t[e][i];l(s,a,o===``?null:o)}}return!1},[i,r,l]),w=(0,q.useRef)(r);w.current=r;let T=(0,q.useRef)(u);T.current=u;let E=(0,q.useRef)(l);E.current=l;let D=(0,q.useRef)(i);return D.current=i,(0,q.useEffect)(()=>{if(!d)return;let e=e=>{let t=d.current;if(!t||!t.contains(document.activeElement))return;let n=document.activeElement?.tagName;if(n===`INPUT`||n===`TEXTAREA`)return;let r=D.current;if(!r)return;let i=T.current?.current;if(!i)return;let a=e.clipboardData?.getData(`text/plain`);if(!a)return;let o=a.split(/\r?\n/).filter(e=>e.length>0).map(e=>e.split(` `));if(o.length===0)return;let[s,c]=i.cell;for(let e=0;e<o.length;e++){let t=h.current[c+e];if(!t)continue;let n=t[r];for(let t=0;t<o[e].length;t++){let r=g.current[s+t];if(!r||w.current.find(e=>e.name===r)?.pk)continue;let i=o[e][t];E.current(n,r,i===``?null:i)}}e.preventDefault()};return document.addEventListener(`paste`,e),()=>document.removeEventListener(`paste`,e)},[d]),{previewData:x,closePreview:b,openRowPreview:v,openCellPreview:y,openPreviewInTab:S,handlePaste:C,getContextFk:(0,q.useCallback)(e=>e?r.find(t=>t.name===e)?.fk??null:null,[r]),isCellViewable:(0,q.useCallback)((e,t)=>e&&t?ec(e[t]):!1,[]),openFkTable:(0,q.useCallback)((e,t)=>{t==null||!a||f({type:`database`,title:`${o??`DB`} · ${e.table}`,projectId:null,closable:!0,metadata:{connectionId:a,connectionName:o,tableName:e.table,schemaName:c??`public`,initialSql:`SELECT * FROM "${e.table}" WHERE "${e.column}" = '${String(t).replace(/'/g,`''`)}'`}})},[a,o,c,f])}}function hc({colName:e,bounds:t,isPinned:n,filterValue:r,sortState:i,onFilter:a,onSort:o,onClearSort:c,onTogglePin:l,onClose:m}){let[g,_]=(0,q.useState)(r),v=(0,q.useRef)(null),y=(0,q.useRef)(void 0);(0,q.useEffect)(()=>{let e=e=>{v.current&&!v.current.contains(e.target)&&m()};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[m]),(0,q.useEffect)(()=>{let e=e=>{e.key===`Escape`&&m()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[m]);let b=e=>{_(e),clearTimeout(y.current),y.current=setTimeout(()=>a(e),300)},x=Math.min(t.x,window.innerWidth-220-8),S=t.y+t.height+2,C=document.getElementById(`portal`);return C?(0,Ze.createPortal)((0,J.jsxs)(`div`,{ref:v,style:{position:`fixed`,left:x,top:S,zIndex:1e4},className:`w-[220px] bg-popover border border-border rounded-md shadow-lg text-xs overflow-hidden`,children:[(0,J.jsx)(`div`,{className:`px-3 py-1.5 border-b border-border text-muted-foreground font-medium truncate`,children:e}),(0,J.jsx)(`div`,{className:`px-2 py-1.5 border-b border-border`,children:(0,J.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,J.jsx)(p,{className:`size-3 text-muted-foreground shrink-0`}),(0,J.jsx)(`input`,{autoFocus:!0,type:`text`,value:g,onChange:e=>b(e.target.value),placeholder:`Filter (ILIKE)…`,className:`flex-1 bg-transparent outline-none text-foreground placeholder:text-muted-foreground text-xs`}),g&&(0,J.jsx)(`button`,{type:`button`,onClick:()=>b(``),className:`text-muted-foreground hover:text-foreground`,children:(0,J.jsx)(s,{className:`size-3`})})]})}),(0,J.jsxs)(`div`,{className:`py-1`,children:[(0,J.jsxs)(`button`,{type:`button`,onClick:()=>{o(),m()},className:`w-full text-left px-3 py-1.5 hover:bg-muted flex items-center gap-2 text-foreground`,children:[i===`asc`?(0,J.jsx)(f,{className:`size-3`}):(0,J.jsx)(h,{className:`size-3`}),i===`asc`?`Sort Descending`:`Sort Ascending`]}),i&&c&&(0,J.jsxs)(`button`,{type:`button`,onClick:()=>{c(),m()},className:`w-full text-left px-3 py-1.5 hover:bg-muted flex items-center gap-2 text-foreground`,children:[(0,J.jsx)(s,{className:`size-3`}),`Clear Sort`]}),(0,J.jsxs)(`button`,{type:`button`,onClick:()=>{l(),m()},className:`w-full text-left px-3 py-1.5 hover:bg-muted flex items-center gap-2 text-foreground`,children:[n?(0,J.jsx)(d,{className:`size-3`}):(0,J.jsx)(u,{className:`size-3`}),n?`Unpin Column`:`Pin Column`]})]})]}),C):null}function gc({position:e,isPinned:t,onViewRow:n,onViewCell:r,onPinRow:i,onDeleteRow:a,onOpenFkTable:o,fkLabel:s,onClose:c}){let[l,f]=(0,q.useState)(!1),p=(0,q.useRef)(null);(0,q.useEffect)(()=>{let e=e=>{p.current&&!p.current.contains(e.target)&&c()};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[c]),(0,q.useEffect)(()=>{let e=e=>{e.key===`Escape`&&c()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[c]);let h=Math.min(e.x,window.innerWidth-180-8),g=Math.min(e.y,window.innerHeight-130-8),_=document.getElementById(`portal`);return _?(0,Ze.createPortal)((0,J.jsxs)(`div`,{ref:p,style:{position:`fixed`,left:h,top:g,zIndex:1e4},className:`w-[180px] bg-popover border border-border rounded-md shadow-lg text-xs overflow-hidden py-1`,children:[(0,J.jsxs)(`button`,{type:`button`,onClick:()=>{n(),c()},className:`w-full text-left px-3 py-1.5 hover:bg-muted flex items-center gap-2 text-foreground`,children:[(0,J.jsx)(y,{className:`size-3`}),` View as JSON`]}),r&&(0,J.jsxs)(`button`,{type:`button`,onClick:()=>{r(),c()},className:`w-full text-left px-3 py-1.5 hover:bg-muted flex items-center gap-2 text-foreground`,children:[(0,J.jsx)(y,{className:`size-3`}),` View Cell`]}),o&&(0,J.jsxs)(`button`,{type:`button`,onClick:()=>{o(),c()},className:`w-full text-left px-3 py-1.5 hover:bg-muted flex items-center gap-2 text-primary`,children:[(0,J.jsx)(m,{className:`size-3`}),` `,s??`Open Referenced Table`]}),(0,J.jsxs)(`button`,{type:`button`,onClick:()=>{i(),c()},className:`w-full text-left px-3 py-1.5 hover:bg-muted flex items-center gap-2 text-foreground`,children:[t?(0,J.jsx)(d,{className:`size-3`}):(0,J.jsx)(u,{className:`size-3`}),t?`Unpin Row`:`Pin Row`]}),(0,J.jsx)(`div`,{className:`border-t border-border my-0.5`}),l?(0,J.jsxs)(`div`,{className:`px-3 py-1.5 flex items-center gap-2`,children:[(0,J.jsx)(`button`,{type:`button`,onClick:()=>{a(),c()},className:`text-destructive font-medium hover:underline`,children:`Delete?`}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>f(!1),className:`text-muted-foreground hover:underline`,children:`Cancel`})]}):(0,J.jsxs)(`button`,{type:`button`,onClick:()=>f(!0),className:`w-full text-left px-3 py-1.5 hover:bg-muted flex items-center gap-2 text-destructive`,children:[(0,J.jsx)(w,{className:`size-3`}),` Delete Row`]})]}),_):null}function _c({columns:e,onSelect:t,onClose:n,anchorRect:r}){let[i,a]=(0,q.useState)(``),[o,s]=(0,q.useState)(0),c=(0,q.useRef)(null),l=(0,q.useRef)(null),u=i?e.filter(e=>e.toLowerCase().includes(i.toLowerCase())):e;(0,q.useEffect)(()=>{s(0)},[i]),(0,q.useEffect)(()=>{let e=l.current;e&&e.children[o]?.scrollIntoView({block:`nearest`})},[o]),(0,q.useEffect)(()=>{let e=e=>{c.current&&!c.current.contains(e.target)&&n()};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[n]);let d=(0,q.useCallback)(e=>{if(e.key===`Escape`){n();return}if(e.key===`ArrowDown`){e.preventDefault(),s(e=>Math.min(e+1,u.length-1));return}if(e.key===`ArrowUp`){e.preventDefault(),s(e=>Math.max(e-1,0));return}if(e.key===`Enter`){e.preventDefault();let r=u[o];r&&(t(r),n())}},[u,o,t,n]),f=document.getElementById(`portal`);return f?(0,Ze.createPortal)((0,J.jsxs)(`div`,{ref:c,style:{position:`fixed`,left:Math.min(r.x,window.innerWidth-216),top:Math.min(r.y,window.innerHeight-308),zIndex:1e4},className:`w-[200px] max-h-[300px] bg-popover border border-border rounded-md shadow-lg text-xs overflow-hidden flex flex-col`,children:[(0,J.jsx)(`div`,{className:`px-2 py-1.5 border-b border-border`,children:(0,J.jsx)(`input`,{autoFocus:!0,value:i,onChange:e=>a(e.target.value),onKeyDown:d,placeholder:`Search columns…`,className:`w-full bg-transparent outline-none text-foreground placeholder:text-muted-foreground text-xs`})}),(0,J.jsxs)(`div`,{ref:l,className:`overflow-y-auto py-1`,children:[u.map((e,r)=>(0,J.jsx)(`button`,{type:`button`,onClick:()=>{t(e),n()},onMouseEnter:()=>s(r),className:`w-full text-left px-3 py-1 truncate text-foreground ${r===o?`bg-muted`:`hover:bg-muted`}`,children:e},e)),u.length===0&&(0,J.jsx)(`div`,{className:`px-3 py-2 text-muted-foreground`,children:`No columns found`})]})]}),f):null}function vc({hasSelection:e,selectedCount:t,onBulkDelete:n,onInsertRow:r,columns:i,selectedRows:o,connectionName:c,searchTerm:l,onSearchChange:u,onColumnJump:d,colSearchOpen:f,onColSearchChange:p}){let[m,h]=(0,q.useState)(!1),[_,v]=(0,q.useState)(!1),y=f??_,b=p??v,S=(0,q.useRef)(null),C=S.current?(()=>{let e=S.current.getBoundingClientRect();return{x:e.left,y:e.bottom+4}})():{x:0,y:0};return(0,J.jsxs)(`div`,{className:`flex items-center gap-2 px-2 py-1 border-b border-border bg-background shrink-0`,children:[e&&(0,J.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs`,children:[(0,J.jsxs)(`span`,{className:`text-muted-foreground`,children:[t,` selected`]}),n&&(m?(0,J.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,J.jsxs)(`button`,{type:`button`,onClick:()=>{n(),h(!1)},className:`text-destructive text-[10px] font-medium hover:underline`,children:[`Delete `,t,`?`]}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>h(!1),className:`text-muted-foreground text-[10px] hover:underline`,children:`Cancel`})]}):(0,J.jsx)(`button`,{type:`button`,onClick:()=>h(!0),className:`p-0.5 text-muted-foreground hover:text-destructive`,children:(0,J.jsx)(w,{className:`size-3`})})),(0,J.jsx)($e,{columns:i,rows:o,filename:`${c??`db`}-selected`})]}),(0,J.jsx)(`div`,{className:`flex-1`}),(0,J.jsxs)(`div`,{className:`flex items-center gap-1 text-xs`,children:[(0,J.jsx)(g,{className:`size-3 text-muted-foreground`}),(0,J.jsx)(`input`,{value:l,onChange:e=>u(e.target.value),placeholder:`Search page…`,className:`w-24 bg-transparent outline-none text-foreground placeholder:text-muted-foreground text-xs`}),l&&(0,J.jsx)(`button`,{type:`button`,onClick:()=>u(``),className:`text-muted-foreground hover:text-foreground`,children:(0,J.jsx)(s,{className:`size-3`})})]}),d&&(0,J.jsx)(`button`,{ref:S,type:`button`,onClick:()=>b(!y),className:`p-0.5 rounded text-muted-foreground hover:text-foreground transition-colors`,title:`Jump to column (/)`,children:(0,J.jsx)(a,{className:`size-3.5`})}),r&&(0,J.jsx)(`button`,{type:`button`,onClick:r,className:`p-0.5 rounded text-muted-foreground hover:text-primary transition-colors`,title:`Insert row`,children:(0,J.jsx)(x,{className:`size-3.5`})}),y&&d&&(0,J.jsx)(_c,{columns:i,onSelect:d,onClose:()=>b(!1),anchorRect:C})]})}function yc({pendingCount:e,onSave:t,onDiscard:n}){return e===0?null:(0,J.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-1.5 border-t border-warning/50 bg-warning/5 shrink-0 text-xs`,children:[(0,J.jsxs)(`span`,{className:`text-warning font-medium`,children:[e,` pending edit`,e>1?`s`:``]}),(0,J.jsx)(`div`,{className:`flex-1`}),(0,J.jsxs)(`button`,{type:`button`,onClick:n,className:`flex items-center gap-1 px-2 py-0.5 rounded text-muted-foreground hover:text-foreground hover:bg-muted transition-colors`,children:[(0,J.jsx)(c,{className:`size-3`}),` Discard`]}),(0,J.jsxs)(`button`,{type:`button`,onClick:t,className:`flex items-center gap-1 px-2 py-0.5 rounded bg-primary text-primary-foreground hover:bg-primary/90 transition-colors`,children:[(0,J.jsx)(C,{className:`size-3`}),` Save`,(0,J.jsx)(`kbd`,{className:`ml-1 text-[9px] opacity-70`,children:`⌘↵`})]})]})}function bc({total:e,page:t,totalPages:n,onPageChange:r}){return(0,J.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-1.5 border-t border-border bg-background shrink-0 text-xs text-muted-foreground`,children:[(0,J.jsxs)(`span`,{children:[e.toLocaleString(),` rows`]}),(0,J.jsxs)(`div`,{className:`hidden md:flex items-center gap-2 text-[10px] text-muted-foreground/50`,children:[(0,J.jsxs)(`span`,{children:[(0,J.jsx)(`kbd`,{className:`px-1 py-0.5 rounded bg-muted text-[9px]`,children:`/`}),` columns`]}),(0,J.jsxs)(`span`,{children:[(0,J.jsxs)(`kbd`,{className:`px-1 py-0.5 rounded bg-muted text-[9px]`,children:[`⌘`,`A`]}),` select all`]}),(0,J.jsxs)(`span`,{children:[(0,J.jsxs)(`kbd`,{className:`px-1 py-0.5 rounded bg-muted text-[9px]`,children:[`⌘`,`C`]}),` copy`]})]}),(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(`button`,{type:`button`,disabled:t<=1,onClick:()=>r(t-1),className:`p-0.5 rounded hover:bg-muted disabled:opacity-30`,children:(0,J.jsx)(o,{className:`size-3.5`})}),(0,J.jsxs)(`span`,{children:[t,` / `,n]}),(0,J.jsx)(`button`,{type:`button`,disabled:t>=n,onClick:()=>r(t+1),className:`p-0.5 rounded hover:bg-muted disabled:opacity-30`,children:(0,J.jsx)(_,{className:`size-3.5`})})]})]})}function xc(e,t){if(t===`json`)try{return JSON.stringify(JSON.parse(e.trim()),null,2)}catch{return null}if(t===`xml`){let t=0;return e.trim().replace(/>\s*</g,`>
|
|
139
139
|
<`).split(`
|
|
140
140
|
`).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.startsWith(`<?`)&&t++,r}).join(`
|
|
141
|
-
`)}return null}function Sc({data:e,onClose:t,onOpenInTab:n}){let r=Me(),[i,a]=(0,q.useState)(!0),[o,c]=(0,q.useState)(!1),u=e.language===`json`||e.language===`xml`,d=(0,q.useMemo)(()=>o?xc(e.content,e.language)??e.content:e.content,[o,e.content,e.language]),f=(0,q.useCallback)(()=>{c(t=>t?!1:xc(e.content,e.language)!==null)},[e.content,e.language]),[p,h]=(0,q.useState)(200),g=(0,q.useCallback)(e=>{e.preventDefault();let t=e.clientY,n=p,r=e=>h(Math.max(80,n+(t-e.clientY))),i=()=>{document.removeEventListener(`mousemove`,r),document.removeEventListener(`mouseup`,i)};document.addEventListener(`mousemove`,r),document.addEventListener(`mouseup`,i)},[p]);return(0,J.jsxs)(`div`,{className:`shrink-0 border-t border-border flex flex-col`,style:{height:p},children:[(0,J.jsx)(`div`,{onMouseDown:g,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,J.jsx)(l,{className:`size-3 text-muted-foreground/50`})}),(0,J.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-1 bg-muted/50 border-b border-border shrink-0`,children:[(0,J.jsx)(y,{className:`size-3 text-muted-foreground`}),(0,J.jsx)(`span`,{className:`text-xs font-medium text-foreground truncate flex-1`,children:e.title}),u&&(0,J.jsx)(`button`,{type:`button`,onClick:f,title:o?`Raw`:`Beautify`,className:`p-0.5 rounded transition-colors ${o?`text-primary`:`text-muted-foreground hover:text-foreground`}`,children:(0,J.jsx)(b,{className:`size-3`})}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>a(!i),title:i?`No wrap`:`Word wrap`,className:`p-0.5 rounded transition-colors ${i?`text-primary`:`text-muted-foreground hover:text-foreground`}`,children:(0,J.jsx)(T,{className:`size-3`})}),(0,J.jsxs)(`button`,{type:`button`,onClick:n,title:`Open in new 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,J.jsx)(m,{className:`size-3`}),(0,J.jsx)(`span`,{className:`hidden sm:inline`,children:`Open in Tab`})]}),(0,J.jsx)(`button`,{type:`button`,onClick:t,title:`Close preview (Esc)`,className:`p-0.5 rounded text-muted-foreground hover:text-foreground transition-colors`,children:(0,J.jsx)(s,{className:`size-3`})})]}),(0,J.jsx)(`div`,{className:`flex-1 min-h-0`,children:(0,J.jsx)(
|
|
141
|
+
`)}return null}function Sc({data:e,onClose:t,onOpenInTab:n}){let r=Me(),[i,a]=(0,q.useState)(!0),[o,c]=(0,q.useState)(!1),u=e.language===`json`||e.language===`xml`,d=(0,q.useMemo)(()=>o?xc(e.content,e.language)??e.content:e.content,[o,e.content,e.language]),f=(0,q.useCallback)(()=>{c(t=>t?!1:xc(e.content,e.language)!==null)},[e.content,e.language]),[p,h]=(0,q.useState)(200),g=(0,q.useCallback)(e=>{e.preventDefault();let t=e.clientY,n=p,r=e=>h(Math.max(80,n+(t-e.clientY))),i=()=>{document.removeEventListener(`mousemove`,r),document.removeEventListener(`mouseup`,i)};document.addEventListener(`mousemove`,r),document.addEventListener(`mouseup`,i)},[p]);return(0,J.jsxs)(`div`,{className:`shrink-0 border-t border-border flex flex-col`,style:{height:p},children:[(0,J.jsx)(`div`,{onMouseDown:g,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,J.jsx)(l,{className:`size-3 text-muted-foreground/50`})}),(0,J.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-1 bg-muted/50 border-b border-border shrink-0`,children:[(0,J.jsx)(y,{className:`size-3 text-muted-foreground`}),(0,J.jsx)(`span`,{className:`text-xs font-medium text-foreground truncate flex-1`,children:e.title}),u&&(0,J.jsx)(`button`,{type:`button`,onClick:f,title:o?`Raw`:`Beautify`,className:`p-0.5 rounded transition-colors ${o?`text-primary`:`text-muted-foreground hover:text-foreground`}`,children:(0,J.jsx)(b,{className:`size-3`})}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>a(!i),title:i?`No wrap`:`Word wrap`,className:`p-0.5 rounded transition-colors ${i?`text-primary`:`text-muted-foreground hover:text-foreground`}`,children:(0,J.jsx)(T,{className:`size-3`})}),(0,J.jsxs)(`button`,{type:`button`,onClick:n,title:`Open in new 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,J.jsx)(m,{className:`size-3`}),(0,J.jsx)(`span`,{className:`hidden sm:inline`,children:`Open in Tab`})]}),(0,J.jsx)(`button`,{type:`button`,onClick:t,title:`Close preview (Esc)`,className:`p-0.5 rounded text-muted-foreground hover:text-foreground transition-colors`,children:(0,J.jsx)(s,{className:`size-3`})})]}),(0,J.jsx)(`div`,{className:`flex-1 min-h-0`,children:(0,J.jsx)(ee,{height:`100%`,language:e.language===`plaintext`?void 0:e.language,value:d,theme:r,options:{readOnly:!0,minimap:{enabled:!1},scrollBeyondLastLine:!1,wordWrap:i?`on`:`off`,lineNumbers:`on`,fontSize:12,folding:!0,bracketPairColorization:{enabled:!0},domReadOnly:!0,contextmenu:!1,overviewRulerLanes:0},loading:(0,J.jsx)(v,{className:`size-4 animate-spin text-muted-foreground`})})})]})}var Cc=()=>{},wc={sortAsc:e=>`<svg viewBox="0 0 16 16" fill="${e.fgColor}"><path d="M8 4l4 6H4z"/></svg>`,sortDesc:e=>`<svg viewBox="0 0 16 16" fill="${e.fgColor}"><path d="M8 12l4-6H4z"/></svg>`,headerFk:()=>`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" stroke="var(--accent)" stroke-width="1.5" stroke-linecap="round"><path d="M6 4.5H4.5a2.5 2.5 0 000 5H6M10 4.5h1.5a2.5 2.5 0 010 5H10M5 7h6"/></svg>`};function Tc(e){let{columns:t,rows:n,total:r,limit:i,schema:a,loading:o,page:s,onPageChange:c,onCellUpdate:l,onRowDelete:u,onBulkDelete:d,onInsertRow:f,orderBy:p,orderDir:m,onToggleSort:h,onClearSort:g,columnFilters:_={},onColumnFilter:y,connectionId:b,selectedTable:x,selectedSchema:S,connectionName:C,readOnly:w}=e,T=Zs(),E=(0,q.useRef)(null),D=(0,q.useRef)(null),O=(0,q.useMemo)(()=>{let e=new Set(a.map(e=>e.name));return t.filter(t=>e.has(t))},[t,a]),[k,A]=(0,q.useState)(new Set),[ee,te]=(0,q.useState)(new Map),[j,ne]=(0,q.useState)(null),[M,re]=(0,q.useState)(null),[N,ie]=(0,q.useState)(``),[P,ae]=(0,q.useState)([]),F=(0,q.useMemo)(()=>a.find(e=>e.pk)?.name??a.find(e=>e.name.toLowerCase()===`id`)?.name??null,[a]),{effectiveRows:oe,pinnedCount:se,pinnedPks:ce,setPinnedPks:I}=dc(n,F),L=(0,q.useMemo)(()=>{if(se===0)return[...oe,...P];let e=oe.slice(0,oe.length-se),t=oe.slice(oe.length-se);return[...e,...P,...t]},[oe,P,se]),R=(0,q.useMemo)(()=>{if(!N.trim())return L;let e=N.toLowerCase();return L.filter(t=>O.some(n=>String(t[n]??``).toLowerCase().includes(e)))},[L,O,N]),le=(0,q.useMemo)(()=>se===0||!F?0:N.trim()?R.filter(e=>ce.has(String(e[F]??``))).length:se,[se,F,N,R,ce]),ue=!!w||!F,{pendingRef:de,addEdit:fe,commitAll:pe,discardAll:me,hasPending:he,pendingCount:ge,committedRef:z}=uc(F,l,f),{columns:_e,freezeColumns:ve,columnOrder:ye}=$s(a,O,k,ee,R,p,m),{getCellContent:B,onCellEdited:be}=sc(R,ye,a,F,fe,de,ue),{gridSelection:V,onGridSelectionChange:H,selectedRowIndices:U,clearSelection:xe}=lc(),{previewData:W,closePreview:G,openRowPreview:Se,openCellPreview:Ce,openPreviewInTab:we,handlePaste:K,getContextFk:Te,isCellViewable:Ee,openFkTable:De}=mc({displayRows:R,columnOrder:ye,schema:a,pkCol:F,connectionId:b,connectionName:C,selectedTable:x,selectedSchema:S,addEdit:ue?Cc:fe,gridSelection:V,containerRef:D});(0,q.useEffect)(()=>{z.current&&(z.current=!1,me(),ae([]))},[n]);let Oe=(0,q.useCallback)((e,t)=>{te(n=>new Map(n).set(e.id??e.title,t))},[]),ke=(0,q.useCallback)((e,t)=>{let n=ye[e];n&&ne({colName:n,bounds:t})},[ye]),Ae=(0,q.useCallback)(([e,t],n)=>{n.preventDefault(),re({position:{x:n.bounds.x+n.localEventX,y:n.bounds.y+n.localEventY},rowIdx:t,colIdx:e})},[]),je=(0,q.useCallback)(e=>{A(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),Me=(0,q.useCallback)(e=>{if(!F)return;let t=R[e];if(!t)return;let n=String(t[F]??``);I(e=>{let t=new Set(e);return t.has(n)?t.delete(n):t.add(n),t})},[F,R,I]),Ne=(0,q.useCallback)(e=>{if(ce.size===0||!F)return;let t=R[e];if(t&&ce.has(String(t[F]??``)))return{bgCell:T.bgCellMedium??T.bgHeader}},[ce,F,R,T]),Pe=(0,q.useCallback)(()=>{!F||!d||(d(F,U.map(e=>R[e]?.[F]).filter(e=>e!=null)),xe())},[F,d,U,R,xe]),[Fe,Ie]=(0,q.useState)(!1),Le=(0,q.useCallback)(e=>{if(e.key===`Escape`){G(),Ie(!1);return}(e.metaKey||e.ctrlKey)&&e.key===`Enter`&&he&&(e.preventDefault(),pe());let t=e.target?.tagName;e.key===`/`&&t!==`INPUT`&&t!==`TEXTAREA`&&(e.preventDefault(),Ie(!0))},[he,pe,G]),Re=(0,q.useCallback)(()=>{!F||!f||ae(e=>[...e,{[F]:`__new_${Date.now()}`}])},[F,f]),ze=(0,q.useCallback)(e=>{let t=ye.indexOf(e);t>=0&&E.current?.scrollTo&&E.current.scrollTo(t,0)},[ye]),Be=M?R[M.rowIdx]:null,Ve=Be&&F?String(Be[F]??``):``,He=M?ye[M.colIdx]:null,Ue=Ee(Be??null,He??null),We=Te(He??null),Ge=Be&&He?Be[He]:null;return O.length?(0,J.jsxs)(`div`,{ref:D,className:`flex flex-col h-full overflow-hidden relative`,tabIndex:0,onKeyDown:Le,children:[(0,J.jsx)(vc,{hasSelection:U.length>0,selectedCount:U.length,onBulkDelete:d&&F?Pe:void 0,onInsertRow:f&&F?Re:void 0,columns:O,selectedRows:U.map(e=>R[e]).filter(Boolean),connectionName:C,searchTerm:N,onSearchChange:ie,onColumnJump:ze,colSearchOpen:Fe,onColSearchChange:Ie}),o&&(0,J.jsx)(`div`,{className:`absolute inset-0 z-30 flex items-center justify-center bg-background/60`,children:(0,J.jsx)(v,{className:`size-5 animate-spin text-primary`})}),(0,J.jsx)(`div`,{className:`flex-1 min-h-0`,children:(0,J.jsx)(qs,{ref:E,columns:_e,rows:R.length,getCellContent:B,getCellsForSelection:!0,onCellEdited:be,onPaste:ue?!1:K,theme:T,freezeColumns:ve,freezeTrailingRows:le,rowMarkers:F?`checkbox-visible`:`number`,gridSelection:V,onGridSelectionChange:H,onColumnResize:Oe,onHeaderMenuClick:ke,onCellContextMenu:Ae,getRowThemeOverride:Ne,trailingRowOptions:f&&F?{sticky:!0,tint:!0}:void 0,onRowAppended:f?Re:void 0,headerIcons:wc,smoothScrollX:!0,smoothScrollY:!0,width:`100%`,height:`100%`})}),he&&(0,J.jsx)(yc,{pendingCount:ge,onSave:pe,onDiscard:()=>{me(),ae([])}}),W&&(0,J.jsx)(Sc,{data:W,onClose:G,onOpenInTab:we}),(0,J.jsx)(bc,{total:r,page:s,totalPages:Math.ceil(r/i)||1,onPageChange:c}),j&&(0,J.jsx)(hc,{colName:j.colName,bounds:j.bounds,isPinned:k.has(j.colName),filterValue:_[j.colName]??``,sortState:p===j.colName?m===`ASC`?`asc`:`desc`:null,onFilter:e=>{if(!y)return;let t={..._};e?t[j.colName]=e:delete t[j.colName],y(t)},onSort:()=>{h&&h(j.colName)},onClearSort:g,onTogglePin:()=>je(j.colName),onClose:()=>ne(null)}),M&&Be&&(0,J.jsx)(gc,{position:M.position,isPinned:ce.has(Ve),onViewRow:()=>Se(M.rowIdx),onViewCell:Ue?()=>Ce(M.rowIdx,M.colIdx):void 0,onPinRow:()=>Me(M.rowIdx),onDeleteRow:()=>{F&&u&&Be&&u(F,Be[F])},onOpenFkTable:We&&Ge!=null&&b?()=>De(We,Ge):void 0,fkLabel:We?`Open ${We.table}.${We.column}`:void 0,onClose:()=>re(null)})]}):(0,J.jsx)(`div`,{className:`flex items-center justify-center h-full text-xs text-muted-foreground`,children:o?(0,J.jsx)(v,{className:`size-4 animate-spin`}):`Select a table`})}export{Le as a,Ye as i,$e as n,Ie as o,Xe as r,Tc as t};
|