@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,68 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Dev-only panel shown when a component type has opted out of embedding via `embeddedRenderer: false`.
|
|
4
|
+
*/
|
|
5
|
+
const EmbedNotSupportedError = ({ typeName, id, show, }) => {
|
|
6
|
+
if (!show)
|
|
7
|
+
return null;
|
|
8
|
+
return (_jsxs("div", { style: {
|
|
9
|
+
border: '2px solid orange',
|
|
10
|
+
background: '#fff3cd',
|
|
11
|
+
padding: '1rem',
|
|
12
|
+
margin: '1rem',
|
|
13
|
+
borderRadius: '4px',
|
|
14
|
+
}, children: [_jsx("h3", { style: { color: '#856404', marginBottom: '0.5rem' }, children: "Component Embedding Not Supported" }), _jsxs("div", { style: { fontSize: '0.875rem' }, children: [_jsxs("p", { children: [_jsx("strong", { children: "Component Type:" }), " ", typeName] }), _jsxs("p", { children: [_jsx("strong", { children: "Component ID:" }), " ", id] }), _jsx("p", { style: { color: '#856404', marginTop: '0.5rem' }, children: "This component type has been explicitly marked as not embeddable in rich text. Remove the embedded block in Contentful, or add an embeddedRenderer to the registration." })] })] }));
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Error component displayed when not in production and an unknown component type is encountered
|
|
18
|
+
*/
|
|
19
|
+
const ComponentTypeError = ({ information, availableTypes, show, }) => {
|
|
20
|
+
if (!show)
|
|
21
|
+
return null;
|
|
22
|
+
return (_jsxs("div", { style: {
|
|
23
|
+
border: '2px solid orange',
|
|
24
|
+
background: '#fff3cd',
|
|
25
|
+
padding: '1rem',
|
|
26
|
+
margin: '1rem',
|
|
27
|
+
borderRadius: '4px',
|
|
28
|
+
}, children: [_jsx("h3", { style: { color: '#856404', marginBottom: '0.5rem' }, children: "Unknown Component Type" }), _jsxs("div", { style: { fontSize: '0.875rem' }, children: [_jsxs("p", { children: [_jsx("strong", { children: "Component Type:" }), " ", String(information.componentType)] }), _jsxs("p", { children: [_jsx("strong", { children: "Component ID:" }), " ", information.id] }), _jsxs("p", { children: [_jsx("strong", { children: "Available Types:" }), " ", availableTypes.join(', ')] }), _jsx("p", { style: { color: '#856404', marginTop: '0.5rem' }, children: "This component type is not registered in ComponentMap. Using Generic fallback." })] })] }));
|
|
29
|
+
};
|
|
30
|
+
export const CmsComponent = ({ information, contentContext, rendererConfig, }) => {
|
|
31
|
+
const { buildInformation, componentMap, defaultComponentRenderer: DefaultRenderer, } = rendererConfig;
|
|
32
|
+
const Element = componentMap[information.componentType];
|
|
33
|
+
if (Element) {
|
|
34
|
+
const result = (_jsx(Element, { information: information, contentContext: contentContext, rendererConfig: rendererConfig }));
|
|
35
|
+
return result;
|
|
36
|
+
}
|
|
37
|
+
// Log unknown component type for monitoring
|
|
38
|
+
const availableTypes = Object.keys(componentMap);
|
|
39
|
+
if (process.env.LOG_CMS)
|
|
40
|
+
console.log(`Unknown component type: ${String(information.componentType)} (ID: ${information.id}). Available types:`, availableTypes.join(','));
|
|
41
|
+
const shouldShowError = !buildInformation.isProduction;
|
|
42
|
+
const result = (_jsxs(_Fragment, { children: [shouldShowError && (_jsx(ComponentTypeError, { information: information, availableTypes: availableTypes, show: !buildInformation.isProduction })), DefaultRenderer && (_jsx(DefaultRenderer, { information: information, contentContext: contentContext, rendererConfig: rendererConfig }))] }));
|
|
43
|
+
return result;
|
|
44
|
+
};
|
|
45
|
+
export const CmsEmbeddedComponent = ({ information, contentContext, rendererConfig, ...props }) => {
|
|
46
|
+
const { buildInformation, embeddedComponentMap, componentMap, noEmbedComponents, defaultComponentRenderer: DefaultRenderer, } = rendererConfig;
|
|
47
|
+
// Step 1: Explicit opt-out
|
|
48
|
+
if (noEmbedComponents?.has(information.componentType)) {
|
|
49
|
+
return (_jsx(EmbedNotSupportedError, { typeName: information.componentType, id: information.id, show: !buildInformation.isProduction }));
|
|
50
|
+
}
|
|
51
|
+
// Step 2: Dedicated embedded renderer
|
|
52
|
+
const Element = embeddedComponentMap[information.componentType];
|
|
53
|
+
if (Element) {
|
|
54
|
+
return (_jsx(Element, { information: information, contentContext: contentContext, rendererConfig: rendererConfig, ...props }));
|
|
55
|
+
}
|
|
56
|
+
// Step 3: Fall back to top-level renderer
|
|
57
|
+
const FallbackElement = componentMap[information.componentType];
|
|
58
|
+
if (FallbackElement) {
|
|
59
|
+
return (_jsx(FallbackElement, { information: information, contentContext: contentContext, rendererConfig: rendererConfig }));
|
|
60
|
+
}
|
|
61
|
+
// Step 4: Unknown type
|
|
62
|
+
const availableTypes = Object.keys(componentMap);
|
|
63
|
+
if (process.env.LOG_CMS)
|
|
64
|
+
console.log(`Unknown embedded component type: ${String(information.componentType)} (ID: ${information.id}). Available types:`, availableTypes.join(','));
|
|
65
|
+
const shouldShowError = !buildInformation.isProduction;
|
|
66
|
+
return (_jsxs(_Fragment, { children: [shouldShowError && (_jsx(ComponentTypeError, { information: information, availableTypes: availableTypes, show: !buildInformation.isProduction })), DefaultRenderer && (_jsx(DefaultRenderer, { information: information, contentContext: contentContext, rendererConfig: rendererConfig, ...props }))] }));
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=CmsComponent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CmsComponent.js","sourceRoot":"","sources":["../../src/components/CmsComponent.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import type { IAnalyticsContext, IContentContext, IPageContext, ITyped, IVisual } from '@se-studio/core-data-types';
|
|
2
|
+
import type React from 'react';
|
|
3
|
+
import type { PropsWithChildren } from 'react';
|
|
4
|
+
import type { CmsRendererConfig } from '../CmsRendererConfig';
|
|
5
|
+
/**
|
|
6
|
+
* Creates a content context for an embedded item (e.g. one entry in a collection or RTF).
|
|
7
|
+
* Use when rendering a single item with a parent context; sets current and optionally previous/next siblings.
|
|
8
|
+
*/
|
|
9
|
+
export declare function createEmbeddedContentContext(parentContext: IContentContext, current: ITyped, options?: {
|
|
10
|
+
previousContent?: ITyped;
|
|
11
|
+
nextContent?: ITyped;
|
|
12
|
+
}): IContentContext;
|
|
13
|
+
/**
|
|
14
|
+
* Visual component renderer type
|
|
15
|
+
*/
|
|
16
|
+
export type VisualComponentRenderer = React.FC<{
|
|
17
|
+
information: IVisual;
|
|
18
|
+
contentContext: IContentContext;
|
|
19
|
+
rendererConfig: CmsRendererConfig;
|
|
20
|
+
/** When true, the visual is embedded (e.g. in RTF or inside a collection). Omit or false for standalone page content. */
|
|
21
|
+
embedded?: boolean;
|
|
22
|
+
}>;
|
|
23
|
+
/**
|
|
24
|
+
* Internal link renderer type
|
|
25
|
+
*/
|
|
26
|
+
export type InternalLinkRenderer = React.FC<PropsWithChildren<{
|
|
27
|
+
information: unknown;
|
|
28
|
+
contentContext: IContentContext;
|
|
29
|
+
rendererConfig: CmsRendererConfig;
|
|
30
|
+
/**
|
|
31
|
+
* Click-tracking location (typically the parent RTF module's CMS label).
|
|
32
|
+
* Optional so existing site renderers remain compatible.
|
|
33
|
+
*/
|
|
34
|
+
location?: string | null;
|
|
35
|
+
}>>;
|
|
36
|
+
/**
|
|
37
|
+
* Renderer for Internal link entries embedded as a block in RTF (block embedded entry).
|
|
38
|
+
* Inline links continue to use `internalLinkRenderer` ({@link InternalLinkRenderer}).
|
|
39
|
+
*/
|
|
40
|
+
export type EmbeddedBlockInternalLinkRenderer = React.FC<PropsWithChildren<{
|
|
41
|
+
information: unknown;
|
|
42
|
+
contentContext: IContentContext;
|
|
43
|
+
rendererConfig: CmsRendererConfig;
|
|
44
|
+
/** True when rendered inside block RTF embed routing (e.g. versus inline embed). */
|
|
45
|
+
embedded?: boolean;
|
|
46
|
+
/** Same grid/width classes as the wrapper; use on the root element if you replace the default layout. */
|
|
47
|
+
positionClassName?: string;
|
|
48
|
+
}>>;
|
|
49
|
+
/**
|
|
50
|
+
* Additional props provided to embedded content renderers (collections, components, and external components)
|
|
51
|
+
* when they are rendered within rich text fields or other collections.
|
|
52
|
+
*
|
|
53
|
+
* These props allow embedded renderers to apply appropriate styling and track their position
|
|
54
|
+
* for analytics, animations, or other positional logic.
|
|
55
|
+
*
|
|
56
|
+
* @property embedded - Whether the content is embedded (e.g., true for embedded content in rich text fields, false for standalone content)
|
|
57
|
+
* @property positionClassName - CSS class name(s) for positioning the embedded content (e.g., "w-full col-span-full" for full-width grid items)
|
|
58
|
+
* @property embeddedIndex - Zero-based index of this embedded content among its siblings (e.g., 0 for the first embedded entry, 1 for the second)
|
|
59
|
+
* @property parentIndex - Index or depth of the parent container (e.g., 0 for root-level RTF content, higher values for nested collections)
|
|
60
|
+
*/
|
|
61
|
+
export type EmbeddedRendererProps = {
|
|
62
|
+
embedded: boolean;
|
|
63
|
+
positionClassName: string;
|
|
64
|
+
embeddedIndex: number;
|
|
65
|
+
parentIndex: number;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Error display component for rendering errors when not in production
|
|
69
|
+
*/
|
|
70
|
+
export declare const ContentError: ({ error, content, show, }: {
|
|
71
|
+
error: Error;
|
|
72
|
+
content: {
|
|
73
|
+
type: string;
|
|
74
|
+
id: string;
|
|
75
|
+
};
|
|
76
|
+
show: boolean;
|
|
77
|
+
}) => React.JSX.Element | null;
|
|
78
|
+
/**
|
|
79
|
+
* Main content renderer that renders an array of page content items.
|
|
80
|
+
*
|
|
81
|
+
* @example Basic usage
|
|
82
|
+
* ```tsx
|
|
83
|
+
* const rendererConfig = {
|
|
84
|
+
* buildInformation,
|
|
85
|
+
* componentMap: { "Hero": HeroComponent, "CTA": CTAComponent },
|
|
86
|
+
* collectionMap: { "FAQs": FAQCollection },
|
|
87
|
+
* // ... other required fields
|
|
88
|
+
* };
|
|
89
|
+
*
|
|
90
|
+
* <CmsContent
|
|
91
|
+
* rendererConfig={rendererConfig}
|
|
92
|
+
* pageContext={pageContext}
|
|
93
|
+
* contents={page.contents}
|
|
94
|
+
* analyticsContext={analyticsContext}
|
|
95
|
+
* />
|
|
96
|
+
* ```
|
|
97
|
+
*/
|
|
98
|
+
export declare function CmsContent({ pageContext, contents, rendererConfig, analyticsContext, }: {
|
|
99
|
+
pageContext: IPageContext;
|
|
100
|
+
contents?: ReadonlyArray<ITyped>;
|
|
101
|
+
rendererConfig: CmsRendererConfig;
|
|
102
|
+
/** Optional page-level analytics context for link/click tracking */
|
|
103
|
+
analyticsContext: IAnalyticsContext | undefined;
|
|
104
|
+
}): React.JSX.Element | null;
|
|
105
|
+
//# sourceMappingURL=CmsContent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CmsContent.d.ts","sourceRoot":"","sources":["../../src/components/CmsContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EAKjB,eAAe,EACf,YAAY,EACZ,MAAM,EACN,OAAO,EACR,MAAM,4BAA4B,CAAC;AAMpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AA8D9D;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,eAAe,EAC9B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3D,eAAe,CAOjB;AAED;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,KAAK,CAAC,EAAE,CAAC;IAC7C,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,eAAe,CAAC;IAChC,cAAc,EAAE,iBAAiB,CAAC;IAClC,yHAAyH;IACzH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,EAAE,CACzC,iBAAiB,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,eAAe,CAAC;IAChC,cAAc,EAAE,iBAAiB,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC,CACH,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,iCAAiC,GAAG,KAAK,CAAC,EAAE,CACtD,iBAAiB,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,eAAe,CAAC;IAChC,cAAc,EAAE,iBAAiB,CAAC;IAClC,oFAAoF;IACpF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yGAAyG;IACzG,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC,CACH,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,2BAI1B;IACD,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,IAAI,EAAE,OAAO,CAAC;CACf,6BAyCA,CAAC;AA2IF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,UAAU,CAAC,EACzB,WAAW,EACX,QAAQ,EACR,cAAc,EACd,gBAAgB,GACjB,EAAE;IACD,WAAW,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACjC,cAAc,EAAE,iBAAiB,CAAC;IAClC,oEAAoE;IACpE,gBAAgB,EAAE,iBAAiB,GAAG,SAAS,CAAC;CACjD,4BA6BA"}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { getContentTypeKey, isCollection, orderContentWithHtmlHeroFirst, } from '@se-studio/core-data-types';
|
|
3
|
+
import { CmsCollection } from './CmsCollection';
|
|
4
|
+
import { CmsComponent } from './CmsComponent';
|
|
5
|
+
import { CmsExternalComponent } from './CmsExternalComponent';
|
|
6
|
+
import { HtmlComponent } from './HtmlComponent';
|
|
7
|
+
/**
|
|
8
|
+
* Returns true if this item is a "default" (has defaultOf) and a matching type exists elsewhere
|
|
9
|
+
* in the page (top-level or one level inside collections), so it should not be rendered.
|
|
10
|
+
*/
|
|
11
|
+
function isDefaultSuppressed(item, allContents, defaultsMap) {
|
|
12
|
+
const itemType = getContentTypeKey(item);
|
|
13
|
+
const suppressedBy = defaultsMap[itemType];
|
|
14
|
+
if (!suppressedBy?.length)
|
|
15
|
+
return false;
|
|
16
|
+
for (const content of allContents) {
|
|
17
|
+
const contentType = getContentTypeKey(content);
|
|
18
|
+
if (suppressedBy.includes(contentType) && content !== item)
|
|
19
|
+
return true;
|
|
20
|
+
if (isCollection(content)) {
|
|
21
|
+
const children = content.contents ?? [];
|
|
22
|
+
for (const child of children) {
|
|
23
|
+
if (suppressedBy.includes(getContentTypeKey(child)))
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Creates a content context for a specific component with lazy evaluation
|
|
32
|
+
*/
|
|
33
|
+
function createContentContext(pageContext, components, currentIndex, analyticsContext) {
|
|
34
|
+
const current = components[currentIndex];
|
|
35
|
+
if (!current) {
|
|
36
|
+
throw new Error(`Invalid component index: ${currentIndex}`);
|
|
37
|
+
}
|
|
38
|
+
const previousContent = currentIndex === 0 ? undefined : components[currentIndex - 1];
|
|
39
|
+
const nextContent = currentIndex === components.length - 1 ? undefined : components[currentIndex + 1];
|
|
40
|
+
const context = {
|
|
41
|
+
pageContext,
|
|
42
|
+
previousContent,
|
|
43
|
+
current,
|
|
44
|
+
nextContent,
|
|
45
|
+
allContents: components,
|
|
46
|
+
};
|
|
47
|
+
if (analyticsContext !== undefined) {
|
|
48
|
+
context.analyticsContext = analyticsContext;
|
|
49
|
+
}
|
|
50
|
+
return context;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Creates a content context for an embedded item (e.g. one entry in a collection or RTF).
|
|
54
|
+
* Use when rendering a single item with a parent context; sets current and optionally previous/next siblings.
|
|
55
|
+
*/
|
|
56
|
+
export function createEmbeddedContentContext(parentContext, current, options) {
|
|
57
|
+
return {
|
|
58
|
+
...parentContext,
|
|
59
|
+
current,
|
|
60
|
+
previousContent: options?.previousContent,
|
|
61
|
+
nextContent: options?.nextContent,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Error display component for rendering errors when not in production
|
|
66
|
+
*/
|
|
67
|
+
export const ContentError = ({ error, content, show, }) => {
|
|
68
|
+
if (!show)
|
|
69
|
+
return null;
|
|
70
|
+
return (_jsxs("div", { style: {
|
|
71
|
+
margin: '1rem',
|
|
72
|
+
borderRadius: '4px',
|
|
73
|
+
border: '2px solid red',
|
|
74
|
+
background: '#fee',
|
|
75
|
+
padding: '1rem',
|
|
76
|
+
}, children: [_jsx("h3", { style: { marginBottom: '0.5rem', fontSize: '1.125rem', color: 'red' }, children: "Content Render Error" }), _jsxs("div", { style: { fontSize: '0.875rem' }, children: [_jsxs("p", { children: [_jsx("strong", { children: "Content Type:" }), " ", content.type] }), _jsxs("p", { children: [_jsx("strong", { children: "Content ID:" }), " ", content.id] }), _jsxs("div", { style: { marginTop: '0.75rem' }, children: [_jsx("p", { style: { color: 'red', fontWeight: '600' }, children: "Error:" }), _jsx("pre", { style: {
|
|
77
|
+
overflowX: 'auto',
|
|
78
|
+
borderRadius: '4px',
|
|
79
|
+
border: '1px solid #fcc',
|
|
80
|
+
background: 'white',
|
|
81
|
+
padding: '0.5rem',
|
|
82
|
+
fontSize: '0.75rem',
|
|
83
|
+
}, children: error.message })] })] })] }));
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* Single content item renderer that routes to the appropriate renderer based on type
|
|
87
|
+
*/
|
|
88
|
+
const SingleContent = ({ context, rendererConfig, flowPositionIndex, }) => {
|
|
89
|
+
try {
|
|
90
|
+
const { current } = context;
|
|
91
|
+
let result;
|
|
92
|
+
switch (current.type) {
|
|
93
|
+
case 'Component':
|
|
94
|
+
result = (_jsx(CmsComponent, { information: current, contentContext: context, rendererConfig: rendererConfig }));
|
|
95
|
+
break;
|
|
96
|
+
case 'Collection':
|
|
97
|
+
result = (_jsx(CmsCollection, { information: current, contentContext: context, rendererConfig: rendererConfig }));
|
|
98
|
+
break;
|
|
99
|
+
case 'External component':
|
|
100
|
+
result = (_jsx(CmsExternalComponent, { information: current, contentContext: context, rendererConfig: rendererConfig }));
|
|
101
|
+
break;
|
|
102
|
+
case 'HtmlComponent':
|
|
103
|
+
result = (_jsx(HtmlComponent, { ...current, flowPositionIndex: flowPositionIndex, fullWidthBreakoutClassName: rendererConfig.htmlComponentFullWidthClassName }));
|
|
104
|
+
break;
|
|
105
|
+
case 'Visual':
|
|
106
|
+
if (rendererConfig.visualComponentRenderer) {
|
|
107
|
+
result = rendererConfig.visualComponentRenderer({
|
|
108
|
+
information: current,
|
|
109
|
+
contentContext: context,
|
|
110
|
+
rendererConfig,
|
|
111
|
+
embedded: false,
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
if (process.env.LOG_CMS)
|
|
116
|
+
console.warn('No Visual renderer provided');
|
|
117
|
+
result = !rendererConfig.buildInformation.isProduction ? (_jsx("div", { children: "Visual renderer not implemented" })) : null;
|
|
118
|
+
}
|
|
119
|
+
break;
|
|
120
|
+
case 'Internal link':
|
|
121
|
+
if (rendererConfig.internalLinkRenderer) {
|
|
122
|
+
result = rendererConfig.internalLinkRenderer({
|
|
123
|
+
information: current,
|
|
124
|
+
contentContext: context,
|
|
125
|
+
rendererConfig,
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
if (process.env.LOG_CMS)
|
|
130
|
+
console.warn('No Internal link renderer provided');
|
|
131
|
+
result = !rendererConfig.buildInformation.isProduction ? (_jsx("div", { children: "Internal link renderer not implemented" })) : null;
|
|
132
|
+
}
|
|
133
|
+
break;
|
|
134
|
+
default: {
|
|
135
|
+
// Check if there's a custom content renderer for this type
|
|
136
|
+
const unknownContent = current;
|
|
137
|
+
const CustomRenderer = rendererConfig.customContentMap?.[unknownContent.type];
|
|
138
|
+
if (CustomRenderer) {
|
|
139
|
+
result = _jsx(CustomRenderer, { information: current, contentContext: context });
|
|
140
|
+
break;
|
|
141
|
+
}
|
|
142
|
+
// No custom renderer found - treat as unknown content
|
|
143
|
+
const error = new Error(`Unknown content type: ${unknownContent.type} (ID: ${unknownContent.id})`);
|
|
144
|
+
console.error(error);
|
|
145
|
+
if (!rendererConfig.buildInformation.isProduction) {
|
|
146
|
+
result = (_jsx(ContentError, { error: error, content: unknownContent, show: !rendererConfig.buildInformation.isProduction }));
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
result = null;
|
|
150
|
+
}
|
|
151
|
+
break;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
return result;
|
|
155
|
+
}
|
|
156
|
+
catch (error) {
|
|
157
|
+
console.error('Error rendering content:', error);
|
|
158
|
+
if (!rendererConfig.buildInformation.isProduction) {
|
|
159
|
+
return (_jsx(ContentError, { error: error, content: context.current, show: !rendererConfig.buildInformation.isProduction }));
|
|
160
|
+
}
|
|
161
|
+
return null;
|
|
162
|
+
}
|
|
163
|
+
};
|
|
164
|
+
/**
|
|
165
|
+
* Main content renderer that renders an array of page content items.
|
|
166
|
+
*
|
|
167
|
+
* @example Basic usage
|
|
168
|
+
* ```tsx
|
|
169
|
+
* const rendererConfig = {
|
|
170
|
+
* buildInformation,
|
|
171
|
+
* componentMap: { "Hero": HeroComponent, "CTA": CTAComponent },
|
|
172
|
+
* collectionMap: { "FAQs": FAQCollection },
|
|
173
|
+
* // ... other required fields
|
|
174
|
+
* };
|
|
175
|
+
*
|
|
176
|
+
* <CmsContent
|
|
177
|
+
* rendererConfig={rendererConfig}
|
|
178
|
+
* pageContext={pageContext}
|
|
179
|
+
* contents={page.contents}
|
|
180
|
+
* analyticsContext={analyticsContext}
|
|
181
|
+
* />
|
|
182
|
+
* ```
|
|
183
|
+
*/
|
|
184
|
+
export function CmsContent({ pageContext, contents, rendererConfig, analyticsContext, }) {
|
|
185
|
+
if (!contents || contents.length === 0) {
|
|
186
|
+
return null;
|
|
187
|
+
}
|
|
188
|
+
const orderedContents = orderContentWithHtmlHeroFirst(contents);
|
|
189
|
+
return (_jsx(_Fragment, { children: orderedContents.map((content, index) => {
|
|
190
|
+
if (rendererConfig.defaultsMap &&
|
|
191
|
+
isDefaultSuppressed(content, orderedContents, rendererConfig.defaultsMap)) {
|
|
192
|
+
return null;
|
|
193
|
+
}
|
|
194
|
+
const context = createContentContext(pageContext, orderedContents, index, analyticsContext);
|
|
195
|
+
return (_jsx(SingleContent
|
|
196
|
+
// biome-ignore lint/suspicious/noArrayIndexKey: slot index distinguishes duplicate entry ids and matches script dedupe keys
|
|
197
|
+
, { context: context, rendererConfig: rendererConfig, flowPositionIndex: index }, `${content.id}-${index}`));
|
|
198
|
+
}) }));
|
|
199
|
+
}
|
|
200
|
+
//# sourceMappingURL=CmsContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CmsContent.js","sourceRoot":"","sources":["../../src/components/CmsContent.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { CmsError } from '@se-studio/contentful-rest-api';
|
|
2
|
+
interface CmsConversionErrorsProps {
|
|
3
|
+
errors: CmsError[];
|
|
4
|
+
isProduction: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare function CmsConversionErrors({ errors, isProduction }: CmsConversionErrorsProps): import("react").JSX.Element | null;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=CmsConversionErrors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CmsConversionErrors.d.ts","sourceRoot":"","sources":["../../src/components/CmsConversionErrors.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAG/D,UAAU,wBAAwB;IAChC,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,mBAAmB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,wBAAwB,sCA8HrF"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
export function CmsConversionErrors({ errors, isProduction }) {
|
|
5
|
+
const [expanded, setExpanded] = useState(false);
|
|
6
|
+
// Don't render in production
|
|
7
|
+
if (isProduction || errors.length === 0) {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
// Show first 5 errors by default, or all if expanded
|
|
11
|
+
const visibleErrors = expanded ? errors : errors.slice(0, 5);
|
|
12
|
+
const hasMoreErrors = errors.length > 5;
|
|
13
|
+
return (_jsx("div", { style: {
|
|
14
|
+
backgroundColor: '#fffbeb',
|
|
15
|
+
borderLeft: '4px solid #fbbf24',
|
|
16
|
+
padding: '1rem',
|
|
17
|
+
marginBottom: '1.5rem',
|
|
18
|
+
}, children: _jsxs("div", { style: { display: 'flex', alignItems: 'flex-start' }, children: [_jsx("div", { style: { flexShrink: 0 }, children: _jsxs("svg", { style: { height: '1.25rem', width: '1.25rem', color: '#fbbf24' }, fill: "currentColor", viewBox: "0 0 20 20", children: [_jsx("title", { children: "Warning icon" }), _jsx("path", { fillRule: "evenodd", d: "M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z", clipRule: "evenodd" })] }) }), _jsxs("div", { style: { marginLeft: '0.75rem', flex: 1 }, children: [_jsxs("div", { style: { display: 'flex', alignItems: 'center', justifyContent: 'space-between' }, children: [_jsxs("h3", { style: { fontSize: '0.875rem', color: '#92400e', fontWeight: 500 }, children: ["CMS Content Conversion Errors (", errors.length, ")"] }), hasMoreErrors && (_jsx("button", { type: "button", onClick: () => setExpanded(!expanded), style: {
|
|
19
|
+
fontSize: '0.875rem',
|
|
20
|
+
color: '#b45309',
|
|
21
|
+
textDecoration: 'underline',
|
|
22
|
+
background: 'none',
|
|
23
|
+
border: 'none',
|
|
24
|
+
cursor: 'pointer',
|
|
25
|
+
}, onMouseEnter: (e) => {
|
|
26
|
+
e.currentTarget.style.color = '#d97706';
|
|
27
|
+
}, onMouseLeave: (e) => {
|
|
28
|
+
e.currentTarget.style.color = '#b45309';
|
|
29
|
+
}, children: expanded ? 'Show less' : `Show ${errors.length - 5} more` }))] }), _jsxs("div", { style: { marginTop: '0.5rem' }, children: [_jsx("p", { style: { fontSize: '0.875rem', color: '#b45309', marginBottom: '0.75rem' }, children: "Some CMS content failed to convert properly. The page is still displayed below with available content." }), _jsx("div", { style: { display: 'flex', flexDirection: 'column', gap: '0.5rem' }, children: visibleErrors.map((error, index) => (_jsx("div", { style: {
|
|
30
|
+
borderRadius: '0.25rem',
|
|
31
|
+
backgroundColor: '#fef3c7',
|
|
32
|
+
padding: '0.75rem',
|
|
33
|
+
}, children: _jsx("div", { style: {
|
|
34
|
+
display: 'flex',
|
|
35
|
+
alignItems: 'flex-start',
|
|
36
|
+
justifyContent: 'space-between',
|
|
37
|
+
}, children: _jsxs("div", { style: { flex: 1 }, children: [_jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: '0.5rem' }, children: [_jsx("code", { style: {
|
|
38
|
+
fontSize: '0.75rem',
|
|
39
|
+
backgroundColor: '#fde68a',
|
|
40
|
+
padding: '0.25rem 0.5rem',
|
|
41
|
+
borderRadius: '0.25rem',
|
|
42
|
+
color: '#78350f',
|
|
43
|
+
}, children: error.entryId }), error.entryType && (_jsx("span", { style: {
|
|
44
|
+
fontSize: '0.75rem',
|
|
45
|
+
color: '#b45309',
|
|
46
|
+
backgroundColor: '#fde68a',
|
|
47
|
+
padding: '0.25rem 0.5rem',
|
|
48
|
+
borderRadius: '0.25rem',
|
|
49
|
+
}, children: error.entryType }))] }), _jsx("p", { style: { marginTop: '0.25rem', fontSize: '0.875rem', color: '#92400e' }, children: error.message })] }) }) }, `${error.entryId}-${index}`))) })] })] })] }) }));
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=CmsConversionErrors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CmsConversionErrors.js","sourceRoot":"","sources":["../../src/components/CmsConversionErrors.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
interface ErrorContext {
|
|
2
|
+
type: 'page' | 'article' | 'metadata' | string;
|
|
3
|
+
params?: Record<string, unknown>;
|
|
4
|
+
preview?: boolean;
|
|
5
|
+
slug?: string;
|
|
6
|
+
timestamp?: string;
|
|
7
|
+
}
|
|
8
|
+
interface CmsDataErrorProps {
|
|
9
|
+
error: Error | unknown;
|
|
10
|
+
context: ErrorContext;
|
|
11
|
+
}
|
|
12
|
+
export declare function CmsDataError({ error, context }: CmsDataErrorProps): import("react").JSX.Element;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=CmsDataError.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CmsDataError.d.ts","sourceRoot":"","sources":["../../src/components/CmsDataError.tsx"],"names":[],"mappings":"AAAA,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,iBAAiB;IACzB,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC;IACvB,OAAO,EAAE,YAAY,CAAC;CACvB;AAED,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,iBAAiB,+BA0FjE"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
export function CmsDataError({ error, context }) {
|
|
3
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
4
|
+
const errorStack = error instanceof Error ? error.stack : undefined;
|
|
5
|
+
return (_jsx("div", { className: "min-h-screen bg-red-50 p-8", children: _jsx("div", { className: "mx-auto max-w-4xl", children: _jsxs("div", { className: "rounded-lg bg-white p-6 shadow-lg", children: [_jsxs("div", { className: "mb-4 flex items-center justify-between", children: [_jsx("h1", { className: "text-2xl font-bold text-red-600", children: "CMS Data Error" }), _jsx("div", { className: "rounded-full bg-red-100 p-2", children: _jsxs("svg", { className: "h-6 w-6 text-red-600", fill: "currentColor", viewBox: "0 0 20 20", children: [_jsx("title", { children: "Error icon" }), _jsx("path", { fillRule: "evenodd", d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z", clipRule: "evenodd" })] }) })] }), _jsxs("div", { className: "mb-6 rounded-lg bg-red-100 p-4", children: [_jsxs("h2", { className: "mb-2 text-lg font-semibold text-red-800", children: ["Failed to load ", context.type, " data from CMS"] }), _jsx("p", { className: "text-red-700", children: "The content management system returned an error while trying to fetch the requested content." })] }), _jsxs("div", { className: "mb-4", children: [_jsx("h2", { className: "mb-2 text-lg font-semibold", children: "Error Message:" }), _jsx("p", { className: "rounded bg-red-100 p-3 font-mono p-sm text-red-800", children: errorMessage })] }), _jsxs("div", { className: "mb-4", children: [_jsx("h2", { className: "mb-2 text-lg font-semibold", children: "Context:" }), _jsxs("div", { className: "rounded bg-gray-100 p-3 p-sm", children: [_jsxs("p", { children: [_jsx("strong", { children: "Content Type:" }), " ", context.type] }), context.slug && (_jsxs("p", { children: [_jsx("strong", { children: "Slug:" }), " ", context.slug] })), _jsxs("p", { children: [_jsx("strong", { children: "Preview Mode:" }), " ", context.preview ? 'Yes' : 'No'] }), context.timestamp && (_jsxs("p", { children: [_jsx("strong", { children: "Time:" }), " ", context.timestamp] })), context.params && (_jsxs(_Fragment, { children: [_jsx("p", { className: "mt-2", children: _jsx("strong", { children: "Parameters:" }) }), _jsx("pre", { className: "mt-1 overflow-x-auto text-xs", children: JSON.stringify(context.params, null, 2) })] }))] })] }), errorStack && (_jsx("div", { className: "mb-4", children: _jsx("pre", { className: "overflow-x-auto rounded bg-gray-100 p-3 text-xs", children: errorStack }) })), _jsxs("div", { className: "rounded-lg bg-gray-100 p-4", children: [_jsx("h3", { className: "mb-2 font-semibold", children: "Debugging Tips:" }), _jsxs("ul", { className: "space-y-1 p-sm text-gray-700", children: [_jsx("li", { children: "\u2022 Check if the content exists in Contentful" }), _jsx("li", { children: "\u2022 Verify the content is published (or you're in preview mode)" }), _jsx("li", { children: "\u2022 Ensure all required fields are populated" }), _jsx("li", { children: "\u2022 Check for valid data formats (e.g., hex colors should be #RRGGBB)" }), _jsx("li", { children: "\u2022 Look for API rate limits or network issues" }), _jsx("li", { children: "\u2022 Verify your environment variables are set correctly" })] })] })] }) }) }));
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=CmsDataError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CmsDataError.js","sourceRoot":"","sources":["../../src/components/CmsDataError.tsx"],"names":[],"mappings":";AAaA,MAAM,UAAU,YAAY,CAAC,EAAE,KAAK,EAAE,OAAO,EAAqB;IAChE,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5E,MAAM,UAAU,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAEpE,OAAO,CACL,cAAK,SAAS,EAAC,4BAA4B,YACzC,cAAK,SAAS,EAAC,mBAAmB,YAChC,eAAK,SAAS,EAAC,mCAAmC,aAChD,eAAK,SAAS,EAAC,wCAAwC,aACrD,aAAI,SAAS,EAAC,iCAAiC,+BAAoB,EACnE,cAAK,SAAS,EAAC,6BAA6B,YAC1C,eAAK,SAAS,EAAC,sBAAsB,EAAC,IAAI,EAAC,cAAc,EAAC,OAAO,EAAC,WAAW,aAC3E,yCAAyB,EACzB,eACE,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,mHAAmH,EACrH,QAAQ,EAAC,SAAS,GAClB,IACE,GACF,IACF,EAEN,eAAK,SAAS,EAAC,gCAAgC,aAC7C,cAAI,SAAS,EAAC,yCAAyC,gCACrC,OAAO,CAAC,IAAI,sBACzB,EACL,YAAG,SAAS,EAAC,cAAc,6GAGvB,IACA,EAEN,eAAK,SAAS,EAAC,MAAM,aACnB,aAAI,SAAS,EAAC,4BAA4B,+BAAoB,EAC9D,YAAG,SAAS,EAAC,oDAAoD,YAAE,YAAY,GAAK,IAChF,EAEN,eAAK,SAAS,EAAC,MAAM,aACnB,aAAI,SAAS,EAAC,4BAA4B,yBAAc,EACxD,eAAK,SAAS,EAAC,8BAA8B,aAC3C,wBACE,6CAA8B,OAAE,OAAO,CAAC,IAAI,IAC1C,EACH,OAAO,CAAC,IAAI,IAAI,CACf,wBACE,qCAAsB,OAAE,OAAO,CAAC,IAAI,IAClC,CACL,EACD,wBACE,6CAA8B,OAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAC5D,EACH,OAAO,CAAC,SAAS,IAAI,CACpB,wBACE,qCAAsB,OAAE,OAAO,CAAC,SAAS,IACvC,CACL,EACA,OAAO,CAAC,MAAM,IAAI,CACjB,8BACE,YAAG,SAAS,EAAC,MAAM,YACjB,2CAA4B,GAC1B,EACJ,cAAK,SAAS,EAAC,8BAA8B,YAC1C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GACpC,IACL,CACJ,IACG,IACF,EAEL,UAAU,IAAI,CACb,cAAK,SAAS,EAAC,MAAM,YACnB,cAAK,SAAS,EAAC,iDAAiD,YAAE,UAAU,GAAO,GAC/E,CACP,EAED,eAAK,SAAS,EAAC,4BAA4B,aACzC,aAAI,SAAS,EAAC,oBAAoB,gCAAqB,EACvD,cAAI,SAAS,EAAC,8BAA8B,aAC1C,4EAAoD,EACpD,8FAA2E,EAC3E,2EAAmD,EACnD,oGAA4E,EAC5E,6EAAqD,EACrD,sFAA8D,IAC3D,IACD,IACF,GACF,GACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { PropsWithChildren } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Layout wrapper for CMS developer tool routes (`/cms/*`).
|
|
4
|
+
*
|
|
5
|
+
* Blocks access in production by returning a 404. In non-production
|
|
6
|
+
* environments it renders its children unchanged.
|
|
7
|
+
*
|
|
8
|
+
* Pass the app's `isProduction` flag from `@/lib/config`:
|
|
9
|
+
* @example
|
|
10
|
+
* ```tsx
|
|
11
|
+
* // src/app/(cms-dev)/layout.tsx
|
|
12
|
+
* import { CmsDevLayout } from '@se-studio/core-ui';
|
|
13
|
+
* import { isProduction } from '@/lib/config';
|
|
14
|
+
*
|
|
15
|
+
* export default function Layout({ children }: { children: React.ReactNode }) {
|
|
16
|
+
* return <CmsDevLayout isProduction={isProduction}>{children}</CmsDevLayout>;
|
|
17
|
+
* }
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export declare function CmsDevLayout({ children, isProduction, }: PropsWithChildren<{
|
|
21
|
+
isProduction: boolean;
|
|
22
|
+
}>): import("react").JSX.Element;
|
|
23
|
+
//# sourceMappingURL=CmsDevLayout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CmsDevLayout.d.ts","sourceRoot":"","sources":["../../src/components/CmsDevLayout.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE/C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,YAAY,GACb,EAAE,iBAAiB,CAAC;IAAE,YAAY,EAAE,OAAO,CAAA;CAAE,CAAC,+BAG9C"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { notFound } from 'next/navigation';
|
|
3
|
+
/**
|
|
4
|
+
* Layout wrapper for CMS developer tool routes (`/cms/*`).
|
|
5
|
+
*
|
|
6
|
+
* Blocks access in production by returning a 404. In non-production
|
|
7
|
+
* environments it renders its children unchanged.
|
|
8
|
+
*
|
|
9
|
+
* Pass the app's `isProduction` flag from `@/lib/config`:
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* // src/app/(cms-dev)/layout.tsx
|
|
13
|
+
* import { CmsDevLayout } from '@se-studio/core-ui';
|
|
14
|
+
* import { isProduction } from '@/lib/config';
|
|
15
|
+
*
|
|
16
|
+
* export default function Layout({ children }: { children: React.ReactNode }) {
|
|
17
|
+
* return <CmsDevLayout isProduction={isProduction}>{children}</CmsDevLayout>;
|
|
18
|
+
* }
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export function CmsDevLayout({ children, isProduction, }) {
|
|
22
|
+
if (isProduction)
|
|
23
|
+
return notFound();
|
|
24
|
+
return _jsx(_Fragment, { children: children });
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=CmsDevLayout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CmsDevLayout.js","sourceRoot":"","sources":["../../src/components/CmsDevLayout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG3C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,QAAQ,EACR,YAAY,GACiC;IAC7C,IAAI,YAAY;QAAE,OAAO,QAAQ,EAAE,CAAC;IACpC,OAAO,4BAAG,QAAQ,GAAI,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type EmbeddedCollectionRenderer } from './CmsCollection';
|
|
2
|
+
import { type EmbeddedComponentRenderer } from './CmsComponent';
|
|
3
|
+
import { type EmbeddedExternalComponentRenderer } from './CmsExternalComponent';
|
|
4
|
+
type EmbeddedContentRenderer = EmbeddedComponentRenderer | EmbeddedCollectionRenderer | EmbeddedExternalComponentRenderer;
|
|
5
|
+
/**
|
|
6
|
+
* Single content item renderer that routes to the appropriate renderer based on type
|
|
7
|
+
*/
|
|
8
|
+
export declare const CmsEmbeddedContent: EmbeddedContentRenderer;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=CmsEmbeddedContent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CmsEmbeddedContent.d.ts","sourceRoot":"","sources":["../../src/components/CmsEmbeddedContent.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAyB,KAAK,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AACzF,OAAO,EAAwB,KAAK,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAEtF,OAAO,EAEL,KAAK,iCAAiC,EACvC,MAAM,wBAAwB,CAAC;AAGhC,KAAK,uBAAuB,GACxB,yBAAyB,GACzB,0BAA0B,GAC1B,iCAAiC,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,uBA8GhC,CAAC"}
|