@cuby-ui/core 0.0.285 → 0.0.287
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/esm2022/utils/default-validators/create-default-validators.mjs +11 -4
- package/esm2022/utils/default-validators/create-default-validators.options.mjs +2 -0
- package/esm2022/utils/default-validators/extra-spaces.validators.mjs +2 -7
- package/esm2022/utils/default-validators/index.mjs +1 -1
- package/esm2022/widgets/general-control-error-hint/general-control-error-hint.component.mjs +3 -3
- package/fesm2022/cuby-ui-core.mjs +13 -11
- package/fesm2022/cuby-ui-core.mjs.map +1 -1
- package/package.json +4 -4
- package/utils/default-validators/create-default-validators.d.ts +2 -2
- package/utils/default-validators/create-default-validators.options.d.ts +5 -0
- package/utils/default-validators/index.d.ts +1 -0
|
@@ -4,9 +4,16 @@ export function cuiCreateDefaultValidators({ maxLength = 100, asyncDelay = 700 }
|
|
|
4
4
|
// Need to offset because this delay must be before changing value
|
|
5
5
|
const OFFSET = 1;
|
|
6
6
|
const adjustedAsyncDelay = asyncDelay - OFFSET;
|
|
7
|
-
|
|
8
|
-
validators: [Validators.required, Validators.maxLength(maxLength)
|
|
9
|
-
asyncValidators: [
|
|
7
|
+
const validators = {
|
|
8
|
+
validators: [Validators.required, Validators.maxLength(maxLength)],
|
|
9
|
+
asyncValidators: []
|
|
10
10
|
};
|
|
11
|
+
if (asyncDelay) {
|
|
12
|
+
validators.asyncValidators.push(asyncExtraSpacesValidators(adjustedAsyncDelay));
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
validators.validators.push(syncExtraSpacesValidator());
|
|
16
|
+
}
|
|
17
|
+
return validators;
|
|
11
18
|
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWRlZmF1bHQtdmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvdXRpbHMvZGVmYXVsdC12YWxpZGF0b3JzL2NyZWF0ZS1kZWZhdWx0LXZhbGlkYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWpHLE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxFQUFFLFNBQVMsR0FBRyxHQUFHLEVBQUUsVUFBVSxHQUFHLEdBQUcsRUFBRSxHQUFHLEVBQUU7SUFDakYsa0VBQWtFO0lBQ2xFLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQztJQUVqQixNQUFNLGtCQUFrQixHQUFHLFVBQVUsR0FBRyxNQUFNLENBQUM7SUFDL0MsTUFBTSxVQUFVLEdBQWdDO1FBQzVDLFVBQVUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNsRSxlQUFlLEVBQUUsRUFBRTtLQUN0QixDQUFDO0lBRUYsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNiLFVBQVUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztJQUNwRixDQUFDO1NBQU0sQ0FBQztRQUNKLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsT0FBTyxVQUFVLENBQUM7QUFDdEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDdWlEZWZhdWx0VmFsaWRhdG9yc09wdGlvbnMgfSBmcm9tICcuL2NyZWF0ZS1kZWZhdWx0LXZhbGlkYXRvcnMub3B0aW9ucyc7XG5pbXBvcnQgeyBhc3luY0V4dHJhU3BhY2VzVmFsaWRhdG9ycywgc3luY0V4dHJhU3BhY2VzVmFsaWRhdG9yIH0gZnJvbSAnLi9leHRyYS1zcGFjZXMudmFsaWRhdG9ycyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjdWlDcmVhdGVEZWZhdWx0VmFsaWRhdG9ycyh7IG1heExlbmd0aCA9IDEwMCwgYXN5bmNEZWxheSA9IDcwMCB9ID0ge30pOiBDdWlEZWZhdWx0VmFsaWRhdG9yc09wdGlvbnMge1xuICAgIC8vIE5lZWQgdG8gb2Zmc2V0IGJlY2F1c2UgdGhpcyBkZWxheSBtdXN0IGJlIGJlZm9yZSBjaGFuZ2luZyB2YWx1ZVxuICAgIGNvbnN0IE9GRlNFVCA9IDE7XG5cbiAgICBjb25zdCBhZGp1c3RlZEFzeW5jRGVsYXkgPSBhc3luY0RlbGF5IC0gT0ZGU0VUO1xuICAgIGNvbnN0IHZhbGlkYXRvcnM6IEN1aURlZmF1bHRWYWxpZGF0b3JzT3B0aW9ucyA9IHtcbiAgICAgICAgdmFsaWRhdG9yczogW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKG1heExlbmd0aCldLFxuICAgICAgICBhc3luY1ZhbGlkYXRvcnM6IFtdXG4gICAgfTtcblxuICAgIGlmIChhc3luY0RlbGF5KSB7XG4gICAgICAgIHZhbGlkYXRvcnMuYXN5bmNWYWxpZGF0b3JzLnB1c2goYXN5bmNFeHRyYVNwYWNlc1ZhbGlkYXRvcnMoYWRqdXN0ZWRBc3luY0RlbGF5KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgdmFsaWRhdG9ycy52YWxpZGF0b3JzLnB1c2goc3luY0V4dHJhU3BhY2VzVmFsaWRhdG9yKCkpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWxpZGF0b3JzO1xufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWRlZmF1bHQtdmFsaWRhdG9ycy5vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS91dGlscy9kZWZhdWx0LXZhbGlkYXRvcnMvY3JlYXRlLWRlZmF1bHQtdmFsaWRhdG9ycy5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1ZhbGlkYXRvckZuLCBWYWxpZGF0b3JGbiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEN1aURlZmF1bHRWYWxpZGF0b3JzT3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgdmFsaWRhdG9yczogVmFsaWRhdG9yRm5bXTtcbiAgICByZWFkb25seSBhc3luY1ZhbGlkYXRvcnM6IEFzeW5jVmFsaWRhdG9yRm5bXTtcbn1cbiJdfQ==
|
|
@@ -6,11 +6,6 @@ export function asyncExtraSpacesValidators(delay) {
|
|
|
6
6
|
};
|
|
7
7
|
}
|
|
8
8
|
export function syncExtraSpacesValidator() {
|
|
9
|
-
return ({
|
|
10
|
-
if (!errors?.['extraSpaces']) {
|
|
11
|
-
return null;
|
|
12
|
-
}
|
|
13
|
-
return hasExtraSpaces(value);
|
|
14
|
-
};
|
|
9
|
+
return ({ value }) => hasExtraSpaces(value);
|
|
15
10
|
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmEtc3BhY2VzLnZhbGlkYXRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3V0aWxzL2RlZmF1bHQtdmFsaWRhdG9ycy9leHRyYS1zcGFjZXMudmFsaWRhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFeEQsTUFBTSxVQUFVLDBCQUEwQixDQUFDLEtBQWE7SUFDcEQsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFtQixFQUF1QyxFQUFFO1FBQ3ZFLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDLENBQUM7QUFDTixDQUFDO0FBRUQsTUFBTSxVQUFVLHdCQUF3QjtJQUNwQyxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQW1CLEVBQTJCLEVBQUUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDMUYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQWJzdHJhY3RDb250cm9sLCBBc3luY1ZhbGlkYXRvckZuLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB0eXBlIHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBoYXNFeHRyYVNwYWNlcyB9IGZyb20gJy4vZXh0cmEtc3BhY2VzLm9wdGlvbnMnO1xuXG5leHBvcnQgZnVuY3Rpb24gYXN5bmNFeHRyYVNwYWNlc1ZhbGlkYXRvcnMoZGVsYXk6IG51bWJlcik6IEFzeW5jVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiAoeyB2YWx1ZSB9OiBBYnN0cmFjdENvbnRyb2wpOiBPYnNlcnZhYmxlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPiA9PiB7XG4gICAgICAgIHJldHVybiB0aW1lcihkZWxheSkucGlwZShtYXAoKCkgPT4gaGFzRXh0cmFTcGFjZXModmFsdWUpKSk7XG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN5bmNFeHRyYVNwYWNlc1ZhbGlkYXRvcigpOiBWYWxpZGF0b3JGbiB7XG4gICAgcmV0dXJuICh7IHZhbHVlIH06IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IGhhc0V4dHJhU3BhY2VzKHZhbHVlKTtcbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { cuiCreateDefaultValidators } from './create-default-validators';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3V0aWxzL2RlZmF1bHQtdmFsaWRhdG9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGN1aUNyZWF0ZURlZmF1bHRWYWxpZGF0b3JzIH0gZnJvbSAnLi9jcmVhdGUtZGVmYXVsdC12YWxpZGF0b3JzJztcbmV4cG9ydCB0eXBlIHsgQ3VpRGVmYXVsdFZhbGlkYXRvcnNPcHRpb25zIH0gZnJvbSAnLi9jcmVhdGUtZGVmYXVsdC12YWxpZGF0b3JzLm9wdGlvbnMnOyJdfQ==
|
|
@@ -12,10 +12,10 @@ export class CuiGeneralControlErrorHintComponent {
|
|
|
12
12
|
return this.isVisible() ?? (this.control().invalid && this.control().dirty);
|
|
13
13
|
}
|
|
14
14
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CuiGeneralControlErrorHintComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CuiGeneralControlErrorHintComponent, isStandalone: true, selector: "cui-general-control-error-hint", inputs: { control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: true, transformFunction: null }, isVisible: { classPropertyName: "isVisible", publicName: "isVisible", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\n @if (isInvalid) {\n @if (control().errors; as errors) {\n <cui-hint hintType=\"error\">\n @if (errors['required']) {\n {{ t('FIELD_IS_REQUIRED') }}\n } @else if (errors['maxlength']) {\n {{ t('PLEASE_KEEP_FIELD_UNDER_CHARACTERS', { value: errors['maxlength'].requiredLength }) }}\n } @else if (errors['extraSpaces']) {\n {{ t('MUST_BE_WITHOUT_EXTRA_SPACES') }}\n } @else if (errors['min']) {\n {{ t('MIN_VALUE_MUST_BE_MORE_THAN', { value: errors['min'].min }) }}\n } @else if (errors['max']) {\n {{ t('MAX_VALUE_MUST_BE_LESS_THAN', { value: errors['max'].max }) }}\n }\n </cui-hint>\n }\n }\n</ng-container>\n", styles: [":host{display:inline-block}:host:empty{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CuiHintModule }, { kind: "component", type: i1.CuiHintComponent, selector: "cui-hint", inputs: ["hintType"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
|
|
15
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CuiGeneralControlErrorHintComponent, isStandalone: true, selector: "cui-general-control-error-hint", inputs: { control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: true, transformFunction: null }, isVisible: { classPropertyName: "isVisible", publicName: "isVisible", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\n @if (isInvalid) {\n @if (control().errors; as errors) {\n <cui-hint hintType=\"error\">\n @if (errors['required']) {\n {{ t('FIELD_IS_REQUIRED') }}\n } @else if (errors['maxlength']) {\n {{ t('PLEASE_KEEP_FIELD_UNDER_CHARACTERS', { value: errors['maxlength'].requiredLength }) }}\n } @else if (errors['extraSpaces']) {\n {{ t('MUST_BE_WITHOUT_EXTRA_SPACES') }}\n } @else if (errors['min']) {\n {{ t('MIN_VALUE_MUST_BE_MORE_THAN', { value: errors['min'].min }) }}\n } @else if (errors['max']) {\n {{ t('MAX_VALUE_MUST_BE_LESS_THAN', { value: errors['max'].max }) }}\n } @else if (errors['email']) {\n {{ t('INVALID_EMAIL_ADDRESS') }}\n }\n </cui-hint>\n }\n }\n</ng-container>\n", styles: [":host{display:inline-block}:host:empty{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CuiHintModule }, { kind: "component", type: i1.CuiHintComponent, selector: "cui-hint", inputs: ["hintType"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
|
|
16
16
|
}
|
|
17
17
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CuiGeneralControlErrorHintComponent, decorators: [{
|
|
18
18
|
type: Component,
|
|
19
|
-
args: [{ selector: 'cui-general-control-error-hint', imports: [CuiHintModule, TranslocoDirective], standalone: true, changeDetection: ChangeDetectionStrategy.Default, template: "<ng-container *transloco=\"let t\">\n @if (isInvalid) {\n @if (control().errors; as errors) {\n <cui-hint hintType=\"error\">\n @if (errors['required']) {\n {{ t('FIELD_IS_REQUIRED') }}\n } @else if (errors['maxlength']) {\n {{ t('PLEASE_KEEP_FIELD_UNDER_CHARACTERS', { value: errors['maxlength'].requiredLength }) }}\n } @else if (errors['extraSpaces']) {\n {{ t('MUST_BE_WITHOUT_EXTRA_SPACES') }}\n } @else if (errors['min']) {\n {{ t('MIN_VALUE_MUST_BE_MORE_THAN', { value: errors['min'].min }) }}\n } @else if (errors['max']) {\n {{ t('MAX_VALUE_MUST_BE_LESS_THAN', { value: errors['max'].max }) }}\n }\n </cui-hint>\n }\n }\n</ng-container>\n", styles: [":host{display:inline-block}:host:empty{display:none}\n"] }]
|
|
19
|
+
args: [{ selector: 'cui-general-control-error-hint', imports: [CuiHintModule, TranslocoDirective], standalone: true, changeDetection: ChangeDetectionStrategy.Default, template: "<ng-container *transloco=\"let t\">\n @if (isInvalid) {\n @if (control().errors; as errors) {\n <cui-hint hintType=\"error\">\n @if (errors['required']) {\n {{ t('FIELD_IS_REQUIRED') }}\n } @else if (errors['maxlength']) {\n {{ t('PLEASE_KEEP_FIELD_UNDER_CHARACTERS', { value: errors['maxlength'].requiredLength }) }}\n } @else if (errors['extraSpaces']) {\n {{ t('MUST_BE_WITHOUT_EXTRA_SPACES') }}\n } @else if (errors['min']) {\n {{ t('MIN_VALUE_MUST_BE_MORE_THAN', { value: errors['min'].min }) }}\n } @else if (errors['max']) {\n {{ t('MAX_VALUE_MUST_BE_LESS_THAN', { value: errors['max'].max }) }}\n } @else if (errors['email']) {\n {{ t('INVALID_EMAIL_ADDRESS') }}\n }\n </cui-hint>\n }\n }\n</ng-container>\n", styles: [":host{display:inline-block}:host:empty{display:none}\n"] }]
|
|
20
20
|
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhbC1jb250cm9sLWVycm9yLWhpbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS93aWRnZXRzL2dlbmVyYWwtY29udHJvbC1lcnJvci1oaW50L2dlbmVyYWwtY29udHJvbC1lcnJvci1oaW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy9nZW5lcmFsLWNvbnRyb2wtZXJyb3ItaGludC9nZW5lcmFsLWNvbnRyb2wtZXJyb3ItaGludC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQVVqRCxNQUFNLE9BQU8sbUNBQW1DO0lBUmhEO1FBU29CLFlBQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFtQixDQUFDO1FBQzVDLGNBQVMsR0FBRyxLQUFLLEVBQVcsQ0FBQztLQUtoRDtJQUhHLElBQWMsU0FBUztRQUNuQixPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hGLENBQUM7K0dBTlEsbUNBQW1DO21HQUFuQyxtQ0FBbUMsdVdDZGhELGs5QkFxQkEsK0dEYmMsYUFBYSw2SEFBRSxrQkFBa0I7OzRGQU1sQyxtQ0FBbUM7a0JBUi9DLFNBQVM7K0JBQ0ksZ0NBQWdDLFdBQ2pDLENBQUMsYUFBYSxFQUFFLGtCQUFrQixDQUFDLGNBQ2hDLElBQUksbUJBR0MsdUJBQXVCLENBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbG9jb0RpcmVjdGl2ZSB9IGZyb20gJ0Bqc3ZlcnNlL3RyYW5zbG9jbyc7XG5cbmltcG9ydCB7IEN1aUhpbnRNb2R1bGUgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdjdWktZ2VuZXJhbC1jb250cm9sLWVycm9yLWhpbnQnLFxuICAgIGltcG9ydHM6IFtDdWlIaW50TW9kdWxlLCBUcmFuc2xvY29EaXJlY3RpdmVdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2dlbmVyYWwtY29udHJvbC1lcnJvci1oaW50LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vZ2VuZXJhbC1jb250cm9sLWVycm9yLWhpbnQuY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdFxufSlcbmV4cG9ydCBjbGFzcyBDdWlHZW5lcmFsQ29udHJvbEVycm9ySGludENvbXBvbmVudCB7XG4gICAgcHVibGljIHJlYWRvbmx5IGNvbnRyb2wgPSBpbnB1dC5yZXF1aXJlZDxBYnN0cmFjdENvbnRyb2w+KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGlzVmlzaWJsZSA9IGlucHV0PGJvb2xlYW4+KCk7XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGlzSW52YWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNWaXNpYmxlKCkgPz8gKHRoaXMuY29udHJvbCgpLmludmFsaWQgJiYgdGhpcy5jb250cm9sKCkuZGlydHkpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKnRyYW5zbG9jbz1cImxldCB0XCI+XG4gICAgQGlmIChpc0ludmFsaWQpIHtcbiAgICAgICAgQGlmIChjb250cm9sKCkuZXJyb3JzOyBhcyBlcnJvcnMpIHtcbiAgICAgICAgICAgIDxjdWktaGludCBoaW50VHlwZT1cImVycm9yXCI+XG4gICAgICAgICAgICAgICAgQGlmIChlcnJvcnNbJ3JlcXVpcmVkJ10pIHtcbiAgICAgICAgICAgICAgICAgICAge3sgdCgnRklFTERfSVNfUkVRVUlSRUQnKSB9fVxuICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKGVycm9yc1snbWF4bGVuZ3RoJ10pIHtcbiAgICAgICAgICAgICAgICAgICAge3sgdCgnUExFQVNFX0tFRVBfRklFTERfVU5ERVJfQ0hBUkFDVEVSUycsIHsgdmFsdWU6IGVycm9yc1snbWF4bGVuZ3RoJ10ucmVxdWlyZWRMZW5ndGggfSkgfX1cbiAgICAgICAgICAgICAgICB9IEBlbHNlIGlmIChlcnJvcnNbJ2V4dHJhU3BhY2VzJ10pIHtcbiAgICAgICAgICAgICAgICAgICAge3sgdCgnTVVTVF9CRV9XSVRIT1VUX0VYVFJBX1NQQUNFUycpIH19XG4gICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoZXJyb3JzWydtaW4nXSkge1xuICAgICAgICAgICAgICAgICAgICB7eyB0KCdNSU5fVkFMVUVfTVVTVF9CRV9NT1JFX1RIQU4nLCB7IHZhbHVlOiBlcnJvcnNbJ21pbiddLm1pbiB9KSB9fVxuICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKGVycm9yc1snbWF4J10pIHtcbiAgICAgICAgICAgICAgICAgICAge3sgdCgnTUFYX1ZBTFVFX01VU1RfQkVfTEVTU19USEFOJywgeyB2YWx1ZTogZXJyb3JzWydtYXgnXS5tYXggfSkgfX1cbiAgICAgICAgICAgICAgICB9IEBlbHNlIGlmIChlcnJvcnNbJ2VtYWlsJ10pIHtcbiAgICAgICAgICAgICAgICAgICAge3sgdCgnSU5WQUxJRF9FTUFJTF9BRERSRVNTJykgfX1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2N1aS1oaW50PlxuICAgICAgICB9XG4gICAgfVxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -1714,22 +1714,24 @@ function asyncExtraSpacesValidators(delay) {
|
|
|
1714
1714
|
};
|
|
1715
1715
|
}
|
|
1716
1716
|
function syncExtraSpacesValidator() {
|
|
1717
|
-
return ({
|
|
1718
|
-
if (!errors?.['extraSpaces']) {
|
|
1719
|
-
return null;
|
|
1720
|
-
}
|
|
1721
|
-
return hasExtraSpaces(value);
|
|
1722
|
-
};
|
|
1717
|
+
return ({ value }) => hasExtraSpaces(value);
|
|
1723
1718
|
}
|
|
1724
1719
|
|
|
1725
1720
|
function cuiCreateDefaultValidators({ maxLength = 100, asyncDelay = 700 } = {}) {
|
|
1726
1721
|
// Need to offset because this delay must be before changing value
|
|
1727
1722
|
const OFFSET = 1;
|
|
1728
1723
|
const adjustedAsyncDelay = asyncDelay - OFFSET;
|
|
1729
|
-
|
|
1730
|
-
validators: [Validators.required, Validators.maxLength(maxLength)
|
|
1731
|
-
asyncValidators: [
|
|
1724
|
+
const validators = {
|
|
1725
|
+
validators: [Validators.required, Validators.maxLength(maxLength)],
|
|
1726
|
+
asyncValidators: []
|
|
1732
1727
|
};
|
|
1728
|
+
if (asyncDelay) {
|
|
1729
|
+
validators.asyncValidators.push(asyncExtraSpacesValidators(adjustedAsyncDelay));
|
|
1730
|
+
}
|
|
1731
|
+
else {
|
|
1732
|
+
validators.validators.push(syncExtraSpacesValidator());
|
|
1733
|
+
}
|
|
1734
|
+
return validators;
|
|
1733
1735
|
}
|
|
1734
1736
|
|
|
1735
1737
|
/**
|
|
@@ -7724,11 +7726,11 @@ class CuiGeneralControlErrorHintComponent {
|
|
|
7724
7726
|
return this.isVisible() ?? (this.control().invalid && this.control().dirty);
|
|
7725
7727
|
}
|
|
7726
7728
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CuiGeneralControlErrorHintComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7727
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CuiGeneralControlErrorHintComponent, isStandalone: true, selector: "cui-general-control-error-hint", inputs: { control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: true, transformFunction: null }, isVisible: { classPropertyName: "isVisible", publicName: "isVisible", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\n @if (isInvalid) {\n @if (control().errors; as errors) {\n <cui-hint hintType=\"error\">\n @if (errors['required']) {\n {{ t('FIELD_IS_REQUIRED') }}\n } @else if (errors['maxlength']) {\n {{ t('PLEASE_KEEP_FIELD_UNDER_CHARACTERS', { value: errors['maxlength'].requiredLength }) }}\n } @else if (errors['extraSpaces']) {\n {{ t('MUST_BE_WITHOUT_EXTRA_SPACES') }}\n } @else if (errors['min']) {\n {{ t('MIN_VALUE_MUST_BE_MORE_THAN', { value: errors['min'].min }) }}\n } @else if (errors['max']) {\n {{ t('MAX_VALUE_MUST_BE_LESS_THAN', { value: errors['max'].max }) }}\n }\n </cui-hint>\n }\n }\n</ng-container>\n", styles: [":host{display:inline-block}:host:empty{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CuiHintModule }, { kind: "component", type: CuiHintComponent, selector: "cui-hint", inputs: ["hintType"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
|
|
7729
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CuiGeneralControlErrorHintComponent, isStandalone: true, selector: "cui-general-control-error-hint", inputs: { control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: true, transformFunction: null }, isVisible: { classPropertyName: "isVisible", publicName: "isVisible", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\n @if (isInvalid) {\n @if (control().errors; as errors) {\n <cui-hint hintType=\"error\">\n @if (errors['required']) {\n {{ t('FIELD_IS_REQUIRED') }}\n } @else if (errors['maxlength']) {\n {{ t('PLEASE_KEEP_FIELD_UNDER_CHARACTERS', { value: errors['maxlength'].requiredLength }) }}\n } @else if (errors['extraSpaces']) {\n {{ t('MUST_BE_WITHOUT_EXTRA_SPACES') }}\n } @else if (errors['min']) {\n {{ t('MIN_VALUE_MUST_BE_MORE_THAN', { value: errors['min'].min }) }}\n } @else if (errors['max']) {\n {{ t('MAX_VALUE_MUST_BE_LESS_THAN', { value: errors['max'].max }) }}\n } @else if (errors['email']) {\n {{ t('INVALID_EMAIL_ADDRESS') }}\n }\n </cui-hint>\n }\n }\n</ng-container>\n", styles: [":host{display:inline-block}:host:empty{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CuiHintModule }, { kind: "component", type: CuiHintComponent, selector: "cui-hint", inputs: ["hintType"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
|
|
7728
7730
|
}
|
|
7729
7731
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CuiGeneralControlErrorHintComponent, decorators: [{
|
|
7730
7732
|
type: Component,
|
|
7731
|
-
args: [{ selector: 'cui-general-control-error-hint', imports: [CuiHintModule, TranslocoDirective], standalone: true, changeDetection: ChangeDetectionStrategy.Default, template: "<ng-container *transloco=\"let t\">\n @if (isInvalid) {\n @if (control().errors; as errors) {\n <cui-hint hintType=\"error\">\n @if (errors['required']) {\n {{ t('FIELD_IS_REQUIRED') }}\n } @else if (errors['maxlength']) {\n {{ t('PLEASE_KEEP_FIELD_UNDER_CHARACTERS', { value: errors['maxlength'].requiredLength }) }}\n } @else if (errors['extraSpaces']) {\n {{ t('MUST_BE_WITHOUT_EXTRA_SPACES') }}\n } @else if (errors['min']) {\n {{ t('MIN_VALUE_MUST_BE_MORE_THAN', { value: errors['min'].min }) }}\n } @else if (errors['max']) {\n {{ t('MAX_VALUE_MUST_BE_LESS_THAN', { value: errors['max'].max }) }}\n }\n </cui-hint>\n }\n }\n</ng-container>\n", styles: [":host{display:inline-block}:host:empty{display:none}\n"] }]
|
|
7733
|
+
args: [{ selector: 'cui-general-control-error-hint', imports: [CuiHintModule, TranslocoDirective], standalone: true, changeDetection: ChangeDetectionStrategy.Default, template: "<ng-container *transloco=\"let t\">\n @if (isInvalid) {\n @if (control().errors; as errors) {\n <cui-hint hintType=\"error\">\n @if (errors['required']) {\n {{ t('FIELD_IS_REQUIRED') }}\n } @else if (errors['maxlength']) {\n {{ t('PLEASE_KEEP_FIELD_UNDER_CHARACTERS', { value: errors['maxlength'].requiredLength }) }}\n } @else if (errors['extraSpaces']) {\n {{ t('MUST_BE_WITHOUT_EXTRA_SPACES') }}\n } @else if (errors['min']) {\n {{ t('MIN_VALUE_MUST_BE_MORE_THAN', { value: errors['min'].min }) }}\n } @else if (errors['max']) {\n {{ t('MAX_VALUE_MUST_BE_LESS_THAN', { value: errors['max'].max }) }}\n } @else if (errors['email']) {\n {{ t('INVALID_EMAIL_ADDRESS') }}\n }\n </cui-hint>\n }\n }\n</ng-container>\n", styles: [":host{display:inline-block}:host:empty{display:none}\n"] }]
|
|
7732
7734
|
}] });
|
|
7733
7735
|
|
|
7734
7736
|
class CuiCategoryFormComponent {
|