@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 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/media-library/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EACL,eAAe,EAEf,gBAAgB,GAEjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,GAIpB,MAAM,SAAS,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * UI labels for media library kinds. Kind unions / item shapes live in
3
+ * `@se-studio/core-data-types` so REST + UI cannot drift.
4
+ */
5
+ export { isMediaLibraryKind, MEDIA_LIBRARY_KINDS, type MediaLibraryItem, type MediaLibraryKind, type MediaLibraryPage as MediaLibraryPageData, } from '@se-studio/core-data-types';
6
+ import type { MediaLibraryKind } from '@se-studio/core-data-types';
7
+ export declare const MEDIA_LIBRARY_KIND_LABELS: Record<MediaLibraryKind, string>;
8
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/media-library/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,IAAI,oBAAoB,GAC9C,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAKtE,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * UI labels for media library kinds. Kind unions / item shapes live in
3
+ * `@se-studio/core-data-types` so REST + UI cannot drift.
4
+ */
5
+ export { isMediaLibraryKind, MEDIA_LIBRARY_KINDS, } from '@se-studio/core-data-types';
6
+ export const MEDIA_LIBRARY_KIND_LABELS = {
7
+ images: 'Images',
8
+ videos: 'Videos',
9
+ animations: 'Animations',
10
+ 'external-videos': 'External videos',
11
+ };
12
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/media-library/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,kBAAkB,EAClB,mBAAmB,GAIpB,MAAM,4BAA4B,CAAC;AAIpC,MAAM,CAAC,MAAM,yBAAyB,GAAqC;IACzE,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,iBAAiB,EAAE,iBAAiB;CACrC,CAAC"}
@@ -0,0 +1,19 @@
1
+ export interface CmsTxtHandlerOptions {
2
+ /** Display name for this app (e.g. "example-empty", "brightline") */
3
+ appName: string;
4
+ /** Local dev port (e.g. 3010) */
5
+ port: number;
6
+ /** Optional additional content appended after the standard sections */
7
+ extraContent?: string;
8
+ }
9
+ /**
10
+ * Creates a Next.js GET handler for the /cms.txt route.
11
+ *
12
+ * Returns a Markdown document listing all CMS tooling routes available on the site.
13
+ * Designed to be the first place an agent or tool looks when working with the CMS.
14
+ *
15
+ * Auth note: On deployed environments (e.g. Vercel) the whole app is behind auth.
16
+ * Pass the same auth credential to ALL endpoints listed here. No auth on localhost.
17
+ */
18
+ export declare function createCmsTxtHandler(options: CmsTxtHandlerOptions): (request?: Request) => Response;
19
+ //# sourceMappingURL=createCmsTxtHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createCmsTxtHandler.d.ts","sourceRoot":"","sources":["../../src/route-handlers/createCmsTxtHandler.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,oBAAoB;IACnC,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,oBAAoB,GAC5B,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,QAAQ,CAgJjC"}
@@ -0,0 +1,154 @@
1
+ import { NextResponse } from 'next/server';
2
+ /**
3
+ * Creates a Next.js GET handler for the /cms.txt route.
4
+ *
5
+ * Returns a Markdown document listing all CMS tooling routes available on the site.
6
+ * Designed to be the first place an agent or tool looks when working with the CMS.
7
+ *
8
+ * Auth note: On deployed environments (e.g. Vercel) the whole app is behind auth.
9
+ * Pass the same auth credential to ALL endpoints listed here. No auth on localhost.
10
+ */
11
+ export function createCmsTxtHandler(options) {
12
+ const { appName, port, extraContent } = options;
13
+ return function GET() {
14
+ const content = `# CMS Tools and Resources — ${appName}
15
+
16
+ ## Auth
17
+
18
+ When deployed (e.g. on Vercel preview), all endpoints below are behind site-level auth.
19
+ Pass the same credential used to access this page to all listed endpoints.
20
+ When running locally (http://localhost:${port}) there is no auth required.
21
+
22
+ ---
23
+
24
+ ## Component Showcase
25
+
26
+ Browse and interact with every CMS component and collection using mock data.
27
+ Useful for visualising what content looks like before editing in Contentful.
28
+
29
+ URL: /cms/showcase
30
+ Type: HTML (interactive browser tool)
31
+ Query: ?type=<TypeName>&mode=component|collection&view=single|all&controls=true&debug=true
32
+ Note: Controls panel is closed by default; pass controls=true to open it.
33
+ Note: Pass layout maps from buildComponentMaps/buildCollectionMaps into ShowcasePage
34
+ when using registration showcaseLayout (document|viewport|compact).
35
+
36
+ Render a specific component or collection directly (no browser UI):
37
+
38
+ URL: /cms/showcase/render?type=<TypeName>&mode=<component|collection>
39
+ Example: /cms/showcase/render?type=Hero&mode=component
40
+ Example: /cms/showcase/render?type=Hero&mode=component&backgroundColour=Navy&textColour=Off+White
41
+ Example: /cms/showcase/render?type=Cards+Grid&mode=collection
42
+
43
+ Render all components or collections on one page:
44
+
45
+ URL: /cms/showcase/render-all?mode=<component|collection>
46
+
47
+ ---
48
+
49
+ ## Media library (space inventory)
50
+
51
+ Browse every image, video, Lottie/DotLottie animation asset, and external video entry
52
+ in the Contentful space (Preview API — includes drafts). HTML shows image thumbnails;
53
+ videos/animations/external play on click (one at a time). Not the component showcase.
54
+
55
+ URL: /cms/media
56
+ Type: HTML hub with links to each kind
57
+
58
+ URL: /cms/media/images
59
+ URL: /cms/media/videos
60
+ URL: /cms/media/animations
61
+ URL: /cms/media/external-videos
62
+ Type: HTML thumbnail grids
63
+ Query: ?page=1 (limit fixed at 50 on HTML pages)
64
+
65
+ Machine-readable (same data as HTML pages; non-production only — 404 in production):
66
+
67
+ URL: /cms/media.json?kind=images&page=1&limit=50
68
+ Type: application/json
69
+ kind: images | videos | animations | external-videos
70
+ Cache: private, no-store when using Preview API
71
+
72
+ URL: /cms/media.md?kind=images&page=1&limit=50
73
+ Type: text/markdown
74
+
75
+ ---
76
+
77
+ ## Component Guidelines (LLM-ready)
78
+
79
+ Self-contained documentation of every component and collection: layout, fields,
80
+ behaviour, typography, colours, and impact of content changes.
81
+ Intended for LLMs creating or editing pages — does not require code access.
82
+
83
+ URL: /cms/guidelines.md
84
+ Type: text/markdown (full guidelines document)
85
+
86
+ Single component, collection, or external (smaller context):
87
+
88
+ URL: /cms/guidelines.md?component=<TypeName>
89
+ URL: /cms/guidelines.md?collection=<TypeName>
90
+ URL: /cms/guidelines.md?external=<TypeName>
91
+ Example: /cms/guidelines.md?component=Hero
92
+ Example: /cms/guidelines.md?external=formstack
93
+
94
+ The guidelines are generated periodically and committed to the repository.
95
+ For components not yet documented, the document notes they are pending.
96
+ Regeneration: see docs/cms-guidelines/README.md for the full pipeline.
97
+
98
+ ---
99
+
100
+ ## Discovery API (JSON)
101
+
102
+ Machine-readable dump of all available types, their used fields, colour hints,
103
+ and the site palette. Use this to understand what can be added to a page and
104
+ what fields each type supports — without reading the full guidelines.
105
+
106
+ Single dump (all types):
107
+
108
+ URL: /api/cms/discovery
109
+ Type: application/json
110
+
111
+ Single type (smaller context, for editing one component):
112
+
113
+ URL: /api/cms/discovery?type=component&name=Hero
114
+ URL: /api/cms/discovery?type=collection&name=Cards+Grid
115
+ URL: /api/cms/discovery?type=externalComponent&name=formstack
116
+ Type: application/json
117
+
118
+ The response includes:
119
+ - components[]: name, usedFields[], fieldMetadata (types + enum values), colourHint
120
+ - collections[]: name, usedFields[], cardUsedFields[], fieldMetadata, colourHint
121
+ - externals[]: name, fieldMetadata
122
+ - palette: { background[], text[] }
123
+
124
+ colourHint describes how backgroundColour and textColour apply for this type
125
+ (e.g. "section" = full-width section, "card" = per-card inside collection).
126
+ fieldMetadata provides the CMS field label, type, required flag, and enum values.
127
+
128
+ ---
129
+
130
+ ## CMS Preview
131
+
132
+ Render a single Contentful entry (requires preview token):
133
+
134
+ URL: /cms/preview/render?id=<entryId>
135
+ URL: /cms/preview/render-json (JSON mode)
136
+
137
+ ---
138
+
139
+ ## Other
140
+
141
+ /llms.txt — LLM-friendly index of site content (pages and articles)
142
+ /markdown-index.txt — Complete list of all markdown URLs on this site
143
+ /site-info.md — Factual site summary for support and AI
144
+ /sitemap.xml — Standard XML sitemap
145
+ ${extraContent ? `\n---\n\n${extraContent}` : ''}`;
146
+ return new NextResponse(content, {
147
+ headers: {
148
+ 'Content-Type': 'text/markdown; charset=utf-8',
149
+ 'Cache-Control': 'public, max-age=3600',
150
+ },
151
+ });
152
+ };
153
+ }
154
+ //# sourceMappingURL=createCmsTxtHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createCmsTxtHandler.js","sourceRoot":"","sources":["../../src/route-handlers/createCmsTxtHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAW3C;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAA6B;IAE7B,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;IAEhD,OAAO,SAAS,GAAG;QACjB,MAAM,OAAO,GAAG,+BAA+B,OAAO;;;;;;yCAMjB,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6H3C,YAAY,CAAC,CAAC,CAAC,YAAY,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAE/C,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE;YAC/B,OAAO,EAAE;gBACP,cAAc,EAAE,8BAA8B;gBAC9C,eAAe,EAAE,sBAAsB;aACxC;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,67 @@
1
+ export type FieldMeta = {
2
+ id: string;
3
+ label: string;
4
+ required: boolean;
5
+ type: string;
6
+ summary?: string;
7
+ enumValues?: string[];
8
+ };
9
+ export type ColourHint = {
10
+ colourApplication: string;
11
+ notes?: string;
12
+ };
13
+ export type ComponentEntry = {
14
+ name: string;
15
+ usedFields: string[];
16
+ fieldMetadata?: FieldMeta[];
17
+ colourHint?: ColourHint;
18
+ };
19
+ export type CollectionEntry = {
20
+ name: string;
21
+ usedFields: string[];
22
+ cardUsedFields: string[];
23
+ fieldMetadata?: FieldMeta[];
24
+ colourHint?: ColourHint;
25
+ };
26
+ export type ExternalEntry = {
27
+ name: string;
28
+ fieldMetadata?: FieldMeta[];
29
+ colourHint?: ColourHint;
30
+ };
31
+ export type Palette = {
32
+ background: string[];
33
+ text: string[];
34
+ };
35
+ export type DiscoveryResponse = {
36
+ components: ComponentEntry[];
37
+ collections: CollectionEntry[];
38
+ externals: ExternalEntry[];
39
+ palette: Palette;
40
+ };
41
+ export interface DiscoveryHandlerOptions {
42
+ componentMap: Record<string, unknown>;
43
+ componentFieldsMap: Record<string, Set<string> | undefined>;
44
+ collectionMap: Record<string, unknown>;
45
+ collectionFieldsMap: Record<string, Set<string> | undefined>;
46
+ collectionCardFieldsMap: Record<string, Set<string> | undefined>;
47
+ externalComponentMap: Record<string, unknown>;
48
+ palette: Palette;
49
+ cwd: string;
50
+ }
51
+ /**
52
+ * Creates a Next.js GET handler for the /api/cms/discovery route.
53
+ *
54
+ * Returns a machine-readable dump of all CMS types available in the app:
55
+ * - components[]: name, usedFields[], fieldMetadata, colourHint
56
+ * - collections[]: name, usedFields[], cardUsedFields[], fieldMetadata, colourHint
57
+ * - externals[]: name, fieldMetadata
58
+ * - palette: background and text colours
59
+ *
60
+ * Supports single-type queries: ?type=component&name=Hero
61
+ *
62
+ * fieldMetadata is merged when generated/cms-discovery/field-list.json exists.
63
+ * colourHint is merged when generated/cms-discovery/colour-hints.json exists.
64
+ * Both fall back gracefully when absent.
65
+ */
66
+ export declare function createDiscoveryHandler(options: DiscoveryHandlerOptions): (request: Request) => Response;
67
+ //# sourceMappingURL=createDiscoveryHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createDiscoveryHandler.d.ts","sourceRoot":"","sources":["../../src/route-handlers/createDiscoveryHandler.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAQF,MAAM,MAAM,UAAU,GAAG;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAIF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,WAAW,EAAE,eAAe,EAAE,CAAC;IAC/B,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC;IAC5D,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC;IAC7D,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC;IACjE,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb;AAqCD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,uBAAuB,GAC/B,CAAC,OAAO,EAAE,OAAO,KAAK,QAAQ,CAyKhC"}
@@ -0,0 +1,190 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ import { NextResponse } from 'next/server';
4
+ function loadFieldList(cwd) {
5
+ try {
6
+ const raw = readFileSync(join(cwd, 'generated/cms-discovery/field-list.json'), 'utf8');
7
+ return JSON.parse(raw);
8
+ }
9
+ catch {
10
+ return null;
11
+ }
12
+ }
13
+ function loadColourHints(cwd) {
14
+ try {
15
+ const raw = readFileSync(join(cwd, 'generated/cms-discovery/colour-hints.json'), 'utf8');
16
+ return JSON.parse(raw);
17
+ }
18
+ catch {
19
+ return {};
20
+ }
21
+ }
22
+ /** Return only the fields that appear in usedFields (by field id), in usedFields order */
23
+ function filterFieldMeta(allFields, usedFields) {
24
+ if (!allFields) {
25
+ return undefined;
26
+ }
27
+ const usedSet = new Set(usedFields);
28
+ const filtered = allFields.filter((f) => usedSet.has(f.id));
29
+ if (filtered.length === 0) {
30
+ return undefined;
31
+ }
32
+ const byId = new Map(filtered.map((f) => [f.id, f]));
33
+ return usedFields.map((id) => byId.get(id)).filter((f) => f !== undefined);
34
+ }
35
+ /**
36
+ * Creates a Next.js GET handler for the /api/cms/discovery route.
37
+ *
38
+ * Returns a machine-readable dump of all CMS types available in the app:
39
+ * - components[]: name, usedFields[], fieldMetadata, colourHint
40
+ * - collections[]: name, usedFields[], cardUsedFields[], fieldMetadata, colourHint
41
+ * - externals[]: name, fieldMetadata
42
+ * - palette: background and text colours
43
+ *
44
+ * Supports single-type queries: ?type=component&name=Hero
45
+ *
46
+ * fieldMetadata is merged when generated/cms-discovery/field-list.json exists.
47
+ * colourHint is merged when generated/cms-discovery/colour-hints.json exists.
48
+ * Both fall back gracefully when absent.
49
+ */
50
+ export function createDiscoveryHandler(options) {
51
+ const { componentMap, componentFieldsMap, collectionMap, collectionFieldsMap, collectionCardFieldsMap, externalComponentMap, palette, cwd, } = options;
52
+ // Load generated artifacts once per handler instance
53
+ let fieldListCache;
54
+ let colourHintsCache;
55
+ function getFieldList() {
56
+ if (fieldListCache === undefined) {
57
+ fieldListCache = loadFieldList(cwd);
58
+ }
59
+ return fieldListCache;
60
+ }
61
+ function getColourHints() {
62
+ if (colourHintsCache === undefined) {
63
+ colourHintsCache = loadColourHints(cwd);
64
+ }
65
+ return colourHintsCache;
66
+ }
67
+ function buildComponents() {
68
+ const fl = getFieldList();
69
+ const hints = getColourHints();
70
+ const allComponentFields = fl?.['component']?.fields;
71
+ return Object.keys(componentMap).map((name) => {
72
+ const usedFields = Array.from(componentFieldsMap[name] ?? new Set()).sort();
73
+ const entry = { name, usedFields };
74
+ const fieldMetadata = filterFieldMeta(allComponentFields, usedFields);
75
+ if (fieldMetadata) {
76
+ entry.fieldMetadata = fieldMetadata;
77
+ }
78
+ const hint = hints[name];
79
+ if (hint) {
80
+ entry.colourHint = hint;
81
+ }
82
+ return entry;
83
+ });
84
+ }
85
+ function buildCollections() {
86
+ const fl = getFieldList();
87
+ const hints = getColourHints();
88
+ const allCollectionFields = fl?.['collection']?.fields;
89
+ return Object.keys(collectionMap).map((name) => {
90
+ const usedFields = Array.from(collectionFieldsMap[name] ?? new Set()).sort();
91
+ const cardUsedFields = Array.from(collectionCardFieldsMap[name] ?? new Set()).sort();
92
+ const entry = { name, usedFields, cardUsedFields };
93
+ const fieldMetadata = filterFieldMeta(allCollectionFields, usedFields);
94
+ if (fieldMetadata) {
95
+ entry.fieldMetadata = fieldMetadata;
96
+ }
97
+ const hint = hints[name];
98
+ if (hint) {
99
+ entry.colourHint = hint;
100
+ }
101
+ return entry;
102
+ });
103
+ }
104
+ function buildExternals() {
105
+ const fl = getFieldList();
106
+ const hints = getColourHints();
107
+ const allExternalFields = fl?.['externalComponent']?.fields;
108
+ return Object.keys(externalComponentMap).map((name) => {
109
+ const entry = { name };
110
+ if (allExternalFields) {
111
+ entry.fieldMetadata = allExternalFields;
112
+ }
113
+ const hint = hints[name];
114
+ if (hint) {
115
+ entry.colourHint = hint;
116
+ }
117
+ return entry;
118
+ });
119
+ }
120
+ function handleSingleType(type, name) {
121
+ const fl = getFieldList();
122
+ const hints = getColourHints();
123
+ if (type === 'component') {
124
+ if (!(name in componentMap)) {
125
+ return NextResponse.json({ error: `Component "${name}" not found` }, { status: 404 });
126
+ }
127
+ const usedFields = Array.from(componentFieldsMap[name] ?? new Set()).sort();
128
+ const entry = { name, usedFields };
129
+ const fieldMetadata = filterFieldMeta(fl?.['component']?.fields, usedFields);
130
+ if (fieldMetadata) {
131
+ entry.fieldMetadata = fieldMetadata;
132
+ }
133
+ const hint = hints[name];
134
+ if (hint) {
135
+ entry.colourHint = hint;
136
+ }
137
+ return NextResponse.json({ component: entry, palette });
138
+ }
139
+ if (type === 'collection') {
140
+ if (!(name in collectionMap)) {
141
+ return NextResponse.json({ error: `Collection "${name}" not found` }, { status: 404 });
142
+ }
143
+ const usedFields = Array.from(collectionFieldsMap[name] ?? new Set()).sort();
144
+ const cardUsedFields = Array.from(collectionCardFieldsMap[name] ?? new Set()).sort();
145
+ const entry = { name, usedFields, cardUsedFields };
146
+ const fieldMetadata = filterFieldMeta(fl?.['collection']?.fields, usedFields);
147
+ if (fieldMetadata) {
148
+ entry.fieldMetadata = fieldMetadata;
149
+ }
150
+ const hint = hints[name];
151
+ if (hint) {
152
+ entry.colourHint = hint;
153
+ }
154
+ return NextResponse.json({ collection: entry, palette });
155
+ }
156
+ if (type === 'externalComponent') {
157
+ if (!(name in externalComponentMap)) {
158
+ return NextResponse.json({ error: `External component "${name}" not found` }, { status: 404 });
159
+ }
160
+ const entry = { name };
161
+ const allExternalFields = fl?.['externalComponent']?.fields;
162
+ if (allExternalFields) {
163
+ entry.fieldMetadata = allExternalFields;
164
+ }
165
+ const extHint = hints[name];
166
+ if (extHint) {
167
+ entry.colourHint = extHint;
168
+ }
169
+ return NextResponse.json({ external: entry, palette });
170
+ }
171
+ return NextResponse.json({ error: `Unknown type "${type}". Use component, collection, or externalComponent.` }, { status: 400 });
172
+ }
173
+ // biome-ignore lint/style/useNamingConvention: Route handler name convention
174
+ return function GET(request) {
175
+ const { searchParams } = new URL(request.url);
176
+ const typeParam = searchParams.get('type');
177
+ const nameParam = searchParams.get('name');
178
+ if (typeParam && nameParam) {
179
+ return handleSingleType(typeParam, nameParam);
180
+ }
181
+ const payload = {
182
+ components: buildComponents(),
183
+ collections: buildCollections(),
184
+ externals: buildExternals(),
185
+ palette,
186
+ };
187
+ return NextResponse.json(payload);
188
+ };
189
+ }
190
+ //# sourceMappingURL=createDiscoveryHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createDiscoveryHandler.js","sourceRoot":"","sources":["../../src/route-handlers/createDiscoveryHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAoE3C,SAAS,aAAa,CAAC,GAAW;IAChC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,yCAAyC,CAAC,EAAE,MAAM,CAAC,CAAC;QACvF,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAkB,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,GAAW;IAClC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,2CAA2C,CAAC,EAAE,MAAM,CAAC,CAAC;QACzF,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoB,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,0FAA0F;AAC1F,SAAS,eAAe,CACtB,SAAkC,EAClC,UAAoB;IAEpB,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAkB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;AAC7F,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAgC;IAEhC,MAAM,EACJ,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,EACpB,OAAO,EACP,GAAG,GACJ,GAAG,OAAO,CAAC;IAEZ,qDAAqD;IACrD,IAAI,cAAgD,CAAC;IACrD,IAAI,gBAA6C,CAAC;IAElD,SAAS,YAAY;QACnB,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,SAAS,cAAc;QACrB,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,gBAAgB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,SAAS,eAAe;QACtB,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;QAC/B,MAAM,kBAAkB,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QACrD,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC,CAAC,IAAI,EAAE,CAAC;YACpF,MAAM,KAAK,GAAmB,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;YACnD,MAAM,aAAa,GAAG,eAAe,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;YACtE,IAAI,aAAa,EAAE,CAAC;gBAClB,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;YACtC,CAAC;YACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;YAC1B,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,gBAAgB;QACvB,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;QAC/B,MAAM,mBAAmB,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QACvD,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC,CAAC,IAAI,EAAE,CAAC;YACrF,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7F,MAAM,KAAK,GAAoB,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;YACpE,MAAM,aAAa,GAAG,eAAe,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;YACvE,IAAI,aAAa,EAAE,CAAC;gBAClB,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;YACtC,CAAC;YACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;YAC1B,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,cAAc;QACrB,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;QAC/B,MAAM,iBAAiB,GAAG,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC5D,OAAO,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACpD,MAAM,KAAK,GAAkB,EAAE,IAAI,EAAE,CAAC;YACtC,IAAI,iBAAiB,EAAE,CAAC;gBACtB,KAAK,CAAC,aAAa,GAAG,iBAAiB,CAAC;YAC1C,CAAC;YACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;YAC1B,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,gBAAgB,CAAC,IAAY,EAAE,IAAY;QAClD,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;QAE/B,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,IAAI,IAAI,YAAY,CAAC,EAAE,CAAC;gBAC5B,OAAO,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,IAAI,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YACxF,CAAC;YACD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC,CAAC,IAAI,EAAE,CAAC;YACpF,MAAM,KAAK,GAAmB,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;YACnD,MAAM,aAAa,GAAG,eAAe,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;YAC7E,IAAI,aAAa,EAAE,CAAC;gBAClB,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;YACtC,CAAC;YACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;YAC1B,CAAC;YACD,OAAO,YAAY,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YAC1B,IAAI,CAAC,CAAC,IAAI,IAAI,aAAa,CAAC,EAAE,CAAC;gBAC7B,OAAO,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,IAAI,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YACzF,CAAC;YACD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC,CAAC,IAAI,EAAE,CAAC;YACrF,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7F,MAAM,KAAK,GAAoB,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;YACpE,MAAM,aAAa,GAAG,eAAe,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;YAC9E,IAAI,aAAa,EAAE,CAAC;gBAClB,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;YACtC,CAAC;YACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;YAC1B,CAAC;YACD,OAAO,YAAY,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACjC,IAAI,CAAC,CAAC,IAAI,IAAI,oBAAoB,CAAC,EAAE,CAAC;gBACpC,OAAO,YAAY,CAAC,IAAI,CACtB,EAAE,KAAK,EAAE,uBAAuB,IAAI,aAAa,EAAE,EACnD,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,GAAkB,EAAE,IAAI,EAAE,CAAC;YACtC,MAAM,iBAAiB,GAAG,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;YAC5D,IAAI,iBAAiB,EAAE,CAAC;gBACtB,KAAK,CAAC,aAAa,GAAG,iBAAiB,CAAC;YAC1C,CAAC;YACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,OAAO,EAAE,CAAC;gBACZ,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC;YAC7B,CAAC;YACD,OAAO,YAAY,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,YAAY,CAAC,IAAI,CACtB,EAAE,KAAK,EAAE,iBAAiB,IAAI,qDAAqD,EAAE,EACrF,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,OAAO,SAAS,GAAG,CAAC,OAAgB;QAClC,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAE3C,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;YAC3B,OAAO,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,OAAO,GAAsB;YACjC,UAAU,EAAE,eAAe,EAAE;YAC7B,WAAW,EAAE,gBAAgB,EAAE;YAC/B,SAAS,EAAE,cAAc,EAAE;YAC3B,OAAO;SACR,CAAC;QAEF,OAAO,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,16 @@
1
+ export interface GuidelinesHandlerOptions {
2
+ cwd: string;
3
+ }
4
+ /**
5
+ * Creates a Next.js GET handler for the /cms/guidelines.md route.
6
+ *
7
+ * Serves the committed COMPONENT_GUIDELINES_FOR_LLM.md document as Markdown (Content-Type: text/markdown).
8
+ * The document is self-contained: no source code access is required to read it.
9
+ *
10
+ * Optional query params:
11
+ * ?component=Hero — returns only the Hero section
12
+ * ?collection=Cards+Grid — returns only the Cards Grid section
13
+ * ?external=formstack — returns only the formstack section
14
+ */
15
+ export declare function createGuidelinesHandler(options: GuidelinesHandlerOptions): (request: Request) => Response;
16
+ //# sourceMappingURL=createGuidelinesHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createGuidelinesHandler.d.ts","sourceRoot":"","sources":["../../src/route-handlers/createGuidelinesHandler.ts"],"names":[],"mappings":"AA2CA,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,wBAAwB,GAChC,CAAC,OAAO,EAAE,OAAO,KAAK,QAAQ,CA2DhC"}
@@ -0,0 +1,100 @@
1
+ import { existsSync, readFileSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ import { NextResponse } from 'next/server';
4
+ /**
5
+ * Extract the section for a given type name from the merged guidelines document.
6
+ * Returns everything from "# <TypeName>" up to (but not including) the next "---"
7
+ * separator. Stops only at fragment boundaries, not at ## headings inside the section.
8
+ */
9
+ function extractSection(content, typeName) {
10
+ const escapedName = typeName.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
11
+ const sectionPattern = new RegExp(`(^# ${escapedName}\\s*$[\\s\\S]*?)(?=^---$)`, 'mi');
12
+ const match = sectionPattern.exec(content);
13
+ if (match?.[1]) {
14
+ return match[1].trim();
15
+ }
16
+ // Fallback: case-insensitive partial match
17
+ const lowerName = typeName.toLowerCase();
18
+ const lines = content.split('\n');
19
+ let startLine = -1;
20
+ for (let i = 0; i < lines.length; i++) {
21
+ const line = lines[i] ?? '';
22
+ if (line.startsWith('# ') && line.toLowerCase().includes(lowerName)) {
23
+ startLine = i;
24
+ break;
25
+ }
26
+ }
27
+ if (startLine === -1) {
28
+ return null;
29
+ }
30
+ const sectionLines = [];
31
+ for (let i = startLine; i < lines.length; i++) {
32
+ const line = lines[i] ?? '';
33
+ if (i !== startLine && line === '---') {
34
+ break;
35
+ }
36
+ sectionLines.push(line);
37
+ }
38
+ return sectionLines.join('\n').trim();
39
+ }
40
+ /**
41
+ * Creates a Next.js GET handler for the /cms/guidelines.md route.
42
+ *
43
+ * Serves the committed COMPONENT_GUIDELINES_FOR_LLM.md document as Markdown (Content-Type: text/markdown).
44
+ * The document is self-contained: no source code access is required to read it.
45
+ *
46
+ * Optional query params:
47
+ * ?component=Hero — returns only the Hero section
48
+ * ?collection=Cards+Grid — returns only the Cards Grid section
49
+ * ?external=formstack — returns only the formstack section
50
+ */
51
+ export function createGuidelinesHandler(options) {
52
+ const guidelinesPath = join(options.cwd, 'docs/cms-guidelines/COMPONENT_GUIDELINES_FOR_LLM.md');
53
+ function loadGuidelines() {
54
+ if (!existsSync(guidelinesPath)) {
55
+ return null;
56
+ }
57
+ try {
58
+ return readFileSync(guidelinesPath, 'utf8');
59
+ }
60
+ catch {
61
+ return null;
62
+ }
63
+ }
64
+ return function GET(request) {
65
+ const { searchParams } = new URL(request.url);
66
+ const component = searchParams.get('component');
67
+ const collection = searchParams.get('collection');
68
+ const external = searchParams.get('external');
69
+ const typeName = component ?? collection ?? external;
70
+ const guidelines = loadGuidelines();
71
+ if (!guidelines) {
72
+ return new NextResponse('# CMS Guidelines not yet generated\n\nRun the guideline generation pipeline to produce this document.\nSee docs/cms-guidelines/README.md for instructions.', {
73
+ status: 404,
74
+ headers: { 'Content-Type': 'text/markdown; charset=utf-8' },
75
+ });
76
+ }
77
+ if (typeName) {
78
+ const section = extractSection(guidelines, typeName);
79
+ if (!section) {
80
+ return new NextResponse(`# Not found\n\nNo guideline found for "${typeName}".\n\nAvailable at /cms/guidelines.md (full document).`, {
81
+ status: 404,
82
+ headers: { 'Content-Type': 'text/markdown; charset=utf-8' },
83
+ });
84
+ }
85
+ return new NextResponse(section, {
86
+ headers: {
87
+ 'Content-Type': 'text/markdown; charset=utf-8',
88
+ 'Cache-Control': 'public, max-age=3600',
89
+ },
90
+ });
91
+ }
92
+ return new NextResponse(guidelines, {
93
+ headers: {
94
+ 'Content-Type': 'text/markdown; charset=utf-8',
95
+ 'Cache-Control': 'public, max-age=3600',
96
+ },
97
+ });
98
+ };
99
+ }
100
+ //# sourceMappingURL=createGuidelinesHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createGuidelinesHandler.js","sourceRoot":"","sources":["../../src/route-handlers/createGuidelinesHandler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { type ContentfulConfig } from '@se-studio/contentful-rest-api';
2
+ export type MediaLibraryHandlerOptions = {
3
+ /** Resolve Contentful config (prefer preview token for draft assets). */
4
+ getConfig: (preview?: boolean) => ContentfulConfig;
5
+ /**
6
+ * Required. When true, handlers return 404 (same intent as CmsDevLayout).
7
+ * Route handlers do not run React layouts — pass the app `isProduction` flag.
8
+ * Fail closed if omitted at runtime (optional for older call sites until rebuild).
9
+ */
10
+ isProduction: boolean;
11
+ /** Default true — include draft assets via Preview API. */
12
+ preview?: boolean;
13
+ };
14
+ /**
15
+ * Creates GET handlers for `/cms/media.json` and `/cms/media.md` agent surfaces.
16
+ */
17
+ export declare function createMediaLibraryJsonHandler(options: MediaLibraryHandlerOptions): (request: Request) => Promise<Response>;
18
+ export declare function createMediaLibraryMarkdownHandler(options: MediaLibraryHandlerOptions): (request: Request) => Promise<Response>;
19
+ //# sourceMappingURL=createMediaLibraryHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createMediaLibraryHandler.d.ts","sourceRoot":"","sources":["../../src/route-handlers/createMediaLibraryHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EAKtB,MAAM,gCAAgC,CAAC;AAGxC,MAAM,MAAM,0BAA0B,GAAG;IACvC,yEAAyE;IACzE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,gBAAgB,CAAC;IACnD;;;;OAIG;IACH,YAAY,EAAE,OAAO,CAAC;IACtB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AA+BF;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,0BAA0B,IAKrD,SAAS,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC,CAuB/D;AAED,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,0BAA0B,IAIzD,SAAS,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC,CA2B/D"}