UNPKG

@ai-growth/nextjs

Version:

Seamlessly integrate Sanity CMS with Next.js applications for automated blog routing and rendering

130 lines 4.56 kB
/** * @fileoverview Lazy-Loaded Template Components * * This module provides lazy-loaded versions of template components for code splitting * and performance optimization. These components load on-demand to reduce initial bundle size. */ import React from 'react'; import type { DefaultTemplateProps } from '../types'; /** * Lazy-loaded DefaultTemplateV2 component */ export declare const LazyDefaultTemplateV2: React.LazyExoticComponent<React.FC<import("./DefaultTemplateV2").ExtendedTemplateProps>>; /** * Lazy-loaded SimpleDefaultTemplate component */ export declare const LazySimpleDefaultTemplate: React.LazyExoticComponent<React.FC<DefaultTemplateProps>>; /** * Lazy-loaded BlogTemplate component */ export declare const LazyBlogTemplate: React.LazyExoticComponent<React.FC<DefaultTemplateProps>>; /** * Lazy-loaded PageTemplate component */ export declare const LazyPageTemplate: React.LazyExoticComponent<React.FC<DefaultTemplateProps>>; /** * Lazy-loaded PostTemplate component */ export declare const LazyPostTemplate: React.LazyExoticComponent<React.FC<DefaultTemplateProps>>; /** * DefaultTemplateV2 with Suspense wrapper */ export declare const DefaultTemplateV2WithSuspense: React.FC<DefaultTemplateProps>; /** * SimpleDefaultTemplate with Suspense wrapper */ export declare const SimpleDefaultTemplateWithSuspense: React.FC<DefaultTemplateProps>; /** * BlogTemplate with Suspense wrapper */ export declare const BlogTemplateWithSuspense: React.FC<DefaultTemplateProps>; /** * PageTemplate with Suspense wrapper */ export declare const PageTemplateWithSuspense: React.FC<DefaultTemplateProps>; /** * PostTemplate with Suspense wrapper */ export declare const PostTemplateWithSuspense: React.FC<DefaultTemplateProps>; /** * Template mapping for lazy loading */ export declare const LAZY_TEMPLATE_MAP: { readonly 'default-v2': React.LazyExoticComponent<React.FC<import("./DefaultTemplateV2").ExtendedTemplateProps>>; readonly 'simple-default': React.LazyExoticComponent<React.FC<DefaultTemplateProps>>; readonly blog: React.LazyExoticComponent<React.FC<DefaultTemplateProps>>; readonly page: React.LazyExoticComponent<React.FC<DefaultTemplateProps>>; readonly post: React.LazyExoticComponent<React.FC<DefaultTemplateProps>>; }; /** * Template mapping with Suspense wrappers */ export declare const TEMPLATE_MAP_WITH_SUSPENSE: { readonly 'default-v2': React.FC<DefaultTemplateProps>; readonly 'simple-default': React.FC<DefaultTemplateProps>; readonly blog: React.FC<DefaultTemplateProps>; readonly page: React.FC<DefaultTemplateProps>; readonly post: React.FC<DefaultTemplateProps>; }; /** * Preload all templates */ export declare const preloadAllTemplates: () => Promise<void>; /** * Preload specific template */ export declare const preloadTemplate: (templateName: keyof typeof LAZY_TEMPLATE_MAP) => Promise<void>; /** * Props for dynamic template loader */ export interface DynamicTemplateLoaderProps extends DefaultTemplateProps { /** Template name to load */ templateName?: keyof typeof LAZY_TEMPLATE_MAP; /** Whether to show loading state */ showLoading?: boolean; /** Custom loading component */ loadingComponent?: React.ComponentType; /** Preload on hover */ preloadOnHover?: boolean; } /** * Dynamic template loader component */ export declare const DynamicTemplateLoader: React.FC<DynamicTemplateLoaderProps>; /** * Lazy-loaded error pages for better performance */ export declare const LazyErrorPages: { NotFoundPage: React.LazyExoticComponent<React.FC<import("../components").NotFoundPageProps>>; ServerErrorPage: React.LazyExoticComponent<React.FC<import("../components").ServerErrorPageProps>>; }; /** * Error page with Suspense wrapper */ export declare const ErrorPageWithSuspense: React.FC<{ type: keyof typeof LazyErrorPages; fallback?: React.ReactNode; [key: string]: any; }>; /** * Get chunk name for template */ export declare const getTemplateChunkName: (templateName: string) => string; /** * Check if template is preloaded */ export declare const isTemplatePreloaded: (_templateName: keyof typeof LAZY_TEMPLATE_MAP) => boolean; /** * Template performance metrics */ export interface TemplateMetrics { templateName: string; loadTime: number; size: number; cached: boolean; } /** * Track template loading performance */ export declare const trackTemplateLoad: (templateName: string, startTime: number) => TemplateMetrics; //# sourceMappingURL=LazyTemplates.d.ts.map