@libs-ui/components-inputs-password 0.2.127 → 0.2.128

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.
@@ -6,12 +6,12 @@ import { defaultConfig, defaultContentWhenHiddenOrShowPassword, defaultValidMinL
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@ngx-translate/core";
8
8
  export class LibsUiComponentsInputsPasswordComponent {
9
- /* PROPERTY */
9
+ // #region PROPERTY
10
10
  validStatus = signal(getValidStatus(false));
11
11
  validCharacters = signal(false);
12
12
  character = signal(getCharacter());
13
13
  inputValidFunctionControl = signal(undefined);
14
- /* INPUT */
14
+ // #region INPUT
15
15
  config = input(defaultConfig(), { transform: value => value ?? defaultConfig() });
16
16
  isPassword = input(false);
17
17
  readonly = input();
@@ -36,7 +36,7 @@ export class LibsUiComponentsInputsPasswordComponent {
36
36
  validPattern = input();
37
37
  defaultHeight = input();
38
38
  resetAutoCompletePassword = input();
39
- /* OUTPUT */
39
+ // #region OUTPUT
40
40
  outGeneratePassword = output();
41
41
  outClickIconRight = output();
42
42
  outValueChange = output();
@@ -183,4 +183,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
183
183
  LibsUiComponentsInputsValidComponent
184
184
  ], template: "<libs_ui-components-inputs-valid [(item)]=\"item\"\n [labelConfig]=\"labelConfig()\"\n [fieldNameBind]=\"fieldNameBind()\"\n [validRequired]=\"validRequired()\"\n [validMinLength]=\"validMinLength()\"\n [validPattern]=\"validPattern()\"\n [dataType]=\"'string'\"\n [hiddenContent]=\"hiddenContent()\"\n [iconRightClass]=\"iconRightClass()\"\n [iconLeftClass]=\"iconLeftClass()\"\n [popoverContentIconRight]=\"popoverContentIconRight()\"\n [maxLength]=\"maxLength()\"\n [readonly]=\"readonly()\"\n [defaultHeight]=\"defaultHeight()\"\n [classIncludeInput]=\"classIncludeInput()\"\n [ignoreWidthInput100]=\"ignoreWidthInput100()\"\n [popoverContentIconRight]=\"hiddenContent() ? contentPopoverOverlayIconShowOrHiddenPass().show : contentPopoverOverlayIconShowOrHiddenPass().hidden\"\n [placeholder]=\"placeholder()\"\n [unitsRight]=\"unitsRight()\"\n [configUnitRight]=\"configUnitRight()\"\n [keySelectedUnitRight]=\"keySelectedUnitRight()\"\n [zIndexPopoverContent]=\"zIndexPopoverOverlay()\"\n [resetAutoCompletePassword]=\"resetAutoCompletePassword()\"\n (outClickButtonLabel)=\"handlerGeneratePassword()\"\n (outValueChange)=\"handleValueChange($event)\"\n (outIconRight)=\"handleClickIconRight()\"\n (outFunctionsControl)=\"handlerFunctionControl($event)\" />\n<ng-content select=\".libs-ui-inputs-password-content-custom\"></ng-content>\n<div class=\"mt-[8px]\">\n <div class=\"flex items-center\"\n [class.text-[#00bc62]]=\"readonly() || validStatus().length_min\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validStatus().length_min\">\n <i class=\"text-[12px]\"\n [class.text-[#00bc62]]=\"readonly() || validStatus().length_min\"\n [class.libs-ui-icon-check-circle-solid]=\"readonly() || validStatus().length_min\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validStatus().length_min\"\n [class.libs-ui-icon-check-circle-outline]=\"!readonly() && !validStatus().length_min\"></i>\n <span class=\"libs-ui-font-h7r pl-[8px]\">{{ 'i18n_minimum_length_number' | translate:{number: config().length_min} }}</span>\n </div>\n <div class=\"pt-[4px] flex items-center\"\n [class.text-[#00bc62]]=\"readonly() || validStatus().length_max\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validStatus().length_max\">\n <i class=\" text-[12px]\"\n [class.text-[#00bc62]]=\"readonly() || validStatus().length_max\"\n [class.libs-ui-icon-check-circle-solid]=\"readonly() || validStatus().length_max\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validStatus().length_max\"\n [class.libs-ui-icon-check-circle-outline]=\"!readonly() && !validStatus().length_max\"></i>\n <span class=\"libs-ui-font-h7r pl-[8px]\">{{ 'i18n_maximum_length_number' | translate:{number: config().length_max} }}</span>\n </div>\n @if (config().uppercase || config().lowercase || config().number || config().symbol) {\n <div class=\"mt-[4px]\"\n [class.text-[#00bc62]]=\"readonly() || validCharacters()\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validCharacters()\">\n <div class=\"flex items-center\">\n <i class=\" text-[12px]\"\n [class.text-[#00bc62]]=\"readonly() || validCharacters()\"\n [class.libs-ui-icon-check-circle-solid]=\"readonly() || validCharacters()\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validCharacters()\"\n [class.libs-ui-icon-check-circle-outline]=\"!readonly() && !validCharacters()\"></i>\n @if (config().key === 'all') {\n <span class=\"libs-ui-font-h7r pl-[8px]\">{{ 'i18n_contains_all_types_of_characters_below' | translate }}</span>\n }\n @if (config().key !== 'all') {\n <span class=\"libs-ui-font-h7r pl-[8px]\">{{ 'i18n_contains_number_types_of_characters_below' | translate:{number: config().value} }}</span>\n }\n </div>\n @if (config().uppercase) {\n <div class=\"libs-ui-font-h7r pt-[4px] pl-[24px]\"\n [class.text-[#00bc62]]=\"readonly() || validStatus().upper\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validStatus().upper\">\n {{ 'i18n_uppercase_minimum' | translate :{number: config().uppercase} }}\n </div>\n }\n @if (config().lowercase) {\n <div class=\"libs-ui-font-h7r pt-[4px] pl-[24px]\"\n [class.text-[#00bc62]]=\"readonly() || validStatus().lower\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validStatus().lower\">\n {{ 'i18n_lowercase_minimum' | translate :{number: config().lowercase} }}\n </div>\n }\n @if (config().number) {\n <div class=\"libs-ui-font-h7r pt-[4px] pl-[24px]\"\n [class.text-[#00bc62]]=\"readonly() || validStatus().number\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validStatus().number\">\n {{ 'i18n_number_minimum' | translate :{number: config().number} }}\n </div>\n }\n @if (config().symbol) {\n <div class=\"libs-ui-font-h7r pt-[4px] pl-[24px]\"\n [class.text-[#00bc62]]=\"readonly() || validStatus().symbol\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validStatus().symbol\">\n {{ 'i18n_symbol_minimum' | translate :{number: config().symbol} }}\n </div>\n }\n </div>\n }\n</div>\n" }]
185
185
  }] });
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRzLXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9pbnB1dHMvcGFzc3dvcmQvc3JjL2lucHV0cy1wYXNzd29yZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvaW5wdXRzL3Bhc3N3b3JkL3NyYy9pbnB1dHMtcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUF1RyxvQ0FBb0MsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRTdMLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxzQ0FBc0MsRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQWFwSyxNQUFNLE9BQU8sdUNBQXVDO0lBRWxELGNBQWM7SUFDSixXQUFXLEdBQUcsTUFBTSxDQUFlLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzFELGVBQWUsR0FBRyxNQUFNLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFM0MsU0FBUyxHQUFHLE1BQU0sQ0FBYSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLHlCQUF5QixHQUFHLE1BQU0sQ0FBOEMsU0FBUyxDQUFDLENBQUM7SUFFbkcsV0FBVztJQUNGLE1BQU0sR0FBRyxLQUFLLENBQStCLGFBQWEsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FB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LENBQUMsTUFBTSxXQUN0Qzt3QkFDUCxlQUFlO3dCQUNmLG9DQUFvQztxQkFDckMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCwgbW9kZWwsIE9uSW5pdCwgb3V0cHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElJbnB1dFZhbGlkRnVuY3Rpb25Db250cm9sRXZlbnQsIElJbnB1dFZhbGlkVW5pdENvbmZpZywgSVZhbGlkTGVuZ3RoLCBJVmFsaWRQYXR0ZXJuLCBJVmFsaWRSZXF1aXJlZCwgTGlic1VpQ29tcG9uZW50c0lucHV0c1ZhbGlkQ29tcG9uZW50IH0gZnJvbSAnQGxpYnMtdWkvY29tcG9uZW50cy1pbnB1dHMtdmFsaWQnO1xuaW1wb3J0IHsgSUxhYmVsIH0gZnJvbSAnQGxpYnMtdWkvY29tcG9uZW50cy1sYWJlbCc7XG5pbXBvcnQgeyBzZXQgfSBmcm9tICdAbGlicy11aS91dGlscyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IElDaGFyYWN0ZXIsIElDb25maWcsIElDb250ZW50V2hlbkhpZGRlbk9yU2hvd1Bhc3N3b3JkLCBJVmFsaWRTdGF0dXMgfSBmcm9tICcuL2ludGVyZmFjZXMvcGFzc3dvcmQuaW50ZXJmYWNlJztcbmltcG9ydCB7IGRlZmF1bHRDb25maWcsIGRlZmF1bHRDb250ZW50V2hlbkhpZGRlbk9yU2hvd1Bhc3N3b3JkLCBkZWZhdWx0VmFsaWRNaW5MZW5ndGgsIGRlZmF1bHRWYWxpZFJlcXVpcmVkLCBnZXRDaGFyYWN0ZXIsIGdldFZhbGlkU3RhdHVzIH0gZnJvbSAnLi91dGlscy9wYXNzd29yZCc7XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2xpYnNfdWktY29tcG9uZW50cy1pbnB1dHMtcGFzc3dvcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXRzLXBhc3N3b3JkLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgTGlic1VpQ29tcG9uZW50c0lucHV0c1ZhbGlkQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTGlic1VpQ29tcG9uZW50c0lucHV0c1Bhc3N3b3JkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAvKiBQUk9QRVJUWSAqL1xuICBwcm90ZWN0ZWQgdmFsaWRTdGF0dXMgPSBzaWduYWw8SVZhbGlkU3RhdHVzPihnZXRWYWxpZFN0YXR1cyhmYWxzZSkpO1xuICBwcm90ZWN0ZWQgdmFsaWRDaGFyYWN0ZXJzID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcblxuICBwcml2YXRlIGNoYXJhY3RlciA9IHNpZ25hbDxJQ2hhcmFjdGVyPihnZXRDaGFyYWN0ZXIoKSk7XG4gIHByaXZhdGUgaW5wdXRWYWxpZEZ1bmN0aW9uQ29udHJvbCA9IHNpZ25hbDxJSW5wdXRWYWxpZEZ1bmN0aW9uQ29udHJvbEV2ZW50IHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gIC8qIElOUFVUICovXG4gIHJlYWRvbmx5IGNvbmZpZyA9IGlucHV0PElDb25maWcsIElDb25maWcgfCB1bmRlZmluZWQ+KGRlZmF1bHRDb25maWcoKSwgeyB0cmFuc2Zvcm06IHZhbHVlID0+IHZhbHVlID8/IGRlZmF1bHRDb25maWcoKSB9KTtcbiAgcmVhZG9ubHkgaXNQYXNzd29yZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgcmVhZG9ubHkgPSBpbnB1dDxib29sZWFuPigpO1xuICByZWFkb25seSBsYWJlbENvbmZpZyA9IGlucHV0PElMYWJlbD4oKTtcbiAgcmVhZG9ubHkgcGxhY2Vob2xkZXIgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IGljb25MZWZ0Q2xhc3MgPSBtb2RlbDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IGljb25SaWdodENsYXNzID0gbW9kZWw8c3RyaW5nPigpO1xuICByZWFkb25seSBwb3BvdmVyQ29udGVudEljb25SaWdodCA9IGlucHV0PHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgekluZGV4UG9wb3Zlck92ZXJsYXkgPSBpbnB1dDxudW1iZXI+KCk7XG4gIHJlYWRvbmx5IGl0ZW0gPSBtb2RlbC5yZXF1aXJlZDxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oe30pO1xuICByZWFkb25seSBmaWVsZE5hbWVCaW5kID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICByZWFkb25seSBoaWRkZW5Db250ZW50ID0gbW9kZWw8Ym9vbGVhbj4oKTsgLy8gc+G7rSBk4bulbmcgxJHhu4Mgc2V0IHR5cGUgY2hvIGlucHV0IGThuqFuZyB0ZXh0IGhheSBwYXNzd29yZFxuICByZWFkb25seSB1bml0c1JpZ2h0ID0gaW5wdXQ8QXJyYXk8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+PigpO1xuICByZWFkb25seSBjb25maWdVbml0UmlnaHQgPSBpbnB1dDxJSW5wdXRWYWxpZFVuaXRDb25maWc+KCk7XG4gIHJlYWRvbmx5IGtleVNlbGVjdGVkVW5pdFJpZ2h0ID0gaW5wdXQ8dW5rbm93bj4oKTtcbiAgcmVhZG9ubHkgY2xhc3NJbmNsdWRlSW5wdXQgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IGlnbm9yZVdpZHRoSW5wdXQxMDAgPSBpbnB1dDxib29sZWFuPigpO1xuICByZWFkb25seSBjb250ZW50UG9wb3Zlck92ZXJsYXlJY29uU2hvd09ySGlkZGVuUGFzcyA9IGlucHV0PElDb250ZW50V2hlbkhpZGRlbk9yU2hvd1Bhc3N3b3JkLCBJQ29udGVudFdoZW5IaWRkZW5PclNob3dQYXNzd29yZCB8IHVuZGVmaW5lZD4oZGVmYXVsdENvbnRlbnRXaGVuSGlkZGVuT3JTaG93UGFzc3dvcmQoKSwgeyB0cmFuc2Zvcm06IHZhbHVlID0+IHZhbHVlID8/IGRlZmF1bHRDb250ZW50V2hlbkhpZGRlbk9yU2hvd1Bhc3N3b3JkKCkgfSk7XG4gIHJlYWRvbmx5IG1heExlbmd0aCA9IGlucHV0PG51bWJlcj4oMjApO1xuICByZWFkb25seSB2YWxpZFJlcXVpcmVkID0gaW5wdXQ8SVZhbGlkUmVxdWlyZWQsIElWYWxpZFJlcXVpcmVkIHwgdW5kZWZpbmVkPihkZWZhdWx0VmFsaWRSZXF1aXJlZCgpLCB7IHRyYW5zZm9ybTogdmFsdWUgPT4gdmFsdWUgPz8gZGVmYXVsdFZhbGlkUmVxdWlyZWQoKSB9KTtcbiAgcmVhZG9ubHkgdmFsaWRNaW5MZW5ndGggPSBpbnB1dDxJVmFsaWRMZW5ndGgsIElWYWxpZExlbmd0aCB8IHVuZGVmaW5lZD4oZGVmYXVsdFZhbGlkTWluTGVuZ3RoKCksIHsgdHJhbnNmb3JtOiB2YWx1ZSA9PiB2YWx1ZSA/PyBkZWZhdWx0VmFsaWRNaW5MZW5ndGgoKSB9KTtcbiAgcmVhZG9ubHkgdmFsaWRQYXR0ZXJuID0gaW5wdXQ8QXJyYXk8SVZhbGlkUGF0dGVybj4+KCk7XG4gIHJlYWRvbmx5IGRlZmF1bHRIZWlnaHQgPSBpbnB1dDxudW1iZXI+KCk7XG4gIHJlYWRvbmx5IHJlc2V0QXV0b0NvbXBsZXRlUGFzc3dvcmQgPSBpbnB1dDxib29sZWFuPigpO1xuXG4gIC8qIE9VVFBVVCAqL1xuICByZWFkb25seSBvdXRHZW5lcmF0ZVBhc3N3b3JkID0gb3V0cHV0PHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgb3V0Q2xpY2tJY29uUmlnaHQgPSBvdXRwdXQ8dm9pZD4oKTtcbiAgcmVhZG9ubHkgb3V0VmFsdWVDaGFuZ2UgPSBvdXRwdXQ8c3RyaW5nIHwgbnVtYmVyPigpO1xuICByZWFkb25seSBvdXRGdW5jdGlvbnNDb250cm9sID0gb3V0cHV0PElJbnB1dFZhbGlkRnVuY3Rpb25Db250cm9sRXZlbnQ+KCk7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuaXNQYXNzd29yZCgpKSB7XG4gICAgICB0aGlzLmljb25SaWdodENsYXNzLnNldCgnbGlicy11aS1pY29uLWV5ZS1zb2xpZCBob3Zlcjp0ZXh0LVt2YXIoLS1saWJzLXVpLWNvbG9yLWRlZmF1bHQpXSB0ZXh0LVsxNnB4XSBjdXJzb3ItcG9pbnRlciB0ZXh0LVsjNmE3MzgzXScpO1xuICAgIH1cbiAgfVxuXG4gIC8qIEZVTkNUSU9OUyAqL1xuICBwcml2YXRlIGFzeW5jIHNldFZhbGlkU3RhdHVzKHN0YXR1czogYm9vbGVhbikge1xuICAgIHRoaXMudmFsaWRDaGFyYWN0ZXJzLnNldChzdGF0dXMpO1xuICAgIHRoaXMudmFsaWRTdGF0dXMuc2V0KGdldFZhbGlkU3RhdHVzKHN0YXR1cykpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZXJGdW5jdGlvbkNvbnRyb2woZXZlbnQ6IElJbnB1dFZhbGlkRnVuY3Rpb25Db250cm9sRXZlbnQpIHtcbiAgICB0aGlzLmlucHV0VmFsaWRGdW5jdGlvbkNvbnRyb2wuc2V0KGV2ZW50KTtcbiAgICB0aGlzLm91dEZ1bmN0aW9uc0NvbnRyb2wuZW1pdCh7IC4uLmV2ZW50LCBjaGVja0lzVmFsaWQ6IGFzeW5jICgpID0+IGF3YWl0IGV2ZW50LmNoZWNrSXNWYWxpZCgpICYmIGF3YWl0IHRoaXMuY2hlY2tWYWxpZCgpIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZVZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICB0aGlzLmNoZWNrVmFsaWQoKTtcbiAgICB0aGlzLm91dFZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGNoZWNrVmFsaWQoKSB7XG4gICAgY29uc3QgcGFzc3dvcmQgPSB0aGlzLml0ZW0oKVt0aGlzLmZpZWxkTmFtZUJpbmQoKV0gYXMgc3RyaW5nO1xuICAgIHRoaXMuc2V0VmFsaWRTdGF0dXMoZmFsc2UpO1xuICAgIGlmICghcGFzc3dvcmQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBjb25zdCBsZW5ndGggPSBwYXNzd29yZC5sZW5ndGg7XG4gICAgaWYgKGxlbmd0aCA+IHRoaXMuY29uZmlnKCkubGVuZ3RoX21heCkge1xuICAgICAgdGhpcy52YWxpZFN0YXR1cygpLmxlbmd0aF9tYXggPSBmYWxzZTtcbiAgICB9XG4gICAgaWYgKGxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMudmFsaWRTdGF0dXMoKS5sZW5ndGhfbWF4ID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKGxlbmd0aCA+PSB0aGlzLmNvbmZpZygpLmxlbmd0aF9taW4pIHtcbiAgICAgIHRoaXMudmFsaWRTdGF0dXMoKS5sZW5ndGhfbWluID0gdHJ1ZTtcbiAgICB9XG4gICAgbGV0IHN5bWJvbCA9IDAsIG51bWJlciA9IDAsIHVwcGVyID0gMCwgbG93ZXIgPSAwLCB0b3RhbCA9IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgaWYgKHRoaXMuY2hhcmFjdGVyKCkubnVtYmVyQ2hhcmFjdGVyLmluY2x1ZGVzKHBhc3N3b3JkLmNoYXJBdChpKSkpIHsgbnVtYmVyKysgfVxuICAgICAgaWYgKHRoaXMuY2hhcmFjdGVyKCkudXBwZXJDaGFyYWN0ZXIuaW5jbHVkZXMocGFzc3dvcmQuY2hhckF0KGkpKSkgeyB1cHBlcisrIH1cbiAgICAgIGlmICh0aGlzLmNoYXJhY3RlcigpLmxvd2VyQ2hhcmFjdGVyLmluY2x1ZGVzKHBhc3N3b3JkLmNoYXJBdChpKSkpIHsgbG93ZXIrKyB9XG4gICAgICBpZiAodGhpcy5jaGFyYWN0ZXIoKS5zcGVjaWFsQ2hhcmFjdGVyLmluY2x1ZGVzKHBhc3N3b3JkLmNoYXJBdChpKSkpIHsgc3ltYm9sKysgfVxuICAgIH1cbiAgICBpZiAobnVtYmVyID49IHRoaXMuY29uZmlnKCkubnVtYmVyIHx8ICF0aGlzLmNvbmZpZygpLm51bWJlcikge1xuICAgICAgdGhpcy52YWxpZFN0YXR1cygpLm51bWJlciA9IHRydWU7XG4gICAgICBpZiAodGhpcy5jb25maWcoKS5udW1iZXIpIHtcbiAgICAgICAgdG90YWwrKztcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHVwcGVyID49IHRoaXMuY29uZmlnKCkudXBwZXJjYXNlIHx8ICF0aGlzLmNvbmZpZygpLnVwcGVyY2FzZSkge1xuICAgICAgdGhpcy52YWxpZFN0YXR1cygpLnVwcGVyID0gdHJ1ZTtcbiAgICAgIGlmICh0aGlzLmNvbmZpZygpLnVwcGVyY2FzZSkge1xuICAgICAgICB0b3RhbCsrO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAobG93ZXIgPj0gdGhpcy5jb25maWcoKS5sb3dlcmNhc2UgfHwgIXRoaXMuY29uZmlnKCkubG93ZXJjYXNlKSB7XG4gICAgICB0aGlzLnZhbGlkU3RhdHVzKCkubG93ZXIgPSB0cnVlO1xuICAgICAgaWYgKHRoaXMuY29uZmlnKCkubG93ZXJjYXNlKSB7XG4gICAgICAgIHRvdGFsKys7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChzeW1ib2wgPj0gdGhpcy5jb25maWcoKS5zeW1ib2wgfHwgIXRoaXMuY29uZmlnKCkuc3ltYm9sKSB7XG4gICAgICB0aGlzLnZhbGlkU3RhdHVzKCkuc3ltYm9sID0gdHJ1ZTtcbiAgICAgIGlmICh0aGlzLmNvbmZpZygpLnN5bWJvbCkge1xuICAgICAgICB0b3RhbCsrO1xuICAgICAgfVxuICAgIH1cbiAgICBzd2l0Y2ggKHRoaXMuY29uZmlnKCkua2V5KSB7XG4gICAgICBjYXNlICdhbGwnOlxuICAgICAgICBpZiAodGhpcy52YWxpZFN0YXR1cygpLnN5bWJvbCAmJiB0aGlzLnZhbGlkU3RhdHVzKCkubG93ZXIgJiYgdGhpcy52YWxpZFN0YXR1cygpLnVwcGVyICYmIHRoaXMudmFsaWRTdGF0dXMoKS5udW1iZXIpIHtcbiAgICAgICAgICB0aGlzLnZhbGlkQ2hhcmFjdGVycy5zZXQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBpZiAodG90YWwgPj0gK3RoaXMuY29uZmlnKCkudmFsdWUpIHtcbiAgICAgICAgICB0aGlzLnZhbGlkQ2hhcmFjdGVycy5zZXQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGlmICghdGhpcy52YWxpZENoYXJhY3RlcnMoKSB8fCAhdGhpcy52YWxpZFN0YXR1cygpLmxlbmd0aF9taW4gfHwgIXRoaXMudmFsaWRTdGF0dXMoKS5sZW5ndGhfbWF4KSB7XG4gICAgICB0aGlzLnZhbGlkU3RhdHVzLnVwZGF0ZSh2YWx1ZSA9PiAoeyAuLi52YWx1ZSB9KSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMudmFsaWRTdGF0dXMudXBkYXRlKHZhbHVlID0+ICh7IC4uLnZhbHVlIH0pKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVDbGlja0ljb25SaWdodCgpIHtcbiAgICB0aGlzLm91dENsaWNrSWNvblJpZ2h0LmVtaXQoKTtcbiAgICBpZiAodGhpcy5pc1Bhc3N3b3JkKCkpIHtcbiAgICAgIHRoaXMuaGlkZGVuQ29udGVudC51cGRhdGUodmFsdWUgPT4gIXZhbHVlKTtcbiAgICAgIGlmICghdGhpcy5oaWRkZW5Db250ZW50KCkpIHtcbiAgICAgICAgdGhpcy5pY29uUmlnaHRDbGFzcy5zZXQoJ2xpYnMtdWktaWNvbi1leWUtc2xhc2gtc29saWQgaG92ZXI6dGV4dC1bdmFyKC0tbGlicy11aS1jb2xvci1kZWZhdWx0KV0gdGV4dC1bMTZweF0gY3Vyc29yLXBvaW50ZXIgdGV4dC1bIzZhNzM4M10nKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5pY29uUmlnaHRDbGFzcy5zZXQoJ2xpYnMtdWktaWNvbi1leWUtc29saWQgaG92ZXI6dGV4dC1bdmFyKC0tbGlicy11aS1jb2xvci1kZWZhdWx0KV0gdGV4dC1bMTZweF0gY3Vyc29yLXBvaW50ZXIgdGV4dC1bIzZhNzM4M10nKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlckdlbmVyYXRlUGFzc3dvcmQoKSB7XG4gICAgY29uc3Qgd29yZHM6IEFycmF5PHN0cmluZz4gPSBbXTtcbiAgICBpZiAodGhpcy5jb25maWcoKS5udW1iZXIpIHtcbiAgICAgIHRoaXMucmFuZG9tSW5kZXgodGhpcy5jb25maWcoKS5udW1iZXIsIHRoaXMuY2hhcmFjdGVyKCkubnVtYmVyQ2hhcmFjdGVyLCB3b3Jkcyk7XG4gICAgfVxuICAgIGlmICh0aGlzLmNvbmZpZygpLnVwcGVyY2FzZSkge1xuICAgICAgdGhpcy5yYW5kb21JbmRleCh0aGlzLmNvbmZpZygpLnVwcGVyY2FzZSwgdGhpcy5jaGFyYWN0ZXIoKS51cHBlckNoYXJhY3Rlciwgd29yZHMpO1xuICAgIH1cbiAgICBpZiAodGhpcy5jb25maWcoKS5sb3dlcmNhc2UpIHtcbiAgICAgIHRoaXMucmFuZG9tSW5kZXgodGhpcy5jb25maWcoKS5sb3dlcmNhc2UsIHRoaXMuY2hhcmFjdGVyKCkubG93ZXJDaGFyYWN0ZXIsIHdvcmRzKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuY29uZmlnKCkuc3ltYm9sKSB7XG4gICAgICB0aGlzLnJhbmRvbUluZGV4KHRoaXMuY29uZmlnKCkuc3ltYm9sLCB0aGlzLmNoYXJhY3RlcigpLnNwZWNpYWxDaGFyYWN0ZXIsIHdvcmRzKTtcbiAgICB9XG4gICAgY29uc3QgbGVuZ3RoID0gKCt0aGlzLmNvbmZpZygpLmxlbmd0aF9taW4gKyBNYXRoLmZsb29yKCgrdGhpcy5jb25maWcoKS5sZW5ndGhfbWF4IC0gK3RoaXMuY29uZmlnKCkubGVuZ3RoX21pbikgLyAyKSkgLSB3b3Jkcy5sZW5ndGg7XG4gICAgaWYgKGxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMucmFuZG9tSW5kZXgobGVuZ3RoLCB0aGlzLmNoYXJhY3RlcigpLmxvd2VyQ2hhcmFjdGVyLCB3b3Jkcyk7XG4gICAgfVxuICAgIHNldCh0aGlzLml0ZW0sIHRoaXMuZmllbGROYW1lQmluZCgpLCB3b3Jkcy5qb2luKCcnKSk7XG4gICAgdGhpcy5pbnB1dFZhbGlkRnVuY3Rpb25Db250cm9sKCk/LmNoZWNrSXNWYWxpZCgpO1xuICAgIHRoaXMub3V0R2VuZXJhdGVQYXNzd29yZC5lbWl0KHdvcmRzLmpvaW4oJycpKTtcbiAgICB0aGlzLnNldFZhbGlkU3RhdHVzKHRydWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIHJhbmRvbUluZGV4KG51bWJlcjogbnVtYmVyLCBjaGFyYWN0ZXI6IHN0cmluZywgd29yZHM6IEFycmF5PHN0cmluZz4pIHtcbiAgICBmb3IgKGxldCBpID0gMTsgaSA8PSBudW1iZXI7IGkrKykge1xuICAgICAgY29uc3QgcmFuZG9tSW5kZXggPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaGFyYWN0ZXIubGVuZ3RoKTtcbiAgICAgIHdvcmRzLnB1c2goY2hhcmFjdGVyW3JhbmRvbUluZGV4XSk7XG4gICAgfVxuICB9XG5cbn1cbiIsIjxsaWJzX3VpLWNvbXBvbmVudHMtaW5wdXRzLXZhbGlkIFsoaXRlbSldPVwiaXRlbVwiXG4gIFtsYWJlbENvbmZpZ109XCJsYWJlbENvbmZpZygpXCJcbiAgW2ZpZWxkTmFtZUJpbmRdPVwiZmllbGROYW1lQmluZCgpXCJcbiAgW3ZhbGlkUmVxdWlyZWRdPVwidmFsaWRSZXF1aXJlZCgpXCJcbiAgW3ZhbGlkTWluTGVuZ3RoXT1cInZhbGlkTWluTGVuZ3RoKClcIlxuICBbdmFsaWRQYXR0ZXJuXT1cInZhbGlkUGF0dGVybigpXCJcbiAgW2RhdGFUeXBlXT1cIidzdHJpbmcnXCJcbiAgW2hpZGRlbkNvbnRlbnRdPVwiaGlkZGVuQ29udGVudCgpXCJcbiAgW2ljb25SaWdodENsYXNzXT1cImljb25SaWdodENsYXNzKClcIlxuICBbaWNvbkxlZnRDbGFzc109XCJpY29uTGVmdENsYXNzKClcIlxuICBbcG9wb3ZlckNvbnRlbnRJY29uUmlnaHRdPVwicG9wb3ZlckNvbnRlbnRJY29uUmlnaHQoKVwiXG4gIFttYXhMZW5ndGhdPVwibWF4TGVuZ3RoKClcIlxuICBbcmVhZG9ubHldPVwicmVhZG9ubHkoKVwiXG4gIFtkZWZhdWx0SGVpZ2h0XT1cImRlZmF1bHRIZWlnaHQoKVwiXG4gIFtjbGFzc0luY2x1ZGVJbnB1dF09XCJjbGFzc0luY2x1ZGVJbnB1dCgpXCJcbiAgW2lnbm9yZVdpZHRoSW5wdXQxMDBdPVwiaWdub3JlV2lkdGhJbnB1dDEwMCgpXCJcbiAgW3BvcG92ZXJDb250ZW50SWNvblJpZ2h0XT1cImhpZGRlbkNvbnRlbnQoKSA/IGNvbnRlbnRQb3BvdmVyT3ZlcmxheUljb25TaG93T3JIaWRkZW5QYXNzKCkuc2hvdyA6IGNvbnRlbnRQb3BvdmVyT3ZlcmxheUljb25TaG93T3JIaWRkZW5QYXNzKCkuaGlkZGVuXCJcbiAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyKClcIlxuICBbdW5pdHNSaWdodF09XCJ1bml0c1JpZ2h0KClcIlxuICBbY29uZmlnVW5pdFJpZ2h0XT1cImNvbmZpZ1VuaXRSaWdodCgpXCJcbiAgW2tleVNlbGVjdGVkVW5pdFJpZ2h0XT1cImtleVNlbGVjdGVkVW5pdFJpZ2h0KClcIlxuICBbekluZGV4UG9wb3ZlckNvbnRlbnRdPVwiekluZGV4UG9wb3Zlck92ZXJsYXkoKVwiXG4gIFtyZXNldEF1dG9Db21wbGV0ZVBhc3N3b3JkXT1cInJlc2V0QXV0b0NvbXBsZXRlUGFzc3dvcmQoKVwiXG4gIChvdXRDbGlja0J1dHRvbkxhYmVsKT1cImhhbmRsZXJHZW5lcmF0ZVBhc3N3b3JkKClcIlxuICAob3V0VmFsdWVDaGFuZ2UpPVwiaGFuZGxlVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gIChvdXRJY29uUmlnaHQpPVwiaGFuZGxlQ2xpY2tJY29uUmlnaHQoKVwiXG4gIChvdXRGdW5jdGlvbnNDb250cm9sKT1cImhhbmRsZXJGdW5jdGlvbkNvbnRyb2woJGV2ZW50KVwiIC8+XG48bmctY29udGVudCBzZWxlY3Q9XCIubGlicy11aS1pbnB1dHMtcGFzc3dvcmQtY29udGVudC1jdXN0b21cIj48L25nLWNvbnRlbnQ+XG48ZGl2IGNsYXNzPVwibXQtWzhweF1cIj5cbiAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCJcbiAgICBbY2xhc3MudGV4dC1bIzAwYmM2Ml1dPVwicmVhZG9ubHkoKSB8fCB2YWxpZFN0YXR1cygpLmxlbmd0aF9taW5cIlxuICAgIFtjbGFzcy50ZXh0LVsjOWNhMmFkXV09XCIhcmVhZG9ubHkoKSAmJiAhdmFsaWRTdGF0dXMoKS5sZW5ndGhfbWluXCI+XG4gICAgPGkgY2xhc3M9XCJ0ZXh0LVsxMnB4XVwiXG4gICAgICBbY2xhc3MudGV4dC1bIzAwYmM2Ml1dPVwicmVhZG9ubHkoKSB8fCB2YWxpZFN0YXR1cygpLmxlbmd0aF9taW5cIlxuICAgICAgW2NsYXNzLmxpYnMtdWktaWNvbi1jaGVjay1jaXJjbGUtc29saWRdPVwicmVhZG9ubHkoKSB8fCB2YWxpZFN0YXR1cygpLmxlbmd0aF9taW5cIlxuICAgICAgW2NsYXNzLnRleHQtWyM5Y2EyYWRdXT1cIiFyZWFkb25seSgpICYmICF2YWxpZFN0YXR1cygpLmxlbmd0aF9taW5cIlxuICAgICAgW2NsYXNzLmxpYnMtdWktaWNvbi1jaGVjay1jaXJjbGUtb3V0bGluZV09XCIhcmVhZG9ubHkoKSAmJiAhdmFsaWRTdGF0dXMoKS5sZW5ndGhfbWluXCI+PC9pPlxuICAgIDxzcGFuIGNsYXNzPVwibGlicy11aS1mb250LWg3ciBwbC1bOHB4XVwiPnt7ICdpMThuX21pbmltdW1fbGVuZ3RoX251bWJlcicgfCB0cmFuc2xhdGU6e251bWJlcjogY29uZmlnKCkubGVuZ3RoX21pbn0gfX08L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicHQtWzRweF0gZmxleCBpdGVtcy1jZW50ZXJcIlxuICAgIFtjbGFzcy50ZXh0LVsjMDBiYzYyXV09XCJyZWFkb25seSgpIHx8IHZhbGlkU3RhdHVzKCkubGVuZ3RoX21heFwiXG4gICAgW2NsYXNzLnRleHQtWyM5Y2EyYWRdXT1cIiFyZWFkb25seSgpICYmICF2YWxpZFN0YXR1cygpLmxlbmd0aF9tYXhcIj5cbiAgICA8aSBjbGFzcz1cIiB0ZXh0LVsxMnB4XVwiXG4gICAgICBbY2xhc3MudGV4dC1bIzAwYmM2Ml1dPVwicmVhZG9ubHkoKSB8fCB2YWxpZFN0YXR1cygpLmxlbmd0aF9tYXhcIlxuICAgICAgW2NsYXNzLmxpYnMtdWktaWNvbi1jaGVjay1jaXJjbGUtc29saWRdPVwicmVhZG9ubHkoKSB8fCB2YWxpZFN0YXR1cygpLmxlbmd0aF9tYXhcIlxuICAgICAgW2NsYXNzLnRleHQtWyM5Y2EyYWRdXT1cIiFyZWFkb25seSgpICYmICF2YWxpZFN0YXR1cygpLmxlbmd0aF9tYXhcIlxuICAgICAgW2NsYXNzLmxpYnMtdWktaWNvbi1jaGVjay1jaXJjbGUtb3V0bGluZV09XCIhcmVhZG9ubHkoKSAmJiAhdmFsaWRTdGF0dXMoKS5sZW5ndGhfbWF4XCI+PC9pPlxuICAgIDxzcGFuIGNsYXNzPVwibGlicy11aS1mb250LWg3ciBwbC1bOHB4XVwiPnt7ICdpMThuX21heGltdW1fbGVuZ3RoX251bWJlcicgfCB0cmFuc2xhdGU6e251bWJlcjogY29uZmlnKCkubGVuZ3RoX21heH0gfX08L3NwYW4+XG4gIDwvZGl2PlxuICBAaWYgKGNvbmZpZygpLnVwcGVyY2FzZSB8fCBjb25maWcoKS5sb3dlcmNhc2UgfHwgY29uZmlnKCkubnVtYmVyIHx8IGNvbmZpZygpLnN5bWJvbCkge1xuICAgIDxkaXYgY2xhc3M9XCJtdC1bNHB4XVwiXG4gICAgICBbY2xhc3MudGV4dC1bIzAwYmM2Ml1dPVwicmVhZG9ubHkoKSB8fCB2YWxpZENoYXJhY3RlcnMoKVwiXG4gICAgICBbY2xhc3MudGV4dC1bIzljYTJhZF1dPVwiIXJlYWRvbmx5KCkgJiYgIXZhbGlkQ2hhcmFjdGVycygpXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPGkgY2xhc3M9XCIgdGV4dC1bMTJweF1cIlxuICAgICAgICAgIFtjbGFzcy50ZXh0LVsjMDBiYzYyXV09XCJyZWFkb25seSgpIHx8IHZhbGlkQ2hhcmFjdGVycygpXCJcbiAgICAgICAgICBbY2xhc3MubGlicy11aS1pY29uLWNoZWNrLWNpcmNsZS1zb2xpZF09XCJyZWFkb25seSgpIHx8IHZhbGlkQ2hhcmFjdGVycygpXCJcbiAgICAgICAgICBbY2xhc3MudGV4dC1bIzljYTJhZF1dPVwiIXJlYWRvbmx5KCkgJiYgIXZhbGlkQ2hhcmFjdGVycygpXCJcbiAgICAgICAgICBbY2xhc3MubGlicy11aS1pY29uLWNoZWNrLWNpcmNsZS1vdXRsaW5lXT1cIiFyZWFkb25seSgpICYmICF2YWxpZENoYXJhY3RlcnMoKVwiPjwvaT5cbiAgICAgICAgQGlmIChjb25maWcoKS5rZXkgPT09ICdhbGwnKSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJsaWJzLXVpLWZvbnQtaDdyIHBsLVs4cHhdXCI+e3sgJ2kxOG5fY29udGFpbnNfYWxsX3R5cGVzX29mX2NoYXJhY3RlcnNfYmVsb3cnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoY29uZmlnKCkua2V5ICE9PSAnYWxsJykge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGlicy11aS1mb250LWg3ciBwbC1bOHB4XVwiPnt7ICdpMThuX2NvbnRhaW5zX251bWJlcl90eXBlc19vZl9jaGFyYWN0ZXJzX2JlbG93JyB8IHRyYW5zbGF0ZTp7bnVtYmVyOiBjb25maWcoKS52YWx1ZX0gfX08L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgICAgQGlmIChjb25maWcoKS51cHBlcmNhc2UpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImxpYnMtdWktZm9udC1oN3IgcHQtWzRweF0gcGwtWzI0cHhdXCJcbiAgICAgICAgICBbY2xhc3MudGV4dC1bIzAwYmM2Ml1dPVwicmVhZG9ubHkoKSB8fCB2YWxpZFN0YXR1cygpLnVwcGVyXCJcbiAgICAgICAgICBbY2xhc3MudGV4dC1bIzljYTJhZF1dPVwiIXJlYWRvbmx5KCkgJiYgIXZhbGlkU3RhdHVzKCkudXBwZXJcIj5cbiAgICAgICAgICB7eyAnaTE4bl91cHBlcmNhc2VfbWluaW11bScgfCB0cmFuc2xhdGUgOntudW1iZXI6IGNvbmZpZygpLnVwcGVyY2FzZX0gfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgICBAaWYgKGNvbmZpZygpLmxvd2VyY2FzZSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwibGlicy11aS1mb250LWg3ciBwdC1bNHB4XSBwbC1bMjRweF1cIlxuICAgICAgICAgIFtjbGFzcy50ZXh0LVsjMDBiYzYyXV09XCJyZWFkb25seSgpIHx8IHZhbGlkU3RhdHVzKCkubG93ZXJcIlxuICAgICAgICAgIFtjbGFzcy50ZXh0LVsjOWNhMmFkXV09XCIhcmVhZG9ubHkoKSAmJiAhdmFsaWRTdGF0dXMoKS5sb3dlclwiPlxuICAgICAgICAgIHt7ICdpMThuX2xvd2VyY2FzZV9taW5pbXVtJyB8IHRyYW5zbGF0ZSA6e251bWJlcjogY29uZmlnKCkubG93ZXJjYXNlfSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICAgIEBpZiAoY29uZmlnKCkubnVtYmVyKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsaWJzLXVpLWZvbnQtaDdyIHB0LVs0cHhdIHBsLVsyNHB4XVwiXG4gICAgICAgICAgW2NsYXNzLnRleHQtWyMwMGJjNjJdXT1cInJlYWRvbmx5KCkgfHwgdmFsaWRTdGF0dXMoKS5udW1iZXJcIlxuICAgICAgICAgIFtjbGFzcy50ZXh0LVsjOWNhMmFkXV09XCIhcmVhZG9ubHkoKSAmJiAhdmFsaWRTdGF0dXMoKS5udW1iZXJcIj5cbiAgICAgICAgICB7eyAnaTE4bl9udW1iZXJfbWluaW11bScgfCB0cmFuc2xhdGUgOntudW1iZXI6IGNvbmZpZygpLm51bWJlcn0gfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgICBAaWYgKGNvbmZpZygpLnN5bWJvbCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwibGlicy11aS1mb250LWg3ciBwdC1bNHB4XSBwbC1bMjRweF1cIlxuICAgICAgICAgIFtjbGFzcy50ZXh0LVsjMDBiYzYyXV09XCJyZWFkb25seSgpIHx8IHZhbGlkU3RhdHVzKCkuc3ltYm9sXCJcbiAgICAgICAgICBbY2xhc3MudGV4dC1bIzljYTJhZF1dPVwiIXJlYWRvbmx5KCkgJiYgIXZhbGlkU3RhdHVzKCkuc3ltYm9sXCI+XG4gICAgICAgICAge3sgJ2kxOG5fc3ltYm9sX21pbmltdW0nIHwgdHJhbnNsYXRlIDp7bnVtYmVyOiBjb25maWcoKS5zeW1ib2x9IH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cbiJdfQ==
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRzLXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9pbnB1dHMvcGFzc3dvcmQvc3JjL2lucHV0cy1wYXNzd29yZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvaW5wdXRzL3Bhc3N3b3JkL3NyYy9pbnB1dHMtcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUF1RyxvQ0FBb0MsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRTdMLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxzQ0FBc0MsRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQWFwSyxNQUFNLE9BQU8sdUNBQXVDO0lBRWxELG1CQUFtQjtJQUNULFdBQVcsR0FBRyxNQUFNLENBQWUsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDMUQsZUFBZSxHQUFHLE1BQU0sQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUUzQyxTQUFTLEdBQUcsTUFBTSxDQUFhLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDL0MseUJBQXlCLEdBQUcsTUFBTSxDQUE4QyxTQUFTLENBQUMsQ0FBQztJQUVuRyxnQkFBZ0I7SUFDUCxNQUFNLEdBQUcsS0FBSyxDQUErQixhQUFhLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFL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dUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDUCxlQUFlO3dCQUNmLG9DQUFvQztxQkFDckMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCwgbW9kZWwsIE9uSW5pdCwgb3V0cHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElJbnB1dFZhbGlkRnVuY3Rpb25Db250cm9sRXZlbnQsIElJbnB1dFZhbGlkVW5pdENvbmZpZywgSVZhbGlkTGVuZ3RoLCBJVmFsaWRQYXR0ZXJuLCBJVmFsaWRSZXF1aXJlZCwgTGlic1VpQ29tcG9uZW50c0lucHV0c1ZhbGlkQ29tcG9uZW50IH0gZnJvbSAnQGxpYnMtdWkvY29tcG9uZW50cy1pbnB1dHMtdmFsaWQnO1xuaW1wb3J0IHsgSUxhYmVsIH0gZnJvbSAnQGxpYnMtdWkvY29tcG9uZW50cy1sYWJlbCc7XG5pbXBvcnQgeyBzZXQgfSBmcm9tICdAbGlicy11aS91dGlscyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IElDaGFyYWN0ZXIsIElDb25maWcsIElDb250ZW50V2hlbkhpZGRlbk9yU2hvd1Bhc3N3b3JkLCBJVmFsaWRTdGF0dXMgfSBmcm9tICcuL2ludGVyZmFjZXMvcGFzc3dvcmQuaW50ZXJmYWNlJztcbmltcG9ydCB7IGRlZmF1bHRDb25maWcsIGRlZmF1bHRDb250ZW50V2hlbkhpZGRlbk9yU2hvd1Bhc3N3b3JkLCBkZWZhdWx0VmFsaWRNaW5MZW5ndGgsIGRlZmF1bHRWYWxpZFJlcXVpcmVkLCBnZXRDaGFyYWN0ZXIsIGdldFZhbGlkU3RhdHVzIH0gZnJvbSAnLi91dGlscy9wYXNzd29yZCc7XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2xpYnNfdWktY29tcG9uZW50cy1pbnB1dHMtcGFzc3dvcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXRzLXBhc3N3b3JkLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgTGlic1VpQ29tcG9uZW50c0lucHV0c1ZhbGlkQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTGlic1VpQ29tcG9uZW50c0lucHV0c1Bhc3N3b3JkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAvLyAjcmVnaW9uIFBST1BFUlRZXG4gIHByb3RlY3RlZCB2YWxpZFN0YXR1cyA9IHNpZ25hbDxJVmFsaWRTdGF0dXM+KGdldFZhbGlkU3RhdHVzKGZhbHNlKSk7XG4gIHByb3RlY3RlZCB2YWxpZENoYXJhY3RlcnMgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHByaXZhdGUgY2hhcmFjdGVyID0gc2lnbmFsPElDaGFyYWN0ZXI+KGdldENoYXJhY3RlcigpKTtcbiAgcHJpdmF0ZSBpbnB1dFZhbGlkRnVuY3Rpb25Db250cm9sID0gc2lnbmFsPElJbnB1dFZhbGlkRnVuY3Rpb25Db250cm9sRXZlbnQgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgLy8gI3JlZ2lvbiBJTlBVVFxuICByZWFkb25seSBjb25maWcgPSBpbnB1dDxJQ29uZmlnLCBJQ29uZmlnIHwgdW5kZWZpbmVkPihkZWZhdWx0Q29uZmlnKCksIHsgdHJhbnNmb3JtOiB2YWx1ZSA9PiB2YWx1ZSA/PyBkZWZhdWx0Q29uZmlnKCkgfSk7XG4gIHJlYWRvbmx5IGlzUGFzc3dvcmQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IHJlYWRvbmx5ID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgcmVhZG9ubHkgbGFiZWxDb25maWcgPSBpbnB1dDxJTGFiZWw+KCk7XG4gIHJlYWRvbmx5IHBsYWNlaG9sZGVyID0gaW5wdXQ8c3RyaW5nPigpO1xuICByZWFkb25seSBpY29uTGVmdENsYXNzID0gbW9kZWw8c3RyaW5nPigpO1xuICByZWFkb25seSBpY29uUmlnaHRDbGFzcyA9IG1vZGVsPHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgcG9wb3ZlckNvbnRlbnRJY29uUmlnaHQgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IHpJbmRleFBvcG92ZXJPdmVybGF5ID0gaW5wdXQ8bnVtYmVyPigpO1xuICByZWFkb25seSBpdGVtID0gbW9kZWwucmVxdWlyZWQ8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+KHt9KTtcbiAgcmVhZG9ubHkgZmllbGROYW1lQmluZCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgaGlkZGVuQ29udGVudCA9IG1vZGVsPGJvb2xlYW4+KCk7IC8vIHPhu60gZOG7pW5nIMSR4buDIHNldCB0eXBlIGNobyBpbnB1dCBk4bqhbmcgdGV4dCBoYXkgcGFzc3dvcmRcbiAgcmVhZG9ubHkgdW5pdHNSaWdodCA9IGlucHV0PEFycmF5PFJlY29yZDxzdHJpbmcsIHVua25vd24+Pj4oKTtcbiAgcmVhZG9ubHkgY29uZmlnVW5pdFJpZ2h0ID0gaW5wdXQ8SUlucHV0VmFsaWRVbml0Q29uZmlnPigpO1xuICByZWFkb25seSBrZXlTZWxlY3RlZFVuaXRSaWdodCA9IGlucHV0PHVua25vd24+KCk7XG4gIHJlYWRvbmx5IGNsYXNzSW5jbHVkZUlucHV0ID0gaW5wdXQ8c3RyaW5nPigpO1xuICByZWFkb25seSBpZ25vcmVXaWR0aElucHV0MTAwID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgcmVhZG9ubHkgY29udGVudFBvcG92ZXJPdmVybGF5SWNvblNob3dPckhpZGRlblBhc3MgPSBpbnB1dDxJQ29udGVudFdoZW5IaWRkZW5PclNob3dQYXNzd29yZCwgSUNvbnRlbnRXaGVuSGlkZGVuT3JTaG93UGFzc3dvcmQgfCB1bmRlZmluZWQ+KGRlZmF1bHRDb250ZW50V2hlbkhpZGRlbk9yU2hvd1Bhc3N3b3JkKCksIHsgdHJhbnNmb3JtOiB2YWx1ZSA9PiB2YWx1ZSA/PyBkZWZhdWx0Q29udGVudFdoZW5IaWRkZW5PclNob3dQYXNzd29yZCgpIH0pO1xuICByZWFkb25seSBtYXhMZW5ndGggPSBpbnB1dDxudW1iZXI+KDIwKTtcbiAgcmVhZG9ubHkgdmFsaWRSZXF1aXJlZCA9IGlucHV0PElWYWxpZFJlcXVpcmVkLCBJVmFsaWRSZXF1aXJlZCB8IHVuZGVmaW5lZD4oZGVmYXVsdFZhbGlkUmVxdWlyZWQoKSwgeyB0cmFuc2Zvcm06IHZhbHVlID0+IHZhbHVlID8/IGRlZmF1bHRWYWxpZFJlcXVpcmVkKCkgfSk7XG4gIHJlYWRvbmx5IHZhbGlkTWluTGVuZ3RoID0gaW5wdXQ8SVZhbGlkTGVuZ3RoLCBJVmFsaWRMZW5ndGggfCB1bmRlZmluZWQ+KGRlZmF1bHRWYWxpZE1pbkxlbmd0aCgpLCB7IHRyYW5zZm9ybTogdmFsdWUgPT4gdmFsdWUgPz8gZGVmYXVsdFZhbGlkTWluTGVuZ3RoKCkgfSk7XG4gIHJlYWRvbmx5IHZhbGlkUGF0dGVybiA9IGlucHV0PEFycmF5PElWYWxpZFBhdHRlcm4+PigpO1xuICByZWFkb25seSBkZWZhdWx0SGVpZ2h0ID0gaW5wdXQ8bnVtYmVyPigpO1xuICByZWFkb25seSByZXNldEF1dG9Db21wbGV0ZVBhc3N3b3JkID0gaW5wdXQ8Ym9vbGVhbj4oKTtcblxuICAvLyAjcmVnaW9uIE9VVFBVVFxuICByZWFkb25seSBvdXRHZW5lcmF0ZVBhc3N3b3JkID0gb3V0cHV0PHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgb3V0Q2xpY2tJY29uUmlnaHQgPSBvdXRwdXQ8dm9pZD4oKTtcbiAgcmVhZG9ubHkgb3V0VmFsdWVDaGFuZ2UgPSBvdXRwdXQ8c3RyaW5nIHwgbnVtYmVyPigpO1xuICByZWFkb25seSBvdXRGdW5jdGlvbnNDb250cm9sID0gb3V0cHV0PElJbnB1dFZhbGlkRnVuY3Rpb25Db250cm9sRXZlbnQ+KCk7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuaXNQYXNzd29yZCgpKSB7XG4gICAgICB0aGlzLmljb25SaWdodENsYXNzLnNldCgnbGlicy11aS1pY29uLWV5ZS1zb2xpZCBob3Zlcjp0ZXh0LVt2YXIoLS1saWJzLXVpLWNvbG9yLWRlZmF1bHQpXSB0ZXh0LVsxNnB4XSBjdXJzb3ItcG9pbnRlciB0ZXh0LVsjNmE3MzgzXScpO1xuICAgIH1cbiAgfVxuXG4gIC8qIEZVTkNUSU9OUyAqL1xuICBwcml2YXRlIGFzeW5jIHNldFZhbGlkU3RhdHVzKHN0YXR1czogYm9vbGVhbikge1xuICAgIHRoaXMudmFsaWRDaGFyYWN0ZXJzLnNldChzdGF0dXMpO1xuICAgIHRoaXMudmFsaWRTdGF0dXMuc2V0KGdldFZhbGlkU3RhdHVzKHN0YXR1cykpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZXJGdW5jdGlvbkNvbnRyb2woZXZlbnQ6IElJbnB1dFZhbGlkRnVuY3Rpb25Db250cm9sRXZlbnQpIHtcbiAgICB0aGlzLmlucHV0VmFsaWRGdW5jdGlvbkNvbnRyb2wuc2V0KGV2ZW50KTtcbiAgICB0aGlzLm91dEZ1bmN0aW9uc0NvbnRyb2wuZW1pdCh7IC4uLmV2ZW50LCBjaGVja0lzVmFsaWQ6IGFzeW5jICgpID0+IGF3YWl0IGV2ZW50LmNoZWNrSXNWYWxpZCgpICYmIGF3YWl0IHRoaXMuY2hlY2tWYWxpZCgpIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZVZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICB0aGlzLmNoZWNrVmFsaWQoKTtcbiAgICB0aGlzLm91dFZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGNoZWNrVmFsaWQoKSB7XG4gICAgY29uc3QgcGFzc3dvcmQgPSB0aGlzLml0ZW0oKVt0aGlzLmZpZWxkTmFtZUJpbmQoKV0gYXMgc3RyaW5nO1xuICAgIHRoaXMuc2V0VmFsaWRTdGF0dXMoZmFsc2UpO1xuICAgIGlmICghcGFzc3dvcmQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBjb25zdCBsZW5ndGggPSBwYXNzd29yZC5sZW5ndGg7XG4gICAgaWYgKGxlbmd0aCA+IHRoaXMuY29uZmlnKCkubGVuZ3RoX21heCkge1xuICAgICAgdGhpcy52YWxpZFN0YXR1cygpLmxlbmd0aF9tYXggPSBmYWxzZTtcbiAgICB9XG4gICAgaWYgKGxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMudmFsaWRTdGF0dXMoKS5sZW5ndGhfbWF4ID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKGxlbmd0aCA+PSB0aGlzLmNvbmZpZygpLmxlbmd0aF9taW4pIHtcbiAgICAgIHRoaXMudmFsaWRTdGF0dXMoKS5sZW5ndGhfbWluID0gdHJ1ZTtcbiAgICB9XG4gICAgbGV0IHN5bWJvbCA9IDAsIG51bWJlciA9IDAsIHVwcGVyID0gMCwgbG93ZXIgPSAwLCB0b3RhbCA9IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgaWYgKHRoaXMuY2hhcmFjdGVyKCkubnVtYmVyQ2hhcmFjdGVyLmluY2x1ZGVzKHBhc3N3b3JkLmNoYXJBdChpKSkpIHsgbnVtYmVyKysgfVxuICAgICAgaWYgKHRoaXMuY2hhcmFjdGVyKCkudXBwZXJDaGFyYWN0ZXIuaW5jbHVkZXMocGFzc3dvcmQuY2hhckF0KGkpKSkgeyB1cHBlcisrIH1cbiAgICAgIGlmICh0aGlzLmNoYXJhY3RlcigpLmxvd2VyQ2hhcmFjdGVyLmluY2x1ZGVzKHBhc3N3b3JkLmNoYXJBdChpKSkpIHsgbG93ZXIrKyB9XG4gICAgICBpZiAodGhpcy5jaGFyYWN0ZXIoKS5zcGVjaWFsQ2hhcmFjdGVyLmluY2x1ZGVzKHBhc3N3b3JkLmNoYXJBdChpKSkpIHsgc3ltYm9sKysgfVxuICAgIH1cbiAgICBpZiAobnVtYmVyID49IHRoaXMuY29uZmlnKCkubnVtYmVyIHx8ICF0aGlzLmNvbmZpZygpLm51bWJlcikge1xuICAgICAgdGhpcy52YWxpZFN0YXR1cygpLm51bWJlciA9IHRydWU7XG4gICAgICBpZiAodGhpcy5jb25maWcoKS5udW1iZXIpIHtcbiAgICAgICAgdG90YWwrKztcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHVwcGVyID49IHRoaXMuY29uZmlnKCkudXBwZXJjYXNlIHx8ICF0aGlzLmNvbmZpZygpLnVwcGVyY2FzZSkge1xuICAgICAgdGhpcy52YWxpZFN0YXR1cygpLnVwcGVyID0gdHJ1ZTtcbiAgICAgIGlmICh0aGlzLmNvbmZpZygpLnVwcGVyY2FzZSkge1xuICAgICAgICB0b3RhbCsrO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAobG93ZXIgPj0gdGhpcy5jb25maWcoKS5sb3dlcmNhc2UgfHwgIXRoaXMuY29uZmlnKCkubG93ZXJjYXNlKSB7XG4gICAgICB0aGlzLnZhbGlkU3RhdHVzKCkubG93ZXIgPSB0cnVlO1xuICAgICAgaWYgKHRoaXMuY29uZmlnKCkubG93ZXJjYXNlKSB7XG4gICAgICAgIHRvdGFsKys7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChzeW1ib2wgPj0gdGhpcy5jb25maWcoKS5zeW1ib2wgfHwgIXRoaXMuY29uZmlnKCkuc3ltYm9sKSB7XG4gICAgICB0aGlzLnZhbGlkU3RhdHVzKCkuc3ltYm9sID0gdHJ1ZTtcbiAgICAgIGlmICh0aGlzLmNvbmZpZygpLnN5bWJvbCkge1xuICAgICAgICB0b3RhbCsrO1xuICAgICAgfVxuICAgIH1cbiAgICBzd2l0Y2ggKHRoaXMuY29uZmlnKCkua2V5KSB7XG4gICAgICBjYXNlICdhbGwnOlxuICAgICAgICBpZiAodGhpcy52YWxpZFN0YXR1cygpLnN5bWJvbCAmJiB0aGlzLnZhbGlkU3RhdHVzKCkubG93ZXIgJiYgdGhpcy52YWxpZFN0YXR1cygpLnVwcGVyICYmIHRoaXMudmFsaWRTdGF0dXMoKS5udW1iZXIpIHtcbiAgICAgICAgICB0aGlzLnZhbGlkQ2hhcmFjdGVycy5zZXQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBpZiAodG90YWwgPj0gK3RoaXMuY29uZmlnKCkudmFsdWUpIHtcbiAgICAgICAgICB0aGlzLnZhbGlkQ2hhcmFjdGVycy5zZXQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGlmICghdGhpcy52YWxpZENoYXJhY3RlcnMoKSB8fCAhdGhpcy52YWxpZFN0YXR1cygpLmxlbmd0aF9taW4gfHwgIXRoaXMudmFsaWRTdGF0dXMoKS5sZW5ndGhfbWF4KSB7XG4gICAgICB0aGlzLnZhbGlkU3RhdHVzLnVwZGF0ZSh2YWx1ZSA9PiAoeyAuLi52YWx1ZSB9KSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMudmFsaWRTdGF0dXMudXBkYXRlKHZhbHVlID0+ICh7IC4uLnZhbHVlIH0pKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVDbGlja0ljb25SaWdodCgpIHtcbiAgICB0aGlzLm91dENsaWNrSWNvblJpZ2h0LmVtaXQoKTtcbiAgICBpZiAodGhpcy5pc1Bhc3N3b3JkKCkpIHtcbiAgICAgIHRoaXMuaGlkZGVuQ29udGVudC51cGRhdGUodmFsdWUgPT4gIXZhbHVlKTtcbiAgICAgIGlmICghdGhpcy5oaWRkZW5Db250ZW50KCkpIHtcbiAgICAgICAgdGhpcy5pY29uUmlnaHRDbGFzcy5zZXQoJ2xpYnMtdWktaWNvbi1leWUtc2xhc2gtc29saWQgaG92ZXI6dGV4dC1bdmFyKC0tbGlicy11aS1jb2xvci1kZWZhdWx0KV0gdGV4dC1bMTZweF0gY3Vyc29yLXBvaW50ZXIgdGV4dC1bIzZhNzM4M10nKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5pY29uUmlnaHRDbGFzcy5zZXQoJ2xpYnMtdWktaWNvbi1leWUtc29saWQgaG92ZXI6dGV4dC1bdmFyKC0tbGlicy11aS1jb2xvci1kZWZhdWx0KV0gdGV4dC1bMTZweF0gY3Vyc29yLXBvaW50ZXIgdGV4dC1bIzZhNzM4M10nKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlckdlbmVyYXRlUGFzc3dvcmQoKSB7XG4gICAgY29uc3Qgd29yZHM6IEFycmF5PHN0cmluZz4gPSBbXTtcbiAgICBpZiAodGhpcy5jb25maWcoKS5udW1iZXIpIHtcbiAgICAgIHRoaXMucmFuZG9tSW5kZXgodGhpcy5jb25maWcoKS5udW1iZXIsIHRoaXMuY2hhcmFjdGVyKCkubnVtYmVyQ2hhcmFjdGVyLCB3b3Jkcyk7XG4gICAgfVxuICAgIGlmICh0aGlzLmNvbmZpZygpLnVwcGVyY2FzZSkge1xuICAgICAgdGhpcy5yYW5kb21JbmRleCh0aGlzLmNvbmZpZygpLnVwcGVyY2FzZSwgdGhpcy5jaGFyYWN0ZXIoKS51cHBlckNoYXJhY3Rlciwgd29yZHMpO1xuICAgIH1cbiAgICBpZiAodGhpcy5jb25maWcoKS5sb3dlcmNhc2UpIHtcbiAgICAgIHRoaXMucmFuZG9tSW5kZXgodGhpcy5jb25maWcoKS5sb3dlcmNhc2UsIHRoaXMuY2hhcmFjdGVyKCkubG93ZXJDaGFyYWN0ZXIsIHdvcmRzKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuY29uZmlnKCkuc3ltYm9sKSB7XG4gICAgICB0aGlzLnJhbmRvbUluZGV4KHRoaXMuY29uZmlnKCkuc3ltYm9sLCB0aGlzLmNoYXJhY3RlcigpLnNwZWNpYWxDaGFyYWN0ZXIsIHdvcmRzKTtcbiAgICB9XG4gICAgY29uc3QgbGVuZ3RoID0gKCt0aGlzLmNvbmZpZygpLmxlbmd0aF9taW4gKyBNYXRoLmZsb29yKCgrdGhpcy5jb25maWcoKS5sZW5ndGhfbWF4IC0gK3RoaXMuY29uZmlnKCkubGVuZ3RoX21pbikgLyAyKSkgLSB3b3Jkcy5sZW5ndGg7XG4gICAgaWYgKGxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMucmFuZG9tSW5kZXgobGVuZ3RoLCB0aGlzLmNoYXJhY3RlcigpLmxvd2VyQ2hhcmFjdGVyLCB3b3Jkcyk7XG4gICAgfVxuICAgIHNldCh0aGlzLml0ZW0sIHRoaXMuZmllbGROYW1lQmluZCgpLCB3b3Jkcy5qb2luKCcnKSk7XG4gICAgdGhpcy5pbnB1dFZhbGlkRnVuY3Rpb25Db250cm9sKCk/LmNoZWNrSXNWYWxpZCgpO1xuICAgIHRoaXMub3V0R2VuZXJhdGVQYXNzd29yZC5lbWl0KHdvcmRzLmpvaW4oJycpKTtcbiAgICB0aGlzLnNldFZhbGlkU3RhdHVzKHRydWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIHJhbmRvbUluZGV4KG51bWJlcjogbnVtYmVyLCBjaGFyYWN0ZXI6IHN0cmluZywgd29yZHM6IEFycmF5PHN0cmluZz4pIHtcbiAgICBmb3IgKGxldCBpID0gMTsgaSA8PSBudW1iZXI7IGkrKykge1xuICAgICAgY29uc3QgcmFuZG9tSW5kZXggPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaGFyYWN0ZXIubGVuZ3RoKTtcbiAgICAgIHdvcmRzLnB1c2goY2hhcmFjdGVyW3JhbmRvbUluZGV4XSk7XG4gICAgfVxuICB9XG5cbn1cbiIsIjxsaWJzX3VpLWNvbXBvbmVudHMtaW5wdXRzLXZhbGlkIFsoaXRlbSldPVwiaXRlbVwiXG4gIFtsYWJlbENvbmZpZ109XCJsYWJlbENvbmZpZygpXCJcbiAgW2ZpZWxkTmFtZUJpbmRdPVwiZmllbGROYW1lQmluZCgpXCJcbiAgW3ZhbGlkUmVxdWlyZWRdPVwidmFsaWRSZXF1aXJlZCgpXCJcbiAgW3ZhbGlkTWluTGVuZ3RoXT1cInZhbGlkTWluTGVuZ3RoKClcIlxuICBbdmFsaWRQYXR0ZXJuXT1cInZhbGlkUGF0dGVybigpXCJcbiAgW2RhdGFUeXBlXT1cIidzdHJpbmcnXCJcbiAgW2hpZGRlbkNvbnRlbnRdPVwiaGlkZGVuQ29udGVudCgpXCJcbiAgW2ljb25SaWdodENsYXNzXT1cImljb25SaWdodENsYXNzKClcIlxuICBbaWNvbkxlZnRDbGFzc109XCJpY29uTGVmdENsYXNzKClcIlxuICBbcG9wb3ZlckNvbnRlbnRJY29uUmlnaHRdPVwicG9wb3ZlckNvbnRlbnRJY29uUmlnaHQoKVwiXG4gIFttYXhMZW5ndGhdPVwibWF4TGVuZ3RoKClcIlxuICBbcmVhZG9ubHldPVwicmVhZG9ubHkoKVwiXG4gIFtkZWZhdWx0SGVpZ2h0XT1cImRlZmF1bHRIZWlnaHQoKVwiXG4gIFtjbGFzc0luY2x1ZGVJbnB1dF09XCJjbGFzc0luY2x1ZGVJbnB1dCgpXCJcbiAgW2lnbm9yZVdpZHRoSW5wdXQxMDBdPVwiaWdub3JlV2lkdGhJbnB1dDEwMCgpXCJcbiAgW3BvcG92ZXJDb250ZW50SWNvblJpZ2h0XT1cImhpZGRlbkNvbnRlbnQoKSA/IGNvbnRlbnRQb3BvdmVyT3ZlcmxheUljb25TaG93T3JIaWRkZW5QYXNzKCkuc2hvdyA6IGNvbnRlbnRQb3BvdmVyT3ZlcmxheUljb25TaG93T3JIaWRkZW5QYXNzKCkuaGlkZGVuXCJcbiAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyKClcIlxuICBbdW5pdHNSaWdodF09XCJ1bml0c1JpZ2h0KClcIlxuICBbY29uZmlnVW5pdFJpZ2h0XT1cImNvbmZpZ1VuaXRSaWdodCgpXCJcbiAgW2tleVNlbGVjdGVkVW5pdFJpZ2h0XT1cImtleVNlbGVjdGVkVW5pdFJpZ2h0KClcIlxuICBbekluZGV4UG9wb3ZlckNvbnRlbnRdPVwiekluZGV4UG9wb3Zlck92ZXJsYXkoKVwiXG4gIFtyZXNldEF1dG9Db21wbGV0ZVBhc3N3b3JkXT1cInJlc2V0QXV0b0NvbXBsZXRlUGFzc3dvcmQoKVwiXG4gIChvdXRDbGlja0J1dHRvbkxhYmVsKT1cImhhbmRsZXJHZW5lcmF0ZVBhc3N3b3JkKClcIlxuICAob3V0VmFsdWVDaGFuZ2UpPVwiaGFuZGxlVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gIChvdXRJY29uUmlnaHQpPVwiaGFuZGxlQ2xpY2tJY29uUmlnaHQoKVwiXG4gIChvdXRGdW5jdGlvbnNDb250cm9sKT1cImhhbmRsZXJGdW5jdGlvbkNvbnRyb2woJGV2ZW50KVwiIC8+XG48bmctY29udGVudCBzZWxlY3Q9XCIubGlicy11aS1pbnB1dHMtcGFzc3dvcmQtY29udGVudC1jdXN0b21cIj48L25nLWNvbnRlbnQ+XG48ZGl2IGNsYXNzPVwibXQtWzhweF1cIj5cbiAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCJcbiAgICBbY2xhc3MudGV4dC1bIzAwYmM2Ml1dPVwicmVhZG9ubHkoKSB8fCB2YWxpZFN0YXR1cygpLmxlbmd0aF9taW5cIlxuICAgIFtjbGFzcy50ZXh0LVsjOWNhMmFkXV09XCIhcmVhZG9ubHkoKSAmJiAhdmFsaWRTdGF0dXMoKS5sZW5ndGhfbWluXCI+XG4gICAgPGkgY2xhc3M9XCJ0ZXh0LVsxMnB4XVwiXG4gICAgICBbY2xhc3MudGV4dC1bIzAwYmM2Ml1dPVwicmVhZG9ubHkoKSB8fCB2YWxpZFN0YXR1cygpLmxlbmd0aF9taW5cIlxuICAgICAgW2NsYXNzLmxpYnMtdWktaWNvbi1jaGVjay1jaXJjbGUtc29saWRdPVwicmVhZG9ubHkoKSB8fCB2YWxpZFN0YXR1cygpLmxlbmd0aF9taW5cIlxuICAgICAgW2NsYXNzLnRleHQtWyM5Y2EyYWRdXT1cIiFyZWFkb25seSgpICYmICF2YWxpZFN0YXR1cygpLmxlbmd0aF9taW5cIlxuICAgICAgW2NsYXNzLmxpYnMtdWktaWNvbi1jaGVjay1jaXJjbGUtb3V0bGluZV09XCIhcmVhZG9ubHkoKSAmJiAhdmFsaWRTdGF0dXMoKS5sZW5ndGhfbWluXCI+PC9pPlxuICAgIDxzcGFuIGNsYXNzPVwibGlicy11aS1mb250LWg3ciBwbC1bOHB4XVwiPnt7ICdpMThuX21pbmltdW1fbGVuZ3RoX251bWJlcicgfCB0cmFuc2xhdGU6e251bWJlcjogY29uZmlnKCkubGVuZ3RoX21pbn0gfX08L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicHQtWzRweF0gZmxleCBpdGVtcy1jZW50ZXJcIlxuICAgIFtjbGFzcy50ZXh0LVsjMDBiYzYyXV09XCJyZWFkb25seSgpIHx8IHZhbGlkU3RhdHVzKCkubGVuZ3RoX21heFwiXG4gICAgW2NsYXNzLnRleHQtWyM5Y2EyYWRdXT1cIiFyZWFkb25seSgpICYmICF2YWxpZFN0YXR1cygpLmxlbmd0aF9tYXhcIj5cbiAgICA8aSBjbGFzcz1cIiB0ZXh0LVsxMnB4XVwiXG4gICAgICBbY2xhc3MudGV4dC1bIzAwYmM2Ml1dPVwicmVhZG9ubHkoKSB8fCB2YWxpZFN0YXR1cygpLmxlbmd0aF9tYXhcIlxuICAgICAgW2NsYXNzLmxpYnMtdWktaWNvbi1jaGVjay1jaXJjbGUtc29saWRdPVwicmVhZG9ubHkoKSB8fCB2YWxpZFN0YXR1cygpLmxlbmd0aF9tYXhcIlxuICAgICAgW2NsYXNzLnRleHQtWyM5Y2EyYWRdXT1cIiFyZWFkb25seSgpICYmICF2YWxpZFN0YXR1cygpLmxlbmd0aF9tYXhcIlxuICAgICAgW2NsYXNzLmxpYnMtdWktaWNvbi1jaGVjay1jaXJjbGUtb3V0bGluZV09XCIhcmVhZG9ubHkoKSAmJiAhdmFsaWRTdGF0dXMoKS5sZW5ndGhfbWF4XCI+PC9pPlxuICAgIDxzcGFuIGNsYXNzPVwibGlicy11aS1mb250LWg3ciBwbC1bOHB4XVwiPnt7ICdpMThuX21heGltdW1fbGVuZ3RoX251bWJlcicgfCB0cmFuc2xhdGU6e251bWJlcjogY29uZmlnKCkubGVuZ3RoX21heH0gfX08L3NwYW4+XG4gIDwvZGl2PlxuICBAaWYgKGNvbmZpZygpLnVwcGVyY2FzZSB8fCBjb25maWcoKS5sb3dlcmNhc2UgfHwgY29uZmlnKCkubnVtYmVyIHx8IGNvbmZpZygpLnN5bWJvbCkge1xuICAgIDxkaXYgY2xhc3M9XCJtdC1bNHB4XVwiXG4gICAgICBbY2xhc3MudGV4dC1bIzAwYmM2Ml1dPVwicmVhZG9ubHkoKSB8fCB2YWxpZENoYXJhY3RlcnMoKVwiXG4gICAgICBbY2xhc3MudGV4dC1bIzljYTJhZF1dPVwiIXJlYWRvbmx5KCkgJiYgIXZhbGlkQ2hhcmFjdGVycygpXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPGkgY2xhc3M9XCIgdGV4dC1bMTJweF1cIlxuICAgICAgICAgIFtjbGFzcy50ZXh0LVsjMDBiYzYyXV09XCJyZWFkb25seSgpIHx8IHZhbGlkQ2hhcmFjdGVycygpXCJcbiAgICAgICAgICBbY2xhc3MubGlicy11aS1pY29uLWNoZWNrLWNpcmNsZS1zb2xpZF09XCJyZWFkb25seSgpIHx8IHZhbGlkQ2hhcmFjdGVycygpXCJcbiAgICAgICAgICBbY2xhc3MudGV4dC1bIzljYTJhZF1dPVwiIXJlYWRvbmx5KCkgJiYgIXZhbGlkQ2hhcmFjdGVycygpXCJcbiAgICAgICAgICBbY2xhc3MubGlicy11aS1pY29uLWNoZWNrLWNpcmNsZS1vdXRsaW5lXT1cIiFyZWFkb25seSgpICYmICF2YWxpZENoYXJhY3RlcnMoKVwiPjwvaT5cbiAgICAgICAgQGlmIChjb25maWcoKS5rZXkgPT09ICdhbGwnKSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJsaWJzLXVpLWZvbnQtaDdyIHBsLVs4cHhdXCI+e3sgJ2kxOG5fY29udGFpbnNfYWxsX3R5cGVzX29mX2NoYXJhY3RlcnNfYmVsb3cnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoY29uZmlnKCkua2V5ICE9PSAnYWxsJykge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGlicy11aS1mb250LWg3ciBwbC1bOHB4XVwiPnt7ICdpMThuX2NvbnRhaW5zX251bWJlcl90eXBlc19vZl9jaGFyYWN0ZXJzX2JlbG93JyB8IHRyYW5zbGF0ZTp7bnVtYmVyOiBjb25maWcoKS52YWx1ZX0gfX08L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgICAgQGlmIChjb25maWcoKS51cHBlcmNhc2UpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImxpYnMtdWktZm9udC1oN3IgcHQtWzRweF0gcGwtWzI0cHhdXCJcbiAgICAgICAgICBbY2xhc3MudGV4dC1bIzAwYmM2Ml1dPVwicmVhZG9ubHkoKSB8fCB2YWxpZFN0YXR1cygpLnVwcGVyXCJcbiAgICAgICAgICBbY2xhc3MudGV4dC1bIzljYTJhZF1dPVwiIXJlYWRvbmx5KCkgJiYgIXZhbGlkU3RhdHVzKCkudXBwZXJcIj5cbiAgICAgICAgICB7eyAnaTE4bl91cHBlcmNhc2VfbWluaW11bScgfCB0cmFuc2xhdGUgOntudW1iZXI6IGNvbmZpZygpLnVwcGVyY2FzZX0gfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgICBAaWYgKGNvbmZpZygpLmxvd2VyY2FzZSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwibGlicy11aS1mb250LWg3ciBwdC1bNHB4XSBwbC1bMjRweF1cIlxuICAgICAgICAgIFtjbGFzcy50ZXh0LVsjMDBiYzYyXV09XCJyZWFkb25seSgpIHx8IHZhbGlkU3RhdHVzKCkubG93ZXJcIlxuICAgICAgICAgIFtjbGFzcy50ZXh0LVsjOWNhMmFkXV09XCIhcmVhZG9ubHkoKSAmJiAhdmFsaWRTdGF0dXMoKS5sb3dlclwiPlxuICAgICAgICAgIHt7ICdpMThuX2xvd2VyY2FzZV9taW5pbXVtJyB8IHRyYW5zbGF0ZSA6e251bWJlcjogY29uZmlnKCkubG93ZXJjYXNlfSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICAgIEBpZiAoY29uZmlnKCkubnVtYmVyKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsaWJzLXVpLWZvbnQtaDdyIHB0LVs0cHhdIHBsLVsyNHB4XVwiXG4gICAgICAgICAgW2NsYXNzLnRleHQtWyMwMGJjNjJdXT1cInJlYWRvbmx5KCkgfHwgdmFsaWRTdGF0dXMoKS5udW1iZXJcIlxuICAgICAgICAgIFtjbGFzcy50ZXh0LVsjOWNhMmFkXV09XCIhcmVhZG9ubHkoKSAmJiAhdmFsaWRTdGF0dXMoKS5udW1iZXJcIj5cbiAgICAgICAgICB7eyAnaTE4bl9udW1iZXJfbWluaW11bScgfCB0cmFuc2xhdGUgOntudW1iZXI6IGNvbmZpZygpLm51bWJlcn0gfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgICBAaWYgKGNvbmZpZygpLnN5bWJvbCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwibGlicy11aS1mb250LWg3ciBwdC1bNHB4XSBwbC1bMjRweF1cIlxuICAgICAgICAgIFtjbGFzcy50ZXh0LVsjMDBiYzYyXV09XCJyZWFkb25seSgpIHx8IHZhbGlkU3RhdHVzKCkuc3ltYm9sXCJcbiAgICAgICAgICBbY2xhc3MudGV4dC1bIzljYTJhZF1dPVwiIXJlYWRvbmx5KCkgJiYgIXZhbGlkU3RhdHVzKCkuc3ltYm9sXCI+XG4gICAgICAgICAge3sgJ2kxOG5fc3ltYm9sX21pbmltdW0nIHwgdHJhbnNsYXRlIDp7bnVtYmVyOiBjb25maWcoKS5zeW1ib2x9IH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cbiJdfQ==
@@ -57,12 +57,12 @@ const defaultValidMinLength = () => {
57
57
  };
58
58
 
59
59
  class LibsUiComponentsInputsPasswordComponent {
60
- /* PROPERTY */
60
+ // #region PROPERTY
61
61
  validStatus = signal(getValidStatus(false));
62
62
  validCharacters = signal(false);
63
63
  character = signal(getCharacter());
64
64
  inputValidFunctionControl = signal(undefined);
65
- /* INPUT */
65
+ // #region INPUT
66
66
  config = input(defaultConfig(), { transform: value => value ?? defaultConfig() });
67
67
  isPassword = input(false);
68
68
  readonly = input();
@@ -87,7 +87,7 @@ class LibsUiComponentsInputsPasswordComponent {
87
87
  validPattern = input();
88
88
  defaultHeight = input();
89
89
  resetAutoCompletePassword = input();
90
- /* OUTPUT */
90
+ // #region OUTPUT
91
91
  outGeneratePassword = output();
92
92
  outClickIconRight = output();
93
93
  outValueChange = output();
@@ -1 +1 @@
1
- {"version":3,"file":"libs-ui-components-inputs-password.mjs","sources":["../../../../../../libs-ui/components/inputs/password/src/utils/password.ts","../../../../../../libs-ui/components/inputs/password/src/inputs-password.component.ts","../../../../../../libs-ui/components/inputs/password/src/inputs-password.component.html","../../../../../../libs-ui/components/inputs/password/src/libs-ui-components-inputs-password.ts"],"sourcesContent":["import { IValidLength, IValidRequired } from \"@libs-ui/components-inputs-valid\";\nimport { ICharacter, IConfig, IContentWhenHiddenOrShowPassword, IValidStatus } from \"../interfaces/password.interface\"\n\nexport const getValidStatus = (status: boolean): IValidStatus => {\n return {\n length_min: status,\n length_max: status,\n upper: status,\n lower: status,\n number: status,\n numberOfChar: status,\n symbol: status\n }\n}\n\nexport const getCharacter = (): ICharacter => {\n return {\n numberCharacter: '0123456789',\n upperCharacter: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',\n lowerCharacter: 'abcdefghijklmnopqrstuvwxyz',\n specialCharacter: '~`!@#$%^&*()_=+}{\";:.,?|/<>-'\n };\n}\n\nexport const defaultConfig = (): IConfig => {\n return {\n length_max: 20,\n length_min: 4,\n uppercase: 0,\n lowercase: 0,\n symbol: 0,\n key: '',\n number: 0,\n value: '0'\n };\n}\n\nexport const defaultContentWhenHiddenOrShowPassword = (): IContentWhenHiddenOrShowPassword => {\n return {\n show: 'i18n_show',\n hidden: 'i18n_hidden'\n };\n}\n\nexport const defaultValidRequired = (): IValidRequired => {\n return {\n isRequired: true,\n message: 'i18n_password_is_required'\n };\n}\n\nexport const defaultValidMinLength = (): IValidLength => {\n return {\n length: 4,\n message: 'i18n_password_min_length',\n interpolateParams: { length: 4 }\n };\n}","import { ChangeDetectionStrategy, Component, input, model, OnInit, output, signal } from '@angular/core';\nimport { IInputValidFunctionControlEvent, IInputValidUnitConfig, IValidLength, IValidPattern, IValidRequired, LibsUiComponentsInputsValidComponent } from '@libs-ui/components-inputs-valid';\nimport { ILabel } from '@libs-ui/components-label';\nimport { set } from '@libs-ui/utils';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ICharacter, IConfig, IContentWhenHiddenOrShowPassword, IValidStatus } from './interfaces/password.interface';\nimport { defaultConfig, defaultContentWhenHiddenOrShowPassword, defaultValidMinLength, defaultValidRequired, getCharacter, getValidStatus } from './utils/password';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-inputs-password',\n templateUrl: './inputs-password.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n TranslateModule,\n LibsUiComponentsInputsValidComponent\n ]\n})\nexport class LibsUiComponentsInputsPasswordComponent implements OnInit {\n\n /* PROPERTY */\n protected validStatus = signal<IValidStatus>(getValidStatus(false));\n protected validCharacters = signal<boolean>(false);\n\n private character = signal<ICharacter>(getCharacter());\n private inputValidFunctionControl = signal<IInputValidFunctionControlEvent | undefined>(undefined);\n\n /* INPUT */\n readonly config = input<IConfig, IConfig | undefined>(defaultConfig(), { transform: value => value ?? defaultConfig() });\n readonly isPassword = input<boolean>(false);\n readonly readonly = input<boolean>();\n readonly labelConfig = input<ILabel>();\n readonly placeholder = input<string>();\n readonly iconLeftClass = model<string>();\n readonly iconRightClass = model<string>();\n readonly popoverContentIconRight = input<string>();\n readonly zIndexPopoverOverlay = input<number>();\n readonly item = model.required<Record<string, unknown>>({});\n readonly fieldNameBind = input.required<string>();\n readonly hiddenContent = model<boolean>(); // sử dụng để set type cho input dạng text hay password\n readonly unitsRight = input<Array<Record<string, unknown>>>();\n readonly configUnitRight = input<IInputValidUnitConfig>();\n readonly keySelectedUnitRight = input<unknown>();\n readonly classIncludeInput = input<string>();\n readonly ignoreWidthInput100 = input<boolean>();\n readonly contentPopoverOverlayIconShowOrHiddenPass = input<IContentWhenHiddenOrShowPassword, IContentWhenHiddenOrShowPassword | undefined>(defaultContentWhenHiddenOrShowPassword(), { transform: value => value ?? defaultContentWhenHiddenOrShowPassword() });\n readonly maxLength = input<number>(20);\n readonly validRequired = input<IValidRequired, IValidRequired | undefined>(defaultValidRequired(), { transform: value => value ?? defaultValidRequired() });\n readonly validMinLength = input<IValidLength, IValidLength | undefined>(defaultValidMinLength(), { transform: value => value ?? defaultValidMinLength() });\n readonly validPattern = input<Array<IValidPattern>>();\n readonly defaultHeight = input<number>();\n readonly resetAutoCompletePassword = input<boolean>();\n\n /* OUTPUT */\n readonly outGeneratePassword = output<string>();\n readonly outClickIconRight = output<void>();\n readonly outValueChange = output<string | number>();\n readonly outFunctionsControl = output<IInputValidFunctionControlEvent>();\n\n ngOnInit() {\n if (this.isPassword()) {\n this.iconRightClass.set('libs-ui-icon-eye-solid hover:text-[var(--libs-ui-color-default)] text-[16px] cursor-pointer text-[#6a7383]');\n }\n }\n\n /* FUNCTIONS */\n private async setValidStatus(status: boolean) {\n this.validCharacters.set(status);\n this.validStatus.set(getValidStatus(status));\n }\n\n protected async handlerFunctionControl(event: IInputValidFunctionControlEvent) {\n this.inputValidFunctionControl.set(event);\n this.outFunctionsControl.emit({ ...event, checkIsValid: async () => await event.checkIsValid() && await this.checkValid() });\n }\n\n protected async handleValueChange(value: string | number) {\n this.checkValid();\n this.outValueChange.emit(value);\n }\n\n protected async checkValid() {\n const password = this.item()[this.fieldNameBind()] as string;\n this.setValidStatus(false);\n if (!password) {\n return true;\n }\n const length = password.length;\n if (length > this.config().length_max) {\n this.validStatus().length_max = false;\n }\n if (length > 0) {\n this.validStatus().length_max = true;\n }\n if (length >= this.config().length_min) {\n this.validStatus().length_min = true;\n }\n let symbol = 0, number = 0, upper = 0, lower = 0, total = 0;\n for (let i = 0; i < length; i++) {\n if (this.character().numberCharacter.includes(password.charAt(i))) { number++ }\n if (this.character().upperCharacter.includes(password.charAt(i))) { upper++ }\n if (this.character().lowerCharacter.includes(password.charAt(i))) { lower++ }\n if (this.character().specialCharacter.includes(password.charAt(i))) { symbol++ }\n }\n if (number >= this.config().number || !this.config().number) {\n this.validStatus().number = true;\n if (this.config().number) {\n total++;\n }\n }\n if (upper >= this.config().uppercase || !this.config().uppercase) {\n this.validStatus().upper = true;\n if (this.config().uppercase) {\n total++;\n }\n }\n if (lower >= this.config().lowercase || !this.config().lowercase) {\n this.validStatus().lower = true;\n if (this.config().lowercase) {\n total++;\n }\n }\n if (symbol >= this.config().symbol || !this.config().symbol) {\n this.validStatus().symbol = true;\n if (this.config().symbol) {\n total++;\n }\n }\n switch (this.config().key) {\n case 'all':\n if (this.validStatus().symbol && this.validStatus().lower && this.validStatus().upper && this.validStatus().number) {\n this.validCharacters.set(true);\n }\n break;\n default:\n if (total >= +this.config().value) {\n this.validCharacters.set(true);\n }\n break;\n }\n if (!this.validCharacters() || !this.validStatus().length_min || !this.validStatus().length_max) {\n this.validStatus.update(value => ({ ...value }));\n return false;\n }\n this.validStatus.update(value => ({ ...value }));\n return true;\n }\n\n protected async handleClickIconRight() {\n this.outClickIconRight.emit();\n if (this.isPassword()) {\n this.hiddenContent.update(value => !value);\n if (!this.hiddenContent()) {\n this.iconRightClass.set('libs-ui-icon-eye-slash-solid hover:text-[var(--libs-ui-color-default)] text-[16px] cursor-pointer text-[#6a7383]');\n return;\n }\n this.iconRightClass.set('libs-ui-icon-eye-solid hover:text-[var(--libs-ui-color-default)] text-[16px] cursor-pointer text-[#6a7383]');\n }\n }\n\n protected async handlerGeneratePassword() {\n const words: Array<string> = [];\n if (this.config().number) {\n this.randomIndex(this.config().number, this.character().numberCharacter, words);\n }\n if (this.config().uppercase) {\n this.randomIndex(this.config().uppercase, this.character().upperCharacter, words);\n }\n if (this.config().lowercase) {\n this.randomIndex(this.config().lowercase, this.character().lowerCharacter, words);\n }\n if (this.config().symbol) {\n this.randomIndex(this.config().symbol, this.character().specialCharacter, words);\n }\n const length = (+this.config().length_min + Math.floor((+this.config().length_max - +this.config().length_min) / 2)) - words.length;\n if (length > 0) {\n this.randomIndex(length, this.character().lowerCharacter, words);\n }\n set(this.item, this.fieldNameBind(), words.join(''));\n this.inputValidFunctionControl()?.checkIsValid();\n this.outGeneratePassword.emit(words.join(''));\n this.setValidStatus(true);\n }\n\n protected async randomIndex(number: number, character: string, words: Array<string>) {\n for (let i = 1; i <= number; i++) {\n const randomIndex = Math.floor(Math.random() * character.length);\n words.push(character[randomIndex]);\n }\n }\n\n}\n","<libs_ui-components-inputs-valid [(item)]=\"item\"\n [labelConfig]=\"labelConfig()\"\n [fieldNameBind]=\"fieldNameBind()\"\n [validRequired]=\"validRequired()\"\n [validMinLength]=\"validMinLength()\"\n [validPattern]=\"validPattern()\"\n [dataType]=\"'string'\"\n [hiddenContent]=\"hiddenContent()\"\n [iconRightClass]=\"iconRightClass()\"\n [iconLeftClass]=\"iconLeftClass()\"\n [popoverContentIconRight]=\"popoverContentIconRight()\"\n [maxLength]=\"maxLength()\"\n [readonly]=\"readonly()\"\n [defaultHeight]=\"defaultHeight()\"\n [classIncludeInput]=\"classIncludeInput()\"\n [ignoreWidthInput100]=\"ignoreWidthInput100()\"\n [popoverContentIconRight]=\"hiddenContent() ? contentPopoverOverlayIconShowOrHiddenPass().show : contentPopoverOverlayIconShowOrHiddenPass().hidden\"\n [placeholder]=\"placeholder()\"\n [unitsRight]=\"unitsRight()\"\n [configUnitRight]=\"configUnitRight()\"\n [keySelectedUnitRight]=\"keySelectedUnitRight()\"\n [zIndexPopoverContent]=\"zIndexPopoverOverlay()\"\n [resetAutoCompletePassword]=\"resetAutoCompletePassword()\"\n (outClickButtonLabel)=\"handlerGeneratePassword()\"\n (outValueChange)=\"handleValueChange($event)\"\n (outIconRight)=\"handleClickIconRight()\"\n (outFunctionsControl)=\"handlerFunctionControl($event)\" />\n<ng-content select=\".libs-ui-inputs-password-content-custom\"></ng-content>\n<div class=\"mt-[8px]\">\n <div class=\"flex items-center\"\n [class.text-[#00bc62]]=\"readonly() || validStatus().length_min\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validStatus().length_min\">\n <i class=\"text-[12px]\"\n [class.text-[#00bc62]]=\"readonly() || validStatus().length_min\"\n [class.libs-ui-icon-check-circle-solid]=\"readonly() || validStatus().length_min\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validStatus().length_min\"\n [class.libs-ui-icon-check-circle-outline]=\"!readonly() && !validStatus().length_min\"></i>\n <span class=\"libs-ui-font-h7r pl-[8px]\">{{ 'i18n_minimum_length_number' | translate:{number: config().length_min} }}</span>\n </div>\n <div class=\"pt-[4px] flex items-center\"\n [class.text-[#00bc62]]=\"readonly() || validStatus().length_max\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validStatus().length_max\">\n <i class=\" text-[12px]\"\n [class.text-[#00bc62]]=\"readonly() || validStatus().length_max\"\n [class.libs-ui-icon-check-circle-solid]=\"readonly() || validStatus().length_max\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validStatus().length_max\"\n [class.libs-ui-icon-check-circle-outline]=\"!readonly() && !validStatus().length_max\"></i>\n <span class=\"libs-ui-font-h7r pl-[8px]\">{{ 'i18n_maximum_length_number' | translate:{number: config().length_max} }}</span>\n </div>\n @if (config().uppercase || config().lowercase || config().number || config().symbol) {\n <div class=\"mt-[4px]\"\n [class.text-[#00bc62]]=\"readonly() || validCharacters()\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validCharacters()\">\n <div class=\"flex items-center\">\n <i class=\" text-[12px]\"\n [class.text-[#00bc62]]=\"readonly() || validCharacters()\"\n [class.libs-ui-icon-check-circle-solid]=\"readonly() || validCharacters()\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validCharacters()\"\n [class.libs-ui-icon-check-circle-outline]=\"!readonly() && !validCharacters()\"></i>\n @if (config().key === 'all') {\n <span class=\"libs-ui-font-h7r pl-[8px]\">{{ 'i18n_contains_all_types_of_characters_below' | translate }}</span>\n }\n @if (config().key !== 'all') {\n <span class=\"libs-ui-font-h7r pl-[8px]\">{{ 'i18n_contains_number_types_of_characters_below' | translate:{number: config().value} }}</span>\n }\n </div>\n @if (config().uppercase) {\n <div class=\"libs-ui-font-h7r pt-[4px] pl-[24px]\"\n [class.text-[#00bc62]]=\"readonly() || validStatus().upper\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validStatus().upper\">\n {{ 'i18n_uppercase_minimum' | translate :{number: config().uppercase} }}\n </div>\n }\n @if (config().lowercase) {\n <div class=\"libs-ui-font-h7r pt-[4px] pl-[24px]\"\n [class.text-[#00bc62]]=\"readonly() || validStatus().lower\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validStatus().lower\">\n {{ 'i18n_lowercase_minimum' | translate :{number: config().lowercase} }}\n </div>\n }\n @if (config().number) {\n <div class=\"libs-ui-font-h7r pt-[4px] pl-[24px]\"\n [class.text-[#00bc62]]=\"readonly() || validStatus().number\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validStatus().number\">\n {{ 'i18n_number_minimum' | translate :{number: config().number} }}\n </div>\n }\n @if (config().symbol) {\n <div class=\"libs-ui-font-h7r pt-[4px] pl-[24px]\"\n [class.text-[#00bc62]]=\"readonly() || validStatus().symbol\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validStatus().symbol\">\n {{ 'i18n_symbol_minimum' | translate :{number: config().symbol} }}\n </div>\n }\n </div>\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"libs-ui-components-inputs-password.mjs","sources":["../../../../../../libs-ui/components/inputs/password/src/utils/password.ts","../../../../../../libs-ui/components/inputs/password/src/inputs-password.component.ts","../../../../../../libs-ui/components/inputs/password/src/inputs-password.component.html","../../../../../../libs-ui/components/inputs/password/src/libs-ui-components-inputs-password.ts"],"sourcesContent":["import { IValidLength, IValidRequired } from \"@libs-ui/components-inputs-valid\";\nimport { ICharacter, IConfig, IContentWhenHiddenOrShowPassword, IValidStatus } from \"../interfaces/password.interface\"\n\nexport const getValidStatus = (status: boolean): IValidStatus => {\n return {\n length_min: status,\n length_max: status,\n upper: status,\n lower: status,\n number: status,\n numberOfChar: status,\n symbol: status\n }\n}\n\nexport const getCharacter = (): ICharacter => {\n return {\n numberCharacter: '0123456789',\n upperCharacter: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',\n lowerCharacter: 'abcdefghijklmnopqrstuvwxyz',\n specialCharacter: '~`!@#$%^&*()_=+}{\";:.,?|/<>-'\n };\n}\n\nexport const defaultConfig = (): IConfig => {\n return {\n length_max: 20,\n length_min: 4,\n uppercase: 0,\n lowercase: 0,\n symbol: 0,\n key: '',\n number: 0,\n value: '0'\n };\n}\n\nexport const defaultContentWhenHiddenOrShowPassword = (): IContentWhenHiddenOrShowPassword => {\n return {\n show: 'i18n_show',\n hidden: 'i18n_hidden'\n };\n}\n\nexport const defaultValidRequired = (): IValidRequired => {\n return {\n isRequired: true,\n message: 'i18n_password_is_required'\n };\n}\n\nexport const defaultValidMinLength = (): IValidLength => {\n return {\n length: 4,\n message: 'i18n_password_min_length',\n interpolateParams: { length: 4 }\n };\n}","import { ChangeDetectionStrategy, Component, input, model, OnInit, output, signal } from '@angular/core';\nimport { IInputValidFunctionControlEvent, IInputValidUnitConfig, IValidLength, IValidPattern, IValidRequired, LibsUiComponentsInputsValidComponent } from '@libs-ui/components-inputs-valid';\nimport { ILabel } from '@libs-ui/components-label';\nimport { set } from '@libs-ui/utils';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ICharacter, IConfig, IContentWhenHiddenOrShowPassword, IValidStatus } from './interfaces/password.interface';\nimport { defaultConfig, defaultContentWhenHiddenOrShowPassword, defaultValidMinLength, defaultValidRequired, getCharacter, getValidStatus } from './utils/password';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-inputs-password',\n templateUrl: './inputs-password.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n TranslateModule,\n LibsUiComponentsInputsValidComponent\n ]\n})\nexport class LibsUiComponentsInputsPasswordComponent implements OnInit {\n\n // #region PROPERTY\n protected validStatus = signal<IValidStatus>(getValidStatus(false));\n protected validCharacters = signal<boolean>(false);\n\n private character = signal<ICharacter>(getCharacter());\n private inputValidFunctionControl = signal<IInputValidFunctionControlEvent | undefined>(undefined);\n\n // #region INPUT\n readonly config = input<IConfig, IConfig | undefined>(defaultConfig(), { transform: value => value ?? defaultConfig() });\n readonly isPassword = input<boolean>(false);\n readonly readonly = input<boolean>();\n readonly labelConfig = input<ILabel>();\n readonly placeholder = input<string>();\n readonly iconLeftClass = model<string>();\n readonly iconRightClass = model<string>();\n readonly popoverContentIconRight = input<string>();\n readonly zIndexPopoverOverlay = input<number>();\n readonly item = model.required<Record<string, unknown>>({});\n readonly fieldNameBind = input.required<string>();\n readonly hiddenContent = model<boolean>(); // sử dụng để set type cho input dạng text hay password\n readonly unitsRight = input<Array<Record<string, unknown>>>();\n readonly configUnitRight = input<IInputValidUnitConfig>();\n readonly keySelectedUnitRight = input<unknown>();\n readonly classIncludeInput = input<string>();\n readonly ignoreWidthInput100 = input<boolean>();\n readonly contentPopoverOverlayIconShowOrHiddenPass = input<IContentWhenHiddenOrShowPassword, IContentWhenHiddenOrShowPassword | undefined>(defaultContentWhenHiddenOrShowPassword(), { transform: value => value ?? defaultContentWhenHiddenOrShowPassword() });\n readonly maxLength = input<number>(20);\n readonly validRequired = input<IValidRequired, IValidRequired | undefined>(defaultValidRequired(), { transform: value => value ?? defaultValidRequired() });\n readonly validMinLength = input<IValidLength, IValidLength | undefined>(defaultValidMinLength(), { transform: value => value ?? defaultValidMinLength() });\n readonly validPattern = input<Array<IValidPattern>>();\n readonly defaultHeight = input<number>();\n readonly resetAutoCompletePassword = input<boolean>();\n\n // #region OUTPUT\n readonly outGeneratePassword = output<string>();\n readonly outClickIconRight = output<void>();\n readonly outValueChange = output<string | number>();\n readonly outFunctionsControl = output<IInputValidFunctionControlEvent>();\n\n ngOnInit() {\n if (this.isPassword()) {\n this.iconRightClass.set('libs-ui-icon-eye-solid hover:text-[var(--libs-ui-color-default)] text-[16px] cursor-pointer text-[#6a7383]');\n }\n }\n\n /* FUNCTIONS */\n private async setValidStatus(status: boolean) {\n this.validCharacters.set(status);\n this.validStatus.set(getValidStatus(status));\n }\n\n protected async handlerFunctionControl(event: IInputValidFunctionControlEvent) {\n this.inputValidFunctionControl.set(event);\n this.outFunctionsControl.emit({ ...event, checkIsValid: async () => await event.checkIsValid() && await this.checkValid() });\n }\n\n protected async handleValueChange(value: string | number) {\n this.checkValid();\n this.outValueChange.emit(value);\n }\n\n protected async checkValid() {\n const password = this.item()[this.fieldNameBind()] as string;\n this.setValidStatus(false);\n if (!password) {\n return true;\n }\n const length = password.length;\n if (length > this.config().length_max) {\n this.validStatus().length_max = false;\n }\n if (length > 0) {\n this.validStatus().length_max = true;\n }\n if (length >= this.config().length_min) {\n this.validStatus().length_min = true;\n }\n let symbol = 0, number = 0, upper = 0, lower = 0, total = 0;\n for (let i = 0; i < length; i++) {\n if (this.character().numberCharacter.includes(password.charAt(i))) { number++ }\n if (this.character().upperCharacter.includes(password.charAt(i))) { upper++ }\n if (this.character().lowerCharacter.includes(password.charAt(i))) { lower++ }\n if (this.character().specialCharacter.includes(password.charAt(i))) { symbol++ }\n }\n if (number >= this.config().number || !this.config().number) {\n this.validStatus().number = true;\n if (this.config().number) {\n total++;\n }\n }\n if (upper >= this.config().uppercase || !this.config().uppercase) {\n this.validStatus().upper = true;\n if (this.config().uppercase) {\n total++;\n }\n }\n if (lower >= this.config().lowercase || !this.config().lowercase) {\n this.validStatus().lower = true;\n if (this.config().lowercase) {\n total++;\n }\n }\n if (symbol >= this.config().symbol || !this.config().symbol) {\n this.validStatus().symbol = true;\n if (this.config().symbol) {\n total++;\n }\n }\n switch (this.config().key) {\n case 'all':\n if (this.validStatus().symbol && this.validStatus().lower && this.validStatus().upper && this.validStatus().number) {\n this.validCharacters.set(true);\n }\n break;\n default:\n if (total >= +this.config().value) {\n this.validCharacters.set(true);\n }\n break;\n }\n if (!this.validCharacters() || !this.validStatus().length_min || !this.validStatus().length_max) {\n this.validStatus.update(value => ({ ...value }));\n return false;\n }\n this.validStatus.update(value => ({ ...value }));\n return true;\n }\n\n protected async handleClickIconRight() {\n this.outClickIconRight.emit();\n if (this.isPassword()) {\n this.hiddenContent.update(value => !value);\n if (!this.hiddenContent()) {\n this.iconRightClass.set('libs-ui-icon-eye-slash-solid hover:text-[var(--libs-ui-color-default)] text-[16px] cursor-pointer text-[#6a7383]');\n return;\n }\n this.iconRightClass.set('libs-ui-icon-eye-solid hover:text-[var(--libs-ui-color-default)] text-[16px] cursor-pointer text-[#6a7383]');\n }\n }\n\n protected async handlerGeneratePassword() {\n const words: Array<string> = [];\n if (this.config().number) {\n this.randomIndex(this.config().number, this.character().numberCharacter, words);\n }\n if (this.config().uppercase) {\n this.randomIndex(this.config().uppercase, this.character().upperCharacter, words);\n }\n if (this.config().lowercase) {\n this.randomIndex(this.config().lowercase, this.character().lowerCharacter, words);\n }\n if (this.config().symbol) {\n this.randomIndex(this.config().symbol, this.character().specialCharacter, words);\n }\n const length = (+this.config().length_min + Math.floor((+this.config().length_max - +this.config().length_min) / 2)) - words.length;\n if (length > 0) {\n this.randomIndex(length, this.character().lowerCharacter, words);\n }\n set(this.item, this.fieldNameBind(), words.join(''));\n this.inputValidFunctionControl()?.checkIsValid();\n this.outGeneratePassword.emit(words.join(''));\n this.setValidStatus(true);\n }\n\n protected async randomIndex(number: number, character: string, words: Array<string>) {\n for (let i = 1; i <= number; i++) {\n const randomIndex = Math.floor(Math.random() * character.length);\n words.push(character[randomIndex]);\n }\n }\n\n}\n","<libs_ui-components-inputs-valid [(item)]=\"item\"\n [labelConfig]=\"labelConfig()\"\n [fieldNameBind]=\"fieldNameBind()\"\n [validRequired]=\"validRequired()\"\n [validMinLength]=\"validMinLength()\"\n [validPattern]=\"validPattern()\"\n [dataType]=\"'string'\"\n [hiddenContent]=\"hiddenContent()\"\n [iconRightClass]=\"iconRightClass()\"\n [iconLeftClass]=\"iconLeftClass()\"\n [popoverContentIconRight]=\"popoverContentIconRight()\"\n [maxLength]=\"maxLength()\"\n [readonly]=\"readonly()\"\n [defaultHeight]=\"defaultHeight()\"\n [classIncludeInput]=\"classIncludeInput()\"\n [ignoreWidthInput100]=\"ignoreWidthInput100()\"\n [popoverContentIconRight]=\"hiddenContent() ? contentPopoverOverlayIconShowOrHiddenPass().show : contentPopoverOverlayIconShowOrHiddenPass().hidden\"\n [placeholder]=\"placeholder()\"\n [unitsRight]=\"unitsRight()\"\n [configUnitRight]=\"configUnitRight()\"\n [keySelectedUnitRight]=\"keySelectedUnitRight()\"\n [zIndexPopoverContent]=\"zIndexPopoverOverlay()\"\n [resetAutoCompletePassword]=\"resetAutoCompletePassword()\"\n (outClickButtonLabel)=\"handlerGeneratePassword()\"\n (outValueChange)=\"handleValueChange($event)\"\n (outIconRight)=\"handleClickIconRight()\"\n (outFunctionsControl)=\"handlerFunctionControl($event)\" />\n<ng-content select=\".libs-ui-inputs-password-content-custom\"></ng-content>\n<div class=\"mt-[8px]\">\n <div class=\"flex items-center\"\n [class.text-[#00bc62]]=\"readonly() || validStatus().length_min\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validStatus().length_min\">\n <i class=\"text-[12px]\"\n [class.text-[#00bc62]]=\"readonly() || validStatus().length_min\"\n [class.libs-ui-icon-check-circle-solid]=\"readonly() || validStatus().length_min\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validStatus().length_min\"\n [class.libs-ui-icon-check-circle-outline]=\"!readonly() && !validStatus().length_min\"></i>\n <span class=\"libs-ui-font-h7r pl-[8px]\">{{ 'i18n_minimum_length_number' | translate:{number: config().length_min} }}</span>\n </div>\n <div class=\"pt-[4px] flex items-center\"\n [class.text-[#00bc62]]=\"readonly() || validStatus().length_max\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validStatus().length_max\">\n <i class=\" text-[12px]\"\n [class.text-[#00bc62]]=\"readonly() || validStatus().length_max\"\n [class.libs-ui-icon-check-circle-solid]=\"readonly() || validStatus().length_max\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validStatus().length_max\"\n [class.libs-ui-icon-check-circle-outline]=\"!readonly() && !validStatus().length_max\"></i>\n <span class=\"libs-ui-font-h7r pl-[8px]\">{{ 'i18n_maximum_length_number' | translate:{number: config().length_max} }}</span>\n </div>\n @if (config().uppercase || config().lowercase || config().number || config().symbol) {\n <div class=\"mt-[4px]\"\n [class.text-[#00bc62]]=\"readonly() || validCharacters()\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validCharacters()\">\n <div class=\"flex items-center\">\n <i class=\" text-[12px]\"\n [class.text-[#00bc62]]=\"readonly() || validCharacters()\"\n [class.libs-ui-icon-check-circle-solid]=\"readonly() || validCharacters()\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validCharacters()\"\n [class.libs-ui-icon-check-circle-outline]=\"!readonly() && !validCharacters()\"></i>\n @if (config().key === 'all') {\n <span class=\"libs-ui-font-h7r pl-[8px]\">{{ 'i18n_contains_all_types_of_characters_below' | translate }}</span>\n }\n @if (config().key !== 'all') {\n <span class=\"libs-ui-font-h7r pl-[8px]\">{{ 'i18n_contains_number_types_of_characters_below' | translate:{number: config().value} }}</span>\n }\n </div>\n @if (config().uppercase) {\n <div class=\"libs-ui-font-h7r pt-[4px] pl-[24px]\"\n [class.text-[#00bc62]]=\"readonly() || validStatus().upper\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validStatus().upper\">\n {{ 'i18n_uppercase_minimum' | translate :{number: config().uppercase} }}\n </div>\n }\n @if (config().lowercase) {\n <div class=\"libs-ui-font-h7r pt-[4px] pl-[24px]\"\n [class.text-[#00bc62]]=\"readonly() || validStatus().lower\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validStatus().lower\">\n {{ 'i18n_lowercase_minimum' | translate :{number: config().lowercase} }}\n </div>\n }\n @if (config().number) {\n <div class=\"libs-ui-font-h7r pt-[4px] pl-[24px]\"\n [class.text-[#00bc62]]=\"readonly() || validStatus().number\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validStatus().number\">\n {{ 'i18n_number_minimum' | translate :{number: config().number} }}\n </div>\n }\n @if (config().symbol) {\n <div class=\"libs-ui-font-h7r pt-[4px] pl-[24px]\"\n [class.text-[#00bc62]]=\"readonly() || validStatus().symbol\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validStatus().symbol\">\n {{ 'i18n_symbol_minimum' | translate :{number: config().symbol} }}\n </div>\n }\n </div>\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libs-ui/components-inputs-password",
3
- "version": "0.2.127",
3
+ "version": "0.2.128",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.2.0",
6
6
  "@angular/core": "^18.2.0"