sidesys-generic-ui 2.2.2 → 2.3.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/lib/animation/emuns/animation.enum.mjs +33 -6
- package/esm2022/lib/avatar/components/profile-group/s-profile-group.component.mjs +2 -2
- package/esm2022/lib/avatar/s-avatar.component.mjs +2 -2
- package/esm2022/lib/badge/s-badge.component.mjs +2 -2
- package/esm2022/lib/button/components/button/s-button.component.mjs +2 -2
- package/esm2022/lib/card/s-card.component.mjs +3 -4
- package/esm2022/lib/card/s-card.module.mjs +4 -12
- package/esm2022/lib/checkbox/checkbox-new/s-checkbox.component.mjs +2 -2
- package/esm2022/lib/checkbox/s-checkbox.component.mjs +2 -2
- package/esm2022/lib/collapse/s-collapse.component.mjs +2 -2
- package/esm2022/lib/dynamic-form/s-dynamic-form.component.mjs +1 -1
- package/esm2022/lib/dynamic-form/s-dynamic-form.module.mjs +4 -19
- package/esm2022/lib/footer/s-footer.component.mjs +2 -2
- package/esm2022/lib/grid-multi-inputs/components/grid-multi-inputs-toolbar-top/grid-multi-inputs-toolbar-top.component.mjs +2 -2
- package/esm2022/lib/grid-multi-inputs/grid-multi-inputs.component.mjs +2 -2
- package/esm2022/lib/input/components/calendar/s-calendar.component.mjs +2 -2
- package/esm2022/lib/input/components/color/s-color.component.mjs +2 -2
- package/esm2022/lib/input/components/error-control/s-error-control.component.mjs +2 -2
- package/esm2022/lib/input/components/input/s-input.component.mjs +2 -2
- package/esm2022/lib/input/components/input-number/s-input-number.component.mjs +2 -2
- package/esm2022/lib/input/components/input-textarea/s-input-textarea.component.mjs +2 -2
- package/esm2022/lib/input/components/range/s-range.component.mjs +7 -7
- package/esm2022/lib/input/components/time/s-time.component.mjs +2 -2
- package/esm2022/lib/input/directives/control-boolean-accessor.directive.mjs +1 -1
- package/esm2022/lib/input/index.mjs +1 -2
- package/esm2022/lib/input/input.module.mjs +7 -12
- package/esm2022/lib/link/s-link.component.mjs +2 -2
- package/esm2022/lib/list-simple/s-list-simple.component.mjs +2 -2
- package/esm2022/lib/modal/modal-confirm/modal-confirm.component.mjs +2 -2
- package/esm2022/lib/navbar/components/icon-menu/components/s-notificaction.component.mjs +2 -2
- package/esm2022/lib/navbar/components/icon-menu/s-icon-menu.component.mjs +2 -2
- package/esm2022/lib/navbar/components/menu-main/s-menu-main.component.mjs +2 -2
- package/esm2022/lib/navbar/components/menu-main/s-menu-main.module.mjs +4 -10
- package/esm2022/lib/navbar/s-navbar.component.mjs +2 -2
- package/esm2022/lib/navbar/s-navbar.module.mjs +4 -10
- package/esm2022/lib/radio/s-radio.component.mjs +2 -2
- package/esm2022/lib/select/select/s-select.component.mjs +3 -3
- package/esm2022/lib/select/select-multiple/s-select-multiple.component.mjs +3 -3
- package/esm2022/lib/select/select-multiple-old/s-select-multiple-old.component.mjs +2 -2
- package/esm2022/lib/select/select-simple/s-select-simple.component.mjs +3 -3
- package/esm2022/lib/sidebar/s-sidebar.component.mjs +2 -2
- package/esm2022/lib/sidebar/s-sidebar.module.mjs +6 -25
- package/esm2022/lib/spinner/s-spinner.component.mjs +8 -17
- package/esm2022/lib/spinner/s-spinner.module.mjs +7 -12
- package/esm2022/lib/table-complete/table-complete.component.mjs +2 -2
- package/esm2022/lib/table-t/s-tablet.component.mjs +2 -2
- package/esm2022/lib/tabs/s-tabs.component.mjs +7 -2
- package/esm2022/lib/tag/s-tag.component.mjs +2 -2
- package/esm2022/lib/theme/s-theme.component.mjs +2 -2
- package/esm2022/lib/timeline/s-timeline.component.mjs +2 -2
- package/esm2022/lib/toast/s-toast.component.mjs +2 -2
- package/esm2022/lib/toggle-switch/s-toggle-switch.component.mjs +2 -2
- package/esm2022/lib/toggle-switch/toggle-switch-form/toggle-switch-form.component.mjs +115 -16
- package/esm2022/lib/toolbar-top/toolbar-top.component.mjs +3 -4
- package/esm2022/lib/toolbar-top/toolbar-top.module.mjs +1 -5
- package/esm2022/lib/tooltip/s-tooltip.component.mjs +4 -4
- package/esm2022/lib/tree-list/s-tree-list.component.mjs +2 -2
- package/esm2022/public-api.mjs +1 -5
- package/fesm2022/sidesys-generic-ui.mjs +1706 -2515
- package/fesm2022/sidesys-generic-ui.mjs.map +1 -1
- package/lib/animation/emuns/animation.enum.d.ts +14 -2
- package/lib/card/s-card.component.d.ts +0 -2
- package/lib/card/s-card.module.d.ts +4 -5
- package/lib/dynamic-form/s-dynamic-form.module.d.ts +7 -9
- package/lib/input/index.d.ts +0 -1
- package/lib/input/input.module.d.ts +14 -15
- package/lib/navbar/components/menu-main/s-menu-main.module.d.ts +4 -5
- package/lib/navbar/s-navbar.module.d.ts +8 -9
- package/lib/sidebar/s-sidebar.module.d.ts +4 -5
- package/lib/spinner/s-spinner.component.d.ts +5 -9
- package/lib/spinner/s-spinner.module.d.ts +2 -1
- package/lib/tabs/s-tabs.component.d.ts +3 -2
- package/lib/toggle-switch/toggle-switch-form/toggle-switch-form.component.d.ts +17 -4
- package/lib/toolbar-top/toolbar-top.component.d.ts +1 -1
- package/lib/toolbar-top/toolbar-top.module.d.ts +7 -8
- package/package.json +1 -1
- package/public-api.d.ts +0 -4
- package/esm2022/lib/drop-down/index.mjs +0 -4
- package/esm2022/lib/drop-down/s-drop-down-button.mjs +0 -7
- package/esm2022/lib/drop-down/s-drop-down.component.mjs +0 -29
- package/esm2022/lib/drop-down/s-drop-down.module.mjs +0 -18
- package/esm2022/lib/form/index.mjs +0 -4
- package/esm2022/lib/form/s-form-control.mjs +0 -59
- package/esm2022/lib/form/s-form.component.mjs +0 -130
- package/esm2022/lib/form/s-form.module.mjs +0 -51
- package/esm2022/lib/icon/index.mjs +0 -3
- package/esm2022/lib/icon/s-icon.component.mjs +0 -41
- package/esm2022/lib/icon/s-icon.module.mjs +0 -22
- package/esm2022/lib/icon/s-icons.mjs +0 -55
- package/esm2022/lib/input/components/input-text/s-input-text.component.mjs +0 -346
- package/esm2022/lib/login/index.mjs +0 -6
- package/esm2022/lib/login/s-login-errors-model.mjs +0 -3
- package/esm2022/lib/login/s-login-event.mjs +0 -3
- package/esm2022/lib/login/s-login-images.mjs +0 -4
- package/esm2022/lib/login/s-login-model.mjs +0 -3
- package/esm2022/lib/login/s-login.component.mjs +0 -121
- package/esm2022/lib/login/s-login.module.mjs +0 -32
- package/lib/drop-down/index.d.ts +0 -3
- package/lib/drop-down/s-drop-down-button.d.ts +0 -4
- package/lib/drop-down/s-drop-down.component.d.ts +0 -12
- package/lib/drop-down/s-drop-down.module.d.ts +0 -8
- package/lib/form/index.d.ts +0 -3
- package/lib/form/s-form-control.d.ts +0 -26
- package/lib/form/s-form.component.d.ts +0 -33
- package/lib/form/s-form.module.d.ts +0 -14
- package/lib/icon/index.d.ts +0 -2
- package/lib/icon/s-icon.component.d.ts +0 -18
- package/lib/icon/s-icon.module.d.ts +0 -8
- package/lib/icon/s-icons.d.ts +0 -8
- package/lib/input/components/input-text/s-input-text.component.d.ts +0 -66
- package/lib/login/index.d.ts +0 -5
- package/lib/login/s-login-errors-model.d.ts +0 -7
- package/lib/login/s-login-event.d.ts +0 -4
- package/lib/login/s-login-images.d.ts +0 -3
- package/lib/login/s-login-model.d.ts +0 -8
- package/lib/login/s-login.component.d.ts +0 -42
- package/lib/login/s-login.module.d.ts +0 -10
|
@@ -86,7 +86,7 @@ export class SInputComponent extends ControlValueAccessorDirective {
|
|
|
86
86
|
useExisting: forwardRef(() => SInputComponent),
|
|
87
87
|
multi: true,
|
|
88
88
|
},
|
|
89
|
-
], usesInheritance: true, ngImport: i0, template: "<div class=\"s-input\">\n <label [for]=\"config.id\" *ngIf=\"config?.label\" class=\"s-input__label\">\n {{ config.label }}\n <span class=\"s-input__required\" *ngIf=\"config?.required\">*</span>\n </label>\n <div\n class=\"s-input__content {{ config.size }} theme-{{ config.theme }} {{\n config.classAdd\n }}\"\n [ngClass]=\"{\n 'disabled-active':\n config.disabled || (control && control.status === 'DISABLED'),\n 'theme-red':\n (control && control.invalid && (isFocused || control.touched)) ||\n (control && errorPattern && control.touched) ||\n config.theme === THEME.RED ||\n config.errorText,\n }\">\n <div *ngIf=\"showIconType()\" class=\"content-left\">\n <s-icon-mat class=\"icon\">{{ iconType }}</s-icon-mat>\n </div>\n <div class=\"content-center\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <input\n autocomplete=\"off\"\n [id]=\"config.id\"\n placeholder=\"{{ config.placeholder }}\"\n [readOnly]=\"config.readOnly || config.disabled\"\n type=\"{{ type }}\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n maxlength=\"{{ config.maxlength }}\"\n [type]=\"config.type\"\n [formControl]=\"control\"\n (input)=\"patternError()\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-container>\n <ng-template #notUseFormControl>\n <input\n autocomplete=\"off\"\n [id]=\"config.id\"\n placeholder=\"{{ config.placeholder }}\"\n [readOnly]=\"config.readOnly || config.disabled\"\n type=\"{{ type }}\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [type]=\"config.type\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-template>\n </div>\n <div *ngIf=\"config?.type === 'password'\" class=\"content-right\">\n <s-icon-mat\n [type]=\"iconSymbol ? 'symbol' : 'icon'\"\n class=\"icon cursor\"\n (click)=\"changeShowPassword()\"\n >{{ showPassword ? 'visibility' : 'visibility_off' }}\n </s-icon-mat>\n </div>\n <div\n *ngIf=\"config?.theme !== THEME.DEFAULT && config.theme !== undefined\"\n class=\"content-right\">\n <s-icon-mat [type]=\"getIconType()\" class=\"icon report\">{{\n ICON_THEME[config.theme]\n }}</s-icon-mat>\n </div>\n <div\n *ngIf=\"\n config.showHelp &&\n (config.theme === THEME.DEFAULT || config.theme !== undefined)\n \"\n class=\"content-right\">\n <s-icon-mat (click)=\"clickHelp()\" class=\"icon cursor\"\n >help_outline</s-icon-mat\n >\n </div>\n </div>\n <s-validation-error\n *ngIf=\"\n !config.hideErrorText &&\n control &&\n control.invalid &&\n (isFocused || control.touched) &&\n !(\n (config.type === INPUT_TYPE.URL && config.errorText) ||\n (config.type === INPUT_TYPE.EMAIL && config.errorText)\n )\n \"\n [customErrorMessages]=\"config.errorMessages ?? undefined\"\n [errors]=\"control.errors\">\n </s-validation-error>\n <s-error-control\n *ngIf=\"!config.hideErrorText && config.errorText\"\n theme=\"red\">\n {{ config.errorText }}\n </s-error-control>\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n config.type !== INPUT_TYPE.SEARCH &&\n !errorPattern &&\n !config.errorText\n \"\n theme=\"red\">\n {{ errorPattern }}\n </s-error-control>\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n !errorPattern &&\n !config.errorText &&\n ((control && control.errors?.['required'] && !control.touched) ||\n (control && !control.errors)) &&\n !(isFocused && control.invalid)\n \">\n {{ config.helpText || '' }}\n </s-error-control>\n</div>\n", styles: [".s-input__label{font-size:.875rem;color:var(--secondary-600)}.s-input__required{color:var(--primary-600)}.s-input__content{display:flex;border
|
|
89
|
+
], usesInheritance: true, ngImport: i0, template: "<div class=\"s-input\">\n <label [for]=\"config.id\" *ngIf=\"config?.label\" class=\"s-input__label\">\n {{ config.label }}\n <span class=\"s-input__required\" *ngIf=\"config?.required\">*</span>\n </label>\n <div\n class=\"s-input__content {{ config.size }} theme-{{ config.theme }} {{\n config.classAdd\n }}\"\n [ngClass]=\"{\n 'disabled-active':\n config.disabled || (control && control.status === 'DISABLED'),\n 'theme-red':\n (control && control.invalid && (isFocused || control.touched)) ||\n (control && errorPattern && control.touched) ||\n config.theme === THEME.RED ||\n config.errorText,\n }\">\n <div *ngIf=\"showIconType()\" class=\"content-left\">\n <s-icon-mat class=\"icon\">{{ iconType }}</s-icon-mat>\n </div>\n <div class=\"content-center\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <input\n autocomplete=\"off\"\n [id]=\"config.id\"\n placeholder=\"{{ config.placeholder }}\"\n [readOnly]=\"config.readOnly || config.disabled\"\n type=\"{{ type }}\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n maxlength=\"{{ config.maxlength }}\"\n [type]=\"config.type\"\n [formControl]=\"control\"\n (input)=\"patternError()\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-container>\n <ng-template #notUseFormControl>\n <input\n autocomplete=\"off\"\n [id]=\"config.id\"\n placeholder=\"{{ config.placeholder }}\"\n [readOnly]=\"config.readOnly || config.disabled\"\n type=\"{{ type }}\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [type]=\"config.type\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-template>\n </div>\n <div *ngIf=\"config?.type === 'password'\" class=\"content-right\">\n <s-icon-mat\n [type]=\"iconSymbol ? 'symbol' : 'icon'\"\n class=\"icon cursor\"\n (click)=\"changeShowPassword()\"\n >{{ showPassword ? 'visibility' : 'visibility_off' }}\n </s-icon-mat>\n </div>\n <div\n *ngIf=\"config?.theme !== THEME.DEFAULT && config.theme !== undefined\"\n class=\"content-right\">\n <s-icon-mat [type]=\"getIconType()\" class=\"icon report\">{{\n ICON_THEME[config.theme]\n }}</s-icon-mat>\n </div>\n <div\n *ngIf=\"\n config.showHelp &&\n (config.theme === THEME.DEFAULT || config.theme !== undefined)\n \"\n class=\"content-right\">\n <s-icon-mat (click)=\"clickHelp()\" class=\"icon cursor\"\n >help_outline</s-icon-mat\n >\n </div>\n </div>\n <s-validation-error\n *ngIf=\"\n !config.hideErrorText &&\n control &&\n control.invalid &&\n (isFocused || control.touched) &&\n !(\n (config.type === INPUT_TYPE.URL && config.errorText) ||\n (config.type === INPUT_TYPE.EMAIL && config.errorText)\n )\n \"\n [customErrorMessages]=\"config.errorMessages ?? undefined\"\n [errors]=\"control.errors\">\n </s-validation-error>\n <s-error-control\n *ngIf=\"!config.hideErrorText && config.errorText\"\n theme=\"red\">\n {{ config.errorText }}\n </s-error-control>\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n config.type !== INPUT_TYPE.SEARCH &&\n !errorPattern &&\n !config.errorText\n \"\n theme=\"red\">\n {{ errorPattern }}\n </s-error-control>\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n !errorPattern &&\n !config.errorText &&\n ((control && control.errors?.['required'] && !control.touched) ||\n (control && !control.errors)) &&\n !(isFocused && control.invalid)\n \">\n {{ config.helpText || '' }}\n </s-error-control>\n</div>\n", styles: [".s-input__label{font-size:.875rem;color:var(--secondary-600)}.s-input__required{color:var(--primary-600)}.s-input__content{display:flex;border:.063rem solid var(--primary-500);border-radius:.25rem;padding:0 .5rem;margin:.188rem 0;background-color:var(--neutrals-1200)}.s-input__content input{width:100%;border:0rem;color:var(--secondary-600);writing-mode:unset;height:2.25rem;font-size:inherit;background-color:var(--neutrals-1200)}.s-input__content input:-webkit-autofill,.s-input__content input:-webkit-autofill:hover,.s-input__content input:-webkit-autofill:focus,.s-input__content input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1.875rem var(--neutrals-1200) inset!important}.s-input__content input:focus,.s-input__content input:focus-visible{outline:none}.s-input__content .icon{width:1.25rem;cursor:default}.s-input__content .icon span{display:flex}.s-input__content .content-center{width:100%;background-color:var(--neutrals-1200)}.s-input__content .content-left{display:flex;align-items:center;justify-content:space-evenly;margin-right:.5rem;color:var(--primary-600)}.s-input__content .content-left-url{display:flex;align-items:center;justify-content:space-evenly;margin-right:.5rem;border-right:.063rem solid var(--secondary-500);padding-right:.5rem;color:var(--secondary-500);font-size:.9rem}.s-input__content .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--secondary-600)}.s-input__content.sm input{height:1.3rem;font-size:.75rem}.s-input__content.sm .icon{width:1.25rem;cursor:default}.s-input__content.sm .icon span{font-size:1.2em;display:flex}.s-input__content.disabled-active{background-color:var(--neutrals-1100);border-color:var(--neutrals-900);color:var(--neutrals-800);pointer-events:none}.s-input__content.disabled-active input{background-color:var(--neutrals-1100);color:var(--neutrals-800)}.s-input__content.disabled-active .content-left{color:var(--neutrals-800)!important}.s-input__content.disabled-active .content-right s-icon-mat span{color:var(--neutrals-800)!important}.s-input__content.theme-red{border:.063rem solid var(--red-500)}.s-input__content.theme-red .icon.report span{color:var(--red-600)}.s-input__content.theme-green{border:.063rem solid var(--green-500)}.s-input__content.theme-green .icon.report span{color:var(--green-600)}.s-input__content.theme-yellow{border:.063rem solid var(--yellow-500)}.s-input__content.theme-yellow .icon.report span{color:var(--yellow-600)}.s-input__content:has(input:focus){border:.063rem solid var(--primary-600);box-shadow:0 0 0 .25rem var(--cyan-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-input__content:has(input:focus).theme-green:has(input:focus){border:.063rem solid var(--green-500);box-shadow:0 0 0 .25rem var(--green-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-input__content:has(input:focus).theme-yellow:has(input:focus){border:.063rem solid var(--yellow-500);box-shadow:0 0 0 .25rem var(--yellow-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-input__content:has(input:focus).theme-red:has(input:focus){border:.063rem solid var(--red-500);box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { kind: "component", type: i4.SErrorControl, selector: "s-error-control", inputs: ["theme", "icon", "iconCustom", "size"] }, { kind: "component", type: i5.SValidationError, selector: "s-validation-error", inputs: ["errors", "customErrorMessages"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
90
90
|
}
|
|
91
91
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SInputComponent, decorators: [{
|
|
92
92
|
type: Component,
|
|
@@ -96,7 +96,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
96
96
|
useExisting: forwardRef(() => SInputComponent),
|
|
97
97
|
multi: true,
|
|
98
98
|
},
|
|
99
|
-
], template: "<div class=\"s-input\">\n <label [for]=\"config.id\" *ngIf=\"config?.label\" class=\"s-input__label\">\n {{ config.label }}\n <span class=\"s-input__required\" *ngIf=\"config?.required\">*</span>\n </label>\n <div\n class=\"s-input__content {{ config.size }} theme-{{ config.theme }} {{\n config.classAdd\n }}\"\n [ngClass]=\"{\n 'disabled-active':\n config.disabled || (control && control.status === 'DISABLED'),\n 'theme-red':\n (control && control.invalid && (isFocused || control.touched)) ||\n (control && errorPattern && control.touched) ||\n config.theme === THEME.RED ||\n config.errorText,\n }\">\n <div *ngIf=\"showIconType()\" class=\"content-left\">\n <s-icon-mat class=\"icon\">{{ iconType }}</s-icon-mat>\n </div>\n <div class=\"content-center\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <input\n autocomplete=\"off\"\n [id]=\"config.id\"\n placeholder=\"{{ config.placeholder }}\"\n [readOnly]=\"config.readOnly || config.disabled\"\n type=\"{{ type }}\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n maxlength=\"{{ config.maxlength }}\"\n [type]=\"config.type\"\n [formControl]=\"control\"\n (input)=\"patternError()\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-container>\n <ng-template #notUseFormControl>\n <input\n autocomplete=\"off\"\n [id]=\"config.id\"\n placeholder=\"{{ config.placeholder }}\"\n [readOnly]=\"config.readOnly || config.disabled\"\n type=\"{{ type }}\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [type]=\"config.type\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-template>\n </div>\n <div *ngIf=\"config?.type === 'password'\" class=\"content-right\">\n <s-icon-mat\n [type]=\"iconSymbol ? 'symbol' : 'icon'\"\n class=\"icon cursor\"\n (click)=\"changeShowPassword()\"\n >{{ showPassword ? 'visibility' : 'visibility_off' }}\n </s-icon-mat>\n </div>\n <div\n *ngIf=\"config?.theme !== THEME.DEFAULT && config.theme !== undefined\"\n class=\"content-right\">\n <s-icon-mat [type]=\"getIconType()\" class=\"icon report\">{{\n ICON_THEME[config.theme]\n }}</s-icon-mat>\n </div>\n <div\n *ngIf=\"\n config.showHelp &&\n (config.theme === THEME.DEFAULT || config.theme !== undefined)\n \"\n class=\"content-right\">\n <s-icon-mat (click)=\"clickHelp()\" class=\"icon cursor\"\n >help_outline</s-icon-mat\n >\n </div>\n </div>\n <s-validation-error\n *ngIf=\"\n !config.hideErrorText &&\n control &&\n control.invalid &&\n (isFocused || control.touched) &&\n !(\n (config.type === INPUT_TYPE.URL && config.errorText) ||\n (config.type === INPUT_TYPE.EMAIL && config.errorText)\n )\n \"\n [customErrorMessages]=\"config.errorMessages ?? undefined\"\n [errors]=\"control.errors\">\n </s-validation-error>\n <s-error-control\n *ngIf=\"!config.hideErrorText && config.errorText\"\n theme=\"red\">\n {{ config.errorText }}\n </s-error-control>\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n config.type !== INPUT_TYPE.SEARCH &&\n !errorPattern &&\n !config.errorText\n \"\n theme=\"red\">\n {{ errorPattern }}\n </s-error-control>\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n !errorPattern &&\n !config.errorText &&\n ((control && control.errors?.['required'] && !control.touched) ||\n (control && !control.errors)) &&\n !(isFocused && control.invalid)\n \">\n {{ config.helpText || '' }}\n </s-error-control>\n</div>\n", styles: [".s-input__label{font-size:.875rem;color:var(--secondary-600)}.s-input__required{color:var(--primary-600)}.s-input__content{display:flex;border
|
|
99
|
+
], template: "<div class=\"s-input\">\n <label [for]=\"config.id\" *ngIf=\"config?.label\" class=\"s-input__label\">\n {{ config.label }}\n <span class=\"s-input__required\" *ngIf=\"config?.required\">*</span>\n </label>\n <div\n class=\"s-input__content {{ config.size }} theme-{{ config.theme }} {{\n config.classAdd\n }}\"\n [ngClass]=\"{\n 'disabled-active':\n config.disabled || (control && control.status === 'DISABLED'),\n 'theme-red':\n (control && control.invalid && (isFocused || control.touched)) ||\n (control && errorPattern && control.touched) ||\n config.theme === THEME.RED ||\n config.errorText,\n }\">\n <div *ngIf=\"showIconType()\" class=\"content-left\">\n <s-icon-mat class=\"icon\">{{ iconType }}</s-icon-mat>\n </div>\n <div class=\"content-center\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <input\n autocomplete=\"off\"\n [id]=\"config.id\"\n placeholder=\"{{ config.placeholder }}\"\n [readOnly]=\"config.readOnly || config.disabled\"\n type=\"{{ type }}\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n maxlength=\"{{ config.maxlength }}\"\n [type]=\"config.type\"\n [formControl]=\"control\"\n (input)=\"patternError()\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-container>\n <ng-template #notUseFormControl>\n <input\n autocomplete=\"off\"\n [id]=\"config.id\"\n placeholder=\"{{ config.placeholder }}\"\n [readOnly]=\"config.readOnly || config.disabled\"\n type=\"{{ type }}\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [type]=\"config.type\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-template>\n </div>\n <div *ngIf=\"config?.type === 'password'\" class=\"content-right\">\n <s-icon-mat\n [type]=\"iconSymbol ? 'symbol' : 'icon'\"\n class=\"icon cursor\"\n (click)=\"changeShowPassword()\"\n >{{ showPassword ? 'visibility' : 'visibility_off' }}\n </s-icon-mat>\n </div>\n <div\n *ngIf=\"config?.theme !== THEME.DEFAULT && config.theme !== undefined\"\n class=\"content-right\">\n <s-icon-mat [type]=\"getIconType()\" class=\"icon report\">{{\n ICON_THEME[config.theme]\n }}</s-icon-mat>\n </div>\n <div\n *ngIf=\"\n config.showHelp &&\n (config.theme === THEME.DEFAULT || config.theme !== undefined)\n \"\n class=\"content-right\">\n <s-icon-mat (click)=\"clickHelp()\" class=\"icon cursor\"\n >help_outline</s-icon-mat\n >\n </div>\n </div>\n <s-validation-error\n *ngIf=\"\n !config.hideErrorText &&\n control &&\n control.invalid &&\n (isFocused || control.touched) &&\n !(\n (config.type === INPUT_TYPE.URL && config.errorText) ||\n (config.type === INPUT_TYPE.EMAIL && config.errorText)\n )\n \"\n [customErrorMessages]=\"config.errorMessages ?? undefined\"\n [errors]=\"control.errors\">\n </s-validation-error>\n <s-error-control\n *ngIf=\"!config.hideErrorText && config.errorText\"\n theme=\"red\">\n {{ config.errorText }}\n </s-error-control>\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n config.type !== INPUT_TYPE.SEARCH &&\n !errorPattern &&\n !config.errorText\n \"\n theme=\"red\">\n {{ errorPattern }}\n </s-error-control>\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n !errorPattern &&\n !config.errorText &&\n ((control && control.errors?.['required'] && !control.touched) ||\n (control && !control.errors)) &&\n !(isFocused && control.invalid)\n \">\n {{ config.helpText || '' }}\n </s-error-control>\n</div>\n", styles: [".s-input__label{font-size:.875rem;color:var(--secondary-600)}.s-input__required{color:var(--primary-600)}.s-input__content{display:flex;border:.063rem solid var(--primary-500);border-radius:.25rem;padding:0 .5rem;margin:.188rem 0;background-color:var(--neutrals-1200)}.s-input__content input{width:100%;border:0rem;color:var(--secondary-600);writing-mode:unset;height:2.25rem;font-size:inherit;background-color:var(--neutrals-1200)}.s-input__content input:-webkit-autofill,.s-input__content input:-webkit-autofill:hover,.s-input__content input:-webkit-autofill:focus,.s-input__content input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1.875rem var(--neutrals-1200) inset!important}.s-input__content input:focus,.s-input__content input:focus-visible{outline:none}.s-input__content .icon{width:1.25rem;cursor:default}.s-input__content .icon span{display:flex}.s-input__content .content-center{width:100%;background-color:var(--neutrals-1200)}.s-input__content .content-left{display:flex;align-items:center;justify-content:space-evenly;margin-right:.5rem;color:var(--primary-600)}.s-input__content .content-left-url{display:flex;align-items:center;justify-content:space-evenly;margin-right:.5rem;border-right:.063rem solid var(--secondary-500);padding-right:.5rem;color:var(--secondary-500);font-size:.9rem}.s-input__content .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--secondary-600)}.s-input__content.sm input{height:1.3rem;font-size:.75rem}.s-input__content.sm .icon{width:1.25rem;cursor:default}.s-input__content.sm .icon span{font-size:1.2em;display:flex}.s-input__content.disabled-active{background-color:var(--neutrals-1100);border-color:var(--neutrals-900);color:var(--neutrals-800);pointer-events:none}.s-input__content.disabled-active input{background-color:var(--neutrals-1100);color:var(--neutrals-800)}.s-input__content.disabled-active .content-left{color:var(--neutrals-800)!important}.s-input__content.disabled-active .content-right s-icon-mat span{color:var(--neutrals-800)!important}.s-input__content.theme-red{border:.063rem solid var(--red-500)}.s-input__content.theme-red .icon.report span{color:var(--red-600)}.s-input__content.theme-green{border:.063rem solid var(--green-500)}.s-input__content.theme-green .icon.report span{color:var(--green-600)}.s-input__content.theme-yellow{border:.063rem solid var(--yellow-500)}.s-input__content.theme-yellow .icon.report span{color:var(--yellow-600)}.s-input__content:has(input:focus){border:.063rem solid var(--primary-600);box-shadow:0 0 0 .25rem var(--cyan-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-input__content:has(input:focus).theme-green:has(input:focus){border:.063rem solid var(--green-500);box-shadow:0 0 0 .25rem var(--green-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-input__content:has(input:focus).theme-yellow:has(input:focus){border:.063rem solid var(--yellow-500);box-shadow:0 0 0 .25rem var(--yellow-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-input__content:has(input:focus).theme-red:has(input:focus){border:.063rem solid var(--red-500);box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}\n"] }]
|
|
100
100
|
}], propDecorators: { config: [{
|
|
101
101
|
type: Input
|
|
102
102
|
}], clickHelpIconEvent: [{
|
|
@@ -102,7 +102,7 @@ export class SInputNumberComponent extends ControlValueAccessorDirective {
|
|
|
102
102
|
useExisting: forwardRef(() => SInputNumberComponent),
|
|
103
103
|
multi: true
|
|
104
104
|
}
|
|
105
|
-
], usesInheritance: true, ngImport: i0, template: "<section class=\"s-input-number\">\n <label *ngIf=\"config.label\" class=\"s-input-number__label\" for=\"config.id\">\n {{ config.label }}\n <span class=\"s-input-number__required\" *ngIf=\"config.required\">*</span>\n </label>\n <div class=\"d-flex align-center\">\n <div class=\"content-left mr-1\">\n <s-button\n [disabled]=\"config.disabled ?? false\"\n (click)=\"numberDecrease()\"\n [size]=\"config.size ?? 'md'\"\n [pill]=\"true\"\n [invert]=\"true\"\n class=\"s-input-number__button\">\n <s-icon-mat>remove</s-icon-mat>\n </s-button>\n </div>\n <div\n class=\"s-input-number__content {{ config.size }}\n theme-{{ config.theme }} {{ config.classAdd }} w-100\"\n [ngClass]=\"{\n 'disabled-active': config.disabled,\n 'theme-red':\n (control && control.invalid && (isFocused || control.touched)) ||\n (control && control.errors && control.touched) ||\n config.theme === 'red',\n }\">\n <div class=\"content-center\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <input\n autocomplete=\"off\"\n placeholder=\"{{ config.placeholder }}\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id ? config.id : ''\"\n [type]=\"'number'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [step]=\"config.step\"\n [formControl]=\"getControl()\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-container>\n <ng-template #notUseFormControl>\n <input\n autocomplete=\"off\"\n placeholder=\"{{ config.placeholder }}\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id ? config.id : ''\"\n [type]=\"'number'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [step]=\"config.step\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-template>\n </div>\n <div\n *ngIf=\"config.theme !== 'default' && config.theme !== undefined\"\n class=\"content-right\">\n <s-icon-mat [type]=\"getIconType()\" class=\"icon report\">{{\n ICON_THEME[config.theme]\n }}</s-icon-mat>\n </div>\n <div\n *ngIf=\"\n (config?.theme === 'default' && config.showHelp) ||\n (config?.theme === undefined && config.showHelp)\n \"\n class=\"content-right\">\n <s-icon-mat (click)=\"clickHelp()\" class=\"icon cursor\"\n >help_outline</s-icon-mat\n >\n </div>\n </div>\n <div class=\"content-left ml-1\">\n <s-button\n [disabled]=\"config.disabled ?? false\"\n (click)=\"numberIncrement()\"\n [size]=\"config.size ?? 'md'\"\n [pill]=\"true\"\n [invert]=\"true\"\n class=\"button-input-626\"\n ><s-icon-mat>add</s-icon-mat></s-button\n >\n </div>\n </div>\n <s-validation-error\n *ngIf=\"\n !config.hideErrorText &&\n control &&\n control.invalid &&\n (isFocused || control.touched)\n \"\n [customErrorMessages]=\"config.errorMessages\"\n [errors]=\"control.errors\">\n </s-validation-error>\n <s-error-control\n *ngIf=\"!config.hideErrorText && config.errorText\"\n theme=\"red\"\n >{{ config.errorText }}</s-error-control\n >\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n !config.errorText &&\n ((control && control.errors?.['required'] && !control.touched) ||\n (control && !control.errors)) &&\n !(isFocused && control.invalid)\n \">\n {{ config.helpText || '' }}\n </s-error-control>\n</section>\n", styles: [".s-input-number{margin-bottom:.5rem}.s-input-number__label{font-size:.875rem;color:var(--secondary-600)}.s-input-number__required{color:var(--primary-600)}.s-input-number__button{font-size:.93rem;font-weight:700}.s-input-number__content{display:flex;border
|
|
105
|
+
], usesInheritance: true, ngImport: i0, template: "<section class=\"s-input-number\">\n <label *ngIf=\"config.label\" class=\"s-input-number__label\" for=\"config.id\">\n {{ config.label }}\n <span class=\"s-input-number__required\" *ngIf=\"config.required\">*</span>\n </label>\n <div class=\"d-flex align-center\">\n <div class=\"content-left mr-1\">\n <s-button\n [disabled]=\"config.disabled ?? false\"\n (click)=\"numberDecrease()\"\n [size]=\"config.size ?? 'md'\"\n [pill]=\"true\"\n [invert]=\"true\"\n class=\"s-input-number__button\">\n <s-icon-mat>remove</s-icon-mat>\n </s-button>\n </div>\n <div\n class=\"s-input-number__content {{ config.size }}\n theme-{{ config.theme }} {{ config.classAdd }} w-100\"\n [ngClass]=\"{\n 'disabled-active': config.disabled,\n 'theme-red':\n (control && control.invalid && (isFocused || control.touched)) ||\n (control && control.errors && control.touched) ||\n config.theme === 'red',\n }\">\n <div class=\"content-center\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <input\n autocomplete=\"off\"\n placeholder=\"{{ config.placeholder }}\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id ? config.id : ''\"\n [type]=\"'number'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [step]=\"config.step\"\n [formControl]=\"getControl()\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-container>\n <ng-template #notUseFormControl>\n <input\n autocomplete=\"off\"\n placeholder=\"{{ config.placeholder }}\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id ? config.id : ''\"\n [type]=\"'number'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [step]=\"config.step\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-template>\n </div>\n <div\n *ngIf=\"config.theme !== 'default' && config.theme !== undefined\"\n class=\"content-right\">\n <s-icon-mat [type]=\"getIconType()\" class=\"icon report\">{{\n ICON_THEME[config.theme]\n }}</s-icon-mat>\n </div>\n <div\n *ngIf=\"\n (config?.theme === 'default' && config.showHelp) ||\n (config?.theme === undefined && config.showHelp)\n \"\n class=\"content-right\">\n <s-icon-mat (click)=\"clickHelp()\" class=\"icon cursor\"\n >help_outline</s-icon-mat\n >\n </div>\n </div>\n <div class=\"content-left ml-1\">\n <s-button\n [disabled]=\"config.disabled ?? false\"\n (click)=\"numberIncrement()\"\n [size]=\"config.size ?? 'md'\"\n [pill]=\"true\"\n [invert]=\"true\"\n class=\"button-input-626\"\n ><s-icon-mat>add</s-icon-mat></s-button\n >\n </div>\n </div>\n <s-validation-error\n *ngIf=\"\n !config.hideErrorText &&\n control &&\n control.invalid &&\n (isFocused || control.touched)\n \"\n [customErrorMessages]=\"config.errorMessages\"\n [errors]=\"control.errors\">\n </s-validation-error>\n <s-error-control\n *ngIf=\"!config.hideErrorText && config.errorText\"\n theme=\"red\"\n >{{ config.errorText }}</s-error-control\n >\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n !config.errorText &&\n ((control && control.errors?.['required'] && !control.touched) ||\n (control && !control.errors)) &&\n !(isFocused && control.invalid)\n \">\n {{ config.helpText || '' }}\n </s-error-control>\n</section>\n", styles: [".s-input-number{margin-bottom:.5rem}.s-input-number__label{font-size:.875rem;color:var(--secondary-600)}.s-input-number__required{color:var(--primary-600)}.s-input-number__button{font-size:.93rem;font-weight:700}.s-input-number__content{display:flex;border:.063rem solid var(--primary-500);border-radius:.25rem;padding:0 .5rem;margin:.18rem 0;background-color:var(--neutrals-1200)}.s-input-number__content input{width:100%;border:0rem;color:var(--secondary-600);writing-mode:unset;height:2.25rem;font-size:inherit;background-color:var(--neutrals-1200)}.s-input-number__content input:focus,.s-input-number__content input:focus-visible{outline:none}.s-input-number__content input:-webkit-autofill,.s-input-number__content input:-webkit-autofill:hover,.s-input-number__content input:-webkit-autofill:focus,.s-input-number__content input:-webkit-autofill:active{-webkit-box-shadow:0rem 0rem 0rem 1.875rem var(--neutrals-1200) inset!important}.s-input-number__content input::-webkit-outer-spin-button,.s-input-number__content input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.s-input-number__content input[type=number]{-moz-appearance:textfield}.s-input-number__content .icon{width:1.25rem;cursor:default}.s-input-number__content .icon span{display:flex}.s-input-number__content .content-center{width:100%;background-color:var(--neutrals-1200)}.s-input-number__content .content-left{display:flex;align-items:center;justify-content:space-evenly;margin-right:.5rem;color:var(--primary-600)}.s-input-number__content .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--secondary-600)}.s-input-number__content.theme-green:has(input:focus){border:.063rem solid var(--green-500);box-shadow:0 0 0 .25rem var(--green-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-input-number__content.theme-yellow:has(input:focus){border:.063rem solid var(--yellow-500);box-shadow:0 0 0 .25rem var(--yellow-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-input-number__content.theme-red:has(input:focus){border:.063rem solid var(--red-500);box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-input-number__content.disabled-active{background-color:var(--neutrals-1100);border-color:var(--neutrals-900);color:var(--neutrals-800);outline:0}.s-input-number__content.disabled-active input{background-color:var(--neutrals-1100);color:var(--neutrals-800)}.s-input-number__content.disabled-active.content-left{color:var(--neutrals-800)!important}.s-input-number__content.disabled-active.content-right s-icon-mat span{color:var(--neutrals-800)!important}.s-input-number__content.theme-red{border:.063rem solid var(--red-500)}.s-input-number__content.theme-red .icon.report span{color:var(--red-600)}.s-input-number__content.theme-green{border:.063rem solid var(--green-500)}.s-input-number__content.theme-green .icon.report span{color:var(--green-600)}.s-input-number__content.theme-yellow{border:.063rem solid var(--yellow-500)}.s-input-number__content.theme-yellow .icon.report span{color:var(--yellow-600)}.s-input-number__content .sm input{height:1.3rem;font-size:.75rem}.s-input-number__content .sm .icon{width:1.25rem;cursor:default}.s-input-number__content .sm .icon span{font-size:1.2em;display:flex}.s-input-number__content:not(.disabled-active):has(input:focus){border:.063rem solid var(--primary-600);box-shadow:0 0 0 .25rem var(--cyan-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { kind: "component", type: i4.SButtonComponent, selector: "s-button", inputs: ["disabled", "pill", "size", "invert", "type", "loading", "position", "theme", "active"] }, { kind: "component", type: i5.SErrorControl, selector: "s-error-control", inputs: ["theme", "icon", "iconCustom", "size"] }, { kind: "component", type: i6.SValidationError, selector: "s-validation-error", inputs: ["errors", "customErrorMessages"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
106
106
|
}
|
|
107
107
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SInputNumberComponent, decorators: [{
|
|
108
108
|
type: Component,
|
|
@@ -112,7 +112,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
112
112
|
useExisting: forwardRef(() => SInputNumberComponent),
|
|
113
113
|
multi: true
|
|
114
114
|
}
|
|
115
|
-
], template: "<section class=\"s-input-number\">\n <label *ngIf=\"config.label\" class=\"s-input-number__label\" for=\"config.id\">\n {{ config.label }}\n <span class=\"s-input-number__required\" *ngIf=\"config.required\">*</span>\n </label>\n <div class=\"d-flex align-center\">\n <div class=\"content-left mr-1\">\n <s-button\n [disabled]=\"config.disabled ?? false\"\n (click)=\"numberDecrease()\"\n [size]=\"config.size ?? 'md'\"\n [pill]=\"true\"\n [invert]=\"true\"\n class=\"s-input-number__button\">\n <s-icon-mat>remove</s-icon-mat>\n </s-button>\n </div>\n <div\n class=\"s-input-number__content {{ config.size }}\n theme-{{ config.theme }} {{ config.classAdd }} w-100\"\n [ngClass]=\"{\n 'disabled-active': config.disabled,\n 'theme-red':\n (control && control.invalid && (isFocused || control.touched)) ||\n (control && control.errors && control.touched) ||\n config.theme === 'red',\n }\">\n <div class=\"content-center\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <input\n autocomplete=\"off\"\n placeholder=\"{{ config.placeholder }}\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id ? config.id : ''\"\n [type]=\"'number'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [step]=\"config.step\"\n [formControl]=\"getControl()\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-container>\n <ng-template #notUseFormControl>\n <input\n autocomplete=\"off\"\n placeholder=\"{{ config.placeholder }}\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id ? config.id : ''\"\n [type]=\"'number'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [step]=\"config.step\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-template>\n </div>\n <div\n *ngIf=\"config.theme !== 'default' && config.theme !== undefined\"\n class=\"content-right\">\n <s-icon-mat [type]=\"getIconType()\" class=\"icon report\">{{\n ICON_THEME[config.theme]\n }}</s-icon-mat>\n </div>\n <div\n *ngIf=\"\n (config?.theme === 'default' && config.showHelp) ||\n (config?.theme === undefined && config.showHelp)\n \"\n class=\"content-right\">\n <s-icon-mat (click)=\"clickHelp()\" class=\"icon cursor\"\n >help_outline</s-icon-mat\n >\n </div>\n </div>\n <div class=\"content-left ml-1\">\n <s-button\n [disabled]=\"config.disabled ?? false\"\n (click)=\"numberIncrement()\"\n [size]=\"config.size ?? 'md'\"\n [pill]=\"true\"\n [invert]=\"true\"\n class=\"button-input-626\"\n ><s-icon-mat>add</s-icon-mat></s-button\n >\n </div>\n </div>\n <s-validation-error\n *ngIf=\"\n !config.hideErrorText &&\n control &&\n control.invalid &&\n (isFocused || control.touched)\n \"\n [customErrorMessages]=\"config.errorMessages\"\n [errors]=\"control.errors\">\n </s-validation-error>\n <s-error-control\n *ngIf=\"!config.hideErrorText && config.errorText\"\n theme=\"red\"\n >{{ config.errorText }}</s-error-control\n >\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n !config.errorText &&\n ((control && control.errors?.['required'] && !control.touched) ||\n (control && !control.errors)) &&\n !(isFocused && control.invalid)\n \">\n {{ config.helpText || '' }}\n </s-error-control>\n</section>\n", styles: [".s-input-number{margin-bottom:.5rem}.s-input-number__label{font-size:.875rem;color:var(--secondary-600)}.s-input-number__required{color:var(--primary-600)}.s-input-number__button{font-size:.93rem;font-weight:700}.s-input-number__content{display:flex;border
|
|
115
|
+
], template: "<section class=\"s-input-number\">\n <label *ngIf=\"config.label\" class=\"s-input-number__label\" for=\"config.id\">\n {{ config.label }}\n <span class=\"s-input-number__required\" *ngIf=\"config.required\">*</span>\n </label>\n <div class=\"d-flex align-center\">\n <div class=\"content-left mr-1\">\n <s-button\n [disabled]=\"config.disabled ?? false\"\n (click)=\"numberDecrease()\"\n [size]=\"config.size ?? 'md'\"\n [pill]=\"true\"\n [invert]=\"true\"\n class=\"s-input-number__button\">\n <s-icon-mat>remove</s-icon-mat>\n </s-button>\n </div>\n <div\n class=\"s-input-number__content {{ config.size }}\n theme-{{ config.theme }} {{ config.classAdd }} w-100\"\n [ngClass]=\"{\n 'disabled-active': config.disabled,\n 'theme-red':\n (control && control.invalid && (isFocused || control.touched)) ||\n (control && control.errors && control.touched) ||\n config.theme === 'red',\n }\">\n <div class=\"content-center\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <input\n autocomplete=\"off\"\n placeholder=\"{{ config.placeholder }}\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id ? config.id : ''\"\n [type]=\"'number'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [step]=\"config.step\"\n [formControl]=\"getControl()\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-container>\n <ng-template #notUseFormControl>\n <input\n autocomplete=\"off\"\n placeholder=\"{{ config.placeholder }}\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id ? config.id : ''\"\n [type]=\"'number'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [step]=\"config.step\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-template>\n </div>\n <div\n *ngIf=\"config.theme !== 'default' && config.theme !== undefined\"\n class=\"content-right\">\n <s-icon-mat [type]=\"getIconType()\" class=\"icon report\">{{\n ICON_THEME[config.theme]\n }}</s-icon-mat>\n </div>\n <div\n *ngIf=\"\n (config?.theme === 'default' && config.showHelp) ||\n (config?.theme === undefined && config.showHelp)\n \"\n class=\"content-right\">\n <s-icon-mat (click)=\"clickHelp()\" class=\"icon cursor\"\n >help_outline</s-icon-mat\n >\n </div>\n </div>\n <div class=\"content-left ml-1\">\n <s-button\n [disabled]=\"config.disabled ?? false\"\n (click)=\"numberIncrement()\"\n [size]=\"config.size ?? 'md'\"\n [pill]=\"true\"\n [invert]=\"true\"\n class=\"button-input-626\"\n ><s-icon-mat>add</s-icon-mat></s-button\n >\n </div>\n </div>\n <s-validation-error\n *ngIf=\"\n !config.hideErrorText &&\n control &&\n control.invalid &&\n (isFocused || control.touched)\n \"\n [customErrorMessages]=\"config.errorMessages\"\n [errors]=\"control.errors\">\n </s-validation-error>\n <s-error-control\n *ngIf=\"!config.hideErrorText && config.errorText\"\n theme=\"red\"\n >{{ config.errorText }}</s-error-control\n >\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n !config.errorText &&\n ((control && control.errors?.['required'] && !control.touched) ||\n (control && !control.errors)) &&\n !(isFocused && control.invalid)\n \">\n {{ config.helpText || '' }}\n </s-error-control>\n</section>\n", styles: [".s-input-number{margin-bottom:.5rem}.s-input-number__label{font-size:.875rem;color:var(--secondary-600)}.s-input-number__required{color:var(--primary-600)}.s-input-number__button{font-size:.93rem;font-weight:700}.s-input-number__content{display:flex;border:.063rem solid var(--primary-500);border-radius:.25rem;padding:0 .5rem;margin:.18rem 0;background-color:var(--neutrals-1200)}.s-input-number__content input{width:100%;border:0rem;color:var(--secondary-600);writing-mode:unset;height:2.25rem;font-size:inherit;background-color:var(--neutrals-1200)}.s-input-number__content input:focus,.s-input-number__content input:focus-visible{outline:none}.s-input-number__content input:-webkit-autofill,.s-input-number__content input:-webkit-autofill:hover,.s-input-number__content input:-webkit-autofill:focus,.s-input-number__content input:-webkit-autofill:active{-webkit-box-shadow:0rem 0rem 0rem 1.875rem var(--neutrals-1200) inset!important}.s-input-number__content input::-webkit-outer-spin-button,.s-input-number__content input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.s-input-number__content input[type=number]{-moz-appearance:textfield}.s-input-number__content .icon{width:1.25rem;cursor:default}.s-input-number__content .icon span{display:flex}.s-input-number__content .content-center{width:100%;background-color:var(--neutrals-1200)}.s-input-number__content .content-left{display:flex;align-items:center;justify-content:space-evenly;margin-right:.5rem;color:var(--primary-600)}.s-input-number__content .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--secondary-600)}.s-input-number__content.theme-green:has(input:focus){border:.063rem solid var(--green-500);box-shadow:0 0 0 .25rem var(--green-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-input-number__content.theme-yellow:has(input:focus){border:.063rem solid var(--yellow-500);box-shadow:0 0 0 .25rem var(--yellow-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-input-number__content.theme-red:has(input:focus){border:.063rem solid var(--red-500);box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}.s-input-number__content.disabled-active{background-color:var(--neutrals-1100);border-color:var(--neutrals-900);color:var(--neutrals-800);outline:0}.s-input-number__content.disabled-active input{background-color:var(--neutrals-1100);color:var(--neutrals-800)}.s-input-number__content.disabled-active.content-left{color:var(--neutrals-800)!important}.s-input-number__content.disabled-active.content-right s-icon-mat span{color:var(--neutrals-800)!important}.s-input-number__content.theme-red{border:.063rem solid var(--red-500)}.s-input-number__content.theme-red .icon.report span{color:var(--red-600)}.s-input-number__content.theme-green{border:.063rem solid var(--green-500)}.s-input-number__content.theme-green .icon.report span{color:var(--green-600)}.s-input-number__content.theme-yellow{border:.063rem solid var(--yellow-500)}.s-input-number__content.theme-yellow .icon.report span{color:var(--yellow-600)}.s-input-number__content .sm input{height:1.3rem;font-size:.75rem}.s-input-number__content .sm .icon{width:1.25rem;cursor:default}.s-input-number__content .sm .icon span{font-size:1.2em;display:flex}.s-input-number__content:not(.disabled-active):has(input:focus){border:.063rem solid var(--primary-600);box-shadow:0 0 0 .25rem var(--cyan-alpha-200),0 .063rem .125rem 0 var(--blue-alpha-100)}\n"] }]
|
|
116
116
|
}], propDecorators: { config: [{
|
|
117
117
|
type: Input
|
|
118
118
|
}], clickHelpIconEvent: [{
|
|
@@ -47,7 +47,7 @@ export class SInputTextAreaComponent extends ControlValueAccessorDirective {
|
|
|
47
47
|
useExisting: forwardRef(() => SInputTextAreaComponent),
|
|
48
48
|
multi: true
|
|
49
49
|
}
|
|
50
|
-
], usesInheritance: true, ngImport: i0, template: "<section class=\"s-textarea\">\n <label [for]=\"config.id\" *ngIf=\"config?.label\" class=\"s-textarea__label\">\n {{ config.label }}\n <span class=\"s-textarea__required\" *ngIf=\"config?.required\">*</span>\n </label>\n <div\n class=\"s-textarea__content {{ config.classAdd }}\"\n [ngClass]=\"{\n 'disabled-active': config.disabled || control?.status === 'DISABLED',\n }\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <textarea\n [readOnly]=\"config.readOnly || config.disabled\"\n class=\"theme-{{ config.theme }} {{ config.classAdd }}\"\n [ngClass]=\"{\n resize: !config.resize,\n 'theme-red':\n (control && control.invalid && (isFocused || control.touched)) ||\n (control && control.errors && control.touched) ||\n config.theme === 'red',\n }\"\n [ngStyle]=\"{ height: config.height, width: config.width }\"\n [id]=\"config.id\"\n autocomplete=\"off\"\n [placeholder]=\"config.placeholder ?? ''\"\n [formControl]=\"control\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\">\n </textarea>\n </ng-container>\n <ng-template #notUseFormControl>\n <textarea\n [readOnly]=\"config.readOnly || config.disabled\"\n [ngClass]=\"[\n config.resize ? '' : 'resize',\n config.theme ? 'theme-' + config.theme : '',\n ]\"\n [ngStyle]=\"{ height: config.height, width: config.width }\"\n [disabled]=\"config.disabled ?? false\"\n [id]=\"config.id\"\n autocomplete=\"off\"\n [placeholder]=\"config.placeholder ?? ''\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\">\n </textarea>\n </ng-template>\n <s-validation-error\n *ngIf=\"\n !config.hideErrorText &&\n control &&\n control.invalid &&\n (isFocused || control.touched)\n \"\n [customErrorMessages]=\"config.errorMessages ?? undefined\"\n [errors]=\"control.errors\">\n </s-validation-error>\n <s-error-control\n *ngIf=\"!config.hideErrorText && config.errorText\"\n theme=\"red\"\n >{{ config.errorText }}</s-error-control\n >\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n !config.errorText &&\n ((control && control.errors?.['required'] && !control.touched) ||\n (control && !control.errors)) &&\n !(isFocused && control.invalid)\n \">\n {{ config.helpText || '' }}</s-error-control\n >\n </div>\n</section>\n", styles: [".s-textarea{margin-bottom:.5rem}.s-textarea__label{font-size:.875rem;color:var(--secondary-600)}.s-textarea__required{color:var(--primary-600)}.s-textarea__content textarea{width:calc(100% -
|
|
50
|
+
], usesInheritance: true, ngImport: i0, template: "<section class=\"s-textarea\">\n <label [for]=\"config.id\" *ngIf=\"config?.label\" class=\"s-textarea__label\">\n {{ config.label }}\n <span class=\"s-textarea__required\" *ngIf=\"config?.required\">*</span>\n </label>\n <div\n class=\"s-textarea__content {{ config.classAdd }}\"\n [ngClass]=\"{\n 'disabled-active': config.disabled || control?.status === 'DISABLED',\n }\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <textarea\n [readOnly]=\"config.readOnly || config.disabled\"\n class=\"theme-{{ config.theme }} {{ config.classAdd }}\"\n [ngClass]=\"{\n resize: !config.resize,\n 'theme-red':\n (control && control.invalid && (isFocused || control.touched)) ||\n (control && control.errors && control.touched) ||\n config.theme === 'red',\n }\"\n [ngStyle]=\"{ height: config.height, width: config.width }\"\n [id]=\"config.id\"\n autocomplete=\"off\"\n [placeholder]=\"config.placeholder ?? ''\"\n [formControl]=\"control\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\">\n </textarea>\n </ng-container>\n <ng-template #notUseFormControl>\n <textarea\n [readOnly]=\"config.readOnly || config.disabled\"\n [ngClass]=\"[\n config.resize ? '' : 'resize',\n config.theme ? 'theme-' + config.theme : '',\n ]\"\n [ngStyle]=\"{ height: config.height, width: config.width }\"\n [disabled]=\"config.disabled ?? false\"\n [id]=\"config.id\"\n autocomplete=\"off\"\n [placeholder]=\"config.placeholder ?? ''\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\">\n </textarea>\n </ng-template>\n <s-validation-error\n *ngIf=\"\n !config.hideErrorText &&\n control &&\n control.invalid &&\n (isFocused || control.touched)\n \"\n [customErrorMessages]=\"config.errorMessages ?? undefined\"\n [errors]=\"control.errors\">\n </s-validation-error>\n <s-error-control\n *ngIf=\"!config.hideErrorText && config.errorText\"\n theme=\"red\"\n >{{ config.errorText }}</s-error-control\n >\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n !config.errorText &&\n ((control && control.errors?.['required'] && !control.touched) ||\n (control && !control.errors)) &&\n !(isFocused && control.invalid)\n \">\n {{ config.helpText || '' }}</s-error-control\n >\n </div>\n</section>\n", styles: [".s-textarea{margin-bottom:.5rem}.s-textarea__label{font-size:.875rem;color:var(--secondary-600)}.s-textarea__required{color:var(--primary-600)}.s-textarea__content textarea{width:calc(100% - 1.875rem);padding:.625rem .875rem;border:.063rem solid var(--primary-500);border-radius:.25rem;color:var(--secondary-600);writing-mode:unset;height:2.125rem;font-size:1rem;max-width:100%}.s-textarea__content:not(.disabled-active) textarea:focus-visible{outline:none;border:none;border:1px solid var(--primary-600);box-shadow:0 0 0 .25rem var(--cyan-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-textarea__content.disabled-active textarea{border-color:var(--neutrals-900);background-color:var(--neutrals-1100);color:var(--neutrals-800);resize:none}.s-textarea__content.disabled-active textarea:focus-visible{outline:none}.s-textarea__content textarea.theme-red{border:.063rem solid var(--red-600)}.s-textarea__content textarea.theme-red:focus-visible{border:1px solid var(--red-600);box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-textarea__content textarea.theme-green{border:.063rem solid var(--green-600)}.s-textarea__content textarea.theme-green:focus-visible{border:1px solid var(--green-500);box-shadow:0 0 0 .25rem var(--green-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-textarea__content textarea.theme-yellow{border:.063rem solid var(--yellow-500)}.s-textarea__content textarea.theme-yellow:focus-visible{border:1px solid var(--yellow-500);box-shadow:0 0 0 .25rem var(--yellow-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-textarea__content .resize{resize:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.SErrorControl, selector: "s-error-control", inputs: ["theme", "icon", "iconCustom", "size"] }, { kind: "component", type: i4.SValidationError, selector: "s-validation-error", inputs: ["errors", "customErrorMessages"] }] }); }
|
|
51
51
|
}
|
|
52
52
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SInputTextAreaComponent, decorators: [{
|
|
53
53
|
type: Component,
|
|
@@ -57,7 +57,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
57
57
|
useExisting: forwardRef(() => SInputTextAreaComponent),
|
|
58
58
|
multi: true
|
|
59
59
|
}
|
|
60
|
-
], template: "<section class=\"s-textarea\">\n <label [for]=\"config.id\" *ngIf=\"config?.label\" class=\"s-textarea__label\">\n {{ config.label }}\n <span class=\"s-textarea__required\" *ngIf=\"config?.required\">*</span>\n </label>\n <div\n class=\"s-textarea__content {{ config.classAdd }}\"\n [ngClass]=\"{\n 'disabled-active': config.disabled || control?.status === 'DISABLED',\n }\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <textarea\n [readOnly]=\"config.readOnly || config.disabled\"\n class=\"theme-{{ config.theme }} {{ config.classAdd }}\"\n [ngClass]=\"{\n resize: !config.resize,\n 'theme-red':\n (control && control.invalid && (isFocused || control.touched)) ||\n (control && control.errors && control.touched) ||\n config.theme === 'red',\n }\"\n [ngStyle]=\"{ height: config.height, width: config.width }\"\n [id]=\"config.id\"\n autocomplete=\"off\"\n [placeholder]=\"config.placeholder ?? ''\"\n [formControl]=\"control\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\">\n </textarea>\n </ng-container>\n <ng-template #notUseFormControl>\n <textarea\n [readOnly]=\"config.readOnly || config.disabled\"\n [ngClass]=\"[\n config.resize ? '' : 'resize',\n config.theme ? 'theme-' + config.theme : '',\n ]\"\n [ngStyle]=\"{ height: config.height, width: config.width }\"\n [disabled]=\"config.disabled ?? false\"\n [id]=\"config.id\"\n autocomplete=\"off\"\n [placeholder]=\"config.placeholder ?? ''\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\">\n </textarea>\n </ng-template>\n <s-validation-error\n *ngIf=\"\n !config.hideErrorText &&\n control &&\n control.invalid &&\n (isFocused || control.touched)\n \"\n [customErrorMessages]=\"config.errorMessages ?? undefined\"\n [errors]=\"control.errors\">\n </s-validation-error>\n <s-error-control\n *ngIf=\"!config.hideErrorText && config.errorText\"\n theme=\"red\"\n >{{ config.errorText }}</s-error-control\n >\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n !config.errorText &&\n ((control && control.errors?.['required'] && !control.touched) ||\n (control && !control.errors)) &&\n !(isFocused && control.invalid)\n \">\n {{ config.helpText || '' }}</s-error-control\n >\n </div>\n</section>\n", styles: [".s-textarea{margin-bottom:.5rem}.s-textarea__label{font-size:.875rem;color:var(--secondary-600)}.s-textarea__required{color:var(--primary-600)}.s-textarea__content textarea{width:calc(100% -
|
|
60
|
+
], template: "<section class=\"s-textarea\">\n <label [for]=\"config.id\" *ngIf=\"config?.label\" class=\"s-textarea__label\">\n {{ config.label }}\n <span class=\"s-textarea__required\" *ngIf=\"config?.required\">*</span>\n </label>\n <div\n class=\"s-textarea__content {{ config.classAdd }}\"\n [ngClass]=\"{\n 'disabled-active': config.disabled || control?.status === 'DISABLED',\n }\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <textarea\n [readOnly]=\"config.readOnly || config.disabled\"\n class=\"theme-{{ config.theme }} {{ config.classAdd }}\"\n [ngClass]=\"{\n resize: !config.resize,\n 'theme-red':\n (control && control.invalid && (isFocused || control.touched)) ||\n (control && control.errors && control.touched) ||\n config.theme === 'red',\n }\"\n [ngStyle]=\"{ height: config.height, width: config.width }\"\n [id]=\"config.id\"\n autocomplete=\"off\"\n [placeholder]=\"config.placeholder ?? ''\"\n [formControl]=\"control\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\">\n </textarea>\n </ng-container>\n <ng-template #notUseFormControl>\n <textarea\n [readOnly]=\"config.readOnly || config.disabled\"\n [ngClass]=\"[\n config.resize ? '' : 'resize',\n config.theme ? 'theme-' + config.theme : '',\n ]\"\n [ngStyle]=\"{ height: config.height, width: config.width }\"\n [disabled]=\"config.disabled ?? false\"\n [id]=\"config.id\"\n autocomplete=\"off\"\n [placeholder]=\"config.placeholder ?? ''\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\">\n </textarea>\n </ng-template>\n <s-validation-error\n *ngIf=\"\n !config.hideErrorText &&\n control &&\n control.invalid &&\n (isFocused || control.touched)\n \"\n [customErrorMessages]=\"config.errorMessages ?? undefined\"\n [errors]=\"control.errors\">\n </s-validation-error>\n <s-error-control\n *ngIf=\"!config.hideErrorText && config.errorText\"\n theme=\"red\"\n >{{ config.errorText }}</s-error-control\n >\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n !config.errorText &&\n ((control && control.errors?.['required'] && !control.touched) ||\n (control && !control.errors)) &&\n !(isFocused && control.invalid)\n \">\n {{ config.helpText || '' }}</s-error-control\n >\n </div>\n</section>\n", styles: [".s-textarea{margin-bottom:.5rem}.s-textarea__label{font-size:.875rem;color:var(--secondary-600)}.s-textarea__required{color:var(--primary-600)}.s-textarea__content textarea{width:calc(100% - 1.875rem);padding:.625rem .875rem;border:.063rem solid var(--primary-500);border-radius:.25rem;color:var(--secondary-600);writing-mode:unset;height:2.125rem;font-size:1rem;max-width:100%}.s-textarea__content:not(.disabled-active) textarea:focus-visible{outline:none;border:none;border:1px solid var(--primary-600);box-shadow:0 0 0 .25rem var(--cyan-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-textarea__content.disabled-active textarea{border-color:var(--neutrals-900);background-color:var(--neutrals-1100);color:var(--neutrals-800);resize:none}.s-textarea__content.disabled-active textarea:focus-visible{outline:none}.s-textarea__content textarea.theme-red{border:.063rem solid var(--red-600)}.s-textarea__content textarea.theme-red:focus-visible{border:1px solid var(--red-600);box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-textarea__content textarea.theme-green{border:.063rem solid var(--green-600)}.s-textarea__content textarea.theme-green:focus-visible{border:1px solid var(--green-500);box-shadow:0 0 0 .25rem var(--green-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-textarea__content textarea.theme-yellow{border:.063rem solid var(--yellow-500)}.s-textarea__content textarea.theme-yellow:focus-visible{border:1px solid var(--yellow-500);box-shadow:0 0 0 .25rem var(--yellow-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-textarea__content .resize{resize:none}\n"] }]
|
|
61
61
|
}], propDecorators: { config: [{
|
|
62
62
|
type: Input
|
|
63
63
|
}], blur: [{
|
|
@@ -77,10 +77,10 @@ export class SRangeComponent {
|
|
|
77
77
|
if (isChrome) {
|
|
78
78
|
//CALCCULO EL % A ASIGNAR
|
|
79
79
|
let porcentaje = ((Number(value) - this.min) / (rangeMax - this.min)) * 100;
|
|
80
|
-
document.getElementById(this.id)?.style.setProperty('margin-top', '
|
|
81
|
-
document.getElementById(this.id)?.style.setProperty('margin-bottom', '
|
|
82
|
-
document.getElementById(this.id)?.style.setProperty('border-radius', '
|
|
83
|
-
document.getElementById(this.id)?.style.setProperty('height', '
|
|
80
|
+
document.getElementById(this.id)?.style.setProperty('margin-top', ' 0.875rem');
|
|
81
|
+
document.getElementById(this.id)?.style.setProperty('margin-bottom', ' 0.875rem');
|
|
82
|
+
document.getElementById(this.id)?.style.setProperty('border-radius', '0.25rem');
|
|
83
|
+
document.getElementById(this.id)?.style.setProperty('height', ' 0.5rem');
|
|
84
84
|
document.getElementById(this.id)?.style.setProperty('background', 'linear-gradient(to right, var(--primary-600) 0%, var(--primary-600) ' + porcentaje + '%, var(--neutrals-1000) ' + porcentaje + '%, var(--neutrals-1000) 100%)');
|
|
85
85
|
}
|
|
86
86
|
;
|
|
@@ -139,7 +139,7 @@ export class SRangeComponent {
|
|
|
139
139
|
useExisting: forwardRef(() => SRangeComponent),
|
|
140
140
|
multi: true
|
|
141
141
|
}
|
|
142
|
-
], viewQueries: [{ propertyName: "tooltipContainer", first: true, predicate: ["tooltipContainer"], descendants: true }, { propertyName: "tooltip", first: true, predicate: ["tooltip"], descendants: true }], ngImport: i0, template: "<ng-container>\n <label *ngIf=\"label\" class=\"s-range__label\">\n\t\t{{label}}\n\t\t<span class=\"s-range__required\" *ngIf=\"required\">*</span>\n\t</label>\n <div class=\"s-range__content {{classAdd}}\" [ngClass]=\"{'disabled-active': disabled}\">\n <div class=\"tooltip tooltip-{{disabled}}\" #tooltipContainer>\n <input\n #rangeField \n [id]=\"id\"\n [step]=\"step\"\n autocomplete=\"off\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [type]=\"'range'\"\n max={{max}}\n min={{min}}\n [(ngModel)]=\"value\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n (ngModelChange)=\"onTextChange()\"\n (mousemove)=\"!readOnly && changeRange(rangeField.value)\"\n (input)=\"!readOnly && updateTooltip(rangeField.value)\"\n (mousedown)=\"preventInteraction($event)\"\n >\n <span class=\"tooltiptext\" #tooltip>{{ tooltipValue }}</span>\n </div>\n </div>\n <s-error-control *ngIf=\"errorText\" theme =\"red\">{{errorText}}</s-error-control>\n\t<s-error-control *ngIf=\"helpText && !errorText\">{{helpText}}</s-error-control>\n</ng-container>", styles: [".s-range__label{font-size:.875rem;color:var(--secondary-600)}.s-range__required{color:var(--primary-600)}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-box-shadow:0 0 0
|
|
142
|
+
], viewQueries: [{ propertyName: "tooltipContainer", first: true, predicate: ["tooltipContainer"], descendants: true }, { propertyName: "tooltip", first: true, predicate: ["tooltip"], descendants: true }], ngImport: i0, template: "<ng-container>\n <label *ngIf=\"label\" class=\"s-range__label\">\n\t\t{{label}}\n\t\t<span class=\"s-range__required\" *ngIf=\"required\">*</span>\n\t</label>\n <div class=\"s-range__content {{classAdd}}\" [ngClass]=\"{'disabled-active': disabled}\">\n <div class=\"tooltip tooltip-{{disabled}}\" #tooltipContainer>\n <input\n #rangeField \n [id]=\"id\"\n [step]=\"step\"\n autocomplete=\"off\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [type]=\"'range'\"\n max={{max}}\n min={{min}}\n [(ngModel)]=\"value\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n (ngModelChange)=\"onTextChange()\"\n (mousemove)=\"!readOnly && changeRange(rangeField.value)\"\n (input)=\"!readOnly && updateTooltip(rangeField.value)\"\n (mousedown)=\"preventInteraction($event)\"\n >\n <span class=\"tooltiptext\" #tooltip>{{ tooltipValue }}</span>\n </div>\n </div>\n <s-error-control *ngIf=\"errorText\" theme =\"red\">{{errorText}}</s-error-control>\n\t<s-error-control *ngIf=\"helpText && !errorText\">{{helpText}}</s-error-control>\n</ng-container>", styles: [".s-range__label{font-size:.875rem;color:var(--secondary-600)}.s-range__required{color:var(--primary-600)}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1.875rem var(--neutrals-1200) inset!important}.s-range__content input{width:100%;height:2.25rem;margin:0;-webkit-appearance:none}.s-range__content input[type=range]::-webkit-slider-runnable-track{border-radius:.25rem;height:.5rem}.s-range__content input[type=range]::-moz-range-track{appearance:none;background-color:var(--neutrals-1000)!important;height:.5rem;border-radius:.25rem}.s-range__content input[type=range]::-ms-track{appearance:none;background-color:var(--neutrals-1000)!important;height:.5rem;border-radius:.25rem}.s-range__content input[type=range]::-moz-range-progress{appearance:none;background-color:var(--primary-600)!important;height:.5rem;border-radius:.25rem}.s-range__content input[type=range]::-ms-fill-upper{appearance:none;background-color:var(--primary-600)!important;height:.5rem;border-radius:.25rem}.s-range__content input[type=range]::-webkit-slider-thumb{box-sizing:border-box;-webkit-appearance:none;border:unset;outline:unset;box-shadow:unset;width:1.5rem;height:1.5rem;border-radius:50%;border:.18rem solid var(--primary-600);background:var(--neutrals-1200);margin-top:-.5rem}.s-range__content input[type=range]::-moz-range-thumb{box-sizing:border-box;-webkit-appearance:none;border:unset;outline:unset;box-shadow:unset;width:1.5rem;height:1.5rem;border-radius:50%;border:.18rem solid var(--primary-600);background:var(--neutrals-1200)}.s-range__content input[type=range]::-ms-thumb{box-sizing:border-box;-webkit-appearance:none;border:unset;outline:unset;box-shadow:unset;width:1.5rem;height:1.5rem;border-radius:50%;border:.18rem solid var(--primary-600);background:var(--neutrals-1200)}.s-range__content input[type=range]::-webkit-slider-thumb:hover{border:.18rem solid var(--primary-600);background:var(--primary-200)}.s-range__content input[type=range]::-moz-range-thumb:hover{border:.18rem solid var(--primary-600);background:var(--primary-200)}.s-range__content input[type=range]::-ms-thumb:hover{border:.18rem solid var(--primary-600);background:var(--primary-200)}.s-range__content input[type=range]::-webkit-slider-thumb:active{border:.18rem solid var(--primary-600);background:var(--primary-600);box-shadow:0 .0625rem .125rem 0 var(--blue-alpha-100),0 0 0 .25rem var(--cyan-alpha-200)}.s-range__content input[type=range]::-moz-range-thumb:active{border:.18rem solid var(--primary-600);background:var(--primary-600);box-shadow:0 .0625rem .125rem 0 var(--blue-alpha-100),0 0 0 .25rem var(--cyan-alpha-200)}.s-range__content input[type=range]::-ms-thumb:active{border:.18rem solid var(--primary-600);background:var(--primary-600);box-shadow:0 .0625rem .125rem 0 var(--blue-alpha-100),0 0 0 .25rem var(--cyan-alpha-200)}.s-range__content input[type=range]:disabled{filter:grayscale(1);opacity:.3;cursor:not-allowed}.tooltip{position:relative;display:inline-block;cursor:pointer;width:100%}.tooltip .tooltiptext{visibility:hidden;width:2.5rem;background-color:var(--neutrals-1200);color:var(--secondary-600);font-weight:700;font-size:.75rem;text-align:center;border-radius:.25rem;padding:.31rem;position:absolute;z-index:1;bottom:100%;left:550%;transform:translate(-50%);box-shadow:var(--E200)}.tooltip-false:hover .tooltiptext{visibility:visible}.tooltip .tooltiptext:before{content:\"\";position:absolute!important;transform:rotate(45deg);height:.625rem;width:.625rem;bottom:-.31rem;background-color:var(--neutrals-1200);box-shadow:var(--E200);left:40%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.SErrorControl, selector: "s-error-control", inputs: ["theme", "icon", "iconCustom", "size"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
143
143
|
}
|
|
144
144
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SRangeComponent, decorators: [{
|
|
145
145
|
type: Component,
|
|
@@ -149,7 +149,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
149
149
|
useExisting: forwardRef(() => SRangeComponent),
|
|
150
150
|
multi: true
|
|
151
151
|
}
|
|
152
|
-
], template: "<ng-container>\n <label *ngIf=\"label\" class=\"s-range__label\">\n\t\t{{label}}\n\t\t<span class=\"s-range__required\" *ngIf=\"required\">*</span>\n\t</label>\n <div class=\"s-range__content {{classAdd}}\" [ngClass]=\"{'disabled-active': disabled}\">\n <div class=\"tooltip tooltip-{{disabled}}\" #tooltipContainer>\n <input\n #rangeField \n [id]=\"id\"\n [step]=\"step\"\n autocomplete=\"off\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [type]=\"'range'\"\n max={{max}}\n min={{min}}\n [(ngModel)]=\"value\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n (ngModelChange)=\"onTextChange()\"\n (mousemove)=\"!readOnly && changeRange(rangeField.value)\"\n (input)=\"!readOnly && updateTooltip(rangeField.value)\"\n (mousedown)=\"preventInteraction($event)\"\n >\n <span class=\"tooltiptext\" #tooltip>{{ tooltipValue }}</span>\n </div>\n </div>\n <s-error-control *ngIf=\"errorText\" theme =\"red\">{{errorText}}</s-error-control>\n\t<s-error-control *ngIf=\"helpText && !errorText\">{{helpText}}</s-error-control>\n</ng-container>", styles: [".s-range__label{font-size:.875rem;color:var(--secondary-600)}.s-range__required{color:var(--primary-600)}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-box-shadow:0 0 0
|
|
152
|
+
], template: "<ng-container>\n <label *ngIf=\"label\" class=\"s-range__label\">\n\t\t{{label}}\n\t\t<span class=\"s-range__required\" *ngIf=\"required\">*</span>\n\t</label>\n <div class=\"s-range__content {{classAdd}}\" [ngClass]=\"{'disabled-active': disabled}\">\n <div class=\"tooltip tooltip-{{disabled}}\" #tooltipContainer>\n <input\n #rangeField \n [id]=\"id\"\n [step]=\"step\"\n autocomplete=\"off\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [type]=\"'range'\"\n max={{max}}\n min={{min}}\n [(ngModel)]=\"value\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n (ngModelChange)=\"onTextChange()\"\n (mousemove)=\"!readOnly && changeRange(rangeField.value)\"\n (input)=\"!readOnly && updateTooltip(rangeField.value)\"\n (mousedown)=\"preventInteraction($event)\"\n >\n <span class=\"tooltiptext\" #tooltip>{{ tooltipValue }}</span>\n </div>\n </div>\n <s-error-control *ngIf=\"errorText\" theme =\"red\">{{errorText}}</s-error-control>\n\t<s-error-control *ngIf=\"helpText && !errorText\">{{helpText}}</s-error-control>\n</ng-container>", styles: [".s-range__label{font-size:.875rem;color:var(--secondary-600)}.s-range__required{color:var(--primary-600)}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1.875rem var(--neutrals-1200) inset!important}.s-range__content input{width:100%;height:2.25rem;margin:0;-webkit-appearance:none}.s-range__content input[type=range]::-webkit-slider-runnable-track{border-radius:.25rem;height:.5rem}.s-range__content input[type=range]::-moz-range-track{appearance:none;background-color:var(--neutrals-1000)!important;height:.5rem;border-radius:.25rem}.s-range__content input[type=range]::-ms-track{appearance:none;background-color:var(--neutrals-1000)!important;height:.5rem;border-radius:.25rem}.s-range__content input[type=range]::-moz-range-progress{appearance:none;background-color:var(--primary-600)!important;height:.5rem;border-radius:.25rem}.s-range__content input[type=range]::-ms-fill-upper{appearance:none;background-color:var(--primary-600)!important;height:.5rem;border-radius:.25rem}.s-range__content input[type=range]::-webkit-slider-thumb{box-sizing:border-box;-webkit-appearance:none;border:unset;outline:unset;box-shadow:unset;width:1.5rem;height:1.5rem;border-radius:50%;border:.18rem solid var(--primary-600);background:var(--neutrals-1200);margin-top:-.5rem}.s-range__content input[type=range]::-moz-range-thumb{box-sizing:border-box;-webkit-appearance:none;border:unset;outline:unset;box-shadow:unset;width:1.5rem;height:1.5rem;border-radius:50%;border:.18rem solid var(--primary-600);background:var(--neutrals-1200)}.s-range__content input[type=range]::-ms-thumb{box-sizing:border-box;-webkit-appearance:none;border:unset;outline:unset;box-shadow:unset;width:1.5rem;height:1.5rem;border-radius:50%;border:.18rem solid var(--primary-600);background:var(--neutrals-1200)}.s-range__content input[type=range]::-webkit-slider-thumb:hover{border:.18rem solid var(--primary-600);background:var(--primary-200)}.s-range__content input[type=range]::-moz-range-thumb:hover{border:.18rem solid var(--primary-600);background:var(--primary-200)}.s-range__content input[type=range]::-ms-thumb:hover{border:.18rem solid var(--primary-600);background:var(--primary-200)}.s-range__content input[type=range]::-webkit-slider-thumb:active{border:.18rem solid var(--primary-600);background:var(--primary-600);box-shadow:0 .0625rem .125rem 0 var(--blue-alpha-100),0 0 0 .25rem var(--cyan-alpha-200)}.s-range__content input[type=range]::-moz-range-thumb:active{border:.18rem solid var(--primary-600);background:var(--primary-600);box-shadow:0 .0625rem .125rem 0 var(--blue-alpha-100),0 0 0 .25rem var(--cyan-alpha-200)}.s-range__content input[type=range]::-ms-thumb:active{border:.18rem solid var(--primary-600);background:var(--primary-600);box-shadow:0 .0625rem .125rem 0 var(--blue-alpha-100),0 0 0 .25rem var(--cyan-alpha-200)}.s-range__content input[type=range]:disabled{filter:grayscale(1);opacity:.3;cursor:not-allowed}.tooltip{position:relative;display:inline-block;cursor:pointer;width:100%}.tooltip .tooltiptext{visibility:hidden;width:2.5rem;background-color:var(--neutrals-1200);color:var(--secondary-600);font-weight:700;font-size:.75rem;text-align:center;border-radius:.25rem;padding:.31rem;position:absolute;z-index:1;bottom:100%;left:550%;transform:translate(-50%);box-shadow:var(--E200)}.tooltip-false:hover .tooltiptext{visibility:visible}.tooltip .tooltiptext:before{content:\"\";position:absolute!important;transform:rotate(45deg);height:.625rem;width:.625rem;bottom:-.31rem;background-color:var(--neutrals-1200);box-shadow:var(--E200);left:40%}\n"] }]
|
|
153
153
|
}], propDecorators: { tooltipContainer: [{
|
|
154
154
|
type: ViewChild,
|
|
155
155
|
args: ['tooltipContainer', { static: false }]
|
|
@@ -193,4 +193,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
193
193
|
}], focus: [{
|
|
194
194
|
type: Output
|
|
195
195
|
}] } });
|
|
196
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicy1yYW5nZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaWRlc3lzLWdlbmVyaWMtdWkvc3JjL2xpYi9pbnB1dC9jb21wb25lbnRzL3JhbmdlL3MtcmFuZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2lkZXN5cy1nZW5lcmljLXVpL3NyYy9saWIvaW5wdXQvY29tcG9uZW50cy9yYW5nZS9zLXJhbmdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUksT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQWV6RSxNQUFNLE9BQU8sZUFBZTtJQWI1QjtRQWVFLGFBQVEsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLFlBQU8sR0FBRyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFPWCxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLE9BQUUsR0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFLM0QsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUUxQixRQUFHLEdBQVcsQ0FBQyxDQUFDO1FBQ2hCLFNBQUksR0FBVyxDQUFDLENBQUM7UUFDakIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixhQUFRLEdBQVcsRUFBRSxDQUFDO1FBQ3RCLFNBQUksR0FBZ0IsSUFBSSxDQUFDO1FBQ3pCLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFHakMsZ0JBQVcsR0FBWSxL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dFJlZiwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3MtcmFuZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vcy1yYW5nZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3MtcmFuZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTUmFuZ2VDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU1JhbmdlQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyVmlld0luaXQge1xuXG4gIG9uQ2hhbmdlID0gKF86IGFueSkgPT4geyB9O1xuICBvblRvdWNoID0gKCkgPT4geyB9O1xuXG4gIC8vUkVGIFBBUkEgVFlQRSBSQU5HRVxuICBAVmlld0NoaWxkKCd0b29sdGlwQ29udGFpbmVyJywgeyBzdGF0aWM6IGZhbHNlIH0pIHRvb2x0aXBDb250YWluZXI6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG4gIEBWaWV3Q2hpbGQoJ3Rvb2x0aXAnLCB7IHN0YXRpYzogZmFsc2UgfSkgdG9vbHRpcDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuXG4gIEBJbnB1dCgpIHZhbHVlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgaWQ6IHN0cmluZyA9IChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxMDAwKSkudG9TdHJpbmcoKTtcbiAgQElucHV0KCkgbGFiZWw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgQElucHV0KCkgaGVscFRleHQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGVycm9yVGV4dD86IHN0cmluZztcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbWF4PzogbnVtYmVyO1xuICBASW5wdXQoKSBtaW46IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIHN0ZXA6IG51bWJlciA9IDE7XG4gIEBJbnB1dCgpIHJlYWRPbmx5OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNsYXNzQWRkOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgc2l6ZTogJ3NtJyB8ICdtZCcgPSAnbWQnO1xuICBASW5wdXQoKSByYW5nZVVuaXR5OiBzdHJpbmcgPSAnJztcblxuICBpbnB1dFRpbWVvdXQ/OiBhbnk7XG4gIGluY29uU3ltYm9sOiBib29sZWFuID0gZmFsc2U7XG4gIHRvb2x0aXBWYWx1ZTogc3RyaW5nID0gJyc7XG5cbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIGNsaWNrSGVscEljb25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIGJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBmb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yYW5nZU9uTG9hZCgpO1xuICB9XG5cbiAgb25UZXh0Q2hhbmdlKCkge1xuICAgIHRoaXMub25Ub3VjaCgpO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgaWYgKHRoaXMuaW5wdXRUaW1lb3V0KSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5pbnB1dFRpbWVvdXQpO1xuICAgIH1cbiAgICB0aGlzLmlucHV0VGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy52YWx1ZUNoYW5nZUV2ZW50Lm5leHQodGhpcy52YWx1ZSk7XG4gICAgfSwgNTAwLCBudWxsKTtcbiAgfVxuXG4gIG9uVGV4dENoYW5nZVZhbCh2YWw6IHN0cmluZykge1xuICAgIGlmICh0aGlzLmlucHV0VGltZW91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuaW5wdXRUaW1lb3V0KTtcbiAgICB9XG4gICAgdGhpcy5pbnB1dFRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh2YWwpIHtcbiAgICAgICAgdGhpcy5vblRvdWNoKCk7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsKTtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZUV2ZW50Lm5leHQodmFsKTtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbDtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICB0aGlzLm9uVG91Y2goKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWwpO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlRXZlbnQubmV4dCh0aGlzLnZhbHVlKTtcbiAgICAgIH1cbiAgICB9LCA1MDAsIG51bGwpO1xuICB9XG5cbiAgY2xpY2tJY29uKCkge1xuICAgIHRoaXMuY2xpY2tIZWxwSWNvbkV2ZW50Lm5leHQoKTtcbiAgfVxuXG4gIC8vRlVOQ0lPTkVTIFBBUkEgVFlQRSBSQU5HRSBcbiAgcmFuZ2VPbkxvYWQoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAvL1JBTkdPIFRPVEFMXG4gICAgICBjb25zdCByYW5nZU1heCA9IHRoaXMubWF4ID8gdGhpcy5tYXggOiAxMDA7XG4gICAgICAvL0NBTENVTE8gTEEgQU1QTElUVUQgUEFSQSBQT0RFUiBQT1NJQ0lPTkFSIEFMIDUwJSBQT1IgREVGRUNUT1xuICAgICAgbGV0IGFtcGxpdHVkVG90YWwgPSByYW5nZU1heCAtIHRoaXMubWluXG4gICAgICBsZXQgcG9yY2lvbiA9IChhbXBsaXR1ZFRvdGFsICogNTApIC8gMTAwXG4gICAgICAvLyBJTklDSUFMSVpBIEFMIDUwJSBDVUFORE8gTk8gSEFZIFZBTE9SIFBSRURFRklOSURPXG4gICAgICBsZXQgdmFsdWUgPSB0aGlzLnZhbHVlID09ICcnID8gdGhpcy5taW4gKyBwb3JjaW9uIDogdGhpcy52YWx1ZVxuICAgICAgdmFsdWUgPSB0aGlzLnZhbHVlID09ICcnID8gdGhpcy5taW4gKyBwb3JjaW9uIDogdGhpcy52YWx1ZVxuICAgICAgLy9ERUZJTk8gRUwgVE9PVExUSVBcbiAgICAgIHRoaXMudG9vbHRpcFZhbHVlID0gdGhpcy52YWx1ZSArIHRoaXMucmFuZ2VVbml0eTtcbiAgICAgIHRoaXMudXBkYXRlVG9vbHRpcCh2YWx1ZS50b1N0cmluZygpKTtcbiAgICAgIC8vU0kgRVMgQ0hST01FIEFQTElDTyBFTCBGSVhcbiAgICAgIGNvbnN0IGlzQ2hyb21lID0gL0Nocm9tZS8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSAmJiAvR29vZ2xlIEluYy8udGVzdChuYXZpZ2F0b3IudmVuZG9yKTtcbiAgICAgIGlmIChpc0Nocm9tZSkge1xuICAgICAgICAvL0NBTENDVUxPIEVMICUgQSBBU0lHTkFSXG4gICAgICAgIGxldCBwb3JjZW50YWplID0gKChOdW1iZXIodmFsdWUpIC0gdGhpcy5taW4pIC8gKHJhbmdlTWF4IC0gdGhpcy5taW4pKSAqIDEwMFxuICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKT8uc3R5bGUuc2V0UHJvcGVydHkoJ21hcmdpbi10b3AnLCAnMTRweCcpO1xuICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKT8uc3R5bGUuc2V0UHJvcGVydHkoJ21hcmdpbi1ib3R0b20nLCAnMTRweCcpO1xuICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKT8uc3R5bGUuc2V0UHJvcGVydHkoJ2JvcmRlci1yYWRpdXMnLCAnNHB4Jyk7XG4gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuaWQpPy5zdHlsZS5zZXRQcm9wZXJ0eSgnaGVpZ2h0JywgJzhweCcpO1xuICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKT8uc3R5bGUuc2V0UHJvcGVydHkoJ2JhY2tncm91bmQnLCAnbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB2YXIoLS1wcmltYXJ5LTYwMCkgMCUsIHZhcigtLXByaW1hcnktNjAwKSAnICsgcG9yY2VudGFqZSArICclLCB2YXIoLS1uZXV0cmFscy0xMDAwKSAnICsgcG9yY2VudGFqZSArICclLCB2YXIoLS1uZXV0cmFscy0xMDAwKSAxMDAlKScpO1xuICAgICAgfTtcbiAgICB9LCAwKTtcbiAgfVxuXG4gIC8vRlVOQ0lPTiBQQVJBIENIUk9NRSBDVUFORE8gU0UgREVTTElaQSBFTCBTTElERSBGVU5DSU9ORSBDT1JSRUNUQU1FTlRFXG4gIGNoYW5nZVJhbmdlKHZhbHVlOiBhbnkpIHtcbiAgICBjb25zdCBpc0Nocm9tZSA9IC9DaHJvbWUvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkgJiYgL0dvb2dsZSBJbmMvLnRlc3QobmF2aWdhdG9yLnZlbmRvcik7XG4gICAgY29uc3QgcmFuZ2VNYXggPSB0aGlzLm1heCA/IHRoaXMubWF4IDogMTAwO1xuICAgIGlmIChpc0Nocm9tZSkge1xuICAgICAgbGV0IHBvcmNlbnRhamUgPSAoKHZhbHVlIC0gdGhpcy5taW4pIC8gKHJhbmdlTWF4IC0gdGhpcy5taW4pKSAqIDEwMFxuICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5pZCk/LnN0eWxlLnNldFByb3BlcnR5KCdiYWNrZ3JvdW5kJywgJ2xpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tcHJpbWFyeS02MDApIDAlLCB2YXIoLS1wcmltYXJ5LTYwMCkgJyArIHBvcmNlbnRhamUgKyAnJSwgdmFyKC0tbmV1dHJhbHMtMTAwMCkgJyArIHBvcmNlbnRhamUgKyAnJSwgdmFyKC0tbmV1dHJhbHMtMTAwMCkgMTAwJSknKTtcbiAgICB9O1xuICB9XG5cbiAgLy9GVU5DSU9OIFFVRSBBQ1RVQUxJWkEgRUwgVE9PTFRJUCBDVUFORE8gU0UgREVTTElaQSBFTCBTTElERVxuICB1cGRhdGVUb29sdGlwKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy50b29sdGlwQ29udGFpbmVyICYmIHRoaXMudG9vbHRpcCkge1xuICAgICAgY29uc3QgcmFuZ2VXaWR0aCA9IHRoaXMudG9vbHRpcENvbnRhaW5lci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgICAgY29uc3QgcmFuZ2VNYXggPSB0aGlzLm1heCA/IHRoaXMubWF4IDogMTAwO1xuICAgICAgbGV0IHBvcmNlbnRhamUgPSAoKE51bWJlcih2YWx1ZSkgLSB0aGlzLm1pbikgLyAocmFuZ2VNYXggLSB0aGlzLm1pbikpICogMTAwXG4gICAgICBsZXQgYWp1c3RlID0gcG9yY2VudGFqZSAqIHJhbmdlV2lkdGggLyAxMDA7XG4gICAgICB0aGlzLnRvb2x0aXAubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0ID0gYCR7YWp1c3RlfXB4YDtcbiAgICAgIHRoaXMudG9vbHRpcFZhbHVlID0gdmFsdWUgKyB0aGlzLnJhbmdlVW5pdHk7XG4gICAgfVxuICB9XG5cbiAgcHJldmVudEludGVyYWN0aW9uKGV2ZW50OiBFdmVudCkge1xuICAgIGlmICh0aGlzLnJlYWRPbmx5KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuICAvL0ZJTiBGVU5DSU9ORVMgUEFSQSBUWVBFIFJBTkdFXG5cbiAgLy9GVU5DSU9ORVMgUEFSQSBRVUUgRlVOQ0lPTkUgRk9STSBCVUlMREVSXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5yYW5nZU9uTG9hZCgpO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgfVxuXG4gIG9uQmx1cihldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5ibHVyLm5leHQoZXZlbnQpO1xuICB9XG5cbiAgb25Gb2N1cyhldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5mb2N1cy5uZXh0KGV2ZW50KTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lcj5cbiAgPGxhYmVsICpuZ0lmPVwibGFiZWxcIiBjbGFzcz1cInMtcmFuZ2VfX2xhYmVsXCI+XG5cdFx0e3tsYWJlbH19XG5cdFx0PHNwYW4gY2xhc3M9XCJzLXJhbmdlX19yZXF1aXJlZFwiICpuZ0lmPVwicmVxdWlyZWRcIj4qPC9zcGFuPlxuXHQ8L2xhYmVsPlxuICA8ZGl2IGNsYXNzPVwicy1yYW5nZV9fY29udGVudCB7e2NsYXNzQWRkfX1cIiBbbmdDbGFzc109XCJ7J2Rpc2FibGVkLWFjdGl2ZSc6IGRpc2FibGVkfVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInRvb2x0aXAgdG9vbHRpcC17e2Rpc2FibGVkfX1cIiAjdG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgI3JhbmdlRmllbGQgXG4gICAgICAgICAgICAgIFtpZF09XCJpZFwiXG4gICAgICAgICAgICAgIFtzdGVwXT1cInN0ZXBcIlxuICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgICAgICAgICAgICBbdHlwZV09XCIncmFuZ2UnXCJcbiAgICAgICAgICAgICAgbWF4PXt7bWF4fX1cbiAgICAgICAgICAgICAgbWluPXt7bWlufX1cbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVGV4dENoYW5nZSgpXCJcbiAgICAgICAgICAgICAgKG1vdXNlbW92ZSk9XCIhcmVhZE9ubHkgJiYgY2hhbmdlUmFuZ2UocmFuZ2VGaWVsZC52YWx1ZSlcIlxuICAgICAgICAgICAgICAoaW5wdXQpPVwiIXJlYWRPbmx5ICYmIHVwZGF0ZVRvb2x0aXAocmFuZ2VGaWVsZC52YWx1ZSlcIlxuICAgICAgICAgICAgICAobW91c2Vkb3duKT1cInByZXZlbnRJbnRlcmFjdGlvbigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRvb2x0aXB0ZXh0XCIgI3Rvb2x0aXA+e3sgdG9vbHRpcFZhbHVlIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8cy1lcnJvci1jb250cm9sICpuZ0lmPVwiZXJyb3JUZXh0XCIgdGhlbWUgPVwicmVkXCI+e3tlcnJvclRleHR9fTwvcy1lcnJvci1jb250cm9sPlxuXHQ8cy1lcnJvci1jb250cm9sICpuZ0lmPVwiaGVscFRleHQgJiYgIWVycm9yVGV4dFwiPnt7aGVscFRleHR9fTwvcy1lcnJvci1jb250cm9sPlxuPC9uZy1jb250YWluZXI+Il19
|
|
196
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicy1yYW5nZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaWRlc3lzLWdlbmVyaWMtdWkvc3JjL2xpYi9pbnB1dC9jb21wb25lbnRzL3JhbmdlL3MtcmFuZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2lkZXN5cy1nZW5lcmljLXVpL3NyYy9saWIvaW5wdXQvY29tcG9uZW50cy9yYW5nZS9zLXJhbmdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUksT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQWV6RSxNQUFNLE9BQU8sZUFBZTtJQWI1QjtRQWVFLGFBQVEsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLFlBQU8sR0FBRyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFPWCxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLE9BQUUsR0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFLM0QsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUUxQixRQUFHLEdBQVcsQ0FBQyxDQUFDO1FBQ2hCLFNBQUksR0FBVyxDQUFDLENBQUM7UUFDakIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixhQUFRLEdBQVcsRUFBRSxDQUFDO1FBQ3RCLFNBQUksR0FBZ0IsSUFBSSxDQUFDO1FBQ3pCLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFHakMsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0IsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFFaEIscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUM5Qyx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQzlDLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ2hDLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0tBd0g1QztJQXRIQyxlQUFlO1FBQ2IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNsQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELGVBQWUsQ0FBQyxHQUFXO1FBQ3pCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbEMsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNsQyxJQUFJLEdBQUcsRUFBRSxDQUFDO2dCQUNSLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDZixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNuQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNoQyxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUNuQixDQUFDO2lCQUNJLENBQUM7Z0JBQ0osSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNmLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3pDLENBQUM7UUFDSCxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCw0QkFBNEI7SUFDNUIsV0FBVztRQUNULFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxhQUFhO1lBQ2IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQzNDLDhEQUE4RDtZQUM5RCxJQUFJLGFBQWEsR0FBRyxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQTtZQUN2QyxJQUFJLE9BQU8sR0FBRyxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUE7WUFDeEMsb0RBQW9EO1lBQ3BELElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQTtZQUM5RCxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFBO1lBQzFELG9CQUFvQjtZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUNqRCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3JDLDRCQUE0QjtZQUM1QixNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMzRixJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNiLHlCQUF5QjtnQkFDekIsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFBO2dCQUMzRSxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsQ0FBQztnQkFDL0UsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsV0FBVyxDQUFDLENBQUM7Z0JBQ2xGLFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUNoRixRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDekUsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsc0VBQXNFLEdBQUcsVUFBVSxHQUFHLDBCQUEwQixHQUFHLFVBQVUsR0FBRywrQkFBK0IsQ0FBQyxDQUFDO1lBQ3JPLENBQUM7WUFBQSxDQUFDO1FBQ0osQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVELHVFQUF1RTtJQUN2RSxXQUFXLENBQUMsS0FBVTtRQUNwQixNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDM0MsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQTtZQUNuRSxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxzRUFBc0UsR0FBRyxVQUFVLEdBQUcsMEJBQTBCLEdBQUcsVUFBVSxHQUFHLCtCQUErQixDQUFDLENBQUM7UUFDck8sQ0FBQztRQUFBLENBQUM7SUFDSixDQUFDO0lBRUQsNkRBQTZEO0lBQzdELGFBQWEsQ0FBQyxLQUFhO1FBQ3pCLElBQUksSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMxQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztZQUNuRSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDM0MsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFBO1lBQzNFLElBQUksTUFBTSxHQUFHLFVBQVUsR0FBRyxVQUFVLEdBQUcsR0FBRyxDQUFDO1lBQzNDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQztZQUN0RCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQzlDLENBQUM7SUFDSCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsS0FBWTtRQUM3QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDekIsQ0FBQztJQUNILENBQUM7SUFDRCwrQkFBK0I7SUFFL0IsMENBQTBDO0lBQzFDLFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNuQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckIsQ0FBQztJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBVTtRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBVTtRQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDOytHQXZKVSxlQUFlO21HQUFmLGVBQWUsdWFBUmY7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQztnQkFDOUMsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLHFPQ2RILGl5Q0E4QmU7OzRGRGRGLGVBQWU7a0JBYjNCLFNBQVM7K0JBQ0UsU0FBUyxpQkFHSixpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDOzRCQUM5QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs4QkFRaUQsZ0JBQWdCO3NCQUFqRSxTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDUCxPQUFPO3NCQUEvQyxTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBRzlCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQU1JLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csSUFBSTtzQkFBYixNQUFNO2dCQUNHLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3MtcmFuZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vcy1yYW5nZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3MtcmFuZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTUmFuZ2VDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU1JhbmdlQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyVmlld0luaXQge1xuXG4gIG9uQ2hhbmdlID0gKF86IGFueSkgPT4geyB9O1xuICBvblRvdWNoID0gKCkgPT4geyB9O1xuXG4gIC8vUkVGIFBBUkEgVFlQRSBSQU5HRVxuICBAVmlld0NoaWxkKCd0b29sdGlwQ29udGFpbmVyJywgeyBzdGF0aWM6IGZhbHNlIH0pIHRvb2x0aXBDb250YWluZXI6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG4gIEBWaWV3Q2hpbGQoJ3Rvb2x0aXAnLCB7IHN0YXRpYzogZmFsc2UgfSkgdG9vbHRpcDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuXG4gIEBJbnB1dCgpIHZhbHVlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgaWQ6IHN0cmluZyA9IChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxMDAwKSkudG9TdHJpbmcoKTtcbiAgQElucHV0KCkgbGFiZWw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgQElucHV0KCkgaGVscFRleHQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGVycm9yVGV4dD86IHN0cmluZztcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbWF4PzogbnVtYmVyO1xuICBASW5wdXQoKSBtaW46IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIHN0ZXA6IG51bWJlciA9IDE7XG4gIEBJbnB1dCgpIHJlYWRPbmx5OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNsYXNzQWRkOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgc2l6ZTogJ3NtJyB8ICdtZCcgPSAnbWQnO1xuICBASW5wdXQoKSByYW5nZVVuaXR5OiBzdHJpbmcgPSAnJztcblxuICBpbnB1dFRpbWVvdXQ/OiBhbnk7XG4gIGluY29uU3ltYm9sOiBib29sZWFuID0gZmFsc2U7XG4gIHRvb2x0aXBWYWx1ZTogc3RyaW5nID0gJyc7XG5cbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIGNsaWNrSGVscEljb25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIGJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBmb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yYW5nZU9uTG9hZCgpO1xuICB9XG5cbiAgb25UZXh0Q2hhbmdlKCkge1xuICAgIHRoaXMub25Ub3VjaCgpO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgaWYgKHRoaXMuaW5wdXRUaW1lb3V0KSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5pbnB1dFRpbWVvdXQpO1xuICAgIH1cbiAgICB0aGlzLmlucHV0VGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy52YWx1ZUNoYW5nZUV2ZW50Lm5leHQodGhpcy52YWx1ZSk7XG4gICAgfSwgNTAwLCBudWxsKTtcbiAgfVxuXG4gIG9uVGV4dENoYW5nZVZhbCh2YWw6IHN0cmluZykge1xuICAgIGlmICh0aGlzLmlucHV0VGltZW91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuaW5wdXRUaW1lb3V0KTtcbiAgICB9XG4gICAgdGhpcy5pbnB1dFRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh2YWwpIHtcbiAgICAgICAgdGhpcy5vblRvdWNoKCk7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsKTtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZUV2ZW50Lm5leHQodmFsKTtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbDtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICB0aGlzLm9uVG91Y2goKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWwpO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlRXZlbnQubmV4dCh0aGlzLnZhbHVlKTtcbiAgICAgIH1cbiAgICB9LCA1MDAsIG51bGwpO1xuICB9XG5cbiAgY2xpY2tJY29uKCkge1xuICAgIHRoaXMuY2xpY2tIZWxwSWNvbkV2ZW50Lm5leHQoKTtcbiAgfVxuXG4gIC8vRlVOQ0lPTkVTIFBBUkEgVFlQRSBSQU5HRSBcbiAgcmFuZ2VPbkxvYWQoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAvL1JBTkdPIFRPVEFMXG4gICAgICBjb25zdCByYW5nZU1heCA9IHRoaXMubWF4ID8gdGhpcy5tYXggOiAxMDA7XG4gICAgICAvL0NBTENVTE8gTEEgQU1QTElUVUQgUEFSQSBQT0RFUiBQT1NJQ0lPTkFSIEFMIDUwJSBQT1IgREVGRUNUT1xuICAgICAgbGV0IGFtcGxpdHVkVG90YWwgPSByYW5nZU1heCAtIHRoaXMubWluXG4gICAgICBsZXQgcG9yY2lvbiA9IChhbXBsaXR1ZFRvdGFsICogNTApIC8gMTAwXG4gICAgICAvLyBJTklDSUFMSVpBIEFMIDUwJSBDVUFORE8gTk8gSEFZIFZBTE9SIFBSRURFRklOSURPXG4gICAgICBsZXQgdmFsdWUgPSB0aGlzLnZhbHVlID09ICcnID8gdGhpcy5taW4gKyBwb3JjaW9uIDogdGhpcy52YWx1ZVxuICAgICAgdmFsdWUgPSB0aGlzLnZhbHVlID09ICcnID8gdGhpcy5taW4gKyBwb3JjaW9uIDogdGhpcy52YWx1ZVxuICAgICAgLy9ERUZJTk8gRUwgVE9PVExUSVBcbiAgICAgIHRoaXMudG9vbHRpcFZhbHVlID0gdGhpcy52YWx1ZSArIHRoaXMucmFuZ2VVbml0eTtcbiAgICAgIHRoaXMudXBkYXRlVG9vbHRpcCh2YWx1ZS50b1N0cmluZygpKTtcbiAgICAgIC8vU0kgRVMgQ0hST01FIEFQTElDTyBFTCBGSVhcbiAgICAgIGNvbnN0IGlzQ2hyb21lID0gL0Nocm9tZS8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSAmJiAvR29vZ2xlIEluYy8udGVzdChuYXZpZ2F0b3IudmVuZG9yKTtcbiAgICAgIGlmIChpc0Nocm9tZSkge1xuICAgICAgICAvL0NBTENDVUxPIEVMICUgQSBBU0lHTkFSXG4gICAgICAgIGxldCBwb3JjZW50YWplID0gKChOdW1iZXIodmFsdWUpIC0gdGhpcy5taW4pIC8gKHJhbmdlTWF4IC0gdGhpcy5taW4pKSAqIDEwMFxuICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKT8uc3R5bGUuc2V0UHJvcGVydHkoJ21hcmdpbi10b3AnLCAnIDAuODc1cmVtJyk7XG4gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuaWQpPy5zdHlsZS5zZXRQcm9wZXJ0eSgnbWFyZ2luLWJvdHRvbScsICcgMC44NzVyZW0nKTtcbiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5pZCk/LnN0eWxlLnNldFByb3BlcnR5KCdib3JkZXItcmFkaXVzJywgJzAuMjVyZW0nKTtcbiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5pZCk/LnN0eWxlLnNldFByb3BlcnR5KCdoZWlnaHQnLCAnIDAuNXJlbScpO1xuICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKT8uc3R5bGUuc2V0UHJvcGVydHkoJ2JhY2tncm91bmQnLCAnbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB2YXIoLS1wcmltYXJ5LTYwMCkgMCUsIHZhcigtLXByaW1hcnktNjAwKSAnICsgcG9yY2VudGFqZSArICclLCB2YXIoLS1uZXV0cmFscy0xMDAwKSAnICsgcG9yY2VudGFqZSArICclLCB2YXIoLS1uZXV0cmFscy0xMDAwKSAxMDAlKScpO1xuICAgICAgfTtcbiAgICB9LCAwKTtcbiAgfVxuXG4gIC8vRlVOQ0lPTiBQQVJBIENIUk9NRSBDVUFORE8gU0UgREVTTElaQSBFTCBTTElERSBGVU5DSU9ORSBDT1JSRUNUQU1FTlRFXG4gIGNoYW5nZVJhbmdlKHZhbHVlOiBhbnkpIHtcbiAgICBjb25zdCBpc0Nocm9tZSA9IC9DaHJvbWUvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkgJiYgL0dvb2dsZSBJbmMvLnRlc3QobmF2aWdhdG9yLnZlbmRvcik7XG4gICAgY29uc3QgcmFuZ2VNYXggPSB0aGlzLm1heCA/IHRoaXMubWF4IDogMTAwO1xuICAgIGlmIChpc0Nocm9tZSkge1xuICAgICAgbGV0IHBvcmNlbnRhamUgPSAoKHZhbHVlIC0gdGhpcy5taW4pIC8gKHJhbmdlTWF4IC0gdGhpcy5taW4pKSAqIDEwMFxuICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5pZCk/LnN0eWxlLnNldFByb3BlcnR5KCdiYWNrZ3JvdW5kJywgJ2xpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tcHJpbWFyeS02MDApIDAlLCB2YXIoLS1wcmltYXJ5LTYwMCkgJyArIHBvcmNlbnRhamUgKyAnJSwgdmFyKC0tbmV1dHJhbHMtMTAwMCkgJyArIHBvcmNlbnRhamUgKyAnJSwgdmFyKC0tbmV1dHJhbHMtMTAwMCkgMTAwJSknKTtcbiAgICB9O1xuICB9XG5cbiAgLy9GVU5DSU9OIFFVRSBBQ1RVQUxJWkEgRUwgVE9PTFRJUCBDVUFORE8gU0UgREVTTElaQSBFTCBTTElERVxuICB1cGRhdGVUb29sdGlwKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy50b29sdGlwQ29udGFpbmVyICYmIHRoaXMudG9vbHRpcCkge1xuICAgICAgY29uc3QgcmFuZ2VXaWR0aCA9IHRoaXMudG9vbHRpcENvbnRhaW5lci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgICAgY29uc3QgcmFuZ2VNYXggPSB0aGlzLm1heCA/IHRoaXMubWF4IDogMTAwO1xuICAgICAgbGV0IHBvcmNlbnRhamUgPSAoKE51bWJlcih2YWx1ZSkgLSB0aGlzLm1pbikgLyAocmFuZ2VNYXggLSB0aGlzLm1pbikpICogMTAwXG4gICAgICBsZXQgYWp1c3RlID0gcG9yY2VudGFqZSAqIHJhbmdlV2lkdGggLyAxMDA7XG4gICAgICB0aGlzLnRvb2x0aXAubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0ID0gYCR7YWp1c3RlfXB4YDtcbiAgICAgIHRoaXMudG9vbHRpcFZhbHVlID0gdmFsdWUgKyB0aGlzLnJhbmdlVW5pdHk7XG4gICAgfVxuICB9XG5cbiAgcHJldmVudEludGVyYWN0aW9uKGV2ZW50OiBFdmVudCkge1xuICAgIGlmICh0aGlzLnJlYWRPbmx5KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuICAvL0ZJTiBGVU5DSU9ORVMgUEFSQSBUWVBFIFJBTkdFXG5cbiAgLy9GVU5DSU9ORVMgUEFSQSBRVUUgRlVOQ0lPTkUgRk9STSBCVUlMREVSXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5yYW5nZU9uTG9hZCgpO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgfVxuXG4gIG9uQmx1cihldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5ibHVyLm5leHQoZXZlbnQpO1xuICB9XG5cbiAgb25Gb2N1cyhldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5mb2N1cy5uZXh0KGV2ZW50KTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lcj5cbiAgPGxhYmVsICpuZ0lmPVwibGFiZWxcIiBjbGFzcz1cInMtcmFuZ2VfX2xhYmVsXCI+XG5cdFx0e3tsYWJlbH19XG5cdFx0PHNwYW4gY2xhc3M9XCJzLXJhbmdlX19yZXF1aXJlZFwiICpuZ0lmPVwicmVxdWlyZWRcIj4qPC9zcGFuPlxuXHQ8L2xhYmVsPlxuICA8ZGl2IGNsYXNzPVwicy1yYW5nZV9fY29udGVudCB7e2NsYXNzQWRkfX1cIiBbbmdDbGFzc109XCJ7J2Rpc2FibGVkLWFjdGl2ZSc6IGRpc2FibGVkfVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInRvb2x0aXAgdG9vbHRpcC17e2Rpc2FibGVkfX1cIiAjdG9vbHRpcENvbnRhaW5lcj5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgI3JhbmdlRmllbGQgXG4gICAgICAgICAgICAgIFtpZF09XCJpZFwiXG4gICAgICAgICAgICAgIFtzdGVwXT1cInN0ZXBcIlxuICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgICAgICAgICAgICBbdHlwZV09XCIncmFuZ2UnXCJcbiAgICAgICAgICAgICAgbWF4PXt7bWF4fX1cbiAgICAgICAgICAgICAgbWluPXt7bWlufX1cbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVGV4dENoYW5nZSgpXCJcbiAgICAgICAgICAgICAgKG1vdXNlbW92ZSk9XCIhcmVhZE9ubHkgJiYgY2hhbmdlUmFuZ2UocmFuZ2VGaWVsZC52YWx1ZSlcIlxuICAgICAgICAgICAgICAoaW5wdXQpPVwiIXJlYWRPbmx5ICYmIHVwZGF0ZVRvb2x0aXAocmFuZ2VGaWVsZC52YWx1ZSlcIlxuICAgICAgICAgICAgICAobW91c2Vkb3duKT1cInByZXZlbnRJbnRlcmFjdGlvbigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRvb2x0aXB0ZXh0XCIgI3Rvb2x0aXA+e3sgdG9vbHRpcFZhbHVlIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8cy1lcnJvci1jb250cm9sICpuZ0lmPVwiZXJyb3JUZXh0XCIgdGhlbWUgPVwicmVkXCI+e3tlcnJvclRleHR9fTwvcy1lcnJvci1jb250cm9sPlxuXHQ8cy1lcnJvci1jb250cm9sICpuZ0lmPVwiaGVscFRleHQgJiYgIWVycm9yVGV4dFwiPnt7aGVscFRleHR9fTwvcy1lcnJvci1jb250cm9sPlxuPC9uZy1jb250YWluZXI+Il19
|
|
@@ -58,7 +58,7 @@ export class STimeComponent extends ControlValueAccessorDirective {
|
|
|
58
58
|
useExisting: forwardRef(() => STimeComponent),
|
|
59
59
|
multi: true
|
|
60
60
|
}
|
|
61
|
-
], usesInheritance: true, ngImport: i0, template: "<section class=\"s-time\">\n <label [for]=\"config.id\" *ngIf=\"config?.label\" class=\"s-time__label\">\n {{ config.label }}\n <span class=\"s-time__required\" *ngIf=\"config?.required\">*</span>\n </label>\n <div\n class=\"s-time__content {{ config.size }} theme-{{ config.theme }} {{\n config.classAdd\n }}\"\n [ngClass]=\"{\n 'disabled-active':\n config.disabled || (control && control.status === 'DISABLED'),\n 'theme-red':\n (control && control.invalid && (isFocused || control.touched)) ||\n (control && control.errors && control.touched) ||\n config.theme === 'red',\n }\">\n <div class=\"content-center\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <input\n autocomplete=\"off\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id\"\n [type]=\"'time'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [formControl]=\"control\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-container>\n <ng-template #notUseFormControl>\n <input\n autocomplete=\"off\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id\"\n [type]=\"'time'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-template>\n </div>\n <div\n *ngIf=\"config?.theme !== 'default' && config.theme !== undefined\"\n class=\"content-right\">\n <s-icon-mat [type]=\"getIconType()\" class=\"icon report\">{{\n ICON_THEME[config.theme]\n }}</s-icon-mat>\n </div>\n <div\n *ngIf=\"\n config?.theme === 'default' ||\n (config?.theme === undefined && config.showHelp)\n \"\n class=\"content-right\">\n <s-icon-mat (click)=\"clickHelp()\" class=\"icon cursor\"\n >help_outline</s-icon-mat\n >\n </div>\n </div>\n <s-validation-error\n *ngIf=\"\n !config.hideErrorText &&\n control &&\n control.invalid &&\n (isFocused || control.touched)\n \"\n [customErrorMessages]=\"config.errorMessages\"\n [errors]=\"control.errors\">\n </s-validation-error>\n <s-error-control\n *ngIf=\"!config.hideErrorText && config.errorText\"\n theme=\"red\"\n >{{ config.errorText }}</s-error-control\n >\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n !config.errorText &&\n ((control && control.errors?.['required'] && !control.touched) ||\n (control && !control.errors)) &&\n !(isFocused && control.invalid)\n \">\n {{ config.helpText || '' }}\n </s-error-control>\n</section>\n", styles: [".s-time{margin-bottom:.5rem}.s-time__label{font-size:.875rem;color:var(--secondary-600)}.s-time__required{color:var(--primary-600)}.s-time__content{display:flex;border
|
|
61
|
+
], usesInheritance: true, ngImport: i0, template: "<section class=\"s-time\">\n <label [for]=\"config.id\" *ngIf=\"config?.label\" class=\"s-time__label\">\n {{ config.label }}\n <span class=\"s-time__required\" *ngIf=\"config?.required\">*</span>\n </label>\n <div\n class=\"s-time__content {{ config.size }} theme-{{ config.theme }} {{\n config.classAdd\n }}\"\n [ngClass]=\"{\n 'disabled-active':\n config.disabled || (control && control.status === 'DISABLED'),\n 'theme-red':\n (control && control.invalid && (isFocused || control.touched)) ||\n (control && control.errors && control.touched) ||\n config.theme === 'red',\n }\">\n <div class=\"content-center\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <input\n autocomplete=\"off\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id\"\n [type]=\"'time'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [formControl]=\"control\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-container>\n <ng-template #notUseFormControl>\n <input\n autocomplete=\"off\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id\"\n [type]=\"'time'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-template>\n </div>\n <div\n *ngIf=\"config?.theme !== 'default' && config.theme !== undefined\"\n class=\"content-right\">\n <s-icon-mat [type]=\"getIconType()\" class=\"icon report\">{{\n ICON_THEME[config.theme]\n }}</s-icon-mat>\n </div>\n <div\n *ngIf=\"\n config?.theme === 'default' ||\n (config?.theme === undefined && config.showHelp)\n \"\n class=\"content-right\">\n <s-icon-mat (click)=\"clickHelp()\" class=\"icon cursor\"\n >help_outline</s-icon-mat\n >\n </div>\n </div>\n <s-validation-error\n *ngIf=\"\n !config.hideErrorText &&\n control &&\n control.invalid &&\n (isFocused || control.touched)\n \"\n [customErrorMessages]=\"config.errorMessages\"\n [errors]=\"control.errors\">\n </s-validation-error>\n <s-error-control\n *ngIf=\"!config.hideErrorText && config.errorText\"\n theme=\"red\"\n >{{ config.errorText }}</s-error-control\n >\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n !config.errorText &&\n ((control && control.errors?.['required'] && !control.touched) ||\n (control && !control.errors)) &&\n !(isFocused && control.invalid)\n \">\n {{ config.helpText || '' }}\n </s-error-control>\n</section>\n", styles: [".s-time{margin-bottom:.5rem}.s-time__label{font-size:.875rem;color:var(--secondary-600)}.s-time__required{color:var(--primary-600)}.s-time__content{display:flex;border:.063rem solid var(--primary-500);border-radius:.25rem;padding:0 .5rem;margin:.18rem 0;background-color:var(--neutrals-1200)}.s-time__content input{width:100%;border:0rem;color:var(--secondary-600);writing-mode:unset;height:2.25rem;font-size:inherit;background-color:var(--neutrals-1200)}.s-time__content input:focus,.s-time__content input:focus-visible{outline:none}.s-time__content input:-webkit-autofill,.s-time__content input:-webkit-autofill:hover,.s-time__content input:-webkit-autofill:focus,.s-time__content input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1.875rem var(--neutrals-1200) inset!important}.s-time__content .icon{width:1.25rem;cursor:default}.s-time__content .icon span{display:flex}.s-time__content .content-center{width:100%;background-color:var(--neutrals-1200)}.s-time__content .content-left{display:flex;align-items:center;justify-content:space-evenly;margin-right:.5rem;color:var(--primary-600)}.s-time__content .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--secondary-600)}.s-time__content.disabled-active{background-color:var(--neutrals-1100);border-color:var(--neutrals-900);color:var(--neutrals-800)}.s-time__content.disabled-active input{background-color:var(--neutrals-1100);color:var(--neutrals-800)}.s-time__content.disabled-active .content-left{color:var(--neutrals-800)!important}.s-time__content.disabled-active .content-right s-icon-mat span{color:var(--neutrals-800)!important}.s-time__content.theme-red{border:.063rem solid var(--red-500)}.s-time__content.theme-red .icon.report span{color:var(--red-600)}.s-time__content.theme-green{border:.063rem solid var(--green-500)}.s-time__content.theme-green .icon.report span{color:var(--green-600)}.s-time__content.theme-yellow{border:.063rem solid var(--yellow-500)}.s-time__content.theme-yellow .icon.report span{color:var(--yellow-600)}.s-time__content.sm input{height:1.3rem;font-size:.75rem}.s-time__content.sm .icon{width:1.25rem;cursor:default}.s-time__content.sm .icon span{font-size:1.2em;display:flex}.s-time__content:has(input:focus){border:.063rem solid var(--primary-600);box-shadow:0 0 0 .25rem var(--cyan-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-time__content.theme-green:has(input:focus){border:.063rem solid var(--green-500);box-shadow:0 0 0 .25rem var(--green-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-time__content.theme-yellow:has(input:focus){border:.063rem solid var(--yellow-500);box-shadow:0 0 0 .25rem var(--yellow-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-time__content.theme-red:has(input:focus){border:.063rem solid var(--red-500);box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { kind: "component", type: i4.SErrorControl, selector: "s-error-control", inputs: ["theme", "icon", "iconCustom", "size"] }, { kind: "component", type: i5.SValidationError, selector: "s-validation-error", inputs: ["errors", "customErrorMessages"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
62
62
|
}
|
|
63
63
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: STimeComponent, decorators: [{
|
|
64
64
|
type: Component,
|
|
@@ -68,7 +68,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
68
68
|
useExisting: forwardRef(() => STimeComponent),
|
|
69
69
|
multi: true
|
|
70
70
|
}
|
|
71
|
-
], template: "<section class=\"s-time\">\n <label [for]=\"config.id\" *ngIf=\"config?.label\" class=\"s-time__label\">\n {{ config.label }}\n <span class=\"s-time__required\" *ngIf=\"config?.required\">*</span>\n </label>\n <div\n class=\"s-time__content {{ config.size }} theme-{{ config.theme }} {{\n config.classAdd\n }}\"\n [ngClass]=\"{\n 'disabled-active':\n config.disabled || (control && control.status === 'DISABLED'),\n 'theme-red':\n (control && control.invalid && (isFocused || control.touched)) ||\n (control && control.errors && control.touched) ||\n config.theme === 'red',\n }\">\n <div class=\"content-center\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <input\n autocomplete=\"off\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id\"\n [type]=\"'time'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [formControl]=\"control\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-container>\n <ng-template #notUseFormControl>\n <input\n autocomplete=\"off\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id\"\n [type]=\"'time'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-template>\n </div>\n <div\n *ngIf=\"config?.theme !== 'default' && config.theme !== undefined\"\n class=\"content-right\">\n <s-icon-mat [type]=\"getIconType()\" class=\"icon report\">{{\n ICON_THEME[config.theme]\n }}</s-icon-mat>\n </div>\n <div\n *ngIf=\"\n config?.theme === 'default' ||\n (config?.theme === undefined && config.showHelp)\n \"\n class=\"content-right\">\n <s-icon-mat (click)=\"clickHelp()\" class=\"icon cursor\"\n >help_outline</s-icon-mat\n >\n </div>\n </div>\n <s-validation-error\n *ngIf=\"\n !config.hideErrorText &&\n control &&\n control.invalid &&\n (isFocused || control.touched)\n \"\n [customErrorMessages]=\"config.errorMessages\"\n [errors]=\"control.errors\">\n </s-validation-error>\n <s-error-control\n *ngIf=\"!config.hideErrorText && config.errorText\"\n theme=\"red\"\n >{{ config.errorText }}</s-error-control\n >\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n !config.errorText &&\n ((control && control.errors?.['required'] && !control.touched) ||\n (control && !control.errors)) &&\n !(isFocused && control.invalid)\n \">\n {{ config.helpText || '' }}\n </s-error-control>\n</section>\n", styles: [".s-time{margin-bottom:.5rem}.s-time__label{font-size:.875rem;color:var(--secondary-600)}.s-time__required{color:var(--primary-600)}.s-time__content{display:flex;border
|
|
71
|
+
], template: "<section class=\"s-time\">\n <label [for]=\"config.id\" *ngIf=\"config?.label\" class=\"s-time__label\">\n {{ config.label }}\n <span class=\"s-time__required\" *ngIf=\"config?.required\">*</span>\n </label>\n <div\n class=\"s-time__content {{ config.size }} theme-{{ config.theme }} {{\n config.classAdd\n }}\"\n [ngClass]=\"{\n 'disabled-active':\n config.disabled || (control && control.status === 'DISABLED'),\n 'theme-red':\n (control && control.invalid && (isFocused || control.touched)) ||\n (control && control.errors && control.touched) ||\n config.theme === 'red',\n }\">\n <div class=\"content-center\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <input\n autocomplete=\"off\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id\"\n [type]=\"'time'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [formControl]=\"control\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-container>\n <ng-template #notUseFormControl>\n <input\n autocomplete=\"off\"\n [readOnly]=\"config.readOnly || config.disabled\"\n [id]=\"config.id\"\n [type]=\"'time'\"\n max=\"{{ config.max }}\"\n min=\"{{ config.min }}\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-template>\n </div>\n <div\n *ngIf=\"config?.theme !== 'default' && config.theme !== undefined\"\n class=\"content-right\">\n <s-icon-mat [type]=\"getIconType()\" class=\"icon report\">{{\n ICON_THEME[config.theme]\n }}</s-icon-mat>\n </div>\n <div\n *ngIf=\"\n config?.theme === 'default' ||\n (config?.theme === undefined && config.showHelp)\n \"\n class=\"content-right\">\n <s-icon-mat (click)=\"clickHelp()\" class=\"icon cursor\"\n >help_outline</s-icon-mat\n >\n </div>\n </div>\n <s-validation-error\n *ngIf=\"\n !config.hideErrorText &&\n control &&\n control.invalid &&\n (isFocused || control.touched)\n \"\n [customErrorMessages]=\"config.errorMessages\"\n [errors]=\"control.errors\">\n </s-validation-error>\n <s-error-control\n *ngIf=\"!config.hideErrorText && config.errorText\"\n theme=\"red\"\n >{{ config.errorText }}</s-error-control\n >\n <s-error-control\n *ngIf=\"\n !config.hideErrorText &&\n !config.errorText &&\n ((control && control.errors?.['required'] && !control.touched) ||\n (control && !control.errors)) &&\n !(isFocused && control.invalid)\n \">\n {{ config.helpText || '' }}\n </s-error-control>\n</section>\n", styles: [".s-time{margin-bottom:.5rem}.s-time__label{font-size:.875rem;color:var(--secondary-600)}.s-time__required{color:var(--primary-600)}.s-time__content{display:flex;border:.063rem solid var(--primary-500);border-radius:.25rem;padding:0 .5rem;margin:.18rem 0;background-color:var(--neutrals-1200)}.s-time__content input{width:100%;border:0rem;color:var(--secondary-600);writing-mode:unset;height:2.25rem;font-size:inherit;background-color:var(--neutrals-1200)}.s-time__content input:focus,.s-time__content input:focus-visible{outline:none}.s-time__content input:-webkit-autofill,.s-time__content input:-webkit-autofill:hover,.s-time__content input:-webkit-autofill:focus,.s-time__content input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1.875rem var(--neutrals-1200) inset!important}.s-time__content .icon{width:1.25rem;cursor:default}.s-time__content .icon span{display:flex}.s-time__content .content-center{width:100%;background-color:var(--neutrals-1200)}.s-time__content .content-left{display:flex;align-items:center;justify-content:space-evenly;margin-right:.5rem;color:var(--primary-600)}.s-time__content .content-right{display:flex;align-items:center;justify-content:space-evenly;margin-left:.5rem;color:var(--secondary-600)}.s-time__content.disabled-active{background-color:var(--neutrals-1100);border-color:var(--neutrals-900);color:var(--neutrals-800)}.s-time__content.disabled-active input{background-color:var(--neutrals-1100);color:var(--neutrals-800)}.s-time__content.disabled-active .content-left{color:var(--neutrals-800)!important}.s-time__content.disabled-active .content-right s-icon-mat span{color:var(--neutrals-800)!important}.s-time__content.theme-red{border:.063rem solid var(--red-500)}.s-time__content.theme-red .icon.report span{color:var(--red-600)}.s-time__content.theme-green{border:.063rem solid var(--green-500)}.s-time__content.theme-green .icon.report span{color:var(--green-600)}.s-time__content.theme-yellow{border:.063rem solid var(--yellow-500)}.s-time__content.theme-yellow .icon.report span{color:var(--yellow-600)}.s-time__content.sm input{height:1.3rem;font-size:.75rem}.s-time__content.sm .icon{width:1.25rem;cursor:default}.s-time__content.sm .icon span{font-size:1.2em;display:flex}.s-time__content:has(input:focus){border:.063rem solid var(--primary-600);box-shadow:0 0 0 .25rem var(--cyan-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-time__content.theme-green:has(input:focus){border:.063rem solid var(--green-500);box-shadow:0 0 0 .25rem var(--green-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-time__content.theme-yellow:has(input:focus){border:.063rem solid var(--yellow-500);box-shadow:0 0 0 .25rem var(--yellow-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}.s-time__content.theme-red:has(input:focus){border:.063rem solid var(--red-500);box-shadow:0 0 0 .25rem var(--red-alpha-200),0 .0625rem .125rem 0 var(--blue-alpha-100)}\n"] }]
|
|
72
72
|
}], propDecorators: { config: [{
|
|
73
73
|
type: Input
|
|
74
74
|
}], clickHelpIconEvent: [{
|
|
@@ -83,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
83
83
|
}] }], propDecorators: { config: [{
|
|
84
84
|
type: Input
|
|
85
85
|
}] } });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC1ib29sZWFuLWFjY2Vzc29yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpZGVzeXMtZ2VuZXJpYy11aS9zcmMvbGliL2lucHV0L2RpcmVjdGl2ZXMvY29udHJvbC1ib29sZWFuLWFjY2Vzc29yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsV0FBVyxFQUVYLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsU0FBUyxFQUNULFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0UsTUFBTSxPQUFPLCtCQUErQjtJQWUxQyxZQUFzQyxRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBWHhELGVBQVUsR0FBRyxLQUFLLENBQUM7UUFHWCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNqQyxhQUFRLEdBQTZCLENBQUMsS0FBYyxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFNUixDQUFDO0lBRTVELFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsY0FBYyxJQUFJLElBQUksQ0FBQztRQUMxRCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFVBQVU7Z0JBQ2IsSUFBSSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJ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QUFDO29CQUNULFFBQVEsRUFBRSw2QkFBNkI7aUJBQ3hDOzswQkFnQmMsTUFBTTsyQkFBQyxRQUFRO3lDQUhuQixNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgRm9ybUNvbnRyb2wsXG4gIEZvcm1Db250cm9sRGlyZWN0aXZlLFxuICBGb3JtQ29udHJvbE5hbWUsXG4gIEZvcm1Hcm91cERpcmVjdGl2ZSxcbiAgTmdDb250cm9sLFxuICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgc3RhcnRXaXRoLCBTdWJqZWN0LCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU1N3aXRjaCB9IGZyb20gJy4uLy4uL3RvZ2dsZS1zd2l0Y2gnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3QsIEluamVjdG9yLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thcHBDb250cm9sQm9vbGVhbkFjY2Vzc29yXScsXG59KVxuZXhwb3J0IGNsYXNzIENvbnRyb2xCb29sZWFuQWNjZXNzb3JEaXJlY3RpdmU8VD5cbiAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0XG57XG4gIGNvbnRyb2w6IEZvcm1Db250cm9sIHwgdW5kZWZpbmVkO1xuICBpc1JlcXVpcmVkID0gZmFsc2U7XG4gIHZhbHVlITogYm9vbGVhbjtcblxuICBwcml2YXRlIF9pc0Rpc2FibGVkID0gZmFsc2U7XG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHVibGljIG9uQ2hhbmdlOiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWQgPSAodmFsdWU6IGJvb2xlYW4pID0+IHt9O1xuICBwdWJsaWMgb25Ub3VjaGVkITogKCkgPT4gVDtcblxuICBASW5wdXQoKSBjb25maWchOiBTU3dpdGNoO1xuICB1c2VGb3JtQ29udHJvbCE6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChJbmplY3RvcikgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy51c2VGb3JtQ29udHJvbCA9IHRoaXMuY29uZmlnPy51c2VGb3JtQ29udHJvbCA/PyB0cnVlO1xuICAgIGlmICh0aGlzLnVzZUZvcm1Db250cm9sKSB7XG4gICAgICB0aGlzLnNldEZvcm1Db250cm9sKCk7XG4gICAgICB0aGlzLmlzUmVxdWlyZWQgPVxuICAgICAgICB0aGlzLmNvbnRyb2w/Lmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKSA/PyBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBzZXRGb3JtQ29udHJvbCgpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZm9ybUNvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldChOZ0NvbnRyb2wpO1xuXG4gICAgICBzd2l0Y2ggKGZvcm1Db250cm9sLmNvbnN0cnVjdG9yKSB7XG4gICAgICAgIGNhc2UgRm9ybUNvbnRyb2xOYW1lOlxuICAgICAgICAgIHRoaXMuY29udHJvbCA9IHRoaXMuaW5qZWN0b3JcbiAgICAgICAgICAgIC5nZXQoRm9ybUdyb3VwRGlyZWN0aXZlKVxuICAgICAgICAgICAgLmdldENvbnRyb2woZm9ybUNvbnRyb2wgYXMgRm9ybUNvbnRyb2xOYW1lKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aGlzLmNvbnRyb2wgPSAoZm9ybUNvbnRyb2wgYXMgRm9ybUNvbnRyb2xEaXJlY3RpdmUpXG4gICAgICAgICAgICAuZm9ybSBhcyBGb3JtQ29udHJvbDtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMuY29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuICAgIH1cbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IFQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy51c2VGb3JtQ29udHJvbCkge1xuICAgICAgaWYgKHRoaXMuY29udHJvbCAmJiB0aGlzLmNvbnRyb2wudmFsdWUgIT09IHZhbHVlKSB7XG4gICAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmICghdGhpcy5jb250cm9sKSB7XG4gICAgICAgIHRoaXMuY29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCh2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICAgICh0aGlzIGFzIGFueSkudmFsdWUgPSB2YWx1ZSBhcyBib29sZWFuO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbDogVCB8IG51bGwpID0+IFQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy51c2VGb3JtQ29udHJvbCkge1xuICAgICAgdGhpcy5jb250cm9sPy52YWx1ZUNoYW5nZXNcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgICAgICBzdGFydFdpdGgodGhpcy5jb250cm9sLnZhbHVlKSxcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgIHRhcCh2YWwgPT4gZm4odmFsKSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuY29udHJvbD8ubWFya0FzVW50b3VjaGVkKCkpO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiBUKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50U3RhdGUgPSB0aGlzLmNvbnRyb2w/LmRpc2FibGVkID8/IGZhbHNlO1xuICAgIGNvbnN0IHNob3VsZERpc2FibGUgPVxuICAgICAgKGlzRGlzYWJsZWQgfHwgdGhpcy5jb25maWc/LmRpc2FibGVkIHx8IHRoaXMuY29uZmlnPy5yZWFkT25seSkgPz8gZmFsc2U7XG5cbiAgICBpZiAoY3VycmVudFN0YXRlICE9PSBzaG91bGREaXNhYmxlKSB7XG4gICAgICB0aGlzLl9pc0Rpc2FibGVkID0gc2hvdWxkRGlzYWJsZTtcbiAgICAgIHNob3VsZERpc2FibGVcbiAgICAgICAgPyB0aGlzLmNvbnRyb2w/LmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pXG4gICAgICAgIDogdGhpcy5jb250cm9sPy5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
|