@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,352 @@
1
+ /**
2
+ * Marketing site sitemap entry generation.
3
+ * Used by createAppHelpers when marketingSiteSitemap config is provided.
4
+ */
5
+ import { filterSitemapEntriesExcludingRedirects } from '@se-studio/contentful-rest-api';
6
+ import { getLocalizedPath } from './buildPageMetadata';
7
+ /**
8
+ * Expands a single sitemap entry into one entry per locale when localeConfig is provided.
9
+ * Each entry gets alternates.languages with all locale URLs (relative paths).
10
+ */
11
+ function expandEntryForLocales(entry, localeConfig) {
12
+ const languages = {};
13
+ for (const locale of localeConfig.locales) {
14
+ languages[locale] = getLocalizedPath(entry.url, locale, localeConfig);
15
+ }
16
+ return localeConfig.locales.map((locale) => ({
17
+ ...entry,
18
+ url: getLocalizedPath(entry.url, locale, localeConfig),
19
+ alternates: { languages },
20
+ }));
21
+ }
22
+ function isExternalUrl(href) {
23
+ if (!href)
24
+ return false;
25
+ return href.startsWith('http://') || href.startsWith('https://');
26
+ }
27
+ function getArticlePageUrl(link, urlCalcs) {
28
+ if (link.href && !isExternalUrl(link.href))
29
+ return link.href;
30
+ const articleTypeSlug = link.articleType?.slug;
31
+ if (!articleTypeSlug)
32
+ return null;
33
+ return urlCalcs.article(articleTypeSlug, link.slug, link.primaryTag?.slug);
34
+ }
35
+ /**
36
+ * Determines whether an article should appear as a page URL entry in the sitemap.
37
+ * When skipIndexedCheck is true the indexed/hidden guards are omitted (used for the unindexed path).
38
+ */
39
+ export function shouldIncludeArticlePageUrl(link, config, skipIndexedCheck = false) {
40
+ if (!skipIndexedCheck) {
41
+ if (link.indexed === false || link.hidden === true)
42
+ return false;
43
+ if (link.articleType?.indexed === false || link.articleType?.hidden === true)
44
+ return false;
45
+ }
46
+ if (link.hasBodyContent)
47
+ return true;
48
+ if (link.href && isExternalUrl(link.href))
49
+ return config.includeExternalHrefArticles === true;
50
+ if (link.download)
51
+ return config.includeDownloadArticles === true;
52
+ return true;
53
+ }
54
+ /**
55
+ * Builds (articleTypeSlug → tagSlug → latest lastModified) for article-type tag index sitemap URLs.
56
+ * Only considers articles that pass {@link shouldIncludeArticlePageUrl} and CMS-indexed, non-hidden tags.
57
+ */
58
+ export function collectArticleTypeTagLastModified(articleLinks, config) {
59
+ const lastModifiedByTypeTopic = new Map();
60
+ for (const link of articleLinks) {
61
+ if (!shouldIncludeArticlePageUrl(link, config))
62
+ continue;
63
+ const typeSlug = typeof link.articleType?.slug === 'string' ? link.articleType.slug : null;
64
+ if (!typeSlug || isExternalUrl(link.href))
65
+ continue;
66
+ for (const tag of link.tags ?? []) {
67
+ const tagSlug = typeof tag.slug === 'string' ? tag.slug : null;
68
+ if (!tagSlug || tag.indexed === false || tag.hidden === true)
69
+ continue;
70
+ if (!lastModifiedByTypeTopic.has(typeSlug)) {
71
+ lastModifiedByTypeTopic.set(typeSlug, new Map());
72
+ }
73
+ const topicMap = lastModifiedByTypeTopic.get(typeSlug);
74
+ if (!topicMap)
75
+ continue;
76
+ const existing = topicMap.get(tagSlug);
77
+ if (!existing || link.lastModified > existing) {
78
+ topicMap.set(tagSlug, link.lastModified);
79
+ }
80
+ }
81
+ }
82
+ return lastModifiedByTypeTopic;
83
+ }
84
+ /** Returns the latest lastModified from an array of links, or undefined if empty. */
85
+ function latestLastModified(links) {
86
+ const first = links[0];
87
+ if (!first)
88
+ return undefined;
89
+ let latest = first.lastModified;
90
+ for (let i = 1; i < links.length; i++) {
91
+ const link = links[i];
92
+ const d = link?.lastModified;
93
+ if (d && d > latest)
94
+ latest = d;
95
+ }
96
+ return latest;
97
+ }
98
+ const fetchOptions = {
99
+ cache: 'force-cache',
100
+ next: {
101
+ revalidate: 3600,
102
+ tags: ['sitemap'],
103
+ },
104
+ };
105
+ /**
106
+ * Creates a getSitemapEntries function for marketing sites with articles, tags, people.
107
+ * When includeUnindexed is true, returns only pages with indexed === false.
108
+ * When includeUnindexed is false, returns full sitemap and merges additionalSources.
109
+ *
110
+ * Heavily parameterized by MarketingSiteSitemapConfig (enables for indexes, include* for download/external articles,
111
+ * localeConfig, additionalSources). The injected urlCalculators from converterContext are used both for
112
+ * reconstructing some article hrefs and for emitting index / tag-type / people listing entries.
113
+ */
114
+ export function createMarketingSiteSitemapEntries(deps, config) {
115
+ const { converterContext,
116
+ // getConfig is no longer read here (we unified both paths to use the injected *Links getters)
117
+ buildOptions, getAllPageLinks, getAllArticleLinks, getAllArticleTypeLinks, getAllTagLinks, getAllPersonLinks, getCustomType, } = deps;
118
+ const { articlesSlug, tagsSlug, enableArticleTypeIndex, enableArticleTypeTagIndex, enablePeopleIndex, enablePerson, enableTag, enableTagsIndex, peopleSlug, additionalSources, } = config;
119
+ const isUnindexedWithHref = (link) => link.indexed === false && link.hidden !== true && !!link.href;
120
+ const toPageEntry = (link) => ({
121
+ url: link.href,
122
+ lastModified: link.lastModified,
123
+ changeFrequency: 'weekly',
124
+ priority: 0.8,
125
+ });
126
+ const toArticleTypeEntry = (link) => ({
127
+ url: link.href,
128
+ lastModified: link.lastModified,
129
+ changeFrequency: 'weekly',
130
+ priority: 0.7,
131
+ });
132
+ const toTagEntry = (link) => ({
133
+ url: link.href,
134
+ lastModified: link.lastModified,
135
+ changeFrequency: 'weekly',
136
+ priority: 0.6,
137
+ });
138
+ const toArticleEntry = (link) => ({
139
+ url: link.href,
140
+ lastModified: link.lastModified,
141
+ changeFrequency: 'monthly',
142
+ priority: 0.6,
143
+ });
144
+ const toPersonEntry = (link) => ({
145
+ url: link.href,
146
+ lastModified: link.lastModified,
147
+ changeFrequency: 'monthly',
148
+ priority: 0.6,
149
+ });
150
+ /**
151
+ * @param options.includeUnindexed - when true, return only unindexed entries
152
+ * @param options.redirectMap - when provided, entries whose URL matches a redirect source
153
+ * (from the map) will be excluded. Use with `getRedirectMap()` at build time.
154
+ */
155
+ return async function getSitemapEntries(options) {
156
+ const { includeUnindexed = false } = options;
157
+ const linkFetchOptions = includeUnindexed
158
+ ? { ...buildOptions(fetchOptions), allowUnindexed: true }
159
+ : buildOptions(fetchOptions);
160
+ // Common fetch path for both indexed and unindexed (unifies the code paths).
161
+ // Pages now always come via the injected getAllPageLinks (same as articles etc.),
162
+ // removing the previous special case that went through getAllSitemapEntries only for the main path.
163
+ // Also fetch the people custom type (when configured) so we can apply the combined
164
+ // indexed/hidden gate (person + backing custom type) for #53.
165
+ const [pageRes, articleRes, articleTypeRes, tagRes, personRes, customTypeRes] = await Promise.all([
166
+ getAllPageLinks(linkFetchOptions),
167
+ getAllArticleLinks(linkFetchOptions),
168
+ getAllArticleTypeLinks(linkFetchOptions),
169
+ getAllTagLinks(linkFetchOptions),
170
+ getAllPersonLinks(linkFetchOptions),
171
+ enablePerson && peopleSlug && getCustomType
172
+ ? getCustomType(peopleSlug)
173
+ : Promise.resolve(null),
174
+ ]);
175
+ const peopleCustomType = customTypeRes?.data ?? null;
176
+ const peopleCustomAllowsIndexed = peopleCustomType == null ||
177
+ (peopleCustomType.indexed !== false && peopleCustomType.hidden !== true);
178
+ if (includeUnindexed) {
179
+ const unindexedPages = pageRes.data
180
+ .filter(isUnindexedWithHref)
181
+ .map(toPageEntry);
182
+ const unindexedArticles = articleRes.data
183
+ .filter((link) => link.indexed === false && link.hidden !== true)
184
+ .flatMap((link) => {
185
+ if (!shouldIncludeArticlePageUrl(link, config, true))
186
+ return [];
187
+ const url = getArticlePageUrl(link, converterContext.urlCalculators);
188
+ if (!url)
189
+ return [];
190
+ return [toArticleEntry({ href: url, lastModified: link.lastModified })];
191
+ });
192
+ const unindexedDownloads = articleRes.data
193
+ .filter((link) => !!link.download && link.indexed === false && link.hidden !== true)
194
+ .map((link) => ({
195
+ url: converterContext.urlCalculators.download(link.download.assetId, link.download.filename),
196
+ lastModified: link.lastModified,
197
+ changeFrequency: 'monthly',
198
+ priority: 0.6,
199
+ trailingSlash: false,
200
+ }));
201
+ const unindexedArticleTypes = articleTypeRes.data
202
+ .filter(isUnindexedWithHref)
203
+ .map(toArticleTypeEntry);
204
+ const unindexedTags = tagRes.data.filter(isUnindexedWithHref).map(toTagEntry);
205
+ const unindexedPeople = enablePerson
206
+ ? personRes.data.filter(isUnindexedWithHref).map(toPersonEntry)
207
+ : [];
208
+ // Note: unindexed path continues to key only off individual flags (consistent with prior
209
+ // article unindexed behavior when skipIndexedCheck=true). Main path below applies the
210
+ // combined custom-type gate.
211
+ let unindexedList = [
212
+ ...unindexedPages,
213
+ ...unindexedArticles,
214
+ ...unindexedDownloads,
215
+ ...unindexedArticleTypes,
216
+ ...unindexedTags,
217
+ ...unindexedPeople,
218
+ ];
219
+ if (options.redirectMap) {
220
+ unindexedList = filterSitemapEntriesExcludingRedirects(unindexedList, options.redirectMap);
221
+ }
222
+ return unindexedList;
223
+ }
224
+ // Main (indexed) path — now using the same injected getters as the unindexed path.
225
+ const pageLinks = pageRes.data;
226
+ const articleLinks = articleRes.data;
227
+ const articleTypeLinks = articleTypeRes.data;
228
+ const tagLinks = tagRes.data;
229
+ const personLinks = personRes.data;
230
+ const pageEntries = pageLinks
231
+ .filter((link) => link.indexed !== false && link.hidden !== true && !!link.href)
232
+ .map(toPageEntry);
233
+ const articleTypeEntries = articleTypeLinks
234
+ .filter((type) => !!type.href)
235
+ .map(toArticleTypeEntry);
236
+ const articleEntries = articleLinks.flatMap((link) => {
237
+ if (!shouldIncludeArticlePageUrl(link, config))
238
+ return [];
239
+ const url = getArticlePageUrl(link, converterContext.urlCalculators);
240
+ if (!url)
241
+ return [];
242
+ return [toArticleEntry({ href: url, lastModified: link.lastModified })];
243
+ });
244
+ const downloadEntries = articleLinks
245
+ .filter((link) => !!link.download &&
246
+ link.indexed !== false &&
247
+ link.hidden !== true &&
248
+ link.articleType?.indexed !== false &&
249
+ link.articleType?.hidden !== true)
250
+ .map((link) => ({
251
+ url: converterContext.urlCalculators.download(link.download.assetId, link.download.filename),
252
+ lastModified: link.lastModified,
253
+ changeFrequency: 'monthly',
254
+ priority: 0.6,
255
+ trailingSlash: false,
256
+ }));
257
+ const articleTypeTagEntries = [];
258
+ if (enableArticleTypeTagIndex) {
259
+ const lastModifiedByTypeTopic = collectArticleTypeTagLastModified(articleLinks, config);
260
+ for (const [resourceType, topicMap] of lastModifiedByTypeTopic.entries()) {
261
+ for (const [topic, lastModified] of topicMap.entries()) {
262
+ articleTypeTagEntries.push({
263
+ url: converterContext.urlCalculators.articleTypeTag(resourceType, topic),
264
+ lastModified,
265
+ changeFrequency: 'weekly',
266
+ priority: 0.6,
267
+ });
268
+ }
269
+ }
270
+ }
271
+ const peopleListingDate = latestLastModified(personLinks);
272
+ const peopleListingEntry = enablePeopleIndex
273
+ ? [
274
+ {
275
+ url: converterContext.urlCalculators.team(),
276
+ ...(peopleListingDate && { lastModified: peopleListingDate }),
277
+ changeFrequency: 'weekly',
278
+ priority: 0.7,
279
+ },
280
+ ]
281
+ : [];
282
+ const peopleEntries = enablePerson
283
+ ? personLinks
284
+ .filter((person) => !!person.slug &&
285
+ person.indexed !== false &&
286
+ person.hidden !== true &&
287
+ peopleCustomAllowsIndexed)
288
+ .map((person) => ({
289
+ url: converterContext.urlCalculators.person(person.slug),
290
+ lastModified: person.lastModified,
291
+ changeFrequency: 'monthly',
292
+ priority: 0.6,
293
+ }))
294
+ : [];
295
+ const tagsListingDate = latestLastModified(tagLinks);
296
+ const tagsListingEntry = enableTagsIndex
297
+ ? [
298
+ {
299
+ url: converterContext.urlCalculators.customType(tagsSlug),
300
+ ...(tagsListingDate && { lastModified: tagsListingDate }),
301
+ changeFrequency: 'weekly',
302
+ priority: 0.7,
303
+ },
304
+ ]
305
+ : [];
306
+ const tagEntries = enableTag
307
+ ? tagLinks
308
+ .filter((link) => !!link.href)
309
+ .map(toTagEntry)
310
+ : [];
311
+ const articleTypeIndexDate = latestLastModified(articleTypeLinks);
312
+ const articleTypeIndexEntry = enableArticleTypeIndex && articlesSlug
313
+ ? [
314
+ {
315
+ url: converterContext.urlCalculators.customType(articlesSlug),
316
+ ...(articleTypeIndexDate && { lastModified: articleTypeIndexDate }),
317
+ changeFrequency: 'weekly',
318
+ priority: 0.8,
319
+ },
320
+ ]
321
+ : [];
322
+ let baseEntries = [
323
+ ...pageEntries,
324
+ ...articleTypeIndexEntry,
325
+ ...articleTypeEntries,
326
+ ...articleTypeTagEntries,
327
+ ...articleEntries,
328
+ ...downloadEntries,
329
+ ...tagsListingEntry,
330
+ ...tagEntries,
331
+ ...peopleListingEntry,
332
+ ...peopleEntries,
333
+ ];
334
+ const localeConfig = config.localeConfig;
335
+ if (localeConfig && localeConfig.locales.length > 0) {
336
+ baseEntries = baseEntries.flatMap((entry) => expandEntryForLocales(entry, localeConfig));
337
+ }
338
+ if (options.redirectMap) {
339
+ baseEntries = filterSitemapEntriesExcludingRedirects(baseEntries, options.redirectMap);
340
+ }
341
+ if (!additionalSources?.length) {
342
+ return baseEntries;
343
+ }
344
+ const additionalResults = await Promise.all(additionalSources.map((source) => source()));
345
+ let merged = [...baseEntries, ...additionalResults.flat()];
346
+ if (options.redirectMap) {
347
+ merged = filterSitemapEntriesExcludingRedirects(merged, options.redirectMap);
348
+ }
349
+ return merged;
350
+ };
351
+ }
352
+ //# sourceMappingURL=marketingSiteSitemap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marketingSiteSitemap.js","sourceRoot":"","sources":["../../src/utils/marketingSiteSitemap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Preview page utilities for Next.js applications.
3
+ *
4
+ * These utilities help with implementing Contentful preview pages that
5
+ * redirect editors from `/preview?id={entryId}` to the appropriate content URL.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * // app/preview/page.tsx
10
+ * import { validatePreviewSecret } from '@se-studio/core-ui';
11
+ * import { createBaseConverterContext, getPreviewEntryInfo } from '@se-studio/contentful-rest-api';
12
+ * import { notFound, redirect } from 'next/navigation';
13
+ *
14
+ * export default async function PreviewPage({ searchParams }) {
15
+ * const { id, secret } = await searchParams;
16
+ *
17
+ * const validation = validatePreviewSecret(secret, process.env.PREVIEW_SECRET);
18
+ * if (!validation.valid) throw new Error(validation.error);
19
+ * if (!id) throw new Error('Preview ID is required');
20
+ *
21
+ * const context = createBaseConverterContext();
22
+ * const info = await getPreviewEntryInfo(context, contentfulConfig, id);
23
+ * if (!info) return notFound();
24
+ *
25
+ * redirect(info.href);
26
+ * }
27
+ * ```
28
+ */
29
+ /**
30
+ * Result of preview secret validation
31
+ */
32
+ export interface PreviewSecretValidation {
33
+ /** Whether the secret is valid */
34
+ valid: boolean;
35
+ /** Error message if validation failed */
36
+ error?: string;
37
+ }
38
+ /**
39
+ * Validates the preview secret against the environment variable.
40
+ *
41
+ * If no environment secret is configured, all requests are allowed.
42
+ * If an environment secret is configured, the provided secret must match.
43
+ *
44
+ * @param providedSecret - The secret provided in the request (from query params)
45
+ * @param envSecret - The expected secret from environment variable (PREVIEW_SECRET)
46
+ * @returns Validation result with valid flag and optional error message
47
+ *
48
+ * @example
49
+ * ```ts
50
+ * const validation = validatePreviewSecret(
51
+ * searchParams.secret,
52
+ * process.env.PREVIEW_SECRET
53
+ * );
54
+ *
55
+ * if (!validation.valid) {
56
+ * throw new Error(validation.error);
57
+ * }
58
+ * ```
59
+ */
60
+ export declare function validatePreviewSecret(providedSecret: string | undefined, envSecret: string | undefined): PreviewSecretValidation;
61
+ //# sourceMappingURL=previewPageUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"previewPageUtils.d.ts","sourceRoot":"","sources":["../../src/utils/previewPageUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,kCAAkC;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,qBAAqB,CACnC,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,uBAAuB,CAuBzB"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Preview page utilities for Next.js applications.
3
+ *
4
+ * These utilities help with implementing Contentful preview pages that
5
+ * redirect editors from `/preview?id={entryId}` to the appropriate content URL.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * // app/preview/page.tsx
10
+ * import { validatePreviewSecret } from '@se-studio/core-ui';
11
+ * import { createBaseConverterContext, getPreviewEntryInfo } from '@se-studio/contentful-rest-api';
12
+ * import { notFound, redirect } from 'next/navigation';
13
+ *
14
+ * export default async function PreviewPage({ searchParams }) {
15
+ * const { id, secret } = await searchParams;
16
+ *
17
+ * const validation = validatePreviewSecret(secret, process.env.PREVIEW_SECRET);
18
+ * if (!validation.valid) throw new Error(validation.error);
19
+ * if (!id) throw new Error('Preview ID is required');
20
+ *
21
+ * const context = createBaseConverterContext();
22
+ * const info = await getPreviewEntryInfo(context, contentfulConfig, id);
23
+ * if (!info) return notFound();
24
+ *
25
+ * redirect(info.href);
26
+ * }
27
+ * ```
28
+ */
29
+ /**
30
+ * Validates the preview secret against the environment variable.
31
+ *
32
+ * If no environment secret is configured, all requests are allowed.
33
+ * If an environment secret is configured, the provided secret must match.
34
+ *
35
+ * @param providedSecret - The secret provided in the request (from query params)
36
+ * @param envSecret - The expected secret from environment variable (PREVIEW_SECRET)
37
+ * @returns Validation result with valid flag and optional error message
38
+ *
39
+ * @example
40
+ * ```ts
41
+ * const validation = validatePreviewSecret(
42
+ * searchParams.secret,
43
+ * process.env.PREVIEW_SECRET
44
+ * );
45
+ *
46
+ * if (!validation.valid) {
47
+ * throw new Error(validation.error);
48
+ * }
49
+ * ```
50
+ */
51
+ export function validatePreviewSecret(providedSecret, envSecret) {
52
+ // If no secret is configured in the environment, allow all requests
53
+ if (!envSecret) {
54
+ return { valid: true };
55
+ }
56
+ // If a secret is configured but not provided in the request, reject
57
+ if (!providedSecret) {
58
+ return {
59
+ valid: false,
60
+ error: 'Preview secret is required',
61
+ };
62
+ }
63
+ // Check if the provided secret matches the configured secret
64
+ if (providedSecret !== envSecret) {
65
+ return {
66
+ valid: false,
67
+ error: 'Invalid preview secret',
68
+ };
69
+ }
70
+ return { valid: true };
71
+ }
72
+ //# sourceMappingURL=previewPageUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"previewPageUtils.js","sourceRoot":"","sources":["../../src/utils/previewPageUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAYH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,qBAAqB,CACnC,cAAkC,EAClC,SAA6B;IAE7B,oEAAoE;IACpE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,oEAAoE;IACpE,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,4BAA4B;SACpC,CAAC;IACJ,CAAC;IAED,6DAA6D;IAC7D,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,wBAAwB;SAChC,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC"}
@@ -0,0 +1,59 @@
1
+ import type { CmsRendererConfig, PreviewDataAttributes } from '../CmsRendererConfig';
2
+ export interface IContent {
3
+ parentId?: string;
4
+ parentFieldId?: string;
5
+ }
6
+ export declare function coreGetPreviewProps({ entryId, assetId, fieldId, }: {
7
+ entryId?: string;
8
+ assetId?: string;
9
+ fieldId?: string;
10
+ }, draftOnly: boolean): {
11
+ 'data-contentful-entry-id': string | undefined;
12
+ 'data-contentful-asset-id': string | undefined;
13
+ 'data-contentful-field-id': string | undefined;
14
+ } | undefined;
15
+ export declare function coreGetPreviewFieldIdProps(id: string | undefined, fieldId: string | undefined, draftOnly: boolean): {
16
+ 'data-contentful-entry-id': string | undefined;
17
+ 'data-contentful-asset-id': string | undefined;
18
+ 'data-contentful-field-id': string | undefined;
19
+ } | undefined;
20
+ export declare function coreGetPreviewAssetIdProps(assetId: string | undefined, draftOnly: boolean): {
21
+ 'data-contentful-entry-id': string | undefined;
22
+ 'data-contentful-asset-id': string | undefined;
23
+ 'data-contentful-field-id': string | undefined;
24
+ } | undefined;
25
+ export declare function coreGetPreviewParentProps(information: IContent | null | undefined, draftOnly: boolean): {
26
+ 'data-contentful-entry-id': string | undefined;
27
+ 'data-contentful-asset-id': string | undefined;
28
+ 'data-contentful-field-id': string | undefined;
29
+ } | undefined;
30
+ /**
31
+ * Returns preview props for a field from rendererConfig.
32
+ * Use in components instead of rendererConfig?.previewHelpers?.getPreviewFieldIdProps?.(id, fieldId) ?? {}
33
+ * to avoid circular imports from cms-server.
34
+ *
35
+ * @example
36
+ * ```tsx
37
+ * import { getPreviewFieldProps } from '@se-studio/core-ui';
38
+ * <Element {...getPreviewFieldProps(rendererConfig, id, 'heading')}>
39
+ * ```
40
+ */
41
+ export declare function getPreviewFieldProps(rendererConfig: CmsRendererConfig | undefined, id: string | undefined, fieldId: string): Record<string, string | undefined>;
42
+ /**
43
+ * Returns preview props for a responsive visual (visual + mobileVisual) from rendererConfig.
44
+ * Use in components instead of inline rendererConfig?.previewHelpers?.getPreviewResponsiveVisualFieldIdProps calls.
45
+ *
46
+ * @example
47
+ * ```tsx
48
+ * import { getPreviewResponsiveVisualFieldProps } from '@se-studio/core-ui';
49
+ * const { visualPreviewProps, mobileVisualPreviewProps } = getPreviewResponsiveVisualFieldProps(
50
+ * rendererConfig, id, 'visual', 'mobileVisual'
51
+ * );
52
+ * <ResponsiveVisual {...visualPreviewProps} mobileVisualPreviewProps={mobileVisualPreviewProps} />
53
+ * ```
54
+ */
55
+ export declare function getPreviewResponsiveVisualFieldProps(rendererConfig: CmsRendererConfig | undefined, id: string | undefined, visualFieldId?: string, mobileVisualFieldId?: string): {
56
+ visualPreviewProps: PreviewDataAttributes;
57
+ mobileVisualPreviewProps: PreviewDataAttributes;
58
+ };
59
+ //# sourceMappingURL=previewUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"previewUtils.d.ts","sourceRoot":"","sources":["../../src/utils/previewUtils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAErF,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,mBAAmB,CACjC,EACE,OAAO,EACP,OAAO,EACP,OAAO,GACR,EAAE;IACD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,EACD,SAAS,EAAE,OAAO;;;;cASnB;AAED,wBAAgB,0BAA0B,CACxC,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,SAAS,EAAE,OAAO;;;;cAGnB;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,OAAO;;;;cAEzF;AAED,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,EACxC,SAAS,EAAE,OAAO;;;;cAUnB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,cAAc,EAAE,iBAAiB,GAAG,SAAS,EAC7C,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,OAAO,EAAE,MAAM,GACd,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAKpC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oCAAoC,CAClD,cAAc,EAAE,iBAAiB,GAAG,SAAS,EAC7C,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,aAAa,CAAC,EAAE,MAAM,EACtB,mBAAmB,CAAC,EAAE,MAAM,GAC3B;IACD,kBAAkB,EAAE,qBAAqB,CAAC;IAC1C,wBAAwB,EAAE,qBAAqB,CAAC;CACjD,CAUA"}
@@ -0,0 +1,60 @@
1
+ // Contentful preview utilities
2
+ // These utilities help with Contentful live preview by adding data attributes
3
+ export function coreGetPreviewProps({ entryId, assetId, fieldId, }, draftOnly) {
4
+ if (!draftOnly)
5
+ return undefined;
6
+ return {
7
+ 'data-contentful-entry-id': entryId,
8
+ 'data-contentful-asset-id': assetId,
9
+ 'data-contentful-field-id': fieldId,
10
+ };
11
+ }
12
+ export function coreGetPreviewFieldIdProps(id, fieldId, draftOnly) {
13
+ return coreGetPreviewProps({ entryId: id, fieldId }, draftOnly);
14
+ }
15
+ export function coreGetPreviewAssetIdProps(assetId, draftOnly) {
16
+ return coreGetPreviewProps({ assetId }, draftOnly);
17
+ }
18
+ export function coreGetPreviewParentProps(information, draftOnly) {
19
+ if (!information)
20
+ return undefined;
21
+ return coreGetPreviewProps({
22
+ entryId: information.parentId,
23
+ fieldId: information.parentFieldId,
24
+ }, draftOnly);
25
+ }
26
+ /**
27
+ * Returns preview props for a field from rendererConfig.
28
+ * Use in components instead of rendererConfig?.previewHelpers?.getPreviewFieldIdProps?.(id, fieldId) ?? {}
29
+ * to avoid circular imports from cms-server.
30
+ *
31
+ * @example
32
+ * ```tsx
33
+ * import { getPreviewFieldProps } from '@se-studio/core-ui';
34
+ * <Element {...getPreviewFieldProps(rendererConfig, id, 'heading')}>
35
+ * ```
36
+ */
37
+ export function getPreviewFieldProps(rendererConfig, id, fieldId) {
38
+ return (rendererConfig?.previewHelpers?.getPreviewFieldIdProps?.(id, fieldId) ?? {});
39
+ }
40
+ /**
41
+ * Returns preview props for a responsive visual (visual + mobileVisual) from rendererConfig.
42
+ * Use in components instead of inline rendererConfig?.previewHelpers?.getPreviewResponsiveVisualFieldIdProps calls.
43
+ *
44
+ * @example
45
+ * ```tsx
46
+ * import { getPreviewResponsiveVisualFieldProps } from '@se-studio/core-ui';
47
+ * const { visualPreviewProps, mobileVisualPreviewProps } = getPreviewResponsiveVisualFieldProps(
48
+ * rendererConfig, id, 'visual', 'mobileVisual'
49
+ * );
50
+ * <ResponsiveVisual {...visualPreviewProps} mobileVisualPreviewProps={mobileVisualPreviewProps} />
51
+ * ```
52
+ */
53
+ export function getPreviewResponsiveVisualFieldProps(rendererConfig, id, visualFieldId, mobileVisualFieldId) {
54
+ const result = rendererConfig?.previewHelpers?.getPreviewResponsiveVisualFieldIdProps?.(id, visualFieldId, mobileVisualFieldId);
55
+ return {
56
+ visualPreviewProps: result?.visualPreviewProps ?? undefined,
57
+ mobileVisualPreviewProps: result?.mobileVisualPreviewProps ?? undefined,
58
+ };
59
+ }
60
+ //# sourceMappingURL=previewUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"previewUtils.js","sourceRoot":"","sources":["../../src/utils/previewUtils.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,8EAA8E;AAS9E,MAAM,UAAU,mBAAmB,CACjC,EACE,OAAO,EACP,OAAO,EACP,OAAO,GAKR,EACD,SAAkB;IAElB,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IAEjC,OAAO;QACL,0BAA0B,EAAE,OAAO;QACnC,0BAA0B,EAAE,OAAO;QACnC,0BAA0B,EAAE,OAAO;KACpC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,EAAsB,EACtB,OAA2B,EAC3B,SAAkB;IAElB,OAAO,mBAAmB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAA2B,EAAE,SAAkB;IACxF,OAAO,mBAAmB,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,WAAwC,EACxC,SAAkB;IAElB,IAAI,CAAC,WAAW;QAAE,OAAO,SAAS,CAAC;IACnC,OAAO,mBAAmB,CACxB;QACE,OAAO,EAAE,WAAW,CAAC,QAAQ;QAC7B,OAAO,EAAE,WAAW,CAAC,aAAa;KACnC,EACD,SAAS,CACV,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAClC,cAA6C,EAC7C,EAAsB,EACtB,OAAe;IAEf,OAAO,CAAC,cAAc,EAAE,cAAc,EAAE,sBAAsB,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,CAGlF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,oCAAoC,CAClD,cAA6C,EAC7C,EAAsB,EACtB,aAAsB,EACtB,mBAA4B;IAK5B,MAAM,MAAM,GAAG,cAAc,EAAE,cAAc,EAAE,sCAAsC,EAAE,CACrF,EAAE,EACF,aAAa,EACb,mBAAmB,CACpB,CAAC;IACF,OAAO;QACL,kBAAkB,EAAE,MAAM,EAAE,kBAAkB,IAAI,SAAS;QAC3D,wBAAwB,EAAE,MAAM,EAAE,wBAAwB,IAAI,SAAS;KACxE,CAAC;AACJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { type IContentContext, type ILinkProps } from '@se-studio/core-data-types';
2
+ /**
3
+ * Automatically configures links with no target based on context.
4
+ * If on an article page, blank/empty links will be configured using the provided callback.
5
+ *
6
+ * @param links - Array of links to process
7
+ * @param contentContext - Context containing page information
8
+ * @returns Processed array of links
9
+ */
10
+ export declare function processCollectionLinks(links: ReadonlyArray<ILinkProps>, contentContext: IContentContext): ReadonlyArray<ILinkProps>;
11
+ //# sourceMappingURL=processCollectionLinks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processCollectionLinks.d.ts","sourceRoot":"","sources":["../../src/utils/processCollectionLinks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,UAAU,EAAe,MAAM,4BAA4B,CAAC;AAEhG;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,EAChC,cAAc,EAAE,eAAe,GAC9B,aAAa,CAAC,UAAU,CAAC,CA+B3B"}