tickera-angular-components 0.0.1-dev.152 → 0.0.1-dev.153
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.
|
@@ -5210,6 +5210,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
5210
5210
|
class NumberInputComponent {
|
|
5211
5211
|
transloco;
|
|
5212
5212
|
injector;
|
|
5213
|
+
elementRef;
|
|
5213
5214
|
label = '';
|
|
5214
5215
|
name = '';
|
|
5215
5216
|
id = '';
|
|
@@ -5225,9 +5226,10 @@ class NumberInputComponent {
|
|
|
5225
5226
|
onChange = () => { };
|
|
5226
5227
|
onTouched = () => { };
|
|
5227
5228
|
_ngControl;
|
|
5228
|
-
constructor(transloco, injector) {
|
|
5229
|
+
constructor(transloco, injector, elementRef) {
|
|
5229
5230
|
this.transloco = transloco;
|
|
5230
5231
|
this.injector = injector;
|
|
5232
|
+
this.elementRef = elementRef;
|
|
5231
5233
|
}
|
|
5232
5234
|
get ngControl() {
|
|
5233
5235
|
if (this._ngControl === undefined) {
|
|
@@ -5277,6 +5279,7 @@ class NumberInputComponent {
|
|
|
5277
5279
|
this.value = next;
|
|
5278
5280
|
this.onChange(next);
|
|
5279
5281
|
this.onTouched();
|
|
5282
|
+
this.emitNativeChange();
|
|
5280
5283
|
}
|
|
5281
5284
|
decrement() {
|
|
5282
5285
|
if (!this.canDecrement)
|
|
@@ -5287,6 +5290,7 @@ class NumberInputComponent {
|
|
|
5287
5290
|
this.value = next;
|
|
5288
5291
|
this.onChange(next);
|
|
5289
5292
|
this.onTouched();
|
|
5293
|
+
this.emitNativeChange();
|
|
5290
5294
|
}
|
|
5291
5295
|
get canIncrement() {
|
|
5292
5296
|
if (this.disabled || this.readonly)
|
|
@@ -5344,6 +5348,12 @@ class NumberInputComponent {
|
|
|
5344
5348
|
round(value) {
|
|
5345
5349
|
return Math.round(value * 1e8) / 1e8;
|
|
5346
5350
|
}
|
|
5351
|
+
emitNativeChange() {
|
|
5352
|
+
const inputEl = this.elementRef.nativeElement.querySelector('input');
|
|
5353
|
+
if (inputEl) {
|
|
5354
|
+
inputEl.dispatchEvent(new Event('change', { bubbles: true }));
|
|
5355
|
+
}
|
|
5356
|
+
}
|
|
5347
5357
|
minValidator(control) {
|
|
5348
5358
|
if (this.min === null)
|
|
5349
5359
|
return null;
|
|
@@ -5366,7 +5376,7 @@ class NumberInputComponent {
|
|
|
5366
5376
|
return null;
|
|
5367
5377
|
return num > this.max ? { max: { max: this.max, actual: num } } : null;
|
|
5368
5378
|
}
|
|
5369
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: NumberInputComponent, deps: [{ token: i2.TranslocoService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
5379
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: NumberInputComponent, deps: [{ token: i2.TranslocoService }, { token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
5370
5380
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: NumberInputComponent, isStandalone: true, selector: "number-input", inputs: { label: "label", name: "name", id: "id", placeholder: "placeholder", required: "required", readonly: "readonly", min: "min", max: "max", step: "step", fieldGroupClass: "fieldGroupClass" }, providers: [
|
|
5371
5381
|
{
|
|
5372
5382
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -5386,7 +5396,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
5386
5396
|
},
|
|
5387
5397
|
{ provide: NG_VALIDATORS, useExisting: forwardRef(() => NumberInputComponent), multi: true },
|
|
5388
5398
|
], template: "<div [class]=\"fieldGroupClasses\">\n @if (label) {\n <label [for]=\"inputId\" class=\"number-input-label\">\n {{ label }}\n\n @if (required) {\n <span class=\"number-input-required\">*</span>\n }\n </label>\n }\n\n <div class=\"number-input-group\" [class.error]=\"showError\">\n <button\n type=\"button\"\n class=\"number-input-button\"\n [attr.aria-label]=\"transloco.translate('numberInput.decrement')\"\n [disabled]=\"!canDecrement\"\n (click)=\"decrement()\"\n >\n <i class=\"ri-subtract-line\"></i>\n </button>\n\n <input\n type=\"number\"\n [id]=\"inputId\"\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [value]=\"value ?? ''\"\n (input)=\"onInput($event.target.value)\"\n (blur)=\"onTouched()\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [class.disabled]=\"readonly\"\n class=\"number-input\"\n />\n\n <button\n type=\"button\"\n class=\"number-input-button\"\n [attr.aria-label]=\"transloco.translate('numberInput.increment')\"\n [disabled]=\"!canIncrement\"\n (click)=\"increment()\"\n >\n <i class=\"ri-add-line\"></i>\n </button>\n </div>\n\n @if (showError) {\n <div class=\"number-input-error-message\">\n {{ errorMessage }}\n </div>\n }\n</div>\n", styles: [".number-input-label{color:#374151;display:block;font-size:.875rem;font-weight:600;margin-bottom:.25rem}@media(prefers-color-scheme:dark){.number-input-label{color:#d1d5db}}.number-input-group{display:flex;align-items:stretch}.number-input-group.error .number-input{outline-color:#ef4444}@media(prefers-color-scheme:dark){.number-input-group.error .number-input{background-color:#374151;color:#fff;outline-color:#ef4444}}.number-input-group.error .number-input-button{border-color:#ef4444}@media(prefers-color-scheme:dark){.number-input-group.error .number-input-button{background-color:#374151;color:#fff}}.number-input-button{align-items:center;background-color:#fff;border:1px solid #d1d5db;color:#4b5563;cursor:pointer;display:flex;justify-content:center;padding:0;width:2.5rem;transition:background-color .15s ease}.number-input-button:first-child{border-radius:.375rem 0 0 .375rem;margin-right:-1px}.number-input-button:last-child{border-radius:0 .375rem .375rem 0;margin-left:-1px}.number-input-button i{font-size:1.125rem;line-height:1}.number-input-button:hover:not(:disabled){background-color:#f3f4f6;color:#111827}.number-input-button:disabled{background-color:#e5e7eb;color:#9ca3af;cursor:not-allowed}@media(prefers-color-scheme:dark){.number-input-button{background-color:#1f2937;border-color:#4b5563;color:#d1d5db}.number-input-button:hover:not(:disabled){background-color:#374151;color:#fff}.number-input-button:disabled{background-color:#374151;color:#6b7280}}.number-input{background-color:#fff;border:1px solid #d1d5db;color:#111827;display:block;font-weight:500;outline:1px solid #d1d5db;outline-offset:-1px;padding:.375rem .75rem;text-align:center;width:100%}.number-input::placeholder{color:#9ca3af}.number-input:focus{outline:2px solid #4f46e5;outline-offset:-2px}.number-input.disabled{background-color:#e5e7eb;color:#6b7280;cursor:not-allowed}@media(prefers-color-scheme:dark){.number-input.disabled{background-color:#374151;color:#d1d5db}}.number-input::-webkit-inner-spin-button,.number-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.number-input[type=number]{-moz-appearance:textfield;appearance:textfield}@media(prefers-color-scheme:dark){.number-input{background-color:#1f2937;border-color:#4b5563;color:#f3f4f6}.number-input::placeholder{color:#6b7280}}@media(min-width:768px){.number-input{font-size:.875rem}}.number-input-required{color:#ef4444}.number-input-error-message{color:#ef4444;font-size:.75rem;margin-top:.25rem}\n"] }]
|
|
5389
|
-
}], ctorParameters: () => [{ type: i2.TranslocoService }, { type: i0.Injector }], propDecorators: { label: [{
|
|
5399
|
+
}], ctorParameters: () => [{ type: i2.TranslocoService }, { type: i0.Injector }, { type: i0.ElementRef }], propDecorators: { label: [{
|
|
5390
5400
|
type: Input
|
|
5391
5401
|
}], name: [{
|
|
5392
5402
|
type: Input
|