@hienlh/ppm 0.23.26 → 0.23.27
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 +6 -0
- package/assets/skills/ppm/SKILL.md +1 -1
- package/assets/skills/ppm/references/http-api.md +1 -1
- package/dist/web/assets/accounts-settings-section-CZglHifc.js +1 -0
- package/dist/web/assets/accounts-settings-section-CZglHifc.js.br +0 -0
- package/dist/web/assets/accounts-settings-section-CZglHifc.js.gz +0 -0
- package/dist/web/assets/{agent-session-sheet-DmbSfFGz.js → agent-session-sheet-B3VLD2H6.js} +2 -2
- package/dist/web/assets/agent-session-sheet-B3VLD2H6.js.br +0 -0
- package/dist/web/assets/agent-session-sheet-B3VLD2H6.js.gz +0 -0
- package/dist/web/assets/{agent-session-window-content-Dk8x3ozF.js → agent-session-window-content-HEdIT_LQ.js} +1 -1
- package/dist/web/assets/agent-session-window-content-HEdIT_LQ.js.br +0 -0
- package/dist/web/assets/agent-session-window-content-HEdIT_LQ.js.gz +0 -0
- package/dist/web/assets/{ai-resource-editor-MKwjYcDh.js → ai-resource-editor-CFbXgGMo.js} +1 -1
- package/dist/web/assets/ai-resource-editor-CFbXgGMo.js.br +0 -0
- package/dist/web/assets/ai-resource-editor-CFbXgGMo.js.gz +0 -0
- package/dist/web/assets/ai-settings-section-BNiVD9D3.js +1 -0
- package/dist/web/assets/ai-settings-section-BNiVD9D3.js.br +0 -0
- package/dist/web/assets/ai-settings-section-BNiVD9D3.js.gz +0 -0
- package/dist/web/assets/{ai-settings-section-OZOaLw5z.js → ai-settings-section-W0kfADRB.js} +1 -1
- package/dist/web/assets/{android-tab-CUkjbfyi.js → android-tab-CY3aa_vU.js} +1 -1
- package/dist/web/assets/android-tab-CY3aa_vU.js.br +0 -0
- package/dist/web/assets/android-tab-CY3aa_vU.js.gz +0 -0
- package/dist/web/assets/{appearance-settings-section-BZsM8HpZ.js → appearance-settings-section-lbtuzecW.js} +1 -1
- package/dist/web/assets/appearance-settings-section-lbtuzecW.js.br +0 -0
- package/dist/web/assets/appearance-settings-section-lbtuzecW.js.gz +0 -0
- package/dist/web/assets/{apps-panel-Cs3utBlp.js → apps-panel-CF2mbvVq.js} +1 -1
- package/dist/web/assets/apps-panel-CF2mbvVq.js.br +0 -0
- package/dist/web/assets/apps-panel-CF2mbvVq.js.gz +0 -0
- package/dist/web/assets/branch-review-tab-CR7JnS5x.js +1 -0
- package/dist/web/assets/branch-review-tab-CR7JnS5x.js.br +0 -0
- package/dist/web/assets/branch-review-tab-CR7JnS5x.js.gz +0 -0
- package/dist/web/assets/chat-tab-BCELq4nK.js +1 -0
- package/dist/web/assets/chat-tab-BCELq4nK.js.br +0 -0
- package/dist/web/assets/chat-tab-BCELq4nK.js.gz +0 -0
- package/dist/web/assets/{chat-tab-DtSHSfMU.js → chat-tab-C4aOYSea.js} +10 -10
- package/dist/web/assets/chat-tab-C4aOYSea.js.br +0 -0
- package/dist/web/assets/chat-tab-C4aOYSea.js.gz +0 -0
- package/dist/web/assets/{code-editor-DjDyhff1.js → code-editor-_axJbYkP.js} +5 -5
- package/dist/web/assets/code-editor-_axJbYkP.js.br +0 -0
- package/dist/web/assets/code-editor-_axJbYkP.js.gz +0 -0
- package/dist/web/assets/{codex-reset-credit-button-BKgiUi8E.js → codex-reset-credit-button-DJQD6NUF.js} +1 -1
- package/dist/web/assets/codex-reset-credit-button-DJQD6NUF.js.br +0 -0
- package/dist/web/assets/codex-reset-credit-button-DJQD6NUF.js.gz +0 -0
- package/dist/web/assets/{conflict-editor-DgTv-8pb.js → conflict-editor-D0AYuLKI.js} +3 -3
- package/dist/web/assets/conflict-editor-D0AYuLKI.js.br +0 -0
- package/dist/web/assets/conflict-editor-D0AYuLKI.js.gz +0 -0
- package/dist/web/assets/connection-form-tab-C3QyUWnE.js +4 -0
- package/dist/web/assets/connection-form-tab-C3QyUWnE.js.br +0 -0
- package/dist/web/assets/connection-form-tab-C3QyUWnE.js.gz +0 -0
- package/dist/web/assets/{csv-preview-BTGpYs4p.js → csv-preview-CmKkcz4M.js} +1 -1
- package/dist/web/assets/csv-preview-CmKkcz4M.js.br +0 -0
- package/dist/web/assets/csv-preview-CmKkcz4M.js.gz +0 -0
- package/dist/web/assets/{db-explorer-store-DDePT3UI.js → db-explorer-store-DJNNIfN5.js} +1 -1
- package/dist/web/assets/db-explorer-store-DJNNIfN5.js.br +0 -0
- package/dist/web/assets/db-explorer-store-DJNNIfN5.js.gz +0 -0
- package/dist/web/assets/{db-sidebar-reveal-BeT8cp6P.js → db-sidebar-reveal-CGqWBYay.js} +1 -1
- package/dist/web/assets/db-sidebar-reveal-CGqWBYay.js.br +0 -0
- package/dist/web/assets/db-sidebar-reveal-CGqWBYay.js.gz +0 -0
- package/dist/web/assets/{db-tab-parts-BYzd4_sR.js → db-tab-parts-BXL34wrZ.js} +1 -1
- package/dist/web/assets/db-tab-parts-BXL34wrZ.js.br +0 -0
- package/dist/web/assets/db-tab-parts-BXL34wrZ.js.gz +0 -0
- package/dist/web/assets/{design-settings-section-B3KQBggK.js → design-settings-section-DukfVtwP.js} +2 -2
- package/dist/web/assets/design-settings-section-DukfVtwP.js.br +0 -0
- package/dist/web/assets/design-settings-section-DukfVtwP.js.gz +0 -0
- package/dist/web/assets/{design-tab-CPyj_nFg.js → design-tab-BoPiL2ge.js} +5 -5
- package/dist/web/assets/design-tab-BoPiL2ge.js.br +0 -0
- package/dist/web/assets/design-tab-BoPiL2ge.js.gz +0 -0
- package/dist/web/assets/{designs-sidebar-panel-DIGPFo2l.js → designs-sidebar-panel-BVTqPPzG.js} +1 -1
- package/dist/web/assets/designs-sidebar-panel-BVTqPPzG.js.br +0 -0
- package/dist/web/assets/designs-sidebar-panel-BVTqPPzG.js.gz +0 -0
- package/dist/web/assets/diff-viewer-C86mR7vD.js +4 -0
- package/dist/web/assets/diff-viewer-C86mR7vD.js.br +0 -0
- package/dist/web/assets/diff-viewer-C86mR7vD.js.gz +0 -0
- package/dist/web/assets/{docx-preview-CowHGqML.js → docx-preview-B9EhDCMi.js} +1 -1
- package/dist/web/assets/docx-preview-B9EhDCMi.js.br +0 -0
- package/dist/web/assets/docx-preview-B9EhDCMi.js.gz +0 -0
- package/dist/web/assets/{editor-dialog-xPoehDYp.js → editor-dialog-DTDsbJd6.js} +1 -1
- package/dist/web/assets/editor-dialog-DTDsbJd6.js.br +0 -0
- package/dist/web/assets/editor-dialog-DTDsbJd6.js.gz +0 -0
- package/dist/web/assets/{editor-language-service-DdYqCDBU.js → editor-language-service-BtrrQAS2.js} +1 -1
- package/dist/web/assets/editor-language-service-BtrrQAS2.js.br +0 -0
- package/dist/web/assets/editor-language-service-BtrrQAS2.js.gz +0 -0
- package/dist/web/assets/explorer-body-DLaWmxri.js +2 -0
- package/dist/web/assets/explorer-body-DLaWmxri.js.br +0 -0
- package/dist/web/assets/explorer-body-DLaWmxri.js.gz +0 -0
- package/dist/web/assets/{explorer-model-tGyFETP_.js → explorer-model-f5q-50DN.js} +1 -1
- package/dist/web/assets/explorer-model-f5q-50DN.js.br +0 -0
- package/dist/web/assets/explorer-model-f5q-50DN.js.gz +0 -0
- package/dist/web/assets/{explorer-window-content-B1c4QTVL.js → explorer-window-content-CbUIbrzL.js} +1 -1
- package/dist/web/assets/explorer-window-content-CbUIbrzL.js.br +0 -0
- package/dist/web/assets/explorer-window-content-CbUIbrzL.js.gz +0 -0
- package/dist/web/assets/{extension-manager-section-BgL0Uyl3.js → extension-manager-section-BpKMyLwI.js} +1 -1
- package/dist/web/assets/extension-manager-section-BpKMyLwI.js.br +0 -0
- package/dist/web/assets/extension-manager-section-BpKMyLwI.js.gz +0 -0
- package/dist/web/assets/{extension-webview-BWB1Yd-t.js → extension-webview-BGfyaXMI.js} +1 -1
- package/dist/web/assets/extension-webview-BGfyaXMI.js.br +0 -0
- package/dist/web/assets/extension-webview-BGfyaXMI.js.gz +0 -0
- package/dist/web/assets/{files-settings-section-TmoewoO2.js → files-settings-section-CQT9_rX2.js} +1 -1
- package/dist/web/assets/files-settings-section-CQT9_rX2.js.br +0 -0
- package/dist/web/assets/files-settings-section-CQT9_rX2.js.gz +0 -0
- package/dist/web/assets/{general-settings-section-Bu7o8uUn.js → general-settings-section-BoQGeqBi.js} +1 -1
- package/dist/web/assets/general-settings-section-BoQGeqBi.js.br +0 -0
- package/dist/web/assets/general-settings-section-BoQGeqBi.js.gz +0 -0
- package/dist/web/assets/{git-log-panel-RjMZIaCk.js → git-log-panel-T8Fzn8-5.js} +1 -1
- package/dist/web/assets/git-log-panel-T8Fzn8-5.js.br +0 -0
- package/dist/web/assets/git-log-panel-T8Fzn8-5.js.gz +0 -0
- package/dist/web/assets/git-review-tab-WzuX4Ml9.js +3 -0
- package/dist/web/assets/git-review-tab-WzuX4Ml9.js.br +0 -0
- package/dist/web/assets/git-review-tab-WzuX4Ml9.js.gz +0 -0
- package/dist/web/assets/{glide-data-grid-DqlTFhhf.js → glide-data-grid-BBzGDYvj.js} +8 -8
- package/dist/web/assets/glide-data-grid-BBzGDYvj.js.br +0 -0
- package/dist/web/assets/glide-data-grid-BBzGDYvj.js.gz +0 -0
- package/dist/web/assets/{grid-save-dialog-BmF2Gy_E.js → grid-save-dialog-HiqlnSky.js} +1 -1
- package/dist/web/assets/grid-save-dialog-HiqlnSky.js.br +0 -0
- package/dist/web/assets/grid-save-dialog-HiqlnSky.js.gz +0 -0
- package/dist/web/assets/group-chat-tab-URU3FCLs.js +1 -0
- package/dist/web/assets/group-chat-tab-URU3FCLs.js.br +0 -0
- package/dist/web/assets/group-chat-tab-URU3FCLs.js.gz +0 -0
- package/dist/web/assets/{impexp-tab-B8d4oBOB.js → impexp-tab-B0m1Q8ia.js} +1 -1
- package/dist/web/assets/impexp-tab-B0m1Q8ia.js.br +0 -0
- package/dist/web/assets/impexp-tab-B0m1Q8ia.js.gz +0 -0
- package/dist/web/assets/index-Cb3Z6wNy.css +1 -0
- package/dist/web/assets/index-Cb3Z6wNy.css.br +0 -0
- package/dist/web/assets/{index-2_Pz5MiI.css.gz → index-Cb3Z6wNy.css.gz} +0 -0
- package/dist/web/assets/{index-Cx9ZRibz.js → index-Vd9Xr54k.js} +19 -19
- package/dist/web/assets/index-Vd9Xr54k.js.br +0 -0
- package/dist/web/assets/index-Vd9Xr54k.js.gz +0 -0
- package/dist/web/assets/{jira-watcher-section-LGTWVN87.js → jira-watcher-section-CnSTbAF6.js} +1 -1
- package/dist/web/assets/keybindings-store-D_U8jECl.js +1 -0
- package/dist/web/assets/{keyboard-shortcuts-section-BSMgmbOR.js → keyboard-shortcuts-section-CU7JjDsU.js} +1 -1
- package/dist/web/assets/keyboard-shortcuts-section-CU7JjDsU.js.br +0 -0
- package/dist/web/assets/keyboard-shortcuts-section-CU7JjDsU.js.gz +0 -0
- package/dist/web/assets/{language-servers-section-DO9wnwnG.js → language-servers-section-CzUG9H69.js} +2 -2
- package/dist/web/assets/language-servers-section-CzUG9H69.js.br +0 -0
- package/dist/web/assets/language-servers-section-CzUG9H69.js.gz +0 -0
- package/dist/web/assets/logs-app-CDSvyY1H.js +13 -0
- package/dist/web/assets/logs-app-CDSvyY1H.js.br +0 -0
- package/dist/web/assets/logs-app-CDSvyY1H.js.gz +0 -0
- package/dist/web/assets/logs-tab-CQw9vrNw.js +1 -0
- package/dist/web/assets/{logs-window-content-Cejko0VD.js → logs-window-content-CGvPnPrr.js} +1 -1
- package/dist/web/assets/{lsp-client-IsC8Ol0U.js → lsp-client-CpjPUUYJ.js} +1 -1
- package/dist/web/assets/lsp-client-CpjPUUYJ.js.br +0 -0
- package/dist/web/assets/lsp-client-CpjPUUYJ.js.gz +0 -0
- package/dist/web/assets/{markdown-renderer-D5vxN2fO.js → markdown-renderer-3ZR2x0CC.js} +1 -1
- package/dist/web/assets/{markdown-renderer-BfZiHaNy.js → markdown-renderer-DZNMRg6p.js} +2 -2
- package/dist/web/assets/markdown-renderer-DZNMRg6p.js.br +0 -0
- package/dist/web/assets/markdown-renderer-DZNMRg6p.js.gz +0 -0
- package/dist/web/assets/{mobile-explorer-sheet-Dz3eJdBl.js → mobile-explorer-sheet-D7e-MM6m.js} +1 -1
- package/dist/web/assets/mobile-explorer-sheet-D7e-MM6m.js.br +0 -0
- package/dist/web/assets/mobile-explorer-sheet-D7e-MM6m.js.gz +0 -0
- package/dist/web/assets/{new-design-dialog-B8zeJoJQ.js → new-design-dialog-BthM423i.js} +1 -1
- package/dist/web/assets/new-design-dialog-BthM423i.js.br +0 -0
- package/dist/web/assets/new-design-dialog-BthM423i.js.gz +0 -0
- package/dist/web/assets/notification-store-GKweleCQ.js +1 -0
- package/dist/web/assets/{notifications-settings-section-CMZXQw72.js → notifications-settings-section-TS3gNFcc.js} +1 -1
- package/dist/web/assets/notifications-settings-section-TS3gNFcc.js.br +0 -0
- package/dist/web/assets/notifications-settings-section-TS3gNFcc.js.gz +0 -0
- package/dist/web/assets/{open-db-tabs-DYTZbguT.js → open-db-tabs-DBgV2hbA.js} +1 -1
- package/dist/web/assets/open-db-tabs-DBgV2hbA.js.br +0 -0
- package/dist/web/assets/open-db-tabs-DBgV2hbA.js.gz +0 -0
- package/dist/web/assets/{open-settings-BGtoVEAU.js → open-settings-DWbF5YsE.js} +1 -1
- package/dist/web/assets/{overview-panel-7_8b6pwr.js → overview-panel-C5EmTk1R.js} +1 -1
- package/dist/web/assets/overview-panel-C5EmTk1R.js.br +0 -0
- package/dist/web/assets/overview-panel-C5EmTk1R.js.gz +0 -0
- package/dist/web/assets/{panel-store-Dx2ziBLp.js → panel-store-H7e9XHZF.js} +1 -1
- package/dist/web/assets/panel-store-H7e9XHZF.js.br +0 -0
- package/dist/web/assets/panel-store-H7e9XHZF.js.gz +0 -0
- package/dist/web/assets/{patch-tab-metadata-DTbCkVvx.js → patch-tab-metadata-DqvfqUI4.js} +1 -1
- package/dist/web/assets/{performance-panel-COQNCyEU.js → performance-panel-Jwab-_Z2.js} +1 -1
- package/dist/web/assets/performance-panel-Jwab-_Z2.js.br +0 -0
- package/dist/web/assets/performance-panel-Jwab-_Z2.js.gz +0 -0
- package/dist/web/assets/{ppmbot-settings-section-CmhbbZVI.js → ppmbot-settings-section-D8jIlmp8.js} +1 -1
- package/dist/web/assets/ppmbot-settings-section-D8jIlmp8.js.br +0 -0
- package/dist/web/assets/ppmbot-settings-section-D8jIlmp8.js.gz +0 -0
- package/dist/web/assets/{pptx-export-COeBmnFJ.js → pptx-export-gXOWUZXL.js} +3 -3
- package/dist/web/assets/pptx-export-gXOWUZXL.js.br +0 -0
- package/dist/web/assets/pptx-export-gXOWUZXL.js.gz +0 -0
- package/dist/web/assets/{problems-panel-I0EYfa1S.js → problems-panel-DjCHA1r5.js} +1 -1
- package/dist/web/assets/problems-panel-DjCHA1r5.js.br +0 -0
- package/dist/web/assets/problems-panel-DjCHA1r5.js.gz +0 -0
- package/dist/web/assets/{process-table-or-X8Lwh.js → process-table-BxXEh4tN.js} +1 -1
- package/dist/web/assets/process-table-BxXEh4tN.js.br +0 -0
- package/dist/web/assets/process-table-BxXEh4tN.js.gz +0 -0
- package/dist/web/assets/{proxy-settings-section-DpJ6ok4C.js → proxy-settings-section-B8igco2L.js} +1 -1
- package/dist/web/assets/proxy-settings-section-B8igco2L.js.br +0 -0
- package/dist/web/assets/proxy-settings-section-B8igco2L.js.gz +0 -0
- package/dist/web/assets/{query-tab-DeNZMZHX.js → query-tab-DHU3ANHN.js} +3 -3
- package/dist/web/assets/query-tab-DHU3ANHN.js.br +0 -0
- package/dist/web/assets/query-tab-DHU3ANHN.js.gz +0 -0
- package/dist/web/assets/release-notes-window-content-B33RDfFY.js +1 -0
- package/dist/web/assets/remote-access-settings-section-CoYQTFKd.js +1 -0
- package/dist/web/assets/remote-access-settings-section-CoYQTFKd.js.br +0 -0
- package/dist/web/assets/remote-access-settings-section-CoYQTFKd.js.gz +0 -0
- package/dist/web/assets/{remote-desktop-clipboard-notice-CGDBpXMf.js → remote-desktop-clipboard-notice-Dwn-iV4g.js} +1 -1
- package/dist/web/assets/remote-desktop-clipboard-notice-Dwn-iV4g.js.br +0 -0
- package/dist/web/assets/remote-desktop-clipboard-notice-Dwn-iV4g.js.gz +0 -0
- package/dist/web/assets/{remote-desktop-mobile-sheet-6nXirdqZ.js → remote-desktop-mobile-sheet-bfKiSG0C.js} +2 -2
- package/dist/web/assets/remote-desktop-mobile-sheet-bfKiSG0C.js.br +0 -0
- package/dist/web/assets/remote-desktop-mobile-sheet-bfKiSG0C.js.gz +0 -0
- package/dist/web/assets/{remote-desktop-mobile-view-BTaj9Flo.js → remote-desktop-mobile-view-CV8eHh4A.js} +1 -1
- package/dist/web/assets/remote-desktop-mobile-view-CV8eHh4A.js.br +0 -0
- package/dist/web/assets/remote-desktop-mobile-view-CV8eHh4A.js.gz +0 -0
- package/dist/web/assets/{remote-desktop-readiness-gate--gtmfqZh.js → remote-desktop-readiness-gate-DrSYb_9z.js} +1 -1
- package/dist/web/assets/remote-desktop-readiness-gate-DrSYb_9z.js.br +0 -0
- package/dist/web/assets/remote-desktop-readiness-gate-DrSYb_9z.js.gz +0 -0
- package/dist/web/assets/{remote-desktop-settings-section-Bs5avYaS.js → remote-desktop-settings-section-DRO8n8t7.js} +1 -1
- package/dist/web/assets/remote-desktop-settings-section-DRO8n8t7.js.br +0 -0
- package/dist/web/assets/remote-desktop-settings-section-DRO8n8t7.js.gz +0 -0
- package/dist/web/assets/{remote-desktop-window-content-D4CM-28B.js → remote-desktop-window-content-CAuxeGbK.js} +1 -1
- package/dist/web/assets/remote-desktop-window-content-CAuxeGbK.js.br +0 -0
- package/dist/web/assets/remote-desktop-window-content-CAuxeGbK.js.gz +0 -0
- package/dist/web/assets/{rename-object-dialog-Dv4iLwnf.js → rename-object-dialog-BPuh3dAH.js} +1 -1
- package/dist/web/assets/rename-object-dialog-BPuh3dAH.js.br +0 -0
- package/dist/web/assets/rename-object-dialog-BPuh3dAH.js.gz +0 -0
- package/dist/web/assets/review-address-setup-CoI2BGdx.js +1 -0
- package/dist/web/assets/review-address-setup-CoI2BGdx.js.br +0 -0
- package/dist/web/assets/review-address-setup-CoI2BGdx.js.gz +0 -0
- package/dist/web/assets/{review-code-Bet53hHb.js → review-code-Dy8y4_17.js} +1 -1
- package/dist/web/assets/review-code-Dy8y4_17.js.br +0 -0
- package/dist/web/assets/review-code-Dy8y4_17.js.gz +0 -0
- package/dist/web/assets/{run-in-terminal-EVMb5TjW.js → run-in-terminal-DAdjH24K.js} +1 -1
- package/dist/web/assets/{run-in-terminal-button-CsYq6Xqo.js → run-in-terminal-button-Bu165IH-.js} +1 -1
- package/dist/web/assets/{save-as-dialog-DHkBsS-6.js → save-as-dialog-C9OpJz2x.js} +1 -1
- package/dist/web/assets/save-as-dialog-C9OpJz2x.js.br +0 -0
- package/dist/web/assets/save-as-dialog-C9OpJz2x.js.gz +0 -0
- package/dist/web/assets/{schedule-script-editor-CKUl2qxf.js → schedule-script-editor--roOsFbc.js} +1 -1
- package/dist/web/assets/schedule-script-editor--roOsFbc.js.br +0 -0
- package/dist/web/assets/schedule-script-editor--roOsFbc.js.gz +0 -0
- package/dist/web/assets/{schedules-settings-section-EoOXzqF3.js → schedules-settings-section-BTn_NSzU.js} +3 -3
- package/dist/web/assets/schedules-settings-section-BTn_NSzU.js.br +0 -0
- package/dist/web/assets/schedules-settings-section-BTn_NSzU.js.gz +0 -0
- package/dist/web/assets/{send-to-chat-B7oUVcgh.js → send-to-chat-BUxj21hD.js} +1 -1
- package/dist/web/assets/send-to-chat-BUxj21hD.js.br +0 -0
- package/dist/web/assets/send-to-chat-BUxj21hD.js.gz +0 -0
- package/dist/web/assets/{services-panel-BceuL_SU.js → services-panel-BynENSs6.js} +1 -1
- package/dist/web/assets/services-panel-BynENSs6.js.br +0 -0
- package/dist/web/assets/services-panel-BynENSs6.js.gz +0 -0
- package/dist/web/assets/{session-changes-bar-CjSxBYOF.js → session-changes-bar-Dz3QitdJ.js} +1 -1
- package/dist/web/assets/session-changes-bar-Dz3QitdJ.js.br +0 -0
- package/dist/web/assets/session-changes-bar-Dz3QitdJ.js.gz +0 -0
- package/dist/web/assets/{session-review-tab-yIQFGJbG.js → session-review-tab-fRzyogNH.js} +1 -1
- package/dist/web/assets/session-review-tab-fRzyogNH.js.br +0 -0
- package/dist/web/assets/session-review-tab-fRzyogNH.js.gz +0 -0
- package/dist/web/assets/{settings-body-DXNcpoqY.js → settings-body-D5pmlFft.js} +1 -1
- package/dist/web/assets/settings-body-D5pmlFft.js.br +0 -0
- package/dist/web/assets/settings-body-D5pmlFft.js.gz +0 -0
- package/dist/web/assets/{settings-rows-DgL7oTg8.js → settings-rows-VtjChFlm.js} +1 -1
- package/dist/web/assets/settings-rows-VtjChFlm.js.br +0 -0
- package/dist/web/assets/settings-rows-VtjChFlm.js.gz +0 -0
- package/dist/web/assets/{settings-section-content-DFLjO2le.js → settings-section-content-BOwSlBkZ.js} +2 -2
- package/dist/web/assets/settings-section-content-BOwSlBkZ.js.br +0 -0
- package/dist/web/assets/settings-section-content-BOwSlBkZ.js.gz +0 -0
- package/dist/web/assets/{settings-section-content-B1eU_yR4.js → settings-section-content-Ck39TJA7.js} +1 -1
- package/dist/web/assets/{settings-store-CBJCnE5L.js → settings-store-CMpVMq3Y.js} +2 -2
- package/dist/web/assets/settings-store-CMpVMq3Y.js.br +0 -0
- package/dist/web/assets/settings-store-CMpVMq3Y.js.gz +0 -0
- package/dist/web/assets/settings-tab-A81xb81d.js +1 -0
- package/dist/web/assets/settings-window-content-BCDRi6xS.js +1 -0
- package/dist/web/assets/{slash-command-picker-qb3fZ7RP.js → slash-command-picker-BKeEykkF.js} +1 -1
- package/dist/web/assets/slash-command-picker-BKeEykkF.js.br +0 -0
- package/dist/web/assets/slash-command-picker-BKeEykkF.js.gz +0 -0
- package/dist/web/assets/{sql-object-tab-B6JtYu9P.js → sql-object-tab-I5bl3DVf.js} +1 -1
- package/dist/web/assets/sql-object-tab-I5bl3DVf.js.br +0 -0
- package/dist/web/assets/sql-object-tab-I5bl3DVf.js.gz +0 -0
- package/dist/web/assets/{sqlite-viewer-bdNkUymy.js → sqlite-viewer-ECCCjxdn.js} +1 -1
- package/dist/web/assets/sqlite-viewer-ECCCjxdn.js.br +0 -0
- package/dist/web/assets/sqlite-viewer-ECCCjxdn.js.gz +0 -0
- package/dist/web/assets/{structure-save-dialog-5SfYdbAB.js → structure-save-dialog-DcQdamD3.js} +1 -1
- package/dist/web/assets/structure-save-dialog-DcQdamD3.js.br +0 -0
- package/dist/web/assets/structure-save-dialog-DcQdamD3.js.gz +0 -0
- package/dist/web/assets/{structure-tab-DYjjcLIU.js → structure-tab-DyQGhf9t.js} +2 -2
- package/dist/web/assets/structure-tab-DyQGhf9t.js.br +0 -0
- package/dist/web/assets/structure-tab-DyQGhf9t.js.gz +0 -0
- package/dist/web/assets/{system-monitor-body-DouL7ajt.js → system-monitor-body-B5AvRT5J.js} +2 -2
- package/dist/web/assets/system-monitor-body-B5AvRT5J.js.br +0 -0
- package/dist/web/assets/system-monitor-body-B5AvRT5J.js.gz +0 -0
- package/dist/web/assets/system-monitor-tab-CfwHKQ5k.js +1 -0
- package/dist/web/assets/{system-monitor-window-content-DUCaJME1.js → system-monitor-window-content-Cvx1V8Mf.js} +1 -1
- package/dist/web/assets/{tab-host-window-content-CQ5NiV6Y.js → tab-host-window-content-DqOUHxEL.js} +1 -1
- package/dist/web/assets/tab-host-window-content-DqOUHxEL.js.br +0 -0
- package/dist/web/assets/tab-host-window-content-DqOUHxEL.js.gz +0 -0
- package/dist/web/assets/{tab-store-B4v2kAEY.js → tab-store-NUmgzMPf.js} +1 -1
- package/dist/web/assets/table-tab-dI8rBbCS.js +2 -0
- package/dist/web/assets/table-tab-dI8rBbCS.js.br +0 -0
- package/dist/web/assets/table-tab-dI8rBbCS.js.gz +0 -0
- package/dist/web/assets/{telegram-bot-token-field-CqVIuWP1.js → telegram-bot-token-field-DSLtG8vw.js} +1 -1
- package/dist/web/assets/telegram-bot-token-field-DSLtG8vw.js.br +0 -0
- package/dist/web/assets/telegram-bot-token-field-DSLtG8vw.js.gz +0 -0
- package/dist/web/assets/{terminal-tab-DT0MN_Qn.js → terminal-tab-CDg0AHBK.js} +2 -2
- package/dist/web/assets/terminal-tab-CDg0AHBK.js.br +0 -0
- package/dist/web/assets/terminal-tab-CDg0AHBK.js.gz +0 -0
- package/dist/web/assets/{tool-cards-C2YGSKRm.js → tool-cards-7E0jtwP0.js} +5 -5
- package/dist/web/assets/tool-cards-7E0jtwP0.js.br +0 -0
- package/dist/web/assets/tool-cards-7E0jtwP0.js.gz +0 -0
- package/dist/web/assets/{tools-settings-section-DQXIdF8O.js → tools-settings-section-AChVQJyU.js} +1 -1
- package/dist/web/assets/tools-settings-section-AChVQJyU.js.br +0 -0
- package/dist/web/assets/tools-settings-section-AChVQJyU.js.gz +0 -0
- package/dist/web/assets/{use-db-read-BByB906L.js → use-db-read-DgNa66Yo.js} +1 -1
- package/dist/web/assets/use-db-read-DgNa66Yo.js.br +0 -0
- package/dist/web/assets/use-db-read-DgNa66Yo.js.gz +0 -0
- package/dist/web/assets/{use-db-tab-Dc0QSFyM.js → use-db-tab-OGLoicCd.js} +1 -1
- package/dist/web/assets/use-db-tab-OGLoicCd.js.br +0 -0
- package/dist/web/assets/use-db-tab-OGLoicCd.js.gz +0 -0
- package/dist/web/assets/{use-inline-blame-B9M-hADX.js → use-inline-blame-BvlcOQd9.js} +3 -3
- package/dist/web/assets/use-inline-blame-BvlcOQd9.js.br +0 -0
- package/dist/web/assets/use-inline-blame-BvlcOQd9.js.gz +0 -0
- package/dist/web/assets/{use-lsp-DcGiCpl9.js → use-lsp-fLNwD0BI.js} +1 -1
- package/dist/web/assets/use-lsp-fLNwD0BI.js.br +0 -0
- package/dist/web/assets/use-lsp-fLNwD0BI.js.gz +0 -0
- package/dist/web/assets/{use-monaco-theme-CyoMsYaI.js → use-monaco-theme-CbNQ4HnC.js} +1 -1
- package/dist/web/assets/{use-process-kill-DsHyrg0-.js → use-process-kill-B4Srjl2m.js} +1 -1
- package/dist/web/assets/use-process-kill-B4Srjl2m.js.br +0 -0
- package/dist/web/assets/use-process-kill-B4Srjl2m.js.gz +0 -0
- package/dist/web/assets/{use-sql-schema-info-BqGN5N4O.js → use-sql-schema-info-CqISFaAW.js} +1 -1
- package/dist/web/assets/use-sql-schema-info-CqISFaAW.js.br +0 -0
- package/dist/web/assets/use-sql-schema-info-CqISFaAW.js.gz +0 -0
- package/dist/web/assets/{use-websocket-DqomrzN8.js → use-websocket-DVJuWhlA.js} +1 -1
- package/dist/web/assets/{voice-settings-section-D9KsOm8A.js → voice-settings-section-C1aEYF94.js} +1 -1
- package/dist/web/assets/voice-settings-section-C1aEYF94.js.br +0 -0
- package/dist/web/assets/voice-settings-section-C1aEYF94.js.gz +0 -0
- package/dist/web/assets/{web-preview-tab-CUp1n2jz.js → web-preview-tab-CZJAVoVU.js} +1 -1
- package/dist/web/assets/web-preview-tab-CZJAVoVU.js.br +0 -0
- package/dist/web/assets/web-preview-tab-CZJAVoVU.js.gz +0 -0
- package/dist/web/assets/{window-store-UcSFgNCI.js → window-store-D6EgLSfT.js} +1 -1
- package/dist/web/assets/window-store-D6EgLSfT.js.br +0 -0
- package/dist/web/assets/window-store-D6EgLSfT.js.gz +0 -0
- package/dist/web/index.html +12 -12
- package/dist/web/index.html.br +0 -0
- package/dist/web/index.html.gz +0 -0
- package/dist/web/sw.js +1 -1
- package/dist/web/sw.js.br +0 -0
- package/dist/web/sw.js.gz +0 -0
- package/package.json +1 -1
- package/src/web/components/floating-window/use-window-meta.ts +2 -1
- package/src/web/components/floating-window/window-content-registry.ts +2 -0
- package/src/web/components/floating-window/window-store-types.ts +1 -1
- package/src/web/components/layout/upgrade-button.tsx +27 -46
- package/src/web/components/release-notes/open-release-notes.ts +22 -0
- package/src/web/components/release-notes/release-notes-entry.tsx +73 -0
- package/src/web/components/release-notes/release-notes-view.tsx +72 -0
- package/src/web/components/release-notes/release-notes-window-content.tsx +6 -0
- package/dist/web/assets/accounts-settings-section-Ctu-w8kt.js +0 -1
- package/dist/web/assets/accounts-settings-section-Ctu-w8kt.js.br +0 -0
- package/dist/web/assets/accounts-settings-section-Ctu-w8kt.js.gz +0 -0
- package/dist/web/assets/agent-session-sheet-DmbSfFGz.js.br +0 -0
- package/dist/web/assets/agent-session-sheet-DmbSfFGz.js.gz +0 -0
- package/dist/web/assets/agent-session-window-content-Dk8x3ozF.js.br +0 -0
- package/dist/web/assets/agent-session-window-content-Dk8x3ozF.js.gz +0 -0
- package/dist/web/assets/ai-resource-editor-MKwjYcDh.js.br +0 -0
- package/dist/web/assets/ai-resource-editor-MKwjYcDh.js.gz +0 -0
- package/dist/web/assets/ai-settings-section-CODZY71V.js +0 -1
- package/dist/web/assets/ai-settings-section-CODZY71V.js.br +0 -0
- package/dist/web/assets/ai-settings-section-CODZY71V.js.gz +0 -0
- package/dist/web/assets/android-tab-CUkjbfyi.js.br +0 -0
- package/dist/web/assets/android-tab-CUkjbfyi.js.gz +0 -0
- package/dist/web/assets/appearance-settings-section-BZsM8HpZ.js.br +0 -0
- package/dist/web/assets/appearance-settings-section-BZsM8HpZ.js.gz +0 -0
- package/dist/web/assets/apps-panel-Cs3utBlp.js.br +0 -0
- package/dist/web/assets/apps-panel-Cs3utBlp.js.gz +0 -0
- package/dist/web/assets/branch-review-tab-C-aPuhXZ.js +0 -1
- package/dist/web/assets/branch-review-tab-C-aPuhXZ.js.br +0 -0
- package/dist/web/assets/branch-review-tab-C-aPuhXZ.js.gz +0 -0
- package/dist/web/assets/chat-tab-CGQu4uLR.js +0 -1
- package/dist/web/assets/chat-tab-CGQu4uLR.js.br +0 -0
- package/dist/web/assets/chat-tab-CGQu4uLR.js.gz +0 -0
- package/dist/web/assets/chat-tab-DtSHSfMU.js.br +0 -0
- package/dist/web/assets/chat-tab-DtSHSfMU.js.gz +0 -0
- package/dist/web/assets/code-editor-DjDyhff1.js.br +0 -0
- package/dist/web/assets/code-editor-DjDyhff1.js.gz +0 -0
- package/dist/web/assets/codex-reset-credit-button-BKgiUi8E.js.br +0 -0
- package/dist/web/assets/codex-reset-credit-button-BKgiUi8E.js.gz +0 -0
- package/dist/web/assets/conflict-editor-DgTv-8pb.js.br +0 -0
- package/dist/web/assets/conflict-editor-DgTv-8pb.js.gz +0 -0
- package/dist/web/assets/connection-form-tab-CJ-6gH9g.js +0 -4
- package/dist/web/assets/connection-form-tab-CJ-6gH9g.js.br +0 -0
- package/dist/web/assets/connection-form-tab-CJ-6gH9g.js.gz +0 -0
- package/dist/web/assets/csv-preview-BTGpYs4p.js.br +0 -0
- package/dist/web/assets/csv-preview-BTGpYs4p.js.gz +0 -0
- package/dist/web/assets/db-explorer-store-DDePT3UI.js.br +0 -0
- package/dist/web/assets/db-explorer-store-DDePT3UI.js.gz +0 -0
- package/dist/web/assets/db-sidebar-reveal-BeT8cp6P.js.br +0 -0
- package/dist/web/assets/db-sidebar-reveal-BeT8cp6P.js.gz +0 -0
- package/dist/web/assets/db-tab-parts-BYzd4_sR.js.br +0 -0
- package/dist/web/assets/db-tab-parts-BYzd4_sR.js.gz +0 -0
- package/dist/web/assets/design-settings-section-B3KQBggK.js.br +0 -0
- package/dist/web/assets/design-settings-section-B3KQBggK.js.gz +0 -0
- package/dist/web/assets/design-tab-CPyj_nFg.js.br +0 -0
- package/dist/web/assets/design-tab-CPyj_nFg.js.gz +0 -0
- package/dist/web/assets/designs-sidebar-panel-DIGPFo2l.js.br +0 -0
- package/dist/web/assets/designs-sidebar-panel-DIGPFo2l.js.gz +0 -0
- package/dist/web/assets/diff-viewer-nYz43A94.js +0 -4
- package/dist/web/assets/diff-viewer-nYz43A94.js.br +0 -0
- package/dist/web/assets/diff-viewer-nYz43A94.js.gz +0 -0
- package/dist/web/assets/docx-preview-CowHGqML.js.br +0 -0
- package/dist/web/assets/docx-preview-CowHGqML.js.gz +0 -0
- package/dist/web/assets/editor-dialog-xPoehDYp.js.br +0 -0
- package/dist/web/assets/editor-dialog-xPoehDYp.js.gz +0 -0
- package/dist/web/assets/editor-language-service-DdYqCDBU.js.br +0 -0
- package/dist/web/assets/editor-language-service-DdYqCDBU.js.gz +0 -0
- package/dist/web/assets/explorer-body-BHh5Qpvi.js +0 -2
- package/dist/web/assets/explorer-body-BHh5Qpvi.js.br +0 -0
- package/dist/web/assets/explorer-body-BHh5Qpvi.js.gz +0 -0
- package/dist/web/assets/explorer-model-tGyFETP_.js.br +0 -0
- package/dist/web/assets/explorer-model-tGyFETP_.js.gz +0 -0
- package/dist/web/assets/explorer-window-content-B1c4QTVL.js.br +0 -0
- package/dist/web/assets/explorer-window-content-B1c4QTVL.js.gz +0 -0
- package/dist/web/assets/extension-manager-section-BgL0Uyl3.js.br +0 -0
- package/dist/web/assets/extension-manager-section-BgL0Uyl3.js.gz +0 -0
- package/dist/web/assets/extension-webview-BWB1Yd-t.js.br +0 -0
- package/dist/web/assets/extension-webview-BWB1Yd-t.js.gz +0 -0
- package/dist/web/assets/files-settings-section-TmoewoO2.js.br +0 -0
- package/dist/web/assets/files-settings-section-TmoewoO2.js.gz +0 -0
- package/dist/web/assets/general-settings-section-Bu7o8uUn.js.br +0 -0
- package/dist/web/assets/general-settings-section-Bu7o8uUn.js.gz +0 -0
- package/dist/web/assets/git-log-panel-RjMZIaCk.js.br +0 -0
- package/dist/web/assets/git-log-panel-RjMZIaCk.js.gz +0 -0
- package/dist/web/assets/git-review-tab-BUW5LZk4.js +0 -3
- package/dist/web/assets/git-review-tab-BUW5LZk4.js.br +0 -0
- package/dist/web/assets/git-review-tab-BUW5LZk4.js.gz +0 -0
- package/dist/web/assets/glide-data-grid-DqlTFhhf.js.br +0 -0
- package/dist/web/assets/glide-data-grid-DqlTFhhf.js.gz +0 -0
- package/dist/web/assets/grid-save-dialog-BmF2Gy_E.js.br +0 -0
- package/dist/web/assets/grid-save-dialog-BmF2Gy_E.js.gz +0 -0
- package/dist/web/assets/group-chat-tab-nk3n5wE0.js +0 -1
- package/dist/web/assets/group-chat-tab-nk3n5wE0.js.br +0 -0
- package/dist/web/assets/group-chat-tab-nk3n5wE0.js.gz +0 -0
- package/dist/web/assets/impexp-tab-B8d4oBOB.js.br +0 -0
- package/dist/web/assets/impexp-tab-B8d4oBOB.js.gz +0 -0
- package/dist/web/assets/index-2_Pz5MiI.css +0 -1
- package/dist/web/assets/index-2_Pz5MiI.css.br +0 -0
- package/dist/web/assets/index-Cx9ZRibz.js.br +0 -0
- package/dist/web/assets/index-Cx9ZRibz.js.gz +0 -0
- package/dist/web/assets/keybindings-store-B2AkKQl7.js +0 -1
- package/dist/web/assets/keyboard-shortcuts-section-BSMgmbOR.js.br +0 -0
- package/dist/web/assets/keyboard-shortcuts-section-BSMgmbOR.js.gz +0 -0
- package/dist/web/assets/language-servers-section-DO9wnwnG.js.br +0 -0
- package/dist/web/assets/language-servers-section-DO9wnwnG.js.gz +0 -0
- package/dist/web/assets/logs-app-xQ2UsN4G.js +0 -13
- package/dist/web/assets/logs-app-xQ2UsN4G.js.br +0 -0
- package/dist/web/assets/logs-app-xQ2UsN4G.js.gz +0 -0
- package/dist/web/assets/logs-tab-H3SmYGRX.js +0 -1
- package/dist/web/assets/lsp-client-IsC8Ol0U.js.br +0 -0
- package/dist/web/assets/lsp-client-IsC8Ol0U.js.gz +0 -0
- package/dist/web/assets/markdown-renderer-BfZiHaNy.js.br +0 -0
- package/dist/web/assets/markdown-renderer-BfZiHaNy.js.gz +0 -0
- package/dist/web/assets/mobile-explorer-sheet-Dz3eJdBl.js.br +0 -0
- package/dist/web/assets/mobile-explorer-sheet-Dz3eJdBl.js.gz +0 -0
- package/dist/web/assets/new-design-dialog-B8zeJoJQ.js.br +0 -0
- package/dist/web/assets/new-design-dialog-B8zeJoJQ.js.gz +0 -0
- package/dist/web/assets/notification-store-BkkcJE2G.js +0 -1
- package/dist/web/assets/notifications-settings-section-CMZXQw72.js.br +0 -0
- package/dist/web/assets/notifications-settings-section-CMZXQw72.js.gz +0 -0
- package/dist/web/assets/open-db-tabs-DYTZbguT.js.br +0 -0
- package/dist/web/assets/open-db-tabs-DYTZbguT.js.gz +0 -0
- package/dist/web/assets/overview-panel-7_8b6pwr.js.br +0 -0
- package/dist/web/assets/overview-panel-7_8b6pwr.js.gz +0 -0
- package/dist/web/assets/panel-store-Dx2ziBLp.js.br +0 -0
- package/dist/web/assets/panel-store-Dx2ziBLp.js.gz +0 -0
- package/dist/web/assets/performance-panel-COQNCyEU.js.br +0 -0
- package/dist/web/assets/performance-panel-COQNCyEU.js.gz +0 -0
- package/dist/web/assets/ppmbot-settings-section-CmhbbZVI.js.br +0 -0
- package/dist/web/assets/ppmbot-settings-section-CmhbbZVI.js.gz +0 -0
- package/dist/web/assets/pptx-export-COeBmnFJ.js.br +0 -0
- package/dist/web/assets/pptx-export-COeBmnFJ.js.gz +0 -0
- package/dist/web/assets/problems-panel-I0EYfa1S.js.br +0 -0
- package/dist/web/assets/problems-panel-I0EYfa1S.js.gz +0 -0
- package/dist/web/assets/process-table-or-X8Lwh.js.br +0 -0
- package/dist/web/assets/process-table-or-X8Lwh.js.gz +0 -0
- package/dist/web/assets/proxy-settings-section-DpJ6ok4C.js.br +0 -0
- package/dist/web/assets/proxy-settings-section-DpJ6ok4C.js.gz +0 -0
- package/dist/web/assets/query-tab-DeNZMZHX.js.br +0 -0
- package/dist/web/assets/query-tab-DeNZMZHX.js.gz +0 -0
- package/dist/web/assets/remote-access-settings-section-QRP4Yh46.js +0 -1
- package/dist/web/assets/remote-access-settings-section-QRP4Yh46.js.br +0 -0
- package/dist/web/assets/remote-access-settings-section-QRP4Yh46.js.gz +0 -0
- package/dist/web/assets/remote-desktop-clipboard-notice-CGDBpXMf.js.br +0 -0
- package/dist/web/assets/remote-desktop-clipboard-notice-CGDBpXMf.js.gz +0 -0
- package/dist/web/assets/remote-desktop-mobile-sheet-6nXirdqZ.js.br +0 -0
- package/dist/web/assets/remote-desktop-mobile-sheet-6nXirdqZ.js.gz +0 -0
- package/dist/web/assets/remote-desktop-mobile-view-BTaj9Flo.js.br +0 -0
- package/dist/web/assets/remote-desktop-mobile-view-BTaj9Flo.js.gz +0 -0
- package/dist/web/assets/remote-desktop-readiness-gate--gtmfqZh.js.br +0 -0
- package/dist/web/assets/remote-desktop-readiness-gate--gtmfqZh.js.gz +0 -0
- package/dist/web/assets/remote-desktop-settings-section-Bs5avYaS.js.br +0 -0
- package/dist/web/assets/remote-desktop-settings-section-Bs5avYaS.js.gz +0 -0
- package/dist/web/assets/remote-desktop-window-content-D4CM-28B.js.br +0 -0
- package/dist/web/assets/remote-desktop-window-content-D4CM-28B.js.gz +0 -0
- package/dist/web/assets/rename-object-dialog-Dv4iLwnf.js.br +0 -0
- package/dist/web/assets/rename-object-dialog-Dv4iLwnf.js.gz +0 -0
- package/dist/web/assets/review-address-setup-CU1A_NfZ.js +0 -1
- package/dist/web/assets/review-address-setup-CU1A_NfZ.js.br +0 -0
- package/dist/web/assets/review-address-setup-CU1A_NfZ.js.gz +0 -0
- package/dist/web/assets/review-code-Bet53hHb.js.br +0 -0
- package/dist/web/assets/review-code-Bet53hHb.js.gz +0 -0
- package/dist/web/assets/save-as-dialog-DHkBsS-6.js.br +0 -0
- package/dist/web/assets/save-as-dialog-DHkBsS-6.js.gz +0 -0
- package/dist/web/assets/schedule-script-editor-CKUl2qxf.js.br +0 -0
- package/dist/web/assets/schedule-script-editor-CKUl2qxf.js.gz +0 -0
- package/dist/web/assets/schedules-settings-section-EoOXzqF3.js.br +0 -0
- package/dist/web/assets/schedules-settings-section-EoOXzqF3.js.gz +0 -0
- package/dist/web/assets/send-to-chat-B7oUVcgh.js.br +0 -0
- package/dist/web/assets/send-to-chat-B7oUVcgh.js.gz +0 -0
- package/dist/web/assets/services-panel-BceuL_SU.js.br +0 -0
- package/dist/web/assets/services-panel-BceuL_SU.js.gz +0 -0
- package/dist/web/assets/session-changes-bar-CjSxBYOF.js.br +0 -0
- package/dist/web/assets/session-changes-bar-CjSxBYOF.js.gz +0 -0
- package/dist/web/assets/session-review-tab-yIQFGJbG.js.br +0 -0
- package/dist/web/assets/session-review-tab-yIQFGJbG.js.gz +0 -0
- package/dist/web/assets/settings-body-DXNcpoqY.js.br +0 -0
- package/dist/web/assets/settings-body-DXNcpoqY.js.gz +0 -0
- package/dist/web/assets/settings-rows-DgL7oTg8.js.br +0 -0
- package/dist/web/assets/settings-rows-DgL7oTg8.js.gz +0 -0
- package/dist/web/assets/settings-section-content-DFLjO2le.js.br +0 -0
- package/dist/web/assets/settings-section-content-DFLjO2le.js.gz +0 -0
- package/dist/web/assets/settings-store-CBJCnE5L.js.br +0 -0
- package/dist/web/assets/settings-store-CBJCnE5L.js.gz +0 -0
- package/dist/web/assets/settings-tab-CrGoLKQT.js +0 -1
- package/dist/web/assets/settings-window-content-5opW9Wra.js +0 -1
- package/dist/web/assets/slash-command-picker-qb3fZ7RP.js.br +0 -0
- package/dist/web/assets/slash-command-picker-qb3fZ7RP.js.gz +0 -0
- package/dist/web/assets/sql-object-tab-B6JtYu9P.js.br +0 -0
- package/dist/web/assets/sql-object-tab-B6JtYu9P.js.gz +0 -0
- package/dist/web/assets/sqlite-viewer-bdNkUymy.js.br +0 -0
- package/dist/web/assets/sqlite-viewer-bdNkUymy.js.gz +0 -0
- package/dist/web/assets/structure-save-dialog-5SfYdbAB.js.br +0 -0
- package/dist/web/assets/structure-save-dialog-5SfYdbAB.js.gz +0 -0
- package/dist/web/assets/structure-tab-DYjjcLIU.js.br +0 -0
- package/dist/web/assets/structure-tab-DYjjcLIU.js.gz +0 -0
- package/dist/web/assets/system-monitor-body-DouL7ajt.js.br +0 -0
- package/dist/web/assets/system-monitor-body-DouL7ajt.js.gz +0 -0
- package/dist/web/assets/system-monitor-tab-qpa36tWB.js +0 -1
- package/dist/web/assets/tab-host-window-content-CQ5NiV6Y.js.br +0 -0
- package/dist/web/assets/tab-host-window-content-CQ5NiV6Y.js.gz +0 -0
- package/dist/web/assets/table-tab-M850PntZ.js +0 -2
- package/dist/web/assets/table-tab-M850PntZ.js.br +0 -0
- package/dist/web/assets/table-tab-M850PntZ.js.gz +0 -0
- package/dist/web/assets/telegram-bot-token-field-CqVIuWP1.js.br +0 -0
- package/dist/web/assets/telegram-bot-token-field-CqVIuWP1.js.gz +0 -0
- package/dist/web/assets/terminal-tab-DT0MN_Qn.js.br +0 -0
- package/dist/web/assets/terminal-tab-DT0MN_Qn.js.gz +0 -0
- package/dist/web/assets/tool-cards-C2YGSKRm.js.br +0 -0
- package/dist/web/assets/tool-cards-C2YGSKRm.js.gz +0 -0
- package/dist/web/assets/tools-settings-section-DQXIdF8O.js.br +0 -0
- package/dist/web/assets/tools-settings-section-DQXIdF8O.js.gz +0 -0
- package/dist/web/assets/use-db-read-BByB906L.js.br +0 -0
- package/dist/web/assets/use-db-read-BByB906L.js.gz +0 -0
- package/dist/web/assets/use-db-tab-Dc0QSFyM.js.br +0 -0
- package/dist/web/assets/use-db-tab-Dc0QSFyM.js.gz +0 -0
- package/dist/web/assets/use-inline-blame-B9M-hADX.js.br +0 -0
- package/dist/web/assets/use-inline-blame-B9M-hADX.js.gz +0 -0
- package/dist/web/assets/use-lsp-DcGiCpl9.js.br +0 -0
- package/dist/web/assets/use-lsp-DcGiCpl9.js.gz +0 -0
- package/dist/web/assets/use-process-kill-DsHyrg0-.js.br +0 -0
- package/dist/web/assets/use-process-kill-DsHyrg0-.js.gz +0 -0
- package/dist/web/assets/use-sql-schema-info-BqGN5N4O.js.br +0 -0
- package/dist/web/assets/use-sql-schema-info-BqGN5N4O.js.gz +0 -0
- package/dist/web/assets/voice-settings-section-D9KsOm8A.js.br +0 -0
- package/dist/web/assets/voice-settings-section-D9KsOm8A.js.gz +0 -0
- package/dist/web/assets/web-preview-tab-CUp1n2jz.js.br +0 -0
- package/dist/web/assets/web-preview-tab-CUp1n2jz.js.gz +0 -0
- package/dist/web/assets/window-store-UcSFgNCI.js.br +0 -0
- package/dist/web/assets/window-store-UcSFgNCI.js.gz +0 -0
- /package/dist/web/assets/{__vite-browser-external-DLaiEgUM.js → __vite-browser-external-LVpeGV-g.js} +0 -0
- /package/dist/web/assets/{api-themes-B3-6zR6Q.js → api-themes-DUOEO3_X.js} +0 -0
- /package/dist/web/assets/{claude-models-yFre4eSK.js → claude-models-C9iHl8VB.js} +0 -0
- /package/dist/web/assets/{database-drivers-section-c2SuNQPB.js → database-drivers-section-BPXoNrWi.js} +0 -0
- /package/dist/web/assets/{database-drivers-section-c2SuNQPB.js.br → database-drivers-section-BPXoNrWi.js.br} +0 -0
- /package/dist/web/assets/{database-drivers-section-c2SuNQPB.js.gz → database-drivers-section-BPXoNrWi.js.gz} +0 -0
- /package/dist/web/assets/{metric-chart-canvas-Dnm9OOXU.js → metric-chart-canvas-HG8rPTMq.js} +0 -0
- /package/dist/web/assets/{metric-chart-canvas-Dnm9OOXU.js.br → metric-chart-canvas-HG8rPTMq.js.br} +0 -0
- /package/dist/web/assets/{metric-chart-canvas-Dnm9OOXU.js.gz → metric-chart-canvas-HG8rPTMq.js.gz} +0 -0
- /package/dist/web/assets/{notification-settings-CvplVsIo.js → notification-settings--li9wGTJ.js} +0 -0
- /package/dist/web/assets/{notification-settings-CvplVsIo.js.br → notification-settings--li9wGTJ.js.br} +0 -0
- /package/dist/web/assets/{notification-settings-CvplVsIo.js.gz → notification-settings--li9wGTJ.js.gz} +0 -0
- /package/dist/web/assets/{process-row-format-CM1XaqkS.js → process-row-format-CJg8VV-6.js} +0 -0
- /package/dist/web/assets/{query-audit-section-C-fT07Zz.js → query-audit-section-BiCUBamA.js} +0 -0
- /package/dist/web/assets/{query-audit-section-C-fT07Zz.js.br → query-audit-section-BiCUBamA.js.br} +0 -0
- /package/dist/web/assets/{query-audit-section-C-fT07Zz.js.gz → query-audit-section-BiCUBamA.js.gz} +0 -0
- /package/dist/web/assets/{remote-desktop-recording-D_fwMC2z.js → remote-desktop-recording-BcDx5c_k.js} +0 -0
- /package/dist/web/assets/{separator-CYw7bF1W.js → separator-DUdRLaL0.js} +0 -0
- /package/dist/web/assets/{sortable-header-CchrA_dg.js → sortable-header-Ds6nTnqB.js} +0 -0
- /package/dist/web/assets/{sortable-header-CchrA_dg.js.br → sortable-header-Ds6nTnqB.js.br} +0 -0
- /package/dist/web/assets/{sortable-header-CchrA_dg.js.gz → sortable-header-Ds6nTnqB.js.gz} +0 -0
- /package/dist/web/assets/{vendor-xterm-lhGdimFj.js → vendor-xterm-BxbwWHG_.js} +0 -0
- /package/dist/web/assets/{vendor-xterm-lhGdimFj.js.br → vendor-xterm-BxbwWHG_.js.br} +0 -0
- /package/dist/web/assets/{vendor-xterm-lhGdimFj.js.gz → vendor-xterm-BxbwWHG_.js.gz} +0 -0
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{s as e}from"./rolldown-runtime-C5c2KzVm.js";import{D as t,E as n}from"./vendor-markdown-C-P1aR4p.js";import"./vendor-ui-BTSIXzhZ.js";import{A as r,Bt as i,Dr as a,Gr as o,Hn as s,I as c,In as l,L as u,Lr as d,Or as f,P as p,Qn as m,Rr as h,Vn as g,Vt as _,Yr as v,Zt as y,at as b,c as x,cn as S,cr as C,f as w,g as ee,gt as te,h as T,hr as E,kt as D,li as O,lt as k,mn as A,mr as j,o as M,p as N,r as ne,st as re,ut as P,v as F,vr as I,vt as ie}from"./icons-C1wDt09O.js";import{k as L,n as R,r as z}from"./api-client-BnYFnEfK.js";import{t as ae}from"./settings-store-CBJCnE5L.js";import{n as B}from"./utils-D3xTlJyU.js";import"./portal-container-context-Gepuvxdg.js";import{Q as V,Z as oe,et as se}from"./window-store-UcSFgNCI.js";import{t as ce}from"./panel-store-Dx2ziBLp.js";import"./project-store-Bs-kiU8m.js";import"./project-framework-store-nuePqBBa.js";import"./session-list-sync-triggers-D9i1FxWd.js";import{t as le}from"./tab-store-B4v2kAEY.js";import"./context-menu-DhKbkI1X.js";import{n as ue}from"./use-is-mobile-CL2I7hLf.js";import"./settings-categories-BY9n3BRr.js";import"./open-settings-BGtoVEAU.js";import{r as de}from"./clipboard-D3XnL7CB.js";import{t as fe}from"./button-BHGVTbam.js";import"./dialog-DnE192fh.js";import"./file-icons-CB0RsVdl.js";import{i as pe,l as me,m as he,r as H,t as ge,u as _e}from"./dropdown-menu-CxZR_vuV.js";import{t as ve}from"./mobile-bottom-sheet-M9pZptfh.js";import"./use-visual-viewport-B_GFo6k2.js";import"./adaptive-context-menu-CxHkI7dL.js";import"./fs-api-BVIVh_De.js";import"./format-file-meta-BOAh9mam.js";import"./input-CReAuQTF.js";import{i as ye,t as be}from"./use-db-driver-installed-BL1XW_bI.js";import"./db-sidebar-reveal-BeT8cp6P.js";import{D as xe}from"./db-explorer-store-DDePT3UI.js";import{A as Se,C as Ce,D as U,E as we,I as Te,N as Ee,O as W,P as De,S as Oe,T as ke,a as Ae,b as je,g as Me,h as Ne,i as Pe,j as Fe,k as Ie,m as Le,n as Re,r as ze,s as Be,u as Ve,w as He,x as Ue,y as We}from"./open-db-tabs-DYTZbguT.js";import{m as Ge}from"./impexp-state-Cx2Az9iZ.js";import"./scroll-area-CSmNLlfl.js";import{Di as G,Mi as Ke,S as qe,cr as Je,f as Ye,lr as Xe,nr as Ze,or as Qe,pt as $e,rr as et,sr as tt,ur as nt,x as rt,y as it,yi as at}from"./index-Cx9ZRibz.js";import"./marked.esm-PRUAkogl.js";import{t as ot}from"./use-db-tab-Dc0QSFyM.js";import{t as st}from"./use-db-read-BByB906L.js";import{a as K,i as q,n as ct,r as J,t as lt}from"./db-tab-parts-BYzd4_sR.js";import"./use-opener-focus-BWN0EWCh.js";import{i as ut,n as dt,r as ft,t as pt}from"./filter-dialog-frame-C-lonBdY.js";import{t as mt}from"./use-at-most-wide-DIZ300Fh.js";import{C as ht,S as gt,_ as _t,a as vt,b as yt,c as bt,d as xt,f as St,g as Ct,h as wt,i as Tt,l as Et,m as Dt,o as Ot,p as kt,r as At,s as jt,t as Mt,u as Nt,v as Pt,w as Ft,x as It,y as Lt}from"./glide-data-grid-DqlTFhhf.js";var Y=e(t(),1),X={filters:[],anyColumn:[]};function Rt(e,t,n){return`ppm-db-${e}-${n}.${t}-p1`}var zt=(e,t)=>`/schema?table=${encodeURIComponent(e)}${t?`&schema=${encodeURIComponent(t)}`:``}`;function Bt(e,t,n){try{let r=sessionStorage.getItem(Rt(e,t,n)),i=r?JSON.parse(r):null;return i&&typeof i.data?.hasMore==`boolean`?i:null}catch{return null}}function Z(e,t,n,r,i){try{sessionStorage.setItem(Rt(e,t,n),JSON.stringify({data:r,cols:i}))}catch{}}var Vt=e=>e.toLocaleString();function Ht(e,t){if(!e)return null;let n=e.rows.length;if(!e.hasMore)return{text:`Rows: ${Vt(n)}`,counting:!1,canCountExactly:!1,total:{kind:`exact`,count:n}};let r=t?.key===e.countKey?t:null;if(r?.count!=null){let e=Math.max(r.count,n);return{text:`Rows: ${Vt(e)}`,counting:!1,canCountExactly:!1,total:{kind:`exact`,count:e}}}let i=r?.estimate!=null&&r.estimate>n?r.estimate:null;return r&&!r.pending&&(r.timedOut||r.failed)?{text:i===null?`Rows: Many`:`Rows: ~${Vt(i)}`,counting:!1,canCountExactly:!0,title:r.failed?`The rows could not be counted: ${r.failed}. Click to try again.`:`Counting took too long, so this is not exact. Click to count every row.`,total:i===null?{kind:`many`}:{kind:`estimate`,count:i}}:{text:i===null?`Rows: ${Vt(n)}+`:`Rows: ~${Vt(i)}`,counting:!!r?.pending,canCountExactly:!1,title:i===null?`Rows loaded so far, until they are counted`:`The database's estimate, until the rows are counted`,total:i===null?{kind:`atLeast`,count:n}:{kind:`estimate`,count:i}}}function Ut(e){let t=(0,Y.useCallback)(t=>e?se(e,t):``,[e]),n=e?oe(e):``,[r,i]=(0,Y.useState)(null),[a,o]=(0,Y.useState)(``),s=(0,Y.useRef)(null),[c,l]=(0,Y.useState)(null),u=(0,Y.useRef)(null),[d,f]=(0,Y.useState)([]),p=(0,Y.useRef)(null),[m,h]=(0,Y.useState)(!1),[g,_]=(0,Y.useState)(!1),[v,y]=(0,Y.useState)(null),[b,x]=(0,Y.useState)(null),[S,C]=(0,Y.useState)(null),w=(0,Y.useRef)(null),[ee,te]=(0,Y.useState)([]),T=(0,Y.useRef)([]),E=(0,Y.useRef)(X),D=(0,Y.useRef)(0),O=(0,Y.useRef)(Promise.resolve()),k=(0,Y.useRef)(null),[A,j]=(0,Y.useState)(null),M=(0,Y.useRef)(null),N=(0,Y.useRef)(0),[ne,re]=(0,Y.useState)(0),P=(0,Y.useCallback)(e=>{u.current=e,l(e)},[]),F=(0,Y.useCallback)(e=>{M.current=e,j(e)},[]),I=(0,Y.useCallback)(e=>{N.current++,e.countKey&&F({key:e.countKey,count:e.rows.length,estimate:null,pending:!1})},[F]),ie=(0,Y.useCallback)((e,n)=>{let r=++N.current,i=M.current?.key===n?M.current:null;F({key:n,count:null,estimate:i?.estimate??null,pending:!0}),z.post(t(`/grid/count`),{table:e.table,schema:e.schema,filters:e.filters,anyColumn:e.anyColumn,...e.exact?{exact:!0}:{}}).then(e=>{r===N.current&&F({key:n,count:e.count,estimate:e.estimate,pending:!1,timedOut:e.timedOut})}).catch(e=>{r===N.current&&F({key:n,count:null,estimate:i?.estimate??null,pending:!1,failed:e.message})})},[t,F]),R=(0,Y.useCallback)((e,t,n=s.current,r=T.current)=>{if(!n)return null;let{filters:i,anyColumn:a}=E.current;return{table:n.table,schema:n.schema,filters:i,anyColumn:a,sort:r,offset:e,limit:t}},[]),ae=(0,Y.useCallback)((e,n)=>{let r=s.current;if(!r)return Promise.resolve(null);let{filters:i,anyColumn:a}=E.current;return z.post(t(`/grid/export`),{table:r.table,schema:r.schema,filters:i,anyColumn:a,sort:T.current,columns:n,format:e})},[t]),B=(0,Y.useCallback)((e,n,r)=>{let i=s.current;return i?z.post(t(`/grid/cell`),{table:i.table,schema:i.schema,column:e,key:n,fileName:r}):Promise.resolve(null)},[t]),V=(0,Y.useCallback)(async(r={})=>{let i=r.table===void 0?s.current:{table:r.table,schema:r.tableSchema??``};if(!i||!e)return null;let a=++D.current;k.current=null,y(null),r.silent||h(!0);let o=r.sort??T.current,c=u.current?.rows.length??0,l=r.keepLoaded?Math.min(Math.max(c,100),De):100,d=R(0,l,i,o),{filters:m,anyColumn:g}=E.current,_=JSON.stringify([i.table,i.schema,m,g]),v=JSON.stringify([i.table,i.schema]),b=r.structure||p.current!==v;try{let[e,s]=await Promise.all([z.post(t(`/grid`),d),b?z.get(t(zt(i.table,i.schema))):Promise.resolve(null)]);if(a!==D.current)return null;C(null),x(null);let{keys:c,records:u}=Te(e.columns,e.rows),h={columns:c,rows:u,hasMore:e.hasMore,sql:e.sql,countKey:_,rowKey:e.rowKey};return P(h),r.keepLoaded||re(e=>e+1),s&&(f(s),p.current=v),m.length===0&&g.length===0&&o.length===0&&l===100&&s&&Z(n,i.table,i.schema,h,s),e.hasMore?(r.recount||M.current?.key!==_)&&ie(d,_):I(h),null}catch(e){if(a!==D.current)return null;if(r.silent)return e;x(e.message);let t=ye(e);return C(t),w.current=t?()=>{V({...r,table:i.table,tableSchema:i.schema})}:null,e}finally{a===D.current&&h(!1)}},[t,e,n,R,P,I,ie]),ce=(0,Y.useCallback)(async(e,n)=>{let r=u.current;if(e!==D.current||!r?.hasMore)return!1;let i=R(r.rows.length,n);if(!i)return!1;let a=await z.post(t(`/grid`),i),o=u.current;if(e!==D.current||!o)return!1;let{records:s}=Te(a.columns,a.rows),c={...o,rows:[...o.rows,...s],hasMore:a.hasMore};return P(c),a.hasMore||I(c),!0},[t,R,P,I]),le=(0,Y.useCallback)(e=>{let t=O.current.then(e);return O.current=t.catch(()=>{}),t},[]),ue=(0,Y.useCallback)(()=>{let e=D.current;!u.current?.hasMore||k.current===e||(k.current=e,_(!0),le(async()=>{try{await ce(e,100)}catch(t){e===D.current&&L.error(`Could not load more rows`,{description:t.message})}finally{k.current===e&&(k.current=null,_(!1))}}))},[le,ce]),de=(0,Y.useCallback)(()=>{let e=D.current;if(!u.current?.hasMore)return Promise.resolve(null);y(u.current.rows.length);let t=null;return le(async()=>{try{for(;e===D.current&&u.current?.hasMore&&await ce(e,5e3);)e===D.current&&y(u.current?.rows.length??0);e===D.current&&u.current&&!u.current.hasMore&&(t=u.current)}catch(t){e===D.current&&L.error(`Fetch all stopped`,{description:t.message})}finally{e===D.current&&y(null)}}).then(()=>t)},[le,ce]),fe=(0,Y.useCallback)(()=>{let e=u.current,t=R(0,100);!e?.countKey||!t||ie({...t,exact:!0},e.countKey)},[R,ie]),pe=(0,Y.useCallback)(e=>(E.current=e,V()),[V]),me=(0,Y.useCallback)(async(e,r=``,a)=>{s.current={table:e,schema:r},i(e),o(r),E.current=X,T.current=[],te([]);let c=Bt(n,e,r);if(a){let n=c?.cols??await z.get(t(zt(e,r))).catch(()=>null),i=n?a(n):X;if(n&&(i.filters.length>0||i.anyColumn.length>0))return f(n),p.current=JSON.stringify([e,r]),E.current=i,V({table:e,tableSchema:r})}return c&&(P(c.data),f(c.cols),h(!1)),V({table:e,tableSchema:r,structure:!0})},[t,n,V,P]);be(e=>{if(S?.id!==e)return;let t=w.current;w.current=null,t?.()});let he=(0,Y.useCallback)(async(t,n)=>{let r=s.current;!r||!e||(await Ye({target:e,place:n,table:r.table,schema:r.schema,changes:t}),V({keepLoaded:!0,recount:!0}))},[e,V]),H=(0,Y.useCallback)(e=>(T.current=e,te(e),V({sort:e})),[V]),ge=(0,Y.useCallback)((e={})=>V({structure:e.structure,recount:!0,...e.keepPlace?{keepLoaded:!0}:{}}),[V]),_e=(0,Y.useCallback)(()=>V({silent:!0,keepLoaded:!0}),[V]);return{selectedTable:r,selectedSchema:a,selectTable:me,tableData:c,schema:d,loading:m,loadingMore:g,fetchingAll:v,error:b,driverMissing:S,rowCount:(0,Y.useMemo)(()=>Ht(c,A),[c,A]),countExactly:fe,viewKey:ne,sort:ee,setSort:H,loadMore:ue,fetchAll:de,startExport:ae,startCellDownload:B,saveChanges:he,reload:ge,refreshQuietly:_e,applyFilters:pe}}var Q=n();function Wt(e,t,n,r){let[i,a]=(0,Y.useState)(!1),o=(0,Y.useRef)(!1);return{run:(0,Y.useCallback)(async n=>{if(o.current)return;o.current=!0,a(!0);let r=L.loading(`Exporting ${ut(t,n)}…`);try{let t=await e(n);if(!t){L.dismiss(r);return}at(ft(t.ticket),t.fileName),L.success(`Downloading ${t.fileName}`,{id:r})}catch(e){L.error(`Export failed`,{id:r,description:e.message})}finally{o.current=!1,a(!1)}},[e,t]),busy:i,unavailable:n,advanced:r}}function Gt({exporter:e,labelClassName:t}){return(0,Q.jsxs)(ge,{children:[(0,Q.jsx)(he,{asChild:!0,children:(0,Q.jsxs)(`button`,{type:`button`,disabled:!!e.unavailable,"aria-label":`Export`,title:e.unavailable??`Export every row the filters select`,className:K,children:[(0,Q.jsx)(T,{className:`size-4 shrink-0`}),(0,Q.jsx)(`span`,{className:t,children:`Export`}),(0,Q.jsx)(p,{className:`-ml-0.5 size-3 shrink-0`,"aria-hidden":!0})]})}),(0,Q.jsxs)(H,{align:`start`,className:`min-w-56`,children:[e.advanced&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(pe,{onSelect:e.advanced,children:[`Export advanced...`,(0,Q.jsx)(_e,{className:`tracking-normal`,children:G(`Mod+E`)})]}),e.run&&(0,Q.jsx)(me,{})]}),e.run&&dt.map(t=>(0,Q.jsx)(pe,{disabled:e.busy,onSelect:()=>void e.run?.(t.id),children:t.label},t.id))]})]})}function Kt(e){let t=new Map;for(let n of e){if(n==null||xt(n))continue;let e=_t(n);t.has(e)||t.set(e,n)}return[...t.values()]}function qt(e,t,n){let r=Kt(n);if(!r.length)return null;let i=Ct(t,r),a=Ee(i,t);return!a.ok||a.anyOf.length===0?null:{text:i,group:{column:e,anyOf:a.anyOf}}}function Jt(e,t,n){return n==null||xt(n)?null:U(Me,e,Pt(t,n))}function Yt(e){return e.columns.length===0||e.columns.length!==e.refColumns.length?null:e.columns.map((t,n)=>({column:t,ref:e.refColumns[n]}))}function Xt(e){return{out:e.foreignKeys.flatMap(e=>{let t=Yt(e);return t?[{direction:`out`,schema:e.refSchema,table:e.refTable,name:e.name,keyColumns:e.columns,columns:t.map(e=>({detail:e.ref,master:e.column}))}]:[]}),in:e.references.flatMap(e=>{let t=Yt(e);return t?[{direction:`in`,schema:e.schema,table:e.table,name:e.name,keyColumns:e.columns,columns:t.map(e=>({detail:e.column,master:e.ref}))}]:[]})}}function Zt(e){return!!e&&e.out.length+e.in.length>0}function Qt(e){return[e.direction,e.schema??``,e.table,e.name??``,...e.columns.flatMap(e=>[e.detail,e.master])].join(`\0`)}function $t(e,t){let n=t.trim().toLowerCase();if(!n)return e;let r=e=>e.table.toLowerCase().includes(n)||e.keyColumns.join(`, `).toLowerCase().includes(n);return{out:e.out.filter(r),in:e.in.filter(r)}}function en(e){return{table:e.table,detail:e.columns.map(e=>e.detail).join(`, `),master:e.columns.map(e=>e.master).join(`, `)}}function tn(e,t,n){let r=[];for(let{detail:i,master:a}of e.columns){let e=qt(i,n(i),t.map(e=>e[a]));if(!e)return null;r.push(e.group)}return r}function nn({table:e,references:t,open:n,onOpen:r,sheet:i=!1,grow:a=!0,collapsed:o,onCollapsedChange:s}){let[c,l]=(0,Y.useState)(``),u=$t(t,c),f=n?Qt(n):null,p=(e,t)=>t.length>0&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:B(`px-3 pt-1.5 pb-0.5 text-[10.5px] font-semibold tracking-[0.05em] whitespace-nowrap text-text-3 uppercase`,i&&`px-4 pt-2.5 pb-1 text-[11px]`),children:[e,` (`,t.length,`)`]}),t.map(e=>{let t=Qt(e),n=t===f;return(0,Q.jsx)(`div`,{role:`listitem`,children:(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>r(e),"aria-pressed":n,title:`Show ${e.table} below the grid, following the selected row`,className:B(`mx-1 flex h-[26px] w-[calc(100%-8px)] items-center gap-[5px] rounded-[5px] pr-1.5 pl-0.5 text-left text-xs whitespace-nowrap text-text-2 select-none can-hover:hover:bg-surface-hover can-hover:hover:text-text`,i&&`mx-1.5 h-11 w-[calc(100%-12px)] gap-2.5 px-2.5 text-sm`,n&&`bg-accent-wash text-text can-hover:hover:bg-accent-wash`),children:[(0,Q.jsx)(d,{className:B(`shrink-0`,i?`size-[18px]`:`size-[15px]`,n?`text-primary`:`text-text-3`),"aria-hidden":!0}),(0,Q.jsxs)(`span`,{className:`min-w-0 truncate`,children:[(0,Q.jsx)(tt,{text:e.table,query:c}),` `,(0,Q.jsxs)(`span`,{className:`font-mono text-[10.5px] text-text-3`,children:[`(`,e.keyColumns.join(`, `),`)`]})]})]})},t)})]});return(0,Q.jsxs)(`section`,{"aria-label":`References`,className:B(`flex min-h-0 flex-col`,a&&!o&&`flex-1`),children:[(0,Q.jsx)(Xe,{title:`References`,collapsed:o,onToggle:()=>s(!o)}),!o&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{className:`flex shrink-0 items-center pr-1.5 pb-1.5 pl-2`,children:(0,Q.jsx)(Je,{value:c,onChange:l,placeholder:`Search references`})}),(0,Q.jsxs)(`div`,{role:`list`,"aria-label":`References of ${e}`,className:B(`min-h-0 pb-2.5`,a&&`flex-1 overflow-auto`),children:[p(`References tables`,u.out),p(`Dependent tables`,u.in),u.out.length+u.in.length===0&&(0,Q.jsxs)(Qe,{children:[`No reference matches “`,c.trim(),`”.`]})]})]})]})}var rn=[{mode:`is`,label:`Is one of line`},{mode:`isNot`,label:`Is not one of line`},{mode:`contains`,label:`Contains`},{mode:`begins`,label:`Begins`},{mode:`ends`,label:`Ends`}];function an({onSubmit:e,onClose:t,returnFocus:n}){let[r,i]=(0,Y.useState)(``),[a,o]=(0,Y.useState)(`is`),s=(0,Y.useId)();return(0,Q.jsxs)(pt,{title:`Filter multiple values`,description:`One value per line. OK writes them into the filter box as one filter.`,onOk:()=>{let n=He(a,r);t(),n&&e(n)},onClose:t,returnFocus:n,children:[(0,Q.jsx)(`textarea`,{value:r,onChange:e=>i(e.target.value),"aria-label":`One value per line`,rows:10,autoFocus:!0,spellCheck:!1,autoComplete:`off`,autoCapitalize:`off`,className:B(qe,`h-auto min-h-[190px] resize-y py-2 font-mono leading-normal md:h-auto md:text-xs`)}),(0,Q.jsx)(`div`,{role:`radiogroup`,"aria-label":`Match`,className:`flex flex-wrap gap-x-[18px] max-md:flex-col md:gap-y-1.5`,children:rn.map(e=>(0,Q.jsx)(it,{name:s,value:e.mode,checked:a===e.mode,onChange:()=>o(e.mode),children:e.label},e.mode))})]})}function on({request:e,onSubmit:t,onClose:n,returnFocus:r}){let i=It(e.kind),[a,o]=(0,Y.useState)({op:e.first,value:``}),[s,c]=(0,Y.useState)({op:e.second,value:``}),[l,u]=(0,Y.useState)(`and`),d=(0,Y.useId)();return(0,Q.jsxs)(pt,{title:`Set filter`,description:`Two conditions joined with And or Or. OK writes them into the filter box.`,onOk:()=>{let r=ht(e.kind,a,l,s);n(),r&&t(r)},onClose:n,returnFocus:r,children:[(0,Q.jsx)(`p`,{className:`text-[13px] text-text-2 md:text-[12.5px]`,children:`Show rows where`}),(0,Q.jsx)(sn,{which:`First`,condition:a,onChange:o,choices:i,autoFocus:!0}),(0,Q.jsxs)(`div`,{role:`radiogroup`,"aria-label":`Join the two conditions`,className:`flex gap-[18px]`,children:[(0,Q.jsx)(it,{name:d,value:`and`,checked:l===`and`,onChange:()=>u(`and`),children:`And`}),(0,Q.jsx)(it,{name:d,value:`or`,checked:l===`or`,onChange:()=>u(`or`),children:`Or`})]}),(0,Q.jsx)(sn,{which:`Second`,condition:s,onChange:c,choices:i})]})}function sn({which:e,condition:t,onChange:n,choices:r,autoFocus:i}){let a=Ft(t.op);return(0,Q.jsxs)(`div`,{className:`flex gap-2 max-md:flex-col`,children:[(0,Q.jsxs)(`span`,{className:`relative flex min-w-0 md:w-[190px] md:shrink-0`,children:[(0,Q.jsx)(`select`,{value:t.op,onChange:e=>n({...t,op:e.target.value}),"aria-label":`${e} condition`,autoFocus:i&&!a,className:B(`h-11 w-full min-w-0 appearance-none rounded-md border border-border bg-surface pr-7 pl-2.5 text-[15px] text-text-primary outline-none focus:border-ring`,`md:h-[30px] md:font-mono md:text-xs`),children:r.map(e=>(0,Q.jsx)(`option`,{value:e.op,children:e.label},e.op))}),(0,Q.jsx)(p,{className:`pointer-events-none absolute top-1/2 right-2 size-3.5 -translate-y-1/2 text-text-subtle`})]}),a&&(0,Q.jsx)(rt,{value:t.value,onChange:e=>n({...t,value:e.target.value}),"aria-label":`${e} value`,autoFocus:i,"data-autofocus":i?``:void 0,mono:t.op===`sql`||t.op===`sqlRight`})]})}function cn({open:e,onClose:t,onSubmit:n}){if(!e)return null;let r={onSubmit:t=>n(e.column,t),onClose:t,returnFocus:e.returnFocus},i=e.request;switch(i.dialog){case`condition`:return(0,Q.jsx)(on,{request:i,...r});case`lines`:return(0,Q.jsx)(an,{...r});case`values`:return(0,Q.jsx)(Nt,{column:i.column,kind:i.kind,load:i.load,...r});case`lookup`:return(0,Q.jsx)(Et,{source:i.source,kind:i.kind,...r})}}function ln(e,t,n){return`${oe(e)}:${encodeURIComponent(t)}:${encodeURIComponent(n)}`}function un({target:e,dbType:t,table:n,schema:r,columns:i,tableSchema:a,filters:o,fixed:s}){let c=(0,Y.useCallback)(t=>e?se(e,t):``,[e]),l=(0,Y.useCallback)(e=>i.find(t=>t.name===e)?.kind??`other`,[i]),u=(0,Y.useCallback)(e=>({dialog:`values`,column:e,kind:l(e),load:t=>{let a=Lt({table:n,schema:r},e,t,o,i);return z.post(c(`/grid/values`),s?.length?{...a,filters:[...s,...a.filters??[]]}:a)}}),[c,l,n,r,o,i,s]),d=(0,Y.useCallback)(n=>{let i=a.find(e=>e.name===n)?.fk;if(!i)return null;let o=ln(e,r,i.table),s=r?`&schema=${encodeURIComponent(r)}`:``;return{dialog:`lookup`,kind:l(n),source:{table:i.table,keyColumn:i.column,columns:()=>z.get(c(`/schema?table=${encodeURIComponent(i.table)}${s}`)).then(e=>Ue(e,t)),rows:e=>z.post(c(`/grid`),wt({table:i.table,schema:r},i.column,e)).then(e=>({rows:Te(e.columns,e.rows).records,hasMore:e.hasMore})),description:ae.getState().dbLookupDescriptions[o]??null,onDescription:e=>ae.getState().setDbLookupDescription(o,e)}}},[c,l,e,t,r,a]);return(0,Y.useMemo)(()=>({chooseValues:u,lookup:d}),[u,d])}var dn=je(Me,[]);function fn(e,t,n=Me){let[r,i]=(0,Y.useState)(n),[a,o]=(0,Y.useState)({}),s=(0,Y.useRef)(null),c=(0,Y.useRef)(null),l=(0,Y.useRef)(t);l.current=t;let u=(0,Y.useRef)(n),d=(0,Y.useCallback)((e,t)=>{let n=pn(e,t);n?o(n):L.error(`Could not filter the rows`,{description:t.message})},[]);return(0,Y.useEffect)(()=>{if(e.length===0)return;let t=je(r,e),n=JSON.stringify(t);s.current??=JSON.stringify(c.current??dn),n!==s.current&&(s.current=n,o({}),l.current(t).then(e=>{e&&s.current===n&&d(t,e)}))},[r,e,d]),{filters:r,setFilters:i,errors:a,opening:(0,Y.useCallback)(e=>(c.current=je(u.current,e),c.current),[]),openFailed:(0,Y.useCallback)(e=>{let t=c.current&&pn(c.current,e);t&&o(t)},[])}}function pn(e,t){if(!(t instanceof R)||t.status===404||t.status===428)return null;let n=e.filters.filter(e=>e.anyOf.some(e=>e.some(e=>e.op===`rawSql`))),r=n.length>0?n:t.status===400||t.status===403?e.filters:[];return r.length>0?Object.fromEntries(r.map(e=>[e.column,t.message])):null}var mn=`detail`;function hn({tab:e,reference:t,masterRows:n,shownIn:r,narrow:i,onClose:a}){let o=(0,Y.useId)(),s=en(t);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{"aria-hidden":!0,className:`h-[5px] shrink-0 border-y border-border bg-panel`}),(0,Q.jsxs)(`section`,{"aria-labelledby":o,className:`flex min-h-[150px] shrink-0 grow-0 basis-[42%] flex-col bg-panel-2 max-md:basis-[45%]`,children:[(0,Q.jsxs)(`div`,{className:`flex h-[30px] shrink-0 items-center gap-1.5 border-b border-border-soft bg-panel px-2.5 text-xs text-text-2 max-md:h-11 max-md:text-[13px]`,children:[(0,Q.jsx)(A,{className:`size-3.5 shrink-0 text-info`,"aria-hidden":!0}),(0,Q.jsxs)(`h3`,{id:o,className:`min-w-0 truncate font-normal`,children:[(0,Q.jsx)(`b`,{className:`font-semibold text-text`,children:s.table}),` [`,s.detail,`] = master [`,s.master,`]`,n.length===0&&(0,Q.jsx)(`span`,{className:`text-text-3`,children:` · select a row in the grid above`})]}),(0,Q.jsx)(`span`,{className:`flex-1`}),(0,Q.jsx)(`button`,{type:`button`,onClick:a,"aria-label":`Close ${s.table}`,className:B(nt,`shrink-0 max-md:min-w-11`),children:`Close`})]}),(0,Q.jsx)(`div`,{className:`relative min-h-0 flex-1`,children:(0,Q.jsx)(_n,{tab:e,reference:t,masterRows:n,shownIn:r,narrow:i},Qt(t))})]})]})}var gn={filters:[],anyColumn:[]};function _n({tab:e,reference:t,masterRows:n,shownIn:r,narrow:i}){let a=Ut(e.target),o=ue(),s=(0,Y.useRef)(null),c=t.schema??``,l=c?`&schema=${encodeURIComponent(c)}`:``,u=st(e.target,`/schema?table=${encodeURIComponent(t.table)}${l}`,r),d=a.schema.length?a.schema:u.data??[],f=(0,Y.useMemo)(()=>Ue(d,e.dbType),[d,e.dbType]),p=(0,Y.useMemo)(()=>f.length?tn(t,n,e=>f.find(t=>t.name===e)?.kind??`other`):null,[t,n,f]),m=p?JSON.stringify(p):null,h=(0,Y.useRef)(p);h.current=p;let g=(0,Y.useRef)(gn),_=(0,Y.useRef)(!1),[v,y]=(0,Y.useState)(!1),b=(0,Y.useRef)(0),x=(0,Y.useCallback)(async e=>{let n=g.current,r={filters:[...e,...n.filters],anyColumn:n.anyColumn},i=++b.current,o;return _.current?o=await a.applyFilters(r):(_.current=!0,o=await a.selectTable(t.table,c,()=>r)),i===b.current&&y(o!==null),o},[a.applyFilters,a.selectTable,t.table,c]),S=(0,Y.useRef)(!1);S.current=a.tableData!==null,(0,Y.useEffect)(()=>{if(!m)return;let e=S.current;x(JSON.parse(m)).then(n=>{n&&e&&L.error(`Could not read ${t.table}`,{description:n.message})})},[m]);let{filters:C,setFilters:w,errors:ee}=fn(f,(0,Y.useCallback)(e=>{g.current=e;let t=h.current;return t?x(t):Promise.resolve(null)},[x])),[te,T]=(0,Y.useState)(null),E=un({target:e.target,dbType:e.dbType,table:t.table,schema:c,columns:f,tableSchema:d,filters:C,fixed:p??void 0}),D=(0,Y.useMemo)(()=>({filters:C,columns:f,onChange:w,errors:ee,onDialog:(e,t,n)=>T({column:e,request:t,returnFocus:n}),onChooseValues:(e,t)=>T({column:e,request:E.chooseValues(e),returnFocus:t}),onLookup:(e,t)=>{let n=E.lookup(e);n&&T({column:e,request:n,returnFocus:t})}}),[C,f,ee,w,E]),O=(0,Y.useCallback)(e=>{let t=E.lookup(e);return t?.dialog===`lookup`?{source:t.source,kind:t.kind}:null},[E]),k=(0,Y.useCallback)((e,t)=>{w(n=>e===null?Ie(n,t):U(n,e,t))},[w]),[A,j]=(0,Y.useState)({}),M=(0,Y.useCallback)(e=>{a.setSort(e)},[a.setSort]),N=(0,Y.useCallback)(n=>{e.place&&Be(e.place,{schema:t.schema,name:n})},[e.place,t.schema]),ne=(0,Y.useCallback)((n,r)=>{let i=d.find(e=>e.name===n)?.fk,a=f.find(e=>e.name===n)?.kind??`other`,o=i&&Jt(i.column,a,r[n]);i&&o&&e.place&&ze(e.place,{schema:t.schema,name:i.table},o)},[d,f,e.place,t.schema]),re=t=>{let n=Ot(t.currentTarget,t.target),r=n&&vt(t.nativeEvent,n);if(!(!r||r===`toggle-panel`||r!==`swallow`&&Tt(r)))switch(t.preventDefault(),t.stopPropagation(),r){case`refresh`:p&&a.reload();break;case`refresh-structure`:u.reload(),p&&a.reload({structure:!0});break;case`save`:e.readonly||s.current?.save();break;case`new-row`:p&&s.current?.newRow();break;case`delete-rows`:s.current?.deleteSelectedRows();break;case`undo`:s.current?.undo();break;case`redo`:s.current?.redo();break;case`clear-filters`:w(Me);break;default:break}},P=a.tableData;if(u.error&&!d.length)return(0,Q.jsx)(ct,{error:u.error});if(a.error&&!P)return(0,Q.jsx)(ct,{error:a.error});if(!d.length)return(0,Q.jsx)(ct,{loading:!0});let F=!p,I=e.place&&!F&&(P?.sql||e.dbType)?()=>{e.place&&Re(e.place,P?.sql||Ze({schema:t.schema,name:t.table},e.dbType))}:void 0;return(0,Q.jsxs)(`div`,{className:`absolute inset-0`,onKeyDown:re,children:[(0,Q.jsx)(Mt,{ref:s,columns:P?.columns??d.map(e=>e.name),rows:F||v||!P?[]:P.rows,schema:d,loading:!F&&(a.loading||!P),rowKey:P?.rowKey,onSaveChanges:t=>a.saveChanges(t,e.place),readOnly:e.readonly,editOnly:F,sort:a.sort,onSortChange:M,viewKey:F?`waiting`:a.viewKey,hasMore:!F&&!!P?.hasMore,onLoadMore:a.loadMore,loadingMore:a.loadingMore,fetchingAll:a.fetchingAll,columnWidths:A,onColumnWidthsChange:j,tabId:r,tabSlot:mn,rowsLabel:F?`Rows: 0`:v?void 0:a.rowCount?.text,onResetFilter:!F&&Ce(C)?()=>w(Me):void 0,onOpenQuery:I,onOpenTable:e.place?N:void 0,place:e.place??void 0,selectedTable:t.table,selectedSchema:c,connectionName:e.name,dialect:e.dialect,filtering:o?void 0:D,lookupFor:e.target?O:void 0,onOpenReference:e.place?ne:void 0,startCellDownload:a.startCellDownload,floatCellData:i}),(0,Q.jsx)(cn,{open:te,onClose:()=>T(null),onSubmit:k})]})}function vn({filtering:e,schema:t,nameFilter:n,added:r,onRemoveAdded:i}){let[a,o]=(0,Y.useState)(!1),{filters:s,columns:c,onChange:l}=e,u=new Map(t.map(e=>[e.name,e])),d=new Set(r),f=s.multi;return(0,Q.jsxs)(`section`,{"aria-label":`Filters`,className:`flex min-h-0 flex-col`,children:[(0,Q.jsx)(Xe,{title:`Filters`,collapsed:a,onToggle:()=>o(e=>!e)}),!a&&(0,Q.jsxs)(`div`,{className:`grid min-h-0 content-start gap-2 overflow-auto px-2 pb-2.5`,children:[n&&(0,Q.jsx)(bn,{...n}),(0,Q.jsx)(yn,{title:(0,Q.jsx)(`span`,{className:`min-w-0 truncate text-[11.5px] text-text-3`,children:`Multi column filter`}),filter:f,name:`this filter`,onSwitch:e=>l(t=>W(t,null,!e)),onRemove:()=>l(e=>Ie(e,``)),children:(0,Q.jsx)(yt,{size:`panel`,value:f?.text??``,off:f?.off,read:e=>ke({text:e},c),onCommit:e=>l(t=>Ie(t,e)),label:`Multi column filter`,funnel:e.onDialog&&{kind:`multi`,label:`Filter options: all columns`,onDialog:(t,n)=>e.onDialog(null,t,n)}})}),c.filter(e=>s.columns[e.name]||d.has(e.name)).map(t=>{let n=u.get(t.name),r=n?.pk?S:n?.fk?A:null,a=()=>{l(e=>U(e,t.name,``)),d.has(t.name)&&i?.(t.name)};return(0,Q.jsx)(yn,{title:(0,Q.jsxs)(Q.Fragment,{children:[r&&(0,Q.jsx)(r,{className:B(`size-3.5 shrink-0`,n?.pk?`text-warning`:`text-info`),"aria-hidden":!0}),(0,Q.jsx)(`span`,{className:B(`min-w-0 truncate text-[11.5px]`,n&&!n.nullable?`font-semibold text-text`:`text-text-3`),children:t.name})]}),filter:s.columns[t.name],name:`the ${t.name} filter`,onSwitch:e=>l(n=>W(n,t.name,!e)),onRemove:a,removable:d.has(t.name),children:(0,Q.jsx)(yt,{...kt(e,t.name,t.kind,n?.fk?.table),size:`panel`})},t.name)})]})]})}function yn({title:e,filter:t,name:n,onSwitch:r,onRemove:i,removable:a,children:o}){return(0,Q.jsxs)(`div`,{className:`grid gap-[3px]`,children:[(0,Q.jsxs)(`div`,{className:`flex h-5 min-w-0 items-center gap-[5px]`,children:[e,t&&(0,Q.jsx)(`label`,{className:`ml-auto grid size-5 shrink-0 cursor-pointer place-items-center`,title:t.off?`Enable this filter`:`Disable this filter`,children:(0,Q.jsx)(`input`,{type:`checkbox`,checked:!t.off,onChange:e=>r(e.target.checked),"aria-label":`Apply ${n}`,className:`size-[13px] cursor-pointer accent-primary`})}),(t||a)&&(0,Q.jsx)(Q.Fragment,{children:(0,Q.jsx)(`button`,{type:`button`,onClick:i,"aria-label":`Remove ${n}`,title:`Remove`,className:B(`grid size-5 shrink-0 place-items-center rounded text-text-3 can-hover:hover:bg-surface-hover can-hover:hover:text-text`,!t&&`ml-auto`),children:(0,Q.jsx)(O,{className:`size-3`})})})]}),o]})}function bn({text:e,onChange:t}){return(0,Q.jsxs)(`div`,{className:`grid gap-[3px]`,children:[(0,Q.jsx)(`div`,{className:`flex h-5 min-w-0 items-center gap-[5px]`,children:(0,Q.jsx)(`span`,{className:`min-w-0 truncate text-[11.5px] text-text-3`,children:`Column name filter`})}),(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-px`,children:[(0,Q.jsx)(`input`,{value:e,onChange:e=>t(e.target.value),onKeyDown:n=>{n.key!==`Escape`||!e||(n.preventDefault(),n.stopPropagation(),t(``))},"aria-label":`Column name filter`,spellCheck:!1,autoComplete:`off`,autoCapitalize:`off`,className:`h-[26px] w-full min-w-0 rounded-[5px] border border-border-soft bg-input px-1.5 text-[11.5px] text-text outline-none placeholder:text-text-3/70 focus:border-primary`}),e&&(0,Q.jsx)(`button`,{type:`button`,onClick:()=>t(``),"aria-label":`Clear the column name filter`,title:`Clear`,className:`grid size-5 shrink-0 place-items-center rounded text-text-3 can-hover:hover:bg-surface-hover can-hover:hover:text-text`,children:(0,Q.jsx)(O,{className:`size-3`})})]})]})}var xn={ok:`border-success/45 bg-success/10 text-success`,off:`border-dashed border-border text-text-3`,bad:`border-error/50 bg-error/10 text-error`},Sn=e=>e.refused?`, refused`:e.state===`bad`?`, not understood`:e.state===`off`?`, switched off`:``,Cn=e=>e.map(e=>`${e.column} ${e.dir===`ASC`?`↑`:`↓`}`).join(`, `),wn=`relative inline-flex h-8 shrink-0 items-center gap-1 rounded-full border border-border bg-panel-2 px-2.5 text-[12.5px] text-text-2 select-none before:absolute before:inset-x-0 before:-inset-y-[7px]`;function Tn({filtering:e,onOpen:t,sort:n,hidden:r}){let{filters:i,columns:a,errors:o,onChange:s}=e,c=a.flatMap(e=>{let t=i.columns[e.name],{state:n}=We(t,e.kind);if(!t||n===`empty`)return[];let r=n===`ok`?o?.[e.name]:void 0;return[{column:e.name,filter:t,state:r?`bad`:n,refused:r}]}),l=i.multi,u=ke(l,a).state;l&&u!==`empty`&&c.push({column:null,filter:l,state:u});let d=n?.length?n:null;return c.length===0&&!d&&!r?.count?null:(0,Q.jsxs)(`div`,{role:`group`,"aria-label":`Filters`,className:`flex shrink-0 gap-3 overflow-x-auto border-b border-border-soft px-3 py-1.5 scrollbar-none`,children:[r&&r.count>0&&(0,Q.jsxs)(`button`,{type:`button`,onClick:r.onOpen,className:wn,children:[(0,Q.jsx)(k,{className:`size-3.5 shrink-0`,"aria-hidden":!0}),(0,Q.jsx)(`b`,{className:`font-semibold`,children:`Columns`}),` · `,r.count,` hidden`]}),c.map(e=>{let n=e.column??`any column`,r=e.state===`bad`?ne:D;return(0,Q.jsxs)(`span`,{className:B(`inline-flex h-8 shrink-0 items-stretch rounded-full border text-[12.5px] select-none`,xn[e.state]),children:[(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>t(e.column),"aria-label":`${n}: ${e.filter.text}${Sn(e)}`,className:`relative flex min-w-0 items-center gap-1 rounded-l-full pr-1 pl-2.5 before:absolute before:inset-x-0 before:-inset-y-[7px]`,children:[(0,Q.jsx)(r,{className:`size-3.5 shrink-0`,"aria-hidden":!0}),(0,Q.jsx)(`b`,{className:`shrink-0 font-semibold`,children:n}),(0,Q.jsx)(`span`,{className:B(`max-w-[40vw] truncate font-mono text-xs`,e.state===`off`&&`line-through`),children:e.filter.text})]}),(0,Q.jsx)(`button`,{type:`button`,title:`Remove`,"aria-label":e.column===null?`Remove the Multi column filter`:`Remove the ${e.column} filter`,onClick:()=>s(t=>e.column===null?Ie(t,``):U(t,e.column,``)),className:`relative grid w-8 shrink-0 place-items-center rounded-r-full before:absolute before:-inset-y-[7px] before:left-0 before:-right-3`,children:(0,Q.jsx)(O,{className:`size-3.5`,"aria-hidden":!0})})]},e.column??`\0multi`)}),d&&(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>t(d[0].column),"aria-label":`Sorted by ${Cn(d)}`,className:wn,children:[(0,Q.jsx)(F,{className:`size-3.5 shrink-0`,"aria-hidden":!0}),(0,Q.jsx)(`span`,{className:`max-w-[50vw] truncate`,children:Cn(d)})]})]})}var En=e=>e.sort.length===0?O:e.dir===`DESC`?M:ee,Dn={empty:``,ok:`border-success/55 focus:border-success/55 text-success`,off:`border-dashed text-text-3 line-through`,bad:`border-error/70 focus:border-error/70 text-error`},On=()=>{};function kn({filtering:e,column:t,schema:n,menu:r,onClose:i}){let a=(0,Y.useId)(),o=t===null?null:e.columns.find(e=>e.name===t)?.kind??`other`,c=t===null?e.filters.multi:e.filters.columns[t],[l,u]=(0,Y.useState)(c?.text??``),d=t===null?void 0:n.find(e=>e.name===t),f=o===null?ke({text:l},e.columns):We({text:l},o),p=l===(c?.text??``),m=p&&f.state===`ok`&&t!==null?e.errors?.[t]:void 0,h=m?`bad`:p&&f.state===`ok`&&c?.off?`off`:f.state,_=m?`Refused: ${m}`:f.state===`bad`?`${f.error.message} — it would not be applied`:h===`off`?`Switched off · Apply switches it on`:h===`ok`?`Understood · Apply filters the rows`:t===null?`No filter on any column`:`No filter on this column`,v=n=>{i(),e.onChange(e=>t===null?Ie(e,n):U(e,t,n))},y=()=>{f.state!==`bad`&&v(l)},b=e=>{e.key!==`Enter`||e.shiftKey||e.ctrlKey||e.metaKey||e.altKey||e.nativeEvent.isComposing||(e.preventDefault(),f.state===`bad`&&f.error.end>f.error.start&&e.currentTarget.setSelectionRange(f.error.start,f.error.end),y())},x=e=>{let t=e.clipboardData.getData(`text`);if(!t.includes(`
|
|
2
|
-
`))return;e.preventDefault();let n=He(`is`,t);n&&u(n)},C=e=>{i(),e()},w=t===null||o===null?null:d?.fk&&e.onLookup?{icon:g,label:`Lookup from ${d.fk.table}`,open:()=>e.onLookup(t,On)}:e.onChooseValues&&Dt(o)?{icon:s,label:`Choose value from ${t}`,open:()=>e.onChooseValues(t,On)}:null,ee=gt(o===null?`multi`:Fe(o)).filter(e=>e!==`separator`&&e.label!==`Clear Filter`).filter(t=>`text`in t.action||!!e.onDialog),T=t!==null&&r?St(t,r.sort?.sort??[],r.onOpenTable?d?.fk?.table:null):[],E=r?.sort?T.filter(e=>e.kind===`sort`):[],k=T.find(e=>e.kind===`open-table`),j=t===null?D:d?.pk?S:d?.fk?A:re;return(0,Q.jsx)(ve,{open:!0,onClose:i,className:`popover-solid`,children:(0,Q.jsxs)(`div`,{role:`dialog`,"aria-modal":`true`,"aria-labelledby":a,onKeyDown:e=>{e.key===`Escape`&&(e.preventDefault(),i())},className:`flex max-h-[calc(var(--sheet-vh,100dvh)*0.85)] flex-col`,children:[(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2.5 pr-1.5 pb-1 pl-4`,children:[(0,Q.jsx)(j,{className:B(`size-5 shrink-0`,d?.pk?`text-warning`:d?.fk?`text-info`:`text-text-2`),"aria-hidden":!0}),(0,Q.jsxs)(`h2`,{id:a,className:`min-w-0 flex-1 text-[15px] font-semibold`,children:[(0,Q.jsx)(`span`,{className:`block truncate`,children:t??`Multi column filter`}),(0,Q.jsx)(`small`,{className:`block truncate text-xs font-normal text-text-3`,children:d?`${d.type}${d.nullable?``:` · NOT NULL`}${d.fk?` · → ${d.fk.table}.${d.fk.column}`:``}`:t===null?`Every column of the table reads it`:null})]}),(0,Q.jsx)(`button`,{type:`button`,onClick:i,"aria-label":`Close`,className:`grid size-11 shrink-0 place-items-center rounded-lg text-text-2 active:bg-surface-hover`,children:(0,Q.jsx)(O,{className:`size-5`})})]}),(0,Q.jsxs)(`div`,{className:`min-h-0 overflow-y-auto pb-3`,children:[(0,Q.jsx)(An,{children:`Filter`}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 px-4`,children:[(0,Q.jsx)(`input`,{value:l,onChange:e=>u(e.target.value),onKeyDown:b,onPaste:x,placeholder:`Filter`,"aria-label":t===null?`Multi column filter`:`Filter ${t}`,"aria-invalid":h===`bad`,"aria-describedby":`${a}-status`,spellCheck:!1,autoComplete:`off`,autoCapitalize:`off`,className:B(qe,`font-mono`,Dn[h])}),w&&(0,Q.jsx)(`button`,{type:`button`,onClick:()=>C(w.open),"aria-label":w.label,title:w.label,className:`grid size-11 shrink-0 place-items-center rounded-md border border-border text-text-2 active:bg-surface-hover`,children:(0,Q.jsx)(w.icon,{className:`size-5`})})]}),(0,Q.jsx)(`p`,{id:`${a}-status`,"aria-live":`polite`,className:B(`mt-1.5 px-4 text-[12.5px]`,h===`bad`?`text-error`:h===`ok`?`text-success`:`text-text-3`),children:_}),E.length>0&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(An,{children:`Sort`}),E.map(e=>(0,Q.jsx)(jn,{icon:En(e),label:e.label,checked:e.checked,onSelect:()=>C(()=>r.sort.onChange(e.sort))},e.label))]}),t!==null&&r&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(An,{children:`Column`}),(0,Q.jsx)(jn,{icon:P,label:`Copy column name`,onSelect:()=>C(()=>r.onCopyName(t))}),r.onHide&&(0,Q.jsx)(jn,{icon:ie,label:`Hide column`,onSelect:()=>C(()=>r.onHide(t))}),k&&(0,Q.jsx)(jn,{icon:te,label:`Open ${k.table}`,onSelect:()=>C(()=>r.onOpenTable(k.table))})]}),(0,Q.jsx)(An,{children:`Filter options`}),ee.map(n=>(0,Q.jsx)(jn,{label:n.label,onSelect:()=>{let r=n.action;`text`in r?v(r.text):C(()=>e.onDialog(t,r.open,On))}},n.label))]}),(0,Q.jsxs)(`div`,{className:`flex shrink-0 gap-2 border-t border-border-soft px-3 pt-2.5`,children:[(0,Q.jsx)(fe,{type:`button`,variant:`outline`,onClick:()=>v(``),className:`h-11 flex-1 text-sm`,children:`Clear Filter`}),(0,Q.jsx)(fe,{type:`button`,onClick:y,disabled:f.state===`bad`,className:`h-11 flex-[2] text-sm`,children:`Apply`})]})]})})}function An({children:e}){return(0,Q.jsx)(`h3`,{className:`mx-4 mt-3.5 mb-1.5 text-[11px] font-semibold tracking-[0.06em] text-text-3 uppercase`,children:e})}function jn({icon:e,label:t,checked:n,onSelect:i}){return(0,Q.jsxs)(`button`,{type:`button`,onClick:i,"aria-pressed":n===void 0?void 0:n,className:`flex min-h-[52px] w-full items-center gap-3 border-b border-border-soft px-4 text-left text-[15px] select-none active:bg-surface-hover`,children:[e?(0,Q.jsx)(e,{className:`size-5 shrink-0 text-text-2`,"aria-hidden":!0}):(0,Q.jsx)(`span`,{className:`size-5 shrink-0`,"aria-hidden":!0}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1`,children:t}),n&&(0,Q.jsx)(r,{className:`size-5 shrink-0 text-primary`,"aria-hidden":!0})]})}function Mn(e,t,n){return`${e} · ${t-n} of ${t} columns shown`}function Nn({table:e,schema:t,hidden:n,onHiddenChange:r,onJump:i,onOpenTable:a,filtering:o,onOpenFilter:s,references:c,focusSearch:l,onClose:u}){let d=(0,Y.useId)(),[f,p]=(0,Y.useState)(!1),[m,h]=(0,Y.useState)(!1),[g,_]=(0,Y.useState)(!1),v=t.filter(e=>n.has(e.name)).length,y=e=>{u(),e()};return(0,Q.jsx)(ve,{open:!0,onClose:u,className:`popover-solid`,children:(0,Q.jsxs)(`div`,{role:`dialog`,"aria-modal":`true`,"aria-labelledby":d,className:`flex max-h-[calc(var(--sheet-vh,100dvh)*0.85)] flex-col`,children:[(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2.5 pr-1.5 pb-1 pl-4`,children:[(0,Q.jsxs)(`h2`,{id:d,className:`min-w-0 flex-1 text-[15px] font-semibold`,children:[(0,Q.jsx)(`span`,{className:`block truncate`,children:`Columns and filters`}),(0,Q.jsx)(`small`,{className:`block truncate text-xs font-normal text-text-3`,children:Mn(e,t.length,v)})]}),(0,Q.jsx)(`button`,{type:`button`,onClick:u,"aria-label":`Close`,className:`grid size-11 shrink-0 place-items-center rounded-lg text-text-2 active:bg-surface-hover`,children:(0,Q.jsx)(O,{className:`size-5`})})]}),(0,Q.jsxs)(`div`,{className:`min-h-0 overflow-y-auto pb-2`,children:[(0,Q.jsx)(jt,{schema:t,hidden:n,onHiddenChange:r,onJump:e=>y(()=>i(e)),onOpenTable:a&&(e=>y(()=>a(e))),sheet:!0,grow:!1,collapsed:f,onCollapsedChange:p,focusSearch:l}),o&&(0,Q.jsxs)(`section`,{"aria-label":`Filters`,className:`border-t border-border-soft`,children:[(0,Q.jsx)(Xe,{title:`Filters`,collapsed:m,onToggle:()=>h(e=>!e)}),!m&&(0,Q.jsx)(Fn,{filtering:o,schema:t,onOpen:e=>y(()=>s(e))})]}),c&&(0,Q.jsx)(`div`,{className:`border-t border-border-soft`,children:(0,Q.jsx)(nn,{table:e,references:c.refs,open:c.open,onOpen:e=>y(()=>c.onOpen(e)),sheet:!0,grow:!1,collapsed:g,onCollapsedChange:_})})]}),(0,Q.jsx)(`div`,{className:`flex shrink-0 border-t border-border-soft px-3 pt-2.5`,children:(0,Q.jsx)(fe,{type:`button`,onClick:u,className:`h-11 flex-1 text-sm`,children:`Done`})})]})})}var Pn={empty:`text-text-3`,ok:`text-success`,off:`text-text-3 line-through`,bad:`text-error`};function Fn({filtering:e,schema:t,onOpen:n}){let{filters:r,columns:i,onChange:a,errors:o}=e,s=new Map(t.map(e=>[e.name,e]));return(0,Q.jsx)(`div`,{className:`pb-1`,children:[{column:null,filter:r.multi,state:ke(r.multi,i).state},...i.flatMap(e=>{let t=r.columns[e.name];if(!t)return[];let{state:n}=We(t,e.kind);return[{column:e.name,filter:t,state:n===`ok`&&o?.[e.name]?`bad`:n}]})].map(e=>{let t=e.column===null?void 0:s.get(e.column),r=e.state===`bad`?ne:e.column===null?D:t?.pk?S:t?.fk?A:D,i=e.column??`Multi column filter`,o=e.filter?.text.trim()?e.filter.text:null,c=e.column===null?`the Multi column filter`:`the ${e.column} filter`;return(0,Q.jsxs)(`div`,{className:`mx-1.5 flex min-h-11 items-center rounded-lg select-none`,children:[(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>n(e.column),"aria-label":o?`${i}: ${o}`:`${i}: none — tap to add one`,className:`flex min-h-11 min-w-0 flex-1 items-center gap-2.5 rounded-lg px-2.5 text-left text-sm active:bg-surface-hover`,children:[(0,Q.jsx)(r,{className:B(`size-[18px] shrink-0`,e.state===`bad`?`text-error`:t?.pk?`text-warning`:t?.fk?`text-info`:`text-text-3`),"aria-hidden":!0}),(0,Q.jsx)(`span`,{className:B(`shrink-0`,e.column===null&&!o?`text-text-3`:`font-semibold`),children:i}),(0,Q.jsx)(`span`,{className:B(`min-w-0 truncate font-mono text-xs`,Pn[e.state]),children:o??`Tap to add`})]}),e.filter&&o&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`label`,{className:`grid size-11 shrink-0 cursor-pointer place-items-center`,title:e.filter.off?`Enable this filter`:`Disable this filter`,children:(0,Q.jsx)(`input`,{type:`checkbox`,checked:!e.filter.off,onChange:t=>a(n=>W(n,e.column,!t.target.checked)),"aria-label":`Apply ${c}`,className:`size-5 cursor-pointer accent-primary`})}),(0,Q.jsx)(`button`,{type:`button`,"aria-label":`Remove ${c}`,title:`Remove`,onClick:()=>a(t=>e.column===null?Ie(t,``):U(t,e.column,``)),className:`grid size-11 shrink-0 place-items-center rounded-lg text-text-3 active:bg-surface-hover`,children:(0,Q.jsx)(O,{className:`size-4`})})]})]},e.column??`\0multi`)})})}var In=`ppm-db-fetch-all-dont-ask`;function Ln(){try{return localStorage.getItem(In)!==`1`}catch{return!0}}function Rn(){try{localStorage.setItem(In,`1`)}catch{}}function zn({onFetch:e,onClose:t}){let[n,r]=(0,Y.useState)(!1),i=(0,Y.useId)();return(0,Q.jsxs)(pt,{title:`Fetch All Rows`,okLabel:`Fetch All`,description:`Load every remaining row of the table into the grid`,onOk:()=>{n&&Rn(),t(),e()},onClose:t,children:[(0,Q.jsx)(`p`,{className:`text-sm text-text-2`,children:`This will load all remaining rows into memory. For large tables, this may consume a significant amount of memory and could affect application performance.`}),(0,Q.jsxs)(`label`,{htmlFor:i,className:`flex min-h-11 cursor-pointer items-center gap-2.5 text-sm select-none md:min-h-0`,children:[(0,Q.jsx)(`input`,{id:i,type:`checkbox`,checked:n,onChange:e=>r(e.target.checked),className:`size-4 accent-primary max-md:size-5`}),(0,Q.jsx)(`b`,{className:`font-semibold`,children:`Don't ask again`})]})]})}var Bn=[1,5,10,15,30,60],Vn=10;function Hn(e,t){return[{label:`Refresh with structure`,shortcut:G(`Mod+F5`),onSelect:e},t.running?{label:`Stop auto refresh`,shortcut:G(`Mod+Shift+R`),onSelect:t.stop}:{label:`Start auto refresh`,shortcut:G(`Mod+Shift+R`),onSelect:()=>t.start()},{label:`Refresh every 1 second`,onSelect:()=>t.start(1)},...Bn.slice(1).map(e=>({label:`...${e} seconds`,onSelect:()=>t.start(e)}))]}var Un=e=>e.running?`Refresh (every ${e.every}s)`:`Refresh`;function Wn(e,t){let[n,r]=(0,Y.useState)(!1),[i,a]=(0,Y.useState)(Vn),o=(0,Y.useRef)(e);o.current=e;let s=(0,Y.useRef)(t);return s.current=t,(0,Y.useEffect)(()=>{if(!n)return;let e=!1,t=!1,a=setInterval(()=>{e||document.hidden||!s.current()||(e=!0,o.current().then(n=>{e=!1,!(!n||t)&&(r(!1),L.error(`Auto refresh stopped`,{description:n.message}))}))},i*1e3);return()=>{t=!0,clearInterval(a)}},[n,i]),{running:n,every:i,start:(0,Y.useCallback)(e=>{e!==void 0&&a(e),r(!0)},[]),stop:(0,Y.useCallback)(()=>r(!1),[])}}function Gn({onRefresh:e,onRefreshWithStructure:t,auto:n,busy:r,disabled:i,form:a}){let o=Un(n);return(0,Q.jsxs)(`span`,{className:`flex shrink-0 items-center`,children:[(0,Q.jsxs)(`button`,{type:`button`,onClick:e,disabled:i,"aria-label":o,title:`${a?`Data form`:`Data grid`}: Refresh (F5 | ${G(`Mod+R`)})`,className:B(K,`rounded-r-none pr-1`,r&&`[&>svg]:animate-spin`),children:[(0,Q.jsx)(E,{className:`size-4 shrink-0`}),(0,Q.jsx)(`span`,{className:`@max-[900px]:hidden`,children:o})]}),(0,Q.jsxs)(ge,{children:[(0,Q.jsx)(he,{asChild:!0,children:(0,Q.jsx)(`button`,{type:`button`,disabled:i,"aria-label":`Refresh options`,title:`Refresh options`,className:B(K,`rounded-l-none px-0.5`),children:(0,Q.jsx)(p,{className:`size-3 shrink-0`})})}),(0,Q.jsx)(H,{align:`start`,className:`min-w-60`,children:Hn(t,n).map(e=>(0,Q.jsxs)(pe,{onSelect:e.onSelect,children:[e.label,e.shortcut&&(0,Q.jsx)(_e,{className:`tracking-normal`,children:e.shortcut})]},e.label))})]})]})}function Kn(e,t){let n=e?.pending??0;return{count:n,disabled:n===0||t,title:t?`The connection is read-only`:`Table data: Save (${G(`Mod+S`)})`}}function qn(e){let t=!!e.form?.on,n=!!e.edit?.canChangeRows&&!e.readonly&&!t;return{revert:!!e.edit&&(e.edit.pending>0||e.edit.newRows>0),newRow:n,deleteRows:n&&e.edit.selectedRows>0,fetchAll:e.hasMore&&!t}}var Jn=[{to:`first`,label:`First`,icon:N,combo:`Mod+Home`},{to:`previous`,label:`Previous`,icon:c,combo:`Mod+↑`},{to:`next`,label:`Next`,icon:u,combo:`Mod+↓`},{to:`last`,label:`Last`,icon:w,combo:`Mod+End`}];function Yn(e,t){let n=e?.form;return n?t===`first`||t===`previous`?n.atFirst:n.atLast:!0}var Xn=e=>e>9?`9+`:String(e),Zn=({n:e,className:t})=>(0,Q.jsx)(`span`,{"aria-hidden":!0,className:B(`min-w-4 rounded-full bg-warning/20 px-1 text-center font-mono text-[10.5px] leading-4 font-semibold text-warning`,t),children:Xn(e)}),$=`@max-[900px]:hidden`,Qn=`@max-[1200px]:hidden`;function $n({actions:e}){let t=Kn(e.edit,e.readonly),n=qn(e);return(0,Q.jsxs)(q,{label:e.table,children:[(0,Q.jsx)(J,{icon:i,label:`Structure`,title:`Open the structure of ${e.table} in its own tab`,onClick:e.onOpenStructure,opensTab:!0,disabled:!e.canOpenTabs,labelClassName:$,arrowClassName:Qn}),(0,Q.jsx)(J,{icon:b,label:`SQL`,title:`Open the SQL of ${e.table} in its own tab`,onClick:e.onOpenSql,opensTab:!0,disabled:!e.canOpenTabs,labelClassName:$,arrowClassName:Qn}),(0,Q.jsx)(Gn,{onRefresh:e.onRefresh,onRefreshWithStructure:e.onRefreshWithStructure,auto:e.auto,busy:e.busy,disabled:e.idle,form:e.form?.on}),e.form?.on&&Jn.map(({to:t,label:n,icon:r,combo:i})=>(0,Q.jsx)(J,{icon:r,label:n,title:`Data form: ${n} (${G(i)})`,onClick:()=>e.form.onNavigate(t),disabled:Yn(e.edit,t),labelClassName:$},t)),(0,Q.jsxs)(`button`,{type:`button`,onClick:e.onSave,disabled:t.disabled,title:t.title,"aria-label":t.count?`Save ${t.count} changed ${t.count===1?`row`:`rows`}`:`Save`,className:B(K,`disabled:pointer-events-auto disabled:cursor-default`),children:[(0,Q.jsx)(I,{className:`size-4 shrink-0`}),(0,Q.jsx)(`span`,{className:$,children:`Save`}),t.count>0&&(0,Q.jsx)(Zn,{n:t.count})]}),n.revert&&(0,Q.jsx)(J,{icon:v,label:`Revert all`,title:`Data grid: Revert all`,onClick:e.onRevert,labelClassName:$}),n.newRow&&(0,Q.jsx)(J,{icon:C,label:`New row`,title:`Data grid: New row (Insert)`,onClick:e.onNewRow,labelClassName:$}),n.deleteRows&&(0,Q.jsx)(J,{icon:l,label:`Delete row(s)`,title:`Data grid: Delete row(s) (${G(`Mod+Delete`)})`,onClick:e.onDeleteRows,labelClassName:$}),e.form&&(e.form.on?(0,Q.jsx)(J,{icon:h,label:`Switch to table`,title:`Data grid: Switch to table (F4)`,onClick:e.form.onToggle,labelClassName:$}):(0,Q.jsx)(J,{icon:_,label:`Switch to form`,title:`Data grid: Switch to form (F4)`,onClick:e.form.onToggle,disabled:e.idle,labelClassName:$})),e.export&&(0,Q.jsx)(Gt,{exporter:e.export,labelClassName:Qn}),n.fetchAll&&(0,Q.jsx)(J,{icon:x,label:`Fetch all`,title:`Data grid: Fetch all`,onClick:e.onFetchAll,labelClassName:Qn}),e.panel&&(0,Q.jsxs)(`button`,{type:`button`,onClick:e.panel.onToggle,"aria-pressed":e.panel.open,title:`View columns (${G(`Mod+L`)})`,"aria-label":`View columns`,className:B(K,e.panel.open&&`bg-accent-wash text-primary can-hover:hover:bg-accent-wash can-hover:hover:text-primary`),children:[(0,Q.jsx)(k,{className:`size-4 shrink-0`}),(0,Q.jsx)(`span`,{className:Qn,children:`View columns`})]}),e.cellData&&!e.form?.on&&(0,Q.jsxs)(`button`,{type:`button`,onClick:e.cellData.onToggle,"aria-pressed":e.cellData.open,title:`Data grid: Toggle cell data view`,"aria-label":`Cell Data`,className:B(K,e.cellData.open&&`bg-accent-wash text-primary can-hover:hover:bg-accent-wash can-hover:hover:text-primary`),children:[(0,Q.jsx)(m,{className:`size-4 shrink-0`}),(0,Q.jsx)(`span`,{className:Qn,children:`Cell Data`})]}),e.onToggleReadonly&&(0,Q.jsx)(er,{readonly:e.readonly,onToggle:e.onToggleReadonly})]})}function er({readonly:e,onToggle:t}){return(0,Q.jsxs)(`button`,{type:`button`,onClick:t,"aria-pressed":!e,"aria-label":e?`Read-only: allow writes`:`Writes allowed: make read-only`,title:e?`Read-only — click to allow writes`:`WRITE mode — click to make read-only`,className:B(K,`ml-auto`,!e&&`bg-destructive/15 text-destructive can-hover:hover:bg-destructive/20 can-hover:hover:text-destructive`),children:[e?(0,Q.jsx)(a,{className:`size-4 shrink-0`}):(0,Q.jsx)(f,{className:`size-4 shrink-0`}),(0,Q.jsx)(`span`,{className:B($,!e&&`font-medium`),children:e?`Read-only`:`WRITE`})]})}function tr({actions:e}){let[t,n]=(0,Y.useState)(!1),[r,l]=(0,Y.useState)(!1),d=()=>{n(!1),l(!1)},p=qn(e),[h,g]=Hn(e.onRefreshWithStructure,e.auto),S=[{label:`Structure`,icon:i,onSelect:e.onOpenStructure,disabled:!e.canOpenTabs},{label:`SQL`,icon:b,onSelect:e.onOpenSql,disabled:!e.canOpenTabs},`separator`,{label:`Refresh`,icon:E,onSelect:e.onRefresh,disabled:e.idle},{label:h.label,icon:E,onSelect:h.onSelect,disabled:e.idle},{label:g.label,icon:o,onSelect:g.onSelect,disabled:e.idle,hint:e.auto.running?`every ${e.auto.every}s`:void 0},...e.form?[{label:`Switch to form`,icon:_,onSelect:e.form.onToggle,disabled:!e.edit}]:[],...e.cellData?[{label:`Show cell data`,icon:m,onSelect:e.cellData.onToggle,disabled:!e.edit}]:[],...p.fetchAll?[{label:`Fetch all rows`,icon:x,onSelect:e.onFetchAll}]:[],...e.onCountExactly?[{label:`Count every row`,icon:y,onSelect:e.onCountExactly}]:[],...e.export?[{label:`Export`,icon:T,onSelect:()=>l(!0),sub:!0,disabled:!!e.export.unavailable}]:[],`separator`,{label:`Undo`,icon:v,onSelect:e.onUndo,disabled:!e.edit?.canUndo},{label:`Redo`,icon:j,onSelect:e.onRedo,disabled:!e.edit?.canRedo},{label:`Revert all changes`,icon:v,onSelect:e.onRevert,disabled:!p.revert},...e.onToggleReadonly?[e.readonly?{label:`Allow writes`,icon:f,onSelect:e.onToggleReadonly,hint:`Read-only now`}:{label:`Make read-only`,icon:a,onSelect:e.onToggleReadonly,hint:`Writes allowed now`}]:[]];return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`button`,{type:`button`,onClick:()=>n(!0),"aria-haspopup":`menu`,"aria-expanded":t,"aria-label":`Table actions`,className:`grid size-11 shrink-0 place-items-center rounded-md text-text-2 active:bg-surface-hover`,children:(0,Q.jsx)(s,{className:`size-5`})}),(0,Q.jsx)(ve,{open:t,onClose:d,children:(0,Q.jsx)(`div`,{role:`menu`,"aria-label":r?`Export`:`${e.table}: table actions`,className:`flex max-h-[60vh] flex-col gap-0.5 overflow-y-auto px-2 pb-2`,children:r?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(nr,{onClick:()=>l(!1),children:[(0,Q.jsx)(c,{className:`size-5 text-text-subtle`,"aria-hidden":!0}),(0,Q.jsx)(`span`,{className:`flex-1`,children:`Back`})]}),(0,Q.jsx)(`div`,{role:`separator`,className:`my-1 h-px bg-border`}),e.export?.run&&dt.map(t=>(0,Q.jsxs)(nr,{disabled:e.export.busy,onClick:()=>{d(),e.export.run?.(t.id)},children:[(0,Q.jsx)(`span`,{className:`size-5`,"aria-hidden":!0}),(0,Q.jsx)(`span`,{className:`flex-1`,children:t.label})]},t.id))]}):S.map((e,t)=>{if(e===`separator`)return(0,Q.jsx)(`div`,{role:`separator`,className:`my-1 h-px bg-border`},`sep-${t}`);let n=e.icon;return(0,Q.jsxs)(nr,{disabled:e.disabled,onClick:()=>{if(e.sub)return e.onSelect();d(),e.onSelect()},children:[(0,Q.jsx)(n,{className:`size-5 text-text-subtle`,"aria-hidden":!0}),(0,Q.jsx)(`span`,{className:`flex-1`,children:e.label}),e.hint&&(0,Q.jsx)(`span`,{className:`text-xs text-text-subtle`,children:e.hint}),e.sub&&(0,Q.jsx)(u,{className:`size-4 text-text-subtle`,"aria-hidden":!0})]},e.label)})})})]})}function nr({children:e,onClick:t,disabled:n}){return(0,Q.jsx)(`button`,{type:`button`,role:`menuitem`,disabled:n,onClick:t,className:`flex min-h-11 w-full items-center gap-3 rounded-lg px-3 text-left text-sm select-none active:bg-accent disabled:opacity-50`,children:e})}function rr({actions:e,onOpenPanel:t}){let n=Kn(e.edit,e.readonly),r=qn(e);return!r.newRow&&!t&&e.readonly?null:(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-t border-border bg-panel px-2.5 py-2`,children:[r.newRow&&(0,Q.jsx)(`button`,{type:`button`,onClick:e.onNewRow,"aria-label":`New row`,className:`grid size-11 shrink-0 place-items-center rounded-[10px] border border-border text-text-2 active:bg-surface-hover`,children:(0,Q.jsx)(C,{className:`size-5`})}),t&&(0,Q.jsxs)(`button`,{type:`button`,onClick:t,className:`flex h-11 shrink-0 items-center gap-2 rounded-[10px] border border-border px-3.5 text-sm text-text-2 active:bg-surface-hover`,children:[(0,Q.jsx)(D,{className:`size-4`,"aria-hidden":!0}),`Filters`]}),(0,Q.jsxs)(`button`,{type:`button`,onClick:e.onSave,disabled:n.disabled,"aria-label":n.count?`Save ${n.count} changed ${n.count===1?`row`:`rows`}`:e.readonly?`Save: the connection is read-only`:`Save`,className:`flex h-11 min-w-0 flex-1 items-center justify-center gap-2 rounded-[10px] bg-primary px-3.5 text-sm font-medium text-primary-foreground disabled:opacity-45`,children:[(0,Q.jsx)(I,{className:`size-4`,"aria-hidden":!0}),`Save`,n.count>0&&(0,Q.jsx)(`span`,{"aria-hidden":!0,className:`rounded-full bg-white/20 px-1.5 font-mono text-xs`,children:Xn(n.count)})]})]})}function ir({metadata:e,tabId:t}){let n=ot(e,t);return n.missing?(0,Q.jsx)(ct,{empty:`This connection no longer exists.`}):(0,Q.jsx)(sr,{tab:n,table:typeof e?.tableName==`string`?e.tableName:``,schemaName:typeof e?.schemaName==`string`?e.schemaName:``,objectKind:e?.objectKind,color:n.conn?.color??e?.connectionColor,tabId:t})}var ar=e=>ce.getState().getPanelForTab(e)?.tabs.find(t=>t.id===e)?.metadata;function or(e){if(!e?.isConnected||e.ownerDocument.defaultView?.getComputedStyle(e).visibility===`hidden`)return!1;let t=e.getBoundingClientRect();return t.width>0&&t.height>0}function sr({tab:e,table:t,schemaName:n,objectKind:r,color:i,header:a=!0,tabId:o,shownIn:s=o}){let c=Ut(e.target),l=ue(),u=(0,Y.useRef)(null),d=(0,Y.useRef)(null),f=c.tableData;(0,Y.useEffect)(()=>{if(!s||!c.rowCount)return;let{file:e}=$e.getState();return e(s,{rowCount:c.rowCount,onCountExactly:c.countExactly}),()=>e(s,null)},[s,c.rowCount,c.countExactly]);let p=(0,Y.useMemo)(()=>Ue(c.schema,e.dbType),[c.schema,e.dbType]),[m]=(0,Y.useState)(()=>o?we(ar(o)):Me),{filters:h,setFilters:g,errors:_,opening:v,openFailed:y}=fn(p,c.applyFilters,m),b=(0,Y.useRef)(!1);(0,Y.useEffect)(()=>{if(b.current||!e.target||!t||e.missing||Ce(m)&&!e.dbType)return;b.current=!0;let r=e.dbType;c.selectTable(t,n,Ce(m)?e=>v(Ue(e,r)):void 0).then(e=>{e&&y(e)})},[e.target,e.missing,e.dbType,t,n]),(0,Y.useEffect)(()=>{if(!o)return;let e=ar(o),t=Se(e,p.length>0?Oe(h,p):h);JSON.stringify(t.filters)!==JSON.stringify(e?.filters)&&le.getState().updateTab(o,{metadata:t})},[o,h,p]);let[x,S]=(0,Y.useState)(()=>o?Le(ar(o)):Ve);(0,Y.useEffect)(()=>{if(!o)return;let e=ar(o),t=c.schema.length?new Set(c.schema.map(e=>e.name)):null,n=Ne(e,t?{...x,hidden:x.hidden.filter(e=>t.has(e)),columnWidths:Object.fromEntries(Object.entries(x.columnWidths).filter(([e])=>t.has(e)))}:x);JSON.stringify(n.gridView)!==JSON.stringify(e?.gridView)&&le.getState().updateTab(o,{metadata:n})},[o,x,c.schema]);let C=(0,Y.useMemo)(()=>new Set(x.hidden),[x.hidden]),w=(0,Y.useMemo)(()=>c.schema.filter(e=>C.has(e.name)).length,[c.schema,C]),ee=(0,Y.useCallback)(e=>S(t=>({...t,hidden:[...e]})),[]),te=(0,Y.useCallback)(e=>S(t=>t.hidden.includes(e)?t:{...t,hidden:[...t.hidden,e]}),[]),T=(0,Y.useCallback)(e=>S(t=>{let n=e.filter(e=>!t.hidden.includes(e));return n.length?{...t,hidden:[...t.hidden,...n]}:t}),[]),E=(0,Y.useCallback)(e=>S(t=>({...t,columnWidths:e})),[]),D=(0,Y.useCallback)(e=>S(t=>({...t,panelWidth:e})),[]),O=mt(u,860),[k,A]=(0,Y.useState)(null),j=k??!O,M=!l&&c.schema.length>0&&!c.driverMissing,N=(0,Y.useCallback)(()=>A(!j),[j]),ne=(0,Y.useCallback)(()=>{A(!1),d.current?.focus()},[]),[re,P]=(0,Y.useState)(null),F=f?re:null,I=x.form&&!l,ie=(0,Y.useCallback)(e=>{S(t=>t.form===(e===`form`)?t:{...t,form:e===`form`})},[]),R=(0,Y.useCallback)(()=>{l?d.current?.openRowForm():S(e=>({...e,form:!e.form}))},[l]),[ae,B]=(0,Y.useState)(``),[fe,pe]=(0,Y.useState)([]),me=(0,Y.useCallback)(e=>pe(t=>t.filter(t=>t!==e)),[]),[he,H]=(0,Y.useState)(null),[ge,_e]=(0,Y.useState)(!1),ve=(0,Y.useCallback)(()=>{if(l){H({kind:`columns`,find:!0});return}A(!0),_e(!0)},[l]),ye=(0,Y.useCallback)(()=>_e(!1),[]),[be,Ee]=(0,Y.useState)(null),W=un({target:e.target,dbType:e.dbType,table:c.selectedTable??t,schema:c.selectedSchema,columns:p,tableSchema:c.schema,filters:h}),De=(0,Y.useMemo)(()=>({filters:h,columns:p,onChange:g,errors:_,onDialog:(e,t,n)=>Ee({column:e,request:t,returnFocus:n}),onChooseValues:(e,t)=>Ee({column:e,request:W.chooseValues(e),returnFocus:t}),onLookup:(e,t)=>{let n=W.lookup(e);n&&Ee({column:e,request:n,returnFocus:t})},onColumnSheet:e=>H({kind:`filter`,column:e})}),[h,p,_,g,W]),ke=(0,Y.useCallback)(e=>{let t=W.lookup(e);return t?.dialog===`lookup`?{source:t.source,kind:t.kind}:null},[W]),je=(0,Y.useCallback)((e,t)=>{g(n=>e===null?Ie(n,t):U(n,e,t))},[g]),Fe=p.length>0&&!c.driverMissing,He=(0,Y.useCallback)((e,t)=>{let n=p.find(t=>t.name===e)?.kind;!n||!Dt(n)||t===void 0||xt(t)||g(r=>U(r,e,Pt(n,t)))},[p,g]),[We,G]=(0,Y.useState)(null),qe=(0,Y.useCallback)(e=>{pe(t=>t.includes(e)?t:[...t,e]),A(!0),G(e)},[]);(0,Y.useEffect)(()=>{We&&(G(null),[...u.current?.querySelectorAll(`[data-table-panel] input`)??[]].find(e=>e.getAttribute(`aria-label`)===`Filter ${We}`)?.focus())},[We]);let Je={schema:n||null,name:t,...r?{kind:r}:{}},Ye=()=>{e.place&&Ae(e.place,Je)},Xe=()=>{e.place&&Pe(e.place,{schema:Je.schema,name:t,kind:r??`table`})},Qe=(0,Y.useCallback)(t=>{e.place&&Be(e.place,{schema:n||null,name:t})},[e.place,n]),tt=e.place&&(f?.sql||e.dbType)?()=>{e.place&&Re(e.place,f?.sql||Ze({schema:Je.schema,name:t},e.dbType))}:void 0,nt=e.place&&(r??`table`)===`table`?t=>{e.place&&Re(e.place,t)}:void 0,rt=(0,Y.useRef)(new Map),it=(0,Y.useCallback)(async(t,n)=>{let r=c.schema.find(e=>e.name===t)?.fk,i=e.target;if(!r||!i)throw Error(`${t} refers to no table`);let a=c.selectedSchema,o=a?`&schema=${encodeURIComponent(a)}`:``,s=`${oe(i)}\u0000${a}\u0000${r.table}`,l=rt.current.get(s);l||(l=z.get(se(i,`/schema?table=${encodeURIComponent(r.table)}${o}`)),rt.current.set(s,l),l.catch(()=>rt.current.delete(s)));let u=await l,d=u.filter(e=>e.name!==r.column),f=Ue(u,e.dbType).find(e=>e.name===r.column)?.kind??`other`,p=qt(r.column,f,[n[t]]);if(!p)return{columns:d,row:null};let m={table:r.table,...a?{schema:a}:{},filters:[p.group],limit:1},h=await z.post(se(i,`/grid`),m);return{columns:d,row:Te(h.columns,h.rows).records[0]??null}},[c.schema,c.selectedSchema,e.target,e.dbType]),at=(0,Y.useCallback)((t,r)=>{let i=c.schema.find(e=>e.name===t)?.fk,a=p.find(e=>e.name===t)?.kind??`other`,o=i&&Jt(i.column,a,r[t]);i&&o&&e.place&&ze(e.place,{schema:n||null,name:i.table},o)},[c.schema,e.place,p,n]),ot=st(e.target,t?`/structure?table=${encodeURIComponent(t)}${n?`&schema=${encodeURIComponent(n)}`:``}`:null,s),K=(0,Y.useMemo)(()=>{let e=ot.data?Xt(ot.data):null;return Zt(e)?e:null},[ot.data]),[q,J]=(0,Y.useState)(null),[ut,dt]=(0,Y.useState)([]),ft=(0,Y.useCallback)(e=>{if(!q||e&&Qt(e)===Qt(q)){q||J(e);return}let t=s?Ke(s,mn):0;if(t>0){L.info(`Save or discard the changes in ${q.table} first`,{description:`${t.toLocaleString()} changed row${t===1?``:`s`} there would be lost.`});return}J(e)},[q,s]),pt=(0,Y.useCallback)(()=>{e.conn&&xe(e.conn.id,!e.readonly).catch(e=>L.error(`Could not change read-only`,{description:e.message}))},[e.conn,e.readonly]),ht=(0,Y.useCallback)(e=>{de(e).then(e=>{e?L.success(`Column name copied`):L.error(`Could not copy the column name`)})},[]),gt=(0,Y.useCallback)(e=>{if(C.has(e)){L.info(`${e} is hidden in the grid: tick it in Columns to show it`);return}d.current?.scrollToColumn(e)},[C]),_t=(0,Y.useCallback)(e=>{c.setSort(e)},[c.setSort]),yt=c.loading||c.loadingMore||c.fetchingAll!==null,St=Wn(c.refreshQuietly,()=>!yt&&or(u.current)&&!u.current?.ownerDocument.activeElement?.closest(`.gdg-clip-region, [data-cell-editor]`)),Ct=(0,Y.useCallback)(()=>{c.reload({keepPlace:I})},[c.reload,I]),wt=(0,Y.useCallback)(()=>{rt.current.clear(),c.reload({structure:!0,keepPlace:I})},[c.reload,I]),[Et,kt]=(0,Y.useState)(!1),jt=(0,Y.useRef)(null),Nt=(0,Y.useCallback)(e=>{let t=jt.current;jt.current=null,t?.(e)},[]),Ft=(0,Y.useCallback)(()=>c.fetchAll().then(e=>(e&&L.success(`All ${e.rows.length.toLocaleString()} rows loaded`),!!e)),[c.fetchAll]),It=(0,Y.useCallback)(()=>Ln()?(Nt(!1),kt(!0),new Promise(e=>{jt.current=e})):Ft(),[Ft,Nt]),Lt=V(e.target,e.name),X=(0,Y.useMemo)(()=>f?f.columns.filter(e=>!C.has(e)):[],[f,C]),Rt=(0,Y.useCallback)(e=>c.startExport(e,X),[c.startExport,X]),zt=(0,Y.useMemo)(()=>{let r=f?.sql;if(l||!f||!r||!e.target)return;let i={target:e.target,schema:n||null},a=X.length<f.columns.length?X:void 0;return()=>{et(Ge(i,t,r,a))}},[l,f,e.target,n,X,t]),Bt=Wt(Rt,t,X.length?void 0:`Every column is hidden`,zt),Z={table:t,canOpenTabs:!!e.place,onOpenStructure:Ye,onOpenSql:Xe,onRefresh:Ct,onRefreshWithStructure:wt,auto:St,busy:yt,idle:!c.selectedTable,edit:F,readonly:e.readonly,onSave:()=>d.current?.save(),onRevert:()=>d.current?.revert(),onNewRow:()=>d.current?.newRow(),onDeleteRows:()=>d.current?.deleteSelectedRows(),onUndo:()=>d.current?.undo(),onRedo:()=>d.current?.redo(),export:f?Bt:void 0,hasMore:!!f?.hasMore&&c.fetchingAll===null,onFetchAll:It,panel:M?{open:j,onToggle:N}:void 0,form:f?{on:I,onToggle:R,onNavigate:e=>d.current?.formNavigate(e)}:void 0,cellData:f?{open:F?.cellData??!1,onToggle:()=>d.current?.toggleCellData()}:void 0,onToggleReadonly:e.conn?pt:void 0,onCountExactly:c.rowCount?.canCountExactly?c.countExactly:void 0},Vt=O,Ht=M&&j&&Vt,Gt=ce(e=>!!s&&e.panels[e.focusedPanelId]?.activeTabId===s),Kt=t=>{let n=qn(Z);switch(t){case`refresh`:Z.idle||Ct();break;case`refresh-structure`:Z.idle||wt();break;case`toggle-auto-refresh`:Z.idle||(St.running?St.stop():St.start());break;case`save`:!e.readonly&&(F?.pending??0)>0&&Z.onSave();break;case`new-row`:n.newRow&&Z.onNewRow();break;case`delete-rows`:n.deleteRows&&Z.onDeleteRows();break;case`undo`:Z.onUndo();break;case`redo`:Z.onRedo();break;case`revert-rows`:break;case`toggle-panel`:l?H(e=>e?null:{kind:`columns`}):M&&N();break;case`clear-filters`:g(Me);break;case`toggle-form`:Z.form?.onToggle();break;case`export-advanced`:Bt.unavailable||Bt.advanced?.();break}},Yt=e=>{let t=Ot(e.currentTarget,e.target);if(!t)return;if(e.key===`Escape`&&Ht&&t!==`cell-editor`&&!e.defaultPrevented){e.preventDefault(),ne();return}let n=vt(e.nativeEvent,t);!n||n!==`swallow`&&Tt(n)||n===`export-advanced`&&!Bt.advanced||(e.preventDefault(),e.stopPropagation(),n!==`swallow`&&Kt(n))},$t=e=>{let t=At(e.target);!Ht||!t||!e.currentTarget.contains(t)||t.closest(`[data-table-panel]`)||A(!1)},en={sort:{sort:c.sort,onChange:_t},onCopyName:ht,onHide:te,onOpenTable:e.place?Qe:void 0};return(0,Q.jsxs)(`div`,{ref:u,className:`@container flex h-full w-full flex-col overflow-hidden`,onKeyDown:Yt,children:[a&&(0,Q.jsx)(lt,{title:t,subtitle:[Lt,n,c.rowCount?.text].filter(Boolean).join(` · `),color:i,children:l&&(0,Q.jsx)(tr,{actions:Z})}),!a&&l&&(0,Q.jsxs)(`div`,{className:`flex h-11 shrink-0 items-center gap-1 border-b border-border-soft pr-1 pl-3`,children:[(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs text-text-subtle`,children:c.rowCount?.text}),(0,Q.jsx)(tr,{actions:Z})]}),l&&Fe&&(0,Q.jsx)(Tn,{filtering:De,onOpen:e=>H({kind:`filter`,column:e}),sort:c.sort,hidden:{count:w,onOpen:()=>H({kind:`columns`})}}),!l&&(0,Q.jsx)($n,{actions:Z}),(0,Q.jsxs)(`div`,{className:`relative flex min-h-0 flex-1 overflow-hidden`,onPointerDownCapture:$t,children:[M&&j&&(0,Q.jsx)(bt,{width:x.panelWidth,onWidthChange:D,floating:Vt,onClose:ne,children:(0,Q.jsx)(cr,{schema:c.schema,hidden:C,onHiddenChange:ee,onJump:gt,findColumn:ge?ye:void 0,onOpenTable:e.place?Qe:void 0,selected:F?.selectedColumns,filtering:Fe?De:void 0,form:I?{text:ae,onChange:B}:void 0,added:fe,onRemoveAdded:me,references:K?{table:t,refs:K,open:q,onOpen:ft}:void 0})}),(0,Q.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden`,children:[(0,Q.jsx)(`div`,{className:`relative min-h-0 flex-1 overflow-hidden`,children:c.driverMissing?(0,Q.jsx)(ct,{driver:c.driverMissing}):f?(0,Q.jsx)(Mt,{ref:d,columns:f.columns,rows:f.rows,schema:c.schema,loading:c.loading,rowKey:f.rowKey,onSaveChanges:t=>c.saveChanges(t,e.place),readOnly:e.readonly,sort:c.sort,onSortChange:_t,viewKey:c.viewKey,hasMore:f.hasMore,onLoadMore:c.loadMore,loadingMore:c.loadingMore,fetchingAll:c.fetchingAll,hiddenColumns:C,onShowAllColumns:()=>ee(new Set),onHideColumns:T,onFindColumn:(M||l)&&!I?ve:void 0,columnWidths:x.columnWidths,onColumnWidthsChange:E,onEditStateChange:P,tabId:s,sidePanel:M?{open:j,onToggle:N}:void 0,onResetFilter:Ce(h)?()=>g(Me):void 0,onOpenQuery:tt,onOpenGeneratedSql:nt,exporter:Bt,startCellDownload:c.startCellDownload,focusOnVisible:Gt,onOpenTable:e.place?Qe:void 0,place:e.place??void 0,selectedTable:c.selectedTable,selectedSchema:c.selectedSchema,connectionName:e.name,dialect:e.dialect,filtering:Fe?De:void 0,lookupFor:e.target?ke:void 0,view:I?`form`:`table`,onViewChange:ie,formNameFilter:ae,onFormNameFilterChange:B,rowCount:c.rowCount,onFetchAll:It,loadReference:e.target?it:void 0,onOpenReference:e.place?at:void 0,onFilterValue:Fe?He:void 0,onAddToFilter:Fe&&M?qe:void 0,onRefresh:Ct,floatCellData:O,onSelectedRowsChange:q?dt:void 0,rowsLabel:q?c.rowCount?.text:void 0}):(0,Q.jsx)(ct,{loading:c.loading||!c.error,error:c.error})}),q&&f&&!c.driverMissing&&(0,Q.jsx)(hn,{tab:e,reference:q,masterRows:ut,shownIn:s,narrow:O,onClose:()=>ft(null)})]})]}),l&&f&&(0,Q.jsx)(rr,{actions:Z,onOpenPanel:c.schema.length?()=>H({kind:`columns`}):void 0}),l&&he?.kind===`filter`&&Fe&&(0,Q.jsx)(kn,{filtering:De,column:he.column,schema:c.schema,menu:en,onClose:()=>H(null)}),l&&he?.kind===`columns`&&(0,Q.jsx)(Nn,{table:t,schema:c.schema,hidden:C,onHiddenChange:ee,onJump:gt,onOpenTable:e.place?Qe:void 0,filtering:Fe?De:void 0,onOpenFilter:e=>H({kind:`filter`,column:e}),references:K?{refs:K,open:q,onOpen:ft}:void 0,focusSearch:he.find?()=>H({kind:`columns`}):void 0,onClose:()=>H(null)}),Et&&(0,Q.jsx)(zn,{onFetch:()=>{let e=jt.current;jt.current=null,Ft().then(t=>e?.(t))},onClose:()=>{kt(!1),queueMicrotask(()=>Nt(!1))}}),(0,Q.jsx)(cn,{open:be,onClose:()=>Ee(null),onSubmit:je})]})}function cr({schema:e,hidden:t,onHiddenChange:n,onJump:r,findColumn:i,onOpenTable:a,selected:o,filtering:s,form:c,added:l,onRemoveAdded:u,references:d}){let[f,p]=(0,Y.useState)(!1),[m,h]=(0,Y.useState)(!1),g=(0,Y.useMemo)(()=>new Set(o),[o]),_=d&&(0,Q.jsx)(`div`,{className:`flex max-h-[30%] min-h-0 shrink-0 flex-col border-t border-border`,children:(0,Q.jsx)(nn,{table:d.table,references:d.refs,open:d.open,onOpen:d.onOpen,collapsed:m,onCollapsedChange:h})});return c?(0,Q.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[s&&(0,Q.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:(0,Q.jsx)(vn,{filtering:s,schema:e,nameFilter:c,added:l,onRemoveAdded:u})}),_]}):(0,Q.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[(0,Q.jsx)(jt,{schema:e,hidden:t,onHiddenChange:n,onJump:r,onOpenTable:a,selected:g,collapsed:f,onCollapsedChange:p,focusSearch:i}),s&&(0,Q.jsx)(`div`,{className:f?`flex min-h-0 flex-1 flex-col`:B(`flex min-h-0 shrink-0 flex-col border-t border-border`,d?`max-h-[40%]`:`max-h-[45%]`),children:(0,Q.jsx)(vn,{filtering:s,schema:e,added:l,onRemoveAdded:u})}),_]})}export{ir as TableTab,sr as TableView};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
/package/dist/web/assets/{__vite-browser-external-DLaiEgUM.js → __vite-browser-external-LVpeGV-g.js}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/dist/web/assets/{metric-chart-canvas-Dnm9OOXU.js → metric-chart-canvas-HG8rPTMq.js}
RENAMED
|
File without changes
|
/package/dist/web/assets/{metric-chart-canvas-Dnm9OOXU.js.br → metric-chart-canvas-HG8rPTMq.js.br}
RENAMED
|
File without changes
|
/package/dist/web/assets/{metric-chart-canvas-Dnm9OOXU.js.gz → metric-chart-canvas-HG8rPTMq.js.gz}
RENAMED
|
File without changes
|
/package/dist/web/assets/{notification-settings-CvplVsIo.js → notification-settings--li9wGTJ.js}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/dist/web/assets/{query-audit-section-C-fT07Zz.js → query-audit-section-BiCUBamA.js}
RENAMED
|
File without changes
|
/package/dist/web/assets/{query-audit-section-C-fT07Zz.js.br → query-audit-section-BiCUBamA.js.br}
RENAMED
|
File without changes
|
/package/dist/web/assets/{query-audit-section-C-fT07Zz.js.gz → query-audit-section-BiCUBamA.js.gz}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|