@praxisui/core 1.0.0-beta.63 → 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.
- package/fesm2022/praxisui-core.mjs +893 -384
- package/fesm2022/praxisui-core.mjs.map +1 -1
- package/index.d.ts +56 -32
- package/package.json +1 -1
|
@@ -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
|
|
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();
|
|
@@ -4784,129 +5182,11 @@ function buildValidatorsFromValidatorOptions(opts = {}) {
|
|
|
4784
5182
|
}
|
|
4785
5183
|
|
|
4786
5184
|
/**
|
|
4787
|
-
*
|
|
4788
|
-
*
|
|
4789
|
-
*
|
|
4790
|
-
*
|
|
4791
|
-
*
|
|
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
|
-
/**
|
|
4905
|
-
* DynamicFormService
|
|
4906
|
-
* -------------------
|
|
4907
|
-
* Serviço utilitário central para criação e atualização de formulários dinâmicos
|
|
4908
|
-
* (Reactive Forms) a partir de metadados corporativos (FieldMetadata) ou
|
|
4909
|
-
* definições do servidor (FieldDefinition).
|
|
5185
|
+
* DynamicFormService
|
|
5186
|
+
* -------------------
|
|
5187
|
+
* Serviço utilitário central para criação e atualização de formulários dinâmicos
|
|
5188
|
+
* (Reactive Forms) a partir de metadados corporativos (FieldMetadata) ou
|
|
5189
|
+
* definições do servidor (FieldDefinition).
|
|
4910
5190
|
*
|
|
4911
5191
|
* Principais responsabilidades
|
|
4912
5192
|
* - Converter ValidatorOptions/FieldDefinition em ValidatorFn/AsyncValidatorFn.
|
|
@@ -8953,6 +9233,186 @@ const EMPLOYEE_ONBOARDING_EDITORIAL_TEMPLATE = {
|
|
|
8953
9233
|
],
|
|
8954
9234
|
},
|
|
8955
9235
|
};
|
|
9236
|
+
const EMPLOYEE_ONBOARDING_GUIDED_EDITORIAL_TEMPLATE = {
|
|
9237
|
+
templateId: 'employee-onboarding-guided',
|
|
9238
|
+
version: '1.0.0',
|
|
9239
|
+
metadata: {
|
|
9240
|
+
title: 'Employee Onboarding Guided',
|
|
9241
|
+
description: 'Template editorial guiado para onboarding com identificação enriquecida, preparação operacional e actions orientadas por etapa.',
|
|
9242
|
+
category: 'onboarding',
|
|
9243
|
+
tags: ['employee', 'onboarding', 'hr', 'guided', 'wizard'],
|
|
9244
|
+
source: 'catalog',
|
|
9245
|
+
owner: 'praxis-core',
|
|
9246
|
+
},
|
|
9247
|
+
shell: {
|
|
9248
|
+
shellVariant: 'wizard',
|
|
9249
|
+
maxWidth: '1120px',
|
|
9250
|
+
pageSpacing: '20px',
|
|
9251
|
+
},
|
|
9252
|
+
compliancePresets: [
|
|
9253
|
+
{ id: 'privacy-consent', label: 'Privacy Consent' },
|
|
9254
|
+
{ id: 'employment-documents', label: 'Employment Documents' },
|
|
9255
|
+
],
|
|
9256
|
+
contextSchema: [
|
|
9257
|
+
{ key: 'company.name', type: 'string', required: true },
|
|
9258
|
+
{ key: 'company.hrEmail', type: 'string' },
|
|
9259
|
+
{ key: 'manager.name', type: 'string' },
|
|
9260
|
+
],
|
|
9261
|
+
layout: {
|
|
9262
|
+
sections: [
|
|
9263
|
+
{
|
|
9264
|
+
id: 'identity',
|
|
9265
|
+
appearance: 'step',
|
|
9266
|
+
stepLabel: '1',
|
|
9267
|
+
title: 'Identificação',
|
|
9268
|
+
description: 'Preencha seus dados para que possamos configurar seu acesso.',
|
|
9269
|
+
rows: [
|
|
9270
|
+
{
|
|
9271
|
+
id: 'identity-row-1',
|
|
9272
|
+
columns: [{ id: 'identity-col-name', fields: ['fullName'] }],
|
|
9273
|
+
},
|
|
9274
|
+
{
|
|
9275
|
+
id: 'identity-row-2',
|
|
9276
|
+
columns: [
|
|
9277
|
+
{ id: 'identity-col-email', fields: ['corporateEmail'] },
|
|
9278
|
+
{ id: 'identity-col-phone', fields: ['phoneNumber'] },
|
|
9279
|
+
],
|
|
9280
|
+
},
|
|
9281
|
+
{
|
|
9282
|
+
id: 'identity-row-3',
|
|
9283
|
+
columns: [
|
|
9284
|
+
{ id: 'identity-col-department', fields: ['department'] },
|
|
9285
|
+
{ id: 'identity-col-role', fields: ['role'] },
|
|
9286
|
+
],
|
|
9287
|
+
},
|
|
9288
|
+
{
|
|
9289
|
+
id: 'identity-row-4',
|
|
9290
|
+
columns: [{ id: 'identity-col-start-date', fields: ['startDate'] }],
|
|
9291
|
+
},
|
|
9292
|
+
],
|
|
9293
|
+
},
|
|
9294
|
+
{
|
|
9295
|
+
id: 'operations',
|
|
9296
|
+
appearance: 'step',
|
|
9297
|
+
stepLabel: '2',
|
|
9298
|
+
title: 'Operação inicial',
|
|
9299
|
+
description: 'Configure os recursos necessários para o primeiro dia.',
|
|
9300
|
+
rows: [
|
|
9301
|
+
{
|
|
9302
|
+
id: 'operations-row-1',
|
|
9303
|
+
columns: [{ id: 'operations-col-work-model', fields: ['workModel'] }],
|
|
9304
|
+
},
|
|
9305
|
+
{
|
|
9306
|
+
id: 'operations-row-2',
|
|
9307
|
+
columns: [
|
|
9308
|
+
{ id: 'operations-col-observations', fields: ['accessibilityNotes'] },
|
|
9309
|
+
],
|
|
9310
|
+
},
|
|
9311
|
+
{
|
|
9312
|
+
id: 'operations-row-3',
|
|
9313
|
+
columns: [{ id: 'operations-col-privacy', fields: ['privacyConsent'] }],
|
|
9314
|
+
},
|
|
9315
|
+
],
|
|
9316
|
+
},
|
|
9317
|
+
],
|
|
9318
|
+
formBlocksBefore: [],
|
|
9319
|
+
formBlocksBeforeActions: [],
|
|
9320
|
+
formBlocksAfter: [],
|
|
9321
|
+
actions: {
|
|
9322
|
+
placement: 'afterSections',
|
|
9323
|
+
position: 'split',
|
|
9324
|
+
orientation: 'horizontal',
|
|
9325
|
+
spacing: 'normal',
|
|
9326
|
+
submit: {
|
|
9327
|
+
visible: true,
|
|
9328
|
+
label: 'Próximo',
|
|
9329
|
+
type: 'submit',
|
|
9330
|
+
color: 'primary',
|
|
9331
|
+
variant: 'raised',
|
|
9332
|
+
size: 'large',
|
|
9333
|
+
},
|
|
9334
|
+
cancel: {
|
|
9335
|
+
visible: true,
|
|
9336
|
+
label: 'Voltar',
|
|
9337
|
+
type: 'button',
|
|
9338
|
+
color: 'basic',
|
|
9339
|
+
variant: 'stroked',
|
|
9340
|
+
size: 'small',
|
|
9341
|
+
},
|
|
9342
|
+
reset: {
|
|
9343
|
+
visible: false,
|
|
9344
|
+
label: 'Limpar',
|
|
9345
|
+
type: 'reset',
|
|
9346
|
+
color: 'basic',
|
|
9347
|
+
variant: 'stroked',
|
|
9348
|
+
},
|
|
9349
|
+
},
|
|
9350
|
+
},
|
|
9351
|
+
defaults: {
|
|
9352
|
+
fieldMetadata: [
|
|
9353
|
+
{ name: 'fullName', label: 'Nome completo *', controlType: 'input', required: true },
|
|
9354
|
+
{ name: 'corporateEmail', label: 'E-mail corporativo *', controlType: 'email', required: true },
|
|
9355
|
+
{ name: 'phoneNumber', label: 'Telefone', controlType: 'input' },
|
|
9356
|
+
{
|
|
9357
|
+
name: 'department',
|
|
9358
|
+
label: 'Departamento *',
|
|
9359
|
+
controlType: 'select',
|
|
9360
|
+
required: true,
|
|
9361
|
+
options: [
|
|
9362
|
+
{ text: 'Design', value: 'Design' },
|
|
9363
|
+
{ text: 'Engenharia', value: 'Engenharia' },
|
|
9364
|
+
{ text: 'Produto', value: 'Produto' },
|
|
9365
|
+
{ text: 'People Operations', value: 'People Operations' },
|
|
9366
|
+
],
|
|
9367
|
+
},
|
|
9368
|
+
{
|
|
9369
|
+
name: 'role',
|
|
9370
|
+
label: 'Cargo *',
|
|
9371
|
+
controlType: 'select',
|
|
9372
|
+
required: true,
|
|
9373
|
+
options: [
|
|
9374
|
+
{ text: 'Product Designer', value: 'Product Designer' },
|
|
9375
|
+
{ text: 'Frontend Engineer', value: 'Frontend Engineer' },
|
|
9376
|
+
{ text: 'People Partner', value: 'People Partner' },
|
|
9377
|
+
{ text: 'Product Manager', value: 'Product Manager' },
|
|
9378
|
+
],
|
|
9379
|
+
},
|
|
9380
|
+
{
|
|
9381
|
+
name: 'startDate',
|
|
9382
|
+
label: 'Data de início',
|
|
9383
|
+
controlType: 'date',
|
|
9384
|
+
required: true,
|
|
9385
|
+
},
|
|
9386
|
+
{
|
|
9387
|
+
name: 'workModel',
|
|
9388
|
+
label: 'Modelo de trabalho',
|
|
9389
|
+
controlType: 'radio',
|
|
9390
|
+
required: true,
|
|
9391
|
+
selectionMode: 'single',
|
|
9392
|
+
options: [
|
|
9393
|
+
{ text: 'Presencial', value: 'Presencial' },
|
|
9394
|
+
{ text: 'Remoto', value: 'Remoto' },
|
|
9395
|
+
{ text: 'Híbrido', value: 'Híbrido' },
|
|
9396
|
+
],
|
|
9397
|
+
},
|
|
9398
|
+
{
|
|
9399
|
+
name: 'accessibilityNotes',
|
|
9400
|
+
label: 'Observações adicionais',
|
|
9401
|
+
controlType: 'textarea',
|
|
9402
|
+
},
|
|
9403
|
+
{
|
|
9404
|
+
name: 'privacyConsent',
|
|
9405
|
+
label: 'Confirmo ciência sobre o tratamento dos meus dados no processo de onboarding.',
|
|
9406
|
+
controlType: 'checkbox',
|
|
9407
|
+
selectionMode: 'boolean',
|
|
9408
|
+
variant: 'consent',
|
|
9409
|
+
density: 'comfortable',
|
|
9410
|
+
required: true,
|
|
9411
|
+
requiredChecked: true,
|
|
9412
|
+
},
|
|
9413
|
+
],
|
|
9414
|
+
},
|
|
9415
|
+
};
|
|
8956
9416
|
const PRIVACY_CONSENT_EDITORIAL_TEMPLATE = {
|
|
8957
9417
|
templateId: 'privacy-consent',
|
|
8958
9418
|
version: '1.0.0',
|
|
@@ -9074,6 +9534,7 @@ const PRIVACY_CONSENT_EDITORIAL_TEMPLATE = {
|
|
|
9074
9534
|
const EDITORIAL_FORM_TEMPLATE_CATALOG = [
|
|
9075
9535
|
EVENT_REGISTRATION_EDITORIAL_TEMPLATE,
|
|
9076
9536
|
EMPLOYEE_ONBOARDING_EDITORIAL_TEMPLATE,
|
|
9537
|
+
EMPLOYEE_ONBOARDING_GUIDED_EDITORIAL_TEMPLATE,
|
|
9077
9538
|
PRIVACY_CONSENT_EDITORIAL_TEMPLATE,
|
|
9078
9539
|
];
|
|
9079
9540
|
function getEditorialFormTemplateCatalog() {
|
|
@@ -9294,6 +9755,15 @@ const EDITORIAL_THEME_PRESETS = [
|
|
|
9294
9755
|
pageSpacing: '24px',
|
|
9295
9756
|
surfaceVariant: 'corporate',
|
|
9296
9757
|
},
|
|
9758
|
+
{
|
|
9759
|
+
themeId: 'guided-onboarding',
|
|
9760
|
+
label: 'Guided Onboarding',
|
|
9761
|
+
description: 'Tema editorial para onboarding guiado com welcome hero, stepper protagonista e conclusão orientada.',
|
|
9762
|
+
shellVariant: 'wizard',
|
|
9763
|
+
maxWidth: '1120px',
|
|
9764
|
+
pageSpacing: '20px',
|
|
9765
|
+
surfaceVariant: 'corporate',
|
|
9766
|
+
},
|
|
9297
9767
|
{
|
|
9298
9768
|
themeId: 'compliance-plain',
|
|
9299
9769
|
label: 'Compliance Plain',
|
|
@@ -9361,6 +9831,16 @@ const EDITORIAL_SOLUTION_PRESETS = [
|
|
|
9361
9831
|
dataBlockOrder: ['identity-form', 'operations-form'],
|
|
9362
9832
|
tags: ['hr', 'onboarding', 'corporate'],
|
|
9363
9833
|
},
|
|
9834
|
+
{
|
|
9835
|
+
presetId: 'preset:employee-onboarding:guided',
|
|
9836
|
+
label: 'Employee Onboarding Guided',
|
|
9837
|
+
description: 'Variante guiada inspirada no onboarding validado, com welcome hero, seleção operacional e etapa final dedicada.',
|
|
9838
|
+
problemType: 'employee-onboarding',
|
|
9839
|
+
themePresetId: 'guided-onboarding',
|
|
9840
|
+
compliancePresetIds: ['privacy-consent', 'employment-documents'],
|
|
9841
|
+
dataBlockOrder: ['identity-form', 'operations-form'],
|
|
9842
|
+
tags: ['hr', 'onboarding', 'guided', 'wizard'],
|
|
9843
|
+
},
|
|
9364
9844
|
{
|
|
9365
9845
|
presetId: 'preset:privacy-consent:default',
|
|
9366
9846
|
label: 'Privacy Consent Default',
|
|
@@ -9756,6 +10236,277 @@ const EMPLOYEE_ONBOARDING_EDITORIAL_SOLUTION = {
|
|
|
9756
10236
|
tags: ['employee', 'onboarding', 'hr', 'documents'],
|
|
9757
10237
|
owner: 'praxis-core',
|
|
9758
10238
|
};
|
|
10239
|
+
const EMPLOYEE_ONBOARDING_GUIDED_EDITORIAL_SOLUTION = (() => {
|
|
10240
|
+
const solution = structuredClone(EMPLOYEE_ONBOARDING_EDITORIAL_SOLUTION);
|
|
10241
|
+
const journey = solution.journeys[0];
|
|
10242
|
+
solution.solutionId = 'employee-onboarding-guided';
|
|
10243
|
+
solution.title = 'Employee Onboarding Guided';
|
|
10244
|
+
solution.description =
|
|
10245
|
+
'Variante editorial guiada de onboarding com welcome hero, coleta em duas etapas, revisão final e conclusão dedicada.';
|
|
10246
|
+
solution.presentation = {
|
|
10247
|
+
layout: {
|
|
10248
|
+
orientation: 'horizontal',
|
|
10249
|
+
density: 'relaxed',
|
|
10250
|
+
shellVariant: 'compact-form',
|
|
10251
|
+
maxWidth: '1120px',
|
|
10252
|
+
responsive: {
|
|
10253
|
+
mobileOrientation: 'vertical',
|
|
10254
|
+
collapseStepperBelow: '860px',
|
|
10255
|
+
},
|
|
10256
|
+
spacing: {
|
|
10257
|
+
pagePadding: '0px',
|
|
10258
|
+
shellPadding: '0px',
|
|
10259
|
+
sectionGap: '20px',
|
|
10260
|
+
blockGap: '20px',
|
|
10261
|
+
actionGap: '14px',
|
|
10262
|
+
},
|
|
10263
|
+
},
|
|
10264
|
+
theme: {
|
|
10265
|
+
color: {
|
|
10266
|
+
pageBackground: '#f7f2ea',
|
|
10267
|
+
surfacePrimary: '#ffffff',
|
|
10268
|
+
surfaceSecondary: '#f6f1e8',
|
|
10269
|
+
border: '#e7dece',
|
|
10270
|
+
textPrimary: '#22324f',
|
|
10271
|
+
textSecondary: '#7283a1',
|
|
10272
|
+
accent: '#2c4d90',
|
|
10273
|
+
accentContrast: '#ffffff',
|
|
10274
|
+
success: '#34b681',
|
|
10275
|
+
warning: '#d39a1a',
|
|
10276
|
+
danger: '#c84b4b',
|
|
10277
|
+
stepActive: '#2c4d90',
|
|
10278
|
+
stepCompleted: '#34b681',
|
|
10279
|
+
stepPending: '#eeece7',
|
|
10280
|
+
connector: '#7ed4b4',
|
|
10281
|
+
ctaPrimary: '#2c4d90',
|
|
10282
|
+
ctaPrimaryText: '#ffffff',
|
|
10283
|
+
},
|
|
10284
|
+
radius: {
|
|
10285
|
+
shell: '28px',
|
|
10286
|
+
card: '22px',
|
|
10287
|
+
button: '16px',
|
|
10288
|
+
field: '16px',
|
|
10289
|
+
step: '999px',
|
|
10290
|
+
},
|
|
10291
|
+
shadow: {
|
|
10292
|
+
shell: '0 26px 54px rgba(30, 44, 72, 0.08)',
|
|
10293
|
+
card: '0 16px 36px rgba(30, 44, 72, 0.08)',
|
|
10294
|
+
floating: '0 18px 42px rgba(44, 77, 144, 0.18)',
|
|
10295
|
+
},
|
|
10296
|
+
borderWidth: {
|
|
10297
|
+
shell: '1px',
|
|
10298
|
+
card: '1px',
|
|
10299
|
+
field: '1px',
|
|
10300
|
+
activeStep: '2px',
|
|
10301
|
+
},
|
|
10302
|
+
typography: {
|
|
10303
|
+
titleFontFamily: 'Georgia, Times New Roman, serif',
|
|
10304
|
+
bodyFontFamily: 'Segoe UI, Arial, sans-serif',
|
|
10305
|
+
titleWeight: 700,
|
|
10306
|
+
bodyWeight: 500,
|
|
10307
|
+
heroTitleSize: '3.25rem',
|
|
10308
|
+
stepTitleSize: '2.2rem',
|
|
10309
|
+
bodySize: '1rem',
|
|
10310
|
+
captionSize: '0.9rem',
|
|
10311
|
+
},
|
|
10312
|
+
},
|
|
10313
|
+
stepper: {
|
|
10314
|
+
visible: true,
|
|
10315
|
+
orientation: 'horizontal',
|
|
10316
|
+
variant: 'icon-label',
|
|
10317
|
+
size: 'lg',
|
|
10318
|
+
align: 'space-between',
|
|
10319
|
+
showLabels: true,
|
|
10320
|
+
showDescriptions: false,
|
|
10321
|
+
showConnectors: true,
|
|
10322
|
+
connectorStyle: 'solid',
|
|
10323
|
+
allowStepJump: false,
|
|
10324
|
+
},
|
|
10325
|
+
};
|
|
10326
|
+
solution.themePresets = EDITORIAL_THEME_PRESETS.filter((preset) => ['corporate-wizard', 'guided-onboarding'].includes(preset.themeId));
|
|
10327
|
+
solution.tags = ['employee', 'onboarding', 'hr', 'guided', 'wizard'];
|
|
10328
|
+
if (!journey) {
|
|
10329
|
+
return solution;
|
|
10330
|
+
}
|
|
10331
|
+
journey.label = 'Onboarding guiado';
|
|
10332
|
+
journey.description =
|
|
10333
|
+
'Jornada editorial guiada da chegada do colaborador até a preparação operacional e confirmação final.';
|
|
10334
|
+
journey.steps = [
|
|
10335
|
+
{
|
|
10336
|
+
stepId: 'welcome',
|
|
10337
|
+
label: 'Boas-vindas',
|
|
10338
|
+
kind: 'intro',
|
|
10339
|
+
icon: { name: 'auto_awesome' },
|
|
10340
|
+
visual: {
|
|
10341
|
+
variant: 'hero-card',
|
|
10342
|
+
surface: 'soft',
|
|
10343
|
+
},
|
|
10344
|
+
blocks: [
|
|
10345
|
+
{
|
|
10346
|
+
blockId: 'guided:welcome-hero',
|
|
10347
|
+
kind: 'introHero',
|
|
10348
|
+
align: 'center',
|
|
10349
|
+
title: 'Bem-vindo à equipe!',
|
|
10350
|
+
subtitle: 'Estamos muito felizes em tê-lo conosco. Vamos preparar tudo para que sua jornada comece da melhor forma possível.',
|
|
10351
|
+
description: 'Este processo leva apenas alguns minutos e vai garantir que você tenha acesso ao que precisa desde o primeiro dia.',
|
|
10352
|
+
icon: {
|
|
10353
|
+
name: 'auto_awesome',
|
|
10354
|
+
},
|
|
10355
|
+
highlightItems: [
|
|
10356
|
+
{
|
|
10357
|
+
id: 'guided-welcome-access',
|
|
10358
|
+
title: 'Acesso seguro configurado',
|
|
10359
|
+
icon: { name: 'verified_user' },
|
|
10360
|
+
},
|
|
10361
|
+
{
|
|
10362
|
+
id: 'guided-welcome-team',
|
|
10363
|
+
title: 'Integração com a equipe',
|
|
10364
|
+
icon: { name: 'groups' },
|
|
10365
|
+
},
|
|
10366
|
+
{
|
|
10367
|
+
id: 'guided-welcome-ready',
|
|
10368
|
+
title: 'Pronto para começar',
|
|
10369
|
+
icon: { name: 'rocket_launch' },
|
|
10370
|
+
},
|
|
10371
|
+
],
|
|
10372
|
+
primaryAction: {
|
|
10373
|
+
label: 'Começar onboarding',
|
|
10374
|
+
actionId: 'next-step',
|
|
10375
|
+
appearance: 'primary',
|
|
10376
|
+
icon: { name: 'arrow_forward' },
|
|
10377
|
+
},
|
|
10378
|
+
},
|
|
10379
|
+
],
|
|
10380
|
+
},
|
|
10381
|
+
{
|
|
10382
|
+
stepId: 'identity',
|
|
10383
|
+
label: 'Identificação',
|
|
10384
|
+
kind: 'form',
|
|
10385
|
+
icon: { name: 'person' },
|
|
10386
|
+
visual: {
|
|
10387
|
+
variant: 'form-card',
|
|
10388
|
+
surface: 'elevated',
|
|
10389
|
+
columns: 2,
|
|
10390
|
+
},
|
|
10391
|
+
blocks: [
|
|
10392
|
+
{
|
|
10393
|
+
blockId: 'identity-form',
|
|
10394
|
+
kind: 'dataCollection',
|
|
10395
|
+
title: 'Identificação',
|
|
10396
|
+
description: 'Preencha seus dados para que possamos configurar seu acesso.',
|
|
10397
|
+
formBlockId: 'identity-form',
|
|
10398
|
+
surface: 'plain',
|
|
10399
|
+
},
|
|
10400
|
+
],
|
|
10401
|
+
},
|
|
10402
|
+
{
|
|
10403
|
+
stepId: 'operations',
|
|
10404
|
+
label: 'Operação inicial',
|
|
10405
|
+
kind: 'mixed',
|
|
10406
|
+
icon: { name: 'tune' },
|
|
10407
|
+
visual: {
|
|
10408
|
+
variant: 'selection-grid',
|
|
10409
|
+
surface: 'elevated',
|
|
10410
|
+
columns: 2,
|
|
10411
|
+
},
|
|
10412
|
+
blocks: [
|
|
10413
|
+
{
|
|
10414
|
+
blockId: 'guided:operations-equipment',
|
|
10415
|
+
kind: 'selectionCards',
|
|
10416
|
+
title: 'Equipamentos necessários',
|
|
10417
|
+
field: 'selectedEquipment',
|
|
10418
|
+
selectionMode: 'multiple',
|
|
10419
|
+
columns: 2,
|
|
10420
|
+
style: {
|
|
10421
|
+
iconPosition: 'top',
|
|
10422
|
+
variant: 'accent',
|
|
10423
|
+
},
|
|
10424
|
+
items: [
|
|
10425
|
+
{ id: 'notebook', label: 'Notebook', value: 'NOTEBOOK', icon: { name: 'laptop_mac' } },
|
|
10426
|
+
{ id: 'monitor', label: 'Monitor externo', value: 'MONITOR', icon: { name: 'desktop_windows' } },
|
|
10427
|
+
{ id: 'headset', label: 'Headset', value: 'HEADSET', icon: { name: 'headset_mic' } },
|
|
10428
|
+
{ id: 'badge', label: 'Crachá de acesso', value: 'BADGE', icon: { name: 'badge' } },
|
|
10429
|
+
],
|
|
10430
|
+
},
|
|
10431
|
+
{
|
|
10432
|
+
blockId: 'operations-form',
|
|
10433
|
+
kind: 'dataCollection',
|
|
10434
|
+
title: 'Operação inicial',
|
|
10435
|
+
description: 'Configure os recursos necessários para o primeiro dia.',
|
|
10436
|
+
formBlockId: 'operations-form',
|
|
10437
|
+
surface: 'plain',
|
|
10438
|
+
},
|
|
10439
|
+
],
|
|
10440
|
+
},
|
|
10441
|
+
{
|
|
10442
|
+
stepId: 'confirmation',
|
|
10443
|
+
label: 'Confirmação',
|
|
10444
|
+
kind: 'review',
|
|
10445
|
+
icon: { name: 'task_alt' },
|
|
10446
|
+
visual: {
|
|
10447
|
+
variant: 'review-sections',
|
|
10448
|
+
surface: 'soft',
|
|
10449
|
+
},
|
|
10450
|
+
blocks: [
|
|
10451
|
+
{
|
|
10452
|
+
blockId: 'guided:review',
|
|
10453
|
+
kind: 'reviewSections',
|
|
10454
|
+
title: 'Confirmação',
|
|
10455
|
+
description: 'Revise suas informações antes de finalizar.',
|
|
10456
|
+
sections: [
|
|
10457
|
+
{
|
|
10458
|
+
id: 'review-identity',
|
|
10459
|
+
title: 'Identificação',
|
|
10460
|
+
icon: { name: 'person' },
|
|
10461
|
+
fields: [
|
|
10462
|
+
{ key: 'fullName', label: 'Nome', valuePath: 'formData.fullName' },
|
|
10463
|
+
{ key: 'corporateEmail', label: 'E-mail', valuePath: 'formData.corporateEmail', format: 'email' },
|
|
10464
|
+
{ key: 'phoneNumber', label: 'Telefone', valuePath: 'formData.phoneNumber', hideWhenEmpty: true, format: 'phone' },
|
|
10465
|
+
{ key: 'department', label: 'Departamento', valuePath: 'formData.department' },
|
|
10466
|
+
{ key: 'role', label: 'Cargo', valuePath: 'formData.role' },
|
|
10467
|
+
{ key: 'startDate', label: 'Início', valuePath: 'formData.startDate', format: 'date' },
|
|
10468
|
+
],
|
|
10469
|
+
},
|
|
10470
|
+
{
|
|
10471
|
+
id: 'review-operations',
|
|
10472
|
+
title: 'Operação inicial',
|
|
10473
|
+
icon: { name: 'tune' },
|
|
10474
|
+
fields: [
|
|
10475
|
+
{ key: 'selectedEquipment', label: 'Equipamentos', valuePath: 'formData.selectedEquipment' },
|
|
10476
|
+
{ key: 'workModel', label: 'Modelo', valuePath: 'formData.workModel' },
|
|
10477
|
+
{ key: 'accessibilityNotes', label: 'Observações', valuePath: 'formData.accessibilityNotes', hideWhenEmpty: true },
|
|
10478
|
+
{ key: 'privacyConsent', label: 'Consentimento', valuePath: 'formData.privacyConsent', format: 'boolean' },
|
|
10479
|
+
],
|
|
10480
|
+
},
|
|
10481
|
+
],
|
|
10482
|
+
},
|
|
10483
|
+
],
|
|
10484
|
+
},
|
|
10485
|
+
{
|
|
10486
|
+
stepId: 'success',
|
|
10487
|
+
label: 'Tudo pronto',
|
|
10488
|
+
kind: 'confirmation',
|
|
10489
|
+
icon: { name: 'celebration' },
|
|
10490
|
+
visual: {
|
|
10491
|
+
variant: 'success-panel',
|
|
10492
|
+
textAlign: 'center',
|
|
10493
|
+
emphasis: 'high',
|
|
10494
|
+
},
|
|
10495
|
+
blocks: [
|
|
10496
|
+
{
|
|
10497
|
+
blockId: 'guided:success',
|
|
10498
|
+
kind: 'successPanel',
|
|
10499
|
+
title: 'Tudo pronto!',
|
|
10500
|
+
description: 'Seu onboarding foi concluído com sucesso. Nossa equipe já está preparando tudo para o seu primeiro dia.',
|
|
10501
|
+
secondaryMessage: 'Você receberá um e-mail com os próximos passos.',
|
|
10502
|
+
tone: 'success',
|
|
10503
|
+
icon: { name: 'celebration' },
|
|
10504
|
+
},
|
|
10505
|
+
],
|
|
10506
|
+
},
|
|
10507
|
+
];
|
|
10508
|
+
return solution;
|
|
10509
|
+
})();
|
|
9759
10510
|
const PRIVACY_CONSENT_EDITORIAL_SOLUTION = {
|
|
9760
10511
|
solutionId: 'privacy-consent',
|
|
9761
10512
|
version: '1.0.0',
|
|
@@ -9876,6 +10627,7 @@ const PRIVACY_CONSENT_EDITORIAL_SOLUTION = {
|
|
|
9876
10627
|
const EDITORIAL_SOLUTION_CATALOG = [
|
|
9877
10628
|
EVENT_REGISTRATION_EDITORIAL_SOLUTION,
|
|
9878
10629
|
EMPLOYEE_ONBOARDING_EDITORIAL_SOLUTION,
|
|
10630
|
+
EMPLOYEE_ONBOARDING_GUIDED_EDITORIAL_SOLUTION,
|
|
9879
10631
|
PRIVACY_CONSENT_EDITORIAL_SOLUTION,
|
|
9880
10632
|
];
|
|
9881
10633
|
function getEditorialSolutionCatalog() {
|
|
@@ -10218,13 +10970,17 @@ function mapFieldDefinitionToMetadata(field) {
|
|
|
10218
10970
|
'mode',
|
|
10219
10971
|
'width',
|
|
10220
10972
|
'isFlex',
|
|
10973
|
+
'displayOrientation',
|
|
10221
10974
|
'disabled',
|
|
10222
10975
|
'readOnly',
|
|
10223
10976
|
'hidden',
|
|
10224
10977
|
'formHidden',
|
|
10225
10978
|
'tableHidden',
|
|
10979
|
+
'editable',
|
|
10980
|
+
'validationMode',
|
|
10226
10981
|
'unique',
|
|
10227
10982
|
'mask',
|
|
10983
|
+
'viewOnlyStyle',
|
|
10228
10984
|
'inlineEditing',
|
|
10229
10985
|
'multiple',
|
|
10230
10986
|
'searchable',
|
|
@@ -10235,6 +10991,11 @@ function mapFieldDefinitionToMetadata(field) {
|
|
|
10235
10991
|
'variant',
|
|
10236
10992
|
'density',
|
|
10237
10993
|
'layout',
|
|
10994
|
+
'debounceTime',
|
|
10995
|
+
'iconColor',
|
|
10996
|
+
'iconClass',
|
|
10997
|
+
'iconStyle',
|
|
10998
|
+
'iconFontSize',
|
|
10238
10999
|
];
|
|
10239
11000
|
for (const prop of simpleProps) {
|
|
10240
11001
|
const value = field[prop];
|
|
@@ -10303,6 +11064,9 @@ function mapFieldDefinitionToMetadata(field) {
|
|
|
10303
11064
|
if (field.hint || field.helpText) {
|
|
10304
11065
|
metadata.hint = field.hint ?? field.helpText;
|
|
10305
11066
|
}
|
|
11067
|
+
if (field.hiddenCondition !== undefined) {
|
|
11068
|
+
metadata.hiddenCondition = field.hiddenCondition;
|
|
11069
|
+
}
|
|
10306
11070
|
if (field.clearButton !== undefined) {
|
|
10307
11071
|
metadata.clearButton = field.clearButton;
|
|
10308
11072
|
}
|
|
@@ -10365,6 +11129,10 @@ function mapFieldDefinitionToMetadata(field) {
|
|
|
10365
11129
|
validators.uniqueValidator = field.uniqueValidator;
|
|
10366
11130
|
if (field.uniqueMessage !== undefined)
|
|
10367
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;
|
|
10368
11136
|
// Conditional: suportar função direta e/ou regras compostas
|
|
10369
11137
|
if (field.conditionalValidation !== undefined) {
|
|
10370
11138
|
const cv = field.conditionalValidation;
|
|
@@ -10783,265 +11551,6 @@ function resolveBuiltinPresets(locale, dateAdapter, opts = {}) {
|
|
|
10783
11551
|
return presets;
|
|
10784
11552
|
}
|
|
10785
11553
|
|
|
10786
|
-
const INLINE_FILTER_CONTROL_TYPES = Object.freeze({
|
|
10787
|
-
SELECT: 'filter-select-inline',
|
|
10788
|
-
SEARCHABLE_SELECT: 'filter-searchable-select-inline',
|
|
10789
|
-
ASYNC_SELECT: 'filter-async-select-inline',
|
|
10790
|
-
ENTITY_LOOKUP: 'filter-entity-lookup-inline',
|
|
10791
|
-
AUTOCOMPLETE: 'filter-autocomplete-inline',
|
|
10792
|
-
NUMBER: 'filter-number-inline',
|
|
10793
|
-
CURRENCY: 'filter-currency-inline',
|
|
10794
|
-
CURRENCY_RANGE: 'filter-currency-range-inline',
|
|
10795
|
-
MULTI_SELECT: 'filter-multiselect-inline',
|
|
10796
|
-
INPUT: 'filter-input-inline',
|
|
10797
|
-
TOGGLE: 'filter-toggle-inline',
|
|
10798
|
-
RANGE: 'filter-range-inline',
|
|
10799
|
-
DATE: 'filter-date-inline',
|
|
10800
|
-
DATE_RANGE: 'filter-date-range-inline',
|
|
10801
|
-
TIME: 'filter-time-inline',
|
|
10802
|
-
TIME_RANGE: 'filter-time-range-inline',
|
|
10803
|
-
TREE_SELECT: 'filter-tree-select-inline',
|
|
10804
|
-
RATING: 'filter-rating-inline',
|
|
10805
|
-
DISTANCE_RADIUS: 'filter-distance-radius-inline',
|
|
10806
|
-
PIPELINE_STATUS: 'filter-pipeline-status-inline',
|
|
10807
|
-
SCORE_PRIORITY: 'filter-score-priority-inline',
|
|
10808
|
-
RELATIVE_PERIOD: 'filter-relative-period-inline',
|
|
10809
|
-
SENTIMENT: 'filter-sentiment-inline',
|
|
10810
|
-
COLOR_LABEL: 'filter-color-label-inline',
|
|
10811
|
-
});
|
|
10812
|
-
const INLINE_FILTER_CONTROL_TYPE_VALUES = Object.freeze(Object.values(INLINE_FILTER_CONTROL_TYPES));
|
|
10813
|
-
const INLINE_FILTER_CONTROL_TYPE_SET = new Set(INLINE_FILTER_CONTROL_TYPE_VALUES);
|
|
10814
|
-
function normalizeInlineControlTypeToken(value) {
|
|
10815
|
-
return String(value || '')
|
|
10816
|
-
.trim()
|
|
10817
|
-
.toLowerCase()
|
|
10818
|
-
.replace(/[-_\s]/g, '');
|
|
10819
|
-
}
|
|
10820
|
-
const INLINE_FILTER_ALIAS_TOKEN_TO_CONTROL_TYPE_MAP = {
|
|
10821
|
-
filterselectinline: INLINE_FILTER_CONTROL_TYPES.SELECT,
|
|
10822
|
-
filterinlineselect: INLINE_FILTER_CONTROL_TYPES.SELECT,
|
|
10823
|
-
pdxfilterinlineselect: INLINE_FILTER_CONTROL_TYPES.SELECT,
|
|
10824
|
-
filtersearchableselectinline: INLINE_FILTER_CONTROL_TYPES.SEARCHABLE_SELECT,
|
|
10825
|
-
filterinlinesearchableselect: INLINE_FILTER_CONTROL_TYPES.SEARCHABLE_SELECT,
|
|
10826
|
-
pdxfilterinlinesearchableselect: INLINE_FILTER_CONTROL_TYPES.SEARCHABLE_SELECT,
|
|
10827
|
-
filterasyncselectinline: INLINE_FILTER_CONTROL_TYPES.ASYNC_SELECT,
|
|
10828
|
-
filterinlineasyncselect: INLINE_FILTER_CONTROL_TYPES.ASYNC_SELECT,
|
|
10829
|
-
pdxfilterinlineasyncselect: INLINE_FILTER_CONTROL_TYPES.ASYNC_SELECT,
|
|
10830
|
-
filterentitylookupinline: INLINE_FILTER_CONTROL_TYPES.ENTITY_LOOKUP,
|
|
10831
|
-
filterinlineentitylookup: INLINE_FILTER_CONTROL_TYPES.ENTITY_LOOKUP,
|
|
10832
|
-
entitylookupinline: INLINE_FILTER_CONTROL_TYPES.ENTITY_LOOKUP,
|
|
10833
|
-
entitylookup: INLINE_FILTER_CONTROL_TYPES.ENTITY_LOOKUP,
|
|
10834
|
-
pdxfilterinlineentitylookup: INLINE_FILTER_CONTROL_TYPES.ENTITY_LOOKUP,
|
|
10835
|
-
filterautocompleteinline: INLINE_FILTER_CONTROL_TYPES.AUTOCOMPLETE,
|
|
10836
|
-
filterinlineautocomplete: INLINE_FILTER_CONTROL_TYPES.AUTOCOMPLETE,
|
|
10837
|
-
pdxfilterinlineautocomplete: INLINE_FILTER_CONTROL_TYPES.AUTOCOMPLETE,
|
|
10838
|
-
filternumberinline: INLINE_FILTER_CONTROL_TYPES.NUMBER,
|
|
10839
|
-
filterinlinenumber: INLINE_FILTER_CONTROL_TYPES.NUMBER,
|
|
10840
|
-
pdxfilterinlinenumber: INLINE_FILTER_CONTROL_TYPES.NUMBER,
|
|
10841
|
-
filtercurrencyinline: INLINE_FILTER_CONTROL_TYPES.CURRENCY,
|
|
10842
|
-
filterinlinecurrency: INLINE_FILTER_CONTROL_TYPES.CURRENCY,
|
|
10843
|
-
pdxfilterinlinecurrency: INLINE_FILTER_CONTROL_TYPES.CURRENCY,
|
|
10844
|
-
filtercurrencyrangeinline: INLINE_FILTER_CONTROL_TYPES.CURRENCY_RANGE,
|
|
10845
|
-
filterinlinecurrencyrange: INLINE_FILTER_CONTROL_TYPES.CURRENCY_RANGE,
|
|
10846
|
-
pdxfilterinlinecurrencyrange: INLINE_FILTER_CONTROL_TYPES.CURRENCY_RANGE,
|
|
10847
|
-
filtermultiselectinline: INLINE_FILTER_CONTROL_TYPES.MULTI_SELECT,
|
|
10848
|
-
filterinlinemultiselect: INLINE_FILTER_CONTROL_TYPES.MULTI_SELECT,
|
|
10849
|
-
pdxfilterinlinemultiselect: INLINE_FILTER_CONTROL_TYPES.MULTI_SELECT,
|
|
10850
|
-
filterinputinline: INLINE_FILTER_CONTROL_TYPES.INPUT,
|
|
10851
|
-
filterinlineinput: INLINE_FILTER_CONTROL_TYPES.INPUT,
|
|
10852
|
-
pdxfilterinlineinput: INLINE_FILTER_CONTROL_TYPES.INPUT,
|
|
10853
|
-
filtertoggleinline: INLINE_FILTER_CONTROL_TYPES.TOGGLE,
|
|
10854
|
-
filterinlinetoggle: INLINE_FILTER_CONTROL_TYPES.TOGGLE,
|
|
10855
|
-
pdxfilterinlinetoggle: INLINE_FILTER_CONTROL_TYPES.TOGGLE,
|
|
10856
|
-
filterrangeinline: INLINE_FILTER_CONTROL_TYPES.RANGE,
|
|
10857
|
-
filterinlinerangeslider: INLINE_FILTER_CONTROL_TYPES.RANGE,
|
|
10858
|
-
pdxfilterinlinerangeslider: INLINE_FILTER_CONTROL_TYPES.RANGE,
|
|
10859
|
-
filterdateinline: INLINE_FILTER_CONTROL_TYPES.DATE,
|
|
10860
|
-
filterinlinedate: INLINE_FILTER_CONTROL_TYPES.DATE,
|
|
10861
|
-
pdxfilterinlinedate: INLINE_FILTER_CONTROL_TYPES.DATE,
|
|
10862
|
-
filterdaterangeinline: INLINE_FILTER_CONTROL_TYPES.DATE_RANGE,
|
|
10863
|
-
filterinlinedaterange: INLINE_FILTER_CONTROL_TYPES.DATE_RANGE,
|
|
10864
|
-
pdxfilterinlinedaterange: INLINE_FILTER_CONTROL_TYPES.DATE_RANGE,
|
|
10865
|
-
filtertimeinline: INLINE_FILTER_CONTROL_TYPES.TIME,
|
|
10866
|
-
filterinlinetime: INLINE_FILTER_CONTROL_TYPES.TIME,
|
|
10867
|
-
pdxfilterinlinetime: INLINE_FILTER_CONTROL_TYPES.TIME,
|
|
10868
|
-
filtertimerangeinline: INLINE_FILTER_CONTROL_TYPES.TIME_RANGE,
|
|
10869
|
-
filterinlinetimerange: INLINE_FILTER_CONTROL_TYPES.TIME_RANGE,
|
|
10870
|
-
pdxfilterinlinetimerange: INLINE_FILTER_CONTROL_TYPES.TIME_RANGE,
|
|
10871
|
-
filtertreeselectinline: INLINE_FILTER_CONTROL_TYPES.TREE_SELECT,
|
|
10872
|
-
filterinlinetreeselect: INLINE_FILTER_CONTROL_TYPES.TREE_SELECT,
|
|
10873
|
-
pdxfilterinlinetreeselect: INLINE_FILTER_CONTROL_TYPES.TREE_SELECT,
|
|
10874
|
-
filterratinginline: INLINE_FILTER_CONTROL_TYPES.RATING,
|
|
10875
|
-
filterinlinerating: INLINE_FILTER_CONTROL_TYPES.RATING,
|
|
10876
|
-
pdxfilterinlinerating: INLINE_FILTER_CONTROL_TYPES.RATING,
|
|
10877
|
-
filterdistanceradiusinline: INLINE_FILTER_CONTROL_TYPES.DISTANCE_RADIUS,
|
|
10878
|
-
filterinlinedistanceradius: INLINE_FILTER_CONTROL_TYPES.DISTANCE_RADIUS,
|
|
10879
|
-
pdxfilterinlinedistanceradius: INLINE_FILTER_CONTROL_TYPES.DISTANCE_RADIUS,
|
|
10880
|
-
filterpipelinestatusinline: INLINE_FILTER_CONTROL_TYPES.PIPELINE_STATUS,
|
|
10881
|
-
filterinlinepipelinestatus: INLINE_FILTER_CONTROL_TYPES.PIPELINE_STATUS,
|
|
10882
|
-
pdxfilterinlinepipelinestatus: INLINE_FILTER_CONTROL_TYPES.PIPELINE_STATUS,
|
|
10883
|
-
filterscorepriorityinline: INLINE_FILTER_CONTROL_TYPES.SCORE_PRIORITY,
|
|
10884
|
-
filterinlinescorepriority: INLINE_FILTER_CONTROL_TYPES.SCORE_PRIORITY,
|
|
10885
|
-
pdxfilterinlinescorepriority: INLINE_FILTER_CONTROL_TYPES.SCORE_PRIORITY,
|
|
10886
|
-
filterrelativeperiodinline: INLINE_FILTER_CONTROL_TYPES.RELATIVE_PERIOD,
|
|
10887
|
-
filterinlinerelativeperiod: INLINE_FILTER_CONTROL_TYPES.RELATIVE_PERIOD,
|
|
10888
|
-
pdxfilterinlinerelativeperiod: INLINE_FILTER_CONTROL_TYPES.RELATIVE_PERIOD,
|
|
10889
|
-
filtersentimentinline: INLINE_FILTER_CONTROL_TYPES.SENTIMENT,
|
|
10890
|
-
filterinlinesentiment: INLINE_FILTER_CONTROL_TYPES.SENTIMENT,
|
|
10891
|
-
pdxfilterinlinesentiment: INLINE_FILTER_CONTROL_TYPES.SENTIMENT,
|
|
10892
|
-
filtercolorlabelinline: INLINE_FILTER_CONTROL_TYPES.COLOR_LABEL,
|
|
10893
|
-
filterinlinecolorlabel: INLINE_FILTER_CONTROL_TYPES.COLOR_LABEL,
|
|
10894
|
-
pdxfilterinlinecolorlabel: INLINE_FILTER_CONTROL_TYPES.COLOR_LABEL,
|
|
10895
|
-
};
|
|
10896
|
-
const INLINE_FILTER_ALIAS_TOKEN_TO_CONTROL_TYPE = Object.freeze(INLINE_FILTER_ALIAS_TOKEN_TO_CONTROL_TYPE_MAP);
|
|
10897
|
-
const INLINE_FILTER_ALIAS_TOKENS = Object.freeze(Object.keys(INLINE_FILTER_ALIAS_TOKEN_TO_CONTROL_TYPE));
|
|
10898
|
-
const INLINE_FILTER_ALIAS_TOKEN_TO_BASE_CONTROL_TYPE_MAP = {
|
|
10899
|
-
filterselectinline: FieldControlType.SELECT,
|
|
10900
|
-
filterinlineselect: FieldControlType.SELECT,
|
|
10901
|
-
pdxfilterinlineselect: FieldControlType.SELECT,
|
|
10902
|
-
filtermultiselectinline: FieldControlType.MULTI_SELECT,
|
|
10903
|
-
filterinlinemultiselect: FieldControlType.MULTI_SELECT,
|
|
10904
|
-
pdxfilterinlinemultiselect: FieldControlType.MULTI_SELECT,
|
|
10905
|
-
filterinputinline: FieldControlType.INPUT,
|
|
10906
|
-
filterinlineinput: FieldControlType.INPUT,
|
|
10907
|
-
pdxfilterinlineinput: FieldControlType.INPUT,
|
|
10908
|
-
filtertoggleinline: FieldControlType.TOGGLE,
|
|
10909
|
-
filterinlinetoggle: FieldControlType.TOGGLE,
|
|
10910
|
-
pdxfilterinlinetoggle: FieldControlType.TOGGLE,
|
|
10911
|
-
filterrangeinline: FieldControlType.RANGE_SLIDER,
|
|
10912
|
-
filterinlinerangeslider: FieldControlType.RANGE_SLIDER,
|
|
10913
|
-
pdxfilterinlinerangeslider: FieldControlType.RANGE_SLIDER,
|
|
10914
|
-
filtersearchableselectinline: FieldControlType.SEARCHABLE_SELECT,
|
|
10915
|
-
filterinlinesearchableselect: FieldControlType.SEARCHABLE_SELECT,
|
|
10916
|
-
pdxfilterinlinesearchableselect: FieldControlType.SEARCHABLE_SELECT,
|
|
10917
|
-
filterasyncselectinline: FieldControlType.ASYNC_SELECT,
|
|
10918
|
-
filterinlineasyncselect: FieldControlType.ASYNC_SELECT,
|
|
10919
|
-
pdxfilterinlineasyncselect: FieldControlType.ASYNC_SELECT,
|
|
10920
|
-
filterentitylookupinline: FieldControlType.ASYNC_SELECT,
|
|
10921
|
-
filterinlineentitylookup: FieldControlType.ASYNC_SELECT,
|
|
10922
|
-
entitylookupinline: FieldControlType.ASYNC_SELECT,
|
|
10923
|
-
entitylookup: FieldControlType.ASYNC_SELECT,
|
|
10924
|
-
pdxfilterinlineentitylookup: FieldControlType.ASYNC_SELECT,
|
|
10925
|
-
filterautocompleteinline: FieldControlType.AUTO_COMPLETE,
|
|
10926
|
-
filterinlineautocomplete: FieldControlType.AUTO_COMPLETE,
|
|
10927
|
-
pdxfilterinlineautocomplete: FieldControlType.AUTO_COMPLETE,
|
|
10928
|
-
filternumberinline: FieldControlType.NUMERIC_TEXT_BOX,
|
|
10929
|
-
filterinlinenumber: FieldControlType.NUMERIC_TEXT_BOX,
|
|
10930
|
-
pdxfilterinlinenumber: FieldControlType.NUMERIC_TEXT_BOX,
|
|
10931
|
-
filtercurrencyinline: FieldControlType.CURRENCY_INPUT,
|
|
10932
|
-
filterinlinecurrency: FieldControlType.CURRENCY_INPUT,
|
|
10933
|
-
pdxfilterinlinecurrency: FieldControlType.CURRENCY_INPUT,
|
|
10934
|
-
filtercurrencyrangeinline: FieldControlType.PRICE_RANGE,
|
|
10935
|
-
filterinlinecurrencyrange: FieldControlType.PRICE_RANGE,
|
|
10936
|
-
pdxfilterinlinecurrencyrange: FieldControlType.PRICE_RANGE,
|
|
10937
|
-
filterdateinline: FieldControlType.DATE_PICKER,
|
|
10938
|
-
filterinlinedate: FieldControlType.DATE_PICKER,
|
|
10939
|
-
pdxfilterinlinedate: FieldControlType.DATE_PICKER,
|
|
10940
|
-
filterdaterangeinline: FieldControlType.DATE_RANGE,
|
|
10941
|
-
filterinlinedaterange: FieldControlType.DATE_RANGE,
|
|
10942
|
-
pdxfilterinlinedaterange: FieldControlType.DATE_RANGE,
|
|
10943
|
-
filtertimeinline: FieldControlType.TIME_PICKER,
|
|
10944
|
-
filterinlinetime: FieldControlType.TIME_PICKER,
|
|
10945
|
-
pdxfilterinlinetime: FieldControlType.TIME_PICKER,
|
|
10946
|
-
filtertimerangeinline: FieldControlType.TIME_RANGE,
|
|
10947
|
-
filterinlinetimerange: FieldControlType.TIME_RANGE,
|
|
10948
|
-
pdxfilterinlinetimerange: FieldControlType.TIME_RANGE,
|
|
10949
|
-
filtertreeselectinline: FieldControlType.TREE_SELECT,
|
|
10950
|
-
filterinlinetreeselect: FieldControlType.TREE_SELECT,
|
|
10951
|
-
pdxfilterinlinetreeselect: FieldControlType.TREE_SELECT,
|
|
10952
|
-
};
|
|
10953
|
-
const INLINE_FILTER_ALIAS_TOKEN_TO_BASE_CONTROL_TYPE = Object.freeze(INLINE_FILTER_ALIAS_TOKEN_TO_BASE_CONTROL_TYPE_MAP);
|
|
10954
|
-
function resolveInlineFilterControlTypeAlias(value) {
|
|
10955
|
-
const token = normalizeInlineControlTypeToken(value);
|
|
10956
|
-
if (!token)
|
|
10957
|
-
return undefined;
|
|
10958
|
-
return INLINE_FILTER_ALIAS_TOKEN_TO_CONTROL_TYPE[token];
|
|
10959
|
-
}
|
|
10960
|
-
function resolveInlineFilterAliasToBaseControlType(value) {
|
|
10961
|
-
const token = normalizeInlineControlTypeToken(value);
|
|
10962
|
-
if (!token)
|
|
10963
|
-
return undefined;
|
|
10964
|
-
return INLINE_FILTER_ALIAS_TOKEN_TO_BASE_CONTROL_TYPE[token];
|
|
10965
|
-
}
|
|
10966
|
-
function isInlineFilterControlType(value) {
|
|
10967
|
-
return INLINE_FILTER_CONTROL_TYPE_SET.has(String(value || '').trim());
|
|
10968
|
-
}
|
|
10969
|
-
|
|
10970
|
-
function toUpperSnakeCase(raw) {
|
|
10971
|
-
return raw
|
|
10972
|
-
.trim()
|
|
10973
|
-
.replace(/([a-z0-9])([A-Z])/g, '$1_$2')
|
|
10974
|
-
.replace(/[-\s]+/g, '_')
|
|
10975
|
-
.replace(/__+/g, '_')
|
|
10976
|
-
.toUpperCase();
|
|
10977
|
-
}
|
|
10978
|
-
function normalizeControlTypeToken(value) {
|
|
10979
|
-
return String(value || '')
|
|
10980
|
-
.trim()
|
|
10981
|
-
.toLowerCase()
|
|
10982
|
-
.replace(/[-_\s]/g, '');
|
|
10983
|
-
}
|
|
10984
|
-
const CONTROL_TYPE_TOKEN_TO_KEY = Object.entries(FieldControlType).reduce((acc, [key, controlTypeValue]) => {
|
|
10985
|
-
acc[normalizeControlTypeToken(key)] = key;
|
|
10986
|
-
acc[normalizeControlTypeToken(controlTypeValue)] = key;
|
|
10987
|
-
return acc;
|
|
10988
|
-
}, {});
|
|
10989
|
-
const ALIAS_TOKEN_TO_CONTROL_TYPE = {
|
|
10990
|
-
// Legacy/common synonyms
|
|
10991
|
-
searchable: FieldControlType.SEARCHABLE_SELECT,
|
|
10992
|
-
searchableinput: FieldControlType.SEARCHABLE_SELECT,
|
|
10993
|
-
searchableselect: FieldControlType.SEARCHABLE_SELECT,
|
|
10994
|
-
materialsearchableselect: FieldControlType.SEARCHABLE_SELECT,
|
|
10995
|
-
asyncselect: FieldControlType.ASYNC_SELECT,
|
|
10996
|
-
materialasyncselect: FieldControlType.ASYNC_SELECT,
|
|
10997
|
-
autocomplete: FieldControlType.AUTO_COMPLETE,
|
|
10998
|
-
multiselect: FieldControlType.MULTI_SELECT,
|
|
10999
|
-
multiselecttree: FieldControlType.MULTI_SELECT_TREE,
|
|
11000
|
-
treeselect: FieldControlType.TREE_SELECT,
|
|
11001
|
-
datepicker: FieldControlType.DATE_PICKER,
|
|
11002
|
-
daterange: FieldControlType.DATE_RANGE,
|
|
11003
|
-
datetime: FieldControlType.DATETIME_LOCAL_INPUT,
|
|
11004
|
-
timepicker: FieldControlType.TIME_PICKER,
|
|
11005
|
-
timerange: FieldControlType.TIME_RANGE,
|
|
11006
|
-
pricerange: FieldControlType.PRICE_RANGE,
|
|
11007
|
-
rangeslider: FieldControlType.RANGE_SLIDER,
|
|
11008
|
-
number: FieldControlType.NUMERIC_TEXT_BOX,
|
|
11009
|
-
numeric: FieldControlType.NUMERIC_TEXT_BOX,
|
|
11010
|
-
currencyinput: FieldControlType.CURRENCY_INPUT,
|
|
11011
|
-
switch: FieldControlType.TOGGLE,
|
|
11012
|
-
radiogroup: FieldControlType.RADIO,
|
|
11013
|
-
checkboxgroup: FieldControlType.CHECKBOX,
|
|
11014
|
-
chiplist: FieldControlType.CHIP_LIST,
|
|
11015
|
-
chipinput: FieldControlType.CHIP_INPUT,
|
|
11016
|
-
searchinput: FieldControlType.SEARCH_INPUT,
|
|
11017
|
-
};
|
|
11018
|
-
function normalizeControlTypeKey(value) {
|
|
11019
|
-
const token = normalizeControlTypeToken(value);
|
|
11020
|
-
if (!token)
|
|
11021
|
-
return '';
|
|
11022
|
-
const resolvedKey = CONTROL_TYPE_TOKEN_TO_KEY[token];
|
|
11023
|
-
if (resolvedKey)
|
|
11024
|
-
return resolvedKey;
|
|
11025
|
-
return toUpperSnakeCase(String(value || ''));
|
|
11026
|
-
}
|
|
11027
|
-
function resolveControlTypeAlias(value, fallback = FieldControlType.INPUT) {
|
|
11028
|
-
const raw = String(value || '').trim();
|
|
11029
|
-
if (!raw)
|
|
11030
|
-
return fallback;
|
|
11031
|
-
const token = normalizeControlTypeToken(raw);
|
|
11032
|
-
const inlineAliased = INLINE_FILTER_ALIAS_TOKEN_TO_BASE_CONTROL_TYPE[token];
|
|
11033
|
-
if (inlineAliased)
|
|
11034
|
-
return inlineAliased;
|
|
11035
|
-
const aliased = ALIAS_TOKEN_TO_CONTROL_TYPE[token];
|
|
11036
|
-
if (aliased)
|
|
11037
|
-
return aliased;
|
|
11038
|
-
const resolvedKey = CONTROL_TYPE_TOKEN_TO_KEY[token];
|
|
11039
|
-
if (resolvedKey) {
|
|
11040
|
-
return FieldControlType[resolvedKey];
|
|
11041
|
-
}
|
|
11042
|
-
return raw;
|
|
11043
|
-
}
|
|
11044
|
-
|
|
11045
11554
|
const dialogBaseFields = [
|
|
11046
11555
|
{ key: 'message', label: 'Mensagem', type: 'textarea', rows: 2, placeholder: 'Texto principal' },
|
|
11047
11556
|
{ key: 'title', label: 'Título', type: 'text', placeholder: 'Título do diálogo' },
|
|
@@ -17110,5 +17619,5 @@ function provideHookWhitelist(allowed) {
|
|
|
17110
17619
|
* Generated bundle index. Do not edit.
|
|
17111
17620
|
*/
|
|
17112
17621
|
|
|
17113
|
-
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, 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,
|
|
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 };
|
|
17114
17623
|
//# sourceMappingURL=praxisui-core.mjs.map
|