@praxisui/dynamic-fields 9.0.62 → 9.0.63
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/ai/component-registry.json +2223 -788
- package/docs/dynamic-fields-inline-components-guide.md +5 -2
- package/docs/dynamic-fields-inline-filter-catalog.md +15 -3
- package/fesm2022/praxisui-dynamic-fields-index-FvyF__fJ.mjs +1 -0
- package/fesm2022/praxisui-dynamic-fields.mjs +358 -181
- package/package.json +3 -3
- package/src/lib/components/material-cpf-cnpj-input/pdx-material-cpf-cnpj-input.json-api.md +17 -14
- package/types/praxisui-dynamic-fields.d.ts +26 -5
- package/fesm2022/praxisui-dynamic-fields-index-BYVmv78m.mjs +0 -1
|
@@ -1130,30 +1130,35 @@ function resolveInlineDisplayMask(metadata, currentValue) {
|
|
|
1130
1130
|
rawMode: /[Xx]/.test(explicitMask) ? 'alphanumeric' : 'digits',
|
|
1131
1131
|
};
|
|
1132
1132
|
}
|
|
1133
|
-
const documentType = normalizeComparableToken(metadata['documentType']
|
|
1134
|
-
metadata['documentKind'] ??
|
|
1135
|
-
metadata['identifierType'] ??
|
|
1136
|
-
metadata['identifierKind']);
|
|
1133
|
+
const documentType = normalizeComparableToken(metadata['documentType']);
|
|
1137
1134
|
if (documentType === 'cpf') {
|
|
1138
1135
|
return { mask: '000.000.000-00', rawMode: 'digits' };
|
|
1139
1136
|
}
|
|
1140
1137
|
if (documentType === 'cnpj') {
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
const digits = digitsOnly(currentValue);
|
|
1138
|
+
const version = normalizeComparableToken(metadata['version']);
|
|
1139
|
+
const raw = String(currentValue ?? '').replace(/[^a-zA-Z0-9]/g, '');
|
|
1140
|
+
const usesAlphaMask = version === 'alpha' ||
|
|
1141
|
+
((!version || version === 'auto') && /[a-zA-Z]/.test(raw));
|
|
1146
1142
|
return {
|
|
1147
|
-
mask:
|
|
1148
|
-
|
|
1143
|
+
mask: usesAlphaMask
|
|
1144
|
+
? 'XX.XXX.XXX/XXXX-XX'
|
|
1145
|
+
: '00.000.000/0000-00',
|
|
1146
|
+
rawMode: usesAlphaMask ? 'alphanumeric' : 'digits',
|
|
1149
1147
|
};
|
|
1150
1148
|
}
|
|
1151
|
-
if (
|
|
1149
|
+
if (documentType === 'auto') {
|
|
1150
|
+
const raw = String(currentValue ?? '').replace(/[^a-zA-Z0-9]/g, '');
|
|
1151
|
+
if (/[a-zA-Z]/.test(raw) || raw.length > 11) {
|
|
1152
|
+
return {
|
|
1153
|
+
mask: /[a-zA-Z]/.test(raw)
|
|
1154
|
+
? 'XX.XXX.XXX/XXXX-XX'
|
|
1155
|
+
: '00.000.000/0000-00',
|
|
1156
|
+
rawMode: /[a-zA-Z]/.test(raw) ? 'alphanumeric' : 'digits',
|
|
1157
|
+
};
|
|
1158
|
+
}
|
|
1152
1159
|
return { mask: '000.000.000-00', rawMode: 'digits' };
|
|
1153
1160
|
}
|
|
1154
|
-
|
|
1155
|
-
return { mask: '00.000.000/0000-00', rawMode: 'digits' };
|
|
1156
|
-
}
|
|
1161
|
+
const signals = buildComparableSignals(metadata);
|
|
1157
1162
|
if (hasPhoneSignal(metadata, signals)) {
|
|
1158
1163
|
return {
|
|
1159
1164
|
mask: resolveBrazilianPhoneMask(currentValue),
|
|
@@ -1166,20 +1171,21 @@ function resolveInlineDisplayMask(metadata, currentValue) {
|
|
|
1166
1171
|
return null;
|
|
1167
1172
|
}
|
|
1168
1173
|
function hasMaskPlaceholder(mask) {
|
|
1169
|
-
return /[
|
|
1174
|
+
return /[09#Xx]/.test(mask);
|
|
1170
1175
|
}
|
|
1171
1176
|
function applyInlineDisplayMask(value, mask) {
|
|
1172
1177
|
if (!value) {
|
|
1173
1178
|
return '';
|
|
1174
1179
|
}
|
|
1180
|
+
const boundedValue = value.slice(0, inlineDisplayMaskCapacity(mask));
|
|
1175
1181
|
let valueIndex = 0;
|
|
1176
1182
|
let output = '';
|
|
1177
1183
|
for (const token of mask.mask) {
|
|
1178
|
-
if (valueIndex >=
|
|
1184
|
+
if (valueIndex >= boundedValue.length) {
|
|
1179
1185
|
break;
|
|
1180
1186
|
}
|
|
1181
1187
|
if (isMaskPlaceholder(token)) {
|
|
1182
|
-
output +=
|
|
1188
|
+
output += boundedValue[valueIndex++] ?? '';
|
|
1183
1189
|
}
|
|
1184
1190
|
else {
|
|
1185
1191
|
output += token;
|
|
@@ -1187,10 +1193,27 @@ function applyInlineDisplayMask(value, mask) {
|
|
|
1187
1193
|
}
|
|
1188
1194
|
return output;
|
|
1189
1195
|
}
|
|
1196
|
+
function inlineDisplayMaskCapacity(mask) {
|
|
1197
|
+
return Array.from(mask.mask).filter(isMaskPlaceholder).length;
|
|
1198
|
+
}
|
|
1199
|
+
function normalizeInlineMaskedInput(value, mask, selectionStart) {
|
|
1200
|
+
const text = String(value ?? '');
|
|
1201
|
+
const capacity = inlineDisplayMaskCapacity(mask);
|
|
1202
|
+
const rawValue = unmaskInlineDisplayValue(text, mask).slice(0, capacity);
|
|
1203
|
+
const displayValue = applyInlineDisplayMask(rawValue, mask);
|
|
1204
|
+
const logicalSelection = selectionStart == null
|
|
1205
|
+
? rawValue.length
|
|
1206
|
+
: Math.min(rawValue.length, unmaskInlineDisplayValue(text.slice(0, selectionStart), mask).length);
|
|
1207
|
+
return {
|
|
1208
|
+
rawValue,
|
|
1209
|
+
displayValue,
|
|
1210
|
+
selectionStart: displayPositionForRawCount(mask, rawValue, logicalSelection),
|
|
1211
|
+
};
|
|
1212
|
+
}
|
|
1190
1213
|
function unmaskInlineDisplayValue(value, mask) {
|
|
1191
1214
|
const text = String(value ?? '');
|
|
1192
1215
|
return mask.rawMode === 'alphanumeric'
|
|
1193
|
-
? text.replace(/[^a-zA-Z0-9]/g, '')
|
|
1216
|
+
? text.replace(/[^a-zA-Z0-9]/g, '').toUpperCase()
|
|
1194
1217
|
: digitsOnly(text);
|
|
1195
1218
|
}
|
|
1196
1219
|
function resolveBrazilianPhoneMask(value) {
|
|
@@ -1267,6 +1290,27 @@ function digitsOnly(value) {
|
|
|
1267
1290
|
function isMaskPlaceholder(token) {
|
|
1268
1291
|
return token === '0' || token === '9' || token === '#' || token === 'X' || token === 'x';
|
|
1269
1292
|
}
|
|
1293
|
+
function displayPositionForRawCount(mask, rawValue, rawCount) {
|
|
1294
|
+
if (rawCount <= 0) {
|
|
1295
|
+
return 0;
|
|
1296
|
+
}
|
|
1297
|
+
let consumed = 0;
|
|
1298
|
+
let displayPosition = 0;
|
|
1299
|
+
for (const token of mask.mask) {
|
|
1300
|
+
if (consumed >= rawValue.length) {
|
|
1301
|
+
break;
|
|
1302
|
+
}
|
|
1303
|
+
displayPosition += 1;
|
|
1304
|
+
if (!isMaskPlaceholder(token)) {
|
|
1305
|
+
continue;
|
|
1306
|
+
}
|
|
1307
|
+
consumed += 1;
|
|
1308
|
+
if (consumed >= rawCount) {
|
|
1309
|
+
return displayPosition;
|
|
1310
|
+
}
|
|
1311
|
+
}
|
|
1312
|
+
return displayPosition;
|
|
1313
|
+
}
|
|
1270
1314
|
|
|
1271
1315
|
/**
|
|
1272
1316
|
* @fileoverview Simple base component for input fields with basic ControlValueAccessor functionality
|
|
@@ -1978,7 +2022,10 @@ class SimpleBaseInputComponent {
|
|
|
1978
2022
|
try {
|
|
1979
2023
|
control.setValue(value, { emitEvent: false });
|
|
1980
2024
|
this.fieldState.update((state) => ({ ...state, value }));
|
|
1981
|
-
this.log('debug', 'Value written from parent', {
|
|
2025
|
+
this.log('debug', 'Value written from parent', {
|
|
2026
|
+
hasValue: value !== null && value !== undefined && String(value) !== '',
|
|
2027
|
+
valueType: value === null ? 'null' : typeof value,
|
|
2028
|
+
});
|
|
1982
2029
|
}
|
|
1983
2030
|
finally {
|
|
1984
2031
|
this.syncInProgress = false;
|
|
@@ -2583,8 +2630,8 @@ class SimpleBaseInputComponent {
|
|
|
2583
2630
|
if (!mask) {
|
|
2584
2631
|
return false;
|
|
2585
2632
|
}
|
|
2586
|
-
const
|
|
2587
|
-
const displayValue =
|
|
2633
|
+
const normalized = normalizeInlineMaskedInput(input.value, mask, input.selectionStart);
|
|
2634
|
+
const { rawValue, displayValue } = normalized;
|
|
2588
2635
|
if (!this.syncInProgress) {
|
|
2589
2636
|
this.syncInProgress = true;
|
|
2590
2637
|
try {
|
|
@@ -2604,6 +2651,9 @@ class SimpleBaseInputComponent {
|
|
|
2604
2651
|
if (input.value !== displayValue) {
|
|
2605
2652
|
input.value = displayValue;
|
|
2606
2653
|
}
|
|
2654
|
+
if (typeof document !== 'undefined' && document.activeElement === input) {
|
|
2655
|
+
input.setSelectionRange(normalized.selectionStart, normalized.selectionStart);
|
|
2656
|
+
}
|
|
2607
2657
|
});
|
|
2608
2658
|
return true;
|
|
2609
2659
|
}
|
|
@@ -2616,8 +2666,7 @@ class SimpleBaseInputComponent {
|
|
|
2616
2666
|
if (!mask) {
|
|
2617
2667
|
return;
|
|
2618
2668
|
}
|
|
2619
|
-
const
|
|
2620
|
-
const displayValue = applyInlineDisplayMask(rawValue, mask);
|
|
2669
|
+
const { displayValue } = normalizeInlineMaskedInput(value, mask);
|
|
2621
2670
|
if (input.value !== displayValue) {
|
|
2622
2671
|
input.value = displayValue;
|
|
2623
2672
|
}
|
|
@@ -2864,7 +2913,9 @@ class SimpleBaseInputComponent {
|
|
|
2864
2913
|
return;
|
|
2865
2914
|
const val = this.control().value;
|
|
2866
2915
|
this.nativeElement.value = val == null ? '' : transformer(val);
|
|
2867
|
-
this.log('debug', `applyFunctionalDisplayTransformImmediately: name='${name}'
|
|
2916
|
+
this.log('debug', `applyFunctionalDisplayTransformImmediately: name='${name}'`, {
|
|
2917
|
+
hasDisplayValue: String(this.nativeElement.value ?? '') !== '',
|
|
2918
|
+
});
|
|
2868
2919
|
}
|
|
2869
2920
|
/**
|
|
2870
2921
|
* Sistema de logging básico
|
|
@@ -9124,8 +9175,8 @@ class ComponentRegistryService {
|
|
|
9124
9175
|
this.register(INLINE_CURRENCY_CONTROL_TYPE, lazyComponent(() => import('./praxisui-dynamic-fields-index-CR5-JQ4D.mjs'), 'InlineCurrencyComponent'));
|
|
9125
9176
|
this.register(INLINE_CURRENCY_RANGE_CONTROL_TYPE, lazyComponent(() => import('./praxisui-dynamic-fields-index-CTSix-em.mjs'), 'InlineCurrencyRangeComponent'));
|
|
9126
9177
|
this.register(INLINE_MULTI_SELECT_CONTROL_TYPE, lazyComponent(() => import('./praxisui-dynamic-fields-index-CWLmblmT.mjs'), 'InlineMultiSelectComponent'));
|
|
9127
|
-
this.register(INLINE_INPUT_CONTROL_TYPE, lazyComponent(() => import('./praxisui-dynamic-fields-index-
|
|
9128
|
-
this.register(INLINE_PHONE_CONTROL_TYPE, lazyComponent(() => import('./praxisui-dynamic-fields-index-
|
|
9178
|
+
this.register(INLINE_INPUT_CONTROL_TYPE, lazyComponent(() => import('./praxisui-dynamic-fields-index-FvyF__fJ.mjs'), 'InlineInputComponent'));
|
|
9179
|
+
this.register(INLINE_PHONE_CONTROL_TYPE, lazyComponent(() => import('./praxisui-dynamic-fields-index-FvyF__fJ.mjs'), 'InlineInputComponent'));
|
|
9129
9180
|
this.register(INLINE_TOGGLE_CONTROL_TYPE, lazyComponent(() => import('./praxisui-dynamic-fields-index-BMHfcV1t.mjs'), 'InlineToggleComponent'));
|
|
9130
9181
|
this.register(INLINE_RANGE_CONTROL_TYPE, lazyComponent(() => import('./praxisui-dynamic-fields-index-DYV54GUZ.mjs'), 'InlineRangeSliderComponent'));
|
|
9131
9182
|
this.register(INLINE_PERIOD_RANGE_CONTROL_TYPE, lazyComponent(() => import('./praxisui-dynamic-fields-index-CsBUpYPm.mjs'), 'InlinePeriodRangeComponent'));
|
|
@@ -20043,6 +20094,83 @@ function createEntityLookupComponentMetadata(locale = 'en-US') {
|
|
|
20043
20094
|
return createWave1ComponentDocMeta(PDX_ENTITY_LOOKUP_EDITORIAL_DESCRIPTOR, locale);
|
|
20044
20095
|
}
|
|
20045
20096
|
|
|
20097
|
+
class InlineMaskedValueAccessorDirective {
|
|
20098
|
+
elementRef;
|
|
20099
|
+
metadata;
|
|
20100
|
+
onChange = () => undefined;
|
|
20101
|
+
onTouched = () => undefined;
|
|
20102
|
+
constructor(elementRef) {
|
|
20103
|
+
this.elementRef = elementRef;
|
|
20104
|
+
}
|
|
20105
|
+
writeValue(value) {
|
|
20106
|
+
const input = this.elementRef.nativeElement;
|
|
20107
|
+
const mask = this.resolveMask(value);
|
|
20108
|
+
input.value = mask
|
|
20109
|
+
? normalizeInlineMaskedInput(value, mask).displayValue
|
|
20110
|
+
: String(value ?? '');
|
|
20111
|
+
}
|
|
20112
|
+
registerOnChange(fn) {
|
|
20113
|
+
this.onChange = fn;
|
|
20114
|
+
}
|
|
20115
|
+
registerOnTouched(fn) {
|
|
20116
|
+
this.onTouched = fn;
|
|
20117
|
+
}
|
|
20118
|
+
setDisabledState(isDisabled) {
|
|
20119
|
+
this.elementRef.nativeElement.disabled = isDisabled;
|
|
20120
|
+
}
|
|
20121
|
+
handleInput(event) {
|
|
20122
|
+
const input = event.target;
|
|
20123
|
+
const mask = this.resolveMask(input.value);
|
|
20124
|
+
if (!mask) {
|
|
20125
|
+
this.onChange(input.value);
|
|
20126
|
+
return;
|
|
20127
|
+
}
|
|
20128
|
+
const normalized = normalizeInlineMaskedInput(input.value, mask, input.selectionStart);
|
|
20129
|
+
input.value = normalized.displayValue;
|
|
20130
|
+
input.setSelectionRange(normalized.selectionStart, normalized.selectionStart);
|
|
20131
|
+
this.onChange(normalized.rawValue);
|
|
20132
|
+
}
|
|
20133
|
+
handleBlur() {
|
|
20134
|
+
this.onTouched();
|
|
20135
|
+
}
|
|
20136
|
+
resolveMask(value) {
|
|
20137
|
+
if (!this.metadata || typeof this.metadata !== 'object') {
|
|
20138
|
+
return null;
|
|
20139
|
+
}
|
|
20140
|
+
return resolveInlineDisplayMask(this.metadata, value);
|
|
20141
|
+
}
|
|
20142
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: InlineMaskedValueAccessorDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
20143
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.14", type: InlineMaskedValueAccessorDirective, isStandalone: true, selector: "input[pdxInlineMaskedValueAccessor]", inputs: { metadata: ["pdxInlineMaskedValueAccessor", "metadata"] }, host: { listeners: { "input": "handleInput($event)", "blur": "handleBlur()" } }, providers: [
|
|
20144
|
+
{
|
|
20145
|
+
provide: NG_VALUE_ACCESSOR,
|
|
20146
|
+
useExisting: forwardRef(() => InlineMaskedValueAccessorDirective),
|
|
20147
|
+
multi: true,
|
|
20148
|
+
},
|
|
20149
|
+
], ngImport: i0 });
|
|
20150
|
+
}
|
|
20151
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: InlineMaskedValueAccessorDirective, decorators: [{
|
|
20152
|
+
type: Directive,
|
|
20153
|
+
args: [{
|
|
20154
|
+
selector: 'input[pdxInlineMaskedValueAccessor]',
|
|
20155
|
+
standalone: true,
|
|
20156
|
+
providers: [
|
|
20157
|
+
{
|
|
20158
|
+
provide: NG_VALUE_ACCESSOR,
|
|
20159
|
+
useExisting: forwardRef(() => InlineMaskedValueAccessorDirective),
|
|
20160
|
+
multi: true,
|
|
20161
|
+
},
|
|
20162
|
+
],
|
|
20163
|
+
}]
|
|
20164
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { metadata: [{
|
|
20165
|
+
type: Input,
|
|
20166
|
+
args: ['pdxInlineMaskedValueAccessor']
|
|
20167
|
+
}], handleInput: [{
|
|
20168
|
+
type: HostListener,
|
|
20169
|
+
args: ['input', ['$event']]
|
|
20170
|
+
}], handleBlur: [{
|
|
20171
|
+
type: HostListener,
|
|
20172
|
+
args: ['blur']
|
|
20173
|
+
}] } });
|
|
20046
20174
|
class InlineInputComponent extends SimpleBaseInputComponent {
|
|
20047
20175
|
readonlyMode = false;
|
|
20048
20176
|
disabledMode = false;
|
|
@@ -20055,6 +20183,7 @@ class InlineInputComponent extends SimpleBaseInputComponent {
|
|
|
20055
20183
|
inlineMaxWidthPx = 360;
|
|
20056
20184
|
resizeRafId = null;
|
|
20057
20185
|
maskSyncRafId = null;
|
|
20186
|
+
pendingMaskSelection = null;
|
|
20058
20187
|
currentMetadata() {
|
|
20059
20188
|
return (this.metadata() ?? {});
|
|
20060
20189
|
}
|
|
@@ -20080,7 +20209,15 @@ class InlineInputComponent extends SimpleBaseInputComponent {
|
|
|
20080
20209
|
super.onComponentInit?.();
|
|
20081
20210
|
this.control()
|
|
20082
20211
|
.valueChanges.pipe(takeUntilDestroyed(this.destroyRef))
|
|
20083
|
-
.subscribe(() => {
|
|
20212
|
+
.subscribe((value) => {
|
|
20213
|
+
const mask = this.resolveDisplayMask(value);
|
|
20214
|
+
if (mask && value !== null && value !== undefined && value !== '') {
|
|
20215
|
+
const normalized = normalizeInlineMaskedInput(value, mask);
|
|
20216
|
+
if (String(value) !== normalized.rawValue) {
|
|
20217
|
+
this.setValue(normalized.rawValue, { emitEvent: true });
|
|
20218
|
+
return;
|
|
20219
|
+
}
|
|
20220
|
+
}
|
|
20084
20221
|
this.syncMaskedDisplayValue();
|
|
20085
20222
|
this.scheduleMaskedDisplaySync();
|
|
20086
20223
|
this.scheduleInlineResize();
|
|
@@ -20091,9 +20228,6 @@ class InlineInputComponent extends SimpleBaseInputComponent {
|
|
|
20091
20228
|
}
|
|
20092
20229
|
ngAfterViewInit() {
|
|
20093
20230
|
super.ngAfterViewInit();
|
|
20094
|
-
if (this.inputEl?.nativeElement) {
|
|
20095
|
-
this.registerInputElement(this.inputEl.nativeElement);
|
|
20096
|
-
}
|
|
20097
20231
|
this.scheduleMaskedDisplaySync();
|
|
20098
20232
|
this.scheduleInlineResize();
|
|
20099
20233
|
}
|
|
@@ -20123,6 +20257,16 @@ class InlineInputComponent extends SimpleBaseInputComponent {
|
|
|
20123
20257
|
inputMode() {
|
|
20124
20258
|
if (this.isInlinePhone())
|
|
20125
20259
|
return 'tel';
|
|
20260
|
+
const documentType = String(this.metadataRecord().documentType ?? '').toLowerCase();
|
|
20261
|
+
const documentVersion = String(this.metadataRecord().version ?? '').toLowerCase();
|
|
20262
|
+
if (documentType === 'auto' ||
|
|
20263
|
+
(documentType === 'cnpj' && documentVersion !== 'legacy')) {
|
|
20264
|
+
return 'text';
|
|
20265
|
+
}
|
|
20266
|
+
const displayMask = this.resolveDisplayMask();
|
|
20267
|
+
if (displayMask) {
|
|
20268
|
+
return displayMask.rawMode === 'digits' ? 'numeric' : 'text';
|
|
20269
|
+
}
|
|
20126
20270
|
const metadata = this.metadataRecord();
|
|
20127
20271
|
return metadata.inputMode || metadata.inputmode || null;
|
|
20128
20272
|
}
|
|
@@ -20182,14 +20326,20 @@ class InlineInputComponent extends SimpleBaseInputComponent {
|
|
|
20182
20326
|
const mask = this.resolveDisplayMask();
|
|
20183
20327
|
if (input && mask) {
|
|
20184
20328
|
event?.stopImmediatePropagation();
|
|
20185
|
-
const
|
|
20186
|
-
|
|
20187
|
-
|
|
20188
|
-
this.setValue(raw, { emitEvent: true });
|
|
20329
|
+
const normalized = normalizeInlineMaskedInput(input.value, mask, input.selectionStart);
|
|
20330
|
+
if (this.control().value !== normalized.rawValue) {
|
|
20331
|
+
this.setValue(normalized.rawValue, { emitEvent: true });
|
|
20189
20332
|
}
|
|
20190
|
-
if (input.value !==
|
|
20191
|
-
input.value =
|
|
20333
|
+
if (input.value !== normalized.displayValue) {
|
|
20334
|
+
input.value = normalized.displayValue;
|
|
20192
20335
|
}
|
|
20336
|
+
input.setSelectionRange(normalized.selectionStart, normalized.selectionStart);
|
|
20337
|
+
// Angular's reactive-form listener can write the canonical raw value back
|
|
20338
|
+
// to the native input later in the same turn. Reassert the display-only
|
|
20339
|
+
// mask before the next paint and keep the animation-frame pass as a
|
|
20340
|
+
// controlled-host safety net.
|
|
20341
|
+
queueMicrotask(() => this.syncMaskedDisplayValue(normalized.selectionStart));
|
|
20342
|
+
this.scheduleMaskedDisplaySync(normalized.selectionStart);
|
|
20193
20343
|
}
|
|
20194
20344
|
this.scheduleInlineResize();
|
|
20195
20345
|
}
|
|
@@ -20212,6 +20362,26 @@ class InlineInputComponent extends SimpleBaseInputComponent {
|
|
|
20212
20362
|
errorStateMatcher() {
|
|
20213
20363
|
return getErrorStateMatcherForField(this.metadata());
|
|
20214
20364
|
}
|
|
20365
|
+
nativeMaxLength() {
|
|
20366
|
+
const mask = this.resolveDisplayMask();
|
|
20367
|
+
if (mask) {
|
|
20368
|
+
const documentType = String(this.metadataRecord().documentType ?? '').toLowerCase();
|
|
20369
|
+
if (documentType === 'auto' && !this.hasExplicitDisplayMask()) {
|
|
20370
|
+
return 18;
|
|
20371
|
+
}
|
|
20372
|
+
return mask.mask.length;
|
|
20373
|
+
}
|
|
20374
|
+
return this.metadata()?.maxLength || null;
|
|
20375
|
+
}
|
|
20376
|
+
writeValue(value) {
|
|
20377
|
+
const mask = this.resolveDisplayMask(value);
|
|
20378
|
+
const normalizedValue = mask
|
|
20379
|
+
? normalizeInlineMaskedInput(value, mask).rawValue
|
|
20380
|
+
: value;
|
|
20381
|
+
super.writeValue(normalizedValue);
|
|
20382
|
+
this.scheduleMaskedDisplaySync();
|
|
20383
|
+
this.scheduleInlineResize();
|
|
20384
|
+
}
|
|
20215
20385
|
scheduleInlineResize() {
|
|
20216
20386
|
if (typeof window === 'undefined') {
|
|
20217
20387
|
return;
|
|
@@ -20224,9 +20394,13 @@ class InlineInputComponent extends SimpleBaseInputComponent {
|
|
|
20224
20394
|
this.recalculateInlineWidth();
|
|
20225
20395
|
});
|
|
20226
20396
|
}
|
|
20227
|
-
scheduleMaskedDisplaySync() {
|
|
20397
|
+
scheduleMaskedDisplaySync(selectionStart) {
|
|
20398
|
+
if (selectionStart != null) {
|
|
20399
|
+
this.pendingMaskSelection = selectionStart;
|
|
20400
|
+
}
|
|
20228
20401
|
if (typeof window === 'undefined') {
|
|
20229
|
-
this.syncMaskedDisplayValue();
|
|
20402
|
+
this.syncMaskedDisplayValue(this.pendingMaskSelection);
|
|
20403
|
+
this.pendingMaskSelection = null;
|
|
20230
20404
|
return;
|
|
20231
20405
|
}
|
|
20232
20406
|
if (this.maskSyncRafId !== null) {
|
|
@@ -20234,7 +20408,8 @@ class InlineInputComponent extends SimpleBaseInputComponent {
|
|
|
20234
20408
|
}
|
|
20235
20409
|
this.maskSyncRafId = window.requestAnimationFrame(() => {
|
|
20236
20410
|
this.maskSyncRafId = null;
|
|
20237
|
-
this.syncMaskedDisplayValue();
|
|
20411
|
+
this.syncMaskedDisplayValue(this.pendingMaskSelection);
|
|
20412
|
+
this.pendingMaskSelection = null;
|
|
20238
20413
|
});
|
|
20239
20414
|
}
|
|
20240
20415
|
recalculateInlineWidth() {
|
|
@@ -20322,7 +20497,7 @@ class InlineInputComponent extends SimpleBaseInputComponent {
|
|
|
20322
20497
|
const parsed = Number.parseFloat(String(value ?? '0'));
|
|
20323
20498
|
return Number.isFinite(parsed) ? parsed : 0;
|
|
20324
20499
|
}
|
|
20325
|
-
syncMaskedDisplayValue() {
|
|
20500
|
+
syncMaskedDisplayValue(selectionStart) {
|
|
20326
20501
|
const input = this.inputEl?.nativeElement;
|
|
20327
20502
|
if (!input) {
|
|
20328
20503
|
return;
|
|
@@ -20333,16 +20508,24 @@ class InlineInputComponent extends SimpleBaseInputComponent {
|
|
|
20333
20508
|
if (input.value !== display) {
|
|
20334
20509
|
input.value = display;
|
|
20335
20510
|
}
|
|
20511
|
+
if (selectionStart != null) {
|
|
20512
|
+
const boundedSelection = Math.min(selectionStart, display.length);
|
|
20513
|
+
input.setSelectionRange(boundedSelection, boundedSelection);
|
|
20514
|
+
}
|
|
20336
20515
|
}
|
|
20337
20516
|
formatInlineDisplayValue(value) {
|
|
20338
20517
|
const mask = this.resolveDisplayMask();
|
|
20339
20518
|
if (!mask || !value.trim()) {
|
|
20340
20519
|
return value;
|
|
20341
20520
|
}
|
|
20342
|
-
return
|
|
20521
|
+
return normalizeInlineMaskedInput(value, mask).displayValue;
|
|
20343
20522
|
}
|
|
20344
|
-
resolveDisplayMask() {
|
|
20345
|
-
return resolveInlineDisplayMask(this.metadataRecord(),
|
|
20523
|
+
resolveDisplayMask(value = this.control().value) {
|
|
20524
|
+
return resolveInlineDisplayMask(this.metadataRecord(), value);
|
|
20525
|
+
}
|
|
20526
|
+
hasExplicitDisplayMask() {
|
|
20527
|
+
const metadata = this.metadataRecord();
|
|
20528
|
+
return ['displayMask', 'mask', 'inputMask', 'format'].some((key) => /[09#Xx]/.test(String(metadata[key] ?? '')));
|
|
20346
20529
|
}
|
|
20347
20530
|
isInlinePhone() {
|
|
20348
20531
|
const controlType = String(this.metadataRecord().controlType || '')
|
|
@@ -20379,7 +20562,7 @@ class InlineInputComponent extends SimpleBaseInputComponent {
|
|
|
20379
20562
|
.replace(/^./, (char) => char.toUpperCase());
|
|
20380
20563
|
}
|
|
20381
20564
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: InlineInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
20382
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.14", type: InlineInputComponent, isStandalone: true, selector: "pdx-inline-input", inputs: { readonlyMode: "readonlyMode", disabledMode: "disabledMode", visible: "visible", presentationMode: "presentationMode" }, host: { listeners: { "window:resize": "onViewportResize()" }, properties: { "class": "componentCssClasses()", "class.praxis-disabled": "disabledMode", "style.display": "visible ? \"inline-block\" : \"none\"", "attr.aria-hidden": "visible ? null : \"true\"", "style.width": "\"auto\"", "style.maxWidth": "\"100%\"", "attr.data-field-type": "inlineFieldType()", "attr.data-field-name": "metadata()?.name", "attr.data-component-id": "componentId()" } }, providers: [
|
|
20565
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.14", type: InlineInputComponent, isStandalone: true, selector: "pdx-inline-input", inputs: { readonlyMode: "readonlyMode", disabledMode: "disabledMode", visible: "visible", presentationMode: "presentationMode" }, host: { listeners: { "window:resize": "onViewportResize()" }, properties: { "class": "componentCssClasses()", "class.praxis-disabled": "disabledMode", "style.display": "visible ? \"inline-block\" : \"none\"", "attr.aria-hidden": "visible ? null : \"true\"", "style.width": "\"auto\"", "style.maxWidth": "\"100%\"", "style.--pdx-inline-input-width.px": "inlineWidthPx || null", "attr.data-field-type": "inlineFieldType()", "attr.data-field-name": "metadata()?.name", "attr.data-component-id": "componentId()" } }, providers: [
|
|
20383
20566
|
{
|
|
20384
20567
|
provide: NG_VALUE_ACCESSOR,
|
|
20385
20568
|
useExisting: forwardRef(() => InlineInputComponent),
|
|
@@ -20408,6 +20591,7 @@ class InlineInputComponent extends SimpleBaseInputComponent {
|
|
|
20408
20591
|
#inputEl
|
|
20409
20592
|
matInput
|
|
20410
20593
|
[formControl]="control()"
|
|
20594
|
+
[pdxInlineMaskedValueAccessor]="metadata()"
|
|
20411
20595
|
[errorStateMatcher]="errorStateMatcher()"
|
|
20412
20596
|
[placeholder]="placeholderText()"
|
|
20413
20597
|
[required]="metadata()?.required || false"
|
|
@@ -20417,7 +20601,7 @@ class InlineInputComponent extends SimpleBaseInputComponent {
|
|
|
20417
20601
|
[attr.disabled]="disabledMode || control().disabled ? '' : null"
|
|
20418
20602
|
[autocomplete]="metadata()?.autocomplete || 'off'"
|
|
20419
20603
|
[spellcheck]="metadata()?.spellcheck ?? false"
|
|
20420
|
-
[maxlength]="
|
|
20604
|
+
[maxlength]="nativeMaxLength()"
|
|
20421
20605
|
[minlength]="metadata()?.minLength || null"
|
|
20422
20606
|
[attr.aria-label]="ariaLabel()"
|
|
20423
20607
|
[matTooltip]="inlineTooltipText()"
|
|
@@ -20465,7 +20649,7 @@ class InlineInputComponent extends SimpleBaseInputComponent {
|
|
|
20465
20649
|
</button>
|
|
20466
20650
|
}
|
|
20467
20651
|
</mat-form-field>
|
|
20468
|
-
`, isInline: true, styles: [":host{--pdx-inline-field-surface: var(--md-sys-color-surface-container-high);--pdx-inline-field-on-surface: var(--md-sys-color-on-surface);--pdx-inline-field-on-surface-muted: var( --md-sys-color-on-surface-variant );--pdx-inline-field-outline: var(--md-sys-color-outline-variant);--pdx-inline-field-focus-outline: var(--md-sys-color-primary);display:inline-flex;width:auto;min-width:0;max-width:100%}:host ::ng-deep .pdx-inline-input .mat-mdc-form-field{width:auto;min-width:0;margin-bottom:0;transition:width .12s ease}:host ::ng-deep .pdx-inline-input .mat-mdc-form-field-subscript-wrapper{display:none}:host ::ng-deep .pdx-inline-input .mdc-notched-outline{display:none}:host ::ng-deep .pdx-inline-input .mat-mdc-form-field-flex,:host ::ng-deep .pdx-inline-input .mat-mdc-text-field-wrapper{padding:0;width:100%;min-width:0;background:transparent!important;background-color:transparent!important}:host ::ng-deep .pdx-inline-input .mat-mdc-form-field-focus-overlay{display:none}:host ::ng-deep .pdx-inline-input .mat-mdc-form-field-infix{min-height:0;width:100%;flex:1 1 auto;min-width:0;padding:0;position:relative}:host ::ng-deep .pdx-inline-input .mat-mdc-text-field-wrapper.mdc-text-field--outlined{display:flex;align-items:center;min-height:var(--pdx-inline-control-height, 42px);min-width:0;max-width:min(var(--pdx-inline-max-w, 360px),calc(100vw - 48px));padding-inline:var(--pdx-inline-control-padding-x, 14px);border-radius:999px;border:1px solid var(--pdx-inline-field-outline);background:var(--pdx-inline-field-surface)!important;background-color:var(--pdx-inline-field-surface)!important;box-sizing:border-box;transition:border-color .12s ease,box-shadow .12s ease}:host ::ng-deep .pdx-inline-input .mat-mdc-text-field-wrapper.mdc-text-field--outlined:after{display:none!important;content:none!important}:host ::ng-deep .pdx-inline-input .mat-mdc-text-field-wrapper.mdc-text-field--focused{border-color:var(--pdx-inline-field-focus-outline);box-shadow:0 0 0 2px color-mix(in srgb,var(--pdx-inline-field-focus-outline) 22%,transparent)}:host ::ng-deep .pdx-inline-input.pdx-has-value .mat-mdc-text-field-wrapper.mdc-text-field--outlined{border-color:var(--pdx-inline-field-focus-outline);background:var(--md-sys-color-primary)!important;background-color:var(--md-sys-color-primary)!important;color:var(--md-sys-color-on-primary)}:host ::ng-deep .pdx-inline-input.pdx-has-value input.mat-mdc-input-element,:host ::ng-deep .pdx-inline-input.pdx-has-value .mat-mdc-form-field-icon-prefix mat-icon{color:var(--md-sys-color-on-primary)!important}:host ::ng-deep .pdx-inline-input input.mat-mdc-input-element{color:var(--pdx-inline-field-on-surface)!important;font-family:var(--md-sys-typescale-body-large-font, inherit);font-size:var(--md-sys-typescale-body-large-size, 1rem);line-height:1.2;width:100%!important;min-width:1ch;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host ::ng-deep .pdx-inline-input .mdc-text-field__input::placeholder,:host ::ng-deep .pdx-inline-input input.mat-mdc-input-element::placeholder{color:var(--pdx-inline-field-on-surface-muted)!important;opacity:0!important}:host ::ng-deep .pdx-inline-input .pdx-inline-placeholder{position:absolute;left:0;top:50%;transform:translateY(-50%);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;color:var(--pdx-inline-field-on-surface-muted);font-family:var(--md-sys-typescale-body-large-font, inherit);font-size:var(--md-sys-typescale-body-large-size, 1rem);line-height:1.2}:host ::ng-deep .pdx-inline-input .pdx-inline-measure{position:absolute;visibility:hidden;pointer-events:none;white-space:pre;font-size:1.05rem;line-height:1.2;font-weight:400;left:-9999px;top:-9999px}:host ::ng-deep .pdx-inline-input .mat-mdc-form-field-icon-prefix{flex:0 0 auto;padding:0;margin-right:10px}:host ::ng-deep .pdx-inline-input .mat-mdc-form-field-icon-prefix mat-icon{width:18px;height:18px;font-size:18px;color:var(--md-sys-color-primary)}:host ::ng-deep .pdx-inline-input .pdx-inline-static-suffix{width:18px;height:18px;font-size:18px}:host ::ng-deep .pdx-inline-input .mat-mdc-form-field-icon-suffix{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;align-self:center;margin-left:10px;padding:0}:host ::ng-deep .pdx-inline-input .pdx-inline-clear{--clear-ring-color: var(--md-sys-color-primary);flex:0 0 var(--pdx-inline-clear-size, 24px);width:var(--pdx-inline-clear-size, 24px);height:var(--pdx-inline-clear-size, 24px);min-width:var(--pdx-inline-clear-size, 24px);border:0;border-radius:50%;appearance:none;-webkit-appearance:none;outline:none;padding:0;display:grid;place-items:center;background:color-mix(in srgb,var(--md-sys-color-on-surface) 12%,transparent);color:var(--md-sys-color-on-surface-variant);cursor:pointer;line-height:0;font-size:0;transition:background-color .12s ease,box-shadow .12s ease,color .12s ease}:host ::ng-deep .pdx-inline-input .pdx-inline-clear:hover{background:color-mix(in srgb,var(--md-sys-color-on-surface) 18%,transparent)}:host ::ng-deep .pdx-inline-input.pdx-has-value .pdx-inline-clear{--clear-ring-color: var(--md-sys-color-on-primary);background:color-mix(in srgb,var(--md-sys-color-on-primary) 24%,transparent);color:var(--md-sys-color-on-primary)}:host ::ng-deep .pdx-inline-input .pdx-inline-clear:focus-visible{background:color-mix(in srgb,var(--md-sys-color-on-surface) 20%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--clear-ring-color) 34%,transparent)}:host ::ng-deep .pdx-inline-input .pdx-inline-clear mat-icon{flex:none;display:block;width:16px;height:16px;font-size:16px;line-height:1;margin:0;transform:translateY(-.5px)}@media(max-width:768px){:host ::ng-deep .pdx-inline-input .mat-mdc-text-field-wrapper.mdc-text-field--outlined{min-height:var(--pdx-inline-control-height-mobile, 40px);padding-inline:var(--pdx-inline-control-padding-x-mobile, 12px)}}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i1$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$3.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i1$3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] });
|
|
20652
|
+
`, isInline: true, styles: [":host{--pdx-inline-field-surface: var(--md-sys-color-surface-container-high);--pdx-inline-field-on-surface: var(--md-sys-color-on-surface);--pdx-inline-field-on-surface-muted: var( --md-sys-color-on-surface-variant );--pdx-inline-field-outline: var(--md-sys-color-outline-variant);--pdx-inline-field-focus-outline: var(--md-sys-color-primary);display:inline-flex;width:auto;min-width:0;max-width:100%}:host ::ng-deep .pdx-inline-input .mat-mdc-form-field{width:auto;min-width:0;margin-bottom:0;transition:width .12s ease}:host ::ng-deep .pdx-inline-input .mat-mdc-form-field-subscript-wrapper{display:none}:host ::ng-deep .pdx-inline-input .mdc-notched-outline{display:none}:host ::ng-deep .pdx-inline-input .mat-mdc-form-field-flex,:host ::ng-deep .pdx-inline-input .mat-mdc-text-field-wrapper{padding:0;width:100%;min-width:0;background:transparent!important;background-color:transparent!important}:host ::ng-deep .pdx-inline-input .mat-mdc-form-field-focus-overlay{display:none}:host ::ng-deep .pdx-inline-input .mat-mdc-form-field-infix{min-height:0;width:100%;flex:1 1 auto;min-width:0;padding:0;position:relative}:host ::ng-deep .pdx-inline-input .mat-mdc-text-field-wrapper.mdc-text-field--outlined{display:flex;align-items:center;min-height:var(--pdx-inline-control-height, 42px);min-width:0;max-width:min(var(--pdx-inline-max-w, 360px),calc(100vw - 48px));padding-inline:var(--pdx-inline-control-padding-x, 14px);border-radius:999px;border:1px solid var(--pdx-inline-field-outline);background:var(--pdx-inline-field-surface)!important;background-color:var(--pdx-inline-field-surface)!important;box-sizing:border-box;transition:border-color .12s ease,box-shadow .12s ease}:host ::ng-deep .pdx-inline-input .mat-mdc-text-field-wrapper.mdc-text-field--outlined:after{display:none!important;content:none!important}:host ::ng-deep .pdx-inline-input .mat-mdc-text-field-wrapper.mdc-text-field--focused{border-color:var(--pdx-inline-field-focus-outline);box-shadow:0 0 0 2px color-mix(in srgb,var(--pdx-inline-field-focus-outline) 22%,transparent)}:host ::ng-deep .pdx-inline-input.pdx-has-value .mat-mdc-text-field-wrapper.mdc-text-field--outlined{border-color:var(--pdx-inline-field-focus-outline);background:var(--md-sys-color-primary)!important;background-color:var(--md-sys-color-primary)!important;color:var(--md-sys-color-on-primary)}:host ::ng-deep .pdx-inline-input.pdx-has-value input.mat-mdc-input-element,:host ::ng-deep .pdx-inline-input.pdx-has-value .mat-mdc-form-field-icon-prefix mat-icon{color:var(--md-sys-color-on-primary)!important}:host ::ng-deep .pdx-inline-input input.mat-mdc-input-element{color:var(--pdx-inline-field-on-surface)!important;font-family:var(--md-sys-typescale-body-large-font, inherit);font-size:var(--md-sys-typescale-body-large-size, 1rem);line-height:1.2;width:100%!important;min-width:1ch;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host ::ng-deep .pdx-inline-input .mdc-text-field__input::placeholder,:host ::ng-deep .pdx-inline-input input.mat-mdc-input-element::placeholder{color:var(--pdx-inline-field-on-surface-muted)!important;opacity:0!important}:host ::ng-deep .pdx-inline-input .pdx-inline-placeholder{position:absolute;left:0;top:50%;transform:translateY(-50%);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;color:var(--pdx-inline-field-on-surface-muted);font-family:var(--md-sys-typescale-body-large-font, inherit);font-size:var(--md-sys-typescale-body-large-size, 1rem);line-height:1.2}:host ::ng-deep .pdx-inline-input .pdx-inline-measure{position:absolute;visibility:hidden;pointer-events:none;white-space:pre;font-size:1.05rem;line-height:1.2;font-weight:400;left:-9999px;top:-9999px}:host ::ng-deep .pdx-inline-input .mat-mdc-form-field-icon-prefix{flex:0 0 auto;padding:0;margin-right:10px}:host ::ng-deep .pdx-inline-input .mat-mdc-form-field-icon-prefix mat-icon{width:18px;height:18px;font-size:18px;color:var(--md-sys-color-primary)}:host ::ng-deep .pdx-inline-input .pdx-inline-static-suffix{width:18px;height:18px;font-size:18px}:host ::ng-deep .pdx-inline-input .mat-mdc-form-field-icon-suffix{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;align-self:center;margin-left:10px;padding:0}:host ::ng-deep .pdx-inline-input .pdx-inline-clear{--clear-ring-color: var(--md-sys-color-primary);flex:0 0 var(--pdx-inline-clear-size, 24px);width:var(--pdx-inline-clear-size, 24px);height:var(--pdx-inline-clear-size, 24px);min-width:var(--pdx-inline-clear-size, 24px);border:0;border-radius:50%;appearance:none;-webkit-appearance:none;outline:none;padding:0;display:grid;place-items:center;background:color-mix(in srgb,var(--md-sys-color-on-surface) 12%,transparent);color:var(--md-sys-color-on-surface-variant);cursor:pointer;line-height:0;font-size:0;transition:background-color .12s ease,box-shadow .12s ease,color .12s ease}:host ::ng-deep .pdx-inline-input .pdx-inline-clear:hover{background:color-mix(in srgb,var(--md-sys-color-on-surface) 18%,transparent)}:host ::ng-deep .pdx-inline-input.pdx-has-value .pdx-inline-clear{--clear-ring-color: var(--md-sys-color-on-primary);background:color-mix(in srgb,var(--md-sys-color-on-primary) 24%,transparent);color:var(--md-sys-color-on-primary)}:host ::ng-deep .pdx-inline-input .pdx-inline-clear:focus-visible{background:color-mix(in srgb,var(--md-sys-color-on-surface) 20%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--clear-ring-color) 34%,transparent)}:host ::ng-deep .pdx-inline-input .pdx-inline-clear mat-icon{flex:none;display:block;width:16px;height:16px;font-size:16px;line-height:1;margin:0;transform:translateY(-.5px)}@media(max-width:768px){:host ::ng-deep .pdx-inline-input .mat-mdc-text-field-wrapper.mdc-text-field--outlined{min-height:var(--pdx-inline-control-height-mobile, 40px);padding-inline:var(--pdx-inline-control-padding-x-mobile, 12px)}}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i1$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$3.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i1$3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: InlineMaskedValueAccessorDirective, selector: "input[pdxInlineMaskedValueAccessor]", inputs: ["pdxInlineMaskedValueAccessor"] }] });
|
|
20469
20653
|
}
|
|
20470
20654
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: InlineInputComponent, decorators: [{
|
|
20471
20655
|
type: Component,
|
|
@@ -20475,6 +20659,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
20475
20659
|
MatInputModule,
|
|
20476
20660
|
MatIconModule,
|
|
20477
20661
|
MatTooltipModule,
|
|
20662
|
+
InlineMaskedValueAccessorDirective,
|
|
20478
20663
|
], template: `
|
|
20479
20664
|
<mat-form-field
|
|
20480
20665
|
[appearance]="'outline'"
|
|
@@ -20498,6 +20683,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
20498
20683
|
#inputEl
|
|
20499
20684
|
matInput
|
|
20500
20685
|
[formControl]="control()"
|
|
20686
|
+
[pdxInlineMaskedValueAccessor]="metadata()"
|
|
20501
20687
|
[errorStateMatcher]="errorStateMatcher()"
|
|
20502
20688
|
[placeholder]="placeholderText()"
|
|
20503
20689
|
[required]="metadata()?.required || false"
|
|
@@ -20507,7 +20693,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
20507
20693
|
[attr.disabled]="disabledMode || control().disabled ? '' : null"
|
|
20508
20694
|
[autocomplete]="metadata()?.autocomplete || 'off'"
|
|
20509
20695
|
[spellcheck]="metadata()?.spellcheck ?? false"
|
|
20510
|
-
[maxlength]="
|
|
20696
|
+
[maxlength]="nativeMaxLength()"
|
|
20511
20697
|
[minlength]="metadata()?.minLength || null"
|
|
20512
20698
|
[attr.aria-label]="ariaLabel()"
|
|
20513
20699
|
[matTooltip]="inlineTooltipText()"
|
|
@@ -20568,6 +20754,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
20568
20754
|
'[attr.aria-hidden]': 'visible ? null : "true"',
|
|
20569
20755
|
'[style.width]': '"auto"',
|
|
20570
20756
|
'[style.maxWidth]': '"100%"',
|
|
20757
|
+
'[style.--pdx-inline-input-width.px]': 'inlineWidthPx || null',
|
|
20571
20758
|
'[attr.data-field-type]': 'inlineFieldType()',
|
|
20572
20759
|
'[attr.data-field-name]': 'metadata()?.name',
|
|
20573
20760
|
'[attr.data-component-id]': 'componentId()',
|
|
@@ -27083,12 +27270,7 @@ class MaterialCpfCnpjInputComponent extends SimpleBaseInputComponent {
|
|
|
27083
27270
|
}
|
|
27084
27271
|
}
|
|
27085
27272
|
shouldApplySemanticDocumentValidator(meta) {
|
|
27086
|
-
|
|
27087
|
-
return (validators['cpfCnpj'] === true ||
|
|
27088
|
-
validators['cpf'] === true ||
|
|
27089
|
-
validators['cnpj'] === true ||
|
|
27090
|
-
meta.validateDocument === true ||
|
|
27091
|
-
meta.validateCpfCnpj === true);
|
|
27273
|
+
return meta.validators?.cpfCnpj === true;
|
|
27092
27274
|
}
|
|
27093
27275
|
isReadonlyEffective() {
|
|
27094
27276
|
const st = computeEffectiveState(this.metadataAsField(), {
|
|
@@ -27098,132 +27280,111 @@ class MaterialCpfCnpjInputComponent extends SimpleBaseInputComponent {
|
|
|
27098
27280
|
return st.readonly;
|
|
27099
27281
|
}
|
|
27100
27282
|
writeValue(value) {
|
|
27101
|
-
const
|
|
27102
|
-
|
|
27103
|
-
|
|
27104
|
-
? null
|
|
27105
|
-
: String(value);
|
|
27106
|
-
const formatted = this.formatValue(stringValue);
|
|
27107
|
-
super.writeValue(formatted);
|
|
27283
|
+
const source = String(value ?? '').toUpperCase();
|
|
27284
|
+
const normalized = this.normalizeDocumentValue(source);
|
|
27285
|
+
super.writeValue(this.resolvePresentedDocumentValue(source, normalized).value);
|
|
27108
27286
|
}
|
|
27109
27287
|
applyNativeDisplayMask(value = this.control().value) {
|
|
27110
27288
|
const input = this.nativeElement;
|
|
27111
27289
|
if (!input || input.tagName.toLowerCase() !== 'input') {
|
|
27112
27290
|
return;
|
|
27113
27291
|
}
|
|
27114
|
-
const
|
|
27115
|
-
|
|
27116
|
-
|
|
27117
|
-
|
|
27118
|
-
|
|
27119
|
-
if (input.value !== formatted) {
|
|
27120
|
-
input.value = formatted;
|
|
27292
|
+
const source = String(value ?? '').toUpperCase();
|
|
27293
|
+
const normalized = this.normalizeDocumentValue(source);
|
|
27294
|
+
const presented = this.resolvePresentedDocumentValue(source, normalized);
|
|
27295
|
+
if (input.value !== presented.value) {
|
|
27296
|
+
input.value = presented.value;
|
|
27121
27297
|
}
|
|
27122
27298
|
}
|
|
27123
27299
|
handleInput(event) {
|
|
27124
27300
|
const input = event.target;
|
|
27125
|
-
const
|
|
27126
|
-
const
|
|
27127
|
-
|
|
27128
|
-
const cleaned = this.cleanValue(value);
|
|
27129
|
-
const formatted = this.formatValue(cleaned);
|
|
27130
|
-
// Atualiza o controle sem emitir evento (evita loop)
|
|
27301
|
+
const source = input.value.toUpperCase();
|
|
27302
|
+
const normalized = this.normalizeDocumentValue(source, input.selectionStart);
|
|
27303
|
+
const presented = this.resolvePresentedDocumentValue(source, normalized, input.selectionStart);
|
|
27131
27304
|
const ctrl = this.control();
|
|
27132
|
-
ctrl.setValue(
|
|
27133
|
-
|
|
27134
|
-
|
|
27135
|
-
|
|
27136
|
-
|
|
27137
|
-
while (newPos < formatted.length && cleanCount < originalCleanedLength) {
|
|
27138
|
-
if (/[A-Z0-9]/.test(formatted[newPos])) {
|
|
27139
|
-
cleanCount++;
|
|
27140
|
-
}
|
|
27141
|
-
newPos++;
|
|
27142
|
-
}
|
|
27143
|
-
input.setSelectionRange(newPos, newPos);
|
|
27144
|
-
// Propaga valor (unmask se configurado)
|
|
27305
|
+
ctrl.setValue(presented.value, { emitEvent: false });
|
|
27306
|
+
if (input.value !== presented.value) {
|
|
27307
|
+
input.value = presented.value;
|
|
27308
|
+
}
|
|
27309
|
+
input.setSelectionRange(presented.selectionStart, presented.selectionStart);
|
|
27145
27310
|
const unmask = this.cpfCnpjMetadata()?.unmaskOnSubmit ?? true;
|
|
27146
|
-
const modelValue = unmask
|
|
27311
|
+
const modelValue = unmask
|
|
27312
|
+
? normalized.rawValue
|
|
27313
|
+
: normalized.displayValue;
|
|
27147
27314
|
this.onChange(modelValue);
|
|
27148
27315
|
this.valueChange.emit(modelValue);
|
|
27149
27316
|
this.markAsDirty();
|
|
27150
|
-
// Validação imediata (opcional: pode ser debounce se necessário)
|
|
27151
27317
|
ctrl.updateValueAndValidity();
|
|
27152
27318
|
}
|
|
27153
|
-
|
|
27154
|
-
cleanValue(value) {
|
|
27319
|
+
documentInputMode() {
|
|
27155
27320
|
const meta = this.cpfCnpjMetadata();
|
|
27321
|
+
const documentType = meta?.documentType ?? 'auto';
|
|
27156
27322
|
const version = meta?.version ?? 'auto';
|
|
27157
|
-
|
|
27158
|
-
|
|
27159
|
-
|
|
27160
|
-
// Se permitir input formatado, remova máscara primeiro
|
|
27161
|
-
if (meta?.allowFormattedInput ?? true) {
|
|
27162
|
-
cleaned = cleaned.replace(/[^A-Z0-9]/g, ''); // Remove máscara existente
|
|
27163
|
-
}
|
|
27164
|
-
// Aplique restrições baseadas em version e docType
|
|
27165
|
-
if (docType === 'cpf' || version === 'legacy') {
|
|
27166
|
-
return cleaned.replace(/[^0-9]/g, ''); // Apenas dígitos para CPF ou legacy
|
|
27167
|
-
}
|
|
27168
|
-
else if (version === 'alpha') {
|
|
27169
|
-
return cleaned.replace(/[^A-Z0-9]/g, ''); // Alfanumérico
|
|
27170
|
-
}
|
|
27171
|
-
else {
|
|
27172
|
-
// 'auto': detecta baseado em caracteres
|
|
27173
|
-
return cleaned.match(/[A-Z]/)
|
|
27174
|
-
? cleaned.replace(/[^A-Z0-9]/g, '')
|
|
27175
|
-
: cleaned.replace(/[^0-9]/g, '');
|
|
27323
|
+
if (documentType === 'auto' ||
|
|
27324
|
+
(documentType === 'cnpj' && version !== 'legacy')) {
|
|
27325
|
+
return 'text';
|
|
27176
27326
|
}
|
|
27327
|
+
const mask = this.resolveDocumentMask(String(this.control().value ?? ''));
|
|
27328
|
+
return mask.rawMode === 'digits' ? 'numeric' : 'text';
|
|
27177
27329
|
}
|
|
27178
|
-
|
|
27179
|
-
formatValue(value) {
|
|
27180
|
-
const cleaned = this.cleanValue(value);
|
|
27181
|
-
if (!cleaned)
|
|
27182
|
-
return '';
|
|
27330
|
+
documentDisplayMaxLength() {
|
|
27183
27331
|
const meta = this.cpfCnpjMetadata();
|
|
27184
|
-
const
|
|
27185
|
-
|
|
27186
|
-
|
|
27187
|
-
|
|
27188
|
-
|
|
27189
|
-
|
|
27190
|
-
|
|
27191
|
-
|
|
27192
|
-
|
|
27193
|
-
|
|
27194
|
-
|
|
27195
|
-
|
|
27196
|
-
|
|
27197
|
-
|
|
27198
|
-
|
|
27199
|
-
|
|
27200
|
-
|
|
27201
|
-
|
|
27202
|
-
|
|
27203
|
-
|
|
27204
|
-
|
|
27205
|
-
|
|
27206
|
-
|
|
27332
|
+
const explicitMask = [
|
|
27333
|
+
meta?.displayMask,
|
|
27334
|
+
meta?.mask,
|
|
27335
|
+
meta?.inputMask,
|
|
27336
|
+
].find((candidate) => /[09#Xx]/.test(String(candidate ?? '')));
|
|
27337
|
+
if (explicitMask) {
|
|
27338
|
+
return meta?.allowFormattedInput === false
|
|
27339
|
+
? inlineDisplayMaskCapacity({
|
|
27340
|
+
mask: String(explicitMask),
|
|
27341
|
+
rawMode: this.resolveDocumentMask(String(this.control().value ?? '')).rawMode,
|
|
27342
|
+
})
|
|
27343
|
+
: String(explicitMask).length;
|
|
27344
|
+
}
|
|
27345
|
+
if (meta?.allowFormattedInput === false) {
|
|
27346
|
+
return meta?.documentType === 'cpf' ? 11 : 14;
|
|
27347
|
+
}
|
|
27348
|
+
return meta?.documentType === 'cpf' ? 14 : 18;
|
|
27349
|
+
}
|
|
27350
|
+
normalizeDocumentValue(value, selectionStart) {
|
|
27351
|
+
const normalizedText = String(value ?? '').toUpperCase();
|
|
27352
|
+
return normalizeInlineMaskedInput(normalizedText, this.resolveDocumentMask(normalizedText), selectionStart);
|
|
27353
|
+
}
|
|
27354
|
+
resolvePresentedDocumentValue(source, normalized, selectionStart) {
|
|
27355
|
+
if (this.cpfCnpjMetadata()?.allowFormattedInput !== false) {
|
|
27356
|
+
return {
|
|
27357
|
+
value: normalized.displayValue,
|
|
27358
|
+
selectionStart: normalized.selectionStart,
|
|
27359
|
+
};
|
|
27207
27360
|
}
|
|
27361
|
+
const sourceBeforeCaret = source.slice(0, selectionStart ?? source.length);
|
|
27362
|
+
const rawCaret = normalizeInlineMaskedInput(sourceBeforeCaret, this.resolveDocumentMask(source)).rawValue.length;
|
|
27363
|
+
return {
|
|
27364
|
+
value: normalized.rawValue,
|
|
27365
|
+
selectionStart: Math.min(rawCaret, normalized.rawValue.length),
|
|
27366
|
+
};
|
|
27208
27367
|
}
|
|
27209
|
-
|
|
27210
|
-
|
|
27211
|
-
const
|
|
27212
|
-
if (
|
|
27213
|
-
return
|
|
27214
|
-
}
|
|
27215
|
-
else if (v.length <= 5) {
|
|
27216
|
-
return v.replace(/^([A-Z0-9]{2})([A-Z0-9]{1,3})/, '$1.$2');
|
|
27217
|
-
}
|
|
27218
|
-
else if (v.length <= 8) {
|
|
27219
|
-
return v.replace(/^([A-Z0-9]{2})([A-Z0-9]{3})([A-Z0-9]{1,3})/, '$1.$2.$3');
|
|
27220
|
-
}
|
|
27221
|
-
else if (v.length <= 12) {
|
|
27222
|
-
return v.replace(/^([A-Z0-9]{2})([A-Z0-9]{3})([A-Z0-9]{3})([A-Z0-9]{1,4})/, '$1.$2.$3/$4');
|
|
27223
|
-
}
|
|
27224
|
-
else {
|
|
27225
|
-
return v.replace(/^([A-Z0-9]{2})([A-Z0-9]{3})([A-Z0-9]{3})([A-Z0-9]{4})([A-Z0-9]{1,2})/, '$1.$2.$3/$4-$5');
|
|
27368
|
+
resolveDocumentMask(value) {
|
|
27369
|
+
const meta = this.cpfCnpjMetadata();
|
|
27370
|
+
const configuredMask = resolveInlineDisplayMask((meta ?? {}), value);
|
|
27371
|
+
if (configuredMask) {
|
|
27372
|
+
return configuredMask;
|
|
27226
27373
|
}
|
|
27374
|
+
const documentType = meta?.documentType ?? 'auto';
|
|
27375
|
+
const version = meta?.version ?? 'auto';
|
|
27376
|
+
const rawCandidate = value.replace(/[^A-Z0-9]/g, '');
|
|
27377
|
+
const hasLetters = /[A-Z]/.test(rawCandidate);
|
|
27378
|
+
const isCpf = documentType === 'cpf' ||
|
|
27379
|
+
(documentType === 'auto' && !hasLetters && rawCandidate.length <= 11);
|
|
27380
|
+
if (isCpf) {
|
|
27381
|
+
return { mask: '000.000.000-00', rawMode: 'digits' };
|
|
27382
|
+
}
|
|
27383
|
+
const isAlpha = version === 'alpha' || (version === 'auto' && hasLetters);
|
|
27384
|
+
return {
|
|
27385
|
+
mask: isAlpha ? 'XX.XXX.XXX/XXXX-XX' : '00.000.000/0000-00',
|
|
27386
|
+
rawMode: isAlpha ? 'alphanumeric' : 'digits',
|
|
27387
|
+
};
|
|
27227
27388
|
}
|
|
27228
27389
|
metadataAsField() {
|
|
27229
27390
|
const metadata = this.metadata();
|
|
@@ -27266,6 +27427,8 @@ class MaterialCpfCnpjInputComponent extends SimpleBaseInputComponent {
|
|
|
27266
27427
|
[placeholder]="placeholder || ''"
|
|
27267
27428
|
[required]="cpfCnpjMetadata()?.required || false"
|
|
27268
27429
|
type="text"
|
|
27430
|
+
[attr.inputmode]="documentInputMode()"
|
|
27431
|
+
[maxlength]="documentDisplayMaxLength()"
|
|
27269
27432
|
[autocomplete]="cpfCnpjMetadata()?.autocomplete || 'off'"
|
|
27270
27433
|
[readonly]="isReadonlyEffective()"
|
|
27271
27434
|
[attr.aria-disabled]="disabledMode ? 'true' : null"
|
|
@@ -27282,8 +27445,6 @@ class MaterialCpfCnpjInputComponent extends SimpleBaseInputComponent {
|
|
|
27282
27445
|
[praxisIcon]="cpfCnpjMetadata()!.suffixIcon"
|
|
27283
27446
|
></mat-icon>
|
|
27284
27447
|
}
|
|
27285
|
-
|
|
27286
|
-
|
|
27287
27448
|
@if (showClear()) {
|
|
27288
27449
|
<button
|
|
27289
27450
|
mat-icon-button
|
|
@@ -27312,7 +27473,7 @@ class MaterialCpfCnpjInputComponent extends SimpleBaseInputComponent {
|
|
|
27312
27473
|
}}</mat-hint>
|
|
27313
27474
|
}
|
|
27314
27475
|
</mat-form-field>
|
|
27315
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i1$3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1$3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1$3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i1$3.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i1$3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
27476
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i1$3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1$3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1$3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i1$3.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i1$3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
27316
27477
|
}
|
|
27317
27478
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: MaterialCpfCnpjInputComponent, decorators: [{
|
|
27318
27479
|
type: Component,
|
|
@@ -27346,6 +27507,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
27346
27507
|
[placeholder]="placeholder || ''"
|
|
27347
27508
|
[required]="cpfCnpjMetadata()?.required || false"
|
|
27348
27509
|
type="text"
|
|
27510
|
+
[attr.inputmode]="documentInputMode()"
|
|
27511
|
+
[maxlength]="documentDisplayMaxLength()"
|
|
27349
27512
|
[autocomplete]="cpfCnpjMetadata()?.autocomplete || 'off'"
|
|
27350
27513
|
[readonly]="isReadonlyEffective()"
|
|
27351
27514
|
[attr.aria-disabled]="disabledMode ? 'true' : null"
|
|
@@ -27362,8 +27525,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
27362
27525
|
[praxisIcon]="cpfCnpjMetadata()!.suffixIcon"
|
|
27363
27526
|
></mat-icon>
|
|
27364
27527
|
}
|
|
27365
|
-
|
|
27366
|
-
|
|
27367
27528
|
@if (showClear()) {
|
|
27368
27529
|
<button
|
|
27369
27530
|
mat-icon-button
|
|
@@ -27400,7 +27561,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
27400
27561
|
MatIconModule,
|
|
27401
27562
|
MatTooltipModule,
|
|
27402
27563
|
PraxisIconDirective,
|
|
27403
|
-
ReactiveFormsModule
|
|
27564
|
+
ReactiveFormsModule,
|
|
27404
27565
|
],
|
|
27405
27566
|
providers: [
|
|
27406
27567
|
{
|
|
@@ -70082,7 +70243,8 @@ const DYNAMIC_FIELDS_PLAYGROUND_CATALOG = [
|
|
|
70082
70243
|
const BRAZIL_INPUTS_AI_CAPABILITIES = {
|
|
70083
70244
|
version: 'v2.0',
|
|
70084
70245
|
enums: {
|
|
70085
|
-
|
|
70246
|
+
documentType: ['cpf', 'cnpj', 'auto'],
|
|
70247
|
+
version: ['legacy', 'alpha', 'auto'],
|
|
70086
70248
|
},
|
|
70087
70249
|
notes: [
|
|
70088
70250
|
'Capabilities for Brazilian localized inputs: CPF, CNPJ, Phone (BR), CEP.',
|
|
@@ -70090,12 +70252,25 @@ const BRAZIL_INPUTS_AI_CAPABILITIES = {
|
|
|
70090
70252
|
],
|
|
70091
70253
|
capabilities: [
|
|
70092
70254
|
{
|
|
70093
|
-
path: '
|
|
70255
|
+
path: 'documentType',
|
|
70094
70256
|
category: 'behavior',
|
|
70095
70257
|
valueKind: 'enum',
|
|
70096
|
-
allowedValues: ['cpf', 'cnpj', '
|
|
70097
|
-
description: 'Tipo
|
|
70098
|
-
intentExamples: ['campo de CPF', '
|
|
70258
|
+
allowedValues: ['cpf', 'cnpj', 'auto'],
|
|
70259
|
+
description: 'Tipo canônico do documento brasileiro.',
|
|
70260
|
+
intentExamples: ['campo de CPF', 'aceitar CPF ou CNPJ'],
|
|
70261
|
+
},
|
|
70262
|
+
{
|
|
70263
|
+
path: 'version',
|
|
70264
|
+
category: 'behavior',
|
|
70265
|
+
valueKind: 'enum',
|
|
70266
|
+
allowedValues: ['legacy', 'alpha', 'auto'],
|
|
70267
|
+
description: 'Versão numérica legada ou alfanumérica do documento.',
|
|
70268
|
+
},
|
|
70269
|
+
{
|
|
70270
|
+
path: 'mask',
|
|
70271
|
+
category: 'appearance',
|
|
70272
|
+
valueKind: 'string',
|
|
70273
|
+
description: 'Máscara de exibição; 0 representa dígito e X representa caractere alfanumérico.',
|
|
70099
70274
|
},
|
|
70100
70275
|
{
|
|
70101
70276
|
path: 'unmaskOnSubmit',
|
|
@@ -70106,16 +70281,10 @@ const BRAZIL_INPUTS_AI_CAPABILITIES = {
|
|
|
70106
70281
|
intentExamples: ['salvar sem máscara', 'enviar apenas números'],
|
|
70107
70282
|
},
|
|
70108
70283
|
{
|
|
70109
|
-
path: 'validators.
|
|
70110
|
-
category: 'validation',
|
|
70111
|
-
valueKind: 'boolean',
|
|
70112
|
-
description: 'Valida dígito verificador do CPF.',
|
|
70113
|
-
},
|
|
70114
|
-
{
|
|
70115
|
-
path: 'validators.cnpj',
|
|
70284
|
+
path: 'validators.cpfCnpj',
|
|
70116
70285
|
category: 'validation',
|
|
70117
70286
|
valueKind: 'boolean',
|
|
70118
|
-
description: 'Valida
|
|
70287
|
+
description: 'Valida os dígitos verificadores de CPF ou CNPJ completo.',
|
|
70119
70288
|
},
|
|
70120
70289
|
],
|
|
70121
70290
|
};
|
|
@@ -72092,15 +72261,23 @@ const PRAXIS_DYNAMIC_FIELDS_AUTHORING_PROFILES = [
|
|
|
72092
72261
|
profileId: 'regional-document',
|
|
72093
72262
|
title: 'Regional document controls',
|
|
72094
72263
|
description: 'Profile for Brazilian CPF/CNPJ document input controls.',
|
|
72095
|
-
componentIds: ['pdx-material-cpf-cnpj-input'],
|
|
72096
|
-
targetDescription: '
|
|
72264
|
+
componentIds: ['pdx-material-cpf-cnpj-input', 'pdx-inline-input'],
|
|
72265
|
+
targetDescription: 'Canonical Brazilian document metadata paths for full inputs and explicitly semantic partial-search filters.',
|
|
72097
72266
|
operationId: 'field.regionalDocument.configure',
|
|
72098
72267
|
operationTitle: 'Configure regional document field metadata',
|
|
72099
|
-
properties: {
|
|
72100
|
-
|
|
72268
|
+
properties: {
|
|
72269
|
+
documentType: { enum: ['cpf', 'cnpj', 'auto'] },
|
|
72270
|
+
version: { enum: ['legacy', 'alpha', 'auto'] },
|
|
72271
|
+
mask: { type: 'string' },
|
|
72272
|
+
validators: {
|
|
72273
|
+
type: 'object',
|
|
72274
|
+
properties: { cpfCnpj: { type: 'boolean' } },
|
|
72275
|
+
},
|
|
72276
|
+
},
|
|
72277
|
+
validators: [{ validatorId: 'regional-document-valid', level: 'error', code: 'PDFP017', description: 'Regional document controls must preserve canonical document type, version, display mask and optional full-document validation semantics.' }],
|
|
72101
72278
|
operationValidators: ['regional-document-valid'],
|
|
72102
|
-
affectedPaths: ['fieldMetadata.documentType', 'fieldMetadata.mask', 'fieldMetadata.
|
|
72103
|
-
example: { id: 'configure-cpf-cnpj-document', request: 'Accept CPF or CNPJ and validate the document
|
|
72279
|
+
affectedPaths: ['fieldMetadata.documentType', 'fieldMetadata.version', 'fieldMetadata.mask', 'fieldMetadata.validators.cpfCnpj'],
|
|
72280
|
+
example: { id: 'configure-cpf-cnpj-document', request: 'Accept CPF or CNPJ and validate the complete document.', operationId: 'field.regionalDocument.configure', params: { documentType: 'auto', version: 'auto', validators: { cpfCnpj: true } }, isPositive: true },
|
|
72104
72281
|
}),
|
|
72105
72282
|
fieldMetadataProfile({
|
|
72106
72283
|
profileId: 'file-upload',
|
|
@@ -73229,4 +73406,4 @@ function supportsClearButtonControlType(controlType) {
|
|
|
73229
73406
|
* Generated bundle index. Do not edit.
|
|
73230
73407
|
*/
|
|
73231
73408
|
|
|
73232
|
-
export { BRAZIL_INPUTS_AI_CAPABILITIES, CACHE_TTL, CHIPS_CONTROLS_AI_CAPABILITIES, CLEAR_BUTTON_CONTROL_TYPES, COLOR_CONTROLS_AI_CAPABILITIES, CONTROL_TYPE_AI_CATALOGS, ColorInputComponent, ComponentPreloaderService, ComponentRegistryService, ConfirmDialogComponent, DATE_CONTROLS_AI_CAPABILITIES, DISPLAY_ACTION_AI_CAPABILITIES, DISTANCE_RADIUS_AI_CAPABILITIES, DYNAMIC_FIELDS_PLAYGROUND_CATALOG, DYNAMIC_FIELD_BASE_STATE_RECIPES, DYNAMIC_FIELD_DEFAULT_STATE_RECIPE, DYNAMIC_FIELD_DISABLED_STATE_RECIPE, DYNAMIC_FIELD_ERROR_STATE_RECIPE, DYNAMIC_FIELD_FILLED_STATE_RECIPE, DYNAMIC_FIELD_PRESENTATION_STATE_RECIPE, DYNAMIC_FIELD_READONLY_STATE_RECIPE, DateInputComponent, DateUtilsService, DatetimeLocalInputComponent, DynamicFieldLoaderDirective, EditableCollectionComponent, EmailInputComponent, EntityLookupDialogComponent, FILE_UPLOAD_AI_CAPABILITIES, InlineAsyncSelectComponent, InlineAutocompleteComponent, InlineColorLabelComponent, InlineCurrencyComponent, InlineCurrencyRangeComponent, InlineDateComponent, InlineDateRangeComponent, InlineDistanceRadiusComponent, InlineEntityLookupComponent, InlineInputComponent, InlineMonthRangeComponent, InlineMultiSelectComponent, InlineNumberComponent, InlinePeriodRangeComponent, InlinePipelineStatusComponent, InlineRangeSliderComponent, InlineRatingComponent, InlineRelativePeriodComponent, InlineScorePriorityComponent, InlineSearchableSelectComponent, InlineSelectComponent, InlineSentimentComponent, InlineTimeComponent, InlineTimeRangeComponent, InlineToggleComponent, InlineTreeSelectComponent, InlineYearRangeComponent, KeyboardShortcutService, LIST_CONTROLS_AI_CAPABILITIES, LoggerPresets, MAX_LOAD_ATTEMPTS, MaterialAsyncSelectComponent, MaterialAutocompleteComponent, MaterialAvatarComponent, MaterialButtonComponent, MaterialButtonToggleComponent, MaterialCheckboxGroupComponent, MaterialChipsComponent, MaterialColorPickerComponent, MaterialCpfCnpjInputComponent, MaterialCurrencyComponent, MaterialDateRangeComponent, MaterialDatepickerComponent, MaterialFileUploadComponent, MaterialMultiSelectComponent, MaterialMultiSelectTreeComponent, MaterialPriceRangeComponent, MaterialRadioGroupComponent, MaterialRatingComponent, MaterialSearchableSelectComponent, MaterialSelectComponent, MaterialSelectionListComponent, MaterialSlideToggleComponent, MaterialSliderComponent, MaterialTextareaComponent, MaterialTimepickerComponent, MaterialTransferListComponent, MaterialTreeSelectComponent, MonthInputComponent, NUMERIC_INPUTS_AI_CAPABILITIES, NumberInputComponent, OptionDisplayResolverService, OptionStore, PDX_COLOR_INPUT_COMPONENT_METADATA, PDX_COLOR_PICKER_COMPONENT_METADATA, PDX_DATETIME_LOCAL_INPUT_COMPONENT_METADATA, PDX_DATE_INPUT_COMPONENT_METADATA, PDX_EDITABLE_COLLECTION_COMPONENT_METADATA, PDX_EMAIL_INPUT_COMPONENT_METADATA, PDX_ENTITY_LOOKUP_COMPONENT_METADATA, PDX_FIELD_SHELL_COMPONENT_METADATA, PDX_INLINE_ASYNC_SELECT_COMPONENT_METADATA, PDX_INLINE_AUTOCOMPLETE_COMPONENT_METADATA, PDX_INLINE_COLOR_LABEL_COMPONENT_METADATA, PDX_INLINE_CURRENCY_COMPONENT_METADATA, PDX_INLINE_CURRENCY_RANGE_COMPONENT_METADATA, PDX_INLINE_DATE_COMPONENT_METADATA, PDX_INLINE_DATE_RANGE_COMPONENT_METADATA, PDX_INLINE_DISTANCE_RADIUS_COMPONENT_METADATA, PDX_INLINE_ENTITY_LOOKUP_COMPONENT_METADATA, PDX_INLINE_INPUT_COMPONENT_METADATA, PDX_INLINE_MONTH_RANGE_COMPONENT_METADATA, PDX_INLINE_MULTI_SELECT_COMPONENT_METADATA, PDX_INLINE_NUMBER_COMPONENT_METADATA, PDX_INLINE_PERIOD_RANGE_COMPONENT_METADATA, PDX_INLINE_PHONE_COMPONENT_METADATA, PDX_INLINE_PIPELINE_STATUS_COMPONENT_METADATA, PDX_INLINE_RANGE_SLIDER_COMPONENT_METADATA, PDX_INLINE_RATING_COMPONENT_METADATA, PDX_INLINE_RELATIVE_PERIOD_COMPONENT_METADATA, PDX_INLINE_SCORE_PRIORITY_COMPONENT_METADATA, PDX_INLINE_SEARCHABLE_SELECT_COMPONENT_METADATA, PDX_INLINE_SELECT_COMPONENT_METADATA, PDX_INLINE_SENTIMENT_COMPONENT_METADATA, PDX_INLINE_TIME_COMPONENT_METADATA, PDX_INLINE_TIME_RANGE_COMPONENT_METADATA, PDX_INLINE_TOGGLE_COMPONENT_METADATA, PDX_INLINE_TREE_SELECT_COMPONENT_METADATA, PDX_INLINE_YEAR_RANGE_COMPONENT_METADATA, PDX_MATERIAL_ASYNC_SELECT_COMPONENT_METADATA, PDX_MATERIAL_AUTOCOMPLETE_COMPONENT_METADATA, PDX_MATERIAL_AVATAR_COMPONENT_METADATA, PDX_MATERIAL_BUTTON_COMPONENT_METADATA, PDX_MATERIAL_BUTTON_TOGGLE_COMPONENT_METADATA, PDX_MATERIAL_CHECKBOX_GROUP_COMPONENT_METADATA, PDX_MATERIAL_CHIPS_COMPONENT_METADATA, PDX_MATERIAL_COLORPICKER_COMPONENT_METADATA, PDX_MATERIAL_CPF_CNPJ_INPUT_COMPONENT_METADATA, PDX_MATERIAL_CURRENCY_COMPONENT_METADATA, PDX_MATERIAL_DATEPICKER_COMPONENT_METADATA, PDX_MATERIAL_DATE_RANGE_COMPONENT_METADATA, PDX_MATERIAL_FILE_UPLOAD_COMPONENT_METADATA, PDX_MATERIAL_MULTI_SELECT_COMPONENT_METADATA, PDX_MATERIAL_MULTI_SELECT_TREE_COMPONENT_METADATA, PDX_MATERIAL_PRICE_RANGE_COMPONENT_METADATA, PDX_MATERIAL_RADIO_GROUP_COMPONENT_METADATA, PDX_MATERIAL_RANGE_SLIDER_COMPONENT_METADATA, PDX_MATERIAL_RATING_COMPONENT_METADATA, PDX_MATERIAL_SEARCHABLE_SELECT_COMPONENT_METADATA, PDX_MATERIAL_SELECTION_LIST_COMPONENT_METADATA, PDX_MATERIAL_SELECT_COMPONENT_METADATA, PDX_MATERIAL_SLIDER_COMPONENT_METADATA, PDX_MATERIAL_SLIDE_TOGGLE_COMPONENT_METADATA, PDX_MATERIAL_TEXTAREA_COMPONENT_METADATA, PDX_MATERIAL_TIMEPICKER_COMPONENT_METADATA, PDX_MATERIAL_TIME_RANGE_COMPONENT_METADATA, PDX_MATERIAL_TRANSFER_LIST_COMPONENT_METADATA, PDX_MATERIAL_TREE_SELECT_COMPONENT_METADATA, PDX_MONTH_INPUT_COMPONENT_METADATA, PDX_NUMBER_INPUT_COMPONENT_METADATA, PDX_PASSWORD_INPUT_COMPONENT_METADATA, PDX_PHONE_INPUT_COMPONENT_METADATA, PDX_PRELOAD_STATUS_COMPONENT_METADATA, PDX_SEARCH_INPUT_COMPONENT_METADATA, PDX_TEXT_INPUT_COMPONENT_METADATA, PDX_TIME_INPUT_COMPONENT_METADATA, PDX_URL_INPUT_COMPONENT_METADATA, PDX_WEEK_INPUT_COMPONENT_METADATA, PDX_YEAR_INPUT_COMPONENT_METADATA, PRAXIS_DYNAMIC_FIELDS_AUTHORING_MANIFEST, PRAXIS_DYNAMIC_FIELDS_AUTHORING_PROFILES, PRAXIS_DYNAMIC_FIELDS_EDITORIAL_WAVE_1, PRAXIS_DYNAMIC_FIELDS_EN_US, PRAXIS_DYNAMIC_FIELDS_I18N, PRAXIS_DYNAMIC_FIELDS_LOGGER_BACKEND, PRAXIS_DYNAMIC_FIELDS_PT_BR, PRAXIS_DYNAMIC_FIELDS_WAVE_1_COMPONENT_METADATA, PRICE_RANGE_AI_CAPABILITIES, PasswordInputComponent, PdxCollectionOverlayComponent, PdxCollectionOverlayTriggerDirective, PdxCollectionSearchComponent, PdxColorPickerComponent, PdxMaterialRangeSliderComponent, PdxMaterialTimeRangeComponent, PdxYearInputComponent, PhoneInputComponent, PraxisErrorStateMatcher, PreloadStatusComponent, RETRY_DELAY, SELECT_CONTROLS_AI_CAPABILITIES, SearchInputComponent, SimpleBaseButtonComponent, SimpleBaseInputComponent, SimpleBaseSelectComponent, TEXT_INPUTS_AI_CAPABILITIES, TIME_RANGE_AI_CAPABILITIES, TOGGLE_CONTROLS_AI_CAPABILITIES, TREE_CONTROLS_AI_CAPABILITIES, TextInputComponent, TimeInputComponent, UrlInputComponent, WeekInputComponent, YEAR_INPUT_AI_CAPABILITIES, applyAlphaToColor, bindDynamicFieldsLoggerBackendFromInjector, clearDynamicFieldsLoggerBackend, configureDynamicFieldsLogger, createDynamicFieldPreviewRecipe, createErrorStateMatcher, createPraxisDynamicFieldsI18nConfig, emitToDynamicFieldsLoggerBackend, enableDebugForComponent, getControlTypeCatalog, getErrorStateMatcherForField, inferErrorStateStrategy, initializeComponentSystem, initializeComponentSystemSync, interpolateThreeStopGradientColor, isBaseDynamicFieldComponent, isLoadingCapableComponent, isValidCssColor, isValidJsonSchema, isValueBasedComponent, logger, mapJsonSchemaToFields, mapPropertyToFieldMetadata, normalizeCssColorToRgb, normalizeFormMetadata, provideMaterialAvatarMetadata, providePraxisDynamicFields, providePraxisDynamicFieldsCore, providePraxisDynamicFieldsCoreNoDefaults, providePraxisDynamicFieldsI18n, providePraxisDynamicFieldsNoDefaults, providePraxisDynamicFieldsWave1EditorialRegistry, registerPraxisDynamicFieldsWave1EditorialDescriptors, resolvePraxisDynamicFieldsText, setDynamicFieldsLoggerBackend, silenceComponent, supportsClearButtonControlType };
|
|
73409
|
+
export { BRAZIL_INPUTS_AI_CAPABILITIES, CACHE_TTL, CHIPS_CONTROLS_AI_CAPABILITIES, CLEAR_BUTTON_CONTROL_TYPES, COLOR_CONTROLS_AI_CAPABILITIES, CONTROL_TYPE_AI_CATALOGS, ColorInputComponent, ComponentPreloaderService, ComponentRegistryService, ConfirmDialogComponent, DATE_CONTROLS_AI_CAPABILITIES, DISPLAY_ACTION_AI_CAPABILITIES, DISTANCE_RADIUS_AI_CAPABILITIES, DYNAMIC_FIELDS_PLAYGROUND_CATALOG, DYNAMIC_FIELD_BASE_STATE_RECIPES, DYNAMIC_FIELD_DEFAULT_STATE_RECIPE, DYNAMIC_FIELD_DISABLED_STATE_RECIPE, DYNAMIC_FIELD_ERROR_STATE_RECIPE, DYNAMIC_FIELD_FILLED_STATE_RECIPE, DYNAMIC_FIELD_PRESENTATION_STATE_RECIPE, DYNAMIC_FIELD_READONLY_STATE_RECIPE, DateInputComponent, DateUtilsService, DatetimeLocalInputComponent, DynamicFieldLoaderDirective, EditableCollectionComponent, EmailInputComponent, EntityLookupDialogComponent, FILE_UPLOAD_AI_CAPABILITIES, InlineAsyncSelectComponent, InlineAutocompleteComponent, InlineColorLabelComponent, InlineCurrencyComponent, InlineCurrencyRangeComponent, InlineDateComponent, InlineDateRangeComponent, InlineDistanceRadiusComponent, InlineEntityLookupComponent, InlineInputComponent, InlineMaskedValueAccessorDirective, InlineMonthRangeComponent, InlineMultiSelectComponent, InlineNumberComponent, InlinePeriodRangeComponent, InlinePipelineStatusComponent, InlineRangeSliderComponent, InlineRatingComponent, InlineRelativePeriodComponent, InlineScorePriorityComponent, InlineSearchableSelectComponent, InlineSelectComponent, InlineSentimentComponent, InlineTimeComponent, InlineTimeRangeComponent, InlineToggleComponent, InlineTreeSelectComponent, InlineYearRangeComponent, KeyboardShortcutService, LIST_CONTROLS_AI_CAPABILITIES, LoggerPresets, MAX_LOAD_ATTEMPTS, MaterialAsyncSelectComponent, MaterialAutocompleteComponent, MaterialAvatarComponent, MaterialButtonComponent, MaterialButtonToggleComponent, MaterialCheckboxGroupComponent, MaterialChipsComponent, MaterialColorPickerComponent, MaterialCpfCnpjInputComponent, MaterialCurrencyComponent, MaterialDateRangeComponent, MaterialDatepickerComponent, MaterialFileUploadComponent, MaterialMultiSelectComponent, MaterialMultiSelectTreeComponent, MaterialPriceRangeComponent, MaterialRadioGroupComponent, MaterialRatingComponent, MaterialSearchableSelectComponent, MaterialSelectComponent, MaterialSelectionListComponent, MaterialSlideToggleComponent, MaterialSliderComponent, MaterialTextareaComponent, MaterialTimepickerComponent, MaterialTransferListComponent, MaterialTreeSelectComponent, MonthInputComponent, NUMERIC_INPUTS_AI_CAPABILITIES, NumberInputComponent, OptionDisplayResolverService, OptionStore, PDX_COLOR_INPUT_COMPONENT_METADATA, PDX_COLOR_PICKER_COMPONENT_METADATA, PDX_DATETIME_LOCAL_INPUT_COMPONENT_METADATA, PDX_DATE_INPUT_COMPONENT_METADATA, PDX_EDITABLE_COLLECTION_COMPONENT_METADATA, PDX_EMAIL_INPUT_COMPONENT_METADATA, PDX_ENTITY_LOOKUP_COMPONENT_METADATA, PDX_FIELD_SHELL_COMPONENT_METADATA, PDX_INLINE_ASYNC_SELECT_COMPONENT_METADATA, PDX_INLINE_AUTOCOMPLETE_COMPONENT_METADATA, PDX_INLINE_COLOR_LABEL_COMPONENT_METADATA, PDX_INLINE_CURRENCY_COMPONENT_METADATA, PDX_INLINE_CURRENCY_RANGE_COMPONENT_METADATA, PDX_INLINE_DATE_COMPONENT_METADATA, PDX_INLINE_DATE_RANGE_COMPONENT_METADATA, PDX_INLINE_DISTANCE_RADIUS_COMPONENT_METADATA, PDX_INLINE_ENTITY_LOOKUP_COMPONENT_METADATA, PDX_INLINE_INPUT_COMPONENT_METADATA, PDX_INLINE_MONTH_RANGE_COMPONENT_METADATA, PDX_INLINE_MULTI_SELECT_COMPONENT_METADATA, PDX_INLINE_NUMBER_COMPONENT_METADATA, PDX_INLINE_PERIOD_RANGE_COMPONENT_METADATA, PDX_INLINE_PHONE_COMPONENT_METADATA, PDX_INLINE_PIPELINE_STATUS_COMPONENT_METADATA, PDX_INLINE_RANGE_SLIDER_COMPONENT_METADATA, PDX_INLINE_RATING_COMPONENT_METADATA, PDX_INLINE_RELATIVE_PERIOD_COMPONENT_METADATA, PDX_INLINE_SCORE_PRIORITY_COMPONENT_METADATA, PDX_INLINE_SEARCHABLE_SELECT_COMPONENT_METADATA, PDX_INLINE_SELECT_COMPONENT_METADATA, PDX_INLINE_SENTIMENT_COMPONENT_METADATA, PDX_INLINE_TIME_COMPONENT_METADATA, PDX_INLINE_TIME_RANGE_COMPONENT_METADATA, PDX_INLINE_TOGGLE_COMPONENT_METADATA, PDX_INLINE_TREE_SELECT_COMPONENT_METADATA, PDX_INLINE_YEAR_RANGE_COMPONENT_METADATA, PDX_MATERIAL_ASYNC_SELECT_COMPONENT_METADATA, PDX_MATERIAL_AUTOCOMPLETE_COMPONENT_METADATA, PDX_MATERIAL_AVATAR_COMPONENT_METADATA, PDX_MATERIAL_BUTTON_COMPONENT_METADATA, PDX_MATERIAL_BUTTON_TOGGLE_COMPONENT_METADATA, PDX_MATERIAL_CHECKBOX_GROUP_COMPONENT_METADATA, PDX_MATERIAL_CHIPS_COMPONENT_METADATA, PDX_MATERIAL_COLORPICKER_COMPONENT_METADATA, PDX_MATERIAL_CPF_CNPJ_INPUT_COMPONENT_METADATA, PDX_MATERIAL_CURRENCY_COMPONENT_METADATA, PDX_MATERIAL_DATEPICKER_COMPONENT_METADATA, PDX_MATERIAL_DATE_RANGE_COMPONENT_METADATA, PDX_MATERIAL_FILE_UPLOAD_COMPONENT_METADATA, PDX_MATERIAL_MULTI_SELECT_COMPONENT_METADATA, PDX_MATERIAL_MULTI_SELECT_TREE_COMPONENT_METADATA, PDX_MATERIAL_PRICE_RANGE_COMPONENT_METADATA, PDX_MATERIAL_RADIO_GROUP_COMPONENT_METADATA, PDX_MATERIAL_RANGE_SLIDER_COMPONENT_METADATA, PDX_MATERIAL_RATING_COMPONENT_METADATA, PDX_MATERIAL_SEARCHABLE_SELECT_COMPONENT_METADATA, PDX_MATERIAL_SELECTION_LIST_COMPONENT_METADATA, PDX_MATERIAL_SELECT_COMPONENT_METADATA, PDX_MATERIAL_SLIDER_COMPONENT_METADATA, PDX_MATERIAL_SLIDE_TOGGLE_COMPONENT_METADATA, PDX_MATERIAL_TEXTAREA_COMPONENT_METADATA, PDX_MATERIAL_TIMEPICKER_COMPONENT_METADATA, PDX_MATERIAL_TIME_RANGE_COMPONENT_METADATA, PDX_MATERIAL_TRANSFER_LIST_COMPONENT_METADATA, PDX_MATERIAL_TREE_SELECT_COMPONENT_METADATA, PDX_MONTH_INPUT_COMPONENT_METADATA, PDX_NUMBER_INPUT_COMPONENT_METADATA, PDX_PASSWORD_INPUT_COMPONENT_METADATA, PDX_PHONE_INPUT_COMPONENT_METADATA, PDX_PRELOAD_STATUS_COMPONENT_METADATA, PDX_SEARCH_INPUT_COMPONENT_METADATA, PDX_TEXT_INPUT_COMPONENT_METADATA, PDX_TIME_INPUT_COMPONENT_METADATA, PDX_URL_INPUT_COMPONENT_METADATA, PDX_WEEK_INPUT_COMPONENT_METADATA, PDX_YEAR_INPUT_COMPONENT_METADATA, PRAXIS_DYNAMIC_FIELDS_AUTHORING_MANIFEST, PRAXIS_DYNAMIC_FIELDS_AUTHORING_PROFILES, PRAXIS_DYNAMIC_FIELDS_EDITORIAL_WAVE_1, PRAXIS_DYNAMIC_FIELDS_EN_US, PRAXIS_DYNAMIC_FIELDS_I18N, PRAXIS_DYNAMIC_FIELDS_LOGGER_BACKEND, PRAXIS_DYNAMIC_FIELDS_PT_BR, PRAXIS_DYNAMIC_FIELDS_WAVE_1_COMPONENT_METADATA, PRICE_RANGE_AI_CAPABILITIES, PasswordInputComponent, PdxCollectionOverlayComponent, PdxCollectionOverlayTriggerDirective, PdxCollectionSearchComponent, PdxColorPickerComponent, PdxMaterialRangeSliderComponent, PdxMaterialTimeRangeComponent, PdxYearInputComponent, PhoneInputComponent, PraxisErrorStateMatcher, PreloadStatusComponent, RETRY_DELAY, SELECT_CONTROLS_AI_CAPABILITIES, SearchInputComponent, SimpleBaseButtonComponent, SimpleBaseInputComponent, SimpleBaseSelectComponent, TEXT_INPUTS_AI_CAPABILITIES, TIME_RANGE_AI_CAPABILITIES, TOGGLE_CONTROLS_AI_CAPABILITIES, TREE_CONTROLS_AI_CAPABILITIES, TextInputComponent, TimeInputComponent, UrlInputComponent, WeekInputComponent, YEAR_INPUT_AI_CAPABILITIES, applyAlphaToColor, bindDynamicFieldsLoggerBackendFromInjector, clearDynamicFieldsLoggerBackend, configureDynamicFieldsLogger, createDynamicFieldPreviewRecipe, createErrorStateMatcher, createPraxisDynamicFieldsI18nConfig, emitToDynamicFieldsLoggerBackend, enableDebugForComponent, getControlTypeCatalog, getErrorStateMatcherForField, inferErrorStateStrategy, initializeComponentSystem, initializeComponentSystemSync, interpolateThreeStopGradientColor, isBaseDynamicFieldComponent, isLoadingCapableComponent, isValidCssColor, isValidJsonSchema, isValueBasedComponent, logger, mapJsonSchemaToFields, mapPropertyToFieldMetadata, normalizeCssColorToRgb, normalizeFormMetadata, provideMaterialAvatarMetadata, providePraxisDynamicFields, providePraxisDynamicFieldsCore, providePraxisDynamicFieldsCoreNoDefaults, providePraxisDynamicFieldsI18n, providePraxisDynamicFieldsNoDefaults, providePraxisDynamicFieldsWave1EditorialRegistry, registerPraxisDynamicFieldsWave1EditorialDescriptors, resolvePraxisDynamicFieldsText, setDynamicFieldsLoggerBackend, silenceComponent, supportsClearButtonControlType };
|