keevo-components 1.8.318 → 1.8.320

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.
@@ -102,5 +102,30 @@ export class KeevoValidators {
102
102
  return null;
103
103
  };
104
104
  }
105
+ static validText(minWords = 5, erroMessage) {
106
+ return (control) => {
107
+ const value = control.value;
108
+ if (value.length > 8) {
109
+ const errors = {};
110
+ if (KeevoValidators.checkMinWords(value, minWords)) {
111
+ errors['invalidWordCount'] = true;
112
+ }
113
+ if (KeevoValidators.checkRepeatedCharacters(value)) {
114
+ errors['repeatCharacterInWord'] = true;
115
+ }
116
+ return Object.keys(errors).length ? { ...errors, erroMessage: erroMessage || 'Texto inválido' } : null;
117
+ }
118
+ return null;
119
+ };
120
+ }
121
+ static checkMinWords(value, minWords) {
122
+ const words = value.match(/\S+/g);
123
+ return !words || words.length < minWords;
124
+ }
125
+ static checkRepeatedCharacters(value) {
126
+ const regex = /(.)\1{7,}/g;
127
+ const matches = value.match(regex);
128
+ return matches && matches.length > 0 || false;
129
+ }
105
130
  }
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2Vldm8tdmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9hcGkvaGVscGVycy9rZWV2by12YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNkQsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXZELE1BQU0sT0FBTyxlQUFlO0lBQzFCLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBb0I7UUFDbEMsT0FBTyxDQUFDLE9BQXdCLEVBQTJCLEVBQUU7WUFDM0QsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztnQkFDOUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixFQUFFLEVBQUUsQ0FBQztZQUUvRixPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsZUFBZSxDQUFDLGdCQUF3QixFQUFFLFdBQW9CO1FBQ25FLE9BQU8sQ0FBQyxVQUEyQixFQUEyQixFQUFFO1lBQzlELE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFtQixDQUFDO1lBRTlDLElBQUksQ0FBQyxNQUFNO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBRXpCLE1BQU0sWUFBWSxHQUFvQixNQUFNLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFvQixDQUFDO1lBRXRGLE1BQU0sU0FBUyxHQUFTLFlBQVksQ0FBQyxLQUFLLENBQUM7WUFDM0MsTUFBTSxPQUFPLEdBQVMsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUV2QyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQzNCLE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztZQUNELElBQUksU0FBUyxHQUFHLE9BQU8sRUFBRSxDQUFDO2dCQUN4QixPQUFPLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLENBQUM7WUFDekQsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsZ0JBQXdCLEVBQUUsV0FBb0I7UUFDaEUsT0FBTyxDQUFDLFVBQTJCLEVBQTJCLEVBQUU7WUFDOUQsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQW1CLENBQUM7WUFFOUMsSUFBSSxDQUFDLE1BQU07Z0JBQUUsT0FBTyxJQUFJLENBQUM7WUFFekIsTUFBTSxZQUFZLEdBQW9CLE1BQU0sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQW9CLENBQUM7WUFFdEYsTUFBTSxTQUFTLEdBQVMsWUFBWSxDQUFDLEtBQUssQ0FBQztZQUMzQyxNQUFNLE9BQU8sR0FBUyxVQUFVLENBQUMsS0FBSyxDQUFDO1lBRXZDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDM0IsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1lBQ0QsSUFBSSxTQUFTLEdBQUcsT0FBTyxFQUFFLENBQUM7Z0JBQ3hCLE9BQU8sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsQ0FBQztZQUN6RCxDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFXLEVBQUUsV0FBb0I7UUFDMUMsT0FBTyxDQUFDLE9BQXdCLEVBQTJCLEVBQUU7WUFDM0QsSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQztnQkFDOUIsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLG9DQUFvQyxHQUFHLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFFakgsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFXLEVBQUUsV0FBb0I7UUFDMUMsT0FBTyxDQUFDLE9BQXdCLEVBQTJCLEVBQUU7WUFDM0QsSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQztnQkFDOUIsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLG9DQUFvQyxHQUFHLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFFakgsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFvQjtRQUMvQixPQUFPLENBQUMsT0FBd0IsRUFBMkIsRUFBRTtZQUMzRCxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDOUIsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLDhCQUE4QixFQUFFLEVBQUUsQ0FBQztZQUN2RyxDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFXO1FBQy9CLE9BQU8sQ0FBQyxPQUF3QixFQUEyQixFQUFFO1lBQzNELElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsR0FBRztnQkFDNUIsT0FBTyxJQUFJLENBQUM7WUFFZCxPQUFPLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsMEJBQTBCLEVBQUUsQ0FBQztRQUMzRSxDQUFDLENBQUE7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFXLEVBQUUsV0FBb0I7UUFDaEQsT0FBTyxDQUFDLE9BQXdCLEVBQTJCLEVBQUU7WUFDM0QsSUFBSSxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQztnQkFDcEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLDhDQUE4QyxFQUFFLEVBQUUsQ0FBQztZQUMzSCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQTtJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQVcsRUFBRSxXQUFvQjtRQUNoRCxPQUFPLENBQUMsT0FBd0IsRUFBMkIsRUFBRTtZQUMzRCxJQUFJLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDO2dCQUNwQyxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsMkNBQTJDLEVBQUUsRUFBRSxDQUFDO1lBQ3hILE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFBO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFJO1FBQ1QsT0FBTyxDQUFDLE9BQXdCLEVBQTJCLEVBQUU7WUFDM0QsSUFBSSxRQUFRLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDL0MsSUFBSSxRQUFRLEVBQUUsTUFBTSxHQUFHLENBQUM7Z0JBQ3RCLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSwyQkFBMkIsRUFBRSxDQUFDO1lBQ2xFLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFBO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUFhLENBQUMsV0FBb0I7UUFDdkMsT0FBTyxDQUFDLE9BQXdCLEVBQTJCLEVBQUU7WUFDM0QsSUFBSSxLQUFLLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDckQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDdEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixFQUFFLEVBQUUsQ0FBQztZQUMvRixDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IERvY3NTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZG9jcy5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBLZWV2b1ZhbGlkYXRvcnMge1xyXG4gIHN0YXRpYyByZXF1aXJlZChlcnJvTWVzc2FnZT86IHN0cmluZyk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xyXG4gICAgICBpZiAoVmFsaWRhdG9ycy5yZXF1aXJlZChjb250cm9sKSlcclxuICAgICAgICByZXR1cm4geyByZXF1aXJlZDogdHJ1ZSwgZXJyb01lc3NhZ2U6IGAke2Vycm9NZXNzYWdlID8gZXJyb01lc3NhZ2UgOiAnQ2FtcG8gb2JyaWdhdMOzcmlvJ31gIH07XHJcblxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZGF0ZUdyZWF0ZXJUaGFuKHN0YXJ0Q29udHJvbE5hbWU6IHN0cmluZywgZXJyb01lc3NhZ2U/OiBzdHJpbmcpOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gKGVuZENvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuICAgICAgY29uc3QgcGFyZW50ID0gZW5kQ29udHJvbC5wYXJlbnQgYXMgRm9ybUdyb3VwO1xyXG5cclxuICAgICAgaWYgKCFwYXJlbnQpIHJldHVybiBudWxsO1xyXG5cclxuICAgICAgY29uc3Qgc3RhcnRDb250cm9sOiBBYnN0cmFjdENvbnRyb2wgPSBwYXJlbnQuZ2V0KHN0YXJ0Q29udHJvbE5hbWUpIGFzIEFic3RyYWN0Q29udHJvbDtcclxuXHJcbiAgICAgIGNvbnN0IHN0YXJ0RGF0ZTogRGF0ZSA9IHN0YXJ0Q29udHJvbC52YWx1ZTtcclxuICAgICAgY29uc3QgZW5kRGF0ZTogRGF0ZSA9IGVuZENvbnRyb2wudmFsdWU7XHJcblxyXG4gICAgICBpZiAoIXN0YXJ0RGF0ZSB8fCAhZW5kRGF0ZSkge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChzdGFydERhdGUgPiBlbmREYXRlKSB7XHJcbiAgICAgICAgcmV0dXJuIHsgZ3JlYXRlclRoYW46IHRydWUsIGVycm9NZXNzYWdlOiBlcnJvTWVzc2FnZSB9O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBkYXRlTGVzc1RoYW4oc3RhcnRDb250cm9sTmFtZTogc3RyaW5nLCBlcnJvTWVzc2FnZT86IHN0cmluZyk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiAoZW5kQ29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xyXG4gICAgICBjb25zdCBwYXJlbnQgPSBlbmRDb250cm9sLnBhcmVudCBhcyBGb3JtR3JvdXA7XHJcblxyXG4gICAgICBpZiAoIXBhcmVudCkgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgICBjb25zdCBzdGFydENvbnRyb2w6IEFic3RyYWN0Q29udHJvbCA9IHBhcmVudC5nZXQoc3RhcnRDb250cm9sTmFtZSkgYXMgQWJzdHJhY3RDb250cm9sO1xyXG5cclxuICAgICAgY29uc3Qgc3RhcnREYXRlOiBEYXRlID0gc3RhcnRDb250cm9sLnZhbHVlO1xyXG4gICAgICBjb25zdCBlbmREYXRlOiBEYXRlID0gZW5kQ29udHJvbC52YWx1ZTtcclxuXHJcbiAgICAgIGlmICghc3RhcnREYXRlIHx8ICFlbmREYXRlKSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHN0YXJ0RGF0ZSA8IGVuZERhdGUpIHtcclxuICAgICAgICByZXR1cm4geyBncmVhdGVyVGhhbjogdHJ1ZSwgZXJyb01lc3NhZ2U6IGVycm9NZXNzYWdlIH07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIG1pbihtaW46IG51bWJlciwgZXJyb01lc3NhZ2U/OiBzdHJpbmcpOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuICAgICAgaWYgKFZhbGlkYXRvcnMubWluKG1pbikoY29udHJvbCkpXHJcbiAgICAgICAgcmV0dXJuIHsgbWluOiB0cnVlLCBlcnJvTWVzc2FnZTogYCR7ZXJyb01lc3NhZ2UgPyBlcnJvTWVzc2FnZSA6ICdJbmZvcm1lIHVtIHZhbG9yIG1haW9yIG91IGlndWFsIMOgICd9JHttaW59YCB9O1xyXG5cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIG1heChtaW46IG51bWJlciwgZXJyb01lc3NhZ2U/OiBzdHJpbmcpOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuICAgICAgaWYgKFZhbGlkYXRvcnMubWF4KG1pbikoY29udHJvbCkpXHJcbiAgICAgICAgcmV0dXJuIHsgbWluOiB0cnVlLCBlcnJvTWVzc2FnZTogYCR7ZXJyb01lc3NhZ2UgPyBlcnJvTWVzc2FnZSA6ICdJbmZvcm1lIHVtIHZhbG9yIG1lbm9yIG91IGlndWFsIMOgICd9JHttaW59YCB9O1xyXG5cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGVtYWlsKGVycm9NZXNzYWdlPzogc3RyaW5nKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XHJcbiAgICAgIGlmIChWYWxpZGF0b3JzLmVtYWlsKGNvbnRyb2wpKSB7XHJcbiAgICAgICAgcmV0dXJuIHsgZW1haWw6IHRydWUsIGVycm9NZXNzYWdlOiBgJHtlcnJvTWVzc2FnZSA/IGVycm9NZXNzYWdlIDogJ0VuZGVyZcOnbyBkZSBlLW1haWwgaW52w6FsaWRvISd9YCB9O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBtYXhMZW5ndGhBcnJheShtYXg6IG51bWJlcik6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xyXG4gICAgICBpZiAoY29udHJvbC52YWx1ZS5sZW5ndGggPCBtYXgpXHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgICByZXR1cm4geyBtYXhMZW5ndGhBcnJheTogdHJ1ZSwgZXJyb01lc3NhZ2U6ICdUYW1hbmhvIG3DoXhpbW8gZXhjZWRpZG8hJyB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIG1heExlbmd0aChtYXg6IG51bWJlciwgZXJyb01lc3NhZ2U/OiBzdHJpbmcpOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuICAgICAgaWYgKFZhbGlkYXRvcnMubWF4TGVuZ3RoKG1heCkoY29udHJvbCkpXHJcbiAgICAgICAgcmV0dXJuIHsgbWF4TGVuZ3RoOiB0cnVlLCBlcnJvTWVzc2FnZTogYCR7ZXJyb01lc3NhZ2UgPyBlcnJvTWVzc2FnZSA6ICdMaW1pdGUgbcOheGltbyBkZSAke21heH0gY2FyYWN0ZXJlcyBhdGluZ2lkbyEnfWAgfTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgbWluTGVuZ3RoKG1pbjogbnVtYmVyLCBlcnJvTWVzc2FnZT86IHN0cmluZyk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xyXG4gICAgICBpZiAoVmFsaWRhdG9ycy5taW5MZW5ndGgobWluKShjb250cm9sKSlcclxuICAgICAgICByZXR1cm4geyBtaW5MZW5ndGg6IHRydWUsIGVycm9NZXNzYWdlOiBgJHtlcnJvTWVzc2FnZSA/IGVycm9NZXNzYWdlIDogJ8OJIG5lY2Vzc8OhcmlvIG3DrW5pbW8gZGUgJHttaW59IGNhcmFjdGVyZXMhJ31gIH07XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIG5vbWUoKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XHJcbiAgICAgIGxldCBwYWxhdnJhcyA9IGNvbnRyb2wudmFsdWUudHJpbSgpLnNwbGl0KCcgJyk7XHJcbiAgICAgIGlmIChwYWxhdnJhcz8ubGVuZ3RoIDwgMilcclxuICAgICAgICByZXR1cm4geyBub21lOiB0cnVlLCBlcnJvTWVzc2FnZTogJ0RpZ2l0ZSBzZXUgbm9tZSBjb21wbGV0by4nIH07XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGNwZkNucGpWYWxpZG8oZXJyb01lc3NhZ2U/OiBzdHJpbmcpOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuICAgICAgbGV0IHZhbHVlID0gKGNvbnRyb2wudmFsdWUgPz8gJycpLnJlcGxhY2UoL1xcRC9nLCAnJyk7XHJcbiAgICAgIGlmICghRG9jc1NlcnZpY2UudmFsaWRhQ3BmQ25waih2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4geyBjcGZjbnBqOiB0cnVlLCBlcnJvTWVzc2FnZTogYCR7ZXJyb01lc3NhZ2UgPyBlcnJvTWVzc2FnZSA6ICdDUEYvQ05QSiBpbnbDoWxpZG8hJ31gIH07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2Vldm8tdmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9hcGkvaGVscGVycy9rZWV2by12YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNkQsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXZELE1BQU0sT0FBTyxlQUFlO0lBQzFCLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBb0I7UUFDbEMsT0FBTyxDQUFDLE9BQXdCLEVBQTJCLEVBQUU7WUFDM0QsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztnQkFDOUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixFQUFFLEVBQUUsQ0FBQztZQUUvRixPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsZUFBZSxDQUFDLGdCQUF3QixFQUFFLFdBQW9CO1FBQ25FLE9BQU8sQ0FBQyxVQUEyQixFQUEyQixFQUFFO1lBQzlELE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFtQixDQUFDO1lBRTlDLElBQUksQ0FBQyxNQUFNO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBRXpCLE1BQU0sWUFBWSxHQUFvQixNQUFNLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFvQixDQUFDO1lBRXRGLE1BQU0sU0FBUyxHQUFTLFlBQVksQ0FBQyxLQUFLLENBQUM7WUFDM0MsTUFBTSxPQUFPLEdBQVMsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUV2QyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7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Z0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ3pHLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQTtRQUNiLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFTyxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQWEsRUFBRSxRQUFnQjtRQUMxRCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUM7SUFDM0MsQ0FBQztJQUVPLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxLQUFhO1FBQ2xELE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQztRQUMzQixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25DLE9BQU8sT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQztJQUNoRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IERvY3NTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZG9jcy5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBLZWV2b1ZhbGlkYXRvcnMge1xyXG4gIHN0YXRpYyByZXF1aXJlZChlcnJvTWVzc2FnZT86IHN0cmluZyk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xyXG4gICAgICBpZiAoVmFsaWRhdG9ycy5yZXF1aXJlZChjb250cm9sKSlcclxuICAgICAgICByZXR1cm4geyByZXF1aXJlZDogdHJ1ZSwgZXJyb01lc3NhZ2U6IGAke2Vycm9NZXNzYWdlID8gZXJyb01lc3NhZ2UgOiAnQ2FtcG8gb2JyaWdhdMOzcmlvJ31gIH07XHJcblxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZGF0ZUdyZWF0ZXJUaGFuKHN0YXJ0Q29udHJvbE5hbWU6IHN0cmluZywgZXJyb01lc3NhZ2U/OiBzdHJpbmcpOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gKGVuZENvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuICAgICAgY29uc3QgcGFyZW50ID0gZW5kQ29udHJvbC5wYXJlbnQgYXMgRm9ybUdyb3VwO1xyXG5cclxuICAgICAgaWYgKCFwYXJlbnQpIHJldHVybiBudWxsO1xyXG5cclxuICAgICAgY29uc3Qgc3RhcnRDb250cm9sOiBBYnN0cmFjdENvbnRyb2wgPSBwYXJlbnQuZ2V0KHN0YXJ0Q29udHJvbE5hbWUpIGFzIEFic3RyYWN0Q29udHJvbDtcclxuXHJcbiAgICAgIGNvbnN0IHN0YXJ0RGF0ZTogRGF0ZSA9IHN0YXJ0Q29udHJvbC52YWx1ZTtcclxuICAgICAgY29uc3QgZW5kRGF0ZTogRGF0ZSA9IGVuZENvbnRyb2wudmFsdWU7XHJcblxyXG4gICAgICBpZiAoIXN0YXJ0RGF0ZSB8fCAhZW5kRGF0ZSkge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChzdGFydERhdGUgPiBlbmREYXRlKSB7XHJcbiAgICAgICAgcmV0dXJuIHsgZ3JlYXRlclRoYW46IHRydWUsIGVycm9NZXNzYWdlOiBlcnJvTWVzc2FnZSB9O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBkYXRlTGVzc1RoYW4oc3RhcnRDb250cm9sTmFtZTogc3RyaW5nLCBlcnJvTWVzc2FnZT86IHN0cmluZyk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiAoZW5kQ29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xyXG4gICAgICBjb25zdCBwYXJlbnQgPSBlbmRDb250cm9sLnBhcmVudCBhcyBGb3JtR3JvdXA7XHJcblxyXG4gICAgICBpZiAoIXBhcmVudCkgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgICBjb25zdCBzdGFydENvbnRyb2w6IEFic3RyYWN0Q29udHJvbCA9IHBhcmVudC5nZXQoc3RhcnRDb250cm9sTmFtZSkgYXMgQWJzdHJhY3RDb250cm9sO1xyXG5cclxuICAgICAgY29uc3Qgc3RhcnREYXRlOiBEYXRlID0gc3RhcnRDb250cm9sLnZhbHVlO1xyXG4gICAgICBjb25zdCBlbmREYXRlOiBEYXRlID0gZW5kQ29udHJvbC52YWx1ZTtcclxuXHJcbiAgICAgIGlmICghc3RhcnREYXRlIHx8ICFlbmREYXRlKSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHN0YXJ0RGF0ZSA8IGVuZERhdGUpIHtcclxuICAgICAgICByZXR1cm4geyBncmVhdGVyVGhhbjogdHJ1ZSwgZXJyb01lc3NhZ2U6IGVycm9NZXNzYWdlIH07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIG1pbihtaW46IG51bWJlciwgZXJyb01lc3NhZ2U/OiBzdHJpbmcpOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuICAgICAgaWYgKFZhbGlkYXRvcnMubWluKG1pbikoY29udHJvbCkpXHJcbiAgICAgICAgcmV0dXJuIHsgbWluOiB0cnVlLCBlcnJvTWVzc2FnZTogYCR7ZXJyb01lc3NhZ2UgPyBlcnJvTWVzc2FnZSA6ICdJbmZvcm1lIHVtIHZhbG9yIG1haW9yIG91IGlndWFsIMOgICd9JHttaW59YCB9O1xyXG5cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIG1heChtaW46IG51bWJlciwgZXJyb01lc3NhZ2U/OiBzdHJpbmcpOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuICAgICAgaWYgKFZhbGlkYXRvcnMubWF4KG1pbikoY29udHJvbCkpXHJcbiAgICAgICAgcmV0dXJuIHsgbWluOiB0cnVlLCBlcnJvTWVzc2FnZTogYCR7ZXJyb01lc3NhZ2UgPyBlcnJvTWVzc2FnZSA6ICdJbmZvcm1lIHVtIHZhbG9yIG1lbm9yIG91IGlndWFsIMOgICd9JHttaW59YCB9O1xyXG5cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGVtYWlsKGVycm9NZXNzYWdlPzogc3RyaW5nKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XHJcbiAgICAgIGlmIChWYWxpZGF0b3JzLmVtYWlsKGNvbnRyb2wpKSB7XHJcbiAgICAgICAgcmV0dXJuIHsgZW1haWw6IHRydWUsIGVycm9NZXNzYWdlOiBgJHtlcnJvTWVzc2FnZSA/IGVycm9NZXNzYWdlIDogJ0VuZGVyZcOnbyBkZSBlLW1haWwgaW52w6FsaWRvISd9YCB9O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBtYXhMZW5ndGhBcnJheShtYXg6IG51bWJlcik6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xyXG4gICAgICBpZiAoY29udHJvbC52YWx1ZS5sZW5ndGggPCBtYXgpXHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgICByZXR1cm4geyBtYXhMZW5ndGhBcnJheTogdHJ1ZSwgZXJyb01lc3NhZ2U6ICdUYW1hbmhvIG3DoXhpbW8gZXhjZWRpZG8hJyB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIG1heExlbmd0aChtYXg6IG51bWJlciwgZXJyb01lc3NhZ2U/OiBzdHJpbmcpOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuICAgICAgaWYgKFZhbGlkYXRvcnMubWF4TGVuZ3RoKG1heCkoY29udHJvbCkpXHJcbiAgICAgICAgcmV0dXJuIHsgbWF4TGVuZ3RoOiB0cnVlLCBlcnJvTWVzc2FnZTogYCR7ZXJyb01lc3NhZ2UgPyBlcnJvTWVzc2FnZSA6ICdMaW1pdGUgbcOheGltbyBkZSAke21heH0gY2FyYWN0ZXJlcyBhdGluZ2lkbyEnfWAgfTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgbWluTGVuZ3RoKG1pbjogbnVtYmVyLCBlcnJvTWVzc2FnZT86IHN0cmluZyk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xyXG4gICAgICBpZiAoVmFsaWRhdG9ycy5taW5MZW5ndGgobWluKShjb250cm9sKSlcclxuICAgICAgICByZXR1cm4geyBtaW5MZW5ndGg6IHRydWUsIGVycm9NZXNzYWdlOiBgJHtlcnJvTWVzc2FnZSA/IGVycm9NZXNzYWdlIDogJ8OJIG5lY2Vzc8OhcmlvIG3DrW5pbW8gZGUgJHttaW59IGNhcmFjdGVyZXMhJ31gIH07XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIG5vbWUoKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XHJcbiAgICAgIGxldCBwYWxhdnJhcyA9IGNvbnRyb2wudmFsdWUudHJpbSgpLnNwbGl0KCcgJyk7XHJcbiAgICAgIGlmIChwYWxhdnJhcz8ubGVuZ3RoIDwgMilcclxuICAgICAgICByZXR1cm4geyBub21lOiB0cnVlLCBlcnJvTWVzc2FnZTogJ0RpZ2l0ZSBzZXUgbm9tZSBjb21wbGV0by4nIH07XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGNwZkNucGpWYWxpZG8oZXJyb01lc3NhZ2U/OiBzdHJpbmcpOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuICAgICAgbGV0IHZhbHVlID0gKGNvbnRyb2wudmFsdWUgPz8gJycpLnJlcGxhY2UoL1xcRC9nLCAnJyk7XHJcbiAgICAgIGlmICghRG9jc1NlcnZpY2UudmFsaWRhQ3BmQ25waih2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4geyBjcGZjbnBqOiB0cnVlLCBlcnJvTWVzc2FnZTogYCR7ZXJyb01lc3NhZ2UgPyBlcnJvTWVzc2FnZSA6ICdDUEYvQ05QSiBpbnbDoWxpZG8hJ31gIH07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHZhbGlkVGV4dChtaW5Xb3JkczogbnVtYmVyID0gNSwgZXJyb01lc3NhZ2U/OiBzdHJpbmcpOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuICAgICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlO1xyXG4gICAgICBpZiAodmFsdWUubGVuZ3RoID4gOCkge1xyXG4gICAgICAgIGNvbnN0IGVycm9yczogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gPSB7fTtcclxuICBcclxuICAgICAgICBpZiAoS2Vldm9WYWxpZGF0b3JzLmNoZWNrTWluV29yZHModmFsdWUsIG1pbldvcmRzKSkge1xyXG4gICAgICAgICAgZXJyb3JzWydpbnZhbGlkV29yZENvdW50J10gPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICBcclxuICAgICAgICBpZiAoS2Vldm9WYWxpZGF0b3JzLmNoZWNrUmVwZWF0ZWRDaGFyYWN0ZXJzKHZhbHVlKSkge1xyXG4gICAgICAgICAgZXJyb3JzWydyZXBlYXRDaGFyYWN0ZXJJbldvcmQnXSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gIFxyXG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhlcnJvcnMpLmxlbmd0aCA/IHsgLi4uZXJyb3JzLCBlcnJvTWVzc2FnZTogZXJyb01lc3NhZ2UgfHwgJ1RleHRvIGludsOhbGlkbycgfSA6IG51bGw7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG51bGxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBjaGVja01pbldvcmRzKHZhbHVlOiBzdHJpbmcsIG1pbldvcmRzOiBudW1iZXIpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHdvcmRzID0gdmFsdWUubWF0Y2goL1xcUysvZyk7XHJcbiAgICByZXR1cm4gIXdvcmRzIHx8IHdvcmRzLmxlbmd0aCA8IG1pbldvcmRzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgY2hlY2tSZXBlYXRlZENoYXJhY3RlcnModmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgcmVnZXggPSAvKC4pXFwxezcsfS9nOyBcclxuICAgIGNvbnN0IG1hdGNoZXMgPSB2YWx1ZS5tYXRjaChyZWdleCk7XHJcbiAgICByZXR1cm4gbWF0Y2hlcyAmJiBtYXRjaGVzLmxlbmd0aCA+IDAgfHwgZmFsc2U7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -23,14 +23,14 @@ export class KvSelectButtonsComponent {
23
23
  value.action();
24
24
  }
25
25
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvSelectButtonsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
26
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvSelectButtonsComponent, selector: "kv-select-buttons", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, selection: { classPropertyName: "selection", publicName: "selection", isSignal: true, isRequired: false, transformFunction: null }, defaultValue: { classPropertyName: "defaultValue", publicName: "defaultValue", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { selection: "selectionChange", selectChange: "selectChange" }, ngImport: i0, template: "<div class=\"flex flex-1 flex-row pl-2 justify-content-start\">\r\n <div class=\"flex p-1 gap-1 border-round select-button-container\">\r\n @for(option of options(); track option.value;) {\r\n <button\r\n (click)=\"select(option)\"\r\n [ngClass]=\"[\r\n selection() === option.value ? 'active' : 'inactive',\r\n 'select-button'\r\n ]\"\r\n class=\"\"\r\n pButton\r\n pRipple\r\n class=\"text-xs xl:text-base\"\r\n >\r\n {{ option.label }}\r\n </button>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".select-button{border-radius:4px!important;box-shadow:1px 1px 1px 1px #18346205;color:#000;font-weight:700;border:none;gap:.25rem;padding:.5rem!important;font-size:.8rem!important}@media (max-width: 1400px){.select-button{padding:.3rem!important}}.active{background-color:#002542;color:#fff;font-weight:600}.inactive{background-color:#f0f4f9;color:#64748b;font-weight:400;transition:background-color .3s ease}.inactive:hover{background-color:#a3a3a336;color:#47566b}.select-button-container{background-color:#f0f4f9;border:.5px solid #CBD5E1}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "directive", type: i3.Ripple, selector: "[pRipple]" }] }); }
26
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvSelectButtonsComponent, selector: "kv-select-buttons", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, selection: { classPropertyName: "selection", publicName: "selection", isSignal: true, isRequired: false, transformFunction: null }, defaultValue: { classPropertyName: "defaultValue", publicName: "defaultValue", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { selection: "selectionChange", selectChange: "selectChange" }, ngImport: i0, template: "<div class=\"flex flex-1 flex-row pl-2 justify-content-start\">\r\n <div class=\"flex p-1 gap-1 border-round select-button-container\">\r\n @for(option of options(); track option.value;) {\r\n <button\r\n (click)=\"select(option)\"\r\n [ngClass]=\"[\r\n selection() === option.value ? 'active' : 'inactive',\r\n 'select-button'\r\n ]\"\r\n class=\"\"\r\n pButton\r\n pRipple\r\n class=\"text-xs xl:text-base\"\r\n >\r\n @if(option.icon){\r\n <span class=\"material-symbols-outlined\">\r\n {{ option.icon}}\r\n </span>\r\n }\r\n\r\n {{ option.label }}\r\n\r\n </button>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".select-button{border-radius:4px!important;box-shadow:1px 1px 1px 1px #18346205;color:#000;font-weight:700;border:none;gap:.25rem;padding:.5rem!important;font-size:.8rem!important}@media (max-width: 1400px){.select-button{padding:.3rem!important}}.active{background-color:#002542;color:#fff;font-weight:600}.inactive{background-color:#f0f4f9;color:#64748b;font-weight:400;transition:background-color .3s ease}.inactive:hover{background-color:#a3a3a336;color:#47566b}.select-button-container{background-color:#f0f4f9;border:.5px solid #CBD5E1}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "directive", type: i3.Ripple, selector: "[pRipple]" }] }); }
27
27
  }
28
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvSelectButtonsComponent, decorators: [{
29
29
  type: Component,
30
- args: [{ selector: 'kv-select-buttons', standalone: false, template: "<div class=\"flex flex-1 flex-row pl-2 justify-content-start\">\r\n <div class=\"flex p-1 gap-1 border-round select-button-container\">\r\n @for(option of options(); track option.value;) {\r\n <button\r\n (click)=\"select(option)\"\r\n [ngClass]=\"[\r\n selection() === option.value ? 'active' : 'inactive',\r\n 'select-button'\r\n ]\"\r\n class=\"\"\r\n pButton\r\n pRipple\r\n class=\"text-xs xl:text-base\"\r\n >\r\n {{ option.label }}\r\n </button>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".select-button{border-radius:4px!important;box-shadow:1px 1px 1px 1px #18346205;color:#000;font-weight:700;border:none;gap:.25rem;padding:.5rem!important;font-size:.8rem!important}@media (max-width: 1400px){.select-button{padding:.3rem!important}}.active{background-color:#002542;color:#fff;font-weight:600}.inactive{background-color:#f0f4f9;color:#64748b;font-weight:400;transition:background-color .3s ease}.inactive:hover{background-color:#a3a3a336;color:#47566b}.select-button-container{background-color:#f0f4f9;border:.5px solid #CBD5E1}\n"] }]
30
+ args: [{ selector: 'kv-select-buttons', standalone: false, template: "<div class=\"flex flex-1 flex-row pl-2 justify-content-start\">\r\n <div class=\"flex p-1 gap-1 border-round select-button-container\">\r\n @for(option of options(); track option.value;) {\r\n <button\r\n (click)=\"select(option)\"\r\n [ngClass]=\"[\r\n selection() === option.value ? 'active' : 'inactive',\r\n 'select-button'\r\n ]\"\r\n class=\"\"\r\n pButton\r\n pRipple\r\n class=\"text-xs xl:text-base\"\r\n >\r\n @if(option.icon){\r\n <span class=\"material-symbols-outlined\">\r\n {{ option.icon}}\r\n </span>\r\n }\r\n\r\n {{ option.label }}\r\n\r\n </button>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".select-button{border-radius:4px!important;box-shadow:1px 1px 1px 1px #18346205;color:#000;font-weight:700;border:none;gap:.25rem;padding:.5rem!important;font-size:.8rem!important}@media (max-width: 1400px){.select-button{padding:.3rem!important}}.active{background-color:#002542;color:#fff;font-weight:600}.inactive{background-color:#f0f4f9;color:#64748b;font-weight:400;transition:background-color .3s ease}.inactive:hover{background-color:#a3a3a336;color:#47566b}.select-button-container{background-color:#f0f4f9;border:.5px solid #CBD5E1}\n"] }]
31
31
  }], propDecorators: { defaultValue: [{
32
32
  type: Input
33
33
  }], selectChange: [{
34
34
  type: Output
35
35
  }] } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3Ytc2VsZWN0LWJ1dHRvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LXNlbGVjdC1idXR0b25zL2t2LXNlbGVjdC1idXR0b25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1zZWxlY3QtYnV0dG9ucy9rdi1zZWxlY3QtYnV0dG9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBUTdGLE1BQU0sT0FBTyx3QkFBd0I7SUFOckM7UUFPRSxZQUFPLEdBQUcsS0FBSyxDQUEyQixFQUFFLENBQUMsQ0FBQztRQUM5QyxjQUFTLEdBQUcsS0FBSyxFQUFLLENBQUM7UUFPdkI7O1dBRUc7UUFDTyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFLLENBQUM7S0FhaEQ7SUFYQyxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3hDLENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQTZCO1FBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2pCLENBQUM7OEdBeEJVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLDhoQkNSckMsNGlCQW1CQTs7MkZEWGEsd0JBQXdCO2tCQU5wQyxTQUFTOytCQUNFLG1CQUFtQixjQUNqQixLQUFLOzhCQVdSLFlBQVk7c0JBQXBCLEtBQUs7Z0JBS0ksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgaW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBtb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdrdi1zZWxlY3QtYnV0dG9ucycsXHJcbiAgc3RhbmRhbG9uZTogZmFsc2UsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2t2LXNlbGVjdC1idXR0b25zLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4va3Ytc2VsZWN0LWJ1dHRvbnMuY29tcG9uZW50LnNjc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgS3ZTZWxlY3RCdXR0b25zQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBvcHRpb25zID0gaW5wdXQ8U2VsZWN0QnV0dG9uc09wdGlvbjxUPltdPihbXSk7XHJcbiAgc2VsZWN0aW9uID0gbW9kZWw8VD4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQGRlcHJlY2F0ZWQgYSBmYXZvciBkbyBzZWxlY3Rpb25cclxuICAgKi9cclxuICBASW5wdXQoKSBkZWZhdWx0VmFsdWU/OiBUO1xyXG5cclxuICAvKipcclxuICAgKiBAZGVwcmVjYXRlZCBhIGZhdm9yIGRvIHNlbGVjdGlvblxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFQ+KCk7XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZGVmYXVsdFZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0aW9uLnNldCh0aGlzLmRlZmF1bHRWYWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3QodmFsdWU6IFNlbGVjdEJ1dHRvbnNPcHRpb248VD4pIHtcclxuICAgIHRoaXMuc2VsZWN0aW9uLnNldCh2YWx1ZS52YWx1ZSk7XHJcbiAgICB0aGlzLnNlbGVjdENoYW5nZS5lbWl0KHZhbHVlLnZhbHVlKTtcclxuICAgIHZhbHVlLmFjdGlvbigpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgU2VsZWN0QnV0dG9uc09wdGlvbjxUPiA9IHtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIGFjdGlvbjogKCkgPT4gdm9pZDtcclxuICB2YWx1ZTogVDtcclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LTEgZmxleC1yb3cgcGwtMiBqdXN0aWZ5LWNvbnRlbnQtc3RhcnRcIj5cclxuICA8ZGl2IGNsYXNzPVwiZmxleCBwLTEgZ2FwLTEgYm9yZGVyLXJvdW5kIHNlbGVjdC1idXR0b24tY29udGFpbmVyXCI+XHJcbiAgICBAZm9yKG9wdGlvbiBvZiBvcHRpb25zKCk7IHRyYWNrIG9wdGlvbi52YWx1ZTspIHtcclxuICAgIDxidXR0b25cclxuICAgICAgKGNsaWNrKT1cInNlbGVjdChvcHRpb24pXCJcclxuICAgICAgW25nQ2xhc3NdPVwiW1xyXG4gICAgICAgIHNlbGVjdGlvbigpID09PSBvcHRpb24udmFsdWUgPyAnYWN0aXZlJyA6ICdpbmFjdGl2ZScsXHJcbiAgICAgICAgJ3NlbGVjdC1idXR0b24nXHJcbiAgICAgIF1cIlxyXG4gICAgICBjbGFzcz1cIlwiXHJcbiAgICAgIHBCdXR0b25cclxuICAgICAgcFJpcHBsZVxyXG4gICAgICBjbGFzcz1cInRleHQteHMgeGw6dGV4dC1iYXNlXCJcclxuICAgID5cclxuICAgICAge3sgb3B0aW9uLmxhYmVsIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3Ytc2VsZWN0LWJ1dHRvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LXNlbGVjdC1idXR0b25zL2t2LXNlbGVjdC1idXR0b25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1zZWxlY3QtYnV0dG9ucy9rdi1zZWxlY3QtYnV0dG9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBUTdGLE1BQU0sT0FBTyx3QkFBd0I7SUFOckM7UUFPRSxZQUFPLEdBQUcsS0FBSyxDQUEyQixFQUFFLENBQUMsQ0FBQztRQUM5QyxjQUFTLEdBQUcsS0FBSyxFQUFLLENBQUM7UUFPdkI7O1dBRUc7UUFDTyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFLLENBQUM7S0FhaEQ7SUFYQyxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3hDLENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQTZCO1FBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2pCLENBQUM7OEdBeEJVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLDhoQkNSckMsaXNCQTBCQTs7MkZEbEJhLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDRSxtQkFBbUIsY0FDakIsS0FBSzs4QkFXUixZQUFZO3NCQUFwQixLQUFLO2dCQUtJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIGlucHV0LCBPbkluaXQsIE91dHB1dCwgbW9kZWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAna3Ytc2VsZWN0LWJ1dHRvbnMnLFxyXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9rdi1zZWxlY3QtYnV0dG9ucy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2t2LXNlbGVjdC1idXR0b25zLmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEt2U2VsZWN0QnV0dG9uc0NvbXBvbmVudDxUPiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgb3B0aW9ucyA9IGlucHV0PFNlbGVjdEJ1dHRvbnNPcHRpb248VD5bXT4oW10pO1xyXG4gIHNlbGVjdGlvbiA9IG1vZGVsPFQ+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBkZXByZWNhdGVkIGEgZmF2b3IgZG8gc2VsZWN0aW9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgZGVmYXVsdFZhbHVlPzogVDtcclxuXHJcbiAgLyoqXHJcbiAgICogQGRlcHJlY2F0ZWQgYSBmYXZvciBkbyBzZWxlY3Rpb25cclxuICAgKi9cclxuICBAT3V0cHV0KCkgc2VsZWN0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUPigpO1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRlZmF1bHRWYWx1ZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGlvbi5zZXQodGhpcy5kZWZhdWx0VmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0KHZhbHVlOiBTZWxlY3RCdXR0b25zT3B0aW9uPFQ+KSB7XHJcbiAgICB0aGlzLnNlbGVjdGlvbi5zZXQodmFsdWUudmFsdWUpO1xyXG4gICAgdGhpcy5zZWxlY3RDaGFuZ2UuZW1pdCh2YWx1ZS52YWx1ZSk7XHJcbiAgICB2YWx1ZS5hY3Rpb24oKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFNlbGVjdEJ1dHRvbnNPcHRpb248VD4gPSB7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIGFjdGlvbjogKCkgPT4gdm9pZDtcclxuICB2YWx1ZTogVDtcclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LTEgZmxleC1yb3cgcGwtMiBqdXN0aWZ5LWNvbnRlbnQtc3RhcnRcIj5cclxuICA8ZGl2IGNsYXNzPVwiZmxleCBwLTEgZ2FwLTEgYm9yZGVyLXJvdW5kIHNlbGVjdC1idXR0b24tY29udGFpbmVyXCI+XHJcbiAgICBAZm9yKG9wdGlvbiBvZiBvcHRpb25zKCk7IHRyYWNrIG9wdGlvbi52YWx1ZTspIHtcclxuICAgIDxidXR0b25cclxuICAgICAgKGNsaWNrKT1cInNlbGVjdChvcHRpb24pXCJcclxuICAgICAgW25nQ2xhc3NdPVwiW1xyXG4gICAgICAgIHNlbGVjdGlvbigpID09PSBvcHRpb24udmFsdWUgPyAnYWN0aXZlJyA6ICdpbmFjdGl2ZScsXHJcbiAgICAgICAgJ3NlbGVjdC1idXR0b24nXHJcbiAgICAgIF1cIlxyXG4gICAgICBjbGFzcz1cIlwiXHJcbiAgICAgIHBCdXR0b25cclxuICAgICAgcFJpcHBsZVxyXG4gICAgICBjbGFzcz1cInRleHQteHMgeGw6dGV4dC1iYXNlXCJcclxuICAgID5cclxuICAgICAgQGlmKG9wdGlvbi5pY29uKXtcclxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj5cclxuICAgICAgICAgIHt7IG9wdGlvbi5pY29ufX1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHt7IG9wdGlvbi5sYWJlbCB9fVxyXG5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -3350,6 +3350,31 @@ class KeevoValidators {
3350
3350
  return null;
3351
3351
  };
3352
3352
  }
3353
+ static validText(minWords = 5, erroMessage) {
3354
+ return (control) => {
3355
+ const value = control.value;
3356
+ if (value.length > 8) {
3357
+ const errors = {};
3358
+ if (KeevoValidators.checkMinWords(value, minWords)) {
3359
+ errors['invalidWordCount'] = true;
3360
+ }
3361
+ if (KeevoValidators.checkRepeatedCharacters(value)) {
3362
+ errors['repeatCharacterInWord'] = true;
3363
+ }
3364
+ return Object.keys(errors).length ? { ...errors, erroMessage: erroMessage || 'Texto inválido' } : null;
3365
+ }
3366
+ return null;
3367
+ };
3368
+ }
3369
+ static checkMinWords(value, minWords) {
3370
+ const words = value.match(/\S+/g);
3371
+ return !words || words.length < minWords;
3372
+ }
3373
+ static checkRepeatedCharacters(value) {
3374
+ const regex = /(.)\1{7,}/g;
3375
+ const matches = value.match(regex);
3376
+ return matches && matches.length > 0 || false;
3377
+ }
3353
3378
  }
3354
3379
 
3355
3380
  class TranslatePrimeng {
@@ -4971,11 +4996,11 @@ class KvSelectButtonsComponent {
4971
4996
  value.action();
4972
4997
  }
4973
4998
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvSelectButtonsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4974
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvSelectButtonsComponent, selector: "kv-select-buttons", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, selection: { classPropertyName: "selection", publicName: "selection", isSignal: true, isRequired: false, transformFunction: null }, defaultValue: { classPropertyName: "defaultValue", publicName: "defaultValue", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { selection: "selectionChange", selectChange: "selectChange" }, ngImport: i0, template: "<div class=\"flex flex-1 flex-row pl-2 justify-content-start\">\r\n <div class=\"flex p-1 gap-1 border-round select-button-container\">\r\n @for(option of options(); track option.value;) {\r\n <button\r\n (click)=\"select(option)\"\r\n [ngClass]=\"[\r\n selection() === option.value ? 'active' : 'inactive',\r\n 'select-button'\r\n ]\"\r\n class=\"\"\r\n pButton\r\n pRipple\r\n class=\"text-xs xl:text-base\"\r\n >\r\n {{ option.label }}\r\n </button>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".select-button{border-radius:4px!important;box-shadow:1px 1px 1px 1px #18346205;color:#000;font-weight:700;border:none;gap:.25rem;padding:.5rem!important;font-size:.8rem!important}@media (max-width: 1400px){.select-button{padding:.3rem!important}}.active{background-color:#002542;color:#fff;font-weight:600}.inactive{background-color:#f0f4f9;color:#64748b;font-weight:400;transition:background-color .3s ease}.inactive:hover{background-color:#a3a3a336;color:#47566b}.select-button-container{background-color:#f0f4f9;border:.5px solid #CBD5E1}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "directive", type: i2.Ripple, selector: "[pRipple]" }] }); }
4999
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvSelectButtonsComponent, selector: "kv-select-buttons", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, selection: { classPropertyName: "selection", publicName: "selection", isSignal: true, isRequired: false, transformFunction: null }, defaultValue: { classPropertyName: "defaultValue", publicName: "defaultValue", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { selection: "selectionChange", selectChange: "selectChange" }, ngImport: i0, template: "<div class=\"flex flex-1 flex-row pl-2 justify-content-start\">\r\n <div class=\"flex p-1 gap-1 border-round select-button-container\">\r\n @for(option of options(); track option.value;) {\r\n <button\r\n (click)=\"select(option)\"\r\n [ngClass]=\"[\r\n selection() === option.value ? 'active' : 'inactive',\r\n 'select-button'\r\n ]\"\r\n class=\"\"\r\n pButton\r\n pRipple\r\n class=\"text-xs xl:text-base\"\r\n >\r\n @if(option.icon){\r\n <span class=\"material-symbols-outlined\">\r\n {{ option.icon}}\r\n </span>\r\n }\r\n\r\n {{ option.label }}\r\n\r\n </button>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".select-button{border-radius:4px!important;box-shadow:1px 1px 1px 1px #18346205;color:#000;font-weight:700;border:none;gap:.25rem;padding:.5rem!important;font-size:.8rem!important}@media (max-width: 1400px){.select-button{padding:.3rem!important}}.active{background-color:#002542;color:#fff;font-weight:600}.inactive{background-color:#f0f4f9;color:#64748b;font-weight:400;transition:background-color .3s ease}.inactive:hover{background-color:#a3a3a336;color:#47566b}.select-button-container{background-color:#f0f4f9;border:.5px solid #CBD5E1}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "directive", type: i2.Ripple, selector: "[pRipple]" }] }); }
4975
5000
  }
4976
5001
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvSelectButtonsComponent, decorators: [{
4977
5002
  type: Component,
4978
- args: [{ selector: 'kv-select-buttons', standalone: false, template: "<div class=\"flex flex-1 flex-row pl-2 justify-content-start\">\r\n <div class=\"flex p-1 gap-1 border-round select-button-container\">\r\n @for(option of options(); track option.value;) {\r\n <button\r\n (click)=\"select(option)\"\r\n [ngClass]=\"[\r\n selection() === option.value ? 'active' : 'inactive',\r\n 'select-button'\r\n ]\"\r\n class=\"\"\r\n pButton\r\n pRipple\r\n class=\"text-xs xl:text-base\"\r\n >\r\n {{ option.label }}\r\n </button>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".select-button{border-radius:4px!important;box-shadow:1px 1px 1px 1px #18346205;color:#000;font-weight:700;border:none;gap:.25rem;padding:.5rem!important;font-size:.8rem!important}@media (max-width: 1400px){.select-button{padding:.3rem!important}}.active{background-color:#002542;color:#fff;font-weight:600}.inactive{background-color:#f0f4f9;color:#64748b;font-weight:400;transition:background-color .3s ease}.inactive:hover{background-color:#a3a3a336;color:#47566b}.select-button-container{background-color:#f0f4f9;border:.5px solid #CBD5E1}\n"] }]
5003
+ args: [{ selector: 'kv-select-buttons', standalone: false, template: "<div class=\"flex flex-1 flex-row pl-2 justify-content-start\">\r\n <div class=\"flex p-1 gap-1 border-round select-button-container\">\r\n @for(option of options(); track option.value;) {\r\n <button\r\n (click)=\"select(option)\"\r\n [ngClass]=\"[\r\n selection() === option.value ? 'active' : 'inactive',\r\n 'select-button'\r\n ]\"\r\n class=\"\"\r\n pButton\r\n pRipple\r\n class=\"text-xs xl:text-base\"\r\n >\r\n @if(option.icon){\r\n <span class=\"material-symbols-outlined\">\r\n {{ option.icon}}\r\n </span>\r\n }\r\n\r\n {{ option.label }}\r\n\r\n </button>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".select-button{border-radius:4px!important;box-shadow:1px 1px 1px 1px #18346205;color:#000;font-weight:700;border:none;gap:.25rem;padding:.5rem!important;font-size:.8rem!important}@media (max-width: 1400px){.select-button{padding:.3rem!important}}.active{background-color:#002542;color:#fff;font-weight:600}.inactive{background-color:#f0f4f9;color:#64748b;font-weight:400;transition:background-color .3s ease}.inactive:hover{background-color:#a3a3a336;color:#47566b}.select-button-container{background-color:#f0f4f9;border:.5px solid #CBD5E1}\n"] }]
4979
5004
  }], propDecorators: { defaultValue: [{
4980
5005
  type: Input
4981
5006
  }], selectChange: [{