verben-ng-ui 1.2.30 → 1.2.31

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.
@@ -1,4 +1,4 @@
1
- import { Component, Input, Output, EventEmitter, forwardRef } from '@angular/core';
1
+ import { Component, Input, Output, EventEmitter, forwardRef, } from '@angular/core';
2
2
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
@@ -44,11 +44,21 @@ export class NumberInputComponent {
44
44
  onInput(event) {
45
45
  if (this.disabled)
46
46
  return;
47
- const inputValue = event.target.value;
48
- let newValue = Number(inputValue);
47
+ const input = event.target;
48
+ let newValue = Number(input.value);
49
+ // Clamp immediately
50
+ if (this.max !== undefined && newValue > this.max) {
51
+ newValue = this.max;
52
+ input.value = String(this.max); // visually correct it
53
+ }
54
+ else if (this.min !== undefined && newValue < this.min) {
55
+ newValue = this.min;
56
+ input.value = String(this.min);
57
+ }
58
+ // Assign & emit after correction
49
59
  this.value = newValue;
50
- this.validateValue();
51
- this.notifyValueChange();
60
+ this.errorMessage = ''; // clear existing errors since input is valid now
61
+ this.notifyValueChange(); // your method that emits this.valueChange
52
62
  }
53
63
  validateValue() {
54
64
  if (this.min !== undefined && this.value < this.min) {
@@ -83,11 +93,11 @@ export class NumberInputComponent {
83
93
  this.disabled = isDisabled; // ✅ Sync with external state
84
94
  }
85
95
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: NumberInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
86
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: NumberInputComponent, selector: "verben-number-input", inputs: { min: "min", max: "max", step: "step", value: "value", label: "label", controlButton: "controlButton", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, providers: [NUMBER_INPUT_VALUE_ACCESSOR], ngImport: i0, template: "<div\n class=\"input-container {{ inputContainerClass }}\"\n [ngStyle]=\"{\n 'display': 'flex',\n 'flex-direction': 'column'\n }\"\n>\n <div\n [ngStyle]=\"{\n 'width': '100%',\n 'display': 'flex',\n 'justify-content': 'space-between'\n }\"\n >\n <label [for]=\"label\">{{ label }}</label>\n </div>\n\n <input\n type=\"number\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [disabled]=\"disabled\" \n (blur)=\"validateValue()\"\n class=\"input-field verben-input {{ inputWrapperClass }}\"\n />\n</div>\n\n<p class=\"error-message\" *ngIf=\"errorMessage\">{{ errorMessage }}</p>\n", styles: ["*{font-family:sans-serif;font-size:.9rem}.w-100{width:100%}.h-100{height:100%}.flex{display:flex}.flex-col{flex-direction:column}.font-bold{font-weight:700}.justify-center{justify-content:center}.justify-end{justify-content:end}.align-items-center{align-items:center}.grid{display:grid}.verben-error-message{font-size:.8rem;color:red}.verben-input{border:1px solid #cbd5e1;outline:none;border-radius:5px;color:#334155;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,outline-color .2s}.verben-input::placeholder{color:#64748b}.verben-input:hover{border:1px solid #697e97}.verben-input.disabled{opacity:1;background-color:light-dark(rgba(239,239,239,.3),rgba(59,59,59,.3));pointer-events:none;color:#64748b}.verben-input:disabled{opacity:1;background-color:light-dark(rgba(239,239,239,.3),rgba(59,59,59,.3));pointer-events:none;color:#64748b}.verben-input.focused{border-color:#3b82f6;outline:none}.verben-input:focus{border-color:#3b82f6;outline:none}.verben-input.ng-invalid{border-color:red}.verben-button{padding:8px 15px;border-radius:4px;border:none;text-align:center}.verben-button.primary{background-color:#ffe681}.verben-button.secondary{background-color:#d9d9d940}.input-container{width:100%}.verben-input{width:100%;background-color:#f9f9f9;border-radius:5px;color:#333;font-size:14px;padding:8px}.number-input{display:flex;align-items:center;border:1px solid #ccc;border-radius:4px;overflow:hidden;width:max-content}.number-input button{background-color:#f0f0f0;border:none;padding:5px 10px;cursor:pointer;font-size:16px}.number-input input{width:50px;text-align:center;border:none;outline:none;font-size:16px}.number-input button:disabled{opacity:.5;cursor:not-allowed}.error-message{color:red;font-size:12px;margin-top:5px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
96
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: NumberInputComponent, selector: "verben-number-input", inputs: { min: "min", max: "max", step: "step", value: "value", label: "label", controlButton: "controlButton", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, providers: [NUMBER_INPUT_VALUE_ACCESSOR], ngImport: i0, template: "<div\n class=\"input-container {{ inputContainerClass }}\"\n [ngStyle]=\"{\n display: 'flex',\n 'flex-direction': 'column'\n }\"\n>\n <div\n [ngStyle]=\"{\n width: '100%',\n display: 'flex',\n 'justify-content': 'space-between'\n }\"\n >\n <label [for]=\"label\">{{ label }}</label>\n </div>\n\n <input\n type=\"number\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [disabled]=\"disabled\"\n (blur)=\"validateValue()\"\n class=\"input-field verben-input {{ inputWrapperClass }}\"\n />\n</div>\n\n<p class=\"error-message\" *ngIf=\"errorMessage\">{{ errorMessage }}</p>\n", styles: ["*{font-family:sans-serif;font-size:.9rem}.w-100{width:100%}.h-100{height:100%}.flex{display:flex}.flex-col{flex-direction:column}.font-bold{font-weight:700}.justify-center{justify-content:center}.justify-end{justify-content:end}.align-items-center{align-items:center}.grid{display:grid}.verben-error-message{font-size:.8rem;color:red}.verben-input{border:1px solid #cbd5e1;outline:none;border-radius:5px;color:#334155;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,outline-color .2s}.verben-input::placeholder{color:#64748b}.verben-input:hover{border:1px solid #697e97}.verben-input.disabled{opacity:1;background-color:light-dark(rgba(239,239,239,.3),rgba(59,59,59,.3));pointer-events:none;color:#64748b}.verben-input:disabled{opacity:1;background-color:light-dark(rgba(239,239,239,.3),rgba(59,59,59,.3));pointer-events:none;color:#64748b}.verben-input.focused{border-color:#3b82f6;outline:none}.verben-input:focus{border-color:#3b82f6;outline:none}.verben-input.ng-invalid{border-color:red}.verben-button{padding:8px 15px;border-radius:4px;border:none;text-align:center}.verben-button.primary{background-color:#ffe681}.verben-button.secondary{background-color:#d9d9d940}.input-container{width:100%}.verben-input{width:100%;background-color:#f9f9f9;border-radius:5px;color:#333;font-size:14px;padding:8px}.number-input{display:flex;align-items:center;border:1px solid #ccc;border-radius:4px;overflow:hidden;width:max-content}.number-input button{background-color:#f0f0f0;border:none;padding:5px 10px;cursor:pointer;font-size:16px}.number-input input{width:50px;text-align:center;border:none;outline:none;font-size:16px}.number-input button:disabled{opacity:.5;cursor:not-allowed}.error-message{color:red;font-size:12px;margin-top:5px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
87
97
  }
88
98
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: NumberInputComponent, decorators: [{
89
99
  type: Component,
90
- args: [{ selector: 'verben-number-input', providers: [NUMBER_INPUT_VALUE_ACCESSOR], template: "<div\n class=\"input-container {{ inputContainerClass }}\"\n [ngStyle]=\"{\n 'display': 'flex',\n 'flex-direction': 'column'\n }\"\n>\n <div\n [ngStyle]=\"{\n 'width': '100%',\n 'display': 'flex',\n 'justify-content': 'space-between'\n }\"\n >\n <label [for]=\"label\">{{ label }}</label>\n </div>\n\n <input\n type=\"number\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [disabled]=\"disabled\" \n (blur)=\"validateValue()\"\n class=\"input-field verben-input {{ inputWrapperClass }}\"\n />\n</div>\n\n<p class=\"error-message\" *ngIf=\"errorMessage\">{{ errorMessage }}</p>\n", styles: ["*{font-family:sans-serif;font-size:.9rem}.w-100{width:100%}.h-100{height:100%}.flex{display:flex}.flex-col{flex-direction:column}.font-bold{font-weight:700}.justify-center{justify-content:center}.justify-end{justify-content:end}.align-items-center{align-items:center}.grid{display:grid}.verben-error-message{font-size:.8rem;color:red}.verben-input{border:1px solid #cbd5e1;outline:none;border-radius:5px;color:#334155;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,outline-color .2s}.verben-input::placeholder{color:#64748b}.verben-input:hover{border:1px solid #697e97}.verben-input.disabled{opacity:1;background-color:light-dark(rgba(239,239,239,.3),rgba(59,59,59,.3));pointer-events:none;color:#64748b}.verben-input:disabled{opacity:1;background-color:light-dark(rgba(239,239,239,.3),rgba(59,59,59,.3));pointer-events:none;color:#64748b}.verben-input.focused{border-color:#3b82f6;outline:none}.verben-input:focus{border-color:#3b82f6;outline:none}.verben-input.ng-invalid{border-color:red}.verben-button{padding:8px 15px;border-radius:4px;border:none;text-align:center}.verben-button.primary{background-color:#ffe681}.verben-button.secondary{background-color:#d9d9d940}.input-container{width:100%}.verben-input{width:100%;background-color:#f9f9f9;border-radius:5px;color:#333;font-size:14px;padding:8px}.number-input{display:flex;align-items:center;border:1px solid #ccc;border-radius:4px;overflow:hidden;width:max-content}.number-input button{background-color:#f0f0f0;border:none;padding:5px 10px;cursor:pointer;font-size:16px}.number-input input{width:50px;text-align:center;border:none;outline:none;font-size:16px}.number-input button:disabled{opacity:.5;cursor:not-allowed}.error-message{color:red;font-size:12px;margin-top:5px}\n"] }]
100
+ args: [{ selector: 'verben-number-input', providers: [NUMBER_INPUT_VALUE_ACCESSOR], template: "<div\n class=\"input-container {{ inputContainerClass }}\"\n [ngStyle]=\"{\n display: 'flex',\n 'flex-direction': 'column'\n }\"\n>\n <div\n [ngStyle]=\"{\n width: '100%',\n display: 'flex',\n 'justify-content': 'space-between'\n }\"\n >\n <label [for]=\"label\">{{ label }}</label>\n </div>\n\n <input\n type=\"number\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [disabled]=\"disabled\"\n (blur)=\"validateValue()\"\n class=\"input-field verben-input {{ inputWrapperClass }}\"\n />\n</div>\n\n<p class=\"error-message\" *ngIf=\"errorMessage\">{{ errorMessage }}</p>\n", styles: ["*{font-family:sans-serif;font-size:.9rem}.w-100{width:100%}.h-100{height:100%}.flex{display:flex}.flex-col{flex-direction:column}.font-bold{font-weight:700}.justify-center{justify-content:center}.justify-end{justify-content:end}.align-items-center{align-items:center}.grid{display:grid}.verben-error-message{font-size:.8rem;color:red}.verben-input{border:1px solid #cbd5e1;outline:none;border-radius:5px;color:#334155;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,outline-color .2s}.verben-input::placeholder{color:#64748b}.verben-input:hover{border:1px solid #697e97}.verben-input.disabled{opacity:1;background-color:light-dark(rgba(239,239,239,.3),rgba(59,59,59,.3));pointer-events:none;color:#64748b}.verben-input:disabled{opacity:1;background-color:light-dark(rgba(239,239,239,.3),rgba(59,59,59,.3));pointer-events:none;color:#64748b}.verben-input.focused{border-color:#3b82f6;outline:none}.verben-input:focus{border-color:#3b82f6;outline:none}.verben-input.ng-invalid{border-color:red}.verben-button{padding:8px 15px;border-radius:4px;border:none;text-align:center}.verben-button.primary{background-color:#ffe681}.verben-button.secondary{background-color:#d9d9d940}.input-container{width:100%}.verben-input{width:100%;background-color:#f9f9f9;border-radius:5px;color:#333;font-size:14px;padding:8px}.number-input{display:flex;align-items:center;border:1px solid #ccc;border-radius:4px;overflow:hidden;width:max-content}.number-input button{background-color:#f0f0f0;border:none;padding:5px 10px;cursor:pointer;font-size:16px}.number-input input{width:50px;text-align:center;border:none;outline:none;font-size:16px}.number-input button:disabled{opacity:.5;cursor:not-allowed}.error-message{color:red;font-size:12px;margin-top:5px}\n"] }]
91
101
  }], propDecorators: { min: [{
92
102
  type: Input
93
103
  }], max: [{
@@ -105,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImpo
105
115
  }], valueChange: [{
106
116
  type: Output
107
117
  }] } });
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1uZy11aS9zcmMvbGliL2NvbXBvbmVudHMvbnVtYmVyLWlucHV0L251bWJlci1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tbmctdWkvc3JjL2xpYi9jb21wb25lbnRzL251bWJlci1pbnB1dC9udW1iZXItaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixVQUFVLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLGlCQUFpQixFQUNsQixNQUFNLGdCQUFnQixDQUFDOzs7QUFFeEIsTUFBTSwyQkFBMkIsR0FBRztJQUNsQyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7SUFDbkQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBUUYsTUFBTSxPQUFPLG9CQUFvQjtJQUN0QixHQUFHLENBQVU7SUFDYixHQUFHLENBQVU7SUFDYixJQUFJLEdBQVcsQ0FBQyxDQUFDO0lBQ2pCLEtBQUssR0FBVyxDQUFDLENBQUM7SUFDbEIsS0FBSyxHQUFZLEVBQUUsQ0FBQztJQUNwQixhQUFhLEdBQVksS0FBSyxDQUFDO0lBQy9CLFFBQVEsR0FBWSxLQUFLLENBQUMsQ0FBQyxjQUFjO0lBRXhDLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRTNDLFFBQVEsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBQ2pDLFNBQVMsR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFFN0IsWUFBWSxHQUFX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QyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBYztRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsZ0JBQWdCLENBQUUsVUFBbUI7UUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUMsQ0FBQyw2QkFBNkI7SUFDM0QsQ0FBQzt3R0FsRlUsb0JBQW9COzRGQUFwQixvQkFBb0IsK05BRnBCLENBQUMsMkJBQTJCLENBQUMsMEJDdEIxQyw2ckJBK0JBOzs0RkRQYSxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0UscUJBQXFCLGFBR3BCLENBQUMsMkJBQTJCLENBQUM7OEJBRy9CLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBOR19WQUxVRV9BQ0NFU1NPUlxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmNvbnN0IE5VTUJFUl9JTlBVVF9WQUxVRV9BQ0NFU1NPUiA9IHtcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE51bWJlcklucHV0Q29tcG9uZW50KSxcbiAgbXVsdGk6IHRydWUsXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZXJiZW4tbnVtYmVyLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL251bWJlci1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL251bWJlci1pbnB1dC5jb21wb25lbnQuY3NzJ10sXG4gIHByb3ZpZGVyczogW05VTUJFUl9JTlBVVF9WQUxVRV9BQ0NFU1NPUl0sXG59KVxuZXhwb3J0IGNsYXNzIE51bWJlcklucHV0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoKSBtaW4/OiBudW1iZXI7XG4gIEBJbnB1dCgpIG1heD86IG51bWJlcjtcbiAgQElucHV0KCkgc3RlcDogbnVtYmVyID0gMTtcbiAgQElucHV0KCkgdmFsdWU6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIGxhYmVsPzogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGNvbnRyb2xCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTsgLy8g4pyFIE5ldyBpbnB1dFxuXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIHByaXZhdGUgb25DaGFuZ2UgPSAodmFsdWU6IG51bWJlcikgPT4ge307XG4gIHByaXZhdGUgb25Ub3VjaGVkID0gKCkgPT4ge307XG5cbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmcgPSAnJztcbiAgaW5wdXRDb250YWluZXJDbGFzczogYW55O1xuICBpbnB1dFdyYXBwZXJDbGFzczogYW55O1xuXG4gIGluY3JlYXNlKCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47IC8vIOKchSBSZXNwZWN0IGRpc2FibGVkIHN0YXRlXG4gICAgaWYgKHRoaXMubWF4ID09PSB1bmRlZmluZWQgfHwgdGhpcy52YWx1ZSArIHRoaXMuc3RlcCA8PSB0aGlzLm1heCkge1xuICAgICAgdGhpcy52YWx1ZSArPSB0aGlzLnN0ZXA7XG4gICAgICB0aGlzLnZhbGlkYXRlVmFsdWUoKTtcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICAgIHRoaXMubm90aWZ5VmFsdWVDaGFuZ2UoKTtcbiAgICB9XG4gIH1cblxuICBkZWNyZWFzZSgpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuOyBcbiAgICBpZiAodGhpcy5taW4gPT09IHVuZGVmaW5lZCB8fCB0aGlzLnZhbHVlIC0gdGhpcy5zdGVwID49IHRoaXMubWluKSB7XG4gICAgICB0aGlzLnZhbHVlIC09IHRoaXMuc3RlcDtcbiAgICAgIHRoaXMudmFsaWRhdGVWYWx1ZSgpO1xuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgICAgdGhpcy5ub3RpZnlWYWx1ZUNoYW5nZSgpO1xuICAgIH1cbiAgfVxuXG4gIG9uSW5wdXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjsgXG4gICAgY29uc3QgaW5wdXRWYWx1ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XG4gICAgbGV0IG5ld1ZhbHVlID0gTnVtYmVyKGlucHV0VmFsdWUpO1xuICAgIHRoaXMudmFsdWUgPSBuZXdWYWx1ZTtcbiAgICB0aGlzLnZhbGlkYXRlVmFsdWUoKTtcbiAgICB0aGlzLm5vdGlmeVZhbHVlQ2hhbmdlKCk7XG4gIH1cblxuICB2YWxpZGF0ZVZhbHVlKCkge1xuICAgIGlmICh0aGlzLm1pbiAhPT0gdW5kZWZpbmVkICYmIHRoaXMudmFsdWUgPCB0aGlzLm1pbikge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMubWluO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBgVmFsdWUgbXVzdCBiZSBhdCBsZWFzdCAke3RoaXMubWlufWA7XG4gICAgfSBlbHNlIGlmICh0aGlzLm1heCAhPT0gdW5kZWZpbmVkICYmIHRoaXMudmFsdWUgPiB0aGlzLm1heCkge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMubWF4O1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBgVmFsdWUgY2Fubm90IGV4Y2VlZCAke3RoaXMubWF4fWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJyc7XG4gICAgfVxuXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICB9XG5cbiAgbm90aWZ5VmFsdWVDaGFuZ2UoKSB7XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICB9XG5cbiAgLy8gQ29udHJvbCBWYWx1ZSBBY2Nlc3NvciBtZXRob2RzXG4gIHdyaXRlVmFsdWUodmFsdWU6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZSA/PyAwO1xuICAgIHRoaXMudmFsaWRhdGVWYWx1ZSgpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBudW1iZXIpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7IC8vIOKchSBTeW5jIHdpdGggZXh0ZXJuYWwgc3RhdGVcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImlucHV0LWNvbnRhaW5lciB7eyBpbnB1dENvbnRhaW5lckNsYXNzIH19XCJcbiAgW25nU3R5bGVdPVwie1xuICAgICdkaXNwbGF5JzogJ2ZsZXgnLFxuICAgICdmbGV4LWRpcmVjdGlvbic6ICdjb2x1bW4nXG4gIH1cIlxuPlxuICA8ZGl2XG4gICAgW25nU3R5bGVdPVwie1xuICAgICAgJ3dpZHRoJzogJzEwMCUnLFxuICAgICAgJ2Rpc3BsYXknOiAnZmxleCcsXG4gICAgICAnanVzdGlmeS1jb250ZW50JzogJ3NwYWNlLWJldHdlZW4nXG4gICAgfVwiXG4gID5cbiAgICA8bGFiZWwgW2Zvcl09XCJsYWJlbFwiPnt7IGxhYmVsIH19PC9sYWJlbD5cbiAgPC9kaXY+XG5cbiAgPGlucHV0XG4gICAgdHlwZT1cIm51bWJlclwiXG4gICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAoaW5wdXQpPVwib25JbnB1dCgkZXZlbnQpXCJcbiAgICBbbWluXT1cIm1pblwiXG4gICAgW21heF09XCJtYXhcIlxuICAgIFtzdGVwXT1cInN0ZXBcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFxuICAgIChibHVyKT1cInZhbGlkYXRlVmFsdWUoKVwiXG4gICAgY2xhc3M9XCJpbnB1dC1maWVsZCB2ZXJiZW4taW5wdXQge3sgaW5wdXRXcmFwcGVyQ2xhc3MgfX1cIlxuICAvPlxuPC9kaXY+XG5cbjxwIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiZXJyb3JNZXNzYWdlXCI+e3sgZXJyb3JNZXNzYWdlIH19PC9wPlxuIl19
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1uZy11aS9zcmMvbGliL2NvbXBvbmVudHMvbnVtYmVyLWlucHV0L251bWJlci1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tbmctdWkvc3JjL2xpYi9jb21wb25lbnRzL251bWJlci1pbnB1dC9udW1iZXItaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFFekUsTUFBTSwyQkFBMkIsR0FBRztJQUNsQyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7SUFDbkQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBUUYsTUFBTSxPQUFPLG9CQUFvQjtJQUN0QixHQUFHLENBQVU7SUFDYixHQUFHLENBQVU7SUFDYixJQUFJLEdBQVcsQ0FBQyxDQUFDO0lBQ2pCLEtBQUssR0FBVyxDQUFDLENBQUM7SUFDbEIsS0FBSyxHQUFZLEVBQUUsQ0FBQztJQUNwQixhQUFhLEdBQVksS0FBSyxDQUFDO0lBQy9CLFFBQVEsR0FBWSxLQUFLLENBQUMsQ0FBQyxjQUFjO0lBRXhDLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRTNDLFFBQVEsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBQ2pDLFNBQVMsR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFFN0IsWUFBWSxHQUFX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UTtzQkFBaEIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5jb25zdCBOVU1CRVJfSU5QVVRfVkFMVUVfQUNDRVNTT1IgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBOdW1iZXJJbnB1dENvbXBvbmVudCksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVyYmVuLW51bWJlci1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9udW1iZXItaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9udW1iZXItaW5wdXQuY29tcG9uZW50LmNzcyddLFxuICBwcm92aWRlcnM6IFtOVU1CRVJfSU5QVVRfVkFMVUVfQUNDRVNTT1JdLFxufSlcbmV4cG9ydCBjbGFzcyBOdW1iZXJJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQElucHV0KCkgbWluPzogbnVtYmVyO1xuICBASW5wdXQoKSBtYXg/OiBudW1iZXI7XG4gIEBJbnB1dCgpIHN0ZXA6IG51bWJlciA9IDE7XG4gIEBJbnB1dCgpIHZhbHVlOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBsYWJlbD86IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBjb250cm9sQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7IC8vIOKchSBOZXcgaW5wdXRcblxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBwcml2YXRlIG9uQ2hhbmdlID0gKHZhbHVlOiBudW1iZXIpID0+IHt9O1xuICBwcml2YXRlIG9uVG91Y2hlZCA9ICgpID0+IHt9O1xuXG4gIGVycm9yTWVzc2FnZTogc3RyaW5nID0gJyc7XG4gIGlucHV0Q29udGFpbmVyQ2xhc3M6IGFueTtcbiAgaW5wdXRXcmFwcGVyQ2xhc3M6IGFueTtcblxuICBpbmNyZWFzZSgpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuOyAvLyDinIUgUmVzcGVjdCBkaXNhYmxlZCBzdGF0ZVxuICAgIGlmICh0aGlzLm1heCA9PT0gdW5kZWZpbmVkIHx8IHRoaXMudmFsdWUgKyB0aGlzLnN0ZXAgPD0gdGhpcy5tYXgpIHtcbiAgICAgIHRoaXMudmFsdWUgKz0gdGhpcy5zdGVwO1xuICAgICAgdGhpcy52YWxpZGF0ZVZhbHVlKCk7XG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgICB0aGlzLm5vdGlmeVZhbHVlQ2hhbmdlKCk7XG4gICAgfVxuICB9XG5cbiAgZGVjcmVhc2UoKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcbiAgICBpZiAodGhpcy5taW4gPT09IHVuZGVmaW5lZCB8fCB0aGlzLnZhbHVlIC0gdGhpcy5zdGVwID49IHRoaXMubWluKSB7XG4gICAgICB0aGlzLnZhbHVlIC09IHRoaXMuc3RlcDtcbiAgICAgIHRoaXMudmFsaWRhdGVWYWx1ZSgpO1xuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgICAgdGhpcy5ub3RpZnlWYWx1ZUNoYW5nZSgpO1xuICAgIH1cbiAgfVxuXG4gIG9uSW5wdXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcblxuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgbGV0IG5ld1ZhbHVlID0gTnVtYmVyKGlucHV0LnZhbHVlKTtcblxuICAgIC8vIENsYW1wIGltbWVkaWF0ZWx5XG4gICAgaWYgKHRoaXMubWF4ICE9PSB1bmRlZmluZWQgJiYgbmV3VmFsdWUgPiB0aGlzLm1heCkge1xuICAgICAgbmV3VmFsdWUgPSB0aGlzLm1heDtcbiAgICAgIGlucHV0LnZhbHVlID0gU3RyaW5nKHRoaXMubWF4KTsgLy8gdmlzdWFsbHkgY29ycmVjdCBpdFxuICAgIH0gZWxzZSBpZiAodGhpcy5taW4gIT09IHVuZGVmaW5lZCAmJiBuZXdWYWx1ZSA8IHRoaXMubWluKSB7XG4gICAgICBuZXdWYWx1ZSA9IHRoaXMubWluO1xuICAgICAgaW5wdXQudmFsdWUgPSBTdHJpbmcodGhpcy5taW4pO1xuICAgIH1cblxuICAgIC8vIEFzc2lnbiAmIGVtaXQgYWZ0ZXIgY29ycmVjdGlvblxuICAgIHRoaXMudmFsdWUgPSBuZXdWYWx1ZTtcbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICcnOyAvLyBjbGVhciBleGlzdGluZyBlcnJvcnMgc2luY2UgaW5wdXQgaXMgdmFsaWQgbm93XG4gICAgdGhpcy5ub3RpZnlWYWx1ZUNoYW5nZSgpOyAvLyB5b3VyIG1ldGhvZCB0aGF0IGVtaXRzIHRoaXMudmFsdWVDaGFuZ2VcbiAgfVxuXG4gIHZhbGlkYXRlVmFsdWUoKSB7XG4gICAgaWYgKHRoaXMubWluICE9PSB1bmRlZmluZWQgJiYgdGhpcy52YWx1ZSA8IHRoaXMubWluKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5taW47XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IGBWYWx1ZSBtdXN0IGJlIGF0IGxlYXN0ICR7dGhpcy5taW59YDtcbiAgICB9IGVsc2UgaWYgKHRoaXMubWF4ICE9PSB1bmRlZmluZWQgJiYgdGhpcy52YWx1ZSA+IHRoaXMubWF4KSB7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5tYXg7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IGBWYWx1ZSBjYW5ub3QgZXhjZWVkICR7dGhpcy5tYXh9YDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnJztcbiAgICB9XG5cbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gIH1cblxuICBub3RpZnlWYWx1ZUNoYW5nZSgpIHtcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gIH1cblxuICAvLyBDb250cm9sIFZhbHVlIEFjY2Vzc29yIG1ldGhvZHNcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlID8/IDA7XG4gICAgdGhpcy52YWxpZGF0ZVZhbHVlKCk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IG51bWJlcikgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDsgLy8g4pyFIFN5bmMgd2l0aCBleHRlcm5hbCBzdGF0ZVxuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiaW5wdXQtY29udGFpbmVyIHt7IGlucHV0Q29udGFpbmVyQ2xhc3MgfX1cIlxuICBbbmdTdHlsZV09XCJ7XG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICdmbGV4LWRpcmVjdGlvbic6ICdjb2x1bW4nXG4gIH1cIlxuPlxuICA8ZGl2XG4gICAgW25nU3R5bGVdPVwie1xuICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICdqdXN0aWZ5LWNvbnRlbnQnOiAnc3BhY2UtYmV0d2VlbidcbiAgICB9XCJcbiAgPlxuICAgIDxsYWJlbCBbZm9yXT1cImxhYmVsXCI+e3sgbGFiZWwgfX08L2xhYmVsPlxuICA8L2Rpdj5cblxuICA8aW5wdXRcbiAgICB0eXBlPVwibnVtYmVyXCJcbiAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgIChpbnB1dCk9XCJvbklucHV0KCRldmVudClcIlxuICAgIFttaW5dPVwibWluXCJcbiAgICBbbWF4XT1cIm1heFwiXG4gICAgW3N0ZXBdPVwic3RlcFwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAoYmx1cik9XCJ2YWxpZGF0ZVZhbHVlKClcIlxuICAgIGNsYXNzPVwiaW5wdXQtZmllbGQgdmVyYmVuLWlucHV0IHt7IGlucHV0V3JhcHBlckNsYXNzIH19XCJcbiAgLz5cbjwvZGl2PlxuXG48cCBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cImVycm9yTWVzc2FnZVwiPnt7IGVycm9yTWVzc2FnZSB9fTwvcD5cbiJdfQ==
@@ -46,11 +46,21 @@ class NumberInputComponent {
46
46
  onInput(event) {
47
47
  if (this.disabled)
48
48
  return;
49
- const inputValue = event.target.value;
50
- let newValue = Number(inputValue);
49
+ const input = event.target;
50
+ let newValue = Number(input.value);
51
+ // Clamp immediately
52
+ if (this.max !== undefined && newValue > this.max) {
53
+ newValue = this.max;
54
+ input.value = String(this.max); // visually correct it
55
+ }
56
+ else if (this.min !== undefined && newValue < this.min) {
57
+ newValue = this.min;
58
+ input.value = String(this.min);
59
+ }
60
+ // Assign & emit after correction
51
61
  this.value = newValue;
52
- this.validateValue();
53
- this.notifyValueChange();
62
+ this.errorMessage = ''; // clear existing errors since input is valid now
63
+ this.notifyValueChange(); // your method that emits this.valueChange
54
64
  }
55
65
  validateValue() {
56
66
  if (this.min !== undefined && this.value < this.min) {
@@ -85,11 +95,11 @@ class NumberInputComponent {
85
95
  this.disabled = isDisabled; // ✅ Sync with external state
86
96
  }
87
97
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: NumberInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
88
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: NumberInputComponent, selector: "verben-number-input", inputs: { min: "min", max: "max", step: "step", value: "value", label: "label", controlButton: "controlButton", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, providers: [NUMBER_INPUT_VALUE_ACCESSOR], ngImport: i0, template: "<div\n class=\"input-container {{ inputContainerClass }}\"\n [ngStyle]=\"{\n 'display': 'flex',\n 'flex-direction': 'column'\n }\"\n>\n <div\n [ngStyle]=\"{\n 'width': '100%',\n 'display': 'flex',\n 'justify-content': 'space-between'\n }\"\n >\n <label [for]=\"label\">{{ label }}</label>\n </div>\n\n <input\n type=\"number\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [disabled]=\"disabled\" \n (blur)=\"validateValue()\"\n class=\"input-field verben-input {{ inputWrapperClass }}\"\n />\n</div>\n\n<p class=\"error-message\" *ngIf=\"errorMessage\">{{ errorMessage }}</p>\n", styles: ["*{font-family:sans-serif;font-size:.9rem}.w-100{width:100%}.h-100{height:100%}.flex{display:flex}.flex-col{flex-direction:column}.font-bold{font-weight:700}.justify-center{justify-content:center}.justify-end{justify-content:end}.align-items-center{align-items:center}.grid{display:grid}.verben-error-message{font-size:.8rem;color:red}.verben-input{border:1px solid #cbd5e1;outline:none;border-radius:5px;color:#334155;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,outline-color .2s}.verben-input::placeholder{color:#64748b}.verben-input:hover{border:1px solid #697e97}.verben-input.disabled{opacity:1;background-color:light-dark(rgba(239,239,239,.3),rgba(59,59,59,.3));pointer-events:none;color:#64748b}.verben-input:disabled{opacity:1;background-color:light-dark(rgba(239,239,239,.3),rgba(59,59,59,.3));pointer-events:none;color:#64748b}.verben-input.focused{border-color:#3b82f6;outline:none}.verben-input:focus{border-color:#3b82f6;outline:none}.verben-input.ng-invalid{border-color:red}.verben-button{padding:8px 15px;border-radius:4px;border:none;text-align:center}.verben-button.primary{background-color:#ffe681}.verben-button.secondary{background-color:#d9d9d940}.input-container{width:100%}.verben-input{width:100%;background-color:#f9f9f9;border-radius:5px;color:#333;font-size:14px;padding:8px}.number-input{display:flex;align-items:center;border:1px solid #ccc;border-radius:4px;overflow:hidden;width:max-content}.number-input button{background-color:#f0f0f0;border:none;padding:5px 10px;cursor:pointer;font-size:16px}.number-input input{width:50px;text-align:center;border:none;outline:none;font-size:16px}.number-input button:disabled{opacity:.5;cursor:not-allowed}.error-message{color:red;font-size:12px;margin-top:5px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
98
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: NumberInputComponent, selector: "verben-number-input", inputs: { min: "min", max: "max", step: "step", value: "value", label: "label", controlButton: "controlButton", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, providers: [NUMBER_INPUT_VALUE_ACCESSOR], ngImport: i0, template: "<div\n class=\"input-container {{ inputContainerClass }}\"\n [ngStyle]=\"{\n display: 'flex',\n 'flex-direction': 'column'\n }\"\n>\n <div\n [ngStyle]=\"{\n width: '100%',\n display: 'flex',\n 'justify-content': 'space-between'\n }\"\n >\n <label [for]=\"label\">{{ label }}</label>\n </div>\n\n <input\n type=\"number\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [disabled]=\"disabled\"\n (blur)=\"validateValue()\"\n class=\"input-field verben-input {{ inputWrapperClass }}\"\n />\n</div>\n\n<p class=\"error-message\" *ngIf=\"errorMessage\">{{ errorMessage }}</p>\n", styles: ["*{font-family:sans-serif;font-size:.9rem}.w-100{width:100%}.h-100{height:100%}.flex{display:flex}.flex-col{flex-direction:column}.font-bold{font-weight:700}.justify-center{justify-content:center}.justify-end{justify-content:end}.align-items-center{align-items:center}.grid{display:grid}.verben-error-message{font-size:.8rem;color:red}.verben-input{border:1px solid #cbd5e1;outline:none;border-radius:5px;color:#334155;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,outline-color .2s}.verben-input::placeholder{color:#64748b}.verben-input:hover{border:1px solid #697e97}.verben-input.disabled{opacity:1;background-color:light-dark(rgba(239,239,239,.3),rgba(59,59,59,.3));pointer-events:none;color:#64748b}.verben-input:disabled{opacity:1;background-color:light-dark(rgba(239,239,239,.3),rgba(59,59,59,.3));pointer-events:none;color:#64748b}.verben-input.focused{border-color:#3b82f6;outline:none}.verben-input:focus{border-color:#3b82f6;outline:none}.verben-input.ng-invalid{border-color:red}.verben-button{padding:8px 15px;border-radius:4px;border:none;text-align:center}.verben-button.primary{background-color:#ffe681}.verben-button.secondary{background-color:#d9d9d940}.input-container{width:100%}.verben-input{width:100%;background-color:#f9f9f9;border-radius:5px;color:#333;font-size:14px;padding:8px}.number-input{display:flex;align-items:center;border:1px solid #ccc;border-radius:4px;overflow:hidden;width:max-content}.number-input button{background-color:#f0f0f0;border:none;padding:5px 10px;cursor:pointer;font-size:16px}.number-input input{width:50px;text-align:center;border:none;outline:none;font-size:16px}.number-input button:disabled{opacity:.5;cursor:not-allowed}.error-message{color:red;font-size:12px;margin-top:5px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
89
99
  }
90
100
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: NumberInputComponent, decorators: [{
91
101
  type: Component,
92
- args: [{ selector: 'verben-number-input', providers: [NUMBER_INPUT_VALUE_ACCESSOR], template: "<div\n class=\"input-container {{ inputContainerClass }}\"\n [ngStyle]=\"{\n 'display': 'flex',\n 'flex-direction': 'column'\n }\"\n>\n <div\n [ngStyle]=\"{\n 'width': '100%',\n 'display': 'flex',\n 'justify-content': 'space-between'\n }\"\n >\n <label [for]=\"label\">{{ label }}</label>\n </div>\n\n <input\n type=\"number\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [disabled]=\"disabled\" \n (blur)=\"validateValue()\"\n class=\"input-field verben-input {{ inputWrapperClass }}\"\n />\n</div>\n\n<p class=\"error-message\" *ngIf=\"errorMessage\">{{ errorMessage }}</p>\n", styles: ["*{font-family:sans-serif;font-size:.9rem}.w-100{width:100%}.h-100{height:100%}.flex{display:flex}.flex-col{flex-direction:column}.font-bold{font-weight:700}.justify-center{justify-content:center}.justify-end{justify-content:end}.align-items-center{align-items:center}.grid{display:grid}.verben-error-message{font-size:.8rem;color:red}.verben-input{border:1px solid #cbd5e1;outline:none;border-radius:5px;color:#334155;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,outline-color .2s}.verben-input::placeholder{color:#64748b}.verben-input:hover{border:1px solid #697e97}.verben-input.disabled{opacity:1;background-color:light-dark(rgba(239,239,239,.3),rgba(59,59,59,.3));pointer-events:none;color:#64748b}.verben-input:disabled{opacity:1;background-color:light-dark(rgba(239,239,239,.3),rgba(59,59,59,.3));pointer-events:none;color:#64748b}.verben-input.focused{border-color:#3b82f6;outline:none}.verben-input:focus{border-color:#3b82f6;outline:none}.verben-input.ng-invalid{border-color:red}.verben-button{padding:8px 15px;border-radius:4px;border:none;text-align:center}.verben-button.primary{background-color:#ffe681}.verben-button.secondary{background-color:#d9d9d940}.input-container{width:100%}.verben-input{width:100%;background-color:#f9f9f9;border-radius:5px;color:#333;font-size:14px;padding:8px}.number-input{display:flex;align-items:center;border:1px solid #ccc;border-radius:4px;overflow:hidden;width:max-content}.number-input button{background-color:#f0f0f0;border:none;padding:5px 10px;cursor:pointer;font-size:16px}.number-input input{width:50px;text-align:center;border:none;outline:none;font-size:16px}.number-input button:disabled{opacity:.5;cursor:not-allowed}.error-message{color:red;font-size:12px;margin-top:5px}\n"] }]
102
+ args: [{ selector: 'verben-number-input', providers: [NUMBER_INPUT_VALUE_ACCESSOR], template: "<div\n class=\"input-container {{ inputContainerClass }}\"\n [ngStyle]=\"{\n display: 'flex',\n 'flex-direction': 'column'\n }\"\n>\n <div\n [ngStyle]=\"{\n width: '100%',\n display: 'flex',\n 'justify-content': 'space-between'\n }\"\n >\n <label [for]=\"label\">{{ label }}</label>\n </div>\n\n <input\n type=\"number\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [disabled]=\"disabled\"\n (blur)=\"validateValue()\"\n class=\"input-field verben-input {{ inputWrapperClass }}\"\n />\n</div>\n\n<p class=\"error-message\" *ngIf=\"errorMessage\">{{ errorMessage }}</p>\n", styles: ["*{font-family:sans-serif;font-size:.9rem}.w-100{width:100%}.h-100{height:100%}.flex{display:flex}.flex-col{flex-direction:column}.font-bold{font-weight:700}.justify-center{justify-content:center}.justify-end{justify-content:end}.align-items-center{align-items:center}.grid{display:grid}.verben-error-message{font-size:.8rem;color:red}.verben-input{border:1px solid #cbd5e1;outline:none;border-radius:5px;color:#334155;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,outline-color .2s}.verben-input::placeholder{color:#64748b}.verben-input:hover{border:1px solid #697e97}.verben-input.disabled{opacity:1;background-color:light-dark(rgba(239,239,239,.3),rgba(59,59,59,.3));pointer-events:none;color:#64748b}.verben-input:disabled{opacity:1;background-color:light-dark(rgba(239,239,239,.3),rgba(59,59,59,.3));pointer-events:none;color:#64748b}.verben-input.focused{border-color:#3b82f6;outline:none}.verben-input:focus{border-color:#3b82f6;outline:none}.verben-input.ng-invalid{border-color:red}.verben-button{padding:8px 15px;border-radius:4px;border:none;text-align:center}.verben-button.primary{background-color:#ffe681}.verben-button.secondary{background-color:#d9d9d940}.input-container{width:100%}.verben-input{width:100%;background-color:#f9f9f9;border-radius:5px;color:#333;font-size:14px;padding:8px}.number-input{display:flex;align-items:center;border:1px solid #ccc;border-radius:4px;overflow:hidden;width:max-content}.number-input button{background-color:#f0f0f0;border:none;padding:5px 10px;cursor:pointer;font-size:16px}.number-input input{width:50px;text-align:center;border:none;outline:none;font-size:16px}.number-input button:disabled{opacity:.5;cursor:not-allowed}.error-message{color:red;font-size:12px;margin-top:5px}\n"] }]
93
103
  }], propDecorators: { min: [{
94
104
  type: Input
95
105
  }], max: [{
@@ -1 +1 @@
1
- {"version":3,"file":"verben-ng-ui-src-lib-components-number-input.mjs","sources":["../../../projects/verben-ng-ui/src/lib/components/number-input/number-input.component.ts","../../../projects/verben-ng-ui/src/lib/components/number-input/number-input.component.html","../../../projects/verben-ng-ui/src/lib/components/number-input/number-input.module.ts","../../../projects/verben-ng-ui/src/lib/components/number-input/verben-ng-ui-src-lib-components-number-input.ts"],"sourcesContent":["import {\n Component,\n Input,\n Output,\n EventEmitter,\n forwardRef\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NG_VALUE_ACCESSOR\n} from '@angular/forms';\n\nconst NUMBER_INPUT_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NumberInputComponent),\n multi: true,\n};\n\n@Component({\n selector: 'verben-number-input',\n templateUrl: './number-input.component.html',\n styleUrls: ['./number-input.component.css'],\n providers: [NUMBER_INPUT_VALUE_ACCESSOR],\n})\nexport class NumberInputComponent implements ControlValueAccessor {\n @Input() min?: number;\n @Input() max?: number;\n @Input() step: number = 1;\n @Input() value: number = 0;\n @Input() label?: string = '';\n @Input() controlButton: boolean = false;\n @Input() disabled: boolean = false; // ✅ New input\n\n @Output() valueChange = new EventEmitter<number>();\n\n private onChange = (value: number) => {};\n private onTouched = () => {};\n\n errorMessage: string = '';\n inputContainerClass: any;\n inputWrapperClass: any;\n\n increase() {\n if (this.disabled) return; // ✅ Respect disabled state\n if (this.max === undefined || this.value + this.step <= this.max) {\n this.value += this.step;\n this.validateValue();\n this.valueChange.emit(this.value);\n this.notifyValueChange();\n }\n }\n\n decrease() {\n if (this.disabled) return; \n if (this.min === undefined || this.value - this.step >= this.min) {\n this.value -= this.step;\n this.validateValue();\n this.valueChange.emit(this.value);\n this.notifyValueChange();\n }\n }\n\n onInput(event: Event) {\n if (this.disabled) return; \n const inputValue = (event.target as HTMLInputElement).value;\n let newValue = Number(inputValue);\n this.value = newValue;\n this.validateValue();\n this.notifyValueChange();\n }\n\n validateValue() {\n if (this.min !== undefined && this.value < this.min) {\n this.value = this.min;\n this.errorMessage = `Value must be at least ${this.min}`;\n } else if (this.max !== undefined && this.value > this.max) {\n this.value = this.max;\n this.errorMessage = `Value cannot exceed ${this.max}`;\n } else {\n this.errorMessage = '';\n }\n\n this.valueChange.emit(this.value);\n }\n\n notifyValueChange() {\n this.onChange(this.value);\n this.onTouched();\n }\n\n // Control Value Accessor methods\n writeValue(value: number): void {\n this.value = value ?? 0;\n this.validateValue();\n }\n\n registerOnChange(fn: (value: number) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled; // ✅ Sync with external state\n }\n}\n","<div\n class=\"input-container {{ inputContainerClass }}\"\n [ngStyle]=\"{\n 'display': 'flex',\n 'flex-direction': 'column'\n }\"\n>\n <div\n [ngStyle]=\"{\n 'width': '100%',\n 'display': 'flex',\n 'justify-content': 'space-between'\n }\"\n >\n <label [for]=\"label\">{{ label }}</label>\n </div>\n\n <input\n type=\"number\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [disabled]=\"disabled\" \n (blur)=\"validateValue()\"\n class=\"input-field verben-input {{ inputWrapperClass }}\"\n />\n</div>\n\n<p class=\"error-message\" *ngIf=\"errorMessage\">{{ errorMessage }}</p>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NumberInputComponent } from './number-input.component';\n\n@NgModule({\n declarations: [NumberInputComponent],\n imports: [CommonModule],\n exports: [NumberInputComponent],\n})\nexport class NumberInputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verben-ng-ui-src-lib-components-number-input.mjs","sources":["../../../projects/verben-ng-ui/src/lib/components/number-input/number-input.component.ts","../../../projects/verben-ng-ui/src/lib/components/number-input/number-input.component.html","../../../projects/verben-ng-ui/src/lib/components/number-input/number-input.module.ts","../../../projects/verben-ng-ui/src/lib/components/number-input/verben-ng-ui-src-lib-components-number-input.ts"],"sourcesContent":["import {\n Component,\n Input,\n Output,\n EventEmitter,\n forwardRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nconst NUMBER_INPUT_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NumberInputComponent),\n multi: true,\n};\n\n@Component({\n selector: 'verben-number-input',\n templateUrl: './number-input.component.html',\n styleUrls: ['./number-input.component.css'],\n providers: [NUMBER_INPUT_VALUE_ACCESSOR],\n})\nexport class NumberInputComponent implements ControlValueAccessor {\n @Input() min?: number;\n @Input() max?: number;\n @Input() step: number = 1;\n @Input() value: number = 0;\n @Input() label?: string = '';\n @Input() controlButton: boolean = false;\n @Input() disabled: boolean = false; // ✅ New input\n\n @Output() valueChange = new EventEmitter<number>();\n\n private onChange = (value: number) => {};\n private onTouched = () => {};\n\n errorMessage: string = '';\n inputContainerClass: any;\n inputWrapperClass: any;\n\n increase() {\n if (this.disabled) return; // ✅ Respect disabled state\n if (this.max === undefined || this.value + this.step <= this.max) {\n this.value += this.step;\n this.validateValue();\n this.valueChange.emit(this.value);\n this.notifyValueChange();\n }\n }\n\n decrease() {\n if (this.disabled) return;\n if (this.min === undefined || this.value - this.step >= this.min) {\n this.value -= this.step;\n this.validateValue();\n this.valueChange.emit(this.value);\n this.notifyValueChange();\n }\n }\n\n onInput(event: Event) {\n if (this.disabled) return;\n\n const input = event.target as HTMLInputElement;\n let newValue = Number(input.value);\n\n // Clamp immediately\n if (this.max !== undefined && newValue > this.max) {\n newValue = this.max;\n input.value = String(this.max); // visually correct it\n } else if (this.min !== undefined && newValue < this.min) {\n newValue = this.min;\n input.value = String(this.min);\n }\n\n // Assign & emit after correction\n this.value = newValue;\n this.errorMessage = ''; // clear existing errors since input is valid now\n this.notifyValueChange(); // your method that emits this.valueChange\n }\n\n validateValue() {\n if (this.min !== undefined && this.value < this.min) {\n this.value = this.min;\n this.errorMessage = `Value must be at least ${this.min}`;\n } else if (this.max !== undefined && this.value > this.max) {\n this.value = this.max;\n this.errorMessage = `Value cannot exceed ${this.max}`;\n } else {\n this.errorMessage = '';\n }\n\n this.valueChange.emit(this.value);\n }\n\n notifyValueChange() {\n this.onChange(this.value);\n this.onTouched();\n }\n\n // Control Value Accessor methods\n writeValue(value: number): void {\n this.value = value ?? 0;\n this.validateValue();\n }\n\n registerOnChange(fn: (value: number) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled; // ✅ Sync with external state\n }\n}\n","<div\n class=\"input-container {{ inputContainerClass }}\"\n [ngStyle]=\"{\n display: 'flex',\n 'flex-direction': 'column'\n }\"\n>\n <div\n [ngStyle]=\"{\n width: '100%',\n display: 'flex',\n 'justify-content': 'space-between'\n }\"\n >\n <label [for]=\"label\">{{ label }}</label>\n </div>\n\n <input\n type=\"number\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [disabled]=\"disabled\"\n (blur)=\"validateValue()\"\n class=\"input-field verben-input {{ inputWrapperClass }}\"\n />\n</div>\n\n<p class=\"error-message\" *ngIf=\"errorMessage\">{{ errorMessage }}</p>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NumberInputComponent } from './number-input.component';\n\n@NgModule({\n declarations: [NumberInputComponent],\n imports: [CommonModule],\n exports: [NumberInputComponent],\n})\nexport class NumberInputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "verben-ng-ui",
3
- "version": "1.2.30",
3
+ "version": "1.2.31",
4
4
  "author": "Verbena Logic",
5
5
  "repository": {
6
6
  "type": "git",
@@ -39,6 +39,12 @@
39
39
  "esm": "./esm2022/verben-ng-ui.mjs",
40
40
  "default": "./fesm2022/verben-ng-ui.mjs"
41
41
  },
42
+ "./src/lib/control-options": {
43
+ "types": "./src/lib/control-options/index.d.ts",
44
+ "esm2022": "./esm2022/src/lib/control-options/verben-ng-ui-src-lib-control-options.mjs",
45
+ "esm": "./esm2022/src/lib/control-options/verben-ng-ui-src-lib-control-options.mjs",
46
+ "default": "./fesm2022/verben-ng-ui-src-lib-control-options.mjs"
47
+ },
42
48
  "./src/lib/convert-to-integer": {
43
49
  "types": "./src/lib/convert-to-integer/index.d.ts",
44
50
  "esm2022": "./esm2022/src/lib/convert-to-integer/verben-ng-ui-src-lib-convert-to-integer.mjs",
@@ -57,6 +63,12 @@
57
63
  "esm": "./esm2022/src/lib/email-validator/verben-ng-ui-src-lib-email-validator.mjs",
58
64
  "default": "./fesm2022/verben-ng-ui-src-lib-email-validator.mjs"
59
65
  },
66
+ "./src/lib/models": {
67
+ "types": "./src/lib/models/index.d.ts",
68
+ "esm2022": "./esm2022/src/lib/models/verben-ng-ui-src-lib-models.mjs",
69
+ "esm": "./esm2022/src/lib/models/verben-ng-ui-src-lib-models.mjs",
70
+ "default": "./fesm2022/verben-ng-ui-src-lib-models.mjs"
71
+ },
60
72
  "./src/lib/number-range": {
61
73
  "types": "./src/lib/number-range/index.d.ts",
62
74
  "esm2022": "./esm2022/src/lib/number-range/verben-ng-ui-src-lib-number-range.mjs",
@@ -75,29 +87,11 @@
75
87
  "esm": "./esm2022/src/lib/required-input/verben-ng-ui-src-lib-required-input.mjs",
76
88
  "default": "./fesm2022/verben-ng-ui-src-lib-required-input.mjs"
77
89
  },
78
- "./src/lib/control-options": {
79
- "types": "./src/lib/control-options/index.d.ts",
80
- "esm2022": "./esm2022/src/lib/control-options/verben-ng-ui-src-lib-control-options.mjs",
81
- "esm": "./esm2022/src/lib/control-options/verben-ng-ui-src-lib-control-options.mjs",
82
- "default": "./fesm2022/verben-ng-ui-src-lib-control-options.mjs"
83
- },
84
- "./src/lib/models": {
85
- "types": "./src/lib/models/index.d.ts",
86
- "esm2022": "./esm2022/src/lib/models/verben-ng-ui-src-lib-models.mjs",
87
- "esm": "./esm2022/src/lib/models/verben-ng-ui-src-lib-models.mjs",
88
- "default": "./fesm2022/verben-ng-ui-src-lib-models.mjs"
89
- },
90
- "./src/lib/validate-input": {
91
- "types": "./src/lib/validate-input/index.d.ts",
92
- "esm2022": "./esm2022/src/lib/validate-input/verben-ng-ui-src-lib-validate-input.mjs",
93
- "esm": "./esm2022/src/lib/validate-input/verben-ng-ui-src-lib-validate-input.mjs",
94
- "default": "./fesm2022/verben-ng-ui-src-lib-validate-input.mjs"
95
- },
96
- "./src/lib/verbena-badge": {
97
- "types": "./src/lib/verbena-badge/index.d.ts",
98
- "esm2022": "./esm2022/src/lib/verbena-badge/verben-ng-ui-src-lib-verbena-badge.mjs",
99
- "esm": "./esm2022/src/lib/verbena-badge/verben-ng-ui-src-lib-verbena-badge.mjs",
100
- "default": "./fesm2022/verben-ng-ui-src-lib-verbena-badge.mjs"
90
+ "./src/lib/services": {
91
+ "types": "./src/lib/services/index.d.ts",
92
+ "esm2022": "./esm2022/src/lib/services/verben-ng-ui-src-lib-services.mjs",
93
+ "esm": "./esm2022/src/lib/services/verben-ng-ui-src-lib-services.mjs",
94
+ "default": "./fesm2022/verben-ng-ui-src-lib-services.mjs"
101
95
  },
102
96
  "./src/lib/theme-switcher": {
103
97
  "types": "./src/lib/theme-switcher/index.d.ts",
@@ -111,11 +105,17 @@
111
105
  "esm": "./esm2022/src/lib/validate/verben-ng-ui-src-lib-validate.mjs",
112
106
  "default": "./fesm2022/verben-ng-ui-src-lib-validate.mjs"
113
107
  },
114
- "./src/lib/services": {
115
- "types": "./src/lib/services/index.d.ts",
116
- "esm2022": "./esm2022/src/lib/services/verben-ng-ui-src-lib-services.mjs",
117
- "esm": "./esm2022/src/lib/services/verben-ng-ui-src-lib-services.mjs",
118
- "default": "./fesm2022/verben-ng-ui-src-lib-services.mjs"
108
+ "./src/lib/validate-input": {
109
+ "types": "./src/lib/validate-input/index.d.ts",
110
+ "esm2022": "./esm2022/src/lib/validate-input/verben-ng-ui-src-lib-validate-input.mjs",
111
+ "esm": "./esm2022/src/lib/validate-input/verben-ng-ui-src-lib-validate-input.mjs",
112
+ "default": "./fesm2022/verben-ng-ui-src-lib-validate-input.mjs"
113
+ },
114
+ "./src/lib/verbena-button": {
115
+ "types": "./src/lib/verbena-button/index.d.ts",
116
+ "esm2022": "./esm2022/src/lib/verbena-button/verben-ng-ui-src-lib-verbena-button.mjs",
117
+ "esm": "./esm2022/src/lib/verbena-button/verben-ng-ui-src-lib-verbena-button.mjs",
118
+ "default": "./fesm2022/verben-ng-ui-src-lib-verbena-button.mjs"
119
119
  },
120
120
  "./src/lib/verbena-switch": {
121
121
  "types": "./src/lib/verbena-switch/index.d.ts",
@@ -123,11 +123,11 @@
123
123
  "esm": "./esm2022/src/lib/verbena-switch/verben-ng-ui-src-lib-verbena-switch.mjs",
124
124
  "default": "./fesm2022/verben-ng-ui-src-lib-verbena-switch.mjs"
125
125
  },
126
- "./src/lib/verbena-button": {
127
- "types": "./src/lib/verbena-button/index.d.ts",
128
- "esm2022": "./esm2022/src/lib/verbena-button/verben-ng-ui-src-lib-verbena-button.mjs",
129
- "esm": "./esm2022/src/lib/verbena-button/verben-ng-ui-src-lib-verbena-button.mjs",
130
- "default": "./fesm2022/verben-ng-ui-src-lib-verbena-button.mjs"
126
+ "./src/lib/verbena-badge": {
127
+ "types": "./src/lib/verbena-badge/index.d.ts",
128
+ "esm2022": "./esm2022/src/lib/verbena-badge/verben-ng-ui-src-lib-verbena-badge.mjs",
129
+ "esm": "./esm2022/src/lib/verbena-badge/verben-ng-ui-src-lib-verbena-badge.mjs",
130
+ "default": "./fesm2022/verben-ng-ui-src-lib-verbena-badge.mjs"
131
131
  },
132
132
  "./src/lib/verbena-textarea": {
133
133
  "types": "./src/lib/verbena-textarea/index.d.ts",
@@ -135,6 +135,12 @@
135
135
  "esm": "./esm2022/src/lib/verbena-textarea/verben-ng-ui-src-lib-verbena-textarea.mjs",
136
136
  "default": "./fesm2022/verben-ng-ui-src-lib-verbena-textarea.mjs"
137
137
  },
138
+ "./src/lib/verbena-input": {
139
+ "types": "./src/lib/verbena-input/index.d.ts",
140
+ "esm2022": "./esm2022/src/lib/verbena-input/verben-ng-ui-src-lib-verbena-input.mjs",
141
+ "esm": "./esm2022/src/lib/verbena-input/verben-ng-ui-src-lib-verbena-input.mjs",
142
+ "default": "./fesm2022/verben-ng-ui-src-lib-verbena-input.mjs"
143
+ },
138
144
  "./src/lib/components/card": {
139
145
  "types": "./src/lib/components/card/index.d.ts",
140
146
  "esm2022": "./esm2022/src/lib/components/card/verben-ng-ui-src-lib-components-card.mjs",
@@ -147,12 +153,6 @@
147
153
  "esm": "./esm2022/src/lib/components/card-data-view/verben-ng-ui-src-lib-components-card-data-view.mjs",
148
154
  "default": "./fesm2022/verben-ng-ui-src-lib-components-card-data-view.mjs"
149
155
  },
150
- "./src/lib/verbena-input": {
151
- "types": "./src/lib/verbena-input/index.d.ts",
152
- "esm2022": "./esm2022/src/lib/verbena-input/verben-ng-ui-src-lib-verbena-input.mjs",
153
- "esm": "./esm2022/src/lib/verbena-input/verben-ng-ui-src-lib-verbena-input.mjs",
154
- "default": "./fesm2022/verben-ng-ui-src-lib-verbena-input.mjs"
155
- },
156
156
  "./src/lib/components/chip": {
157
157
  "types": "./src/lib/components/chip/index.d.ts",
158
158
  "esm2022": "./esm2022/src/lib/components/chip/verben-ng-ui-src-lib-components-chip.mjs",
@@ -171,47 +171,53 @@
171
171
  "esm": "./esm2022/src/lib/components/data-export/verben-ng-ui-src-lib-components-data-export.mjs",
172
172
  "default": "./fesm2022/verben-ng-ui-src-lib-components-data-export.mjs"
173
173
  },
174
- "./src/lib/components/data-import": {
175
- "types": "./src/lib/components/data-import/index.d.ts",
176
- "esm2022": "./esm2022/src/lib/components/data-import/verben-ng-ui-src-lib-components-data-import.mjs",
177
- "esm": "./esm2022/src/lib/components/data-import/verben-ng-ui-src-lib-components-data-import.mjs",
178
- "default": "./fesm2022/verben-ng-ui-src-lib-components-data-import.mjs"
179
- },
180
174
  "./src/lib/components/data-extend": {
181
175
  "types": "./src/lib/components/data-extend/index.d.ts",
182
176
  "esm2022": "./esm2022/src/lib/components/data-extend/verben-ng-ui-src-lib-components-data-extend.mjs",
183
177
  "esm": "./esm2022/src/lib/components/data-extend/verben-ng-ui-src-lib-components-data-extend.mjs",
184
178
  "default": "./fesm2022/verben-ng-ui-src-lib-components-data-extend.mjs"
185
179
  },
180
+ "./src/lib/components/data-filter": {
181
+ "types": "./src/lib/components/data-filter/index.d.ts",
182
+ "esm2022": "./esm2022/src/lib/components/data-filter/verben-ng-ui-src-lib-components-data-filter.mjs",
183
+ "esm": "./esm2022/src/lib/components/data-filter/verben-ng-ui-src-lib-components-data-filter.mjs",
184
+ "default": "./fesm2022/verben-ng-ui-src-lib-components-data-filter.mjs"
185
+ },
186
+ "./src/lib/components/data-import": {
187
+ "types": "./src/lib/components/data-import/index.d.ts",
188
+ "esm2022": "./esm2022/src/lib/components/data-import/verben-ng-ui-src-lib-components-data-import.mjs",
189
+ "esm": "./esm2022/src/lib/components/data-import/verben-ng-ui-src-lib-components-data-import.mjs",
190
+ "default": "./fesm2022/verben-ng-ui-src-lib-components-data-import.mjs"
191
+ },
186
192
  "./src/lib/components/data-sort": {
187
193
  "types": "./src/lib/components/data-sort/index.d.ts",
188
194
  "esm2022": "./esm2022/src/lib/components/data-sort/verben-ng-ui-src-lib-components-data-sort.mjs",
189
195
  "esm": "./esm2022/src/lib/components/data-sort/verben-ng-ui-src-lib-components-data-sort.mjs",
190
196
  "default": "./fesm2022/verben-ng-ui-src-lib-components-data-sort.mjs"
191
197
  },
198
+ "./src/lib/components/data-table": {
199
+ "types": "./src/lib/components/data-table/index.d.ts",
200
+ "esm2022": "./esm2022/src/lib/components/data-table/verben-ng-ui-src-lib-components-data-table.mjs",
201
+ "esm": "./esm2022/src/lib/components/data-table/verben-ng-ui-src-lib-components-data-table.mjs",
202
+ "default": "./fesm2022/verben-ng-ui-src-lib-components-data-table.mjs"
203
+ },
192
204
  "./src/lib/components/data-view": {
193
205
  "types": "./src/lib/components/data-view/index.d.ts",
194
206
  "esm2022": "./esm2022/src/lib/components/data-view/verben-ng-ui-src-lib-components-data-view.mjs",
195
207
  "esm": "./esm2022/src/lib/components/data-view/verben-ng-ui-src-lib-components-data-view.mjs",
196
208
  "default": "./fesm2022/verben-ng-ui-src-lib-components-data-view.mjs"
197
209
  },
198
- "./src/lib/components/data-filter": {
199
- "types": "./src/lib/components/data-filter/index.d.ts",
200
- "esm2022": "./esm2022/src/lib/components/data-filter/verben-ng-ui-src-lib-components-data-filter.mjs",
201
- "esm": "./esm2022/src/lib/components/data-filter/verben-ng-ui-src-lib-components-data-filter.mjs",
202
- "default": "./fesm2022/verben-ng-ui-src-lib-components-data-filter.mjs"
203
- },
204
210
  "./src/lib/components/data-xport": {
205
211
  "types": "./src/lib/components/data-xport/index.d.ts",
206
212
  "esm2022": "./esm2022/src/lib/components/data-xport/verben-ng-ui-src-lib-components-data-xport.mjs",
207
213
  "esm": "./esm2022/src/lib/components/data-xport/verben-ng-ui-src-lib-components-data-xport.mjs",
208
214
  "default": "./fesm2022/verben-ng-ui-src-lib-components-data-xport.mjs"
209
215
  },
210
- "./src/lib/components/data-table": {
211
- "types": "./src/lib/components/data-table/index.d.ts",
212
- "esm2022": "./esm2022/src/lib/components/data-table/verben-ng-ui-src-lib-components-data-table.mjs",
213
- "esm": "./esm2022/src/lib/components/data-table/verben-ng-ui-src-lib-components-data-table.mjs",
214
- "default": "./fesm2022/verben-ng-ui-src-lib-components-data-table.mjs"
216
+ "./src/lib/components/date-picker": {
217
+ "types": "./src/lib/components/date-picker/index.d.ts",
218
+ "esm2022": "./esm2022/src/lib/components/date-picker/verben-ng-ui-src-lib-components-date-picker.mjs",
219
+ "esm": "./esm2022/src/lib/components/date-picker/verben-ng-ui-src-lib-components-date-picker.mjs",
220
+ "default": "./fesm2022/verben-ng-ui-src-lib-components-date-picker.mjs"
215
221
  },
216
222
  "./src/lib/components/drop-down": {
217
223
  "types": "./src/lib/components/drop-down/index.d.ts",
@@ -219,29 +225,29 @@
219
225
  "esm": "./esm2022/src/lib/components/drop-down/verben-ng-ui-src-lib-components-drop-down.mjs",
220
226
  "default": "./fesm2022/verben-ng-ui-src-lib-components-drop-down.mjs"
221
227
  },
228
+ "./src/lib/components/icons": {
229
+ "types": "./src/lib/components/icons/index.d.ts",
230
+ "esm2022": "./esm2022/src/lib/components/icons/verben-ng-ui-src-lib-components-icons.mjs",
231
+ "esm": "./esm2022/src/lib/components/icons/verben-ng-ui-src-lib-components-icons.mjs",
232
+ "default": "./fesm2022/verben-ng-ui-src-lib-components-icons.mjs"
233
+ },
222
234
  "./src/lib/components/notification": {
223
235
  "types": "./src/lib/components/notification/index.d.ts",
224
236
  "esm2022": "./esm2022/src/lib/components/notification/verben-ng-ui-src-lib-components-notification.mjs",
225
237
  "esm": "./esm2022/src/lib/components/notification/verben-ng-ui-src-lib-components-notification.mjs",
226
238
  "default": "./fesm2022/verben-ng-ui-src-lib-components-notification.mjs"
227
239
  },
228
- "./src/lib/components/date-picker": {
229
- "types": "./src/lib/components/date-picker/index.d.ts",
230
- "esm2022": "./esm2022/src/lib/components/date-picker/verben-ng-ui-src-lib-components-date-picker.mjs",
231
- "esm": "./esm2022/src/lib/components/date-picker/verben-ng-ui-src-lib-components-date-picker.mjs",
232
- "default": "./fesm2022/verben-ng-ui-src-lib-components-date-picker.mjs"
233
- },
234
- "./src/lib/components/icons": {
235
- "types": "./src/lib/components/icons/index.d.ts",
236
- "esm2022": "./esm2022/src/lib/components/icons/verben-ng-ui-src-lib-components-icons.mjs",
237
- "esm": "./esm2022/src/lib/components/icons/verben-ng-ui-src-lib-components-icons.mjs",
238
- "default": "./fesm2022/verben-ng-ui-src-lib-components-icons.mjs"
240
+ "./src/lib/components/number-input": {
241
+ "types": "./src/lib/components/number-input/index.d.ts",
242
+ "esm2022": "./esm2022/src/lib/components/number-input/verben-ng-ui-src-lib-components-number-input.mjs",
243
+ "esm": "./esm2022/src/lib/components/number-input/verben-ng-ui-src-lib-components-number-input.mjs",
244
+ "default": "./fesm2022/verben-ng-ui-src-lib-components-number-input.mjs"
239
245
  },
240
- "./src/lib/components/shared": {
241
- "types": "./src/lib/components/shared/index.d.ts",
242
- "esm2022": "./esm2022/src/lib/components/shared/verben-ng-ui-src-lib-components-shared.mjs",
243
- "esm": "./esm2022/src/lib/components/shared/verben-ng-ui-src-lib-components-shared.mjs",
244
- "default": "./fesm2022/verben-ng-ui-src-lib-components-shared.mjs"
246
+ "./src/lib/components/pop-up": {
247
+ "types": "./src/lib/components/pop-up/index.d.ts",
248
+ "esm2022": "./esm2022/src/lib/components/pop-up/verben-ng-ui-src-lib-components-pop-up.mjs",
249
+ "esm": "./esm2022/src/lib/components/pop-up/verben-ng-ui-src-lib-components-pop-up.mjs",
250
+ "default": "./fesm2022/verben-ng-ui-src-lib-components-pop-up.mjs"
245
251
  },
246
252
  "./src/lib/components/image": {
247
253
  "types": "./src/lib/components/image/index.d.ts",
@@ -249,6 +255,12 @@
249
255
  "esm": "./esm2022/src/lib/components/image/verben-ng-ui-src-lib-components-image.mjs",
250
256
  "default": "./fesm2022/verben-ng-ui-src-lib-components-image.mjs"
251
257
  },
258
+ "./src/lib/components/shared": {
259
+ "types": "./src/lib/components/shared/index.d.ts",
260
+ "esm2022": "./esm2022/src/lib/components/shared/verben-ng-ui-src-lib-components-shared.mjs",
261
+ "esm": "./esm2022/src/lib/components/shared/verben-ng-ui-src-lib-components-shared.mjs",
262
+ "default": "./fesm2022/verben-ng-ui-src-lib-components-shared.mjs"
263
+ },
252
264
  "./src/lib/components/sort-table": {
253
265
  "types": "./src/lib/components/sort-table/index.d.ts",
254
266
  "esm2022": "./esm2022/src/lib/components/sort-table/verben-ng-ui-src-lib-components-sort-table.mjs",
@@ -273,11 +285,11 @@
273
285
  "esm": "./esm2022/src/lib/components/tooltip/verben-ng-ui-src-lib-components-tooltip.mjs",
274
286
  "default": "./fesm2022/verben-ng-ui-src-lib-components-tooltip.mjs"
275
287
  },
276
- "./src/lib/components/number-input": {
277
- "types": "./src/lib/components/number-input/index.d.ts",
278
- "esm2022": "./esm2022/src/lib/components/number-input/verben-ng-ui-src-lib-components-number-input.mjs",
279
- "esm": "./esm2022/src/lib/components/number-input/verben-ng-ui-src-lib-components-number-input.mjs",
280
- "default": "./fesm2022/verben-ng-ui-src-lib-components-number-input.mjs"
288
+ "./src/lib/components/verben-dialogue": {
289
+ "types": "./src/lib/components/verben-dialogue/index.d.ts",
290
+ "esm2022": "./esm2022/src/lib/components/verben-dialogue/verben-ng-ui-src-lib-components-verben-dialogue.mjs",
291
+ "esm": "./esm2022/src/lib/components/verben-dialogue/verben-ng-ui-src-lib-components-verben-dialogue.mjs",
292
+ "default": "./fesm2022/verben-ng-ui-src-lib-components-verben-dialogue.mjs"
281
293
  },
282
294
  "./src/lib/components/verben-mail": {
283
295
  "types": "./src/lib/components/verben-mail/index.d.ts",
@@ -291,17 +303,11 @@
291
303
  "esm": "./esm2022/src/lib/components/verben-time-picker/verben-ng-ui-src-lib-components-verben-time-picker.mjs",
292
304
  "default": "./fesm2022/verben-ng-ui-src-lib-components-verben-time-picker.mjs"
293
305
  },
294
- "./src/lib/components/pop-up": {
295
- "types": "./src/lib/components/pop-up/index.d.ts",
296
- "esm2022": "./esm2022/src/lib/components/pop-up/verben-ng-ui-src-lib-components-pop-up.mjs",
297
- "esm": "./esm2022/src/lib/components/pop-up/verben-ng-ui-src-lib-components-pop-up.mjs",
298
- "default": "./fesm2022/verben-ng-ui-src-lib-components-pop-up.mjs"
299
- },
300
- "./src/lib/components/verben-dialogue": {
301
- "types": "./src/lib/components/verben-dialogue/index.d.ts",
302
- "esm2022": "./esm2022/src/lib/components/verben-dialogue/verben-ng-ui-src-lib-components-verben-dialogue.mjs",
303
- "esm": "./esm2022/src/lib/components/verben-dialogue/verben-ng-ui-src-lib-components-verben-dialogue.mjs",
304
- "default": "./fesm2022/verben-ng-ui-src-lib-components-verben-dialogue.mjs"
306
+ "./src/lib/components/verbena-tab": {
307
+ "types": "./src/lib/components/verbena-tab/index.d.ts",
308
+ "esm2022": "./esm2022/src/lib/components/verbena-tab/verben-ng-ui-src-lib-components-verbena-tab.mjs",
309
+ "esm": "./esm2022/src/lib/components/verbena-tab/verben-ng-ui-src-lib-components-verbena-tab.mjs",
310
+ "default": "./fesm2022/verben-ng-ui-src-lib-components-verbena-tab.mjs"
305
311
  },
306
312
  "./src/lib/components/visible-column": {
307
313
  "types": "./src/lib/components/visible-column/index.d.ts",
@@ -309,12 +315,6 @@
309
315
  "esm": "./esm2022/src/lib/components/visible-column/verben-ng-ui-src-lib-components-visible-column.mjs",
310
316
  "default": "./fesm2022/verben-ng-ui-src-lib-components-visible-column.mjs"
311
317
  },
312
- "./src/lib/components/verbena-tab": {
313
- "types": "./src/lib/components/verbena-tab/index.d.ts",
314
- "esm2022": "./esm2022/src/lib/components/verbena-tab/verben-ng-ui-src-lib-components-verbena-tab.mjs",
315
- "esm": "./esm2022/src/lib/components/verbena-tab/verben-ng-ui-src-lib-components-verbena-tab.mjs",
316
- "default": "./fesm2022/verben-ng-ui-src-lib-components-verbena-tab.mjs"
317
- },
318
318
  "./src/lib/components/verbena-icon": {
319
319
  "types": "./src/lib/components/verbena-icon/index.d.ts",
320
320
  "esm2022": "./esm2022/src/lib/components/verbena-icon/verben-ng-ui-src-lib-components-verbena-icon.mjs",