@praxisui/page-builder 9.0.0-beta.8 → 9.0.0-beta.80

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/README.md CHANGED
@@ -26,7 +26,7 @@ npm i @praxisui/page-builder@latest
26
26
  Peer dependencies:
27
27
 
28
28
  - `@angular/common`, `@angular/core`, `@angular/forms`, `@angular/cdk`, `@angular/material` `^21.0.0`
29
- - `@praxisui/ai`, `@praxisui/core`, `@praxisui/settings-panel` `^9.0.0-beta.4`
29
+ - `@praxisui/ai`, `@praxisui/core`, `@praxisui/settings-panel` `^9.0.0-beta.12`
30
30
  - `rxjs` `~7.8.0`
31
31
 
32
32
  ## Quick Start
@@ -115,6 +115,22 @@ const page: WidgetPageDefinition = {
115
115
 
116
116
  Use the same canonical `composition.links` contract for widget-to-widget links, nested component ports through `nestedPath`, and global actions through `to.kind = "global-action"`.
117
117
 
118
+ Feedback cycles are validated before authoring and runtime delivery. Direct or indirect cycles across component ports and page state are reported as diagnostics; unguarded cycles are blocking in the core runtime and surfaced by the Connection Editor. Intentional feedback must be explicit by tagging every involved link with `metadata.tags: ['intentional-feedback']` and declaring a canonical guard such as `condition`, `policy.distinct`, `policy.distinctBy` or `policy.debounceMs`.
119
+
120
+ ## Connection Editor
121
+
122
+ The visual connection editor is an authoring surface over the saved `composition.links` document. It does not create a parallel graph DSL.
123
+
124
+ Current capabilities include:
125
+
126
+ - inspecting persisted links, endpoints, intent, condition, transform and policy;
127
+ - highlighting widget, state and global-action flows in the same graph;
128
+ - creating assisted links only between known endpoints;
129
+ - suggesting canonical table row selection to form detail wiring with a `payload.row.id` projection when the existing ports support that flow;
130
+ - explaining nested component ports by showing the `nestedPath` while preserving the top-level widget as the canonical endpoint owner.
131
+
132
+ For nested components, keep `ref.widget` pointed at the top-level host widget and describe the internal target with `ref.nestedPath`. The editor should make that ownership visible instead of flattening child widgets into a second page-level widget namespace.
133
+
118
134
  ## Settings Panel Bridge
119
135
 
120
136
  Register the Settings Panel bridge when the host must open page, shell, and component config editors in a side panel.
@@ -133,6 +149,15 @@ providers: [
133
149
 
134
150
  Component input editors belong to the component owner. Page Builder discovers `ComponentDocMeta.configEditor` and hosts the published editor instead of redefining table, form, chart, list, upload, stepper, tab, expansion, CRUD, or rich-content configuration locally.
135
151
 
152
+ ## Page Settings Presets
153
+
154
+ Page settings expose the canonical layout and theme preset catalogs from `@praxisui/core`.
155
+
156
+ - `layoutPreset` selects the structural page template, including default grouping, slot expectations, responsive policy, and a recommended theme.
157
+ - `themePreset` is optional. When omitted, the runtime inherits the selected layout preset's `defaultThemePreset`.
158
+ - Pin `themePreset` only when the page must intentionally diverge from future layout-preset defaults or when governance requires an explicit visual decision in the saved document.
159
+ - Canvas item positions remain explicit page state. Presets guide layout, grouping, slot intent, and theme inheritance; they do not silently rewrite existing widget geometry.
160
+
136
161
  ## AI Authoring
137
162
 
138
163
  Register widget capability catalogs so the assistant can reason about component inputs and supported operations.
@@ -179,6 +204,8 @@ providers: [
179
204
 
180
205
  The package exports `PRAXIS_PAGE_BUILDER_AUTHORING_MANIFEST` for governed operation discovery. The persisted runtime page is still `WidgetPageDefinition`; intermediate AI plans such as `UiCompositionPlan` must compile before preview, apply, or save.
181
206
 
207
+ Streaming apply is fail-closed. A preview is persistable only when it is the unchanged payload of an applicable terminal `result` event and its diagnostics carry the matching `streamId`, `threadId`, `turnId`, and `resultEventId`. A locally regenerated or normalized preview remains available for review, but it cannot reuse an older terminal reference or call `page-apply`; the backend must issue a new terminal result for the new patch.
208
+
182
209
  ## Public API
183
210
 
184
211
  Main exports: