@revenexx/cover
v0.1.13
Published
Cover — revenexx design system for Nuxt. Distributed as a Nuxt layer: generic UI components, theming tokens and stores shared by the demo shop, custom storefronts and the Blokkli theme.
Downloads
1,528
Readme
@revenexx/cover
The Cover design system, distributed as a Nuxt layer.
Usage
// nuxt.config.ts
export default defineNuxtConfig({
extends: ["@revenexx/cover"],
});The consuming app must provide the modules the layer relies on:
@nuxt/ui, @pinia/nuxt and @nuxtjs/i18n (register the de and en
locales so the layer's messages merge).
What the layer contributes
| Area | Contents |
|---|---|
| app/components/ui/** | Generic UI components, auto-imported as Ui* (UiFormsPasswordInput, UiFeedbackEmptyState, UiFeedbackErrorBoundary, UiFeedbackNotFound, UiFormsCountrySelection, UiDebugPiniaStateCard, UiAppShell) |
| app/config/ | themes.ts (theme definitions), palette.ts (color tokens), countries.ts |
| app/composables/useThemeStore.ts | Pinia store applying Nuxt UI color tokens + --ui-radius, persisted under cover-theme |
| i18n/locales/{de,en}/cover.json | Component messages, merged into the consuming app by @nuxtjs/i18n layer support |
Non-auto-imported files are reachable via package exports:
import type { Theme } from "@revenexx/cover/config/themes";Authoring rules
- Internal imports must be relative —
~/resolves to the consuming app'ssrcDir, not the layer. - Components must not depend on app domain composables (
useProductsetc.); domain-coupled components stay in their app. - New user-visible strings go into
i18n/locales/{de,en}/cover.json.
