@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.
- package/lib/esm/core/components/ComboBox.js +23 -24
- package/lib/esm/core/components/ComboBox.js.map +1 -1
- package/lib/esm/core/components/FormItem.js +2 -2
- package/lib/esm/core/components/FormItem.js.map +1 -1
- package/lib/esm/core/components/SidePanel.js +1 -1
- package/lib/esm/core/components/SidePanel.js.map +1 -1
- package/lib/esm/core/components/shadcn/collaspible.js +3 -4
- package/lib/esm/core/components/shadcn/collaspible.js.map +1 -1
- package/lib/esm/core/components/shadcn/dropdown.js +37 -12
- package/lib/esm/core/components/shadcn/dropdown.js.map +1 -1
- package/lib/esm/core/components/shadcn/filters/comboBox/DateCombobox.js +6 -6
- package/lib/esm/core/components/shadcn/filters/comboBox/DateCombobox.js.map +1 -1
- package/lib/esm/core/components/shadcn/filters/filterBar.js +5 -3
- package/lib/esm/core/components/shadcn/filters/filterBar.js.map +1 -1
- package/lib/esm/core/components/shadcn/radioGroup.js +1 -2
- package/lib/esm/core/components/shadcn/radioGroup.js.map +1 -1
- package/lib/esm/core/components/shadcn/switch.js +0 -1
- package/lib/esm/core/components/shadcn/switch.js.map +1 -1
- package/lib/esm/core/components/shadcn/tabs.js +2 -2
- package/lib/esm/core/components/shadcn/tabs.js.map +1 -1
- package/lib/esm/core/components/shadcn/tooltip.js +17 -1
- package/lib/esm/core/components/shadcn/tooltip.js.map +1 -1
- package/lib/esm/core/hooks/PortalContainerProvider.js +9 -3
- package/lib/esm/core/hooks/PortalContainerProvider.js.map +1 -1
- package/lib/esm/env/index.js +5 -8
- package/lib/esm/env/index.js.map +1 -1
- package/lib/esm/features/agent/chat/AgentRightPanel.js +21 -11
- package/lib/esm/features/agent/chat/AgentRightPanel.js.map +1 -1
- package/lib/esm/features/agent/chat/AskUserWidget.js +2 -6
- package/lib/esm/features/agent/chat/AskUserWidget.js.map +1 -1
- package/lib/esm/features/agent/chat/DocumentPanel.js +8 -5
- package/lib/esm/features/agent/chat/DocumentPanel.js.map +1 -1
- package/lib/esm/features/agent/chat/DocumentTabBar.js +5 -13
- package/lib/esm/features/agent/chat/DocumentTabBar.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentConversation.js +57 -26
- package/lib/esm/features/agent/chat/ModernAgentConversation.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js +20 -16
- package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js +56 -45
- package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js.map +1 -1
- package/lib/esm/features/agent/chat/SlidingThinkingIndicator.js +3 -9
- package/lib/esm/features/agent/chat/SlidingThinkingIndicator.js.map +1 -1
- package/lib/esm/features/agent/chat/hooks/useAgentStream.js +9 -5
- package/lib/esm/features/agent/chat/hooks/useAgentStream.js.map +1 -1
- package/lib/esm/features/agent/chat/hooks/useDocumentPanel.js +4 -0
- package/lib/esm/features/agent/chat/hooks/useDocumentPanel.js.map +1 -1
- package/lib/esm/features/facets/AgentRunnerFacetsNav.js +1 -1
- package/lib/esm/features/facets/AgentRunnerFacetsNav.js.map +1 -1
- package/lib/esm/features/facets/DocumentsFacetsNav.js +3 -2
- package/lib/esm/features/facets/DocumentsFacetsNav.js.map +1 -1
- package/lib/esm/features/facets/RunsFacetsNav.js +8 -1
- package/lib/esm/features/facets/RunsFacetsNav.js.map +1 -1
- package/lib/esm/features/facets/WorkflowExecutionsFacetsNav.js +1 -1
- package/lib/esm/features/facets/WorkflowExecutionsFacetsNav.js.map +1 -1
- package/lib/esm/features/facets/index.js +1 -0
- package/lib/esm/features/facets/index.js.map +1 -1
- package/lib/esm/features/facets/utils/VInteractionFacet.js +5 -5
- package/lib/esm/features/facets/utils/VInteractionFacet.js.map +1 -1
- package/lib/esm/features/index.js +1 -0
- package/lib/esm/features/index.js.map +1 -1
- package/lib/esm/features/oauth/OAuthProviderConnectButton.js +85 -0
- package/lib/esm/features/oauth/OAuthProviderConnectButton.js.map +1 -0
- package/lib/esm/features/oauth/RemoteMcpConnectionButton.js +119 -0
- package/lib/esm/features/oauth/RemoteMcpConnectionButton.js.map +1 -0
- package/lib/esm/features/oauth/index.js +4 -0
- package/lib/esm/features/oauth/index.js.map +1 -0
- package/lib/esm/features/oauth/useOAuthPopup.js +89 -0
- package/lib/esm/features/oauth/useOAuthPopup.js.map +1 -0
- package/lib/esm/features/store/collections/BrowseCollectionView.js.map +1 -1
- package/lib/esm/features/store/collections/EditCollectionView.js +9 -2
- package/lib/esm/features/store/collections/EditCollectionView.js.map +1 -1
- package/lib/esm/features/store/objects/components/ContentOverview.js +19 -7
- package/lib/esm/features/store/objects/components/ContentOverview.js.map +1 -1
- package/lib/esm/features/store/objects/components/useContentPanelHooks.js +35 -15
- package/lib/esm/features/store/objects/components/useContentPanelHooks.js.map +1 -1
- package/lib/esm/features/store/objects/selection/ObjectsActionContext.js +3 -3
- package/lib/esm/features/store/objects/selection/ObjectsActionContext.js.map +1 -1
- package/lib/esm/features/store/objects/selection/SelectionActions.js +4 -3
- package/lib/esm/features/store/objects/selection/SelectionActions.js.map +1 -1
- package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js +11 -3
- package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js.map +1 -1
- package/lib/esm/features/store/objects/upload/DocumentUploadModal.js +1 -5
- package/lib/esm/features/store/objects/upload/DocumentUploadModal.js.map +1 -1
- package/lib/esm/features/user/UserInfo.js +33 -10
- package/lib/esm/features/user/UserInfo.js.map +1 -1
- package/lib/esm/i18n/locales/ar.json +81 -98
- package/lib/esm/i18n/locales/de.json +44 -73
- package/lib/esm/i18n/locales/en.json +31 -61
- package/lib/esm/i18n/locales/es.json +55 -79
- package/lib/esm/i18n/locales/fr.json +55 -81
- package/lib/esm/i18n/locales/it.json +55 -79
- package/lib/esm/i18n/locales/ja.json +46 -75
- package/lib/esm/i18n/locales/ko.json +44 -73
- package/lib/esm/i18n/locales/pt.json +55 -79
- package/lib/esm/i18n/locales/ru.json +58 -81
- package/lib/esm/i18n/locales/tr.json +46 -75
- package/lib/esm/i18n/locales/zh-TW.json +46 -75
- package/lib/esm/i18n/locales/zh.json +46 -75
- package/lib/esm/session/UserSession.js +2 -4
- package/lib/esm/session/UserSession.js.map +1 -1
- package/lib/esm/session/UserSessionProvider.js +22 -17
- package/lib/esm/session/UserSessionProvider.js.map +1 -1
- package/lib/esm/session/auth/composable.js +20 -2
- package/lib/esm/session/auth/composable.js.map +1 -1
- package/lib/esm/session/auth/domainRouting.js +7 -0
- package/lib/esm/session/auth/domainRouting.js.map +1 -0
- package/lib/esm/shell/login/InviteAcceptModal.js +1 -0
- package/lib/esm/shell/login/InviteAcceptModal.js.map +1 -1
- package/lib/esm/widgets/form/Form.js +2 -2
- package/lib/esm/widgets/form/Form.js.map +1 -1
- package/lib/esm/widgets/markdown/MarkdownRenderer.js +2 -1
- package/lib/esm/widgets/markdown/MarkdownRenderer.js.map +1 -1
- package/lib/esm/widgets/markdown/preprocessMathDelimiters.js +226 -0
- package/lib/esm/widgets/markdown/preprocessMathDelimiters.js.map +1 -0
- package/lib/esm/widgets/monacoEditor/MonacoEditor.js +40 -5
- package/lib/esm/widgets/monacoEditor/MonacoEditor.js.map +1 -1
- package/lib/esm/widgets/monacoEditor/foldingProviders.js +132 -0
- package/lib/esm/widgets/monacoEditor/foldingProviders.js.map +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/types/core/components/ComboBox.d.ts +12 -2
- package/lib/types/core/components/ComboBox.d.ts.map +1 -1
- package/lib/types/core/components/FormItem.d.ts +5 -2
- package/lib/types/core/components/FormItem.d.ts.map +1 -1
- package/lib/types/core/components/SidePanel.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/badge.d.ts +2 -2
- package/lib/types/core/components/shadcn/collaspible.d.ts +3 -3
- package/lib/types/core/components/shadcn/collaspible.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/dropdown.d.ts +11 -3
- package/lib/types/core/components/shadcn/dropdown.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/filters/filterBar.d.ts +2 -1
- package/lib/types/core/components/shadcn/filters/filterBar.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/input.d.ts +1 -1
- package/lib/types/core/components/shadcn/radioGroup.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/switch.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/tabs.d.ts +4 -2
- package/lib/types/core/components/shadcn/tabs.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/text.d.ts +1 -1
- package/lib/types/core/components/shadcn/tooltip.d.ts +1 -1
- package/lib/types/core/components/shadcn/tooltip.d.ts.map +1 -1
- package/lib/types/core/hooks/PortalContainerProvider.d.ts +1 -0
- package/lib/types/core/hooks/PortalContainerProvider.d.ts.map +1 -1
- package/lib/types/env/index.d.ts +2 -2
- package/lib/types/env/index.d.ts.map +1 -1
- package/lib/types/features/agent/chat/AgentChart.d.ts +1 -1
- package/lib/types/features/agent/chat/AgentChart.d.ts.map +1 -1
- package/lib/types/features/agent/chat/AgentRightPanel.d.ts +7 -2
- package/lib/types/features/agent/chat/AgentRightPanel.d.ts.map +1 -1
- package/lib/types/features/agent/chat/DocumentPanel.d.ts +2 -2
- package/lib/types/features/agent/chat/DocumentPanel.d.ts.map +1 -1
- package/lib/types/features/agent/chat/DocumentTabBar.d.ts +1 -2
- package/lib/types/features/agent/chat/DocumentTabBar.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentConversation.d.ts +5 -3
- package/lib/types/features/agent/chat/ModernAgentConversation.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts +4 -2
- package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts +4 -4
- package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/MessageItem.d.ts.map +1 -1
- package/lib/types/features/agent/chat/VegaLiteChart.d.ts +1 -1
- package/lib/types/features/agent/chat/VegaLiteChart.d.ts.map +1 -1
- package/lib/types/features/agent/chat/hooks/useAgentStream.d.ts +4 -2
- package/lib/types/features/agent/chat/hooks/useAgentStream.d.ts.map +1 -1
- package/lib/types/features/agent/chat/hooks/useDocumentPanel.d.ts +1 -0
- package/lib/types/features/agent/chat/hooks/useDocumentPanel.d.ts.map +1 -1
- package/lib/types/features/facets/DocumentsFacetsNav.d.ts.map +1 -1
- package/lib/types/features/facets/RunsFacetsNav.d.ts.map +1 -1
- package/lib/types/features/facets/index.d.ts +1 -0
- package/lib/types/features/facets/index.d.ts.map +1 -1
- package/lib/types/features/index.d.ts +1 -0
- package/lib/types/features/index.d.ts.map +1 -1
- package/lib/types/features/oauth/OAuthProviderConnectButton.d.ts +11 -0
- package/lib/types/features/oauth/OAuthProviderConnectButton.d.ts.map +1 -0
- package/lib/types/features/oauth/RemoteMcpConnectionButton.d.ts +25 -0
- package/lib/types/features/oauth/RemoteMcpConnectionButton.d.ts.map +1 -0
- package/lib/types/features/oauth/index.d.ts +4 -0
- package/lib/types/features/oauth/index.d.ts.map +1 -0
- package/lib/types/features/oauth/useOAuthPopup.d.ts +12 -0
- package/lib/types/features/oauth/useOAuthPopup.d.ts.map +1 -0
- package/lib/types/features/store/collections/BrowseCollectionView.d.ts.map +1 -1
- package/lib/types/features/store/collections/EditCollectionView.d.ts.map +1 -1
- package/lib/types/features/store/objects/components/useContentPanelHooks.d.ts.map +1 -1
- package/lib/types/features/store/objects/selection/ObjectsActionContext.d.ts +3 -3
- package/lib/types/features/store/objects/selection/ObjectsActionContext.d.ts.map +1 -1
- package/lib/types/features/store/objects/selection/ObjectsActionSpec.d.ts +2 -1
- package/lib/types/features/store/objects/selection/ObjectsActionSpec.d.ts.map +1 -1
- package/lib/types/features/store/objects/selection/SelectionActions.d.ts +3 -3
- package/lib/types/features/store/objects/selection/SelectionActions.d.ts.map +1 -1
- package/lib/types/features/store/objects/selection/actions/ExportPropertiesAction.d.ts.map +1 -1
- package/lib/types/features/user/UserInfo.d.ts +2 -1
- package/lib/types/features/user/UserInfo.d.ts.map +1 -1
- package/lib/types/session/UserSession.d.ts.map +1 -1
- package/lib/types/session/UserSessionProvider.d.ts +0 -1
- package/lib/types/session/UserSessionProvider.d.ts.map +1 -1
- package/lib/types/session/auth/composable.d.ts +4 -0
- package/lib/types/session/auth/composable.d.ts.map +1 -1
- package/lib/types/session/auth/domainRouting.d.ts +8 -0
- package/lib/types/session/auth/domainRouting.d.ts.map +1 -0
- package/lib/types/shell/login/InviteAcceptModal.d.ts.map +1 -1
- package/lib/types/widgets/markdown/MarkdownRenderer.d.ts.map +1 -1
- package/lib/types/widgets/markdown/preprocessMathDelimiters.d.ts +24 -0
- package/lib/types/widgets/markdown/preprocessMathDelimiters.d.ts.map +1 -0
- package/lib/types/widgets/monacoEditor/MonacoEditor.d.ts +2 -1
- package/lib/types/widgets/monacoEditor/MonacoEditor.d.ts.map +1 -1
- package/lib/types/widgets/monacoEditor/foldingProviders.d.ts +2 -0
- package/lib/types/widgets/monacoEditor/foldingProviders.d.ts.map +1 -0
- package/lib/vertesia-ui-core.js +1 -1
- package/lib/vertesia-ui-core.js.map +1 -1
- package/lib/vertesia-ui-env.js +1 -1
- package/lib/vertesia-ui-env.js.map +1 -1
- package/lib/vertesia-ui-features.js +1 -1
- package/lib/vertesia-ui-features.js.map +1 -1
- package/lib/vertesia-ui-i18n.js +1 -1
- package/lib/vertesia-ui-i18n.js.map +1 -1
- package/lib/vertesia-ui-layout.js +1 -1
- package/lib/vertesia-ui-layout.js.map +1 -1
- package/lib/vertesia-ui-session.js +1 -1
- package/lib/vertesia-ui-session.js.map +1 -1
- package/lib/vertesia-ui-shell.js +1 -1
- package/lib/vertesia-ui-shell.js.map +1 -1
- package/lib/vertesia-ui-widgets.js +1 -1
- package/lib/vertesia-ui-widgets.js.map +1 -1
- package/package.json +15 -15
- package/src/core/components/ComboBox.tsx +66 -29
- package/src/core/components/FormItem.tsx +9 -6
- package/src/core/components/SidePanel.tsx +5 -3
- package/src/core/components/shadcn/collaspible.tsx +5 -7
- package/src/core/components/shadcn/dropdown.tsx +68 -13
- package/src/core/components/shadcn/filters/comboBox/DateCombobox.tsx +6 -6
- package/src/core/components/shadcn/filters/filterBar.tsx +5 -3
- package/src/core/components/shadcn/radioGroup.tsx +1 -3
- package/src/core/components/shadcn/switch.tsx +0 -2
- package/src/core/components/shadcn/tabs.tsx +15 -2
- package/src/core/components/shadcn/tooltip.tsx +20 -3
- package/src/core/hooks/PortalContainerProvider.tsx +11 -3
- package/src/env/index.ts +7 -10
- package/src/features/agent/chat/AgentRightPanel.tsx +43 -23
- package/src/features/agent/chat/DocumentPanel.tsx +21 -19
- package/src/features/agent/chat/DocumentTabBar.tsx +21 -32
- package/src/features/agent/chat/ModernAgentConversation.tsx +72 -27
- package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.tsx +21 -9
- package/src/features/agent/chat/ModernAgentOutput/Header.tsx +136 -115
- package/src/features/agent/chat/ModernAgentOutput/MessageItem.tsx +0 -3
- package/src/features/agent/chat/hooks/useAgentStream.ts +13 -7
- package/src/features/agent/chat/hooks/useDocumentPanel.ts +8 -0
- package/src/features/facets/AgentRunnerFacetsNav.tsx +1 -1
- package/src/features/facets/DocumentsFacetsNav.tsx +3 -1
- package/src/features/facets/RunsFacetsNav.tsx +9 -1
- package/src/features/facets/WorkflowExecutionsFacetsNav.tsx +1 -1
- package/src/features/facets/index.ts +1 -0
- package/src/features/facets/utils/VInteractionFacet.tsx +12 -12
- package/src/features/index.ts +1 -0
- package/src/features/oauth/OAuthProviderConnectButton.tsx +125 -0
- package/src/features/oauth/RemoteMcpConnectionButton.tsx +274 -0
- package/src/features/oauth/index.ts +3 -0
- package/src/features/oauth/useOAuthPopup.ts +125 -0
- package/src/features/store/collections/BrowseCollectionView.tsx +3 -3
- package/src/features/store/collections/EditCollectionView.tsx +10 -1
- package/src/features/store/objects/components/ContentOverview.tsx +108 -87
- package/src/features/store/objects/components/useContentPanelHooks.ts +50 -15
- package/src/features/store/objects/selection/ObjectsActionContext.tsx +5 -5
- package/src/features/store/objects/selection/ObjectsActionSpec.ts +2 -1
- package/src/features/store/objects/selection/SelectionActions.tsx +6 -5
- package/src/features/store/objects/selection/actions/ExportPropertiesAction.tsx +12 -3
- package/src/features/user/UserInfo.tsx +82 -10
- package/src/i18n/locales/ar.json +81 -98
- package/src/i18n/locales/de.json +44 -73
- package/src/i18n/locales/en.json +31 -61
- package/src/i18n/locales/es.json +55 -79
- package/src/i18n/locales/fr.json +55 -81
- package/src/i18n/locales/it.json +55 -79
- package/src/i18n/locales/ja.json +46 -75
- package/src/i18n/locales/ko.json +44 -73
- package/src/i18n/locales/pt.json +55 -79
- package/src/i18n/locales/ru.json +58 -81
- package/src/i18n/locales/tr.json +46 -75
- package/src/i18n/locales/zh-TW.json +46 -75
- package/src/i18n/locales/zh.json +46 -75
- package/src/session/UserSession.ts +2 -5
- package/src/session/UserSessionProvider.tsx +23 -18
- package/src/session/auth/auth-flow.md +1 -1
- package/src/session/auth/composable.ts +21 -2
- package/src/session/auth/domainRouting.test.ts +26 -0
- package/src/session/auth/domainRouting.ts +13 -0
- package/src/shell/login/InviteAcceptModal.tsx +1 -0
- package/src/widgets/form/Form.tsx +2 -2
- package/src/widgets/markdown/MarkdownRenderer.tsx +2 -1
- package/src/widgets/markdown/markdown.css +12 -0
- package/src/widgets/markdown/preprocessMathDelimiters.test.ts +87 -0
- package/src/widgets/markdown/preprocessMathDelimiters.ts +229 -0
- package/src/widgets/monacoEditor/MonacoEditor.tsx +47 -4
- 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: '
|
|
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: '
|
|
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":";AAEA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAA4C,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAuB,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAElG,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAUpC,MAAM,UAAU,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAa;IAC1F,MAAM,SAAS,GAAG,CAAC,GAAmB,EAAE,EAAE;QACtC,GAAG,CAAC,eAAe,EAAE,CAAC;QACtB,GAAG,CAAC,cAAc,EAAE,CAAC;QACrB,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC,CAAA;IACD,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,OAAO,CACH,KAAC,mBAAmB,IAAC,KAAK,EAAE,IAAI,WAAW,CAAC,MAAM,EAAE,UAAU,IAAI,EAAE,EAAE,QAAQ,IAAI,KAAK,CAAC,YACpF,eAAM,SAAS,EAAC,QAAQ,EAAC,QAAQ,EAAE,SAAS,YACvC,QAAQ,GACN,GACY,CAC1B,CAAA;AACL,CAAC;AAED,SAAS,mBAAmB;IACxB,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IACtB,OAAO,CACH,cAAK,SAAS,EAAC,4BAA4B,YAEnC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,GAE3C,CACT,CAAA;AACL,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAa;IAC3D,OAAO,CACH,MAAC,IAAI,OAAK,KAAK,aACX,KAAC,mBAAmB,KAAG,EACtB,QAAQ,IACN,CACV,CAAA;AACL,CAAC;AAED,SAAS,cAAc,CAAC,IAAU;IAC9B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,OAAO,KAAC,SAAS,IAAiB,MAAM,EAAE,IAA2B,IAA9C,IAAI,CAAC,IAAI,CAAyC,CAAA;IAC7E,CAAC;SAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACvB,OAAO,KAAC,cAAc,IAAiB,MAAM,EAAE,IAAyB,IAA5C,IAAI,CAAC,IAAI,CAAuC,CAAA;IAChF,CAAC;SAAM,CAAC;QACJ,OAAO,KAAC,WAAW,IAAiB,MAAM,EAAE,IAAuB,IAA1C,IAAI,CAAC,IAAI,CAAqC,CAAA;IAC3E,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAU,EAAE,MAAe;IACnD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,OAAO,KAAC,SAAS,IAAC,MAAM,EAAE,IAA2B,GAAI,CAAA;IAC7D,CAAC;SAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACvB,OAAO,KAAC,cAAc,IAAC,MAAM,EAAE,IAAyB,GAAI,CAAA;IAChE,CAAC;SAAM,CAAC;QACJ,OAAO,KAAC,WAAW,IAAC,MAAM,EAAE,IAAuB,EAAE,MAAM,EAAE,MAAM,GAAI,CAAA;IAC3E,CAAC;AACL,CAAC;AAOD,MAAM,UAAU,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,EAAoB;IAC5E,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IAClC,CAAC;IACD,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC;IAC3C,MAAM,SAAS,GAAG,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC;IAC1D,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IACxC,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QAC3B,MAAM,GAAG,IAAI,CAAC;IAClB,CAAC;IAED,MAAM,cAAc,GAAG,CAAC,KAAU,EAAE,EAAE;QAClC,IAAI,QAAQ;YAAE,OAAO;QACrB,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1B,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;QACxC,CAAC;aAAM,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAChC,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QACtC,CAAC;IACL,CAAC,CAAA;IAED,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACpB,2EAA2E;QAC3E,OAAO,KAAC,SAAS,IAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAAC;IACxG,CAAC;IAED,OAAO,CACH,KAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,EACrG,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,UAAU,CAAC,YACtE,KAAC,SAAS,IAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,GAAI,GACrF,CACd,CAAA;AACL,CAAC;AAKD,SAAS,cAAc,CAAC,EAAE,MAAM,EAAmB;IAC/C,OAAO,CACH,eAAK,SAAS,EAAC,yGAAyG,aACnH,CAAC,MAAM,CAAC,UAAU,IAAI,cAAK,SAAS,EAAC,gDAAgD,YAAE,MAAM,CAAC,KAAK,GAAO,EAEvG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,IAEvC,CACT,CAAA;AACL,CAAC;AAKD,SAAS,SAAS,CAAC,EAAE,MAAM,EAAkB;IACzC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAQ,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC9D,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC;IAE/B,MAAM,OAAO,GAAG,GAAG,EAAE;QACjB,IAAI,QAAQ;YAAE,OAAO;QACrB,MAAM,CAAC,GAAG,EAAE,CAAC;QACb,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,EAAE;QACjC,IAAI,QAAQ;YAAE,OAAO;QACrB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrB,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,OAAO,CACH,eAAK,SAAS,EAAC,yGAAyG,aACnH,CAAC,MAAM,CAAC,UAAU,IAAI,cAAK,SAAS,EAAC,gDAAgD,YAAE,MAAM,CAAC,KAAK,GAAO,EAEvG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAC7B,OAAO,KAAC,QAAQ,IAAwC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,QAAQ,IAAnH,GAAG,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAuF,CAAC;YAClJ,CAAC,CAAC,EAEN,wBACI,MAAC,MAAM,IAAC,OAAO,EAAC,
|
|
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":";AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,EAAE,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,eAAe,MAAM,kBAAkB,CAAC;AAC/C,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,WAAW,MAAM,gCAAgC,CAAC;AACzD,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,cAAc,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EACH,8BAA8B,EAC9B,sBAAsB,EACtB,gBAAgB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,sDAAsD;AACtD,MAAM,sBAAsB,GAAG;IAC3B,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,aAAa;IACb,aAAa;CAChB,CAAC;AAEF;;;GAGG;AACH,SAAS,kBAAkB,CAAC,GAAW;IACnC,IAAI,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAChE,OAAO,GAAG,CAAC;IACf,CAAC;IACD,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB;IACzB,OAAO,CAAC,IAAS,EAAE,EAAE;QACjB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,IAAS,EAAE,KAAyB,EAAE,MAAW,EAAE,EAAE;YACtE,IAAI,IAAI,CAAC,KAAK,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnD,IAAI,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACzD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBACjC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACzB,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC;AA2BD,kDAAkD;AAClD,MAAM,wBAAwB,GAAG,8BAA8B,EAAE,CAAC;AAElE,MAAM,UAAU,gBAAgB,CAAC,EAC7B,QAAQ,EACR,UAAU,EACV,aAAa,GAAG,EAAE,EAClB,cAAc,GAAG,IAAI,EACrB,aAAa,EACb,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,gBAAgB,GACI;IACpB,MAAM,iBAAiB,GAAG,4BAA4B,EAAE,CAAC;IACzD,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CACpC,GAAG,EAAE,CAAC,mBAAmB,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC,
|
|
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:
|
|
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,
|
|
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:
|
|
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:
|
|
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":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAa,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
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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"}
|