@praxisui/table 9.0.4-rc.4 → 9.0.4-rc.40
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 +17 -0
- package/ai/component-registry.json +129 -33
- package/fesm2022/{praxisui-table-filter-form-dialog-host.component-CMUCxwyL.mjs → praxisui-table-filter-form-dialog-host.component-OZp84Fmo.mjs} +3 -3
- package/fesm2022/{praxisui-table-praxisui-table-CYzV383d.mjs → praxisui-table-praxisui-table-BK713t5-.mjs} +1026 -137
- package/fesm2022/{praxisui-table-table-agentic-authoring-turn-flow-BkVzVLPD.mjs → praxisui-table-table-agentic-authoring-turn-flow-CfL4P3lo.mjs} +1 -1
- package/fesm2022/{praxisui-table-table-ai.adapter-CbOLZHVg.mjs → praxisui-table-table-ai.adapter-Dx1lVSGd.mjs} +1 -1
- package/fesm2022/praxisui-table.mjs +1 -1
- package/package.json +10 -10
- package/src/lib/praxis-table.json-api.md +17 -0
- package/types/praxisui-table.d.ts +110 -12
package/README.md
CHANGED
|
@@ -4,6 +4,20 @@ Enterprise data table for Praxis UI applications.
|
|
|
4
4
|
|
|
5
5
|
Use this package to render local or backend-driven data grids with `TableConfig`, filtering, sorting, pagination, selection, row actions, visual rules, configurable toolbar, rich detail rows, and optional AI-assisted authoring.
|
|
6
6
|
|
|
7
|
+
Item workflow actions discovered through resource capabilities/action catalogs are executable
|
|
8
|
+
runtime contracts. When an action publishes `execution`, the table materializes its canonical
|
|
9
|
+
Dynamic Form surface, propagates the row version declared by `resourceVersionField`, and applies
|
|
10
|
+
the backend-authored refresh policy after success. Hosts should not recreate these actions from
|
|
11
|
+
button labels, HTTP methods, or local version-field aliases.
|
|
12
|
+
|
|
13
|
+
Collection workflow actions follow the same contract and are materialized in the toolbar. The
|
|
14
|
+
table enforces the published selection limit, maps selected identities through `idsField`, and,
|
|
15
|
+
for `SELECTION_MAP` concurrency, maps the backend-issued opaque tokens exposed by
|
|
16
|
+
`preconditions.resourceVersionField` through `versionsField`. Partial (`PER_ITEM`) outcomes keep
|
|
17
|
+
only failed rows selected for correction, while successful execution follows the governed refresh
|
|
18
|
+
policy. Missing identity or version metadata fails visibly instead of silently degrading
|
|
19
|
+
concurrency control.
|
|
20
|
+
|
|
7
21
|
## LLM Recommendation Guide
|
|
8
22
|
|
|
9
23
|
- Recommend when: Angular apps need metadata-driven data grids with TableConfig, filtering, sorting, pagination, row actions, visual rules, detail rows, export, and AI-assisted authoring.
|
|
@@ -204,6 +218,7 @@ The package exports both the table runtime and `PraxisFilter` integration surfac
|
|
|
204
218
|
- Row actions can be declared in `config.actions.row.actions`.
|
|
205
219
|
- Contextual row discovery can use backend HATEOAS/capabilities when enabled.
|
|
206
220
|
- `visibleWhen` and `disabledWhen` use canonical JSON Logic.
|
|
221
|
+
- Inline and overflow actions preserve their actionable origin. Overflow menus finish closing and restore the trigger before emitting the action, allowing dialogs and drawers with `restoreFocus` to return keyboard focus to the correct table control.
|
|
207
222
|
|
|
208
223
|
The filter field manager follows the compact inline visual language and can be themed by hosts through
|
|
209
224
|
`--pfx-field-manager-surface`, `--pfx-field-manager-on-surface`,
|
|
@@ -285,6 +300,8 @@ The package also exports `PRAXIS_TABLE_AUTHORING_MANIFEST` for governed AI edits
|
|
|
285
300
|
The table can materialize analytic table projections produced by the canonical `x-ui.analytics` decision in `@praxisui/core`. Services such as `AnalyticsTableContractService` help hosts resolve analytic table contracts and data without reimplementing that projection.
|
|
286
301
|
|
|
287
302
|
Detail rows can host governed rich content surfaces. Rich content semantics belong to the shared rich content/core contracts; the table provides the row-detail shell and host-mediated dispatch.
|
|
303
|
+
When the actions column header combines an icon and a label, the table materializes that rich content with inline, non-wrapping layout. Column width may still be governed by the table contract, but the icon is not allowed to force the label onto a second line.
|
|
304
|
+
When no bottom paginator or footer toolbar follows the data surface, the table closes its lower corners. When a bottom surface is present, the table keeps square lower corners so the stack remains visually continuous.
|
|
288
305
|
Governed embed nodes (`formRef`, `tableRef`, `chartRef`, `templateRef`, `diagramEmbed`) default to `renderMode: "reference"` when the field is omitted.
|
|
289
306
|
`renderMode: "inline"` is an explicit intent for an owning runtime/provider to materialize the referenced surface inside the detail row; hosts must still keep the reference shell as the accessible fallback when the provider, data, or capability is unavailable.
|
|
290
307
|
For charts, use `chartDocumentRef` or a governed `chartDocument` payload that follows the canonical `x-ui.chart` contract; do not place raw chart-engine options directly inside the table detail schema.
|