@marimo-team/islands 0.20.5-dev6 → 0.20.5-dev60

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 (227) hide show
  1. package/dist/{Combination-Du-o_hC9.js → Combination-Dk6JxauT.js} +1 -1
  2. package/dist/{ConnectedDataExplorerComponent-DUS-zJoR.js → ConnectedDataExplorerComponent-DzTQ52Zs.js} +11 -11
  3. package/dist/{_baseIsEqual-5cAxzk6f.js → _baseIsEqual-CvgsjYoW.js} +38 -38
  4. package/dist/{_basePickBy-3JVb5wYm.js → _basePickBy-pTDW2_2A.js} +6 -6
  5. package/dist/{_baseUniq-DSSiFuIJ.js → _baseUniq-BUFhl85h.js} +1 -1
  6. package/dist/{any-language-editor-BL9o7y0_.js → any-language-editor-BIj11a2e.js} +19 -19
  7. package/dist/{architecture-7HQA4BMR-BxkNpYRp.js → architecture-7HQA4BMR-BmtmhGMc.js} +2 -2
  8. package/dist/{architectureDiagram-VXUJARFQ-DrJeyFHq.js → architectureDiagram-VXUJARFQ-Df0FNeBR.js} +14 -14
  9. package/dist/{blockDiagram-VD42YOAC-BJrP6qKc.js → blockDiagram-VD42YOAC-DszWqlLz.js} +7 -7
  10. package/dist/{button-KYalaJYu.js → button-DQpBib29.js} +24 -11
  11. package/dist/{c4Diagram-YG6GDRKO-Bo4gytQ5.js → c4Diagram-YG6GDRKO-Dyj8LoUX.js} +4 -4
  12. package/dist/{channel-IWLGkaBE.js → channel-CUFaIkTh.js} +1 -1
  13. package/dist/{check-C50jsehH.js → check-DpqPQmzz.js} +1 -1
  14. package/dist/{chunk-4F5CHEZ2-CxKDFd-t.js → chunk-4F5CHEZ2-CRwwZ2ED.js} +1 -1
  15. package/dist/{chunk-ABZYJK2D-CRwanrkd.js → chunk-ABZYJK2D-7QYXAAhe.js} +1 -1
  16. package/dist/{chunk-ATLVNIR6-CMMCMvOK.js → chunk-ATLVNIR6-pmHPAPSd.js} +1 -1
  17. package/dist/{chunk-B2363JML-e_W7KW1D.js → chunk-B2363JML-BuBMltZc.js} +1 -1
  18. package/dist/{chunk-B4BG7PRW-BNsHrGHG.js → chunk-B4BG7PRW-Dbta9cTX.js} +4 -4
  19. package/dist/{chunk-DI55MBZ5-DQeYbfMV.js → chunk-DI55MBZ5-DyKB35wC.js} +4 -4
  20. package/dist/{chunk-EXTU4WIE-CV_DQeaX.js → chunk-EXTU4WIE-BRFl4iNd.js} +1 -1
  21. package/dist/{chunk-FRFDVMJY-C7q09nvl.js → chunk-FRFDVMJY-Bk2LD5Te.js} +1 -1
  22. package/dist/{chunk-JA3XYJ7Z-Cmt--e0q.js → chunk-JA3XYJ7Z-BkrY9SdL.js} +2 -2
  23. package/dist/{chunk-JZLCHNYA-CkyMJnI9.js → chunk-JZLCHNYA-Bk_Lil-q.js} +4 -4
  24. package/dist/{chunk-N4CR4FBY-BJfHtJbD.js → chunk-N4CR4FBY-f5n6meOd.js} +5 -5
  25. package/dist/{chunk-PL6DKKU2-ChKBqnoD.js → chunk-PL6DKKU2-DiFkzMfM.js} +1 -1
  26. package/dist/{chunk-QN33PNHL-WOLIPUAJ.js → chunk-QN33PNHL-CXfJywHv.js} +1 -1
  27. package/dist/{chunk-QXUST7PY-DYuD50pU.js → chunk-QXUST7PY-D7-26sj3.js} +5 -5
  28. package/dist/{chunk-S3R3BYOJ-CsnX6RKs.js → chunk-S3R3BYOJ-BRT9vd1R.js} +3 -3
  29. package/dist/{chunk-SJTYNZTY-j6_1s5om.js → chunk-SJTYNZTY-BvVkbShU.js} +1 -1
  30. package/dist/{chunk-TCCFYFTB-DdLCbCTn.js → chunk-TCCFYFTB-DqxhgXG0.js} +31 -31
  31. package/dist/{chunk-TQ3KTPDO-CGsUIC73.js → chunk-TQ3KTPDO-CPkEruAA.js} +1 -1
  32. package/dist/{chunk-TZMSLE5B-B3eYTGCw.js → chunk-TZMSLE5B-DSfBOnzx.js} +1 -1
  33. package/dist/{chunk-UMXZTB3W--LdAK3Bv.js → chunk-UMXZTB3W-C4ypIY3V.js} +1 -1
  34. package/dist/{classDiagram-v2-WZHVMYZB-UTw37Gg8.js → classDiagram-2ON5EDUG-DphiMW3Y.js} +10 -10
  35. package/dist/{classDiagram-2ON5EDUG-C7C-oefv.js → classDiagram-v2-WZHVMYZB-BH1x5h4a.js} +10 -10
  36. package/dist/{clone-BJrS4PdE.js → clone-CEQ-pda1.js} +1 -1
  37. package/dist/{constants-D1Tbg_6B.js → constants-CytQ_3LM.js} +3 -3
  38. package/dist/{copy-oc-FcZzt.js → copy-BkBF0Xgk.js} +2 -2
  39. package/dist/{dagre-6UL2VRFP-BgsUhJrV.js → dagre-6UL2VRFP-DGEbtmgU.js} +12 -12
  40. package/dist/{dagre-CyZCGfV_.js → dagre-BVnNvbvD.js} +37 -37
  41. package/dist/{diagram-PSM6KHXK-BIUUOfKo.js → diagram-PSM6KHXK-CG_usglE.js} +15 -15
  42. package/dist/{diagram-QEK2KX5R-BFjolZQv.js → diagram-QEK2KX5R-CtGFEwzJ.js} +13 -13
  43. package/dist/{diagram-S2PKOQOG-4jfkWoZw.js → diagram-S2PKOQOG-ClKAGmbv.js} +13 -13
  44. package/dist/dist-B4MxkKHf.js +8 -0
  45. package/dist/{dist-De9X_Des.js → dist-B9EjSb9T.js} +1 -1
  46. package/dist/{dist-IW_ARJ3S.js → dist-BFxYppVR.js} +4 -4
  47. package/dist/{dist-D7ZGWV_9.js → dist-BGZ7TWS9.js} +3 -3
  48. package/dist/{dist-CwtEWuFb.js → dist-BSfYc7vq.js} +2 -2
  49. package/dist/{dist-DMS81OrU.js → dist-BUrWeMEP.js} +1 -1
  50. package/dist/dist-BYghZv6b.js +5 -0
  51. package/dist/dist-Be-uQhz5.js +6 -0
  52. package/dist/{dist-Ch_JuCvc.js → dist-BpMlUdNO.js} +3 -3
  53. package/dist/{dist-C6z8U-ms.js → dist-Bq5eYK43.js} +2 -2
  54. package/dist/{dist-BFL9TlzD.js → dist-Bq9zYwJs.js} +5 -5
  55. package/dist/{dist-7ZF--V_D.js → dist-C4K7pumm.js} +2 -2
  56. package/dist/{dist-Qjf6pcqK.js → dist-CAKwXCWI.js} +2 -2
  57. package/dist/dist-CB_xf0ju.js +5 -0
  58. package/dist/{dist-BwQHkjA9.js → dist-CDHl2i1x.js} +4 -4
  59. package/dist/dist-CK0qFAbF.js +8 -0
  60. package/dist/{dist-C4XMUaob.js → dist-CPlGUbk-.js} +2 -2
  61. package/dist/{dist-BT6_J2eq.js → dist-CSEWGuDq.js} +7 -2
  62. package/dist/dist-CYEk-qrr.js +8 -0
  63. package/dist/{dist-CYo3w-nC.js → dist-Cl5iM8xL.js} +3 -3
  64. package/dist/dist-CmKoWpMk.js +5 -0
  65. package/dist/{dist-I8MQW60_.js → dist-CseYuPtL.js} +2 -2
  66. package/dist/dist-D1nf4IQl.js +5 -0
  67. package/dist/{dist-CsqiXw7J.js → dist-D4gcY469.js} +2 -2
  68. package/dist/{dist-DUxS2paD.js → dist-D5NMgbbv.js} +2 -2
  69. package/dist/{dist-UYm1IE5s.js → dist-DERtJN02.js} +2 -2
  70. package/dist/{dist-CFToYDWO.js → dist-DEj2X26M.js} +2 -2
  71. package/dist/{dist-BuapEdlD.js → dist-DOoqn-VL.js} +70 -67
  72. package/dist/{dist-BLThQiU4.js → dist-DUretbKK.js} +2 -2
  73. package/dist/{dist-DEFZ7dnD.js → dist-D_-CGmlh.js} +2 -2
  74. package/dist/dist-Df3AcKpt.js +6 -0
  75. package/dist/dist-DgaFHt_I.js +5 -0
  76. package/dist/dist-Dk10C3ui.js +5 -0
  77. package/dist/{dist-D0f6Yrrb.js → dist-DodLQWPg.js} +1 -1
  78. package/dist/dist-DtyPVMHR.js +5 -0
  79. package/dist/{dist-Cb3cLT39.js → dist-HoZO6brh.js} +2 -2
  80. package/dist/{dist-Cqpjy6bK.js → dist-RNGn_-uD.js} +1 -1
  81. package/dist/{dist-BBcqvpvP.js → dist-Ux6dL_VB.js} +1 -1
  82. package/dist/{dist-B8Y11RWn.js → dist-WIWVvdBh.js} +2 -2
  83. package/dist/{dist-CB6qhQ8K.js → dist-gc9KgJuA.js} +1 -1
  84. package/dist/{dist-ovDpXuSB.js → dist-i-ud9aCA.js} +1 -1
  85. package/dist/dist-ko7WnHAO.js +5 -0
  86. package/dist/{dist-BTQbjEKU.js → dist-lNe4i1Nm.js} +1 -1
  87. package/dist/dist-of7gLRFK.js +8 -0
  88. package/dist/{erDiagram-Q2GNP2WA-Cq5Bz5lG.js → erDiagram-Q2GNP2WA-DPMseVVp.js} +10 -10
  89. package/dist/{error-banner-D0tXnwl4.js → error-banner-BctofTCP.js} +2 -2
  90. package/dist/{esm-BxMbHo0y.js → esm-BBkPJL8N.js} +29 -27
  91. package/dist/{flowDiagram-NV44I4VS-6WPJVFl7.js → flowDiagram-NV44I4VS-BpAIFwW7.js} +10 -10
  92. package/dist/{ganttDiagram-JELNMOA3-AfDhh9CI.js → ganttDiagram-JELNMOA3-DXYghZ9C.js} +3 -3
  93. package/dist/{gitGraph-G5XIXVHT-C0o6gecv.js → gitGraph-G5XIXVHT-ChHUSAop.js} +2 -2
  94. package/dist/{gitGraphDiagram-V2S2FVAM-BRSwuj0Q.js → gitGraphDiagram-V2S2FVAM-CBL-7g3_.js} +12 -12
  95. package/dist/{glide-data-editor-ByPNTNVG.js → glide-data-editor-DAqhWGKz.js} +63 -63
  96. package/dist/{graphlib-DZnBMcsX.js → graphlib-D18eZCT4.js} +10 -10
  97. package/dist/hasIn-B9AbGLj3.js +86 -0
  98. package/dist/{info-VBDWY6EO-Bzsods6X.js → info-VBDWY6EO-CwyXEo8E.js} +2 -2
  99. package/dist/{infoDiagram-HS3SLOUP-Cmxo6jKx.js → infoDiagram-HS3SLOUP-BXGbfBss.js} +12 -12
  100. package/dist/{isArrayLikeObject-Btu-i6_P.js → isArrayLikeObject-BrYl-ETg.js} +25 -26
  101. package/dist/{isEmpty-CZvUtYFp.js → isEmpty-C-xMag79.js} +2 -2
  102. package/dist/{isString-CBr7TEb7.js → isString-D-vNYDBA.js} +1 -1
  103. package/dist/{isSymbol-BuQsMXhk.js → isSymbol-Dyt2NSnN.js} +1 -1
  104. package/dist/{journeyDiagram-XKPGCS4Q-CKYr8cSR.js → journeyDiagram-XKPGCS4Q-D5BIjS4N.js} +3 -3
  105. package/dist/{kanban-definition-3W4ZIXB7-DVvAZzQD.js → kanban-definition-3W4ZIXB7-DhDkqxFB.js} +7 -7
  106. package/dist/{label-CV0KYhtH.js → label-BLDcDYdI.js} +6 -6
  107. package/dist/{loader-eJCvvApN.js → loader-DsE3MiYo.js} +2 -2
  108. package/dist/main.js +1587 -1108
  109. package/dist/{memoize-P1T1IGb9.js → memoize-Cs8aS5RW.js} +1 -1
  110. package/dist/merge-NuyC7LN7.js +51 -0
  111. package/dist/{mermaid-COOB_abB.js → mermaid-m5QS9ELR.js} +42 -42
  112. package/dist/{mermaid-parser.core-Cd-wu4tE.js → mermaid-parser.core-OkWZ8nr-.js} +8 -8
  113. package/dist/{min-CMDDtXJP.js → min-ECVRnCdn.js} +30 -30
  114. package/dist/{mindmap-definition-VGOIOE7T-1ExmnvYy.js → mindmap-definition-VGOIOE7T-BxQi78Vl.js} +9 -9
  115. package/dist/{now-BxlRp0OQ.js → now-BC2mX0ZT.js} +1 -1
  116. package/dist/{packet-DYOGHKS2-Bf1CvFco.js → packet-DYOGHKS2-C62XQjZh.js} +2 -2
  117. package/dist/{pie-VRWISCQL-LY_wbqji.js → pie-VRWISCQL-nfAKQJw3.js} +2 -2
  118. package/dist/{pieDiagram-ADFJNKIX-CJlIsdsU.js → pieDiagram-ADFJNKIX-DfSJXUHa.js} +13 -13
  119. package/dist/{purify.es-CyOIw8ru.js → purify.es-DGenX2XH.js} +67 -67
  120. package/dist/{quadrantDiagram-AYHSOK5B-BU78RiaH.js → quadrantDiagram-AYHSOK5B-CAcVWXc-.js} +2 -2
  121. package/dist/{radar-ZZBFDIW7-Ro3iXZCk.js → radar-ZZBFDIW7-lopS8_4j.js} +2 -2
  122. package/dist/{range-Dh0_-r8P.js → range-BKaWvVUE.js} +8 -8
  123. package/dist/reduce-CqQo8ppc.js +275 -0
  124. package/dist/{requirementDiagram-UZGBJVZJ-DACHtrFr.js → requirementDiagram-UZGBJVZJ-BU7dwzFM.js} +9 -9
  125. package/dist/{sankeyDiagram-TZEHDZUN-Bzg7_UWs.js → sankeyDiagram-TZEHDZUN-BVJnR4_b.js} +2 -2
  126. package/dist/{sequenceDiagram-WL72ISMW-agybEe9J.js → sequenceDiagram-WL72ISMW-CQcFQTwX.js} +4 -4
  127. package/dist/{slides-component-B0yK5GXP.js → slides-component-DwvL_HJi.js} +2 -2
  128. package/dist/{spec-Dq_reDGM.js → spec-DOGtAWuU.js} +5 -5
  129. package/dist/{stateDiagram-FKZM4ZOC-DehQAt8g.js → stateDiagram-FKZM4ZOC-Dx9AIGDe.js} +12 -12
  130. package/dist/{stateDiagram-v2-4FDKWEC3-8VzeREl9.js → stateDiagram-v2-4FDKWEC3-BIeUs-Ed.js} +10 -10
  131. package/dist/style.css +1 -1
  132. package/dist/{timeline-definition-IT6M3QCI-CdCfdaCF.js → timeline-definition-IT6M3QCI-D8B3p7ID.js} +2 -2
  133. package/dist/{toNumber-By7s5JC_.js → toNumber-CbZ70FdN.js} +2 -2
  134. package/dist/{toString-Ckpb50uw.js → toString-DbIAWQpF.js} +2 -2
  135. package/dist/{tooltip-CL8m4f9y.js → tooltip-SPkubVH3.js} +3 -3
  136. package/dist/{treemap-GDKQZRPO-DRxfDG65.js → treemap-GDKQZRPO-CkR-5ai2.js} +2 -2
  137. package/dist/{types-BwnzGcE4.js → types-Dzga1074.js} +519 -408
  138. package/dist/{uniq-cCc07Q8K.js → uniq-H2E5nMLq.js} +1 -1
  139. package/dist/{useAsyncData-B4hMFGnF.js → useAsyncData-BlSPOmJU.js} +1 -1
  140. package/dist/{useDeepCompareMemoize-DuPhOXzr.js → useDeepCompareMemoize-CpGehmfj.js} +5 -5
  141. package/dist/{useIframeCapabilities-CAt6D2EI.js → useIframeCapabilities-DFGZKWkO.js} +1 -1
  142. package/dist/{useTheme-BNYQnvu-.js → useTheme-BAtPEkUJ.js} +4 -4
  143. package/dist/{vega-component-DouPy8AI.js → vega-component-0KINBNtd.js} +10 -10
  144. package/dist/{xychartDiagram-PRI3JC2R-rEm_SIsC.js → xychartDiagram-PRI3JC2R-XO8FiQjU.js} +5 -5
  145. package/package.json +9 -9
  146. package/src/__mocks__/common.ts +41 -8
  147. package/src/__mocks__/requests.ts +1 -0
  148. package/src/components/app-config/ai-config.tsx +10 -0
  149. package/src/components/chat/__tests__/useFileState.test.tsx +2 -3
  150. package/src/components/chat/acp/__tests__/context-utils.test.ts +2 -6
  151. package/src/components/datasources/components.tsx +3 -6
  152. package/src/components/datasources/datasources.tsx +8 -21
  153. package/src/components/editor/__tests__/data-attributes.test.tsx +2 -11
  154. package/src/components/editor/actions/types.ts +6 -1
  155. package/src/components/editor/actions/useNotebookActions.tsx +50 -13
  156. package/src/components/editor/chrome/types.ts +17 -0
  157. package/src/components/editor/controls/command-palette.tsx +7 -0
  158. package/src/components/editor/controls/keyboard-shortcuts.tsx +3 -1
  159. package/src/components/editor/file-tree/__tests__/requesting-tree.test.ts +2 -3
  160. package/src/components/editor/file-tree/file-explorer.tsx +48 -62
  161. package/src/components/editor/file-tree/file-icons.tsx +132 -0
  162. package/src/components/editor/file-tree/file-viewer.tsx +1 -1
  163. package/src/components/editor/file-tree/tree-actions.tsx +107 -0
  164. package/src/components/editor/file-tree/types.ts +2 -96
  165. package/src/components/editor/header/filename-input.tsx +4 -1
  166. package/src/components/editor/navigation/__tests__/clipboard.test.ts +2 -4
  167. package/src/components/editor/output/console/__tests__/ConsoleOutput.test.tsx +2 -12
  168. package/src/components/icons/marimo-icons.tsx +2 -2
  169. package/src/components/pages/home-page.tsx +5 -5
  170. package/src/components/storage/__tests__/storage-snippets.test.ts +253 -0
  171. package/src/components/storage/components.tsx +0 -38
  172. package/src/components/storage/storage-file-viewer.tsx +1 -1
  173. package/src/components/storage/storage-inspector.tsx +65 -50
  174. package/src/components/storage/storage-snippets.ts +67 -0
  175. package/src/components/ui/command.tsx +2 -0
  176. package/src/components/ui/links.tsx +1 -0
  177. package/src/core/ai/tools/__tests__/run-cells-tool.test.ts +206 -0
  178. package/src/core/ai/tools/run-cells-tool.ts +75 -40
  179. package/src/core/cells/__tests__/cells.test.ts +62 -0
  180. package/src/core/cells/__tests__/session.test.ts +2 -7
  181. package/src/core/cells/cells.ts +25 -3
  182. package/src/core/codemirror/compat/__tests__/jupyter.test.ts +2 -3
  183. package/src/core/codemirror/markdown/__tests__/commands.test.ts +2 -3
  184. package/src/core/export/__tests__/hooks.test.ts +3 -10
  185. package/src/core/hotkeys/__tests__/hotkeys.test.ts +64 -1
  186. package/src/core/hotkeys/hotkeys.ts +29 -3
  187. package/src/core/islands/bridge.ts +1 -0
  188. package/src/core/network/__tests__/requests-network.test.ts +17 -0
  189. package/src/core/network/requests-lazy.ts +1 -0
  190. package/src/core/network/requests-network.ts +9 -0
  191. package/src/core/network/requests-static.ts +1 -0
  192. package/src/core/network/requests-toasting.tsx +1 -0
  193. package/src/core/network/types.ts +1 -0
  194. package/src/core/runtime/__tests__/runtime.test.ts +2 -8
  195. package/src/core/storage/__tests__/state.test.ts +1 -0
  196. package/src/core/wasm/bridge.ts +1 -0
  197. package/src/core/websocket/useMarimoKernelConnection.tsx +2 -0
  198. package/src/plugins/impl/FileBrowserPlugin.tsx +4 -4
  199. package/src/plugins/impl/__tests__/DataTablePlugin.test.tsx +2 -11
  200. package/src/plugins/impl/__tests__/DropdownPlugin.test.tsx +2 -11
  201. package/src/plugins/impl/mpl-interactive/MplInteractivePlugin.tsx +309 -0
  202. package/src/plugins/impl/mpl-interactive/__tests__/mpl-websocket-shim.test.ts +110 -0
  203. package/src/plugins/impl/mpl-interactive/mpl-websocket-shim.ts +57 -0
  204. package/src/plugins/impl/plotly/PlotlyPlugin.tsx +8 -2
  205. package/src/plugins/plugins.ts +2 -0
  206. package/src/utils/__tests__/download.test.tsx +12 -14
  207. package/src/utils/__tests__/filenames.test.ts +7 -0
  208. package/src/utils/__tests__/smartMatch.test.ts +61 -0
  209. package/src/utils/filenames.ts +3 -0
  210. package/src/utils/smartMatch.ts +62 -0
  211. package/dist/_baseProperty-D1nWkRMz.js +0 -93
  212. package/dist/dist-BAeGo2rp.js +0 -5
  213. package/dist/dist-BqwCMSEa.js +0 -5
  214. package/dist/dist-Bum8FwTO.js +0 -6
  215. package/dist/dist-C0YiOwt_.js +0 -5
  216. package/dist/dist-C2uPv4iU.js +0 -5
  217. package/dist/dist-C5hOLsJN.js +0 -8
  218. package/dist/dist-C9NIAKMs.js +0 -8
  219. package/dist/dist-CCrzTtvk.js +0 -5
  220. package/dist/dist-CFS9i1rS.js +0 -8
  221. package/dist/dist-CyHZuhPH.js +0 -5
  222. package/dist/dist-CzcjWdIk.js +0 -6
  223. package/dist/dist-DaYyUSNC.js +0 -5
  224. package/dist/dist-DpDcJYNh.js +0 -8
  225. package/dist/dist-U_BfxcPn.js +0 -5
  226. package/dist/merge-CGQkMGzr.js +0 -51
  227. package/dist/reduce-BXFHs7IQ.js +0 -268
@@ -1,5 +1,5 @@
1
- import "./dist-BuapEdlD.js";
2
- import { i as snippets, n as goLanguage, r as localCompletionSource, t as go } from "./dist-DUxS2paD.js";
1
+ import "./dist-DOoqn-VL.js";
2
+ import { i as snippets, n as goLanguage, r as localCompletionSource, t as go } from "./dist-D5NMgbbv.js";
3
3
  export {
4
4
  go
5
5
  };
@@ -1,4 +1,4 @@
1
- import { B as tags, Et as EditorSelection, I as syntaxTree, O as indentNodeProp, Z as EditorView, m as bracketMatchingHandle, n as ExternalTokenizer, r as LRParser, s as LRLanguage, t as ContextTracker, u as LanguageSupport, w as foldNodeProp, z as styleTags } from "./dist-BuapEdlD.js";
1
+ import { B as tags, Et as EditorSelection, I as syntaxTree, O as indentNodeProp, Z as EditorView, m as bracketMatchingHandle, n as ExternalTokenizer, r as LRParser, s as LRLanguage, t as ContextTracker, u as LanguageSupport, w as foldNodeProp, z as styleTags } from "./dist-DOoqn-VL.js";
2
2
  var StartTag = 1, StartCloseTag = 2, MissingCloseTag = 3, mismatchedStartCloseTag = 4, incompleteStartCloseTag = 5, commentContent$1 = 36, piContent$1 = 37, cdataContent$1 = 38, Element$1 = 11, OpenTag = 13;
3
3
  function nameChar(m) {
4
4
  return m == 45 || m == 46 || m == 58 || m >= 65 && m <= 90 || m == 95 || m >= 97 && m <= 122 || m >= 161;
@@ -0,0 +1,5 @@
1
+ import "./dist-DOoqn-VL.js";
2
+ import { n as javaLanguage, t as java } from "./dist-B9EjSb9T.js";
3
+ export {
4
+ java
5
+ };
@@ -0,0 +1,6 @@
1
+ import "./dist-DOoqn-VL.js";
2
+ import "./dist-Ux6dL_VB.js";
3
+ import { n as lessCompletionSource, r as lessLanguage, t as less } from "./dist-D_-CGmlh.js";
4
+ export {
5
+ less
6
+ };
@@ -1,6 +1,6 @@
1
- import { B as tags, Et as EditorSelection, I as syntaxTree, J as parseMixed, O as indentNodeProp, Z as EditorView, m as bracketMatchingHandle, n as ExternalTokenizer, r as LRParser, s as LRLanguage, t as ContextTracker, u as LanguageSupport, w as foldNodeProp, z as styleTags } from "./dist-BuapEdlD.js";
2
- import { r as cssLanguage, t as css } from "./dist-BBcqvpvP.js";
3
- import { c as typescriptLanguage, i as jsxLanguage, n as javascript, r as javascriptLanguage, s as tsxLanguage } from "./dist-CsqiXw7J.js";
1
+ import { B as tags, Et as EditorSelection, I as syntaxTree, J as parseMixed, O as indentNodeProp, Z as EditorView, m as bracketMatchingHandle, n as ExternalTokenizer, r as LRParser, s as LRLanguage, t as ContextTracker, u as LanguageSupport, w as foldNodeProp, z as styleTags } from "./dist-DOoqn-VL.js";
2
+ import { r as cssLanguage, t as css } from "./dist-Ux6dL_VB.js";
3
+ import { c as typescriptLanguage, i as jsxLanguage, n as javascript, r as javascriptLanguage, s as tsxLanguage } from "./dist-D4gcY469.js";
4
4
  var scriptText = 54, StartCloseScriptTag = 1, styleText = 55, StartCloseStyleTag = 2, textareaText = 56, StartCloseTextareaTag = 3, EndTag = 4, SelfClosingEndTag = 5, StartTag = 6, StartScriptTag = 7, StartStyleTag = 8, StartTextareaTag = 9, StartSelfClosingTag = 10, StartCloseTag = 11, NoMatchStartCloseTag = 12, MismatchedStartCloseTag = 13, missingCloseTag = 57, IncompleteCloseTag = 14, commentContent$1 = 58, Element = 20, TagName = 22, Attribute = 23, AttributeName = 24, AttributeValue = 26, UnquotedAttributeValue = 27, ScriptText = 28, StyleText = 31, TextareaText = 34, OpenTag = 36, CloseTag = 37, Dialect_noMatch = 0, Dialect_selfClosing = 1, selfClosers$1 = {
5
5
  area: true,
6
6
  base: true,
@@ -1,5 +1,5 @@
1
- import { B as tags, I as syntaxTree, O as indentNodeProp, h as continuedIndent, n as ExternalTokenizer, r as LRParser, s as LRLanguage, u as LanguageSupport, w as foldNodeProp, z as styleTags } from "./dist-BuapEdlD.js";
2
- import { l as ifNotIn, s as completeFromList } from "./dist-BT6_J2eq.js";
1
+ import { B as tags, I as syntaxTree, O as indentNodeProp, h as continuedIndent, n as ExternalTokenizer, r as LRParser, s as LRLanguage, u as LanguageSupport, w as foldNodeProp, z as styleTags } from "./dist-DOoqn-VL.js";
2
+ import { l as ifNotIn, s as completeFromList } from "./dist-CSEWGuDq.js";
3
3
  var whitespace = 36, LineComment = 1, BlockComment = 2, String$1 = 3, Number = 4, Bool = 5, Null = 6, ParenL = 7, ParenR = 8, BraceL = 9, BraceR = 10, BracketL = 11, BracketR = 12, Semi = 13, Dot = 14, Operator = 15, Punctuation = 16, SpecialVar = 17, Identifier = 18, QuotedIdentifier = 19, Keyword = 20, Type = 21, Bits = 22, Bytes = 23, Builtin = 24;
4
4
  function isAlpha(h3) {
5
5
  return h3 >= 65 && h3 <= 90 || h3 >= 97 && h3 <= 122 || h3 >= 48 && h3 <= 57;
@@ -1,8 +1,8 @@
1
- import "./dist-BuapEdlD.js";
2
- import { a as markdown, c as pasteURLAsLink, i as insertNewlineContinueMarkupCommand, n as deleteMarkupBackward, o as markdownKeymap, r as insertNewlineContinueMarkup, s as markdownLanguage, t as commonmarkLanguage } from "./dist-D7ZGWV_9.js";
3
- import "./dist-Ch_JuCvc.js";
4
- import "./dist-BBcqvpvP.js";
5
- import "./dist-CsqiXw7J.js";
1
+ import "./dist-DOoqn-VL.js";
2
+ import { a as markdown, c as pasteURLAsLink, i as insertNewlineContinueMarkupCommand, n as deleteMarkupBackward, o as markdownKeymap, r as insertNewlineContinueMarkup, s as markdownLanguage, t as commonmarkLanguage } from "./dist-BGZ7TWS9.js";
3
+ import "./dist-BpMlUdNO.js";
4
+ import "./dist-Ux6dL_VB.js";
5
+ import "./dist-D4gcY469.js";
6
6
  export {
7
7
  markdown
8
8
  };
@@ -1,5 +1,5 @@
1
- import { B as tags, G as NodeWeakMap, I as syntaxTree, O as indentNodeProp, S as foldInside, V as IterMode, n as ExternalTokenizer, r as LRParser, s as LRLanguage, t as ContextTracker, u as LanguageSupport, v as delimitedIndent, w as foldNodeProp, z as styleTags } from "./dist-BuapEdlD.js";
2
- import { f as snippetCompletion, l as ifNotIn, s as completeFromList } from "./dist-BT6_J2eq.js";
1
+ import { B as tags, G as NodeWeakMap, I as syntaxTree, O as indentNodeProp, S as foldInside, V as IterMode, n as ExternalTokenizer, r as LRParser, s as LRLanguage, t as ContextTracker, u as LanguageSupport, v as delimitedIndent, w as foldNodeProp, z as styleTags } from "./dist-DOoqn-VL.js";
2
+ import { f as snippetCompletion, l as ifNotIn, s as completeFromList } from "./dist-CSEWGuDq.js";
3
3
  var printKeyword = 1, indent = 194, dedent = 195, newline$1 = 196, blankLineStart = 197, newlineBracketed = 198, eof = 199, stringContent = 200, Escape = 2, replacementStart = 3, stringEnd = 201, ParenL = 24, ParenthesizedExpression = 25, TupleExpression = 49, ComprehensionExpression = 50, BracketL = 55, ArrayExpression = 56, ArrayComprehensionExpression = 57, BraceL = 59, DictionaryExpression = 60, DictionaryComprehensionExpression = 61, SetExpression = 62, SetComprehensionExpression = 63, ArgList = 65, subscript = 238, String$1 = 71, stringStart = 241, stringStartD = 242, stringStartL = 243, stringStartLD = 244, stringStartR = 245, stringStartRD = 246, stringStartRL = 247, stringStartRLD = 248, FormatString = 72, stringStartF = 249, stringStartFD = 250, stringStartFL = 251, stringStartFLD = 252, stringStartFR = 253, stringStartFRD = 254, stringStartFRL = 255, stringStartFRLD = 256, FormatReplacement = 73, nestedFormatReplacement = 77, importList = 263, TypeParamList = 112, ParamList = 130, SequencePattern = 151, MappingPattern = 152, PatternArgList = 155, newline = 10, carriageReturn = 13, space = 32, tab = 9, hash = 35, parenOpen = 40, dot = 46, braceOpen = 123, braceClose = 125, singleQuote = 39, doubleQuote = 34, backslash = 92, letter_o = 111, letter_x = 120, letter_N = 78, letter_u = 117, letter_U = 85, bracketed = /* @__PURE__ */ new Set([
4
4
  ParenthesizedExpression,
5
5
  TupleExpression,
@@ -1,5 +1,5 @@
1
- import { B as tags, O as indentNodeProp, S as foldInside, h as continuedIndent, n as ExternalTokenizer, r as LRParser, s as LRLanguage, t as ContextTracker, u as LanguageSupport, w as foldNodeProp, z as styleTags } from "./dist-BuapEdlD.js";
2
- import { i as defineCSSCompletionSource } from "./dist-BBcqvpvP.js";
1
+ import { B as tags, O as indentNodeProp, S as foldInside, h as continuedIndent, n as ExternalTokenizer, r as LRParser, s as LRLanguage, t as ContextTracker, u as LanguageSupport, w as foldNodeProp, z as styleTags } from "./dist-DOoqn-VL.js";
2
+ import { i as defineCSSCompletionSource } from "./dist-Ux6dL_VB.js";
3
3
  var indent = 168, dedent = 169, descendantOp = 170, InterpolationEnd = 1, InterpolationContinue = 2, Unit = 3, callee = 171, identifier = 172, VariableName = 4, queryIdentifier = 173, InterpolationStart = 5, newline = 174, blankLineStart = 175, eof = 176, whitespace = 177, LineComment = 6, Comment = 7, IndentedMixin = 8, IndentedInclude = 9, Dialect_indented = 0, space = [
4
4
  9,
5
5
  10,
@@ -0,0 +1,5 @@
1
+ import "./dist-DOoqn-VL.js";
2
+ import { n as yamlLanguage, t as yaml } from "./dist-DodLQWPg.js";
3
+ export {
4
+ yaml
5
+ };
@@ -1,7 +1,7 @@
1
- import { B as tags, J as parseMixed, n as ExternalTokenizer, r as LRParser, s as LRLanguage, u as LanguageSupport, z as styleTags } from "./dist-BuapEdlD.js";
2
- import { n as html } from "./dist-Ch_JuCvc.js";
3
- import "./dist-BBcqvpvP.js";
4
- import { r as javascriptLanguage } from "./dist-CsqiXw7J.js";
1
+ import { B as tags, J as parseMixed, n as ExternalTokenizer, r as LRParser, s as LRLanguage, u as LanguageSupport, z as styleTags } from "./dist-DOoqn-VL.js";
2
+ import { n as html } from "./dist-BpMlUdNO.js";
3
+ import "./dist-Ux6dL_VB.js";
4
+ import { r as javascriptLanguage } from "./dist-D4gcY469.js";
5
5
  var Text = 1, attributeContentSingle = 33, attributeContentDouble = 34, scriptAttributeContentSingle = 35, scriptAttributeContentDouble = 36, text = /* @__PURE__ */ new ExternalTokenizer((p) => {
6
6
  let A = p.pos;
7
7
  for (; ; ) {
@@ -0,0 +1,8 @@
1
+ import "./dist-DOoqn-VL.js";
2
+ import "./dist-BpMlUdNO.js";
3
+ import "./dist-Ux6dL_VB.js";
4
+ import "./dist-D4gcY469.js";
5
+ import { n as phpLanguage, t as php } from "./dist-DEj2X26M.js";
6
+ export {
7
+ php
8
+ };
@@ -1,5 +1,5 @@
1
- import "./dist-BuapEdlD.js";
2
- import { a as PLSQL, c as SQLite, d as schemaCompletionSource, f as sql, i as MySQL, l as StandardSQL, n as MSSQL, o as PostgreSQL, r as MariaSQL, s as SQLDialect, t as Cassandra, u as keywordCompletionSource } from "./dist-C6z8U-ms.js";
1
+ import "./dist-DOoqn-VL.js";
2
+ import { a as PLSQL, c as SQLite, d as schemaCompletionSource, f as sql, i as MySQL, l as StandardSQL, n as MSSQL, o as PostgreSQL, r as MariaSQL, s as SQLDialect, t as Cassandra, u as keywordCompletionSource } from "./dist-Bq5eYK43.js";
3
3
  export {
4
4
  Cassandra,
5
5
  MSSQL,
@@ -1,4 +1,4 @@
1
- import { $ as ViewPlugin, At as Prec, Bt as combineConfig, Et as EditorSelection, Ft as StateField, I as syntaxTree, It as Text, Lt as Transaction, Nt as RangeValue, Ot as Facet, Pt as StateEffect, Rt as codePointAt, Ut as fromCodePoint, X as Direction, Y as Decoration, Z as EditorView, at as getTooltip, dt as keymap, et as WidgetType, j as indentUnit, jt as RangeSet, kt as MapMode, pt as logException, wt as CharCategory, xt as Annotation, yt as showTooltip, zt as codePointSize } from "./dist-BuapEdlD.js";
1
+ import { $ as ViewPlugin, At as Prec, Bt as combineConfig, Et as EditorSelection, Ft as StateField, I as syntaxTree, It as Text, Lt as Transaction, Nt as RangeValue, Ot as Facet, Pt as StateEffect, Rt as codePointAt, Ut as fromCodePoint, X as Direction, Y as Decoration, Z as EditorView, at as getTooltip, dt as keymap, et as WidgetType, j as indentUnit, jt as RangeSet, kt as MapMode, pt as logException, wt as CharCategory, xt as Annotation, yt as showTooltip, zt as codePointSize } from "./dist-DOoqn-VL.js";
2
2
  var CompletionContext = class {
3
3
  constructor(i8, N, P, F) {
4
4
  this.state = i8, this.pos = N, this.explicit = P, this.view = F, this.abortListeners = [], this.abortOnDocChange = false;
@@ -206,6 +206,7 @@ function defaultPositionInfo(i8, N, P, F, I, L) {
206
206
  class: "cm-completionInfo-" + (B ? R ? "left-narrow" : "right-narrow" : z ? "left" : "right")
207
207
  };
208
208
  }
209
+ var setSelectedEffect = /* @__PURE__ */ StateEffect.define();
209
210
  function optionContent(i8) {
210
211
  let N = i8.addToOptions.slice();
211
212
  return i8.icons && N.push({
@@ -269,6 +270,10 @@ var CompletionTooltip = class {
269
270
  this.applyCompletion(i8, F2[+I2[1]]), P2.preventDefault();
270
271
  return;
271
272
  }
273
+ if (P2.target == this.list) {
274
+ let N2 = this.list.classList.contains("cm-completionListIncompleteTop") && P2.clientY < this.list.firstChild.getBoundingClientRect().top ? this.range.from - 1 : this.list.classList.contains("cm-completionListIncompleteBottom") && P2.clientY > this.list.lastChild.getBoundingClientRect().bottom ? this.range.to : null;
275
+ N2 != null && (i8.dispatch({ effects: setSelectedEffect.of(N2) }), P2.preventDefault());
276
+ }
272
277
  }), this.dom.addEventListener("focusout", (N2) => {
273
278
  let P2 = i8.state.field(this.stateField, false);
274
279
  P2 && P2.tooltip && i8.state.facet(completionConfig).closeOnBlur && N2.relatedTarget != i8.contentDOM && i8.dispatch({ effects: closeCompletionEffect.of(null) });
@@ -573,7 +578,7 @@ function checkValid(i8, N, P, F) {
573
578
  }
574
579
  var setActiveEffect = /* @__PURE__ */ StateEffect.define({ map(i8, N) {
575
580
  return i8.map((i9) => i9.map(N));
576
- } }), setSelectedEffect = /* @__PURE__ */ StateEffect.define(), completionState = /* @__PURE__ */ StateField.define({
581
+ } }), completionState = /* @__PURE__ */ StateField.define({
577
582
  create() {
578
583
  return CompletionState.start();
579
584
  },
@@ -0,0 +1,8 @@
1
+ import "./dist-DOoqn-VL.js";
2
+ import "./dist-BpMlUdNO.js";
3
+ import "./dist-Ux6dL_VB.js";
4
+ import "./dist-D4gcY469.js";
5
+ import { i as liquidLanguage, n as liquid, r as liquidCompletionSource, t as closePercentBrace } from "./dist-DUretbKK.js";
6
+ export {
7
+ liquid
8
+ };
@@ -1,6 +1,6 @@
1
- import { B as tags, J as parseMixed, i as LocalTokenGroup, r as LRParser, s as LRLanguage, u as LanguageSupport, z as styleTags } from "./dist-BuapEdlD.js";
2
- import { n as html } from "./dist-Ch_JuCvc.js";
3
- import { r as javascriptLanguage } from "./dist-CsqiXw7J.js";
1
+ import { B as tags, J as parseMixed, i as LocalTokenGroup, r as LRParser, s as LRLanguage, u as LanguageSupport, z as styleTags } from "./dist-DOoqn-VL.js";
2
+ import { n as html } from "./dist-BpMlUdNO.js";
3
+ import { r as javascriptLanguage } from "./dist-D4gcY469.js";
4
4
  var parser = /* @__PURE__ */ LRParser.deserialize({
5
5
  version: 14,
6
6
  states: "%pOVOWOOObQPOOOpOSO'#C_OOOO'#Cp'#CpQVOWOOQxQPOOO!TQQOOQ!YQPOOOOOO,58y,58yO!_OSO,58yOOOO-E6n-E6nO!dQQO'#CqQ{QPOOO!iQPOOQ{QPOOO!qQPOOOOOO1G.e1G.eOOQO,59],59]OOQO-E6o-E6oO!yOpO'#CiO#RO`O'#CiQOQPOOO#ZO#tO'#CmO#fO!bO'#CmOOQO,59T,59TO#qOpO,59TO#vO`O,59TOOOO'#Cr'#CrO#{O#tO,59XOOQO,59X,59XOOOO'#Cs'#CsO$WO!bO,59XOOQO1G.o1G.oOOOO-E6p-E6pOOQO1G.s1G.sOOOO-E6q-E6q",
@@ -0,0 +1,5 @@
1
+ import "./dist-DOoqn-VL.js";
2
+ import { n as wastLanguage, t as wast } from "./dist-RNGn_-uD.js";
3
+ export {
4
+ wast
5
+ };
@@ -1,5 +1,5 @@
1
- import { B as tags, Et as EditorSelection, I as syntaxTree, J as parseMixed, O as indentNodeProp, Z as EditorView, i as LocalTokenGroup, n as ExternalTokenizer, r as LRParser, s as LRLanguage, u as LanguageSupport, v as delimitedIndent, w as foldNodeProp, z as styleTags } from "./dist-BuapEdlD.js";
2
- import { n as html } from "./dist-Ch_JuCvc.js";
1
+ import { B as tags, Et as EditorSelection, I as syntaxTree, J as parseMixed, O as indentNodeProp, Z as EditorView, i as LocalTokenGroup, n as ExternalTokenizer, r as LRParser, s as LRLanguage, u as LanguageSupport, v as delimitedIndent, w as foldNodeProp, z as styleTags } from "./dist-DOoqn-VL.js";
2
+ import { n as html } from "./dist-BpMlUdNO.js";
3
3
  var interpolationStart = 1, commentTagStart = 2, tagStart = 3, text = 155, endrawTagStart = 4, rawText = 156;
4
4
  function wordChar(h) {
5
5
  return h >= 65 && h <= 90 || h >= 97 && h <= 122;
@@ -0,0 +1,5 @@
1
+ import "./dist-DOoqn-VL.js";
2
+ import { n as rustLanguage, t as rust } from "./dist-i-ud9aCA.js";
3
+ export {
4
+ rust
5
+ };
@@ -1,5 +1,5 @@
1
- import { B as tags, Et as EditorSelection, G as NodeWeakMap, I as syntaxTree, O as indentNodeProp, P as sublanguageProp, S as foldInside, V as IterMode, Z as EditorView, _ as defineLanguageFacet, h as continuedIndent, i as LocalTokenGroup, n as ExternalTokenizer, r as LRParser, s as LRLanguage, t as ContextTracker, u as LanguageSupport, v as delimitedIndent, w as foldNodeProp, y as flatIndent, z as styleTags } from "./dist-BuapEdlD.js";
2
- import { f as snippetCompletion, l as ifNotIn, s as completeFromList } from "./dist-BT6_J2eq.js";
1
+ import { B as tags, Et as EditorSelection, G as NodeWeakMap, I as syntaxTree, O as indentNodeProp, P as sublanguageProp, S as foldInside, V as IterMode, Z as EditorView, _ as defineLanguageFacet, h as continuedIndent, i as LocalTokenGroup, n as ExternalTokenizer, r as LRParser, s as LRLanguage, t as ContextTracker, u as LanguageSupport, v as delimitedIndent, w as foldNodeProp, y as flatIndent, z as styleTags } from "./dist-DOoqn-VL.js";
2
+ import { f as snippetCompletion, l as ifNotIn, s as completeFromList } from "./dist-CSEWGuDq.js";
3
3
  var noSemi = 315, noSemiType = 316, incdec = 1, incdecPrefix = 2, questionDot = 3, JSXStartTag = 4, insertSemi = 317, spaces = 319, newline = 320, LineComment = 5, BlockComment = 6, Dialect_jsx = 0, space = [
4
4
  9,
5
5
  10,
@@ -1,5 +1,5 @@
1
- import { B as tags, G as NodeWeakMap, I as syntaxTree, O as indentNodeProp, S as foldInside, V as IterMode, h as continuedIndent, i as LocalTokenGroup, n as ExternalTokenizer, r as LRParser, s as LRLanguage, t as ContextTracker, u as LanguageSupport, v as delimitedIndent, w as foldNodeProp, y as flatIndent, z as styleTags } from "./dist-BuapEdlD.js";
2
- import { f as snippetCompletion, l as ifNotIn, s as completeFromList } from "./dist-BT6_J2eq.js";
1
+ import { B as tags, G as NodeWeakMap, I as syntaxTree, O as indentNodeProp, S as foldInside, V as IterMode, h as continuedIndent, i as LocalTokenGroup, n as ExternalTokenizer, r as LRParser, s as LRLanguage, t as ContextTracker, u as LanguageSupport, v as delimitedIndent, w as foldNodeProp, y as flatIndent, z as styleTags } from "./dist-DOoqn-VL.js";
2
+ import { f as snippetCompletion, l as ifNotIn, s as completeFromList } from "./dist-CSEWGuDq.js";
3
3
  var insertedSemi = 177, space$1 = 179, identifier = 184, String = 12, closeParen$1 = 13, Number = 17, Rune = 20, closeBrace$1 = 25, closeBracket = 53, IncDecOp = 95, _return = 142, _break = 144, _continue = 145, fallthrough = 148, newline = 10, carriageReturn = 13, space = 32, tab = 9, slash = 47, closeParen = 41, closeBrace = 125, semicolon = new ExternalTokenizer((y, J) => {
4
4
  for (let Y = 0, X = y.next; (J.context && (X < 0 || X == newline || X == carriageReturn || X == slash && y.peek(Y + 1) == slash) || X == closeParen || X == closeBrace) && y.acceptToken(insertedSemi), !(X != space && X != tab); ) X = y.peek(++Y);
5
5
  }, { contextual: true }), trackedTokens = /* @__PURE__ */ new Set([
@@ -1,5 +1,5 @@
1
- import "./dist-BuapEdlD.js";
2
- import { a as localCompletionSource, c as typescriptLanguage, i as jsxLanguage, l as typescriptSnippets, n as javascript, o as snippets, r as javascriptLanguage, s as tsxLanguage, t as autoCloseTags } from "./dist-CsqiXw7J.js";
1
+ import "./dist-DOoqn-VL.js";
2
+ import { a as localCompletionSource, c as typescriptLanguage, i as jsxLanguage, l as typescriptSnippets, n as javascript, o as snippets, r as javascriptLanguage, s as tsxLanguage, t as autoCloseTags } from "./dist-D4gcY469.js";
3
3
  export {
4
4
  javascript
5
5
  };
@@ -1,5 +1,5 @@
1
- import { B as tags, J as parseMixed, O as indentNodeProp, S as foldInside, h as continuedIndent, n as ExternalTokenizer, r as LRParser, s as LRLanguage, u as LanguageSupport, v as delimitedIndent, w as foldNodeProp, z as styleTags } from "./dist-BuapEdlD.js";
2
- import { n as html } from "./dist-Ch_JuCvc.js";
1
+ import { B as tags, J as parseMixed, O as indentNodeProp, S as foldInside, h as continuedIndent, n as ExternalTokenizer, r as LRParser, s as LRLanguage, u as LanguageSupport, v as delimitedIndent, w as foldNodeProp, z as styleTags } from "./dist-DOoqn-VL.js";
2
+ import { n as html } from "./dist-BpMlUdNO.js";
3
3
  var castOpen = 1, HeredocString = 2, interpolatedStringContent = 263, EscapeSequence = 3, afterInterpolation = 264, automaticSemicolon = 265, eof = 266, abstract = 4, and = 5, array = 6, as = 7, Boolean = 8, _break = 9, _case = 10, _catch = 11, clone = 12, _const = 13, _continue = 14, _default = 15, declare = 16, _do = 17, echo = 18, _else = 19, elseif = 20, enddeclare = 21, endfor = 22, endforeach = 23, endif = 24, endswitch = 25, endwhile = 26, _enum = 27, _extends = 28, final = 29, _finally = 30, fn = 31, _for = 32, foreach = 33, from = 34, _function = 35, global = 36, goto = 37, _if = 38, _implements = 39, include = 40, include_once = 41, _instanceof = 42, insteadof = 43, _interface = 44, list = 45, match = 46, namespace = 47, _new = 48, _null = 49, or = 50, print = 51, _require = 52, require_once = 53, _return = 54, _switch = 55, _throw = 56, trait = 57, _try = 58, unset = 59, use = 60, _var = 61, Visibility = 62, keywordMap = {
4
4
  abstract,
5
5
  and,
@@ -2267,14 +2267,14 @@ function scrollRectIntoView(e64, w, T, E, D, O, k, A) {
2267
2267
  } else if (N.nodeType == 11) N = N.host;
2268
2268
  else break;
2269
2269
  }
2270
- function scrollableParents(e64) {
2271
- let w = e64.ownerDocument, T, E;
2272
- for (let D = e64.parentNode; D && !(D == w.body || T && E); ) if (D.nodeType == 1) !E && D.scrollHeight > D.clientHeight && (E = D), !T && D.scrollWidth > D.clientWidth && (T = D), D = D.assignedSlot || D.parentNode;
2273
- else if (D.nodeType == 11) D = D.host;
2270
+ function scrollableParents(e64, w = true) {
2271
+ let T = e64.ownerDocument, E = null, D = null;
2272
+ for (let O = e64.parentNode; O && !(O == T.body || (!w || E) && D); ) if (O.nodeType == 1) !D && O.scrollHeight > O.clientHeight && (D = O), w && !E && O.scrollWidth > O.clientWidth && (E = O), O = O.assignedSlot || O.parentNode;
2273
+ else if (O.nodeType == 11) O = O.host;
2274
2274
  else break;
2275
2275
  return {
2276
- x: T,
2277
- y: E
2276
+ x: E,
2277
+ y: D
2278
2278
  };
2279
2279
  }
2280
2280
  var DOMSelectionState = class {
@@ -2345,7 +2345,7 @@ function atElementStart(e64, w) {
2345
2345
  else E = domIndex(T), T = T.parentNode;
2346
2346
  }
2347
2347
  function isScrolledToBottom(e64) {
2348
- return e64.scrollTop > Math.max(1, e64.scrollHeight - e64.clientHeight - 4);
2348
+ return e64 instanceof Window ? e64.pageYOffset > Math.max(0, e64.document.documentElement.scrollHeight - e64.innerHeight - 4) : e64.scrollTop > Math.max(1, e64.scrollHeight - e64.clientHeight - 4);
2349
2349
  }
2350
2350
  function textNodeBefore(e64, w) {
2351
2351
  for (let T = e64, E = w; ; ) if (T.nodeType == 3 && E > 0) return {
@@ -3376,7 +3376,7 @@ var TileCache = class {
3376
3376
  let O = T2 > 0 || w2 < e65.length ? WidgetTile.of(e65.widget, this.view, T2 - w2, e65.flags & 496, this.cache.maybeReuse(e65)) : this.cache.reuse(e65);
3377
3377
  O.flags & 256 ? (O.flags &= -2, this.builder.addBlockWidget(O)) : (this.builder.ensureLine(null), this.builder.addInlineWidget(O, E, D), D = E.length);
3378
3378
  }
3379
- else if (e65.isText()) this.builder.ensureLine(null), !w2 && T2 == e65.length ? this.builder.addText(e65.text, E, D, this.cache.reuse(e65)) : (this.cache.add(e65), this.builder.addText(e65.text.slice(w2, T2), E, D)), D = E.length;
3379
+ else if (e65.isText()) this.builder.ensureLine(null), !w2 && T2 == e65.length && !this.cache.reused.has(e65) ? this.builder.addText(e65.text, E, D, this.cache.reuse(e65)) : (this.cache.add(e65), this.builder.addText(e65.text.slice(w2, T2), E, D)), D = E.length;
3380
3380
  else if (e65.isLine()) e65.flags &= -2, this.cache.reused.set(e65, 1), this.builder.addLine(e65);
3381
3381
  else if (e65 instanceof WidgetBufferTile) this.cache.add(e65);
3382
3382
  else if (e65 instanceof MarkTile) this.builder.ensureLine(null), this.builder.addMark(e65, E, D), this.cache.reused.set(e65, 1), D = E.length;
@@ -3527,7 +3527,7 @@ var BreakWidget = /* @__PURE__ */ new class extends WidgetType {
3527
3527
  T.ignore(() => {
3528
3528
  if (w || e64.length) {
3529
3529
  let T2 = this.tile, E3 = new TileUpdate(this.view, T2, this.blockWrappers, this.decorations, this.dynamicDecorationMap);
3530
- this.tile = E3.run(e64, w), destroyDropped(T2, E3.cache.reused);
3530
+ w && Tile.get(w.text) && E3.cache.reused.set(Tile.get(w.text), 2), this.tile = E3.run(e64, w), destroyDropped(T2, E3.cache.reused);
3531
3531
  }
3532
3532
  this.tile.dom.style.height = this.view.viewState.contentHeight / this.view.scaleY + "px", this.tile.dom.style.flexBasis = this.minWidth ? this.minWidth + "px" : "";
3533
3533
  let E2 = browser.chrome || browser.ios ? {
@@ -4262,42 +4262,38 @@ function domBoundsAround(e64, w, T, E) {
4262
4262
  else return null;
4263
4263
  }
4264
4264
  function applyDOMChange(e64, w) {
4265
- let T, { newSel: E } = w, D = e64.state.selection.main, O = e64.inputState.lastKeyTime > Date.now() - 100 ? e64.inputState.lastKeyCode : -1;
4265
+ let T, { newSel: E } = w, { state: D } = e64, O = D.selection.main, k = e64.inputState.lastKeyTime > Date.now() - 100 ? e64.inputState.lastKeyCode : -1;
4266
4266
  if (w.bounds) {
4267
- let { from: E2, to: k } = w.bounds, A = D.from, j = null;
4268
- (O === 8 || browser.android && w.text.length < k - E2) && (A = D.to, j = "end");
4269
- let M = findDiff(e64.state.doc.sliceString(E2, k, LineBreakPlaceholder), w.text, A - E2, j);
4270
- M && (browser.chrome && O == 13 && M.toB == M.from + 2 && w.text.slice(M.from, M.toB) == LineBreakPlaceholder + LineBreakPlaceholder && M.toB--, T = {
4271
- from: E2 + M.from,
4272
- to: E2 + M.toA,
4273
- insert: Text.of(w.text.slice(M.from, M.toB).split(LineBreakPlaceholder))
4267
+ let { from: e65, to: E2 } = w.bounds, A = O.from, j = null;
4268
+ (k === 8 || browser.android && w.text.length < E2 - e65) && (A = O.to, j = "end");
4269
+ let M = D.doc.sliceString(e65, E2, LineBreakPlaceholder), N, P;
4270
+ !O.empty && O.from >= e65 && O.to <= E2 && (w.typeOver || M != w.text) && M.slice(0, O.from - e65) == w.text.slice(0, O.from - e65) && M.slice(O.to - e65) == w.text.slice(N = w.text.length - (M.length - (O.to - e65))) ? T = {
4271
+ from: O.from,
4272
+ to: O.to,
4273
+ insert: Text.of(w.text.slice(O.from - e65, N).split(LineBreakPlaceholder))
4274
+ } : (P = findDiff(M, w.text, A - e65, j)) && (browser.chrome && k == 13 && P.toB == P.from + 2 && w.text.slice(P.from, P.toB) == LineBreakPlaceholder + LineBreakPlaceholder && P.toB--, T = {
4275
+ from: e65 + P.from,
4276
+ to: e65 + P.toA,
4277
+ insert: Text.of(w.text.slice(P.from, P.toB).split(LineBreakPlaceholder))
4274
4278
  });
4275
- } else E && (!e64.hasFocus && e64.state.facet(editable) || sameSelPos(E, D)) && (E = null);
4279
+ } else E && (!e64.hasFocus && D.facet(editable) || sameSelPos(E, O)) && (E = null);
4276
4280
  if (!T && !E) return false;
4277
- if (!T && w.typeOver && !D.empty && E && E.main.empty ? T = {
4278
- from: D.from,
4279
- to: D.to,
4280
- insert: e64.state.doc.slice(D.from, D.to)
4281
- } : (browser.mac || browser.android) && T && T.from == T.to && T.from == D.head - 1 && /^\. ?$/.test(T.insert.toString()) && e64.contentDOM.getAttribute("autocorrect") == "off" ? (E && T.insert.length == 2 && (E = EditorSelection.single(E.main.anchor - 1, E.main.head - 1)), T = {
4281
+ if ((browser.mac || browser.android) && T && T.from == T.to && T.from == O.head - 1 && /^\. ?$/.test(T.insert.toString()) && e64.contentDOM.getAttribute("autocorrect") == "off" ? (E && T.insert.length == 2 && (E = EditorSelection.single(E.main.anchor - 1, E.main.head - 1)), T = {
4282
4282
  from: T.from,
4283
4283
  to: T.to,
4284
4284
  insert: Text.of([T.insert.toString().replace(".", " ")])
4285
- }) : T && T.from >= D.from && T.to <= D.to && (T.from != D.from || T.to != D.to) && D.to - D.from - (T.to - T.from) <= 4 ? T = {
4286
- from: D.from,
4287
- to: D.to,
4288
- insert: e64.state.doc.slice(D.from, T.from).append(T.insert).append(e64.state.doc.slice(T.to, D.to))
4289
- } : e64.state.doc.lineAt(D.from).to < D.to && e64.docView.lineHasWidget(D.to) && e64.inputState.insertingTextAt > Date.now() - 50 ? T = {
4290
- from: D.from,
4291
- to: D.to,
4292
- insert: e64.state.toText(e64.inputState.insertingText)
4293
- } : browser.chrome && T && T.from == T.to && T.from == D.head && T.insert.toString() == "\n " && e64.lineWrapping && (E && (E = EditorSelection.single(E.main.anchor - 1, E.main.head - 1)), T = {
4294
- from: D.from,
4295
- to: D.to,
4285
+ }) : D.doc.lineAt(O.from).to < O.to && e64.docView.lineHasWidget(O.to) && e64.inputState.insertingTextAt > Date.now() - 50 ? T = {
4286
+ from: O.from,
4287
+ to: O.to,
4288
+ insert: D.toText(e64.inputState.insertingText)
4289
+ } : browser.chrome && T && T.from == T.to && T.from == O.head && T.insert.toString() == "\n " && e64.lineWrapping && (E && (E = EditorSelection.single(E.main.anchor - 1, E.main.head - 1)), T = {
4290
+ from: O.from,
4291
+ to: O.to,
4296
4292
  insert: Text.of([" "])
4297
- }), T) return applyDOMChangeInner(e64, T, E, O);
4298
- if (E && !sameSelPos(E, D)) {
4293
+ }), T) return applyDOMChangeInner(e64, T, E, k);
4294
+ if (E && !sameSelPos(E, O)) {
4299
4295
  let w2 = false, T2 = "select";
4300
- return e64.inputState.lastSelectionTime > Date.now() - 50 && (e64.inputState.lastSelectionOrigin == "select" && (w2 = true), T2 = e64.inputState.lastSelectionOrigin, T2 == "select.pointer" && (E = skipAtomsForSelection(e64.state.facet(atomicRanges).map((w3) => w3(e64)), E))), e64.dispatch({
4296
+ return e64.inputState.lastSelectionTime > Date.now() - 50 && (e64.inputState.lastSelectionOrigin == "select" && (w2 = true), T2 = e64.inputState.lastSelectionOrigin, T2 == "select.pointer" && (E = skipAtomsForSelection(D.facet(atomicRanges).map((w3) => w3(e64)), E))), e64.dispatch({
4301
4297
  selection: E,
4302
4298
  scrollIntoView: w2,
4303
4299
  userEvent: T2
@@ -4408,7 +4404,7 @@ var InputState = class {
4408
4404
  this.lastSelectionOrigin = e64, this.lastSelectionTime = Date.now();
4409
4405
  }
4410
4406
  constructor(e64) {
4411
- this.view = e64, this.lastKeyCode = 0, this.lastKeyTime = 0, this.lastTouchTime = 0, this.lastFocusTime = 0, this.lastScrollTop = 0, this.lastScrollLeft = 0, this.pendingIOSKey = void 0, this.tabFocusMode = -1, this.lastSelectionOrigin = null, this.lastSelectionTime = 0, this.lastContextMenu = 0, this.scrollHandlers = [], this.handlers = /* @__PURE__ */ Object.create(null), this.composing = -1, this.compositionFirstChange = null, this.compositionEndedAt = 0, this.compositionPendingKey = false, this.compositionPendingChange = false, this.insertingText = "", this.insertingTextAt = 0, this.mouseSelection = null, this.draggedContent = null, this.handleEvent = this.handleEvent.bind(this), this.notifiedFocused = e64.hasFocus, browser.safari && e64.contentDOM.addEventListener("input", () => null), browser.gecko && firefoxCopyCutHack(e64.contentDOM.ownerDocument);
4407
+ this.view = e64, this.lastKeyCode = 0, this.lastKeyTime = 0, this.lastTouchTime = 0, this.lastFocusTime = 0, this.lastScrollTop = 0, this.lastScrollLeft = 0, this.lastWheelEvent = 0, this.pendingIOSKey = void 0, this.tabFocusMode = -1, this.lastSelectionOrigin = null, this.lastSelectionTime = 0, this.lastContextMenu = 0, this.scrollHandlers = [], this.handlers = /* @__PURE__ */ Object.create(null), this.composing = -1, this.compositionFirstChange = null, this.compositionEndedAt = 0, this.compositionPendingKey = false, this.compositionPendingChange = false, this.insertingText = "", this.insertingTextAt = 0, this.mouseSelection = null, this.draggedContent = null, this.handleEvent = this.handleEvent.bind(this), this.notifiedFocused = e64.hasFocus, browser.safari && e64.contentDOM.addEventListener("input", () => null), browser.gecko && firefoxCopyCutHack(e64.contentDOM.ownerDocument);
4412
4408
  }
4413
4409
  handleEvent(e64) {
4414
4410
  !eventBelongsToEditor(this.view, e64) || this.ignoreDuringComposition(e64) || e64.type == "keydown" && this.keydown(e64) || (this.view.updateState == 0 ? this.runHandlers(e64.type, e64) : Promise.resolve().then(() => this.runHandlers(e64.type, e64)));
@@ -4652,6 +4648,8 @@ function doPaste(e64, w) {
4652
4648
  }
4653
4649
  observers.scroll = (e64) => {
4654
4650
  e64.inputState.lastScrollTop = e64.scrollDOM.scrollTop, e64.inputState.lastScrollLeft = e64.scrollDOM.scrollLeft;
4651
+ }, observers.wheel = observers.mousewheel = (e64) => {
4652
+ e64.inputState.lastWheelEvent = Date.now();
4655
4653
  }, handlers.keydown = (e64, w) => (e64.inputState.setSelectionOrigin("select"), w.keyCode == 27 && e64.inputState.tabFocusMode != 0 && (e64.inputState.tabFocusMode = Date.now() + 2e3), false), observers.touchstart = (e64, w) => {
4656
4654
  e64.inputState.lastTouchTime = Date.now(), e64.inputState.setSelectionOrigin("select.pointer");
4657
4655
  }, observers.touchmove = (e64) => {
@@ -5350,15 +5348,15 @@ var LineGap = class {
5350
5348
  return this.vertical ? this.size : -1;
5351
5349
  }
5352
5350
  }, ViewState = class {
5353
- constructor(e64) {
5354
- this.state = e64, this.pixelViewport = {
5351
+ constructor(e64, w) {
5352
+ this.view = e64, this.state = w, this.pixelViewport = {
5355
5353
  left: 0,
5356
5354
  right: window.innerWidth,
5357
5355
  top: 0,
5358
5356
  bottom: 0
5359
- }, this.inView = true, this.paddingTop = 0, this.paddingBottom = 0, this.contentDOMWidth = 0, this.contentDOMHeight = 0, this.editorHeight = 0, this.editorWidth = 0, this.scrollTop = 0, this.scrolledToBottom = false, this.scaleX = 1, this.scaleY = 1, this.scrollAnchorPos = 0, this.scrollAnchorHeight = -1, this.scaler = IdScaler, this.scrollTarget = null, this.printing = false, this.mustMeasureContent = true, this.defaultTextDirection = Direction.LTR, this.visibleRanges = [], this.mustEnforceCursorAssoc = false, this.heightOracle = new HeightOracle(e64.facet(contentAttributes).some((e65) => typeof e65 != "function" && e65.class == "cm-lineWrapping")), this.stateDeco = staticDeco(e64), this.heightMap = HeightMap.empty().applyChanges(this.stateDeco, Text.empty, this.heightOracle.setDoc(e64.doc), [new ChangedRange(0, 0, 0, e64.doc.length)]);
5357
+ }, this.inView = true, this.paddingTop = 0, this.paddingBottom = 0, this.contentDOMWidth = 0, this.contentDOMHeight = 0, this.editorHeight = 0, this.editorWidth = 0, this.scaleX = 1, this.scaleY = 1, this.scrollOffset = 0, this.scrolledToBottom = false, this.scrollAnchorPos = 0, this.scrollAnchorHeight = -1, this.scaler = IdScaler, this.scrollTarget = null, this.printing = false, this.mustMeasureContent = true, this.defaultTextDirection = Direction.LTR, this.visibleRanges = [], this.mustEnforceCursorAssoc = false, this.heightOracle = new HeightOracle(w.facet(contentAttributes).some((e65) => typeof e65 != "function" && e65.class == "cm-lineWrapping")), this.stateDeco = staticDeco(w), this.heightMap = HeightMap.empty().applyChanges(this.stateDeco, Text.empty, this.heightOracle.setDoc(w.doc), [new ChangedRange(0, 0, 0, w.doc.length)]);
5360
5358
  for (let e65 = 0; e65 < 2 && (this.viewport = this.getViewport(0, null), this.updateForViewport()); e65++) ;
5361
- this.updateViewportLines(), this.lineGaps = this.ensureLineGaps([]), this.lineGapDeco = Decoration.set(this.lineGaps.map((e65) => e65.draw(this, false))), this.computeVisibleRanges();
5359
+ this.updateViewportLines(), this.lineGaps = this.ensureLineGaps([]), this.lineGapDeco = Decoration.set(this.lineGaps.map((e65) => e65.draw(this, false))), this.scrollParent = e64.scrollDOM, this.computeVisibleRanges();
5362
5360
  }
5363
5361
  updateForViewport() {
5364
5362
  let e64 = [this.viewport], { main: w } = this.state.selection;
@@ -5384,15 +5382,15 @@ var LineGap = class {
5384
5382
  this.state = e64.state;
5385
5383
  let T = this.stateDeco;
5386
5384
  this.stateDeco = staticDeco(this.state);
5387
- let E = e64.changedRanges, D = ChangedRange.extendWithRanges(E, heightRelevantDecoChanges(T, this.stateDeco, e64 ? e64.changes : ChangeSet.empty(this.state.doc.length))), O = this.heightMap.height, k = this.scrolledToBottom ? null : this.scrollAnchorAt(this.scrollTop);
5385
+ let E = e64.changedRanges, D = ChangedRange.extendWithRanges(E, heightRelevantDecoChanges(T, this.stateDeco, e64 ? e64.changes : ChangeSet.empty(this.state.doc.length))), O = this.heightMap.height, k = this.scrolledToBottom ? null : this.scrollAnchorAt(this.scrollOffset);
5388
5386
  clearHeightChangeFlag(), this.heightMap = this.heightMap.applyChanges(this.stateDeco, e64.startState.doc, this.heightOracle.setDoc(this.state.doc), D), (this.heightMap.height != O || heightChangeFlag) && (e64.flags |= 2), k ? (this.scrollAnchorPos = e64.changes.mapPos(k.from, -1), this.scrollAnchorHeight = k.top) : (this.scrollAnchorPos = -1, this.scrollAnchorHeight = O);
5389
5387
  let A = D.length ? this.mapViewport(this.viewport, e64.changes) : this.viewport;
5390
5388
  (w && (w.range.head < A.from || w.range.head > A.to) || !this.viewportIsAppropriate(A)) && (A = this.getViewport(0, w));
5391
5389
  let j = A.from != this.viewport.from || A.to != this.viewport.to;
5392
5390
  this.viewport = A, e64.flags |= this.updateForViewport(), (j || !e64.changes.empty || e64.flags & 2) && this.updateViewportLines(), (this.lineGaps.length || this.viewport.to - this.viewport.from > 4e3) && this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps, e64.changes))), e64.flags |= this.computeVisibleRanges(e64.changes), w && (this.scrollTarget = w), !this.mustEnforceCursorAssoc && (e64.selectionSet || e64.focusChanged) && e64.view.lineWrapping && e64.state.selection.main.empty && e64.state.selection.main.assoc && !e64.state.facet(nativeSelectionHidden) && (this.mustEnforceCursorAssoc = true);
5393
5391
  }
5394
- measure(e64) {
5395
- let w = e64.contentDOM, T = window.getComputedStyle(w), E = this.heightOracle, D = T.whiteSpace;
5392
+ measure() {
5393
+ let { view: e64 } = this, w = e64.contentDOM, T = window.getComputedStyle(w), E = this.heightOracle, D = T.whiteSpace;
5396
5394
  this.defaultTextDirection = T.direction == "rtl" ? Direction.RTL : Direction.LTR;
5397
5395
  let O = this.heightOracle.mustRefreshForWrapping(D) || this.mustMeasureContent === "refresh", k = w.getBoundingClientRect(), A = O || this.mustMeasureContent || this.contentDOMHeight != k.height;
5398
5396
  this.contentDOMHeight = k.height, this.mustMeasureContent = false;
@@ -5403,28 +5401,30 @@ var LineGap = class {
5403
5401
  }
5404
5402
  let N = (parseInt(T.paddingTop) || 0) * this.scaleY, P = (parseInt(T.paddingBottom) || 0) * this.scaleY;
5405
5403
  (this.paddingTop != N || this.paddingBottom != P) && (this.paddingTop = N, this.paddingBottom = P, j |= 18), this.editorWidth != e64.scrollDOM.clientWidth && (E.lineWrapping && (A = true), this.editorWidth = e64.scrollDOM.clientWidth, j |= 16);
5406
- let I = e64.scrollDOM.scrollTop * this.scaleY;
5407
- this.scrollTop != I && (this.scrollAnchorHeight = -1, this.scrollTop = I), this.scrolledToBottom = isScrolledToBottom(e64.scrollDOM);
5408
- let L = (this.printing ? fullPixelRange : visiblePixelRange)(w, this.paddingTop), R = L.top - this.pixelViewport.top, z = L.bottom - this.pixelViewport.bottom;
5409
- this.pixelViewport = L;
5410
- let B = this.pixelViewport.bottom > this.pixelViewport.top && this.pixelViewport.right > this.pixelViewport.left;
5411
- if (B != this.inView && (this.inView = B, B && (A = true)), !this.inView && !this.scrollTarget && !inWindow(e64.dom)) return 0;
5412
- let V = k.width;
5413
- if ((this.contentDOMWidth != V || this.editorHeight != e64.scrollDOM.clientHeight) && (this.contentDOMWidth = k.width, this.editorHeight = e64.scrollDOM.clientHeight, j |= 16), A) {
5404
+ let I = scrollableParents(this.view.contentDOM, false).y;
5405
+ I != this.scrollParent && (this.scrollParent = I, this.scrollAnchorHeight = -1, this.scrollOffset = 0);
5406
+ let L = this.getScrollOffset();
5407
+ this.scrollOffset != L && (this.scrollAnchorHeight = -1, this.scrollOffset = L), this.scrolledToBottom = isScrolledToBottom(this.scrollParent || e64.win);
5408
+ let R = (this.printing ? fullPixelRange : visiblePixelRange)(w, this.paddingTop), z = R.top - this.pixelViewport.top, B = R.bottom - this.pixelViewport.bottom;
5409
+ this.pixelViewport = R;
5410
+ let V = this.pixelViewport.bottom > this.pixelViewport.top && this.pixelViewport.right > this.pixelViewport.left;
5411
+ if (V != this.inView && (this.inView = V, V && (A = true)), !this.inView && !this.scrollTarget && !inWindow(e64.dom)) return 0;
5412
+ let H = k.width;
5413
+ if ((this.contentDOMWidth != H || this.editorHeight != e64.scrollDOM.clientHeight) && (this.contentDOMWidth = k.width, this.editorHeight = e64.scrollDOM.clientHeight, j |= 16), A) {
5414
5414
  let w2 = e64.docView.measureVisibleLineHeights(this.viewport);
5415
- if (E.mustRefreshForHeights(w2) && (O = true), O || E.lineWrapping && Math.abs(V - this.contentDOMWidth) > E.charWidth) {
5415
+ if (E.mustRefreshForHeights(w2) && (O = true), O || E.lineWrapping && Math.abs(H - this.contentDOMWidth) > E.charWidth) {
5416
5416
  let { lineHeight: T2, charWidth: k2, textHeight: A2 } = e64.docView.measureTextSize();
5417
- O = T2 > 0 && E.refresh(D, T2, k2, A2, Math.max(5, V / k2), w2), O && (e64.docView.minWidth = 0, j |= 16);
5417
+ O = T2 > 0 && E.refresh(D, T2, k2, A2, Math.max(5, H / k2), w2), O && (e64.docView.minWidth = 0, j |= 16);
5418
5418
  }
5419
- R > 0 && z > 0 ? M = Math.max(R, z) : R < 0 && z < 0 && (M = Math.min(R, z)), clearHeightChangeFlag();
5419
+ z > 0 && B > 0 ? M = Math.max(z, B) : z < 0 && B < 0 && (M = Math.min(z, B)), clearHeightChangeFlag();
5420
5420
  for (let T2 of this.viewports) {
5421
5421
  let D2 = T2.from == this.viewport.from ? w2 : e64.docView.measureVisibleLineHeights(T2);
5422
5422
  this.heightMap = (O ? HeightMap.empty().applyChanges(this.stateDeco, Text.empty, this.heightOracle, [new ChangedRange(0, 0, 0, e64.state.doc.length)]) : this.heightMap).updateHeight(E, 0, O, new MeasuredHeights(T2.from, D2));
5423
5423
  }
5424
5424
  heightChangeFlag && (j |= 2);
5425
5425
  }
5426
- let H = !this.viewportIsAppropriate(this.viewport, M) || this.scrollTarget && (this.scrollTarget.range.head < this.viewport.from || this.scrollTarget.range.head > this.viewport.to);
5427
- return H && (j & 2 && (j |= this.updateScaler()), this.viewport = this.getViewport(M, this.scrollTarget), j |= this.updateForViewport()), (j & 2 || H) && this.updateViewportLines(), (this.lineGaps.length || this.viewport.to - this.viewport.from > 4e3) && this.updateLineGaps(this.ensureLineGaps(O ? [] : this.lineGaps, e64)), j |= this.computeVisibleRanges(), this.mustEnforceCursorAssoc && (this.mustEnforceCursorAssoc = false, e64.docView.enforceCursorAssoc()), j;
5426
+ let U = !this.viewportIsAppropriate(this.viewport, M) || this.scrollTarget && (this.scrollTarget.range.head < this.viewport.from || this.scrollTarget.range.head > this.viewport.to);
5427
+ return U && (j & 2 && (j |= this.updateScaler()), this.viewport = this.getViewport(M, this.scrollTarget), j |= this.updateForViewport()), (j & 2 || U) && this.updateViewportLines(), (this.lineGaps.length || this.viewport.to - this.viewport.from > 4e3) && this.updateLineGaps(this.ensureLineGaps(O ? [] : this.lineGaps, e64)), j |= this.computeVisibleRanges(), this.mustEnforceCursorAssoc && (this.mustEnforceCursorAssoc = false, e64.docView.enforceCursorAssoc()), j;
5428
5428
  }
5429
5429
  get visibleTop() {
5430
5430
  return this.scaler.fromDOM(this.pixelViewport.top);
@@ -5541,6 +5541,9 @@ var LineGap = class {
5541
5541
  lineBlockAtHeight(e64) {
5542
5542
  return e64 >= this.viewportLines[0].top && e64 <= this.viewportLines[this.viewportLines.length - 1].bottom && this.viewportLines.find((w) => w.top <= e64 && w.bottom >= e64) || scaleBlock(this.heightMap.lineAt(this.scaler.fromDOM(e64), QueryType.ByHeight, this.heightOracle, 0, 0), this.scaler);
5543
5543
  }
5544
+ getScrollOffset() {
5545
+ return (this.scrollParent == this.view.scrollDOM ? this.scrollParent.scrollTop : (this.scrollParent ? this.scrollParent.getBoundingClientRect().top : 0) - this.view.contentDOM.getBoundingClientRect().top) * this.scaleY;
5546
+ }
5544
5547
  scrollAnchorAt(e64) {
5545
5548
  let w = this.lineBlockAtHeight(e64 + 8);
5546
5549
  return w.from >= this.viewport.from || this.viewportLines[0].top - e64 > 200 ? w : this.viewportLines[0];
@@ -6271,7 +6274,7 @@ var EditContextManager = class {
6271
6274
  var _a2;
6272
6275
  this.plugins = [], this.pluginMap = /* @__PURE__ */ new Map(), this.editorAttrs = {}, this.contentAttrs = {}, this.bidiCache = [], this.destroyed = false, this.updateState = 2, this.measureScheduled = -1, this.measureRequests = [], this.contentDOM = document.createElement("div"), this.scrollDOM = document.createElement("div"), this.scrollDOM.tabIndex = -1, this.scrollDOM.className = "cm-scroller", this.scrollDOM.appendChild(this.contentDOM), this.announceDOM = document.createElement("div"), this.announceDOM.className = "cm-announced", this.announceDOM.setAttribute("aria-live", "polite"), this.dom = document.createElement("div"), this.dom.appendChild(this.announceDOM), this.dom.appendChild(this.scrollDOM), e64.parent && e64.parent.appendChild(this.dom);
6273
6276
  let { dispatch: w } = e64;
6274
- this.dispatchTransactions = e64.dispatchTransactions || w && ((e65) => e65.forEach((e66) => w(e66, this))) || ((e65) => this.update(e65)), this.dispatch = this.dispatch.bind(this), this._root = e64.root || getRoot(e64.parent) || document, this.viewState = new ViewState(e64.state || EditorState.create(e64)), e64.scrollTo && e64.scrollTo.is(scrollIntoView) && (this.viewState.scrollTarget = e64.scrollTo.value.clip(this.viewState.state)), this.plugins = this.state.facet(viewPlugin).map((e65) => new PluginInstance(e65));
6277
+ this.dispatchTransactions = e64.dispatchTransactions || w && ((e65) => e65.forEach((e66) => w(e66, this))) || ((e65) => this.update(e65)), this.dispatch = this.dispatch.bind(this), this._root = e64.root || getRoot(e64.parent) || document, this.viewState = new ViewState(this, e64.state || EditorState.create(e64)), e64.scrollTo && e64.scrollTo.is(scrollIntoView) && (this.viewState.scrollTarget = e64.scrollTo.value.clip(this.viewState.state)), this.plugins = this.state.facet(viewPlugin).map((e65) => new PluginInstance(e65));
6275
6278
  for (let e65 of this.plugins) e65.update(this);
6276
6279
  this.observer = new DOMObserver(this), this.inputState = new InputState(this), this.inputState.ensureHandlers(this.plugins), this.docView = new DocView(this), this.mountStyles(), this.updateAttrs(), this.updateState = 0, this.requestMeasure(), ((_a2 = document.fonts) == null ? void 0 : _a2.ready) && document.fonts.ready.then(() => {
6277
6280
  this.viewState.mustMeasureContent = "refresh", this.requestMeasure();
@@ -6330,7 +6333,7 @@ var EditContextManager = class {
6330
6333
  let w = this.hasFocus;
6331
6334
  try {
6332
6335
  for (let e65 of this.plugins) e65.destroy(this);
6333
- this.viewState = new ViewState(e64), this.plugins = e64.facet(viewPlugin).map((e65) => new PluginInstance(e65)), this.pluginMap.clear();
6336
+ this.viewState = new ViewState(this, e64), this.plugins = e64.facet(viewPlugin).map((e65) => new PluginInstance(e65)), this.pluginMap.clear();
6334
6337
  for (let e65 of this.plugins) e65.update(this);
6335
6338
  this.docView.destroy(), this.docView = new DocView(this), this.inputState.ensureHandlers(this.plugins), this.mountStyles(), this.updateAttrs(), this.bidiCache = [];
6336
6339
  } finally {
@@ -6373,17 +6376,17 @@ var EditContextManager = class {
6373
6376
  return;
6374
6377
  }
6375
6378
  this.measureScheduled = 0, e64 && this.observer.forceFlush();
6376
- let w = null, T = this.scrollDOM, E = T.scrollTop * this.scaleY, { scrollAnchorPos: D, scrollAnchorHeight: O } = this.viewState;
6377
- Math.abs(E - this.viewState.scrollTop) > 1 && (O = -1), this.viewState.scrollAnchorHeight = -1;
6379
+ let w = null, T = this.viewState.scrollParent, E = this.viewState.getScrollOffset(), { scrollAnchorPos: D, scrollAnchorHeight: O } = this.viewState;
6380
+ Math.abs(E - this.viewState.scrollOffset) > 1 && (O = -1), this.viewState.scrollAnchorHeight = -1;
6378
6381
  try {
6379
6382
  for (let e65 = 0; ; e65++) {
6380
- if (O < 0) if (isScrolledToBottom(T)) D = -1, O = this.viewState.heightMap.height;
6383
+ if (O < 0) if (isScrolledToBottom(T || this.win)) D = -1, O = this.viewState.heightMap.height;
6381
6384
  else {
6382
6385
  let e66 = this.viewState.scrollAnchorAt(E);
6383
6386
  D = e66.from, O = e66.top;
6384
6387
  }
6385
6388
  this.updateState = 1;
6386
- let k = this.viewState.measure(this);
6389
+ let k = this.viewState.measure();
6387
6390
  if (!k && !this.measureRequests.length && this.viewState.scrollTarget == null) break;
6388
6391
  if (e65 > 5) {
6389
6392
  console.warn(this.measureRequests.length ? "Measure loop restarted more than 5 times" : "Viewport failed to stabilize");
@@ -6410,9 +6413,9 @@ var EditContextManager = class {
6410
6413
  this.docView.scrollIntoView(this.viewState.scrollTarget), this.viewState.scrollTarget = null, O = -1;
6411
6414
  continue;
6412
6415
  } else {
6413
- let e66 = (D < 0 ? this.viewState.heightMap.height : this.viewState.lineBlockAt(D).top) - O;
6414
- if (e66 > 1 || e66 < -1) {
6415
- E += e66, T.scrollTop = E / this.scaleY, O = -1;
6416
+ let e66 = ((D < 0 ? this.viewState.heightMap.height : this.viewState.lineBlockAt(D).top) - O) / this.scaleY;
6417
+ if ((e66 > 1 || e66 < -1) && (T == this.scrollDOM || this.hasFocus || Math.max(this.inputState.lastWheelEvent, this.inputState.lastTouchTime) > Date.now() - 100)) {
6418
+ E += e66, T ? T.scrollTop += e66 : this.win.scrollBy(0, e66), O = -1;
6416
6419
  continue;
6417
6420
  }
6418
6421
  }
@@ -1,5 +1,5 @@
1
- import { B as tags, Et as EditorSelection, I as syntaxTree, J as parseMixed, O as indentNodeProp, Z as EditorView, n as ExternalTokenizer, r as LRParser, s as LRLanguage, u as LanguageSupport, v as delimitedIndent, w as foldNodeProp, z as styleTags } from "./dist-BuapEdlD.js";
2
- import { n as html } from "./dist-Ch_JuCvc.js";
1
+ import { B as tags, Et as EditorSelection, I as syntaxTree, J as parseMixed, O as indentNodeProp, Z as EditorView, n as ExternalTokenizer, r as LRParser, s as LRLanguage, u as LanguageSupport, v as delimitedIndent, w as foldNodeProp, z as styleTags } from "./dist-DOoqn-VL.js";
2
+ import { n as html } from "./dist-BpMlUdNO.js";
3
3
  var interpolationStart = 1, tagStart = 2, endTagStart = 3, text = 180, endrawTagStart = 4, rawText = 181, endcommentTagStart = 5, commentText = 182, InlineComment = 6;
4
4
  function wordChar(_) {
5
5
  return _ >= 65 && _ <= 90 || _ >= 97 && _ <= 122;
@@ -1,5 +1,5 @@
1
- import { B as tags, O as indentNodeProp, S as foldInside, h as continuedIndent, n as ExternalTokenizer, r as LRParser, s as LRLanguage, u as LanguageSupport, w as foldNodeProp, z as styleTags } from "./dist-BuapEdlD.js";
2
- import { i as defineCSSCompletionSource } from "./dist-BBcqvpvP.js";
1
+ import { B as tags, O as indentNodeProp, S as foldInside, h as continuedIndent, n as ExternalTokenizer, r as LRParser, s as LRLanguage, u as LanguageSupport, w as foldNodeProp, z as styleTags } from "./dist-DOoqn-VL.js";
2
+ import { i as defineCSSCompletionSource } from "./dist-Ux6dL_VB.js";
3
3
  var descendantOp = 110, Unit = 1, openArgList = 2, space = [
4
4
  9,
5
5
  10,
@@ -0,0 +1,6 @@
1
+ import "./dist-DOoqn-VL.js";
2
+ import "./dist-Ux6dL_VB.js";
3
+ import { n as sassCompletionSource, r as sassLanguage, t as sass } from "./dist-CAKwXCWI.js";
4
+ export {
5
+ sass
6
+ };
@@ -0,0 +1,5 @@
1
+ import "./dist-DOoqn-VL.js";
2
+ import { i as defineCSSCompletionSource, n as cssCompletionSource, r as cssLanguage, t as css } from "./dist-Ux6dL_VB.js";
3
+ export {
4
+ css
5
+ };
@@ -0,0 +1,5 @@
1
+ import "./dist-DOoqn-VL.js";
2
+ import { i as pythonLanguage, n as localCompletionSource, r as python, t as globalCompletion } from "./dist-C4K7pumm.js";
3
+ export {
4
+ python
5
+ };