llms.txt@packages/core · git:20260402.88c28ff · 2026-04-02 · sha256 99311c4927982f54
llms.txt@packages/core git:20260402.88c28ffA
Immutable. This exact content never changes and is served at /api/v1/blob/99311c4927982f54.
# @mezzanine-ui/core
> CSS styles and shared TypeScript type definitions for Mezzanine UI — consumed by @mezzanine-ui/react to provide component styling.
## Purpose
`@mezzanine-ui/core` ships:
- Per-component SCSS stylesheets compiled to CSS
- Shared TypeScript types and constants used across components (e.g. `Size`, `Severity`, `Orientation`, calendar adapter interfaces)
- SCSS design-token utilities, sourced from `@mezzanine-ui/system`
This package does **not** export React components. It is a styling and type layer only.
## Style Import Pattern
The recommended approach is to load all component styles at once via the SCSS barrel:
```scss
@use '@mezzanine-ui/system' as mzn-system;
@use '@mezzanine-ui/core' as mzn-core;
:root {
@include mzn-system.common-variables('default');
@include mzn-system.colors('light');
}
@include mzn-core.styles();
```
Per-component JS imports still work but are not the preferred approach:
```ts
import '@mezzanine-ui/core/button/styles';
import '@mezzanine-ui/core/input/styles';
```
Available style directories mirror component names: `accordion`, `alert-banner`, `anchor`, `backdrop`, `badge`, `breadcrumb`, `button`, `calendar`, `checkbox`, `drawer`, `empty`, `form`, `icon`, `inline-message`, `input`, `message`, `modal`, `navigation`, `page-footer`, `page-header`, `pagination`, `picker`, `portal`, `progress`, `radio`, `result-state`, `select`, `skeleton`, `slider`, `spin`, `stepper`, `tag`, `text-field`, `textarea`, `time-panel`, `toggle`, `tooltip`, `typography`, `upload`.
## SCSS Usage (advanced)
If you build your own components using Mezzanine design tokens, you can consume the SCSS directly:
```scss
@use '@mezzanine-ui/system' as system;
@use '@mezzanine-ui/core/button' as button-core;
```
The package marks all `.scss` and `.css` files as `sideEffects` so bundlers do not tree-shake them.
## Relationship with Other Packages
| Dependency | Role |
| ----------------------- | ------------------------------------------------------- |
| `@mezzanine-ui/system` | Provides SCSS design-token mixins consumed by core SCSS |
| `@mezzanine-ui/icons` | Icon type definitions used in core TypeScript types |
`@mezzanine-ui/react` depends on this package and imports styles alongside React component logic.
## Peer Dependencies
`lodash >= 4` (required); `dayjs >= 1`, `moment >= 2`, `luxon >= 3` (all optional — only needed when using Calendar/Picker components).
## GitHub
https://github.com/Mezzanine-UI/mezzanine/tree/main/packages/core