@marinoscar/platform-web 0.1.0-next.3 → 0.1.0-next.5
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/CHANGELOG.md +270 -0
- package/README.md +39 -6
- package/dist/ai/headless/adapters.d.ts +55 -0
- package/dist/ai/headless/adapters.d.ts.map +1 -0
- package/dist/ai/headless/adapters.js +44 -0
- package/dist/ai/headless/adapters.js.map +1 -0
- package/dist/ai/headless/ai-config-provider.d.ts +26 -0
- package/dist/ai/headless/ai-config-provider.d.ts.map +1 -0
- package/dist/ai/headless/ai-config-provider.js +27 -0
- package/dist/ai/headless/ai-config-provider.js.map +1 -0
- package/dist/ai/headless/capability-labels.d.ts +43 -0
- package/dist/ai/headless/capability-labels.d.ts.map +1 -0
- package/dist/ai/headless/capability-labels.js +69 -0
- package/dist/ai/headless/capability-labels.js.map +1 -0
- package/dist/ai/headless/chat-attachments.d.ts +116 -0
- package/dist/ai/headless/chat-attachments.d.ts.map +1 -0
- package/dist/ai/headless/chat-attachments.js +136 -0
- package/dist/ai/headless/chat-attachments.js.map +1 -0
- package/dist/ai/headless/client.d.ts +201 -0
- package/dist/ai/headless/client.d.ts.map +1 -0
- package/dist/ai/headless/client.js +321 -0
- package/dist/ai/headless/client.js.map +1 -0
- package/dist/ai/headless/errors.d.ts +32 -0
- package/dist/ai/headless/errors.d.ts.map +1 -0
- package/dist/ai/headless/errors.js +72 -0
- package/dist/ai/headless/errors.js.map +1 -0
- package/dist/ai/headless/index.d.ts +34 -0
- package/dist/ai/headless/index.d.ts.map +1 -0
- package/dist/ai/headless/index.js +34 -0
- package/dist/ai/headless/index.js.map +1 -0
- package/dist/ai/headless/schema-presets.d.ts +67 -0
- package/dist/ai/headless/schema-presets.d.ts.map +1 -0
- package/dist/ai/headless/schema-presets.js +86 -0
- package/dist/ai/headless/schema-presets.js.map +1 -0
- package/dist/ai/headless/types.d.ts +1770 -0
- package/dist/ai/headless/types.d.ts.map +1 -0
- package/dist/ai/headless/types.js +393 -0
- package/dist/ai/headless/types.js.map +1 -0
- package/dist/ai/headless/use-ai-admin-config.d.ts +115 -0
- package/dist/ai/headless/use-ai-admin-config.d.ts.map +1 -0
- package/dist/ai/headless/use-ai-admin-config.js +260 -0
- package/dist/ai/headless/use-ai-admin-config.js.map +1 -0
- package/dist/ai/headless/use-ai-api.d.ts +22 -0
- package/dist/ai/headless/use-ai-api.d.ts.map +1 -0
- package/dist/ai/headless/use-ai-api.js +31 -0
- package/dist/ai/headless/use-ai-api.js.map +1 -0
- package/dist/ai/headless/use-ai-capabilities.d.ts +23 -0
- package/dist/ai/headless/use-ai-capabilities.d.ts.map +1 -0
- package/dist/ai/headless/use-ai-capabilities.js +62 -0
- package/dist/ai/headless/use-ai-capabilities.js.map +1 -0
- package/dist/ai/headless/use-ai-chat.d.ts +114 -0
- package/dist/ai/headless/use-ai-chat.d.ts.map +1 -0
- package/dist/ai/headless/use-ai-chat.js +274 -0
- package/dist/ai/headless/use-ai-chat.js.map +1 -0
- package/dist/ai/headless/use-ai-config.d.ts +73 -0
- package/dist/ai/headless/use-ai-config.d.ts.map +1 -0
- package/dist/ai/headless/use-ai-config.js +127 -0
- package/dist/ai/headless/use-ai-config.js.map +1 -0
- package/dist/ai/headless/use-ai-models.d.ts +68 -0
- package/dist/ai/headless/use-ai-models.d.ts.map +1 -0
- package/dist/ai/headless/use-ai-models.js +191 -0
- package/dist/ai/headless/use-ai-models.js.map +1 -0
- package/dist/ai/headless/use-ai-realtime-session.d.ts +185 -0
- package/dist/ai/headless/use-ai-realtime-session.d.ts.map +1 -0
- package/dist/ai/headless/use-ai-realtime-session.js +413 -0
- package/dist/ai/headless/use-ai-realtime-session.js.map +1 -0
- package/dist/ai/headless/use-ai-run.d.ts +80 -0
- package/dist/ai/headless/use-ai-run.d.ts.map +1 -0
- package/dist/ai/headless/use-ai-run.js +212 -0
- package/dist/ai/headless/use-ai-run.js.map +1 -0
- package/dist/ai/headless/use-ai-storage.d.ts +13 -0
- package/dist/ai/headless/use-ai-storage.d.ts.map +1 -0
- package/dist/ai/headless/use-ai-storage.js +19 -0
- package/dist/ai/headless/use-ai-storage.js.map +1 -0
- package/dist/ai/headless/use-ai-usage.d.ts +30 -0
- package/dist/ai/headless/use-ai-usage.d.ts.map +1 -0
- package/dist/ai/headless/use-ai-usage.js +80 -0
- package/dist/ai/headless/use-ai-usage.js.map +1 -0
- package/dist/ai/headless/use-ai-user-settings.d.ts +38 -0
- package/dist/ai/headless/use-ai-user-settings.d.ts.map +1 -0
- package/dist/ai/headless/use-ai-user-settings.js +20 -0
- package/dist/ai/headless/use-ai-user-settings.js.map +1 -0
- package/dist/ai/headless/use-microphone-permission.d.ts +95 -0
- package/dist/ai/headless/use-microphone-permission.d.ts.map +1 -0
- package/dist/ai/headless/use-microphone-permission.js +200 -0
- package/dist/ai/headless/use-microphone-permission.js.map +1 -0
- package/dist/ai/headless/use-org-ai-keys.d.ts +47 -0
- package/dist/ai/headless/use-org-ai-keys.d.ts.map +1 -0
- package/dist/ai/headless/use-org-ai-keys.js +112 -0
- package/dist/ai/headless/use-org-ai-keys.js.map +1 -0
- package/dist/ai/headless/use-org-ai-policy.d.ts +33 -0
- package/dist/ai/headless/use-org-ai-policy.d.ts.map +1 -0
- package/dist/ai/headless/use-org-ai-policy.js +41 -0
- package/dist/ai/headless/use-org-ai-policy.js.map +1 -0
- package/dist/ai/headless/use-usable-ai-models.d.ts +24 -0
- package/dist/ai/headless/use-usable-ai-models.d.ts.map +1 -0
- package/dist/ai/headless/use-usable-ai-models.js +49 -0
- package/dist/ai/headless/use-usable-ai-models.js.map +1 -0
- package/dist/ai/headless/use-user-ai-keys.d.ts +35 -0
- package/dist/ai/headless/use-user-ai-keys.d.ts.map +1 -0
- package/dist/ai/headless/use-user-ai-keys.js +76 -0
- package/dist/ai/headless/use-user-ai-keys.js.map +1 -0
- package/dist/ai/internal/use-is-mounted.d.ts +9 -0
- package/dist/ai/internal/use-is-mounted.d.ts.map +1 -0
- package/dist/ai/internal/use-is-mounted.js +19 -0
- package/dist/ai/internal/use-is-mounted.js.map +1 -0
- package/dist/ai/ui/AiConfigPage.d.ts +102 -0
- package/dist/ai/ui/AiConfigPage.d.ts.map +1 -0
- package/dist/ai/ui/AiConfigPage.js +379 -0
- package/dist/ai/ui/AiConfigPage.js.map +1 -0
- package/dist/ai/ui/AiModelsPage.d.ts +75 -0
- package/dist/ai/ui/AiModelsPage.d.ts.map +1 -0
- package/dist/ai/ui/AiModelsPage.js +210 -0
- package/dist/ai/ui/AiModelsPage.js.map +1 -0
- package/dist/ai/ui/AiPlaygroundPage.d.ts +33 -0
- package/dist/ai/ui/AiPlaygroundPage.d.ts.map +1 -0
- package/dist/ai/ui/AiPlaygroundPage.js +384 -0
- package/dist/ai/ui/AiPlaygroundPage.js.map +1 -0
- package/dist/ai/ui/AiUsagePage.d.ts +43 -0
- package/dist/ai/ui/AiUsagePage.d.ts.map +1 -0
- package/dist/ai/ui/AiUsagePage.js +93 -0
- package/dist/ai/ui/AiUsagePage.js.map +1 -0
- package/dist/ai/ui/OrgAiKeysPage.d.ts +56 -0
- package/dist/ai/ui/OrgAiKeysPage.d.ts.map +1 -0
- package/dist/ai/ui/OrgAiKeysPage.js +59 -0
- package/dist/ai/ui/OrgAiKeysPage.js.map +1 -0
- package/dist/ai/ui/RequireAiEnabled.d.ts +48 -0
- package/dist/ai/ui/RequireAiEnabled.d.ts.map +1 -0
- package/dist/ai/ui/RequireAiEnabled.js +30 -0
- package/dist/ai/ui/RequireAiEnabled.js.map +1 -0
- package/dist/ai/ui/UserAiKeysPage.d.ts +32 -0
- package/dist/ai/ui/UserAiKeysPage.d.ts.map +1 -0
- package/dist/ai/ui/UserAiKeysPage.js +74 -0
- package/dist/ai/ui/UserAiKeysPage.js.map +1 -0
- package/dist/ai/ui/admin/AiGenericProviderCard.d.ts +49 -0
- package/dist/ai/ui/admin/AiGenericProviderCard.d.ts.map +1 -0
- package/dist/ai/ui/admin/AiGenericProviderCard.js +123 -0
- package/dist/ai/ui/admin/AiGenericProviderCard.js.map +1 -0
- package/dist/ai/ui/admin/AiModelOverrideDialog.d.ts +44 -0
- package/dist/ai/ui/admin/AiModelOverrideDialog.d.ts.map +1 -0
- package/dist/ai/ui/admin/AiModelOverrideDialog.js +132 -0
- package/dist/ai/ui/admin/AiModelOverrideDialog.js.map +1 -0
- package/dist/ai/ui/admin/AiProbeResult.d.ts +19 -0
- package/dist/ai/ui/admin/AiProbeResult.d.ts.map +1 -0
- package/dist/ai/ui/admin/AiProbeResult.js +50 -0
- package/dist/ai/ui/admin/AiProbeResult.js.map +1 -0
- package/dist/ai/ui/admin/AiProviderCard.d.ts +103 -0
- package/dist/ai/ui/admin/AiProviderCard.d.ts.map +1 -0
- package/dist/ai/ui/admin/AiProviderCard.js +128 -0
- package/dist/ai/ui/admin/AiProviderCard.js.map +1 -0
- package/dist/ai/ui/admin/AiProviderKeyActions.d.ts +50 -0
- package/dist/ai/ui/admin/AiProviderKeyActions.d.ts.map +1 -0
- package/dist/ai/ui/admin/AiProviderKeyActions.js +76 -0
- package/dist/ai/ui/admin/AiProviderKeyActions.js.map +1 -0
- package/dist/ai/ui/admin/aiModelColumns.d.ts +31 -0
- package/dist/ai/ui/admin/aiModelColumns.d.ts.map +1 -0
- package/dist/ai/ui/admin/aiModelColumns.js +97 -0
- package/dist/ai/ui/admin/aiModelColumns.js.map +1 -0
- package/dist/ai/ui/admin/aiProviderCardRegistry.d.ts +57 -0
- package/dist/ai/ui/admin/aiProviderCardRegistry.d.ts.map +1 -0
- package/dist/ai/ui/admin/aiProviderCardRegistry.js +76 -0
- package/dist/ai/ui/admin/aiProviderCardRegistry.js.map +1 -0
- package/dist/ai/ui/admin/aiProviderForm.d.ts +75 -0
- package/dist/ai/ui/admin/aiProviderForm.d.ts.map +1 -0
- package/dist/ai/ui/admin/aiProviderForm.js +227 -0
- package/dist/ai/ui/admin/aiProviderForm.js.map +1 -0
- package/dist/ai/ui/admin/builtinAiProviderCards.d.ts +5 -0
- package/dist/ai/ui/admin/builtinAiProviderCards.d.ts.map +1 -0
- package/dist/ai/ui/admin/builtinAiProviderCards.js +15 -0
- package/dist/ai/ui/admin/builtinAiProviderCards.js.map +1 -0
- package/dist/ai/ui/config-page.d.ts +2 -0
- package/dist/ai/ui/config-page.d.ts.map +1 -0
- package/dist/ai/ui/config-page.js +6 -0
- package/dist/ai/ui/config-page.js.map +1 -0
- package/dist/ai/ui/index.d.ts +19 -0
- package/dist/ai/ui/index.d.ts.map +1 -0
- package/dist/ai/ui/index.js +17 -0
- package/dist/ai/ui/index.js.map +1 -0
- package/dist/ai/ui/internal/AiSpinner.d.ts +5 -0
- package/dist/ai/ui/internal/AiSpinner.d.ts.map +1 -0
- package/dist/ai/ui/internal/AiSpinner.js +19 -0
- package/dist/ai/ui/internal/AiSpinner.js.map +1 -0
- package/dist/ai/ui/keys-page.d.ts +2 -0
- package/dist/ai/ui/keys-page.d.ts.map +1 -0
- package/dist/ai/ui/keys-page.js +6 -0
- package/dist/ai/ui/keys-page.js.map +1 -0
- package/dist/ai/ui/models-page.d.ts +2 -0
- package/dist/ai/ui/models-page.d.ts.map +1 -0
- package/dist/ai/ui/models-page.js +6 -0
- package/dist/ai/ui/models-page.js.map +1 -0
- package/dist/ai/ui/playground/AiEmbeddingsMode.d.ts +13 -0
- package/dist/ai/ui/playground/AiEmbeddingsMode.d.ts.map +1 -0
- package/dist/ai/ui/playground/AiEmbeddingsMode.js +85 -0
- package/dist/ai/ui/playground/AiEmbeddingsMode.js.map +1 -0
- package/dist/ai/ui/playground/AiFilePicker.d.ts +11 -0
- package/dist/ai/ui/playground/AiFilePicker.d.ts.map +1 -0
- package/dist/ai/ui/playground/AiFilePicker.js +12 -0
- package/dist/ai/ui/playground/AiFilePicker.js.map +1 -0
- package/dist/ai/ui/playground/AiImageMode.d.ts +22 -0
- package/dist/ai/ui/playground/AiImageMode.d.ts.map +1 -0
- package/dist/ai/ui/playground/AiImageMode.js +130 -0
- package/dist/ai/ui/playground/AiImageMode.js.map +1 -0
- package/dist/ai/ui/playground/AiPlaygroundModeSelector.d.ts +14 -0
- package/dist/ai/ui/playground/AiPlaygroundModeSelector.d.ts.map +1 -0
- package/dist/ai/ui/playground/AiPlaygroundModeSelector.js +54 -0
- package/dist/ai/ui/playground/AiPlaygroundModeSelector.js.map +1 -0
- package/dist/ai/ui/playground/AiPlaygroundPanels.d.ts +20 -0
- package/dist/ai/ui/playground/AiPlaygroundPanels.d.ts.map +1 -0
- package/dist/ai/ui/playground/AiPlaygroundPanels.js +28 -0
- package/dist/ai/ui/playground/AiPlaygroundPanels.js.map +1 -0
- package/dist/ai/ui/playground/AiSpeechMode.d.ts +14 -0
- package/dist/ai/ui/playground/AiSpeechMode.d.ts.map +1 -0
- package/dist/ai/ui/playground/AiSpeechMode.js +75 -0
- package/dist/ai/ui/playground/AiSpeechMode.js.map +1 -0
- package/dist/ai/ui/playground/AiTranscribeMode.d.ts +41 -0
- package/dist/ai/ui/playground/AiTranscribeMode.d.ts.map +1 -0
- package/dist/ai/ui/playground/AiTranscribeMode.js +115 -0
- package/dist/ai/ui/playground/AiTranscribeMode.js.map +1 -0
- package/dist/ai/ui/playground/AiVoiceMode.d.ts +25 -0
- package/dist/ai/ui/playground/AiVoiceMode.d.ts.map +1 -0
- package/dist/ai/ui/playground/AiVoiceMode.js +188 -0
- package/dist/ai/ui/playground/AiVoiceMode.js.map +1 -0
- package/dist/ai/ui/playground/aiPlaygroundModes.d.ts +170 -0
- package/dist/ai/ui/playground/aiPlaygroundModes.d.ts.map +1 -0
- package/dist/ai/ui/playground/aiPlaygroundModes.js +127 -0
- package/dist/ai/ui/playground/aiPlaygroundModes.js.map +1 -0
- package/dist/ai/ui/playground/builtinAiPlaygroundModes.d.ts +2 -0
- package/dist/ai/ui/playground/builtinAiPlaygroundModes.d.ts.map +1 -0
- package/dist/ai/ui/playground/builtinAiPlaygroundModes.js +73 -0
- package/dist/ai/ui/playground/builtinAiPlaygroundModes.js.map +1 -0
- package/dist/ai/ui/playground/embeddingMath.d.ts +15 -0
- package/dist/ai/ui/playground/embeddingMath.d.ts.map +1 -0
- package/dist/ai/ui/playground/embeddingMath.js +37 -0
- package/dist/ai/ui/playground/embeddingMath.js.map +1 -0
- package/dist/ai/ui/playground/usePlaygroundModel.d.ts +14 -0
- package/dist/ai/ui/playground/usePlaygroundModel.d.ts.map +1 -0
- package/dist/ai/ui/playground/usePlaygroundModel.js +27 -0
- package/dist/ai/ui/playground/usePlaygroundModel.js.map +1 -0
- package/dist/ai/ui/playground-modes.d.ts +3 -0
- package/dist/ai/ui/playground-modes.d.ts.map +1 -0
- package/dist/ai/ui/playground-modes.js +6 -0
- package/dist/ai/ui/playground-modes.js.map +1 -0
- package/dist/ai/ui/playground-page.d.ts +4 -0
- package/dist/ai/ui/playground-page.d.ts.map +1 -0
- package/dist/ai/ui/playground-page.js +9 -0
- package/dist/ai/ui/playground-page.js.map +1 -0
- package/dist/ai/ui/provider-cards.d.ts +6 -0
- package/dist/ai/ui/provider-cards.d.ts.map +1 -0
- package/dist/ai/ui/provider-cards.js +7 -0
- package/dist/ai/ui/provider-cards.js.map +1 -0
- package/dist/ai/ui/require-ai-enabled.d.ts +3 -0
- package/dist/ai/ui/require-ai-enabled.d.ts.map +1 -0
- package/dist/ai/ui/require-ai-enabled.js +5 -0
- package/dist/ai/ui/require-ai-enabled.js.map +1 -0
- package/dist/ai/ui/shared/AiAttachmentChips.d.ts +21 -0
- package/dist/ai/ui/shared/AiAttachmentChips.d.ts.map +1 -0
- package/dist/ai/ui/shared/AiAttachmentChips.js +28 -0
- package/dist/ai/ui/shared/AiAttachmentChips.js.map +1 -0
- package/dist/ai/ui/shared/AiCapabilityChips.d.ts +13 -0
- package/dist/ai/ui/shared/AiCapabilityChips.d.ts.map +1 -0
- package/dist/ai/ui/shared/AiCapabilityChips.js +47 -0
- package/dist/ai/ui/shared/AiCapabilityChips.js.map +1 -0
- package/dist/ai/ui/shared/AiChatAttachmentPicker.d.ts +21 -0
- package/dist/ai/ui/shared/AiChatAttachmentPicker.d.ts.map +1 -0
- package/dist/ai/ui/shared/AiChatAttachmentPicker.js +49 -0
- package/dist/ai/ui/shared/AiChatAttachmentPicker.js.map +1 -0
- package/dist/ai/ui/shared/AiChatThread.d.ts +9 -0
- package/dist/ai/ui/shared/AiChatThread.d.ts.map +1 -0
- package/dist/ai/ui/shared/AiChatThread.js +63 -0
- package/dist/ai/ui/shared/AiChatThread.js.map +1 -0
- package/dist/ai/ui/shared/AiEmbeddingsResult.d.ts +13 -0
- package/dist/ai/ui/shared/AiEmbeddingsResult.d.ts.map +1 -0
- package/dist/ai/ui/shared/AiEmbeddingsResult.js +46 -0
- package/dist/ai/ui/shared/AiEmbeddingsResult.js.map +1 -0
- package/dist/ai/ui/shared/AiErrorAlert.d.ts +26 -0
- package/dist/ai/ui/shared/AiErrorAlert.d.ts.map +1 -0
- package/dist/ai/ui/shared/AiErrorAlert.js +209 -0
- package/dist/ai/ui/shared/AiErrorAlert.js.map +1 -0
- package/dist/ai/ui/shared/AiHostedToolControls.d.ts +33 -0
- package/dist/ai/ui/shared/AiHostedToolControls.d.ts.map +1 -0
- package/dist/ai/ui/shared/AiHostedToolControls.js +96 -0
- package/dist/ai/ui/shared/AiHostedToolControls.js.map +1 -0
- package/dist/ai/ui/shared/AiHostedToolOutputs.d.ts +11 -0
- package/dist/ai/ui/shared/AiHostedToolOutputs.d.ts.map +1 -0
- package/dist/ai/ui/shared/AiHostedToolOutputs.js +138 -0
- package/dist/ai/ui/shared/AiHostedToolOutputs.js.map +1 -0
- package/dist/ai/ui/shared/AiImageGallery.d.ts +19 -0
- package/dist/ai/ui/shared/AiImageGallery.d.ts.map +1 -0
- package/dist/ai/ui/shared/AiImageGallery.js +63 -0
- package/dist/ai/ui/shared/AiImageGallery.js.map +1 -0
- package/dist/ai/ui/shared/AiModelSelect.d.ts +22 -0
- package/dist/ai/ui/shared/AiModelSelect.d.ts.map +1 -0
- package/dist/ai/ui/shared/AiModelSelect.js +61 -0
- package/dist/ai/ui/shared/AiModelSelect.js.map +1 -0
- package/dist/ai/ui/shared/AiReasoningPanel.d.ts +9 -0
- package/dist/ai/ui/shared/AiReasoningPanel.d.ts.map +1 -0
- package/dist/ai/ui/shared/AiReasoningPanel.js +20 -0
- package/dist/ai/ui/shared/AiReasoningPanel.js.map +1 -0
- package/dist/ai/ui/shared/AiRunCard.d.ts +38 -0
- package/dist/ai/ui/shared/AiRunCard.d.ts.map +1 -0
- package/dist/ai/ui/shared/AiRunCard.js +21 -0
- package/dist/ai/ui/shared/AiRunCard.js.map +1 -0
- package/dist/ai/ui/shared/AiSpeechPlayer.d.ts +9 -0
- package/dist/ai/ui/shared/AiSpeechPlayer.d.ts.map +1 -0
- package/dist/ai/ui/shared/AiSpeechPlayer.js +50 -0
- package/dist/ai/ui/shared/AiSpeechPlayer.js.map +1 -0
- package/dist/ai/ui/shared/AiStructuredOutputPanel.d.ts +7 -0
- package/dist/ai/ui/shared/AiStructuredOutputPanel.d.ts.map +1 -0
- package/dist/ai/ui/shared/AiStructuredOutputPanel.js +24 -0
- package/dist/ai/ui/shared/AiStructuredOutputPanel.js.map +1 -0
- package/dist/ai/ui/shared/AiTranscript.d.ts +9 -0
- package/dist/ai/ui/shared/AiTranscript.d.ts.map +1 -0
- package/dist/ai/ui/shared/AiTranscript.js +38 -0
- package/dist/ai/ui/shared/AiTranscript.js.map +1 -0
- package/dist/ai/ui/shared/aiCapabilities.d.ts +46 -0
- package/dist/ai/ui/shared/aiCapabilities.d.ts.map +1 -0
- package/dist/ai/ui/shared/aiCapabilities.js +89 -0
- package/dist/ai/ui/shared/aiCapabilities.js.map +1 -0
- package/dist/ai/ui/usage/AiUsageDailyChart.d.ts +11 -0
- package/dist/ai/ui/usage/AiUsageDailyChart.d.ts.map +1 -0
- package/dist/ai/ui/usage/AiUsageDailyChart.js +91 -0
- package/dist/ai/ui/usage/AiUsageDailyChart.js.map +1 -0
- package/dist/ai/ui/usage/AiUsageTable.d.ts +27 -0
- package/dist/ai/ui/usage/AiUsageTable.d.ts.map +1 -0
- package/dist/ai/ui/usage/AiUsageTable.js +107 -0
- package/dist/ai/ui/usage/AiUsageTable.js.map +1 -0
- package/dist/ai/ui/usage/AiUsageTotals.d.ts +17 -0
- package/dist/ai/ui/usage/AiUsageTotals.d.ts.map +1 -0
- package/dist/ai/ui/usage/AiUsageTotals.js +16 -0
- package/dist/ai/ui/usage/AiUsageTotals.js.map +1 -0
- package/dist/ai/ui/usage/aiUsageFormat.d.ts +32 -0
- package/dist/ai/ui/usage/aiUsageFormat.d.ts.map +1 -0
- package/dist/ai/ui/usage/aiUsageFormat.js +84 -0
- package/dist/ai/ui/usage/aiUsageFormat.js.map +1 -0
- package/dist/ai/ui/usage/index.d.ts +5 -0
- package/dist/ai/ui/usage/index.d.ts.map +1 -0
- package/dist/ai/ui/usage/index.js +5 -0
- package/dist/ai/ui/usage/index.js.map +1 -0
- package/dist/ai/ui/usage-page.d.ts +2 -0
- package/dist/ai/ui/usage-page.d.ts.map +1 -0
- package/dist/ai/ui/usage-page.js +6 -0
- package/dist/ai/ui/usage-page.js.map +1 -0
- package/dist/ai/ui/user/DefaultAiModelPicker.d.ts +13 -0
- package/dist/ai/ui/user/DefaultAiModelPicker.d.ts.map +1 -0
- package/dist/ai/ui/user/DefaultAiModelPicker.js +53 -0
- package/dist/ai/ui/user/DefaultAiModelPicker.js.map +1 -0
- package/dist/ai/ui/user/KeylessProviderCard.d.ts +10 -0
- package/dist/ai/ui/user/KeylessProviderCard.d.ts.map +1 -0
- package/dist/ai/ui/user/KeylessProviderCard.js +17 -0
- package/dist/ai/ui/user/KeylessProviderCard.js.map +1 -0
- package/dist/ai/ui/user/MyAiUsageSection.d.ts +4 -0
- package/dist/ai/ui/user/MyAiUsageSection.d.ts.map +1 -0
- package/dist/ai/ui/user/MyAiUsageSection.js +26 -0
- package/dist/ai/ui/user/MyAiUsageSection.js.map +1 -0
- package/dist/ai/ui/user/UsableAiModelsList.d.ts +10 -0
- package/dist/ai/ui/user/UsableAiModelsList.d.ts.map +1 -0
- package/dist/ai/ui/user/UsableAiModelsList.js +22 -0
- package/dist/ai/ui/user/UsableAiModelsList.js.map +1 -0
- package/dist/ai/ui/user/UserAiKeyCard.d.ts +24 -0
- package/dist/ai/ui/user/UserAiKeyCard.d.ts.map +1 -0
- package/dist/ai/ui/user/UserAiKeyCard.js +123 -0
- package/dist/ai/ui/user/UserAiKeyCard.js.map +1 -0
- package/dist/ai/ui/user/aiErrorText.d.ts +5 -0
- package/dist/ai/ui/user/aiErrorText.d.ts.map +1 -0
- package/dist/ai/ui/user/aiErrorText.js +33 -0
- package/dist/ai/ui/user/aiErrorText.js.map +1 -0
- package/dist/android-app/headless/client.d.ts +78 -0
- package/dist/android-app/headless/client.d.ts.map +1 -0
- package/dist/android-app/headless/client.js +54 -0
- package/dist/android-app/headless/client.js.map +1 -0
- package/dist/android-app/headless/hooks.d.ts +70 -0
- package/dist/android-app/headless/hooks.d.ts.map +1 -0
- package/dist/android-app/headless/hooks.js +104 -0
- package/dist/android-app/headless/hooks.js.map +1 -0
- package/dist/android-app/headless/identity.d.ts +20 -0
- package/dist/android-app/headless/identity.d.ts.map +1 -0
- package/dist/android-app/headless/identity.js +24 -0
- package/dist/android-app/headless/identity.js.map +1 -0
- package/dist/android-app/headless/index.d.ts +9 -0
- package/dist/android-app/headless/index.d.ts.map +1 -0
- package/dist/android-app/headless/index.js +9 -0
- package/dist/android-app/headless/index.js.map +1 -0
- package/dist/android-app/headless/twa.d.ts +80 -0
- package/dist/android-app/headless/twa.d.ts.map +1 -0
- package/dist/android-app/headless/twa.js +126 -0
- package/dist/android-app/headless/twa.js.map +1 -0
- package/dist/android-app/ui/AndroidAppPage.d.ts +114 -0
- package/dist/android-app/ui/AndroidAppPage.d.ts.map +1 -0
- package/dist/android-app/ui/AndroidAppPage.js +219 -0
- package/dist/android-app/ui/AndroidAppPage.js.map +1 -0
- package/dist/android-app/ui/AndroidUpdateBanner.d.ts +31 -0
- package/dist/android-app/ui/AndroidUpdateBanner.d.ts.map +1 -0
- package/dist/android-app/ui/AndroidUpdateBanner.js +77 -0
- package/dist/android-app/ui/AndroidUpdateBanner.js.map +1 -0
- package/dist/android-app/ui/DownloadApkButton.d.ts +27 -0
- package/dist/android-app/ui/DownloadApkButton.d.ts.map +1 -0
- package/dist/android-app/ui/DownloadApkButton.js +36 -0
- package/dist/android-app/ui/DownloadApkButton.js.map +1 -0
- package/dist/android-app/ui/copy.d.ts +37 -0
- package/dist/android-app/ui/copy.d.ts.map +1 -0
- package/dist/android-app/ui/copy.js +39 -0
- package/dist/android-app/ui/copy.js.map +1 -0
- package/dist/android-app/ui/index.d.ts +9 -0
- package/dist/android-app/ui/index.d.ts.map +1 -0
- package/dist/android-app/ui/index.js +9 -0
- package/dist/android-app/ui/index.js.map +1 -0
- package/dist/android-app/ui/settings-page.d.ts +19 -0
- package/dist/android-app/ui/settings-page.d.ts.map +1 -0
- package/dist/android-app/ui/settings-page.js +31 -0
- package/dist/android-app/ui/settings-page.js.map +1 -0
- package/dist/core/api-client.d.ts +20 -0
- package/dist/core/api-client.d.ts.map +1 -1
- package/dist/core/api-client.js.map +1 -1
- package/dist/core/host.d.ts +64 -0
- package/dist/core/host.d.ts.map +1 -1
- package/dist/core/host.js +50 -10
- package/dist/core/host.js.map +1 -1
- package/dist/core/http/client.d.ts +259 -0
- package/dist/core/http/client.d.ts.map +1 -0
- package/dist/core/http/client.js +366 -0
- package/dist/core/http/client.js.map +1 -0
- package/dist/core/http/platform-api-client.d.ts +61 -0
- package/dist/core/http/platform-api-client.d.ts.map +1 -0
- package/dist/core/http/platform-api-client.js +115 -0
- package/dist/core/http/platform-api-client.js.map +1 -0
- package/dist/core/http/sse.d.ts +284 -0
- package/dist/core/http/sse.d.ts.map +1 -0
- package/dist/core/http/sse.js +609 -0
- package/dist/core/http/sse.js.map +1 -0
- package/dist/core/index.d.ts +9 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +17 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/page-slots.d.ts +201 -0
- package/dist/core/page-slots.d.ts.map +1 -0
- package/dist/core/page-slots.js +121 -0
- package/dist/core/page-slots.js.map +1 -0
- package/dist/core/viewer.d.ts +12 -0
- package/dist/core/viewer.d.ts.map +1 -1
- package/dist/credentials/headless/index.d.ts +3 -0
- package/dist/credentials/headless/index.d.ts.map +1 -0
- package/dist/credentials/headless/index.js +5 -0
- package/dist/credentials/headless/index.js.map +1 -0
- package/dist/credentials/headless/saved-secret.d.ts +75 -0
- package/dist/credentials/headless/saved-secret.d.ts.map +1 -0
- package/dist/credentials/headless/saved-secret.js +67 -0
- package/dist/credentials/headless/saved-secret.js.map +1 -0
- package/dist/credentials/index.d.ts +5 -0
- package/dist/credentials/index.d.ts.map +1 -0
- package/dist/credentials/index.js +9 -0
- package/dist/credentials/index.js.map +1 -0
- package/dist/credentials/ui/index.d.ts +3 -0
- package/dist/credentials/ui/index.d.ts.map +1 -0
- package/dist/credentials/ui/index.js +4 -0
- package/dist/credentials/ui/index.js.map +1 -0
- package/dist/credentials/ui/secret-field.d.ts +71 -0
- package/dist/credentials/ui/secret-field.d.ts.map +1 -0
- package/dist/credentials/ui/secret-field.js +47 -0
- package/dist/credentials/ui/secret-field.js.map +1 -0
- package/dist/datatable/headless/columns.d.ts +48 -0
- package/dist/datatable/headless/columns.d.ts.map +1 -0
- package/dist/datatable/headless/columns.js +70 -0
- package/dist/datatable/headless/columns.js.map +1 -0
- package/dist/datatable/headless/export/csv.d.ts +120 -0
- package/dist/datatable/headless/export/csv.d.ts.map +1 -0
- package/dist/datatable/headless/export/csv.js +151 -0
- package/dist/datatable/headless/export/csv.js.map +1 -0
- package/dist/datatable/headless/export/exportModel.d.ts +180 -0
- package/dist/datatable/headless/export/exportModel.d.ts.map +1 -0
- package/dist/datatable/headless/export/exportModel.js +230 -0
- package/dist/datatable/headless/export/exportModel.js.map +1 -0
- package/dist/datatable/headless/filter/filterMatch.d.ts +37 -0
- package/dist/datatable/headless/filter/filterMatch.d.ts.map +1 -0
- package/dist/datatable/headless/filter/filterMatch.js +49 -0
- package/dist/datatable/headless/filter/filterMatch.js.map +1 -0
- package/dist/datatable/headless/filter/filterModel.d.ts +114 -0
- package/dist/datatable/headless/filter/filterModel.d.ts.map +1 -0
- package/dist/datatable/headless/filter/filterModel.js +196 -0
- package/dist/datatable/headless/filter/filterModel.js.map +1 -0
- package/dist/datatable/headless/filter/filterTypes.d.ts +127 -0
- package/dist/datatable/headless/filter/filterTypes.d.ts.map +1 -0
- package/dist/datatable/headless/filter/filterTypes.js +308 -0
- package/dist/datatable/headless/filter/filterTypes.js.map +1 -0
- package/dist/datatable/headless/filter/filterUrl.d.ts +114 -0
- package/dist/datatable/headless/filter/filterUrl.d.ts.map +1 -0
- package/dist/datatable/headless/filter/filterUrl.js +176 -0
- package/dist/datatable/headless/filter/filterUrl.js.map +1 -0
- package/dist/datatable/headless/filter/operators.d.ts +115 -0
- package/dist/datatable/headless/filter/operators.d.ts.map +1 -0
- package/dist/datatable/headless/filter/operators.js +183 -0
- package/dist/datatable/headless/filter/operators.js.map +1 -0
- package/dist/datatable/headless/index.d.ts +22 -0
- package/dist/datatable/headless/index.d.ts.map +1 -0
- package/dist/datatable/headless/index.js +20 -0
- package/dist/datatable/headless/index.js.map +1 -0
- package/dist/datatable/headless/layout/layoutModel.d.ts +379 -0
- package/dist/datatable/headless/layout/layoutModel.d.ts.map +1 -0
- package/dist/datatable/headless/layout/layoutModel.js +459 -0
- package/dist/datatable/headless/layout/layoutModel.js.map +1 -0
- package/dist/datatable/headless/layout/preferences.d.ts +76 -0
- package/dist/datatable/headless/layout/preferences.d.ts.map +1 -0
- package/dist/datatable/headless/layout/preferences.js +65 -0
- package/dist/datatable/headless/layout/preferences.js.map +1 -0
- package/dist/datatable/headless/layout/useDataTableLayoutPrefs.d.ts +123 -0
- package/dist/datatable/headless/layout/useDataTableLayoutPrefs.d.ts.map +1 -0
- package/dist/datatable/headless/layout/useDataTableLayoutPrefs.js +434 -0
- package/dist/datatable/headless/layout/useDataTableLayoutPrefs.js.map +1 -0
- package/dist/datatable/headless/types.d.ts +757 -0
- package/dist/datatable/headless/types.d.ts.map +1 -0
- package/dist/datatable/headless/types.js +12 -0
- package/dist/datatable/headless/types.js.map +1 -0
- package/dist/datatable/headless/virtualization/cardVirtualization.d.ts +101 -0
- package/dist/datatable/headless/virtualization/cardVirtualization.d.ts.map +1 -0
- package/dist/datatable/headless/virtualization/cardVirtualization.js +139 -0
- package/dist/datatable/headless/virtualization/cardVirtualization.js.map +1 -0
- package/dist/datatable/headless/virtualization/gridVirtualization.d.ts +118 -0
- package/dist/datatable/headless/virtualization/gridVirtualization.d.ts.map +1 -0
- package/dist/datatable/headless/virtualization/gridVirtualization.js +107 -0
- package/dist/datatable/headless/virtualization/gridVirtualization.js.map +1 -0
- package/dist/datatable/index.d.ts +3 -0
- package/dist/datatable/index.d.ts.map +1 -0
- package/dist/datatable/index.js +9 -0
- package/dist/datatable/index.js.map +1 -0
- package/dist/datatable/testing/a11yGuards.d.ts +58 -0
- package/dist/datatable/testing/a11yGuards.d.ts.map +1 -0
- package/dist/datatable/testing/a11yGuards.js +59 -0
- package/dist/datatable/testing/a11yGuards.js.map +1 -0
- package/dist/datatable/testing/dom-matchers.d.ts +11 -0
- package/dist/datatable/testing/dom-matchers.d.ts.map +1 -0
- package/dist/datatable/testing/dom-matchers.js +9 -0
- package/dist/datatable/testing/dom-matchers.js.map +1 -0
- package/dist/datatable/testing/index.d.ts +6 -0
- package/dist/datatable/testing/index.d.ts.map +1 -0
- package/dist/datatable/testing/index.js +10 -0
- package/dist/datatable/testing/index.js.map +1 -0
- package/dist/datatable/testing/layoutStubs.d.ts +61 -0
- package/dist/datatable/testing/layoutStubs.d.ts.map +1 -0
- package/dist/datatable/testing/layoutStubs.js +154 -0
- package/dist/datatable/testing/layoutStubs.js.map +1 -0
- package/dist/datatable/testing/runDataTableConformanceSuite.d.ts +143 -0
- package/dist/datatable/testing/runDataTableConformanceSuite.d.ts.map +1 -0
- package/dist/datatable/testing/runDataTableConformanceSuite.js +782 -0
- package/dist/datatable/testing/runDataTableConformanceSuite.js.map +1 -0
- package/dist/datatable/ui/BulkActionBar.d.ts +57 -0
- package/dist/datatable/ui/BulkActionBar.d.ts.map +1 -0
- package/dist/datatable/ui/BulkActionBar.js +72 -0
- package/dist/datatable/ui/BulkActionBar.js.map +1 -0
- package/dist/datatable/ui/DataTable.d.ts +152 -0
- package/dist/datatable/ui/DataTable.d.ts.map +1 -0
- package/dist/datatable/ui/DataTable.js +211 -0
- package/dist/datatable/ui/DataTable.js.map +1 -0
- package/dist/datatable/ui/desktop/DesktopGridRenderer.d.ts +59 -0
- package/dist/datatable/ui/desktop/DesktopGridRenderer.d.ts.map +1 -0
- package/dist/datatable/ui/desktop/DesktopGridRenderer.js +370 -0
- package/dist/datatable/ui/desktop/DesktopGridRenderer.js.map +1 -0
- package/dist/datatable/ui/desktop/RowActionsCell.d.ts +56 -0
- package/dist/datatable/ui/desktop/RowActionsCell.d.ts.map +1 -0
- package/dist/datatable/ui/desktop/RowActionsCell.js +73 -0
- package/dist/datatable/ui/desktop/RowActionsCell.js.map +1 -0
- package/dist/datatable/ui/desktop/cells.d.ts +48 -0
- package/dist/datatable/ui/desktop/cells.d.ts.map +1 -0
- package/dist/datatable/ui/desktop/cells.js +62 -0
- package/dist/datatable/ui/desktop/cells.js.map +1 -0
- package/dist/datatable/ui/desktop/columnAdapter.d.ts +67 -0
- package/dist/datatable/ui/desktop/columnAdapter.d.ts.map +1 -0
- package/dist/datatable/ui/desktop/columnAdapter.js +116 -0
- package/dist/datatable/ui/desktop/columnAdapter.js.map +1 -0
- package/dist/datatable/ui/desktop/detailRow.d.ts +110 -0
- package/dist/datatable/ui/desktop/detailRow.d.ts.map +1 -0
- package/dist/datatable/ui/desktop/detailRow.js +88 -0
- package/dist/datatable/ui/desktop/detailRow.js.map +1 -0
- package/dist/datatable/ui/export/DataTableExportControl.d.ts +64 -0
- package/dist/datatable/ui/export/DataTableExportControl.d.ts.map +1 -0
- package/dist/datatable/ui/export/DataTableExportControl.js +123 -0
- package/dist/datatable/ui/export/DataTableExportControl.js.map +1 -0
- package/dist/datatable/ui/filter/DataTableFilterBar.d.ts +64 -0
- package/dist/datatable/ui/filter/DataTableFilterBar.d.ts.map +1 -0
- package/dist/datatable/ui/filter/DataTableFilterBar.js +95 -0
- package/dist/datatable/ui/filter/DataTableFilterBar.js.map +1 -0
- package/dist/datatable/ui/filter/FilterChips.d.ts +55 -0
- package/dist/datatable/ui/filter/FilterChips.d.ts.map +1 -0
- package/dist/datatable/ui/filter/FilterChips.js +70 -0
- package/dist/datatable/ui/filter/FilterChips.js.map +1 -0
- package/dist/datatable/ui/filter/FilterEditor.d.ts +65 -0
- package/dist/datatable/ui/filter/FilterEditor.d.ts.map +1 -0
- package/dist/datatable/ui/filter/FilterEditor.js +149 -0
- package/dist/datatable/ui/filter/FilterEditor.js.map +1 -0
- package/dist/datatable/ui/filter/QuickSearchField.d.ts +53 -0
- package/dist/datatable/ui/filter/QuickSearchField.d.ts.map +1 -0
- package/dist/datatable/ui/filter/QuickSearchField.js +100 -0
- package/dist/datatable/ui/filter/QuickSearchField.js.map +1 -0
- package/dist/datatable/ui/index.d.ts +39 -0
- package/dist/datatable/ui/index.d.ts.map +1 -0
- package/dist/datatable/ui/index.js +26 -0
- package/dist/datatable/ui/index.js.map +1 -0
- package/dist/datatable/ui/layout/DataTableViewBar.d.ts +72 -0
- package/dist/datatable/ui/layout/DataTableViewBar.d.ts.map +1 -0
- package/dist/datatable/ui/layout/DataTableViewBar.js +99 -0
- package/dist/datatable/ui/layout/DataTableViewBar.js.map +1 -0
- package/dist/datatable/ui/mobile/CardField.d.ts +95 -0
- package/dist/datatable/ui/mobile/CardField.d.ts.map +1 -0
- package/dist/datatable/ui/mobile/CardField.js +121 -0
- package/dist/datatable/ui/mobile/CardField.js.map +1 -0
- package/dist/datatable/ui/mobile/CardListRenderer.d.ts +34 -0
- package/dist/datatable/ui/mobile/CardListRenderer.d.ts.map +1 -0
- package/dist/datatable/ui/mobile/CardListRenderer.js +123 -0
- package/dist/datatable/ui/mobile/CardListRenderer.js.map +1 -0
- package/dist/datatable/ui/mobile/CardSortControl.d.ts +35 -0
- package/dist/datatable/ui/mobile/CardSortControl.d.ts.map +1 -0
- package/dist/datatable/ui/mobile/CardSortControl.js +46 -0
- package/dist/datatable/ui/mobile/CardSortControl.js.map +1 -0
- package/dist/datatable/ui/mobile/CompactPagination.d.ts +36 -0
- package/dist/datatable/ui/mobile/CompactPagination.d.ts.map +1 -0
- package/dist/datatable/ui/mobile/CompactPagination.js +47 -0
- package/dist/datatable/ui/mobile/CompactPagination.js.map +1 -0
- package/dist/datatable/ui/mobile/DataCard.d.ts +83 -0
- package/dist/datatable/ui/mobile/DataCard.d.ts.map +1 -0
- package/dist/datatable/ui/mobile/DataCard.js +122 -0
- package/dist/datatable/ui/mobile/DataCard.js.map +1 -0
- package/dist/datatable/ui/shared/IndeterminateCheckbox.d.ts +63 -0
- package/dist/datatable/ui/shared/IndeterminateCheckbox.d.ts.map +1 -0
- package/dist/datatable/ui/shared/IndeterminateCheckbox.js +62 -0
- package/dist/datatable/ui/shared/IndeterminateCheckbox.js.map +1 -0
- package/dist/datatable/ui/shared/rowActionConfirm.d.ts +49 -0
- package/dist/datatable/ui/shared/rowActionConfirm.d.ts.map +1 -0
- package/dist/datatable/ui/shared/rowActionConfirm.js +60 -0
- package/dist/datatable/ui/shared/rowActionConfirm.js.map +1 -0
- package/dist/datatable/ui/shared/visuallyHidden.d.ts +12 -0
- package/dist/datatable/ui/shared/visuallyHidden.d.ts.map +1 -0
- package/dist/datatable/ui/shared/visuallyHidden.js +16 -0
- package/dist/datatable/ui/shared/visuallyHidden.js.map +1 -0
- package/dist/datatable/ui/useContainerLayout.d.ts +105 -0
- package/dist/datatable/ui/useContainerLayout.d.ts.map +1 -0
- package/dist/datatable/ui/useContainerLayout.js +167 -0
- package/dist/datatable/ui/useContainerLayout.js.map +1 -0
- package/dist/db-backup/headless/adapters.d.ts +50 -0
- package/dist/db-backup/headless/adapters.d.ts.map +1 -0
- package/dist/db-backup/headless/adapters.js +45 -0
- package/dist/db-backup/headless/adapters.js.map +1 -0
- package/dist/db-backup/headless/db-backup-client.d.ts +740 -0
- package/dist/db-backup/headless/db-backup-client.d.ts.map +1 -0
- package/dist/db-backup/headless/db-backup-client.js +301 -0
- package/dist/db-backup/headless/db-backup-client.js.map +1 -0
- package/dist/db-backup/headless/index.d.ts +12 -0
- package/dist/db-backup/headless/index.d.ts.map +1 -0
- package/dist/db-backup/headless/index.js +9 -0
- package/dist/db-backup/headless/index.js.map +1 -0
- package/dist/db-backup/headless/table.d.ts +229 -0
- package/dist/db-backup/headless/table.d.ts.map +1 -0
- package/dist/db-backup/headless/table.js +11 -0
- package/dist/db-backup/headless/table.js.map +1 -0
- package/dist/db-backup/headless/use-db-backup.d.ts +177 -0
- package/dist/db-backup/headless/use-db-backup.d.ts.map +1 -0
- package/dist/db-backup/headless/use-db-backup.js +334 -0
- package/dist/db-backup/headless/use-db-backup.js.map +1 -0
- package/dist/db-backup/internal/format.d.ts +33 -0
- package/dist/db-backup/internal/format.d.ts.map +1 -0
- package/dist/db-backup/internal/format.js +68 -0
- package/dist/db-backup/internal/format.js.map +1 -0
- package/dist/db-backup/internal/use-is-mounted.d.ts +11 -0
- package/dist/db-backup/internal/use-is-mounted.d.ts.map +1 -0
- package/dist/db-backup/internal/use-is-mounted.js +21 -0
- package/dist/db-backup/internal/use-is-mounted.js.map +1 -0
- package/dist/db-backup/internal/use-visible-polling.d.ts +60 -0
- package/dist/db-backup/internal/use-visible-polling.d.ts.map +1 -0
- package/dist/db-backup/internal/use-visible-polling.js +103 -0
- package/dist/db-backup/internal/use-visible-polling.js.map +1 -0
- package/dist/db-backup/ui/DbBackupConfigPanel.d.ts +69 -0
- package/dist/db-backup/ui/DbBackupConfigPanel.d.ts.map +1 -0
- package/dist/db-backup/ui/DbBackupConfigPanel.js +145 -0
- package/dist/db-backup/ui/DbBackupConfigPanel.js.map +1 -0
- package/dist/db-backup/ui/DbBackupPage.d.ts +214 -0
- package/dist/db-backup/ui/DbBackupPage.d.ts.map +1 -0
- package/dist/db-backup/ui/DbBackupPage.js +430 -0
- package/dist/db-backup/ui/DbBackupPage.js.map +1 -0
- package/dist/db-backup/ui/DbBackupRestoreDialog.d.ts +117 -0
- package/dist/db-backup/ui/DbBackupRestoreDialog.d.ts.map +1 -0
- package/dist/db-backup/ui/DbBackupRestoreDialog.js +243 -0
- package/dist/db-backup/ui/DbBackupRestoreDialog.js.map +1 -0
- package/dist/db-backup/ui/copy.d.ts +13 -0
- package/dist/db-backup/ui/copy.d.ts.map +1 -0
- package/dist/db-backup/ui/copy.js +15 -0
- package/dist/db-backup/ui/copy.js.map +1 -0
- package/dist/db-backup/ui/dbBackupTable.d.ts +192 -0
- package/dist/db-backup/ui/dbBackupTable.d.ts.map +1 -0
- package/dist/db-backup/ui/dbBackupTable.js +491 -0
- package/dist/db-backup/ui/dbBackupTable.js.map +1 -0
- package/dist/db-backup/ui/index.d.ts +14 -0
- package/dist/db-backup/ui/index.d.ts.map +1 -0
- package/dist/db-backup/ui/index.js +13 -0
- package/dist/db-backup/ui/index.js.map +1 -0
- package/dist/db-backup/ui/settings.d.ts +35 -0
- package/dist/db-backup/ui/settings.d.ts.map +1 -0
- package/dist/db-backup/ui/settings.js +36 -0
- package/dist/db-backup/ui/settings.js.map +1 -0
- package/dist/db-backup/ui/table.d.ts +9 -0
- package/dist/db-backup/ui/table.d.ts.map +1 -0
- package/dist/db-backup/ui/table.js +52 -0
- package/dist/db-backup/ui/table.js.map +1 -0
- package/dist/doctor/headless/check-renderers.d.ts +57 -0
- package/dist/doctor/headless/check-renderers.d.ts.map +1 -0
- package/dist/doctor/headless/check-renderers.js +69 -0
- package/dist/doctor/headless/check-renderers.js.map +1 -0
- package/dist/doctor/headless/index.d.ts +2 -0
- package/dist/doctor/headless/index.d.ts.map +1 -1
- package/dist/doctor/headless/index.js +2 -0
- package/dist/doctor/headless/index.js.map +1 -1
- package/dist/doctor/ui/check-row.d.ts +19 -2
- package/dist/doctor/ui/check-row.d.ts.map +1 -1
- package/dist/doctor/ui/check-row.js +9 -3
- package/dist/doctor/ui/check-row.js.map +1 -1
- package/dist/doctor/ui/doctor-page.d.ts +35 -7
- package/dist/doctor/ui/doctor-page.d.ts.map +1 -1
- package/dist/doctor/ui/doctor-page.js +7 -3
- package/dist/doctor/ui/doctor-page.js.map +1 -1
- package/dist/doctor/ui/index.d.ts +2 -2
- package/dist/doctor/ui/index.d.ts.map +1 -1
- package/dist/email/headless/index.d.ts +5 -0
- package/dist/email/headless/index.d.ts.map +1 -0
- package/dist/email/headless/index.js +5 -0
- package/dist/email/headless/index.js.map +1 -0
- package/dist/email/headless/normalize-email-settings.d.ts +18 -0
- package/dist/email/headless/normalize-email-settings.d.ts.map +1 -0
- package/dist/email/headless/normalize-email-settings.js +71 -0
- package/dist/email/headless/normalize-email-settings.js.map +1 -0
- package/dist/email/headless/use-email-settings.d.ts +95 -0
- package/dist/email/headless/use-email-settings.d.ts.map +1 -0
- package/dist/email/headless/use-email-settings.js +212 -0
- package/dist/email/headless/use-email-settings.js.map +1 -0
- package/dist/email/ui/EmailGenericTransportPanel.d.ts +42 -0
- package/dist/email/ui/EmailGenericTransportPanel.d.ts.map +1 -0
- package/dist/email/ui/EmailGenericTransportPanel.js +47 -0
- package/dist/email/ui/EmailGenericTransportPanel.js.map +1 -0
- package/dist/email/ui/EmailSettingsPage.d.ts +93 -0
- package/dist/email/ui/EmailSettingsPage.d.ts.map +1 -0
- package/dist/email/ui/EmailSettingsPage.js +391 -0
- package/dist/email/ui/EmailSettingsPage.js.map +1 -0
- package/dist/email/ui/SesTransportPanel.d.ts +31 -0
- package/dist/email/ui/SesTransportPanel.d.ts.map +1 -0
- package/dist/email/ui/SesTransportPanel.js +75 -0
- package/dist/email/ui/SesTransportPanel.js.map +1 -0
- package/dist/email/ui/SmtpTransportPanel.d.ts +38 -0
- package/dist/email/ui/SmtpTransportPanel.d.ts.map +1 -0
- package/dist/email/ui/SmtpTransportPanel.js +111 -0
- package/dist/email/ui/SmtpTransportPanel.js.map +1 -0
- package/dist/email/ui/builtinEmailTransportPanels.d.ts +5 -0
- package/dist/email/ui/builtinEmailTransportPanels.d.ts.map +1 -0
- package/dist/email/ui/builtinEmailTransportPanels.js +20 -0
- package/dist/email/ui/builtinEmailTransportPanels.js.map +1 -0
- package/dist/email/ui/emailTransportPanelRegistry.d.ts +126 -0
- package/dist/email/ui/emailTransportPanelRegistry.d.ts.map +1 -0
- package/dist/email/ui/emailTransportPanelRegistry.js +91 -0
- package/dist/email/ui/emailTransportPanelRegistry.js.map +1 -0
- package/dist/email/ui/index.d.ts +5 -0
- package/dist/email/ui/index.d.ts.map +1 -0
- package/dist/email/ui/index.js +9 -0
- package/dist/email/ui/index.js.map +1 -0
- package/dist/email/ui/transport-panels.d.ts +4 -0
- package/dist/email/ui/transport-panels.d.ts.map +1 -0
- package/dist/email/ui/transport-panels.js +7 -0
- package/dist/email/ui/transport-panels.js.map +1 -0
- package/dist/exports/headless/client.d.ts +61 -0
- package/dist/exports/headless/client.d.ts.map +1 -0
- package/dist/exports/headless/client.js +80 -0
- package/dist/exports/headless/client.js.map +1 -0
- package/dist/exports/headless/hooks.d.ts +118 -0
- package/dist/exports/headless/hooks.d.ts.map +1 -0
- package/dist/exports/headless/hooks.js +184 -0
- package/dist/exports/headless/hooks.js.map +1 -0
- package/dist/exports/headless/index.d.ts +5 -0
- package/dist/exports/headless/index.d.ts.map +1 -0
- package/dist/exports/headless/index.js +7 -0
- package/dist/exports/headless/index.js.map +1 -0
- package/dist/exports/ui/DataExportPage.d.ts +48 -0
- package/dist/exports/ui/DataExportPage.d.ts.map +1 -0
- package/dist/exports/ui/DataExportPage.js +40 -0
- package/dist/exports/ui/DataExportPage.js.map +1 -0
- package/dist/exports/ui/ExportDialog.d.ts +54 -0
- package/dist/exports/ui/ExportDialog.d.ts.map +1 -0
- package/dist/exports/ui/ExportDialog.js +88 -0
- package/dist/exports/ui/ExportDialog.js.map +1 -0
- package/dist/exports/ui/ExportsList.d.ts +65 -0
- package/dist/exports/ui/ExportsList.d.ts.map +1 -0
- package/dist/exports/ui/ExportsList.js +120 -0
- package/dist/exports/ui/ExportsList.js.map +1 -0
- package/dist/exports/ui/copy.d.ts +19 -0
- package/dist/exports/ui/copy.d.ts.map +1 -0
- package/dist/exports/ui/copy.js +20 -0
- package/dist/exports/ui/copy.js.map +1 -0
- package/dist/exports/ui/index.d.ts +9 -0
- package/dist/exports/ui/index.d.ts.map +1 -0
- package/dist/exports/ui/index.js +9 -0
- package/dist/exports/ui/index.js.map +1 -0
- package/dist/exports/ui/settings-pages.d.ts +17 -0
- package/dist/exports/ui/settings-pages.d.ts.map +1 -0
- package/dist/exports/ui/settings-pages.js +28 -0
- package/dist/exports/ui/settings-pages.js.map +1 -0
- package/dist/host/headless/contract.d.ts +328 -0
- package/dist/host/headless/contract.d.ts.map +1 -0
- package/dist/host/headless/contract.js +12 -0
- package/dist/host/headless/contract.js.map +1 -0
- package/dist/host/headless/host-client.d.ts +31 -0
- package/dist/host/headless/host-client.d.ts.map +1 -0
- package/dist/host/headless/host-client.js +42 -0
- package/dist/host/headless/host-client.js.map +1 -0
- package/dist/host/headless/index.d.ts +12 -0
- package/dist/host/headless/index.d.ts.map +1 -0
- package/dist/host/headless/index.js +8 -0
- package/dist/host/headless/index.js.map +1 -0
- package/dist/host/headless/maintenance-block.d.ts +205 -0
- package/dist/host/headless/maintenance-block.d.ts.map +1 -0
- package/dist/host/headless/maintenance-block.js +243 -0
- package/dist/host/headless/maintenance-block.js.map +1 -0
- package/dist/host/headless/use-about.d.ts +67 -0
- package/dist/host/headless/use-about.d.ts.map +1 -0
- package/dist/host/headless/use-about.js +87 -0
- package/dist/host/headless/use-about.js.map +1 -0
- package/dist/host/headless/use-maintenance.d.ts +122 -0
- package/dist/host/headless/use-maintenance.d.ts.map +1 -0
- package/dist/host/headless/use-maintenance.js +185 -0
- package/dist/host/headless/use-maintenance.js.map +1 -0
- package/dist/host/internal/format-duration.d.ts +2 -0
- package/dist/host/internal/format-duration.d.ts.map +1 -0
- package/dist/host/internal/format-duration.js +25 -0
- package/dist/host/internal/format-duration.js.map +1 -0
- package/dist/host/internal/relative-time.d.ts +2 -0
- package/dist/host/internal/relative-time.d.ts.map +1 -0
- package/dist/host/internal/relative-time.js +29 -0
- package/dist/host/internal/relative-time.js.map +1 -0
- package/dist/host/internal/use-is-mounted.d.ts +9 -0
- package/dist/host/internal/use-is-mounted.d.ts.map +1 -0
- package/dist/host/internal/use-is-mounted.js +19 -0
- package/dist/host/internal/use-is-mounted.js.map +1 -0
- package/dist/host/ui/about-page.d.ts +146 -0
- package/dist/host/ui/about-page.d.ts.map +1 -0
- package/dist/host/ui/about-page.js +351 -0
- package/dist/host/ui/about-page.js.map +1 -0
- package/dist/host/ui/index.d.ts +15 -0
- package/dist/host/ui/index.d.ts.map +1 -0
- package/dist/host/ui/index.js +12 -0
- package/dist/host/ui/index.js.map +1 -0
- package/dist/host/ui/install-prompt.d.ts +57 -0
- package/dist/host/ui/install-prompt.d.ts.map +1 -0
- package/dist/host/ui/install-prompt.js +156 -0
- package/dist/host/ui/install-prompt.js.map +1 -0
- package/dist/host/ui/loading-spinner.d.ts +2 -0
- package/dist/host/ui/loading-spinner.d.ts.map +1 -0
- package/dist/host/ui/loading-spinner.js +9 -0
- package/dist/host/ui/loading-spinner.js.map +1 -0
- package/dist/host/ui/maintenance-banner.d.ts +84 -0
- package/dist/host/ui/maintenance-banner.d.ts.map +1 -0
- package/dist/host/ui/maintenance-banner.js +54 -0
- package/dist/host/ui/maintenance-banner.js.map +1 -0
- package/dist/host/ui/maintenance-gate.d.ts +76 -0
- package/dist/host/ui/maintenance-gate.d.ts.map +1 -0
- package/dist/host/ui/maintenance-gate.js +38 -0
- package/dist/host/ui/maintenance-gate.js.map +1 -0
- package/dist/host/ui/maintenance-page.d.ts +96 -0
- package/dist/host/ui/maintenance-page.d.ts.map +1 -0
- package/dist/host/ui/maintenance-page.js +179 -0
- package/dist/host/ui/maintenance-page.js.map +1 -0
- package/dist/host/ui/maintenance-screen.d.ts +79 -0
- package/dist/host/ui/maintenance-screen.d.ts.map +1 -0
- package/dist/host/ui/maintenance-screen.js +48 -0
- package/dist/host/ui/maintenance-screen.js.map +1 -0
- package/dist/host/ui/update-prompt.d.ts +109 -0
- package/dist/host/ui/update-prompt.d.ts.map +1 -0
- package/dist/host/ui/update-prompt.js +121 -0
- package/dist/host/ui/update-prompt.js.map +1 -0
- package/dist/identity/headless/adapters.d.ts +85 -0
- package/dist/identity/headless/adapters.d.ts.map +1 -0
- package/dist/identity/headless/adapters.js +71 -0
- package/dist/identity/headless/adapters.js.map +1 -0
- package/dist/identity/headless/api.d.ts +492 -0
- package/dist/identity/headless/api.d.ts.map +1 -0
- package/dist/identity/headless/api.js +115 -0
- package/dist/identity/headless/api.js.map +1 -0
- package/dist/identity/headless/auth-context.d.ts +80 -0
- package/dist/identity/headless/auth-context.d.ts.map +1 -0
- package/dist/identity/headless/auth-context.js +235 -0
- package/dist/identity/headless/auth-context.js.map +1 -0
- package/dist/identity/headless/auth-provider-registry.d.ts +67 -0
- package/dist/identity/headless/auth-provider-registry.d.ts.map +1 -0
- package/dist/identity/headless/auth-provider-registry.js +60 -0
- package/dist/identity/headless/auth-provider-registry.js.map +1 -0
- package/dist/identity/headless/device-credential.d.ts +144 -0
- package/dist/identity/headless/device-credential.d.ts.map +1 -0
- package/dist/identity/headless/device-credential.js +174 -0
- package/dist/identity/headless/device-credential.js.map +1 -0
- package/dist/identity/headless/guards.d.ts +122 -0
- package/dist/identity/headless/guards.d.ts.map +1 -0
- package/dist/identity/headless/guards.js +115 -0
- package/dist/identity/headless/guards.js.map +1 -0
- package/dist/identity/headless/hooks/use-allowlist.d.ts +39 -0
- package/dist/identity/headless/hooks/use-allowlist.d.ts.map +1 -0
- package/dist/identity/headless/hooks/use-allowlist.js +78 -0
- package/dist/identity/headless/hooks/use-allowlist.js.map +1 -0
- package/dist/identity/headless/hooks/use-organizations.d.ts +107 -0
- package/dist/identity/headless/hooks/use-organizations.d.ts.map +1 -0
- package/dist/identity/headless/hooks/use-organizations.js +216 -0
- package/dist/identity/headless/hooks/use-organizations.js.map +1 -0
- package/dist/identity/headless/hooks/use-personal-access-tokens.d.ts +31 -0
- package/dist/identity/headless/hooks/use-personal-access-tokens.d.ts.map +1 -0
- package/dist/identity/headless/hooks/use-personal-access-tokens.js +73 -0
- package/dist/identity/headless/hooks/use-personal-access-tokens.js.map +1 -0
- package/dist/identity/headless/hooks/use-roles.d.ts +47 -0
- package/dist/identity/headless/hooks/use-roles.d.ts.map +1 -0
- package/dist/identity/headless/hooks/use-roles.js +64 -0
- package/dist/identity/headless/hooks/use-roles.js.map +1 -0
- package/dist/identity/headless/hooks/use-users.d.ts +42 -0
- package/dist/identity/headless/hooks/use-users.d.ts.map +1 -0
- package/dist/identity/headless/hooks/use-users.js +86 -0
- package/dist/identity/headless/hooks/use-users.js.map +1 -0
- package/dist/identity/headless/index.d.ts +29 -0
- package/dist/identity/headless/index.d.ts.map +1 -0
- package/dist/identity/headless/index.js +20 -0
- package/dist/identity/headless/index.js.map +1 -0
- package/dist/identity/headless/last-provider.d.ts +28 -0
- package/dist/identity/headless/last-provider.d.ts.map +1 -0
- package/dist/identity/headless/last-provider.js +52 -0
- package/dist/identity/headless/last-provider.js.map +1 -0
- package/dist/identity/headless/table.d.ts +222 -0
- package/dist/identity/headless/table.d.ts.map +1 -0
- package/dist/identity/headless/table.js +12 -0
- package/dist/identity/headless/table.js.map +1 -0
- package/dist/identity/headless/types.d.ts +186 -0
- package/dist/identity/headless/types.d.ts.map +1 -0
- package/dist/identity/headless/types.js +5 -0
- package/dist/identity/headless/types.js.map +1 -0
- package/dist/identity/headless/use-permissions.d.ts +42 -0
- package/dist/identity/headless/use-permissions.d.ts.map +1 -0
- package/dist/identity/headless/use-permissions.js +58 -0
- package/dist/identity/headless/use-permissions.js.map +1 -0
- package/dist/identity/headless/user-extensions.d.ts +44 -0
- package/dist/identity/headless/user-extensions.d.ts.map +1 -0
- package/dist/identity/headless/user-extensions.js +61 -0
- package/dist/identity/headless/user-extensions.js.map +1 -0
- package/dist/identity/index.d.ts +4 -0
- package/dist/identity/index.d.ts.map +1 -0
- package/dist/identity/index.js +11 -0
- package/dist/identity/index.js.map +1 -0
- package/dist/identity/internal/use-is-mounted.d.ts +9 -0
- package/dist/identity/internal/use-is-mounted.d.ts.map +1 -0
- package/dist/identity/internal/use-is-mounted.js +19 -0
- package/dist/identity/internal/use-is-mounted.js.map +1 -0
- package/dist/identity/ui/ActivateDevicePage.d.ts +34 -0
- package/dist/identity/ui/ActivateDevicePage.d.ts.map +1 -0
- package/dist/identity/ui/ActivateDevicePage.js +118 -0
- package/dist/identity/ui/ActivateDevicePage.js.map +1 -0
- package/dist/identity/ui/AuthCallbackPage.d.ts +45 -0
- package/dist/identity/ui/AuthCallbackPage.d.ts.map +1 -0
- package/dist/identity/ui/AuthCallbackPage.js +75 -0
- package/dist/identity/ui/AuthCallbackPage.js.map +1 -0
- package/dist/identity/ui/LoginPage.d.ts +74 -0
- package/dist/identity/ui/LoginPage.d.ts.map +1 -0
- package/dist/identity/ui/LoginPage.js +69 -0
- package/dist/identity/ui/LoginPage.js.map +1 -0
- package/dist/identity/ui/OAuthButton.d.ts +31 -0
- package/dist/identity/ui/OAuthButton.d.ts.map +1 -0
- package/dist/identity/ui/OAuthButton.js +77 -0
- package/dist/identity/ui/OAuthButton.js.map +1 -0
- package/dist/identity/ui/OrgSwitcher.d.ts +31 -0
- package/dist/identity/ui/OrgSwitcher.d.ts.map +1 -0
- package/dist/identity/ui/OrgSwitcher.js +49 -0
- package/dist/identity/ui/OrgSwitcher.js.map +1 -0
- package/dist/identity/ui/PageHeader.d.ts +14 -0
- package/dist/identity/ui/PageHeader.d.ts.map +1 -0
- package/dist/identity/ui/PageHeader.js +11 -0
- package/dist/identity/ui/PageHeader.js.map +1 -0
- package/dist/identity/ui/SignInErrorView.d.ts +37 -0
- package/dist/identity/ui/SignInErrorView.d.ts.map +1 -0
- package/dist/identity/ui/SignInErrorView.js +53 -0
- package/dist/identity/ui/SignInErrorView.js.map +1 -0
- package/dist/identity/ui/device/ActivationSuccess.d.ts +7 -0
- package/dist/identity/ui/device/ActivationSuccess.d.ts.map +1 -0
- package/dist/identity/ui/device/ActivationSuccess.js +19 -0
- package/dist/identity/ui/device/ActivationSuccess.js.map +1 -0
- package/dist/identity/ui/device/CredentialGrantNotice.d.ts +37 -0
- package/dist/identity/ui/device/CredentialGrantNotice.d.ts.map +1 -0
- package/dist/identity/ui/device/CredentialGrantNotice.js +72 -0
- package/dist/identity/ui/device/CredentialGrantNotice.js.map +1 -0
- package/dist/identity/ui/device/DeviceCodeInput.d.ts +8 -0
- package/dist/identity/ui/device/DeviceCodeInput.d.ts.map +1 -0
- package/dist/identity/ui/device/DeviceCodeInput.js +41 -0
- package/dist/identity/ui/device/DeviceCodeInput.js.map +1 -0
- package/dist/identity/ui/device/DeviceInfoCard.d.ts +32 -0
- package/dist/identity/ui/device/DeviceInfoCard.d.ts.map +1 -0
- package/dist/identity/ui/device/DeviceInfoCard.js +112 -0
- package/dist/identity/ui/device/DeviceInfoCard.js.map +1 -0
- package/dist/identity/ui/index.d.ts +33 -0
- package/dist/identity/ui/index.d.ts.map +1 -0
- package/dist/identity/ui/index.js +24 -0
- package/dist/identity/ui/index.js.map +1 -0
- package/dist/identity/ui/org/InviteMemberDialog.d.ts +15 -0
- package/dist/identity/ui/org/InviteMemberDialog.d.ts.map +1 -0
- package/dist/identity/ui/org/InviteMemberDialog.js +60 -0
- package/dist/identity/ui/org/InviteMemberDialog.js.map +1 -0
- package/dist/identity/ui/org/OrgInvitesPanel.d.ts +32 -0
- package/dist/identity/ui/org/OrgInvitesPanel.d.ts.map +1 -0
- package/dist/identity/ui/org/OrgInvitesPanel.js +48 -0
- package/dist/identity/ui/org/OrgInvitesPanel.js.map +1 -0
- package/dist/identity/ui/org/OrgMembersPanel.d.ts +58 -0
- package/dist/identity/ui/org/OrgMembersPanel.d.ts.map +1 -0
- package/dist/identity/ui/org/OrgMembersPanel.js +59 -0
- package/dist/identity/ui/org/OrgMembersPanel.js.map +1 -0
- package/dist/identity/ui/org/OrganizationPage.d.ts +54 -0
- package/dist/identity/ui/org/OrganizationPage.d.ts.map +1 -0
- package/dist/identity/ui/org/OrganizationPage.js +45 -0
- package/dist/identity/ui/org/OrganizationPage.js.map +1 -0
- package/dist/identity/ui/org/OrganizationsPage.d.ts +53 -0
- package/dist/identity/ui/org/OrganizationsPage.d.ts.map +1 -0
- package/dist/identity/ui/org/OrganizationsPage.js +117 -0
- package/dist/identity/ui/org/OrganizationsPage.js.map +1 -0
- package/dist/identity/ui/org/orgLabels.d.ts +15 -0
- package/dist/identity/ui/org/orgLabels.d.ts.map +1 -0
- package/dist/identity/ui/org/orgLabels.js +25 -0
- package/dist/identity/ui/org/orgLabels.js.map +1 -0
- package/dist/identity/ui/settings.d.ts +53 -0
- package/dist/identity/ui/settings.d.ts.map +1 -0
- package/dist/identity/ui/settings.js +91 -0
- package/dist/identity/ui/settings.js.map +1 -0
- package/dist/identity/ui/sign-in-error-content.d.ts +76 -0
- package/dist/identity/ui/sign-in-error-content.d.ts.map +1 -0
- package/dist/identity/ui/sign-in-error-content.js +110 -0
- package/dist/identity/ui/sign-in-error-content.js.map +1 -0
- package/dist/identity/ui/table.d.ts +5 -0
- package/dist/identity/ui/table.d.ts.map +1 -0
- package/dist/identity/ui/table.js +25 -0
- package/dist/identity/ui/table.js.map +1 -0
- package/dist/identity/ui/tokens/CreatePatDialog.d.ts +14 -0
- package/dist/identity/ui/tokens/CreatePatDialog.d.ts.map +1 -0
- package/dist/identity/ui/tokens/CreatePatDialog.js +83 -0
- package/dist/identity/ui/tokens/CreatePatDialog.js.map +1 -0
- package/dist/identity/ui/tokens/PatTokenRevealDialog.d.ts +8 -0
- package/dist/identity/ui/tokens/PatTokenRevealDialog.d.ts.map +1 -0
- package/dist/identity/ui/tokens/PatTokenRevealDialog.js +32 -0
- package/dist/identity/ui/tokens/PatTokenRevealDialog.js.map +1 -0
- package/dist/identity/ui/tokens/PersonalAccessTokens.d.ts +34 -0
- package/dist/identity/ui/tokens/PersonalAccessTokens.d.ts.map +1 -0
- package/dist/identity/ui/tokens/PersonalAccessTokens.js +64 -0
- package/dist/identity/ui/tokens/PersonalAccessTokens.js.map +1 -0
- package/dist/identity/ui/tokens/UserTokensPage.d.ts +54 -0
- package/dist/identity/ui/tokens/UserTokensPage.d.ts.map +1 -0
- package/dist/identity/ui/tokens/UserTokensPage.js +25 -0
- package/dist/identity/ui/tokens/UserTokensPage.js.map +1 -0
- package/dist/identity/ui/tokens/patColumns.d.ts +70 -0
- package/dist/identity/ui/tokens/patColumns.d.ts.map +1 -0
- package/dist/identity/ui/tokens/patColumns.js +142 -0
- package/dist/identity/ui/tokens/patColumns.js.map +1 -0
- package/dist/identity/ui/users/AddEmailDialog.d.ts +8 -0
- package/dist/identity/ui/users/AddEmailDialog.d.ts.map +1 -0
- package/dist/identity/ui/users/AddEmailDialog.js +51 -0
- package/dist/identity/ui/users/AddEmailDialog.js.map +1 -0
- package/dist/identity/ui/users/AllowlistTable.d.ts +36 -0
- package/dist/identity/ui/users/AllowlistTable.d.ts.map +1 -0
- package/dist/identity/ui/users/AllowlistTable.js +115 -0
- package/dist/identity/ui/users/AllowlistTable.js.map +1 -0
- package/dist/identity/ui/users/ManageRolesDialog.d.ts +42 -0
- package/dist/identity/ui/users/ManageRolesDialog.d.ts.map +1 -0
- package/dist/identity/ui/users/ManageRolesDialog.js +73 -0
- package/dist/identity/ui/users/ManageRolesDialog.js.map +1 -0
- package/dist/identity/ui/users/UserList.d.ts +68 -0
- package/dist/identity/ui/users/UserList.d.ts.map +1 -0
- package/dist/identity/ui/users/UserList.js +169 -0
- package/dist/identity/ui/users/UserList.js.map +1 -0
- package/dist/identity/ui/users/UsersPage.d.ts +90 -0
- package/dist/identity/ui/users/UsersPage.d.ts.map +1 -0
- package/dist/identity/ui/users/UsersPage.js +55 -0
- package/dist/identity/ui/users/UsersPage.js.map +1 -0
- package/dist/identity/ui/users/allowlistColumns.d.ts +46 -0
- package/dist/identity/ui/users/allowlistColumns.d.ts.map +1 -0
- package/dist/identity/ui/users/allowlistColumns.js +121 -0
- package/dist/identity/ui/users/allowlistColumns.js.map +1 -0
- package/dist/identity/ui/users/userListColumns.d.ts +55 -0
- package/dist/identity/ui/users/userListColumns.d.ts.map +1 -0
- package/dist/identity/ui/users/userListColumns.js +158 -0
- package/dist/identity/ui/users/userListColumns.js.map +1 -0
- package/dist/jobs/headless/adapters.d.ts +76 -0
- package/dist/jobs/headless/adapters.d.ts.map +1 -0
- package/dist/jobs/headless/adapters.js +82 -0
- package/dist/jobs/headless/adapters.js.map +1 -0
- package/dist/jobs/headless/api.d.ts +44 -0
- package/dist/jobs/headless/api.d.ts.map +1 -0
- package/dist/jobs/headless/api.js +94 -0
- package/dist/jobs/headless/api.js.map +1 -0
- package/dist/jobs/headless/format.d.ts +33 -0
- package/dist/jobs/headless/format.d.ts.map +1 -0
- package/dist/jobs/headless/format.js +65 -0
- package/dist/jobs/headless/format.js.map +1 -0
- package/dist/jobs/headless/index.d.ts +16 -0
- package/dist/jobs/headless/index.d.ts.map +1 -0
- package/dist/jobs/headless/index.js +16 -0
- package/dist/jobs/headless/index.js.map +1 -0
- package/dist/jobs/headless/table.d.ts +229 -0
- package/dist/jobs/headless/table.d.ts.map +1 -0
- package/dist/jobs/headless/table.js +14 -0
- package/dist/jobs/headless/table.js.map +1 -0
- package/dist/jobs/headless/types.d.ts +112 -0
- package/dist/jobs/headless/types.d.ts.map +1 -0
- package/dist/jobs/headless/types.js +37 -0
- package/dist/jobs/headless/types.js.map +1 -0
- package/dist/jobs/headless/use-job-insights.d.ts +73 -0
- package/dist/jobs/headless/use-job-insights.d.ts.map +1 -0
- package/dist/jobs/headless/use-job-insights.js +122 -0
- package/dist/jobs/headless/use-job-insights.js.map +1 -0
- package/dist/jobs/headless/use-jobs.d.ts +146 -0
- package/dist/jobs/headless/use-jobs.d.ts.map +1 -0
- package/dist/jobs/headless/use-jobs.js +236 -0
- package/dist/jobs/headless/use-jobs.js.map +1 -0
- package/dist/jobs/headless/use-visible-polling.d.ts +61 -0
- package/dist/jobs/headless/use-visible-polling.d.ts.map +1 -0
- package/dist/jobs/headless/use-visible-polling.js +102 -0
- package/dist/jobs/headless/use-visible-polling.js.map +1 -0
- package/dist/jobs/internal/use-is-mounted.d.ts +9 -0
- package/dist/jobs/internal/use-is-mounted.d.ts.map +1 -0
- package/dist/jobs/internal/use-is-mounted.js +19 -0
- package/dist/jobs/internal/use-is-mounted.js.map +1 -0
- package/dist/jobs/ui/JobInsightsPage.d.ts +178 -0
- package/dist/jobs/ui/JobInsightsPage.d.ts.map +1 -0
- package/dist/jobs/ui/JobInsightsPage.js +333 -0
- package/dist/jobs/ui/JobInsightsPage.js.map +1 -0
- package/dist/jobs/ui/JobsPage.d.ts +145 -0
- package/dist/jobs/ui/JobsPage.d.ts.map +1 -0
- package/dist/jobs/ui/JobsPage.js +296 -0
- package/dist/jobs/ui/JobsPage.js.map +1 -0
- package/dist/jobs/ui/PageHeader.d.ts +23 -0
- package/dist/jobs/ui/PageHeader.d.ts.map +1 -0
- package/dist/jobs/ui/PageHeader.js +7 -0
- package/dist/jobs/ui/PageHeader.js.map +1 -0
- package/dist/jobs/ui/copy.d.ts +5 -0
- package/dist/jobs/ui/copy.d.ts.map +1 -0
- package/dist/jobs/ui/copy.js +10 -0
- package/dist/jobs/ui/copy.js.map +1 -0
- package/dist/jobs/ui/index.d.ts +10 -0
- package/dist/jobs/ui/index.d.ts.map +1 -0
- package/dist/jobs/ui/index.js +11 -0
- package/dist/jobs/ui/index.js.map +1 -0
- package/dist/jobs/ui/jobsTable.d.ts +128 -0
- package/dist/jobs/ui/jobsTable.d.ts.map +1 -0
- package/dist/jobs/ui/jobsTable.js +321 -0
- package/dist/jobs/ui/jobsTable.js.map +1 -0
- package/dist/jobs/ui/settings.d.ts +33 -0
- package/dist/jobs/ui/settings.d.ts.map +1 -0
- package/dist/jobs/ui/settings.js +65 -0
- package/dist/jobs/ui/settings.js.map +1 -0
- package/dist/jobs/ui/spinner.d.ts +3 -0
- package/dist/jobs/ui/spinner.d.ts.map +1 -0
- package/dist/jobs/ui/spinner.js +10 -0
- package/dist/jobs/ui/spinner.js.map +1 -0
- package/dist/jobs/ui/table.d.ts +5 -0
- package/dist/jobs/ui/table.d.ts.map +1 -0
- package/dist/jobs/ui/table.js +47 -0
- package/dist/jobs/ui/table.js.map +1 -0
- package/dist/nodes/headless/adapters.d.ts +76 -0
- package/dist/nodes/headless/adapters.d.ts.map +1 -0
- package/dist/nodes/headless/adapters.js +70 -0
- package/dist/nodes/headless/adapters.js.map +1 -0
- package/dist/nodes/headless/api.d.ts +39 -0
- package/dist/nodes/headless/api.d.ts.map +1 -0
- package/dist/nodes/headless/api.js +53 -0
- package/dist/nodes/headless/api.js.map +1 -0
- package/dist/nodes/headless/capabilities.d.ts +35 -0
- package/dist/nodes/headless/capabilities.d.ts.map +1 -0
- package/dist/nodes/headless/capabilities.js +65 -0
- package/dist/nodes/headless/capabilities.js.map +1 -0
- package/dist/nodes/headless/format.d.ts +33 -0
- package/dist/nodes/headless/format.d.ts.map +1 -0
- package/dist/nodes/headless/format.js +64 -0
- package/dist/nodes/headless/format.js.map +1 -0
- package/dist/nodes/headless/index.d.ts +16 -0
- package/dist/nodes/headless/index.d.ts.map +1 -0
- package/dist/nodes/headless/index.js +14 -0
- package/dist/nodes/headless/index.js.map +1 -0
- package/dist/nodes/headless/node-vitals.d.ts +91 -0
- package/dist/nodes/headless/node-vitals.d.ts.map +1 -0
- package/dist/nodes/headless/node-vitals.js +129 -0
- package/dist/nodes/headless/node-vitals.js.map +1 -0
- package/dist/nodes/headless/table.d.ts +229 -0
- package/dist/nodes/headless/table.d.ts.map +1 -0
- package/dist/nodes/headless/table.js +15 -0
- package/dist/nodes/headless/table.js.map +1 -0
- package/dist/nodes/headless/types.d.ts +46 -0
- package/dist/nodes/headless/types.d.ts.map +1 -0
- package/dist/nodes/headless/types.js +46 -0
- package/dist/nodes/headless/types.js.map +1 -0
- package/dist/nodes/headless/use-visible-polling.d.ts +60 -0
- package/dist/nodes/headless/use-visible-polling.d.ts.map +1 -0
- package/dist/nodes/headless/use-visible-polling.js +101 -0
- package/dist/nodes/headless/use-visible-polling.js.map +1 -0
- package/dist/nodes/headless/use-worker-nodes.d.ts +207 -0
- package/dist/nodes/headless/use-worker-nodes.d.ts.map +1 -0
- package/dist/nodes/headless/use-worker-nodes.js +324 -0
- package/dist/nodes/headless/use-worker-nodes.js.map +1 -0
- package/dist/nodes/index.d.ts +4 -0
- package/dist/nodes/index.d.ts.map +1 -0
- package/dist/nodes/index.js +10 -0
- package/dist/nodes/index.js.map +1 -0
- package/dist/nodes/internal/format-bytes.d.ts +2 -0
- package/dist/nodes/internal/format-bytes.d.ts.map +1 -0
- package/dist/nodes/internal/format-bytes.js +17 -0
- package/dist/nodes/internal/format-bytes.js.map +1 -0
- package/dist/nodes/internal/relative-time.d.ts +2 -0
- package/dist/nodes/internal/relative-time.d.ts.map +1 -0
- package/dist/nodes/internal/relative-time.js +31 -0
- package/dist/nodes/internal/relative-time.js.map +1 -0
- package/dist/nodes/internal/use-is-mounted.d.ts +9 -0
- package/dist/nodes/internal/use-is-mounted.d.ts.map +1 -0
- package/dist/nodes/internal/use-is-mounted.js +19 -0
- package/dist/nodes/internal/use-is-mounted.js.map +1 -0
- package/dist/nodes/ui/CreateNodeCredentialDialog.d.ts +63 -0
- package/dist/nodes/ui/CreateNodeCredentialDialog.d.ts.map +1 -0
- package/dist/nodes/ui/CreateNodeCredentialDialog.js +125 -0
- package/dist/nodes/ui/CreateNodeCredentialDialog.js.map +1 -0
- package/dist/nodes/ui/NodeCredentialRevealDialog.d.ts +46 -0
- package/dist/nodes/ui/NodeCredentialRevealDialog.d.ts.map +1 -0
- package/dist/nodes/ui/NodeCredentialRevealDialog.js +72 -0
- package/dist/nodes/ui/NodeCredentialRevealDialog.js.map +1 -0
- package/dist/nodes/ui/NodeCredentials.d.ts +89 -0
- package/dist/nodes/ui/NodeCredentials.d.ts.map +1 -0
- package/dist/nodes/ui/NodeCredentials.js +125 -0
- package/dist/nodes/ui/NodeCredentials.js.map +1 -0
- package/dist/nodes/ui/NodeVitalsDialog.d.ts +48 -0
- package/dist/nodes/ui/NodeVitalsDialog.d.ts.map +1 -0
- package/dist/nodes/ui/NodeVitalsDialog.js +73 -0
- package/dist/nodes/ui/NodeVitalsDialog.js.map +1 -0
- package/dist/nodes/ui/PageHeader.d.ts +23 -0
- package/dist/nodes/ui/PageHeader.d.ts.map +1 -0
- package/dist/nodes/ui/PageHeader.js +7 -0
- package/dist/nodes/ui/PageHeader.js.map +1 -0
- package/dist/nodes/ui/WorkersPage.d.ts +153 -0
- package/dist/nodes/ui/WorkersPage.d.ts.map +1 -0
- package/dist/nodes/ui/WorkersPage.js +306 -0
- package/dist/nodes/ui/WorkersPage.js.map +1 -0
- package/dist/nodes/ui/copy.d.ts +3 -0
- package/dist/nodes/ui/copy.d.ts.map +1 -0
- package/dist/nodes/ui/copy.js +6 -0
- package/dist/nodes/ui/copy.js.map +1 -0
- package/dist/nodes/ui/index.d.ts +9 -0
- package/dist/nodes/ui/index.d.ts.map +1 -0
- package/dist/nodes/ui/index.js +8 -0
- package/dist/nodes/ui/index.js.map +1 -0
- package/dist/nodes/ui/settings.d.ts +31 -0
- package/dist/nodes/ui/settings.d.ts.map +1 -0
- package/dist/nodes/ui/settings.js +42 -0
- package/dist/nodes/ui/settings.js.map +1 -0
- package/dist/nodes/ui/spinner.d.ts +3 -0
- package/dist/nodes/ui/spinner.d.ts.map +1 -0
- package/dist/nodes/ui/spinner.js +10 -0
- package/dist/nodes/ui/spinner.js.map +1 -0
- package/dist/nodes/ui/table.d.ts +5 -0
- package/dist/nodes/ui/table.d.ts.map +1 -0
- package/dist/nodes/ui/table.js +47 -0
- package/dist/nodes/ui/table.js.map +1 -0
- package/dist/nodes/ui/workerVitals.d.ts +120 -0
- package/dist/nodes/ui/workerVitals.d.ts.map +1 -0
- package/dist/nodes/ui/workerVitals.js +228 -0
- package/dist/nodes/ui/workerVitals.js.map +1 -0
- package/dist/nodes/ui/workersTable.d.ts +163 -0
- package/dist/nodes/ui/workersTable.d.ts.map +1 -0
- package/dist/nodes/ui/workersTable.js +572 -0
- package/dist/nodes/ui/workersTable.js.map +1 -0
- package/dist/notifications/headless/NotificationContext.d.ts +143 -0
- package/dist/notifications/headless/NotificationContext.d.ts.map +1 -0
- package/dist/notifications/headless/NotificationContext.js +723 -0
- package/dist/notifications/headless/NotificationContext.js.map +1 -0
- package/dist/notifications/headless/api.d.ts +170 -0
- package/dist/notifications/headless/api.d.ts.map +1 -0
- package/dist/notifications/headless/api.js +168 -0
- package/dist/notifications/headless/api.js.map +1 -0
- package/dist/notifications/headless/broadcasts.d.ts +272 -0
- package/dist/notifications/headless/broadcasts.d.ts.map +1 -0
- package/dist/notifications/headless/broadcasts.js +235 -0
- package/dist/notifications/headless/broadcasts.js.map +1 -0
- package/dist/notifications/headless/browserNotifications.d.ts +131 -0
- package/dist/notifications/headless/browserNotifications.d.ts.map +1 -0
- package/dist/notifications/headless/browserNotifications.js +326 -0
- package/dist/notifications/headless/browserNotifications.js.map +1 -0
- package/dist/notifications/headless/index.d.ts +15 -0
- package/dist/notifications/headless/index.d.ts.map +1 -0
- package/dist/notifications/headless/index.js +15 -0
- package/dist/notifications/headless/index.js.map +1 -0
- package/dist/notifications/headless/internalLink.d.ts +36 -0
- package/dist/notifications/headless/internalLink.d.ts.map +1 -0
- package/dist/notifications/headless/internalLink.js +43 -0
- package/dist/notifications/headless/internalLink.js.map +1 -0
- package/dist/notifications/headless/notificationStream.d.ts +144 -0
- package/dist/notifications/headless/notificationStream.d.ts.map +1 -0
- package/dist/notifications/headless/notificationStream.js +186 -0
- package/dist/notifications/headless/notificationStream.js.map +1 -0
- package/dist/notifications/headless/pushConfig.d.ts +190 -0
- package/dist/notifications/headless/pushConfig.d.ts.map +1 -0
- package/dist/notifications/headless/pushConfig.js +90 -0
- package/dist/notifications/headless/pushConfig.js.map +1 -0
- package/dist/notifications/headless/pushDiagnostics.d.ts +153 -0
- package/dist/notifications/headless/pushDiagnostics.d.ts.map +1 -0
- package/dist/notifications/headless/pushDiagnostics.js +709 -0
- package/dist/notifications/headless/pushDiagnostics.js.map +1 -0
- package/dist/notifications/headless/pushSubscription.d.ts +97 -0
- package/dist/notifications/headless/pushSubscription.d.ts.map +1 -0
- package/dist/notifications/headless/pushSubscription.js +281 -0
- package/dist/notifications/headless/pushSubscription.js.map +1 -0
- package/dist/notifications/headless/service-worker.d.ts +242 -0
- package/dist/notifications/headless/service-worker.d.ts.map +1 -0
- package/dist/notifications/headless/service-worker.js +226 -0
- package/dist/notifications/headless/service-worker.js.map +1 -0
- package/dist/notifications/headless/sse.d.ts +58 -0
- package/dist/notifications/headless/sse.d.ts.map +1 -0
- package/dist/notifications/headless/sse.js +23 -0
- package/dist/notifications/headless/sse.js.map +1 -0
- package/dist/notifications/headless/types.d.ts +424 -0
- package/dist/notifications/headless/types.d.ts.map +1 -0
- package/dist/notifications/headless/types.js +10 -0
- package/dist/notifications/headless/types.js.map +1 -0
- package/dist/notifications/headless/useBroadcasts.d.ts +90 -0
- package/dist/notifications/headless/useBroadcasts.d.ts.map +1 -0
- package/dist/notifications/headless/useBroadcasts.js +187 -0
- package/dist/notifications/headless/useBroadcasts.js.map +1 -0
- package/dist/notifications/headless/useBrowserNotificationPermission.d.ts +64 -0
- package/dist/notifications/headless/useBrowserNotificationPermission.d.ts.map +1 -0
- package/dist/notifications/headless/useBrowserNotificationPermission.js +119 -0
- package/dist/notifications/headless/useBrowserNotificationPermission.js.map +1 -0
- package/dist/notifications/headless/useIsMounted.d.ts +9 -0
- package/dist/notifications/headless/useIsMounted.d.ts.map +1 -0
- package/dist/notifications/headless/useIsMounted.js +19 -0
- package/dist/notifications/headless/useIsMounted.js.map +1 -0
- package/dist/notifications/headless/useNotificationCapability.d.ts +304 -0
- package/dist/notifications/headless/useNotificationCapability.d.ts.map +1 -0
- package/dist/notifications/headless/useNotificationCapability.js +411 -0
- package/dist/notifications/headless/useNotificationCapability.js.map +1 -0
- package/dist/notifications/headless/useNotificationChannels.d.ts +39 -0
- package/dist/notifications/headless/useNotificationChannels.d.ts.map +1 -0
- package/dist/notifications/headless/useNotificationChannels.js +48 -0
- package/dist/notifications/headless/useNotificationChannels.js.map +1 -0
- package/dist/notifications/headless/useNotificationConfig.d.ts +46 -0
- package/dist/notifications/headless/useNotificationConfig.d.ts.map +1 -0
- package/dist/notifications/headless/useNotificationConfig.js +66 -0
- package/dist/notifications/headless/useNotificationConfig.js.map +1 -0
- package/dist/notifications/headless/useNotificationEvents.d.ts +49 -0
- package/dist/notifications/headless/useNotificationEvents.d.ts.map +1 -0
- package/dist/notifications/headless/useNotificationEvents.js +64 -0
- package/dist/notifications/headless/useNotificationEvents.js.map +1 -0
- package/dist/notifications/headless/usePushConfig.d.ts +50 -0
- package/dist/notifications/headless/usePushConfig.d.ts.map +1 -0
- package/dist/notifications/headless/usePushConfig.js +143 -0
- package/dist/notifications/headless/usePushConfig.js.map +1 -0
- package/dist/notifications/headless/usePushSubscriptionSync.d.ts +54 -0
- package/dist/notifications/headless/usePushSubscriptionSync.d.ts.map +1 -0
- package/dist/notifications/headless/usePushSubscriptionSync.js +83 -0
- package/dist/notifications/headless/usePushSubscriptionSync.js.map +1 -0
- package/dist/notifications/headless/useVisiblePolling.d.ts +55 -0
- package/dist/notifications/headless/useVisiblePolling.d.ts.map +1 -0
- package/dist/notifications/headless/useVisiblePolling.js +96 -0
- package/dist/notifications/headless/useVisiblePolling.js.map +1 -0
- package/dist/notifications/ui/AddToHomeScreenPanel.d.ts +52 -0
- package/dist/notifications/ui/AddToHomeScreenPanel.d.ts.map +1 -0
- package/dist/notifications/ui/AddToHomeScreenPanel.js +61 -0
- package/dist/notifications/ui/AddToHomeScreenPanel.js.map +1 -0
- package/dist/notifications/ui/BroadcastComposer.d.ts +87 -0
- package/dist/notifications/ui/BroadcastComposer.d.ts.map +1 -0
- package/dist/notifications/ui/BroadcastComposer.js +331 -0
- package/dist/notifications/ui/BroadcastComposer.js.map +1 -0
- package/dist/notifications/ui/BroadcastDetailDialog.d.ts +33 -0
- package/dist/notifications/ui/BroadcastDetailDialog.d.ts.map +1 -0
- package/dist/notifications/ui/BroadcastDetailDialog.js +43 -0
- package/dist/notifications/ui/BroadcastDetailDialog.js.map +1 -0
- package/dist/notifications/ui/BroadcastsPage.d.ts +100 -0
- package/dist/notifications/ui/BroadcastsPage.d.ts.map +1 -0
- package/dist/notifications/ui/BroadcastsPage.js +340 -0
- package/dist/notifications/ui/BroadcastsPage.js.map +1 -0
- package/dist/notifications/ui/LoadingSpinner.d.ts +7 -0
- package/dist/notifications/ui/LoadingSpinner.d.ts.map +1 -0
- package/dist/notifications/ui/LoadingSpinner.js +15 -0
- package/dist/notifications/ui/LoadingSpinner.js.map +1 -0
- package/dist/notifications/ui/NotificationBell.d.ts +85 -0
- package/dist/notifications/ui/NotificationBell.d.ts.map +1 -0
- package/dist/notifications/ui/NotificationBell.js +161 -0
- package/dist/notifications/ui/NotificationBell.js.map +1 -0
- package/dist/notifications/ui/NotificationPermissionBanner.d.ts +56 -0
- package/dist/notifications/ui/NotificationPermissionBanner.d.ts.map +1 -0
- package/dist/notifications/ui/NotificationPermissionBanner.js +106 -0
- package/dist/notifications/ui/NotificationPermissionBanner.js.map +1 -0
- package/dist/notifications/ui/NotificationSettings.d.ts +304 -0
- package/dist/notifications/ui/NotificationSettings.d.ts.map +1 -0
- package/dist/notifications/ui/NotificationSettings.js +466 -0
- package/dist/notifications/ui/NotificationSettings.js.map +1 -0
- package/dist/notifications/ui/NotificationSettingsPage.d.ts +80 -0
- package/dist/notifications/ui/NotificationSettingsPage.d.ts.map +1 -0
- package/dist/notifications/ui/NotificationSettingsPage.js +166 -0
- package/dist/notifications/ui/NotificationSettingsPage.js.map +1 -0
- package/dist/notifications/ui/PushConfigConfirmDialog.d.ts +40 -0
- package/dist/notifications/ui/PushConfigConfirmDialog.d.ts.map +1 -0
- package/dist/notifications/ui/PushConfigConfirmDialog.js +72 -0
- package/dist/notifications/ui/PushConfigConfirmDialog.js.map +1 -0
- package/dist/notifications/ui/PushConfigPage.d.ts +84 -0
- package/dist/notifications/ui/PushConfigPage.d.ts.map +1 -0
- package/dist/notifications/ui/PushConfigPage.js +205 -0
- package/dist/notifications/ui/PushConfigPage.js.map +1 -0
- package/dist/notifications/ui/PushTestPanel.d.ts +25 -0
- package/dist/notifications/ui/PushTestPanel.d.ts.map +1 -0
- package/dist/notifications/ui/PushTestPanel.js +304 -0
- package/dist/notifications/ui/PushTestPanel.js.map +1 -0
- package/dist/notifications/ui/SystemSettingsSection.d.ts +69 -0
- package/dist/notifications/ui/SystemSettingsSection.d.ts.map +1 -0
- package/dist/notifications/ui/SystemSettingsSection.js +63 -0
- package/dist/notifications/ui/SystemSettingsSection.js.map +1 -0
- package/dist/notifications/ui/UserNotificationsPage.d.ts +101 -0
- package/dist/notifications/ui/UserNotificationsPage.d.ts.map +1 -0
- package/dist/notifications/ui/UserNotificationsPage.js +197 -0
- package/dist/notifications/ui/UserNotificationsPage.js.map +1 -0
- package/dist/notifications/ui/UserSettingsSection.d.ts +99 -0
- package/dist/notifications/ui/UserSettingsSection.d.ts.map +1 -0
- package/dist/notifications/ui/UserSettingsSection.js +78 -0
- package/dist/notifications/ui/UserSettingsSection.js.map +1 -0
- package/dist/notifications/ui/broadcastsTable.d.ts +117 -0
- package/dist/notifications/ui/broadcastsTable.d.ts.map +1 -0
- package/dist/notifications/ui/broadcastsTable.js +312 -0
- package/dist/notifications/ui/broadcastsTable.js.map +1 -0
- package/dist/notifications/ui/datatable.d.ts +14 -0
- package/dist/notifications/ui/datatable.d.ts.map +1 -0
- package/dist/notifications/ui/datatable.js +8 -0
- package/dist/notifications/ui/datatable.js.map +1 -0
- package/dist/notifications/ui/index.d.ts +14 -0
- package/dist/notifications/ui/index.d.ts.map +1 -0
- package/dist/notifications/ui/index.js +13 -0
- package/dist/notifications/ui/index.js.map +1 -0
- package/dist/notifications/ui/relativeTime.d.ts +25 -0
- package/dist/notifications/ui/relativeTime.d.ts.map +1 -0
- package/dist/notifications/ui/relativeTime.js +70 -0
- package/dist/notifications/ui/relativeTime.js.map +1 -0
- package/dist/onboarding/headless/client.d.ts +44 -0
- package/dist/onboarding/headless/client.d.ts.map +1 -0
- package/dist/onboarding/headless/client.js +44 -0
- package/dist/onboarding/headless/client.js.map +1 -0
- package/dist/onboarding/headless/feature-notices.d.ts +56 -0
- package/dist/onboarding/headless/feature-notices.d.ts.map +1 -0
- package/dist/onboarding/headless/feature-notices.js +62 -0
- package/dist/onboarding/headless/feature-notices.js.map +1 -0
- package/dist/onboarding/headless/getting-started.d.ts +35 -0
- package/dist/onboarding/headless/getting-started.d.ts.map +1 -0
- package/dist/onboarding/headless/getting-started.js +28 -0
- package/dist/onboarding/headless/getting-started.js.map +1 -0
- package/dist/onboarding/headless/index.d.ts +12 -0
- package/dist/onboarding/headless/index.d.ts.map +1 -0
- package/dist/onboarding/headless/index.js +10 -0
- package/dist/onboarding/headless/index.js.map +1 -0
- package/dist/onboarding/headless/provider.d.ts +94 -0
- package/dist/onboarding/headless/provider.d.ts.map +1 -0
- package/dist/onboarding/headless/provider.js +204 -0
- package/dist/onboarding/headless/provider.js.map +1 -0
- package/dist/onboarding/headless/use-onboarding-metrics.d.ts +35 -0
- package/dist/onboarding/headless/use-onboarding-metrics.d.ts.map +1 -0
- package/dist/onboarding/headless/use-onboarding-metrics.js +58 -0
- package/dist/onboarding/headless/use-onboarding-metrics.js.map +1 -0
- package/dist/onboarding/index.d.ts +3 -0
- package/dist/onboarding/index.d.ts.map +1 -0
- package/dist/onboarding/index.js +8 -0
- package/dist/onboarding/index.js.map +1 -0
- package/dist/onboarding/internal/use-is-mounted.d.ts +3 -0
- package/dist/onboarding/internal/use-is-mounted.d.ts.map +1 -0
- package/dist/onboarding/internal/use-is-mounted.js +13 -0
- package/dist/onboarding/internal/use-is-mounted.js.map +1 -0
- package/dist/onboarding/ui/ActivationMetrics.d.ts +40 -0
- package/dist/onboarding/ui/ActivationMetrics.d.ts.map +1 -0
- package/dist/onboarding/ui/ActivationMetrics.js +73 -0
- package/dist/onboarding/ui/ActivationMetrics.js.map +1 -0
- package/dist/onboarding/ui/FeatureUnavailableNotice.d.ts +30 -0
- package/dist/onboarding/ui/FeatureUnavailableNotice.d.ts.map +1 -0
- package/dist/onboarding/ui/FeatureUnavailableNotice.js +43 -0
- package/dist/onboarding/ui/FeatureUnavailableNotice.js.map +1 -0
- package/dist/onboarding/ui/GettingStartedMenuItem.d.ts +28 -0
- package/dist/onboarding/ui/GettingStartedMenuItem.d.ts.map +1 -0
- package/dist/onboarding/ui/GettingStartedMenuItem.js +30 -0
- package/dist/onboarding/ui/GettingStartedMenuItem.js.map +1 -0
- package/dist/onboarding/ui/GettingStartedPage.d.ts +42 -0
- package/dist/onboarding/ui/GettingStartedPage.d.ts.map +1 -0
- package/dist/onboarding/ui/GettingStartedPage.js +34 -0
- package/dist/onboarding/ui/GettingStartedPage.js.map +1 -0
- package/dist/onboarding/ui/OnboardingChecklist.d.ts +55 -0
- package/dist/onboarding/ui/OnboardingChecklist.d.ts.map +1 -0
- package/dist/onboarding/ui/OnboardingChecklist.js +91 -0
- package/dist/onboarding/ui/OnboardingChecklist.js.map +1 -0
- package/dist/onboarding/ui/SetupGuidePage.d.ts +46 -0
- package/dist/onboarding/ui/SetupGuidePage.d.ts.map +1 -0
- package/dist/onboarding/ui/SetupGuidePage.js +40 -0
- package/dist/onboarding/ui/SetupGuidePage.js.map +1 -0
- package/dist/onboarding/ui/WelcomeDialog.d.ts +56 -0
- package/dist/onboarding/ui/WelcomeDialog.d.ts.map +1 -0
- package/dist/onboarding/ui/WelcomeDialog.js +66 -0
- package/dist/onboarding/ui/WelcomeDialog.js.map +1 -0
- package/dist/onboarding/ui/copy.d.ts +67 -0
- package/dist/onboarding/ui/copy.d.ts.map +1 -0
- package/dist/onboarding/ui/copy.js +69 -0
- package/dist/onboarding/ui/copy.js.map +1 -0
- package/dist/onboarding/ui/index.d.ts +16 -0
- package/dist/onboarding/ui/index.d.ts.map +1 -0
- package/dist/onboarding/ui/index.js +14 -0
- package/dist/onboarding/ui/index.js.map +1 -0
- package/dist/onboarding/ui/settings-pages.d.ts +33 -0
- package/dist/onboarding/ui/settings-pages.d.ts.map +1 -0
- package/dist/onboarding/ui/settings-pages.js +56 -0
- package/dist/onboarding/ui/settings-pages.js.map +1 -0
- package/dist/settings/headless/features.d.ts +74 -0
- package/dist/settings/headless/features.d.ts.map +1 -0
- package/dist/settings/headless/features.js +94 -0
- package/dist/settings/headless/features.js.map +1 -0
- package/dist/settings/headless/index.d.ts +39 -0
- package/dist/settings/headless/index.d.ts.map +1 -0
- package/dist/settings/headless/index.js +12 -0
- package/dist/settings/headless/index.js.map +1 -0
- package/dist/settings/headless/org-field-renderers.d.ts +57 -0
- package/dist/settings/headless/org-field-renderers.d.ts.map +1 -0
- package/dist/settings/headless/org-field-renderers.js +59 -0
- package/dist/settings/headless/org-field-renderers.js.map +1 -0
- package/dist/settings/headless/profile-image.d.ts +62 -0
- package/dist/settings/headless/profile-image.d.ts.map +1 -0
- package/dist/settings/headless/profile-image.js +51 -0
- package/dist/settings/headless/profile-image.js.map +1 -0
- package/dist/settings/headless/theme-options.d.ts +33 -0
- package/dist/settings/headless/theme-options.d.ts.map +1 -0
- package/dist/settings/headless/theme-options.js +47 -0
- package/dist/settings/headless/theme-options.js.map +1 -0
- package/dist/settings/headless/use-org-settings.d.ts +41 -0
- package/dist/settings/headless/use-org-settings.d.ts.map +1 -0
- package/dist/settings/headless/use-org-settings.js +84 -0
- package/dist/settings/headless/use-org-settings.js.map +1 -0
- package/dist/settings/headless/use-pluggable-config-form.d.ts +72 -0
- package/dist/settings/headless/use-pluggable-config-form.d.ts.map +1 -0
- package/dist/settings/headless/use-pluggable-config-form.js +106 -0
- package/dist/settings/headless/use-pluggable-config-form.js.map +1 -0
- package/dist/settings/headless/use-storage-status.d.ts +30 -0
- package/dist/settings/headless/use-storage-status.d.ts.map +1 -0
- package/dist/settings/headless/use-storage-status.js +59 -0
- package/dist/settings/headless/use-storage-status.js.map +1 -0
- package/dist/settings/headless/use-system-settings.d.ts +70 -0
- package/dist/settings/headless/use-system-settings.d.ts.map +1 -0
- package/dist/settings/headless/use-system-settings.js +116 -0
- package/dist/settings/headless/use-system-settings.js.map +1 -0
- package/dist/settings/headless/use-user-settings.d.ts +96 -0
- package/dist/settings/headless/use-user-settings.d.ts.map +1 -0
- package/dist/settings/headless/use-user-settings.js +113 -0
- package/dist/settings/headless/use-user-settings.js.map +1 -0
- package/dist/settings/index.d.ts +9 -0
- package/dist/settings/index.d.ts.map +1 -0
- package/dist/settings/index.js +17 -0
- package/dist/settings/index.js.map +1 -0
- package/dist/settings/internal/LoadingSpinner.d.ts +6 -0
- package/dist/settings/internal/LoadingSpinner.d.ts.map +1 -0
- package/dist/settings/internal/LoadingSpinner.js +9 -0
- package/dist/settings/internal/LoadingSpinner.js.map +1 -0
- package/dist/settings/internal/use-is-mounted.d.ts +2 -0
- package/dist/settings/internal/use-is-mounted.d.ts.map +1 -0
- package/dist/settings/internal/use-is-mounted.js +14 -0
- package/dist/settings/internal/use-is-mounted.js.map +1 -0
- package/dist/settings/testing/index.d.ts +7 -0
- package/dist/settings/testing/index.d.ts.map +1 -0
- package/dist/settings/testing/index.js +12 -0
- package/dist/settings/testing/index.js.map +1 -0
- package/dist/settings/testing/routes.d.ts +28 -0
- package/dist/settings/testing/routes.d.ts.map +1 -0
- package/dist/settings/testing/routes.js +62 -0
- package/dist/settings/testing/routes.js.map +1 -0
- package/dist/settings/testing/sections.d.ts +28 -0
- package/dist/settings/testing/sections.d.ts.map +1 -0
- package/dist/settings/testing/sections.js +27 -0
- package/dist/settings/testing/sections.js.map +1 -0
- package/dist/settings/testing/settings-ai-cards.suite.d.ts +10 -0
- package/dist/settings/testing/settings-ai-cards.suite.d.ts.map +1 -0
- package/dist/settings/testing/settings-ai-cards.suite.js +143 -0
- package/dist/settings/testing/settings-ai-cards.suite.js.map +1 -0
- package/dist/settings/testing/settings-card-routes.suite.d.ts +10 -0
- package/dist/settings/testing/settings-card-routes.suite.d.ts.map +1 -0
- package/dist/settings/testing/settings-card-routes.suite.js +74 -0
- package/dist/settings/testing/settings-card-routes.suite.js.map +1 -0
- package/dist/settings/testing/settings-registry-gates.suite.d.ts +10 -0
- package/dist/settings/testing/settings-registry-gates.suite.d.ts.map +1 -0
- package/dist/settings/testing/settings-registry-gates.suite.js +277 -0
- package/dist/settings/testing/settings-registry-gates.suite.js.map +1 -0
- package/dist/settings/testing/settings-registry-shape.suite.d.ts +11 -0
- package/dist/settings/testing/settings-registry-shape.suite.d.ts.map +1 -0
- package/dist/settings/testing/settings-registry-shape.suite.js +115 -0
- package/dist/settings/testing/settings-registry-shape.suite.js.map +1 -0
- package/dist/settings/testing/settings-route-ownership.suite.d.ts +10 -0
- package/dist/settings/testing/settings-route-ownership.suite.d.ts.map +1 -0
- package/dist/settings/testing/settings-route-ownership.suite.js +115 -0
- package/dist/settings/testing/settings-route-ownership.suite.js.map +1 -0
- package/dist/settings/ui/ImageUpload.d.ts +49 -0
- package/dist/settings/ui/ImageUpload.d.ts.map +1 -0
- package/dist/settings/ui/ImageUpload.js +96 -0
- package/dist/settings/ui/ImageUpload.js.map +1 -0
- package/dist/settings/ui/OrgSettingsPage.d.ts +41 -0
- package/dist/settings/ui/OrgSettingsPage.d.ts.map +1 -0
- package/dist/settings/ui/OrgSettingsPage.js +99 -0
- package/dist/settings/ui/OrgSettingsPage.js.map +1 -0
- package/dist/settings/ui/PluggableConfigForm.d.ts +96 -0
- package/dist/settings/ui/PluggableConfigForm.d.ts.map +1 -0
- package/dist/settings/ui/PluggableConfigForm.js +95 -0
- package/dist/settings/ui/PluggableConfigForm.js.map +1 -0
- package/dist/settings/ui/ProfileSettings.d.ts +75 -0
- package/dist/settings/ui/ProfileSettings.d.ts.map +1 -0
- package/dist/settings/ui/ProfileSettings.js +270 -0
- package/dist/settings/ui/ProfileSettings.js.map +1 -0
- package/dist/settings/ui/SettingsHub.d.ts +97 -0
- package/dist/settings/ui/SettingsHub.d.ts.map +1 -0
- package/dist/settings/ui/SettingsHub.js +134 -0
- package/dist/settings/ui/SettingsHub.js.map +1 -0
- package/dist/settings/ui/ThemeSettings.d.ts +65 -0
- package/dist/settings/ui/ThemeSettings.d.ts.map +1 -0
- package/dist/settings/ui/ThemeSettings.js +26 -0
- package/dist/settings/ui/ThemeSettings.js.map +1 -0
- package/dist/settings/ui/UserAppearancePage.d.ts +65 -0
- package/dist/settings/ui/UserAppearancePage.d.ts.map +1 -0
- package/dist/settings/ui/UserAppearancePage.js +33 -0
- package/dist/settings/ui/UserAppearancePage.js.map +1 -0
- package/dist/settings/ui/UserProfilePage.d.ts +60 -0
- package/dist/settings/ui/UserProfilePage.d.ts.map +1 -0
- package/dist/settings/ui/UserProfilePage.js +29 -0
- package/dist/settings/ui/UserProfilePage.js.map +1 -0
- package/dist/settings/ui/UserSettingsSection.d.ts +141 -0
- package/dist/settings/ui/UserSettingsSection.d.ts.map +1 -0
- package/dist/settings/ui/UserSettingsSection.js +94 -0
- package/dist/settings/ui/UserSettingsSection.js.map +1 -0
- package/dist/settings/ui/index.d.ts +23 -0
- package/dist/settings/ui/index.d.ts.map +1 -0
- package/dist/settings/ui/index.js +16 -0
- package/dist/settings/ui/index.js.map +1 -0
- package/dist/settings/ui/registry.d.ts +102 -0
- package/dist/settings/ui/registry.d.ts.map +1 -0
- package/dist/settings/ui/registry.js +98 -0
- package/dist/settings/ui/registry.js.map +1 -0
- package/dist/sharing/headless/client.d.ts +181 -0
- package/dist/sharing/headless/client.d.ts.map +1 -0
- package/dist/sharing/headless/client.js +102 -0
- package/dist/sharing/headless/client.js.map +1 -0
- package/dist/sharing/headless/errors.d.ts +35 -0
- package/dist/sharing/headless/errors.d.ts.map +1 -0
- package/dist/sharing/headless/errors.js +93 -0
- package/dist/sharing/headless/errors.js.map +1 -0
- package/dist/sharing/headless/granteePickers.d.ts +127 -0
- package/dist/sharing/headless/granteePickers.d.ts.map +1 -0
- package/dist/sharing/headless/granteePickers.js +143 -0
- package/dist/sharing/headless/granteePickers.js.map +1 -0
- package/dist/sharing/headless/index.d.ts +22 -0
- package/dist/sharing/headless/index.d.ts.map +1 -0
- package/dist/sharing/headless/index.js +17 -0
- package/dist/sharing/headless/index.js.map +1 -0
- package/dist/sharing/headless/linkRenderers.d.ts +129 -0
- package/dist/sharing/headless/linkRenderers.d.ts.map +1 -0
- package/dist/sharing/headless/linkRenderers.js +143 -0
- package/dist/sharing/headless/linkRenderers.js.map +1 -0
- package/dist/sharing/headless/types.d.ts +63 -0
- package/dist/sharing/headless/types.d.ts.map +1 -0
- package/dist/sharing/headless/types.js +3 -0
- package/dist/sharing/headless/types.js.map +1 -0
- package/dist/sharing/headless/useGranteeKinds.d.ts +25 -0
- package/dist/sharing/headless/useGranteeKinds.d.ts.map +1 -0
- package/dist/sharing/headless/useGranteeKinds.js +29 -0
- package/dist/sharing/headless/useGranteeKinds.js.map +1 -0
- package/dist/sharing/headless/useGrants.d.ts +68 -0
- package/dist/sharing/headless/useGrants.d.ts.map +1 -0
- package/dist/sharing/headless/useGrants.js +61 -0
- package/dist/sharing/headless/useGrants.js.map +1 -0
- package/dist/sharing/headless/useGroupInvites.d.ts +36 -0
- package/dist/sharing/headless/useGroupInvites.d.ts.map +1 -0
- package/dist/sharing/headless/useGroupInvites.js +43 -0
- package/dist/sharing/headless/useGroupInvites.js.map +1 -0
- package/dist/sharing/headless/useGroupMembers.d.ts +22 -0
- package/dist/sharing/headless/useGroupMembers.d.ts.map +1 -0
- package/dist/sharing/headless/useGroupMembers.js +28 -0
- package/dist/sharing/headless/useGroupMembers.js.map +1 -0
- package/dist/sharing/headless/useGroupRoles.d.ts +25 -0
- package/dist/sharing/headless/useGroupRoles.d.ts.map +1 -0
- package/dist/sharing/headless/useGroupRoles.js +29 -0
- package/dist/sharing/headless/useGroupRoles.js.map +1 -0
- package/dist/sharing/headless/useGroups.d.ts +111 -0
- package/dist/sharing/headless/useGroups.d.ts.map +1 -0
- package/dist/sharing/headless/useGroups.js +79 -0
- package/dist/sharing/headless/useGroups.js.map +1 -0
- package/dist/sharing/headless/useLinkGrants.d.ts +43 -0
- package/dist/sharing/headless/useLinkGrants.d.ts.map +1 -0
- package/dist/sharing/headless/useLinkGrants.js +35 -0
- package/dist/sharing/headless/useLinkGrants.js.map +1 -0
- package/dist/sharing/headless/usePublicLink.d.ts +68 -0
- package/dist/sharing/headless/usePublicLink.d.ts.map +1 -0
- package/dist/sharing/headless/usePublicLink.js +145 -0
- package/dist/sharing/headless/usePublicLink.js.map +1 -0
- package/dist/sharing/headless/useSharedWithMe.d.ts +23 -0
- package/dist/sharing/headless/useSharedWithMe.d.ts.map +1 -0
- package/dist/sharing/headless/useSharedWithMe.js +26 -0
- package/dist/sharing/headless/useSharedWithMe.js.map +1 -0
- package/dist/sharing/internal/clipboard.d.ts +2 -0
- package/dist/sharing/internal/clipboard.d.ts.map +1 -0
- package/dist/sharing/internal/clipboard.js +34 -0
- package/dist/sharing/internal/clipboard.js.map +1 -0
- package/dist/sharing/internal/format.d.ts +8 -0
- package/dist/sharing/internal/format.d.ts.map +1 -0
- package/dist/sharing/internal/format.js +25 -0
- package/dist/sharing/internal/format.js.map +1 -0
- package/dist/sharing/internal/live-region.d.ts +6 -0
- package/dist/sharing/internal/live-region.d.ts.map +1 -0
- package/dist/sharing/internal/live-region.js +20 -0
- package/dist/sharing/internal/live-region.js.map +1 -0
- package/dist/sharing/internal/use-action-runner.d.ts +6 -0
- package/dist/sharing/internal/use-action-runner.d.ts.map +1 -0
- package/dist/sharing/internal/use-action-runner.js +28 -0
- package/dist/sharing/internal/use-action-runner.js.map +1 -0
- package/dist/sharing/internal/use-async-resource.d.ts +6 -0
- package/dist/sharing/internal/use-async-resource.d.ts.map +1 -0
- package/dist/sharing/internal/use-async-resource.js +52 -0
- package/dist/sharing/internal/use-async-resource.js.map +1 -0
- package/dist/sharing/internal/use-can.d.ts +3 -0
- package/dist/sharing/internal/use-can.d.ts.map +1 -0
- package/dist/sharing/internal/use-can.js +14 -0
- package/dist/sharing/internal/use-can.js.map +1 -0
- package/dist/sharing/internal/use-is-mounted.d.ts +2 -0
- package/dist/sharing/internal/use-is-mounted.d.ts.map +1 -0
- package/dist/sharing/internal/use-is-mounted.js +15 -0
- package/dist/sharing/internal/use-is-mounted.js.map +1 -0
- package/dist/sharing/internal/use-sharing-client.d.ts +3 -0
- package/dist/sharing/internal/use-sharing-client.d.ts.map +1 -0
- package/dist/sharing/internal/use-sharing-client.js +18 -0
- package/dist/sharing/internal/use-sharing-client.js.map +1 -0
- package/dist/sharing/ui/GroupDetailPage.d.ts +119 -0
- package/dist/sharing/ui/GroupDetailPage.d.ts.map +1 -0
- package/dist/sharing/ui/GroupDetailPage.js +254 -0
- package/dist/sharing/ui/GroupDetailPage.js.map +1 -0
- package/dist/sharing/ui/GroupsPage.d.ts +70 -0
- package/dist/sharing/ui/GroupsPage.d.ts.map +1 -0
- package/dist/sharing/ui/GroupsPage.js +91 -0
- package/dist/sharing/ui/GroupsPage.js.map +1 -0
- package/dist/sharing/ui/PendingGroupInvites.d.ts +56 -0
- package/dist/sharing/ui/PendingGroupInvites.d.ts.map +1 -0
- package/dist/sharing/ui/PendingGroupInvites.js +56 -0
- package/dist/sharing/ui/PendingGroupInvites.js.map +1 -0
- package/dist/sharing/ui/PublicLinkPage.d.ts +76 -0
- package/dist/sharing/ui/PublicLinkPage.d.ts.map +1 -0
- package/dist/sharing/ui/PublicLinkPage.js +102 -0
- package/dist/sharing/ui/PublicLinkPage.js.map +1 -0
- package/dist/sharing/ui/ShareDialog.d.ts +129 -0
- package/dist/sharing/ui/ShareDialog.d.ts.map +1 -0
- package/dist/sharing/ui/ShareDialog.js +242 -0
- package/dist/sharing/ui/ShareDialog.js.map +1 -0
- package/dist/sharing/ui/SharedWithMeList.d.ts +64 -0
- package/dist/sharing/ui/SharedWithMeList.d.ts.map +1 -0
- package/dist/sharing/ui/SharedWithMeList.js +58 -0
- package/dist/sharing/ui/SharedWithMeList.js.map +1 -0
- package/dist/sharing/ui/copy.d.ts +26 -0
- package/dist/sharing/ui/copy.d.ts.map +1 -0
- package/dist/sharing/ui/copy.js +30 -0
- package/dist/sharing/ui/copy.js.map +1 -0
- package/dist/sharing/ui/index.d.ts +14 -0
- package/dist/sharing/ui/index.d.ts.map +1 -0
- package/dist/sharing/ui/index.js +11 -0
- package/dist/sharing/ui/index.js.map +1 -0
- package/dist/sharing/ui/settings-page.d.ts +20 -0
- package/dist/sharing/ui/settings-page.d.ts.map +1 -0
- package/dist/sharing/ui/settings-page.js +32 -0
- package/dist/sharing/ui/settings-page.js.map +1 -0
- package/dist/shell/headless/index.d.ts +9 -0
- package/dist/shell/headless/index.d.ts.map +1 -0
- package/dist/shell/headless/index.js +8 -0
- package/dist/shell/headless/index.js.map +1 -0
- package/dist/shell/headless/navigation.d.ts +270 -0
- package/dist/shell/headless/navigation.d.ts.map +1 -0
- package/dist/shell/headless/navigation.js +138 -0
- package/dist/shell/headless/navigation.js.map +1 -0
- package/dist/shell/headless/providers.d.ts +40 -0
- package/dist/shell/headless/providers.d.ts.map +1 -0
- package/dist/shell/headless/providers.js +27 -0
- package/dist/shell/headless/providers.js.map +1 -0
- package/dist/shell/headless/rail-preference.d.ts +34 -0
- package/dist/shell/headless/rail-preference.d.ts.map +1 -0
- package/dist/shell/headless/rail-preference.js +67 -0
- package/dist/shell/headless/rail-preference.js.map +1 -0
- package/dist/shell/headless/theme.d.ts +190 -0
- package/dist/shell/headless/theme.d.ts.map +1 -0
- package/dist/shell/headless/theme.js +235 -0
- package/dist/shell/headless/theme.js.map +1 -0
- package/dist/shell/internal/use-is-mounted.d.ts +3 -0
- package/dist/shell/internal/use-is-mounted.d.ts.map +1 -0
- package/dist/shell/internal/use-is-mounted.js +13 -0
- package/dist/shell/internal/use-is-mounted.js.map +1 -0
- package/dist/shell/ui/ShellAppBar.d.ts +58 -0
- package/dist/shell/ui/ShellAppBar.d.ts.map +1 -0
- package/dist/shell/ui/ShellAppBar.js +81 -0
- package/dist/shell/ui/ShellAppBar.js.map +1 -0
- package/dist/shell/ui/ShellBottomNav.d.ts +31 -0
- package/dist/shell/ui/ShellBottomNav.d.ts.map +1 -0
- package/dist/shell/ui/ShellBottomNav.js +144 -0
- package/dist/shell/ui/ShellBottomNav.js.map +1 -0
- package/dist/shell/ui/ShellLayout.d.ts +49 -0
- package/dist/shell/ui/ShellLayout.d.ts.map +1 -0
- package/dist/shell/ui/ShellLayout.js +95 -0
- package/dist/shell/ui/ShellLayout.js.map +1 -0
- package/dist/shell/ui/ShellNavigationRail.d.ts +34 -0
- package/dist/shell/ui/ShellNavigationRail.d.ts.map +1 -0
- package/dist/shell/ui/ShellNavigationRail.js +195 -0
- package/dist/shell/ui/ShellNavigationRail.js.map +1 -0
- package/dist/shell/ui/ShellThemeProvider.d.ts +64 -0
- package/dist/shell/ui/ShellThemeProvider.d.ts.map +1 -0
- package/dist/shell/ui/ShellThemeProvider.js +105 -0
- package/dist/shell/ui/ShellThemeProvider.js.map +1 -0
- package/dist/shell/ui/ShellUserMenu.d.ts +36 -0
- package/dist/shell/ui/ShellUserMenu.d.ts.map +1 -0
- package/dist/shell/ui/ShellUserMenu.js +76 -0
- package/dist/shell/ui/ShellUserMenu.js.map +1 -0
- package/dist/shell/ui/destination-parts.d.ts +48 -0
- package/dist/shell/ui/destination-parts.d.ts.map +1 -0
- package/dist/shell/ui/destination-parts.js +54 -0
- package/dist/shell/ui/destination-parts.js.map +1 -0
- package/dist/shell/ui/index.d.ts +13 -0
- package/dist/shell/ui/index.d.ts.map +1 -0
- package/dist/shell/ui/index.js +10 -0
- package/dist/shell/ui/index.js.map +1 -0
- package/dist/storage/headless/index.d.ts +7 -0
- package/dist/storage/headless/index.d.ts.map +1 -0
- package/dist/storage/headless/index.js +9 -0
- package/dist/storage/headless/index.js.map +1 -0
- package/dist/storage/headless/objects-client.d.ts +112 -0
- package/dist/storage/headless/objects-client.d.ts.map +1 -0
- package/dist/storage/headless/objects-client.js +93 -0
- package/dist/storage/headless/objects-client.js.map +1 -0
- package/dist/storage/headless/storage-config.d.ts +454 -0
- package/dist/storage/headless/storage-config.d.ts.map +1 -0
- package/dist/storage/headless/storage-config.js +143 -0
- package/dist/storage/headless/storage-config.js.map +1 -0
- package/dist/storage/headless/use-storage-config.d.ts +126 -0
- package/dist/storage/headless/use-storage-config.d.ts.map +1 -0
- package/dist/storage/headless/use-storage-config.js +248 -0
- package/dist/storage/headless/use-storage-config.js.map +1 -0
- package/dist/storage/index.d.ts +3 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +8 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/ui/S3FamilyDriverPanel.d.ts +67 -0
- package/dist/storage/ui/S3FamilyDriverPanel.d.ts.map +1 -0
- package/dist/storage/ui/S3FamilyDriverPanel.js +195 -0
- package/dist/storage/ui/S3FamilyDriverPanel.js.map +1 -0
- package/dist/storage/ui/StorageConfigPage.d.ts +95 -0
- package/dist/storage/ui/StorageConfigPage.d.ts.map +1 -0
- package/dist/storage/ui/StorageConfigPage.js +404 -0
- package/dist/storage/ui/StorageConfigPage.js.map +1 -0
- package/dist/storage/ui/StorageGenericDriverPanel.d.ts +42 -0
- package/dist/storage/ui/StorageGenericDriverPanel.d.ts.map +1 -0
- package/dist/storage/ui/StorageGenericDriverPanel.js +47 -0
- package/dist/storage/ui/StorageGenericDriverPanel.js.map +1 -0
- package/dist/storage/ui/StorageSwitchConfirmDialog.d.ts +55 -0
- package/dist/storage/ui/StorageSwitchConfirmDialog.d.ts.map +1 -0
- package/dist/storage/ui/StorageSwitchConfirmDialog.js +64 -0
- package/dist/storage/ui/StorageSwitchConfirmDialog.js.map +1 -0
- package/dist/storage/ui/builtinStorageDriverPanels.d.ts +5 -0
- package/dist/storage/ui/builtinStorageDriverPanels.d.ts.map +1 -0
- package/dist/storage/ui/builtinStorageDriverPanels.js +18 -0
- package/dist/storage/ui/builtinStorageDriverPanels.js.map +1 -0
- package/dist/storage/ui/driver-panels.d.ts +4 -0
- package/dist/storage/ui/driver-panels.d.ts.map +1 -0
- package/dist/storage/ui/driver-panels.js +7 -0
- package/dist/storage/ui/driver-panels.js.map +1 -0
- package/dist/storage/ui/index.d.ts +7 -0
- package/dist/storage/ui/index.d.ts.map +1 -0
- package/dist/storage/ui/index.js +11 -0
- package/dist/storage/ui/index.js.map +1 -0
- package/dist/storage/ui/storageDriverPanelRegistry.d.ts +107 -0
- package/dist/storage/ui/storageDriverPanelRegistry.d.ts.map +1 -0
- package/dist/storage/ui/storageDriverPanelRegistry.js +91 -0
- package/dist/storage/ui/storageDriverPanelRegistry.js.map +1 -0
- package/dist/telemetry/headless/context/metricUnitFormats.d.ts +28 -0
- package/dist/telemetry/headless/context/metricUnitFormats.d.ts.map +1 -0
- package/dist/telemetry/headless/context/metricUnitFormats.js +44 -0
- package/dist/telemetry/headless/context/metricUnitFormats.js.map +1 -0
- package/dist/telemetry/headless/hooks/useTelemetryDashboard.d.ts +84 -2
- package/dist/telemetry/headless/hooks/useTelemetryDashboard.d.ts.map +1 -1
- package/dist/telemetry/headless/hooks/useTelemetryDashboard.js +24 -0
- package/dist/telemetry/headless/hooks/useTelemetryDashboard.js.map +1 -1
- package/dist/telemetry/headless/hooks/useTelemetryStore.d.ts +35 -0
- package/dist/telemetry/headless/hooks/useTelemetryStore.d.ts.map +1 -0
- package/dist/telemetry/headless/hooks/useTelemetryStore.js +84 -0
- package/dist/telemetry/headless/hooks/useTelemetryStore.js.map +1 -0
- package/dist/telemetry/headless/index.d.ts +9 -1
- package/dist/telemetry/headless/index.d.ts.map +1 -1
- package/dist/telemetry/headless/index.js +7 -1
- package/dist/telemetry/headless/index.js.map +1 -1
- package/dist/telemetry/headless/lib/dashboardState.d.ts +14 -1
- package/dist/telemetry/headless/lib/dashboardState.d.ts.map +1 -1
- package/dist/telemetry/headless/lib/dashboardState.js.map +1 -1
- package/dist/telemetry/headless/lib/format.d.ts +37 -6
- package/dist/telemetry/headless/lib/format.d.ts.map +1 -1
- package/dist/telemetry/headless/lib/format.js +77 -3
- package/dist/telemetry/headless/lib/format.js.map +1 -1
- package/dist/telemetry/headless/lib/metrics/presentation.d.ts +137 -0
- package/dist/telemetry/headless/lib/metrics/presentation.d.ts.map +1 -0
- package/dist/telemetry/headless/lib/metrics/presentation.js +185 -0
- package/dist/telemetry/headless/lib/metrics/presentation.js.map +1 -0
- package/dist/telemetry/headless/services/client.d.ts +11 -2
- package/dist/telemetry/headless/services/client.d.ts.map +1 -1
- package/dist/telemetry/headless/services/client.js +5 -0
- package/dist/telemetry/headless/services/client.js.map +1 -1
- package/dist/telemetry/headless/services/telemetry.d.ts +22 -1
- package/dist/telemetry/headless/services/telemetry.d.ts.map +1 -1
- package/dist/telemetry/headless/services/telemetry.js +0 -12
- package/dist/telemetry/headless/services/telemetry.js.map +1 -1
- package/dist/telemetry/headless/services/telemetryDashboard.d.ts +28 -1
- package/dist/telemetry/headless/services/telemetryDashboard.d.ts.map +1 -1
- package/dist/telemetry/headless/services/telemetryDashboard.js.map +1 -1
- package/dist/telemetry/ui/components/TelemetryStoreSection.d.ts +24 -0
- package/dist/telemetry/ui/components/TelemetryStoreSection.d.ts.map +1 -0
- package/dist/telemetry/ui/components/TelemetryStoreSection.js +56 -0
- package/dist/telemetry/ui/components/TelemetryStoreSection.js.map +1 -0
- package/dist/telemetry/ui/components/dashboard/DashboardFilterBar.d.ts +5 -0
- package/dist/telemetry/ui/components/dashboard/DashboardFilterBar.d.ts.map +1 -1
- package/dist/telemetry/ui/components/dashboard/DashboardFilterBar.js.map +1 -1
- package/dist/telemetry/ui/components/dashboard/DashboardPanel.d.ts +9 -0
- package/dist/telemetry/ui/components/dashboard/DashboardPanel.d.ts.map +1 -1
- package/dist/telemetry/ui/components/dashboard/DashboardPanel.js.map +1 -1
- package/dist/telemetry/ui/components/dashboard/KpiTiles.d.ts +3 -1
- package/dist/telemetry/ui/components/dashboard/KpiTiles.d.ts.map +1 -1
- package/dist/telemetry/ui/components/dashboard/KpiTiles.js +11 -5
- package/dist/telemetry/ui/components/dashboard/KpiTiles.js.map +1 -1
- package/dist/telemetry/ui/components/dashboard/metrics/MetricSections.d.ts +15 -36
- package/dist/telemetry/ui/components/dashboard/metrics/MetricSections.d.ts.map +1 -1
- package/dist/telemetry/ui/components/dashboard/metrics/MetricSections.js +92 -163
- package/dist/telemetry/ui/components/dashboard/metrics/MetricSections.js.map +1 -1
- package/dist/telemetry/ui/components/dashboard/metrics/MetricSeriesChart.d.ts.map +1 -1
- package/dist/telemetry/ui/components/dashboard/metrics/MetricSeriesChart.js +4 -2
- package/dist/telemetry/ui/components/dashboard/metrics/MetricSeriesChart.js.map +1 -1
- package/dist/telemetry/ui/components/dashboard/metrics/MetricTable.d.ts.map +1 -1
- package/dist/telemetry/ui/components/dashboard/metrics/MetricTable.js +16 -5
- package/dist/telemetry/ui/components/dashboard/metrics/MetricTable.js.map +1 -1
- package/dist/telemetry/ui/components/dashboard/panels/builtinPanelViews.d.ts +12 -0
- package/dist/telemetry/ui/components/dashboard/panels/builtinPanelViews.d.ts.map +1 -0
- package/dist/telemetry/ui/components/dashboard/panels/builtinPanelViews.js +59 -0
- package/dist/telemetry/ui/components/dashboard/panels/builtinPanelViews.js.map +1 -0
- package/dist/telemetry/ui/components/dashboard/panels/dashboardPanelViews.d.ts +155 -0
- package/dist/telemetry/ui/components/dashboard/panels/dashboardPanelViews.d.ts.map +1 -0
- package/dist/telemetry/ui/components/dashboard/panels/dashboardPanelViews.js +74 -0
- package/dist/telemetry/ui/components/dashboard/panels/dashboardPanelViews.js.map +1 -0
- package/dist/telemetry/ui/dashboard-page.d.ts +1 -0
- package/dist/telemetry/ui/dashboard-page.d.ts.map +1 -1
- package/dist/telemetry/ui/dashboard-panels.d.ts +5 -0
- package/dist/telemetry/ui/dashboard-panels.d.ts.map +1 -0
- package/dist/telemetry/ui/dashboard-panels.js +8 -0
- package/dist/telemetry/ui/dashboard-panels.js.map +1 -0
- package/dist/telemetry/ui/explorer-page.d.ts +1 -0
- package/dist/telemetry/ui/explorer-page.d.ts.map +1 -1
- package/dist/telemetry/ui/index.d.ts +5 -0
- package/dist/telemetry/ui/index.d.ts.map +1 -1
- package/dist/telemetry/ui/index.js +3 -0
- package/dist/telemetry/ui/index.js.map +1 -1
- package/dist/telemetry/ui/pages/TelemetryDashboardPage.d.ts +23 -1
- package/dist/telemetry/ui/pages/TelemetryDashboardPage.d.ts.map +1 -1
- package/dist/telemetry/ui/pages/TelemetryDashboardPage.js +135 -52
- package/dist/telemetry/ui/pages/TelemetryDashboardPage.js.map +1 -1
- package/dist/telemetry/ui/pages/TelemetryExplorerPage.d.ts +30 -1
- package/dist/telemetry/ui/pages/TelemetryExplorerPage.d.ts.map +1 -1
- package/dist/telemetry/ui/pages/TelemetryExplorerPage.js +26 -8
- package/dist/telemetry/ui/pages/TelemetryExplorerPage.js.map +1 -1
- package/dist/telemetry/ui/pages/TelemetrySettingsPage.d.ts +23 -1
- package/dist/telemetry/ui/pages/TelemetrySettingsPage.d.ts.map +1 -1
- package/dist/telemetry/ui/pages/TelemetrySettingsPage.js +40 -11
- package/dist/telemetry/ui/pages/TelemetrySettingsPage.js.map +1 -1
- package/dist/telemetry/ui/settings-page.d.ts +1 -0
- package/dist/telemetry/ui/settings-page.d.ts.map +1 -1
- package/dist/testing/conformance.d.ts +335 -0
- package/dist/testing/conformance.d.ts.map +1 -0
- package/dist/testing/conformance.js +150 -0
- package/dist/testing/conformance.js.map +1 -0
- package/dist/testing/index.d.ts +2 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +3 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/testing/test-platform-host.d.ts +9 -1
- package/dist/testing/test-platform-host.d.ts.map +1 -1
- package/dist/testing/test-platform-host.js +19 -5
- package/dist/testing/test-platform-host.js.map +1 -1
- package/dist/user-data/headless/client.d.ts +63 -0
- package/dist/user-data/headless/client.d.ts.map +1 -0
- package/dist/user-data/headless/client.js +44 -0
- package/dist/user-data/headless/client.js.map +1 -0
- package/dist/user-data/headless/index.d.ts +7 -0
- package/dist/user-data/headless/index.d.ts.map +1 -0
- package/dist/user-data/headless/index.js +7 -0
- package/dist/user-data/headless/index.js.map +1 -0
- package/dist/user-data/headless/sections.d.ts +54 -0
- package/dist/user-data/headless/sections.d.ts.map +1 -0
- package/dist/user-data/headless/sections.js +43 -0
- package/dist/user-data/headless/sections.js.map +1 -0
- package/dist/user-data/headless/use-destructive-job.d.ts +84 -0
- package/dist/user-data/headless/use-destructive-job.d.ts.map +1 -0
- package/dist/user-data/headless/use-destructive-job.js +110 -0
- package/dist/user-data/headless/use-destructive-job.js.map +1 -0
- package/dist/user-data/ui/FactoryResetPage.d.ts +66 -0
- package/dist/user-data/ui/FactoryResetPage.d.ts.map +1 -0
- package/dist/user-data/ui/FactoryResetPage.js +82 -0
- package/dist/user-data/ui/FactoryResetPage.js.map +1 -0
- package/dist/user-data/ui/OffboardOrganizationButton.d.ts +38 -0
- package/dist/user-data/ui/OffboardOrganizationButton.d.ts.map +1 -0
- package/dist/user-data/ui/OffboardOrganizationButton.js +27 -0
- package/dist/user-data/ui/OffboardOrganizationButton.js.map +1 -0
- package/dist/user-data/ui/OrgOffboardingDialog.d.ts +43 -0
- package/dist/user-data/ui/OrgOffboardingDialog.d.ts.map +1 -0
- package/dist/user-data/ui/OrgOffboardingDialog.js +56 -0
- package/dist/user-data/ui/OrgOffboardingDialog.js.map +1 -0
- package/dist/user-data/ui/TypedConfirmDialog.d.ts +62 -0
- package/dist/user-data/ui/TypedConfirmDialog.d.ts.map +1 -0
- package/dist/user-data/ui/TypedConfirmDialog.js +36 -0
- package/dist/user-data/ui/TypedConfirmDialog.js.map +1 -0
- package/dist/user-data/ui/UserDangerZonePage.d.ts +66 -0
- package/dist/user-data/ui/UserDangerZonePage.d.ts.map +1 -0
- package/dist/user-data/ui/UserDangerZonePage.js +102 -0
- package/dist/user-data/ui/UserDangerZonePage.js.map +1 -0
- package/dist/user-data/ui/copy.d.ts +15 -0
- package/dist/user-data/ui/copy.d.ts.map +1 -0
- package/dist/user-data/ui/copy.js +34 -0
- package/dist/user-data/ui/copy.js.map +1 -0
- package/dist/user-data/ui/index.d.ts +13 -0
- package/dist/user-data/ui/index.d.ts.map +1 -0
- package/dist/user-data/ui/index.js +12 -0
- package/dist/user-data/ui/index.js.map +1 -0
- package/dist/user-data/ui/settings-pages.d.ts +31 -0
- package/dist/user-data/ui/settings-pages.d.ts.map +1 -0
- package/dist/user-data/ui/settings-pages.js +52 -0
- package/dist/user-data/ui/settings-pages.js.map +1 -0
- package/package.json +229 -3
|
@@ -0,0 +1,723 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* The notification centre's state — the durable surface of the browser channel.
|
|
4
|
+
*
|
|
5
|
+
* Issue #127, epic #109. Owns the recent-notification list, the unread count,
|
|
6
|
+
* the SSE connection, and the native toast. Mounted once, in `App.tsx`, around
|
|
7
|
+
* the `Layout` route element — so it exists exactly where the app shell (and
|
|
8
|
+
* therefore the bell in the `AppBar`) exists, and nowhere else.
|
|
9
|
+
*
|
|
10
|
+
* =============================================================================
|
|
11
|
+
* THE ORDERING THAT MATTERS: TABLE FIRST, STREAM SECOND, TOAST THIRD
|
|
12
|
+
* =============================================================================
|
|
13
|
+
*
|
|
14
|
+
* Three mechanisms, in strict order of authority, and the whole design of this
|
|
15
|
+
* file follows from it:
|
|
16
|
+
*
|
|
17
|
+
* 1. `GET /api/notifications` + `/unread-count` — THE TRUTH. Everything the
|
|
18
|
+
* bell renders comes from here. This works with the stream down, with
|
|
19
|
+
* permission denied, in a browser with no `Notification` API at all, and
|
|
20
|
+
* after any gap of any length.
|
|
21
|
+
* 2. The SSE stream — LIVENESS ONLY. It makes the centre update without a
|
|
22
|
+
* refresh. It is not a delivery guarantee (no replay, no `Last-Event-ID`,
|
|
23
|
+
* per-process fan-out), so a missed frame must only ever cost immediacy.
|
|
24
|
+
* 3. `new Notification(...)` — DECORATION. Raised when permission is already
|
|
25
|
+
* granted, absent otherwise, and nothing depends on it.
|
|
26
|
+
*
|
|
27
|
+
* Anything that inverts this ordering is a bug even if it works in testing. A
|
|
28
|
+
* list populated only by stream frames looks perfect on a developer's machine
|
|
29
|
+
* and is empty on every page load in production.
|
|
30
|
+
*
|
|
31
|
+
* =============================================================================
|
|
32
|
+
* ⚠️ REFETCH ON EVERY (RE)CONNECT — `handleStreamOpen` BELOW
|
|
33
|
+
* =============================================================================
|
|
34
|
+
*
|
|
35
|
+
* THE STREAM REPLAYS NOTHING. The API buffers no events, honours no
|
|
36
|
+
* `Last-Event-ID`, and keeps no log; anything published while the connection was
|
|
37
|
+
* down is never seen by this tab. Its stream registry is also PER API PROCESS,
|
|
38
|
+
* so with more than one replica a connected tab still misses events published on
|
|
39
|
+
* another pod.
|
|
40
|
+
*
|
|
41
|
+
* Both are survivable for exactly one reason: the `notifications` row is written
|
|
42
|
+
* to the shared database BEFORE it is published, so the table is always right
|
|
43
|
+
* even when the stream is not. The recovery is therefore to RE-READ THE TABLE
|
|
44
|
+
* WHENEVER A CONNECTION IS ESTABLISHED — not just on mount, on EVERY connect,
|
|
45
|
+
* because a reconnect is precisely the event that says "there may have been a
|
|
46
|
+
* gap".
|
|
47
|
+
*
|
|
48
|
+
* If you delete `refresh()` from `handleStreamOpen` because it looks redundant
|
|
49
|
+
* next to the mount fetch: the bell goes stale after the first network blip and
|
|
50
|
+
* stays stale for the life of the tab, and nothing anywhere logs an error. That
|
|
51
|
+
* is the failure this comment exists to prevent.
|
|
52
|
+
*/
|
|
53
|
+
import { createContext, useCallback, useContext, useEffect, useRef, useState, } from 'react';
|
|
54
|
+
import { useNavigate, useSearchParams } from 'react-router-dom';
|
|
55
|
+
import { useAuth } from '../../identity/index.js';
|
|
56
|
+
import { useIsMounted } from './useIsMounted.js';
|
|
57
|
+
import { ApiError, getNotificationConfig, getNotifications, getUnreadNotificationCount, markAllNotificationsRead, markNotificationRead, } from './api.js';
|
|
58
|
+
import { connectNotificationStream } from './notificationStream.js';
|
|
59
|
+
import { showAppNotification } from './browserNotifications.js';
|
|
60
|
+
import { hasActivePushSubscription } from './pushSubscription.js';
|
|
61
|
+
import { isInternalLink } from './internalLink.js';
|
|
62
|
+
/**
|
|
63
|
+
* How many notifications the centre holds.
|
|
64
|
+
*
|
|
65
|
+
* The bell is a RECENT list, not an archive — it shows what has happened
|
|
66
|
+
* lately and the unread count tells the honest total. One page, no infinite
|
|
67
|
+
* scroll: a popover the user opens to triage two items should not paginate, and
|
|
68
|
+
* the API caps `pageSize` at 100 anyway because an uncapped page on an
|
|
69
|
+
* unbounded table is a way for any authenticated user to ask for their entire
|
|
70
|
+
* history in one request.
|
|
71
|
+
*
|
|
72
|
+
* @stability experimental
|
|
73
|
+
*/
|
|
74
|
+
export const RECENT_NOTIFICATION_COUNT = 20;
|
|
75
|
+
/**
|
|
76
|
+
* How many notification ids the centre remembers for de-duplication.
|
|
77
|
+
*
|
|
78
|
+
* ⚠️ ISSUE #127 — DELIBERATELY LARGER THAN `RECENT_NOTIFICATION_COUNT`, and the
|
|
79
|
+
* gap between the two numbers is the whole point. The visible list is truncated
|
|
80
|
+
* to 20 because a popover is not an archive; the question "have I already
|
|
81
|
+
* counted this one?" must NOT be truncated with it, because the two have
|
|
82
|
+
* different failure modes. A row pushed off the end of the list by truncation
|
|
83
|
+
* and then re-delivered by the stream is still the SAME notification the server
|
|
84
|
+
* counted exactly once — counting it again is the #127 double-count wearing a
|
|
85
|
+
* different hat, and it would be invisible in testing because it needs 20
|
|
86
|
+
* arrivals before it can happen at all.
|
|
87
|
+
*
|
|
88
|
+
* 10× the visible list makes that unreachable in practice: every duplicate race
|
|
89
|
+
* this defends against — multi-tab fan-out, the reconnect refetch racing a live
|
|
90
|
+
* frame, StrictMode's double connect in development — delivers its copies
|
|
91
|
+
* within seconds of one another, never 200 notifications apart.
|
|
92
|
+
*
|
|
93
|
+
* Bounded rather than unbounded because this provider lives in the app shell of
|
|
94
|
+
* a tab that stays open all day; an unbounded set is a leak nothing ever
|
|
95
|
+
* empties. At the cap the oldest id is dropped, so a re-delivery of something
|
|
96
|
+
* that stale over-counts by one until the next `refresh()` — the same
|
|
97
|
+
* self-healing tolerance every other local count adjustment in this file
|
|
98
|
+
* already relies on.
|
|
99
|
+
*/
|
|
100
|
+
const SEEN_NOTIFICATION_ID_MEMORY = 200;
|
|
101
|
+
/**
|
|
102
|
+
* Record an id as seen — most-recently-seen LAST — and prune back to the cap.
|
|
103
|
+
*
|
|
104
|
+
* The `delete` before the `add` is not redundant. `Set` preserves INSERTION
|
|
105
|
+
* order and re-adding an existing key does not move it, so without the delete a
|
|
106
|
+
* notification that is still on screen could still hold an ancient position and
|
|
107
|
+
* be the one the cap evicts — reopening the #127 double-count for a row the
|
|
108
|
+
* user can literally see. With it, the ids backing the rendered list are always
|
|
109
|
+
* among the most recent entries, and eviction can only ever reach ids that
|
|
110
|
+
* scrolled out of the centre long ago.
|
|
111
|
+
*
|
|
112
|
+
* MUTATES A `Set` HELD IN A REF, and is therefore only ever called from event
|
|
113
|
+
* callbacks and async code — NEVER from inside a `setState` updater. See
|
|
114
|
+
* `handleNotification` below for why that rule exists.
|
|
115
|
+
*/
|
|
116
|
+
function rememberNotificationId(seen, id) {
|
|
117
|
+
seen.delete(id);
|
|
118
|
+
seen.add(id);
|
|
119
|
+
while (seen.size > SEEN_NOTIFICATION_ID_MEMORY) {
|
|
120
|
+
const oldest = seen.values().next();
|
|
121
|
+
if (oldest.done)
|
|
122
|
+
break;
|
|
123
|
+
seen.delete(oldest.value);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* `null` when no provider is mounted — see `useNotifications` below, which is
|
|
128
|
+
* deliberately tolerant rather than throwing.
|
|
129
|
+
*
|
|
130
|
+
* @stability experimental
|
|
131
|
+
*/
|
|
132
|
+
export const NotificationContext = createContext(null);
|
|
133
|
+
/**
|
|
134
|
+
* The notification centre: loads the recent inbox and the unread count for
|
|
135
|
+
* the signed-in user, keeps them live over `GET /api/notifications/stream`,
|
|
136
|
+
* raises the in-page or OS toast for a new notification, and handles the
|
|
137
|
+
* service worker's click messages and the `?n=` cold-open parameter. Mount it
|
|
138
|
+
* once, inside the auth provider, around the app shell.
|
|
139
|
+
*
|
|
140
|
+
* @param props - `children`, the shell.
|
|
141
|
+
* @returns the provider.
|
|
142
|
+
*
|
|
143
|
+
* @example
|
|
144
|
+
* ```tsx
|
|
145
|
+
* <NotificationProvider><Layout /></NotificationProvider>
|
|
146
|
+
* ```
|
|
147
|
+
*
|
|
148
|
+
* @extensionPoint component
|
|
149
|
+
* @stability experimental
|
|
150
|
+
*/
|
|
151
|
+
export function NotificationProvider({ children }) {
|
|
152
|
+
const { isAuthenticated } = useAuth();
|
|
153
|
+
const navigate = useNavigate();
|
|
154
|
+
const [searchParams, setSearchParams] = useSearchParams();
|
|
155
|
+
const isMounted = useIsMounted();
|
|
156
|
+
const [notifications, setNotifications] = useState([]);
|
|
157
|
+
const [unreadCount, setUnreadCount] = useState(0);
|
|
158
|
+
const [isLoading, setIsLoading] = useState(true);
|
|
159
|
+
const [error, setError] = useState(null);
|
|
160
|
+
const [streamState, setStreamState] = useState('connecting');
|
|
161
|
+
/**
|
|
162
|
+
* The in-flight refresh, so concurrent callers share one pair of requests.
|
|
163
|
+
*
|
|
164
|
+
* Needed because two refresh triggers fire within milliseconds of each other
|
|
165
|
+
* at startup — the mount effect, and the stream's first `onOpen` — and again
|
|
166
|
+
* whenever a user opens the bell just as the connection recovers. Without
|
|
167
|
+
* this, each pair of duplicate requests can also land out of order and write
|
|
168
|
+
* an older list over a newer one.
|
|
169
|
+
*/
|
|
170
|
+
const inFlight = useRef(null);
|
|
171
|
+
/**
|
|
172
|
+
* ⚠️ #127 — THE IDS THIS TAB HAS ALREADY ACCOUNTED FOR IN `unreadCount`.
|
|
173
|
+
*
|
|
174
|
+
* A REF, not state, for two independent reasons:
|
|
175
|
+
*
|
|
176
|
+
* 1. Nothing renders it. Turning it into state would re-render the whole
|
|
177
|
+
* shell on every arrival for no visible change.
|
|
178
|
+
* 2. It must be readable and writable SYNCHRONOUSLY, outside React's
|
|
179
|
+
* update machinery, so the "is this new?" decision can be made once per
|
|
180
|
+
* stream frame rather than once per updater invocation — see
|
|
181
|
+
* `handleNotification`.
|
|
182
|
+
*
|
|
183
|
+
* Fed from BOTH sources of truth: every page `refresh()` returns, and every
|
|
184
|
+
* live arrival. Cleared on logout with the rest of the state, so the next
|
|
185
|
+
* user does not inherit the previous one's memory.
|
|
186
|
+
*/
|
|
187
|
+
const seenNotificationIds = useRef(new Set());
|
|
188
|
+
/**
|
|
189
|
+
* #625: `GET /api/notifications/config`, fetched LAZILY — only the first
|
|
190
|
+
* time a frame arrives with `pushed: true` — and reused for the rest of the
|
|
191
|
+
* session. Only the push dedupe below reads it, so a tab that never sees a
|
|
192
|
+
* pushed frame never pays for it. A failed read is not cached (the next
|
|
193
|
+
* pushed frame retries) and resolves to `null`, which means "show the
|
|
194
|
+
* page's toast". Cleared on logout with the rest of the session state.
|
|
195
|
+
*/
|
|
196
|
+
const notificationConfig = useRef(null);
|
|
197
|
+
const loadNotificationConfig = useCallback(() => {
|
|
198
|
+
if (!notificationConfig.current) {
|
|
199
|
+
const pending = getNotificationConfig().catch(() => {
|
|
200
|
+
if (notificationConfig.current === pending)
|
|
201
|
+
notificationConfig.current = null;
|
|
202
|
+
return null;
|
|
203
|
+
});
|
|
204
|
+
notificationConfig.current = pending;
|
|
205
|
+
}
|
|
206
|
+
return notificationConfig.current;
|
|
207
|
+
}, []);
|
|
208
|
+
const refresh = useCallback(() => {
|
|
209
|
+
if (inFlight.current)
|
|
210
|
+
return inFlight.current;
|
|
211
|
+
const run = (async () => {
|
|
212
|
+
try {
|
|
213
|
+
// BOTH IN PARALLEL, and the count from its own endpoint rather than
|
|
214
|
+
// counted out of the list — see `unreadCount` above.
|
|
215
|
+
const [page, count] = await Promise.all([
|
|
216
|
+
getNotifications({ page: 1, pageSize: RECENT_NOTIFICATION_COUNT }),
|
|
217
|
+
getUnreadNotificationCount(),
|
|
218
|
+
]);
|
|
219
|
+
if (!isMounted())
|
|
220
|
+
return;
|
|
221
|
+
setNotifications(page.items);
|
|
222
|
+
setUnreadCount(count.unreadCount);
|
|
223
|
+
setError(null);
|
|
224
|
+
// #127: seed the de-dupe memory from the authoritative page, OLDEST
|
|
225
|
+
// FIRST so the newest row ends up most-recently-seen (see
|
|
226
|
+
// `rememberNotificationId`). This closes the reconnect race described
|
|
227
|
+
// in the header: `handleStreamOpen` refetches on EVERY connect, so a
|
|
228
|
+
// live frame for a row this refetch already returned — and already
|
|
229
|
+
// counted, since `count.unreadCount` includes it — must not be counted
|
|
230
|
+
// a second time when it lands. Safe here because we are in async
|
|
231
|
+
// callback code, not a state updater.
|
|
232
|
+
for (let i = page.items.length - 1; i >= 0; i--) {
|
|
233
|
+
rememberNotificationId(seenNotificationIds.current, page.items[i].id);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
catch (err) {
|
|
237
|
+
if (!isMounted())
|
|
238
|
+
return;
|
|
239
|
+
// A 401 is left to `AuthContext` — `ApiService` has already tried to
|
|
240
|
+
// refresh and failed, so the session is going away and a "failed to
|
|
241
|
+
// load notifications" message on top of a redirect to login is noise.
|
|
242
|
+
if (err instanceof ApiError && err.status === 401)
|
|
243
|
+
return;
|
|
244
|
+
setError(err instanceof ApiError ? err.message : 'Failed to load notifications');
|
|
245
|
+
}
|
|
246
|
+
finally {
|
|
247
|
+
if (isMounted())
|
|
248
|
+
setIsLoading(false);
|
|
249
|
+
inFlight.current = null;
|
|
250
|
+
}
|
|
251
|
+
})();
|
|
252
|
+
inFlight.current = run;
|
|
253
|
+
return run;
|
|
254
|
+
}, [isMounted]);
|
|
255
|
+
// ---------------------------------------------------------------------------
|
|
256
|
+
// Writes
|
|
257
|
+
//
|
|
258
|
+
// Declared ABOVE the live-arrival handler that calls `markRead`, rather than
|
|
259
|
+
// below it with the other writes: a `const` referenced before its declaration
|
|
260
|
+
// works here only by the grace of the closure never running during render,
|
|
261
|
+
// which is a fragile thing to rely on and an unpleasant one to re-derive.
|
|
262
|
+
// ---------------------------------------------------------------------------
|
|
263
|
+
const markRead = useCallback(async (id) => {
|
|
264
|
+
// Snapshot for the rollback below. Taken before the optimistic write so
|
|
265
|
+
// a failure restores exactly what was on screen.
|
|
266
|
+
let previous = [];
|
|
267
|
+
setNotifications((current) => {
|
|
268
|
+
previous = current;
|
|
269
|
+
return current.map((item) => item.id === id && item.readAt === null
|
|
270
|
+
? // A client-side timestamp, and ONLY for the optimistic frame. The
|
|
271
|
+
// server sets the real one; the next refresh overwrites this with
|
|
272
|
+
// it. Nothing reads the value — the UI only asks "is this null?".
|
|
273
|
+
{ ...item, readAt: new Date().toISOString() }
|
|
274
|
+
: item);
|
|
275
|
+
});
|
|
276
|
+
try {
|
|
277
|
+
const { unreadCount: next } = await markNotificationRead(id);
|
|
278
|
+
// THE COUNT COMES FROM THE RESPONSE, never decremented locally and
|
|
279
|
+
// never assumed. This is why the endpoint returns it: the round trip
|
|
280
|
+
// that marks read is the same one that reports the new badge, so a
|
|
281
|
+
// click costs one request and the number is always the server's.
|
|
282
|
+
if (isMounted())
|
|
283
|
+
setUnreadCount(next);
|
|
284
|
+
}
|
|
285
|
+
catch (err) {
|
|
286
|
+
if (!isMounted())
|
|
287
|
+
return;
|
|
288
|
+
// 404 means it is already gone or was never this user's; the optimistic
|
|
289
|
+
// state is wrong either way, so roll back and re-read rather than
|
|
290
|
+
// leaving a row that claims to be read when the server disagrees.
|
|
291
|
+
setNotifications(previous);
|
|
292
|
+
if (!(err instanceof ApiError && err.status === 401))
|
|
293
|
+
void refresh();
|
|
294
|
+
}
|
|
295
|
+
}, [isMounted, refresh]);
|
|
296
|
+
// ---------------------------------------------------------------------------
|
|
297
|
+
// Live arrivals
|
|
298
|
+
// ---------------------------------------------------------------------------
|
|
299
|
+
/**
|
|
300
|
+
* A notification arrived over the stream.
|
|
301
|
+
*
|
|
302
|
+
* Held in a ref and read by the connection effect, so that changing this
|
|
303
|
+
* callback — which it does on every render that changes `navigate` — cannot
|
|
304
|
+
* tear down and re-establish the SSE connection. A connection that reconnects
|
|
305
|
+
* on render is a connection that reconnects constantly.
|
|
306
|
+
*/
|
|
307
|
+
const handleNotification = useCallback((notification, toast, pushed = false) => {
|
|
308
|
+
if (!isMounted())
|
|
309
|
+
return;
|
|
310
|
+
// =======================================================================
|
|
311
|
+
// ⚠️ #127: DECIDE NEWNESS HERE, ONCE, BEFORE ANY STATE UPDATER RUNS
|
|
312
|
+
// =======================================================================
|
|
313
|
+
//
|
|
314
|
+
// The bug this replaces incremented `unreadCount` unconditionally while
|
|
315
|
+
// the list deduped by id, so a duplicate frame left ONE row and TWO on
|
|
316
|
+
// the badge — and duplicates are routine, not exotic: multi-tab fan-out,
|
|
317
|
+
// and the reconnect refetch racing the live frame that follows it. The
|
|
318
|
+
// count self-corrected on the next `refresh()`, but until then the badge
|
|
319
|
+
// lied, and the badge is the entire product.
|
|
320
|
+
//
|
|
321
|
+
// The obvious repair — increment from inside the `setNotifications`
|
|
322
|
+
// updater, where the dedupe decision is already made — IS NOT SAFE AND
|
|
323
|
+
// MUST NOT BE REINTRODUCED. A state updater must be PURE: React is free
|
|
324
|
+
// to call it more than once for a single update, and StrictMode
|
|
325
|
+
// double-invokes it on purpose in development precisely to surface code
|
|
326
|
+
// that assumes otherwise. `setUnreadCount` in there would fire twice per
|
|
327
|
+
// arrival and re-create the exact bug under a new cause, visible only in
|
|
328
|
+
// development, which is a worse bug than the one being fixed.
|
|
329
|
+
//
|
|
330
|
+
// So the decision is made against a REF, in plain event-callback code:
|
|
331
|
+
//
|
|
332
|
+
// * This callback runs EXACTLY ONCE per stream frame. React neither
|
|
333
|
+
// replays nor double-invokes SSE handlers — only render, effects, and
|
|
334
|
+
// state updaters get that treatment.
|
|
335
|
+
// * The updater below stays pure: it reads `current`, returns a value,
|
|
336
|
+
// touches nothing else. Invoke it once or a hundred times and the
|
|
337
|
+
// result is identical and the count is untouched.
|
|
338
|
+
// * The ref survives StrictMode's double mount, so the second
|
|
339
|
+
// connection's re-delivery of an event in development is recognised
|
|
340
|
+
// as the duplicate it is instead of counted twice.
|
|
341
|
+
const isNew = !seenNotificationIds.current.has(notification.id);
|
|
342
|
+
rememberNotificationId(seenNotificationIds.current, notification.id);
|
|
343
|
+
setNotifications((current) => {
|
|
344
|
+
// DEDUPE BY ID. The same notification legitimately arrives twice: once
|
|
345
|
+
// live, and again in the refetch that follows a reconnect. Without this
|
|
346
|
+
// the list shows it twice and the two copies disagree about `readAt`
|
|
347
|
+
// the moment one is clicked.
|
|
348
|
+
//
|
|
349
|
+
// KEPT even though `isNew` above already answers the same question, and
|
|
350
|
+
// deliberately not replaced by `if (!isNew) return current`. This is the
|
|
351
|
+
// list's own invariant — no duplicate rows, whatever the id memory says
|
|
352
|
+
// — and it must hold even for an id the cap has evicted. Being a pure
|
|
353
|
+
// function of `current` is also what makes it re-invocation-safe.
|
|
354
|
+
if (current.some((existing) => existing.id === notification.id))
|
|
355
|
+
return current;
|
|
356
|
+
return [notification, ...current].slice(0, RECENT_NOTIFICATION_COUNT);
|
|
357
|
+
});
|
|
358
|
+
// ONLY WHEN GENUINELY NEW (#127). Incremented locally rather than
|
|
359
|
+
// refetched: the API told us this is a new, unread notification, and
|
|
360
|
+
// spending a round trip to be told "one more" is waste. Every other path
|
|
361
|
+
// through this file takes the count from the server, so any residual
|
|
362
|
+
// drift is corrected by the next refresh at the latest.
|
|
363
|
+
//
|
|
364
|
+
// The updater form is still required — two arrivals in one batch must
|
|
365
|
+
// stack, not overwrite each other — and it remains pure: `current + 1` is
|
|
366
|
+
// the same answer however many times React asks for it, because the
|
|
367
|
+
// decision to ask at all was already made above.
|
|
368
|
+
if (isNew)
|
|
369
|
+
setUnreadCount((current) => current + 1);
|
|
370
|
+
// A DUPLICATE RAISES NO SECOND TOAST either — same reasoning as the
|
|
371
|
+
// count. The user has already been interrupted about this notification;
|
|
372
|
+
// a second OS-level popup for one event is the badge lie in audible form.
|
|
373
|
+
if (!isNew)
|
|
374
|
+
return;
|
|
375
|
+
// =======================================================================
|
|
376
|
+
// ⚠️ #227: THE SERVER-AUTHORITATIVE TOAST GATE
|
|
377
|
+
// =======================================================================
|
|
378
|
+
//
|
|
379
|
+
// `toast` is this frame's OWN, freshly-computed answer to "may this
|
|
380
|
+
// client raise an OS notification for this event?" — see
|
|
381
|
+
// `NotificationStreamEvent.toast` in `types/index.ts`. It is deliberately
|
|
382
|
+
// NOT derived from this tab's own `adminDisabled`/capability state (the
|
|
383
|
+
// config `UserNotificationsPage` reads via `useNotificationConfig`):
|
|
384
|
+
// a long-lived tab's cached `GET /api/notifications/config` can go stale
|
|
385
|
+
// the instant an administrator flips the toggle, and nothing pushes an
|
|
386
|
+
// update to it. Every SSE frame's `toast` flag, by contrast, is computed
|
|
387
|
+
// at PUBLISH time from the policy that held then — so gating here, on the
|
|
388
|
+
// frame itself, is what makes a stale client harmless: even a tab that
|
|
389
|
+
// still believes toasts are enabled cannot raise one the server just said
|
|
390
|
+
// not to show.
|
|
391
|
+
//
|
|
392
|
+
// ONLY THE TOAST IS GATED. `setNotifications` and `setUnreadCount` above
|
|
393
|
+
// already ran unconditionally — `toast: false` does not mean suppressed,
|
|
394
|
+
// it means the OS bubble alone is withheld; the bell, the unread count and
|
|
395
|
+
// the notification centre are unaffected, exactly as the mandatory
|
|
396
|
+
// `security.role_changed` alert's durable record survives an
|
|
397
|
+
// administrator muting its toast. Placed the same way as the `isNew`
|
|
398
|
+
// check above: alongside this call, never inside `setNotifications` or
|
|
399
|
+
// `setUnreadCount`'s updaters.
|
|
400
|
+
if (!toast)
|
|
401
|
+
return;
|
|
402
|
+
// =======================================================================
|
|
403
|
+
// ⚠️ #224: SUPPRESS THE TOAST WHEN THIS WINDOW IS ALREADY WHAT THE USER
|
|
404
|
+
// IS LOOKING AT — A SECOND, INDEPENDENT GATE ON TOP OF `isNew` ABOVE
|
|
405
|
+
// =======================================================================
|
|
406
|
+
//
|
|
407
|
+
// NOT a replacement for the `isNew` return above, and not merged with it.
|
|
408
|
+
// `isNew` answers "has this notification been accounted for yet" — a
|
|
409
|
+
// question about the EVENT, decided once, from a ref, because a duplicate
|
|
410
|
+
// stream frame must never double-count or double-toast regardless of
|
|
411
|
+
// anything about the window. This answers a completely different
|
|
412
|
+
// question — "is anyone about to miss it if we don't pop a toast" — which
|
|
413
|
+
// is about the TAB'S CURRENT STATE and must be re-evaluated on every
|
|
414
|
+
// genuinely-new arrival, not cached anywhere.
|
|
415
|
+
//
|
|
416
|
+
// The rule (per #224): show an OS notification only when NO window of
|
|
417
|
+
// this registration is both visible and focused. When the tab the user
|
|
418
|
+
// is actually looking at just gained a row in the bell and bumped the
|
|
419
|
+
// badge, an OS popup on top of that is a second, redundant interruption
|
|
420
|
+
// for something already on screen — the badge already IS the feedback.
|
|
421
|
+
// `document.hasFocus()` alone is not enough: a fully covered-but-focused
|
|
422
|
+
// window (alt-tabbed to another app while this browser window still has
|
|
423
|
+
// OS input focus) reports `visibilityState === 'hidden'`, and a visible
|
|
424
|
+
// background tab in the same window is not focused — BOTH conditions are
|
|
425
|
+
// required together for "the user is plausibly looking at this right
|
|
426
|
+
// now", which is exactly why the check is a `&&`, not an `||`.
|
|
427
|
+
//
|
|
428
|
+
// These are DOM globals (`document`, not anything from
|
|
429
|
+
// `browserNotifications.ts`), so the check lives here rather than inside
|
|
430
|
+
// `showAppNotification` — that module's job is "how do I raise a toast
|
|
431
|
+
// given permission and a registration", not "should one be raised at
|
|
432
|
+
// all", and it has no business reaching for `document` to answer a
|
|
433
|
+
// question this file already has the context to ask first.
|
|
434
|
+
//
|
|
435
|
+
// Placed AFTER every state update above (`setNotifications`,
|
|
436
|
+
// `setUnreadCount`) and BEFORE the toast call ONLY — the bell and unread
|
|
437
|
+
// count must update identically whether or not the tab is focused; only
|
|
438
|
+
// the OS-level popup is conditional. Do not move this earlier in the
|
|
439
|
+
// function.
|
|
440
|
+
//
|
|
441
|
+
// A hidden or unfocused tab still gets exactly one toast — this check
|
|
442
|
+
// does nothing there, on purpose. Cross-tab collapsing to ONE toast when
|
|
443
|
+
// several backgrounded tabs are all eligible to show one is a SEPARATE
|
|
444
|
+
// mechanism: the `getNotifications({ tag })` registration-wide guard in
|
|
445
|
+
// `showAppNotification` (`services/browserNotifications.ts`). That one
|
|
446
|
+
// works by reading what the browser has already displayed; this one
|
|
447
|
+
// works by reading what the user is currently looking at. Neither
|
|
448
|
+
// subsumes the other.
|
|
449
|
+
//
|
|
450
|
+
// This return governs the PAGE's toast only. When the user also has the
|
|
451
|
+
// push channel on, the service worker's `push` handler (`sw.ts`, issue
|
|
452
|
+
// #622) shows its OS notification regardless of focus — precisely
|
|
453
|
+
// because this return means the page never shows one for a focused tab.
|
|
454
|
+
if (document.visibilityState === 'visible' && document.hasFocus())
|
|
455
|
+
return;
|
|
456
|
+
// THIRD IN THE ORDERING, and deliberately last: the centre is already
|
|
457
|
+
// correct by this point, so everything below is free to fail. Fired
|
|
458
|
+
// and forgotten — `showAppNotification` resolves with which path (if
|
|
459
|
+
// any) raised the toast, purely for tests/diagnostics, and nothing here
|
|
460
|
+
// is waiting on that answer.
|
|
461
|
+
const raiseToast = () => void showAppNotification(notification, (clicked) => {
|
|
462
|
+
// Marking read on activation matches clicking the row in the bell —
|
|
463
|
+
// the user has demonstrably seen it.
|
|
464
|
+
void markRead(clicked.id);
|
|
465
|
+
if (isInternalLink(clicked.link))
|
|
466
|
+
navigate(clicked.link);
|
|
467
|
+
});
|
|
468
|
+
// =======================================================================
|
|
469
|
+
// ⚠️ #625: LEAVE THE OS BUBBLE TO THE SERVICE WORKER WHEN IT WILL SHOW IT
|
|
470
|
+
// =======================================================================
|
|
471
|
+
//
|
|
472
|
+
// An event that declares both the browser and the push channel (an admin
|
|
473
|
+
// broadcast) reaches a backgrounded tab twice: this SSE frame, and a Web
|
|
474
|
+
// Push the service worker shows (`sw.ts`). The two have different tags,
|
|
475
|
+
// so the registration-wide `getNotifications({ tag })` guard in
|
|
476
|
+
// `showAppNotification` cannot collapse them, and the user saw TWO OS
|
|
477
|
+
// notifications. `pushed` is the server telling us the push is going
|
|
478
|
+
// out to this user; `hasActivePushSubscription` is this browser
|
|
479
|
+
// confirming it holds a subscription (for the current VAPID key) that
|
|
480
|
+
// the push will land on. Only when BOTH hold does the page step aside.
|
|
481
|
+
//
|
|
482
|
+
// THE TRADE-OFF, accepted knowingly: if the push service drops or delays
|
|
483
|
+
// that message, this tab raises no OS bubble for it. The row has
|
|
484
|
+
// already arrived — the bell, the badge and the centre updated above —
|
|
485
|
+
// so what is lost is the interruption, never the notification. Every
|
|
486
|
+
// uncertain answer (older server without `pushed`, config unavailable,
|
|
487
|
+
// no subscription, any error) falls back to the page's own toast: a
|
|
488
|
+
// possible duplicate is preferred over a possible silence.
|
|
489
|
+
//
|
|
490
|
+
// ASYNC ONLY ON THIS PATH, and only for the toast: every state update
|
|
491
|
+
// above has already run synchronously, and a frame without `pushed`
|
|
492
|
+
// keeps raising its toast synchronously exactly as before.
|
|
493
|
+
if (!pushed) {
|
|
494
|
+
raiseToast();
|
|
495
|
+
return;
|
|
496
|
+
}
|
|
497
|
+
void (async () => {
|
|
498
|
+
let serviceWorkerWillShowIt = false;
|
|
499
|
+
try {
|
|
500
|
+
const config = await loadNotificationConfig();
|
|
501
|
+
if (config?.pushEnabled && config.vapidPublicKey) {
|
|
502
|
+
serviceWorkerWillShowIt = await hasActivePushSubscription(config.vapidPublicKey);
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
catch {
|
|
506
|
+
serviceWorkerWillShowIt = false;
|
|
507
|
+
}
|
|
508
|
+
// Logged out or unmounted while we were checking: nothing to show.
|
|
509
|
+
if (!isMounted())
|
|
510
|
+
return;
|
|
511
|
+
if (!serviceWorkerWillShowIt)
|
|
512
|
+
raiseToast();
|
|
513
|
+
})();
|
|
514
|
+
}, [isMounted, navigate, markRead, loadNotificationConfig]);
|
|
515
|
+
/**
|
|
516
|
+
* ⚠️ THE GAP RECOVERY. Fires on the first connect AND on every reconnect.
|
|
517
|
+
*
|
|
518
|
+
* See this file's header. The stream replays nothing, so this refetch is the
|
|
519
|
+
* ONLY thing that makes a dropped connection — or an event published on
|
|
520
|
+
* another API replica — harmless. It is not redundant with the mount fetch
|
|
521
|
+
* below: that one covers "the page loaded", this one covers "the connection
|
|
522
|
+
* came back, and we do not know what we missed".
|
|
523
|
+
*/
|
|
524
|
+
const handleStreamOpen = useCallback(() => {
|
|
525
|
+
void refresh();
|
|
526
|
+
}, [refresh]);
|
|
527
|
+
// Latest-callback refs, so the connection effect below can depend on
|
|
528
|
+
// `isAuthenticated` ALONE. Putting the handlers in its dependency array would
|
|
529
|
+
// drop and re-open the SSE connection on unrelated re-renders.
|
|
530
|
+
const handlersRef = useRef({ handleNotification, handleStreamOpen });
|
|
531
|
+
useEffect(() => {
|
|
532
|
+
handlersRef.current = { handleNotification, handleStreamOpen };
|
|
533
|
+
}, [handleNotification, handleStreamOpen]);
|
|
534
|
+
// ---------------------------------------------------------------------------
|
|
535
|
+
// Mount fetch — INDEPENDENT of the stream, on purpose
|
|
536
|
+
// ---------------------------------------------------------------------------
|
|
537
|
+
useEffect(() => {
|
|
538
|
+
if (!isAuthenticated) {
|
|
539
|
+
// Logged out. Clear everything rather than leaving the previous user's
|
|
540
|
+
// notifications rendered behind a login redirect, and reset `isLoading`
|
|
541
|
+
// so a subsequent login shows a spinner rather than a stale empty state.
|
|
542
|
+
setNotifications([]);
|
|
543
|
+
setUnreadCount(0);
|
|
544
|
+
setIsLoading(true);
|
|
545
|
+
setError(null);
|
|
546
|
+
// #127: the id memory is per-session state like everything above it. A
|
|
547
|
+
// stale set would let the next user's first arrivals be mistaken for
|
|
548
|
+
// duplicates on an id collision and silently not counted.
|
|
549
|
+
seenNotificationIds.current.clear();
|
|
550
|
+
// #625: the next session re-reads the push config on its first pushed frame.
|
|
551
|
+
notificationConfig.current = null;
|
|
552
|
+
return;
|
|
553
|
+
}
|
|
554
|
+
// UNCONDITIONAL, and not folded into the stream's `onOpen`. The centre must
|
|
555
|
+
// populate even when SSE never connects at all — a proxy that buffers the
|
|
556
|
+
// stream, a corporate middlebox that kills it, a browser extension. Making
|
|
557
|
+
// the primary surface's data depend on the optional transport connecting is
|
|
558
|
+
// exactly the coupling this feature is built to avoid. The duplicate
|
|
559
|
+
// request at startup is deduped by `inFlight` above.
|
|
560
|
+
void refresh();
|
|
561
|
+
}, [isAuthenticated, refresh]);
|
|
562
|
+
// ---------------------------------------------------------------------------
|
|
563
|
+
// The stream
|
|
564
|
+
// ---------------------------------------------------------------------------
|
|
565
|
+
useEffect(() => {
|
|
566
|
+
if (!isAuthenticated) {
|
|
567
|
+
setStreamState('closed');
|
|
568
|
+
return;
|
|
569
|
+
}
|
|
570
|
+
const connection = connectNotificationStream({
|
|
571
|
+
// Indirected through the ref so this effect never re-runs for a changed
|
|
572
|
+
// callback identity.
|
|
573
|
+
onNotification: (notification, toast, pushed) => handlersRef.current.handleNotification(notification, toast, pushed),
|
|
574
|
+
onOpen: () => handlersRef.current.handleStreamOpen(),
|
|
575
|
+
onStateChange: (state) => {
|
|
576
|
+
if (isMounted())
|
|
577
|
+
setStreamState(state);
|
|
578
|
+
},
|
|
579
|
+
});
|
|
580
|
+
// TEARDOWN ON UNMOUNT AND ON LOGOUT. `close()` aborts the in-flight fetch,
|
|
581
|
+
// cancels any pending backoff timer and detaches the `online` listener, so
|
|
582
|
+
// a logged-out tab holds no socket and schedules no work. It is idempotent,
|
|
583
|
+
// which matters under StrictMode's double-mount in development.
|
|
584
|
+
return () => connection.close();
|
|
585
|
+
}, [isAuthenticated, isMounted]);
|
|
586
|
+
// ---------------------------------------------------------------------------
|
|
587
|
+
// The service-worker click bridge — issue #223, epic #215
|
|
588
|
+
// ---------------------------------------------------------------------------
|
|
589
|
+
//
|
|
590
|
+
// `sw.ts`'s `notificationclick` handler is the ONLY place a click on a
|
|
591
|
+
// worker-shown notification (Android's SW-only toast path, or any toast that
|
|
592
|
+
// fires with no page in view — see `showAppNotification` in
|
|
593
|
+
// `services/browserNotifications.ts`, issue #222) can be caught, and that
|
|
594
|
+
// handler has no token to mark anything read with — see the "never call the
|
|
595
|
+
// API" constraint documented at the top of `sw.ts`. So when a page IS open,
|
|
596
|
+
// the worker `postMessage`s the click here instead of acting on it, and this
|
|
597
|
+
// listener finishes the job with the token this page already holds.
|
|
598
|
+
//
|
|
599
|
+
// REUSES `markRead` AND `isInternalLink`/`navigate` RATHER THAN DUPLICATING
|
|
600
|
+
// THEM. This is deliberately the SAME pair of calls `handleNotification`
|
|
601
|
+
// above makes from the in-page toast's `onClick` — a worker-delivered click
|
|
602
|
+
// and a page-delivered click are the same user action wearing two different
|
|
603
|
+
// delivery mechanisms, and a notification clicked via the worker must be
|
|
604
|
+
// indistinguishable in its effect from one clicked via `new Notification()`.
|
|
605
|
+
//
|
|
606
|
+
// `navigator.serviceWorker` can be undefined (no SW support, or a context
|
|
607
|
+
// where `self.serviceWorker` never registers) — guarded rather than asserted,
|
|
608
|
+
// the same posture `browserNotifications.ts` takes everywhere it touches
|
|
609
|
+
// this API.
|
|
610
|
+
useEffect(() => {
|
|
611
|
+
if (!('serviceWorker' in navigator))
|
|
612
|
+
return;
|
|
613
|
+
const handleMessage = (event) => {
|
|
614
|
+
const data = event.data;
|
|
615
|
+
if (!data || data.type !== 'notification-click')
|
|
616
|
+
return;
|
|
617
|
+
// Matches the toast's `onClick` in `handleNotification` above: mark read
|
|
618
|
+
// first (the click itself is the "seen" signal), then navigate only if
|
|
619
|
+
// the link is a validated in-app destination.
|
|
620
|
+
const link = typeof data.link === 'string' ? data.link : null;
|
|
621
|
+
// An empty id is a test push (issue #618): no row exists to mark read.
|
|
622
|
+
if (typeof data.id === 'string' && data.id)
|
|
623
|
+
void markRead(data.id);
|
|
624
|
+
if (isInternalLink(link))
|
|
625
|
+
navigate(link);
|
|
626
|
+
};
|
|
627
|
+
navigator.serviceWorker.addEventListener('message', handleMessage);
|
|
628
|
+
return () => navigator.serviceWorker.removeEventListener('message', handleMessage);
|
|
629
|
+
}, [markRead, navigate]);
|
|
630
|
+
// ---------------------------------------------------------------------------
|
|
631
|
+
// The cold-open `?n=` handler — issue #223, epic #215
|
|
632
|
+
// ---------------------------------------------------------------------------
|
|
633
|
+
//
|
|
634
|
+
// The other half of `sw.ts`'s `notificationclick` handler: when NO page is
|
|
635
|
+
// open to `postMessage`, the worker cannot deliver the click at all — there
|
|
636
|
+
// is nothing listening yet — so it `clients.openWindow()`s the link with the
|
|
637
|
+
// notification id encoded as `?n=<id>` instead, and this effect is what
|
|
638
|
+
// reads that back once the app has booted and (if the user is signed in) a
|
|
639
|
+
// token exists to mark it read with.
|
|
640
|
+
//
|
|
641
|
+
// GUARDED ON `isAuthenticated`, not just presence of `n`: a cold-opened
|
|
642
|
+
// window loads `/login` first for a signed-out user, and this provider
|
|
643
|
+
// itself only mounts inside the authenticated shell (see `App.tsx`) — but
|
|
644
|
+
// `searchParams` is still readable at that point via the router, and calling
|
|
645
|
+
// `markRead` before a session exists would just spend a request on a 401
|
|
646
|
+
// that `markRead` already swallows. Waiting for `isAuthenticated` means the
|
|
647
|
+
// mark-read fires once, right after the shell mounts for real.
|
|
648
|
+
//
|
|
649
|
+
// STRIPPED WITH `replace: true` AFTER CONSUMING IT, not left in the URL: a
|
|
650
|
+
// page refresh must not re-fire the same mark-read (harmless, since
|
|
651
|
+
// `markRead` is idempotent server-side, but noisy) and must not leave `n` in
|
|
652
|
+
// a bookmarked or shared URL. `replace` keeps the strip out of the history
|
|
653
|
+
// stack, so Back does not resurrect the param.
|
|
654
|
+
useEffect(() => {
|
|
655
|
+
if (!isAuthenticated)
|
|
656
|
+
return;
|
|
657
|
+
const notificationId = searchParams.get('n');
|
|
658
|
+
if (!notificationId)
|
|
659
|
+
return;
|
|
660
|
+
void markRead(notificationId);
|
|
661
|
+
const next = new URLSearchParams(searchParams);
|
|
662
|
+
next.delete('n');
|
|
663
|
+
setSearchParams(next, { replace: true });
|
|
664
|
+
}, [isAuthenticated, searchParams, markRead, setSearchParams]);
|
|
665
|
+
// ---------------------------------------------------------------------------
|
|
666
|
+
// Writes, continued — `markRead` sits above the live-arrival handler that
|
|
667
|
+
// calls it; `markAllRead` has no such constraint and stays here.
|
|
668
|
+
// ---------------------------------------------------------------------------
|
|
669
|
+
const markAllRead = useCallback(async () => {
|
|
670
|
+
let previous = [];
|
|
671
|
+
const now = new Date().toISOString();
|
|
672
|
+
setNotifications((current) => {
|
|
673
|
+
previous = current;
|
|
674
|
+
return current.map((item) => (item.readAt === null ? { ...item, readAt: now } : item));
|
|
675
|
+
});
|
|
676
|
+
try {
|
|
677
|
+
const { unreadCount: next } = await markAllNotificationsRead();
|
|
678
|
+
// NOT `setUnreadCount(0)`. The API returns the real count precisely
|
|
679
|
+
// because a notification can arrive between the update and the count, and
|
|
680
|
+
// hardcoding zero would hide it until the next refresh.
|
|
681
|
+
if (isMounted())
|
|
682
|
+
setUnreadCount(next);
|
|
683
|
+
}
|
|
684
|
+
catch (err) {
|
|
685
|
+
if (!isMounted())
|
|
686
|
+
return;
|
|
687
|
+
setNotifications(previous);
|
|
688
|
+
if (!(err instanceof ApiError && err.status === 401))
|
|
689
|
+
void refresh();
|
|
690
|
+
}
|
|
691
|
+
}, [isMounted, refresh]);
|
|
692
|
+
const value = {
|
|
693
|
+
notifications,
|
|
694
|
+
unreadCount,
|
|
695
|
+
isLoading,
|
|
696
|
+
error,
|
|
697
|
+
streamState,
|
|
698
|
+
refresh,
|
|
699
|
+
markRead,
|
|
700
|
+
markAllRead,
|
|
701
|
+
};
|
|
702
|
+
return (_jsx(NotificationContext.Provider, { value: value, children: children }));
|
|
703
|
+
}
|
|
704
|
+
/**
|
|
705
|
+
* The notification centre, or `null` where none is mounted.
|
|
706
|
+
*
|
|
707
|
+
* DOES NOT THROW ON A MISSING PROVIDER, unlike `useAuth`, and the difference is
|
|
708
|
+
* deliberate. The only consumer is the bell in the `AppBar`, which is part of
|
|
709
|
+
* the app shell; a shell that refuses to render because an optional data
|
|
710
|
+
* provider is absent turns a missing decoration into a blank page. `AppBar` is
|
|
711
|
+
* also rendered on its own in several test files, and none of them is about
|
|
712
|
+
* notifications.
|
|
713
|
+
*
|
|
714
|
+
* The cost is that a wiring mistake hides the bell silently instead of failing
|
|
715
|
+
* loudly, so the coverage that matters is a POSITIVE assertion — "with the
|
|
716
|
+
* provider mounted, the bell is present" — rather than reliance on a crash.
|
|
717
|
+
*
|
|
718
|
+
* @stability experimental
|
|
719
|
+
*/
|
|
720
|
+
export function useNotifications() {
|
|
721
|
+
return useContext(NotificationContext);
|
|
722
|
+
}
|
|
723
|
+
//# sourceMappingURL=NotificationContext.js.map
|