@keystone-sites/legacy
v1.0.1
Published
Keystone Sites Legacy - DEPRECATED themed sections, elements, and theme system for existing customer websites. Frozen: bugfix-only. New sites are generated by prompt-website-gen.
Maintainers
Keywords
Readme
@keystone-sites/legacy
DEPRECATED — frozen, bugfix-only. This package holds the rigid templating system (themes, pre-coded sections, component registry) used by existing themed customer sites. No new features. Existing sites keep working on a pinned version until they are migrated or rebuilt via
prompt-website-gen, at which point this package is retired.
Supplies the themed template surface for legacy Keystone customer websites:
- Sections — full-width page-level components (hero, header, footer, services, testimonials, etc.) with per-theme variants
- Elements — reusable UI primitives (buttons, inputs, carousels, modals, etc.) with theme wrapping
- Theme system — CSS variable overrides and the runtime component registry
- Site shell —
KeystoneRootLayout(nav/footer, theme attribute, data prefetch; tracking now composed fromkeystone-shared-services), legal pages, design gallery
Depends on keystone-sdk (data), keystone-shared-services (tracking via KeystoneServices), and keystone-widgets (ChatWidget, DynamicFormFields).
Package exports
| Import path | Contents |
|---|---|
| @keystone-sites/legacy | Sections, elements, contexts, ChatWidget re-export, resolveCtaUrls/isExternalCtaUrl re-exports, server actions re-exports |
| @keystone-sites/legacy/sections | All section components |
| @keystone-sites/legacy/elements | UI element components (theme-wrapped) |
| @keystone-sites/legacy/elements/modal | Modal |
| @keystone-sites/legacy/logo | Keystone logo components |
| @keystone-sites/legacy/hooks | useBreakpoint and other client-side hooks |
| @keystone-sites/legacy/contexts | ThemeProvider / useTheme |
| @keystone-sites/legacy/lib/component-registry | Theme variant registry |
| @keystone-sites/legacy/next/layouts/root-layout | KeystoneRootLayout |
| @keystone-sites/legacy/next/providers/ssr-provider | KeystoneSSRProvider |
| @keystone-sites/legacy/next/gallery/design-gallery | Design gallery (internal) |
| @keystone-sites/legacy/next/legal/* | Privacy policy / terms of service pages |
| @keystone-sites/legacy/styles/* | CSS files (fonts.css, theme.css, per-theme overrides) |
| @keystone-sites/legacy/types | SiteConfig, Theme, plus re-exported Keystone API types |
| @keystone-sites/legacy/themes | Theme name registry |
| @keystone-sites/legacy/utils/* | Utility functions |
Source directory structure
src/
├── design_system/
│ ├── sections/ # Full-width page sections (base + aman/barelux/balance variants)
│ ├── elements/ # UI primitives (theme-wrapped via the component registry)
│ ├── logo/ # Keystone logo components
│ ├── hooks/ # Design-system hooks
│ └── utils/ # Design-system utilities (icon mapping)
├── contexts/ # ThemeContext
├── lib/
│ ├── component-registry.ts # Theme variant registry
│ └── hooks/ # React hooks
├── next/
│ ├── layouts/ # KeystoneRootLayout (composes KeystoneServices)
│ ├── providers/ # KeystoneSSRProvider
│ ├── gallery/ # Design gallery app (internal)
│ └── legal/ # Legal page placeholders
├── styles/ # CSS files
├── themes/ # Theme name registry
├── types/ # SiteConfig + Theme types
└── utils/ # Utility functions
app/ # Gallery dev app (Next.js)Publishing workflow
For local development against an unpublished build, use yalc:
# In @keystone-sites/legacy — build and publish to local yalc store
npm run build && yalc publish
# In the customer site — link to the local build
yalc add @keystone-sites/legacy
# or update an existing link
yalc update @keystone-sites/legacyTo restore the published npm version:
yalc remove @keystone-sites/legacy
npm installDocs
docs/architecture.md— rendering model, theme system, component registry, SiteConfigdocs/theme-system.mddocs/navigation-and-layout.mddocs/site-customization.mddocs/ai-prompt-template.md
