@sudajs/cli 0.12.3 → 0.12.4

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": "@sudajs/cli",
3
- "version": "0.12.3",
3
+ "version": "0.12.4",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "suda": "./bin/suda.js"
@@ -34,7 +34,7 @@
34
34
  "react": "^19.2.7",
35
35
  "react-dom": "^19.2.7",
36
36
  "zod": "^3.24.1",
37
- "@sudajs/theme-engine": "4.0.2"
37
+ "@sudajs/theme-engine": "5.0.0"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@tailwindcss/postcss": "^4.3.0",
@@ -139,7 +139,7 @@ Field source of truth:
139
139
  generation reliable.
140
140
  - Use `description`, `placeholder`, and `visibleIf` only when they help the
141
141
  editor or AI choose the right value.
142
- - Suda extended field types are `url`, `icon`, `font`, `menu`, `color`,
142
+ - Suda extended field types are `url`, `icon`, `color`,
143
143
  `range`, `spacing`, `media`, `image`, `video`, and `posts`. These are valid
144
144
  in `fields` and are normalized by `@sudajs/theme-engine`.
145
145
 
@@ -189,8 +189,6 @@ fields: {
189
189
  download: { type: "media", kind: "file", label: t("common.fields.file") },
190
190
  icon: { type: "icon", label: t("common.fields.icon") },
191
191
  accentColor: { type: "color", label: t("common.fields.color") },
192
- font: { type: "font", label: t("common.fields.font") },
193
- links: { type: "menu", label: t("common.fields.menu") },
194
192
  spacing: { type: "spacing", label: t("common.fields.spacing") },
195
193
 
196
194
  // Dynamic post lists. Use this only on page sections that intentionally
@@ -492,11 +490,11 @@ radius, shadows, or spacing.
492
490
  - Section props may expose semantic choices such as `tone`, `variant`,
493
491
  `columns`, `mediaPosition`, `showImage`, or `spacing`. Map those choices to
494
492
  the existing design tokens and shared CSS classes.
495
- - Do not add raw `color`, `font`, `spacing`, `radius`, or `shadow` fields to a
493
+ - Do not add raw `color`, typography, `spacing`, `radius`, or `shadow` fields to a
496
494
  section just because the CSS has a value. Expose a design token field only
497
495
  when the user should intentionally customize that value per component
498
496
  instance. Otherwise, keep the value in the theme CSS.
499
- - Use `color`, `font`, and `spacing` field types only for real editor-facing
497
+ - Use `color` and `spacing` field types only for real editor-facing
500
498
  design controls. Use `select`/`radio` for named variants that are already
501
499
  part of the theme design system.
502
500
  - Local blocks inside `blockSlots` inherit the host section's design system.
@@ -534,10 +532,11 @@ Use the most specific field type available. A generic `text` field may pass type
534
532
 
535
533
  - Always use `url` for links and routes, including anchors, `mailto:` links, and external URLs. Do not use `text` for href-like props.
536
534
  - Use `image` for images, `video` for videos, and `media` only when the same prop intentionally accepts mixed media.
537
- - Use `color` for color values, `icon` for icon names, `font` for font selections, `range` for bounded numbers, `spacing` for spacing tokens, and `menu` for navigation items.
535
+ - Use `color` for color values, `icon` for icon names, `range` for bounded numbers, and `spacing` for spacing tokens.
536
+ - Use `select` for typography choices and `array`/`object` fields for navigation lists.
538
537
  - Use `select` or `radio` for fixed choices. Keep option values stable, short, and serializable.
539
538
  - Use `array` for repeatable items and `object` for grouped settings. Keep nested field names aligned with the prop shape and `defaultProps`.
540
- - Use `textarea` for multi-sentence copy. Use `text` only for short labels, headings, slugs, names, or plain strings that are not URLs, media, colors, icons, fonts, or menus.
539
+ - Use `textarea` for multi-sentence copy. Use `text` only for short labels, headings, slugs, names, or plain strings that are not URLs, media, colors, icons, typography choices, or navigation lists.
541
540
  - Use `t(...)` for every editor-facing `label` in components, fields, nested
542
541
  `arrayFields` / `object.fields`, local blocks, and option lists. Add matching
543
542
  keys to `src/locales/en.json` at the same time.