@pantheon-systems/puck-css 0.4.1 → 0.4.3
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/dist/core/config.d.ts +3 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +5 -6
- package/dist/core/config.js.map +1 -1
- package/dist/core/featureConfig.d.ts +2 -0
- package/dist/core/featureConfig.d.ts.map +1 -1
- package/dist/core/featureConfig.js +4 -0
- package/dist/core/featureConfig.js.map +1 -1
- package/dist/core/types.d.ts +58 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/data/dal/index.d.ts +5 -1
- package/dist/data/dal/index.d.ts.map +1 -1
- package/dist/data/dal/index.js +22 -1
- package/dist/data/dal/index.js.map +1 -1
- package/dist/data/dal/init.d.ts.map +1 -1
- package/dist/data/dal/init.js +22 -14
- package/dist/data/dal/init.js.map +1 -1
- package/dist/data/dal/p1-store.d.ts +15 -1
- package/dist/data/dal/p1-store.d.ts.map +1 -1
- package/dist/data/dal/p1-store.js +51 -5
- package/dist/data/dal/p1-store.js.map +1 -1
- package/dist/data/dal/types.d.ts +13 -1
- package/dist/data/dal/types.d.ts.map +1 -1
- package/dist/data/page-store.d.ts +17 -2
- package/dist/data/page-store.d.ts.map +1 -1
- package/dist/data/page-store.js +47 -5
- package/dist/data/page-store.js.map +1 -1
- 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 +175 -66
- package/dist/editor/P1PuckProvider.js.map +1 -1
- package/dist/editor/plugin/P1Plugin.d.ts +22 -1
- package/dist/editor/plugin/P1Plugin.d.ts.map +1 -1
- package/dist/editor/plugin/P1Plugin.js +72 -21
- package/dist/editor/plugin/P1Plugin.js.map +1 -1
- package/dist/editor/plugin/createP1Overrides.d.ts.map +1 -1
- package/dist/editor/plugin/createP1Overrides.js +4 -1
- package/dist/editor/plugin/createP1Overrides.js.map +1 -1
- package/dist/editor/useDocuments.d.ts +4 -1
- package/dist/editor/useDocuments.d.ts.map +1 -1
- package/dist/editor/useDocuments.js +5 -2
- package/dist/editor/useDocuments.js.map +1 -1
- package/dist/editor/useP1Editor.d.ts +12 -0
- package/dist/editor/useP1Editor.d.ts.map +1 -1
- package/dist/editor/useP1Editor.js +40 -5
- package/dist/editor/useP1Editor.js.map +1 -1
- package/dist/editor/useP1Plugin.d.ts +5 -1
- 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 +9 -4
- package/dist/editor/useRealtime.d.ts.map +1 -1
- package/dist/editor/useRealtime.js +11 -6
- package/dist/editor/useRealtime.js.map +1 -1
- package/dist/features/content-type-templates/editor/useTemplateEditor.d.ts +20 -0
- package/dist/features/content-type-templates/editor/useTemplateEditor.d.ts.map +1 -0
- package/dist/features/content-type-templates/editor/useTemplateEditor.js +62 -0
- package/dist/features/content-type-templates/editor/useTemplateEditor.js.map +1 -0
- package/dist/features/content-type-templates/editor/useTemplatePermissions.d.ts +7 -0
- package/dist/features/content-type-templates/editor/useTemplatePermissions.d.ts.map +1 -0
- package/dist/features/content-type-templates/editor/useTemplatePermissions.js +12 -0
- package/dist/features/content-type-templates/editor/useTemplatePermissions.js.map +1 -0
- package/dist/features/content-type-templates/editor/useTemplateScaffold.d.ts +19 -0
- package/dist/features/content-type-templates/editor/useTemplateScaffold.d.ts.map +1 -0
- package/dist/features/content-type-templates/editor/useTemplateScaffold.js +37 -0
- package/dist/features/content-type-templates/editor/useTemplateScaffold.js.map +1 -0
- package/dist/features/content-type-templates/hooks/useTemplateList.d.ts +41 -0
- package/dist/features/content-type-templates/hooks/useTemplateList.d.ts.map +1 -0
- package/dist/features/content-type-templates/hooks/useTemplateList.js +72 -0
- package/dist/features/content-type-templates/hooks/useTemplateList.js.map +1 -0
- package/dist/features/content-type-templates/index.d.ts +18 -0
- package/dist/features/content-type-templates/index.d.ts.map +1 -0
- package/dist/features/content-type-templates/index.js +13 -0
- package/dist/features/content-type-templates/index.js.map +1 -0
- package/dist/features/content-type-templates/permissions/createPuckPermissions.d.ts +68 -0
- package/dist/features/content-type-templates/permissions/createPuckPermissions.d.ts.map +1 -0
- package/dist/features/content-type-templates/permissions/createPuckPermissions.js +90 -0
- package/dist/features/content-type-templates/permissions/createPuckPermissions.js.map +1 -0
- package/dist/features/content-type-templates/permissions/role-permissions.d.ts +49 -0
- package/dist/features/content-type-templates/permissions/role-permissions.d.ts.map +1 -0
- package/dist/features/content-type-templates/permissions/role-permissions.js +79 -0
- package/dist/features/content-type-templates/permissions/role-permissions.js.map +1 -0
- package/dist/features/content-type-templates/permissions/useContentRole.d.ts +37 -0
- package/dist/features/content-type-templates/permissions/useContentRole.d.ts.map +1 -0
- package/dist/features/content-type-templates/permissions/useContentRole.js +34 -0
- package/dist/features/content-type-templates/permissions/useContentRole.js.map +1 -0
- package/dist/features/content-type-templates/permissions/useResolveContentRole.d.ts +38 -0
- package/dist/features/content-type-templates/permissions/useResolveContentRole.d.ts.map +1 -0
- package/dist/features/content-type-templates/permissions/useResolveContentRole.js +83 -0
- package/dist/features/content-type-templates/permissions/useResolveContentRole.js.map +1 -0
- package/dist/features/content-type-templates/stores/index.d.ts +9 -0
- package/dist/features/content-type-templates/stores/index.d.ts.map +1 -0
- package/dist/features/content-type-templates/stores/index.js +8 -0
- package/dist/features/content-type-templates/stores/index.js.map +1 -0
- package/dist/features/content-type-templates/stores/template-store-api.d.ts +17 -0
- package/dist/features/content-type-templates/stores/template-store-api.d.ts.map +1 -0
- package/dist/features/content-type-templates/stores/template-store-api.js +56 -0
- package/dist/features/content-type-templates/stores/template-store-api.js.map +1 -0
- package/dist/features/content-type-templates/stores/template-store.d.ts +54 -0
- package/dist/features/content-type-templates/stores/template-store.d.ts.map +1 -0
- package/dist/features/content-type-templates/stores/template-store.js +80 -0
- package/dist/features/content-type-templates/stores/template-store.js.map +1 -0
- package/dist/features/content-type-templates/types.d.ts +114 -0
- package/dist/features/content-type-templates/types.d.ts.map +1 -0
- package/dist/features/content-type-templates/types.js +7 -0
- package/dist/features/content-type-templates/types.js.map +1 -0
- package/dist/features/content-type-templates/ui/ActionBarPinButton.d.ts +3 -0
- package/dist/features/content-type-templates/ui/ActionBarPinButton.d.ts.map +1 -0
- package/dist/features/content-type-templates/ui/ActionBarPinButton.js +77 -0
- package/dist/features/content-type-templates/ui/ActionBarPinButton.js.map +1 -0
- package/dist/features/content-type-templates/ui/TemplateManagerOverlay.d.ts +18 -0
- package/dist/features/content-type-templates/ui/TemplateManagerOverlay.d.ts.map +1 -0
- package/dist/features/content-type-templates/ui/TemplateManagerOverlay.js +167 -0
- package/dist/features/content-type-templates/ui/TemplateManagerOverlay.js.map +1 -0
- package/dist/features/content-type-templates/ui/TemplatePinPanel.d.ts +18 -0
- package/dist/features/content-type-templates/ui/TemplatePinPanel.d.ts.map +1 -0
- package/dist/features/content-type-templates/ui/TemplatePinPanel.js +11 -0
- package/dist/features/content-type-templates/ui/TemplatePinPanel.js.map +1 -0
- package/dist/features/content-type-templates/ui/TemplateSelector.d.ts +41 -0
- package/dist/features/content-type-templates/ui/TemplateSelector.d.ts.map +1 -0
- package/dist/features/content-type-templates/ui/TemplateSelector.js +32 -0
- package/dist/features/content-type-templates/ui/TemplateSelector.js.map +1 -0
- package/dist/features/content-type-templates/ui/dataToTemplate.d.ts +25 -0
- package/dist/features/content-type-templates/ui/dataToTemplate.d.ts.map +1 -0
- package/dist/features/content-type-templates/ui/dataToTemplate.js +37 -0
- package/dist/features/content-type-templates/ui/dataToTemplate.js.map +1 -0
- package/dist/features/content-type-templates/validation/structural-validation.d.ts +29 -0
- package/dist/features/content-type-templates/validation/structural-validation.d.ts.map +1 -0
- package/dist/features/content-type-templates/validation/structural-validation.js +69 -0
- package/dist/features/content-type-templates/validation/structural-validation.js.map +1 -0
- package/dist/index.d.ts +8 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/p1/editor/connect/connect-field-modal.d.ts.map +1 -1
- package/dist/p1/editor/connect/connect-field-modal.js +23 -1
- package/dist/p1/editor/connect/connect-field-modal.js.map +1 -1
- package/dist/p1/editor/connect/field-connect-plugin.d.ts.map +1 -1
- package/dist/p1/editor/connect/field-connect-plugin.js +2 -6
- package/dist/p1/editor/connect/field-connect-plugin.js.map +1 -1
- package/dist/p1/pages/conflict-resolution-panel.d.ts +17 -0
- package/dist/p1/pages/conflict-resolution-panel.d.ts.map +1 -0
- package/dist/p1/pages/conflict-resolution-panel.js +74 -0
- package/dist/p1/pages/conflict-resolution-panel.js.map +1 -0
- package/dist/p1/pages/content-type-template-list.d.ts +7 -0
- package/dist/p1/pages/content-type-template-list.d.ts.map +1 -0
- package/dist/p1/pages/content-type-template-list.js +108 -0
- package/dist/p1/pages/content-type-template-list.js.map +1 -0
- package/dist/p1/pages/create-content-type-form.d.ts +7 -0
- package/dist/p1/pages/create-content-type-form.d.ts.map +1 -0
- package/dist/p1/pages/create-content-type-form.js +102 -0
- package/dist/p1/pages/create-content-type-form.js.map +1 -0
- package/dist/p1/pages/create-page-form.d.ts +8 -1
- package/dist/p1/pages/create-page-form.d.ts.map +1 -1
- package/dist/p1/pages/create-page-form.js +67 -8
- package/dist/p1/pages/create-page-form.js.map +1 -1
- package/dist/p1/pages/create-template-form.d.ts +6 -1
- package/dist/p1/pages/create-template-form.d.ts.map +1 -1
- package/dist/p1/pages/create-template-form.js +61 -15
- package/dist/p1/pages/create-template-form.js.map +1 -1
- package/dist/p1/pages/hooks.d.ts +6 -1
- package/dist/p1/pages/hooks.d.ts.map +1 -1
- package/dist/p1/pages/hooks.js +13 -2
- package/dist/p1/pages/hooks.js.map +1 -1
- package/dist/p1/pages/index.d.ts +5 -0
- package/dist/p1/pages/index.d.ts.map +1 -1
- package/dist/p1/pages/index.js +5 -0
- package/dist/p1/pages/index.js.map +1 -1
- package/dist/p1/pages/migration-conflict-queue.d.ts +8 -0
- package/dist/p1/pages/migration-conflict-queue.d.ts.map +1 -0
- package/dist/p1/pages/migration-conflict-queue.js +62 -0
- package/dist/p1/pages/migration-conflict-queue.js.map +1 -0
- package/dist/p1/pages/migration-preview-panel.d.ts +12 -0
- package/dist/p1/pages/migration-preview-panel.d.ts.map +1 -0
- package/dist/p1/pages/migration-preview-panel.js +157 -0
- package/dist/p1/pages/migration-preview-panel.js.map +1 -0
- package/dist/p1/pages/migration-status-panel.d.ts +7 -0
- package/dist/p1/pages/migration-status-panel.d.ts.map +1 -0
- package/dist/p1/pages/migration-status-panel.js +198 -0
- package/dist/p1/pages/migration-status-panel.js.map +1 -0
- package/dist/p1/pages/structure-page.d.ts.map +1 -1
- package/dist/p1/pages/structure-page.js +75 -18
- package/dist/p1/pages/structure-page.js.map +1 -1
- package/dist/p1/pages/structure-tabs.d.ts +11 -0
- package/dist/p1/pages/structure-tabs.d.ts.map +1 -0
- package/dist/p1/pages/structure-tabs.js +45 -0
- package/dist/p1/pages/structure-tabs.js.map +1 -0
- package/dist/pds/components/P1EditorHeader.d.ts +8 -9
- package/dist/pds/components/P1EditorHeader.d.ts.map +1 -1
- package/dist/pds/components/P1EditorHeader.js +20 -52
- package/dist/pds/components/P1EditorHeader.js.map +1 -1
- package/dist/pds/components/P1EditorHeader.module.css +43 -17
- package/dist/pds/components/P1EditorSubheader.d.ts +10 -1
- package/dist/pds/components/P1EditorSubheader.d.ts.map +1 -1
- package/dist/pds/components/P1EditorSubheader.js +4 -3
- package/dist/pds/components/P1EditorSubheader.js.map +1 -1
- package/dist/pds/components/P1EditorSubheader.module.css +31 -2
- package/dist/pds/components/PageNavigator.d.ts +7 -2
- package/dist/pds/components/PageNavigator.d.ts.map +1 -1
- package/dist/pds/components/PageNavigator.js +28 -7
- package/dist/pds/components/PageNavigator.js.map +1 -1
- package/dist/pds/components/PageNavigator.module.css +70 -0
- package/dist/pds/components/PublishControl.d.ts +4 -1
- package/dist/pds/components/PublishControl.d.ts.map +1 -1
- package/dist/pds/components/PublishControl.js +27 -10
- package/dist/pds/components/PublishControl.js.map +1 -1
- package/dist/pds/components/WorkstreamSwitcher.d.ts.map +1 -1
- package/dist/pds/components/WorkstreamSwitcher.js +8 -3
- package/dist/pds/components/WorkstreamSwitcher.js.map +1 -1
- package/dist/pds/components/WorkstreamSwitcher.module.css +12 -2
- package/package.json +16 -16
- package/src/styles.css +364 -0
package/dist/core/config.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { AuthMode } from '../auth/P1AuthProvider.js';
|
|
2
|
+
import type { ContentRole } from '../features/content-type-templates/types.js';
|
|
2
3
|
import { P1ContentClient } from '@pantheon-systems/css-client';
|
|
3
4
|
export interface P1Config {
|
|
4
5
|
baseUrl: string;
|
|
@@ -11,7 +12,9 @@ export interface P1Config {
|
|
|
11
12
|
enablePresence?: boolean;
|
|
12
13
|
autoSaveDelay?: number;
|
|
13
14
|
maxRetries?: number;
|
|
15
|
+
userRole?: ContentRole;
|
|
14
16
|
}
|
|
17
|
+
export declare const PRODUCTION_BASE_URL = "https://ccr.p1.pantheon";
|
|
15
18
|
export declare function createP1Config(envSource: Record<string, string | undefined>, options?: {
|
|
16
19
|
prefix?: string;
|
|
17
20
|
overrides?: Partial<P1Config>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,WAAW,CAAC;CACxB;AAED,eAAO,MAAM,mBAAmB,4BAA4B,CAAC;AAS7D,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAC7C,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC/B,GACA,QAAQ,CA4CV;AAED,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAiBxE;AAED,wBAAgB,uBAAuB,CAAC,SAAS,CAAC,EAAE;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,eAAe,GAAG,IAAI,CASzB"}
|
package/dist/core/config.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { P1ContentClient } from '@pantheon-systems/css-client';
|
|
2
|
+
export const PRODUCTION_BASE_URL = 'https://ccr.p1.pantheon';
|
|
2
3
|
const VALID_AUTH_MODES = ['mock', 'broker'];
|
|
3
4
|
const DEFAULT_AUTH_MODE = 'broker';
|
|
4
5
|
function httpToWs(url) {
|
|
@@ -23,12 +24,9 @@ export function createP1Config(envSource, options) {
|
|
|
23
24
|
const num = parseInt(val, 10);
|
|
24
25
|
return isNaN(num) ? undefined : num;
|
|
25
26
|
}
|
|
26
|
-
const baseUrl = overrides.baseUrl ?? env('CSS_BASE_URL');
|
|
27
|
+
const baseUrl = overrides.baseUrl ?? env('CSS_BASE_URL') ?? PRODUCTION_BASE_URL;
|
|
27
28
|
const siteId = overrides.siteId ?? env('CSS_SITE_ID');
|
|
28
29
|
const authModeRaw = overrides.authMode ?? env('CSS_AUTH_MODE') ?? DEFAULT_AUTH_MODE;
|
|
29
|
-
if (!baseUrl) {
|
|
30
|
-
throw new Error('Missing required config: CSS_BASE_URL');
|
|
31
|
-
}
|
|
32
30
|
if (!siteId) {
|
|
33
31
|
throw new Error('Missing required config: CSS_SITE_ID');
|
|
34
32
|
}
|
|
@@ -46,12 +44,13 @@ export function createP1Config(envSource, options) {
|
|
|
46
44
|
enablePresence: overrides.enablePresence ?? envBool('CSS_ENABLE_PRESENCE') ?? true,
|
|
47
45
|
autoSaveDelay: overrides.autoSaveDelay ?? envNum('CSS_AUTO_SAVE_DELAY'),
|
|
48
46
|
maxRetries: overrides.maxRetries ?? envNum('CSS_MAX_RETRIES'),
|
|
47
|
+
userRole: overrides.userRole,
|
|
49
48
|
};
|
|
50
49
|
}
|
|
51
50
|
export function createNextConfig(overrides) {
|
|
52
51
|
return createP1Config({}, {
|
|
53
52
|
overrides: {
|
|
54
|
-
baseUrl: process.env.NEXT_PUBLIC_CSS_BASE_URL,
|
|
53
|
+
baseUrl: process.env.NEXT_PUBLIC_CSS_BASE_URL ?? PRODUCTION_BASE_URL,
|
|
55
54
|
siteId: process.env.NEXT_PUBLIC_CSS_SITE_ID,
|
|
56
55
|
authMode: process.env.NEXT_PUBLIC_CSS_AUTH_MODE,
|
|
57
56
|
branchId: process.env.NEXT_PUBLIC_CSS_BRANCH_ID,
|
|
@@ -67,7 +66,7 @@ export function createNextConfig(overrides) {
|
|
|
67
66
|
});
|
|
68
67
|
}
|
|
69
68
|
export function createNextContentClient(overrides) {
|
|
70
|
-
const baseUrl = overrides?.baseUrl ?? process.env.NEXT_PUBLIC_CSS_BASE_URL;
|
|
69
|
+
const baseUrl = overrides?.baseUrl ?? process.env.NEXT_PUBLIC_CSS_BASE_URL ?? PRODUCTION_BASE_URL;
|
|
71
70
|
const apiToken = overrides?.apiToken ?? process.env.CSS_API_KEY;
|
|
72
71
|
const siteId = overrides?.siteId ?? process.env.NEXT_PUBLIC_CSS_SITE_ID;
|
|
73
72
|
const branchId = overrides?.branchId ?? process.env.NEXT_PUBLIC_CSS_BRANCH_ID;
|
package/dist/core/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,6 +36,8 @@ export interface P1FeatureConfig {
|
|
|
36
36
|
enableAgentBanner?: boolean;
|
|
37
37
|
/** Enable focus region highlighting (default: follows presenceEnabled) */
|
|
38
38
|
enableFocusHighlighting?: boolean;
|
|
39
|
+
/** Enable content type templates (default: true) */
|
|
40
|
+
enableContentTypeTemplates?: boolean;
|
|
39
41
|
}
|
|
40
42
|
/**
|
|
41
43
|
* Preset configurations for common setups.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"featureConfig.d.ts","sourceRoot":"","sources":["../../src/core/featureConfig.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAK9B,6CAA6C;IAC7C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,+BAA+B;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iCAAiC;IACjC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAM3B,yDAAyD;IACzD,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,2DAA2D;IAC3D,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,wDAAwD;IACxD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,0DAA0D;IAC1D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iDAAiD;IACjD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qDAAqD;IACrD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,6EAA6E;IAC7E,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,0EAA0E;IAC1E,uBAAuB,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"featureConfig.d.ts","sourceRoot":"","sources":["../../src/core/featureConfig.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAK9B,6CAA6C;IAC7C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,+BAA+B;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iCAAiC;IACjC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAM3B,yDAAyD;IACzD,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,2DAA2D;IAC3D,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,wDAAwD;IACxD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,0DAA0D;IAC1D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iDAAiD;IACjD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qDAAqD;IACrD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,6EAA6E;IAC7E,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,0EAA0E;IAC1E,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,oDAAoD;IACpD,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,OAAO,GAAG,eAAe,GAAG,MAAM,EAAE,eAAe,CA4ClF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC,CAgBvF"}
|
|
@@ -15,6 +15,7 @@ export const P1_PRESETS = {
|
|
|
15
15
|
basic: {
|
|
16
16
|
enableAutoSave: true,
|
|
17
17
|
enablePublishButton: true,
|
|
18
|
+
enableContentTypeTemplates: true,
|
|
18
19
|
},
|
|
19
20
|
/**
|
|
20
21
|
* Collaborative preset: adds real-time editing, presence, and focus highlighting.
|
|
@@ -27,6 +28,7 @@ export const P1_PRESETS = {
|
|
|
27
28
|
enablePublishButton: true,
|
|
28
29
|
enableCollaboratorAvatars: true,
|
|
29
30
|
enableFocusHighlighting: true,
|
|
31
|
+
enableContentTypeTemplates: true,
|
|
30
32
|
},
|
|
31
33
|
/**
|
|
32
34
|
* Full preset: all features enabled.
|
|
@@ -45,6 +47,7 @@ export const P1_PRESETS = {
|
|
|
45
47
|
enableCollaboratorAvatars: true,
|
|
46
48
|
enableAgentBanner: true,
|
|
47
49
|
enableFocusHighlighting: true,
|
|
50
|
+
enableContentTypeTemplates: true,
|
|
48
51
|
},
|
|
49
52
|
};
|
|
50
53
|
/**
|
|
@@ -72,6 +75,7 @@ export function resolveFeatureConfig(config) {
|
|
|
72
75
|
enableCollaboratorAvatars: config.enableCollaboratorAvatars ?? config.presenceEnabled ?? false,
|
|
73
76
|
enableAgentBanner: config.enableAgentBanner ?? config.agentModeEnabled ?? false,
|
|
74
77
|
enableFocusHighlighting: config.enableFocusHighlighting ?? config.presenceEnabled ?? false,
|
|
78
|
+
enableContentTypeTemplates: config.enableContentTypeTemplates ?? true,
|
|
75
79
|
};
|
|
76
80
|
}
|
|
77
81
|
//# sourceMappingURL=featureConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"featureConfig.js","sourceRoot":"","sources":["../../src/core/featureConfig.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"featureConfig.js","sourceRoot":"","sources":["../../src/core/featureConfig.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA+CH;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAgE;IACrF;;;OAGG;IACH,KAAK,EAAE;QACL,cAAc,EAAE,IAAI;QACpB,mBAAmB,EAAE,IAAI;QACzB,0BAA0B,EAAE,IAAI;KACjC;IAED;;;OAGG;IACH,aAAa,EAAE;QACb,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,cAAc,EAAE,IAAI;QACpB,mBAAmB,EAAE,IAAI;QACzB,yBAAyB,EAAE,IAAI;QAC/B,uBAAuB,EAAE,IAAI;QAC7B,0BAA0B,EAAE,IAAI;KACjC;IAED;;;OAGG;IACH,IAAI,EAAE;QACJ,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,gBAAgB,EAAE,IAAI;QACtB,qBAAqB,EAAE,IAAI;QAC3B,oBAAoB,EAAE,IAAI;QAC1B,oBAAoB,EAAE,IAAI;QAC1B,kBAAkB,EAAE,IAAI;QACxB,cAAc,EAAE,IAAI;QACpB,mBAAmB,EAAE,IAAI;QACzB,yBAAyB,EAAE,IAAI;QAC/B,iBAAiB,EAAE,IAAI;QACvB,uBAAuB,EAAE,IAAI;QAC7B,0BAA0B,EAAE,IAAI;KACjC;CACF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAuB;IAC1D,OAAO;QACL,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,IAAI;QAC7C,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,IAAI;QAC/C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,KAAK;QAClD,qBAAqB,EAAE,MAAM,CAAC,qBAAqB,IAAI,IAAI;QAC3D,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,IAAI,IAAI;QACzD,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,IAAI,IAAI;QACzD,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,IAAI,IAAI;QACrD,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,IAAI;QAC7C,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,IAAI,IAAI;QACvD,yBAAyB,EAAE,MAAM,CAAC,yBAAyB,IAAI,MAAM,CAAC,eAAe,IAAI,KAAK;QAC9F,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,gBAAgB,IAAI,KAAK;QAC/E,uBAAuB,EAAE,MAAM,CAAC,uBAAuB,IAAI,MAAM,CAAC,eAAe,IAAI,KAAK;QAC1F,0BAA0B,EAAE,MAAM,CAAC,0BAA0B,IAAI,IAAI;KACtE,CAAC;AACJ,CAAC"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import type { ConflictNotification } from '../merge/components/conflict-notifica
|
|
|
6
6
|
import type { UseAgentEditReturn } from '../agent/useAgentEdit.js';
|
|
7
7
|
import type { UseAgentTriggerReturn } from '../agent/useAgentTrigger.js';
|
|
8
8
|
import type { P1FeatureConfig } from './featureConfig.js';
|
|
9
|
+
import type { Template } from '../features/content-type-templates/types.js';
|
|
9
10
|
/**
|
|
10
11
|
* Save status for auto-save functionality.
|
|
11
12
|
*/
|
|
@@ -122,6 +123,15 @@ export interface P1PuckConfig {
|
|
|
122
123
|
* Callback when an agent conflict occurs.
|
|
123
124
|
*/
|
|
124
125
|
onAgentConflict?: (conflict: ConflictNotification) => void;
|
|
126
|
+
/**
|
|
127
|
+
* User's content role for template permission enforcement.
|
|
128
|
+
* Consumers should resolve this via `useResolveContentRole` or their own auth layer.
|
|
129
|
+
* - admin: Full access, can create/edit templates
|
|
130
|
+
* - editor: Pinned components locked, can add/remove non-pinned
|
|
131
|
+
* - junior-editor: Props only, no structural changes
|
|
132
|
+
* @default 'editor'
|
|
133
|
+
*/
|
|
134
|
+
userRole?: 'admin' | 'editor' | 'junior-editor';
|
|
125
135
|
}
|
|
126
136
|
/**
|
|
127
137
|
* Context value provided by P1PuckProvider.
|
|
@@ -275,6 +285,14 @@ export interface P1PuckContextValue {
|
|
|
275
285
|
* the sync payload for backend version storage.
|
|
276
286
|
*/
|
|
277
287
|
handleAction: (action: Record<string, unknown>) => void;
|
|
288
|
+
/**
|
|
289
|
+
* Get pending actions buffered since last save.
|
|
290
|
+
* Used for forwarding action metadata to backend for version history.
|
|
291
|
+
*/
|
|
292
|
+
getPendingActions: () => Array<{
|
|
293
|
+
type: string;
|
|
294
|
+
[key: string]: unknown;
|
|
295
|
+
}>;
|
|
278
296
|
/**
|
|
279
297
|
* Getter for current save status. Referentially stable — always returns
|
|
280
298
|
* the latest value without causing re-renders.
|
|
@@ -322,7 +340,7 @@ export interface P1PuckContextValue {
|
|
|
322
340
|
* Create a new document on the current branch.
|
|
323
341
|
* Creates the document and an initial empty version, then refreshes the document list.
|
|
324
342
|
*/
|
|
325
|
-
createDocument: (path: string) => Promise<void>;
|
|
343
|
+
createDocument: (path: string, template?: Template | null) => Promise<void>;
|
|
326
344
|
/**
|
|
327
345
|
* Delete a document on the current branch.
|
|
328
346
|
* Deletes the document and refreshes the document list.
|
|
@@ -387,6 +405,45 @@ export interface P1PuckContextValue {
|
|
|
387
405
|
* @internal
|
|
388
406
|
*/
|
|
389
407
|
_onRealtimeDataCapture: ((data: PuckData) => void) | null;
|
|
408
|
+
/**
|
|
409
|
+
* Current user's content role for permission enforcement.
|
|
410
|
+
* Defaults to 'editor' if not specified.
|
|
411
|
+
*/
|
|
412
|
+
userRole: 'admin' | 'editor' | 'junior-editor';
|
|
413
|
+
/**
|
|
414
|
+
* Available templates on the current branch.
|
|
415
|
+
*/
|
|
416
|
+
templates: Template[];
|
|
417
|
+
/**
|
|
418
|
+
* Whether templates are loading.
|
|
419
|
+
*/
|
|
420
|
+
templatesLoading: boolean;
|
|
421
|
+
/**
|
|
422
|
+
* Error from the most recent template list fetch, if any.
|
|
423
|
+
*/
|
|
424
|
+
templatesError: Error | null;
|
|
425
|
+
/**
|
|
426
|
+
* Refresh the template list.
|
|
427
|
+
*/
|
|
428
|
+
refreshTemplates: () => Promise<void>;
|
|
429
|
+
/**
|
|
430
|
+
* Template that the current document is bound to.
|
|
431
|
+
* Null for blank pages or when no document is loaded.
|
|
432
|
+
*/
|
|
433
|
+
currentTemplate: Template | null;
|
|
434
|
+
/**
|
|
435
|
+
* Puck permissions resolver function based on template and user role.
|
|
436
|
+
* Pass this to <Puck resolvePermissions={...} /> to enforce template restrictions.
|
|
437
|
+
*/
|
|
438
|
+
resolvePermissions?: (item: {
|
|
439
|
+
type: string;
|
|
440
|
+
}, appState: any) => {
|
|
441
|
+
edit: boolean;
|
|
442
|
+
drag: boolean;
|
|
443
|
+
delete: boolean;
|
|
444
|
+
insert: boolean;
|
|
445
|
+
duplicate: boolean;
|
|
446
|
+
};
|
|
390
447
|
}
|
|
391
448
|
/**
|
|
392
449
|
* Presence state provided by the context when presence is enabled.
|
package/dist/core/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,UAAU,EACV,eAAe,EACf,aAAa,EACb,YAAY,EACb,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qDAAqD,CAAC;AAChG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
package/dist/data/dal/index.d.ts
CHANGED
|
@@ -5,11 +5,13 @@
|
|
|
5
5
|
* Stores must be initialized at startup via initializeStores()
|
|
6
6
|
* before any route handler or server component accesses them.
|
|
7
7
|
*/
|
|
8
|
-
export type { PageStore, EditorMetaStore, RemoteDatasourceDefStore, StoreCapabilities } from "./types";
|
|
8
|
+
export type { PageStore, PageSetOptions, EditorMetaStore, RemoteDatasourceDefStore, StoreCapabilities } from "./types";
|
|
9
9
|
import type { PageStore, EditorMetaStore, RemoteDatasourceDefStore, StoreCapabilities } from "./types";
|
|
10
|
+
import type { TemplateStore } from "../../features/content-type-templates/stores/template-store.js";
|
|
10
11
|
export declare function getPageStore(): PageStore;
|
|
11
12
|
export declare function getEditorMetaStore(): EditorMetaStore;
|
|
12
13
|
export declare function getRemoteDatasourceDefStore(): RemoteDatasourceDefStore;
|
|
14
|
+
export declare function getTemplateStore(): TemplateStore;
|
|
13
15
|
/**
|
|
14
16
|
* Replace the active store instances. Call this at app startup
|
|
15
17
|
* before any route handlers or server components access the stores.
|
|
@@ -21,6 +23,7 @@ export declare function initializeStores(stores: {
|
|
|
21
23
|
pageStore?: PageStore;
|
|
22
24
|
editorMetaStore?: EditorMetaStore;
|
|
23
25
|
remoteDatasourceDefStore?: RemoteDatasourceDefStore;
|
|
26
|
+
templateStore?: TemplateStore;
|
|
24
27
|
}): void;
|
|
25
28
|
/**
|
|
26
29
|
* Returns the capabilities of the current store backend.
|
|
@@ -29,4 +32,5 @@ export declare function getCapabilities(): StoreCapabilities;
|
|
|
29
32
|
export declare const pageStore: PageStore;
|
|
30
33
|
export declare const editorMetaStore: EditorMetaStore;
|
|
31
34
|
export declare const remoteDatasourceDefStore: RemoteDatasourceDefStore;
|
|
35
|
+
export declare const templateStore: TemplateStore;
|
|
32
36
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/data/dal/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/data/dal/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEvH,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACvG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gEAAgE,CAAC;AASpG,wBAAgB,YAAY,IAAI,SAAS,CAGxC;AAED,wBAAgB,kBAAkB,IAAI,eAAe,CAGpD;AAED,wBAAgB,2BAA2B,IAAI,wBAAwB,CAGtE;AAED,wBAAgB,gBAAgB,IAAI,aAAa,CAGhD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B,GAAG,IAAI,CAKP;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,iBAAiB,CAOnD;AAMD,eAAO,MAAM,SAAS,EAAE,SAMvB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,eAI7B,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,wBAGtC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,aAY3B,CAAC"}
|
package/dist/data/dal/index.js
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
let _pageStore = null;
|
|
10
10
|
let _editorMetaStore = null;
|
|
11
11
|
let _remoteDatasourceDefStore = null;
|
|
12
|
+
let _templateStore = null;
|
|
12
13
|
export function getPageStore() {
|
|
13
14
|
if (!_pageStore)
|
|
14
15
|
throw new Error("Page store not initialized. Call ensureInitialized() first.");
|
|
@@ -24,6 +25,11 @@ export function getRemoteDatasourceDefStore() {
|
|
|
24
25
|
throw new Error("Remote datasource def store not initialized. Call ensureInitialized() first.");
|
|
25
26
|
return _remoteDatasourceDefStore;
|
|
26
27
|
}
|
|
28
|
+
export function getTemplateStore() {
|
|
29
|
+
if (!_templateStore)
|
|
30
|
+
throw new Error("Template store not initialized. Call ensureInitialized() first.");
|
|
31
|
+
return _templateStore;
|
|
32
|
+
}
|
|
27
33
|
/**
|
|
28
34
|
* Replace the active store instances. Call this at app startup
|
|
29
35
|
* before any route handlers or server components access the stores.
|
|
@@ -38,6 +44,8 @@ export function initializeStores(stores) {
|
|
|
38
44
|
_editorMetaStore = stores.editorMetaStore;
|
|
39
45
|
if (stores.remoteDatasourceDefStore)
|
|
40
46
|
_remoteDatasourceDefStore = stores.remoteDatasourceDefStore;
|
|
47
|
+
if (stores.templateStore)
|
|
48
|
+
_templateStore = stores.templateStore;
|
|
41
49
|
}
|
|
42
50
|
/**
|
|
43
51
|
* Returns the capabilities of the current store backend.
|
|
@@ -55,7 +63,7 @@ export function getCapabilities() {
|
|
|
55
63
|
// store swap made via initializeStores().
|
|
56
64
|
export const pageStore = {
|
|
57
65
|
get(path) { return getPageStore().get(path); },
|
|
58
|
-
set(path, value) { return getPageStore().set(path, value); },
|
|
66
|
+
set(path, value, options) { return getPageStore().set(path, value, options); },
|
|
59
67
|
delete(path) { return getPageStore().delete(path); },
|
|
60
68
|
has(path) { return getPageStore().has(path); },
|
|
61
69
|
keys() { return getPageStore().keys(); },
|
|
@@ -69,4 +77,17 @@ export const remoteDatasourceDefStore = {
|
|
|
69
77
|
list() { return getRemoteDatasourceDefStore().list(); },
|
|
70
78
|
save(remoteDatasources) { getRemoteDatasourceDefStore().save(remoteDatasources); },
|
|
71
79
|
};
|
|
80
|
+
export const templateStore = {
|
|
81
|
+
create(params) { return getTemplateStore().create(params); },
|
|
82
|
+
get(id) { return getTemplateStore().get(id); },
|
|
83
|
+
list() { return getTemplateStore().list(); },
|
|
84
|
+
update(id, params) { return getTemplateStore().update(id, params); },
|
|
85
|
+
delete(id) { return getTemplateStore().delete(id); },
|
|
86
|
+
getBinding(documentId) { return getTemplateStore().getBinding(documentId); },
|
|
87
|
+
setBinding(documentId, templateId, templateVersion) {
|
|
88
|
+
return getTemplateStore().setBinding(documentId, templateId, templateVersion);
|
|
89
|
+
},
|
|
90
|
+
listBindings(templateId) { return getTemplateStore().listBindings(templateId); },
|
|
91
|
+
removeBinding(documentId) { return getTemplateStore().removeBinding(documentId); },
|
|
92
|
+
};
|
|
72
93
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/data/dal/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/data/dal/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/data/dal/init.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,WAAW,YAAY;IAC3B,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAID;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/data/dal/init.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,WAAW,YAAY;IAC3B,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAID;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CASzE;AA4ED,yBAAyB;AACzB,wBAAgB,UAAU,IAAI,IAAI,CAEjC"}
|
package/dist/data/dal/init.js
CHANGED
|
@@ -15,7 +15,11 @@ let _initPromise = null;
|
|
|
15
15
|
*/
|
|
16
16
|
export function ensureInitialized(dataConfig) {
|
|
17
17
|
if (!_initPromise) {
|
|
18
|
-
_initPromise = doInit(dataConfig)
|
|
18
|
+
_initPromise = doInit(dataConfig).catch((err) => {
|
|
19
|
+
console.error("[puck-css] initialization failed:", err.message);
|
|
20
|
+
_initPromise = null;
|
|
21
|
+
throw err;
|
|
22
|
+
});
|
|
19
23
|
}
|
|
20
24
|
return _initPromise;
|
|
21
25
|
}
|
|
@@ -32,29 +36,33 @@ async function doInit(cfg) {
|
|
|
32
36
|
baseUrl: p1BaseUrl,
|
|
33
37
|
apiKey: cfg.p1ApiKey,
|
|
34
38
|
});
|
|
35
|
-
// Auto-detect main branch when no branchId provided.
|
|
36
|
-
let branchId = cfg.p1BranchId ?? "";
|
|
37
|
-
if (!branchId) {
|
|
38
|
-
const branches = await client.branches.list(p1SiteId);
|
|
39
|
-
const main = branches.find((b) => b.isMain);
|
|
40
|
-
if (!main) {
|
|
41
|
-
throw new Error("No main branch found for site " + p1SiteId);
|
|
42
|
-
}
|
|
43
|
-
branchId = main.id;
|
|
44
|
-
}
|
|
45
39
|
// Content client for published-only reads on public pages.
|
|
46
|
-
//
|
|
40
|
+
// No branchId: the content delivery API defaults to main, and passing
|
|
41
|
+
// ?branch= would cause a 403 for read:published tokens (mainBranchOnly enforcement).
|
|
47
42
|
const contentClient = new P1ContentClientCtor({
|
|
48
43
|
baseUrl: p1BaseUrl,
|
|
49
44
|
apiToken: cfg.p1ApiKey ?? "",
|
|
50
45
|
siteId: p1SiteId,
|
|
51
|
-
branchId,
|
|
52
46
|
});
|
|
53
47
|
const pageStore = createP1PageStore({
|
|
54
48
|
client,
|
|
55
49
|
contentClient,
|
|
56
50
|
siteId: p1SiteId,
|
|
57
|
-
branchId,
|
|
51
|
+
branchId: cfg.p1BranchId,
|
|
52
|
+
// Branch auto-detection deferred to the first editor request so it runs
|
|
53
|
+
// under the user's bearer token. A read:published sat_ token cannot reach
|
|
54
|
+
// the branches endpoint, so detection must not happen at init time.
|
|
55
|
+
resolveBranchId: async (bearerToken) => {
|
|
56
|
+
const authClient = new P1ClientCtor({
|
|
57
|
+
baseUrl: p1BaseUrl,
|
|
58
|
+
authProvider: async () => `Bearer ${bearerToken}`,
|
|
59
|
+
});
|
|
60
|
+
const branches = await authClient.branches.list(p1SiteId);
|
|
61
|
+
const main = branches.find((b) => b.isMain);
|
|
62
|
+
if (!main)
|
|
63
|
+
throw new Error("No main branch found for site " + p1SiteId);
|
|
64
|
+
return main.id;
|
|
65
|
+
},
|
|
58
66
|
createAuthClient: (bearerToken) => {
|
|
59
67
|
return new P1ClientCtor({
|
|
60
68
|
baseUrl: p1BaseUrl,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/data/dal/init.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAqD,MAAM,YAAY,CAAC;AAkBlG,IAAI,YAAY,GAAyB,IAAI,CAAC;AAE9C;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAwB;IACxD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/data/dal/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ export interface P1StoreClient {
|
|
|
15
15
|
list(siteId: string, branchId: string): Promise<{
|
|
16
16
|
id: string;
|
|
17
17
|
path: string;
|
|
18
|
+
templateId?: string | null;
|
|
18
19
|
}[]>;
|
|
19
20
|
getByPath(siteId: string, path: string): Promise<{
|
|
20
21
|
id: string;
|
|
@@ -24,6 +25,8 @@ export interface P1StoreClient {
|
|
|
24
25
|
siteId: string;
|
|
25
26
|
branchId: string;
|
|
26
27
|
path: string;
|
|
28
|
+
templateId?: string;
|
|
29
|
+
templateVersion?: number;
|
|
27
30
|
}): Promise<{
|
|
28
31
|
id: string;
|
|
29
32
|
path: string;
|
|
@@ -56,7 +59,18 @@ export interface P1StoreConfig {
|
|
|
56
59
|
*/
|
|
57
60
|
contentClient?: P1ContentClientInterface;
|
|
58
61
|
siteId: string;
|
|
59
|
-
|
|
62
|
+
/**
|
|
63
|
+
* Branch ID for authoring operations. When omitted, resolved lazily on the
|
|
64
|
+
* first editor request via resolveBranchId. Not required for public reads —
|
|
65
|
+
* those use contentClient which defaults to the main branch server-side.
|
|
66
|
+
*/
|
|
67
|
+
branchId?: string;
|
|
68
|
+
/**
|
|
69
|
+
* Called on the first editor operation when branchId is not pre-configured.
|
|
70
|
+
* Receives the bearer token from the active request context so branch
|
|
71
|
+
* detection runs under the user's credentials, not the sat_ API key.
|
|
72
|
+
*/
|
|
73
|
+
resolveBranchId?: (bearerToken: string) => Promise<string>;
|
|
60
74
|
/** Factory to create a client with a specific bearer token (for user-auth writes). */
|
|
61
75
|
createAuthClient?: (bearerToken: string) => P1StoreClient;
|
|
62
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p1-store.d.ts","sourceRoot":"","sources":["../../../src/data/dal/p1-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"p1-store.d.ts","sourceRoot":"","sources":["../../../src/data/dal/p1-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAgC,MAAM,SAAS,CAAC;AAGvE;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE;QACT,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,EAAE,CAAC,CAAC;QAC5G,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC/E,MAAM,CAAC,MAAM,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,CAAC;YAAC,eAAe,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACzJ,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KAC7E,CAAC;IACF,QAAQ,EAAE;QACR,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC,CAAC;QAChH,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KAC/H,CAAC;CACH;AAED,uEAAuE;AACvE,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;CAC1E;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,aAAa,CAAC;IACtB;;;;OAIG;IACH,aAAa,CAAC,EAAE,wBAAwB,CAAC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3D,sFAAsF;IACtF,gBAAgB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,aAAa,CAAC;CAC3D;AAwCD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,CA0JlE"}
|
|
@@ -38,8 +38,27 @@ async function withRetry(fn, retries, delayMs) {
|
|
|
38
38
|
throw lastErr;
|
|
39
39
|
}
|
|
40
40
|
export function createP1PageStore(config) {
|
|
41
|
-
const { client, contentClient, siteId,
|
|
41
|
+
const { client, contentClient, siteId, createAuthClient } = config;
|
|
42
42
|
let _keysCache = null;
|
|
43
|
+
let _resolvedBranchIdPromise = null;
|
|
44
|
+
// Returns the branch ID, resolving it lazily on the first editor request when
|
|
45
|
+
// not pre-configured. Resolution uses the request's bearer token so it never
|
|
46
|
+
// requires sat_ token access to the branches endpoint.
|
|
47
|
+
function getBranchId() {
|
|
48
|
+
if (config.branchId)
|
|
49
|
+
return Promise.resolve(config.branchId);
|
|
50
|
+
if (!_resolvedBranchIdPromise) {
|
|
51
|
+
const token = getRequestAuthToken();
|
|
52
|
+
if (!token || !config.resolveBranchId) {
|
|
53
|
+
return Promise.reject(new Error("Branch ID required for editor operations: set p1BranchId in config or use an authenticated request."));
|
|
54
|
+
}
|
|
55
|
+
_resolvedBranchIdPromise = config.resolveBranchId(token).catch((err) => {
|
|
56
|
+
_resolvedBranchIdPromise = null;
|
|
57
|
+
throw err;
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
return _resolvedBranchIdPromise;
|
|
61
|
+
}
|
|
43
62
|
function writeClient() {
|
|
44
63
|
const token = getRequestAuthToken();
|
|
45
64
|
if (token && createAuthClient) {
|
|
@@ -66,6 +85,7 @@ export function createP1PageStore(config) {
|
|
|
66
85
|
}
|
|
67
86
|
// Editor context (auth token present) or no content client: return latest version.
|
|
68
87
|
try {
|
|
88
|
+
const branchId = await getBranchId();
|
|
69
89
|
const doc = await client.documents.getByPath(siteId, toDocPath(path));
|
|
70
90
|
const version = await client.versions.getLatest(siteId, branchId, doc.id);
|
|
71
91
|
return version.snapshot;
|
|
@@ -75,16 +95,26 @@ export function createP1PageStore(config) {
|
|
|
75
95
|
return undefined;
|
|
76
96
|
}
|
|
77
97
|
},
|
|
78
|
-
async set(path, value) {
|
|
98
|
+
async set(path, value, options) {
|
|
79
99
|
const wc = writeClient();
|
|
80
100
|
const dp = toDocPath(path);
|
|
101
|
+
const branchId = await getBranchId();
|
|
81
102
|
let docId;
|
|
82
103
|
try {
|
|
83
104
|
const existing = await client.documents.getByPath(siteId, dp);
|
|
84
105
|
docId = existing.id;
|
|
85
106
|
}
|
|
86
107
|
catch {
|
|
87
|
-
const
|
|
108
|
+
const createParams = {
|
|
109
|
+
siteId, branchId, path: dp,
|
|
110
|
+
};
|
|
111
|
+
if (options?.templateId) {
|
|
112
|
+
createParams.templateId = options.templateId;
|
|
113
|
+
}
|
|
114
|
+
if (options?.templateVersion != null) {
|
|
115
|
+
createParams.templateVersion = options.templateVersion;
|
|
116
|
+
}
|
|
117
|
+
const created = await wc.documents.create(createParams);
|
|
88
118
|
docId = created.id;
|
|
89
119
|
}
|
|
90
120
|
await wc.versions.create(siteId, {
|
|
@@ -96,6 +126,7 @@ export function createP1PageStore(config) {
|
|
|
96
126
|
},
|
|
97
127
|
async delete(path) {
|
|
98
128
|
try {
|
|
129
|
+
const branchId = await getBranchId();
|
|
99
130
|
const doc = await client.documents.getByPath(siteId, toDocPath(path));
|
|
100
131
|
await writeClient().documents.delete(siteId, branchId, doc.id);
|
|
101
132
|
}
|
|
@@ -119,16 +150,31 @@ export function createP1PageStore(config) {
|
|
|
119
150
|
if (_keysCache && now - _keysCache.ts < KEYS_CACHE_TTL_MS) {
|
|
120
151
|
return _keysCache.promise;
|
|
121
152
|
}
|
|
122
|
-
const promise =
|
|
153
|
+
const promise = getBranchId()
|
|
154
|
+
.then((branchId) => withRetry(() => client.documents.list(siteId, branchId), KEYS_MAX_RETRIES, KEYS_RETRY_DELAY_MS))
|
|
123
155
|
.then((docs) => docs.map((d) => toStorePath(d.path)))
|
|
124
156
|
.catch((err) => {
|
|
125
|
-
console.error("[css-store]
|
|
157
|
+
console.error("[css-store] keys() failed:", err.message);
|
|
126
158
|
invalidateKeysCache();
|
|
127
159
|
return [];
|
|
128
160
|
});
|
|
129
161
|
_keysCache = { promise, ts: now };
|
|
130
162
|
return promise;
|
|
131
163
|
},
|
|
164
|
+
async listDocuments() {
|
|
165
|
+
try {
|
|
166
|
+
const resolvedBranchId = await getBranchId();
|
|
167
|
+
const docs = await withRetry(() => client.documents.list(siteId, resolvedBranchId), KEYS_MAX_RETRIES, KEYS_RETRY_DELAY_MS);
|
|
168
|
+
return docs.map((d) => ({
|
|
169
|
+
path: toStorePath(d.path),
|
|
170
|
+
templateId: d.templateId ?? undefined,
|
|
171
|
+
}));
|
|
172
|
+
}
|
|
173
|
+
catch (err) {
|
|
174
|
+
console.error("[css-store] listDocuments failed:", err.message);
|
|
175
|
+
return [];
|
|
176
|
+
}
|
|
177
|
+
},
|
|
132
178
|
};
|
|
133
179
|
}
|
|
134
180
|
//# sourceMappingURL=p1-store.js.map
|