@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,38 @@
1
+ import { isBlankLink } 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 function processCollectionLinks(links, contentContext) {
11
+ if (links.length === 0) {
12
+ return links;
13
+ }
14
+ const currentArticle = contentContext.pageContext.article;
15
+ if (!currentArticle) {
16
+ return links;
17
+ }
18
+ const hasBlankLinks = links.some((link) => isBlankLink(link));
19
+ if (!hasBlankLinks) {
20
+ return links;
21
+ }
22
+ const articleTypeLink = currentArticle.articleType;
23
+ if (!articleTypeLink) {
24
+ return links;
25
+ }
26
+ return links.map((link) => {
27
+ if (isBlankLink(link)) {
28
+ const linkWithExistingText = {
29
+ ...articleTypeLink,
30
+ text: link.text,
31
+ id: link.id,
32
+ };
33
+ return linkWithExistingText;
34
+ }
35
+ return link;
36
+ });
37
+ }
38
+ //# sourceMappingURL=processCollectionLinks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processCollectionLinks.js","sourceRoot":"","sources":["../../src/utils/processCollectionLinks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEhG;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAgC,EAChC,cAA+B;IAE/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,cAAc,GAAG,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC;IAC1D,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,eAAe,GAAG,cAAc,CAAC,WAAW,CAAC;IACnD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,oBAAoB,GAAG;gBAC3B,GAAG,eAAe;gBAClB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,EAAE,EAAE,IAAI,CAAC,EAAE;aACZ,CAAC;YACF,OAAO,oBAAoB,CAAC;QAC9B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { IContentContext } from '@se-studio/core-data-types';
2
+ import type { ReactNode } from 'react';
3
+ /**
4
+ * Renders text content with optional custom processing (e.g. {{phone}} placeholders).
5
+ * Uses contentContext.processText when available, otherwise falls back to convertText.
6
+ *
7
+ * @param text - The text to render (may contain placeholders)
8
+ * @param contentContext - Optional content context with processText from renderer config
9
+ * @returns React node (string, span, fragment, etc.)
10
+ *
11
+ * @example
12
+ * ```tsx
13
+ * // In a component renderer with contentContext
14
+ * {processTextContent(heading, contentContext)}
15
+ * ```
16
+ */
17
+ export declare function processTextContent(text: string, contentContext?: IContentContext): ReactNode;
18
+ //# sourceMappingURL=processTextContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processTextContent.d.ts","sourceRoot":"","sources":["../../src/utils/processTextContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,eAAe,GAAG,SAAS,CAS5F"}
@@ -0,0 +1,24 @@
1
+ import { interpolateMetaTokens, resolveMetaFromPageContext } from '@se-studio/core-data-types';
2
+ import { convertText } from './convertText';
3
+ /**
4
+ * Renders text content with optional custom processing (e.g. {{phone}} placeholders).
5
+ * Uses contentContext.processText when available, otherwise falls back to convertText.
6
+ *
7
+ * @param text - The text to render (may contain placeholders)
8
+ * @param contentContext - Optional content context with processText from renderer config
9
+ * @returns React node (string, span, fragment, etc.)
10
+ *
11
+ * @example
12
+ * ```tsx
13
+ * // In a component renderer with contentContext
14
+ * {processTextContent(heading, contentContext)}
15
+ * ```
16
+ */
17
+ export function processTextContent(text, contentContext) {
18
+ if (contentContext?.processText) {
19
+ return contentContext.processText(text, contentContext);
20
+ }
21
+ const interpolated = interpolateMetaTokens(text, resolveMetaFromPageContext(contentContext?.pageContext));
22
+ return convertText(interpolated);
23
+ }
24
+ //# sourceMappingURL=processTextContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processTextContent.js","sourceRoot":"","sources":["../../src/utils/processTextContent.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAE/F,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,cAAgC;IAC/E,IAAI,cAAc,EAAE,WAAW,EAAE,CAAC;QAChC,OAAO,cAAc,CAAC,WAAW,CAAC,IAAI,EAAE,cAAc,CAAc,CAAC;IACvE,CAAC;IACD,MAAM,YAAY,GAAG,qBAAqB,CACxC,IAAI,EACJ,0BAA0B,CAAC,cAAc,EAAE,WAAW,CAAC,CACxD,CAAC;IACF,OAAO,WAAW,CAAC,YAAY,CAAC,CAAC;AACnC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { type ReactNode } from 'react';
2
+ /**
3
+ * Recursively extract visible text from React children (strings, numbers, nested elements).
4
+ * Used by TrackedLink when CMS/RTF does not pass an explicit `linkText`.
5
+ */
6
+ export declare function extractTextFromReactNode(node: ReactNode, maxDepth?: number): string;
7
+ //# sourceMappingURL=reactNodeText.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactNodeText.d.ts","sourceRoot":"","sources":["../../src/utils/reactNodeText.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIjE;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,SAAS,EACf,QAAQ,GAAE,MAA0B,GACnC,MAAM,CAIR"}
@@ -0,0 +1,43 @@
1
+ import { Children, isValidElement } from 'react';
2
+ const DEFAULT_MAX_DEPTH = 8;
3
+ /**
4
+ * Recursively extract visible text from React children (strings, numbers, nested elements).
5
+ * Used by TrackedLink when CMS/RTF does not pass an explicit `linkText`.
6
+ */
7
+ export function extractTextFromReactNode(node, maxDepth = DEFAULT_MAX_DEPTH) {
8
+ const parts = [];
9
+ walk(node, parts, 0, maxDepth);
10
+ return parts.join('').replace(/\s+/g, ' ').trim();
11
+ }
12
+ function walk(node, parts, depth, maxDepth) {
13
+ if (node == null || typeof node === 'boolean' || depth > maxDepth) {
14
+ return;
15
+ }
16
+ if (typeof node === 'string' || typeof node === 'number') {
17
+ parts.push(String(node));
18
+ return;
19
+ }
20
+ if (Array.isArray(node)) {
21
+ for (const child of node) {
22
+ walk(child, parts, depth, maxDepth);
23
+ }
24
+ return;
25
+ }
26
+ if (isValidElement(node)) {
27
+ const props = node.props;
28
+ if (props?.children != null) {
29
+ walk(props.children, parts, depth + 1, maxDepth);
30
+ }
31
+ return;
32
+ }
33
+ // Iterable children (e.g. some Fragment edge cases)
34
+ try {
35
+ Children.forEach(node, (child) => {
36
+ walk(child, parts, depth + 1, maxDepth);
37
+ });
38
+ }
39
+ catch {
40
+ // ignore non-children values
41
+ }
42
+ }
43
+ //# sourceMappingURL=reactNodeText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactNodeText.js","sourceRoot":"","sources":["../../src/utils/reactNodeText.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAkB,MAAM,OAAO,CAAC;AAEjE,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,IAAe,EACf,WAAmB,iBAAiB;IAEpC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC/B,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACpD,CAAC;AAED,SAAS,IAAI,CAAC,IAAe,EAAE,KAAe,EAAE,KAAa,EAAE,QAAgB;IAC7E,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,SAAS,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;QAClE,OAAO;IACT,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACtC,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAiC,CAAC;QACrD,IAAI,KAAK,EAAE,QAAQ,IAAI,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;QACnD,CAAC;QACD,OAAO;IACT,CAAC;IAED,oDAAoD;IACpD,IAAI,CAAC;QACH,QAAQ,CAAC,OAAO,CAAC,IAAiB,EAAE,CAAC,KAAK,EAAE,EAAE;YAC5C,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,6BAA6B;IAC/B,CAAC;AACH,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { Block, Inline, Text } from '@contentful/rich-text-types';
2
+ type RichTextLikeNode = Block | Inline | Text | {
3
+ nodeType?: string;
4
+ value?: string;
5
+ content?: unknown[];
6
+ };
7
+ /**
8
+ * Flatten plain text from a Contentful rich-text node (hyperlink, paragraph, etc.).
9
+ * Concatenates all `text` node values under `content`, ignoring marks and nested structure.
10
+ */
11
+ export declare function extractRichTextNodeText(node: RichTextLikeNode | null | undefined): string;
12
+ export {};
13
+ //# sourceMappingURL=richTextNodeText.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"richTextNodeText.d.ts","sourceRoot":"","sources":["../../src/utils/richTextNodeText.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAEvE,KAAK,gBAAgB,GACjB,KAAK,GACL,MAAM,GACN,IAAI,GACJ;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC;AAE/D;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAUzF"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Flatten plain text from a Contentful rich-text node (hyperlink, paragraph, etc.).
3
+ * Concatenates all `text` node values under `content`, ignoring marks and nested structure.
4
+ */
5
+ export function extractRichTextNodeText(node) {
6
+ if (!node)
7
+ return '';
8
+ if (typeof node.value === 'string' && node.nodeType === 'text') {
9
+ return (node.value ?? '').trim();
10
+ }
11
+ const parts = [];
12
+ walk(node, parts);
13
+ return parts.join('').replace(/\s+/g, ' ').trim();
14
+ }
15
+ function walk(node, parts) {
16
+ if (!node || typeof node !== 'object')
17
+ return;
18
+ if (node.nodeType === 'text' && typeof node.value === 'string') {
19
+ parts.push(node.value);
20
+ return;
21
+ }
22
+ const content = node.content;
23
+ if (!Array.isArray(content))
24
+ return;
25
+ for (const child of content) {
26
+ walk(child, parts);
27
+ }
28
+ }
29
+ //# sourceMappingURL=richTextNodeText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"richTextNodeText.js","sourceRoot":"","sources":["../../src/utils/richTextNodeText.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAyC;IAC/E,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,IAAI,OAAQ,IAAa,CAAC,KAAK,KAAK,QAAQ,IAAK,IAAa,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;QACnF,OAAO,CAAE,IAAa,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7C,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACpD,CAAC;AAED,SAAS,IAAI,CAAC,IAAsB,EAAE,KAAe;IACnD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO;IAE9C,IAAK,IAAa,CAAC,QAAQ,KAAK,MAAM,IAAI,OAAQ,IAAa,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACnF,KAAK,CAAC,IAAI,CAAE,IAAa,CAAC,KAAK,CAAC,CAAC;QACjC,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAI,IAAuB,CAAC,OAAO,CAAC;IACjD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO;IAEpC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAyB,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;AACH,CAAC"}
@@ -0,0 +1,115 @@
1
+ import type { MetadataRoute } from 'next';
2
+ /** Default production disallow paths for SE Studio marketing sites. */
3
+ export declare const DEFAULT_ROBOTS_DISALLOW: readonly ["/*?_rsc=*", "/_next/data/", "/api/", "/preview/", "/page-test/", "/cms/", "/og/"];
4
+ /**
5
+ * Optional tracking-param crawl traps (e.g. Point Me SEO audit).
6
+ * Note: Google applies robots.txt to the path only, not query strings — these rules
7
+ * help other crawlers and audit tooling but are not a complete Google fix.
8
+ */
9
+ export declare const TRACKING_QUERY_ROBOTS_DISALLOW: readonly ["/*?_gl=*", "/*?nnerid=*", "/*?ref=*"];
10
+ /** Yes/no preference for Content Signals (contentsignals.org). */
11
+ export type ContentSignalPreference = 'yes' | 'no';
12
+ /**
13
+ * AI usage preferences for robots.txt Content-Signal directives.
14
+ * @see https://contentsignals.org/
15
+ */
16
+ export interface ContentSignals {
17
+ /** Building a search index / classic search results. */
18
+ search: ContentSignalPreference;
19
+ /** Training or fine-tuning AI models. */
20
+ aiTrain: ContentSignalPreference;
21
+ /** Using content as AI input (RAG, grounding, inference). */
22
+ aiInput: ContentSignalPreference;
23
+ }
24
+ export interface CreateRobotsConfigOptions {
25
+ isProduction: boolean;
26
+ baseUrl: string;
27
+ /** Default: `${baseUrl}/sitemap.xml` */
28
+ sitemapUrl?: string;
29
+ /** Replace the built-in list entirely (production only). */
30
+ disallow?: readonly string[];
31
+ /** Merged after defaults (production only). */
32
+ disallowExtra?: readonly string[];
33
+ /** Removed from defaults (production only). e.g. `['/page-test/']` when no A/B routes. */
34
+ disallowOmit?: readonly string[];
35
+ /**
36
+ * Asset path prefix (Point Me `SITE_PREFIX`, e.g. `/marketing`).
37
+ * Rewrites `/og/` → `${pathPrefix}/og/` in the built list.
38
+ */
39
+ pathPrefix?: string;
40
+ /**
41
+ * API prefixes to block. Default: `['/api/']`.
42
+ * Point Me passes `['/api/', '/marketing-api/']`.
43
+ */
44
+ apiPrefixes?: readonly string[];
45
+ /** Append tracking query disallow rules. */
46
+ blockTrackingQueryParams?: boolean;
47
+ /**
48
+ * Extra staging rules after blanket `Disallow: /`.
49
+ * Brightlife Kids: SiteimproveBot allowlist.
50
+ */
51
+ stagingAllowRules?: Array<{
52
+ userAgent: string;
53
+ allow: string;
54
+ }>;
55
+ /**
56
+ * Extra production `Allow:` paths (emitted after `Allow: /`, before Disallow).
57
+ * Use for public agent/API surfaces under a broad disallowed prefix, e.g.
58
+ * `['/api/mcp', '/api/search']` while still `Disallow: /api/`.
59
+ * Google: more specific Allow can win over broader Disallow.
60
+ */
61
+ allowExtra?: readonly string[];
62
+ }
63
+ /** Options for plain-text robots.txt (supports Content-Signal). */
64
+ export interface FormatRobotsTxtOptions extends CreateRobotsConfigOptions {
65
+ /**
66
+ * When set (production only), emit a Content-Signal line under `User-agent: *`.
67
+ * Next.js `MetadataRoute.Robots` cannot express this — use `formatRobotsTxt` /
68
+ * `createRobotsTxtResponse` in `src/app/robots.txt/route.ts` instead of `robots.ts`.
69
+ */
70
+ contentSignals?: ContentSignals;
71
+ }
72
+ /**
73
+ * Builds the production disallow path list from options.
74
+ * Exported for tests and sites that render plain-text robots (e.g. Brightline Content-Signal).
75
+ */
76
+ export declare function buildRobotsDisallow(options: CreateRobotsConfigOptions): string[];
77
+ /**
78
+ * Creates a Next.js `MetadataRoute.Robots` config for `src/app/robots.ts`.
79
+ *
80
+ * In production: allows `/` and disallows internal/infrastructure paths.
81
+ * In non-production: disallows all crawlers (with optional staging bot allowlist).
82
+ *
83
+ * **Content-Signal:** not supported here (Next metadata type). Use
84
+ * {@link formatRobotsTxt} / {@link createRobotsTxtResponse} in a route handler.
85
+ */
86
+ export declare function createRobotsConfig(options: CreateRobotsConfigOptions): MetadataRoute.Robots;
87
+ /**
88
+ * Formats a single Content-Signal directive line (no trailing newline).
89
+ *
90
+ * @example
91
+ * formatContentSignalLine({ search: 'yes', aiTrain: 'no', aiInput: 'yes' })
92
+ * // → 'Content-Signal: search=yes, ai-train=no, ai-input=yes'
93
+ */
94
+ export declare function formatContentSignalLine(signals: ContentSignals): string;
95
+ /**
96
+ * Builds a full plain-text robots.txt body, including optional Content-Signal.
97
+ *
98
+ * Prefer this over `createRobotsConfig` when you need Content Signals or other
99
+ * non-standard directives. Serve from `src/app/robots.txt/route.ts`.
100
+ */
101
+ export declare function formatRobotsTxt(options: FormatRobotsTxtOptions): string;
102
+ /**
103
+ * Returns a `text/plain` Response for `src/app/robots.txt/route.ts`.
104
+ *
105
+ * @example
106
+ * export function GET() {
107
+ * return createRobotsTxtResponse({
108
+ * isProduction,
109
+ * baseUrl,
110
+ * contentSignals: { search: 'yes', aiTrain: 'no', aiInput: 'yes' },
111
+ * });
112
+ * }
113
+ */
114
+ export declare function createRobotsTxtResponse(options: FormatRobotsTxtOptions): Response;
115
+ //# sourceMappingURL=robots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"robots.d.ts","sourceRoot":"","sources":["../../src/utils/robots.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAE1C,uEAAuE;AACvE,eAAO,MAAM,uBAAuB,8FAQ1B,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,kDAAmD,CAAC;AAE/F,kEAAkE;AAClE,MAAM,MAAM,uBAAuB,GAAG,KAAK,GAAG,IAAI,CAAC;AAEnD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,wDAAwD;IACxD,MAAM,EAAE,uBAAuB,CAAC;IAChC,yCAAyC;IACzC,OAAO,EAAE,uBAAuB,CAAC;IACjC,6DAA6D;IAC7D,OAAO,EAAE,uBAAuB,CAAC;CAClC;AAED,MAAM,WAAW,yBAAyB;IACxC,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,+CAA+C;IAC/C,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,0FAA0F;IAC1F,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,4CAA4C;IAC5C,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE;;;;;OAKG;IACH,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAChC;AAED,mEAAmE;AACnE,MAAM,WAAW,sBAAuB,SAAQ,yBAAyB;IACvE;;;;OAIG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AA2CD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,yBAAyB,GAAG,MAAM,EAAE,CAwBhF;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,aAAa,CAAC,MAAM,CAoC3F;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAEvE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CAoCvE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,sBAAsB,GAAG,QAAQ,CAIjF"}
@@ -0,0 +1,174 @@
1
+ /** Default production disallow paths for SE Studio marketing sites. */
2
+ export const DEFAULT_ROBOTS_DISALLOW = [
3
+ '/*?_rsc=*',
4
+ '/_next/data/',
5
+ '/api/',
6
+ '/preview/',
7
+ '/page-test/',
8
+ '/cms/',
9
+ '/og/',
10
+ ];
11
+ /**
12
+ * Optional tracking-param crawl traps (e.g. Point Me SEO audit).
13
+ * Note: Google applies robots.txt to the path only, not query strings — these rules
14
+ * help other crawlers and audit tooling but are not a complete Google fix.
15
+ */
16
+ export const TRACKING_QUERY_ROBOTS_DISALLOW = ['/*?_gl=*', '/*?nnerid=*', '/*?ref=*'];
17
+ function normalizePathPrefix(prefix) {
18
+ if (!prefix) {
19
+ return undefined;
20
+ }
21
+ const trimmed = prefix.trim();
22
+ if (!trimmed) {
23
+ return undefined;
24
+ }
25
+ const withLeading = trimmed.startsWith('/') ? trimmed : `/${trimmed}`;
26
+ return withLeading.replace(/\/+$/, '');
27
+ }
28
+ function applyPathPrefix(path, pathPrefix) {
29
+ if (path === '/og/' && pathPrefix) {
30
+ return `${pathPrefix}/og/`;
31
+ }
32
+ return path;
33
+ }
34
+ function replaceApiPrefixes(paths, apiPrefixes) {
35
+ const result = [];
36
+ let apiInserted = false;
37
+ for (const path of paths) {
38
+ if (path === '/api/') {
39
+ if (!apiInserted) {
40
+ result.push(...apiPrefixes);
41
+ apiInserted = true;
42
+ }
43
+ continue;
44
+ }
45
+ result.push(path);
46
+ }
47
+ if (!apiInserted) {
48
+ result.push(...apiPrefixes);
49
+ }
50
+ return result;
51
+ }
52
+ /**
53
+ * Builds the production disallow path list from options.
54
+ * Exported for tests and sites that render plain-text robots (e.g. Brightline Content-Signal).
55
+ */
56
+ export function buildRobotsDisallow(options) {
57
+ if (options.disallow) {
58
+ return [...options.disallow];
59
+ }
60
+ const omit = new Set(options.disallowOmit ?? []);
61
+ const pathPrefix = normalizePathPrefix(options.pathPrefix);
62
+ const apiPrefixes = options.apiPrefixes ?? ['/api/'];
63
+ let paths = DEFAULT_ROBOTS_DISALLOW.filter((path) => !omit.has(path)).map((path) => applyPathPrefix(path, pathPrefix));
64
+ paths = replaceApiPrefixes(paths, apiPrefixes);
65
+ if (options.disallowExtra?.length) {
66
+ paths.push(...options.disallowExtra);
67
+ }
68
+ if (options.blockTrackingQueryParams) {
69
+ paths.push(...TRACKING_QUERY_ROBOTS_DISALLOW);
70
+ }
71
+ return paths;
72
+ }
73
+ /**
74
+ * Creates a Next.js `MetadataRoute.Robots` config for `src/app/robots.ts`.
75
+ *
76
+ * In production: allows `/` and disallows internal/infrastructure paths.
77
+ * In non-production: disallows all crawlers (with optional staging bot allowlist).
78
+ *
79
+ * **Content-Signal:** not supported here (Next metadata type). Use
80
+ * {@link formatRobotsTxt} / {@link createRobotsTxtResponse} in a route handler.
81
+ */
82
+ export function createRobotsConfig(options) {
83
+ const sitemap = options.sitemapUrl ?? `${options.baseUrl}/sitemap.xml`;
84
+ if (!options.isProduction) {
85
+ const rules = [
86
+ {
87
+ userAgent: '*',
88
+ disallow: '/',
89
+ },
90
+ ];
91
+ if (options.stagingAllowRules?.length) {
92
+ for (const rule of options.stagingAllowRules) {
93
+ rules.push({
94
+ userAgent: rule.userAgent,
95
+ allow: rule.allow,
96
+ });
97
+ }
98
+ }
99
+ return { rules, sitemap };
100
+ }
101
+ const allow = options.allowExtra && options.allowExtra.length > 0 ? ['/', ...options.allowExtra] : '/';
102
+ return {
103
+ rules: [
104
+ {
105
+ userAgent: '*',
106
+ allow,
107
+ disallow: buildRobotsDisallow(options),
108
+ },
109
+ ],
110
+ sitemap,
111
+ };
112
+ }
113
+ /**
114
+ * Formats a single Content-Signal directive line (no trailing newline).
115
+ *
116
+ * @example
117
+ * formatContentSignalLine({ search: 'yes', aiTrain: 'no', aiInput: 'yes' })
118
+ * // → 'Content-Signal: search=yes, ai-train=no, ai-input=yes'
119
+ */
120
+ export function formatContentSignalLine(signals) {
121
+ return `Content-Signal: search=${signals.search}, ai-train=${signals.aiTrain}, ai-input=${signals.aiInput}`;
122
+ }
123
+ /**
124
+ * Builds a full plain-text robots.txt body, including optional Content-Signal.
125
+ *
126
+ * Prefer this over `createRobotsConfig` when you need Content Signals or other
127
+ * non-standard directives. Serve from `src/app/robots.txt/route.ts`.
128
+ */
129
+ export function formatRobotsTxt(options) {
130
+ const sitemap = options.sitemapUrl ?? `${options.baseUrl}/sitemap.xml`;
131
+ if (!options.isProduction) {
132
+ const lines = ['User-agent: *', 'Disallow: /'];
133
+ if (options.stagingAllowRules?.length) {
134
+ for (const rule of options.stagingAllowRules) {
135
+ lines.push('', `User-agent: ${rule.userAgent}`, `Allow: ${rule.allow}`);
136
+ }
137
+ }
138
+ lines.push('', `Sitemap: ${sitemap}`, '');
139
+ return lines.join('\n');
140
+ }
141
+ const lines = ['User-agent: *'];
142
+ if (options.contentSignals) {
143
+ lines.push(formatContentSignalLine(options.contentSignals));
144
+ }
145
+ lines.push('Allow: /');
146
+ if (options.allowExtra?.length) {
147
+ for (const path of options.allowExtra) {
148
+ lines.push(`Allow: ${path}`);
149
+ }
150
+ }
151
+ for (const path of buildRobotsDisallow(options)) {
152
+ lines.push(`Disallow: ${path}`);
153
+ }
154
+ lines.push('', `Sitemap: ${sitemap}`, '');
155
+ return lines.join('\n');
156
+ }
157
+ /**
158
+ * Returns a `text/plain` Response for `src/app/robots.txt/route.ts`.
159
+ *
160
+ * @example
161
+ * export function GET() {
162
+ * return createRobotsTxtResponse({
163
+ * isProduction,
164
+ * baseUrl,
165
+ * contentSignals: { search: 'yes', aiTrain: 'no', aiInput: 'yes' },
166
+ * });
167
+ * }
168
+ */
169
+ export function createRobotsTxtResponse(options) {
170
+ return new Response(formatRobotsTxt(options), {
171
+ headers: { 'Content-Type': 'text/plain; charset=utf-8' },
172
+ });
173
+ }
174
+ //# sourceMappingURL=robots.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"robots.js","sourceRoot":"","sources":["../../src/utils/robots.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Scopes CSS to a specific element by prefixing all selectors with a [data-hc-id] attribute selector.
3
+ *
4
+ * Handles:
5
+ * - Normal rules: `h2 { ... }` → `[data-hc-id="x"] h2 { ... }`
6
+ * - @media / @supports / @layer / @container: prefixes inner selectors
7
+ * - @keyframes / @font-face: passed through unchanged
8
+ * - :root rules: passed through unchanged (intentionally global)
9
+ * - Comma-separated selectors: each part is prefixed individually
10
+ * - Block comments, line comments, and strings (', ", `) when scanning for `{` / `}`
11
+ */
12
+ export declare function scopeCss(css: string, scopeId: string): string;
13
+ /** @internal */
14
+ export declare function clearScopeCssCacheForTests(): void;
15
+ //# sourceMappingURL=scopeCss.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scopeCss.d.ts","sourceRoot":"","sources":["../../src/utils/scopeCss.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAe7D;AAED,gBAAgB;AAChB,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD"}