@praxisui/core 9.0.0-beta.8 → 9.0.0-beta.81

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
@@ -58,6 +58,21 @@ export class IconsComponent {}
58
58
 
59
59
  Hosts should load the icon fonts they use. Without the classic Material Icons font, ligature names such as `clear` can render as visible text.
60
60
 
61
+ ### Semantic theme surfaces
62
+
63
+ `PraxisThemeSurfaceTokens` is the public semantic bridge for runtime surfaces. It deliberately avoids Material or MDC selectors, so a host can theme Praxis overlays, borders and focus states without patching component internals.
64
+
65
+ ```ts
66
+ import { buildPraxisThemeSurfaceCss } from '@praxisui/core';
67
+
68
+ const themeCss = buildPraxisThemeSurfaceCss({
69
+ surfaceOverlay: 'var(--app-overlay-surface)',
70
+ focusOutline: 'var(--app-focus-ring)',
71
+ });
72
+ ```
73
+
74
+ Apply the generated variables in the host stylesheet or define the `--praxis-theme-*` variables directly. Runtime libraries consume these roles with Material-token fallbacks while their existing component-specific tokens remain supported.
75
+
61
76
  ## Component Metadata
62
77
 
63
78
  `ComponentMetadataRegistry` is the shared registry used by builders and runtime loaders to resolve component metadata.
@@ -121,6 +136,13 @@ Use `page.composition.links` for persisted wiring. `page.connections` is legacy/
121
136
 
122
137
  If the problem is URL or HTTP execution, start with `resourcePath`. If the problem is semantic discovery, surface/action context, or stable runtime identity, start with `resourceKey`.
123
138
 
139
+ `ResourceCapabilitySnapshot.canonicalOperations` preserves structural support only.
140
+ `operations` carries the current operation contract and availability for CRUD, query,
141
+ options, stats, and export. The core keeps unknown operation IDs for forward compatibility;
142
+ it must not infer authorization from a `canonicalOperations` boolean or discard denial metadata.
143
+
144
+ `ResourceRecordOpenService` materializes the minimal `ResourceRecordOpenRef` published by governed analytics. It resolves the target resource catalog, loads the real item, follows its HATEOAS `surfaces` relation, requires the exact item surface to be available for the current context, and only then delegates to `ResourceSurfaceOpenAdapterService`. Consumers must not replace this flow with `${item.id}`, a copied surface path, a label match, or a prebuilt `surface.open` payload.
145
+
124
146
  ## Schema And Metadata
125
147
 
126
148
  Core exports schema and metadata infrastructure used by form, table, list, chart, CRUD, and page-builder packages:
@@ -132,10 +154,16 @@ Core exports schema and metadata infrastructure used by form, table, list, chart
132
154
  - `x-ui.optionSource` models and serializers
133
155
  - `x-ui.analytics` models and `AnalyticsSchemaContractService`
134
156
  - `valuePresentation` models and resolver
157
+ - `FieldPresentationConfig` for semantic read-only/list/table-cell presentation
135
158
  - form layout item models
136
159
  - JSON Logic models and runtime service
137
160
 
161
+ For governed analytics cross-filtering, `bindings.primaryDimension.keyFilterField` is the public request field that receives the raw `bucket.key`. Consumers must preserve its type, verify the target request schema, and must not infer this field from the dimension name, display label, or backend property paths.
162
+
138
163
  `valuePresentation` is the shared display contract for scalar read-only values such as currency, number, date, datetime, time, percentage, and boolean.
164
+ `presentation` is the shared semantic wrapper contract for presentation-capable consumers. It can request chip, badge, status or iconValue rendering while preserving the raw value used for filtering, sorting and export.
165
+
166
+ `FieldPresentationConfig` is the shared semantic presentation contract for read-only surfaces that need a visual primitive around the value, such as `chip`, `badge`, `status`, `iconValue`, or `microVisualization`. It keeps business data in the original field and lets consumers map `tone`, `appearance`, `icon`, `tooltip`, and optional fixed `label` values to their own renderer and theme tokens.
139
167
 
140
168
  ## Global Actions
141
169
 
@@ -177,6 +205,12 @@ Without an HTTP provider, local CSV/JSON export uses loaded items. With the HTTP
177
205
 
178
206
  Core also exports shared AI authoring types, capability types, dynamic-page context packs, and domain catalog context packs used by component packages.
179
207
 
208
+ ## Component Config Authoring
209
+
210
+ `DynamicWidgetPageComponent` treats the editor declared by `ComponentDocMeta.configEditor` as the canonical authoring surface for the **Configurar conteúdo** action. When the Settings Panel bridge is available, the host resolves any transient `contextResolver` evidence and opens that metadata-owned editor even if the live widget also exposes an internal settings shortcut. This keeps the action deterministic across widget loading states.
211
+
212
+ Widget-local settings dispatch remains only a fallback when the canonical Settings Panel/editor is unavailable. Transient context and diagnostics are passed separately to the editor and must not be copied into persisted `definition.inputs`; the editor result owns the persisted `{ inputs }` round-trip.
213
+
180
214
  ## Domain Governance
181
215
 
182
216
  `DomainKnowledgeService` and `DomainRuleService` are shared clients for governed semantic decision flows exposed by `praxis-config-starter`. Runtime surfaces should treat materializations as derived projections of backend-governed decisions, not as frontend-owned business rules.
@@ -186,6 +220,7 @@ Core also exports shared AI authoring types, capability types, dynamic-page cont
186
220
  Core exports:
187
221
 
188
222
  - shared services such as `GenericCrudService`, `GlobalConfigService`, `GlobalActionService`, `ResourceDiscoveryService`, `ComponentMetadataRegistry`, `PraxisJsonLogicService`, `LoadingOrchestratorService`
223
+ - governed submit-error normalization through `ErrorMessageService`, preserving public `code`, `target`, `category`, and safe messages while keeping transport details out of UI fallbacks
189
224
  - tokens and providers for API URLs, global config, global actions, loading, i18n, settings panel bridge, surface drawer bridge, collection export, field selector registry, and overlay/layer scale
190
225
  - models for table config, fields, forms, rich content, editorial content, widget pages, global actions, resource discovery, domain knowledge/rules, analytics, query context, loading, and collection export
191
226
  - helpers for schema ids, ETag fetch, field mapping, config merge, validation, IDs, inline filter controls, global action refs, and form hooks