@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.
- package/ANALYTICS.md +160 -0
- package/CHANGELOG.md +2565 -0
- package/CMS_INFRASTRUCTURE.md +370 -0
- package/CONSENT.md +121 -0
- package/README.md +638 -0
- package/dist/CmsRendererConfig.d.ts +259 -0
- package/dist/CmsRendererConfig.d.ts.map +1 -0
- package/dist/CmsRendererConfig.js +2 -0
- package/dist/CmsRendererConfig.js.map +1 -0
- package/dist/__mocks__/server-only.d.ts +2 -0
- package/dist/__mocks__/server-only.d.ts.map +1 -0
- package/dist/__mocks__/server-only.js +2 -0
- package/dist/__mocks__/server-only.js.map +1 -0
- package/dist/analytics/AnalyticsPageTracker.d.ts +11 -0
- package/dist/analytics/AnalyticsPageTracker.d.ts.map +1 -0
- package/dist/analytics/AnalyticsPageTracker.js +26 -0
- package/dist/analytics/AnalyticsPageTracker.js.map +1 -0
- package/dist/analytics/AnalyticsProvider.d.ts +18 -0
- package/dist/analytics/AnalyticsProvider.d.ts.map +1 -0
- package/dist/analytics/AnalyticsProvider.js +48 -0
- package/dist/analytics/AnalyticsProvider.js.map +1 -0
- package/dist/analytics/adapters/CompositeAnalyticsAdapter.d.ts +13 -0
- package/dist/analytics/adapters/CompositeAnalyticsAdapter.d.ts.map +1 -0
- package/dist/analytics/adapters/CompositeAnalyticsAdapter.js +35 -0
- package/dist/analytics/adapters/CompositeAnalyticsAdapter.js.map +1 -0
- package/dist/analytics/adapters/ConsentAwareAdapter.d.ts +20 -0
- package/dist/analytics/adapters/ConsentAwareAdapter.d.ts.map +1 -0
- package/dist/analytics/adapters/ConsentAwareAdapter.js +35 -0
- package/dist/analytics/adapters/ConsentAwareAdapter.js.map +1 -0
- package/dist/analytics/adapters/ConsoleAnalyticsAdapter.d.ts +12 -0
- package/dist/analytics/adapters/ConsoleAnalyticsAdapter.d.ts.map +1 -0
- package/dist/analytics/adapters/ConsoleAnalyticsAdapter.js +22 -0
- package/dist/analytics/adapters/ConsoleAnalyticsAdapter.js.map +1 -0
- package/dist/analytics/adapters/GoogleTagManagerAdapter.d.ts +53 -0
- package/dist/analytics/adapters/GoogleTagManagerAdapter.d.ts.map +1 -0
- package/dist/analytics/adapters/GoogleTagManagerAdapter.js +134 -0
- package/dist/analytics/adapters/GoogleTagManagerAdapter.js.map +1 -0
- package/dist/analytics/adapters/index.d.ts +5 -0
- package/dist/analytics/adapters/index.d.ts.map +1 -0
- package/dist/analytics/adapters/index.js +5 -0
- package/dist/analytics/adapters/index.js.map +1 -0
- package/dist/analytics/types.d.ts +42 -0
- package/dist/analytics/types.d.ts.map +1 -0
- package/dist/analytics/types.js +2 -0
- package/dist/analytics/types.js.map +1 -0
- package/dist/analytics/useAnalytics.d.ts +44 -0
- package/dist/analytics/useAnalytics.d.ts.map +1 -0
- package/dist/analytics/useAnalytics.js +69 -0
- package/dist/analytics/useAnalytics.js.map +1 -0
- package/dist/analytics/video/classifySeek.d.ts +15 -0
- package/dist/analytics/video/classifySeek.d.ts.map +1 -0
- package/dist/analytics/video/classifySeek.js +32 -0
- package/dist/analytics/video/classifySeek.js.map +1 -0
- package/dist/analytics/video/createVideoEngagementSession.d.ts +51 -0
- package/dist/analytics/video/createVideoEngagementSession.d.ts.map +1 -0
- package/dist/analytics/video/createVideoEngagementSession.js +225 -0
- package/dist/analytics/video/createVideoEngagementSession.js.map +1 -0
- package/dist/analytics/video/index.d.ts +6 -0
- package/dist/analytics/video/index.d.ts.map +1 -0
- package/dist/analytics/video/index.js +6 -0
- package/dist/analytics/video/index.js.map +1 -0
- package/dist/analytics/video/loadYouTubeIframeApi.d.ts +50 -0
- package/dist/analytics/video/loadYouTubeIframeApi.d.ts.map +1 -0
- package/dist/analytics/video/loadYouTubeIframeApi.js +52 -0
- package/dist/analytics/video/loadYouTubeIframeApi.js.map +1 -0
- package/dist/analytics/video/useHtml5VideoEngagement.d.ts +8 -0
- package/dist/analytics/video/useHtml5VideoEngagement.d.ts.map +1 -0
- package/dist/analytics/video/useHtml5VideoEngagement.js +67 -0
- package/dist/analytics/video/useHtml5VideoEngagement.js.map +1 -0
- package/dist/analytics/video/useVideoEngagement.d.ts +19 -0
- package/dist/analytics/video/useVideoEngagement.d.ts.map +1 -0
- package/dist/analytics/video/useVideoEngagement.js +80 -0
- package/dist/analytics/video/useVideoEngagement.js.map +1 -0
- package/dist/analytics/video/videoEngagementTypes.d.ts +52 -0
- package/dist/analytics/video/videoEngagementTypes.d.ts.map +1 -0
- package/dist/analytics/video/videoEngagementTypes.js +45 -0
- package/dist/analytics/video/videoEngagementTypes.js.map +1 -0
- package/dist/app-helpers.d.ts +196 -0
- package/dist/app-helpers.d.ts.map +1 -0
- package/dist/app-helpers.js +322 -0
- package/dist/app-helpers.js.map +1 -0
- package/dist/cmsRegistration.d.ts +302 -0
- package/dist/cmsRegistration.d.ts.map +1 -0
- package/dist/cmsRegistration.js +242 -0
- package/dist/cmsRegistration.js.map +1 -0
- package/dist/components/Animation.d.ts +3 -0
- package/dist/components/Animation.d.ts.map +1 -0
- package/dist/components/Animation.js +2 -0
- package/dist/components/Animation.js.map +1 -0
- package/dist/components/AnimationComponent.d.ts +9 -0
- package/dist/components/AnimationComponent.d.ts.map +1 -0
- package/dist/components/AnimationComponent.js +18 -0
- package/dist/components/AnimationComponent.js.map +1 -0
- package/dist/components/ClientMonitor.d.ts +7 -0
- package/dist/components/ClientMonitor.d.ts.map +1 -0
- package/dist/components/ClientMonitor.js +368 -0
- package/dist/components/ClientMonitor.js.map +1 -0
- package/dist/components/CmsCollection.d.ts +68 -0
- package/dist/components/CmsCollection.d.ts.map +1 -0
- package/dist/components/CmsCollection.js +68 -0
- package/dist/components/CmsCollection.js.map +1 -0
- package/dist/components/CmsComponent.d.ts +68 -0
- package/dist/components/CmsComponent.d.ts.map +1 -0
- package/dist/components/CmsComponent.js +68 -0
- package/dist/components/CmsComponent.js.map +1 -0
- package/dist/components/CmsContent.d.ts +105 -0
- package/dist/components/CmsContent.d.ts.map +1 -0
- package/dist/components/CmsContent.js +200 -0
- package/dist/components/CmsContent.js.map +1 -0
- package/dist/components/CmsConversionErrors.d.ts +8 -0
- package/dist/components/CmsConversionErrors.d.ts.map +1 -0
- package/dist/components/CmsConversionErrors.js +51 -0
- package/dist/components/CmsConversionErrors.js.map +1 -0
- package/dist/components/CmsDataError.d.ts +14 -0
- package/dist/components/CmsDataError.d.ts.map +1 -0
- package/dist/components/CmsDataError.js +7 -0
- package/dist/components/CmsDataError.js.map +1 -0
- package/dist/components/CmsDevLayout.d.ts +23 -0
- package/dist/components/CmsDevLayout.d.ts.map +1 -0
- package/dist/components/CmsDevLayout.js +26 -0
- package/dist/components/CmsDevLayout.js.map +1 -0
- package/dist/components/CmsEmbeddedContent.d.ts +10 -0
- package/dist/components/CmsEmbeddedContent.d.ts.map +1 -0
- package/dist/components/CmsEmbeddedContent.js +51 -0
- package/dist/components/CmsEmbeddedContent.js.map +1 -0
- package/dist/components/CmsExternalComponent.d.ts +63 -0
- package/dist/components/CmsExternalComponent.d.ts.map +1 -0
- package/dist/components/CmsExternalComponent.js +68 -0
- package/dist/components/CmsExternalComponent.js.map +1 -0
- package/dist/components/CmsRoutesLayout.d.ts +16 -0
- package/dist/components/CmsRoutesLayout.d.ts.map +1 -0
- package/dist/components/CmsRoutesLayout.js +17 -0
- package/dist/components/CmsRoutesLayout.js.map +1 -0
- package/dist/components/DefaultExternalVideoPlayButton.d.ts +3 -0
- package/dist/components/DefaultExternalVideoPlayButton.d.ts.map +1 -0
- package/dist/components/DefaultExternalVideoPlayButton.js +6 -0
- package/dist/components/DefaultExternalVideoPlayButton.js.map +1 -0
- package/dist/components/DotLottieAnimationComponent.d.ts +16 -0
- package/dist/components/DotLottieAnimationComponent.d.ts.map +1 -0
- package/dist/components/DotLottieAnimationComponent.js +88 -0
- package/dist/components/DotLottieAnimationComponent.js.map +1 -0
- package/dist/components/ErrorBoundary.d.ts +19 -0
- package/dist/components/ErrorBoundary.d.ts.map +1 -0
- package/dist/components/ErrorBoundary.js +32 -0
- package/dist/components/ErrorBoundary.js.map +1 -0
- package/dist/components/ExternalVideoComponent.d.ts +9 -0
- package/dist/components/ExternalVideoComponent.d.ts.map +1 -0
- package/dist/components/ExternalVideoComponent.js +39 -0
- package/dist/components/ExternalVideoComponent.js.map +1 -0
- package/dist/components/ExternalVimeoEmbed.d.ts +12 -0
- package/dist/components/ExternalVimeoEmbed.d.ts.map +1 -0
- package/dist/components/ExternalVimeoEmbed.js +211 -0
- package/dist/components/ExternalVimeoEmbed.js.map +1 -0
- package/dist/components/ExternalYouTubeEmbed.d.ts +9 -0
- package/dist/components/ExternalYouTubeEmbed.d.ts.map +1 -0
- package/dist/components/ExternalYouTubeEmbed.js +220 -0
- package/dist/components/ExternalYouTubeEmbed.js.map +1 -0
- package/dist/components/HeroLoopVideo.d.ts +13 -0
- package/dist/components/HeroLoopVideo.d.ts.map +1 -0
- package/dist/components/HeroLoopVideo.js +146 -0
- package/dist/components/HeroLoopVideo.js.map +1 -0
- package/dist/components/HtmlComponent.d.ts +21 -0
- package/dist/components/HtmlComponent.d.ts.map +1 -0
- package/dist/components/HtmlComponent.js +34 -0
- package/dist/components/HtmlComponent.js.map +1 -0
- package/dist/components/HtmlComponentScript.d.ts +12 -0
- package/dist/components/HtmlComponentScript.d.ts.map +1 -0
- package/dist/components/HtmlComponentScript.js +12 -0
- package/dist/components/HtmlComponentScript.js.map +1 -0
- package/dist/components/ImageComponent.d.ts +7 -0
- package/dist/components/ImageComponent.d.ts.map +1 -0
- package/dist/components/ImageComponent.js +20 -0
- package/dist/components/ImageComponent.js.map +1 -0
- package/dist/components/ImageKitClientVideo.d.ts +16 -0
- package/dist/components/ImageKitClientVideo.d.ts.map +1 -0
- package/dist/components/ImageKitClientVideo.js +211 -0
- package/dist/components/ImageKitClientVideo.js.map +1 -0
- package/dist/components/ImageKitHlsVideoClient.d.ts +21 -0
- package/dist/components/ImageKitHlsVideoClient.d.ts.map +1 -0
- package/dist/components/ImageKitHlsVideoClient.js +167 -0
- package/dist/components/ImageKitHlsVideoClient.js.map +1 -0
- package/dist/components/LazyAnimation.d.ts +16 -0
- package/dist/components/LazyAnimation.d.ts.map +1 -0
- package/dist/components/LazyAnimation.js +90 -0
- package/dist/components/LazyAnimation.js.map +1 -0
- package/dist/components/LazyVideo.d.ts +19 -0
- package/dist/components/LazyVideo.d.ts.map +1 -0
- package/dist/components/LazyVideo.js +134 -0
- package/dist/components/LazyVideo.js.map +1 -0
- package/dist/components/LocalVideo.d.ts +10 -0
- package/dist/components/LocalVideo.d.ts.map +1 -0
- package/dist/components/LocalVideo.js +66 -0
- package/dist/components/LocalVideo.js.map +1 -0
- package/dist/components/LocalVideoPlayChrome.d.ts +20 -0
- package/dist/components/LocalVideoPlayChrome.d.ts.map +1 -0
- package/dist/components/LocalVideoPlayChrome.js +22 -0
- package/dist/components/LocalVideoPlayChrome.js.map +1 -0
- package/dist/components/LocalVideoPlayOverlay.d.ts +19 -0
- package/dist/components/LocalVideoPlayOverlay.d.ts.map +1 -0
- package/dist/components/LocalVideoPlayOverlay.js +49 -0
- package/dist/components/LocalVideoPlayOverlay.js.map +1 -0
- package/dist/components/PictureComponent.d.ts +7 -0
- package/dist/components/PictureComponent.d.ts.map +1 -0
- package/dist/components/PictureComponent.js +29 -0
- package/dist/components/PictureComponent.js.map +1 -0
- package/dist/components/Preview.d.ts +2 -0
- package/dist/components/Preview.d.ts.map +1 -0
- package/dist/components/Preview.js +52 -0
- package/dist/components/Preview.js.map +1 -0
- package/dist/components/StructuredData.d.ts +20 -0
- package/dist/components/StructuredData.d.ts.map +1 -0
- package/dist/components/StructuredData.js +116 -0
- package/dist/components/StructuredData.js.map +1 -0
- package/dist/components/SvgComponent.d.ts +7 -0
- package/dist/components/SvgComponent.d.ts.map +1 -0
- package/dist/components/SvgComponent.js +10 -0
- package/dist/components/SvgComponent.js.map +1 -0
- package/dist/components/SvgIconComponent.d.ts +20 -0
- package/dist/components/SvgIconComponent.d.ts.map +1 -0
- package/dist/components/SvgIconComponent.js +23 -0
- package/dist/components/SvgIconComponent.js.map +1 -0
- package/dist/components/SvgImageComponent.d.ts +7 -0
- package/dist/components/SvgImageComponent.d.ts.map +1 -0
- package/dist/components/SvgImageComponent.js +10 -0
- package/dist/components/SvgImageComponent.js.map +1 -0
- package/dist/components/SvgSpriteSheet.d.ts +24 -0
- package/dist/components/SvgSpriteSheet.d.ts.map +1 -0
- package/dist/components/SvgSpriteSheet.js +37 -0
- package/dist/components/SvgSpriteSheet.js.map +1 -0
- package/dist/components/Video.d.ts +11 -0
- package/dist/components/Video.d.ts.map +1 -0
- package/dist/components/Video.js +2 -0
- package/dist/components/Video.js.map +1 -0
- package/dist/components/VideoComponent.d.ts +10 -0
- package/dist/components/VideoComponent.d.ts.map +1 -0
- package/dist/components/VideoComponent.js +22 -0
- package/dist/components/VideoComponent.js.map +1 -0
- package/dist/components/Visual.d.ts +43 -0
- package/dist/components/Visual.d.ts.map +1 -0
- package/dist/components/Visual.js +60 -0
- package/dist/components/Visual.js.map +1 -0
- package/dist/components/VisualComponent.d.ts +83 -0
- package/dist/components/VisualComponent.d.ts.map +1 -0
- package/dist/components/VisualComponent.js +136 -0
- package/dist/components/VisualComponent.js.map +1 -0
- package/dist/components/banner/BannerClient.d.ts +13 -0
- package/dist/components/banner/BannerClient.d.ts.map +1 -0
- package/dist/components/banner/BannerClient.js +38 -0
- package/dist/components/banner/BannerClient.js.map +1 -0
- package/dist/components/banner/BannerManager.d.ts +26 -0
- package/dist/components/banner/BannerManager.d.ts.map +1 -0
- package/dist/components/banner/BannerManager.js +35 -0
- package/dist/components/banner/BannerManager.js.map +1 -0
- package/dist/components/banner/BannerTargeting.d.ts +20 -0
- package/dist/components/banner/BannerTargeting.d.ts.map +1 -0
- package/dist/components/banner/BannerTargeting.js +204 -0
- package/dist/components/banner/BannerTargeting.js.map +1 -0
- package/dist/components/banner/bannerVisibility.d.ts +20 -0
- package/dist/components/banner/bannerVisibility.d.ts.map +1 -0
- package/dist/components/banner/bannerVisibility.js +73 -0
- package/dist/components/banner/bannerVisibility.js.map +1 -0
- package/dist/components/clientMonitorVideos.d.ts +6 -0
- package/dist/components/clientMonitorVideos.d.ts.map +1 -0
- package/dist/components/clientMonitorVideos.js +116 -0
- package/dist/components/clientMonitorVideos.js.map +1 -0
- package/dist/components/dotlottieWasm.d.ts +19 -0
- package/dist/components/dotlottieWasm.d.ts.map +1 -0
- package/dist/components/dotlottieWasm.js +62 -0
- package/dist/components/dotlottieWasm.js.map +1 -0
- package/dist/components/heroLoop.d.ts +22 -0
- package/dist/components/heroLoop.d.ts.map +1 -0
- package/dist/components/heroLoop.js +24 -0
- package/dist/components/heroLoop.js.map +1 -0
- package/dist/components/svg.d.ts +3 -0
- package/dist/components/svg.d.ts.map +1 -0
- package/dist/components/svg.js +64 -0
- package/dist/components/svg.js.map +1 -0
- package/dist/context/ExternalVideoPlayButtonContext.d.ts +7 -0
- package/dist/context/ExternalVideoPlayButtonContext.d.ts.map +1 -0
- package/dist/context/ExternalVideoPlayButtonContext.js +11 -0
- package/dist/context/ExternalVideoPlayButtonContext.js.map +1 -0
- package/dist/elements/RtfOrString.d.ts +26 -0
- package/dist/elements/RtfOrString.d.ts.map +1 -0
- package/dist/elements/RtfOrString.js +13 -0
- package/dist/elements/RtfOrString.js.map +1 -0
- package/dist/elements/TrackedLink.d.ts +25 -0
- package/dist/elements/TrackedLink.d.ts.map +1 -0
- package/dist/elements/TrackedLink.js +96 -0
- package/dist/elements/TrackedLink.js.map +1 -0
- package/dist/elements/UtmLink.d.ts +7 -0
- package/dist/elements/UtmLink.d.ts.map +1 -0
- package/dist/elements/UtmLink.js +24 -0
- package/dist/elements/UtmLink.js.map +1 -0
- package/dist/framework/BackgroundMedia.d.ts +12 -0
- package/dist/framework/BackgroundMedia.d.ts.map +1 -0
- package/dist/framework/BackgroundMedia.js +23 -0
- package/dist/framework/BackgroundMedia.js.map +1 -0
- package/dist/framework/ComponentErrorIndicator.d.ts +12 -0
- package/dist/framework/ComponentErrorIndicator.d.ts.map +1 -0
- package/dist/framework/ComponentErrorIndicator.js +29 -0
- package/dist/framework/ComponentErrorIndicator.js.map +1 -0
- package/dist/framework/ContainedVisual.d.ts +12 -0
- package/dist/framework/ContainedVisual.d.ts.map +1 -0
- package/dist/framework/ContainedVisual.js +14 -0
- package/dist/framework/ContainedVisual.js.map +1 -0
- package/dist/framework/ResponsiveVisual.d.ts +14 -0
- package/dist/framework/ResponsiveVisual.d.ts.map +1 -0
- package/dist/framework/ResponsiveVisual.js +14 -0
- package/dist/framework/ResponsiveVisual.js.map +1 -0
- package/dist/framework/componentErrors.d.ts +19 -0
- package/dist/framework/componentErrors.d.ts.map +1 -0
- package/dist/framework/componentErrors.js +31 -0
- package/dist/framework/componentErrors.js.map +1 -0
- package/dist/hooks/useClickTracking.d.ts +58 -0
- package/dist/hooks/useClickTracking.d.ts.map +1 -0
- package/dist/hooks/useClickTracking.js +48 -0
- package/dist/hooks/useClickTracking.js.map +1 -0
- package/dist/hooks/useDocumentVisible.d.ts +2 -0
- package/dist/hooks/useDocumentVisible.d.ts.map +1 -0
- package/dist/hooks/useDocumentVisible.js +17 -0
- package/dist/hooks/useDocumentVisible.js.map +1 -0
- package/dist/hooks/visibility.d.ts +14 -0
- package/dist/hooks/visibility.d.ts.map +1 -0
- package/dist/hooks/visibility.js +122 -0
- package/dist/hooks/visibility.js.map +1 -0
- package/dist/index.d.ts +134 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +120 -0
- package/dist/index.js.map +1 -0
- package/dist/media-library/MediaLibraryAnimationPlayer.d.ts +9 -0
- package/dist/media-library/MediaLibraryAnimationPlayer.d.ts.map +1 -0
- package/dist/media-library/MediaLibraryAnimationPlayer.js +99 -0
- package/dist/media-library/MediaLibraryAnimationPlayer.js.map +1 -0
- package/dist/media-library/MediaLibraryGrid.d.ts +5 -0
- package/dist/media-library/MediaLibraryGrid.d.ts.map +1 -0
- package/dist/media-library/MediaLibraryGrid.js +88 -0
- package/dist/media-library/MediaLibraryGrid.js.map +1 -0
- package/dist/media-library/MediaLibraryPage.d.ts +17 -0
- package/dist/media-library/MediaLibraryPage.d.ts.map +1 -0
- package/dist/media-library/MediaLibraryPage.js +30 -0
- package/dist/media-library/MediaLibraryPage.js.map +1 -0
- package/dist/media-library/index.d.ts +4 -0
- package/dist/media-library/index.d.ts.map +1 -0
- package/dist/media-library/index.js +4 -0
- package/dist/media-library/index.js.map +1 -0
- package/dist/media-library/types.d.ts +8 -0
- package/dist/media-library/types.d.ts.map +1 -0
- package/dist/media-library/types.js +12 -0
- package/dist/media-library/types.js.map +1 -0
- package/dist/route-handlers/createCmsTxtHandler.d.ts +19 -0
- package/dist/route-handlers/createCmsTxtHandler.d.ts.map +1 -0
- package/dist/route-handlers/createCmsTxtHandler.js +154 -0
- package/dist/route-handlers/createCmsTxtHandler.js.map +1 -0
- package/dist/route-handlers/createDiscoveryHandler.d.ts +67 -0
- package/dist/route-handlers/createDiscoveryHandler.d.ts.map +1 -0
- package/dist/route-handlers/createDiscoveryHandler.js +190 -0
- package/dist/route-handlers/createDiscoveryHandler.js.map +1 -0
- package/dist/route-handlers/createGuidelinesHandler.d.ts +16 -0
- package/dist/route-handlers/createGuidelinesHandler.d.ts.map +1 -0
- package/dist/route-handlers/createGuidelinesHandler.js +100 -0
- package/dist/route-handlers/createGuidelinesHandler.js.map +1 -0
- package/dist/route-handlers/createMediaLibraryHandler.d.ts +19 -0
- package/dist/route-handlers/createMediaLibraryHandler.d.ts.map +1 -0
- package/dist/route-handlers/createMediaLibraryHandler.js +76 -0
- package/dist/route-handlers/createMediaLibraryHandler.js.map +1 -0
- package/dist/route-handlers/index.d.ts +9 -0
- package/dist/route-handlers/index.d.ts.map +1 -0
- package/dist/route-handlers/index.js +5 -0
- package/dist/route-handlers/index.js.map +1 -0
- package/dist/rtf/rtf.d.ts +66 -0
- package/dist/rtf/rtf.d.ts.map +1 -0
- package/dist/rtf/rtf.js +183 -0
- package/dist/rtf/rtf.js.map +1 -0
- package/dist/server/index.d.ts +20 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +11 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/merge-prepared-page-context.d.ts +8 -0
- package/dist/server/merge-prepared-page-context.d.ts.map +1 -0
- package/dist/server/merge-prepared-page-context.js +11 -0
- package/dist/server/merge-prepared-page-context.js.map +1 -0
- package/dist/server/page-test-merge.d.ts +7 -0
- package/dist/server/page-test-merge.d.ts.map +1 -0
- package/dist/server/page-test-merge.js +12 -0
- package/dist/server/page-test-merge.js.map +1 -0
- package/dist/server/route-handlers-types.d.ts +124 -0
- package/dist/server/route-handlers-types.d.ts.map +1 -0
- package/dist/server/route-handlers-types.js +2 -0
- package/dist/server/route-handlers-types.js.map +1 -0
- package/dist/server/route-handlers.d.ts +99 -0
- package/dist/server/route-handlers.d.ts.map +1 -0
- package/dist/server/route-handlers.js +1268 -0
- package/dist/server/route-handlers.js.map +1 -0
- package/dist/server/route-types.d.ts +78 -0
- package/dist/server/route-types.d.ts.map +1 -0
- package/dist/server/route-types.js +4 -0
- package/dist/server/route-types.js.map +1 -0
- package/dist/server/tag-index-guards.d.ts +33 -0
- package/dist/server/tag-index-guards.d.ts.map +1 -0
- package/dist/server/tag-index-guards.js +33 -0
- package/dist/server/tag-index-guards.js.map +1 -0
- package/dist/server/template-route-handlers.d.ts +7 -0
- package/dist/server/template-route-handlers.d.ts.map +1 -0
- package/dist/server/template-route-handlers.js +35 -0
- package/dist/server/template-route-handlers.js.map +1 -0
- package/dist/showcase/components/AllViewPanel.d.ts +7 -0
- package/dist/showcase/components/AllViewPanel.d.ts.map +1 -0
- package/dist/showcase/components/AllViewPanel.js +55 -0
- package/dist/showcase/components/AllViewPanel.js.map +1 -0
- package/dist/showcase/components/Controls.d.ts +15 -0
- package/dist/showcase/components/Controls.d.ts.map +1 -0
- package/dist/showcase/components/Controls.js +71 -0
- package/dist/showcase/components/Controls.js.map +1 -0
- package/dist/showcase/components/ControlsWrapper.d.ts +15 -0
- package/dist/showcase/components/ControlsWrapper.d.ts.map +1 -0
- package/dist/showcase/components/ControlsWrapper.js +9 -0
- package/dist/showcase/components/ControlsWrapper.js.map +1 -0
- package/dist/showcase/components/IframeHeightReporter.d.ts +13 -0
- package/dist/showcase/components/IframeHeightReporter.d.ts.map +1 -0
- package/dist/showcase/components/IframeHeightReporter.js +51 -0
- package/dist/showcase/components/IframeHeightReporter.js.map +1 -0
- package/dist/showcase/components/PreviewPanel.d.ts +18 -0
- package/dist/showcase/components/PreviewPanel.d.ts.map +1 -0
- package/dist/showcase/components/PreviewPanel.js +52 -0
- package/dist/showcase/components/PreviewPanel.js.map +1 -0
- package/dist/showcase/components/ScaledIframe.d.ts +22 -0
- package/dist/showcase/components/ScaledIframe.d.ts.map +1 -0
- package/dist/showcase/components/ScaledIframe.js +41 -0
- package/dist/showcase/components/ScaledIframe.js.map +1 -0
- package/dist/showcase/components/ShowcaseAllRenderPage.d.ts +21 -0
- package/dist/showcase/components/ShowcaseAllRenderPage.d.ts.map +1 -0
- package/dist/showcase/components/ShowcaseAllRenderPage.js +36 -0
- package/dist/showcase/components/ShowcaseAllRenderPage.js.map +1 -0
- package/dist/showcase/components/ShowcaseAnimationRoot.d.ts +8 -0
- package/dist/showcase/components/ShowcaseAnimationRoot.d.ts.map +1 -0
- package/dist/showcase/components/ShowcaseAnimationRoot.js +10 -0
- package/dist/showcase/components/ShowcaseAnimationRoot.js.map +1 -0
- package/dist/showcase/components/ShowcasePage.d.ts +25 -0
- package/dist/showcase/components/ShowcasePage.d.ts.map +1 -0
- package/dist/showcase/components/ShowcasePage.js +31 -0
- package/dist/showcase/components/ShowcasePage.js.map +1 -0
- package/dist/showcase/components/ShowcaseRenderPage.d.ts +21 -0
- package/dist/showcase/components/ShowcaseRenderPage.d.ts.map +1 -0
- package/dist/showcase/components/ShowcaseRenderPage.js +45 -0
- package/dist/showcase/components/ShowcaseRenderPage.js.map +1 -0
- package/dist/showcase/components/ShowcaseViewportGuard.d.ts +14 -0
- package/dist/showcase/components/ShowcaseViewportGuard.d.ts.map +1 -0
- package/dist/showcase/components/ShowcaseViewportGuard.js +77 -0
- package/dist/showcase/components/ShowcaseViewportGuard.js.map +1 -0
- package/dist/showcase/components/TopBar.d.ts +11 -0
- package/dist/showcase/components/TopBar.d.ts.map +1 -0
- package/dist/showcase/components/TopBar.js +105 -0
- package/dist/showcase/components/TopBar.js.map +1 -0
- package/dist/showcase/controlFieldSupport.d.ts +12 -0
- package/dist/showcase/controlFieldSupport.d.ts.map +1 -0
- package/dist/showcase/controlFieldSupport.js +35 -0
- package/dist/showcase/controlFieldSupport.js.map +1 -0
- package/dist/showcase/index.d.ts +20 -0
- package/dist/showcase/index.d.ts.map +1 -0
- package/dist/showcase/index.js +20 -0
- package/dist/showcase/index.js.map +1 -0
- package/dist/showcase/isCmsShowcase.d.ts +10 -0
- package/dist/showcase/isCmsShowcase.d.ts.map +1 -0
- package/dist/showcase/isCmsShowcase.js +12 -0
- package/dist/showcase/isCmsShowcase.js.map +1 -0
- package/dist/showcase/mergeShowcaseMocks.d.ts +34 -0
- package/dist/showcase/mergeShowcaseMocks.d.ts.map +1 -0
- package/dist/showcase/mergeShowcaseMocks.js +31 -0
- package/dist/showcase/mergeShowcaseMocks.js.map +1 -0
- package/dist/showcase/mockFactory.d.ts +47 -0
- package/dist/showcase/mockFactory.d.ts.map +1 -0
- package/dist/showcase/mockFactory.js +726 -0
- package/dist/showcase/mockFactory.js.map +1 -0
- package/dist/showcase/showcaseLayout.d.ts +17 -0
- package/dist/showcase/showcaseLayout.d.ts.map +1 -0
- package/dist/showcase/showcaseLayout.js +11 -0
- package/dist/showcase/showcaseLayout.js.map +1 -0
- package/dist/showcase/showcaseRelatedContent.d.ts +30 -0
- package/dist/showcase/showcaseRelatedContent.d.ts.map +1 -0
- package/dist/showcase/showcaseRelatedContent.js +106 -0
- package/dist/showcase/showcaseRelatedContent.js.map +1 -0
- package/dist/showcase/types.d.ts +21 -0
- package/dist/showcase/types.d.ts.map +1 -0
- package/dist/showcase/types.js +19 -0
- package/dist/showcase/types.js.map +1 -0
- package/dist/utils/UnsupportedWarning.d.ts +30 -0
- package/dist/utils/UnsupportedWarning.d.ts.map +1 -0
- package/dist/utils/UnsupportedWarning.js +44 -0
- package/dist/utils/UnsupportedWarning.js.map +1 -0
- package/dist/utils/UnusedChecker.d.ts +51 -0
- package/dist/utils/UnusedChecker.d.ts.map +1 -0
- package/dist/utils/UnusedChecker.js +96 -0
- package/dist/utils/UnusedChecker.js.map +1 -0
- package/dist/utils/agent-ready.d.ts +103 -0
- package/dist/utils/agent-ready.d.ts.map +1 -0
- package/dist/utils/agent-ready.js +246 -0
- package/dist/utils/agent-ready.js.map +1 -0
- package/dist/utils/assertValidSiteBaseUrl.d.ts +8 -0
- package/dist/utils/assertValidSiteBaseUrl.d.ts.map +1 -0
- package/dist/utils/assertValidSiteBaseUrl.js +31 -0
- package/dist/utils/assertValidSiteBaseUrl.js.map +1 -0
- package/dist/utils/breadcrumbUtils.d.ts +64 -0
- package/dist/utils/breadcrumbUtils.d.ts.map +1 -0
- package/dist/utils/breadcrumbUtils.js +73 -0
- package/dist/utils/breadcrumbUtils.js.map +1 -0
- package/dist/utils/buildPageMetadata.d.ts +139 -0
- package/dist/utils/buildPageMetadata.d.ts.map +1 -0
- package/dist/utils/buildPageMetadata.js +218 -0
- package/dist/utils/buildPageMetadata.js.map +1 -0
- package/dist/utils/cn.d.ts +29 -0
- package/dist/utils/cn.d.ts.map +1 -0
- package/dist/utils/cn.js +32 -0
- package/dist/utils/cn.js.map +1 -0
- package/dist/utils/componentUtils.d.ts +82 -0
- package/dist/utils/componentUtils.d.ts.map +1 -0
- package/dist/utils/componentUtils.js +327 -0
- package/dist/utils/componentUtils.js.map +1 -0
- package/dist/utils/convertText.d.ts +2 -0
- package/dist/utils/convertText.d.ts.map +1 -0
- package/dist/utils/convertText.js +35 -0
- package/dist/utils/convertText.js.map +1 -0
- package/dist/utils/createDefaultRenderText.d.ts +17 -0
- package/dist/utils/createDefaultRenderText.d.ts.map +1 -0
- package/dist/utils/createDefaultRenderText.js +25 -0
- package/dist/utils/createDefaultRenderText.js.map +1 -0
- package/dist/utils/errorHandling.d.ts +37 -0
- package/dist/utils/errorHandling.d.ts.map +1 -0
- package/dist/utils/errorHandling.js +61 -0
- package/dist/utils/errorHandling.js.map +1 -0
- package/dist/utils/errorMonitoring.d.ts +17 -0
- package/dist/utils/errorMonitoring.d.ts.map +1 -0
- package/dist/utils/errorMonitoring.js +26 -0
- package/dist/utils/errorMonitoring.js.map +1 -0
- package/dist/utils/imageKitVideoHls.d.ts +3 -0
- package/dist/utils/imageKitVideoHls.d.ts.map +1 -0
- package/dist/utils/imageKitVideoHls.js +5 -0
- package/dist/utils/imageKitVideoHls.js.map +1 -0
- package/dist/utils/interpolateMetaText.d.ts +9 -0
- package/dist/utils/interpolateMetaText.d.ts.map +1 -0
- package/dist/utils/interpolateMetaText.js +21 -0
- package/dist/utils/interpolateMetaText.js.map +1 -0
- package/dist/utils/linkAccessibility.d.ts +13 -0
- package/dist/utils/linkAccessibility.d.ts.map +1 -0
- package/dist/utils/linkAccessibility.js +14 -0
- package/dist/utils/linkAccessibility.js.map +1 -0
- package/dist/utils/linkResolution.d.ts +15 -0
- package/dist/utils/linkResolution.d.ts.map +1 -0
- package/dist/utils/linkResolution.js +19 -0
- package/dist/utils/linkResolution.js.map +1 -0
- package/dist/utils/listing-page-heading.d.ts +16 -0
- package/dist/utils/listing-page-heading.d.ts.map +1 -0
- package/dist/utils/listing-page-heading.js +24 -0
- package/dist/utils/listing-page-heading.js.map +1 -0
- package/dist/utils/listingStructuredData.d.ts +28 -0
- package/dist/utils/listingStructuredData.d.ts.map +1 -0
- package/dist/utils/listingStructuredData.js +65 -0
- package/dist/utils/listingStructuredData.js.map +1 -0
- package/dist/utils/marketingSiteSitemap.d.ts +103 -0
- package/dist/utils/marketingSiteSitemap.d.ts.map +1 -0
- package/dist/utils/marketingSiteSitemap.js +352 -0
- package/dist/utils/marketingSiteSitemap.js.map +1 -0
- package/dist/utils/previewPageUtils.d.ts +61 -0
- package/dist/utils/previewPageUtils.d.ts.map +1 -0
- package/dist/utils/previewPageUtils.js +72 -0
- package/dist/utils/previewPageUtils.js.map +1 -0
- package/dist/utils/previewUtils.d.ts +59 -0
- package/dist/utils/previewUtils.d.ts.map +1 -0
- package/dist/utils/previewUtils.js +60 -0
- package/dist/utils/previewUtils.js.map +1 -0
- package/dist/utils/processCollectionLinks.d.ts +11 -0
- package/dist/utils/processCollectionLinks.d.ts.map +1 -0
- package/dist/utils/processCollectionLinks.js +38 -0
- package/dist/utils/processCollectionLinks.js.map +1 -0
- package/dist/utils/processTextContent.d.ts +18 -0
- package/dist/utils/processTextContent.d.ts.map +1 -0
- package/dist/utils/processTextContent.js +24 -0
- package/dist/utils/processTextContent.js.map +1 -0
- package/dist/utils/reactNodeText.d.ts +7 -0
- package/dist/utils/reactNodeText.d.ts.map +1 -0
- package/dist/utils/reactNodeText.js +43 -0
- package/dist/utils/reactNodeText.js.map +1 -0
- package/dist/utils/richTextNodeText.d.ts +13 -0
- package/dist/utils/richTextNodeText.d.ts.map +1 -0
- package/dist/utils/richTextNodeText.js +29 -0
- package/dist/utils/richTextNodeText.js.map +1 -0
- package/dist/utils/robots.d.ts +115 -0
- package/dist/utils/robots.d.ts.map +1 -0
- package/dist/utils/robots.js +174 -0
- package/dist/utils/robots.js.map +1 -0
- package/dist/utils/scopeCss.d.ts +15 -0
- package/dist/utils/scopeCss.d.ts.map +1 -0
- package/dist/utils/scopeCss.js +186 -0
- package/dist/utils/scopeCss.js.map +1 -0
- package/dist/utils/sitemap.d.ts +173 -0
- package/dist/utils/sitemap.d.ts.map +1 -0
- package/dist/utils/sitemap.js +257 -0
- package/dist/utils/sitemap.js.map +1 -0
- package/dist/utils/structuredDataUtils.d.ts +158 -0
- package/dist/utils/structuredDataUtils.d.ts.map +1 -0
- package/dist/utils/structuredDataUtils.js +225 -0
- package/dist/utils/structuredDataUtils.js.map +1 -0
- package/dist/utils/urlUtils.d.ts +30 -0
- package/dist/utils/urlUtils.d.ts.map +1 -0
- package/dist/utils/urlUtils.js +100 -0
- package/dist/utils/urlUtils.js.map +1 -0
- package/dist/utils/visualPositions.d.ts +3 -0
- package/dist/utils/visualPositions.d.ts.map +1 -0
- package/dist/utils/visualPositions.js +13 -0
- package/dist/utils/visualPositions.js.map +1 -0
- package/dist/utils/visualSizes.d.ts +5 -0
- package/dist/utils/visualSizes.d.ts.map +1 -0
- package/dist/utils/visualSizes.js +27 -0
- package/dist/utils/visualSizes.js.map +1 -0
- package/dist/utils/wcagRelativeLuminanceFromHex.d.ts +8 -0
- package/dist/utils/wcagRelativeLuminanceFromHex.d.ts.map +1 -0
- package/dist/utils/wcagRelativeLuminanceFromHex.js +30 -0
- package/dist/utils/wcagRelativeLuminanceFromHex.js.map +1 -0
- package/dist/utils/wrapHtmlComponentJs.d.ts +10 -0
- package/dist/utils/wrapHtmlComponentJs.d.ts.map +1 -0
- package/dist/utils/wrapHtmlComponentJs.js +12 -0
- package/dist/utils/wrapHtmlComponentJs.js.map +1 -0
- package/docs/PACKAGE_EXPORT_BOUNDARIES.md +98 -0
- package/docs/llms.md +358 -0
- package/package.json +108 -0
- 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":"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"}
|
|
@@ -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"}
|