open-index/open-npm huggingface dataset:
npm package: @marwan-elabhar/my-nuxt-layer
Description: Create Nuxt extendable layer with this GitHub template.
Latest version: 0.0.7

# Nuxt Layer Starter

Create Nuxt extendable layer with this GitHub template.

## Setup

Make sure to install the dependencies:

```bash
pnpm install
```

## Working on your theme

Your theme is at the root of this repository, it is exactly like a regular Nuxt project, except you can publish it on NPM.

The `.playground` directory should help you on trying your theme during development.

Running `pnpm dev` will prepare and boot `.playground` directory, which imports your theme itself.

## Distributing your theme

Your Nuxt layer is shaped exactly the same as any other Nuxt project, except you can publish it on NPM.

To do so, you only have to check if `files` in `package.json` are valid, then run:

```bash
npm publish --access public
```

Once done, your users will only have to run:

```bash
npm install --save your-theme
```

Then add the dependency to their `extends` in `nuxt.config`:

```ts
defineNuxtConfig({
  extends: 'your-theme'
})
```

## Development Server

Start the development server on http://localhost:3000

```bash
pnpm dev
```

## Production

Build the application for production:

```bash
pnpm build
```

Or statically generate it with:

```bash
pnpm generate
```

Locally preview production build:

```bash
pnpm preview
```

Checkout the [deployment documentation](https://v3.nuxtjs.org/docs/deployment) for more information.
npm package: @marwes-ui/core
Description: Framework-agnostic Marwes core: theme system, typed component recipes, and a11y mapping.
Latest version: 0.0.4

# @marwes-ui/core

Framework-agnostic Marwes core: theme system, typed component recipes, and a11y mapping.

## Responsibilities
- Define and normalize the `Theme` contract.
- Build component render kits (`tag`, `className`, `vars`, `a11y`).
- Centralize a11y behavior so adapters stay consistent.
- Stay independent from DOM and framework runtime.

## Non-Responsibilities
- No React/Vue rendering.
- No preset CSS authoring.
- No runtime styling engine.

## Public API
Theme and system:
- `defaultTheme`
- `mergeTheme`
- `normalizeTheme`
- `createSystem`
- Types: `Theme`, `ThemeOverrides`, `Preset`, `System`, `CssVars`

Atoms (recipes + types):
- `createButtonRecipe`
- `createInputRecipe`
- `checkboxRecipe`
- `createIconRecipe`
- `createHeadingRecipe`
- `createParagraphRecipe`

Molecules:
- `checkboxFieldRecipe`

## RenderKit Contract
Core recipes return typed render data consumed by adapters:
- `tag`: target HTML tag
- `className`: stable `.mw-*` classes
- `vars`: `Record<--mw-*, string>` CSS variables
- `a11y`: explicit typed accessibility fields
- optional control fields per component (for example `blockClick`, `indeterminate`)

## File Layout
- `src/theme/*` - theme types/defaults/merge/normalize/system
- `src/components/atoms/*` - atomic component contracts + recipes
- `src/components/molecules/*` - composed component contracts + recipes
- `src/shared/css-vars.ts` - CSS variable type contract

## Engineering Rules
- Keep core framework-agnostic.
- Do not use `any`.
- Put accessibility mapping in `*.a11y.ts`.
- Put visual decisions in presets, not in adapters.
- Only emit CSS variables and stable classnames from recipes.

## Figma Mapping
When implementing design changes from Figma, map tokens into theme keys and recipe vars as documented in:
- `../../docs/FIGMA_TO_MARWES.md`

## Scripts
- `pnpm --filter @marwes-ui/core dev`
- `pnpm --filter @marwes-ui/core build`
- `pnpm --filter @marwes-ui/core typecheck`

## Related Docs
- `../../docs/PROJECT.md`
- `../../docs/ARCHITECTURE.md`
- `../../docs/ENGINEERING.md`
npm package: @marwes-ui/presets
Description: Design presets for Marwes. Presets define theme defaults and static CSS for component classnames.
Latest version: 0.0.4

# @marwes-ui/presets

Design presets for Marwes. Presets define theme defaults and static CSS for component classnames.

## Responsibilities
- Provide preset objects (currently `firstEdition`).
- Provide static CSS for `.mw-*` classnames.
- Map semantic theme values to visual styles with CSS variables.

## Non-Responsibilities
- No component logic.
- No framework rendering.
- No runtime CSS-in-JS.

## Install and Use
```tsx
import { MarwesProvider } from "@marwes-ui/react";
import { firstEdition } from "@marwes-ui/presets";
import "@marwes-ui/presets/firstEdition/styles.css";

<MarwesProvider preset={firstEdition}>
  <App />
</MarwesProvider>;
```

## firstEdition
Preset definition:
- `src/firstEdition/index.ts`

Main stylesheet:
- `src/firstEdition/styles.css`

Imported component styles:
- `button.css`
- `input.css`
- `checkbox.css`
- `icon.css`
- `typography.css`
- `molecules/checkbox-field.css`

## Contract with Core
Core recipes emit:
- stable classes such as `mw-btn`, `mw-input`, `mw-checkbox`
- CSS vars such as `--mw-primary`, `--mw-radius`

Presets must style those classes/vars consistently and should not require adapter-specific hacks.

## CSS Conventions
- Keep prefix `--mw-*` for variables.
- Keep classname prefix `.mw-*`.
- Prefer semantic vars from core (`--mw-primary`, `--mw-text`, `--mw-surface`) over hardcoded colors.
- Keep focus-visible and disabled states explicit in CSS.

## Figma Mapping
When syncing design changes from Figma, follow:
- `../../docs/FIGMA_TO_MARWES.md`

This ensures token names and state variants map predictably into preset CSS.

## Scripts
- `pnpm --filter @marwes-ui/presets dev`
- `pnpm --filter @marwes-ui/presets build`
- `pnpm --filter @marwes-ui/presets typecheck`

## Related Docs
- `../../docs/PROJECT.md`
- `../../docs/ARCHITECTURE.md`
- `../../docs/ENGINEERING.md`