@vertesia/ui 1.0.0 → 1.1.0-dev.20260427.060440Z

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 (293) hide show
  1. package/lib/esm/core/components/ComboBox.js +23 -24
  2. package/lib/esm/core/components/ComboBox.js.map +1 -1
  3. package/lib/esm/core/components/FormItem.js +2 -2
  4. package/lib/esm/core/components/FormItem.js.map +1 -1
  5. package/lib/esm/core/components/SidePanel.js +1 -1
  6. package/lib/esm/core/components/SidePanel.js.map +1 -1
  7. package/lib/esm/core/components/shadcn/collaspible.js +3 -4
  8. package/lib/esm/core/components/shadcn/collaspible.js.map +1 -1
  9. package/lib/esm/core/components/shadcn/dropdown.js +37 -12
  10. package/lib/esm/core/components/shadcn/dropdown.js.map +1 -1
  11. package/lib/esm/core/components/shadcn/filters/comboBox/DateCombobox.js +6 -6
  12. package/lib/esm/core/components/shadcn/filters/comboBox/DateCombobox.js.map +1 -1
  13. package/lib/esm/core/components/shadcn/filters/filterBar.js +5 -3
  14. package/lib/esm/core/components/shadcn/filters/filterBar.js.map +1 -1
  15. package/lib/esm/core/components/shadcn/radioGroup.js +1 -2
  16. package/lib/esm/core/components/shadcn/radioGroup.js.map +1 -1
  17. package/lib/esm/core/components/shadcn/switch.js +0 -1
  18. package/lib/esm/core/components/shadcn/switch.js.map +1 -1
  19. package/lib/esm/core/components/shadcn/tabs.js +2 -2
  20. package/lib/esm/core/components/shadcn/tabs.js.map +1 -1
  21. package/lib/esm/core/components/shadcn/tooltip.js +17 -1
  22. package/lib/esm/core/components/shadcn/tooltip.js.map +1 -1
  23. package/lib/esm/core/hooks/PortalContainerProvider.js +9 -3
  24. package/lib/esm/core/hooks/PortalContainerProvider.js.map +1 -1
  25. package/lib/esm/env/index.js +5 -8
  26. package/lib/esm/env/index.js.map +1 -1
  27. package/lib/esm/features/agent/chat/AgentRightPanel.js +21 -11
  28. package/lib/esm/features/agent/chat/AgentRightPanel.js.map +1 -1
  29. package/lib/esm/features/agent/chat/AskUserWidget.js +2 -6
  30. package/lib/esm/features/agent/chat/AskUserWidget.js.map +1 -1
  31. package/lib/esm/features/agent/chat/DocumentPanel.js +8 -5
  32. package/lib/esm/features/agent/chat/DocumentPanel.js.map +1 -1
  33. package/lib/esm/features/agent/chat/DocumentTabBar.js +5 -13
  34. package/lib/esm/features/agent/chat/DocumentTabBar.js.map +1 -1
  35. package/lib/esm/features/agent/chat/ModernAgentConversation.js +57 -26
  36. package/lib/esm/features/agent/chat/ModernAgentConversation.js.map +1 -1
  37. package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js +20 -16
  38. package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js.map +1 -1
  39. package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js +56 -45
  40. package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js.map +1 -1
  41. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js +1 -1
  42. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js.map +1 -1
  43. package/lib/esm/features/agent/chat/SlidingThinkingIndicator.js +3 -9
  44. package/lib/esm/features/agent/chat/SlidingThinkingIndicator.js.map +1 -1
  45. package/lib/esm/features/agent/chat/hooks/useAgentStream.js +9 -5
  46. package/lib/esm/features/agent/chat/hooks/useAgentStream.js.map +1 -1
  47. package/lib/esm/features/agent/chat/hooks/useDocumentPanel.js +4 -0
  48. package/lib/esm/features/agent/chat/hooks/useDocumentPanel.js.map +1 -1
  49. package/lib/esm/features/facets/AgentRunnerFacetsNav.js +1 -1
  50. package/lib/esm/features/facets/AgentRunnerFacetsNav.js.map +1 -1
  51. package/lib/esm/features/facets/DocumentsFacetsNav.js +3 -2
  52. package/lib/esm/features/facets/DocumentsFacetsNav.js.map +1 -1
  53. package/lib/esm/features/facets/RunsFacetsNav.js +8 -1
  54. package/lib/esm/features/facets/RunsFacetsNav.js.map +1 -1
  55. package/lib/esm/features/facets/WorkflowExecutionsFacetsNav.js +1 -1
  56. package/lib/esm/features/facets/WorkflowExecutionsFacetsNav.js.map +1 -1
  57. package/lib/esm/features/facets/index.js +1 -0
  58. package/lib/esm/features/facets/index.js.map +1 -1
  59. package/lib/esm/features/facets/utils/VInteractionFacet.js +5 -5
  60. package/lib/esm/features/facets/utils/VInteractionFacet.js.map +1 -1
  61. package/lib/esm/features/index.js +1 -0
  62. package/lib/esm/features/index.js.map +1 -1
  63. package/lib/esm/features/oauth/OAuthProviderConnectButton.js +85 -0
  64. package/lib/esm/features/oauth/OAuthProviderConnectButton.js.map +1 -0
  65. package/lib/esm/features/oauth/RemoteMcpConnectionButton.js +119 -0
  66. package/lib/esm/features/oauth/RemoteMcpConnectionButton.js.map +1 -0
  67. package/lib/esm/features/oauth/index.js +4 -0
  68. package/lib/esm/features/oauth/index.js.map +1 -0
  69. package/lib/esm/features/oauth/useOAuthPopup.js +89 -0
  70. package/lib/esm/features/oauth/useOAuthPopup.js.map +1 -0
  71. package/lib/esm/features/store/collections/BrowseCollectionView.js.map +1 -1
  72. package/lib/esm/features/store/collections/EditCollectionView.js +9 -2
  73. package/lib/esm/features/store/collections/EditCollectionView.js.map +1 -1
  74. package/lib/esm/features/store/objects/components/ContentOverview.js +19 -7
  75. package/lib/esm/features/store/objects/components/ContentOverview.js.map +1 -1
  76. package/lib/esm/features/store/objects/components/useContentPanelHooks.js +35 -15
  77. package/lib/esm/features/store/objects/components/useContentPanelHooks.js.map +1 -1
  78. package/lib/esm/features/store/objects/selection/ObjectsActionContext.js +3 -3
  79. package/lib/esm/features/store/objects/selection/ObjectsActionContext.js.map +1 -1
  80. package/lib/esm/features/store/objects/selection/SelectionActions.js +4 -3
  81. package/lib/esm/features/store/objects/selection/SelectionActions.js.map +1 -1
  82. package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js +11 -3
  83. package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js.map +1 -1
  84. package/lib/esm/features/store/objects/upload/DocumentUploadModal.js +1 -5
  85. package/lib/esm/features/store/objects/upload/DocumentUploadModal.js.map +1 -1
  86. package/lib/esm/features/user/UserInfo.js +33 -10
  87. package/lib/esm/features/user/UserInfo.js.map +1 -1
  88. package/lib/esm/i18n/locales/ar.json +81 -98
  89. package/lib/esm/i18n/locales/de.json +44 -73
  90. package/lib/esm/i18n/locales/en.json +31 -61
  91. package/lib/esm/i18n/locales/es.json +55 -79
  92. package/lib/esm/i18n/locales/fr.json +55 -81
  93. package/lib/esm/i18n/locales/it.json +55 -79
  94. package/lib/esm/i18n/locales/ja.json +46 -75
  95. package/lib/esm/i18n/locales/ko.json +44 -73
  96. package/lib/esm/i18n/locales/pt.json +55 -79
  97. package/lib/esm/i18n/locales/ru.json +58 -81
  98. package/lib/esm/i18n/locales/tr.json +46 -75
  99. package/lib/esm/i18n/locales/zh-TW.json +46 -75
  100. package/lib/esm/i18n/locales/zh.json +46 -75
  101. package/lib/esm/session/UserSession.js +2 -4
  102. package/lib/esm/session/UserSession.js.map +1 -1
  103. package/lib/esm/session/UserSessionProvider.js +22 -17
  104. package/lib/esm/session/UserSessionProvider.js.map +1 -1
  105. package/lib/esm/session/auth/composable.js +20 -2
  106. package/lib/esm/session/auth/composable.js.map +1 -1
  107. package/lib/esm/session/auth/domainRouting.js +7 -0
  108. package/lib/esm/session/auth/domainRouting.js.map +1 -0
  109. package/lib/esm/shell/login/InviteAcceptModal.js +1 -0
  110. package/lib/esm/shell/login/InviteAcceptModal.js.map +1 -1
  111. package/lib/esm/widgets/form/Form.js +2 -2
  112. package/lib/esm/widgets/form/Form.js.map +1 -1
  113. package/lib/esm/widgets/markdown/MarkdownRenderer.js +2 -1
  114. package/lib/esm/widgets/markdown/MarkdownRenderer.js.map +1 -1
  115. package/lib/esm/widgets/markdown/preprocessMathDelimiters.js +226 -0
  116. package/lib/esm/widgets/markdown/preprocessMathDelimiters.js.map +1 -0
  117. package/lib/esm/widgets/monacoEditor/MonacoEditor.js +40 -5
  118. package/lib/esm/widgets/monacoEditor/MonacoEditor.js.map +1 -1
  119. package/lib/esm/widgets/monacoEditor/foldingProviders.js +132 -0
  120. package/lib/esm/widgets/monacoEditor/foldingProviders.js.map +1 -0
  121. package/lib/tsconfig.tsbuildinfo +1 -1
  122. package/lib/types/core/components/ComboBox.d.ts +12 -2
  123. package/lib/types/core/components/ComboBox.d.ts.map +1 -1
  124. package/lib/types/core/components/FormItem.d.ts +5 -2
  125. package/lib/types/core/components/FormItem.d.ts.map +1 -1
  126. package/lib/types/core/components/SidePanel.d.ts.map +1 -1
  127. package/lib/types/core/components/shadcn/badge.d.ts +2 -2
  128. package/lib/types/core/components/shadcn/collaspible.d.ts +3 -3
  129. package/lib/types/core/components/shadcn/collaspible.d.ts.map +1 -1
  130. package/lib/types/core/components/shadcn/dropdown.d.ts +11 -3
  131. package/lib/types/core/components/shadcn/dropdown.d.ts.map +1 -1
  132. package/lib/types/core/components/shadcn/filters/filterBar.d.ts +2 -1
  133. package/lib/types/core/components/shadcn/filters/filterBar.d.ts.map +1 -1
  134. package/lib/types/core/components/shadcn/input.d.ts +1 -1
  135. package/lib/types/core/components/shadcn/radioGroup.d.ts.map +1 -1
  136. package/lib/types/core/components/shadcn/switch.d.ts.map +1 -1
  137. package/lib/types/core/components/shadcn/tabs.d.ts +4 -2
  138. package/lib/types/core/components/shadcn/tabs.d.ts.map +1 -1
  139. package/lib/types/core/components/shadcn/text.d.ts +1 -1
  140. package/lib/types/core/components/shadcn/tooltip.d.ts +1 -1
  141. package/lib/types/core/components/shadcn/tooltip.d.ts.map +1 -1
  142. package/lib/types/core/hooks/PortalContainerProvider.d.ts +1 -0
  143. package/lib/types/core/hooks/PortalContainerProvider.d.ts.map +1 -1
  144. package/lib/types/env/index.d.ts +2 -2
  145. package/lib/types/env/index.d.ts.map +1 -1
  146. package/lib/types/features/agent/chat/AgentChart.d.ts +1 -1
  147. package/lib/types/features/agent/chat/AgentChart.d.ts.map +1 -1
  148. package/lib/types/features/agent/chat/AgentRightPanel.d.ts +7 -2
  149. package/lib/types/features/agent/chat/AgentRightPanel.d.ts.map +1 -1
  150. package/lib/types/features/agent/chat/DocumentPanel.d.ts +2 -2
  151. package/lib/types/features/agent/chat/DocumentPanel.d.ts.map +1 -1
  152. package/lib/types/features/agent/chat/DocumentTabBar.d.ts +1 -2
  153. package/lib/types/features/agent/chat/DocumentTabBar.d.ts.map +1 -1
  154. package/lib/types/features/agent/chat/ModernAgentConversation.d.ts +5 -3
  155. package/lib/types/features/agent/chat/ModernAgentConversation.d.ts.map +1 -1
  156. package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts +4 -2
  157. package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts.map +1 -1
  158. package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts +4 -4
  159. package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts.map +1 -1
  160. package/lib/types/features/agent/chat/ModernAgentOutput/MessageItem.d.ts.map +1 -1
  161. package/lib/types/features/agent/chat/VegaLiteChart.d.ts +1 -1
  162. package/lib/types/features/agent/chat/VegaLiteChart.d.ts.map +1 -1
  163. package/lib/types/features/agent/chat/hooks/useAgentStream.d.ts +4 -2
  164. package/lib/types/features/agent/chat/hooks/useAgentStream.d.ts.map +1 -1
  165. package/lib/types/features/agent/chat/hooks/useDocumentPanel.d.ts +1 -0
  166. package/lib/types/features/agent/chat/hooks/useDocumentPanel.d.ts.map +1 -1
  167. package/lib/types/features/facets/DocumentsFacetsNav.d.ts.map +1 -1
  168. package/lib/types/features/facets/RunsFacetsNav.d.ts.map +1 -1
  169. package/lib/types/features/facets/index.d.ts +1 -0
  170. package/lib/types/features/facets/index.d.ts.map +1 -1
  171. package/lib/types/features/index.d.ts +1 -0
  172. package/lib/types/features/index.d.ts.map +1 -1
  173. package/lib/types/features/oauth/OAuthProviderConnectButton.d.ts +11 -0
  174. package/lib/types/features/oauth/OAuthProviderConnectButton.d.ts.map +1 -0
  175. package/lib/types/features/oauth/RemoteMcpConnectionButton.d.ts +25 -0
  176. package/lib/types/features/oauth/RemoteMcpConnectionButton.d.ts.map +1 -0
  177. package/lib/types/features/oauth/index.d.ts +4 -0
  178. package/lib/types/features/oauth/index.d.ts.map +1 -0
  179. package/lib/types/features/oauth/useOAuthPopup.d.ts +12 -0
  180. package/lib/types/features/oauth/useOAuthPopup.d.ts.map +1 -0
  181. package/lib/types/features/store/collections/BrowseCollectionView.d.ts.map +1 -1
  182. package/lib/types/features/store/collections/EditCollectionView.d.ts.map +1 -1
  183. package/lib/types/features/store/objects/components/useContentPanelHooks.d.ts.map +1 -1
  184. package/lib/types/features/store/objects/selection/ObjectsActionContext.d.ts +3 -3
  185. package/lib/types/features/store/objects/selection/ObjectsActionContext.d.ts.map +1 -1
  186. package/lib/types/features/store/objects/selection/ObjectsActionSpec.d.ts +2 -1
  187. package/lib/types/features/store/objects/selection/ObjectsActionSpec.d.ts.map +1 -1
  188. package/lib/types/features/store/objects/selection/SelectionActions.d.ts +3 -3
  189. package/lib/types/features/store/objects/selection/SelectionActions.d.ts.map +1 -1
  190. package/lib/types/features/store/objects/selection/actions/ExportPropertiesAction.d.ts.map +1 -1
  191. package/lib/types/features/user/UserInfo.d.ts +2 -1
  192. package/lib/types/features/user/UserInfo.d.ts.map +1 -1
  193. package/lib/types/session/UserSession.d.ts.map +1 -1
  194. package/lib/types/session/UserSessionProvider.d.ts +0 -1
  195. package/lib/types/session/UserSessionProvider.d.ts.map +1 -1
  196. package/lib/types/session/auth/composable.d.ts +4 -0
  197. package/lib/types/session/auth/composable.d.ts.map +1 -1
  198. package/lib/types/session/auth/domainRouting.d.ts +8 -0
  199. package/lib/types/session/auth/domainRouting.d.ts.map +1 -0
  200. package/lib/types/shell/login/InviteAcceptModal.d.ts.map +1 -1
  201. package/lib/types/widgets/markdown/MarkdownRenderer.d.ts.map +1 -1
  202. package/lib/types/widgets/markdown/preprocessMathDelimiters.d.ts +24 -0
  203. package/lib/types/widgets/markdown/preprocessMathDelimiters.d.ts.map +1 -0
  204. package/lib/types/widgets/monacoEditor/MonacoEditor.d.ts +2 -1
  205. package/lib/types/widgets/monacoEditor/MonacoEditor.d.ts.map +1 -1
  206. package/lib/types/widgets/monacoEditor/foldingProviders.d.ts +2 -0
  207. package/lib/types/widgets/monacoEditor/foldingProviders.d.ts.map +1 -0
  208. package/lib/vertesia-ui-core.js +1 -1
  209. package/lib/vertesia-ui-core.js.map +1 -1
  210. package/lib/vertesia-ui-env.js +1 -1
  211. package/lib/vertesia-ui-env.js.map +1 -1
  212. package/lib/vertesia-ui-features.js +1 -1
  213. package/lib/vertesia-ui-features.js.map +1 -1
  214. package/lib/vertesia-ui-i18n.js +1 -1
  215. package/lib/vertesia-ui-i18n.js.map +1 -1
  216. package/lib/vertesia-ui-layout.js +1 -1
  217. package/lib/vertesia-ui-layout.js.map +1 -1
  218. package/lib/vertesia-ui-session.js +1 -1
  219. package/lib/vertesia-ui-session.js.map +1 -1
  220. package/lib/vertesia-ui-shell.js +1 -1
  221. package/lib/vertesia-ui-shell.js.map +1 -1
  222. package/lib/vertesia-ui-widgets.js +1 -1
  223. package/lib/vertesia-ui-widgets.js.map +1 -1
  224. package/package.json +15 -15
  225. package/src/core/components/ComboBox.tsx +66 -29
  226. package/src/core/components/FormItem.tsx +9 -6
  227. package/src/core/components/SidePanel.tsx +5 -3
  228. package/src/core/components/shadcn/collaspible.tsx +5 -7
  229. package/src/core/components/shadcn/dropdown.tsx +68 -13
  230. package/src/core/components/shadcn/filters/comboBox/DateCombobox.tsx +6 -6
  231. package/src/core/components/shadcn/filters/filterBar.tsx +5 -3
  232. package/src/core/components/shadcn/radioGroup.tsx +1 -3
  233. package/src/core/components/shadcn/switch.tsx +0 -2
  234. package/src/core/components/shadcn/tabs.tsx +15 -2
  235. package/src/core/components/shadcn/tooltip.tsx +20 -3
  236. package/src/core/hooks/PortalContainerProvider.tsx +11 -3
  237. package/src/env/index.ts +7 -10
  238. package/src/features/agent/chat/AgentRightPanel.tsx +43 -23
  239. package/src/features/agent/chat/DocumentPanel.tsx +21 -19
  240. package/src/features/agent/chat/DocumentTabBar.tsx +21 -32
  241. package/src/features/agent/chat/ModernAgentConversation.tsx +72 -27
  242. package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.tsx +21 -9
  243. package/src/features/agent/chat/ModernAgentOutput/Header.tsx +136 -115
  244. package/src/features/agent/chat/ModernAgentOutput/MessageItem.tsx +0 -3
  245. package/src/features/agent/chat/hooks/useAgentStream.ts +13 -7
  246. package/src/features/agent/chat/hooks/useDocumentPanel.ts +8 -0
  247. package/src/features/facets/AgentRunnerFacetsNav.tsx +1 -1
  248. package/src/features/facets/DocumentsFacetsNav.tsx +3 -1
  249. package/src/features/facets/RunsFacetsNav.tsx +9 -1
  250. package/src/features/facets/WorkflowExecutionsFacetsNav.tsx +1 -1
  251. package/src/features/facets/index.ts +1 -0
  252. package/src/features/facets/utils/VInteractionFacet.tsx +12 -12
  253. package/src/features/index.ts +1 -0
  254. package/src/features/oauth/OAuthProviderConnectButton.tsx +125 -0
  255. package/src/features/oauth/RemoteMcpConnectionButton.tsx +274 -0
  256. package/src/features/oauth/index.ts +3 -0
  257. package/src/features/oauth/useOAuthPopup.ts +125 -0
  258. package/src/features/store/collections/BrowseCollectionView.tsx +3 -3
  259. package/src/features/store/collections/EditCollectionView.tsx +10 -1
  260. package/src/features/store/objects/components/ContentOverview.tsx +108 -87
  261. package/src/features/store/objects/components/useContentPanelHooks.ts +50 -15
  262. package/src/features/store/objects/selection/ObjectsActionContext.tsx +5 -5
  263. package/src/features/store/objects/selection/ObjectsActionSpec.ts +2 -1
  264. package/src/features/store/objects/selection/SelectionActions.tsx +6 -5
  265. package/src/features/store/objects/selection/actions/ExportPropertiesAction.tsx +12 -3
  266. package/src/features/user/UserInfo.tsx +82 -10
  267. package/src/i18n/locales/ar.json +81 -98
  268. package/src/i18n/locales/de.json +44 -73
  269. package/src/i18n/locales/en.json +31 -61
  270. package/src/i18n/locales/es.json +55 -79
  271. package/src/i18n/locales/fr.json +55 -81
  272. package/src/i18n/locales/it.json +55 -79
  273. package/src/i18n/locales/ja.json +46 -75
  274. package/src/i18n/locales/ko.json +44 -73
  275. package/src/i18n/locales/pt.json +55 -79
  276. package/src/i18n/locales/ru.json +58 -81
  277. package/src/i18n/locales/tr.json +46 -75
  278. package/src/i18n/locales/zh-TW.json +46 -75
  279. package/src/i18n/locales/zh.json +46 -75
  280. package/src/session/UserSession.ts +2 -5
  281. package/src/session/UserSessionProvider.tsx +23 -18
  282. package/src/session/auth/auth-flow.md +1 -1
  283. package/src/session/auth/composable.ts +21 -2
  284. package/src/session/auth/domainRouting.test.ts +26 -0
  285. package/src/session/auth/domainRouting.ts +13 -0
  286. package/src/shell/login/InviteAcceptModal.tsx +1 -0
  287. package/src/widgets/form/Form.tsx +2 -2
  288. package/src/widgets/markdown/MarkdownRenderer.tsx +2 -1
  289. package/src/widgets/markdown/markdown.css +12 -0
  290. package/src/widgets/markdown/preprocessMathDelimiters.test.ts +87 -0
  291. package/src/widgets/markdown/preprocessMathDelimiters.ts +229 -0
  292. package/src/widgets/monacoEditor/MonacoEditor.tsx +47 -4
  293. package/src/widgets/monacoEditor/foldingProviders.ts +122 -0
@@ -1 +1 @@
1
- {"version":3,"file":"InviteAcceptModal.js","sourceRoot":"","sources":["../../../../src/shell/login/InviteAcceptModal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InviteAcceptModal.js","sourceRoot":"","sources":["../../../../src/shell/login/InviteAcceptModal.tsx"],"names":[],"mappings":"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"}
@@ -92,9 +92,9 @@ function ListField({ object }) {
92
92
  };
93
93
  return (_jsxs("div", { className: "flex flex-col gap-4 my-4 py-2 pl-4 border-l-4 border-l-solid border-l-slate-100 darK:border-l-slate-600", children: [!object.isListItem && _jsx("div", { className: 'text-gray-900 dark:text-gray-200 font-semibold', children: object.title }), object.items.map((item, index) => {
94
94
  return _jsx(ListItem, { object: item, list: object, onDelete: () => deleteItem(index), disabled: disabled }, `${index}-${value[index] ?? ''}`);
95
- }), _jsx("div", { children: _jsxs(Button, { variant: 'secondary', onClick: addItem, disabled: disabled, children: [_jsx(Plus, { className: "size-6" }), " Add"] }) })] }));
95
+ }), _jsx("div", { children: _jsxs(Button, { variant: 'outline', onClick: addItem, disabled: disabled, children: [_jsx(Plus, { className: "size-6" }), " Add"] }) })] }));
96
96
  }
97
97
  function ListItem({ list, object, onDelete, disabled }) {
98
- return (_jsxs("div", { className: 'flex gap-2 w-full', children: [_jsx("div", { className: "flex-1", children: renderItemProperty(object, list.schema.arraySchema.editor) }), _jsx(Button, { variant: 'secondary', onClick: onDelete, disabled: disabled, children: _jsx(Trash2, { className: 'size-4' }) })] }));
98
+ return (_jsxs("div", { className: 'flex gap-2 w-full', children: [_jsx("div", { className: "flex-1", children: renderItemProperty(object, list.schema.arraySchema.editor) }), _jsx(Button, { variant: 'ghost', onClick: onDelete, disabled: disabled, alt: "Delete", children: _jsx(Trash2, { className: 'size-4 text-destructive' }) })] }));
99
99
  }
100
100
  //# sourceMappingURL=Form.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Form.js","sourceRoot":"","sources":["../../../../src/widgets/form/Form.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Form.js","sourceRoot":"","sources":["../../../../src/widgets/form/Form.tsx"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ import { SKIP, visit } from 'unist-util-visit';
12
12
  import { CodeBlockHandlerProvider } from './CodeBlockContext';
13
13
  import { createDefaultCodeBlockHandlers, ExpandCodeBlockHandler, isExpandLanguage, } from './codeBlockHandlers';
14
14
  import { useCodeBlockRendererRegistry } from './CodeBlockRendering';
15
+ import { preprocessMathDelimiters } from './preprocessMathDelimiters';
15
16
  import { MarkdownFigure } from './MarkdownFigure';
16
17
  import { MarkdownImage } from './MarkdownImage';
17
18
  import { MarkdownLink } from './MarkdownLink';
@@ -56,7 +57,7 @@ function remarkRemoveComments() {
56
57
  const defaultCodeBlockHandlers = createDefaultCodeBlockHandlers();
57
58
  export function MarkdownRenderer({ children, components, remarkPlugins = [], removeComments = true, artifactRunId, className, codeClassName, inlineCodeClassName, linkClassName, imageClassName, onProposalSelect, onProposalSubmit, }) {
58
59
  const codeBlockRegistry = useCodeBlockRendererRegistry();
59
- const normalizedMarkdown = React.useMemo(() => normalizeDirectives(normalizeCustomSchemeLinks(children)), [children]);
60
+ const normalizedMarkdown = React.useMemo(() => normalizeDirectives(normalizeCustomSchemeLinks(preprocessMathDelimiters(children))), [children]);
60
61
  // Remark plugins (markdown parsing)
61
62
  // Order matters: GFM first, then directive (must precede handler),
62
63
  // then definition-list/supersub, then math, then user plugins.
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownRenderer.js","sourceRoot":"","sources":["../../../../src/widgets/markdown/MarkdownRenderer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MarkdownRenderer.js","sourceRoot":"","sources":["../../../../src/widgets/markdown/MarkdownRenderer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,226 @@
1
+ /**
2
+ * Markdown math delimiter preprocessor.
3
+ *
4
+ * Disambiguates `$` characters in markdown so that remark-math correctly
5
+ * distinguishes LaTeX math (`$x = \frac{1}{2}$`) from currency (`$2,847,500`).
6
+ *
7
+ * Uses a three-pass priority algorithm over `$` positions:
8
+ * 1. Commit pairs matching LaTeX patterns (highest priority)
9
+ * 2. Pair remaining positions; escape currency patterns
10
+ * 3. Escape lone `$` adjacent to committed LaTeX pairs
11
+ *
12
+ * Also normalizes `\$` inside LaTeX spans into a KaTeX-compatible form,
13
+ * since remark-math does not treat `\$` as escaped within math delimiters.
14
+ *
15
+ * No-ops on input without `$`. Skips fenced code blocks and inline code spans.
16
+ */
17
+ const FENCED_CODE_BLOCK_REGEX = /(^|\n)(`{3,}|~{3,})[^\n]*\n[\s\S]*?\n\2(?=\n|$)/g; // ```...``` or ~~~...~~~
18
+ const INLINE_CODE_REGEX = /`[^`\n]*`/g; // `...`
19
+ const ESCAPED_DOLLAR_REGEX = /\\\$/g; // \$ inside LaTeX spans
20
+ // LaTeX positive signals
21
+ const RE_BACKSLASH_CMD = /\\[^\s]/; // \command or \symbol (\frac, \%, \$, etc.)
22
+ const RE_BRACE_GROUP = /[{}]/; // brace groups
23
+ const RE_SUB_SUPERSCRIPT = /[_^][\w{]/; // sub/superscript
24
+ const RE_SINGLE_LETTER = /^[a-zA-Z]$/; // single letter variable ($r$, $x$, $t$)
25
+ const RE_VAR_ASSIGNMENT = /^[a-zA-Z]\s*=/; // variable assignment ($r = 0.235$, $n = 4$)
26
+ // LaTeX negative signals
27
+ const RE_LEADING_SPACE = /^\s/; // space after opening $
28
+ const RE_TRAILING_SPACE = /\s$/; // space before closing $
29
+ const RE_TRAILING_OPERATOR = /[+*/-]$/; // ends with bare operator
30
+ const RE_ION_NOTATION = /\^[+-]$/; // except ^+ or ^- (ion notation)
31
+ /**
32
+ * Returns true if content between `$...$` contains LaTeX structural patterns.
33
+ */
34
+ function hasLatexPattern(content) {
35
+ return RE_BACKSLASH_CMD.test(content)
36
+ || RE_BRACE_GROUP.test(content)
37
+ || RE_SUB_SUPERSCRIPT.test(content)
38
+ || RE_SINGLE_LETTER.test(content)
39
+ || RE_VAR_ASSIGNMENT.test(content);
40
+ }
41
+ /**
42
+ * Returns true if content between `$...$` has structural tells of currency dollar signs.
43
+ */
44
+ function hasCurrencyPattern(content) {
45
+ if (RE_LEADING_SPACE.test(content))
46
+ return true;
47
+ if (RE_TRAILING_SPACE.test(content))
48
+ return true;
49
+ if (RE_TRAILING_OPERATOR.test(content) && !RE_ION_NOTATION.test(content))
50
+ return true;
51
+ return false;
52
+ }
53
+ /**
54
+ * Find all single-$ positions in text (skipping \$ and $$).
55
+ */
56
+ function findSingleDollarPositions(text) {
57
+ const positions = [];
58
+ for (let i = 0; i < text.length; i++) {
59
+ if (text[i] !== "$")
60
+ continue;
61
+ if (i > 0 && text[i - 1] === "\\")
62
+ continue; // skip \$
63
+ if (i + 1 < text.length && text[i + 1] === "$") {
64
+ i++;
65
+ continue;
66
+ } // skip $$ (first)
67
+ if (i > 0 && text[i - 1] === "$" && (i < 2 || text[i - 2] !== "\\"))
68
+ continue; // skip $$ (second)
69
+ positions.push(i);
70
+ }
71
+ return positions;
72
+ }
73
+ /**
74
+ * Extract content between two $ positions. Returns null if the span is
75
+ * empty or crosses a line boundary (invalid for inline math).
76
+ */
77
+ function inlineMathContent(text, openPos, closePos) {
78
+ const content = text.slice(openPos + 1, closePos);
79
+ if (content.length === 0 || content.includes("\n"))
80
+ return null;
81
+ return content;
82
+ }
83
+ /**
84
+ * Classify `$` positions in a text segment, escape currency dollar signs,
85
+ * and normalize `\$` inside LaTeX spans for remark-math compatibility.
86
+ */
87
+ function processTextSegment(text) {
88
+ const positions = findSingleDollarPositions(text);
89
+ if (positions.length < 2)
90
+ return text;
91
+ const committed = new Set(); // position indices that are paired
92
+ const toEscape = new Set(); // character offsets in text to escape
93
+ // Pre-compute content for each adjacent pair (avoids redundant slicing in Pass 1 & 2)
94
+ const adjacentContent = new Array(positions.length - 1);
95
+ for (let i = 0; i < positions.length - 1; i++) {
96
+ adjacentContent[i] = inlineMathContent(text, positions[i], positions[i + 1]);
97
+ }
98
+ // Pass 1: commit definitely-LaTeX adjacent pairs and record their char boundaries
99
+ const latexSpans = [];
100
+ for (let i = 0; i < positions.length - 1; i++) {
101
+ if (committed.has(i))
102
+ continue;
103
+ const content = adjacentContent[i];
104
+ if (content !== null && hasLatexPattern(content)) {
105
+ committed.add(i);
106
+ committed.add(i + 1);
107
+ latexSpans.push([positions[i], positions[i + 1]]);
108
+ }
109
+ }
110
+ // Pass 2: pair remaining positions left-to-right
111
+ let idx = 0;
112
+ while (idx < positions.length) {
113
+ if (committed.has(idx)) {
114
+ idx++;
115
+ continue;
116
+ }
117
+ // Find next uncommitted position
118
+ let next = idx + 1;
119
+ while (next < positions.length && committed.has(next))
120
+ next++;
121
+ if (next >= positions.length)
122
+ break;
123
+ // If committed positions sit between idx and next, remark-math would
124
+ // pair positions[idx] with the first committed $, breaking LaTeX.
125
+ if (next > idx + 1) {
126
+ toEscape.add(positions[idx]);
127
+ idx++;
128
+ continue;
129
+ }
130
+ // next === idx + 1, so we can reuse the pre-computed content
131
+ const content = adjacentContent[idx];
132
+ if (content === null) {
133
+ // Cross-line pair: remark-math processes per-paragraph, so these
134
+ // can't actually pair. Don't consume either position.
135
+ idx++;
136
+ continue;
137
+ }
138
+ if (hasCurrencyPattern(content)) {
139
+ toEscape.add(positions[idx]);
140
+ toEscape.add(positions[next]);
141
+ }
142
+ committed.add(idx);
143
+ committed.add(next);
144
+ idx = next + 1;
145
+ }
146
+ // Pass 3: escape lone $ adjacent to committed LaTeX pairs
147
+ for (let i = 0; i < positions.length; i++) {
148
+ if (committed.has(i))
149
+ continue;
150
+ if (i + 1 < positions.length && committed.has(i + 1)) {
151
+ toEscape.add(positions[i]);
152
+ }
153
+ }
154
+ if (toEscape.size === 0 && latexSpans.length === 0)
155
+ return text;
156
+ // Build result: escape false-positive $ and replace \$ inside LaTeX spans
157
+ const parts = [];
158
+ let segStart = 0;
159
+ const escapePositions = Array.from(toEscape).sort((a, b) => a - b);
160
+ let escIdx = 0;
161
+ let spanIdx = 0;
162
+ while (escIdx < escapePositions.length || spanIdx < latexSpans.length) {
163
+ const escPos = escIdx < escapePositions.length ? escapePositions[escIdx] : Infinity;
164
+ const spanOpen = spanIdx < latexSpans.length ? latexSpans[spanIdx][0] : Infinity;
165
+ if (escPos < spanOpen) {
166
+ if (escPos > segStart)
167
+ parts.push(text.slice(segStart, escPos));
168
+ parts.push("\\$");
169
+ segStart = escPos + 1;
170
+ escIdx++;
171
+ }
172
+ else {
173
+ const [open, close] = latexSpans[spanIdx];
174
+ if (open > segStart)
175
+ parts.push(text.slice(segStart, open));
176
+ const spanContent = text.slice(open, close + 1);
177
+ parts.push(spanContent.replace(ESCAPED_DOLLAR_REGEX, "\\text{\\textdollar}"));
178
+ segStart = close + 1;
179
+ while (escIdx < escapePositions.length && escapePositions[escIdx] <= close)
180
+ escIdx++;
181
+ spanIdx++;
182
+ }
183
+ }
184
+ if (segStart < text.length)
185
+ parts.push(text.slice(segStart));
186
+ return parts.join("");
187
+ }
188
+ /**
189
+ * Process text segments outside inline code spans.
190
+ */
191
+ function processSkippingInlineCode(text) {
192
+ const parts = [];
193
+ let lastIndex = 0;
194
+ let match;
195
+ INLINE_CODE_REGEX.lastIndex = 0;
196
+ while ((match = INLINE_CODE_REGEX.exec(text)) !== null) {
197
+ parts.push(processTextSegment(text.slice(lastIndex, match.index)));
198
+ parts.push(match[0]);
199
+ lastIndex = match.index + match[0].length;
200
+ }
201
+ parts.push(processTextSegment(text.slice(lastIndex)));
202
+ return parts.join("");
203
+ }
204
+ /**
205
+ * Preprocess markdown to disambiguate `$` math delimiters from currency signs.
206
+ *
207
+ * Classification priority: LaTeX (preserve) > currency (escape) > uncertain (preserve).
208
+ * Skips fenced code blocks and inline code spans.
209
+ */
210
+ export function preprocessMathDelimiters(markdown) {
211
+ if (!markdown || !markdown.includes("$")) {
212
+ return markdown;
213
+ }
214
+ const parts = [];
215
+ let lastIndex = 0;
216
+ let match;
217
+ FENCED_CODE_BLOCK_REGEX.lastIndex = 0;
218
+ while ((match = FENCED_CODE_BLOCK_REGEX.exec(markdown)) !== null) {
219
+ parts.push(processSkippingInlineCode(markdown.slice(lastIndex, match.index)));
220
+ parts.push(match[0]);
221
+ lastIndex = match.index + match[0].length;
222
+ }
223
+ parts.push(processSkippingInlineCode(markdown.slice(lastIndex)));
224
+ return parts.join("");
225
+ }
226
+ //# sourceMappingURL=preprocessMathDelimiters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preprocessMathDelimiters.js","sourceRoot":"","sources":["../../../../src/widgets/markdown/preprocessMathDelimiters.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { useTheme } from '@vertesia/ui/core';
4
4
  import debounce from 'debounce';
5
5
  import clsx from 'clsx';
6
6
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
7
+ import { registerCustomFoldingProviders } from './foldingProviders.js';
7
8
  export class VEditorApi {
8
9
  VgetValue;
9
10
  VsetValue;
@@ -18,10 +19,14 @@ export class VEditorApi {
18
19
  this.VsetValue(value || '');
19
20
  }
20
21
  }
21
- export function MonacoEditor({ onChange, value, className, editorRef, language = 'javascript', debounceTimeout = 0, options = {}, beforeMount, onMount, defaultValue, }) {
22
+ export function MonacoEditor({ onChange, value, className, editorRef, language = 'javascript', debounceTimeout = 0, options = {}, beforeMount, onMount, defaultValue, useCustomFolding = false, }) {
22
23
  const [editorValue, setEditorValue] = useState(value || defaultValue || '');
23
24
  const editorInstanceRef = useRef(null);
25
+ const monacoInstanceRef = useRef(null);
24
26
  const { theme } = useTheme();
27
+ const resolvedTheme = theme === 'system'
28
+ ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light')
29
+ : theme;
25
30
  const getValueRef = useRef(() => editorValue);
26
31
  const setValueRef = useRef((newValue) => {
27
32
  setEditorValue(newValue);
@@ -52,6 +57,19 @@ export function MonacoEditor({ onChange, value, className, editorRef, language =
52
57
  return onChange;
53
58
  }
54
59
  }, [onChange, debounceTimeout]);
60
+ const foldAllCodeBlocks = useCallback(async (editor, monacoInstance) => {
61
+ const model = editor.getModel();
62
+ if (!model)
63
+ return;
64
+ const codeBlockRegExp = /```[\s\S]*?```/g;
65
+ let match;
66
+ while ((match = codeBlockRegExp.exec(model.getValue())) !== null) {
67
+ const startLine = model.getPositionAt(match.index).lineNumber;
68
+ const endLine = model.getPositionAt(match.index + match[0].length).lineNumber;
69
+ editor.setSelection(new monacoInstance.Selection(startLine, 1, endLine, 1));
70
+ await editor.getAction('editor.createFoldingRangeFromSelection')?.run();
71
+ }
72
+ }, []);
55
73
  const handleEditorChange = useCallback((newValue) => {
56
74
  const actualValue = newValue || '';
57
75
  setEditorValue(actualValue);
@@ -71,6 +89,10 @@ export function MonacoEditor({ onChange, value, className, editorRef, language =
71
89
  }, [debouncedOnChange]);
72
90
  const handleEditorDidMount = useCallback((editor, monacoInstance) => {
73
91
  editorInstanceRef.current = editor;
92
+ monacoInstanceRef.current = monacoInstance;
93
+ if (useCustomFolding) {
94
+ registerCustomFoldingProviders(monacoInstance);
95
+ }
74
96
  // Update the setValue ref to use the actual editor instance
75
97
  setValueRef.current = (newValue) => {
76
98
  setEditorValue(newValue);
@@ -78,7 +100,7 @@ export function MonacoEditor({ onChange, value, className, editorRef, language =
78
100
  };
79
101
  // Set up custom theme for better error line highlighting
80
102
  monacoInstance.editor.defineTheme('errorLineTheme', {
81
- base: theme === 'dark' ? 'vs-dark' : 'vs',
103
+ base: resolvedTheme === 'dark' ? 'vs-dark' : 'vs',
82
104
  inherit: true,
83
105
  rules: [],
84
106
  colors: {
@@ -87,9 +109,12 @@ export function MonacoEditor({ onChange, value, className, editorRef, language =
87
109
  },
88
110
  });
89
111
  monacoInstance.editor.setTheme('errorLineTheme');
112
+ if (useCustomFolding) {
113
+ setTimeout(() => foldAllCodeBlocks(editor, monacoInstance), 300);
114
+ }
90
115
  // Call custom onMount if provided
91
116
  onMount?.(editor, monacoInstance);
92
- }, [onMount, theme]);
117
+ }, [onMount, resolvedTheme, useCustomFolding, foldAllCodeBlocks]);
93
118
  // Update editor value when prop changes from outside
94
119
  useEffect(() => {
95
120
  const effectiveValue = value || defaultValue || '';
@@ -100,6 +125,15 @@ export function MonacoEditor({ onChange, value, className, editorRef, language =
100
125
  }
101
126
  }
102
127
  }, [value]); // Only depend on value prop, not editorValue
128
+ // Re-fold code blocks when value prop changes externally
129
+ useEffect(() => {
130
+ if (!useCustomFolding || !editorInstanceRef.current || !monacoInstanceRef.current)
131
+ return;
132
+ const editor = editorInstanceRef.current;
133
+ const monacoInstance = monacoInstanceRef.current;
134
+ const timer = setTimeout(() => foldAllCodeBlocks(editor, monacoInstance), 300);
135
+ return () => clearTimeout(timer);
136
+ }, [value, useCustomFolding, foldAllCodeBlocks]);
103
137
  const defaultOptions = {
104
138
  fontSize: 14,
105
139
  fontFamily: 'monospace',
@@ -107,7 +141,7 @@ export function MonacoEditor({ onChange, value, className, editorRef, language =
107
141
  scrollBeyondLastLine: false,
108
142
  wordWrap: 'on',
109
143
  lineNumbers: 'on',
110
- folding: false,
144
+ folding: true,
111
145
  lineDecorationsWidth: 10,
112
146
  lineNumbersMinChars: 3,
113
147
  automaticLayout: true,
@@ -115,6 +149,7 @@ export function MonacoEditor({ onChange, value, className, editorRef, language =
115
149
  formatOnType: true,
116
150
  tabSize: 2,
117
151
  insertSpaces: true,
152
+ fixedOverflowWidgets: true, // Hover/diagnostic popovers float outside the editor bounds
118
153
  glyphMargin: true, // Enable better error reporting
119
154
  renderValidationDecorations: 'on', // Show error squiggles
120
155
  renderLineHighlight: 'line', // Highlight entire line for errors
@@ -129,6 +164,6 @@ export function MonacoEditor({ onChange, value, className, editorRef, language =
129
164
  }, // Show problems panel information
130
165
  ...options
131
166
  };
132
- return (_jsx("div", { className: clsx(className, 'w-full h-full!'), children: _jsx(Editor, { className: "h-full w-full", height: "100%", theme: theme === 'dark' ? 'vs-dark' : 'light', language: language, value: editorValue, onChange: handleEditorChange, onMount: handleEditorDidMount, beforeMount: beforeMount, options: defaultOptions, defaultValue: defaultValue || '' }) }));
167
+ return (_jsx("div", { className: clsx(className, 'w-full h-full!'), children: _jsx(Editor, { className: "h-full w-full", height: "100%", theme: resolvedTheme === 'dark' ? 'vs-dark' : 'light', language: language, value: editorValue, onChange: handleEditorChange, onMount: handleEditorDidMount, beforeMount: beforeMount, options: defaultOptions, defaultValue: defaultValue || '' }) }));
133
168
  }
134
169
  //# sourceMappingURL=MonacoEditor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MonacoEditor.js","sourceRoot":"","sources":["../../../../src/widgets/monacoEditor/MonacoEditor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MonacoEditor.js","sourceRoot":"","sources":["../../../../src/widgets/monacoEditor/MonacoEditor.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,132 @@
1
+ const foldingProvidersRegistered = new Set();
2
+ export function registerCustomFoldingProviders(monacoInstance) {
3
+ // Markdown: fold by heading hierarchy (## sections)
4
+ if (!foldingProvidersRegistered.has('markdown')) {
5
+ foldingProvidersRegistered.add('markdown');
6
+ monacoInstance.languages.registerFoldingRangeProvider('markdown', {
7
+ provideFoldingRanges(model) {
8
+ const ranges = [];
9
+ const lines = model.getLinesContent();
10
+ const headingPattern = /^(#{1,6})\s/;
11
+ const stack = [];
12
+ for (let i = 0; i < lines.length; i++) {
13
+ const lineNumber = i + 1;
14
+ const match = headingPattern.exec(lines[i]);
15
+ if (match) {
16
+ const level = match[1].length;
17
+ while (stack.length > 0 && stack[stack.length - 1].level >= level) {
18
+ const top = stack.pop();
19
+ if (lineNumber - 1 > top.line) {
20
+ ranges.push({ start: top.line, end: lineNumber - 1 });
21
+ }
22
+ }
23
+ stack.push({ level, line: lineNumber });
24
+ }
25
+ }
26
+ const lastLine = lines.length;
27
+ while (stack.length > 0) {
28
+ const top = stack.pop();
29
+ if (lastLine > top.line) {
30
+ ranges.push({ start: top.line, end: lastLine });
31
+ }
32
+ }
33
+ return ranges;
34
+ },
35
+ });
36
+ }
37
+ // JS/TS: brace folding (if/else, functions) takes priority, followed by
38
+ // markdown heading folding inside template literals. Brace ranges are
39
+ // returned first so Monaco resolves conflicts in their favour.
40
+ // Using registerFoldingRangeProvider (not createFoldingRangeFromSelection)
41
+ // so both live in the same range set and Monaco's overlap resolution is
42
+ // consistent — headings are always bounded by their template literal close.
43
+ for (const lang of ['javascript', 'typescript']) {
44
+ if (!foldingProvidersRegistered.has(lang)) {
45
+ foldingProvidersRegistered.add(lang);
46
+ monacoInstance.languages.registerFoldingRangeProvider(lang, {
47
+ provideFoldingRanges(model) {
48
+ const lines = model.getLinesContent();
49
+ const headingPattern = /^(#{1,6})\s/;
50
+ const braceRanges = [];
51
+ const headingRanges = [];
52
+ const braceStack = [];
53
+ const headingStack = [];
54
+ let inTemplate = false;
55
+ let inString = false;
56
+ let stringChar = '';
57
+ for (let i = 0; i < lines.length; i++) {
58
+ const lineNumber = i + 1;
59
+ const line = lines[i];
60
+ const lineStartedInTemplate = inTemplate;
61
+ for (let j = 0; j < line.length; j++) {
62
+ const ch = line[j];
63
+ if (ch === '\\') {
64
+ j++;
65
+ continue;
66
+ }
67
+ if (inString) {
68
+ if (ch === stringChar)
69
+ inString = false;
70
+ continue;
71
+ }
72
+ if (inTemplate) {
73
+ if (ch === '`')
74
+ inTemplate = false;
75
+ continue;
76
+ }
77
+ if (ch === '`') {
78
+ inTemplate = true;
79
+ continue;
80
+ }
81
+ if (ch === '"' || ch === "'") {
82
+ inString = true;
83
+ stringChar = ch;
84
+ continue;
85
+ }
86
+ // Brace folding — only outside strings/templates
87
+ if (ch === '{') {
88
+ braceStack.push(lineNumber);
89
+ }
90
+ if (ch === '}' && braceStack.length > 0) {
91
+ const start = braceStack.pop();
92
+ // If there is non-whitespace content after `}` on this line
93
+ // (e.g. "} else {"), end the fold at the previous line so
94
+ // the continuation is not hidden inside the fold.
95
+ const restOfLine = line.slice(j + 1).trimStart();
96
+ const endLine = restOfLine.length > 0 ? lineNumber - 1 : lineNumber;
97
+ if (endLine > start)
98
+ braceRanges.push({ start, end: endLine });
99
+ }
100
+ }
101
+ // Markdown heading folding — only inside template literals
102
+ if (lineStartedInTemplate) {
103
+ const match = headingPattern.exec(line);
104
+ if (match) {
105
+ const level = match[1].length;
106
+ while (headingStack.length > 0 && headingStack[headingStack.length - 1].level >= level) {
107
+ const top = headingStack.pop();
108
+ if (lineNumber - 1 > top.line) {
109
+ headingRanges.push({ start: top.line, end: lineNumber - 1 });
110
+ }
111
+ }
112
+ headingStack.push({ level, line: lineNumber });
113
+ }
114
+ // Template just closed — seal all open heading sections here
115
+ if (!inTemplate) {
116
+ while (headingStack.length > 0) {
117
+ const top = headingStack.pop();
118
+ if (lineNumber > top.line) {
119
+ headingRanges.push({ start: top.line, end: lineNumber });
120
+ }
121
+ }
122
+ }
123
+ }
124
+ }
125
+ // Brace ranges first → Monaco resolves conflicts in their favour
126
+ return [...braceRanges, ...headingRanges];
127
+ },
128
+ });
129
+ }
130
+ }
131
+ }
132
+ //# sourceMappingURL=foldingProviders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"foldingProviders.js","sourceRoot":"","sources":["../../../../src/widgets/monacoEditor/foldingProviders.ts"],"names":[],"mappings":"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"}