@pantheon-systems/puck-css 0.8.0 → 0.10.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 +87 -0
- package/dist/agent/useAgentEdit.d.ts.map +1 -1
- package/dist/agent/useAgentEdit.js.map +1 -1
- package/dist/agent/useAgentTrigger.d.ts.map +1 -1
- package/dist/agent/useAgentTrigger.js.map +1 -1
- package/dist/auth/AuthGate.d.ts +1 -1
- package/dist/auth/AuthGate.d.ts.map +1 -1
- package/dist/auth/P1AuthProvider.d.ts.map +1 -1
- package/dist/auth/P1AuthProvider.js +52 -1
- package/dist/auth/P1AuthProvider.js.map +1 -1
- package/dist/collaboration/components/CollaboratorAvatars.d.ts.map +1 -1
- package/dist/collaboration/components/CollaboratorAvatars.js +1 -1
- package/dist/collaboration/components/CollaboratorAvatars.js.map +1 -1
- package/dist/collaboration/utils/avatarColor.d.ts +2 -8
- package/dist/collaboration/utils/avatarColor.d.ts.map +1 -1
- package/dist/collaboration/utils/avatarColor.js +4 -31
- package/dist/collaboration/utils/avatarColor.js.map +1 -1
- package/dist/collaboration/utils/focusHighlightConfig.d.ts.map +1 -1
- package/dist/collaboration/utils/focusHighlightConfig.js.map +1 -1
- package/dist/collaboration/utils/initials.d.ts +2 -0
- package/dist/collaboration/utils/initials.d.ts.map +1 -0
- package/dist/collaboration/utils/initials.js +27 -0
- package/dist/collaboration/utils/initials.js.map +1 -0
- package/dist/collaboration/utils/presenceIdentity.d.ts +29 -0
- package/dist/collaboration/utils/presenceIdentity.d.ts.map +1 -0
- package/dist/collaboration/utils/presenceIdentity.js +42 -0
- package/dist/collaboration/utils/presenceIdentity.js.map +1 -0
- package/dist/core/PuckConfigContext.d.ts +7 -0
- package/dist/core/PuckConfigContext.d.ts.map +1 -0
- package/dist/core/PuckConfigContext.js +11 -0
- package/dist/core/PuckConfigContext.js.map +1 -0
- package/dist/core/config.d.ts +1 -1
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js.map +1 -1
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -0
- package/dist/core/index.js.map +1 -1
- package/dist/core/types.d.ts +36 -3
- package/dist/core/types.d.ts.map +1 -1
- package/dist/data/collection-operators.d.ts +19 -0
- package/dist/data/collection-operators.d.ts.map +1 -0
- package/dist/data/collection-operators.js +97 -0
- package/dist/data/collection-operators.js.map +1 -0
- package/dist/data/css-queries/css-query-registry.d.ts +11 -0
- package/dist/data/css-queries/css-query-registry.d.ts.map +1 -0
- package/dist/data/css-queries/css-query-registry.js +30 -0
- package/dist/data/css-queries/css-query-registry.js.map +1 -0
- package/dist/data/dal/index.d.ts +1 -1
- package/dist/data/dal/index.d.ts.map +1 -1
- package/dist/data/dal/init.d.ts +5 -0
- package/dist/data/dal/init.d.ts.map +1 -1
- package/dist/data/dal/init.js +31 -4
- package/dist/data/dal/init.js.map +1 -1
- package/dist/data/dal/p1-store.d.ts +23 -0
- package/dist/data/dal/p1-store.d.ts.map +1 -1
- package/dist/data/dal/p1-store.js.map +1 -1
- package/dist/data/data-list-block/DataListFieldsGrouper.d.ts +7 -0
- package/dist/data/data-list-block/DataListFieldsGrouper.d.ts.map +1 -0
- package/dist/data/data-list-block/DataListFieldsGrouper.js +72 -0
- package/dist/data/data-list-block/DataListFieldsGrouper.js.map +1 -0
- package/dist/data/data-list-block/builtin-components/cards.d.ts +8 -0
- package/dist/data/data-list-block/builtin-components/cards.d.ts.map +1 -0
- package/dist/data/data-list-block/builtin-components/cards.js +35 -0
- package/dist/data/data-list-block/builtin-components/cards.js.map +1 -0
- package/dist/data/data-list-block/builtin-components/listing.d.ts +8 -0
- package/dist/data/data-list-block/builtin-components/listing.d.ts.map +1 -0
- package/dist/data/data-list-block/builtin-components/listing.js +11 -0
- package/dist/data/data-list-block/builtin-components/listing.js.map +1 -0
- package/dist/data/data-list-block/builtin-components/rows.d.ts +8 -0
- package/dist/data/data-list-block/builtin-components/rows.d.ts.map +1 -0
- package/dist/data/data-list-block/builtin-components/rows.js +9 -0
- package/dist/data/data-list-block/builtin-components/rows.js.map +1 -0
- package/dist/data/data-list-block/builtin-modes.d.ts +3 -0
- package/dist/data/data-list-block/builtin-modes.d.ts.map +1 -0
- package/dist/data/data-list-block/builtin-modes.js +53 -0
- package/dist/data/data-list-block/builtin-modes.js.map +1 -0
- package/dist/data/data-list-block/create-data-list-block.d.ts +3 -0
- package/dist/data/data-list-block/create-data-list-block.d.ts.map +1 -0
- package/dist/data/data-list-block/create-data-list-block.js +305 -0
- package/dist/data/data-list-block/create-data-list-block.js.map +1 -0
- package/dist/data/data-list-block/field-groups.d.ts +4 -0
- package/dist/data/data-list-block/field-groups.d.ts.map +1 -0
- package/dist/data/data-list-block/field-groups.js +28 -0
- package/dist/data/data-list-block/field-groups.js.map +1 -0
- package/dist/data/data-list-block/index.d.ts +8 -0
- package/dist/data/data-list-block/index.d.ts.map +1 -0
- package/dist/data/data-list-block/index.js +7 -0
- package/dist/data/data-list-block/index.js.map +1 -0
- package/dist/data/data-list-block/types.d.ts +53 -0
- package/dist/data/data-list-block/types.d.ts.map +1 -0
- package/dist/data/data-list-block/types.js +2 -0
- package/dist/data/data-list-block/types.js.map +1 -0
- package/dist/data/data-list-block/utils.d.ts +14 -0
- package/dist/data/data-list-block/utils.d.ts.map +1 -0
- package/dist/data/data-list-block/utils.js +65 -0
- package/dist/data/data-list-block/utils.js.map +1 -0
- package/dist/data/fields/datasource-select-field.d.ts +29 -0
- package/dist/data/fields/datasource-select-field.d.ts.map +1 -0
- package/dist/data/fields/datasource-select-field.js +40 -0
- package/dist/data/fields/datasource-select-field.js.map +1 -0
- package/dist/data/fields/field-section.d.ts +11 -0
- package/dist/data/fields/field-section.d.ts.map +1 -0
- package/dist/data/fields/field-section.js +6 -0
- package/dist/data/fields/field-section.js.map +1 -0
- package/dist/data/fields/image-position-field.d.ts +28 -0
- package/dist/data/fields/image-position-field.d.ts.map +1 -0
- package/dist/data/fields/image-position-field.js +69 -0
- package/dist/data/fields/image-position-field.js.map +1 -0
- package/dist/data/fields/pds-field-helpers.d.ts +34 -0
- package/dist/data/fields/pds-field-helpers.d.ts.map +1 -0
- package/dist/data/fields/pds-field-helpers.js +55 -0
- package/dist/data/fields/pds-field-helpers.js.map +1 -0
- package/dist/data/fields/schema-select-field.d.ts +32 -0
- package/dist/data/fields/schema-select-field.d.ts.map +1 -0
- package/dist/data/fields/schema-select-field.js +134 -0
- package/dist/data/fields/schema-select-field.js.map +1 -0
- package/dist/data/fields/template-select-field.d.ts +16 -0
- package/dist/data/fields/template-select-field.d.ts.map +1 -0
- package/dist/data/fields/template-select-field.js +31 -0
- package/dist/data/fields/template-select-field.js.map +1 -0
- package/dist/data/fields/view-mode-field.d.ts +21 -0
- package/dist/data/fields/view-mode-field.d.ts.map +1 -0
- package/dist/data/fields/view-mode-field.js +14 -0
- package/dist/data/fields/view-mode-field.js.map +1 -0
- package/dist/data/fields.d.ts +12 -0
- package/dist/data/fields.d.ts.map +1 -1
- package/dist/data/fields.js +10 -0
- package/dist/data/fields.js.map +1 -1
- package/dist/data/page-editor-meta.d.ts.map +1 -1
- package/dist/data/page-editor-meta.js +0 -1
- package/dist/data/page-editor-meta.js.map +1 -1
- package/dist/data/query-provider.d.ts +1 -1
- package/dist/data/query-provider.d.ts.map +1 -1
- package/dist/data/remote-datasources/fetch-http-json.d.ts.map +1 -1
- package/dist/data/remote-datasources/fetch-http-json.js.map +1 -1
- package/dist/data/remote-datasources/loader.d.ts.map +1 -1
- package/dist/data/remote-datasources/loader.js +3 -1
- package/dist/data/remote-datasources/loader.js.map +1 -1
- package/dist/data/resolve-data-templates.d.ts.map +1 -1
- package/dist/data/resolve-data-templates.js +31 -4
- package/dist/data/resolve-data-templates.js.map +1 -1
- package/dist/data/schema-heuristics.d.ts +5 -0
- package/dist/data/schema-heuristics.d.ts.map +1 -0
- package/dist/data/schema-heuristics.js +46 -0
- package/dist/data/schema-heuristics.js.map +1 -0
- package/dist/editor/P1App.d.ts.map +1 -1
- package/dist/editor/P1App.js +1 -1
- package/dist/editor/P1App.js.map +1 -1
- package/dist/editor/P1PuckProvider.d.ts.map +1 -1
- package/dist/editor/P1PuckProvider.js +170 -41
- package/dist/editor/P1PuckProvider.js.map +1 -1
- package/dist/editor/aiPanelStore.d.ts +15 -0
- package/dist/editor/aiPanelStore.d.ts.map +1 -0
- package/dist/editor/aiPanelStore.js +43 -0
- package/dist/editor/aiPanelStore.js.map +1 -0
- package/dist/editor/components/CollapsibleFieldSection.d.ts +10 -0
- package/dist/editor/components/CollapsibleFieldSection.d.ts.map +1 -0
- package/dist/editor/components/CollapsibleFieldSection.js +9 -0
- package/dist/editor/components/CollapsibleFieldSection.js.map +1 -0
- package/dist/editor/components/CollapsibleSection.module.css +70 -0
- package/dist/editor/components/CollapsibleSectionHeader.d.ts +20 -0
- package/dist/editor/components/CollapsibleSectionHeader.d.ts.map +1 -0
- package/dist/editor/components/CollapsibleSectionHeader.js +10 -0
- package/dist/editor/components/CollapsibleSectionHeader.js.map +1 -0
- package/dist/editor/components/DraggableRow.d.ts +13 -0
- package/dist/editor/components/DraggableRow.d.ts.map +1 -0
- package/dist/editor/components/DraggableRow.js +20 -0
- package/dist/editor/components/DraggableRow.js.map +1 -0
- package/dist/editor/components/FieldHelpText.d.ts +6 -0
- package/dist/editor/components/FieldHelpText.d.ts.map +1 -0
- package/dist/editor/components/FieldHelpText.js +6 -0
- package/dist/editor/components/FieldHelpText.js.map +1 -0
- package/dist/editor/components/FieldHelpText.module.css +13 -0
- package/dist/editor/components/InspectorTabHeader.js +1 -1
- package/dist/editor/components/InspectorTabHeader.js.map +1 -1
- package/dist/editor/components/OutlinePanel.d.ts +10 -0
- package/dist/editor/components/OutlinePanel.d.ts.map +1 -0
- package/dist/editor/components/OutlinePanel.js +64 -0
- package/dist/editor/components/OutlinePanel.js.map +1 -0
- package/dist/editor/components/OutlinePanel.module.css +111 -0
- package/dist/editor/components/P1InspectorFields.d.ts.map +1 -1
- package/dist/editor/components/P1InspectorFields.js +24 -5
- package/dist/editor/components/P1InspectorFields.js.map +1 -1
- package/dist/editor/components/PanelHeader.d.ts +25 -0
- package/dist/editor/components/PanelHeader.d.ts.map +1 -0
- package/dist/editor/components/PanelHeader.js +12 -0
- package/dist/editor/components/PanelHeader.js.map +1 -0
- package/dist/editor/components/PanelHeader.module.css +34 -0
- package/dist/editor/components/PanelShell.d.ts +10 -0
- package/dist/editor/components/PanelShell.d.ts.map +1 -0
- package/dist/editor/components/PanelShell.js +7 -0
- package/dist/editor/components/PanelShell.js.map +1 -0
- package/dist/editor/components/PanelShell.module.css +15 -0
- package/dist/editor/components/PreviewPanelOverlay.d.ts +12 -0
- package/dist/editor/components/PreviewPanelOverlay.d.ts.map +1 -0
- package/dist/editor/components/PreviewPanelOverlay.js +7 -0
- package/dist/editor/components/PreviewPanelOverlay.js.map +1 -0
- package/dist/editor/components/PublishedStatusBadge.d.ts +1 -1
- package/dist/editor/components/PublishedStatusBadge.d.ts.map +1 -1
- package/dist/editor/components/VersionBannerOverride.d.ts +5 -1
- package/dist/editor/components/VersionBannerOverride.d.ts.map +1 -1
- package/dist/editor/components/VersionBannerOverride.js +54 -5
- package/dist/editor/components/VersionBannerOverride.js.map +1 -1
- package/dist/editor/components/VersionTimeline.d.ts +20 -0
- package/dist/editor/components/VersionTimeline.d.ts.map +1 -0
- package/dist/editor/components/VersionTimeline.js +42 -0
- package/dist/editor/components/VersionTimeline.js.map +1 -0
- package/dist/editor/components/collapsibleSectionContext.d.ts +17 -0
- package/dist/editor/components/collapsibleSectionContext.d.ts.map +1 -0
- package/dist/editor/components/collapsibleSectionContext.js +13 -0
- package/dist/editor/components/collapsibleSectionContext.js.map +1 -0
- package/dist/editor/components/componentIconName.d.ts +15 -0
- package/dist/editor/components/componentIconName.d.ts.map +1 -0
- package/dist/editor/components/componentIconName.js +68 -0
- package/dist/editor/components/componentIconName.js.map +1 -0
- package/dist/editor/components/connectable.d.ts +1 -1
- package/dist/editor/components/connectable.d.ts.map +1 -1
- package/dist/editor/components/merge-preview/MergePreviewPanel.d.ts.map +1 -1
- package/dist/editor/components/merge-preview/MergePreviewPanel.js.map +1 -1
- package/dist/editor/components/merge-preview/MergePreviewRenderer.js +3 -15
- package/dist/editor/components/merge-preview/MergePreviewRenderer.js.map +1 -1
- package/dist/editor/components/outlineTree.d.ts +68 -0
- package/dist/editor/components/outlineTree.d.ts.map +1 -0
- package/dist/editor/components/outlineTree.js +72 -0
- package/dist/editor/components/outlineTree.js.map +1 -0
- package/dist/editor/components/useDragReorder.d.ts +16 -0
- package/dist/editor/components/useDragReorder.d.ts.map +1 -0
- package/dist/editor/components/useDragReorder.js +35 -0
- package/dist/editor/components/useDragReorder.js.map +1 -0
- package/dist/editor/index.d.ts +13 -0
- package/dist/editor/index.d.ts.map +1 -1
- package/dist/editor/index.js +8 -0
- package/dist/editor/index.js.map +1 -1
- package/dist/editor/plugin/P1Plugin.d.ts +19 -3
- package/dist/editor/plugin/P1Plugin.d.ts.map +1 -1
- package/dist/editor/plugin/P1Plugin.js +121 -98
- package/dist/editor/plugin/P1Plugin.js.map +1 -1
- package/dist/editor/plugin/context-sync-key.d.ts.map +1 -1
- package/dist/editor/plugin/context-sync-key.js +5 -5
- package/dist/editor/plugin/context-sync-key.js.map +1 -1
- package/dist/editor/plugin/createP1Overrides.d.ts +31 -43
- package/dist/editor/plugin/createP1Overrides.d.ts.map +1 -1
- package/dist/editor/plugin/createP1Overrides.js +47 -43
- package/dist/editor/plugin/createP1Overrides.js.map +1 -1
- package/dist/editor/plugin/document-sync-plugin.d.ts +23 -5
- package/dist/editor/plugin/document-sync-plugin.d.ts.map +1 -1
- package/dist/editor/plugin/document-sync-plugin.js +13 -6
- package/dist/editor/plugin/document-sync-plugin.js.map +1 -1
- package/dist/editor/plugin/fieldGuidance.d.ts +45 -0
- package/dist/editor/plugin/fieldGuidance.d.ts.map +1 -0
- package/dist/editor/plugin/fieldGuidance.js +24 -0
- package/dist/editor/plugin/fieldGuidance.js.map +1 -0
- package/dist/editor/plugin/mergePreviewPlugin.d.ts.map +1 -1
- package/dist/editor/plugin/mergePreviewPlugin.js.map +1 -1
- package/dist/editor/plugin/selectHeaderCollaborators.d.ts +12 -0
- package/dist/editor/plugin/selectHeaderCollaborators.d.ts.map +1 -0
- package/dist/editor/plugin/selectHeaderCollaborators.js +15 -0
- package/dist/editor/plugin/selectHeaderCollaborators.js.map +1 -0
- package/dist/editor/thumbnails/LiveThumbnail.d.ts +47 -0
- package/dist/editor/thumbnails/LiveThumbnail.d.ts.map +1 -0
- package/dist/editor/thumbnails/LiveThumbnail.js +120 -0
- package/dist/editor/thumbnails/LiveThumbnail.js.map +1 -0
- package/dist/editor/thumbnails/ThumbnailCard.d.ts +37 -0
- package/dist/editor/thumbnails/ThumbnailCard.d.ts.map +1 -0
- package/dist/editor/thumbnails/ThumbnailCard.js +91 -0
- package/dist/editor/thumbnails/ThumbnailCard.js.map +1 -0
- package/dist/editor/thumbnails/buildLiveThumbnailDrawer.d.ts +33 -0
- package/dist/editor/thumbnails/buildLiveThumbnailDrawer.d.ts.map +1 -0
- package/dist/editor/thumbnails/buildLiveThumbnailDrawer.js +79 -0
- package/dist/editor/thumbnails/buildLiveThumbnailDrawer.js.map +1 -0
- package/dist/editor/thumbnails/humanizeComponentName.d.ts +18 -0
- package/dist/editor/thumbnails/humanizeComponentName.d.ts.map +1 -0
- package/dist/editor/thumbnails/humanizeComponentName.js +32 -0
- package/dist/editor/thumbnails/humanizeComponentName.js.map +1 -0
- package/dist/editor/thumbnails/resolveLiveThumbnailDrawer.d.ts +15 -0
- package/dist/editor/thumbnails/resolveLiveThumbnailDrawer.d.ts.map +1 -0
- package/dist/editor/thumbnails/resolveLiveThumbnailDrawer.js +19 -0
- package/dist/editor/thumbnails/resolveLiveThumbnailDrawer.js.map +1 -0
- package/dist/editor/thumbnails/thumbnailCache.d.ts +39 -0
- package/dist/editor/thumbnails/thumbnailCache.d.ts.map +1 -0
- package/dist/editor/thumbnails/thumbnailCache.js +97 -0
- package/dist/editor/thumbnails/thumbnailCache.js.map +1 -0
- package/dist/editor/useP1Editor.d.ts +14 -4
- package/dist/editor/useP1Editor.d.ts.map +1 -1
- package/dist/editor/useP1Editor.js +81 -37
- package/dist/editor/useP1Editor.js.map +1 -1
- package/dist/editor/useP1Overrides.d.ts +1 -1
- package/dist/editor/useP1Overrides.d.ts.map +1 -1
- package/dist/editor/useP1Overrides.js.map +1 -1
- package/dist/editor/useP1Plugin.d.ts +15 -3
- package/dist/editor/useP1Plugin.d.ts.map +1 -1
- package/dist/editor/useP1Plugin.js +4 -0
- package/dist/editor/useP1Plugin.js.map +1 -1
- package/dist/editor/useRealtime.d.ts +2 -2
- package/dist/editor/useRealtime.d.ts.map +1 -1
- package/dist/editor/useRealtime.js.map +1 -1
- package/dist/editor/useResponsivePanels.d.ts +29 -0
- package/dist/editor/useResponsivePanels.d.ts.map +1 -0
- package/dist/editor/useResponsivePanels.js +175 -0
- package/dist/editor/useResponsivePanels.js.map +1 -0
- package/dist/editor/useSidebarScrollPreservation.d.ts +10 -0
- package/dist/editor/useSidebarScrollPreservation.d.ts.map +1 -0
- package/dist/editor/useSidebarScrollPreservation.js +39 -0
- package/dist/editor/useSidebarScrollPreservation.js.map +1 -0
- package/dist/editor/utils/componentRegistry.d.ts +4 -4
- package/dist/editor/utils/componentRegistry.d.ts.map +1 -1
- package/dist/editor/utils/componentRegistry.js +0 -1
- package/dist/editor/utils/componentRegistry.js.map +1 -1
- package/dist/editor/utils/restoreDocumentVersion.d.ts +18 -0
- package/dist/editor/utils/restoreDocumentVersion.d.ts.map +1 -0
- package/dist/editor/utils/restoreDocumentVersion.js +49 -0
- package/dist/editor/utils/restoreDocumentVersion.js.map +1 -0
- package/dist/editor/utils/sanitizeRichtextDefaults.d.ts +22 -0
- package/dist/editor/utils/sanitizeRichtextDefaults.d.ts.map +1 -0
- package/dist/editor/utils/sanitizeRichtextDefaults.js +98 -0
- package/dist/editor/utils/sanitizeRichtextDefaults.js.map +1 -0
- package/dist/features/content-type-templates/permissions/createPuckPermissions.d.ts +1 -3
- package/dist/features/content-type-templates/permissions/createPuckPermissions.d.ts.map +1 -1
- package/dist/features/content-type-templates/permissions/createPuckPermissions.js.map +1 -1
- package/dist/features/content-type-templates/stores/template-store-api.d.ts.map +1 -1
- package/dist/features/content-type-templates/ui/ActionBarPinButton.d.ts.map +1 -1
- package/dist/features/content-type-templates/ui/ActionBarPinButton.js +1 -1
- package/dist/features/content-type-templates/ui/ActionBarPinButton.js.map +1 -1
- package/dist/index.d.ts +14 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -1
- package/dist/index.js.map +1 -1
- package/dist/merge/components/merge-resolution/CherryPickVisualPanel.js +1 -3
- package/dist/merge/components/merge-resolution/CherryPickVisualPanel.js.map +1 -1
- package/dist/merge/components/merge-resolution/DocumentResolutionDetail.js +2 -2
- package/dist/merge/components/merge-resolution/DocumentResolutionDetail.js.map +1 -1
- package/dist/p1/editor/client.d.ts +1 -5
- package/dist/p1/editor/client.d.ts.map +1 -1
- package/dist/p1/editor/client.js +11 -12
- package/dist/p1/editor/client.js.map +1 -1
- package/dist/p1/editor/connect/connect-field-modal.d.ts +1 -1
- package/dist/p1/editor/connect/connect-field-modal.d.ts.map +1 -1
- package/dist/p1/editor/connect/connect-field-modal.js +1 -1
- package/dist/p1/editor/connect/connect-field-modal.js.map +1 -1
- package/dist/p1/editor/connect/connect-preview-config.d.ts +1 -1
- package/dist/p1/editor/connect/connect-preview-config.d.ts.map +1 -1
- package/dist/p1/editor/connect/field-connect-plugin.js +1 -1
- package/dist/p1/editor/connect/field-connect-plugin.js.map +1 -1
- package/dist/p1/editor/editor-preview-resolve.d.ts +15 -4
- package/dist/p1/editor/editor-preview-resolve.d.ts.map +1 -1
- package/dist/p1/editor/editor-preview-resolve.js +30 -8
- package/dist/p1/editor/editor-preview-resolve.js.map +1 -1
- package/dist/p1/editor/hooks/api-hooks.d.ts +4 -4
- package/dist/p1/editor/hooks/api-hooks.d.ts.map +1 -1
- package/dist/p1/editor/hooks/api-hooks.js +57 -30
- package/dist/p1/editor/hooks/api-hooks.js.map +1 -1
- package/dist/p1/editor/hooks/index.d.ts +1 -0
- package/dist/p1/editor/hooks/index.d.ts.map +1 -1
- package/dist/p1/editor/hooks/index.js +1 -0
- package/dist/p1/editor/hooks/index.js.map +1 -1
- package/dist/p1/editor/hooks/useEditorContext.d.ts +1 -1
- package/dist/p1/editor/hooks/useEditorContext.d.ts.map +1 -1
- package/dist/p1/editor/hooks/useEditorContext.js +12 -3
- package/dist/p1/editor/hooks/useEditorContext.js.map +1 -1
- package/dist/p1/editor/hooks/useLiveRemoteDatasources.d.ts +31 -0
- package/dist/p1/editor/hooks/useLiveRemoteDatasources.d.ts.map +1 -0
- package/dist/p1/editor/hooks/useLiveRemoteDatasources.js +45 -0
- package/dist/p1/editor/hooks/useLiveRemoteDatasources.js.map +1 -0
- package/dist/p1/editor/hooks/useP1Plugins.d.ts.map +1 -1
- package/dist/p1/editor/hooks/useP1Plugins.js +6 -12
- package/dist/p1/editor/hooks/useP1Plugins.js.map +1 -1
- package/dist/p1/editor/icons/button-block-icon.d.ts +1 -1
- package/dist/p1/editor/icons/button-block-icon.d.ts.map +1 -1
- package/dist/p1/editor/icons/data-list-block-icon.d.ts +2 -0
- package/dist/p1/editor/icons/data-list-block-icon.d.ts.map +1 -0
- package/dist/p1/editor/icons/data-list-block-icon.js +5 -0
- package/dist/p1/editor/icons/data-list-block-icon.js.map +1 -0
- package/dist/p1/editor/icons/default-block-icon.d.ts +1 -1
- package/dist/p1/editor/icons/default-block-icon.d.ts.map +1 -1
- package/dist/p1/editor/icons/divider-block-icon.d.ts +1 -1
- package/dist/p1/editor/icons/divider-block-icon.d.ts.map +1 -1
- package/dist/p1/editor/icons/grid-block-icon.d.ts +1 -1
- package/dist/p1/editor/icons/grid-block-icon.d.ts.map +1 -1
- package/dist/p1/editor/icons/heading-block-icon.d.ts +1 -1
- package/dist/p1/editor/icons/heading-block-icon.d.ts.map +1 -1
- package/dist/p1/editor/icons/image-block-icon.d.ts +1 -1
- package/dist/p1/editor/icons/image-block-icon.d.ts.map +1 -1
- package/dist/p1/editor/icons/list-block-icon.d.ts +1 -1
- package/dist/p1/editor/icons/list-block-icon.d.ts.map +1 -1
- package/dist/p1/editor/icons/paragraph-block-icon.d.ts +1 -1
- package/dist/p1/editor/icons/paragraph-block-icon.d.ts.map +1 -1
- package/dist/p1/editor/icons/quote-block-icon.d.ts +1 -1
- package/dist/p1/editor/icons/quote-block-icon.d.ts.map +1 -1
- package/dist/p1/editor/icons/spacer-block-icon.d.ts +1 -1
- package/dist/p1/editor/icons/spacer-block-icon.d.ts.map +1 -1
- package/dist/p1/editor/index.d.ts +1 -1
- package/dist/p1/editor/index.d.ts.map +1 -1
- package/dist/p1/editor/index.js +1 -1
- package/dist/p1/editor/index.js.map +1 -1
- package/dist/p1/editor/remote-datasources/remote-datasource-explorer-plugin.d.ts +6 -7
- package/dist/p1/editor/remote-datasources/remote-datasource-explorer-plugin.d.ts.map +1 -1
- package/dist/p1/editor/remote-datasources/remote-datasource-explorer-plugin.js +77 -73
- package/dist/p1/editor/remote-datasources/remote-datasource-explorer-plugin.js.map +1 -1
- package/dist/p1/editor/remote-datasources/remote-datasource-form-helpers.d.ts +4 -4
- package/dist/p1/editor/remote-datasources/remote-datasource-form-helpers.d.ts.map +1 -1
- package/dist/p1/editor/remote-datasources/remote-datasource-form-helpers.js.map +1 -1
- package/dist/p1/editor/remote-datasources/remote-datasource-manager.d.ts +1 -1
- package/dist/p1/editor/remote-datasources/remote-datasource-manager.d.ts.map +1 -1
- package/dist/p1/editor/remote-datasources/remote-datasource-manager.js +1 -1
- package/dist/p1/editor/remote-datasources/remote-datasource-manager.js.map +1 -1
- package/dist/p1/editor/remote-datasources/template-preview-params-toolbar.d.ts +1 -1
- package/dist/p1/editor/remote-datasources/template-preview-params-toolbar.d.ts.map +1 -1
- package/dist/p1/editor/remote-datasources/template-preview-params-toolbar.js +1 -1
- package/dist/p1/editor/remote-datasources/template-preview-params-toolbar.js.map +1 -1
- package/dist/p1/editor/template-autocomplete-layer.d.ts +2 -2
- package/dist/p1/editor/template-autocomplete-layer.d.ts.map +1 -1
- package/dist/p1/editor/template-autocomplete-layer.js +23 -3
- package/dist/p1/editor/template-autocomplete-layer.js.map +1 -1
- package/dist/p1/pages/render-client.d.ts +1 -1
- package/dist/p1/pages/render-client.d.ts.map +1 -1
- package/dist/p1/pages/render-client.js +2 -1
- package/dist/p1/pages/render-client.js.map +1 -1
- package/dist/pds/components/AgentChip.d.ts.map +1 -1
- package/dist/pds/components/AgentChip.js +1 -2
- package/dist/pds/components/AgentChip.js.map +1 -1
- package/dist/pds/components/CreatePageModal.d.ts +10 -1
- package/dist/pds/components/CreatePageModal.d.ts.map +1 -1
- package/dist/pds/components/CreatePageModal.js +29 -9
- package/dist/pds/components/CreatePageModal.js.map +1 -1
- package/dist/pds/components/CreatePageModal.module.css +34 -0
- package/dist/pds/components/DocStateBadge.d.ts +1 -1
- package/dist/pds/components/DocStateBadge.d.ts.map +1 -1
- package/dist/pds/components/DocStateBadge.js +1 -1
- package/dist/pds/components/DocStateBadge.js.map +1 -1
- package/dist/pds/components/NavIcon.js +1 -1
- package/dist/pds/components/NavIcon.js.map +1 -1
- package/dist/pds/components/P1EditorHeader.d.ts +10 -2
- package/dist/pds/components/P1EditorHeader.d.ts.map +1 -1
- package/dist/pds/components/P1EditorHeader.js +16 -7
- package/dist/pds/components/P1EditorHeader.js.map +1 -1
- package/dist/pds/components/P1EditorHeader.module.css +113 -35
- package/dist/pds/components/P1EditorSubheader.d.ts +1 -4
- package/dist/pds/components/P1EditorSubheader.d.ts.map +1 -1
- package/dist/pds/components/P1EditorSubheader.js +10 -21
- package/dist/pds/components/P1EditorSubheader.js.map +1 -1
- package/dist/pds/components/P1EditorSubheader.module.css +7 -5
- package/dist/pds/components/PageNavigator.d.ts.map +1 -1
- package/dist/pds/components/PageNavigator.js.map +1 -1
- package/dist/pds/components/PresenceStack.d.ts +6 -5
- package/dist/pds/components/PresenceStack.d.ts.map +1 -1
- package/dist/pds/components/PresenceStack.js +43 -4
- package/dist/pds/components/PresenceStack.js.map +1 -1
- package/dist/pds/components/PresenceStack.module.css +52 -7
- package/dist/pds/components/PublishControl.js +2 -2
- package/dist/pds/components/PublishControl.js.map +1 -1
- package/dist/pds/components/WorkstreamSwitcher.d.ts +7 -2
- package/dist/pds/components/WorkstreamSwitcher.d.ts.map +1 -1
- package/dist/pds/components/WorkstreamSwitcher.js +5 -3
- package/dist/pds/components/WorkstreamSwitcher.js.map +1 -1
- package/dist/server.d.ts +3 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +4 -1
- package/dist/server.js.map +1 -1
- package/dist/versioning/components/HistoricalVersionBanner.d.ts +19 -21
- package/dist/versioning/components/HistoricalVersionBanner.d.ts.map +1 -1
- package/dist/versioning/components/HistoricalVersionBanner.js +9 -21
- package/dist/versioning/components/HistoricalVersionBanner.js.map +1 -1
- package/dist/versioning/components/HistoricalVersionBanner.module.css +174 -0
- package/dist/versioning/components/VersionBannerActions.d.ts +15 -0
- package/dist/versioning/components/VersionBannerActions.d.ts.map +1 -0
- package/dist/versioning/components/VersionBannerActions.js +38 -0
- package/dist/versioning/components/VersionBannerActions.js.map +1 -0
- package/dist/versioning/components/VersionPublishedBadge.d.ts +1 -1
- package/dist/versioning/components/VersionPublishedBadge.d.ts.map +1 -1
- package/dist/versioning/components/version-compare/VisualVersionCompare.d.ts +2 -2
- package/dist/versioning/components/version-compare/VisualVersionCompare.d.ts.map +1 -1
- package/dist/versioning/utils/formatVersionDate.d.ts +15 -0
- package/dist/versioning/utils/formatVersionDate.d.ts.map +1 -0
- package/dist/versioning/utils/formatVersionDate.js +41 -0
- package/dist/versioning/utils/formatVersionDate.js.map +1 -0
- package/dist/versioning/utils/versionKind.d.ts +19 -0
- package/dist/versioning/utils/versionKind.d.ts.map +1 -0
- package/dist/versioning/utils/versionKind.js +30 -0
- package/dist/versioning/utils/versionKind.js.map +1 -0
- package/package.json +11 -7
- package/src/pds/theme/PuckEditorTheme.css +81 -0
- package/src/pds/theme/PuckEditorTheme.test.ts +50 -1
- package/src/styles.css +609 -84
|
@@ -1,14 +1,25 @@
|
|
|
1
1
|
import type { Config, Data, Plugin } from "@puckeditor/core";
|
|
2
|
-
|
|
2
|
+
interface PreviewResolvedState {
|
|
3
|
+
data: Data | null;
|
|
4
|
+
loading: boolean;
|
|
5
|
+
}
|
|
6
|
+
declare function useResolvedPreviewState(): PreviewResolvedState;
|
|
3
7
|
declare function mergeRootForPreview(props: Record<string, unknown>, resolved: Data | null, loading: boolean): Record<string, unknown>;
|
|
4
8
|
declare function mergeBlockForPreview(props: Record<string, unknown>, resolved: Data | null, loading: boolean): Record<string, unknown>;
|
|
5
9
|
/**
|
|
6
10
|
* Wraps root + component renders so the canvas can show resolved `pages[…]` / datasource strings
|
|
7
11
|
* while the document JSON in Puck state stays unchanged.
|
|
8
12
|
*/
|
|
9
|
-
export declare function wrapConfigForEditorPreview(
|
|
10
|
-
|
|
11
|
-
|
|
13
|
+
export declare function wrapConfigForEditorPreview(input: Config): Config;
|
|
14
|
+
/**
|
|
15
|
+
* Datasource context cannot be passed in by value: Puck holds the plugin array
|
|
16
|
+
* from the first mount, so anything captured here is frozen before the fetch
|
|
17
|
+
* that fills it settles. The boundary reads it live via useLiveRemoteDatasources.
|
|
18
|
+
*/
|
|
19
|
+
export declare function createPreviewResolvePlugin(options?: {
|
|
20
|
+
/** Document path used only outside a P1PuckProvider. */
|
|
21
|
+
editorPath?: string;
|
|
12
22
|
}): Plugin;
|
|
23
|
+
export { useResolvedPreviewState };
|
|
13
24
|
export { mergeBlockForPreview as _mergeBlockForPreview, mergeRootForPreview as _mergeRootForPreview };
|
|
14
25
|
//# sourceMappingURL=editor-preview-resolve.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor-preview-resolve.d.ts","sourceRoot":"","sources":["../../../src/p1/editor/editor-preview-resolve.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"editor-preview-resolve.d.ts","sourceRoot":"","sources":["../../../src/p1/editor/editor-preview-resolve.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAkB7D,UAAU,oBAAoB;IAC5B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAOD,iBAAS,uBAAuB,IAAI,oBAAoB,CAEvD;AAiDD,iBAAS,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,GAAG,IAAI,EAAE,OAAO,EAAE,OAAO,2BAYnG;AAED,iBAAS,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,GAAG,IAAI,EAAE,OAAO,EAAE,OAAO,2BAWpG;AA0BD;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAmChE;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,CAAC,EAAE;IACnD,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,MAAM,CAWT;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAC;AACnC,OAAO,EAAE,oBAAoB,IAAI,qBAAqB,EAAE,mBAAmB,IAAI,oBAAoB,EAAE,CAAC"}
|
|
@@ -4,7 +4,9 @@ import { createUsePuck } from "@puckeditor/core";
|
|
|
4
4
|
const usePuckStore = createUsePuck();
|
|
5
5
|
import { createContext, isValidElement, useContext, useMemo, } from "react";
|
|
6
6
|
import { getBlockPropsById } from "../../data/cross-reference";
|
|
7
|
+
import { sanitizeRichtextDefaults } from "../../editor/utils/sanitizeRichtextDefaults";
|
|
7
8
|
import { useResolvePreview } from "./hooks/api-hooks";
|
|
9
|
+
import { useLiveRemoteDatasources } from "./hooks/useLiveRemoteDatasources";
|
|
8
10
|
const PreviewResolvedContext = createContext({
|
|
9
11
|
data: null,
|
|
10
12
|
loading: false,
|
|
@@ -21,17 +23,26 @@ function shimmerUnresolvedTokens(props, loading) {
|
|
|
21
23
|
const result = { ...props };
|
|
22
24
|
for (const key of Object.keys(result)) {
|
|
23
25
|
const val = result[key];
|
|
24
|
-
if (typeof val
|
|
25
|
-
|
|
26
|
+
if (typeof val !== "string")
|
|
27
|
+
continue;
|
|
28
|
+
const replaced = val.replace(TEMPLATE_TOKEN_RE, (match) => {
|
|
29
|
+
const inner = match.slice(2, -2).trim();
|
|
30
|
+
if (inner === "item" || inner.startsWith("item."))
|
|
31
|
+
return match;
|
|
32
|
+
return SHIMMER_PLACEHOLDER;
|
|
33
|
+
});
|
|
34
|
+
if (replaced !== val) {
|
|
35
|
+
result[key] = replaced;
|
|
26
36
|
changed = true;
|
|
27
37
|
}
|
|
28
38
|
}
|
|
29
39
|
return changed ? result : props;
|
|
30
40
|
}
|
|
31
|
-
function PreviewResolveBoundary({ children,
|
|
41
|
+
function PreviewResolveBoundary({ children, initialPath, }) {
|
|
42
|
+
const { context, isLoading } = useLiveRemoteDatasources(initialPath);
|
|
32
43
|
const data = usePuckStore((s) => s.appState.data);
|
|
33
|
-
const { data: resolved } = useResolvePreview(data,
|
|
34
|
-
const state = useMemo(() => ({ data: resolved ?? null, loading:
|
|
44
|
+
const { data: resolved } = useResolvePreview(data, context);
|
|
45
|
+
const state = useMemo(() => ({ data: resolved ?? null, loading: isLoading }), [resolved, isLoading]);
|
|
35
46
|
return (_jsx(PreviewResolvedContext.Provider, { value: state, children: children }));
|
|
36
47
|
}
|
|
37
48
|
function mergeRootForPreview(props, resolved, loading) {
|
|
@@ -81,7 +92,12 @@ function PreviewMergeBlock({ Original, props, }) {
|
|
|
81
92
|
* Wraps root + component renders so the canvas can show resolved `pages[…]` / datasource strings
|
|
82
93
|
* while the document JSON in Puck state stays unchanged.
|
|
83
94
|
*/
|
|
84
|
-
export function wrapConfigForEditorPreview(
|
|
95
|
+
export function wrapConfigForEditorPreview(input) {
|
|
96
|
+
// An empty-string richtext default is fatal at render (see
|
|
97
|
+
// sanitizeRichtextDefaults), so strip those before anything else sees the
|
|
98
|
+
// config. Every P1 editor surface routes through here, so consumers get the
|
|
99
|
+
// guard without an app-side change.
|
|
100
|
+
const base = sanitizeRichtextDefaults(input);
|
|
85
101
|
const components = { ...base.components };
|
|
86
102
|
for (const key of Object.keys(components)) {
|
|
87
103
|
const c = components[key];
|
|
@@ -104,13 +120,19 @@ export function wrapConfigForEditorPreview(base) {
|
|
|
104
120
|
},
|
|
105
121
|
};
|
|
106
122
|
}
|
|
107
|
-
|
|
123
|
+
/**
|
|
124
|
+
* Datasource context cannot be passed in by value: Puck holds the plugin array
|
|
125
|
+
* from the first mount, so anything captured here is frozen before the fetch
|
|
126
|
+
* that fills it settles. The boundary reads it live via useLiveRemoteDatasources.
|
|
127
|
+
*/
|
|
128
|
+
export function createPreviewResolvePlugin(options) {
|
|
108
129
|
return {
|
|
109
130
|
name: "preview-resolve",
|
|
110
131
|
overrides: {
|
|
111
|
-
puck: ({ children }) => (_jsx(PreviewResolveBoundary, {
|
|
132
|
+
puck: ({ children }) => (_jsx(PreviewResolveBoundary, { initialPath: options?.editorPath ?? "", children: children })),
|
|
112
133
|
},
|
|
113
134
|
};
|
|
114
135
|
}
|
|
136
|
+
export { useResolvedPreviewState };
|
|
115
137
|
export { mergeBlockForPreview as _mergeBlockForPreview, mergeRootForPreview as _mergeRootForPreview };
|
|
116
138
|
//# sourceMappingURL=editor-preview-resolve.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor-preview-resolve.js","sourceRoot":"","sources":["../../../src/p1/editor/editor-preview-resolve.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,YAAY,GAAG,aAAa,EAAE,CAAC;AACrC,OAAO,EACL,aAAa,EACb,cAAc,EACd,UAAU,EACV,OAAO,GAGR,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"editor-preview-resolve.js","sourceRoot":"","sources":["../../../src/p1/editor/editor-preview-resolve.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,11 +2,11 @@ import type { Data } from "@puckeditor/core";
|
|
|
2
2
|
import type { RemoteDatasourceContext } from "../../../data/remote-datasources/loader";
|
|
3
3
|
import type { RemoteDatasourceDefinition } from "../../../data/remote-datasources/remote-datasource-registry";
|
|
4
4
|
import type { RemoteDatasourceScope } from "../../../data/remote-datasources/user-remote-datasource-types";
|
|
5
|
-
export declare function useRemoteDatasources(path: string): import("@tanstack/react-query").UseQueryResult<{
|
|
5
|
+
export declare function useRemoteDatasources(path: string): import("@tanstack/react-query").UseQueryResult<NoInfer<{
|
|
6
6
|
global: unknown[];
|
|
7
7
|
page: unknown[];
|
|
8
|
-
}
|
|
9
|
-
export declare function useResolvePreview(data: Data | null, remoteDatasourceContext: RemoteDatasourceContext): import("@tanstack/react-query").UseQueryResult<Data | null
|
|
8
|
+
}>, Error>;
|
|
9
|
+
export declare function useResolvePreview(data: Data | null, remoteDatasourceContext: RemoteDatasourceContext): import("@tanstack/react-query").UseQueryResult<NoInfer<Data | null>, Error>;
|
|
10
10
|
export declare function usePublish(path: string): import("@tanstack/react-query").UseMutationResult<void, Error, Data, unknown>;
|
|
11
11
|
export declare function useSaveRemoteDatasource(editorPath: string): import("@tanstack/react-query").UseMutationResult<void, Error, {
|
|
12
12
|
scope: RemoteDatasourceScope;
|
|
@@ -23,7 +23,7 @@ export declare function useSavePreviewMeta(): import("@tanstack/react-query").Us
|
|
|
23
23
|
previewParams: Record<string, string>;
|
|
24
24
|
}, unknown>;
|
|
25
25
|
export declare function useLoadPageData(): import("@tanstack/react-query").UseMutationResult<Data, Error, string, unknown>;
|
|
26
|
-
export declare function useRemoteDatasourceContext(path: string, registry: RemoteDatasourceDefinition[]): {
|
|
26
|
+
export declare function useRemoteDatasourceContext(path: string, registry: RemoteDatasourceDefinition[], branchId?: string): {
|
|
27
27
|
context: RemoteDatasourceContext;
|
|
28
28
|
loadingIds: Set<string>;
|
|
29
29
|
isLoading: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-hooks.d.ts","sourceRoot":"","sources":["../../../../src/p1/editor/hooks/api-hooks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api-hooks.d.ts","sourceRoot":"","sources":["../../../../src/p1/editor/hooks/api-hooks.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AACvF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6DAA6D,CAAC;AAC9G,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+DAA+D,CAAC;AAkB3G,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM;YASjC,OAAO,EAAE;UACX,OAAO,EAAE;WAItB;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,uBAAuB,EAAE,uBAAuB,+EAmBjD;AAID,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,iFAetC;AAED,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM;WAO7C,qBAAqB;UACtB,MAAM;gBACA,OAAO;YAiBxB;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM;WAO/C,qBAAqB;UACtB,MAAM;QACR,MAAM;YAgBf;AAED,wBAAgB,kBAAkB;UAMtB,MAAM;mBACG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;YAe1C;AAED,wBAAgB,eAAe,oFAW9B;AAMD,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,0BAA0B,EAAE,EACtC,QAAQ,CAAC,EAAE,MAAM,GAChB;IAAE,OAAO,EAAE,uBAAuB,CAAC;IAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CA+FnF"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { useMutation, useQueries, useQuery, useQueryClient } from "@tanstack/react-query";
|
|
3
|
+
import { useEffect, useRef, useState } from "react";
|
|
3
4
|
import { useP1Router } from "../../router-context";
|
|
4
|
-
import {
|
|
5
|
-
import { useP1Auth } from "../../../auth/P1AuthProvider";
|
|
5
|
+
import { useP1Auth, useOptionalP1Auth } from "../../../auth/P1AuthProvider";
|
|
6
6
|
const DATASOURCES_KEY = "p1-datasources";
|
|
7
7
|
const PREVIEW_KEY = "p1-preview";
|
|
8
8
|
function useDebouncedValue(value, delayMs) {
|
|
@@ -144,12 +144,20 @@ export function useLoadPageData() {
|
|
|
144
144
|
}
|
|
145
145
|
/* ── progressive datasource context ── */
|
|
146
146
|
const DATASOURCE_CONTEXT_KEY = "p1-datasource-context";
|
|
147
|
-
export function useRemoteDatasourceContext(path, registry) {
|
|
147
|
+
export function useRemoteDatasourceContext(path, registry, branchId) {
|
|
148
|
+
const auth = useOptionalP1Auth();
|
|
148
149
|
const queries = useQueries({
|
|
149
150
|
queries: registry.map((def) => ({
|
|
150
|
-
queryKey: [DATASOURCE_CONTEXT_KEY, path, def.id],
|
|
151
|
+
queryKey: [DATASOURCE_CONTEXT_KEY, path, def.id, branchId],
|
|
151
152
|
queryFn: async () => {
|
|
152
|
-
const
|
|
153
|
+
const token = auth ? await auth.getToken() : null;
|
|
154
|
+
const params = new URLSearchParams({ path, id: def.id });
|
|
155
|
+
if (branchId)
|
|
156
|
+
params.set("branchId", branchId);
|
|
157
|
+
const url = `/p1/api/datasource-context?${params}`;
|
|
158
|
+
const res = token
|
|
159
|
+
? await fetch(url, { headers: { Authorization: `Bearer ${token}` } })
|
|
160
|
+
: await fetch(url);
|
|
153
161
|
if (!res.ok)
|
|
154
162
|
return { id: def.id, data: {} };
|
|
155
163
|
return (await res.json());
|
|
@@ -161,31 +169,52 @@ export function useRemoteDatasourceContext(path, registry) {
|
|
|
161
169
|
// manually: without it the context empties mid page-switch and consumers
|
|
162
170
|
// flash empty states.
|
|
163
171
|
const lastGoodRef = useRef({});
|
|
164
|
-
const
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
172
|
+
const resultRef = useRef({ context: {}, loadingIds: new Set(), isLoading: false });
|
|
173
|
+
const context = {};
|
|
174
|
+
const newLoadingIds = [];
|
|
175
|
+
let isLoading = false;
|
|
176
|
+
for (let i = 0; i < registry.length; i++) {
|
|
177
|
+
const def = registry[i];
|
|
178
|
+
const query = queries[i];
|
|
179
|
+
if (!def || !query)
|
|
180
|
+
continue;
|
|
181
|
+
if (query.isLoading || query.isFetching) {
|
|
182
|
+
newLoadingIds.push(def.id);
|
|
183
|
+
isLoading = true;
|
|
184
|
+
}
|
|
185
|
+
if (query.data) {
|
|
186
|
+
context[def.id] = query.data.data;
|
|
187
|
+
}
|
|
188
|
+
else if (!query.isError && lastGoodRef.current[def.id]) {
|
|
189
|
+
context[def.id] = lastGoodRef.current[def.id];
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
const prev = resultRef.current;
|
|
193
|
+
let changed = isLoading !== prev.isLoading || newLoadingIds.length !== prev.loadingIds.size;
|
|
194
|
+
if (!changed) {
|
|
195
|
+
const contextKeys = Object.keys(context);
|
|
196
|
+
const prevContextKeys = Object.keys(prev.context);
|
|
197
|
+
changed = contextKeys.length !== prevContextKeys.length;
|
|
198
|
+
if (!changed) {
|
|
199
|
+
for (const key of contextKeys) {
|
|
200
|
+
if (context[key] !== prev.context[key]) {
|
|
201
|
+
changed = true;
|
|
202
|
+
break;
|
|
203
|
+
}
|
|
179
204
|
}
|
|
180
|
-
|
|
181
|
-
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
if (!changed) {
|
|
208
|
+
for (const id of newLoadingIds) {
|
|
209
|
+
if (!prev.loadingIds.has(id)) {
|
|
210
|
+
changed = true;
|
|
211
|
+
break;
|
|
182
212
|
}
|
|
183
213
|
}
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
// forward from inside it is a render-phase side effect.
|
|
214
|
+
}
|
|
215
|
+
if (changed) {
|
|
216
|
+
resultRef.current = { context, loadingIds: new Set(newLoadingIds), isLoading };
|
|
217
|
+
}
|
|
189
218
|
useEffect(() => {
|
|
190
219
|
for (let i = 0; i < registry.length; i++) {
|
|
191
220
|
const def = registry[i];
|
|
@@ -196,12 +225,10 @@ export function useRemoteDatasourceContext(path, registry) {
|
|
|
196
225
|
lastGoodRef.current[def.id] = query.data.data;
|
|
197
226
|
}
|
|
198
227
|
else if (query.isError) {
|
|
199
|
-
// Settled failure: drop the carried-over entry rather than keep
|
|
200
|
-
// showing the previous path's data as if it belonged to this page.
|
|
201
228
|
delete lastGoodRef.current[def.id];
|
|
202
229
|
}
|
|
203
230
|
}
|
|
204
231
|
}, [registry, queries]);
|
|
205
|
-
return
|
|
232
|
+
return resultRef.current;
|
|
206
233
|
}
|
|
207
234
|
//# sourceMappingURL=api-hooks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-hooks.js","sourceRoot":"","sources":["../../../../src/p1/editor/hooks/api-hooks.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"api-hooks.js","sourceRoot":"","sources":["../../../../src/p1/editor/hooks/api-hooks.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAyB,MAAM,OAAO,CAAC;AAE3E,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAInD,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAE5E,MAAM,eAAe,GAAG,gBAAgB,CAAC;AACzC,MAAM,WAAW,GAAG,YAAY,CAAC;AAEjC,SAAS,iBAAiB,CAAI,KAAQ,EAAE,OAAe;IACrD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,MAAM,CAAgC,SAAS,CAAC,CAAC;IAC/D,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;QAC/D,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IACrB,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,mBAAmB;AAEnB,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC;QACjC,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,4BAA4B,kBAAkB,CAAC,IAAI,CAAC,EAAE,CACvD,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAC3D,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAGvB,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,IAAiB,EACjB,uBAAgD;IAEhD,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACnD,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,uBAAuB,CAAC;QAC/D,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YAC5B,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,yBAAyB,EAAE;gBACjD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,uBAAuB,EAAE,CAAC;gBACtE,MAAM;aACP,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,OAAO,IAAI,CAAC;YACzB,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAmB,CAAC;YAClD,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QACD,OAAO,EAAE,aAAa,IAAI,IAAI;QAC9B,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI;KAChC,CAAC,CAAC;AACL,CAAC;AAED,qBAAqB;AAErB,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,CAAC;IACjC,OAAO,WAAW,CAAC;QACjB,UAAU,EAAE,KAAK,EAAE,IAAU,EAAE,EAAE;YAC/B,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;YAC/B,MAAM,OAAO,GAA2B,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;YAC/E,IAAI,KAAK;gBAAE,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAC;YACxD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,iBAAiB,EAAE;gBACzC,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;aACrC,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACjD,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,UAAkB;IACxD,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;IAC7B,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,CAAC;IAEjC,OAAO,WAAW,CAAC;QACjB,UAAU,EAAE,KAAK,EAAE,IAIlB,EAAE,EAAE;YACH,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;YAC/B,MAAM,OAAO,GAA2B,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;YAC/E,IAAI,KAAK;gBAAE,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAC;YACxD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,qBAAqB,EAAE;gBAC7C,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC3B,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACtG,CAAC;QACD,SAAS,EAAE,GAAG,EAAE;YACd,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,eAAe,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;YAC3E,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,UAAkB;IAC1D,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;IAC7B,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,CAAC;IAEjC,OAAO,WAAW,CAAC;QACjB,UAAU,EAAE,KAAK,EAAE,IAIlB,EAAE,EAAE;YACH,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;YAC/B,MAAM,OAAO,GAA2B,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;YAC/E,IAAI,KAAK;gBAAE,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAC;YACxD,MAAM,KAAK,CAAC,qBAAqB,EAAE;gBACjC,MAAM,EAAE,QAAQ;gBAChB,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC3B,CAAC,CAAC;QACL,CAAC;QACD,SAAS,EAAE,GAAG,EAAE;YACd,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,eAAe,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;YAC3E,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;IAC7B,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,CAAC;IAEjC,OAAO,WAAW,CAAC;QACjB,UAAU,EAAE,KAAK,EAAE,IAGlB,EAAE,EAAE;YACH,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;YAC/B,MAAM,OAAO,GAA2B,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;YAC/E,IAAI,KAAK;gBAAE,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAC;YACxD,MAAM,KAAK,CAAC,sBAAsB,EAAE;gBAClC,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC3B,CAAC,CAAC;QACL,CAAC;QACD,SAAS,EAAE,GAAG,EAAE;YACd,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,WAAW,CAAC;QACjB,UAAU,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE;YACjC,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,0BAA0B,kBAAkB,CAAC,IAAI,CAAC,EAAE,CACrD,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC1D,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAmB,CAAC;YAClD,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,0CAA0C;AAE1C,MAAM,sBAAsB,GAAG,uBAAuB,CAAC;AAEvD,MAAM,UAAU,0BAA0B,CACxC,IAAY,EACZ,QAAsC,EACtC,QAAiB;IAEjB,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,UAAU,CAAC;QACzB,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC9B,QAAQ,EAAE,CAAC,sBAAsB,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC;YAC1D,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAClD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;gBACzD,IAAI,QAAQ;oBAAE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBAC/C,MAAM,GAAG,GAAG,8BAA8B,MAAM,EAAE,CAAC;gBACnD,MAAM,GAAG,GAAG,KAAK;oBACf,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,EAAE,CAAC;oBACrE,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;gBACrB,IAAI,CAAC,GAAG,CAAC,EAAE;oBAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;gBAC7C,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAkD,CAAC;YAC7E,CAAC;SACF,CAAC,CAAC;KACJ,CAAC,CAAC;IAEH,0EAA0E;IAC1E,0EAA0E;IAC1E,yEAAyE;IACzE,sBAAsB;IACtB,MAAM,WAAW,GAAG,MAAM,CAA0C,EAAE,CAAC,CAAC;IAExE,MAAM,SAAS,GAIV,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,GAAG,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IAEtE,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK;YAAE,SAAS;QAC7B,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACxC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3B,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QACpC,CAAC;aAAM,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC;IAC/B,IAAI,OAAO,GAAG,SAAS,KAAK,IAAI,CAAC,SAAS,IAAI,aAAa,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IAE5F,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,GAAG,WAAW,CAAC,MAAM,KAAK,eAAe,CAAC,MAAM,CAAC;QACxD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;gBAC9B,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvC,OAAO,GAAG,IAAI,CAAC;oBACf,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC7B,OAAO,GAAG,IAAI,CAAC;gBACf,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,SAAS,CAAC,OAAO,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,GAAG,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;IACjF,CAAC;IAGD,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK;gBAAE,SAAS;YAC7B,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YAChD,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBACzB,OAAO,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAExB,OAAO,SAAS,CAAC,OAAO,CAAC;AAC3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/p1/editor/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/p1/editor/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/p1/editor/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/p1/editor/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -8,6 +8,6 @@ interface EditorContextData {
|
|
|
8
8
|
savedPreviewParams: Record<string, string>;
|
|
9
9
|
remoteDatasourceRegistry: RemoteDatasourceDefinition[];
|
|
10
10
|
}
|
|
11
|
-
export declare function useEditorContext(path: string): import("@tanstack/react-query").UseQueryResult<EditorContextData
|
|
11
|
+
export declare function useEditorContext(path: string, branchId?: string): import("@tanstack/react-query").UseQueryResult<NoInfer<EditorContextData>, Error>;
|
|
12
12
|
export {};
|
|
13
13
|
//# sourceMappingURL=useEditorContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEditorContext.d.ts","sourceRoot":"","sources":["../../../../src/p1/editor/hooks/useEditorContext.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AACvF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6DAA6D,CAAC;AAC9G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"useEditorContext.d.ts","sourceRoot":"","sources":["../../../../src/p1/editor/hooks/useEditorContext.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AACvF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6DAA6D,CAAC;AAC9G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGzD,UAAU,iBAAiB;IACzB,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,wBAAwB,EAAE,0BAA0B,EAAE,CAAC;CACxD;AAID,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,qFAiB/D"}
|
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { keepPreviousData, useQuery } from "@tanstack/react-query";
|
|
3
|
+
import { useOptionalP1Auth } from "../../../auth/P1AuthProvider";
|
|
3
4
|
const EDITOR_CONTEXT_KEY = "p1-editor-context";
|
|
4
|
-
export function useEditorContext(path) {
|
|
5
|
+
export function useEditorContext(path, branchId) {
|
|
6
|
+
const auth = useOptionalP1Auth();
|
|
5
7
|
return useQuery({
|
|
6
|
-
queryKey: [EDITOR_CONTEXT_KEY, path],
|
|
8
|
+
queryKey: [EDITOR_CONTEXT_KEY, path, branchId],
|
|
7
9
|
queryFn: async () => {
|
|
8
|
-
const
|
|
10
|
+
const token = auth ? await auth.getToken() : null;
|
|
11
|
+
const params = new URLSearchParams({ path });
|
|
12
|
+
if (branchId)
|
|
13
|
+
params.set("branchId", branchId);
|
|
14
|
+
const url = `/p1/api/editor-context?${params}`;
|
|
15
|
+
const res = token
|
|
16
|
+
? await fetch(url, { headers: { Authorization: `Bearer ${token}` } })
|
|
17
|
+
: await fetch(url);
|
|
9
18
|
if (!res.ok)
|
|
10
19
|
throw new Error("Failed to load editor context");
|
|
11
20
|
return (await res.json());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEditorContext.js","sourceRoot":"","sources":["../../../../src/p1/editor/hooks/useEditorContext.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"useEditorContext.js","sourceRoot":"","sources":["../../../../src/p1/editor/hooks/useEditorContext.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAInE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAUjE,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AAE/C,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,QAAiB;IAC9D,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;IACjC,OAAO,QAAQ,CAAoB;QACjC,QAAQ,EAAE,CAAC,kBAAkB,EAAE,IAAI,EAAE,QAAQ,CAAC;QAC9C,OAAO,EAAE,KAAK,IAAgC,EAAE;YAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAClD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7C,IAAI,QAAQ;gBAAE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC/C,MAAM,GAAG,GAAG,0BAA0B,MAAM,EAAE,CAAC;YAC/C,MAAM,GAAG,GAAG,KAAK;gBACf,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,EAAE,CAAC;gBACrE,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC9D,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5B,CAAC;QACD,eAAe,EAAE,gBAAgB;KAClC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { RouteRow } from "../../../data/page-store";
|
|
2
|
+
import type { RemoteDatasourceDefinition } from "../../../data/remote-datasources/remote-datasource-registry";
|
|
3
|
+
/**
|
|
4
|
+
* Live datasource state for components rendered by a Puck plugin.
|
|
5
|
+
*
|
|
6
|
+
* Puck receives its plugin array once per mount — useP1Editor keeps that array
|
|
7
|
+
* identity-stable on purpose, since new plugin objects mean new override
|
|
8
|
+
* component identities, which remounts the canvas and every field. So anything
|
|
9
|
+
* a plugin factory closes over is frozen at creation time, which for datasource
|
|
10
|
+
* data means permanently: the plugins are built the moment the registry first
|
|
11
|
+
* exists, while the context fetch is still in flight.
|
|
12
|
+
*
|
|
13
|
+
* Reading through this hook instead subscribes the component to the same
|
|
14
|
+
* react-query entries the editor host uses, so data, loading state, and the
|
|
15
|
+
* current document path stay live without anything crossing the plugin
|
|
16
|
+
* boundary.
|
|
17
|
+
*
|
|
18
|
+
* `fallbackPath` is only used outside a P1PuckProvider (e.g. the standalone
|
|
19
|
+
* `Client`), where there is no context to read the open document from.
|
|
20
|
+
*/
|
|
21
|
+
export declare function useLiveRemoteDatasources(fallbackPath: string): {
|
|
22
|
+
path: string;
|
|
23
|
+
registry: RemoteDatasourceDefinition[];
|
|
24
|
+
context: import("../../../server").RemoteDatasourceContext;
|
|
25
|
+
loadingIds: Set<string>;
|
|
26
|
+
isLoading: boolean;
|
|
27
|
+
routes: RouteRow[];
|
|
28
|
+
routeTemplateKeys: string[];
|
|
29
|
+
savedPreviewParams: Record<string, string>;
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=useLiveRemoteDatasources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLiveRemoteDatasources.d.ts","sourceRoot":"","sources":["../../../../src/p1/editor/hooks/useLiveRemoteDatasources.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6DAA6D,CAAC;AAS9G;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM;;;;;;;;;EAwB5D"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useP1PuckOptional } from "../../../core/P1PuckContext";
|
|
3
|
+
import { useRemoteDatasourceContext } from "./api-hooks";
|
|
4
|
+
import { useEditorContext } from "./useEditorContext";
|
|
5
|
+
const EMPTY_REGISTRY = [];
|
|
6
|
+
const EMPTY_ROUTES = [];
|
|
7
|
+
const EMPTY_TEMPLATE_KEYS = [];
|
|
8
|
+
const EMPTY_PREVIEW_PARAMS = {};
|
|
9
|
+
/**
|
|
10
|
+
* Live datasource state for components rendered by a Puck plugin.
|
|
11
|
+
*
|
|
12
|
+
* Puck receives its plugin array once per mount — useP1Editor keeps that array
|
|
13
|
+
* identity-stable on purpose, since new plugin objects mean new override
|
|
14
|
+
* component identities, which remounts the canvas and every field. So anything
|
|
15
|
+
* a plugin factory closes over is frozen at creation time, which for datasource
|
|
16
|
+
* data means permanently: the plugins are built the moment the registry first
|
|
17
|
+
* exists, while the context fetch is still in flight.
|
|
18
|
+
*
|
|
19
|
+
* Reading through this hook instead subscribes the component to the same
|
|
20
|
+
* react-query entries the editor host uses, so data, loading state, and the
|
|
21
|
+
* current document path stay live without anything crossing the plugin
|
|
22
|
+
* boundary.
|
|
23
|
+
*
|
|
24
|
+
* `fallbackPath` is only used outside a P1PuckProvider (e.g. the standalone
|
|
25
|
+
* `Client`), where there is no context to read the open document from.
|
|
26
|
+
*/
|
|
27
|
+
export function useLiveRemoteDatasources(fallbackPath) {
|
|
28
|
+
const p1Puck = useP1PuckOptional();
|
|
29
|
+
const path = p1Puck?.currentDocument?.path ?? fallbackPath;
|
|
30
|
+
const branchId = p1Puck?.branchId;
|
|
31
|
+
const { data: editorContext } = useEditorContext(path, branchId);
|
|
32
|
+
const registry = editorContext?.remoteDatasourceRegistry ?? EMPTY_REGISTRY;
|
|
33
|
+
const { context, loadingIds, isLoading } = useRemoteDatasourceContext(path, registry, branchId);
|
|
34
|
+
return {
|
|
35
|
+
path,
|
|
36
|
+
registry,
|
|
37
|
+
context,
|
|
38
|
+
loadingIds,
|
|
39
|
+
isLoading,
|
|
40
|
+
routes: editorContext?.routes ?? EMPTY_ROUTES,
|
|
41
|
+
routeTemplateKeys: editorContext?.routeTemplateKeys ?? EMPTY_TEMPLATE_KEYS,
|
|
42
|
+
savedPreviewParams: editorContext?.savedPreviewParams ?? EMPTY_PREVIEW_PARAMS,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=useLiveRemoteDatasources.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLiveRemoteDatasources.js","sourceRoot":"","sources":["../../../../src/p1/editor/hooks/useLiveRemoteDatasources.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAGhE,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,cAAc,GAAiC,EAAE,CAAC;AACxD,MAAM,YAAY,GAAe,EAAE,CAAC;AACpC,MAAM,mBAAmB,GAAa,EAAE,CAAC;AACzC,MAAM,oBAAoB,GAA2B,EAAE,CAAC;AAExD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,wBAAwB,CAAC,YAAoB;IAC3D,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,MAAM,EAAE,eAAe,EAAE,IAAI,IAAI,YAAY,CAAC;IAC3D,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,CAAC;IAElC,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,aAAa,EAAE,wBAAwB,IAAI,cAAc,CAAC;IAC3E,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,0BAA0B,CACnE,IAAI,EACJ,QAAQ,EACR,QAAQ,CACT,CAAC;IAEF,OAAO;QACL,IAAI;QACJ,QAAQ;QACR,OAAO;QACP,UAAU;QACV,SAAS;QACT,MAAM,EAAE,aAAa,EAAE,MAAM,IAAI,YAAY;QAC7C,iBAAiB,EAAE,aAAa,EAAE,iBAAiB,IAAI,mBAAmB;QAC1E,kBAAkB,EAChB,aAAa,EAAE,kBAAkB,IAAI,oBAAoB;KAC5D,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useP1Plugins.d.ts","sourceRoot":"","sources":["../../../../src/p1/editor/hooks/useP1Plugins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAQvD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"useP1Plugins.d.ts","sourceRoot":"","sources":["../../../../src/p1/editor/hooks/useP1Plugins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAQvD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAiBnE"}
|
|
@@ -2,23 +2,17 @@ import { useMemo } from "react";
|
|
|
2
2
|
import { createPreviewResolvePlugin } from "../editor-preview-resolve";
|
|
3
3
|
import { createRemoteDatasourceExplorerPlugin } from "../remote-datasources/remote-datasource-explorer-plugin";
|
|
4
4
|
import { createFieldConnectPlugin } from "../connect/field-connect-plugin";
|
|
5
|
+
import { useP1PuckOptional } from "../../../core/P1PuckContext";
|
|
5
6
|
import { useEditorContext } from "./useEditorContext";
|
|
6
|
-
import { useRemoteDatasourceContext } from "./api-hooks";
|
|
7
7
|
export function useP1Plugins(path, config) {
|
|
8
|
-
const
|
|
9
|
-
const {
|
|
8
|
+
const p1Puck = useP1PuckOptional();
|
|
9
|
+
const { data: ctx } = useEditorContext(path, p1Puck?.branchId);
|
|
10
10
|
return useMemo(() => {
|
|
11
11
|
if (!ctx)
|
|
12
12
|
return [];
|
|
13
13
|
return [
|
|
14
|
-
createPreviewResolvePlugin(
|
|
15
|
-
createRemoteDatasourceExplorerPlugin(
|
|
16
|
-
editorPath: path,
|
|
17
|
-
routeTemplateKeys: ctx.routeTemplateKeys,
|
|
18
|
-
savedPreviewParams: ctx.savedPreviewParams,
|
|
19
|
-
remoteDatasourceRegistry: ctx.remoteDatasourceRegistry,
|
|
20
|
-
loadingIds,
|
|
21
|
-
}),
|
|
14
|
+
createPreviewResolvePlugin({ editorPath: path }),
|
|
15
|
+
createRemoteDatasourceExplorerPlugin({ editorPath: path }),
|
|
22
16
|
createFieldConnectPlugin({
|
|
23
17
|
routes: ctx.routes,
|
|
24
18
|
config,
|
|
@@ -26,6 +20,6 @@ export function useP1Plugins(path, config) {
|
|
|
26
20
|
remoteDatasourceRegistry: ctx.remoteDatasourceRegistry,
|
|
27
21
|
}),
|
|
28
22
|
];
|
|
29
|
-
}, [ctx,
|
|
23
|
+
}, [ctx, path, config]);
|
|
30
24
|
}
|
|
31
25
|
//# sourceMappingURL=useP1Plugins.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useP1Plugins.js","sourceRoot":"","sources":["../../../../src/p1/editor/hooks/useP1Plugins.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,oCAAoC,EAAE,MAAM,yDAAyD,CAAC;AAC/G,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"useP1Plugins.js","sourceRoot":"","sources":["../../../../src/p1/editor/hooks/useP1Plugins.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,oCAAoC,EAAE,MAAM,yDAAyD,CAAC;AAC/G,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,MAAc;IACvD,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAE/D,OAAO,OAAO,CAAC,GAAG,EAAE;QAClB,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QACpB,OAAO;YACL,0BAA0B,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;YAChD,oCAAoC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;YAC1D,wBAAwB,CAAC;gBACvB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM;gBACN,UAAU,EAAE,IAAI;gBAChB,wBAAwB,EAAE,GAAG,CAAC,wBAAwB;aACvD,CAAC;SACH,CAAC;IACJ,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function ButtonBlockIcon(props: React.SVGProps<SVGSVGElement>): import("react
|
|
1
|
+
export declare function ButtonBlockIcon(props: React.SVGProps<SVGSVGElement>): import("react").JSX.Element;
|
|
2
2
|
//# sourceMappingURL=button-block-icon.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button-block-icon.d.ts","sourceRoot":"","sources":["../../../../src/p1/editor/icons/button-block-icon.tsx"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC
|
|
1
|
+
{"version":3,"file":"button-block-icon.d.ts","sourceRoot":"","sources":["../../../../src/p1/editor/icons/button-block-icon.tsx"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,+BAanE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-list-block-icon.d.ts","sourceRoot":"","sources":["../../../../src/p1/editor/icons/data-list-block-icon.tsx"],"names":[],"mappings":"AAAA,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,+BAmCrE"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
export function DataListBlockIcon(props) {
|
|
3
|
+
return (_jsxs("svg", { viewBox: "0 0 16 16", "aria-hidden": true, ...props, children: [_jsx("rect", { x: "1.5", y: "1.5", width: "13", height: "3.5", rx: "0.6", fill: "none", stroke: "currentColor", strokeWidth: "1.2" }), _jsx("rect", { x: "1.5", y: "6.25", width: "13", height: "3.5", rx: "0.6", fill: "none", stroke: "currentColor", strokeWidth: "1.2" }), _jsx("rect", { x: "1.5", y: "11", width: "13", height: "3.5", rx: "0.6", fill: "none", stroke: "currentColor", strokeWidth: "1.2" })] }));
|
|
4
|
+
}
|
|
5
|
+
//# sourceMappingURL=data-list-block-icon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-list-block-icon.js","sourceRoot":"","sources":["../../../../src/p1/editor/icons/data-list-block-icon.tsx"],"names":[],"mappings":";AAAA,MAAM,UAAU,iBAAiB,CAAC,KAAoC;IACpE,OAAO,CACL,eAAK,OAAO,EAAC,WAAW,0BAAiB,KAAK,aAC5C,eACE,CAAC,EAAC,KAAK,EACP,CAAC,EAAC,KAAK,EACP,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,KAAK,EACZ,EAAE,EAAC,KAAK,EACR,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,GACjB,EACF,eACE,CAAC,EAAC,KAAK,EACP,CAAC,EAAC,MAAM,EACR,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,KAAK,EACZ,EAAE,EAAC,KAAK,EACR,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,GACjB,EACF,eACE,CAAC,EAAC,KAAK,EACP,CAAC,EAAC,IAAI,EACN,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,KAAK,EACZ,EAAE,EAAC,KAAK,EACR,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,GACjB,IACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function DefaultBlockIcon(props: React.SVGProps<SVGSVGElement>): import("react
|
|
1
|
+
export declare function DefaultBlockIcon(props: React.SVGProps<SVGSVGElement>): import("react").JSX.Element;
|
|
2
2
|
//# sourceMappingURL=default-block-icon.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-block-icon.d.ts","sourceRoot":"","sources":["../../../../src/p1/editor/icons/default-block-icon.tsx"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC
|
|
1
|
+
{"version":3,"file":"default-block-icon.d.ts","sourceRoot":"","sources":["../../../../src/p1/editor/icons/default-block-icon.tsx"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,+BAapE"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function DividerBlockIcon(props: React.SVGProps<SVGSVGElement>): import("react
|
|
1
|
+
export declare function DividerBlockIcon(props: React.SVGProps<SVGSVGElement>): import("react").JSX.Element;
|
|
2
2
|
//# sourceMappingURL=divider-block-icon.d.ts.map
|