@praxisui/core 3.0.0-beta.6 → 3.0.0-beta.8
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 +23 -9
- package/fesm2022/praxisui-core.mjs +12430 -6642
- package/fesm2022/praxisui-core.mjs.map +1 -1
- package/index.d.ts +1510 -474
- package/package.json +2 -3
package/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, Type, Provider, ErrorHandler, EnvironmentProviders, EventEmitter,
|
|
2
|
+
import { InjectionToken, Type, Provider, ErrorHandler, EnvironmentProviders, OnChanges, EventEmitter, SimpleChanges, OnInit, OnDestroy, ElementRef, Renderer2 } from '@angular/core';
|
|
3
3
|
import * as rxjs from 'rxjs';
|
|
4
4
|
import { Observable, BehaviorSubject } from 'rxjs';
|
|
5
5
|
import { HttpHeaders, HttpContext, HttpClient, HttpParams, HttpInterceptorFn, HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpFeature, HttpFeatureKind, HttpContextToken } from '@angular/common/http';
|
|
@@ -91,261 +91,6 @@ interface OptionSourceMetadata {
|
|
|
91
91
|
includeIds?: boolean;
|
|
92
92
|
}
|
|
93
93
|
|
|
94
|
-
/**
|
|
95
|
-
* Contrato de saída do normalizador de esquema (SchemaNormalizerService):
|
|
96
|
-
* - Converte metadados `x-ui` em FieldDefinition tipado.
|
|
97
|
-
* - Todas as funções expostas são funções reais (nunca strings):
|
|
98
|
-
* - conditionalDisplay: () => boolean
|
|
99
|
-
* - conditionalRequired: () => boolean
|
|
100
|
-
* - transformValueFunction: (val: any) => any
|
|
101
|
-
* - Suporte completo a ValidatorOptions (sincronos e assíncronos),
|
|
102
|
-
* incluindo mensagens e comportamento de validação (gatilhos, debounce, exibição de erros).
|
|
103
|
-
*/
|
|
104
|
-
interface FieldDefinition {
|
|
105
|
-
name: string;
|
|
106
|
-
label?: string;
|
|
107
|
-
description?: string;
|
|
108
|
-
type?: string;
|
|
109
|
-
controlType?: string;
|
|
110
|
-
mode?: string;
|
|
111
|
-
placeholder?: string;
|
|
112
|
-
defaultValue?: any;
|
|
113
|
-
group?: string;
|
|
114
|
-
order?: number;
|
|
115
|
-
width?: number | string;
|
|
116
|
-
isFlex?: boolean;
|
|
117
|
-
displayOrientation?: string;
|
|
118
|
-
selectionMode?: 'boolean' | 'single' | 'multiple';
|
|
119
|
-
variant?: string;
|
|
120
|
-
density?: 'compact' | 'comfortable' | 'spacious';
|
|
121
|
-
layout?: 'horizontal' | 'vertical';
|
|
122
|
-
disabled?: boolean;
|
|
123
|
-
readOnly?: boolean;
|
|
124
|
-
multiple?: boolean;
|
|
125
|
-
editable?: boolean;
|
|
126
|
-
validationMode?: string;
|
|
127
|
-
unique?: boolean;
|
|
128
|
-
mask?: string;
|
|
129
|
-
sortable?: boolean;
|
|
130
|
-
/** Função que define obrigatoriedade condicional. */
|
|
131
|
-
conditionalRequired?: () => boolean;
|
|
132
|
-
viewOnlyStyle?: string;
|
|
133
|
-
/** Lista de gatilhos de validação, ex.: ["blur", "change"]. */
|
|
134
|
-
validationTriggers?: string[];
|
|
135
|
-
hidden?: boolean;
|
|
136
|
-
tableHidden?: boolean;
|
|
137
|
-
formHidden?: boolean;
|
|
138
|
-
filterable?: boolean;
|
|
139
|
-
/** Função que controla se o campo é exibido. */
|
|
140
|
-
conditionalDisplay?: () => boolean;
|
|
141
|
-
dependentField?: string;
|
|
142
|
-
resetOnDependentChange?: boolean;
|
|
143
|
-
inlineEditing?: boolean;
|
|
144
|
-
/** Função de transformação de valor antes de salvar/exibir. */
|
|
145
|
-
transformValueFunction?: (val: any) => any;
|
|
146
|
-
debounceTime?: number;
|
|
147
|
-
helpText?: string;
|
|
148
|
-
hint?: string;
|
|
149
|
-
hiddenCondition?: any;
|
|
150
|
-
tooltipOnHover?: boolean;
|
|
151
|
-
icon?: string;
|
|
152
|
-
iconPosition?: string;
|
|
153
|
-
iconSize?: string | number;
|
|
154
|
-
iconColor?: string;
|
|
155
|
-
iconClass?: string;
|
|
156
|
-
iconStyle?: string;
|
|
157
|
-
iconFontSize?: string | number;
|
|
158
|
-
valueField?: string;
|
|
159
|
-
displayField?: string;
|
|
160
|
-
filterField?: string;
|
|
161
|
-
endpoint?: string;
|
|
162
|
-
resourcePath?: string;
|
|
163
|
-
optionSource?: OptionSourceMetadata;
|
|
164
|
-
emptyOptionText?: string;
|
|
165
|
-
options?: {
|
|
166
|
-
key: string;
|
|
167
|
-
value: string;
|
|
168
|
-
}[];
|
|
169
|
-
filter?: any;
|
|
170
|
-
filterCriteria?: any;
|
|
171
|
-
searchable?: boolean;
|
|
172
|
-
selectAll?: boolean;
|
|
173
|
-
maxSelections?: number;
|
|
174
|
-
optionLabelKey?: string;
|
|
175
|
-
optionValueKey?: string;
|
|
176
|
-
filterOptions?: any[];
|
|
177
|
-
numericFormat?: string;
|
|
178
|
-
numericStep?: number;
|
|
179
|
-
numericMin?: number;
|
|
180
|
-
numericMax?: number;
|
|
181
|
-
numericMaxLength?: number;
|
|
182
|
-
optionGroups?: {
|
|
183
|
-
key: string;
|
|
184
|
-
value: string;
|
|
185
|
-
}[];
|
|
186
|
-
disabledOptions?: string[];
|
|
187
|
-
buttons?: any[];
|
|
188
|
-
/** Obrigatório. */
|
|
189
|
-
required?: boolean;
|
|
190
|
-
requiredMessage?: string;
|
|
191
|
-
/** Tamanho mínimo/máximo (strings). */
|
|
192
|
-
minLength?: number;
|
|
193
|
-
minLengthMessage?: string;
|
|
194
|
-
maxLength?: number;
|
|
195
|
-
maxLengthMessage?: string;
|
|
196
|
-
/** Limites numéricos. */
|
|
197
|
-
min?: number;
|
|
198
|
-
max?: number;
|
|
199
|
-
/** Mensagens dedicadas para min/max numéricos. */
|
|
200
|
-
minMessage?: string;
|
|
201
|
-
maxMessage?: string;
|
|
202
|
-
/** Mensagem quando ambos limites (range) são aplicados. */
|
|
203
|
-
rangeMessage?: string;
|
|
204
|
-
/** Padrão (regex). Aceita pattern/regex. */
|
|
205
|
-
pattern?: string;
|
|
206
|
-
patternMessage?: string;
|
|
207
|
-
/** Validação de e-mail. */
|
|
208
|
-
email?: boolean;
|
|
209
|
-
emailMessage?: string;
|
|
210
|
-
/** Validação de URL. */
|
|
211
|
-
url?: boolean;
|
|
212
|
-
urlMessage?: string;
|
|
213
|
-
/** Requer que valor combine com outro campo. */
|
|
214
|
-
matchField?: string;
|
|
215
|
-
matchFieldMessage?: string;
|
|
216
|
-
/** Requer que o checkbox esteja marcado. */
|
|
217
|
-
requiredChecked?: boolean;
|
|
218
|
-
/** Tipos de arquivo permitidos e tamanho máximo. */
|
|
219
|
-
allowedFileTypes?: string[];
|
|
220
|
-
fileTypeMessage?: string;
|
|
221
|
-
maxFileSize?: number;
|
|
222
|
-
/** Validador customizado síncrono. */
|
|
223
|
-
customValidator?: (value: any, model?: any) => any;
|
|
224
|
-
/** Validador customizado assíncrono. */
|
|
225
|
-
asyncValidator?: (value: any, model?: any) => Promise<any>;
|
|
226
|
-
/** Validador de unicidade (ex.: consulta ao backend). */
|
|
227
|
-
uniqueValidator?: (value: any, model?: any) => boolean | Promise<boolean>;
|
|
228
|
-
uniqueMessage?: string;
|
|
229
|
-
/** Validação condicional baseada em outro(s) campos/estado. */
|
|
230
|
-
conditionalValidation?: (value: any, model?: any) => boolean | string | Promise<boolean | string>;
|
|
231
|
-
/** Mínimo de palavras (para textos longos). */
|
|
232
|
-
minWords?: number;
|
|
233
|
-
/** Gatilho(s) de validação (alias de validationTriggers). */
|
|
234
|
-
/** Tempo de debounce (ms) para executar validação. */
|
|
235
|
-
validationDebounce?: number;
|
|
236
|
-
/** Exibir erros inline no campo. */
|
|
237
|
-
showInlineErrors?: boolean;
|
|
238
|
-
/** Posição preferida da mensagem de erro (ex.: below, right). */
|
|
239
|
-
errorPosition?: string;
|
|
240
|
-
[key: string]: any;
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
declare enum ApiEndpoint {
|
|
244
|
-
Default = "default",
|
|
245
|
-
HumanResources = "humanResources",
|
|
246
|
-
UiWrappersTest = "uiWrappersTest"
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
interface ApiUrlEntry {
|
|
250
|
-
baseUrl?: string;
|
|
251
|
-
path?: string;
|
|
252
|
-
fullUrl?: string;
|
|
253
|
-
version?: string;
|
|
254
|
-
headers?: HttpHeaders | Record<string, string | string[]>;
|
|
255
|
-
}
|
|
256
|
-
interface ApiUrlConfig {
|
|
257
|
-
[key: string]: ApiUrlEntry;
|
|
258
|
-
}
|
|
259
|
-
declare const API_URL: InjectionToken<ApiUrlConfig>;
|
|
260
|
-
declare function buildApiUrl(entry: ApiUrlEntry): string;
|
|
261
|
-
declare function buildHeaders(entry: ApiUrlEntry): HttpHeaders | undefined;
|
|
262
|
-
|
|
263
|
-
/**
|
|
264
|
-
* SchemaNormalizerService
|
|
265
|
-
* -----------------------
|
|
266
|
-
* Serviço responsável por converter um esquema bruto (OpenAPI + x-ui) em uma
|
|
267
|
-
* lista tipada de FieldDefinition consumida pelo restante do sistema
|
|
268
|
-
* (mapeadores de metadata, criador de FormGroup, carregador de campos dinâmicos, etc.).
|
|
269
|
-
*
|
|
270
|
-
* Entrada esperada
|
|
271
|
-
* - Objeto JSON no formato OpenAPI/JSON Schema contendo:
|
|
272
|
-
* - properties: { [name: string]: { type, title, description, ... , 'x-ui': { ... } } }
|
|
273
|
-
* - Em cada propriedade, o objeto 'x-ui' define aspectos de UI/validação.
|
|
274
|
-
*
|
|
275
|
-
* Saída (FieldDefinition[])
|
|
276
|
-
* - Tipagem forte de campos com funções reais (nunca strings) para regras condicionais e validadores customizados.
|
|
277
|
-
* - Todas as propriedades de validação e comportamento consolidadas no mesmo objeto do campo.
|
|
278
|
-
*
|
|
279
|
-
* Segurança e observações
|
|
280
|
-
* - Este serviço aceita funções em formato string dentro do x-ui (ex.: uniqueValidator, conditionalValidation),
|
|
281
|
-
* e as converte via new Function. Isso exige backend confiável e controlado.
|
|
282
|
-
* Em ambientes não confiáveis, evite funções como string ou implemente um sandbox/whitelist.
|
|
283
|
-
* - Valores booleanos/numéricos são normalizados para tipos nativos.
|
|
284
|
-
* - Arrays de opções são convertidos para pares { key, value } previsíveis.
|
|
285
|
-
*
|
|
286
|
-
* Exemplo mínimo de entrada
|
|
287
|
-
* const schema = {
|
|
288
|
-
* properties: {
|
|
289
|
-
* email: {
|
|
290
|
-
* type: 'string',
|
|
291
|
-
* title: 'E-mail',
|
|
292
|
-
* 'x-ui': { controlType: 'input', type: 'string', required: true, email: true }
|
|
293
|
-
* }
|
|
294
|
-
* }
|
|
295
|
-
* };
|
|
296
|
-
* const fields = normalizer.normalizeSchema(schema);
|
|
297
|
-
* // fields: [{ name: 'email', label: 'E-mail', type: 'string', controlType: 'input', required: true, email: true }]
|
|
298
|
-
*/
|
|
299
|
-
declare class SchemaNormalizerService {
|
|
300
|
-
/** Convert value to boolean. Accepts boolean, string or number. */
|
|
301
|
-
private parseBoolean;
|
|
302
|
-
/** Ensure an array of strings from various inputs. */
|
|
303
|
-
private parseStringArray;
|
|
304
|
-
/** Parse option arrays into `{ key, value }` objects. */
|
|
305
|
-
private parseOptions;
|
|
306
|
-
private parseOptionSource;
|
|
307
|
-
/**
|
|
308
|
-
* Converte string/Function em função real.
|
|
309
|
-
* Atenção: usa `new Function` para avaliar strings – requer backend confiável.
|
|
310
|
-
*/
|
|
311
|
-
private parseFunction;
|
|
312
|
-
/** Parse a predicate function: () => boolean */
|
|
313
|
-
private parsePredicateFunction;
|
|
314
|
-
/** Parse a transform function: (val: any) => any */
|
|
315
|
-
private parseTransformFunction;
|
|
316
|
-
/**
|
|
317
|
-
* Parse de validador condicional: (value: any, model?: any) => boolean | string | Promise<boolean | string>
|
|
318
|
-
*/
|
|
319
|
-
private parseConditionalValidator;
|
|
320
|
-
/**
|
|
321
|
-
* Extrai e normaliza propriedades de validação a partir do objeto x-ui.
|
|
322
|
-
* Suporta: required, min/max, minLength/maxLength, pattern/regex, email, url,
|
|
323
|
-
* matchField, uniqueValidator (+message), conditionalValidation, requiredChecked,
|
|
324
|
-
* arquivos (allowedFileTypes, fileTypeMessage, maxFileSize), custom/async validators,
|
|
325
|
-
* minWords e comportamento (validationTrigger(s), validationDebounce, showInlineErrors, errorPosition).
|
|
326
|
-
*/
|
|
327
|
-
private parseValidators;
|
|
328
|
-
/** Parse array of button definitions. */
|
|
329
|
-
private parseButtons;
|
|
330
|
-
private resolveNonEmptyStringToken;
|
|
331
|
-
private isNumericSchemaType;
|
|
332
|
-
private resolveNumericFormatToken;
|
|
333
|
-
/**
|
|
334
|
-
* Converte o schema bruto do backend (OpenAPI + x-ui) em FieldDefinition[] tipado.
|
|
335
|
-
* Regras:
|
|
336
|
-
* - Ignora propriedades sem x-ui.
|
|
337
|
-
* - Garante ordenação por 'order' quando presente.
|
|
338
|
-
* - Funções condicionais/transformações sempre viram funções reais.
|
|
339
|
-
*
|
|
340
|
-
* @param schema Objeto OpenAPI/JSON Schema com properties e x-ui por propriedade.
|
|
341
|
-
* @returns FieldDefinition[] prontos para mapeamento/uso no restante do sistema.
|
|
342
|
-
*/
|
|
343
|
-
normalizeSchema(schema: any): FieldDefinition[];
|
|
344
|
-
private resolveFieldType;
|
|
345
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SchemaNormalizerService, never>;
|
|
346
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<SchemaNormalizerService>;
|
|
347
|
-
}
|
|
348
|
-
|
|
349
94
|
/**
|
|
350
95
|
* Nova arquitetura modular do TableConfig v2.0
|
|
351
96
|
* Preparada para crescimento exponencial e alinhada com as 5 abas do editor
|
|
@@ -2093,53 +1838,335 @@ interface KeyboardAccessibilityConfig {
|
|
|
2093
1838
|
* Estrutura modular alinhada com as 5 abas do editor
|
|
2094
1839
|
* Preparada para crescimento exponencial
|
|
2095
1840
|
*/
|
|
2096
|
-
interface TableConfigV2 {
|
|
2097
|
-
/** Metadados da configuração */
|
|
2098
|
-
meta?: ConfigMetadata;
|
|
2099
|
-
/** Definições de colunas */
|
|
2100
|
-
columns: ColumnDefinition[];
|
|
2101
|
-
/** Comportamento geral da tabela (Aba: Visão Geral & Comportamento) */
|
|
2102
|
-
behavior?: TableBehaviorConfig;
|
|
2103
|
-
/** Configurações de aparência e layout (Aba: Visão Geral & Comportamento) */
|
|
2104
|
-
appearance?: TableAppearanceConfig;
|
|
2105
|
-
/** Barra de ferramentas (Aba: Barra de Ferramentas & Ações) */
|
|
2106
|
-
toolbar?: ToolbarConfig;
|
|
2107
|
-
/** Ações por linha e em lote (Aba: Barra de Ferramentas & Ações) */
|
|
2108
|
-
actions?: TableActionsConfig;
|
|
2109
|
-
/** Configurações de exportação (Aba: Barra de Ferramentas & Ações) */
|
|
2110
|
-
export?: ExportConfig;
|
|
2111
|
-
/** Mensagens personalizadas (Aba: Mensagens & Localização) */
|
|
2112
|
-
messages?: MessagesConfig;
|
|
2113
|
-
/** Localização e i18n (Aba: Mensagens & Localização) */
|
|
2114
|
-
localization?: LocalizationConfig;
|
|
2115
|
-
/** Configurações avançadas de dados */
|
|
2116
|
-
data?: DataConfig;
|
|
2117
|
-
/** Temas e customização visual */
|
|
2118
|
-
theme?: ThemeConfig;
|
|
2119
|
-
/** Configurações de performance */
|
|
2120
|
-
performance?: PerformanceConfig;
|
|
2121
|
-
/** Plugins e extensões */
|
|
2122
|
-
plugins?: PluginConfig[];
|
|
2123
|
-
/** Configurações de acessibilidade */
|
|
2124
|
-
accessibility?: AccessibilityConfig;
|
|
1841
|
+
interface TableConfigV2 {
|
|
1842
|
+
/** Metadados da configuração */
|
|
1843
|
+
meta?: ConfigMetadata;
|
|
1844
|
+
/** Definições de colunas */
|
|
1845
|
+
columns: ColumnDefinition[];
|
|
1846
|
+
/** Comportamento geral da tabela (Aba: Visão Geral & Comportamento) */
|
|
1847
|
+
behavior?: TableBehaviorConfig;
|
|
1848
|
+
/** Configurações de aparência e layout (Aba: Visão Geral & Comportamento) */
|
|
1849
|
+
appearance?: TableAppearanceConfig;
|
|
1850
|
+
/** Barra de ferramentas (Aba: Barra de Ferramentas & Ações) */
|
|
1851
|
+
toolbar?: ToolbarConfig;
|
|
1852
|
+
/** Ações por linha e em lote (Aba: Barra de Ferramentas & Ações) */
|
|
1853
|
+
actions?: TableActionsConfig;
|
|
1854
|
+
/** Configurações de exportação (Aba: Barra de Ferramentas & Ações) */
|
|
1855
|
+
export?: ExportConfig;
|
|
1856
|
+
/** Mensagens personalizadas (Aba: Mensagens & Localização) */
|
|
1857
|
+
messages?: MessagesConfig;
|
|
1858
|
+
/** Localização e i18n (Aba: Mensagens & Localização) */
|
|
1859
|
+
localization?: LocalizationConfig;
|
|
1860
|
+
/** Configurações avançadas de dados */
|
|
1861
|
+
data?: DataConfig;
|
|
1862
|
+
/** Temas e customização visual */
|
|
1863
|
+
theme?: ThemeConfig;
|
|
1864
|
+
/** Configurações de performance */
|
|
1865
|
+
performance?: PerformanceConfig;
|
|
1866
|
+
/** Plugins e extensões */
|
|
1867
|
+
plugins?: PluginConfig[];
|
|
1868
|
+
/** Configurações de acessibilidade */
|
|
1869
|
+
accessibility?: AccessibilityConfig;
|
|
1870
|
+
/**
|
|
1871
|
+
* Regras de estilo condicionais aplicadas à linha inteira (escopo global)
|
|
1872
|
+
*/
|
|
1873
|
+
rowConditionalStyles?: Array<{
|
|
1874
|
+
condition: string;
|
|
1875
|
+
cssClass?: string;
|
|
1876
|
+
style?: {
|
|
1877
|
+
[key: string]: string;
|
|
1878
|
+
};
|
|
1879
|
+
description?: string;
|
|
1880
|
+
}>;
|
|
1881
|
+
/** Estado serializado do construtor para regras de linha (round‑trip) */
|
|
1882
|
+
_rowStyleRulesState?: any;
|
|
1883
|
+
}
|
|
1884
|
+
/**
|
|
1885
|
+
* Type guard to check if config is V2
|
|
1886
|
+
*/
|
|
1887
|
+
declare function isTableConfigV2(config: any): config is TableConfigV2;
|
|
1888
|
+
|
|
1889
|
+
type ValuePresentationType = 'string' | 'number' | 'currency' | 'percentage' | 'date' | 'datetime' | 'time' | 'boolean';
|
|
1890
|
+
type ValuePresentationStyle = 'default' | 'short' | 'medium' | 'long' | 'full' | 'compact';
|
|
1891
|
+
interface ValuePresentationConfig {
|
|
1892
|
+
type: ValuePresentationType;
|
|
1893
|
+
style?: ValuePresentationStyle;
|
|
1894
|
+
format?: string;
|
|
1895
|
+
currency?: Partial<CurrencyLocaleConfig>;
|
|
1896
|
+
number?: Partial<NumberLocaleConfig>;
|
|
1897
|
+
}
|
|
1898
|
+
interface ValuePresentationResolutionContext {
|
|
1899
|
+
localization?: LocalizationConfig | null;
|
|
1900
|
+
surfaceLocale?: string | null;
|
|
1901
|
+
appLocale?: string | null;
|
|
1902
|
+
valueLocale?: string | null;
|
|
1903
|
+
}
|
|
1904
|
+
interface ResolvedValuePresentation {
|
|
1905
|
+
type: ValuePresentationType;
|
|
1906
|
+
locale: string;
|
|
1907
|
+
style?: ValuePresentationStyle;
|
|
1908
|
+
format?: string;
|
|
1909
|
+
currency?: CurrencyLocaleConfig;
|
|
1910
|
+
number?: NumberLocaleConfig;
|
|
1911
|
+
dateTime?: DateTimeLocaleConfig;
|
|
1912
|
+
}
|
|
1913
|
+
|
|
1914
|
+
/**
|
|
1915
|
+
* Contrato de saída do normalizador de esquema (SchemaNormalizerService):
|
|
1916
|
+
* - Converte metadados `x-ui` em FieldDefinition tipado.
|
|
1917
|
+
* - Todas as funções expostas são funções reais (nunca strings):
|
|
1918
|
+
* - conditionalDisplay: () => boolean
|
|
1919
|
+
* - conditionalRequired: () => boolean
|
|
1920
|
+
* - transformValueFunction: (val: any) => any
|
|
1921
|
+
* - Suporte completo a ValidatorOptions (sincronos e assíncronos),
|
|
1922
|
+
* incluindo mensagens e comportamento de validação (gatilhos, debounce, exibição de erros).
|
|
1923
|
+
*/
|
|
1924
|
+
interface FieldDefinition {
|
|
1925
|
+
name: string;
|
|
1926
|
+
label?: string;
|
|
1927
|
+
description?: string;
|
|
1928
|
+
type?: string;
|
|
1929
|
+
controlType?: string;
|
|
1930
|
+
mode?: string;
|
|
1931
|
+
placeholder?: string;
|
|
1932
|
+
defaultValue?: any;
|
|
1933
|
+
group?: string;
|
|
1934
|
+
order?: number;
|
|
1935
|
+
width?: number | string;
|
|
1936
|
+
isFlex?: boolean;
|
|
1937
|
+
displayOrientation?: string;
|
|
1938
|
+
selectionMode?: 'boolean' | 'single' | 'multiple';
|
|
1939
|
+
variant?: string;
|
|
1940
|
+
density?: 'compact' | 'comfortable' | 'spacious';
|
|
1941
|
+
layout?: 'horizontal' | 'vertical';
|
|
1942
|
+
disabled?: boolean;
|
|
1943
|
+
readOnly?: boolean;
|
|
1944
|
+
multiple?: boolean;
|
|
1945
|
+
editable?: boolean;
|
|
1946
|
+
validationMode?: string;
|
|
1947
|
+
unique?: boolean;
|
|
1948
|
+
mask?: string;
|
|
1949
|
+
sortable?: boolean;
|
|
1950
|
+
/** Função que define obrigatoriedade condicional. */
|
|
1951
|
+
conditionalRequired?: () => boolean;
|
|
1952
|
+
viewOnlyStyle?: string;
|
|
1953
|
+
/** Lista de gatilhos de validação, ex.: ["blur", "change"]. */
|
|
1954
|
+
validationTriggers?: string[];
|
|
1955
|
+
hidden?: boolean;
|
|
1956
|
+
tableHidden?: boolean;
|
|
1957
|
+
formHidden?: boolean;
|
|
1958
|
+
filterable?: boolean;
|
|
1959
|
+
/** Função que controla se o campo é exibido. */
|
|
1960
|
+
conditionalDisplay?: () => boolean;
|
|
1961
|
+
dependentField?: string;
|
|
1962
|
+
resetOnDependentChange?: boolean;
|
|
1963
|
+
inlineEditing?: boolean;
|
|
1964
|
+
/** Função de transformação de valor antes de salvar/exibir. */
|
|
1965
|
+
transformValueFunction?: (val: any) => any;
|
|
1966
|
+
debounceTime?: number;
|
|
1967
|
+
helpText?: string;
|
|
1968
|
+
hint?: string;
|
|
1969
|
+
hiddenCondition?: any;
|
|
1970
|
+
tooltipOnHover?: boolean;
|
|
1971
|
+
icon?: string;
|
|
1972
|
+
iconPosition?: string;
|
|
1973
|
+
iconSize?: string | number;
|
|
1974
|
+
iconColor?: string;
|
|
1975
|
+
iconClass?: string;
|
|
1976
|
+
iconStyle?: string;
|
|
1977
|
+
iconFontSize?: string | number;
|
|
1978
|
+
valueField?: string;
|
|
1979
|
+
displayField?: string;
|
|
1980
|
+
filterField?: string;
|
|
1981
|
+
endpoint?: string;
|
|
1982
|
+
resourcePath?: string;
|
|
1983
|
+
optionSource?: OptionSourceMetadata;
|
|
1984
|
+
emptyOptionText?: string;
|
|
1985
|
+
options?: {
|
|
1986
|
+
key: string;
|
|
1987
|
+
value: string;
|
|
1988
|
+
}[];
|
|
1989
|
+
filter?: any;
|
|
1990
|
+
filterCriteria?: any;
|
|
1991
|
+
searchable?: boolean;
|
|
1992
|
+
selectAll?: boolean;
|
|
1993
|
+
maxSelections?: number;
|
|
1994
|
+
optionLabelKey?: string;
|
|
1995
|
+
optionValueKey?: string;
|
|
1996
|
+
filterOptions?: any[];
|
|
1997
|
+
numericFormat?: string;
|
|
1998
|
+
valuePresentation?: ValuePresentationConfig;
|
|
1999
|
+
numericStep?: number;
|
|
2000
|
+
numericMin?: number;
|
|
2001
|
+
numericMax?: number;
|
|
2002
|
+
numericMaxLength?: number;
|
|
2003
|
+
optionGroups?: {
|
|
2004
|
+
key: string;
|
|
2005
|
+
value: string;
|
|
2006
|
+
}[];
|
|
2007
|
+
disabledOptions?: string[];
|
|
2008
|
+
buttons?: any[];
|
|
2009
|
+
/** Obrigatório. */
|
|
2010
|
+
required?: boolean;
|
|
2011
|
+
requiredMessage?: string;
|
|
2012
|
+
/** Tamanho mínimo/máximo (strings). */
|
|
2013
|
+
minLength?: number;
|
|
2014
|
+
minLengthMessage?: string;
|
|
2015
|
+
maxLength?: number;
|
|
2016
|
+
maxLengthMessage?: string;
|
|
2017
|
+
/** Limites numéricos. */
|
|
2018
|
+
min?: number;
|
|
2019
|
+
max?: number;
|
|
2020
|
+
/** Mensagens dedicadas para min/max numéricos. */
|
|
2021
|
+
minMessage?: string;
|
|
2022
|
+
maxMessage?: string;
|
|
2023
|
+
/** Mensagem quando ambos limites (range) são aplicados. */
|
|
2024
|
+
rangeMessage?: string;
|
|
2025
|
+
/** Padrão (regex). Aceita pattern/regex. */
|
|
2026
|
+
pattern?: string;
|
|
2027
|
+
patternMessage?: string;
|
|
2028
|
+
/** Validação de e-mail. */
|
|
2029
|
+
email?: boolean;
|
|
2030
|
+
emailMessage?: string;
|
|
2031
|
+
/** Validação de URL. */
|
|
2032
|
+
url?: boolean;
|
|
2033
|
+
urlMessage?: string;
|
|
2034
|
+
/** Requer que valor combine com outro campo. */
|
|
2035
|
+
matchField?: string;
|
|
2036
|
+
matchFieldMessage?: string;
|
|
2037
|
+
/** Requer que o checkbox esteja marcado. */
|
|
2038
|
+
requiredChecked?: boolean;
|
|
2039
|
+
/** Tipos de arquivo permitidos e tamanho máximo. */
|
|
2040
|
+
allowedFileTypes?: string[];
|
|
2041
|
+
fileTypeMessage?: string;
|
|
2042
|
+
maxFileSize?: number;
|
|
2043
|
+
/** Validador customizado síncrono. */
|
|
2044
|
+
customValidator?: (value: any, model?: any) => any;
|
|
2045
|
+
/** Validador customizado assíncrono. */
|
|
2046
|
+
asyncValidator?: (value: any, model?: any) => Promise<any>;
|
|
2047
|
+
/** Validador de unicidade (ex.: consulta ao backend). */
|
|
2048
|
+
uniqueValidator?: (value: any, model?: any) => boolean | Promise<boolean>;
|
|
2049
|
+
uniqueMessage?: string;
|
|
2050
|
+
/** Validação condicional baseada em outro(s) campos/estado. */
|
|
2051
|
+
conditionalValidation?: (value: any, model?: any) => boolean | string | Promise<boolean | string>;
|
|
2052
|
+
/** Mínimo de palavras (para textos longos). */
|
|
2053
|
+
minWords?: number;
|
|
2054
|
+
/** Gatilho(s) de validação (alias de validationTriggers). */
|
|
2055
|
+
/** Tempo de debounce (ms) para executar validação. */
|
|
2056
|
+
validationDebounce?: number;
|
|
2057
|
+
/** Exibir erros inline no campo. */
|
|
2058
|
+
showInlineErrors?: boolean;
|
|
2059
|
+
/** Posição preferida da mensagem de erro (ex.: below, right). */
|
|
2060
|
+
errorPosition?: string;
|
|
2061
|
+
[key: string]: any;
|
|
2062
|
+
}
|
|
2063
|
+
|
|
2064
|
+
declare enum ApiEndpoint {
|
|
2065
|
+
Default = "default",
|
|
2066
|
+
HumanResources = "humanResources",
|
|
2067
|
+
UiWrappersTest = "uiWrappersTest"
|
|
2068
|
+
}
|
|
2069
|
+
|
|
2070
|
+
interface ApiUrlEntry {
|
|
2071
|
+
baseUrl?: string;
|
|
2072
|
+
path?: string;
|
|
2073
|
+
fullUrl?: string;
|
|
2074
|
+
version?: string;
|
|
2075
|
+
headers?: HttpHeaders | Record<string, string | string[]>;
|
|
2076
|
+
}
|
|
2077
|
+
interface ApiUrlConfig {
|
|
2078
|
+
[key: string]: ApiUrlEntry;
|
|
2079
|
+
}
|
|
2080
|
+
declare const API_URL: InjectionToken<ApiUrlConfig>;
|
|
2081
|
+
declare function buildApiUrl(entry: ApiUrlEntry): string;
|
|
2082
|
+
declare function buildHeaders(entry: ApiUrlEntry): HttpHeaders | undefined;
|
|
2083
|
+
|
|
2084
|
+
/**
|
|
2085
|
+
* SchemaNormalizerService
|
|
2086
|
+
* -----------------------
|
|
2087
|
+
* Serviço responsável por converter um esquema bruto (OpenAPI + x-ui) em uma
|
|
2088
|
+
* lista tipada de FieldDefinition consumida pelo restante do sistema
|
|
2089
|
+
* (mapeadores de metadata, criador de FormGroup, carregador de campos dinâmicos, etc.).
|
|
2090
|
+
*
|
|
2091
|
+
* Entrada esperada
|
|
2092
|
+
* - Objeto JSON no formato OpenAPI/JSON Schema contendo:
|
|
2093
|
+
* - properties: { [name: string]: { type, title, description, ... , 'x-ui': { ... } } }
|
|
2094
|
+
* - Em cada propriedade, o objeto 'x-ui' define aspectos de UI/validação.
|
|
2095
|
+
*
|
|
2096
|
+
* Saída (FieldDefinition[])
|
|
2097
|
+
* - Tipagem forte de campos com funções reais (nunca strings) para regras condicionais e validadores customizados.
|
|
2098
|
+
* - Todas as propriedades de validação e comportamento consolidadas no mesmo objeto do campo.
|
|
2099
|
+
*
|
|
2100
|
+
* Segurança e observações
|
|
2101
|
+
* - Este serviço aceita funções em formato string dentro do x-ui (ex.: uniqueValidator, conditionalValidation),
|
|
2102
|
+
* e as converte via new Function. Isso exige backend confiável e controlado.
|
|
2103
|
+
* Em ambientes não confiáveis, evite funções como string ou implemente um sandbox/whitelist.
|
|
2104
|
+
* - Valores booleanos/numéricos são normalizados para tipos nativos.
|
|
2105
|
+
* - Arrays de opções são convertidos para pares { key, value } previsíveis.
|
|
2106
|
+
*
|
|
2107
|
+
* Exemplo mínimo de entrada
|
|
2108
|
+
* const schema = {
|
|
2109
|
+
* properties: {
|
|
2110
|
+
* email: {
|
|
2111
|
+
* type: 'string',
|
|
2112
|
+
* title: 'E-mail',
|
|
2113
|
+
* 'x-ui': { controlType: 'input', type: 'string', required: true, email: true }
|
|
2114
|
+
* }
|
|
2115
|
+
* }
|
|
2116
|
+
* };
|
|
2117
|
+
* const fields = normalizer.normalizeSchema(schema);
|
|
2118
|
+
* // fields: [{ name: 'email', label: 'E-mail', type: 'string', controlType: 'input', required: true, email: true }]
|
|
2119
|
+
*/
|
|
2120
|
+
declare class SchemaNormalizerService {
|
|
2121
|
+
/** Convert value to boolean. Accepts boolean, string or number. */
|
|
2122
|
+
private parseBoolean;
|
|
2123
|
+
/** Ensure an array of strings from various inputs. */
|
|
2124
|
+
private parseStringArray;
|
|
2125
|
+
/** Parse option arrays into `{ key, value }` objects. */
|
|
2126
|
+
private parseOptions;
|
|
2127
|
+
private parseOptionSource;
|
|
2128
|
+
private parseValuePresentation;
|
|
2125
2129
|
/**
|
|
2126
|
-
*
|
|
2130
|
+
* Converte string/Function em função real.
|
|
2131
|
+
* Atenção: usa `new Function` para avaliar strings – requer backend confiável.
|
|
2127
2132
|
*/
|
|
2128
|
-
|
|
2129
|
-
|
|
2130
|
-
|
|
2131
|
-
|
|
2132
|
-
|
|
2133
|
-
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
|
|
2133
|
+
private parseFunction;
|
|
2134
|
+
/** Parse a predicate function: () => boolean */
|
|
2135
|
+
private parsePredicateFunction;
|
|
2136
|
+
/** Parse a transform function: (val: any) => any */
|
|
2137
|
+
private parseTransformFunction;
|
|
2138
|
+
/**
|
|
2139
|
+
* Parse de validador condicional: (value: any, model?: any) => boolean | string | Promise<boolean | string>
|
|
2140
|
+
*/
|
|
2141
|
+
private parseConditionalValidator;
|
|
2142
|
+
/**
|
|
2143
|
+
* Extrai e normaliza propriedades de validação a partir do objeto x-ui.
|
|
2144
|
+
* Suporta: required, min/max, minLength/maxLength, pattern/regex, email, url,
|
|
2145
|
+
* matchField, uniqueValidator (+message), conditionalValidation, requiredChecked,
|
|
2146
|
+
* arquivos (allowedFileTypes, fileTypeMessage, maxFileSize), custom/async validators,
|
|
2147
|
+
* minWords e comportamento (validationTrigger(s), validationDebounce, showInlineErrors, errorPosition).
|
|
2148
|
+
*/
|
|
2149
|
+
private parseValidators;
|
|
2150
|
+
/** Parse array of button definitions. */
|
|
2151
|
+
private parseButtons;
|
|
2152
|
+
private resolveNonEmptyStringToken;
|
|
2153
|
+
private isNumericSchemaType;
|
|
2154
|
+
private resolveNumericFormatToken;
|
|
2155
|
+
/**
|
|
2156
|
+
* Converte o schema bruto do backend (OpenAPI + x-ui) em FieldDefinition[] tipado.
|
|
2157
|
+
* Regras:
|
|
2158
|
+
* - Ignora propriedades sem x-ui.
|
|
2159
|
+
* - Garante ordenação por 'order' quando presente.
|
|
2160
|
+
* - Funções condicionais/transformações sempre viram funções reais.
|
|
2161
|
+
*
|
|
2162
|
+
* @param schema Objeto OpenAPI/JSON Schema com properties e x-ui por propriedade.
|
|
2163
|
+
* @returns FieldDefinition[] prontos para mapeamento/uso no restante do sistema.
|
|
2164
|
+
*/
|
|
2165
|
+
normalizeSchema(schema: any): FieldDefinition[];
|
|
2166
|
+
private resolveFieldType;
|
|
2167
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SchemaNormalizerService, never>;
|
|
2168
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<SchemaNormalizerService>;
|
|
2138
2169
|
}
|
|
2139
|
-
/**
|
|
2140
|
-
* Type guard to check if config is V2
|
|
2141
|
-
*/
|
|
2142
|
-
declare function isTableConfigV2(config: any): config is TableConfigV2;
|
|
2143
2170
|
|
|
2144
2171
|
type TableConfig = TableConfigV2;
|
|
2145
2172
|
|
|
@@ -2528,6 +2555,7 @@ declare class GenericCrudService<T, ID extends string | number = string | number
|
|
|
2528
2555
|
private schemaNormalizer;
|
|
2529
2556
|
private globalConfig;
|
|
2530
2557
|
private static readonly ERROR_MESSAGES;
|
|
2558
|
+
private static readonly unavailableFilteredSchemaUrls;
|
|
2531
2559
|
private baseApiUrl;
|
|
2532
2560
|
private apiUrl;
|
|
2533
2561
|
private endpoints;
|
|
@@ -2610,6 +2638,7 @@ declare class GenericCrudService<T, ID extends string | number = string | number
|
|
|
2610
2638
|
* ```
|
|
2611
2639
|
*/
|
|
2612
2640
|
getSchema(options?: CrudOperationOptions): Observable<FieldDefinition[]>;
|
|
2641
|
+
private fetchDirectSchema;
|
|
2613
2642
|
/** Retorna o campo identificador do recurso (ex.: 'id', 'codigo'), quando derivado do schema. */
|
|
2614
2643
|
getResourceIdField(): string | undefined;
|
|
2615
2644
|
/** Retorna o último schemaId e hash conhecidos após getSchema()/getFilteredSchema(). */
|
|
@@ -3157,6 +3186,8 @@ declare const API_CONFIG_STORAGE_OPTIONS: InjectionToken<ApiConfigStorageOptions
|
|
|
3157
3186
|
* HTTP-based storage that talks to praxis-config-starter user-config API.
|
|
3158
3187
|
*/
|
|
3159
3188
|
declare class ApiConfigStorage implements AsyncConfigStorage {
|
|
3189
|
+
private static readonly unavailableLoadBaseUrls;
|
|
3190
|
+
private static readonly loadAvailabilityProbes;
|
|
3160
3191
|
private readonly http;
|
|
3161
3192
|
private readonly opts;
|
|
3162
3193
|
private readonly baseUrl;
|
|
@@ -3165,7 +3196,11 @@ declare class ApiConfigStorage implements AsyncConfigStorage {
|
|
|
3165
3196
|
private readonly componentTypeResolver;
|
|
3166
3197
|
private readonly cache;
|
|
3167
3198
|
constructor();
|
|
3199
|
+
private shouldLogLoadError;
|
|
3200
|
+
private shouldLogSaveError;
|
|
3201
|
+
private shouldLogClearError;
|
|
3168
3202
|
loadConfig<T>(key: string): Observable<T | null>;
|
|
3203
|
+
private executeLoadConfigRequest;
|
|
3169
3204
|
saveConfig<T>(key: string, config: T): Observable<void>;
|
|
3170
3205
|
private shouldPropagateSaveError;
|
|
3171
3206
|
private shouldPropagateClearError;
|
|
@@ -3195,6 +3230,14 @@ type GlobalActionContext = {
|
|
|
3195
3230
|
payload?: any;
|
|
3196
3231
|
pageContext?: Record<string, any> | null;
|
|
3197
3232
|
meta?: Record<string, any>;
|
|
3233
|
+
runtime?: {
|
|
3234
|
+
row?: any;
|
|
3235
|
+
item?: any;
|
|
3236
|
+
selection?: any;
|
|
3237
|
+
formData?: any;
|
|
3238
|
+
value?: any;
|
|
3239
|
+
state?: any;
|
|
3240
|
+
};
|
|
3198
3241
|
};
|
|
3199
3242
|
type GlobalActionHandler = (payload?: any, context?: GlobalActionContext) => Promise<GlobalActionResult> | GlobalActionResult;
|
|
3200
3243
|
interface GlobalActionHandlerEntry {
|
|
@@ -3250,10 +3293,12 @@ declare class GlobalActionService {
|
|
|
3250
3293
|
private readonly registry;
|
|
3251
3294
|
private readonly globalConfig;
|
|
3252
3295
|
private readonly dialog;
|
|
3296
|
+
private readonly surface;
|
|
3253
3297
|
private readonly toast;
|
|
3254
3298
|
private readonly analytics;
|
|
3255
3299
|
private readonly api;
|
|
3256
3300
|
private readonly guardResolver;
|
|
3301
|
+
private readonly surfaceBindingRuntime;
|
|
3257
3302
|
constructor();
|
|
3258
3303
|
register(id: string, handler: GlobalActionHandler): void;
|
|
3259
3304
|
has(id: string): boolean;
|
|
@@ -3265,6 +3310,69 @@ declare class GlobalActionService {
|
|
|
3265
3310
|
static ɵprov: i0.ɵɵInjectableDeclaration<GlobalActionService>;
|
|
3266
3311
|
}
|
|
3267
3312
|
|
|
3313
|
+
type ActionDefinition = {
|
|
3314
|
+
/** Global action id to execute (e.g., 'navigation.back', 'dialog.alert'). */
|
|
3315
|
+
type?: string;
|
|
3316
|
+
/** Optional payload template for the action. */
|
|
3317
|
+
params?: Record<string, any>;
|
|
3318
|
+
};
|
|
3319
|
+
interface WidgetDefinition {
|
|
3320
|
+
/** Component id registered in ComponentMetadataRegistry */
|
|
3321
|
+
id: string;
|
|
3322
|
+
/** Optional author-defined identity for nested widget instances inside composite containers. */
|
|
3323
|
+
childWidgetKey?: string;
|
|
3324
|
+
/** Inputs to bind into the component instance */
|
|
3325
|
+
inputs?: Record<string, any>;
|
|
3326
|
+
/** Map of component output name to action (global action or 'emit'). */
|
|
3327
|
+
outputs?: Record<string, ActionDefinition | 'emit'>;
|
|
3328
|
+
/**
|
|
3329
|
+
* Optional explicit order for applying inputs. Keys listed here are applied first
|
|
3330
|
+
* (in order) with change detection flush between each, then remaining inputs are applied.
|
|
3331
|
+
*/
|
|
3332
|
+
bindingOrder?: string[];
|
|
3333
|
+
}
|
|
3334
|
+
|
|
3335
|
+
type SurfacePresentation = 'modal' | 'drawer';
|
|
3336
|
+
type SurfaceBindingMode = 'path' | 'template' | 'constant';
|
|
3337
|
+
interface SurfaceBinding {
|
|
3338
|
+
from?: string;
|
|
3339
|
+
to: string;
|
|
3340
|
+
mode?: SurfaceBindingMode;
|
|
3341
|
+
value?: any;
|
|
3342
|
+
}
|
|
3343
|
+
interface SurfaceSizeConfig {
|
|
3344
|
+
width?: string;
|
|
3345
|
+
height?: string;
|
|
3346
|
+
minWidth?: string;
|
|
3347
|
+
maxWidth?: string;
|
|
3348
|
+
minHeight?: string;
|
|
3349
|
+
maxHeight?: string;
|
|
3350
|
+
}
|
|
3351
|
+
interface SurfaceOpenPayload {
|
|
3352
|
+
presentation: SurfacePresentation;
|
|
3353
|
+
title?: string;
|
|
3354
|
+
subtitle?: string;
|
|
3355
|
+
icon?: string;
|
|
3356
|
+
size?: SurfaceSizeConfig;
|
|
3357
|
+
widget: WidgetDefinition;
|
|
3358
|
+
bindings?: SurfaceBinding[];
|
|
3359
|
+
context?: Record<string, any>;
|
|
3360
|
+
}
|
|
3361
|
+
|
|
3362
|
+
declare class SurfaceBindingRuntimeService {
|
|
3363
|
+
resolveWidget(widget: WidgetDefinition, bindings: SurfaceBinding[] | undefined, actionPayload?: any, actionContext?: GlobalActionContext, explicitContext?: Record<string, any>): WidgetDefinition;
|
|
3364
|
+
extractByPath(obj: any, path?: string): any;
|
|
3365
|
+
resolveTemplate(node: any, context: any): any;
|
|
3366
|
+
setValueAtPath<T extends object>(obj: T, rawPath: string, value: any): T;
|
|
3367
|
+
private buildContext;
|
|
3368
|
+
private resolveBindingValue;
|
|
3369
|
+
private normalizeTargetPath;
|
|
3370
|
+
private tokenizePath;
|
|
3371
|
+
private clone;
|
|
3372
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SurfaceBindingRuntimeService, never>;
|
|
3373
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<SurfaceBindingRuntimeService>;
|
|
3374
|
+
}
|
|
3375
|
+
|
|
3268
3376
|
interface ConnectionConfigV1 {
|
|
3269
3377
|
resourcePath: string;
|
|
3270
3378
|
version: 1;
|
|
@@ -3829,6 +3937,14 @@ interface FieldMetadata extends ComponentMetadata {
|
|
|
3829
3937
|
mask?: string;
|
|
3830
3938
|
/** Format for display values */
|
|
3831
3939
|
format?: string;
|
|
3940
|
+
/**
|
|
3941
|
+
* Canonical value-presentation semantics used by read-only/display surfaces.
|
|
3942
|
+
*
|
|
3943
|
+
* When provided, this metadata should be preferred over legacy formatting
|
|
3944
|
+
* hints such as `format`, `currency`, `locale`, or control-specific
|
|
3945
|
+
* heuristics.
|
|
3946
|
+
*/
|
|
3947
|
+
valuePresentation?: ValuePresentationConfig;
|
|
3832
3948
|
/** Material Design specific configuration */
|
|
3833
3949
|
materialDesign?: MaterialDesignConfig;
|
|
3834
3950
|
/** Fields this field depends on */
|
|
@@ -6027,6 +6143,46 @@ declare class ErrorMessageService {
|
|
|
6027
6143
|
static ɵprov: i0.ɵɵInjectableDeclaration<ErrorMessageService>;
|
|
6028
6144
|
}
|
|
6029
6145
|
|
|
6146
|
+
type PortDirection = 'input' | 'output';
|
|
6147
|
+
type PortSemanticKind = 'event' | 'value' | 'selection' | 'collection' | 'query-context' | 'view-context' | 'config-fragment' | 'command' | 'status' | 'diagnostic' | 'trigger';
|
|
6148
|
+
type PortCardinality = 'one' | 'many' | 'stream';
|
|
6149
|
+
type PortSchemaKind = 'json-schema' | 'ts-type' | 'opaque' | 'structural-shape';
|
|
6150
|
+
type PortSchemaMode = 'strict' | 'structural' | 'opaque';
|
|
6151
|
+
interface PortSchemaRef {
|
|
6152
|
+
id: string;
|
|
6153
|
+
kind: PortSchemaKind;
|
|
6154
|
+
ref?: string;
|
|
6155
|
+
description?: string;
|
|
6156
|
+
}
|
|
6157
|
+
interface PortCompatibilityRuleSet {
|
|
6158
|
+
acceptsSemanticKinds?: PortSemanticKind[];
|
|
6159
|
+
rejectsSemanticKinds?: PortSemanticKind[];
|
|
6160
|
+
acceptsCardinality?: PortCardinality[];
|
|
6161
|
+
requiresTransformWhenSourceKinds?: PortSemanticKind[];
|
|
6162
|
+
schemaMode?: PortSchemaMode;
|
|
6163
|
+
}
|
|
6164
|
+
interface PortExposure {
|
|
6165
|
+
public: boolean;
|
|
6166
|
+
advanced?: boolean;
|
|
6167
|
+
deprecated?: boolean;
|
|
6168
|
+
internalPath?: string;
|
|
6169
|
+
group?: string;
|
|
6170
|
+
}
|
|
6171
|
+
interface PortContract {
|
|
6172
|
+
id: string;
|
|
6173
|
+
label: string;
|
|
6174
|
+
direction: PortDirection;
|
|
6175
|
+
semanticKind: PortSemanticKind;
|
|
6176
|
+
schema?: PortSchemaRef;
|
|
6177
|
+
cardinality?: PortCardinality;
|
|
6178
|
+
required?: boolean;
|
|
6179
|
+
mutable?: boolean;
|
|
6180
|
+
description?: string;
|
|
6181
|
+
compatibility?: PortCompatibilityRuleSet;
|
|
6182
|
+
exposure?: PortExposure;
|
|
6183
|
+
examples?: unknown[];
|
|
6184
|
+
}
|
|
6185
|
+
|
|
6030
6186
|
/**
|
|
6031
6187
|
* Documentation metadata for dynamically added components.
|
|
6032
6188
|
*
|
|
@@ -6111,6 +6267,8 @@ interface ComponentDocMeta {
|
|
|
6111
6267
|
example?: any;
|
|
6112
6268
|
};
|
|
6113
6269
|
}>;
|
|
6270
|
+
/** Optional canonical semantic ports that complement legacy inputs/outputs metadata. */
|
|
6271
|
+
ports?: PortContract[];
|
|
6114
6272
|
/** Tags or categories for search */
|
|
6115
6273
|
tags?: string[];
|
|
6116
6274
|
/** Source library for the component */
|
|
@@ -6126,6 +6284,107 @@ interface ComponentDocMeta {
|
|
|
6126
6284
|
};
|
|
6127
6285
|
}
|
|
6128
6286
|
|
|
6287
|
+
type PraxisLocale = string;
|
|
6288
|
+
interface PraxisTranslationParams {
|
|
6289
|
+
[key: string]: string | number | boolean | null | undefined;
|
|
6290
|
+
}
|
|
6291
|
+
interface PraxisI18nMessageDescriptor {
|
|
6292
|
+
key?: string;
|
|
6293
|
+
text?: string;
|
|
6294
|
+
params?: PraxisTranslationParams;
|
|
6295
|
+
}
|
|
6296
|
+
type PraxisTextValue = string | PraxisI18nMessageDescriptor;
|
|
6297
|
+
interface PraxisI18nDictionary {
|
|
6298
|
+
[key: string]: string;
|
|
6299
|
+
}
|
|
6300
|
+
interface PraxisI18nNamespaceDictionary {
|
|
6301
|
+
[locale: string]: PraxisI18nDictionary;
|
|
6302
|
+
}
|
|
6303
|
+
interface PraxisI18nNamespaceConfig {
|
|
6304
|
+
[namespace: string]: PraxisI18nNamespaceDictionary;
|
|
6305
|
+
}
|
|
6306
|
+
interface PraxisI18nConfig {
|
|
6307
|
+
locale?: PraxisLocale;
|
|
6308
|
+
fallbackLocale?: PraxisLocale;
|
|
6309
|
+
dictionaries?: Record<PraxisLocale, PraxisI18nDictionary>;
|
|
6310
|
+
namespaces?: PraxisI18nNamespaceConfig;
|
|
6311
|
+
}
|
|
6312
|
+
interface PraxisI18nTranslator {
|
|
6313
|
+
translate(key: string, params?: PraxisTranslationParams, fallback?: string): string;
|
|
6314
|
+
}
|
|
6315
|
+
|
|
6316
|
+
interface ComponentMetadataEditorialBindingDescriptor {
|
|
6317
|
+
name: string;
|
|
6318
|
+
type: string;
|
|
6319
|
+
description?: PraxisTextValue;
|
|
6320
|
+
label?: PraxisTextValue;
|
|
6321
|
+
default?: unknown;
|
|
6322
|
+
}
|
|
6323
|
+
interface ComponentMetadataEditorialDescriptor {
|
|
6324
|
+
controlType: string;
|
|
6325
|
+
componentMetaId: string;
|
|
6326
|
+
selector?: string;
|
|
6327
|
+
component?: Type<unknown>;
|
|
6328
|
+
friendlyName: PraxisTextValue;
|
|
6329
|
+
description?: PraxisTextValue;
|
|
6330
|
+
tooltip?: PraxisTextValue;
|
|
6331
|
+
icon?: string;
|
|
6332
|
+
family?: string;
|
|
6333
|
+
track?: string;
|
|
6334
|
+
tags?: string[];
|
|
6335
|
+
inputs?: ComponentMetadataEditorialBindingDescriptor[];
|
|
6336
|
+
outputs?: ComponentMetadataEditorialBindingDescriptor[];
|
|
6337
|
+
lib?: string;
|
|
6338
|
+
}
|
|
6339
|
+
interface ResolvedComponentMetadataEditorialBinding {
|
|
6340
|
+
name: string;
|
|
6341
|
+
type: string;
|
|
6342
|
+
description?: string;
|
|
6343
|
+
label?: string;
|
|
6344
|
+
default?: unknown;
|
|
6345
|
+
}
|
|
6346
|
+
interface ResolvedComponentMetadataEditorialMeta {
|
|
6347
|
+
controlType: string;
|
|
6348
|
+
componentMetaId: string;
|
|
6349
|
+
selector?: string;
|
|
6350
|
+
component?: Type<unknown>;
|
|
6351
|
+
friendlyName: string;
|
|
6352
|
+
description?: string;
|
|
6353
|
+
tooltip?: string;
|
|
6354
|
+
icon?: string;
|
|
6355
|
+
family?: string;
|
|
6356
|
+
track?: string;
|
|
6357
|
+
tags?: string[];
|
|
6358
|
+
inputs?: ResolvedComponentMetadataEditorialBinding[];
|
|
6359
|
+
outputs?: ResolvedComponentMetadataEditorialBinding[];
|
|
6360
|
+
lib?: string;
|
|
6361
|
+
source: 'component-doc-meta' | 'editorial-descriptor';
|
|
6362
|
+
}
|
|
6363
|
+
interface ComponentEditorialResolveOptions {
|
|
6364
|
+
namespace?: string;
|
|
6365
|
+
}
|
|
6366
|
+
|
|
6367
|
+
declare class PraxisI18nService {
|
|
6368
|
+
private readonly configs;
|
|
6369
|
+
private readonly translator;
|
|
6370
|
+
private readonly globalConfig;
|
|
6371
|
+
private readonly bootstrapOptions;
|
|
6372
|
+
constructor(configs: Array<Partial<PraxisI18nConfig>> | Partial<PraxisI18nConfig> | null, translator: PraxisI18nTranslator | null);
|
|
6373
|
+
getLocale(): string;
|
|
6374
|
+
getFallbackLocale(): string;
|
|
6375
|
+
t(key: string, params?: PraxisTranslationParams, fallback?: string, namespace?: string): string;
|
|
6376
|
+
resolve(message: PraxisTextValue | null | undefined, fallback?: string, namespace?: string): string;
|
|
6377
|
+
formatDate(value: Date | string | number, options?: Intl.DateTimeFormatOptions): string;
|
|
6378
|
+
formatNumber(value: number, options?: Intl.NumberFormatOptions): string;
|
|
6379
|
+
formatCurrency(value: number, currency: string, options?: Intl.NumberFormatOptions): string;
|
|
6380
|
+
private getConfig;
|
|
6381
|
+
private lookup;
|
|
6382
|
+
private translateExternally;
|
|
6383
|
+
private stringifyInvalidValue;
|
|
6384
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisI18nService, [{ optional: true; }, { optional: true; }]>;
|
|
6385
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<PraxisI18nService>;
|
|
6386
|
+
}
|
|
6387
|
+
|
|
6129
6388
|
/**
|
|
6130
6389
|
* Simple in-memory registry of component documentation metadata.
|
|
6131
6390
|
*
|
|
@@ -6133,21 +6392,46 @@ interface ComponentDocMeta {
|
|
|
6133
6392
|
* visual builders or configurators can discover them.
|
|
6134
6393
|
*/
|
|
6135
6394
|
declare class ComponentMetadataRegistry {
|
|
6395
|
+
private readonly i18n;
|
|
6396
|
+
constructor(i18n?: PraxisI18nService | null);
|
|
6136
6397
|
private readonly metadataMap;
|
|
6398
|
+
private readonly rawMetadataMap;
|
|
6399
|
+
private readonly editorialMetadataMap;
|
|
6400
|
+
private readonly editorialControlTypeIndex;
|
|
6401
|
+
private readonly legacyControlTypeIndex;
|
|
6137
6402
|
private readonly componentTypeAliases;
|
|
6138
6403
|
/** Register a component metadata entry. */
|
|
6139
6404
|
register(meta: ComponentDocMeta): void;
|
|
6405
|
+
/** Register an editorial descriptor that can later be resolved by controlType or metadata id. */
|
|
6406
|
+
registerEditorial(meta: ComponentMetadataEditorialDescriptor): void;
|
|
6140
6407
|
/** Retrieve metadata by its unique id. */
|
|
6141
6408
|
get(id: string): ComponentDocMeta | undefined;
|
|
6409
|
+
/** Retrieve an editorial descriptor by its id or controlType. */
|
|
6410
|
+
getEditorial(idOrControlType: string): ComponentMetadataEditorialDescriptor | undefined;
|
|
6142
6411
|
/** List all registered metadata entries. */
|
|
6143
6412
|
getAll(): ComponentDocMeta[];
|
|
6413
|
+
/** List all registered editorial descriptors. */
|
|
6414
|
+
getAllEditorial(): ComponentMetadataEditorialDescriptor[];
|
|
6415
|
+
/**
|
|
6416
|
+
* Resolve metadata editorial already localized for a component id, controlType or raw metadata.
|
|
6417
|
+
*/
|
|
6418
|
+
resolveEditorial(target: string | ComponentDocMeta | ComponentMetadataEditorialDescriptor, options?: ComponentEditorialResolveOptions): ResolvedComponentMetadataEditorialMeta | undefined;
|
|
6144
6419
|
/**
|
|
6145
6420
|
* Ensure friendly labels/descriptions for common inputs/outputs when missing.
|
|
6146
6421
|
* This helps diagrams/builders present consistent naming across components.
|
|
6147
6422
|
*/
|
|
6148
6423
|
private normalizeMeta;
|
|
6424
|
+
private normalizeEditorialDescriptor;
|
|
6425
|
+
private resolveEditorialDescriptor;
|
|
6426
|
+
private resolveComponentDocMeta;
|
|
6427
|
+
private findLegacyMetadata;
|
|
6428
|
+
private resolveEditorialBinding;
|
|
6429
|
+
private resolveTextValue;
|
|
6430
|
+
private resolveOptionalTextValue;
|
|
6431
|
+
private isEditorialDescriptor;
|
|
6432
|
+
private clonePortContract;
|
|
6149
6433
|
private normalizeComponentType;
|
|
6150
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ComponentMetadataRegistry,
|
|
6434
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ComponentMetadataRegistry, [{ optional: true; }]>;
|
|
6151
6435
|
static ɵprov: i0.ɵɵInjectableDeclaration<ComponentMetadataRegistry>;
|
|
6152
6436
|
}
|
|
6153
6437
|
|
|
@@ -6651,37 +6935,8 @@ declare function provideGlobalConfigReady(): Provider;
|
|
|
6651
6935
|
/** Seed global config once when no storage exists yet (idempotent). */
|
|
6652
6936
|
declare function provideGlobalConfigSeed(seed: Partial<GlobalConfig>): Provider;
|
|
6653
6937
|
/** Fetch remote JSON and merge as global config at boot. */
|
|
6654
|
-
declare function provideRemoteGlobalConfig(url: string): Provider;
|
|
6655
|
-
declare function providePraxisGlobalConfigBootstrap(options?: PraxisGlobalConfigBootstrapOptions): Provider[];
|
|
6656
|
-
|
|
6657
|
-
type PraxisLocale = string;
|
|
6658
|
-
interface PraxisTranslationParams {
|
|
6659
|
-
[key: string]: string | number | boolean | null | undefined;
|
|
6660
|
-
}
|
|
6661
|
-
interface PraxisI18nMessageDescriptor {
|
|
6662
|
-
key?: string;
|
|
6663
|
-
text?: string;
|
|
6664
|
-
params?: PraxisTranslationParams;
|
|
6665
|
-
}
|
|
6666
|
-
type PraxisTextValue = string | PraxisI18nMessageDescriptor;
|
|
6667
|
-
interface PraxisI18nDictionary {
|
|
6668
|
-
[key: string]: string;
|
|
6669
|
-
}
|
|
6670
|
-
interface PraxisI18nNamespaceDictionary {
|
|
6671
|
-
[locale: string]: PraxisI18nDictionary;
|
|
6672
|
-
}
|
|
6673
|
-
interface PraxisI18nNamespaceConfig {
|
|
6674
|
-
[namespace: string]: PraxisI18nNamespaceDictionary;
|
|
6675
|
-
}
|
|
6676
|
-
interface PraxisI18nConfig {
|
|
6677
|
-
locale?: PraxisLocale;
|
|
6678
|
-
fallbackLocale?: PraxisLocale;
|
|
6679
|
-
dictionaries?: Record<PraxisLocale, PraxisI18nDictionary>;
|
|
6680
|
-
namespaces?: PraxisI18nNamespaceConfig;
|
|
6681
|
-
}
|
|
6682
|
-
interface PraxisI18nTranslator {
|
|
6683
|
-
translate(key: string, params?: PraxisTranslationParams, fallback?: string): string;
|
|
6684
|
-
}
|
|
6938
|
+
declare function provideRemoteGlobalConfig(url: string): Provider;
|
|
6939
|
+
declare function providePraxisGlobalConfigBootstrap(options?: PraxisGlobalConfigBootstrapOptions): Provider[];
|
|
6685
6940
|
|
|
6686
6941
|
declare const PRAXIS_I18N_CONFIG: InjectionToken<Partial<PraxisI18nConfig>>;
|
|
6687
6942
|
declare const PRAXIS_I18N_TRANSLATOR: InjectionToken<PraxisI18nTranslator>;
|
|
@@ -6729,7 +6984,12 @@ declare function getGlobalActionCatalog(catalog: ReadonlyArray<GlobalActionCatal
|
|
|
6729
6984
|
declare const PRAXIS_GLOBAL_ACTION_CATALOG: GlobalActionCatalogEntry[];
|
|
6730
6985
|
declare function providePraxisGlobalActionCatalog(): Provider[];
|
|
6731
6986
|
|
|
6732
|
-
|
|
6987
|
+
interface GlobalSurfaceService {
|
|
6988
|
+
open: (payload: SurfaceOpenPayload, context?: GlobalActionContext) => Promise<any> | any;
|
|
6989
|
+
}
|
|
6990
|
+
declare const GLOBAL_SURFACE_SERVICE: InjectionToken<GlobalSurfaceService>;
|
|
6991
|
+
|
|
6992
|
+
type GlobalActionId = 'navigate' | 'openUrl' | 'surface.open' | 'showAlert' | 'log' | 'openDialog' | 'confirm' | 'alert' | 'prompt' | 'submitForm' | 'resetForm' | 'validateForm' | 'clearValidation' | 'saveFormDraft' | 'loadFormDraft' | 'clearFormDraft' | 'apiCall' | 'download' | 'copyToClipboard' | 'refreshOptions' | 'loadDependentData';
|
|
6733
6993
|
type GlobalActionParam = {
|
|
6734
6994
|
required?: boolean;
|
|
6735
6995
|
label?: string;
|
|
@@ -6745,9 +7005,13 @@ interface GlobalActionSpec {
|
|
|
6745
7005
|
}
|
|
6746
7006
|
declare const GLOBAL_ACTION_CATALOG: GlobalActionSpec[];
|
|
6747
7007
|
|
|
7008
|
+
declare const SURFACE_OPEN_I18N_NAMESPACE = "surfaceOpen";
|
|
7009
|
+
declare const SURFACE_OPEN_I18N_CONFIG: Partial<PraxisI18nConfig>;
|
|
7010
|
+
|
|
6748
7011
|
interface SettingsPanelRef<T = any> {
|
|
6749
7012
|
applied$: Observable<T>;
|
|
6750
7013
|
saved$: Observable<T>;
|
|
7014
|
+
closed$?: Observable<any>;
|
|
6751
7015
|
}
|
|
6752
7016
|
interface SettingsPanelOpenContent<TInputs = any> {
|
|
6753
7017
|
component: Type<any>;
|
|
@@ -6756,6 +7020,7 @@ interface SettingsPanelOpenContent<TInputs = any> {
|
|
|
6756
7020
|
interface SettingsPanelOpenOptions<TInputs = any> {
|
|
6757
7021
|
id: string;
|
|
6758
7022
|
title: string;
|
|
7023
|
+
titleIcon?: string;
|
|
6759
7024
|
content: SettingsPanelOpenContent<TInputs>;
|
|
6760
7025
|
}
|
|
6761
7026
|
interface SettingsPanelBridge {
|
|
@@ -6779,30 +7044,222 @@ declare const DYNAMIC_PAGE_CONFIG_EDITOR: InjectionToken<Type<any>>;
|
|
|
6779
7044
|
|
|
6780
7045
|
declare const PRAXIS_LOADING_CTX: HttpContextToken<LoadingContext | null>;
|
|
6781
7046
|
|
|
6782
|
-
declare class PraxisI18nService {
|
|
6783
|
-
private readonly configs;
|
|
6784
|
-
private readonly translator;
|
|
6785
|
-
private readonly globalConfig;
|
|
6786
|
-
private readonly bootstrapOptions;
|
|
6787
|
-
constructor(configs: Array<Partial<PraxisI18nConfig>> | Partial<PraxisI18nConfig> | null, translator: PraxisI18nTranslator | null);
|
|
6788
|
-
getLocale(): string;
|
|
6789
|
-
getFallbackLocale(): string;
|
|
6790
|
-
t(key: string, params?: PraxisTranslationParams, fallback?: string, namespace?: string): string;
|
|
6791
|
-
resolve(message: PraxisTextValue | null | undefined, fallback?: string, namespace?: string): string;
|
|
6792
|
-
formatDate(value: Date | string | number, options?: Intl.DateTimeFormatOptions): string;
|
|
6793
|
-
formatNumber(value: number, options?: Intl.NumberFormatOptions): string;
|
|
6794
|
-
formatCurrency(value: number, currency: string, options?: Intl.NumberFormatOptions): string;
|
|
6795
|
-
private getConfig;
|
|
6796
|
-
private lookup;
|
|
6797
|
-
private translateExternally;
|
|
6798
|
-
private stringifyInvalidValue;
|
|
6799
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisI18nService, [{ optional: true; }, { optional: true; }]>;
|
|
6800
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<PraxisI18nService>;
|
|
6801
|
-
}
|
|
6802
|
-
|
|
6803
7047
|
declare function interpolatePraxisTranslation(template: string, params?: PraxisTranslationParams): string;
|
|
6804
7048
|
declare function mergePraxisI18nConfigs(...configs: Array<Partial<PraxisI18nConfig> | null | undefined>): PraxisI18nConfig;
|
|
6805
7049
|
|
|
7050
|
+
declare function resolveValuePresentation(config: ValuePresentationConfig, context?: ValuePresentationResolutionContext): ResolvedValuePresentation;
|
|
7051
|
+
declare function resolveValuePresentationLocale(context?: ValuePresentationResolutionContext, localization?: LocalizationConfig | null): string;
|
|
7052
|
+
declare function supportsImplicitValuePresentation(type: ValuePresentationType | null | undefined): boolean;
|
|
7053
|
+
declare function resolveDefaultValuePresentationFormat(type: ValuePresentationType, style: ValuePresentationStyle | undefined, context: {
|
|
7054
|
+
localization?: LocalizationConfig | null;
|
|
7055
|
+
number: NumberLocaleConfig;
|
|
7056
|
+
currency: CurrencyLocaleConfig;
|
|
7057
|
+
dateTime: DateTimeLocaleConfig;
|
|
7058
|
+
}): string | undefined;
|
|
7059
|
+
|
|
7060
|
+
type TransformPhase = 'link-propagation' | 'state-materialization';
|
|
7061
|
+
type TransformKind = 'identity' | 'constant' | 'pick-path' | 'template' | 'object-template' | 'array-template' | 'coalesce' | 'merge-objects' | 'select-case' | 'format-value' | 'aggregate-array' | 'group-top' | 'build-field-list';
|
|
7062
|
+
type TransformBindingSource = 'event' | 'payload' | 'state' | 'context' | 'constant';
|
|
7063
|
+
interface TransformBinding {
|
|
7064
|
+
source?: TransformBindingSource;
|
|
7065
|
+
path?: string;
|
|
7066
|
+
alias?: string;
|
|
7067
|
+
value?: unknown;
|
|
7068
|
+
optional?: boolean;
|
|
7069
|
+
}
|
|
7070
|
+
type TransformSemanticKind = 'event' | 'value' | 'selection' | 'collection' | 'query-context' | 'view-context' | 'config-fragment' | 'status' | 'diagnostic';
|
|
7071
|
+
interface TransformOutputHint {
|
|
7072
|
+
semanticKind?: TransformSemanticKind;
|
|
7073
|
+
cardinality?: 'one' | 'many' | 'stream';
|
|
7074
|
+
schemaId?: string;
|
|
7075
|
+
schemaRef?: string;
|
|
7076
|
+
materializationHint?: 'replace' | 'merge' | 'append';
|
|
7077
|
+
stableShape?: boolean;
|
|
7078
|
+
description?: string;
|
|
7079
|
+
}
|
|
7080
|
+
interface TransformStepCondition {
|
|
7081
|
+
source?: Exclude<TransformBindingSource, 'constant'>;
|
|
7082
|
+
path?: string;
|
|
7083
|
+
truthy?: boolean;
|
|
7084
|
+
equals?: unknown;
|
|
7085
|
+
notEquals?: unknown;
|
|
7086
|
+
notEmpty?: boolean;
|
|
7087
|
+
}
|
|
7088
|
+
interface TransformStep {
|
|
7089
|
+
id?: string;
|
|
7090
|
+
kind: TransformKind;
|
|
7091
|
+
phase: TransformPhase;
|
|
7092
|
+
label?: string;
|
|
7093
|
+
when?: TransformStepCondition;
|
|
7094
|
+
input?: TransformBinding;
|
|
7095
|
+
inputs?: TransformBinding[];
|
|
7096
|
+
config?: Record<string, unknown>;
|
|
7097
|
+
output?: TransformOutputHint;
|
|
7098
|
+
notes?: string;
|
|
7099
|
+
}
|
|
7100
|
+
interface TransformPipeline {
|
|
7101
|
+
id?: string;
|
|
7102
|
+
version?: '2.0';
|
|
7103
|
+
phase: TransformPhase;
|
|
7104
|
+
mode: 'single-value' | 'object-fragment' | 'collection';
|
|
7105
|
+
sourceBindings?: TransformBinding[];
|
|
7106
|
+
steps: TransformStep[];
|
|
7107
|
+
output?: TransformOutputHint;
|
|
7108
|
+
fallbackValue?: unknown;
|
|
7109
|
+
debugLabel?: string;
|
|
7110
|
+
}
|
|
7111
|
+
type TransformCatalogCategory = 'projection' | 'templating' | 'branching' | 'composition' | 'aggregation' | 'formatting';
|
|
7112
|
+
type TransformLegacyReplacement = 'map' | 'set' | 'derived.template' | 'derived.operator';
|
|
7113
|
+
interface TransformCatalogEntry {
|
|
7114
|
+
kind: TransformKind;
|
|
7115
|
+
phase: TransformPhase;
|
|
7116
|
+
label: string;
|
|
7117
|
+
description: string;
|
|
7118
|
+
category: TransformCatalogCategory;
|
|
7119
|
+
replacesCurrent?: TransformLegacyReplacement[];
|
|
7120
|
+
acceptsSources: TransformBindingSource[];
|
|
7121
|
+
emitsSemanticKinds?: TransformSemanticKind[];
|
|
7122
|
+
stableForPhase2A: boolean;
|
|
7123
|
+
}
|
|
7124
|
+
|
|
7125
|
+
interface ComponentPortEndpointRef {
|
|
7126
|
+
kind: 'component-port';
|
|
7127
|
+
ref: {
|
|
7128
|
+
widget: string;
|
|
7129
|
+
port: string;
|
|
7130
|
+
direction: 'input' | 'output';
|
|
7131
|
+
componentType?: string;
|
|
7132
|
+
bindingPath?: string;
|
|
7133
|
+
};
|
|
7134
|
+
}
|
|
7135
|
+
interface StateEndpointRef {
|
|
7136
|
+
kind: 'state';
|
|
7137
|
+
ref: {
|
|
7138
|
+
path: string;
|
|
7139
|
+
layer?: 'values' | 'derived' | 'transient';
|
|
7140
|
+
writable?: boolean;
|
|
7141
|
+
};
|
|
7142
|
+
}
|
|
7143
|
+
type EndpointRef = ComponentPortEndpointRef | StateEndpointRef;
|
|
7144
|
+
type LinkIntent = 'event-propagation' | 'state-write' | 'state-read' | 'command-dispatch' | 'selection-sync' | 'data-projection' | 'status-propagation';
|
|
7145
|
+
type LinkConditionKind = 'always' | 'expression' | 'equals' | 'present' | 'changed' | 'matches-port-kind';
|
|
7146
|
+
interface LinkCondition {
|
|
7147
|
+
kind: LinkConditionKind;
|
|
7148
|
+
expression?: string;
|
|
7149
|
+
path?: string;
|
|
7150
|
+
value?: unknown;
|
|
7151
|
+
negate?: boolean;
|
|
7152
|
+
description?: string;
|
|
7153
|
+
}
|
|
7154
|
+
interface LinkPolicy {
|
|
7155
|
+
debounceMs?: number;
|
|
7156
|
+
distinct?: boolean;
|
|
7157
|
+
distinctBy?: string;
|
|
7158
|
+
delivery?: 'sync' | 'microtask' | 'batched';
|
|
7159
|
+
missingValuePolicy?: 'propagate-undefined' | 'skip' | 'use-default';
|
|
7160
|
+
errorPolicy?: 'diagnostic' | 'drop' | 'halt-page';
|
|
7161
|
+
}
|
|
7162
|
+
interface LinkMetadata {
|
|
7163
|
+
label?: string;
|
|
7164
|
+
description?: string;
|
|
7165
|
+
tags?: string[];
|
|
7166
|
+
deprecated?: boolean;
|
|
7167
|
+
source?: 'legacy-widget-connection' | 'native-composition-link';
|
|
7168
|
+
traceKey?: string;
|
|
7169
|
+
}
|
|
7170
|
+
interface CompositionLink {
|
|
7171
|
+
id: string;
|
|
7172
|
+
from: EndpointRef;
|
|
7173
|
+
to: EndpointRef;
|
|
7174
|
+
intent: LinkIntent;
|
|
7175
|
+
transform?: TransformPipeline;
|
|
7176
|
+
conditions?: LinkCondition[];
|
|
7177
|
+
policy?: LinkPolicy;
|
|
7178
|
+
metadata?: LinkMetadata;
|
|
7179
|
+
}
|
|
7180
|
+
|
|
7181
|
+
type DiagnosticSeverity = 'info' | 'warning' | 'error' | 'fatal';
|
|
7182
|
+
type DiagnosticPhase = 'catalog-lint' | 'page-lint' | 'semantic-validation' | 'runtime-bootstrap' | 'runtime-dispatch' | 'runtime-transform' | 'runtime-state' | 'runtime-delivery' | 'runtime-diagnostic';
|
|
7183
|
+
type DiagnosticSubjectKind = 'page' | 'widget' | 'port' | 'state' | 'derived-state' | 'link' | 'transform-step' | 'runtime-event' | 'runtime-snapshot';
|
|
7184
|
+
interface DiagnosticSubjectRef {
|
|
7185
|
+
kind: DiagnosticSubjectKind;
|
|
7186
|
+
pageId?: string;
|
|
7187
|
+
widgetKey?: string;
|
|
7188
|
+
widgetType?: string;
|
|
7189
|
+
portId?: string;
|
|
7190
|
+
statePath?: string;
|
|
7191
|
+
linkId?: string;
|
|
7192
|
+
transformIndex?: number;
|
|
7193
|
+
eventId?: string;
|
|
7194
|
+
path?: string;
|
|
7195
|
+
label?: string;
|
|
7196
|
+
}
|
|
7197
|
+
type DiagnosticSource = 'catalog' | 'authoring' | 'semantic-validator' | 'runtime-engine' | 'runtime-adapter';
|
|
7198
|
+
interface DiagnosticRecord {
|
|
7199
|
+
id: string;
|
|
7200
|
+
code: string;
|
|
7201
|
+
severity: DiagnosticSeverity;
|
|
7202
|
+
phase: DiagnosticPhase;
|
|
7203
|
+
message: string;
|
|
7204
|
+
summary?: string;
|
|
7205
|
+
subject: DiagnosticSubjectRef;
|
|
7206
|
+
related?: DiagnosticSubjectRef[];
|
|
7207
|
+
details?: Record<string, unknown>;
|
|
7208
|
+
suggestion?: string;
|
|
7209
|
+
source: DiagnosticSource;
|
|
7210
|
+
blocking?: boolean;
|
|
7211
|
+
transient?: boolean;
|
|
7212
|
+
createdAt: string;
|
|
7213
|
+
}
|
|
7214
|
+
type RuntimeTracePhase = 'event-received' | 'source-resolved' | 'transform-start' | 'transform-step' | 'transform-complete' | 'state-read' | 'state-write' | 'target-delivery' | 'delivery-skipped' | 'diagnostic-emitted';
|
|
7215
|
+
interface RuntimePayloadSummary {
|
|
7216
|
+
shape?: 'scalar' | 'object' | 'array' | 'null' | 'unknown';
|
|
7217
|
+
keys?: string[];
|
|
7218
|
+
preview?: unknown;
|
|
7219
|
+
}
|
|
7220
|
+
interface RuntimeTraceEntry {
|
|
7221
|
+
id: string;
|
|
7222
|
+
traceId: string;
|
|
7223
|
+
sequence: number;
|
|
7224
|
+
timestamp: string;
|
|
7225
|
+
phase: RuntimeTracePhase;
|
|
7226
|
+
linkId?: string;
|
|
7227
|
+
subject: DiagnosticSubjectRef;
|
|
7228
|
+
payloadSummary?: RuntimePayloadSummary;
|
|
7229
|
+
inputSnapshot?: unknown;
|
|
7230
|
+
outputSnapshot?: unknown;
|
|
7231
|
+
details?: Record<string, unknown>;
|
|
7232
|
+
diagnostics?: string[];
|
|
7233
|
+
}
|
|
7234
|
+
type RuntimeLinkStatus = 'idle' | 'ready' | 'running' | 'delivered' | 'skipped' | 'failed';
|
|
7235
|
+
interface RuntimeLinkSnapshot {
|
|
7236
|
+
linkId: string;
|
|
7237
|
+
status: RuntimeLinkStatus;
|
|
7238
|
+
source: DiagnosticSubjectRef;
|
|
7239
|
+
target: DiagnosticSubjectRef;
|
|
7240
|
+
lastEventAt?: string;
|
|
7241
|
+
lastDispatchTraceId?: string;
|
|
7242
|
+
lastDeliveredValuePreview?: unknown;
|
|
7243
|
+
diagnostics: DiagnosticRecord[];
|
|
7244
|
+
}
|
|
7245
|
+
interface RuntimeStateSnapshot {
|
|
7246
|
+
primaryValues: Record<string, unknown>;
|
|
7247
|
+
derivedValues: Record<string, unknown>;
|
|
7248
|
+
transientValues?: Record<string, unknown>;
|
|
7249
|
+
changedPaths?: string[];
|
|
7250
|
+
diagnostics: DiagnosticRecord[];
|
|
7251
|
+
}
|
|
7252
|
+
type RuntimeSnapshotStatus = 'booting' | 'ready' | 'degraded' | 'failed';
|
|
7253
|
+
interface RuntimeSnapshot {
|
|
7254
|
+
pageId?: string;
|
|
7255
|
+
status: RuntimeSnapshotStatus;
|
|
7256
|
+
generatedAt: string;
|
|
7257
|
+
links: RuntimeLinkSnapshot[];
|
|
7258
|
+
state: RuntimeStateSnapshot;
|
|
7259
|
+
diagnostics: DiagnosticRecord[];
|
|
7260
|
+
traceTail: RuntimeTraceEntry[];
|
|
7261
|
+
}
|
|
7262
|
+
|
|
6806
7263
|
interface MaterialTimeTrackShift {
|
|
6807
7264
|
id?: string;
|
|
6808
7265
|
label?: string;
|
|
@@ -6915,26 +7372,6 @@ interface FormHooksLayout {
|
|
|
6915
7372
|
onError?: FormHookDeclarationLite[];
|
|
6916
7373
|
}
|
|
6917
7374
|
|
|
6918
|
-
type ActionDefinition = {
|
|
6919
|
-
/** Global action id to execute (e.g., 'navigation.back', 'dialog.alert'). */
|
|
6920
|
-
type?: string;
|
|
6921
|
-
/** Optional payload template for the action. */
|
|
6922
|
-
params?: Record<string, any>;
|
|
6923
|
-
};
|
|
6924
|
-
interface WidgetDefinition {
|
|
6925
|
-
/** Component id registered in ComponentMetadataRegistry */
|
|
6926
|
-
id: string;
|
|
6927
|
-
/** Inputs to bind into the component instance */
|
|
6928
|
-
inputs?: Record<string, any>;
|
|
6929
|
-
/** Map of component output name to action (global action or 'emit'). */
|
|
6930
|
-
outputs?: Record<string, ActionDefinition | 'emit'>;
|
|
6931
|
-
/**
|
|
6932
|
-
* Optional explicit order for applying inputs. Keys listed here are applied first
|
|
6933
|
-
* (in order) with change detection flush between each, then remaining inputs are applied.
|
|
6934
|
-
*/
|
|
6935
|
-
bindingOrder?: string[];
|
|
6936
|
-
}
|
|
6937
|
-
|
|
6938
7375
|
interface Specification<T extends object = any> {
|
|
6939
7376
|
isSatisfiedBy(obj: T): boolean;
|
|
6940
7377
|
}
|
|
@@ -7327,8 +7764,37 @@ interface FormSection {
|
|
|
7327
7764
|
headerAlign?: 'start' | 'center';
|
|
7328
7765
|
/** Optional tooltip for the section header */
|
|
7329
7766
|
headerTooltip?: string;
|
|
7767
|
+
/**
|
|
7768
|
+
* Optional icon actions rendered on the trailing edge of the section header.
|
|
7769
|
+
* Intended for contextual section-level affordances such as help, refresh or drill-down.
|
|
7770
|
+
*/
|
|
7771
|
+
headerActions?: FormSectionHeaderAction[];
|
|
7330
7772
|
rows: FormRow[];
|
|
7331
7773
|
}
|
|
7774
|
+
interface FormSectionHeaderAction {
|
|
7775
|
+
/** Stable identifier used by runtime events, rule overrides and authoring surfaces. */
|
|
7776
|
+
id: string;
|
|
7777
|
+
/** Accessible label used for tooltip/aria even when the action is rendered as icon-only. */
|
|
7778
|
+
label: string;
|
|
7779
|
+
/** Icon rendered in the section header action slot. */
|
|
7780
|
+
icon: string;
|
|
7781
|
+
/** Optional action name emitted by the runtime; defaults to `id` when omitted. */
|
|
7782
|
+
action?: string;
|
|
7783
|
+
/** Optional tooltip override. Falls back to `label` when omitted. */
|
|
7784
|
+
tooltip?: string;
|
|
7785
|
+
/** Optional theme color mapped to Angular Material button tones. */
|
|
7786
|
+
color?: 'primary' | 'accent' | 'warn' | 'basic';
|
|
7787
|
+
/** Optional visibility flag. Defaults to visible when omitted. */
|
|
7788
|
+
visible?: boolean;
|
|
7789
|
+
/** Optional disabled state. */
|
|
7790
|
+
disabled?: boolean;
|
|
7791
|
+
/** Optional loading/busy state. */
|
|
7792
|
+
loading?: boolean;
|
|
7793
|
+
/** Optional CSS class applied to the action button. */
|
|
7794
|
+
className?: string;
|
|
7795
|
+
/** Optional inline styles applied to the action button. */
|
|
7796
|
+
style?: Record<string, any>;
|
|
7797
|
+
}
|
|
7332
7798
|
type FormSectionHeaderMode = 'icon' | 'avatar-image' | 'avatar-initials' | 'auto';
|
|
7333
7799
|
type FormSectionHeaderEmptyState = 'fallback-icon' | 'placeholder-avatar' | 'none';
|
|
7334
7800
|
type FormSectionHeaderSize = 'sm' | 'md' | 'lg';
|
|
@@ -7612,7 +8078,8 @@ interface FormCustomActionEvent {
|
|
|
7612
8078
|
actionId: string;
|
|
7613
8079
|
formData: any;
|
|
7614
8080
|
isValid: boolean;
|
|
7615
|
-
source: 'button' | 'shortcut';
|
|
8081
|
+
source: 'button' | 'shortcut' | 'section-header';
|
|
8082
|
+
sectionId?: string;
|
|
7616
8083
|
}
|
|
7617
8084
|
interface FormActionConfirmationEvent {
|
|
7618
8085
|
actionId: 'submit' | 'cancel' | 'reset' | string;
|
|
@@ -8256,6 +8723,50 @@ interface WidgetConnection {
|
|
|
8256
8723
|
};
|
|
8257
8724
|
}
|
|
8258
8725
|
type WidgetPageOrientation = 'vertical' | 'columns';
|
|
8726
|
+
type WidgetPageDeviceKind = 'desktop' | 'tablet' | 'mobile';
|
|
8727
|
+
interface WidgetPageSlotDefinition {
|
|
8728
|
+
id: string;
|
|
8729
|
+
label: string;
|
|
8730
|
+
description?: string;
|
|
8731
|
+
required?: boolean;
|
|
8732
|
+
accepts?: string[];
|
|
8733
|
+
minItems?: number;
|
|
8734
|
+
maxItems?: number;
|
|
8735
|
+
}
|
|
8736
|
+
interface WidgetPageWidgetSuggestion {
|
|
8737
|
+
slot: string;
|
|
8738
|
+
widgetType?: string;
|
|
8739
|
+
label?: string;
|
|
8740
|
+
priority?: 'primary' | 'secondary' | 'optional';
|
|
8741
|
+
description?: string;
|
|
8742
|
+
}
|
|
8743
|
+
interface WidgetPageDevicePolicy {
|
|
8744
|
+
stacking?: 'preserve' | 'compress' | 'linearize';
|
|
8745
|
+
hideSecondaryContentOnMobile?: boolean;
|
|
8746
|
+
preferTabsOnMobile?: boolean;
|
|
8747
|
+
}
|
|
8748
|
+
interface WidgetPageLayoutPresetDefinition {
|
|
8749
|
+
id: string;
|
|
8750
|
+
label: string;
|
|
8751
|
+
description?: string;
|
|
8752
|
+
category?: 'analytics' | 'operations' | 'master-detail' | 'workspace';
|
|
8753
|
+
defaultLayout: WidgetPageLayout;
|
|
8754
|
+
defaultGrouping?: WidgetPageGroupingDefinition[];
|
|
8755
|
+
defaultThemePreset?: string;
|
|
8756
|
+
slotModel: WidgetPageSlotDefinition[];
|
|
8757
|
+
widgetSuggestions?: WidgetPageWidgetSuggestion[];
|
|
8758
|
+
devicePolicy?: WidgetPageDevicePolicy;
|
|
8759
|
+
}
|
|
8760
|
+
interface WidgetPageThemePresetDefinition {
|
|
8761
|
+
id: string;
|
|
8762
|
+
label: string;
|
|
8763
|
+
description?: string;
|
|
8764
|
+
shellPreset?: string;
|
|
8765
|
+
tokens?: Record<string, string>;
|
|
8766
|
+
chartThemePreset?: string;
|
|
8767
|
+
density?: 'comfortable' | 'compact';
|
|
8768
|
+
motion?: 'none' | 'subtle' | 'expressive';
|
|
8769
|
+
}
|
|
8259
8770
|
interface WidgetStateNode {
|
|
8260
8771
|
/** Optional semantic type for tooling and validation. */
|
|
8261
8772
|
type?: string;
|
|
@@ -8319,46 +8830,127 @@ interface WidgetPageLayout {
|
|
|
8319
8830
|
xl?: number;
|
|
8320
8831
|
};
|
|
8321
8832
|
}
|
|
8322
|
-
interface
|
|
8323
|
-
|
|
8324
|
-
|
|
8325
|
-
|
|
8326
|
-
|
|
8327
|
-
|
|
8328
|
-
|
|
8329
|
-
/** Optional layout configuration for the widget grid */
|
|
8330
|
-
layout?: WidgetPageLayout;
|
|
8833
|
+
interface WidgetPageCanvasConstraints {
|
|
8834
|
+
minColSpan?: number;
|
|
8835
|
+
minRowSpan?: number;
|
|
8836
|
+
maxColSpan?: number;
|
|
8837
|
+
maxRowSpan?: number;
|
|
8838
|
+
lockPosition?: boolean;
|
|
8839
|
+
lockSize?: boolean;
|
|
8331
8840
|
}
|
|
8332
|
-
|
|
8333
|
-
interface GridItemLayout {
|
|
8334
|
-
/** 1-based column start */
|
|
8841
|
+
interface WidgetPageCanvasItem {
|
|
8335
8842
|
col: number;
|
|
8336
|
-
/** number of columns to span */
|
|
8337
|
-
colSpan: number;
|
|
8338
|
-
/** 1-based row start */
|
|
8339
8843
|
row: number;
|
|
8340
|
-
|
|
8844
|
+
colSpan: number;
|
|
8341
8845
|
rowSpan: number;
|
|
8846
|
+
zIndex?: number;
|
|
8847
|
+
constraints?: WidgetPageCanvasConstraints;
|
|
8848
|
+
}
|
|
8849
|
+
type WidgetPageCanvasCollisionPolicy = 'block' | 'swap';
|
|
8850
|
+
interface WidgetPageCanvasLayout {
|
|
8851
|
+
mode: 'grid';
|
|
8852
|
+
columns: number;
|
|
8853
|
+
rowUnit?: string;
|
|
8854
|
+
gap?: string;
|
|
8855
|
+
autoRows?: 'fixed' | 'content';
|
|
8856
|
+
collisionPolicy?: WidgetPageCanvasCollisionPolicy;
|
|
8857
|
+
items: Record<string, WidgetPageCanvasItem>;
|
|
8858
|
+
}
|
|
8859
|
+
interface WidgetPageCanvasItemOverride {
|
|
8860
|
+
col?: number;
|
|
8861
|
+
row?: number;
|
|
8862
|
+
colSpan?: number;
|
|
8863
|
+
rowSpan?: number;
|
|
8864
|
+
hidden?: boolean;
|
|
8865
|
+
zIndex?: number;
|
|
8866
|
+
constraints?: WidgetPageCanvasConstraints;
|
|
8342
8867
|
}
|
|
8343
|
-
interface
|
|
8344
|
-
|
|
8345
|
-
|
|
8346
|
-
|
|
8868
|
+
interface WidgetPageCanvasLayoutVariant {
|
|
8869
|
+
columns?: number;
|
|
8870
|
+
rowUnit?: string;
|
|
8871
|
+
gap?: string;
|
|
8872
|
+
autoRows?: 'fixed' | 'content';
|
|
8873
|
+
collisionPolicy?: WidgetPageCanvasCollisionPolicy;
|
|
8874
|
+
items?: Record<string, WidgetPageCanvasItemOverride>;
|
|
8875
|
+
}
|
|
8876
|
+
interface WidgetPageWidgetLayoutOverride {
|
|
8347
8877
|
className?: string;
|
|
8348
|
-
|
|
8878
|
+
span?: number;
|
|
8879
|
+
order?: number;
|
|
8880
|
+
hidden?: boolean;
|
|
8881
|
+
}
|
|
8882
|
+
interface WidgetPageGroupingTabDefinition {
|
|
8883
|
+
id: string;
|
|
8884
|
+
label: string;
|
|
8885
|
+
widgetKeys: string[];
|
|
8886
|
+
}
|
|
8887
|
+
type WidgetPageGroupingDefinition = {
|
|
8888
|
+
kind: 'section';
|
|
8889
|
+
id: string;
|
|
8890
|
+
label?: string;
|
|
8891
|
+
widgetKeys: string[];
|
|
8892
|
+
layout?: 'stack' | 'grid' | 'row';
|
|
8893
|
+
} | {
|
|
8894
|
+
kind: 'tabs';
|
|
8895
|
+
id: string;
|
|
8896
|
+
label?: string;
|
|
8897
|
+
tabs: WidgetPageGroupingTabDefinition[];
|
|
8898
|
+
} | {
|
|
8899
|
+
kind: 'hero';
|
|
8900
|
+
id: string;
|
|
8901
|
+
widgetKeys: string[];
|
|
8902
|
+
emphasis?: 'high' | 'medium';
|
|
8903
|
+
} | {
|
|
8904
|
+
kind: 'rail';
|
|
8905
|
+
id: string;
|
|
8906
|
+
side: 'left' | 'right';
|
|
8907
|
+
widgetKeys: string[];
|
|
8908
|
+
};
|
|
8909
|
+
interface WidgetPageGroupingOverride {
|
|
8910
|
+
id: string;
|
|
8911
|
+
hidden?: boolean;
|
|
8912
|
+
widgetKeys?: string[];
|
|
8913
|
+
tabs?: WidgetPageGroupingTabDefinition[];
|
|
8914
|
+
}
|
|
8915
|
+
interface WidgetPageLayoutVariant {
|
|
8916
|
+
layout?: WidgetPageLayout;
|
|
8917
|
+
canvas?: WidgetPageCanvasLayoutVariant;
|
|
8918
|
+
groupingOverrides?: WidgetPageGroupingOverride[];
|
|
8919
|
+
widgetOverrides?: Record<string, WidgetPageWidgetLayoutOverride>;
|
|
8349
8920
|
}
|
|
8350
|
-
interface
|
|
8351
|
-
|
|
8921
|
+
interface WidgetPageDeviceLayouts {
|
|
8922
|
+
desktop?: WidgetPageLayoutVariant;
|
|
8923
|
+
tablet?: WidgetPageLayoutVariant;
|
|
8924
|
+
mobile?: WidgetPageLayoutVariant;
|
|
8925
|
+
}
|
|
8926
|
+
/**
|
|
8927
|
+
* Canonical slot occupancy for preset-driven pages.
|
|
8928
|
+
* Maps widget keys to semantic slot ids from the active layout preset.
|
|
8929
|
+
*/
|
|
8930
|
+
type WidgetPageSlotAssignments = Record<string, string>;
|
|
8931
|
+
interface WidgetPageDefinition {
|
|
8932
|
+
widgets: WidgetInstance[];
|
|
8352
8933
|
connections?: WidgetConnection[];
|
|
8353
|
-
/** Optional declarative page state shared
|
|
8934
|
+
/** Optional declarative page state shared across widgets and connections */
|
|
8354
8935
|
state?: WidgetPageStateInput;
|
|
8936
|
+
/** Optional page-wide context available to all widgets */
|
|
8355
8937
|
context?: Record<string, any>;
|
|
8356
|
-
/**
|
|
8357
|
-
|
|
8358
|
-
|
|
8359
|
-
|
|
8360
|
-
|
|
8361
|
-
|
|
8938
|
+
/** Optional layout configuration for the widget grid */
|
|
8939
|
+
layout?: WidgetPageLayout;
|
|
8940
|
+
/** Optional canonical spatial canvas rendered over CSS Grid. */
|
|
8941
|
+
canvas?: WidgetPageCanvasLayout;
|
|
8942
|
+
/** Optional canonical preset id that describes the structural intent of the page. */
|
|
8943
|
+
layoutPreset?: string;
|
|
8944
|
+
/** Optional preset-specific options consumed by builders and future runtimes. */
|
|
8945
|
+
layoutPresetOptions?: Record<string, any>;
|
|
8946
|
+
/** Optional semantic grouping model for sections, tabs, hero areas and rails. */
|
|
8947
|
+
grouping?: WidgetPageGroupingDefinition[];
|
|
8948
|
+
/** Optional canonical semantic slot occupancy for preset-driven pages. */
|
|
8949
|
+
slotAssignments?: WidgetPageSlotAssignments;
|
|
8950
|
+
/** Optional device-specific layout variants. */
|
|
8951
|
+
deviceLayouts?: WidgetPageDeviceLayouts;
|
|
8952
|
+
/** Optional theme preset id for shell/chart/density defaults. */
|
|
8953
|
+
themePreset?: string;
|
|
8362
8954
|
}
|
|
8363
8955
|
|
|
8364
8956
|
/**
|
|
@@ -8380,14 +8972,14 @@ interface PageIdentity {
|
|
|
8380
8972
|
* Minimal persisted widget instance record with a stable unique id.
|
|
8381
8973
|
* The `key` continues to serve as logical name within the page.
|
|
8382
8974
|
*/
|
|
8383
|
-
interface PersistedWidgetInstance extends
|
|
8975
|
+
interface PersistedWidgetInstance extends WidgetInstance {
|
|
8384
8976
|
/** Stable unique id for the widget instance (uuid) */
|
|
8385
8977
|
id: string;
|
|
8386
8978
|
}
|
|
8387
8979
|
/**
|
|
8388
8980
|
* Page definition with widget-level ids added. Use for persistence payloads.
|
|
8389
8981
|
*/
|
|
8390
|
-
interface
|
|
8982
|
+
interface PersistedPageDefinitionWithIds extends Omit<WidgetPageDefinition, 'widgets'> {
|
|
8391
8983
|
widgets: PersistedWidgetInstance[];
|
|
8392
8984
|
}
|
|
8393
8985
|
/**
|
|
@@ -8410,7 +9002,7 @@ interface PersistedPageConfig {
|
|
|
8410
9002
|
/** Lifecycle status */
|
|
8411
9003
|
status: 'draft' | 'published' | 'archived';
|
|
8412
9004
|
/** Actual page structure with widget ids */
|
|
8413
|
-
page:
|
|
9005
|
+
page: PersistedPageDefinitionWithIds;
|
|
8414
9006
|
/** Audit */
|
|
8415
9007
|
owner?: string;
|
|
8416
9008
|
createdAt: string;
|
|
@@ -8426,15 +9018,15 @@ declare function buildPageKey(identity: PageIdentity): string;
|
|
|
8426
9018
|
* Ensure that each widget has a stable id. If missing, assigns a new one.
|
|
8427
9019
|
* Returns the new page definition (immutable) and an index by key/id.
|
|
8428
9020
|
*/
|
|
8429
|
-
declare function ensurePageIds(page:
|
|
8430
|
-
page:
|
|
9021
|
+
declare function ensurePageIds(page: WidgetPageDefinition): {
|
|
9022
|
+
page: PersistedPageDefinitionWithIds;
|
|
8431
9023
|
byKey: Map<string, PersistedWidgetInstance>;
|
|
8432
9024
|
byId: Map<string, PersistedWidgetInstance>;
|
|
8433
9025
|
};
|
|
8434
9026
|
/**
|
|
8435
9027
|
* Create a persisted page record from an in-memory page definition and identity.
|
|
8436
9028
|
*/
|
|
8437
|
-
declare function createPersistedPage(identity: PageIdentity, page:
|
|
9029
|
+
declare function createPersistedPage(identity: PageIdentity, page: WidgetPageDefinition, opts?: {
|
|
8438
9030
|
id?: string;
|
|
8439
9031
|
title?: string;
|
|
8440
9032
|
description?: string;
|
|
@@ -8464,6 +9056,19 @@ interface BackConfig {
|
|
|
8464
9056
|
confirmOnDirty?: boolean;
|
|
8465
9057
|
}
|
|
8466
9058
|
|
|
9059
|
+
interface PraxisDataQueryContext {
|
|
9060
|
+
filters?: Record<string, unknown> | null;
|
|
9061
|
+
sort?: string[] | null;
|
|
9062
|
+
limit?: number | null;
|
|
9063
|
+
page?: {
|
|
9064
|
+
index?: number | null;
|
|
9065
|
+
size?: number | null;
|
|
9066
|
+
} | null;
|
|
9067
|
+
meta?: Record<string, unknown> | null;
|
|
9068
|
+
}
|
|
9069
|
+
declare function normalizePraxisDataQueryContext(context?: PraxisDataQueryContext | null): PraxisDataQueryContext | null;
|
|
9070
|
+
declare function resolvePraxisFilterCriteria(filterCriteria?: Record<string, unknown> | null, queryContext?: PraxisDataQueryContext | null): Record<string, unknown>;
|
|
9071
|
+
|
|
8467
9072
|
type LoadingPhase = 'config' | 'schema' | 'render' | 'data' | 'idle';
|
|
8468
9073
|
type LoadingStatus = 'loading' | 'success' | 'error';
|
|
8469
9074
|
interface LoadingState {
|
|
@@ -8802,10 +9407,83 @@ interface GlobalActionUiSchema {
|
|
|
8802
9407
|
id: GlobalActionId;
|
|
8803
9408
|
label: string;
|
|
8804
9409
|
fields: GlobalActionField[];
|
|
9410
|
+
editorMode?: 'default' | 'surface-open';
|
|
8805
9411
|
}
|
|
8806
9412
|
declare const GLOBAL_ACTION_UI_SCHEMAS: GlobalActionUiSchema[];
|
|
8807
9413
|
declare function getGlobalActionUiSchema(id: string | undefined): GlobalActionUiSchema | undefined;
|
|
8808
9414
|
|
|
9415
|
+
interface SurfaceOpenPreset {
|
|
9416
|
+
id: string;
|
|
9417
|
+
label: string;
|
|
9418
|
+
description: string;
|
|
9419
|
+
payload: SurfaceOpenPayload;
|
|
9420
|
+
}
|
|
9421
|
+
declare const SURFACE_OPEN_PRESETS: SurfaceOpenPreset[];
|
|
9422
|
+
|
|
9423
|
+
type SurfaceSizeField = keyof NonNullable<SurfaceOpenPayload['size']>;
|
|
9424
|
+
declare class SurfaceOpenActionEditorComponent implements OnChanges {
|
|
9425
|
+
value?: SurfaceOpenPayload | null;
|
|
9426
|
+
hostKind?: string | null;
|
|
9427
|
+
valueChange: EventEmitter<SurfaceOpenPayload>;
|
|
9428
|
+
draft: SurfaceOpenPayload;
|
|
9429
|
+
inputJsonDrafts: Record<string, string>;
|
|
9430
|
+
inputErrors: Record<string, string>;
|
|
9431
|
+
contextDraft: string;
|
|
9432
|
+
contextError: string;
|
|
9433
|
+
private readonly registry;
|
|
9434
|
+
private readonly i18n;
|
|
9435
|
+
private static nextInstanceId;
|
|
9436
|
+
private readonly instanceId;
|
|
9437
|
+
readonly sourceSuggestionsListId: string;
|
|
9438
|
+
readonly targetSuggestionsListId: string;
|
|
9439
|
+
get availablePresets(): SurfaceOpenPreset[];
|
|
9440
|
+
get componentOptions(): ComponentDocMeta[];
|
|
9441
|
+
get selectedComponentMeta(): ComponentDocMeta | undefined;
|
|
9442
|
+
get selectedInputs(): NonNullable<ComponentDocMeta['inputs']>;
|
|
9443
|
+
get bindingOrderText(): string;
|
|
9444
|
+
get bindingSourceSuggestions(): string[];
|
|
9445
|
+
get bindingTargetSuggestions(): string[];
|
|
9446
|
+
get bindingSourceSuggestionsPreview(): string;
|
|
9447
|
+
get bindingTargetSuggestionsPreview(): string;
|
|
9448
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
9449
|
+
updatePresentation(value: SurfaceOpenPayload['presentation']): void;
|
|
9450
|
+
updateTextField(field: 'title' | 'subtitle' | 'icon', value: string): void;
|
|
9451
|
+
updateSizeField(field: SurfaceSizeField, value: string): void;
|
|
9452
|
+
updateWidgetId(componentId: string): void;
|
|
9453
|
+
updateBindingOrder(value: string): void;
|
|
9454
|
+
applyPreset(preset: SurfaceOpenPreset): void;
|
|
9455
|
+
isBooleanType(type?: string): boolean;
|
|
9456
|
+
isNumberType(type?: string): boolean;
|
|
9457
|
+
isJsonType(type?: string): boolean;
|
|
9458
|
+
getBooleanInputValue(name: string): boolean;
|
|
9459
|
+
getScalarInputValue(name: string): any;
|
|
9460
|
+
getJsonInputDraft(name: string): string;
|
|
9461
|
+
scalarPlaceholder(input: NonNullable<ComponentDocMeta['inputs']>[number]): string;
|
|
9462
|
+
jsonPlaceholder(input: NonNullable<ComponentDocMeta['inputs']>[number]): string;
|
|
9463
|
+
updateBooleanInput(name: string, value: boolean): void;
|
|
9464
|
+
updateScalarInput(name: string, type: string, value: any): void;
|
|
9465
|
+
updateJsonInput(name: string, value: string): void;
|
|
9466
|
+
addBinding(): void;
|
|
9467
|
+
updateBinding(index: number, field: keyof SurfaceBinding, value: any): void;
|
|
9468
|
+
removeBinding(index: number): void;
|
|
9469
|
+
updateContext(value: string): void;
|
|
9470
|
+
presetLabel(preset: SurfaceOpenPreset): string;
|
|
9471
|
+
presetDescription(preset: SurfaceOpenPreset): string;
|
|
9472
|
+
t(key: string, fallback: string, params?: Record<string, string | number | boolean | null | undefined>): string;
|
|
9473
|
+
private refreshJsonDrafts;
|
|
9474
|
+
private emitDraft;
|
|
9475
|
+
private ensureWidgetInputs;
|
|
9476
|
+
private reconcileInputsForComponent;
|
|
9477
|
+
private assignTextField;
|
|
9478
|
+
private normalizePayload;
|
|
9479
|
+
private createDefaultPayload;
|
|
9480
|
+
private stringifyJson;
|
|
9481
|
+
private clone;
|
|
9482
|
+
private uniqueStrings;
|
|
9483
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SurfaceOpenActionEditorComponent, never>;
|
|
9484
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SurfaceOpenActionEditorComponent, "praxis-surface-open-action-editor", never, { "value": { "alias": "value"; "required": false; }; "hostKind": { "alias": "hostKind"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
|
|
9485
|
+
}
|
|
9486
|
+
|
|
8809
9487
|
type AiValueKind = 'boolean' | 'string' | 'number' | 'enum' | 'expression' | 'object' | 'array';
|
|
8810
9488
|
interface AiCapabilityCategoryMap {
|
|
8811
9489
|
identity: true;
|
|
@@ -8977,6 +9655,31 @@ interface ComponentMergePatch<TConfig extends Record<string, unknown> = Record<s
|
|
|
8977
9655
|
|
|
8978
9656
|
declare const DYNAMIC_PAGE_COMPONENT_CONTEXT_PACK: ComponentContextPack;
|
|
8979
9657
|
|
|
9658
|
+
interface WidgetEventPathSegment {
|
|
9659
|
+
kind: 'tabs' | 'tab' | 'nav' | 'link' | 'expansion' | 'panel' | 'stepper' | 'step' | 'slot' | 'group';
|
|
9660
|
+
id?: string;
|
|
9661
|
+
index?: number;
|
|
9662
|
+
}
|
|
9663
|
+
interface WidgetEventEnvelope {
|
|
9664
|
+
/** Optional top-level page widget key that owns the event tree. */
|
|
9665
|
+
ownerWidgetKey?: string;
|
|
9666
|
+
/** Registered component id of the emitting widget/component instance. */
|
|
9667
|
+
sourceComponentId: string;
|
|
9668
|
+
/** Optional author-defined key for nested widget instances inside a container/composite. */
|
|
9669
|
+
sourceChildWidgetKey?: string;
|
|
9670
|
+
output?: string;
|
|
9671
|
+
payload?: any;
|
|
9672
|
+
path?: WidgetEventPathSegment[];
|
|
9673
|
+
}
|
|
9674
|
+
type WidgetResolutionPhase = 'ready' | 'metadata-missing' | 'create-error' | 'validation-error' | 'bind-error';
|
|
9675
|
+
interface WidgetResolutionDiagnostic {
|
|
9676
|
+
componentId?: string;
|
|
9677
|
+
childWidgetKey?: string;
|
|
9678
|
+
phase: WidgetResolutionPhase;
|
|
9679
|
+
message?: string;
|
|
9680
|
+
error?: unknown;
|
|
9681
|
+
}
|
|
9682
|
+
|
|
8980
9683
|
type EditorialContentFormat = 'plain' | 'markdown';
|
|
8981
9684
|
interface EditorialLinkDefinition {
|
|
8982
9685
|
label: string;
|
|
@@ -9170,16 +9873,14 @@ declare class DynamicWidgetLoaderDirective implements OnInit, OnChanges, OnDestr
|
|
|
9170
9873
|
private readonly vcRef;
|
|
9171
9874
|
private readonly registry;
|
|
9172
9875
|
widget?: WidgetDefinition | string;
|
|
9876
|
+
ownerWidgetKey?: string | null;
|
|
9173
9877
|
context?: Record<string, any> | null;
|
|
9174
9878
|
/** When true, invalid inputs/outputs cause errors; otherwise only warnings. */
|
|
9175
9879
|
strictValidation: boolean;
|
|
9176
9880
|
/** When true, auto-subscribes to all outputs declared in metadata if outputs map is empty. Useful in editor/runtime to propagate events without explicit mapping. */
|
|
9177
9881
|
autoWireOutputs: boolean;
|
|
9178
|
-
widgetEvent: EventEmitter<
|
|
9179
|
-
|
|
9180
|
-
output?: string;
|
|
9181
|
-
payload?: any;
|
|
9182
|
-
}>;
|
|
9882
|
+
widgetEvent: EventEmitter<WidgetEventEnvelope>;
|
|
9883
|
+
widgetDiagnostic: EventEmitter<WidgetResolutionDiagnostic>;
|
|
9183
9884
|
private compRef?;
|
|
9184
9885
|
private currentId?;
|
|
9185
9886
|
private outputSubs;
|
|
@@ -9195,11 +9896,13 @@ declare class DynamicWidgetLoaderDirective implements OnInit, OnChanges, OnDestr
|
|
|
9195
9896
|
private bindInputs;
|
|
9196
9897
|
private bindOutputs;
|
|
9197
9898
|
private resolveValue;
|
|
9899
|
+
private get widgetDefinition();
|
|
9900
|
+
private emitDiagnostic;
|
|
9198
9901
|
private lookup;
|
|
9199
9902
|
private validateAgainstMetadata;
|
|
9200
9903
|
private coercePrimitive;
|
|
9201
9904
|
static ɵfac: i0.ɵɵFactoryDeclaration<DynamicWidgetLoaderDirective, never>;
|
|
9202
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<DynamicWidgetLoaderDirective, "[dynamicWidgetLoader]", ["dynamicWidgetLoader"], { "widget": { "alias": "dynamicWidgetLoader"; "required": false; }; "context": { "alias": "context"; "required": false; }; "strictValidation": { "alias": "strictValidation"; "required": false; }; "autoWireOutputs": { "alias": "autoWireOutputs"; "required": false; }; }, { "widgetEvent": "widgetEvent"; }, never, never, true, never>;
|
|
9905
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<DynamicWidgetLoaderDirective, "[dynamicWidgetLoader]", ["dynamicWidgetLoader"], { "widget": { "alias": "dynamicWidgetLoader"; "required": false; }; "ownerWidgetKey": { "alias": "ownerWidgetKey"; "required": false; }; "context": { "alias": "context"; "required": false; }; "strictValidation": { "alias": "strictValidation"; "required": false; }; "autoWireOutputs": { "alias": "autoWireOutputs"; "required": false; }; }, { "widgetEvent": "widgetEvent"; "widgetDiagnostic": "widgetDiagnostic"; }, never, never, true, never>;
|
|
9203
9906
|
}
|
|
9204
9907
|
|
|
9205
9908
|
type ActionList = WidgetShellAction[];
|
|
@@ -9208,7 +9911,11 @@ declare const BUILTIN_SHELL_PRESETS: Record<string, NonNullable<Appearance>>;
|
|
|
9208
9911
|
declare class WidgetShellComponent implements OnChanges {
|
|
9209
9912
|
shell?: WidgetShellConfig | null;
|
|
9210
9913
|
context?: Record<string, any> | null;
|
|
9914
|
+
dragSurfaceEnabled: boolean;
|
|
9915
|
+
dragSurfaceLabel: string | null;
|
|
9211
9916
|
action: EventEmitter<WidgetShellActionEvent>;
|
|
9917
|
+
dragSurfacePointerDown: EventEmitter<PointerEvent>;
|
|
9918
|
+
dragSurfaceKeydown: EventEmitter<KeyboardEvent>;
|
|
9212
9919
|
loader?: DynamicWidgetLoaderDirective;
|
|
9213
9920
|
get appearance(): WidgetShellConfig['appearance'];
|
|
9214
9921
|
collapsed: boolean;
|
|
@@ -9223,6 +9930,8 @@ declare class WidgetShellComponent implements OnChanges {
|
|
|
9223
9930
|
private get maxHeaderActions();
|
|
9224
9931
|
get windowActions(): ActionList;
|
|
9225
9932
|
onAction(action: WidgetShellAction, ev: MouseEvent): void;
|
|
9933
|
+
onHeaderPointerDown(event: PointerEvent): void;
|
|
9934
|
+
onHeaderKeydown(event: KeyboardEvent): void;
|
|
9226
9935
|
stopIfExpanded(ev: MouseEvent): void;
|
|
9227
9936
|
closeOverlay(): void;
|
|
9228
9937
|
private handleWindowAction;
|
|
@@ -9230,10 +9939,14 @@ declare class WidgetShellComponent implements OnChanges {
|
|
|
9230
9939
|
private isVisible;
|
|
9231
9940
|
private resolvePresetAppearance;
|
|
9232
9941
|
private mergeAppearance;
|
|
9942
|
+
private isInteractiveHeaderTarget;
|
|
9233
9943
|
static ɵfac: i0.ɵɵFactoryDeclaration<WidgetShellComponent, never>;
|
|
9234
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<WidgetShellComponent, "praxis-widget-shell", never, { "shell": { "alias": "shell"; "required": false; }; "context": { "alias": "context"; "required": false; }; }, { "action": "action"; }, ["loader"], ["*"], true, never>;
|
|
9944
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<WidgetShellComponent, "praxis-widget-shell", never, { "shell": { "alias": "shell"; "required": false; }; "context": { "alias": "context"; "required": false; }; "dragSurfaceEnabled": { "alias": "dragSurfaceEnabled"; "required": false; }; "dragSurfaceLabel": { "alias": "dragSurfaceLabel"; "required": false; }; }, { "action": "action"; "dragSurfacePointerDown": "dragSurfacePointerDown"; "dragSurfaceKeydown": "dragSurfaceKeydown"; }, ["loader"], ["*"], true, never>;
|
|
9235
9945
|
}
|
|
9236
9946
|
|
|
9947
|
+
declare const BUILTIN_PAGE_LAYOUT_PRESETS: Record<string, WidgetPageLayoutPresetDefinition>;
|
|
9948
|
+
declare const BUILTIN_PAGE_THEME_PRESETS: Record<string, WidgetPageThemePresetDefinition>;
|
|
9949
|
+
|
|
9237
9950
|
declare class ConnectionManagerService {
|
|
9238
9951
|
/** Extract value from an object using dot-path (e.g., 'payload.row.id'). */
|
|
9239
9952
|
extractByPath(obj: any, path: string | undefined): any;
|
|
@@ -9242,7 +9955,7 @@ declare class ConnectionManagerService {
|
|
|
9242
9955
|
/** Find connections triggered by a state-path update. */
|
|
9243
9956
|
findStateMatches(connections: WidgetConnection[] | undefined, statePath: string): WidgetConnection[];
|
|
9244
9957
|
/** Apply a single match into widgets array, supporting dot-path in target input. Returns a new array. */
|
|
9245
|
-
applyMatch(widgets:
|
|
9958
|
+
applyMatch(widgets: WidgetInstance[], match: WidgetConnection & {
|
|
9246
9959
|
to: {
|
|
9247
9960
|
widget: string;
|
|
9248
9961
|
input: string;
|
|
@@ -9250,7 +9963,7 @@ declare class ConnectionManagerService {
|
|
|
9250
9963
|
};
|
|
9251
9964
|
}, event: {
|
|
9252
9965
|
payload?: any;
|
|
9253
|
-
}):
|
|
9966
|
+
}): WidgetInstance[];
|
|
9254
9967
|
resolveConnectionValue(match: Pick<WidgetConnection, 'map' | 'set'>, event: {
|
|
9255
9968
|
payload?: any;
|
|
9256
9969
|
} | Record<string, any>): any;
|
|
@@ -9287,21 +10000,277 @@ declare class WidgetPageStateRuntimeService {
|
|
|
9287
10000
|
private computeDerivedNode;
|
|
9288
10001
|
private resolveNamedSource;
|
|
9289
10002
|
private resolveSourceValues;
|
|
10003
|
+
private aggregateArray;
|
|
10004
|
+
private buildFieldList;
|
|
10005
|
+
private groupTop;
|
|
10006
|
+
private selectCase;
|
|
10007
|
+
private matchesCase;
|
|
10008
|
+
private resolveCaseValue;
|
|
9290
10009
|
private resolveTemplate;
|
|
9291
10010
|
private readPath;
|
|
9292
10011
|
private isPlainObject;
|
|
9293
10012
|
private isEqual;
|
|
10013
|
+
private isEmptyValue;
|
|
10014
|
+
private readMetricValue;
|
|
10015
|
+
private toNumber;
|
|
10016
|
+
private formatFieldValue;
|
|
9294
10017
|
private clone;
|
|
9295
10018
|
static ɵfac: i0.ɵɵFactoryDeclaration<WidgetPageStateRuntimeService, never>;
|
|
9296
10019
|
static ɵprov: i0.ɵɵInjectableDeclaration<WidgetPageStateRuntimeService>;
|
|
9297
10020
|
}
|
|
9298
10021
|
|
|
9299
|
-
declare
|
|
10022
|
+
declare function adaptWidgetConnectionToCompositionLink(connection: WidgetConnection): CompositionLink;
|
|
10023
|
+
declare function adaptWidgetConnectionsToCompositionLinks(connections: WidgetConnection[] | undefined): CompositionLink[];
|
|
10024
|
+
|
|
10025
|
+
interface WidgetPageCompositionState {
|
|
10026
|
+
primaryValues: Record<string, unknown>;
|
|
10027
|
+
schema: Record<string, WidgetStateNode>;
|
|
10028
|
+
/** Definitions carried forward for a later derived-state materialization phase. */
|
|
10029
|
+
derivedDefinitions: Record<string, WidgetDerivedStateNode>;
|
|
10030
|
+
}
|
|
10031
|
+
interface WidgetPageComposition {
|
|
10032
|
+
widgetOrder: string[];
|
|
10033
|
+
widgetsByKey: Record<string, WidgetInstance>;
|
|
10034
|
+
links: CompositionLink[];
|
|
10035
|
+
state: WidgetPageCompositionState;
|
|
10036
|
+
context: Record<string, unknown>;
|
|
10037
|
+
}
|
|
10038
|
+
|
|
10039
|
+
interface CompositionRuntimeStoreInit {
|
|
10040
|
+
pageId?: string;
|
|
10041
|
+
status?: RuntimeSnapshotStatus;
|
|
10042
|
+
generatedAt?: string;
|
|
10043
|
+
links?: RuntimeLinkSnapshot[];
|
|
10044
|
+
state?: Partial<RuntimeStateSnapshot>;
|
|
10045
|
+
diagnostics?: DiagnosticRecord[];
|
|
10046
|
+
traceTail?: RuntimeTraceEntry[];
|
|
10047
|
+
}
|
|
10048
|
+
interface RuntimeLinkSnapshotPatch {
|
|
10049
|
+
linkId: string;
|
|
10050
|
+
status?: RuntimeLinkStatus;
|
|
10051
|
+
lastEventAt?: string;
|
|
10052
|
+
lastDispatchTraceId?: string;
|
|
10053
|
+
lastDeliveredValuePreview?: unknown;
|
|
10054
|
+
diagnostics?: DiagnosticRecord[];
|
|
10055
|
+
}
|
|
10056
|
+
interface CompositionRuntimeStoreCycleUpdate {
|
|
10057
|
+
generatedAt?: string;
|
|
10058
|
+
status?: RuntimeSnapshotStatus;
|
|
10059
|
+
stateSnapshot?: RuntimeStateSnapshot;
|
|
10060
|
+
primaryValuesPatch?: Record<string, unknown>;
|
|
10061
|
+
derivedValuesPatch?: Record<string, unknown>;
|
|
10062
|
+
transientValuesPatch?: Record<string, unknown>;
|
|
10063
|
+
changedPaths?: string[];
|
|
10064
|
+
linkPatches?: RuntimeLinkSnapshotPatch[];
|
|
10065
|
+
diagnostics?: DiagnosticRecord[];
|
|
10066
|
+
traceTail?: RuntimeTraceEntry[];
|
|
10067
|
+
}
|
|
10068
|
+
type CompositionRuntimeSnapshotListener = (snapshot: RuntimeSnapshot) => void;
|
|
10069
|
+
declare class CompositionRuntimeStore {
|
|
10070
|
+
private snapshot;
|
|
10071
|
+
private readonly listeners;
|
|
10072
|
+
constructor(init?: CompositionRuntimeStoreInit);
|
|
10073
|
+
getSnapshot(): RuntimeSnapshot;
|
|
10074
|
+
subscribe(listener: CompositionRuntimeSnapshotListener): () => void;
|
|
10075
|
+
reset(init?: CompositionRuntimeStoreInit): RuntimeSnapshot;
|
|
10076
|
+
applyCycle(update: CompositionRuntimeStoreCycleUpdate): RuntimeSnapshot;
|
|
10077
|
+
private emit;
|
|
10078
|
+
}
|
|
10079
|
+
|
|
10080
|
+
interface TransformRuntimeContext {
|
|
10081
|
+
event?: unknown;
|
|
10082
|
+
payload?: unknown;
|
|
10083
|
+
state?: Record<string, unknown>;
|
|
10084
|
+
derived?: Record<string, unknown>;
|
|
10085
|
+
transient?: Record<string, unknown>;
|
|
10086
|
+
context?: Record<string, unknown>;
|
|
10087
|
+
}
|
|
10088
|
+
|
|
10089
|
+
interface LinkExecutorPathAccessor {
|
|
10090
|
+
extractByPath(source: unknown, path: string): unknown;
|
|
10091
|
+
setValueAtPath(source: unknown, path: string, value: unknown): any;
|
|
10092
|
+
}
|
|
10093
|
+
interface LinkExecutorTransformRunner {
|
|
10094
|
+
executePipeline(pipeline: CompositionLink['transform'] extends infer T ? Exclude<T, undefined> : never, runtime: TransformRuntimeContext): {
|
|
10095
|
+
value: unknown;
|
|
10096
|
+
diagnostics: DiagnosticRecord[];
|
|
10097
|
+
failed: boolean;
|
|
10098
|
+
};
|
|
10099
|
+
}
|
|
10100
|
+
interface LinkExecutionContext {
|
|
10101
|
+
snapshot: Pick<RuntimeSnapshot, 'state'> | {
|
|
10102
|
+
state: RuntimeStateSnapshot;
|
|
10103
|
+
};
|
|
10104
|
+
event?: unknown;
|
|
10105
|
+
payload?: unknown;
|
|
10106
|
+
context?: Record<string, unknown>;
|
|
10107
|
+
now?: string;
|
|
10108
|
+
lastDeliveredValue?: unknown;
|
|
10109
|
+
lastDeliveredAt?: string;
|
|
10110
|
+
}
|
|
10111
|
+
interface LinkExecutionDelivery {
|
|
10112
|
+
kind: 'state' | 'component-port';
|
|
10113
|
+
value: unknown;
|
|
10114
|
+
statePath?: string;
|
|
10115
|
+
stateLayer?: 'values' | 'derived' | 'transient';
|
|
10116
|
+
widgetKey?: string;
|
|
10117
|
+
portId?: string;
|
|
10118
|
+
bindingPath?: string;
|
|
10119
|
+
}
|
|
10120
|
+
interface LinkExecutionResult {
|
|
10121
|
+
status: 'delivered' | 'skipped' | 'failed';
|
|
10122
|
+
value: unknown;
|
|
10123
|
+
diagnostics: DiagnosticRecord[];
|
|
10124
|
+
snapshot: RuntimeStateSnapshot;
|
|
10125
|
+
delivery?: LinkExecutionDelivery;
|
|
10126
|
+
skippedReason?: string;
|
|
10127
|
+
}
|
|
10128
|
+
declare class LinkExecutorService {
|
|
10129
|
+
private readonly transforms;
|
|
10130
|
+
private readonly pathAccessor;
|
|
10131
|
+
constructor(transforms?: LinkExecutorTransformRunner, pathAccessor?: LinkExecutorPathAccessor);
|
|
10132
|
+
executeLink(link: CompositionLink, context: LinkExecutionContext): LinkExecutionResult;
|
|
10133
|
+
private resolveSourceValue;
|
|
10134
|
+
private matchesConditions;
|
|
10135
|
+
private evaluateCondition;
|
|
10136
|
+
private evaluateExpression;
|
|
10137
|
+
private resolveExpressionOperand;
|
|
10138
|
+
private readConditionValue;
|
|
10139
|
+
private matchesPortKind;
|
|
10140
|
+
private buildTransformContext;
|
|
10141
|
+
private resolveMissingValuePolicy;
|
|
10142
|
+
private resolvePolicySkip;
|
|
10143
|
+
private deliverValue;
|
|
10144
|
+
private readStatePath;
|
|
10145
|
+
private buildEffectiveState;
|
|
10146
|
+
private createDiagnostic;
|
|
10147
|
+
private isEmptyValue;
|
|
10148
|
+
private isEqual;
|
|
10149
|
+
private cloneSnapshot;
|
|
10150
|
+
private clone;
|
|
10151
|
+
}
|
|
10152
|
+
|
|
10153
|
+
interface RuntimeTraceEntryInput {
|
|
10154
|
+
timestamp: string;
|
|
10155
|
+
phase: RuntimeTracePhase;
|
|
10156
|
+
subject: DiagnosticSubjectRef;
|
|
10157
|
+
linkId?: string;
|
|
10158
|
+
payload?: unknown;
|
|
10159
|
+
inputSnapshot?: unknown;
|
|
10160
|
+
outputSnapshot?: unknown;
|
|
10161
|
+
details?: Record<string, unknown>;
|
|
10162
|
+
diagnostics?: string[];
|
|
10163
|
+
}
|
|
10164
|
+
declare class RuntimeTraceService {
|
|
10165
|
+
createEntry(traceId: string, sequence: number, input: RuntimeTraceEntryInput): RuntimeTraceEntry;
|
|
10166
|
+
summarizePayload(payload: unknown): RuntimePayloadSummary | undefined;
|
|
10167
|
+
private clone;
|
|
10168
|
+
}
|
|
10169
|
+
|
|
10170
|
+
type CompositionRuntimeDefinition = WidgetPageComposition;
|
|
10171
|
+
interface CompositionDispatchEvent {
|
|
10172
|
+
eventId: string;
|
|
10173
|
+
source: EndpointRef;
|
|
10174
|
+
payload?: unknown;
|
|
10175
|
+
occurredAt?: string;
|
|
10176
|
+
}
|
|
10177
|
+
interface CompositionRuntimeCycleResult {
|
|
10178
|
+
cycleId: string;
|
|
10179
|
+
matchedLinkIds: string[];
|
|
10180
|
+
snapshot: RuntimeSnapshot;
|
|
10181
|
+
diagnostics: DiagnosticRecord[];
|
|
10182
|
+
}
|
|
10183
|
+
interface CompositionRuntimeEngineOptions {
|
|
10184
|
+
now?: () => string;
|
|
10185
|
+
store?: CompositionRuntimeStore;
|
|
10186
|
+
linkExecutor?: LinkExecutorService;
|
|
10187
|
+
stateRuntime?: WidgetPageStateRuntimeService;
|
|
10188
|
+
traceService?: RuntimeTraceService;
|
|
10189
|
+
}
|
|
10190
|
+
interface CompositionStateWidgetPreviewOptions {
|
|
10191
|
+
widgets?: WidgetInstance[];
|
|
10192
|
+
state?: RuntimeStateSnapshot;
|
|
10193
|
+
now?: string;
|
|
10194
|
+
}
|
|
10195
|
+
interface CompositionStateWidgetPreviewResult {
|
|
10196
|
+
widgets: WidgetInstance[];
|
|
10197
|
+
matchedLinkIds: string[];
|
|
10198
|
+
diagnostics: DiagnosticRecord[];
|
|
10199
|
+
}
|
|
10200
|
+
declare class CompositionRuntimeEngine {
|
|
10201
|
+
private readonly store;
|
|
10202
|
+
private readonly linkExecutor;
|
|
10203
|
+
private readonly stateRuntime;
|
|
10204
|
+
private readonly traceService;
|
|
10205
|
+
private readonly pathAccessor;
|
|
10206
|
+
private definition;
|
|
10207
|
+
private readonly now;
|
|
10208
|
+
constructor(options?: CompositionRuntimeEngineOptions);
|
|
10209
|
+
bootstrap(definition: CompositionRuntimeDefinition): RuntimeSnapshot;
|
|
10210
|
+
dispatch(event: CompositionDispatchEvent): CompositionRuntimeCycleResult;
|
|
10211
|
+
getSnapshot(): RuntimeSnapshot;
|
|
10212
|
+
getStore(): CompositionRuntimeStore;
|
|
10213
|
+
projectStateWidgetInputs(definition: CompositionRuntimeDefinition, options?: CompositionStateWidgetPreviewOptions): CompositionStateWidgetPreviewResult;
|
|
10214
|
+
private createLinkSnapshot;
|
|
10215
|
+
private applyBootstrapHydration;
|
|
10216
|
+
private materializeDerivedState;
|
|
10217
|
+
private createDerivedDiagnostic;
|
|
10218
|
+
private clonePreviewWidgets;
|
|
10219
|
+
private cloneJson;
|
|
10220
|
+
}
|
|
10221
|
+
|
|
10222
|
+
interface CompositionRuntimeFacadeOptions {
|
|
10223
|
+
engine?: CompositionRuntimeEngine;
|
|
10224
|
+
engineOptions?: CompositionRuntimeEngineOptions;
|
|
10225
|
+
}
|
|
10226
|
+
declare class CompositionRuntimeFacade {
|
|
10227
|
+
private readonly engine;
|
|
10228
|
+
private readonly snapshotSubject;
|
|
10229
|
+
private readonly unsubscribeFromStore;
|
|
10230
|
+
readonly snapshot$: Observable<RuntimeSnapshot>;
|
|
10231
|
+
readonly diagnostics$: Observable<DiagnosticRecord[]>;
|
|
10232
|
+
readonly traceTail$: Observable<RuntimeTraceEntry[]>;
|
|
10233
|
+
constructor(options?: CompositionRuntimeFacadeOptions);
|
|
10234
|
+
bootstrap(definition: CompositionRuntimeDefinition): RuntimeSnapshot;
|
|
10235
|
+
dispatch(event: CompositionDispatchEvent): CompositionRuntimeCycleResult;
|
|
10236
|
+
projectStateWidgetInputs(definition: CompositionRuntimeDefinition, options?: CompositionStateWidgetPreviewOptions): CompositionStateWidgetPreviewResult;
|
|
10237
|
+
getSnapshot(): RuntimeSnapshot;
|
|
10238
|
+
getEngine(): CompositionRuntimeEngine;
|
|
10239
|
+
destroy(): void;
|
|
10240
|
+
}
|
|
10241
|
+
|
|
10242
|
+
interface RenderedWidgetInstance extends WidgetInstance {
|
|
10243
|
+
renderClassName?: string;
|
|
10244
|
+
renderSpan?: number;
|
|
10245
|
+
renderCanvasItem?: WidgetPageCanvasItem;
|
|
10246
|
+
}
|
|
10247
|
+
interface RenderedTabsGroup {
|
|
10248
|
+
id: string;
|
|
10249
|
+
label?: string;
|
|
10250
|
+
widgets: RenderedWidgetInstance[];
|
|
10251
|
+
}
|
|
10252
|
+
interface RenderedWidgetGroup {
|
|
10253
|
+
id: string;
|
|
10254
|
+
kind: WidgetPageGroupingDefinition['kind'] | 'ungrouped';
|
|
10255
|
+
label?: string;
|
|
10256
|
+
layout?: 'stack' | 'grid' | 'row';
|
|
10257
|
+
emphasis?: 'high' | 'medium';
|
|
10258
|
+
side?: 'left' | 'right';
|
|
10259
|
+
widgets: RenderedWidgetInstance[];
|
|
10260
|
+
tabs?: RenderedTabsGroup[];
|
|
10261
|
+
}
|
|
10262
|
+
type CanvasResizeHandle = 'north' | 'south' | 'east' | 'west' | 'north-east' | 'north-west' | 'south-east' | 'south-west';
|
|
10263
|
+
interface CanvasResizeHandleDefinition {
|
|
10264
|
+
id: CanvasResizeHandle;
|
|
10265
|
+
className: string;
|
|
10266
|
+
}
|
|
10267
|
+
declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
|
|
9300
10268
|
private conn;
|
|
9301
10269
|
private stateRuntime;
|
|
9302
10270
|
private settingsPanel;
|
|
9303
10271
|
private defaultShellEditor;
|
|
9304
10272
|
private defaultPageEditor;
|
|
10273
|
+
pageCanvasHost?: ElementRef<HTMLElement>;
|
|
9305
10274
|
page?: WidgetPageDefinition | string;
|
|
9306
10275
|
context?: Record<string, any> | null;
|
|
9307
10276
|
strictValidation: boolean;
|
|
@@ -9320,29 +10289,48 @@ declare class DynamicWidgetPageComponent implements OnChanges {
|
|
|
9320
10289
|
/** Optional instance key for pages rendered multiple times. */
|
|
9321
10290
|
componentInstanceId?: string;
|
|
9322
10291
|
pageChange: EventEmitter<WidgetPageDefinition>;
|
|
10292
|
+
widgetDiagnosticsChange: EventEmitter<Record<string, WidgetResolutionDiagnostic>>;
|
|
9323
10293
|
widgets: i0.WritableSignal<WidgetInstance[]>;
|
|
10294
|
+
renderedGroups: i0.WritableSignal<RenderedWidgetGroup[]>;
|
|
9324
10295
|
mergedContext: Record<string, any>;
|
|
9325
10296
|
pageGap: string;
|
|
9326
10297
|
gridTemplateColumns: string;
|
|
10298
|
+
gridAutoRows: string;
|
|
10299
|
+
layoutAnnouncement: string;
|
|
10300
|
+
readonly canvasResizeHandles: readonly CanvasResizeHandleDefinition[];
|
|
9327
10301
|
private pageDefinition?;
|
|
9328
10302
|
private pageState;
|
|
9329
10303
|
private pageRuntime;
|
|
9330
10304
|
private layout?;
|
|
10305
|
+
private canvas?;
|
|
10306
|
+
private grouping;
|
|
10307
|
+
private pageColumnCount;
|
|
10308
|
+
private activeTabs;
|
|
10309
|
+
private widgetDiagnostics;
|
|
10310
|
+
private selectedCanvasWidgetKey;
|
|
10311
|
+
private blockedCanvasWidgetKey;
|
|
10312
|
+
private canvasPreviewState;
|
|
10313
|
+
private canvasPreviewInvalidState;
|
|
10314
|
+
private transientCanvasItemsState;
|
|
10315
|
+
private activeCanvasInteraction;
|
|
9331
10316
|
private appliedPersisted;
|
|
9332
10317
|
private isHydrating;
|
|
9333
10318
|
private persistenceReady;
|
|
9334
10319
|
private warnedMissingKey;
|
|
10320
|
+
private readonly compositionFactory;
|
|
10321
|
+
private readonly compositionRuntime;
|
|
10322
|
+
private compositionDefinition?;
|
|
9335
10323
|
private readonly globalActions;
|
|
9336
10324
|
private readonly storage;
|
|
9337
10325
|
private readonly componentKeys;
|
|
10326
|
+
private readonly i18n;
|
|
9338
10327
|
private readonly route;
|
|
9339
10328
|
constructor(conn: ConnectionManagerService, stateRuntime: WidgetPageStateRuntimeService, settingsPanel: SettingsPanelBridge | null, defaultShellEditor: Type<any> | null, defaultPageEditor: Type<any> | null);
|
|
10329
|
+
ngOnDestroy(): void;
|
|
9340
10330
|
ngOnChanges(changes: SimpleChanges): void;
|
|
9341
|
-
onWidgetEvent(fromKey: string, evt:
|
|
9342
|
-
|
|
9343
|
-
|
|
9344
|
-
payload?: any;
|
|
9345
|
-
}): void;
|
|
10331
|
+
onWidgetEvent(fromKey: string, evt: WidgetEventEnvelope): void;
|
|
10332
|
+
private areStateValuesEqual;
|
|
10333
|
+
onWidgetDiagnostic(widgetKey: string, diagnostic: WidgetResolutionDiagnostic): void;
|
|
9346
10334
|
onShellAction(fromKey: string, evt: WidgetShellActionEvent): void;
|
|
9347
10335
|
private handleSetInputCommand;
|
|
9348
10336
|
private mergeOrder;
|
|
@@ -9357,11 +10345,84 @@ declare class DynamicWidgetPageComponent implements OnChanges {
|
|
|
9357
10345
|
private applyPageLayout;
|
|
9358
10346
|
private applyPageUpdate;
|
|
9359
10347
|
private applyLayout;
|
|
10348
|
+
private applyCanvasLayout;
|
|
9360
10349
|
private mergeContext;
|
|
9361
10350
|
onWindowResize(): void;
|
|
10351
|
+
onCanvasPointerMove(event: PointerEvent): void;
|
|
10352
|
+
onCanvasPointerUp(event: PointerEvent): void;
|
|
10353
|
+
onCanvasPointerCancel(event: PointerEvent): void;
|
|
9362
10354
|
private resolveColumns;
|
|
9363
10355
|
private ensurePageDefinition;
|
|
9364
10356
|
private parsePage;
|
|
10357
|
+
private resolvePagePresets;
|
|
10358
|
+
private mergeLayout;
|
|
10359
|
+
private applyResponsivePresentation;
|
|
10360
|
+
private resolveEffectivePresentation;
|
|
10361
|
+
private resolveDeviceVariant;
|
|
10362
|
+
private resolveCanvas;
|
|
10363
|
+
private resolveDeviceKind;
|
|
10364
|
+
isCanvasMode(): boolean;
|
|
10365
|
+
selectCanvasWidget(widgetKey: string): void;
|
|
10366
|
+
isCanvasWidgetSelected(widgetKey: string): boolean;
|
|
10367
|
+
isCanvasWidgetBlocked(widgetKey: string): boolean;
|
|
10368
|
+
canvasPreviewItem(): WidgetPageCanvasItem | null;
|
|
10369
|
+
canvasPreviewGridColumn(): string | null;
|
|
10370
|
+
canvasPreviewGridRow(): string | null;
|
|
10371
|
+
canvasPreviewInvalid(): boolean;
|
|
10372
|
+
startCanvasDrag(widgetKey: string, event: PointerEvent): void;
|
|
10373
|
+
startCanvasResize(widgetKey: string, handle: CanvasResizeHandle, event: PointerEvent): void;
|
|
10374
|
+
onCanvasHandleKeydown(widgetKey: string, kind: 'drag' | 'resize', event: KeyboardEvent): void;
|
|
10375
|
+
onCanvasResizeHandleKeydown(widgetKey: string, handle: CanvasResizeHandle, event: KeyboardEvent): void;
|
|
10376
|
+
private applyWidgetLayoutOverrides;
|
|
10377
|
+
private applyCanvasLayoutToWidgets;
|
|
10378
|
+
private startCanvasInteraction;
|
|
10379
|
+
private currentCanvasMetrics;
|
|
10380
|
+
private currentCanvasItem;
|
|
10381
|
+
private resolveCanvasInteractionDelta;
|
|
10382
|
+
private updateCanvasItem;
|
|
10383
|
+
private applyTransientPagePreview;
|
|
10384
|
+
private resolveCanvasTarget;
|
|
10385
|
+
private applyCanvasDrag;
|
|
10386
|
+
private applyCanvasResize;
|
|
10387
|
+
private applyCanvasKeyboardDrag;
|
|
10388
|
+
private applyCanvasKeyboardResize;
|
|
10389
|
+
pageSettingsLabel(): string;
|
|
10390
|
+
dragWidgetLabel(): string;
|
|
10391
|
+
resizeWidgetLabel(): string;
|
|
10392
|
+
resizeHandleLabel(handle: CanvasResizeHandle): string;
|
|
10393
|
+
private canvasAnnouncement;
|
|
10394
|
+
private blockedCanvasAnnouncement;
|
|
10395
|
+
private canvasSwapAnnouncement;
|
|
10396
|
+
private positionedCanvasAnnouncement;
|
|
10397
|
+
private t;
|
|
10398
|
+
private resolveCanvasConstraints;
|
|
10399
|
+
private normalizeCanvasItem;
|
|
10400
|
+
private resolveCanvasCollisionPolicy;
|
|
10401
|
+
private resolveCanvasPlacement;
|
|
10402
|
+
private findCanvasCollisions;
|
|
10403
|
+
private buildCanvasSwapItem;
|
|
10404
|
+
private canPlaceCanvasItem;
|
|
10405
|
+
private canvasItemsOverlap;
|
|
10406
|
+
private isSameCanvasItem;
|
|
10407
|
+
private clampCanvasCol;
|
|
10408
|
+
private clampNumber;
|
|
10409
|
+
private parseCssPixelValue;
|
|
10410
|
+
private releaseCanvasPointerCapture;
|
|
10411
|
+
private clonePageDefinition;
|
|
10412
|
+
private cloneWidgets;
|
|
10413
|
+
private applyGroupingOverrides;
|
|
10414
|
+
private buildRenderedGroups;
|
|
10415
|
+
private syncActiveTabs;
|
|
10416
|
+
activeTabId(groupId: string): string;
|
|
10417
|
+
selectGroupTab(groupId: string, tabId: string): void;
|
|
10418
|
+
resolveGroupContentLayout(group: RenderedWidgetGroup): 'stack' | 'grid' | 'row';
|
|
10419
|
+
groupGridColumn(group: RenderedWidgetGroup): string | null;
|
|
10420
|
+
widgetGridColumn(widget: RenderedWidgetInstance): string | null;
|
|
10421
|
+
widgetGridRow(widget: RenderedWidgetInstance): string | null;
|
|
10422
|
+
widgetZIndex(widget: RenderedWidgetInstance): number | null;
|
|
10423
|
+
widgetClassName(widget: WidgetInstance): string;
|
|
10424
|
+
private mergeClassNames;
|
|
10425
|
+
private resolveRenderedCanvasItem;
|
|
9365
10426
|
private applyEditShellActions;
|
|
9366
10427
|
private savePage;
|
|
9367
10428
|
private loadPersistedPage;
|
|
@@ -9370,14 +10431,20 @@ declare class DynamicWidgetPageComponent implements OnChanges {
|
|
|
9370
10431
|
private buildPageScopeId;
|
|
9371
10432
|
private warnMissingKey;
|
|
9372
10433
|
private sanitizeSegment;
|
|
9373
|
-
private applyStateConnections;
|
|
9374
10434
|
private cloneStateValues;
|
|
9375
|
-
private
|
|
10435
|
+
private cloneValue;
|
|
10436
|
+
private cloneGrouping;
|
|
9376
10437
|
private buildStateRuntime;
|
|
9377
10438
|
private buildStateContext;
|
|
10439
|
+
private resolveShellTemplates;
|
|
9378
10440
|
private reportStateDiagnostics;
|
|
10441
|
+
private applyBootstrapCompositionHydration;
|
|
10442
|
+
private bootstrapCompositionAdapter;
|
|
10443
|
+
private dispatchWidgetEventToComposition;
|
|
10444
|
+
private stateFromCompositionSnapshot;
|
|
10445
|
+
private applyCompositionWidgetDeliveries;
|
|
9379
10446
|
static ɵfac: i0.ɵɵFactoryDeclaration<DynamicWidgetPageComponent, [null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
|
|
9380
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DynamicWidgetPageComponent, "praxis-dynamic-page", never, { "page": { "alias": "page"; "required": false; }; "context": { "alias": "context"; "required": false; }; "strictValidation": { "alias": "strictValidation"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "showPageSettingsButton": { "alias": "showPageSettingsButton"; "required": false; }; "shellEditorComponent": { "alias": "shellEditorComponent"; "required": false; }; "pageEditorComponent": { "alias": "pageEditorComponent"; "required": false; }; "autoPersist": { "alias": "autoPersist"; "required": false; }; "pageIdentity": { "alias": "pageIdentity"; "required": false; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; }, { "pageChange": "pageChange"; }, never, never, true, never>;
|
|
10447
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DynamicWidgetPageComponent, "praxis-dynamic-page", never, { "page": { "alias": "page"; "required": false; }; "context": { "alias": "context"; "required": false; }; "strictValidation": { "alias": "strictValidation"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "showPageSettingsButton": { "alias": "showPageSettingsButton"; "required": false; }; "shellEditorComponent": { "alias": "shellEditorComponent"; "required": false; }; "pageEditorComponent": { "alias": "pageEditorComponent"; "required": false; }; "autoPersist": { "alias": "autoPersist"; "required": false; }; "pageIdentity": { "alias": "pageIdentity"; "required": false; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; }, { "pageChange": "pageChange"; "widgetDiagnosticsChange": "widgetDiagnosticsChange"; }, never, never, true, never>;
|
|
9381
10448
|
}
|
|
9382
10449
|
|
|
9383
10450
|
/** Metadata for Praxis Dynamic Page component */
|
|
@@ -9387,51 +10454,20 @@ declare const PRAXIS_DYNAMIC_PAGE_COMPONENT_METADATA: ComponentDocMeta;
|
|
|
9387
10454
|
*/
|
|
9388
10455
|
declare function providePraxisDynamicPageMetadata(): Provider;
|
|
9389
10456
|
|
|
9390
|
-
declare class
|
|
9391
|
-
|
|
9392
|
-
|
|
10457
|
+
declare class PraxisSurfaceHostComponent {
|
|
10458
|
+
title?: string;
|
|
10459
|
+
subtitle?: string;
|
|
10460
|
+
icon?: string;
|
|
10461
|
+
widget?: WidgetDefinition;
|
|
9393
10462
|
context?: Record<string, any> | null;
|
|
9394
10463
|
strictValidation: boolean;
|
|
9395
|
-
/**
|
|
9396
|
-
|
|
9397
|
-
|
|
9398
|
-
|
|
9399
|
-
|
|
9400
|
-
|
|
9401
|
-
|
|
9402
|
-
enableCustomization: boolean;
|
|
9403
|
-
widgets: i0.WritableSignal<GridWidgetInstance[]>;
|
|
9404
|
-
mergedContext: Record<string, any>;
|
|
9405
|
-
private readonly globalActions;
|
|
9406
|
-
private selectedKey;
|
|
9407
|
-
private cols;
|
|
9408
|
-
private _rowHeight;
|
|
9409
|
-
private _gap;
|
|
9410
|
-
overlayEnabled: boolean;
|
|
9411
|
-
gridTemplateColumns: i0.Signal<string>;
|
|
9412
|
-
rowHeight: i0.Signal<number>;
|
|
9413
|
-
gap: i0.Signal<number>;
|
|
9414
|
-
constructor(conn: ConnectionManagerService);
|
|
9415
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
9416
|
-
toGridColumn(w: GridWidgetInstance): string;
|
|
9417
|
-
toGridRow(w: GridWidgetInstance): string;
|
|
9418
|
-
onWidgetEvent(fromKey: string, evt: {
|
|
9419
|
-
sourceId: string;
|
|
9420
|
-
output?: string;
|
|
9421
|
-
payload?: any;
|
|
9422
|
-
}): void;
|
|
9423
|
-
onShellAction(fromKey: string, evt: WidgetShellActionEvent): void;
|
|
9424
|
-
isSelected(key?: string): boolean;
|
|
9425
|
-
onTileClick(key?: string, ev?: Event): void;
|
|
9426
|
-
private mergeOrder;
|
|
9427
|
-
private maybeExecuteMappedAction;
|
|
9428
|
-
private maybeExecuteGlobalCommand;
|
|
9429
|
-
private resolveActionPayload;
|
|
9430
|
-
private resolveTemplate;
|
|
9431
|
-
private lookup;
|
|
9432
|
-
private parsePage;
|
|
9433
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DynamicGridPageComponent, never>;
|
|
9434
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DynamicGridPageComponent, "praxis-dynamic-grid-page", never, { "page": { "alias": "page"; "required": false; }; "context": { "alias": "context"; "required": false; }; "strictValidation": { "alias": "strictValidation"; "required": false; }; "gridOptions": { "alias": "gridOptions"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; }, {}, never, never, true, never>;
|
|
10464
|
+
/**
|
|
10465
|
+
* Keep disabled by default to avoid duplicating the title already shown by
|
|
10466
|
+
* modal/drawer hosts. Inline consumers may opt into rendering it again.
|
|
10467
|
+
*/
|
|
10468
|
+
renderTitleInsideBody: boolean;
|
|
10469
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisSurfaceHostComponent, never>;
|
|
10470
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisSurfaceHostComponent, "praxis-surface-host", never, { "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "widget": { "alias": "widget"; "required": false; }; "context": { "alias": "context"; "required": false; }; "strictValidation": { "alias": "strictValidation"; "required": false; }; "renderTitleInsideBody": { "alias": "renderTitleInsideBody"; "required": false; }; }, {}, never, never, true, never>;
|
|
9435
10471
|
}
|
|
9436
10472
|
|
|
9437
10473
|
interface EmptyAction {
|
|
@@ -9806,5 +10842,5 @@ declare function provideFormHookPresets(presets: Array<FormHookPreset>): Provide
|
|
|
9806
10842
|
/** Register a whitelist of allowed hook ids/patterns. */
|
|
9807
10843
|
declare function provideHookWhitelist(allowed: Array<string | RegExp>): Provider[];
|
|
9808
10844
|
|
|
9809
|
-
export { API_CONFIG_STORAGE_OPTIONS, API_URL, ASYNC_CONFIG_STORAGE, AllowedFileTypes, ApiConfigStorage, ApiEndpoint, BUILTIN_SHELL_PRESETS, CONFIG_STORAGE, CONNECTION_STORAGE, ComponentKeyService, ComponentMetadataRegistry, ConnectionManagerService, ConsoleLoggerSink, DEFAULT_FIELD_SELECTOR_CONTROL_TYPE_MAP, DEFAULT_TABLE_CONFIG, DYNAMIC_PAGE_AI_CAPABILITIES, DYNAMIC_PAGE_COMPONENT_CONTEXT_PACK, DYNAMIC_PAGE_CONFIG_EDITOR, DYNAMIC_PAGE_SHELL_EDITOR, DefaultLoadingRenderer, DeferredAsyncConfigStorage, DynamicFormService,
|
|
9810
|
-
export type { AccessibilityConfig, ActionDefinition, ActionMessagesConfig, AiCapability, AiCapabilityCatalog, AiCapabilityCategory, AiCapabilityCategoryMap, AiConcept, AiConceptPack, AiValueKind, AnimationConfig, AnnouncementConfig, ApiConfigStorageOptions, ApiUrlConfig, ApiUrlEntry, AsyncConfigStorage, BackConfig, BaseMaterialInputMetadata, BatchDeleteOptions, BatchDeleteProgress, BatchDeleteResult, BorderConfig, Breakpoint, BuiltValidators, BulkAction, BulkActionsConfig, CacheAdapter, CacheConfig, CacheEntry, Capability$1 as Capability, CapabilityCatalog$1 as CapabilityCatalog, CapabilityCategory$1 as CapabilityCategory, ColorConfig, ColumnAlign, ColumnDefinition, ColumnHidden, ColumnOffset, ColumnOrder, ColumnSpan, ComponentActionParam, ComponentContextAction, ComponentContextOption, ComponentContextOptionMode, ComponentContextOptionsByPathEntry, ComponentContextPack, ComponentDocMeta, ComponentKeyParams, ComponentMergePatch, ComponentMetadata, ConfigMetadata, ConfigStorage, ConfirmationConfig, ConnectionConfigV1, ConnectionStorage, ContextAction, ContextActionsConfig, BackConfig as CoreBackConfig, CoreFieldMetadata, CrudOperationOptions, CsvExportConfig, CurrencyLocaleConfig, CursorPage, CursorRequest, CustomizationLog, DataConfig, DataTransformation, DataValidationConfig, DateRangePreset, DateRangeValue, DateTimeLocaleConfig, DebounceConfig, DeviceKind, DraggingConfig, Capability as DynamicPageCapability, CapabilityCatalog as DynamicPageCapabilityCatalog, CapabilityCategory as DynamicPageCapabilityCategory, ValueKind as DynamicPageValueKind, EditorialBlock, EditorialBlockBase, EditorialBlockKind, EditorialBlockOverride, EditorialBlockSurface, EditorialBlockTone, EditorialBlockVisibilityRule, EditorialCompliancePreset, EditorialComponentDocMeta, EditorialConnectorStyle, EditorialContentFormat, EditorialContextFieldContract, EditorialContextSummaryBlock, EditorialCustomWidgetBlock, EditorialDataCollectionBlock, EditorialDensity, EditorialFaqAccordionBlock, EditorialFaqItem, EditorialFormCompliancePreset, EditorialFormShellPreset, EditorialFormTemplate, EditorialFormTemplateBuildOptions, EditorialFormTemplateContextField, EditorialFormTemplateDefaults, EditorialFormTemplateLayoutPreset, EditorialFormTemplateMetadata, EditorialFormTemplateReference, EditorialHeroBlock, EditorialIconSpec, EditorialInfoCardItem, EditorialInfoCardsBlock, EditorialIntroHeroBlock, EditorialIntroHeroHighlightItem, EditorialJourney, EditorialJourneyOverride, EditorialJourneyStep, EditorialLayoutConfig, EditorialLayoutSpacing, EditorialLinkDefinition, EditorialLinkItem, EditorialMetaItem, EditorialMotionConfig, EditorialOrientation, EditorialPolicyItem, EditorialPolicyListBlock, EditorialPresentationShellVariant, EditorialPresentationalAction, EditorialPresentationalVisibilityRule, EditorialProblemType, EditorialResponsiveLayoutConfig, EditorialReviewField, EditorialReviewSection, EditorialReviewSectionField, EditorialReviewSectionsBlock, EditorialReviewSummaryBlock, EditorialRichTextBlock, EditorialSelectionCardItem, EditorialSelectionCardsBlock, EditorialShellVariant, EditorialSolutionDefinition, EditorialSolutionPreset, EditorialStepKind, EditorialStepVisualConfig, EditorialStepVisualVariant, EditorialStepperConfig, EditorialStepperVariant, EditorialSuccessPanelBlock, EditorialSurfaceVariant, EditorialTemplateInstance, EditorialTemplateInstanceOverrides, EditorialTemplateRef, EditorialTemplateSource, EditorialThemeBorderWidthTokens, EditorialThemeColorTokens, EditorialThemePreset, EditorialThemeRadiusTokens, EditorialThemeShadowTokens, EditorialThemeTokens, EditorialThemeTypographyTokens, EditorialTimelineStep, EditorialTimelineStepsBlock, EditorialWidgetAppearance, EditorialWidgetDefinition, EditorialWidgetInputs, EditorialWizardPresentation, ElevationConfig, EmptyAction, EmptyStateConfig, EndpointConfig, EnhancedValidationConfig, ExcelExportConfig, ExcelStylingConfig, ExportConfig, ExportFormat, ExportMessagesConfig, ExportTemplate, FetchWithEtagParams, FetchWithEtagResult, FieldConflict, FieldDefinition, FieldMetadata, FieldModification, FieldOption, FieldSelectorRegistryMap, FieldsetLayout, FilterOptions, FilteringConfig, FooterLinksAppearance, FooterLinksLayout, FormActionButton, FormActionConfirmationEvent, FormActionsLayout, FormApiLayout, FormBehaviorLayout, FormColumn, FormConfig, FormConfigMetadata, FormConfigState, FormCustomActionEvent, FormEntityEvent, FormHook, FormHookContext, FormHookDeclaration, FormHookDeclarationLite, FormHookOutcome, FormHookPreset, FormHookPresetMatch, FormHookStage, FormHookStatus, FormHooksLayout, FormInitializationError, FormLayout, FormLayoutRule, FormMessagesLayout, FormMetadataLayout, FormModeHints, FormOpenMode, FormReadyEvent, FormRow, FormRowLayout, FormRuleTargetType, FormSection, FormSectionHeaderConfig, FormSectionHeaderEmptyState, FormSectionHeaderMode, FormSectionHeaderSize, FormSubmitEvent, FormValidationEvent, FormValueChangeEvent, FormattingLocaleConfig, GeneralExportConfig, GetSchemaParams, GlobalActionCatalogEntry, GlobalActionContext, GlobalActionField, GlobalActionFieldOption, GlobalActionFieldType, GlobalActionHandler, GlobalActionHandlerEntry, GlobalActionId, GlobalActionParam, GlobalActionResult, GlobalActionSpec, GlobalActionUiSchema, GlobalAiConfig, GlobalAiEmbeddingConfig, GlobalAiProvider, GlobalAnalyticsService, GlobalApiClient, GlobalCacheConfig, GlobalConfig, GlobalCrudActionDefaults, GlobalCrudConfig, GlobalCrudDefaults, GlobalDialogAction, GlobalDialogAnimation, GlobalDialogAriaRole, GlobalDialogConfig, GlobalDialogConfigEntry, GlobalDialogPosition, GlobalDialogService, GlobalDialogStyles, GlobalDynamicFieldsAsyncSelectConfig, GlobalDynamicFieldsCascadeConfig, GlobalDynamicFieldsConfig, GlobalI18nConfig, GlobalRouteGuardResolver, GlobalTableConfig, GlobalToastService, GridItemLayout, GridPageDefinition, GridPageDefinitionWithIds, GridWidgetInstance, HeroBadge, HeroBadgeTone, HeroBannerAppearance, HeroBannerVariant, HeroMetaItem, HookResolver, InlineFilterControlType, InlineMonthRangeMetadata, InlinePeriodRangeFiscalCalendar, InlinePeriodRangeGranularity, InlinePeriodRangeMetadata, InlinePeriodRangePreset, InlineRangeDistributionBin, InlineRangeDistributionConfig, InlineYearRangeMetadata, InteractionConfig, JsonExportConfig, KeyboardAccessibilityConfig, LazyLoadingConfig, LegacyTableConfig, LegalNoticeAppearance, LegalNoticeSeverity, LoadingConfig, LoadingContext, LoadingPhase$1 as LoadingPhase, LoadingScope, LoadingState, LoadingPhase as LoadingStatePhase, LocalizationConfig, LocateRequest, LoggerConfig, LoggerContext, LoggerEvent, LoggerLevel, LoggerLogOptions, LoggerNormalizedError, LoggerPIIConfig, LoggerSink, LoggerTelemetryPayload, LoggerThrottleConfig, MarginConfig, MaterialAutocompleteMetadata, MaterialButtonMetadata, MaterialButtonToggleMetadata, MaterialCheckboxMetadata, MaterialChipsMetadata, MaterialColorInputMetadata, MaterialColorPickerMetadata, MaterialCpfCnpjMetadata, MaterialCurrencyMetadata, MaterialDateInputMetadata, MaterialDateRangeMetadata, MaterialDatepickerMetadata, MaterialDatetimeLocalInputMetadata, MaterialDesignConfig, MaterialEmailInputMetadata, MaterialEmailMetadata, MaterialInputMetadata, MaterialMonthInputMetadata, MaterialMultiSelectTreeMetadata, MaterialNumericMetadata, MaterialPasswordMetadata, MaterialPhoneMetadata, MaterialPriceRangeMetadata, MaterialRadioMetadata, MaterialRangeSliderMetadata, MaterialRatingMetadata, MaterialSearchInputMetadata, MaterialSelectMetadata, MaterialSelectionListMetadata, MaterialSliderMetadata, MaterialTextareaMetadata, MaterialTimeInputMetadata, MaterialTimeRangeMetadata, MaterialTimeTrackShift, MaterialTimepickerMetadata, MaterialToggleMetadata, MaterialTransferListMetadata, MaterialTreeNode, MaterialTreeSelectMetadata, MaterialUrlInputMetadata, MaterialWeekInputMetadata, MaterialYearInputMetadata, MemoryConfig, MessageTemplate, MessagesConfig, NestedFieldsetLayout, NormalizedError, NumberLocaleConfig, ObservabilityAlert, ObservabilityAlertGroupBy, ObservabilityAlertRule, ObservabilityAlertSeverity, ObservabilityCountBucket, ObservabilityDashboardOptions, ObservabilityIngestInput, ObservabilityMetricsSnapshot, OptionDTO, OptionSourceMetadata, OptionSourceRequestOptions, OverlayDecider, OverlayDecision, OverlayDecisionContext, OverlayDecisionMatrix, OverlayPattern, OverlayRange, OverlayRule, OverlayRuleMatch, OverlayThresholds, Page, PageIdentity, PageableRequest, PaginationConfig, PartialFieldMetadata, PdfExportConfig, PerformanceConfig, PersistedPageConfig, PersistedWidgetInstance, PlainObject, PluginConfig, PollingConfig, PraxisAnalyticsOptions, PraxisAuthContext, PraxisGlobalActionsOptions, PraxisGlobalConfigBootstrapOptions, PraxisHttpLoadingOptions, PraxisI18nConfig, PraxisI18nDictionary, PraxisI18nMessageDescriptor, PraxisI18nNamespaceConfig, PraxisI18nNamespaceDictionary, PraxisI18nTranslator, PraxisLoadingRenderer, PraxisLocale, PraxisLoggingEnvironment, PraxisLoggingOptions, PraxisTextValue, PraxisToastOptions, PraxisTranslationParams, PriceRangeValue, RangeSliderInlineTexts, RangeSliderQuickPreset, RangeSliderQuickPresetLabels, RangeSliderValue, RenderingConfig, ResizingConfig, ResolvePresetOptions, ResponsiveConfig, RichTextAppearance, RichTextVariant, RowAction, RowActionsConfig, RulePropertyDefinition, RulePropertySchema, RulePropertyType, RunHooksResult, SchemaIdParams, SchemaMetaInfo, SchemaViewerContext, SelectionConfig, SerializableFieldMetadata, SettingsPanelBridge, SettingsPanelOpenContent, SettingsPanelOpenOptions, SettingsPanelRef, SettingsValueProvider, SortingConfig, SpacingConfig, StateMessagesConfig, SyncConfig, SyncResult, TableActionsConfig, TableAppearanceConfig, TableBehaviorConfig, TableConfig, TableConfigV2 as TableConfigModern, TableConfigState, TableConfigV2, TableExpansionConfig, TableLocalDataModeConfig, TelemetryEvent, TelemetryLoggerSinkOptions, TelemetryTransport, TextTransformApply, TextTransformName, ThemeConfig, ToolbarAction, ToolbarConfig, ToolbarFilterConfig, ToolbarLayoutConfig, ToolbarSettingsConfig, TypographyConfig, UserContextSource, UserContextSummaryAppearance, UserContextSummaryField, ValidationContext, ValidationError, ValidationMessagesConfig, ValidationResult, ValidationRule, ValidatorFunction, ValidatorOptions, ValueKind$1 as ValueKind, VirtualizationConfig, WidgetConnection, WidgetConnectionSource, WidgetConnectionTarget, WidgetDefinition, WidgetDerivedStateNode, WidgetInstance, WidgetPageDefinition, WidgetPageLayout, WidgetPageOrientation, WidgetPageStateDefinition, WidgetPageStateInput, WidgetPageStateRuntimeSnapshot, WidgetShellAction, WidgetShellActionEvent, WidgetShellActionPlacement, WidgetShellConfig, WidgetShellWindowActions, WidgetStateNode };
|
|
10845
|
+
export { API_CONFIG_STORAGE_OPTIONS, API_URL, ASYNC_CONFIG_STORAGE, AllowedFileTypes, ApiConfigStorage, ApiEndpoint, BUILTIN_PAGE_LAYOUT_PRESETS, BUILTIN_PAGE_THEME_PRESETS, BUILTIN_SHELL_PRESETS, CONFIG_STORAGE, CONNECTION_STORAGE, ComponentKeyService, ComponentMetadataRegistry, CompositionRuntimeFacade, ConnectionManagerService, ConsoleLoggerSink, DEFAULT_FIELD_SELECTOR_CONTROL_TYPE_MAP, DEFAULT_TABLE_CONFIG, DYNAMIC_PAGE_AI_CAPABILITIES, DYNAMIC_PAGE_COMPONENT_CONTEXT_PACK, DYNAMIC_PAGE_CONFIG_EDITOR, DYNAMIC_PAGE_SHELL_EDITOR, DefaultLoadingRenderer, DeferredAsyncConfigStorage, DynamicFormService, DynamicWidgetLoaderDirective, DynamicWidgetPageComponent, EDITORIAL_ALLOWED_CONTENT_FORMATS, EDITORIAL_COMPLIANCE_PRESETS, EDITORIAL_EXTERNAL_LINK_REL, EDITORIAL_FORM_TEMPLATE_CATALOG, EDITORIAL_HTML_ENABLED, EDITORIAL_MARKDOWN_IMAGES_ENABLED, EDITORIAL_SOLUTION_CATALOG, EDITORIAL_SOLUTION_PRESETS, EDITORIAL_THEME_PRESETS, EDITORIAL_WIDGET_CONVENTION_INPUTS, EDITORIAL_WIDGET_TAG, EMPLOYEE_ONBOARDING_EDITORIAL_SOLUTION, EMPLOYEE_ONBOARDING_EDITORIAL_TEMPLATE, EMPLOYEE_ONBOARDING_GUIDED_EDITORIAL_SOLUTION, EMPLOYEE_ONBOARDING_GUIDED_EDITORIAL_TEMPLATE, EVENT_REGISTRATION_EDITORIAL_SOLUTION, EVENT_REGISTRATION_EDITORIAL_TEMPLATE, EmptyStateCardComponent, ErrorMessageService, FIELD_METADATA_CAPABILITIES, FIELD_SELECTOR_REGISTRY_BASE, FIELD_SELECTOR_REGISTRY_DISABLE_DEFAULTS, FIELD_SELECTOR_REGISTRY_OVERRIDES, FORM_HOOKS, FORM_HOOKS_PRESETS, FORM_HOOKS_WHITELIST, FORM_HOOK_RESOLVERS, FieldControlType, FieldDataType, FieldSelectorRegistry, FormHooksRegistry, GLOBAL_ACTION_CATALOG$1 as GLOBAL_ACTION_CATALOG, GLOBAL_ACTION_HANDLERS, GLOBAL_ACTION_CATALOG as GLOBAL_ACTION_SPEC_CATALOG, GLOBAL_ACTION_UI_SCHEMAS, GLOBAL_ANALYTICS_SERVICE, GLOBAL_API_CLIENT, GLOBAL_CONFIG, GLOBAL_DIALOG_SERVICE, GLOBAL_ROUTE_GUARD_RESOLVER, GLOBAL_SURFACE_SERVICE, GLOBAL_TOAST_SERVICE, GenericCrudService, GlobalActionService, GlobalConfigService, INLINE_FILTER_ALIAS_TOKENS, INLINE_FILTER_CONTROL_TYPES, INLINE_FILTER_CONTROL_TYPE_SET, INLINE_FILTER_CONTROL_TYPE_VALUES, INLINE_FILTER_TOKEN_TO_BASE_CONTROL_TYPE, INLINE_FILTER_TOKEN_TO_CONTROL_TYPE, IconPickerService, IconPosition, IconSize, LOGGER_LEVEL_BY_ENV, LOGGER_LEVEL_PRIORITY, LoadingOrchestrator, LocalConnectionStorage, LocalStorageAsyncAdapter, LocalStorageCacheAdapter, LocalStorageConfigService, LoggerService, LoggerThrottleTracker, LoggerWarnOnceTracker, MemoryCacheAdapter, NumericFormat, OVERLAY_DECIDER_DEBUG, OVERLAY_DECISION_MATRIX, ObservabilityDashboardService, OverlayDeciderService, PRAXIS_CORPORATE_SENSITIVE_KEYS, PRAXIS_DEFAULT_OBSERVABILITY_ALERT_RULES, PRAXIS_DYNAMIC_PAGE_COMPONENT_METADATA, PRAXIS_FOOTER_LINKS_METADATA, PRAXIS_GLOBAL_ACTION_CATALOG, PRAXIS_GLOBAL_CONFIG_BOOTSTRAP_OPTIONS, PRAXIS_GLOBAL_CONFIG_BOOTSTRAP_READY, PRAXIS_GLOBAL_CONFIG_TENANT_RESOLVER, PRAXIS_HERO_BANNER_METADATA, PRAXIS_I18N_CONFIG, PRAXIS_I18N_TRANSLATOR, PRAXIS_LEGAL_NOTICE_METADATA, PRAXIS_LOADING_CTX, PRAXIS_LOADING_RENDERER, PRAXIS_LOGGER_CONFIG, PRAXIS_LOGGER_SINKS, PRAXIS_OBSERVABILITY_DASHBOARD_OPTIONS, PRAXIS_RICH_TEXT_BLOCK_METADATA, PRAXIS_TELEMETRY_TRANSPORT, PRAXIS_USER_CONTEXT_SUMMARY_METADATA, PRIVACY_CONSENT_EDITORIAL_SOLUTION, PRIVACY_CONSENT_EDITORIAL_TEMPLATE, PraxisCore, PraxisFooterLinksComponent, PraxisGlobalErrorHandler, PraxisHeroBannerComponent, PraxisI18nService, PraxisIconDirective, PraxisIconPickerComponent, PraxisLegalNoticeComponent, PraxisLoadingInterceptor, PraxisRichTextBlockComponent, PraxisSurfaceHostComponent, PraxisUserContextSummaryComponent, RULE_PROPERTY_SCHEMA, RemoteConfigStorage, ResourceQuickConnectComponent, SCHEMA_VIEWER_CONTEXT, SETTINGS_PANEL_BRIDGE, SETTINGS_PANEL_DATA, STEPPER_CONFIG_EDITOR, SURFACE_OPEN_I18N_CONFIG, SURFACE_OPEN_I18N_NAMESPACE, SURFACE_OPEN_PRESETS, SchemaMetadataClient, SchemaNormalizerService, SchemaViewerComponent, SurfaceBindingRuntimeService, SurfaceOpenActionEditorComponent, TABLE_CONFIG_EDITOR, TableConfigService, TelemetryLoggerSink, TelemetryService, ValidationPattern, WidgetPageStateRuntimeService, WidgetShellComponent, adaptWidgetConnectionToCompositionLink, adaptWidgetConnectionsToCompositionLinks, applyLocalCustomizations$1 as applyLocalCustomizations, applyLocalCustomizations as applyLocalFormCustomizations, buildAngularValidators, buildApiUrl, buildBaseColumnFromDef, buildBaseFormField, buildFormConfigFromEditorialTemplate, buildHeaders, buildPageKey, buildSchemaId, buildValidatorsFromValidatorOptions, cancelIfCpfInvalidHook, clampRange, cloneTableConfig, cnpjAlphaValidator, collapseWhitespace, composeHeadersWithVersion, conditionalAsyncValidator, convertFormLayoutToConfig, createCorporateLoggerConfig, createCorporateObservabilityOptions, createCpfCnpjValidator, createDefaultFormConfig, createDefaultTableConfig, createEmptyFormConfig, createPersistedPage, customAsyncValidatorFn, customValidatorFn, debounceAsyncValidator, deepMerge, ensureIds, ensureNoConflictsHookFactory, ensurePageIds, extractNormalizedError, fetchWithETag, fileTypeValidator, fillUndefined, generateId, getDefaultFormHints, getEditorialCompliancePresetById, getEditorialFormTemplateById, getEditorialFormTemplateCatalog, getEditorialSolutionById, getEditorialSolutionCatalog, getEditorialSolutionPresetById, getEditorialThemePresetById, getEssentialConfig, getFieldMetadataCapabilities, getGlobalActionCatalog, getGlobalActionUiSchema, getReferencedFieldMetadata, getTextTransformer, interpolatePraxisTranslation, isAllowedEditorialContentFormat, isAllowedEditorialHref, isCssTextTransform, isEditorialComponentMeta, isInlineFilterControlType, isRangeValidForFilter, isTableConfigV2, isValidFormConfig, isValidTableConfig, legacyCnpjValidator, legacyCpfValidator, logOnErrorHook, mapFieldDefinitionToMetadata, mapFieldDefinitionsToMetadata, matchFieldValidator, maxFileSizeValidator, mergeFieldMetadata, mergePraxisI18nConfigs, mergeTableConfigs, migrateFormLayoutRule, minWordsValidator, normalizeControlTypeKey, normalizeControlTypeToken, normalizeEditorialLink, normalizeEnd, normalizeFieldConstraints, normalizeFormConfig, normalizeFormMetadata, normalizePath, normalizePraxisDataQueryContext, normalizeStart, normalizeUnknownError, notifySuccessHook, parseJsonResponseOrEmpty, praxisLoadingInterceptorFn, prefillFromContextHook, provideDefaultFormHooks, provideFieldSelectorRegistryBase, provideFieldSelectorRegistryOverride, provideFieldSelectorRegistryRuntime, provideFormHookPresets, provideFormHooks, provideGlobalActionCatalog, provideGlobalActionHandler, provideGlobalConfig, provideGlobalConfigReady, provideGlobalConfigSeed, provideGlobalConfigTenant, provideHookResolvers, provideHookWhitelist, provideOverlayDecisionMatrix, providePraxisAnalyticsGlobalActions, providePraxisDynamicPageMetadata, providePraxisFooterLinksMetadata, providePraxisGlobalActionCatalog, providePraxisGlobalActions, providePraxisGlobalConfigBootstrap, providePraxisHeroBannerMetadata, providePraxisHttpLoading, providePraxisI18n, providePraxisI18nConfig, providePraxisI18nTranslator, providePraxisLegalNoticeMetadata, providePraxisLoadingDefaults, providePraxisLogging, providePraxisRichTextBlockMetadata, providePraxisToastGlobalActions, providePraxisUserContextSummaryMetadata, provideRemoteGlobalConfig, reconcileFilterConfig, reconcileFormConfig, reconcileTableConfig, removeDiacritics, reportTelemetryHookFactory, requiredCheckedValidator, resolveBuiltinPresets, resolveControlTypeAlias, resolveDefaultValuePresentationFormat, resolveHidden, resolveInlineFilterControlType, resolveInlineFilterControlTypeToBaseControlType, resolveLoggerConfig, resolveObservabilityOptions, resolveOffset, resolveOrder, resolvePraxisFilterCriteria, resolveSpan, resolveValuePresentation, resolveValuePresentationLocale, slugify, stripMasksHook, supportsImplicitValuePresentation, syncWithServerMetadata, toCamel, toCapitalize, toKebab, toPascal, toSentenceCase, toSnake, toTitleCase, trim, uniqueAsyncValidator, urlValidator, withMessage, withPraxisHttpLoading };
|
|
10846
|
+
export type { AccessibilityConfig, ActionDefinition, ActionMessagesConfig, AiCapability, AiCapabilityCatalog, AiCapabilityCategory, AiCapabilityCategoryMap, AiConcept, AiConceptPack, AiValueKind, AnimationConfig, AnnouncementConfig, ApiConfigStorageOptions, ApiUrlConfig, ApiUrlEntry, AsyncConfigStorage, BackConfig, BaseMaterialInputMetadata, BatchDeleteOptions, BatchDeleteProgress, BatchDeleteResult, BorderConfig, Breakpoint, BuiltValidators, BulkAction, BulkActionsConfig, CacheAdapter, CacheConfig, CacheEntry, Capability$1 as Capability, CapabilityCatalog$1 as CapabilityCatalog, CapabilityCategory$1 as CapabilityCategory, ColorConfig, ColumnAlign, ColumnDefinition, ColumnHidden, ColumnOffset, ColumnOrder, ColumnSpan, ComponentActionParam, ComponentContextAction, ComponentContextOption, ComponentContextOptionMode, ComponentContextOptionsByPathEntry, ComponentContextPack, ComponentDocMeta, ComponentEditorialResolveOptions, ComponentKeyParams, ComponentMergePatch, ComponentMetadata, ComponentMetadataEditorialBindingDescriptor, ComponentMetadataEditorialDescriptor, ComponentPortEndpointRef, CompositionLink, CompositionRuntimeFacadeOptions, ConfigMetadata, ConfigStorage, ConfirmationConfig, ConnectionConfigV1, ConnectionStorage, ContextAction, ContextActionsConfig, BackConfig as CoreBackConfig, CoreFieldMetadata, CrudOperationOptions, CsvExportConfig, CurrencyLocaleConfig, CursorPage, CursorRequest, CustomizationLog, DataConfig, DataTransformation, DataValidationConfig, DateRangePreset, DateRangeValue, DateTimeLocaleConfig, DebounceConfig, DeviceKind, DiagnosticPhase, DiagnosticRecord, DiagnosticSeverity, DiagnosticSource, DiagnosticSubjectKind, DiagnosticSubjectRef, DraggingConfig, Capability as DynamicPageCapability, CapabilityCatalog as DynamicPageCapabilityCatalog, CapabilityCategory as DynamicPageCapabilityCategory, ValueKind as DynamicPageValueKind, EditorialBlock, EditorialBlockBase, EditorialBlockKind, EditorialBlockOverride, EditorialBlockSurface, EditorialBlockTone, EditorialBlockVisibilityRule, EditorialCompliancePreset, EditorialComponentDocMeta, EditorialConnectorStyle, EditorialContentFormat, EditorialContextFieldContract, EditorialContextSummaryBlock, EditorialCustomWidgetBlock, EditorialDataCollectionBlock, EditorialDensity, EditorialFaqAccordionBlock, EditorialFaqItem, EditorialFormCompliancePreset, EditorialFormShellPreset, EditorialFormTemplate, EditorialFormTemplateBuildOptions, EditorialFormTemplateContextField, EditorialFormTemplateDefaults, EditorialFormTemplateLayoutPreset, EditorialFormTemplateMetadata, EditorialFormTemplateReference, EditorialHeroBlock, EditorialIconSpec, EditorialInfoCardItem, EditorialInfoCardsBlock, EditorialIntroHeroBlock, EditorialIntroHeroHighlightItem, EditorialJourney, EditorialJourneyOverride, EditorialJourneyStep, EditorialLayoutConfig, EditorialLayoutSpacing, EditorialLinkDefinition, EditorialLinkItem, EditorialMetaItem, EditorialMotionConfig, EditorialOrientation, EditorialPolicyItem, EditorialPolicyListBlock, EditorialPresentationShellVariant, EditorialPresentationalAction, EditorialPresentationalVisibilityRule, EditorialProblemType, EditorialResponsiveLayoutConfig, EditorialReviewField, EditorialReviewSection, EditorialReviewSectionField, EditorialReviewSectionsBlock, EditorialReviewSummaryBlock, EditorialRichTextBlock, EditorialSelectionCardItem, EditorialSelectionCardsBlock, EditorialShellVariant, EditorialSolutionDefinition, EditorialSolutionPreset, EditorialStepKind, EditorialStepVisualConfig, EditorialStepVisualVariant, EditorialStepperConfig, EditorialStepperVariant, EditorialSuccessPanelBlock, EditorialSurfaceVariant, EditorialTemplateInstance, EditorialTemplateInstanceOverrides, EditorialTemplateRef, EditorialTemplateSource, EditorialThemeBorderWidthTokens, EditorialThemeColorTokens, EditorialThemePreset, EditorialThemeRadiusTokens, EditorialThemeShadowTokens, EditorialThemeTokens, EditorialThemeTypographyTokens, EditorialTimelineStep, EditorialTimelineStepsBlock, EditorialWidgetAppearance, EditorialWidgetDefinition, EditorialWidgetInputs, EditorialWizardPresentation, ElevationConfig, EmptyAction, EmptyStateConfig, EndpointConfig, EndpointRef, EnhancedValidationConfig, ExcelExportConfig, ExcelStylingConfig, ExportConfig, ExportFormat, ExportMessagesConfig, ExportTemplate, FetchWithEtagParams, FetchWithEtagResult, FieldConflict, FieldDefinition, FieldMetadata, FieldModification, FieldOption, FieldSelectorRegistryMap, FieldsetLayout, FilterOptions, FilteringConfig, FooterLinksAppearance, FooterLinksLayout, FormActionButton, FormActionConfirmationEvent, FormActionsLayout, FormApiLayout, FormBehaviorLayout, FormColumn, FormConfig, FormConfigMetadata, FormConfigState, FormCustomActionEvent, FormEntityEvent, FormHook, FormHookContext, FormHookDeclaration, FormHookDeclarationLite, FormHookOutcome, FormHookPreset, FormHookPresetMatch, FormHookStage, FormHookStatus, FormHooksLayout, FormInitializationError, FormLayout, FormLayoutRule, FormMessagesLayout, FormMetadataLayout, FormModeHints, FormOpenMode, FormReadyEvent, FormRow, FormRowLayout, FormRuleTargetType, FormSection, FormSectionHeaderAction, FormSectionHeaderConfig, FormSectionHeaderEmptyState, FormSectionHeaderMode, FormSectionHeaderSize, FormSubmitEvent, FormValidationEvent, FormValueChangeEvent, FormattingLocaleConfig, GeneralExportConfig, GetSchemaParams, GlobalActionCatalogEntry, GlobalActionContext, GlobalActionField, GlobalActionFieldOption, GlobalActionFieldType, GlobalActionHandler, GlobalActionHandlerEntry, GlobalActionId, GlobalActionParam, GlobalActionResult, GlobalActionSpec, GlobalActionUiSchema, GlobalAiConfig, GlobalAiEmbeddingConfig, GlobalAiProvider, GlobalAnalyticsService, GlobalApiClient, GlobalCacheConfig, GlobalConfig, GlobalCrudActionDefaults, GlobalCrudConfig, GlobalCrudDefaults, GlobalDialogAction, GlobalDialogAnimation, GlobalDialogAriaRole, GlobalDialogConfig, GlobalDialogConfigEntry, GlobalDialogPosition, GlobalDialogService, GlobalDialogStyles, GlobalDynamicFieldsAsyncSelectConfig, GlobalDynamicFieldsCascadeConfig, GlobalDynamicFieldsConfig, GlobalI18nConfig, GlobalRouteGuardResolver, GlobalSurfaceService, GlobalTableConfig, GlobalToastService, HeroBadge, HeroBadgeTone, HeroBannerAppearance, HeroBannerVariant, HeroMetaItem, HookResolver, InlineFilterControlType, InlineMonthRangeMetadata, InlinePeriodRangeFiscalCalendar, InlinePeriodRangeGranularity, InlinePeriodRangeMetadata, InlinePeriodRangePreset, InlineRangeDistributionBin, InlineRangeDistributionConfig, InlineYearRangeMetadata, InteractionConfig, JsonExportConfig, KeyboardAccessibilityConfig, LazyLoadingConfig, LegacyTableConfig, LegalNoticeAppearance, LegalNoticeSeverity, LinkCondition, LinkConditionKind, LinkIntent, LinkMetadata, LinkPolicy, LoadingConfig, LoadingContext, LoadingPhase$1 as LoadingPhase, LoadingScope, LoadingState, LoadingPhase as LoadingStatePhase, LocalizationConfig, LocateRequest, LoggerConfig, LoggerContext, LoggerEvent, LoggerLevel, LoggerLogOptions, LoggerNormalizedError, LoggerPIIConfig, LoggerSink, LoggerTelemetryPayload, LoggerThrottleConfig, MarginConfig, MaterialAutocompleteMetadata, MaterialButtonMetadata, MaterialButtonToggleMetadata, MaterialCheckboxMetadata, MaterialChipsMetadata, MaterialColorInputMetadata, MaterialColorPickerMetadata, MaterialCpfCnpjMetadata, MaterialCurrencyMetadata, MaterialDateInputMetadata, MaterialDateRangeMetadata, MaterialDatepickerMetadata, MaterialDatetimeLocalInputMetadata, MaterialDesignConfig, MaterialEmailInputMetadata, MaterialEmailMetadata, MaterialInputMetadata, MaterialMonthInputMetadata, MaterialMultiSelectTreeMetadata, MaterialNumericMetadata, MaterialPasswordMetadata, MaterialPhoneMetadata, MaterialPriceRangeMetadata, MaterialRadioMetadata, MaterialRangeSliderMetadata, MaterialRatingMetadata, MaterialSearchInputMetadata, MaterialSelectMetadata, MaterialSelectionListMetadata, MaterialSliderMetadata, MaterialTextareaMetadata, MaterialTimeInputMetadata, MaterialTimeRangeMetadata, MaterialTimeTrackShift, MaterialTimepickerMetadata, MaterialToggleMetadata, MaterialTransferListMetadata, MaterialTreeNode, MaterialTreeSelectMetadata, MaterialUrlInputMetadata, MaterialWeekInputMetadata, MaterialYearInputMetadata, MemoryConfig, MessageTemplate, MessagesConfig, NestedFieldsetLayout, NormalizedError, NumberLocaleConfig, ObservabilityAlert, ObservabilityAlertGroupBy, ObservabilityAlertRule, ObservabilityAlertSeverity, ObservabilityCountBucket, ObservabilityDashboardOptions, ObservabilityIngestInput, ObservabilityMetricsSnapshot, OptionDTO, OptionSourceMetadata, OptionSourceRequestOptions, OverlayDecider, OverlayDecision, OverlayDecisionContext, OverlayDecisionMatrix, OverlayPattern, OverlayRange, OverlayRule, OverlayRuleMatch, OverlayThresholds, Page, PageIdentity, PageableRequest, PaginationConfig, PartialFieldMetadata, PdfExportConfig, PerformanceConfig, PersistedPageConfig, PersistedPageDefinitionWithIds, PersistedWidgetInstance, PlainObject, PluginConfig, PollingConfig, PortCardinality, PortCompatibilityRuleSet, PortContract, PortDirection, PortExposure, PortSchemaKind, PortSchemaMode, PortSchemaRef, PortSemanticKind, PraxisAnalyticsOptions, PraxisAuthContext, PraxisDataQueryContext, PraxisGlobalActionsOptions, PraxisGlobalConfigBootstrapOptions, PraxisHttpLoadingOptions, PraxisI18nConfig, PraxisI18nDictionary, PraxisI18nMessageDescriptor, PraxisI18nNamespaceConfig, PraxisI18nNamespaceDictionary, PraxisI18nTranslator, PraxisLoadingRenderer, PraxisLocale, PraxisLoggingEnvironment, PraxisLoggingOptions, PraxisTextValue, PraxisToastOptions, PraxisTranslationParams, PriceRangeValue, RangeSliderInlineTexts, RangeSliderQuickPreset, RangeSliderQuickPresetLabels, RangeSliderValue, RenderingConfig, ResizingConfig, ResolvePresetOptions, ResolvedComponentMetadataEditorialBinding, ResolvedComponentMetadataEditorialMeta, ResolvedValuePresentation, ResponsiveConfig, RichTextAppearance, RichTextVariant, RowAction, RowActionsConfig, RulePropertyDefinition, RulePropertySchema, RulePropertyType, RunHooksResult, RuntimeLinkSnapshot, RuntimeLinkStatus, RuntimePayloadSummary, RuntimeSnapshot, RuntimeSnapshotStatus, RuntimeStateSnapshot, RuntimeTraceEntry, RuntimeTracePhase, SchemaIdParams, SchemaMetaInfo, SchemaViewerContext, SelectionConfig, SerializableFieldMetadata, SettingsPanelBridge, SettingsPanelOpenContent, SettingsPanelOpenOptions, SettingsPanelRef, SettingsValueProvider, SortingConfig, SpacingConfig, StateEndpointRef, StateMessagesConfig, SurfaceBinding, SurfaceBindingMode, SurfaceOpenPayload, SurfaceOpenPreset, SurfacePresentation, SurfaceSizeConfig, SyncConfig, SyncResult, TableActionsConfig, TableAppearanceConfig, TableBehaviorConfig, TableConfig, TableConfigV2 as TableConfigModern, TableConfigState, TableConfigV2, TableExpansionConfig, TableLocalDataModeConfig, TelemetryEvent, TelemetryLoggerSinkOptions, TelemetryTransport, TextTransformApply, TextTransformName, ThemeConfig, ToolbarAction, ToolbarConfig, ToolbarFilterConfig, ToolbarLayoutConfig, ToolbarSettingsConfig, TransformBinding, TransformBindingSource, TransformCatalogCategory, TransformCatalogEntry, TransformKind, TransformLegacyReplacement, TransformOutputHint, TransformPhase, TransformPipeline, TransformSemanticKind, TransformStep, TransformStepCondition, TypographyConfig, UserContextSource, UserContextSummaryAppearance, UserContextSummaryField, ValidationContext, ValidationError, ValidationMessagesConfig, ValidationResult, ValidationRule, ValidatorFunction, ValidatorOptions, ValueKind$1 as ValueKind, ValuePresentationConfig, ValuePresentationResolutionContext, ValuePresentationStyle, ValuePresentationType, VirtualizationConfig, WidgetConnection, WidgetConnectionSource, WidgetConnectionTarget, WidgetDefinition, WidgetDerivedStateNode, WidgetEventEnvelope, WidgetEventPathSegment, WidgetInstance, WidgetPageCanvasCollisionPolicy, WidgetPageCanvasConstraints, WidgetPageCanvasItem, WidgetPageCanvasItemOverride, WidgetPageCanvasLayout, WidgetPageCanvasLayoutVariant, WidgetPageDefinition, WidgetPageDeviceKind, WidgetPageDeviceLayouts, WidgetPageDevicePolicy, WidgetPageGroupingDefinition, WidgetPageGroupingOverride, WidgetPageGroupingTabDefinition, WidgetPageLayout, WidgetPageLayoutPresetDefinition, WidgetPageLayoutVariant, WidgetPageOrientation, WidgetPageSlotAssignments, WidgetPageSlotDefinition, WidgetPageStateDefinition, WidgetPageStateInput, WidgetPageStateRuntimeSnapshot, WidgetPageThemePresetDefinition, WidgetPageWidgetLayoutOverride, WidgetPageWidgetSuggestion, WidgetResolutionDiagnostic, WidgetResolutionPhase, WidgetShellAction, WidgetShellActionEvent, WidgetShellActionPlacement, WidgetShellConfig, WidgetShellWindowActions, WidgetStateNode };
|