@munifort/ui
v0.1.0
Published
Munifort UI: a published Nuxt layer of presentational components, generic composables and stores, and base layouts
Readme
@munifort/ui
A published Nuxt layer, per [WEB-03] (docs/WEB_TOPOLOGY.md in munifort-platform):
presentational components, generic composables and stores, base layouts, and the
Storybook that documents them. Consumed via extends by Nuxt surfaces only.
Non-Nuxt surfaces consume @munifort/theme directly.
Contents
components/ui/: buttons, cards, data display, disclosure, feedback, forms, layout, navigation, overlays, typography. Stories sit beside their components.composables/:useActionDrawer(open-shaped drawer context; consumers narrow the union on their side),useTelemetry(buffered, PII-scrubbed stub),useNavigation(stub contract; every app overrides it).stores/:theme,toast.layouts/:default,blocked(deliberately inert; see the file comment).plugins/: theme initialization.utils/:uuid,resetAllStores,externalUrl.
Platform-coupled code (auth components, permission gates, tier vocabulary, wire
types, API composables) is plane code per [WEB-04] and lives in munifort-platform,
not here.
Usage
// nuxt.config.ts of the consuming app
export default defineNuxtConfig({
extends: ['@munifort/ui'],
})Mandatory @source rule. In the consuming app's CSS entry point, alongside the
theme import:
@import "@munifort/theme/css";
@source "../node_modules/@munifort/ui/components";Tailwind only scans the consuming app's own sources; without this line, classes used only inside this layer's components are silently dropped from the build (the symptom looks like a dark-mode bug).
Development
npm run test # vitest
npm run storybook # component workbench on port 6006