valtech-components 2.0.964 → 2.0.965
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/lib/shared/utils/validators.mjs +7 -3
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/valtech-components.mjs +7 -3
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/atoms/rights-footer/rights-footer.component.d.ts +1 -1
- package/lib/components/atoms/text/text.component.d.ts +1 -1
- package/lib/components/atoms/user-avatar/user-avatar.component.d.ts +1 -1
- package/lib/components/molecules/features-list/features-list.component.d.ts +1 -1
- package/lib/components/organisms/article/article.component.d.ts +4 -4
- package/lib/shared/utils/validators.d.ts +3 -2
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
const MIN_LENGTH = 8;
|
|
2
|
+
// bcrypt silently truncates input at 72 bytes — cap here so FE/BE stay aligned.
|
|
3
|
+
const MAX_LENGTH = 72;
|
|
2
4
|
// Special chars: ASCII 33-47, 58-64, 91-96, 123-126
|
|
3
5
|
const SPECIAL_CHAR_RE = /[\x21-\x2F\x3A-\x40\x5B-\x60\x7B-\x7E]/;
|
|
4
6
|
/**
|
|
5
|
-
* Mirrors the backend `authPassword` validator (
|
|
6
|
-
* min 8 chars,
|
|
7
|
+
* Mirrors the backend `authPassword` validator (services/authv2/password.go):
|
|
8
|
+
* min 8 chars, max 72 chars (bcrypt limit), ≥1 uppercase, ≥1 lowercase,
|
|
9
|
+
* ≥1 digit, ≥1 special char.
|
|
7
10
|
*
|
|
8
11
|
* Returns `{ authPassword: true }` on failure so the form can surface the
|
|
9
12
|
* inline error via `errorKeys: { authPassword: 'passwordStrength' }`.
|
|
@@ -14,6 +17,7 @@ export function authPasswordValidator() {
|
|
|
14
17
|
if (!value)
|
|
15
18
|
return null; // `required` handles empty
|
|
16
19
|
const valid = value.length >= MIN_LENGTH &&
|
|
20
|
+
value.length <= MAX_LENGTH &&
|
|
17
21
|
/[A-Z]/.test(value) &&
|
|
18
22
|
/[a-z]/.test(value) &&
|
|
19
23
|
/[0-9]/.test(value) &&
|
|
@@ -21,4 +25,4 @@ export function authPasswordValidator() {
|
|
|
21
25
|
return valid ? null : { authPassword: true };
|
|
22
26
|
};
|
|
23
27
|
}
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2hhcmVkL3V0aWxzL3ZhbGlkYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0FBQ3JCLGdGQUFnRjtBQUNoRixNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7QUFDdEIsb0RBQW9EO0FBQ3BELE1BQU0sZUFBZSxHQUFHLHdDQUF3QyxDQUFDO0FBRWpFOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUscUJBQXFCO0lBQ25DLE9BQU8sQ0FBQyxPQUF3QixFQUEyQixFQUFFO1FBQzNELE1BQU0sS0FBSyxHQUFXLE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQywyQkFBMkI7UUFFcEQsTUFBTSxLQUFLLEdBQ1QsS0FBSyxDQUFDLE1BQU0sSUFBSSxVQUFVO1lBQzFCLEtBQUssQ0FBQyxNQUFNLElBQUksVUFBVTtZQUMxQixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNuQixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNuQixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNuQixlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlCLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQy9DLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5jb25zdCBNSU5fTEVOR1RIID0gODtcbi8vIGJjcnlwdCBzaWxlbnRseSB0cnVuY2F0ZXMgaW5wdXQgYXQgNzIgYnl0ZXMg4oCUIGNhcCBoZXJlIHNvIEZFL0JFIHN0YXkgYWxpZ25lZC5cbmNvbnN0IE1BWF9MRU5HVEggPSA3Mjtcbi8vIFNwZWNpYWwgY2hhcnM6IEFTQ0lJIDMzLTQ3LCA1OC02NCwgOTEtOTYsIDEyMy0xMjZcbmNvbnN0IFNQRUNJQUxfQ0hBUl9SRSA9IC9bXFx4MjEtXFx4MkZcXHgzQS1cXHg0MFxceDVCLVxceDYwXFx4N0ItXFx4N0VdLztcblxuLyoqXG4gKiBNaXJyb3JzIHRoZSBiYWNrZW5kIGBhdXRoUGFzc3dvcmRgIHZhbGlkYXRvciAoc2VydmljZXMvYXV0aHYyL3Bhc3N3b3JkLmdvKTpcbiAqIG1pbiA4IGNoYXJzLCBtYXggNzIgY2hhcnMgKGJjcnlwdCBsaW1pdCksIOKJpTEgdXBwZXJjYXNlLCDiiaUxIGxvd2VyY2FzZSxcbiAqIOKJpTEgZGlnaXQsIOKJpTEgc3BlY2lhbCBjaGFyLlxuICpcbiAqIFJldHVybnMgYHsgYXV0aFBhc3N3b3JkOiB0cnVlIH1gIG9uIGZhaWx1cmUgc28gdGhlIGZvcm0gY2FuIHN1cmZhY2UgdGhlXG4gKiBpbmxpbmUgZXJyb3IgdmlhIGBlcnJvcktleXM6IHsgYXV0aFBhc3N3b3JkOiAncGFzc3dvcmRTdHJlbmd0aCcgfWAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhdXRoUGFzc3dvcmRWYWxpZGF0b3IoKTogVmFsaWRhdG9yRm4ge1xuICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICBjb25zdCB2YWx1ZTogc3RyaW5nID0gY29udHJvbC52YWx1ZSA/PyAnJztcbiAgICBpZiAoIXZhbHVlKSByZXR1cm4gbnVsbDsgLy8gYHJlcXVpcmVkYCBoYW5kbGVzIGVtcHR5XG5cbiAgICBjb25zdCB2YWxpZCA9XG4gICAgICB2YWx1ZS5sZW5ndGggPj0gTUlOX0xFTkdUSCAmJlxuICAgICAgdmFsdWUubGVuZ3RoIDw9IE1BWF9MRU5HVEggJiZcbiAgICAgIC9bQS1aXS8udGVzdCh2YWx1ZSkgJiZcbiAgICAgIC9bYS16XS8udGVzdCh2YWx1ZSkgJiZcbiAgICAgIC9bMC05XS8udGVzdCh2YWx1ZSkgJiZcbiAgICAgIFNQRUNJQUxfQ0hBUl9SRS50ZXN0KHZhbHVlKTtcblxuICAgIHJldHVybiB2YWxpZCA/IG51bGwgOiB7IGF1dGhQYXNzd29yZDogdHJ1ZSB9O1xuICB9O1xufVxuIl19
|
package/esm2022/lib/version.mjs
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Current version of valtech-components.
|
|
3
3
|
* This is automatically updated during the publish process.
|
|
4
4
|
*/
|
|
5
|
-
export const VERSION = '2.0.
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
export const VERSION = '2.0.965';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzIuMC45NjUnO1xuIl19
|
|
@@ -54,7 +54,7 @@ import 'prismjs/components/prism-json';
|
|
|
54
54
|
* Current version of valtech-components.
|
|
55
55
|
* This is automatically updated during the publish process.
|
|
56
56
|
*/
|
|
57
|
-
const VERSION = '2.0.
|
|
57
|
+
const VERSION = '2.0.965';
|
|
58
58
|
|
|
59
59
|
// Control de estado de refresco (singleton a nivel de módulo)
|
|
60
60
|
let isRefreshing = false;
|
|
@@ -30535,11 +30535,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
30535
30535
|
}] } });
|
|
30536
30536
|
|
|
30537
30537
|
const MIN_LENGTH = 8;
|
|
30538
|
+
// bcrypt silently truncates input at 72 bytes — cap here so FE/BE stay aligned.
|
|
30539
|
+
const MAX_LENGTH = 72;
|
|
30538
30540
|
// Special chars: ASCII 33-47, 58-64, 91-96, 123-126
|
|
30539
30541
|
const SPECIAL_CHAR_RE = /[\x21-\x2F\x3A-\x40\x5B-\x60\x7B-\x7E]/;
|
|
30540
30542
|
/**
|
|
30541
|
-
* Mirrors the backend `authPassword` validator (
|
|
30542
|
-
* min 8 chars,
|
|
30543
|
+
* Mirrors the backend `authPassword` validator (services/authv2/password.go):
|
|
30544
|
+
* min 8 chars, max 72 chars (bcrypt limit), ≥1 uppercase, ≥1 lowercase,
|
|
30545
|
+
* ≥1 digit, ≥1 special char.
|
|
30543
30546
|
*
|
|
30544
30547
|
* Returns `{ authPassword: true }` on failure so the form can surface the
|
|
30545
30548
|
* inline error via `errorKeys: { authPassword: 'passwordStrength' }`.
|
|
@@ -30550,6 +30553,7 @@ function authPasswordValidator() {
|
|
|
30550
30553
|
if (!value)
|
|
30551
30554
|
return null; // `required` handles empty
|
|
30552
30555
|
const valid = value.length >= MIN_LENGTH &&
|
|
30556
|
+
value.length <= MAX_LENGTH &&
|
|
30553
30557
|
/[A-Z]/.test(value) &&
|
|
30554
30558
|
/[a-z]/.test(value) &&
|
|
30555
30559
|
/[0-9]/.test(value) &&
|