@eui/components 18.2.10-snapshot-1741251940445 → 18.2.11-snapshot-1741271032186

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.
@@ -59,12 +59,20 @@ export class EuiInputNumberDirective {
59
59
  onTouched() {
60
60
  // this.euiNumberComponent.isInvalid = this.control.invalid;
61
61
  }
62
+ /**
63
+ * Handle the value changes of the input element and update the value of the
64
+ * directive and the form control. For large numbers, the value is a string.
65
+ *
66
+ * @param event
67
+ */
62
68
  valueChanges(event) {
63
69
  const { target } = event;
64
70
  this.euiNumberComponent['onValueChanged'](event);
65
- const numberCoerce = Number.parseFloat(target.rawValue);
71
+ // for large numbers, the value is a string
72
+ const length = target.rawValue.split('.')[0].length;
73
+ const numberCoerce = length > 15 ? target.rawValue : Number.parseFloat(target.rawValue);
66
74
  if (this.value !== numberCoerce && this.onChange) {
67
- this.onChange(isNaN(numberCoerce) ? null : numberCoerce);
75
+ this.onChange(length > 15 ? target.rawValue : (isNaN(numberCoerce) ? null : numberCoerce));
68
76
  }
69
77
  }
70
78
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EuiInputNumberDirective, deps: [{ token: i0.ElementRef }, { token: i1.EuiInputNumberComponent, optional: true }, { token: DOCUMENT }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Directive }); }
@@ -97,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
97
105
  type: Inject,
98
106
  args: [PLATFORM_ID]
99
107
  }] }] });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLW51bWJlci1jb250cm9sLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2V1aS1pbnB1dC1udW1iZXIvZXVpLW51bWJlci1jb250cm9sLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFVBQVUsRUFBRSxNQUFNLEVBQVUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxNQUFNLE1BQU0sV0FBVyxDQUFDO0FBQy9CLE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBWTdELE1BQU0sT0FBTyx1QkFBdUI7SUFPaEMsWUFDWSxVQUFzQixFQUNWLGtCQUEyQyxFQUNyQyxRQUFrQixFQUNmLFVBQW1CO1FBSHhDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDVix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQXlCO1FBQ3JDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDZixlQUFVLEdBQVYsVUFBVSxDQUFTO0lBQ2pELENBQUM7SUFFSixRQUFRO1FBQ0osSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELG1IQUFtSDtJQUNuSCw4REFBOEQ7SUFDOUQsVUFBVSxDQUFDLEdBQVE7UUFDZixJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3BDLE9BQU87UUFDWCxDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQW1CLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsR0FBRyxJQUFJ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RSxJQUFJO2FBQ2Q7U0FDSjs7NEZBRVEsdUJBQXVCO2tCQVZuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwwR0FBMEc7b0JBQ3BILFNBQVMsRUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx3QkFBd0IsQ0FBQzs0QkFDdEQsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7aUJBQ0o7OzBCQVVRLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBJbmplY3QsIE9uSW5pdCwgT3B0aW9uYWwsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDbGVhdmVJbnN0YW5jZSwgRXVpSW5wdXROdW1iZXJDb21wb25lbnQgfSBmcm9tICcuL2V1aS1pbnB1dC1udW1iZXIuY29tcG9uZW50JztcbmltcG9ydCBDbGVhdmUgZnJvbSAnY2xlYXZlLmpzJztcbmltcG9ydCB7IERPQ1VNRU5ULCBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdpbnB1dFtldWlJbnB1dE51bWJlcl1bZm9ybUNvbnRyb2xdLGlucHV0W2V1aUlucHV0TnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W2V1aUlucHV0TnVtYmVyXVtuZ01vZGVsXScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRXVpSW5wdXROdW1iZXJEaXJlY3RpdmUpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpSW5wdXROdW1iZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0IHtcbiAgICAvKiogaG9sZCBhIGNvcHkgb2YgdGhlIHZhbHVlICovXG4gICAgcHJpdmF0ZSB2YWx1ZTogbnVtYmVyO1xuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByaXZhdGUgb25DaGFuZ2U6ICh0OiBhbnkpID0+IHZvaWQ7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGV1aU51bWJlckNvbXBvbmVudDogRXVpSW5wdXROdW1iZXJDb21wb25lbnQsXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgICAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IHVua25vd24sXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpTnVtYmVyQ29tcG9uZW50Wydpbml0Q2xlYXZlJ10odGhpcy52YWx1ZUNoYW5nZXMuYmluZCh0aGlzKSk7XG4gICAgfVxuXG4gICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAoaXNQbGF0Zm9ybVNlcnZlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2xlYXZlOiBDbGVhdmVJbnN0YW5jZSA9IG5ldyBDbGVhdmUodGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpLCB7IC4uLnRoaXMuZXVpTnVtYmVyQ29tcG9uZW50WydvcHRpb25zJ10gfSk7XG4gICAgICAgIGNsZWF2ZS5zZXRSYXdWYWx1ZShvYmopO1xuICAgICAgICBpZiAodGhpcy5ldWlOdW1iZXJDb21wb25lbnQuZmlsbEZyYWN0aW9uICYmIG9iaiAhPT0gJycgJiYgb2JqKSB7XG4gICAgICAgICAgICB0aGlzLmV1aU51bWJlckNvbXBvbmVudFsnYXBwbHlGcmFjdGlvbkZpbGwnXShvYmosIGNsZWF2ZSk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHZhbHVlT2ZFbGVtZW50OiBzdHJpbmc7XG4gICAgICAgIC8vIGZpbGwgbGVhZGluZyB6ZXJvXG4gICAgICAgIGlmICh0aGlzLmV1aU51bWJlckNvbXBvbmVudC5sZWFkaW5nWmVybykge1xuICAgICAgICAgICAgY29uc3Qgc2l6ZSA9XG4gICAgICAgICAgICAgICAgdGhpcy5ldWlOdW1iZXJDb21wb25lbnQubGVhZGluZ1plcm8gPiB0aGlzLmV1aU51bWJlckNvbXBvbmVudC5kaWdpdHMgJiYgdGhpcy5ldWlOdW1iZXJDb21wb25lbnQuZGlnaXRzID4gMFxuICAgICAgICAgICAgICAgICAgICA/IHRoaXMuZXVpTnVtYmVyQ29tcG9uZW50LmRpZ2l0c1xuICAgICAgICAgICAgICAgICAgICA6IHRoaXMuZXVpTnVtYmVyQ29tcG9uZW50LmxlYWRpbmdaZXJvO1xuICAgICAgICAgICAgdmFsdWVPZkVsZW1lbnQgPSB0aGlzLmV1aU51bWJlckNvbXBvbmVudFsncGFkWmVybyddKGNsZWF2ZS5nZXRGb3JtYXR0ZWRWYWx1ZSgpLCBzaXplKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhbHVlT2ZFbGVtZW50ID0gY2xlYXZlLmdldEZvcm1hdHRlZFZhbHVlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB2YWx1ZU9mRWxlbWVudDtcbiAgICAgICAgdGhpcy52YWx1ZSA9IE51bWJlci5wYXJzZUZsb2F0KGNsZWF2ZS5nZXRSYXdWYWx1ZSgpKTtcbiAgICAgICAgY2xlYXZlLmRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICAvLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9ICh0KTogdm9pZCA9PiB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdDtcbiAgICAgICAgICAgIGZuKHQpO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ldWlOdW1iZXJDb21wb25lbnQuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25Ub3VjaGVkKCk6IHZvaWQge1xuICAgICAgICAvLyB0aGlzLmV1aU51bWJlckNvbXBvbmVudC5pc0ludmFsaWQgPSB0aGlzLmNvbnRyb2wuaW52YWxpZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHZhbHVlQ2hhbmdlcyhldmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IHRhcmdldCB9ID0gZXZlbnQ7XG5cbiAgICAgICAgdGhpcy5ldWlOdW1iZXJDb21wb25lbnRbJ29uVmFsdWVDaGFuZ2VkJ10oZXZlbnQpO1xuICAgICAgICBjb25zdCBudW1iZXJDb2VyY2UgPSBOdW1iZXIucGFyc2VGbG9hdCh0YXJnZXQucmF3VmFsdWUpO1xuICAgICAgICBpZiAodGhpcy52YWx1ZSAhPT0gbnVtYmVyQ29lcmNlICYmIHRoaXMub25DaGFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UoaXNOYU4obnVtYmVyQ29lcmNlKSA/IG51bGwgOiBudW1iZXJDb2VyY2UpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLW51bWJlci1jb250cm9sLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2V1aS1pbnB1dC1udW1iZXIvZXVpLW51bWJlci1jb250cm9sLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFVBQVUsRUFBRSxNQUFNLEVBQVUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxNQUFNLE1BQU0sV0FBVyxDQUFDO0FBQy9CLE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBWTdELE1BQU0sT0FBTyx1QkFBdUI7SUFPaEMsWUFDWSxVQUFzQixFQUNWLGtCQUEyQyxFQUNyQyxRQUFrQixFQUNmLFVBQW1CO1FBSHhDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDVix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQXlCO1FBQ3JDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDZixlQUFVLEdBQVYsVUFBVSxDQUFTO0lBQ2pELENBQUM7SUFFSixRQUFRO1FBQ0osSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELG1IQUFtSDtJQUNuSCw4REFBOEQ7SUFDOUQsVUFBVSxDQUFDLEdBQVE7UUFDZixJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3BDLE9BQU87UUFDWCxDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQW1CLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsR0FBRyxJQUFJ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QUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUMvRixDQUFDO0lBQ0wsQ0FBQzsrR0FwRlEsdUJBQXVCLG1HQVVwQixRQUFRLGFBQ1IsV0FBVzttR0FYZCx1QkFBdUIsbUlBUnJCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztnQkFDdEQsS0FBSyxFQUFFLElBQUk7YUFDZDtTQUNKOzs0RkFFUSx1QkFBdUI7a0JBVm5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDBHQUEwRztvQkFDcEgsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHdCQUF3QixDQUFDOzRCQUN0RCxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSjtpQkFDSjs7MEJBVVEsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxRQUFROzswQkFDZixNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIEluamVjdCwgT25Jbml0LCBPcHRpb25hbCwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENsZWF2ZUluc3RhbmNlLCBFdWlJbnB1dE51bWJlckNvbXBvbmVudCB9IGZyb20gJy4vZXVpLWlucHV0LW51bWJlci5jb21wb25lbnQnO1xuaW1wb3J0IENsZWF2ZSBmcm9tICdjbGVhdmUuanMnO1xuaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2lucHV0W2V1aUlucHV0TnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbZXVpSW5wdXROdW1iZXJdW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbZXVpSW5wdXROdW1iZXJdW25nTW9kZWxdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBFdWlJbnB1dE51bWJlckRpcmVjdGl2ZSksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBFdWlJbnB1dE51bWJlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQge1xuICAgIC8qKiBob2xkIGEgY29weSBvZiB0aGUgdmFsdWUgKi9cbiAgICBwcml2YXRlIHZhbHVlOiBudW1iZXI7XG4gICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJpdmF0ZSBvbkNoYW5nZTogKHQ6IGFueSkgPT4gdm9pZDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgZXVpTnVtYmVyQ29tcG9uZW50OiBFdWlJbnB1dE51bWJlckNvbXBvbmVudCxcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICAgICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogdW5rbm93bixcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ldWlOdW1iZXJDb21wb25lbnRbJ2luaXRDbGVhdmUnXSh0aGlzLnZhbHVlQ2hhbmdlcy5iaW5kKHRoaXMpKTtcbiAgICB9XG5cbiAgICAvLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XG4gICAgICAgIGlmIChpc1BsYXRmb3JtU2VydmVyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjbGVhdmU6IENsZWF2ZUluc3RhbmNlID0gbmV3IENsZWF2ZSh0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0JyksIHsgLi4udGhpcy5ldWlOdW1iZXJDb21wb25lbnRbJ29wdGlvbnMnXSB9KTtcbiAgICAgICAgY2xlYXZlLnNldFJhd1ZhbHVlKG9iaik7XG4gICAgICAgIGlmICh0aGlzLmV1aU51bWJlckNvbXBvbmVudC5maWxsRnJhY3Rpb24gJiYgb2JqICE9PSAnJyAmJiBvYmopIHtcbiAgICAgICAgICAgIHRoaXMuZXVpTnVtYmVyQ29tcG9uZW50WydhcHBseUZyYWN0aW9uRmlsbCddKG9iaiwgY2xlYXZlKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgdmFsdWVPZkVsZW1lbnQ6IHN0cmluZztcbiAgICAgICAgLy8gZmlsbCBsZWFkaW5nIHplcm9cbiAgICAgICAgaWYgKHRoaXMuZXVpTnVtYmVyQ29tcG9uZW50LmxlYWRpbmdaZXJvKSB7XG4gICAgICAgICAgICBjb25zdCBzaXplID1cbiAgICAgICAgICAgICAgICB0aGlzLmV1aU51bWJlckNvbXBvbmVudC5sZWFkaW5nWmVybyA+IHRoaXMuZXVpTnVtYmVyQ29tcG9uZW50LmRpZ2l0cyAmJiB0aGlzLmV1aU51bWJlckNvbXBvbmVudC5kaWdpdHMgPiAwXG4gICAgICAgICAgICAgICAgICAgID8gdGhpcy5ldWlOdW1iZXJDb21wb25lbnQuZGlnaXRzXG4gICAgICAgICAgICAgICAgICAgIDogdGhpcy5ldWlOdW1iZXJDb21wb25lbnQubGVhZGluZ1plcm87XG4gICAgICAgICAgICB2YWx1ZU9mRWxlbWVudCA9IHRoaXMuZXVpTnVtYmVyQ29tcG9uZW50WydwYWRaZXJvJ10oY2xlYXZlLmdldEZvcm1hdHRlZFZhbHVlKCksIHNpemUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFsdWVPZkVsZW1lbnQgPSBjbGVhdmUuZ2V0Rm9ybWF0dGVkVmFsdWUoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9IHZhbHVlT2ZFbGVtZW50O1xuICAgICAgICB0aGlzLnZhbHVlID0gTnVtYmVyLnBhcnNlRmxvYXQoY2xlYXZlLmdldFJhd1ZhbHVlKCkpO1xuICAgICAgICBjbGVhdmUuZGVzdHJveSgpO1xuICAgIH1cblxuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gKHQpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0O1xuICAgICAgICAgICAgZm4odCk7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmV1aU51bWJlckNvbXBvbmVudC5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvblRvdWNoZWQoKTogdm9pZCB7XG4gICAgICAgIC8vIHRoaXMuZXVpTnVtYmVyQ29tcG9uZW50LmlzSW52YWxpZCA9IHRoaXMuY29udHJvbC5pbnZhbGlkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhhbmRsZSB0aGUgdmFsdWUgY2hhbmdlcyBvZiB0aGUgaW5wdXQgZWxlbWVudCBhbmQgdXBkYXRlIHRoZSB2YWx1ZSBvZiB0aGVcbiAgICAgKiBkaXJlY3RpdmUgYW5kIHRoZSBmb3JtIGNvbnRyb2wuIEZvciBsYXJnZSBudW1iZXJzLCB0aGUgdmFsdWUgaXMgYSBzdHJpbmcuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZXZlbnRcbiAgICAgKi9cbiAgICBwcml2YXRlIHZhbHVlQ2hhbmdlcyhldmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IHRhcmdldCB9ID0gZXZlbnQ7XG5cbiAgICAgICAgdGhpcy5ldWlOdW1iZXJDb21wb25lbnRbJ29uVmFsdWVDaGFuZ2VkJ10oZXZlbnQpO1xuICAgICAgICAvLyBmb3IgbGFyZ2UgbnVtYmVycywgdGhlIHZhbHVlIGlzIGEgc3RyaW5nXG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IHRhcmdldC5yYXdWYWx1ZS5zcGxpdCgnLicpWzBdLmxlbmd0aFxuICAgICAgICBjb25zdCBudW1iZXJDb2VyY2UgPSBsZW5ndGggPiAxNSA/IHRhcmdldC5yYXdWYWx1ZSA6IE51bWJlci5wYXJzZUZsb2F0KHRhcmdldC5yYXdWYWx1ZSk7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlICE9PSBudW1iZXJDb2VyY2UgJiYgdGhpcy5vbkNoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZShsZW5ndGggPiAxNSA/IHRhcmdldC5yYXdWYWx1ZSA6IChpc05hTihudW1iZXJDb2VyY2UpID8gbnVsbCA6IG51bWJlckNvZXJjZSkpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -1,4 +1,4 @@
1
- import { DoCheck, ElementRef, OnChanges, OnDestroy, OnInit, Renderer2, SimpleChanges, Injector } from '@angular/core';
1
+ import { DoCheck, ElementRef, Injector, OnChanges, OnDestroy, OnInit, Renderer2, SimpleChanges } from '@angular/core';
2
2
  import { LocaleService } from '@eui/core';
3
3
  import { BooleanInput, NumberInput } from '@angular/cdk/coercion';
4
4
  import Cleave from 'cleave.js';
@@ -120,6 +120,7 @@ export declare class EuiInputNumberComponent extends InputDirective implements O
120
120
  *
121
121
  * @param value The formatted number you want to parse e.g. 111,888.22
122
122
  * @param userPrevLocaleState Use previous locale state to parse the value. By default, is false
123
+ * @param replaceSymbol Replace the decimal symbol with a dot. By default, is false
123
124
  * @private
124
125
  */
125
126
  private parseNumber;
@@ -148,7 +149,7 @@ export declare class EuiInputNumberComponent extends InputDirective implements O
148
149
  /**
149
150
  * Decimal adjustment of a number.
150
151
  *
151
- * @param value The number.
152
+ * @param value The number or string representation of a number.
152
153
  * @param exp The exponent (the 10 logarithm of the adjustment base).
153
154
  * @returns The adjusted value.
154
155
  */
@@ -160,6 +161,21 @@ export declare class EuiInputNumberComponent extends InputDirective implements O
160
161
  * @private
161
162
  */
162
163
  private isDefined;
164
+ /**
165
+ * Check if the value is a valid number. Take into account the Big numbers
166
+ * more than 16 digits. Check if string contains only digits and dots.
167
+ * The number value must not be formatted.
168
+ * @param value the value to check
169
+ * @private
170
+ */
171
+ private isItaNumber;
172
+ /**
173
+ * Parse the value to a number. For large numbers, the value is a string.
174
+ * The number value must not be formatted.
175
+ * @param value the value to parse
176
+ * @private
177
+ */
178
+ private parseBigNumber;
163
179
  static ɵfac: i0.ɵɵFactoryDeclaration<EuiInputNumberComponent, [null, null, { optional: true; }, null, null, null, null]>;
164
180
  static ɵcmp: i0.ɵɵComponentDeclaration<EuiInputNumberComponent, "input[euiInputNumber]", never, { "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "leadingZero": { "alias": "leadingZero"; "required": false; }; "isInvalid": { "alias": "isInvalid"; "required": false; }; "fractionDigits": { "alias": "fractionDigits"; "required": false; }; "digits": { "alias": "digits"; "required": false; }; "fillFraction": { "alias": "fillFraction"; "required": false; }; "roundUp": { "alias": "roundUp"; "required": false; }; "noFormat": { "alias": "noFormat"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, {}, never, never, false, [{ directive: typeof i1.EuiClearableDirective; inputs: { "euiClearable": "euiClearable"; "readonly": "readonly"; "disabled": "disabled"; }; outputs: {}; }, { directive: typeof i1.EuiLoadingDirective; inputs: { "euiLoading": "euiLoading"; "readonly": "readonly"; }; outputs: {}; }]>;
165
181
  static ngAcceptInputType_min: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"eui-input-number.component.d.ts","sourceRoot":"","sources":["../../eui-input-number/eui-input-number.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-input-number.component.d.ts","sourceRoot":"","sources":["../../eui-input-number/eui-input-number.component.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,12 @@ export declare class EuiInputNumberDirective implements ControlValueAccessor, On
17
17
  registerOnTouched(fn: any): void;
18
18
  setDisabledState(isDisabled: boolean): void;
19
19
  private onTouched;
20
+ /**
21
+ * Handle the value changes of the input element and update the value of the
22
+ * directive and the form control. For large numbers, the value is a string.
23
+ *
24
+ * @param event
25
+ */
20
26
  private valueChanges;
21
27
  static ɵfac: i0.ɵɵFactoryDeclaration<EuiInputNumberDirective, [null, { optional: true; }, null, null]>;
22
28
  static ɵdir: i0.ɵɵDirectiveDeclaration<EuiInputNumberDirective, "input[euiInputNumber][formControl],input[euiInputNumber][formControlName],input[euiInputNumber][ngModel]", never, {}, {}, never, never, false, never>;
@@ -1 +1 @@
1
- {"version":3,"file":"eui-number-control.directive.d.ts","sourceRoot":"","sources":["../../eui-input-number/eui-number-control.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,UAAU,EAAsB,MAAM,EAAyB,MAAM,eAAe,CAAC;AACzG,OAAO,EAAE,oBAAoB,EAAqB,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAkB,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;;AAIvF,qBAUa,uBAAwB,YAAW,oBAAoB,EAAE,MAAM;IAQpE,OAAO,CAAC,UAAU;IACN,OAAO,CAAC,kBAAkB;IACpB,OAAO,CAAC,QAAQ;IACb,OAAO,CAAC,UAAU;IAV3C,+BAA+B;IAC/B,OAAO,CAAC,KAAK,CAAS;IAGtB,OAAO,CAAC,QAAQ,CAAmB;gBAGvB,UAAU,EAAE,UAAU,EACV,kBAAkB,EAAE,uBAAuB,EACrC,QAAQ,EAAE,QAAQ,EACf,UAAU,EAAE,OAAO;IAGpD,QAAQ,IAAI,IAAI;IAMhB,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IA2B1B,gBAAgB,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI;IAS/B,iBAAiB,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI;IAIhC,gBAAgB,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI;IAI3C,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,YAAY;yCApEX,uBAAuB;2CAAvB,uBAAuB;CA6EnC"}
1
+ {"version":3,"file":"eui-number-control.directive.d.ts","sourceRoot":"","sources":["../../eui-input-number/eui-number-control.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,UAAU,EAAsB,MAAM,EAAyB,MAAM,eAAe,CAAC;AACzG,OAAO,EAAE,oBAAoB,EAAqB,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAkB,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;;AAIvF,qBAUa,uBAAwB,YAAW,oBAAoB,EAAE,MAAM;IAQpE,OAAO,CAAC,UAAU;IACN,OAAO,CAAC,kBAAkB;IACpB,OAAO,CAAC,QAAQ;IACb,OAAO,CAAC,UAAU;IAV3C,+BAA+B;IAC/B,OAAO,CAAC,KAAK,CAAS;IAGtB,OAAO,CAAC,QAAQ,CAAmB;gBAGvB,UAAU,EAAE,UAAU,EACV,kBAAkB,EAAE,uBAAuB,EACrC,QAAQ,EAAE,QAAQ,EACf,UAAU,EAAE,OAAO;IAGpD,QAAQ,IAAI,IAAI;IAMhB,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IA2B1B,gBAAgB,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI;IAS/B,iBAAiB,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI;IAIhC,gBAAgB,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI;IAI3C,OAAO,CAAC,SAAS;IAIjB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;yCA1EX,uBAAuB;2CAAvB,uBAAuB;CAqFnC"}
@@ -131,8 +131,8 @@ class EuiInputNumberComponent extends InputDirective {
131
131
  if (Object.hasOwn(changes, 'roundUp')) {
132
132
  if (changes['roundUp'].currentValue > 0) {
133
133
  if (this.cleaveInstance) {
134
- let number = Number.parseFloat(this.cleaveInstance.getRawValue());
135
- number = this.decimalAdjust(number, this.roundUp * -1);
134
+ let number = this.parseNumber(this.cleaveInstance.getRawValue(), false, false);
135
+ number = this.decimalAdjust(number, this.roundUp);
136
136
  this.cleaveInstance.setRawValue(number.toString());
137
137
  }
138
138
  }
@@ -141,7 +141,7 @@ class EuiInputNumberComponent extends InputDirective {
141
141
  // parse number
142
142
  const number = this.parseNumber(changes['placeholder'].currentValue?.toString() || undefined);
143
143
  // set placeholder in case none is provided
144
- this.setPlaceholderAttribute(isNaN(number) ? changes['placeholder'].currentValue : number);
144
+ this.setPlaceholderAttribute(!this.isItaNumber(number.toString()) ? changes['placeholder'].currentValue : number);
145
145
  }
146
146
  }
147
147
  ngOnDestroy() {
@@ -160,19 +160,19 @@ class EuiInputNumberComponent extends InputDirective {
160
160
  // create a clone of cleaveInstance
161
161
  const cloneInstance = new Cleave(div, { ...this.options, numeralDecimalScale: 8 });
162
162
  cloneInstance.setRawValue(value.toString());
163
- let number = Number.parseFloat(cloneInstance.getRawValue());
164
- number = this.decimalAdjust(number, this.roundUp * -1);
165
- if (!Number.isNaN(number)) {
166
- this.cleaveInstance.setRawValue(number.toString());
163
+ let number = this.parseNumber(cloneInstance.getRawValue(), false, false);
164
+ number = this.decimalAdjust(number, this.roundUp);
165
+ if (this.isItaNumber(number.toString())) {
167
166
  // TODO: investigate in the future how can this be avoided
168
167
  setTimeout(() => {
168
+ this.cleaveInstance.setRawValue(number.toString());
169
169
  // this.writeValue(number.toString());
170
170
  }, 0);
171
171
  }
172
172
  }
173
173
  }
174
174
  onKeyDown(e) {
175
- // check if it's a single symbol and not Special like (Ctrl, backspace etc)
175
+ // check if it's a single symbol and not Special like (Ctrl, backspace etc.)
176
176
  if (e?.key?.length <= 1 && !e.ctrlKey && !e.altKey && !e.metaKey) {
177
177
  // stop event propagation if key pressed is not a number or locale character or minus sign
178
178
  if (Number.isNaN(Number.parseInt(e.key, 10)) &&
@@ -219,8 +219,8 @@ class EuiInputNumberComponent extends InputDirective {
219
219
  }
220
220
  // in case round UP is enabled
221
221
  if (this.roundUp > 0) {
222
- const number = Number.parseFloat(this.cleaveInstance.getRawValue());
223
- this.cleaveInstance.setRawValue(this.decimalAdjust(number, this.roundUp * -1).toString());
222
+ const number = this.parseNumber(this.cleaveInstance.getRawValue(), false, false);
223
+ this.cleaveInstance.setRawValue(this.decimalAdjust(number, this.roundUp).toString());
224
224
  }
225
225
  // in case min is set and value is less than min reset to the min value
226
226
  if (this.min !== null && this.min !== undefined && Number.parseFloat(this.cleaveInstance.getRawValue()) < this.min) {
@@ -289,8 +289,8 @@ class EuiInputNumberComponent extends InputDirective {
289
289
  opts.onValueChanged = onChangeCallback || this.onValueChanged.bind(this);
290
290
  // in case round UP is enabled
291
291
  if (this.roundUp > 0) {
292
- const number = Number.parseFloat(this._elementRef.nativeElement.value);
293
- this._elementRef.nativeElement.value = this.decimalAdjust(number, this.roundUp * -1);
292
+ const number = this.parseNumber(this._elementRef.nativeElement.value);
293
+ this._elementRef.nativeElement.value = this.decimalAdjust(number, this.roundUp);
294
294
  }
295
295
  // create the Cleave instance with the new or updated options
296
296
  this.cleaveInstance = new Cleave(this._elementRef.nativeElement, opts);
@@ -331,7 +331,7 @@ class EuiInputNumberComponent extends InputDirective {
331
331
  if (this.fillFraction) {
332
332
  this.applyFractionFill(target.rawValue);
333
333
  }
334
- this.onChange(Number.parseFloat(target.rawValue));
334
+ this.onChange(this.parseNumber(target.rawValue, false, false));
335
335
  // fill leading zero
336
336
  if (this.leadingZero) {
337
337
  const size = this.leadingZero > this.digits && this.digits > 0 ? this.digits : this.leadingZero;
@@ -400,9 +400,10 @@ class EuiInputNumberComponent extends InputDirective {
400
400
  *
401
401
  * @param value The formatted number you want to parse e.g. 111,888.22
402
402
  * @param userPrevLocaleState Use previous locale state to parse the value. By default, is false
403
+ * @param replaceSymbol Replace the decimal symbol with a dot. By default, is false
403
404
  * @private
404
405
  */
405
- parseNumber(value, userPrevLocaleState = false) {
406
+ parseNumber(value, userPrevLocaleState = false, replaceSymbol = true) {
406
407
  // locale state
407
408
  const locale = userPrevLocaleState ? this.localeService?.previousLocale : this.localeService?.currentLocale || this.locale_id || 'en';
408
409
  // get decimal and group symbols
@@ -410,7 +411,7 @@ class EuiInputNumberComponent extends InputDirective {
410
411
  const groupSymbol = getLocaleNumberSymbol(locale, NumberSymbol.Group);
411
412
  // replace symbols to parse number
412
413
  const parsedNumber = value?.split(groupSymbol).join('').split(decimalSymbol).join('.');
413
- return Number.parseFloat(parsedNumber);
414
+ return this.parseBigNumber(replaceSymbol ? parsedNumber : value);
414
415
  }
415
416
  /**
416
417
  * Pad leading zero to the number
@@ -481,27 +482,85 @@ class EuiInputNumberComponent extends InputDirective {
481
482
  /**
482
483
  * Decimal adjustment of a number.
483
484
  *
484
- * @param value The number.
485
+ * @param value The number or string representation of a number.
485
486
  * @param exp The exponent (the 10 logarithm of the adjustment base).
486
487
  * @returns The adjusted value.
487
488
  */
488
489
  decimalAdjust(value, exp) {
489
- // If the exp is undefined or zero...
490
- if (typeof exp === 'undefined' || +exp === 0) {
491
- return Math.round(value);
492
- }
493
- value = +value;
494
- exp = +exp;
495
- // If the value is not a number or the exp is not an integer...
496
- if (isNaN(value) || !(typeof exp === 'number' && exp % 1 === 0)) {
497
- return NaN;
498
- }
499
- // Shift
500
- let cleaned = value.toString().split('e');
501
- value = Math.round(+(cleaned[0] + 'e' + (cleaned[1] ? +cleaned[1] - exp : -exp)));
502
- // Shift back
503
- cleaned = value.toString().split('e');
504
- return +(cleaned[0] + 'e' + (cleaned[1] ? +cleaned[1] + exp : exp));
490
+ // Ensure exp is a number
491
+ exp = +Number(exp);
492
+ // Convert input to string if it's a number
493
+ const valueStr = typeof value === 'number' ? value.toString() : String(value);
494
+ // Handle empty or invalid inputs
495
+ if (!valueStr || isNaN(Number(valueStr))) {
496
+ return '';
497
+ }
498
+ try {
499
+ // Check if the value is negative
500
+ const isNegative = valueStr.startsWith('-');
501
+ // Get the absolute value string
502
+ const absoluteValueStr = isNegative ? valueStr.substring(1) : valueStr;
503
+ // Split the number into integer and decimal parts
504
+ const parts = absoluteValueStr.split('.');
505
+ let integerPart = parts[0] || '0'; // Default to '0' if empty
506
+ let decimalPart = parts.length > 1 ? parts[1] : '';
507
+ // If there's no decimal part and exp > 0, we should add zeros
508
+ if (decimalPart === '' && exp > 0) {
509
+ decimalPart = '0'.repeat(exp);
510
+ }
511
+ // Pad decimal part with zeros if needed
512
+ if (decimalPart.length < exp) {
513
+ decimalPart = decimalPart.padEnd(exp, '0');
514
+ }
515
+ // Determine if we need to round up
516
+ let roundUp = false;
517
+ if (decimalPart.length > exp) {
518
+ const nextDigit = parseInt(decimalPart.charAt(exp), 10);
519
+ roundUp = nextDigit >= 5;
520
+ }
521
+ // Trim the decimal part to the required precision
522
+ decimalPart = decimalPart.substring(0, exp);
523
+ // Handle rounding
524
+ if (roundUp) {
525
+ if (exp === 0) {
526
+ // If exp is 0, we need to round the integer part
527
+ integerPart = (BigInt(integerPart) + 1n).toString();
528
+ }
529
+ else {
530
+ // Create a number from the decimal part
531
+ let decimalNum = parseInt(decimalPart, 10);
532
+ // Add 1 to the decimal part
533
+ decimalNum += 1;
534
+ // Check if we need to carry over to the integer part
535
+ if (decimalNum.toString().length > exp) {
536
+ integerPart = (BigInt(integerPart) + 1n).toString();
537
+ decimalNum = 0;
538
+ }
539
+ // Convert back to string and pad with leading zeros if needed
540
+ decimalPart = decimalNum.toString().padStart(exp, '0');
541
+ }
542
+ }
543
+ // Combine the parts
544
+ let result;
545
+ if (exp > 0) {
546
+ // Remove trailing zeros if they're not significant
547
+ let trimmedDecimalPart = decimalPart;
548
+ while (trimmedDecimalPart.length > 0 && trimmedDecimalPart.charAt(trimmedDecimalPart.length - 1) === '0') {
549
+ trimmedDecimalPart = trimmedDecimalPart.substring(0, trimmedDecimalPart.length - 1);
550
+ }
551
+ result = trimmedDecimalPart.length > 0 ? `${integerPart}.${trimmedDecimalPart}` : integerPart;
552
+ }
553
+ else {
554
+ result = integerPart;
555
+ }
556
+ // Restore the negative sign if needed
557
+ return isNegative ? '-' + result : result;
558
+ }
559
+ catch (error) {
560
+ console.error('Error in decimalAdjust:', error);
561
+ // If there's an error, return a formatted original value or '0'
562
+ return valueStr || '0';
563
+ }
505
564
  }
506
565
  /**
507
566
  * Checks whether a value is defined or not
@@ -513,6 +572,28 @@ class EuiInputNumberComponent extends InputDirective {
513
572
  isDefined(value) {
514
573
  return value !== undefined && value !== null;
515
574
  }
575
+ /**
576
+ * Check if the value is a valid number. Take into account the Big numbers
577
+ * more than 16 digits. Check if string contains only digits and dots.
578
+ * The number value must not be formatted.
579
+ * @param value the value to check
580
+ * @private
581
+ */
582
+ isItaNumber(value) {
583
+ const length = value?.split('.')[0].length;
584
+ return length > 15 ? /^\d+(\.\d+)?$/.test(value) : !isNaN(Number(value));
585
+ }
586
+ /**
587
+ * Parse the value to a number. For large numbers, the value is a string.
588
+ * The number value must not be formatted.
589
+ * @param value the value to parse
590
+ * @private
591
+ */
592
+ parseBigNumber(value) {
593
+ // for large numbers, the value is a string
594
+ const length = value?.split('.')[0].length;
595
+ return length > 15 ? value : Number.parseFloat(value);
596
+ }
516
597
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", 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 }); }
517
598
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.13", type: EuiInputNumberComponent, 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-18 .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-18 .eui-input-number:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-18 .eui-input-number:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-18 .eui-input-number [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-18 .eui-input-number:not([hidden]){display:block}.eui-18 .eui-input-number::placeholder{color:var(--eui-c-neutral-lighter)!important;opacity:1}.eui-18 .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-18 .eui-input-number[readonly]+.eui-feedback-message,.eui-18 .eui-input-number[readonly]+.eui-input-maxlength{appearance:none;display:none}.eui-18 .eui-input-number[disabled]:not([readonly]),.eui-18 .eui-input-number--disabled:not([readonly]){background-color:var(--eui-c-neutral-bg-light)!important;border:1px solid var(--eui-c-neutral-lightest)!important;color:var(--eui-c-neutral-light);pointer-events:none}.eui-18 .eui-input-number--invalid,.eui-18 .eui-input-number--danger{border:1px solid var(--eui-c-danger)}.eui-18 .eui-input-number--clearable{padding-right:var(--eui-s-2xl)}.eui-18 .eui-input-number--clearable-icon{cursor:pointer;position:absolute;right:var(--eui-s-s);-webkit-user-select:none;user-select:none;visibility:visible}.eui-18 .eui-input-number--clearable-icon:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-18 .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-18 .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-18 .eui-input-number--clearable-icon>svg{fill:var(--eui-c-neutral-lighter)}.eui-18 .eui-input-number--clearable-icon>svg:hover{fill:var(--eui-c-danger)}.eui-18 .eui-input-number--loading{padding-right:var(--eui-s-2xl)}.eui-18 .eui-input-number--loading-icon{align-items:center;display:flex}.eui-18 .eui-input-number--loading-icon:after,.eui-18 .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-18 .eui-input-number--loading-icon:before{border:var(--eui-s-2xs) solid rgba(0,0,0,.35);border-radius:100%}.eui-18 .eui-input-number--loading-icon:after{animation:eui-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-18 .eui-input-number--loading-icon--sm:after,.eui-18 .eui-input-number--loading-icon--sm:before{height:var(--eui-s-m);width:var(--eui-s-m)}@keyframes eui-loading{to{transform:rotate(360deg)}}.eui-18 .eui-input-number[readonly]{pointer-events:auto}\n"], encapsulation: i0.ViewEncapsulation.None }); }
518
599
  }
@@ -640,12 +721,20 @@ class EuiInputNumberDirective {
640
721
  onTouched() {
641
722
  // this.euiNumberComponent.isInvalid = this.control.invalid;
642
723
  }
724
+ /**
725
+ * Handle the value changes of the input element and update the value of the
726
+ * directive and the form control. For large numbers, the value is a string.
727
+ *
728
+ * @param event
729
+ */
643
730
  valueChanges(event) {
644
731
  const { target } = event;
645
732
  this.euiNumberComponent['onValueChanged'](event);
646
- const numberCoerce = Number.parseFloat(target.rawValue);
733
+ // for large numbers, the value is a string
734
+ const length = target.rawValue.split('.')[0].length;
735
+ const numberCoerce = length > 15 ? target.rawValue : Number.parseFloat(target.rawValue);
647
736
  if (this.value !== numberCoerce && this.onChange) {
648
- this.onChange(isNaN(numberCoerce) ? null : numberCoerce);
737
+ this.onChange(length > 15 ? target.rawValue : (isNaN(numberCoerce) ? null : numberCoerce));
649
738
  }
650
739
  }
651
740
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EuiInputNumberDirective, deps: [{ token: i0.ElementRef }, { token: EuiInputNumberComponent, optional: true }, { token: DOCUMENT }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Directive }); }