@cuby-ui/core 0.0.169 → 0.0.171
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/README.md +24 -24
- package/components/accordion/accordion-item/accordion-item.component.d.ts +11 -11
- package/components/accordion/accordion.component.d.ts +5 -5
- package/components/accordion/accordion.module.d.ts +11 -11
- package/components/accordion/index.d.ts +3 -3
- package/components/alert/alert.component.d.ts +13 -13
- package/components/alert/alert.interfaces.d.ts +9 -9
- package/components/alert/alert.module.d.ts +11 -11
- package/components/alert/alert.service.d.ts +7 -7
- package/components/alert/alert.tokens.d.ts +15 -15
- package/components/alert/alert.types.d.ts +3 -3
- package/components/alert/alerts.component.d.ts +17 -17
- package/components/alert/index.d.ts +8 -8
- package/components/badge/badge.component.d.ts +10 -10
- package/components/badge/badge.module.d.ts +8 -8
- package/components/badge/badge.options.d.ts +8 -8
- package/components/badge/index.d.ts +2 -2
- package/components/banner/banner.component.d.ts +21 -21
- package/components/banner/banner.module.d.ts +11 -11
- package/components/banner/banner.options.d.ts +13 -13
- package/components/banner/index.d.ts +3 -3
- package/components/breadcrumbs/breadcrumb/breadcrumb.component.d.ts +6 -6
- package/components/breadcrumbs/breadcrumbs.component.d.ts +7 -7
- package/components/breadcrumbs/breadcrumbs.module.d.ts +10 -10
- package/components/breadcrumbs/index.d.ts +3 -3
- package/components/button/button.component.d.ts +38 -30
- package/components/button/button.module.d.ts +9 -9
- package/components/button/button.options.d.ts +9 -9
- package/components/button/index.d.ts +3 -3
- package/components/button-group/button-group.component.d.ts +5 -5
- package/components/button-group/button-group.module.d.ts +7 -7
- package/components/button-group/index.d.ts +2 -2
- package/components/checkbox/checkbox.component.d.ts +5 -5
- package/components/checkbox/checkbox.module.d.ts +7 -7
- package/components/checkbox/index.d.ts +2 -2
- package/components/context-menu/context-menu.component.d.ts +39 -39
- package/components/context-menu/context-menu.module.d.ts +9 -9
- package/components/context-menu/index.d.ts +2 -2
- package/components/dialog/dialog-actions/dialog-actions.component.d.ts +5 -5
- package/components/dialog/dialog-header/dialog-header.component.d.ts +13 -13
- package/components/dialog/dialog.component.d.ts +33 -33
- package/components/dialog/dialog.interfaces.d.ts +10 -10
- package/components/dialog/dialog.module.d.ts +14 -14
- package/components/dialog/dialog.service.d.ts +7 -7
- package/components/dialog/dialog.tokens.d.ts +8 -8
- package/components/dialog/dialogs.component.d.ts +18 -18
- package/components/dialog/index.d.ts +8 -8
- package/components/form-field/form-field.component.d.ts +5 -5
- package/components/form-field/form-field.module.d.ts +7 -7
- package/components/form-field/index.d.ts +2 -2
- package/components/hint/hint.component.d.ts +7 -7
- package/components/hint/hint.module.d.ts +7 -7
- package/components/hint/index.d.ts +2 -2
- package/components/icon-button/icon-button.component.d.ts +13 -13
- package/components/icon-button/icon-button.module.d.ts +9 -9
- package/components/icon-button/index.d.ts +2 -2
- package/components/index.d.ts +26 -26
- package/components/input-number/index.d.ts +2 -2
- package/components/input-number/input-number.component.d.ts +38 -38
- package/components/input-number/input-number.module.d.ts +12 -12
- package/components/input-password/index.d.ts +2 -2
- package/components/input-password/input-password.component.d.ts +31 -31
- package/components/input-password/input-password.module.d.ts +11 -11
- package/components/input-text/index.d.ts +2 -2
- package/components/input-text/input-text.component.d.ts +31 -31
- package/components/input-text/input-text.module.d.ts +11 -11
- package/components/input-time/index.d.ts +3 -3
- package/components/input-time/input-time.component.d.ts +36 -36
- package/components/input-time/input-time.module.d.ts +12 -12
- package/components/input-time/input-time.options.d.ts +7 -7
- package/components/label/index.d.ts +2 -2
- package/components/label/label.component.d.ts +6 -6
- package/components/label/label.module.d.ts +8 -8
- package/components/notification/index.d.ts +3 -3
- package/components/notification/notification.component.d.ts +13 -13
- package/components/notification/notification.module.d.ts +10 -10
- package/components/notification/notification.options.d.ts +13 -13
- package/components/radio/index.d.ts +2 -2
- package/components/radio/radio.component.d.ts +5 -5
- package/components/radio/radio.module.d.ts +7 -7
- package/components/root/index.d.ts +3 -3
- package/components/root/root.component.d.ts +11 -11
- package/components/root/root.module.d.ts +10 -10
- package/components/root/root.options.d.ts +1 -1
- package/components/select/index.d.ts +2 -2
- package/components/select/select.component.d.ts +53 -53
- package/components/select/select.module.d.ts +11 -11
- package/components/svg/index.d.ts +2 -2
- package/components/svg/svg.component.d.ts +16 -16
- package/components/svg/svg.module.d.ts +8 -8
- package/components/tabs/index.d.ts +3 -3
- package/components/tabs/tab/index.d.ts +1 -1
- package/components/tabs/tab/tab.component.d.ts +8 -8
- package/components/tabs/tabs.component.d.ts +16 -16
- package/components/tabs/tabs.module.d.ts +8 -8
- package/components/textarea/index.d.ts +2 -2
- package/components/textarea/textarea.component.d.ts +10 -10
- package/components/textarea/textarea.module.d.ts +7 -7
- package/components/toggle/index.d.ts +2 -2
- package/components/toggle/toggle.component.d.ts +5 -5
- package/components/toggle/toggle.module.d.ts +7 -7
- package/directives/index.d.ts +1 -1
- package/directives/text-field-controller/index.d.ts +8 -8
- package/directives/text-field-controller/text-field-controller.module.d.ts +11 -11
- package/directives/text-field-controller/text-field-controller.provider.d.ts +4 -4
- package/directives/text-field-controller/text-field-icon-left.directive.d.ts +9 -9
- package/directives/text-field-controller/text-field-id.directive.d.ts +8 -8
- package/directives/text-field-controller/text-field-is-error.directive.d.ts +8 -8
- package/directives/text-field-controller/text-field-placeholder.directive.d.ts +8 -8
- package/directives/text-field-controller/text-field-size.directive.d.ts +9 -9
- package/directives/text-field-controller/text-field.controller.d.ts +20 -20
- package/esm2020/components/accordion/accordion-item/accordion-item.component.mjs +28 -28
- package/esm2020/components/accordion/accordion.component.mjs +11 -11
- package/esm2020/components/accordion/accordion.module.mjs +37 -37
- package/esm2020/components/accordion/index.mjs +4 -4
- package/esm2020/components/alert/alert.component.mjs +36 -36
- package/esm2020/components/alert/alert.interfaces.mjs +2 -2
- package/esm2020/components/alert/alert.module.mjs +40 -40
- package/esm2020/components/alert/alert.service.mjs +17 -17
- package/esm2020/components/alert/alert.tokens.mjs +19 -19
- package/esm2020/components/alert/alert.types.mjs +2 -2
- package/esm2020/components/alert/alerts.component.mjs +36 -36
- package/esm2020/components/alert/index.mjs +9 -9
- package/esm2020/components/badge/badge.component.mjs +31 -31
- package/esm2020/components/badge/badge.module.mjs +18 -18
- package/esm2020/components/badge/badge.options.mjs +8 -8
- package/esm2020/components/badge/index.mjs +3 -3
- package/esm2020/components/banner/banner.component.mjs +68 -68
- package/esm2020/components/banner/banner.module.mjs +31 -31
- package/esm2020/components/banner/banner.options.mjs +6 -6
- package/esm2020/components/banner/index.mjs +4 -4
- package/esm2020/components/breadcrumbs/breadcrumb/breadcrumb.component.mjs +16 -16
- package/esm2020/components/breadcrumbs/breadcrumbs.component.mjs +17 -17
- package/esm2020/components/breadcrumbs/breadcrumbs.module.mjs +33 -33
- package/esm2020/components/breadcrumbs/index.mjs +4 -4
- package/esm2020/components/button/button.component.mjs +138 -104
- package/esm2020/components/button/button.module.mjs +24 -24
- package/esm2020/components/button/button.options.mjs +10 -10
- package/esm2020/components/button/index.mjs +4 -4
- package/esm2020/components/button-group/button-group.component.mjs +11 -11
- package/esm2020/components/button-group/button-group.module.mjs +16 -16
- package/esm2020/components/button-group/index.mjs +3 -3
- package/esm2020/components/checkbox/checkbox.component.mjs +11 -11
- package/esm2020/components/checkbox/checkbox.module.mjs +16 -16
- package/esm2020/components/checkbox/index.mjs +3 -3
- package/esm2020/components/context-menu/context-menu.component.mjs +146 -146
- package/esm2020/components/context-menu/context-menu.module.mjs +24 -24
- package/esm2020/components/context-menu/index.mjs +3 -3
- package/esm2020/components/dialog/dialog-actions/dialog-actions.component.mjs +11 -11
- package/esm2020/components/dialog/dialog-header/dialog-header.component.mjs +28 -28
- package/esm2020/components/dialog/dialog.component.mjs +64 -64
- package/esm2020/components/dialog/dialog.interfaces.mjs +2 -2
- package/esm2020/components/dialog/dialog.module.mjs +50 -50
- package/esm2020/components/dialog/dialog.service.mjs +17 -17
- package/esm2020/components/dialog/dialog.tokens.mjs +11 -11
- package/esm2020/components/dialog/dialogs.component.mjs +51 -51
- package/esm2020/components/dialog/index.mjs +9 -9
- package/esm2020/components/form-field/form-field.component.mjs +11 -11
- package/esm2020/components/form-field/form-field.module.mjs +16 -16
- package/esm2020/components/form-field/index.mjs +3 -3
- package/esm2020/components/hint/hint.component.mjs +19 -19
- package/esm2020/components/hint/hint.module.mjs +16 -16
- package/esm2020/components/hint/index.mjs +3 -3
- package/esm2020/components/icon-button/icon-button.component.mjs +32 -32
- package/esm2020/components/icon-button/icon-button.module.mjs +24 -24
- package/esm2020/components/icon-button/index.mjs +3 -3
- package/esm2020/components/index.mjs +27 -27
- package/esm2020/components/input-number/index.mjs +3 -3
- package/esm2020/components/input-number/input-number.component.mjs +113 -113
- package/esm2020/components/input-number/input-number.module.mjs +36 -36
- package/esm2020/components/input-password/index.mjs +3 -3
- package/esm2020/components/input-password/input-password.component.mjs +89 -89
- package/esm2020/components/input-password/input-password.module.mjs +33 -33
- package/esm2020/components/input-text/index.mjs +3 -3
- package/esm2020/components/input-text/input-text.component.mjs +87 -87
- package/esm2020/components/input-text/input-text.module.mjs +33 -33
- package/esm2020/components/input-time/index.mjs +4 -4
- package/esm2020/components/input-time/input-time.component.mjs +99 -99
- package/esm2020/components/input-time/input-time.module.mjs +36 -36
- package/esm2020/components/input-time/input-time.options.mjs +8 -8
- package/esm2020/components/label/index.mjs +3 -3
- package/esm2020/components/label/label.component.mjs +17 -17
- package/esm2020/components/label/label.module.mjs +18 -18
- package/esm2020/components/notification/index.mjs +4 -4
- package/esm2020/components/notification/notification.component.mjs +51 -51
- package/esm2020/components/notification/notification.module.mjs +27 -27
- package/esm2020/components/notification/notification.options.mjs +6 -6
- package/esm2020/components/radio/index.mjs +3 -3
- package/esm2020/components/radio/radio.component.mjs +11 -11
- package/esm2020/components/radio/radio.module.mjs +16 -16
- package/esm2020/components/root/index.mjs +4 -4
- package/esm2020/components/root/root.component.mjs +31 -31
- package/esm2020/components/root/root.module.mjs +28 -28
- package/esm2020/components/root/root.options.mjs +1 -1
- package/esm2020/components/select/index.mjs +3 -3
- package/esm2020/components/select/select.component.mjs +172 -172
- package/esm2020/components/select/select.module.mjs +32 -32
- package/esm2020/components/svg/index.mjs +3 -3
- package/esm2020/components/svg/svg.component.mjs +50 -50
- package/esm2020/components/svg/svg.module.mjs +18 -18
- package/esm2020/components/tabs/index.mjs +4 -4
- package/esm2020/components/tabs/tab/index.mjs +1 -1
- package/esm2020/components/tabs/tab/tab.component.mjs +21 -21
- package/esm2020/components/tabs/tabs.component.mjs +49 -49
- package/esm2020/components/tabs/tabs.module.mjs +18 -18
- package/esm2020/components/textarea/index.mjs +3 -3
- package/esm2020/components/textarea/textarea.component.mjs +35 -35
- package/esm2020/components/textarea/textarea.module.mjs +16 -16
- package/esm2020/components/toggle/index.mjs +3 -3
- package/esm2020/components/toggle/toggle.component.mjs +11 -11
- package/esm2020/components/toggle/toggle.module.mjs +16 -16
- package/esm2020/cuby-ui-core.mjs +4 -4
- package/esm2020/directives/index.mjs +2 -2
- package/esm2020/directives/text-field-controller/index.mjs +9 -9
- package/esm2020/directives/text-field-controller/text-field-controller.module.mjs +40 -40
- package/esm2020/directives/text-field-controller/text-field-controller.provider.mjs +24 -24
- package/esm2020/directives/text-field-controller/text-field-icon-left.directive.mjs +21 -21
- package/esm2020/directives/text-field-controller/text-field-id.directive.mjs +21 -21
- package/esm2020/directives/text-field-controller/text-field-is-error.directive.mjs +24 -24
- package/esm2020/directives/text-field-controller/text-field-placeholder.directive.mjs +21 -21
- package/esm2020/directives/text-field-controller/text-field-size.directive.mjs +24 -24
- package/esm2020/directives/text-field-controller/text-field.controller.mjs +25 -25
- package/esm2020/index.mjs +7 -7
- package/esm2020/interfaces/context-menu-item.mjs +2 -2
- package/esm2020/interfaces/index.mjs +3 -3
- package/esm2020/interfaces/option.mjs +2 -2
- package/esm2020/services/index.mjs +3 -3
- package/esm2020/services/theme.options.mjs +6 -6
- package/esm2020/services/theme.service.mjs +30 -30
- package/esm2020/types/appearance.mjs +2 -2
- package/esm2020/types/hint-type.mjs +2 -2
- package/esm2020/types/index.mjs +8 -8
- package/esm2020/types/position.mjs +2 -2
- package/esm2020/types/resizing.mjs +2 -2
- package/esm2020/types/shape.mjs +2 -2
- package/esm2020/types/size.mjs +2 -2
- package/esm2020/types/status.mjs +2 -2
- package/esm2020/utils/format/index.mjs +3 -3
- package/esm2020/utils/format/remove-spaces.mjs +4 -4
- package/esm2020/utils/format/replace.mjs +5 -5
- package/esm2020/utils/index.mjs +2 -2
- package/fesm2015/cuby-ui-core.mjs +2102 -2069
- package/fesm2015/cuby-ui-core.mjs.map +1 -1
- package/fesm2020/cuby-ui-core.mjs +2102 -2069
- package/fesm2020/cuby-ui-core.mjs.map +1 -1
- package/fonts/Inter-Bold.svg +25443 -25443
- package/fonts/Inter-Medium.svg +25400 -25400
- package/fonts/Inter-Regular.svg +24341 -24341
- package/fonts/Inter-SemiBold.svg +25459 -25459
- package/index.d.ts +6 -6
- package/interfaces/context-menu-item.d.ts +7 -7
- package/interfaces/index.d.ts +2 -2
- package/interfaces/option.d.ts +5 -5
- package/package.json +3 -3
- package/services/index.d.ts +2 -2
- package/services/theme.options.d.ts +5 -5
- package/services/theme.service.d.ts +12 -12
- package/styles/fonts.scss +51 -51
- package/styles/global.scss +9 -9
- package/styles/mixins/buttons.scss +13 -13
- package/styles/mixins/headings.scss +115 -115
- package/styles/mixins/inputs.scss +91 -91
- package/styles/mixins/lists.scss +5 -5
- package/styles/mixins/paddings.scss +35 -35
- package/styles/mixins/shadows.scss +38 -38
- package/styles/mixins/texts.scss +225 -225
- package/styles/theme.scss +385 -385
- package/styles/variables/colors.scss +253 -253
- package/types/appearance.d.ts +8 -8
- package/types/hint-type.d.ts +1 -1
- package/types/index.d.ts +7 -7
- package/types/position.d.ts +2 -2
- package/types/resizing.d.ts +2 -2
- package/types/shape.d.ts +1 -1
- package/types/size.d.ts +4 -4
- package/types/status.d.ts +1 -1
- package/utils/format/index.d.ts +2 -2
- package/utils/format/remove-spaces.d.ts +1 -1
- package/utils/format/replace.d.ts +1 -1
- package/utils/index.d.ts +1 -1
|
@@ -1,113 +1,113 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, HostListener, inject, Input, ViewChild } from '@angular/core';
|
|
2
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import { maskitoNumberOptionsGenerator, maskitoParseNumber } from '@maskito/kit';
|
|
4
|
-
import { cuiProvide } from '@cuby-ui/cdk';
|
|
5
|
-
import { CUI_TEXT_FIELD_CONTROLLER, CUI_TEXT_FILED_CONTROLLER_PROVIDER } from '../../directives';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/common";
|
|
8
|
-
import * as i2 from "@angular/forms";
|
|
9
|
-
import * as i3 from "@maskito/angular";
|
|
10
|
-
import * as i4 from "../svg/svg.component";
|
|
11
|
-
export class CuiInputNumberComponent {
|
|
12
|
-
constructor() {
|
|
13
|
-
this.changeDetectorRef = inject(ChangeDetectorRef);
|
|
14
|
-
this.cuiTextFieldController = inject(CUI_TEXT_FIELD_CONTROLLER);
|
|
15
|
-
this.maskOptions = this.generateMask();
|
|
16
|
-
this._precision = 0;
|
|
17
|
-
this._min = Number.MIN_SAFE_INTEGER;
|
|
18
|
-
this._max = Number.MAX_SAFE_INTEGER;
|
|
19
|
-
}
|
|
20
|
-
set precision(value) {
|
|
21
|
-
this._precision = value;
|
|
22
|
-
this.maskOptions = this.generateMask();
|
|
23
|
-
}
|
|
24
|
-
set min(value) {
|
|
25
|
-
this._min = value;
|
|
26
|
-
this.maskOptions = this.generateMask();
|
|
27
|
-
}
|
|
28
|
-
set max(value) {
|
|
29
|
-
this._max = value;
|
|
30
|
-
this.maskOptions = this.generateMask();
|
|
31
|
-
}
|
|
32
|
-
get id() {
|
|
33
|
-
return this.cuiTextFieldController.id;
|
|
34
|
-
}
|
|
35
|
-
get placeholder() {
|
|
36
|
-
return this.cuiTextFieldController.placeholder;
|
|
37
|
-
}
|
|
38
|
-
get iconLeft() {
|
|
39
|
-
return this.cuiTextFieldController.iconLeft;
|
|
40
|
-
}
|
|
41
|
-
get size() {
|
|
42
|
-
return this.cuiTextFieldController.size;
|
|
43
|
-
}
|
|
44
|
-
get isError() {
|
|
45
|
-
return this.cuiTextFieldController.isError;
|
|
46
|
-
}
|
|
47
|
-
writeValue(value) {
|
|
48
|
-
this.value = value?.toString();
|
|
49
|
-
this.changeDetectorRef.markForCheck();
|
|
50
|
-
}
|
|
51
|
-
registerOnChange(fn) {
|
|
52
|
-
this.onChange = fn;
|
|
53
|
-
}
|
|
54
|
-
registerOnTouched(fn) {
|
|
55
|
-
this.onTouched = fn;
|
|
56
|
-
}
|
|
57
|
-
setDisabledState(isDisabled) {
|
|
58
|
-
this.isDisabled = isDisabled;
|
|
59
|
-
this.changeDetectorRef.markForCheck();
|
|
60
|
-
}
|
|
61
|
-
onInput({ target }) {
|
|
62
|
-
this.changeModel(target.value);
|
|
63
|
-
}
|
|
64
|
-
onFocus() {
|
|
65
|
-
this.input.nativeElement.focus();
|
|
66
|
-
}
|
|
67
|
-
changeModel(value) {
|
|
68
|
-
const parsedValue = maskitoParseNumber(value);
|
|
69
|
-
this.value = value;
|
|
70
|
-
this.onChange(Number.isNaN(parsedValue) ? null : parsedValue);
|
|
71
|
-
}
|
|
72
|
-
generateMask() {
|
|
73
|
-
return maskitoNumberOptionsGenerator({
|
|
74
|
-
precision: this._precision,
|
|
75
|
-
min: this._min,
|
|
76
|
-
max: this._max
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
CuiInputNumberComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputNumberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
81
|
-
CuiInputNumberComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiInputNumberComponent, selector: "cui-input-number", inputs: { precision: "precision", min: "min", max: "max" }, host: { listeners: { "click": "onFocus()" }, properties: { "class._disabled": "this.isDisabled", "attr.data-size": "this.size", "class._with-error": "this.isError" } }, providers: [
|
|
82
|
-
CUI_TEXT_FILED_CONTROLLER_PROVIDER,
|
|
83
|
-
cuiProvide(NG_VALUE_ACCESSOR, CuiInputNumberComponent, true)
|
|
84
|
-
], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<cui-svg\
|
|
85
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputNumberComponent, decorators: [{
|
|
86
|
-
type: Component,
|
|
87
|
-
args: [{ selector: 'cui-input-number', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
88
|
-
CUI_TEXT_FILED_CONTROLLER_PROVIDER,
|
|
89
|
-
cuiProvide(NG_VALUE_ACCESSOR, CuiInputNumberComponent, true)
|
|
90
|
-
], template: "<cui-svg\
|
|
91
|
-
}], propDecorators: { precision: [{
|
|
92
|
-
type: Input
|
|
93
|
-
}], min: [{
|
|
94
|
-
type: Input
|
|
95
|
-
}], max: [{
|
|
96
|
-
type: Input
|
|
97
|
-
}], isDisabled: [{
|
|
98
|
-
type: HostBinding,
|
|
99
|
-
args: ['class._disabled']
|
|
100
|
-
}], input: [{
|
|
101
|
-
type: ViewChild,
|
|
102
|
-
args: ['input']
|
|
103
|
-
}], size: [{
|
|
104
|
-
type: HostBinding,
|
|
105
|
-
args: ['attr.data-size']
|
|
106
|
-
}], isError: [{
|
|
107
|
-
type: HostBinding,
|
|
108
|
-
args: ['class._with-error']
|
|
109
|
-
}], onFocus: [{
|
|
110
|
-
type: HostListener,
|
|
111
|
-
args: ['click']
|
|
112
|
-
}] } });
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9pbnB1dC1udW1iZXIvaW5wdXQtbnVtYmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9pbnB1dC1udW1iZXIvaW5wdXQtbnVtYmVyLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWpGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHMUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLGtDQUFrQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7OztBQWFqRyxNQUFNLE9BQU8sdUJBQXVCO0lBVnBDO1FBV21CLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzlDLDJCQUFzQixHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBRWxFLGdCQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2xDLGVBQVUsR0FBRyxDQUFDLENBQUM7UUFDZixTQUFJLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDO1FBQy9CLFNBQUksR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7S0ErRjFDO0lBMUZDLElBQ1csU0FBUyxDQUFDLEtBQWE7UUFDaEMsSUFBSSxDQUFDLFVBQVUsR0FB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MkJBQTJCLElBQUksQ0FBQztxQkFDN0Q7OEJBZVUsU0FBUztzQkFEbkIsS0FBSztnQkFPSyxHQUFHO3NCQURiLEtBQUs7Z0JBT0ssR0FBRztzQkFEYixLQUFLO2dCQU9JLFVBQVU7c0JBRG5CLFdBQVc7dUJBQUMsaUJBQWlCO2dCQUlwQixLQUFLO3NCQURkLFNBQVM7dUJBQUMsT0FBTztnQkFnQkosSUFBSTtzQkFEakIsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBTWYsT0FBTztzQkFEcEIsV0FBVzt1QkFBQyxtQkFBbUI7Z0JBOEJ0QixPQUFPO3NCQURoQixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIGluamVjdCxcclxuICBJbnB1dCxcclxuICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHR5cGUgeyBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB0eXBlIHsgTWFza2l0b09wdGlvbnMgfSBmcm9tICdAbWFza2l0by9jb3JlJztcclxuaW1wb3J0IHsgbWFza2l0b051bWJlck9wdGlvbnNHZW5lcmF0b3IsIG1hc2tpdG9QYXJzZU51bWJlciB9IGZyb20gJ0BtYXNraXRvL2tpdCc7XHJcbmltcG9ydCB7IEN1aU51bGxhYmxlLCBDdWlPbkNoYW5nZSwgQ3VpT25Ub3VjaGVkIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcclxuaW1wb3J0IHsgY3VpUHJvdmlkZSB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XHJcbmltcG9ydCB0eXBlIHsgQ3VpSWNvbiB9IGZyb20gJ0BjdWJ5LXVpL2ljb25zJztcclxuXHJcbmltcG9ydCB7IENVSV9URVhUX0ZJRUxEX0NPTlRST0xMRVIsIENVSV9URVhUX0ZJTEVEX0NPTlRST0xMRVJfUFJPVklERVIgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcclxuaW1wb3J0IHsgQ3VpU2l6ZU1kLCBDdWlTaXplU20gfSBmcm9tICcuLi8uLi90eXBlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2N1aS1pbnB1dC1udW1iZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1udW1iZXIudGVtcGxhdGUuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtbnVtYmVyLnN0eWxlLnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIENVSV9URVhUX0ZJTEVEX0NPTlRST0xMRVJfUFJPVklERVIsXHJcbiAgICBjdWlQcm92aWRlKE5HX1ZBTFVFX0FDQ0VTU09SLCBDdWlJbnB1dE51bWJlckNvbXBvbmVudCwgdHJ1ZSlcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdWlJbnB1dE51bWJlckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGN1aVRleHRGaWVsZENvbnRyb2xsZXIgPSBpbmplY3QoQ1VJX1RFWFRfRklFTERfQ09OVFJPTExFUik7XHJcblxyXG4gIHByb3RlY3RlZCBtYXNrT3B0aW9ucyA9IHRoaXMuZ2VuZXJhdGVNYXNrKCk7XHJcbiAgcHJvdGVjdGVkIF9wcmVjaXNpb24gPSAwO1xyXG4gIHByb3RlY3RlZCBfbWluID0gTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVI7XHJcbiAgcHJvdGVjdGVkIF9tYXggPSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUjtcclxuICBwcm90ZWN0ZWQgdmFsdWUhOiBDdWlOdWxsYWJsZTxzdHJpbmc+O1xyXG4gIHByb3RlY3RlZCBvbkNoYW5nZSE6IEN1aU9uQ2hhbmdlPEN1aU51bGxhYmxlPG51bWJlcj4+O1xyXG4gIHByb3RlY3RlZCBvblRvdWNoZWQhOiBDdWlPblRvdWNoZWQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBwcmVjaXNpb24odmFsdWU6IG51bWJlcikge1xyXG4gICAgdGhpcy5fcHJlY2lzaW9uID0gdmFsdWU7XHJcbiAgICB0aGlzLm1hc2tPcHRpb25zID0gdGhpcy5nZW5lcmF0ZU1hc2soKTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBtaW4odmFsdWU6IG51bWJlcikge1xyXG4gICAgdGhpcy5fbWluID0gdmFsdWU7XHJcbiAgICB0aGlzLm1hc2tPcHRpb25zID0gdGhpcy5nZW5lcmF0ZU1hc2soKTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBtYXgodmFsdWU6IG51bWJlcikge1xyXG4gICAgdGhpcy5fbWF4ID0gdmFsdWU7XHJcbiAgICB0aGlzLm1hc2tPcHRpb25zID0gdGhpcy5nZW5lcmF0ZU1hc2soKTtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuX2Rpc2FibGVkJylcclxuICBwcm90ZWN0ZWQgaXNEaXNhYmxlZCE6IGJvb2xlYW47XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JylcclxuICBwcm90ZWN0ZWQgaW5wdXQhOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xyXG5cclxuICBwcm90ZWN0ZWQgZ2V0IGlkKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy5jdWlUZXh0RmllbGRDb250cm9sbGVyLmlkO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBwbGFjZWhvbGRlcigpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIHRoaXMuY3VpVGV4dEZpZWxkQ29udHJvbGxlci5wbGFjZWhvbGRlcjtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXQgaWNvbkxlZnQoKTogQ3VpSWNvbiB8IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy5jdWlUZXh0RmllbGRDb250cm9sbGVyLmljb25MZWZ0O1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2l6ZScpXHJcbiAgcHJvdGVjdGVkIGdldCBzaXplKCk6IEN1aVNpemVTbSB8IEN1aVNpemVNZCB7XHJcbiAgICByZXR1cm4gdGhpcy5jdWlUZXh0RmllbGRDb250cm9sbGVyLnNpemU7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLl93aXRoLWVycm9yJylcclxuICBwcm90ZWN0ZWQgZ2V0IGlzRXJyb3IoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jdWlUZXh0RmllbGRDb250cm9sbGVyLmlzRXJyb3I7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogQ3VpTnVsbGFibGU8bnVtYmVyPik6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlPy50b1N0cmluZygpO1xyXG5cclxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogQ3VpT25DaGFuZ2U8Q3VpTnVsbGFibGU8bnVtYmVyPj4pOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogQ3VpT25Ub3VjaGVkKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5pc0Rpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuXHJcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIG9uSW5wdXQoeyB0YXJnZXQgfTogRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuY2hhbmdlTW9kZWwoKHRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXHJcbiAgcHJvdGVjdGVkIG9uRm9jdXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2hhbmdlTW9kZWwodmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgcGFyc2VkVmFsdWUgPSBtYXNraXRvUGFyc2VOdW1iZXIodmFsdWUpO1xyXG5cclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuXHJcbiAgICB0aGlzLm9uQ2hhbmdlKE51bWJlci5pc05hTihwYXJzZWRWYWx1ZSkgPyBudWxsIDogcGFyc2VkVmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZW5lcmF0ZU1hc2soKTogTWFza2l0b09wdGlvbnMge1xyXG4gICAgcmV0dXJuIG1hc2tpdG9OdW1iZXJPcHRpb25zR2VuZXJhdG9yKHtcclxuICAgICAgcHJlY2lzaW9uOiB0aGlzLl9wcmVjaXNpb24sXHJcbiAgICAgIG1pbjogdGhpcy5fbWluLFxyXG4gICAgICBtYXg6IHRoaXMuX21heFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxjdWktc3ZnXHJcbiAgKm5nSWY9XCJpY29uTGVmdFwiXHJcbiAgW2ljb25dPVwiaWNvbkxlZnRcIlxyXG4gIGNvbG9yPVwidmFyKC0tY3VpLWJhc2UtNTAwKVwiXHJcbj48L2N1aS1zdmc+XHJcbjxpbnB1dFxyXG4gICNpbnB1dFxyXG4gIFtuZ01vZGVsXT1cInZhbHVlXCJcclxuICBbYXR0ci5pZF09XCJpZFwiXHJcbiAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gIHR5cGU9XCJ0ZXh0XCJcclxuICBbbWFza2l0b109XCJtYXNrT3B0aW9uc1wiXHJcbiAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIlxyXG4gIGNsYXNzPVwiYy1pbnB1dFwiXHJcbiAgKGlucHV0KT1cIm9uSW5wdXQoJGV2ZW50KVwiXHJcbiAgKGZvY3VzKT1cIm9uVG91Y2hlZCgpXCJcclxuPlxyXG5cclxuIl19
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, HostListener, inject, Input, ViewChild } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { maskitoNumberOptionsGenerator, maskitoParseNumber } from '@maskito/kit';
|
|
4
|
+
import { cuiProvide } from '@cuby-ui/cdk';
|
|
5
|
+
import { CUI_TEXT_FIELD_CONTROLLER, CUI_TEXT_FILED_CONTROLLER_PROVIDER } from '../../directives';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common";
|
|
8
|
+
import * as i2 from "@angular/forms";
|
|
9
|
+
import * as i3 from "@maskito/angular";
|
|
10
|
+
import * as i4 from "../svg/svg.component";
|
|
11
|
+
export class CuiInputNumberComponent {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.changeDetectorRef = inject(ChangeDetectorRef);
|
|
14
|
+
this.cuiTextFieldController = inject(CUI_TEXT_FIELD_CONTROLLER);
|
|
15
|
+
this.maskOptions = this.generateMask();
|
|
16
|
+
this._precision = 0;
|
|
17
|
+
this._min = Number.MIN_SAFE_INTEGER;
|
|
18
|
+
this._max = Number.MAX_SAFE_INTEGER;
|
|
19
|
+
}
|
|
20
|
+
set precision(value) {
|
|
21
|
+
this._precision = value;
|
|
22
|
+
this.maskOptions = this.generateMask();
|
|
23
|
+
}
|
|
24
|
+
set min(value) {
|
|
25
|
+
this._min = value;
|
|
26
|
+
this.maskOptions = this.generateMask();
|
|
27
|
+
}
|
|
28
|
+
set max(value) {
|
|
29
|
+
this._max = value;
|
|
30
|
+
this.maskOptions = this.generateMask();
|
|
31
|
+
}
|
|
32
|
+
get id() {
|
|
33
|
+
return this.cuiTextFieldController.id;
|
|
34
|
+
}
|
|
35
|
+
get placeholder() {
|
|
36
|
+
return this.cuiTextFieldController.placeholder;
|
|
37
|
+
}
|
|
38
|
+
get iconLeft() {
|
|
39
|
+
return this.cuiTextFieldController.iconLeft;
|
|
40
|
+
}
|
|
41
|
+
get size() {
|
|
42
|
+
return this.cuiTextFieldController.size;
|
|
43
|
+
}
|
|
44
|
+
get isError() {
|
|
45
|
+
return this.cuiTextFieldController.isError;
|
|
46
|
+
}
|
|
47
|
+
writeValue(value) {
|
|
48
|
+
this.value = value?.toString();
|
|
49
|
+
this.changeDetectorRef.markForCheck();
|
|
50
|
+
}
|
|
51
|
+
registerOnChange(fn) {
|
|
52
|
+
this.onChange = fn;
|
|
53
|
+
}
|
|
54
|
+
registerOnTouched(fn) {
|
|
55
|
+
this.onTouched = fn;
|
|
56
|
+
}
|
|
57
|
+
setDisabledState(isDisabled) {
|
|
58
|
+
this.isDisabled = isDisabled;
|
|
59
|
+
this.changeDetectorRef.markForCheck();
|
|
60
|
+
}
|
|
61
|
+
onInput({ target }) {
|
|
62
|
+
this.changeModel(target.value);
|
|
63
|
+
}
|
|
64
|
+
onFocus() {
|
|
65
|
+
this.input.nativeElement.focus();
|
|
66
|
+
}
|
|
67
|
+
changeModel(value) {
|
|
68
|
+
const parsedValue = maskitoParseNumber(value);
|
|
69
|
+
this.value = value;
|
|
70
|
+
this.onChange(Number.isNaN(parsedValue) ? null : parsedValue);
|
|
71
|
+
}
|
|
72
|
+
generateMask() {
|
|
73
|
+
return maskitoNumberOptionsGenerator({
|
|
74
|
+
precision: this._precision,
|
|
75
|
+
min: this._min,
|
|
76
|
+
max: this._max
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
CuiInputNumberComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputNumberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
81
|
+
CuiInputNumberComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiInputNumberComponent, selector: "cui-input-number", inputs: { precision: "precision", min: "min", max: "max" }, host: { listeners: { "click": "onFocus()" }, properties: { "class._disabled": "this.isDisabled", "attr.data-size": "this.size", "class._with-error": "this.isError" } }, providers: [
|
|
82
|
+
CUI_TEXT_FILED_CONTROLLER_PROVIDER,
|
|
83
|
+
cuiProvide(NG_VALUE_ACCESSOR, CuiInputNumberComponent, true)
|
|
84
|
+
], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<cui-svg\n *ngIf=\"iconLeft\"\n [icon]=\"iconLeft\"\n color=\"var(--cui-base-500)\"\n></cui-svg>\n<input\n #input\n [ngModel]=\"value\"\n [attr.id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n type=\"text\"\n [maskito]=\"maskOptions\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n>\n\n", styles: [":host{padding-right:13px;padding-left:13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-input);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}:host[data-size=sm]{padding-top:7px;padding-bottom:7px}:host[data-size=md]{padding-top:8px;padding-bottom:8px}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-danger)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;display:flex}\n"], dependencies: [{ 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: "directive", type: i3.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "component", type: i4.CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
85
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputNumberComponent, decorators: [{
|
|
86
|
+
type: Component,
|
|
87
|
+
args: [{ selector: 'cui-input-number', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
88
|
+
CUI_TEXT_FILED_CONTROLLER_PROVIDER,
|
|
89
|
+
cuiProvide(NG_VALUE_ACCESSOR, CuiInputNumberComponent, true)
|
|
90
|
+
], template: "<cui-svg\n *ngIf=\"iconLeft\"\n [icon]=\"iconLeft\"\n color=\"var(--cui-base-500)\"\n></cui-svg>\n<input\n #input\n [ngModel]=\"value\"\n [attr.id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n type=\"text\"\n [maskito]=\"maskOptions\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n>\n\n", styles: [":host{padding-right:13px;padding-left:13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-input);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}:host[data-size=sm]{padding-top:7px;padding-bottom:7px}:host[data-size=md]{padding-top:8px;padding-bottom:8px}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-danger)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;display:flex}\n"] }]
|
|
91
|
+
}], propDecorators: { precision: [{
|
|
92
|
+
type: Input
|
|
93
|
+
}], min: [{
|
|
94
|
+
type: Input
|
|
95
|
+
}], max: [{
|
|
96
|
+
type: Input
|
|
97
|
+
}], isDisabled: [{
|
|
98
|
+
type: HostBinding,
|
|
99
|
+
args: ['class._disabled']
|
|
100
|
+
}], input: [{
|
|
101
|
+
type: ViewChild,
|
|
102
|
+
args: ['input']
|
|
103
|
+
}], size: [{
|
|
104
|
+
type: HostBinding,
|
|
105
|
+
args: ['attr.data-size']
|
|
106
|
+
}], isError: [{
|
|
107
|
+
type: HostBinding,
|
|
108
|
+
args: ['class._with-error']
|
|
109
|
+
}], onFocus: [{
|
|
110
|
+
type: HostListener,
|
|
111
|
+
args: ['click']
|
|
112
|
+
}] } });
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9pbnB1dC1udW1iZXIvaW5wdXQtbnVtYmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9pbnB1dC1udW1iZXIvaW5wdXQtbnVtYmVyLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWpGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHMUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLGtDQUFrQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7OztBQWFqRyxNQUFNLE9BQU8sdUJBQXVCO0lBVnBDO1FBV21CLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzlDLDJCQUFzQixHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBRWxFLGdCQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2xDLGVBQVUsR0FBRyxDQUFDLENBQUM7UUFDZixTQUFJLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDO1FBQy9CLFNBQUksR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7S0ErRjFDO0lBMUZDLElBQ1csU0FBUyxDQUFDLEtBQWE7UUFDaEMsSUFBSSxDQUFDLFVBQVUsR0FB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MkJBQTJCLElBQUksQ0FBQztxQkFDN0Q7OEJBZVUsU0FBUztzQkFEbkIsS0FBSztnQkFPSyxHQUFHO3NCQURiLEtBQUs7Z0JBT0ssR0FBRztzQkFEYixLQUFLO2dCQU9JLFVBQVU7c0JBRG5CLFdBQVc7dUJBQUMsaUJBQWlCO2dCQUlwQixLQUFLO3NCQURkLFNBQVM7dUJBQUMsT0FBTztnQkFnQkosSUFBSTtzQkFEakIsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBTWYsT0FBTztzQkFEcEIsV0FBVzt1QkFBQyxtQkFBbUI7Z0JBOEJ0QixPQUFPO3NCQURoQixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgdHlwZSB7IE1hc2tpdG9PcHRpb25zIH0gZnJvbSAnQG1hc2tpdG8vY29yZSc7XG5pbXBvcnQgeyBtYXNraXRvTnVtYmVyT3B0aW9uc0dlbmVyYXRvciwgbWFza2l0b1BhcnNlTnVtYmVyIH0gZnJvbSAnQG1hc2tpdG8va2l0JztcbmltcG9ydCB7IEN1aU51bGxhYmxlLCBDdWlPbkNoYW5nZSwgQ3VpT25Ub3VjaGVkIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcbmltcG9ydCB7IGN1aVByb3ZpZGUgfSBmcm9tICdAY3VieS11aS9jZGsnO1xuaW1wb3J0IHR5cGUgeyBDdWlJY29uIH0gZnJvbSAnQGN1YnktdWkvaWNvbnMnO1xuXG5pbXBvcnQgeyBDVUlfVEVYVF9GSUVMRF9DT05UUk9MTEVSLCBDVUlfVEVYVF9GSUxFRF9DT05UUk9MTEVSX1BST1ZJREVSIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBDdWlTaXplTWQsIEN1aVNpemVTbSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3VpLWlucHV0LW51bWJlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1udW1iZXIudGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2lucHV0LW51bWJlci5zdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICBDVUlfVEVYVF9GSUxFRF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIGN1aVByb3ZpZGUoTkdfVkFMVUVfQUNDRVNTT1IsIEN1aUlucHV0TnVtYmVyQ29tcG9uZW50LCB0cnVlKVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEN1aUlucHV0TnVtYmVyQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjdWlUZXh0RmllbGRDb250cm9sbGVyID0gaW5qZWN0KENVSV9URVhUX0ZJRUxEX0NPTlRST0xMRVIpO1xuXG4gIHByb3RlY3RlZCBtYXNrT3B0aW9ucyA9IHRoaXMuZ2VuZXJhdGVNYXNrKCk7XG4gIHByb3RlY3RlZCBfcHJlY2lzaW9uID0gMDtcbiAgcHJvdGVjdGVkIF9taW4gPSBOdW1iZXIuTUlOX1NBRkVfSU5URUdFUjtcbiAgcHJvdGVjdGVkIF9tYXggPSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUjtcbiAgcHJvdGVjdGVkIHZhbHVlITogQ3VpTnVsbGFibGU8c3RyaW5nPjtcbiAgcHJvdGVjdGVkIG9uQ2hhbmdlITogQ3VpT25DaGFuZ2U8Q3VpTnVsbGFibGU8bnVtYmVyPj47XG4gIHByb3RlY3RlZCBvblRvdWNoZWQhOiBDdWlPblRvdWNoZWQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBwcmVjaXNpb24odmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX3ByZWNpc2lvbiA9IHZhbHVlO1xuICAgIHRoaXMubWFza09wdGlvbnMgPSB0aGlzLmdlbmVyYXRlTWFzaygpO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBtaW4odmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX21pbiA9IHZhbHVlO1xuICAgIHRoaXMubWFza09wdGlvbnMgPSB0aGlzLmdlbmVyYXRlTWFzaygpO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBtYXgodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX21heCA9IHZhbHVlO1xuICAgIHRoaXMubWFza09wdGlvbnMgPSB0aGlzLmdlbmVyYXRlTWFzaygpO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fZGlzYWJsZWQnKVxuICBwcm90ZWN0ZWQgaXNEaXNhYmxlZCE6IGJvb2xlYW47XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXQnKVxuICBwcm90ZWN0ZWQgaW5wdXQhOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIHByb3RlY3RlZCBnZXQgaWQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5jdWlUZXh0RmllbGRDb250cm9sbGVyLmlkO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBwbGFjZWhvbGRlcigpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmN1aVRleHRGaWVsZENvbnRyb2xsZXIucGxhY2Vob2xkZXI7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGljb25MZWZ0KCk6IEN1aUljb24gfCBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmN1aVRleHRGaWVsZENvbnRyb2xsZXIuaWNvbkxlZnQ7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1zaXplJylcbiAgcHJvdGVjdGVkIGdldCBzaXplKCk6IEN1aVNpemVTbSB8IEN1aVNpemVNZCB7XG4gICAgcmV0dXJuIHRoaXMuY3VpVGV4dEZpZWxkQ29udHJvbGxlci5zaXplO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fd2l0aC1lcnJvcicpXG4gIHByb3RlY3RlZCBnZXQgaXNFcnJvcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jdWlUZXh0RmllbGRDb250cm9sbGVyLmlzRXJyb3I7XG4gIH1cblxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogQ3VpTnVsbGFibGU8bnVtYmVyPik6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZT8udG9TdHJpbmcoKTtcblxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogQ3VpT25DaGFuZ2U8Q3VpTnVsbGFibGU8bnVtYmVyPj4pOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IEN1aU9uVG91Y2hlZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pc0Rpc2FibGVkID0gaXNEaXNhYmxlZDtcblxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25JbnB1dCh7IHRhcmdldCB9OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlTW9kZWwoKHRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIHByb3RlY3RlZCBvbkZvY3VzKCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGFuZ2VNb2RlbCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgcGFyc2VkVmFsdWUgPSBtYXNraXRvUGFyc2VOdW1iZXIodmFsdWUpO1xuXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuXG4gICAgdGhpcy5vbkNoYW5nZShOdW1iZXIuaXNOYU4ocGFyc2VkVmFsdWUpID8gbnVsbCA6IHBhcnNlZFZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVNYXNrKCk6IE1hc2tpdG9PcHRpb25zIHtcbiAgICByZXR1cm4gbWFza2l0b051bWJlck9wdGlvbnNHZW5lcmF0b3Ioe1xuICAgICAgcHJlY2lzaW9uOiB0aGlzLl9wcmVjaXNpb24sXG4gICAgICBtaW46IHRoaXMuX21pbixcbiAgICAgIG1heDogdGhpcy5fbWF4XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxjdWktc3ZnXG4gICpuZ0lmPVwiaWNvbkxlZnRcIlxuICBbaWNvbl09XCJpY29uTGVmdFwiXG4gIGNvbG9yPVwidmFyKC0tY3VpLWJhc2UtNTAwKVwiXG4+PC9jdWktc3ZnPlxuPGlucHV0XG4gICNpbnB1dFxuICBbbmdNb2RlbF09XCJ2YWx1ZVwiXG4gIFthdHRyLmlkXT1cImlkXCJcbiAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICB0eXBlPVwidGV4dFwiXG4gIFttYXNraXRvXT1cIm1hc2tPcHRpb25zXCJcbiAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIlxuICBjbGFzcz1cImMtaW5wdXRcIlxuICAoaW5wdXQpPVwib25JbnB1dCgkZXZlbnQpXCJcbiAgKGZvY3VzKT1cIm9uVG91Y2hlZCgpXCJcbj5cblxuIl19
|
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { FormsModule } from '@angular/forms';
|
|
4
|
-
import { MaskitoDirective } from '@maskito/angular';
|
|
5
|
-
import { CuiInputNumberComponent } from './input-number.component';
|
|
6
|
-
import { CuiSvgModule } from '../svg';
|
|
7
|
-
import { CuiTextFieldControllerModule } from '../../directives';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
export class CuiInputNumberModule {
|
|
10
|
-
}
|
|
11
|
-
CuiInputNumberModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputNumberModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
|
-
CuiInputNumberModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiInputNumberModule, declarations: [CuiInputNumberComponent], imports: [CommonModule,
|
|
13
|
-
FormsModule,
|
|
14
|
-
MaskitoDirective,
|
|
15
|
-
CuiSvgModule], exports: [CuiInputNumberComponent,
|
|
16
|
-
CuiTextFieldControllerModule] });
|
|
17
|
-
CuiInputNumberModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputNumberModule, imports: [CommonModule,
|
|
18
|
-
FormsModule,
|
|
19
|
-
CuiSvgModule, CuiTextFieldControllerModule] });
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputNumberModule, decorators: [{
|
|
21
|
-
type: NgModule,
|
|
22
|
-
args: [{
|
|
23
|
-
imports: [
|
|
24
|
-
CommonModule,
|
|
25
|
-
FormsModule,
|
|
26
|
-
MaskitoDirective,
|
|
27
|
-
CuiSvgModule,
|
|
28
|
-
],
|
|
29
|
-
declarations: [CuiInputNumberComponent],
|
|
30
|
-
exports: [
|
|
31
|
-
CuiInputNumberComponent,
|
|
32
|
-
CuiTextFieldControllerModule
|
|
33
|
-
]
|
|
34
|
-
}]
|
|
35
|
-
}] });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { MaskitoDirective } from '@maskito/angular';
|
|
5
|
+
import { CuiInputNumberComponent } from './input-number.component';
|
|
6
|
+
import { CuiSvgModule } from '../svg';
|
|
7
|
+
import { CuiTextFieldControllerModule } from '../../directives';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export class CuiInputNumberModule {
|
|
10
|
+
}
|
|
11
|
+
CuiInputNumberModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputNumberModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
|
+
CuiInputNumberModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiInputNumberModule, declarations: [CuiInputNumberComponent], imports: [CommonModule,
|
|
13
|
+
FormsModule,
|
|
14
|
+
MaskitoDirective,
|
|
15
|
+
CuiSvgModule], exports: [CuiInputNumberComponent,
|
|
16
|
+
CuiTextFieldControllerModule] });
|
|
17
|
+
CuiInputNumberModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputNumberModule, imports: [CommonModule,
|
|
18
|
+
FormsModule,
|
|
19
|
+
CuiSvgModule, CuiTextFieldControllerModule] });
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputNumberModule, decorators: [{
|
|
21
|
+
type: NgModule,
|
|
22
|
+
args: [{
|
|
23
|
+
imports: [
|
|
24
|
+
CommonModule,
|
|
25
|
+
FormsModule,
|
|
26
|
+
MaskitoDirective,
|
|
27
|
+
CuiSvgModule,
|
|
28
|
+
],
|
|
29
|
+
declarations: [CuiInputNumberComponent],
|
|
30
|
+
exports: [
|
|
31
|
+
CuiInputNumberComponent,
|
|
32
|
+
CuiTextFieldControllerModule
|
|
33
|
+
]
|
|
34
|
+
}]
|
|
35
|
+
}] });
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9pbnB1dC1udW1iZXIvaW5wdXQtbnVtYmVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFcEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFlaEUsTUFBTSxPQUFPLG9CQUFvQjs7a0hBQXBCLG9CQUFvQjttSEFBcEIsb0JBQW9CLGlCQU5oQix1QkFBdUIsYUFMcEMsWUFBWTtRQUNaLFdBQVc7UUFDWCxnQkFBZ0I7UUFDaEIsWUFBWSxhQUlaLHVCQUF1QjtRQUN2Qiw0QkFBNEI7bUhBR25CLG9CQUFvQixZQVg3QixZQUFZO1FBQ1osV0FBVztRQUVYLFlBQVksRUFLWiw0QkFBNEI7NEZBR25CLG9CQUFvQjtrQkFiaEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGdCQUFnQjt3QkFDaEIsWUFBWTtxQkFDYjtvQkFDRCxZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDdkMsT0FBTyxFQUFFO3dCQUNQLHVCQUF1Qjt3QkFDdkIsNEJBQTRCO3FCQUM3QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXNraXRvRGlyZWN0aXZlIH0gZnJvbSAnQG1hc2tpdG8vYW5ndWxhcic7XG5cbmltcG9ydCB7IEN1aUlucHV0TnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dC1udW1iZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEN1aVN2Z01vZHVsZSB9IGZyb20gJy4uL3N2Zyc7XG5pbXBvcnQgeyBDdWlUZXh0RmllbGRDb250cm9sbGVyTW9kdWxlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTWFza2l0b0RpcmVjdGl2ZSxcbiAgICBDdWlTdmdNb2R1bGUsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW0N1aUlucHV0TnVtYmVyQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1xuICAgIEN1aUlucHV0TnVtYmVyQ29tcG9uZW50LFxuICAgIEN1aVRleHRGaWVsZENvbnRyb2xsZXJNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBDdWlJbnB1dE51bWJlck1vZHVsZSB7XG59XG4iXX0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './input-password.component';
|
|
2
|
-
export * from './input-password.module';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './input-password.component';
|
|
2
|
+
export * from './input-password.module';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvaW5wdXQtcGFzc3dvcmQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pbnB1dC1wYXNzd29yZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnB1dC1wYXNzd29yZC5tb2R1bGUnO1xuIl19
|
|
@@ -1,89 +1,89 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, inject } from '@angular/core';
|
|
2
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import { cuiProvide } from '@cuby-ui/cdk';
|
|
4
|
-
import { CUI_TEXT_FIELD_CONTROLLER, CUI_TEXT_FILED_CONTROLLER_PROVIDER } from '../../directives';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common";
|
|
7
|
-
import * as i2 from "@angular/forms";
|
|
8
|
-
import * as i3 from "../svg/svg.component";
|
|
9
|
-
export class CuiInputPasswordComponent {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.changeDetectorRef = inject(ChangeDetectorRef);
|
|
12
|
-
this.cuiTextFieldController = inject(CUI_TEXT_FIELD_CONTROLLER);
|
|
13
|
-
this.isPasswordHidden = true;
|
|
14
|
-
}
|
|
15
|
-
get id() {
|
|
16
|
-
return this.cuiTextFieldController.id;
|
|
17
|
-
}
|
|
18
|
-
get placeholder() {
|
|
19
|
-
return this.cuiTextFieldController.placeholder;
|
|
20
|
-
}
|
|
21
|
-
get iconLeft() {
|
|
22
|
-
return this.cuiTextFieldController.iconLeft;
|
|
23
|
-
}
|
|
24
|
-
get isToggleButtonShown() {
|
|
25
|
-
return !this.isDisabled;
|
|
26
|
-
}
|
|
27
|
-
get icon() {
|
|
28
|
-
return this.isPasswordHidden ? 'cuiIconEye' : 'cuiIconEyeOff';
|
|
29
|
-
}
|
|
30
|
-
get type() {
|
|
31
|
-
return this.isPasswordHidden ? 'password' : 'text';
|
|
32
|
-
}
|
|
33
|
-
get buttonTitle() {
|
|
34
|
-
return this.isPasswordHidden ? 'Reveal password' : 'Hide password';
|
|
35
|
-
}
|
|
36
|
-
get size() {
|
|
37
|
-
return this.cuiTextFieldController.size;
|
|
38
|
-
}
|
|
39
|
-
get isError() {
|
|
40
|
-
return this.cuiTextFieldController.isError;
|
|
41
|
-
}
|
|
42
|
-
writeValue(value) {
|
|
43
|
-
this.value = value;
|
|
44
|
-
this.changeDetectorRef.markForCheck();
|
|
45
|
-
}
|
|
46
|
-
registerOnChange(fn) {
|
|
47
|
-
this.onChange = fn;
|
|
48
|
-
}
|
|
49
|
-
registerOnTouched(fn) {
|
|
50
|
-
this.onTouched = fn;
|
|
51
|
-
}
|
|
52
|
-
setDisabledState(isDisabled) {
|
|
53
|
-
this.isDisabled = isDisabled;
|
|
54
|
-
if (this.isDisabled) {
|
|
55
|
-
this.isPasswordHidden = true;
|
|
56
|
-
}
|
|
57
|
-
this.changeDetectorRef.markForCheck();
|
|
58
|
-
}
|
|
59
|
-
onInput({ target }) {
|
|
60
|
-
const value = target.value;
|
|
61
|
-
this.value = value;
|
|
62
|
-
this.onChange(value);
|
|
63
|
-
}
|
|
64
|
-
onTogglePasswordVisibility() {
|
|
65
|
-
this.isPasswordHidden = !this.isPasswordHidden;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
CuiInputPasswordComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputPasswordComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
69
|
-
CuiInputPasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiInputPasswordComponent, selector: "cui-input-password", host: { properties: { "class._disabled": "this.isDisabled", "attr.data-size": "this.size", "class._with-error": "this.isError" } }, providers: [
|
|
70
|
-
CUI_TEXT_FILED_CONTROLLER_PROVIDER,
|
|
71
|
-
cuiProvide(NG_VALUE_ACCESSOR, CuiInputPasswordComponent, true)
|
|
72
|
-
], ngImport: i0, template: "<cui-svg\
|
|
73
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputPasswordComponent, decorators: [{
|
|
74
|
-
type: Component,
|
|
75
|
-
args: [{ selector: 'cui-input-password', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
76
|
-
CUI_TEXT_FILED_CONTROLLER_PROVIDER,
|
|
77
|
-
cuiProvide(NG_VALUE_ACCESSOR, CuiInputPasswordComponent, true)
|
|
78
|
-
], template: "<cui-svg\
|
|
79
|
-
}], propDecorators: { isDisabled: [{
|
|
80
|
-
type: HostBinding,
|
|
81
|
-
args: ['class._disabled']
|
|
82
|
-
}], size: [{
|
|
83
|
-
type: HostBinding,
|
|
84
|
-
args: ['attr.data-size']
|
|
85
|
-
}], isError: [{
|
|
86
|
-
type: HostBinding,
|
|
87
|
-
args: ['class._with-error']
|
|
88
|
-
}] } });
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, inject } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { cuiProvide } from '@cuby-ui/cdk';
|
|
4
|
+
import { CUI_TEXT_FIELD_CONTROLLER, CUI_TEXT_FILED_CONTROLLER_PROVIDER } from '../../directives';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common";
|
|
7
|
+
import * as i2 from "@angular/forms";
|
|
8
|
+
import * as i3 from "../svg/svg.component";
|
|
9
|
+
export class CuiInputPasswordComponent {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.changeDetectorRef = inject(ChangeDetectorRef);
|
|
12
|
+
this.cuiTextFieldController = inject(CUI_TEXT_FIELD_CONTROLLER);
|
|
13
|
+
this.isPasswordHidden = true;
|
|
14
|
+
}
|
|
15
|
+
get id() {
|
|
16
|
+
return this.cuiTextFieldController.id;
|
|
17
|
+
}
|
|
18
|
+
get placeholder() {
|
|
19
|
+
return this.cuiTextFieldController.placeholder;
|
|
20
|
+
}
|
|
21
|
+
get iconLeft() {
|
|
22
|
+
return this.cuiTextFieldController.iconLeft;
|
|
23
|
+
}
|
|
24
|
+
get isToggleButtonShown() {
|
|
25
|
+
return !this.isDisabled;
|
|
26
|
+
}
|
|
27
|
+
get icon() {
|
|
28
|
+
return this.isPasswordHidden ? 'cuiIconEye' : 'cuiIconEyeOff';
|
|
29
|
+
}
|
|
30
|
+
get type() {
|
|
31
|
+
return this.isPasswordHidden ? 'password' : 'text';
|
|
32
|
+
}
|
|
33
|
+
get buttonTitle() {
|
|
34
|
+
return this.isPasswordHidden ? 'Reveal password' : 'Hide password';
|
|
35
|
+
}
|
|
36
|
+
get size() {
|
|
37
|
+
return this.cuiTextFieldController.size;
|
|
38
|
+
}
|
|
39
|
+
get isError() {
|
|
40
|
+
return this.cuiTextFieldController.isError;
|
|
41
|
+
}
|
|
42
|
+
writeValue(value) {
|
|
43
|
+
this.value = value;
|
|
44
|
+
this.changeDetectorRef.markForCheck();
|
|
45
|
+
}
|
|
46
|
+
registerOnChange(fn) {
|
|
47
|
+
this.onChange = fn;
|
|
48
|
+
}
|
|
49
|
+
registerOnTouched(fn) {
|
|
50
|
+
this.onTouched = fn;
|
|
51
|
+
}
|
|
52
|
+
setDisabledState(isDisabled) {
|
|
53
|
+
this.isDisabled = isDisabled;
|
|
54
|
+
if (this.isDisabled) {
|
|
55
|
+
this.isPasswordHidden = true;
|
|
56
|
+
}
|
|
57
|
+
this.changeDetectorRef.markForCheck();
|
|
58
|
+
}
|
|
59
|
+
onInput({ target }) {
|
|
60
|
+
const value = target.value;
|
|
61
|
+
this.value = value;
|
|
62
|
+
this.onChange(value);
|
|
63
|
+
}
|
|
64
|
+
onTogglePasswordVisibility() {
|
|
65
|
+
this.isPasswordHidden = !this.isPasswordHidden;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
CuiInputPasswordComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputPasswordComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
69
|
+
CuiInputPasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiInputPasswordComponent, selector: "cui-input-password", host: { properties: { "class._disabled": "this.isDisabled", "attr.data-size": "this.size", "class._with-error": "this.isError" } }, providers: [
|
|
70
|
+
CUI_TEXT_FILED_CONTROLLER_PROVIDER,
|
|
71
|
+
cuiProvide(NG_VALUE_ACCESSOR, CuiInputPasswordComponent, true)
|
|
72
|
+
], ngImport: i0, template: "<cui-svg\n *ngIf=\"iconLeft\"\n [icon]=\"iconLeft\"\n color=\"var(--cui-base-500)\"\n></cui-svg>\n<input\n [ngModel]=\"value\"\n [attr.id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n [type]=\"type\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n>\n<button\n *ngIf=\"isToggleButtonShown\"\n [title]=\"buttonTitle\"\n class=\"c-button\"\n (click)=\"onTogglePasswordVisibility()\"\n>\n <cui-svg\n [icon]=\"icon\"\n [width]=\"16\"\n [height]=\"16\"\n color=\"var(--cui-base-500)\"\n ></cui-svg>\n</button>\n", styles: [":host{padding-right:13px;padding-left:13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-input);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}:host[data-size=sm]{padding-top:7px;padding-bottom:7px}:host[data-size=md]{padding-top:8px;padding-bottom:8px}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-danger)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;display:flex}.c-input::-ms-reveal{display:none}.c-input[type=password]{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}\n"], dependencies: [{ 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.CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputPasswordComponent, decorators: [{
|
|
74
|
+
type: Component,
|
|
75
|
+
args: [{ selector: 'cui-input-password', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
76
|
+
CUI_TEXT_FILED_CONTROLLER_PROVIDER,
|
|
77
|
+
cuiProvide(NG_VALUE_ACCESSOR, CuiInputPasswordComponent, true)
|
|
78
|
+
], template: "<cui-svg\n *ngIf=\"iconLeft\"\n [icon]=\"iconLeft\"\n color=\"var(--cui-base-500)\"\n></cui-svg>\n<input\n [ngModel]=\"value\"\n [attr.id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n [type]=\"type\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n>\n<button\n *ngIf=\"isToggleButtonShown\"\n [title]=\"buttonTitle\"\n class=\"c-button\"\n (click)=\"onTogglePasswordVisibility()\"\n>\n <cui-svg\n [icon]=\"icon\"\n [width]=\"16\"\n [height]=\"16\"\n color=\"var(--cui-base-500)\"\n ></cui-svg>\n</button>\n", styles: [":host{padding-right:13px;padding-left:13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-input);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}:host[data-size=sm]{padding-top:7px;padding-bottom:7px}:host[data-size=md]{padding-top:8px;padding-bottom:8px}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-danger)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;display:flex}.c-input::-ms-reveal{display:none}.c-input[type=password]{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}\n"] }]
|
|
79
|
+
}], propDecorators: { isDisabled: [{
|
|
80
|
+
type: HostBinding,
|
|
81
|
+
args: ['class._disabled']
|
|
82
|
+
}], size: [{
|
|
83
|
+
type: HostBinding,
|
|
84
|
+
args: ['attr.data-size']
|
|
85
|
+
}], isError: [{
|
|
86
|
+
type: HostBinding,
|
|
87
|
+
args: ['class._with-error']
|
|
88
|
+
}] } });
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL2lucHV0LXBhc3N3b3JkL2lucHV0LXBhc3N3b3JkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9pbnB1dC1wYXNzd29yZC9pbnB1dC1wYXNzd29yZC50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHMUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLGtDQUFrQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7O0FBYWpHLE1BQU0sT0FBTyx5QkFBeUI7SUFWdEM7UUFXbUIsc0JBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUMsMkJBQXNCLEdBQUcsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFFbEUscUJBQWdCLEdBQUcsSUFBSSxDQUFDO0tBaUZuQztJQXpFQyxJQUFjLEVBQUU7UUFDZCxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQWMsV0FBVztRQUN2QixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxXQUFXLENBQUM7SUFDakQsQ0FBQztJQUVELElBQWMsUUFBUTtRQUNwQixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQWMsbUJBQW1CO1FBQy9CLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFjLElBQUk7UUFDaEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDO0lBQ2hFLENBQUM7SUFFRCxJQUFjLElBQUk7UUFDaEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3JELENBQUM7SUFFRCxJQUFjLFdBQVc7UUFDdkIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUM7SUFDckUsQ0FBQztJQUVELElBQ2MsSUFBSTtRQUNoQixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQ2MsT0FBTztRQUNuQixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUM7SUFDN0MsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUEwQjtRQUMxQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVNLGdCQUFnQixDQUFDLEVBQXVCO1FBQzdDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxFQUFnQjtRQUN2QyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsVUFBbUI7UUFDekMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFFN0IsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7U0FDOUI7UUFFRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVTLE9BQU8sQ0FBQyxFQUFFLE1BQU0sRUFBUztRQUNqQyxNQUFNLEtBQUssR0FBSSxNQUEyQixDQUFDLEtBQUssQ0FBQztRQUVqRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFUywwQkFBMEI7UUFDbEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ2pELENBQUM7O3VIQXBGVSx5QkFBeUI7MkdBQXpCLHlCQUF5QixpTEFMekI7UUFDVCxrQ0FBa0M7UUFDbEMsVUFBVSxDQUFDLGlCQUFpQixFQUFFLHlCQUF5QixFQUFFLElBQUksQ0FBQztLQUMvRCwwQkN4QkgsbWxCQTRCQTs0RkRGYSx5QkFBeUI7a0JBVnJDLFNBQVM7K0JBQ0Usb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Qsa0NBQWtDO3dCQUNsQyxVQUFVLENBQUMsaUJBQWlCLDZCQUE2QixJQUFJLENBQUM7cUJBQy9EOzhCQVlTLFVBQVU7c0JBRG5CLFdBQVc7dUJBQUMsaUJBQWlCO2dCQWdDaEIsSUFBSTtzQkFEakIsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBTWYsT0FBTztzQkFEcEIsV0FBVzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgQ29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB0eXBlIHsgQ3VpSW5wdXRUeXBlLCBDdWlOdWxsYWJsZSwgQ3VpT25DaGFuZ2UsIEN1aU9uVG91Y2hlZCB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XG5pbXBvcnQgeyBjdWlQcm92aWRlIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcbmltcG9ydCB0eXBlIHsgQ3VpSWNvbiB9IGZyb20gJ0BjdWJ5LXVpL2ljb25zJztcblxuaW1wb3J0IHsgQ1VJX1RFWFRfRklFTERfQ09OVFJPTExFUiwgQ1VJX1RFWFRfRklMRURfQ09OVFJPTExFUl9QUk9WSURFUiB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgQ3VpU2l6ZU1kLCBDdWlTaXplU20gfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2N1aS1pbnB1dC1wYXNzd29yZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1wYXNzd29yZC50ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtcGFzc3dvcmQuc3R5bGUuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAgQ1VJX1RFWFRfRklMRURfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBjdWlQcm92aWRlKE5HX1ZBTFVFX0FDQ0VTU09SLCBDdWlJbnB1dFBhc3N3b3JkQ29tcG9uZW50LCB0cnVlKVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEN1aUlucHV0UGFzc3dvcmRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IGN1aVRleHRGaWVsZENvbnRyb2xsZXIgPSBpbmplY3QoQ1VJX1RFWFRfRklFTERfQ09OVFJPTExFUik7XG5cbiAgcHJvdGVjdGVkIGlzUGFzc3dvcmRIaWRkZW4gPSB0cnVlO1xuICBwcm90ZWN0ZWQgdmFsdWUhOiBDdWlOdWxsYWJsZTxzdHJpbmc+O1xuICBwcm90ZWN0ZWQgb25DaGFuZ2UhOiBDdWlPbkNoYW5nZTxzdHJpbmc+O1xuICBwcm90ZWN0ZWQgb25Ub3VjaGVkITogQ3VpT25Ub3VjaGVkO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuX2Rpc2FibGVkJylcbiAgcHJvdGVjdGVkIGlzRGlzYWJsZWQhOiBib29sZWFuO1xuXG4gIHByb3RlY3RlZCBnZXQgaWQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5jdWlUZXh0RmllbGRDb250cm9sbGVyLmlkO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBwbGFjZWhvbGRlcigpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmN1aVRleHRGaWVsZENvbnRyb2xsZXIucGxhY2Vob2xkZXI7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGljb25MZWZ0KCk6IEN1aUljb24gfCBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmN1aVRleHRGaWVsZENvbnRyb2xsZXIuaWNvbkxlZnQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGlzVG9nZ2xlQnV0dG9uU2hvd24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmlzRGlzYWJsZWQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGljb24oKTogQ3VpSWNvbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNQYXNzd29yZEhpZGRlbiA/ICdjdWlJY29uRXllJyA6ICdjdWlJY29uRXllT2ZmJztcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHlwZSgpOiBDdWlJbnB1dFR5cGUge1xuICAgIHJldHVybiB0aGlzLmlzUGFzc3dvcmRIaWRkZW4gPyAncGFzc3dvcmQnIDogJ3RleHQnO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBidXR0b25UaXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlzUGFzc3dvcmRIaWRkZW4gPyAnUmV2ZWFsIHBhc3N3b3JkJyA6ICdIaWRlIHBhc3N3b3JkJztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICBwcm90ZWN0ZWQgZ2V0IHNpemUoKTogQ3VpU2l6ZVNtIHwgQ3VpU2l6ZU1kIHtcbiAgICByZXR1cm4gdGhpcy5jdWlUZXh0RmllbGRDb250cm9sbGVyLnNpemU7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLl93aXRoLWVycm9yJylcbiAgcHJvdGVjdGVkIGdldCBpc0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmN1aVRleHRGaWVsZENvbnRyb2xsZXIuaXNFcnJvcjtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBDdWlOdWxsYWJsZTxzdHJpbmc+KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBDdWlPbkNoYW5nZTxzdHJpbmc+KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBDdWlPblRvdWNoZWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgcHVibGljIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaXNEaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG5cbiAgICBpZiAodGhpcy5pc0Rpc2FibGVkKSB7XG4gICAgICB0aGlzLmlzUGFzc3dvcmRIaWRkZW4gPSB0cnVlO1xuICAgIH1cblxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25JbnB1dCh7IHRhcmdldCB9OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHZhbHVlID0gKHRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZTtcblxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcblxuICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uVG9nZ2xlUGFzc3dvcmRWaXNpYmlsaXR5KCk6IHZvaWQge1xuICAgIHRoaXMuaXNQYXNzd29yZEhpZGRlbiA9ICF0aGlzLmlzUGFzc3dvcmRIaWRkZW47XG4gIH1cbn1cbiIsIjxjdWktc3ZnXG4gICpuZ0lmPVwiaWNvbkxlZnRcIlxuICBbaWNvbl09XCJpY29uTGVmdFwiXG4gIGNvbG9yPVwidmFyKC0tY3VpLWJhc2UtNTAwKVwiXG4+PC9jdWktc3ZnPlxuPGlucHV0XG4gIFtuZ01vZGVsXT1cInZhbHVlXCJcbiAgW2F0dHIuaWRdPVwiaWRcIlxuICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gIFt0eXBlXT1cInR5cGVcIlxuICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXG4gIGNsYXNzPVwiYy1pbnB1dFwiXG4gIChpbnB1dCk9XCJvbklucHV0KCRldmVudClcIlxuICAoZm9jdXMpPVwib25Ub3VjaGVkKClcIlxuPlxuPGJ1dHRvblxuICAqbmdJZj1cImlzVG9nZ2xlQnV0dG9uU2hvd25cIlxuICBbdGl0bGVdPVwiYnV0dG9uVGl0bGVcIlxuICBjbGFzcz1cImMtYnV0dG9uXCJcbiAgKGNsaWNrKT1cIm9uVG9nZ2xlUGFzc3dvcmRWaXNpYmlsaXR5KClcIlxuPlxuICA8Y3VpLXN2Z1xuICAgIFtpY29uXT1cImljb25cIlxuICAgIFt3aWR0aF09XCIxNlwiXG4gICAgW2hlaWdodF09XCIxNlwiXG4gICAgY29sb3I9XCJ2YXIoLS1jdWktYmFzZS01MDApXCJcbiAgPjwvY3VpLXN2Zz5cbjwvYnV0dG9uPlxuIl19
|