Zero-runtime tokens
Component states resolve in Sass at build time. No custom properties recalculated per interaction.
One Nuxt module gives you the whole system: a color scheme generated from a single seed, zero-runtime tokens compiled at build time, and 70+ components that already know about states, density and RTL.
Rendered with the kit you just installed
Three steps
Nothing to wire by hand: the module registers components, generates the color schemes and exposes the SCSS aliases the tokens live in.
One package brings the component layer, the token pipeline and the theme generator.
npm i @pr0s1k/primetime-kitEvery color role is derived from the seed at build time — light, dark and both contrast levels included.
export default defineNuxtConfig({
modules: ['@pr0s1k/primetime-kit'],
materialKit: {
theme: {
themes: [{ key: 'forest', name: 'Forest', color: '#2F6F4E' }],
default: { palette: 'forest' },
},
},
})Everything under the `m` prefix is auto-imported — no imports, no registration, no wrapper components.
<template>
<m-layout>
<m-layout-main>
<m-container>
<m-text-field
v-model="email"
label="Email"
variant="outlined"
/>
<m-button variant="filled">
Continue
</m-button>
</m-container>
</m-layout-main>
</m-layout>
</template>
<script setup lang="ts">
const email = ref('')
</script>Why it stays fast
Component states resolve in Sass at build time. No custom properties recalculated per interaction.
Material Color Utilities turns one HEX into a full scheme. Swap the seed, the whole app follows.
Zones register themselves with the layout host, so a rail, a header and a main region compose without magic numbers.
Hover, pressed, focus and disabled follow the MD3 opacities across every component — including yours.
Keep going
Reference
Anatomy, variants, API and live playgrounds for each component.
Open the catalogFoundations
Every color role generated live from the seed, contrast and scheme variant.
Inspect the rolesFoundations
Zones, grid and breakpoints — plus wireframes of full app shells.
See the engine