@getvitops/generator 1.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getvitops/generator",
3
- "version": "1.0.0",
3
+ "version": "2.1.0",
4
4
  "description": "Generate design-system outputs (Bricks, standalone CSS, Tailwind v4) from a design-system.json.",
5
5
  "license": "MIT",
6
6
  "files": [
@@ -25,12 +25,14 @@
25
25
  "access": "public"
26
26
  },
27
27
  "dependencies": {
28
+ "@iconify/utils": "^2.3.0",
28
29
  "lightningcss": "^1.32.0",
29
30
  "zod": "^4.1.13",
30
- "@getvitops/utils": "1.0.0"
31
+ "@getvitops/utils": "2.1.0"
31
32
  },
32
33
  "devDependencies": {
34
+ "@iconify/types": "^2.0.0",
33
35
  "vitest": "^4.1.9",
34
- "@getvitops/core": "1.0.0"
36
+ "@getvitops/core": "2.1.0"
35
37
  }
36
38
  }
package/schema.json CHANGED
@@ -89,7 +89,7 @@
89
89
  ],
90
90
  "description": "A palette hue, authored one of two ways: `{ seed, anchors? }` generates an 11-step numeric OKLCH scale (50…950) from the seed, or `{ tones }` supplies a fixed brand kit used verbatim."
91
91
  },
92
- "description": "Palette hues by name. Each becomes an 11-step numeric OKLCH scale (`--color-<hue>-50…950`)."
92
+ "description": "Palette hues by name. Each becomes an 11-step numeric OKLCH scale (`--color-<hue>-50…950`). Every ramp shares one fixed lightness ladder, so a step means the same lightness in every hue; only chroma and hue vary. Beyond the outermost authored colour the chroma decays towards a small endpoint value (0.008 light / 0.015 dark) so the near-white and near-black ends keep a whisper of the hue — but that is a **ceiling**, not a target, so a low-chroma seed stays low and **a chroma-0 seed gives a true neutral** rather than a tinted one. The ladder is also enforced: if pinned colours leave a ramp non-monotonic (some step darker than the one below it), the build fails rather than shipping a scale whose hover states run backwards."
93
93
  },
94
94
  "roles": {
95
95
  "type": "object",
@@ -162,7 +162,7 @@
162
162
  }
163
163
  },
164
164
  "fonts": {
165
- "description": "Raw font stacks by name, emitted as `--font-<name>` tokens (referenced by `typography.families`).",
165
+ "description": "Raw font stacks by name, emitted as `--font-<name>` tokens (referenced by `typography.families`). **Stacks only — vitops does not load webfonts.** A value here is a `font-family` list and nothing more: it emits no `@font-face`, no preload, and no metrics-matched fallback. If a family needs loading, declare it in Astro's `fonts:` config (`astro.config`, or the site config's `fonts` array) and point the token at the family's `cssVariable` — `\"display\": \"var(--font-league-spartan), sans-serif\"`. Installing a `@fontsource*` package and importing its CSS also works but gives up subsetting, preload and `size-adjust`/`ascent-override` fallbacks, so it regresses CLS.",
166
166
  "type": "object",
167
167
  "propertyNames": {
168
168
  "type": "string"
@@ -458,7 +458,7 @@
458
458
  }
459
459
  ]
460
460
  },
461
- "description": "An open bag of CSS-ish keys (family / size / weight / line-height / tracking / transform / decoration / text-wrap / …); the generator maps known keys and passes the rest through."
461
+ "description": "A bag of CSS-ish keys, each mapped to a declaration plus a `--<role>-<sfx>` override hook. The recognised set is **closed**: `family`, `size`, `weight`, `style`, `line-height`, `tracking` (→ `letter-spacing`), `text-transform`, `text-decoration`, `text-wrap`, `color`. Note the last four are spelled with their full CSS property names — `transform` and `decoration` are NOT accepted. Anything unrecognised is **ignored**, not passed through, so the generator warns rather than emitting it: a silently-dropped `transform: uppercase` is how title-case navigation reaches production. Note also that `style`, `text-transform`, `text-decoration` and `text-wrap` are emitted on **every** role at their identity value (`normal`/`none`/`none`/`wrap`) whether declared or not, so applying one role class over another fully resets it — which means **omitting `text-wrap` is not \"inherit\"**: it emits `text-wrap: wrap` and cancels the `pretty` the role would otherwise inherit from a `pretty` ancestor such as a `body`-mapped role. Declare it on every role — `balance` for heading-like roles, `pretty` for copy, `wrap` for short single-line labels."
462
462
  }
463
463
  },
464
464
  "headings": {