@se-studio/core-ui 1.0.49 → 1.0.51

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.
Files changed (30) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/analytics/adapters/GoogleTagManagerAdapter.d.ts.map +1 -1
  3. package/dist/analytics/adapters/GoogleTagManagerAdapter.js +14 -0
  4. package/dist/analytics/adapters/GoogleTagManagerAdapter.js.map +1 -1
  5. package/dist/cmsRegistration.d.ts +6 -0
  6. package/dist/cmsRegistration.d.ts.map +1 -1
  7. package/dist/cmsRegistration.js +16 -1
  8. package/dist/cmsRegistration.js.map +1 -1
  9. package/dist/components/StructuredData.d.ts.map +1 -1
  10. package/dist/components/StructuredData.js +65 -2
  11. package/dist/components/StructuredData.js.map +1 -1
  12. package/dist/index.d.ts +1 -1
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/showcase/components/ShowcaseAllRenderPage.d.ts +3 -1
  15. package/dist/showcase/components/ShowcaseAllRenderPage.d.ts.map +1 -1
  16. package/dist/showcase/components/ShowcaseAllRenderPage.js +7 -3
  17. package/dist/showcase/components/ShowcaseAllRenderPage.js.map +1 -1
  18. package/dist/showcase/components/ShowcasePage.d.ts +3 -1
  19. package/dist/showcase/components/ShowcasePage.d.ts.map +1 -1
  20. package/dist/showcase/components/ShowcasePage.js +7 -3
  21. package/dist/showcase/components/ShowcasePage.js.map +1 -1
  22. package/dist/utils/buildPageMetadata.d.ts +5 -0
  23. package/dist/utils/buildPageMetadata.d.ts.map +1 -1
  24. package/dist/utils/buildPageMetadata.js +1 -1
  25. package/dist/utils/buildPageMetadata.js.map +1 -1
  26. package/dist/utils/structuredDataUtils.d.ts +85 -34
  27. package/dist/utils/structuredDataUtils.d.ts.map +1 -1
  28. package/dist/utils/structuredDataUtils.js +44 -39
  29. package/dist/utils/structuredDataUtils.js.map +1 -1
  30. package/package.json +4 -4
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @se-studio/core-ui
2
2
 
3
+ ## 1.0.51
4
+
5
+ ### Patch Changes
6
+
7
+ - Bulk version bump: patch for all packages
8
+ - Updated dependencies
9
+ - @se-studio/contentful-rest-api@1.0.51
10
+ - @se-studio/core-data-types@1.0.51
11
+
12
+ ## 1.0.50
13
+
14
+ ### Patch Changes
15
+
16
+ - Bulk version bump: patch for all packages
17
+ - Updated dependencies
18
+ - @se-studio/contentful-rest-api@1.0.50
19
+ - @se-studio/core-data-types@1.0.50
20
+
3
21
  ## 1.0.49
4
22
 
5
23
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"GoogleTagManagerAdapter.d.ts","sourceRoot":"","sources":["../../../src/analytics/adapters/GoogleTagManagerAdapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAElG,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,SAAS,EAAE,OAAO,EAAE,CAAC;KACtB;CACF;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,iCAAiC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,uBAAwB,YAAW,gBAAgB;IAC9D,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAyB;gBAE3B,MAAM,EAAE,sBAAsB;IAK1C;;OAEG;IACH,OAAO,CAAC,IAAI;IAMZ;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,UAAU;IAqClB;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,YAAY;IAkBnC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAapE,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,sBAAsB,GAAG,IAAI;IAiBhE,UAAU,CAAC,UAAU,EAAE,uBAAuB,GAAG,IAAI;CAYtD"}
1
+ {"version":3,"file":"GoogleTagManagerAdapter.d.ts","sourceRoot":"","sources":["../../../src/analytics/adapters/GoogleTagManagerAdapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAElG,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,SAAS,EAAE,OAAO,EAAE,CAAC;KACtB;CACF;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,iCAAiC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,uBAAwB,YAAW,gBAAgB;IAC9D,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAyB;gBAE3B,MAAM,EAAE,sBAAsB;IAK1C;;OAEG;IACH,OAAO,CAAC,IAAI;IAMZ;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,UAAU;IA2DlB;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,YAAY;IAkBnC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAapE,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,sBAAsB,GAAG,IAAI;IAiBhE,UAAU,CAAC,UAAU,EAAE,uBAAuB,GAAG,IAAI;CAYtD"}
@@ -39,6 +39,13 @@ export class GoogleTagManagerAdapter {
39
39
  // IMPORTANT: Initialize consent BEFORE loading GTM
40
40
  this.initializeConsentMode();
41
41
  if (containerId) {
42
+ // Check if GTM script already exists
43
+ const existingScript = document.querySelector(`script[src*="googletagmanager.com/gtm.js?id=${containerId}"]`);
44
+ if (existingScript) {
45
+ console.warn(`[GTM Adapter] GTM script with ID ${containerId} already exists in document.`);
46
+ this.initialized = true;
47
+ return;
48
+ }
42
49
  // Load GTM
43
50
  window.dataLayer.push({ 'gtm.start': Date.now(), event: 'gtm.js' });
44
51
  const script = document.createElement('script');
@@ -47,6 +54,13 @@ export class GoogleTagManagerAdapter {
47
54
  document.head.appendChild(script);
48
55
  }
49
56
  else if (measurementId) {
57
+ // Check if GA4 script already exists
58
+ const existingScript = document.querySelector(`script[src*="googletagmanager.com/gtag/js?id=${measurementId}"]`);
59
+ if (existingScript) {
60
+ console.warn(`[GTM Adapter] GA4 script with ID ${measurementId} already exists in document.`);
61
+ this.initialized = true;
62
+ return;
63
+ }
50
64
  // Load GA4 directly (gtag.js)
51
65
  const script = document.createElement('script');
52
66
  script.async = true;
@@ -1 +1 @@
1
- {"version":3,"file":"GoogleTagManagerAdapter.js","sourceRoot":"","sources":["../../../src/analytics/adapters/GoogleTagManagerAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GoogleTagManagerAdapter.js","sourceRoot":"","sources":["../../../src/analytics/adapters/GoogleTagManagerAdapter.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,8 @@ export interface ComponentRegistration<TName extends string = string, TComponent
49
49
  embeddedRenderer?: EmbeddedComponentRenderer<TComponent>;
50
50
  /** Optional mock data configuration for the showcase */
51
51
  mock?: MockData;
52
+ /** Optional flag to exclude from cms-showcase */
53
+ showcaseExclude?: boolean;
52
54
  }
53
55
  /**
54
56
  * Registration for a CMS collection.
@@ -69,6 +71,8 @@ export interface CollectionRegistration<TName extends string = string, TCollecti
69
71
  mock?: MockData;
70
72
  /** Optional mock data configuration for the showcase (card fields) */
71
73
  cardMock?: MockData;
74
+ /** Optional flag to exclude from cms-showcase */
75
+ showcaseExclude?: boolean;
72
76
  }
73
77
  /**
74
78
  * Registration for an external component (forms, iframes, third-party widgets).
@@ -90,6 +94,7 @@ export declare function buildComponentMaps<TComponent extends ITyped>(registrati
90
94
  embeddedComponentMap: Record<string, EmbeddedComponentRenderer<TComponent>>;
91
95
  componentFieldsMap: Record<string, Set<string>>;
92
96
  componentMockMap: Record<string, MockData>;
97
+ excludedComponents: string[];
93
98
  };
94
99
  /**
95
100
  * Builds collection maps from an array of registrations.
@@ -101,6 +106,7 @@ export declare function buildCollectionMaps<TCollection extends ITyped>(registra
101
106
  collectionCardFieldsMap: Record<string, Set<string>>;
102
107
  collectionMockMap: Record<string, MockData>;
103
108
  collectionCardMockMap: Record<string, MockData>;
109
+ excludedCollections: string[];
104
110
  };
105
111
  /**
106
112
  * Builds external component maps from an array of registrations.
@@ -1 +1 @@
1
- {"version":3,"file":"cmsRegistration.d.ts","sourceRoot":"","sources":["../src/cmsRegistration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cmsRegistration.d.ts","sourceRoot":"","sources":["../src/cmsRegistration.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,7 @@ export function buildComponentMaps(registrations) {
32
32
  const embeddedComponentMap = {};
33
33
  const componentFieldsMap = {};
34
34
  const componentMockMap = {};
35
+ const excludedComponents = [];
35
36
  for (const reg of registrations) {
36
37
  componentMap[reg.name] = reg.renderer;
37
38
  componentFieldsMap[reg.name] = reg.usedFields;
@@ -41,8 +42,17 @@ export function buildComponentMaps(registrations) {
41
42
  if (reg.mock) {
42
43
  componentMockMap[reg.name] = reg.mock;
43
44
  }
45
+ if (reg.showcaseExclude) {
46
+ excludedComponents.push(reg.name);
47
+ }
44
48
  }
45
- return { componentMap, embeddedComponentMap, componentFieldsMap, componentMockMap };
49
+ return {
50
+ componentMap,
51
+ embeddedComponentMap,
52
+ componentFieldsMap,
53
+ componentMockMap,
54
+ excludedComponents,
55
+ };
46
56
  }
47
57
  /**
48
58
  * Builds collection maps from an array of registrations.
@@ -54,6 +64,7 @@ export function buildCollectionMaps(registrations) {
54
64
  const collectionCardFieldsMap = {};
55
65
  const collectionMockMap = {};
56
66
  const collectionCardMockMap = {};
67
+ const excludedCollections = [];
57
68
  for (const reg of registrations) {
58
69
  collectionMap[reg.name] = reg.renderer;
59
70
  collectionFieldsMap[reg.name] = reg.usedFields;
@@ -69,6 +80,9 @@ export function buildCollectionMaps(registrations) {
69
80
  if (reg.cardMock) {
70
81
  collectionCardMockMap[reg.name] = reg.cardMock;
71
82
  }
83
+ if (reg.showcaseExclude) {
84
+ excludedCollections.push(reg.name);
85
+ }
72
86
  }
73
87
  return {
74
88
  collectionMap,
@@ -77,6 +91,7 @@ export function buildCollectionMaps(registrations) {
77
91
  collectionCardFieldsMap,
78
92
  collectionMockMap,
79
93
  collectionCardMockMap,
94
+ excludedCollections,
80
95
  };
81
96
  }
82
97
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"cmsRegistration.js","sourceRoot":"","sources":["../src/cmsRegistration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cmsRegistration.js","sourceRoot":"","sources":["../src/cmsRegistration.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"StructuredData.d.ts","sourceRoot":"","sources":["../../src/components/StructuredData.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAE1E,MAAM,WAAW,mBAAmB;IAClC,4BAA4B;IAC5B,OAAO,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACjC,iDAAiD;IACjD,OAAO,EAAE,qBAAqB,CAAC;CAChC;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAiExD,CAAC"}
1
+ {"version":3,"file":"StructuredData.d.ts","sourceRoot":"","sources":["../../src/components/StructuredData.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAyB1E,MAAM,WAAW,mBAAmB;IAClC,4BAA4B;IAC5B,OAAO,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACjC,iDAAiD;IACjD,OAAO,EAAE,qBAAqB,CAAC;CAChC;AAwCD;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA2ExD,CAAC"}
@@ -1,5 +1,59 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import Mustache from 'mustache';
3
+ const ESCAPE_MAP = {
4
+ '"': '\\"',
5
+ '\\': '\\\\',
6
+ '\b': '\\b',
7
+ '\f': '\\f',
8
+ '\n': '\\n',
9
+ '\r': '\\r',
10
+ '\t': '\\t',
11
+ };
12
+ // Override Mustache's default escaping to be JSON-safe instead of HTML-safe
13
+ // This ensures that:
14
+ // 1. Double quotes are escaped (breaking JSON strings)
15
+ // 2. Backslashes are escaped
16
+ // 3. Control characters are escaped
17
+ // 4. Forward slashes are NOT escaped (keeping URLs readable)
18
+ Mustache.escape = (text) => {
19
+ if (text === null || text === undefined) {
20
+ return '';
21
+ }
22
+ return String(text).replace(/["\\\b\f\n\r\t]/g, (char) => ESCAPE_MAP[char] ?? char);
23
+ };
24
+ /**
25
+ * Removes double slashes from URLs while preserving protocol.
26
+ * e.g. "https://example.com//path" -> "https://example.com/path"
27
+ * e.g. "/foo//bar" -> "/foo/bar"
28
+ */
29
+ function cleanUrl(str) {
30
+ // Replace double slashes that are NOT preceded by a colon
31
+ // captures the character before the slash in group 1 ($1)
32
+ return str.replace(/([^:]\/)\/+/g, '$1');
33
+ }
34
+ /**
35
+ * Recursively traverses an object/array and cleans any URL strings found.
36
+ */
37
+ function deepClean(obj) {
38
+ if (typeof obj === 'string') {
39
+ // Basic heuristic: if it looks like a URL (starts with http/https or /), clean it
40
+ if (obj.startsWith('http') || obj.startsWith('/')) {
41
+ return cleanUrl(obj);
42
+ }
43
+ return obj;
44
+ }
45
+ if (Array.isArray(obj)) {
46
+ return obj.map(deepClean);
47
+ }
48
+ if (typeof obj === 'object' && obj !== null) {
49
+ const result = {};
50
+ for (const [key, value] of Object.entries(obj)) {
51
+ result[key] = deepClean(value);
52
+ }
53
+ return result;
54
+ }
55
+ return obj;
56
+ }
3
57
  /**
4
58
  * Renders JSON-LD structured data by processing Mustache templates.
5
59
  *
@@ -54,10 +108,19 @@ export const StructuredData = ({ schemas, context }) => {
54
108
  ? validObjects[0]
55
109
  : {
56
110
  '@context': 'https://schema.org',
57
- '@graph': validObjects,
111
+ '@graph': validObjects.map((obj) => {
112
+ // Remove redundant @context from objects within the graph
113
+ if (typeof obj === 'object' && obj !== null && '@context' in obj) {
114
+ const { '@context': _, ...rest } = obj;
115
+ return rest;
116
+ }
117
+ return obj;
118
+ }),
58
119
  };
120
+ // 4. Clean the output (remove double slashes in URLs)
121
+ const cleanedJson = deepClean(finalJson);
59
122
  return (_jsx("script", { type: "application/ld+json",
60
123
  // biome-ignore lint/security/noDangerouslySetInnerHtml: We need to set the inner HTML for the script tag
61
- dangerouslySetInnerHTML: { __html: JSON.stringify(finalJson) } }));
124
+ dangerouslySetInnerHTML: { __html: JSON.stringify(cleanedJson) } }));
62
125
  };
63
126
  //# sourceMappingURL=StructuredData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StructuredData.js","sourceRoot":"","sources":["../../src/components/StructuredData.tsx"],"names":[],"mappings":";AACA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAWhC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAAkC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;IACpF,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4BAA4B;IAC5B,MAAM,aAAa,GAAG,IAAI,GAAG,EAAmB,CAAC;IACjD,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACzB,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;YACd,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,YAAY,GAA8B,EAAE,CAAC;IACnD,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC/B,IAAI,CAAC;YACH,6CAA6C;YAC7C,kFAAkF;YAClF,0FAA0F;YAC1F,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAE/D,kDAAkD;YAClD,uDAAuD;YACvD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAE9C,IAAI,UAAU,EAAE,CAAC;gBACf,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iEAAiE;YACjE,sEAAsE;YACtE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;gBAC3C,OAAO,CAAC,IAAI,CACV,4CAA4C,MAAM,CAAC,IAAI,MAAM,MAAM,CAAC,EAAE,IAAI,EAC1E,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAC/C,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gCAAgC;IAChC,6EAA6E;IAC7E,sDAAsD;IACtD,MAAM,SAAS,GACb,YAAY,CAAC,MAAM,KAAK,CAAC;QACvB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;QACjB,CAAC,CAAC;YACE,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,YAAY;SACvB,CAAC;IAER,OAAO,CACL,iBACE,IAAI,EAAC,qBAAqB;QAC1B,yGAAyG;QACzG,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,GAC9D,CACH,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"StructuredData.js","sourceRoot":"","sources":["../../src/components/StructuredData.tsx"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -82,7 +82,7 @@ export type { IContent } from './utils/previewUtils';
82
82
  export { coreGetPreviewAssetIdProps, coreGetPreviewFieldIdProps, coreGetPreviewParentProps, coreGetPreviewProps, } from './utils/previewUtils';
83
83
  export type { GenerateSitemapOptions, SitemapChangeFrequency, SitemapEntry, } from './utils/sitemap';
84
84
  export { deduplicateSitemapEntries, generateNextSitemap, sortSitemapEntries, } from './utils/sitemap';
85
- export type { StructuredDataConfig, StructuredDataContext } from './utils/structuredDataUtils';
85
+ export type { StructuredDataContext } from './utils/structuredDataUtils';
86
86
  export { buildStructuredDataContext } from './utils/structuredDataUtils';
87
87
  export { UnsupportedWarning } from './utils/UnsupportedWarning';
88
88
  export { DEFAULT_ALLOWED_UNUSED, UnusedChecker } from './utils/UnusedChecker';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,9 @@ interface ShowcaseAllRenderPageProps {
13
13
  componentMockMap?: Record<string, MockData>;
14
14
  collectionMockMap?: Record<string, MockData>;
15
15
  collectionCardMockMap?: Record<string, MockData>;
16
+ excludedComponents?: string[];
17
+ excludedCollections?: string[];
16
18
  }
17
- export declare const ShowcaseAllRenderPage: ({ searchParams, rendererConfig, componentFieldsMap, collectionFieldsMap, collectionCardFieldsMap, defaultState, contentContext, componentMockMap, collectionMockMap, collectionCardMockMap, }: ShowcaseAllRenderPageProps) => import("react/jsx-runtime").JSX.Element;
19
+ export declare const ShowcaseAllRenderPage: ({ searchParams, rendererConfig, componentFieldsMap, collectionFieldsMap, collectionCardFieldsMap, defaultState, contentContext, componentMockMap, collectionMockMap, collectionCardMockMap, excludedComponents, excludedCollections, }: ShowcaseAllRenderPageProps) => import("react/jsx-runtime").JSX.Element;
18
20
  export {};
19
21
  //# sourceMappingURL=ShowcaseAllRenderPage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ShowcaseAllRenderPage.d.ts","sourceRoot":"","sources":["../../../src/showcase/components/ShowcaseAllRenderPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAItD,OAAO,EAAkC,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAErF,UAAU,0BAA0B;IAClC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IAC5D,cAAc,EAAE,iBAAiB,CAAC;IAClC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5C,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7C,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CAClD;AAQD,eAAO,MAAM,qBAAqB,GAAI,+LAWnC,0BAA0B,4CA6E5B,CAAC"}
1
+ {"version":3,"file":"ShowcaseAllRenderPage.d.ts","sourceRoot":"","sources":["../../../src/showcase/components/ShowcaseAllRenderPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAItD,OAAO,EAAkC,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAErF,UAAU,0BAA0B;IAClC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IAC5D,cAAc,EAAE,iBAAiB,CAAC;IAClC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5C,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7C,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjD,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAQD,eAAO,MAAM,qBAAqB,GAAI,wOAanC,0BAA0B,4CAiF5B,CAAC"}
@@ -8,13 +8,17 @@ const DEFAULT_MOCK_CONTEXT = {
8
8
  pageContext: {},
9
9
  analyticsContext: { slug: 'cms-showcase-all' },
10
10
  };
11
- export const ShowcaseAllRenderPage = ({ searchParams, rendererConfig, componentFieldsMap, collectionFieldsMap, collectionCardFieldsMap, defaultState, contentContext = DEFAULT_MOCK_CONTEXT, componentMockMap = {}, collectionMockMap = {}, collectionCardMockMap = {}, }) => {
11
+ export const ShowcaseAllRenderPage = ({ searchParams, rendererConfig, componentFieldsMap, collectionFieldsMap, collectionCardFieldsMap, defaultState, contentContext = DEFAULT_MOCK_CONTEXT, componentMockMap = {}, collectionMockMap = {}, collectionCardMockMap = {}, excludedComponents = [], excludedCollections = [], }) => {
12
12
  const mode = searchParams.mode || 'component';
13
13
  const baseDefaultState = defaultState || DEFAULT_SHOWCASE_CONTROL_STATE;
14
14
  // Get all types based on mode
15
15
  const types = mode === 'component'
16
- ? Object.keys(rendererConfig.componentMap).sort()
17
- : Object.keys(rendererConfig.collectionMap).sort();
16
+ ? Object.keys(rendererConfig.componentMap)
17
+ .filter((type) => !excludedComponents.includes(type))
18
+ .sort()
19
+ : Object.keys(rendererConfig.collectionMap)
20
+ .filter((type) => !excludedCollections.includes(type))
21
+ .sort();
18
22
  return (_jsx("div", { className: "min-h-screen bg-[#f3f4f6]", children: types.map((type) => {
19
23
  // Merge default state with mock data overrides for this type
20
24
  const currentMockData = mode === 'component' ? componentMockMap[type] : collectionMockMap[type];
@@ -1 +1 @@
1
- {"version":3,"file":"ShowcaseAllRenderPage.js","sourceRoot":"","sources":["../../../src/showcase/components/ShowcaseAllRenderPage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ShowcaseAllRenderPage.js","sourceRoot":"","sources":["../../../src/showcase/components/ShowcaseAllRenderPage.tsx"],"names":[],"mappings":"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"}
@@ -9,7 +9,9 @@ interface ShowcasePageProps {
9
9
  foregroundColors: string[];
10
10
  basePath: string;
11
11
  defaultState?: ShowcaseControlState;
12
+ excludedComponents?: string[];
13
+ excludedCollections?: string[];
12
14
  }
13
- export declare const ShowcasePage: ({ searchParams, rendererConfig, componentFieldsMap, collectionFieldsMap, colorOptions, foregroundColors, basePath, defaultState, }: ShowcasePageProps) => import("react/jsx-runtime").JSX.Element;
15
+ export declare const ShowcasePage: ({ searchParams, rendererConfig, componentFieldsMap, collectionFieldsMap, colorOptions, foregroundColors, basePath, defaultState, excludedComponents, excludedCollections, }: ShowcasePageProps) => import("react/jsx-runtime").JSX.Element;
14
16
  export {};
15
17
  //# sourceMappingURL=ShowcasePage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ShowcasePage.d.ts","sourceRoot":"","sources":["../../../src/showcase/components/ShowcasePage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAMrD,UAAU,iBAAiB;IACzB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IAC5D,cAAc,EAAE,iBAAiB,CAAC;IAClC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,oBAAoB,CAAC;CACrC;AAED,eAAO,MAAM,YAAY,GAAI,oIAS1B,iBAAiB,4CAwCnB,CAAC"}
1
+ {"version":3,"file":"ShowcasePage.d.ts","sourceRoot":"","sources":["../../../src/showcase/components/ShowcasePage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAMrD,UAAU,iBAAiB;IACzB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IAC5D,cAAc,EAAE,iBAAiB,CAAC;IAClC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,eAAO,MAAM,YAAY,GAAI,6KAW1B,iBAAiB,4CA4CnB,CAAC"}
@@ -4,9 +4,13 @@ import { AllViewPanel } from './AllViewPanel';
4
4
  import { ControlsWrapper } from './ControlsWrapper';
5
5
  import { PreviewPanel } from './PreviewPanel';
6
6
  import { TopBar } from './TopBar';
7
- export const ShowcasePage = ({ searchParams, rendererConfig, componentFieldsMap, collectionFieldsMap, colorOptions, foregroundColors, basePath, defaultState, }) => {
8
- const componentTypes = Object.keys(rendererConfig.componentMap).sort();
9
- const collectionTypes = Object.keys(rendererConfig.collectionMap).sort();
7
+ export const ShowcasePage = ({ searchParams, rendererConfig, componentFieldsMap, collectionFieldsMap, colorOptions, foregroundColors, basePath, defaultState, excludedComponents = [], excludedCollections = [], }) => {
8
+ const componentTypes = Object.keys(rendererConfig.componentMap)
9
+ .filter((type) => !excludedComponents.includes(type))
10
+ .sort();
11
+ const collectionTypes = Object.keys(rendererConfig.collectionMap)
12
+ .filter((type) => !excludedCollections.includes(type))
13
+ .sort();
10
14
  const type = searchParams.type || componentTypes[0] || '';
11
15
  const mode = searchParams.mode || 'component';
12
16
  const view = (searchParams.view || 'single');
@@ -1 +1 @@
1
- {"version":3,"file":"ShowcasePage.js","sourceRoot":"","sources":["../../../src/showcase/components/ShowcasePage.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAqB,MAAM,EAAE,MAAM,UAAU,CAAC;AAarD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC3B,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACR,YAAY,GACM,EAAE,EAAE;IACtB,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;IACvE,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;IAEzE,MAAM,IAAI,GAAI,YAAY,CAAC,IAAe,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACtE,MAAM,IAAI,GAAI,YAAY,CAAC,IAAmC,IAAI,WAAW,CAAC;IAC9E,MAAM,IAAI,GAAG,CAAE,YAAY,CAAC,IAAe,IAAI,QAAQ,CAAiB,CAAC;IAEzE,MAAM,QAAQ,GAAG,qBAAqB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAEnE,OAAO,CACL,eAAK,SAAS,EAAC,qDAAqD,aAClE,KAAC,MAAM,IACL,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,IAAI,EAClB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,GACV,EAEF,cAAK,SAAS,EAAC,sCAAsC,YAClD,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAChB,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAI,CACjD,CAAC,CAAC,CAAC,CACF,8BACE,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAI,EAChF,KAAC,eAAe,IACd,YAAY,EAAE,QAAQ,EACtB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,gBAAgB,EAClC,kBAAkB,EAAE,kBAAkB,EACtC,mBAAmB,EAAE,mBAAmB,GACxC,IACD,CACJ,GACG,IACF,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"ShowcasePage.js","sourceRoot":"","sources":["../../../src/showcase/components/ShowcasePage.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAqB,MAAM,EAAE,MAAM,UAAU,CAAC;AAerD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC3B,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACR,YAAY,EACZ,kBAAkB,GAAG,EAAE,EACvB,mBAAmB,GAAG,EAAE,GACN,EAAE,EAAE;IACtB,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;SAC5D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACpD,IAAI,EAAE,CAAC;IACV,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;SAC9D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACrD,IAAI,EAAE,CAAC;IAEV,MAAM,IAAI,GAAI,YAAY,CAAC,IAAe,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACtE,MAAM,IAAI,GAAI,YAAY,CAAC,IAAmC,IAAI,WAAW,CAAC;IAC9E,MAAM,IAAI,GAAG,CAAE,YAAY,CAAC,IAAe,IAAI,QAAQ,CAAiB,CAAC;IAEzE,MAAM,QAAQ,GAAG,qBAAqB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAEnE,OAAO,CACL,eAAK,SAAS,EAAC,qDAAqD,aAClE,KAAC,MAAM,IACL,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,IAAI,EAClB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,GACV,EAEF,cAAK,SAAS,EAAC,sCAAsC,YAClD,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAChB,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAI,CACjD,CAAC,CAAC,CAAC,CACF,8BACE,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAI,EAChF,KAAC,eAAe,IACd,YAAY,EAAE,QAAQ,EACtB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,gBAAgB,EAClC,kBAAkB,EAAE,kBAAkB,EACtC,mBAAmB,EAAE,mBAAmB,GACxC,IACD,CACJ,GACG,IACF,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -75,5 +75,10 @@ export declare function calculateTitleAndDescription({ articleType, customType,
75
75
  }): {
76
76
  title: string;
77
77
  description: string;
78
+ subtitle: string | undefined;
79
+ } | {
80
+ title: string;
81
+ description: string;
82
+ subtitle?: undefined;
78
83
  };
79
84
  //# sourceMappingURL=buildPageMetadata.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildPageMetadata.d.ts","sourceRoot":"","sources":["../../src/utils/buildPageMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,QAAQ,EACT,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,YAAY,EAAE,OAAO,CAAC;IACtB,8CAA8C;IAC9C,aAAa,EAAE,OAAO,CAAC;IACvB,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+DAA+D;IAC/D,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,aAAa,GAAG,eAAe,GAAG,SAAS,CAAC,EAC9E,IAAI,EAAE,MAAM,EACZ,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,EAAE,iBAAiB,EAC3E,OAAO,EAAE,iBAAiB,GACzB,QAAQ,CA8CV;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAAC,EAC3C,WAAW,EACX,UAAU,EACV,GAAG,EACH,OAAO,GACR,EAAE;IACD,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;;;EA0BA"}
1
+ {"version":3,"file":"buildPageMetadata.d.ts","sourceRoot":"","sources":["../../src/utils/buildPageMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,QAAQ,EACT,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,YAAY,EAAE,OAAO,CAAC;IACtB,8CAA8C;IAC9C,aAAa,EAAE,OAAO,CAAC;IACvB,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+DAA+D;IAC/D,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,aAAa,GAAG,eAAe,GAAG,SAAS,CAAC,EAC9E,IAAI,EAAE,MAAM,EACZ,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,EAAE,iBAAiB,EAC3E,OAAO,EAAE,iBAAiB,GACzB,QAAQ,CA8CV;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAAC,EAC3C,WAAW,EACX,UAAU,EACV,GAAG,EACH,OAAO,GACR,EAAE;IACD,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;;;;;;;;EA0BA"}
@@ -91,7 +91,7 @@ export function buildPageMetadata(model, path, { baseUrl, isProduction, customer
91
91
  */
92
92
  export function calculateTitleAndDescription({ articleType, customType, tag, article, }) {
93
93
  if (article) {
94
- return { title: article.title, description: article.description };
94
+ return { title: article.title, description: article.description, subtitle: article.subtitle };
95
95
  }
96
96
  if (tag && articleType) {
97
97
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"buildPageMetadata.js","sourceRoot":"","sources":["../../src/utils/buildPageMetadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildPageMetadata.js","sourceRoot":"","sources":["../../src/utils/buildPageMetadata.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,75 @@
1
1
  import type { IBaseModel } from '@se-studio/core-data-types';
2
2
  import type { IBuildInformation } from './buildPageMetadata';
3
3
  /**
4
- * Standardized context object for Mustache templates.
5
- * This structure is consistent across all pages to ensure templates are reusable.
4
+ * @fileoverview Structured Data Context Builder
5
+ *
6
+ * This module builds minimal context objects for structured data (Schema.org JSON-LD) templates.
7
+ *
8
+ * ## Design Philosophy: Minimal Context
9
+ *
10
+ * This implementation follows a "minimal context" approach where:
11
+ * - **Static data lives in CMS templates** (organization name, address, contact info)
12
+ * - **Dynamic data lives in this context** (URLs, page titles, dates)
13
+ *
14
+ * ### Why This Approach?
15
+ *
16
+ * 1. **Separation of Concerns**: Content editors control static organizational data in the CMS,
17
+ * while deployment-specific values (like baseUrl) are injected at runtime.
18
+ *
19
+ * 2. **Simpler Templates**: Content editors work with straightforward variables like
20
+ * `{{baseUrl}}` and `{{page.title}}` rather than deeply nested objects.
21
+ *
22
+ * 3. **Easier Maintenance**: When organization details change, update the CMS template once
23
+ * rather than changing code and redeploying.
24
+ *
25
+ * 4. **Deployment Flexibility**: The same CMS templates work across dev/staging/prod with
26
+ * only the baseUrl changing.
27
+ *
28
+ * ### Example CMS Template
29
+ *
30
+ * ```json
31
+ * {
32
+ * "@context": "https://schema.org",
33
+ * "@type": "Organization",
34
+ * "name": "OM1",
35
+ * "url": "{{baseUrl}}",
36
+ * "logo": "{{baseUrl}}/logo.svg",
37
+ * "description": "Predict What's Next. Improve Outcomes.",
38
+ * "address": {
39
+ * "@type": "PostalAddress",
40
+ * "streetAddress": "31 St. James Ave Suite #1010",
41
+ * "addressLocality": "Boston"
42
+ * }
43
+ * }
44
+ * ```
45
+ *
46
+ * ### Available Context Variables
47
+ *
48
+ * - `baseUrl` - Site base URL (environment-specific)
49
+ * - `currentUrl` - Full URL of current page
50
+ * - `page.title` - Page title
51
+ * - `page.description` - Page description
52
+ * - `page.slug` - Page slug
53
+ * - `page.imageUrl` - Featured image URL (if available)
54
+ * - `page.breadcrumbs` - Array of breadcrumb objects
55
+ * - `article.*` - Article-specific fields (only for Article pages)
56
+ * - `person.*` - Person-specific fields (only for Person pages)
57
+ *
58
+ * @see {@link StructuredDataContext} for complete context interface
59
+ */
60
+ /**
61
+ * Minimal context object for Mustache templates in structured data.
62
+ *
63
+ * Philosophy: Only truly dynamic values that change per page/deployment should be in this context.
64
+ * Static organizational data (company name, address, etc.) should be hardcoded in CMS templates.
65
+ *
66
+ * This keeps templates simpler and separates concerns:
67
+ * - Static data (organization details) → CMS templates
68
+ * - Dynamic data (URLs, page-specific info) → This context
6
69
  */
7
70
  export interface StructuredDataContext {
8
71
  baseUrl: string;
9
- logoUrl: string;
10
72
  currentUrl: string;
11
- organization?: {
12
- name: string;
13
- url: string;
14
- logo: string;
15
- };
16
73
  page: {
17
74
  title: string;
18
75
  description: string;
@@ -25,42 +82,36 @@ export interface StructuredDataContext {
25
82
  last: boolean;
26
83
  }>;
27
84
  };
28
- information?: {
85
+ article?: {
29
86
  title: string;
30
- slug: string;
31
87
  description: string;
32
- date: string;
33
- lastUpdated: string;
34
- author?: {
35
- title: string;
36
- slug: string;
37
- image?: string;
38
- };
88
+ datePublished: string;
89
+ dateModified: string;
90
+ authorName?: string;
91
+ authorUrl?: string;
92
+ imageUrl?: string;
39
93
  };
40
94
  person?: {
41
95
  name: string;
42
- title: string;
43
- bio: string;
44
- linkedinUrl?: string;
45
- twitterUrl?: string;
46
- image?: string;
96
+ jobTitle?: string;
97
+ imageUrl?: string;
47
98
  };
48
99
  [key: string]: unknown;
49
100
  }
50
101
  /**
51
- * Configuration options for building the structured data context.
52
- */
53
- export interface StructuredDataConfig extends IBuildInformation {
54
- /** Logo URL for the organization */
55
- logoUrl: string;
56
- /** Current absolute path (e.g., /about-us) */
57
- path: string;
58
- }
59
- /**
60
- * Builds the comprehensive context object for structured data templates.
102
+ * Builds a minimal context object for structured data templates.
103
+ *
104
+ * Only includes truly dynamic values that change per page or deployment:
105
+ * - URLs (baseUrl varies by environment)
106
+ * - Page-specific content (title, description, images)
107
+ * - Content-type specific data (article dates, person info)
108
+ *
109
+ * Static organizational data (company name, address, etc.) should be
110
+ * hardcoded in CMS templates, not injected here.
61
111
  *
62
112
  * @param model - The CMS content model (Page, Article, Person, etc.)
63
- * @param config - Configuration including global URLs and paths
113
+ * @param config - Build configuration (baseUrl and customerName)
114
+ * @param extraContext - Optional additional context properties
64
115
  */
65
- export declare function buildStructuredDataContext(model: IBaseModel, config: StructuredDataConfig, extraContext?: Record<string, unknown>): StructuredDataContext;
116
+ export declare function buildStructuredDataContext(model: IBaseModel, config: IBuildInformation, extraContext?: Record<string, unknown>): StructuredDataContext;
66
117
  //# sourceMappingURL=structuredDataUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"structuredDataUtils.d.ts","sourceRoot":"","sources":["../../src/utils/structuredDataUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,UAAU,EAAe,MAAM,4BAA4B,CAAC;AACxF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IAEpC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IAGF,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,KAAK,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;KACpF,CAAC;IAGF,WAAW,CAAC,EAAE;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE;YACP,KAAK,EAAE,MAAM,CAAC;YACd,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,CAAC,EAAE,MAAM,CAAC;SAChB,CAAC;KACH,CAAC;IAEF,MAAM,CAAC,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IAGF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB;IAC7D,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;CACd;AAyDD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,oBAAoB,EAC5B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,qBAAqB,CA+DvB"}
1
+ {"version":3,"file":"structuredDataUtils.d.ts","sourceRoot":"","sources":["../../src/utils/structuredDataUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,UAAU,EAAe,MAAM,4BAA4B,CAAC;AACxF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AAEH;;;;;;;;;GASG;AACH,MAAM,WAAW,qBAAqB;IAEpC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IAGnB,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,KAAK,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;KACpF,CAAC;IAGF,OAAO,CAAC,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IAGF,MAAM,CAAC,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IAGF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AA4DD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,iBAAiB,EACzB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,qBAAqB,CAyDvB"}
@@ -1,7 +1,11 @@
1
1
  /**
2
- * Helper to build the breadcrumbs array.
3
- * This is a simplified implementation that splits the path.
4
- * In a real app, you might want to look up titles for each segment.
2
+ * Helper to build the breadcrumbs array for structured data.
3
+ * Splits the path and creates breadcrumb entries with positions.
4
+ *
5
+ * @param path - Current page path (e.g., '/about/team')
6
+ * @param baseUrl - Base URL for the site
7
+ * @param currentTitle - Title of the current page
8
+ * @param breadcrumbTitleOverride - Optional override for the last breadcrumb title
5
9
  */
6
10
  function buildBreadcrumbs(path, baseUrl, currentTitle, breadcrumbTitleOverride) {
7
11
  const segments = path.split('/').filter(Boolean);
@@ -10,16 +14,15 @@ function buildBreadcrumbs(path, baseUrl, currentTitle, breadcrumbTitleOverride)
10
14
  breadcrumbs.push({
11
15
  position: 1,
12
16
  name: 'Home',
13
- url: baseUrl,
17
+ url: `${baseUrl}/`,
14
18
  last: segments.length === 0,
15
19
  });
16
20
  let currentPath = '';
17
21
  segments.forEach((segment, index) => {
18
22
  currentPath += `/${segment}`;
19
23
  const isLast = index === segments.length - 1;
20
- // For intermediate segments, we might not have the title easily available
21
- // without a lookup map. For now, we capitalize the slug.
22
- // The last segment uses the page title or override.
24
+ // For intermediate segments, capitalize the slug
25
+ // For the last segment, use the page title or override
23
26
  let name = segment.charAt(0).toUpperCase() + segment.slice(1).replace(/-/g, ' ');
24
27
  if (isLast) {
25
28
  name = breadcrumbTitleOverride || currentTitle;
@@ -27,33 +30,37 @@ function buildBreadcrumbs(path, baseUrl, currentTitle, breadcrumbTitleOverride)
27
30
  breadcrumbs.push({
28
31
  position: index + 2,
29
32
  name: name,
30
- url: `${baseUrl}${currentPath}`,
33
+ url: `${baseUrl}${currentPath}/`,
31
34
  last: isLast,
32
35
  });
33
36
  });
34
37
  return breadcrumbs;
35
38
  }
36
39
  /**
37
- * Builds the comprehensive context object for structured data templates.
40
+ * Builds a minimal context object for structured data templates.
41
+ *
42
+ * Only includes truly dynamic values that change per page or deployment:
43
+ * - URLs (baseUrl varies by environment)
44
+ * - Page-specific content (title, description, images)
45
+ * - Content-type specific data (article dates, person info)
46
+ *
47
+ * Static organizational data (company name, address, etc.) should be
48
+ * hardcoded in CMS templates, not injected here.
38
49
  *
39
50
  * @param model - The CMS content model (Page, Article, Person, etc.)
40
- * @param config - Configuration including global URLs and paths
51
+ * @param config - Build configuration (baseUrl and customerName)
52
+ * @param extraContext - Optional additional context properties
41
53
  */
42
54
  export function buildStructuredDataContext(model, config, extraContext) {
43
- const { baseUrl, logoUrl, path, customerName } = config;
55
+ const { baseUrl } = config;
56
+ const path = model.href;
44
57
  const currentUrl = `${baseUrl}${path}`;
45
58
  const featuredImageId = model.featuredImage?.id;
46
59
  const imageUrl = featuredImageId ? `${baseUrl}/og/${featuredImageId}.jpg` : undefined;
47
- // 1. Base Context
60
+ // Base context with page information
48
61
  const context = {
49
- baseUrl,
50
- logoUrl,
62
+ baseUrl: `${baseUrl}/`,
51
63
  currentUrl,
52
- organization: {
53
- name: customerName,
54
- url: baseUrl,
55
- logo: logoUrl,
56
- },
57
64
  page: {
58
65
  title: model.title,
59
66
  description: model.description,
@@ -63,36 +70,34 @@ export function buildStructuredDataContext(model, config, extraContext) {
63
70
  },
64
71
  ...extraContext,
65
72
  };
66
- // 2. Article Specific Context (mapped to 'information')
73
+ // Article-specific context
67
74
  if (model.type === 'Article') {
68
75
  const article = model;
69
- // Note: We need to handle authors. Assuming standard relation pattern if it existed.
70
- // Since IBaseArticle doesn't have explicit author field in the provided type definition,
71
- // we will check if it exists or needs to be extended.
72
- // For now, we map available fields.
73
- context.information = {
76
+ context.article = {
74
77
  title: article.title,
75
- slug: article.slug,
76
78
  description: article.description,
77
- date: article.lastUpdated
79
+ datePublished: article.date
80
+ ? new Date(article.date).toISOString()
81
+ : article.lastUpdated
82
+ ? new Date(article.lastUpdated).toISOString()
83
+ : new Date().toISOString(),
84
+ dateModified: article.lastUpdated
78
85
  ? new Date(article.lastUpdated).toISOString()
79
- : new Date().toISOString(), // Fallback
80
- lastUpdated: article.lastUpdated
81
- ? new Date(article.lastUpdated).toISOString()
82
- : new Date().toISOString(),
83
- // author: ... // Add author mapping if available in model
86
+ : article.date
87
+ ? new Date(article.date).toISOString()
88
+ : new Date().toISOString(),
89
+ imageUrl,
90
+ authorName: article.author?.name,
91
+ authorUrl: article.author?.href ? `${baseUrl}${article.author.href}` : undefined,
84
92
  };
85
93
  }
86
- // 3. Person Specific Context
94
+ // Person-specific context
87
95
  if (model.type === 'Person') {
88
96
  const person = model;
89
97
  context.person = {
90
- name: person.title, // Title is usually the name in Contentful
91
- title: person.jobTitle || '',
92
- bio: person.description, // Mapping description to bio
93
- linkedinUrl: person.linkedIn || undefined,
94
- // twitterUrl: person.twitter || undefined, // If available
95
- image: imageUrl,
98
+ name: person.title,
99
+ jobTitle: person.jobTitle || undefined,
100
+ imageUrl,
96
101
  };
97
102
  }
98
103
  return context;
@@ -1 +1 @@
1
- {"version":3,"file":"structuredDataUtils.js","sourceRoot":"","sources":["../../src/utils/structuredDataUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"structuredDataUtils.js","sourceRoot":"","sources":["../../src/utils/structuredDataUtils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@se-studio/core-ui",
3
- "version": "1.0.49",
3
+ "version": "1.0.51",
4
4
  "description": "Shared React UI component library with Tailwind CSS v4 for SE Studio applications",
5
5
  "repository": {
6
6
  "type": "git",
@@ -60,14 +60,14 @@
60
60
  "html-entities": "^2.6.0",
61
61
  "mustache": "4.2.0",
62
62
  "tailwind-merge": "^3.4.0",
63
- "@se-studio/contentful-rest-api": "1.0.49",
64
- "@se-studio/core-data-types": "1.0.49"
63
+ "@se-studio/contentful-rest-api": "1.0.51",
64
+ "@se-studio/core-data-types": "1.0.51"
65
65
  },
66
66
  "devDependencies": {
67
67
  "@biomejs/biome": "^2.3.11",
68
68
  "@testing-library/jest-dom": "^6.9.1",
69
69
  "@testing-library/react": "^16.3.1",
70
- "@types/node": "^22.19.3",
70
+ "@types/node": "^22.19.5",
71
71
  "@types/react": "^19.2.7",
72
72
  "@types/react-dom": "^19.2.3",
73
73
  "@vitejs/plugin-react": "^5.1.2",