@rakun-kit/manager-react 1.6.1 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +445 -372
- package/dist/cjs/app/app-provider.js +2 -2
- package/dist/cjs/app/app-provider.js.map +1 -1
- package/dist/cjs/app/runtime-app.js +13 -3
- package/dist/cjs/app/runtime-app.js.map +1 -1
- package/dist/cjs/client/react.js +38 -3
- package/dist/cjs/client/react.js.map +1 -1
- package/dist/cjs/client/realtime.js +183 -0
- package/dist/cjs/client/realtime.js.map +1 -0
- package/dist/cjs/collaboration/ContentCollaborationProvider.js +527 -0
- package/dist/cjs/collaboration/ContentCollaborationProvider.js.map +1 -0
- package/dist/cjs/collaboration/presence-colors.js +22 -0
- package/dist/cjs/collaboration/presence-colors.js.map +1 -0
- package/dist/cjs/collaboration/presence-store.js +41 -0
- package/dist/cjs/collaboration/presence-store.js.map +1 -0
- package/dist/cjs/collaboration/yDocument.js +136 -0
- package/dist/cjs/collaboration/yDocument.js.map +1 -0
- package/dist/cjs/components/CollaborationPresence.js +40 -0
- package/dist/cjs/components/CollaborationPresence.js.map +1 -0
- package/dist/cjs/components/VariantSelector.js +3 -1
- package/dist/cjs/components/VariantSelector.js.map +1 -1
- package/dist/cjs/components/media/previews/dialogs/MediaImageEditorDialog.js +9 -2
- package/dist/cjs/components/media/previews/dialogs/MediaImageEditorDialog.js.map +1 -1
- package/dist/cjs/components/ui/avatar.js +8 -0
- package/dist/cjs/components/ui/avatar.js.map +1 -1
- package/dist/cjs/components/ui/data-table.js +1 -1
- package/dist/cjs/components/ui/data-table.js.map +1 -1
- package/dist/cjs/components/ui/table.js +2 -2
- package/dist/cjs/components/ui/table.js.map +1 -1
- package/dist/cjs/help/manager-help.js +1 -1
- package/dist/cjs/help/manager-help.js.map +1 -1
- package/dist/cjs/helpers/resolve-lucide-icon.js +29 -15
- package/dist/cjs/helpers/resolve-lucide-icon.js.map +1 -1
- package/dist/cjs/i18n/catalog.js +50 -3
- package/dist/cjs/i18n/catalog.js.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/ContentTypeEdit.js +28 -12
- package/dist/cjs/router/dashboard/[contentType]/[edit]/ContentTypeEdit.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/CollaborativeTemplateEditor.js +61 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/CollaborativeTemplateEditor.js.map +1 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/ContentCommentsDrawer.js +13 -6
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/ContentCommentsDrawer.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/EditSectionNavigation.js +92 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/EditSectionNavigation.js.map +1 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js +3 -2
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/EditToolbar.js +31 -68
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/EditToolbar.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/LocaleVariants.js +5 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/LocaleVariants.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/ModuleNavigation.js +6 -5
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/ModuleNavigation.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.js +4 -3
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/RouteLayoutModuleTabContent.js +18 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/RouteLayoutModuleTabContent.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/SeoTabContent.js +40 -37
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/SeoTabContent.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_context/EditPageContext.js +74 -21
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_context/EditPageContext.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.js +19 -12
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.js +4 -2
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ListField/ListUI.js +13 -45
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ListField/ListUI.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/RelationField/NewRelation.js +2 -4
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/RelationField/NewRelation.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/RelationField/relation-state.js +12 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/RelationField/relation-state.js.map +1 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/shared/FieldWrapper.js +12 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/shared/FieldWrapper.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/shared/collaborative-field-state.js +18 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/shared/collaborative-field-state.js.map +1 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/shared/condition-state.js +18 -4
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/shared/condition-state.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.js +48 -13
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.js +8 -5
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/edit.js +61 -11
- package/dist/cjs/router/dashboard/[contentType]/[edit]/edit.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/screen.js +48 -4
- package/dist/cjs/router/dashboard/[contentType]/[edit]/screen.js.map +1 -1
- package/dist/cjs/router/dashboard/screen.js +7 -3
- package/dist/cjs/router/dashboard/screen.js.map +1 -1
- package/dist/cjs/router/dashboard/seo/screen.js +10 -0
- package/dist/cjs/router/dashboard/seo/screen.js.map +1 -1
- package/dist/cjs/router/dashboard/seo/site-analysis.js +19 -4
- package/dist/cjs/router/dashboard/seo/site-analysis.js.map +1 -1
- package/dist/cjs/router/index.js +3 -0
- package/dist/cjs/router/index.js.map +1 -1
- package/dist/cjs/router/shared/route-definitions.js +4 -1
- package/dist/cjs/router/shared/route-definitions.js.map +1 -1
- package/dist/cjs/router/shared/route-list.js +214 -64
- package/dist/cjs/router/shared/route-list.js.map +1 -1
- package/dist/docs/index.md +420 -304
- package/dist/esm/app/app-provider.d.ts +4 -1
- package/dist/esm/app/app-provider.d.ts.map +1 -1
- package/dist/esm/app/app-provider.js +2 -2
- package/dist/esm/app/app-provider.js.map +1 -1
- package/dist/esm/app/runtime-app.d.ts +2 -1
- package/dist/esm/app/runtime-app.d.ts.map +1 -1
- package/dist/esm/app/runtime-app.js +13 -3
- package/dist/esm/app/runtime-app.js.map +1 -1
- package/dist/esm/client/react.d.ts +13 -1
- package/dist/esm/client/react.d.ts.map +1 -1
- package/dist/esm/client/react.js +35 -3
- package/dist/esm/client/react.js.map +1 -1
- package/dist/esm/client/realtime.d.ts +31 -0
- package/dist/esm/client/realtime.d.ts.map +1 -0
- package/dist/esm/client/realtime.js +174 -0
- package/dist/esm/client/realtime.js.map +1 -0
- package/dist/esm/collaboration/ContentCollaborationProvider.d.ts +42 -0
- package/dist/esm/collaboration/ContentCollaborationProvider.d.ts.map +1 -0
- package/dist/esm/collaboration/ContentCollaborationProvider.js +486 -0
- package/dist/esm/collaboration/ContentCollaborationProvider.js.map +1 -0
- package/dist/esm/collaboration/presence-colors.d.ts +2 -0
- package/dist/esm/collaboration/presence-colors.d.ts.map +1 -0
- package/dist/esm/collaboration/presence-colors.js +18 -0
- package/dist/esm/collaboration/presence-colors.js.map +1 -0
- package/dist/esm/collaboration/presence-store.d.ts +10 -0
- package/dist/esm/collaboration/presence-store.d.ts.map +1 -0
- package/dist/esm/collaboration/presence-store.js +34 -0
- package/dist/esm/collaboration/presence-store.js.map +1 -0
- package/dist/esm/collaboration/yDocument.d.ts +5 -0
- package/dist/esm/collaboration/yDocument.d.ts.map +1 -0
- package/dist/esm/collaboration/yDocument.js +98 -0
- package/dist/esm/collaboration/yDocument.js.map +1 -0
- package/dist/esm/components/CollaborationPresence.d.ts +5 -0
- package/dist/esm/components/CollaborationPresence.d.ts.map +1 -0
- package/dist/esm/components/CollaborationPresence.js +36 -0
- package/dist/esm/components/CollaborationPresence.js.map +1 -0
- package/dist/esm/components/VariantSelector.d.ts.map +1 -1
- package/dist/esm/components/VariantSelector.js +4 -2
- package/dist/esm/components/VariantSelector.js.map +1 -1
- package/dist/esm/components/media/previews/dialogs/MediaImageEditorDialog.d.ts.map +1 -1
- package/dist/esm/components/media/previews/dialogs/MediaImageEditorDialog.js +10 -3
- package/dist/esm/components/media/previews/dialogs/MediaImageEditorDialog.js.map +1 -1
- package/dist/esm/components/ui/avatar.d.ts +3 -1
- package/dist/esm/components/ui/avatar.d.ts.map +1 -1
- package/dist/esm/components/ui/avatar.js +7 -1
- package/dist/esm/components/ui/avatar.js.map +1 -1
- package/dist/esm/components/ui/data-table.d.ts.map +1 -1
- package/dist/esm/components/ui/data-table.js +1 -1
- package/dist/esm/components/ui/data-table.js.map +1 -1
- package/dist/esm/components/ui/table.d.ts +4 -1
- package/dist/esm/components/ui/table.d.ts.map +1 -1
- package/dist/esm/components/ui/table.js +2 -2
- package/dist/esm/components/ui/table.js.map +1 -1
- package/dist/esm/help/manager-help.d.ts.map +1 -1
- package/dist/esm/help/manager-help.js +1 -1
- package/dist/esm/help/manager-help.js.map +1 -1
- package/dist/esm/helpers/resolve-lucide-icon.d.ts +3 -1
- package/dist/esm/helpers/resolve-lucide-icon.d.ts.map +1 -1
- package/dist/esm/helpers/resolve-lucide-icon.js +27 -14
- package/dist/esm/helpers/resolve-lucide-icon.js.map +1 -1
- package/dist/esm/hooks/use-isomorphic-layout-effect.d.ts +1 -1
- package/dist/esm/hooks/use-isomorphic-layout-effect.d.ts.map +1 -1
- package/dist/esm/i18n/catalog.d.ts +84 -3
- package/dist/esm/i18n/catalog.d.ts.map +1 -1
- package/dist/esm/i18n/catalog.js +50 -3
- package/dist/esm/i18n/catalog.js.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/ContentTypeEdit.d.ts +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/ContentTypeEdit.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/ContentTypeEdit.js +28 -12
- package/dist/esm/router/dashboard/[contentType]/[edit]/ContentTypeEdit.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/CollaborativeTemplateEditor.d.ts +17 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/CollaborativeTemplateEditor.d.ts.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/CollaborativeTemplateEditor.js +55 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/CollaborativeTemplateEditor.js.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/ContentCommentsDrawer.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/ContentCommentsDrawer.js +15 -8
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/ContentCommentsDrawer.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditSectionNavigation.d.ts +2 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditSectionNavigation.d.ts.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditSectionNavigation.js +88 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditSectionNavigation.js.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.d.ts +3 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js +3 -2
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditToolbar.d.ts +5 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditToolbar.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditToolbar.js +34 -71
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditToolbar.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/LocaleVariants.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/LocaleVariants.js +6 -2
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/LocaleVariants.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/ModuleNavigation.d.ts +3 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/ModuleNavigation.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/ModuleNavigation.js +6 -5
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/ModuleNavigation.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.d.ts +3 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.js +5 -4
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/RouteLayoutModuleTabContent.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/RouteLayoutModuleTabContent.js +18 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/RouteLayoutModuleTabContent.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/SeoTabContent.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/SeoTabContent.js +40 -37
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/SeoTabContent.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_context/EditPageContext.d.ts +8 -2
- package/dist/esm/router/dashboard/[contentType]/[edit]/_context/EditPageContext.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_context/EditPageContext.js +75 -22
- package/dist/esm/router/dashboard/[contentType]/[edit]/_context/EditPageContext.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.js +19 -12
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.js +4 -2
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/ListUI.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/ListUI.js +15 -47
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/ListUI.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/RelationField/NewRelation.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/RelationField/NewRelation.js +2 -4
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/RelationField/NewRelation.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/RelationField/relation-state.d.ts +7 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/RelationField/relation-state.d.ts.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/RelationField/relation-state.js +8 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/RelationField/relation-state.js.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/FieldWrapper.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/FieldWrapper.js +13 -2
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/FieldWrapper.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/collaborative-field-state.d.ts +12 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/collaborative-field-state.d.ts.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/collaborative-field-state.js +14 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/collaborative-field-state.js.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/condition-state.d.ts +9 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/condition-state.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/condition-state.js +16 -3
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/condition-state.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.d.ts +2 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.js +48 -13
- package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.d.ts +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.js +8 -5
- package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useRouteLayoutData.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/edit.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/edit.js +63 -13
- package/dist/esm/router/dashboard/[contentType]/[edit]/edit.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/screen.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/screen.js +13 -2
- package/dist/esm/router/dashboard/[contentType]/[edit]/screen.js.map +1 -1
- package/dist/esm/router/dashboard/screen.d.ts.map +1 -1
- package/dist/esm/router/dashboard/screen.js +8 -4
- package/dist/esm/router/dashboard/screen.js.map +1 -1
- package/dist/esm/router/dashboard/seo/screen.d.ts.map +1 -1
- package/dist/esm/router/dashboard/seo/screen.js +10 -0
- package/dist/esm/router/dashboard/seo/screen.js.map +1 -1
- package/dist/esm/router/dashboard/seo/site-analysis.d.ts +4 -2
- package/dist/esm/router/dashboard/seo/site-analysis.d.ts.map +1 -1
- package/dist/esm/router/dashboard/seo/site-analysis.js +19 -4
- package/dist/esm/router/dashboard/seo/site-analysis.js.map +1 -1
- package/dist/esm/router/index.d.ts +1 -0
- package/dist/esm/router/index.d.ts.map +1 -1
- package/dist/esm/router/index.js +1 -0
- package/dist/esm/router/index.js.map +1 -1
- package/dist/esm/router/shared/route-definitions.d.ts +1 -1
- package/dist/esm/router/shared/route-definitions.d.ts.map +1 -1
- package/dist/esm/router/shared/route-definitions.js +4 -1
- package/dist/esm/router/shared/route-definitions.js.map +1 -1
- package/dist/esm/router/shared/route-list.d.ts +3 -0
- package/dist/esm/router/shared/route-list.d.ts.map +1 -1
- package/dist/esm/router/shared/route-list.js +146 -30
- package/dist/esm/router/shared/route-list.js.map +1 -1
- package/dist/styles.css +309 -77
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +6 -2
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { QueryClient } from '@tanstack/react-query';
|
|
2
2
|
import { type ReactNode } from 'react';
|
|
3
3
|
import type { LanguageSchema, ManagerUserSchema } from '@rakun-kit/core/client';
|
|
4
|
+
import type { RealtimeMetadata } from '@rakun-kit/core/client';
|
|
4
5
|
import { type ManagerLinkComponent } from '../link.js';
|
|
5
6
|
import { type ManagerMediaPickerRenderArgs } from '../media.js';
|
|
6
7
|
import { type ManagerNavigation } from '../state/navigation.js';
|
|
7
8
|
import { type ManagerProviderProps } from '../client/react.js';
|
|
9
|
+
import type { RealtimeProvider } from '../client/realtime.js';
|
|
8
10
|
export declare const createManagerQueryClient: () => QueryClient;
|
|
9
11
|
export type ManagerAppProviderProps = {
|
|
10
12
|
client: ManagerProviderProps['client'];
|
|
@@ -13,9 +15,10 @@ export type ManagerAppProviderProps = {
|
|
|
13
15
|
languages: LanguageSchema[];
|
|
14
16
|
initialLanguage?: LanguageSchema;
|
|
15
17
|
queryClient?: QueryClient;
|
|
18
|
+
realtime?: RealtimeProvider | RealtimeMetadata;
|
|
16
19
|
renderMediaPicker?: (args: ManagerMediaPickerRenderArgs) => ReactNode;
|
|
17
20
|
linkComponent?: ManagerLinkComponent;
|
|
18
21
|
children: ReactNode;
|
|
19
22
|
};
|
|
20
|
-
export declare const ManagerAppProvider: ({ client, navigation, initialUser, languages, initialLanguage, queryClient, renderMediaPicker, linkComponent, children, }: ManagerAppProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
export declare const ManagerAppProvider: ({ client, navigation, initialUser, languages, initialLanguage, queryClient, realtime, renderMediaPicker, linkComponent, children, }: ManagerAppProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
21
24
|
//# sourceMappingURL=app-provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-provider.d.ts","sourceRoot":"","sources":["../../../src/app/app-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EAEZ,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAW,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"app-provider.d.ts","sourceRoot":"","sources":["../../../src/app/app-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EAEZ,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAW,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAG9D,OAAO,EAAuB,KAAK,oBAAoB,EAAE,MAAM,QAAQ,CAAA;AAGvE,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,SAAS,CAAA;AAChB,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAmB,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAC3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AA0FzD,eAAO,MAAM,wBAAwB,mBAuBjC,CAAA;AAEJ,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAA;IACtC,UAAU,EAAE,iBAAiB,CAAA;IAC7B,WAAW,EAAE,iBAAiB,CAAA;IAC9B,SAAS,EAAE,cAAc,EAAE,CAAA;IAC3B,eAAe,CAAC,EAAE,cAAc,CAAA;IAChC,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,QAAQ,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,CAAA;IAC9C,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,4BAA4B,KAAK,SAAS,CAAA;IACrE,aAAa,CAAC,EAAE,oBAAoB,CAAA;IACpC,QAAQ,EAAE,SAAS,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,qIAWhC,uBAAuB,4CA0CzB,CAAA"}
|
|
@@ -91,7 +91,7 @@ export const createManagerQueryClient = () => new QueryClient({
|
|
|
91
91
|
},
|
|
92
92
|
},
|
|
93
93
|
});
|
|
94
|
-
export const ManagerAppProvider = ({ client, navigation, initialUser, languages, initialLanguage, queryClient, renderMediaPicker, linkComponent, children, }) => {
|
|
94
|
+
export const ManagerAppProvider = ({ client, navigation, initialUser, languages, initialLanguage, queryClient, realtime, renderMediaPicker, linkComponent, children, }) => {
|
|
95
95
|
const ownedQueryClient = useMemo(() => queryClient ?? createManagerQueryClient(), [queryClient]);
|
|
96
96
|
const fallbackLanguage = initialLanguage ??
|
|
97
97
|
languages.find((language) => language.default) ??
|
|
@@ -100,6 +100,6 @@ export const ManagerAppProvider = ({ client, navigation, initialUser, languages,
|
|
|
100
100
|
throw new Error('ManagerAppProvider requires at least one language.');
|
|
101
101
|
}
|
|
102
102
|
const content = (_jsx(SessionProvider, { initialUser: initialUser, children: _jsx(ManagerUsersProvider, { children: _jsx(LanguageProvider, { languages: languages, initialLanguage: fallbackLanguage, children: children }) }) }));
|
|
103
|
-
return (_jsx(QueryClientProvider, { client: ownedQueryClient, children: _jsx(ManagerProvider, { client: client, children: _jsx(ManagerNavigationProvider, { navigation: navigation, children: _jsx(ManagerLinkProvider, { component: linkComponent, children: _jsx(ManagerMediaProvider, { renderPicker: renderMediaPicker ?? renderDefaultManagerMediaPicker, children: content }) }) }) }) }));
|
|
103
|
+
return (_jsx(QueryClientProvider, { client: ownedQueryClient, children: _jsx(ManagerProvider, { client: client, realtime: realtime, children: _jsx(ManagerNavigationProvider, { navigation: navigation, children: _jsx(ManagerLinkProvider, { component: linkComponent, children: _jsx(ManagerMediaProvider, { renderPicker: renderMediaPicker ?? renderDefaultManagerMediaPicker, children: content }) }) }) }) }));
|
|
104
104
|
};
|
|
105
105
|
//# sourceMappingURL=app-provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-provider.js","sourceRoot":"","sources":["../../../src/app/app-provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,UAAU,EACV,WAAW,EACX,mBAAmB,GACpB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,OAAO,EAAkB,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"app-provider.js","sourceRoot":"","sources":["../../../src/app/app-provider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ import type { ManagerPreviewConfig } from "../router/index.js";
|
|
|
8
8
|
import type { RakunManagerPluginDefinition } from "../plugins.js";
|
|
9
9
|
export type ManagerRuntimeAppProps = {
|
|
10
10
|
client: ManagerProviderProps["client"];
|
|
11
|
+
realtimeBaseUrl?: string;
|
|
11
12
|
navigation: ManagerNavigation;
|
|
12
13
|
pathname: string;
|
|
13
14
|
basePath?: string;
|
|
@@ -25,6 +26,6 @@ export type ManagerBrowserAppProps = Omit<ManagerRuntimeAppProps, "navigation">
|
|
|
25
26
|
navigation?: ManagerNavigation;
|
|
26
27
|
overrides?: ManagerAppOverrides;
|
|
27
28
|
};
|
|
28
|
-
export declare const ManagerRuntimeApp: ({ client, navigation, pathname, basePath, searchParams, loadingFallback, unauthenticatedFallback, errorFallback, overrides, preview, linkComponent, renderMediaPicker, plugins, }: ManagerRuntimeAppProps) => import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
export declare const ManagerRuntimeApp: ({ client, realtimeBaseUrl, navigation, pathname, basePath, searchParams, loadingFallback, unauthenticatedFallback, errorFallback, overrides, preview, linkComponent, renderMediaPicker, plugins, }: ManagerRuntimeAppProps) => import("react/jsx-runtime").JSX.Element;
|
|
29
30
|
export declare const ManagerBrowserApp: (props: ManagerBrowserAppProps) => import("react/jsx-runtime").JSX.Element;
|
|
30
31
|
//# sourceMappingURL=runtime-app.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-app.d.ts","sourceRoot":"","sources":["../../../src/app/runtime-app.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runtime-app.d.ts","sourceRoot":"","sources":["../../../src/app/runtime-app.tsx"],"names":[],"mappings":"AAMA,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAUf,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAW5D,OAAO,EAAuB,KAAK,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAMxE,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAiC/D,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EACT,eAAe,GACf,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GAC7C,SAAS,CAAC;IACd,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,uBAAuB,CAAC,EAAE,SAAS,CAAC;IACpC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,CAAC;IAC/C,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,4BAA4B,KAAK,SAAS,CAAC;IACtE,OAAO,CAAC,EAAE,SAAS,4BAA4B,EAAE,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,sBAAsB,EACtB,YAAY,CACb,GAAG;IACF,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACjC,CAAC;AAUF,eAAO,MAAM,iBAAiB,GAAI,oMAe/B,sBAAsB,4CA+RxB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,OAAO,sBAAsB,4CA8B9D,CAAC"}
|
|
@@ -5,6 +5,7 @@ import { createManagerQueryClient } from "./app-provider.js";
|
|
|
5
5
|
import { loadManagerBootstrap } from "./bootstrap.js";
|
|
6
6
|
import { createPathManagerNavigation, getManagerPathHref, getManagerRelativePathname, ManagerNavigationProvider, } from "../state/navigation.js";
|
|
7
7
|
import { ManagerProvider } from "../client/react.js";
|
|
8
|
+
import { resolveRealtimeMetadata } from '../client/realtime.js';
|
|
8
9
|
import { ManagerApp } from "../router/index.js";
|
|
9
10
|
import { SessionProvider } from "../state/session.js";
|
|
10
11
|
import { LanguageProvider } from "../state/language.js";
|
|
@@ -28,12 +29,16 @@ const authLoadingPaths = new Set([
|
|
|
28
29
|
"/mfa",
|
|
29
30
|
"/reset-password",
|
|
30
31
|
]);
|
|
31
|
-
export const ManagerRuntimeApp = ({ client, navigation, pathname, basePath, searchParams, loadingFallback, unauthenticatedFallback, errorFallback, overrides, preview, linkComponent, renderMediaPicker, plugins, }) => {
|
|
32
|
+
export const ManagerRuntimeApp = ({ client, realtimeBaseUrl, navigation, pathname, basePath, searchParams, loadingFallback, unauthenticatedFallback, errorFallback, overrides, preview, linkComponent, renderMediaPicker, plugins, }) => {
|
|
32
33
|
const queryClient = useMemo(() => createManagerQueryClient(), []);
|
|
33
34
|
const [localePacks, setLocalePacks] = useState([]);
|
|
34
35
|
const [managerUiLoaded, setManagerUiLoaded] = useState(false);
|
|
35
36
|
const [siteUrl, setSiteUrl] = useState();
|
|
36
37
|
const [passwordRecoveryEnabled, setPasswordRecoveryEnabled] = useState(false);
|
|
38
|
+
const [realtime, setRealtime] = useState({
|
|
39
|
+
transport: 'polling',
|
|
40
|
+
intervalMs: 3_000,
|
|
41
|
+
});
|
|
37
42
|
const [login, setLogin] = useState({ password: true, adapters: [] });
|
|
38
43
|
const scopedNavigation = useMemo(() => ({
|
|
39
44
|
...navigation,
|
|
@@ -68,6 +73,10 @@ export const ManagerRuntimeApp = ({ client, navigation, pathname, basePath, sear
|
|
|
68
73
|
const locales = uiConfig.locales;
|
|
69
74
|
setLocalePacks(Array.isArray(locales) ? locales : []);
|
|
70
75
|
setSiteUrl(uiConfig.siteUrl);
|
|
76
|
+
setRealtime(resolveRealtimeMetadata(uiConfig.platform?.realtime ?? {
|
|
77
|
+
transport: 'polling',
|
|
78
|
+
intervalMs: 3_000,
|
|
79
|
+
}, realtimeBaseUrl));
|
|
71
80
|
setPasswordRecoveryEnabled(uiConfig.features?.passwordRecovery === true);
|
|
72
81
|
setLogin({
|
|
73
82
|
password: uiConfig.features?.login?.password !== false,
|
|
@@ -82,6 +91,7 @@ export const ManagerRuntimeApp = ({ client, navigation, pathname, basePath, sear
|
|
|
82
91
|
return;
|
|
83
92
|
setLocalePacks([]);
|
|
84
93
|
setSiteUrl(undefined);
|
|
94
|
+
setRealtime({ transport: 'polling', intervalMs: 3_000 });
|
|
85
95
|
setPasswordRecoveryEnabled(false);
|
|
86
96
|
setLogin({ password: true, adapters: [] });
|
|
87
97
|
setManagerUiLoaded(true);
|
|
@@ -89,7 +99,7 @@ export const ManagerRuntimeApp = ({ client, navigation, pathname, basePath, sear
|
|
|
89
99
|
return () => {
|
|
90
100
|
cancelled = true;
|
|
91
101
|
};
|
|
92
|
-
}, [client]);
|
|
102
|
+
}, [client, realtimeBaseUrl]);
|
|
93
103
|
const bootstrap = useCallback(async () => {
|
|
94
104
|
const run = bootstrapRunRef.current + 1;
|
|
95
105
|
bootstrapRunRef.current = run;
|
|
@@ -177,7 +187,7 @@ export const ManagerRuntimeApp = ({ client, navigation, pathname, basePath, sear
|
|
|
177
187
|
});
|
|
178
188
|
}, [bootstrap, pathname, searchParams, state.status]);
|
|
179
189
|
const isLoading = state.status === "loading" || !managerUiLoaded;
|
|
180
|
-
return (_jsx(ManagerRootProviders, { children: _jsx(ManagerI18nProvider, { localePacks: localePacks, children: _jsx(ConfirmProvider, { children: _jsx(QueryClientProvider, { client: queryClient, children: _jsx(ManagerProvider, { client: client, children: _jsx(ManagerRuntimeAuthProvider, { value: runtimeAuth, children: _jsx(ManagerNavigationProvider, { navigation: scopedNavigation, children: _jsx(ManagerLinkProvider, { component: linkComponent, children: _jsxs(ManagerMediaProvider, { renderPicker: renderMediaPicker ?? renderDefaultManagerMediaPicker, children: [isLoading ? (_jsx(_Fragment, { children: loadingFallback ??
|
|
190
|
+
return (_jsx(ManagerRootProviders, { children: _jsx(ManagerI18nProvider, { localePacks: localePacks, children: _jsx(ConfirmProvider, { children: _jsx(QueryClientProvider, { client: queryClient, children: _jsx(ManagerProvider, { client: client, realtime: realtime, children: _jsx(ManagerRuntimeAuthProvider, { value: runtimeAuth, children: _jsx(ManagerNavigationProvider, { navigation: scopedNavigation, children: _jsx(ManagerLinkProvider, { component: linkComponent, children: _jsxs(ManagerMediaProvider, { renderPicker: renderMediaPicker ?? renderDefaultManagerMediaPicker, children: [isLoading ? (_jsx(_Fragment, { children: loadingFallback ??
|
|
181
191
|
(useAuthLoadingFallback ? (_jsx(ManagerAuthLoadingFallback, {})) : (_jsx(ManagerLoadingFallback, {}))) })) : null, !isLoading && state.status === "error" ? (_jsx(_Fragment, { children: errorFallback?.(state.message) ?? (_jsx(BootstrapFailedMessage, { message: state.message })) })) : null, !isLoading && state.status === "unauthenticated" ? (_jsx(_Fragment, { children: unauthenticatedFallback ?? (_jsx(ManagerApp, { pathname: pathname, basePath: basePath, searchParams: searchParams, passwordRecoveryEnabled: passwordRecoveryEnabled, login: login, siteUrl: siteUrl, preview: preview, plugins: plugins, ...overrides })) })) : null, !isLoading && state.status === "ready" ? (_jsx(SessionProvider, { initialUser: state.user, contentTypes: state.contentTypes, children: _jsx(ManagerUsersProvider, { children: _jsx(LanguageProvider, { languages: state.languages, initialLanguage: state.initialLanguage, children: _jsx(ManagerApp, { pathname: pathname, basePath: basePath, searchParams: searchParams, contentTypes: state.contentTypes, authenticated: true, passwordRecoveryEnabled: passwordRecoveryEnabled, login: login, siteUrl: siteUrl, preview: preview, plugins: plugins, ...overrides }) }) }) })) : null] }) }) }) }) }) }) }) }) }));
|
|
182
192
|
};
|
|
183
193
|
export const ManagerBrowserApp = (props) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-app.js","sourceRoot":"","sources":["../../../src/app/runtime-app.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime-app.js","sourceRoot":"","sources":["../../../src/app/runtime-app.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
import { type DefaultError, type QueryKey, type UseMutationOptions, type UseMutationResult, type UseQueryOptions, type UseQueryResult } from "@tanstack/react-query";
|
|
2
|
+
import type { RealtimeMetadata } from "@rakun-kit/core/client";
|
|
2
3
|
import { type ReactNode } from "react";
|
|
3
4
|
import type { ManagerMutationOperationName, ManagerOperationInput, ManagerOperationOutput, ManagerQueryOperationName } from "./operations.js";
|
|
4
5
|
import type { ManagerClient } from "./request.js";
|
|
6
|
+
import { type RealtimeProvider, type UseRealtimeSyncArgs } from "./realtime.js";
|
|
5
7
|
declare const MANAGER_QUERY_PREFIX = "rakun-manager";
|
|
6
8
|
export type ManagerProviderProps = {
|
|
7
9
|
client: ManagerClient;
|
|
10
|
+
realtime?: RealtimeProvider | RealtimeMetadata;
|
|
8
11
|
children: ReactNode;
|
|
9
12
|
};
|
|
10
|
-
export declare const ManagerProvider: ({ client, children }: ManagerProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export declare const ManagerProvider: ({ client, realtime, children, }: ManagerProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
14
|
export declare const useManagerClient: () => ManagerClient;
|
|
15
|
+
export declare const useManagerRealtime: () => RealtimeProvider;
|
|
16
|
+
export type UseSyncArgs<TData, TError = DefaultError, TQueryKey extends QueryKey = QueryKey> = Omit<UseRealtimeSyncArgs<TData, TError, TQueryKey>, "realtime">;
|
|
17
|
+
export declare const useSync: <TData, TError = DefaultError, TQueryKey extends QueryKey = QueryKey>(options: UseSyncArgs<TData, TError, TQueryKey>) => UseQueryResult<TData, TError>;
|
|
12
18
|
export type ManagerQueryKey<TName extends ManagerQueryOperationName> = readonly [
|
|
13
19
|
typeof MANAGER_QUERY_PREFIX,
|
|
14
20
|
TName,
|
|
@@ -31,6 +37,12 @@ export type UseManagerQueryArgs<TName extends ManagerQueryOperationName> = Omit<
|
|
|
31
37
|
consumeSignal?: boolean;
|
|
32
38
|
};
|
|
33
39
|
export declare const useManagerQuery: <TName extends ManagerQueryOperationName>({ name, input, consumeSignal, ...options }: UseManagerQueryArgs<TName>) => UseQueryResult<ManagerOperationOutput<TName>, DefaultError>;
|
|
40
|
+
export type UseManagerSyncQueryArgs<TName extends ManagerQueryOperationName> = Omit<UseManagerQueryArgs<TName>, "refetchInterval"> & {
|
|
41
|
+
topic?: string;
|
|
42
|
+
syncEnabled?: boolean;
|
|
43
|
+
syncIntervalMs?: number;
|
|
44
|
+
};
|
|
45
|
+
export declare const useManagerSyncQuery: <TName extends ManagerQueryOperationName>({ name, input, consumeSignal, topic, syncEnabled, syncIntervalMs, ...options }: UseManagerSyncQueryArgs<TName>) => UseQueryResult<ManagerOperationOutput<TName>, DefaultError>;
|
|
34
46
|
export type UseManagerMutationOptions<TName extends ManagerMutationOperationName, TContext = unknown> = Omit<UseMutationOptions<ManagerOperationOutput<TName>, DefaultError, ManagerOperationInput<TName>, TContext>, "mutationFn"> & {
|
|
35
47
|
mutationKey?: QueryKey;
|
|
36
48
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../../src/client/react.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,cAAc,EAGpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,
|
|
1
|
+
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../../src/client/react.tsx"],"names":[],"mappings":"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"}
|
package/dist/esm/client/react.js
CHANGED
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useMutation, useQuery, } from "@tanstack/react-query";
|
|
3
|
-
import { createContext, useContext } from "react";
|
|
3
|
+
import { createContext, useContext, useMemo } from "react";
|
|
4
|
+
import { pollingRealtime, realtimeFromMetadata, useRealtimeSync, } from "./realtime.js";
|
|
4
5
|
const MANAGER_QUERY_PREFIX = "rakun-manager";
|
|
5
6
|
const ManagerClientContext = createContext(null);
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
const ManagerRealtimeContext = createContext(null);
|
|
8
|
+
export const ManagerProvider = ({ client, realtime, children, }) => {
|
|
9
|
+
const resolvedRealtime = useMemo(() => {
|
|
10
|
+
if (!realtime)
|
|
11
|
+
return pollingRealtime();
|
|
12
|
+
return "subscribe" in realtime ? realtime : realtimeFromMetadata(realtime);
|
|
13
|
+
}, [realtime]);
|
|
14
|
+
return (_jsx(ManagerClientContext.Provider, { value: client, children: _jsx(ManagerRealtimeContext.Provider, { value: resolvedRealtime, children: children }) }));
|
|
8
15
|
};
|
|
9
16
|
export const useManagerClient = () => {
|
|
10
17
|
const client = useContext(ManagerClientContext);
|
|
@@ -13,6 +20,17 @@ export const useManagerClient = () => {
|
|
|
13
20
|
}
|
|
14
21
|
return client;
|
|
15
22
|
};
|
|
23
|
+
export const useManagerRealtime = () => {
|
|
24
|
+
const realtime = useContext(ManagerRealtimeContext);
|
|
25
|
+
if (!realtime) {
|
|
26
|
+
throw new Error("useManagerRealtime must be used inside <ManagerProvider>.");
|
|
27
|
+
}
|
|
28
|
+
return realtime;
|
|
29
|
+
};
|
|
30
|
+
export const useSync = (options) => {
|
|
31
|
+
const realtime = useManagerRealtime();
|
|
32
|
+
return useRealtimeSync({ ...options, realtime });
|
|
33
|
+
};
|
|
16
34
|
export const createManagerQueryKey = (name, input) => [MANAGER_QUERY_PREFIX, name, input ?? null];
|
|
17
35
|
export const createManagerQueryOptions = (client, name, input, config = {}) => ({
|
|
18
36
|
queryKey: createManagerQueryKey(name, input),
|
|
@@ -27,6 +45,20 @@ export const useManagerQuery = ({ name, input, consumeSignal = false, ...options
|
|
|
27
45
|
...createManagerQueryOptions(client, name, input, { consumeSignal }),
|
|
28
46
|
});
|
|
29
47
|
};
|
|
48
|
+
export const useManagerSyncQuery = ({ name, input, consumeSignal = false, topic, syncEnabled, syncIntervalMs, ...options }) => {
|
|
49
|
+
const client = useManagerClient();
|
|
50
|
+
const query = createManagerQueryOptions(client, name, input, {
|
|
51
|
+
consumeSignal,
|
|
52
|
+
});
|
|
53
|
+
return useSync({
|
|
54
|
+
...options,
|
|
55
|
+
key: query.queryKey,
|
|
56
|
+
fetcher: query.queryFn,
|
|
57
|
+
topic,
|
|
58
|
+
syncEnabled,
|
|
59
|
+
syncIntervalMs,
|
|
60
|
+
});
|
|
61
|
+
};
|
|
30
62
|
export const useManagerMutation = (name, options = {}) => {
|
|
31
63
|
const client = useManagerClient();
|
|
32
64
|
return useMutation({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.js","sourceRoot":"","sources":["../../../src/client/react.tsx"],"names":[],"mappings":";AAAA,OAAO,EAOL,WAAW,EACX,QAAQ,GACT,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"react.js","sourceRoot":"","sources":["../../../src/client/react.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type DefaultError, type QueryKey, type UseQueryOptions, type UseQueryResult } from '@tanstack/react-query';
|
|
2
|
+
import { type RealtimeMetadata } from '@rakun-kit/core/client';
|
|
3
|
+
export interface RealtimeProvider {
|
|
4
|
+
readonly metadata: RealtimeMetadata;
|
|
5
|
+
subscribe(topic: string, onChange: () => void, options?: {
|
|
6
|
+
intervalMs?: number;
|
|
7
|
+
presenceClientId?: string;
|
|
8
|
+
}): () => void;
|
|
9
|
+
}
|
|
10
|
+
export declare const pollingRealtime: (options?: {
|
|
11
|
+
intervalMs?: number;
|
|
12
|
+
}) => RealtimeProvider;
|
|
13
|
+
export declare const sseRealtime: (options?: {
|
|
14
|
+
endpoint?: string;
|
|
15
|
+
}) => RealtimeProvider;
|
|
16
|
+
export declare const realtimeFromMetadata: (metadata: RealtimeMetadata) => RealtimeProvider;
|
|
17
|
+
export declare const createSyncTopic: (...parts: Array<string | number | null | undefined>) => string;
|
|
18
|
+
export declare const resolveRealtimeMetadata: (metadata: RealtimeMetadata, baseUrl?: string) => RealtimeMetadata;
|
|
19
|
+
export type UseRealtimeSyncArgs<TData, TError = DefaultError, TQueryKey extends QueryKey = QueryKey> = Omit<UseQueryOptions<TData, TError, TData, TQueryKey>, 'queryKey' | 'queryFn'> & {
|
|
20
|
+
key: TQueryKey;
|
|
21
|
+
fetcher: (context: {
|
|
22
|
+
signal: AbortSignal;
|
|
23
|
+
}) => Promise<TData>;
|
|
24
|
+
topic?: string;
|
|
25
|
+
syncEnabled?: boolean;
|
|
26
|
+
syncIntervalMs?: number;
|
|
27
|
+
presenceClientId?: string;
|
|
28
|
+
realtime: RealtimeProvider;
|
|
29
|
+
};
|
|
30
|
+
export declare const useRealtimeSync: <TData, TError = DefaultError, TQueryKey extends QueryKey = QueryKey>({ key, fetcher, topic, syncEnabled, syncIntervalMs, presenceClientId, realtime, ...options }: UseRealtimeSyncArgs<TData, TError, TQueryKey>) => UseQueryResult<TData, TError>;
|
|
31
|
+
//# sourceMappingURL=realtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../../../src/client/realtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,cAAc,EAGpB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,wBAAwB,CAAA;AAI/B,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAA;IACnC,SAAS,CACP,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,IAAI,EACpB,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3D,MAAM,IAAI,CAAA;CACd;AAKD,eAAO,MAAM,eAAe,GAAI,UAAS;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,KAAG,gBAavE,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,UAAS;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,KAAG,gBAsHjE,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,UAAU,gBAAgB,KAAG,gBAKjE,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,GAAG,OAAO,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,KAAG,MACvD,CAAA;AAE/B,eAAO,MAAM,uBAAuB,GAClC,UAAU,gBAAgB,EAC1B,UAAU,MAAM,KACf,gBAqBF,CAAA;AAED,MAAM,MAAM,mBAAmB,CAC7B,KAAK,EACL,MAAM,GAAG,YAAY,EACrB,SAAS,SAAS,QAAQ,GAAG,QAAQ,IACnC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,GAAG;IACnF,GAAG,EAAE,SAAS,CAAA;IACd,OAAO,EAAE,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,WAAW,CAAA;KAAE,KAAK,OAAO,CAAC,KAAK,CAAC,CAAA;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,EAAE,gBAAgB,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,eAAe,GAC1B,KAAK,EACL,MAAM,GAAG,YAAY,EACrB,SAAS,SAAS,QAAQ,GAAG,QAAQ,EACrC,8FASC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,KAAG,cAAc,CAAC,KAAK,EAAE,MAAM,CA4B9E,CAAA"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { useQuery, useQueryClient, } from '@tanstack/react-query';
|
|
2
|
+
import { useEffect, useMemo, useRef } from 'react';
|
|
3
|
+
import { createRealtimeTopic, DEFAULT_SSE_ENDPOINT, } from '@rakun-kit/core/client';
|
|
4
|
+
const RELATIVE_URL_BASE = 'http://rakun.local';
|
|
5
|
+
const normalizeInterval = (value) => typeof value === 'number' && Number.isFinite(value) && value >= 250 ? Math.round(value) : 3_000;
|
|
6
|
+
export const pollingRealtime = (options = {}) => {
|
|
7
|
+
const intervalMs = normalizeInterval(options.intervalMs);
|
|
8
|
+
return {
|
|
9
|
+
metadata: { transport: 'polling', intervalMs },
|
|
10
|
+
subscribe(_topic, onChange, subscriptionOptions) {
|
|
11
|
+
const timer = globalThis.setInterval(onChange, normalizeInterval(subscriptionOptions?.intervalMs ?? intervalMs));
|
|
12
|
+
return () => globalThis.clearInterval(timer);
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
export const sseRealtime = (options = {}) => {
|
|
17
|
+
const endpoint = options.endpoint ?? DEFAULT_SSE_ENDPOINT;
|
|
18
|
+
const listeners = new Map();
|
|
19
|
+
let source;
|
|
20
|
+
const sources = new Set();
|
|
21
|
+
let connectionScheduled = false;
|
|
22
|
+
const notifyAll = () => {
|
|
23
|
+
for (const topicListeners of listeners.values()) {
|
|
24
|
+
for (const listener of topicListeners)
|
|
25
|
+
listener.onChange();
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const connect = () => {
|
|
29
|
+
if (listeners.size === 0) {
|
|
30
|
+
for (const currentSource of sources)
|
|
31
|
+
currentSource.close();
|
|
32
|
+
sources.clear();
|
|
33
|
+
source = undefined;
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
const separator = endpoint.includes('?') ? '&' : '?';
|
|
37
|
+
const topicQuery = [...listeners.keys()]
|
|
38
|
+
.map((topic) => `topic=${encodeURIComponent(topic)}`)
|
|
39
|
+
.join('&');
|
|
40
|
+
const presenceQuery = [...listeners.entries()]
|
|
41
|
+
.map(([topic, topicListeners]) => {
|
|
42
|
+
const listener = [...topicListeners].find((current) => Boolean(current.presenceClientId));
|
|
43
|
+
return listener ? JSON.stringify([topic, listener.presenceClientId]) : null;
|
|
44
|
+
})
|
|
45
|
+
.filter((binding) => binding !== null)
|
|
46
|
+
.map((binding) => `presence=${encodeURIComponent(binding)}`)
|
|
47
|
+
.join('&');
|
|
48
|
+
const query = presenceQuery ? `${topicQuery}&${presenceQuery}` : topicQuery;
|
|
49
|
+
const nextSource = new EventSource(`${endpoint}${separator}${query}`, {
|
|
50
|
+
withCredentials: true,
|
|
51
|
+
});
|
|
52
|
+
source = nextSource;
|
|
53
|
+
sources.add(nextSource);
|
|
54
|
+
nextSource.addEventListener('open', () => {
|
|
55
|
+
if (source !== nextSource) {
|
|
56
|
+
nextSource.close();
|
|
57
|
+
sources.delete(nextSource);
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
for (const currentSource of sources) {
|
|
61
|
+
if (currentSource === nextSource)
|
|
62
|
+
continue;
|
|
63
|
+
currentSource.close();
|
|
64
|
+
sources.delete(currentSource);
|
|
65
|
+
}
|
|
66
|
+
notifyAll();
|
|
67
|
+
});
|
|
68
|
+
nextSource.addEventListener('message', (event) => {
|
|
69
|
+
if (typeof event.data !== 'string') {
|
|
70
|
+
notifyAll();
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
try {
|
|
74
|
+
const parsed = JSON.parse(event.data);
|
|
75
|
+
if (typeof parsed === 'object' &&
|
|
76
|
+
parsed !== null &&
|
|
77
|
+
'topic' in parsed &&
|
|
78
|
+
typeof parsed.topic === 'string') {
|
|
79
|
+
for (const listener of listeners.get(parsed.topic) ?? []) {
|
|
80
|
+
listener.onChange();
|
|
81
|
+
}
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
for (const listener of listeners.get(event.data) ?? []) {
|
|
87
|
+
listener.onChange();
|
|
88
|
+
}
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
notifyAll();
|
|
92
|
+
});
|
|
93
|
+
};
|
|
94
|
+
const scheduleConnection = () => {
|
|
95
|
+
if (connectionScheduled)
|
|
96
|
+
return;
|
|
97
|
+
connectionScheduled = true;
|
|
98
|
+
queueMicrotask(() => {
|
|
99
|
+
connectionScheduled = false;
|
|
100
|
+
connect();
|
|
101
|
+
});
|
|
102
|
+
};
|
|
103
|
+
return {
|
|
104
|
+
metadata: { transport: 'sse', endpoint },
|
|
105
|
+
subscribe(topic, onChange, subscriptionOptions) {
|
|
106
|
+
const listener = {
|
|
107
|
+
onChange,
|
|
108
|
+
presenceClientId: subscriptionOptions?.presenceClientId,
|
|
109
|
+
};
|
|
110
|
+
const topicListeners = listeners.get(topic) ?? new Set();
|
|
111
|
+
topicListeners.add(listener);
|
|
112
|
+
listeners.set(topic, topicListeners);
|
|
113
|
+
scheduleConnection();
|
|
114
|
+
return () => {
|
|
115
|
+
topicListeners.delete(listener);
|
|
116
|
+
if (topicListeners.size === 0)
|
|
117
|
+
listeners.delete(topic);
|
|
118
|
+
scheduleConnection();
|
|
119
|
+
};
|
|
120
|
+
},
|
|
121
|
+
};
|
|
122
|
+
};
|
|
123
|
+
export const realtimeFromMetadata = (metadata) => {
|
|
124
|
+
if (metadata.transport === 'sse') {
|
|
125
|
+
return sseRealtime({ endpoint: metadata.endpoint });
|
|
126
|
+
}
|
|
127
|
+
return pollingRealtime({ intervalMs: metadata.intervalMs });
|
|
128
|
+
};
|
|
129
|
+
export const createSyncTopic = (...parts) => createRealtimeTopic(...parts);
|
|
130
|
+
export const resolveRealtimeMetadata = (metadata, baseUrl) => {
|
|
131
|
+
if (metadata.transport === 'polling' || !baseUrl)
|
|
132
|
+
return metadata;
|
|
133
|
+
if (/^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(metadata.endpoint))
|
|
134
|
+
return metadata;
|
|
135
|
+
const normalizedBase = baseUrl.replace(/\/+$/, '');
|
|
136
|
+
const absoluteBase = /^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(normalizedBase)
|
|
137
|
+
? new URL(normalizedBase)
|
|
138
|
+
: undefined;
|
|
139
|
+
const endpointUrl = new URL(metadata.endpoint, RELATIVE_URL_BASE);
|
|
140
|
+
const normalizedEndpoint = `/${endpointUrl.pathname.split('/').filter(Boolean).join('/')}`;
|
|
141
|
+
const basePath = absoluteBase ? absoluteBase.pathname.replace(/\/+$/, '') : normalizedBase;
|
|
142
|
+
const endpointAlreadyIncludesBase = normalizedEndpoint === basePath || normalizedEndpoint.startsWith(`${basePath}/`);
|
|
143
|
+
const endpointPath = endpointAlreadyIncludesBase
|
|
144
|
+
? normalizedEndpoint
|
|
145
|
+
: `${basePath}${normalizedEndpoint}`;
|
|
146
|
+
return {
|
|
147
|
+
...metadata,
|
|
148
|
+
endpoint: `${absoluteBase ? absoluteBase.origin : ''}${endpointPath}${endpointUrl.search}${endpointUrl.hash}`,
|
|
149
|
+
};
|
|
150
|
+
};
|
|
151
|
+
export const useRealtimeSync = ({ key, fetcher, topic, syncEnabled, syncIntervalMs, presenceClientId, realtime, ...options }) => {
|
|
152
|
+
const queryClient = useQueryClient();
|
|
153
|
+
const topicKey = useMemo(() => topic ?? JSON.stringify(key), [key, topic]);
|
|
154
|
+
const keyRef = useRef(key);
|
|
155
|
+
keyRef.current = key;
|
|
156
|
+
const subscriptionEnabled = syncEnabled ?? options.enabled !== false;
|
|
157
|
+
const query = useQuery({
|
|
158
|
+
...options,
|
|
159
|
+
queryKey: key,
|
|
160
|
+
queryFn: fetcher,
|
|
161
|
+
});
|
|
162
|
+
useEffect(() => {
|
|
163
|
+
if (!subscriptionEnabled)
|
|
164
|
+
return;
|
|
165
|
+
return realtime.subscribe(topicKey, () => {
|
|
166
|
+
void queryClient.invalidateQueries({
|
|
167
|
+
queryKey: keyRef.current,
|
|
168
|
+
exact: true,
|
|
169
|
+
});
|
|
170
|
+
}, { intervalMs: syncIntervalMs, presenceClientId });
|
|
171
|
+
}, [presenceClientId, queryClient, realtime, subscriptionEnabled, syncIntervalMs, topicKey]);
|
|
172
|
+
return query;
|
|
173
|
+
};
|
|
174
|
+
//# sourceMappingURL=realtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realtime.js","sourceRoot":"","sources":["../../../src/client/realtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,QAAQ,EACR,cAAc,GACf,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAClD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,GAErB,MAAM,wBAAwB,CAAA;AAE/B,MAAM,iBAAiB,GAAG,oBAAoB,CAAA;AAW9C,MAAM,iBAAiB,GAAG,CAAC,KAAyB,EAAU,EAAE,CAC9D,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;AAEjG,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,UAAmC,EAAE,EAAoB,EAAE;IACzF,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IAExD,OAAO;QACL,QAAQ,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE;QAC9C,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,mBAAmB;YAC7C,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,CAClC,QAAQ,EACR,iBAAiB,CAAC,mBAAmB,EAAE,UAAU,IAAI,UAAU,CAAC,CACjE,CAAA;YACD,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC9C,CAAC;KACF,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,UAAiC,EAAE,EAAoB,EAAE;IACnF,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,oBAAoB,CAAA;IAKzD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAyB,CAAA;IAClD,IAAI,MAA+B,CAAA;IACnC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAe,CAAA;IACtC,IAAI,mBAAmB,GAAG,KAAK,CAAA;IAE/B,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,KAAK,MAAM,cAAc,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;YAChD,KAAK,MAAM,QAAQ,IAAI,cAAc;gBAAE,QAAQ,CAAC,QAAQ,EAAE,CAAA;QAC5D,CAAC;IACH,CAAC,CAAA;IAED,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACzB,KAAK,MAAM,aAAa,IAAI,OAAO;gBAAE,aAAa,CAAC,KAAK,EAAE,CAAA;YAC1D,OAAO,CAAC,KAAK,EAAE,CAAA;YACf,MAAM,GAAG,SAAS,CAAA;YAClB,OAAM;QACR,CAAC;QAED,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;QACpD,MAAM,UAAU,GAAG,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;aACrC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;aACpD,IAAI,CAAC,GAAG,CAAC,CAAA;QACZ,MAAM,aAAa,GAAG,CAAC,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;aAC3C,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,EAAE;YAC/B,MAAM,QAAQ,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC,IAAI,CACvC,CAAC,OAAO,EAAsD,EAAE,CAC9D,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CACpC,CAAA;YACD,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC7E,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,OAAO,EAAqB,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC;aACxD,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;aAC3D,IAAI,CAAC,GAAG,CAAC,CAAA;QACZ,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,aAAa,EAAE,CAAC,CAAC,CAAC,UAAU,CAAA;QAC3E,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,EAAE,EAAE;YACpE,eAAe,EAAE,IAAI;SACtB,CAAC,CAAA;QACF,MAAM,GAAG,UAAU,CAAA;QACnB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QACvB,UAAU,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;YACvC,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC1B,UAAU,CAAC,KAAK,EAAE,CAAA;gBAClB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;gBAC1B,OAAM;YACR,CAAC;YACD,KAAK,MAAM,aAAa,IAAI,OAAO,EAAE,CAAC;gBACpC,IAAI,aAAa,KAAK,UAAU;oBAAE,SAAQ;gBAC1C,aAAa,CAAC,KAAK,EAAE,CAAA;gBACrB,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;YAC/B,CAAC;YACD,SAAS,EAAE,CAAA;QACb,CAAC,CAAC,CAAA;QACF,UAAU,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YAC/C,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACnC,SAAS,EAAE,CAAA;gBACX,OAAM;YACR,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBAC9C,IACE,OAAO,MAAM,KAAK,QAAQ;oBAC1B,MAAM,KAAK,IAAI;oBACf,OAAO,IAAI,MAAM;oBACjB,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAChC,CAAC;oBACD,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;wBACzD,QAAQ,CAAC,QAAQ,EAAE,CAAA;oBACrB,CAAC;oBACD,OAAM;gBACR,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;oBACvD,QAAQ,CAAC,QAAQ,EAAE,CAAA;gBACrB,CAAC;gBACD,OAAM;YACR,CAAC;YAED,SAAS,EAAE,CAAA;QACb,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC9B,IAAI,mBAAmB;YAAE,OAAM;QAE/B,mBAAmB,GAAG,IAAI,CAAA;QAC1B,cAAc,CAAC,GAAG,EAAE;YAClB,mBAAmB,GAAG,KAAK,CAAA;YAC3B,OAAO,EAAE,CAAA;QACX,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,OAAO;QACL,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE;QACxC,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,mBAAmB;YAC5C,MAAM,QAAQ,GAAa;gBACzB,QAAQ;gBACR,gBAAgB,EAAE,mBAAmB,EAAE,gBAAgB;aACxD,CAAA;YACD,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,EAAY,CAAA;YAClE,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAC5B,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;YACpC,kBAAkB,EAAE,CAAA;YAEpB,OAAO,GAAG,EAAE;gBACV,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;gBAC/B,IAAI,cAAc,CAAC,IAAI,KAAK,CAAC;oBAAE,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACtD,kBAAkB,EAAE,CAAA;YACtB,CAAC,CAAA;QACH,CAAC;KACF,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,QAA0B,EAAoB,EAAE;IACnF,IAAI,QAAQ,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;QACjC,OAAO,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;IACrD,CAAC;IACD,OAAO,eAAe,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;AAC7D,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAG,KAAgD,EAAU,EAAE,CAC7F,mBAAmB,CAAC,GAAG,KAAK,CAAC,CAAA;AAE/B,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,QAA0B,EAC1B,OAAgB,EACE,EAAE;IACpB,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,OAAO;QAAE,OAAO,QAAQ,CAAA;IACjE,IAAI,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAA;IAExE,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAClD,MAAM,YAAY,GAAG,2BAA2B,CAAC,IAAI,CAAC,cAAc,CAAC;QACnE,CAAC,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC;QACzB,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAA;IACjE,MAAM,kBAAkB,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;IAC1F,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,CAAA;IAC1F,MAAM,2BAA2B,GAC/B,kBAAkB,KAAK,QAAQ,IAAI,kBAAkB,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAA;IAClF,MAAM,YAAY,GAAG,2BAA2B;QAC9C,CAAC,CAAC,kBAAkB;QACpB,CAAC,CAAC,GAAG,QAAQ,GAAG,kBAAkB,EAAE,CAAA;IAEtC,OAAO;QACL,GAAG,QAAQ;QACX,QAAQ,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,YAAY,GAAG,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE;KAC9G,CAAA;AACH,CAAC,CAAA;AAgBD,MAAM,CAAC,MAAM,eAAe,GAAG,CAI7B,EACA,GAAG,EACH,OAAO,EACP,KAAK,EACL,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,QAAQ,EACR,GAAG,OAAO,EACoC,EAAiC,EAAE;IACjF,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;IAC1E,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;IAC1B,MAAM,CAAC,OAAO,GAAG,GAAG,CAAA;IACpB,MAAM,mBAAmB,GAAG,WAAW,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,CAAA;IACpE,MAAM,KAAK,GAAG,QAAQ,CAAC;QACrB,GAAG,OAAO;QACV,QAAQ,EAAE,GAAG;QACb,OAAO,EAAE,OAAO;KACjB,CAAC,CAAA;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,mBAAmB;YAAE,OAAM;QAEhC,OAAO,QAAQ,CAAC,SAAS,CACvB,QAAQ,EACR,GAAG,EAAE;YACH,KAAK,WAAW,CAAC,iBAAiB,CAAC;gBACjC,QAAQ,EAAE,MAAM,CAAC,OAAO;gBACxB,KAAK,EAAE,IAAI;aACZ,CAAC,CAAA;QACJ,CAAC,EACD,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,CACjD,CAAA;IACH,CAAC,EAAE,CAAC,gBAAgB,EAAE,WAAW,EAAE,QAAQ,EAAE,mBAAmB,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAA;IAE5F,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { CollaborationPresenceOutput } from '@rakun-kit/core/client';
|
|
3
|
+
export declare const SAVED_STATE_VECTOR_KEY = "rakun-saved-state-vector";
|
|
4
|
+
export type ContentCollaborationStatus = 'connecting' | 'synced' | 'unsaved' | 'offline' | 'error';
|
|
5
|
+
type ContentCollaborationContextValue = {
|
|
6
|
+
documentId: string;
|
|
7
|
+
contentType: string;
|
|
8
|
+
status: ContentCollaborationStatus;
|
|
9
|
+
clientId: string;
|
|
10
|
+
presence: CollaborationPresenceOutput[];
|
|
11
|
+
discardChanges: () => Promise<void>;
|
|
12
|
+
flush: () => Promise<void>;
|
|
13
|
+
setFieldState: (fieldId: string, value: unknown) => void;
|
|
14
|
+
setSavedStateVector: (value: string, sourceRevision?: string | number) => void;
|
|
15
|
+
};
|
|
16
|
+
export declare const CollaborativeFormScope: ({ children, enabled, rootId, }: {
|
|
17
|
+
children: ReactNode;
|
|
18
|
+
enabled: boolean;
|
|
19
|
+
rootId: string;
|
|
20
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export declare const useCollaborativeFieldBridge: () => (fieldId: string, value: unknown) => void;
|
|
22
|
+
export declare const useContentCollaboration: () => ContentCollaborationContextValue | null;
|
|
23
|
+
type CollaborationProviderProps = {
|
|
24
|
+
children: (state: {
|
|
25
|
+
data: Record<string, unknown>;
|
|
26
|
+
error: Error | null;
|
|
27
|
+
ready: boolean;
|
|
28
|
+
revision: number;
|
|
29
|
+
}) => ReactNode;
|
|
30
|
+
contentType: string;
|
|
31
|
+
documentId?: string;
|
|
32
|
+
fieldRootId: string;
|
|
33
|
+
initialData: Record<string, unknown>;
|
|
34
|
+
resource: 'content' | 'template';
|
|
35
|
+
sourceRevision?: string | number;
|
|
36
|
+
};
|
|
37
|
+
export declare const ContentCollaborationProvider: ({ children, contentType, documentId, initialData, }: Omit<CollaborationProviderProps, "fieldRootId" | "resource"> & {
|
|
38
|
+
documentId: string;
|
|
39
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
40
|
+
export declare const TemplateCollaborationProvider: ({ children, contentType, fieldRootId, initialData, sourceRevision, }: Omit<CollaborationProviderProps, "documentId" | "resource">) => import("react/jsx-runtime").JSX.Element;
|
|
41
|
+
export {};
|
|
42
|
+
//# sourceMappingURL=ContentCollaborationProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContentCollaborationProvider.d.ts","sourceRoot":"","sources":["../../../src/collaboration/ContentCollaborationProvider.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAA;AAkBzE,eAAO,MAAM,sBAAsB,6BAA6B,CAAA;AAiFhE,MAAM,MAAM,0BAA0B,GAClC,YAAY,GACZ,QAAQ,GACR,SAAS,GACT,SAAS,GACT,OAAO,CAAA;AAEX,KAAK,gCAAgC,GAAG;IACtC,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,0BAA0B,CAAA;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,2BAA2B,EAAE,CAAA;IACvC,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACnC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1B,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IACxD,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAA;CAC/E,CAAA;AAaD,eAAO,MAAM,sBAAsB,GAAI,gCAIpC;IACD,QAAQ,EAAE,SAAS,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;CACf,4CAIA,CAAA;AAED,eAAO,MAAM,2BAA2B,kBAK1B,MAAM,SAAS,OAAO,SAMnC,CAAA;AAED,eAAO,MAAM,uBAAuB,+CAAgD,CAAA;AAEpF,KAAK,0BAA0B,GAAG;IAChC,QAAQ,EAAE,CAAC,KAAK,EAAE;QAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC7B,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;QACnB,KAAK,EAAE,OAAO,CAAA;QACd,QAAQ,EAAE,MAAM,CAAA;KACjB,KAAK,SAAS,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpC,QAAQ,EAAE,SAAS,GAAG,UAAU,CAAA;IAChC,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACjC,CAAA;AA+bD,eAAO,MAAM,4BAA4B,GAAI,qDAK1C,IAAI,CAAC,0BAA0B,EAAE,aAAa,GAAG,UAAU,CAAC,GAAG;IAChE,UAAU,EAAE,MAAM,CAAA;CACnB,4CAeA,CAAA;AAED,eAAO,MAAM,6BAA6B,GAAI,sEAM3C,IAAI,CAAC,0BAA0B,EAAE,YAAY,GAAG,UAAU,CAAC,4CAU7D,CAAA"}
|