@cmssy/core 13.0.1 → 14.1.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.
@@ -1,10 +1,21 @@
1
- import { LayoutRegion, CmssyClientConfig, BlockRect, BlockSchema, BlockMeta } from '@cmssy/types';
1
+ import { LayoutRegion, BlockPropsSchema, InferBlockContent, CmssyClientConfig, BlockRect, BlockSchema, BlockMeta } from '@cmssy/types';
2
2
  import { G as GraphqlRequestOptions } from './locale-JyBHqpAQ.cjs';
3
3
 
4
4
  interface CmssyLayout<R extends readonly LayoutRegion[] = readonly LayoutRegion[]> {
5
5
  readonly regions: R;
6
6
  }
7
7
  type CmssyRegion<L extends CmssyLayout> = L["regions"][number]["id"];
8
+ type RegionSettingsOf<Region> = [Region] extends [
9
+ {
10
+ settings: infer S extends BlockPropsSchema;
11
+ }
12
+ ] ? BlockPropsSchema extends S ? Record<string, never> : InferBlockContent<S> : Record<string, never>;
13
+ type CmssyRegionSettings<L extends CmssyLayout, R extends CmssyRegion<L>> = string extends CmssyRegion<L> ? Record<string, never> : RegionSettingsOf<Extract<L["regions"][number], {
14
+ id: R;
15
+ }>>;
16
+ type CmssyRegionSettingsOf<C extends {
17
+ layout?: CmssyLayout;
18
+ }, R extends string> = string extends CmssyRegion<NonNullable<C["layout"]>> ? Record<string, unknown> : R extends CmssyRegion<NonNullable<C["layout"]>> ? CmssyRegionSettings<NonNullable<C["layout"]>, R> : Record<string, never>;
8
19
  declare function defineCmssyLayout<const R extends readonly LayoutRegion[]>(layout: CmssyLayout<R>): CmssyLayout<R>;
9
20
  declare function layoutRegionIds(layout: CmssyLayout | undefined): string[];
10
21
 
@@ -183,4 +194,4 @@ declare function toCspOrigin(origin: string): string;
183
194
  declare function cmssyCspHeaders(options: CmssyCspOptions): Record<string, string>;
184
195
  declare function applyCmssyCsp<T extends MutableHeaders>(response: T, options: CmssyCspOptions): T;
185
196
 
186
- export { type AppToEditorMessage as A, type BoundsMessage as B, type ClickMessage as C, DEFAULT_CMSSY_EDITOR_ORIGINS as D, type EditorToAppMessage as E, layoutRegionIds as F, resolveInitialTarget as G, toCspOrigin as H, type InvisibleBlock as I, PROTOCOL_VERSION as P, type QueryScopedOptions as Q, type ReadyMessage as R, SHORTCUT_ACTIONS as S, type ViewportMessage as V, type CmssyClient as a, type CmssyConfig as b, type CmssyCspOptions as c, type CmssyEnvConfig as d, type CmssyLayout as e, type CmssyRegion as f, type CmssyRegionOf as g, type CmssyTypedDocument as h, type InvisibleBlocksMessage as i, type ParentReadyMessage as j, type PatchMessage as k, type PostTarget as l, type SelectMessage as m, type ShortcutAction as n, type ShortcutMessage as o, applyCmssyCsp as p, createCmssyClient as q, defineCmssyConfig as r, defineCmssyLayout as s, isProtocolCompatible as t, normalizeOrigin as u, parseEditorMessage as v, postToEditor as w, resolveEditorOrigin as x, cmssyCspHeaders as y, isDevelopment as z };
197
+ export { type AppToEditorMessage as A, type BoundsMessage as B, type ClickMessage as C, DEFAULT_CMSSY_EDITOR_ORIGINS as D, type EditorToAppMessage as E, cmssyCspHeaders as F, isDevelopment as G, layoutRegionIds as H, type InvisibleBlock as I, resolveInitialTarget as J, toCspOrigin as K, PROTOCOL_VERSION as P, type QueryScopedOptions as Q, type ReadyMessage as R, SHORTCUT_ACTIONS as S, type ViewportMessage as V, type CmssyClient as a, type CmssyConfig as b, type CmssyCspOptions as c, type CmssyEnvConfig as d, type CmssyLayout as e, type CmssyRegion as f, type CmssyRegionOf as g, type CmssyRegionSettings as h, type CmssyRegionSettingsOf as i, type CmssyTypedDocument as j, type InvisibleBlocksMessage as k, type ParentReadyMessage as l, type PatchMessage as m, type PostTarget as n, type SelectMessage as o, type ShortcutAction as p, type ShortcutMessage as q, applyCmssyCsp as r, createCmssyClient as s, defineCmssyConfig as t, defineCmssyLayout as u, isProtocolCompatible as v, normalizeOrigin as w, parseEditorMessage as x, postToEditor as y, resolveEditorOrigin as z };
@@ -1,10 +1,21 @@
1
- import { LayoutRegion, CmssyClientConfig, BlockRect, BlockSchema, BlockMeta } from '@cmssy/types';
1
+ import { LayoutRegion, BlockPropsSchema, InferBlockContent, CmssyClientConfig, BlockRect, BlockSchema, BlockMeta } from '@cmssy/types';
2
2
  import { G as GraphqlRequestOptions } from './locale-D9KI4bND.js';
3
3
 
4
4
  interface CmssyLayout<R extends readonly LayoutRegion[] = readonly LayoutRegion[]> {
5
5
  readonly regions: R;
6
6
  }
7
7
  type CmssyRegion<L extends CmssyLayout> = L["regions"][number]["id"];
8
+ type RegionSettingsOf<Region> = [Region] extends [
9
+ {
10
+ settings: infer S extends BlockPropsSchema;
11
+ }
12
+ ] ? BlockPropsSchema extends S ? Record<string, never> : InferBlockContent<S> : Record<string, never>;
13
+ type CmssyRegionSettings<L extends CmssyLayout, R extends CmssyRegion<L>> = string extends CmssyRegion<L> ? Record<string, never> : RegionSettingsOf<Extract<L["regions"][number], {
14
+ id: R;
15
+ }>>;
16
+ type CmssyRegionSettingsOf<C extends {
17
+ layout?: CmssyLayout;
18
+ }, R extends string> = string extends CmssyRegion<NonNullable<C["layout"]>> ? Record<string, unknown> : R extends CmssyRegion<NonNullable<C["layout"]>> ? CmssyRegionSettings<NonNullable<C["layout"]>, R> : Record<string, never>;
8
19
  declare function defineCmssyLayout<const R extends readonly LayoutRegion[]>(layout: CmssyLayout<R>): CmssyLayout<R>;
9
20
  declare function layoutRegionIds(layout: CmssyLayout | undefined): string[];
10
21
 
@@ -183,4 +194,4 @@ declare function toCspOrigin(origin: string): string;
183
194
  declare function cmssyCspHeaders(options: CmssyCspOptions): Record<string, string>;
184
195
  declare function applyCmssyCsp<T extends MutableHeaders>(response: T, options: CmssyCspOptions): T;
185
196
 
186
- export { type AppToEditorMessage as A, type BoundsMessage as B, type ClickMessage as C, DEFAULT_CMSSY_EDITOR_ORIGINS as D, type EditorToAppMessage as E, layoutRegionIds as F, resolveInitialTarget as G, toCspOrigin as H, type InvisibleBlock as I, PROTOCOL_VERSION as P, type QueryScopedOptions as Q, type ReadyMessage as R, SHORTCUT_ACTIONS as S, type ViewportMessage as V, type CmssyClient as a, type CmssyConfig as b, type CmssyCspOptions as c, type CmssyEnvConfig as d, type CmssyLayout as e, type CmssyRegion as f, type CmssyRegionOf as g, type CmssyTypedDocument as h, type InvisibleBlocksMessage as i, type ParentReadyMessage as j, type PatchMessage as k, type PostTarget as l, type SelectMessage as m, type ShortcutAction as n, type ShortcutMessage as o, applyCmssyCsp as p, createCmssyClient as q, defineCmssyConfig as r, defineCmssyLayout as s, isProtocolCompatible as t, normalizeOrigin as u, parseEditorMessage as v, postToEditor as w, resolveEditorOrigin as x, cmssyCspHeaders as y, isDevelopment as z };
197
+ export { type AppToEditorMessage as A, type BoundsMessage as B, type ClickMessage as C, DEFAULT_CMSSY_EDITOR_ORIGINS as D, type EditorToAppMessage as E, cmssyCspHeaders as F, isDevelopment as G, layoutRegionIds as H, type InvisibleBlock as I, resolveInitialTarget as J, toCspOrigin as K, PROTOCOL_VERSION as P, type QueryScopedOptions as Q, type ReadyMessage as R, SHORTCUT_ACTIONS as S, type ViewportMessage as V, type CmssyClient as a, type CmssyConfig as b, type CmssyCspOptions as c, type CmssyEnvConfig as d, type CmssyLayout as e, type CmssyRegion as f, type CmssyRegionOf as g, type CmssyRegionSettings as h, type CmssyRegionSettingsOf as i, type CmssyTypedDocument as j, type InvisibleBlocksMessage as k, type ParentReadyMessage as l, type PatchMessage as m, type PostTarget as n, type SelectMessage as o, type ShortcutAction as p, type ShortcutMessage as q, applyCmssyCsp as r, createCmssyClient as s, defineCmssyConfig as t, defineCmssyLayout as u, isProtocolCompatible as v, normalizeOrigin as w, parseEditorMessage as x, postToEditor as y, resolveEditorOrigin as z };
package/dist/index.cjs CHANGED
@@ -608,6 +608,13 @@ function defineCmssyLayout(layout) {
608
608
  );
609
609
  }
610
610
  }
611
+ if (region.settings !== void 0) {
612
+ if (typeof region.settings !== "object" || region.settings === null || Array.isArray(region.settings)) {
613
+ throw new Error(
614
+ `cmssy: layout region "${region.id}" settings must be a fields.* schema object`
615
+ );
616
+ }
617
+ }
611
618
  }
612
619
  return { regions };
613
620
  }
package/dist/index.d.cts CHANGED
@@ -1,9 +1,9 @@
1
- export { A as AppToEditorMessage, B as BoundsMessage, C as ClickMessage, a as CmssyClient, b as CmssyConfig, c as CmssyCspOptions, d as CmssyEnvConfig, e as CmssyLayout, f as CmssyRegion, g as CmssyRegionOf, h as CmssyTypedDocument, D as DEFAULT_CMSSY_EDITOR_ORIGINS, E as EditorToAppMessage, I as InvisibleBlock, i as InvisibleBlocksMessage, P as PROTOCOL_VERSION, j as ParentReadyMessage, k as PatchMessage, l as PostTarget, Q as QueryScopedOptions, R as ReadyMessage, S as SHORTCUT_ACTIONS, m as SelectMessage, n as ShortcutAction, o as ShortcutMessage, V as ViewportMessage, p as applyCmssyCsp, q as createCmssyClient, r as defineCmssyConfig, s as defineCmssyLayout, t as isProtocolCompatible, u as normalizeOrigin, v as parseEditorMessage, w as postToEditor, x as resolveEditorOrigin } from './csp-hHuxKdMJ.cjs';
1
+ export { A as AppToEditorMessage, B as BoundsMessage, C as ClickMessage, a as CmssyClient, b as CmssyConfig, c as CmssyCspOptions, d as CmssyEnvConfig, e as CmssyLayout, f as CmssyRegion, g as CmssyRegionOf, h as CmssyRegionSettings, i as CmssyRegionSettingsOf, j as CmssyTypedDocument, D as DEFAULT_CMSSY_EDITOR_ORIGINS, E as EditorToAppMessage, I as InvisibleBlock, k as InvisibleBlocksMessage, P as PROTOCOL_VERSION, l as ParentReadyMessage, m as PatchMessage, n as PostTarget, Q as QueryScopedOptions, R as ReadyMessage, S as SHORTCUT_ACTIONS, o as SelectMessage, p as ShortcutAction, q as ShortcutMessage, V as ViewportMessage, r as applyCmssyCsp, s as createCmssyClient, t as defineCmssyConfig, u as defineCmssyLayout, v as isProtocolCompatible, w as normalizeOrigin, x as parseEditorMessage, y as postToEditor, z as resolveEditorOrigin } from './csp-CY7ssZsh.cjs';
2
2
  export { C as CMSSY_LOCALE_HEADER, G as GraphqlRequestOptions, g as graphqlRequest, l as localizeHref, r as resolveCmssyLocale } from './locale-JyBHqpAQ.cjs';
3
3
  export { C as CMSSY_RATE_LIMIT_WINDOW_MS, a as CMSSY_RETRY_MODES, b as CmssyRequestError, c as CmssyRetryMode, D as DEFAULT_CMSSY_API_URL, F as FetchLike, d as FetchLikeResponse, e as FetchPageOptions, R as RetryOption, f as RetryPolicy } from './content-client-65N8ZRq9.cjs';
4
4
  import * as _cmssy_types from '@cmssy/types';
5
5
  import { FieldOptions, TypedField, ResolvedMediaValue, PageRef, BlockPropsSchema, InferBlockContent, RelationMode, CmssyModelRecord, ResolvedMedia, VerifyCmssyWebhookOptions, CmssyWebhookEvent } from '@cmssy/types';
6
- export { BlockMeta, BlockPropsSchema, BlockRect, BlockSchema, BuildBlockContextExtra, CmssyBlockAuthContext, CmssyBlockContext, CmssyBlockMember, CmssyBlockPage, CmssyBlockWorkspace, CmssyBranding, CmssyClientConfig, CmssyFormDefinition, CmssyFormField, CmssyFormSettings, CmssyFormSubmitResponse, CmssyLayoutGroup, CmssyLayoutSettings, CmssyLocaleContext, CmssyLocalizedValue, CmssyModelDefinition, CmssyModelRecord, CmssyPageData, CmssyPageMeta, CmssyPageSummary, CmssyRecordList, CmssySiteConfig, CmssyWebhookEvent, CmssyWebhookOrder, FieldCondition, FieldConditionGroup, FieldConditionLogic, FieldControl, FieldDefinition, FieldOptions, FieldType, InferBlockContent, LayoutPosition, LayoutRegion, RawBlock, RawLayoutBlock, SubmitFormInput, TypedField, VerifyCmssyWebhookOptions, evaluateFieldConditionGroup } from '@cmssy/types';
6
+ export { BlockMeta, BlockPropsSchema, BlockRect, BlockSchema, BuildBlockContextExtra, CmssyBlockAuthContext, CmssyBlockContext, CmssyBlockMember, CmssyBlockPage, CmssyBlockWorkspace, CmssyBranding, CmssyClientConfig, CmssyFormDefinition, CmssyFormField, CmssyFormSettings, CmssyFormSubmitResponse, CmssyLayoutGroup, CmssyLocaleContext, CmssyLocalizedValue, CmssyModelDefinition, CmssyModelRecord, CmssyPageData, CmssyPageMeta, CmssyPageSummary, CmssyRecordList, CmssySiteConfig, CmssyWebhookEvent, CmssyWebhookOrder, FieldCondition, FieldConditionGroup, FieldConditionLogic, FieldControl, FieldDefinition, FieldOptions, FieldType, InferBlockContent, LayoutPosition, LayoutRegion, RawBlock, RawLayoutBlock, SubmitFormInput, TypedField, VerifyCmssyWebhookOptions, evaluateFieldConditionGroup } from '@cmssy/types';
7
7
 
8
8
  /**
9
9
  * Whether the content is guaranteed to carry the field. Only `required` says
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- export { A as AppToEditorMessage, B as BoundsMessage, C as ClickMessage, a as CmssyClient, b as CmssyConfig, c as CmssyCspOptions, d as CmssyEnvConfig, e as CmssyLayout, f as CmssyRegion, g as CmssyRegionOf, h as CmssyTypedDocument, D as DEFAULT_CMSSY_EDITOR_ORIGINS, E as EditorToAppMessage, I as InvisibleBlock, i as InvisibleBlocksMessage, P as PROTOCOL_VERSION, j as ParentReadyMessage, k as PatchMessage, l as PostTarget, Q as QueryScopedOptions, R as ReadyMessage, S as SHORTCUT_ACTIONS, m as SelectMessage, n as ShortcutAction, o as ShortcutMessage, V as ViewportMessage, p as applyCmssyCsp, q as createCmssyClient, r as defineCmssyConfig, s as defineCmssyLayout, t as isProtocolCompatible, u as normalizeOrigin, v as parseEditorMessage, w as postToEditor, x as resolveEditorOrigin } from './csp-9BjyqMRU.js';
1
+ export { A as AppToEditorMessage, B as BoundsMessage, C as ClickMessage, a as CmssyClient, b as CmssyConfig, c as CmssyCspOptions, d as CmssyEnvConfig, e as CmssyLayout, f as CmssyRegion, g as CmssyRegionOf, h as CmssyRegionSettings, i as CmssyRegionSettingsOf, j as CmssyTypedDocument, D as DEFAULT_CMSSY_EDITOR_ORIGINS, E as EditorToAppMessage, I as InvisibleBlock, k as InvisibleBlocksMessage, P as PROTOCOL_VERSION, l as ParentReadyMessage, m as PatchMessage, n as PostTarget, Q as QueryScopedOptions, R as ReadyMessage, S as SHORTCUT_ACTIONS, o as SelectMessage, p as ShortcutAction, q as ShortcutMessage, V as ViewportMessage, r as applyCmssyCsp, s as createCmssyClient, t as defineCmssyConfig, u as defineCmssyLayout, v as isProtocolCompatible, w as normalizeOrigin, x as parseEditorMessage, y as postToEditor, z as resolveEditorOrigin } from './csp-DLCKZAyi.js';
2
2
  export { C as CMSSY_LOCALE_HEADER, G as GraphqlRequestOptions, g as graphqlRequest, l as localizeHref, r as resolveCmssyLocale } from './locale-D9KI4bND.js';
3
3
  export { C as CMSSY_RATE_LIMIT_WINDOW_MS, a as CMSSY_RETRY_MODES, b as CmssyRequestError, c as CmssyRetryMode, D as DEFAULT_CMSSY_API_URL, F as FetchLike, d as FetchLikeResponse, e as FetchPageOptions, R as RetryOption, f as RetryPolicy } from './content-client-65N8ZRq9.js';
4
4
  import * as _cmssy_types from '@cmssy/types';
5
5
  import { FieldOptions, TypedField, ResolvedMediaValue, PageRef, BlockPropsSchema, InferBlockContent, RelationMode, CmssyModelRecord, ResolvedMedia, VerifyCmssyWebhookOptions, CmssyWebhookEvent } from '@cmssy/types';
6
- export { BlockMeta, BlockPropsSchema, BlockRect, BlockSchema, BuildBlockContextExtra, CmssyBlockAuthContext, CmssyBlockContext, CmssyBlockMember, CmssyBlockPage, CmssyBlockWorkspace, CmssyBranding, CmssyClientConfig, CmssyFormDefinition, CmssyFormField, CmssyFormSettings, CmssyFormSubmitResponse, CmssyLayoutGroup, CmssyLayoutSettings, CmssyLocaleContext, CmssyLocalizedValue, CmssyModelDefinition, CmssyModelRecord, CmssyPageData, CmssyPageMeta, CmssyPageSummary, CmssyRecordList, CmssySiteConfig, CmssyWebhookEvent, CmssyWebhookOrder, FieldCondition, FieldConditionGroup, FieldConditionLogic, FieldControl, FieldDefinition, FieldOptions, FieldType, InferBlockContent, LayoutPosition, LayoutRegion, RawBlock, RawLayoutBlock, SubmitFormInput, TypedField, VerifyCmssyWebhookOptions, evaluateFieldConditionGroup } from '@cmssy/types';
6
+ export { BlockMeta, BlockPropsSchema, BlockRect, BlockSchema, BuildBlockContextExtra, CmssyBlockAuthContext, CmssyBlockContext, CmssyBlockMember, CmssyBlockPage, CmssyBlockWorkspace, CmssyBranding, CmssyClientConfig, CmssyFormDefinition, CmssyFormField, CmssyFormSettings, CmssyFormSubmitResponse, CmssyLayoutGroup, CmssyLocaleContext, CmssyLocalizedValue, CmssyModelDefinition, CmssyModelRecord, CmssyPageData, CmssyPageMeta, CmssyPageSummary, CmssyRecordList, CmssySiteConfig, CmssyWebhookEvent, CmssyWebhookOrder, FieldCondition, FieldConditionGroup, FieldConditionLogic, FieldControl, FieldDefinition, FieldOptions, FieldType, InferBlockContent, LayoutPosition, LayoutRegion, RawBlock, RawLayoutBlock, SubmitFormInput, TypedField, VerifyCmssyWebhookOptions, evaluateFieldConditionGroup } from '@cmssy/types';
7
7
 
8
8
  /**
9
9
  * Whether the content is guaranteed to carry the field. Only `required` says
package/dist/index.js CHANGED
@@ -607,6 +607,13 @@ function defineCmssyLayout(layout) {
607
607
  );
608
608
  }
609
609
  }
610
+ if (region.settings !== void 0) {
611
+ if (typeof region.settings !== "object" || region.settings === null || Array.isArray(region.settings)) {
612
+ throw new Error(
613
+ `cmssy: layout region "${region.id}" settings must be a fields.* schema object`
614
+ );
615
+ }
616
+ }
610
617
  }
611
618
  return { regions };
612
619
  }
package/dist/internal.cjs CHANGED
@@ -259,7 +259,7 @@ var PUBLIC_PAGE_LAYOUTS_QUERY = `query PublicPageLayouts($workspaceSlug: String!
259
259
  layouts(workspaceSlug: $workspaceSlug, pageSlug: $pageSlug, previewSecret: $previewSecret) {
260
260
  position
261
261
  blocks { id type content style advanced order isActive }
262
- settings { desktopWidth mobileBehavior }
262
+ settings
263
263
  }
264
264
  }
265
265
  }
@@ -1142,8 +1142,9 @@ function buildBlockContext(locale, defaultLocale, enabledLocales, isPreview, for
1142
1142
  ...extra?.workspace ? { workspace: extra.workspace } : {},
1143
1143
  ...extra?.page?.slug ? {
1144
1144
  page: {
1145
- id: extra.page.id,
1145
+ ...extra.page.id !== void 0 ? { id: extra.page.id } : {},
1146
1146
  slug: extra.page.slug,
1147
+ path: extra.page.slug.split("/").filter(Boolean),
1147
1148
  pageType: extra.page.pageType ?? null
1148
1149
  }
1149
1150
  } : {},
@@ -3,8 +3,8 @@ import { CmssyFormDefinition, BuildBlockContextExtra, CmssyBlockContext, CmssyCl
3
3
  export { CmssySiteLocales } from '@cmssy/types';
4
4
  import { G as GraphqlRequestOptions } from './locale-JyBHqpAQ.cjs';
5
5
  export { C as CMSSY_LOCALE_HEADER, a as localeForPath, b as localeForPathname, l as localizeHref, c as resolveSiteLocales, s as splitCmssyLocale, d as splitLocaleFromPath } from './locale-JyBHqpAQ.cjs';
6
- import { Q as QueryScopedOptions } from './csp-hHuxKdMJ.cjs';
7
- export { y as cmssyCspHeaders, z as isDevelopment, F as layoutRegionIds, G as resolveInitialTarget, H as toCspOrigin } from './csp-hHuxKdMJ.cjs';
6
+ import { Q as QueryScopedOptions } from './csp-CY7ssZsh.cjs';
7
+ export { F as cmssyCspHeaders, G as isDevelopment, H as layoutRegionIds, J as resolveInitialTarget, K as toCspOrigin } from './csp-CY7ssZsh.cjs';
8
8
  export { localizedPath } from './internal/locale.cjs';
9
9
 
10
10
  declare const SITE_CONFIG_QUERY = "query PublicSiteConfig($workspaceSlug: String!) {\n public {\n siteConfig(workspaceSlug: $workspaceSlug) {\n id\n workspaceId\n siteName\n defaultLanguage\n enabledLanguages\n enabledFeatures\n notFoundPageId\n previewUrl\n branding {\n brandName\n logoUrl\n logoDarkUrl\n faviconUrl\n ogImageUrl\n }\n }\n }\n}";
@@ -3,8 +3,8 @@ import { CmssyFormDefinition, BuildBlockContextExtra, CmssyBlockContext, CmssyCl
3
3
  export { CmssySiteLocales } from '@cmssy/types';
4
4
  import { G as GraphqlRequestOptions } from './locale-D9KI4bND.js';
5
5
  export { C as CMSSY_LOCALE_HEADER, a as localeForPath, b as localeForPathname, l as localizeHref, c as resolveSiteLocales, s as splitCmssyLocale, d as splitLocaleFromPath } from './locale-D9KI4bND.js';
6
- import { Q as QueryScopedOptions } from './csp-9BjyqMRU.js';
7
- export { y as cmssyCspHeaders, z as isDevelopment, F as layoutRegionIds, G as resolveInitialTarget, H as toCspOrigin } from './csp-9BjyqMRU.js';
6
+ import { Q as QueryScopedOptions } from './csp-DLCKZAyi.js';
7
+ export { F as cmssyCspHeaders, G as isDevelopment, H as layoutRegionIds, J as resolveInitialTarget, K as toCspOrigin } from './csp-DLCKZAyi.js';
8
8
  export { localizedPath } from './internal/locale.js';
9
9
 
10
10
  declare const SITE_CONFIG_QUERY = "query PublicSiteConfig($workspaceSlug: String!) {\n public {\n siteConfig(workspaceSlug: $workspaceSlug) {\n id\n workspaceId\n siteName\n defaultLanguage\n enabledLanguages\n enabledFeatures\n notFoundPageId\n previewUrl\n branding {\n brandName\n logoUrl\n logoDarkUrl\n faviconUrl\n ogImageUrl\n }\n }\n }\n}";
package/dist/internal.js CHANGED
@@ -257,7 +257,7 @@ var PUBLIC_PAGE_LAYOUTS_QUERY = `query PublicPageLayouts($workspaceSlug: String!
257
257
  layouts(workspaceSlug: $workspaceSlug, pageSlug: $pageSlug, previewSecret: $previewSecret) {
258
258
  position
259
259
  blocks { id type content style advanced order isActive }
260
- settings { desktopWidth mobileBehavior }
260
+ settings
261
261
  }
262
262
  }
263
263
  }
@@ -1140,8 +1140,9 @@ function buildBlockContext(locale, defaultLocale, enabledLocales, isPreview, for
1140
1140
  ...extra?.workspace ? { workspace: extra.workspace } : {},
1141
1141
  ...extra?.page?.slug ? {
1142
1142
  page: {
1143
- id: extra.page.id,
1143
+ ...extra.page.id !== void 0 ? { id: extra.page.id } : {},
1144
1144
  slug: extra.page.slug,
1145
+ path: extra.page.slug.split("/").filter(Boolean),
1145
1146
  pageType: extra.page.pageType ?? null
1146
1147
  }
1147
1148
  } : {},
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cmssy/core",
3
- "version": "13.0.1",
3
+ "version": "14.1.0",
4
4
  "description": "Framework-agnostic cmssy gateway: GraphQL client, block/field system, editor protocol. No React, no Next.",
5
5
  "keywords": [
6
6
  "cmssy",
@@ -87,7 +87,7 @@
87
87
  "vitest": "^2.1.0"
88
88
  },
89
89
  "dependencies": {
90
- "@cmssy/types": "0.37.0",
90
+ "@cmssy/types": "0.39.0",
91
91
  "jose": "^6.2.3"
92
92
  },
93
93
  "scripts": {