@praxisui/core 3.0.0-beta.0 → 3.0.0-beta.10
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 +24 -10
- package/fesm2022/praxisui-core.mjs +9989 -3375
- package/index.d.ts +1779 -486
- package/package.json +2 -3
- package/fesm2022/praxisui-core.mjs.map +0 -1
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';
|
|
@@ -76,256 +76,19 @@ interface LocateRequest {
|
|
|
76
76
|
sort?: string[];
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
* - Converte metadados `x-ui` em FieldDefinition tipado.
|
|
82
|
-
* - Todas as funções expostas são funções reais (nunca strings):
|
|
83
|
-
* - conditionalDisplay: () => boolean
|
|
84
|
-
* - conditionalRequired: () => boolean
|
|
85
|
-
* - transformValueFunction: (val: any) => any
|
|
86
|
-
* - Suporte completo a ValidatorOptions (sincronos e assíncronos),
|
|
87
|
-
* incluindo mensagens e comportamento de validação (gatilhos, debounce, exibição de erros).
|
|
88
|
-
*/
|
|
89
|
-
interface FieldDefinition {
|
|
90
|
-
name: string;
|
|
91
|
-
label?: string;
|
|
92
|
-
description?: string;
|
|
79
|
+
interface OptionSourceMetadata {
|
|
80
|
+
key: string;
|
|
93
81
|
type?: string;
|
|
94
|
-
controlType?: string;
|
|
95
|
-
mode?: string;
|
|
96
|
-
placeholder?: string;
|
|
97
|
-
defaultValue?: any;
|
|
98
|
-
group?: string;
|
|
99
|
-
order?: number;
|
|
100
|
-
width?: number | string;
|
|
101
|
-
isFlex?: boolean;
|
|
102
|
-
displayOrientation?: string;
|
|
103
|
-
selectionMode?: 'boolean' | 'single' | 'multiple';
|
|
104
|
-
variant?: string;
|
|
105
|
-
density?: 'compact' | 'comfortable' | 'spacious';
|
|
106
|
-
layout?: 'horizontal' | 'vertical';
|
|
107
|
-
disabled?: boolean;
|
|
108
|
-
readOnly?: boolean;
|
|
109
|
-
multiple?: boolean;
|
|
110
|
-
editable?: boolean;
|
|
111
|
-
validationMode?: string;
|
|
112
|
-
unique?: boolean;
|
|
113
|
-
mask?: string;
|
|
114
|
-
sortable?: boolean;
|
|
115
|
-
/** Função que define obrigatoriedade condicional. */
|
|
116
|
-
conditionalRequired?: () => boolean;
|
|
117
|
-
viewOnlyStyle?: string;
|
|
118
|
-
/** Lista de gatilhos de validação, ex.: ["blur", "change"]. */
|
|
119
|
-
validationTriggers?: string[];
|
|
120
|
-
hidden?: boolean;
|
|
121
|
-
tableHidden?: boolean;
|
|
122
|
-
formHidden?: boolean;
|
|
123
|
-
filterable?: boolean;
|
|
124
|
-
/** Função que controla se o campo é exibido. */
|
|
125
|
-
conditionalDisplay?: () => boolean;
|
|
126
|
-
dependentField?: string;
|
|
127
|
-
resetOnDependentChange?: boolean;
|
|
128
|
-
inlineEditing?: boolean;
|
|
129
|
-
/** Função de transformação de valor antes de salvar/exibir. */
|
|
130
|
-
transformValueFunction?: (val: any) => any;
|
|
131
|
-
debounceTime?: number;
|
|
132
|
-
helpText?: string;
|
|
133
|
-
hint?: string;
|
|
134
|
-
hiddenCondition?: any;
|
|
135
|
-
tooltipOnHover?: boolean;
|
|
136
|
-
icon?: string;
|
|
137
|
-
iconPosition?: string;
|
|
138
|
-
iconSize?: string | number;
|
|
139
|
-
iconColor?: string;
|
|
140
|
-
iconClass?: string;
|
|
141
|
-
iconStyle?: string;
|
|
142
|
-
iconFontSize?: string | number;
|
|
143
|
-
valueField?: string;
|
|
144
|
-
displayField?: string;
|
|
145
|
-
endpoint?: string;
|
|
146
82
|
resourcePath?: string;
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
maxSelections?: number;
|
|
157
|
-
optionLabelKey?: string;
|
|
158
|
-
optionValueKey?: string;
|
|
159
|
-
filterOptions?: any[];
|
|
160
|
-
numericFormat?: string;
|
|
161
|
-
numericStep?: number;
|
|
162
|
-
numericMin?: number;
|
|
163
|
-
numericMax?: number;
|
|
164
|
-
numericMaxLength?: number;
|
|
165
|
-
optionGroups?: {
|
|
166
|
-
key: string;
|
|
167
|
-
value: string;
|
|
168
|
-
}[];
|
|
169
|
-
disabledOptions?: string[];
|
|
170
|
-
buttons?: any[];
|
|
171
|
-
/** Obrigatório. */
|
|
172
|
-
required?: boolean;
|
|
173
|
-
requiredMessage?: string;
|
|
174
|
-
/** Tamanho mínimo/máximo (strings). */
|
|
175
|
-
minLength?: number;
|
|
176
|
-
minLengthMessage?: string;
|
|
177
|
-
maxLength?: number;
|
|
178
|
-
maxLengthMessage?: string;
|
|
179
|
-
/** Limites numéricos. */
|
|
180
|
-
min?: number;
|
|
181
|
-
max?: number;
|
|
182
|
-
/** Mensagens dedicadas para min/max numéricos. */
|
|
183
|
-
minMessage?: string;
|
|
184
|
-
maxMessage?: string;
|
|
185
|
-
/** Mensagem quando ambos limites (range) são aplicados. */
|
|
186
|
-
rangeMessage?: string;
|
|
187
|
-
/** Padrão (regex). Aceita pattern/regex. */
|
|
188
|
-
pattern?: string;
|
|
189
|
-
patternMessage?: string;
|
|
190
|
-
/** Validação de e-mail. */
|
|
191
|
-
email?: boolean;
|
|
192
|
-
emailMessage?: string;
|
|
193
|
-
/** Validação de URL. */
|
|
194
|
-
url?: boolean;
|
|
195
|
-
urlMessage?: string;
|
|
196
|
-
/** Requer que valor combine com outro campo. */
|
|
197
|
-
matchField?: string;
|
|
198
|
-
matchFieldMessage?: string;
|
|
199
|
-
/** Requer que o checkbox esteja marcado. */
|
|
200
|
-
requiredChecked?: boolean;
|
|
201
|
-
/** Tipos de arquivo permitidos e tamanho máximo. */
|
|
202
|
-
allowedFileTypes?: string[];
|
|
203
|
-
fileTypeMessage?: string;
|
|
204
|
-
maxFileSize?: number;
|
|
205
|
-
/** Validador customizado síncrono. */
|
|
206
|
-
customValidator?: (value: any, model?: any) => any;
|
|
207
|
-
/** Validador customizado assíncrono. */
|
|
208
|
-
asyncValidator?: (value: any, model?: any) => Promise<any>;
|
|
209
|
-
/** Validador de unicidade (ex.: consulta ao backend). */
|
|
210
|
-
uniqueValidator?: (value: any, model?: any) => boolean | Promise<boolean>;
|
|
211
|
-
uniqueMessage?: string;
|
|
212
|
-
/** Validação condicional baseada em outro(s) campos/estado. */
|
|
213
|
-
conditionalValidation?: (value: any, model?: any) => boolean | string | Promise<boolean | string>;
|
|
214
|
-
/** Mínimo de palavras (para textos longos). */
|
|
215
|
-
minWords?: number;
|
|
216
|
-
/** Gatilho(s) de validação (alias de validationTriggers). */
|
|
217
|
-
/** Tempo de debounce (ms) para executar validação. */
|
|
218
|
-
validationDebounce?: number;
|
|
219
|
-
/** Exibir erros inline no campo. */
|
|
220
|
-
showInlineErrors?: boolean;
|
|
221
|
-
/** Posição preferida da mensagem de erro (ex.: below, right). */
|
|
222
|
-
errorPosition?: string;
|
|
223
|
-
[key: string]: any;
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
declare enum ApiEndpoint {
|
|
227
|
-
Default = "default",
|
|
228
|
-
HumanResources = "humanResources",
|
|
229
|
-
UiWrappersTest = "uiWrappersTest"
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
interface ApiUrlEntry {
|
|
233
|
-
baseUrl?: string;
|
|
234
|
-
path?: string;
|
|
235
|
-
fullUrl?: string;
|
|
236
|
-
version?: string;
|
|
237
|
-
headers?: HttpHeaders | Record<string, string | string[]>;
|
|
238
|
-
}
|
|
239
|
-
interface ApiUrlConfig {
|
|
240
|
-
[key: string]: ApiUrlEntry;
|
|
241
|
-
}
|
|
242
|
-
declare const API_URL: InjectionToken<ApiUrlConfig>;
|
|
243
|
-
declare function buildApiUrl(entry: ApiUrlEntry): string;
|
|
244
|
-
declare function buildHeaders(entry: ApiUrlEntry): HttpHeaders | undefined;
|
|
245
|
-
|
|
246
|
-
/**
|
|
247
|
-
* SchemaNormalizerService
|
|
248
|
-
* -----------------------
|
|
249
|
-
* Serviço responsável por converter um esquema bruto (OpenAPI + x-ui) em uma
|
|
250
|
-
* lista tipada de FieldDefinition consumida pelo restante do sistema
|
|
251
|
-
* (mapeadores de metadata, criador de FormGroup, carregador de campos dinâmicos, etc.).
|
|
252
|
-
*
|
|
253
|
-
* Entrada esperada
|
|
254
|
-
* - Objeto JSON no formato OpenAPI/JSON Schema contendo:
|
|
255
|
-
* - properties: { [name: string]: { type, title, description, ... , 'x-ui': { ... } } }
|
|
256
|
-
* - Em cada propriedade, o objeto 'x-ui' define aspectos de UI/validação.
|
|
257
|
-
*
|
|
258
|
-
* Saída (FieldDefinition[])
|
|
259
|
-
* - Tipagem forte de campos com funções reais (nunca strings) para regras condicionais e validadores customizados.
|
|
260
|
-
* - Todas as propriedades de validação e comportamento consolidadas no mesmo objeto do campo.
|
|
261
|
-
*
|
|
262
|
-
* Segurança e observações
|
|
263
|
-
* - Este serviço aceita funções em formato string dentro do x-ui (ex.: uniqueValidator, conditionalValidation),
|
|
264
|
-
* e as converte via new Function. Isso exige backend confiável e controlado.
|
|
265
|
-
* Em ambientes não confiáveis, evite funções como string ou implemente um sandbox/whitelist.
|
|
266
|
-
* - Valores booleanos/numéricos são normalizados para tipos nativos.
|
|
267
|
-
* - Arrays de opções são convertidos para pares { key, value } previsíveis.
|
|
268
|
-
*
|
|
269
|
-
* Exemplo mínimo de entrada
|
|
270
|
-
* const schema = {
|
|
271
|
-
* properties: {
|
|
272
|
-
* email: {
|
|
273
|
-
* type: 'string',
|
|
274
|
-
* title: 'E-mail',
|
|
275
|
-
* 'x-ui': { controlType: 'input', type: 'string', required: true, email: true }
|
|
276
|
-
* }
|
|
277
|
-
* }
|
|
278
|
-
* };
|
|
279
|
-
* const fields = normalizer.normalizeSchema(schema);
|
|
280
|
-
* // fields: [{ name: 'email', label: 'E-mail', type: 'string', controlType: 'input', required: true, email: true }]
|
|
281
|
-
*/
|
|
282
|
-
declare class SchemaNormalizerService {
|
|
283
|
-
/** Convert value to boolean. Accepts boolean, string or number. */
|
|
284
|
-
private parseBoolean;
|
|
285
|
-
/** Ensure an array of strings from various inputs. */
|
|
286
|
-
private parseStringArray;
|
|
287
|
-
/** Parse option arrays into `{ key, value }` objects. */
|
|
288
|
-
private parseOptions;
|
|
289
|
-
/**
|
|
290
|
-
* Converte string/Function em função real.
|
|
291
|
-
* Atenção: usa `new Function` para avaliar strings – requer backend confiável.
|
|
292
|
-
*/
|
|
293
|
-
private parseFunction;
|
|
294
|
-
/** Parse a predicate function: () => boolean */
|
|
295
|
-
private parsePredicateFunction;
|
|
296
|
-
/** Parse a transform function: (val: any) => any */
|
|
297
|
-
private parseTransformFunction;
|
|
298
|
-
/**
|
|
299
|
-
* Parse de validador condicional: (value: any, model?: any) => boolean | string | Promise<boolean | string>
|
|
300
|
-
*/
|
|
301
|
-
private parseConditionalValidator;
|
|
302
|
-
/**
|
|
303
|
-
* Extrai e normaliza propriedades de validação a partir do objeto x-ui.
|
|
304
|
-
* Suporta: required, min/max, minLength/maxLength, pattern/regex, email, url,
|
|
305
|
-
* matchField, uniqueValidator (+message), conditionalValidation, requiredChecked,
|
|
306
|
-
* arquivos (allowedFileTypes, fileTypeMessage, maxFileSize), custom/async validators,
|
|
307
|
-
* minWords e comportamento (validationTrigger(s), validationDebounce, showInlineErrors, errorPosition).
|
|
308
|
-
*/
|
|
309
|
-
private parseValidators;
|
|
310
|
-
/** Parse array of button definitions. */
|
|
311
|
-
private parseButtons;
|
|
312
|
-
private resolveNonEmptyStringToken;
|
|
313
|
-
private isNumericSchemaType;
|
|
314
|
-
private resolveNumericFormatToken;
|
|
315
|
-
/**
|
|
316
|
-
* Converte o schema bruto do backend (OpenAPI + x-ui) em FieldDefinition[] tipado.
|
|
317
|
-
* Regras:
|
|
318
|
-
* - Ignora propriedades sem x-ui.
|
|
319
|
-
* - Garante ordenação por 'order' quando presente.
|
|
320
|
-
* - Funções condicionais/transformações sempre viram funções reais.
|
|
321
|
-
*
|
|
322
|
-
* @param schema Objeto OpenAPI/JSON Schema com properties e x-ui por propriedade.
|
|
323
|
-
* @returns FieldDefinition[] prontos para mapeamento/uso no restante do sistema.
|
|
324
|
-
*/
|
|
325
|
-
normalizeSchema(schema: any): FieldDefinition[];
|
|
326
|
-
private resolveFieldType;
|
|
327
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SchemaNormalizerService, never>;
|
|
328
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<SchemaNormalizerService>;
|
|
83
|
+
filterField?: string;
|
|
84
|
+
propertyPath?: string;
|
|
85
|
+
labelPropertyPath?: string;
|
|
86
|
+
valuePropertyPath?: string;
|
|
87
|
+
dependsOn?: string[];
|
|
88
|
+
excludeSelfField?: boolean;
|
|
89
|
+
searchMode?: string;
|
|
90
|
+
pageSize?: number;
|
|
91
|
+
includeIds?: boolean;
|
|
329
92
|
}
|
|
330
93
|
|
|
331
94
|
/**
|
|
@@ -2123,11 +1886,293 @@ interface TableConfigV2 {
|
|
|
2123
1886
|
*/
|
|
2124
1887
|
declare function isTableConfigV2(config: any): config is TableConfigV2;
|
|
2125
1888
|
|
|
2126
|
-
type
|
|
2127
|
-
|
|
2128
|
-
|
|
2129
|
-
|
|
2130
|
-
|
|
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;
|
|
2129
|
+
/**
|
|
2130
|
+
* Converte string/Function em função real.
|
|
2131
|
+
* Atenção: usa `new Function` para avaliar strings – requer backend confiável.
|
|
2132
|
+
*/
|
|
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>;
|
|
2169
|
+
}
|
|
2170
|
+
|
|
2171
|
+
type TableConfig = TableConfigV2;
|
|
2172
|
+
|
|
2173
|
+
/**
|
|
2174
|
+
* Cria uma configuração padrão para TableConfig
|
|
2175
|
+
*/
|
|
2131
2176
|
declare function createDefaultTableConfig(): TableConfig;
|
|
2132
2177
|
/**
|
|
2133
2178
|
* Valida se uma configuração TableConfig é válida
|
|
@@ -2466,6 +2511,11 @@ interface CrudOperationOptions {
|
|
|
2466
2511
|
endpointKey?: ApiEndpoint;
|
|
2467
2512
|
httpContext?: HttpContext;
|
|
2468
2513
|
}
|
|
2514
|
+
interface OptionSourceRequestOptions<ID = string | number> extends CrudOperationOptions {
|
|
2515
|
+
includeIds?: ID[];
|
|
2516
|
+
observeVersionHeader?: boolean;
|
|
2517
|
+
search?: string;
|
|
2518
|
+
}
|
|
2469
2519
|
interface BatchDeleteProgress<ID = string | number> {
|
|
2470
2520
|
id: ID;
|
|
2471
2521
|
success: boolean;
|
|
@@ -2505,6 +2555,7 @@ declare class GenericCrudService<T, ID extends string | number = string | number
|
|
|
2505
2555
|
private schemaNormalizer;
|
|
2506
2556
|
private globalConfig;
|
|
2507
2557
|
private static readonly ERROR_MESSAGES;
|
|
2558
|
+
private static readonly unavailableFilteredSchemaUrls;
|
|
2508
2559
|
private baseApiUrl;
|
|
2509
2560
|
private apiUrl;
|
|
2510
2561
|
private endpoints;
|
|
@@ -2587,6 +2638,7 @@ declare class GenericCrudService<T, ID extends string | number = string | number
|
|
|
2587
2638
|
* ```
|
|
2588
2639
|
*/
|
|
2589
2640
|
getSchema(options?: CrudOperationOptions): Observable<FieldDefinition[]>;
|
|
2641
|
+
private fetchDirectSchema;
|
|
2590
2642
|
/** Retorna o campo identificador do recurso (ex.: 'id', 'codigo'), quando derivado do schema. */
|
|
2591
2643
|
getResourceIdField(): string | undefined;
|
|
2592
2644
|
/** Retorna o último schemaId e hash conhecidos após getSchema()/getFilteredSchema(). */
|
|
@@ -2759,8 +2811,14 @@ declare class GenericCrudService<T, ID extends string | number = string | number
|
|
|
2759
2811
|
filterOptions(criteria: any, pageable: PageableRequest, opts: FilterOptions<ID> & CrudOperationOptions): Observable<Page<OptionDTO<ID>> & {
|
|
2760
2812
|
dataVersion?: string;
|
|
2761
2813
|
}>;
|
|
2814
|
+
/** OPTION SOURCES: POST /option-sources/{sourceKey}/options/filter */
|
|
2815
|
+
filterOptionSourceOptions(sourceKey: string, criteria: any, pageable: PageableRequest, opts?: OptionSourceRequestOptions<ID>): Observable<Page<OptionDTO<any>> & {
|
|
2816
|
+
dataVersion?: string;
|
|
2817
|
+
}>;
|
|
2762
2818
|
/** OPTIONS: GET /options/by-ids */
|
|
2763
2819
|
getOptionsByIds(ids: ID[], options?: CrudOperationOptions): Observable<OptionDTO<ID>[]>;
|
|
2820
|
+
/** OPTION SOURCES: GET /option-sources/{sourceKey}/options/by-ids */
|
|
2821
|
+
getOptionSourceOptionsByIds(sourceKey: string, ids: Array<string | number>, options?: CrudOperationOptions): Observable<OptionDTO<any>[]>;
|
|
2764
2822
|
/** CURSOR: POST /filter/cursor */
|
|
2765
2823
|
filterByCursor(criteria: any, cursorReq?: CursorRequest, options?: CrudOperationOptions): Observable<CursorPage<T>>;
|
|
2766
2824
|
/** LOCATE: POST /locate */
|
|
@@ -3128,6 +3186,8 @@ declare const API_CONFIG_STORAGE_OPTIONS: InjectionToken<ApiConfigStorageOptions
|
|
|
3128
3186
|
* HTTP-based storage that talks to praxis-config-starter user-config API.
|
|
3129
3187
|
*/
|
|
3130
3188
|
declare class ApiConfigStorage implements AsyncConfigStorage {
|
|
3189
|
+
private static readonly unavailableLoadBaseUrls;
|
|
3190
|
+
private static readonly loadAvailabilityProbes;
|
|
3131
3191
|
private readonly http;
|
|
3132
3192
|
private readonly opts;
|
|
3133
3193
|
private readonly baseUrl;
|
|
@@ -3136,7 +3196,11 @@ declare class ApiConfigStorage implements AsyncConfigStorage {
|
|
|
3136
3196
|
private readonly componentTypeResolver;
|
|
3137
3197
|
private readonly cache;
|
|
3138
3198
|
constructor();
|
|
3199
|
+
private shouldLogLoadError;
|
|
3200
|
+
private shouldLogSaveError;
|
|
3201
|
+
private shouldLogClearError;
|
|
3139
3202
|
loadConfig<T>(key: string): Observable<T | null>;
|
|
3203
|
+
private executeLoadConfigRequest;
|
|
3140
3204
|
saveConfig<T>(key: string, config: T): Observable<void>;
|
|
3141
3205
|
private shouldPropagateSaveError;
|
|
3142
3206
|
private shouldPropagateClearError;
|
|
@@ -3166,6 +3230,14 @@ type GlobalActionContext = {
|
|
|
3166
3230
|
payload?: any;
|
|
3167
3231
|
pageContext?: Record<string, any> | null;
|
|
3168
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
|
+
};
|
|
3169
3241
|
};
|
|
3170
3242
|
type GlobalActionHandler = (payload?: any, context?: GlobalActionContext) => Promise<GlobalActionResult> | GlobalActionResult;
|
|
3171
3243
|
interface GlobalActionHandlerEntry {
|
|
@@ -3221,10 +3293,12 @@ declare class GlobalActionService {
|
|
|
3221
3293
|
private readonly registry;
|
|
3222
3294
|
private readonly globalConfig;
|
|
3223
3295
|
private readonly dialog;
|
|
3296
|
+
private readonly surface;
|
|
3224
3297
|
private readonly toast;
|
|
3225
3298
|
private readonly analytics;
|
|
3226
3299
|
private readonly api;
|
|
3227
3300
|
private readonly guardResolver;
|
|
3301
|
+
private readonly surfaceBindingRuntime;
|
|
3228
3302
|
constructor();
|
|
3229
3303
|
register(id: string, handler: GlobalActionHandler): void;
|
|
3230
3304
|
has(id: string): boolean;
|
|
@@ -3236,6 +3310,69 @@ declare class GlobalActionService {
|
|
|
3236
3310
|
static ɵprov: i0.ɵɵInjectableDeclaration<GlobalActionService>;
|
|
3237
3311
|
}
|
|
3238
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
|
+
|
|
3239
3376
|
interface ConnectionConfigV1 {
|
|
3240
3377
|
resourcePath: string;
|
|
3241
3378
|
version: 1;
|
|
@@ -3404,6 +3541,9 @@ declare const FieldControlType: {
|
|
|
3404
3541
|
readonly INLINE_MULTISELECT: "inlineMultiSelect";
|
|
3405
3542
|
readonly INLINE_TOGGLE: "inlineToggle";
|
|
3406
3543
|
readonly INLINE_RANGE: "inlineRange";
|
|
3544
|
+
readonly INLINE_PERIOD_RANGE: "inlinePeriodRange";
|
|
3545
|
+
readonly INLINE_YEAR_RANGE: "inlineYearRange";
|
|
3546
|
+
readonly INLINE_MONTH_RANGE: "inlineMonthRange";
|
|
3407
3547
|
readonly INLINE_DATE: "inlineDate";
|
|
3408
3548
|
readonly INLINE_DATE_RANGE: "inlineDateRange";
|
|
3409
3549
|
readonly INLINE_TIME: "inlineTime";
|
|
@@ -3766,6 +3906,10 @@ interface FieldMetadata extends ComponentMetadata {
|
|
|
3766
3906
|
options?: FieldOption[];
|
|
3767
3907
|
/** API endpoint for dynamic data loading */
|
|
3768
3908
|
endpoint?: string;
|
|
3909
|
+
/** Canonical backend resource path for metadata-driven requests */
|
|
3910
|
+
resourcePath?: string;
|
|
3911
|
+
/** Canonical metadata-driven source for derived options */
|
|
3912
|
+
optionSource?: OptionSourceMetadata;
|
|
3769
3913
|
/** Field name for option values */
|
|
3770
3914
|
valueField?: string;
|
|
3771
3915
|
/** Field name for option display text */
|
|
@@ -3793,6 +3937,14 @@ interface FieldMetadata extends ComponentMetadata {
|
|
|
3793
3937
|
mask?: string;
|
|
3794
3938
|
/** Format for display values */
|
|
3795
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;
|
|
3796
3948
|
/** Material Design specific configuration */
|
|
3797
3949
|
materialDesign?: MaterialDesignConfig;
|
|
3798
3950
|
/** Fields this field depends on */
|
|
@@ -4561,6 +4713,15 @@ interface MaterialNumericMetadata extends BaseMaterialInputMetadata {
|
|
|
4561
4713
|
startMaxOffsetMessage?: string;
|
|
4562
4714
|
/** Step increment for number controls */
|
|
4563
4715
|
step?: number;
|
|
4716
|
+
/**
|
|
4717
|
+
* Inline visual style hint for compact numeric renderers.
|
|
4718
|
+
*
|
|
4719
|
+
* - `compact`: keeps the standard pill-like inline renderer
|
|
4720
|
+
* - `graphic`: enables richer graphic affordances when the runtime supports them
|
|
4721
|
+
*
|
|
4722
|
+
* The default runtime behavior should remain compact unless explicitly overridden.
|
|
4723
|
+
*/
|
|
4724
|
+
inlineVisualStyle?: 'compact' | 'graphic';
|
|
4564
4725
|
/** Number formatting options */
|
|
4565
4726
|
numberFormat?: {
|
|
4566
4727
|
/** Decimal places to display */
|
|
@@ -5161,6 +5322,91 @@ interface MaterialRangeSliderMetadata extends FieldMetadata {
|
|
|
5161
5322
|
distanceMessage?: string;
|
|
5162
5323
|
};
|
|
5163
5324
|
}
|
|
5325
|
+
/**
|
|
5326
|
+
* Generic granular period range contract for corporate analytics filters.
|
|
5327
|
+
*
|
|
5328
|
+
* It keeps the compact inline filter semantics while allowing the runtime to
|
|
5329
|
+
* render monthly competence, quarter, year and fiscal periods from a single
|
|
5330
|
+
* canonical metadata shape.
|
|
5331
|
+
*/
|
|
5332
|
+
type InlinePeriodRangeGranularity = 'day' | 'week' | 'month' | 'quarter' | 'semester' | 'year' | 'fiscal-quarter' | 'fiscal-year';
|
|
5333
|
+
interface InlinePeriodRangePreset {
|
|
5334
|
+
id: string;
|
|
5335
|
+
label: string;
|
|
5336
|
+
start: string;
|
|
5337
|
+
end: string;
|
|
5338
|
+
}
|
|
5339
|
+
interface InlinePeriodRangeFiscalCalendar {
|
|
5340
|
+
startMonth: number;
|
|
5341
|
+
yearLabel?: string;
|
|
5342
|
+
}
|
|
5343
|
+
interface InlinePeriodRangeMetadata extends Omit<MaterialRangeSliderMetadata, 'controlType' | 'min' | 'max'> {
|
|
5344
|
+
controlType: typeof FieldControlType.INLINE_PERIOD_RANGE;
|
|
5345
|
+
granularity: InlinePeriodRangeGranularity;
|
|
5346
|
+
valueFormat?: 'iso-date' | 'year-month' | 'year-quarter' | 'year-semester' | 'fiscal-period' | 'year';
|
|
5347
|
+
min?: string;
|
|
5348
|
+
max?: string;
|
|
5349
|
+
locale?: string;
|
|
5350
|
+
displayFormat?: string;
|
|
5351
|
+
chipFormat?: string;
|
|
5352
|
+
quickPresets?: InlinePeriodRangePreset[];
|
|
5353
|
+
fiscalCalendar?: InlinePeriodRangeFiscalCalendar;
|
|
5354
|
+
monthLabels?: string[];
|
|
5355
|
+
quarterLabels?: string[];
|
|
5356
|
+
quickPresetsLabels?: {
|
|
5357
|
+
full?: string;
|
|
5358
|
+
current?: string;
|
|
5359
|
+
previous?: string;
|
|
5360
|
+
recent?: string;
|
|
5361
|
+
q1?: string;
|
|
5362
|
+
q2?: string;
|
|
5363
|
+
q3?: string;
|
|
5364
|
+
q4?: string;
|
|
5365
|
+
firstHalf?: string;
|
|
5366
|
+
secondHalf?: string;
|
|
5367
|
+
fiscalCurrent?: string;
|
|
5368
|
+
fiscalPrevious?: string;
|
|
5369
|
+
};
|
|
5370
|
+
}
|
|
5371
|
+
/**
|
|
5372
|
+
* Metadata for compact inline year range controls.
|
|
5373
|
+
*
|
|
5374
|
+
* Keeps the same value contract as `InlinePeriodRangeMetadata`, but adds a
|
|
5375
|
+
* dedicated control type for fiscal/analytics scenarios that need year-aware
|
|
5376
|
+
* labels and presets.
|
|
5377
|
+
*/
|
|
5378
|
+
interface InlineYearRangeMetadata extends Omit<InlinePeriodRangeMetadata, 'controlType' | 'granularity'> {
|
|
5379
|
+
controlType: typeof FieldControlType.INLINE_YEAR_RANGE;
|
|
5380
|
+
granularity?: 'year';
|
|
5381
|
+
displayFormat?: 'year' | 'compact-year-range';
|
|
5382
|
+
quickPresetsLabels?: {
|
|
5383
|
+
full?: string;
|
|
5384
|
+
current?: string;
|
|
5385
|
+
previous?: string;
|
|
5386
|
+
recent?: string;
|
|
5387
|
+
};
|
|
5388
|
+
}
|
|
5389
|
+
/**
|
|
5390
|
+
* Metadata for compact inline month range controls.
|
|
5391
|
+
*
|
|
5392
|
+
* Uses the same range semantics as the generic period range,
|
|
5393
|
+
* but renders localized month labels and quarter/semester shortcuts.
|
|
5394
|
+
*/
|
|
5395
|
+
interface InlineMonthRangeMetadata extends Omit<InlinePeriodRangeMetadata, 'controlType' | 'granularity'> {
|
|
5396
|
+
controlType: typeof FieldControlType.INLINE_MONTH_RANGE;
|
|
5397
|
+
granularity?: 'month';
|
|
5398
|
+
displayFormat?: 'month' | 'month-short-range';
|
|
5399
|
+
monthLabels?: string[];
|
|
5400
|
+
quickPresetsLabels?: {
|
|
5401
|
+
full?: string;
|
|
5402
|
+
q1?: string;
|
|
5403
|
+
q2?: string;
|
|
5404
|
+
q3?: string;
|
|
5405
|
+
q4?: string;
|
|
5406
|
+
firstHalf?: string;
|
|
5407
|
+
secondHalf?: string;
|
|
5408
|
+
};
|
|
5409
|
+
}
|
|
5164
5410
|
/**
|
|
5165
5411
|
* Specialized metadata for Material Button components.
|
|
5166
5412
|
*
|
|
@@ -5444,6 +5690,7 @@ interface MaterialPasswordMetadata extends BaseMaterialInputMetadata {
|
|
|
5444
5690
|
hideLabel?: string;
|
|
5445
5691
|
iconShow?: string;
|
|
5446
5692
|
iconHide?: string;
|
|
5693
|
+
tooltip?: string;
|
|
5447
5694
|
ariaLabel?: string;
|
|
5448
5695
|
};
|
|
5449
5696
|
}
|
|
@@ -5896,6 +6143,46 @@ declare class ErrorMessageService {
|
|
|
5896
6143
|
static ɵprov: i0.ɵɵInjectableDeclaration<ErrorMessageService>;
|
|
5897
6144
|
}
|
|
5898
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
|
+
|
|
5899
6186
|
/**
|
|
5900
6187
|
* Documentation metadata for dynamically added components.
|
|
5901
6188
|
*
|
|
@@ -5980,6 +6267,8 @@ interface ComponentDocMeta {
|
|
|
5980
6267
|
example?: any;
|
|
5981
6268
|
};
|
|
5982
6269
|
}>;
|
|
6270
|
+
/** Optional canonical semantic ports that complement legacy inputs/outputs metadata. */
|
|
6271
|
+
ports?: PortContract[];
|
|
5983
6272
|
/** Tags or categories for search */
|
|
5984
6273
|
tags?: string[];
|
|
5985
6274
|
/** Source library for the component */
|
|
@@ -5995,6 +6284,107 @@ interface ComponentDocMeta {
|
|
|
5995
6284
|
};
|
|
5996
6285
|
}
|
|
5997
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
|
+
|
|
5998
6388
|
/**
|
|
5999
6389
|
* Simple in-memory registry of component documentation metadata.
|
|
6000
6390
|
*
|
|
@@ -6002,21 +6392,46 @@ interface ComponentDocMeta {
|
|
|
6002
6392
|
* visual builders or configurators can discover them.
|
|
6003
6393
|
*/
|
|
6004
6394
|
declare class ComponentMetadataRegistry {
|
|
6395
|
+
private readonly i18n;
|
|
6396
|
+
constructor(i18n?: PraxisI18nService | null);
|
|
6005
6397
|
private readonly metadataMap;
|
|
6398
|
+
private readonly rawMetadataMap;
|
|
6399
|
+
private readonly editorialMetadataMap;
|
|
6400
|
+
private readonly editorialControlTypeIndex;
|
|
6401
|
+
private readonly legacyControlTypeIndex;
|
|
6006
6402
|
private readonly componentTypeAliases;
|
|
6007
6403
|
/** Register a component metadata entry. */
|
|
6008
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;
|
|
6009
6407
|
/** Retrieve metadata by its unique id. */
|
|
6010
6408
|
get(id: string): ComponentDocMeta | undefined;
|
|
6409
|
+
/** Retrieve an editorial descriptor by its id or controlType. */
|
|
6410
|
+
getEditorial(idOrControlType: string): ComponentMetadataEditorialDescriptor | undefined;
|
|
6011
6411
|
/** List all registered metadata entries. */
|
|
6012
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;
|
|
6013
6419
|
/**
|
|
6014
6420
|
* Ensure friendly labels/descriptions for common inputs/outputs when missing.
|
|
6015
6421
|
* This helps diagrams/builders present consistent naming across components.
|
|
6016
6422
|
*/
|
|
6017
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;
|
|
6018
6433
|
private normalizeComponentType;
|
|
6019
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ComponentMetadataRegistry,
|
|
6434
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ComponentMetadataRegistry, [{ optional: true; }]>;
|
|
6020
6435
|
static ɵprov: i0.ɵɵInjectableDeclaration<ComponentMetadataRegistry>;
|
|
6021
6436
|
}
|
|
6022
6437
|
|
|
@@ -6523,35 +6938,6 @@ declare function provideGlobalConfigSeed(seed: Partial<GlobalConfig>): Provider;
|
|
|
6523
6938
|
declare function provideRemoteGlobalConfig(url: string): Provider;
|
|
6524
6939
|
declare function providePraxisGlobalConfigBootstrap(options?: PraxisGlobalConfigBootstrapOptions): Provider[];
|
|
6525
6940
|
|
|
6526
|
-
type PraxisLocale = string;
|
|
6527
|
-
interface PraxisTranslationParams {
|
|
6528
|
-
[key: string]: string | number | boolean | null | undefined;
|
|
6529
|
-
}
|
|
6530
|
-
interface PraxisI18nMessageDescriptor {
|
|
6531
|
-
key?: string;
|
|
6532
|
-
text?: string;
|
|
6533
|
-
params?: PraxisTranslationParams;
|
|
6534
|
-
}
|
|
6535
|
-
type PraxisTextValue = string | PraxisI18nMessageDescriptor;
|
|
6536
|
-
interface PraxisI18nDictionary {
|
|
6537
|
-
[key: string]: string;
|
|
6538
|
-
}
|
|
6539
|
-
interface PraxisI18nNamespaceDictionary {
|
|
6540
|
-
[locale: string]: PraxisI18nDictionary;
|
|
6541
|
-
}
|
|
6542
|
-
interface PraxisI18nNamespaceConfig {
|
|
6543
|
-
[namespace: string]: PraxisI18nNamespaceDictionary;
|
|
6544
|
-
}
|
|
6545
|
-
interface PraxisI18nConfig {
|
|
6546
|
-
locale?: PraxisLocale;
|
|
6547
|
-
fallbackLocale?: PraxisLocale;
|
|
6548
|
-
dictionaries?: Record<PraxisLocale, PraxisI18nDictionary>;
|
|
6549
|
-
namespaces?: PraxisI18nNamespaceConfig;
|
|
6550
|
-
}
|
|
6551
|
-
interface PraxisI18nTranslator {
|
|
6552
|
-
translate(key: string, params?: PraxisTranslationParams, fallback?: string): string;
|
|
6553
|
-
}
|
|
6554
|
-
|
|
6555
6941
|
declare const PRAXIS_I18N_CONFIG: InjectionToken<Partial<PraxisI18nConfig>>;
|
|
6556
6942
|
declare const PRAXIS_I18N_TRANSLATOR: InjectionToken<PraxisI18nTranslator>;
|
|
6557
6943
|
|
|
@@ -6598,7 +6984,12 @@ declare function getGlobalActionCatalog(catalog: ReadonlyArray<GlobalActionCatal
|
|
|
6598
6984
|
declare const PRAXIS_GLOBAL_ACTION_CATALOG: GlobalActionCatalogEntry[];
|
|
6599
6985
|
declare function providePraxisGlobalActionCatalog(): Provider[];
|
|
6600
6986
|
|
|
6601
|
-
|
|
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';
|
|
6602
6993
|
type GlobalActionParam = {
|
|
6603
6994
|
required?: boolean;
|
|
6604
6995
|
label?: string;
|
|
@@ -6614,9 +7005,13 @@ interface GlobalActionSpec {
|
|
|
6614
7005
|
}
|
|
6615
7006
|
declare const GLOBAL_ACTION_CATALOG: GlobalActionSpec[];
|
|
6616
7007
|
|
|
7008
|
+
declare const SURFACE_OPEN_I18N_NAMESPACE = "surfaceOpen";
|
|
7009
|
+
declare const SURFACE_OPEN_I18N_CONFIG: Partial<PraxisI18nConfig>;
|
|
7010
|
+
|
|
6617
7011
|
interface SettingsPanelRef<T = any> {
|
|
6618
7012
|
applied$: Observable<T>;
|
|
6619
7013
|
saved$: Observable<T>;
|
|
7014
|
+
closed$?: Observable<any>;
|
|
6620
7015
|
}
|
|
6621
7016
|
interface SettingsPanelOpenContent<TInputs = any> {
|
|
6622
7017
|
component: Type<any>;
|
|
@@ -6625,6 +7020,7 @@ interface SettingsPanelOpenContent<TInputs = any> {
|
|
|
6625
7020
|
interface SettingsPanelOpenOptions<TInputs = any> {
|
|
6626
7021
|
id: string;
|
|
6627
7022
|
title: string;
|
|
7023
|
+
titleIcon?: string;
|
|
6628
7024
|
content: SettingsPanelOpenContent<TInputs>;
|
|
6629
7025
|
}
|
|
6630
7026
|
interface SettingsPanelBridge {
|
|
@@ -6648,30 +7044,222 @@ declare const DYNAMIC_PAGE_CONFIG_EDITOR: InjectionToken<Type<any>>;
|
|
|
6648
7044
|
|
|
6649
7045
|
declare const PRAXIS_LOADING_CTX: HttpContextToken<LoadingContext | null>;
|
|
6650
7046
|
|
|
6651
|
-
declare class PraxisI18nService {
|
|
6652
|
-
private readonly configs;
|
|
6653
|
-
private readonly translator;
|
|
6654
|
-
private readonly globalConfig;
|
|
6655
|
-
private readonly bootstrapOptions;
|
|
6656
|
-
constructor(configs: Array<Partial<PraxisI18nConfig>> | Partial<PraxisI18nConfig> | null, translator: PraxisI18nTranslator | null);
|
|
6657
|
-
getLocale(): string;
|
|
6658
|
-
getFallbackLocale(): string;
|
|
6659
|
-
t(key: string, params?: PraxisTranslationParams, fallback?: string, namespace?: string): string;
|
|
6660
|
-
resolve(message: PraxisTextValue | null | undefined, fallback?: string, namespace?: string): string;
|
|
6661
|
-
formatDate(value: Date | string | number, options?: Intl.DateTimeFormatOptions): string;
|
|
6662
|
-
formatNumber(value: number, options?: Intl.NumberFormatOptions): string;
|
|
6663
|
-
formatCurrency(value: number, currency: string, options?: Intl.NumberFormatOptions): string;
|
|
6664
|
-
private getConfig;
|
|
6665
|
-
private lookup;
|
|
6666
|
-
private translateExternally;
|
|
6667
|
-
private stringifyInvalidValue;
|
|
6668
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisI18nService, [{ optional: true; }, { optional: true; }]>;
|
|
6669
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<PraxisI18nService>;
|
|
6670
|
-
}
|
|
6671
|
-
|
|
6672
7047
|
declare function interpolatePraxisTranslation(template: string, params?: PraxisTranslationParams): string;
|
|
6673
7048
|
declare function mergePraxisI18nConfigs(...configs: Array<Partial<PraxisI18nConfig> | null | undefined>): PraxisI18nConfig;
|
|
6674
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' | 'persisted-composition-link' | '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
|
+
|
|
6675
7263
|
interface MaterialTimeTrackShift {
|
|
6676
7264
|
id?: string;
|
|
6677
7265
|
label?: string;
|
|
@@ -6784,26 +7372,6 @@ interface FormHooksLayout {
|
|
|
6784
7372
|
onError?: FormHookDeclarationLite[];
|
|
6785
7373
|
}
|
|
6786
7374
|
|
|
6787
|
-
type ActionDefinition = {
|
|
6788
|
-
/** Global action id to execute (e.g., 'navigation.back', 'dialog.alert'). */
|
|
6789
|
-
type?: string;
|
|
6790
|
-
/** Optional payload template for the action. */
|
|
6791
|
-
params?: Record<string, any>;
|
|
6792
|
-
};
|
|
6793
|
-
interface WidgetDefinition {
|
|
6794
|
-
/** Component id registered in ComponentMetadataRegistry */
|
|
6795
|
-
id: string;
|
|
6796
|
-
/** Inputs to bind into the component instance */
|
|
6797
|
-
inputs?: Record<string, any>;
|
|
6798
|
-
/** Map of component output name to action (global action or 'emit'). */
|
|
6799
|
-
outputs?: Record<string, ActionDefinition | 'emit'>;
|
|
6800
|
-
/**
|
|
6801
|
-
* Optional explicit order for applying inputs. Keys listed here are applied first
|
|
6802
|
-
* (in order) with change detection flush between each, then remaining inputs are applied.
|
|
6803
|
-
*/
|
|
6804
|
-
bindingOrder?: string[];
|
|
6805
|
-
}
|
|
6806
|
-
|
|
6807
7375
|
interface Specification<T extends object = any> {
|
|
6808
7376
|
isSatisfiedBy(obj: T): boolean;
|
|
6809
7377
|
}
|
|
@@ -7196,10 +7764,40 @@ interface FormSection {
|
|
|
7196
7764
|
headerAlign?: 'start' | 'center';
|
|
7197
7765
|
/** Optional tooltip for the section header */
|
|
7198
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[];
|
|
7199
7772
|
rows: FormRow[];
|
|
7200
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
|
+
}
|
|
7201
7798
|
type FormSectionHeaderMode = 'icon' | 'avatar-image' | 'avatar-initials' | 'auto';
|
|
7202
7799
|
type FormSectionHeaderEmptyState = 'fallback-icon' | 'placeholder-avatar' | 'none';
|
|
7800
|
+
type FormSectionHeaderSize = 'sm' | 'md' | 'lg';
|
|
7203
7801
|
interface FormSectionHeaderConfig {
|
|
7204
7802
|
/**
|
|
7205
7803
|
* Selects how the header visual should be resolved.
|
|
@@ -7237,6 +7835,11 @@ interface FormSectionHeaderConfig {
|
|
|
7237
7835
|
* Defaults to a neutral placeholder avatar when omitted.
|
|
7238
7836
|
*/
|
|
7239
7837
|
emptyState?: FormSectionHeaderEmptyState;
|
|
7838
|
+
/**
|
|
7839
|
+
* Semantic avatar size resolved by the runtime.
|
|
7840
|
+
* Defaults to `md` when omitted and can be overridden globally by theme tokens.
|
|
7841
|
+
*/
|
|
7842
|
+
size?: FormSectionHeaderSize;
|
|
7240
7843
|
/**
|
|
7241
7844
|
* Maximum number of initials rendered for textual avatars.
|
|
7242
7845
|
* Values are normalized to the range 1..4.
|
|
@@ -7475,7 +8078,8 @@ interface FormCustomActionEvent {
|
|
|
7475
8078
|
actionId: string;
|
|
7476
8079
|
formData: any;
|
|
7477
8080
|
isValid: boolean;
|
|
7478
|
-
source: 'button' | 'shortcut';
|
|
8081
|
+
source: 'button' | 'shortcut' | 'section-header';
|
|
8082
|
+
sectionId?: string;
|
|
7479
8083
|
}
|
|
7480
8084
|
interface FormActionConfirmationEvent {
|
|
7481
8085
|
actionId: 'submit' | 'cancel' | 'reset' | string;
|
|
@@ -8078,45 +8682,292 @@ interface WidgetShellActionEvent {
|
|
|
8078
8682
|
action?: WidgetShellAction;
|
|
8079
8683
|
}
|
|
8080
8684
|
|
|
8081
|
-
interface
|
|
8082
|
-
|
|
8685
|
+
interface WidgetInstance {
|
|
8686
|
+
key: string;
|
|
8687
|
+
definition: WidgetDefinition;
|
|
8688
|
+
/** Optional CSS classes or layout hints */
|
|
8689
|
+
className?: string;
|
|
8690
|
+
/** Optional shell config for standardized widget framing. */
|
|
8691
|
+
shell?: WidgetShellConfig;
|
|
8692
|
+
}
|
|
8693
|
+
type WidgetConnectionSource = {
|
|
8694
|
+
widget: string;
|
|
8695
|
+
output: string;
|
|
8696
|
+
} | {
|
|
8697
|
+
state: string;
|
|
8698
|
+
};
|
|
8699
|
+
type WidgetConnectionTarget = {
|
|
8700
|
+
widget: string;
|
|
8701
|
+
input: string;
|
|
8702
|
+
bindingOrder?: string[];
|
|
8703
|
+
} | {
|
|
8704
|
+
state: string;
|
|
8705
|
+
};
|
|
8706
|
+
interface WidgetConnection {
|
|
8707
|
+
from: WidgetConnectionSource;
|
|
8708
|
+
to: WidgetConnectionTarget;
|
|
8709
|
+
/** Dot-path to extract from event object (e.g., 'payload.row.id'). Defaults to 'payload'. */
|
|
8710
|
+
map?: string;
|
|
8711
|
+
/** Constant value override (when provided, map is ignored). */
|
|
8712
|
+
set?: any;
|
|
8713
|
+
/** Optional metadata for runtime operators (beta). */
|
|
8714
|
+
meta?: {
|
|
8715
|
+
/** Expression to filter events (safe, controlled) */
|
|
8716
|
+
filterExpr?: string;
|
|
8717
|
+
/** Debounce time in milliseconds */
|
|
8718
|
+
debounceMs?: number;
|
|
8719
|
+
/** Only emit when value changes */
|
|
8720
|
+
distinct?: boolean;
|
|
8721
|
+
/** Optional key path for distinct comparison (e.g., 'payload.id') */
|
|
8722
|
+
distinctBy?: string;
|
|
8723
|
+
};
|
|
8724
|
+
}
|
|
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
|
+
}
|
|
8770
|
+
interface WidgetStateNode {
|
|
8771
|
+
/** Optional semantic type for tooling and validation. */
|
|
8772
|
+
type?: string;
|
|
8773
|
+
/** Optional initial value used when state.values omits the path. */
|
|
8774
|
+
initial?: any;
|
|
8775
|
+
/** Whether this primary state path should be persisted with the page. */
|
|
8776
|
+
persist?: boolean;
|
|
8777
|
+
/** How widget/state writes should combine with the current value. */
|
|
8778
|
+
mergeStrategy?: 'replace' | 'merge' | 'append' | 'remove-keys';
|
|
8779
|
+
/** Optional human-readable description for builder/AI surfaces. */
|
|
8780
|
+
description?: string;
|
|
8781
|
+
/** Optional tags for search and governance. */
|
|
8782
|
+
tags?: string[];
|
|
8783
|
+
}
|
|
8784
|
+
interface WidgetDerivedStateNode {
|
|
8785
|
+
/** State paths that feed this derived node. */
|
|
8786
|
+
dependsOn: string[];
|
|
8787
|
+
/** Placeholder descriptor for future derived-state runtime phases. */
|
|
8788
|
+
compute: {
|
|
8789
|
+
kind: 'expr';
|
|
8790
|
+
expression: string;
|
|
8791
|
+
} | {
|
|
8792
|
+
kind: 'template';
|
|
8793
|
+
value: any;
|
|
8794
|
+
} | {
|
|
8795
|
+
kind: 'operator';
|
|
8796
|
+
operator: string;
|
|
8797
|
+
options?: Record<string, any>;
|
|
8798
|
+
} | {
|
|
8799
|
+
kind: 'transformer';
|
|
8800
|
+
transformerId: string;
|
|
8801
|
+
options?: Record<string, any>;
|
|
8802
|
+
};
|
|
8803
|
+
/** Optional description for editors and AI catalogs. */
|
|
8804
|
+
description?: string;
|
|
8805
|
+
/** Whether future runtimes may cache the derived value. */
|
|
8806
|
+
cache?: boolean;
|
|
8807
|
+
}
|
|
8808
|
+
interface WidgetPageStateDefinition {
|
|
8809
|
+
/** Primary mutable values written by widgets, defaults or host-provided updates. */
|
|
8810
|
+
values?: Record<string, any>;
|
|
8811
|
+
/** Optional descriptors for primary state paths. */
|
|
8812
|
+
schema?: Record<string, WidgetStateNode>;
|
|
8813
|
+
/** Optional descriptors for derived state paths. */
|
|
8814
|
+
derived?: Record<string, WidgetDerivedStateNode>;
|
|
8815
|
+
}
|
|
8816
|
+
/** Legacy shorthand accepted for backwards compatibility. */
|
|
8817
|
+
type WidgetPageStateInput = Record<string, any> | WidgetPageStateDefinition;
|
|
8818
|
+
interface WidgetPageLayout {
|
|
8819
|
+
/** Layout orientation for widget grid. */
|
|
8820
|
+
orientation?: WidgetPageOrientation;
|
|
8821
|
+
/** Column count when using columns orientation. */
|
|
8822
|
+
columns?: number;
|
|
8823
|
+
/** CSS gap value for grid spacing (e.g., '16px'). */
|
|
8824
|
+
gap?: string;
|
|
8825
|
+
/** Optional responsive columns by breakpoint (sm/md/lg/xl). */
|
|
8826
|
+
breakpoints?: {
|
|
8827
|
+
sm?: number;
|
|
8828
|
+
md?: number;
|
|
8829
|
+
lg?: number;
|
|
8830
|
+
xl?: number;
|
|
8831
|
+
};
|
|
8832
|
+
}
|
|
8833
|
+
interface WidgetPageCanvasConstraints {
|
|
8834
|
+
minColSpan?: number;
|
|
8835
|
+
minRowSpan?: number;
|
|
8836
|
+
maxColSpan?: number;
|
|
8837
|
+
maxRowSpan?: number;
|
|
8838
|
+
lockPosition?: boolean;
|
|
8839
|
+
lockSize?: boolean;
|
|
8840
|
+
}
|
|
8841
|
+
interface WidgetPageCanvasItem {
|
|
8083
8842
|
col: number;
|
|
8084
|
-
/** number of columns to span */
|
|
8085
|
-
colSpan: number;
|
|
8086
|
-
/** 1-based row start */
|
|
8087
8843
|
row: number;
|
|
8088
|
-
|
|
8844
|
+
colSpan: number;
|
|
8089
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;
|
|
8090
8867
|
}
|
|
8091
|
-
interface
|
|
8092
|
-
|
|
8093
|
-
|
|
8094
|
-
|
|
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 {
|
|
8095
8877
|
className?: string;
|
|
8096
|
-
|
|
8878
|
+
span?: number;
|
|
8879
|
+
order?: number;
|
|
8880
|
+
hidden?: boolean;
|
|
8097
8881
|
}
|
|
8098
|
-
interface
|
|
8099
|
-
|
|
8100
|
-
|
|
8101
|
-
|
|
8102
|
-
|
|
8103
|
-
|
|
8104
|
-
|
|
8105
|
-
|
|
8106
|
-
|
|
8107
|
-
|
|
8108
|
-
|
|
8109
|
-
|
|
8110
|
-
|
|
8111
|
-
|
|
8112
|
-
|
|
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>;
|
|
8920
|
+
}
|
|
8921
|
+
interface WidgetPageDeviceLayouts {
|
|
8922
|
+
desktop?: WidgetPageLayoutVariant;
|
|
8923
|
+
tablet?: WidgetPageLayoutVariant;
|
|
8924
|
+
mobile?: WidgetPageLayoutVariant;
|
|
8925
|
+
}
|
|
8926
|
+
/**
|
|
8927
|
+
* Canonical persisted composition surface for page wiring.
|
|
8928
|
+
* During the current migration window this coexists with legacy `connections`,
|
|
8929
|
+
* but new persisted shapes should target `composition.links`.
|
|
8930
|
+
*/
|
|
8931
|
+
interface WidgetPageCompositionDefinition {
|
|
8932
|
+
links?: CompositionLink[];
|
|
8933
|
+
}
|
|
8934
|
+
/**
|
|
8935
|
+
* Canonical slot occupancy for preset-driven pages.
|
|
8936
|
+
* Maps widget keys to semantic slot ids from the active layout preset.
|
|
8937
|
+
*/
|
|
8938
|
+
type WidgetPageSlotAssignments = Record<string, string>;
|
|
8939
|
+
interface WidgetPageDefinition {
|
|
8940
|
+
widgets: WidgetInstance[];
|
|
8941
|
+
/**
|
|
8942
|
+
* Legacy persisted connection surface accepted only during the migration window.
|
|
8943
|
+
* Canonical saved wiring should move to `composition.links`.
|
|
8944
|
+
*/
|
|
8945
|
+
connections?: WidgetConnection[];
|
|
8946
|
+
/**
|
|
8947
|
+
* Canonical persisted composition surface.
|
|
8948
|
+
* `composition.links` is the target saved shape for `CompositionLink[]`.
|
|
8949
|
+
*/
|
|
8950
|
+
composition?: WidgetPageCompositionDefinition;
|
|
8951
|
+
/** Optional declarative page state shared across widgets and connections */
|
|
8952
|
+
state?: WidgetPageStateInput;
|
|
8953
|
+
/** Optional page-wide context available to all widgets */
|
|
8113
8954
|
context?: Record<string, any>;
|
|
8114
|
-
/**
|
|
8115
|
-
|
|
8116
|
-
|
|
8117
|
-
|
|
8118
|
-
|
|
8119
|
-
|
|
8955
|
+
/** Optional layout configuration for the widget grid */
|
|
8956
|
+
layout?: WidgetPageLayout;
|
|
8957
|
+
/** Optional canonical spatial canvas rendered over CSS Grid. */
|
|
8958
|
+
canvas?: WidgetPageCanvasLayout;
|
|
8959
|
+
/** Optional canonical preset id that describes the structural intent of the page. */
|
|
8960
|
+
layoutPreset?: string;
|
|
8961
|
+
/** Optional preset-specific options consumed by builders and future runtimes. */
|
|
8962
|
+
layoutPresetOptions?: Record<string, any>;
|
|
8963
|
+
/** Optional semantic grouping model for sections, tabs, hero areas and rails. */
|
|
8964
|
+
grouping?: WidgetPageGroupingDefinition[];
|
|
8965
|
+
/** Optional canonical semantic slot occupancy for preset-driven pages. */
|
|
8966
|
+
slotAssignments?: WidgetPageSlotAssignments;
|
|
8967
|
+
/** Optional device-specific layout variants. */
|
|
8968
|
+
deviceLayouts?: WidgetPageDeviceLayouts;
|
|
8969
|
+
/** Optional theme preset id for shell/chart/density defaults. */
|
|
8970
|
+
themePreset?: string;
|
|
8120
8971
|
}
|
|
8121
8972
|
|
|
8122
8973
|
/**
|
|
@@ -8138,14 +8989,14 @@ interface PageIdentity {
|
|
|
8138
8989
|
* Minimal persisted widget instance record with a stable unique id.
|
|
8139
8990
|
* The `key` continues to serve as logical name within the page.
|
|
8140
8991
|
*/
|
|
8141
|
-
interface PersistedWidgetInstance extends
|
|
8992
|
+
interface PersistedWidgetInstance extends WidgetInstance {
|
|
8142
8993
|
/** Stable unique id for the widget instance (uuid) */
|
|
8143
8994
|
id: string;
|
|
8144
8995
|
}
|
|
8145
8996
|
/**
|
|
8146
8997
|
* Page definition with widget-level ids added. Use for persistence payloads.
|
|
8147
8998
|
*/
|
|
8148
|
-
interface
|
|
8999
|
+
interface PersistedPageDefinitionWithIds extends Omit<WidgetPageDefinition, 'widgets'> {
|
|
8149
9000
|
widgets: PersistedWidgetInstance[];
|
|
8150
9001
|
}
|
|
8151
9002
|
/**
|
|
@@ -8168,7 +9019,7 @@ interface PersistedPageConfig {
|
|
|
8168
9019
|
/** Lifecycle status */
|
|
8169
9020
|
status: 'draft' | 'published' | 'archived';
|
|
8170
9021
|
/** Actual page structure with widget ids */
|
|
8171
|
-
page:
|
|
9022
|
+
page: PersistedPageDefinitionWithIds;
|
|
8172
9023
|
/** Audit */
|
|
8173
9024
|
owner?: string;
|
|
8174
9025
|
createdAt: string;
|
|
@@ -8184,15 +9035,15 @@ declare function buildPageKey(identity: PageIdentity): string;
|
|
|
8184
9035
|
* Ensure that each widget has a stable id. If missing, assigns a new one.
|
|
8185
9036
|
* Returns the new page definition (immutable) and an index by key/id.
|
|
8186
9037
|
*/
|
|
8187
|
-
declare function ensurePageIds(page:
|
|
8188
|
-
page:
|
|
9038
|
+
declare function ensurePageIds(page: WidgetPageDefinition): {
|
|
9039
|
+
page: PersistedPageDefinitionWithIds;
|
|
8189
9040
|
byKey: Map<string, PersistedWidgetInstance>;
|
|
8190
9041
|
byId: Map<string, PersistedWidgetInstance>;
|
|
8191
9042
|
};
|
|
8192
9043
|
/**
|
|
8193
9044
|
* Create a persisted page record from an in-memory page definition and identity.
|
|
8194
9045
|
*/
|
|
8195
|
-
declare function createPersistedPage(identity: PageIdentity, page:
|
|
9046
|
+
declare function createPersistedPage(identity: PageIdentity, page: WidgetPageDefinition, opts?: {
|
|
8196
9047
|
id?: string;
|
|
8197
9048
|
title?: string;
|
|
8198
9049
|
description?: string;
|
|
@@ -8222,6 +9073,19 @@ interface BackConfig {
|
|
|
8222
9073
|
confirmOnDirty?: boolean;
|
|
8223
9074
|
}
|
|
8224
9075
|
|
|
9076
|
+
interface PraxisDataQueryContext {
|
|
9077
|
+
filters?: Record<string, unknown> | null;
|
|
9078
|
+
sort?: string[] | null;
|
|
9079
|
+
limit?: number | null;
|
|
9080
|
+
page?: {
|
|
9081
|
+
index?: number | null;
|
|
9082
|
+
size?: number | null;
|
|
9083
|
+
} | null;
|
|
9084
|
+
meta?: Record<string, unknown> | null;
|
|
9085
|
+
}
|
|
9086
|
+
declare function normalizePraxisDataQueryContext(context?: PraxisDataQueryContext | null): PraxisDataQueryContext | null;
|
|
9087
|
+
declare function resolvePraxisFilterCriteria(filterCriteria?: Record<string, unknown> | null, queryContext?: PraxisDataQueryContext | null): Record<string, unknown>;
|
|
9088
|
+
|
|
8225
9089
|
type LoadingPhase = 'config' | 'schema' | 'render' | 'data' | 'idle';
|
|
8226
9090
|
type LoadingStatus = 'loading' | 'success' | 'error';
|
|
8227
9091
|
interface LoadingState {
|
|
@@ -8513,6 +9377,9 @@ declare const INLINE_FILTER_CONTROL_TYPES: Readonly<{
|
|
|
8513
9377
|
readonly INPUT: "inlineInput";
|
|
8514
9378
|
readonly TOGGLE: "inlineToggle";
|
|
8515
9379
|
readonly RANGE: "inlineRange";
|
|
9380
|
+
readonly PERIOD_RANGE: "inlinePeriodRange";
|
|
9381
|
+
readonly YEAR_RANGE: "inlineYearRange";
|
|
9382
|
+
readonly MONTH_RANGE: "inlineMonthRange";
|
|
8516
9383
|
readonly DATE: "inlineDate";
|
|
8517
9384
|
readonly DATE_RANGE: "inlineDateRange";
|
|
8518
9385
|
readonly TIME: "inlineTime";
|
|
@@ -8557,10 +9424,83 @@ interface GlobalActionUiSchema {
|
|
|
8557
9424
|
id: GlobalActionId;
|
|
8558
9425
|
label: string;
|
|
8559
9426
|
fields: GlobalActionField[];
|
|
9427
|
+
editorMode?: 'default' | 'surface-open';
|
|
8560
9428
|
}
|
|
8561
9429
|
declare const GLOBAL_ACTION_UI_SCHEMAS: GlobalActionUiSchema[];
|
|
8562
9430
|
declare function getGlobalActionUiSchema(id: string | undefined): GlobalActionUiSchema | undefined;
|
|
8563
9431
|
|
|
9432
|
+
interface SurfaceOpenPreset {
|
|
9433
|
+
id: string;
|
|
9434
|
+
label: string;
|
|
9435
|
+
description: string;
|
|
9436
|
+
payload: SurfaceOpenPayload;
|
|
9437
|
+
}
|
|
9438
|
+
declare const SURFACE_OPEN_PRESETS: SurfaceOpenPreset[];
|
|
9439
|
+
|
|
9440
|
+
type SurfaceSizeField = keyof NonNullable<SurfaceOpenPayload['size']>;
|
|
9441
|
+
declare class SurfaceOpenActionEditorComponent implements OnChanges {
|
|
9442
|
+
value?: SurfaceOpenPayload | null;
|
|
9443
|
+
hostKind?: string | null;
|
|
9444
|
+
valueChange: EventEmitter<SurfaceOpenPayload>;
|
|
9445
|
+
draft: SurfaceOpenPayload;
|
|
9446
|
+
inputJsonDrafts: Record<string, string>;
|
|
9447
|
+
inputErrors: Record<string, string>;
|
|
9448
|
+
contextDraft: string;
|
|
9449
|
+
contextError: string;
|
|
9450
|
+
private readonly registry;
|
|
9451
|
+
private readonly i18n;
|
|
9452
|
+
private static nextInstanceId;
|
|
9453
|
+
private readonly instanceId;
|
|
9454
|
+
readonly sourceSuggestionsListId: string;
|
|
9455
|
+
readonly targetSuggestionsListId: string;
|
|
9456
|
+
get availablePresets(): SurfaceOpenPreset[];
|
|
9457
|
+
get componentOptions(): ComponentDocMeta[];
|
|
9458
|
+
get selectedComponentMeta(): ComponentDocMeta | undefined;
|
|
9459
|
+
get selectedInputs(): NonNullable<ComponentDocMeta['inputs']>;
|
|
9460
|
+
get bindingOrderText(): string;
|
|
9461
|
+
get bindingSourceSuggestions(): string[];
|
|
9462
|
+
get bindingTargetSuggestions(): string[];
|
|
9463
|
+
get bindingSourceSuggestionsPreview(): string;
|
|
9464
|
+
get bindingTargetSuggestionsPreview(): string;
|
|
9465
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
9466
|
+
updatePresentation(value: SurfaceOpenPayload['presentation']): void;
|
|
9467
|
+
updateTextField(field: 'title' | 'subtitle' | 'icon', value: string): void;
|
|
9468
|
+
updateSizeField(field: SurfaceSizeField, value: string): void;
|
|
9469
|
+
updateWidgetId(componentId: string): void;
|
|
9470
|
+
updateBindingOrder(value: string): void;
|
|
9471
|
+
applyPreset(preset: SurfaceOpenPreset): void;
|
|
9472
|
+
isBooleanType(type?: string): boolean;
|
|
9473
|
+
isNumberType(type?: string): boolean;
|
|
9474
|
+
isJsonType(type?: string): boolean;
|
|
9475
|
+
getBooleanInputValue(name: string): boolean;
|
|
9476
|
+
getScalarInputValue(name: string): any;
|
|
9477
|
+
getJsonInputDraft(name: string): string;
|
|
9478
|
+
scalarPlaceholder(input: NonNullable<ComponentDocMeta['inputs']>[number]): string;
|
|
9479
|
+
jsonPlaceholder(input: NonNullable<ComponentDocMeta['inputs']>[number]): string;
|
|
9480
|
+
updateBooleanInput(name: string, value: boolean): void;
|
|
9481
|
+
updateScalarInput(name: string, type: string, value: any): void;
|
|
9482
|
+
updateJsonInput(name: string, value: string): void;
|
|
9483
|
+
addBinding(): void;
|
|
9484
|
+
updateBinding(index: number, field: keyof SurfaceBinding, value: any): void;
|
|
9485
|
+
removeBinding(index: number): void;
|
|
9486
|
+
updateContext(value: string): void;
|
|
9487
|
+
presetLabel(preset: SurfaceOpenPreset): string;
|
|
9488
|
+
presetDescription(preset: SurfaceOpenPreset): string;
|
|
9489
|
+
t(key: string, fallback: string, params?: Record<string, string | number | boolean | null | undefined>): string;
|
|
9490
|
+
private refreshJsonDrafts;
|
|
9491
|
+
private emitDraft;
|
|
9492
|
+
private ensureWidgetInputs;
|
|
9493
|
+
private reconcileInputsForComponent;
|
|
9494
|
+
private assignTextField;
|
|
9495
|
+
private normalizePayload;
|
|
9496
|
+
private createDefaultPayload;
|
|
9497
|
+
private stringifyJson;
|
|
9498
|
+
private clone;
|
|
9499
|
+
private uniqueStrings;
|
|
9500
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SurfaceOpenActionEditorComponent, never>;
|
|
9501
|
+
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>;
|
|
9502
|
+
}
|
|
9503
|
+
|
|
8564
9504
|
type AiValueKind = 'boolean' | 'string' | 'number' | 'enum' | 'expression' | 'object' | 'array';
|
|
8565
9505
|
interface AiCapabilityCategoryMap {
|
|
8566
9506
|
identity: true;
|
|
@@ -8732,6 +9672,31 @@ interface ComponentMergePatch<TConfig extends Record<string, unknown> = Record<s
|
|
|
8732
9672
|
|
|
8733
9673
|
declare const DYNAMIC_PAGE_COMPONENT_CONTEXT_PACK: ComponentContextPack;
|
|
8734
9674
|
|
|
9675
|
+
interface WidgetEventPathSegment {
|
|
9676
|
+
kind: 'tabs' | 'tab' | 'nav' | 'link' | 'expansion' | 'panel' | 'stepper' | 'step' | 'slot' | 'group';
|
|
9677
|
+
id?: string;
|
|
9678
|
+
index?: number;
|
|
9679
|
+
}
|
|
9680
|
+
interface WidgetEventEnvelope {
|
|
9681
|
+
/** Optional top-level page widget key that owns the event tree. */
|
|
9682
|
+
ownerWidgetKey?: string;
|
|
9683
|
+
/** Registered component id of the emitting widget/component instance. */
|
|
9684
|
+
sourceComponentId: string;
|
|
9685
|
+
/** Optional author-defined key for nested widget instances inside a container/composite. */
|
|
9686
|
+
sourceChildWidgetKey?: string;
|
|
9687
|
+
output?: string;
|
|
9688
|
+
payload?: any;
|
|
9689
|
+
path?: WidgetEventPathSegment[];
|
|
9690
|
+
}
|
|
9691
|
+
type WidgetResolutionPhase = 'ready' | 'metadata-missing' | 'create-error' | 'validation-error' | 'bind-error';
|
|
9692
|
+
interface WidgetResolutionDiagnostic {
|
|
9693
|
+
componentId?: string;
|
|
9694
|
+
childWidgetKey?: string;
|
|
9695
|
+
phase: WidgetResolutionPhase;
|
|
9696
|
+
message?: string;
|
|
9697
|
+
error?: unknown;
|
|
9698
|
+
}
|
|
9699
|
+
|
|
8735
9700
|
type EditorialContentFormat = 'plain' | 'markdown';
|
|
8736
9701
|
interface EditorialLinkDefinition {
|
|
8737
9702
|
label: string;
|
|
@@ -8925,16 +9890,14 @@ declare class DynamicWidgetLoaderDirective implements OnInit, OnChanges, OnDestr
|
|
|
8925
9890
|
private readonly vcRef;
|
|
8926
9891
|
private readonly registry;
|
|
8927
9892
|
widget?: WidgetDefinition | string;
|
|
9893
|
+
ownerWidgetKey?: string | null;
|
|
8928
9894
|
context?: Record<string, any> | null;
|
|
8929
9895
|
/** When true, invalid inputs/outputs cause errors; otherwise only warnings. */
|
|
8930
9896
|
strictValidation: boolean;
|
|
8931
9897
|
/** 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. */
|
|
8932
9898
|
autoWireOutputs: boolean;
|
|
8933
|
-
widgetEvent: EventEmitter<
|
|
8934
|
-
|
|
8935
|
-
output?: string;
|
|
8936
|
-
payload?: any;
|
|
8937
|
-
}>;
|
|
9899
|
+
widgetEvent: EventEmitter<WidgetEventEnvelope>;
|
|
9900
|
+
widgetDiagnostic: EventEmitter<WidgetResolutionDiagnostic>;
|
|
8938
9901
|
private compRef?;
|
|
8939
9902
|
private currentId?;
|
|
8940
9903
|
private outputSubs;
|
|
@@ -8950,11 +9913,13 @@ declare class DynamicWidgetLoaderDirective implements OnInit, OnChanges, OnDestr
|
|
|
8950
9913
|
private bindInputs;
|
|
8951
9914
|
private bindOutputs;
|
|
8952
9915
|
private resolveValue;
|
|
9916
|
+
private get widgetDefinition();
|
|
9917
|
+
private emitDiagnostic;
|
|
8953
9918
|
private lookup;
|
|
8954
9919
|
private validateAgainstMetadata;
|
|
8955
9920
|
private coercePrimitive;
|
|
8956
9921
|
static ɵfac: i0.ɵɵFactoryDeclaration<DynamicWidgetLoaderDirective, never>;
|
|
8957
|
-
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>;
|
|
9922
|
+
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>;
|
|
8958
9923
|
}
|
|
8959
9924
|
|
|
8960
9925
|
type ActionList = WidgetShellAction[];
|
|
@@ -8963,7 +9928,11 @@ declare const BUILTIN_SHELL_PRESETS: Record<string, NonNullable<Appearance>>;
|
|
|
8963
9928
|
declare class WidgetShellComponent implements OnChanges {
|
|
8964
9929
|
shell?: WidgetShellConfig | null;
|
|
8965
9930
|
context?: Record<string, any> | null;
|
|
9931
|
+
dragSurfaceEnabled: boolean;
|
|
9932
|
+
dragSurfaceLabel: string | null;
|
|
8966
9933
|
action: EventEmitter<WidgetShellActionEvent>;
|
|
9934
|
+
dragSurfacePointerDown: EventEmitter<PointerEvent>;
|
|
9935
|
+
dragSurfaceKeydown: EventEmitter<KeyboardEvent>;
|
|
8967
9936
|
loader?: DynamicWidgetLoaderDirective;
|
|
8968
9937
|
get appearance(): WidgetShellConfig['appearance'];
|
|
8969
9938
|
collapsed: boolean;
|
|
@@ -8978,6 +9947,8 @@ declare class WidgetShellComponent implements OnChanges {
|
|
|
8978
9947
|
private get maxHeaderActions();
|
|
8979
9948
|
get windowActions(): ActionList;
|
|
8980
9949
|
onAction(action: WidgetShellAction, ev: MouseEvent): void;
|
|
9950
|
+
onHeaderPointerDown(event: PointerEvent): void;
|
|
9951
|
+
onHeaderKeydown(event: KeyboardEvent): void;
|
|
8981
9952
|
stopIfExpanded(ev: MouseEvent): void;
|
|
8982
9953
|
closeOverlay(): void;
|
|
8983
9954
|
private handleWindowAction;
|
|
@@ -8985,76 +9956,23 @@ declare class WidgetShellComponent implements OnChanges {
|
|
|
8985
9956
|
private isVisible;
|
|
8986
9957
|
private resolvePresetAppearance;
|
|
8987
9958
|
private mergeAppearance;
|
|
9959
|
+
private isInteractiveHeaderTarget;
|
|
8988
9960
|
static ɵfac: i0.ɵɵFactoryDeclaration<WidgetShellComponent, never>;
|
|
8989
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<WidgetShellComponent, "praxis-widget-shell", never, { "shell": { "alias": "shell"; "required": false; }; "context": { "alias": "context"; "required": false; }; }, { "action": "action"; }, ["loader"], ["*"], true, never>;
|
|
9961
|
+
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>;
|
|
8990
9962
|
}
|
|
8991
9963
|
|
|
8992
|
-
|
|
8993
|
-
|
|
8994
|
-
definition: WidgetDefinition;
|
|
8995
|
-
/** Optional CSS classes or layout hints */
|
|
8996
|
-
className?: string;
|
|
8997
|
-
/** Optional shell config for standardized widget framing. */
|
|
8998
|
-
shell?: WidgetShellConfig;
|
|
8999
|
-
}
|
|
9000
|
-
interface WidgetConnection {
|
|
9001
|
-
from: {
|
|
9002
|
-
widget: string;
|
|
9003
|
-
output: string;
|
|
9004
|
-
};
|
|
9005
|
-
to: {
|
|
9006
|
-
widget: string;
|
|
9007
|
-
input: string;
|
|
9008
|
-
bindingOrder?: string[];
|
|
9009
|
-
};
|
|
9010
|
-
/** Dot-path to extract from event object (e.g., 'payload.row.id'). Defaults to 'payload'. */
|
|
9011
|
-
map?: string;
|
|
9012
|
-
/** Constant value override (when provided, map is ignored). */
|
|
9013
|
-
set?: any;
|
|
9014
|
-
/** Optional metadata for runtime operators (beta). */
|
|
9015
|
-
meta?: {
|
|
9016
|
-
/** Expression to filter events (safe, controlled) */
|
|
9017
|
-
filterExpr?: string;
|
|
9018
|
-
/** Debounce time in milliseconds */
|
|
9019
|
-
debounceMs?: number;
|
|
9020
|
-
/** Only emit when value changes */
|
|
9021
|
-
distinct?: boolean;
|
|
9022
|
-
/** Optional key path for distinct comparison (e.g., 'payload.id') */
|
|
9023
|
-
distinctBy?: string;
|
|
9024
|
-
};
|
|
9025
|
-
}
|
|
9026
|
-
type WidgetPageOrientation = 'vertical' | 'columns';
|
|
9027
|
-
interface WidgetPageLayout {
|
|
9028
|
-
/** Layout orientation for widget grid. */
|
|
9029
|
-
orientation?: WidgetPageOrientation;
|
|
9030
|
-
/** Column count when using columns orientation. */
|
|
9031
|
-
columns?: number;
|
|
9032
|
-
/** CSS gap value for grid spacing (e.g., '16px'). */
|
|
9033
|
-
gap?: string;
|
|
9034
|
-
/** Optional responsive columns by breakpoint (sm/md/lg/xl). */
|
|
9035
|
-
breakpoints?: {
|
|
9036
|
-
sm?: number;
|
|
9037
|
-
md?: number;
|
|
9038
|
-
lg?: number;
|
|
9039
|
-
xl?: number;
|
|
9040
|
-
};
|
|
9041
|
-
}
|
|
9042
|
-
interface WidgetPageDefinition {
|
|
9043
|
-
widgets: WidgetInstance[];
|
|
9044
|
-
connections?: WidgetConnection[];
|
|
9045
|
-
/** Optional page-wide context available to all widgets */
|
|
9046
|
-
context?: Record<string, any>;
|
|
9047
|
-
/** Optional layout configuration for the widget grid */
|
|
9048
|
-
layout?: WidgetPageLayout;
|
|
9049
|
-
}
|
|
9964
|
+
declare const BUILTIN_PAGE_LAYOUT_PRESETS: Record<string, WidgetPageLayoutPresetDefinition>;
|
|
9965
|
+
declare const BUILTIN_PAGE_THEME_PRESETS: Record<string, WidgetPageThemePresetDefinition>;
|
|
9050
9966
|
|
|
9051
9967
|
declare class ConnectionManagerService {
|
|
9052
9968
|
/** Extract value from an object using dot-path (e.g., 'payload.row.id'). */
|
|
9053
9969
|
extractByPath(obj: any, path: string | undefined): any;
|
|
9054
9970
|
/** Find connections triggered by an event. */
|
|
9055
9971
|
findMatches(connections: WidgetConnection[] | undefined, fromKey: string, output: string | undefined): WidgetConnection[];
|
|
9972
|
+
/** Find connections triggered by a state-path update. */
|
|
9973
|
+
findStateMatches(connections: WidgetConnection[] | undefined, statePath: string): WidgetConnection[];
|
|
9056
9974
|
/** Apply a single match into widgets array, supporting dot-path in target input. Returns a new array. */
|
|
9057
|
-
applyMatch(widgets:
|
|
9975
|
+
applyMatch(widgets: WidgetInstance[], match: WidgetConnection & {
|
|
9058
9976
|
to: {
|
|
9059
9977
|
widget: string;
|
|
9060
9978
|
input: string;
|
|
@@ -9062,7 +9980,11 @@ declare class ConnectionManagerService {
|
|
|
9062
9980
|
};
|
|
9063
9981
|
}, event: {
|
|
9064
9982
|
payload?: any;
|
|
9065
|
-
}):
|
|
9983
|
+
}): WidgetInstance[];
|
|
9984
|
+
resolveConnectionValue(match: Pick<WidgetConnection, 'map' | 'set'>, event: {
|
|
9985
|
+
payload?: any;
|
|
9986
|
+
} | Record<string, any>): any;
|
|
9987
|
+
setValueAtPath<T extends object>(obj: T, rawPath: string, value: any): T;
|
|
9066
9988
|
/** Resolve mapped value: supports dot-path or JSON template with ${...} placeholders. */
|
|
9067
9989
|
private resolveMappedValue;
|
|
9068
9990
|
/** Recursively resolve ${path} placeholders in objects/arrays/strings. */
|
|
@@ -9077,11 +9999,307 @@ declare class ConnectionManagerService {
|
|
|
9077
9999
|
static ɵprov: i0.ɵɵInjectableDeclaration<ConnectionManagerService>;
|
|
9078
10000
|
}
|
|
9079
10001
|
|
|
9080
|
-
|
|
10002
|
+
interface WidgetPageStateRuntimeSnapshot {
|
|
10003
|
+
state: WidgetPageStateDefinition;
|
|
10004
|
+
primaryValues: Record<string, any>;
|
|
10005
|
+
derivedValues: Record<string, any>;
|
|
10006
|
+
effectiveValues: Record<string, any>;
|
|
10007
|
+
diagnostics: string[];
|
|
10008
|
+
}
|
|
10009
|
+
declare class WidgetPageStateRuntimeService {
|
|
10010
|
+
private readonly connections;
|
|
10011
|
+
constructor(connections: ConnectionManagerService);
|
|
10012
|
+
normalizeState(state: WidgetPageStateInput | undefined): WidgetPageStateDefinition;
|
|
10013
|
+
buildRuntimeSnapshot(state: WidgetPageStateInput | undefined, context?: Record<string, any> | null): WidgetPageStateRuntimeSnapshot;
|
|
10014
|
+
collectChangedPaths(previous: Record<string, any> | undefined, next: Record<string, any> | undefined, paths: string[]): string[];
|
|
10015
|
+
private materializePrimaryValues;
|
|
10016
|
+
private sortDerivedState;
|
|
10017
|
+
private computeDerivedNode;
|
|
10018
|
+
private resolveNamedSource;
|
|
10019
|
+
private resolveSourceValues;
|
|
10020
|
+
private aggregateArray;
|
|
10021
|
+
private buildFieldList;
|
|
10022
|
+
private groupTop;
|
|
10023
|
+
private selectCase;
|
|
10024
|
+
private matchesCase;
|
|
10025
|
+
private resolveCaseValue;
|
|
10026
|
+
private resolveTemplate;
|
|
10027
|
+
private normalizeDependencyPath;
|
|
10028
|
+
private readPath;
|
|
10029
|
+
private isPlainObject;
|
|
10030
|
+
private isEqual;
|
|
10031
|
+
private isEmptyValue;
|
|
10032
|
+
private readMetricValue;
|
|
10033
|
+
private toNumber;
|
|
10034
|
+
private formatFieldValue;
|
|
10035
|
+
private clone;
|
|
10036
|
+
private describeError;
|
|
10037
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WidgetPageStateRuntimeService, never>;
|
|
10038
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<WidgetPageStateRuntimeService>;
|
|
10039
|
+
}
|
|
10040
|
+
|
|
10041
|
+
interface CompositionLinkReadInput {
|
|
10042
|
+
canonicalLinks?: CompositionLink[];
|
|
10043
|
+
legacyConnections?: WidgetConnection[];
|
|
10044
|
+
}
|
|
10045
|
+
declare function readCompositionLinksWithLegacyFallback(input: CompositionLinkReadInput): CompositionLink[];
|
|
10046
|
+
declare function normalizeLegacyWidgetConnections(connections: WidgetConnection[] | undefined): CompositionLink[];
|
|
10047
|
+
declare function adaptWidgetConnectionToCompositionLink(connection: WidgetConnection): CompositionLink;
|
|
10048
|
+
declare function adaptWidgetConnectionsToCompositionLinks(connections: WidgetConnection[] | undefined): CompositionLink[];
|
|
10049
|
+
|
|
10050
|
+
interface WidgetPageCompositionState {
|
|
10051
|
+
primaryValues: Record<string, unknown>;
|
|
10052
|
+
schema: Record<string, WidgetStateNode>;
|
|
10053
|
+
/** Definitions carried forward for a later derived-state materialization phase. */
|
|
10054
|
+
derivedDefinitions: Record<string, WidgetDerivedStateNode>;
|
|
10055
|
+
}
|
|
10056
|
+
interface WidgetPageComposition {
|
|
10057
|
+
widgetOrder: string[];
|
|
10058
|
+
widgetsByKey: Record<string, WidgetInstance>;
|
|
10059
|
+
links: CompositionLink[];
|
|
10060
|
+
state: WidgetPageCompositionState;
|
|
10061
|
+
context: Record<string, unknown>;
|
|
10062
|
+
}
|
|
10063
|
+
|
|
10064
|
+
interface CompositionRuntimeStoreInit {
|
|
10065
|
+
pageId?: string;
|
|
10066
|
+
status?: RuntimeSnapshotStatus;
|
|
10067
|
+
generatedAt?: string;
|
|
10068
|
+
links?: RuntimeLinkSnapshot[];
|
|
10069
|
+
state?: Partial<RuntimeStateSnapshot>;
|
|
10070
|
+
diagnostics?: DiagnosticRecord[];
|
|
10071
|
+
traceTail?: RuntimeTraceEntry[];
|
|
10072
|
+
}
|
|
10073
|
+
interface RuntimeLinkSnapshotPatch {
|
|
10074
|
+
linkId: string;
|
|
10075
|
+
status?: RuntimeLinkStatus;
|
|
10076
|
+
lastEventAt?: string;
|
|
10077
|
+
lastDispatchTraceId?: string;
|
|
10078
|
+
lastDeliveredValuePreview?: unknown;
|
|
10079
|
+
diagnostics?: DiagnosticRecord[];
|
|
10080
|
+
}
|
|
10081
|
+
interface CompositionRuntimeStoreCycleUpdate {
|
|
10082
|
+
generatedAt?: string;
|
|
10083
|
+
status?: RuntimeSnapshotStatus;
|
|
10084
|
+
stateSnapshot?: RuntimeStateSnapshot;
|
|
10085
|
+
primaryValuesPatch?: Record<string, unknown>;
|
|
10086
|
+
derivedValuesPatch?: Record<string, unknown>;
|
|
10087
|
+
transientValuesPatch?: Record<string, unknown>;
|
|
10088
|
+
changedPaths?: string[];
|
|
10089
|
+
linkPatches?: RuntimeLinkSnapshotPatch[];
|
|
10090
|
+
diagnostics?: DiagnosticRecord[];
|
|
10091
|
+
traceTail?: RuntimeTraceEntry[];
|
|
10092
|
+
}
|
|
10093
|
+
type CompositionRuntimeSnapshotListener = (snapshot: RuntimeSnapshot) => void;
|
|
10094
|
+
declare class CompositionRuntimeStore {
|
|
10095
|
+
private snapshot;
|
|
10096
|
+
private readonly listeners;
|
|
10097
|
+
constructor(init?: CompositionRuntimeStoreInit);
|
|
10098
|
+
getSnapshot(): RuntimeSnapshot;
|
|
10099
|
+
subscribe(listener: CompositionRuntimeSnapshotListener): () => void;
|
|
10100
|
+
reset(init?: CompositionRuntimeStoreInit): RuntimeSnapshot;
|
|
10101
|
+
applyCycle(update: CompositionRuntimeStoreCycleUpdate): RuntimeSnapshot;
|
|
10102
|
+
private emit;
|
|
10103
|
+
}
|
|
10104
|
+
|
|
10105
|
+
interface TransformRuntimeContext {
|
|
10106
|
+
event?: unknown;
|
|
10107
|
+
payload?: unknown;
|
|
10108
|
+
state?: Record<string, unknown>;
|
|
10109
|
+
derived?: Record<string, unknown>;
|
|
10110
|
+
transient?: Record<string, unknown>;
|
|
10111
|
+
context?: Record<string, unknown>;
|
|
10112
|
+
}
|
|
10113
|
+
|
|
10114
|
+
interface LinkExecutorPathAccessor {
|
|
10115
|
+
extractByPath(source: unknown, path: string): unknown;
|
|
10116
|
+
setValueAtPath(source: unknown, path: string, value: unknown): any;
|
|
10117
|
+
}
|
|
10118
|
+
interface LinkExecutorTransformRunner {
|
|
10119
|
+
executePipeline(pipeline: CompositionLink['transform'] extends infer T ? Exclude<T, undefined> : never, runtime: TransformRuntimeContext): {
|
|
10120
|
+
value: unknown;
|
|
10121
|
+
diagnostics: DiagnosticRecord[];
|
|
10122
|
+
failed: boolean;
|
|
10123
|
+
};
|
|
10124
|
+
}
|
|
10125
|
+
interface LinkExecutionContext {
|
|
10126
|
+
snapshot: Pick<RuntimeSnapshot, 'state'> | {
|
|
10127
|
+
state: RuntimeStateSnapshot;
|
|
10128
|
+
};
|
|
10129
|
+
event?: unknown;
|
|
10130
|
+
payload?: unknown;
|
|
10131
|
+
context?: Record<string, unknown>;
|
|
10132
|
+
now?: string;
|
|
10133
|
+
lastDeliveredValue?: unknown;
|
|
10134
|
+
lastDeliveredAt?: string;
|
|
10135
|
+
}
|
|
10136
|
+
interface LinkExecutionDelivery {
|
|
10137
|
+
kind: 'state' | 'component-port';
|
|
10138
|
+
value: unknown;
|
|
10139
|
+
statePath?: string;
|
|
10140
|
+
stateLayer?: 'values' | 'derived' | 'transient';
|
|
10141
|
+
widgetKey?: string;
|
|
10142
|
+
portId?: string;
|
|
10143
|
+
bindingPath?: string;
|
|
10144
|
+
}
|
|
10145
|
+
interface LinkExecutionResult {
|
|
10146
|
+
status: 'delivered' | 'skipped' | 'failed';
|
|
10147
|
+
value: unknown;
|
|
10148
|
+
diagnostics: DiagnosticRecord[];
|
|
10149
|
+
snapshot: RuntimeStateSnapshot;
|
|
10150
|
+
delivery?: LinkExecutionDelivery;
|
|
10151
|
+
skippedReason?: string;
|
|
10152
|
+
}
|
|
10153
|
+
declare class LinkExecutorService {
|
|
10154
|
+
private readonly transforms;
|
|
10155
|
+
private readonly pathAccessor;
|
|
10156
|
+
constructor(transforms?: LinkExecutorTransformRunner, pathAccessor?: LinkExecutorPathAccessor);
|
|
10157
|
+
executeLink(link: CompositionLink, context: LinkExecutionContext): LinkExecutionResult;
|
|
10158
|
+
private resolveSourceValue;
|
|
10159
|
+
private extractComponentSourceBinding;
|
|
10160
|
+
private matchesConditions;
|
|
10161
|
+
private evaluateCondition;
|
|
10162
|
+
private evaluateExpression;
|
|
10163
|
+
private resolveExpressionOperand;
|
|
10164
|
+
private readConditionValue;
|
|
10165
|
+
private matchesPortKind;
|
|
10166
|
+
private buildTransformContext;
|
|
10167
|
+
private resolveMissingValuePolicy;
|
|
10168
|
+
private resolvePolicySkip;
|
|
10169
|
+
private deliverValue;
|
|
10170
|
+
private resolveDistinctValue;
|
|
10171
|
+
private readStatePath;
|
|
10172
|
+
private buildEffectiveState;
|
|
10173
|
+
private createDiagnostic;
|
|
10174
|
+
private isEmptyValue;
|
|
10175
|
+
private isEqual;
|
|
10176
|
+
private cloneSnapshot;
|
|
10177
|
+
private clone;
|
|
10178
|
+
}
|
|
10179
|
+
|
|
10180
|
+
interface RuntimeTraceEntryInput {
|
|
10181
|
+
timestamp: string;
|
|
10182
|
+
phase: RuntimeTracePhase;
|
|
10183
|
+
subject: DiagnosticSubjectRef;
|
|
10184
|
+
linkId?: string;
|
|
10185
|
+
payload?: unknown;
|
|
10186
|
+
inputSnapshot?: unknown;
|
|
10187
|
+
outputSnapshot?: unknown;
|
|
10188
|
+
details?: Record<string, unknown>;
|
|
10189
|
+
diagnostics?: string[];
|
|
10190
|
+
}
|
|
10191
|
+
declare class RuntimeTraceService {
|
|
10192
|
+
createEntry(traceId: string, sequence: number, input: RuntimeTraceEntryInput): RuntimeTraceEntry;
|
|
10193
|
+
summarizePayload(payload: unknown): RuntimePayloadSummary | undefined;
|
|
10194
|
+
private clone;
|
|
10195
|
+
}
|
|
10196
|
+
|
|
10197
|
+
type CompositionRuntimeDefinition = WidgetPageComposition;
|
|
10198
|
+
interface CompositionDispatchEvent {
|
|
10199
|
+
eventId: string;
|
|
10200
|
+
source: EndpointRef;
|
|
10201
|
+
payload?: unknown;
|
|
10202
|
+
occurredAt?: string;
|
|
10203
|
+
}
|
|
10204
|
+
interface CompositionRuntimeCycleResult {
|
|
10205
|
+
cycleId: string;
|
|
10206
|
+
matchedLinkIds: string[];
|
|
10207
|
+
snapshot: RuntimeSnapshot;
|
|
10208
|
+
diagnostics: DiagnosticRecord[];
|
|
10209
|
+
}
|
|
10210
|
+
interface CompositionRuntimeEngineOptions {
|
|
10211
|
+
now?: () => string;
|
|
10212
|
+
store?: CompositionRuntimeStore;
|
|
10213
|
+
linkExecutor?: LinkExecutorService;
|
|
10214
|
+
stateRuntime?: WidgetPageStateRuntimeService;
|
|
10215
|
+
traceService?: RuntimeTraceService;
|
|
10216
|
+
}
|
|
10217
|
+
interface CompositionStateWidgetPreviewOptions {
|
|
10218
|
+
widgets?: WidgetInstance[];
|
|
10219
|
+
state?: RuntimeStateSnapshot;
|
|
10220
|
+
now?: string;
|
|
10221
|
+
}
|
|
10222
|
+
interface CompositionStateWidgetPreviewResult {
|
|
10223
|
+
widgets: WidgetInstance[];
|
|
10224
|
+
matchedLinkIds: string[];
|
|
10225
|
+
diagnostics: DiagnosticRecord[];
|
|
10226
|
+
}
|
|
10227
|
+
declare class CompositionRuntimeEngine {
|
|
10228
|
+
private readonly store;
|
|
10229
|
+
private readonly linkExecutor;
|
|
10230
|
+
private readonly stateRuntime;
|
|
10231
|
+
private readonly traceService;
|
|
10232
|
+
private readonly pathAccessor;
|
|
10233
|
+
private definition;
|
|
10234
|
+
private readonly now;
|
|
10235
|
+
constructor(options?: CompositionRuntimeEngineOptions);
|
|
10236
|
+
bootstrap(definition: CompositionRuntimeDefinition): RuntimeSnapshot;
|
|
10237
|
+
dispatch(event: CompositionDispatchEvent): CompositionRuntimeCycleResult;
|
|
10238
|
+
getSnapshot(): RuntimeSnapshot;
|
|
10239
|
+
getStore(): CompositionRuntimeStore;
|
|
10240
|
+
projectStateWidgetInputs(definition: CompositionRuntimeDefinition, options?: CompositionStateWidgetPreviewOptions): CompositionStateWidgetPreviewResult;
|
|
10241
|
+
private createLinkSnapshot;
|
|
10242
|
+
private applyBootstrapHydration;
|
|
10243
|
+
private materializeDerivedState;
|
|
10244
|
+
private createDerivedDiagnostic;
|
|
10245
|
+
private clonePreviewWidgets;
|
|
10246
|
+
private cloneJson;
|
|
10247
|
+
private extractDerivedNodeKey;
|
|
10248
|
+
private appendDiagnosticTraceEntries;
|
|
10249
|
+
}
|
|
10250
|
+
|
|
10251
|
+
interface CompositionRuntimeFacadeOptions {
|
|
10252
|
+
engine?: CompositionRuntimeEngine;
|
|
10253
|
+
engineOptions?: CompositionRuntimeEngineOptions;
|
|
10254
|
+
}
|
|
10255
|
+
declare class CompositionRuntimeFacade {
|
|
10256
|
+
private readonly engine;
|
|
10257
|
+
private readonly snapshotSubject;
|
|
10258
|
+
private readonly unsubscribeFromStore;
|
|
10259
|
+
readonly snapshot$: Observable<RuntimeSnapshot>;
|
|
10260
|
+
readonly diagnostics$: Observable<DiagnosticRecord[]>;
|
|
10261
|
+
readonly traceTail$: Observable<RuntimeTraceEntry[]>;
|
|
10262
|
+
constructor(options?: CompositionRuntimeFacadeOptions);
|
|
10263
|
+
bootstrap(definition: CompositionRuntimeDefinition): RuntimeSnapshot;
|
|
10264
|
+
dispatch(event: CompositionDispatchEvent): CompositionRuntimeCycleResult;
|
|
10265
|
+
projectStateWidgetInputs(definition: CompositionRuntimeDefinition, options?: CompositionStateWidgetPreviewOptions): CompositionStateWidgetPreviewResult;
|
|
10266
|
+
getSnapshot(): RuntimeSnapshot;
|
|
10267
|
+
getEngine(): CompositionRuntimeEngine;
|
|
10268
|
+
destroy(): void;
|
|
10269
|
+
}
|
|
10270
|
+
|
|
10271
|
+
interface RenderedWidgetInstance extends WidgetInstance {
|
|
10272
|
+
renderClassName?: string;
|
|
10273
|
+
renderSpan?: number;
|
|
10274
|
+
renderCanvasItem?: WidgetPageCanvasItem;
|
|
10275
|
+
}
|
|
10276
|
+
interface RenderedTabsGroup {
|
|
10277
|
+
id: string;
|
|
10278
|
+
label?: string;
|
|
10279
|
+
widgets: RenderedWidgetInstance[];
|
|
10280
|
+
}
|
|
10281
|
+
interface RenderedWidgetGroup {
|
|
10282
|
+
id: string;
|
|
10283
|
+
kind: WidgetPageGroupingDefinition['kind'] | 'ungrouped';
|
|
10284
|
+
label?: string;
|
|
10285
|
+
layout?: 'stack' | 'grid' | 'row';
|
|
10286
|
+
emphasis?: 'high' | 'medium';
|
|
10287
|
+
side?: 'left' | 'right';
|
|
10288
|
+
widgets: RenderedWidgetInstance[];
|
|
10289
|
+
tabs?: RenderedTabsGroup[];
|
|
10290
|
+
}
|
|
10291
|
+
type CanvasResizeHandle = 'north' | 'south' | 'east' | 'west' | 'north-east' | 'north-west' | 'south-east' | 'south-west';
|
|
10292
|
+
interface CanvasResizeHandleDefinition {
|
|
10293
|
+
id: CanvasResizeHandle;
|
|
10294
|
+
className: string;
|
|
10295
|
+
}
|
|
10296
|
+
declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
|
|
9081
10297
|
private conn;
|
|
10298
|
+
private stateRuntime;
|
|
9082
10299
|
private settingsPanel;
|
|
9083
10300
|
private defaultShellEditor;
|
|
9084
10301
|
private defaultPageEditor;
|
|
10302
|
+
pageCanvasHost?: ElementRef<HTMLElement>;
|
|
9085
10303
|
page?: WidgetPageDefinition | string;
|
|
9086
10304
|
context?: Record<string, any> | null;
|
|
9087
10305
|
strictValidation: boolean;
|
|
@@ -9100,27 +10318,48 @@ declare class DynamicWidgetPageComponent implements OnChanges {
|
|
|
9100
10318
|
/** Optional instance key for pages rendered multiple times. */
|
|
9101
10319
|
componentInstanceId?: string;
|
|
9102
10320
|
pageChange: EventEmitter<WidgetPageDefinition>;
|
|
10321
|
+
widgetDiagnosticsChange: EventEmitter<Record<string, WidgetResolutionDiagnostic>>;
|
|
9103
10322
|
widgets: i0.WritableSignal<WidgetInstance[]>;
|
|
10323
|
+
renderedGroups: i0.WritableSignal<RenderedWidgetGroup[]>;
|
|
9104
10324
|
mergedContext: Record<string, any>;
|
|
9105
10325
|
pageGap: string;
|
|
9106
10326
|
gridTemplateColumns: string;
|
|
10327
|
+
gridAutoRows: string;
|
|
10328
|
+
layoutAnnouncement: string;
|
|
10329
|
+
readonly canvasResizeHandles: readonly CanvasResizeHandleDefinition[];
|
|
9107
10330
|
private pageDefinition?;
|
|
10331
|
+
private pageState;
|
|
10332
|
+
private pageRuntime;
|
|
9108
10333
|
private layout?;
|
|
10334
|
+
private canvas?;
|
|
10335
|
+
private grouping;
|
|
10336
|
+
private pageColumnCount;
|
|
10337
|
+
private activeTabs;
|
|
10338
|
+
private widgetDiagnostics;
|
|
10339
|
+
private selectedCanvasWidgetKey;
|
|
10340
|
+
private blockedCanvasWidgetKey;
|
|
10341
|
+
private canvasPreviewState;
|
|
10342
|
+
private canvasPreviewInvalidState;
|
|
10343
|
+
private transientCanvasItemsState;
|
|
10344
|
+
private activeCanvasInteraction;
|
|
9109
10345
|
private appliedPersisted;
|
|
9110
10346
|
private isHydrating;
|
|
9111
10347
|
private persistenceReady;
|
|
9112
10348
|
private warnedMissingKey;
|
|
10349
|
+
private readonly compositionFactory;
|
|
10350
|
+
private readonly compositionRuntime;
|
|
10351
|
+
private compositionDefinition?;
|
|
9113
10352
|
private readonly globalActions;
|
|
9114
10353
|
private readonly storage;
|
|
9115
10354
|
private readonly componentKeys;
|
|
10355
|
+
private readonly i18n;
|
|
9116
10356
|
private readonly route;
|
|
9117
|
-
constructor(conn: ConnectionManagerService, settingsPanel: SettingsPanelBridge | null, defaultShellEditor: Type<any> | null, defaultPageEditor: Type<any> | null);
|
|
10357
|
+
constructor(conn: ConnectionManagerService, stateRuntime: WidgetPageStateRuntimeService, settingsPanel: SettingsPanelBridge | null, defaultShellEditor: Type<any> | null, defaultPageEditor: Type<any> | null);
|
|
10358
|
+
ngOnDestroy(): void;
|
|
9118
10359
|
ngOnChanges(changes: SimpleChanges): void;
|
|
9119
|
-
onWidgetEvent(fromKey: string, evt:
|
|
9120
|
-
|
|
9121
|
-
|
|
9122
|
-
payload?: any;
|
|
9123
|
-
}): void;
|
|
10360
|
+
onWidgetEvent(fromKey: string, evt: WidgetEventEnvelope): void;
|
|
10361
|
+
private areStateValuesEqual;
|
|
10362
|
+
onWidgetDiagnostic(widgetKey: string, diagnostic: WidgetResolutionDiagnostic): void;
|
|
9124
10363
|
onShellAction(fromKey: string, evt: WidgetShellActionEvent): void;
|
|
9125
10364
|
private handleSetInputCommand;
|
|
9126
10365
|
private mergeOrder;
|
|
@@ -9135,11 +10374,84 @@ declare class DynamicWidgetPageComponent implements OnChanges {
|
|
|
9135
10374
|
private applyPageLayout;
|
|
9136
10375
|
private applyPageUpdate;
|
|
9137
10376
|
private applyLayout;
|
|
10377
|
+
private applyCanvasLayout;
|
|
9138
10378
|
private mergeContext;
|
|
9139
10379
|
onWindowResize(): void;
|
|
10380
|
+
onCanvasPointerMove(event: PointerEvent): void;
|
|
10381
|
+
onCanvasPointerUp(event: PointerEvent): void;
|
|
10382
|
+
onCanvasPointerCancel(event: PointerEvent): void;
|
|
9140
10383
|
private resolveColumns;
|
|
9141
10384
|
private ensurePageDefinition;
|
|
9142
10385
|
private parsePage;
|
|
10386
|
+
private resolvePagePresets;
|
|
10387
|
+
private mergeLayout;
|
|
10388
|
+
private applyResponsivePresentation;
|
|
10389
|
+
private resolveEffectivePresentation;
|
|
10390
|
+
private resolveDeviceVariant;
|
|
10391
|
+
private resolveCanvas;
|
|
10392
|
+
private resolveDeviceKind;
|
|
10393
|
+
isCanvasMode(): boolean;
|
|
10394
|
+
selectCanvasWidget(widgetKey: string): void;
|
|
10395
|
+
isCanvasWidgetSelected(widgetKey: string): boolean;
|
|
10396
|
+
isCanvasWidgetBlocked(widgetKey: string): boolean;
|
|
10397
|
+
canvasPreviewItem(): WidgetPageCanvasItem | null;
|
|
10398
|
+
canvasPreviewGridColumn(): string | null;
|
|
10399
|
+
canvasPreviewGridRow(): string | null;
|
|
10400
|
+
canvasPreviewInvalid(): boolean;
|
|
10401
|
+
startCanvasDrag(widgetKey: string, event: PointerEvent): void;
|
|
10402
|
+
startCanvasResize(widgetKey: string, handle: CanvasResizeHandle, event: PointerEvent): void;
|
|
10403
|
+
onCanvasHandleKeydown(widgetKey: string, kind: 'drag' | 'resize', event: KeyboardEvent): void;
|
|
10404
|
+
onCanvasResizeHandleKeydown(widgetKey: string, handle: CanvasResizeHandle, event: KeyboardEvent): void;
|
|
10405
|
+
private applyWidgetLayoutOverrides;
|
|
10406
|
+
private applyCanvasLayoutToWidgets;
|
|
10407
|
+
private startCanvasInteraction;
|
|
10408
|
+
private currentCanvasMetrics;
|
|
10409
|
+
private currentCanvasItem;
|
|
10410
|
+
private resolveCanvasInteractionDelta;
|
|
10411
|
+
private updateCanvasItem;
|
|
10412
|
+
private applyTransientPagePreview;
|
|
10413
|
+
private resolveCanvasTarget;
|
|
10414
|
+
private applyCanvasDrag;
|
|
10415
|
+
private applyCanvasResize;
|
|
10416
|
+
private applyCanvasKeyboardDrag;
|
|
10417
|
+
private applyCanvasKeyboardResize;
|
|
10418
|
+
pageSettingsLabel(): string;
|
|
10419
|
+
dragWidgetLabel(): string;
|
|
10420
|
+
resizeWidgetLabel(): string;
|
|
10421
|
+
resizeHandleLabel(handle: CanvasResizeHandle): string;
|
|
10422
|
+
private canvasAnnouncement;
|
|
10423
|
+
private blockedCanvasAnnouncement;
|
|
10424
|
+
private canvasSwapAnnouncement;
|
|
10425
|
+
private positionedCanvasAnnouncement;
|
|
10426
|
+
private t;
|
|
10427
|
+
private resolveCanvasConstraints;
|
|
10428
|
+
private normalizeCanvasItem;
|
|
10429
|
+
private resolveCanvasCollisionPolicy;
|
|
10430
|
+
private resolveCanvasPlacement;
|
|
10431
|
+
private findCanvasCollisions;
|
|
10432
|
+
private buildCanvasSwapItem;
|
|
10433
|
+
private canPlaceCanvasItem;
|
|
10434
|
+
private canvasItemsOverlap;
|
|
10435
|
+
private isSameCanvasItem;
|
|
10436
|
+
private clampCanvasCol;
|
|
10437
|
+
private clampNumber;
|
|
10438
|
+
private parseCssPixelValue;
|
|
10439
|
+
private releaseCanvasPointerCapture;
|
|
10440
|
+
private clonePageDefinition;
|
|
10441
|
+
private cloneWidgets;
|
|
10442
|
+
private applyGroupingOverrides;
|
|
10443
|
+
private buildRenderedGroups;
|
|
10444
|
+
private syncActiveTabs;
|
|
10445
|
+
activeTabId(groupId: string): string;
|
|
10446
|
+
selectGroupTab(groupId: string, tabId: string): void;
|
|
10447
|
+
resolveGroupContentLayout(group: RenderedWidgetGroup): 'stack' | 'grid' | 'row';
|
|
10448
|
+
groupGridColumn(group: RenderedWidgetGroup): string | null;
|
|
10449
|
+
widgetGridColumn(widget: RenderedWidgetInstance): string | null;
|
|
10450
|
+
widgetGridRow(widget: RenderedWidgetInstance): string | null;
|
|
10451
|
+
widgetZIndex(widget: RenderedWidgetInstance): number | null;
|
|
10452
|
+
widgetClassName(widget: WidgetInstance): string;
|
|
10453
|
+
private mergeClassNames;
|
|
10454
|
+
private resolveRenderedCanvasItem;
|
|
9143
10455
|
private applyEditShellActions;
|
|
9144
10456
|
private savePage;
|
|
9145
10457
|
private loadPersistedPage;
|
|
@@ -9148,8 +10460,20 @@ declare class DynamicWidgetPageComponent implements OnChanges {
|
|
|
9148
10460
|
private buildPageScopeId;
|
|
9149
10461
|
private warnMissingKey;
|
|
9150
10462
|
private sanitizeSegment;
|
|
9151
|
-
|
|
9152
|
-
|
|
10463
|
+
private cloneStateValues;
|
|
10464
|
+
private cloneValue;
|
|
10465
|
+
private cloneGrouping;
|
|
10466
|
+
private buildStateRuntime;
|
|
10467
|
+
private buildStateContext;
|
|
10468
|
+
private resolveShellTemplates;
|
|
10469
|
+
private reportStateDiagnostics;
|
|
10470
|
+
private applyBootstrapCompositionHydration;
|
|
10471
|
+
private bootstrapCompositionAdapter;
|
|
10472
|
+
private dispatchWidgetEventToComposition;
|
|
10473
|
+
private stateFromCompositionSnapshot;
|
|
10474
|
+
private applyCompositionWidgetDeliveries;
|
|
10475
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DynamicWidgetPageComponent, [null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
|
|
10476
|
+
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>;
|
|
9153
10477
|
}
|
|
9154
10478
|
|
|
9155
10479
|
/** Metadata for Praxis Dynamic Page component */
|
|
@@ -9159,51 +10483,20 @@ declare const PRAXIS_DYNAMIC_PAGE_COMPONENT_METADATA: ComponentDocMeta;
|
|
|
9159
10483
|
*/
|
|
9160
10484
|
declare function providePraxisDynamicPageMetadata(): Provider;
|
|
9161
10485
|
|
|
9162
|
-
declare class
|
|
9163
|
-
|
|
9164
|
-
|
|
10486
|
+
declare class PraxisSurfaceHostComponent {
|
|
10487
|
+
title?: string;
|
|
10488
|
+
subtitle?: string;
|
|
10489
|
+
icon?: string;
|
|
10490
|
+
widget?: WidgetDefinition;
|
|
9165
10491
|
context?: Record<string, any> | null;
|
|
9166
10492
|
strictValidation: boolean;
|
|
9167
|
-
/**
|
|
9168
|
-
|
|
9169
|
-
|
|
9170
|
-
|
|
9171
|
-
|
|
9172
|
-
|
|
9173
|
-
|
|
9174
|
-
enableCustomization: boolean;
|
|
9175
|
-
widgets: i0.WritableSignal<GridWidgetInstance[]>;
|
|
9176
|
-
mergedContext: Record<string, any>;
|
|
9177
|
-
private readonly globalActions;
|
|
9178
|
-
private selectedKey;
|
|
9179
|
-
private cols;
|
|
9180
|
-
private _rowHeight;
|
|
9181
|
-
private _gap;
|
|
9182
|
-
overlayEnabled: boolean;
|
|
9183
|
-
gridTemplateColumns: i0.Signal<string>;
|
|
9184
|
-
rowHeight: i0.Signal<number>;
|
|
9185
|
-
gap: i0.Signal<number>;
|
|
9186
|
-
constructor(conn: ConnectionManagerService);
|
|
9187
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
9188
|
-
toGridColumn(w: GridWidgetInstance): string;
|
|
9189
|
-
toGridRow(w: GridWidgetInstance): string;
|
|
9190
|
-
onWidgetEvent(fromKey: string, evt: {
|
|
9191
|
-
sourceId: string;
|
|
9192
|
-
output?: string;
|
|
9193
|
-
payload?: any;
|
|
9194
|
-
}): void;
|
|
9195
|
-
onShellAction(fromKey: string, evt: WidgetShellActionEvent): void;
|
|
9196
|
-
isSelected(key?: string): boolean;
|
|
9197
|
-
onTileClick(key?: string, ev?: Event): void;
|
|
9198
|
-
private mergeOrder;
|
|
9199
|
-
private maybeExecuteMappedAction;
|
|
9200
|
-
private maybeExecuteGlobalCommand;
|
|
9201
|
-
private resolveActionPayload;
|
|
9202
|
-
private resolveTemplate;
|
|
9203
|
-
private lookup;
|
|
9204
|
-
private parsePage;
|
|
9205
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DynamicGridPageComponent, never>;
|
|
9206
|
-
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>;
|
|
10493
|
+
/**
|
|
10494
|
+
* Keep disabled by default to avoid duplicating the title already shown by
|
|
10495
|
+
* modal/drawer hosts. Inline consumers may opt into rendering it again.
|
|
10496
|
+
*/
|
|
10497
|
+
renderTitleInsideBody: boolean;
|
|
10498
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisSurfaceHostComponent, never>;
|
|
10499
|
+
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>;
|
|
9207
10500
|
}
|
|
9208
10501
|
|
|
9209
10502
|
interface EmptyAction {
|
|
@@ -9578,5 +10871,5 @@ declare function provideFormHookPresets(presets: Array<FormHookPreset>): Provide
|
|
|
9578
10871
|
/** Register a whitelist of allowed hook ids/patterns. */
|
|
9579
10872
|
declare function provideHookWhitelist(allowed: Array<string | RegExp>): Provider[];
|
|
9580
10873
|
|
|
9581
|
-
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,
|
|
9582
|
-
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, 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, InlineRangeDistributionBin, InlineRangeDistributionConfig, 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, 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, WidgetDefinition, WidgetInstance, WidgetPageDefinition, WidgetPageLayout, WidgetPageOrientation, WidgetShellAction, WidgetShellActionEvent, WidgetShellActionPlacement, WidgetShellConfig, WidgetShellWindowActions };
|
|
10874
|
+
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, normalizeLegacyWidgetConnections, 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, readCompositionLinksWithLegacyFallback, 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 };
|
|
10875
|
+
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, CompositionLinkReadInput, 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, WidgetPageCompositionDefinition, 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 };
|