uniweb 1.21.13 → 1.21.15

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": "uniweb",
3
- "version": "1.21.13",
3
+ "version": "1.21.15",
4
4
  "description": "Create structured Vite + React sites with content/code separation",
5
5
  "type": "module",
6
6
  "bin": {
@@ -41,13 +41,13 @@
41
41
  "js-yaml": "^4.3.2",
42
42
  "prompts": "^2.4.2",
43
43
  "tar": "^7.5.21",
44
- "@uniweb/content-writer": "~1.3.1",
45
- "@uniweb/core": "~1.4.10",
44
+ "@uniweb/core": "~1.4.11",
46
45
  "@uniweb/semantic-parser": "~1.13.0",
47
- "@uniweb/schemas": "~1.6.5"
46
+ "@uniweb/schemas": "~1.6.5",
47
+ "@uniweb/content-writer": "~1.3.1"
48
48
  },
49
49
  "peerDependencies": {
50
- "@uniweb/build": "~1.10.9",
50
+ "@uniweb/build": "~1.10.10",
51
51
  "@uniweb/semantic-parser": "~1.13.0",
52
52
  "@uniweb/content-reader": "~1.5.7"
53
53
  },
@@ -592,14 +592,14 @@ Fenced code serves three purposes depending on its info string: `yaml:`/`json:`
592
592
 
593
593
  ````markdown
594
594
  ```yaml:form
595
- fields:
596
- - name: email
597
- type: email
598
- submitLabel: Send
595
+ - name: email
596
+ type: string
597
+ format: email
598
+ label: Email
599
599
  ```
600
600
  ````
601
601
 
602
- → `content.data?.form` = `{ fields: [...], submitLabel: "Send" }`, when the component declares `data: { form: … }`. A block under a key the component does not declare stays out of `content.data` (the dev console says so) and is still in `content.sequence`. A block inside an item is that item's (`content.items[n].data`) and needs no declaration.
602
+ → `content.data?.form` = `[{ name: "email", type: "string", format: "email", label: "Email" }]`, when the component declares `data: { form: … }`. A block under a key the component does not declare stays out of `content.data` (the dev console says so) and is still in `content.sequence`. A block inside an item is that item's (`content.items[n].data`) and needs no declaration.
603
603
 
604
604
  **Code snippets** — display content with a language for syntax highlighting, collected in `content.snippets` as `[{ language, code }]`. Filter with `content.snippets.filter(s => s.language === 'css')`.
605
605
 
@@ -2074,6 +2074,10 @@ A form gets its destination from the first of these that applies:
2074
2074
  3. **Neither** — there is no destination: render no form, or fall back to contact
2075
2075
  details the site already carries.
2076
2076
 
2077
+ In `uniweb dev` the dev server is the host: `submit: true` is answered there, so a form shows and
2078
+ can be sent while you work. Each submission is printed in the terminal and kept in the site's
2079
+ `.uniweb/dev-submissions/` — read it there to see exactly what an endpoint would receive.
2080
+
2077
2081
  That is the general arrangement, not a forms-only one. A host states everything
2078
2082
  it offers in the served payload's `config.services`, keyed by name, and every service
2079
2083
  resolves by the same rule — the host's offer, then the site's own address, then
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "generatedAt": "2026-10-27T19:36:44.502Z",
3
+ "generatedAt": "2026-10-27T20:43:28.435Z",
4
4
  "packages": {
5
5
  "@uniweb/api": {
6
6
  "version": "1.6.4"
7
7
  },
8
8
  "@uniweb/build": {
9
- "version": "1.10.9"
9
+ "version": "1.10.10"
10
10
  },
11
11
  "@uniweb/content-reader": {
12
12
  "version": "1.5.7"
@@ -15,7 +15,7 @@
15
15
  "version": "1.3.1"
16
16
  },
17
17
  "@uniweb/core": {
18
- "version": "1.4.10"
18
+ "version": "1.4.11"
19
19
  },
20
20
  "@uniweb/frame-bridge": {
21
21
  "version": "1.0.2"
@@ -36,7 +36,7 @@
36
36
  "version": "1.2.5"
37
37
  },
38
38
  "@uniweb/runtime": {
39
- "version": "1.2.8"
39
+ "version": "1.2.9"
40
40
  },
41
41
  "@uniweb/scene": {
42
42
  "version": "1.0.1"