@libs-ui/components-inputs-password 0.2.306 → 0.2.308-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/esm2022/index.mjs CHANGED
@@ -1,3 +1,3 @@
1
1
  export * from './inputs-password.component';
2
2
  export * from './interfaces/password.interface';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvaW5wdXRzL3Bhc3N3b3JkL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsaUNBQWlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2lucHV0cy1wYXNzd29yZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL3Bhc3N3b3JkLmludGVyZmFjZSc7Il19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvaW5wdXRzL3Bhc3N3b3JkL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsaUNBQWlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2lucHV0cy1wYXNzd29yZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL3Bhc3N3b3JkLmludGVyZmFjZSc7XG4iXX0=
@@ -13,7 +13,7 @@ export class LibsUiComponentsInputsPasswordComponent {
13
13
  inputValidFunctionControl = signal(undefined);
14
14
  // #region INPUT
15
15
  typeInput = model();
16
- config = input(defaultConfig(), { transform: value => value ?? defaultConfig() });
16
+ config = input(defaultConfig(), { transform: (value) => value ?? defaultConfig() });
17
17
  isPassword = input(false);
18
18
  readonly = input();
19
19
  labelConfig = input();
@@ -29,10 +29,12 @@ export class LibsUiComponentsInputsPasswordComponent {
29
29
  keySelectedUnitRight = input();
30
30
  classIncludeInput = input();
31
31
  ignoreWidthInput100 = input();
32
- contentPopoverOverlayIconShowOrHiddenPass = input(defaultContentWhenHiddenOrShowPassword(), { transform: value => value ?? defaultContentWhenHiddenOrShowPassword() });
32
+ contentPopoverOverlayIconShowOrHiddenPass = input(defaultContentWhenHiddenOrShowPassword(), {
33
+ transform: (value) => value ?? defaultContentWhenHiddenOrShowPassword(),
34
+ });
33
35
  maxLength = input(20);
34
- validRequired = input(defaultValidRequired(), { transform: value => value ?? defaultValidRequired() });
35
- validMinLength = input(defaultValidMinLength(), { transform: value => value ?? defaultValidMinLength() });
36
+ validRequired = input(defaultValidRequired(), { transform: (value) => value ?? defaultValidRequired() });
37
+ validMinLength = input(defaultValidMinLength(), { transform: (value) => value ?? defaultValidMinLength() });
36
38
  validPattern = input();
37
39
  defaultHeight = input();
38
40
  resetAutoCompletePassword = input();
@@ -53,7 +55,10 @@ export class LibsUiComponentsInputsPasswordComponent {
53
55
  }
54
56
  async handlerFunctionControl(event) {
55
57
  this.inputValidFunctionControl.set(event);
56
- this.outFunctionsControl.emit({ ...event, checkIsValid: async () => await event.checkIsValid() && await this.checkValid() });
58
+ this.outFunctionsControl.emit({ ...event, checkIsValid: async () => (await event.checkIsValid()) && (await this.checkValid()) });
59
+ }
60
+ get FunctionsControl() {
61
+ return this.inputValidFunctionControl();
57
62
  }
58
63
  async handleValueChange(value) {
59
64
  this.checkValid();
@@ -127,16 +132,16 @@ export class LibsUiComponentsInputsPasswordComponent {
127
132
  break;
128
133
  }
129
134
  if (!this.validCharacters() || !this.validStatus().length_min || !this.validStatus().length_max) {
130
- this.validStatus.update(value => ({ ...value }));
135
+ this.validStatus.update((value) => ({ ...value }));
131
136
  return false;
132
137
  }
133
- this.validStatus.update(value => ({ ...value }));
138
+ this.validStatus.update((value) => ({ ...value }));
134
139
  return true;
135
140
  }
136
141
  async handleClickIconRight() {
137
142
  this.outClickIconRight.emit();
138
143
  if (this.isPassword()) {
139
- this.typeInput.update(value => value === 'password' ? 'text' : 'password');
144
+ this.typeInput.update((value) => (value === 'password' ? 'text' : 'password'));
140
145
  if (this.typeInput() !== 'password') {
141
146
  this.iconRightClass.set('libs-ui-icon-eye-slash-solid hover:text-[var(--libs-ui-color-default)] text-[16px] cursor-pointer text-[#6a7383]');
142
147
  return;
@@ -158,7 +163,7 @@ export class LibsUiComponentsInputsPasswordComponent {
158
163
  if (this.config().symbol) {
159
164
  this.randomIndex(this.config().symbol, this.character().specialCharacter, words);
160
165
  }
161
- const length = (+this.config().length_min + Math.floor((+this.config().length_max - +this.config().length_min) / 2)) - words.length;
166
+ const length = +this.config().length_min + Math.floor((+this.config().length_max - +this.config().length_min) / 2) - words.length;
162
167
  if (length > 0) {
163
168
  this.randomIndex(length, this.character().lowerCharacter, words);
164
169
  }
@@ -174,13 +179,10 @@ export class LibsUiComponentsInputsPasswordComponent {
174
179
  }
175
180
  }
176
181
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsInputsPasswordComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
177
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LibsUiComponentsInputsPasswordComponent, isStandalone: true, selector: "libs_ui-components-inputs-password", inputs: { typeInput: { classPropertyName: "typeInput", publicName: "typeInput", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, isPassword: { classPropertyName: "isPassword", publicName: "isPassword", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, labelConfig: { classPropertyName: "labelConfig", publicName: "labelConfig", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, iconLeftClass: { classPropertyName: "iconLeftClass", publicName: "iconLeftClass", isSignal: true, isRequired: false, transformFunction: null }, iconRightClass: { classPropertyName: "iconRightClass", publicName: "iconRightClass", isSignal: true, isRequired: false, transformFunction: null }, popoverContentIconRight: { classPropertyName: "popoverContentIconRight", publicName: "popoverContentIconRight", isSignal: true, isRequired: false, transformFunction: null }, zIndexPopoverOverlay: { classPropertyName: "zIndexPopoverOverlay", publicName: "zIndexPopoverOverlay", isSignal: true, isRequired: false, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: true, transformFunction: null }, fieldNameBind: { classPropertyName: "fieldNameBind", publicName: "fieldNameBind", isSignal: true, isRequired: true, transformFunction: null }, unitsRight: { classPropertyName: "unitsRight", publicName: "unitsRight", isSignal: true, isRequired: false, transformFunction: null }, configUnitRight: { classPropertyName: "configUnitRight", publicName: "configUnitRight", isSignal: true, isRequired: false, transformFunction: null }, keySelectedUnitRight: { classPropertyName: "keySelectedUnitRight", publicName: "keySelectedUnitRight", isSignal: true, isRequired: false, transformFunction: null }, classIncludeInput: { classPropertyName: "classIncludeInput", publicName: "classIncludeInput", isSignal: true, isRequired: false, transformFunction: null }, ignoreWidthInput100: { classPropertyName: "ignoreWidthInput100", publicName: "ignoreWidthInput100", isSignal: true, isRequired: false, transformFunction: null }, contentPopoverOverlayIconShowOrHiddenPass: { classPropertyName: "contentPopoverOverlayIconShowOrHiddenPass", publicName: "contentPopoverOverlayIconShowOrHiddenPass", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, validRequired: { classPropertyName: "validRequired", publicName: "validRequired", isSignal: true, isRequired: false, transformFunction: null }, validMinLength: { classPropertyName: "validMinLength", publicName: "validMinLength", isSignal: true, isRequired: false, transformFunction: null }, validPattern: { classPropertyName: "validPattern", publicName: "validPattern", isSignal: true, isRequired: false, transformFunction: null }, defaultHeight: { classPropertyName: "defaultHeight", publicName: "defaultHeight", isSignal: true, isRequired: false, transformFunction: null }, resetAutoCompletePassword: { classPropertyName: "resetAutoCompletePassword", publicName: "resetAutoCompletePassword", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { typeInput: "typeInputChange", iconLeftClass: "iconLeftClassChange", iconRightClass: "iconRightClassChange", item: "itemChange", outGeneratePassword: "outGeneratePassword", outClickIconRight: "outClickIconRight", outValueChange: "outValueChange", outFunctionsControl: "outFunctionsControl" }, ngImport: i0, 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 [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]=\"typeInput() === 'password' ? 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", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: LibsUiComponentsInputsValidComponent, selector: "libs_ui-components-inputs-valid", inputs: ["item", "labelConfig", "emitEmptyInDataTypeNumber", "ignoreBlockInputMaxValue", "fieldNameBind", "showCount", "typeComponentSelectItem", "valueComponentSelectItem", "disableComponentSelectItem", "tagInput", "dataType", "typeInput", "modeInput", "resetAutoCompletePassword", "textAreaEnterNotNewLine", "fixedFloat", "acceptNegativeValue", "valueUpDownNumber", "ignoreWidthInput100", "classIncludeInput", "classContainerInput", "readonly", "disable", "noBorder", "backgroundNone", "useColorModeExist", "placeholder", "keepPlaceholderOnly", "classContainerBottomInput", "autoRemoveEmoji", "defaultHeight", "maxHeightTextArea", "minHeightTextArea", "ignoreShowError", "borderError", "iconLeftClass", "popoverContentIconLeft", "iconRightClass", "popoverContentIconRight", "zIndexPopoverContent", "unitsLeft", "configUnitLeft", "keySelectedUnitLeft", "unitsRight", "configUnitRight", "keySelectedUnitRight", "maxValueNumber", "minValueNumber", "ignoreContentLeft", "ignoreContentRight", "isBaselineStyle", "valuePatternShowError", "validPattern", "validRequired", "validMinLength", "validMinValue", "validMaxValue", "validMaxLength", "functionValid", "maxLength", "positionMessageErrorStartInput", "classInclude", "resize", "templateLeftBottomInput", "templateRightBottomInput", "onlyAcceptNegativeValue", "autoAddZeroLessThan10InTypeInt", "maxLengthNumberCount", "classMessageErrorInclude", "ignoreStopPropagationEvent", "ignoreUnitRightClassReadOnly", "paddingRightCustomSpecific", "focusTimeOut", "debounceTimeValidate"], outputs: ["itemChange", "outValueChange", "outSelect", "outIconLeft", "outIconRight", "outClickButtonLabel", "outSwitchEventLabel", "outLabelRightClick", "outEnterInputEvent", "outHeightAreaChange", "outFunctionsControl", "outFocusAndBlur", "outChangeValueByButtonUpDown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
182
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LibsUiComponentsInputsPasswordComponent, isStandalone: true, selector: "libs_ui-components-inputs-password", inputs: { typeInput: { classPropertyName: "typeInput", publicName: "typeInput", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, isPassword: { classPropertyName: "isPassword", publicName: "isPassword", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, labelConfig: { classPropertyName: "labelConfig", publicName: "labelConfig", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, iconLeftClass: { classPropertyName: "iconLeftClass", publicName: "iconLeftClass", isSignal: true, isRequired: false, transformFunction: null }, iconRightClass: { classPropertyName: "iconRightClass", publicName: "iconRightClass", isSignal: true, isRequired: false, transformFunction: null }, popoverContentIconRight: { classPropertyName: "popoverContentIconRight", publicName: "popoverContentIconRight", isSignal: true, isRequired: false, transformFunction: null }, zIndexPopoverOverlay: { classPropertyName: "zIndexPopoverOverlay", publicName: "zIndexPopoverOverlay", isSignal: true, isRequired: false, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: true, transformFunction: null }, fieldNameBind: { classPropertyName: "fieldNameBind", publicName: "fieldNameBind", isSignal: true, isRequired: true, transformFunction: null }, unitsRight: { classPropertyName: "unitsRight", publicName: "unitsRight", isSignal: true, isRequired: false, transformFunction: null }, configUnitRight: { classPropertyName: "configUnitRight", publicName: "configUnitRight", isSignal: true, isRequired: false, transformFunction: null }, keySelectedUnitRight: { classPropertyName: "keySelectedUnitRight", publicName: "keySelectedUnitRight", isSignal: true, isRequired: false, transformFunction: null }, classIncludeInput: { classPropertyName: "classIncludeInput", publicName: "classIncludeInput", isSignal: true, isRequired: false, transformFunction: null }, ignoreWidthInput100: { classPropertyName: "ignoreWidthInput100", publicName: "ignoreWidthInput100", isSignal: true, isRequired: false, transformFunction: null }, contentPopoverOverlayIconShowOrHiddenPass: { classPropertyName: "contentPopoverOverlayIconShowOrHiddenPass", publicName: "contentPopoverOverlayIconShowOrHiddenPass", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, validRequired: { classPropertyName: "validRequired", publicName: "validRequired", isSignal: true, isRequired: false, transformFunction: null }, validMinLength: { classPropertyName: "validMinLength", publicName: "validMinLength", isSignal: true, isRequired: false, transformFunction: null }, validPattern: { classPropertyName: "validPattern", publicName: "validPattern", isSignal: true, isRequired: false, transformFunction: null }, defaultHeight: { classPropertyName: "defaultHeight", publicName: "defaultHeight", isSignal: true, isRequired: false, transformFunction: null }, resetAutoCompletePassword: { classPropertyName: "resetAutoCompletePassword", publicName: "resetAutoCompletePassword", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { typeInput: "typeInputChange", iconLeftClass: "iconLeftClassChange", iconRightClass: "iconRightClassChange", item: "itemChange", outGeneratePassword: "outGeneratePassword", outClickIconRight: "outClickIconRight", outValueChange: "outValueChange", outFunctionsControl: "outFunctionsControl" }, ngImport: i0, template: "<libs_ui-components-inputs-valid\n [(item)]=\"item\"\n [labelConfig]=\"labelConfig()\"\n [fieldNameBind]=\"fieldNameBind()\"\n [validRequired]=\"validRequired()\"\n [validMinLength]=\"validMinLength()\"\n [validPattern]=\"validPattern()\"\n [dataType]=\"'string'\"\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]=\"typeInput() === 'password' ? 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\n class=\"flex items-center\"\n [class.text-[#00bc62]]=\"readonly() || validStatus().length_min\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validStatus().length_min\">\n <i\n 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\n class=\"pt-[4px] flex items-center\"\n [class.text-[#00bc62]]=\"readonly() || validStatus().length_max\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validStatus().length_max\">\n <i\n 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\n class=\"mt-[4px]\"\n [class.text-[#00bc62]]=\"readonly() || validCharacters()\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validCharacters()\">\n <div class=\"flex items-center\">\n <i\n 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\n 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\n 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\n 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\n 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", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: LibsUiComponentsInputsValidComponent, selector: "libs_ui-components-inputs-valid", inputs: ["item", "labelConfig", "emitEmptyInDataTypeNumber", "ignoreBlockInputMaxValue", "fieldNameBind", "showCount", "typeComponentSelectItem", "valueComponentSelectItem", "disableComponentSelectItem", "tagInput", "dataType", "typeInput", "modeInput", "resetAutoCompletePassword", "textAreaEnterNotNewLine", "fixedFloat", "acceptNegativeValue", "valueUpDownNumber", "ignoreWidthInput100", "classIncludeInput", "classContainerInput", "readonly", "disable", "noBorder", "backgroundNone", "useColorModeExist", "placeholder", "keepPlaceholderOnly", "classContainerBottomInput", "autoRemoveEmoji", "defaultHeight", "maxHeightTextArea", "minHeightTextArea", "ignoreShowError", "borderError", "iconLeftClass", "popoverContentIconLeft", "iconRightClass", "popoverContentIconRight", "zIndexPopoverContent", "unitsLeft", "configUnitLeft", "keySelectedUnitLeft", "unitsRight", "configUnitRight", "keySelectedUnitRight", "maxValueNumber", "minValueNumber", "ignoreContentLeft", "ignoreContentRight", "isBaselineStyle", "valuePatternShowError", "validPattern", "validRequired", "validMinLength", "validMinValue", "validMaxValue", "validMaxLength", "functionValid", "maxLength", "positionMessageErrorStartInput", "classInclude", "resize", "templateLeftBottomInput", "templateRightBottomInput", "onlyAcceptNegativeValue", "autoAddZeroLessThan10InTypeInt", "maxLengthNumberCount", "classMessageErrorInclude", "ignoreStopPropagationEvent", "ignoreUnitRightClassReadOnly", "paddingRightCustomSpecific", "focusTimeOut", "debounceTimeValidate"], outputs: ["itemChange", "outValueChange", "outSelect", "outIconLeft", "outIconRight", "outClickButtonLabel", "outSwitchEventLabel", "outLabelRightClick", "outEnterInputEvent", "outHeightAreaChange", "outFunctionsControl", "outFocusAndBlur", "outChangeValueByButtonUpDown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
178
183
  }
179
184
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsInputsPasswordComponent, decorators: [{
180
185
  type: Component,
181
- args: [{ selector: 'libs_ui-components-inputs-password', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
182
- TranslateModule,
183
- LibsUiComponentsInputsValidComponent
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 [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]=\"typeInput() === 'password' ? 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" }]
186
+ args: [{ selector: 'libs_ui-components-inputs-password', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [TranslateModule, LibsUiComponentsInputsValidComponent], template: "<libs_ui-components-inputs-valid\n [(item)]=\"item\"\n [labelConfig]=\"labelConfig()\"\n [fieldNameBind]=\"fieldNameBind()\"\n [validRequired]=\"validRequired()\"\n [validMinLength]=\"validMinLength()\"\n [validPattern]=\"validPattern()\"\n [dataType]=\"'string'\"\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]=\"typeInput() === 'password' ? 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\n class=\"flex items-center\"\n [class.text-[#00bc62]]=\"readonly() || validStatus().length_min\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validStatus().length_min\">\n <i\n 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\n class=\"pt-[4px] flex items-center\"\n [class.text-[#00bc62]]=\"readonly() || validStatus().length_max\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validStatus().length_max\">\n <i\n 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\n class=\"mt-[4px]\"\n [class.text-[#00bc62]]=\"readonly() || validCharacters()\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validCharacters()\">\n <div class=\"flex items-center\">\n <i\n 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\n 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\n 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\n 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\n 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
187
  }] });
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRzLXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9pbnB1dHMvcGFzc3dvcmQvc3JjL2lucHV0cy1wYXNzd29yZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvaW5wdXRzL3Bhc3N3b3JkL3NyYy9pbnB1dHMtcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUF1RyxvQ0FBb0MsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRTdMLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxzQ0FBc0MsRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQWNwSyxNQUFNLE9BQU8sdUNBQXVDO0lBRWxELG1CQUFtQjtJQUNULFdBQVcsR0FBRyxNQUFNLENBQWUsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDMUQsZUFBZSxHQUFHLE1BQU0sQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUUzQyxTQUFTLEdBQUcsTUFBTSxDQUFhLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDL0MseUJBQXlCLEdBQUcsTUFBTSxDQUE4QyxTQUFTLENBQUMsQ0FBQztJQUVuRyxnQkFBZ0I7SUFDUCxTQUFTLEdBQUcsS0FBSyxFQUFjLENBQUM7SUFDaEMsTUFBTSxHQUFHLEtBQUssQ0FBK0IsYUFB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bkQsU0FBUzsrQkFFRSxvQ0FBb0MsY0FFbEMsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDO3dCQUNQLGVBQWU7d0JBQ2Ysb0NBQW9DO3FCQUNyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0LCBtb2RlbCwgT25Jbml0LCBvdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUlucHV0VmFsaWRGdW5jdGlvbkNvbnRyb2xFdmVudCwgSUlucHV0VmFsaWRVbml0Q29uZmlnLCBJVmFsaWRMZW5ndGgsIElWYWxpZFBhdHRlcm4sIElWYWxpZFJlcXVpcmVkLCBMaWJzVWlDb21wb25lbnRzSW5wdXRzVmFsaWRDb21wb25lbnQgfSBmcm9tICdAbGlicy11aS9jb21wb25lbnRzLWlucHV0cy12YWxpZCc7XG5pbXBvcnQgeyBJTGFiZWwgfSBmcm9tICdAbGlicy11aS9jb21wb25lbnRzLWxhYmVsJztcbmltcG9ydCB7IHNldCB9IGZyb20gJ0BsaWJzLXVpL3V0aWxzJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgSUNoYXJhY3RlciwgSUNvbmZpZywgSUNvbnRlbnRXaGVuSGlkZGVuT3JTaG93UGFzc3dvcmQsIElWYWxpZFN0YXR1cyB9IGZyb20gJy4vaW50ZXJmYWNlcy9wYXNzd29yZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgZGVmYXVsdENvbmZpZywgZGVmYXVsdENvbnRlbnRXaGVuSGlkZGVuT3JTaG93UGFzc3dvcmQsIGRlZmF1bHRWYWxpZE1pbkxlbmd0aCwgZGVmYXVsdFZhbGlkUmVxdWlyZWQsIGdldENoYXJhY3RlciwgZ2V0VmFsaWRTdGF0dXMgfSBmcm9tICcuL3V0aWxzL3Bhc3N3b3JkJztcbmltcG9ydCB7IFRZUEVfSU5QVVQgfSBmcm9tICdAbGlicy11aS9jb21wb25lbnRzLWlucHV0cy1pbnB1dCc7XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2xpYnNfdWktY29tcG9uZW50cy1pbnB1dHMtcGFzc3dvcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXRzLXBhc3N3b3JkLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgTGlic1VpQ29tcG9uZW50c0lucHV0c1ZhbGlkQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTGlic1VpQ29tcG9uZW50c0lucHV0c1Bhc3N3b3JkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAvLyAjcmVnaW9uIFBST1BFUlRZXG4gIHByb3RlY3RlZCB2YWxpZFN0YXR1cyA9IHNpZ25hbDxJVmFsaWRTdGF0dXM+KGdldFZhbGlkU3RhdHVzKGZhbHNlKSk7XG4gIHByb3RlY3RlZCB2YWxpZENoYXJhY3RlcnMgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHByaXZhdGUgY2hhcmFjdGVyID0gc2lnbmFsPElDaGFyYWN0ZXI+KGdldENoYXJhY3RlcigpKTtcbiAgcHJpdmF0ZSBpbnB1dFZhbGlkRnVuY3Rpb25Db250cm9sID0gc2lnbmFsPElJbnB1dFZhbGlkRnVuY3Rpb25Db250cm9sRXZlbnQgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgLy8gI3JlZ2lvbiBJTlBVVFxuICByZWFkb25seSB0eXBlSW5wdXQgPSBtb2RlbDxUWVBFX0lOUFVUPigpO1xuICByZWFkb25seSBjb25maWcgPSBpbnB1dDxJQ29uZmlnLCBJQ29uZmlnIHwgdW5kZWZpbmVkPihkZWZhdWx0Q29uZmlnKCksIHsgdHJhbnNmb3JtOiB2YWx1ZSA9PiB2YWx1ZSA/PyBkZWZhdWx0Q29uZmlnKCkgfSk7XG4gIHJlYWRvbmx5IGlzUGFzc3dvcmQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IHJlYWRvbmx5ID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgcmVhZG9ubHkgbGFiZWxDb25maWcgPSBpbnB1dDxJTGFiZWw+KCk7XG4gIHJlYWRvbmx5IHBsYWNlaG9sZGVyID0gaW5wdXQ8c3RyaW5nPigpO1xuICByZWFkb25seSBpY29uTGVmdENsYXNzID0gbW9kZWw8c3RyaW5nPigpO1xuICByZWFkb25seSBpY29uUmlnaHRDbGFzcyA9IG1vZGVsPHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgcG9wb3ZlckNvbnRlbnRJY29uUmlnaHQgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IHpJbmRleFBvcG92ZXJPdmVybGF5ID0gaW5wdXQ8bnVtYmVyPigpO1xuICByZWFkb25seSBpdGVtID0gbW9kZWwucmVxdWlyZWQ8UmVjb3JkPHN0cmluZywgYW55Pj4oe30pO1xuICByZWFkb25seSBmaWVsZE5hbWVCaW5kID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICByZWFkb25seSB1bml0c1JpZ2h0ID0gaW5wdXQ8QXJyYXk8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+PigpO1xuICByZWFkb25seSBjb25maWdVbml0UmlnaHQgPSBpbnB1dDxJSW5wdXRWYWxpZFVuaXRDb25maWc+KCk7XG4gIHJlYWRvbmx5IGtleVNlbGVjdGVkVW5pdFJpZ2h0ID0gaW5wdXQ8dW5rbm93bj4oKTtcbiAgcmVhZG9ubHkgY2xhc3NJbmNsdWRlSW5wdXQgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IGlnbm9yZVdpZHRoSW5wdXQxMDAgPSBpbnB1dDxib29sZWFuPigpO1xuICByZWFkb25seSBjb250ZW50UG9wb3Zlck92ZXJsYXlJY29uU2hvd09ySGlkZGVuUGFzcyA9IGlucHV0PElDb250ZW50V2hlbkhpZGRlbk9yU2hvd1Bhc3N3b3JkLCBJQ29udGVudFdoZW5IaWRkZW5PclNob3dQYXNzd29yZCB8IHVuZGVmaW5lZD4oZGVmYXVsdENvbnRlbnRXaGVuSGlkZGVuT3JTaG93UGFzc3dvcmQoKSwgeyB0cmFuc2Zvcm06IHZhbHVlID0+IHZhbHVlID8/IGRlZmF1bHRDb250ZW50V2hlbkhpZGRlbk9yU2hvd1Bhc3N3b3JkKCkgfSk7XG4gIHJlYWRvbmx5IG1heExlbmd0aCA9IGlucHV0PG51bWJlcj4oMjApO1xuICByZWFkb25seSB2YWxpZFJlcXVpcmVkID0gaW5wdXQ8SVZhbGlkUmVxdWlyZWQsIElWYWxpZFJlcXVpcmVkIHwgdW5kZWZpbmVkPihkZWZhdWx0VmFsaWRSZXF1aXJlZCgpLCB7IHRyYW5zZm9ybTogdmFsdWUgPT4gdmFsdWUgPz8gZGVmYXVsdFZhbGlkUmVxdWlyZWQoKSB9KTtcbiAgcmVhZG9ubHkgdmFsaWRNaW5MZW5ndGggPSBpbnB1dDxJVmFsaWRMZW5ndGgsIElWYWxpZExlbmd0aCB8IHVuZGVmaW5lZD4oZGVmYXVsdFZhbGlkTWluTGVuZ3RoKCksIHsgdHJhbnNmb3JtOiB2YWx1ZSA9PiB2YWx1ZSA/PyBkZWZhdWx0VmFsaWRNaW5MZW5ndGgoKSB9KTtcbiAgcmVhZG9ubHkgdmFsaWRQYXR0ZXJuID0gaW5wdXQ8QXJyYXk8SVZhbGlkUGF0dGVybj4+KCk7XG4gIHJlYWRvbmx5IGRlZmF1bHRIZWlnaHQgPSBpbnB1dDxudW1iZXI+KCk7XG4gIHJlYWRvbmx5IHJlc2V0QXV0b0NvbXBsZXRlUGFzc3dvcmQgPSBpbnB1dDxib29sZWFuPigpO1xuXG4gIC8vICNyZWdpb24gT1VUUFVUXG4gIHJlYWRvbmx5IG91dEdlbmVyYXRlUGFzc3dvcmQgPSBvdXRwdXQ8c3RyaW5nPigpO1xuICByZWFkb25seSBvdXRDbGlja0ljb25SaWdodCA9IG91dHB1dDx2b2lkPigpO1xuICByZWFkb25seSBvdXRWYWx1ZUNoYW5nZSA9IG91dHB1dDxzdHJpbmcgfCBudW1iZXI+KCk7XG4gIHJlYWRvbmx5IG91dEZ1bmN0aW9uc0NvbnRyb2wgPSBvdXRwdXQ8SUlucHV0VmFsaWRGdW5jdGlvbkNvbnRyb2xFdmVudD4oKTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5pc1Bhc3N3b3JkKCkpIHtcbiAgICAgIHRoaXMuaWNvblJpZ2h0Q2xhc3Muc2V0KCdsaWJzLXVpLWljb24tZXllLXNvbGlkIGhvdmVyOnRleHQtW3ZhcigtLWxpYnMtdWktY29sb3ItZGVmYXVsdCldIHRleHQtWzE2cHhdIGN1cnNvci1wb2ludGVyIHRleHQtWyM2YTczODNdJyk7XG4gICAgfVxuICB9XG5cbiAgLyogRlVOQ1RJT05TICovXG4gIHByaXZhdGUgYXN5bmMgc2V0VmFsaWRTdGF0dXMoc3RhdHVzOiBib29sZWFuKSB7XG4gICAgdGhpcy52YWxpZENoYXJhY3RlcnMuc2V0KHN0YXR1cyk7XG4gICAgdGhpcy52YWxpZFN0YXR1cy5zZXQoZ2V0VmFsaWRTdGF0dXMoc3RhdHVzKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlckZ1bmN0aW9uQ29udHJvbChldmVudDogSUlucHV0VmFsaWRGdW5jdGlvbkNvbnRyb2xFdmVudCkge1xuICAgIHRoaXMuaW5wdXRWYWxpZEZ1bmN0aW9uQ29udHJvbC5zZXQoZXZlbnQpO1xuICAgIHRoaXMub3V0RnVuY3Rpb25zQ29udHJvbC5lbWl0KHsgLi4uZXZlbnQsIGNoZWNrSXNWYWxpZDogYXN5bmMgKCkgPT4gYXdhaXQgZXZlbnQuY2hlY2tJc1ZhbGlkKCkgJiYgYXdhaXQgdGhpcy5jaGVja1ZhbGlkKCkgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZyB8IG51bWJlcikge1xuICAgIHRoaXMuY2hlY2tWYWxpZCgpO1xuICAgIHRoaXMub3V0VmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgY2hlY2tWYWxpZCgpIHtcbiAgICBjb25zdCBwYXNzd29yZCA9IHRoaXMuaXRlbSgpW3RoaXMuZmllbGROYW1lQmluZCgpXSBhcyBzdHJpbmc7XG4gICAgdGhpcy5zZXRWYWxpZFN0YXR1cyhmYWxzZSk7XG4gICAgaWYgKCFwYXNzd29yZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNvbnN0IGxlbmd0aCA9IHBhc3N3b3JkLmxlbmd0aDtcbiAgICBpZiAobGVuZ3RoID4gdGhpcy5jb25maWcoKS5sZW5ndGhfbWF4KSB7XG4gICAgICB0aGlzLnZhbGlkU3RhdHVzKCkubGVuZ3RoX21heCA9IGZhbHNlO1xuICAgIH1cbiAgICBpZiAobGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy52YWxpZFN0YXR1cygpLmxlbmd0aF9tYXggPSB0cnVlO1xuICAgIH1cbiAgICBpZiAobGVuZ3RoID49IHRoaXMuY29uZmlnKCkubGVuZ3RoX21pbikge1xuICAgICAgdGhpcy52YWxpZFN0YXR1cygpLmxlbmd0aF9taW4gPSB0cnVlO1xuICAgIH1cbiAgICBsZXQgc3ltYm9sID0gMCwgbnVtYmVyID0gMCwgdXBwZXIgPSAwLCBsb3dlciA9IDAsIHRvdGFsID0gMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAodGhpcy5jaGFyYWN0ZXIoKS5udW1iZXJDaGFyYWN0ZXIuaW5jbHVkZXMocGFzc3dvcmQuY2hhckF0KGkpKSkgeyBudW1iZXIrKyB9XG4gICAgICBpZiAodGhpcy5jaGFyYWN0ZXIoKS51cHBlckNoYXJhY3Rlci5pbmNsdWRlcyhwYXNzd29yZC5jaGFyQXQoaSkpKSB7IHVwcGVyKysgfVxuICAgICAgaWYgKHRoaXMuY2hhcmFjdGVyKCkubG93ZXJDaGFyYWN0ZXIuaW5jbHVkZXMocGFzc3dvcmQuY2hhckF0KGkpKSkgeyBsb3dlcisrIH1cbiAgICAgIGlmICh0aGlzLmNoYXJhY3RlcigpLnNwZWNpYWxDaGFyYWN0ZXIuaW5jbHVkZXMocGFzc3dvcmQuY2hhckF0KGkpKSkgeyBzeW1ib2wrKyB9XG4gICAgfVxuICAgIGlmIChudW1iZXIgPj0gdGhpcy5jb25maWcoKS5udW1iZXIgfHwgIXRoaXMuY29uZmlnKCkubnVtYmVyKSB7XG4gICAgICB0aGlzLnZhbGlkU3RhdHVzKCkubnVtYmVyID0gdHJ1ZTtcbiAgICAgIGlmICh0aGlzLmNvbmZpZygpLm51bWJlcikge1xuICAgICAgICB0b3RhbCsrO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodXBwZXIgPj0gdGhpcy5jb25maWcoKS51cHBlcmNhc2UgfHwgIXRoaXMuY29uZmlnKCkudXBwZXJjYXNlKSB7XG4gICAgICB0aGlzLnZhbGlkU3RhdHVzKCkudXBwZXIgPSB0cnVlO1xuICAgICAgaWYgKHRoaXMuY29uZmlnKCkudXBwZXJjYXNlKSB7XG4gICAgICAgIHRvdGFsKys7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChsb3dlciA+PSB0aGlzLmNvbmZpZygpLmxvd2VyY2FzZSB8fCAhdGhpcy5jb25maWcoKS5sb3dlcmNhc2UpIHtcbiAgICAgIHRoaXMudmFsaWRTdGF0dXMoKS5sb3dlciA9IHRydWU7XG4gICAgICBpZiAodGhpcy5jb25maWcoKS5sb3dlcmNhc2UpIHtcbiAgICAgICAgdG90YWwrKztcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHN5bWJvbCA+PSB0aGlzLmNvbmZpZygpLnN5bWJvbCB8fCAhdGhpcy5jb25maWcoKS5zeW1ib2wpIHtcbiAgICAgIHRoaXMudmFsaWRTdGF0dXMoKS5zeW1ib2wgPSB0cnVlO1xuICAgICAgaWYgKHRoaXMuY29uZmlnKCkuc3ltYm9sKSB7XG4gICAgICAgIHRvdGFsKys7XG4gICAgICB9XG4gICAgfVxuICAgIHN3aXRjaCAodGhpcy5jb25maWcoKS5rZXkpIHtcbiAgICAgIGNhc2UgJ2FsbCc6XG4gICAgICAgIGlmICh0aGlzLnZhbGlkU3RhdHVzKCkuc3ltYm9sICYmIHRoaXMudmFsaWRTdGF0dXMoKS5sb3dlciAmJiB0aGlzLnZhbGlkU3RhdHVzKCkudXBwZXIgJiYgdGhpcy52YWxpZFN0YXR1cygpLm51bWJlcikge1xuICAgICAgICAgIHRoaXMudmFsaWRDaGFyYWN0ZXJzLnNldCh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGlmICh0b3RhbCA+PSArdGhpcy5jb25maWcoKS52YWx1ZSkge1xuICAgICAgICAgIHRoaXMudmFsaWRDaGFyYWN0ZXJzLnNldCh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgaWYgKCF0aGlzLnZhbGlkQ2hhcmFjdGVycygpIHx8ICF0aGlzLnZhbGlkU3RhdHVzKCkubGVuZ3RoX21pbiB8fCAhdGhpcy52YWxpZFN0YXR1cygpLmxlbmd0aF9tYXgpIHtcbiAgICAgIHRoaXMudmFsaWRTdGF0dXMudXBkYXRlKHZhbHVlID0+ICh7IC4uLnZhbHVlIH0pKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy52YWxpZFN0YXR1cy51cGRhdGUodmFsdWUgPT4gKHsgLi4udmFsdWUgfSkpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZUNsaWNrSWNvblJpZ2h0KCkge1xuICAgIHRoaXMub3V0Q2xpY2tJY29uUmlnaHQuZW1pdCgpO1xuICAgIGlmICh0aGlzLmlzUGFzc3dvcmQoKSkge1xuICAgICAgdGhpcy50eXBlSW5wdXQudXBkYXRlKHZhbHVlID0+IHZhbHVlID09PSAncGFzc3dvcmQnID8gJ3RleHQnIDogJ3Bhc3N3b3JkJyk7XG4gICAgICBpZiAodGhpcy50eXBlSW5wdXQoKSAhPT0gJ3Bhc3N3b3JkJykge1xuICAgICAgICB0aGlzLmljb25SaWdodENsYXNzLnNldCgnbGlicy11aS1pY29uLWV5ZS1zbGFzaC1zb2xpZCBob3Zlcjp0ZXh0LVt2YXIoLS1saWJzLXVpLWNvbG9yLWRlZmF1bHQpXSB0ZXh0LVsxNnB4XSBjdXJzb3ItcG9pbnRlciB0ZXh0LVsjNmE3MzgzXScpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLmljb25SaWdodENsYXNzLnNldCgnbGlicy11aS1pY29uLWV5ZS1zb2xpZCBob3Zlcjp0ZXh0LVt2YXIoLS1saWJzLXVpLWNvbG9yLWRlZmF1bHQpXSB0ZXh0LVsxNnB4XSBjdXJzb3ItcG9pbnRlciB0ZXh0LVsjNmE3MzgzXScpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVyR2VuZXJhdGVQYXNzd29yZCgpIHtcbiAgICBjb25zdCB3b3JkczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuICAgIGlmICh0aGlzLmNvbmZpZygpLm51bWJlcikge1xuICAgICAgdGhpcy5yYW5kb21JbmRleCh0aGlzLmNvbmZpZygpLm51bWJlciwgdGhpcy5jaGFyYWN0ZXIoKS5udW1iZXJDaGFyYWN0ZXIsIHdvcmRzKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuY29uZmlnKCkudXBwZXJjYXNlKSB7XG4gICAgICB0aGlzLnJhbmRvbUluZGV4KHRoaXMuY29uZmlnKCkudXBwZXJjYXNlLCB0aGlzLmNoYXJhY3RlcigpLnVwcGVyQ2hhcmFjdGVyLCB3b3Jkcyk7XG4gICAgfVxuICAgIGlmICh0aGlzLmNvbmZpZygpLmxvd2VyY2FzZSkge1xuICAgICAgdGhpcy5yYW5kb21JbmRleCh0aGlzLmNvbmZpZygpLmxvd2VyY2FzZSwgdGhpcy5jaGFyYWN0ZXIoKS5sb3dlckNoYXJhY3Rlciwgd29yZHMpO1xuICAgIH1cbiAgICBpZiAodGhpcy5jb25maWcoKS5zeW1ib2wpIHtcbiAgICAgIHRoaXMucmFuZG9tSW5kZXgodGhpcy5jb25maWcoKS5zeW1ib2wsIHRoaXMuY2hhcmFjdGVyKCkuc3BlY2lhbENoYXJhY3Rlciwgd29yZHMpO1xuICAgIH1cbiAgICBjb25zdCBsZW5ndGggPSAoK3RoaXMuY29uZmlnKCkubGVuZ3RoX21pbiArIE1hdGguZmxvb3IoKCt0aGlzLmNvbmZpZygpLmxlbmd0aF9tYXggLSArdGhpcy5jb25maWcoKS5sZW5ndGhfbWluKSAvIDIpKSAtIHdvcmRzLmxlbmd0aDtcbiAgICBpZiAobGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5yYW5kb21JbmRleChsZW5ndGgsIHRoaXMuY2hhcmFjdGVyKCkubG93ZXJDaGFyYWN0ZXIsIHdvcmRzKTtcbiAgICB9XG4gICAgc2V0KHRoaXMuaXRlbSwgdGhpcy5maWVsZE5hbWVCaW5kKCksIHdvcmRzLmpvaW4oJycpKTtcbiAgICB0aGlzLmlucHV0VmFsaWRGdW5jdGlvbkNvbnRyb2woKT8uY2hlY2tJc1ZhbGlkKCk7XG4gICAgdGhpcy5vdXRHZW5lcmF0ZVBhc3N3b3JkLmVtaXQod29yZHMuam9pbignJykpO1xuICAgIHRoaXMuc2V0VmFsaWRTdGF0dXModHJ1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgcmFuZG9tSW5kZXgobnVtYmVyOiBudW1iZXIsIGNoYXJhY3Rlcjogc3RyaW5nLCB3b3JkczogQXJyYXk8c3RyaW5nPikge1xuICAgIGZvciAobGV0IGkgPSAxOyBpIDw9IG51bWJlcjsgaSsrKSB7XG4gICAgICBjb25zdCByYW5kb21JbmRleCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNoYXJhY3Rlci5sZW5ndGgpO1xuICAgICAgd29yZHMucHVzaChjaGFyYWN0ZXJbcmFuZG9tSW5kZXhdKTtcbiAgICB9XG4gIH1cblxufVxuIiwiPGxpYnNfdWktY29tcG9uZW50cy1pbnB1dHMtdmFsaWQgWyhpdGVtKV09XCJpdGVtXCJcbiAgW2xhYmVsQ29uZmlnXT1cImxhYmVsQ29uZmlnKClcIlxuICBbZmllbGROYW1lQmluZF09XCJmaWVsZE5hbWVCaW5kKClcIlxuICBbdmFsaWRSZXF1aXJlZF09XCJ2YWxpZFJlcXVpcmVkKClcIlxuICBbdmFsaWRNaW5MZW5ndGhdPVwidmFsaWRNaW5MZW5ndGgoKVwiXG4gIFt2YWxpZFBhdHRlcm5dPVwidmFsaWRQYXR0ZXJuKClcIlxuICBbZGF0YVR5cGVdPVwiJ3N0cmluZydcIlxuICBbaWNvblJpZ2h0Q2xhc3NdPVwiaWNvblJpZ2h0Q2xhc3MoKVwiXG4gIFtpY29uTGVmdENsYXNzXT1cImljb25MZWZ0Q2xhc3MoKVwiXG4gIFtwb3BvdmVyQ29udGVudEljb25SaWdodF09XCJwb3BvdmVyQ29udGVudEljb25SaWdodCgpXCJcbiAgW21heExlbmd0aF09XCJtYXhMZW5ndGgoKVwiXG4gIFtyZWFkb25seV09XCJyZWFkb25seSgpXCJcbiAgW2RlZmF1bHRIZWlnaHRdPVwiZGVmYXVsdEhlaWdodCgpXCJcbiAgW2NsYXNzSW5jbHVkZUlucHV0XT1cImNsYXNzSW5jbHVkZUlucHV0KClcIlxuICBbaWdub3JlV2lkdGhJbnB1dDEwMF09XCJpZ25vcmVXaWR0aElucHV0MTAwKClcIlxuICBbcG9wb3ZlckNvbnRlbnRJY29uUmlnaHRdPVwidHlwZUlucHV0KCkgPT09ICdwYXNzd29yZCcgPyBjb250ZW50UG9wb3Zlck92ZXJsYXlJY29uU2hvd09ySGlkZGVuUGFzcygpLnNob3cgOiBjb250ZW50UG9wb3Zlck92ZXJsYXlJY29uU2hvd09ySGlkZGVuUGFzcygpLmhpZGRlblwiXG4gIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlcigpXCJcbiAgW3VuaXRzUmlnaHRdPVwidW5pdHNSaWdodCgpXCJcbiAgW2NvbmZpZ1VuaXRSaWdodF09XCJjb25maWdVbml0UmlnaHQoKVwiXG4gIFtrZXlTZWxlY3RlZFVuaXRSaWdodF09XCJrZXlTZWxlY3RlZFVuaXRSaWdodCgpXCJcbiAgW3pJbmRleFBvcG92ZXJDb250ZW50XT1cInpJbmRleFBvcG92ZXJPdmVybGF5KClcIlxuICBbcmVzZXRBdXRvQ29tcGxldGVQYXNzd29yZF09XCJyZXNldEF1dG9Db21wbGV0ZVBhc3N3b3JkKClcIlxuICAob3V0Q2xpY2tCdXR0b25MYWJlbCk9XCJoYW5kbGVyR2VuZXJhdGVQYXNzd29yZCgpXCJcbiAgKG91dFZhbHVlQ2hhbmdlKT1cImhhbmRsZVZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAob3V0SWNvblJpZ2h0KT1cImhhbmRsZUNsaWNrSWNvblJpZ2h0KClcIlxuICAob3V0RnVuY3Rpb25zQ29udHJvbCk9XCJoYW5kbGVyRnVuY3Rpb25Db250cm9sKCRldmVudClcIiAvPlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiLmxpYnMtdWktaW5wdXRzLXBhc3N3b3JkLWNvbnRlbnQtY3VzdG9tXCI+PC9uZy1jb250ZW50PlxuPGRpdiBjbGFzcz1cIm10LVs4cHhdXCI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiXG4gICAgW2NsYXNzLnRleHQtWyMwMGJjNjJdXT1cInJlYWRvbmx5KCkgfHwgdmFsaWRTdGF0dXMoKS5sZW5ndGhfbWluXCJcbiAgICBbY2xhc3MudGV4dC1bIzljYTJhZF1dPVwiIXJlYWRvbmx5KCkgJiYgIXZhbGlkU3RhdHVzKCkubGVuZ3RoX21pblwiPlxuICAgIDxpIGNsYXNzPVwidGV4dC1bMTJweF1cIlxuICAgICAgW2NsYXNzLnRleHQtWyMwMGJjNjJdXT1cInJlYWRvbmx5KCkgfHwgdmFsaWRTdGF0dXMoKS5sZW5ndGhfbWluXCJcbiAgICAgIFtjbGFzcy5saWJzLXVpLWljb24tY2hlY2stY2lyY2xlLXNvbGlkXT1cInJlYWRvbmx5KCkgfHwgdmFsaWRTdGF0dXMoKS5sZW5ndGhfbWluXCJcbiAgICAgIFtjbGFzcy50ZXh0LVsjOWNhMmFkXV09XCIhcmVhZG9ubHkoKSAmJiAhdmFsaWRTdGF0dXMoKS5sZW5ndGhfbWluXCJcbiAgICAgIFtjbGFzcy5saWJzLXVpLWljb24tY2hlY2stY2lyY2xlLW91dGxpbmVdPVwiIXJlYWRvbmx5KCkgJiYgIXZhbGlkU3RhdHVzKCkubGVuZ3RoX21pblwiPjwvaT5cbiAgICA8c3BhbiBjbGFzcz1cImxpYnMtdWktZm9udC1oN3IgcGwtWzhweF1cIj57eyAnaTE4bl9taW5pbXVtX2xlbmd0aF9udW1iZXInIHwgdHJhbnNsYXRlOntudW1iZXI6IGNvbmZpZygpLmxlbmd0aF9taW59IH19PC9zcGFuPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInB0LVs0cHhdIGZsZXggaXRlbXMtY2VudGVyXCJcbiAgICBbY2xhc3MudGV4dC1bIzAwYmM2Ml1dPVwicmVhZG9ubHkoKSB8fCB2YWxpZFN0YXR1cygpLmxlbmd0aF9tYXhcIlxuICAgIFtjbGFzcy50ZXh0LVsjOWNhMmFkXV09XCIhcmVhZG9ubHkoKSAmJiAhdmFsaWRTdGF0dXMoKS5sZW5ndGhfbWF4XCI+XG4gICAgPGkgY2xhc3M9XCIgdGV4dC1bMTJweF1cIlxuICAgICAgW2NsYXNzLnRleHQtWyMwMGJjNjJdXT1cInJlYWRvbmx5KCkgfHwgdmFsaWRTdGF0dXMoKS5sZW5ndGhfbWF4XCJcbiAgICAgIFtjbGFzcy5saWJzLXVpLWljb24tY2hlY2stY2lyY2xlLXNvbGlkXT1cInJlYWRvbmx5KCkgfHwgdmFsaWRTdGF0dXMoKS5sZW5ndGhfbWF4XCJcbiAgICAgIFtjbGFzcy50ZXh0LVsjOWNhMmFkXV09XCIhcmVhZG9ubHkoKSAmJiAhdmFsaWRTdGF0dXMoKS5sZW5ndGhfbWF4XCJcbiAgICAgIFtjbGFzcy5saWJzLXVpLWljb24tY2hlY2stY2lyY2xlLW91dGxpbmVdPVwiIXJlYWRvbmx5KCkgJiYgIXZhbGlkU3RhdHVzKCkubGVuZ3RoX21heFwiPjwvaT5cbiAgICA8c3BhbiBjbGFzcz1cImxpYnMtdWktZm9udC1oN3IgcGwtWzhweF1cIj57eyAnaTE4bl9tYXhpbXVtX2xlbmd0aF9udW1iZXInIHwgdHJhbnNsYXRlOntudW1iZXI6IGNvbmZpZygpLmxlbmd0aF9tYXh9IH19PC9zcGFuPlxuICA8L2Rpdj5cbiAgQGlmIChjb25maWcoKS51cHBlcmNhc2UgfHwgY29uZmlnKCkubG93ZXJjYXNlIHx8IGNvbmZpZygpLm51bWJlciB8fCBjb25maWcoKS5zeW1ib2wpIHtcbiAgICA8ZGl2IGNsYXNzPVwibXQtWzRweF1cIlxuICAgICAgW2NsYXNzLnRleHQtWyMwMGJjNjJdXT1cInJlYWRvbmx5KCkgfHwgdmFsaWRDaGFyYWN0ZXJzKClcIlxuICAgICAgW2NsYXNzLnRleHQtWyM5Y2EyYWRdXT1cIiFyZWFkb25seSgpICYmICF2YWxpZENoYXJhY3RlcnMoKVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiIHRleHQtWzEycHhdXCJcbiAgICAgICAgICBbY2xhc3MudGV4dC1bIzAwYmM2Ml1dPVwicmVhZG9ubHkoKSB8fCB2YWxpZENoYXJhY3RlcnMoKVwiXG4gICAgICAgICAgW2NsYXNzLmxpYnMtdWktaWNvbi1jaGVjay1jaXJjbGUtc29saWRdPVwicmVhZG9ubHkoKSB8fCB2YWxpZENoYXJhY3RlcnMoKVwiXG4gICAgICAgICAgW2NsYXNzLnRleHQtWyM5Y2EyYWRdXT1cIiFyZWFkb25seSgpICYmICF2YWxpZENoYXJhY3RlcnMoKVwiXG4gICAgICAgICAgW2NsYXNzLmxpYnMtdWktaWNvbi1jaGVjay1jaXJjbGUtb3V0bGluZV09XCIhcmVhZG9ubHkoKSAmJiAhdmFsaWRDaGFyYWN0ZXJzKClcIj48L2k+XG4gICAgICAgIEBpZiAoY29uZmlnKCkua2V5ID09PSAnYWxsJykge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGlicy11aS1mb250LWg3ciBwbC1bOHB4XVwiPnt7ICdpMThuX2NvbnRhaW5zX2FsbF90eXBlc19vZl9jaGFyYWN0ZXJzX2JlbG93JyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKGNvbmZpZygpLmtleSAhPT0gJ2FsbCcpIHtcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImxpYnMtdWktZm9udC1oN3IgcGwtWzhweF1cIj57eyAnaTE4bl9jb250YWluc19udW1iZXJfdHlwZXNfb2ZfY2hhcmFjdGVyc19iZWxvdycgfCB0cmFuc2xhdGU6e251bWJlcjogY29uZmlnKCkudmFsdWV9IH19PC9zcGFuPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICAgIEBpZiAoY29uZmlnKCkudXBwZXJjYXNlKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsaWJzLXVpLWZvbnQtaDdyIHB0LVs0cHhdIHBsLVsyNHB4XVwiXG4gICAgICAgICAgW2NsYXNzLnRleHQtWyMwMGJjNjJdXT1cInJlYWRvbmx5KCkgfHwgdmFsaWRTdGF0dXMoKS51cHBlclwiXG4gICAgICAgICAgW2NsYXNzLnRleHQtWyM5Y2EyYWRdXT1cIiFyZWFkb25seSgpICYmICF2YWxpZFN0YXR1cygpLnVwcGVyXCI+XG4gICAgICAgICAge3sgJ2kxOG5fdXBwZXJjYXNlX21pbmltdW0nIHwgdHJhbnNsYXRlIDp7bnVtYmVyOiBjb25maWcoKS51cHBlcmNhc2V9IH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgICAgQGlmIChjb25maWcoKS5sb3dlcmNhc2UpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImxpYnMtdWktZm9udC1oN3IgcHQtWzRweF0gcGwtWzI0cHhdXCJcbiAgICAgICAgICBbY2xhc3MudGV4dC1bIzAwYmM2Ml1dPVwicmVhZG9ubHkoKSB8fCB2YWxpZFN0YXR1cygpLmxvd2VyXCJcbiAgICAgICAgICBbY2xhc3MudGV4dC1bIzljYTJhZF1dPVwiIXJlYWRvbmx5KCkgJiYgIXZhbGlkU3RhdHVzKCkubG93ZXJcIj5cbiAgICAgICAgICB7eyAnaTE4bl9sb3dlcmNhc2VfbWluaW11bScgfCB0cmFuc2xhdGUgOntudW1iZXI6IGNvbmZpZygpLmxvd2VyY2FzZX0gfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgICBAaWYgKGNvbmZpZygpLm51bWJlcikge1xuICAgICAgICA8ZGl2IGNsYXNzPVwibGlicy11aS1mb250LWg3ciBwdC1bNHB4XSBwbC1bMjRweF1cIlxuICAgICAgICAgIFtjbGFzcy50ZXh0LVsjMDBiYzYyXV09XCJyZWFkb25seSgpIHx8IHZhbGlkU3RhdHVzKCkubnVtYmVyXCJcbiAgICAgICAgICBbY2xhc3MudGV4dC1bIzljYTJhZF1dPVwiIXJlYWRvbmx5KCkgJiYgIXZhbGlkU3RhdHVzKCkubnVtYmVyXCI+XG4gICAgICAgICAge3sgJ2kxOG5fbnVtYmVyX21pbmltdW0nIHwgdHJhbnNsYXRlIDp7bnVtYmVyOiBjb25maWcoKS5udW1iZXJ9IH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgICAgQGlmIChjb25maWcoKS5zeW1ib2wpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImxpYnMtdWktZm9udC1oN3IgcHQtWzRweF0gcGwtWzI0cHhdXCJcbiAgICAgICAgICBbY2xhc3MudGV4dC1bIzAwYmM2Ml1dPVwicmVhZG9ubHkoKSB8fCB2YWxpZFN0YXR1cygpLnN5bWJvbFwiXG4gICAgICAgICAgW2NsYXNzLnRleHQtWyM5Y2EyYWRdXT1cIiFyZWFkb25seSgpICYmICF2YWxpZFN0YXR1cygpLnN5bWJvbFwiPlxuICAgICAgICAgIHt7ICdpMThuX3N5bWJvbF9taW5pbXVtJyB8IHRyYW5zbGF0ZSA6e251bWJlcjogY29uZmlnKCkuc3ltYm9sfSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfVxuPC9kaXY+XG4iXX0=
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRzLXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9pbnB1dHMvcGFzc3dvcmQvc3JjL2lucHV0cy1wYXNzd29yZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvaW5wdXRzL3Bhc3N3b3JkL3NyYy9pbnB1dHMtcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUF1RyxvQ0FBb0MsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRTdMLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxzQ0FBc0MsRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQVdwSyxNQUFNLE9BQU8sdUNBQXVDO0lBQ2xELG1CQUFtQjtJQUNULFdBQVcsR0FBRyxNQUFNLENBQWUsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDMUQsZUFBZSxHQUFHLE1BQU0sQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUUzQyxTQUFTLEdBQUcsTUFBTSxDQUFhLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDL0MseUJBQXlCLEdBQUcsTUFBTSxDQUE4QyxTQUFTLENBQUMsQ0FBQztJQUVuRyxnQkFBZ0I7SUFDUCxTQUFTLEdBQUcsS0FBSyxFQUFjLENBQUM7SUFDaEMsTUFBTSxHQUFHLEtBQUssQ0FBK0IsYUFB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LENBQUMsQ0FBQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQzt3R0E1TFUsdUNBQXVDOzRGQUF2Qyx1Q0FBdUMseTRIQ2pCcEQsdXNLQTJHQSwyQ0Q1RlksZUFBZSw0RkFBRSxvQ0FBb0M7OzRGQUVwRCx1Q0FBdUM7a0JBUm5ELFNBQVM7K0JBRUUsb0NBQW9DLGNBRWxDLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLGVBQWUsRUFBRSxvQ0FBb0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0LCBtb2RlbCwgT25Jbml0LCBvdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUlucHV0VmFsaWRGdW5jdGlvbkNvbnRyb2xFdmVudCwgSUlucHV0VmFsaWRVbml0Q29uZmlnLCBJVmFsaWRMZW5ndGgsIElWYWxpZFBhdHRlcm4sIElWYWxpZFJlcXVpcmVkLCBMaWJzVWlDb21wb25lbnRzSW5wdXRzVmFsaWRDb21wb25lbnQgfSBmcm9tICdAbGlicy11aS9jb21wb25lbnRzLWlucHV0cy12YWxpZCc7XG5pbXBvcnQgeyBJTGFiZWwgfSBmcm9tICdAbGlicy11aS9jb21wb25lbnRzLWxhYmVsJztcbmltcG9ydCB7IHNldCB9IGZyb20gJ0BsaWJzLXVpL3V0aWxzJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgSUNoYXJhY3RlciwgSUNvbmZpZywgSUNvbnRlbnRXaGVuSGlkZGVuT3JTaG93UGFzc3dvcmQsIElWYWxpZFN0YXR1cyB9IGZyb20gJy4vaW50ZXJmYWNlcy9wYXNzd29yZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgZGVmYXVsdENvbmZpZywgZGVmYXVsdENvbnRlbnRXaGVuSGlkZGVuT3JTaG93UGFzc3dvcmQsIGRlZmF1bHRWYWxpZE1pbkxlbmd0aCwgZGVmYXVsdFZhbGlkUmVxdWlyZWQsIGdldENoYXJhY3RlciwgZ2V0VmFsaWRTdGF0dXMgfSBmcm9tICcuL3V0aWxzL3Bhc3N3b3JkJztcbmltcG9ydCB7IFRZUEVfSU5QVVQgfSBmcm9tICdAbGlicy11aS9jb21wb25lbnRzLWlucHV0cy1pbnB1dCc7XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2xpYnNfdWktY29tcG9uZW50cy1pbnB1dHMtcGFzc3dvcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXRzLXBhc3N3b3JkLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtUcmFuc2xhdGVNb2R1bGUsIExpYnNVaUNvbXBvbmVudHNJbnB1dHNWYWxpZENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIExpYnNVaUNvbXBvbmVudHNJbnB1dHNQYXNzd29yZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8vICNyZWdpb24gUFJPUEVSVFlcbiAgcHJvdGVjdGVkIHZhbGlkU3RhdHVzID0gc2lnbmFsPElWYWxpZFN0YXR1cz4oZ2V0VmFsaWRTdGF0dXMoZmFsc2UpKTtcbiAgcHJvdGVjdGVkIHZhbGlkQ2hhcmFjdGVycyA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG5cbiAgcHJpdmF0ZSBjaGFyYWN0ZXIgPSBzaWduYWw8SUNoYXJhY3Rlcj4oZ2V0Q2hhcmFjdGVyKCkpO1xuICBwcml2YXRlIGlucHV0VmFsaWRGdW5jdGlvbkNvbnRyb2wgPSBzaWduYWw8SUlucHV0VmFsaWRGdW5jdGlvbkNvbnRyb2xFdmVudCB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICAvLyAjcmVnaW9uIElOUFVUXG4gIHJlYWRvbmx5IHR5cGVJbnB1dCA9IG1vZGVsPFRZUEVfSU5QVVQ+KCk7XG4gIHJlYWRvbmx5IGNvbmZpZyA9IGlucHV0PElDb25maWcsIElDb25maWcgfCB1bmRlZmluZWQ+KGRlZmF1bHRDb25maWcoKSwgeyB0cmFuc2Zvcm06ICh2YWx1ZSkgPT4gdmFsdWUgPz8gZGVmYXVsdENvbmZpZygpIH0pO1xuICByZWFkb25seSBpc1Bhc3N3b3JkID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSByZWFkb25seSA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIHJlYWRvbmx5IGxhYmVsQ29uZmlnID0gaW5wdXQ8SUxhYmVsPigpO1xuICByZWFkb25seSBwbGFjZWhvbGRlciA9IGlucHV0PHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgaWNvbkxlZnRDbGFzcyA9IG1vZGVsPHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgaWNvblJpZ2h0Q2xhc3MgPSBtb2RlbDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IHBvcG92ZXJDb250ZW50SWNvblJpZ2h0ID0gaW5wdXQ8c3RyaW5nPigpO1xuICByZWFkb25seSB6SW5kZXhQb3BvdmVyT3ZlcmxheSA9IGlucHV0PG51bWJlcj4oKTtcbiAgcmVhZG9ubHkgaXRlbSA9IG1vZGVsLnJlcXVpcmVkPFJlY29yZDxzdHJpbmcsIGFueT4+KHt9KTtcbiAgcmVhZG9ubHkgZmllbGROYW1lQmluZCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgdW5pdHNSaWdodCA9IGlucHV0PEFycmF5PFJlY29yZDxzdHJpbmcsIHVua25vd24+Pj4oKTtcbiAgcmVhZG9ubHkgY29uZmlnVW5pdFJpZ2h0ID0gaW5wdXQ8SUlucHV0VmFsaWRVbml0Q29uZmlnPigpO1xuICByZWFkb25seSBrZXlTZWxlY3RlZFVuaXRSaWdodCA9IGlucHV0PHVua25vd24+KCk7XG4gIHJlYWRvbmx5IGNsYXNzSW5jbHVkZUlucHV0ID0gaW5wdXQ8c3RyaW5nPigpO1xuICByZWFkb25seSBpZ25vcmVXaWR0aElucHV0MTAwID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgcmVhZG9ubHkgY29udGVudFBvcG92ZXJPdmVybGF5SWNvblNob3dPckhpZGRlblBhc3MgPSBpbnB1dDxJQ29udGVudFdoZW5IaWRkZW5PclNob3dQYXNzd29yZCwgSUNvbnRlbnRXaGVuSGlkZGVuT3JTaG93UGFzc3dvcmQgfCB1bmRlZmluZWQ+KGRlZmF1bHRDb250ZW50V2hlbkhpZGRlbk9yU2hvd1Bhc3N3b3JkKCksIHtcbiAgICB0cmFuc2Zvcm06ICh2YWx1ZSkgPT4gdmFsdWUgPz8gZGVmYXVsdENvbnRlbnRXaGVuSGlkZGVuT3JTaG93UGFzc3dvcmQoKSxcbiAgfSk7XG4gIHJlYWRvbmx5IG1heExlbmd0aCA9IGlucHV0PG51bWJlcj4oMjApO1xuICByZWFkb25seSB2YWxpZFJlcXVpcmVkID0gaW5wdXQ8SVZhbGlkUmVxdWlyZWQsIElWYWxpZFJlcXVpcmVkIHwgdW5kZWZpbmVkPihkZWZhdWx0VmFsaWRSZXF1aXJlZCgpLCB7IHRyYW5zZm9ybTogKHZhbHVlKSA9PiB2YWx1ZSA/PyBkZWZhdWx0VmFsaWRSZXF1aXJlZCgpIH0pO1xuICByZWFkb25seSB2YWxpZE1pbkxlbmd0aCA9IGlucHV0PElWYWxpZExlbmd0aCwgSVZhbGlkTGVuZ3RoIHwgdW5kZWZpbmVkPihkZWZhdWx0VmFsaWRNaW5MZW5ndGgoKSwgeyB0cmFuc2Zvcm06ICh2YWx1ZSkgPT4gdmFsdWUgPz8gZGVmYXVsdFZhbGlkTWluTGVuZ3RoKCkgfSk7XG4gIHJlYWRvbmx5IHZhbGlkUGF0dGVybiA9IGlucHV0PEFycmF5PElWYWxpZFBhdHRlcm4+PigpO1xuICByZWFkb25seSBkZWZhdWx0SGVpZ2h0ID0gaW5wdXQ8bnVtYmVyPigpO1xuICByZWFkb25seSByZXNldEF1dG9Db21wbGV0ZVBhc3N3b3JkID0gaW5wdXQ8Ym9vbGVhbj4oKTtcblxuICAvLyAjcmVnaW9uIE9VVFBVVFxuICByZWFkb25seSBvdXRHZW5lcmF0ZVBhc3N3b3JkID0gb3V0cHV0PHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgb3V0Q2xpY2tJY29uUmlnaHQgPSBvdXRwdXQ8dm9pZD4oKTtcbiAgcmVhZG9ubHkgb3V0VmFsdWVDaGFuZ2UgPSBvdXRwdXQ8c3RyaW5nIHwgbnVtYmVyPigpO1xuICByZWFkb25seSBvdXRGdW5jdGlvbnNDb250cm9sID0gb3V0cHV0PElJbnB1dFZhbGlkRnVuY3Rpb25Db250cm9sRXZlbnQ+KCk7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuaXNQYXNzd29yZCgpKSB7XG4gICAgICB0aGlzLmljb25SaWdodENsYXNzLnNldCgnbGlicy11aS1pY29uLWV5ZS1zb2xpZCBob3Zlcjp0ZXh0LVt2YXIoLS1saWJzLXVpLWNvbG9yLWRlZmF1bHQpXSB0ZXh0LVsxNnB4XSBjdXJzb3ItcG9pbnRlciB0ZXh0LVsjNmE3MzgzXScpO1xuICAgIH1cbiAgfVxuXG4gIC8qIEZVTkNUSU9OUyAqL1xuICBwcml2YXRlIGFzeW5jIHNldFZhbGlkU3RhdHVzKHN0YXR1czogYm9vbGVhbikge1xuICAgIHRoaXMudmFsaWRDaGFyYWN0ZXJzLnNldChzdGF0dXMpO1xuICAgIHRoaXMudmFsaWRTdGF0dXMuc2V0KGdldFZhbGlkU3RhdHVzKHN0YXR1cykpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZXJGdW5jdGlvbkNvbnRyb2woZXZlbnQ6IElJbnB1dFZhbGlkRnVuY3Rpb25Db250cm9sRXZlbnQpIHtcbiAgICB0aGlzLmlucHV0VmFsaWRGdW5jdGlvbkNvbnRyb2wuc2V0KGV2ZW50KTtcbiAgICB0aGlzLm91dEZ1bmN0aW9uc0NvbnRyb2wuZW1pdCh7IC4uLmV2ZW50LCBjaGVja0lzVmFsaWQ6IGFzeW5jICgpID0+IChhd2FpdCBldmVudC5jaGVja0lzVmFsaWQoKSkgJiYgKGF3YWl0IHRoaXMuY2hlY2tWYWxpZCgpKSB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgRnVuY3Rpb25zQ29udHJvbCgpOiBJSW5wdXRWYWxpZEZ1bmN0aW9uQ29udHJvbEV2ZW50IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5pbnB1dFZhbGlkRnVuY3Rpb25Db250cm9sKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZyB8IG51bWJlcikge1xuICAgIHRoaXMuY2hlY2tWYWxpZCgpO1xuICAgIHRoaXMub3V0VmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgY2hlY2tWYWxpZCgpIHtcbiAgICBjb25zdCBwYXNzd29yZCA9IHRoaXMuaXRlbSgpW3RoaXMuZmllbGROYW1lQmluZCgpXSBhcyBzdHJpbmc7XG4gICAgdGhpcy5zZXRWYWxpZFN0YXR1cyhmYWxzZSk7XG4gICAgaWYgKCFwYXNzd29yZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNvbnN0IGxlbmd0aCA9IHBhc3N3b3JkLmxlbmd0aDtcbiAgICBpZiAobGVuZ3RoID4gdGhpcy5jb25maWcoKS5sZW5ndGhfbWF4KSB7XG4gICAgICB0aGlzLnZhbGlkU3RhdHVzKCkubGVuZ3RoX21heCA9IGZhbHNlO1xuICAgIH1cbiAgICBpZiAobGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy52YWxpZFN0YXR1cygpLmxlbmd0aF9tYXggPSB0cnVlO1xuICAgIH1cbiAgICBpZiAobGVuZ3RoID49IHRoaXMuY29uZmlnKCkubGVuZ3RoX21pbikge1xuICAgICAgdGhpcy52YWxpZFN0YXR1cygpLmxlbmd0aF9taW4gPSB0cnVlO1xuICAgIH1cbiAgICBsZXQgc3ltYm9sID0gMCxcbiAgICAgIG51bWJlciA9IDAsXG4gICAgICB1cHBlciA9IDAsXG4gICAgICBsb3dlciA9IDAsXG4gICAgICB0b3RhbCA9IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgaWYgKHRoaXMuY2hhcmFjdGVyKCkubnVtYmVyQ2hhcmFjdGVyLmluY2x1ZGVzKHBhc3N3b3JkLmNoYXJBdChpKSkpIHtcbiAgICAgICAgbnVtYmVyKys7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5jaGFyYWN0ZXIoKS51cHBlckNoYXJhY3Rlci5pbmNsdWRlcyhwYXNzd29yZC5jaGFyQXQoaSkpKSB7XG4gICAgICAgIHVwcGVyKys7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5jaGFyYWN0ZXIoKS5sb3dlckNoYXJhY3Rlci5pbmNsdWRlcyhwYXNzd29yZC5jaGFyQXQoaSkpKSB7XG4gICAgICAgIGxvd2VyKys7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5jaGFyYWN0ZXIoKS5zcGVjaWFsQ2hhcmFjdGVyLmluY2x1ZGVzKHBhc3N3b3JkLmNoYXJBdChpKSkpIHtcbiAgICAgICAgc3ltYm9sKys7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChudW1iZXIgPj0gdGhpcy5jb25maWcoKS5udW1iZXIgfHwgIXRoaXMuY29uZmlnKCkubnVtYmVyKSB7XG4gICAgICB0aGlzLnZhbGlkU3RhdHVzKCkubnVtYmVyID0gdHJ1ZTtcbiAgICAgIGlmICh0aGlzLmNvbmZpZygpLm51bWJlcikge1xuICAgICAgICB0b3RhbCsrO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodXBwZXIgPj0gdGhpcy5jb25maWcoKS51cHBlcmNhc2UgfHwgIXRoaXMuY29uZmlnKCkudXBwZXJjYXNlKSB7XG4gICAgICB0aGlzLnZhbGlkU3RhdHVzKCkudXBwZXIgPSB0cnVlO1xuICAgICAgaWYgKHRoaXMuY29uZmlnKCkudXBwZXJjYXNlKSB7XG4gICAgICAgIHRvdGFsKys7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChsb3dlciA+PSB0aGlzLmNvbmZpZygpLmxvd2VyY2FzZSB8fCAhdGhpcy5jb25maWcoKS5sb3dlcmNhc2UpIHtcbiAgICAgIHRoaXMudmFsaWRTdGF0dXMoKS5sb3dlciA9IHRydWU7XG4gICAgICBpZiAodGhpcy5jb25maWcoKS5sb3dlcmNhc2UpIHtcbiAgICAgICAgdG90YWwrKztcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHN5bWJvbCA+PSB0aGlzLmNvbmZpZygpLnN5bWJvbCB8fCAhdGhpcy5jb25maWcoKS5zeW1ib2wpIHtcbiAgICAgIHRoaXMudmFsaWRTdGF0dXMoKS5zeW1ib2wgPSB0cnVlO1xuICAgICAgaWYgKHRoaXMuY29uZmlnKCkuc3ltYm9sKSB7XG4gICAgICAgIHRvdGFsKys7XG4gICAgICB9XG4gICAgfVxuICAgIHN3aXRjaCAodGhpcy5jb25maWcoKS5rZXkpIHtcbiAgICAgIGNhc2UgJ2FsbCc6XG4gICAgICAgIGlmICh0aGlzLnZhbGlkU3RhdHVzKCkuc3ltYm9sICYmIHRoaXMudmFsaWRTdGF0dXMoKS5sb3dlciAmJiB0aGlzLnZhbGlkU3RhdHVzKCkudXBwZXIgJiYgdGhpcy52YWxpZFN0YXR1cygpLm51bWJlcikge1xuICAgICAgICAgIHRoaXMudmFsaWRDaGFyYWN0ZXJzLnNldCh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGlmICh0b3RhbCA+PSArdGhpcy5jb25maWcoKS52YWx1ZSkge1xuICAgICAgICAgIHRoaXMudmFsaWRDaGFyYWN0ZXJzLnNldCh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgaWYgKCF0aGlzLnZhbGlkQ2hhcmFjdGVycygpIHx8ICF0aGlzLnZhbGlkU3RhdHVzKCkubGVuZ3RoX21pbiB8fCAhdGhpcy52YWxpZFN0YXR1cygpLmxlbmd0aF9tYXgpIHtcbiAgICAgIHRoaXMudmFsaWRTdGF0dXMudXBkYXRlKCh2YWx1ZSkgPT4gKHsgLi4udmFsdWUgfSkpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLnZhbGlkU3RhdHVzLnVwZGF0ZSgodmFsdWUpID0+ICh7IC4uLnZhbHVlIH0pKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVDbGlja0ljb25SaWdodCgpIHtcbiAgICB0aGlzLm91dENsaWNrSWNvblJpZ2h0LmVtaXQoKTtcbiAgICBpZiAodGhpcy5pc1Bhc3N3b3JkKCkpIHtcbiAgICAgIHRoaXMudHlwZUlucHV0LnVwZGF0ZSgodmFsdWUpID0+ICh2YWx1ZSA9PT0gJ3Bhc3N3b3JkJyA/ICd0ZXh0JyA6ICdwYXNzd29yZCcpKTtcbiAgICAgIGlmICh0aGlzLnR5cGVJbnB1dCgpICE9PSAncGFzc3dvcmQnKSB7XG4gICAgICAgIHRoaXMuaWNvblJpZ2h0Q2xhc3Muc2V0KCdsaWJzLXVpLWljb24tZXllLXNsYXNoLXNvbGlkIGhvdmVyOnRleHQtW3ZhcigtLWxpYnMtdWktY29sb3ItZGVmYXVsdCldIHRleHQtWzE2cHhdIGN1cnNvci1wb2ludGVyIHRleHQtWyM2YTczODNdJyk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuaWNvblJpZ2h0Q2xhc3Muc2V0KCdsaWJzLXVpLWljb24tZXllLXNvbGlkIGhvdmVyOnRleHQtW3ZhcigtLWxpYnMtdWktY29sb3ItZGVmYXVsdCldIHRleHQtWzE2cHhdIGN1cnNvci1wb2ludGVyIHRleHQtWyM2YTczODNdJyk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZXJHZW5lcmF0ZVBhc3N3b3JkKCkge1xuICAgIGNvbnN0IHdvcmRzOiBBcnJheTxzdHJpbmc+ID0gW107XG4gICAgaWYgKHRoaXMuY29uZmlnKCkubnVtYmVyKSB7XG4gICAgICB0aGlzLnJhbmRvbUluZGV4KHRoaXMuY29uZmlnKCkubnVtYmVyLCB0aGlzLmNoYXJhY3RlcigpLm51bWJlckNoYXJhY3Rlciwgd29yZHMpO1xuICAgIH1cbiAgICBpZiAodGhpcy5jb25maWcoKS51cHBlcmNhc2UpIHtcbiAgICAgIHRoaXMucmFuZG9tSW5kZXgodGhpcy5jb25maWcoKS51cHBlcmNhc2UsIHRoaXMuY2hhcmFjdGVyKCkudXBwZXJDaGFyYWN0ZXIsIHdvcmRzKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuY29uZmlnKCkubG93ZXJjYXNlKSB7XG4gICAgICB0aGlzLnJhbmRvbUluZGV4KHRoaXMuY29uZmlnKCkubG93ZXJjYXNlLCB0aGlzLmNoYXJhY3RlcigpLmxvd2VyQ2hhcmFjdGVyLCB3b3Jkcyk7XG4gICAgfVxuICAgIGlmICh0aGlzLmNvbmZpZygpLnN5bWJvbCkge1xuICAgICAgdGhpcy5yYW5kb21JbmRleCh0aGlzLmNvbmZpZygpLnN5bWJvbCwgdGhpcy5jaGFyYWN0ZXIoKS5zcGVjaWFsQ2hhcmFjdGVyLCB3b3Jkcyk7XG4gICAgfVxuICAgIGNvbnN0IGxlbmd0aCA9ICt0aGlzLmNvbmZpZygpLmxlbmd0aF9taW4gKyBNYXRoLmZsb29yKCgrdGhpcy5jb25maWcoKS5sZW5ndGhfbWF4IC0gK3RoaXMuY29uZmlnKCkubGVuZ3RoX21pbikgLyAyKSAtIHdvcmRzLmxlbmd0aDtcbiAgICBpZiAobGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5yYW5kb21JbmRleChsZW5ndGgsIHRoaXMuY2hhcmFjdGVyKCkubG93ZXJDaGFyYWN0ZXIsIHdvcmRzKTtcbiAgICB9XG4gICAgc2V0KHRoaXMuaXRlbSwgdGhpcy5maWVsZE5hbWVCaW5kKCksIHdvcmRzLmpvaW4oJycpKTtcbiAgICB0aGlzLmlucHV0VmFsaWRGdW5jdGlvbkNvbnRyb2woKT8uY2hlY2tJc1ZhbGlkKCk7XG4gICAgdGhpcy5vdXRHZW5lcmF0ZVBhc3N3b3JkLmVtaXQod29yZHMuam9pbignJykpO1xuICAgIHRoaXMuc2V0VmFsaWRTdGF0dXModHJ1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgcmFuZG9tSW5kZXgobnVtYmVyOiBudW1iZXIsIGNoYXJhY3Rlcjogc3RyaW5nLCB3b3JkczogQXJyYXk8c3RyaW5nPikge1xuICAgIGZvciAobGV0IGkgPSAxOyBpIDw9IG51bWJlcjsgaSsrKSB7XG4gICAgICBjb25zdCByYW5kb21JbmRleCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNoYXJhY3Rlci5sZW5ndGgpO1xuICAgICAgd29yZHMucHVzaChjaGFyYWN0ZXJbcmFuZG9tSW5kZXhdKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxsaWJzX3VpLWNvbXBvbmVudHMtaW5wdXRzLXZhbGlkXG4gIFsoaXRlbSldPVwiaXRlbVwiXG4gIFtsYWJlbENvbmZpZ109XCJsYWJlbENvbmZpZygpXCJcbiAgW2ZpZWxkTmFtZUJpbmRdPVwiZmllbGROYW1lQmluZCgpXCJcbiAgW3ZhbGlkUmVxdWlyZWRdPVwidmFsaWRSZXF1aXJlZCgpXCJcbiAgW3ZhbGlkTWluTGVuZ3RoXT1cInZhbGlkTWluTGVuZ3RoKClcIlxuICBbdmFsaWRQYXR0ZXJuXT1cInZhbGlkUGF0dGVybigpXCJcbiAgW2RhdGFUeXBlXT1cIidzdHJpbmcnXCJcbiAgW2ljb25SaWdodENsYXNzXT1cImljb25SaWdodENsYXNzKClcIlxuICBbaWNvbkxlZnRDbGFzc109XCJpY29uTGVmdENsYXNzKClcIlxuICBbcG9wb3ZlckNvbnRlbnRJY29uUmlnaHRdPVwicG9wb3ZlckNvbnRlbnRJY29uUmlnaHQoKVwiXG4gIFttYXhMZW5ndGhdPVwibWF4TGVuZ3RoKClcIlxuICBbcmVhZG9ubHldPVwicmVhZG9ubHkoKVwiXG4gIFtkZWZhdWx0SGVpZ2h0XT1cImRlZmF1bHRIZWlnaHQoKVwiXG4gIFtjbGFzc0luY2x1ZGVJbnB1dF09XCJjbGFzc0luY2x1ZGVJbnB1dCgpXCJcbiAgW2lnbm9yZVdpZHRoSW5wdXQxMDBdPVwiaWdub3JlV2lkdGhJbnB1dDEwMCgpXCJcbiAgW3BvcG92ZXJDb250ZW50SWNvblJpZ2h0XT1cInR5cGVJbnB1dCgpID09PSAncGFzc3dvcmQnID8gY29udGVudFBvcG92ZXJPdmVybGF5SWNvblNob3dPckhpZGRlblBhc3MoKS5zaG93IDogY29udGVudFBvcG92ZXJPdmVybGF5SWNvblNob3dPckhpZGRlblBhc3MoKS5oaWRkZW5cIlxuICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIoKVwiXG4gIFt1bml0c1JpZ2h0XT1cInVuaXRzUmlnaHQoKVwiXG4gIFtjb25maWdVbml0UmlnaHRdPVwiY29uZmlnVW5pdFJpZ2h0KClcIlxuICBba2V5U2VsZWN0ZWRVbml0UmlnaHRdPVwia2V5U2VsZWN0ZWRVbml0UmlnaHQoKVwiXG4gIFt6SW5kZXhQb3BvdmVyQ29udGVudF09XCJ6SW5kZXhQb3BvdmVyT3ZlcmxheSgpXCJcbiAgW3Jlc2V0QXV0b0NvbXBsZXRlUGFzc3dvcmRdPVwicmVzZXRBdXRvQ29tcGxldGVQYXNzd29yZCgpXCJcbiAgKG91dENsaWNrQnV0dG9uTGFiZWwpPVwiaGFuZGxlckdlbmVyYXRlUGFzc3dvcmQoKVwiXG4gIChvdXRWYWx1ZUNoYW5nZSk9XCJoYW5kbGVWYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgKG91dEljb25SaWdodCk9XCJoYW5kbGVDbGlja0ljb25SaWdodCgpXCJcbiAgKG91dEZ1bmN0aW9uc0NvbnRyb2wpPVwiaGFuZGxlckZ1bmN0aW9uQ29udHJvbCgkZXZlbnQpXCIgLz5cbjxuZy1jb250ZW50IHNlbGVjdD1cIi5saWJzLXVpLWlucHV0cy1wYXNzd29yZC1jb250ZW50LWN1c3RvbVwiPjwvbmctY29udGVudD5cbjxkaXYgY2xhc3M9XCJtdC1bOHB4XVwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiXG4gICAgW2NsYXNzLnRleHQtWyMwMGJjNjJdXT1cInJlYWRvbmx5KCkgfHwgdmFsaWRTdGF0dXMoKS5sZW5ndGhfbWluXCJcbiAgICBbY2xhc3MudGV4dC1bIzljYTJhZF1dPVwiIXJlYWRvbmx5KCkgJiYgIXZhbGlkU3RhdHVzKCkubGVuZ3RoX21pblwiPlxuICAgIDxpXG4gICAgICBjbGFzcz1cInRleHQtWzEycHhdXCJcbiAgICAgIFtjbGFzcy50ZXh0LVsjMDBiYzYyXV09XCJyZWFkb25seSgpIHx8IHZhbGlkU3RhdHVzKCkubGVuZ3RoX21pblwiXG4gICAgICBbY2xhc3MubGlicy11aS1pY29uLWNoZWNrLWNpcmNsZS1zb2xpZF09XCJyZWFkb25seSgpIHx8IHZhbGlkU3RhdHVzKCkubGVuZ3RoX21pblwiXG4gICAgICBbY2xhc3MudGV4dC1bIzljYTJhZF1dPVwiIXJlYWRvbmx5KCkgJiYgIXZhbGlkU3RhdHVzKCkubGVuZ3RoX21pblwiXG4gICAgICBbY2xhc3MubGlicy11aS1pY29uLWNoZWNrLWNpcmNsZS1vdXRsaW5lXT1cIiFyZWFkb25seSgpICYmICF2YWxpZFN0YXR1cygpLmxlbmd0aF9taW5cIj48L2k+XG4gICAgPHNwYW4gY2xhc3M9XCJsaWJzLXVpLWZvbnQtaDdyIHBsLVs4cHhdXCI+e3sgJ2kxOG5fbWluaW11bV9sZW5ndGhfbnVtYmVyJyB8IHRyYW5zbGF0ZTogeyBudW1iZXI6IGNvbmZpZygpLmxlbmd0aF9taW4gfSB9fTwvc3Bhbj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICBjbGFzcz1cInB0LVs0cHhdIGZsZXggaXRlbXMtY2VudGVyXCJcbiAgICBbY2xhc3MudGV4dC1bIzAwYmM2Ml1dPVwicmVhZG9ubHkoKSB8fCB2YWxpZFN0YXR1cygpLmxlbmd0aF9tYXhcIlxuICAgIFtjbGFzcy50ZXh0LVsjOWNhMmFkXV09XCIhcmVhZG9ubHkoKSAmJiAhdmFsaWRTdGF0dXMoKS5sZW5ndGhfbWF4XCI+XG4gICAgPGlcbiAgICAgIGNsYXNzPVwidGV4dC1bMTJweF1cIlxuICAgICAgW2NsYXNzLnRleHQtWyMwMGJjNjJdXT1cInJlYWRvbmx5KCkgfHwgdmFsaWRTdGF0dXMoKS5sZW5ndGhfbWF4XCJcbiAgICAgIFtjbGFzcy5saWJzLXVpLWljb24tY2hlY2stY2lyY2xlLXNvbGlkXT1cInJlYWRvbmx5KCkgfHwgdmFsaWRTdGF0dXMoKS5sZW5ndGhfbWF4XCJcbiAgICAgIFtjbGFzcy50ZXh0LVsjOWNhMmFkXV09XCIhcmVhZG9ubHkoKSAmJiAhdmFsaWRTdGF0dXMoKS5sZW5ndGhfbWF4XCJcbiAgICAgIFtjbGFzcy5saWJzLXVpLWljb24tY2hlY2stY2lyY2xlLW91dGxpbmVdPVwiIXJlYWRvbmx5KCkgJiYgIXZhbGlkU3RhdHVzKCkubGVuZ3RoX21heFwiPjwvaT5cbiAgICA8c3BhbiBjbGFzcz1cImxpYnMtdWktZm9udC1oN3IgcGwtWzhweF1cIj57eyAnaTE4bl9tYXhpbXVtX2xlbmd0aF9udW1iZXInIHwgdHJhbnNsYXRlOiB7IG51bWJlcjogY29uZmlnKCkubGVuZ3RoX21heCB9IH19PC9zcGFuPlxuICA8L2Rpdj5cbiAgQGlmIChjb25maWcoKS51cHBlcmNhc2UgfHwgY29uZmlnKCkubG93ZXJjYXNlIHx8IGNvbmZpZygpLm51bWJlciB8fCBjb25maWcoKS5zeW1ib2wpIHtcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cIm10LVs0cHhdXCJcbiAgICAgIFtjbGFzcy50ZXh0LVsjMDBiYzYyXV09XCJyZWFkb25seSgpIHx8IHZhbGlkQ2hhcmFjdGVycygpXCJcbiAgICAgIFtjbGFzcy50ZXh0LVsjOWNhMmFkXV09XCIhcmVhZG9ubHkoKSAmJiAhdmFsaWRDaGFyYWN0ZXJzKClcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8aVxuICAgICAgICAgIGNsYXNzPVwidGV4dC1bMTJweF1cIlxuICAgICAgICAgIFtjbGFzcy50ZXh0LVsjMDBiYzYyXV09XCJyZWFkb25seSgpIHx8IHZhbGlkQ2hhcmFjdGVycygpXCJcbiAgICAgICAgICBbY2xhc3MubGlicy11aS1pY29uLWNoZWNrLWNpcmNsZS1zb2xpZF09XCJyZWFkb25seSgpIHx8IHZhbGlkQ2hhcmFjdGVycygpXCJcbiAgICAgICAgICBbY2xhc3MudGV4dC1bIzljYTJhZF1dPVwiIXJlYWRvbmx5KCkgJiYgIXZhbGlkQ2hhcmFjdGVycygpXCJcbiAgICAgICAgICBbY2xhc3MubGlicy11aS1pY29uLWNoZWNrLWNpcmNsZS1vdXRsaW5lXT1cIiFyZWFkb25seSgpICYmICF2YWxpZENoYXJhY3RlcnMoKVwiPjwvaT5cbiAgICAgICAgQGlmIChjb25maWcoKS5rZXkgPT09ICdhbGwnKSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJsaWJzLXVpLWZvbnQtaDdyIHBsLVs4cHhdXCI+e3sgJ2kxOG5fY29udGFpbnNfYWxsX3R5cGVzX29mX2NoYXJhY3RlcnNfYmVsb3cnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoY29uZmlnKCkua2V5ICE9PSAnYWxsJykge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGlicy11aS1mb250LWg3ciBwbC1bOHB4XVwiPnt7ICdpMThuX2NvbnRhaW5zX251bWJlcl90eXBlc19vZl9jaGFyYWN0ZXJzX2JlbG93JyB8IHRyYW5zbGF0ZTogeyBudW1iZXI6IGNvbmZpZygpLnZhbHVlIH0gfX08L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgICAgQGlmIChjb25maWcoKS51cHBlcmNhc2UpIHtcbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwibGlicy11aS1mb250LWg3ciBwdC1bNHB4XSBwbC1bMjRweF1cIlxuICAgICAgICAgIFtjbGFzcy50ZXh0LVsjMDBiYzYyXV09XCJyZWFkb25seSgpIHx8IHZhbGlkU3RhdHVzKCkudXBwZXJcIlxuICAgICAgICAgIFtjbGFzcy50ZXh0LVsjOWNhMmFkXV09XCIhcmVhZG9ubHkoKSAmJiAhdmFsaWRTdGF0dXMoKS51cHBlclwiPlxuICAgICAgICAgIHt7ICdpMThuX3VwcGVyY2FzZV9taW5pbXVtJyB8IHRyYW5zbGF0ZTogeyBudW1iZXI6IGNvbmZpZygpLnVwcGVyY2FzZSB9IH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgICAgQGlmIChjb25maWcoKS5sb3dlcmNhc2UpIHtcbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwibGlicy11aS1mb250LWg3ciBwdC1bNHB4XSBwbC1bMjRweF1cIlxuICAgICAgICAgIFtjbGFzcy50ZXh0LVsjMDBiYzYyXV09XCJyZWFkb25seSgpIHx8IHZhbGlkU3RhdHVzKCkubG93ZXJcIlxuICAgICAgICAgIFtjbGFzcy50ZXh0LVsjOWNhMmFkXV09XCIhcmVhZG9ubHkoKSAmJiAhdmFsaWRTdGF0dXMoKS5sb3dlclwiPlxuICAgICAgICAgIHt7ICdpMThuX2xvd2VyY2FzZV9taW5pbXVtJyB8IHRyYW5zbGF0ZTogeyBudW1iZXI6IGNvbmZpZygpLmxvd2VyY2FzZSB9IH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgICAgQGlmIChjb25maWcoKS5udW1iZXIpIHtcbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwibGlicy11aS1mb250LWg3ciBwdC1bNHB4XSBwbC1bMjRweF1cIlxuICAgICAgICAgIFtjbGFzcy50ZXh0LVsjMDBiYzYyXV09XCJyZWFkb25seSgpIHx8IHZhbGlkU3RhdHVzKCkubnVtYmVyXCJcbiAgICAgICAgICBbY2xhc3MudGV4dC1bIzljYTJhZF1dPVwiIXJlYWRvbmx5KCkgJiYgIXZhbGlkU3RhdHVzKCkubnVtYmVyXCI+XG4gICAgICAgICAge3sgJ2kxOG5fbnVtYmVyX21pbmltdW0nIHwgdHJhbnNsYXRlOiB7IG51bWJlcjogY29uZmlnKCkubnVtYmVyIH0gfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgICBAaWYgKGNvbmZpZygpLnN5bWJvbCkge1xuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJsaWJzLXVpLWZvbnQtaDdyIHB0LVs0cHhdIHBsLVsyNHB4XVwiXG4gICAgICAgICAgW2NsYXNzLnRleHQtWyMwMGJjNjJdXT1cInJlYWRvbmx5KCkgfHwgdmFsaWRTdGF0dXMoKS5zeW1ib2xcIlxuICAgICAgICAgIFtjbGFzcy50ZXh0LVsjOWNhMmFkXV09XCIhcmVhZG9ubHkoKSAmJiAhdmFsaWRTdGF0dXMoKS5zeW1ib2xcIj5cbiAgICAgICAgICB7eyAnaTE4bl9zeW1ib2xfbWluaW11bScgfCB0cmFuc2xhdGU6IHsgbnVtYmVyOiBjb25maWcoKS5zeW1ib2wgfSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfVxuPC9kaXY+XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2lucHV0cy9wYXNzd29yZC9zcmMvaW50ZXJmYWNlcy9wYXNzd29yZC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSVZhbGlkU3RhdHVzIHtcbiAgICB1cHBlcj86IGJvb2xlYW47XG4gICAgbnVtYmVyPzogYm9vbGVhbjtcbiAgICBsb3dlcj86IGJvb2xlYW47XG4gICAgc3ltYm9sPzogYm9vbGVhbjtcbiAgICBudW1iZXJPZkNoYXI/OiBib29sZWFuO1xuICAgIGxlbmd0aF9tYXg/OiBib29sZWFuO1xuICAgIGxlbmd0aF9taW4/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb25maWcge1xuICAgIGxlbmd0aF9tYXg6IG51bWJlcjtcbiAgICBsZW5ndGhfbWluOiBudW1iZXI7XG4gICAgdXBwZXJjYXNlOiBudW1iZXI7XG4gICAgbG93ZXJjYXNlOiBudW1iZXI7XG4gICAgc3ltYm9sOiBudW1iZXI7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgbnVtYmVyOiBudW1iZXI7XG4gICAgdmFsdWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ2hhcmFjdGVyIHtcbiAgICBudW1iZXJDaGFyYWN0ZXI6IHN0cmluZztcbiAgICB1cHBlckNoYXJhY3Rlcjogc3RyaW5nXG4gICAgbG93ZXJDaGFyYWN0ZXI6IHN0cmluZ1xuICAgIHNwZWNpYWxDaGFyYWN0ZXI6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb250ZW50V2hlbkhpZGRlbk9yU2hvd1Bhc3N3b3JkIHtcbiAgICBzaG93OiBzdHJpbmc7XG4gICAgaGlkZGVuOiBzdHJpbmc7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2lucHV0cy9wYXNzd29yZC9zcmMvaW50ZXJmYWNlcy9wYXNzd29yZC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSVZhbGlkU3RhdHVzIHtcbiAgdXBwZXI/OiBib29sZWFuO1xuICBudW1iZXI/OiBib29sZWFuO1xuICBsb3dlcj86IGJvb2xlYW47XG4gIHN5bWJvbD86IGJvb2xlYW47XG4gIG51bWJlck9mQ2hhcj86IGJvb2xlYW47XG4gIGxlbmd0aF9tYXg/OiBib29sZWFuO1xuICBsZW5ndGhfbWluPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ29uZmlnIHtcbiAgbGVuZ3RoX21heDogbnVtYmVyO1xuICBsZW5ndGhfbWluOiBudW1iZXI7XG4gIHVwcGVyY2FzZTogbnVtYmVyO1xuICBsb3dlcmNhc2U6IG51bWJlcjtcbiAgc3ltYm9sOiBudW1iZXI7XG4gIGtleTogc3RyaW5nO1xuICBudW1iZXI6IG51bWJlcjtcbiAgdmFsdWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ2hhcmFjdGVyIHtcbiAgbnVtYmVyQ2hhcmFjdGVyOiBzdHJpbmc7XG4gIHVwcGVyQ2hhcmFjdGVyOiBzdHJpbmc7XG4gIGxvd2VyQ2hhcmFjdGVyOiBzdHJpbmc7XG4gIHNwZWNpYWxDaGFyYWN0ZXI6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ29udGVudFdoZW5IaWRkZW5PclNob3dQYXNzd29yZCB7XG4gIHNob3c6IHN0cmluZztcbiAgaGlkZGVuOiBzdHJpbmc7XG59XG4iXX0=
@@ -6,7 +6,7 @@ export const getValidStatus = (status) => {
6
6
  lower: status,
7
7
  number: status,
8
8
  numberOfChar: status,
9
- symbol: status
9
+ symbol: status,
10
10
  };
11
11
  };
12
12
  export const getCharacter = () => {
@@ -14,7 +14,7 @@ export const getCharacter = () => {
14
14
  numberCharacter: '0123456789',
15
15
  upperCharacter: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
16
16
  lowerCharacter: 'abcdefghijklmnopqrstuvwxyz',
17
- specialCharacter: '~`!@#$%^&*()_=+}{";:.,?|/<>-'
17
+ specialCharacter: '~`!@#$%^&*()_=+}{";:.,?|/<>-',
18
18
  };
19
19
  };
20
20
  export const defaultConfig = () => {
@@ -26,26 +26,26 @@ export const defaultConfig = () => {
26
26
  symbol: 0,
27
27
  key: '',
28
28
  number: 0,
29
- value: '0'
29
+ value: '0',
30
30
  };
31
31
  };
32
32
  export const defaultContentWhenHiddenOrShowPassword = () => {
33
33
  return {
34
34
  show: 'i18n_show',
35
- hidden: 'i18n_hidden'
35
+ hidden: 'i18n_hidden',
36
36
  };
37
37
  };
38
38
  export const defaultValidRequired = () => {
39
39
  return {
40
40
  isRequired: true,
41
- message: 'i18n_password_is_required'
41
+ message: 'i18n_password_is_required',
42
42
  };
43
43
  };
44
44
  export const defaultValidMinLength = () => {
45
45
  return {
46
46
  length: 4,
47
47
  message: 'i18n_password_min_length',
48
- interpolateParams: { length: 4 }
48
+ interpolateParams: { length: 4 },
49
49
  };
50
50
  };
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvaW5wdXRzL3Bhc3N3b3JkL3NyYy91dGlscy9wYXNzd29yZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFlLEVBQWdCLEVBQUU7SUFDOUQsT0FBTztRQUNMLFVBQVUsRUFBRSxNQUFNO1FBQ2xCLFVBQVUsRUFBRSxNQUFNO1FBQ2xCLEtBQUssRUFBRSxNQUFNO1FBQ2IsS0FBSyxFQUFFLE1BQU07UUFDYixNQUFNLEVBQUUsTUFBTTtRQUNkLFlBQVksRUFBRSxNQUFNO1FBQ3BCLE1BQU0sRUFBRSxNQUFNO0tBQ2YsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxHQUFlLEVBQUU7SUFDM0MsT0FBTztRQUNMLGVBQWUsRUFBRSxZQUFZO1FBQzdCLGNBQWMsRUFBRSw0QkFBNEI7UUFDNUMsY0FBYyxFQUFFLDRCQUE0QjtRQUM1QyxnQkFBZ0IsRUFBRSw4QkFBOEI7S0FDakQsQ0FBQztBQUNKLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxHQUFZLEVBQUU7SUFDekMsT0FBTztRQUNMLFVBQVUsRUFBRSxFQUFFO1FBQ2QsVUFBVSxFQUFFLENBQUM7UUFDYixTQUFTLEVBQUUsQ0FBQztRQUNaLFNBQVMsRUFBRSxDQUFDO1FBQ1osTUFBTSxFQUFFLENBQUM7UUFDVCxHQUFHLEVBQUUsRUFBRTtRQUNQLE1BQU0sRUFBRSxDQUFDO1FBQ1QsS0FBSyxFQUFFLEdBQUc7S0FDWCxDQUFDO0FBQ0osQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sc0NBQXNDLEdBQUcsR0FBcUMsRUFBRTtJQUMzRixPQUFPO1FBQ0wsSUFBSSxFQUFFLFdBQVc7UUFDakIsTUFBTSxFQUFFLGFBQWE7S0FDdEIsQ0FBQztBQUNKLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEdBQW1CLEVBQUU7SUFDdkQsT0FBTztRQUNMLFVBQVUsRUFBRSxJQUFJO1FBQ2hCLE9BQU8sRUFBRSwyQkFBMkI7S0FDckMsQ0FBQztBQUNKLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEdBQWlCLEVBQUU7SUFDdEQsT0FBTztRQUNMLE1BQU0sRUFBRSxDQUFDO1FBQ1QsT0FBTyxFQUFFLDBCQUEwQjtRQUNuQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUU7S0FDakMsQ0FBQztBQUNKLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElWYWxpZExlbmd0aCwgSVZhbGlkUmVxdWlyZWQgfSBmcm9tIFwiQGxpYnMtdWkvY29tcG9uZW50cy1pbnB1dHMtdmFsaWRcIjtcbmltcG9ydCB7IElDaGFyYWN0ZXIsIElDb25maWcsIElDb250ZW50V2hlbkhpZGRlbk9yU2hvd1Bhc3N3b3JkLCBJVmFsaWRTdGF0dXMgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9wYXNzd29yZC5pbnRlcmZhY2VcIlxuXG5leHBvcnQgY29uc3QgZ2V0VmFsaWRTdGF0dXMgPSAoc3RhdHVzOiBib29sZWFuKTogSVZhbGlkU3RhdHVzID0+IHtcbiAgcmV0dXJuIHtcbiAgICBsZW5ndGhfbWluOiBzdGF0dXMsXG4gICAgbGVuZ3RoX21heDogc3RhdHVzLFxuICAgIHVwcGVyOiBzdGF0dXMsXG4gICAgbG93ZXI6IHN0YXR1cyxcbiAgICBudW1iZXI6IHN0YXR1cyxcbiAgICBudW1iZXJPZkNoYXI6IHN0YXR1cyxcbiAgICBzeW1ib2w6IHN0YXR1c1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBnZXRDaGFyYWN0ZXIgPSAoKTogSUNoYXJhY3RlciA9PiB7XG4gIHJldHVybiB7XG4gICAgbnVtYmVyQ2hhcmFjdGVyOiAnMDEyMzQ1Njc4OScsXG4gICAgdXBwZXJDaGFyYWN0ZXI6ICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWicsXG4gICAgbG93ZXJDaGFyYWN0ZXI6ICdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eicsXG4gICAgc3BlY2lhbENoYXJhY3RlcjogJ35gIUAjJCVeJiooKV89K317XCI7Oi4sP3wvPD4tJ1xuICB9O1xufVxuXG5leHBvcnQgY29uc3QgZGVmYXVsdENvbmZpZyA9ICgpOiBJQ29uZmlnID0+IHtcbiAgcmV0dXJuIHtcbiAgICBsZW5ndGhfbWF4OiAyMCxcbiAgICBsZW5ndGhfbWluOiA0LFxuICAgIHVwcGVyY2FzZTogMCxcbiAgICBsb3dlcmNhc2U6IDAsXG4gICAgc3ltYm9sOiAwLFxuICAgIGtleTogJycsXG4gICAgbnVtYmVyOiAwLFxuICAgIHZhbHVlOiAnMCdcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRDb250ZW50V2hlbkhpZGRlbk9yU2hvd1Bhc3N3b3JkID0gKCk6IElDb250ZW50V2hlbkhpZGRlbk9yU2hvd1Bhc3N3b3JkID0+IHtcbiAgcmV0dXJuIHtcbiAgICBzaG93OiAnaTE4bl9zaG93JyxcbiAgICBoaWRkZW46ICdpMThuX2hpZGRlbidcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRWYWxpZFJlcXVpcmVkID0gKCk6IElWYWxpZFJlcXVpcmVkID0+IHtcbiAgcmV0dXJuIHtcbiAgICBpc1JlcXVpcmVkOiB0cnVlLFxuICAgIG1lc3NhZ2U6ICdpMThuX3Bhc3N3b3JkX2lzX3JlcXVpcmVkJ1xuICB9O1xufVxuXG5leHBvcnQgY29uc3QgZGVmYXVsdFZhbGlkTWluTGVuZ3RoID0gKCk6IElWYWxpZExlbmd0aCA9PiB7XG4gIHJldHVybiB7XG4gICAgbGVuZ3RoOiA0LFxuICAgIG1lc3NhZ2U6ICdpMThuX3Bhc3N3b3JkX21pbl9sZW5ndGgnLFxuICAgIGludGVycG9sYXRlUGFyYW1zOiB7IGxlbmd0aDogNCB9XG4gIH07XG59Il19
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvaW5wdXRzL3Bhc3N3b3JkL3NyYy91dGlscy9wYXNzd29yZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFlLEVBQWdCLEVBQUU7SUFDOUQsT0FBTztRQUNMLFVBQVUsRUFBRSxNQUFNO1FBQ2xCLFVBQVUsRUFBRSxNQUFNO1FBQ2xCLEtBQUssRUFBRSxNQUFNO1FBQ2IsS0FBSyxFQUFFLE1BQU07UUFDYixNQUFNLEVBQUUsTUFBTTtRQUNkLFlBQVksRUFBRSxNQUFNO1FBQ3BCLE1BQU0sRUFBRSxNQUFNO0tBQ2YsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxHQUFlLEVBQUU7SUFDM0MsT0FBTztRQUNMLGVBQWUsRUFBRSxZQUFZO1FBQzdCLGNBQWMsRUFBRSw0QkFBNEI7UUFDNUMsY0FBYyxFQUFFLDRCQUE0QjtRQUM1QyxnQkFBZ0IsRUFBRSw4QkFBOEI7S0FDakQsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxHQUFZLEVBQUU7SUFDekMsT0FBTztRQUNMLFVBQVUsRUFBRSxFQUFFO1FBQ2QsVUFBVSxFQUFFLENBQUM7UUFDYixTQUFTLEVBQUUsQ0FBQztRQUNaLFNBQVMsRUFBRSxDQUFDO1FBQ1osTUFBTSxFQUFFLENBQUM7UUFDVCxHQUFHLEVBQUUsRUFBRTtRQUNQLE1BQU0sRUFBRSxDQUFDO1FBQ1QsS0FBSyxFQUFFLEdBQUc7S0FDWCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0NBQXNDLEdBQUcsR0FBcUMsRUFBRTtJQUMzRixPQUFPO1FBQ0wsSUFBSSxFQUFFLFdBQVc7UUFDakIsTUFBTSxFQUFFLGFBQWE7S0FDdEIsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEdBQW1CLEVBQUU7SUFDdkQsT0FBTztRQUNMLFVBQVUsRUFBRSxJQUFJO1FBQ2hCLE9BQU8sRUFBRSwyQkFBMkI7S0FDckMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEdBQWlCLEVBQUU7SUFDdEQsT0FBTztRQUNMLE1BQU0sRUFBRSxDQUFDO1FBQ1QsT0FBTyxFQUFFLDBCQUEwQjtRQUNuQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUU7S0FDakMsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElWYWxpZExlbmd0aCwgSVZhbGlkUmVxdWlyZWQgfSBmcm9tICdAbGlicy11aS9jb21wb25lbnRzLWlucHV0cy12YWxpZCc7XG5pbXBvcnQgeyBJQ2hhcmFjdGVyLCBJQ29uZmlnLCBJQ29udGVudFdoZW5IaWRkZW5PclNob3dQYXNzd29yZCwgSVZhbGlkU3RhdHVzIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9wYXNzd29yZC5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY29uc3QgZ2V0VmFsaWRTdGF0dXMgPSAoc3RhdHVzOiBib29sZWFuKTogSVZhbGlkU3RhdHVzID0+IHtcbiAgcmV0dXJuIHtcbiAgICBsZW5ndGhfbWluOiBzdGF0dXMsXG4gICAgbGVuZ3RoX21heDogc3RhdHVzLFxuICAgIHVwcGVyOiBzdGF0dXMsXG4gICAgbG93ZXI6IHN0YXR1cyxcbiAgICBudW1iZXI6IHN0YXR1cyxcbiAgICBudW1iZXJPZkNoYXI6IHN0YXR1cyxcbiAgICBzeW1ib2w6IHN0YXR1cyxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDaGFyYWN0ZXIgPSAoKTogSUNoYXJhY3RlciA9PiB7XG4gIHJldHVybiB7XG4gICAgbnVtYmVyQ2hhcmFjdGVyOiAnMDEyMzQ1Njc4OScsXG4gICAgdXBwZXJDaGFyYWN0ZXI6ICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWicsXG4gICAgbG93ZXJDaGFyYWN0ZXI6ICdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eicsXG4gICAgc3BlY2lhbENoYXJhY3RlcjogJ35gIUAjJCVeJiooKV89K317XCI7Oi4sP3wvPD4tJyxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0Q29uZmlnID0gKCk6IElDb25maWcgPT4ge1xuICByZXR1cm4ge1xuICAgIGxlbmd0aF9tYXg6IDIwLFxuICAgIGxlbmd0aF9taW46IDQsXG4gICAgdXBwZXJjYXNlOiAwLFxuICAgIGxvd2VyY2FzZTogMCxcbiAgICBzeW1ib2w6IDAsXG4gICAga2V5OiAnJyxcbiAgICBudW1iZXI6IDAsXG4gICAgdmFsdWU6ICcwJyxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0Q29udGVudFdoZW5IaWRkZW5PclNob3dQYXNzd29yZCA9ICgpOiBJQ29udGVudFdoZW5IaWRkZW5PclNob3dQYXNzd29yZCA9PiB7XG4gIHJldHVybiB7XG4gICAgc2hvdzogJ2kxOG5fc2hvdycsXG4gICAgaGlkZGVuOiAnaTE4bl9oaWRkZW4nLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRWYWxpZFJlcXVpcmVkID0gKCk6IElWYWxpZFJlcXVpcmVkID0+IHtcbiAgcmV0dXJuIHtcbiAgICBpc1JlcXVpcmVkOiB0cnVlLFxuICAgIG1lc3NhZ2U6ICdpMThuX3Bhc3N3b3JkX2lzX3JlcXVpcmVkJyxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0VmFsaWRNaW5MZW5ndGggPSAoKTogSVZhbGlkTGVuZ3RoID0+IHtcbiAgcmV0dXJuIHtcbiAgICBsZW5ndGg6IDQsXG4gICAgbWVzc2FnZTogJ2kxOG5fcGFzc3dvcmRfbWluX2xlbmd0aCcsXG4gICAgaW50ZXJwb2xhdGVQYXJhbXM6IHsgbGVuZ3RoOiA0IH0sXG4gIH07XG59O1xuIl19
@@ -13,7 +13,7 @@ const getValidStatus = (status) => {
13
13
  lower: status,
14
14
  number: status,
15
15
  numberOfChar: status,
16
- symbol: status
16
+ symbol: status,
17
17
  };
18
18
  };
19
19
  const getCharacter = () => {
@@ -21,7 +21,7 @@ const getCharacter = () => {
21
21
  numberCharacter: '0123456789',
22
22
  upperCharacter: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
23
23
  lowerCharacter: 'abcdefghijklmnopqrstuvwxyz',
24
- specialCharacter: '~`!@#$%^&*()_=+}{";:.,?|/<>-'
24
+ specialCharacter: '~`!@#$%^&*()_=+}{";:.,?|/<>-',
25
25
  };
26
26
  };
27
27
  const defaultConfig = () => {
@@ -33,26 +33,26 @@ const defaultConfig = () => {
33
33
  symbol: 0,
34
34
  key: '',
35
35
  number: 0,
36
- value: '0'
36
+ value: '0',
37
37
  };
38
38
  };
39
39
  const defaultContentWhenHiddenOrShowPassword = () => {
40
40
  return {
41
41
  show: 'i18n_show',
42
- hidden: 'i18n_hidden'
42
+ hidden: 'i18n_hidden',
43
43
  };
44
44
  };
45
45
  const defaultValidRequired = () => {
46
46
  return {
47
47
  isRequired: true,
48
- message: 'i18n_password_is_required'
48
+ message: 'i18n_password_is_required',
49
49
  };
50
50
  };
51
51
  const defaultValidMinLength = () => {
52
52
  return {
53
53
  length: 4,
54
54
  message: 'i18n_password_min_length',
55
- interpolateParams: { length: 4 }
55
+ interpolateParams: { length: 4 },
56
56
  };
57
57
  };
58
58
 
@@ -64,7 +64,7 @@ class LibsUiComponentsInputsPasswordComponent {
64
64
  inputValidFunctionControl = signal(undefined);
65
65
  // #region INPUT
66
66
  typeInput = model();
67
- config = input(defaultConfig(), { transform: value => value ?? defaultConfig() });
67
+ config = input(defaultConfig(), { transform: (value) => value ?? defaultConfig() });
68
68
  isPassword = input(false);
69
69
  readonly = input();
70
70
  labelConfig = input();
@@ -80,10 +80,12 @@ class LibsUiComponentsInputsPasswordComponent {
80
80
  keySelectedUnitRight = input();
81
81
  classIncludeInput = input();
82
82
  ignoreWidthInput100 = input();
83
- contentPopoverOverlayIconShowOrHiddenPass = input(defaultContentWhenHiddenOrShowPassword(), { transform: value => value ?? defaultContentWhenHiddenOrShowPassword() });
83
+ contentPopoverOverlayIconShowOrHiddenPass = input(defaultContentWhenHiddenOrShowPassword(), {
84
+ transform: (value) => value ?? defaultContentWhenHiddenOrShowPassword(),
85
+ });
84
86
  maxLength = input(20);
85
- validRequired = input(defaultValidRequired(), { transform: value => value ?? defaultValidRequired() });
86
- validMinLength = input(defaultValidMinLength(), { transform: value => value ?? defaultValidMinLength() });
87
+ validRequired = input(defaultValidRequired(), { transform: (value) => value ?? defaultValidRequired() });
88
+ validMinLength = input(defaultValidMinLength(), { transform: (value) => value ?? defaultValidMinLength() });
87
89
  validPattern = input();
88
90
  defaultHeight = input();
89
91
  resetAutoCompletePassword = input();
@@ -104,7 +106,10 @@ class LibsUiComponentsInputsPasswordComponent {
104
106
  }
105
107
  async handlerFunctionControl(event) {
106
108
  this.inputValidFunctionControl.set(event);
107
- this.outFunctionsControl.emit({ ...event, checkIsValid: async () => await event.checkIsValid() && await this.checkValid() });
109
+ this.outFunctionsControl.emit({ ...event, checkIsValid: async () => (await event.checkIsValid()) && (await this.checkValid()) });
110
+ }
111
+ get FunctionsControl() {
112
+ return this.inputValidFunctionControl();
108
113
  }
109
114
  async handleValueChange(value) {
110
115
  this.checkValid();
@@ -178,16 +183,16 @@ class LibsUiComponentsInputsPasswordComponent {
178
183
  break;
179
184
  }
180
185
  if (!this.validCharacters() || !this.validStatus().length_min || !this.validStatus().length_max) {
181
- this.validStatus.update(value => ({ ...value }));
186
+ this.validStatus.update((value) => ({ ...value }));
182
187
  return false;
183
188
  }
184
- this.validStatus.update(value => ({ ...value }));
189
+ this.validStatus.update((value) => ({ ...value }));
185
190
  return true;
186
191
  }
187
192
  async handleClickIconRight() {
188
193
  this.outClickIconRight.emit();
189
194
  if (this.isPassword()) {
190
- this.typeInput.update(value => value === 'password' ? 'text' : 'password');
195
+ this.typeInput.update((value) => (value === 'password' ? 'text' : 'password'));
191
196
  if (this.typeInput() !== 'password') {
192
197
  this.iconRightClass.set('libs-ui-icon-eye-slash-solid hover:text-[var(--libs-ui-color-default)] text-[16px] cursor-pointer text-[#6a7383]');
193
198
  return;
@@ -209,7 +214,7 @@ class LibsUiComponentsInputsPasswordComponent {
209
214
  if (this.config().symbol) {
210
215
  this.randomIndex(this.config().symbol, this.character().specialCharacter, words);
211
216
  }
212
- const length = (+this.config().length_min + Math.floor((+this.config().length_max - +this.config().length_min) / 2)) - words.length;
217
+ const length = +this.config().length_min + Math.floor((+this.config().length_max - +this.config().length_min) / 2) - words.length;
213
218
  if (length > 0) {
214
219
  this.randomIndex(length, this.character().lowerCharacter, words);
215
220
  }
@@ -225,14 +230,11 @@ class LibsUiComponentsInputsPasswordComponent {
225
230
  }
226
231
  }
227
232
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsInputsPasswordComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
228
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LibsUiComponentsInputsPasswordComponent, isStandalone: true, selector: "libs_ui-components-inputs-password", inputs: { typeInput: { classPropertyName: "typeInput", publicName: "typeInput", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, isPassword: { classPropertyName: "isPassword", publicName: "isPassword", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, labelConfig: { classPropertyName: "labelConfig", publicName: "labelConfig", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, iconLeftClass: { classPropertyName: "iconLeftClass", publicName: "iconLeftClass", isSignal: true, isRequired: false, transformFunction: null }, iconRightClass: { classPropertyName: "iconRightClass", publicName: "iconRightClass", isSignal: true, isRequired: false, transformFunction: null }, popoverContentIconRight: { classPropertyName: "popoverContentIconRight", publicName: "popoverContentIconRight", isSignal: true, isRequired: false, transformFunction: null }, zIndexPopoverOverlay: { classPropertyName: "zIndexPopoverOverlay", publicName: "zIndexPopoverOverlay", isSignal: true, isRequired: false, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: true, transformFunction: null }, fieldNameBind: { classPropertyName: "fieldNameBind", publicName: "fieldNameBind", isSignal: true, isRequired: true, transformFunction: null }, unitsRight: { classPropertyName: "unitsRight", publicName: "unitsRight", isSignal: true, isRequired: false, transformFunction: null }, configUnitRight: { classPropertyName: "configUnitRight", publicName: "configUnitRight", isSignal: true, isRequired: false, transformFunction: null }, keySelectedUnitRight: { classPropertyName: "keySelectedUnitRight", publicName: "keySelectedUnitRight", isSignal: true, isRequired: false, transformFunction: null }, classIncludeInput: { classPropertyName: "classIncludeInput", publicName: "classIncludeInput", isSignal: true, isRequired: false, transformFunction: null }, ignoreWidthInput100: { classPropertyName: "ignoreWidthInput100", publicName: "ignoreWidthInput100", isSignal: true, isRequired: false, transformFunction: null }, contentPopoverOverlayIconShowOrHiddenPass: { classPropertyName: "contentPopoverOverlayIconShowOrHiddenPass", publicName: "contentPopoverOverlayIconShowOrHiddenPass", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, validRequired: { classPropertyName: "validRequired", publicName: "validRequired", isSignal: true, isRequired: false, transformFunction: null }, validMinLength: { classPropertyName: "validMinLength", publicName: "validMinLength", isSignal: true, isRequired: false, transformFunction: null }, validPattern: { classPropertyName: "validPattern", publicName: "validPattern", isSignal: true, isRequired: false, transformFunction: null }, defaultHeight: { classPropertyName: "defaultHeight", publicName: "defaultHeight", isSignal: true, isRequired: false, transformFunction: null }, resetAutoCompletePassword: { classPropertyName: "resetAutoCompletePassword", publicName: "resetAutoCompletePassword", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { typeInput: "typeInputChange", iconLeftClass: "iconLeftClassChange", iconRightClass: "iconRightClassChange", item: "itemChange", outGeneratePassword: "outGeneratePassword", outClickIconRight: "outClickIconRight", outValueChange: "outValueChange", outFunctionsControl: "outFunctionsControl" }, ngImport: i0, 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 [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]=\"typeInput() === 'password' ? 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", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: LibsUiComponentsInputsValidComponent, selector: "libs_ui-components-inputs-valid", inputs: ["item", "labelConfig", "emitEmptyInDataTypeNumber", "ignoreBlockInputMaxValue", "fieldNameBind", "showCount", "typeComponentSelectItem", "valueComponentSelectItem", "disableComponentSelectItem", "tagInput", "dataType", "typeInput", "modeInput", "resetAutoCompletePassword", "textAreaEnterNotNewLine", "fixedFloat", "acceptNegativeValue", "valueUpDownNumber", "ignoreWidthInput100", "classIncludeInput", "classContainerInput", "readonly", "disable", "noBorder", "backgroundNone", "useColorModeExist", "placeholder", "keepPlaceholderOnly", "classContainerBottomInput", "autoRemoveEmoji", "defaultHeight", "maxHeightTextArea", "minHeightTextArea", "ignoreShowError", "borderError", "iconLeftClass", "popoverContentIconLeft", "iconRightClass", "popoverContentIconRight", "zIndexPopoverContent", "unitsLeft", "configUnitLeft", "keySelectedUnitLeft", "unitsRight", "configUnitRight", "keySelectedUnitRight", "maxValueNumber", "minValueNumber", "ignoreContentLeft", "ignoreContentRight", "isBaselineStyle", "valuePatternShowError", "validPattern", "validRequired", "validMinLength", "validMinValue", "validMaxValue", "validMaxLength", "functionValid", "maxLength", "positionMessageErrorStartInput", "classInclude", "resize", "templateLeftBottomInput", "templateRightBottomInput", "onlyAcceptNegativeValue", "autoAddZeroLessThan10InTypeInt", "maxLengthNumberCount", "classMessageErrorInclude", "ignoreStopPropagationEvent", "ignoreUnitRightClassReadOnly", "paddingRightCustomSpecific", "focusTimeOut", "debounceTimeValidate"], outputs: ["itemChange", "outValueChange", "outSelect", "outIconLeft", "outIconRight", "outClickButtonLabel", "outSwitchEventLabel", "outLabelRightClick", "outEnterInputEvent", "outHeightAreaChange", "outFunctionsControl", "outFocusAndBlur", "outChangeValueByButtonUpDown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
233
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LibsUiComponentsInputsPasswordComponent, isStandalone: true, selector: "libs_ui-components-inputs-password", inputs: { typeInput: { classPropertyName: "typeInput", publicName: "typeInput", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, isPassword: { classPropertyName: "isPassword", publicName: "isPassword", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, labelConfig: { classPropertyName: "labelConfig", publicName: "labelConfig", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, iconLeftClass: { classPropertyName: "iconLeftClass", publicName: "iconLeftClass", isSignal: true, isRequired: false, transformFunction: null }, iconRightClass: { classPropertyName: "iconRightClass", publicName: "iconRightClass", isSignal: true, isRequired: false, transformFunction: null }, popoverContentIconRight: { classPropertyName: "popoverContentIconRight", publicName: "popoverContentIconRight", isSignal: true, isRequired: false, transformFunction: null }, zIndexPopoverOverlay: { classPropertyName: "zIndexPopoverOverlay", publicName: "zIndexPopoverOverlay", isSignal: true, isRequired: false, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: true, transformFunction: null }, fieldNameBind: { classPropertyName: "fieldNameBind", publicName: "fieldNameBind", isSignal: true, isRequired: true, transformFunction: null }, unitsRight: { classPropertyName: "unitsRight", publicName: "unitsRight", isSignal: true, isRequired: false, transformFunction: null }, configUnitRight: { classPropertyName: "configUnitRight", publicName: "configUnitRight", isSignal: true, isRequired: false, transformFunction: null }, keySelectedUnitRight: { classPropertyName: "keySelectedUnitRight", publicName: "keySelectedUnitRight", isSignal: true, isRequired: false, transformFunction: null }, classIncludeInput: { classPropertyName: "classIncludeInput", publicName: "classIncludeInput", isSignal: true, isRequired: false, transformFunction: null }, ignoreWidthInput100: { classPropertyName: "ignoreWidthInput100", publicName: "ignoreWidthInput100", isSignal: true, isRequired: false, transformFunction: null }, contentPopoverOverlayIconShowOrHiddenPass: { classPropertyName: "contentPopoverOverlayIconShowOrHiddenPass", publicName: "contentPopoverOverlayIconShowOrHiddenPass", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, validRequired: { classPropertyName: "validRequired", publicName: "validRequired", isSignal: true, isRequired: false, transformFunction: null }, validMinLength: { classPropertyName: "validMinLength", publicName: "validMinLength", isSignal: true, isRequired: false, transformFunction: null }, validPattern: { classPropertyName: "validPattern", publicName: "validPattern", isSignal: true, isRequired: false, transformFunction: null }, defaultHeight: { classPropertyName: "defaultHeight", publicName: "defaultHeight", isSignal: true, isRequired: false, transformFunction: null }, resetAutoCompletePassword: { classPropertyName: "resetAutoCompletePassword", publicName: "resetAutoCompletePassword", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { typeInput: "typeInputChange", iconLeftClass: "iconLeftClassChange", iconRightClass: "iconRightClassChange", item: "itemChange", outGeneratePassword: "outGeneratePassword", outClickIconRight: "outClickIconRight", outValueChange: "outValueChange", outFunctionsControl: "outFunctionsControl" }, ngImport: i0, template: "<libs_ui-components-inputs-valid\n [(item)]=\"item\"\n [labelConfig]=\"labelConfig()\"\n [fieldNameBind]=\"fieldNameBind()\"\n [validRequired]=\"validRequired()\"\n [validMinLength]=\"validMinLength()\"\n [validPattern]=\"validPattern()\"\n [dataType]=\"'string'\"\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]=\"typeInput() === 'password' ? 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\n class=\"flex items-center\"\n [class.text-[#00bc62]]=\"readonly() || validStatus().length_min\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validStatus().length_min\">\n <i\n 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\n class=\"pt-[4px] flex items-center\"\n [class.text-[#00bc62]]=\"readonly() || validStatus().length_max\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validStatus().length_max\">\n <i\n 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\n class=\"mt-[4px]\"\n [class.text-[#00bc62]]=\"readonly() || validCharacters()\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validCharacters()\">\n <div class=\"flex items-center\">\n <i\n 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\n 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\n 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\n 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\n 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", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: LibsUiComponentsInputsValidComponent, selector: "libs_ui-components-inputs-valid", inputs: ["item", "labelConfig", "emitEmptyInDataTypeNumber", "ignoreBlockInputMaxValue", "fieldNameBind", "showCount", "typeComponentSelectItem", "valueComponentSelectItem", "disableComponentSelectItem", "tagInput", "dataType", "typeInput", "modeInput", "resetAutoCompletePassword", "textAreaEnterNotNewLine", "fixedFloat", "acceptNegativeValue", "valueUpDownNumber", "ignoreWidthInput100", "classIncludeInput", "classContainerInput", "readonly", "disable", "noBorder", "backgroundNone", "useColorModeExist", "placeholder", "keepPlaceholderOnly", "classContainerBottomInput", "autoRemoveEmoji", "defaultHeight", "maxHeightTextArea", "minHeightTextArea", "ignoreShowError", "borderError", "iconLeftClass", "popoverContentIconLeft", "iconRightClass", "popoverContentIconRight", "zIndexPopoverContent", "unitsLeft", "configUnitLeft", "keySelectedUnitLeft", "unitsRight", "configUnitRight", "keySelectedUnitRight", "maxValueNumber", "minValueNumber", "ignoreContentLeft", "ignoreContentRight", "isBaselineStyle", "valuePatternShowError", "validPattern", "validRequired", "validMinLength", "validMinValue", "validMaxValue", "validMaxLength", "functionValid", "maxLength", "positionMessageErrorStartInput", "classInclude", "resize", "templateLeftBottomInput", "templateRightBottomInput", "onlyAcceptNegativeValue", "autoAddZeroLessThan10InTypeInt", "maxLengthNumberCount", "classMessageErrorInclude", "ignoreStopPropagationEvent", "ignoreUnitRightClassReadOnly", "paddingRightCustomSpecific", "focusTimeOut", "debounceTimeValidate"], outputs: ["itemChange", "outValueChange", "outSelect", "outIconLeft", "outIconRight", "outClickButtonLabel", "outSwitchEventLabel", "outLabelRightClick", "outEnterInputEvent", "outHeightAreaChange", "outFunctionsControl", "outFocusAndBlur", "outChangeValueByButtonUpDown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
229
234
  }
230
235
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsInputsPasswordComponent, decorators: [{
231
236
  type: Component,
232
- args: [{ selector: 'libs_ui-components-inputs-password', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
233
- TranslateModule,
234
- LibsUiComponentsInputsValidComponent
235
- ], 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 [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]=\"typeInput() === 'password' ? 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" }]
237
+ args: [{ selector: 'libs_ui-components-inputs-password', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [TranslateModule, LibsUiComponentsInputsValidComponent], template: "<libs_ui-components-inputs-valid\n [(item)]=\"item\"\n [labelConfig]=\"labelConfig()\"\n [fieldNameBind]=\"fieldNameBind()\"\n [validRequired]=\"validRequired()\"\n [validMinLength]=\"validMinLength()\"\n [validPattern]=\"validPattern()\"\n [dataType]=\"'string'\"\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]=\"typeInput() === 'password' ? 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\n class=\"flex items-center\"\n [class.text-[#00bc62]]=\"readonly() || validStatus().length_min\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validStatus().length_min\">\n <i\n 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\n class=\"pt-[4px] flex items-center\"\n [class.text-[#00bc62]]=\"readonly() || validStatus().length_max\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validStatus().length_max\">\n <i\n 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\n class=\"mt-[4px]\"\n [class.text-[#00bc62]]=\"readonly() || validCharacters()\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validCharacters()\">\n <div class=\"flex items-center\">\n <i\n 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\n 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\n 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\n 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\n 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" }]
236
238
  }] });
237
239
 
238
240
  /**
@@ -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';\nimport { TYPE_INPUT } from '@libs-ui/components-inputs-input';\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 typeInput = model<TYPE_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, any>>({});\n readonly fieldNameBind = input.required<string>();\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.typeInput.update(value => value === 'password' ? 'text' : 'password');\n if (this.typeInput() !== 'password') {\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 [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]=\"typeInput() === 'password' ? 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};\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';\nimport { TYPE_INPUT } from '@libs-ui/components-inputs-input';\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: [TranslateModule, LibsUiComponentsInputsValidComponent],\n})\nexport class LibsUiComponentsInputsPasswordComponent implements OnInit {\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 typeInput = model<TYPE_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, any>>({});\n readonly fieldNameBind = input.required<string>();\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(), {\n transform: (value) => value ?? defaultContentWhenHiddenOrShowPassword(),\n });\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 public get FunctionsControl(): IInputValidFunctionControlEvent | undefined {\n return this.inputValidFunctionControl();\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,\n number = 0,\n upper = 0,\n lower = 0,\n total = 0;\n for (let i = 0; i < length; i++) {\n if (this.character().numberCharacter.includes(password.charAt(i))) {\n number++;\n }\n if (this.character().upperCharacter.includes(password.charAt(i))) {\n upper++;\n }\n if (this.character().lowerCharacter.includes(password.charAt(i))) {\n lower++;\n }\n if (this.character().specialCharacter.includes(password.charAt(i))) {\n symbol++;\n }\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.typeInput.update((value) => (value === 'password' ? 'text' : 'password'));\n if (this.typeInput() !== 'password') {\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","<libs_ui-components-inputs-valid\n [(item)]=\"item\"\n [labelConfig]=\"labelConfig()\"\n [fieldNameBind]=\"fieldNameBind()\"\n [validRequired]=\"validRequired()\"\n [validMinLength]=\"validMinLength()\"\n [validPattern]=\"validPattern()\"\n [dataType]=\"'string'\"\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]=\"typeInput() === 'password' ? 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\n class=\"flex items-center\"\n [class.text-[#00bc62]]=\"readonly() || validStatus().length_min\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validStatus().length_min\">\n <i\n 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\n class=\"pt-[4px] flex items-center\"\n [class.text-[#00bc62]]=\"readonly() || validStatus().length_max\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validStatus().length_max\">\n <i\n 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\n class=\"mt-[4px]\"\n [class.text-[#00bc62]]=\"readonly() || validCharacters()\"\n [class.text-[#9ca2ad]]=\"!readonly() && !validCharacters()\">\n <div class=\"flex items-center\">\n <i\n 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\n 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\n 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\n 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\n 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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"}
@@ -40,6 +40,7 @@ export declare class LibsUiComponentsInputsPasswordComponent implements OnInit {
40
40
  ngOnInit(): void;
41
41
  private setValidStatus;
42
42
  protected handlerFunctionControl(event: IInputValidFunctionControlEvent): Promise<void>;
43
+ get FunctionsControl(): IInputValidFunctionControlEvent | undefined;
43
44
  protected handleValueChange(value: string | number): Promise<void>;
44
45
  protected checkValid(): Promise<boolean>;
45
46
  protected handleClickIconRight(): Promise<void>;
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@libs-ui/components-inputs-password",
3
- "version": "0.2.306",
3
+ "version": "0.2.308-0",
4
4
  "peerDependencies": {
5
5
  "@angular/core": ">=18.0.0",
6
- "@libs-ui/components-inputs-valid": "0.2.306",
7
- "@libs-ui/components-label": "0.2.306",
8
- "@libs-ui/utils": "0.2.306",
6
+ "@libs-ui/components-inputs-valid": "0.2.308-0",
7
+ "@libs-ui/components-label": "0.2.308-0",
8
+ "@libs-ui/utils": "0.2.308-0",
9
9
  "@ngx-translate/core": "^15.0.0",
10
- "@libs-ui/components-inputs-input": "0.2.306"
10
+ "@libs-ui/components-inputs-input": "0.2.308-0"
11
11
  },
12
12
  "sideEffects": false,
13
13
  "module": "fesm2022/libs-ui-components-inputs-password.mjs",
@@ -1,5 +1,5 @@
1
- import { IValidLength, IValidRequired } from "@libs-ui/components-inputs-valid";
2
- import { ICharacter, IConfig, IContentWhenHiddenOrShowPassword, IValidStatus } from "../interfaces/password.interface";
1
+ import { IValidLength, IValidRequired } from '@libs-ui/components-inputs-valid';
2
+ import { ICharacter, IConfig, IContentWhenHiddenOrShowPassword, IValidStatus } from '../interfaces/password.interface';
3
3
  export declare const getValidStatus: (status: boolean) => IValidStatus;
4
4
  export declare const getCharacter: () => ICharacter;
5
5
  export declare const defaultConfig: () => IConfig;