@prenta/sections-react 0.15.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/CHANGELOG.md +1037 -0
- package/LICENSE +21 -0
- package/README.md +36 -0
- package/dist/PrentaForm.d.ts +22 -0
- package/dist/PrentaForm.d.ts.map +1 -0
- package/dist/PrentaForm.js +203 -0
- package/dist/PrentaForm.js.map +1 -0
- package/dist/PrentaFormHtml.d.ts +19 -0
- package/dist/PrentaFormHtml.d.ts.map +1 -0
- package/dist/PrentaFormHtml.js +18 -0
- package/dist/PrentaFormHtml.js.map +1 -0
- package/dist/Sections.d.ts +40 -0
- package/dist/Sections.d.ts.map +1 -0
- package/dist/Sections.js +80 -0
- package/dist/Sections.js.map +1 -0
- package/dist/SiteNav.d.ts +38 -0
- package/dist/SiteNav.d.ts.map +1 -0
- package/dist/SiteNav.js +38 -0
- package/dist/SiteNav.js.map +1 -0
- package/dist/attribution.d.ts +31 -0
- package/dist/attribution.d.ts.map +1 -0
- package/dist/attribution.js +66 -0
- package/dist/attribution.js.map +1 -0
- package/dist/components/WidgetEmbedSection.d.ts +9 -0
- package/dist/components/WidgetEmbedSection.d.ts.map +1 -0
- package/dist/components/WidgetEmbedSection.js +113 -0
- package/dist/components/WidgetEmbedSection.js.map +1 -0
- package/dist/components/defaults.d.ts +34 -0
- package/dist/components/defaults.d.ts.map +1 -0
- package/dist/components/defaults.js +170 -0
- package/dist/components/defaults.js.map +1 -0
- package/dist/forms.d.ts +103 -0
- package/dist/forms.d.ts.map +1 -0
- package/dist/forms.js +217 -0
- package/dist/forms.js.map +1 -0
- package/dist/image.d.ts +17 -0
- package/dist/image.d.ts.map +1 -0
- package/dist/image.js +14 -0
- package/dist/image.js.map +1 -0
- package/dist/index.d.ts +51 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +44 -0
- package/dist/index.js.map +1 -0
- package/dist/lcp.d.ts +30 -0
- package/dist/lcp.d.ts.map +1 -0
- package/dist/lcp.js +34 -0
- package/dist/lcp.js.map +1 -0
- package/dist/primitives.d.ts +14 -0
- package/dist/primitives.d.ts.map +1 -0
- package/dist/primitives.js +18 -0
- package/dist/primitives.js.map +1 -0
- package/dist/registry.d.ts +40 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +62 -0
- package/dist/registry.js.map +1 -0
- package/dist/sizes.d.ts +30 -0
- package/dist/sizes.d.ts.map +1 -0
- package/dist/sizes.js +34 -0
- package/dist/sizes.js.map +1 -0
- package/dist/testing.d.ts +95 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +159 -0
- package/dist/testing.js.map +1 -0
- package/dist/types.d.ts +130 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils.d.ts +21 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +65 -0
- package/dist/utils.js.map +1 -0
- package/dist/webmcp.d.ts +6 -0
- package/dist/webmcp.d.ts.map +1 -0
- package/dist/webmcp.js +18 -0
- package/dist/webmcp.js.map +1 -0
- package/package.json +69 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,1037 @@
|
|
|
1
|
+
# @actuate-media/sections-react
|
|
2
|
+
|
|
3
|
+
## 0.15.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 5eea995: Product rename: ActuateCMS is now **Prenta**. Every package moves from the
|
|
8
|
+
`@actuate-media/*` scope to `@prenta/*` with simplified names (`@prenta/core`,
|
|
9
|
+
`@prenta/admin`, `create-prenta`), and version numbers continue from where the
|
|
10
|
+
old scope left off.
|
|
11
|
+
|
|
12
|
+
This is a clean break — no backwards-compat aliases:
|
|
13
|
+
- **npm packages**: `@actuate-media/cms-core` → `@prenta/core`,
|
|
14
|
+
`@actuate-media/cms-admin` → `@prenta/admin`, all other packages keep their
|
|
15
|
+
suffix under `@prenta/*`. `create-actuate-cms` → `create-prenta`
|
|
16
|
+
(`npm create prenta`), `create-actuate-astro` → `create-prenta-astro`.
|
|
17
|
+
CLI bins: `actuate`/`actuate-cms` → `prenta`/`prenta-cms`; `actuate-mcp` →
|
|
18
|
+
`prenta-mcp`.
|
|
19
|
+
- **Database**: migration `0012_rename_to_prenta` renames all 36 `actuate_*`
|
|
20
|
+
tables to `prenta_*` in place (plus prefixed constraints, indexes, and
|
|
21
|
+
sequences). Run `prisma migrate deploy` when upgrading.
|
|
22
|
+
- **Runtime identifiers**: `getActuateConfig` → `getPrentaConfig`,
|
|
23
|
+
`handleActuateAPI` → `handlePrentaAPI`, `ActuateClient` → `PrentaClient`,
|
|
24
|
+
`ActuateDB` → `PrentaDB`, config file `actuate.config.ts` →
|
|
25
|
+
`prenta.config.ts`, CSS scopes `.actuate-admin`/`.actuate-canvas` →
|
|
26
|
+
`.prenta-admin`/`.prenta-canvas`, preview protocol `actuate-preview:*` →
|
|
27
|
+
`prenta-preview:*`, webhook headers `X-Actuate-*` → `X-Prenta-*`, session
|
|
28
|
+
cookie `actuate_session` → `prenta_session`, env vars `ACTUATE_*` →
|
|
29
|
+
`PRENTA_*`, purge route `/api/actuate/purge` → `/api/prenta/purge`.
|
|
30
|
+
- **Sessions and webhooks**: all sessions reset on upgrade (cookie + JWT issuer
|
|
31
|
+
changed); webhook consumers must re-verify signatures against the new
|
|
32
|
+
`X-Prenta-*` headers.
|
|
33
|
+
|
|
34
|
+
The old `@actuate-media/*` packages are deprecated on npm and will receive no
|
|
35
|
+
further releases.
|
|
36
|
+
|
|
37
|
+
### Patch Changes
|
|
38
|
+
|
|
39
|
+
- Updated dependencies [5eea995]
|
|
40
|
+
- @prenta/core@0.118.0
|
|
41
|
+
|
|
42
|
+
## 0.14.0
|
|
43
|
+
|
|
44
|
+
### Minor Changes
|
|
45
|
+
|
|
46
|
+
- 56ebbb9: New `assertSectionCoverage` export in `@actuate-media/sections-react/testing` (issue #775) — the real implementation behind the `verify:sections` check the docs describe. Asserts the three-layer section contract agrees: every declared `sections.types` id has an entry in the shared renderer map, every renderer corresponds to a declared type (catches schema renames that leave a stale renderer), and intentionally renderer-less types are declared via an `allowDataOnly` opt-out list that fails when stale. Aggregates all problems into one actionable error.
|
|
47
|
+
|
|
48
|
+
## 0.13.1
|
|
49
|
+
|
|
50
|
+
### Patch Changes
|
|
51
|
+
|
|
52
|
+
- 02be20a: Visual editing Stage 3: path-aware section content updates, preview bridge edit/mode/request-media protocol with suppress-echo for canvas text edits, and media field-kind annotations on default section renderers.
|
|
53
|
+
- Updated dependencies [02be20a]
|
|
54
|
+
- @actuate-media/cms-core@0.117.0
|
|
55
|
+
|
|
56
|
+
## 0.13.0
|
|
57
|
+
|
|
58
|
+
### Minor Changes
|
|
59
|
+
|
|
60
|
+
- abce7a5: Visual editing Phase 2: field selection via `data-cms-field`, unified `insp-field-*` inspector ids, and canvas `fieldPath` → inspector focus.
|
|
61
|
+
|
|
62
|
+
## 0.12.0
|
|
63
|
+
|
|
64
|
+
### Minor Changes
|
|
65
|
+
|
|
66
|
+
- 1216ee7: Visual editing Phase 1: annotate `<Sections>` with `data-cms-section-id` / `data-cms-section-type`, and wire an origin-pinned `actuate-preview:*` postMessage bus so Site preview can select sections into the inspector and highlight the selection.
|
|
67
|
+
|
|
68
|
+
## 0.11.0
|
|
69
|
+
|
|
70
|
+
### Minor Changes
|
|
71
|
+
|
|
72
|
+
- 6ff80a6: Add `@actuate-media/sections-react/testing` (`assertSectionRenderParity`, canvas render options) and wire an Astro-split starter `test:parity` gate so canvas and public orchestrators can't drift into a WYSIWYG lie.
|
|
73
|
+
|
|
74
|
+
## 0.10.25
|
|
75
|
+
|
|
76
|
+
### Patch Changes
|
|
77
|
+
|
|
78
|
+
- Updated dependencies [73854fc]
|
|
79
|
+
- @actuate-media/cms-core@0.116.0
|
|
80
|
+
|
|
81
|
+
## 0.10.24
|
|
82
|
+
|
|
83
|
+
### Patch Changes
|
|
84
|
+
|
|
85
|
+
- Updated dependencies [576f076]
|
|
86
|
+
- @actuate-media/cms-core@0.115.0
|
|
87
|
+
|
|
88
|
+
## 0.10.23
|
|
89
|
+
|
|
90
|
+
### Patch Changes
|
|
91
|
+
|
|
92
|
+
- Updated dependencies [dfffe08]
|
|
93
|
+
- @actuate-media/cms-core@0.114.0
|
|
94
|
+
|
|
95
|
+
## 0.10.22
|
|
96
|
+
|
|
97
|
+
### Patch Changes
|
|
98
|
+
|
|
99
|
+
- Updated dependencies [38aa813]
|
|
100
|
+
- @actuate-media/cms-core@0.113.0
|
|
101
|
+
|
|
102
|
+
## 0.10.21
|
|
103
|
+
|
|
104
|
+
### Patch Changes
|
|
105
|
+
|
|
106
|
+
- Updated dependencies [cf97a40]
|
|
107
|
+
- @actuate-media/cms-core@0.112.0
|
|
108
|
+
|
|
109
|
+
## 0.10.20
|
|
110
|
+
|
|
111
|
+
### Patch Changes
|
|
112
|
+
|
|
113
|
+
- Updated dependencies [90f9801]
|
|
114
|
+
- Updated dependencies [90f9801]
|
|
115
|
+
- @actuate-media/cms-core@0.111.0
|
|
116
|
+
|
|
117
|
+
## 0.10.19
|
|
118
|
+
|
|
119
|
+
### Patch Changes
|
|
120
|
+
|
|
121
|
+
- Updated dependencies [56c1309]
|
|
122
|
+
- @actuate-media/cms-core@0.110.2
|
|
123
|
+
|
|
124
|
+
## 0.10.18
|
|
125
|
+
|
|
126
|
+
### Patch Changes
|
|
127
|
+
|
|
128
|
+
- Updated dependencies [f4766d4]
|
|
129
|
+
- @actuate-media/cms-core@0.110.1
|
|
130
|
+
|
|
131
|
+
## 0.10.17
|
|
132
|
+
|
|
133
|
+
### Patch Changes
|
|
134
|
+
|
|
135
|
+
- Updated dependencies [46ea4a7]
|
|
136
|
+
- @actuate-media/cms-core@0.110.0
|
|
137
|
+
|
|
138
|
+
## 0.10.16
|
|
139
|
+
|
|
140
|
+
### Patch Changes
|
|
141
|
+
|
|
142
|
+
- Updated dependencies [e4e55de]
|
|
143
|
+
- @actuate-media/cms-core@0.109.0
|
|
144
|
+
|
|
145
|
+
## 0.10.15
|
|
146
|
+
|
|
147
|
+
### Patch Changes
|
|
148
|
+
|
|
149
|
+
- Updated dependencies [6eaffa5]
|
|
150
|
+
- @actuate-media/cms-core@0.108.0
|
|
151
|
+
|
|
152
|
+
## 0.10.14
|
|
153
|
+
|
|
154
|
+
### Patch Changes
|
|
155
|
+
|
|
156
|
+
- Updated dependencies [1c2afa5]
|
|
157
|
+
- @actuate-media/cms-core@0.107.3
|
|
158
|
+
|
|
159
|
+
## 0.10.13
|
|
160
|
+
|
|
161
|
+
### Patch Changes
|
|
162
|
+
|
|
163
|
+
- Updated dependencies [b305f0c]
|
|
164
|
+
- @actuate-media/cms-core@0.107.2
|
|
165
|
+
|
|
166
|
+
## 0.10.12
|
|
167
|
+
|
|
168
|
+
### Patch Changes
|
|
169
|
+
|
|
170
|
+
- Updated dependencies [a26f61a]
|
|
171
|
+
- @actuate-media/cms-core@0.107.1
|
|
172
|
+
|
|
173
|
+
## 0.10.11
|
|
174
|
+
|
|
175
|
+
### Patch Changes
|
|
176
|
+
|
|
177
|
+
- Updated dependencies [f676bcc]
|
|
178
|
+
- @actuate-media/cms-core@0.107.0
|
|
179
|
+
|
|
180
|
+
## 0.10.10
|
|
181
|
+
|
|
182
|
+
### Patch Changes
|
|
183
|
+
|
|
184
|
+
- Updated dependencies [9d5dad3]
|
|
185
|
+
- @actuate-media/cms-core@0.106.1
|
|
186
|
+
|
|
187
|
+
## 0.10.9
|
|
188
|
+
|
|
189
|
+
### Patch Changes
|
|
190
|
+
|
|
191
|
+
- Updated dependencies [3d1a79f]
|
|
192
|
+
- @actuate-media/cms-core@0.106.0
|
|
193
|
+
|
|
194
|
+
## 0.10.8
|
|
195
|
+
|
|
196
|
+
### Patch Changes
|
|
197
|
+
|
|
198
|
+
- Updated dependencies [78671c4]
|
|
199
|
+
- @actuate-media/cms-core@0.105.0
|
|
200
|
+
|
|
201
|
+
## 0.10.7
|
|
202
|
+
|
|
203
|
+
### Patch Changes
|
|
204
|
+
|
|
205
|
+
- Updated dependencies [258cbc3]
|
|
206
|
+
- @actuate-media/cms-core@0.104.0
|
|
207
|
+
|
|
208
|
+
## 0.10.6
|
|
209
|
+
|
|
210
|
+
### Patch Changes
|
|
211
|
+
|
|
212
|
+
- Updated dependencies [2f2fe29]
|
|
213
|
+
- @actuate-media/cms-core@0.103.0
|
|
214
|
+
|
|
215
|
+
## 0.10.5
|
|
216
|
+
|
|
217
|
+
### Patch Changes
|
|
218
|
+
|
|
219
|
+
- Updated dependencies [f8a2c07]
|
|
220
|
+
- @actuate-media/cms-core@0.102.0
|
|
221
|
+
|
|
222
|
+
## 0.10.4
|
|
223
|
+
|
|
224
|
+
### Patch Changes
|
|
225
|
+
|
|
226
|
+
- Updated dependencies [afceb12]
|
|
227
|
+
- @actuate-media/cms-core@0.101.2
|
|
228
|
+
|
|
229
|
+
## 0.10.3
|
|
230
|
+
|
|
231
|
+
### Patch Changes
|
|
232
|
+
|
|
233
|
+
- Updated dependencies [81aa012]
|
|
234
|
+
- @actuate-media/cms-core@0.101.1
|
|
235
|
+
|
|
236
|
+
## 0.10.2
|
|
237
|
+
|
|
238
|
+
### Patch Changes
|
|
239
|
+
|
|
240
|
+
- Updated dependencies [58f3ca1]
|
|
241
|
+
- @actuate-media/cms-core@0.101.0
|
|
242
|
+
|
|
243
|
+
## 0.10.1
|
|
244
|
+
|
|
245
|
+
### Patch Changes
|
|
246
|
+
|
|
247
|
+
- Updated dependencies [cc6ad93]
|
|
248
|
+
- Updated dependencies [cc6ad93]
|
|
249
|
+
- Updated dependencies [cc6ad93]
|
|
250
|
+
- @actuate-media/cms-core@0.100.0
|
|
251
|
+
|
|
252
|
+
## 0.10.0
|
|
253
|
+
|
|
254
|
+
### Minor Changes
|
|
255
|
+
|
|
256
|
+
- 80d4e5f: Marketing attribution tracking for forms — captures where every lead came from, automatically.
|
|
257
|
+
|
|
258
|
+
**cms-core**: rebuilt `forms/attribution` (now also published at `@actuate-media/cms-core/forms/attribution`) with a first-touch (30-day) / last-touch (24-hour) model merged at submit, the full ad click-ID registry (gclid, fbclid, msclkid, ttclid, li_fat_id, dclid, twclid, rdt_cid + long-tail IDs in `extraIds`), and referrer classification into marketing channels (paid / organic search / social / email / **ai** / referral / direct) with friendly source names ("ChatGPT" instead of "chat.openai.com"). Form entry payloads now expose the full `attribution` blob, CSV exports gained Source / Medium / Campaign / Channel / Referrer / Landing Page columns, and `form.submitted` webhooks forward the merged attribution to CRM consumers. Note: `AttributionData` gained required fields (`channel`, `referrerName`, `extraIds`, `firstTouchAt`, `lastTouchAt`, `version`) and `clickIds` grew from 5 to 8 networks.
|
|
259
|
+
|
|
260
|
+
**sections-react**: `<ActuateForm>` now records an attribution touch on mount and attaches the merged first/last-touch payload to every submission — no setup required. Capture is consent-gated when `@actuate-media/plugin-consent` is installed (waits for an analytics grant; proceeds when the plugin is absent). New `<AttributionTracker />` component for the site layout improves first-touch fidelity across multi-page journeys.
|
|
261
|
+
|
|
262
|
+
**cms-admin**: the form entry detail pane now shows the full attribution picture — channel with friendly source name, source/medium/campaign/term/content, landing page, referrer, device type, first-touch date, and any ad click IDs — with graceful fallback to the legacy UTM columns for older entries.
|
|
263
|
+
|
|
264
|
+
### Patch Changes
|
|
265
|
+
|
|
266
|
+
- Updated dependencies [80d4e5f]
|
|
267
|
+
- Updated dependencies [80d4e5f]
|
|
268
|
+
- @actuate-media/cms-core@0.99.0
|
|
269
|
+
|
|
270
|
+
## 0.9.0
|
|
271
|
+
|
|
272
|
+
### Minor Changes
|
|
273
|
+
|
|
274
|
+
- 21aa417: Consolidate the two form-editing surfaces onto the typed Forms API and make GA4 form analytics work end-to-end.
|
|
275
|
+
|
|
276
|
+
**cms-admin** — The Edit Form page is rebuilt as the canonical full-page form editor, backed by the same typed Forms API as the Forms list's inline Schema pane (no more legacy `/collections/forms` writes that bypassed schema versioning). It now covers everything in one place: Details (name/description/status + post-submit confirmation), Fields (versioned schema editor), **Notifications** (previously only reachable from the Schema pane), Analytics (GA4), Embed, and Integrations (webhooks). Confirmation settings now persist to `successMessage` / `redirectUrl` — the fields the public submission pipeline actually reads (the old editor wrote a `confirmation` object the runtime ignored). New forms are created through `POST /forms`, gaining slug generation, an initial schema version, and notification defaults, then route into the full editor.
|
|
277
|
+
|
|
278
|
+
**cms-core** — `FormDefinition` gains a sanitized `analytics` (GA4) config, persisted via the forms service (`createForm` / `updateForm` / `duplicateForm`) and exposed on the public form schema only when tracking is enabled. New `normalizeAnalyticsConfig` export and a client-safe `@actuate-media/cms-core/forms/analytics` subpath export.
|
|
279
|
+
|
|
280
|
+
**sections-react** — `<ActuateForm>` now fires GA4 `form_start` / `form_submit` / `form_error` events (with optional conversion value) when the form has analytics enabled. Also fixes the success state to read the submit endpoint's `confirmation` _object_ (`{ type, message, redirectUrl }`) — previously it was treated as a string, which broke the success message and ignored server-driven redirects. New `resolveSubmitOutcome` helper with regression coverage.
|
|
281
|
+
|
|
282
|
+
**plugin-forms** — The `forms` collection field map now declares every key the typed forms service persists (`description`, `notificationSettings`, `embedSettings`, `spamSettings`, `successMessage`, `redirectUrl`, `analytics`, `activeSchemaVersionId`, …). The data layer strips undeclared keys on write, so consumer apps registering this plugin would previously drop notification/embed/spam settings silently. Status options now match the typed `FormStatus` (`active` / `draft` / `archived`).
|
|
283
|
+
|
|
284
|
+
### Patch Changes
|
|
285
|
+
|
|
286
|
+
- Updated dependencies [c6b006c]
|
|
287
|
+
- Updated dependencies [21aa417]
|
|
288
|
+
- @actuate-media/cms-core@0.98.0
|
|
289
|
+
|
|
290
|
+
## 0.8.29
|
|
291
|
+
|
|
292
|
+
### Patch Changes
|
|
293
|
+
|
|
294
|
+
- Updated dependencies [fb89234]
|
|
295
|
+
- @actuate-media/cms-core@0.97.0
|
|
296
|
+
|
|
297
|
+
## 0.8.28
|
|
298
|
+
|
|
299
|
+
### Patch Changes
|
|
300
|
+
|
|
301
|
+
- Updated dependencies [fdfae4c]
|
|
302
|
+
- @actuate-media/cms-core@0.96.0
|
|
303
|
+
|
|
304
|
+
## 0.8.27
|
|
305
|
+
|
|
306
|
+
### Patch Changes
|
|
307
|
+
|
|
308
|
+
- Updated dependencies [2ccc0a7]
|
|
309
|
+
- @actuate-media/cms-core@0.95.1
|
|
310
|
+
|
|
311
|
+
## 0.8.26
|
|
312
|
+
|
|
313
|
+
### Patch Changes
|
|
314
|
+
|
|
315
|
+
- Updated dependencies [0bd5153]
|
|
316
|
+
- @actuate-media/cms-core@0.95.0
|
|
317
|
+
|
|
318
|
+
## 0.8.25
|
|
319
|
+
|
|
320
|
+
### Patch Changes
|
|
321
|
+
|
|
322
|
+
- Updated dependencies [d9096d9]
|
|
323
|
+
- @actuate-media/cms-core@0.94.0
|
|
324
|
+
|
|
325
|
+
## 0.8.24
|
|
326
|
+
|
|
327
|
+
### Patch Changes
|
|
328
|
+
|
|
329
|
+
- Updated dependencies [fe2b661]
|
|
330
|
+
- @actuate-media/cms-core@0.93.11
|
|
331
|
+
|
|
332
|
+
## 0.8.23
|
|
333
|
+
|
|
334
|
+
### Patch Changes
|
|
335
|
+
|
|
336
|
+
- Updated dependencies [78c6d0f]
|
|
337
|
+
- @actuate-media/cms-core@0.93.10
|
|
338
|
+
|
|
339
|
+
## 0.8.22
|
|
340
|
+
|
|
341
|
+
### Patch Changes
|
|
342
|
+
|
|
343
|
+
- Updated dependencies [06e7fbc]
|
|
344
|
+
- @actuate-media/cms-core@0.93.9
|
|
345
|
+
|
|
346
|
+
## 0.8.21
|
|
347
|
+
|
|
348
|
+
### Patch Changes
|
|
349
|
+
|
|
350
|
+
- Updated dependencies [28dd310]
|
|
351
|
+
- @actuate-media/cms-core@0.93.8
|
|
352
|
+
|
|
353
|
+
## 0.8.20
|
|
354
|
+
|
|
355
|
+
### Patch Changes
|
|
356
|
+
|
|
357
|
+
- Updated dependencies [ac2cf04]
|
|
358
|
+
- @actuate-media/cms-core@0.93.7
|
|
359
|
+
|
|
360
|
+
## 0.8.19
|
|
361
|
+
|
|
362
|
+
### Patch Changes
|
|
363
|
+
|
|
364
|
+
- Updated dependencies [886238a]
|
|
365
|
+
- @actuate-media/cms-core@0.93.6
|
|
366
|
+
|
|
367
|
+
## 0.8.18
|
|
368
|
+
|
|
369
|
+
### Patch Changes
|
|
370
|
+
|
|
371
|
+
- Updated dependencies [430ae43]
|
|
372
|
+
- @actuate-media/cms-core@0.93.5
|
|
373
|
+
|
|
374
|
+
## 0.8.17
|
|
375
|
+
|
|
376
|
+
### Patch Changes
|
|
377
|
+
|
|
378
|
+
- Updated dependencies [899ca9a]
|
|
379
|
+
- @actuate-media/cms-core@0.93.4
|
|
380
|
+
|
|
381
|
+
## 0.8.16
|
|
382
|
+
|
|
383
|
+
### Patch Changes
|
|
384
|
+
|
|
385
|
+
- Updated dependencies [77b3922]
|
|
386
|
+
- @actuate-media/cms-core@0.93.3
|
|
387
|
+
|
|
388
|
+
## 0.8.15
|
|
389
|
+
|
|
390
|
+
### Patch Changes
|
|
391
|
+
|
|
392
|
+
- Updated dependencies [4421c32]
|
|
393
|
+
- @actuate-media/cms-core@0.93.2
|
|
394
|
+
|
|
395
|
+
## 0.8.14
|
|
396
|
+
|
|
397
|
+
### Patch Changes
|
|
398
|
+
|
|
399
|
+
- Updated dependencies [898ec8b]
|
|
400
|
+
- @actuate-media/cms-core@0.93.1
|
|
401
|
+
|
|
402
|
+
## 0.8.13
|
|
403
|
+
|
|
404
|
+
### Patch Changes
|
|
405
|
+
|
|
406
|
+
- Updated dependencies [c231dd0]
|
|
407
|
+
- @actuate-media/cms-core@0.93.0
|
|
408
|
+
|
|
409
|
+
## 0.8.12
|
|
410
|
+
|
|
411
|
+
### Patch Changes
|
|
412
|
+
|
|
413
|
+
- Updated dependencies [cc18833]
|
|
414
|
+
- @actuate-media/cms-core@0.92.0
|
|
415
|
+
|
|
416
|
+
## 0.8.11
|
|
417
|
+
|
|
418
|
+
### Patch Changes
|
|
419
|
+
|
|
420
|
+
- Updated dependencies [f9513f3]
|
|
421
|
+
- @actuate-media/cms-core@0.91.1
|
|
422
|
+
|
|
423
|
+
## 0.8.10
|
|
424
|
+
|
|
425
|
+
### Patch Changes
|
|
426
|
+
|
|
427
|
+
- 041a228: Add the MIT `license` field to every published package (previously missing) and correct `repository.url` to `github.com/actuate-media/actuatecms` (13 packages carried the wrong org).
|
|
428
|
+
- Updated dependencies [041a228]
|
|
429
|
+
- Updated dependencies [b53b4a4]
|
|
430
|
+
- Updated dependencies [041a228]
|
|
431
|
+
- Updated dependencies [de419f2]
|
|
432
|
+
- Updated dependencies [898a3f8]
|
|
433
|
+
- Updated dependencies [4198920]
|
|
434
|
+
- Updated dependencies [d6665dd]
|
|
435
|
+
- @actuate-media/cms-core@0.91.0
|
|
436
|
+
|
|
437
|
+
## 0.8.9
|
|
438
|
+
|
|
439
|
+
### Patch Changes
|
|
440
|
+
|
|
441
|
+
- Updated dependencies [3b6d7b3]
|
|
442
|
+
- @actuate-media/cms-core@0.90.1
|
|
443
|
+
|
|
444
|
+
## 0.8.8
|
|
445
|
+
|
|
446
|
+
### Patch Changes
|
|
447
|
+
|
|
448
|
+
- Updated dependencies [4afb589]
|
|
449
|
+
- Updated dependencies [4afb589]
|
|
450
|
+
- Updated dependencies [4afb589]
|
|
451
|
+
- Updated dependencies [4afb589]
|
|
452
|
+
- Updated dependencies [4afb589]
|
|
453
|
+
- Updated dependencies [4afb589]
|
|
454
|
+
- Updated dependencies [4afb589]
|
|
455
|
+
- @actuate-media/cms-core@0.90.0
|
|
456
|
+
|
|
457
|
+
## 0.8.7
|
|
458
|
+
|
|
459
|
+
### Patch Changes
|
|
460
|
+
|
|
461
|
+
- Updated dependencies [41bd56a]
|
|
462
|
+
- @actuate-media/cms-core@0.89.0
|
|
463
|
+
|
|
464
|
+
## 0.8.6
|
|
465
|
+
|
|
466
|
+
### Patch Changes
|
|
467
|
+
|
|
468
|
+
- Updated dependencies [9046381]
|
|
469
|
+
- @actuate-media/cms-core@0.88.0
|
|
470
|
+
|
|
471
|
+
## 0.8.5
|
|
472
|
+
|
|
473
|
+
### Patch Changes
|
|
474
|
+
|
|
475
|
+
- Updated dependencies [163ae1d]
|
|
476
|
+
- @actuate-media/cms-core@0.87.0
|
|
477
|
+
|
|
478
|
+
## 0.8.4
|
|
479
|
+
|
|
480
|
+
### Patch Changes
|
|
481
|
+
|
|
482
|
+
- Updated dependencies [7c105f0]
|
|
483
|
+
- @actuate-media/cms-core@0.86.0
|
|
484
|
+
|
|
485
|
+
## 0.8.3
|
|
486
|
+
|
|
487
|
+
### Patch Changes
|
|
488
|
+
|
|
489
|
+
- Updated dependencies [685958f]
|
|
490
|
+
- @actuate-media/cms-core@0.85.3
|
|
491
|
+
|
|
492
|
+
## 0.8.2
|
|
493
|
+
|
|
494
|
+
### Patch Changes
|
|
495
|
+
|
|
496
|
+
- Updated dependencies [6a6101a]
|
|
497
|
+
- @actuate-media/cms-core@0.85.2
|
|
498
|
+
|
|
499
|
+
## 0.8.1
|
|
500
|
+
|
|
501
|
+
### Patch Changes
|
|
502
|
+
|
|
503
|
+
- Updated dependencies [6d254f3]
|
|
504
|
+
- @actuate-media/cms-core@0.85.1
|
|
505
|
+
|
|
506
|
+
## 0.8.0
|
|
507
|
+
|
|
508
|
+
### Minor Changes
|
|
509
|
+
|
|
510
|
+
- 1a3cf91: Agent-ready public forms (WebMCP): declarative tool metadata on public form schemas, zero-JS `renderPublicFormHtml` / `ActuateFormHtml`, urlencoded submit parsing, HTML confirmation responses, scaffold form prefetch, `actuate doctor` check, and docs.
|
|
511
|
+
|
|
512
|
+
### Patch Changes
|
|
513
|
+
|
|
514
|
+
- Updated dependencies [1a3cf91]
|
|
515
|
+
- @actuate-media/cms-core@0.85.0
|
|
516
|
+
|
|
517
|
+
## 0.7.1
|
|
518
|
+
|
|
519
|
+
### Patch Changes
|
|
520
|
+
|
|
521
|
+
- a6360cc: Forms launch kit (Batch 7): Integrations tab with Zapier Catch Hook helper and webhook CRUD in the form schema drawer; marketing seed contact form + /contact page; ActuateForm success focus; actuate doctor forms/CRM checks; forms-and-integrations docs.
|
|
522
|
+
|
|
523
|
+
## 0.7.0
|
|
524
|
+
|
|
525
|
+
### Minor Changes
|
|
526
|
+
|
|
527
|
+
- 6592e09: Add the `widget-embed` section type for lazy-loaded Elfsight, Trustpilot, and Calendly widgets with reserved min-height (CLS-safe) and optional cookie-consent gating via plugin-consent.
|
|
528
|
+
|
|
529
|
+
### Patch Changes
|
|
530
|
+
|
|
531
|
+
- Updated dependencies [e1ad198]
|
|
532
|
+
- Updated dependencies [a59a501]
|
|
533
|
+
- Updated dependencies [e1ad198]
|
|
534
|
+
- Updated dependencies [6592e09]
|
|
535
|
+
- @actuate-media/cms-core@0.84.0
|
|
536
|
+
|
|
537
|
+
## 0.6.17
|
|
538
|
+
|
|
539
|
+
### Patch Changes
|
|
540
|
+
|
|
541
|
+
- Updated dependencies [3983016]
|
|
542
|
+
- @actuate-media/cms-core@0.83.0
|
|
543
|
+
|
|
544
|
+
## 0.6.16
|
|
545
|
+
|
|
546
|
+
### Patch Changes
|
|
547
|
+
|
|
548
|
+
- Updated dependencies [c4c41f3]
|
|
549
|
+
- Updated dependencies [b22a7bc]
|
|
550
|
+
- @actuate-media/cms-core@0.82.0
|
|
551
|
+
|
|
552
|
+
## 0.6.15
|
|
553
|
+
|
|
554
|
+
### Patch Changes
|
|
555
|
+
|
|
556
|
+
- Updated dependencies [b8b930b]
|
|
557
|
+
- @actuate-media/cms-core@0.81.0
|
|
558
|
+
|
|
559
|
+
## 0.6.14
|
|
560
|
+
|
|
561
|
+
### Patch Changes
|
|
562
|
+
|
|
563
|
+
- Updated dependencies [af18915]
|
|
564
|
+
- @actuate-media/cms-core@0.80.1
|
|
565
|
+
|
|
566
|
+
## 0.6.13
|
|
567
|
+
|
|
568
|
+
### Patch Changes
|
|
569
|
+
|
|
570
|
+
- Updated dependencies [5fce703]
|
|
571
|
+
- @actuate-media/cms-core@0.80.0
|
|
572
|
+
|
|
573
|
+
## 0.6.12
|
|
574
|
+
|
|
575
|
+
### Patch Changes
|
|
576
|
+
|
|
577
|
+
- Updated dependencies [8229d94]
|
|
578
|
+
- @actuate-media/cms-core@0.79.3
|
|
579
|
+
|
|
580
|
+
## 0.6.11
|
|
581
|
+
|
|
582
|
+
### Patch Changes
|
|
583
|
+
|
|
584
|
+
- Updated dependencies [2966293]
|
|
585
|
+
- @actuate-media/cms-core@0.79.2
|
|
586
|
+
|
|
587
|
+
## 0.6.10
|
|
588
|
+
|
|
589
|
+
### Patch Changes
|
|
590
|
+
|
|
591
|
+
- Updated dependencies [0ad67c9]
|
|
592
|
+
- @actuate-media/cms-core@0.79.1
|
|
593
|
+
|
|
594
|
+
## 0.6.9
|
|
595
|
+
|
|
596
|
+
### Patch Changes
|
|
597
|
+
|
|
598
|
+
- Updated dependencies [39e2419]
|
|
599
|
+
- @actuate-media/cms-core@0.79.0
|
|
600
|
+
|
|
601
|
+
## 0.6.8
|
|
602
|
+
|
|
603
|
+
### Patch Changes
|
|
604
|
+
|
|
605
|
+
- Updated dependencies [bc51a1d]
|
|
606
|
+
- @actuate-media/cms-core@0.78.0
|
|
607
|
+
|
|
608
|
+
## 0.6.7
|
|
609
|
+
|
|
610
|
+
### Patch Changes
|
|
611
|
+
|
|
612
|
+
- Updated dependencies [9d4e24c]
|
|
613
|
+
- Updated dependencies [869620b]
|
|
614
|
+
- @actuate-media/cms-core@0.77.3
|
|
615
|
+
|
|
616
|
+
## 0.6.6
|
|
617
|
+
|
|
618
|
+
### Patch Changes
|
|
619
|
+
|
|
620
|
+
- Updated dependencies [9875fa3]
|
|
621
|
+
- @actuate-media/cms-core@0.77.2
|
|
622
|
+
|
|
623
|
+
## 0.6.5
|
|
624
|
+
|
|
625
|
+
### Patch Changes
|
|
626
|
+
|
|
627
|
+
- Updated dependencies [4dafd90]
|
|
628
|
+
- @actuate-media/cms-core@0.77.1
|
|
629
|
+
|
|
630
|
+
## 0.6.4
|
|
631
|
+
|
|
632
|
+
### Patch Changes
|
|
633
|
+
|
|
634
|
+
- Updated dependencies [d97e388]
|
|
635
|
+
- Updated dependencies [d97e388]
|
|
636
|
+
- Updated dependencies [d97e388]
|
|
637
|
+
- Updated dependencies [d97e388]
|
|
638
|
+
- @actuate-media/cms-core@0.77.0
|
|
639
|
+
|
|
640
|
+
## 0.6.3
|
|
641
|
+
|
|
642
|
+
### Patch Changes
|
|
643
|
+
|
|
644
|
+
- Updated dependencies [7a6a140]
|
|
645
|
+
- @actuate-media/cms-core@0.76.3
|
|
646
|
+
|
|
647
|
+
## 0.6.2
|
|
648
|
+
|
|
649
|
+
### Patch Changes
|
|
650
|
+
|
|
651
|
+
- Updated dependencies [90b5826]
|
|
652
|
+
- @actuate-media/cms-core@0.76.2
|
|
653
|
+
|
|
654
|
+
## 0.6.1
|
|
655
|
+
|
|
656
|
+
### Patch Changes
|
|
657
|
+
|
|
658
|
+
- Updated dependencies [4899af9]
|
|
659
|
+
- Updated dependencies [df1176a]
|
|
660
|
+
- @actuate-media/cms-core@0.76.1
|
|
661
|
+
|
|
662
|
+
## 0.6.0
|
|
663
|
+
|
|
664
|
+
### Minor Changes
|
|
665
|
+
|
|
666
|
+
- c656ddc: Add an `embed` (video) section type for YouTube, Vimeo, and Loom.
|
|
667
|
+
- **cms-core:** new `embed` section in the registry (`url`, `title`, `ratio`, `caption`) plus a shared, deterministic `parseEmbed()` provider allowlist (`@actuate-media/cms-core/page-sections`). Section validation rejects any URL that isn't a recognised YouTube/Vimeo/Loom link, so an arbitrary URL can never reach an iframe.
|
|
668
|
+
- **sections-react:** `EmbedSection` renderer — a lazy-loaded provider iframe inside a fixed aspect-ratio box (16:9 / 4:3 / 1:1 / 9:16) so the embed reserves its space and never causes layout shift (CLS). The URL is re-parsed through the same allowlist at render time.
|
|
669
|
+
- **cms-admin:** matching editor-canvas body for `embed` (provider + ratio placeholder) so the page/post editors preview the section instead of showing a generic "custom section" placeholder.
|
|
670
|
+
- **mcp-server:** `list_section_types` description now lists `embed`.
|
|
671
|
+
|
|
672
|
+
### Patch Changes
|
|
673
|
+
|
|
674
|
+
- Updated dependencies [c656ddc]
|
|
675
|
+
- @actuate-media/cms-core@0.76.0
|
|
676
|
+
|
|
677
|
+
## 0.5.1
|
|
678
|
+
|
|
679
|
+
### Patch Changes
|
|
680
|
+
|
|
681
|
+
- Updated dependencies [5446671]
|
|
682
|
+
- @actuate-media/cms-core@0.75.0
|
|
683
|
+
|
|
684
|
+
## 0.5.0
|
|
685
|
+
|
|
686
|
+
### Minor Changes
|
|
687
|
+
|
|
688
|
+
- 2b61b66: Core Web Vitals: give the `hero` section an optional image rendered as the page LCP, and serve AVIF in scaffolded sites.
|
|
689
|
+
- **Hero image (LCP):** the canonical `hero` section now has an optional `imageUrl`/`imageAlt` field. When set, the renderer draws it below the copy as the page's single priority (eager, `fetchpriority=high`) image with a full-width `sizes` hint and intrinsic dimensions — the explicit, dimensioned LCP element the best-practice spec calls for (rather than leaving the LCP to chance). Alt text is required when an image is set (existing accessibility rule). Dimensions are backfilled by the `/resolve` enrichment (hero is now enriched like `feature`).
|
|
690
|
+
- **AVIF delivery:** `create-actuate-cms` now sets `images.formats: ['image/avif', 'image/webp']` so scaffolded sites serve AVIF (≈50% smaller than JPEG) first, then WebP — a direct LCP win via `next/image` format negotiation.
|
|
691
|
+
|
|
692
|
+
### Patch Changes
|
|
693
|
+
|
|
694
|
+
- Updated dependencies [2b61b66]
|
|
695
|
+
- @actuate-media/cms-core@0.74.0
|
|
696
|
+
|
|
697
|
+
## 0.4.1
|
|
698
|
+
|
|
699
|
+
### Patch Changes
|
|
700
|
+
|
|
701
|
+
- Updated dependencies [7b7f0be]
|
|
702
|
+
- @actuate-media/cms-core@0.73.0
|
|
703
|
+
|
|
704
|
+
## 0.4.0
|
|
705
|
+
|
|
706
|
+
### Minor Changes
|
|
707
|
+
|
|
708
|
+
- 8a64a6e: Core Web Vitals: enforce the single-priority-image (LCP) policy and ship responsive `sizes` by default.
|
|
709
|
+
|
|
710
|
+
The section renderer now guarantees the key LCP/CLS image rules automatically, so an editor (or AI author) can't ship a slow page:
|
|
711
|
+
- **One priority image per page.** A new `LcpController` (exported `createLcpController`) grants the eager, `fetchpriority="high"` slot to the first image on the page; every other image lazy-loads. This replaces `PostHeader`'s hard-coded `priority` (which could collide with a section image). Pass one shared controller via `options.lcp` to both `PostHeader` and `Sections` to share the budget.
|
|
712
|
+
- **Responsive `sizes` everywhere.** Built-in renderers emit contextual `sizes` (full-width header, half-width feature, column-aware gallery via the exported `gallerySizes`) so mobile stops over-downloading the desktop image. `defaultRenderImage` now forwards `sizes` and sets `fetchPriority`.
|
|
713
|
+
- **No raw `<img>`.** The author-bio avatar now renders through `renderImage` (dimensioned, lazy) like every other image.
|
|
714
|
+
- `PostContext` gains `featuredImageWidth`/`featuredImageHeight` so the post header featured image can be dimensioned (CLS).
|
|
715
|
+
|
|
716
|
+
`create-actuate-cms`: the generated catch-all creates a per-request shared `LcpController` for the post header + body and forwards `sizes`/`fetchPriority` in its `next/image` fallback.
|
|
717
|
+
|
|
718
|
+
Note: `ResolvedRenderOptions` now includes a required `lcp` field — only affects code that constructs that internal type directly; consumers passing `RenderOptions` are unaffected (`lcp` is optional there).
|
|
719
|
+
|
|
720
|
+
## 0.3.2
|
|
721
|
+
|
|
722
|
+
### Patch Changes
|
|
723
|
+
|
|
724
|
+
- Updated dependencies [2fa4ebb]
|
|
725
|
+
- @actuate-media/cms-core@0.72.1
|
|
726
|
+
|
|
727
|
+
## 0.3.1
|
|
728
|
+
|
|
729
|
+
### Patch Changes
|
|
730
|
+
|
|
731
|
+
- Updated dependencies [6f140bc]
|
|
732
|
+
- @actuate-media/cms-core@0.72.0
|
|
733
|
+
|
|
734
|
+
## 0.3.0
|
|
735
|
+
|
|
736
|
+
### Minor Changes
|
|
737
|
+
|
|
738
|
+
- ab216f8: Export the `Img` helper for admin-safe image rendering in section components. Section components that `import next/image` directly break the post/page editor canvas (the admin runs the same components in a plain client bundle with no Next image pipeline). `Img` renders through `options.renderImage` — a `next/image`-backed optimizer on the public site, and Actuate's plain `<img>` renderer in the admin canvas — so one component works in both. Docs gain a "Rendering images in section components" section with the rule and pattern.
|
|
739
|
+
|
|
740
|
+
## 0.2.25
|
|
741
|
+
|
|
742
|
+
### Patch Changes
|
|
743
|
+
|
|
744
|
+
- Updated dependencies [1c81772]
|
|
745
|
+
- Updated dependencies [9e0d82b]
|
|
746
|
+
- @actuate-media/cms-core@0.71.1
|
|
747
|
+
|
|
748
|
+
## 0.2.24
|
|
749
|
+
|
|
750
|
+
### Patch Changes
|
|
751
|
+
|
|
752
|
+
- Updated dependencies [9f5e5dc]
|
|
753
|
+
- @actuate-media/cms-core@0.71.0
|
|
754
|
+
|
|
755
|
+
## 0.2.23
|
|
756
|
+
|
|
757
|
+
### Patch Changes
|
|
758
|
+
|
|
759
|
+
- Updated dependencies [0bcc567]
|
|
760
|
+
- @actuate-media/cms-core@0.70.0
|
|
761
|
+
|
|
762
|
+
## 0.2.22
|
|
763
|
+
|
|
764
|
+
### Patch Changes
|
|
765
|
+
|
|
766
|
+
- Updated dependencies [a889054]
|
|
767
|
+
- @actuate-media/cms-core@0.69.0
|
|
768
|
+
|
|
769
|
+
## 0.2.21
|
|
770
|
+
|
|
771
|
+
### Patch Changes
|
|
772
|
+
|
|
773
|
+
- Updated dependencies [4bf16c4]
|
|
774
|
+
- Updated dependencies [47bed20]
|
|
775
|
+
- @actuate-media/cms-core@0.68.0
|
|
776
|
+
|
|
777
|
+
## 0.2.20
|
|
778
|
+
|
|
779
|
+
### Patch Changes
|
|
780
|
+
|
|
781
|
+
- Updated dependencies [3ab0649]
|
|
782
|
+
- Updated dependencies [5545bfd]
|
|
783
|
+
- Updated dependencies [3f7fbf3]
|
|
784
|
+
- Updated dependencies [bf00622]
|
|
785
|
+
- Updated dependencies [f05c89b]
|
|
786
|
+
- Updated dependencies [eb3786d]
|
|
787
|
+
- Updated dependencies [88161e8]
|
|
788
|
+
- Updated dependencies [2f1f398]
|
|
789
|
+
- Updated dependencies [a3c5904]
|
|
790
|
+
- Updated dependencies [ee53cfc]
|
|
791
|
+
- Updated dependencies [218c5b0]
|
|
792
|
+
- Updated dependencies [df5d0de]
|
|
793
|
+
- @actuate-media/cms-core@0.67.0
|
|
794
|
+
|
|
795
|
+
## 0.2.19
|
|
796
|
+
|
|
797
|
+
### Patch Changes
|
|
798
|
+
|
|
799
|
+
- Updated dependencies [a6a17e9]
|
|
800
|
+
- @actuate-media/cms-core@0.66.0
|
|
801
|
+
|
|
802
|
+
## 0.2.18
|
|
803
|
+
|
|
804
|
+
### Patch Changes
|
|
805
|
+
|
|
806
|
+
- Updated dependencies [3e2daa4]
|
|
807
|
+
- @actuate-media/cms-core@0.65.0
|
|
808
|
+
|
|
809
|
+
## 0.2.17
|
|
810
|
+
|
|
811
|
+
### Patch Changes
|
|
812
|
+
|
|
813
|
+
- Updated dependencies [135d0c7]
|
|
814
|
+
- @actuate-media/cms-core@0.64.0
|
|
815
|
+
|
|
816
|
+
## 0.2.16
|
|
817
|
+
|
|
818
|
+
### Patch Changes
|
|
819
|
+
|
|
820
|
+
- Updated dependencies [e3da3bc]
|
|
821
|
+
- @actuate-media/cms-core@0.63.0
|
|
822
|
+
|
|
823
|
+
## 0.2.15
|
|
824
|
+
|
|
825
|
+
### Patch Changes
|
|
826
|
+
|
|
827
|
+
- Updated dependencies [d6b21e7]
|
|
828
|
+
- @actuate-media/cms-core@0.62.0
|
|
829
|
+
|
|
830
|
+
## 0.2.14
|
|
831
|
+
|
|
832
|
+
### Patch Changes
|
|
833
|
+
|
|
834
|
+
- Updated dependencies [0c3a6eb]
|
|
835
|
+
- @actuate-media/cms-core@0.61.0
|
|
836
|
+
|
|
837
|
+
## 0.2.13
|
|
838
|
+
|
|
839
|
+
### Patch Changes
|
|
840
|
+
|
|
841
|
+
- 854152d: Developer experience improvements from external-consumer feedback:
|
|
842
|
+
- Every published package now ships its `CHANGELOG.md` in the npm tarball, and packages that were missing a `README.md` (cli, cms-admin, cms-core, import, platform-vercel, all plugins, sections-react) now have one — so release notes and usage docs are visible on npmjs.com and in `node_modules`.
|
|
843
|
+
- New client-safe form validation entry point: `@actuate-media/cms-core/forms/client` exports `validateFormFieldClient()`, `validateFormValuesClient()`, visibility/conditional helpers, and the exact `FORM_EMAIL_RE` / `FORM_PHONE_RE` regexes the server enforces — zero Node dependencies, so public-site forms can mirror server rules without reimplementing them. The server validator now imports the same primitives, so client and server can never drift.
|
|
844
|
+
|
|
845
|
+
- Updated dependencies [854152d]
|
|
846
|
+
- Updated dependencies [bf5f857]
|
|
847
|
+
- @actuate-media/cms-core@0.60.0
|
|
848
|
+
|
|
849
|
+
## 0.2.12
|
|
850
|
+
|
|
851
|
+
### Patch Changes
|
|
852
|
+
|
|
853
|
+
- Updated dependencies [15b3f45]
|
|
854
|
+
- @actuate-media/cms-core@0.59.1
|
|
855
|
+
|
|
856
|
+
## 0.2.11
|
|
857
|
+
|
|
858
|
+
### Patch Changes
|
|
859
|
+
|
|
860
|
+
- Updated dependencies [f962e2d]
|
|
861
|
+
- Updated dependencies [73a117a]
|
|
862
|
+
- @actuate-media/cms-core@0.59.0
|
|
863
|
+
|
|
864
|
+
## 0.2.10
|
|
865
|
+
|
|
866
|
+
### Patch Changes
|
|
867
|
+
|
|
868
|
+
- Updated dependencies [363bb3e]
|
|
869
|
+
- @actuate-media/cms-core@0.58.0
|
|
870
|
+
|
|
871
|
+
## 0.2.9
|
|
872
|
+
|
|
873
|
+
### Patch Changes
|
|
874
|
+
|
|
875
|
+
- Updated dependencies [a5f8bc0]
|
|
876
|
+
- @actuate-media/cms-core@0.57.1
|
|
877
|
+
|
|
878
|
+
## 0.2.8
|
|
879
|
+
|
|
880
|
+
### Patch Changes
|
|
881
|
+
|
|
882
|
+
- Updated dependencies [8e73cf5]
|
|
883
|
+
- @actuate-media/cms-core@0.57.0
|
|
884
|
+
|
|
885
|
+
## 0.2.7
|
|
886
|
+
|
|
887
|
+
### Patch Changes
|
|
888
|
+
|
|
889
|
+
- Updated dependencies [99565a1]
|
|
890
|
+
- @actuate-media/cms-core@0.56.0
|
|
891
|
+
|
|
892
|
+
## 0.2.6
|
|
893
|
+
|
|
894
|
+
### Patch Changes
|
|
895
|
+
|
|
896
|
+
- Updated dependencies [74662c0]
|
|
897
|
+
- @actuate-media/cms-core@0.55.0
|
|
898
|
+
|
|
899
|
+
## 0.2.5
|
|
900
|
+
|
|
901
|
+
### Patch Changes
|
|
902
|
+
|
|
903
|
+
- Updated dependencies [29f32ba]
|
|
904
|
+
- @actuate-media/cms-core@0.54.0
|
|
905
|
+
|
|
906
|
+
## 0.2.4
|
|
907
|
+
|
|
908
|
+
### Patch Changes
|
|
909
|
+
|
|
910
|
+
- Updated dependencies [aa4bd1a]
|
|
911
|
+
- @actuate-media/cms-core@0.53.0
|
|
912
|
+
|
|
913
|
+
## 0.2.3
|
|
914
|
+
|
|
915
|
+
### Patch Changes
|
|
916
|
+
|
|
917
|
+
- Updated dependencies [01eef99]
|
|
918
|
+
- @actuate-media/cms-core@0.52.0
|
|
919
|
+
|
|
920
|
+
## 0.2.2
|
|
921
|
+
|
|
922
|
+
### Patch Changes
|
|
923
|
+
|
|
924
|
+
- Updated dependencies [aeee3a4]
|
|
925
|
+
- @actuate-media/cms-core@0.51.2
|
|
926
|
+
|
|
927
|
+
## 0.2.1
|
|
928
|
+
|
|
929
|
+
### Patch Changes
|
|
930
|
+
|
|
931
|
+
- Updated dependencies [f88a406]
|
|
932
|
+
- @actuate-media/cms-core@0.51.1
|
|
933
|
+
|
|
934
|
+
## 0.2.0
|
|
935
|
+
|
|
936
|
+
### Minor Changes
|
|
937
|
+
|
|
938
|
+
- 204da7a: WS-E (E3): media resolution + responsive images in the public render path.
|
|
939
|
+
- **sections-react:** new pluggable `renderImage` `RenderOptions` hook (with
|
|
940
|
+
exported `RenderImage`/`RenderImageProps` types and a `defaultRenderImage`).
|
|
941
|
+
The default emits a lazy, `decoding="async"` `<img>` and forwards intrinsic
|
|
942
|
+
`width`/`height` when known; a Next.js consumer can pass a `next/image`-backed
|
|
943
|
+
renderer for responsive `srcset` + optimization. The `feature`, `gallery`, and
|
|
944
|
+
post-header images now route through it (`<PostHeader>` gains an optional
|
|
945
|
+
`options` prop). The package stays React-only — no `next` dependency.
|
|
946
|
+
- **cms-core:** the `/resolve` endpoint now enriches section images with
|
|
947
|
+
intrinsic `width`/`height` and library `altText`, matched from `actuate_media`
|
|
948
|
+
by stored URL (`storageKey`/`publicUrl`). Additive and best-effort — the
|
|
949
|
+
stored document is never mutated and a lookup failure never breaks resolve.
|
|
950
|
+
`feature` sections gain `imageWidth`/`imageHeight` (+ backfilled `imageAlt`);
|
|
951
|
+
`gallery` rows gain `width`/`height` (+ backfilled `alt`).
|
|
952
|
+
- **create-actuate-cms:** the generated catch-all page renders CMS images via a
|
|
953
|
+
`next/image`-backed `renderImage` (falling back to a fluid `<img>` when the
|
|
954
|
+
CMS doesn't know dimensions), and `next.config` now allow-lists the storage
|
|
955
|
+
host under `images.remotePatterns` so optimization works out of the box.
|
|
956
|
+
|
|
957
|
+
- 2f18c56: WS-E (E2): public form rendering — a built site can now render and submit a CMS form end to end.
|
|
958
|
+
- **sections-react:** new `<ActuateForm>` Client Component fetches the public form
|
|
959
|
+
schema (`GET /api/cms/public/forms/:slug`), renders the fields (text/email/
|
|
960
|
+
url/tel/number/date, textarea, select, checkbox, radio), and submits to the
|
|
961
|
+
schema's `submitPath`. Spam protection is wired automatically: a hidden
|
|
962
|
+
honeypot (keyed from `spam.honeypotFieldKey`), an `elapsedMs` "time to submit"
|
|
963
|
+
timer, and an optional consumer-supplied `captchaToken`. Pre-fetch a schema via
|
|
964
|
+
the `form` prop to skip the round-trip (SSR/streaming). Adds a `baseUrl`
|
|
965
|
+
`RenderOptions` field (defaults to same-origin). Exposes pure, tested helpers
|
|
966
|
+
(`coercePublicForm`, `buildSubmitBody`, `fieldControl`, `firstMissingRequired`).
|
|
967
|
+
- **cms-core:** new canonical `form` section type. Set `content.formSlug` (plus
|
|
968
|
+
optional heading/intro) on any page or post and the matching renderer embeds
|
|
969
|
+
the form. The registry-drift guard now covers it (renderer ↔ type).
|
|
970
|
+
- **cms-admin:** the form Embed panel now shows the real public endpoints
|
|
971
|
+
(`/api/cms/public/forms/:slug` + `/submit`) and a copy-paste `<ActuateForm>`
|
|
972
|
+
snippet, replacing the previously-advertised `/api/forms/*`, iframe, and
|
|
973
|
+
`embed.js` routes that were never implemented. Adds a `mail` section icon.
|
|
974
|
+
|
|
975
|
+
- e2e0bd7: WS-E (E4): public navigation endpoint + navigation rendering in the scaffold.
|
|
976
|
+
- **cms-core:** new unauthenticated `GET /api/cms/public/navigations/:slug` that
|
|
977
|
+
returns a clean `{ name, slug, location, items }` tree. Like globals it is site
|
|
978
|
+
chrome — not status-gated — and safe when the navigation plugin isn't installed
|
|
979
|
+
(no match → 404). A shared, pure `coercePublicNavItems` helper sanitizes the
|
|
980
|
+
open `data.items` JSON: drops unlabeled nodes, strips internal `id`s, caps
|
|
981
|
+
recursion depth, and only passes through `_blank`/`_self` targets. Both
|
|
982
|
+
`createSiteClient` and `createServerSiteClient` gain `getNavigation(slug)`
|
|
983
|
+
returning `PublicNavigation | null`, and `PublicNavigation` / `PublicNavItem`
|
|
984
|
+
are now exported types.
|
|
985
|
+
- **sections-react:** new presentational `<SiteNav>` — an accessible `<nav>`
|
|
986
|
+
landmark whose submenus use native `<details>`/`<summary>` disclosure
|
|
987
|
+
(keyboard-operable, no client JS). New-tab links get
|
|
988
|
+
`rel="noopener noreferrer"`; an empty menu renders nothing. Exports `SiteNav`
|
|
989
|
+
plus `SiteNavProps`/`SiteNavItem`.
|
|
990
|
+
- **create-actuate-cms:** `lib/cms.ts` re-exports `getNavigation`, and the
|
|
991
|
+
generated site layout fetches the `main` menu and renders a header with the
|
|
992
|
+
site name + `<SiteNav>`, degrading gracefully to just the name when no menu
|
|
993
|
+
exists yet.
|
|
994
|
+
|
|
995
|
+
### Patch Changes
|
|
996
|
+
|
|
997
|
+
- Updated dependencies [a413616]
|
|
998
|
+
- Updated dependencies [204da7a]
|
|
999
|
+
- Updated dependencies [2f18c56]
|
|
1000
|
+
- Updated dependencies [e2e0bd7]
|
|
1001
|
+
- @actuate-media/cms-core@0.51.0
|
|
1002
|
+
|
|
1003
|
+
## 0.1.2
|
|
1004
|
+
|
|
1005
|
+
### Patch Changes
|
|
1006
|
+
|
|
1007
|
+
- Updated dependencies [d7a144c]
|
|
1008
|
+
- @actuate-media/cms-core@0.50.0
|
|
1009
|
+
|
|
1010
|
+
## 0.1.1
|
|
1011
|
+
|
|
1012
|
+
### Patch Changes
|
|
1013
|
+
|
|
1014
|
+
- Updated dependencies [9ba332c]
|
|
1015
|
+
- @actuate-media/cms-core@0.49.0
|
|
1016
|
+
|
|
1017
|
+
## 0.1.0
|
|
1018
|
+
|
|
1019
|
+
### Minor Changes
|
|
1020
|
+
|
|
1021
|
+
- 989bd09: New package: a public React renderer for Actuate's canonical page-content
|
|
1022
|
+
contract (ADR 0001 — `data.sections: PageSection[]`).
|
|
1023
|
+
- `<Sections sections={...} ctx={...} />` renders all 10 built-in section types
|
|
1024
|
+
(hero, text, feature, stats, cta, article-body, quote, author-bio,
|
|
1025
|
+
related-posts, gallery) with zero hand-written mapper. SSR-first (safe in
|
|
1026
|
+
React Server Components).
|
|
1027
|
+
- `<PostHeader config={...} ctx={...} />` renders a post header from its
|
|
1028
|
+
template config + the post's own fields.
|
|
1029
|
+
- Consumer-controlled renderer registry: override any section type per-render
|
|
1030
|
+
via the `renderers` prop, or app-wide via `registerSectionRenderer()`.
|
|
1031
|
+
Resolution precedence: prop > global registry > built-in default > skip.
|
|
1032
|
+
- Rich-text fields go through an injectable `options.sanitizeHtml` hook
|
|
1033
|
+
(default identity; Actuate sanitizes on write, pass a sanitizer for
|
|
1034
|
+
defense-in-depth or third-party HTML).
|
|
1035
|
+
- A registry-drift guard test keeps the renderer map in lockstep with the
|
|
1036
|
+
cms-core section registry, so no section type can ship without a renderer
|
|
1037
|
+
(and vice-versa).
|