@se-studio/core-ui 0.0.0-next16-20260822103555

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 (625) hide show
  1. package/ANALYTICS.md +160 -0
  2. package/CHANGELOG.md +2565 -0
  3. package/CMS_INFRASTRUCTURE.md +370 -0
  4. package/CONSENT.md +121 -0
  5. package/README.md +638 -0
  6. package/dist/CmsRendererConfig.d.ts +259 -0
  7. package/dist/CmsRendererConfig.d.ts.map +1 -0
  8. package/dist/CmsRendererConfig.js +2 -0
  9. package/dist/CmsRendererConfig.js.map +1 -0
  10. package/dist/__mocks__/server-only.d.ts +2 -0
  11. package/dist/__mocks__/server-only.d.ts.map +1 -0
  12. package/dist/__mocks__/server-only.js +2 -0
  13. package/dist/__mocks__/server-only.js.map +1 -0
  14. package/dist/analytics/AnalyticsPageTracker.d.ts +11 -0
  15. package/dist/analytics/AnalyticsPageTracker.d.ts.map +1 -0
  16. package/dist/analytics/AnalyticsPageTracker.js +26 -0
  17. package/dist/analytics/AnalyticsPageTracker.js.map +1 -0
  18. package/dist/analytics/AnalyticsProvider.d.ts +18 -0
  19. package/dist/analytics/AnalyticsProvider.d.ts.map +1 -0
  20. package/dist/analytics/AnalyticsProvider.js +48 -0
  21. package/dist/analytics/AnalyticsProvider.js.map +1 -0
  22. package/dist/analytics/adapters/CompositeAnalyticsAdapter.d.ts +13 -0
  23. package/dist/analytics/adapters/CompositeAnalyticsAdapter.d.ts.map +1 -0
  24. package/dist/analytics/adapters/CompositeAnalyticsAdapter.js +35 -0
  25. package/dist/analytics/adapters/CompositeAnalyticsAdapter.js.map +1 -0
  26. package/dist/analytics/adapters/ConsentAwareAdapter.d.ts +20 -0
  27. package/dist/analytics/adapters/ConsentAwareAdapter.d.ts.map +1 -0
  28. package/dist/analytics/adapters/ConsentAwareAdapter.js +35 -0
  29. package/dist/analytics/adapters/ConsentAwareAdapter.js.map +1 -0
  30. package/dist/analytics/adapters/ConsoleAnalyticsAdapter.d.ts +12 -0
  31. package/dist/analytics/adapters/ConsoleAnalyticsAdapter.d.ts.map +1 -0
  32. package/dist/analytics/adapters/ConsoleAnalyticsAdapter.js +22 -0
  33. package/dist/analytics/adapters/ConsoleAnalyticsAdapter.js.map +1 -0
  34. package/dist/analytics/adapters/GoogleTagManagerAdapter.d.ts +53 -0
  35. package/dist/analytics/adapters/GoogleTagManagerAdapter.d.ts.map +1 -0
  36. package/dist/analytics/adapters/GoogleTagManagerAdapter.js +134 -0
  37. package/dist/analytics/adapters/GoogleTagManagerAdapter.js.map +1 -0
  38. package/dist/analytics/adapters/index.d.ts +5 -0
  39. package/dist/analytics/adapters/index.d.ts.map +1 -0
  40. package/dist/analytics/adapters/index.js +5 -0
  41. package/dist/analytics/adapters/index.js.map +1 -0
  42. package/dist/analytics/types.d.ts +42 -0
  43. package/dist/analytics/types.d.ts.map +1 -0
  44. package/dist/analytics/types.js +2 -0
  45. package/dist/analytics/types.js.map +1 -0
  46. package/dist/analytics/useAnalytics.d.ts +44 -0
  47. package/dist/analytics/useAnalytics.d.ts.map +1 -0
  48. package/dist/analytics/useAnalytics.js +69 -0
  49. package/dist/analytics/useAnalytics.js.map +1 -0
  50. package/dist/analytics/video/classifySeek.d.ts +15 -0
  51. package/dist/analytics/video/classifySeek.d.ts.map +1 -0
  52. package/dist/analytics/video/classifySeek.js +32 -0
  53. package/dist/analytics/video/classifySeek.js.map +1 -0
  54. package/dist/analytics/video/createVideoEngagementSession.d.ts +51 -0
  55. package/dist/analytics/video/createVideoEngagementSession.d.ts.map +1 -0
  56. package/dist/analytics/video/createVideoEngagementSession.js +225 -0
  57. package/dist/analytics/video/createVideoEngagementSession.js.map +1 -0
  58. package/dist/analytics/video/index.d.ts +6 -0
  59. package/dist/analytics/video/index.d.ts.map +1 -0
  60. package/dist/analytics/video/index.js +6 -0
  61. package/dist/analytics/video/index.js.map +1 -0
  62. package/dist/analytics/video/loadYouTubeIframeApi.d.ts +50 -0
  63. package/dist/analytics/video/loadYouTubeIframeApi.d.ts.map +1 -0
  64. package/dist/analytics/video/loadYouTubeIframeApi.js +52 -0
  65. package/dist/analytics/video/loadYouTubeIframeApi.js.map +1 -0
  66. package/dist/analytics/video/useHtml5VideoEngagement.d.ts +8 -0
  67. package/dist/analytics/video/useHtml5VideoEngagement.d.ts.map +1 -0
  68. package/dist/analytics/video/useHtml5VideoEngagement.js +67 -0
  69. package/dist/analytics/video/useHtml5VideoEngagement.js.map +1 -0
  70. package/dist/analytics/video/useVideoEngagement.d.ts +19 -0
  71. package/dist/analytics/video/useVideoEngagement.d.ts.map +1 -0
  72. package/dist/analytics/video/useVideoEngagement.js +80 -0
  73. package/dist/analytics/video/useVideoEngagement.js.map +1 -0
  74. package/dist/analytics/video/videoEngagementTypes.d.ts +52 -0
  75. package/dist/analytics/video/videoEngagementTypes.d.ts.map +1 -0
  76. package/dist/analytics/video/videoEngagementTypes.js +45 -0
  77. package/dist/analytics/video/videoEngagementTypes.js.map +1 -0
  78. package/dist/app-helpers.d.ts +196 -0
  79. package/dist/app-helpers.d.ts.map +1 -0
  80. package/dist/app-helpers.js +322 -0
  81. package/dist/app-helpers.js.map +1 -0
  82. package/dist/cmsRegistration.d.ts +302 -0
  83. package/dist/cmsRegistration.d.ts.map +1 -0
  84. package/dist/cmsRegistration.js +242 -0
  85. package/dist/cmsRegistration.js.map +1 -0
  86. package/dist/components/Animation.d.ts +3 -0
  87. package/dist/components/Animation.d.ts.map +1 -0
  88. package/dist/components/Animation.js +2 -0
  89. package/dist/components/Animation.js.map +1 -0
  90. package/dist/components/AnimationComponent.d.ts +9 -0
  91. package/dist/components/AnimationComponent.d.ts.map +1 -0
  92. package/dist/components/AnimationComponent.js +18 -0
  93. package/dist/components/AnimationComponent.js.map +1 -0
  94. package/dist/components/ClientMonitor.d.ts +7 -0
  95. package/dist/components/ClientMonitor.d.ts.map +1 -0
  96. package/dist/components/ClientMonitor.js +368 -0
  97. package/dist/components/ClientMonitor.js.map +1 -0
  98. package/dist/components/CmsCollection.d.ts +68 -0
  99. package/dist/components/CmsCollection.d.ts.map +1 -0
  100. package/dist/components/CmsCollection.js +68 -0
  101. package/dist/components/CmsCollection.js.map +1 -0
  102. package/dist/components/CmsComponent.d.ts +68 -0
  103. package/dist/components/CmsComponent.d.ts.map +1 -0
  104. package/dist/components/CmsComponent.js +68 -0
  105. package/dist/components/CmsComponent.js.map +1 -0
  106. package/dist/components/CmsContent.d.ts +105 -0
  107. package/dist/components/CmsContent.d.ts.map +1 -0
  108. package/dist/components/CmsContent.js +200 -0
  109. package/dist/components/CmsContent.js.map +1 -0
  110. package/dist/components/CmsConversionErrors.d.ts +8 -0
  111. package/dist/components/CmsConversionErrors.d.ts.map +1 -0
  112. package/dist/components/CmsConversionErrors.js +51 -0
  113. package/dist/components/CmsConversionErrors.js.map +1 -0
  114. package/dist/components/CmsDataError.d.ts +14 -0
  115. package/dist/components/CmsDataError.d.ts.map +1 -0
  116. package/dist/components/CmsDataError.js +7 -0
  117. package/dist/components/CmsDataError.js.map +1 -0
  118. package/dist/components/CmsDevLayout.d.ts +23 -0
  119. package/dist/components/CmsDevLayout.d.ts.map +1 -0
  120. package/dist/components/CmsDevLayout.js +26 -0
  121. package/dist/components/CmsDevLayout.js.map +1 -0
  122. package/dist/components/CmsEmbeddedContent.d.ts +10 -0
  123. package/dist/components/CmsEmbeddedContent.d.ts.map +1 -0
  124. package/dist/components/CmsEmbeddedContent.js +51 -0
  125. package/dist/components/CmsEmbeddedContent.js.map +1 -0
  126. package/dist/components/CmsExternalComponent.d.ts +63 -0
  127. package/dist/components/CmsExternalComponent.d.ts.map +1 -0
  128. package/dist/components/CmsExternalComponent.js +68 -0
  129. package/dist/components/CmsExternalComponent.js.map +1 -0
  130. package/dist/components/CmsRoutesLayout.d.ts +16 -0
  131. package/dist/components/CmsRoutesLayout.d.ts.map +1 -0
  132. package/dist/components/CmsRoutesLayout.js +17 -0
  133. package/dist/components/CmsRoutesLayout.js.map +1 -0
  134. package/dist/components/DefaultExternalVideoPlayButton.d.ts +3 -0
  135. package/dist/components/DefaultExternalVideoPlayButton.d.ts.map +1 -0
  136. package/dist/components/DefaultExternalVideoPlayButton.js +6 -0
  137. package/dist/components/DefaultExternalVideoPlayButton.js.map +1 -0
  138. package/dist/components/DotLottieAnimationComponent.d.ts +16 -0
  139. package/dist/components/DotLottieAnimationComponent.d.ts.map +1 -0
  140. package/dist/components/DotLottieAnimationComponent.js +88 -0
  141. package/dist/components/DotLottieAnimationComponent.js.map +1 -0
  142. package/dist/components/ErrorBoundary.d.ts +19 -0
  143. package/dist/components/ErrorBoundary.d.ts.map +1 -0
  144. package/dist/components/ErrorBoundary.js +32 -0
  145. package/dist/components/ErrorBoundary.js.map +1 -0
  146. package/dist/components/ExternalVideoComponent.d.ts +9 -0
  147. package/dist/components/ExternalVideoComponent.d.ts.map +1 -0
  148. package/dist/components/ExternalVideoComponent.js +39 -0
  149. package/dist/components/ExternalVideoComponent.js.map +1 -0
  150. package/dist/components/ExternalVimeoEmbed.d.ts +12 -0
  151. package/dist/components/ExternalVimeoEmbed.d.ts.map +1 -0
  152. package/dist/components/ExternalVimeoEmbed.js +211 -0
  153. package/dist/components/ExternalVimeoEmbed.js.map +1 -0
  154. package/dist/components/ExternalYouTubeEmbed.d.ts +9 -0
  155. package/dist/components/ExternalYouTubeEmbed.d.ts.map +1 -0
  156. package/dist/components/ExternalYouTubeEmbed.js +220 -0
  157. package/dist/components/ExternalYouTubeEmbed.js.map +1 -0
  158. package/dist/components/HeroLoopVideo.d.ts +13 -0
  159. package/dist/components/HeroLoopVideo.d.ts.map +1 -0
  160. package/dist/components/HeroLoopVideo.js +146 -0
  161. package/dist/components/HeroLoopVideo.js.map +1 -0
  162. package/dist/components/HtmlComponent.d.ts +21 -0
  163. package/dist/components/HtmlComponent.d.ts.map +1 -0
  164. package/dist/components/HtmlComponent.js +34 -0
  165. package/dist/components/HtmlComponent.js.map +1 -0
  166. package/dist/components/HtmlComponentScript.d.ts +12 -0
  167. package/dist/components/HtmlComponentScript.d.ts.map +1 -0
  168. package/dist/components/HtmlComponentScript.js +12 -0
  169. package/dist/components/HtmlComponentScript.js.map +1 -0
  170. package/dist/components/ImageComponent.d.ts +7 -0
  171. package/dist/components/ImageComponent.d.ts.map +1 -0
  172. package/dist/components/ImageComponent.js +20 -0
  173. package/dist/components/ImageComponent.js.map +1 -0
  174. package/dist/components/ImageKitClientVideo.d.ts +16 -0
  175. package/dist/components/ImageKitClientVideo.d.ts.map +1 -0
  176. package/dist/components/ImageKitClientVideo.js +211 -0
  177. package/dist/components/ImageKitClientVideo.js.map +1 -0
  178. package/dist/components/ImageKitHlsVideoClient.d.ts +21 -0
  179. package/dist/components/ImageKitHlsVideoClient.d.ts.map +1 -0
  180. package/dist/components/ImageKitHlsVideoClient.js +167 -0
  181. package/dist/components/ImageKitHlsVideoClient.js.map +1 -0
  182. package/dist/components/LazyAnimation.d.ts +16 -0
  183. package/dist/components/LazyAnimation.d.ts.map +1 -0
  184. package/dist/components/LazyAnimation.js +90 -0
  185. package/dist/components/LazyAnimation.js.map +1 -0
  186. package/dist/components/LazyVideo.d.ts +19 -0
  187. package/dist/components/LazyVideo.d.ts.map +1 -0
  188. package/dist/components/LazyVideo.js +134 -0
  189. package/dist/components/LazyVideo.js.map +1 -0
  190. package/dist/components/LocalVideo.d.ts +10 -0
  191. package/dist/components/LocalVideo.d.ts.map +1 -0
  192. package/dist/components/LocalVideo.js +66 -0
  193. package/dist/components/LocalVideo.js.map +1 -0
  194. package/dist/components/LocalVideoPlayChrome.d.ts +20 -0
  195. package/dist/components/LocalVideoPlayChrome.d.ts.map +1 -0
  196. package/dist/components/LocalVideoPlayChrome.js +22 -0
  197. package/dist/components/LocalVideoPlayChrome.js.map +1 -0
  198. package/dist/components/LocalVideoPlayOverlay.d.ts +19 -0
  199. package/dist/components/LocalVideoPlayOverlay.d.ts.map +1 -0
  200. package/dist/components/LocalVideoPlayOverlay.js +49 -0
  201. package/dist/components/LocalVideoPlayOverlay.js.map +1 -0
  202. package/dist/components/PictureComponent.d.ts +7 -0
  203. package/dist/components/PictureComponent.d.ts.map +1 -0
  204. package/dist/components/PictureComponent.js +29 -0
  205. package/dist/components/PictureComponent.js.map +1 -0
  206. package/dist/components/Preview.d.ts +2 -0
  207. package/dist/components/Preview.d.ts.map +1 -0
  208. package/dist/components/Preview.js +52 -0
  209. package/dist/components/Preview.js.map +1 -0
  210. package/dist/components/StructuredData.d.ts +20 -0
  211. package/dist/components/StructuredData.d.ts.map +1 -0
  212. package/dist/components/StructuredData.js +116 -0
  213. package/dist/components/StructuredData.js.map +1 -0
  214. package/dist/components/SvgComponent.d.ts +7 -0
  215. package/dist/components/SvgComponent.d.ts.map +1 -0
  216. package/dist/components/SvgComponent.js +10 -0
  217. package/dist/components/SvgComponent.js.map +1 -0
  218. package/dist/components/SvgIconComponent.d.ts +20 -0
  219. package/dist/components/SvgIconComponent.d.ts.map +1 -0
  220. package/dist/components/SvgIconComponent.js +23 -0
  221. package/dist/components/SvgIconComponent.js.map +1 -0
  222. package/dist/components/SvgImageComponent.d.ts +7 -0
  223. package/dist/components/SvgImageComponent.d.ts.map +1 -0
  224. package/dist/components/SvgImageComponent.js +10 -0
  225. package/dist/components/SvgImageComponent.js.map +1 -0
  226. package/dist/components/SvgSpriteSheet.d.ts +24 -0
  227. package/dist/components/SvgSpriteSheet.d.ts.map +1 -0
  228. package/dist/components/SvgSpriteSheet.js +37 -0
  229. package/dist/components/SvgSpriteSheet.js.map +1 -0
  230. package/dist/components/Video.d.ts +11 -0
  231. package/dist/components/Video.d.ts.map +1 -0
  232. package/dist/components/Video.js +2 -0
  233. package/dist/components/Video.js.map +1 -0
  234. package/dist/components/VideoComponent.d.ts +10 -0
  235. package/dist/components/VideoComponent.d.ts.map +1 -0
  236. package/dist/components/VideoComponent.js +22 -0
  237. package/dist/components/VideoComponent.js.map +1 -0
  238. package/dist/components/Visual.d.ts +43 -0
  239. package/dist/components/Visual.d.ts.map +1 -0
  240. package/dist/components/Visual.js +60 -0
  241. package/dist/components/Visual.js.map +1 -0
  242. package/dist/components/VisualComponent.d.ts +83 -0
  243. package/dist/components/VisualComponent.d.ts.map +1 -0
  244. package/dist/components/VisualComponent.js +136 -0
  245. package/dist/components/VisualComponent.js.map +1 -0
  246. package/dist/components/banner/BannerClient.d.ts +13 -0
  247. package/dist/components/banner/BannerClient.d.ts.map +1 -0
  248. package/dist/components/banner/BannerClient.js +38 -0
  249. package/dist/components/banner/BannerClient.js.map +1 -0
  250. package/dist/components/banner/BannerManager.d.ts +26 -0
  251. package/dist/components/banner/BannerManager.d.ts.map +1 -0
  252. package/dist/components/banner/BannerManager.js +35 -0
  253. package/dist/components/banner/BannerManager.js.map +1 -0
  254. package/dist/components/banner/BannerTargeting.d.ts +20 -0
  255. package/dist/components/banner/BannerTargeting.d.ts.map +1 -0
  256. package/dist/components/banner/BannerTargeting.js +204 -0
  257. package/dist/components/banner/BannerTargeting.js.map +1 -0
  258. package/dist/components/banner/bannerVisibility.d.ts +20 -0
  259. package/dist/components/banner/bannerVisibility.d.ts.map +1 -0
  260. package/dist/components/banner/bannerVisibility.js +73 -0
  261. package/dist/components/banner/bannerVisibility.js.map +1 -0
  262. package/dist/components/clientMonitorVideos.d.ts +6 -0
  263. package/dist/components/clientMonitorVideos.d.ts.map +1 -0
  264. package/dist/components/clientMonitorVideos.js +116 -0
  265. package/dist/components/clientMonitorVideos.js.map +1 -0
  266. package/dist/components/dotlottieWasm.d.ts +19 -0
  267. package/dist/components/dotlottieWasm.d.ts.map +1 -0
  268. package/dist/components/dotlottieWasm.js +62 -0
  269. package/dist/components/dotlottieWasm.js.map +1 -0
  270. package/dist/components/heroLoop.d.ts +22 -0
  271. package/dist/components/heroLoop.d.ts.map +1 -0
  272. package/dist/components/heroLoop.js +24 -0
  273. package/dist/components/heroLoop.js.map +1 -0
  274. package/dist/components/svg.d.ts +3 -0
  275. package/dist/components/svg.d.ts.map +1 -0
  276. package/dist/components/svg.js +64 -0
  277. package/dist/components/svg.js.map +1 -0
  278. package/dist/context/ExternalVideoPlayButtonContext.d.ts +7 -0
  279. package/dist/context/ExternalVideoPlayButtonContext.d.ts.map +1 -0
  280. package/dist/context/ExternalVideoPlayButtonContext.js +11 -0
  281. package/dist/context/ExternalVideoPlayButtonContext.js.map +1 -0
  282. package/dist/elements/RtfOrString.d.ts +26 -0
  283. package/dist/elements/RtfOrString.d.ts.map +1 -0
  284. package/dist/elements/RtfOrString.js +13 -0
  285. package/dist/elements/RtfOrString.js.map +1 -0
  286. package/dist/elements/TrackedLink.d.ts +25 -0
  287. package/dist/elements/TrackedLink.d.ts.map +1 -0
  288. package/dist/elements/TrackedLink.js +96 -0
  289. package/dist/elements/TrackedLink.js.map +1 -0
  290. package/dist/elements/UtmLink.d.ts +7 -0
  291. package/dist/elements/UtmLink.d.ts.map +1 -0
  292. package/dist/elements/UtmLink.js +24 -0
  293. package/dist/elements/UtmLink.js.map +1 -0
  294. package/dist/framework/BackgroundMedia.d.ts +12 -0
  295. package/dist/framework/BackgroundMedia.d.ts.map +1 -0
  296. package/dist/framework/BackgroundMedia.js +23 -0
  297. package/dist/framework/BackgroundMedia.js.map +1 -0
  298. package/dist/framework/ComponentErrorIndicator.d.ts +12 -0
  299. package/dist/framework/ComponentErrorIndicator.d.ts.map +1 -0
  300. package/dist/framework/ComponentErrorIndicator.js +29 -0
  301. package/dist/framework/ComponentErrorIndicator.js.map +1 -0
  302. package/dist/framework/ContainedVisual.d.ts +12 -0
  303. package/dist/framework/ContainedVisual.d.ts.map +1 -0
  304. package/dist/framework/ContainedVisual.js +14 -0
  305. package/dist/framework/ContainedVisual.js.map +1 -0
  306. package/dist/framework/ResponsiveVisual.d.ts +14 -0
  307. package/dist/framework/ResponsiveVisual.d.ts.map +1 -0
  308. package/dist/framework/ResponsiveVisual.js +14 -0
  309. package/dist/framework/ResponsiveVisual.js.map +1 -0
  310. package/dist/framework/componentErrors.d.ts +19 -0
  311. package/dist/framework/componentErrors.d.ts.map +1 -0
  312. package/dist/framework/componentErrors.js +31 -0
  313. package/dist/framework/componentErrors.js.map +1 -0
  314. package/dist/hooks/useClickTracking.d.ts +58 -0
  315. package/dist/hooks/useClickTracking.d.ts.map +1 -0
  316. package/dist/hooks/useClickTracking.js +48 -0
  317. package/dist/hooks/useClickTracking.js.map +1 -0
  318. package/dist/hooks/useDocumentVisible.d.ts +2 -0
  319. package/dist/hooks/useDocumentVisible.d.ts.map +1 -0
  320. package/dist/hooks/useDocumentVisible.js +17 -0
  321. package/dist/hooks/useDocumentVisible.js.map +1 -0
  322. package/dist/hooks/visibility.d.ts +14 -0
  323. package/dist/hooks/visibility.d.ts.map +1 -0
  324. package/dist/hooks/visibility.js +122 -0
  325. package/dist/hooks/visibility.js.map +1 -0
  326. package/dist/index.d.ts +134 -0
  327. package/dist/index.d.ts.map +1 -0
  328. package/dist/index.js +120 -0
  329. package/dist/index.js.map +1 -0
  330. package/dist/media-library/MediaLibraryAnimationPlayer.d.ts +9 -0
  331. package/dist/media-library/MediaLibraryAnimationPlayer.d.ts.map +1 -0
  332. package/dist/media-library/MediaLibraryAnimationPlayer.js +99 -0
  333. package/dist/media-library/MediaLibraryAnimationPlayer.js.map +1 -0
  334. package/dist/media-library/MediaLibraryGrid.d.ts +5 -0
  335. package/dist/media-library/MediaLibraryGrid.d.ts.map +1 -0
  336. package/dist/media-library/MediaLibraryGrid.js +88 -0
  337. package/dist/media-library/MediaLibraryGrid.js.map +1 -0
  338. package/dist/media-library/MediaLibraryPage.d.ts +17 -0
  339. package/dist/media-library/MediaLibraryPage.d.ts.map +1 -0
  340. package/dist/media-library/MediaLibraryPage.js +30 -0
  341. package/dist/media-library/MediaLibraryPage.js.map +1 -0
  342. package/dist/media-library/index.d.ts +4 -0
  343. package/dist/media-library/index.d.ts.map +1 -0
  344. package/dist/media-library/index.js +4 -0
  345. package/dist/media-library/index.js.map +1 -0
  346. package/dist/media-library/types.d.ts +8 -0
  347. package/dist/media-library/types.d.ts.map +1 -0
  348. package/dist/media-library/types.js +12 -0
  349. package/dist/media-library/types.js.map +1 -0
  350. package/dist/route-handlers/createCmsTxtHandler.d.ts +19 -0
  351. package/dist/route-handlers/createCmsTxtHandler.d.ts.map +1 -0
  352. package/dist/route-handlers/createCmsTxtHandler.js +154 -0
  353. package/dist/route-handlers/createCmsTxtHandler.js.map +1 -0
  354. package/dist/route-handlers/createDiscoveryHandler.d.ts +67 -0
  355. package/dist/route-handlers/createDiscoveryHandler.d.ts.map +1 -0
  356. package/dist/route-handlers/createDiscoveryHandler.js +190 -0
  357. package/dist/route-handlers/createDiscoveryHandler.js.map +1 -0
  358. package/dist/route-handlers/createGuidelinesHandler.d.ts +16 -0
  359. package/dist/route-handlers/createGuidelinesHandler.d.ts.map +1 -0
  360. package/dist/route-handlers/createGuidelinesHandler.js +100 -0
  361. package/dist/route-handlers/createGuidelinesHandler.js.map +1 -0
  362. package/dist/route-handlers/createMediaLibraryHandler.d.ts +19 -0
  363. package/dist/route-handlers/createMediaLibraryHandler.d.ts.map +1 -0
  364. package/dist/route-handlers/createMediaLibraryHandler.js +76 -0
  365. package/dist/route-handlers/createMediaLibraryHandler.js.map +1 -0
  366. package/dist/route-handlers/index.d.ts +9 -0
  367. package/dist/route-handlers/index.d.ts.map +1 -0
  368. package/dist/route-handlers/index.js +5 -0
  369. package/dist/route-handlers/index.js.map +1 -0
  370. package/dist/rtf/rtf.d.ts +66 -0
  371. package/dist/rtf/rtf.d.ts.map +1 -0
  372. package/dist/rtf/rtf.js +183 -0
  373. package/dist/rtf/rtf.js.map +1 -0
  374. package/dist/server/index.d.ts +20 -0
  375. package/dist/server/index.d.ts.map +1 -0
  376. package/dist/server/index.js +11 -0
  377. package/dist/server/index.js.map +1 -0
  378. package/dist/server/merge-prepared-page-context.d.ts +8 -0
  379. package/dist/server/merge-prepared-page-context.d.ts.map +1 -0
  380. package/dist/server/merge-prepared-page-context.js +11 -0
  381. package/dist/server/merge-prepared-page-context.js.map +1 -0
  382. package/dist/server/page-test-merge.d.ts +7 -0
  383. package/dist/server/page-test-merge.d.ts.map +1 -0
  384. package/dist/server/page-test-merge.js +12 -0
  385. package/dist/server/page-test-merge.js.map +1 -0
  386. package/dist/server/route-handlers-types.d.ts +124 -0
  387. package/dist/server/route-handlers-types.d.ts.map +1 -0
  388. package/dist/server/route-handlers-types.js +2 -0
  389. package/dist/server/route-handlers-types.js.map +1 -0
  390. package/dist/server/route-handlers.d.ts +99 -0
  391. package/dist/server/route-handlers.d.ts.map +1 -0
  392. package/dist/server/route-handlers.js +1268 -0
  393. package/dist/server/route-handlers.js.map +1 -0
  394. package/dist/server/route-types.d.ts +78 -0
  395. package/dist/server/route-types.d.ts.map +1 -0
  396. package/dist/server/route-types.js +4 -0
  397. package/dist/server/route-types.js.map +1 -0
  398. package/dist/server/tag-index-guards.d.ts +33 -0
  399. package/dist/server/tag-index-guards.d.ts.map +1 -0
  400. package/dist/server/tag-index-guards.js +33 -0
  401. package/dist/server/tag-index-guards.js.map +1 -0
  402. package/dist/server/template-route-handlers.d.ts +7 -0
  403. package/dist/server/template-route-handlers.d.ts.map +1 -0
  404. package/dist/server/template-route-handlers.js +35 -0
  405. package/dist/server/template-route-handlers.js.map +1 -0
  406. package/dist/showcase/components/AllViewPanel.d.ts +7 -0
  407. package/dist/showcase/components/AllViewPanel.d.ts.map +1 -0
  408. package/dist/showcase/components/AllViewPanel.js +55 -0
  409. package/dist/showcase/components/AllViewPanel.js.map +1 -0
  410. package/dist/showcase/components/Controls.d.ts +15 -0
  411. package/dist/showcase/components/Controls.d.ts.map +1 -0
  412. package/dist/showcase/components/Controls.js +71 -0
  413. package/dist/showcase/components/Controls.js.map +1 -0
  414. package/dist/showcase/components/ControlsWrapper.d.ts +15 -0
  415. package/dist/showcase/components/ControlsWrapper.d.ts.map +1 -0
  416. package/dist/showcase/components/ControlsWrapper.js +9 -0
  417. package/dist/showcase/components/ControlsWrapper.js.map +1 -0
  418. package/dist/showcase/components/IframeHeightReporter.d.ts +13 -0
  419. package/dist/showcase/components/IframeHeightReporter.d.ts.map +1 -0
  420. package/dist/showcase/components/IframeHeightReporter.js +51 -0
  421. package/dist/showcase/components/IframeHeightReporter.js.map +1 -0
  422. package/dist/showcase/components/PreviewPanel.d.ts +18 -0
  423. package/dist/showcase/components/PreviewPanel.d.ts.map +1 -0
  424. package/dist/showcase/components/PreviewPanel.js +52 -0
  425. package/dist/showcase/components/PreviewPanel.js.map +1 -0
  426. package/dist/showcase/components/ScaledIframe.d.ts +22 -0
  427. package/dist/showcase/components/ScaledIframe.d.ts.map +1 -0
  428. package/dist/showcase/components/ScaledIframe.js +41 -0
  429. package/dist/showcase/components/ScaledIframe.js.map +1 -0
  430. package/dist/showcase/components/ShowcaseAllRenderPage.d.ts +21 -0
  431. package/dist/showcase/components/ShowcaseAllRenderPage.d.ts.map +1 -0
  432. package/dist/showcase/components/ShowcaseAllRenderPage.js +36 -0
  433. package/dist/showcase/components/ShowcaseAllRenderPage.js.map +1 -0
  434. package/dist/showcase/components/ShowcaseAnimationRoot.d.ts +8 -0
  435. package/dist/showcase/components/ShowcaseAnimationRoot.d.ts.map +1 -0
  436. package/dist/showcase/components/ShowcaseAnimationRoot.js +10 -0
  437. package/dist/showcase/components/ShowcaseAnimationRoot.js.map +1 -0
  438. package/dist/showcase/components/ShowcasePage.d.ts +25 -0
  439. package/dist/showcase/components/ShowcasePage.d.ts.map +1 -0
  440. package/dist/showcase/components/ShowcasePage.js +31 -0
  441. package/dist/showcase/components/ShowcasePage.js.map +1 -0
  442. package/dist/showcase/components/ShowcaseRenderPage.d.ts +21 -0
  443. package/dist/showcase/components/ShowcaseRenderPage.d.ts.map +1 -0
  444. package/dist/showcase/components/ShowcaseRenderPage.js +45 -0
  445. package/dist/showcase/components/ShowcaseRenderPage.js.map +1 -0
  446. package/dist/showcase/components/ShowcaseViewportGuard.d.ts +14 -0
  447. package/dist/showcase/components/ShowcaseViewportGuard.d.ts.map +1 -0
  448. package/dist/showcase/components/ShowcaseViewportGuard.js +77 -0
  449. package/dist/showcase/components/ShowcaseViewportGuard.js.map +1 -0
  450. package/dist/showcase/components/TopBar.d.ts +11 -0
  451. package/dist/showcase/components/TopBar.d.ts.map +1 -0
  452. package/dist/showcase/components/TopBar.js +105 -0
  453. package/dist/showcase/components/TopBar.js.map +1 -0
  454. package/dist/showcase/controlFieldSupport.d.ts +12 -0
  455. package/dist/showcase/controlFieldSupport.d.ts.map +1 -0
  456. package/dist/showcase/controlFieldSupport.js +35 -0
  457. package/dist/showcase/controlFieldSupport.js.map +1 -0
  458. package/dist/showcase/index.d.ts +20 -0
  459. package/dist/showcase/index.d.ts.map +1 -0
  460. package/dist/showcase/index.js +20 -0
  461. package/dist/showcase/index.js.map +1 -0
  462. package/dist/showcase/isCmsShowcase.d.ts +10 -0
  463. package/dist/showcase/isCmsShowcase.d.ts.map +1 -0
  464. package/dist/showcase/isCmsShowcase.js +12 -0
  465. package/dist/showcase/isCmsShowcase.js.map +1 -0
  466. package/dist/showcase/mergeShowcaseMocks.d.ts +34 -0
  467. package/dist/showcase/mergeShowcaseMocks.d.ts.map +1 -0
  468. package/dist/showcase/mergeShowcaseMocks.js +31 -0
  469. package/dist/showcase/mergeShowcaseMocks.js.map +1 -0
  470. package/dist/showcase/mockFactory.d.ts +47 -0
  471. package/dist/showcase/mockFactory.d.ts.map +1 -0
  472. package/dist/showcase/mockFactory.js +726 -0
  473. package/dist/showcase/mockFactory.js.map +1 -0
  474. package/dist/showcase/showcaseLayout.d.ts +17 -0
  475. package/dist/showcase/showcaseLayout.d.ts.map +1 -0
  476. package/dist/showcase/showcaseLayout.js +11 -0
  477. package/dist/showcase/showcaseLayout.js.map +1 -0
  478. package/dist/showcase/showcaseRelatedContent.d.ts +30 -0
  479. package/dist/showcase/showcaseRelatedContent.d.ts.map +1 -0
  480. package/dist/showcase/showcaseRelatedContent.js +106 -0
  481. package/dist/showcase/showcaseRelatedContent.js.map +1 -0
  482. package/dist/showcase/types.d.ts +21 -0
  483. package/dist/showcase/types.d.ts.map +1 -0
  484. package/dist/showcase/types.js +19 -0
  485. package/dist/showcase/types.js.map +1 -0
  486. package/dist/utils/UnsupportedWarning.d.ts +30 -0
  487. package/dist/utils/UnsupportedWarning.d.ts.map +1 -0
  488. package/dist/utils/UnsupportedWarning.js +44 -0
  489. package/dist/utils/UnsupportedWarning.js.map +1 -0
  490. package/dist/utils/UnusedChecker.d.ts +51 -0
  491. package/dist/utils/UnusedChecker.d.ts.map +1 -0
  492. package/dist/utils/UnusedChecker.js +96 -0
  493. package/dist/utils/UnusedChecker.js.map +1 -0
  494. package/dist/utils/agent-ready.d.ts +103 -0
  495. package/dist/utils/agent-ready.d.ts.map +1 -0
  496. package/dist/utils/agent-ready.js +246 -0
  497. package/dist/utils/agent-ready.js.map +1 -0
  498. package/dist/utils/assertValidSiteBaseUrl.d.ts +8 -0
  499. package/dist/utils/assertValidSiteBaseUrl.d.ts.map +1 -0
  500. package/dist/utils/assertValidSiteBaseUrl.js +31 -0
  501. package/dist/utils/assertValidSiteBaseUrl.js.map +1 -0
  502. package/dist/utils/breadcrumbUtils.d.ts +64 -0
  503. package/dist/utils/breadcrumbUtils.d.ts.map +1 -0
  504. package/dist/utils/breadcrumbUtils.js +73 -0
  505. package/dist/utils/breadcrumbUtils.js.map +1 -0
  506. package/dist/utils/buildPageMetadata.d.ts +139 -0
  507. package/dist/utils/buildPageMetadata.d.ts.map +1 -0
  508. package/dist/utils/buildPageMetadata.js +218 -0
  509. package/dist/utils/buildPageMetadata.js.map +1 -0
  510. package/dist/utils/cn.d.ts +29 -0
  511. package/dist/utils/cn.d.ts.map +1 -0
  512. package/dist/utils/cn.js +32 -0
  513. package/dist/utils/cn.js.map +1 -0
  514. package/dist/utils/componentUtils.d.ts +82 -0
  515. package/dist/utils/componentUtils.d.ts.map +1 -0
  516. package/dist/utils/componentUtils.js +327 -0
  517. package/dist/utils/componentUtils.js.map +1 -0
  518. package/dist/utils/convertText.d.ts +2 -0
  519. package/dist/utils/convertText.d.ts.map +1 -0
  520. package/dist/utils/convertText.js +35 -0
  521. package/dist/utils/convertText.js.map +1 -0
  522. package/dist/utils/createDefaultRenderText.d.ts +17 -0
  523. package/dist/utils/createDefaultRenderText.d.ts.map +1 -0
  524. package/dist/utils/createDefaultRenderText.js +25 -0
  525. package/dist/utils/createDefaultRenderText.js.map +1 -0
  526. package/dist/utils/errorHandling.d.ts +37 -0
  527. package/dist/utils/errorHandling.d.ts.map +1 -0
  528. package/dist/utils/errorHandling.js +61 -0
  529. package/dist/utils/errorHandling.js.map +1 -0
  530. package/dist/utils/errorMonitoring.d.ts +17 -0
  531. package/dist/utils/errorMonitoring.d.ts.map +1 -0
  532. package/dist/utils/errorMonitoring.js +26 -0
  533. package/dist/utils/errorMonitoring.js.map +1 -0
  534. package/dist/utils/imageKitVideoHls.d.ts +3 -0
  535. package/dist/utils/imageKitVideoHls.d.ts.map +1 -0
  536. package/dist/utils/imageKitVideoHls.js +5 -0
  537. package/dist/utils/imageKitVideoHls.js.map +1 -0
  538. package/dist/utils/interpolateMetaText.d.ts +9 -0
  539. package/dist/utils/interpolateMetaText.d.ts.map +1 -0
  540. package/dist/utils/interpolateMetaText.js +21 -0
  541. package/dist/utils/interpolateMetaText.js.map +1 -0
  542. package/dist/utils/linkAccessibility.d.ts +13 -0
  543. package/dist/utils/linkAccessibility.d.ts.map +1 -0
  544. package/dist/utils/linkAccessibility.js +14 -0
  545. package/dist/utils/linkAccessibility.js.map +1 -0
  546. package/dist/utils/linkResolution.d.ts +15 -0
  547. package/dist/utils/linkResolution.d.ts.map +1 -0
  548. package/dist/utils/linkResolution.js +19 -0
  549. package/dist/utils/linkResolution.js.map +1 -0
  550. package/dist/utils/listing-page-heading.d.ts +16 -0
  551. package/dist/utils/listing-page-heading.d.ts.map +1 -0
  552. package/dist/utils/listing-page-heading.js +24 -0
  553. package/dist/utils/listing-page-heading.js.map +1 -0
  554. package/dist/utils/listingStructuredData.d.ts +28 -0
  555. package/dist/utils/listingStructuredData.d.ts.map +1 -0
  556. package/dist/utils/listingStructuredData.js +65 -0
  557. package/dist/utils/listingStructuredData.js.map +1 -0
  558. package/dist/utils/marketingSiteSitemap.d.ts +103 -0
  559. package/dist/utils/marketingSiteSitemap.d.ts.map +1 -0
  560. package/dist/utils/marketingSiteSitemap.js +352 -0
  561. package/dist/utils/marketingSiteSitemap.js.map +1 -0
  562. package/dist/utils/previewPageUtils.d.ts +61 -0
  563. package/dist/utils/previewPageUtils.d.ts.map +1 -0
  564. package/dist/utils/previewPageUtils.js +72 -0
  565. package/dist/utils/previewPageUtils.js.map +1 -0
  566. package/dist/utils/previewUtils.d.ts +59 -0
  567. package/dist/utils/previewUtils.d.ts.map +1 -0
  568. package/dist/utils/previewUtils.js +60 -0
  569. package/dist/utils/previewUtils.js.map +1 -0
  570. package/dist/utils/processCollectionLinks.d.ts +11 -0
  571. package/dist/utils/processCollectionLinks.d.ts.map +1 -0
  572. package/dist/utils/processCollectionLinks.js +38 -0
  573. package/dist/utils/processCollectionLinks.js.map +1 -0
  574. package/dist/utils/processTextContent.d.ts +18 -0
  575. package/dist/utils/processTextContent.d.ts.map +1 -0
  576. package/dist/utils/processTextContent.js +24 -0
  577. package/dist/utils/processTextContent.js.map +1 -0
  578. package/dist/utils/reactNodeText.d.ts +7 -0
  579. package/dist/utils/reactNodeText.d.ts.map +1 -0
  580. package/dist/utils/reactNodeText.js +43 -0
  581. package/dist/utils/reactNodeText.js.map +1 -0
  582. package/dist/utils/richTextNodeText.d.ts +13 -0
  583. package/dist/utils/richTextNodeText.d.ts.map +1 -0
  584. package/dist/utils/richTextNodeText.js +29 -0
  585. package/dist/utils/richTextNodeText.js.map +1 -0
  586. package/dist/utils/robots.d.ts +115 -0
  587. package/dist/utils/robots.d.ts.map +1 -0
  588. package/dist/utils/robots.js +174 -0
  589. package/dist/utils/robots.js.map +1 -0
  590. package/dist/utils/scopeCss.d.ts +15 -0
  591. package/dist/utils/scopeCss.d.ts.map +1 -0
  592. package/dist/utils/scopeCss.js +186 -0
  593. package/dist/utils/scopeCss.js.map +1 -0
  594. package/dist/utils/sitemap.d.ts +173 -0
  595. package/dist/utils/sitemap.d.ts.map +1 -0
  596. package/dist/utils/sitemap.js +257 -0
  597. package/dist/utils/sitemap.js.map +1 -0
  598. package/dist/utils/structuredDataUtils.d.ts +158 -0
  599. package/dist/utils/structuredDataUtils.d.ts.map +1 -0
  600. package/dist/utils/structuredDataUtils.js +225 -0
  601. package/dist/utils/structuredDataUtils.js.map +1 -0
  602. package/dist/utils/urlUtils.d.ts +30 -0
  603. package/dist/utils/urlUtils.d.ts.map +1 -0
  604. package/dist/utils/urlUtils.js +100 -0
  605. package/dist/utils/urlUtils.js.map +1 -0
  606. package/dist/utils/visualPositions.d.ts +3 -0
  607. package/dist/utils/visualPositions.d.ts.map +1 -0
  608. package/dist/utils/visualPositions.js +13 -0
  609. package/dist/utils/visualPositions.js.map +1 -0
  610. package/dist/utils/visualSizes.d.ts +5 -0
  611. package/dist/utils/visualSizes.d.ts.map +1 -0
  612. package/dist/utils/visualSizes.js +27 -0
  613. package/dist/utils/visualSizes.js.map +1 -0
  614. package/dist/utils/wcagRelativeLuminanceFromHex.d.ts +8 -0
  615. package/dist/utils/wcagRelativeLuminanceFromHex.d.ts.map +1 -0
  616. package/dist/utils/wcagRelativeLuminanceFromHex.js +30 -0
  617. package/dist/utils/wcagRelativeLuminanceFromHex.js.map +1 -0
  618. package/dist/utils/wrapHtmlComponentJs.d.ts +10 -0
  619. package/dist/utils/wrapHtmlComponentJs.d.ts.map +1 -0
  620. package/dist/utils/wrapHtmlComponentJs.js +12 -0
  621. package/dist/utils/wrapHtmlComponentJs.js.map +1 -0
  622. package/docs/PACKAGE_EXPORT_BOUNDARIES.md +98 -0
  623. package/docs/llms.md +358 -0
  624. package/package.json +108 -0
  625. package/src/showcase/README.md +269 -0
@@ -0,0 +1,68 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ /**
3
+ * Dev-only panel shown when a component type has opted out of embedding via `embeddedRenderer: false`.
4
+ */
5
+ const EmbedNotSupportedError = ({ typeName, id, show, }) => {
6
+ if (!show)
7
+ return null;
8
+ return (_jsxs("div", { style: {
9
+ border: '2px solid orange',
10
+ background: '#fff3cd',
11
+ padding: '1rem',
12
+ margin: '1rem',
13
+ borderRadius: '4px',
14
+ }, children: [_jsx("h3", { style: { color: '#856404', marginBottom: '0.5rem' }, children: "Component Embedding Not Supported" }), _jsxs("div", { style: { fontSize: '0.875rem' }, children: [_jsxs("p", { children: [_jsx("strong", { children: "Component Type:" }), " ", typeName] }), _jsxs("p", { children: [_jsx("strong", { children: "Component ID:" }), " ", id] }), _jsx("p", { style: { color: '#856404', marginTop: '0.5rem' }, children: "This component type has been explicitly marked as not embeddable in rich text. Remove the embedded block in Contentful, or add an embeddedRenderer to the registration." })] })] }));
15
+ };
16
+ /**
17
+ * Error component displayed when not in production and an unknown component type is encountered
18
+ */
19
+ const ComponentTypeError = ({ information, availableTypes, show, }) => {
20
+ if (!show)
21
+ return null;
22
+ return (_jsxs("div", { style: {
23
+ border: '2px solid orange',
24
+ background: '#fff3cd',
25
+ padding: '1rem',
26
+ margin: '1rem',
27
+ borderRadius: '4px',
28
+ }, children: [_jsx("h3", { style: { color: '#856404', marginBottom: '0.5rem' }, children: "Unknown Component Type" }), _jsxs("div", { style: { fontSize: '0.875rem' }, children: [_jsxs("p", { children: [_jsx("strong", { children: "Component Type:" }), " ", String(information.componentType)] }), _jsxs("p", { children: [_jsx("strong", { children: "Component ID:" }), " ", information.id] }), _jsxs("p", { children: [_jsx("strong", { children: "Available Types:" }), " ", availableTypes.join(', ')] }), _jsx("p", { style: { color: '#856404', marginTop: '0.5rem' }, children: "This component type is not registered in ComponentMap. Using Generic fallback." })] })] }));
29
+ };
30
+ export const CmsComponent = ({ information, contentContext, rendererConfig, }) => {
31
+ const { buildInformation, componentMap, defaultComponentRenderer: DefaultRenderer, } = rendererConfig;
32
+ const Element = componentMap[information.componentType];
33
+ if (Element) {
34
+ const result = (_jsx(Element, { information: information, contentContext: contentContext, rendererConfig: rendererConfig }));
35
+ return result;
36
+ }
37
+ // Log unknown component type for monitoring
38
+ const availableTypes = Object.keys(componentMap);
39
+ if (process.env.LOG_CMS)
40
+ console.log(`Unknown component type: ${String(information.componentType)} (ID: ${information.id}). Available types:`, availableTypes.join(','));
41
+ const shouldShowError = !buildInformation.isProduction;
42
+ const result = (_jsxs(_Fragment, { children: [shouldShowError && (_jsx(ComponentTypeError, { information: information, availableTypes: availableTypes, show: !buildInformation.isProduction })), DefaultRenderer && (_jsx(DefaultRenderer, { information: information, contentContext: contentContext, rendererConfig: rendererConfig }))] }));
43
+ return result;
44
+ };
45
+ export const CmsEmbeddedComponent = ({ information, contentContext, rendererConfig, ...props }) => {
46
+ const { buildInformation, embeddedComponentMap, componentMap, noEmbedComponents, defaultComponentRenderer: DefaultRenderer, } = rendererConfig;
47
+ // Step 1: Explicit opt-out
48
+ if (noEmbedComponents?.has(information.componentType)) {
49
+ return (_jsx(EmbedNotSupportedError, { typeName: information.componentType, id: information.id, show: !buildInformation.isProduction }));
50
+ }
51
+ // Step 2: Dedicated embedded renderer
52
+ const Element = embeddedComponentMap[information.componentType];
53
+ if (Element) {
54
+ return (_jsx(Element, { information: information, contentContext: contentContext, rendererConfig: rendererConfig, ...props }));
55
+ }
56
+ // Step 3: Fall back to top-level renderer
57
+ const FallbackElement = componentMap[information.componentType];
58
+ if (FallbackElement) {
59
+ return (_jsx(FallbackElement, { information: information, contentContext: contentContext, rendererConfig: rendererConfig }));
60
+ }
61
+ // Step 4: Unknown type
62
+ const availableTypes = Object.keys(componentMap);
63
+ if (process.env.LOG_CMS)
64
+ console.log(`Unknown embedded component type: ${String(information.componentType)} (ID: ${information.id}). Available types:`, availableTypes.join(','));
65
+ const shouldShowError = !buildInformation.isProduction;
66
+ return (_jsxs(_Fragment, { children: [shouldShowError && (_jsx(ComponentTypeError, { information: information, availableTypes: availableTypes, show: !buildInformation.isProduction })), DefaultRenderer && (_jsx(DefaultRenderer, { information: information, contentContext: contentContext, rendererConfig: rendererConfig, ...props }))] }));
67
+ };
68
+ //# sourceMappingURL=CmsComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CmsComponent.js","sourceRoot":"","sources":["../../src/components/CmsComponent.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,105 @@
1
+ import type { IAnalyticsContext, IContentContext, IPageContext, ITyped, IVisual } from '@se-studio/core-data-types';
2
+ import type React from 'react';
3
+ import type { PropsWithChildren } from 'react';
4
+ import type { CmsRendererConfig } from '../CmsRendererConfig';
5
+ /**
6
+ * Creates a content context for an embedded item (e.g. one entry in a collection or RTF).
7
+ * Use when rendering a single item with a parent context; sets current and optionally previous/next siblings.
8
+ */
9
+ export declare function createEmbeddedContentContext(parentContext: IContentContext, current: ITyped, options?: {
10
+ previousContent?: ITyped;
11
+ nextContent?: ITyped;
12
+ }): IContentContext;
13
+ /**
14
+ * Visual component renderer type
15
+ */
16
+ export type VisualComponentRenderer = React.FC<{
17
+ information: IVisual;
18
+ contentContext: IContentContext;
19
+ rendererConfig: CmsRendererConfig;
20
+ /** When true, the visual is embedded (e.g. in RTF or inside a collection). Omit or false for standalone page content. */
21
+ embedded?: boolean;
22
+ }>;
23
+ /**
24
+ * Internal link renderer type
25
+ */
26
+ export type InternalLinkRenderer = React.FC<PropsWithChildren<{
27
+ information: unknown;
28
+ contentContext: IContentContext;
29
+ rendererConfig: CmsRendererConfig;
30
+ /**
31
+ * Click-tracking location (typically the parent RTF module's CMS label).
32
+ * Optional so existing site renderers remain compatible.
33
+ */
34
+ location?: string | null;
35
+ }>>;
36
+ /**
37
+ * Renderer for Internal link entries embedded as a block in RTF (block embedded entry).
38
+ * Inline links continue to use `internalLinkRenderer` ({@link InternalLinkRenderer}).
39
+ */
40
+ export type EmbeddedBlockInternalLinkRenderer = React.FC<PropsWithChildren<{
41
+ information: unknown;
42
+ contentContext: IContentContext;
43
+ rendererConfig: CmsRendererConfig;
44
+ /** True when rendered inside block RTF embed routing (e.g. versus inline embed). */
45
+ embedded?: boolean;
46
+ /** Same grid/width classes as the wrapper; use on the root element if you replace the default layout. */
47
+ positionClassName?: string;
48
+ }>>;
49
+ /**
50
+ * Additional props provided to embedded content renderers (collections, components, and external components)
51
+ * when they are rendered within rich text fields or other collections.
52
+ *
53
+ * These props allow embedded renderers to apply appropriate styling and track their position
54
+ * for analytics, animations, or other positional logic.
55
+ *
56
+ * @property embedded - Whether the content is embedded (e.g., true for embedded content in rich text fields, false for standalone content)
57
+ * @property positionClassName - CSS class name(s) for positioning the embedded content (e.g., "w-full col-span-full" for full-width grid items)
58
+ * @property embeddedIndex - Zero-based index of this embedded content among its siblings (e.g., 0 for the first embedded entry, 1 for the second)
59
+ * @property parentIndex - Index or depth of the parent container (e.g., 0 for root-level RTF content, higher values for nested collections)
60
+ */
61
+ export type EmbeddedRendererProps = {
62
+ embedded: boolean;
63
+ positionClassName: string;
64
+ embeddedIndex: number;
65
+ parentIndex: number;
66
+ };
67
+ /**
68
+ * Error display component for rendering errors when not in production
69
+ */
70
+ export declare const ContentError: ({ error, content, show, }: {
71
+ error: Error;
72
+ content: {
73
+ type: string;
74
+ id: string;
75
+ };
76
+ show: boolean;
77
+ }) => React.JSX.Element | null;
78
+ /**
79
+ * Main content renderer that renders an array of page content items.
80
+ *
81
+ * @example Basic usage
82
+ * ```tsx
83
+ * const rendererConfig = {
84
+ * buildInformation,
85
+ * componentMap: { "Hero": HeroComponent, "CTA": CTAComponent },
86
+ * collectionMap: { "FAQs": FAQCollection },
87
+ * // ... other required fields
88
+ * };
89
+ *
90
+ * <CmsContent
91
+ * rendererConfig={rendererConfig}
92
+ * pageContext={pageContext}
93
+ * contents={page.contents}
94
+ * analyticsContext={analyticsContext}
95
+ * />
96
+ * ```
97
+ */
98
+ export declare function CmsContent({ pageContext, contents, rendererConfig, analyticsContext, }: {
99
+ pageContext: IPageContext;
100
+ contents?: ReadonlyArray<ITyped>;
101
+ rendererConfig: CmsRendererConfig;
102
+ /** Optional page-level analytics context for link/click tracking */
103
+ analyticsContext: IAnalyticsContext | undefined;
104
+ }): React.JSX.Element | null;
105
+ //# sourceMappingURL=CmsContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CmsContent.d.ts","sourceRoot":"","sources":["../../src/components/CmsContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EAKjB,eAAe,EACf,YAAY,EACZ,MAAM,EACN,OAAO,EACR,MAAM,4BAA4B,CAAC;AAMpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AA8D9D;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,eAAe,EAC9B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3D,eAAe,CAOjB;AAED;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,KAAK,CAAC,EAAE,CAAC;IAC7C,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,eAAe,CAAC;IAChC,cAAc,EAAE,iBAAiB,CAAC;IAClC,yHAAyH;IACzH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,EAAE,CACzC,iBAAiB,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,eAAe,CAAC;IAChC,cAAc,EAAE,iBAAiB,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC,CACH,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,iCAAiC,GAAG,KAAK,CAAC,EAAE,CACtD,iBAAiB,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,eAAe,CAAC;IAChC,cAAc,EAAE,iBAAiB,CAAC;IAClC,oFAAoF;IACpF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yGAAyG;IACzG,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC,CACH,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,2BAI1B;IACD,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,IAAI,EAAE,OAAO,CAAC;CACf,6BAyCA,CAAC;AA2IF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,UAAU,CAAC,EACzB,WAAW,EACX,QAAQ,EACR,cAAc,EACd,gBAAgB,GACjB,EAAE;IACD,WAAW,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACjC,cAAc,EAAE,iBAAiB,CAAC;IAClC,oEAAoE;IACpE,gBAAgB,EAAE,iBAAiB,GAAG,SAAS,CAAC;CACjD,4BA6BA"}
@@ -0,0 +1,200 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { getContentTypeKey, isCollection, orderContentWithHtmlHeroFirst, } from '@se-studio/core-data-types';
3
+ import { CmsCollection } from './CmsCollection';
4
+ import { CmsComponent } from './CmsComponent';
5
+ import { CmsExternalComponent } from './CmsExternalComponent';
6
+ import { HtmlComponent } from './HtmlComponent';
7
+ /**
8
+ * Returns true if this item is a "default" (has defaultOf) and a matching type exists elsewhere
9
+ * in the page (top-level or one level inside collections), so it should not be rendered.
10
+ */
11
+ function isDefaultSuppressed(item, allContents, defaultsMap) {
12
+ const itemType = getContentTypeKey(item);
13
+ const suppressedBy = defaultsMap[itemType];
14
+ if (!suppressedBy?.length)
15
+ return false;
16
+ for (const content of allContents) {
17
+ const contentType = getContentTypeKey(content);
18
+ if (suppressedBy.includes(contentType) && content !== item)
19
+ return true;
20
+ if (isCollection(content)) {
21
+ const children = content.contents ?? [];
22
+ for (const child of children) {
23
+ if (suppressedBy.includes(getContentTypeKey(child)))
24
+ return true;
25
+ }
26
+ }
27
+ }
28
+ return false;
29
+ }
30
+ /**
31
+ * Creates a content context for a specific component with lazy evaluation
32
+ */
33
+ function createContentContext(pageContext, components, currentIndex, analyticsContext) {
34
+ const current = components[currentIndex];
35
+ if (!current) {
36
+ throw new Error(`Invalid component index: ${currentIndex}`);
37
+ }
38
+ const previousContent = currentIndex === 0 ? undefined : components[currentIndex - 1];
39
+ const nextContent = currentIndex === components.length - 1 ? undefined : components[currentIndex + 1];
40
+ const context = {
41
+ pageContext,
42
+ previousContent,
43
+ current,
44
+ nextContent,
45
+ allContents: components,
46
+ };
47
+ if (analyticsContext !== undefined) {
48
+ context.analyticsContext = analyticsContext;
49
+ }
50
+ return context;
51
+ }
52
+ /**
53
+ * Creates a content context for an embedded item (e.g. one entry in a collection or RTF).
54
+ * Use when rendering a single item with a parent context; sets current and optionally previous/next siblings.
55
+ */
56
+ export function createEmbeddedContentContext(parentContext, current, options) {
57
+ return {
58
+ ...parentContext,
59
+ current,
60
+ previousContent: options?.previousContent,
61
+ nextContent: options?.nextContent,
62
+ };
63
+ }
64
+ /**
65
+ * Error display component for rendering errors when not in production
66
+ */
67
+ export const ContentError = ({ error, content, show, }) => {
68
+ if (!show)
69
+ return null;
70
+ return (_jsxs("div", { style: {
71
+ margin: '1rem',
72
+ borderRadius: '4px',
73
+ border: '2px solid red',
74
+ background: '#fee',
75
+ padding: '1rem',
76
+ }, children: [_jsx("h3", { style: { marginBottom: '0.5rem', fontSize: '1.125rem', color: 'red' }, children: "Content Render Error" }), _jsxs("div", { style: { fontSize: '0.875rem' }, children: [_jsxs("p", { children: [_jsx("strong", { children: "Content Type:" }), " ", content.type] }), _jsxs("p", { children: [_jsx("strong", { children: "Content ID:" }), " ", content.id] }), _jsxs("div", { style: { marginTop: '0.75rem' }, children: [_jsx("p", { style: { color: 'red', fontWeight: '600' }, children: "Error:" }), _jsx("pre", { style: {
77
+ overflowX: 'auto',
78
+ borderRadius: '4px',
79
+ border: '1px solid #fcc',
80
+ background: 'white',
81
+ padding: '0.5rem',
82
+ fontSize: '0.75rem',
83
+ }, children: error.message })] })] })] }));
84
+ };
85
+ /**
86
+ * Single content item renderer that routes to the appropriate renderer based on type
87
+ */
88
+ const SingleContent = ({ context, rendererConfig, flowPositionIndex, }) => {
89
+ try {
90
+ const { current } = context;
91
+ let result;
92
+ switch (current.type) {
93
+ case 'Component':
94
+ result = (_jsx(CmsComponent, { information: current, contentContext: context, rendererConfig: rendererConfig }));
95
+ break;
96
+ case 'Collection':
97
+ result = (_jsx(CmsCollection, { information: current, contentContext: context, rendererConfig: rendererConfig }));
98
+ break;
99
+ case 'External component':
100
+ result = (_jsx(CmsExternalComponent, { information: current, contentContext: context, rendererConfig: rendererConfig }));
101
+ break;
102
+ case 'HtmlComponent':
103
+ result = (_jsx(HtmlComponent, { ...current, flowPositionIndex: flowPositionIndex, fullWidthBreakoutClassName: rendererConfig.htmlComponentFullWidthClassName }));
104
+ break;
105
+ case 'Visual':
106
+ if (rendererConfig.visualComponentRenderer) {
107
+ result = rendererConfig.visualComponentRenderer({
108
+ information: current,
109
+ contentContext: context,
110
+ rendererConfig,
111
+ embedded: false,
112
+ });
113
+ }
114
+ else {
115
+ if (process.env.LOG_CMS)
116
+ console.warn('No Visual renderer provided');
117
+ result = !rendererConfig.buildInformation.isProduction ? (_jsx("div", { children: "Visual renderer not implemented" })) : null;
118
+ }
119
+ break;
120
+ case 'Internal link':
121
+ if (rendererConfig.internalLinkRenderer) {
122
+ result = rendererConfig.internalLinkRenderer({
123
+ information: current,
124
+ contentContext: context,
125
+ rendererConfig,
126
+ });
127
+ }
128
+ else {
129
+ if (process.env.LOG_CMS)
130
+ console.warn('No Internal link renderer provided');
131
+ result = !rendererConfig.buildInformation.isProduction ? (_jsx("div", { children: "Internal link renderer not implemented" })) : null;
132
+ }
133
+ break;
134
+ default: {
135
+ // Check if there's a custom content renderer for this type
136
+ const unknownContent = current;
137
+ const CustomRenderer = rendererConfig.customContentMap?.[unknownContent.type];
138
+ if (CustomRenderer) {
139
+ result = _jsx(CustomRenderer, { information: current, contentContext: context });
140
+ break;
141
+ }
142
+ // No custom renderer found - treat as unknown content
143
+ const error = new Error(`Unknown content type: ${unknownContent.type} (ID: ${unknownContent.id})`);
144
+ console.error(error);
145
+ if (!rendererConfig.buildInformation.isProduction) {
146
+ result = (_jsx(ContentError, { error: error, content: unknownContent, show: !rendererConfig.buildInformation.isProduction }));
147
+ }
148
+ else {
149
+ result = null;
150
+ }
151
+ break;
152
+ }
153
+ }
154
+ return result;
155
+ }
156
+ catch (error) {
157
+ console.error('Error rendering content:', error);
158
+ if (!rendererConfig.buildInformation.isProduction) {
159
+ return (_jsx(ContentError, { error: error, content: context.current, show: !rendererConfig.buildInformation.isProduction }));
160
+ }
161
+ return null;
162
+ }
163
+ };
164
+ /**
165
+ * Main content renderer that renders an array of page content items.
166
+ *
167
+ * @example Basic usage
168
+ * ```tsx
169
+ * const rendererConfig = {
170
+ * buildInformation,
171
+ * componentMap: { "Hero": HeroComponent, "CTA": CTAComponent },
172
+ * collectionMap: { "FAQs": FAQCollection },
173
+ * // ... other required fields
174
+ * };
175
+ *
176
+ * <CmsContent
177
+ * rendererConfig={rendererConfig}
178
+ * pageContext={pageContext}
179
+ * contents={page.contents}
180
+ * analyticsContext={analyticsContext}
181
+ * />
182
+ * ```
183
+ */
184
+ export function CmsContent({ pageContext, contents, rendererConfig, analyticsContext, }) {
185
+ if (!contents || contents.length === 0) {
186
+ return null;
187
+ }
188
+ const orderedContents = orderContentWithHtmlHeroFirst(contents);
189
+ return (_jsx(_Fragment, { children: orderedContents.map((content, index) => {
190
+ if (rendererConfig.defaultsMap &&
191
+ isDefaultSuppressed(content, orderedContents, rendererConfig.defaultsMap)) {
192
+ return null;
193
+ }
194
+ const context = createContentContext(pageContext, orderedContents, index, analyticsContext);
195
+ return (_jsx(SingleContent
196
+ // biome-ignore lint/suspicious/noArrayIndexKey: slot index distinguishes duplicate entry ids and matches script dedupe keys
197
+ , { context: context, rendererConfig: rendererConfig, flowPositionIndex: index }, `${content.id}-${index}`));
198
+ }) }));
199
+ }
200
+ //# sourceMappingURL=CmsContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CmsContent.js","sourceRoot":"","sources":["../../src/components/CmsContent.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { CmsError } from '@se-studio/contentful-rest-api';
2
+ interface CmsConversionErrorsProps {
3
+ errors: CmsError[];
4
+ isProduction: boolean;
5
+ }
6
+ export declare function CmsConversionErrors({ errors, isProduction }: CmsConversionErrorsProps): import("react").JSX.Element | null;
7
+ export {};
8
+ //# sourceMappingURL=CmsConversionErrors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CmsConversionErrors.d.ts","sourceRoot":"","sources":["../../src/components/CmsConversionErrors.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAG/D,UAAU,wBAAwB;IAChC,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,mBAAmB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,wBAAwB,sCA8HrF"}
@@ -0,0 +1,51 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useState } from 'react';
4
+ export function CmsConversionErrors({ errors, isProduction }) {
5
+ const [expanded, setExpanded] = useState(false);
6
+ // Don't render in production
7
+ if (isProduction || errors.length === 0) {
8
+ return null;
9
+ }
10
+ // Show first 5 errors by default, or all if expanded
11
+ const visibleErrors = expanded ? errors : errors.slice(0, 5);
12
+ const hasMoreErrors = errors.length > 5;
13
+ return (_jsx("div", { style: {
14
+ backgroundColor: '#fffbeb',
15
+ borderLeft: '4px solid #fbbf24',
16
+ padding: '1rem',
17
+ marginBottom: '1.5rem',
18
+ }, children: _jsxs("div", { style: { display: 'flex', alignItems: 'flex-start' }, children: [_jsx("div", { style: { flexShrink: 0 }, children: _jsxs("svg", { style: { height: '1.25rem', width: '1.25rem', color: '#fbbf24' }, fill: "currentColor", viewBox: "0 0 20 20", children: [_jsx("title", { children: "Warning icon" }), _jsx("path", { fillRule: "evenodd", d: "M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z", clipRule: "evenodd" })] }) }), _jsxs("div", { style: { marginLeft: '0.75rem', flex: 1 }, children: [_jsxs("div", { style: { display: 'flex', alignItems: 'center', justifyContent: 'space-between' }, children: [_jsxs("h3", { style: { fontSize: '0.875rem', color: '#92400e', fontWeight: 500 }, children: ["CMS Content Conversion Errors (", errors.length, ")"] }), hasMoreErrors && (_jsx("button", { type: "button", onClick: () => setExpanded(!expanded), style: {
19
+ fontSize: '0.875rem',
20
+ color: '#b45309',
21
+ textDecoration: 'underline',
22
+ background: 'none',
23
+ border: 'none',
24
+ cursor: 'pointer',
25
+ }, onMouseEnter: (e) => {
26
+ e.currentTarget.style.color = '#d97706';
27
+ }, onMouseLeave: (e) => {
28
+ e.currentTarget.style.color = '#b45309';
29
+ }, children: expanded ? 'Show less' : `Show ${errors.length - 5} more` }))] }), _jsxs("div", { style: { marginTop: '0.5rem' }, children: [_jsx("p", { style: { fontSize: '0.875rem', color: '#b45309', marginBottom: '0.75rem' }, children: "Some CMS content failed to convert properly. The page is still displayed below with available content." }), _jsx("div", { style: { display: 'flex', flexDirection: 'column', gap: '0.5rem' }, children: visibleErrors.map((error, index) => (_jsx("div", { style: {
30
+ borderRadius: '0.25rem',
31
+ backgroundColor: '#fef3c7',
32
+ padding: '0.75rem',
33
+ }, children: _jsx("div", { style: {
34
+ display: 'flex',
35
+ alignItems: 'flex-start',
36
+ justifyContent: 'space-between',
37
+ }, children: _jsxs("div", { style: { flex: 1 }, children: [_jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: '0.5rem' }, children: [_jsx("code", { style: {
38
+ fontSize: '0.75rem',
39
+ backgroundColor: '#fde68a',
40
+ padding: '0.25rem 0.5rem',
41
+ borderRadius: '0.25rem',
42
+ color: '#78350f',
43
+ }, children: error.entryId }), error.entryType && (_jsx("span", { style: {
44
+ fontSize: '0.75rem',
45
+ color: '#b45309',
46
+ backgroundColor: '#fde68a',
47
+ padding: '0.25rem 0.5rem',
48
+ borderRadius: '0.25rem',
49
+ }, children: error.entryType }))] }), _jsx("p", { style: { marginTop: '0.25rem', fontSize: '0.875rem', color: '#92400e' }, children: error.message })] }) }) }, `${error.entryId}-${index}`))) })] })] })] }) }));
50
+ }
51
+ //# sourceMappingURL=CmsConversionErrors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CmsConversionErrors.js","sourceRoot":"","sources":["../../src/components/CmsConversionErrors.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAOjC,MAAM,UAAU,mBAAmB,CAAC,EAAE,MAAM,EAAE,YAAY,EAA4B;IACpF,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhD,6BAA6B;IAC7B,IAAI,YAAY,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qDAAqD;IACrD,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7D,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAExC,OAAO,CACL,cACE,KAAK,EAAE;YACL,eAAe,EAAE,SAAS;YAC1B,UAAU,EAAE,mBAAmB;YAC/B,OAAO,EAAE,MAAM;YACf,YAAY,EAAE,QAAQ;SACvB,YAED,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,aACvD,cAAK,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAC3B,eACE,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,EAChE,IAAI,EAAC,cAAc,EACnB,OAAO,EAAC,WAAW,aAEnB,2CAA2B,EAC3B,eACE,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,mNAAmN,EACrN,QAAQ,EAAC,SAAS,GAClB,IACE,GACF,EACN,eAAK,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,aAC5C,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE,aACpF,cAAI,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,gDACpC,MAAM,CAAC,MAAM,SAC1C,EACJ,aAAa,IAAI,CAChB,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,EACrC,KAAK,EAAE;wCACL,QAAQ,EAAE,UAAU;wCACpB,KAAK,EAAE,SAAS;wCAChB,cAAc,EAAE,WAAW;wCAC3B,UAAU,EAAE,MAAM;wCAClB,MAAM,EAAE,MAAM;wCACd,MAAM,EAAE,SAAS;qCAClB,EACD,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;wCAClB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;oCAC1C,CAAC,EACD,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;wCAClB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;oCAC1C,CAAC,YAEA,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,MAAM,GAAG,CAAC,OAAO,GACnD,CACV,IACG,EACN,eAAK,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,aACjC,YAAG,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,uHAGzE,EACJ,cAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,YACpE,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CACnC,cAEE,KAAK,EAAE;4CACL,YAAY,EAAE,SAAS;4CACvB,eAAe,EAAE,SAAS;4CAC1B,OAAO,EAAE,SAAS;yCACnB,YAED,cACE,KAAK,EAAE;gDACL,OAAO,EAAE,MAAM;gDACf,UAAU,EAAE,YAAY;gDACxB,cAAc,EAAE,eAAe;6CAChC,YAED,eAAK,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,aACrB,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,aAClE,eACE,KAAK,EAAE;oEACL,QAAQ,EAAE,SAAS;oEACnB,eAAe,EAAE,SAAS;oEAC1B,OAAO,EAAE,gBAAgB;oEACzB,YAAY,EAAE,SAAS;oEACvB,KAAK,EAAE,SAAS;iEACjB,YAEA,KAAK,CAAC,OAAO,GACT,EACN,KAAK,CAAC,SAAS,IAAI,CAClB,eACE,KAAK,EAAE;oEACL,QAAQ,EAAE,SAAS;oEACnB,KAAK,EAAE,SAAS;oEAChB,eAAe,EAAE,SAAS;oEAC1B,OAAO,EAAE,gBAAgB;oEACzB,YAAY,EAAE,SAAS;iEACxB,YAEA,KAAK,CAAC,SAAS,GACX,CACR,IACG,EACN,YAAG,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,YACvE,KAAK,CAAC,OAAO,GACZ,IACA,GACF,IA7CD,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,EAAE,CA8C5B,CACP,CAAC,GACE,IACF,IACF,IACF,GACF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,14 @@
1
+ interface ErrorContext {
2
+ type: 'page' | 'article' | 'metadata' | string;
3
+ params?: Record<string, unknown>;
4
+ preview?: boolean;
5
+ slug?: string;
6
+ timestamp?: string;
7
+ }
8
+ interface CmsDataErrorProps {
9
+ error: Error | unknown;
10
+ context: ErrorContext;
11
+ }
12
+ export declare function CmsDataError({ error, context }: CmsDataErrorProps): import("react").JSX.Element;
13
+ export {};
14
+ //# sourceMappingURL=CmsDataError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CmsDataError.d.ts","sourceRoot":"","sources":["../../src/components/CmsDataError.tsx"],"names":[],"mappings":"AAAA,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,iBAAiB;IACzB,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC;IACvB,OAAO,EAAE,YAAY,CAAC;CACvB;AAED,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,iBAAiB,+BA0FjE"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ export function CmsDataError({ error, context }) {
3
+ const errorMessage = error instanceof Error ? error.message : String(error);
4
+ const errorStack = error instanceof Error ? error.stack : undefined;
5
+ return (_jsx("div", { className: "min-h-screen bg-red-50 p-8", children: _jsx("div", { className: "mx-auto max-w-4xl", children: _jsxs("div", { className: "rounded-lg bg-white p-6 shadow-lg", children: [_jsxs("div", { className: "mb-4 flex items-center justify-between", children: [_jsx("h1", { className: "text-2xl font-bold text-red-600", children: "CMS Data Error" }), _jsx("div", { className: "rounded-full bg-red-100 p-2", children: _jsxs("svg", { className: "h-6 w-6 text-red-600", fill: "currentColor", viewBox: "0 0 20 20", children: [_jsx("title", { children: "Error icon" }), _jsx("path", { fillRule: "evenodd", d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z", clipRule: "evenodd" })] }) })] }), _jsxs("div", { className: "mb-6 rounded-lg bg-red-100 p-4", children: [_jsxs("h2", { className: "mb-2 text-lg font-semibold text-red-800", children: ["Failed to load ", context.type, " data from CMS"] }), _jsx("p", { className: "text-red-700", children: "The content management system returned an error while trying to fetch the requested content." })] }), _jsxs("div", { className: "mb-4", children: [_jsx("h2", { className: "mb-2 text-lg font-semibold", children: "Error Message:" }), _jsx("p", { className: "rounded bg-red-100 p-3 font-mono p-sm text-red-800", children: errorMessage })] }), _jsxs("div", { className: "mb-4", children: [_jsx("h2", { className: "mb-2 text-lg font-semibold", children: "Context:" }), _jsxs("div", { className: "rounded bg-gray-100 p-3 p-sm", children: [_jsxs("p", { children: [_jsx("strong", { children: "Content Type:" }), " ", context.type] }), context.slug && (_jsxs("p", { children: [_jsx("strong", { children: "Slug:" }), " ", context.slug] })), _jsxs("p", { children: [_jsx("strong", { children: "Preview Mode:" }), " ", context.preview ? 'Yes' : 'No'] }), context.timestamp && (_jsxs("p", { children: [_jsx("strong", { children: "Time:" }), " ", context.timestamp] })), context.params && (_jsxs(_Fragment, { children: [_jsx("p", { className: "mt-2", children: _jsx("strong", { children: "Parameters:" }) }), _jsx("pre", { className: "mt-1 overflow-x-auto text-xs", children: JSON.stringify(context.params, null, 2) })] }))] })] }), errorStack && (_jsx("div", { className: "mb-4", children: _jsx("pre", { className: "overflow-x-auto rounded bg-gray-100 p-3 text-xs", children: errorStack }) })), _jsxs("div", { className: "rounded-lg bg-gray-100 p-4", children: [_jsx("h3", { className: "mb-2 font-semibold", children: "Debugging Tips:" }), _jsxs("ul", { className: "space-y-1 p-sm text-gray-700", children: [_jsx("li", { children: "\u2022 Check if the content exists in Contentful" }), _jsx("li", { children: "\u2022 Verify the content is published (or you're in preview mode)" }), _jsx("li", { children: "\u2022 Ensure all required fields are populated" }), _jsx("li", { children: "\u2022 Check for valid data formats (e.g., hex colors should be #RRGGBB)" }), _jsx("li", { children: "\u2022 Look for API rate limits or network issues" }), _jsx("li", { children: "\u2022 Verify your environment variables are set correctly" })] })] })] }) }) }));
6
+ }
7
+ //# sourceMappingURL=CmsDataError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CmsDataError.js","sourceRoot":"","sources":["../../src/components/CmsDataError.tsx"],"names":[],"mappings":";AAaA,MAAM,UAAU,YAAY,CAAC,EAAE,KAAK,EAAE,OAAO,EAAqB;IAChE,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5E,MAAM,UAAU,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAEpE,OAAO,CACL,cAAK,SAAS,EAAC,4BAA4B,YACzC,cAAK,SAAS,EAAC,mBAAmB,YAChC,eAAK,SAAS,EAAC,mCAAmC,aAChD,eAAK,SAAS,EAAC,wCAAwC,aACrD,aAAI,SAAS,EAAC,iCAAiC,+BAAoB,EACnE,cAAK,SAAS,EAAC,6BAA6B,YAC1C,eAAK,SAAS,EAAC,sBAAsB,EAAC,IAAI,EAAC,cAAc,EAAC,OAAO,EAAC,WAAW,aAC3E,yCAAyB,EACzB,eACE,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,mHAAmH,EACrH,QAAQ,EAAC,SAAS,GAClB,IACE,GACF,IACF,EAEN,eAAK,SAAS,EAAC,gCAAgC,aAC7C,cAAI,SAAS,EAAC,yCAAyC,gCACrC,OAAO,CAAC,IAAI,sBACzB,EACL,YAAG,SAAS,EAAC,cAAc,6GAGvB,IACA,EAEN,eAAK,SAAS,EAAC,MAAM,aACnB,aAAI,SAAS,EAAC,4BAA4B,+BAAoB,EAC9D,YAAG,SAAS,EAAC,oDAAoD,YAAE,YAAY,GAAK,IAChF,EAEN,eAAK,SAAS,EAAC,MAAM,aACnB,aAAI,SAAS,EAAC,4BAA4B,yBAAc,EACxD,eAAK,SAAS,EAAC,8BAA8B,aAC3C,wBACE,6CAA8B,OAAE,OAAO,CAAC,IAAI,IAC1C,EACH,OAAO,CAAC,IAAI,IAAI,CACf,wBACE,qCAAsB,OAAE,OAAO,CAAC,IAAI,IAClC,CACL,EACD,wBACE,6CAA8B,OAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAC5D,EACH,OAAO,CAAC,SAAS,IAAI,CACpB,wBACE,qCAAsB,OAAE,OAAO,CAAC,SAAS,IACvC,CACL,EACA,OAAO,CAAC,MAAM,IAAI,CACjB,8BACE,YAAG,SAAS,EAAC,MAAM,YACjB,2CAA4B,GAC1B,EACJ,cAAK,SAAS,EAAC,8BAA8B,YAC1C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GACpC,IACL,CACJ,IACG,IACF,EAEL,UAAU,IAAI,CACb,cAAK,SAAS,EAAC,MAAM,YACnB,cAAK,SAAS,EAAC,iDAAiD,YAAE,UAAU,GAAO,GAC/E,CACP,EAED,eAAK,SAAS,EAAC,4BAA4B,aACzC,aAAI,SAAS,EAAC,oBAAoB,gCAAqB,EACvD,cAAI,SAAS,EAAC,8BAA8B,aAC1C,4EAAoD,EACpD,8FAA2E,EAC3E,2EAAmD,EACnD,oGAA4E,EAC5E,6EAAqD,EACrD,sFAA8D,IAC3D,IACD,IACF,GACF,GACF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { PropsWithChildren } from 'react';
2
+ /**
3
+ * Layout wrapper for CMS developer tool routes (`/cms/*`).
4
+ *
5
+ * Blocks access in production by returning a 404. In non-production
6
+ * environments it renders its children unchanged.
7
+ *
8
+ * Pass the app's `isProduction` flag from `@/lib/config`:
9
+ * @example
10
+ * ```tsx
11
+ * // src/app/(cms-dev)/layout.tsx
12
+ * import { CmsDevLayout } from '@se-studio/core-ui';
13
+ * import { isProduction } from '@/lib/config';
14
+ *
15
+ * export default function Layout({ children }: { children: React.ReactNode }) {
16
+ * return <CmsDevLayout isProduction={isProduction}>{children}</CmsDevLayout>;
17
+ * }
18
+ * ```
19
+ */
20
+ export declare function CmsDevLayout({ children, isProduction, }: PropsWithChildren<{
21
+ isProduction: boolean;
22
+ }>): import("react").JSX.Element;
23
+ //# sourceMappingURL=CmsDevLayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CmsDevLayout.d.ts","sourceRoot":"","sources":["../../src/components/CmsDevLayout.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE/C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,YAAY,GACb,EAAE,iBAAiB,CAAC;IAAE,YAAY,EAAE,OAAO,CAAA;CAAE,CAAC,+BAG9C"}
@@ -0,0 +1,26 @@
1
+ import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
+ import { notFound } from 'next/navigation';
3
+ /**
4
+ * Layout wrapper for CMS developer tool routes (`/cms/*`).
5
+ *
6
+ * Blocks access in production by returning a 404. In non-production
7
+ * environments it renders its children unchanged.
8
+ *
9
+ * Pass the app's `isProduction` flag from `@/lib/config`:
10
+ * @example
11
+ * ```tsx
12
+ * // src/app/(cms-dev)/layout.tsx
13
+ * import { CmsDevLayout } from '@se-studio/core-ui';
14
+ * import { isProduction } from '@/lib/config';
15
+ *
16
+ * export default function Layout({ children }: { children: React.ReactNode }) {
17
+ * return <CmsDevLayout isProduction={isProduction}>{children}</CmsDevLayout>;
18
+ * }
19
+ * ```
20
+ */
21
+ export function CmsDevLayout({ children, isProduction, }) {
22
+ if (isProduction)
23
+ return notFound();
24
+ return _jsx(_Fragment, { children: children });
25
+ }
26
+ //# sourceMappingURL=CmsDevLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CmsDevLayout.js","sourceRoot":"","sources":["../../src/components/CmsDevLayout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG3C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,QAAQ,EACR,YAAY,GACiC;IAC7C,IAAI,YAAY;QAAE,OAAO,QAAQ,EAAE,CAAC;IACpC,OAAO,4BAAG,QAAQ,GAAI,CAAC;AACzB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { type EmbeddedCollectionRenderer } from './CmsCollection';
2
+ import { type EmbeddedComponentRenderer } from './CmsComponent';
3
+ import { type EmbeddedExternalComponentRenderer } from './CmsExternalComponent';
4
+ type EmbeddedContentRenderer = EmbeddedComponentRenderer | EmbeddedCollectionRenderer | EmbeddedExternalComponentRenderer;
5
+ /**
6
+ * Single content item renderer that routes to the appropriate renderer based on type
7
+ */
8
+ export declare const CmsEmbeddedContent: EmbeddedContentRenderer;
9
+ export {};
10
+ //# sourceMappingURL=CmsEmbeddedContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CmsEmbeddedContent.d.ts","sourceRoot":"","sources":["../../src/components/CmsEmbeddedContent.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAyB,KAAK,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AACzF,OAAO,EAAwB,KAAK,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAEtF,OAAO,EAEL,KAAK,iCAAiC,EACvC,MAAM,wBAAwB,CAAC;AAGhC,KAAK,uBAAuB,GACxB,yBAAyB,GACzB,0BAA0B,GAC1B,iCAAiC,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,uBA8GhC,CAAC"}