Barrel export file for the `embed-shims/` module, providing environment-aware shims for Next.js primitives (`Image`, `Link`, `dynamic`, and navigation hooks) that work in any host environment (Vite, CRA, esbuild) while allowing full Next.js optimization via opt-in registration. ## Key Components | Export | Source | Description | |--------|--------|-------------| | `Image` / `registerImage` | `./next-image` | Next.js Image Optimization shim | | `Link` / `registerLink` | `./next-link` | Client-router prefetching shim | | `dynamic` / `registerDynamic` | `./next-dynamic` | Dynamic import shim | | `useRouter`, `usePathname`, `useSearchParams`, `useParams` | `./next-navigation` | Navigation hooks shim | | `redirect`, `permanentRedirect`, `notFound`, `RedirectType` | `./next-navigation` | Navigation utilities shim | | `registerNavigation` / `NavigationImpl` | `./next-navigation` | Navigation registration and type | ## Usage Example **Default (non-Next host — Vite, CRA, esbuild):** ```typescript import { Link, Image, dynamic, useRouter } from '@flamingo-stack/openframe-frontend-core/embed-shims' // Works out of the box with plain HTML equivalents — no config needed ``` **Next.js host — register real implementations once at app init:** ```typescript import { registerImage, registerLink, registerDynamic, registerNavigation } from '@flamingo-stack/openframe-frontend-core/embed-shims' import NextImage from 'next/image' import NextLink from 'next/link' import * as NextNavigation from 'next/navigation' registerImage(NextImage) registerLink(NextLink) registerDynamic(/* next/dynamic */) registerNavigation(NextNavigation) // All lib components now delegate to real Next.js primitives ``` **Per-shim import:** ```typescript import Link from '@flamingo-stack/openframe-frontend-core/embed-shims/next-link' import Image from '@flamingo-stack/openframe-frontend-core/embed-shims/next-image' ```