@gerandon/ngx-widgets 20.1.0 → 20.1.2
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,18 +1,17 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
|
-
import { input, inject, Injector, ChangeDetectorRef, ViewChild, Directive, InjectionToken, signal, Input, Optional, Inject, isDevMode, output, forwardRef, ViewEncapsulation, Component, ViewChildren
|
2
|
+
import { input, inject, Injector, ChangeDetectorRef, ViewChild, Directive, InjectionToken, viewChild, signal, Input, Optional, Inject, isDevMode, output, forwardRef, ViewEncapsulation, Component, ViewChildren } from '@angular/core';
|
3
3
|
import * as i1 from '@angular/forms';
|
4
4
|
import { FormControl, NgControl, ReactiveFormsModule, NG_VALUE_ACCESSOR, NG_ASYNC_VALIDATORS, FormsModule } from '@angular/forms';
|
5
|
-
import { of, Subject, startWith, takeUntil,
|
5
|
+
import { of, Subject, startWith, takeUntil, debounceTime, Observable, tap, switchMap, map } from 'rxjs';
|
6
6
|
import * as i3 from '@angular/material/form-field';
|
7
7
|
import { MAT_FORM_FIELD_DEFAULT_OPTIONS, MatFormFieldModule, MatFormField, MatLabel, MatError } from '@angular/material/form-field';
|
8
8
|
import { isEmpty, keys, isEqual, find } from 'lodash-es';
|
9
9
|
import { LiveAnnouncer } from '@angular/cdk/a11y';
|
10
|
+
import * as i4 from '@angular/material/input';
|
11
|
+
import { MatInput, MatInputModule } from '@angular/material/input';
|
10
12
|
import { SafeSubscriber } from 'rxjs/internal/Subscriber';
|
11
13
|
import * as i2 from '@angular/material/icon';
|
12
14
|
import { MatIconModule } from '@angular/material/icon';
|
13
|
-
import * as i4 from '@angular/material/input';
|
14
|
-
import { MatInputModule, MatInput } from '@angular/material/input';
|
15
|
-
import { NgIf, AsyncPipe } from '@angular/common';
|
16
15
|
import { NgxMaskDirective } from 'ngx-mask';
|
17
16
|
import * as i2$1 from '@angular/material/select';
|
18
17
|
import { MatSelectModule } from '@angular/material/select';
|
@@ -20,6 +19,7 @@ import { MatTooltipModule } from '@angular/material/tooltip';
|
|
20
19
|
import { takeUntil as takeUntil$1 } from 'rxjs/operators';
|
21
20
|
import * as i5 from '@angular/cdk/text-field';
|
22
21
|
import { ENTER, COMMA } from '@angular/cdk/keycodes';
|
22
|
+
import { AsyncPipe } from '@angular/common';
|
23
23
|
import * as i4$1 from '@angular/material/autocomplete';
|
24
24
|
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
25
25
|
import * as i1$1 from '@angular/material/chips';
|
@@ -105,6 +105,8 @@ class BaseInput extends BaseValueAccessor {
|
|
105
105
|
this.ariaPlaceholder = input('', { alias: 'aria-placeholder' });
|
106
106
|
this.ariaDescribedBy = input('', { alias: 'aria-describedby' });
|
107
107
|
this.ariaDescription = input('', { alias: 'aria-description' });
|
108
|
+
this.focusOnInit = input(false);
|
109
|
+
this.matInput = viewChild(MatInput);
|
108
110
|
this.controlErrorKeys = [];
|
109
111
|
this.liveAnnouncer = inject(LiveAnnouncer);
|
110
112
|
this.matFormFieldConfig = inject(MAT_FORM_FIELD_DEFAULT_OPTIONS);
|
@@ -138,12 +140,16 @@ class BaseInput extends BaseValueAccessor {
|
|
138
140
|
}
|
139
141
|
ngAfterViewInit() {
|
140
142
|
super.ngAfterViewInit();
|
141
|
-
this.
|
142
|
-
this.control.statusChanges.pipe(startWith(this.control.status), takeUntil(this.destroy$)).subscribe(() => {
|
143
|
+
this.control.statusChanges.pipe(startWith(this.control.status), takeUntil(this.destroy$), debounceTime(100)).subscribe(() => {
|
143
144
|
if (!this.control.hasError('server')) {
|
144
145
|
this.controlErrorKeys = keys(this.control.errors).map((key) => key);
|
146
|
+
this.cdr.detectChanges();
|
145
147
|
}
|
146
148
|
});
|
149
|
+
if (this.focusOnInit()) {
|
150
|
+
this.matInput()?.focus();
|
151
|
+
}
|
152
|
+
this.cdr.detectChanges();
|
147
153
|
}
|
148
154
|
announce(key) {
|
149
155
|
if (this._defaultAnnouncerTranslations?.[key]) {
|
@@ -161,7 +167,7 @@ class BaseInput extends BaseValueAccessor {
|
|
161
167
|
}
|
162
168
|
}
|
163
169
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: BaseInput, deps: [{ token: NGX_WIDGETS_VALIDATION_TRANSLATIONS, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
164
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.
|
170
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "20.0.3", type: BaseInput, isStandalone: true, inputs: { appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: false, isRequired: false, transformFunction: null }, translateParams: { classPropertyName: "translateParams", publicName: "translateParams", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, floatLabel: { classPropertyName: "floatLabel", publicName: "floatLabel", isSignal: true, isRequired: false, transformFunction: null }, prefixIcon: { classPropertyName: "prefixIcon", publicName: "prefixIcon", isSignal: false, isRequired: false, transformFunction: null }, suffixIcon: { classPropertyName: "suffixIcon", publicName: "suffixIcon", isSignal: false, isRequired: false, transformFunction: null }, suffix: { classPropertyName: "suffix", publicName: "suffix", isSignal: false, isRequired: false, transformFunction: null }, formControlName: { classPropertyName: "formControlName", publicName: "formControlName", isSignal: true, isRequired: false, transformFunction: null }, validatorMessages: { classPropertyName: "validatorMessages", publicName: "validatorMessages", isSignal: true, isRequired: false, transformFunction: null }, subscriptSizing: { classPropertyName: "subscriptSizing", publicName: "subscriptSizing", isSignal: true, isRequired: false, transformFunction: null }, hintLabel: { classPropertyName: "hintLabel", publicName: "hintLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaPlaceholder: { classPropertyName: "ariaPlaceholder", publicName: "aria-placeholder", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedBy: { classPropertyName: "ariaDescribedBy", publicName: "aria-describedby", isSignal: true, isRequired: false, transformFunction: null }, ariaDescription: { classPropertyName: "ariaDescription", publicName: "aria-description", isSignal: true, isRequired: false, transformFunction: null }, focusOnInit: { classPropertyName: "focusOnInit", publicName: "focusOnInit", isSignal: true, isRequired: false, transformFunction: null }, announcerTranslations: { classPropertyName: "announcerTranslations", publicName: "announcerTranslations", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "matInput", first: true, predicate: MatInput, descendants: true, isSignal: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
|
165
171
|
}
|
166
172
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: BaseInput, decorators: [{
|
167
173
|
type: Directive
|
@@ -300,7 +306,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImpor
|
|
300
306
|
MatIconModule,
|
301
307
|
MatFormFieldModule,
|
302
308
|
MatInputModule,
|
303
|
-
NgIf,
|
304
309
|
NgxMaskDirective,
|
305
310
|
], providers: [
|
306
311
|
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => BasicInputComponent), multi: true },
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"gerandon-ngx-widgets.mjs","sources":["../../../projects/ngx-widgets/src/lib/core/base-value-accessor.ts","../../../projects/ngx-widgets/src/lib/core/base-input.ts","../../../projects/ngx-widgets/src/lib/core/base-text-input.ts","../../../projects/ngx-widgets/src/lib/core/base-mask-input.ts","../../../projects/ngx-widgets/src/lib/core/component-unsubscribe.ts","../../../projects/ngx-widgets/src/lib/basic-input/basic-input.component.ts","../../../projects/ngx-widgets/src/lib/basic-input/basic-input.component.html","../../../projects/ngx-widgets/src/lib/select/select.component.ts","../../../projects/ngx-widgets/src/lib/select/select.component.html","../../../projects/ngx-widgets/src/lib/textarea-input/textarea-input.component.ts","../../../projects/ngx-widgets/src/lib/textarea-input/textarea-input.component.html","../../../projects/ngx-widgets/src/lib/basic-chips/basic-chips.component.ts","../../../projects/ngx-widgets/src/lib/basic-chips/basic-chips.component.html","../../../projects/ngx-widgets/src/public-api.ts","../../../projects/ngx-widgets/src/gerandon-ngx-widgets.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectorRef, Directive,\n ElementRef, inject,\n Injector, OnDestroy, Type,\n ViewChild,\n input\n} from '@angular/core';\r\nimport {\r\n AbstractControl,\r\n ControlValueAccessor, FormControl,\r\n NgControl,\r\n ValidationErrors,\r\n Validator, ValidatorFn,\r\n} from '@angular/forms';\r\n\r\nimport {Observable, of, Subject} from 'rxjs';\r\n\r\n@Directive()\r\nexport class BaseValueAccessor<T> implements ControlValueAccessor, AfterViewInit, Validator, OnDestroy {\r\n\r\n public readonly validator = input<Observable<ValidationErrors>>(of({}));\r\n @ViewChild('inputElement') inputElement!: ElementRef;\r\n @ViewChild('input') input!: NgControl;\r\n\r\n public control: FormControl;\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n private onChange = (value: T) => {\r\n };\r\n private onTouched = () => {\r\n };\r\n private readonly injector: Injector = inject(Injector);\r\n protected controlDir!: NgControl;\r\n protected readonly cdr: ChangeDetectorRef = inject(ChangeDetectorRef);\r\n protected _validate: ValidatorFn;\r\n protected readonly _defaultValidate: ValidatorFn = () => null;\r\n\r\n protected readonly destroy$ = new Subject<void>();\r\n\r\n constructor() {\r\n this._validate = this._defaultValidate;\r\n // Temporarily, AfterViewInit will handle the correct setting\r\n this.control = new FormControl();\r\n }\r\n\r\n validate(control: AbstractControl): Observable<ValidationErrors> {\r\n control.setErrors({ ...control.errors, pending: true });\r\n return this.validator();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.controlDir = this.injector.get<NgControl>(NgControl as Type<NgControl>);\r\n this.control = <FormControl>this.controlDir.control;\r\n // For ng-valid expression changed error workaround purposes\r\n this.cdr.detectChanges();\r\n }\r\n\r\n writeValue(obj: T): void {\r\n this.valueAccessor?.writeValue(obj);\r\n }\r\n\r\n registerOnChange(fn: (value: T) => unknown): void {\r\n this.onChange = fn;\r\n this.valueAccessor?.registerOnChange(fn);\r\n }\r\n\r\n registerOnTouched(fn: () => unknown) {\r\n this.onTouched = fn;\r\n this.valueAccessor?.registerOnTouched(fn);\r\n }\r\n\r\n protected get valueAccessor(): ControlValueAccessor | null {\r\n return this.input ? this.input.valueAccessor : null;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n Directive, Inject, inject, InjectionToken,\r\n Input, OnChanges,\r\n OnInit, Optional, SimpleChanges,\r\n input, signal, WritableSignal\r\n} from '@angular/core';\r\nimport {\r\n FloatLabelType,\r\n MAT_FORM_FIELD_DEFAULT_OPTIONS,\r\n MatFormFieldAppearance,\r\n SubscriptSizing\r\n} from '@angular/material/form-field';\r\n\r\nimport {BaseValueAccessor} from './base-value-accessor';\r\nimport {isEmpty, keys} from 'lodash-es';\r\nimport {LiveAnnouncer} from \"@angular/cdk/a11y\";\r\nimport {ThemePalette} from \"@angular/material/core\";\r\nimport {startWith, takeUntil} from \"rxjs\";\r\n\r\nexport interface NgxWidgetsValidationErrorTypes {\r\n required?: string;\r\n selectGlobalPlaceholder?: string;\r\n}\r\n\r\nexport const NGX_WIDGETS_VALIDATION_TRANSLATIONS = new InjectionToken<NgxWidgetsValidationErrorTypes>('NGX_WIDGETS_VALIDATION_TRANSLATIONS');\r\n/**\r\n * @deprecated\r\n * This token is deprecated and will be removed in Angular v21. Use MAT_FORM_FIELD_DEFAULT_OPTIONS instead.\r\n */\r\nexport const NGX_WIDGETS_FORM_FIELD_APPEARANCE = new InjectionToken<MatFormFieldAppearance>('NGX_WIDGETS_FORM_FIELD_APPEARANCE');\r\n\r\n@Directive()\r\nexport class BaseInput<T, ANNOUNCER_TYPE = object> extends BaseValueAccessor<T> implements OnInit, AfterViewInit, OnChanges {\r\n\r\n public readonly appearance = input<MatFormFieldAppearance>();\r\n protected readonly _appearance: WritableSignal<MatFormFieldAppearance>;\r\n public readonly color = input<ThemePalette>();\r\n protected readonly _color: WritableSignal<ThemePalette>;\r\n // TODO: Skipped for migration because:\r\n // Your application code writes to the input. This prevents migration.\r\n @Input() public id!: string;\r\n // TODO: Skipped for migration because:\r\n // Your application code writes to the input. This prevents migration.\r\n @Input() public name!: string;\r\n // TODO: Skipped for migration because:\r\n // Your application code writes to the input. This prevents migration.\r\n @Input() public label!: string;\r\n public readonly translateParams = input<unknown>();\r\n // TODO: Skipped for migration because:\r\n // Your application code writes to the input. This prevents migration.\r\n @Input() public placeholder!: string;\r\n public readonly isDisabled = input<boolean | undefined>(false);\r\n public readonly floatLabel = input<FloatLabelType>('auto');\r\n // TODO: Skipped for migration because:\r\n // This input is used in a control flow expression (e.g. `@if` or `*ngIf`)\r\n // and migrating would break narrowing currently.\r\n @Input() public prefixIcon?: string;\r\n // TODO: Skipped for migration because:\r\n // This input is used in a control flow expression (e.g. `@if` or `*ngIf`)\r\n // and migrating would break narrowing currently.\r\n @Input() public suffixIcon?: string;\r\n // TODO: Skipped for migration because:\r\n // This input is used in a control flow expression (e.g. `@if` or `*ngIf`)\r\n // and migrating would break narrowing currently.\r\n @Input() public suffix?: string;\r\n public readonly formControlName = input<string>();\r\n public readonly validatorMessages = input<{\r\n [key: string]: string;\r\n }>();\r\n public readonly subscriptSizing = input<SubscriptSizing>('fixed');\r\n public readonly hintLabel = input('');\r\n public readonly ariaLabel = input('', { alias: 'aria-label' });\r\n public readonly ariaPlaceholder = input('', { alias: 'aria-placeholder' });\r\n public readonly ariaDescribedBy = input('', { alias: 'aria-describedby' });\r\n public readonly ariaDescription = input('', { alias: 'aria-description' });\r\n protected controlErrorKeys: string[] = [];\r\n private readonly liveAnnouncer = inject(LiveAnnouncer);\r\n private readonly matFormFieldConfig = inject(MAT_FORM_FIELD_DEFAULT_OPTIONS);\r\n public readonly announcerTranslations = input<ANNOUNCER_TYPE>();\r\n public validatorMessagesArray: { key: string, value: unknown }[] = [];\r\n protected _defaultAnnouncerTranslations?: { [P in keyof ANNOUNCER_TYPE]-?: ANNOUNCER_TYPE[P] };\r\n\r\n constructor(@Optional() @Inject(NGX_WIDGETS_VALIDATION_TRANSLATIONS) protected readonly validationTranslations: NgxWidgetsValidationErrorTypes | any = {}) {\r\n super();\r\n this._appearance = signal<MatFormFieldAppearance>(this.matFormFieldConfig.appearance ?? 'fill');\r\n this._color = signal<ThemePalette>(this.matFormFieldConfig.color ?? 'primary');\r\n }\r\n\r\n ngOnInit() {\r\n this.placeholder = this.placeholder === undefined ? this.label : this.placeholder;\r\n if (!this.name) {\r\n this.name = this.formControlName()!;\r\n /*\r\n console.warn(`name attribute is not defined for ${this.formControlName}! Please beware, that using this control multiple\r\n times with the same control name could result in wrong focus, clicking on the label!`);\r\n */\r\n }\r\n // *ngIf seems like does not re-render component when label is used with dynamic value (e.g.: translate pipe). Strange\r\n this.label = this.label || ' ';\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['validatorMessages']) {\r\n const validatorMessages = this.validatorMessages();\r\n if (!isEmpty(validatorMessages)) {\r\n this.validatorMessagesArray = keys(validatorMessages).map((key) => ({\r\n key,\r\n value: this.validatorMessages()![key],\r\n }));\r\n }\r\n }\r\n }\r\n\r\n override ngAfterViewInit() {\r\n super.ngAfterViewInit();\r\n this.cdr.detectChanges();\r\n this.control.statusChanges.pipe(\r\n startWith(this.control.status),\r\n takeUntil(this.destroy$),\r\n ).subscribe(() => {\r\n if (!this.control.hasError('server')) {\r\n this.controlErrorKeys = keys(this.control.errors).map((key) => key);\r\n }\r\n });\r\n }\r\n\r\n protected announce(key: keyof ANNOUNCER_TYPE | string) {\r\n if (this._defaultAnnouncerTranslations?.[key as keyof ANNOUNCER_TYPE]) {\r\n const _key = key as keyof ANNOUNCER_TYPE\r\n const inputTranslation = this.announcerTranslations()?.[_key] as string;\r\n if (inputTranslation) {\r\n return this.liveAnnouncer.announce(inputTranslation, 'assertive');\r\n } else {\r\n return this.liveAnnouncer.announce(this._defaultAnnouncerTranslations![_key] as string, 'assertive');\r\n }\r\n } else {\r\n return this.liveAnnouncer.announce(key as string, 'assertive');\r\n }\r\n }\r\n}\r\n","import {\r\n Directive,\r\n input\r\n} from '@angular/core';\r\n\r\nimport { BaseInput } from './base-input';\r\n\r\n@Directive()\r\nexport class BaseTextInput<T, ANNOUNCER_TYPE = object> extends BaseInput<T, ANNOUNCER_TYPE> {\r\n\r\n public readonly type = input<('text' | 'password' | 'number' | 'email' | 'tel')>('text');\r\n public readonly maxLength = input<number | undefined>(512);\r\n}\r\n","import {BaseTextInput} from \"./base-text-input\";\nimport {AfterViewInit, Directive, ViewChild, input} from \"@angular/core\";\nimport {NgxMaskDirective} from \"ngx-mask\";\n\n@Directive()\nexport class BaseMaskInput extends BaseTextInput<string> implements AfterViewInit {\n\n public readonly mask = input<string>();\n public readonly showMaskTyped = input(false);\n public readonly dropSpecialCharacters = input<string[] | boolean | readonly string[] | null>();\n public readonly specialCharacters = input<string[]>();\n public readonly placeHolderCharacter = input<string>('_');\n public readonly maskPrefix = input<string>('');\n public readonly maskSuffix = input<string>('');\n\n @ViewChild('maskInput') maskInput!: NgxMaskDirective;\n\n override ngAfterViewInit() {\n super.ngAfterViewInit();\n\n if (this.maskInput) {\n this.maskInput._maskService.dropSpecialCharacters = this.dropSpecialCharacters()!;\n this.maskInput['_applyMask']();\n }\n }\n}\n","import { isDevMode } from '@angular/core';\n\nimport { Observable, Subject, takeUntil } from 'rxjs';\nimport { SafeSubscriber } from 'rxjs/internal/Subscriber';\n\n/**\n * Automatically unsubscribe from an Observable when the view is destroyed\n * Tested with checking the \"complete\" event of a subscribe method\n * @description\n * An Annotation that should be used with an Observable typed variable to handle its subscriptions\n * @author gergo.asztalos\n */\nexport function UnsubscribeOnDestroy<ObservableType>(): PropertyDecorator {\n return function (target: any, propertyKey: string | symbol) {\n const ngOnDestroy = target.ngOnDestroy;\n\n const secretKey = `_${<string>propertyKey}$`;\n // Probably with function we could use own context\n const destroyKey = (_this: any) =>\n _this.hasOwnProperty('destroy$') ? 'destroy$' : `${_this.constructor.name}_destroy$`;\n Object.defineProperty(target, secretKey, { enumerable: false, writable: true });\n Object.defineProperty(target, propertyKey, {\n configurable: true,\n enumerable: true,\n get: function() {\n return this[secretKey];\n },\n set: function(newValue: Observable<ObservableType> | SafeSubscriber<ObservableType>) {\n if (!this[destroyKey(this)]) {\n this[destroyKey(this)] = new Subject();\n }\n if (newValue instanceof Observable) {\n this[secretKey] = newValue.pipe(\n takeUntil(this[destroyKey(this)]),\n );\n } else {\n this[secretKey] = newValue;\n }\n },\n });\n\n target.ngOnDestroy = function () {\n if (this[propertyKey] instanceof SafeSubscriber) {\n this[propertyKey].unsubscribe();\n this[secretKey].unsubscribe();\n } else if (this.hasOwnProperty(destroyKey(this))) {\n this[destroyKey(this)].next();\n this[destroyKey(this)].complete();\n }\n delete this[secretKey];\n if (isDevMode()) {\n // eslint-disable-next-line no-console,max-len\n console.debug(`<UnsubscribeOnDestroy> - Observable/Subscription <${<string>propertyKey}> completed in class: ${this.constructor.name}`);\n }\n ngOnDestroy && ngOnDestroy.call(this);\n };\n };\n}\n","import {\n Component,\n forwardRef,\n OnInit,\n ViewEncapsulation,\n output\n} from '@angular/core';\r\nimport { NG_ASYNC_VALIDATORS, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\n\r\nimport {NgIf} from \"@angular/common\";\r\nimport {NgxMaskDirective} from \"ngx-mask\";\r\nimport {BaseMaskInput} from \"../core/base-mask-input\";\r\n\r\n@Component({\r\n selector: 'gerandon-basic-input',\r\n templateUrl: './basic-input.component.html',\r\n styleUrls: ['./basic-input.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n standalone: true,\r\n imports: [\r\n ReactiveFormsModule,\r\n MatIconModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n NgIf,\r\n NgxMaskDirective,\r\n ],\r\n providers: [\r\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => BasicInputComponent), multi: true },\r\n { provide: NG_ASYNC_VALIDATORS, useExisting: forwardRef(() => BasicInputComponent), multi: true },\r\n ],\r\n})\r\nexport class BasicInputComponent extends BaseMaskInput implements OnInit {\r\n\r\n readonly iconClick = output();\r\n\r\n override ngOnInit() {\r\n super.ngOnInit();\r\n this.id = this.id || this.name;\r\n }\r\n}\r\n","<div class=\"basic-input cva-input\">\r\n <mat-form-field [appearance]=\"appearance() ?? _appearance()\"\r\n [color]=\"color() ?? _color()\"\r\n [subscriptSizing]=\"subscriptSizing()\"\r\n [hintLabel]=\"hintLabel()\"\r\n [floatLabel]=\"floatLabel()\">\r\n @if (label) {\r\n <mat-label [class.disabled]=\"isDisabled()\">{{label}}</mat-label>\r\n }\r\n @if(mask()) {\r\n <input\r\n [id]=\"id\"\r\n #inputElement\r\n #input=\"ngForm\"\r\n #maskInput=\"ngxMask\"\r\n matInput\r\n [style.padding-right]=\"(suffix || prefixIcon) && '35px'\"\r\n [type]=\"type()\"\r\n [attr.disabled]=\"isDisabled() || control.disabled ? '' : null\"\r\n [attr.aria-placeholder]=\"ariaPlaceholder() || placeholder\"\r\n [attr.aria-label]=\"ariaLabel() || label\"\r\n [attr.aria-describedby]=\"ariaDescribedBy()\"\r\n [attr.aria-description]=\"ariaDescription()\"\r\n [readonly]=\"isDisabled()\"\r\n [placeholder]=\"placeholder\"\r\n [formControl]=\"control\"\r\n [maxLength]=\"maxLength()\"\r\n [name]=\"name\"\r\n [mask]=\"mask()\"\r\n [triggerOnMaskChange]=\"true\"\r\n [showMaskTyped]=\"showMaskTyped()\"\r\n [specialCharacters]=\"specialCharacters()!\"\r\n [placeHolderCharacter]=\"placeHolderCharacter()!\"\r\n [prefix]=\"maskPrefix()\"\r\n [suffix]=\"maskSuffix()\"\r\n />\r\n } @else {\r\n <input\r\n [id]=\"id\"\r\n #inputElement\r\n #input=\"ngForm\"\r\n matInput\r\n [style.padding-right]=\"(suffix || prefixIcon) && '35px'\"\r\n [type]=\"type()\"\r\n [attr.disabled]=\"isDisabled() || control.disabled ? '' : null\"\r\n [attr.aria-placeholder]=\"ariaPlaceholder() || placeholder\"\r\n [attr.aria-label]=\"ariaLabel() || label\"\r\n [attr.aria-describedby]=\"ariaDescribedBy()\"\r\n [attr.aria-description]=\"ariaDescription()\"\r\n [readonly]=\"isDisabled()\"\r\n [placeholder]=\"placeholder\"\r\n [formControl]=\"control\"\r\n [maxLength]=\"maxLength()\"\r\n [name]=\"name\"\r\n />\r\n }\r\n @if (prefixIcon) {\r\n <mat-icon matPrefix color=\"accent\">\r\n {{prefixIcon}}\r\n </mat-icon>\r\n }\r\n @if (suffixIcon) {\r\n <mat-icon matSuffix color=\"accent\">\r\n {{suffixIcon}}\r\n </mat-icon>\r\n }\r\n @if (suffix) {\r\n <span matSuffix style=\"margin-right: 10px\">{{suffix}}</span>\r\n }\r\n\r\n @if (control.errors?.['server']) {\r\n <mat-error>{{ control.errors?.['server'] }}</mat-error>\r\n }\r\n @for (errorKey of controlErrorKeys; track errorKey) {\r\n <mat-error>\r\n @if(validatorMessages()?.[errorKey]) {\r\n {{ validatorMessages()![errorKey] }}\r\n } @else if (!!validationTranslations?.[errorKey]) {\r\n {{ validationTranslations[errorKey] }}\r\n }\r\n </mat-error>\r\n }\r\n </mat-form-field>\r\n</div>\r\n","import {\r\n Component,\r\n ElementRef,\r\n forwardRef,\r\n Input,\r\n OnInit,\r\n QueryList,\r\n ViewChildren,\r\n ViewEncapsulation,\r\n input\r\n} from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\n\r\nimport {BaseInput} from '../core/base-input';\r\nimport { isEqual } from 'lodash-es';\r\nimport { Observable } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\nexport interface SelectOptionType {\r\n label: string;\r\n value: string | number | null | unknown;\r\n}\r\n\r\ninterface SelectAnnouncerTranslations {\r\n inputReset?: string;\r\n}\r\n\r\n@Component({\r\n selector: 'gerandon-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n standalone: true,\r\n providers: [\r\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SelectComponent), multi: true }\r\n ],\r\n imports: [\r\n MatInputModule,\r\n MatSelectModule,\r\n ReactiveFormsModule,\r\n MatTooltipModule,\r\n ],\r\n})\r\nexport class SelectComponent extends BaseInput<unknown, SelectAnnouncerTranslations> implements OnInit {\r\n\r\n /**\r\n * In this case, an empty option appears that resets the control, to an empty value state\r\n */\r\n // TODO: Skipped for migration because:\r\n // This input is used in a control flow expression (e.g. `@if` or `*ngIf`)\r\n // and migrating would break narrowing currently.\r\n @Input() public emptyOptionLabel?: string;\r\n @Input() public emptyOptionAriaLabel?: string = 'Üres';\r\n public readonly multiple = input<boolean>();\r\n // TODO: Skipped for migration because:\r\n // Your application code writes to the input. This prevents migration.\r\n @Input() public options!: SelectOptionType[];\r\n public readonly asyncOptions = input<Observable<SelectOptionType[]>>();\r\n @ViewChildren('optionElements') public optionElements!: QueryList<ElementRef>;\r\n protected override _defaultAnnouncerTranslations: { [P in keyof SelectAnnouncerTranslations]-?: SelectAnnouncerTranslations[P] } = {\r\n inputReset: 'Lenyíló mező törölve!'\r\n }\r\n\r\n /**\r\n * Angular Material - Select component comparsion is only '===', does not work with Array values\r\n * https://github.com/angular/components/blob/a07c0758a5ec2eb4de1bb822354be08178c66aa4/src/lib/select/select.ts#L242C48-L242C58\r\n */\r\n public readonly _isEqual = isEqual;\r\n\r\n override ngOnInit() {\r\n this.placeholder = !this.placeholder ? (this.validationTranslations?.selectGlobalPlaceholder || this.label) : this.placeholder;\r\n super.ngOnInit();\r\n this.id = this.id || this.formControlName() || this.name;\r\n const asyncOptions = this.asyncOptions();\r\n if (asyncOptions) {\r\n asyncOptions.pipe(takeUntil(this.destroy$)).subscribe((resp) => {\r\n this.options = resp;\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n }\r\n\r\n reset() {\r\n this.control.reset();\r\n this.announce('inputReset');\r\n }\r\n}\r\n","<mat-form-field [appearance]=\"appearance() ?? _appearance()\"\r\n [color]=\"color() ?? _color()\"\r\n [subscriptSizing]=\"subscriptSizing()\"\r\n [floatLabel]=\"floatLabel()\">\r\n @if (label) {\r\n <mat-label>{{ label }}</mat-label>\r\n }\r\n <mat-select #inputElement\r\n #input=\"ngForm\"\r\n [multiple]=\"multiple()\"\r\n [placeholder]=\"!floatLabel() ? label : placeholder\"\r\n [formControl]=\"control\"\r\n [id]=\"id\"\r\n [class.input-disabled]=\"isDisabled() || control.disabled\"\r\n [attr.aria-placeholder]=\"ariaPlaceholder() || placeholder\"\r\n [attr.aria-label]=\"ariaLabel() || label\"\r\n [attr.aria-describedby]=\"ariaDescribedBy()\"\r\n [attr.aria-description]=\"ariaDescription()\"\r\n [compareWith]=\"_isEqual\"\r\n [attr.disabled]=\"isDisabled() || control.disabled ? '' : null\">\r\n @if (emptyOptionLabel) {\r\n <mat-option (click)=\"reset()\" [attr.aria-label]=\"emptyOptionAriaLabel\">\r\n {{ emptyOptionLabel }}\r\n </mat-option>\r\n }\r\n @for(option of options; track option) {\r\n <mat-option [value]=\"option.value\">\r\n {{ option.label }}\r\n </mat-option>\r\n }\r\n </mat-select>\r\n @if (suffix) {\r\n <span matSuffix>{{suffix}}</span>\r\n }\r\n @if (control.errors?.['server']) {\r\n <mat-error>{{ control.errors?.['server'] }}</mat-error>\r\n }\r\n @for (errorKey of controlErrorKeys; track errorKey) {\r\n <mat-error>\r\n @if(validatorMessages()?.[errorKey]) {\r\n {{ validatorMessages()![errorKey] }}\r\n } @else if (!!validationTranslations?.[errorKey]) {\r\n {{ validationTranslations[errorKey] }}\r\n }\r\n </mat-error>\r\n }\r\n</mat-form-field>\r\n","import {Component, forwardRef, ViewEncapsulation, input, AfterViewInit, inject} from '@angular/core';\r\nimport { FormsModule, NG_ASYNC_VALIDATORS, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport {BaseTextInput} from \"../core/base-text-input\";\r\nimport {takeUntil} from \"rxjs\";\r\nimport {LiveAnnouncer} from \"@angular/cdk/a11y\";\r\n\r\ninterface TextareaAnnouncerTranslations {\r\n maxLengthReached?: string;\r\n}\r\n\r\n@Component({\r\n selector: 'gerandon-textarea-input',\r\n templateUrl: 'textarea-input.component.html',\r\n styleUrls: ['textarea-input.component.scss'],\r\n standalone: true,\r\n encapsulation: ViewEncapsulation.None,\r\n imports: [\r\n FormsModule,\r\n MatFormFieldModule,\r\n MatIconModule,\r\n MatInputModule,\r\n ReactiveFormsModule,\r\n ],\r\n providers: [\r\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => TextareaInputComponent), multi: true },\r\n { provide: NG_ASYNC_VALIDATORS, useExisting: forwardRef(() => TextareaInputComponent), multi: true },\r\n ],\r\n})\r\nexport class TextareaInputComponent extends BaseTextInput<string> implements AfterViewInit {\r\n\r\n public readonly rows = input(10);\r\n protected override _defaultAnnouncerTranslations: { [P in keyof TextareaAnnouncerTranslations]-?: TextareaAnnouncerTranslations[P] } = {\r\n maxLengthReached: 'Elérte a maximális karakter számot!',\r\n }\r\n\r\n override ngAfterViewInit() {\r\n super.ngAfterViewInit();\r\n this.control.valueChanges.pipe(\r\n takeUntil(this.destroy$)\r\n ).subscribe((value) => {\r\n if (value.length !== 0 && value.length >= (this.maxLength() ?? 0)) {\r\n this.announce('maxLengthReached');\r\n }\r\n })\r\n }\r\n}\r\n","<div class=\"textarea-input cva-input\">\r\n <mat-form-field [appearance]=\"appearance() ?? _appearance()\"\r\n [color]=\"color() ?? _color()\"\r\n [subscriptSizing]=\"subscriptSizing()\"\r\n [floatLabel]=\"floatLabel()\">\r\n @if (label) {\r\n <mat-label [class.disabled]=\"isDisabled()\">{{ label }}</mat-label>\r\n }\r\n <textarea\r\n [id]=\"id\"\r\n #inputElement\r\n #input=\"ngForm\"\r\n #autosize=\"cdkTextareaAutosize\"\r\n matInput\r\n cdkTextareaAutosize\r\n [cdkAutosizeMinRows]=\"rows()\"\r\n class=\"w-100 cva-control\"\r\n [attr.disabled]=\"isDisabled() || control.disabled ? '' : null\"\r\n [attr.aria-placeholder]=\"ariaPlaceholder() || placeholder\"\r\n [attr.aria-label]=\"ariaLabel() || label\"\r\n [attr.aria-describedby]=\"ariaDescribedBy()\"\r\n [attr.aria-description]=\"ariaDescription()\"\r\n [readonly]=\"isDisabled()\"\r\n [placeholder]=\"placeholder\"\r\n [formControl]=\"control\"\r\n [maxLength]=\"maxLength()\"\r\n [name]=\"name\">\r\n </textarea>\r\n <span class=\"counter\">{{control.value?.length || 0}} / {{ maxLength() }}</span>\r\n @if (prefixIcon) {\r\n <mat-icon matPrefix color=\"accent\">\r\n {{prefixIcon}}\r\n </mat-icon>\r\n }\r\n @if (suffixIcon) {\r\n <mat-icon matSuffix color=\"accent\">\r\n {{suffixIcon}}\r\n </mat-icon>\r\n }\r\n @if (suffix) {\r\n <span matSuffix>{{suffix}}</span>\r\n }\r\n @if (control.errors?.['server']) {\r\n <mat-error>{{ control.errors?.['server'] }}</mat-error>\r\n }\r\n @for (errorKey of controlErrorKeys; track errorKey) {\r\n <mat-error>\r\n @if(validatorMessages()?.[errorKey]) {\r\n {{ validatorMessages()![errorKey] }}\r\n } @else if (!!validationTranslations?.[errorKey]) {\r\n {{ validationTranslations[errorKey] }}\r\n }\r\n </mat-error>\r\n }\r\n </mat-form-field>\r\n</div>\r\n","import {COMMA, ENTER} from '@angular/cdk/keycodes';\nimport {AsyncPipe} from '@angular/common';\nimport {\n Component,\n forwardRef,\n Input,\n ViewEncapsulation,\n input,\n viewChild,\n ElementRef,\n OnInit,\n} from '@angular/core';\nimport {NG_VALUE_ACCESSOR, ReactiveFormsModule} from '@angular/forms';\nimport {MatAutocompleteModule, MatAutocompleteSelectedEvent} from '@angular/material/autocomplete';\nimport {MatChipInputEvent, MatChipsModule} from '@angular/material/chips';\nimport {MatIconModule} from '@angular/material/icon';\n\nimport {debounceTime, map, Observable, of, Subject, switchMap, tap} from 'rxjs';\nimport {BaseInput} from \"../core/base-input\";\nimport {MatError, MatFormField, MatLabel} from \"@angular/material/form-field\";\nimport {MatInput} from \"@angular/material/input\";\nimport {find, isEqual} from \"lodash-es\";\n\ninterface ChipsAnnouncerTranslations {\n asyncFilterStart?: string;\n asyncFilterEnd?: string;\n itemRemoved?: string;\n itemAdded?: string;\n selectableItems?: string;\n}\n\n@Component({\n selector: 'gerandon-basic-chips',\n templateUrl: 'basic-chips.component.html',\n styleUrls: ['basic-chips.component.scss'],\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n providers: [{provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => BasicChipsComponent), multi: true}],\n imports: [\n MatChipsModule,\n MatIconModule,\n ReactiveFormsModule,\n MatAutocompleteModule,\n AsyncPipe,\n MatFormField,\n MatInput,\n MatLabel,\n MatError,\n ],\n})\nexport class BasicChipsComponent<T> extends BaseInput<T[], ChipsAnnouncerTranslations> implements OnInit {\n\n public readonly tsFilterInput = viewChild<ElementRef>('inputElement');\n public readonly asyncFilterFn = input<(value: string) => Observable<T[]>>();\n public readonly asyncOptions = input<Observable<T[]>>();\n public readonly startTypingLabel = input('Kezdjen el gépelni...');\n public readonly emptyListLabel = input('Nincs megjeleníthető elem!');\n /**\n * How much character you need to type before triggering search\n */\n public readonly startAsyncFnAt = input<number>(1);\n // TODO: Skipped for migration because:\n // This input is used in a control flow expression (e.g. `@if` or `*ngIf`)\n // and migrating would break narrowing currently.\n @Input() public labelProperty?: keyof T;\n public readonly separatorKeysCodes = [ENTER, COMMA] as const;\n public filterOptions$?: Observable<T[]>;\n protected _hintLabel!: string;\n private readonly inputChange = new Subject<string>();\n protected override _defaultAnnouncerTranslations: { [P in keyof ChipsAnnouncerTranslations]-?: ChipsAnnouncerTranslations[P] } = {\n asyncFilterStart: 'Szerver keresés elindítva',\n asyncFilterEnd: 'A szerver keresés lefutott',\n selectableItems: 'Választható elemek:',\n itemRemoved: 'Elem sikeresen eltávolítva',\n itemAdded: 'Elem hozzáadva'\n }\n\n override ngOnInit() {\n super.ngOnInit();\n this._hintLabel = this.hintLabel();\n if (this.asyncFilterFn()) {\n this.filterOptions$ = this.inputChange.pipe(\n debounceTime(300),\n tap(() => this.announce('asyncFilterStart')),\n switchMap((value) => {\n if (value && value.length >= this.startAsyncFnAt()) {\n return this.asyncFilterFn()!(value).pipe(\n map((responseList) => {\n this.announce('asyncFilterEnd');\n return responseList.filter((responseListItem) => {\n return !find(this.control.value, (controlAct) => isEqual(controlAct, responseListItem));\n })\n })\n );\n }\n return of([]);\n }),\n tap((responseList) => {\n this.announce('selectableItems').then(() => {\n this.announce(responseList.map((act) => this.labelProperty ? act[this.labelProperty] : act).join(','))\n });\n if (!this.tsFilterInput()?.nativeElement.value && !this.control.value) {\n this._hintLabel = this.hintLabel() ?? 'Kezdjen el gépelni...';\n } else {\n this._hintLabel = !responseList.length ? this.emptyListLabel() : '';\n }\n })\n )\n } else {\n this.filterOptions$ = this.asyncOptions();\n }\n }\n\n filter() {\n const filterValue = this.tsFilterInput()!.nativeElement.value;\n this.inputChange.next(filterValue);\n }\n\n remove(item: T) {\n const values: T[] = this.control.value;\n const index = values.indexOf(item);\n if (index >= 0) {\n values.splice(index, 1);\n this.control.setValue(values);\n }\n\n this.mark();\n this.announce('itemRemoved');\n }\n\n add(event: MatChipInputEvent): void {\n const value = (event.value || '').trim();\n if (value) {\n this.updateValue(value as T);\n }\n event.chipInput!.clear();\n\n this.mark();\n this.announce('itemAdded');\n }\n\n selected(event: MatAutocompleteSelectedEvent): void {\n if (!this.control.value?.includes(event.option.value)) {\n this.updateValue(<T>event.option.value);\n }\n this.inputElement.nativeElement.value = '';\n\n this.mark();\n }\n\n private updateValue(value: T) {\n this.control.setValue([\n ...(this.control.value || []),\n value,\n ]);\n }\n\n private mark() {\n if (!this.control.touched) {\n this.control.markAsTouched();\n this.control.markAsDirty();\n }\n }\n}\n","<mat-form-field [appearance]=\"appearance() ?? _appearance()\"\r\n [color]=\"color() ?? _color()\"\r\n [subscriptSizing]=\"subscriptSizing()\"\r\n [hintLabel]=\"_hintLabel\"\r\n [floatLabel]=\"floatLabel()\">\r\n @if (label) {\r\n <mat-label [class.disabled]=\"isDisabled()\">{{ label }}</mat-label>\r\n }\r\n <mat-chip-grid #chipGrid class=\"w-100\">\r\n @for(item of control.value; track item) {\r\n <mat-chip-row (removed)=\"remove(item)\" color=\"primary\" highlighted>\r\n {{ labelProperty ? item[labelProperty] : item}}\r\n <button matChipRemove [attr.aria-label]=\"(labelProperty ? item[labelProperty] : item) + ' eltávolítása'\">\r\n <mat-icon>cancel</mat-icon>\r\n </button>\r\n </mat-chip-row>\r\n }\r\n <input #inputElement\r\n matInput\r\n [placeholder]=\"placeholder || label\"\r\n [matAutocomplete]=\"auto\"\r\n (input)=\"filter()\"\r\n [attr.aria-placeholder]=\"ariaPlaceholder() || placeholder\"\r\n [attr.aria-label]=\"ariaLabel() || label\"\r\n [attr.aria-describedby]=\"ariaDescribedBy()\"\r\n [attr.aria-description]=\"ariaDescription()\"\r\n [matChipInputFor]=\"chipGrid\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\r\n (matChipInputTokenEnd)=\"!labelProperty && add($event)\"/>\r\n <mat-autocomplete #auto=\"matAutocomplete\"\r\n (optionSelected)=\"selected($event)\">\r\n @for (filterItem of filterOptions$ | async; track filterItem) {\r\n <mat-option [value]=\"filterItem\" [attr.aria-label]=\"labelProperty ? filterItem[labelProperty] : filterItem\">\r\n {{labelProperty ? filterItem[labelProperty] : filterItem}}\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n </mat-chip-grid>\r\n <input #input=\"ngForm\" [style.display]=\"'none'\" [formControl]=\"control\" />\r\n @if (control.errors?.['server']) {\r\n <mat-error>{{ control.errors?.['server'] }}</mat-error>\r\n }\r\n @for (errorKey of controlErrorKeys; track errorKey) {\r\n <mat-error>\r\n @if(validatorMessages()?.[errorKey]) {\r\n {{ validatorMessages()![errorKey] }}\r\n } @else if (!!validationTranslations?.[errorKey]) {\r\n {{ validationTranslations[errorKey] }}\r\n }\r\n </mat-error>\r\n }\r\n</mat-form-field>\r\n","/*\n * Public API Surface of ngx-widgets\n */\n\nexport * from './lib/core/base-value-accessor';\nexport * from './lib/core/base-input';\nexport * from './lib/core/base-text-input';\nexport * from './lib/core/base-mask-input';\nexport * from './lib/core/component-unsubscribe';\n\nexport * from './lib/basic-input/basic-input.component';\nexport * from './lib/select/select.component';\nexport * from './lib/textarea-input/textarea-input.component';\nexport * from './lib/basic-chips/basic-chips.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["takeUntil","i1","i2","i3","i4","i5"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"gerandon-ngx-widgets.mjs","sources":["../../../projects/ngx-widgets/src/lib/core/base-value-accessor.ts","../../../projects/ngx-widgets/src/lib/core/base-input.ts","../../../projects/ngx-widgets/src/lib/core/base-text-input.ts","../../../projects/ngx-widgets/src/lib/core/base-mask-input.ts","../../../projects/ngx-widgets/src/lib/core/component-unsubscribe.ts","../../../projects/ngx-widgets/src/lib/basic-input/basic-input.component.ts","../../../projects/ngx-widgets/src/lib/basic-input/basic-input.component.html","../../../projects/ngx-widgets/src/lib/select/select.component.ts","../../../projects/ngx-widgets/src/lib/select/select.component.html","../../../projects/ngx-widgets/src/lib/textarea-input/textarea-input.component.ts","../../../projects/ngx-widgets/src/lib/textarea-input/textarea-input.component.html","../../../projects/ngx-widgets/src/lib/basic-chips/basic-chips.component.ts","../../../projects/ngx-widgets/src/lib/basic-chips/basic-chips.component.html","../../../projects/ngx-widgets/src/public-api.ts","../../../projects/ngx-widgets/src/gerandon-ngx-widgets.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectorRef, Directive,\n ElementRef, inject,\n Injector, OnDestroy, Type,\n ViewChild,\n input\n} from '@angular/core';\r\nimport {\r\n AbstractControl,\r\n ControlValueAccessor, FormControl,\r\n NgControl,\r\n ValidationErrors,\r\n Validator, ValidatorFn,\r\n} from '@angular/forms';\r\n\r\nimport {Observable, of, Subject} from 'rxjs';\r\n\r\n@Directive()\r\nexport class BaseValueAccessor<T> implements ControlValueAccessor, AfterViewInit, Validator, OnDestroy {\r\n\r\n public readonly validator = input<Observable<ValidationErrors>>(of({}));\r\n @ViewChild('inputElement') inputElement!: ElementRef;\r\n @ViewChild('input') input!: NgControl;\r\n\r\n public control: FormControl;\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n private onChange = (value: T) => {\r\n };\r\n private onTouched = () => {\r\n };\r\n private readonly injector: Injector = inject(Injector);\r\n protected controlDir!: NgControl;\r\n protected readonly cdr: ChangeDetectorRef = inject(ChangeDetectorRef);\r\n protected _validate: ValidatorFn;\r\n protected readonly _defaultValidate: ValidatorFn = () => null;\r\n\r\n protected readonly destroy$ = new Subject<void>();\r\n\r\n constructor() {\r\n this._validate = this._defaultValidate;\r\n // Temporarily, AfterViewInit will handle the correct setting\r\n this.control = new FormControl();\r\n }\r\n\r\n validate(control: AbstractControl): Observable<ValidationErrors> {\r\n control.setErrors({ ...control.errors, pending: true });\r\n return this.validator();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.controlDir = this.injector.get<NgControl>(NgControl as Type<NgControl>);\r\n this.control = <FormControl>this.controlDir.control;\r\n // For ng-valid expression changed error workaround purposes\r\n this.cdr.detectChanges();\r\n }\r\n\r\n writeValue(obj: T): void {\r\n this.valueAccessor?.writeValue(obj);\r\n }\r\n\r\n registerOnChange(fn: (value: T) => unknown): void {\r\n this.onChange = fn;\r\n this.valueAccessor?.registerOnChange(fn);\r\n }\r\n\r\n registerOnTouched(fn: () => unknown) {\r\n this.onTouched = fn;\r\n this.valueAccessor?.registerOnTouched(fn);\r\n }\r\n\r\n protected get valueAccessor(): ControlValueAccessor | null {\r\n return this.input ? this.input.valueAccessor : null;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n Directive, Inject, inject, InjectionToken,\r\n Input, OnChanges,\r\n OnInit, Optional, SimpleChanges,\r\n input, signal, WritableSignal, effect, viewChild\r\n} from '@angular/core';\r\nimport {\r\n FloatLabelType,\r\n MAT_FORM_FIELD_DEFAULT_OPTIONS,\r\n MatFormFieldAppearance,\r\n SubscriptSizing\r\n} from '@angular/material/form-field';\r\n\r\nimport {BaseValueAccessor} from './base-value-accessor';\r\nimport {isEmpty, keys} from 'lodash-es';\r\nimport {LiveAnnouncer} from \"@angular/cdk/a11y\";\r\nimport {ThemePalette} from \"@angular/material/core\";\r\nimport {debounceTime, startWith, takeUntil} from \"rxjs\";\r\nimport {MatInput} from \"@angular/material/input\";\r\n\r\nexport interface NgxWidgetsValidationErrorTypes {\r\n required?: string;\r\n selectGlobalPlaceholder?: string;\r\n}\r\n\r\nexport const NGX_WIDGETS_VALIDATION_TRANSLATIONS = new InjectionToken<NgxWidgetsValidationErrorTypes>('NGX_WIDGETS_VALIDATION_TRANSLATIONS');\r\n/**\r\n * @deprecated\r\n * This token is deprecated and will be removed in Angular v21. Use MAT_FORM_FIELD_DEFAULT_OPTIONS instead.\r\n */\r\nexport const NGX_WIDGETS_FORM_FIELD_APPEARANCE = new InjectionToken<MatFormFieldAppearance>('NGX_WIDGETS_FORM_FIELD_APPEARANCE');\r\n\r\n@Directive()\r\nexport class BaseInput<T, ANNOUNCER_TYPE = object> extends BaseValueAccessor<T> implements OnInit, AfterViewInit, OnChanges {\r\n\r\n public readonly appearance = input<MatFormFieldAppearance>();\r\n protected readonly _appearance: WritableSignal<MatFormFieldAppearance>;\r\n public readonly color = input<ThemePalette>();\r\n protected readonly _color: WritableSignal<ThemePalette>;\r\n // TODO: Skipped for migration because:\r\n // Your application code writes to the input. This prevents migration.\r\n @Input() public id!: string;\r\n // TODO: Skipped for migration because:\r\n // Your application code writes to the input. This prevents migration.\r\n @Input() public name!: string;\r\n // TODO: Skipped for migration because:\r\n // Your application code writes to the input. This prevents migration.\r\n @Input() public label!: string;\r\n public readonly translateParams = input<unknown>();\r\n // TODO: Skipped for migration because:\r\n // Your application code writes to the input. This prevents migration.\r\n @Input() public placeholder!: string;\r\n public readonly isDisabled = input<boolean | undefined>(false);\r\n public readonly floatLabel = input<FloatLabelType>('auto');\r\n // TODO: Skipped for migration because:\r\n // This input is used in a control flow expression (e.g. `@if` or `*ngIf`)\r\n // and migrating would break narrowing currently.\r\n @Input() public prefixIcon?: string;\r\n // TODO: Skipped for migration because:\r\n // This input is used in a control flow expression (e.g. `@if` or `*ngIf`)\r\n // and migrating would break narrowing currently.\r\n @Input() public suffixIcon?: string;\r\n // TODO: Skipped for migration because:\r\n // This input is used in a control flow expression (e.g. `@if` or `*ngIf`)\r\n // and migrating would break narrowing currently.\r\n @Input() public suffix?: string;\r\n public readonly formControlName = input<string>();\r\n public readonly validatorMessages = input<{\r\n [key: string]: string;\r\n }>();\r\n public readonly subscriptSizing = input<SubscriptSizing>('fixed');\r\n public readonly hintLabel = input('');\r\n public readonly ariaLabel = input('', { alias: 'aria-label' });\r\n public readonly ariaPlaceholder = input('', { alias: 'aria-placeholder' });\r\n public readonly ariaDescribedBy = input('', { alias: 'aria-describedby' });\r\n public readonly ariaDescription = input('', { alias: 'aria-description' });\r\n public readonly focusOnInit = input(false);\r\n protected readonly matInput = viewChild(MatInput);\r\n protected controlErrorKeys: string[] = [];\r\n private readonly liveAnnouncer = inject(LiveAnnouncer);\r\n private readonly matFormFieldConfig = inject(MAT_FORM_FIELD_DEFAULT_OPTIONS);\r\n public readonly announcerTranslations = input<ANNOUNCER_TYPE>();\r\n public validatorMessagesArray: { key: string, value: unknown }[] = [];\r\n protected _defaultAnnouncerTranslations?: { [P in keyof ANNOUNCER_TYPE]-?: ANNOUNCER_TYPE[P] };\r\n\r\n constructor(@Optional() @Inject(NGX_WIDGETS_VALIDATION_TRANSLATIONS) protected readonly validationTranslations: NgxWidgetsValidationErrorTypes | any = {}) {\r\n super();\r\n this._appearance = signal<MatFormFieldAppearance>(this.matFormFieldConfig.appearance ?? 'fill');\r\n this._color = signal<ThemePalette>(this.matFormFieldConfig.color ?? 'primary');\r\n }\r\n\r\n ngOnInit() {\r\n this.placeholder = this.placeholder === undefined ? this.label : this.placeholder;\r\n if (!this.name) {\r\n this.name = this.formControlName()!;\r\n /*\r\n console.warn(`name attribute is not defined for ${this.formControlName}! Please beware, that using this control multiple\r\n times with the same control name could result in wrong focus, clicking on the label!`);\r\n */\r\n }\r\n // *ngIf seems like does not re-render component when label is used with dynamic value (e.g.: translate pipe). Strange\r\n this.label = this.label || ' ';\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['validatorMessages']) {\r\n const validatorMessages = this.validatorMessages();\r\n if (!isEmpty(validatorMessages)) {\r\n this.validatorMessagesArray = keys(validatorMessages).map((key) => ({\r\n key,\r\n value: this.validatorMessages()![key],\r\n }));\r\n }\r\n }\r\n }\r\n\r\n override ngAfterViewInit() {\r\n super.ngAfterViewInit();\r\n this.control.statusChanges.pipe(\r\n startWith(this.control.status),\r\n takeUntil(this.destroy$),\r\n debounceTime(100),\r\n ).subscribe(() => {\r\n if (!this.control.hasError('server')) {\r\n this.controlErrorKeys = keys(this.control.errors).map((key) => key);\r\n this.cdr.detectChanges();\r\n }\r\n });\r\n if (this.focusOnInit()) {\r\n this.matInput()?.focus();\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n protected announce(key: keyof ANNOUNCER_TYPE | string) {\r\n if (this._defaultAnnouncerTranslations?.[key as keyof ANNOUNCER_TYPE]) {\r\n const _key = key as keyof ANNOUNCER_TYPE\r\n const inputTranslation = this.announcerTranslations()?.[_key] as string;\r\n if (inputTranslation) {\r\n return this.liveAnnouncer.announce(inputTranslation, 'assertive');\r\n } else {\r\n return this.liveAnnouncer.announce(this._defaultAnnouncerTranslations![_key] as string, 'assertive');\r\n }\r\n } else {\r\n return this.liveAnnouncer.announce(key as string, 'assertive');\r\n }\r\n }\r\n}\r\n","import {\r\n Directive,\r\n input\r\n} from '@angular/core';\r\n\r\nimport { BaseInput } from './base-input';\r\n\r\n@Directive()\r\nexport class BaseTextInput<T, ANNOUNCER_TYPE = object> extends BaseInput<T, ANNOUNCER_TYPE> {\r\n\r\n public readonly type = input<('text' | 'password' | 'number' | 'email' | 'tel')>('text');\r\n public readonly maxLength = input<number | undefined>(512);\r\n}\r\n","import {BaseTextInput} from \"./base-text-input\";\nimport {AfterViewInit, Directive, ViewChild, input} from \"@angular/core\";\nimport {NgxMaskDirective} from \"ngx-mask\";\n\n@Directive()\nexport class BaseMaskInput extends BaseTextInput<string> implements AfterViewInit {\n\n public readonly mask = input<string>();\n public readonly showMaskTyped = input(false);\n public readonly dropSpecialCharacters = input<string[] | boolean | readonly string[] | null>();\n public readonly specialCharacters = input<string[]>();\n public readonly placeHolderCharacter = input<string>('_');\n public readonly maskPrefix = input<string>('');\n public readonly maskSuffix = input<string>('');\n\n @ViewChild('maskInput') maskInput!: NgxMaskDirective;\n\n override ngAfterViewInit() {\n super.ngAfterViewInit();\n\n if (this.maskInput) {\n this.maskInput._maskService.dropSpecialCharacters = this.dropSpecialCharacters()!;\n this.maskInput['_applyMask']();\n }\n }\n}\n","import { isDevMode } from '@angular/core';\n\nimport { Observable, Subject, takeUntil } from 'rxjs';\nimport { SafeSubscriber } from 'rxjs/internal/Subscriber';\n\n/**\n * Automatically unsubscribe from an Observable when the view is destroyed\n * Tested with checking the \"complete\" event of a subscribe method\n * @description\n * An Annotation that should be used with an Observable typed variable to handle its subscriptions\n * @author gergo.asztalos\n */\nexport function UnsubscribeOnDestroy<ObservableType>(): PropertyDecorator {\n return function (target: any, propertyKey: string | symbol) {\n const ngOnDestroy = target.ngOnDestroy;\n\n const secretKey = `_${<string>propertyKey}$`;\n // Probably with function we could use own context\n const destroyKey = (_this: any) =>\n _this.hasOwnProperty('destroy$') ? 'destroy$' : `${_this.constructor.name}_destroy$`;\n Object.defineProperty(target, secretKey, { enumerable: false, writable: true });\n Object.defineProperty(target, propertyKey, {\n configurable: true,\n enumerable: true,\n get: function() {\n return this[secretKey];\n },\n set: function(newValue: Observable<ObservableType> | SafeSubscriber<ObservableType>) {\n if (!this[destroyKey(this)]) {\n this[destroyKey(this)] = new Subject();\n }\n if (newValue instanceof Observable) {\n this[secretKey] = newValue.pipe(\n takeUntil(this[destroyKey(this)]),\n );\n } else {\n this[secretKey] = newValue;\n }\n },\n });\n\n target.ngOnDestroy = function () {\n if (this[propertyKey] instanceof SafeSubscriber) {\n this[propertyKey].unsubscribe();\n this[secretKey].unsubscribe();\n } else if (this.hasOwnProperty(destroyKey(this))) {\n this[destroyKey(this)].next();\n this[destroyKey(this)].complete();\n }\n delete this[secretKey];\n if (isDevMode()) {\n // eslint-disable-next-line no-console,max-len\n console.debug(`<UnsubscribeOnDestroy> - Observable/Subscription <${<string>propertyKey}> completed in class: ${this.constructor.name}`);\n }\n ngOnDestroy && ngOnDestroy.call(this);\n };\n };\n}\n","import {\r\n Component,\r\n forwardRef,\r\n OnInit,\r\n ViewEncapsulation,\r\n output\r\n} from '@angular/core';\r\nimport { NG_ASYNC_VALIDATORS, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\n\r\nimport {NgxMaskDirective} from \"ngx-mask\";\r\nimport {BaseMaskInput} from \"../core/base-mask-input\";\r\n\r\n@Component({\r\n selector: 'gerandon-basic-input',\r\n templateUrl: './basic-input.component.html',\r\n styleUrls: ['./basic-input.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n standalone: true,\r\n imports: [\r\n ReactiveFormsModule,\r\n MatIconModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n NgxMaskDirective,\r\n ],\r\n providers: [\r\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => BasicInputComponent), multi: true },\r\n { provide: NG_ASYNC_VALIDATORS, useExisting: forwardRef(() => BasicInputComponent), multi: true },\r\n ],\r\n})\r\nexport class BasicInputComponent extends BaseMaskInput implements OnInit {\r\n\r\n readonly iconClick = output();\r\n\r\n override ngOnInit() {\r\n super.ngOnInit();\r\n this.id = this.id || this.name;\r\n }\r\n}\r\n","<div class=\"basic-input cva-input\">\r\n <mat-form-field [appearance]=\"appearance() ?? _appearance()\"\r\n [color]=\"color() ?? _color()\"\r\n [subscriptSizing]=\"subscriptSizing()\"\r\n [hintLabel]=\"hintLabel()\"\r\n [floatLabel]=\"floatLabel()\">\r\n @if (label) {\r\n <mat-label [class.disabled]=\"isDisabled()\">{{label}}</mat-label>\r\n }\r\n @if(mask()) {\r\n <input\r\n [id]=\"id\"\r\n #inputElement\r\n #input=\"ngForm\"\r\n #maskInput=\"ngxMask\"\r\n matInput\r\n [style.padding-right]=\"(suffix || prefixIcon) && '35px'\"\r\n [type]=\"type()\"\r\n [attr.disabled]=\"isDisabled() || control.disabled ? '' : null\"\r\n [attr.aria-placeholder]=\"ariaPlaceholder() || placeholder\"\r\n [attr.aria-label]=\"ariaLabel() || label\"\r\n [attr.aria-describedby]=\"ariaDescribedBy()\"\r\n [attr.aria-description]=\"ariaDescription()\"\r\n [readonly]=\"isDisabled()\"\r\n [placeholder]=\"placeholder\"\r\n [formControl]=\"control\"\r\n [maxLength]=\"maxLength()\"\r\n [name]=\"name\"\r\n [mask]=\"mask()\"\r\n [triggerOnMaskChange]=\"true\"\r\n [showMaskTyped]=\"showMaskTyped()\"\r\n [specialCharacters]=\"specialCharacters()!\"\r\n [placeHolderCharacter]=\"placeHolderCharacter()!\"\r\n [prefix]=\"maskPrefix()\"\r\n [suffix]=\"maskSuffix()\"\r\n />\r\n } @else {\r\n <input\r\n [id]=\"id\"\r\n #inputElement\r\n #input=\"ngForm\"\r\n matInput\r\n [style.padding-right]=\"(suffix || prefixIcon) && '35px'\"\r\n [type]=\"type()\"\r\n [attr.disabled]=\"isDisabled() || control.disabled ? '' : null\"\r\n [attr.aria-placeholder]=\"ariaPlaceholder() || placeholder\"\r\n [attr.aria-label]=\"ariaLabel() || label\"\r\n [attr.aria-describedby]=\"ariaDescribedBy()\"\r\n [attr.aria-description]=\"ariaDescription()\"\r\n [readonly]=\"isDisabled()\"\r\n [placeholder]=\"placeholder\"\r\n [formControl]=\"control\"\r\n [maxLength]=\"maxLength()\"\r\n [name]=\"name\"\r\n />\r\n }\r\n @if (prefixIcon) {\r\n <mat-icon matPrefix color=\"accent\">\r\n {{prefixIcon}}\r\n </mat-icon>\r\n }\r\n @if (suffixIcon) {\r\n <mat-icon matSuffix color=\"accent\">\r\n {{suffixIcon}}\r\n </mat-icon>\r\n }\r\n @if (suffix) {\r\n <span matSuffix style=\"margin-right: 10px\">{{suffix}}</span>\r\n }\r\n\r\n @if (control.errors?.['server']) {\r\n <mat-error>{{ control.errors?.['server'] }}</mat-error>\r\n }\r\n @for (errorKey of controlErrorKeys; track errorKey) {\r\n <mat-error>\r\n @if(validatorMessages()?.[errorKey]) {\r\n {{ validatorMessages()![errorKey] }}\r\n } @else if (!!validationTranslations?.[errorKey]) {\r\n {{ validationTranslations[errorKey] }}\r\n }\r\n </mat-error>\r\n }\r\n </mat-form-field>\r\n</div>\r\n","import {\r\n Component,\r\n ElementRef,\r\n forwardRef,\r\n Input,\r\n OnInit,\r\n QueryList,\r\n ViewChildren,\r\n ViewEncapsulation,\r\n input\r\n} from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\n\r\nimport {BaseInput} from '../core/base-input';\r\nimport { isEqual } from 'lodash-es';\r\nimport { Observable } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\nexport interface SelectOptionType {\r\n label: string;\r\n value: string | number | null | unknown;\r\n}\r\n\r\ninterface SelectAnnouncerTranslations {\r\n inputReset?: string;\r\n}\r\n\r\n@Component({\r\n selector: 'gerandon-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n standalone: true,\r\n providers: [\r\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SelectComponent), multi: true }\r\n ],\r\n imports: [\r\n MatInputModule,\r\n MatSelectModule,\r\n ReactiveFormsModule,\r\n MatTooltipModule,\r\n ],\r\n})\r\nexport class SelectComponent extends BaseInput<unknown, SelectAnnouncerTranslations> implements OnInit {\r\n\r\n /**\r\n * In this case, an empty option appears that resets the control, to an empty value state\r\n */\r\n // TODO: Skipped for migration because:\r\n // This input is used in a control flow expression (e.g. `@if` or `*ngIf`)\r\n // and migrating would break narrowing currently.\r\n @Input() public emptyOptionLabel?: string;\r\n @Input() public emptyOptionAriaLabel?: string = 'Üres';\r\n public readonly multiple = input<boolean>();\r\n // TODO: Skipped for migration because:\r\n // Your application code writes to the input. This prevents migration.\r\n @Input() public options!: SelectOptionType[];\r\n public readonly asyncOptions = input<Observable<SelectOptionType[]>>();\r\n @ViewChildren('optionElements') public optionElements!: QueryList<ElementRef>;\r\n protected override _defaultAnnouncerTranslations: { [P in keyof SelectAnnouncerTranslations]-?: SelectAnnouncerTranslations[P] } = {\r\n inputReset: 'Lenyíló mező törölve!'\r\n }\r\n\r\n /**\r\n * Angular Material - Select component comparsion is only '===', does not work with Array values\r\n * https://github.com/angular/components/blob/a07c0758a5ec2eb4de1bb822354be08178c66aa4/src/lib/select/select.ts#L242C48-L242C58\r\n */\r\n public readonly _isEqual = isEqual;\r\n\r\n override ngOnInit() {\r\n this.placeholder = !this.placeholder ? (this.validationTranslations?.selectGlobalPlaceholder || this.label) : this.placeholder;\r\n super.ngOnInit();\r\n this.id = this.id || this.formControlName() || this.name;\r\n const asyncOptions = this.asyncOptions();\r\n if (asyncOptions) {\r\n asyncOptions.pipe(takeUntil(this.destroy$)).subscribe((resp) => {\r\n this.options = resp;\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n }\r\n\r\n reset() {\r\n this.control.reset();\r\n this.announce('inputReset');\r\n }\r\n}\r\n","<mat-form-field [appearance]=\"appearance() ?? _appearance()\"\r\n [color]=\"color() ?? _color()\"\r\n [subscriptSizing]=\"subscriptSizing()\"\r\n [floatLabel]=\"floatLabel()\">\r\n @if (label) {\r\n <mat-label>{{ label }}</mat-label>\r\n }\r\n <mat-select #inputElement\r\n #input=\"ngForm\"\r\n [multiple]=\"multiple()\"\r\n [placeholder]=\"!floatLabel() ? label : placeholder\"\r\n [formControl]=\"control\"\r\n [id]=\"id\"\r\n [class.input-disabled]=\"isDisabled() || control.disabled\"\r\n [attr.aria-placeholder]=\"ariaPlaceholder() || placeholder\"\r\n [attr.aria-label]=\"ariaLabel() || label\"\r\n [attr.aria-describedby]=\"ariaDescribedBy()\"\r\n [attr.aria-description]=\"ariaDescription()\"\r\n [compareWith]=\"_isEqual\"\r\n [attr.disabled]=\"isDisabled() || control.disabled ? '' : null\">\r\n @if (emptyOptionLabel) {\r\n <mat-option (click)=\"reset()\" [attr.aria-label]=\"emptyOptionAriaLabel\">\r\n {{ emptyOptionLabel }}\r\n </mat-option>\r\n }\r\n @for(option of options; track option) {\r\n <mat-option [value]=\"option.value\">\r\n {{ option.label }}\r\n </mat-option>\r\n }\r\n </mat-select>\r\n @if (suffix) {\r\n <span matSuffix>{{suffix}}</span>\r\n }\r\n @if (control.errors?.['server']) {\r\n <mat-error>{{ control.errors?.['server'] }}</mat-error>\r\n }\r\n @for (errorKey of controlErrorKeys; track errorKey) {\r\n <mat-error>\r\n @if(validatorMessages()?.[errorKey]) {\r\n {{ validatorMessages()![errorKey] }}\r\n } @else if (!!validationTranslations?.[errorKey]) {\r\n {{ validationTranslations[errorKey] }}\r\n }\r\n </mat-error>\r\n }\r\n</mat-form-field>\r\n","import {Component, forwardRef, ViewEncapsulation, input, AfterViewInit, inject} from '@angular/core';\r\nimport { FormsModule, NG_ASYNC_VALIDATORS, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport {BaseTextInput} from \"../core/base-text-input\";\r\nimport {takeUntil} from \"rxjs\";\r\nimport {LiveAnnouncer} from \"@angular/cdk/a11y\";\r\n\r\ninterface TextareaAnnouncerTranslations {\r\n maxLengthReached?: string;\r\n}\r\n\r\n@Component({\r\n selector: 'gerandon-textarea-input',\r\n templateUrl: 'textarea-input.component.html',\r\n styleUrls: ['textarea-input.component.scss'],\r\n standalone: true,\r\n encapsulation: ViewEncapsulation.None,\r\n imports: [\r\n FormsModule,\r\n MatFormFieldModule,\r\n MatIconModule,\r\n MatInputModule,\r\n ReactiveFormsModule,\r\n ],\r\n providers: [\r\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => TextareaInputComponent), multi: true },\r\n { provide: NG_ASYNC_VALIDATORS, useExisting: forwardRef(() => TextareaInputComponent), multi: true },\r\n ],\r\n})\r\nexport class TextareaInputComponent extends BaseTextInput<string> implements AfterViewInit {\r\n\r\n public readonly rows = input(10);\r\n protected override _defaultAnnouncerTranslations: { [P in keyof TextareaAnnouncerTranslations]-?: TextareaAnnouncerTranslations[P] } = {\r\n maxLengthReached: 'Elérte a maximális karakter számot!',\r\n }\r\n\r\n override ngAfterViewInit() {\r\n super.ngAfterViewInit();\r\n this.control.valueChanges.pipe(\r\n takeUntil(this.destroy$)\r\n ).subscribe((value) => {\r\n if (value.length !== 0 && value.length >= (this.maxLength() ?? 0)) {\r\n this.announce('maxLengthReached');\r\n }\r\n })\r\n }\r\n}\r\n","<div class=\"textarea-input cva-input\">\r\n <mat-form-field [appearance]=\"appearance() ?? _appearance()\"\r\n [color]=\"color() ?? _color()\"\r\n [subscriptSizing]=\"subscriptSizing()\"\r\n [floatLabel]=\"floatLabel()\">\r\n @if (label) {\r\n <mat-label [class.disabled]=\"isDisabled()\">{{ label }}</mat-label>\r\n }\r\n <textarea\r\n [id]=\"id\"\r\n #inputElement\r\n #input=\"ngForm\"\r\n #autosize=\"cdkTextareaAutosize\"\r\n matInput\r\n cdkTextareaAutosize\r\n [cdkAutosizeMinRows]=\"rows()\"\r\n class=\"w-100 cva-control\"\r\n [attr.disabled]=\"isDisabled() || control.disabled ? '' : null\"\r\n [attr.aria-placeholder]=\"ariaPlaceholder() || placeholder\"\r\n [attr.aria-label]=\"ariaLabel() || label\"\r\n [attr.aria-describedby]=\"ariaDescribedBy()\"\r\n [attr.aria-description]=\"ariaDescription()\"\r\n [readonly]=\"isDisabled()\"\r\n [placeholder]=\"placeholder\"\r\n [formControl]=\"control\"\r\n [maxLength]=\"maxLength()\"\r\n [name]=\"name\">\r\n </textarea>\r\n <span class=\"counter\">{{control.value?.length || 0}} / {{ maxLength() }}</span>\r\n @if (prefixIcon) {\r\n <mat-icon matPrefix color=\"accent\">\r\n {{prefixIcon}}\r\n </mat-icon>\r\n }\r\n @if (suffixIcon) {\r\n <mat-icon matSuffix color=\"accent\">\r\n {{suffixIcon}}\r\n </mat-icon>\r\n }\r\n @if (suffix) {\r\n <span matSuffix>{{suffix}}</span>\r\n }\r\n @if (control.errors?.['server']) {\r\n <mat-error>{{ control.errors?.['server'] }}</mat-error>\r\n }\r\n @for (errorKey of controlErrorKeys; track errorKey) {\r\n <mat-error>\r\n @if(validatorMessages()?.[errorKey]) {\r\n {{ validatorMessages()![errorKey] }}\r\n } @else if (!!validationTranslations?.[errorKey]) {\r\n {{ validationTranslations[errorKey] }}\r\n }\r\n </mat-error>\r\n }\r\n </mat-form-field>\r\n</div>\r\n","import {COMMA, ENTER} from '@angular/cdk/keycodes';\nimport {AsyncPipe} from '@angular/common';\nimport {\n Component,\n forwardRef,\n Input,\n ViewEncapsulation,\n input,\n viewChild,\n ElementRef,\n OnInit,\n} from '@angular/core';\nimport {NG_VALUE_ACCESSOR, ReactiveFormsModule} from '@angular/forms';\nimport {MatAutocompleteModule, MatAutocompleteSelectedEvent} from '@angular/material/autocomplete';\nimport {MatChipInputEvent, MatChipsModule} from '@angular/material/chips';\nimport {MatIconModule} from '@angular/material/icon';\n\nimport {debounceTime, map, Observable, of, Subject, switchMap, tap} from 'rxjs';\nimport {BaseInput} from \"../core/base-input\";\nimport {MatError, MatFormField, MatLabel} from \"@angular/material/form-field\";\nimport {MatInput} from \"@angular/material/input\";\nimport {find, isEqual} from \"lodash-es\";\n\ninterface ChipsAnnouncerTranslations {\n asyncFilterStart?: string;\n asyncFilterEnd?: string;\n itemRemoved?: string;\n itemAdded?: string;\n selectableItems?: string;\n}\n\n@Component({\n selector: 'gerandon-basic-chips',\n templateUrl: 'basic-chips.component.html',\n styleUrls: ['basic-chips.component.scss'],\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n providers: [{provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => BasicChipsComponent), multi: true}],\n imports: [\n MatChipsModule,\n MatIconModule,\n ReactiveFormsModule,\n MatAutocompleteModule,\n AsyncPipe,\n MatFormField,\n MatInput,\n MatLabel,\n MatError,\n ],\n})\nexport class BasicChipsComponent<T> extends BaseInput<T[], ChipsAnnouncerTranslations> implements OnInit {\n\n public readonly tsFilterInput = viewChild<ElementRef>('inputElement');\n public readonly asyncFilterFn = input<(value: string) => Observable<T[]>>();\n public readonly asyncOptions = input<Observable<T[]>>();\n public readonly startTypingLabel = input('Kezdjen el gépelni...');\n public readonly emptyListLabel = input('Nincs megjeleníthető elem!');\n /**\n * How much character you need to type before triggering search\n */\n public readonly startAsyncFnAt = input<number>(1);\n // TODO: Skipped for migration because:\n // This input is used in a control flow expression (e.g. `@if` or `*ngIf`)\n // and migrating would break narrowing currently.\n @Input() public labelProperty?: keyof T;\n public readonly separatorKeysCodes = [ENTER, COMMA] as const;\n public filterOptions$?: Observable<T[]>;\n protected _hintLabel!: string;\n private readonly inputChange = new Subject<string>();\n protected override _defaultAnnouncerTranslations: { [P in keyof ChipsAnnouncerTranslations]-?: ChipsAnnouncerTranslations[P] } = {\n asyncFilterStart: 'Szerver keresés elindítva',\n asyncFilterEnd: 'A szerver keresés lefutott',\n selectableItems: 'Választható elemek:',\n itemRemoved: 'Elem sikeresen eltávolítva',\n itemAdded: 'Elem hozzáadva'\n }\n\n override ngOnInit() {\n super.ngOnInit();\n this._hintLabel = this.hintLabel();\n if (this.asyncFilterFn()) {\n this.filterOptions$ = this.inputChange.pipe(\n debounceTime(300),\n tap(() => this.announce('asyncFilterStart')),\n switchMap((value) => {\n if (value && value.length >= this.startAsyncFnAt()) {\n return this.asyncFilterFn()!(value).pipe(\n map((responseList) => {\n this.announce('asyncFilterEnd');\n return responseList.filter((responseListItem) => {\n return !find(this.control.value, (controlAct) => isEqual(controlAct, responseListItem));\n })\n })\n );\n }\n return of([]);\n }),\n tap((responseList) => {\n this.announce('selectableItems').then(() => {\n this.announce(responseList.map((act) => this.labelProperty ? act[this.labelProperty] : act).join(','))\n });\n if (!this.tsFilterInput()?.nativeElement.value && !this.control.value) {\n this._hintLabel = this.hintLabel() ?? 'Kezdjen el gépelni...';\n } else {\n this._hintLabel = !responseList.length ? this.emptyListLabel() : '';\n }\n })\n )\n } else {\n this.filterOptions$ = this.asyncOptions();\n }\n }\n\n filter() {\n const filterValue = this.tsFilterInput()!.nativeElement.value;\n this.inputChange.next(filterValue);\n }\n\n remove(item: T) {\n const values: T[] = this.control.value;\n const index = values.indexOf(item);\n if (index >= 0) {\n values.splice(index, 1);\n this.control.setValue(values);\n }\n\n this.mark();\n this.announce('itemRemoved');\n }\n\n add(event: MatChipInputEvent): void {\n const value = (event.value || '').trim();\n if (value) {\n this.updateValue(value as T);\n }\n event.chipInput!.clear();\n\n this.mark();\n this.announce('itemAdded');\n }\n\n selected(event: MatAutocompleteSelectedEvent): void {\n if (!this.control.value?.includes(event.option.value)) {\n this.updateValue(<T>event.option.value);\n }\n this.inputElement.nativeElement.value = '';\n\n this.mark();\n }\n\n private updateValue(value: T) {\n this.control.setValue([\n ...(this.control.value || []),\n value,\n ]);\n }\n\n private mark() {\n if (!this.control.touched) {\n this.control.markAsTouched();\n this.control.markAsDirty();\n }\n }\n}\n","<mat-form-field [appearance]=\"appearance() ?? _appearance()\"\r\n [color]=\"color() ?? _color()\"\r\n [subscriptSizing]=\"subscriptSizing()\"\r\n [hintLabel]=\"_hintLabel\"\r\n [floatLabel]=\"floatLabel()\">\r\n @if (label) {\r\n <mat-label [class.disabled]=\"isDisabled()\">{{ label }}</mat-label>\r\n }\r\n <mat-chip-grid #chipGrid class=\"w-100\">\r\n @for(item of control.value; track item) {\r\n <mat-chip-row (removed)=\"remove(item)\" color=\"primary\" highlighted>\r\n {{ labelProperty ? item[labelProperty] : item}}\r\n <button matChipRemove [attr.aria-label]=\"(labelProperty ? item[labelProperty] : item) + ' eltávolítása'\">\r\n <mat-icon>cancel</mat-icon>\r\n </button>\r\n </mat-chip-row>\r\n }\r\n <input #inputElement\r\n matInput\r\n [placeholder]=\"placeholder || label\"\r\n [matAutocomplete]=\"auto\"\r\n (input)=\"filter()\"\r\n [attr.aria-placeholder]=\"ariaPlaceholder() || placeholder\"\r\n [attr.aria-label]=\"ariaLabel() || label\"\r\n [attr.aria-describedby]=\"ariaDescribedBy()\"\r\n [attr.aria-description]=\"ariaDescription()\"\r\n [matChipInputFor]=\"chipGrid\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\r\n (matChipInputTokenEnd)=\"!labelProperty && add($event)\"/>\r\n <mat-autocomplete #auto=\"matAutocomplete\"\r\n (optionSelected)=\"selected($event)\">\r\n @for (filterItem of filterOptions$ | async; track filterItem) {\r\n <mat-option [value]=\"filterItem\" [attr.aria-label]=\"labelProperty ? filterItem[labelProperty] : filterItem\">\r\n {{labelProperty ? filterItem[labelProperty] : filterItem}}\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n </mat-chip-grid>\r\n <input #input=\"ngForm\" [style.display]=\"'none'\" [formControl]=\"control\" />\r\n @if (control.errors?.['server']) {\r\n <mat-error>{{ control.errors?.['server'] }}</mat-error>\r\n }\r\n @for (errorKey of controlErrorKeys; track errorKey) {\r\n <mat-error>\r\n @if(validatorMessages()?.[errorKey]) {\r\n {{ validatorMessages()![errorKey] }}\r\n } @else if (!!validationTranslations?.[errorKey]) {\r\n {{ validationTranslations[errorKey] }}\r\n }\r\n </mat-error>\r\n }\r\n</mat-form-field>\r\n","/*\n * Public API Surface of ngx-widgets\n */\n\nexport * from './lib/core/base-value-accessor';\nexport * from './lib/core/base-input';\nexport * from './lib/core/base-text-input';\nexport * from './lib/core/base-mask-input';\nexport * from './lib/core/component-unsubscribe';\n\nexport * from './lib/basic-input/basic-input.component';\nexport * from './lib/select/select.component';\nexport * from './lib/textarea-input/textarea-input.component';\nexport * from './lib/basic-chips/basic-chips.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["takeUntil","i1","i2","i3","i4","i5"],"mappings":"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"}
|
package/index.d.ts
CHANGED
@@ -4,6 +4,7 @@ import { ControlValueAccessor, Validator, ValidationErrors, NgControl, FormContr
|
|
4
4
|
import { Observable, Subject } from 'rxjs';
|
5
5
|
import { MatFormFieldAppearance, FloatLabelType, SubscriptSizing } from '@angular/material/form-field';
|
6
6
|
import { ThemePalette } from '@angular/material/core';
|
7
|
+
import { MatInput } from '@angular/material/input';
|
7
8
|
import { NgxMaskDirective } from 'ngx-mask';
|
8
9
|
import { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';
|
9
10
|
import { MatChipInputEvent } from '@angular/material/chips';
|
@@ -69,6 +70,8 @@ declare class BaseInput<T, ANNOUNCER_TYPE = object> extends BaseValueAccessor<T>
|
|
69
70
|
readonly ariaPlaceholder: _angular_core.InputSignal<string>;
|
70
71
|
readonly ariaDescribedBy: _angular_core.InputSignal<string>;
|
71
72
|
readonly ariaDescription: _angular_core.InputSignal<string>;
|
73
|
+
readonly focusOnInit: _angular_core.InputSignal<boolean>;
|
74
|
+
protected readonly matInput: _angular_core.Signal<MatInput | undefined>;
|
72
75
|
protected controlErrorKeys: string[];
|
73
76
|
private readonly liveAnnouncer;
|
74
77
|
private readonly matFormFieldConfig;
|
@@ -86,7 +89,7 @@ declare class BaseInput<T, ANNOUNCER_TYPE = object> extends BaseValueAccessor<T>
|
|
86
89
|
ngAfterViewInit(): void;
|
87
90
|
protected announce(key: keyof ANNOUNCER_TYPE | string): Promise<void>;
|
88
91
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BaseInput<any, any>, [{ optional: true; }]>;
|
89
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BaseInput<any, any>, never, never, { "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; }; "name": { "alias": "name"; "required": false; }; "label": { "alias": "label"; "required": false; }; "translateParams": { "alias": "translateParams"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; }; "isDisabled": { "alias": "isDisabled"; "required": false; "isSignal": true; }; "floatLabel": { "alias": "floatLabel"; "required": false; "isSignal": true; }; "prefixIcon": { "alias": "prefixIcon"; "required": false; }; "suffixIcon": { "alias": "suffixIcon"; "required": false; }; "suffix": { "alias": "suffix"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; "isSignal": true; }; "validatorMessages": { "alias": "validatorMessages"; "required": false; "isSignal": true; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; "isSignal": true; }; "hintLabel": { "alias": "hintLabel"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "ariaPlaceholder": { "alias": "aria-placeholder"; "required": false; "isSignal": true; }; "ariaDescribedBy": { "alias": "aria-describedby"; "required": false; "isSignal": true; }; "ariaDescription": { "alias": "aria-description"; "required": false; "isSignal": true; }; "announcerTranslations": { "alias": "announcerTranslations"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
92
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BaseInput<any, any>, never, never, { "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; }; "name": { "alias": "name"; "required": false; }; "label": { "alias": "label"; "required": false; }; "translateParams": { "alias": "translateParams"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; }; "isDisabled": { "alias": "isDisabled"; "required": false; "isSignal": true; }; "floatLabel": { "alias": "floatLabel"; "required": false; "isSignal": true; }; "prefixIcon": { "alias": "prefixIcon"; "required": false; }; "suffixIcon": { "alias": "suffixIcon"; "required": false; }; "suffix": { "alias": "suffix"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; "isSignal": true; }; "validatorMessages": { "alias": "validatorMessages"; "required": false; "isSignal": true; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; "isSignal": true; }; "hintLabel": { "alias": "hintLabel"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "ariaPlaceholder": { "alias": "aria-placeholder"; "required": false; "isSignal": true; }; "ariaDescribedBy": { "alias": "aria-describedby"; "required": false; "isSignal": true; }; "ariaDescription": { "alias": "aria-description"; "required": false; "isSignal": true; }; "focusOnInit": { "alias": "focusOnInit"; "required": false; "isSignal": true; }; "announcerTranslations": { "alias": "announcerTranslations"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
90
93
|
}
|
91
94
|
|
92
95
|
declare class BaseTextInput<T, ANNOUNCER_TYPE = object> extends BaseInput<T, ANNOUNCER_TYPE> {
|