@eui/components 19.0.3-snapshot-1737728205029 → 19.0.4-snapshot-1738753092246
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/directives/eui-has-permission.directive.d.ts +70 -2
- package/directives/eui-has-permission.directive.d.ts.map +1 -1
- package/directives/eui-maxlength.directive.d.ts +94 -10
- package/directives/eui-maxlength.directive.d.ts.map +1 -1
- package/docs/components/EuiInputCheckboxComponent.html +169 -10
- package/docs/components/EuiInputGroupAddOnComponent.html +22 -0
- package/docs/components/EuiInputGroupAddOnItemComponent.html +30 -0
- package/docs/components/EuiInputGroupComponent.html +35 -0
- package/docs/components/EuiInputNumberComponent.html +83 -4
- package/docs/components/EuiInputRadioComponent.html +228 -0
- package/docs/components/EuiInputTextComponent.html +50 -0
- package/docs/components/EuiTextareaComponent.html +207 -1
- package/docs/dependencies.html +2 -2
- package/docs/directives/AutoResizeDirective.html +49 -1
- package/docs/directives/EuiHasPermissionDirective.html +34 -0
- package/docs/directives/EuiInputNumberDirective.html +17 -0
- package/docs/directives/EuiMaxLengthDirective.html +35 -7
- package/docs/js/menu-wc.js +53 -107
- package/docs/js/menu-wc_es5.js +1 -1
- package/docs/js/search/search_index.js +2 -2
- package/docs/miscellaneous/functions.html +14 -0
- package/docs/modules/EuiHasPermissionDirectiveModule.html +17 -3
- package/docs/modules/EuiInputCheckboxModule.html +25 -4
- package/docs/modules/EuiInputGroupModule.html +20 -5
- package/docs/modules/EuiInputNumberModule.html +26 -5
- package/docs/modules/EuiInputRadioModule.html +27 -4
- package/docs/modules/EuiInputTextModule.html +25 -4
- package/docs/modules/EuiMaxLengthDirectiveModule.html +25 -4
- package/docs/modules/EuiTextAreaModule.html +20 -4
- package/eui-input-checkbox/eui-input-checkbox.component.d.ts +88 -11
- package/eui-input-checkbox/eui-input-checkbox.component.d.ts.map +1 -1
- package/eui-input-checkbox/eui-input-checkbox.module.d.ts +17 -3
- package/eui-input-checkbox/eui-input-checkbox.module.d.ts.map +1 -1
- package/eui-input-group/eui-input-group-addon-item.component.d.ts +33 -1
- package/eui-input-group/eui-input-group-addon-item.component.d.ts.map +1 -1
- package/eui-input-group/eui-input-group-addon.component.d.ts +40 -2
- package/eui-input-group/eui-input-group-addon.component.d.ts.map +1 -1
- package/eui-input-group/eui-input-group.component.d.ts +44 -1
- package/eui-input-group/eui-input-group.component.d.ts.map +1 -1
- package/eui-input-group/eui-input-group.module.d.ts +21 -5
- package/eui-input-group/eui-input-group.module.d.ts.map +1 -1
- package/eui-input-number/eui-input-number.component.d.ts +73 -9
- package/eui-input-number/eui-input-number.component.d.ts.map +1 -1
- package/eui-input-number/eui-input-number.module.d.ts +19 -4
- package/eui-input-number/eui-input-number.module.d.ts.map +1 -1
- package/eui-input-number/eui-number-control.directive.d.ts +27 -2
- package/eui-input-number/eui-number-control.directive.d.ts.map +1 -1
- package/eui-input-radio/eui-input-radio.component.d.ts +96 -1
- package/eui-input-radio/eui-input-radio.component.d.ts.map +1 -1
- package/eui-input-radio/eui-input-radio.module.d.ts +20 -3
- package/eui-input-radio/eui-input-radio.module.d.ts.map +1 -1
- package/eui-input-text/eui-input-text.component.d.ts +54 -1
- package/eui-input-text/eui-input-text.component.d.ts.map +1 -1
- package/eui-input-text/eui-input-text.module.d.ts +19 -3
- package/eui-input-text/eui-input-text.module.d.ts.map +1 -1
- package/eui-textarea/auto-resize.directive.d.ts +90 -3
- package/eui-textarea/auto-resize.directive.d.ts.map +1 -1
- package/eui-textarea/eui-textarea.component.d.ts +111 -5
- package/eui-textarea/eui-textarea.component.d.ts.map +1 -1
- package/eui-textarea/eui-textarea.module.d.ts +23 -4
- package/eui-textarea/eui-textarea.module.d.ts.map +1 -1
- package/fesm2022/eui-components-directives.mjs +180 -34
- package/fesm2022/eui-components-directives.mjs.map +1 -1
- package/fesm2022/eui-components-eui-accordion.mjs +1 -1
- package/fesm2022/eui-components-eui-alert.mjs +1 -1
- package/fesm2022/eui-components-eui-autocomplete.mjs +2 -2
- package/fesm2022/eui-components-eui-avatar.mjs +1 -1
- package/fesm2022/eui-components-eui-badge.mjs +1 -1
- package/fesm2022/eui-components-eui-block-content.mjs +1 -1
- package/fesm2022/eui-components-eui-block-document.mjs +1 -1
- package/fesm2022/eui-components-eui-breadcrumb.mjs +1 -1
- package/fesm2022/eui-components-eui-button-group.mjs +1 -1
- package/fesm2022/eui-components-eui-button-v2.mjs +1 -1
- package/fesm2022/eui-components-eui-button.mjs +1 -1
- package/fesm2022/eui-components-eui-card.mjs +3 -3
- package/fesm2022/eui-components-eui-card.mjs.map +1 -1
- package/fesm2022/eui-components-eui-chip-group.mjs +1 -1
- package/fesm2022/eui-components-eui-chip-list.mjs +1 -1
- package/fesm2022/eui-components-eui-chip.mjs +1 -1
- package/fesm2022/eui-components-eui-dashboard-button.mjs +1 -1
- package/fesm2022/eui-components-eui-dashboard-card.mjs +1 -1
- package/fesm2022/eui-components-eui-date-range-selector.mjs +1 -1
- package/fesm2022/eui-components-eui-datepicker.mjs +1 -1
- package/fesm2022/eui-components-eui-dialog.mjs +1 -1
- package/fesm2022/eui-components-eui-dimmer.mjs +1 -1
- package/fesm2022/eui-components-eui-disable-content.mjs +1 -1
- package/fesm2022/eui-components-eui-discussion-thread.mjs +1 -1
- package/fesm2022/eui-components-eui-dropdown.mjs +2 -2
- package/fesm2022/eui-components-eui-feedback-message.mjs +1 -1
- package/fesm2022/eui-components-eui-fieldset.mjs +1 -1
- package/fesm2022/eui-components-eui-file-upload.mjs +1 -1
- package/fesm2022/eui-components-eui-growl.mjs +1 -1
- package/fesm2022/eui-components-eui-icon-button-expander.mjs +1 -1
- package/fesm2022/eui-components-eui-icon-button.mjs +1 -1
- package/fesm2022/eui-components-eui-icon-color.mjs +1 -1
- package/fesm2022/eui-components-eui-icon-input.mjs +1 -1
- package/fesm2022/eui-components-eui-icon-state.mjs +1 -1
- package/fesm2022/eui-components-eui-icon-toggle.mjs +1 -1
- package/fesm2022/eui-components-eui-icon.mjs +1 -1
- package/fesm2022/eui-components-eui-input-checkbox.mjs +104 -14
- package/fesm2022/eui-components-eui-input-checkbox.mjs.map +1 -1
- package/fesm2022/eui-components-eui-input-group.mjs +142 -12
- package/fesm2022/eui-components-eui-input-group.mjs.map +1 -1
- package/fesm2022/eui-components-eui-input-number.mjs +109 -13
- package/fesm2022/eui-components-eui-input-number.mjs.map +1 -1
- package/fesm2022/eui-components-eui-input-radio.mjs +117 -6
- package/fesm2022/eui-components-eui-input-radio.mjs.map +1 -1
- package/fesm2022/eui-components-eui-input-text.mjs +73 -6
- package/fesm2022/eui-components-eui-input-text.mjs.map +1 -1
- package/fesm2022/eui-components-eui-label.mjs +1 -1
- package/fesm2022/eui-components-eui-language-selector.mjs +1 -1
- package/fesm2022/eui-components-eui-list.mjs +1 -1
- package/fesm2022/eui-components-eui-menu.mjs +1 -1
- package/fesm2022/eui-components-eui-message-box.mjs +1 -1
- package/fesm2022/eui-components-eui-navbar.mjs +1 -1
- package/fesm2022/eui-components-eui-overlay.mjs +1 -1
- package/fesm2022/eui-components-eui-page.mjs +1 -1
- package/fesm2022/eui-components-eui-paginator.mjs +1 -1
- package/fesm2022/eui-components-eui-popover.mjs +1 -1
- package/fesm2022/eui-components-eui-progress-bar.mjs +1 -1
- package/fesm2022/eui-components-eui-progress-circle.mjs +1 -1
- package/fesm2022/eui-components-eui-select.mjs +1 -1
- package/fesm2022/eui-components-eui-sidebar-menu.mjs +1 -1
- package/fesm2022/eui-components-eui-skeleton.mjs +1 -1
- package/fesm2022/eui-components-eui-slide-toggle.mjs +2 -2
- package/fesm2022/eui-components-eui-split-button.mjs +1 -1
- package/fesm2022/eui-components-eui-table-v2.mjs +1 -1
- package/fesm2022/eui-components-eui-table.mjs +1 -1
- package/fesm2022/eui-components-eui-tabs.mjs +1 -1
- package/fesm2022/eui-components-eui-textarea.mjs +221 -15
- package/fesm2022/eui-components-eui-textarea.mjs.map +1 -1
- package/fesm2022/eui-components-eui-timebar.mjs +1 -1
- package/fesm2022/eui-components-eui-timeline.mjs +1 -1
- package/fesm2022/eui-components-eui-timepicker.mjs +1 -1
- package/fesm2022/eui-components-eui-tree-list.mjs +1 -1
- package/fesm2022/eui-components-eui-tree.mjs +1 -1
- package/fesm2022/eui-components-eui-user-profile.mjs +1 -1
- package/fesm2022/eui-components-eui-wizard.mjs +1 -1
- package/fesm2022/eui-components-externals-eui-editor.mjs +1 -1
- package/fesm2022/eui-components-externals-quill.mjs +1 -1
- package/fesm2022/eui-components-layout.mjs +2 -2
- package/fesm2022/eui-components-shared.mjs +2 -2
- package/package.json +9 -9
@@ -1,21 +1,64 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
|
-
import {
|
2
|
+
import { HostBinding, Input, Component, NgModule } from '@angular/core';
|
3
3
|
import { CommonModule } from '@angular/common';
|
4
4
|
|
5
|
+
/**
|
6
|
+
* @description
|
7
|
+
* A component that serves as the main container for input group elements.
|
8
|
+
* Can only be used as an attribute selector on a div element.
|
9
|
+
*
|
10
|
+
* @example
|
11
|
+
* ```html
|
12
|
+
* <div euiInputGroup>
|
13
|
+
* <eui-input-group-addon>
|
14
|
+
* <eui-input-group-addon-item>Prefix</eui-input-group-addon-item>
|
15
|
+
* </eui-input-group-addon>
|
16
|
+
* <input type="text">
|
17
|
+
* <eui-input-group-addon>
|
18
|
+
* <eui-input-group-addon-item>Suffix</eui-input-group-addon-item>
|
19
|
+
* </eui-input-group-addon>
|
20
|
+
* </div>
|
21
|
+
* ```
|
22
|
+
*
|
23
|
+
* @selector div[euiInputGroup]
|
24
|
+
* @standalone false
|
25
|
+
*/
|
5
26
|
class EuiInputGroupComponent {
|
6
27
|
constructor() {
|
28
|
+
/**
|
29
|
+
* @description
|
30
|
+
* Input property for setting the data-e2e attribute value.
|
31
|
+
* Used for end-to-end testing purposes.
|
32
|
+
*
|
33
|
+
* @default 'eui-input-group'
|
34
|
+
*/
|
7
35
|
this.e2eAttr = 'eui-input-group';
|
36
|
+
/**
|
37
|
+
* @description
|
38
|
+
* Protected property that defines the type of the input group.
|
39
|
+
* Bound to the host element's type attribute.
|
40
|
+
*
|
41
|
+
* @protected
|
42
|
+
* @default 'inputGroup'
|
43
|
+
*/
|
8
44
|
this.type = 'inputGroup';
|
9
45
|
}
|
46
|
+
/**
|
47
|
+
* @description
|
48
|
+
* Getter that returns the CSS class for the component.
|
49
|
+
* Bound to the host element's class attribute.
|
50
|
+
*
|
51
|
+
* @returns {string} The CSS class name
|
52
|
+
*/
|
10
53
|
get cssClasses() {
|
11
54
|
return 'eui-input-group';
|
12
55
|
}
|
13
56
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: EuiInputGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
14
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.5", type: EuiInputGroupComponent, isStandalone:
|
57
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.5", type: EuiInputGroupComponent, isStandalone: true, selector: "div[euiInputGroup]", inputs: { e2eAttr: "e2eAttr" }, host: { properties: { "attr.data-e2e": "this.e2eAttr", "class": "this.cssClasses", "attr.type": "this.type" } }, ngImport: i0, template: '<ng-content/>', isInline: true, styles: [".eui-19 :host.eui-input-group{align-items:flex-start;display:flex;flex-direction:column;margin-bottom:var(--eui-s-m);position:relative;width:100%}.eui-19 :host.eui-input-group ::ng-deep>.eui-label{align-items:center;display:inline-flex}.eui-19 :host.eui-input-group ::ng-deep>.eui-label:first-child{font:var(--eui-f-m-bold);margin-bottom:var(--eui-s-2xs);min-height:var(--eui-s-l)}.eui-19 :host.eui-input-group.row{align-items:center;flex-direction:row}.eui-19 :host.eui-input-group.row ::ng-deep .eui-label{align-items:center;display:flex;justify-content:flex-end;margin-bottom:0!important;margin-top:0;padding-right:0;text-align:right;font:var(--eui-f-m);white-space:normal}.eui-19 :host.eui-input-group.row ::ng-deep .eui-label:first-child{font:var(--eui-f-m-bold)}.eui-19 :host.eui-input-group ::ng-deep .eui-icon-svg.eui-input-text--clearable-icon{cursor:pointer;position:absolute;right:var(--eui-s-s);-webkit-user-select:none;user-select:none;visibility:visible}.eui-19 :host.eui-input-group ::ng-deep .eui-icon-svg.eui-input-text--clearable-icon:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-19 :host.eui-input-group ::ng-deep .eui-icon-svg.eui-input-text--clearable-icon:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 :host.eui-input-group ::ng-deep .eui-icon-svg.eui-input-text--clearable-icon [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 :host.eui-input-group ::ng-deep .eui-icon-svg.eui-input-text--clearable-icon>svg{fill:var(--eui-c-neutral-lighter)}.eui-19 :host.eui-input-group ::ng-deep .eui-icon-svg.eui-input-text--clearable-icon>svg:hover{fill:var(--eui-c-danger)}@media screen and (max-width: 767px){.eui-19 :host.eui-input-group.row{flex-direction:column}.eui-19 :host.eui-input-group.row ::ng-deep label,.eui-19 :host.eui-input-group.row ::ng-deep .eui-label{justify-content:flex-start;text-align:left}}\n"] }); }
|
15
58
|
}
|
16
59
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: EuiInputGroupComponent, decorators: [{
|
17
60
|
type: Component,
|
18
|
-
args: [{ selector: 'div[euiInputGroup]', template: '<ng-content/>', standalone:
|
61
|
+
args: [{ selector: 'div[euiInputGroup]', template: '<ng-content/>', standalone: true, styles: [".eui-19 :host.eui-input-group{align-items:flex-start;display:flex;flex-direction:column;margin-bottom:var(--eui-s-m);position:relative;width:100%}.eui-19 :host.eui-input-group ::ng-deep>.eui-label{align-items:center;display:inline-flex}.eui-19 :host.eui-input-group ::ng-deep>.eui-label:first-child{font:var(--eui-f-m-bold);margin-bottom:var(--eui-s-2xs);min-height:var(--eui-s-l)}.eui-19 :host.eui-input-group.row{align-items:center;flex-direction:row}.eui-19 :host.eui-input-group.row ::ng-deep .eui-label{align-items:center;display:flex;justify-content:flex-end;margin-bottom:0!important;margin-top:0;padding-right:0;text-align:right;font:var(--eui-f-m);white-space:normal}.eui-19 :host.eui-input-group.row ::ng-deep .eui-label:first-child{font:var(--eui-f-m-bold)}.eui-19 :host.eui-input-group ::ng-deep .eui-icon-svg.eui-input-text--clearable-icon{cursor:pointer;position:absolute;right:var(--eui-s-s);-webkit-user-select:none;user-select:none;visibility:visible}.eui-19 :host.eui-input-group ::ng-deep .eui-icon-svg.eui-input-text--clearable-icon:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-19 :host.eui-input-group ::ng-deep .eui-icon-svg.eui-input-text--clearable-icon:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 :host.eui-input-group ::ng-deep .eui-icon-svg.eui-input-text--clearable-icon [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 :host.eui-input-group ::ng-deep .eui-icon-svg.eui-input-text--clearable-icon>svg{fill:var(--eui-c-neutral-lighter)}.eui-19 :host.eui-input-group ::ng-deep .eui-icon-svg.eui-input-text--clearable-icon>svg:hover{fill:var(--eui-c-danger)}@media screen and (max-width: 767px){.eui-19 :host.eui-input-group.row{flex-direction:column}.eui-19 :host.eui-input-group.row ::ng-deep label,.eui-19 :host.eui-input-group.row ::ng-deep .eui-label{justify-content:flex-start;text-align:left}}\n"] }]
|
19
62
|
}], propDecorators: { e2eAttr: [{
|
20
63
|
type: HostBinding,
|
21
64
|
args: ['attr.data-e2e']
|
@@ -29,19 +72,57 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
29
72
|
args: ['attr.type']
|
30
73
|
}] } });
|
31
74
|
|
75
|
+
/**
|
76
|
+
* @description
|
77
|
+
* A component that serves as a container for input group add-on items.
|
78
|
+
* Can be used either as an attribute selector on a div or as a custom element.
|
79
|
+
*
|
80
|
+
* @example
|
81
|
+
* As an attribute
|
82
|
+
* ```html
|
83
|
+
* <div euiInputGroupAddOn>
|
84
|
+
* <div euiInputGroupAddOnItem>Item 1</div>
|
85
|
+
* <div euiInputGroupAddOnItem>Item 2</div>
|
86
|
+
* </div>
|
87
|
+
* ```
|
88
|
+
*
|
89
|
+
* As an element
|
90
|
+
* ```html
|
91
|
+
* <eui-input-group-addon>
|
92
|
+
* <eui-input-group-addon-item>Item 1</eui-input-group-addon-item>
|
93
|
+
* <eui-input-group-addon-item>Item 2</eui-input-group-addon-item>
|
94
|
+
* </eui-input-group-addon>
|
95
|
+
* ```
|
96
|
+
*
|
97
|
+
* @selector div[euiInputGroupAddOn], eui-input-group-addon
|
98
|
+
* @standalone false
|
99
|
+
*/
|
32
100
|
class EuiInputGroupAddOnComponent {
|
33
101
|
constructor() {
|
34
|
-
|
102
|
+
/**
|
103
|
+
* @description
|
104
|
+
* Input property for setting the data-e2e attribute value.
|
105
|
+
* Used for end-to-end testing purposes.
|
106
|
+
*
|
107
|
+
* @default 'eui-input-group-addon'
|
108
|
+
*/
|
109
|
+
this.e2eAttr = 'eui-input-group-addon'; /**
|
110
|
+
* @description
|
111
|
+
* Getter that returns the CSS class for the component.
|
112
|
+
* Bound to the host element's class attribute.
|
113
|
+
*
|
114
|
+
* @returns {string} The CSS class name
|
115
|
+
*/
|
35
116
|
}
|
36
117
|
get cssClasses() {
|
37
118
|
return 'eui-input-group-addon';
|
38
119
|
}
|
39
120
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: EuiInputGroupAddOnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
40
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.5", type: EuiInputGroupAddOnComponent, isStandalone:
|
121
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.5", type: EuiInputGroupAddOnComponent, isStandalone: true, selector: "div[euiInputGroupAddOn], eui-input-group-addon", inputs: { e2eAttr: "e2eAttr" }, host: { properties: { "attr.data-e2e": "this.e2eAttr", "class": "this.cssClasses" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".eui-19 :host.eui-input-group-addon{align-items:stretch;display:flex;position:relative;width:100%}.eui-19 :host.eui-input-group-addon ::ng-deep>:not(:first-child){border-bottom-left-radius:var(--eui-br-none);border-top-left-radius:var(--eui-br-none)}.eui-19 :host.eui-input-group-addon ::ng-deep>:not(:last-child){border-bottom-left-radius:var(--eui-br-m);border-top-left-radius:var(--eui-br-m);border-bottom-right-radius:var(--eui-br-none);border-top-right-radius:var(--eui-br-none)}.eui-19 :host.eui-input-group-addon ::ng-deep>:not(:first-child):not(:last-child){border-radius:var(--eui-br-none)}.eui-19 :host.eui-input-group-addon ::ng-deep>:last-child:not(:first-child){border-radius:var(--eui-br-none) var(--eui-br-m) var(--eui-br-m) var(--eui-br-none)}.eui-19 :host.eui-input-group-addon ::ng-deep .eui-select,.eui-19 :host.eui-input-group-addon ::ng-deep .eui-button,.eui-19 :host.eui-input-group-addon ::ng-deep eui-dropdown{margin-left:-2px}.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-text+.eui-input-group-addon-item,.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-number+.eui-input-group-addon-item{border-left-color:transparent}.eui-19 :host.eui-input-group-addon ::ng-deep .eui-button,.eui-19 :host.eui-input-group-addon ::ng-deep .eui-textarea{margin-left:-1px}.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-group-addon-item+.eui-textarea,.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-group-addon-item+.eui-input-text,.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-group-addon-item+.eui-input-number,.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-group-addon-item+.eui-select{border-bottom-left-radius:var(--eui-br-none);border-top-left-radius:var(--eui-br-none);margin-left:-1px}.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-group-addon-item+.eui-autocomplete__wrapper .eui-textarea,.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-group-addon-item+.eui-autocomplete__wrapper .eui-input-text,.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-group-addon-item+.eui-autocomplete__wrapper .eui-input-number,.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-group-addon-item+.eui-autocomplete__wrapper .eui-select,.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-group-addon-item+.eui-textarea__wrapper .eui-textarea,.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-group-addon-item+.eui-textarea__wrapper .eui-input-text,.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-group-addon-item+.eui-textarea__wrapper .eui-input-number,.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-group-addon-item+.eui-textarea__wrapper .eui-select,.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-group-addon-item+.eui-input-maxlength-wrapper .eui-textarea,.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-group-addon-item+.eui-input-maxlength-wrapper .eui-input-text,.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-group-addon-item+.eui-input-maxlength-wrapper .eui-input-number,.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-group-addon-item+.eui-input-maxlength-wrapper .eui-select{border-bottom-left-radius:var(--eui-br-none);border-top-left-radius:var(--eui-br-none);margin-left:-1px}\n"] }); }
|
41
122
|
}
|
42
123
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: EuiInputGroupAddOnComponent, decorators: [{
|
43
124
|
type: Component,
|
44
|
-
args: [{ selector: 'div[euiInputGroupAddOn], eui-input-group-addon', template: '<ng-content></ng-content>', standalone:
|
125
|
+
args: [{ selector: 'div[euiInputGroupAddOn], eui-input-group-addon', template: '<ng-content></ng-content>', standalone: true, styles: [".eui-19 :host.eui-input-group-addon{align-items:stretch;display:flex;position:relative;width:100%}.eui-19 :host.eui-input-group-addon ::ng-deep>:not(:first-child){border-bottom-left-radius:var(--eui-br-none);border-top-left-radius:var(--eui-br-none)}.eui-19 :host.eui-input-group-addon ::ng-deep>:not(:last-child){border-bottom-left-radius:var(--eui-br-m);border-top-left-radius:var(--eui-br-m);border-bottom-right-radius:var(--eui-br-none);border-top-right-radius:var(--eui-br-none)}.eui-19 :host.eui-input-group-addon ::ng-deep>:not(:first-child):not(:last-child){border-radius:var(--eui-br-none)}.eui-19 :host.eui-input-group-addon ::ng-deep>:last-child:not(:first-child){border-radius:var(--eui-br-none) var(--eui-br-m) var(--eui-br-m) var(--eui-br-none)}.eui-19 :host.eui-input-group-addon ::ng-deep .eui-select,.eui-19 :host.eui-input-group-addon ::ng-deep .eui-button,.eui-19 :host.eui-input-group-addon ::ng-deep eui-dropdown{margin-left:-2px}.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-text+.eui-input-group-addon-item,.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-number+.eui-input-group-addon-item{border-left-color:transparent}.eui-19 :host.eui-input-group-addon ::ng-deep .eui-button,.eui-19 :host.eui-input-group-addon ::ng-deep .eui-textarea{margin-left:-1px}.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-group-addon-item+.eui-textarea,.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-group-addon-item+.eui-input-text,.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-group-addon-item+.eui-input-number,.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-group-addon-item+.eui-select{border-bottom-left-radius:var(--eui-br-none);border-top-left-radius:var(--eui-br-none);margin-left:-1px}.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-group-addon-item+.eui-autocomplete__wrapper .eui-textarea,.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-group-addon-item+.eui-autocomplete__wrapper .eui-input-text,.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-group-addon-item+.eui-autocomplete__wrapper .eui-input-number,.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-group-addon-item+.eui-autocomplete__wrapper .eui-select,.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-group-addon-item+.eui-textarea__wrapper .eui-textarea,.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-group-addon-item+.eui-textarea__wrapper .eui-input-text,.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-group-addon-item+.eui-textarea__wrapper .eui-input-number,.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-group-addon-item+.eui-textarea__wrapper .eui-select,.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-group-addon-item+.eui-input-maxlength-wrapper .eui-textarea,.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-group-addon-item+.eui-input-maxlength-wrapper .eui-input-text,.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-group-addon-item+.eui-input-maxlength-wrapper .eui-input-number,.eui-19 :host.eui-input-group-addon ::ng-deep .eui-input-group-addon-item+.eui-input-maxlength-wrapper .eui-select{border-bottom-left-radius:var(--eui-br-none);border-top-left-radius:var(--eui-br-none);margin-left:-1px}\n"] }]
|
45
126
|
}], propDecorators: { e2eAttr: [{
|
46
127
|
type: HostBinding,
|
47
128
|
args: ['attr.data-e2e']
|
@@ -52,19 +133,51 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
52
133
|
args: ['class']
|
53
134
|
}] } });
|
54
135
|
|
136
|
+
/**
|
137
|
+
* @description
|
138
|
+
* A component that represents an individual item within an input group add-on.
|
139
|
+
* Can be used either as an attribute selector on a div or as a custom element.
|
140
|
+
*
|
141
|
+
* @example
|
142
|
+
* As an attribute
|
143
|
+
* ```html
|
144
|
+
* <div euiInputGroupAddOnItem>Content</div>
|
145
|
+
* ```
|
146
|
+
*
|
147
|
+
* As an element
|
148
|
+
* ```html
|
149
|
+
* <eui-input-group-addon-item>Content</eui-input-group-addon-item>
|
150
|
+
* ```
|
151
|
+
*
|
152
|
+
* @selector div[euiInputGroupAddOnItem], eui-input-group-addon-item
|
153
|
+
*/
|
55
154
|
class EuiInputGroupAddOnItemComponent {
|
56
155
|
constructor() {
|
156
|
+
/**
|
157
|
+
* @description
|
158
|
+
* Input property for setting the data-e2e attribute value.
|
159
|
+
* Used for end-to-end testing purposes.
|
160
|
+
*
|
161
|
+
* @default 'eui-input-group-addon-item'
|
162
|
+
*/
|
57
163
|
this.e2eAttr = 'eui-input-group-addon-item';
|
58
164
|
}
|
165
|
+
/**
|
166
|
+
* @description
|
167
|
+
* Getter that returns the CSS class for the component.
|
168
|
+
* Bound to the host element's class attribute.
|
169
|
+
*
|
170
|
+
* @returns {string} The CSS class name
|
171
|
+
*/
|
59
172
|
get cssClasses() {
|
60
173
|
return 'eui-input-group-addon-item';
|
61
174
|
}
|
62
175
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: EuiInputGroupAddOnItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
63
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.5", type: EuiInputGroupAddOnItemComponent, isStandalone:
|
176
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.5", type: EuiInputGroupAddOnItemComponent, isStandalone: true, selector: "div[euiInputGroupAddOnItem], eui-input-group-addon-item", inputs: { e2eAttr: "e2eAttr" }, host: { properties: { "attr.data-e2e": "this.e2eAttr", "class": "this.cssClasses" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".eui-19 :host.eui-input-group-addon-item{align-items:center;align-self:stretch;background-color:var(--eui-c-neutral-bg-light);border:var(--eui-bw-xs) solid var(--eui-c-neutral-lighter);border-radius:var(--eui-br-none);box-shadow:none;color:var(--eui-c-neutral);display:flex;flex-shrink:0;font:var(--eui-f-m-compact);height:auto;justify-content:center;min-height:var(--eui-s-3xl);min-width:var(--eui-s-3xl);padding:0 var(--eui-s-xs)}\n"] }); }
|
64
177
|
}
|
65
178
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: EuiInputGroupAddOnItemComponent, decorators: [{
|
66
179
|
type: Component,
|
67
|
-
args: [{ selector: 'div[euiInputGroupAddOnItem], eui-input-group-addon-item', template: '<ng-content></ng-content>', standalone:
|
180
|
+
args: [{ selector: 'div[euiInputGroupAddOnItem], eui-input-group-addon-item', template: '<ng-content></ng-content>', standalone: true, styles: [".eui-19 :host.eui-input-group-addon-item{align-items:center;align-self:stretch;background-color:var(--eui-c-neutral-bg-light);border:var(--eui-bw-xs) solid var(--eui-c-neutral-lighter);border-radius:var(--eui-br-none);box-shadow:none;color:var(--eui-c-neutral);display:flex;flex-shrink:0;font:var(--eui-f-m-compact);height:auto;justify-content:center;min-height:var(--eui-s-3xl);min-width:var(--eui-s-3xl);padding:0 var(--eui-s-xs)}\n"] }]
|
68
181
|
}], propDecorators: { e2eAttr: [{
|
69
182
|
type: HostBinding,
|
70
183
|
args: ['attr.data-e2e']
|
@@ -75,11 +188,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
75
188
|
args: ['class']
|
76
189
|
}] } });
|
77
190
|
|
191
|
+
/**
|
192
|
+
* @description
|
193
|
+
* Angular module that provides input group components for the EUI framework.
|
194
|
+
* Includes the main input group component and its add-on components.
|
195
|
+
*
|
196
|
+
* @example
|
197
|
+
* // In your app.module.ts or feature module:
|
198
|
+
* import { EuiInputGroupModule } from '@eui/input-group';
|
199
|
+
*
|
200
|
+
* @NgModule({
|
201
|
+
* imports: [
|
202
|
+
* EuiInputGroupModule
|
203
|
+
* ]
|
204
|
+
* })
|
205
|
+
* export class YourModule { }
|
206
|
+
*/
|
78
207
|
class EuiInputGroupModule {
|
79
208
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: EuiInputGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
80
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.5", ngImport: i0, type: EuiInputGroupModule,
|
209
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.5", ngImport: i0, type: EuiInputGroupModule, imports: [CommonModule,
|
210
|
+
EuiInputGroupComponent,
|
81
211
|
EuiInputGroupAddOnComponent,
|
82
|
-
EuiInputGroupAddOnItemComponent],
|
212
|
+
EuiInputGroupAddOnItemComponent], exports: [EuiInputGroupComponent,
|
83
213
|
EuiInputGroupAddOnComponent,
|
84
214
|
EuiInputGroupAddOnItemComponent] }); }
|
85
215
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: EuiInputGroupModule, imports: [CommonModule] }); }
|
@@ -87,8 +217,8 @@ class EuiInputGroupModule {
|
|
87
217
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: EuiInputGroupModule, decorators: [{
|
88
218
|
type: NgModule,
|
89
219
|
args: [{
|
90
|
-
imports: [
|
91
|
-
|
220
|
+
imports: [
|
221
|
+
CommonModule,
|
92
222
|
EuiInputGroupComponent,
|
93
223
|
EuiInputGroupAddOnComponent,
|
94
224
|
EuiInputGroupAddOnItemComponent,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"eui-components-eui-input-group.mjs","sources":["../../eui-input-group/eui-input-group.component.ts","../../eui-input-group/eui-input-group-addon.component.ts","../../eui-input-group/eui-input-group-addon-item.component.ts","../../eui-input-group/eui-input-group.module.ts","../../eui-input-group/eui-components-eui-input-group.ts"],"sourcesContent":["import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'div[euiInputGroup]',\n styleUrls: ['./styles/_index.scss'],\n template: '<ng-content/>',\n standalone:
|
1
|
+
{"version":3,"file":"eui-components-eui-input-group.mjs","sources":["../../eui-input-group/eui-input-group.component.ts","../../eui-input-group/eui-input-group-addon.component.ts","../../eui-input-group/eui-input-group-addon-item.component.ts","../../eui-input-group/eui-input-group.module.ts","../../eui-input-group/eui-components-eui-input-group.ts"],"sourcesContent":["import { Component, HostBinding, Input } from '@angular/core';\n\n/**\n * @description\n * A component that serves as the main container for input group elements.\n * Can only be used as an attribute selector on a div element.\n *\n * @example\n * ```html\n * <div euiInputGroup>\n * <eui-input-group-addon>\n * <eui-input-group-addon-item>Prefix</eui-input-group-addon-item>\n * </eui-input-group-addon>\n * <input type=\"text\">\n * <eui-input-group-addon>\n * <eui-input-group-addon-item>Suffix</eui-input-group-addon-item>\n * </eui-input-group-addon>\n * </div>\n * ```\n *\n * @selector div[euiInputGroup]\n * @standalone false\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'div[euiInputGroup]',\n styleUrls: ['./styles/_index.scss'],\n template: '<ng-content/>',\n standalone: true,\n})\nexport class EuiInputGroupComponent {\n /**\n * @description\n * Input property for setting the data-e2e attribute value.\n * Used for end-to-end testing purposes.\n *\n * @default 'eui-input-group'\n */\n @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-input-group';\n /**\n * @description\n * Getter that returns the CSS class for the component.\n * Bound to the host element's class attribute.\n *\n * @returns {string} The CSS class name\n */\n @HostBinding('class')\n public get cssClasses(): string {\n return 'eui-input-group';\n }\n\n /**\n * @description\n * Protected property that defines the type of the input group.\n * Bound to the host element's type attribute.\n *\n * @protected\n * @default 'inputGroup'\n */\n @HostBinding('attr.type') protected type = 'inputGroup';\n}\n","import { Component, HostBinding, Input } from '@angular/core';\n\n/**\n * @description\n * A component that serves as a container for input group add-on items.\n * Can be used either as an attribute selector on a div or as a custom element.\n *\n * @example\n * As an attribute\n * ```html\n * <div euiInputGroupAddOn>\n * <div euiInputGroupAddOnItem>Item 1</div>\n * <div euiInputGroupAddOnItem>Item 2</div>\n * </div>\n * ```\n *\n * As an element\n * ```html\n * <eui-input-group-addon>\n * <eui-input-group-addon-item>Item 1</eui-input-group-addon-item>\n * <eui-input-group-addon-item>Item 2</eui-input-group-addon-item>\n * </eui-input-group-addon>\n * ```\n *\n * @selector div[euiInputGroupAddOn], eui-input-group-addon\n * @standalone false\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'div[euiInputGroupAddOn], eui-input-group-addon',\n styleUrls: ['./styles/eui-input-group-addon.scss'],\n template: '<ng-content></ng-content>',\n standalone: true,\n})\nexport class EuiInputGroupAddOnComponent {\n /**\n * @description\n * Input property for setting the data-e2e attribute value.\n * Used for end-to-end testing purposes.\n *\n * @default 'eui-input-group-addon'\n */\n @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-input-group-addon';/**\n * @description\n * Getter that returns the CSS class for the component.\n * Bound to the host element's class attribute.\n *\n * @returns {string} The CSS class name\n */\n @HostBinding('class')\n public get cssClasses(): string {\n return 'eui-input-group-addon';\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\n\n/**\n * @description\n * A component that represents an individual item within an input group add-on.\n * Can be used either as an attribute selector on a div or as a custom element.\n *\n * @example\n * As an attribute\n * ```html\n * <div euiInputGroupAddOnItem>Content</div>\n * ```\n *\n * As an element\n * ```html\n * <eui-input-group-addon-item>Content</eui-input-group-addon-item>\n * ```\n *\n * @selector div[euiInputGroupAddOnItem], eui-input-group-addon-item\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'div[euiInputGroupAddOnItem], eui-input-group-addon-item',\n styleUrls: ['./styles/eui-input-group-addon-item.scss'],\n template: '<ng-content></ng-content>',\n standalone: true,\n})\nexport class EuiInputGroupAddOnItemComponent {\n /**\n * @description\n * Input property for setting the data-e2e attribute value.\n * Used for end-to-end testing purposes.\n *\n * @default 'eui-input-group-addon-item'\n */\n @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-input-group-addon-item';\n /**\n * @description\n * Getter that returns the CSS class for the component.\n * Bound to the host element's class attribute.\n *\n * @returns {string} The CSS class name\n */\n @HostBinding('class')\n public get cssClasses(): string {\n return 'eui-input-group-addon-item';\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EuiInputGroupComponent } from './eui-input-group.component';\nimport { EuiInputGroupAddOnComponent } from './eui-input-group-addon.component';\nimport { EuiInputGroupAddOnItemComponent } from './eui-input-group-addon-item.component';\n\n/**\n * @description\n * Angular module that provides input group components for the EUI framework.\n * Includes the main input group component and its add-on components.\n *\n * @example\n * // In your app.module.ts or feature module:\n * import { EuiInputGroupModule } from '@eui/input-group';\n *\n * @NgModule({\n * imports: [\n * EuiInputGroupModule\n * ]\n * })\n * export class YourModule { }\n */\n@NgModule({\n imports: [\n CommonModule,\n EuiInputGroupComponent,\n EuiInputGroupAddOnComponent,\n EuiInputGroupAddOnItemComponent,\n ],\n exports: [\n EuiInputGroupComponent,\n EuiInputGroupAddOnComponent,\n EuiInputGroupAddOnItemComponent,\n ],\n})\nexport class EuiInputGroupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
|
-
import { LOCALE_ID, PLATFORM_ID,
|
2
|
+
import { LOCALE_ID, PLATFORM_ID, booleanAttribute, numberAttribute, HostListener, Input, HostBinding, Optional, Inject, Component, forwardRef, Directive, NgModule } from '@angular/core';
|
3
3
|
import { coerceNumberProperty, coerceBooleanProperty } from '@angular/cdk/coercion';
|
4
4
|
import Cleave from 'cleave.js';
|
5
5
|
import { InputDirective } from '@eui/components/shared';
|
@@ -9,12 +9,60 @@ import { EuiClearableDirective, EuiLoadingDirective } from '@eui/components/dire
|
|
9
9
|
import { NgControl, NG_VALUE_ACCESSOR } from '@angular/forms';
|
10
10
|
import * as i1 from '@eui/core';
|
11
11
|
|
12
|
+
/**
|
13
|
+
* Get the decimal separator based on the locale
|
14
|
+
*
|
15
|
+
* @param locale value of the locale based on ISO 639-1
|
16
|
+
*/
|
12
17
|
function getDecimal(locale) {
|
13
18
|
return new Intl.NumberFormat(locale).format(1.1).charAt(1);
|
14
19
|
}
|
20
|
+
/**
|
21
|
+
* Get the group separator based on the locale
|
22
|
+
*
|
23
|
+
* @param locale value of the locale based on ISO 639-1
|
24
|
+
*/
|
15
25
|
function getGroup(locale) {
|
16
26
|
return new Intl.NumberFormat(locale).format(1000).charAt(1);
|
17
27
|
}
|
28
|
+
/**
|
29
|
+
* Input number component that allows the user to enter a number. It supports number
|
30
|
+
* formatting and validation. It uses Cleave.js to format the number. It depends on
|
31
|
+
* the {@link LocaleService} to get the current locale and format the number accordingly.
|
32
|
+
*
|
33
|
+
* It supports the following attributes:
|
34
|
+
* - {@link min}: The minimum number can be entered. Blocks user's input if not in range.
|
35
|
+
* - {@link max}: The maximum number can be entered. Blocks user's input if not in range.
|
36
|
+
* - {@link leadingZero}: Adds leading zero to a number. Formatting will not work.
|
37
|
+
* - {@link isInvalid}: Sets the invalid state of the input element.
|
38
|
+
* - {@link fractionDigits}: Determines how many digits to show after the decimal point.
|
39
|
+
* - {@link digits}: Determines how many digits to show before the decimal point.
|
40
|
+
* - {@link fillFraction}: Fills the decimal part with zeros in case it's less than the fractionDigits.
|
41
|
+
* - {@link roundUp}: Rounds a number with more than two decimals UP.
|
42
|
+
* - {@link noFormat}: Disables the number formatting. It will be treated as a plain number.
|
43
|
+
* - {@link value}: The value of the input element.
|
44
|
+
* - {@link placeholder}: The placeholder value of the input element.
|
45
|
+
* - {@link euiClearable}: Adds a clear button to the input element.
|
46
|
+
* - {@link euiLoading}: Adds a loading spinner to the input element.
|
47
|
+
* - {@link readonly}: Disables the input element.
|
48
|
+
* - {@link disabled}: Disables the input element.
|
49
|
+
* - {@link euiDanger}: Sets the invalid state of the input element.
|
50
|
+
* - {@link euiSuccess}: Sets the success state of the input element.
|
51
|
+
* - {@link euiWarning}: Sets the warning state of the input element.
|
52
|
+
* - {@link euiInfo}: Sets the info state of the input element.
|
53
|
+
* - {@link euiPrimary}: Sets the primary state of the input element.
|
54
|
+
* - {@link euiSecondary}: Sets the secondary state of the input element.
|
55
|
+
*
|
56
|
+
* @example
|
57
|
+
* ```html
|
58
|
+
* <input euiInputNumber
|
59
|
+
* min="0"
|
60
|
+
* max="100"
|
61
|
+
* leadingZero="3"
|
62
|
+
* value="100.00"
|
63
|
+
* placeholder="100.00" />
|
64
|
+
* ```
|
65
|
+
*/
|
18
66
|
class EuiInputNumberComponent extends InputDirective {
|
19
67
|
get isInvalid() {
|
20
68
|
return this._isInvalid || null;
|
@@ -22,10 +70,16 @@ class EuiInputNumberComponent extends InputDirective {
|
|
22
70
|
set isInvalid(state) {
|
23
71
|
this.setInvalid(state);
|
24
72
|
}
|
73
|
+
/**
|
74
|
+
* CSS classes to be added to the host element.
|
75
|
+
*/
|
25
76
|
get cssClasses() {
|
26
77
|
return [super.getCssClasses('eui-input-number'), this._isInvalid ? 'eui-input-number--invalid' : ''].join(' ').trim();
|
27
78
|
}
|
28
|
-
/**
|
79
|
+
/**
|
80
|
+
* determines how many digits to show after the decimal point
|
81
|
+
*/
|
82
|
+
// TODO: transform to signal attribute
|
29
83
|
get fractionDigits() {
|
30
84
|
return this._fractionDigits;
|
31
85
|
}
|
@@ -40,9 +94,11 @@ class EuiInputNumberComponent extends InputDirective {
|
|
40
94
|
this.locale_id = locale_id;
|
41
95
|
this.document = document;
|
42
96
|
this.platformId = platformId;
|
43
|
-
/**
|
97
|
+
/**
|
98
|
+
* Adds leading zero to a number. Formatting will not work.
|
44
99
|
* e.g. with leadingZero=3 input number 5 => 005
|
45
100
|
*/
|
101
|
+
// TODO: transform to signal attribute
|
46
102
|
this.leadingZero = 0;
|
47
103
|
this.type = 'eui-number';
|
48
104
|
this._fractionDigits = 0;
|
@@ -233,6 +289,12 @@ class EuiInputNumberComponent extends InputDirective {
|
|
233
289
|
this.cleaveInstance.setRawValue(this.max.toString());
|
234
290
|
}
|
235
291
|
}
|
292
|
+
/**
|
293
|
+
* @Override setInvalid setInvalidAttribute of InputDirective
|
294
|
+
* Sets the invalid state of the input element.
|
295
|
+
*
|
296
|
+
* @param state
|
297
|
+
*/
|
236
298
|
setInvalid(state) {
|
237
299
|
// in case it's controlled by NgControl override
|
238
300
|
this._isInvalid = this.control ? this.control.invalid && this.control.touched : coerceBooleanProperty(state);
|
@@ -266,7 +328,6 @@ class EuiInputNumberComponent extends InputDirective {
|
|
266
328
|
/**
|
267
329
|
* instantiate Cleave.js
|
268
330
|
*/
|
269
|
-
// eslint-disable-next-line
|
270
331
|
initCleave(onChangeCallback) {
|
271
332
|
if (isPlatformServer(this.platformId)) {
|
272
333
|
// in case it's not a browser environment
|
@@ -509,18 +570,16 @@ class EuiInputNumberComponent extends InputDirective {
|
|
509
570
|
* Checks whether a value is defined or not
|
510
571
|
*
|
511
572
|
* @param value
|
512
|
-
* @private
|
513
573
|
*/
|
514
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
515
574
|
isDefined(value) {
|
516
575
|
return value !== undefined && value !== null;
|
517
576
|
}
|
518
577
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: EuiInputNumberComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.LocaleService, optional: true }, { token: LOCALE_ID }, { token: i0.Injector }, { token: DOCUMENT }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component }); }
|
519
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.0.5", type: EuiInputNumberComponent, isStandalone:
|
578
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.0.5", type: EuiInputNumberComponent, isStandalone: true, selector: "input[euiInputNumber]", inputs: { min: ["min", "min", numberAttribute], max: ["max", "max", numberAttribute], leadingZero: ["leadingZero", "leadingZero", numberAttribute], isInvalid: "isInvalid", fractionDigits: "fractionDigits", digits: ["digits", "digits", numberAttribute], fillFraction: ["fillFraction", "fillFraction", booleanAttribute], roundUp: ["roundUp", "roundUp", numberAttribute], noFormat: ["noFormat", "noFormat", booleanAttribute], value: "value" }, host: { listeners: { "blur": "onTouched()", "paste": "onPaste($event)", "keydown": "onKeyDown($event)", "focusout": "onFocusout()" }, properties: { "class": "this.cssClasses", "attr.type": "this.type" } }, usesInheritance: true, usesOnChanges: true, hostDirectives: [{ directive: i2.EuiClearableDirective, inputs: ["euiClearable", "euiClearable", "readonly", "readonly", "disabled", "disabled"] }, { directive: i2.EuiLoadingDirective, inputs: ["euiLoading", "euiLoading", "readonly", "readonly"] }], ngImport: i0, template: '', isInline: true, styles: [".eui-19 :host.eui-input-number{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:var(--eui-f-m);appearance:none;background-color:var(--eui-c-white);border:1px solid var(--eui-c-neutral-lighter);border-radius:var(--eui-br-m);box-shadow:none;color:var(--eui-c-text);padding:calc(var(--eui-s-xs) - 1px) calc(var(--eui-s-m) - 1px);width:100%}.eui-19 :host.eui-input-number:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-19 :host.eui-input-number:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 :host.eui-input-number [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 :host.eui-input-number:not([hidden]){display:block}.eui-19 :host.eui-input-number::placeholder{color:var(--eui-c-neutral-lighter)!important;opacity:1}.eui-19 :host.eui-input-number[readonly]{background-color:transparent;border-color:transparent;box-shadow:none;height:inherit;padding-left:0;padding-right:0;pointer-events:none}.eui-19 :host.eui-input-number[readonly]+.eui-feedback-message,.eui-19 :host.eui-input-number[readonly]+.eui-input-maxlength{appearance:none;display:none}.eui-19 :host.eui-input-number[disabled]:not([readonly]),.eui-19 :host.eui-input-number--disabled:not([readonly]){background-color:var(--eui-c-neutral-bg-light)!important;border:1px solid var(--eui-c-neutral-lightest);color:var(--eui-c-neutral-light);pointer-events:none}.eui-19 :host.eui-input-number--invalid,.eui-19 :host.eui-input-number--danger{border:1px solid var(--eui-c-danger)}.eui-19 :host.eui-input-number--clearable{padding-right:var(--eui-s-2xl)}.eui-19 :host.eui-input-number--clearable-icon{cursor:pointer;position:absolute;right:var(--eui-s-s);-webkit-user-select:none;user-select:none;visibility:visible}.eui-19 :host.eui-input-number--clearable-icon:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-19 :host.eui-input-number--clearable-icon:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 :host.eui-input-number--clearable-icon [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 :host.eui-input-number--clearable-icon>svg{fill:var(--eui-c-neutral-lighter)}.eui-19 :host.eui-input-number--clearable-icon>svg:hover{fill:var(--eui-c-danger)}.eui-19 :host.eui-input-number--loading{padding-right:var(--eui-s-2xl)}.eui-19 :host.eui-input-number--loading-icon{align-items:center;display:flex}.eui-19 :host.eui-input-number--loading-icon:after,.eui-19 :host.eui-input-number--loading-icon:before{content:\"\";height:var(--eui-s-l);position:absolute;right:var(--eui-s-s);width:var(--eui-s-l)}.eui-19 :host.eui-input-number--loading-icon:before{border:var(--eui-s-2xs) solid rgba(0,0,0,.35);border-radius:100%}.eui-19 :host.eui-input-number--loading-icon:after{animation:loading .6s linear;animation-iteration-count:infinite;border-color:var(--eui-c-white) transparent transparent;border-radius:100%;border-style:solid;border-width:var(--eui-s-2xs);box-shadow:0 0 0 1px transparent}.eui-19 :host.eui-input-number--loading-icon--sm:after,.eui-19 :host.eui-input-number--loading-icon--sm:before{height:var(--eui-s-m);width:var(--eui-s-m)}@keyframes loading{to{transform:rotate(360deg)}}.eui-19 :host.eui-input-number[readonly]{pointer-events:auto}\n"] }); }
|
520
579
|
}
|
521
580
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: EuiInputNumberComponent, decorators: [{
|
522
581
|
type: Component,
|
523
|
-
args: [{ selector: 'input[euiInputNumber]', template: '', standalone:
|
582
|
+
args: [{ selector: 'input[euiInputNumber]', template: '', standalone: true, hostDirectives: [
|
524
583
|
{
|
525
584
|
directive: EuiClearableDirective,
|
526
585
|
inputs: ['euiClearable', 'readonly', 'disabled'],
|
@@ -587,6 +646,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
587
646
|
args: ['focusout']
|
588
647
|
}] } });
|
589
648
|
|
649
|
+
/**
|
650
|
+
* @description
|
651
|
+
* Directive for the {@link EuiInputNumberComponent}. This directive is used to
|
652
|
+
* handle the value changes of the input element and update the value of the
|
653
|
+
* directive and the form control. It also implements the ControlValueAccessor
|
654
|
+
* interface to allow the directive to be used with reactive forms.
|
655
|
+
*
|
656
|
+
* @example
|
657
|
+
* ```html
|
658
|
+
* <input euiInputNumber formControlName="number" />
|
659
|
+
* ```
|
660
|
+
*/
|
590
661
|
class EuiInputNumberDirective {
|
591
662
|
constructor(elementRef, euiNumberComponent, document, platformId) {
|
592
663
|
this.elementRef = elementRef;
|
@@ -636,12 +707,23 @@ class EuiInputNumberDirective {
|
|
636
707
|
registerOnTouched(fn) {
|
637
708
|
this.onTouched = fn;
|
638
709
|
}
|
710
|
+
/**
|
711
|
+
* Set the disabled state of the input element.
|
712
|
+
*
|
713
|
+
* @param isDisabled
|
714
|
+
*/
|
639
715
|
setDisabledState(isDisabled) {
|
640
716
|
this.euiNumberComponent.disabled = isDisabled;
|
641
717
|
}
|
642
718
|
onTouched() {
|
643
719
|
// this.euiNumberComponent.isInvalid = this.control.invalid;
|
644
720
|
}
|
721
|
+
/**
|
722
|
+
* Handle the value changes of the input element and update the value of the
|
723
|
+
* directive and the form control.
|
724
|
+
*
|
725
|
+
* @param event
|
726
|
+
*/
|
645
727
|
valueChanges(event) {
|
646
728
|
const { target } = event;
|
647
729
|
this.euiNumberComponent['onValueChanged'](event);
|
@@ -651,7 +733,7 @@ class EuiInputNumberDirective {
|
|
651
733
|
}
|
652
734
|
}
|
653
735
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: EuiInputNumberDirective, deps: [{ token: i0.ElementRef }, { token: EuiInputNumberComponent, optional: true }, { token: DOCUMENT }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Directive }); }
|
654
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.5", type: EuiInputNumberDirective, isStandalone:
|
736
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.5", type: EuiInputNumberDirective, isStandalone: true, selector: "input[euiInputNumber][formControl],input[euiInputNumber][formControlName],input[euiInputNumber][ngModel]", providers: [
|
655
737
|
{
|
656
738
|
provide: NG_VALUE_ACCESSOR,
|
657
739
|
useExisting: forwardRef(() => EuiInputNumberDirective),
|
@@ -670,7 +752,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
670
752
|
multi: true,
|
671
753
|
},
|
672
754
|
],
|
673
|
-
standalone:
|
755
|
+
standalone: true,
|
674
756
|
}]
|
675
757
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: EuiInputNumberComponent, decorators: [{
|
676
758
|
type: Optional
|
@@ -682,16 +764,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
682
764
|
args: [PLATFORM_ID]
|
683
765
|
}] }] });
|
684
766
|
|
767
|
+
/**
|
768
|
+
* @description
|
769
|
+
* Module for the {@link EuiInputNumberComponent} and {@link EuiInputNumberDirective}.
|
770
|
+
*
|
771
|
+
* @example
|
772
|
+
* ```typescript
|
773
|
+
* import { EuiInputNumberModule } from '@eui/components/eui-input-number';
|
774
|
+
*
|
775
|
+
* @NgModule({
|
776
|
+
* imports: [EuiInputNumberModule]
|
777
|
+
* })
|
778
|
+
* export class AppModule {}
|
779
|
+
* ```
|
780
|
+
* @deprecated Use {@link `EuiInputNumberComponent`} and or {@link `EuiInputNumberDirective`} instead.
|
781
|
+
*/
|
685
782
|
class EuiInputNumberModule {
|
686
783
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: EuiInputNumberModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
687
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.5", ngImport: i0, type: EuiInputNumberModule,
|
784
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.5", ngImport: i0, type: EuiInputNumberModule, imports: [CommonModule, EuiInputNumberComponent, EuiInputNumberDirective], exports: [EuiInputNumberComponent, EuiInputNumberDirective] }); }
|
688
785
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: EuiInputNumberModule, imports: [CommonModule] }); }
|
689
786
|
}
|
690
787
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: EuiInputNumberModule, decorators: [{
|
691
788
|
type: NgModule,
|
692
789
|
args: [{
|
693
|
-
imports: [CommonModule],
|
694
|
-
declarations: [EuiInputNumberComponent, EuiInputNumberDirective],
|
790
|
+
imports: [CommonModule, EuiInputNumberComponent, EuiInputNumberDirective],
|
695
791
|
exports: [EuiInputNumberComponent, EuiInputNumberDirective],
|
696
792
|
}]
|
697
793
|
}] });
|