@jini-ai/ui 0.1.2 → 0.3.1
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/README.md +108 -18
- package/dist/browser/useDismissOnOutsideOrEscape.d.ts.map +1 -1
- package/dist/browser/useDismissOnOutsideOrEscape.js +3 -2
- package/dist/browser/useDismissOnOutsideOrEscape.js.map +1 -1
- package/dist/browser/useGlobalKeydown.js +1 -1
- package/dist/browser/useGlobalKeydown.js.map +1 -1
- package/dist/core.d.ts +69 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +66 -0
- package/dist/core.js.map +1 -0
- package/dist/features/a2ui/catalog-from-registry.d.ts +30 -0
- package/dist/features/a2ui/catalog-from-registry.d.ts.map +1 -0
- package/dist/features/a2ui/catalog-from-registry.js +25 -0
- package/dist/features/a2ui/catalog-from-registry.js.map +1 -0
- package/dist/features/a2ui/index.d.ts +5 -0
- package/dist/features/a2ui/index.d.ts.map +1 -0
- package/dist/features/a2ui/index.js +5 -0
- package/dist/features/a2ui/index.js.map +1 -0
- package/dist/features/a2ui/protocol.d.ts +7 -0
- package/dist/features/a2ui/protocol.d.ts.map +1 -0
- package/dist/features/a2ui/protocol.js +7 -0
- package/dist/features/a2ui/protocol.js.map +1 -0
- package/dist/features/a2ui/renderer.d.ts +17 -0
- package/dist/features/a2ui/renderer.d.ts.map +1 -0
- package/dist/features/a2ui/renderer.js +80 -0
- package/dist/features/a2ui/renderer.js.map +1 -0
- package/dist/features/a2ui/use-a2ui-surface.d.ts +13 -0
- package/dist/features/a2ui/use-a2ui-surface.d.ts.map +1 -0
- package/dist/features/a2ui/use-a2ui-surface.js +17 -0
- package/dist/features/a2ui/use-a2ui-surface.js.map +1 -0
- package/dist/features/about/index.d.ts +7 -0
- package/dist/features/about/index.d.ts.map +1 -0
- package/dist/features/about/index.js +4 -0
- package/dist/features/about/index.js.map +1 -0
- package/dist/features/about/react/components/AboutTab.d.ts +82 -0
- package/dist/features/about/react/components/AboutTab.d.ts.map +1 -0
- package/dist/features/about/react/components/AboutTab.js +70 -0
- package/dist/features/about/react/components/AboutTab.js.map +1 -0
- package/dist/features/about/react/hooks/useSilentUpdatesToggle.d.ts +44 -0
- package/dist/features/about/react/hooks/useSilentUpdatesToggle.d.ts.map +1 -0
- package/dist/features/about/react/hooks/useSilentUpdatesToggle.js +44 -0
- package/dist/features/about/react/hooks/useSilentUpdatesToggle.js.map +1 -0
- package/dist/features/about/rules.d.ts +105 -0
- package/dist/features/about/rules.d.ts.map +1 -0
- package/dist/features/about/rules.js +240 -0
- package/dist/features/about/rules.js.map +1 -0
- package/dist/features/about/types.d.ts +110 -0
- package/dist/features/about/types.d.ts.map +1 -0
- package/dist/features/about/types.js +20 -0
- package/dist/features/about/types.js.map +1 -0
- package/dist/features/appearance/constants.d.ts +16 -0
- package/dist/features/appearance/constants.d.ts.map +1 -0
- package/dist/features/appearance/constants.js +23 -0
- package/dist/features/appearance/constants.js.map +1 -0
- package/dist/features/appearance/index.d.ts +5 -0
- package/dist/features/appearance/index.d.ts.map +1 -0
- package/dist/features/appearance/index.js.map +1 -0
- package/dist/features/appearance/react/components/AppearanceTab.d.ts.map +1 -0
- package/dist/features/appearance/react/components/AppearanceTab.js +31 -0
- package/dist/features/appearance/react/components/AppearanceTab.js.map +1 -0
- package/dist/features/appearance/rules.d.ts +31 -0
- package/dist/features/appearance/rules.d.ts.map +1 -0
- package/dist/features/appearance/rules.js +45 -0
- package/dist/features/appearance/rules.js.map +1 -0
- package/dist/features/appearance/types.d.ts +12 -0
- package/dist/features/appearance/types.d.ts.map +1 -0
- package/dist/features/appearance/types.js +8 -0
- package/dist/features/appearance/types.js.map +1 -0
- package/dist/features/asset-grid/react/components/AssetGrid.d.ts.map +1 -1
- package/dist/features/asset-grid/react/components/AssetGrid.js +44 -9
- package/dist/features/asset-grid/react/components/AssetGrid.js.map +1 -1
- package/dist/features/asset-grid/react/hooks/useAssetGridLiveUpdates.d.ts.map +1 -1
- package/dist/features/asset-grid/react/hooks/useAssetGridLiveUpdates.js +39 -2
- package/dist/features/asset-grid/react/hooks/useAssetGridLiveUpdates.js.map +1 -1
- package/dist/features/asset-tree-browser/rules.d.ts +1 -0
- package/dist/features/asset-tree-browser/rules.d.ts.map +1 -1
- package/dist/features/asset-tree-browser/rules.js.map +1 -1
- package/dist/features/connectors/ConnectorsBrowser.d.ts.map +1 -1
- package/dist/features/connectors/ConnectorsBrowser.js +2 -2
- package/dist/features/connectors/ConnectorsBrowser.js.map +1 -1
- package/dist/features/connectors/components/ConnectorCard.d.ts.map +1 -1
- package/dist/features/connectors/components/ConnectorCard.js.map +1 -1
- package/dist/features/connectors/components/ConnectorDetailDrawer.d.ts.map +1 -1
- package/dist/features/connectors/components/ConnectorDetailDrawer.js.map +1 -1
- package/dist/features/connectors/dependencies.d.ts +1 -1
- package/dist/features/connectors/dependencies.d.ts.map +1 -1
- package/dist/features/connectors/dependencies.js +1 -2
- package/dist/features/connectors/dependencies.js.map +1 -1
- package/dist/features/connectors/hooks/useConnectorAuthorization.d.ts +38 -0
- package/dist/features/connectors/hooks/useConnectorAuthorization.d.ts.map +1 -1
- package/dist/features/connectors/hooks/useConnectorAuthorization.js +76 -63
- package/dist/features/connectors/hooks/useConnectorAuthorization.js.map +1 -1
- package/dist/features/connectors/hooks/useConnectorCatalog.d.ts.map +1 -1
- package/dist/features/connectors/hooks/useConnectorCatalog.js.map +1 -1
- package/dist/features/connectors/hooks/useConnectorDetail.d.ts.map +1 -1
- package/dist/features/connectors/hooks/useConnectorDetail.js +1 -1
- package/dist/features/connectors/hooks/useConnectorDetail.js.map +1 -1
- package/dist/features/connectors/index.d.ts +4 -4
- package/dist/features/connectors/index.d.ts.map +1 -1
- package/dist/features/connectors/index.js +2 -2
- package/dist/features/connectors/index.js.map +1 -1
- package/dist/features/execution/constants.d.ts +55 -0
- package/dist/features/execution/constants.d.ts.map +1 -0
- package/dist/features/execution/constants.js +187 -0
- package/dist/features/execution/constants.js.map +1 -0
- package/dist/features/execution/dependencies.d.ts +41 -0
- package/dist/features/execution/dependencies.d.ts.map +1 -0
- package/dist/features/execution/dependencies.js +64 -0
- package/dist/features/execution/dependencies.js.map +1 -0
- package/dist/features/execution/index.d.ts +24 -0
- package/dist/features/execution/index.d.ts.map +1 -0
- package/dist/features/execution/index.js +13 -0
- package/dist/features/execution/index.js.map +1 -0
- package/dist/features/execution/ports.d.ts +71 -0
- package/dist/features/execution/ports.d.ts.map +1 -0
- package/dist/features/execution/ports.js.map +1 -0
- package/dist/features/execution/react/components/AgentCliEnvFields.d.ts +26 -0
- package/dist/features/execution/react/components/AgentCliEnvFields.d.ts.map +1 -0
- package/dist/features/execution/react/components/AgentCliEnvFields.js +25 -0
- package/dist/features/execution/react/components/AgentCliEnvFields.js.map +1 -0
- package/dist/features/execution/react/components/AgentDiagnosticRow.d.ts +32 -0
- package/dist/features/execution/react/components/AgentDiagnosticRow.d.ts.map +1 -0
- package/dist/features/execution/react/components/AgentDiagnosticRow.js +61 -0
- package/dist/features/execution/react/components/AgentDiagnosticRow.js.map +1 -0
- package/dist/features/execution/react/components/ByokProviderForm.d.ts +73 -0
- package/dist/features/execution/react/components/ByokProviderForm.d.ts.map +1 -0
- package/dist/features/execution/react/components/ByokProviderForm.js +88 -0
- package/dist/features/execution/react/components/ByokProviderForm.js.map +1 -0
- package/dist/features/execution/react/components/ExecutionTab.d.ts +60 -0
- package/dist/features/execution/react/components/ExecutionTab.d.ts.map +1 -0
- package/dist/features/execution/react/components/ExecutionTab.js +91 -0
- package/dist/features/execution/react/components/ExecutionTab.js.map +1 -0
- package/dist/features/execution/react/components/LocalCliAgentCard.d.ts +40 -0
- package/dist/features/execution/react/components/LocalCliAgentCard.d.ts.map +1 -0
- package/dist/features/execution/react/components/LocalCliAgentCard.js +121 -0
- package/dist/features/execution/react/components/LocalCliAgentCard.js.map +1 -0
- package/dist/features/execution/react/components/LocalCliAgentList.d.ts +37 -0
- package/dist/features/execution/react/components/LocalCliAgentList.d.ts.map +1 -0
- package/dist/features/execution/react/components/LocalCliAgentList.js +18 -0
- package/dist/features/execution/react/components/LocalCliAgentList.js.map +1 -0
- package/dist/features/execution/react/components/ProviderChipGroup.d.ts +21 -0
- package/dist/features/execution/react/components/ProviderChipGroup.d.ts.map +1 -0
- package/dist/features/execution/react/components/ProviderChipGroup.js +22 -0
- package/dist/features/execution/react/components/ProviderChipGroup.js.map +1 -0
- package/dist/features/execution/react/components/SearchableModelSelect.d.ts +45 -0
- package/dist/features/execution/react/components/SearchableModelSelect.d.ts.map +1 -0
- package/dist/features/execution/react/components/SearchableModelSelect.js +55 -0
- package/dist/features/execution/react/components/SearchableModelSelect.js.map +1 -0
- package/dist/features/execution/react/hooks/useExecutionTab.d.ts +38 -0
- package/dist/features/execution/react/hooks/useExecutionTab.d.ts.map +1 -0
- package/dist/features/execution/react/hooks/useExecutionTab.js +158 -0
- package/dist/features/execution/react/hooks/useExecutionTab.js.map +1 -0
- package/dist/features/execution/rules.d.ts +218 -0
- package/dist/features/execution/rules.d.ts.map +1 -0
- package/dist/features/execution/rules.js +414 -0
- package/dist/features/execution/rules.js.map +1 -0
- package/dist/features/execution/types.d.ts +410 -0
- package/dist/features/execution/types.d.ts.map +1 -0
- package/dist/features/execution/types.js +19 -0
- package/dist/features/execution/types.js.map +1 -0
- package/dist/features/external-mcp/constants.d.ts +3 -0
- package/dist/features/external-mcp/constants.d.ts.map +1 -0
- package/dist/features/external-mcp/constants.js +22 -0
- package/dist/features/external-mcp/constants.js.map +1 -0
- package/dist/features/external-mcp/index.d.ts +4 -0
- package/dist/features/external-mcp/index.d.ts.map +1 -0
- package/dist/features/external-mcp/index.js +3 -0
- package/dist/features/external-mcp/index.js.map +1 -0
- package/dist/features/external-mcp/react/components/ExternalMcpTab.d.ts +23 -0
- package/dist/features/external-mcp/react/components/ExternalMcpTab.d.ts.map +1 -0
- package/dist/features/external-mcp/react/components/ExternalMcpTab.js +53 -0
- package/dist/features/external-mcp/react/components/ExternalMcpTab.js.map +1 -0
- package/dist/features/html-editor/canvas-content-wrapper.d.ts +16 -0
- package/dist/features/html-editor/canvas-content-wrapper.d.ts.map +1 -0
- package/dist/features/html-editor/canvas-content-wrapper.js +86 -0
- package/dist/features/html-editor/canvas-content-wrapper.js.map +1 -0
- package/dist/features/html-editor/canvas-embed-placeholders.d.ts +65 -0
- package/dist/features/html-editor/canvas-embed-placeholders.d.ts.map +1 -0
- package/dist/features/html-editor/canvas-embed-placeholders.js +190 -0
- package/dist/features/html-editor/canvas-embed-placeholders.js.map +1 -0
- package/dist/features/html-editor/canvas-style.d.ts +73 -0
- package/dist/features/html-editor/canvas-style.d.ts.map +1 -0
- package/dist/features/html-editor/canvas-style.js +64 -0
- package/dist/features/html-editor/canvas-style.js.map +1 -0
- package/dist/features/html-editor/css.d.ts +22 -0
- package/dist/features/html-editor/css.d.ts.map +1 -0
- package/dist/features/html-editor/css.js +140 -0
- package/dist/features/html-editor/css.js.map +1 -0
- package/dist/features/html-editor/dom.d.ts +15 -0
- package/dist/features/html-editor/dom.d.ts.map +1 -0
- package/dist/features/html-editor/dom.js +20 -0
- package/dist/features/html-editor/dom.js.map +1 -0
- package/dist/features/html-editor/index.d.ts +8 -0
- package/dist/features/html-editor/index.d.ts.map +1 -0
- package/dist/features/html-editor/index.js +5 -0
- package/dist/features/html-editor/index.js.map +1 -0
- package/dist/features/html-editor/react/components/InteractiveHtmlEditor.d.ts +94 -0
- package/dist/features/html-editor/react/components/InteractiveHtmlEditor.d.ts.map +1 -0
- package/dist/features/html-editor/react/components/InteractiveHtmlEditor.js +15 -0
- package/dist/features/html-editor/react/components/InteractiveHtmlEditor.js.map +1 -0
- package/dist/features/html-editor/react/hooks/useInteractiveHtmlEditor.d.ts +33 -0
- package/dist/features/html-editor/react/hooks/useInteractiveHtmlEditor.d.ts.map +1 -0
- package/dist/features/html-editor/react/hooks/useInteractiveHtmlEditor.js +170 -0
- package/dist/features/html-editor/react/hooks/useInteractiveHtmlEditor.js.map +1 -0
- package/dist/features/html-viewer/dependencies.d.ts +1 -1
- package/dist/features/html-viewer/dependencies.d.ts.map +1 -1
- package/dist/features/html-viewer/dependencies.js +2 -2
- package/dist/features/html-viewer/dependencies.js.map +1 -1
- package/dist/features/html-viewer/react/hooks/useDeckNavigation.d.ts +2 -2
- package/dist/features/html-viewer/react/hooks/useDeckNavigation.js +3 -3
- package/dist/features/html-viewer/react/hooks/useDeckNavigation.js.map +1 -1
- package/dist/features/i18n/context.d.ts +35 -2
- package/dist/features/i18n/context.d.ts.map +1 -1
- package/dist/features/i18n/context.js +1 -1
- package/dist/features/i18n/context.js.map +1 -1
- package/dist/features/i18n/dictionaries/index.d.ts +63 -0
- package/dist/features/i18n/dictionaries/index.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/index.js +70 -0
- package/dist/features/i18n/dictionaries/index.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ar.d.ts +8 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ar.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ar.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ar.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.bn.d.ts +8 -0
- package/dist/features/i18n/dictionaries/settings-dialog.bn.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.bn.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.bn.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.de.d.ts +17 -0
- package/dist/features/i18n/dictionaries/settings-dialog.de.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.de.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.de.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.en.d.ts +33 -0
- package/dist/features/i18n/dictionaries/settings-dialog.en.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.en.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.en.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.es.d.ts +17 -0
- package/dist/features/i18n/dictionaries/settings-dialog.es.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.es.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.es.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.fa.d.ts +8 -0
- package/dist/features/i18n/dictionaries/settings-dialog.fa.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.fa.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.fa.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.fr.d.ts +17 -0
- package/dist/features/i18n/dictionaries/settings-dialog.fr.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.fr.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.fr.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.hi.d.ts +8 -0
- package/dist/features/i18n/dictionaries/settings-dialog.hi.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.hi.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.hi.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.hu.d.ts +8 -0
- package/dist/features/i18n/dictionaries/settings-dialog.hu.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.hu.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.hu.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.id.d.ts +17 -0
- package/dist/features/i18n/dictionaries/settings-dialog.id.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.id.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.id.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.it.d.ts +17 -0
- package/dist/features/i18n/dictionaries/settings-dialog.it.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.it.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.it.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ja.d.ts +8 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ja.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ja.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ja.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ko.d.ts +8 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ko.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ko.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ko.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.pl.d.ts +8 -0
- package/dist/features/i18n/dictionaries/settings-dialog.pl.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.pl.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.pl.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.pt-BR.d.ts +8 -0
- package/dist/features/i18n/dictionaries/settings-dialog.pt-BR.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.pt-BR.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.pt-BR.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ru.d.ts +8 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ru.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ru.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ru.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.th.d.ts +17 -0
- package/dist/features/i18n/dictionaries/settings-dialog.th.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.th.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.th.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.tr.d.ts +17 -0
- package/dist/features/i18n/dictionaries/settings-dialog.tr.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.tr.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.tr.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.uk.d.ts +17 -0
- package/dist/features/i18n/dictionaries/settings-dialog.uk.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.uk.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.uk.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ur.d.ts +8 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ur.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ur.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ur.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.zh-CN.d.ts +17 -0
- package/dist/features/i18n/dictionaries/settings-dialog.zh-CN.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.zh-CN.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.zh-CN.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.zh-TW.d.ts +20 -0
- package/dist/features/i18n/dictionaries/settings-dialog.zh-TW.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.zh-TW.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.zh-TW.js.map +1 -0
- package/dist/features/i18n/dictionaries/types.d.ts +16 -0
- package/dist/features/i18n/dictionaries/types.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/types.js.map +1 -0
- package/dist/features/i18n/index.d.ts +2 -0
- package/dist/features/i18n/index.d.ts.map +1 -1
- package/dist/features/i18n/index.js +1 -0
- package/dist/features/i18n/index.js.map +1 -1
- package/dist/features/iframe-pool/react/components/PooledIframe.d.ts.map +1 -1
- package/dist/features/iframe-pool/react/components/PooledIframe.js +27 -3
- package/dist/features/iframe-pool/react/components/PooledIframe.js.map +1 -1
- package/dist/features/instructions/index.d.ts.map +1 -0
- package/dist/features/instructions/index.js.map +1 -0
- package/dist/features/instructions/react/components/InstructionsTab.d.ts.map +1 -0
- package/dist/features/instructions/react/components/InstructionsTab.js +16 -0
- package/dist/features/instructions/react/components/InstructionsTab.js.map +1 -0
- package/dist/features/integrations/constants.d.ts.map +1 -0
- package/dist/features/integrations/constants.js.map +1 -0
- package/dist/features/integrations/dependencies.d.ts.map +1 -0
- package/dist/features/integrations/dependencies.js.map +1 -0
- package/dist/features/integrations/index.d.ts +18 -0
- package/dist/features/integrations/index.d.ts.map +1 -0
- package/dist/features/integrations/index.js +10 -0
- package/dist/features/integrations/index.js.map +1 -0
- package/dist/features/integrations/ports.d.ts.map +1 -0
- package/dist/features/integrations/ports.js +2 -0
- package/dist/features/integrations/ports.js.map +1 -0
- package/dist/features/integrations/react/components/ClientPicker.d.ts.map +1 -0
- package/dist/features/integrations/react/components/ClientPicker.js +31 -0
- package/dist/features/integrations/react/components/ClientPicker.js.map +1 -0
- package/dist/features/integrations/react/components/CodexInstallToggleButton.d.ts.map +1 -0
- package/dist/features/integrations/react/components/CodexInstallToggleButton.js +21 -0
- package/dist/features/integrations/react/components/CodexInstallToggleButton.js.map +1 -0
- package/dist/features/integrations/react/components/IntegrationsTab.d.ts +27 -0
- package/dist/features/integrations/react/components/IntegrationsTab.d.ts.map +1 -0
- package/dist/features/integrations/react/components/IntegrationsTab.js +61 -0
- package/dist/features/integrations/react/components/IntegrationsTab.js.map +1 -0
- package/dist/features/integrations/react/components/SnippetBlock.d.ts.map +1 -0
- package/dist/features/integrations/react/components/SnippetBlock.js +53 -0
- package/dist/features/integrations/react/components/SnippetBlock.js.map +1 -0
- package/dist/features/integrations/react/hooks/useCodexInstallToggle.d.ts.map +1 -0
- package/dist/features/integrations/react/hooks/useCodexInstallToggle.js.map +1 -0
- package/dist/features/integrations/react/hooks/useMcpInstallInfo.d.ts.map +1 -0
- package/dist/features/integrations/react/hooks/useMcpInstallInfo.js.map +1 -0
- package/dist/features/integrations/rules.d.ts +55 -0
- package/dist/features/integrations/rules.d.ts.map +1 -0
- package/dist/features/integrations/rules.js +193 -0
- package/dist/features/integrations/rules.js.map +1 -0
- package/dist/features/integrations/types.d.ts +58 -0
- package/dist/features/integrations/types.d.ts.map +1 -0
- package/dist/features/integrations/types.js +15 -0
- package/dist/features/integrations/types.js.map +1 -0
- package/dist/features/interactive-ui/index.d.ts +23 -0
- package/dist/features/interactive-ui/index.d.ts.map +1 -0
- package/dist/features/interactive-ui/index.js +37 -0
- package/dist/features/interactive-ui/index.js.map +1 -0
- package/dist/features/interactive-ui/interactive-ui.css +2 -0
- package/dist/features/interactive-ui/manifests.d.ts +21 -0
- package/dist/features/interactive-ui/manifests.d.ts.map +1 -0
- package/dist/features/interactive-ui/manifests.js +37 -0
- package/dist/features/interactive-ui/manifests.js.map +1 -0
- package/dist/features/interactive-ui/providers/native/data-table.d.ts +12 -0
- package/dist/features/interactive-ui/providers/native/data-table.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/native/data-table.js +5 -0
- package/dist/features/interactive-ui/providers/native/data-table.js.map +1 -0
- package/dist/features/interactive-ui/providers/native/data-table.manifest.d.ts +57 -0
- package/dist/features/interactive-ui/providers/native/data-table.manifest.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/native/data-table.manifest.js +31 -0
- package/dist/features/interactive-ui/providers/native/data-table.manifest.js.map +1 -0
- package/dist/features/interactive-ui/providers/native/index.d.ts +3 -0
- package/dist/features/interactive-ui/providers/native/index.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/native/index.js +3 -0
- package/dist/features/interactive-ui/providers/native/index.js.map +1 -0
- package/dist/features/interactive-ui/providers/recharts/bar-chart.d.ts +8 -0
- package/dist/features/interactive-ui/providers/recharts/bar-chart.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/recharts/bar-chart.js +6 -0
- package/dist/features/interactive-ui/providers/recharts/bar-chart.js.map +1 -0
- package/dist/features/interactive-ui/providers/recharts/bar-chart.manifest.d.ts +21 -0
- package/dist/features/interactive-ui/providers/recharts/bar-chart.manifest.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/recharts/bar-chart.manifest.js +18 -0
- package/dist/features/interactive-ui/providers/recharts/bar-chart.manifest.js.map +1 -0
- package/dist/features/interactive-ui/providers/recharts/index.d.ts +7 -0
- package/dist/features/interactive-ui/providers/recharts/index.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/recharts/index.js +7 -0
- package/dist/features/interactive-ui/providers/recharts/index.js.map +1 -0
- package/dist/features/interactive-ui/providers/recharts/line-chart.d.ts +8 -0
- package/dist/features/interactive-ui/providers/recharts/line-chart.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/recharts/line-chart.js +6 -0
- package/dist/features/interactive-ui/providers/recharts/line-chart.js.map +1 -0
- package/dist/features/interactive-ui/providers/recharts/line-chart.manifest.d.ts +20 -0
- package/dist/features/interactive-ui/providers/recharts/line-chart.manifest.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/recharts/line-chart.manifest.js +17 -0
- package/dist/features/interactive-ui/providers/recharts/line-chart.manifest.js.map +1 -0
- package/dist/features/interactive-ui/providers/recharts/pie-chart.d.ts +10 -0
- package/dist/features/interactive-ui/providers/recharts/pie-chart.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/recharts/pie-chart.js +7 -0
- package/dist/features/interactive-ui/providers/recharts/pie-chart.js.map +1 -0
- package/dist/features/interactive-ui/providers/recharts/pie-chart.manifest.d.ts +41 -0
- package/dist/features/interactive-ui/providers/recharts/pie-chart.manifest.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/recharts/pie-chart.manifest.js +15 -0
- package/dist/features/interactive-ui/providers/recharts/pie-chart.manifest.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/action-button.d.ts +14 -0
- package/dist/features/interactive-ui/providers/shadcn/action-button.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/action-button.js +6 -0
- package/dist/features/interactive-ui/providers/shadcn/action-button.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/action-button.manifest.d.ts +24 -0
- package/dist/features/interactive-ui/providers/shadcn/action-button.manifest.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/action-button.manifest.js +21 -0
- package/dist/features/interactive-ui/providers/shadcn/action-button.manifest.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/button.d.ts +18 -0
- package/dist/features/interactive-ui/providers/shadcn/button.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/button.js +40 -0
- package/dist/features/interactive-ui/providers/shadcn/button.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/card.d.ts +13 -0
- package/dist/features/interactive-ui/providers/shadcn/card.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/card.js +21 -0
- package/dist/features/interactive-ui/providers/shadcn/card.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/checkbox-field.d.ts +9 -0
- package/dist/features/interactive-ui/providers/shadcn/checkbox-field.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/checkbox-field.js +9 -0
- package/dist/features/interactive-ui/providers/shadcn/checkbox-field.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/checkbox-field.manifest.d.ts +17 -0
- package/dist/features/interactive-ui/providers/shadcn/checkbox-field.manifest.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/checkbox-field.manifest.js +16 -0
- package/dist/features/interactive-ui/providers/shadcn/checkbox-field.manifest.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/checkbox.d.ts +10 -0
- package/dist/features/interactive-ui/providers/shadcn/checkbox.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/checkbox.js +14 -0
- package/dist/features/interactive-ui/providers/shadcn/checkbox.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/content-card.d.ts +7 -0
- package/dist/features/interactive-ui/providers/shadcn/content-card.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/content-card.js +6 -0
- package/dist/features/interactive-ui/providers/shadcn/content-card.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/content-card.manifest.d.ts +17 -0
- package/dist/features/interactive-ui/providers/shadcn/content-card.manifest.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/content-card.manifest.js +16 -0
- package/dist/features/interactive-ui/providers/shadcn/content-card.manifest.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/data-table.d.ts +13 -0
- package/dist/features/interactive-ui/providers/shadcn/data-table.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/data-table.js +7 -0
- package/dist/features/interactive-ui/providers/shadcn/data-table.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/data-table.manifest.d.ts +47 -0
- package/dist/features/interactive-ui/providers/shadcn/data-table.manifest.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/data-table.manifest.js +21 -0
- package/dist/features/interactive-ui/providers/shadcn/data-table.manifest.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/index.d.ts +15 -0
- package/dist/features/interactive-ui/providers/shadcn/index.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/index.js +15 -0
- package/dist/features/interactive-ui/providers/shadcn/index.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/input.d.ts +8 -0
- package/dist/features/interactive-ui/providers/shadcn/input.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/input.js +13 -0
- package/dist/features/interactive-ui/providers/shadcn/input.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/label.d.ts +11 -0
- package/dist/features/interactive-ui/providers/shadcn/label.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/label.js +15 -0
- package/dist/features/interactive-ui/providers/shadcn/label.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/lib/utils.d.ts +9 -0
- package/dist/features/interactive-ui/providers/shadcn/lib/utils.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/lib/utils.js +12 -0
- package/dist/features/interactive-ui/providers/shadcn/lib/utils.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/radio-group-field.d.ts +13 -0
- package/dist/features/interactive-ui/providers/shadcn/radio-group-field.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/radio-group-field.js +14 -0
- package/dist/features/interactive-ui/providers/shadcn/radio-group-field.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/radio-group-field.manifest.d.ts +44 -0
- package/dist/features/interactive-ui/providers/shadcn/radio-group-field.manifest.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/radio-group-field.manifest.js +16 -0
- package/dist/features/interactive-ui/providers/shadcn/radio-group-field.manifest.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/radio-group.d.ts +11 -0
- package/dist/features/interactive-ui/providers/shadcn/radio-group.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/radio-group.js +20 -0
- package/dist/features/interactive-ui/providers/shadcn/radio-group.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/select-field.d.ts +14 -0
- package/dist/features/interactive-ui/providers/shadcn/select-field.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/select-field.js +8 -0
- package/dist/features/interactive-ui/providers/shadcn/select-field.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/select-field.manifest.d.ts +47 -0
- package/dist/features/interactive-ui/providers/shadcn/select-field.manifest.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/select-field.manifest.js +17 -0
- package/dist/features/interactive-ui/providers/shadcn/select-field.manifest.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/select.d.ts +19 -0
- package/dist/features/interactive-ui/providers/shadcn/select.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/select.js +30 -0
- package/dist/features/interactive-ui/providers/shadcn/select.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/table.d.ts +17 -0
- package/dist/features/interactive-ui/providers/shadcn/table.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/table.js +35 -0
- package/dist/features/interactive-ui/providers/shadcn/table.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/text-input-field.d.ts +16 -0
- package/dist/features/interactive-ui/providers/shadcn/text-input-field.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/text-input-field.js +6 -0
- package/dist/features/interactive-ui/providers/shadcn/text-input-field.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/text-input-field.manifest.d.ts +20 -0
- package/dist/features/interactive-ui/providers/shadcn/text-input-field.manifest.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/text-input-field.manifest.js +17 -0
- package/dist/features/interactive-ui/providers/shadcn/text-input-field.manifest.js.map +1 -0
- package/dist/features/interactive-ui/registry.d.ts +27 -0
- package/dist/features/interactive-ui/registry.d.ts.map +1 -0
- package/dist/features/interactive-ui/registry.js +27 -0
- package/dist/features/interactive-ui/registry.js.map +1 -0
- package/dist/features/interactive-ui/types.d.ts +18 -0
- package/dist/features/interactive-ui/types.d.ts.map +1 -0
- package/dist/features/interactive-ui/types.js.map +1 -0
- package/dist/features/language/index.d.ts.map +1 -0
- package/dist/features/language/index.js.map +1 -0
- package/dist/features/language/react/components/LanguageTab.d.ts.map +1 -0
- package/dist/features/language/react/components/LanguageTab.js +18 -0
- package/dist/features/language/react/components/LanguageTab.js.map +1 -0
- package/dist/features/language/types.d.ts +21 -0
- package/dist/features/language/types.d.ts.map +1 -0
- package/dist/features/language/types.js +2 -0
- package/dist/features/language/types.js.map +1 -0
- package/dist/features/list-detail-panel/types.d.ts +1 -1
- package/dist/features/list-detail-panel/types.js +1 -1
- package/dist/features/mcp-ui/confirmation-store.d.ts +110 -0
- package/dist/features/mcp-ui/confirmation-store.d.ts.map +1 -0
- package/dist/features/mcp-ui/confirmation-store.js +149 -0
- package/dist/features/mcp-ui/confirmation-store.js.map +1 -0
- package/dist/features/mcp-ui/early-message-buffer.d.ts +62 -0
- package/dist/features/mcp-ui/early-message-buffer.d.ts.map +1 -0
- package/dist/features/mcp-ui/early-message-buffer.js +69 -0
- package/dist/features/mcp-ui/early-message-buffer.js.map +1 -0
- package/dist/features/mcp-ui/escape.d.ts +51 -0
- package/dist/features/mcp-ui/escape.d.ts.map +1 -0
- package/dist/features/mcp-ui/escape.js +68 -0
- package/dist/features/mcp-ui/escape.js.map +1 -0
- package/dist/features/mcp-ui/index.d.ts +28 -0
- package/dist/features/mcp-ui/index.d.ts.map +1 -0
- package/dist/features/mcp-ui/index.js +28 -0
- package/dist/features/mcp-ui/index.js.map +1 -0
- package/dist/features/mcp-ui/protocol.d.ts +59 -0
- package/dist/features/mcp-ui/protocol.d.ts.map +1 -0
- package/dist/features/mcp-ui/protocol.js +58 -0
- package/dist/features/mcp-ui/protocol.js.map +1 -0
- package/dist/features/mcp-ui/resource.d.ts +192 -0
- package/dist/features/mcp-ui/resource.d.ts.map +1 -0
- package/dist/features/mcp-ui/resource.js +228 -0
- package/dist/features/mcp-ui/resource.js.map +1 -0
- package/dist/features/mcp-ui/sandbox-proxy.d.ts +132 -0
- package/dist/features/mcp-ui/sandbox-proxy.d.ts.map +1 -0
- package/dist/features/mcp-ui/sandbox-proxy.js +167 -0
- package/dist/features/mcp-ui/sandbox-proxy.js.map +1 -0
- package/dist/features/mcp-ui/surfaces/bridge.d.ts +43 -0
- package/dist/features/mcp-ui/surfaces/bridge.d.ts.map +1 -0
- package/dist/features/mcp-ui/surfaces/bridge.js +200 -0
- package/dist/features/mcp-ui/surfaces/bridge.js.map +1 -0
- package/dist/features/mcp-ui/surfaces/checkbox.d.ts +25 -0
- package/dist/features/mcp-ui/surfaces/checkbox.d.ts.map +1 -0
- package/dist/features/mcp-ui/surfaces/checkbox.js +26 -0
- package/dist/features/mcp-ui/surfaces/checkbox.js.map +1 -0
- package/dist/features/mcp-ui/surfaces/choice-group.d.ts +34 -0
- package/dist/features/mcp-ui/surfaces/choice-group.d.ts.map +1 -0
- package/dist/features/mcp-ui/surfaces/choice-group.js +70 -0
- package/dist/features/mcp-ui/surfaces/choice-group.js.map +1 -0
- package/dist/features/mcp-ui/surfaces/confirmation.d.ts +75 -0
- package/dist/features/mcp-ui/surfaces/confirmation.d.ts.map +1 -0
- package/dist/features/mcp-ui/surfaces/confirmation.js +148 -0
- package/dist/features/mcp-ui/surfaces/confirmation.js.map +1 -0
- package/dist/features/mcp-ui/surfaces/document.d.ts +173 -0
- package/dist/features/mcp-ui/surfaces/document.d.ts.map +1 -0
- package/dist/features/mcp-ui/surfaces/document.js +327 -0
- package/dist/features/mcp-ui/surfaces/document.js.map +1 -0
- package/dist/features/mcp-ui/surfaces/fields.d.ts +77 -0
- package/dist/features/mcp-ui/surfaces/fields.d.ts.map +1 -0
- package/dist/features/mcp-ui/surfaces/fields.js +97 -0
- package/dist/features/mcp-ui/surfaces/fields.js.map +1 -0
- package/dist/features/mcp-ui/surfaces/form.d.ts +78 -0
- package/dist/features/mcp-ui/surfaces/form.d.ts.map +1 -0
- package/dist/features/mcp-ui/surfaces/form.js +218 -0
- package/dist/features/mcp-ui/surfaces/form.js.map +1 -0
- package/dist/features/mcp-ui/surfaces/index.d.ts +12 -0
- package/dist/features/mcp-ui/surfaces/index.d.ts.map +1 -0
- package/dist/features/mcp-ui/surfaces/index.js +12 -0
- package/dist/features/mcp-ui/surfaces/index.js.map +1 -0
- package/dist/features/mcp-ui/surfaces/outcome.d.ts +102 -0
- package/dist/features/mcp-ui/surfaces/outcome.d.ts.map +1 -0
- package/dist/features/mcp-ui/surfaces/outcome.js +119 -0
- package/dist/features/mcp-ui/surfaces/outcome.js.map +1 -0
- package/dist/features/mcp-ui/surfaces/select.d.ts +35 -0
- package/dist/features/mcp-ui/surfaces/select.d.ts.map +1 -0
- package/dist/features/mcp-ui/surfaces/select.js +36 -0
- package/dist/features/mcp-ui/surfaces/select.js.map +1 -0
- package/dist/features/mcp-ui/surfaces/text-input.d.ts +35 -0
- package/dist/features/mcp-ui/surfaces/text-input.d.ts.map +1 -0
- package/dist/features/mcp-ui/surfaces/text-input.js +61 -0
- package/dist/features/mcp-ui/surfaces/text-input.js.map +1 -0
- package/dist/features/mcp-ui/surfaces/tokens.d.ts +106 -0
- package/dist/features/mcp-ui/surfaces/tokens.d.ts.map +1 -0
- package/dist/features/mcp-ui/surfaces/tokens.js +165 -0
- package/dist/features/mcp-ui/surfaces/tokens.js.map +1 -0
- package/dist/features/media-providers/constants.d.ts +10 -0
- package/dist/features/media-providers/constants.d.ts.map +1 -0
- package/dist/features/media-providers/constants.js +90 -0
- package/dist/features/media-providers/constants.js.map +1 -0
- package/dist/features/media-providers/dependencies.d.ts +27 -0
- package/dist/features/media-providers/dependencies.d.ts.map +1 -0
- package/dist/features/media-providers/dependencies.js +29 -0
- package/dist/features/media-providers/dependencies.js.map +1 -0
- package/dist/features/media-providers/index.d.ts +10 -0
- package/dist/features/media-providers/index.d.ts.map +1 -0
- package/dist/features/media-providers/index.js +6 -0
- package/dist/features/media-providers/index.js.map +1 -0
- package/dist/features/media-providers/ports.d.ts +51 -0
- package/dist/features/media-providers/ports.d.ts.map +1 -0
- package/dist/features/media-providers/ports.js +2 -0
- package/dist/features/media-providers/ports.js.map +1 -0
- package/dist/features/media-providers/react/components/MediaProvidersTab.d.ts +59 -0
- package/dist/features/media-providers/react/components/MediaProvidersTab.d.ts.map +1 -0
- package/dist/features/media-providers/react/components/MediaProvidersTab.js +92 -0
- package/dist/features/media-providers/react/components/MediaProvidersTab.js.map +1 -0
- package/dist/features/media-providers/react/hooks/useMediaProvidersTab.d.ts +58 -0
- package/dist/features/media-providers/react/hooks/useMediaProvidersTab.d.ts.map +1 -0
- package/dist/features/media-providers/react/hooks/useMediaProvidersTab.js +294 -0
- package/dist/features/media-providers/react/hooks/useMediaProvidersTab.js.map +1 -0
- package/dist/features/media-providers/rules.d.ts +139 -0
- package/dist/features/media-providers/rules.d.ts.map +1 -0
- package/dist/features/media-providers/rules.js +227 -0
- package/dist/features/media-providers/rules.js.map +1 -0
- package/dist/features/media-providers/types.d.ts +102 -0
- package/dist/features/media-providers/types.d.ts.map +1 -0
- package/dist/features/media-providers/types.js +27 -0
- package/dist/features/media-providers/types.js.map +1 -0
- package/dist/features/memory/constants.d.ts +0 -2
- package/dist/features/memory/constants.d.ts.map +1 -1
- package/dist/features/memory/constants.js +0 -9
- package/dist/features/memory/constants.js.map +1 -1
- package/dist/features/memory/dependencies.d.ts +1 -28
- package/dist/features/memory/dependencies.d.ts.map +1 -1
- package/dist/features/memory/dependencies.js +39 -23
- package/dist/features/memory/dependencies.js.map +1 -1
- package/dist/features/memory/formatters.d.ts +5 -2
- package/dist/features/memory/formatters.d.ts.map +1 -1
- package/dist/features/memory/formatters.js +1 -2
- package/dist/features/memory/formatters.js.map +1 -1
- package/dist/features/memory/index.d.ts +8 -8
- package/dist/features/memory/index.d.ts.map +1 -1
- package/dist/features/memory/index.js +6 -10
- package/dist/features/memory/index.js.map +1 -1
- package/dist/features/memory/ports.d.ts +1 -1
- package/dist/features/memory/react/components/MemoryConnectedPanel.d.ts +1 -1
- package/dist/features/memory/react/components/MemoryConnectedPanel.d.ts.map +1 -1
- package/dist/features/memory/react/components/MemoryConnectedPanel.js +2 -1
- package/dist/features/memory/react/components/MemoryConnectedPanel.js.map +1 -1
- package/dist/features/memory/react/components/MemoryEntryCard.d.ts.map +1 -1
- package/dist/features/memory/react/components/MemoryEntryCard.js +2 -1
- package/dist/features/memory/react/components/MemoryEntryCard.js.map +1 -1
- package/dist/features/memory/react/components/MemoryExtractionCard.d.ts.map +1 -1
- package/dist/features/memory/react/components/MemoryExtractionCard.js +1 -1
- package/dist/features/memory/react/components/MemoryExtractionCard.js.map +1 -1
- package/dist/features/memory/react/components/MemoryManualEditor.d.ts.map +1 -1
- package/dist/features/memory/react/components/MemoryManualEditor.js +2 -1
- package/dist/features/memory/react/components/MemoryManualEditor.js.map +1 -1
- package/dist/features/memory/react/components/MemorySettingsPanel.d.ts +22 -0
- package/dist/features/memory/react/components/MemorySettingsPanel.d.ts.map +1 -0
- package/dist/features/memory/react/components/MemorySettingsPanel.js +30 -0
- package/dist/features/memory/react/components/MemorySettingsPanel.js.map +1 -0
- package/dist/features/memory/react/hooks/useMemoryConfig.hooks.d.ts.map +1 -1
- package/dist/features/memory/react/hooks/useMemoryConfig.hooks.js +1 -1
- package/dist/features/memory/react/hooks/useMemoryConfig.hooks.js.map +1 -1
- package/dist/features/memory/react/hooks/useMemoryConnectors.hooks.d.ts +43 -1
- package/dist/features/memory/react/hooks/useMemoryConnectors.hooks.d.ts.map +1 -1
- package/dist/features/memory/react/hooks/useMemoryConnectors.hooks.js +99 -99
- package/dist/features/memory/react/hooks/useMemoryConnectors.hooks.js.map +1 -1
- package/dist/features/memory/react/hooks/useMemoryConnectors.rules.d.ts +54 -0
- package/dist/features/memory/react/hooks/useMemoryConnectors.rules.d.ts.map +1 -0
- package/dist/features/memory/react/hooks/useMemoryConnectors.rules.js +81 -0
- package/dist/features/memory/react/hooks/useMemoryConnectors.rules.js.map +1 -0
- package/dist/features/memory/react/hooks/useMemoryEntries.hooks.d.ts.map +1 -1
- package/dist/features/memory/react/hooks/useMemoryEntries.hooks.js +1 -1
- package/dist/features/memory/react/hooks/useMemoryEntries.hooks.js.map +1 -1
- package/dist/features/memory/react/hooks/useMemoryExtractions.hooks.d.ts.map +1 -1
- package/dist/features/memory/react/hooks/useMemoryExtractions.hooks.js.map +1 -1
- package/dist/features/memory/react/render-markdown.d.ts.map +1 -1
- package/dist/features/memory/react/render-markdown.js +3 -2
- package/dist/features/memory/react/render-markdown.js.map +1 -1
- package/dist/features/memory/react/styles.d.ts +11 -0
- package/dist/features/memory/react/styles.d.ts.map +1 -0
- package/dist/features/memory/react/styles.js +18 -0
- package/dist/features/memory/react/styles.js.map +1 -0
- package/dist/features/memory/rules.d.ts +1 -1
- package/dist/features/memory/rules.js +2 -2
- package/dist/features/memory/rules.js.map +1 -1
- package/dist/features/memory/types.d.ts +1 -1
- package/dist/features/memory/types.d.ts.map +1 -1
- package/dist/features/notifications/constants.d.ts.map +1 -0
- package/dist/features/notifications/constants.js +8 -0
- package/dist/features/notifications/constants.js.map +1 -0
- package/dist/features/notifications/index.d.ts +5 -0
- package/dist/features/notifications/index.d.ts.map +1 -0
- package/dist/features/notifications/index.js.map +1 -0
- package/dist/features/notifications/notifications-catalog.d.ts +25 -0
- package/dist/features/notifications/notifications-catalog.d.ts.map +1 -0
- package/dist/features/notifications/notifications-catalog.js +27 -0
- package/dist/features/notifications/notifications-catalog.js.map +1 -0
- package/dist/features/notifications/react/components/NotificationsTab.d.ts +48 -0
- package/dist/features/notifications/react/components/NotificationsTab.d.ts.map +1 -0
- package/dist/features/notifications/react/components/NotificationsTab.js +84 -0
- package/dist/features/notifications/react/components/NotificationsTab.js.map +1 -0
- package/dist/features/notifications/rules.d.ts +21 -0
- package/dist/features/notifications/rules.d.ts.map +1 -0
- package/dist/features/notifications/rules.js +7 -0
- package/dist/features/notifications/rules.js.map +1 -0
- package/dist/features/notifications/types.d.ts +15 -0
- package/dist/features/notifications/types.d.ts.map +1 -0
- package/dist/features/notifications/types.js +2 -0
- package/dist/features/notifications/types.js.map +1 -0
- package/dist/features/privacy/index.d.ts +5 -0
- package/dist/features/privacy/index.d.ts.map +1 -0
- package/dist/features/privacy/index.js.map +1 -0
- package/dist/features/privacy/react/components/PrivacyTab.d.ts +34 -0
- package/dist/features/privacy/react/components/PrivacyTab.d.ts.map +1 -0
- package/dist/features/privacy/react/components/PrivacyTab.js +36 -0
- package/dist/features/privacy/react/components/PrivacyTab.js.map +1 -0
- package/dist/features/privacy/rules.d.ts.map +1 -0
- package/dist/features/privacy/rules.js +70 -0
- package/dist/features/privacy/rules.js.map +1 -0
- package/dist/features/privacy/types.d.ts.map +1 -0
- package/dist/features/privacy/types.js.map +1 -0
- package/dist/features/project-locations/dependencies.d.ts +20 -0
- package/dist/features/project-locations/dependencies.d.ts.map +1 -0
- package/dist/features/project-locations/dependencies.js +45 -0
- package/dist/features/project-locations/dependencies.js.map +1 -0
- package/dist/features/project-locations/index.d.ts +9 -0
- package/dist/features/project-locations/index.d.ts.map +1 -0
- package/dist/features/project-locations/index.js +5 -0
- package/dist/features/project-locations/index.js.map +1 -0
- package/dist/features/project-locations/ports.d.ts +41 -0
- package/dist/features/project-locations/ports.d.ts.map +1 -0
- package/dist/features/project-locations/ports.js +2 -0
- package/dist/features/project-locations/ports.js.map +1 -0
- package/dist/features/project-locations/react/components/ProjectLocationsTab.d.ts +36 -0
- package/dist/features/project-locations/react/components/ProjectLocationsTab.d.ts.map +1 -0
- package/dist/features/project-locations/react/components/ProjectLocationsTab.js +53 -0
- package/dist/features/project-locations/react/components/ProjectLocationsTab.js.map +1 -0
- package/dist/features/project-locations/react/hooks/useProjectLocationsTab.d.ts +41 -0
- package/dist/features/project-locations/react/hooks/useProjectLocationsTab.d.ts.map +1 -0
- package/dist/features/project-locations/react/hooks/useProjectLocationsTab.js +157 -0
- package/dist/features/project-locations/react/hooks/useProjectLocationsTab.js.map +1 -0
- package/dist/features/project-locations/rules.d.ts +53 -0
- package/dist/features/project-locations/rules.d.ts.map +1 -0
- package/dist/features/project-locations/rules.js +82 -0
- package/dist/features/project-locations/rules.js.map +1 -0
- package/dist/features/project-locations/types.d.ts +78 -0
- package/dist/features/project-locations/types.d.ts.map +1 -0
- package/dist/features/project-locations/types.js +13 -0
- package/dist/features/project-locations/types.js.map +1 -0
- package/dist/features/resource-dashboard/types.d.ts +1 -1
- package/dist/features/resource-dashboard/types.js +1 -1
- package/dist/features/settings/dialog/index.d.ts +7 -0
- package/dist/features/settings/dialog/index.d.ts.map +1 -0
- package/dist/features/settings/dialog/index.js +8 -0
- package/dist/features/settings/dialog/index.js.map +1 -0
- package/dist/features/settings/dialog/react/components/SettingsDialogShell.d.ts +33 -0
- package/dist/features/settings/dialog/react/components/SettingsDialogShell.d.ts.map +1 -0
- package/dist/features/settings/dialog/react/components/SettingsDialogShell.js +32 -0
- package/dist/features/settings/dialog/react/components/SettingsDialogShell.js.map +1 -0
- package/dist/features/settings/dialog/react/hooks/useSettingsDialogShell.d.ts +11 -0
- package/dist/features/settings/dialog/react/hooks/useSettingsDialogShell.d.ts.map +1 -0
- package/dist/features/settings/dialog/react/hooks/useSettingsDialogShell.js +10 -0
- package/dist/features/settings/dialog/react/hooks/useSettingsDialogShell.js.map +1 -0
- package/dist/features/settings/dialog/styles/settings-dialog.css +4434 -0
- package/dist/features/skills/dependencies.d.ts +18 -0
- package/dist/features/skills/dependencies.d.ts.map +1 -0
- package/dist/features/skills/dependencies.js +82 -0
- package/dist/features/skills/dependencies.js.map +1 -0
- package/dist/features/skills/index.d.ts +13 -0
- package/dist/features/skills/index.d.ts.map +1 -0
- package/dist/features/skills/index.js +7 -0
- package/dist/features/skills/index.js.map +1 -0
- package/dist/features/skills/ports.d.ts +45 -0
- package/dist/features/skills/ports.d.ts.map +1 -0
- package/dist/features/skills/ports.js +2 -0
- package/dist/features/skills/ports.js.map +1 -0
- package/dist/features/skills/react/components/SkillDraftForm.d.ts +39 -0
- package/dist/features/skills/react/components/SkillDraftForm.d.ts.map +1 -0
- package/dist/features/skills/react/components/SkillDraftForm.js +29 -0
- package/dist/features/skills/react/components/SkillDraftForm.js.map +1 -0
- package/dist/features/skills/react/components/SkillRow.d.ts +54 -0
- package/dist/features/skills/react/components/SkillRow.d.ts.map +1 -0
- package/dist/features/skills/react/components/SkillRow.js +34 -0
- package/dist/features/skills/react/components/SkillRow.js.map +1 -0
- package/dist/features/skills/react/components/SkillsTab.d.ts +34 -0
- package/dist/features/skills/react/components/SkillsTab.d.ts.map +1 -0
- package/dist/features/skills/react/components/SkillsTab.js +33 -0
- package/dist/features/skills/react/components/SkillsTab.js.map +1 -0
- package/dist/features/skills/react/hooks/useSkillsTab.d.ts +70 -0
- package/dist/features/skills/react/hooks/useSkillsTab.d.ts.map +1 -0
- package/dist/features/skills/react/hooks/useSkillsTab.js +282 -0
- package/dist/features/skills/react/hooks/useSkillsTab.js.map +1 -0
- package/dist/features/skills/rules.d.ts +156 -0
- package/dist/features/skills/rules.d.ts.map +1 -0
- package/dist/features/skills/rules.js +272 -0
- package/dist/features/skills/rules.js.map +1 -0
- package/dist/features/skills/types.d.ts +97 -0
- package/dist/features/skills/types.d.ts.map +1 -0
- package/dist/features/skills/types.js +18 -0
- package/dist/features/skills/types.js.map +1 -0
- package/dist/features/source-config-list/agent-handles.d.ts +121 -0
- package/dist/features/source-config-list/agent-handles.d.ts.map +1 -0
- package/dist/features/source-config-list/agent-handles.js +151 -0
- package/dist/features/source-config-list/agent-handles.js.map +1 -0
- package/dist/features/source-config-list/index.d.ts +6 -5
- package/dist/features/source-config-list/index.d.ts.map +1 -1
- package/dist/features/source-config-list/index.js +3 -2
- package/dist/features/source-config-list/index.js.map +1 -1
- package/dist/features/source-config-list/react/components/SourceConfigAddForm.d.ts +28 -1
- package/dist/features/source-config-list/react/components/SourceConfigAddForm.d.ts.map +1 -1
- package/dist/features/source-config-list/react/components/SourceConfigAddForm.js +25 -4
- package/dist/features/source-config-list/react/components/SourceConfigAddForm.js.map +1 -1
- package/dist/features/source-config-list/react/components/SourceConfigField.d.ts +36 -1
- package/dist/features/source-config-list/react/components/SourceConfigField.d.ts.map +1 -1
- package/dist/features/source-config-list/react/components/SourceConfigField.js +74 -3
- package/dist/features/source-config-list/react/components/SourceConfigField.js.map +1 -1
- package/dist/features/source-config-list/react/components/SourceConfigItemCard.d.ts +39 -2
- package/dist/features/source-config-list/react/components/SourceConfigItemCard.d.ts.map +1 -1
- package/dist/features/source-config-list/react/components/SourceConfigItemCard.js +55 -4
- package/dist/features/source-config-list/react/components/SourceConfigItemCard.js.map +1 -1
- package/dist/features/source-config-list/react/components/SourceConfigList.d.ts +9 -3
- package/dist/features/source-config-list/react/components/SourceConfigList.d.ts.map +1 -1
- package/dist/features/source-config-list/react/components/SourceConfigList.js +2 -2
- package/dist/features/source-config-list/react/components/SourceConfigList.js.map +1 -1
- package/dist/features/source-config-list/react/components/SourceConfigListView.d.ts +13 -2
- package/dist/features/source-config-list/react/components/SourceConfigListView.d.ts.map +1 -1
- package/dist/features/source-config-list/react/components/SourceConfigListView.js +8 -2
- package/dist/features/source-config-list/react/components/SourceConfigListView.js.map +1 -1
- package/dist/features/source-config-list/react/components/SourceConfigTestControl.d.ts +18 -1
- package/dist/features/source-config-list/react/components/SourceConfigTestControl.d.ts.map +1 -1
- package/dist/features/source-config-list/react/components/SourceConfigTestControl.js +16 -2
- package/dist/features/source-config-list/react/components/SourceConfigTestControl.js.map +1 -1
- package/dist/features/source-config-list/react/hooks/useSourceConfigAddForm.d.ts.map +1 -1
- package/dist/features/source-config-list/react/hooks/useSourceConfigAddForm.js.map +1 -1
- package/dist/features/source-config-list/react/hooks/useSourceConfigList.d.ts +12 -1
- package/dist/features/source-config-list/react/hooks/useSourceConfigList.d.ts.map +1 -1
- package/dist/features/source-config-list/react/hooks/useSourceConfigList.js.map +1 -1
- package/dist/features/source-config-list/rules.d.ts +22 -5
- package/dist/features/source-config-list/rules.d.ts.map +1 -1
- package/dist/features/source-config-list/rules.js +56 -16
- package/dist/features/source-config-list/rules.js.map +1 -1
- package/dist/features/source-config-list/types.d.ts +16 -2
- package/dist/features/source-config-list/types.d.ts.map +1 -1
- package/dist/features/tab-strip/types.d.ts +1 -1
- package/dist/features/tabbed-dialog/index.d.ts +7 -0
- package/dist/features/tabbed-dialog/index.d.ts.map +1 -0
- package/dist/features/tabbed-dialog/index.js +4 -0
- package/dist/features/tabbed-dialog/index.js.map +1 -0
- package/dist/features/tabbed-dialog/react/components/TabbedDialog.d.ts +71 -0
- package/dist/features/tabbed-dialog/react/components/TabbedDialog.d.ts.map +1 -0
- package/dist/features/tabbed-dialog/react/components/TabbedDialog.js +72 -0
- package/dist/features/tabbed-dialog/react/components/TabbedDialog.js.map +1 -0
- package/dist/features/tabbed-dialog/react/hooks/useTabbedDialog.d.ts +39 -0
- package/dist/features/tabbed-dialog/react/hooks/useTabbedDialog.d.ts.map +1 -0
- package/dist/features/tabbed-dialog/react/hooks/useTabbedDialog.js +50 -0
- package/dist/features/tabbed-dialog/react/hooks/useTabbedDialog.js.map +1 -0
- package/dist/features/tabbed-dialog/rules.d.ts +13 -0
- package/dist/features/tabbed-dialog/rules.d.ts.map +1 -0
- package/dist/features/tabbed-dialog/rules.js.map +1 -0
- package/dist/features/tabbed-dialog/styles/tabbed-dialog.css +406 -0
- package/dist/features/tabbed-dialog/types.d.ts +51 -0
- package/dist/features/tabbed-dialog/types.d.ts.map +1 -0
- package/dist/features/tabbed-dialog/types.js +23 -0
- package/dist/features/tabbed-dialog/types.js.map +1 -0
- package/dist/features/viewer-shell/react/components/ViewportSwitcher.d.ts +1 -1
- package/dist/features/viewer-shell/react/components/ViewportSwitcher.js +1 -1
- package/dist/features/viewer-shell/rules.d.ts +1 -1
- package/dist/features/viewer-shell/rules.js +1 -1
- package/dist/icon-name.d.ts +21 -0
- package/dist/icon-name.d.ts.map +1 -0
- package/dist/icon-name.js +25 -0
- package/dist/icon-name.js.map +1 -0
- package/dist/index.d.ts +16 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -9
- package/dist/index.js.map +1 -1
- package/dist/react/components/AgentIcon.d.ts +5 -3
- package/dist/react/components/AgentIcon.d.ts.map +1 -1
- package/dist/react/components/AgentIcon.js +40 -13
- package/dist/react/components/AgentIcon.js.map +1 -1
- package/dist/react/components/AppChromeHeader.js +1 -1
- package/dist/react/components/AppChromeHeader.js.map +1 -1
- package/dist/react/components/CustomSelect.d.ts +19 -4
- package/dist/react/components/CustomSelect.d.ts.map +1 -1
- package/dist/react/components/CustomSelect.js +59 -12
- package/dist/react/components/CustomSelect.js.map +1 -1
- package/dist/react/components/EdgeScrollZones.js +1 -1
- package/dist/react/components/EdgeScrollZones.js.map +1 -1
- package/dist/react/components/ExportDiagnosticsButton.d.ts.map +1 -1
- package/dist/react/components/ExportDiagnosticsButton.js +5 -2
- package/dist/react/components/ExportDiagnosticsButton.js.map +1 -1
- package/dist/react/components/HeaderActionsMenu.d.ts +1 -1
- package/dist/react/components/HeaderActionsMenu.d.ts.map +1 -1
- package/dist/react/components/HeaderActionsMenu.js +1 -1
- package/dist/react/components/HeaderActionsMenu.js.map +1 -1
- package/dist/react/components/Icon.d.ts +7 -4
- package/dist/react/components/Icon.d.ts.map +1 -1
- package/dist/react/components/Icon.js +133 -213
- package/dist/react/components/Icon.js.map +1 -1
- package/dist/react/components/LanguageMenu.d.ts +2 -4
- package/dist/react/components/LanguageMenu.d.ts.map +1 -1
- package/dist/react/components/LanguageMenu.js +1 -1
- package/dist/react/components/LanguageMenu.js.map +1 -1
- package/dist/react/components/Loading.js +1 -1
- package/dist/react/components/Loading.js.map +1 -1
- package/dist/react/components/PaletteTweaks.js +1 -1
- package/dist/react/components/PaletteTweaks.js.map +1 -1
- package/dist/react/components/RemixIcon.d.ts +3 -3
- package/dist/react/components/RemixIcon.d.ts.map +1 -1
- package/dist/react/components/RemixIcon.js +39 -3
- package/dist/react/components/RemixIcon.js.map +1 -1
- package/dist/react/components/Toast.js +1 -1
- package/dist/react/components/Toast.js.map +1 -1
- package/dist/react/components/WorkingDirPicker.js +1 -1
- package/dist/react/components/WorkingDirPicker.js.map +1 -1
- package/dist/react/components/agent-icon-data-uris.generated.d.ts +2 -0
- package/dist/react/components/agent-icon-data-uris.generated.d.ts.map +1 -0
- package/dist/react/components/agent-icon-data-uris.generated.js +27 -0
- package/dist/react/components/agent-icon-data-uris.generated.js.map +1 -0
- package/dist/react/components/remixicon-font/remixicon.css +3270 -0
- package/dist/react/components/remixicon-font/remixicon.woff2 +0 -0
- package/dist/react/hooks/useBrandFonts.d.ts.map +1 -1
- package/dist/react/hooks/useBrandFonts.js +2 -3
- package/dist/react/hooks/useBrandFonts.js.map +1 -1
- package/dist/react/mcp-ui/McpUiHost.d.ts +19 -0
- package/dist/react/mcp-ui/McpUiHost.d.ts.map +1 -0
- package/dist/react/mcp-ui/McpUiHost.js +34 -0
- package/dist/react/mcp-ui/McpUiHost.js.map +1 -0
- package/dist/react/mcp-ui/host-message-source.d.ts +27 -0
- package/dist/react/mcp-ui/host-message-source.d.ts.map +1 -0
- package/dist/react/mcp-ui/host-message-source.js +33 -0
- package/dist/react/mcp-ui/host-message-source.js.map +1 -0
- package/dist/react/mcp-ui/index.d.ts +23 -0
- package/dist/react/mcp-ui/index.d.ts.map +1 -0
- package/dist/react/mcp-ui/index.js +26 -0
- package/dist/react/mcp-ui/index.js.map +1 -0
- package/dist/react/mcp-ui/useMcpUiHost.d.ts +160 -0
- package/dist/react/mcp-ui/useMcpUiHost.d.ts.map +1 -0
- package/dist/react/mcp-ui/useMcpUiHost.js +193 -0
- package/dist/react/mcp-ui/useMcpUiHost.js.map +1 -0
- package/dist/renderers/annotation-canvas/dependencies.d.ts +13 -0
- package/dist/renderers/annotation-canvas/dependencies.d.ts.map +1 -0
- package/dist/renderers/annotation-canvas/dependencies.js +8 -0
- package/dist/renderers/annotation-canvas/dependencies.js.map +1 -0
- package/dist/renderers/annotation-canvas/drawing.d.ts +39 -0
- package/dist/renderers/annotation-canvas/drawing.d.ts.map +1 -0
- package/dist/renderers/annotation-canvas/drawing.js +135 -0
- package/dist/renderers/annotation-canvas/drawing.js.map +1 -0
- package/dist/renderers/annotation-canvas/index.d.ts +13 -0
- package/dist/renderers/annotation-canvas/index.d.ts.map +1 -0
- package/dist/renderers/annotation-canvas/index.js +7 -0
- package/dist/renderers/annotation-canvas/index.js.map +1 -0
- package/dist/renderers/annotation-canvas/ports.d.ts +30 -0
- package/dist/renderers/annotation-canvas/ports.d.ts.map +1 -0
- package/dist/renderers/annotation-canvas/ports.js +2 -0
- package/dist/renderers/annotation-canvas/ports.js.map +1 -0
- package/dist/renderers/annotation-canvas/react/components/AnnotationCanvas.d.ts +24 -0
- package/dist/renderers/annotation-canvas/react/components/AnnotationCanvas.d.ts.map +1 -0
- package/dist/renderers/annotation-canvas/react/components/AnnotationCanvas.js +102 -0
- package/dist/renderers/annotation-canvas/react/components/AnnotationCanvas.js.map +1 -0
- package/dist/renderers/annotation-canvas/react/components/icons.d.ts +11 -0
- package/dist/renderers/annotation-canvas/react/components/icons.d.ts.map +1 -0
- package/dist/renderers/annotation-canvas/react/components/icons.js +21 -0
- package/dist/renderers/annotation-canvas/react/components/icons.js.map +1 -0
- package/dist/renderers/annotation-canvas/react/hooks/useAnnotationCanvas.controller.d.ts +146 -0
- package/dist/renderers/annotation-canvas/react/hooks/useAnnotationCanvas.controller.d.ts.map +1 -0
- package/dist/renderers/annotation-canvas/react/hooks/useAnnotationCanvas.controller.js +118 -0
- package/dist/renderers/annotation-canvas/react/hooks/useAnnotationCanvas.controller.js.map +1 -0
- package/dist/renderers/annotation-canvas/react/hooks/useAnnotationCanvas.d.ts +101 -0
- package/dist/renderers/annotation-canvas/react/hooks/useAnnotationCanvas.d.ts.map +1 -0
- package/dist/renderers/annotation-canvas/react/hooks/useAnnotationCanvas.js +834 -0
- package/dist/renderers/annotation-canvas/react/hooks/useAnnotationCanvas.js.map +1 -0
- package/dist/renderers/annotation-canvas/rules.d.ts +73 -0
- package/dist/renderers/annotation-canvas/rules.d.ts.map +1 -0
- package/dist/renderers/annotation-canvas/rules.js +177 -0
- package/dist/renderers/annotation-canvas/rules.js.map +1 -0
- package/dist/renderers/annotation-canvas/types.d.ts +108 -0
- package/dist/renderers/annotation-canvas/types.d.ts.map +1 -0
- package/dist/renderers/annotation-canvas/types.js +2 -0
- package/dist/renderers/annotation-canvas/types.js.map +1 -0
- package/dist/renderers/html-utils.d.ts +25 -0
- package/dist/renderers/html-utils.d.ts.map +1 -0
- package/dist/renderers/html-utils.js +53 -0
- package/dist/renderers/html-utils.js.map +1 -0
- package/dist/renderers/index.d.ts +45 -0
- package/dist/renderers/index.d.ts.map +1 -0
- package/dist/renderers/index.js +36 -0
- package/dist/renderers/index.js.map +1 -0
- package/dist/renderers/new-tab-preview.d.ts +22 -0
- package/dist/renderers/new-tab-preview.d.ts.map +1 -0
- package/dist/renderers/new-tab-preview.js +50 -0
- package/dist/renderers/new-tab-preview.js.map +1 -0
- package/dist/renderers/preview-modal-shell/index.d.ts +10 -0
- package/dist/renderers/preview-modal-shell/index.d.ts.map +1 -0
- package/dist/renderers/preview-modal-shell/index.js +5 -0
- package/dist/renderers/preview-modal-shell/index.js.map +1 -0
- package/dist/renderers/preview-modal-shell/react/components/PreviewModalShell.d.ts +62 -0
- package/dist/renderers/preview-modal-shell/react/components/PreviewModalShell.d.ts.map +1 -0
- package/dist/renderers/preview-modal-shell/react/components/PreviewModalShell.js +74 -0
- package/dist/renderers/preview-modal-shell/react/components/PreviewModalShell.js.map +1 -0
- package/dist/renderers/preview-modal-shell/react/components/icons.d.ts +12 -0
- package/dist/renderers/preview-modal-shell/react/components/icons.d.ts.map +1 -0
- package/dist/renderers/preview-modal-shell/react/components/icons.js +11 -0
- package/dist/renderers/preview-modal-shell/react/components/icons.js.map +1 -0
- package/dist/renderers/preview-modal-shell/react/hooks/usePreviewModalShell.d.ts +50 -0
- package/dist/renderers/preview-modal-shell/react/hooks/usePreviewModalShell.d.ts.map +1 -0
- package/dist/renderers/preview-modal-shell/react/hooks/usePreviewModalShell.js +171 -0
- package/dist/renderers/preview-modal-shell/react/hooks/usePreviewModalShell.js.map +1 -0
- package/dist/renderers/preview-modal-shell/rules.d.ts +44 -0
- package/dist/renderers/preview-modal-shell/rules.d.ts.map +1 -0
- package/dist/renderers/preview-modal-shell/rules.js +50 -0
- package/dist/renderers/preview-modal-shell/rules.js.map +1 -0
- package/dist/renderers/preview-modal-shell/types.d.ts +50 -0
- package/dist/renderers/preview-modal-shell/types.d.ts.map +1 -0
- package/dist/renderers/preview-modal-shell/types.js +14 -0
- package/dist/renderers/preview-modal-shell/types.js.map +1 -0
- package/dist/renderers/react/components/ArtifactView.d.ts +46 -0
- package/dist/renderers/react/components/ArtifactView.d.ts.map +1 -0
- package/dist/renderers/react/components/ArtifactView.js +35 -0
- package/dist/renderers/react/components/ArtifactView.js.map +1 -0
- package/dist/renderers/react/components/SrcDocSandbox.d.ts +13 -0
- package/dist/renderers/react/components/SrcDocSandbox.d.ts.map +1 -0
- package/dist/renderers/react/components/SrcDocSandbox.js +34 -0
- package/dist/renderers/react/components/SrcDocSandbox.js.map +1 -0
- package/dist/renderers/react/i18n.d.ts +30 -0
- package/dist/renderers/react/i18n.d.ts.map +1 -0
- package/dist/renderers/react/i18n.js +40 -0
- package/dist/renderers/react/i18n.js.map +1 -0
- package/dist/renderers/registry.d.ts +57 -0
- package/dist/renderers/registry.d.ts.map +1 -0
- package/dist/renderers/registry.js +39 -0
- package/dist/renderers/registry.js.map +1 -0
- package/dist/renderers/renderers/html.d.ts +10 -0
- package/dist/renderers/renderers/html.d.ts.map +1 -0
- package/dist/renderers/renderers/html.js +23 -0
- package/dist/renderers/renderers/html.js.map +1 -0
- package/dist/renderers/renderers/index.d.ts +12 -0
- package/dist/renderers/renderers/index.d.ts.map +1 -0
- package/dist/renderers/renderers/index.js +18 -0
- package/dist/renderers/renderers/index.js.map +1 -0
- package/dist/renderers/renderers/markdown.d.ts +4 -0
- package/dist/renderers/renderers/markdown.d.ts.map +1 -0
- package/dist/renderers/renderers/markdown.js +126 -0
- package/dist/renderers/renderers/markdown.js.map +1 -0
- package/dist/renderers/renderers/react-component.d.ts +10 -0
- package/dist/renderers/renderers/react-component.d.ts.map +1 -0
- package/dist/renderers/renderers/react-component.js +19 -0
- package/dist/renderers/renderers/react-component.js.map +1 -0
- package/dist/renderers/renderers/svg.d.ts +3 -0
- package/dist/renderers/renderers/svg.d.ts.map +1 -0
- package/dist/renderers/renderers/svg.js +14 -0
- package/dist/renderers/renderers/svg.js.map +1 -0
- package/dist/renderers/sandbox-bridge.d.ts +44 -0
- package/dist/renderers/sandbox-bridge.d.ts.map +1 -0
- package/dist/renderers/sandbox-bridge.js +46 -0
- package/dist/renderers/sandbox-bridge.js.map +1 -0
- package/dist/renderers/sandboxed-document.d.ts +34 -0
- package/dist/renderers/sandboxed-document.d.ts.map +1 -0
- package/dist/renderers/sandboxed-document.js +152 -0
- package/dist/renderers/sandboxed-document.js.map +1 -0
- package/dist/renderers/shiki.d.ts +2 -0
- package/dist/renderers/shiki.d.ts.map +1 -0
- package/dist/renderers/shiki.js +55 -0
- package/dist/renderers/shiki.js.map +1 -0
- package/dist/renderers/srcdoc/bridge.d.ts +37 -0
- package/dist/renderers/srcdoc/bridge.d.ts.map +1 -0
- package/dist/renderers/srcdoc/bridge.js +35 -0
- package/dist/renderers/srcdoc/bridge.js.map +1 -0
- package/dist/renderers/srcdoc/build.d.ts +130 -0
- package/dist/renderers/srcdoc/build.d.ts.map +1 -0
- package/dist/renderers/srcdoc/build.js +448 -0
- package/dist/renderers/srcdoc/build.js.map +1 -0
- package/dist/renderers/srcdoc/index.d.ts +3 -0
- package/dist/renderers/srcdoc/index.d.ts.map +1 -0
- package/dist/renderers/srcdoc/index.js +3 -0
- package/dist/renderers/srcdoc/index.js.map +1 -0
- package/dist/renderers/types.d.ts +98 -0
- package/dist/renderers/types.d.ts.map +1 -0
- package/dist/renderers/types.js +2 -0
- package/dist/renderers/types.js.map +1 -0
- package/dist/renderers/url-load-decision.d.ts +93 -0
- package/dist/renderers/url-load-decision.d.ts.map +1 -0
- package/dist/renderers/url-load-decision.js +116 -0
- package/dist/renderers/url-load-decision.js.map +1 -0
- package/dist/utils/appearance.d.ts +2 -16
- package/dist/utils/appearance.d.ts.map +1 -1
- package/dist/utils/appearance.js +11 -51
- package/dist/utils/appearance.js.map +1 -1
- package/dist/utils/endpoint-policy.d.ts +65 -0
- package/dist/utils/endpoint-policy.d.ts.map +1 -0
- package/dist/utils/endpoint-policy.js +157 -0
- package/dist/utils/endpoint-policy.js.map +1 -0
- package/dist/utils/file-transfer.d.ts +10 -0
- package/dist/utils/file-transfer.d.ts.map +1 -1
- package/dist/utils/file-transfer.js +22 -1
- package/dist/utils/file-transfer.js.map +1 -1
- package/dist/utils/notifications.d.ts +2 -9
- package/dist/utils/notifications.d.ts.map +1 -1
- package/dist/utils/notifications.js +1 -13
- package/dist/utils/notifications.js.map +1 -1
- package/package.json +123 -20
- package/LICENSE +0 -201
- package/dist/components/AgentIcon.d.ts +0 -15
- package/dist/components/AgentIcon.d.ts.map +0 -1
- package/dist/components/AgentIcon.js +0 -80
- package/dist/components/AgentIcon.js.map +0 -1
- package/dist/components/AppChromeHeader.d.ts +0 -19
- package/dist/components/AppChromeHeader.d.ts.map +0 -1
- package/dist/components/AppChromeHeader.js +0 -11
- package/dist/components/AppChromeHeader.js.map +0 -1
- package/dist/components/CustomSelect.d.ts +0 -28
- package/dist/components/CustomSelect.d.ts.map +0 -1
- package/dist/components/CustomSelect.js +0 -167
- package/dist/components/CustomSelect.js.map +0 -1
- package/dist/components/ExportDiagnosticsButton.d.ts +0 -40
- package/dist/components/ExportDiagnosticsButton.d.ts.map +0 -1
- package/dist/components/ExportDiagnosticsButton.js +0 -112
- package/dist/components/ExportDiagnosticsButton.js.map +0 -1
- package/dist/components/Icon.d.ts +0 -15
- package/dist/components/Icon.d.ts.map +0 -1
- package/dist/components/Icon.js +0 -236
- package/dist/components/Icon.js.map +0 -1
- package/dist/components/KitErrorBoundary.d.ts +0 -13
- package/dist/components/KitErrorBoundary.d.ts.map +0 -1
- package/dist/components/KitErrorBoundary.js +0 -30
- package/dist/components/KitErrorBoundary.js.map +0 -1
- package/dist/components/LanguageMenu.d.ts +0 -23
- package/dist/components/LanguageMenu.d.ts.map +0 -1
- package/dist/components/LanguageMenu.js +0 -44
- package/dist/components/LanguageMenu.js.map +0 -1
- package/dist/components/Loading.d.ts +0 -27
- package/dist/components/Loading.d.ts.map +0 -1
- package/dist/components/Loading.js +0 -24
- package/dist/components/Loading.js.map +0 -1
- package/dist/components/PaletteTweaks.d.ts +0 -11
- package/dist/components/PaletteTweaks.d.ts.map +0 -1
- package/dist/components/PaletteTweaks.js +0 -65
- package/dist/components/PaletteTweaks.js.map +0 -1
- package/dist/components/RemixIcon.d.ts +0 -15
- package/dist/components/RemixIcon.d.ts.map +0 -1
- package/dist/components/RemixIcon.js +0 -19
- package/dist/components/RemixIcon.js.map +0 -1
- package/dist/components/Toast.d.ts +0 -18
- package/dist/components/Toast.d.ts.map +0 -1
- package/dist/components/Toast.js +0 -70
- package/dist/components/Toast.js.map +0 -1
- package/dist/components/TooltipLayer.d.ts +0 -9
- package/dist/components/TooltipLayer.d.ts.map +0 -1
- package/dist/components/TooltipLayer.js +0 -289
- package/dist/components/TooltipLayer.js.map +0 -1
- package/dist/components/WorkingDirPicker.d.ts +0 -47
- package/dist/components/WorkingDirPicker.d.ts.map +0 -1
- package/dist/components/WorkingDirPicker.js +0 -63
- package/dist/components/WorkingDirPicker.js.map +0 -1
- package/dist/features/agent-tools/model-context.d.ts +0 -30
- package/dist/features/agent-tools/model-context.d.ts.map +0 -1
- package/dist/features/agent-tools/model-context.js +0 -29
- package/dist/features/agent-tools/model-context.js.map +0 -1
- package/dist/features/agent-tools/types.d.ts +0 -34
- package/dist/features/agent-tools/types.d.ts.map +0 -1
- package/dist/features/agent-tools/types.js +0 -18
- package/dist/features/agent-tools/types.js.map +0 -1
- package/dist/features/rich-text-input/constants.d.ts +0 -16
- package/dist/features/rich-text-input/constants.d.ts.map +0 -1
- package/dist/features/rich-text-input/constants.js +0 -18
- package/dist/features/rich-text-input/constants.js.map +0 -1
- package/dist/features/rich-text-input/deserialize.d.ts +0 -9
- package/dist/features/rich-text-input/deserialize.d.ts.map +0 -1
- package/dist/features/rich-text-input/deserialize.js +0 -55
- package/dist/features/rich-text-input/deserialize.js.map +0 -1
- package/dist/features/rich-text-input/index.d.ts +0 -12
- package/dist/features/rich-text-input/index.d.ts.map +0 -1
- package/dist/features/rich-text-input/index.js +0 -11
- package/dist/features/rich-text-input/index.js.map +0 -1
- package/dist/features/rich-text-input/mention-node.d.ts +0 -56
- package/dist/features/rich-text-input/mention-node.d.ts.map +0 -1
- package/dist/features/rich-text-input/mention-node.js +0 -142
- package/dist/features/rich-text-input/mention-node.js.map +0 -1
- package/dist/features/rich-text-input/mention-parser.d.ts +0 -47
- package/dist/features/rich-text-input/mention-parser.d.ts.map +0 -1
- package/dist/features/rich-text-input/mention-parser.js +0 -239
- package/dist/features/rich-text-input/mention-parser.js.map +0 -1
- package/dist/features/rich-text-input/react/components/CaretFloatingLayer.d.ts +0 -20
- package/dist/features/rich-text-input/react/components/CaretFloatingLayer.d.ts.map +0 -1
- package/dist/features/rich-text-input/react/components/CaretFloatingLayer.js +0 -33
- package/dist/features/rich-text-input/react/components/CaretFloatingLayer.js.map +0 -1
- package/dist/features/rich-text-input/react/components/RichTextInput.d.ts +0 -61
- package/dist/features/rich-text-input/react/components/RichTextInput.d.ts.map +0 -1
- package/dist/features/rich-text-input/react/components/RichTextInput.js +0 -154
- package/dist/features/rich-text-input/react/components/RichTextInput.js.map +0 -1
- package/dist/features/rich-text-input/react/hooks/useCaretFloatingLayerPosition.d.ts +0 -15
- package/dist/features/rich-text-input/react/hooks/useCaretFloatingLayerPosition.d.ts.map +0 -1
- package/dist/features/rich-text-input/react/hooks/useCaretFloatingLayerPosition.js +0 -54
- package/dist/features/rich-text-input/react/hooks/useCaretFloatingLayerPosition.js.map +0 -1
- package/dist/features/rich-text-input/react/hooks/useKeyboardCommands.d.ts +0 -11
- package/dist/features/rich-text-input/react/hooks/useKeyboardCommands.d.ts.map +0 -1
- package/dist/features/rich-text-input/react/hooks/useKeyboardCommands.js +0 -70
- package/dist/features/rich-text-input/react/hooks/useKeyboardCommands.js.map +0 -1
- package/dist/features/rich-text-input/react/hooks/useMentionAtomicNavigation.d.ts +0 -8
- package/dist/features/rich-text-input/react/hooks/useMentionAtomicNavigation.d.ts.map +0 -1
- package/dist/features/rich-text-input/react/hooks/useMentionAtomicNavigation.js +0 -63
- package/dist/features/rich-text-input/react/hooks/useMentionAtomicNavigation.js.map +0 -1
- package/dist/features/rich-text-input/react/hooks/useMentionColorStamping.d.ts +0 -18
- package/dist/features/rich-text-input/react/hooks/useMentionColorStamping.d.ts.map +0 -1
- package/dist/features/rich-text-input/react/hooks/useMentionColorStamping.js +0 -64
- package/dist/features/rich-text-input/react/hooks/useMentionColorStamping.js.map +0 -1
- package/dist/features/rich-text-input/react/hooks/usePasteFiles.d.ts +0 -5
- package/dist/features/rich-text-input/react/hooks/usePasteFiles.d.ts.map +0 -1
- package/dist/features/rich-text-input/react/hooks/usePasteFiles.js +0 -24
- package/dist/features/rich-text-input/react/hooks/usePasteFiles.js.map +0 -1
- package/dist/features/rich-text-input/react/hooks/useSeededValue.d.ts +0 -21
- package/dist/features/rich-text-input/react/hooks/useSeededValue.d.ts.map +0 -1
- package/dist/features/rich-text-input/react/hooks/useSeededValue.js +0 -35
- package/dist/features/rich-text-input/react/hooks/useSeededValue.js.map +0 -1
- package/dist/features/rich-text-input/react/hooks/useSyncedOnChange.d.ts +0 -10
- package/dist/features/rich-text-input/react/hooks/useSyncedOnChange.d.ts.map +0 -1
- package/dist/features/rich-text-input/react/hooks/useSyncedOnChange.js +0 -29
- package/dist/features/rich-text-input/react/hooks/useSyncedOnChange.js.map +0 -1
- package/dist/features/rich-text-input/react/hooks/useTriggerDetection.d.ts +0 -6
- package/dist/features/rich-text-input/react/hooks/useTriggerDetection.d.ts.map +0 -1
- package/dist/features/rich-text-input/react/hooks/useTriggerDetection.js +0 -39
- package/dist/features/rich-text-input/react/hooks/useTriggerDetection.js.map +0 -1
- package/dist/features/rich-text-input/react/test-support/lexical-harness.d.ts +0 -11
- package/dist/features/rich-text-input/react/test-support/lexical-harness.d.ts.map +0 -1
- package/dist/features/rich-text-input/react/test-support/lexical-harness.js +0 -35
- package/dist/features/rich-text-input/react/test-support/lexical-harness.js.map +0 -1
- package/dist/features/rich-text-input/rules.d.ts +0 -83
- package/dist/features/rich-text-input/rules.d.ts.map +0 -1
- package/dist/features/rich-text-input/rules.js +0 -317
- package/dist/features/rich-text-input/rules.js.map +0 -1
- package/dist/features/rich-text-input/serialize.d.ts +0 -8
- package/dist/features/rich-text-input/serialize.d.ts.map +0 -1
- package/dist/features/rich-text-input/serialize.js +0 -44
- package/dist/features/rich-text-input/serialize.js.map +0 -1
- package/dist/features/rich-text-input/types.d.ts +0 -83
- package/dist/features/rich-text-input/types.d.ts.map +0 -1
- package/dist/features/rich-text-input/types.js +0 -15
- package/dist/features/rich-text-input/types.js.map +0 -1
- package/dist/features/settings-dialog/index.d.ts +0 -7
- package/dist/features/settings-dialog/index.d.ts.map +0 -1
- package/dist/features/settings-dialog/index.js +0 -4
- package/dist/features/settings-dialog/index.js.map +0 -1
- package/dist/features/settings-dialog/react/components/SettingsDialogShell.d.ts +0 -49
- package/dist/features/settings-dialog/react/components/SettingsDialogShell.d.ts.map +0 -1
- package/dist/features/settings-dialog/react/components/SettingsDialogShell.js +0 -55
- package/dist/features/settings-dialog/react/components/SettingsDialogShell.js.map +0 -1
- package/dist/features/settings-dialog/react/hooks/useSettingsDialogShell.d.ts +0 -39
- package/dist/features/settings-dialog/react/hooks/useSettingsDialogShell.d.ts.map +0 -1
- package/dist/features/settings-dialog/react/hooks/useSettingsDialogShell.js +0 -50
- package/dist/features/settings-dialog/react/hooks/useSettingsDialogShell.js.map +0 -1
- package/dist/features/settings-dialog/rules.d.ts +0 -13
- package/dist/features/settings-dialog/rules.d.ts.map +0 -1
- package/dist/features/settings-dialog/rules.js.map +0 -1
- package/dist/features/settings-dialog/tabs/appearance/constants.d.ts +0 -12
- package/dist/features/settings-dialog/tabs/appearance/constants.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/appearance/constants.js +0 -10
- package/dist/features/settings-dialog/tabs/appearance/constants.js.map +0 -1
- package/dist/features/settings-dialog/tabs/appearance/index.d.ts +0 -6
- package/dist/features/settings-dialog/tabs/appearance/index.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/appearance/index.js.map +0 -1
- package/dist/features/settings-dialog/tabs/appearance/react/components/AppearanceTab.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/appearance/react/components/AppearanceTab.js +0 -31
- package/dist/features/settings-dialog/tabs/appearance/react/components/AppearanceTab.js.map +0 -1
- package/dist/features/settings-dialog/tabs/appearance/types.d.ts +0 -12
- package/dist/features/settings-dialog/tabs/appearance/types.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/appearance/types.js +0 -8
- package/dist/features/settings-dialog/tabs/appearance/types.js.map +0 -1
- package/dist/features/settings-dialog/tabs/instructions/index.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/instructions/index.js.map +0 -1
- package/dist/features/settings-dialog/tabs/instructions/react/components/InstructionsTab.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/instructions/react/components/InstructionsTab.js +0 -16
- package/dist/features/settings-dialog/tabs/instructions/react/components/InstructionsTab.js.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/constants.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/constants.js.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/dependencies.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/dependencies.js.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/index.d.ts +0 -19
- package/dist/features/settings-dialog/tabs/integrations/index.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/index.js +0 -10
- package/dist/features/settings-dialog/tabs/integrations/index.js.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/ports.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/ports.js.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/react/components/ClientPicker.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/react/components/ClientPicker.js +0 -31
- package/dist/features/settings-dialog/tabs/integrations/react/components/ClientPicker.js.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/react/components/CodexInstallToggleButton.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/react/components/CodexInstallToggleButton.js +0 -21
- package/dist/features/settings-dialog/tabs/integrations/react/components/CodexInstallToggleButton.js.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/react/components/IntegrationsTab.d.ts +0 -27
- package/dist/features/settings-dialog/tabs/integrations/react/components/IntegrationsTab.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/react/components/IntegrationsTab.js +0 -54
- package/dist/features/settings-dialog/tabs/integrations/react/components/IntegrationsTab.js.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/react/components/SnippetBlock.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/react/components/SnippetBlock.js +0 -53
- package/dist/features/settings-dialog/tabs/integrations/react/components/SnippetBlock.js.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/react/hooks/useCodexInstallToggle.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/react/hooks/useCodexInstallToggle.js.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/react/hooks/useMcpInstallInfo.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/react/hooks/useMcpInstallInfo.js.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/rules.d.ts +0 -45
- package/dist/features/settings-dialog/tabs/integrations/rules.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/rules.js +0 -181
- package/dist/features/settings-dialog/tabs/integrations/rules.js.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/types.d.ts +0 -58
- package/dist/features/settings-dialog/tabs/integrations/types.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/types.js +0 -15
- package/dist/features/settings-dialog/tabs/integrations/types.js.map +0 -1
- package/dist/features/settings-dialog/tabs/language/index.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/language/index.js.map +0 -1
- package/dist/features/settings-dialog/tabs/language/react/components/LanguageTab.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/language/react/components/LanguageTab.js +0 -18
- package/dist/features/settings-dialog/tabs/language/react/components/LanguageTab.js.map +0 -1
- package/dist/features/settings-dialog/tabs/language/types.d.ts +0 -15
- package/dist/features/settings-dialog/tabs/language/types.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/language/types.js.map +0 -1
- package/dist/features/settings-dialog/tabs/notifications/constants.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/notifications/constants.js +0 -8
- package/dist/features/settings-dialog/tabs/notifications/constants.js.map +0 -1
- package/dist/features/settings-dialog/tabs/notifications/index.d.ts +0 -5
- package/dist/features/settings-dialog/tabs/notifications/index.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/notifications/index.js.map +0 -1
- package/dist/features/settings-dialog/tabs/notifications/react/components/NotificationsTab.d.ts +0 -33
- package/dist/features/settings-dialog/tabs/notifications/react/components/NotificationsTab.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/notifications/react/components/NotificationsTab.js +0 -71
- package/dist/features/settings-dialog/tabs/notifications/react/components/NotificationsTab.js.map +0 -1
- package/dist/features/settings-dialog/tabs/notifications/types.d.ts +0 -15
- package/dist/features/settings-dialog/tabs/notifications/types.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/notifications/types.js.map +0 -1
- package/dist/features/settings-dialog/tabs/privacy/index.d.ts +0 -5
- package/dist/features/settings-dialog/tabs/privacy/index.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/privacy/index.js.map +0 -1
- package/dist/features/settings-dialog/tabs/privacy/react/components/PrivacyTab.d.ts +0 -34
- package/dist/features/settings-dialog/tabs/privacy/react/components/PrivacyTab.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/privacy/react/components/PrivacyTab.js +0 -36
- package/dist/features/settings-dialog/tabs/privacy/react/components/PrivacyTab.js.map +0 -1
- package/dist/features/settings-dialog/tabs/privacy/rules.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/privacy/rules.js +0 -70
- package/dist/features/settings-dialog/tabs/privacy/rules.js.map +0 -1
- package/dist/features/settings-dialog/tabs/privacy/types.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/privacy/types.js.map +0 -1
- package/dist/features/settings-dialog/types.d.ts +0 -46
- package/dist/features/settings-dialog/types.d.ts.map +0 -1
- package/dist/features/settings-dialog/types.js +0 -18
- package/dist/features/settings-dialog/types.js.map +0 -1
- package/dist/hooks/useCoalescedCallback.d.ts +0 -35
- package/dist/hooks/useCoalescedCallback.d.ts.map +0 -1
- package/dist/hooks/useCoalescedCallback.js +0 -61
- package/dist/hooks/useCoalescedCallback.js.map +0 -1
- package/dist/hooks/useDebouncedValue.d.ts +0 -2
- package/dist/hooks/useDebouncedValue.d.ts.map +0 -1
- package/dist/hooks/useDebouncedValue.js +0 -14
- package/dist/hooks/useDebouncedValue.js.map +0 -1
- package/dist/hooks/useInView.d.ts +0 -19
- package/dist/hooks/useInView.d.ts.map +0 -1
- package/dist/hooks/useInView.js +0 -39
- package/dist/hooks/useInView.js.map +0 -1
- package/dist/hooks/useResizableSplitPane.d.ts +0 -44
- package/dist/hooks/useResizableSplitPane.d.ts.map +0 -1
- package/dist/hooks/useResizableSplitPane.js +0 -259
- package/dist/hooks/useResizableSplitPane.js.map +0 -1
- package/dist/hooks/useStableHandler.d.ts +0 -10
- package/dist/hooks/useStableHandler.d.ts.map +0 -1
- package/dist/hooks/useStableHandler.js +0 -17
- package/dist/hooks/useStableHandler.js.map +0 -1
- package/dist/vitest-chat-entry.d.ts +0 -13
- package/dist/vitest-chat-entry.d.ts.map +0 -1
- package/dist/vitest-chat-entry.js +0 -13
- package/dist/vitest-chat-entry.js.map +0 -1
- /package/dist/features/{settings-dialog/tabs/appearance → appearance}/index.js +0 -0
- /package/dist/features/{settings-dialog/tabs/appearance → appearance}/react/components/AppearanceTab.d.ts +0 -0
- /package/dist/features/{settings-dialog/tabs/integrations → execution}/ports.js +0 -0
- /package/dist/features/{settings-dialog/tabs/language → i18n/dictionaries}/types.js +0 -0
- /package/dist/features/{settings-dialog/tabs/instructions → instructions}/index.d.ts +0 -0
- /package/dist/features/{settings-dialog/tabs/instructions → instructions}/index.js +0 -0
- /package/dist/features/{settings-dialog/tabs/instructions → instructions}/react/components/InstructionsTab.d.ts +0 -0
- /package/dist/features/{settings-dialog/tabs/integrations → integrations}/constants.d.ts +0 -0
- /package/dist/features/{settings-dialog/tabs/integrations → integrations}/constants.js +0 -0
- /package/dist/features/{settings-dialog/tabs/integrations → integrations}/dependencies.d.ts +0 -0
- /package/dist/features/{settings-dialog/tabs/integrations → integrations}/dependencies.js +0 -0
- /package/dist/features/{settings-dialog/tabs/integrations → integrations}/ports.d.ts +0 -0
- /package/dist/features/{settings-dialog/tabs/integrations → integrations}/react/components/ClientPicker.d.ts +0 -0
- /package/dist/features/{settings-dialog/tabs/integrations → integrations}/react/components/CodexInstallToggleButton.d.ts +0 -0
- /package/dist/features/{settings-dialog/tabs/integrations → integrations}/react/components/SnippetBlock.d.ts +0 -0
- /package/dist/features/{settings-dialog/tabs/integrations → integrations}/react/hooks/useCodexInstallToggle.d.ts +0 -0
- /package/dist/features/{settings-dialog/tabs/integrations → integrations}/react/hooks/useCodexInstallToggle.js +0 -0
- /package/dist/features/{settings-dialog/tabs/integrations → integrations}/react/hooks/useMcpInstallInfo.d.ts +0 -0
- /package/dist/features/{settings-dialog/tabs/integrations → integrations}/react/hooks/useMcpInstallInfo.js +0 -0
- /package/dist/features/{settings-dialog/tabs/notifications → interactive-ui}/types.js +0 -0
- /package/dist/features/{settings-dialog/tabs/language → language}/index.d.ts +0 -0
- /package/dist/features/{settings-dialog/tabs/language → language}/index.js +0 -0
- /package/dist/features/{settings-dialog/tabs/language → language}/react/components/LanguageTab.d.ts +0 -0
- /package/dist/features/{settings-dialog/tabs/notifications → notifications}/constants.d.ts +0 -0
- /package/dist/features/{settings-dialog/tabs/notifications → notifications}/index.js +0 -0
- /package/dist/features/{settings-dialog/tabs/privacy → privacy}/index.js +0 -0
- /package/dist/features/{settings-dialog/tabs/privacy → privacy}/rules.d.ts +0 -0
- /package/dist/features/{settings-dialog/tabs/privacy → privacy}/types.d.ts +0 -0
- /package/dist/features/{settings-dialog/tabs/privacy → privacy}/types.js +0 -0
- /package/dist/features/{settings-dialog → tabbed-dialog}/rules.js +0 -0
|
@@ -0,0 +1,834 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Headless controller for the annotation-canvas engine: freehand/box/text
|
|
3
|
+
* drawing, undo/redo, canvas rAF/DPR redraw, the collision-avoiding floating
|
|
4
|
+
* toolbar placement, and the send/draft/queue submit-action picker — plus
|
|
5
|
+
* every keyboard shortcut the origin component had (Escape to close the
|
|
6
|
+
* overlay / dismiss whichever menu or text edit is open; Cmd/Ctrl+Z undo;
|
|
7
|
+
* Shift+Cmd/Ctrl+Z redo; Enter in the note input submits as Queue).
|
|
8
|
+
*
|
|
9
|
+
* Origin: `apps/web/src/components/PreviewDrawOverlay.tsx`. See
|
|
10
|
+
* `../../source-map.md` for the exact file-by-file port breakdown and what
|
|
11
|
+
* was intentionally left product-side (the `window` `CustomEvent` wire
|
|
12
|
+
* protocol, the compositor-iframe snapshot lookup, the composer's
|
|
13
|
+
* submission semantics).
|
|
14
|
+
*/
|
|
15
|
+
import { useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';
|
|
16
|
+
import { clamp01, computeDockPlacement, deriveMarkKind, mergeBounds, mergeRects, normalizedRectFromPoints, buildSubmitOptionRules, dockPlacementEquals, } from '../../rules.js';
|
|
17
|
+
import { redrawStrokesAndBoxes, textFontSizePx, compositeMarksOntoCanvas } from '../../drawing.js';
|
|
18
|
+
import { useT } from '../../../react/i18n.js';
|
|
19
|
+
import { attemptCapture, buildMarkToolOptionControllers, buildSubmitOptionControllers, buildSubmitPayload, canAttemptSend, deriveCanvasVisibility, deriveSendGate, deriveSentWarning, deriveUndoRedoAvailability, describeSubmitFailure, } from './useAnnotationCanvas.controller.js';
|
|
20
|
+
const DEFAULT_DOCKED_STYLE = {
|
|
21
|
+
left: 'calc(50% - 52px)',
|
|
22
|
+
bottom: '16px',
|
|
23
|
+
transform: 'translateX(-50%)',
|
|
24
|
+
maxWidth: 'min(760px, calc(100% - 144px))',
|
|
25
|
+
};
|
|
26
|
+
const SUBMIT_TIMEOUT_MS = 60_000;
|
|
27
|
+
export function useAnnotationCanvas(options) {
|
|
28
|
+
const { active, onActiveChange, captureViewport = false, captureTarget = null, filePath, sendDisabled = false, hideChrome = false, onToolbarClick, port } = options;
|
|
29
|
+
const t = useT();
|
|
30
|
+
const wrapRef = useRef(null);
|
|
31
|
+
const canvasRef = useRef(null);
|
|
32
|
+
const dockRef = useRef(null);
|
|
33
|
+
const markToolMenuRef = useRef(null);
|
|
34
|
+
const submitMenuRef = useRef(null);
|
|
35
|
+
const fileInputRef = useRef(null);
|
|
36
|
+
const [note, setNote] = useState('');
|
|
37
|
+
const [markTool, setMarkTool] = useState('box');
|
|
38
|
+
const [markToolMenuOpen, setMarkToolMenuOpen] = useState(false);
|
|
39
|
+
const strokesRef = useRef([]);
|
|
40
|
+
const undoneStrokesRef = useRef([]);
|
|
41
|
+
const drawingRef = useRef(null);
|
|
42
|
+
const selectionBoxesRef = useRef([]);
|
|
43
|
+
const boxDraftRef = useRef(null);
|
|
44
|
+
const composingRef = useRef(false);
|
|
45
|
+
const [textMarks, setTextMarksState] = useState([]);
|
|
46
|
+
const textMarksRef = useRef([]);
|
|
47
|
+
const textIdRef = useRef(0);
|
|
48
|
+
const [editingTextId, setEditingTextId] = useState(null);
|
|
49
|
+
const textAreaRefs = useRef(new Map());
|
|
50
|
+
const [frameSize, setFrameSize] = useState({ w: 0, h: 0 });
|
|
51
|
+
const [hasInk, setHasInk] = useState(false);
|
|
52
|
+
const [hasBox, setHasBox] = useState(false);
|
|
53
|
+
const [hasText, setHasText] = useState(false);
|
|
54
|
+
const [undoCount, setUndoCount] = useState(0);
|
|
55
|
+
const [redoCount, setRedoCount] = useState(0);
|
|
56
|
+
const [pendingAction, setPendingAction] = useState(null);
|
|
57
|
+
const [submitAction, setSubmitAction] = useState('send');
|
|
58
|
+
const [submitMenuOpen, setSubmitMenuOpen] = useState(false);
|
|
59
|
+
const [extraFiles, setExtraFiles] = useState([]);
|
|
60
|
+
const [imagePreviews, setImagePreviews] = useState([]);
|
|
61
|
+
const [previewIndex, setPreviewIndex] = useState(null);
|
|
62
|
+
const [captureWarning, setCaptureWarning] = useState(null);
|
|
63
|
+
const [capturing, setCapturing] = useState(false);
|
|
64
|
+
const [layoutRevision, setLayoutRevision] = useState(0);
|
|
65
|
+
const [dockPlacement, setDockPlacement] = useState({ layout: 'docked', side: null, style: DEFAULT_DOCKED_STYLE });
|
|
66
|
+
const sending = pendingAction !== null;
|
|
67
|
+
const bumpLayoutRevision = useCallback(() => setLayoutRevision((v) => v + 1), []);
|
|
68
|
+
const redraw = useCallback(() => {
|
|
69
|
+
const cvs = canvasRef.current;
|
|
70
|
+
if (!cvs)
|
|
71
|
+
return;
|
|
72
|
+
if (typeof window === 'undefined' || typeof window.CanvasRenderingContext2D === 'undefined')
|
|
73
|
+
return;
|
|
74
|
+
const ctx = cvs.getContext('2d');
|
|
75
|
+
if (!ctx)
|
|
76
|
+
return;
|
|
77
|
+
const draft = boxDraftRef.current ? normalizedRectFromPoints(boxDraftRef.current.start, boxDraftRef.current.current) : null;
|
|
78
|
+
redrawStrokesAndBoxes(ctx, {
|
|
79
|
+
strokes: strokesRef.current,
|
|
80
|
+
drawingStroke: drawingRef.current,
|
|
81
|
+
selectionBoxes: draft ? [...selectionBoxesRef.current, draft] : selectionBoxesRef.current,
|
|
82
|
+
boxDraft: null,
|
|
83
|
+
}, cvs.width, cvs.height, window.devicePixelRatio || 1);
|
|
84
|
+
}, []);
|
|
85
|
+
const redrawFrameRef = useRef(null);
|
|
86
|
+
const scheduleRedraw = useCallback(() => {
|
|
87
|
+
if (redrawFrameRef.current !== null)
|
|
88
|
+
return;
|
|
89
|
+
redrawFrameRef.current = requestAnimationFrame(() => {
|
|
90
|
+
redrawFrameRef.current = null;
|
|
91
|
+
redraw();
|
|
92
|
+
});
|
|
93
|
+
}, [redraw]);
|
|
94
|
+
useEffect(() => () => {
|
|
95
|
+
if (redrawFrameRef.current !== null)
|
|
96
|
+
cancelAnimationFrame(redrawFrameRef.current);
|
|
97
|
+
}, []);
|
|
98
|
+
// Size the canvas from the wrapper's layout box + redraw on resize.
|
|
99
|
+
useEffect(() => {
|
|
100
|
+
const wrap = wrapRef.current;
|
|
101
|
+
const cvs = canvasRef.current;
|
|
102
|
+
if (!wrap || !cvs)
|
|
103
|
+
return undefined;
|
|
104
|
+
const resize = () => {
|
|
105
|
+
const width = wrap.offsetWidth;
|
|
106
|
+
const height = wrap.offsetHeight;
|
|
107
|
+
const dpr = window.devicePixelRatio || 1;
|
|
108
|
+
cvs.width = Math.max(1, Math.floor(width * dpr));
|
|
109
|
+
cvs.height = Math.max(1, Math.floor(height * dpr));
|
|
110
|
+
cvs.style.width = `${width}px`;
|
|
111
|
+
cvs.style.height = `${height}px`;
|
|
112
|
+
setFrameSize((cur) => (cur.w === width && cur.h === height ? cur : { w: width, h: height }));
|
|
113
|
+
redraw();
|
|
114
|
+
};
|
|
115
|
+
resize();
|
|
116
|
+
if (typeof ResizeObserver === 'undefined')
|
|
117
|
+
return undefined;
|
|
118
|
+
const ro = new ResizeObserver(resize);
|
|
119
|
+
ro.observe(wrap);
|
|
120
|
+
return () => ro.disconnect();
|
|
121
|
+
}, [redraw, active, hasInk, hasBox, hasText]);
|
|
122
|
+
function syncHistoryState() {
|
|
123
|
+
setHasInk(strokesRef.current.length > 0);
|
|
124
|
+
setHasBox(selectionBoxesRef.current.length > 0);
|
|
125
|
+
setHasText(textMarksRef.current.some((mark) => mark.text.trim().length > 0));
|
|
126
|
+
setUndoCount(strokesRef.current.length);
|
|
127
|
+
setRedoCount(undoneStrokesRef.current.length);
|
|
128
|
+
}
|
|
129
|
+
function commitTextMarks(next) {
|
|
130
|
+
textMarksRef.current = next;
|
|
131
|
+
setTextMarksState(next);
|
|
132
|
+
setHasText(next.some((mark) => mark.text.trim().length > 0));
|
|
133
|
+
}
|
|
134
|
+
const closeOverlay = useCallback(() => {
|
|
135
|
+
onActiveChange?.(false);
|
|
136
|
+
}, [onActiveChange]);
|
|
137
|
+
// Keyboard shortcut #1: Escape closes the overlay; Cmd/Ctrl+Z undoes;
|
|
138
|
+
// Shift+Cmd/Ctrl+Z redoes. Bound only while active.
|
|
139
|
+
useEffect(() => {
|
|
140
|
+
if (!active)
|
|
141
|
+
return undefined;
|
|
142
|
+
function onKey(e) {
|
|
143
|
+
if (e.key === 'Escape') {
|
|
144
|
+
onActiveChange?.(false);
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
if ((e.metaKey || e.ctrlKey) && e.key.toLowerCase() === 'z') {
|
|
148
|
+
e.preventDefault();
|
|
149
|
+
if (e.shiftKey)
|
|
150
|
+
redoStroke();
|
|
151
|
+
else
|
|
152
|
+
undoStroke();
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
window.addEventListener('keydown', onKey);
|
|
156
|
+
return () => window.removeEventListener('keydown', onKey);
|
|
157
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
158
|
+
}, [active, onActiveChange, sending]);
|
|
159
|
+
// Keyboard shortcut #2: Escape closes the staged-image preview modal first (capture phase).
|
|
160
|
+
useEffect(() => {
|
|
161
|
+
if (previewIndex === null)
|
|
162
|
+
return undefined;
|
|
163
|
+
function onKey(e) {
|
|
164
|
+
if (e.key === 'Escape') {
|
|
165
|
+
e.stopPropagation();
|
|
166
|
+
setPreviewIndex(null);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
window.addEventListener('keydown', onKey, true);
|
|
170
|
+
return () => window.removeEventListener('keydown', onKey, true);
|
|
171
|
+
}, [previewIndex]);
|
|
172
|
+
// Keyboard shortcut #3: Escape (and outside-click) dismisses the submit-action menu.
|
|
173
|
+
useEffect(() => {
|
|
174
|
+
if (!submitMenuOpen)
|
|
175
|
+
return undefined;
|
|
176
|
+
function onPointerDownOutside(e) {
|
|
177
|
+
if (submitMenuRef.current && !submitMenuRef.current.contains(e.target))
|
|
178
|
+
setSubmitMenuOpen(false);
|
|
179
|
+
}
|
|
180
|
+
function onKey(e) {
|
|
181
|
+
if (e.key === 'Escape') {
|
|
182
|
+
e.stopPropagation();
|
|
183
|
+
setSubmitMenuOpen(false);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
window.addEventListener('mousedown', onPointerDownOutside, true);
|
|
187
|
+
window.addEventListener('keydown', onKey, true);
|
|
188
|
+
return () => {
|
|
189
|
+
window.removeEventListener('mousedown', onPointerDownOutside, true);
|
|
190
|
+
window.removeEventListener('keydown', onKey, true);
|
|
191
|
+
};
|
|
192
|
+
}, [submitMenuOpen]);
|
|
193
|
+
// Keyboard shortcut #4: Escape (and outside-click) dismisses the mark-tool menu.
|
|
194
|
+
useEffect(() => {
|
|
195
|
+
if (!markToolMenuOpen)
|
|
196
|
+
return undefined;
|
|
197
|
+
function onPointerDownOutside(e) {
|
|
198
|
+
if (markToolMenuRef.current && !markToolMenuRef.current.contains(e.target))
|
|
199
|
+
setMarkToolMenuOpen(false);
|
|
200
|
+
}
|
|
201
|
+
function onKey(e) {
|
|
202
|
+
if (e.key === 'Escape') {
|
|
203
|
+
e.stopPropagation();
|
|
204
|
+
setMarkToolMenuOpen(false);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
window.addEventListener('mousedown', onPointerDownOutside, true);
|
|
208
|
+
window.addEventListener('keydown', onKey, true);
|
|
209
|
+
return () => {
|
|
210
|
+
window.removeEventListener('mousedown', onPointerDownOutside, true);
|
|
211
|
+
window.removeEventListener('keydown', onKey, true);
|
|
212
|
+
};
|
|
213
|
+
}, [markToolMenuOpen]);
|
|
214
|
+
function pointFromEvent(e) {
|
|
215
|
+
const cvs = canvasRef.current;
|
|
216
|
+
if (!cvs)
|
|
217
|
+
return { x: 0, y: 0 };
|
|
218
|
+
const rect = cvs.getBoundingClientRect();
|
|
219
|
+
const x = rect.width > 0 ? (e.clientX - rect.left) / rect.width : 0;
|
|
220
|
+
const y = rect.height > 0 ? (e.clientY - rect.top) / rect.height : 0;
|
|
221
|
+
return { x: Math.min(1, Math.max(0, x)), y: Math.min(1, Math.max(0, y)) };
|
|
222
|
+
}
|
|
223
|
+
function onPointerDown(e) {
|
|
224
|
+
if (!active)
|
|
225
|
+
return;
|
|
226
|
+
e.preventDefault();
|
|
227
|
+
if (sending)
|
|
228
|
+
return;
|
|
229
|
+
if (markTool === 'text') {
|
|
230
|
+
const point = pointFromEvent(e);
|
|
231
|
+
const id = (textIdRef.current += 1);
|
|
232
|
+
commitTextMarks([...textMarksRef.current, { id, x: point.x, y: point.y, text: '' }]);
|
|
233
|
+
setEditingTextId(id);
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
236
|
+
e.target.setPointerCapture?.(e.pointerId);
|
|
237
|
+
const point = pointFromEvent(e);
|
|
238
|
+
if (markTool === 'box') {
|
|
239
|
+
boxDraftRef.current = { start: point, current: point };
|
|
240
|
+
syncHistoryState();
|
|
241
|
+
redraw();
|
|
242
|
+
return;
|
|
243
|
+
}
|
|
244
|
+
drawingRef.current = { points: [point] };
|
|
245
|
+
redraw();
|
|
246
|
+
}
|
|
247
|
+
function onPointerMove(e) {
|
|
248
|
+
if (!active)
|
|
249
|
+
return;
|
|
250
|
+
e.preventDefault();
|
|
251
|
+
if (sending)
|
|
252
|
+
return;
|
|
253
|
+
if (boxDraftRef.current) {
|
|
254
|
+
boxDraftRef.current.current = pointFromEvent(e);
|
|
255
|
+
scheduleRedraw();
|
|
256
|
+
return;
|
|
257
|
+
}
|
|
258
|
+
if (!drawingRef.current)
|
|
259
|
+
return;
|
|
260
|
+
drawingRef.current.points.push(pointFromEvent(e));
|
|
261
|
+
scheduleRedraw();
|
|
262
|
+
}
|
|
263
|
+
function onPointerUp(e) {
|
|
264
|
+
if (!active)
|
|
265
|
+
return;
|
|
266
|
+
e.preventDefault();
|
|
267
|
+
if (sending)
|
|
268
|
+
return;
|
|
269
|
+
if (redrawFrameRef.current !== null) {
|
|
270
|
+
cancelAnimationFrame(redrawFrameRef.current);
|
|
271
|
+
redrawFrameRef.current = null;
|
|
272
|
+
}
|
|
273
|
+
if (boxDraftRef.current) {
|
|
274
|
+
boxDraftRef.current.current = pointFromEvent(e);
|
|
275
|
+
const next = normalizedRectFromPoints(boxDraftRef.current.start, boxDraftRef.current.current);
|
|
276
|
+
boxDraftRef.current = null;
|
|
277
|
+
if (next.width >= 0.006 && next.height >= 0.006) {
|
|
278
|
+
selectionBoxesRef.current = [...selectionBoxesRef.current, next];
|
|
279
|
+
bumpLayoutRevision();
|
|
280
|
+
}
|
|
281
|
+
syncHistoryState();
|
|
282
|
+
redraw();
|
|
283
|
+
return;
|
|
284
|
+
}
|
|
285
|
+
if (!drawingRef.current)
|
|
286
|
+
return;
|
|
287
|
+
if (drawingRef.current.points.length > 1) {
|
|
288
|
+
strokesRef.current.push(drawingRef.current);
|
|
289
|
+
undoneStrokesRef.current = [];
|
|
290
|
+
bumpLayoutRevision();
|
|
291
|
+
syncHistoryState();
|
|
292
|
+
}
|
|
293
|
+
drawingRef.current = null;
|
|
294
|
+
redraw();
|
|
295
|
+
}
|
|
296
|
+
function undoStroke() {
|
|
297
|
+
if (sending)
|
|
298
|
+
return;
|
|
299
|
+
if (boxDraftRef.current) {
|
|
300
|
+
boxDraftRef.current = null;
|
|
301
|
+
syncHistoryState();
|
|
302
|
+
redraw();
|
|
303
|
+
bumpLayoutRevision();
|
|
304
|
+
onToolbarClick?.('undo');
|
|
305
|
+
return;
|
|
306
|
+
}
|
|
307
|
+
if (selectionBoxesRef.current.length > 0) {
|
|
308
|
+
selectionBoxesRef.current = selectionBoxesRef.current.slice(0, -1);
|
|
309
|
+
syncHistoryState();
|
|
310
|
+
redraw();
|
|
311
|
+
bumpLayoutRevision();
|
|
312
|
+
onToolbarClick?.('undo');
|
|
313
|
+
return;
|
|
314
|
+
}
|
|
315
|
+
const stroke = strokesRef.current.pop();
|
|
316
|
+
if (!stroke)
|
|
317
|
+
return;
|
|
318
|
+
onToolbarClick?.('undo');
|
|
319
|
+
undoneStrokesRef.current.push(stroke);
|
|
320
|
+
drawingRef.current = null;
|
|
321
|
+
syncHistoryState();
|
|
322
|
+
redraw();
|
|
323
|
+
bumpLayoutRevision();
|
|
324
|
+
}
|
|
325
|
+
function redoStroke() {
|
|
326
|
+
if (sending)
|
|
327
|
+
return;
|
|
328
|
+
const stroke = undoneStrokesRef.current.pop();
|
|
329
|
+
if (!stroke)
|
|
330
|
+
return;
|
|
331
|
+
onToolbarClick?.('redo');
|
|
332
|
+
strokesRef.current.push(stroke);
|
|
333
|
+
drawingRef.current = null;
|
|
334
|
+
syncHistoryState();
|
|
335
|
+
redraw();
|
|
336
|
+
bumpLayoutRevision();
|
|
337
|
+
}
|
|
338
|
+
function resetTextEditingState() {
|
|
339
|
+
textAreaRefs.current.clear();
|
|
340
|
+
setEditingTextId(null);
|
|
341
|
+
}
|
|
342
|
+
function clearInk() {
|
|
343
|
+
strokesRef.current = [];
|
|
344
|
+
undoneStrokesRef.current = [];
|
|
345
|
+
drawingRef.current = null;
|
|
346
|
+
selectionBoxesRef.current = [];
|
|
347
|
+
boxDraftRef.current = null;
|
|
348
|
+
resetTextEditingState();
|
|
349
|
+
commitTextMarks([]);
|
|
350
|
+
syncHistoryState();
|
|
351
|
+
redraw();
|
|
352
|
+
bumpLayoutRevision();
|
|
353
|
+
}
|
|
354
|
+
// Reset all drawing state whenever the overlay is deactivated.
|
|
355
|
+
useEffect(() => {
|
|
356
|
+
if (active)
|
|
357
|
+
return;
|
|
358
|
+
strokesRef.current = [];
|
|
359
|
+
undoneStrokesRef.current = [];
|
|
360
|
+
drawingRef.current = null;
|
|
361
|
+
selectionBoxesRef.current = [];
|
|
362
|
+
boxDraftRef.current = null;
|
|
363
|
+
resetTextEditingState();
|
|
364
|
+
commitTextMarks([]);
|
|
365
|
+
setExtraFiles([]);
|
|
366
|
+
setPreviewIndex(null);
|
|
367
|
+
syncHistoryState();
|
|
368
|
+
redraw();
|
|
369
|
+
bumpLayoutRevision();
|
|
370
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
371
|
+
}, [active, redraw]);
|
|
372
|
+
const autosizeTextArea = useCallback((el) => {
|
|
373
|
+
if (!el)
|
|
374
|
+
return;
|
|
375
|
+
el.style.width = '0px';
|
|
376
|
+
el.style.height = '0px';
|
|
377
|
+
el.style.width = `${el.scrollWidth + 2}px`;
|
|
378
|
+
el.style.height = `${el.scrollHeight}px`;
|
|
379
|
+
}, []);
|
|
380
|
+
/** Registers (or, when `el` is null, unregisters) the mounted `<textarea>` backing a text mark, so the autofocus-on-create effect, the autosize-on-frame-change effect, and `textBounds()`'s export-accurate measurement can find it. The presentational layer calls this from the textarea's `ref` callback. */
|
|
381
|
+
const registerTextArea = useCallback((id, el) => {
|
|
382
|
+
if (el)
|
|
383
|
+
textAreaRefs.current.set(id, el);
|
|
384
|
+
else
|
|
385
|
+
textAreaRefs.current.delete(id);
|
|
386
|
+
}, []);
|
|
387
|
+
function updateTextMark(id, text) {
|
|
388
|
+
commitTextMarks(textMarksRef.current.map((mark) => (mark.id === id ? { ...mark, text } : mark)));
|
|
389
|
+
}
|
|
390
|
+
function removeTextMark(id) {
|
|
391
|
+
textAreaRefs.current.delete(id);
|
|
392
|
+
commitTextMarks(textMarksRef.current.filter((mark) => mark.id !== id));
|
|
393
|
+
}
|
|
394
|
+
function handleTextBlur(id) {
|
|
395
|
+
setEditingTextId((cur) => (cur === id ? null : cur));
|
|
396
|
+
const mark = textMarksRef.current.find((item) => item.id === id);
|
|
397
|
+
if (mark && mark.text.trim() === '')
|
|
398
|
+
removeTextMark(id);
|
|
399
|
+
}
|
|
400
|
+
// Keyboard shortcut #5: Escape inside a text-label editor blurs it (stopping propagation so the overlay itself doesn't also close).
|
|
401
|
+
function handleTextEscape(_id, el) {
|
|
402
|
+
el.blur();
|
|
403
|
+
}
|
|
404
|
+
useEffect(() => {
|
|
405
|
+
if (editingTextId === null)
|
|
406
|
+
return;
|
|
407
|
+
const el = textAreaRefs.current.get(editingTextId);
|
|
408
|
+
if (el) {
|
|
409
|
+
el.focus();
|
|
410
|
+
const end = el.value.length;
|
|
411
|
+
el.setSelectionRange(end, end);
|
|
412
|
+
}
|
|
413
|
+
}, [editingTextId, textMarks]);
|
|
414
|
+
const textDragRef = useRef(null);
|
|
415
|
+
const lastTextTapRef = useRef(null);
|
|
416
|
+
function onTextPointerDown(e, mark) {
|
|
417
|
+
if (editingTextId === mark.id)
|
|
418
|
+
return;
|
|
419
|
+
e.preventDefault();
|
|
420
|
+
e.stopPropagation();
|
|
421
|
+
const rect = canvasRef.current?.getBoundingClientRect();
|
|
422
|
+
if (!rect || rect.width <= 0 || rect.height <= 0)
|
|
423
|
+
return;
|
|
424
|
+
e.currentTarget.setPointerCapture?.(e.pointerId);
|
|
425
|
+
textDragRef.current = {
|
|
426
|
+
id: mark.id,
|
|
427
|
+
pointerId: e.pointerId,
|
|
428
|
+
startX: (e.clientX - rect.left) / rect.width,
|
|
429
|
+
startY: (e.clientY - rect.top) / rect.height,
|
|
430
|
+
originX: mark.x,
|
|
431
|
+
originY: mark.y,
|
|
432
|
+
curX: mark.x,
|
|
433
|
+
curY: mark.y,
|
|
434
|
+
moved: false,
|
|
435
|
+
};
|
|
436
|
+
}
|
|
437
|
+
function onTextPointerMove(e, mark) {
|
|
438
|
+
const drag = textDragRef.current;
|
|
439
|
+
if (!drag || drag.id !== mark.id)
|
|
440
|
+
return;
|
|
441
|
+
const rect = canvasRef.current?.getBoundingClientRect();
|
|
442
|
+
if (!rect || rect.width <= 0 || rect.height <= 0)
|
|
443
|
+
return;
|
|
444
|
+
const nx = clamp01(drag.originX + ((e.clientX - rect.left) / rect.width - drag.startX));
|
|
445
|
+
const ny = clamp01(drag.originY + ((e.clientY - rect.top) / rect.height - drag.startY));
|
|
446
|
+
drag.curX = nx;
|
|
447
|
+
drag.curY = ny;
|
|
448
|
+
if (Math.abs(nx - drag.originX) > 0.002 || Math.abs(ny - drag.originY) > 0.002)
|
|
449
|
+
drag.moved = true;
|
|
450
|
+
const el = e.currentTarget;
|
|
451
|
+
el.style.left = `${nx * 100}%`;
|
|
452
|
+
el.style.top = `${ny * 100}%`;
|
|
453
|
+
}
|
|
454
|
+
function onTextPointerUp(e, mark) {
|
|
455
|
+
const drag = textDragRef.current;
|
|
456
|
+
if (!drag || drag.id !== mark.id)
|
|
457
|
+
return;
|
|
458
|
+
e.currentTarget.releasePointerCapture?.(e.pointerId);
|
|
459
|
+
textDragRef.current = null;
|
|
460
|
+
if (drag.moved) {
|
|
461
|
+
commitTextMarks(textMarksRef.current.map((item) => (item.id === mark.id ? { ...item, x: drag.curX, y: drag.curY } : item)));
|
|
462
|
+
lastTextTapRef.current = null;
|
|
463
|
+
return;
|
|
464
|
+
}
|
|
465
|
+
const prev = lastTextTapRef.current;
|
|
466
|
+
if (prev && prev.id === mark.id && e.timeStamp - prev.time < 320) {
|
|
467
|
+
lastTextTapRef.current = null;
|
|
468
|
+
setEditingTextId(mark.id);
|
|
469
|
+
}
|
|
470
|
+
else {
|
|
471
|
+
lastTextTapRef.current = { id: mark.id, time: e.timeStamp };
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
useEffect(() => {
|
|
475
|
+
textAreaRefs.current.forEach((el) => autosizeTextArea(el));
|
|
476
|
+
}, [frameSize, textMarks, autosizeTextArea]);
|
|
477
|
+
function addExtraFiles(files) {
|
|
478
|
+
if (!files)
|
|
479
|
+
return;
|
|
480
|
+
const imgs = Array.from(files).filter((f) => f.type.startsWith('image/'));
|
|
481
|
+
if (imgs.length === 0)
|
|
482
|
+
return;
|
|
483
|
+
setExtraFiles((cur) => [...cur, ...imgs]);
|
|
484
|
+
}
|
|
485
|
+
function onFileInputChange(e) {
|
|
486
|
+
addExtraFiles(e.target.files);
|
|
487
|
+
e.target.value = '';
|
|
488
|
+
}
|
|
489
|
+
function onNotePaste(e) {
|
|
490
|
+
const files = e.clipboardData?.files;
|
|
491
|
+
if (!files || files.length === 0)
|
|
492
|
+
return;
|
|
493
|
+
const imgs = Array.from(files).filter((f) => f.type.startsWith('image/'));
|
|
494
|
+
if (imgs.length === 0)
|
|
495
|
+
return;
|
|
496
|
+
e.preventDefault();
|
|
497
|
+
addExtraFiles(imgs);
|
|
498
|
+
}
|
|
499
|
+
function removeExtraFile(index) {
|
|
500
|
+
setExtraFiles((cur) => cur.filter((_, i) => i !== index));
|
|
501
|
+
setPreviewIndex(null);
|
|
502
|
+
}
|
|
503
|
+
useEffect(() => {
|
|
504
|
+
const next = extraFiles.map((file) => ({ file, url: URL.createObjectURL(file) }));
|
|
505
|
+
setImagePreviews(next);
|
|
506
|
+
return () => {
|
|
507
|
+
next.forEach((item) => URL.revokeObjectURL(item.url));
|
|
508
|
+
};
|
|
509
|
+
}, [extraFiles]);
|
|
510
|
+
function selectMarkTool(nextTool) {
|
|
511
|
+
onToolbarClick?.(nextTool === 'box' ? 'rect' : nextTool === 'text' ? 'text' : 'pen');
|
|
512
|
+
setMarkTool(nextTool);
|
|
513
|
+
setMarkToolMenuOpen(false);
|
|
514
|
+
}
|
|
515
|
+
function onCompositionStart() {
|
|
516
|
+
composingRef.current = true;
|
|
517
|
+
}
|
|
518
|
+
function onCompositionEnd() {
|
|
519
|
+
composingRef.current = false;
|
|
520
|
+
}
|
|
521
|
+
// Keyboard shortcut #6: Enter in the note input submits as Queue (IME-composition-safe — a candidate-confirming Enter must not also submit).
|
|
522
|
+
function onNoteKeyDown(e) {
|
|
523
|
+
if (composingRef.current)
|
|
524
|
+
return;
|
|
525
|
+
if (e.key === 'Enter')
|
|
526
|
+
void send('queue');
|
|
527
|
+
}
|
|
528
|
+
function normalizedRectToCanvasRect(box) {
|
|
529
|
+
const rect = canvasRef.current?.getBoundingClientRect();
|
|
530
|
+
if (!rect || rect.width <= 0 || rect.height <= 0)
|
|
531
|
+
return null;
|
|
532
|
+
return {
|
|
533
|
+
x: box.x * rect.width,
|
|
534
|
+
y: box.y * rect.height,
|
|
535
|
+
width: Math.max(1, box.width * rect.width),
|
|
536
|
+
height: Math.max(1, box.height * rect.height),
|
|
537
|
+
};
|
|
538
|
+
}
|
|
539
|
+
function boxBounds() {
|
|
540
|
+
const boxes = selectionBoxesRef.current.map((box) => normalizedRectToCanvasRect(box)).filter((box) => Boolean(box));
|
|
541
|
+
return mergeRects(boxes);
|
|
542
|
+
}
|
|
543
|
+
function lastBoxBounds() {
|
|
544
|
+
const last = selectionBoxesRef.current.at(-1);
|
|
545
|
+
return last ? normalizedRectToCanvasRect(last) : null;
|
|
546
|
+
}
|
|
547
|
+
function strokeRect(stroke) {
|
|
548
|
+
const rect = canvasRef.current?.getBoundingClientRect();
|
|
549
|
+
const points = stroke?.points ?? [];
|
|
550
|
+
if (!rect || rect.width <= 0 || rect.height <= 0 || points.length === 0)
|
|
551
|
+
return null;
|
|
552
|
+
const xs = points.map((point) => point.x * rect.width);
|
|
553
|
+
const ys = points.map((point) => point.y * rect.height);
|
|
554
|
+
const minX = Math.min(...xs);
|
|
555
|
+
const minY = Math.min(...ys);
|
|
556
|
+
const maxX = Math.max(...xs);
|
|
557
|
+
const maxY = Math.max(...ys);
|
|
558
|
+
const pad = 8;
|
|
559
|
+
return { x: Math.max(0, minX - pad), y: Math.max(0, minY - pad), width: Math.max(1, maxX - minX + pad * 2), height: Math.max(1, maxY - minY + pad * 2) };
|
|
560
|
+
}
|
|
561
|
+
function textBounds() {
|
|
562
|
+
const rect = canvasRef.current?.getBoundingClientRect();
|
|
563
|
+
if (!rect || rect.width <= 0 || rect.height <= 0)
|
|
564
|
+
return null;
|
|
565
|
+
const rects = [];
|
|
566
|
+
for (const mark of textMarksRef.current) {
|
|
567
|
+
if (mark.text.trim().length === 0)
|
|
568
|
+
continue;
|
|
569
|
+
const el = textAreaRefs.current.get(mark.id);
|
|
570
|
+
if (el) {
|
|
571
|
+
const box = el.getBoundingClientRect();
|
|
572
|
+
rects.push({ x: box.left - rect.left, y: box.top - rect.top, width: Math.max(1, box.width), height: Math.max(1, box.height) });
|
|
573
|
+
}
|
|
574
|
+
else {
|
|
575
|
+
const left = mark.x * rect.width;
|
|
576
|
+
const top = mark.y * rect.height;
|
|
577
|
+
rects.push({ x: left, y: top, width: 1, height: 1 });
|
|
578
|
+
}
|
|
579
|
+
}
|
|
580
|
+
return mergeRects(rects);
|
|
581
|
+
}
|
|
582
|
+
function strokeBounds() {
|
|
583
|
+
const points = strokesRef.current.flatMap((stroke) => stroke.points);
|
|
584
|
+
return strokeRect(points.length > 0 ? { points } : null);
|
|
585
|
+
}
|
|
586
|
+
function lastStrokeBounds() {
|
|
587
|
+
return strokeRect(strokesRef.current.at(-1));
|
|
588
|
+
}
|
|
589
|
+
function anchorBounds() {
|
|
590
|
+
return lastBoxBounds() ?? lastStrokeBounds() ?? (captureTarget?.position ?? null);
|
|
591
|
+
}
|
|
592
|
+
function annotationBounds() {
|
|
593
|
+
return mergeBounds([boxBounds(), strokeBounds(), textBounds(), captureTarget?.position ?? null]);
|
|
594
|
+
}
|
|
595
|
+
function markKind() {
|
|
596
|
+
return deriveMarkKind({ hasTarget: Boolean(captureTarget), hasVisualMark: hasInk || hasBox || hasText });
|
|
597
|
+
}
|
|
598
|
+
function waitForOverlayHidden() {
|
|
599
|
+
return new Promise((resolve) => {
|
|
600
|
+
requestAnimationFrame(() => requestAnimationFrame(() => resolve()));
|
|
601
|
+
});
|
|
602
|
+
}
|
|
603
|
+
async function requestSnapshot() {
|
|
604
|
+
if (!port.captureSnapshot)
|
|
605
|
+
return null;
|
|
606
|
+
setCapturing(true);
|
|
607
|
+
try {
|
|
608
|
+
await waitForOverlayHidden();
|
|
609
|
+
return await port.captureSnapshot();
|
|
610
|
+
}
|
|
611
|
+
finally {
|
|
612
|
+
setCapturing(false);
|
|
613
|
+
}
|
|
614
|
+
}
|
|
615
|
+
async function compositeWithBackground(snap) {
|
|
616
|
+
const frameRect = port.captureFrameRect?.() ?? wrapRef.current?.getBoundingClientRect() ?? null;
|
|
617
|
+
if (!frameRect)
|
|
618
|
+
return null;
|
|
619
|
+
// No `typeof document !== 'undefined'` SSR guard here (unlike the
|
|
620
|
+
// component's own preview-modal portal check): this function is only
|
|
621
|
+
// ever reached via `send()`, itself only invocable from an event handler
|
|
622
|
+
// on an already-mounted, hydrated component — never during an SSR render
|
|
623
|
+
// pass, where `document` is provably defined. Proved dead and removed
|
|
624
|
+
// during the coverage pass (see `source-map.md`); the guard is only
|
|
625
|
+
// meaningful at JSX-render time (portal / effect bodies), not inside an
|
|
626
|
+
// async handler like this one.
|
|
627
|
+
const out = document.createElement('canvas');
|
|
628
|
+
out.width = snap.w;
|
|
629
|
+
out.height = snap.h;
|
|
630
|
+
const ctx = out.getContext('2d');
|
|
631
|
+
if (!ctx)
|
|
632
|
+
return null;
|
|
633
|
+
const bg = await new Promise((resolve) => {
|
|
634
|
+
const img = new Image();
|
|
635
|
+
img.onload = () => resolve(img);
|
|
636
|
+
img.onerror = () => resolve(null);
|
|
637
|
+
img.src = snap.dataUrl;
|
|
638
|
+
});
|
|
639
|
+
if (!bg)
|
|
640
|
+
return null;
|
|
641
|
+
ctx.fillStyle = '#ffffff';
|
|
642
|
+
ctx.fillRect(0, 0, out.width, out.height);
|
|
643
|
+
ctx.drawImage(bg, 0, 0, snap.w, snap.h);
|
|
644
|
+
const sx = snap.w / Math.max(1, frameRect.width);
|
|
645
|
+
const sy = snap.h / Math.max(1, frameRect.height);
|
|
646
|
+
compositeMarksOntoCanvas(ctx, { target: captureTarget, selectionBoxes: selectionBoxesRef.current, strokes: strokesRef.current, textMarks: textMarksRef.current }, snap.w, snap.h, sx, sy);
|
|
647
|
+
return new Promise((resolve) => out.toBlob((b) => resolve(b), 'image/png'));
|
|
648
|
+
}
|
|
649
|
+
async function send(action) {
|
|
650
|
+
const hasTarget = Boolean(captureTarget);
|
|
651
|
+
const noteTrimmed = note.trim();
|
|
652
|
+
const { shouldCapture, canSubmitNow } = deriveSendGate({
|
|
653
|
+
hasInk,
|
|
654
|
+
hasBox,
|
|
655
|
+
hasText,
|
|
656
|
+
hasCaptureTarget: hasTarget,
|
|
657
|
+
captureViewport,
|
|
658
|
+
noteTrimmed,
|
|
659
|
+
extraFilesCount: extraFiles.length,
|
|
660
|
+
});
|
|
661
|
+
if (!canAttemptSend({ sending, canSubmitNow, action, sendDisabled }))
|
|
662
|
+
return;
|
|
663
|
+
onToolbarClick?.('annotation_submit', action);
|
|
664
|
+
setCaptureWarning(null);
|
|
665
|
+
setPendingAction(action);
|
|
666
|
+
try {
|
|
667
|
+
let file = null;
|
|
668
|
+
if (shouldCapture) {
|
|
669
|
+
const capture = await attemptCapture({
|
|
670
|
+
hasInk,
|
|
671
|
+
hasBox,
|
|
672
|
+
hasCaptureTarget: hasTarget,
|
|
673
|
+
captureViewport,
|
|
674
|
+
noteTrimmed,
|
|
675
|
+
extraFilesCount: extraFiles.length,
|
|
676
|
+
requestSnapshot,
|
|
677
|
+
compositeWithBackground,
|
|
678
|
+
t,
|
|
679
|
+
});
|
|
680
|
+
if (capture.kind === 'warned') {
|
|
681
|
+
setCaptureWarning({ action, message: capture.message });
|
|
682
|
+
return;
|
|
683
|
+
}
|
|
684
|
+
if (capture.kind === 'captured')
|
|
685
|
+
file = capture.file;
|
|
686
|
+
}
|
|
687
|
+
const kind = markKind();
|
|
688
|
+
const payload = buildSubmitPayload({ file, note: noteTrimmed, action, filePath, captureTarget, markKind: kind, bounds: annotationBounds(), extraFiles });
|
|
689
|
+
const result = await Promise.race([
|
|
690
|
+
port.onSubmit(payload),
|
|
691
|
+
new Promise((resolve) => setTimeout(() => resolve({ ok: false, message: t('Timed out waiting to submit this annotation.') }), SUBMIT_TIMEOUT_MS)),
|
|
692
|
+
]);
|
|
693
|
+
if (!result.ok) {
|
|
694
|
+
setCaptureWarning({ action, message: describeSubmitFailure(result, t) });
|
|
695
|
+
return;
|
|
696
|
+
}
|
|
697
|
+
clearInk();
|
|
698
|
+
setCaptureWarning(deriveSentWarning({ shouldCapture, file, action }, t));
|
|
699
|
+
setNote('');
|
|
700
|
+
setExtraFiles([]);
|
|
701
|
+
setPreviewIndex(null);
|
|
702
|
+
}
|
|
703
|
+
finally {
|
|
704
|
+
setPendingAction(null);
|
|
705
|
+
}
|
|
706
|
+
}
|
|
707
|
+
function chooseSubmitAction(action) {
|
|
708
|
+
setSubmitAction(action);
|
|
709
|
+
setSubmitMenuOpen(false);
|
|
710
|
+
void send(action);
|
|
711
|
+
}
|
|
712
|
+
// Collision-avoiding floating-toolbar placement: re-measure and recompute
|
|
713
|
+
// whenever the layout could have shifted (drawing a new mark, resizing the
|
|
714
|
+
// dock/host, or a capture-warning banner appearing/disappearing changes the
|
|
715
|
+
// dock's own height).
|
|
716
|
+
useLayoutEffect(() => {
|
|
717
|
+
if (!active) {
|
|
718
|
+
setDockPlacement((current) => (dockPlacementEquals(current, { layout: 'docked', side: null, style: DEFAULT_DOCKED_STYLE }) ? current : { layout: 'docked', side: null, style: DEFAULT_DOCKED_STYLE }));
|
|
719
|
+
return;
|
|
720
|
+
}
|
|
721
|
+
const wrap = wrapRef.current;
|
|
722
|
+
const dock = dockRef.current;
|
|
723
|
+
if (!wrap || !dock)
|
|
724
|
+
return;
|
|
725
|
+
const hostRect = wrap.getBoundingClientRect();
|
|
726
|
+
const wrapRect = hostRect;
|
|
727
|
+
const dockRect = dock.getBoundingClientRect();
|
|
728
|
+
const anchor = anchorBounds();
|
|
729
|
+
const next = computeDockPlacement({
|
|
730
|
+
dockedStyle: DEFAULT_DOCKED_STYLE,
|
|
731
|
+
hostRect: { x: hostRect.left, y: hostRect.top, width: hostRect.width, height: hostRect.height },
|
|
732
|
+
wrapRect: { x: wrapRect.left, y: wrapRect.top, width: wrapRect.width, height: wrapRect.height },
|
|
733
|
+
dockRect: { x: dockRect.left, y: dockRect.top, width: dockRect.width, height: dockRect.height },
|
|
734
|
+
anchor,
|
|
735
|
+
});
|
|
736
|
+
setDockPlacement((current) => (dockPlacementEquals(current, next) ? current : next));
|
|
737
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
738
|
+
}, [active, captureTarget, layoutRevision, imagePreviews.length, captureWarning?.message]);
|
|
739
|
+
useLayoutEffect(() => {
|
|
740
|
+
if (!active || typeof ResizeObserver === 'undefined')
|
|
741
|
+
return undefined;
|
|
742
|
+
const wrap = wrapRef.current;
|
|
743
|
+
const dock = dockRef.current;
|
|
744
|
+
if (!wrap || !dock)
|
|
745
|
+
return undefined;
|
|
746
|
+
const recompute = () => setLayoutRevision((v) => v + 1);
|
|
747
|
+
const ro = new ResizeObserver(recompute);
|
|
748
|
+
ro.observe(wrap);
|
|
749
|
+
ro.observe(dock);
|
|
750
|
+
return () => ro.disconnect();
|
|
751
|
+
}, [active]);
|
|
752
|
+
const { showCanvas, textLayerVisible, chromeHidden } = deriveCanvasVisibility({ active, hasInk, hasBox, hasText, capturing, hideChrome });
|
|
753
|
+
const { canSubmitNow: canSubmitValue } = deriveSendGate({
|
|
754
|
+
hasInk,
|
|
755
|
+
hasBox,
|
|
756
|
+
hasText,
|
|
757
|
+
hasCaptureTarget: Boolean(captureTarget),
|
|
758
|
+
captureViewport,
|
|
759
|
+
noteTrimmed: note.trim(),
|
|
760
|
+
extraFilesCount: extraFiles.length,
|
|
761
|
+
});
|
|
762
|
+
const { canUndo, canRedo } = deriveUndoRedoAvailability({ undoCount, hasBox, redoCount, sending });
|
|
763
|
+
const submitRules = buildSubmitOptionRules({ canSubmit: canSubmitValue, sendDisabled });
|
|
764
|
+
const { submitOptions, currentSubmit } = buildSubmitOptionControllers({
|
|
765
|
+
submitRules,
|
|
766
|
+
sendDisabled,
|
|
767
|
+
sendDisabledReason: options.sendDisabledReason,
|
|
768
|
+
submitAction,
|
|
769
|
+
t,
|
|
770
|
+
});
|
|
771
|
+
const { markToolOptions, currentMarkTool } = buildMarkToolOptionControllers({ markTool, t });
|
|
772
|
+
const textMarksWithEditing = textMarks.map((mark) => ({ ...mark, editing: editingTextId === mark.id }));
|
|
773
|
+
return {
|
|
774
|
+
wrapRef,
|
|
775
|
+
canvasRef,
|
|
776
|
+
dockRef,
|
|
777
|
+
markToolMenuRef,
|
|
778
|
+
submitMenuRef,
|
|
779
|
+
fileInputRef,
|
|
780
|
+
showCanvas,
|
|
781
|
+
textLayerVisible,
|
|
782
|
+
chromeHidden,
|
|
783
|
+
textFontPx: textFontSizePx(frameSize.h),
|
|
784
|
+
dockPlacement,
|
|
785
|
+
markTool,
|
|
786
|
+
markToolMenuOpen,
|
|
787
|
+
markToolOptions,
|
|
788
|
+
currentMarkTool,
|
|
789
|
+
setMarkToolMenuOpen,
|
|
790
|
+
selectMarkTool,
|
|
791
|
+
textMarks: textMarksWithEditing,
|
|
792
|
+
updateTextMark,
|
|
793
|
+
removeTextMark,
|
|
794
|
+
handleTextBlur,
|
|
795
|
+
handleTextEscape,
|
|
796
|
+
autosizeTextArea,
|
|
797
|
+
registerTextArea,
|
|
798
|
+
onTextPointerDown,
|
|
799
|
+
onTextPointerMove,
|
|
800
|
+
onTextPointerUp,
|
|
801
|
+
onPointerDown,
|
|
802
|
+
onPointerMove,
|
|
803
|
+
onPointerUp,
|
|
804
|
+
undoStroke,
|
|
805
|
+
redoStroke,
|
|
806
|
+
canUndo,
|
|
807
|
+
canRedo,
|
|
808
|
+
note,
|
|
809
|
+
setNote,
|
|
810
|
+
onNotePaste,
|
|
811
|
+
onNoteKeyDown,
|
|
812
|
+
onCompositionStart,
|
|
813
|
+
onCompositionEnd,
|
|
814
|
+
extraFiles,
|
|
815
|
+
imagePreviews,
|
|
816
|
+
previewIndex,
|
|
817
|
+
setPreviewIndex,
|
|
818
|
+
addExtraFiles,
|
|
819
|
+
onFileInputChange,
|
|
820
|
+
removeExtraFile,
|
|
821
|
+
submitAction,
|
|
822
|
+
submitMenuOpen,
|
|
823
|
+
setSubmitMenuOpen,
|
|
824
|
+
submitOptions,
|
|
825
|
+
currentSubmit,
|
|
826
|
+
chooseSubmitAction,
|
|
827
|
+
send,
|
|
828
|
+
sending,
|
|
829
|
+
canSubmit: canSubmitValue,
|
|
830
|
+
captureWarning,
|
|
831
|
+
closeOverlay,
|
|
832
|
+
};
|
|
833
|
+
}
|
|
834
|
+
//# sourceMappingURL=useAnnotationCanvas.js.map
|