@sudajs/cli 0.10.2 → 0.10.3

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.10.2",
3
+ "version": "0.10.3",
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": "2.6.0"
37
+ "@sudajs/theme-engine": "2.6.1"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@tailwindcss/postcss": "^4.3.0",
@@ -9,6 +9,7 @@ Your job in a theme project is to create a complete, publishable theme with them
9
9
  - Keep `renderMode: "ssr"` in `src/manifest.ts`.
10
10
  - Keep source entries at `src/index.tsx`, `src/runtime.client.ts`, and `src/styles.css`.
11
11
  - Export a complete `ThemeModule` from `src/index.tsx`: `manifest`, `pageConfig`, `layoutConfig`, `defaultLayout`, and `starterPages`.
12
+ - Starter page slugs preview at site-like root routes in `suda theme dev`: `home` is `/home`, `contact-us` is `/contact-us`. Do not use `/pages/...` as a preview route prefix.
12
13
  - Keep `pageConfig` focused on page content sections. Keep `layoutConfig` focused on shared site chrome such as root, header, page outlet, and footer.
13
14
  - Do not edit generated files under `dist/`; run `pnpm build` to regenerate them.
14
15
  - React, React DOM, Puck, and `@sudajs/theme-engine` are host-provided peers. Do not bundle private copies into the theme runtime.
@@ -115,10 +116,16 @@ theme owns the public UI only.
115
116
 
116
117
  - Read the form through `getContactForm(puck?.metadata)` from
117
118
  `@sudajs/theme-engine/runtime`.
119
+ - `suda theme dev` passes a default contact form through `metadata.contactForm`
120
+ so contact sections can be developed and previewed locally without a project.
121
+ - If there is no valid, enabled form configuration, render nothing for the form
122
+ area; do not show a public "contact form unavailable" fallback panel.
118
123
  - Style all five supported field types: `text`, `textarea`, `checkbox`,
119
124
  `radio`, and `select`.
120
125
  - Style labels, inputs, submit button, success state, validation errors, and
121
126
  responsive layout in the theme's visual language.
127
+ - Only render placeholders supplied by the form setting. Do not invent default
128
+ placeholder text for any field type, including the empty option in `select`.
122
129
  - Submit to `contactForm.endpoint` with the field values; never hardcode
123
130
  notification channels, webhook URLs, ICP records, or white-label branding in
124
131
  the contact section.