@se-studio/core-ui 1.0.14 → 1.0.16

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 (103) hide show
  1. package/README.md +87 -14
  2. package/dist/CmsRendererConfig.d.ts +122 -0
  3. package/dist/CmsRendererConfig.d.ts.map +1 -1
  4. package/dist/analytics/AnalyticsProvider.d.ts +7 -0
  5. package/dist/analytics/AnalyticsProvider.d.ts.map +1 -1
  6. package/dist/analytics/AnalyticsProvider.js +7 -0
  7. package/dist/analytics/AnalyticsProvider.js.map +1 -1
  8. package/dist/analytics/adapters/ConsoleAnalyticsAdapter.d.ts +4 -0
  9. package/dist/analytics/adapters/ConsoleAnalyticsAdapter.d.ts.map +1 -1
  10. package/dist/analytics/adapters/ConsoleAnalyticsAdapter.js +5 -0
  11. package/dist/analytics/adapters/ConsoleAnalyticsAdapter.js.map +1 -1
  12. package/dist/analytics/types.d.ts +23 -0
  13. package/dist/analytics/types.d.ts.map +1 -1
  14. package/dist/analytics/useAnalytics.d.ts +35 -0
  15. package/dist/analytics/useAnalytics.d.ts.map +1 -1
  16. package/dist/analytics/useAnalytics.js +35 -0
  17. package/dist/analytics/useAnalytics.js.map +1 -1
  18. package/dist/components/ClientMonitor.d.ts.map +1 -1
  19. package/dist/components/ClientMonitor.js +40 -0
  20. package/dist/components/ClientMonitor.js.map +1 -1
  21. package/dist/components/CmsCollection.d.ts +47 -0
  22. package/dist/components/CmsCollection.d.ts.map +1 -1
  23. package/dist/components/CmsCollection.js +7 -0
  24. package/dist/components/CmsCollection.js.map +1 -1
  25. package/dist/components/CmsComponent.d.ts +47 -0
  26. package/dist/components/CmsComponent.d.ts.map +1 -1
  27. package/dist/components/CmsComponent.js +7 -0
  28. package/dist/components/CmsComponent.js.map +1 -1
  29. package/dist/components/CmsContent.d.ts +62 -0
  30. package/dist/components/CmsContent.d.ts.map +1 -1
  31. package/dist/components/CmsContent.js +53 -0
  32. package/dist/components/CmsContent.js.map +1 -1
  33. package/dist/components/CmsConversionErrors.js +2 -0
  34. package/dist/components/CmsConversionErrors.js.map +1 -1
  35. package/dist/components/CmsEmbeddedContent.d.ts +3 -0
  36. package/dist/components/CmsEmbeddedContent.d.ts.map +1 -1
  37. package/dist/components/CmsEmbeddedContent.js +3 -0
  38. package/dist/components/CmsEmbeddedContent.js.map +1 -1
  39. package/dist/components/CmsExternalComponent.d.ts +44 -0
  40. package/dist/components/CmsExternalComponent.d.ts.map +1 -1
  41. package/dist/components/CmsExternalComponent.js +7 -0
  42. package/dist/components/CmsExternalComponent.js.map +1 -1
  43. package/dist/components/ImageKitClientVideo.js +1 -0
  44. package/dist/components/ImageKitClientVideo.js.map +1 -1
  45. package/dist/components/SvgComponent.js +3 -1
  46. package/dist/components/SvgComponent.js.map +1 -1
  47. package/dist/components/VisualComponent.d.ts +47 -0
  48. package/dist/components/VisualComponent.d.ts.map +1 -1
  49. package/dist/components/VisualComponent.js +47 -0
  50. package/dist/components/VisualComponent.js.map +1 -1
  51. package/dist/elements/TrackedLink.d.ts +8 -0
  52. package/dist/elements/TrackedLink.d.ts.map +1 -1
  53. package/dist/elements/TrackedLink.js +13 -0
  54. package/dist/elements/TrackedLink.js.map +1 -1
  55. package/dist/framework/BackgroundMedia.js +5 -1
  56. package/dist/framework/BackgroundMedia.js.map +1 -1
  57. package/dist/framework/ComponentErrorIndicator.js +7 -4
  58. package/dist/framework/ComponentErrorIndicator.js.map +1 -1
  59. package/dist/framework/componentErrors.d.ts +8 -0
  60. package/dist/framework/componentErrors.d.ts.map +1 -1
  61. package/dist/framework/componentErrors.js +10 -0
  62. package/dist/framework/componentErrors.js.map +1 -1
  63. package/dist/hooks/useClickTracking.d.ts +39 -0
  64. package/dist/hooks/useClickTracking.d.ts.map +1 -1
  65. package/dist/hooks/useClickTracking.js +29 -0
  66. package/dist/hooks/useClickTracking.js.map +1 -1
  67. package/dist/index.d.ts +35 -0
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +44 -0
  70. package/dist/index.js.map +1 -1
  71. package/dist/rtf/rtf.d.ts +41 -0
  72. package/dist/rtf/rtf.d.ts.map +1 -1
  73. package/dist/rtf/rtf.js +36 -0
  74. package/dist/rtf/rtf.js.map +1 -1
  75. package/dist/utils/UnsupportedWarning.d.ts +23 -0
  76. package/dist/utils/UnsupportedWarning.d.ts.map +1 -1
  77. package/dist/utils/UnsupportedWarning.js +24 -0
  78. package/dist/utils/UnsupportedWarning.js.map +1 -1
  79. package/dist/utils/UnusedChecker.d.ts +39 -0
  80. package/dist/utils/UnusedChecker.d.ts.map +1 -1
  81. package/dist/utils/UnusedChecker.js +47 -3
  82. package/dist/utils/UnusedChecker.js.map +1 -1
  83. package/dist/utils/buildPageMetadata.d.ts +45 -0
  84. package/dist/utils/buildPageMetadata.d.ts.map +1 -1
  85. package/dist/utils/buildPageMetadata.js +37 -0
  86. package/dist/utils/buildPageMetadata.js.map +1 -1
  87. package/dist/utils/cn.d.ts +26 -0
  88. package/dist/utils/cn.d.ts.map +1 -1
  89. package/dist/utils/cn.js +26 -0
  90. package/dist/utils/cn.js.map +1 -1
  91. package/dist/utils/componentUtils.d.ts +121 -0
  92. package/dist/utils/componentUtils.d.ts.map +1 -1
  93. package/dist/utils/componentUtils.js +80 -0
  94. package/dist/utils/componentUtils.js.map +1 -1
  95. package/dist/utils/convertText.js +10 -2
  96. package/dist/utils/convertText.js.map +1 -1
  97. package/dist/utils/errorHandling.d.ts +27 -0
  98. package/dist/utils/errorHandling.d.ts.map +1 -1
  99. package/dist/utils/errorHandling.js +33 -0
  100. package/dist/utils/errorHandling.js.map +1 -1
  101. package/dist/utils/previewUtils.js +2 -0
  102. package/dist/utils/previewUtils.js.map +1 -1
  103. package/package.json +17 -4
@@ -3,13 +3,17 @@ import { usePathname } from 'next/navigation';
3
3
  import { useEffect } from 'react';
4
4
  import { useDocumentVisible } from '../hooks/useDocumentVisible';
5
5
  const _observers = new Map();
6
+ // Maps to store element metadata for scroll progress calculation
6
7
  const _sectionHeights = new Map();
7
8
  const _sectionThresholds = new Map();
9
+ // Dense thresholds for IntersectionObserver (0, 0.05, 0.1, ... 1.0)
8
10
  const SECTION_THRESHOLDS = Array.from({ length: 21 }, (_, i) => i * 0.05);
11
+ // Tracking for tall elements that need scroll listener
9
12
  const _intersectingTallElements = new Set();
10
13
  let _scrollRAFId = null;
11
14
  let _scrollListenerAttached = false;
12
15
  const isDevelopment = process.env.NODE_ENV === 'development';
16
+ // Module-level debug flag, set by ClientMonitor component
13
17
  let _debugEnabled = false;
14
18
  function shouldDebug(element) {
15
19
  if (!isDevelopment)
@@ -20,6 +24,7 @@ function shouldDebug(element) {
20
24
  return true;
21
25
  return false;
22
26
  }
27
+ // Updates scroll progress for a single element (used by scroll handler)
23
28
  function updateScrollProgress(element) {
24
29
  const elementHeight = _sectionHeights.get(element);
25
30
  const threshold = _sectionThresholds.get(element);
@@ -42,6 +47,7 @@ function updateScrollProgress(element) {
42
47
  element.dataset.debugIsTallElement = 'true';
43
48
  }
44
49
  }
50
+ // RAF-throttled scroll handler for tall elements
45
51
  function handleScroll() {
46
52
  if (_scrollRAFId !== null)
47
53
  return;
@@ -52,6 +58,7 @@ function handleScroll() {
52
58
  }
53
59
  });
54
60
  }
61
+ // Attach scroll listener if not already attached
55
62
  function attachScrollListener() {
56
63
  if (!_scrollListenerAttached) {
57
64
  window.addEventListener('scroll', handleScroll, { passive: true });
@@ -61,6 +68,7 @@ function attachScrollListener() {
61
68
  }
62
69
  }
63
70
  }
71
+ // Detach scroll listener if no tall elements are being tracked
64
72
  function detachScrollListener() {
65
73
  if (_scrollListenerAttached && _intersectingTallElements.size === 0) {
66
74
  window.removeEventListener('scroll', handleScroll);
@@ -90,21 +98,26 @@ function getElementThreshold(element, defaultThreshold) {
90
98
  function handleVideo(video, isIntersecting) {
91
99
  if (!isIntersecting) {
92
100
  if (!video.paused) {
101
+ // console.log("pause video", video.src);
93
102
  video.pause();
94
103
  }
95
104
  }
96
105
  else if (video.paused) {
106
+ // console.log("play video", video.src);
97
107
  video
98
108
  .play()
99
109
  .then(() => {
100
110
  video.controls = false;
101
111
  })
102
112
  .catch(() => {
113
+ // console.log("failed to play", error);
114
+ // video.controls = true;
103
115
  });
104
116
  }
105
117
  }
106
118
  function handleAnimation(animation, isIntersecting) {
107
119
  const currentState = animation.currentState;
120
+ // console.log('current state', currentState)
108
121
  if (!isIntersecting) {
109
122
  if (currentState === 'playing') {
110
123
  animation.pause();
@@ -112,9 +125,11 @@ function handleAnimation(animation, isIntersecting) {
112
125
  }
113
126
  else {
114
127
  if (currentState === 'paused') {
128
+ // console.log('play animation')
115
129
  animation.play();
116
130
  }
117
131
  if (!currentState || currentState === 'loading') {
132
+ // console.log('set to autoplay')
118
133
  if (animation.play) {
119
134
  animation.play();
120
135
  }
@@ -126,6 +141,7 @@ function handleAnimatedSection(section, isIntersecting, entry) {
126
141
  const elementHeight = _sectionHeights.get(section);
127
142
  const threshold = _sectionThresholds.get(section);
128
143
  if (elementHeight === undefined || threshold === undefined) {
144
+ // Fallback to intersection-based behavior if height/threshold not available
129
145
  section.dataset.visible = isIntersecting ? 'true' : 'false';
130
146
  if (isIntersecting && !section.dataset.seen) {
131
147
  section.dataset.seen = 'true';
@@ -143,15 +159,18 @@ function handleAnimatedSection(section, isIntersecting, entry) {
143
159
  return;
144
160
  }
145
161
  const isTallElement = elementHeight > window.innerHeight;
162
+ // For tall elements, use scroll listener for continuous tracking
146
163
  if (isTallElement) {
147
164
  if (isIntersecting) {
148
165
  _intersectingTallElements.add(section);
149
166
  attachScrollListener();
167
+ // Immediately update scroll progress
150
168
  updateScrollProgress(section);
151
169
  }
152
170
  else {
153
171
  _intersectingTallElements.delete(section);
154
172
  detachScrollListener();
173
+ // Mark as not visible when leaving viewport
155
174
  section.dataset.visible = 'false';
156
175
  }
157
176
  if (shouldDebug(section)) {
@@ -161,6 +180,7 @@ function handleAnimatedSection(section, isIntersecting, entry) {
161
180
  }
162
181
  return;
163
182
  }
183
+ // For normal-sized elements, IntersectionObserver provides enough granularity
164
184
  const scrollProgress = (window.innerHeight - entry.boundingClientRect.top) / elementHeight;
165
185
  const shouldTrigger = scrollProgress >= threshold;
166
186
  section.dataset.visible = shouldTrigger ? 'true' : 'false';
@@ -181,6 +201,7 @@ function handleAnimatedSection(section, isIntersecting, entry) {
181
201
  }
182
202
  function intersectionHandler(entries) {
183
203
  for (const entry of entries) {
204
+ // console.log("target", entry.target.localName, entry.target);
184
205
  const target = entry.target;
185
206
  switch (target.localName) {
186
207
  case 'video':
@@ -232,6 +253,7 @@ function findAllVideos(defaultThreshold) {
232
253
  observer.observe(video);
233
254
  }
234
255
  return () => {
256
+ // console.log("clear down video observers");
235
257
  for (const [observer, videoList] of videoObservers) {
236
258
  for (const video of videoList) {
237
259
  observer.unobserve(video);
@@ -261,6 +283,7 @@ function findAllAnimations(defaultThreshold) {
261
283
  observer.observe(animation);
262
284
  }
263
285
  return () => {
286
+ // console.log("clear down animation observers");
264
287
  for (const [observer, animationList] of animationObservers) {
265
288
  for (const animation of animationList) {
266
289
  observer.unobserve(animation);
@@ -274,12 +297,15 @@ function findAllAnimatedSections(defaultThreshold) {
274
297
  if (shouldDebug()) {
275
298
  console.log(`[ClientMonitor] Found ${sections.length} animated section(s)`);
276
299
  }
300
+ // Create a shared observer with dense thresholds for all sections
301
+ // This gives us callbacks at every 5% intersection change
277
302
  const sectionObserver = new IntersectionObserver((entries) => {
278
303
  for (const entry of entries) {
279
304
  const element = entry.target;
280
305
  handleAnimatedSection(element, entry.isIntersecting, entry);
281
306
  }
282
307
  }, { threshold: SECTION_THRESHOLDS });
308
+ // Set up ResizeObserver to track element heights
283
309
  const resizeObserver = new ResizeObserver((entries) => {
284
310
  for (const entry of entries) {
285
311
  const element = entry.target;
@@ -288,26 +314,39 @@ function findAllAnimatedSections(defaultThreshold) {
288
314
  });
289
315
  for (const section of sections) {
290
316
  const sectionElement = section;
317
+ // Skip elements that are excluded from animation
318
+ if (sectionElement.hasAttribute('data-exclude-animation')) {
319
+ continue;
320
+ }
291
321
  const threshold = getElementThreshold(sectionElement, defaultThreshold);
322
+ // Store threshold for this element
292
323
  _sectionThresholds.set(sectionElement, threshold);
324
+ // Get initial height and store it
293
325
  const height = sectionElement.offsetHeight;
294
326
  _sectionHeights.set(sectionElement, height);
327
+ // Observe element for size changes
295
328
  resizeObserver.observe(sectionElement);
329
+ // Track element for cleanup
296
330
  sectionElements.push(sectionElement);
297
331
  if (shouldDebug(sectionElement)) {
298
332
  sectionElement.setAttribute('data-monitor-threshold', threshold.toString());
299
333
  sectionElement.setAttribute('data-monitor-observed', 'true');
300
334
  }
335
+ // Observe with shared dense-threshold observer
301
336
  sectionObserver.observe(sectionElement);
302
337
  }
303
338
  return () => {
339
+ // Clean up IntersectionObserver
304
340
  sectionObserver.disconnect();
341
+ // Clean up ResizeObserver and maps
305
342
  for (const sectionElement of sectionElements) {
306
343
  resizeObserver.unobserve(sectionElement);
307
344
  _sectionHeights.delete(sectionElement);
308
345
  _sectionThresholds.delete(sectionElement);
346
+ // Remove from tall element tracking if present
309
347
  _intersectingTallElements.delete(sectionElement);
310
348
  }
349
+ // Clean up scroll listener
311
350
  if (_scrollListenerAttached) {
312
351
  window.removeEventListener('scroll', handleScroll);
313
352
  _scrollListenerAttached = false;
@@ -332,6 +371,7 @@ function findAll(defaultThreshold) {
332
371
  };
333
372
  }
334
373
  export const ClientMonitor = ({ defaultThreshold = 0.2, enableDebug = false, }) => {
374
+ // Set module-level flag on mount/update
335
375
  _debugEnabled = enableDebug;
336
376
  const isDocumentVisible = useDocumentVisible();
337
377
  const pathname = usePathname();
@@ -1 +1 @@
1
- {"version":3,"file":"ClientMonitor.js","sourceRoot":"","sources":["../../src/components/ClientMonitor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ClientMonitor.js","sourceRoot":"","sources":["../../src/components/ClientMonitor.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ /** biome-ignore-all lint/suspicious/noExplicitAny: Any is allowed */
1
2
  import type { IBaseCollection, IContentContext, ITyped } from '@se-studio/core-data-types';
2
3
  import type React from 'react';
3
4
  import type { CmsRendererConfig } from '../CmsRendererConfig';
@@ -7,8 +8,54 @@ export type CollectionRendererProps<TInformation extends ITyped> = {
7
8
  contentContext: IContentContext;
8
9
  rendererConfig: CmsRendererConfig;
9
10
  };
11
+ /**
12
+ * Standard collection renderer type for rendering collections in the main content flow.
13
+ * Used for collections that appear as top-level page content.
14
+ *
15
+ * @example
16
+ * ```tsx
17
+ * const MyCollectionRenderer: CollectionRenderer<IMyCollection> = ({
18
+ * information,
19
+ * contentContext,
20
+ * rendererConfig
21
+ * }) => {
22
+ * return <div>{information.title}</div>;
23
+ * };
24
+ * ```
25
+ */
10
26
  export type CollectionRenderer<TInformation extends ITyped> = React.FC<CollectionRendererProps<TInformation>>;
27
+ /**
28
+ * Embedded collection renderer type for rendering collections within rich text or other collections.
29
+ * Includes additional props for positioning and tracking embedded content.
30
+ *
31
+ * Use this type when defining custom collection renderers that can be embedded within RTF fields
32
+ * or nested inside other collections.
33
+ *
34
+ * @example
35
+ * ```tsx
36
+ * const MyEmbeddedCollectionRenderer: EmbeddedCollectionRenderer<IMyCollection> = ({
37
+ * information,
38
+ * contentContext,
39
+ * rendererConfig,
40
+ * positionClassName,
41
+ * embeddedIndex,
42
+ * parentIndex
43
+ * }) => {
44
+ * return (
45
+ * <div className={positionClassName}>
46
+ * {information.title} (Position: {embeddedIndex})
47
+ * </div>
48
+ * );
49
+ * };
50
+ * ```
51
+ */
11
52
  export type EmbeddedCollectionRenderer<TInformation extends ITyped = ITyped> = React.FC<CollectionRendererProps<TInformation> & EmbeddedRendererProps>;
53
+ /**
54
+ * Collection type mapper for rendering collections.
55
+ * Maps collection type strings to React components that can render them.
56
+ *
57
+ * Projects should provide their own CollectionMap when calling CmsCollection.
58
+ */
12
59
  export type CollectionMap<TKey extends string, TInformation extends ITyped> = Partial<Record<TKey, CollectionRenderer<TInformation>>>;
13
60
  export type EmbeddedCollectionMap<TKey extends string, TInformation extends IBaseCollection> = Partial<Record<TKey, EmbeddedCollectionRenderer<TInformation>>>;
14
61
  export declare const CmsCollection: CollectionRenderer<IBaseCollection>;
@@ -1 +1 @@
1
- {"version":3,"file":"CmsCollection.d.ts","sourceRoot":"","sources":["../../src/components/CmsCollection.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAC3F,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE1D,MAAM,MAAM,uBAAuB,CAAC,YAAY,SAAS,MAAM,IAAI;IACjE,WAAW,EAAE,YAAY,CAAC;IAC1B,cAAc,EAAE,eAAe,CAAC;IAChC,cAAc,EAAE,iBAAiB,CAAC;CACnC,CAAC;AAiBF,MAAM,MAAM,kBAAkB,CAAC,YAAY,SAAS,MAAM,IAAI,KAAK,CAAC,EAAE,CACpE,uBAAuB,CAAC,YAAY,CAAC,CACtC,CAAC;AA2BF,MAAM,MAAM,0BAA0B,CAAC,YAAY,SAAS,MAAM,GAAG,MAAM,IAAI,KAAK,CAAC,EAAE,CACrF,uBAAuB,CAAC,YAAY,CAAC,GAAG,qBAAqB,CAC9D,CAAC;AAQF,MAAM,MAAM,aAAa,CAAC,IAAI,SAAS,MAAM,EAAE,YAAY,SAAS,MAAM,IAAI,OAAO,CACnF,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAC/C,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAC/B,IAAI,SAAS,MAAM,EACnB,YAAY,SAAS,eAAe,IAClC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,0BAA0B,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AA8CpE,eAAO,MAAM,aAAa,EAAE,kBAAkB,CAAC,eAAe,CAyD7D,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,0BAA0B,CAAC,eAAe,CA0D7E,CAAC"}
1
+ {"version":3,"file":"CmsCollection.d.ts","sourceRoot":"","sources":["../../src/components/CmsCollection.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AAErE,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAC3F,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE1D,MAAM,MAAM,uBAAuB,CAAC,YAAY,SAAS,MAAM,IAAI;IACjE,WAAW,EAAE,YAAY,CAAC;IAC1B,cAAc,EAAE,eAAe,CAAC;IAChC,cAAc,EAAE,iBAAiB,CAAC;CACnC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,kBAAkB,CAAC,YAAY,SAAS,MAAM,IAAI,KAAK,CAAC,EAAE,CACpE,uBAAuB,CAAC,YAAY,CAAC,CACtC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,MAAM,0BAA0B,CAAC,YAAY,SAAS,MAAM,GAAG,MAAM,IAAI,KAAK,CAAC,EAAE,CACrF,uBAAuB,CAAC,YAAY,CAAC,GAAG,qBAAqB,CAC9D,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,aAAa,CAAC,IAAI,SAAS,MAAM,EAAE,YAAY,SAAS,MAAM,IAAI,OAAO,CACnF,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAC/C,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAC/B,IAAI,SAAS,MAAM,EACnB,YAAY,SAAS,eAAe,IAClC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,0BAA0B,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AA8CpE,eAAO,MAAM,aAAa,EAAE,kBAAkB,CAAC,eAAe,CAyD7D,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,0BAA0B,CAAC,eAAe,CA0D7E,CAAC"}
@@ -1,4 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ /**
3
+ * Error component displayed in development/preview mode when an unknown collection type is encountered
4
+ */
2
5
  const CollectionTypeError = ({ information, availableTypes, showInProduction = false, }) => {
3
6
  if (!showInProduction && typeof process !== 'undefined' && process.env?.NODE_ENV === 'production')
4
7
  return null;
@@ -17,8 +20,10 @@ export const CmsCollection = ({ information, contentContext, rendererConfig, })
17
20
  const result = (_jsx(Element, { information: information, contentContext: contentContext, rendererConfig: rendererConfig }));
18
21
  return result;
19
22
  }
23
+ // Log unknown collection type for monitoring
20
24
  const availableTypes = Object.keys(collectionMap);
21
25
  console.log(`Unknown collection type: ${String(information.collectionType)} (ID: ${information.id}). Available types:`, availableTypes.join(','));
26
+ // Show warning in development/preview mode, use Generic fallback
22
27
  const shouldShowError = showUnknownTypeErrors ||
23
28
  (typeof process !== 'undefined' && process.env?.NODE_ENV === 'development');
24
29
  const result = (_jsxs(_Fragment, { children: [shouldShowError && (_jsx(CollectionTypeError, { information: information, availableTypes: availableTypes, showInProduction: showUnknownTypeErrors })), DefaultRenderer && (_jsx(DefaultRenderer, { information: information, contentContext: contentContext, rendererConfig: rendererConfig }))] }));
@@ -31,8 +36,10 @@ export const CmsEmbeddedCollection = ({ information, rendererConfig, contentCont
31
36
  const result = (_jsx(Element, { information: information, rendererConfig: rendererConfig, contentContext: contentContext, ...props }));
32
37
  return result;
33
38
  }
39
+ // Log unknown collection type for monitoring
34
40
  const availableTypes = Object.keys(embeddedCollectionMap);
35
41
  console.log(`Unknown embedded collection type: ${String(information.collectionType)} (ID: ${information.id}). Available types:`, availableTypes.join(','));
42
+ // Show warning in development/preview mode, use Generic fallback
36
43
  const shouldShowError = showUnknownTypeErrors ||
37
44
  (typeof process !== 'undefined' && process.env?.NODE_ENV === 'development');
38
45
  const result = (_jsxs(_Fragment, { children: [shouldShowError && (_jsx(CollectionTypeError, { information: information, availableTypes: availableTypes, showInProduction: showUnknownTypeErrors })), DefaultRenderer && (_jsx(DefaultRenderer, { information: information, contentContext: contentContext, rendererConfig: rendererConfig }))] }));
@@ -1 +1 @@
1
- {"version":3,"file":"CmsCollection.js","sourceRoot":"","sources":["../../src/components/CmsCollection.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CmsCollection.js","sourceRoot":"","sources":["../../src/components/CmsCollection.tsx"],"names":[],"mappings":";AA4EA;;GAEG;AACH,MAAM,mBAAmB,GAAG,CAAC,EAC3B,WAAW,EACX,cAAc,EACd,gBAAgB,GAAG,KAAK,GAKzB,EAAE,EAAE;IACH,IAAI,CAAC,gBAAgB,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,QAAQ,KAAK,YAAY;QAC/F,OAAO,IAAI,CAAC;IAEd,OAAO,CACL,eACE,KAAK,EAAE;YACL,MAAM,EAAE,kBAAkB;YAC1B,UAAU,EAAE,SAAS;YACrB,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,MAAM;YACd,YAAY,EAAE,KAAK;SACpB,aAED,aAAI,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,wCAA8B,EACrF,eAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,aAClC,wBACE,gDAAiC,OAAE,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,IACnE,EACJ,wBACE,8CAA+B,OAAE,WAAW,CAAC,EAAE,IAC7C,EACJ,wBACE,gDAAiC,OAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAC1D,EACJ,YAAG,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,iGAE/C,IACA,IACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAwC,CAAC,EACjE,WAAW,EACX,cAAc,EACd,cAAc,GACf,EAAE,EAAE;IACH,MAAM,EACJ,qBAAqB,EACrB,aAAa,EACb,yBAAyB,EAAE,eAAe,GAC3C,GAAG,cAAc,CAAC;IAEnB,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAE1D,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,CACb,KAAC,OAAO,IACN,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,GAC9B,CACH,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,6CAA6C;IAC7C,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CACT,4BAA4B,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,SAAS,WAAW,CAAC,EAAE,qBAAqB,EAC1G,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CACzB,CAAC;IAEF,iEAAiE;IACjE,MAAM,eAAe,GACnB,qBAAqB;QACrB,CAAC,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,QAAQ,KAAK,aAAa,CAAC,CAAC;IAE9E,MAAM,MAAM,GAAG,CACb,8BACG,eAAe,IAAI,CAClB,KAAC,mBAAmB,IAClB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,qBAAqB,GACvC,CACH,EACA,eAAe,IAAI,CAClB,KAAC,eAAe,IACd,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,GAC9B,CACH,IACA,CACJ,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAgD,CAAC,EACjF,WAAW,EACX,cAAc,EACd,cAAc,EACd,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,EACJ,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EAAE,eAAe,GAC3C,GAAG,cAAc,CAAC;IAEnB,MAAM,OAAO,GAAG,qBAAqB,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAClE,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,CACb,KAAC,OAAO,IACN,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,KAC1B,KAAK,GACT,CACH,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,6CAA6C;IAC7C,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CACT,qCAAqC,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,SAAS,WAAW,CAAC,EAAE,qBAAqB,EACnH,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CACzB,CAAC;IAEF,iEAAiE;IACjE,MAAM,eAAe,GACnB,qBAAqB;QACrB,CAAC,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,QAAQ,KAAK,aAAa,CAAC,CAAC;IAE9E,MAAM,MAAM,GAAG,CACb,8BACG,eAAe,IAAI,CAClB,KAAC,mBAAmB,IAClB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,qBAAqB,GACvC,CACH,EACA,eAAe,IAAI,CAClB,KAAC,eAAe,IACd,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,GAC9B,CACH,IACA,CACJ,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ /** biome-ignore-all lint/suspicious/noExplicitAny: Any is allowed */
1
2
  import type { IBaseComponent, IContentContext, ITyped } from '@se-studio/core-data-types';
2
3
  import type React from 'react';
3
4
  import type { CmsRendererConfig } from '../CmsRendererConfig';
@@ -7,8 +8,54 @@ export type ComponentRendererProps<TInformation extends ITyped> = {
7
8
  contentContext: IContentContext;
8
9
  rendererConfig: CmsRendererConfig;
9
10
  };
11
+ /**
12
+ * Standard component renderer type for rendering components in the main content flow.
13
+ * Used for components that appear as top-level page content.
14
+ *
15
+ * @example
16
+ * ```tsx
17
+ * const MyComponentRenderer: ComponentRenderer<IMyComponent> = ({
18
+ * information,
19
+ * contentContext,
20
+ * rendererConfig
21
+ * }) => {
22
+ * return <div>{information.heading}</div>;
23
+ * };
24
+ * ```
25
+ */
10
26
  export type ComponentRenderer<TInformation extends ITyped> = React.FC<ComponentRendererProps<TInformation>>;
27
+ /**
28
+ * Embedded component renderer type for rendering components within rich text or collections.
29
+ * Includes additional props for positioning and tracking embedded content.
30
+ *
31
+ * Use this type when defining custom component renderers that can be embedded within RTF fields
32
+ * or nested inside collections.
33
+ *
34
+ * @example
35
+ * ```tsx
36
+ * const MyEmbeddedComponentRenderer: EmbeddedComponentRenderer<IMyComponent> = ({
37
+ * information,
38
+ * contentContext,
39
+ * rendererConfig,
40
+ * positionClassName,
41
+ * embeddedIndex,
42
+ * parentIndex
43
+ * }) => {
44
+ * return (
45
+ * <div className={positionClassName}>
46
+ * {information.heading} (Embedded #{embeddedIndex})
47
+ * </div>
48
+ * );
49
+ * };
50
+ * ```
51
+ */
11
52
  export type EmbeddedComponentRenderer<TInformation extends ITyped = ITyped> = React.FC<ComponentRendererProps<TInformation> & EmbeddedRendererProps>;
53
+ /**
54
+ * Component type mapper for rendering components.
55
+ * Maps component type strings to React components that can render them.
56
+ *
57
+ * Projects should provide their own ComponentMap when calling CmsComponent.
58
+ */
12
59
  export type ComponentMap<TKey extends string, TInformation extends ITyped> = Partial<Record<TKey, ComponentRenderer<TInformation>>>;
13
60
  export type EmbeddedComponentMap<TKey extends string, TInformation extends ITyped> = Partial<Record<TKey, EmbeddedComponentRenderer<TInformation>>>;
14
61
  export declare const CmsComponent: ComponentRenderer<IBaseComponent>;
@@ -1 +1 @@
1
- {"version":3,"file":"CmsComponent.d.ts","sourceRoot":"","sources":["../../src/components/CmsComponent.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAC1F,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE1D,MAAM,MAAM,sBAAsB,CAAC,YAAY,SAAS,MAAM,IAAI;IAChE,WAAW,EAAE,YAAY,CAAC;IAC1B,cAAc,EAAE,eAAe,CAAC;IAChC,cAAc,EAAE,iBAAiB,CAAC;CACnC,CAAC;AAgBF,MAAM,MAAM,iBAAiB,CAAC,YAAY,SAAS,MAAM,IAAI,KAAK,CAAC,EAAE,CACnE,sBAAsB,CAAC,YAAY,CAAC,CACrC,CAAC;AA2BF,MAAM,MAAM,yBAAyB,CAAC,YAAY,SAAS,MAAM,GAAG,MAAM,IAAI,KAAK,CAAC,EAAE,CACpF,sBAAsB,CAAC,YAAY,CAAC,GAAG,qBAAqB,CAC7D,CAAC;AAOF,MAAM,MAAM,YAAY,CAAC,IAAI,SAAS,MAAM,EAAE,YAAY,SAAS,MAAM,IAAI,OAAO,CAClF,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAC9C,CAAC;AACF,MAAM,MAAM,oBAAoB,CAAC,IAAI,SAAS,MAAM,EAAE,YAAY,SAAS,MAAM,IAAI,OAAO,CAC1F,MAAM,CAAC,IAAI,EAAE,yBAAyB,CAAC,YAAY,CAAC,CAAC,CACtD,CAAC;AA8CF,eAAO,MAAM,YAAY,EAAE,iBAAiB,CAAC,cAAc,CAyD1D,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,yBAAyB,CAAC,cAAc,CA0D1E,CAAC"}
1
+ {"version":3,"file":"CmsComponent.d.ts","sourceRoot":"","sources":["../../src/components/CmsComponent.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AAErE,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAC1F,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE1D,MAAM,MAAM,sBAAsB,CAAC,YAAY,SAAS,MAAM,IAAI;IAChE,WAAW,EAAE,YAAY,CAAC;IAC1B,cAAc,EAAE,eAAe,CAAC;IAChC,cAAc,EAAE,iBAAiB,CAAC;CACnC,CAAC;AACF;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,iBAAiB,CAAC,YAAY,SAAS,MAAM,IAAI,KAAK,CAAC,EAAE,CACnE,sBAAsB,CAAC,YAAY,CAAC,CACrC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,MAAM,yBAAyB,CAAC,YAAY,SAAS,MAAM,GAAG,MAAM,IAAI,KAAK,CAAC,EAAE,CACpF,sBAAsB,CAAC,YAAY,CAAC,GAAG,qBAAqB,CAC7D,CAAC;AACF;;;;;GAKG;AACH,MAAM,MAAM,YAAY,CAAC,IAAI,SAAS,MAAM,EAAE,YAAY,SAAS,MAAM,IAAI,OAAO,CAClF,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAC9C,CAAC;AACF,MAAM,MAAM,oBAAoB,CAAC,IAAI,SAAS,MAAM,EAAE,YAAY,SAAS,MAAM,IAAI,OAAO,CAC1F,MAAM,CAAC,IAAI,EAAE,yBAAyB,CAAC,YAAY,CAAC,CAAC,CACtD,CAAC;AA8CF,eAAO,MAAM,YAAY,EAAE,iBAAiB,CAAC,cAAc,CAyD1D,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,yBAAyB,CAAC,cAAc,CA0D1E,CAAC"}
@@ -1,4 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ /**
3
+ * Error component displayed in development/preview mode when an unknown component type is encountered
4
+ */
2
5
  const ComponentTypeError = ({ information, availableTypes, showInProduction = false, }) => {
3
6
  if (!showInProduction && typeof process !== 'undefined' && process.env?.NODE_ENV === 'production')
4
7
  return null;
@@ -17,8 +20,10 @@ export const CmsComponent = ({ information, contentContext, rendererConfig, }) =
17
20
  const result = (_jsx(Element, { information: information, contentContext: contentContext, rendererConfig: rendererConfig }));
18
21
  return result;
19
22
  }
23
+ // Log unknown component type for monitoring
20
24
  const availableTypes = Object.keys(componentMap);
21
25
  console.log(`Unknown component type: ${String(information.componentType)} (ID: ${information.id}). Available types:`, availableTypes.join(','));
26
+ // Show warning in development/preview mode, use Generic fallback
22
27
  const shouldShowError = showUnknownTypeErrors ||
23
28
  (typeof process !== 'undefined' && process.env?.NODE_ENV === 'development');
24
29
  const result = (_jsxs(_Fragment, { children: [shouldShowError && (_jsx(ComponentTypeError, { information: information, availableTypes: availableTypes, showInProduction: showUnknownTypeErrors })), DefaultRenderer && (_jsx(DefaultRenderer, { information: information, contentContext: contentContext, rendererConfig: rendererConfig }))] }));
@@ -31,8 +36,10 @@ export const CmsEmbeddedComponent = ({ information, contentContext, rendererConf
31
36
  const result = (_jsx(Element, { information: information, contentContext: contentContext, rendererConfig: rendererConfig, ...props }));
32
37
  return result;
33
38
  }
39
+ // Log unknown component type for monitoring
34
40
  const availableTypes = Object.keys(embeddedComponentMap);
35
41
  console.log(`Unknown embedded component type: ${String(information.componentType)} (ID: ${information.id}). Available types:`, availableTypes.join(','));
42
+ // Show warning in development/preview mode, use Generic fallback
36
43
  const shouldShowError = showUnknownTypeErrors ||
37
44
  (typeof process !== 'undefined' && process.env?.NODE_ENV === 'development');
38
45
  const result = (_jsxs(_Fragment, { children: [shouldShowError && (_jsx(ComponentTypeError, { information: information, availableTypes: availableTypes, showInProduction: showUnknownTypeErrors })), DefaultRenderer && (_jsx(DefaultRenderer, { information: information, contentContext: contentContext, rendererConfig: rendererConfig }))] }));
@@ -1 +1 @@
1
- {"version":3,"file":"CmsComponent.js","sourceRoot":"","sources":["../../src/components/CmsComponent.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CmsComponent.js","sourceRoot":"","sources":["../../src/components/CmsComponent.tsx"],"names":[],"mappings":"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"}
@@ -1,19 +1,39 @@
1
1
  import type { IContentContext, IPageContext, ITyped, IVisual } from '@se-studio/core-data-types';
2
2
  import type React from 'react';
3
3
  import type { CmsRendererConfig } from '../CmsRendererConfig';
4
+ /**
5
+ * Visual component renderer type
6
+ */
4
7
  export type VisualComponentRenderer = React.FC<{
5
8
  information: IVisual;
6
9
  contentContext: IContentContext;
7
10
  }>;
11
+ /**
12
+ * Internal link renderer type
13
+ */
8
14
  export type InternalLinkRenderer = React.FC<{
9
15
  information: unknown;
10
16
  contentContext: IContentContext;
11
17
  }>;
18
+ /**
19
+ * Additional props provided to embedded content renderers (collections, components, and external components)
20
+ * when they are rendered within rich text fields or other collections.
21
+ *
22
+ * These props allow embedded renderers to apply appropriate styling and track their position
23
+ * for analytics, animations, or other positional logic.
24
+ *
25
+ * @property positionClassName - CSS class name(s) for positioning the embedded content (e.g., "w-full col-span-full" for full-width grid items)
26
+ * @property embeddedIndex - Zero-based index of this embedded content among its siblings (e.g., 0 for the first embedded entry, 1 for the second)
27
+ * @property parentIndex - Index or depth of the parent container (e.g., 0 for root-level RTF content, higher values for nested collections)
28
+ */
12
29
  export type EmbeddedRendererProps = {
13
30
  positionClassName: string;
14
31
  embeddedIndex: number;
15
32
  parentIndex: number;
16
33
  };
34
+ /**
35
+ * Error display component for rendering errors in development mode
36
+ */
17
37
  export declare const ContentError: ({ error, content, showInProduction, }: {
18
38
  error: Error;
19
39
  content: {
@@ -22,6 +42,48 @@ export declare const ContentError: ({ error, content, showInProduction, }: {
22
42
  };
23
43
  showInProduction?: boolean;
24
44
  }) => import("react/jsx-runtime").JSX.Element | null;
45
+ /**
46
+ * Main content renderer that renders an array of page content items.
47
+ *
48
+ * @example Basic usage
49
+ * ```tsx
50
+ * import { createCmsRendererConfig } from "@se-studio/core-ui";
51
+ *
52
+ * const rendererConfig = createCmsRendererConfig<MyProjectConfig>({
53
+ * componentMap: {
54
+ * "Hero": HeroComponent,
55
+ * "CTA": CTAComponent,
56
+ * },
57
+ * collectionMap: {
58
+ * "FAQs": FAQCollection,
59
+ * },
60
+ * showUnknownTypeErrors: process.env.NODE_ENV === 'development',
61
+ * });
62
+ *
63
+ * <CmsContent
64
+ * rendererConfig={rendererConfig}
65
+ * pageContext={pageContext}
66
+ * contents={page.contents}
67
+ * />
68
+ * ```
69
+ *
70
+ * @example With all renderer types
71
+ * ```tsx
72
+ * const rendererConfig = createCmsRendererConfig<MyProjectConfig>({
73
+ * componentMap: { ... },
74
+ * collectionMap: { ... },
75
+ * externalComponentMap: { ... },
76
+ * visualComponentRenderer: VisualRenderer,
77
+ * internalLinkRenderer: InternalLinkRenderer,
78
+ * });
79
+ *
80
+ * <CmsContent
81
+ * rendererConfig={rendererConfig}
82
+ * pageContext={pageContext}
83
+ * contents={page.contents}
84
+ * />
85
+ * ```
86
+ */
25
87
  export declare function CmsContent({ pageContext, contents, rendererConfig, }: {
26
88
  pageContext: IPageContext;
27
89
  contents?: ReadonlyArray<ITyped>;
@@ -1 +1 @@
1
- {"version":3,"file":"CmsContent.d.ts","sourceRoot":"","sources":["../../src/components/CmsContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,eAAe,EACf,YAAY,EACZ,MAAM,EACN,OAAO,EACR,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AA2B9D,MAAM,MAAM,uBAAuB,GAAG,KAAK,CAAC,EAAE,CAAC;IAC7C,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,eAAe,CAAC;CACjC,CAAC,CAAC;AAKH,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,EAAE,CAAC;IAC1C,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,eAAe,CAAC;CACjC,CAAC,CAAC;AAaH,MAAM,MAAM,qBAAqB,GAAG;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAKF,eAAO,MAAM,YAAY,GAAI,uCAI1B;IACD,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,mDA0CA,CAAC;AA4KF,wBAAgB,UAAU,CAAC,EACzB,WAAW,EACX,QAAQ,EACR,cAAc,GACf,EAAE;IACD,WAAW,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACjC,cAAc,EAAE,iBAAiB,CAAC;CACnC,kDAmBA"}
1
+ {"version":3,"file":"CmsContent.d.ts","sourceRoot":"","sources":["../../src/components/CmsContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,eAAe,EACf,YAAY,EACZ,MAAM,EACN,OAAO,EACR,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAwB9D;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,KAAK,CAAC,EAAE,CAAC;IAC7C,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,eAAe,CAAC;CACjC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,EAAE,CAAC;IAC1C,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,eAAe,CAAC;CACjC,CAAC,CAAC;AAEH;;;;;;;;;;GAUG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,uCAI1B;IACD,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,mDA0CA,CAAC;AAkIF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,UAAU,CAAC,EACzB,WAAW,EACX,QAAQ,EACR,cAAc,GACf,EAAE;IACD,WAAW,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACjC,cAAc,EAAE,iBAAiB,CAAC;CACnC,kDAmBA"}