@praxisui/core 7.0.0-beta.0 → 8.0.0-beta.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/README.md CHANGED
@@ -111,6 +111,59 @@ export class GridDemoComponent {
111
111
 
112
112
  Observação: os IDs de widgets usados na página devem estar registrados via `ComponentMetadataRegistry` para que o carregador dinâmico resolva os componentes.
113
113
 
114
+ ### Component config editors
115
+
116
+ `ComponentDocMeta.configEditor` é a superfície pública canônica para um
117
+ componente declarar como seus `definition.inputs` devem ser editados em hosts
118
+ visuais como `praxis-dynamic-page` e `@praxisui/page-builder`.
119
+
120
+ O editor pertence à lib dona da semântica do componente, não ao host. O host
121
+ deve apenas descobrir `configEditor` via `ComponentMetadataRegistry`, abrir o
122
+ componente no `SETTINGS_PANEL_BRIDGE` e aplicar/salvar o payload retornado.
123
+
124
+ Contrato esperado:
125
+
126
+ ```ts
127
+ registry.register({
128
+ id: 'praxis-rich-content',
129
+ selector: 'praxis-rich-content',
130
+ component: PraxisRichContent,
131
+ friendlyName: 'Praxis Rich Content',
132
+ configEditor: {
133
+ component: PraxisRichContentConfigEditor,
134
+ title: 'Configurar rich content',
135
+ },
136
+ });
137
+ ```
138
+
139
+ Payload recomendado para editores de inputs de widget:
140
+
141
+ ```ts
142
+ {
143
+ inputs: {
144
+ // mesmo shape consumido por WidgetDefinition.definition.inputs
145
+ }
146
+ }
147
+ ```
148
+
149
+ Regra de plataforma: não crie editor local no host para uma semântica que já
150
+ tem dono canônico. Corrija ou publique o `configEditor` no metadata da lib dona
151
+ do componente.
152
+
153
+ ### Widget Shell body layout
154
+
155
+ `WidgetShellConfig.bodyLayout` declares how projected widget content should use
156
+ the shell body:
157
+
158
+ - `content`: default natural document flow for tables, lists, forms and mixed content.
159
+ - `fill`: makes the shell body a flex container whose direct child fills the usable body; use it for resizable charts, maps and canvases that own their viewport.
160
+ - `scroll`: makes the shell body a flex container with body scrolling for content that may exceed the widget height.
161
+
162
+ For corporate dashboards, pair chart contracts that use
163
+ `sizing.mode = "fill-container"` with `bodyLayout: "fill"`. Avoid using `fill`
164
+ for long textual content unless the widget supplies its own compact or empty
165
+ state, because the fill body intentionally hides overflow.
166
+
114
167
  ## 📚 API Surface
115
168
 
116
169
  - Exports públicos: consulte o arquivo