@praxisui/settings-panel 8.0.0-beta.8 → 8.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 +43 -0
- package/fesm2022/praxisui-settings-panel.mjs +690 -249
- package/package.json +13 -11
- package/{index.d.ts → types/praxisui-settings-panel.d.ts} +18 -4
package/README.md
CHANGED
|
@@ -155,6 +155,7 @@ Regra de integracao:
|
|
|
155
155
|
- `config.persistSizeKey?: string`
|
|
156
156
|
- `config.minWidth?: string`
|
|
157
157
|
- `config.maxWidth?: string`
|
|
158
|
+
- `config.diagnostics?: SettingsPanelDiagnosticsConfig`
|
|
158
159
|
- `config.content: { component: Type<any>; inputs?: Record<string, any> }`
|
|
159
160
|
|
|
160
161
|
### Ref
|
|
@@ -196,6 +197,48 @@ Opcionais:
|
|
|
196
197
|
- `customActions$?`
|
|
197
198
|
- `hideDefaultButtons$?`
|
|
198
199
|
|
|
200
|
+
## Agentic Authoring Contract
|
|
201
|
+
|
|
202
|
+
`praxis-settings-panel` publica um manifesto executavel em `PRAXIS_SETTINGS_PANEL_AUTHORING_MANIFEST`.
|
|
203
|
+
|
|
204
|
+
Esse contrato governa somente o shell autoral:
|
|
205
|
+
|
|
206
|
+
- identidade e titulo do painel
|
|
207
|
+
- modo de abertura e substituicao mediada por `onBeforeClose`
|
|
208
|
+
- largura, resize e persistencia de tamanho
|
|
209
|
+
- comportamento de `Apply`
|
|
210
|
+
- comportamento de `Save`
|
|
211
|
+
- comportamento de `Reset`
|
|
212
|
+
- envelope do editor hospedado
|
|
213
|
+
- diagnosticos baseados em `dirty`, `valid` e `busy`
|
|
214
|
+
|
|
215
|
+
O manifesto nao define semantica de `FormConfig`, `TableConfig`, `ListConfig` ou qualquer outro documento de consumidor. Quando a intencao do usuario alterar a configuracao interna de um editor hospedado, a operacao deve ser delegada para o manifesto do componente dono daquele documento.
|
|
216
|
+
|
|
217
|
+
Regras do contrato:
|
|
218
|
+
|
|
219
|
+
- `Apply` emite `applied$` com `getSettingsValue()` e nao fecha o painel.
|
|
220
|
+
- `Save` usa `onSave()` quando existir, usa `getSettingsValue()` como fallback, emite `saved$` e fecha com motivo `save`.
|
|
221
|
+
- `Reset` e destrutivo, exige confirmacao, chama `reset()` quando existir e emite `reset$`.
|
|
222
|
+
- `Apply` e `Save` continuam bloqueados por `dirty=false`, `valid=false` ou `busy=true`.
|
|
223
|
+
- O editor hospedado deve implementar `SettingsValueProvider` quando o fluxo for autoral.
|
|
224
|
+
- Inputs persistidos do editor devem permanecer serializaveis.
|
|
225
|
+
- `diagnostics` controla somente a visibilidade dos diagnosticos do shell (`statusMessage`, motivo de desabilitacao, busy e estado invalido); ele nao altera as regras de bloqueio de `Apply`/`Save`.
|
|
226
|
+
|
|
227
|
+
### Diagnostics
|
|
228
|
+
|
|
229
|
+
`SettingsPanelConfig.diagnostics` e opcional e preserva o comportamento historico quando omitido:
|
|
230
|
+
|
|
231
|
+
```ts
|
|
232
|
+
{
|
|
233
|
+
showStatusMessage?: boolean;
|
|
234
|
+
showDisabledReason?: boolean;
|
|
235
|
+
showBusyState?: boolean;
|
|
236
|
+
exposeValidationState?: boolean;
|
|
237
|
+
}
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
Use essa configuracao para ajustar a superficie visual do shell autoral. O estado canonico continua vindo de `SettingsValueProvider.isDirty$`, `isValid$` e `isBusy$`.
|
|
241
|
+
|
|
199
242
|
### `onBeforeClose`
|
|
200
243
|
|
|
201
244
|
`onBeforeClose` pertence ao contrato canonico de authoring. Ele pode:
|