@hienlh/ppm 0.19.11 → 0.20.0

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.
Files changed (536) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/CLAUDE.md +8 -1
  3. package/assets/skills/ppm/SKILL.md +1 -1
  4. package/assets/skills/ppm/references/http-api.md +4 -1
  5. package/dist/web/assets/accounts-settings-section-BQyru31C.js +1 -0
  6. package/dist/web/assets/{ai-resource-editor-iMqzzz5c.js → ai-resource-editor-BgYIPGVP.js} +1 -1
  7. package/dist/web/assets/{ai-settings-section-B-1z-PRb.js → ai-settings-section-Cywmtnps.js} +1 -1
  8. package/dist/web/assets/ai-settings-section-iBRCQvBR.js +1 -0
  9. package/dist/web/assets/{angular-html-C8nsn2VC.js → angular-html-BtJLNcMw.js} +1 -1
  10. package/dist/web/assets/{angular-ts-Caw9nRCH.js → angular-ts-CQiu5F_W.js} +1 -1
  11. package/dist/web/assets/api-client-QfreGirP.js +1 -0
  12. package/dist/web/assets/api-settings-D18Q4Ocp.js +1 -0
  13. package/dist/web/assets/{api-themes-BoOJPqwM.js → api-themes-sSv-6OLk.js} +1 -1
  14. package/dist/web/assets/{apl-Dhu1LORF.js → apl-CKZvgs-w.js} +1 -1
  15. package/dist/web/assets/{appearance-settings-section-2XZgB0mV.js → appearance-settings-section-mhu9T6Fk.js} +1 -1
  16. package/dist/web/assets/architecture-PBZL5I3N-DfR8k8Bc.js +1 -0
  17. package/dist/web/assets/{astro-DwkX9sLZ.js → astro-D0b8ssLD.js} +1 -1
  18. package/dist/web/assets/{audio-preview-CkGZO8Uy.js → audio-preview-B4E5_7TW.js} +1 -1
  19. package/dist/web/assets/{blade-D1fC9Osx.js → blade-DOIpINLw.js} +1 -1
  20. package/dist/web/assets/{bsl-pur-PRip.js → bsl-CJ7_JlQ8.js} +1 -1
  21. package/dist/web/assets/{button-2WCAS8dI.js → button-DX32ffge.js} +1 -1
  22. package/dist/web/assets/{cairo-DDJs9amR.js → cairo-5CpV2T1P.js} +1 -1
  23. package/dist/web/assets/chat-tab-Bs9OD6ss.js +15 -0
  24. package/dist/web/assets/{cobol-Bo0usdoM.js → cobol-BreMVrtc.js} +1 -1
  25. package/dist/web/assets/code-editor-Cv_pzHo7.js +7 -0
  26. package/dist/web/assets/{coffee-DBBsbX1e.js → coffee-D7DoKh5b.js} +1 -1
  27. package/dist/web/assets/{conflict-editor-BpdoTEfv.js → conflict-editor-BnWaMSEa.js} +1 -1
  28. package/dist/web/assets/{context-menu-C13b1uT3.js → context-menu-CJL8L98s.js} +1 -1
  29. package/dist/web/assets/{cpp-6CTO78A-.js → cpp-BnWeWAoE.js} +1 -1
  30. package/dist/web/assets/{crystal-DAlvpAP7.js → crystal-D2pJbFUn.js} +1 -1
  31. package/dist/web/assets/{csv-preview-C3DoHISX.js → csv-preview-DG4YAabr.js} +1 -1
  32. package/dist/web/assets/{data-grid-overlay-editor-iRrpAV0e.js → data-grid-overlay-editor-CbBkhhJa.js} +1 -1
  33. package/dist/web/assets/{database-viewer-CxZ2fdcd.js → database-viewer-B-wA2qT-.js} +1 -1
  34. package/dist/web/assets/diff-viewer-DRtzdfXk.js +4 -0
  35. package/dist/web/assets/{docx-preview-Bgw838ry.js → docx-preview-Xy7SZ7Vf.js} +1 -1
  36. package/dist/web/assets/{edge-D0tZrpC7.js → edge-aqGMtbY3.js} +1 -1
  37. package/dist/web/assets/{edit-diff-preview-DUgmjNre.js → edit-diff-preview-6tzdk7Pn.js} +1 -1
  38. package/dist/web/assets/{elixir-C1E6-o4G.js → elixir-CsYMBLc5.js} +1 -1
  39. package/dist/web/assets/{elm-BKyTfeQX.js → elm-BU8C2gFp.js} +1 -1
  40. package/dist/web/assets/{erb-Cdnr4BMI.js → erb-Z_E49ab8.js} +1 -1
  41. package/dist/web/assets/{erlang-N1237mFq.js → erlang-BRqOjXH9.js} +1 -1
  42. package/dist/web/assets/{esm-ClNnmD9t.js → esm-B-vXxHUd.js} +1 -1
  43. package/dist/web/assets/{explorer-body-Bpe6UX0b.js → explorer-body-uh8oJp6J.js} +2 -2
  44. package/dist/web/assets/explorer-window-content-DLn_4egF.js +1 -0
  45. package/dist/web/assets/{extension-manager-section-D_rKLp-o.js → extension-manager-section-C_ZGYvWf.js} +1 -1
  46. package/dist/web/assets/{extension-webview-kEtrZoRZ.js → extension-webview-DbFWxJpj.js} +1 -1
  47. package/dist/web/assets/{files-settings-section-B0wLfQ9S.js → files-settings-section-BrUbJglA.js} +1 -1
  48. package/dist/web/assets/{fortran-fixed-form-D_f9tVv0.js → fortran-fixed-form-CWbxmDGR.js} +1 -1
  49. package/dist/web/assets/{fsharp-DEJmdhc2.js → fsharp-DKMYbq6I.js} +1 -1
  50. package/dist/web/assets/{gdresource-Dmmrx2gP.js → gdresource-B3yFau4V.js} +1 -1
  51. package/dist/web/assets/{general-settings-section-DZ3xpgwh.js → general-settings-section-B9ZPZVso.js} +1 -1
  52. package/dist/web/assets/{git-commit-qwJ867ig.js → git-commit-BW0p3Ekk.js} +1 -1
  53. package/dist/web/assets/{git-log-panel-BNicD2In.js → git-log-panel-C0jnhmgC.js} +1 -1
  54. package/dist/web/assets/{git-rebase-Dkv8Zw86.js → git-rebase-DrvmQCS7.js} +1 -1
  55. package/dist/web/assets/gitGraph-HDMCJU4V-CPd78aaT.js +1 -0
  56. package/dist/web/assets/{glide-data-grid-CdK5dW5L.js → glide-data-grid-CZVKIum-.js} +6 -6
  57. package/dist/web/assets/{glimmer-js-CcrXn8lQ.js → glimmer-js-BY1XApJJ.js} +1 -1
  58. package/dist/web/assets/{glimmer-ts-CLab3lU7.js → glimmer-ts-DPZtxF8N.js} +1 -1
  59. package/dist/web/assets/{glsl-DXhkG9dU.js → glsl-DZ8G_Hvf.js} +1 -1
  60. package/dist/web/assets/{graphql-Cuqsx8r3.js → graphql-Ck06uCZy.js} +1 -1
  61. package/dist/web/assets/group-chat-tab-DnPtmbPc.js +1 -0
  62. package/dist/web/assets/{hack-C_CBVdBc.js → hack-pLogDwAs.js} +1 -1
  63. package/dist/web/assets/{haml-CBWfzZpv.js → haml-CBqeCQ2A.js} +1 -1
  64. package/dist/web/assets/{handlebars-4e8OR-VI.js → handlebars-B66JmVtp.js} +1 -1
  65. package/dist/web/assets/{html-C5X4urn_.js → html-Dk4wmfwC.js} +1 -1
  66. package/dist/web/assets/{html-derivative-nH-jXfsL.js → html-derivative-CJWqfN51.js} +1 -1
  67. package/dist/web/assets/{http-CQgaG7eu.js → http-CexhotTh.js} +1 -1
  68. package/dist/web/assets/{hurl-B8gidJhu.js → hurl-BScKFk3Z.js} +1 -1
  69. package/dist/web/assets/{hxml-BAK94GX8.js → hxml-DAle7vtu.js} +1 -1
  70. package/dist/web/assets/{image-preview-1kGj4W9R.js → image-preview-fuU4h2nr.js} +1 -1
  71. package/dist/web/assets/index-CHQAPZIX.js +52 -0
  72. package/dist/web/assets/index-CoaVwAF6.css +2 -0
  73. package/dist/web/assets/info-3K5VOQVL-BciNds6R.js +1 -0
  74. package/dist/web/assets/{jinja-BuAjvj8M.js → jinja-yHpyD80t.js} +1 -1
  75. package/dist/web/assets/{jira-watcher-section-DL_boZNh.js → jira-watcher-section-Bjldyhru.js} +1 -1
  76. package/dist/web/assets/{jison-Dhhs26-L.js → jison-BY6WLJVu.js} +1 -1
  77. package/dist/web/assets/{julia-gZavIyll.js → julia-Dd_iYQDT.js} +1 -1
  78. package/dist/web/assets/{just-DDHrFReO.js → just-BTuUKpxF.js} +1 -1
  79. package/dist/web/assets/keybindings-store-DBVXZKp8.js +1 -0
  80. package/dist/web/assets/{keyboard-shortcuts-section-DzQzV49E.js → keyboard-shortcuts-section-D7jaCPrv.js} +1 -1
  81. package/dist/web/assets/{latex-BdGZa8ov.js → latex-Dt3OUlMZ.js} +1 -1
  82. package/dist/web/assets/{liquid-urFfd9Fr.js → liquid-BxPJU2ix.js} +1 -1
  83. package/dist/web/assets/{lua-CcS6tnB5.js → lua-DEGIvn7d.js} +1 -1
  84. package/dist/web/assets/{markdown-renderer-BfoCOrL8.js → markdown-renderer-B4B5oxQS.js} +3 -3
  85. package/dist/web/assets/markdown-renderer-DwHh-jd_.js +1 -0
  86. package/dist/web/assets/{marko-CSQqk4oG.js → marko-BDxwBJur.js} +1 -1
  87. package/dist/web/assets/{mdc-CYIe80m_.js → mdc-B8aXPTg7.js} +1 -1
  88. package/dist/web/assets/{media-url-DBmHJRft.js → media-url-BMeBaB0q.js} +1 -1
  89. package/dist/web/assets/{mobile-bottom-sheet-B3uDlD79.js → mobile-bottom-sheet-CmySDB6I.js} +1 -1
  90. package/dist/web/assets/mobile-explorer-sheet-JJxZYWkV.js +1 -0
  91. package/dist/web/assets/{nextflow-C-W8vX8I.js → nextflow-DBVZnnT_.js} +1 -1
  92. package/dist/web/assets/{nginx-COGi5you.js → nginx-Crpyd-Do.js} +1 -1
  93. package/dist/web/assets/{nim-CPitYGel.js → nim-BSqTBYDj.js} +1 -1
  94. package/dist/web/assets/notification-store-CCWNUHsS.js +1 -0
  95. package/dist/web/assets/{notifications-settings-section-BXCaGBVc.js → notifications-settings-section-DbbX7-Qp.js} +1 -1
  96. package/dist/web/assets/{number-overlay-editor-C_eD-Bdr.js → number-overlay-editor-DRjTIcPH.js} +1 -1
  97. package/dist/web/assets/{overview-panel-Cm2HRtEz.js → overview-panel-DiiA3B_Z.js} +1 -1
  98. package/dist/web/assets/packet-RMMSAZCW-ClD3l2Bs.js +1 -0
  99. package/dist/web/assets/{panel-store-BRrnDO_i.js → panel-store-BmdcSBNb.js} +1 -1
  100. package/dist/web/assets/{pdf-preview-DbRFOtQD.js → pdf-preview-DxNjWa1v.js} +1 -1
  101. package/dist/web/assets/{perl-B0yW3hbb.js → perl-BU0kbB-K.js} +1 -1
  102. package/dist/web/assets/{php-BNMYN5Jp.js → php-D9n1ikHN.js} +1 -1
  103. package/dist/web/assets/pie-UPGHQEXC-PU6kD0rW.js +1 -0
  104. package/dist/web/assets/{postgres-viewer-BrQRqTso.js → postgres-viewer-BScvk5ev.js} +3 -3
  105. package/dist/web/assets/{ppmbot-settings-section-BEV23_SM.js → ppmbot-settings-section-jFA9Ncgo.js} +1 -1
  106. package/dist/web/assets/{process-table-CG8d5eXs.js → process-table-BexeYWQm.js} +1 -1
  107. package/dist/web/assets/{project-store-BuY7rxn_.js → project-store-wWZ6bjwq.js} +1 -1
  108. package/dist/web/assets/{proxy-settings-section-Cw0Wtsv0.js → proxy-settings-section-C_seKq56.js} +1 -1
  109. package/dist/web/assets/{pug-CP5fxsxD.js → pug-BOpaczDr.js} +1 -1
  110. package/dist/web/assets/{qml-CHGpQosY.js → qml-B-cQXhrg.js} +1 -1
  111. package/dist/web/assets/{query-audit-section-50B7mQal.js → query-audit-section-BWXJmPDV.js} +1 -1
  112. package/dist/web/assets/radar-KQ55EAFF-4LzjL0Zt.js +1 -0
  113. package/dist/web/assets/{razor-Cfe0AYo4.js → razor-DFB0pNCh.js} +1 -1
  114. package/dist/web/assets/remote-desktop-mobile-sheet-B--PeL5i.js +2 -0
  115. package/dist/web/assets/{remote-desktop-mobile-view-DPF_b_jd.js → remote-desktop-mobile-view-jgn8nmQa.js} +1 -1
  116. package/dist/web/assets/{remote-desktop-readiness-gate-J7E6355i.js → remote-desktop-readiness-gate-CjDth-W_.js} +1 -1
  117. package/dist/web/assets/{remote-desktop-window-content-0xsAifZH.js → remote-desktop-window-content-CrHAUA03.js} +1 -1
  118. package/dist/web/assets/{rst-DxSSGshb.js → rst-DAXedsgm.js} +1 -1
  119. package/dist/web/assets/{ruby-rbK5SsJa.js → ruby-BCO4polC.js} +1 -1
  120. package/dist/web/assets/{run-in-terminal-DHAvC1AG.js → run-in-terminal-wHKwAnWP.js} +1 -1
  121. package/dist/web/assets/{sas-DDM28fbb.js → sas-DfB5dcFC.js} +1 -1
  122. package/dist/web/assets/schedules-settings-section-DMFn3mYL.js +1 -0
  123. package/dist/web/assets/{scss-TDl-6ro4.js → scss-BknIVgn7.js} +1 -1
  124. package/dist/web/assets/{send-to-chat-BOyUWNKw.js → send-to-chat-BI7-fFpG.js} +1 -1
  125. package/dist/web/assets/{separator-BzGoTlR7.js → separator-W_hJcXPk.js} +1 -1
  126. package/dist/web/assets/{settings-body-CUTsPLea.js → settings-body-Dz2vPTEP.js} +2 -2
  127. package/dist/web/assets/settings-store-CzLnTR8p.js +2 -0
  128. package/dist/web/assets/settings-tab-B5QbsvS4.js +1 -0
  129. package/dist/web/assets/settings-window-content-iM2bPoX5.js +1 -0
  130. package/dist/web/assets/{shaderlab-CCvmDgGS.js → shaderlab-CPu31TpY.js} +1 -1
  131. package/dist/web/assets/{shellsession-BzKS9yKh.js → shellsession-CFX4c_TM.js} +1 -1
  132. package/dist/web/assets/{soy-QfO35nDh.js → soy-rz9hilgm.js} +1 -1
  133. package/dist/web/assets/{sparql-D29RDfp2.js → sparql-Bo8ZDeqE.js} +1 -1
  134. package/dist/web/assets/{sql-query-editor-CwOcDbp4.js → sql-query-editor-C0mGgLfX.js} +1 -1
  135. package/dist/web/assets/{sqlite-viewer-DYdcqZv1.js → sqlite-viewer-Bs3RKf1X.js} +1 -1
  136. package/dist/web/assets/{stata-Be6j_SNv.js → stata-B5J-QMyE.js} +1 -1
  137. package/dist/web/assets/{streaming-store-9_9j70zt.js → streaming-store-9XVmAMfV.js} +1 -1
  138. package/dist/web/assets/{surrealql-CykFjgNG.js → surrealql-Caw1ADnG.js} +1 -1
  139. package/dist/web/assets/{svelte-CdBF8z4-.js → svelte-D3oMVcxz.js} +1 -1
  140. package/dist/web/assets/{system-monitor-body-CugdEvdh.js → system-monitor-body-DvUmEdNe.js} +2 -2
  141. package/dist/web/assets/system-monitor-tab-CHZ5F_ZE.js +1 -0
  142. package/dist/web/assets/{system-monitor-window-content-CJfcQqc2.js → system-monitor-window-content-DjzqoeCN.js} +1 -1
  143. package/dist/web/assets/{tab-host-window-content-5Ga7BheG.js → tab-host-window-content-DKeAr5mD.js} +1 -1
  144. package/dist/web/assets/{tab-store-PZsP5ZwG.js → tab-store-1xYJb0gM.js} +1 -1
  145. package/dist/web/assets/team-member-sheet-Cl9ZB3dl.js +2 -0
  146. package/dist/web/assets/team-member-window-content-DfP7WdFD.js +1 -0
  147. package/dist/web/assets/{templ-BVHE2CNb.js → templ-BAdNyIOL.js} +1 -1
  148. package/dist/web/assets/{terminal-tab-CkxJIjii.js → terminal-tab-J1Fqa_rm.js} +2 -2
  149. package/dist/web/assets/{tex-C8XwrbBw.js → tex-IQ8mELOR.js} +1 -1
  150. package/dist/web/assets/tool-cards-DQghSuKX.js +9 -0
  151. package/dist/web/assets/treemap-KZPCXAKY-DiumLNMg.js +1 -0
  152. package/dist/web/assets/{ts-tags-BIHk5AM0.js → ts-tags-D1DDO2jl.js} +1 -1
  153. package/dist/web/assets/{twig-YcE6Q2Ox.js → twig-C8Fd5RvV.js} +1 -1
  154. package/dist/web/assets/use-accounts-data-KWcMgRlc.js +1 -0
  155. package/dist/web/assets/{use-blob-url-De-ZtcpX.js → use-blob-url-CrwoZJUJ.js} +1 -1
  156. package/dist/web/assets/use-inline-blame-C1G-_NjC.js +8 -0
  157. package/dist/web/assets/{use-monaco-theme-DOhDvEKJ.js → use-monaco-theme-aa4-wjKQ.js} +1 -1
  158. package/dist/web/assets/{use-open-team-member-DWhhWdmJ.js → use-open-team-member-CSUU7Z8N.js} +1 -1
  159. package/dist/web/assets/{use-remote-desktop-display-choice-B3VIBQxC.js → use-remote-desktop-display-choice-B-TpQ-Ua.js} +1 -1
  160. package/dist/web/assets/{use-websocket-D9MsDysx.js → use-websocket-BBslmv3D.js} +1 -1
  161. package/dist/web/assets/{vendor-mermaid-CKKtYuTV.js → vendor-mermaid-CfY1-PkA.js} +1 -1
  162. package/dist/web/assets/{video-preview-VL2Br0YM.js → video-preview-Bd0lcK3d.js} +1 -1
  163. package/dist/web/assets/{vue-q7m01V0h.js → vue-EvccXlkP.js} +1 -1
  164. package/dist/web/assets/{vue-html-D1y9feOj.js → vue-html-Dg0xUJCh.js} +1 -1
  165. package/dist/web/assets/{vue-vine-DrIGs03v.js → vue-vine-BdrMg72k.js} +1 -1
  166. package/dist/web/assets/{window-pip-registry-CSLhJfpL.js → window-pip-registry-CrCYYTTf.js} +1 -1
  167. package/dist/web/assets/{window-store-DGKf9rPG.js → window-store-D0HbQ1pM.js} +1 -1
  168. package/dist/web/assets/ws-auth-D111jj32.js +1 -0
  169. package/dist/web/assets/{xml-oyvc1920.js → xml-MmDclzxK.js} +1 -1
  170. package/dist/web/assets/{xsl-BbIGdNPF.js → xsl-DQEFs6Dd.js} +1 -1
  171. package/dist/web/index.html +23 -23
  172. package/dist/web/sw.js +1 -1
  173. package/docs/extension-development-guide.md +47 -0
  174. package/docs/project-roadmap.md +3 -1
  175. package/package.json +2 -2
  176. package/packages/ext-git-graph/package.json +23 -5
  177. package/packages/ext-git-graph/src/blame-parser.test.ts +154 -0
  178. package/packages/ext-git-graph/src/blame-parser.ts +148 -0
  179. package/packages/ext-git-graph/src/blame-view.ts +389 -0
  180. package/packages/ext-git-graph/src/commit-search.test.ts +118 -0
  181. package/packages/ext-git-graph/src/commit-search.ts +102 -0
  182. package/packages/ext-git-graph/src/compare-args.test.ts +111 -0
  183. package/packages/ext-git-graph/src/compare-args.ts +109 -0
  184. package/packages/ext-git-graph/src/compare-view.ts +343 -0
  185. package/packages/ext-git-graph/src/extension-integration.test.ts +6 -3
  186. package/packages/ext-git-graph/src/extension.ts +202 -249
  187. package/packages/ext-git-graph/src/file-history-parser.test.ts +102 -0
  188. package/packages/ext-git-graph/src/file-history-parser.ts +89 -0
  189. package/packages/ext-git-graph/src/file-history-view.ts +386 -0
  190. package/packages/ext-git-graph/src/git-exec.ts +122 -0
  191. package/packages/ext-git-graph/src/git-state.ts +81 -0
  192. package/packages/ext-git-graph/src/panel-nav.ts +65 -0
  193. package/packages/ext-git-graph/src/panel-registry.ts +72 -0
  194. package/packages/ext-git-graph/src/ppm-api.ts +48 -0
  195. package/packages/ext-git-graph/src/rebase-todo.test.ts +196 -0
  196. package/packages/ext-git-graph/src/rebase-todo.ts +119 -0
  197. package/packages/ext-git-graph/src/rebase-view.ts +483 -0
  198. package/packages/ext-git-graph/src/reflog-parser.test.ts +93 -0
  199. package/packages/ext-git-graph/src/reflog-parser.ts +86 -0
  200. package/packages/ext-git-graph/src/reflog-view.ts +375 -0
  201. package/packages/ext-git-graph/src/register-view-command.ts +47 -0
  202. package/packages/ext-git-graph/src/submodule-parser.test.ts +79 -0
  203. package/packages/ext-git-graph/src/submodule-parser.ts +77 -0
  204. package/packages/ext-git-graph/src/types.ts +10 -1
  205. package/packages/ext-git-graph/src/webview-html.ts +438 -3
  206. package/packages/ext-git-graph/src/webview-shell.ts +236 -0
  207. package/src/providers/claude-agent-sdk.ts +7 -0
  208. package/src/providers/codex-app-server/codex-provider.ts +89 -1
  209. package/src/server/index.ts +1 -1
  210. package/src/server/routes/accounts.ts +25 -1
  211. package/src/server/routes/chat.ts +29 -1
  212. package/src/server/routes/codex-accounts.ts +41 -1
  213. package/src/server/routes/git.ts +97 -0
  214. package/src/server/routes/settings.ts +1 -0
  215. package/src/server/routes/teams.ts +14 -3
  216. package/src/services/account-selector.service.ts +125 -20
  217. package/src/services/account.service.ts +176 -54
  218. package/src/services/autostart-generator.ts +12 -1
  219. package/src/services/codex-account.service.ts +87 -13
  220. package/src/services/db.service.ts +58 -3
  221. package/src/services/extension.service.ts +55 -5
  222. package/src/services/git-blame/blame-porcelain.ts +89 -0
  223. package/src/services/git-blame/git-blame.service.ts +90 -0
  224. package/src/services/git-hunks/git-hunks.service.ts +264 -0
  225. package/src/services/git-hunks/unified-diff.ts +359 -0
  226. package/src/services/picked-account-binding.ts +57 -0
  227. package/src/services/team-member-activity/member-transcript-tail.ts +64 -0
  228. package/src/shared/blame.ts +79 -0
  229. package/src/web/components/chat/chat-history-bar.tsx +35 -6
  230. package/src/web/components/chat/chat-tab.tsx +120 -3
  231. package/src/web/components/chat/codex-usage-panel.tsx +148 -14
  232. package/src/web/components/chat/team-member-window-content.tsx +8 -39
  233. package/src/web/components/chat/usage-badge.tsx +176 -52
  234. package/src/web/components/editor/code-editor.tsx +33 -1
  235. package/src/web/components/editor/diff-viewer.tsx +83 -8
  236. package/src/web/components/editor/editor-toolbar.tsx +25 -1
  237. package/src/web/components/git/git-status-panel.tsx +46 -0
  238. package/src/web/components/git/hunk-selection.ts +132 -0
  239. package/src/web/components/git/hunk-stage-dialog.tsx +419 -0
  240. package/src/web/components/settings/accounts/account-bucket-row.tsx +19 -3
  241. package/src/web/components/settings/accounts/account-card.tsx +153 -33
  242. package/src/web/components/settings/accounts/account-hint.tsx +33 -0
  243. package/src/web/components/settings/accounts/account-usage-format.ts +26 -0
  244. package/src/web/components/settings/accounts/codex-accounts-section.tsx +24 -9
  245. package/src/web/components/settings/accounts/codex-usage-rows.tsx +2 -2
  246. package/src/web/components/settings/accounts/use-accounts-data.ts +32 -2
  247. package/src/web/components/settings/accounts/use-codex-accounts.ts +24 -2
  248. package/src/web/hooks/use-chat.ts +27 -0
  249. package/src/web/hooks/use-inline-blame.ts +175 -0
  250. package/src/web/hooks/use-member-transcript-tail.ts +95 -0
  251. package/src/web/hooks/use-usage.ts +3 -3
  252. package/src/web/lib/api-settings.ts +24 -0
  253. package/src/web/stores/settings-store.ts +12 -0
  254. package/dist/web/assets/accounts-settings-section-C1YP1iCb.js +0 -1
  255. package/dist/web/assets/ai-settings-section-BJPgHUqk.js +0 -1
  256. package/dist/web/assets/api-client-BogqsFna.js +0 -1
  257. package/dist/web/assets/api-settings-BVfemzZW.js +0 -1
  258. package/dist/web/assets/architecture-PBZL5I3N-BZBxtErN.js +0 -1
  259. package/dist/web/assets/chat-tab-Bn4vZVZJ.js +0 -15
  260. package/dist/web/assets/code-editor-DN5GJXT3.js +0 -7
  261. package/dist/web/assets/diff-viewer-DxzD_YSO.js +0 -4
  262. package/dist/web/assets/explorer-window-content-DixZaLLP.js +0 -1
  263. package/dist/web/assets/gitGraph-HDMCJU4V-BHxJbXfV.js +0 -1
  264. package/dist/web/assets/group-chat-tab-D-HXdnoU.js +0 -1
  265. package/dist/web/assets/index-DdMq4zqb.js +0 -52
  266. package/dist/web/assets/index-N-pnuwFP.css +0 -2
  267. package/dist/web/assets/info-3K5VOQVL-DI4p3vbH.js +0 -1
  268. package/dist/web/assets/keybindings-store-DQkz4a35.js +0 -1
  269. package/dist/web/assets/markdown-renderer-C35QMvZp.js +0 -1
  270. package/dist/web/assets/mobile-explorer-sheet-ZHfT5IN3.js +0 -1
  271. package/dist/web/assets/notification-store-J1yP_Ebb.js +0 -1
  272. package/dist/web/assets/packet-RMMSAZCW-YNQWTi_-.js +0 -1
  273. package/dist/web/assets/pie-UPGHQEXC-E3Wiw76n.js +0 -1
  274. package/dist/web/assets/radar-KQ55EAFF-BPQJUKON.js +0 -1
  275. package/dist/web/assets/remote-desktop-mobile-sheet-DhcAyXE5.js +0 -2
  276. package/dist/web/assets/schedules-settings-section-BFzMEPTd.js +0 -1
  277. package/dist/web/assets/settings-store-DWUx3865.js +0 -2
  278. package/dist/web/assets/settings-tab-DVV26vPK.js +0 -1
  279. package/dist/web/assets/settings-window-content-z64J3tfm.js +0 -1
  280. package/dist/web/assets/system-monitor-tab-jnPQtmvK.js +0 -1
  281. package/dist/web/assets/team-member-sheet-8FDCVZMG.js +0 -2
  282. package/dist/web/assets/team-member-window-content-0JRiWRdG.js +0 -1
  283. package/dist/web/assets/tool-cards-DuTlfeWN.js +0 -9
  284. package/dist/web/assets/treemap-KZPCXAKY-C2CvKBQR.js +0 -1
  285. package/dist/web/assets/use-accounts-data--pdg01TI.js +0 -1
  286. package/dist/web/assets/ws-auth-ZSZkAT6p.js +0 -1
  287. /package/dist/web/assets/{abap-Cq9nYQyd.js → abap-D-o-bvtI.js} +0 -0
  288. /package/dist/web/assets/{actionscript-3-DL8rUIy0.js → actionscript-3-D2tIzAm8.js} +0 -0
  289. /package/dist/web/assets/{ada-BY8TLuhY.js → ada-DxatBcxS.js} +0 -0
  290. /package/dist/web/assets/{andromeeda-CyVfHsS0.js → andromeeda-D0LK9YJ3.js} +0 -0
  291. /package/dist/web/assets/{apache-DTQUy73x.js → apache-B7uMPNiW.js} +0 -0
  292. /package/dist/web/assets/{apex-CiSZngrZ.js → apex-B7GiXrAr.js} +0 -0
  293. /package/dist/web/assets/{api-client-oY1tC3tM.js → api-client-CEYCBt_0.js} +0 -0
  294. /package/dist/web/assets/{applescript-CzuRDd3h.js → applescript-D_SIFkKe.js} +0 -0
  295. /package/dist/web/assets/{apply-theme-r8tKDrCR.js → apply-theme-BVXAUYoN.js} +0 -0
  296. /package/dist/web/assets/{ara-CSFV93kR.js → ara-C3iECgdg.js} +0 -0
  297. /package/dist/web/assets/{asciidoc-hOQNnXhz.js → asciidoc-gc8z_MMY.js} +0 -0
  298. /package/dist/web/assets/{asm-DdG53NGR.js → asm-27qeoPOI.js} +0 -0
  299. /package/dist/web/assets/{aurora-x-DJ7ORZG6.js → aurora-x-C5J9fWe1.js} +0 -0
  300. /package/dist/web/assets/{awk-B3FFpX_J.js → awk-B7GBzF92.js} +0 -0
  301. /package/dist/web/assets/{ayu-dark-D_P1CfTe.js → ayu-dark-XlnQhuLL.js} +0 -0
  302. /package/dist/web/assets/{ayu-light-Cz3YLUqH.js → ayu-light-DKLLilkU.js} +0 -0
  303. /package/dist/web/assets/{ayu-mirage-JcMq5tgJ.js → ayu-mirage-Dv-XOprJ.js} +0 -0
  304. /package/dist/web/assets/{ballerina-7Hs4Rfpk.js → ballerina-DACRT-sT.js} +0 -0
  305. /package/dist/web/assets/{bat-COgQdnFA.js → bat-BlQCq2XE.js} +0 -0
  306. /package/dist/web/assets/{beancount-BJ3CutBG.js → beancount-DYDztRI0.js} +0 -0
  307. /package/dist/web/assets/{berry-D7so2Cui.js → berry-BE5YKqvx.js} +0 -0
  308. /package/dist/web/assets/{bibtex-Ct3acHa1.js → bibtex-CAm7mgEm.js} +0 -0
  309. /package/dist/web/assets/{bicep-jXDwCQcm.js → bicep-BKgAbfVa.js} +0 -0
  310. /package/dist/web/assets/{bird2-CjLD2cna.js → bird2-yrBNbW1G.js} +0 -0
  311. /package/dist/web/assets/{c-CdgZojnL.js → c-txZFr4RM.js} +0 -0
  312. /package/dist/web/assets/{c3-DtpZYego.js → c3-D_DrzBUd.js} +0 -0
  313. /package/dist/web/assets/{cadence-CPLkixoh.js → cadence-CUFCEgG9.js} +0 -0
  314. /package/dist/web/assets/{can-open-in-ppm-BntPywsy.js → can-open-in-ppm-_yqa69dV.js} +0 -0
  315. /package/dist/web/assets/{catppuccin-frappe-Xt0_qJa9.js → catppuccin-frappe-Dn32MuhA.js} +0 -0
  316. /package/dist/web/assets/{catppuccin-latte-CJnbLec5.js → catppuccin-latte-Dewo7yDf.js} +0 -0
  317. /package/dist/web/assets/{catppuccin-macchiato-BPHP1wYB.js → catppuccin-macchiato-D8WOWZeo.js} +0 -0
  318. /package/dist/web/assets/{catppuccin-mocha-ssWJodGc.js → catppuccin-mocha-b0md48XM.js} +0 -0
  319. /package/dist/web/assets/{clarity-DB0408F6.js → clarity-Ct3UqLBj.js} +0 -0
  320. /package/dist/web/assets/{clojure-dpRPlAO4.js → clojure-CwP5aPEo.js} +0 -0
  321. /package/dist/web/assets/{cmake-r2VkeX9y.js → cmake-D5RF49e5.js} +0 -0
  322. /package/dist/web/assets/{codeowners-v5nQqHiB.js → codeowners-Cl5897L_.js} +0 -0
  323. /package/dist/web/assets/{codeql-BSSEhKRR.js → codeql-BKh1RCg0.js} +0 -0
  324. /package/dist/web/assets/{common-lisp-BXb2MMMA.js → common-lisp-BhHuD6t0.js} +0 -0
  325. /package/dist/web/assets/{coq-BjBNi73X.js → coq-Dco3qwD8.js} +0 -0
  326. /package/dist/web/assets/{csharp-CdPjZRbV.js → csharp-Dpjw9ZA9.js} +0 -0
  327. /package/dist/web/assets/{css-BuxbQOHL.js → css-CPe4cabH.js} +0 -0
  328. /package/dist/web/assets/{csv-Dj-eoZwH.js → csv-BAcTN8Kt.js} +0 -0
  329. /package/dist/web/assets/{csv-parser-CBbALsFU.js → csv-parser-DbxGKdMG.js} +0 -0
  330. /package/dist/web/assets/{cue-Dz73VksN.js → cue-Cr6y60TA.js} +0 -0
  331. /package/dist/web/assets/{cypher-CkVkDywZ.js → cypher-DWtqXXFP.js} +0 -0
  332. /package/dist/web/assets/{d-oU51Pbpf.js → d-BASiTZk4.js} +0 -0
  333. /package/dist/web/assets/{dark-plus-DcwvjjfO.js → dark-plus-56kmnrcl.js} +0 -0
  334. /package/dist/web/assets/{dart-DGvu8mcX.js → dart-C5mZnjoE.js} +0 -0
  335. /package/dist/web/assets/{data-grid-types-B6kUrF-M.js → data-grid-types-DeY60CLU.js} +0 -0
  336. /package/dist/web/assets/{dax-BmbjKQ90.js → dax-B4I2e7d8.js} +0 -0
  337. /package/dist/web/assets/{desktop-IRBSiFfh.js → desktop-DekGg0BT.js} +0 -0
  338. /package/dist/web/assets/{diff-Bdik2JR8.js → diff-CWnJBd73.js} +0 -0
  339. /package/dist/web/assets/{dist-Bv4zQpS1.js → dist-B0J2eYBz.js} +0 -0
  340. /package/dist/web/assets/{dist-C8YPBIOb.js → dist-BKOM_AoT.js} +0 -0
  341. /package/dist/web/assets/{docker-Bgdl0H8I.js → docker-DevchDxK.js} +0 -0
  342. /package/dist/web/assets/{dotenv-COe5NdnA.js → dotenv-DCvtdaGJ.js} +0 -0
  343. /package/dist/web/assets/{dracula-DjURaSAa.js → dracula-8U6Vkk3l.js} +0 -0
  344. /package/dist/web/assets/{dracula-soft-Do7d0bo-.js → dracula-soft-Bfeew5Wg.js} +0 -0
  345. /package/dist/web/assets/{dream-maker-DYwQvJIj.js → dream-maker-DDTJVuoy.js} +0 -0
  346. /package/dist/web/assets/{emacs-lisp-BXjlHyDW.js → emacs-lisp-CEHJqI4m.js} +0 -0
  347. /package/dist/web/assets/{everforest-dark-h8Q2loiX.js → everforest-dark-CHHLt7cq.js} +0 -0
  348. /package/dist/web/assets/{everforest-light-CdsJiL-9.js → everforest-light-TcTbK1sM.js} +0 -0
  349. /package/dist/web/assets/{fennel-D0CBtOvY.js → fennel-Bh4vsA1A.js} +0 -0
  350. /package/dist/web/assets/{fish-DzayfrMj.js → fish-D0T0fILG.js} +0 -0
  351. /package/dist/web/assets/{fluent-CatjkUfx.js → fluent-CgXDXdyy.js} +0 -0
  352. /package/dist/web/assets/{format-bytes-BulRSULX.js → format-bytes-Bc6SqF7M.js} +0 -0
  353. /package/dist/web/assets/{fortran-free-form-DM04ud0b.js → fortran-free-form-CUg3Xhz4.js} +0 -0
  354. /package/dist/web/assets/{gdscript-BLN5iZwf.js → gdscript-Cx056p_k.js} +0 -0
  355. /package/dist/web/assets/{gdshader-BK-1iZQs.js → gdshader-Dj1qP4I5.js} +0 -0
  356. /package/dist/web/assets/{genie-BGPOFWDN.js → genie-SBt15wn7.js} +0 -0
  357. /package/dist/web/assets/{gherkin-CdVOJ_JY.js → gherkin-bTJiHIrB.js} +0 -0
  358. /package/dist/web/assets/{github-dark-B_xW8TaY.js → github-dark-BOPhyugs.js} +0 -0
  359. /package/dist/web/assets/{github-dark-default-h_iKq7CX.js → github-dark-default-Cktqe6NF.js} +0 -0
  360. /package/dist/web/assets/{github-dark-dimmed-nKDYE62T.js → github-dark-dimmed-CeWfII_B.js} +0 -0
  361. /package/dist/web/assets/{github-dark-high-contrast-l8I771QT.js → github-dark-high-contrast-CTx8LpdV.js} +0 -0
  362. /package/dist/web/assets/{github-light-DNhjkg8Z.js → github-light-DVsO5Un1.js} +0 -0
  363. /package/dist/web/assets/{github-light-default-DQ06uS3g.js → github-light-default-BiyPxicr.js} +0 -0
  364. /package/dist/web/assets/{github-light-high-contrast-qc2sZCVN.js → github-light-high-contrast-BPlnke0a.js} +0 -0
  365. /package/dist/web/assets/{gleam-DPPatkNH.js → gleam-CWSxvD0C.js} +0 -0
  366. /package/dist/web/assets/{gn-BnzGQTy5.js → gn-D7NUVJuv.js} +0 -0
  367. /package/dist/web/assets/{gnuplot-Ct1leoo3.js → gnuplot-c5uXmJKc.js} +0 -0
  368. /package/dist/web/assets/{go-qysCdbrn.js → go-CRsHi4Cw.js} +0 -0
  369. /package/dist/web/assets/{groovy-BkWIdrRQ.js → groovy-DpV0RA5r.js} +0 -0
  370. /package/dist/web/assets/{gruvbox-dark-hard-L6Iiybbl.js → gruvbox-dark-hard-DD9fguUN.js} +0 -0
  371. /package/dist/web/assets/{gruvbox-dark-medium-DbD3yl0b.js → gruvbox-dark-medium-BvcwpYJ-.js} +0 -0
  372. /package/dist/web/assets/{gruvbox-dark-soft-Ban2cHK3.js → gruvbox-dark-soft-48dCxX9M.js} +0 -0
  373. /package/dist/web/assets/{gruvbox-light-hard-CK_SjS3e.js → gruvbox-light-hard-CjJ994Ip.js} +0 -0
  374. /package/dist/web/assets/{gruvbox-light-medium-Bjgvhc2w.js → gruvbox-light-medium-DQJQZ_rV.js} +0 -0
  375. /package/dist/web/assets/{gruvbox-light-soft-EWnyYGUu.js → gruvbox-light-soft-AqsC9mKw.js} +0 -0
  376. /package/dist/web/assets/{haskell-rT1N9nYr.js → haskell-B5V7yvmh.js} +0 -0
  377. /package/dist/web/assets/{haxe-Bbc91axo.js → haxe-LWTKfPKr.js} +0 -0
  378. /package/dist/web/assets/{hcl-D-3qJA4v.js → hcl-QmNZdAtI.js} +0 -0
  379. /package/dist/web/assets/{hjson-DWtewcyQ.js → hjson-CboJsAzK.js} +0 -0
  380. /package/dist/web/assets/{hlsl-C7t6hCrO.js → hlsl-Bd-DO_WL.js} +0 -0
  381. /package/dist/web/assets/{horizon-zJAGUQ3j.js → horizon-CU8Bi_ss.js} +0 -0
  382. /package/dist/web/assets/{horizon-bright-CRNyrJy8.js → horizon-bright-iSQ3_3jP.js} +0 -0
  383. /package/dist/web/assets/{houston-BFKa4W1-.js → houston-CTXv3Puz.js} +0 -0
  384. /package/dist/web/assets/{hy-W1hNjMBM.js → hy-Cd4hTidD.js} +0 -0
  385. /package/dist/web/assets/{image-gallery-BycaVWOu.js → image-gallery-J8h8IY0c.js} +0 -0
  386. /package/dist/web/assets/{imba-CPphaV-V.js → imba-BipCHEY2.js} +0 -0
  387. /package/dist/web/assets/{ini-CayaZ4vW.js → ini-Dd1KkMrB.js} +0 -0
  388. /package/dist/web/assets/{java-BPAE_9Ej.js → java-rGr0OQD8.js} +0 -0
  389. /package/dist/web/assets/{javascript-C5SKIVqe.js → javascript-DHhCH2TN.js} +0 -0
  390. /package/dist/web/assets/{json-C-0EUYmu.js → json-CMMLBCUf.js} +0 -0
  391. /package/dist/web/assets/{json5-BqVetEZL.js → json5-mPOwTOsB.js} +0 -0
  392. /package/dist/web/assets/{jsonc-DnjIzkUB.js → jsonc-Bie0E6D3.js} +0 -0
  393. /package/dist/web/assets/{jsonl-rbV-3EqO.js → jsonl-CpqHmtC1.js} +0 -0
  394. /package/dist/web/assets/{jsonnet-9hvXw4qr.js → jsonnet-D21Ms51e.js} +0 -0
  395. /package/dist/web/assets/{jssm-1ifXyIhu.js → jssm-BXnl1nur.js} +0 -0
  396. /package/dist/web/assets/{jsx-hPumywTY.js → jsx-Chnii_vB.js} +0 -0
  397. /package/dist/web/assets/{kanagawa-dragon-BCPjmoMO.js → kanagawa-dragon-DhxR0UjL.js} +0 -0
  398. /package/dist/web/assets/{kanagawa-lotus-DN2VNjy7.js → kanagawa-lotus-fupRg5wp.js} +0 -0
  399. /package/dist/web/assets/{kanagawa-wave-B8RZEsgc.js → kanagawa-wave-DSWbRS9M.js} +0 -0
  400. /package/dist/web/assets/{kdl-CkvjWQIa.js → kdl-DirGHqUy.js} +0 -0
  401. /package/dist/web/assets/{kotlin-D8cnRi5o.js → kotlin-DkhUVMDC.js} +0 -0
  402. /package/dist/web/assets/{kusto-CmeeBEJG.js → kusto-DU7OpovF.js} +0 -0
  403. /package/dist/web/assets/{laserwave--rtV8Mv9.js → laserwave-iLKb1ZCT.js} +0 -0
  404. /package/dist/web/assets/{lean-CS-Pyi42.js → lean-Cuvh_QAP.js} +0 -0
  405. /package/dist/web/assets/{less-Ddi_7qGm.js → less-B5tQZOdI.js} +0 -0
  406. /package/dist/web/assets/{lib-DIrxSyLb.js → lib-el9rA30D.js} +0 -0
  407. /package/dist/web/assets/{libesm-CYLrAeW3.js → libesm-CdttTIAd.js} +0 -0
  408. /package/dist/web/assets/{light-plus-CrEjpkkX.js → light-plus-DiHU2KL5.js} +0 -0
  409. /package/dist/web/assets/{llvm-Cm7ZXmAO.js → llvm-sCBTKCKN.js} +0 -0
  410. /package/dist/web/assets/{log-lW2sYxtp.js → log-DtyR34Ie.js} +0 -0
  411. /package/dist/web/assets/{logo-B-PiRb53.js → logo-CP91aQyG.js} +0 -0
  412. /package/dist/web/assets/{luau-8St0pC-R.js → luau-nfGo2ulP.js} +0 -0
  413. /package/dist/web/assets/{make-DbNdhH54.js → make-XbDn9GHe.js} +0 -0
  414. /package/dist/web/assets/{markdown-CYocYSGd.js → markdown-BB1_3xLr.js} +0 -0
  415. /package/dist/web/assets/{material-theme-CVBF1Cbi.js → material-theme-CIx_sxAy.js} +0 -0
  416. /package/dist/web/assets/{material-theme-darker-HFrlNZD8.js → material-theme-darker-DsQeueDD.js} +0 -0
  417. /package/dist/web/assets/{material-theme-lighter-BM-uz2ft.js → material-theme-lighter-x_lMi74j.js} +0 -0
  418. /package/dist/web/assets/{material-theme-ocean-PbvUez8m.js → material-theme-ocean-Bkgh25P8.js} +0 -0
  419. /package/dist/web/assets/{material-theme-palenight-B22Ck6qd.js → material-theme-palenight-CoOjdbti.js} +0 -0
  420. /package/dist/web/assets/{matlab-GFFNzucw.js → matlab-D6xZas_8.js} +0 -0
  421. /package/dist/web/assets/{mdx-BVnJzMDx.js → mdx-Cl5_YNoz.js} +0 -0
  422. /package/dist/web/assets/{mermaid-BlCmSTCM.js → mermaid-8Eow4jz_.js} +0 -0
  423. /package/dist/web/assets/{min-dark-B0PwlAfC.js → min-dark-D4DhjgRE.js} +0 -0
  424. /package/dist/web/assets/{min-light-C_H2ABKu.js → min-light-DzAckd0t.js} +0 -0
  425. /package/dist/web/assets/{mipsasm-C3rf2fo6.js → mipsasm-zI_zu0tj.js} +0 -0
  426. /package/dist/web/assets/{mojo-CDRuzM3o.js → mojo-DQnGGPHf.js} +0 -0
  427. /package/dist/web/assets/{monokai-KiebNy_Y.js → monokai-CrFoD2VD.js} +0 -0
  428. /package/dist/web/assets/{moonbit-CdVUHoWl.js → moonbit-DdphIGs6.js} +0 -0
  429. /package/dist/web/assets/{move-Dq9iKZRY.js → move-BUlkn0xW.js} +0 -0
  430. /package/dist/web/assets/{narrat-7y5L5sGM.js → narrat-CbOBdtCn.js} +0 -0
  431. /package/dist/web/assets/{nextflow-groovy-Cwcbkcrx.js → nextflow-groovy-CeVLUTuQ.js} +0 -0
  432. /package/dist/web/assets/{night-owl-TBgLPzj4.js → night-owl-Bm4LhUR1.js} +0 -0
  433. /package/dist/web/assets/{night-owl-light-Dehb9My2.js → night-owl-light-DtcBiMEf.js} +0 -0
  434. /package/dist/web/assets/{nix-BKj-gzoX.js → nix-DrdwQ70g.js} +0 -0
  435. /package/dist/web/assets/{nord-BF_r8PeX.js → nord-B0Head1v.js} +0 -0
  436. /package/dist/web/assets/{nushell-CeAjk9_E.js → nushell-CmUdltKn.js} +0 -0
  437. /package/dist/web/assets/{objective-c-Xl1OMcDp.js → objective-c-BGDR33XN.js} +0 -0
  438. /package/dist/web/assets/{objective-cpp-C4ZgzrRq.js → objective-cpp-Buc1Zhd0.js} +0 -0
  439. /package/dist/web/assets/{ocaml-CGj8IYTq.js → ocaml-xdzl9rRD.js} +0 -0
  440. /package/dist/web/assets/{odin-C4veqvW2.js → odin-DiUFngnd.js} +0 -0
  441. /package/dist/web/assets/{one-dark-pro-gAcWejsV.js → one-dark-pro-BURxmIp3.js} +0 -0
  442. /package/dist/web/assets/{one-light-B7E-UUXy.js → one-light-BMRMInAj.js} +0 -0
  443. /package/dist/web/assets/{openscad-C-wN9BEv.js → openscad-DAgLA5J3.js} +0 -0
  444. /package/dist/web/assets/{pascal-C8WBtxMs.js → pascal-CoDZxcRB.js} +0 -0
  445. /package/dist/web/assets/{pkl-BBfF4G2A.js → pkl-DzKM6BuM.js} +0 -0
  446. /package/dist/web/assets/{plastic-DFOAb89P.js → plastic-vF15LmNS.js} +0 -0
  447. /package/dist/web/assets/{plsql-BS2CEMMV.js → plsql-C1v07teA.js} +0 -0
  448. /package/dist/web/assets/{po-BKJDtPmy.js → po-CLLC8BuA.js} +0 -0
  449. /package/dist/web/assets/{poimandres-Cg3hL13e.js → poimandres-Uq0xysxM.js} +0 -0
  450. /package/dist/web/assets/{polar-B9ebiXUU.js → polar-2-luY1Pc.js} +0 -0
  451. /package/dist/web/assets/{portal-container-context-a399Hd9F.js → portal-container-context-DKymYOY-.js} +0 -0
  452. /package/dist/web/assets/{postcss-B5REwNY_.js → postcss-lbFhe0rz.js} +0 -0
  453. /package/dist/web/assets/{powerquery-stc0Gzkf.js → powerquery-RL8O9Wie.js} +0 -0
  454. /package/dist/web/assets/{powershell-jgd0ahJN.js → powershell-upFWhb-b.js} +0 -0
  455. /package/dist/web/assets/{prisma-CWuZjRhI.js → prisma-DBtYaWFk.js} +0 -0
  456. /package/dist/web/assets/{prolog-D5zNFE63.js → prolog-D8jSMykJ.js} +0 -0
  457. /package/dist/web/assets/{proto-B-6RrU7n.js → proto-BM4eadF7.js} +0 -0
  458. /package/dist/web/assets/{puppet-DONP8TDR.js → puppet-BQDQ3Snu.js} +0 -0
  459. /package/dist/web/assets/{purescript-DDJITf-A.js → purescript-Cj2aTX4s.js} +0 -0
  460. /package/dist/web/assets/{python-bmWy9j1-.js → python-BYpqq6u4.js} +0 -0
  461. /package/dist/web/assets/{qmldir-CKDwMt7X.js → qmldir-4uiTcwAu.js} +0 -0
  462. /package/dist/web/assets/{qss-DptQQzBn.js → qss-D5xB-Mqo.js} +0 -0
  463. /package/dist/web/assets/{r-BorKpJ8r.js → r-P6Ujy8rf.js} +0 -0
  464. /package/dist/web/assets/{racket-BaHpYVsZ.js → racket-COKgCFuM.js} +0 -0
  465. /package/dist/web/assets/{raku-DFJIV4k_.js → raku-z14Q9i7K.js} +0 -0
  466. /package/dist/web/assets/{react-X4jUntEf.js → react-D1Yg256j.js} +0 -0
  467. /package/dist/web/assets/{red-70oJGrkb.js → red-ObAvgvQ5.js} +0 -0
  468. /package/dist/web/assets/{reg-C4g235Dv.js → reg-Qv4f0JFA.js} +0 -0
  469. /package/dist/web/assets/{regexp-Cw1UVmti.js → regexp-CEOVGIzy.js} +0 -0
  470. /package/dist/web/assets/{rel-DeLhIz5L.js → rel-cWOyTUwd.js} +0 -0
  471. /package/dist/web/assets/{resolve-theme-b_yGlUFQ.js → resolve-theme-CMp5xxCW.js} +0 -0
  472. /package/dist/web/assets/{riscv-ChnTiBRK.js → riscv-BZDwx-lv.js} +0 -0
  473. /package/dist/web/assets/{ron-C5IWeqDn.js → ron-BpjosPS0.js} +0 -0
  474. /package/dist/web/assets/{rose-pine-DCR0ohYW.js → rose-pine-DhxfJWcm.js} +0 -0
  475. /package/dist/web/assets/{rose-pine-dawn-DvGZs1PR.js → rose-pine-dawn-BbGt9Wy_.js} +0 -0
  476. /package/dist/web/assets/{rose-pine-moon-BWACHjeS.js → rose-pine-moon-dj4Zxgik.js} +0 -0
  477. /package/dist/web/assets/{rosmsg-CQlIVazE.js → rosmsg-EciOaHo2.js} +0 -0
  478. /package/dist/web/assets/{rust-DGGVzWI8.js → rust-C_eH59O_.js} +0 -0
  479. /package/dist/web/assets/{sass-bj1C0rFI.js → sass-Dos3R5lL.js} +0 -0
  480. /package/dist/web/assets/{scala-MU1tLKDi.js → scala-8lVKsTvf.js} +0 -0
  481. /package/dist/web/assets/{scheme-CeGXtv7t.js → scheme-Bd3VdaZj.js} +0 -0
  482. /package/dist/web/assets/{sdbl-D0HLSGKp.js → sdbl-C4Yrjlgh.js} +0 -0
  483. /package/dist/web/assets/{shellscript-DkYiDvh1.js → shellscript-OFZbPKZH.js} +0 -0
  484. /package/dist/web/assets/{slack-dark-YqeHiGWH.js → slack-dark-aL6vlxZs.js} +0 -0
  485. /package/dist/web/assets/{slack-ochin-9Oe0DljJ.js → slack-ochin-BKt1E7sL.js} +0 -0
  486. /package/dist/web/assets/{smalltalk-CaaxedR7.js → smalltalk-D6qVBL1U.js} +0 -0
  487. /package/dist/web/assets/{snazzy-light-C8s2FHNC.js → snazzy-light-BrWerT0t.js} +0 -0
  488. /package/dist/web/assets/{solarized-dark-0ryY6oN3.js → solarized-dark-CzxTJgVQ.js} +0 -0
  489. /package/dist/web/assets/{solarized-light-bltgZeNh.js → solarized-light-BecaDAnG.js} +0 -0
  490. /package/dist/web/assets/{solidity-DOf5HmLZ.js → solidity-C9t7pZ84.js} +0 -0
  491. /package/dist/web/assets/{splunk-D1u4WHDW.js → splunk-CtxfFKtF.js} +0 -0
  492. /package/dist/web/assets/{sql-G8uQZljX.js → sql-7FE_Duz0.js} +0 -0
  493. /package/dist/web/assets/{ssh-config-rbXvly7Q.js → ssh-config-3Fr37ACC.js} +0 -0
  494. /package/dist/web/assets/{stylus-Cii1iADy.js → stylus-BP4mE1sO.js} +0 -0
  495. /package/dist/web/assets/{swift-DpIgonN4.js → swift-0uqTFouD.js} +0 -0
  496. /package/dist/web/assets/{synthwave-84-DjGLzU2b.js → synthwave-84-DQaNM3DI.js} +0 -0
  497. /package/dist/web/assets/{system-verilog-_Z0M0Hs1.js → system-verilog-DUIVrZHZ.js} +0 -0
  498. /package/dist/web/assets/{systemd-BhyDCh9P.js → systemd-CtNo_WIh.js} +0 -0
  499. /package/dist/web/assets/{talonscript-CNchgCRD.js → talonscript-B0HXaCVT.js} +0 -0
  500. /package/dist/web/assets/{tasl-m--W7Pyr.js → tasl-Cb7RAl11.js} +0 -0
  501. /package/dist/web/assets/{tcl-gY-M_2BC.js → tcl-B79aC6l5.js} +0 -0
  502. /package/dist/web/assets/{terraform-CB6CzMwo.js → terraform-75jJDjpW.js} +0 -0
  503. /package/dist/web/assets/{tokyo-night-COh9oRYi.js → tokyo-night-Cz9Uh9qb.js} +0 -0
  504. /package/dist/web/assets/{toml-Bg2bsY-v.js → toml-CD6y9A-z.js} +0 -0
  505. /package/dist/web/assets/{tsv-DceGDiJC.js → tsv-CXJMbBrb.js} +0 -0
  506. /package/dist/web/assets/{tsx-EccDYa7i.js → tsx-BuYN0I2t.js} +0 -0
  507. /package/dist/web/assets/{turtle-C_l2JhvX.js → turtle-DWH-Rjse.js} +0 -0
  508. /package/dist/web/assets/{typescript-C1ytmMcr.js → typescript-BPd-hsrR.js} +0 -0
  509. /package/dist/web/assets/{typespec-De2ztzG5.js → typespec-B0wvVykx.js} +0 -0
  510. /package/dist/web/assets/{typst-DNcS7gSr.js → typst-DWG2c48-.js} +0 -0
  511. /package/dist/web/assets/{use-is-mobile-CYW3FJFE.js → use-is-mobile-D1weanbj.js} +0 -0
  512. /package/dist/web/assets/{use-visual-viewport-D9O48HQt.js → use-visual-viewport-Bfl3Bxxb.js} +0 -0
  513. /package/dist/web/assets/{utils-C9OjCrou.js → utils-IrnQujwR.js} +0 -0
  514. /package/dist/web/assets/{v-DSMUsdMO.js → v-Ch6E4Egd.js} +0 -0
  515. /package/dist/web/assets/{vala-BEazLpkO.js → vala-CGVKwbPx.js} +0 -0
  516. /package/dist/web/assets/{vb-CV9pEJzW.js → vb-BIEbSxyT.js} +0 -0
  517. /package/dist/web/assets/{vendor-xterm-cuGQmUjN.js → vendor-xterm-YQlzIWv2.js} +0 -0
  518. /package/dist/web/assets/{verilog-DhXkLVMk.js → verilog-A-3pYPad.js} +0 -0
  519. /package/dist/web/assets/{vesper-n4IltYq-.js → vesper-CK1naZAV.js} +0 -0
  520. /package/dist/web/assets/{vhdl-CePjFbvs.js → vhdl-CVawmgMg.js} +0 -0
  521. /package/dist/web/assets/{viml-ChndFsm5.js → viml-CiWjaqBY.js} +0 -0
  522. /package/dist/web/assets/{vitesse-black-BytVdvhC.js → vitesse-black-PYXW4-BO.js} +0 -0
  523. /package/dist/web/assets/{vitesse-dark-83Wech0N.js → vitesse-dark-BU5s4AuG.js} +0 -0
  524. /package/dist/web/assets/{vitesse-light-Xg4wbeMO.js → vitesse-light-DgkIT-N7.js} +0 -0
  525. /package/dist/web/assets/{vyper-eW1NC3FG.js → vyper-D8cRDPp3.js} +0 -0
  526. /package/dist/web/assets/{wasm-BucxKwBZ.js → wasm-C02wlRbP.js} +0 -0
  527. /package/dist/web/assets/{wasm-Bhucqu1z.js → wasm-ClFJgzmT.js} +0 -0
  528. /package/dist/web/assets/{wenyan-BJFBuXuH.js → wenyan-B8plxIr8.js} +0 -0
  529. /package/dist/web/assets/{wgsl-6z4FUyMK.js → wgsl-CVujtm3V.js} +0 -0
  530. /package/dist/web/assets/{wikitext-BoDU6teJ.js → wikitext-CmcG9B69.js} +0 -0
  531. /package/dist/web/assets/{wit-DerMPpgt.js → wit--gl2Jium.js} +0 -0
  532. /package/dist/web/assets/{wolfram-D78v0Ap-.js → wolfram-6T_1D-NS.js} +0 -0
  533. /package/dist/web/assets/{x-YDu4m2Iq.js → x-CxoBA0po.js} +0 -0
  534. /package/dist/web/assets/{yaml-C4TIgIw4.js → yaml-CIVV9uA1.js} +0 -0
  535. /package/dist/web/assets/{zenscript-BydW-dLC.js → zenscript-CoT4yNdA.js} +0 -0
  536. /package/dist/web/assets/{zig-b9lTqL5E.js → zig-BWs2Qo3G.js} +0 -0
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/data-grid-overlay-editor-iRrpAV0e.js","assets/rolldown-runtime-FhOqtrmT.js","assets/dist-Bv4zQpS1.js","assets/vendor-markdown-Ls5AcU91.js","assets/vendor-ui-CaeeFO0B.js","assets/data-grid-types-B6kUrF-M.js","assets/number-overlay-editor-C_eD-Bdr.js"])))=>i.map(i=>d[i]);
2
- import{o as e,t}from"./rolldown-runtime-FhOqtrmT.js";import{S as n,x as r}from"./vendor-markdown-Ls5AcU91.js";import{ft as i}from"./vendor-ui-CaeeFO0B.js";import{t as a}from"./createLucideIcon-D8pyde1A.js";import{t as o}from"./chevron-right-De-Wz5Lz.js";import{n as s,t as c}from"./sparkles-Dh-_J2Rd.js";import{t as l}from"./download-DG3_9xXy.js";import{t as u}from"./eye-gWwaF4Lg.js";import{t as d}from"./loader-circle-DPMrnLQ2.js";import{t as f}from"./save-CipGrG1k.js";import{t as p}from"./text-wrap-oiekm5SB.js";import{t as m}from"./x-YDu4m2Iq.js";import{M as h,q as g}from"./vendor-mermaid-CKKtYuTV.js";import{t as _}from"./tab-store-PZsP5ZwG.js";import{It as v,Lr as y,Mn as b,Pn as x,Qn as S,Rr as C,Wn as w,Yn as T,Zn as E,jr as D,nn as O,on as k,pr as ee,s as te,wr as ne}from"./index-DdMq4zqb.js";import{A,B as re,C as j,D as ie,E as ae,F as oe,G as M,H as se,I as N,L as ce,M as le,N as ue,O as P,P as F,R as I,S as de,T as fe,U as pe,V as me,W as he,_ as ge,a as _e,b as ve,c as L,d as ye,f as be,g as xe,h as R,i as Se,j as z,k as B,l as V,m as Ce,n as H,o as U,p as we,r as Te,s as Ee,t as W,u as De,v as Oe,w as ke,x as Ae,y as je,z as Me}from"./data-grid-types-B6kUrF-M.js";import{t as Ne}from"./dist-Bv4zQpS1.js";import{t as Pe}from"./use-monaco-theme-DOhDvEKJ.js";import{n as Fe}from"./csv-parser-CBbALsFU.js";var Ie=a(`funnel`,[[`path`,{d:`M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z`,key:`sc7q7i`}]]),Le=/[A-Za-z0-9_]/,Re=/^\$([A-Za-z_][A-Za-z0-9_]*)?\$/;function ze(e){let t=[],n=1,r=-1,i=1,a=0,o=(n,a)=>{if(r===-1)return;let o=e.slice(r,n).trim();o&&t.push({sql:o,startLine:i,endLine:a}),r=-1};for(;a<e.length;){let t=e[a];if(t===`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/data-grid-overlay-editor-CbBkhhJa.js","assets/rolldown-runtime-FhOqtrmT.js","assets/dist-B0J2eYBz.js","assets/vendor-markdown-Ls5AcU91.js","assets/vendor-ui-CaeeFO0B.js","assets/data-grid-types-DeY60CLU.js","assets/number-overlay-editor-DRjTIcPH.js"])))=>i.map(i=>d[i]);
2
+ import{o as e,t}from"./rolldown-runtime-FhOqtrmT.js";import{S as n,x as r}from"./vendor-markdown-Ls5AcU91.js";import{ft as i}from"./vendor-ui-CaeeFO0B.js";import{t as a}from"./createLucideIcon-D8pyde1A.js";import{t as o}from"./chevron-right-De-Wz5Lz.js";import{n as s,t as c}from"./sparkles-Dh-_J2Rd.js";import{t as l}from"./download-DG3_9xXy.js";import{t as u}from"./eye-gWwaF4Lg.js";import{t as d}from"./loader-circle-DPMrnLQ2.js";import{t as f}from"./save-CipGrG1k.js";import{t as p}from"./text-wrap-oiekm5SB.js";import{t as m}from"./x-CxoBA0po.js";import{M as h,q as g}from"./vendor-mermaid-CfY1-PkA.js";import{t as _}from"./tab-store-1xYJb0gM.js";import{Br as v,Dr as y,Fn as b,It as x,Ln as S,Pr as C,Qn as w,Vr as T,er as E,gr as D,nn as O,on as k,qn as ee,s as te,tr as ne}from"./index-CHQAPZIX.js";import{A,B as re,C as j,D as ie,E as ae,F as oe,G as M,H as se,I as N,L as ce,M as le,N as ue,O as P,P as F,R as I,S as de,T as fe,U as pe,V as me,W as he,_ as ge,a as _e,b as ve,c as L,d as ye,f as be,g as xe,h as R,i as Se,j as z,k as B,l as V,m as Ce,n as H,o as U,p as we,r as Te,s as Ee,t as W,u as De,v as Oe,w as ke,x as Ae,y as je,z as Me}from"./data-grid-types-DeY60CLU.js";import{t as Ne}from"./dist-B0J2eYBz.js";import{t as Pe}from"./use-monaco-theme-aa4-wjKQ.js";import{n as Fe}from"./csv-parser-DbxGKdMG.js";var Ie=a(`funnel`,[[`path`,{d:`M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z`,key:`sc7q7i`}]]),Le=/[A-Za-z0-9_]/,Re=/^\$([A-Za-z_][A-Za-z0-9_]*)?\$/;function ze(e){let t=[],n=1,r=-1,i=1,a=0,o=(n,a)=>{if(r===-1)return;let o=e.slice(r,n).trim();o&&t.push({sql:o,startLine:i,endLine:a}),r=-1};for(;a<e.length;){let t=e[a];if(t===`
3
3
  `){n++,a++;continue}if(t===` `||t===` `||t===`\r`){a++;continue}if(t===`-`&&e[a+1]===`-`){for(;a<e.length&&e[a]!==`
4
4
  `;)a++;continue}if(t===`/`&&e[a+1]===`*`){let t=1;for(a+=2;a<e.length&&t>0;){if(e[a]===`/`&&e[a+1]===`*`){t++,a+=2;continue}if(e[a]===`*`&&e[a+1]===`/`){t--,a+=2;continue}e[a]===`
5
5
  `&&n++,a++}continue}if(r===-1&&(r=a,i=n),t===`;`){o(a+1,n),a++;continue}if(t===`'`||t===`"`){let r=e[a-1],i=e[a-2],o=t===`'`&&(r===`e`||r===`E`)&&!(i!==void 0&&Le.test(i));for(a++;a<e.length;){let r=e[a];if(r===`
@@ -131,11 +131,11 @@ import{o as e,t}from"./rolldown-runtime-FhOqtrmT.js";import{S as n,x as r}from".
131
131
  `?(r.push(e.slice(i,o)),i=o+1,s===`
132
132
  `&&(n.push(r),r=[])):s===`"`&&(a=t.inString);break;case t.inString:s===`"`&&(a=t.inStringPostQuote);break;case t.inStringPostQuote:s===`"`?a=t.inString:s===` `||s===`
133
133
  `?(r.push(Po(e.slice(i,o))),i=o+1,s===`
134
- `&&(n.push(r),r=[]),a=t.None):a=t.None;break}o++}return i<e.length&&r.push(Po(e.slice(i,e.length))),n.push(r),n.map(e=>e.map(e=>({rawValue:e,formatted:e,format:`string`})))}function Io(e,t,n){let r=jo(e,t),i=e=>{window.navigator.clipboard?.writeText(e)},a=(e,t)=>window.navigator.clipboard?.write===void 0?!1:(window.navigator.clipboard.write([new ClipboardItem({"text/plain":new Blob([e],{type:`text/plain`}),"text/html":new Blob([t],{type:`text/html`})})]),!0);window.navigator.clipboard?.write!==void 0||n?.clipboardData!==void 0?((e,t)=>{try{if(n===void 0||n.clipboardData===null)throw Error(`No clipboard data`);n?.clipboardData?.setData(`text/plain`,e),n?.clipboardData?.setData(`text/html`,t)}catch{a(e,t)||i(e)}})(r.textPlain,r.textHtml):i(r.textPlain),n?.preventDefault()}function Lo(e){return e!==!0}function Ro(e){return typeof e==`string`?e:`${e}px`}var zo=()=>e=>e.innerWidth,Bo=()=>e=>e.innerHeight,Vo=Ne(`div`)({name:`Wrapper`,class:`gdg-wmyidgi`,propsAsIs:!1,vars:{"wmyidgi-0":[zo()],"wmyidgi-1":[Bo()]}}),Ho=e=>{let{inWidth:t,inHeight:n,children:r,...i}=e;return G.createElement(Vo,{innerHeight:Ro(n),innerWidth:Ro(t),...i},r)},Uo=2,Wo=1300;function Go(e,t,n){let r=G.useRef(0),[i,a]=e??[0,0];G.useEffect(()=>{if(i===0&&a===0){r.current=0;return}let e=!1,o=0,s=c=>{if(!e){if(o===0)o=c;else{let e=c-o;r.current=Math.min(1,r.current+e/Wo);let s=r.current**1.618*e*Uo;t.current?.scrollBy(i*s,a*s),o=c,n?.()}window.requestAnimationFrame(s)}};return window.requestAnimationFrame(s),()=>{e=!0}},[t,i,a,n])}function Ko({rowHeight:e,headerHeight:t,groupHeaderHeight:n,theme:r,overscrollX:i,overscrollY:a,scaleToRem:o,remSize:s}){let[c,l,u,d,f,p]=G.useMemo(()=>{if(!o||s===16)return[e,t,n,r,i,a];let c=s/16,l=e,u=Me();return[typeof l==`number`?l*c:e=>Math.ceil(l(e)*c),Math.ceil(t*c),Math.ceil(n*c),{...r,headerIconSize:(r?.headerIconSize??u.headerIconSize)*c,cellHorizontalPadding:(r?.cellHorizontalPadding??u.cellHorizontalPadding)*c,cellVerticalPadding:(r?.cellVerticalPadding??u.cellVerticalPadding)*c},Math.ceil((i??0)*c),Math.ceil((a??0)*c)]},[n,t,i,a,s,e,o,r]);return{rowHeight:c,headerHeight:l,groupHeaderHeight:u,theme:d,overscrollX:f,overscrollY:p}}var qo={downFill:!1,rightFill:!1,clear:!0,closeOverlay:!0,acceptOverlayDown:!0,acceptOverlayUp:!0,acceptOverlayLeft:!0,acceptOverlayRight:!0,copy:!0,paste:!0,cut:!0,search:!1,delete:!0,activateCell:!0,scrollToSelectedCell:!0,goToFirstCell:!0,goToFirstColumn:!0,goToFirstRow:!0,goToLastCell:!0,goToLastColumn:!0,goToLastRow:!0,goToNextPage:!0,goToPreviousPage:!0,selectToFirstCell:!0,selectToFirstColumn:!0,selectToFirstRow:!0,selectToLastCell:!0,selectToLastColumn:!0,selectToLastRow:!0,selectAll:!0,selectRow:!0,selectColumn:!0,goUpCell:!0,goRightCell:!0,goDownCell:!0,goLeftCell:!0,goUpCellRetainSelection:!0,goRightCellRetainSelection:!0,goDownCellRetainSelection:!0,goLeftCellRetainSelection:!0,selectGrowUp:!0,selectGrowRight:!0,selectGrowDown:!0,selectGrowLeft:!0};function $(e,t){return e===!0?t:e===!1?``:e}function Jo(e){let t=Ua.value;return{activateCell:$(e.activateCell,` |Enter|shift+Enter`),clear:$(e.clear,`any+Escape`),closeOverlay:$(e.closeOverlay,`any+Escape`),acceptOverlayDown:$(e.acceptOverlayDown,`Enter`),acceptOverlayUp:$(e.acceptOverlayUp,`shift+Enter`),acceptOverlayLeft:$(e.acceptOverlayLeft,`shift+Tab`),acceptOverlayRight:$(e.acceptOverlayRight,`Tab`),copy:e.copy,cut:e.cut,delete:$(e.delete,t?`Backspace|Delete`:`Delete`),downFill:$(e.downFill,`primary+_68`),scrollToSelectedCell:$(e.scrollToSelectedCell,`primary+Enter`),goDownCell:$(e.goDownCell,`ArrowDown`),goDownCellRetainSelection:$(e.goDownCellRetainSelection,`alt+ArrowDown`),goLeftCell:$(e.goLeftCell,`ArrowLeft|shift+Tab`),goLeftCellRetainSelection:$(e.goLeftCellRetainSelection,`alt+ArrowLeft`),goRightCell:$(e.goRightCell,`ArrowRight|Tab`),goRightCellRetainSelection:$(e.goRightCellRetainSelection,`alt+ArrowRight`),goUpCell:$(e.goUpCell,`ArrowUp`),goUpCellRetainSelection:$(e.goUpCellRetainSelection,`alt+ArrowUp`),goToFirstCell:$(e.goToFirstCell,`primary+Home`),goToFirstColumn:$(e.goToFirstColumn,`Home|primary+ArrowLeft`),goToFirstRow:$(e.goToFirstRow,`primary+ArrowUp`),goToLastCell:$(e.goToLastCell,`primary+End`),goToLastColumn:$(e.goToLastColumn,`End|primary+ArrowRight`),goToLastRow:$(e.goToLastRow,`primary+ArrowDown`),goToNextPage:$(e.goToNextPage,`PageDown`),goToPreviousPage:$(e.goToPreviousPage,`PageUp`),paste:e.paste,rightFill:$(e.rightFill,`primary+_82`),search:$(e.search,`primary+f`),selectAll:$(e.selectAll,`primary+a`),selectColumn:$(e.selectColumn,`ctrl+ `),selectGrowDown:$(e.selectGrowDown,`shift+ArrowDown`),selectGrowLeft:$(e.selectGrowLeft,`shift+ArrowLeft`),selectGrowRight:$(e.selectGrowRight,`shift+ArrowRight`),selectGrowUp:$(e.selectGrowUp,`shift+ArrowUp`),selectRow:$(e.selectRow,`shift+ `),selectToFirstCell:$(e.selectToFirstCell,`primary+shift+Home`),selectToFirstColumn:$(e.selectToFirstColumn,`primary+shift+ArrowLeft`),selectToFirstRow:$(e.selectToFirstRow,`primary+shift+ArrowUp`),selectToLastCell:$(e.selectToLastCell,`primary+shift+End`),selectToLastColumn:$(e.selectToLastColumn,`primary+shift+ArrowRight`),selectToLastRow:$(e.selectToLastRow,`primary+shift+ArrowDown`)}}function Yo(e){let t=Wt(e);return G.useMemo(()=>{if(t===void 0)return Jo(qo);let e={...t,goToNextPage:t?.goToNextPage??t?.pageDown??qo.goToNextPage,goToPreviousPage:t?.goToPreviousPage??t?.pageUp??qo.goToPreviousPage,goToFirstCell:t?.goToFirstCell??t?.first??qo.goToFirstCell,goToLastCell:t?.goToLastCell??t?.last??qo.goToLastCell,selectToFirstCell:t?.selectToFirstCell??t?.first??qo.selectToFirstCell,selectToLastCell:t?.selectToLastCell??t?.last??qo.selectToLastCell};return Jo({...qo,...e})},[t])}var Xo=e(yr(),1),Zo=e(Cr(),1),Qo=G.lazy(async()=>await g(()=>import(`./data-grid-overlay-editor-iRrpAV0e.js`),__vite__mapDeps([0,1,2,3,4,5]))),$o=0;function es(e){return(0,Xo.default)((0,Zo.default)((0,Zo.default)(e).filter(e=>e.span!==void 0).map(e=>(0,Xa.default)((e.span?.[0]??0)+1,(e.span?.[1]??0)+1))))}function ts(e,t){return e===void 0||t===0||e.columns.length===0&&e.current===void 0?e:{current:e.current===void 0?void 0:{cell:[e.current.cell[0]+t,e.current.cell[1]],range:{...e.current.range,x:e.current.range.x+t},rangeStack:e.current.rangeStack.map(e=>({...e,x:e.x+t}))},rows:e.rows,columns:e.columns.offset(t)}}var ns={kind:H.Loading,allowOverlay:!1},rs={columns:W.empty(),rows:W.empty(),current:void 0},is=G.forwardRef((e,t)=>{let[n,r]=G.useState(rs),[i,a]=G.useState(),o=G.useRef(null),s=G.useRef(null),[c,l]=G.useState(),u=G.useRef(null),d=G.useRef(),f=typeof window>`u`?null:window,{imageEditorOverride:p,getRowThemeOverride:m,markdownDivCreateNode:h,width:g,height:_,columns:v,rows:y,getCellContent:b,onCellClicked:x,onCellActivated:S,onFillPattern:C,onFinishedEditing:w,coercePasteValue:T,drawHeader:E,drawCell:D,editorBloom:O,onHeaderClicked:k,onColumnProposeMove:ee,spanRangeBehavior:te=`default`,onGroupHeaderClicked:ne,onCellContextMenu:A,className:j,onHeaderContextMenu:ie,getCellsForSelection:ae,onGroupHeaderContextMenu:M,onGroupHeaderRenamed:se,onCellEdited:N,onCellsEdited:le,onSearchResultsChanged:ue,searchResults:P,onSearchValueChange:de,searchValue:fe,onKeyDown:pe,onKeyUp:ge,keybindings:_e,editOnType:ve=!0,onRowAppended:ye,onColumnMoved:be,validateCell:xe,highlightRegions:R,rangeSelect:z=`rect`,columnSelect:B=`multi`,rowSelect:Ce=`multi`,rangeSelectionBlending:we=`exclusive`,columnSelectionBlending:Te=`exclusive`,rowSelectionBlending:De=`exclusive`,onDelete:Oe,onDragStart:ke,onMouseMove:Ae,onPaste:je,copyHeaders:Ne=!1,freezeColumns:Pe=0,cellActivationBehavior:Fe=`second-click`,rowSelectionMode:Ie=`auto`,onHeaderMenuClick:Le,getGroupDetails:Re,onSearchClose:ze,onItemHovered:Be,onSelectionCleared:Ve,showSearch:He,onVisibleRegionChanged:Ue,gridSelection:We,onGridSelectionChange:Ge,minColumnWidth:Ke=50,maxColumnWidth:qe=500,maxColumnAutoWidth:Je,provideEditor:Ye,trailingRowOptions:Xe,freezeTrailingRows:Ze=0,allowedFillDirections:Qe=`orthogonal`,scrollOffsetX:$e,scrollOffsetY:K,verticalBorder:q,onDragOverCell:et,onDrop:tt,onColumnResize:nt,onColumnResizeEnd:rt,onColumnResizeStart:it,customRenderers:at,fillHandle:ot,drawFocusRing:st=!0,experimental:ct,fixedShadowX:lt,fixedShadowY:ut,headerIcons:dt,imageWindowLoader:ft,initialSize:pt,isDraggable:mt,onDragLeave:ht,onRowMoved:gt,overscrollX:_t,overscrollY:vt,preventDiagonalScrolling:yt,rightElement:bt,rightElementProps:xt,trapFocus:St=!1,smoothScrollX:Ct,smoothScrollY:wt,scaleToRem:Ot=!1,rowHeight:kt=34,headerHeight:At=36,groupHeaderHeight:jt=At,theme:Mt,isOutsideClick:Nt,renderers:Pt}=e,Ft=typeof e.rowMarkers==`string`?void 0:e.rowMarkers,It=Ft?.kind??e.rowMarkers??`none`,Lt=Ft?.width??e.rowMarkerWidth,Rt=Ft?.startIndex??e.rowMarkerStartIndex??1,zt=Ft?.theme??e.rowMarkerTheme,Vt=Ft?.checkboxStyle??`square`,Ut=Math.max(Ke,20),Wt=Math.max(qe,Ut),Gt=Math.max(Je??Wt,Ut),Kt=G.useMemo(()=>typeof window>`u`?{fontSize:`16px`}:window.getComputedStyle(document.documentElement),[]),{rowHeight:qt,headerHeight:Jt,groupHeaderHeight:Yt,theme:Xt,overscrollX:Zt,overscrollY:Qt}=Ko({groupHeaderHeight:jt,headerHeight:At,overscrollX:_t,overscrollY:vt,remSize:G.useMemo(()=>Number.parseFloat(Kt.fontSize),[Kt]),rowHeight:kt,scaleToRem:Ot,theme:Mt}),$t=Yo(_e),en=Lt??(y>1e4?48:y>1e3?44:y>100?36:32),tn=It!==`none`,J=tn?1:0,nn=ye!==void 0,rn=Xe?.sticky===!0,[an,on]=G.useState(!1),sn=He??an,cn=G.useCallback(()=>{ze===void 0?on(!1):ze()},[ze]),Y=G.useMemo(()=>We===void 0?void 0:ts(We,J),[We,J])??n,dn=G.useRef();dn.current===void 0&&(dn.current=new AbortController),G.useEffect(()=>()=>dn?.current.abort(),[]);let[mn,hn]=So(ae,b,J,dn.current,y),gn=G.useCallback((e,t,n)=>{if(xe===void 0)return!0;let r=[e[0]-J,e[1]];return xe?.(r,t,n)},[J,xe]),_n=G.useRef(We),vn=G.useCallback((e,t)=>{t&&(e=No(e,mn,J,te,dn.current)),Ge===void 0?r(e):(_n.current=ts(e,-J),Ge(_n.current))},[Ge,mn,J,te]),bn=Dt(nt,G.useCallback((e,t,n,r)=>{nt?.(v[n-J],t,n-J,r)},[nt,J,v])),xn=Dt(rt,G.useCallback((e,t,n,r)=>{rt?.(v[n-J],t,n-J,r)},[rt,J,v])),Sn=Dt(it,G.useCallback((e,t,n,r)=>{it?.(v[n-J],t,n-J,r)},[it,J,v])),Cn=Dt(E,G.useCallback((e,t)=>E?.({...e,columnIndex:e.columnIndex-J},t)??!1,[E,J])),wn=Dt(D,G.useCallback((e,t)=>D?.({...e,col:e.col-J},t)??!1,[D,J])),Tn=G.useCallback(e=>{if(Oe!==void 0){let t=Oe(ts(e,-J));return typeof t==`boolean`?t:ts(t,J)}return!0},[Oe,J]),[En,Dn,On]=xo(Y,vn,we,Te,De,z),kn=G.useMemo(()=>me(Me(),Xt),[Xt]),[An,jn]=G.useState([0,0,0]),Mn=G.useMemo(()=>{if(Pt===void 0)return{};let e={};for(let t of Pt)e[t.kind]=t;return e},[Pt]),Nn=G.useCallback(e=>e.kind===H.Custom?at?.find(t=>t.isMatch(e)):Mn[e.kind],[at,Mn]),{sizedColumns:Pn,nonGrowWidth:Fn}=tr(v,y,hn,An[0]-(J===0?0:en)-An[2],Ut,Gt,kn,Nn,dn.current);It!==`none`&&(Fn+=en);let In=G.useMemo(()=>Pn.some(e=>e.group!==void 0),[Pn]),Ln=In?Jt+Yt:Jt,Rn=Y.rows.length,zn=It===`none`?void 0:Rn===0?!1:Rn===y?!0:void 0,X=G.useMemo(()=>It===`none`?Pn:[{title:``,width:en,icon:void 0,hasMenu:!1,style:`normal`,themeOverride:zt,rowMarker:Vt,rowMarkerChecked:zn},...Pn],[It,Pn,en,zt,Vt,zn]),[Bn,Vn]=G.useMemo(()=>[K!==void 0&&typeof qt==`number`?Math.floor(K/qt):0,K!==void 0&&typeof qt==`number`?-(K%qt):0],[K,qt]),Hn=G.useRef({height:1,width:1,x:0,y:0}),Un=G.useMemo(()=>({x:Hn.current.x,y:Bn,width:Hn.current.width??1,height:Hn.current.height??1,ty:Vn}),[Vn,Bn]),Wn=G.useRef(!1),[Gn,Kn,qn]=Ht(Un);Hn.current=Gn;let Jn=(Gn.height??1)>1;G.useLayoutEffect(()=>{if(K!==void 0&&u.current!==null&&Jn){if(u.current.scrollTop===K)return;u.current.scrollTop=K,u.current.scrollTop!==K&&qn(),Wn.current=!0}},[K,Jn,qn]);let Yn=(Gn.width??1)>1;G.useLayoutEffect(()=>{if($e!==void 0&&u.current!==null&&Yn){if(u.current.scrollLeft===$e)return;u.current.scrollLeft=$e,u.current.scrollLeft!==$e&&qn(),Wn.current=!0}},[$e,Yn,qn]);let Xn=Gn.x+J,Zn=Gn.y,Qn=G.useRef(null),$n=G.useCallback(e=>{e===!0?Qn.current?.focus():window.requestAnimationFrame(()=>{Qn.current?.focus()})},[]),nr=nn?y+1:y,rr=G.useCallback(e=>{let t=J===0?e:e.map(e=>({...e,location:[e.location[0]-J,e.location[1]]})),n=le?.(t);if(n!==!0)for(let e of t)N?.(e.location,e.value);return n},[N,le,J]),[ir,ar]=G.useState(),or=Y.current!==void 0&&Y.current.range.width*Y.current.range.height>1?Y.current.range:void 0,sr=st?Y.current?.cell:void 0,cr=sr?.[0],lr=sr?.[1],ur=G.useMemo(()=>{if((R===void 0||R.length===0)&&(or??cr??lr??ir)===void 0)return;let e=[];if(R!==void 0)for(let t of R){let n=X.length-t.range.x-J;n>0&&e.push({color:t.color,range:{...t.range,x:t.range.x+J,width:Math.min(n,t.range.width)},style:t.style})}return ir!==void 0&&e.push({color:he(kn.accentColor,0),range:ir,style:`dashed`}),or!==void 0&&e.push({color:he(kn.accentColor,.5),range:or,style:`solid-outline`}),cr!==void 0&&lr!==void 0&&e.push({color:kn.accentColor,range:{x:cr,y:lr,width:1,height:1},style:`solid-outline`}),e.length>0?e:void 0},[ir,or,cr,lr,R,X.length,kn.accentColor,J]),dr=G.useRef(X);dr.current=X;let fr=G.useCallback(([e,t],n=!1)=>{let r=nn&&t===nr-1;if(e===0&&tn)return r?ns:{kind:Se.Marker,allowOverlay:!1,checkboxStyle:Vt,checked:Y?.rows.hasIndex(t)===!0,markerKind:It===`clickable-number`?`number`:It,row:Rt+t,drawHandle:gt!==void 0,cursor:It===`clickable-number`?`pointer`:void 0};if(r){let t=e===J?Xe?.hint??``:``,n=dr.current[e];if(n?.trailingRowOptions?.disabled===!0)return ns;{let e=n?.trailingRowOptions?.hint??t,r=n?.trailingRowOptions?.addIcon??Xe?.addIcon;return{kind:Se.NewRow,hint:e,allowOverlay:!1,icon:r}}}else{let r=e-J;if(n||ct?.strict===!0){let e=Hn.current,n=e.x>r||r>e.x+e.width||e.y>t||t>e.y+e.height||t>=br.current,i=r===e.extras?.selected?.[0]&&t===e.extras?.selected[1],a=!1;if(e.extras?.freezeRegions!==void 0){for(let n of e.extras.freezeRegions)if(Kr(n,r,t)){a=!0;break}}if(n&&!i&&!a)return ns}let i=b([r,t]);return J!==0&&i.span!==void 0&&(i={...i,span:[i.span[0]+J,i.span[1]+J]}),i}},[nn,nr,tn,Vt,Y?.rows,It,Rt,gt,J,Xe?.hint,Xe?.addIcon,ct?.strict,b]),pr=G.useCallback(e=>{let t=Re?.(e)??{name:e};return se!==void 0&&e!==``&&(t={icon:t.icon,name:t.name,overrideTheme:t.overrideTheme,actions:[...t.actions??[],{title:`Rename`,icon:`renameIcon`,onClick:e=>Mr({group:t.name,bounds:e.bounds})}]}),t},[Re,se]),mr=G.useCallback(e=>{let[t,n]=e.cell,r=X[t],i=r?.group===void 0?void 0:pr(r.group)?.overrideTheme,o=r?.themeOverride,s=m?.(n);a({...e,theme:me(kn,i,o,s,e.content.themeOverride)})},[m,X,pr,kn]),hr=G.useCallback((e,t,n)=>{if(Y.current===void 0)return;let[r,i]=Y.current.cell,a=fr([r,i]);if(a.kind!==H.Boolean&&a.allowOverlay){let t=a;if(n!==void 0)switch(t.kind){case H.Number:{let e=ce(()=>n===`-`?-0:Number.parseFloat(n),0);t={...t,data:Number.isNaN(e)?0:e};break}case H.Text:case H.Markdown:case H.Uri:t={...t,data:n};break}mr({target:e,content:t,initialValue:n,cell:[r,i],highlight:n===void 0,forceEditMode:n!==void 0})}else a.kind===H.Boolean&&t&&a.readonly!==!0&&(rr([{location:Y.current.cell,value:{...a,data:Lo(a.data)}}]),Qn.current?.damage([{cell:Y.current.cell}]))},[fr,Y,rr,mr]),gr=G.useCallback((e,t)=>{let n=Qn.current?.getBounds(e,t);if(n===void 0||u.current===null)return;let r=fr([e,t]);r.allowOverlay&&mr({target:n,content:r,initialValue:void 0,highlight:!0,cell:[e,t],forceEditMode:!0})},[fr,mr]),_r=G.useCallback((e,t,n=`both`,r=0,i=0,a=void 0)=>{if(u.current!==null){let o=Qn.current,c=s.current,l=typeof e==`number`?e:e.unit===`cell`?e.amount:void 0,d=typeof t==`number`?t:t.unit===`cell`?t.amount:void 0,f=typeof e!=`number`&&e.unit===`px`?e.amount:void 0,p=typeof t!=`number`&&t.unit===`px`?t.amount:void 0;if(o!==null&&c!==null){let s={x:0,y:0,width:0,height:0},m=0,h=0;if((l!==void 0||d!==void 0)&&(s=o.getBounds((l??0)+J,d??0)??s,s.width===0||s.height===0))return;let g=c.getBoundingClientRect(),_=g.width/c.offsetWidth;if(f!==void 0&&(s={...s,x:f-g.left-u.current.scrollLeft,width:1}),p!==void 0&&(s={...s,y:p+g.top-u.current.scrollTop,height:1}),s!==void 0){let o={x:s.x-r,y:s.y-i,width:s.width+2*r,height:s.height+2*i},c=0;for(let e=0;e<Pe;e++)c+=Pn[e].width;let l=0,d=Ze+(rn?1:0);d>0&&(l=yn(nr,d,qt));let f=c*_+g.left+J*en*_,p=g.right,v=g.top+Ln*_,y=g.bottom-l*_,b=s.width+r*2;switch(a?.hAlign){case`start`:p=f+b;break;case`end`:f=p-b;break;case`center`:f=Math.floor((f+p)/2)-b/2,p=f+b;break}let x=s.height+i*2;switch(a?.vAlign){case`start`:y=v+x;break;case`end`:v=y-x;break;case`center`:v=Math.floor((v+y)/2)-x/2,y=v+x;break}f>o.x?m=o.x-f:p<o.x+o.width&&(m=o.x+o.width-p),v>o.y?h=o.y-v:y<o.y+o.height&&(h=o.y+o.height-y),n===`vertical`||typeof e==`number`&&e<Pe?m=0:(n===`horizontal`||typeof t==`number`&&t>=nr-d)&&(h=0),(m!==0||h!==0)&&(_!==1&&(m/=_,h/=_),u.current.scrollTo(m+u.current.scrollLeft,h+u.current.scrollTop))}}}},[J,Ze,en,Ln,Pe,Pn,nr,rn,qt]),vr=G.useRef(gr),yr=G.useRef(b),br=G.useRef(y);vr.current=gr,yr.current=b,br.current=y;let xr=G.useCallback(async(e,t=!0)=>{if(X[e]?.trailingRowOptions?.disabled===!0)return;let n=ye?.(),r,i=!0;n!==void 0&&(r=await n,r===`top`&&(i=!1),typeof r==`number`&&(i=!1));let a=0,o=()=>{if(br.current<=y){a<500&&window.setTimeout(o,a),a=50+a*2;return}let n=typeof r==`number`?r:i?y:0;hi.current(e-J,n),En({cell:[e,n],range:{x:e,y:n,width:1,height:1}},!1,!1,`edit`);let s=yr.current([e-J,n]);s.allowOverlay&&V(s)&&s.readonly!==!0&&t&&window.setTimeout(()=>{vr.current(e,n)},0)};o()},[X,ye,J,y,En]),Sr=G.useCallback(e=>{let t=Pn[e]?.trailingRowOptions?.targetColumn??Xe?.targetColumn;if(typeof t==`number`)return t+(tn?1:0);if(typeof t==`object`){let e=v.indexOf(t);if(e>=0)return e+(tn?1:0)}},[Pn,v,tn,Xe?.targetColumn]),Cr=G.useRef(),wr=G.useRef(),Tr=G.useCallback((e,t)=>{let[n,r]=t;return me(kn,X[n]?.themeOverride,m?.(r),e.themeOverride)},[m,X,kn]),Er=G.useCallback(e=>{let t=Ua.value?e.metaKey:e.ctrlKey,n=t&&Ce===`multi`,r=t&&B===`multi`,[i,o]=e.location,s=Y.columns,c=Y.rows,[l,u]=Y.current?.cell??[];if(e.kind===`cell`){if(wr.current=void 0,Or.current=[i,o],i===0&&tn){if(nn===!0&&o===y||It===`number`||Ce===`none`)return;let r=fr(e.location);if(r.kind!==Se.Marker)return;if(gt!==void 0){let t=Nn(r);F(t?.kind===Se.Marker);let n=t?.onClick?.({...e,cell:r,posX:e.localEventX,posY:e.localEventY,bounds:e.bounds,theme:Tr(r,e.location),preventDefault:()=>void 0});if(n===void 0||n.checked===r.checked)return}a(void 0),$n();let i=c.hasIndex(o),s=Cr.current;if(Ce===`multi`&&(e.shiftKey||e.isLongTouch===!0)&&s!==void 0&&c.hasIndex(s)){let e=[Math.min(s,o),Math.max(s,o)+1];n||Ie===`multi`?Dn(void 0,e,!0):Dn(W.fromSingleSelection(e),void 0,n)}else n||e.isTouch||Ie===`multi`?i?Dn(c.remove(o),void 0,!0):(Dn(void 0,o,!0),Cr.current=o):i&&c.length===1?Dn(W.empty(),void 0,t):(Dn(W.fromSingleSelection(o),void 0,t),Cr.current=o)}else if(i>=J&&nn&&o===y)xr(Sr(i)??i);else if(l!==i||u!==o){let n=fr(e.location),r=Nn(n);if(r?.onSelect!==void 0){let t=!1;if(r.onSelect({...e,cell:n,posX:e.localEventX,posY:e.localEventY,bounds:e.bounds,preventDefault:()=>t=!0,theme:Tr(n,e.location)}),t)return}let s=rn&&o===y,c=rn&&Y!==void 0&&Y.current?.cell[1]===y;if((e.shiftKey||e.isLongTouch===!0)&&l!==void 0&&u!==void 0&&Y.current!==void 0&&!c){if(s)return;let e=Math.min(i,l),n=Math.max(i,l),r=Math.min(o,u),a=Math.max(o,u);En({...Y.current,range:{x:e,y:r,width:n-e+1,height:a-r+1}},!0,t,`click`),Cr.current=void 0,$n()}else En({cell:[i,o],range:{x:i,y:o,width:1,height:1}},!0,t,`click`),Cr.current=void 0,a(void 0),$n()}}else if(e.kind===`header`)if(Or.current=[i,o],a(void 0),tn&&i===0)Cr.current=void 0,wr.current=void 0,Ce===`multi`&&(c.length===y?Dn(W.empty(),void 0,t):Dn(W.fromSingleSelection([0,y]),void 0,t),$n());else{let n=wr.current;if(B===`multi`&&(e.shiftKey||e.isLongTouch===!0)&&n!==void 0&&s.hasIndex(n)){let e=[Math.min(n,i),Math.max(n,i)+1];r?On(void 0,e,t):On(W.fromSingleSelection(e),void 0,t)}else r?(s.hasIndex(i)?On(s.remove(i),void 0,t):On(void 0,i,t),wr.current=i):B!==`none`&&(On(W.fromSingleSelection(i),void 0,t),wr.current=i);Cr.current=void 0,$n()}else e.kind===`group-header`?Or.current=[i,o]:e.kind===`out-of-bounds`&&!e.isMaybeScrollbar&&(vn(rs,!1),a(void 0),$n(),Ve?.(),Cr.current=void 0,wr.current=void 0)},[xr,B,$n,Nn,Sr,fr,Y,tn,rn,Ve,gt,J,It,Ce,Ie,y,En,vn,On,Dn,nn,Tr]),Dr=G.useRef(!1),Or=G.useRef(),kr=G.useRef(Gn),Z=G.useRef(),Ar=G.useCallback(e=>{if(Pr.current=!1,kr.current=Hn.current,e.button!==0&&e.button!==1){Z.current=void 0;return}let t=performance.now();Z.current={button:e.button,time:t,location:e.location},e?.kind===`header`&&(Dr.current=!0);let n=e.kind===`cell`&&e.isFillHandle;!n&&e.kind!==`cell`&&e.isEdge||(l({previousSelection:Y,fillHandle:n}),Or.current=void 0,!e.isTouch&&e.button===0&&!n?Er(e):!e.isTouch&&e.button===1&&(Or.current=e.location))},[Y,Er]),[jr,Mr]=G.useState(),Nr=G.useCallback(e=>{if(e.kind!==`group-header`||B!==`multi`)return;let t=Ua.value?e.metaKey:e.ctrlKey,[n]=e.location,r=Y.columns;if(n<J)return;let i=X[n],a=n,o=n;for(let e=n-1;e>=J&&un(i.group,X[e].group);e--)a--;for(let e=n+1;e<X.length&&un(i.group,X[e].group);e++)o++;if($n(),t)if(r.hasAll([a,o+1])){let e=r;for(let t=a;t<=o;t++)e=e.remove(t);On(e,void 0,t)}else On(void 0,[a,o+1],t);else On(W.fromSingleSelection([a,o+1]),void 0,t)},[B,$n,Y.columns,X,J,On]),Pr=G.useRef(!1),Fr=G.useCallback(async e=>{if(mn!==void 0&&bn!==void 0){let t=Hn.current.y,n=Hn.current.height,r=mn({x:e,y:t,width:1,height:Math.min(n,y-t)},dn.current.signal);typeof r!=`object`&&(r=await r());let i=Pn[e-J],a=document.createElement(`canvas`).getContext(`2d`,{alpha:!1});if(a!==null){a.font=kn.baseFontFull;let t=er(a,kn,i,0,r,Ut,Wt,!1,Nn);bn?.(i,t.width,e,t.width)}}},[Pn,mn,Wt,kn,Ut,bn,J,y,Nn]),[Ir,Lr]=G.useState(),Rr=G.useCallback(async(e,t)=>{let n=e.current?.range;if(n===void 0||mn===void 0||t.current===void 0)return;let r=t.current.range;if(C!==void 0){let e=!1;if(C({fillDestination:{...r,x:r.x-J},patternSource:{...n,x:n.x-J},preventDefault:()=>e=!0}),e)return}let i=mn(n,dn.current.signal);typeof i!=`object`&&(i=await i());let a=i,o=[];for(let e=0;e<r.width;e++)for(let t=0;t<r.height;t++){let i=[r.x+e,r.y+t];if(fn(i,n))continue;let s=a[t%n.height][e%n.width];Ee(s)||!V(s)||o.push({location:i,value:{...s}})}rr(o),Qn.current?.damage(o.map(e=>({cell:e.location})))},[mn,rr,C,J]),zr=G.useCallback(()=>{Y.current===void 0||Y.current.range.width<=1||Rr({...Y,current:{...Y.current,range:{...Y.current.range,width:1}}},Y)},[Rr,Y]),Br=G.useCallback(()=>{Y.current===void 0||Y.current.range.height<=1||Rr({...Y,current:{...Y.current,range:{...Y.current.range,height:1}}},Y)},[Rr,Y]),Vr=G.useCallback((e,t)=>{let n=c;if(l(void 0),ar(void 0),Lr(void 0),Dr.current=!1,t)return;if(n?.fillHandle===!0&&Y.current!==void 0&&n.previousSelection?.current!==void 0){if(ir===void 0)return;let e={...Y,current:{...Y.current,range:qr(n.previousSelection.current.range,ir)}};Rr(n.previousSelection,e),vn(e,!0);return}let[r,i]=e.location,[a,o]=Or.current??[],s=()=>{Pr.current=!0},u=t=>{let c=t.isTouch||a===r&&o===i;if(c&&x?.([r-J,i],{...t,preventDefault:s}),t.button===1)return!Pr.current;if(!Pr.current){let a=fr(e.location),o=Nn(a);if(o!==void 0&&o.onClick!==void 0&&c){let n=o.onClick({...t,cell:a,posX:t.localEventX,posY:t.localEventY,bounds:t.bounds,theme:Tr(a,e.location),preventDefault:s});n!==void 0&&!Ee(n)&&U(n)&&(rr([{location:t.location,value:n}]),Qn.current?.damage([{cell:t.location}]))}if(Pr.current||Y.current===void 0)return!1;let l=!1;switch(a.activationBehaviorOverride??Fe){case`double-click`:case`second-click`:{if(n?.previousSelection?.current?.cell===void 0)break;let[e,a]=Y.current.cell,[o,s]=n.previousSelection.current.cell;l=r===e&&r===o&&i===a&&i===s&&(t.isDoubleClick===!0||Fe===`second-click`);break}case`single-click`:l=!0;break}if(l)return S?.([r-J,i]),hr(t.bounds,!1),!0}return!1},d=e.location[0]-J;if(e.isTouch){let t=Hn.current,n=kr.current;if(t.x!==n.x||t.y!==n.y)return;if(e.isLongTouch===!0){if(e.kind===`cell`&&pn(Y.current?.cell,e.location)){A?.([d,e.location[1]],{...e,preventDefault:s});return}else if(e.kind===`header`&&Y.columns.hasIndex(r)){ie?.(d,{...e,preventDefault:s});return}else if(e.kind===`group-header`){if(d<0)return;M?.(d,{...e,preventDefault:s});return}}e.kind===`cell`?u(e)||Er(e):e.kind===`group-header`?ne?.(d,{...e,preventDefault:s}):(e.kind===`header`&&k?.(d,{...e,preventDefault:s}),Er(e));return}if(e.kind===`header`){if(d<0)return;e.isEdge?e.isDoubleClick===!0&&Fr(r):e.button===0&&r===a&&i===o&&k?.(d,{...e,preventDefault:s})}if(e.kind===`group-header`){if(d<0)return;e.button===0&&r===a&&i===o&&(ne?.(d,{...e,preventDefault:s}),Pr.current||Nr(e))}e.kind===`cell`&&(e.button===0||e.button===1)&&u(e),Or.current=void 0},[c,Y,J,ir,Rr,vn,x,fr,Nn,Fe,Tr,rr,S,hr,A,ie,M,Er,ne,k,Fr,Nr]),Hr=G.useCallback(e=>{let t={...e,location:[e.location[0]-J,e.location[1]]};Ae?.(t),c!==void 0&&e.buttons===0&&(l(void 0),ar(void 0),Lr(void 0),Dr.current=!1),Lr(t=>Dr.current?[e.scrollEdge[0],0]:e.scrollEdge[0]===t?.[0]&&e.scrollEdge[1]===t[1]?t:c===void 0||(Z.current?.location[0]??0)<J?void 0:e.scrollEdge)},[c,Ae,J]),Ur=G.useCallback((e,t)=>{Le?.(e-J,t)},[Le,J]),Gr=Y?.current?.cell,Jr=G.useCallback((e,t,n,r,i,a)=>{Wn.current=!1;let o=Gr;o!==void 0&&(o=[o[0]-J,o[1]]);let s=Pe===0?void 0:{x:0,y:e.y,width:Pe,height:e.height},c=[];s!==void 0&&c.push(s),Ze>0&&(c.push({x:e.x-J,y:y-Ze,width:e.width,height:Ze}),Pe>0&&c.push({x:0,y:y-Ze,width:Pe,height:Ze}));let l={x:e.x-J,y:e.y,width:e.width,height:nn&&e.y+e.height>=y?e.height-1:e.height,tx:i,ty:a,extras:{selected:o,freezeRegion:s,freezeRegions:c}};Hn.current=l,Kn(l),jn([t,n,r]),Ue?.(l,l.tx,l.ty,l.extras)},[Gr,J,nn,y,Pe,Ze,Kn,Ue]),Yr=Dt(be,G.useCallback((e,t)=>{be?.(e-J,t-J),B!==`none`&&On(W.fromSingleSelection(t),void 0,!0)},[B,be,J,On])),Xr=G.useRef(!1),Zr=G.useCallback(e=>{if(e.location[0]===0&&J>0){e.preventDefault();return}ke?.({...e,location:[e.location[0]-J,e.location[1]]}),e.defaultPrevented()||(Xr.current=!0),l(void 0)},[ke,J]),Qr=G.useCallback(()=>{Xr.current=!1},[]),$r=G.useRef(),ei=G.useCallback(e=>{if(!Ya(e,$r.current)&&($r.current=e,!(Z?.current?.button!==void 0&&Z.current.button>=1))){if(e.buttons!==0&&c!==void 0&&Z.current?.location[0]===0&&e.location[0]===0&&J===1&&Ce===`multi`&&c.previousSelection&&!c.previousSelection.rows.hasIndex(Z.current.location[1])&&Y.rows.hasIndex(Z.current.location[1])){let t=Math.min(Z.current.location[1],e.location[1]),n=Math.max(Z.current.location[1],e.location[1])+1;Dn(W.fromSingleSelection([t,n]),void 0,!1)}if(e.buttons!==0&&c!==void 0&&Y.current!==void 0&&!Xr.current&&!Dr.current&&(z===`rect`||z===`multi-rect`)){let[t,n]=Y.current.cell,[r,i]=e.location;if(i<0&&(i=Hn.current.y),c.fillHandle===!0&&c.previousSelection?.current!==void 0){let e=c.previousSelection.current.range;i=Math.min(i,nn?y-1:y),ar(Wr(e,r,i,Qe))}else{if(nn&&n===y)return;if(nn&&i===y)if(e.kind===`out-of-bounds`)i--;else return;r=Math.max(r,J);let a=r-t,o=i-n,s={x:a>=0?t:r,y:o>=0?n:i,width:Math.abs(a)+1,height:Math.abs(o)+1};En({...Y.current,range:s},!0,!1,`drag`)}}Be?.({...e,location:[e.location[0]-J,e.location[1]]})}},[Qe,c,J,Ce,Y,z,Be,Dn,nn,y,En]);Go(Ir,u,G.useCallback(()=>{let e=$r.current;if(e===void 0)return;let[t,n]=e.scrollEdge,[r,i]=e.location,a=Hn.current;t===-1?r=a.extras?.freezeRegion?.x??a.x:t===1&&(r=a.x+a.width),n===-1?i=Math.max(0,a.y):n===1&&(i=Math.min(y-1,a.y+a.height)),r=(0,Fa.default)(r,0,X.length-1),i=(0,Fa.default)(i,0,y-1),ei({...e,location:[r,i]})},[X.length,ei,y]));let ti=G.useCallback(e=>{if(Y.current===void 0)return;let[t,n]=e,[r,i]=Y.current.cell,a=Y.current.range,o=a.x,s=a.x+a.width,c=a.y,l=a.y+a.height;if(n!==0)switch(n){case 2:l=y,c=i,_r(0,l,`vertical`);break;case-2:c=0,l=i+1,_r(0,c,`vertical`);break;case 1:c<i?(c++,_r(0,c,`vertical`)):(l=Math.min(y,l+1),_r(0,l,`vertical`));break;case-1:l>i+1?(l--,_r(0,l,`vertical`)):(c=Math.max(0,c-1),_r(0,c,`vertical`));break;default:oe(n)}if(t!==0)if(t===2)s=X.length,o=r,_r(s-1-J,0,`horizontal`);else if(t===-2)o=J,s=r+1,_r(o-J,0,`horizontal`);else{let e=[];if(mn!==void 0){let t=mn({x:o,y:c,width:s-o-J,height:l-c},dn.current.signal);typeof t==`object`&&(e=es(t))}if(t===1){let t=!1;if(o<r){if(e.length>0){let n=(0,Xa.default)(o+1,r+1).find(t=>!e.includes(t-J));n!==void 0&&(o=n,t=!0)}else o++,t=!0;t&&_r(o,0,`horizontal`)}t||(s=Math.min(X.length,s+1),_r(s-1-J,0,`horizontal`))}else if(t===-1){let t=!1;if(s>r+1){if(e.length>0){let n=(0,Xa.default)(s-1,r,-1).find(t=>!e.includes(t-J));n!==void 0&&(s=n,t=!0)}else s--,t=!0;t&&_r(s-J,0,`horizontal`)}t||(o=Math.max(J,o-1),_r(o-J,0,`horizontal`))}else oe(t)}En({cell:Y.current.cell,range:{x:o,y:c,width:s-o,height:l-c}},!0,!1,`keyboard-select`)},[mn,Y,X.length,J,y,_r,En]),ni=G.useCallback((e,t,n,r)=>{let i=nr-(n?0:1);if(e=(0,Fa.default)(e,J,Pn.length-1+J),t=(0,Fa.default)(t,0,i),e===Gr?.[0]&&t===Gr?.[1])return!1;if(r&&Y.current!==void 0){let n=[...Y.current.rangeStack];(Y.current.range.width>1||Y.current.range.height>1)&&n.push(Y.current.range),vn({...Y,current:{cell:[e,t],range:{x:e,y:t,width:1,height:1},rangeStack:n}},!0)}else En({cell:[e,t],range:{x:e,y:t,width:1,height:1}},!0,!1,`keyboard-nav`);return d.current!==void 0&&d.current[0]===e&&d.current[1]===t&&(d.current=void 0),_r(e-J,t),!0},[nr,J,Pn.length,Gr,Y,_r,vn,En]),ri=G.useCallback((e,t)=>{i?.cell!==void 0&&e!==void 0&&U(e)&&(rr([{location:i.cell,value:e}]),window.requestAnimationFrame(()=>{Qn.current?.damage([{cell:i.cell}])})),$n(!0),a(void 0);let[n,r]=t;if(Y.current!==void 0&&(n!==0||r!==0)){let t=Y.current.cell[1]===nr-1&&e!==void 0;ni((0,Fa.default)(Y.current.cell[0]+n,0,X.length-1),(0,Fa.default)(Y.current.cell[1]+r,0,nr-1),t,!1)}w?.(e,t)},[i?.cell,$n,Y,w,rr,nr,ni,X.length]),ii=G.useMemo(()=>`gdg-overlay-${$o++}`,[]),ai=G.useCallback(e=>{$n();let t=[];for(let n=e.x;n<e.x+e.width;n++)for(let r=e.y;r<e.y+e.height;r++){let e=b([n-J,r]);if(!e.allowOverlay&&e.kind!==H.Boolean)continue;let i;if(e.kind===H.Custom){let t=Nn(e),n=t?.provideEditor?.(e);t?.onDelete===void 0?L(n)&&(i=n?.deletedValue?.(e)):i=t.onDelete(e)}else (U(e)&&e.allowOverlay||e.kind===H.Boolean)&&(i=Nn(e)?.onDelete?.(e));i!==void 0&&!Ee(i)&&U(i)&&t.push({location:[n,r],value:i})}rr(t),Qn.current?.damage(t.map(e=>({cell:e.location})))},[$n,b,Nn,rr,J]),oi=i!==void 0,si=G.useCallback(e=>{let t=()=>{e.stopPropagation(),e.preventDefault()},n={didMatch:!1},{bounds:r}=e,i=Y.columns,s=Y.rows,c=$t;if(!oi&&Q(c.clear,e,n))vn(rs,!1),Ve?.();else if(!oi&&Q(c.selectAll,e,n))vn({columns:W.empty(),rows:W.empty(),current:{cell:Y.current?.cell??[J,0],range:{x:J,y:0,width:v.length,height:y},rangeStack:[]}},!1);else if(Q(c.search,e,n))o?.current?.focus({preventScroll:!0}),on(!0);else if(Q(c.delete,e,n)){let e=Tn?.(Y)??!0;if(e!==!1){let t=e===!0?Y:e;if(t.current!==void 0){ai(t.current.range);for(let e of t.current.rangeStack)ai(e)}for(let e of t.rows)ai({x:J,y:e,width:v.length,height:1});for(let e of t.columns)ai({x:e,y:0,width:1,height:y})}}if(n.didMatch)return t(),!0;if(Y.current===void 0)return!1;let[l,u]=Y.current.cell,d=!1,f=!1;Q(c.scrollToSelectedCell,e,n)?hi.current(l-J,u):B!==`none`&&Q(c.selectColumn,e,n)?i.hasIndex(l)?On(i.remove(l),void 0,!0):B===`single`?On(W.fromSingleSelection(l),void 0,!0):On(void 0,l,!0):Ce!==`none`&&Q(c.selectRow,e,n)?s.hasIndex(u)?Dn(s.remove(u),void 0,!0):Ce===`single`?Dn(W.fromSingleSelection(u),void 0,!0):Dn(void 0,u,!0):!oi&&r!==void 0&&Q(c.activateCell,e,n)?u===y&&nn?window.setTimeout(()=>{xr(Sr(l)??l)},0):(S?.([l-J,u]),hr(r,!0)):Y.current.range.height>1&&Q(c.downFill,e,n)?Br():Y.current.range.width>1&&Q(c.rightFill,e,n)?zr():Q(c.goToNextPage,e,n)?u+=Math.max(1,Hn.current.height-4):Q(c.goToPreviousPage,e,n)?u-=Math.max(1,Hn.current.height-4):Q(c.goToFirstCell,e,n)?(a(void 0),u=0,l=0):Q(c.goToLastCell,e,n)?(a(void 0),u=2**53-1,l=2**53-1):Q(c.selectToFirstCell,e,n)?(a(void 0),ti([-2,-2])):Q(c.selectToLastCell,e,n)?(a(void 0),ti([2,2])):oi?(Q(c.closeOverlay,e,n)&&a(void 0),Q(c.acceptOverlayDown,e,n)&&(a(void 0),u++),Q(c.acceptOverlayUp,e,n)&&(a(void 0),u--),Q(c.acceptOverlayLeft,e,n)&&(a(void 0),l--),Q(c.acceptOverlayRight,e,n)&&(a(void 0),l++)):(Q(c.goDownCell,e,n)?u+=1:Q(c.goUpCell,e,n)?--u:Q(c.goRightCell,e,n)?l+=1:Q(c.goLeftCell,e,n)?--l:Q(c.goDownCellRetainSelection,e,n)?(u+=1,d=!0):Q(c.goUpCellRetainSelection,e,n)?(--u,d=!0):Q(c.goRightCellRetainSelection,e,n)?(l+=1,d=!0):Q(c.goLeftCellRetainSelection,e,n)?(--l,d=!0):Q(c.goToLastRow,e,n)?u=y-1:Q(c.goToFirstRow,e,n)?u=-(2**53-1):Q(c.goToLastColumn,e,n)?l=2**53-1:Q(c.goToFirstColumn,e,n)?l=-(2**53-1):(z===`rect`||z===`multi-rect`)&&(Q(c.selectGrowDown,e,n)?ti([0,1]):Q(c.selectGrowUp,e,n)?ti([0,-1]):Q(c.selectGrowRight,e,n)?ti([1,0]):Q(c.selectGrowLeft,e,n)?ti([-1,0]):Q(c.selectToLastRow,e,n)?ti([0,2]):Q(c.selectToFirstRow,e,n)?ti([0,-2]):Q(c.selectToLastColumn,e,n)?ti([2,0]):Q(c.selectToFirstColumn,e,n)&&ti([-2,0])),f=n.didMatch);let p=ni(l,u,!1,d),m=n.didMatch;return m&&(p||!f||St)&&t(),m},[oi,Y,$t,B,Ce,z,J,y,ni,vn,Ve,v.length,Tn,St,ai,On,Dn,nn,Sr,xr,S,hr,Br,zr,ti]),ci=G.useCallback(e=>{let t=!1;if(pe!==void 0&&pe({...e,cancel:()=>{t=!0}}),t||si(e)||Y.current===void 0)return;let[n,r]=Y.current.cell,i=Hn.current;if(ve&&!e.metaKey&&!e.ctrlKey&&Y.current!==void 0&&e.key.length===1&&/[ -~]/g.test(e.key)&&e.bounds!==void 0&&V(b([n-J,Math.max(0,Math.min(r,y-1))]))){if((!nn||r!==y)&&(i.y>r||r>i.y+i.height||i.x>n||n>i.x+i.width))return;hr(e.bounds,!0,e.key),e.stopPropagation(),e.preventDefault()}},[ve,pe,si,Y,b,J,y,nn,hr]),li=G.useCallback((e,t)=>{let n=e.location[0]-J;if(e.kind===`header`&&ie?.(n,{...e,preventDefault:t}),e.kind===`group-header`){if(n<0)return;M?.(n,{...e,preventDefault:t})}if(e.kind===`cell`){let[r,i]=e.location;A?.([n,i],{...e,preventDefault:t}),ln(Y,e.location)||ni(r,i,!1,!1)}},[Y,A,M,ie,J,ni]),ui=G.useCallback(async e=>{if(!$t.paste)return;function t(e,t,n,r){let i=typeof n==`object`?n?.join(`
134
+ `&&(n.push(r),r=[]),a=t.None):a=t.None;break}o++}return i<e.length&&r.push(Po(e.slice(i,e.length))),n.push(r),n.map(e=>e.map(e=>({rawValue:e,formatted:e,format:`string`})))}function Io(e,t,n){let r=jo(e,t),i=e=>{window.navigator.clipboard?.writeText(e)},a=(e,t)=>window.navigator.clipboard?.write===void 0?!1:(window.navigator.clipboard.write([new ClipboardItem({"text/plain":new Blob([e],{type:`text/plain`}),"text/html":new Blob([t],{type:`text/html`})})]),!0);window.navigator.clipboard?.write!==void 0||n?.clipboardData!==void 0?((e,t)=>{try{if(n===void 0||n.clipboardData===null)throw Error(`No clipboard data`);n?.clipboardData?.setData(`text/plain`,e),n?.clipboardData?.setData(`text/html`,t)}catch{a(e,t)||i(e)}})(r.textPlain,r.textHtml):i(r.textPlain),n?.preventDefault()}function Lo(e){return e!==!0}function Ro(e){return typeof e==`string`?e:`${e}px`}var zo=()=>e=>e.innerWidth,Bo=()=>e=>e.innerHeight,Vo=Ne(`div`)({name:`Wrapper`,class:`gdg-wmyidgi`,propsAsIs:!1,vars:{"wmyidgi-0":[zo()],"wmyidgi-1":[Bo()]}}),Ho=e=>{let{inWidth:t,inHeight:n,children:r,...i}=e;return G.createElement(Vo,{innerHeight:Ro(n),innerWidth:Ro(t),...i},r)},Uo=2,Wo=1300;function Go(e,t,n){let r=G.useRef(0),[i,a]=e??[0,0];G.useEffect(()=>{if(i===0&&a===0){r.current=0;return}let e=!1,o=0,s=c=>{if(!e){if(o===0)o=c;else{let e=c-o;r.current=Math.min(1,r.current+e/Wo);let s=r.current**1.618*e*Uo;t.current?.scrollBy(i*s,a*s),o=c,n?.()}window.requestAnimationFrame(s)}};return window.requestAnimationFrame(s),()=>{e=!0}},[t,i,a,n])}function Ko({rowHeight:e,headerHeight:t,groupHeaderHeight:n,theme:r,overscrollX:i,overscrollY:a,scaleToRem:o,remSize:s}){let[c,l,u,d,f,p]=G.useMemo(()=>{if(!o||s===16)return[e,t,n,r,i,a];let c=s/16,l=e,u=Me();return[typeof l==`number`?l*c:e=>Math.ceil(l(e)*c),Math.ceil(t*c),Math.ceil(n*c),{...r,headerIconSize:(r?.headerIconSize??u.headerIconSize)*c,cellHorizontalPadding:(r?.cellHorizontalPadding??u.cellHorizontalPadding)*c,cellVerticalPadding:(r?.cellVerticalPadding??u.cellVerticalPadding)*c},Math.ceil((i??0)*c),Math.ceil((a??0)*c)]},[n,t,i,a,s,e,o,r]);return{rowHeight:c,headerHeight:l,groupHeaderHeight:u,theme:d,overscrollX:f,overscrollY:p}}var qo={downFill:!1,rightFill:!1,clear:!0,closeOverlay:!0,acceptOverlayDown:!0,acceptOverlayUp:!0,acceptOverlayLeft:!0,acceptOverlayRight:!0,copy:!0,paste:!0,cut:!0,search:!1,delete:!0,activateCell:!0,scrollToSelectedCell:!0,goToFirstCell:!0,goToFirstColumn:!0,goToFirstRow:!0,goToLastCell:!0,goToLastColumn:!0,goToLastRow:!0,goToNextPage:!0,goToPreviousPage:!0,selectToFirstCell:!0,selectToFirstColumn:!0,selectToFirstRow:!0,selectToLastCell:!0,selectToLastColumn:!0,selectToLastRow:!0,selectAll:!0,selectRow:!0,selectColumn:!0,goUpCell:!0,goRightCell:!0,goDownCell:!0,goLeftCell:!0,goUpCellRetainSelection:!0,goRightCellRetainSelection:!0,goDownCellRetainSelection:!0,goLeftCellRetainSelection:!0,selectGrowUp:!0,selectGrowRight:!0,selectGrowDown:!0,selectGrowLeft:!0};function $(e,t){return e===!0?t:e===!1?``:e}function Jo(e){let t=Ua.value;return{activateCell:$(e.activateCell,` |Enter|shift+Enter`),clear:$(e.clear,`any+Escape`),closeOverlay:$(e.closeOverlay,`any+Escape`),acceptOverlayDown:$(e.acceptOverlayDown,`Enter`),acceptOverlayUp:$(e.acceptOverlayUp,`shift+Enter`),acceptOverlayLeft:$(e.acceptOverlayLeft,`shift+Tab`),acceptOverlayRight:$(e.acceptOverlayRight,`Tab`),copy:e.copy,cut:e.cut,delete:$(e.delete,t?`Backspace|Delete`:`Delete`),downFill:$(e.downFill,`primary+_68`),scrollToSelectedCell:$(e.scrollToSelectedCell,`primary+Enter`),goDownCell:$(e.goDownCell,`ArrowDown`),goDownCellRetainSelection:$(e.goDownCellRetainSelection,`alt+ArrowDown`),goLeftCell:$(e.goLeftCell,`ArrowLeft|shift+Tab`),goLeftCellRetainSelection:$(e.goLeftCellRetainSelection,`alt+ArrowLeft`),goRightCell:$(e.goRightCell,`ArrowRight|Tab`),goRightCellRetainSelection:$(e.goRightCellRetainSelection,`alt+ArrowRight`),goUpCell:$(e.goUpCell,`ArrowUp`),goUpCellRetainSelection:$(e.goUpCellRetainSelection,`alt+ArrowUp`),goToFirstCell:$(e.goToFirstCell,`primary+Home`),goToFirstColumn:$(e.goToFirstColumn,`Home|primary+ArrowLeft`),goToFirstRow:$(e.goToFirstRow,`primary+ArrowUp`),goToLastCell:$(e.goToLastCell,`primary+End`),goToLastColumn:$(e.goToLastColumn,`End|primary+ArrowRight`),goToLastRow:$(e.goToLastRow,`primary+ArrowDown`),goToNextPage:$(e.goToNextPage,`PageDown`),goToPreviousPage:$(e.goToPreviousPage,`PageUp`),paste:e.paste,rightFill:$(e.rightFill,`primary+_82`),search:$(e.search,`primary+f`),selectAll:$(e.selectAll,`primary+a`),selectColumn:$(e.selectColumn,`ctrl+ `),selectGrowDown:$(e.selectGrowDown,`shift+ArrowDown`),selectGrowLeft:$(e.selectGrowLeft,`shift+ArrowLeft`),selectGrowRight:$(e.selectGrowRight,`shift+ArrowRight`),selectGrowUp:$(e.selectGrowUp,`shift+ArrowUp`),selectRow:$(e.selectRow,`shift+ `),selectToFirstCell:$(e.selectToFirstCell,`primary+shift+Home`),selectToFirstColumn:$(e.selectToFirstColumn,`primary+shift+ArrowLeft`),selectToFirstRow:$(e.selectToFirstRow,`primary+shift+ArrowUp`),selectToLastCell:$(e.selectToLastCell,`primary+shift+End`),selectToLastColumn:$(e.selectToLastColumn,`primary+shift+ArrowRight`),selectToLastRow:$(e.selectToLastRow,`primary+shift+ArrowDown`)}}function Yo(e){let t=Wt(e);return G.useMemo(()=>{if(t===void 0)return Jo(qo);let e={...t,goToNextPage:t?.goToNextPage??t?.pageDown??qo.goToNextPage,goToPreviousPage:t?.goToPreviousPage??t?.pageUp??qo.goToPreviousPage,goToFirstCell:t?.goToFirstCell??t?.first??qo.goToFirstCell,goToLastCell:t?.goToLastCell??t?.last??qo.goToLastCell,selectToFirstCell:t?.selectToFirstCell??t?.first??qo.selectToFirstCell,selectToLastCell:t?.selectToLastCell??t?.last??qo.selectToLastCell};return Jo({...qo,...e})},[t])}var Xo=e(yr(),1),Zo=e(Cr(),1),Qo=G.lazy(async()=>await g(()=>import(`./data-grid-overlay-editor-CbBkhhJa.js`),__vite__mapDeps([0,1,2,3,4,5]))),$o=0;function es(e){return(0,Xo.default)((0,Zo.default)((0,Zo.default)(e).filter(e=>e.span!==void 0).map(e=>(0,Xa.default)((e.span?.[0]??0)+1,(e.span?.[1]??0)+1))))}function ts(e,t){return e===void 0||t===0||e.columns.length===0&&e.current===void 0?e:{current:e.current===void 0?void 0:{cell:[e.current.cell[0]+t,e.current.cell[1]],range:{...e.current.range,x:e.current.range.x+t},rangeStack:e.current.rangeStack.map(e=>({...e,x:e.x+t}))},rows:e.rows,columns:e.columns.offset(t)}}var ns={kind:H.Loading,allowOverlay:!1},rs={columns:W.empty(),rows:W.empty(),current:void 0},is=G.forwardRef((e,t)=>{let[n,r]=G.useState(rs),[i,a]=G.useState(),o=G.useRef(null),s=G.useRef(null),[c,l]=G.useState(),u=G.useRef(null),d=G.useRef(),f=typeof window>`u`?null:window,{imageEditorOverride:p,getRowThemeOverride:m,markdownDivCreateNode:h,width:g,height:_,columns:v,rows:y,getCellContent:b,onCellClicked:x,onCellActivated:S,onFillPattern:C,onFinishedEditing:w,coercePasteValue:T,drawHeader:E,drawCell:D,editorBloom:O,onHeaderClicked:k,onColumnProposeMove:ee,spanRangeBehavior:te=`default`,onGroupHeaderClicked:ne,onCellContextMenu:A,className:j,onHeaderContextMenu:ie,getCellsForSelection:ae,onGroupHeaderContextMenu:M,onGroupHeaderRenamed:se,onCellEdited:N,onCellsEdited:le,onSearchResultsChanged:ue,searchResults:P,onSearchValueChange:de,searchValue:fe,onKeyDown:pe,onKeyUp:ge,keybindings:_e,editOnType:ve=!0,onRowAppended:ye,onColumnMoved:be,validateCell:xe,highlightRegions:R,rangeSelect:z=`rect`,columnSelect:B=`multi`,rowSelect:Ce=`multi`,rangeSelectionBlending:we=`exclusive`,columnSelectionBlending:Te=`exclusive`,rowSelectionBlending:De=`exclusive`,onDelete:Oe,onDragStart:ke,onMouseMove:Ae,onPaste:je,copyHeaders:Ne=!1,freezeColumns:Pe=0,cellActivationBehavior:Fe=`second-click`,rowSelectionMode:Ie=`auto`,onHeaderMenuClick:Le,getGroupDetails:Re,onSearchClose:ze,onItemHovered:Be,onSelectionCleared:Ve,showSearch:He,onVisibleRegionChanged:Ue,gridSelection:We,onGridSelectionChange:Ge,minColumnWidth:Ke=50,maxColumnWidth:qe=500,maxColumnAutoWidth:Je,provideEditor:Ye,trailingRowOptions:Xe,freezeTrailingRows:Ze=0,allowedFillDirections:Qe=`orthogonal`,scrollOffsetX:$e,scrollOffsetY:K,verticalBorder:q,onDragOverCell:et,onDrop:tt,onColumnResize:nt,onColumnResizeEnd:rt,onColumnResizeStart:it,customRenderers:at,fillHandle:ot,drawFocusRing:st=!0,experimental:ct,fixedShadowX:lt,fixedShadowY:ut,headerIcons:dt,imageWindowLoader:ft,initialSize:pt,isDraggable:mt,onDragLeave:ht,onRowMoved:gt,overscrollX:_t,overscrollY:vt,preventDiagonalScrolling:yt,rightElement:bt,rightElementProps:xt,trapFocus:St=!1,smoothScrollX:Ct,smoothScrollY:wt,scaleToRem:Ot=!1,rowHeight:kt=34,headerHeight:At=36,groupHeaderHeight:jt=At,theme:Mt,isOutsideClick:Nt,renderers:Pt}=e,Ft=typeof e.rowMarkers==`string`?void 0:e.rowMarkers,It=Ft?.kind??e.rowMarkers??`none`,Lt=Ft?.width??e.rowMarkerWidth,Rt=Ft?.startIndex??e.rowMarkerStartIndex??1,zt=Ft?.theme??e.rowMarkerTheme,Vt=Ft?.checkboxStyle??`square`,Ut=Math.max(Ke,20),Wt=Math.max(qe,Ut),Gt=Math.max(Je??Wt,Ut),Kt=G.useMemo(()=>typeof window>`u`?{fontSize:`16px`}:window.getComputedStyle(document.documentElement),[]),{rowHeight:qt,headerHeight:Jt,groupHeaderHeight:Yt,theme:Xt,overscrollX:Zt,overscrollY:Qt}=Ko({groupHeaderHeight:jt,headerHeight:At,overscrollX:_t,overscrollY:vt,remSize:G.useMemo(()=>Number.parseFloat(Kt.fontSize),[Kt]),rowHeight:kt,scaleToRem:Ot,theme:Mt}),$t=Yo(_e),en=Lt??(y>1e4?48:y>1e3?44:y>100?36:32),tn=It!==`none`,J=tn?1:0,nn=ye!==void 0,rn=Xe?.sticky===!0,[an,on]=G.useState(!1),sn=He??an,cn=G.useCallback(()=>{ze===void 0?on(!1):ze()},[ze]),Y=G.useMemo(()=>We===void 0?void 0:ts(We,J),[We,J])??n,dn=G.useRef();dn.current===void 0&&(dn.current=new AbortController),G.useEffect(()=>()=>dn?.current.abort(),[]);let[mn,hn]=So(ae,b,J,dn.current,y),gn=G.useCallback((e,t,n)=>{if(xe===void 0)return!0;let r=[e[0]-J,e[1]];return xe?.(r,t,n)},[J,xe]),_n=G.useRef(We),vn=G.useCallback((e,t)=>{t&&(e=No(e,mn,J,te,dn.current)),Ge===void 0?r(e):(_n.current=ts(e,-J),Ge(_n.current))},[Ge,mn,J,te]),bn=Dt(nt,G.useCallback((e,t,n,r)=>{nt?.(v[n-J],t,n-J,r)},[nt,J,v])),xn=Dt(rt,G.useCallback((e,t,n,r)=>{rt?.(v[n-J],t,n-J,r)},[rt,J,v])),Sn=Dt(it,G.useCallback((e,t,n,r)=>{it?.(v[n-J],t,n-J,r)},[it,J,v])),Cn=Dt(E,G.useCallback((e,t)=>E?.({...e,columnIndex:e.columnIndex-J},t)??!1,[E,J])),wn=Dt(D,G.useCallback((e,t)=>D?.({...e,col:e.col-J},t)??!1,[D,J])),Tn=G.useCallback(e=>{if(Oe!==void 0){let t=Oe(ts(e,-J));return typeof t==`boolean`?t:ts(t,J)}return!0},[Oe,J]),[En,Dn,On]=xo(Y,vn,we,Te,De,z),kn=G.useMemo(()=>me(Me(),Xt),[Xt]),[An,jn]=G.useState([0,0,0]),Mn=G.useMemo(()=>{if(Pt===void 0)return{};let e={};for(let t of Pt)e[t.kind]=t;return e},[Pt]),Nn=G.useCallback(e=>e.kind===H.Custom?at?.find(t=>t.isMatch(e)):Mn[e.kind],[at,Mn]),{sizedColumns:Pn,nonGrowWidth:Fn}=tr(v,y,hn,An[0]-(J===0?0:en)-An[2],Ut,Gt,kn,Nn,dn.current);It!==`none`&&(Fn+=en);let In=G.useMemo(()=>Pn.some(e=>e.group!==void 0),[Pn]),Ln=In?Jt+Yt:Jt,Rn=Y.rows.length,zn=It===`none`?void 0:Rn===0?!1:Rn===y?!0:void 0,X=G.useMemo(()=>It===`none`?Pn:[{title:``,width:en,icon:void 0,hasMenu:!1,style:`normal`,themeOverride:zt,rowMarker:Vt,rowMarkerChecked:zn},...Pn],[It,Pn,en,zt,Vt,zn]),[Bn,Vn]=G.useMemo(()=>[K!==void 0&&typeof qt==`number`?Math.floor(K/qt):0,K!==void 0&&typeof qt==`number`?-(K%qt):0],[K,qt]),Hn=G.useRef({height:1,width:1,x:0,y:0}),Un=G.useMemo(()=>({x:Hn.current.x,y:Bn,width:Hn.current.width??1,height:Hn.current.height??1,ty:Vn}),[Vn,Bn]),Wn=G.useRef(!1),[Gn,Kn,qn]=Ht(Un);Hn.current=Gn;let Jn=(Gn.height??1)>1;G.useLayoutEffect(()=>{if(K!==void 0&&u.current!==null&&Jn){if(u.current.scrollTop===K)return;u.current.scrollTop=K,u.current.scrollTop!==K&&qn(),Wn.current=!0}},[K,Jn,qn]);let Yn=(Gn.width??1)>1;G.useLayoutEffect(()=>{if($e!==void 0&&u.current!==null&&Yn){if(u.current.scrollLeft===$e)return;u.current.scrollLeft=$e,u.current.scrollLeft!==$e&&qn(),Wn.current=!0}},[$e,Yn,qn]);let Xn=Gn.x+J,Zn=Gn.y,Qn=G.useRef(null),$n=G.useCallback(e=>{e===!0?Qn.current?.focus():window.requestAnimationFrame(()=>{Qn.current?.focus()})},[]),nr=nn?y+1:y,rr=G.useCallback(e=>{let t=J===0?e:e.map(e=>({...e,location:[e.location[0]-J,e.location[1]]})),n=le?.(t);if(n!==!0)for(let e of t)N?.(e.location,e.value);return n},[N,le,J]),[ir,ar]=G.useState(),or=Y.current!==void 0&&Y.current.range.width*Y.current.range.height>1?Y.current.range:void 0,sr=st?Y.current?.cell:void 0,cr=sr?.[0],lr=sr?.[1],ur=G.useMemo(()=>{if((R===void 0||R.length===0)&&(or??cr??lr??ir)===void 0)return;let e=[];if(R!==void 0)for(let t of R){let n=X.length-t.range.x-J;n>0&&e.push({color:t.color,range:{...t.range,x:t.range.x+J,width:Math.min(n,t.range.width)},style:t.style})}return ir!==void 0&&e.push({color:he(kn.accentColor,0),range:ir,style:`dashed`}),or!==void 0&&e.push({color:he(kn.accentColor,.5),range:or,style:`solid-outline`}),cr!==void 0&&lr!==void 0&&e.push({color:kn.accentColor,range:{x:cr,y:lr,width:1,height:1},style:`solid-outline`}),e.length>0?e:void 0},[ir,or,cr,lr,R,X.length,kn.accentColor,J]),dr=G.useRef(X);dr.current=X;let fr=G.useCallback(([e,t],n=!1)=>{let r=nn&&t===nr-1;if(e===0&&tn)return r?ns:{kind:Se.Marker,allowOverlay:!1,checkboxStyle:Vt,checked:Y?.rows.hasIndex(t)===!0,markerKind:It===`clickable-number`?`number`:It,row:Rt+t,drawHandle:gt!==void 0,cursor:It===`clickable-number`?`pointer`:void 0};if(r){let t=e===J?Xe?.hint??``:``,n=dr.current[e];if(n?.trailingRowOptions?.disabled===!0)return ns;{let e=n?.trailingRowOptions?.hint??t,r=n?.trailingRowOptions?.addIcon??Xe?.addIcon;return{kind:Se.NewRow,hint:e,allowOverlay:!1,icon:r}}}else{let r=e-J;if(n||ct?.strict===!0){let e=Hn.current,n=e.x>r||r>e.x+e.width||e.y>t||t>e.y+e.height||t>=br.current,i=r===e.extras?.selected?.[0]&&t===e.extras?.selected[1],a=!1;if(e.extras?.freezeRegions!==void 0){for(let n of e.extras.freezeRegions)if(Kr(n,r,t)){a=!0;break}}if(n&&!i&&!a)return ns}let i=b([r,t]);return J!==0&&i.span!==void 0&&(i={...i,span:[i.span[0]+J,i.span[1]+J]}),i}},[nn,nr,tn,Vt,Y?.rows,It,Rt,gt,J,Xe?.hint,Xe?.addIcon,ct?.strict,b]),pr=G.useCallback(e=>{let t=Re?.(e)??{name:e};return se!==void 0&&e!==``&&(t={icon:t.icon,name:t.name,overrideTheme:t.overrideTheme,actions:[...t.actions??[],{title:`Rename`,icon:`renameIcon`,onClick:e=>Mr({group:t.name,bounds:e.bounds})}]}),t},[Re,se]),mr=G.useCallback(e=>{let[t,n]=e.cell,r=X[t],i=r?.group===void 0?void 0:pr(r.group)?.overrideTheme,o=r?.themeOverride,s=m?.(n);a({...e,theme:me(kn,i,o,s,e.content.themeOverride)})},[m,X,pr,kn]),hr=G.useCallback((e,t,n)=>{if(Y.current===void 0)return;let[r,i]=Y.current.cell,a=fr([r,i]);if(a.kind!==H.Boolean&&a.allowOverlay){let t=a;if(n!==void 0)switch(t.kind){case H.Number:{let e=ce(()=>n===`-`?-0:Number.parseFloat(n),0);t={...t,data:Number.isNaN(e)?0:e};break}case H.Text:case H.Markdown:case H.Uri:t={...t,data:n};break}mr({target:e,content:t,initialValue:n,cell:[r,i],highlight:n===void 0,forceEditMode:n!==void 0})}else a.kind===H.Boolean&&t&&a.readonly!==!0&&(rr([{location:Y.current.cell,value:{...a,data:Lo(a.data)}}]),Qn.current?.damage([{cell:Y.current.cell}]))},[fr,Y,rr,mr]),gr=G.useCallback((e,t)=>{let n=Qn.current?.getBounds(e,t);if(n===void 0||u.current===null)return;let r=fr([e,t]);r.allowOverlay&&mr({target:n,content:r,initialValue:void 0,highlight:!0,cell:[e,t],forceEditMode:!0})},[fr,mr]),_r=G.useCallback((e,t,n=`both`,r=0,i=0,a=void 0)=>{if(u.current!==null){let o=Qn.current,c=s.current,l=typeof e==`number`?e:e.unit===`cell`?e.amount:void 0,d=typeof t==`number`?t:t.unit===`cell`?t.amount:void 0,f=typeof e!=`number`&&e.unit===`px`?e.amount:void 0,p=typeof t!=`number`&&t.unit===`px`?t.amount:void 0;if(o!==null&&c!==null){let s={x:0,y:0,width:0,height:0},m=0,h=0;if((l!==void 0||d!==void 0)&&(s=o.getBounds((l??0)+J,d??0)??s,s.width===0||s.height===0))return;let g=c.getBoundingClientRect(),_=g.width/c.offsetWidth;if(f!==void 0&&(s={...s,x:f-g.left-u.current.scrollLeft,width:1}),p!==void 0&&(s={...s,y:p+g.top-u.current.scrollTop,height:1}),s!==void 0){let o={x:s.x-r,y:s.y-i,width:s.width+2*r,height:s.height+2*i},c=0;for(let e=0;e<Pe;e++)c+=Pn[e].width;let l=0,d=Ze+(rn?1:0);d>0&&(l=yn(nr,d,qt));let f=c*_+g.left+J*en*_,p=g.right,v=g.top+Ln*_,y=g.bottom-l*_,b=s.width+r*2;switch(a?.hAlign){case`start`:p=f+b;break;case`end`:f=p-b;break;case`center`:f=Math.floor((f+p)/2)-b/2,p=f+b;break}let x=s.height+i*2;switch(a?.vAlign){case`start`:y=v+x;break;case`end`:v=y-x;break;case`center`:v=Math.floor((v+y)/2)-x/2,y=v+x;break}f>o.x?m=o.x-f:p<o.x+o.width&&(m=o.x+o.width-p),v>o.y?h=o.y-v:y<o.y+o.height&&(h=o.y+o.height-y),n===`vertical`||typeof e==`number`&&e<Pe?m=0:(n===`horizontal`||typeof t==`number`&&t>=nr-d)&&(h=0),(m!==0||h!==0)&&(_!==1&&(m/=_,h/=_),u.current.scrollTo(m+u.current.scrollLeft,h+u.current.scrollTop))}}}},[J,Ze,en,Ln,Pe,Pn,nr,rn,qt]),vr=G.useRef(gr),yr=G.useRef(b),br=G.useRef(y);vr.current=gr,yr.current=b,br.current=y;let xr=G.useCallback(async(e,t=!0)=>{if(X[e]?.trailingRowOptions?.disabled===!0)return;let n=ye?.(),r,i=!0;n!==void 0&&(r=await n,r===`top`&&(i=!1),typeof r==`number`&&(i=!1));let a=0,o=()=>{if(br.current<=y){a<500&&window.setTimeout(o,a),a=50+a*2;return}let n=typeof r==`number`?r:i?y:0;hi.current(e-J,n),En({cell:[e,n],range:{x:e,y:n,width:1,height:1}},!1,!1,`edit`);let s=yr.current([e-J,n]);s.allowOverlay&&V(s)&&s.readonly!==!0&&t&&window.setTimeout(()=>{vr.current(e,n)},0)};o()},[X,ye,J,y,En]),Sr=G.useCallback(e=>{let t=Pn[e]?.trailingRowOptions?.targetColumn??Xe?.targetColumn;if(typeof t==`number`)return t+(tn?1:0);if(typeof t==`object`){let e=v.indexOf(t);if(e>=0)return e+(tn?1:0)}},[Pn,v,tn,Xe?.targetColumn]),Cr=G.useRef(),wr=G.useRef(),Tr=G.useCallback((e,t)=>{let[n,r]=t;return me(kn,X[n]?.themeOverride,m?.(r),e.themeOverride)},[m,X,kn]),Er=G.useCallback(e=>{let t=Ua.value?e.metaKey:e.ctrlKey,n=t&&Ce===`multi`,r=t&&B===`multi`,[i,o]=e.location,s=Y.columns,c=Y.rows,[l,u]=Y.current?.cell??[];if(e.kind===`cell`){if(wr.current=void 0,Or.current=[i,o],i===0&&tn){if(nn===!0&&o===y||It===`number`||Ce===`none`)return;let r=fr(e.location);if(r.kind!==Se.Marker)return;if(gt!==void 0){let t=Nn(r);F(t?.kind===Se.Marker);let n=t?.onClick?.({...e,cell:r,posX:e.localEventX,posY:e.localEventY,bounds:e.bounds,theme:Tr(r,e.location),preventDefault:()=>void 0});if(n===void 0||n.checked===r.checked)return}a(void 0),$n();let i=c.hasIndex(o),s=Cr.current;if(Ce===`multi`&&(e.shiftKey||e.isLongTouch===!0)&&s!==void 0&&c.hasIndex(s)){let e=[Math.min(s,o),Math.max(s,o)+1];n||Ie===`multi`?Dn(void 0,e,!0):Dn(W.fromSingleSelection(e),void 0,n)}else n||e.isTouch||Ie===`multi`?i?Dn(c.remove(o),void 0,!0):(Dn(void 0,o,!0),Cr.current=o):i&&c.length===1?Dn(W.empty(),void 0,t):(Dn(W.fromSingleSelection(o),void 0,t),Cr.current=o)}else if(i>=J&&nn&&o===y)xr(Sr(i)??i);else if(l!==i||u!==o){let n=fr(e.location),r=Nn(n);if(r?.onSelect!==void 0){let t=!1;if(r.onSelect({...e,cell:n,posX:e.localEventX,posY:e.localEventY,bounds:e.bounds,preventDefault:()=>t=!0,theme:Tr(n,e.location)}),t)return}let s=rn&&o===y,c=rn&&Y!==void 0&&Y.current?.cell[1]===y;if((e.shiftKey||e.isLongTouch===!0)&&l!==void 0&&u!==void 0&&Y.current!==void 0&&!c){if(s)return;let e=Math.min(i,l),n=Math.max(i,l),r=Math.min(o,u),a=Math.max(o,u);En({...Y.current,range:{x:e,y:r,width:n-e+1,height:a-r+1}},!0,t,`click`),Cr.current=void 0,$n()}else En({cell:[i,o],range:{x:i,y:o,width:1,height:1}},!0,t,`click`),Cr.current=void 0,a(void 0),$n()}}else if(e.kind===`header`)if(Or.current=[i,o],a(void 0),tn&&i===0)Cr.current=void 0,wr.current=void 0,Ce===`multi`&&(c.length===y?Dn(W.empty(),void 0,t):Dn(W.fromSingleSelection([0,y]),void 0,t),$n());else{let n=wr.current;if(B===`multi`&&(e.shiftKey||e.isLongTouch===!0)&&n!==void 0&&s.hasIndex(n)){let e=[Math.min(n,i),Math.max(n,i)+1];r?On(void 0,e,t):On(W.fromSingleSelection(e),void 0,t)}else r?(s.hasIndex(i)?On(s.remove(i),void 0,t):On(void 0,i,t),wr.current=i):B!==`none`&&(On(W.fromSingleSelection(i),void 0,t),wr.current=i);Cr.current=void 0,$n()}else e.kind===`group-header`?Or.current=[i,o]:e.kind===`out-of-bounds`&&!e.isMaybeScrollbar&&(vn(rs,!1),a(void 0),$n(),Ve?.(),Cr.current=void 0,wr.current=void 0)},[xr,B,$n,Nn,Sr,fr,Y,tn,rn,Ve,gt,J,It,Ce,Ie,y,En,vn,On,Dn,nn,Tr]),Dr=G.useRef(!1),Or=G.useRef(),kr=G.useRef(Gn),Z=G.useRef(),Ar=G.useCallback(e=>{if(Pr.current=!1,kr.current=Hn.current,e.button!==0&&e.button!==1){Z.current=void 0;return}let t=performance.now();Z.current={button:e.button,time:t,location:e.location},e?.kind===`header`&&(Dr.current=!0);let n=e.kind===`cell`&&e.isFillHandle;!n&&e.kind!==`cell`&&e.isEdge||(l({previousSelection:Y,fillHandle:n}),Or.current=void 0,!e.isTouch&&e.button===0&&!n?Er(e):!e.isTouch&&e.button===1&&(Or.current=e.location))},[Y,Er]),[jr,Mr]=G.useState(),Nr=G.useCallback(e=>{if(e.kind!==`group-header`||B!==`multi`)return;let t=Ua.value?e.metaKey:e.ctrlKey,[n]=e.location,r=Y.columns;if(n<J)return;let i=X[n],a=n,o=n;for(let e=n-1;e>=J&&un(i.group,X[e].group);e--)a--;for(let e=n+1;e<X.length&&un(i.group,X[e].group);e++)o++;if($n(),t)if(r.hasAll([a,o+1])){let e=r;for(let t=a;t<=o;t++)e=e.remove(t);On(e,void 0,t)}else On(void 0,[a,o+1],t);else On(W.fromSingleSelection([a,o+1]),void 0,t)},[B,$n,Y.columns,X,J,On]),Pr=G.useRef(!1),Fr=G.useCallback(async e=>{if(mn!==void 0&&bn!==void 0){let t=Hn.current.y,n=Hn.current.height,r=mn({x:e,y:t,width:1,height:Math.min(n,y-t)},dn.current.signal);typeof r!=`object`&&(r=await r());let i=Pn[e-J],a=document.createElement(`canvas`).getContext(`2d`,{alpha:!1});if(a!==null){a.font=kn.baseFontFull;let t=er(a,kn,i,0,r,Ut,Wt,!1,Nn);bn?.(i,t.width,e,t.width)}}},[Pn,mn,Wt,kn,Ut,bn,J,y,Nn]),[Ir,Lr]=G.useState(),Rr=G.useCallback(async(e,t)=>{let n=e.current?.range;if(n===void 0||mn===void 0||t.current===void 0)return;let r=t.current.range;if(C!==void 0){let e=!1;if(C({fillDestination:{...r,x:r.x-J},patternSource:{...n,x:n.x-J},preventDefault:()=>e=!0}),e)return}let i=mn(n,dn.current.signal);typeof i!=`object`&&(i=await i());let a=i,o=[];for(let e=0;e<r.width;e++)for(let t=0;t<r.height;t++){let i=[r.x+e,r.y+t];if(fn(i,n))continue;let s=a[t%n.height][e%n.width];Ee(s)||!V(s)||o.push({location:i,value:{...s}})}rr(o),Qn.current?.damage(o.map(e=>({cell:e.location})))},[mn,rr,C,J]),zr=G.useCallback(()=>{Y.current===void 0||Y.current.range.width<=1||Rr({...Y,current:{...Y.current,range:{...Y.current.range,width:1}}},Y)},[Rr,Y]),Br=G.useCallback(()=>{Y.current===void 0||Y.current.range.height<=1||Rr({...Y,current:{...Y.current,range:{...Y.current.range,height:1}}},Y)},[Rr,Y]),Vr=G.useCallback((e,t)=>{let n=c;if(l(void 0),ar(void 0),Lr(void 0),Dr.current=!1,t)return;if(n?.fillHandle===!0&&Y.current!==void 0&&n.previousSelection?.current!==void 0){if(ir===void 0)return;let e={...Y,current:{...Y.current,range:qr(n.previousSelection.current.range,ir)}};Rr(n.previousSelection,e),vn(e,!0);return}let[r,i]=e.location,[a,o]=Or.current??[],s=()=>{Pr.current=!0},u=t=>{let c=t.isTouch||a===r&&o===i;if(c&&x?.([r-J,i],{...t,preventDefault:s}),t.button===1)return!Pr.current;if(!Pr.current){let a=fr(e.location),o=Nn(a);if(o!==void 0&&o.onClick!==void 0&&c){let n=o.onClick({...t,cell:a,posX:t.localEventX,posY:t.localEventY,bounds:t.bounds,theme:Tr(a,e.location),preventDefault:s});n!==void 0&&!Ee(n)&&U(n)&&(rr([{location:t.location,value:n}]),Qn.current?.damage([{cell:t.location}]))}if(Pr.current||Y.current===void 0)return!1;let l=!1;switch(a.activationBehaviorOverride??Fe){case`double-click`:case`second-click`:{if(n?.previousSelection?.current?.cell===void 0)break;let[e,a]=Y.current.cell,[o,s]=n.previousSelection.current.cell;l=r===e&&r===o&&i===a&&i===s&&(t.isDoubleClick===!0||Fe===`second-click`);break}case`single-click`:l=!0;break}if(l)return S?.([r-J,i]),hr(t.bounds,!1),!0}return!1},d=e.location[0]-J;if(e.isTouch){let t=Hn.current,n=kr.current;if(t.x!==n.x||t.y!==n.y)return;if(e.isLongTouch===!0){if(e.kind===`cell`&&pn(Y.current?.cell,e.location)){A?.([d,e.location[1]],{...e,preventDefault:s});return}else if(e.kind===`header`&&Y.columns.hasIndex(r)){ie?.(d,{...e,preventDefault:s});return}else if(e.kind===`group-header`){if(d<0)return;M?.(d,{...e,preventDefault:s});return}}e.kind===`cell`?u(e)||Er(e):e.kind===`group-header`?ne?.(d,{...e,preventDefault:s}):(e.kind===`header`&&k?.(d,{...e,preventDefault:s}),Er(e));return}if(e.kind===`header`){if(d<0)return;e.isEdge?e.isDoubleClick===!0&&Fr(r):e.button===0&&r===a&&i===o&&k?.(d,{...e,preventDefault:s})}if(e.kind===`group-header`){if(d<0)return;e.button===0&&r===a&&i===o&&(ne?.(d,{...e,preventDefault:s}),Pr.current||Nr(e))}e.kind===`cell`&&(e.button===0||e.button===1)&&u(e),Or.current=void 0},[c,Y,J,ir,Rr,vn,x,fr,Nn,Fe,Tr,rr,S,hr,A,ie,M,Er,ne,k,Fr,Nr]),Hr=G.useCallback(e=>{let t={...e,location:[e.location[0]-J,e.location[1]]};Ae?.(t),c!==void 0&&e.buttons===0&&(l(void 0),ar(void 0),Lr(void 0),Dr.current=!1),Lr(t=>Dr.current?[e.scrollEdge[0],0]:e.scrollEdge[0]===t?.[0]&&e.scrollEdge[1]===t[1]?t:c===void 0||(Z.current?.location[0]??0)<J?void 0:e.scrollEdge)},[c,Ae,J]),Ur=G.useCallback((e,t)=>{Le?.(e-J,t)},[Le,J]),Gr=Y?.current?.cell,Jr=G.useCallback((e,t,n,r,i,a)=>{Wn.current=!1;let o=Gr;o!==void 0&&(o=[o[0]-J,o[1]]);let s=Pe===0?void 0:{x:0,y:e.y,width:Pe,height:e.height},c=[];s!==void 0&&c.push(s),Ze>0&&(c.push({x:e.x-J,y:y-Ze,width:e.width,height:Ze}),Pe>0&&c.push({x:0,y:y-Ze,width:Pe,height:Ze}));let l={x:e.x-J,y:e.y,width:e.width,height:nn&&e.y+e.height>=y?e.height-1:e.height,tx:i,ty:a,extras:{selected:o,freezeRegion:s,freezeRegions:c}};Hn.current=l,Kn(l),jn([t,n,r]),Ue?.(l,l.tx,l.ty,l.extras)},[Gr,J,nn,y,Pe,Ze,Kn,Ue]),Yr=Dt(be,G.useCallback((e,t)=>{be?.(e-J,t-J),B!==`none`&&On(W.fromSingleSelection(t),void 0,!0)},[B,be,J,On])),Xr=G.useRef(!1),Zr=G.useCallback(e=>{if(e.location[0]===0&&J>0){e.preventDefault();return}ke?.({...e,location:[e.location[0]-J,e.location[1]]}),e.defaultPrevented()||(Xr.current=!0),l(void 0)},[ke,J]),Qr=G.useCallback(()=>{Xr.current=!1},[]),$r=G.useRef(),ei=G.useCallback(e=>{if(!Ya(e,$r.current)&&($r.current=e,!(Z?.current?.button!==void 0&&Z.current.button>=1))){if(e.buttons!==0&&c!==void 0&&Z.current?.location[0]===0&&e.location[0]===0&&J===1&&Ce===`multi`&&c.previousSelection&&!c.previousSelection.rows.hasIndex(Z.current.location[1])&&Y.rows.hasIndex(Z.current.location[1])){let t=Math.min(Z.current.location[1],e.location[1]),n=Math.max(Z.current.location[1],e.location[1])+1;Dn(W.fromSingleSelection([t,n]),void 0,!1)}if(e.buttons!==0&&c!==void 0&&Y.current!==void 0&&!Xr.current&&!Dr.current&&(z===`rect`||z===`multi-rect`)){let[t,n]=Y.current.cell,[r,i]=e.location;if(i<0&&(i=Hn.current.y),c.fillHandle===!0&&c.previousSelection?.current!==void 0){let e=c.previousSelection.current.range;i=Math.min(i,nn?y-1:y),ar(Wr(e,r,i,Qe))}else{if(nn&&n===y)return;if(nn&&i===y)if(e.kind===`out-of-bounds`)i--;else return;r=Math.max(r,J);let a=r-t,o=i-n,s={x:a>=0?t:r,y:o>=0?n:i,width:Math.abs(a)+1,height:Math.abs(o)+1};En({...Y.current,range:s},!0,!1,`drag`)}}Be?.({...e,location:[e.location[0]-J,e.location[1]]})}},[Qe,c,J,Ce,Y,z,Be,Dn,nn,y,En]);Go(Ir,u,G.useCallback(()=>{let e=$r.current;if(e===void 0)return;let[t,n]=e.scrollEdge,[r,i]=e.location,a=Hn.current;t===-1?r=a.extras?.freezeRegion?.x??a.x:t===1&&(r=a.x+a.width),n===-1?i=Math.max(0,a.y):n===1&&(i=Math.min(y-1,a.y+a.height)),r=(0,Fa.default)(r,0,X.length-1),i=(0,Fa.default)(i,0,y-1),ei({...e,location:[r,i]})},[X.length,ei,y]));let ti=G.useCallback(e=>{if(Y.current===void 0)return;let[t,n]=e,[r,i]=Y.current.cell,a=Y.current.range,o=a.x,s=a.x+a.width,c=a.y,l=a.y+a.height;if(n!==0)switch(n){case 2:l=y,c=i,_r(0,l,`vertical`);break;case-2:c=0,l=i+1,_r(0,c,`vertical`);break;case 1:c<i?(c++,_r(0,c,`vertical`)):(l=Math.min(y,l+1),_r(0,l,`vertical`));break;case-1:l>i+1?(l--,_r(0,l,`vertical`)):(c=Math.max(0,c-1),_r(0,c,`vertical`));break;default:oe(n)}if(t!==0)if(t===2)s=X.length,o=r,_r(s-1-J,0,`horizontal`);else if(t===-2)o=J,s=r+1,_r(o-J,0,`horizontal`);else{let e=[];if(mn!==void 0){let t=mn({x:o,y:c,width:s-o-J,height:l-c},dn.current.signal);typeof t==`object`&&(e=es(t))}if(t===1){let t=!1;if(o<r){if(e.length>0){let n=(0,Xa.default)(o+1,r+1).find(t=>!e.includes(t-J));n!==void 0&&(o=n,t=!0)}else o++,t=!0;t&&_r(o,0,`horizontal`)}t||(s=Math.min(X.length,s+1),_r(s-1-J,0,`horizontal`))}else if(t===-1){let t=!1;if(s>r+1){if(e.length>0){let n=(0,Xa.default)(s-1,r,-1).find(t=>!e.includes(t-J));n!==void 0&&(s=n,t=!0)}else s--,t=!0;t&&_r(s-J,0,`horizontal`)}t||(o=Math.max(J,o-1),_r(o-J,0,`horizontal`))}else oe(t)}En({cell:Y.current.cell,range:{x:o,y:c,width:s-o,height:l-c}},!0,!1,`keyboard-select`)},[mn,Y,X.length,J,y,_r,En]),ni=G.useCallback((e,t,n,r)=>{let i=nr-(n?0:1);if(e=(0,Fa.default)(e,J,Pn.length-1+J),t=(0,Fa.default)(t,0,i),e===Gr?.[0]&&t===Gr?.[1])return!1;if(r&&Y.current!==void 0){let n=[...Y.current.rangeStack];(Y.current.range.width>1||Y.current.range.height>1)&&n.push(Y.current.range),vn({...Y,current:{cell:[e,t],range:{x:e,y:t,width:1,height:1},rangeStack:n}},!0)}else En({cell:[e,t],range:{x:e,y:t,width:1,height:1}},!0,!1,`keyboard-nav`);return d.current!==void 0&&d.current[0]===e&&d.current[1]===t&&(d.current=void 0),_r(e-J,t),!0},[nr,J,Pn.length,Gr,Y,_r,vn,En]),ri=G.useCallback((e,t)=>{i?.cell!==void 0&&e!==void 0&&U(e)&&(rr([{location:i.cell,value:e}]),window.requestAnimationFrame(()=>{Qn.current?.damage([{cell:i.cell}])})),$n(!0),a(void 0);let[n,r]=t;if(Y.current!==void 0&&(n!==0||r!==0)){let t=Y.current.cell[1]===nr-1&&e!==void 0;ni((0,Fa.default)(Y.current.cell[0]+n,0,X.length-1),(0,Fa.default)(Y.current.cell[1]+r,0,nr-1),t,!1)}w?.(e,t)},[i?.cell,$n,Y,w,rr,nr,ni,X.length]),ii=G.useMemo(()=>`gdg-overlay-${$o++}`,[]),ai=G.useCallback(e=>{$n();let t=[];for(let n=e.x;n<e.x+e.width;n++)for(let r=e.y;r<e.y+e.height;r++){let e=b([n-J,r]);if(!e.allowOverlay&&e.kind!==H.Boolean)continue;let i;if(e.kind===H.Custom){let t=Nn(e),n=t?.provideEditor?.(e);t?.onDelete===void 0?L(n)&&(i=n?.deletedValue?.(e)):i=t.onDelete(e)}else (U(e)&&e.allowOverlay||e.kind===H.Boolean)&&(i=Nn(e)?.onDelete?.(e));i!==void 0&&!Ee(i)&&U(i)&&t.push({location:[n,r],value:i})}rr(t),Qn.current?.damage(t.map(e=>({cell:e.location})))},[$n,b,Nn,rr,J]),oi=i!==void 0,si=G.useCallback(e=>{let t=()=>{e.stopPropagation(),e.preventDefault()},n={didMatch:!1},{bounds:r}=e,i=Y.columns,s=Y.rows,c=$t;if(!oi&&Q(c.clear,e,n))vn(rs,!1),Ve?.();else if(!oi&&Q(c.selectAll,e,n))vn({columns:W.empty(),rows:W.empty(),current:{cell:Y.current?.cell??[J,0],range:{x:J,y:0,width:v.length,height:y},rangeStack:[]}},!1);else if(Q(c.search,e,n))o?.current?.focus({preventScroll:!0}),on(!0);else if(Q(c.delete,e,n)){let e=Tn?.(Y)??!0;if(e!==!1){let t=e===!0?Y:e;if(t.current!==void 0){ai(t.current.range);for(let e of t.current.rangeStack)ai(e)}for(let e of t.rows)ai({x:J,y:e,width:v.length,height:1});for(let e of t.columns)ai({x:e,y:0,width:1,height:y})}}if(n.didMatch)return t(),!0;if(Y.current===void 0)return!1;let[l,u]=Y.current.cell,d=!1,f=!1;Q(c.scrollToSelectedCell,e,n)?hi.current(l-J,u):B!==`none`&&Q(c.selectColumn,e,n)?i.hasIndex(l)?On(i.remove(l),void 0,!0):B===`single`?On(W.fromSingleSelection(l),void 0,!0):On(void 0,l,!0):Ce!==`none`&&Q(c.selectRow,e,n)?s.hasIndex(u)?Dn(s.remove(u),void 0,!0):Ce===`single`?Dn(W.fromSingleSelection(u),void 0,!0):Dn(void 0,u,!0):!oi&&r!==void 0&&Q(c.activateCell,e,n)?u===y&&nn?window.setTimeout(()=>{xr(Sr(l)??l)},0):(S?.([l-J,u]),hr(r,!0)):Y.current.range.height>1&&Q(c.downFill,e,n)?Br():Y.current.range.width>1&&Q(c.rightFill,e,n)?zr():Q(c.goToNextPage,e,n)?u+=Math.max(1,Hn.current.height-4):Q(c.goToPreviousPage,e,n)?u-=Math.max(1,Hn.current.height-4):Q(c.goToFirstCell,e,n)?(a(void 0),u=0,l=0):Q(c.goToLastCell,e,n)?(a(void 0),u=2**53-1,l=2**53-1):Q(c.selectToFirstCell,e,n)?(a(void 0),ti([-2,-2])):Q(c.selectToLastCell,e,n)?(a(void 0),ti([2,2])):oi?(Q(c.closeOverlay,e,n)&&a(void 0),Q(c.acceptOverlayDown,e,n)&&(a(void 0),u++),Q(c.acceptOverlayUp,e,n)&&(a(void 0),u--),Q(c.acceptOverlayLeft,e,n)&&(a(void 0),l--),Q(c.acceptOverlayRight,e,n)&&(a(void 0),l++)):(Q(c.goDownCell,e,n)?u+=1:Q(c.goUpCell,e,n)?--u:Q(c.goRightCell,e,n)?l+=1:Q(c.goLeftCell,e,n)?--l:Q(c.goDownCellRetainSelection,e,n)?(u+=1,d=!0):Q(c.goUpCellRetainSelection,e,n)?(--u,d=!0):Q(c.goRightCellRetainSelection,e,n)?(l+=1,d=!0):Q(c.goLeftCellRetainSelection,e,n)?(--l,d=!0):Q(c.goToLastRow,e,n)?u=y-1:Q(c.goToFirstRow,e,n)?u=-(2**53-1):Q(c.goToLastColumn,e,n)?l=2**53-1:Q(c.goToFirstColumn,e,n)?l=-(2**53-1):(z===`rect`||z===`multi-rect`)&&(Q(c.selectGrowDown,e,n)?ti([0,1]):Q(c.selectGrowUp,e,n)?ti([0,-1]):Q(c.selectGrowRight,e,n)?ti([1,0]):Q(c.selectGrowLeft,e,n)?ti([-1,0]):Q(c.selectToLastRow,e,n)?ti([0,2]):Q(c.selectToFirstRow,e,n)?ti([0,-2]):Q(c.selectToLastColumn,e,n)?ti([2,0]):Q(c.selectToFirstColumn,e,n)&&ti([-2,0])),f=n.didMatch);let p=ni(l,u,!1,d),m=n.didMatch;return m&&(p||!f||St)&&t(),m},[oi,Y,$t,B,Ce,z,J,y,ni,vn,Ve,v.length,Tn,St,ai,On,Dn,nn,Sr,xr,S,hr,Br,zr,ti]),ci=G.useCallback(e=>{let t=!1;if(pe!==void 0&&pe({...e,cancel:()=>{t=!0}}),t||si(e)||Y.current===void 0)return;let[n,r]=Y.current.cell,i=Hn.current;if(ve&&!e.metaKey&&!e.ctrlKey&&Y.current!==void 0&&e.key.length===1&&/[ -~]/g.test(e.key)&&e.bounds!==void 0&&V(b([n-J,Math.max(0,Math.min(r,y-1))]))){if((!nn||r!==y)&&(i.y>r||r>i.y+i.height||i.x>n||n>i.x+i.width))return;hr(e.bounds,!0,e.key),e.stopPropagation(),e.preventDefault()}},[ve,pe,si,Y,b,J,y,nn,hr]),li=G.useCallback((e,t)=>{let n=e.location[0]-J;if(e.kind===`header`&&ie?.(n,{...e,preventDefault:t}),e.kind===`group-header`){if(n<0)return;M?.(n,{...e,preventDefault:t})}if(e.kind===`cell`){let[r,i]=e.location;A?.([n,i],{...e,preventDefault:t}),ln(Y,e.location)||ni(r,i,!1,!1)}},[Y,A,M,ie,J,ni]),ui=G.useCallback(async e=>{if(!$t.paste)return;function t(e,t,n,r){let i=typeof n==`object`?n?.join(`
135
135
  `)??``:n?.toString()??``;if(!Ee(e)&&V(e)&&e.readonly!==!0){let a=T?.(i,e);if(a!==void 0&&U(a))return{location:t,value:a};let o=Nn(e);if(o===void 0)return;if(o.kind===H.Custom){F(e.kind===H.Custom);let n=o.onPaste?.(i,e.data);return n===void 0?void 0:{location:t,value:{...e,data:n}}}else{let a=o.onPaste?.(i,e,{formatted:r,formattedString:typeof r==`string`?r:r?.join(`
136
136
  `),rawValue:n});return a===void 0?void 0:(F(a.kind===e.kind),{location:t,value:a})}}}let n=Y.columns,r=Y.rows,i=u.current?.contains(document.activeElement)===!0||s.current?.contains(document.activeElement)===!0,a;if(Y.current===void 0?n.length===1?a=[n.first()??0,0]:r.length===1&&(a=[J,r.first()??0]):a=[Y.current.range.x,Y.current.range.y],i&&a!==void 0){let n,r,i=`text/plain`,o=`text/html`;if(navigator.clipboard.read!==void 0){let e=await navigator.clipboard.read();for(let t of e){if(t.types.includes(o)){let e=Mo(await(await t.getType(o)).text());if(e!==void 0){n=e;break}}t.types.includes(i)&&(r=await(await t.getType(i)).text())}}else if(navigator.clipboard.readText!==void 0)r=await navigator.clipboard.readText();else if(e!==void 0&&e?.clipboardData!==null)e.clipboardData.types.includes(o)&&(n=Mo(e.clipboardData.getData(o))),n===void 0&&e.clipboardData.types.includes(i)&&(r=e.clipboardData.getData(i));else return;let[s,c]=a,l=[];do{if(je===void 0){let e=fr(a),i=r??n?.map(e=>e.map(e=>e.rawValue).join(` `)).join(` `)??``,o=t(e,a,i,void 0);o!==void 0&&l.push(o);break}if(n===void 0){if(r===void 0)return;n=Fo(r)}if(je===!1||typeof je==`function`&&je?.([a[0]-J,a[1]],n.map(e=>e.map(e=>e.rawValue?.toString()??``)))!==!0)return;for(let[e,r]of n.entries()){if(e+c>=y)break;for(let[n,i]of r.entries()){let r=[n+s,e+c],[a,o]=r;if(a>=X.length||o>=nr)continue;let u=t(fr(r),r,i.rawValue,i.formatted);u!==void 0&&l.push(u)}}}while(!1);rr(l),Qn.current?.damage(l.map(e=>({cell:e.location})))}},[T,Nn,fr,Y,$t.paste,X.length,rr,nr,je,J,y]);Et(`paste`,ui,f,!1,!0);let di=G.useCallback(async(e,t)=>{if(!$t.copy)return;let n=t===!0||u.current?.contains(document.activeElement)===!0||s.current?.contains(document.activeElement)===!0,r=Y.columns,i=Y.rows,a=(t,n)=>{Io(Ne?[n.map(e=>({kind:H.Text,data:v[e].title,displayData:v[e].title,allowOverlay:!1})),...t]:t,n,e)};if(n&&mn!==void 0){if(Y.current!==void 0){let e=mn(Y.current.range,dn.current.signal);typeof e!=`object`&&(e=await e()),a(e,(0,Xa.default)(Y.current.range.x-J,Y.current.range.x+Y.current.range.width-J))}else if(i!==void 0&&i.length>0){let e=[...i].map(e=>{let t=mn({x:J,y:e,width:v.length,height:1},dn.current.signal);return typeof t==`object`?t[0]:t().then(e=>e[0])});e.some(e=>e instanceof Promise)?a(await Promise.all(e),(0,Xa.default)(v.length)):a(e,(0,Xa.default)(v.length))}else if(r.length>0){let e=[],t=[];for(let n of r){let r=mn({x:n,y:0,width:1,height:y},dn.current.signal);typeof r!=`object`&&(r=await r()),e.push(r),t.push(n-J)}e.length===1?a(e[0],t):a(e.reduce((e,t)=>e.map((e,n)=>[...e,...t[n]])),t)}}},[v,mn,Y,$t.copy,J,y,Ne]);Et(`copy`,di,f,!1,!1),Et(`cut`,G.useCallback(async e=>{if($t.cut&&(u.current?.contains(document.activeElement)===!0||s.current?.contains(document.activeElement)===!0)&&(await di(e),Y.current!==void 0)){let e={current:{cell:Y.current.cell,range:Y.current.range,rangeStack:[]},rows:W.empty(),columns:W.empty()},t=Tn?.(e);if(t===!1||(e=t===!0?e:t,e.current===void 0))return;ai(e.current.range)}},[ai,Y,$t.cut,di,Tn]),f,!1,!1);let fi=G.useCallback((e,t)=>{if(ue!==void 0){J!==0&&(e=e.map(e=>[e[0]-J,e[1]])),ue(e,t);return}if(e.length===0||t===-1)return;let[n,r]=e[t];d.current!==void 0&&d.current[0]===n&&d.current[1]===r||(d.current=[n,r],ni(n,r,!1,!1))},[ue,J,ni]),[pi,mi]=We?.current?.cell??[],hi=G.useRef(_r);hi.current=_r,G.useLayoutEffect(()=>{!Wn.current&&pi!==void 0&&mi!==void 0&&(pi!==_n.current?.current?.cell[0]||mi!==_n.current?.current?.cell[1])&&hi.current(pi,mi),Wn.current=!1},[pi,mi]);let gi=Y.current!==void 0&&(Y.current.cell[0]>=X.length||Y.current.cell[1]>=nr);G.useLayoutEffect(()=>{gi&&vn(rs,!1)},[gi,vn]);let _i=G.useMemo(()=>nn===!0&&Xe?.tint===!0?W.fromSingleSelection(nr-1):W.empty(),[nr,nn,Xe?.tint]),vi=G.useCallback(e=>typeof q==`boolean`?q:q?.(e-J)??!0,[J,q]),yi=G.useMemo(()=>{if(jr===void 0||s.current===null)return null;let{bounds:e,group:t}=jr,n=s.current.getBoundingClientRect();return G.createElement(vo,{bounds:e,group:t,canvasBounds:n,onClose:()=>Mr(void 0),onFinish:e=>{Mr(void 0),se?.(t,e)}})},[se,jr]),bi=Math.min(X.length,Pe+(tn?1:0));G.useImperativeHandle(t,()=>({appendRow:(e,t)=>xr(e+J,t),updateCells:e=>(J!==0&&(e=e.map(e=>({cell:[e.cell[0]+J,e.cell[1]]}))),Qn.current?.damage(e)),getBounds:(e,t)=>{if(!(s?.current===null||u?.current===null)){if(e===void 0&&t===void 0){let e=s.current.getBoundingClientRect(),t=e.width/u.current.clientWidth;return{x:e.x-u.current.scrollLeft*t,y:e.y-u.current.scrollTop*t,width:u.current.scrollWidth*t,height:u.current.scrollHeight*t}}return Qn.current?.getBounds((e??0)+J,t)}},focus:()=>Qn.current?.focus(),emit:async e=>{switch(e){case`delete`:ci({bounds:void 0,cancel:()=>void 0,stopPropagation:()=>void 0,preventDefault:()=>void 0,ctrlKey:!1,key:`Delete`,keyCode:46,metaKey:!1,shiftKey:!1,altKey:!1,rawEvent:void 0,location:void 0});break;case`fill-right`:ci({bounds:void 0,cancel:()=>void 0,stopPropagation:()=>void 0,preventDefault:()=>void 0,ctrlKey:!0,key:`r`,keyCode:82,metaKey:!1,shiftKey:!1,altKey:!1,rawEvent:void 0,location:void 0});break;case`fill-down`:ci({bounds:void 0,cancel:()=>void 0,stopPropagation:()=>void 0,preventDefault:()=>void 0,ctrlKey:!0,key:`d`,keyCode:68,metaKey:!1,shiftKey:!1,altKey:!1,rawEvent:void 0,location:void 0});break;case`copy`:await di(void 0,!0);break;case`paste`:await ui();break}},scrollTo:_r,remeasureColumns:e=>{for(let t of e)Fr(t+J)}}),[xr,Fr,di,ci,ui,J,_r]);let[xi,Si]=Gr??[],Ci=G.useCallback(e=>{let[t,n]=e;if(n===-1){B!==`none`&&(On(W.fromSingleSelection(t),void 0,!1),$n());return}xi===t&&Si===n||(En({cell:e,range:{x:t,y:n,width:1,height:1}},!0,!1,`keyboard-nav`),_r(t,n))},[B,$n,_r,xi,Si,En,On]),[wi,Ti]=G.useState(!1),Ei=G.useRef((0,Tt.default)(e=>{Ti(e)},5)),Di=G.useCallback(()=>{Ei.current(!0),Y.current===void 0&&Y.columns.length===0&&Y.rows.length===0&&c===void 0&&En({cell:[J,Zn],range:{x:J,y:Zn,width:1,height:1}},!0,!1,`keyboard-select`)},[Zn,Y,c,J,En]),Oi=G.useCallback(()=>{Ei.current(!1)},[]),[ki,Ai]=G.useMemo(()=>{let e,t=ct?.scrollbarWidthOverride??Bt(),n=y+(nn?1:0);if(typeof qt==`number`)e=Ln+n*qt;else{let t=0,r=Math.min(n,10);for(let e=0;e<r;e++)t+=qt(e);t=Math.floor(t/r),e=Ln+n*t}e+=t;let r=X.reduce((e,t)=>t.width+e,0)+t;return[`${Math.min(1e5,r)}px`,`${Math.min(1e5,e)}px`]},[X,ct?.scrollbarWidthOverride,qt,y,nn,Ln]),ji=G.useMemo(()=>re(kn),[kn]);return G.createElement(I.Provider,{value:kn},G.createElement(Ho,{style:ji,className:j,inWidth:g??ki,inHeight:_??Ai},G.createElement(ho,{fillHandle:ot,drawFocusRing:st,experimental:ct,fixedShadowX:lt,fixedShadowY:ut,getRowThemeOverride:m,headerIcons:dt,imageWindowLoader:ft,initialSize:pt,isDraggable:mt,onDragLeave:ht,onRowMoved:gt,overscrollX:Zt,overscrollY:Qt,preventDiagonalScrolling:yt,rightElement:bt,rightElementProps:xt,smoothScrollX:Ct,smoothScrollY:wt,className:j,enableGroups:In,onCanvasFocused:Di,onCanvasBlur:Oi,canvasRef:s,onContextMenu:li,theme:kn,cellXOffset:Xn,cellYOffset:Zn,accessibilityHeight:Gn.height,onDragEnd:Qr,columns:X,nonGrowWidth:Fn,drawHeader:Cn,onColumnProposeMove:ee,drawCell:wn,disabledRows:_i,freezeColumns:bi,lockColumns:J,firstColAccessible:J===0,getCellContent:fr,minColumnWidth:Ut,maxColumnWidth:Wt,searchInputRef:o,showSearch:sn,onSearchClose:cn,highlightRegions:ur,getCellsForSelection:mn,getGroupDetails:pr,headerHeight:Jt,isFocused:wi,groupHeaderHeight:In?Yt:0,freezeTrailingRows:Ze+(nn&&Xe?.sticky===!0?1:0),hasAppendRow:nn,onColumnResize:bn,onColumnResizeEnd:xn,onColumnResizeStart:Sn,onCellFocused:Ci,onColumnMoved:Yr,onDragStart:Zr,onHeaderMenuClick:Ur,onItemHovered:ei,isFilling:c?.fillHandle===!0,onMouseMove:Hr,onKeyDown:ci,onKeyUp:ge,onMouseDown:Ar,onMouseUp:Vr,onDragOverCell:et,onDrop:tt,onSearchResultsChanged:fi,onVisibleRegionChanged:Jr,clientSize:An,rowHeight:qt,searchResults:P,searchValue:fe,onSearchValueChange:de,rows:nr,scrollRef:u,selection:Y,translateX:Gn.tx,translateY:Gn.ty,verticalBorder:vi,gridRef:Qn,getCellRenderer:Nn}),yi,i!==void 0&&G.createElement(G.Suspense,{fallback:null},G.createElement(Qo,{...i,validateCell:gn,bloom:O,id:ii,getCellRenderer:Nn,className:ct?.isSubGrid===!0?`click-outside-ignore`:void 0,provideEditor:Ye,imageEditorOverride:p,onFinishEditing:ri,markdownDivCreateNode:h,isOutsideClick:Nt}))))}),as=20,os={getAccessibilityString:e=>e.data?.toString()??`false`,kind:H.Boolean,needsHover:!0,useLabel:!1,needsHoverPosition:!0,measure:()=>50,draw:e=>ss(e,e.cell.data,_e(e.cell),e.cell.maxSize??as),onDelete:e=>({...e,data:!1}),onClick:e=>{let{cell:t,posX:n,posY:r,bounds:i,theme:a}=e,{width:o,height:s,x:c,y:l}=i,u=t.maxSize??as,d=Math.floor(i.y+s/2),f=Mt(u,s,a.cellVerticalPadding),p=At(jt(t.contentAlign??`center`,c,o,a.cellHorizontalPadding,f),d,f),m=Nt(c+n,l+r,p);if(_e(t)&&m)return{...t,data:Lo(t.data)}},onPaste:(e,t)=>{let n=null;return e.toLowerCase()===`true`?n=!0:e.toLowerCase()===`false`?n=!1:e.toLowerCase()===`indeterminate`&&(n=void 0),n===t.data?void 0:{...t,data:n}}};function ss(e,t,n,r){if(!n&&t===null)return;let{ctx:i,hoverAmount:a,theme:o,rect:s,highlighted:c,hoverX:l,hoverY:u,cell:{contentAlign:d}}=e,{x:f,y:p,width:m,height:h}=s,g=.35,_=n?1-g+g*a:.4;t===null&&(_*=a),_!==0&&(i.globalAlpha=_,ai(i,o,t,f,p,m,h,c,l,u,r,d),i.globalAlpha=1)}var cs=Ne(`div`)({name:`BubblesOverlayEditorStyle`,class:`gdg-b1ygi5by`,propsAsIs:!1}),ls=e=>{let{bubbles:t}=e;return G.createElement(cs,null,t.map((e,t)=>G.createElement(`div`,{key:t,className:`boe-bubble`},e)),G.createElement(`textarea`,{className:`gdg-input`,autoFocus:!0}))},us={getAccessibilityString:e=>Ut(e.data),kind:H.Bubble,needsHover:!1,useLabel:!1,needsHoverPosition:!1,measure:(e,t,n)=>t.data.reduce((t,n)=>e.measureText(n).width+t+20,0)+2*n.cellHorizontalPadding-4,draw:e=>fs(e,e.cell.data),provideEditor:()=>e=>{let{value:t}=e;return G.createElement(ls,{bubbles:t.data})},onPaste:()=>void 0},ds=4;function fs(e,t){let{rect:n,theme:r,ctx:i,highlighted:a}=e,{x:o,y:s,width:c,height:l}=n,u=ds,d=o+r.cellHorizontalPadding,f=[];for(let e of t){if(d>o+c)break;let t=On(e,i,r.baseFontFull).width;f.push({x:d,width:t}),d+=t+16+u}i.beginPath();for(let e of f)Bn(i,e.x,s+(l-20)/2,e.width+16,20,r.roundingRadius??20/2);i.fillStyle=a?r.bgBubbleSelected:r.bgBubble,i.fill();for(let[e,n]of f.entries())i.beginPath(),i.fillStyle=r.textBubble,i.fillText(t[e],n.x+8,s+l/2+An(i,r))}var ps=Ne(`div`)({name:`DrilldownOverlayEditorStyle`,class:`gdg-d4zsq0x`,propsAsIs:!1}),ms=e=>{let{drilldowns:t}=e;return G.createElement(ps,null,t.map((e,t)=>G.createElement(`div`,{key:t,className:`doe-bubble`},e.img!==void 0&&G.createElement(`img`,{src:e.img}),G.createElement(`div`,null,e.text))))},hs={getAccessibilityString:e=>Ut(e.data.map(e=>e.text)),kind:H.Drilldown,needsHover:!1,useLabel:!1,needsHoverPosition:!1,measure:(e,t,n)=>t.data.reduce((t,n)=>e.measureText(n.text).width+t+20+(n.img===void 0?0:18),0)+2*n.cellHorizontalPadding-4,draw:e=>ys(e,e.cell.data),provideEditor:()=>e=>{let{value:t}=e;return G.createElement(ms,{drilldowns:t.data})},onPaste:()=>void 0},gs=4,_s={};function vs(e,t,n,r){let i=Math.ceil(window.devicePixelRatio),a=n-10,o=n*i,s=r+5,c=r*3,l=(c+10)*i,u=`${e},${t},${i},${n}`;if(_s[u]!==void 0)return{el:_s[u],height:o,width:l,middleWidth:4*i,sideWidth:s*i,padding:5*i,dpr:i};let d=document.createElement(`canvas`),f=d.getContext(`2d`);return f===null?null:(d.width=l,d.height=o,f.scale(i,i),_s[u]=d,f.beginPath(),Bn(f,5,5,c,a,r),f.shadowColor=`rgba(24, 25, 34, 0.4)`,f.shadowBlur=1,f.fillStyle=e,f.fill(),f.shadowColor=`rgba(24, 25, 34, 0.3)`,f.shadowOffsetY=1,f.shadowBlur=5,f.fillStyle=e,f.fill(),f.shadowOffsetY=0,f.shadowBlur=0,f.shadowBlur=0,f.beginPath(),Bn(f,5.5,5.5,c,a,r),f.strokeStyle=t,f.lineWidth=1,f.stroke(),{el:d,height:o,width:l,sideWidth:s*i,middleWidth:r*i,padding:5*i,dpr:i})}function ys(e,t){let{rect:n,theme:r,ctx:i,imageLoader:a,col:o,row:s}=e,{x:c,width:l}=n,u=r.baseFontFull,d=Ln(i,u),f=Math.min(n.height,Math.max(16,Math.ceil(d*r.lineHeight)*2)),p=Math.floor(n.y+(n.height-f)/2),m=f-10,h=gs,g=c+r.cellHorizontalPadding,_=r.roundingRadius??6,v=vs(r.bgCell,r.drilldownBorder,f,_),y=[];for(let e of t){if(g>c+l)break;let t=On(e.text,i,u).width,n=0;e.img!==void 0&&a.loadOrGetImage(e.img,o,s)!==void 0&&(n=m-8+4);let r=t+n+16;y.push({x:g,width:r}),g+=r+h}if(v!==null){let{el:e,height:t,middleWidth:n,sideWidth:r,width:a,dpr:o,padding:s}=v,c=r/o,l=s/o;for(let o of y){let s=Math.floor(o.x),u=Math.floor(o.width),d=u-(c-l)*2;i.imageSmoothingEnabled=!1,i.drawImage(e,0,0,r,t,s-l,p,c,f),d>0&&i.drawImage(e,r,0,n,t,s+(c-l),p,d,f),i.drawImage(e,a-r,0,r,t,s+u-(c-l),p,c,f),i.imageSmoothingEnabled=!0}}i.beginPath();for(let[e,n]of y.entries()){let c=t[e],l=n.x+8;if(c.img!==void 0){let e=a.loadOrGetImage(c.img,o,s);if(e!==void 0){let t=m-8,n=0,a=0,o=e.width,s=e.height;o>s?(n+=(o-s)/2,o=s):s>o&&(a+=(s-o)/2,s=o),i.beginPath(),Bn(i,l,p+f/2-t/2,t,t,r.roundingRadius??3),i.save(),i.clip(),i.drawImage(e,n,a,o,s,l,p+f/2-t/2,t,t),i.restore(),l+=t+4}}i.beginPath(),i.fillStyle=r.textBubble,i.fillText(c.text,l,p+f/2+An(i,r))}}var bs={getAccessibilityString:e=>e.data.join(`, `),kind:H.Image,needsHover:!1,useLabel:!1,needsHoverPosition:!1,draw:e=>Ss(e,e.cell.displayData??e.cell.data,e.cell.rounding??e.theme.roundingRadius??4,e.cell.contentAlign),measure:(e,t)=>t.data.length*50,onDelete:e=>({...e,data:[]}),provideEditor:()=>e=>{let{value:t,onFinishedEditing:n,imageEditorOverride:r}=e,i=r??Kt;return G.createElement(i,{urls:t.data,canWrite:t.readonly!==!1,onCancel:n,onChange:e=>{n({...t,data:[e]})}})},onPaste:(e,t)=>{e=e.trim();let n=e.split(`,`).map(e=>{try{return new URL(e),e}catch{return}}).filter(e=>e!==void 0);if(!(n.length===t.data.length&&n.every((e,n)=>e===t.data[n])))return{...t,data:n}}},xs=4;function Ss(e,t,n,r){let{rect:i,col:a,row:o,theme:s,ctx:c,imageLoader:l}=e,{x:u,y:d,height:f,width:p}=i,m=f-s.cellVerticalPadding*2,h=[],g=0;for(let e=0;e<t.length;e++){let n=t[e];if(n.length===0)continue;let r=l.loadOrGetImage(n,a,o);if(r!==void 0){h[e]=r;let t=r.width*(m/r.height);g+=t+xs}}if(g===0)return;g-=xs;let _=u+s.cellHorizontalPadding;r===`right`?_=Math.floor(u+p-s.cellHorizontalPadding-g):r===`center`&&(_=Math.floor(u+p/2-g/2));for(let e of h){if(e===void 0)continue;let t=e.width*(m/e.height);n>0&&(c.beginPath(),Bn(c,_,d+s.cellVerticalPadding,t,m,n),c.save(),c.clip()),c.drawImage(e,_,d+s.cellVerticalPadding,t,m),n>0&&c.restore(),_+=t+xs}}function Cs(e,t){let n=e*49632+t*325176;return n^=n<<13,n^=n>>17,n^=n<<5,n/4294967295*2}var ws={getAccessibilityString:()=>``,kind:H.Loading,needsHover:!1,useLabel:!1,needsHoverPosition:!1,measure:()=>120,draw:e=>{let{cell:t,col:n,row:r,ctx:i,rect:a,theme:o}=e;if(t.skeletonWidth===void 0||t.skeletonWidth===0)return;let s=t.skeletonWidth;t.skeletonWidthVariability!==void 0&&t.skeletonWidthVariability>0&&(s+=Math.round(Cs(n,r)*t.skeletonWidthVariability));let c=o.cellHorizontalPadding,l=t.skeletonHeight??Math.min(18,a.height-2*o.cellVerticalPadding);Bn(i,a.x+c,a.y+(a.height-l)/2,s,l,o.roundingRadius??3),i.fillStyle=he(o.textDark,.1),i.fill()},onPaste:()=>void 0},Ts=()=>e=>e.targetWidth,Es=Ne(`div`)({name:`MarkdownOverlayEditorStyle`,class:`gdg-m1pnx84e`,propsAsIs:!1,vars:{"m1pnx84e-0":[Ts(),`px`]}}),Ds=e=>{let{value:t,onChange:n,forceEditMode:r,createNode:i,targetRect:a,onFinish:o,validatedSelection:s}=e,c=t.data,l=t.readonly===!0,[u,d]=G.useState(c===``||r),f=G.useCallback(()=>{d(e=>!e)},[]),p=c?`gdg-ml-6`:``;return u?G.createElement(Es,{targetWidth:a.width-20},G.createElement($t,{autoFocus:!0,highlight:!1,validatedSelection:s,value:c,onKeyDown:e=>{e.key===`Enter`&&e.stopPropagation()},onChange:n}),G.createElement(`div`,{className:`gdg-edit-icon gdg-checkmark-hover ${p}`,onClick:()=>o(t)},G.createElement(Ft,null))):G.createElement(Es,{targetWidth:a.width},G.createElement(Jt,{contents:c,createNode:i}),!l&&G.createElement(G.Fragment,null,G.createElement(`div`,{className:`spacer`}),G.createElement(`div`,{className:`gdg-edit-icon gdg-edit-hover ${p}`,onClick:f},G.createElement(Pt,null))),G.createElement(`textarea`,{className:`gdg-md-edit-textarea gdg-input`,autoFocus:!0}))},Os={getAccessibilityString:e=>e.data?.toString()??``,kind:H.Markdown,needsHover:!1,needsHoverPosition:!1,drawPrep:Fn,measure:(e,t,n)=>{let r=t.data.split(`
137
- `)[0];return e.measureText(r).width+2*n.cellHorizontalPadding},draw:e=>X(e,e.cell.data,e.cell.contentAlign),onDelete:e=>({...e,data:``}),provideEditor:()=>e=>{let{onChange:t,value:n,target:r,onFinishedEditing:i,markdownDivCreateNode:a,forceEditMode:o,validatedSelection:s}=e;return G.createElement(Ds,{onFinish:i,targetRect:r,value:n,validatedSelection:s,onChange:e=>t({...n,data:e.target.value}),forceEditMode:o,createNode:a})},onPaste:(e,t)=>e===t.data?void 0:{...t,data:e}},ks={getAccessibilityString:e=>e.row.toString(),kind:Se.Marker,needsHover:!0,needsHoverPosition:!1,drawPrep:As,measure:()=>44,draw:e=>Ms(e,e.cell.row,e.cell.checked,e.cell.markerKind,e.cell.drawHandle,e.cell.checkboxStyle),onClick:e=>{let{bounds:t,cell:n,posX:r,posY:i}=e,{width:a,height:o}=t,s=n.drawHandle?7+(a-7)/2:a/2,c=o/2;if(Math.abs(r-s)<=10&&Math.abs(i-c)<=10)return{...n,checked:!n.checked}},onPaste:()=>void 0};function As(e,t){let{ctx:n,theme:r}=e,i=r.markerFontFull,a=t??{};return a?.font!==i&&(n.font=i,a.font=i),a.deprep=js,n.textAlign=`center`,a}function js(e){let{ctx:t}=e;t.textAlign=`start`}function Ms(e,t,n,r,i,a){let{ctx:o,rect:s,hoverAmount:c,theme:l}=e,{x:u,y:d,width:f,height:p}=s,m=n?1:r===`checkbox-visible`?.6+.4*c:c;if(r!==`number`&&m>0){o.globalAlpha=m;let e=7*(n?c:1);if(ai(o,l,n,i?u+e:u,d,i?f-e:f,p,!0,void 0,void 0,18,`center`,a),i){o.globalAlpha=c,o.beginPath();for(let e of[3,6])for(let t of[-5,-1,3])o.rect(u+e,d+p/2+t,2,2);o.fillStyle=l.textLight,o.fill(),o.beginPath()}o.globalAlpha=1}if(r===`number`||r===`both`&&!n){let e=t.toString(),n=l.markerFontFull,i=u+f/2;r===`both`&&c!==0&&(o.globalAlpha=1-c),o.fillStyle=l.textLight,o.font=n,o.fillText(e,i,d+p/2+An(o,n)),c!==0&&(o.globalAlpha=1)}}var Ns={getAccessibilityString:()=>``,kind:Se.NewRow,needsHover:!0,needsHoverPosition:!1,measure:()=>200,draw:e=>Ps(e,e.cell.hint,e.cell.icon),onPaste:()=>void 0};function Ps(e,t,n){let{ctx:r,rect:i,hoverAmount:a,theme:o,spriteManager:s}=e,{x:c,y:l,width:u,height:d}=i;r.beginPath(),r.globalAlpha=a,r.rect(c+1,l+1,u,d-2),r.fillStyle=o.bgHeaderHovered,r.fill(),r.globalAlpha=1,r.beginPath();let f=t!==``,p=0;if(n!==void 0){let e=d-8,t=c+8/2,i=l+8/2;s.drawSprite(n,`normal`,r,t,i,e,o,f?1:a),p=e}else{p=24;let e=f?12:a*12,t=f?0:(1-a)*12*.5,n=o.cellHorizontalPadding+4;e>0&&(r.moveTo(c+n+t,l+d/2),r.lineTo(c+n+t+e,l+d/2),r.moveTo(c+n+t+e*.5,l+d/2-e*.5),r.lineTo(c+n+t+e*.5,l+d/2+e*.5),r.lineWidth=2,r.strokeStyle=o.bgIconHeader,r.lineCap=`round`,r.stroke())}r.fillStyle=o.textMedium,r.fillText(t,p+c+o.cellHorizontalPadding+.5,l+d/2+An(r,o)),r.beginPath()}var Fs=G.lazy(async()=>await g(()=>import(`./number-overlay-editor-C_eD-Bdr.js`),__vite__mapDeps([6,1,2,3]))),Is={getAccessibilityString:e=>e.data?.toString()??``,kind:H.Number,needsHover:!1,needsHoverPosition:!1,useLabel:!0,drawPrep:Fn,draw:e=>X(e,e.cell.displayData,e.cell.contentAlign),measure:(e,t,n)=>e.measureText(t.displayData).width+n.cellHorizontalPadding*2,onDelete:e=>({...e,data:void 0}),provideEditor:()=>e=>{let{isHighlighted:t,onChange:n,value:r,validatedSelection:i}=e;return G.createElement(G.Suspense,{fallback:null},G.createElement(Fs,{highlight:t,disabled:r.readonly===!0,value:r.data,fixedDecimals:r.fixedDecimals,allowNegative:r.allowNegative,thousandSeparator:r.thousandSeparator,decimalSeparator:r.decimalSeparator,validatedSelection:i,onChange:e=>n({...r,data:Number.isNaN(e.floatValue??0)?0:e.floatValue})}))},onPaste:(e,t,n)=>{let r=typeof n.rawValue==`number`?n.rawValue:Number.parseFloat(typeof n.rawValue==`string`?n.rawValue:e);if(!(Number.isNaN(r)||t.data===r))return{...t,data:r,displayData:n.formattedString??t.displayData}}},Ls={getAccessibilityString:()=>``,measure:()=>108,kind:H.Protected,needsHover:!1,needsHoverPosition:!1,draw:Rs,onPaste:()=>void 0};function Rs(e){let{ctx:t,theme:n,rect:r}=e,{x:i,y:a,height:o}=r;t.beginPath();let s=2.5,c=i+n.cellHorizontalPadding+s,l=a+o/2,u=Math.cos(kt(30))*s,d=Math.sin(kt(30))*s;for(let e=0;e<12;e++)t.moveTo(c,l-s),t.lineTo(c,l+s),t.moveTo(c+u,l-d),t.lineTo(c-u,l+d),t.moveTo(c-u,l-d),t.lineTo(c+u,l+d),c+=8;t.lineWidth=1.1,t.lineCap=`square`,t.strokeStyle=n.textLight,t.stroke()}var zs={getAccessibilityString:e=>e.data?.toString()??``,kind:H.RowID,needsHover:!1,needsHoverPosition:!1,drawPrep:(e,t)=>Fn(e,t,e.theme.textLight),draw:e=>X(e,e.cell.data,e.cell.contentAlign),measure:(e,t,n)=>e.measureText(t.data).width+n.cellHorizontalPadding*2,provideEditor:()=>e=>{let{isHighlighted:t,onChange:n,value:r,validatedSelection:i}=e;return G.createElement($t,{highlight:t,autoFocus:r.readonly!==!0,disabled:r.readonly!==!1,value:r.data,validatedSelection:i,onChange:e=>n({...r,data:e.target.value})})},onPaste:()=>void 0},Bs={getAccessibilityString:e=>e.data?.toString()??``,kind:H.Text,needsHover:e=>e.hoverEffect===!0,needsHoverPosition:!1,drawPrep:Fn,useLabel:!0,draw:e=>{let{cell:t,hoverAmount:n,hyperWrapping:r,ctx:i,rect:a,theme:o,overrideCursor:s}=e,{displayData:c,contentAlign:l,hoverEffect:u,allowWrapping:d}=t;if(u===!0&&n>0){i.textBaseline=`alphabetic`;let e=o.cellHorizontalPadding,t=o.cellVerticalPadding,r=On(c,i,o.baseFontFull,`alphabetic`),l=a.height-t,u=Math.min(l,r.actualBoundingBoxAscent*2.5);i.beginPath(),Bn(i,a.x+e/2,a.y+(a.height-u)/2+1,r.width+e*3,u-1,o.roundingRadius??4),i.globalAlpha=n,i.fillStyle=he(o.textDark,.1),i.fill(),i.globalAlpha=1,i.fillStyle=o.textDark,i.textBaseline=`middle`,s?.(`text`)}X(e,c,l,d,r)},measure:(e,t,n)=>{let r=t.displayData.split(`
138
- `,t.allowWrapping===!0?void 0:1),i=0;for(let t of r)i=Math.max(i,e.measureText(t).width);return i+2*n.cellHorizontalPadding},onDelete:e=>({...e,data:``}),provideEditor:e=>({disablePadding:e.allowWrapping===!0,editor:t=>{let{isHighlighted:n,onChange:r,value:i,validatedSelection:a}=t;return G.createElement($t,{style:e.allowWrapping===!0?{padding:`3px 8.5px`}:void 0,highlight:n,autoFocus:i.readonly!==!0,disabled:i.readonly===!0,altNewline:!0,value:i.data,validatedSelection:a,onChange:e=>r({...i,data:e.target.value})})}}),onPaste:(e,t,n)=>e===t.data?void 0:{...t,data:e,displayData:n.formattedString??t.displayData}},Vs=Ne(`div`)({name:`UriOverlayEditorStyle`,class:`gdg-u1rrojo`,propsAsIs:!1}),Hs=e=>{let{uri:t,onChange:n,forceEditMode:r,readonly:i,validatedSelection:a,preview:o}=e,[s,c]=G.useState(!i&&(t===``||r)),l=G.useCallback(()=>{c(!0)},[]);return s?G.createElement($t,{validatedSelection:a,highlight:!0,autoFocus:!0,value:t,onChange:n}):G.createElement(Vs,null,G.createElement(`a`,{className:`gdg-link-area`,href:t,target:`_blank`,rel:`noopener noreferrer`},o),!i&&G.createElement(`div`,{className:`gdg-edit-icon`,onClick:l},G.createElement(Pt,null)),G.createElement(`textarea`,{className:`gdg-input`,autoFocus:!0}))};function Us(e,t,n,r){let i=n.cellHorizontalPadding,a=t.height/2-e.actualBoundingBoxAscent/2,o=e.width,s=e.actualBoundingBoxAscent;return r===`right`?i=t.width-o-n.cellHorizontalPadding:r===`center`&&(i=t.width/2-o/2),{x:i,y:a,width:o,height:s}}var Ws=[ks,Ns,os,us,hs,bs,ws,Os,Is,Ls,zs,Bs,{getAccessibilityString:e=>e.data?.toString()??``,kind:H.Uri,needsHover:e=>e.hoverEffect===!0,needsHoverPosition:!0,useLabel:!0,drawPrep:Fn,draw:e=>{let{cell:t,theme:n,overrideCursor:r,hoverX:i,hoverY:a,rect:o,ctx:s}=e,c=t.displayData??t.data,l=t.hoverEffect===!0;if(r!==void 0&&l&&i!==void 0&&a!==void 0){let{x:l,y:u,width:d,height:f}=Us(On(c,s,n.baseFontFull),o,n,t.contentAlign);if(i>=l-4&&i<=l-4+d+8&&a>=u-4&&a<=u-4+f+8){let i=An(s,n.baseFontFull);r(`pointer`);let a=u-i;s.beginPath(),s.moveTo(o.x+l,Math.floor(o.y+a+f+5)+.5),s.lineTo(o.x+l+d,Math.floor(o.y+a+f+5)+.5),s.strokeStyle=n.linkColor,s.stroke(),s.save(),s.fillStyle=e.cellFillColor,X({...e,rect:{...o,x:o.x-1}},c,t.contentAlign),X({...e,rect:{...o,x:o.x-2}},c,t.contentAlign),X({...e,rect:{...o,x:o.x+1}},c,t.contentAlign),X({...e,rect:{...o,x:o.x+2}},c,t.contentAlign),s.restore()}}s.fillStyle=l?n.linkColor:n.textDark,X(e,c,t.contentAlign)},onClick:e=>{let{cell:t,bounds:n,posX:r,posY:i,theme:a}=e,o=t.displayData??t.data;if(t.hoverEffect!==!0||t.onClickUri===void 0)return;let s=kn(o,a.baseFontFull);if(s===void 0)return;let c=Us(s,n,a,t.contentAlign);Kr({x:c.x-4,y:c.y-4,width:c.width+8,height:c.height+8},r,i)&&t.onClickUri(e)},measure:(e,t,n)=>e.measureText(t.displayData??t.data).width+n.cellHorizontalPadding*2,onDelete:e=>({...e,data:``}),provideEditor:e=>t=>{let{onChange:n,value:r,forceEditMode:i,validatedSelection:a}=t;return G.createElement(Hs,{forceEditMode:r.readonly!==!0&&(i||e.hoverEffect===!0&&e.onClickUri!==void 0),uri:r.data,preview:r.displayData??r.data,validatedSelection:a,readonly:r.readonly===!0,onChange:e=>n({...r,data:e.target.value})})},onPaste:(e,t,n)=>e===t.data?void 0:{...t,data:e,displayData:n.formattedString??t.displayData}}],Gs=e(t(((e,t)=>{var n=wt(),r=fe(),i=`Expected a function`;function a(e,t,a){var o=!0,s=!0;if(typeof e!=`function`)throw TypeError(i);return r(a)&&(o=`leading`in a?!!a.leading:o,s=`trailing`in a?!!a.trailing:s),n(e,t,{leading:o,maxWait:t,trailing:s})}t.exports=a}))(),1),Ks=[],qs=class extends Yn{imageLoaded=()=>void 0;loadedLocations=[];cache={};setCallback(e){this.imageLoaded=e}sendLoaded=(0,Gs.default)(()=>{this.imageLoaded(new Zn(this.loadedLocations)),this.loadedLocations=[]},20);clearOutOfWindow=()=>{let e=Object.keys(this.cache);for(let t of e){let e=this.cache[t],n=!1;for(let t=0;t<e.cells.length;t++){let r=e.cells[t];if(this.isInWindow(r)){n=!0;break}}n?e.cells=e.cells.filter(this.isInWindow):(e.cancel(),delete this.cache[t])}};loadImage(e,t,n,r){let i=!1,a=Ks.pop()??new Image,o=!1,s={img:void 0,cells:[Gn(t,n)],url:e,cancel:()=>{o||(o=!0,Ks.length<12?Ks.unshift(a):i||(a.src=``))}},c=new Promise(e=>a.addEventListener(`load`,()=>e(null)));requestAnimationFrame(async()=>{try{a.src=e,await c,await a.decode();let t=this.cache[r];if(t!==void 0&&!o){t.img=a;for(let e of t.cells)this.loadedLocations.push(Jn(e));i=!0,this.sendLoaded()}}catch{s.cancel()}}),this.cache[r]=s}loadOrGetImage(e,t,n){let r=e,i=this.cache[r];if(i!==void 0){let e=Gn(t,n);return i.cells.includes(e)||i.cells.push(e),i.img}else this.loadImage(e,t,n,r)}},Js=G.forwardRef((e,t)=>{let n=G.useMemo(()=>({...Ir,...e.headerIcons}),[e.headerIcons]),r=G.useMemo(()=>e.imageWindowLoader??new qs,[e.imageWindowLoader]);return G.createElement(is,{...e,renderers:Ws,headerIcons:n,ref:t,imageWindowLoader:r})});function Ys(e){return getComputedStyle(document.documentElement).getPropertyValue(e).trim()}function Xs(e,t){if(e.startsWith(`#`)){let n=e.slice(1);return`rgba(${parseInt(n.slice(0,2),16)}, ${parseInt(n.slice(2,4),16)}, ${parseInt(n.slice(4,6),16)}, ${t})`}return e}function Zs(){let e=Ys(`--color-background`),t=Ys(`--color-foreground`),n=k(Ys(`--color-muted`),e),r=Ys(`--color-muted-foreground`),i=Ys(`--color-primary`),a=Ys(`--color-primary-foreground`),o=Ys(`--color-border`),s=Ys(`--color-primary`),c=Ys(`--color-text-secondary`),l=Ys(`--color-text-subtle`),u=Ys(`--font-sans`)||`Geist, system-ui, sans-serif`;return{bgCell:e,bgCellMedium:n,bgHeader:n,bgHeaderHasFocus:s,bgHeaderHovered:s,bgBubble:s,bgBubbleSelected:i,textDark:t,textMedium:c,textLight:l,textHeader:r,textGroupHeader:r,textHeaderSelected:t,textBubble:t,accentColor:i,accentFg:a,accentLight:Xs(i,.12),borderColor:o,horizontalBorderColor:o,fontFamily:u,baseFontStyle:`13px`,headerFontStyle:`600 12px`,editorFontSize:`13px`,lineHeight:1.5,cellHorizontalPadding:8,cellVerticalPadding:4,headerIconSize:16}}function Qs(){let[e,t]=(0,G.useState)(0);return(0,G.useEffect)(()=>{let e=()=>t(e=>e+1),n=new MutationObserver(e);return n.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]}),window.addEventListener(`ppm:theme-change`,e),()=>{n.disconnect(),window.removeEventListener(`ppm:theme-change`,e)}},[]),(0,G.useMemo)(()=>Zs(),[e])}function $s(e,t,n){let r=e.length*9+40,i=0,a=Math.min(t.length,20);for(let n=0;n<a;n++){let r=t[n]?.[e];if(r==null)continue;let a=typeof r==`object`?12:String(r).length;i=Math.max(i,a*8)}let o=/^(int|serial|bigint|smallint|float|double|decimal|numeric|real|money|bool)/.test(n.toLowerCase())?80:100;return Math.max(o,Math.min(Math.max(r,i)+16,400))}function ec(e,t,n,r,i,a,o){let s=(0,G.useMemo)(()=>new Map(e.map(e=>[e.name,e])),[e]),c=(0,G.useMemo)(()=>{let e=new Map;for(let n of t)e.set(n,$s(n,i,s.get(n)?.type??`text`));return e},[t.join(`|`),e.map(e=>`${e.name}:${e.type}`).join(`|`),i.length>0]);return(0,G.useMemo)(()=>{let e=t.filter(e=>n.has(e)),i=t.filter(e=>!n.has(e)),l=[...e,...i];return{columns:l.map(e=>{let t=s.get(e),n=t?.pk??!1,i;return a===e?i=o===`ASC`?`sortAsc`:`sortDesc`:n?i=`headerRowID`:t?.fk&&(i=`headerFk`),{title:e,id:e,width:r.get(e)??c.get(e)??100,hasMenu:!0,icon:i}}),freezeColumns:e.length,columnOrder:l}},[s,t,n,r,c,a,o])}function tc(e){if(e==null)return!1;if(typeof e==`object`)return!0;let t=String(e);if(t.length>=200)return!0;let n=t.trimStart();return!!((n[0]===`{`||n[0]===`[`)&&(n.endsWith(`}`)||n.endsWith(`]`))||n.startsWith(`<?xml`)||n.startsWith(`<`)&&n.endsWith(`>`))}function nc(e){return e==null?`NULL`:typeof e==`object`?JSON.stringify(e):String(e)}function rc(e){let t=e.trimStart();if(t[0]===`{`||t[0]===`[`)try{return JSON.parse(t),`json`}catch{}return t.startsWith(`<?xml`)||t.startsWith(`<`)&&/<\/\w+>/.test(t)?`xml`:t.startsWith(`---`)||/^\w+:\s/m.test(t)?`yaml`:`plaintext`}function ic(e){let t=e.toLowerCase();return/^(int|serial|bigint|smallint|float|double|decimal|numeric|real|money)/.test(t)?H.Number:/^bool/.test(t)?H.Boolean:H.Text}function ac(e){let t=e.type.toLowerCase();return!!(/^(serial|bigserial|smallserial)/.test(t)||/^(int|bigint|smallint|integer)/.test(t)&&e.defaultValue&&/nextval|identity|auto_increment/i.test(e.defaultValue)||t===`integer`&&e.pk&&!e.defaultValue)}function oc(e,t=200){return e.length>t?e.slice(0,t)+`…`:e}var sc={bgCell:`rgba(251, 191, 36, 0.15)`};function cc(e,t,n,r,i,a,o=!1){let s=(0,G.useRef)(o);s.current=o;let c=(0,G.useRef)(e);c.current=e;let l=(0,G.useRef)(t);l.current=t;let u=(0,G.useRef)(new Map);return u.current=new Map(n.map(e=>[e.name,e])),{getCellContent:(0,G.useCallback)(([e,t])=>{let n=l.current[e],i=c.current[t];if(!n||!i)return{kind:H.Text,data:``,displayData:``,allowOverlay:!1};let o=u.current.get(n),d=o?ic(o.type):H.Text,f=o?.pk??!1,p=r?i[r]:void 0,m=typeof p==`string`&&p.startsWith(`__new_`),h=`${p}:${n}`,g=a.current.get(h),_=g===void 0?i[n]:g.newVal,v=g!==void 0;if(f&&m){if(o&&ac(o))return{kind:H.Text,data:``,displayData:`AUTO`,allowOverlay:!1,readonly:!0,themeOverride:{textDark:`#6b7280`}};let e=g===void 0?``:String(g.newVal??``);return{kind:H.Text,data:e,displayData:e||`Enter ID…`,allowOverlay:!0,readonly:!1,themeOverride:e?v?sc:void 0:{textDark:`#9ca3af`}}}if(_==null){let e=m?``:`NULL`;if(m&&!v&&o){let t=o.type.toLowerCase();o.defaultValue?e=o.defaultValue:/^(timestamp|datetime|date)/.test(t)?e=`NOW()`:/^(uuid)/.test(t)&&(e=`gen_random_uuid()`)}return{kind:H.Text,data:``,displayData:e,allowOverlay:!f,readonly:f||s.current,themeOverride:v?sc:m||e!==`NULL`?{textDark:`#9ca3af`}:{textDark:`#6b7280`}}}if(d===H.Number&&typeof _==`number`)return{kind:H.Number,data:_,displayData:String(_),allowOverlay:!f,readonly:f||s.current,themeOverride:v?sc:void 0};if(d===H.Boolean&&typeof _==`boolean`)return{kind:H.Boolean,data:_,readonly:f||s.current,allowOverlay:!1};let y=nc(_);return{kind:H.Text,data:y,displayData:oc(y),allowOverlay:!f,readonly:f||s.current,themeOverride:v?sc:void 0}},[]),onCellEdited:(0,G.useCallback)(([e,t],n)=>{if(!r||o)return;let a=l.current[e],s=c.current[t];if(!a||!s)return;let u=s[r],d;if(n.kind===H.Text)d=n.data===``?null:n.data;else if(n.kind===H.Number)d=n.data;else if(n.kind===H.Boolean)d=n.data;else return;i(u,a,d)},[r,o,i])}}var lc={columns:W.empty(),rows:W.empty()};function uc(){let[e,t]=(0,G.useState)(lc);return{gridSelection:e,onGridSelectionChange:(0,G.useCallback)(e=>{t(e)},[]),selectedRowIndices:(0,G.useMemo)(()=>{let t=[];if(e.rows)for(let n of e.rows)if(Array.isArray(n))for(let e=n[0];e<n[1];e++)t.push(e);else t.push(n);return t},[e.rows]),clearSelection:(0,G.useCallback)(()=>{t(lc)},[])}}function dc(e,t,n){let[r,i]=(0,G.useState)(new Map),a=(0,G.useRef)(r);a.current=r;let o=(0,G.useRef)(!1);return{pendingEdits:r,pendingRef:a,addEdit:(0,G.useCallback)((e,t,n)=>{let r=`${e}:${t}`;i(i=>new Map(i).set(r,{pkVal:e,col:t,newVal:n}))},[]),commitAll:(0,G.useCallback)(async()=>{if(!e)return;let r=new Map;for(let n of a.current.values()){let i=String(n.pkVal);i.startsWith(`__new_`)?(r.has(i)||r.set(i,{}),r.get(i)[n.col]=n.newVal):t(e,n.pkVal,n.col,n.newVal)}if(n)for(let e of r.values())await n(e);o.current=!0},[e,t,n]),discardAll:(0,G.useCallback)(()=>{i(new Map),o.current=!1},[]),hasPending:r.size>0,pendingCount:r.size,committedRef:o}}function fc(e,t){let[n,r]=(0,G.useState)(new Set);return{effectiveRows:(0,G.useMemo)(()=>{if(n.size===0||!t)return e;let r=[],i=[];for(let a of e)n.has(String(a[t]??``))?i.push(a):r.push(a);return[...r,...i]},[e,n,t]),pinnedCount:n.size,pinnedPks:n,setPinnedPks:r}}function pc(e,t){if(!t)return null;let n=e[t];return n==null?null:String(n)}function mc(e,t){if(!e)return null;let{displayRows:n,pkCol:r,selectedTable:i,connectionId:a}=t,{kind:o,rowIdx:s,pk:c,colName:l}=e,u=(r&&c!==null?n.find(e=>pc(e,r)===c):void 0)??n[s];if(!u)return null;let d=i??``,f=d?` — ${d}`:``;if(o===`row`)return{title:c?`Row #${c}${f}`:`Row${f}`,content:JSON.stringify(u,null,2),language:`json`,viewerKey:`${a}:${d}:row:${c??``}`};if(!l)return null;let p=nc(u[l]),m=c??String(s);return{title:`${l} #${m}${f}`,content:p,language:rc(p),viewerKey:`${a}:${d}:${l}:${m}`}}function hc(e){let{displayRows:t,columnOrder:n,schema:r,pkCol:i,connectionId:a,connectionName:o,selectedTable:s,selectedSchema:c,addEdit:l,gridSelection:u,containerRef:d}=e,{openTab:f}=_(v(e=>({openTab:e.openTab}))),[p,m]=(0,G.useState)(null),h=(0,G.useRef)(t);h.current=t;let g=(0,G.useRef)(n);g.current=n;let y=(0,G.useCallback)(e=>pc(e,i),[i]),b=(0,G.useCallback)(e=>{let n=t[e];n&&m({kind:`row`,rowIdx:e,pk:y(n)})},[t,y]),x=(0,G.useCallback)((e,r)=>{let i=t[e];if(!i)return;let a=n[r];a&&m({kind:`cell`,rowIdx:e,pk:y(i),colName:a})},[t,n,y]),S=(0,G.useCallback)(()=>m(null),[]),C=(0,G.useMemo)(()=>mc(p,{displayRows:t,pkCol:i,selectedTable:s,connectionId:a}),[p,t,i,s,a]),w=(0,G.useCallback)(()=>{C&&f({type:`editor`,title:C.title,projectId:null,closable:!0,metadata:{inlineContent:C.content,inlineLanguage:C.language,viewerKey:C.viewerKey}})},[f,C]),T=(0,G.useCallback)((e,t)=>{if(!i)return!1;let[n,a]=e;for(let e=0;e<t.length;e++){let o=h.current[a+e];if(!o)continue;let s=o[i];for(let i=0;i<t[e].length;i++){let a=g.current[n+i];if(!a||r.find(e=>e.name===a)?.pk)continue;let o=t[e][i];l(s,a,o===``?null:o)}}return!1},[i,r,l]),E=(0,G.useRef)(r);E.current=r;let D=(0,G.useRef)(u);D.current=u;let O=(0,G.useRef)(l);O.current=l;let k=(0,G.useRef)(i);return k.current=i,(0,G.useEffect)(()=>{if(!d)return;let e=e=>{let t=d.current;if(!t||!t.contains(document.activeElement))return;let n=document.activeElement?.tagName;if(n===`INPUT`||n===`TEXTAREA`)return;let r=k.current;if(!r)return;let i=D.current?.current;if(!i)return;let a=e.clipboardData?.getData(`text/plain`);if(!a)return;let o=a.split(/\r?\n/).filter(e=>e.length>0).map(e=>e.split(` `));if(o.length===0)return;let[s,c]=i.cell;for(let e=0;e<o.length;e++){let t=h.current[c+e];if(!t)continue;let n=t[r];for(let t=0;t<o[e].length;t++){let r=g.current[s+t];if(!r||E.current.find(e=>e.name===r)?.pk)continue;let i=o[e][t];O.current(n,r,i===``?null:i)}}e.preventDefault()};return document.addEventListener(`paste`,e),()=>document.removeEventListener(`paste`,e)},[d]),{previewData:C,closePreview:S,openRowPreview:b,openCellPreview:x,openPreviewInTab:w,handlePaste:T,getContextFk:(0,G.useCallback)(e=>e?r.find(t=>t.name===e)?.fk??null:null,[r]),isCellViewable:(0,G.useCallback)((e,t)=>e&&t?tc(e[t]):!1,[]),openFkTable:(0,G.useCallback)((e,t)=>{t==null||!a||f({type:`database`,title:`${o??`DB`} · ${e.table}`,projectId:null,closable:!0,metadata:{connectionId:a,connectionName:o,tableName:e.table,schemaName:c??`public`,initialSql:`SELECT * FROM "${e.table}" WHERE "${e.column}" = '${String(t).replace(/'/g,`''`)}'`}})},[a,o,c,f])}}function gc({colName:e,bounds:t,isPinned:n,filterValue:r,sortState:i,onFilter:a,onSort:o,onClearSort:s,onTogglePin:c,onClose:l}){let[u,d]=(0,G.useState)(r),f=(0,G.useRef)(null),p=(0,G.useRef)(void 0);(0,G.useEffect)(()=>{let e=e=>{f.current&&!f.current.contains(e.target)&&l()};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[l]),(0,G.useEffect)(()=>{let e=e=>{e.key===`Escape`&&l()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[l]);let h=e=>{d(e),clearTimeout(p.current),p.current=setTimeout(()=>a(e),300)},g=Math.min(t.x,window.innerWidth-220-8),_=t.y+t.height+2,v=document.getElementById(`portal`);return v?(0,K.createPortal)((0,q.jsxs)(`div`,{ref:f,style:{position:`fixed`,left:g,top:_,zIndex:1e4},className:`w-[220px] bg-popover border border-border rounded-md shadow-lg text-xs overflow-hidden`,children:[(0,q.jsx)(`div`,{className:`px-3 py-1.5 border-b border-border text-muted-foreground font-medium truncate`,children:e}),(0,q.jsx)(`div`,{className:`px-2 py-1.5 border-b border-border`,children:(0,q.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,q.jsx)(Ie,{className:`size-3 text-muted-foreground shrink-0`}),(0,q.jsx)(`input`,{autoFocus:!0,type:`text`,value:u,onChange:e=>h(e.target.value),placeholder:`Filter (ILIKE)…`,className:`flex-1 bg-transparent outline-none text-foreground placeholder:text-muted-foreground text-xs`}),u&&(0,q.jsx)(`button`,{type:`button`,onClick:()=>h(``),className:`text-muted-foreground hover:text-foreground`,children:(0,q.jsx)(m,{className:`size-3`})})]})}),(0,q.jsxs)(`div`,{className:`py-1`,children:[(0,q.jsxs)(`button`,{type:`button`,onClick:()=>{o(),l()},className:`w-full text-left px-3 py-1.5 hover:bg-muted flex items-center gap-2 text-foreground`,children:[i===`asc`?(0,q.jsx)(C,{className:`size-3`}):(0,q.jsx)(y,{className:`size-3`}),i===`asc`?`Sort Descending`:`Sort Ascending`]}),i&&s&&(0,q.jsxs)(`button`,{type:`button`,onClick:()=>{s(),l()},className:`w-full text-left px-3 py-1.5 hover:bg-muted flex items-center gap-2 text-foreground`,children:[(0,q.jsx)(m,{className:`size-3`}),`Clear Sort`]}),(0,q.jsxs)(`button`,{type:`button`,onClick:()=>{c(),l()},className:`w-full text-left px-3 py-1.5 hover:bg-muted flex items-center gap-2 text-foreground`,children:[n?(0,q.jsx)(S,{className:`size-3`}):(0,q.jsx)(E,{className:`size-3`}),n?`Unpin Column`:`Pin Column`]})]})]}),v):null}function _c({position:e,isPinned:t,onViewRow:n,onViewCell:r,onPinRow:i,onDeleteRow:a,onOpenFkTable:o,fkLabel:s,onClose:c}){let[l,d]=(0,G.useState)(!1),f=(0,G.useRef)(null);(0,G.useEffect)(()=>{let e=e=>{f.current&&!f.current.contains(e.target)&&c()};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[c]),(0,G.useEffect)(()=>{let e=e=>{e.key===`Escape`&&c()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[c]);let p=Math.min(e.x,window.innerWidth-180-8),m=Math.min(e.y,window.innerHeight-130-8),h=document.getElementById(`portal`);return h?(0,K.createPortal)((0,q.jsxs)(`div`,{ref:f,style:{position:`fixed`,left:p,top:m,zIndex:1e4},className:`w-[180px] bg-popover border border-border rounded-md shadow-lg text-xs overflow-hidden py-1`,children:[(0,q.jsxs)(`button`,{type:`button`,onClick:()=>{n(),c()},className:`w-full text-left px-3 py-1.5 hover:bg-muted flex items-center gap-2 text-foreground`,children:[(0,q.jsx)(u,{className:`size-3`}),` View as JSON`]}),r&&(0,q.jsxs)(`button`,{type:`button`,onClick:()=>{r(),c()},className:`w-full text-left px-3 py-1.5 hover:bg-muted flex items-center gap-2 text-foreground`,children:[(0,q.jsx)(u,{className:`size-3`}),` View Cell`]}),o&&(0,q.jsxs)(`button`,{type:`button`,onClick:()=>{o(),c()},className:`w-full text-left px-3 py-1.5 hover:bg-muted flex items-center gap-2 text-primary`,children:[(0,q.jsx)(ne,{className:`size-3`}),` `,s??`Open Referenced Table`]}),(0,q.jsxs)(`button`,{type:`button`,onClick:()=>{i(),c()},className:`w-full text-left px-3 py-1.5 hover:bg-muted flex items-center gap-2 text-foreground`,children:[t?(0,q.jsx)(S,{className:`size-3`}):(0,q.jsx)(E,{className:`size-3`}),t?`Unpin Row`:`Pin Row`]}),(0,q.jsx)(`div`,{className:`border-t border-border my-0.5`}),l?(0,q.jsxs)(`div`,{className:`px-3 py-1.5 flex items-center gap-2`,children:[(0,q.jsx)(`button`,{type:`button`,onClick:()=>{a(),c()},className:`text-destructive font-medium hover:underline`,children:`Delete?`}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>d(!1),className:`text-muted-foreground hover:underline`,children:`Cancel`})]}):(0,q.jsxs)(`button`,{type:`button`,onClick:()=>d(!0),className:`w-full text-left px-3 py-1.5 hover:bg-muted flex items-center gap-2 text-destructive`,children:[(0,q.jsx)(x,{className:`size-3`}),` Delete Row`]})]}),h):null}function vc({columns:e,onSelect:t,onClose:n,anchorRect:r}){let[i,a]=(0,G.useState)(``),[o,s]=(0,G.useState)(0),c=(0,G.useRef)(null),l=(0,G.useRef)(null),u=i?e.filter(e=>e.toLowerCase().includes(i.toLowerCase())):e;(0,G.useEffect)(()=>{s(0)},[i]),(0,G.useEffect)(()=>{let e=l.current;e&&e.children[o]?.scrollIntoView({block:`nearest`})},[o]),(0,G.useEffect)(()=>{let e=e=>{c.current&&!c.current.contains(e.target)&&n()};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[n]);let d=(0,G.useCallback)(e=>{if(e.key===`Escape`){n();return}if(e.key===`ArrowDown`){e.preventDefault(),s(e=>Math.min(e+1,u.length-1));return}if(e.key===`ArrowUp`){e.preventDefault(),s(e=>Math.max(e-1,0));return}if(e.key===`Enter`){e.preventDefault();let r=u[o];r&&(t(r),n())}},[u,o,t,n]),f=document.getElementById(`portal`);return f?(0,K.createPortal)((0,q.jsxs)(`div`,{ref:c,style:{position:`fixed`,left:Math.min(r.x,window.innerWidth-216),top:Math.min(r.y,window.innerHeight-308),zIndex:1e4},className:`w-[200px] max-h-[300px] bg-popover border border-border rounded-md shadow-lg text-xs overflow-hidden flex flex-col`,children:[(0,q.jsx)(`div`,{className:`px-2 py-1.5 border-b border-border`,children:(0,q.jsx)(`input`,{autoFocus:!0,value:i,onChange:e=>a(e.target.value),onKeyDown:d,placeholder:`Search columns…`,className:`w-full bg-transparent outline-none text-foreground placeholder:text-muted-foreground text-xs`})}),(0,q.jsxs)(`div`,{ref:l,className:`overflow-y-auto py-1`,children:[u.map((e,r)=>(0,q.jsx)(`button`,{type:`button`,onClick:()=>{t(e),n()},onMouseEnter:()=>s(r),className:`w-full text-left px-3 py-1 truncate text-foreground ${r===o?`bg-muted`:`hover:bg-muted`}`,children:e},e)),u.length===0&&(0,q.jsx)(`div`,{className:`px-3 py-2 text-muted-foreground`,children:`No columns found`})]})]}),f):null}function yc({hasSelection:e,selectedCount:t,onBulkDelete:n,onInsertRow:r,columns:i,selectedRows:a,connectionName:o,searchTerm:c,onSearchChange:l,onColumnJump:u,colSearchOpen:d,onColSearchChange:f}){let[p,h]=(0,G.useState)(!1),[g,_]=(0,G.useState)(!1),v=d??g,y=f??_,b=(0,G.useRef)(null),S=b.current?(()=>{let e=b.current.getBoundingClientRect();return{x:e.left,y:e.bottom+4}})():{x:0,y:0};return(0,q.jsxs)(`div`,{className:`flex items-center gap-2 px-2 py-1 border-b border-border bg-background shrink-0`,children:[e&&(0,q.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs`,children:[(0,q.jsxs)(`span`,{className:`text-muted-foreground`,children:[t,` selected`]}),n&&(p?(0,q.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,q.jsxs)(`button`,{type:`button`,onClick:()=>{n(),h(!1)},className:`text-destructive text-[10px] font-medium hover:underline`,children:[`Delete `,t,`?`]}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>h(!1),className:`text-muted-foreground text-[10px] hover:underline`,children:`Cancel`})]}):(0,q.jsx)(`button`,{type:`button`,onClick:()=>h(!0),className:`p-0.5 text-muted-foreground hover:text-destructive`,children:(0,q.jsx)(x,{className:`size-3`})})),(0,q.jsx)(tt,{columns:i,rows:a,filename:`${o??`db`}-selected`})]}),(0,q.jsx)(`div`,{className:`flex-1`}),(0,q.jsxs)(`div`,{className:`flex items-center gap-1 text-xs`,children:[(0,q.jsx)(w,{className:`size-3 text-muted-foreground`}),(0,q.jsx)(`input`,{value:c,onChange:e=>l(e.target.value),placeholder:`Search page…`,className:`w-24 bg-transparent outline-none text-foreground placeholder:text-muted-foreground text-xs`}),c&&(0,q.jsx)(`button`,{type:`button`,onClick:()=>l(``),className:`text-muted-foreground hover:text-foreground`,children:(0,q.jsx)(m,{className:`size-3`})})]}),u&&(0,q.jsx)(`button`,{ref:b,type:`button`,onClick:()=>y(!v),className:`p-0.5 rounded text-muted-foreground hover:text-foreground transition-colors`,title:`Jump to column (/)`,children:(0,q.jsx)(s,{className:`size-3.5`})}),r&&(0,q.jsx)(`button`,{type:`button`,onClick:r,className:`p-0.5 rounded text-muted-foreground hover:text-primary transition-colors`,title:`Insert row`,children:(0,q.jsx)(T,{className:`size-3.5`})}),v&&u&&(0,q.jsx)(vc,{columns:i,onSelect:u,onClose:()=>y(!1),anchorRect:S})]})}function bc({pendingCount:e,onSave:t,onDiscard:n}){return e===0?null:(0,q.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-1.5 border-t border-warning/50 bg-warning/5 shrink-0 text-xs`,children:[(0,q.jsxs)(`span`,{className:`text-warning font-medium`,children:[e,` pending edit`,e>1?`s`:``]}),(0,q.jsx)(`div`,{className:`flex-1`}),(0,q.jsxs)(`button`,{type:`button`,onClick:n,className:`flex items-center gap-1 px-2 py-0.5 rounded text-muted-foreground hover:text-foreground hover:bg-muted transition-colors`,children:[(0,q.jsx)(b,{className:`size-3`}),` Discard`]}),(0,q.jsxs)(`button`,{type:`button`,onClick:t,className:`flex items-center gap-1 px-2 py-0.5 rounded bg-primary text-primary-foreground hover:bg-primary/90 transition-colors`,children:[(0,q.jsx)(f,{className:`size-3`}),` Save`,(0,q.jsx)(`kbd`,{className:`ml-1 text-[9px] opacity-70`,children:`⌘↵`})]})]})}function xc({total:e,page:t,totalPages:n,onPageChange:r}){return(0,q.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-1.5 border-t border-border bg-background shrink-0 text-xs text-muted-foreground`,children:[(0,q.jsxs)(`span`,{children:[e.toLocaleString(),` rows`]}),(0,q.jsxs)(`div`,{className:`hidden md:flex items-center gap-2 text-[10px] text-muted-foreground/50`,children:[(0,q.jsxs)(`span`,{children:[(0,q.jsx)(`kbd`,{className:`px-1 py-0.5 rounded bg-muted text-[9px]`,children:`/`}),` columns`]}),(0,q.jsxs)(`span`,{children:[(0,q.jsxs)(`kbd`,{className:`px-1 py-0.5 rounded bg-muted text-[9px]`,children:[`⌘`,`A`]}),` select all`]}),(0,q.jsxs)(`span`,{children:[(0,q.jsxs)(`kbd`,{className:`px-1 py-0.5 rounded bg-muted text-[9px]`,children:[`⌘`,`C`]}),` copy`]})]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`button`,{type:`button`,disabled:t<=1,onClick:()=>r(t-1),className:`p-0.5 rounded hover:bg-muted disabled:opacity-30`,children:(0,q.jsx)(D,{className:`size-3.5`})}),(0,q.jsxs)(`span`,{children:[t,` / `,n]}),(0,q.jsx)(`button`,{type:`button`,disabled:t>=n,onClick:()=>r(t+1),className:`p-0.5 rounded hover:bg-muted disabled:opacity-30`,children:(0,q.jsx)(o,{className:`size-3.5`})})]})]})}function Sc(e,t){if(t===`json`)try{return JSON.stringify(JSON.parse(e.trim()),null,2)}catch{return null}if(t===`xml`){let t=0;return e.trim().replace(/>\s*</g,`>
137
+ `)[0];return e.measureText(r).width+2*n.cellHorizontalPadding},draw:e=>X(e,e.cell.data,e.cell.contentAlign),onDelete:e=>({...e,data:``}),provideEditor:()=>e=>{let{onChange:t,value:n,target:r,onFinishedEditing:i,markdownDivCreateNode:a,forceEditMode:o,validatedSelection:s}=e;return G.createElement(Ds,{onFinish:i,targetRect:r,value:n,validatedSelection:s,onChange:e=>t({...n,data:e.target.value}),forceEditMode:o,createNode:a})},onPaste:(e,t)=>e===t.data?void 0:{...t,data:e}},ks={getAccessibilityString:e=>e.row.toString(),kind:Se.Marker,needsHover:!0,needsHoverPosition:!1,drawPrep:As,measure:()=>44,draw:e=>Ms(e,e.cell.row,e.cell.checked,e.cell.markerKind,e.cell.drawHandle,e.cell.checkboxStyle),onClick:e=>{let{bounds:t,cell:n,posX:r,posY:i}=e,{width:a,height:o}=t,s=n.drawHandle?7+(a-7)/2:a/2,c=o/2;if(Math.abs(r-s)<=10&&Math.abs(i-c)<=10)return{...n,checked:!n.checked}},onPaste:()=>void 0};function As(e,t){let{ctx:n,theme:r}=e,i=r.markerFontFull,a=t??{};return a?.font!==i&&(n.font=i,a.font=i),a.deprep=js,n.textAlign=`center`,a}function js(e){let{ctx:t}=e;t.textAlign=`start`}function Ms(e,t,n,r,i,a){let{ctx:o,rect:s,hoverAmount:c,theme:l}=e,{x:u,y:d,width:f,height:p}=s,m=n?1:r===`checkbox-visible`?.6+.4*c:c;if(r!==`number`&&m>0){o.globalAlpha=m;let e=7*(n?c:1);if(ai(o,l,n,i?u+e:u,d,i?f-e:f,p,!0,void 0,void 0,18,`center`,a),i){o.globalAlpha=c,o.beginPath();for(let e of[3,6])for(let t of[-5,-1,3])o.rect(u+e,d+p/2+t,2,2);o.fillStyle=l.textLight,o.fill(),o.beginPath()}o.globalAlpha=1}if(r===`number`||r===`both`&&!n){let e=t.toString(),n=l.markerFontFull,i=u+f/2;r===`both`&&c!==0&&(o.globalAlpha=1-c),o.fillStyle=l.textLight,o.font=n,o.fillText(e,i,d+p/2+An(o,n)),c!==0&&(o.globalAlpha=1)}}var Ns={getAccessibilityString:()=>``,kind:Se.NewRow,needsHover:!0,needsHoverPosition:!1,measure:()=>200,draw:e=>Ps(e,e.cell.hint,e.cell.icon),onPaste:()=>void 0};function Ps(e,t,n){let{ctx:r,rect:i,hoverAmount:a,theme:o,spriteManager:s}=e,{x:c,y:l,width:u,height:d}=i;r.beginPath(),r.globalAlpha=a,r.rect(c+1,l+1,u,d-2),r.fillStyle=o.bgHeaderHovered,r.fill(),r.globalAlpha=1,r.beginPath();let f=t!==``,p=0;if(n!==void 0){let e=d-8,t=c+8/2,i=l+8/2;s.drawSprite(n,`normal`,r,t,i,e,o,f?1:a),p=e}else{p=24;let e=f?12:a*12,t=f?0:(1-a)*12*.5,n=o.cellHorizontalPadding+4;e>0&&(r.moveTo(c+n+t,l+d/2),r.lineTo(c+n+t+e,l+d/2),r.moveTo(c+n+t+e*.5,l+d/2-e*.5),r.lineTo(c+n+t+e*.5,l+d/2+e*.5),r.lineWidth=2,r.strokeStyle=o.bgIconHeader,r.lineCap=`round`,r.stroke())}r.fillStyle=o.textMedium,r.fillText(t,p+c+o.cellHorizontalPadding+.5,l+d/2+An(r,o)),r.beginPath()}var Fs=G.lazy(async()=>await g(()=>import(`./number-overlay-editor-DRjTIcPH.js`),__vite__mapDeps([6,1,2,3]))),Is={getAccessibilityString:e=>e.data?.toString()??``,kind:H.Number,needsHover:!1,needsHoverPosition:!1,useLabel:!0,drawPrep:Fn,draw:e=>X(e,e.cell.displayData,e.cell.contentAlign),measure:(e,t,n)=>e.measureText(t.displayData).width+n.cellHorizontalPadding*2,onDelete:e=>({...e,data:void 0}),provideEditor:()=>e=>{let{isHighlighted:t,onChange:n,value:r,validatedSelection:i}=e;return G.createElement(G.Suspense,{fallback:null},G.createElement(Fs,{highlight:t,disabled:r.readonly===!0,value:r.data,fixedDecimals:r.fixedDecimals,allowNegative:r.allowNegative,thousandSeparator:r.thousandSeparator,decimalSeparator:r.decimalSeparator,validatedSelection:i,onChange:e=>n({...r,data:Number.isNaN(e.floatValue??0)?0:e.floatValue})}))},onPaste:(e,t,n)=>{let r=typeof n.rawValue==`number`?n.rawValue:Number.parseFloat(typeof n.rawValue==`string`?n.rawValue:e);if(!(Number.isNaN(r)||t.data===r))return{...t,data:r,displayData:n.formattedString??t.displayData}}},Ls={getAccessibilityString:()=>``,measure:()=>108,kind:H.Protected,needsHover:!1,needsHoverPosition:!1,draw:Rs,onPaste:()=>void 0};function Rs(e){let{ctx:t,theme:n,rect:r}=e,{x:i,y:a,height:o}=r;t.beginPath();let s=2.5,c=i+n.cellHorizontalPadding+s,l=a+o/2,u=Math.cos(kt(30))*s,d=Math.sin(kt(30))*s;for(let e=0;e<12;e++)t.moveTo(c,l-s),t.lineTo(c,l+s),t.moveTo(c+u,l-d),t.lineTo(c-u,l+d),t.moveTo(c-u,l-d),t.lineTo(c+u,l+d),c+=8;t.lineWidth=1.1,t.lineCap=`square`,t.strokeStyle=n.textLight,t.stroke()}var zs={getAccessibilityString:e=>e.data?.toString()??``,kind:H.RowID,needsHover:!1,needsHoverPosition:!1,drawPrep:(e,t)=>Fn(e,t,e.theme.textLight),draw:e=>X(e,e.cell.data,e.cell.contentAlign),measure:(e,t,n)=>e.measureText(t.data).width+n.cellHorizontalPadding*2,provideEditor:()=>e=>{let{isHighlighted:t,onChange:n,value:r,validatedSelection:i}=e;return G.createElement($t,{highlight:t,autoFocus:r.readonly!==!0,disabled:r.readonly!==!1,value:r.data,validatedSelection:i,onChange:e=>n({...r,data:e.target.value})})},onPaste:()=>void 0},Bs={getAccessibilityString:e=>e.data?.toString()??``,kind:H.Text,needsHover:e=>e.hoverEffect===!0,needsHoverPosition:!1,drawPrep:Fn,useLabel:!0,draw:e=>{let{cell:t,hoverAmount:n,hyperWrapping:r,ctx:i,rect:a,theme:o,overrideCursor:s}=e,{displayData:c,contentAlign:l,hoverEffect:u,allowWrapping:d}=t;if(u===!0&&n>0){i.textBaseline=`alphabetic`;let e=o.cellHorizontalPadding,t=o.cellVerticalPadding,r=On(c,i,o.baseFontFull,`alphabetic`),l=a.height-t,u=Math.min(l,r.actualBoundingBoxAscent*2.5);i.beginPath(),Bn(i,a.x+e/2,a.y+(a.height-u)/2+1,r.width+e*3,u-1,o.roundingRadius??4),i.globalAlpha=n,i.fillStyle=he(o.textDark,.1),i.fill(),i.globalAlpha=1,i.fillStyle=o.textDark,i.textBaseline=`middle`,s?.(`text`)}X(e,c,l,d,r)},measure:(e,t,n)=>{let r=t.displayData.split(`
138
+ `,t.allowWrapping===!0?void 0:1),i=0;for(let t of r)i=Math.max(i,e.measureText(t).width);return i+2*n.cellHorizontalPadding},onDelete:e=>({...e,data:``}),provideEditor:e=>({disablePadding:e.allowWrapping===!0,editor:t=>{let{isHighlighted:n,onChange:r,value:i,validatedSelection:a}=t;return G.createElement($t,{style:e.allowWrapping===!0?{padding:`3px 8.5px`}:void 0,highlight:n,autoFocus:i.readonly!==!0,disabled:i.readonly===!0,altNewline:!0,value:i.data,validatedSelection:a,onChange:e=>r({...i,data:e.target.value})})}}),onPaste:(e,t,n)=>e===t.data?void 0:{...t,data:e,displayData:n.formattedString??t.displayData}},Vs=Ne(`div`)({name:`UriOverlayEditorStyle`,class:`gdg-u1rrojo`,propsAsIs:!1}),Hs=e=>{let{uri:t,onChange:n,forceEditMode:r,readonly:i,validatedSelection:a,preview:o}=e,[s,c]=G.useState(!i&&(t===``||r)),l=G.useCallback(()=>{c(!0)},[]);return s?G.createElement($t,{validatedSelection:a,highlight:!0,autoFocus:!0,value:t,onChange:n}):G.createElement(Vs,null,G.createElement(`a`,{className:`gdg-link-area`,href:t,target:`_blank`,rel:`noopener noreferrer`},o),!i&&G.createElement(`div`,{className:`gdg-edit-icon`,onClick:l},G.createElement(Pt,null)),G.createElement(`textarea`,{className:`gdg-input`,autoFocus:!0}))};function Us(e,t,n,r){let i=n.cellHorizontalPadding,a=t.height/2-e.actualBoundingBoxAscent/2,o=e.width,s=e.actualBoundingBoxAscent;return r===`right`?i=t.width-o-n.cellHorizontalPadding:r===`center`&&(i=t.width/2-o/2),{x:i,y:a,width:o,height:s}}var Ws=[ks,Ns,os,us,hs,bs,ws,Os,Is,Ls,zs,Bs,{getAccessibilityString:e=>e.data?.toString()??``,kind:H.Uri,needsHover:e=>e.hoverEffect===!0,needsHoverPosition:!0,useLabel:!0,drawPrep:Fn,draw:e=>{let{cell:t,theme:n,overrideCursor:r,hoverX:i,hoverY:a,rect:o,ctx:s}=e,c=t.displayData??t.data,l=t.hoverEffect===!0;if(r!==void 0&&l&&i!==void 0&&a!==void 0){let{x:l,y:u,width:d,height:f}=Us(On(c,s,n.baseFontFull),o,n,t.contentAlign);if(i>=l-4&&i<=l-4+d+8&&a>=u-4&&a<=u-4+f+8){let i=An(s,n.baseFontFull);r(`pointer`);let a=u-i;s.beginPath(),s.moveTo(o.x+l,Math.floor(o.y+a+f+5)+.5),s.lineTo(o.x+l+d,Math.floor(o.y+a+f+5)+.5),s.strokeStyle=n.linkColor,s.stroke(),s.save(),s.fillStyle=e.cellFillColor,X({...e,rect:{...o,x:o.x-1}},c,t.contentAlign),X({...e,rect:{...o,x:o.x-2}},c,t.contentAlign),X({...e,rect:{...o,x:o.x+1}},c,t.contentAlign),X({...e,rect:{...o,x:o.x+2}},c,t.contentAlign),s.restore()}}s.fillStyle=l?n.linkColor:n.textDark,X(e,c,t.contentAlign)},onClick:e=>{let{cell:t,bounds:n,posX:r,posY:i,theme:a}=e,o=t.displayData??t.data;if(t.hoverEffect!==!0||t.onClickUri===void 0)return;let s=kn(o,a.baseFontFull);if(s===void 0)return;let c=Us(s,n,a,t.contentAlign);Kr({x:c.x-4,y:c.y-4,width:c.width+8,height:c.height+8},r,i)&&t.onClickUri(e)},measure:(e,t,n)=>e.measureText(t.displayData??t.data).width+n.cellHorizontalPadding*2,onDelete:e=>({...e,data:``}),provideEditor:e=>t=>{let{onChange:n,value:r,forceEditMode:i,validatedSelection:a}=t;return G.createElement(Hs,{forceEditMode:r.readonly!==!0&&(i||e.hoverEffect===!0&&e.onClickUri!==void 0),uri:r.data,preview:r.displayData??r.data,validatedSelection:a,readonly:r.readonly===!0,onChange:e=>n({...r,data:e.target.value})})},onPaste:(e,t,n)=>e===t.data?void 0:{...t,data:e,displayData:n.formattedString??t.displayData}}],Gs=e(t(((e,t)=>{var n=wt(),r=fe(),i=`Expected a function`;function a(e,t,a){var o=!0,s=!0;if(typeof e!=`function`)throw TypeError(i);return r(a)&&(o=`leading`in a?!!a.leading:o,s=`trailing`in a?!!a.trailing:s),n(e,t,{leading:o,maxWait:t,trailing:s})}t.exports=a}))(),1),Ks=[],qs=class extends Yn{imageLoaded=()=>void 0;loadedLocations=[];cache={};setCallback(e){this.imageLoaded=e}sendLoaded=(0,Gs.default)(()=>{this.imageLoaded(new Zn(this.loadedLocations)),this.loadedLocations=[]},20);clearOutOfWindow=()=>{let e=Object.keys(this.cache);for(let t of e){let e=this.cache[t],n=!1;for(let t=0;t<e.cells.length;t++){let r=e.cells[t];if(this.isInWindow(r)){n=!0;break}}n?e.cells=e.cells.filter(this.isInWindow):(e.cancel(),delete this.cache[t])}};loadImage(e,t,n,r){let i=!1,a=Ks.pop()??new Image,o=!1,s={img:void 0,cells:[Gn(t,n)],url:e,cancel:()=>{o||(o=!0,Ks.length<12?Ks.unshift(a):i||(a.src=``))}},c=new Promise(e=>a.addEventListener(`load`,()=>e(null)));requestAnimationFrame(async()=>{try{a.src=e,await c,await a.decode();let t=this.cache[r];if(t!==void 0&&!o){t.img=a;for(let e of t.cells)this.loadedLocations.push(Jn(e));i=!0,this.sendLoaded()}}catch{s.cancel()}}),this.cache[r]=s}loadOrGetImage(e,t,n){let r=e,i=this.cache[r];if(i!==void 0){let e=Gn(t,n);return i.cells.includes(e)||i.cells.push(e),i.img}else this.loadImage(e,t,n,r)}},Js=G.forwardRef((e,t)=>{let n=G.useMemo(()=>({...Ir,...e.headerIcons}),[e.headerIcons]),r=G.useMemo(()=>e.imageWindowLoader??new qs,[e.imageWindowLoader]);return G.createElement(is,{...e,renderers:Ws,headerIcons:n,ref:t,imageWindowLoader:r})});function Ys(e){return getComputedStyle(document.documentElement).getPropertyValue(e).trim()}function Xs(e,t){if(e.startsWith(`#`)){let n=e.slice(1);return`rgba(${parseInt(n.slice(0,2),16)}, ${parseInt(n.slice(2,4),16)}, ${parseInt(n.slice(4,6),16)}, ${t})`}return e}function Zs(){let e=Ys(`--color-background`),t=Ys(`--color-foreground`),n=k(Ys(`--color-muted`),e),r=Ys(`--color-muted-foreground`),i=Ys(`--color-primary`),a=Ys(`--color-primary-foreground`),o=Ys(`--color-border`),s=Ys(`--color-primary`),c=Ys(`--color-text-secondary`),l=Ys(`--color-text-subtle`),u=Ys(`--font-sans`)||`Geist, system-ui, sans-serif`;return{bgCell:e,bgCellMedium:n,bgHeader:n,bgHeaderHasFocus:s,bgHeaderHovered:s,bgBubble:s,bgBubbleSelected:i,textDark:t,textMedium:c,textLight:l,textHeader:r,textGroupHeader:r,textHeaderSelected:t,textBubble:t,accentColor:i,accentFg:a,accentLight:Xs(i,.12),borderColor:o,horizontalBorderColor:o,fontFamily:u,baseFontStyle:`13px`,headerFontStyle:`600 12px`,editorFontSize:`13px`,lineHeight:1.5,cellHorizontalPadding:8,cellVerticalPadding:4,headerIconSize:16}}function Qs(){let[e,t]=(0,G.useState)(0);return(0,G.useEffect)(()=>{let e=()=>t(e=>e+1),n=new MutationObserver(e);return n.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]}),window.addEventListener(`ppm:theme-change`,e),()=>{n.disconnect(),window.removeEventListener(`ppm:theme-change`,e)}},[]),(0,G.useMemo)(()=>Zs(),[e])}function $s(e,t,n){let r=e.length*9+40,i=0,a=Math.min(t.length,20);for(let n=0;n<a;n++){let r=t[n]?.[e];if(r==null)continue;let a=typeof r==`object`?12:String(r).length;i=Math.max(i,a*8)}let o=/^(int|serial|bigint|smallint|float|double|decimal|numeric|real|money|bool)/.test(n.toLowerCase())?80:100;return Math.max(o,Math.min(Math.max(r,i)+16,400))}function ec(e,t,n,r,i,a,o){let s=(0,G.useMemo)(()=>new Map(e.map(e=>[e.name,e])),[e]),c=(0,G.useMemo)(()=>{let e=new Map;for(let n of t)e.set(n,$s(n,i,s.get(n)?.type??`text`));return e},[t.join(`|`),e.map(e=>`${e.name}:${e.type}`).join(`|`),i.length>0]);return(0,G.useMemo)(()=>{let e=t.filter(e=>n.has(e)),i=t.filter(e=>!n.has(e)),l=[...e,...i];return{columns:l.map(e=>{let t=s.get(e),n=t?.pk??!1,i;return a===e?i=o===`ASC`?`sortAsc`:`sortDesc`:n?i=`headerRowID`:t?.fk&&(i=`headerFk`),{title:e,id:e,width:r.get(e)??c.get(e)??100,hasMenu:!0,icon:i}}),freezeColumns:e.length,columnOrder:l}},[s,t,n,r,c,a,o])}function tc(e){if(e==null)return!1;if(typeof e==`object`)return!0;let t=String(e);if(t.length>=200)return!0;let n=t.trimStart();return!!((n[0]===`{`||n[0]===`[`)&&(n.endsWith(`}`)||n.endsWith(`]`))||n.startsWith(`<?xml`)||n.startsWith(`<`)&&n.endsWith(`>`))}function nc(e){return e==null?`NULL`:typeof e==`object`?JSON.stringify(e):String(e)}function rc(e){let t=e.trimStart();if(t[0]===`{`||t[0]===`[`)try{return JSON.parse(t),`json`}catch{}return t.startsWith(`<?xml`)||t.startsWith(`<`)&&/<\/\w+>/.test(t)?`xml`:t.startsWith(`---`)||/^\w+:\s/m.test(t)?`yaml`:`plaintext`}function ic(e){let t=e.toLowerCase();return/^(int|serial|bigint|smallint|float|double|decimal|numeric|real|money)/.test(t)?H.Number:/^bool/.test(t)?H.Boolean:H.Text}function ac(e){let t=e.type.toLowerCase();return!!(/^(serial|bigserial|smallserial)/.test(t)||/^(int|bigint|smallint|integer)/.test(t)&&e.defaultValue&&/nextval|identity|auto_increment/i.test(e.defaultValue)||t===`integer`&&e.pk&&!e.defaultValue)}function oc(e,t=200){return e.length>t?e.slice(0,t)+`…`:e}var sc={bgCell:`rgba(251, 191, 36, 0.15)`};function cc(e,t,n,r,i,a,o=!1){let s=(0,G.useRef)(o);s.current=o;let c=(0,G.useRef)(e);c.current=e;let l=(0,G.useRef)(t);l.current=t;let u=(0,G.useRef)(new Map);return u.current=new Map(n.map(e=>[e.name,e])),{getCellContent:(0,G.useCallback)(([e,t])=>{let n=l.current[e],i=c.current[t];if(!n||!i)return{kind:H.Text,data:``,displayData:``,allowOverlay:!1};let o=u.current.get(n),d=o?ic(o.type):H.Text,f=o?.pk??!1,p=r?i[r]:void 0,m=typeof p==`string`&&p.startsWith(`__new_`),h=`${p}:${n}`,g=a.current.get(h),_=g===void 0?i[n]:g.newVal,v=g!==void 0;if(f&&m){if(o&&ac(o))return{kind:H.Text,data:``,displayData:`AUTO`,allowOverlay:!1,readonly:!0,themeOverride:{textDark:`#6b7280`}};let e=g===void 0?``:String(g.newVal??``);return{kind:H.Text,data:e,displayData:e||`Enter ID…`,allowOverlay:!0,readonly:!1,themeOverride:e?v?sc:void 0:{textDark:`#9ca3af`}}}if(_==null){let e=m?``:`NULL`;if(m&&!v&&o){let t=o.type.toLowerCase();o.defaultValue?e=o.defaultValue:/^(timestamp|datetime|date)/.test(t)?e=`NOW()`:/^(uuid)/.test(t)&&(e=`gen_random_uuid()`)}return{kind:H.Text,data:``,displayData:e,allowOverlay:!f,readonly:f||s.current,themeOverride:v?sc:m||e!==`NULL`?{textDark:`#9ca3af`}:{textDark:`#6b7280`}}}if(d===H.Number&&typeof _==`number`)return{kind:H.Number,data:_,displayData:String(_),allowOverlay:!f,readonly:f||s.current,themeOverride:v?sc:void 0};if(d===H.Boolean&&typeof _==`boolean`)return{kind:H.Boolean,data:_,readonly:f||s.current,allowOverlay:!1};let y=nc(_);return{kind:H.Text,data:y,displayData:oc(y),allowOverlay:!f,readonly:f||s.current,themeOverride:v?sc:void 0}},[]),onCellEdited:(0,G.useCallback)(([e,t],n)=>{if(!r||o)return;let a=l.current[e],s=c.current[t];if(!a||!s)return;let u=s[r],d;if(n.kind===H.Text)d=n.data===``?null:n.data;else if(n.kind===H.Number)d=n.data;else if(n.kind===H.Boolean)d=n.data;else return;i(u,a,d)},[r,o,i])}}var lc={columns:W.empty(),rows:W.empty()};function uc(){let[e,t]=(0,G.useState)(lc);return{gridSelection:e,onGridSelectionChange:(0,G.useCallback)(e=>{t(e)},[]),selectedRowIndices:(0,G.useMemo)(()=>{let t=[];if(e.rows)for(let n of e.rows)if(Array.isArray(n))for(let e=n[0];e<n[1];e++)t.push(e);else t.push(n);return t},[e.rows]),clearSelection:(0,G.useCallback)(()=>{t(lc)},[])}}function dc(e,t,n){let[r,i]=(0,G.useState)(new Map),a=(0,G.useRef)(r);a.current=r;let o=(0,G.useRef)(!1);return{pendingEdits:r,pendingRef:a,addEdit:(0,G.useCallback)((e,t,n)=>{let r=`${e}:${t}`;i(i=>new Map(i).set(r,{pkVal:e,col:t,newVal:n}))},[]),commitAll:(0,G.useCallback)(async()=>{if(!e)return;let r=new Map;for(let n of a.current.values()){let i=String(n.pkVal);i.startsWith(`__new_`)?(r.has(i)||r.set(i,{}),r.get(i)[n.col]=n.newVal):t(e,n.pkVal,n.col,n.newVal)}if(n)for(let e of r.values())await n(e);o.current=!0},[e,t,n]),discardAll:(0,G.useCallback)(()=>{i(new Map),o.current=!1},[]),hasPending:r.size>0,pendingCount:r.size,committedRef:o}}function fc(e,t){let[n,r]=(0,G.useState)(new Set);return{effectiveRows:(0,G.useMemo)(()=>{if(n.size===0||!t)return e;let r=[],i=[];for(let a of e)n.has(String(a[t]??``))?i.push(a):r.push(a);return[...r,...i]},[e,n,t]),pinnedCount:n.size,pinnedPks:n,setPinnedPks:r}}function pc(e,t){if(!t)return null;let n=e[t];return n==null?null:String(n)}function mc(e,t){if(!e)return null;let{displayRows:n,pkCol:r,selectedTable:i,connectionId:a}=t,{kind:o,rowIdx:s,pk:c,colName:l}=e,u=(r&&c!==null?n.find(e=>pc(e,r)===c):void 0)??n[s];if(!u)return null;let d=i??``,f=d?` — ${d}`:``;if(o===`row`)return{title:c?`Row #${c}${f}`:`Row${f}`,content:JSON.stringify(u,null,2),language:`json`,viewerKey:`${a}:${d}:row:${c??``}`};if(!l)return null;let p=nc(u[l]),m=c??String(s);return{title:`${l} #${m}${f}`,content:p,language:rc(p),viewerKey:`${a}:${d}:${l}:${m}`}}function hc(e){let{displayRows:t,columnOrder:n,schema:r,pkCol:i,connectionId:a,connectionName:o,selectedTable:s,selectedSchema:c,addEdit:l,gridSelection:u,containerRef:d}=e,{openTab:f}=_(x(e=>({openTab:e.openTab}))),[p,m]=(0,G.useState)(null),h=(0,G.useRef)(t);h.current=t;let g=(0,G.useRef)(n);g.current=n;let v=(0,G.useCallback)(e=>pc(e,i),[i]),y=(0,G.useCallback)(e=>{let n=t[e];n&&m({kind:`row`,rowIdx:e,pk:v(n)})},[t,v]),b=(0,G.useCallback)((e,r)=>{let i=t[e];if(!i)return;let a=n[r];a&&m({kind:`cell`,rowIdx:e,pk:v(i),colName:a})},[t,n,v]),S=(0,G.useCallback)(()=>m(null),[]),C=(0,G.useMemo)(()=>mc(p,{displayRows:t,pkCol:i,selectedTable:s,connectionId:a}),[p,t,i,s,a]),w=(0,G.useCallback)(()=>{C&&f({type:`editor`,title:C.title,projectId:null,closable:!0,metadata:{inlineContent:C.content,inlineLanguage:C.language,viewerKey:C.viewerKey}})},[f,C]),T=(0,G.useCallback)((e,t)=>{if(!i)return!1;let[n,a]=e;for(let e=0;e<t.length;e++){let o=h.current[a+e];if(!o)continue;let s=o[i];for(let i=0;i<t[e].length;i++){let a=g.current[n+i];if(!a||r.find(e=>e.name===a)?.pk)continue;let o=t[e][i];l(s,a,o===``?null:o)}}return!1},[i,r,l]),E=(0,G.useRef)(r);E.current=r;let D=(0,G.useRef)(u);D.current=u;let O=(0,G.useRef)(l);O.current=l;let k=(0,G.useRef)(i);return k.current=i,(0,G.useEffect)(()=>{if(!d)return;let e=e=>{let t=d.current;if(!t||!t.contains(document.activeElement))return;let n=document.activeElement?.tagName;if(n===`INPUT`||n===`TEXTAREA`)return;let r=k.current;if(!r)return;let i=D.current?.current;if(!i)return;let a=e.clipboardData?.getData(`text/plain`);if(!a)return;let o=a.split(/\r?\n/).filter(e=>e.length>0).map(e=>e.split(` `));if(o.length===0)return;let[s,c]=i.cell;for(let e=0;e<o.length;e++){let t=h.current[c+e];if(!t)continue;let n=t[r];for(let t=0;t<o[e].length;t++){let r=g.current[s+t];if(!r||E.current.find(e=>e.name===r)?.pk)continue;let i=o[e][t];O.current(n,r,i===``?null:i)}}e.preventDefault()};return document.addEventListener(`paste`,e),()=>document.removeEventListener(`paste`,e)},[d]),{previewData:C,closePreview:S,openRowPreview:y,openCellPreview:b,openPreviewInTab:w,handlePaste:T,getContextFk:(0,G.useCallback)(e=>e?r.find(t=>t.name===e)?.fk??null:null,[r]),isCellViewable:(0,G.useCallback)((e,t)=>e&&t?tc(e[t]):!1,[]),openFkTable:(0,G.useCallback)((e,t)=>{t==null||!a||f({type:`database`,title:`${o??`DB`} · ${e.table}`,projectId:null,closable:!0,metadata:{connectionId:a,connectionName:o,tableName:e.table,schemaName:c??`public`,initialSql:`SELECT * FROM "${e.table}" WHERE "${e.column}" = '${String(t).replace(/'/g,`''`)}'`}})},[a,o,c,f])}}function gc({colName:e,bounds:t,isPinned:n,filterValue:r,sortState:i,onFilter:a,onSort:o,onClearSort:s,onTogglePin:c,onClose:l}){let[u,d]=(0,G.useState)(r),f=(0,G.useRef)(null),p=(0,G.useRef)(void 0);(0,G.useEffect)(()=>{let e=e=>{f.current&&!f.current.contains(e.target)&&l()};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[l]),(0,G.useEffect)(()=>{let e=e=>{e.key===`Escape`&&l()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[l]);let h=e=>{d(e),clearTimeout(p.current),p.current=setTimeout(()=>a(e),300)},g=Math.min(t.x,window.innerWidth-220-8),_=t.y+t.height+2,y=document.getElementById(`portal`);return y?(0,K.createPortal)((0,q.jsxs)(`div`,{ref:f,style:{position:`fixed`,left:g,top:_,zIndex:1e4},className:`w-[220px] bg-popover border border-border rounded-md shadow-lg text-xs overflow-hidden`,children:[(0,q.jsx)(`div`,{className:`px-3 py-1.5 border-b border-border text-muted-foreground font-medium truncate`,children:e}),(0,q.jsx)(`div`,{className:`px-2 py-1.5 border-b border-border`,children:(0,q.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,q.jsx)(Ie,{className:`size-3 text-muted-foreground shrink-0`}),(0,q.jsx)(`input`,{autoFocus:!0,type:`text`,value:u,onChange:e=>h(e.target.value),placeholder:`Filter (ILIKE)…`,className:`flex-1 bg-transparent outline-none text-foreground placeholder:text-muted-foreground text-xs`}),u&&(0,q.jsx)(`button`,{type:`button`,onClick:()=>h(``),className:`text-muted-foreground hover:text-foreground`,children:(0,q.jsx)(m,{className:`size-3`})})]})}),(0,q.jsxs)(`div`,{className:`py-1`,children:[(0,q.jsxs)(`button`,{type:`button`,onClick:()=>{o(),l()},className:`w-full text-left px-3 py-1.5 hover:bg-muted flex items-center gap-2 text-foreground`,children:[i===`asc`?(0,q.jsx)(T,{className:`size-3`}):(0,q.jsx)(v,{className:`size-3`}),i===`asc`?`Sort Descending`:`Sort Ascending`]}),i&&s&&(0,q.jsxs)(`button`,{type:`button`,onClick:()=>{s(),l()},className:`w-full text-left px-3 py-1.5 hover:bg-muted flex items-center gap-2 text-foreground`,children:[(0,q.jsx)(m,{className:`size-3`}),`Clear Sort`]}),(0,q.jsxs)(`button`,{type:`button`,onClick:()=>{c(),l()},className:`w-full text-left px-3 py-1.5 hover:bg-muted flex items-center gap-2 text-foreground`,children:[n?(0,q.jsx)(ne,{className:`size-3`}):(0,q.jsx)(E,{className:`size-3`}),n?`Unpin Column`:`Pin Column`]})]})]}),y):null}function _c({position:e,isPinned:t,onViewRow:n,onViewCell:r,onPinRow:i,onDeleteRow:a,onOpenFkTable:o,fkLabel:s,onClose:c}){let[l,d]=(0,G.useState)(!1),f=(0,G.useRef)(null);(0,G.useEffect)(()=>{let e=e=>{f.current&&!f.current.contains(e.target)&&c()};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[c]),(0,G.useEffect)(()=>{let e=e=>{e.key===`Escape`&&c()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[c]);let p=Math.min(e.x,window.innerWidth-180-8),m=Math.min(e.y,window.innerHeight-130-8),h=document.getElementById(`portal`);return h?(0,K.createPortal)((0,q.jsxs)(`div`,{ref:f,style:{position:`fixed`,left:p,top:m,zIndex:1e4},className:`w-[180px] bg-popover border border-border rounded-md shadow-lg text-xs overflow-hidden py-1`,children:[(0,q.jsxs)(`button`,{type:`button`,onClick:()=>{n(),c()},className:`w-full text-left px-3 py-1.5 hover:bg-muted flex items-center gap-2 text-foreground`,children:[(0,q.jsx)(u,{className:`size-3`}),` View as JSON`]}),r&&(0,q.jsxs)(`button`,{type:`button`,onClick:()=>{r(),c()},className:`w-full text-left px-3 py-1.5 hover:bg-muted flex items-center gap-2 text-foreground`,children:[(0,q.jsx)(u,{className:`size-3`}),` View Cell`]}),o&&(0,q.jsxs)(`button`,{type:`button`,onClick:()=>{o(),c()},className:`w-full text-left px-3 py-1.5 hover:bg-muted flex items-center gap-2 text-primary`,children:[(0,q.jsx)(y,{className:`size-3`}),` `,s??`Open Referenced Table`]}),(0,q.jsxs)(`button`,{type:`button`,onClick:()=>{i(),c()},className:`w-full text-left px-3 py-1.5 hover:bg-muted flex items-center gap-2 text-foreground`,children:[t?(0,q.jsx)(ne,{className:`size-3`}):(0,q.jsx)(E,{className:`size-3`}),t?`Unpin Row`:`Pin Row`]}),(0,q.jsx)(`div`,{className:`border-t border-border my-0.5`}),l?(0,q.jsxs)(`div`,{className:`px-3 py-1.5 flex items-center gap-2`,children:[(0,q.jsx)(`button`,{type:`button`,onClick:()=>{a(),c()},className:`text-destructive font-medium hover:underline`,children:`Delete?`}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>d(!1),className:`text-muted-foreground hover:underline`,children:`Cancel`})]}):(0,q.jsxs)(`button`,{type:`button`,onClick:()=>d(!0),className:`w-full text-left px-3 py-1.5 hover:bg-muted flex items-center gap-2 text-destructive`,children:[(0,q.jsx)(S,{className:`size-3`}),` Delete Row`]})]}),h):null}function vc({columns:e,onSelect:t,onClose:n,anchorRect:r}){let[i,a]=(0,G.useState)(``),[o,s]=(0,G.useState)(0),c=(0,G.useRef)(null),l=(0,G.useRef)(null),u=i?e.filter(e=>e.toLowerCase().includes(i.toLowerCase())):e;(0,G.useEffect)(()=>{s(0)},[i]),(0,G.useEffect)(()=>{let e=l.current;e&&e.children[o]?.scrollIntoView({block:`nearest`})},[o]),(0,G.useEffect)(()=>{let e=e=>{c.current&&!c.current.contains(e.target)&&n()};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[n]);let d=(0,G.useCallback)(e=>{if(e.key===`Escape`){n();return}if(e.key===`ArrowDown`){e.preventDefault(),s(e=>Math.min(e+1,u.length-1));return}if(e.key===`ArrowUp`){e.preventDefault(),s(e=>Math.max(e-1,0));return}if(e.key===`Enter`){e.preventDefault();let r=u[o];r&&(t(r),n())}},[u,o,t,n]),f=document.getElementById(`portal`);return f?(0,K.createPortal)((0,q.jsxs)(`div`,{ref:c,style:{position:`fixed`,left:Math.min(r.x,window.innerWidth-216),top:Math.min(r.y,window.innerHeight-308),zIndex:1e4},className:`w-[200px] max-h-[300px] bg-popover border border-border rounded-md shadow-lg text-xs overflow-hidden flex flex-col`,children:[(0,q.jsx)(`div`,{className:`px-2 py-1.5 border-b border-border`,children:(0,q.jsx)(`input`,{autoFocus:!0,value:i,onChange:e=>a(e.target.value),onKeyDown:d,placeholder:`Search columns…`,className:`w-full bg-transparent outline-none text-foreground placeholder:text-muted-foreground text-xs`})}),(0,q.jsxs)(`div`,{ref:l,className:`overflow-y-auto py-1`,children:[u.map((e,r)=>(0,q.jsx)(`button`,{type:`button`,onClick:()=>{t(e),n()},onMouseEnter:()=>s(r),className:`w-full text-left px-3 py-1 truncate text-foreground ${r===o?`bg-muted`:`hover:bg-muted`}`,children:e},e)),u.length===0&&(0,q.jsx)(`div`,{className:`px-3 py-2 text-muted-foreground`,children:`No columns found`})]})]}),f):null}function yc({hasSelection:e,selectedCount:t,onBulkDelete:n,onInsertRow:r,columns:i,selectedRows:a,connectionName:o,searchTerm:c,onSearchChange:l,onColumnJump:u,colSearchOpen:d,onColSearchChange:f}){let[p,h]=(0,G.useState)(!1),[g,_]=(0,G.useState)(!1),v=d??g,y=f??_,b=(0,G.useRef)(null),x=b.current?(()=>{let e=b.current.getBoundingClientRect();return{x:e.left,y:e.bottom+4}})():{x:0,y:0};return(0,q.jsxs)(`div`,{className:`flex items-center gap-2 px-2 py-1 border-b border-border bg-background shrink-0`,children:[e&&(0,q.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs`,children:[(0,q.jsxs)(`span`,{className:`text-muted-foreground`,children:[t,` selected`]}),n&&(p?(0,q.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,q.jsxs)(`button`,{type:`button`,onClick:()=>{n(),h(!1)},className:`text-destructive text-[10px] font-medium hover:underline`,children:[`Delete `,t,`?`]}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>h(!1),className:`text-muted-foreground text-[10px] hover:underline`,children:`Cancel`})]}):(0,q.jsx)(`button`,{type:`button`,onClick:()=>h(!0),className:`p-0.5 text-muted-foreground hover:text-destructive`,children:(0,q.jsx)(S,{className:`size-3`})})),(0,q.jsx)(tt,{columns:i,rows:a,filename:`${o??`db`}-selected`})]}),(0,q.jsx)(`div`,{className:`flex-1`}),(0,q.jsxs)(`div`,{className:`flex items-center gap-1 text-xs`,children:[(0,q.jsx)(ee,{className:`size-3 text-muted-foreground`}),(0,q.jsx)(`input`,{value:c,onChange:e=>l(e.target.value),placeholder:`Search page…`,className:`w-24 bg-transparent outline-none text-foreground placeholder:text-muted-foreground text-xs`}),c&&(0,q.jsx)(`button`,{type:`button`,onClick:()=>l(``),className:`text-muted-foreground hover:text-foreground`,children:(0,q.jsx)(m,{className:`size-3`})})]}),u&&(0,q.jsx)(`button`,{ref:b,type:`button`,onClick:()=>y(!v),className:`p-0.5 rounded text-muted-foreground hover:text-foreground transition-colors`,title:`Jump to column (/)`,children:(0,q.jsx)(s,{className:`size-3.5`})}),r&&(0,q.jsx)(`button`,{type:`button`,onClick:r,className:`p-0.5 rounded text-muted-foreground hover:text-primary transition-colors`,title:`Insert row`,children:(0,q.jsx)(w,{className:`size-3.5`})}),v&&u&&(0,q.jsx)(vc,{columns:i,onSelect:u,onClose:()=>y(!1),anchorRect:x})]})}function bc({pendingCount:e,onSave:t,onDiscard:n}){return e===0?null:(0,q.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-1.5 border-t border-warning/50 bg-warning/5 shrink-0 text-xs`,children:[(0,q.jsxs)(`span`,{className:`text-warning font-medium`,children:[e,` pending edit`,e>1?`s`:``]}),(0,q.jsx)(`div`,{className:`flex-1`}),(0,q.jsxs)(`button`,{type:`button`,onClick:n,className:`flex items-center gap-1 px-2 py-0.5 rounded text-muted-foreground hover:text-foreground hover:bg-muted transition-colors`,children:[(0,q.jsx)(b,{className:`size-3`}),` Discard`]}),(0,q.jsxs)(`button`,{type:`button`,onClick:t,className:`flex items-center gap-1 px-2 py-0.5 rounded bg-primary text-primary-foreground hover:bg-primary/90 transition-colors`,children:[(0,q.jsx)(f,{className:`size-3`}),` Save`,(0,q.jsx)(`kbd`,{className:`ml-1 text-[9px] opacity-70`,children:`⌘↵`})]})]})}function xc({total:e,page:t,totalPages:n,onPageChange:r}){return(0,q.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-1.5 border-t border-border bg-background shrink-0 text-xs text-muted-foreground`,children:[(0,q.jsxs)(`span`,{children:[e.toLocaleString(),` rows`]}),(0,q.jsxs)(`div`,{className:`hidden md:flex items-center gap-2 text-[10px] text-muted-foreground/50`,children:[(0,q.jsxs)(`span`,{children:[(0,q.jsx)(`kbd`,{className:`px-1 py-0.5 rounded bg-muted text-[9px]`,children:`/`}),` columns`]}),(0,q.jsxs)(`span`,{children:[(0,q.jsxs)(`kbd`,{className:`px-1 py-0.5 rounded bg-muted text-[9px]`,children:[`⌘`,`A`]}),` select all`]}),(0,q.jsxs)(`span`,{children:[(0,q.jsxs)(`kbd`,{className:`px-1 py-0.5 rounded bg-muted text-[9px]`,children:[`⌘`,`C`]}),` copy`]})]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`button`,{type:`button`,disabled:t<=1,onClick:()=>r(t-1),className:`p-0.5 rounded hover:bg-muted disabled:opacity-30`,children:(0,q.jsx)(C,{className:`size-3.5`})}),(0,q.jsxs)(`span`,{children:[t,` / `,n]}),(0,q.jsx)(`button`,{type:`button`,disabled:t>=n,onClick:()=>r(t+1),className:`p-0.5 rounded hover:bg-muted disabled:opacity-30`,children:(0,q.jsx)(o,{className:`size-3.5`})})]})]})}function Sc(e,t){if(t===`json`)try{return JSON.stringify(JSON.parse(e.trim()),null,2)}catch{return null}if(t===`xml`){let t=0;return e.trim().replace(/>\s*</g,`>
139
139
  <`).split(`
140
140
  `).map(e=>{let n=e.trim();n.startsWith(`</`)&&(t=Math.max(0,t-1));let r=` `.repeat(t)+n;return n.startsWith(`<`)&&!n.startsWith(`</`)&&!n.endsWith(`/>`)&&!n.startsWith(`<?`)&&t++,r}).join(`
141
- `)}return null}function Cc({data:e,onClose:t,onOpenInTab:n}){let r=Pe(),[i,a]=(0,G.useState)(!0),[o,s]=(0,G.useState)(!1),l=e.language===`json`||e.language===`xml`,f=(0,G.useMemo)(()=>o?Sc(e.content,e.language)??e.content:e.content,[o,e.content,e.language]),h=(0,G.useCallback)(()=>{s(t=>t?!1:Sc(e.content,e.language)!==null)},[e.content,e.language]),[g,_]=(0,G.useState)(200),v=(0,G.useCallback)(e=>{e.preventDefault();let t=e.clientY,n=g,r=e=>_(Math.max(80,n+(t-e.clientY))),i=()=>{document.removeEventListener(`mousemove`,r),document.removeEventListener(`mouseup`,i)};document.addEventListener(`mousemove`,r),document.addEventListener(`mouseup`,i)},[g]);return(0,q.jsxs)(`div`,{className:`shrink-0 border-t border-border flex flex-col`,style:{height:g},children:[(0,q.jsx)(`div`,{onMouseDown:v,className:`shrink-0 h-1.5 cursor-row-resize bg-border/50 hover:bg-primary/30 flex items-center justify-center transition-colors`,children:(0,q.jsx)(ee,{className:`size-3 text-muted-foreground/50`})}),(0,q.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-1 bg-muted/50 border-b border-border shrink-0`,children:[(0,q.jsx)(u,{className:`size-3 text-muted-foreground`}),(0,q.jsx)(`span`,{className:`text-xs font-medium text-foreground truncate flex-1`,children:e.title}),l&&(0,q.jsx)(`button`,{type:`button`,onClick:h,title:o?`Raw`:`Beautify`,className:`p-0.5 rounded transition-colors ${o?`text-primary`:`text-muted-foreground hover:text-foreground`}`,children:(0,q.jsx)(c,{className:`size-3`})}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>a(!i),title:i?`No wrap`:`Word wrap`,className:`p-0.5 rounded transition-colors ${i?`text-primary`:`text-muted-foreground hover:text-foreground`}`,children:(0,q.jsx)(p,{className:`size-3`})}),(0,q.jsxs)(`button`,{type:`button`,onClick:n,title:`Open in new tab`,className:`flex items-center gap-1 px-1.5 py-0.5 rounded text-[10px] text-muted-foreground hover:text-foreground hover:bg-muted transition-colors`,children:[(0,q.jsx)(ne,{className:`size-3`}),(0,q.jsx)(`span`,{className:`hidden sm:inline`,children:`Open in Tab`})]}),(0,q.jsx)(`button`,{type:`button`,onClick:t,title:`Close preview (Esc)`,className:`p-0.5 rounded text-muted-foreground hover:text-foreground transition-colors`,children:(0,q.jsx)(m,{className:`size-3`})})]}),(0,q.jsx)(`div`,{className:`flex-1 min-h-0`,children:(0,q.jsx)(te,{height:`100%`,language:e.language===`plaintext`?void 0:e.language,value:f,theme:r,options:{readOnly:!0,minimap:{enabled:!1},scrollBeyondLastLine:!1,wordWrap:i?`on`:`off`,lineNumbers:`on`,fontSize:12,folding:!0,bracketPairColorization:{enabled:!0},domReadOnly:!0,contextmenu:!1,overviewRulerLanes:0},loading:(0,q.jsx)(d,{className:`size-4 animate-spin text-muted-foreground`})})})]})}var wc=()=>{},Tc={sortAsc:e=>`<svg viewBox="0 0 16 16" fill="${e.fgColor}"><path d="M8 4l4 6H4z"/></svg>`,sortDesc:e=>`<svg viewBox="0 0 16 16" fill="${e.fgColor}"><path d="M8 12l4-6H4z"/></svg>`,headerFk:()=>`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" stroke="var(--accent)" stroke-width="1.5" stroke-linecap="round"><path d="M6 4.5H4.5a2.5 2.5 0 000 5H6M10 4.5h1.5a2.5 2.5 0 010 5H10M5 7h6"/></svg>`};function Ec(e){let{columns:t,rows:n,total:r,limit:i,schema:a,loading:o,page:s,onPageChange:c,onCellUpdate:l,onRowDelete:u,onBulkDelete:f,onInsertRow:p,orderBy:m,orderDir:h,onToggleSort:g,onClearSort:_,columnFilters:v={},onColumnFilter:y,connectionId:b,selectedTable:x,selectedSchema:S,connectionName:C,readOnly:w}=e,T=Qs(),E=(0,G.useRef)(null),D=(0,G.useRef)(null),O=(0,G.useMemo)(()=>{let e=new Set(a.map(e=>e.name));return t.filter(t=>e.has(t))},[t,a]),[k,ee]=(0,G.useState)(new Set),[te,ne]=(0,G.useState)(new Map),[A,re]=(0,G.useState)(null),[j,ie]=(0,G.useState)(null),[ae,oe]=(0,G.useState)(``),[M,se]=(0,G.useState)([]),N=(0,G.useMemo)(()=>a.find(e=>e.pk)?.name??a.find(e=>e.name.toLowerCase()===`id`)?.name??null,[a]),{effectiveRows:ce,pinnedCount:le,pinnedPks:ue,setPinnedPks:P}=fc(n,N),F=(0,G.useMemo)(()=>{if(le===0)return[...ce,...M];let e=ce.slice(0,ce.length-le),t=ce.slice(ce.length-le);return[...e,...M,...t]},[ce,M,le]),I=(0,G.useMemo)(()=>{if(!ae.trim())return F;let e=ae.toLowerCase();return F.filter(t=>O.some(n=>String(t[n]??``).toLowerCase().includes(e)))},[F,O,ae]),de=(0,G.useMemo)(()=>le===0||!N?0:ae.trim()?I.filter(e=>ue.has(String(e[N]??``))).length:le,[le,N,ae,I,ue]),fe=!!w||!N,{pendingRef:pe,addEdit:me,commitAll:he,discardAll:ge,hasPending:_e,pendingCount:ve,committedRef:L}=dc(N,l,p),{columns:ye,freezeColumns:be,columnOrder:xe}=ec(a,O,k,te,I,m,h),{getCellContent:R,onCellEdited:Se}=cc(I,xe,a,N,me,pe,fe),{gridSelection:z,onGridSelectionChange:B,selectedRowIndices:V,clearSelection:Ce}=uc(),{previewData:H,closePreview:U,openRowPreview:we,openCellPreview:Te,openPreviewInTab:Ee,handlePaste:W,getContextFk:De,isCellViewable:Oe,openFkTable:ke}=hc({displayRows:I,columnOrder:xe,schema:a,pkCol:N,connectionId:b,connectionName:C,selectedTable:x,selectedSchema:S,addEdit:fe?wc:me,gridSelection:z,containerRef:D});(0,G.useEffect)(()=>{L.current&&(L.current=!1,ge(),se([]))},[n]);let Ae=(0,G.useCallback)((e,t)=>{ne(n=>new Map(n).set(e.id??e.title,t))},[]),je=(0,G.useCallback)((e,t)=>{let n=xe[e];n&&re({colName:n,bounds:t})},[xe]),Me=(0,G.useCallback)(([e,t],n)=>{n.preventDefault(),ie({position:{x:n.bounds.x+n.localEventX,y:n.bounds.y+n.localEventY},rowIdx:t,colIdx:e})},[]),Ne=(0,G.useCallback)(e=>{ee(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),Pe=(0,G.useCallback)(e=>{if(!N)return;let t=I[e];if(!t)return;let n=String(t[N]??``);P(e=>{let t=new Set(e);return t.has(n)?t.delete(n):t.add(n),t})},[N,I,P]),Fe=(0,G.useCallback)(e=>{if(ue.size===0||!N)return;let t=I[e];if(t&&ue.has(String(t[N]??``)))return{bgCell:T.bgCellMedium??T.bgHeader}},[ue,N,I,T]),Ie=(0,G.useCallback)(()=>{!N||!f||(f(N,V.map(e=>I[e]?.[N]).filter(e=>e!=null)),Ce())},[N,f,V,I,Ce]),[Le,Re]=(0,G.useState)(!1),ze=(0,G.useCallback)(e=>{if(e.key===`Escape`){U(),Re(!1);return}(e.metaKey||e.ctrlKey)&&e.key===`Enter`&&_e&&(e.preventDefault(),he());let t=e.target?.tagName;e.key===`/`&&t!==`INPUT`&&t!==`TEXTAREA`&&(e.preventDefault(),Re(!0))},[_e,he,U]),Be=(0,G.useCallback)(()=>{!N||!p||se(e=>[...e,{[N]:`__new_${Date.now()}`}])},[N,p]),Ve=(0,G.useCallback)(e=>{let t=xe.indexOf(e);t>=0&&E.current?.scrollTo&&E.current.scrollTo(t,0)},[xe]),He=j?I[j.rowIdx]:null,Ue=He&&N?String(He[N]??``):``,We=j?xe[j.colIdx]:null,Ge=Oe(He??null,We??null),Ke=De(We??null),qe=He&&We?He[We]:null;return O.length?(0,q.jsxs)(`div`,{ref:D,className:`flex flex-col h-full overflow-hidden relative`,tabIndex:0,onKeyDown:ze,children:[(0,q.jsx)(yc,{hasSelection:V.length>0,selectedCount:V.length,onBulkDelete:f&&N?Ie:void 0,onInsertRow:p&&N?Be:void 0,columns:O,selectedRows:V.map(e=>I[e]).filter(Boolean),connectionName:C,searchTerm:ae,onSearchChange:oe,onColumnJump:Ve,colSearchOpen:Le,onColSearchChange:Re}),o&&(0,q.jsx)(`div`,{className:`absolute inset-0 z-30 flex items-center justify-center bg-background/60`,children:(0,q.jsx)(d,{className:`size-5 animate-spin text-primary`})}),(0,q.jsx)(`div`,{className:`flex-1 min-h-0`,children:(0,q.jsx)(Js,{ref:E,columns:ye,rows:I.length,getCellContent:R,getCellsForSelection:!0,onCellEdited:Se,onPaste:fe?!1:W,theme:T,freezeColumns:be,freezeTrailingRows:de,rowMarkers:N?`checkbox-visible`:`number`,gridSelection:z,onGridSelectionChange:B,onColumnResize:Ae,onHeaderMenuClick:je,onCellContextMenu:Me,getRowThemeOverride:Fe,trailingRowOptions:p&&N?{sticky:!0,tint:!0}:void 0,onRowAppended:p?Be:void 0,headerIcons:Tc,smoothScrollX:!0,smoothScrollY:!0,width:`100%`,height:`100%`})}),_e&&(0,q.jsx)(bc,{pendingCount:ve,onSave:he,onDiscard:()=>{ge(),se([])}}),H&&(0,q.jsx)(Cc,{data:H,onClose:U,onOpenInTab:Ee}),(0,q.jsx)(xc,{total:r,page:s,totalPages:Math.ceil(r/i)||1,onPageChange:c}),A&&(0,q.jsx)(gc,{colName:A.colName,bounds:A.bounds,isPinned:k.has(A.colName),filterValue:v[A.colName]??``,sortState:m===A.colName?h===`ASC`?`asc`:`desc`:null,onFilter:e=>{if(!y)return;let t={...v};e?t[A.colName]=e:delete t[A.colName],y(t)},onSort:()=>{g&&g(A.colName)},onClearSort:_,onTogglePin:()=>Ne(A.colName),onClose:()=>re(null)}),j&&He&&(0,q.jsx)(_c,{position:j.position,isPinned:ue.has(Ue),onViewRow:()=>we(j.rowIdx),onViewCell:Ge?()=>Te(j.rowIdx,j.colIdx):void 0,onPinRow:()=>Pe(j.rowIdx),onDeleteRow:()=>{N&&u&&He&&u(N,He[N])},onOpenFkTable:Ke&&qe!=null&&b?()=>ke(Ke,qe):void 0,fkLabel:Ke?`Open ${Ke.table}.${Ke.column}`:void 0,onClose:()=>ie(null)})]}):(0,q.jsx)(`div`,{className:`flex items-center justify-center h-full text-xs text-muted-foreground`,children:o?(0,q.jsx)(d,{className:`size-4 animate-spin`}):`Select a table`})}export{Be as a,Qe as i,tt as n,ze as o,$e as r,Ec as t};
141
+ `)}return null}function Cc({data:e,onClose:t,onOpenInTab:n}){let r=Pe(),[i,a]=(0,G.useState)(!0),[o,s]=(0,G.useState)(!1),l=e.language===`json`||e.language===`xml`,f=(0,G.useMemo)(()=>o?Sc(e.content,e.language)??e.content:e.content,[o,e.content,e.language]),h=(0,G.useCallback)(()=>{s(t=>t?!1:Sc(e.content,e.language)!==null)},[e.content,e.language]),[g,_]=(0,G.useState)(200),v=(0,G.useCallback)(e=>{e.preventDefault();let t=e.clientY,n=g,r=e=>_(Math.max(80,n+(t-e.clientY))),i=()=>{document.removeEventListener(`mousemove`,r),document.removeEventListener(`mouseup`,i)};document.addEventListener(`mousemove`,r),document.addEventListener(`mouseup`,i)},[g]);return(0,q.jsxs)(`div`,{className:`shrink-0 border-t border-border flex flex-col`,style:{height:g},children:[(0,q.jsx)(`div`,{onMouseDown:v,className:`shrink-0 h-1.5 cursor-row-resize bg-border/50 hover:bg-primary/30 flex items-center justify-center transition-colors`,children:(0,q.jsx)(D,{className:`size-3 text-muted-foreground/50`})}),(0,q.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-1 bg-muted/50 border-b border-border shrink-0`,children:[(0,q.jsx)(u,{className:`size-3 text-muted-foreground`}),(0,q.jsx)(`span`,{className:`text-xs font-medium text-foreground truncate flex-1`,children:e.title}),l&&(0,q.jsx)(`button`,{type:`button`,onClick:h,title:o?`Raw`:`Beautify`,className:`p-0.5 rounded transition-colors ${o?`text-primary`:`text-muted-foreground hover:text-foreground`}`,children:(0,q.jsx)(c,{className:`size-3`})}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>a(!i),title:i?`No wrap`:`Word wrap`,className:`p-0.5 rounded transition-colors ${i?`text-primary`:`text-muted-foreground hover:text-foreground`}`,children:(0,q.jsx)(p,{className:`size-3`})}),(0,q.jsxs)(`button`,{type:`button`,onClick:n,title:`Open in new tab`,className:`flex items-center gap-1 px-1.5 py-0.5 rounded text-[10px] text-muted-foreground hover:text-foreground hover:bg-muted transition-colors`,children:[(0,q.jsx)(y,{className:`size-3`}),(0,q.jsx)(`span`,{className:`hidden sm:inline`,children:`Open in Tab`})]}),(0,q.jsx)(`button`,{type:`button`,onClick:t,title:`Close preview (Esc)`,className:`p-0.5 rounded text-muted-foreground hover:text-foreground transition-colors`,children:(0,q.jsx)(m,{className:`size-3`})})]}),(0,q.jsx)(`div`,{className:`flex-1 min-h-0`,children:(0,q.jsx)(te,{height:`100%`,language:e.language===`plaintext`?void 0:e.language,value:f,theme:r,options:{readOnly:!0,minimap:{enabled:!1},scrollBeyondLastLine:!1,wordWrap:i?`on`:`off`,lineNumbers:`on`,fontSize:12,folding:!0,bracketPairColorization:{enabled:!0},domReadOnly:!0,contextmenu:!1,overviewRulerLanes:0},loading:(0,q.jsx)(d,{className:`size-4 animate-spin text-muted-foreground`})})})]})}var wc=()=>{},Tc={sortAsc:e=>`<svg viewBox="0 0 16 16" fill="${e.fgColor}"><path d="M8 4l4 6H4z"/></svg>`,sortDesc:e=>`<svg viewBox="0 0 16 16" fill="${e.fgColor}"><path d="M8 12l4-6H4z"/></svg>`,headerFk:()=>`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" stroke="var(--accent)" stroke-width="1.5" stroke-linecap="round"><path d="M6 4.5H4.5a2.5 2.5 0 000 5H6M10 4.5h1.5a2.5 2.5 0 010 5H10M5 7h6"/></svg>`};function Ec(e){let{columns:t,rows:n,total:r,limit:i,schema:a,loading:o,page:s,onPageChange:c,onCellUpdate:l,onRowDelete:u,onBulkDelete:f,onInsertRow:p,orderBy:m,orderDir:h,onToggleSort:g,onClearSort:_,columnFilters:v={},onColumnFilter:y,connectionId:b,selectedTable:x,selectedSchema:S,connectionName:C,readOnly:w}=e,T=Qs(),E=(0,G.useRef)(null),D=(0,G.useRef)(null),O=(0,G.useMemo)(()=>{let e=new Set(a.map(e=>e.name));return t.filter(t=>e.has(t))},[t,a]),[k,ee]=(0,G.useState)(new Set),[te,ne]=(0,G.useState)(new Map),[A,re]=(0,G.useState)(null),[j,ie]=(0,G.useState)(null),[ae,oe]=(0,G.useState)(``),[M,se]=(0,G.useState)([]),N=(0,G.useMemo)(()=>a.find(e=>e.pk)?.name??a.find(e=>e.name.toLowerCase()===`id`)?.name??null,[a]),{effectiveRows:ce,pinnedCount:le,pinnedPks:ue,setPinnedPks:P}=fc(n,N),F=(0,G.useMemo)(()=>{if(le===0)return[...ce,...M];let e=ce.slice(0,ce.length-le),t=ce.slice(ce.length-le);return[...e,...M,...t]},[ce,M,le]),I=(0,G.useMemo)(()=>{if(!ae.trim())return F;let e=ae.toLowerCase();return F.filter(t=>O.some(n=>String(t[n]??``).toLowerCase().includes(e)))},[F,O,ae]),de=(0,G.useMemo)(()=>le===0||!N?0:ae.trim()?I.filter(e=>ue.has(String(e[N]??``))).length:le,[le,N,ae,I,ue]),fe=!!w||!N,{pendingRef:pe,addEdit:me,commitAll:he,discardAll:ge,hasPending:_e,pendingCount:ve,committedRef:L}=dc(N,l,p),{columns:ye,freezeColumns:be,columnOrder:xe}=ec(a,O,k,te,I,m,h),{getCellContent:R,onCellEdited:Se}=cc(I,xe,a,N,me,pe,fe),{gridSelection:z,onGridSelectionChange:B,selectedRowIndices:V,clearSelection:Ce}=uc(),{previewData:H,closePreview:U,openRowPreview:we,openCellPreview:Te,openPreviewInTab:Ee,handlePaste:W,getContextFk:De,isCellViewable:Oe,openFkTable:ke}=hc({displayRows:I,columnOrder:xe,schema:a,pkCol:N,connectionId:b,connectionName:C,selectedTable:x,selectedSchema:S,addEdit:fe?wc:me,gridSelection:z,containerRef:D});(0,G.useEffect)(()=>{L.current&&(L.current=!1,ge(),se([]))},[n]);let Ae=(0,G.useCallback)((e,t)=>{ne(n=>new Map(n).set(e.id??e.title,t))},[]),je=(0,G.useCallback)((e,t)=>{let n=xe[e];n&&re({colName:n,bounds:t})},[xe]),Me=(0,G.useCallback)(([e,t],n)=>{n.preventDefault(),ie({position:{x:n.bounds.x+n.localEventX,y:n.bounds.y+n.localEventY},rowIdx:t,colIdx:e})},[]),Ne=(0,G.useCallback)(e=>{ee(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),Pe=(0,G.useCallback)(e=>{if(!N)return;let t=I[e];if(!t)return;let n=String(t[N]??``);P(e=>{let t=new Set(e);return t.has(n)?t.delete(n):t.add(n),t})},[N,I,P]),Fe=(0,G.useCallback)(e=>{if(ue.size===0||!N)return;let t=I[e];if(t&&ue.has(String(t[N]??``)))return{bgCell:T.bgCellMedium??T.bgHeader}},[ue,N,I,T]),Ie=(0,G.useCallback)(()=>{!N||!f||(f(N,V.map(e=>I[e]?.[N]).filter(e=>e!=null)),Ce())},[N,f,V,I,Ce]),[Le,Re]=(0,G.useState)(!1),ze=(0,G.useCallback)(e=>{if(e.key===`Escape`){U(),Re(!1);return}(e.metaKey||e.ctrlKey)&&e.key===`Enter`&&_e&&(e.preventDefault(),he());let t=e.target?.tagName;e.key===`/`&&t!==`INPUT`&&t!==`TEXTAREA`&&(e.preventDefault(),Re(!0))},[_e,he,U]),Be=(0,G.useCallback)(()=>{!N||!p||se(e=>[...e,{[N]:`__new_${Date.now()}`}])},[N,p]),Ve=(0,G.useCallback)(e=>{let t=xe.indexOf(e);t>=0&&E.current?.scrollTo&&E.current.scrollTo(t,0)},[xe]),He=j?I[j.rowIdx]:null,Ue=He&&N?String(He[N]??``):``,We=j?xe[j.colIdx]:null,Ge=Oe(He??null,We??null),Ke=De(We??null),qe=He&&We?He[We]:null;return O.length?(0,q.jsxs)(`div`,{ref:D,className:`flex flex-col h-full overflow-hidden relative`,tabIndex:0,onKeyDown:ze,children:[(0,q.jsx)(yc,{hasSelection:V.length>0,selectedCount:V.length,onBulkDelete:f&&N?Ie:void 0,onInsertRow:p&&N?Be:void 0,columns:O,selectedRows:V.map(e=>I[e]).filter(Boolean),connectionName:C,searchTerm:ae,onSearchChange:oe,onColumnJump:Ve,colSearchOpen:Le,onColSearchChange:Re}),o&&(0,q.jsx)(`div`,{className:`absolute inset-0 z-30 flex items-center justify-center bg-background/60`,children:(0,q.jsx)(d,{className:`size-5 animate-spin text-primary`})}),(0,q.jsx)(`div`,{className:`flex-1 min-h-0`,children:(0,q.jsx)(Js,{ref:E,columns:ye,rows:I.length,getCellContent:R,getCellsForSelection:!0,onCellEdited:Se,onPaste:fe?!1:W,theme:T,freezeColumns:be,freezeTrailingRows:de,rowMarkers:N?`checkbox-visible`:`number`,gridSelection:z,onGridSelectionChange:B,onColumnResize:Ae,onHeaderMenuClick:je,onCellContextMenu:Me,getRowThemeOverride:Fe,trailingRowOptions:p&&N?{sticky:!0,tint:!0}:void 0,onRowAppended:p?Be:void 0,headerIcons:Tc,smoothScrollX:!0,smoothScrollY:!0,width:`100%`,height:`100%`})}),_e&&(0,q.jsx)(bc,{pendingCount:ve,onSave:he,onDiscard:()=>{ge(),se([])}}),H&&(0,q.jsx)(Cc,{data:H,onClose:U,onOpenInTab:Ee}),(0,q.jsx)(xc,{total:r,page:s,totalPages:Math.ceil(r/i)||1,onPageChange:c}),A&&(0,q.jsx)(gc,{colName:A.colName,bounds:A.bounds,isPinned:k.has(A.colName),filterValue:v[A.colName]??``,sortState:m===A.colName?h===`ASC`?`asc`:`desc`:null,onFilter:e=>{if(!y)return;let t={...v};e?t[A.colName]=e:delete t[A.colName],y(t)},onSort:()=>{g&&g(A.colName)},onClearSort:_,onTogglePin:()=>Ne(A.colName),onClose:()=>re(null)}),j&&He&&(0,q.jsx)(_c,{position:j.position,isPinned:ue.has(Ue),onViewRow:()=>we(j.rowIdx),onViewCell:Ge?()=>Te(j.rowIdx,j.colIdx):void 0,onPinRow:()=>Pe(j.rowIdx),onDeleteRow:()=>{N&&u&&He&&u(N,He[N])},onOpenFkTable:Ke&&qe!=null&&b?()=>ke(Ke,qe):void 0,fkLabel:Ke?`Open ${Ke.table}.${Ke.column}`:void 0,onClose:()=>ie(null)})]}):(0,q.jsx)(`div`,{className:`flex items-center justify-center h-full text-xs text-muted-foreground`,children:o?(0,q.jsx)(d,{className:`size-4 animate-spin`}):`Select a table`})}export{Be as a,Qe as i,tt as n,ze as o,$e as r,Ec as t};
@@ -1 +1 @@
1
- import{t as e}from"./javascript-C5SKIVqe.js";import{t}from"./css-BuxbQOHL.js";import{t as n}from"./html-C5X4urn_.js";import{t as r}from"./typescript-C1ytmMcr.js";var i=Object.freeze(JSON.parse(`{"displayName":"Glimmer JS","injections":{"L:source.gjs -comment -(string -meta.embedded)":{"patterns":[{"include":"#main"}]}},"name":"glimmer-js","patterns":[{"include":"#main"},{"include":"source.js"}],"repository":{"as-keyword":{"match":"\\\\s\\\\b(as)\\\\b(?=\\\\s\\\\|)","name":"keyword.control","patterns":[]},"as-params":{"begin":"(?<!\\\\|)(\\\\|)","beginCaptures":{"1":{"name":"constant.other.symbol.begin.ember-handlebars"}},"end":"(\\\\|)(?!\\\\|)","endCaptures":{"1":{"name":"constant.other.symbol.end.ember-handlebars"}},"name":"keyword.block-params.ember-handlebars","patterns":[{"include":"#variable"}]},"attention":{"match":"@?(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|TEMP)\\\\b","name":"storage.type.class.\${1:/downcase}","patterns":[]},"boolean":{"captures":{"0":{"name":"string.regexp"},"1":{"name":"string.regexp"},"2":{"name":"string.regexp"}},"match":"true|false|undefined|null","patterns":[]},"component-tag":{"begin":"(</?)(@|this.)?([-$.0-:A-Z_a-z]+)\\\\b","beginCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"support.function","patterns":[{"match":"(@|this)","name":"variable.language"},{"match":"(\\\\.)+","name":"punctuation.definition.tag"}]},"3":{"name":"entity.name.type","patterns":[{"include":"#glimmer-component-path"},{"match":"([$:@])","name":"markup.bold"}]}},"end":"(/?)(>)","endCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"punctuation.definition.tag"}},"name":"meta.tag.any.ember-handlebars","patterns":[{"include":"#tag-like-content"}]},"digit":{"captures":{"0":{"name":"constant.numeric"},"1":{"name":"constant.numeric"},"2":{"name":"constant.numeric"}},"match":"\\\\d*(\\\\.)?\\\\d+","patterns":[]},"entities":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.entity.html.ember-handlebars"},"3":{"name":"punctuation.definition.entity.html.ember-handlebars"}},"match":"(&)([0-9A-Za-z]+|#[0-9]+|#x\\\\h+)(;)","name":"constant.character.entity.html.ember-handlebars"},{"match":"&","name":"invalid.illegal.bad-ampersand.html.ember-handlebars"}]},"glimmer-argument":{"captures":{"1":{"name":"entity.other.attribute-name.ember-handlebars.argument","patterns":[{"match":"(@)","name":"markup.italic"}]},"2":{"name":"punctuation.separator.key-value.html.ember-handlebars"}},"match":"\\\\s(@[-.0-:A-Z_a-z]+)(=)?"},"glimmer-as-stuff":{"patterns":[{"include":"#as-keyword"},{"include":"#as-params"}]},"glimmer-block":{"begin":"(\\\\{\\\\{~?)([#/])(([$\\\\--9@-Z_a-z]+))","captures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"punctuation.definition.tag"},"3":{"name":"keyword.control","patterns":[{"include":"#glimmer-component-path"},{"match":"(/)+","name":"punctuation.definition.tag"},{"match":"(\\\\.)+","name":"punctuation.definition.tag"}]}},"end":"(~?}})","name":"entity.expression.ember-handlebars","patterns":[{"include":"#glimmer-as-stuff"},{"include":"#glimmer-supexp-content"}]},"glimmer-bools":{"captures":{"0":{"name":"keyword.operator"},"1":{"name":"keyword.operator"},"2":{"name":"string.regexp"},"3":{"name":"string.regexp"},"4":{"name":"keyword.operator"}},"match":"(\\\\{\\\\{~?)(true|false|null|undefined|\\\\d*(\\\\.)?\\\\d+)(~?}})","name":"entity.expression.ember-handlebars"},"glimmer-comment-block":{"begin":"\\\\{\\\\{!--","captures":{"0":{"name":"punctuation.definition.block.comment.glimmer"}},"end":"--}}","name":"comment.block.glimmer","patterns":[{"include":"#script"},{"include":"#attention"}]},"glimmer-comment-inline":{"begin":"\\\\{\\\\{!","captures":{"0":{"name":"punctuation.definition.block.comment.glimmer"}},"end":"}}","name":"comment.inline.glimmer","patterns":[{"include":"#script"},{"include":"#attention"}]},"glimmer-component-path":{"captures":{"1":{"name":"punctuation.definition.tag"}},"match":"(::|[$._])"},"glimmer-control-expression":{"begin":"(\\\\{\\\\{~?)(([-/-9A-Z_a-z]+)\\\\s)","captures":{"1":{"name":"keyword.operator"},"2":{"name":"keyword.operator"},"3":{"name":"keyword.control"}},"end":"(~?}})","name":"entity.expression.ember-handlebars","patterns":[{"include":"#glimmer-supexp-content"}]},"glimmer-else-block":{"captures":{"0":{"name":"punctuation.definition.tag"},"1":{"name":"punctuation.definition.tag"},"2":{"name":"keyword.control"},"3":{"name":"keyword.control","patterns":[{"include":"#glimmer-subexp"},{"include":"#string-single-quoted-handlebars"},{"include":"#string-double-quoted-handlebars"},{"include":"#boolean"},{"include":"#digit"},{"include":"#param"},{"include":"#glimmer-parameter-name"},{"include":"#glimmer-parameter-value"}]},"4":{"name":"punctuation.definition.tag"}},"match":"(\\\\{\\\\{~?)(else(?:\\\\s[a-z]+\\\\s|))([\\\\x08().0-9@-Za-z\\\\s]+)?(~?}})","name":"entity.expression.ember-handlebars"},"glimmer-expression":{"begin":"(\\\\{\\\\{~?)(([-().0-9@-Z_a-z\\\\s]+))","captures":{"1":{"name":"keyword.operator"},"2":{"name":"keyword.operator"},"3":{"name":"support.function","patterns":[{"match":"\\\\(+","name":"string.regexp"},{"match":"\\\\)+","name":"string.regexp"},{"match":"(\\\\.)+","name":"punctuation.definition.tag"},{"include":"#glimmer-supexp-content"}]}},"end":"(~?}})","name":"entity.expression.ember-handlebars","patterns":[{"include":"#glimmer-supexp-content"}]},"glimmer-expression-property":{"begin":"(\\\\{\\\\{~?)((@|this.)([-.0-9A-Z_a-z]+))","captures":{"1":{"name":"keyword.operator"},"2":{"name":"keyword.operator"},"3":{"name":"support.function","patterns":[{"match":"(@|this)","name":"variable.language"},{"match":"(\\\\.)+","name":"punctuation.definition.tag"}]},"4":{"name":"support.function","patterns":[{"match":"(\\\\.)+","name":"punctuation.definition.tag"}]}},"end":"(~?}})","name":"entity.expression.ember-handlebars","patterns":[{"include":"#glimmer-supexp-content"}]},"glimmer-parameter-name":{"captures":{"1":{"name":"variable.parameter.name.ember-handlebars"},"2":{"name":"punctuation.definition.expression.ember-handlebars"}},"match":"\\\\b([-0-9A-Z_a-z]+)(\\\\s?=)","patterns":[]},"glimmer-parameter-value":{"captures":{"1":{"name":"support.function","patterns":[{"match":"(\\\\.)+","name":"punctuation.definition.tag"}]}},"match":"\\\\b([-.0-:A-Z_a-z]+)\\\\b(?!=)","patterns":[]},"glimmer-special-block":{"captures":{"0":{"name":"keyword.operator"},"1":{"name":"keyword.operator"},"2":{"name":"keyword.control"},"3":{"name":"keyword.operator"}},"match":"(\\\\{\\\\{~?)(yield|outlet)(~?}})","name":"entity.expression.ember-handlebars"},"glimmer-subexp":{"begin":"(\\\\()([-.0-9@-Za-z]+)","captures":{"1":{"name":"keyword.other"},"2":{"name":"keyword.control"}},"end":"(\\\\))","name":"entity.subexpression.ember-handlebars","patterns":[{"include":"#glimmer-supexp-content"}]},"glimmer-supexp-content":{"patterns":[{"include":"#glimmer-subexp"},{"include":"#string-single-quoted-handlebars"},{"include":"#string-double-quoted-handlebars"},{"include":"#boolean"},{"include":"#digit"},{"include":"#param"},{"include":"#glimmer-parameter-name"},{"include":"#glimmer-parameter-value"}]},"glimmer-unescaped-expression":{"begin":"\\\\{\\\\{\\\\{","captures":{"0":{"name":"keyword.operator"}},"end":"}}}","name":"entity.unescaped.expression.ember-handlebars","patterns":[{"include":"#string-single-quoted-handlebars"},{"include":"#string-double-quoted-handlebars"},{"include":"#glimmer-subexp"},{"include":"#param"}]},"html-attribute":{"captures":{"1":{"name":"entity.other.attribute-name.ember-handlebars","patterns":[{"match":"(\\\\.\\\\.\\\\.attributes)","name":"markup.bold"}]},"2":{"name":"punctuation.separator.key-value.html.ember-handlebars"}},"match":"\\\\s([-.0-:A-Z_a-z]+)(=)?"},"html-comment":{"begin":"<!--","captures":{"0":{"name":"punctuation.definition.comment.html.ember-handlebars"}},"end":"--\\\\s*>","name":"comment.block.html.ember-handlebars","patterns":[{"include":"#attention"},{"match":"--","name":"invalid.illegal.bad-comments-or-CDATA.html.ember-handlebars"}]},"html-tag":{"begin":"(</?)([-0-9a-z]+)(?![.:])\\\\b","beginCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"entity.name.tag.html.ember-handlebars"}},"end":"(/?)(>)","endCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"punctuation.definition.tag"}},"name":"meta.tag.any.ember-handlebars","patterns":[{"include":"#tag-like-content"}]},"main":{"patterns":[{"begin":"\\\\s*(<)(template)\\\\s*(>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"},"3":{"name":"punctuation.definition.tag.html"}},"end":"(</)(template)(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"},"3":{"name":"punctuation.definition.tag.html"}},"name":"meta.js.embeddedTemplateWithoutArgs","patterns":[{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}]},{"begin":"(<)(template)","beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"}},"end":"(</)(template)(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"},"3":{"name":"punctuation.definition.tag.html"}},"name":"meta.js.embeddedTemplateWithArgs","patterns":[{"begin":"(?<=<template)","end":"(?=>)","patterns":[{"include":"#tag-like-content"}]},{"begin":"(>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.end.js"}},"contentName":"meta.html.embedded.block","end":"(?=</template>)","patterns":[{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}]}]},{"begin":"\\\\b((?:\\\\w+\\\\.)*h(?:bs|tml)\\\\s*)(\`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.js"},"2":{"name":"punctuation.definition.string.template.begin.js"}},"contentName":"meta.embedded.block.html","end":"(\`)","endCaptures":{"0":{"name":"string.js"},"1":{"name":"punctuation.definition.string.template.end.js"}},"patterns":[{"include":"source.ts#template-substitution-element"},{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}]},{"begin":"((createTemplate|hbs|html))(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.ts"},"2":{"name":"meta.function-call.ts"},"3":{"name":"meta.brace.round.ts"}},"contentName":"meta.embedded.block.html","end":"(\\\\))","endCaptures":{"1":{"name":"meta.brace.round.ts"}},"patterns":[{"begin":"(([\\"'\`]))","beginCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.begin.ts"}},"end":"(([\\"'\`]))","endCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.end.ts"}},"patterns":[{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}]}]},{"begin":"((precompileTemplate)\\\\s*)(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.ts"},"2":{"name":"meta.function-call.ts"},"3":{"name":"meta.brace.round.ts"}},"end":"(\\\\))","endCaptures":{"1":{"name":"meta.brace.round.ts"}},"patterns":[{"begin":"(([\\"'\`]))","beginCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.begin.ts"}},"contentName":"meta.embedded.block.html","end":"(([\\"'\`]))","endCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.end.ts"}},"patterns":[{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}]},{"include":"source.ts#object-literal"},{"include":"source.ts"}]}]},"param":{"captures":{"0":{"name":"support.function","patterns":[{"match":"(@|this)","name":"variable.language"},{"match":"(\\\\.)+","name":"punctuation.definition.tag"}]},"1":{"name":"support.function","patterns":[{"match":"(\\\\.)+","name":"punctuation.definition.tag"}]}},"match":"(@|this.)([-.0-9A-Z_a-z]+)","patterns":[]},"script":{"begin":"(^[\\\\t ]+)?(?=<(?i:script)\\\\b(?!-))","beginCaptures":{"1":{"name":"punctuation.whitespace.embedded.leading.html"}},"end":"(?!\\\\G)([\\\\t ]*$\\\\n?)?","endCaptures":{"1":{"name":"punctuation.whitespace.embedded.trailing.html"}},"patterns":[{"begin":"(<)((?i:script))\\\\b","beginCaptures":{"0":{"name":"meta.tag.metadata.script.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":"(/)((?i:script))(>)","endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.embedded.block.html","patterns":[{"begin":"\\\\G","end":"(?=/)","patterns":[{"begin":"(>)","beginCaptures":{"0":{"name":"meta.tag.metadata.script.start.html"},"1":{"name":"punctuation.definition.tag.end.html"}},"end":"((<))(?=/(?i:script))","endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"source.js-ignored-vscode"}},"patterns":[{"begin":"\\\\G","end":"(?=</(?i:script))","name":"source.js","patterns":[{"begin":"(^[\\\\t ]+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.js"}},"end":"(?!\\\\G)","patterns":[{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.js"}},"end":"(?=<\/script)|\\\\n","name":"comment.line.double-slash.js"}]},{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.js"}},"end":"\\\\*/|(?=<\/script)","name":"comment.block.js"},{"include":"source.js"}]}]},{"begin":"(?i:(?=type\\\\s*=\\\\s*([\\"']?)text/(x-handlebars|(x-(handlebars-)?|ng-)?template|html)[\\"'>\\\\s]))","end":"((<))(?=/(?i:script))","endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"text.html.basic"}},"patterns":[{"begin":"(?!\\\\G)","end":"(?=</(?i:script))","name":"text.html.basic","patterns":[{"include":"text.html.basic"}]}]},{"begin":"(?=(?i:type))","end":"(<)(?=/(?i:script))","endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"}}},{"include":"#string-double-quoted-html"},{"include":"#string-single-quoted-html"},{"include":"#glimmer-argument"},{"include":"#html-attribute"}]}]}]},"string-double-quoted-handlebars":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ember-handlebars"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.ember-handlebars"}},"name":"string.quoted.double.ember-handlebars","patterns":[{"match":"\\\\\\\\\\"","name":"constant.character.escape.ember-handlebars"}]},"string-double-quoted-html":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ember-handlebars"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.ember-handlebars"}},"name":"string.quoted.double.html.ember-handlebars","patterns":[{"match":"\\\\\\\\\\"","name":"constant.character.escape.ember-handlebars"},{"include":"#glimmer-bools"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"}]},"string-single-quoted-handlebars":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ember-handlebars"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.ember-handlebars"}},"name":"string.quoted.single.ember-handlebars","patterns":[{"match":"\\\\\\\\'","name":"constant.character.escape.ember-handlebars"}]},"string-single-quoted-html":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ember-handlebars"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.ember-handlebars"}},"name":"string.quoted.single.html.ember-handlebars","patterns":[{"match":"\\\\\\\\'","name":"constant.character.escape.ember-handlebars"},{"include":"#glimmer-bools"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"}]},"style":{"begin":"(^[\\\\t ]+)?(?=<(?i:style)\\\\b(?!-))","beginCaptures":{"1":{"name":"punctuation.whitespace.embedded.leading.html"}},"end":"(?!\\\\G)([\\\\t ]*$\\\\n?)?","endCaptures":{"1":{"name":"punctuation.whitespace.embedded.trailing.html"}},"patterns":[{"begin":"(?i)(<)(style)(?=\\\\s|/?>)","beginCaptures":{"0":{"name":"meta.tag.metadata.style.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":"(?i)((<)/)(style)\\\\s*(>)","endCaptures":{"0":{"name":"meta.tag.metadata.style.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"source.css-ignored-vscode"},"3":{"name":"entity.name.tag.html"},"4":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.embedded.block.html","patterns":[{"begin":"\\\\G","captures":{"1":{"name":"punctuation.definition.tag.end.html"}},"end":"(>)","name":"meta.tag.metadata.style.start.html","patterns":[{"include":"#glimmer-argument"},{"include":"#html-attribute"}]},{"begin":"(?!\\\\G)","end":"(?=</(?i:style))","name":"source.css","patterns":[{"include":"source.css"}]}]}]},"tag-like-content":{"patterns":[{"include":"#glimmer-bools"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#boolean"},{"include":"#digit"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#string-double-quoted-html"},{"include":"#string-single-quoted-html"},{"include":"#glimmer-as-stuff"},{"include":"#glimmer-argument"},{"include":"#html-attribute"}]},"variable":{"match":"\\\\b([-0-9A-Z_a-z]+)\\\\b","name":"support.function","patterns":[]}},"scopeName":"source.gjs","embeddedLangs":["javascript","typescript","css","html"],"aliases":["gjs"]}`)),a=[...e,...r,...t,...n,i];export{a as default};
1
+ import{t as e}from"./javascript-DHhCH2TN.js";import{t}from"./css-CPe4cabH.js";import{t as n}from"./html-Dk4wmfwC.js";import{t as r}from"./typescript-BPd-hsrR.js";var i=Object.freeze(JSON.parse(`{"displayName":"Glimmer JS","injections":{"L:source.gjs -comment -(string -meta.embedded)":{"patterns":[{"include":"#main"}]}},"name":"glimmer-js","patterns":[{"include":"#main"},{"include":"source.js"}],"repository":{"as-keyword":{"match":"\\\\s\\\\b(as)\\\\b(?=\\\\s\\\\|)","name":"keyword.control","patterns":[]},"as-params":{"begin":"(?<!\\\\|)(\\\\|)","beginCaptures":{"1":{"name":"constant.other.symbol.begin.ember-handlebars"}},"end":"(\\\\|)(?!\\\\|)","endCaptures":{"1":{"name":"constant.other.symbol.end.ember-handlebars"}},"name":"keyword.block-params.ember-handlebars","patterns":[{"include":"#variable"}]},"attention":{"match":"@?(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|TEMP)\\\\b","name":"storage.type.class.\${1:/downcase}","patterns":[]},"boolean":{"captures":{"0":{"name":"string.regexp"},"1":{"name":"string.regexp"},"2":{"name":"string.regexp"}},"match":"true|false|undefined|null","patterns":[]},"component-tag":{"begin":"(</?)(@|this.)?([-$.0-:A-Z_a-z]+)\\\\b","beginCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"support.function","patterns":[{"match":"(@|this)","name":"variable.language"},{"match":"(\\\\.)+","name":"punctuation.definition.tag"}]},"3":{"name":"entity.name.type","patterns":[{"include":"#glimmer-component-path"},{"match":"([$:@])","name":"markup.bold"}]}},"end":"(/?)(>)","endCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"punctuation.definition.tag"}},"name":"meta.tag.any.ember-handlebars","patterns":[{"include":"#tag-like-content"}]},"digit":{"captures":{"0":{"name":"constant.numeric"},"1":{"name":"constant.numeric"},"2":{"name":"constant.numeric"}},"match":"\\\\d*(\\\\.)?\\\\d+","patterns":[]},"entities":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.entity.html.ember-handlebars"},"3":{"name":"punctuation.definition.entity.html.ember-handlebars"}},"match":"(&)([0-9A-Za-z]+|#[0-9]+|#x\\\\h+)(;)","name":"constant.character.entity.html.ember-handlebars"},{"match":"&","name":"invalid.illegal.bad-ampersand.html.ember-handlebars"}]},"glimmer-argument":{"captures":{"1":{"name":"entity.other.attribute-name.ember-handlebars.argument","patterns":[{"match":"(@)","name":"markup.italic"}]},"2":{"name":"punctuation.separator.key-value.html.ember-handlebars"}},"match":"\\\\s(@[-.0-:A-Z_a-z]+)(=)?"},"glimmer-as-stuff":{"patterns":[{"include":"#as-keyword"},{"include":"#as-params"}]},"glimmer-block":{"begin":"(\\\\{\\\\{~?)([#/])(([$\\\\--9@-Z_a-z]+))","captures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"punctuation.definition.tag"},"3":{"name":"keyword.control","patterns":[{"include":"#glimmer-component-path"},{"match":"(/)+","name":"punctuation.definition.tag"},{"match":"(\\\\.)+","name":"punctuation.definition.tag"}]}},"end":"(~?}})","name":"entity.expression.ember-handlebars","patterns":[{"include":"#glimmer-as-stuff"},{"include":"#glimmer-supexp-content"}]},"glimmer-bools":{"captures":{"0":{"name":"keyword.operator"},"1":{"name":"keyword.operator"},"2":{"name":"string.regexp"},"3":{"name":"string.regexp"},"4":{"name":"keyword.operator"}},"match":"(\\\\{\\\\{~?)(true|false|null|undefined|\\\\d*(\\\\.)?\\\\d+)(~?}})","name":"entity.expression.ember-handlebars"},"glimmer-comment-block":{"begin":"\\\\{\\\\{!--","captures":{"0":{"name":"punctuation.definition.block.comment.glimmer"}},"end":"--}}","name":"comment.block.glimmer","patterns":[{"include":"#script"},{"include":"#attention"}]},"glimmer-comment-inline":{"begin":"\\\\{\\\\{!","captures":{"0":{"name":"punctuation.definition.block.comment.glimmer"}},"end":"}}","name":"comment.inline.glimmer","patterns":[{"include":"#script"},{"include":"#attention"}]},"glimmer-component-path":{"captures":{"1":{"name":"punctuation.definition.tag"}},"match":"(::|[$._])"},"glimmer-control-expression":{"begin":"(\\\\{\\\\{~?)(([-/-9A-Z_a-z]+)\\\\s)","captures":{"1":{"name":"keyword.operator"},"2":{"name":"keyword.operator"},"3":{"name":"keyword.control"}},"end":"(~?}})","name":"entity.expression.ember-handlebars","patterns":[{"include":"#glimmer-supexp-content"}]},"glimmer-else-block":{"captures":{"0":{"name":"punctuation.definition.tag"},"1":{"name":"punctuation.definition.tag"},"2":{"name":"keyword.control"},"3":{"name":"keyword.control","patterns":[{"include":"#glimmer-subexp"},{"include":"#string-single-quoted-handlebars"},{"include":"#string-double-quoted-handlebars"},{"include":"#boolean"},{"include":"#digit"},{"include":"#param"},{"include":"#glimmer-parameter-name"},{"include":"#glimmer-parameter-value"}]},"4":{"name":"punctuation.definition.tag"}},"match":"(\\\\{\\\\{~?)(else(?:\\\\s[a-z]+\\\\s|))([\\\\x08().0-9@-Za-z\\\\s]+)?(~?}})","name":"entity.expression.ember-handlebars"},"glimmer-expression":{"begin":"(\\\\{\\\\{~?)(([-().0-9@-Z_a-z\\\\s]+))","captures":{"1":{"name":"keyword.operator"},"2":{"name":"keyword.operator"},"3":{"name":"support.function","patterns":[{"match":"\\\\(+","name":"string.regexp"},{"match":"\\\\)+","name":"string.regexp"},{"match":"(\\\\.)+","name":"punctuation.definition.tag"},{"include":"#glimmer-supexp-content"}]}},"end":"(~?}})","name":"entity.expression.ember-handlebars","patterns":[{"include":"#glimmer-supexp-content"}]},"glimmer-expression-property":{"begin":"(\\\\{\\\\{~?)((@|this.)([-.0-9A-Z_a-z]+))","captures":{"1":{"name":"keyword.operator"},"2":{"name":"keyword.operator"},"3":{"name":"support.function","patterns":[{"match":"(@|this)","name":"variable.language"},{"match":"(\\\\.)+","name":"punctuation.definition.tag"}]},"4":{"name":"support.function","patterns":[{"match":"(\\\\.)+","name":"punctuation.definition.tag"}]}},"end":"(~?}})","name":"entity.expression.ember-handlebars","patterns":[{"include":"#glimmer-supexp-content"}]},"glimmer-parameter-name":{"captures":{"1":{"name":"variable.parameter.name.ember-handlebars"},"2":{"name":"punctuation.definition.expression.ember-handlebars"}},"match":"\\\\b([-0-9A-Z_a-z]+)(\\\\s?=)","patterns":[]},"glimmer-parameter-value":{"captures":{"1":{"name":"support.function","patterns":[{"match":"(\\\\.)+","name":"punctuation.definition.tag"}]}},"match":"\\\\b([-.0-:A-Z_a-z]+)\\\\b(?!=)","patterns":[]},"glimmer-special-block":{"captures":{"0":{"name":"keyword.operator"},"1":{"name":"keyword.operator"},"2":{"name":"keyword.control"},"3":{"name":"keyword.operator"}},"match":"(\\\\{\\\\{~?)(yield|outlet)(~?}})","name":"entity.expression.ember-handlebars"},"glimmer-subexp":{"begin":"(\\\\()([-.0-9@-Za-z]+)","captures":{"1":{"name":"keyword.other"},"2":{"name":"keyword.control"}},"end":"(\\\\))","name":"entity.subexpression.ember-handlebars","patterns":[{"include":"#glimmer-supexp-content"}]},"glimmer-supexp-content":{"patterns":[{"include":"#glimmer-subexp"},{"include":"#string-single-quoted-handlebars"},{"include":"#string-double-quoted-handlebars"},{"include":"#boolean"},{"include":"#digit"},{"include":"#param"},{"include":"#glimmer-parameter-name"},{"include":"#glimmer-parameter-value"}]},"glimmer-unescaped-expression":{"begin":"\\\\{\\\\{\\\\{","captures":{"0":{"name":"keyword.operator"}},"end":"}}}","name":"entity.unescaped.expression.ember-handlebars","patterns":[{"include":"#string-single-quoted-handlebars"},{"include":"#string-double-quoted-handlebars"},{"include":"#glimmer-subexp"},{"include":"#param"}]},"html-attribute":{"captures":{"1":{"name":"entity.other.attribute-name.ember-handlebars","patterns":[{"match":"(\\\\.\\\\.\\\\.attributes)","name":"markup.bold"}]},"2":{"name":"punctuation.separator.key-value.html.ember-handlebars"}},"match":"\\\\s([-.0-:A-Z_a-z]+)(=)?"},"html-comment":{"begin":"<!--","captures":{"0":{"name":"punctuation.definition.comment.html.ember-handlebars"}},"end":"--\\\\s*>","name":"comment.block.html.ember-handlebars","patterns":[{"include":"#attention"},{"match":"--","name":"invalid.illegal.bad-comments-or-CDATA.html.ember-handlebars"}]},"html-tag":{"begin":"(</?)([-0-9a-z]+)(?![.:])\\\\b","beginCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"entity.name.tag.html.ember-handlebars"}},"end":"(/?)(>)","endCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"punctuation.definition.tag"}},"name":"meta.tag.any.ember-handlebars","patterns":[{"include":"#tag-like-content"}]},"main":{"patterns":[{"begin":"\\\\s*(<)(template)\\\\s*(>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"},"3":{"name":"punctuation.definition.tag.html"}},"end":"(</)(template)(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"},"3":{"name":"punctuation.definition.tag.html"}},"name":"meta.js.embeddedTemplateWithoutArgs","patterns":[{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}]},{"begin":"(<)(template)","beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"}},"end":"(</)(template)(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"},"3":{"name":"punctuation.definition.tag.html"}},"name":"meta.js.embeddedTemplateWithArgs","patterns":[{"begin":"(?<=<template)","end":"(?=>)","patterns":[{"include":"#tag-like-content"}]},{"begin":"(>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.end.js"}},"contentName":"meta.html.embedded.block","end":"(?=</template>)","patterns":[{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}]}]},{"begin":"\\\\b((?:\\\\w+\\\\.)*h(?:bs|tml)\\\\s*)(\`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.js"},"2":{"name":"punctuation.definition.string.template.begin.js"}},"contentName":"meta.embedded.block.html","end":"(\`)","endCaptures":{"0":{"name":"string.js"},"1":{"name":"punctuation.definition.string.template.end.js"}},"patterns":[{"include":"source.ts#template-substitution-element"},{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}]},{"begin":"((createTemplate|hbs|html))(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.ts"},"2":{"name":"meta.function-call.ts"},"3":{"name":"meta.brace.round.ts"}},"contentName":"meta.embedded.block.html","end":"(\\\\))","endCaptures":{"1":{"name":"meta.brace.round.ts"}},"patterns":[{"begin":"(([\\"'\`]))","beginCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.begin.ts"}},"end":"(([\\"'\`]))","endCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.end.ts"}},"patterns":[{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}]}]},{"begin":"((precompileTemplate)\\\\s*)(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.ts"},"2":{"name":"meta.function-call.ts"},"3":{"name":"meta.brace.round.ts"}},"end":"(\\\\))","endCaptures":{"1":{"name":"meta.brace.round.ts"}},"patterns":[{"begin":"(([\\"'\`]))","beginCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.begin.ts"}},"contentName":"meta.embedded.block.html","end":"(([\\"'\`]))","endCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.end.ts"}},"patterns":[{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}]},{"include":"source.ts#object-literal"},{"include":"source.ts"}]}]},"param":{"captures":{"0":{"name":"support.function","patterns":[{"match":"(@|this)","name":"variable.language"},{"match":"(\\\\.)+","name":"punctuation.definition.tag"}]},"1":{"name":"support.function","patterns":[{"match":"(\\\\.)+","name":"punctuation.definition.tag"}]}},"match":"(@|this.)([-.0-9A-Z_a-z]+)","patterns":[]},"script":{"begin":"(^[\\\\t ]+)?(?=<(?i:script)\\\\b(?!-))","beginCaptures":{"1":{"name":"punctuation.whitespace.embedded.leading.html"}},"end":"(?!\\\\G)([\\\\t ]*$\\\\n?)?","endCaptures":{"1":{"name":"punctuation.whitespace.embedded.trailing.html"}},"patterns":[{"begin":"(<)((?i:script))\\\\b","beginCaptures":{"0":{"name":"meta.tag.metadata.script.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":"(/)((?i:script))(>)","endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.embedded.block.html","patterns":[{"begin":"\\\\G","end":"(?=/)","patterns":[{"begin":"(>)","beginCaptures":{"0":{"name":"meta.tag.metadata.script.start.html"},"1":{"name":"punctuation.definition.tag.end.html"}},"end":"((<))(?=/(?i:script))","endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"source.js-ignored-vscode"}},"patterns":[{"begin":"\\\\G","end":"(?=</(?i:script))","name":"source.js","patterns":[{"begin":"(^[\\\\t ]+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.js"}},"end":"(?!\\\\G)","patterns":[{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.js"}},"end":"(?=<\/script)|\\\\n","name":"comment.line.double-slash.js"}]},{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.js"}},"end":"\\\\*/|(?=<\/script)","name":"comment.block.js"},{"include":"source.js"}]}]},{"begin":"(?i:(?=type\\\\s*=\\\\s*([\\"']?)text/(x-handlebars|(x-(handlebars-)?|ng-)?template|html)[\\"'>\\\\s]))","end":"((<))(?=/(?i:script))","endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"text.html.basic"}},"patterns":[{"begin":"(?!\\\\G)","end":"(?=</(?i:script))","name":"text.html.basic","patterns":[{"include":"text.html.basic"}]}]},{"begin":"(?=(?i:type))","end":"(<)(?=/(?i:script))","endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"}}},{"include":"#string-double-quoted-html"},{"include":"#string-single-quoted-html"},{"include":"#glimmer-argument"},{"include":"#html-attribute"}]}]}]},"string-double-quoted-handlebars":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ember-handlebars"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.ember-handlebars"}},"name":"string.quoted.double.ember-handlebars","patterns":[{"match":"\\\\\\\\\\"","name":"constant.character.escape.ember-handlebars"}]},"string-double-quoted-html":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ember-handlebars"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.ember-handlebars"}},"name":"string.quoted.double.html.ember-handlebars","patterns":[{"match":"\\\\\\\\\\"","name":"constant.character.escape.ember-handlebars"},{"include":"#glimmer-bools"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"}]},"string-single-quoted-handlebars":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ember-handlebars"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.ember-handlebars"}},"name":"string.quoted.single.ember-handlebars","patterns":[{"match":"\\\\\\\\'","name":"constant.character.escape.ember-handlebars"}]},"string-single-quoted-html":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ember-handlebars"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.ember-handlebars"}},"name":"string.quoted.single.html.ember-handlebars","patterns":[{"match":"\\\\\\\\'","name":"constant.character.escape.ember-handlebars"},{"include":"#glimmer-bools"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"}]},"style":{"begin":"(^[\\\\t ]+)?(?=<(?i:style)\\\\b(?!-))","beginCaptures":{"1":{"name":"punctuation.whitespace.embedded.leading.html"}},"end":"(?!\\\\G)([\\\\t ]*$\\\\n?)?","endCaptures":{"1":{"name":"punctuation.whitespace.embedded.trailing.html"}},"patterns":[{"begin":"(?i)(<)(style)(?=\\\\s|/?>)","beginCaptures":{"0":{"name":"meta.tag.metadata.style.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":"(?i)((<)/)(style)\\\\s*(>)","endCaptures":{"0":{"name":"meta.tag.metadata.style.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"source.css-ignored-vscode"},"3":{"name":"entity.name.tag.html"},"4":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.embedded.block.html","patterns":[{"begin":"\\\\G","captures":{"1":{"name":"punctuation.definition.tag.end.html"}},"end":"(>)","name":"meta.tag.metadata.style.start.html","patterns":[{"include":"#glimmer-argument"},{"include":"#html-attribute"}]},{"begin":"(?!\\\\G)","end":"(?=</(?i:style))","name":"source.css","patterns":[{"include":"source.css"}]}]}]},"tag-like-content":{"patterns":[{"include":"#glimmer-bools"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#boolean"},{"include":"#digit"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#string-double-quoted-html"},{"include":"#string-single-quoted-html"},{"include":"#glimmer-as-stuff"},{"include":"#glimmer-argument"},{"include":"#html-attribute"}]},"variable":{"match":"\\\\b([-0-9A-Z_a-z]+)\\\\b","name":"support.function","patterns":[]}},"scopeName":"source.gjs","embeddedLangs":["javascript","typescript","css","html"],"aliases":["gjs"]}`)),a=[...e,...r,...t,...n,i];export{a as default};