@praxisui/core 1.0.0-beta.64 → 1.0.0-beta.65

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.
@@ -240,6 +240,327 @@ class MemoryCacheAdapter {
240
240
  }
241
241
  }
242
242
 
243
+ /**
244
+ * Enum que define os tipos de controle (`CONTROL_TYPE`) disponíveis para a apresentação dos campos de formulário.
245
+ *
246
+ * O `CONTROL_TYPE` especifica o tipo de elemento de UI (User Interface) que será usado para capturar ou exibir dados do campo.
247
+ * Essa configuração permite que a camada de apresentação saiba como renderizar o campo e oferecer a interação adequada ao usuário.
248
+ * Em casos onde o `CONTROL_TYPE` não é especificado, a camada de apresentação pode usar o valor de `TYPE` (definido em `FieldDataType`)
249
+ * para decidir o controle mais adequado de forma automática.
250
+ */
251
+ const FieldControlType = {
252
+ AI_PROMPT: 'aiPrompt',
253
+ APP_BAR: 'appBar',
254
+ ARC_GAUGE: 'arcGauge',
255
+ ARRAY_INPUT: 'array',
256
+ ASYNC_SELECT: 'async-select',
257
+ AUTO_COMPLETE: 'autoComplete',
258
+ AVATAR: 'avatar',
259
+ BARCODE_GENERATOR: 'barcodeGenerator',
260
+ BOTTOM_NAVIGATION: 'bottomNavigation',
261
+ BREADCRUMB: 'breadcrumb',
262
+ BUTTON: 'button',
263
+ BUTTON_TOGGLE: 'buttonToggle',
264
+ CALENDAR: 'calendar',
265
+ CARD: 'card',
266
+ CHECKBOX: 'checkbox',
267
+ CHIP_INPUT: 'chipInput',
268
+ CHIP_LIST: 'chipList',
269
+ CIRCULAR_GAUGE: 'circularGauge',
270
+ COLOR_GRADIENT: 'colorGradient',
271
+ CPF_CNPJ_INPUT: 'cpfCnpjInput',
272
+ COLOR_PALETTE: 'colorPalette',
273
+ COLOR_PICKER: 'colorPicker',
274
+ COLOR_INPUT: 'color',
275
+ CRON_BUILDER: 'cronBuilder',
276
+ CONTEXT_MENU: 'contextMenu',
277
+ CONVERSATIONAL_UI: 'conversationalUI',
278
+ CURRENCY_INPUT: 'currency',
279
+ DATE_INPUT: 'dateInput',
280
+ DATE_PICKER: 'date',
281
+ DATE_RANGE: 'dateRange',
282
+ DATE_TIME_PICKER: 'dateTime',
283
+ DATE_TIME_RANGE: 'dateTimeRange',
284
+ DATETIME_LOCAL_INPUT: 'dateTimeLocal',
285
+ DIALOG: 'dialog',
286
+ DRAWER: 'drawer',
287
+ DROP_DOWN_TREE: 'dropDownTree',
288
+ EMAIL_INPUT: 'email',
289
+ EXPANSION_PANEL: 'expansionPanel',
290
+ FILE_SAVER: 'fileSaver',
291
+ FILE_SELECT: 'fileSelect',
292
+ FILE_UPLOAD: 'upload',
293
+ FILTER: 'filter',
294
+ FLOATING_LABEL: 'floatingLabel',
295
+ FLOATING_ACTION_BUTTON: 'floatingActionButton',
296
+ GRID: 'grid',
297
+ GRID_LAYOUT: 'gridLayout',
298
+ INPUT: 'input',
299
+ INLINE_SELECT: 'inlineSelect',
300
+ INLINE_SEARCHABLE_SELECT: 'inlineSearchableSelect',
301
+ INLINE_ASYNC_SELECT: 'inlineAsyncSelect',
302
+ INLINE_ENTITY_LOOKUP: 'inlineEntityLookup',
303
+ INLINE_AUTOCOMPLETE: 'inlineAutocomplete',
304
+ INLINE_INPUT: 'inlineInput',
305
+ INLINE_NUMBER: 'inlineNumber',
306
+ INLINE_CURRENCY: 'inlineCurrency',
307
+ INLINE_CURRENCY_RANGE: 'inlineCurrencyRange',
308
+ INLINE_MULTISELECT: 'inlineMultiSelect',
309
+ INLINE_TOGGLE: 'inlineToggle',
310
+ INLINE_RANGE: 'inlineRange',
311
+ INLINE_DATE: 'inlineDate',
312
+ INLINE_DATE_RANGE: 'inlineDateRange',
313
+ INLINE_TIME: 'inlineTime',
314
+ INLINE_TIME_RANGE: 'inlineTimeRange',
315
+ INLINE_TREE_SELECT: 'inlineTreeSelect',
316
+ INLINE_RATING: 'inlineRating',
317
+ INLINE_DISTANCE_RADIUS: 'inlineDistanceRadius',
318
+ INLINE_PIPELINE_STATUS: 'inlinePipelineStatus',
319
+ INLINE_SCORE_PRIORITY: 'inlineScorePriority',
320
+ INLINE_RELATIVE_PERIOD: 'inlineRelativePeriod',
321
+ INLINE_SENTIMENT: 'inlineSentiment',
322
+ INLINE_COLOR_LABEL: 'inlineColorLabel',
323
+ LINEAR_GAUGE: 'linearGauge',
324
+ LIST_VIEW: 'listView',
325
+ MAP: 'map',
326
+ MASKED_TEXT_BOX: 'maskedTextBox',
327
+ MONTH_INPUT: 'month',
328
+ MULTI_COLUMN_COMBO_BOX: 'multiColumnComboBox',
329
+ MULTI_SELECT: 'multiSelect',
330
+ MULTI_SELECT_TREE: 'multiSelectTree',
331
+ TRANSFER_LIST: 'transferList',
332
+ NOTIFICATION: 'notification',
333
+ NUMERIC_TEXT_BOX: 'numericTextBox',
334
+ PAGER: 'pager',
335
+ PAGINATOR: 'paginator',
336
+ PASSWORD: 'password',
337
+ PDF_VIEWER: 'pdfViewer',
338
+ PHONE: 'phone',
339
+ PIVOT_GRID: 'pivotGrid',
340
+ POPUP: 'popup',
341
+ PROGRESS_BAR: 'progressBar',
342
+ PROGRESS_SPINNER: 'progressSpinner',
343
+ QR_CODE: 'qrCode',
344
+ RADIO: 'radio',
345
+ RADIAL_GAUGE: 'radialGauge',
346
+ RANGE_SLIDER: 'rangeSlider',
347
+ PRICE_RANGE: 'priceRange',
348
+ RATING: 'rating',
349
+ RICH_TEXT_EDITOR: 'richTextEditor',
350
+ RIPPLE: 'ripple',
351
+ SCROLL_VIEW: 'scrollView',
352
+ SEARCH_INPUT: 'search',
353
+ SEARCHABLE_SELECT: 'searchable-select',
354
+ SELECTION_LIST: 'selectionList',
355
+ SELECT: 'select',
356
+ SIGNATURE: 'signature',
357
+ SLIDER: 'slider',
358
+ SORTABLE: 'sortable',
359
+ SORTABLE_TABLE: 'sortableTable',
360
+ SPLITTER: 'splitter',
361
+ SPREADSHEET: 'spreadsheet',
362
+ STACK_LAYOUT: 'stackLayout',
363
+ STEP_BAR: 'stepBar',
364
+ STEPPER: 'stepper',
365
+ SVG_ICON: 'svgIcon',
366
+ TABS: 'tabs',
367
+ TEXTAREA: 'textarea',
368
+ TIME_INPUT: 'time',
369
+ TIME_PICKER: 'timePicker',
370
+ TIME_RANGE: 'timeRange',
371
+ TIMELINE: 'timeline',
372
+ TOGGLE: 'toggle',
373
+ TOOLBAR: 'toolbar',
374
+ TOOLTIP: 'tooltip',
375
+ TREE_VIEW: 'treeView',
376
+ TREE_SELECT: 'treeSelect',
377
+ TYPOGRAPHY: 'typography',
378
+ URL_INPUT: 'url',
379
+ WEEK_INPUT: 'week',
380
+ WINDOW: 'window',
381
+ YEAR_INPUT: 'year',
382
+ };
383
+
384
+ const INLINE_FILTER_CONTROL_TYPES = Object.freeze({
385
+ SELECT: FieldControlType.INLINE_SELECT,
386
+ SEARCHABLE_SELECT: FieldControlType.INLINE_SEARCHABLE_SELECT,
387
+ ASYNC_SELECT: FieldControlType.INLINE_ASYNC_SELECT,
388
+ ENTITY_LOOKUP: FieldControlType.INLINE_ENTITY_LOOKUP,
389
+ AUTOCOMPLETE: FieldControlType.INLINE_AUTOCOMPLETE,
390
+ NUMBER: FieldControlType.INLINE_NUMBER,
391
+ CURRENCY: FieldControlType.INLINE_CURRENCY,
392
+ CURRENCY_RANGE: FieldControlType.INLINE_CURRENCY_RANGE,
393
+ MULTI_SELECT: FieldControlType.INLINE_MULTISELECT,
394
+ INPUT: FieldControlType.INLINE_INPUT,
395
+ TOGGLE: FieldControlType.INLINE_TOGGLE,
396
+ RANGE: FieldControlType.INLINE_RANGE,
397
+ DATE: FieldControlType.INLINE_DATE,
398
+ DATE_RANGE: FieldControlType.INLINE_DATE_RANGE,
399
+ TIME: FieldControlType.INLINE_TIME,
400
+ TIME_RANGE: FieldControlType.INLINE_TIME_RANGE,
401
+ TREE_SELECT: FieldControlType.INLINE_TREE_SELECT,
402
+ RATING: FieldControlType.INLINE_RATING,
403
+ DISTANCE_RADIUS: FieldControlType.INLINE_DISTANCE_RADIUS,
404
+ PIPELINE_STATUS: FieldControlType.INLINE_PIPELINE_STATUS,
405
+ SCORE_PRIORITY: FieldControlType.INLINE_SCORE_PRIORITY,
406
+ RELATIVE_PERIOD: FieldControlType.INLINE_RELATIVE_PERIOD,
407
+ SENTIMENT: FieldControlType.INLINE_SENTIMENT,
408
+ COLOR_LABEL: FieldControlType.INLINE_COLOR_LABEL,
409
+ });
410
+ const INLINE_FILTER_CONTROL_TYPE_VALUES = Object.freeze(Object.values(INLINE_FILTER_CONTROL_TYPES));
411
+ const INLINE_FILTER_CONTROL_TYPE_SET = new Set(INLINE_FILTER_CONTROL_TYPE_VALUES);
412
+ function normalizeInlineControlTypeToken(value) {
413
+ return String(value || '')
414
+ .trim()
415
+ .toLowerCase()
416
+ .replace(/[-_\s]/g, '');
417
+ }
418
+ const INLINE_FILTER_TOKEN_TO_CONTROL_TYPE_MAP = {
419
+ inlineselect: INLINE_FILTER_CONTROL_TYPES.SELECT,
420
+ inlinesearchableselect: INLINE_FILTER_CONTROL_TYPES.SEARCHABLE_SELECT,
421
+ inlineasyncselect: INLINE_FILTER_CONTROL_TYPES.ASYNC_SELECT,
422
+ inlineentitylookup: INLINE_FILTER_CONTROL_TYPES.ENTITY_LOOKUP,
423
+ inlineautocomplete: INLINE_FILTER_CONTROL_TYPES.AUTOCOMPLETE,
424
+ inlinenumber: INLINE_FILTER_CONTROL_TYPES.NUMBER,
425
+ inlinecurrency: INLINE_FILTER_CONTROL_TYPES.CURRENCY,
426
+ inlinecurrencyrange: INLINE_FILTER_CONTROL_TYPES.CURRENCY_RANGE,
427
+ inlinemultiselect: INLINE_FILTER_CONTROL_TYPES.MULTI_SELECT,
428
+ inlineinput: INLINE_FILTER_CONTROL_TYPES.INPUT,
429
+ inlinetoggle: INLINE_FILTER_CONTROL_TYPES.TOGGLE,
430
+ inlinerange: INLINE_FILTER_CONTROL_TYPES.RANGE,
431
+ inlinedate: INLINE_FILTER_CONTROL_TYPES.DATE,
432
+ inlinedaterange: INLINE_FILTER_CONTROL_TYPES.DATE_RANGE,
433
+ inlinetime: INLINE_FILTER_CONTROL_TYPES.TIME,
434
+ inlinetimerange: INLINE_FILTER_CONTROL_TYPES.TIME_RANGE,
435
+ inlinetreeselect: INLINE_FILTER_CONTROL_TYPES.TREE_SELECT,
436
+ inlinerating: INLINE_FILTER_CONTROL_TYPES.RATING,
437
+ inlinedistanceradius: INLINE_FILTER_CONTROL_TYPES.DISTANCE_RADIUS,
438
+ inlinepipelinestatus: INLINE_FILTER_CONTROL_TYPES.PIPELINE_STATUS,
439
+ inlinescorepriority: INLINE_FILTER_CONTROL_TYPES.SCORE_PRIORITY,
440
+ inlinerelativeperiod: INLINE_FILTER_CONTROL_TYPES.RELATIVE_PERIOD,
441
+ inlinesentiment: INLINE_FILTER_CONTROL_TYPES.SENTIMENT,
442
+ inlinecolorlabel: INLINE_FILTER_CONTROL_TYPES.COLOR_LABEL,
443
+ };
444
+ const INLINE_FILTER_TOKEN_TO_CONTROL_TYPE = Object.freeze(INLINE_FILTER_TOKEN_TO_CONTROL_TYPE_MAP);
445
+ const INLINE_FILTER_ALIAS_TOKENS = Object.freeze([]);
446
+ const INLINE_FILTER_TOKEN_TO_BASE_CONTROL_TYPE_MAP = {
447
+ inlineselect: FieldControlType.SELECT,
448
+ inlinesearchableselect: FieldControlType.SEARCHABLE_SELECT,
449
+ inlineasyncselect: FieldControlType.ASYNC_SELECT,
450
+ inlineentitylookup: FieldControlType.ASYNC_SELECT,
451
+ inlineautocomplete: FieldControlType.AUTO_COMPLETE,
452
+ inlinenumber: FieldControlType.NUMERIC_TEXT_BOX,
453
+ inlinecurrency: FieldControlType.CURRENCY_INPUT,
454
+ inlinecurrencyrange: FieldControlType.PRICE_RANGE,
455
+ inlinemultiselect: FieldControlType.MULTI_SELECT,
456
+ inlineinput: FieldControlType.INPUT,
457
+ inlinetoggle: FieldControlType.TOGGLE,
458
+ inlinerange: FieldControlType.RANGE_SLIDER,
459
+ inlinedate: FieldControlType.DATE_PICKER,
460
+ inlinedaterange: FieldControlType.DATE_RANGE,
461
+ inlinetime: FieldControlType.TIME_PICKER,
462
+ inlinetimerange: FieldControlType.TIME_RANGE,
463
+ inlinetreeselect: FieldControlType.TREE_SELECT,
464
+ inlinerating: FieldControlType.RATING,
465
+ inlinedistanceradius: FieldControlType.INLINE_DISTANCE_RADIUS,
466
+ inlinepipelinestatus: FieldControlType.INLINE_PIPELINE_STATUS,
467
+ inlinescorepriority: FieldControlType.INLINE_SCORE_PRIORITY,
468
+ inlinerelativeperiod: FieldControlType.INLINE_RELATIVE_PERIOD,
469
+ inlinesentiment: FieldControlType.INLINE_SENTIMENT,
470
+ inlinecolorlabel: FieldControlType.INLINE_COLOR_LABEL,
471
+ };
472
+ const INLINE_FILTER_TOKEN_TO_BASE_CONTROL_TYPE = Object.freeze(INLINE_FILTER_TOKEN_TO_BASE_CONTROL_TYPE_MAP);
473
+ function resolveInlineFilterControlType(value) {
474
+ const token = normalizeInlineControlTypeToken(value);
475
+ if (!token)
476
+ return undefined;
477
+ return INLINE_FILTER_TOKEN_TO_CONTROL_TYPE[token];
478
+ }
479
+ function resolveInlineFilterControlTypeToBaseControlType(value) {
480
+ const token = normalizeInlineControlTypeToken(value);
481
+ if (!token)
482
+ return undefined;
483
+ return INLINE_FILTER_TOKEN_TO_BASE_CONTROL_TYPE[token];
484
+ }
485
+ function isInlineFilterControlType(value) {
486
+ return INLINE_FILTER_CONTROL_TYPE_SET.has(String(value || '').trim());
487
+ }
488
+
489
+ function toUpperSnakeCase(raw) {
490
+ return raw
491
+ .trim()
492
+ .replace(/([a-z0-9])([A-Z])/g, '$1_$2')
493
+ .replace(/[-\s]+/g, '_')
494
+ .replace(/__+/g, '_')
495
+ .toUpperCase();
496
+ }
497
+ function normalizeControlTypeToken(value) {
498
+ return String(value || '')
499
+ .trim()
500
+ .toLowerCase()
501
+ .replace(/[-_\s]/g, '');
502
+ }
503
+ const CONTROL_TYPE_TOKEN_TO_KEY = Object.entries(FieldControlType).reduce((acc, [key, controlTypeValue]) => {
504
+ acc[normalizeControlTypeToken(key)] = key;
505
+ acc[normalizeControlTypeToken(controlTypeValue)] = key;
506
+ return acc;
507
+ }, {});
508
+ const ALIAS_TOKEN_TO_CONTROL_TYPE = {
509
+ // Legacy/common synonyms
510
+ searchable: FieldControlType.SEARCHABLE_SELECT,
511
+ searchableinput: FieldControlType.SEARCHABLE_SELECT,
512
+ searchableselect: FieldControlType.SEARCHABLE_SELECT,
513
+ materialsearchableselect: FieldControlType.SEARCHABLE_SELECT,
514
+ asyncselect: FieldControlType.ASYNC_SELECT,
515
+ materialasyncselect: FieldControlType.ASYNC_SELECT,
516
+ autocomplete: FieldControlType.AUTO_COMPLETE,
517
+ multiselect: FieldControlType.MULTI_SELECT,
518
+ multiselecttree: FieldControlType.MULTI_SELECT_TREE,
519
+ treeselect: FieldControlType.TREE_SELECT,
520
+ datepicker: FieldControlType.DATE_PICKER,
521
+ daterange: FieldControlType.DATE_RANGE,
522
+ datetime: FieldControlType.DATETIME_LOCAL_INPUT,
523
+ timepicker: FieldControlType.TIME_PICKER,
524
+ timerange: FieldControlType.TIME_RANGE,
525
+ pricerange: FieldControlType.PRICE_RANGE,
526
+ rangeslider: FieldControlType.RANGE_SLIDER,
527
+ number: FieldControlType.NUMERIC_TEXT_BOX,
528
+ numeric: FieldControlType.NUMERIC_TEXT_BOX,
529
+ currencyinput: FieldControlType.CURRENCY_INPUT,
530
+ switch: FieldControlType.TOGGLE,
531
+ radiogroup: FieldControlType.RADIO,
532
+ checkboxgroup: FieldControlType.CHECKBOX,
533
+ chiplist: FieldControlType.CHIP_LIST,
534
+ chipinput: FieldControlType.CHIP_INPUT,
535
+ searchinput: FieldControlType.SEARCH_INPUT,
536
+ };
537
+ function normalizeControlTypeKey(value) {
538
+ const token = normalizeControlTypeToken(value);
539
+ if (!token)
540
+ return '';
541
+ const resolvedKey = CONTROL_TYPE_TOKEN_TO_KEY[token];
542
+ if (resolvedKey)
543
+ return resolvedKey;
544
+ return toUpperSnakeCase(String(value || ''));
545
+ }
546
+ function resolveControlTypeAlias(value, fallback = FieldControlType.INPUT) {
547
+ const raw = String(value || '').trim();
548
+ if (!raw)
549
+ return fallback;
550
+ const token = normalizeControlTypeToken(raw);
551
+ const inlineAliased = INLINE_FILTER_TOKEN_TO_BASE_CONTROL_TYPE[token];
552
+ if (inlineAliased)
553
+ return inlineAliased;
554
+ const aliased = ALIAS_TOKEN_TO_CONTROL_TYPE[token];
555
+ if (aliased)
556
+ return aliased;
557
+ const resolvedKey = CONTROL_TYPE_TOKEN_TO_KEY[token];
558
+ if (resolvedKey) {
559
+ return FieldControlType[resolvedKey];
560
+ }
561
+ return raw;
562
+ }
563
+
243
564
  /**
244
565
  * SchemaNormalizerService
245
566
  * -----------------------
@@ -474,6 +795,11 @@ class SchemaNormalizerService {
474
795
  ? ui.validationTrigger.map((t) => String(t))
475
796
  : [String(ui.validationTrigger)];
476
797
  }
798
+ if (ui.validationTriggers !== undefined && out.validationTriggers === undefined) {
799
+ out.validationTriggers = Array.isArray(ui.validationTriggers)
800
+ ? ui.validationTriggers.map((t) => String(t))
801
+ : [String(ui.validationTriggers)];
802
+ }
477
803
  if (ui.validationDebounce !== undefined)
478
804
  out.validationDebounce = Number(ui.validationDebounce);
479
805
  if (ui.showInlineErrors !== undefined)
@@ -555,6 +881,9 @@ class SchemaNormalizerService {
555
881
  if (ui.controlType) {
556
882
  field.controlType = ui.controlType;
557
883
  }
884
+ if (ui.placeholder !== undefined) {
885
+ field.placeholder = String(ui.placeholder);
886
+ }
558
887
  if (ui.mode !== undefined) {
559
888
  field.mode = ui.mode;
560
889
  }
@@ -579,6 +908,12 @@ class SchemaNormalizerService {
579
908
  if (ui.layout !== undefined) {
580
909
  field.layout = String(ui.layout);
581
910
  }
911
+ if (ui.isFlex !== undefined) {
912
+ field.isFlex = this.parseBoolean(ui.isFlex);
913
+ }
914
+ if (ui.displayOrientation !== undefined) {
915
+ field.displayOrientation = String(ui.displayOrientation);
916
+ }
582
917
  // -------------------------------------------------------------------
583
918
  // Behaviour and validation
584
919
  // -------------------------------------------------------------------
@@ -588,12 +923,30 @@ class SchemaNormalizerService {
588
923
  if (ui.disabled !== undefined) {
589
924
  field.disabled = this.parseBoolean(ui.disabled);
590
925
  }
926
+ if (ui.editable !== undefined) {
927
+ field.editable = this.parseBoolean(ui.editable);
928
+ }
591
929
  if (ui.inlineEditing !== undefined) {
592
930
  field.inlineEditing = this.parseBoolean(ui.inlineEditing);
593
931
  }
594
932
  if (ui.defaultValue !== undefined) {
595
933
  field.defaultValue = ui.defaultValue;
596
934
  }
935
+ if (ui.validationMode !== undefined) {
936
+ field.validationMode = String(ui.validationMode);
937
+ }
938
+ if (ui.unique !== undefined) {
939
+ field.unique = this.parseBoolean(ui.unique);
940
+ }
941
+ if (ui.mask !== undefined) {
942
+ field.mask = String(ui.mask);
943
+ }
944
+ if (ui.sortable !== undefined) {
945
+ field.sortable = this.parseBoolean(ui.sortable);
946
+ }
947
+ if (ui.viewOnlyStyle !== undefined) {
948
+ field.viewOnlyStyle = String(ui.viewOnlyStyle);
949
+ }
597
950
  Object.assign(field, this.parseValidators(ui));
598
951
  // Inline conditional functions
599
952
  const condDisplay = this.parsePredicateFunction(ui.conditionalDisplay);
@@ -624,9 +977,15 @@ class SchemaNormalizerService {
624
977
  if (ui.width !== undefined) {
625
978
  field.width = ui.width;
626
979
  }
980
+ if (ui.helpText !== undefined) {
981
+ field.helpText = String(ui.helpText);
982
+ }
627
983
  if (ui.hint !== undefined) {
628
984
  field.hint = ui.hint;
629
985
  }
986
+ if (ui.hiddenCondition !== undefined) {
987
+ field.hiddenCondition = ui.hiddenCondition;
988
+ }
630
989
  if (ui.icon !== undefined) {
631
990
  field.icon = ui.icon;
632
991
  }
@@ -636,6 +995,18 @@ class SchemaNormalizerService {
636
995
  if (ui.iconSize !== undefined) {
637
996
  field.iconSize = ui.iconSize;
638
997
  }
998
+ if (ui.iconColor !== undefined) {
999
+ field.iconColor = String(ui.iconColor);
1000
+ }
1001
+ if (ui.iconClass !== undefined) {
1002
+ field.iconClass = String(ui.iconClass);
1003
+ }
1004
+ if (ui.iconStyle !== undefined) {
1005
+ field.iconStyle = String(ui.iconStyle);
1006
+ }
1007
+ if (ui.iconFontSize !== undefined) {
1008
+ field.iconFontSize = ui.iconFontSize;
1009
+ }
639
1010
  if (ui.tooltipOnHover !== undefined) {
640
1011
  field.tooltipOnHover = ui.tooltipOnHover;
641
1012
  }
@@ -698,15 +1069,41 @@ class SchemaNormalizerService {
698
1069
  if (ui.multiple !== undefined) {
699
1070
  field.multiple = this.parseBoolean(ui.multiple);
700
1071
  }
1072
+ if (ui.filterable !== undefined) {
1073
+ field.filterable = this.parseBoolean(ui.filterable);
1074
+ }
701
1075
  if (ui.emptyOptionText !== undefined) {
702
1076
  field.emptyOptionText = ui.emptyOptionText;
703
1077
  }
1078
+ if (ui.filter !== undefined) {
1079
+ field.filter = ui.filter;
1080
+ }
1081
+ if (ui.filterOptions !== undefined) {
1082
+ field.filterOptions = Array.isArray(ui.filterOptions)
1083
+ ? [...ui.filterOptions]
1084
+ : this.parseStringArray(ui.filterOptions);
1085
+ }
704
1086
  if (ui.dependentField !== undefined) {
705
1087
  field.dependentField = ui.dependentField;
706
1088
  }
707
1089
  if (ui.resetOnDependentChange !== undefined) {
708
1090
  field.resetOnDependentChange = this.parseBoolean(ui.resetOnDependentChange);
709
1091
  }
1092
+ if (ui.debounceTime !== undefined) {
1093
+ field.debounceTime = Number(ui.debounceTime);
1094
+ }
1095
+ if (ui.numericStep !== undefined) {
1096
+ field.numericStep = Number(ui.numericStep);
1097
+ }
1098
+ if (ui.numericMin !== undefined) {
1099
+ field.numericMin = Number(ui.numericMin);
1100
+ }
1101
+ if (ui.numericMax !== undefined) {
1102
+ field.numericMax = Number(ui.numericMax);
1103
+ }
1104
+ if (ui.numericMaxLength !== undefined) {
1105
+ field.numericMaxLength = Number(ui.numericMaxLength);
1106
+ }
710
1107
  if (ui.buttons !== undefined) {
711
1108
  field.buttons = this.parseButtons(ui.buttons);
712
1109
  }
@@ -2830,7 +3227,8 @@ class GenericCrudService {
2830
3227
  const rawName = String(field?.name || '').trim();
2831
3228
  if (!rawName)
2832
3229
  continue;
2833
- const controlType = this.normalizeControlTypeToken(field?.controlType || field?.filterControlType);
3230
+ const aliasedControlType = resolveControlTypeAlias(field?.controlType, '');
3231
+ const controlType = this.normalizeControlTypeToken(aliasedControlType);
2834
3232
  if (!this.isRangeControlType(controlType))
2835
3233
  continue;
2836
3234
  const full = rawName.toLowerCase();
@@ -4783,124 +5181,6 @@ function buildValidatorsFromValidatorOptions(opts = {}) {
4783
5181
  return { validators: v, asyncValidators: av };
4784
5182
  }
4785
5183
 
4786
- /**
4787
- * Enum que define os tipos de controle (`CONTROL_TYPE`) disponíveis para a apresentação dos campos de formulário.
4788
- *
4789
- * O `CONTROL_TYPE` especifica o tipo de elemento de UI (User Interface) que será usado para capturar ou exibir dados do campo.
4790
- * Essa configuração permite que a camada de apresentação saiba como renderizar o campo e oferecer a interação adequada ao usuário.
4791
- * Em casos onde o `CONTROL_TYPE` não é especificado, a camada de apresentação pode usar o valor de `TYPE` (definido em `FieldDataType`)
4792
- * para decidir o controle mais adequado de forma automática.
4793
- */
4794
- const FieldControlType = {
4795
- AI_PROMPT: 'aiPrompt',
4796
- APP_BAR: 'appBar',
4797
- ARC_GAUGE: 'arcGauge',
4798
- ARRAY_INPUT: 'array',
4799
- ASYNC_SELECT: 'async-select',
4800
- AUTO_COMPLETE: 'autoComplete',
4801
- AVATAR: 'avatar',
4802
- BARCODE_GENERATOR: 'barcodeGenerator',
4803
- BOTTOM_NAVIGATION: 'bottomNavigation',
4804
- BREADCRUMB: 'breadcrumb',
4805
- BUTTON: 'button',
4806
- BUTTON_GROUP: 'buttonGroup',
4807
- BUTTON_TOGGLE: 'buttonToggle',
4808
- CALENDAR: 'calendar',
4809
- CARD: 'card',
4810
- CHECKBOX: 'checkbox',
4811
- CHIP_INPUT: 'chipInput',
4812
- CHIP_LIST: 'chipList',
4813
- CIRCULAR_GAUGE: 'circularGauge',
4814
- COLOR_GRADIENT: 'colorGradient',
4815
- CPF_CNPJ_INPUT: 'cpfCnpjInput',
4816
- COLOR_PALETTE: 'colorPalette',
4817
- COLOR_PICKER: 'colorPicker',
4818
- COLOR_INPUT: 'color',
4819
- CRON_BUILDER: 'cronBuilder',
4820
- CONTEXT_MENU: 'contextMenu',
4821
- CONVERSATIONAL_UI: 'conversationalUI',
4822
- CURRENCY_INPUT: 'currency',
4823
- DATE_INPUT: 'dateInput',
4824
- DATE_PICKER: 'date',
4825
- DATE_RANGE: 'dateRange',
4826
- DATE_TIME_PICKER: 'dateTime',
4827
- DATE_TIME_RANGE: 'dateTimeRange',
4828
- DATETIME_LOCAL_INPUT: 'dateTimeLocal',
4829
- DIALOG: 'dialog',
4830
- DRAWER: 'drawer',
4831
- DROP_DOWN_TREE: 'dropDownTree',
4832
- EMAIL_INPUT: 'email',
4833
- EXPANSION_PANEL: 'expansionPanel',
4834
- FILE_SAVER: 'fileSaver',
4835
- FILE_SELECT: 'fileSelect',
4836
- FILE_UPLOAD: 'upload',
4837
- FILTER: 'filter',
4838
- FLOATING_LABEL: 'floatingLabel',
4839
- FLOATING_ACTION_BUTTON: 'floatingActionButton',
4840
- GRID: 'grid',
4841
- GRID_LAYOUT: 'gridLayout',
4842
- INPUT: 'input',
4843
- LINEAR_GAUGE: 'linearGauge',
4844
- LIST_VIEW: 'listView',
4845
- MAP: 'map',
4846
- MASKED_TEXT_BOX: 'maskedTextBox',
4847
- MONTH_INPUT: 'month',
4848
- MULTI_COLUMN_COMBO_BOX: 'multiColumnComboBox',
4849
- MULTI_SELECT: 'multiSelect',
4850
- MULTI_SELECT_TREE: 'multiSelectTree',
4851
- TRANSFER_LIST: 'transferList',
4852
- NOTIFICATION: 'notification',
4853
- NUMERIC_TEXT_BOX: 'numericTextBox',
4854
- PAGER: 'pager',
4855
- PAGINATOR: 'paginator',
4856
- PASSWORD: 'password',
4857
- PDF_VIEWER: 'pdfViewer',
4858
- PHONE: 'phone',
4859
- PIVOT_GRID: 'pivotGrid',
4860
- POPUP: 'popup',
4861
- PROGRESS_BAR: 'progressBar',
4862
- PROGRESS_SPINNER: 'progressSpinner',
4863
- QR_CODE: 'qrCode',
4864
- RADIO: 'radio',
4865
- RADIAL_GAUGE: 'radialGauge',
4866
- RANGE_SLIDER: 'rangeSlider',
4867
- PRICE_RANGE: 'priceRange',
4868
- RATING: 'rating',
4869
- RICH_TEXT_EDITOR: 'richTextEditor',
4870
- RIPPLE: 'ripple',
4871
- SCROLL_VIEW: 'scrollView',
4872
- SEARCH_INPUT: 'search',
4873
- SEARCHABLE_SELECT: 'searchable-select',
4874
- SELECTION_LIST: 'selectionList',
4875
- SELECT: 'select',
4876
- SIGNATURE: 'signature',
4877
- SLIDER: 'slider',
4878
- SORTABLE: 'sortable',
4879
- SORTABLE_TABLE: 'sortableTable',
4880
- SPLITTER: 'splitter',
4881
- SPREADSHEET: 'spreadsheet',
4882
- STACK_LAYOUT: 'stackLayout',
4883
- STEP_BAR: 'stepBar',
4884
- STEPPER: 'stepper',
4885
- SVG_ICON: 'svgIcon',
4886
- TABS: 'tabs',
4887
- TEXTAREA: 'textarea',
4888
- TIME_INPUT: 'time',
4889
- TIME_PICKER: 'timePicker',
4890
- TIME_RANGE: 'timeRange',
4891
- TIMELINE: 'timeline',
4892
- TOGGLE: 'toggle',
4893
- TOOLBAR: 'toolbar',
4894
- TOOLTIP: 'tooltip',
4895
- TREE_VIEW: 'treeView',
4896
- TREE_SELECT: 'treeSelect',
4897
- TYPOGRAPHY: 'typography',
4898
- URL_INPUT: 'url',
4899
- WEEK_INPUT: 'week',
4900
- WINDOW: 'window',
4901
- YEAR_INPUT: 'year',
4902
- };
4903
-
4904
5184
  /**
4905
5185
  * DynamicFormService
4906
5186
  * -------------------
@@ -10690,13 +10970,17 @@ function mapFieldDefinitionToMetadata(field) {
10690
10970
  'mode',
10691
10971
  'width',
10692
10972
  'isFlex',
10973
+ 'displayOrientation',
10693
10974
  'disabled',
10694
10975
  'readOnly',
10695
10976
  'hidden',
10696
10977
  'formHidden',
10697
10978
  'tableHidden',
10979
+ 'editable',
10980
+ 'validationMode',
10698
10981
  'unique',
10699
10982
  'mask',
10983
+ 'viewOnlyStyle',
10700
10984
  'inlineEditing',
10701
10985
  'multiple',
10702
10986
  'searchable',
@@ -10707,6 +10991,11 @@ function mapFieldDefinitionToMetadata(field) {
10707
10991
  'variant',
10708
10992
  'density',
10709
10993
  'layout',
10994
+ 'debounceTime',
10995
+ 'iconColor',
10996
+ 'iconClass',
10997
+ 'iconStyle',
10998
+ 'iconFontSize',
10710
10999
  ];
10711
11000
  for (const prop of simpleProps) {
10712
11001
  const value = field[prop];
@@ -10775,6 +11064,9 @@ function mapFieldDefinitionToMetadata(field) {
10775
11064
  if (field.hint || field.helpText) {
10776
11065
  metadata.hint = field.hint ?? field.helpText;
10777
11066
  }
11067
+ if (field.hiddenCondition !== undefined) {
11068
+ metadata.hiddenCondition = field.hiddenCondition;
11069
+ }
10778
11070
  if (field.clearButton !== undefined) {
10779
11071
  metadata.clearButton = field.clearButton;
10780
11072
  }
@@ -10837,6 +11129,10 @@ function mapFieldDefinitionToMetadata(field) {
10837
11129
  validators.uniqueValidator = field.uniqueValidator;
10838
11130
  if (field.uniqueMessage !== undefined)
10839
11131
  validators.uniqueMessage = field.uniqueMessage;
11132
+ if (field.customValidator !== undefined)
11133
+ validators.customValidator = field.customValidator;
11134
+ if (field.asyncValidator !== undefined)
11135
+ validators.asyncValidator = field.asyncValidator;
10840
11136
  // Conditional: suportar função direta e/ou regras compostas
10841
11137
  if (field.conditionalValidation !== undefined) {
10842
11138
  const cv = field.conditionalValidation;
@@ -11255,265 +11551,6 @@ function resolveBuiltinPresets(locale, dateAdapter, opts = {}) {
11255
11551
  return presets;
11256
11552
  }
11257
11553
 
11258
- const INLINE_FILTER_CONTROL_TYPES = Object.freeze({
11259
- SELECT: 'filter-select-inline',
11260
- SEARCHABLE_SELECT: 'filter-searchable-select-inline',
11261
- ASYNC_SELECT: 'filter-async-select-inline',
11262
- ENTITY_LOOKUP: 'filter-entity-lookup-inline',
11263
- AUTOCOMPLETE: 'filter-autocomplete-inline',
11264
- NUMBER: 'filter-number-inline',
11265
- CURRENCY: 'filter-currency-inline',
11266
- CURRENCY_RANGE: 'filter-currency-range-inline',
11267
- MULTI_SELECT: 'filter-multiselect-inline',
11268
- INPUT: 'filter-input-inline',
11269
- TOGGLE: 'filter-toggle-inline',
11270
- RANGE: 'filter-range-inline',
11271
- DATE: 'filter-date-inline',
11272
- DATE_RANGE: 'filter-date-range-inline',
11273
- TIME: 'filter-time-inline',
11274
- TIME_RANGE: 'filter-time-range-inline',
11275
- TREE_SELECT: 'filter-tree-select-inline',
11276
- RATING: 'filter-rating-inline',
11277
- DISTANCE_RADIUS: 'filter-distance-radius-inline',
11278
- PIPELINE_STATUS: 'filter-pipeline-status-inline',
11279
- SCORE_PRIORITY: 'filter-score-priority-inline',
11280
- RELATIVE_PERIOD: 'filter-relative-period-inline',
11281
- SENTIMENT: 'filter-sentiment-inline',
11282
- COLOR_LABEL: 'filter-color-label-inline',
11283
- });
11284
- const INLINE_FILTER_CONTROL_TYPE_VALUES = Object.freeze(Object.values(INLINE_FILTER_CONTROL_TYPES));
11285
- const INLINE_FILTER_CONTROL_TYPE_SET = new Set(INLINE_FILTER_CONTROL_TYPE_VALUES);
11286
- function normalizeInlineControlTypeToken(value) {
11287
- return String(value || '')
11288
- .trim()
11289
- .toLowerCase()
11290
- .replace(/[-_\s]/g, '');
11291
- }
11292
- const INLINE_FILTER_ALIAS_TOKEN_TO_CONTROL_TYPE_MAP = {
11293
- filterselectinline: INLINE_FILTER_CONTROL_TYPES.SELECT,
11294
- filterinlineselect: INLINE_FILTER_CONTROL_TYPES.SELECT,
11295
- pdxfilterinlineselect: INLINE_FILTER_CONTROL_TYPES.SELECT,
11296
- filtersearchableselectinline: INLINE_FILTER_CONTROL_TYPES.SEARCHABLE_SELECT,
11297
- filterinlinesearchableselect: INLINE_FILTER_CONTROL_TYPES.SEARCHABLE_SELECT,
11298
- pdxfilterinlinesearchableselect: INLINE_FILTER_CONTROL_TYPES.SEARCHABLE_SELECT,
11299
- filterasyncselectinline: INLINE_FILTER_CONTROL_TYPES.ASYNC_SELECT,
11300
- filterinlineasyncselect: INLINE_FILTER_CONTROL_TYPES.ASYNC_SELECT,
11301
- pdxfilterinlineasyncselect: INLINE_FILTER_CONTROL_TYPES.ASYNC_SELECT,
11302
- filterentitylookupinline: INLINE_FILTER_CONTROL_TYPES.ENTITY_LOOKUP,
11303
- filterinlineentitylookup: INLINE_FILTER_CONTROL_TYPES.ENTITY_LOOKUP,
11304
- entitylookupinline: INLINE_FILTER_CONTROL_TYPES.ENTITY_LOOKUP,
11305
- entitylookup: INLINE_FILTER_CONTROL_TYPES.ENTITY_LOOKUP,
11306
- pdxfilterinlineentitylookup: INLINE_FILTER_CONTROL_TYPES.ENTITY_LOOKUP,
11307
- filterautocompleteinline: INLINE_FILTER_CONTROL_TYPES.AUTOCOMPLETE,
11308
- filterinlineautocomplete: INLINE_FILTER_CONTROL_TYPES.AUTOCOMPLETE,
11309
- pdxfilterinlineautocomplete: INLINE_FILTER_CONTROL_TYPES.AUTOCOMPLETE,
11310
- filternumberinline: INLINE_FILTER_CONTROL_TYPES.NUMBER,
11311
- filterinlinenumber: INLINE_FILTER_CONTROL_TYPES.NUMBER,
11312
- pdxfilterinlinenumber: INLINE_FILTER_CONTROL_TYPES.NUMBER,
11313
- filtercurrencyinline: INLINE_FILTER_CONTROL_TYPES.CURRENCY,
11314
- filterinlinecurrency: INLINE_FILTER_CONTROL_TYPES.CURRENCY,
11315
- pdxfilterinlinecurrency: INLINE_FILTER_CONTROL_TYPES.CURRENCY,
11316
- filtercurrencyrangeinline: INLINE_FILTER_CONTROL_TYPES.CURRENCY_RANGE,
11317
- filterinlinecurrencyrange: INLINE_FILTER_CONTROL_TYPES.CURRENCY_RANGE,
11318
- pdxfilterinlinecurrencyrange: INLINE_FILTER_CONTROL_TYPES.CURRENCY_RANGE,
11319
- filtermultiselectinline: INLINE_FILTER_CONTROL_TYPES.MULTI_SELECT,
11320
- filterinlinemultiselect: INLINE_FILTER_CONTROL_TYPES.MULTI_SELECT,
11321
- pdxfilterinlinemultiselect: INLINE_FILTER_CONTROL_TYPES.MULTI_SELECT,
11322
- filterinputinline: INLINE_FILTER_CONTROL_TYPES.INPUT,
11323
- filterinlineinput: INLINE_FILTER_CONTROL_TYPES.INPUT,
11324
- pdxfilterinlineinput: INLINE_FILTER_CONTROL_TYPES.INPUT,
11325
- filtertoggleinline: INLINE_FILTER_CONTROL_TYPES.TOGGLE,
11326
- filterinlinetoggle: INLINE_FILTER_CONTROL_TYPES.TOGGLE,
11327
- pdxfilterinlinetoggle: INLINE_FILTER_CONTROL_TYPES.TOGGLE,
11328
- filterrangeinline: INLINE_FILTER_CONTROL_TYPES.RANGE,
11329
- filterinlinerangeslider: INLINE_FILTER_CONTROL_TYPES.RANGE,
11330
- pdxfilterinlinerangeslider: INLINE_FILTER_CONTROL_TYPES.RANGE,
11331
- filterdateinline: INLINE_FILTER_CONTROL_TYPES.DATE,
11332
- filterinlinedate: INLINE_FILTER_CONTROL_TYPES.DATE,
11333
- pdxfilterinlinedate: INLINE_FILTER_CONTROL_TYPES.DATE,
11334
- filterdaterangeinline: INLINE_FILTER_CONTROL_TYPES.DATE_RANGE,
11335
- filterinlinedaterange: INLINE_FILTER_CONTROL_TYPES.DATE_RANGE,
11336
- pdxfilterinlinedaterange: INLINE_FILTER_CONTROL_TYPES.DATE_RANGE,
11337
- filtertimeinline: INLINE_FILTER_CONTROL_TYPES.TIME,
11338
- filterinlinetime: INLINE_FILTER_CONTROL_TYPES.TIME,
11339
- pdxfilterinlinetime: INLINE_FILTER_CONTROL_TYPES.TIME,
11340
- filtertimerangeinline: INLINE_FILTER_CONTROL_TYPES.TIME_RANGE,
11341
- filterinlinetimerange: INLINE_FILTER_CONTROL_TYPES.TIME_RANGE,
11342
- pdxfilterinlinetimerange: INLINE_FILTER_CONTROL_TYPES.TIME_RANGE,
11343
- filtertreeselectinline: INLINE_FILTER_CONTROL_TYPES.TREE_SELECT,
11344
- filterinlinetreeselect: INLINE_FILTER_CONTROL_TYPES.TREE_SELECT,
11345
- pdxfilterinlinetreeselect: INLINE_FILTER_CONTROL_TYPES.TREE_SELECT,
11346
- filterratinginline: INLINE_FILTER_CONTROL_TYPES.RATING,
11347
- filterinlinerating: INLINE_FILTER_CONTROL_TYPES.RATING,
11348
- pdxfilterinlinerating: INLINE_FILTER_CONTROL_TYPES.RATING,
11349
- filterdistanceradiusinline: INLINE_FILTER_CONTROL_TYPES.DISTANCE_RADIUS,
11350
- filterinlinedistanceradius: INLINE_FILTER_CONTROL_TYPES.DISTANCE_RADIUS,
11351
- pdxfilterinlinedistanceradius: INLINE_FILTER_CONTROL_TYPES.DISTANCE_RADIUS,
11352
- filterpipelinestatusinline: INLINE_FILTER_CONTROL_TYPES.PIPELINE_STATUS,
11353
- filterinlinepipelinestatus: INLINE_FILTER_CONTROL_TYPES.PIPELINE_STATUS,
11354
- pdxfilterinlinepipelinestatus: INLINE_FILTER_CONTROL_TYPES.PIPELINE_STATUS,
11355
- filterscorepriorityinline: INLINE_FILTER_CONTROL_TYPES.SCORE_PRIORITY,
11356
- filterinlinescorepriority: INLINE_FILTER_CONTROL_TYPES.SCORE_PRIORITY,
11357
- pdxfilterinlinescorepriority: INLINE_FILTER_CONTROL_TYPES.SCORE_PRIORITY,
11358
- filterrelativeperiodinline: INLINE_FILTER_CONTROL_TYPES.RELATIVE_PERIOD,
11359
- filterinlinerelativeperiod: INLINE_FILTER_CONTROL_TYPES.RELATIVE_PERIOD,
11360
- pdxfilterinlinerelativeperiod: INLINE_FILTER_CONTROL_TYPES.RELATIVE_PERIOD,
11361
- filtersentimentinline: INLINE_FILTER_CONTROL_TYPES.SENTIMENT,
11362
- filterinlinesentiment: INLINE_FILTER_CONTROL_TYPES.SENTIMENT,
11363
- pdxfilterinlinesentiment: INLINE_FILTER_CONTROL_TYPES.SENTIMENT,
11364
- filtercolorlabelinline: INLINE_FILTER_CONTROL_TYPES.COLOR_LABEL,
11365
- filterinlinecolorlabel: INLINE_FILTER_CONTROL_TYPES.COLOR_LABEL,
11366
- pdxfilterinlinecolorlabel: INLINE_FILTER_CONTROL_TYPES.COLOR_LABEL,
11367
- };
11368
- const INLINE_FILTER_ALIAS_TOKEN_TO_CONTROL_TYPE = Object.freeze(INLINE_FILTER_ALIAS_TOKEN_TO_CONTROL_TYPE_MAP);
11369
- const INLINE_FILTER_ALIAS_TOKENS = Object.freeze(Object.keys(INLINE_FILTER_ALIAS_TOKEN_TO_CONTROL_TYPE));
11370
- const INLINE_FILTER_ALIAS_TOKEN_TO_BASE_CONTROL_TYPE_MAP = {
11371
- filterselectinline: FieldControlType.SELECT,
11372
- filterinlineselect: FieldControlType.SELECT,
11373
- pdxfilterinlineselect: FieldControlType.SELECT,
11374
- filtermultiselectinline: FieldControlType.MULTI_SELECT,
11375
- filterinlinemultiselect: FieldControlType.MULTI_SELECT,
11376
- pdxfilterinlinemultiselect: FieldControlType.MULTI_SELECT,
11377
- filterinputinline: FieldControlType.INPUT,
11378
- filterinlineinput: FieldControlType.INPUT,
11379
- pdxfilterinlineinput: FieldControlType.INPUT,
11380
- filtertoggleinline: FieldControlType.TOGGLE,
11381
- filterinlinetoggle: FieldControlType.TOGGLE,
11382
- pdxfilterinlinetoggle: FieldControlType.TOGGLE,
11383
- filterrangeinline: FieldControlType.RANGE_SLIDER,
11384
- filterinlinerangeslider: FieldControlType.RANGE_SLIDER,
11385
- pdxfilterinlinerangeslider: FieldControlType.RANGE_SLIDER,
11386
- filtersearchableselectinline: FieldControlType.SEARCHABLE_SELECT,
11387
- filterinlinesearchableselect: FieldControlType.SEARCHABLE_SELECT,
11388
- pdxfilterinlinesearchableselect: FieldControlType.SEARCHABLE_SELECT,
11389
- filterasyncselectinline: FieldControlType.ASYNC_SELECT,
11390
- filterinlineasyncselect: FieldControlType.ASYNC_SELECT,
11391
- pdxfilterinlineasyncselect: FieldControlType.ASYNC_SELECT,
11392
- filterentitylookupinline: FieldControlType.ASYNC_SELECT,
11393
- filterinlineentitylookup: FieldControlType.ASYNC_SELECT,
11394
- entitylookupinline: FieldControlType.ASYNC_SELECT,
11395
- entitylookup: FieldControlType.ASYNC_SELECT,
11396
- pdxfilterinlineentitylookup: FieldControlType.ASYNC_SELECT,
11397
- filterautocompleteinline: FieldControlType.AUTO_COMPLETE,
11398
- filterinlineautocomplete: FieldControlType.AUTO_COMPLETE,
11399
- pdxfilterinlineautocomplete: FieldControlType.AUTO_COMPLETE,
11400
- filternumberinline: FieldControlType.NUMERIC_TEXT_BOX,
11401
- filterinlinenumber: FieldControlType.NUMERIC_TEXT_BOX,
11402
- pdxfilterinlinenumber: FieldControlType.NUMERIC_TEXT_BOX,
11403
- filtercurrencyinline: FieldControlType.CURRENCY_INPUT,
11404
- filterinlinecurrency: FieldControlType.CURRENCY_INPUT,
11405
- pdxfilterinlinecurrency: FieldControlType.CURRENCY_INPUT,
11406
- filtercurrencyrangeinline: FieldControlType.PRICE_RANGE,
11407
- filterinlinecurrencyrange: FieldControlType.PRICE_RANGE,
11408
- pdxfilterinlinecurrencyrange: FieldControlType.PRICE_RANGE,
11409
- filterdateinline: FieldControlType.DATE_PICKER,
11410
- filterinlinedate: FieldControlType.DATE_PICKER,
11411
- pdxfilterinlinedate: FieldControlType.DATE_PICKER,
11412
- filterdaterangeinline: FieldControlType.DATE_RANGE,
11413
- filterinlinedaterange: FieldControlType.DATE_RANGE,
11414
- pdxfilterinlinedaterange: FieldControlType.DATE_RANGE,
11415
- filtertimeinline: FieldControlType.TIME_PICKER,
11416
- filterinlinetime: FieldControlType.TIME_PICKER,
11417
- pdxfilterinlinetime: FieldControlType.TIME_PICKER,
11418
- filtertimerangeinline: FieldControlType.TIME_RANGE,
11419
- filterinlinetimerange: FieldControlType.TIME_RANGE,
11420
- pdxfilterinlinetimerange: FieldControlType.TIME_RANGE,
11421
- filtertreeselectinline: FieldControlType.TREE_SELECT,
11422
- filterinlinetreeselect: FieldControlType.TREE_SELECT,
11423
- pdxfilterinlinetreeselect: FieldControlType.TREE_SELECT,
11424
- };
11425
- const INLINE_FILTER_ALIAS_TOKEN_TO_BASE_CONTROL_TYPE = Object.freeze(INLINE_FILTER_ALIAS_TOKEN_TO_BASE_CONTROL_TYPE_MAP);
11426
- function resolveInlineFilterControlTypeAlias(value) {
11427
- const token = normalizeInlineControlTypeToken(value);
11428
- if (!token)
11429
- return undefined;
11430
- return INLINE_FILTER_ALIAS_TOKEN_TO_CONTROL_TYPE[token];
11431
- }
11432
- function resolveInlineFilterAliasToBaseControlType(value) {
11433
- const token = normalizeInlineControlTypeToken(value);
11434
- if (!token)
11435
- return undefined;
11436
- return INLINE_FILTER_ALIAS_TOKEN_TO_BASE_CONTROL_TYPE[token];
11437
- }
11438
- function isInlineFilterControlType(value) {
11439
- return INLINE_FILTER_CONTROL_TYPE_SET.has(String(value || '').trim());
11440
- }
11441
-
11442
- function toUpperSnakeCase(raw) {
11443
- return raw
11444
- .trim()
11445
- .replace(/([a-z0-9])([A-Z])/g, '$1_$2')
11446
- .replace(/[-\s]+/g, '_')
11447
- .replace(/__+/g, '_')
11448
- .toUpperCase();
11449
- }
11450
- function normalizeControlTypeToken(value) {
11451
- return String(value || '')
11452
- .trim()
11453
- .toLowerCase()
11454
- .replace(/[-_\s]/g, '');
11455
- }
11456
- const CONTROL_TYPE_TOKEN_TO_KEY = Object.entries(FieldControlType).reduce((acc, [key, controlTypeValue]) => {
11457
- acc[normalizeControlTypeToken(key)] = key;
11458
- acc[normalizeControlTypeToken(controlTypeValue)] = key;
11459
- return acc;
11460
- }, {});
11461
- const ALIAS_TOKEN_TO_CONTROL_TYPE = {
11462
- // Legacy/common synonyms
11463
- searchable: FieldControlType.SEARCHABLE_SELECT,
11464
- searchableinput: FieldControlType.SEARCHABLE_SELECT,
11465
- searchableselect: FieldControlType.SEARCHABLE_SELECT,
11466
- materialsearchableselect: FieldControlType.SEARCHABLE_SELECT,
11467
- asyncselect: FieldControlType.ASYNC_SELECT,
11468
- materialasyncselect: FieldControlType.ASYNC_SELECT,
11469
- autocomplete: FieldControlType.AUTO_COMPLETE,
11470
- multiselect: FieldControlType.MULTI_SELECT,
11471
- multiselecttree: FieldControlType.MULTI_SELECT_TREE,
11472
- treeselect: FieldControlType.TREE_SELECT,
11473
- datepicker: FieldControlType.DATE_PICKER,
11474
- daterange: FieldControlType.DATE_RANGE,
11475
- datetime: FieldControlType.DATETIME_LOCAL_INPUT,
11476
- timepicker: FieldControlType.TIME_PICKER,
11477
- timerange: FieldControlType.TIME_RANGE,
11478
- pricerange: FieldControlType.PRICE_RANGE,
11479
- rangeslider: FieldControlType.RANGE_SLIDER,
11480
- number: FieldControlType.NUMERIC_TEXT_BOX,
11481
- numeric: FieldControlType.NUMERIC_TEXT_BOX,
11482
- currencyinput: FieldControlType.CURRENCY_INPUT,
11483
- switch: FieldControlType.TOGGLE,
11484
- radiogroup: FieldControlType.RADIO,
11485
- checkboxgroup: FieldControlType.CHECKBOX,
11486
- chiplist: FieldControlType.CHIP_LIST,
11487
- chipinput: FieldControlType.CHIP_INPUT,
11488
- searchinput: FieldControlType.SEARCH_INPUT,
11489
- };
11490
- function normalizeControlTypeKey(value) {
11491
- const token = normalizeControlTypeToken(value);
11492
- if (!token)
11493
- return '';
11494
- const resolvedKey = CONTROL_TYPE_TOKEN_TO_KEY[token];
11495
- if (resolvedKey)
11496
- return resolvedKey;
11497
- return toUpperSnakeCase(String(value || ''));
11498
- }
11499
- function resolveControlTypeAlias(value, fallback = FieldControlType.INPUT) {
11500
- const raw = String(value || '').trim();
11501
- if (!raw)
11502
- return fallback;
11503
- const token = normalizeControlTypeToken(raw);
11504
- const inlineAliased = INLINE_FILTER_ALIAS_TOKEN_TO_BASE_CONTROL_TYPE[token];
11505
- if (inlineAliased)
11506
- return inlineAliased;
11507
- const aliased = ALIAS_TOKEN_TO_CONTROL_TYPE[token];
11508
- if (aliased)
11509
- return aliased;
11510
- const resolvedKey = CONTROL_TYPE_TOKEN_TO_KEY[token];
11511
- if (resolvedKey) {
11512
- return FieldControlType[resolvedKey];
11513
- }
11514
- return raw;
11515
- }
11516
-
11517
11554
  const dialogBaseFields = [
11518
11555
  { key: 'message', label: 'Mensagem', type: 'textarea', rows: 2, placeholder: 'Texto principal' },
11519
11556
  { key: 'title', label: 'Título', type: 'text', placeholder: 'Título do diálogo' },
@@ -17582,5 +17619,5 @@ function provideHookWhitelist(allowed) {
17582
17619
  * Generated bundle index. Do not edit.
17583
17620
  */
17584
17621
 
17585
- 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, DynamicGridPageComponent, 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_TOAST_SERVICE, GenericCrudService, GlobalActionService, GlobalConfigService, INLINE_FILTER_ALIAS_TOKENS, INLINE_FILTER_ALIAS_TOKEN_TO_BASE_CONTROL_TYPE, INLINE_FILTER_ALIAS_TOKEN_TO_CONTROL_TYPE, INLINE_FILTER_CONTROL_TYPES, INLINE_FILTER_CONTROL_TYPE_SET, INLINE_FILTER_CONTROL_TYPE_VALUES, 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, PraxisUserContextSummaryComponent, RULE_PROPERTY_SCHEMA, RemoteConfigStorage, ResourceQuickConnectComponent, SCHEMA_VIEWER_CONTEXT, SETTINGS_PANEL_BRIDGE, SETTINGS_PANEL_DATA, STEPPER_CONFIG_EDITOR, SchemaMetadataClient, SchemaNormalizerService, SchemaViewerComponent, TABLE_CONFIG_EDITOR, TableConfigService, TelemetryLoggerSink, TelemetryService, ValidationPattern, WidgetShellComponent, applyLocalCustomizations$2 as applyLocalCustomizations, applyLocalCustomizations$1 as applyLocalFormCustomizations, buildAngularValidators, buildApiUrl, buildBaseColumnFromDef, buildBaseFormField, buildFormConfigFromEditorialTemplate, buildHeaders, buildPageKey, buildSchemaId, buildValidatorsFromValidatorOptions, cancelIfCpfInvalidHook, clampRange, cloneTableConfig, cnpjAlphaValidator, collapseWhitespace, composeHeadersWithVersion, conditionalAsyncValidator, convertFormLayoutToConfig, createCorporateLoggerConfig, createCorporateObservabilityOptions, createCpfCnpjValidator, createDefaultFormConfig, createDefaultTableConfig, createEmptyFormConfig, createPersistedPage, customAsyncValidatorFn, customValidatorFn, debounceAsyncValidator, deepMerge, ensureIds, ensureNoConflictsHookFactory, ensurePageIds, extractNormalizedError, fetchWithETag, fileTypeValidator, fillUndefined, generateId, getDefaultFormHints, getEditorialCompliancePresetById, getEditorialFormTemplateById, getEditorialFormTemplateCatalog, getEditorialSolutionById, getEditorialSolutionCatalog, getEditorialSolutionPresetById, getEditorialThemePresetById, getEssentialConfig, getFieldMetadataCapabilities, getGlobalActionCatalog, getGlobalActionUiSchema, getReferencedFieldMetadata, getTextTransformer, interpolatePraxisTranslation, isAllowedEditorialContentFormat, isAllowedEditorialHref, isCssTextTransform, isEditorialComponentMeta, isInlineFilterControlType, isRangeValidForFilter, isTableConfigV2, isValidFormConfig, isValidTableConfig, legacyCnpjValidator, legacyCpfValidator, logOnErrorHook, mapFieldDefinitionToMetadata, mapFieldDefinitionsToMetadata, matchFieldValidator, maxFileSizeValidator, mergeFieldMetadata, mergePraxisI18nConfigs, mergeTableConfigs, migrateFormLayoutRule, minWordsValidator, normalizeControlTypeKey, normalizeControlTypeToken, normalizeEditorialLink, normalizeEnd, normalizeFieldConstraints, normalizeFormConfig, normalizeFormMetadata, normalizePath, normalizeStart, normalizeUnknownError, notifySuccessHook, parseJsonResponseOrEmpty, praxisLoadingInterceptorFn, prefillFromContextHook, provideDefaultFormHooks, provideFieldSelectorRegistryBase, provideFieldSelectorRegistryOverride, provideFieldSelectorRegistryRuntime, provideFormHookPresets, provideFormHooks, provideGlobalActionCatalog, provideGlobalActionHandler, provideGlobalConfig, provideGlobalConfigReady, provideGlobalConfigSeed, provideGlobalConfigTenant, provideHookResolvers, provideHookWhitelist, provideOverlayDecisionMatrix, providePraxisAnalyticsGlobalActions, providePraxisDynamicPageMetadata, providePraxisFooterLinksMetadata, providePraxisGlobalActionCatalog, providePraxisGlobalActions, providePraxisGlobalConfigBootstrap, providePraxisHeroBannerMetadata, providePraxisHttpLoading, providePraxisI18n, providePraxisI18nConfig, providePraxisI18nTranslator, providePraxisLegalNoticeMetadata, providePraxisLoadingDefaults, providePraxisLogging, providePraxisRichTextBlockMetadata, providePraxisToastGlobalActions, providePraxisUserContextSummaryMetadata, provideRemoteGlobalConfig, reconcileFilterConfig, reconcileFormConfig, reconcileTableConfig, removeDiacritics, reportTelemetryHookFactory, requiredCheckedValidator, resolveBuiltinPresets, resolveControlTypeAlias, resolveHidden, resolveInlineFilterAliasToBaseControlType, resolveInlineFilterControlTypeAlias, resolveLoggerConfig, resolveObservabilityOptions, resolveOffset, resolveOrder, resolveSpan, slugify, stripMasksHook, syncWithServerMetadata, toCamel, toCapitalize, toKebab, toPascal, toSentenceCase, toSnake, toTitleCase, trim, uniqueAsyncValidator, urlValidator, withMessage, withPraxisHttpLoading };
17622
+ 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, DynamicGridPageComponent, 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_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, PraxisUserContextSummaryComponent, RULE_PROPERTY_SCHEMA, RemoteConfigStorage, ResourceQuickConnectComponent, SCHEMA_VIEWER_CONTEXT, SETTINGS_PANEL_BRIDGE, SETTINGS_PANEL_DATA, STEPPER_CONFIG_EDITOR, SchemaMetadataClient, SchemaNormalizerService, SchemaViewerComponent, TABLE_CONFIG_EDITOR, TableConfigService, TelemetryLoggerSink, TelemetryService, ValidationPattern, WidgetShellComponent, applyLocalCustomizations$2 as applyLocalCustomizations, applyLocalCustomizations$1 as applyLocalFormCustomizations, buildAngularValidators, buildApiUrl, buildBaseColumnFromDef, buildBaseFormField, buildFormConfigFromEditorialTemplate, buildHeaders, buildPageKey, buildSchemaId, buildValidatorsFromValidatorOptions, cancelIfCpfInvalidHook, clampRange, cloneTableConfig, cnpjAlphaValidator, collapseWhitespace, composeHeadersWithVersion, conditionalAsyncValidator, convertFormLayoutToConfig, createCorporateLoggerConfig, createCorporateObservabilityOptions, createCpfCnpjValidator, createDefaultFormConfig, createDefaultTableConfig, createEmptyFormConfig, createPersistedPage, customAsyncValidatorFn, customValidatorFn, debounceAsyncValidator, deepMerge, ensureIds, ensureNoConflictsHookFactory, ensurePageIds, extractNormalizedError, fetchWithETag, fileTypeValidator, fillUndefined, generateId, getDefaultFormHints, getEditorialCompliancePresetById, getEditorialFormTemplateById, getEditorialFormTemplateCatalog, getEditorialSolutionById, getEditorialSolutionCatalog, getEditorialSolutionPresetById, getEditorialThemePresetById, getEssentialConfig, getFieldMetadataCapabilities, getGlobalActionCatalog, getGlobalActionUiSchema, getReferencedFieldMetadata, getTextTransformer, interpolatePraxisTranslation, isAllowedEditorialContentFormat, isAllowedEditorialHref, isCssTextTransform, isEditorialComponentMeta, isInlineFilterControlType, isRangeValidForFilter, isTableConfigV2, isValidFormConfig, isValidTableConfig, legacyCnpjValidator, legacyCpfValidator, logOnErrorHook, mapFieldDefinitionToMetadata, mapFieldDefinitionsToMetadata, matchFieldValidator, maxFileSizeValidator, mergeFieldMetadata, mergePraxisI18nConfigs, mergeTableConfigs, migrateFormLayoutRule, minWordsValidator, normalizeControlTypeKey, normalizeControlTypeToken, normalizeEditorialLink, normalizeEnd, normalizeFieldConstraints, normalizeFormConfig, normalizeFormMetadata, normalizePath, normalizeStart, normalizeUnknownError, notifySuccessHook, parseJsonResponseOrEmpty, praxisLoadingInterceptorFn, prefillFromContextHook, provideDefaultFormHooks, provideFieldSelectorRegistryBase, provideFieldSelectorRegistryOverride, provideFieldSelectorRegistryRuntime, provideFormHookPresets, provideFormHooks, provideGlobalActionCatalog, provideGlobalActionHandler, provideGlobalConfig, provideGlobalConfigReady, provideGlobalConfigSeed, provideGlobalConfigTenant, provideHookResolvers, provideHookWhitelist, provideOverlayDecisionMatrix, providePraxisAnalyticsGlobalActions, providePraxisDynamicPageMetadata, providePraxisFooterLinksMetadata, providePraxisGlobalActionCatalog, providePraxisGlobalActions, providePraxisGlobalConfigBootstrap, providePraxisHeroBannerMetadata, providePraxisHttpLoading, providePraxisI18n, providePraxisI18nConfig, providePraxisI18nTranslator, providePraxisLegalNoticeMetadata, providePraxisLoadingDefaults, providePraxisLogging, providePraxisRichTextBlockMetadata, providePraxisToastGlobalActions, providePraxisUserContextSummaryMetadata, provideRemoteGlobalConfig, reconcileFilterConfig, reconcileFormConfig, reconcileTableConfig, removeDiacritics, reportTelemetryHookFactory, requiredCheckedValidator, resolveBuiltinPresets, resolveControlTypeAlias, resolveHidden, resolveInlineFilterControlType, resolveInlineFilterControlTypeToBaseControlType, resolveLoggerConfig, resolveObservabilityOptions, resolveOffset, resolveOrder, resolveSpan, slugify, stripMasksHook, syncWithServerMetadata, toCamel, toCapitalize, toKebab, toPascal, toSentenceCase, toSnake, toTitleCase, trim, uniqueAsyncValidator, urlValidator, withMessage, withPraxisHttpLoading };
17586
17623
  //# sourceMappingURL=praxisui-core.mjs.map