@kominal/common-angular 0.0.21 → 0.1.0

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,20 +1,20 @@
1
- import * as i3 from '@angular/common';
2
- import { CommonModule } from '@angular/common';
3
1
  import * as i0 from '@angular/core';
4
2
  import { inject, DestroyRef, input, signal, effect, Component, Pipe, computed } from '@angular/core';
5
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
6
3
  import * as i2 from '@angular/forms';
7
4
  import { Validators, ReactiveFormsModule } from '@angular/forms';
5
+ import * as i1 from 'primeng/inputswitch';
6
+ import { InputSwitchModule } from 'primeng/inputswitch';
7
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
8
8
  import { TranslatePipe, TranslateService, TranslateModule } from '@ngx-translate/core';
9
- import * as i2$1 from 'primeng/dropdown';
9
+ import { startWith, map, shareReplay } from 'rxjs';
10
+ import * as i2$1 from 'primeng/datepicker';
11
+ import { DatePickerModule } from 'primeng/datepicker';
12
+ import * as i3 from '@angular/common';
13
+ import { CommonModule } from '@angular/common';
14
+ import * as i2$2 from 'primeng/dropdown';
10
15
  import { DropdownModule } from 'primeng/dropdown';
11
16
  import * as i4 from 'primeng/selectbutton';
12
17
  import { SelectButtonModule } from 'primeng/selectbutton';
13
- import { startWith, map, shareReplay } from 'rxjs';
14
- import * as i1 from 'primeng/inputswitch';
15
- import { InputSwitchModule } from 'primeng/inputswitch';
16
- import * as i2$2 from 'primeng/datepicker';
17
- import { DatePickerModule } from 'primeng/datepicker';
18
18
  import * as i1$1 from 'primeng/multiselect';
19
19
  import { MultiSelectModule } from 'primeng/multiselect';
20
20
  import * as i1$2 from 'primeng/inputnumber';
@@ -45,6 +45,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
45
45
  args: [{ selector: 'app-label', imports: [TranslatePipe], template: "<span>{{ label() | translate }}{{ required() ? ' *' : '' }}</span>\r\n" }]
46
46
  }], ctorParameters: () => [] });
47
47
 
48
+ class InputBooleanComponent {
49
+ label = input.required();
50
+ formElement = input.required();
51
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: InputBooleanComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
52
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: InputBooleanComponent, isStandalone: true, selector: "app-input-boolean", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, formElement: { classPropertyName: "formElement", publicName: "formElement", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "flex items-center gap-3 w-full" }, ngImport: i0, template: "<p-inputSwitch [formControl]=\"formElement()\" />\r\n<app-label [label]=\"label()\" [formElement]=\"formElement()\" />\r\n", dependencies: [{ kind: "ngmodule", type: InputSwitchModule }, { kind: "component", type: i1.InputSwitch, selector: "p-inputSwitch, p-inputswitch", inputs: ["style", "styleClass", "tabindex", "inputId", "name", "disabled", "readonly", "trueValue", "falseValue", "ariaLabel", "ariaLabelledBy", "autofocus"], outputs: ["onChange"] }, { kind: "component", type: LabelComponent, selector: "app-label", inputs: ["label", "formElement"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
53
+ }
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: InputBooleanComponent, decorators: [{
55
+ type: Component,
56
+ args: [{ selector: 'app-input-boolean', imports: [InputSwitchModule, LabelComponent, ReactiveFormsModule], host: { class: 'flex items-center gap-3 w-full' }, template: "<p-inputSwitch [formControl]=\"formElement()\" />\r\n<app-label [label]=\"label()\" [formElement]=\"formElement()\" />\r\n" }]
57
+ }] });
58
+
59
+ class InputDateComponent {
60
+ destroyRef = inject(DestroyRef);
61
+ label = input.required();
62
+ formElement = input.required();
63
+ required = signal(false);
64
+ constructor() {
65
+ effect(() => {
66
+ const formElement = this.formElement();
67
+ formElement.statusChanges.pipe(startWith(undefined), takeUntilDestroyed(this.destroyRef)).subscribe(() => this.required.set(formElement.hasValidator(Validators.required)));
68
+ });
69
+ }
70
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: InputDateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
71
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: InputDateComponent, isStandalone: true, selector: "app-input-date", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, formElement: { classPropertyName: "formElement", publicName: "formElement", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "flex flex-col gap-1 w-full" }, ngImport: i0, template: "<app-label [label]=\"label()\" [formElement]=\"formElement()\" />\r\n<p-datepicker [formControl]=\"formElement()\" styleClass=\"w-full\" dateFormat=\"dd.mm.yy\" [showClear]=\"!required()\" appendTo=\"body\" />\r\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "app-label", inputs: ["label", "formElement"] }, { kind: "ngmodule", type: DatePickerModule }, { kind: "component", type: i2$1.DatePicker, selector: "p-datePicker, p-datepicker, p-date-picker", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "fluid", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "size", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }] });
72
+ }
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: InputDateComponent, decorators: [{
74
+ type: Component,
75
+ args: [{ selector: 'app-input-date', imports: [ReactiveFormsModule, LabelComponent, DatePickerModule], host: { class: 'flex flex-col gap-1 w-full' }, template: "<app-label [label]=\"label()\" [formElement]=\"formElement()\" />\r\n<p-datepicker [formControl]=\"formElement()\" styleClass=\"w-full\" dateFormat=\"dd.mm.yy\" [showClear]=\"!required()\" appendTo=\"body\" />\r\n" }]
76
+ }], ctorParameters: () => [] });
77
+
48
78
  class TranslateSelectItemsPipe {
49
79
  translateService = inject(TranslateService);
50
80
  transform(value) {
@@ -154,7 +184,7 @@ function generateRandomString(length) {
154
184
  return result;
155
185
  }
156
186
 
157
- class EnumInputComponent {
187
+ class InputEnumComponent {
158
188
  destroyRef = inject(DestroyRef);
159
189
  label = input.required();
160
190
  enum = input.required();
@@ -169,42 +199,12 @@ class EnumInputComponent {
169
199
  formElement.statusChanges.pipe(startWith(undefined), takeUntilDestroyed(this.destroyRef)).subscribe(() => this.required.set(formElement.hasValidator(Validators.required)));
170
200
  });
171
201
  }
172
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: EnumInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
173
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: EnumInputComponent, isStandalone: true, selector: "app-enum-input", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, enum: { classPropertyName: "enum", publicName: "enum", isSignal: true, isRequired: true, transformFunction: null }, enumName: { classPropertyName: "enumName", publicName: "enumName", isSignal: true, isRequired: true, transformFunction: null }, formElement: { classPropertyName: "formElement", publicName: "formElement", isSignal: true, isRequired: true, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "flex flex-col gap-1 w-full" }, ngImport: i0, template: "<app-label [label]=\"label()\" [formElement]=\"formElement()\" />\r\n@if (mode() === 'DROPDOWN') {\r\n <p-dropdown\r\n [filter]=\"true\"\r\n class=\"w-full\"\r\n styleClass=\"w-full\"\r\n appendTo=\"body\"\r\n [formControl]=\"formElement()\"\r\n [options]=\"(options() | translateSelectItems | async) || []\"\r\n optionLabel=\"label\"\r\n optionValue=\"value\"\r\n [showClear]=\"!required()\"\r\n ></p-dropdown>\r\n}\r\n@if (mode() === 'BUTTON') {\r\n <p-selectButton [formControl]=\"formElement()\" [options]=\"(options() | translateSelectItems | async) || []\" optionLabel=\"label\" optionValue=\"value\" />\r\n}\r\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i2$1.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "fluid", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslateSelectItemsPipe, name: "translateSelectItems" }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: LabelComponent, selector: "app-label", inputs: ["label", "formElement"] }, { kind: "ngmodule", type: SelectButtonModule }, { kind: "component", type: i4.SelectButton, selector: "p-selectButton, p-selectbutton, p-select-button", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "unselectable", "tabindex", "multiple", "allowEmpty", "style", "styleClass", "ariaLabelledBy", "size", "disabled", "dataKey", "autofocus"], outputs: ["onOptionClick", "onChange"] }] });
174
- }
175
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: EnumInputComponent, decorators: [{
176
- type: Component,
177
- args: [{ selector: 'app-enum-input', standalone: true, imports: [ReactiveFormsModule, DropdownModule, CommonModule, TranslateSelectItemsPipe, TranslateModule, LabelComponent, SelectButtonModule], host: { class: 'flex flex-col gap-1 w-full' }, template: "<app-label [label]=\"label()\" [formElement]=\"formElement()\" />\r\n@if (mode() === 'DROPDOWN') {\r\n <p-dropdown\r\n [filter]=\"true\"\r\n class=\"w-full\"\r\n styleClass=\"w-full\"\r\n appendTo=\"body\"\r\n [formControl]=\"formElement()\"\r\n [options]=\"(options() | translateSelectItems | async) || []\"\r\n optionLabel=\"label\"\r\n optionValue=\"value\"\r\n [showClear]=\"!required()\"\r\n ></p-dropdown>\r\n}\r\n@if (mode() === 'BUTTON') {\r\n <p-selectButton [formControl]=\"formElement()\" [options]=\"(options() | translateSelectItems | async) || []\" optionLabel=\"label\" optionValue=\"value\" />\r\n}\r\n" }]
178
- }], ctorParameters: () => [] });
179
-
180
- class InputBooleanComponent {
181
- label = input.required();
182
- formElement = input.required();
183
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: InputBooleanComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
184
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: InputBooleanComponent, isStandalone: true, selector: "lib-input-boolean", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, formElement: { classPropertyName: "formElement", publicName: "formElement", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "flex items-center gap-3 w-full" }, ngImport: i0, template: "<p-inputSwitch [formControl]=\"formElement()\" />\r\n<app-label style=\"margin-top: 0.4rem\" [label]=\"label()\" [formElement]=\"formElement()\" />\r\n", dependencies: [{ kind: "ngmodule", type: InputSwitchModule }, { kind: "component", type: i1.InputSwitch, selector: "p-inputSwitch, p-inputswitch", inputs: ["style", "styleClass", "tabindex", "inputId", "name", "disabled", "readonly", "trueValue", "falseValue", "ariaLabel", "ariaLabelledBy", "autofocus"], outputs: ["onChange"] }, { kind: "component", type: LabelComponent, selector: "app-label", inputs: ["label", "formElement"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
185
- }
186
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: InputBooleanComponent, decorators: [{
187
- type: Component,
188
- args: [{ selector: 'lib-input-boolean', imports: [InputSwitchModule, LabelComponent, ReactiveFormsModule], host: { class: 'flex items-center gap-3 w-full' }, template: "<p-inputSwitch [formControl]=\"formElement()\" />\r\n<app-label style=\"margin-top: 0.4rem\" [label]=\"label()\" [formElement]=\"formElement()\" />\r\n" }]
189
- }] });
190
-
191
- class InputDateComponent {
192
- destroyRef = inject(DestroyRef);
193
- label = input.required();
194
- formElement = input.required();
195
- required = signal(false);
196
- constructor() {
197
- effect(() => {
198
- const formElement = this.formElement();
199
- formElement.statusChanges.pipe(startWith(undefined), takeUntilDestroyed(this.destroyRef)).subscribe(() => this.required.set(formElement.hasValidator(Validators.required)));
200
- });
201
- }
202
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: InputDateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
203
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: InputDateComponent, isStandalone: true, selector: "app-input-date", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, formElement: { classPropertyName: "formElement", publicName: "formElement", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "flex flex-col gap-1 w-full" }, ngImport: i0, template: "<app-label [label]=\"label()\" [formElement]=\"formElement()\" />\r\n<p-datepicker [formControl]=\"formElement()\" styleClass=\"w-full\" dateFormat=\"dd.mm.yy\" [showClear]=\"!required()\" appendTo=\"body\" />\r\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "app-label", inputs: ["label", "formElement"] }, { kind: "ngmodule", type: DatePickerModule }, { kind: "component", type: i2$2.DatePicker, selector: "p-datePicker, p-datepicker, p-date-picker", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "fluid", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "size", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }] });
202
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: InputEnumComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
203
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: InputEnumComponent, isStandalone: true, selector: "app-input-enum", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, enum: { classPropertyName: "enum", publicName: "enum", isSignal: true, isRequired: true, transformFunction: null }, enumName: { classPropertyName: "enumName", publicName: "enumName", isSignal: true, isRequired: true, transformFunction: null }, formElement: { classPropertyName: "formElement", publicName: "formElement", isSignal: true, isRequired: true, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "flex flex-col gap-1 w-full" }, ngImport: i0, template: "<app-label [label]=\"label()\" [formElement]=\"formElement()\" />\r\n@if (mode() === 'DROPDOWN') {\r\n <p-dropdown\r\n [filter]=\"true\"\r\n class=\"w-full\"\r\n styleClass=\"w-full\"\r\n appendTo=\"body\"\r\n [formControl]=\"formElement()\"\r\n [options]=\"(options() | translateSelectItems | async) || []\"\r\n optionLabel=\"label\"\r\n optionValue=\"value\"\r\n [showClear]=\"!required()\"\r\n ></p-dropdown>\r\n}\r\n@if (mode() === 'BUTTON') {\r\n <p-selectButton [formControl]=\"formElement()\" [options]=\"(options() | translateSelectItems | async) || []\" optionLabel=\"label\" optionValue=\"value\" />\r\n}\r\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i2$2.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "fluid", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslateSelectItemsPipe, name: "translateSelectItems" }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: LabelComponent, selector: "app-label", inputs: ["label", "formElement"] }, { kind: "ngmodule", type: SelectButtonModule }, { kind: "component", type: i4.SelectButton, selector: "p-selectButton, p-selectbutton, p-select-button", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "unselectable", "tabindex", "multiple", "allowEmpty", "style", "styleClass", "ariaLabelledBy", "size", "disabled", "dataKey", "autofocus"], outputs: ["onOptionClick", "onChange"] }] });
204
204
  }
205
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: InputDateComponent, decorators: [{
205
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: InputEnumComponent, decorators: [{
206
206
  type: Component,
207
- args: [{ selector: 'app-input-date', imports: [ReactiveFormsModule, LabelComponent, DatePickerModule], host: { class: 'flex flex-col gap-1 w-full' }, template: "<app-label [label]=\"label()\" [formElement]=\"formElement()\" />\r\n<p-datepicker [formControl]=\"formElement()\" styleClass=\"w-full\" dateFormat=\"dd.mm.yy\" [showClear]=\"!required()\" appendTo=\"body\" />\r\n" }]
207
+ args: [{ selector: 'app-input-enum', standalone: true, imports: [ReactiveFormsModule, DropdownModule, CommonModule, TranslateSelectItemsPipe, TranslateModule, LabelComponent, SelectButtonModule], host: { class: 'flex flex-col gap-1 w-full' }, template: "<app-label [label]=\"label()\" [formElement]=\"formElement()\" />\r\n@if (mode() === 'DROPDOWN') {\r\n <p-dropdown\r\n [filter]=\"true\"\r\n class=\"w-full\"\r\n styleClass=\"w-full\"\r\n appendTo=\"body\"\r\n [formControl]=\"formElement()\"\r\n [options]=\"(options() | translateSelectItems | async) || []\"\r\n optionLabel=\"label\"\r\n optionValue=\"value\"\r\n [showClear]=\"!required()\"\r\n ></p-dropdown>\r\n}\r\n@if (mode() === 'BUTTON') {\r\n <p-selectButton [formControl]=\"formElement()\" [options]=\"(options() | translateSelectItems | async) || []\" optionLabel=\"label\" optionValue=\"value\" />\r\n}\r\n" }]
208
208
  }], ctorParameters: () => [] });
209
209
 
210
210
  class InputMultiSelectComponent {
@@ -291,5 +291,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
291
291
  * Generated bundle index. Do not edit.
292
292
  */
293
293
 
294
- export { EnumInputComponent, InputBooleanComponent, InputDateComponent, InputMultiSelectComponent, InputNumberComponent, InputSelectComponent, InputTextComponent, InputTextareaComponent, ListRequest, TranslateSelectItemsPipe, generateRandomString, moveControlInFormArray, moveDownInFormArray, moveUpInFormArray, shareReplayOne, toListRequest, toSelectItems };
294
+ export { InputBooleanComponent, InputDateComponent, InputEnumComponent, InputMultiSelectComponent, InputNumberComponent, InputSelectComponent, InputTextComponent, InputTextareaComponent, LabelComponent, ListRequest, TranslateSelectItemsPipe, generateRandomString, moveControlInFormArray, moveDownInFormArray, moveUpInFormArray, shareReplayOne, toListRequest, toSelectItems };
295
295
  //# sourceMappingURL=kominal-common-angular.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"kominal-common-angular.mjs","sources":["../../../projects/common-angular/src/lib/label/label.component.ts","../../../projects/common-angular/src/lib/label/label.component.html","../../../projects/common-angular/src/lib/pipes/translate-select-items.pipe.ts","../../../projects/common-angular/src/lib/util.ts","../../../projects/common-angular/src/lib/enum-input/enum-input.component.ts","../../../projects/common-angular/src/lib/enum-input/enum-input.component.html","../../../projects/common-angular/src/lib/input-boolean/input-boolean.component.ts","../../../projects/common-angular/src/lib/input-boolean/input-boolean.component.html","../../../projects/common-angular/src/lib/input-date/input-date.component.ts","../../../projects/common-angular/src/lib/input-date/input-date.component.html","../../../projects/common-angular/src/lib/input-multi-select/input-multi-select.component.ts","../../../projects/common-angular/src/lib/input-multi-select/input-multi-select.component.html","../../../projects/common-angular/src/lib/input-number/input-number.component.ts","../../../projects/common-angular/src/lib/input-number/input-number.component.html","../../../projects/common-angular/src/lib/input-select/input-select.component.ts","../../../projects/common-angular/src/lib/input-select/input-select.component.html","../../../projects/common-angular/src/lib/input-text/input-text.component.ts","../../../projects/common-angular/src/lib/input-text/input-text.component.html","../../../projects/common-angular/src/lib/input-textarea/input-textarea.component.ts","../../../projects/common-angular/src/lib/input-textarea/input-textarea.component.html","../../../projects/common-angular/src/public-api.ts","../../../projects/common-angular/src/kominal-common-angular.ts"],"sourcesContent":["import { Component, DestroyRef, effect, inject, input, signal } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { AbstractControl, Validators } from '@angular/forms';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { startWith } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-label',\r\n imports: [TranslatePipe],\r\n templateUrl: './label.component.html',\r\n})\r\nexport class LabelComponent {\r\n private destroyRef = inject(DestroyRef);\r\n\r\n public label = input.required<string>();\r\n public formElement = input.required<AbstractControl>();\r\n\r\n public required = signal(false);\r\n\r\n public constructor() {\r\n effect(() => {\r\n const formElement = this.formElement();\r\n formElement.statusChanges.pipe(startWith(undefined), takeUntilDestroyed(this.destroyRef)).subscribe(() => this.required.set(formElement.hasValidator(Validators.required)));\r\n });\r\n }\r\n}\r\n","<span>{{ label() | translate }}{{ required() ? ' *' : '' }}</span>\r\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { SelectItem } from 'primeng/api';\nimport { map, Observable, startWith } from 'rxjs';\n\n@Pipe({\n name: 'translateSelectItems',\n standalone: true,\n})\nexport class TranslateSelectItemsPipe implements PipeTransform {\n private translateService = inject(TranslateService);\n\n public transform(value: SelectItem[]): Observable<SelectItem[]> {\n return this.translateService.onLangChange.pipe(\n startWith(this.translateService.currentLang),\n map((): SelectItem[] =>\n value.map((item) => ({\n label: this.translateService.instant(item.label!),\n value: item.value,\n })),\n ),\n );\n }\n}\n","import { FormArray } from '@angular/forms';\nimport { SelectItem } from 'primeng/api';\nimport { OperatorFunction, shareReplay } from 'rxjs';\n\nexport function moveControlInFormArray(formArray: FormArray, previousIndex: number, currentIndex: number): void {\n const dir = currentIndex > previousIndex ? 1 : -1;\n\n const temp = formArray.at(previousIndex);\n for (let i = previousIndex; i * dir < currentIndex * dir; i += dir) {\n const current = formArray.at(i + dir);\n formArray.setControl(i, current);\n }\n formArray.setControl(currentIndex, temp);\n formArray.markAsDirty();\n}\n\nexport function moveUpInFormArray(formArray: FormArray, previousIndex: number): void {\n const currentIndex = previousIndex - 1;\n\n if (currentIndex >= 0) {\n moveControlInFormArray(formArray, previousIndex, currentIndex);\n }\n}\n\nexport function moveDownInFormArray(formArray: FormArray, previousIndex: number): void {\n const currentIndex = previousIndex + 1;\n\n if (currentIndex < formArray.length) {\n moveControlInFormArray(formArray, previousIndex, currentIndex);\n }\n}\n\nexport function shareReplayOne<T>(): OperatorFunction<T, T> {\n return shareReplay({ bufferSize: 1, refCount: true });\n}\n\nexport class ListRequest {\n public active?: string;\n public direction?: string;\n public pageIndex?: number;\n public pageSize?: number;\n public filter?: string;\n public select?: string;\n}\n\nexport function toListRequest<T>(conditions: any | undefined, additionalFilters?: Partial<Record<keyof T, any>>, select?: (keyof T)[]): ListRequest {\n if (!conditions && !additionalFilters && !select) {\n return {};\n }\n\n if (!conditions) {\n return {\n filter: JSON.stringify(additionalFilters),\n select: select?.join(' '),\n };\n }\n\n const filter: any = {};\n\n for (const [key, value] of Object.entries<any>(conditions.filters || {})) {\n if (value) {\n if (value.matchMode === 'startsWith' && value.value) {\n filter[key] = { $regex: `^${value.value}`, $options: 'i' };\n }\n if (value.matchMode === 'contains' && value.value) {\n filter[key] = { $regex: `${value.value}`, $options: 'i' };\n }\n if (value.matchMode === 'notContains' && value.value) {\n filter[key] = { $not: { $regex: `${value.value}`, $options: 'i' } };\n }\n if (value.matchMode === 'endsWith' && value.value) {\n filter[key] = { $regex: `${value.value}$`, $options: 'i' };\n }\n if (value.matchMode === 'equals' && value.value) {\n filter[key] = { $eq: value.value };\n }\n if (value.matchMode === 'notEquals' && value.value) {\n filter[key] = { $ne: value.value };\n }\n if (value.matchMode === 'in' && value.value && value.value.length > 0) {\n filter[key] = { $in: value.value };\n }\n }\n }\n\n return {\n active: conditions.sortField,\n direction: conditions.sortOrder === -1 ? 'asc' : 'desc',\n pageIndex: conditions.first / conditions.rows,\n pageSize: conditions.rows,\n filter: JSON.stringify({ ...filter, ...(additionalFilters || {}) }),\n select: select?.join(' '),\n };\n}\n\nexport function toSelectItems(name: string, type: any): SelectItem<string>[] {\n return Object.values<any>(type).map((value) => ({ label: `enums.${name}.${value}`, value }));\n}\n\nexport function generateRandomString(length: number): string {\n const characters = 'ABCDEFGHJKLMNRSTUYZ0123456789';\n let result = '';\n for (let i = 0; i < length; i += 1) {\n result += characters.charAt(Math.floor(Math.random() * characters.length));\n }\n return result;\n}\n","import { CommonModule } from '@angular/common';\r\nimport { Component, computed, DestroyRef, effect, inject, input, signal } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { FormControl, ReactiveFormsModule, Validators } from '@angular/forms';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\nimport { SelectButtonModule } from 'primeng/selectbutton';\r\nimport { startWith } from 'rxjs';\r\nimport { LabelComponent } from '../label/label.component';\r\nimport { TranslateSelectItemsPipe } from '../pipes/translate-select-items.pipe';\r\nimport { toSelectItems } from '../util';\r\n\r\n@Component({\r\n selector: 'app-enum-input',\r\n standalone: true,\r\n imports: [ReactiveFormsModule, DropdownModule, CommonModule, TranslateSelectItemsPipe, TranslateModule, LabelComponent, SelectButtonModule],\r\n templateUrl: './enum-input.component.html',\r\n host: { class: 'flex flex-col gap-1 w-full' },\r\n})\r\nexport class EnumInputComponent {\r\n private destroyRef = inject(DestroyRef);\r\n\r\n public label = input.required<string>();\r\n public enum = input.required<any>();\r\n public enumName = input.required<string>();\r\n public formElement = input.required<FormControl<any>>();\r\n public mode = input<'DROPDOWN' | 'BUTTON'>('DROPDOWN');\r\n\r\n public options = computed(() => toSelectItems(this.enumName(), this.enum()));\r\n\r\n public required = signal(false);\r\n\r\n public constructor() {\r\n effect(() => {\r\n const formElement = this.formElement();\r\n formElement.statusChanges.pipe(startWith(undefined), takeUntilDestroyed(this.destroyRef)).subscribe(() => this.required.set(formElement.hasValidator(Validators.required)));\r\n });\r\n }\r\n}\r\n","<app-label [label]=\"label()\" [formElement]=\"formElement()\" />\r\n@if (mode() === 'DROPDOWN') {\r\n <p-dropdown\r\n [filter]=\"true\"\r\n class=\"w-full\"\r\n styleClass=\"w-full\"\r\n appendTo=\"body\"\r\n [formControl]=\"formElement()\"\r\n [options]=\"(options() | translateSelectItems | async) || []\"\r\n optionLabel=\"label\"\r\n optionValue=\"value\"\r\n [showClear]=\"!required()\"\r\n ></p-dropdown>\r\n}\r\n@if (mode() === 'BUTTON') {\r\n <p-selectButton [formControl]=\"formElement()\" [options]=\"(options() | translateSelectItems | async) || []\" optionLabel=\"label\" optionValue=\"value\" />\r\n}\r\n","import { Component, input } from '@angular/core';\r\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\r\nimport { InputSwitchModule } from 'primeng/inputswitch';\r\nimport { LabelComponent } from '../label/label.component';\r\n\r\n@Component({\r\n selector: 'lib-input-boolean',\r\n imports: [InputSwitchModule, LabelComponent, ReactiveFormsModule],\r\n templateUrl: './input-boolean.component.html',\r\n host: { class: 'flex items-center gap-3 w-full' },\r\n})\r\nexport class InputBooleanComponent {\r\n public label = input.required<string>();\r\n public formElement = input.required<FormControl<string>>();\r\n}\r\n","<p-inputSwitch [formControl]=\"formElement()\" />\r\n<app-label style=\"margin-top: 0.4rem\" [label]=\"label()\" [formElement]=\"formElement()\" />\r\n","import { Component, DestroyRef, effect, inject, input, signal } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { FormControl, ReactiveFormsModule, Validators } from '@angular/forms';\r\nimport { DatePickerModule } from 'primeng/datepicker';\r\nimport { startWith } from 'rxjs';\r\nimport { LabelComponent } from '../label/label.component';\r\n\r\n@Component({\r\n selector: 'app-input-date',\r\n imports: [ReactiveFormsModule, LabelComponent, DatePickerModule],\r\n templateUrl: './input-date.component.html',\r\n host: { class: 'flex flex-col gap-1 w-full' },\r\n})\r\nexport class InputDateComponent {\r\n private destroyRef = inject(DestroyRef);\r\n\r\n public label = input.required<string>();\r\n public formElement = input.required<FormControl<Date>>();\r\n\r\n public required = signal(false);\r\n\r\n public constructor() {\r\n effect(() => {\r\n const formElement = this.formElement();\r\n formElement.statusChanges.pipe(startWith(undefined), takeUntilDestroyed(this.destroyRef)).subscribe(() => this.required.set(formElement.hasValidator(Validators.required)));\r\n });\r\n }\r\n}\r\n","<app-label [label]=\"label()\" [formElement]=\"formElement()\" />\r\n<p-datepicker [formControl]=\"formElement()\" styleClass=\"w-full\" dateFormat=\"dd.mm.yy\" [showClear]=\"!required()\" appendTo=\"body\" />\r\n","import { Component, DestroyRef, effect, inject, input, signal } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { FormControl, ReactiveFormsModule, Validators } from '@angular/forms';\r\nimport { SelectItem } from 'primeng/api';\r\nimport { MultiSelectModule } from 'primeng/multiselect';\r\nimport { startWith } from 'rxjs';\r\nimport { LabelComponent } from '../label/label.component';\r\n\r\n@Component({\r\n selector: 'app-input-select',\r\n imports: [MultiSelectModule, ReactiveFormsModule, LabelComponent],\r\n templateUrl: './input-multi-select.component.html',\r\n host: { class: 'flex flex-col gap-1 w-full' },\r\n})\r\nexport class InputMultiSelectComponent {\r\n private destroyRef = inject(DestroyRef);\r\n\r\n public label = input.required<string>();\r\n public formElement = input.required<FormControl<string>>();\r\n public options = input.required<SelectItem[]>();\r\n\r\n public required = signal(false);\r\n\r\n public constructor() {\r\n effect(() => {\r\n const formElement = this.formElement();\r\n formElement.statusChanges.pipe(startWith(undefined), takeUntilDestroyed(this.destroyRef)).subscribe(() => this.required.set(formElement.hasValidator(Validators.required)));\r\n });\r\n }\r\n}\r\n","<app-label [label]=\"label()\" [formElement]=\"formElement()\" />\r\n<p-multi-select\r\n [filter]=\"true\"\r\n class=\"w-full\"\r\n styleClass=\"w-full\"\r\n appendTo=\"body\"\r\n [formControl]=\"formElement()\"\r\n [options]=\"options() || []\"\r\n optionLabel=\"label\"\r\n optionValue=\"value\"\r\n [showClear]=\"!required()\"\r\n panelStyleClass=\"w-full\"\r\n/>\r\n","import { Component, input } from '@angular/core';\r\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\r\nimport { InputNumberModule } from 'primeng/inputnumber';\r\nimport { LabelComponent } from '../label/label.component';\r\n\r\n@Component({\r\n selector: 'app-input-number',\r\n imports: [LabelComponent, InputNumberModule, ReactiveFormsModule],\r\n templateUrl: './input-number.component.html',\r\n host: { class: 'flex flex-col gap-1 w-full' },\r\n})\r\nexport class InputNumberComponent {\r\n public label = input.required<string>();\r\n public formElement = input.required<FormControl<number>>();\r\n public min = input<number>();\r\n public max = input<number>();\r\n public step = input<number>();\r\n}\r\n","<app-label [label]=\"label()\" [formElement]=\"formElement()\" />\r\n<p-inputNumber [formControl]=\"formElement()\" [min]=\"min()\" [max]=\"max()\" [step]=\"step()\" mode=\"decimal\" />\r\n","import { Component, DestroyRef, effect, inject, input, signal } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { FormControl, ReactiveFormsModule, Validators } from '@angular/forms';\r\nimport { SelectItem } from 'primeng/api';\r\nimport { SelectModule } from 'primeng/select';\r\nimport { startWith } from 'rxjs';\r\nimport { LabelComponent } from '../label/label.component';\r\n\r\n@Component({\r\n selector: 'app-input-select',\r\n imports: [SelectModule, ReactiveFormsModule, LabelComponent],\r\n templateUrl: './input-select.component.html',\r\n host: { class: 'flex flex-col gap-1 w-full' },\r\n})\r\nexport class InputSelectComponent {\r\n private destroyRef = inject(DestroyRef);\r\n\r\n public label = input.required<string>();\r\n public formElement = input.required<FormControl<string>>();\r\n public options = input.required<SelectItem[]>();\r\n\r\n public required = signal(false);\r\n\r\n public constructor() {\r\n effect(() => {\r\n const formElement = this.formElement();\r\n formElement.statusChanges.pipe(startWith(undefined), takeUntilDestroyed(this.destroyRef)).subscribe(() => this.required.set(formElement.hasValidator(Validators.required)));\r\n });\r\n }\r\n}\r\n","<app-label [label]=\"label()\" [formElement]=\"formElement()\" />\r\n<p-select\r\n [filter]=\"true\"\r\n class=\"w-full\"\r\n styleClass=\"w-full\"\r\n appendTo=\"body\"\r\n [formControl]=\"formElement()\"\r\n [options]=\"options() || []\"\r\n optionLabel=\"label\"\r\n optionValue=\"value\"\r\n [showClear]=\"!required()\"\r\n panelStyleClass=\"w-full\"\r\n/>\r\n","import { Component, input } from '@angular/core';\r\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { LabelComponent } from '../label/label.component';\r\n\r\n@Component({\r\n selector: 'app-input-text',\r\n imports: [InputTextModule, ReactiveFormsModule, LabelComponent],\r\n templateUrl: './input-text.component.html',\r\n host: { class: 'flex flex-col gap-1 w-full' },\r\n})\r\nexport class InputTextComponent {\r\n public label = input.required<string>();\r\n public formElement = input.required<FormControl<string>>();\r\n}\r\n","<app-label [label]=\"label()\" [formElement]=\"formElement()\" />\r\n<input pInputText [formControl]=\"formElement()\" />\r\n","import { Component, input } from '@angular/core';\r\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\r\nimport { TextareaModule } from 'primeng/textarea';\r\nimport { LabelComponent } from '../label/label.component';\r\n\r\n@Component({\r\n selector: 'app-input-textarea',\r\n imports: [TextareaModule, ReactiveFormsModule, LabelComponent],\r\n templateUrl: './input-textarea.component.html',\r\n host: { class: 'flex flex-col gap-1 w-full' },\r\n})\r\nexport class InputTextareaComponent {\r\n public label = input.required<string>();\r\n public formElement = input.required<FormControl<string>>();\r\n}\r\n","<app-label [label]=\"label()\" [formElement]=\"formElement()\" />\r\n<textarea pInputTextarea [autoResize]=\"true\" [formControl]=\"formElement()\"></textarea>\r\n","/*\r\n * Public API Surface of common-angular\r\n */\r\n\r\nexport * from './lib/enum-input/enum-input.component';\r\nexport * from './lib/input-boolean/input-boolean.component';\r\nexport * from './lib/input-date/input-date.component';\r\nexport * from './lib/input-multi-select/input-multi-select.component';\r\nexport * from './lib/input-number/input-number.component';\r\nexport * from './lib/input-select/input-select.component';\r\nexport * from './lib/input-text/input-text.component';\r\nexport * from './lib/input-textarea/input-textarea.component';\r\n\r\nexport * from './lib/pipes/translate-select-items.pipe';\r\n\r\nexport * from './lib/util';\r\n\r\nexport * from './lib/models/form.model';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1"],"mappings":"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"}
1
+ {"version":3,"file":"kominal-common-angular.mjs","sources":["../../../projects/common-angular/src/lib/label/label.component.ts","../../../projects/common-angular/src/lib/label/label.component.html","../../../projects/common-angular/src/lib/input-boolean/input-boolean.component.ts","../../../projects/common-angular/src/lib/input-boolean/input-boolean.component.html","../../../projects/common-angular/src/lib/input-date/input-date.component.ts","../../../projects/common-angular/src/lib/input-date/input-date.component.html","../../../projects/common-angular/src/lib/pipes/translate-select-items.pipe.ts","../../../projects/common-angular/src/lib/util.ts","../../../projects/common-angular/src/lib/input-enum/input-enum.component.ts","../../../projects/common-angular/src/lib/input-enum/input-enum.component.html","../../../projects/common-angular/src/lib/input-multi-select/input-multi-select.component.ts","../../../projects/common-angular/src/lib/input-multi-select/input-multi-select.component.html","../../../projects/common-angular/src/lib/input-number/input-number.component.ts","../../../projects/common-angular/src/lib/input-number/input-number.component.html","../../../projects/common-angular/src/lib/input-select/input-select.component.ts","../../../projects/common-angular/src/lib/input-select/input-select.component.html","../../../projects/common-angular/src/lib/input-text/input-text.component.ts","../../../projects/common-angular/src/lib/input-text/input-text.component.html","../../../projects/common-angular/src/lib/input-textarea/input-textarea.component.ts","../../../projects/common-angular/src/lib/input-textarea/input-textarea.component.html","../../../projects/common-angular/src/public-api.ts","../../../projects/common-angular/src/kominal-common-angular.ts"],"sourcesContent":["import { Component, DestroyRef, effect, inject, input, signal } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { AbstractControl, Validators } from '@angular/forms';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { startWith } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-label',\r\n imports: [TranslatePipe],\r\n templateUrl: './label.component.html',\r\n})\r\nexport class LabelComponent {\r\n private destroyRef = inject(DestroyRef);\r\n\r\n public label = input.required<string>();\r\n public formElement = input.required<AbstractControl>();\r\n\r\n public required = signal(false);\r\n\r\n public constructor() {\r\n effect(() => {\r\n const formElement = this.formElement();\r\n formElement.statusChanges.pipe(startWith(undefined), takeUntilDestroyed(this.destroyRef)).subscribe(() => this.required.set(formElement.hasValidator(Validators.required)));\r\n });\r\n }\r\n}\r\n","<span>{{ label() | translate }}{{ required() ? ' *' : '' }}</span>\r\n","import { Component, input } from '@angular/core';\r\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\r\nimport { InputSwitchModule } from 'primeng/inputswitch';\r\nimport { LabelComponent } from '../label/label.component';\r\n\r\n@Component({\r\n selector: 'app-input-boolean',\r\n imports: [InputSwitchModule, LabelComponent, ReactiveFormsModule],\r\n templateUrl: './input-boolean.component.html',\r\n host: { class: 'flex items-center gap-3 w-full' },\r\n})\r\nexport class InputBooleanComponent {\r\n public label = input.required<string>();\r\n public formElement = input.required<FormControl<boolean>>();\r\n}\r\n","<p-inputSwitch [formControl]=\"formElement()\" />\r\n<app-label [label]=\"label()\" [formElement]=\"formElement()\" />\r\n","import { Component, DestroyRef, effect, inject, input, signal } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { FormControl, ReactiveFormsModule, Validators } from '@angular/forms';\r\nimport { DatePickerModule } from 'primeng/datepicker';\r\nimport { startWith } from 'rxjs';\r\nimport { LabelComponent } from '../label/label.component';\r\n\r\n@Component({\r\n selector: 'app-input-date',\r\n imports: [ReactiveFormsModule, LabelComponent, DatePickerModule],\r\n templateUrl: './input-date.component.html',\r\n host: { class: 'flex flex-col gap-1 w-full' },\r\n})\r\nexport class InputDateComponent {\r\n private destroyRef = inject(DestroyRef);\r\n\r\n public label = input.required<string>();\r\n public formElement = input.required<FormControl<Date>>();\r\n\r\n public required = signal(false);\r\n\r\n public constructor() {\r\n effect(() => {\r\n const formElement = this.formElement();\r\n formElement.statusChanges.pipe(startWith(undefined), takeUntilDestroyed(this.destroyRef)).subscribe(() => this.required.set(formElement.hasValidator(Validators.required)));\r\n });\r\n }\r\n}\r\n","<app-label [label]=\"label()\" [formElement]=\"formElement()\" />\r\n<p-datepicker [formControl]=\"formElement()\" styleClass=\"w-full\" dateFormat=\"dd.mm.yy\" [showClear]=\"!required()\" appendTo=\"body\" />\r\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { SelectItem } from 'primeng/api';\nimport { map, Observable, startWith } from 'rxjs';\n\n@Pipe({\n name: 'translateSelectItems',\n standalone: true,\n})\nexport class TranslateSelectItemsPipe implements PipeTransform {\n private translateService = inject(TranslateService);\n\n public transform(value: SelectItem[]): Observable<SelectItem[]> {\n return this.translateService.onLangChange.pipe(\n startWith(this.translateService.currentLang),\n map((): SelectItem[] =>\n value.map((item) => ({\n label: this.translateService.instant(item.label!),\n value: item.value,\n })),\n ),\n );\n }\n}\n","import { FormArray } from '@angular/forms';\nimport { SelectItem } from 'primeng/api';\nimport { OperatorFunction, shareReplay } from 'rxjs';\n\nexport function moveControlInFormArray(formArray: FormArray, previousIndex: number, currentIndex: number): void {\n const dir = currentIndex > previousIndex ? 1 : -1;\n\n const temp = formArray.at(previousIndex);\n for (let i = previousIndex; i * dir < currentIndex * dir; i += dir) {\n const current = formArray.at(i + dir);\n formArray.setControl(i, current);\n }\n formArray.setControl(currentIndex, temp);\n formArray.markAsDirty();\n}\n\nexport function moveUpInFormArray(formArray: FormArray, previousIndex: number): void {\n const currentIndex = previousIndex - 1;\n\n if (currentIndex >= 0) {\n moveControlInFormArray(formArray, previousIndex, currentIndex);\n }\n}\n\nexport function moveDownInFormArray(formArray: FormArray, previousIndex: number): void {\n const currentIndex = previousIndex + 1;\n\n if (currentIndex < formArray.length) {\n moveControlInFormArray(formArray, previousIndex, currentIndex);\n }\n}\n\nexport function shareReplayOne<T>(): OperatorFunction<T, T> {\n return shareReplay({ bufferSize: 1, refCount: true });\n}\n\nexport class ListRequest {\n public active?: string;\n public direction?: string;\n public pageIndex?: number;\n public pageSize?: number;\n public filter?: string;\n public select?: string;\n}\n\nexport function toListRequest<T>(conditions: any | undefined, additionalFilters?: Partial<Record<keyof T, any>>, select?: (keyof T)[]): ListRequest {\n if (!conditions && !additionalFilters && !select) {\n return {};\n }\n\n if (!conditions) {\n return {\n filter: JSON.stringify(additionalFilters),\n select: select?.join(' '),\n };\n }\n\n const filter: any = {};\n\n for (const [key, value] of Object.entries<any>(conditions.filters || {})) {\n if (value) {\n if (value.matchMode === 'startsWith' && value.value) {\n filter[key] = { $regex: `^${value.value}`, $options: 'i' };\n }\n if (value.matchMode === 'contains' && value.value) {\n filter[key] = { $regex: `${value.value}`, $options: 'i' };\n }\n if (value.matchMode === 'notContains' && value.value) {\n filter[key] = { $not: { $regex: `${value.value}`, $options: 'i' } };\n }\n if (value.matchMode === 'endsWith' && value.value) {\n filter[key] = { $regex: `${value.value}$`, $options: 'i' };\n }\n if (value.matchMode === 'equals' && value.value) {\n filter[key] = { $eq: value.value };\n }\n if (value.matchMode === 'notEquals' && value.value) {\n filter[key] = { $ne: value.value };\n }\n if (value.matchMode === 'in' && value.value && value.value.length > 0) {\n filter[key] = { $in: value.value };\n }\n }\n }\n\n return {\n active: conditions.sortField,\n direction: conditions.sortOrder === -1 ? 'asc' : 'desc',\n pageIndex: conditions.first / conditions.rows,\n pageSize: conditions.rows,\n filter: JSON.stringify({ ...filter, ...(additionalFilters || {}) }),\n select: select?.join(' '),\n };\n}\n\nexport function toSelectItems(name: string, type: any): SelectItem<string>[] {\n return Object.values<any>(type).map((value) => ({ label: `enums.${name}.${value}`, value }));\n}\n\nexport function generateRandomString(length: number): string {\n const characters = 'ABCDEFGHJKLMNRSTUYZ0123456789';\n let result = '';\n for (let i = 0; i < length; i += 1) {\n result += characters.charAt(Math.floor(Math.random() * characters.length));\n }\n return result;\n}\n","import { CommonModule } from '@angular/common';\r\nimport { Component, computed, DestroyRef, effect, inject, input, signal } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { FormControl, ReactiveFormsModule, Validators } from '@angular/forms';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\nimport { SelectButtonModule } from 'primeng/selectbutton';\r\nimport { startWith } from 'rxjs';\r\nimport { LabelComponent } from '../label/label.component';\r\nimport { TranslateSelectItemsPipe } from '../pipes/translate-select-items.pipe';\r\nimport { toSelectItems } from '../util';\r\n\r\n@Component({\r\n selector: 'app-input-enum',\r\n standalone: true,\r\n imports: [ReactiveFormsModule, DropdownModule, CommonModule, TranslateSelectItemsPipe, TranslateModule, LabelComponent, SelectButtonModule],\r\n templateUrl: './input-enum.component.html',\r\n host: { class: 'flex flex-col gap-1 w-full' },\r\n})\r\nexport class InputEnumComponent {\r\n private destroyRef = inject(DestroyRef);\r\n\r\n public label = input.required<string>();\r\n public enum = input.required<any>();\r\n public enumName = input.required<string>();\r\n public formElement = input.required<FormControl<any>>();\r\n public mode = input<'DROPDOWN' | 'BUTTON'>('DROPDOWN');\r\n\r\n public options = computed(() => toSelectItems(this.enumName(), this.enum()));\r\n\r\n public required = signal(false);\r\n\r\n public constructor() {\r\n effect(() => {\r\n const formElement = this.formElement();\r\n formElement.statusChanges.pipe(startWith(undefined), takeUntilDestroyed(this.destroyRef)).subscribe(() => this.required.set(formElement.hasValidator(Validators.required)));\r\n });\r\n }\r\n}\r\n","<app-label [label]=\"label()\" [formElement]=\"formElement()\" />\r\n@if (mode() === 'DROPDOWN') {\r\n <p-dropdown\r\n [filter]=\"true\"\r\n class=\"w-full\"\r\n styleClass=\"w-full\"\r\n appendTo=\"body\"\r\n [formControl]=\"formElement()\"\r\n [options]=\"(options() | translateSelectItems | async) || []\"\r\n optionLabel=\"label\"\r\n optionValue=\"value\"\r\n [showClear]=\"!required()\"\r\n ></p-dropdown>\r\n}\r\n@if (mode() === 'BUTTON') {\r\n <p-selectButton [formControl]=\"formElement()\" [options]=\"(options() | translateSelectItems | async) || []\" optionLabel=\"label\" optionValue=\"value\" />\r\n}\r\n","import { Component, DestroyRef, effect, inject, input, signal } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { FormControl, ReactiveFormsModule, Validators } from '@angular/forms';\r\nimport { SelectItem } from 'primeng/api';\r\nimport { MultiSelectModule } from 'primeng/multiselect';\r\nimport { startWith } from 'rxjs';\r\nimport { LabelComponent } from '../label/label.component';\r\n\r\n@Component({\r\n selector: 'app-input-select',\r\n imports: [MultiSelectModule, ReactiveFormsModule, LabelComponent],\r\n templateUrl: './input-multi-select.component.html',\r\n host: { class: 'flex flex-col gap-1 w-full' },\r\n})\r\nexport class InputMultiSelectComponent {\r\n private destroyRef = inject(DestroyRef);\r\n\r\n public label = input.required<string>();\r\n public formElement = input.required<FormControl<string[]>>();\r\n public options = input.required<SelectItem[] | undefined | null>();\r\n\r\n public required = signal(false);\r\n\r\n public constructor() {\r\n effect(() => {\r\n const formElement = this.formElement();\r\n formElement.statusChanges.pipe(startWith(undefined), takeUntilDestroyed(this.destroyRef)).subscribe(() => this.required.set(formElement.hasValidator(Validators.required)));\r\n });\r\n }\r\n}\r\n","<app-label [label]=\"label()\" [formElement]=\"formElement()\" />\r\n<p-multi-select\r\n [filter]=\"true\"\r\n class=\"w-full\"\r\n styleClass=\"w-full\"\r\n appendTo=\"body\"\r\n [formControl]=\"formElement()\"\r\n [options]=\"options() || []\"\r\n optionLabel=\"label\"\r\n optionValue=\"value\"\r\n [showClear]=\"!required()\"\r\n panelStyleClass=\"w-full\"\r\n/>\r\n","import { Component, input } from '@angular/core';\r\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\r\nimport { InputNumberModule } from 'primeng/inputnumber';\r\nimport { LabelComponent } from '../label/label.component';\r\n\r\n@Component({\r\n selector: 'app-input-number',\r\n imports: [LabelComponent, InputNumberModule, ReactiveFormsModule],\r\n templateUrl: './input-number.component.html',\r\n host: { class: 'flex flex-col gap-1 w-full' },\r\n})\r\nexport class InputNumberComponent {\r\n public label = input.required<string>();\r\n public formElement = input.required<FormControl<number>>();\r\n public min = input<number>();\r\n public max = input<number>();\r\n public step = input<number>();\r\n}\r\n","<app-label [label]=\"label()\" [formElement]=\"formElement()\" />\r\n<p-inputNumber [formControl]=\"formElement()\" [min]=\"min()\" [max]=\"max()\" [step]=\"step()\" mode=\"decimal\" />\r\n","import { Component, DestroyRef, effect, inject, input, signal } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { FormControl, ReactiveFormsModule, Validators } from '@angular/forms';\r\nimport { SelectItem } from 'primeng/api';\r\nimport { SelectModule } from 'primeng/select';\r\nimport { startWith } from 'rxjs';\r\nimport { LabelComponent } from '../label/label.component';\r\n\r\n@Component({\r\n selector: 'app-input-select',\r\n imports: [SelectModule, ReactiveFormsModule, LabelComponent],\r\n templateUrl: './input-select.component.html',\r\n host: { class: 'flex flex-col gap-1 w-full' },\r\n})\r\nexport class InputSelectComponent {\r\n private destroyRef = inject(DestroyRef);\r\n\r\n public label = input.required<string>();\r\n public formElement = input.required<FormControl<string>>();\r\n public options = input.required<SelectItem[] | undefined | null>();\r\n\r\n public required = signal(false);\r\n\r\n public constructor() {\r\n effect(() => {\r\n const formElement = this.formElement();\r\n formElement.statusChanges.pipe(startWith(undefined), takeUntilDestroyed(this.destroyRef)).subscribe(() => this.required.set(formElement.hasValidator(Validators.required)));\r\n });\r\n }\r\n}\r\n","<app-label [label]=\"label()\" [formElement]=\"formElement()\" />\r\n<p-select\r\n [filter]=\"true\"\r\n class=\"w-full\"\r\n styleClass=\"w-full\"\r\n appendTo=\"body\"\r\n [formControl]=\"formElement()\"\r\n [options]=\"options() || []\"\r\n optionLabel=\"label\"\r\n optionValue=\"value\"\r\n [showClear]=\"!required()\"\r\n panelStyleClass=\"w-full\"\r\n/>\r\n","import { Component, input } from '@angular/core';\r\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { LabelComponent } from '../label/label.component';\r\n\r\n@Component({\r\n selector: 'app-input-text',\r\n imports: [InputTextModule, ReactiveFormsModule, LabelComponent],\r\n templateUrl: './input-text.component.html',\r\n host: { class: 'flex flex-col gap-1 w-full' },\r\n})\r\nexport class InputTextComponent {\r\n public label = input.required<string>();\r\n public formElement = input.required<FormControl<string>>();\r\n}\r\n","<app-label [label]=\"label()\" [formElement]=\"formElement()\" />\r\n<input pInputText [formControl]=\"formElement()\" />\r\n","import { Component, input } from '@angular/core';\r\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\r\nimport { TextareaModule } from 'primeng/textarea';\r\nimport { LabelComponent } from '../label/label.component';\r\n\r\n@Component({\r\n selector: 'app-input-textarea',\r\n imports: [TextareaModule, ReactiveFormsModule, LabelComponent],\r\n templateUrl: './input-textarea.component.html',\r\n host: { class: 'flex flex-col gap-1 w-full' },\r\n})\r\nexport class InputTextareaComponent {\r\n public label = input.required<string>();\r\n public formElement = input.required<FormControl<string>>();\r\n}\r\n","<app-label [label]=\"label()\" [formElement]=\"formElement()\" />\r\n<textarea pInputTextarea [autoResize]=\"true\" [formControl]=\"formElement()\"></textarea>\r\n","/*\r\n * Public API Surface of common-angular\r\n */\r\n\r\nexport * from './lib/input-boolean/input-boolean.component';\r\nexport * from './lib/input-date/input-date.component';\r\nexport * from './lib/input-enum/input-enum.component';\r\nexport * from './lib/input-multi-select/input-multi-select.component';\r\nexport * from './lib/input-number/input-number.component';\r\nexport * from './lib/input-select/input-select.component';\r\nexport * from './lib/input-text/input-text.component';\r\nexport * from './lib/input-textarea/input-textarea.component';\r\nexport * from './lib/label/label.component';\r\n\r\nexport * from './lib/pipes/translate-select-items.pipe';\r\n\r\nexport * from './lib/util';\r\n\r\nexport * from './lib/models/form.model';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;MAWa,cAAc,CAAA;AACjB,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAEhC,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAU;AAChC,IAAA,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAmB;AAE/C,IAAA,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC;AAE/B,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;AACtC,YAAA,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC7K,SAAC,CAAC;;wGAZO,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECX3B,wEACA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EDOY,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA;;4FAGZ,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,SAAS;+BACE,WAAW,EAAA,OAAA,EACZ,CAAC,aAAa,CAAC,EAAA,QAAA,EAAA,wEAAA,EAAA;;;MEGb,qBAAqB,CAAA;AACzB,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAU;AAChC,IAAA,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAwB;wGAFhD,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,qZCXlC,4HAEA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDKY,iBAAiB,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,UAAA,EAAA,SAAA,EAAA,MAAA,EAAA,UAAA,EAAA,UAAA,EAAA,WAAA,EAAA,YAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,cAAc,uFAAE,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAIrD,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBANjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EACpB,OAAA,EAAA,CAAC,iBAAiB,EAAE,cAAc,EAAE,mBAAmB,CAAC,EAE3D,IAAA,EAAA,EAAE,KAAK,EAAE,gCAAgC,EAAE,EAAA,QAAA,EAAA,4HAAA,EAAA;;;MEItC,kBAAkB,CAAA;AACrB,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAEhC,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAU;AAChC,IAAA,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAqB;AAEjD,IAAA,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC;AAE/B,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;AACtC,YAAA,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC7K,SAAC,CAAC;;wGAZO,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,8YCb/B,uNAEA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDOY,mBAAmB,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,cAAc,uFAAE,gBAAgB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,UAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,SAAA,EAAA,MAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,eAAA,EAAA,UAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,UAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,UAAA,EAAA,6BAAA,EAAA,WAAA,EAAA,UAAA,EAAA,eAAA,EAAA,cAAA,EAAA,eAAA,EAAA,uBAAA,EAAA,uBAAA,EAAA,WAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,sBAAA,EAAA,SAAA,EAAA,eAAA,EAAA,WAAA,EAAA,uBAAA,EAAA,uBAAA,EAAA,UAAA,EAAA,SAAA,EAAA,MAAA,EAAA,SAAA,EAAA,SAAA,EAAA,eAAA,EAAA,cAAA,EAAA,WAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,SAAA,EAAA,cAAA,EAAA,cAAA,EAAA,eAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAIpD,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAN9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EACjB,OAAA,EAAA,CAAC,mBAAmB,EAAE,cAAc,EAAE,gBAAgB,CAAC,EAE1D,IAAA,EAAA,EAAE,KAAK,EAAE,4BAA4B,EAAE,EAAA,QAAA,EAAA,uNAAA,EAAA;;;MEFlC,wBAAwB,CAAA;AAC3B,IAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAE5C,IAAA,SAAS,CAAC,KAAmB,EAAA;AAClC,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAC5C,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAC5C,GAAG,CAAC,MACF,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAM,CAAC;YACjD,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC,CACJ,CACF;;wGAZQ,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA;sGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,sBAAA,EAAA,CAAA;;4FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,sBAAsB;AAC5B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;;SCJe,sBAAsB,CAAC,SAAoB,EAAE,aAAqB,EAAE,YAAoB,EAAA;AACtG,IAAA,MAAM,GAAG,GAAG,YAAY,GAAG,aAAa,GAAG,CAAC,GAAG,CAAC,CAAC;IAEjD,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC,aAAa,CAAC;AACxC,IAAA,KAAK,IAAI,CAAC,GAAG,aAAa,EAAE,CAAC,GAAG,GAAG,GAAG,YAAY,GAAG,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE;QAClE,MAAM,OAAO,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;AACrC,QAAA,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC;;AAElC,IAAA,SAAS,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC;IACxC,SAAS,CAAC,WAAW,EAAE;AACzB;AAEgB,SAAA,iBAAiB,CAAC,SAAoB,EAAE,aAAqB,EAAA;AAC3E,IAAA,MAAM,YAAY,GAAG,aAAa,GAAG,CAAC;AAEtC,IAAA,IAAI,YAAY,IAAI,CAAC,EAAE;AACrB,QAAA,sBAAsB,CAAC,SAAS,EAAE,aAAa,EAAE,YAAY,CAAC;;AAElE;AAEgB,SAAA,mBAAmB,CAAC,SAAoB,EAAE,aAAqB,EAAA;AAC7E,IAAA,MAAM,YAAY,GAAG,aAAa,GAAG,CAAC;AAEtC,IAAA,IAAI,YAAY,GAAG,SAAS,CAAC,MAAM,EAAE;AACnC,QAAA,sBAAsB,CAAC,SAAS,EAAE,aAAa,EAAE,YAAY,CAAC;;AAElE;SAEgB,cAAc,GAAA;AAC5B,IAAA,OAAO,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACvD;MAEa,WAAW,CAAA;AACf,IAAA,MAAM;AACN,IAAA,SAAS;AACT,IAAA,SAAS;AACT,IAAA,QAAQ;AACR,IAAA,MAAM;AACN,IAAA,MAAM;AACd;SAEe,aAAa,CAAI,UAA2B,EAAE,iBAAiD,EAAE,MAAoB,EAAA;IACnI,IAAI,CAAC,UAAU,IAAI,CAAC,iBAAiB,IAAI,CAAC,MAAM,EAAE;AAChD,QAAA,OAAO,EAAE;;IAGX,IAAI,CAAC,UAAU,EAAE;QACf,OAAO;AACL,YAAA,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;AACzC,YAAA,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC;SAC1B;;IAGH,MAAM,MAAM,GAAQ,EAAE;AAEtB,IAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAM,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE;QACxE,IAAI,KAAK,EAAE;YACT,IAAI,KAAK,CAAC,SAAS,KAAK,YAAY,IAAI,KAAK,CAAC,KAAK,EAAE;AACnD,gBAAA,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,CAAA,CAAA,EAAI,KAAK,CAAC,KAAK,CAAE,CAAA,EAAE,QAAQ,EAAE,GAAG,EAAE;;YAE5D,IAAI,KAAK,CAAC,SAAS,KAAK,UAAU,IAAI,KAAK,CAAC,KAAK,EAAE;AACjD,gBAAA,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,CAAA,EAAG,KAAK,CAAC,KAAK,CAAE,CAAA,EAAE,QAAQ,EAAE,GAAG,EAAE;;YAE3D,IAAI,KAAK,CAAC,SAAS,KAAK,aAAa,IAAI,KAAK,CAAC,KAAK,EAAE;gBACpD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAE,CAAA,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;;YAErE,IAAI,KAAK,CAAC,SAAS,KAAK,UAAU,IAAI,KAAK,CAAC,KAAK,EAAE;AACjD,gBAAA,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,CAAA,EAAG,KAAK,CAAC,KAAK,CAAG,CAAA,CAAA,EAAE,QAAQ,EAAE,GAAG,EAAE;;YAE5D,IAAI,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,EAAE;gBAC/C,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE;;YAEpC,IAAI,KAAK,CAAC,SAAS,KAAK,WAAW,IAAI,KAAK,CAAC,KAAK,EAAE;gBAClD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE;;AAEpC,YAAA,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE;;;;IAKxC,OAAO;QACL,MAAM,EAAE,UAAU,CAAC,SAAS;AAC5B,QAAA,SAAS,EAAE,UAAU,CAAC,SAAS,KAAK,CAAC,CAAC,GAAG,KAAK,GAAG,MAAM;AACvD,QAAA,SAAS,EAAE,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI;QAC7C,QAAQ,EAAE,UAAU,CAAC,IAAI;AACzB,QAAA,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,iBAAiB,IAAI,EAAE,CAAC,EAAE,CAAC;AACnE,QAAA,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC;KAC1B;AACH;AAEgB,SAAA,aAAa,CAAC,IAAY,EAAE,IAAS,EAAA;AACnD,IAAA,OAAO,MAAM,CAAC,MAAM,CAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM,EAAE,KAAK,EAAE,CAAS,MAAA,EAAA,IAAI,CAAI,CAAA,EAAA,KAAK,CAAE,CAAA,EAAE,KAAK,EAAE,CAAC,CAAC;AAC9F;AAEM,SAAU,oBAAoB,CAAC,MAAc,EAAA;IACjD,MAAM,UAAU,GAAG,+BAA+B;IAClD,IAAI,MAAM,GAAG,EAAE;AACf,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AAClC,QAAA,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;;AAE5E,IAAA,OAAO,MAAM;AACf;;MCvFa,kBAAkB,CAAA;AACrB,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAEhC,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAU;AAChC,IAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAO;AAC5B,IAAA,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAU;AACnC,IAAA,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAoB;AAChD,IAAA,IAAI,GAAG,KAAK,CAAwB,UAAU,CAAC;AAE/C,IAAA,OAAO,GAAG,QAAQ,CAAC,MAAM,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAErE,IAAA,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC;AAE/B,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;AACtC,YAAA,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC7K,SAAC,CAAC;;wGAjBO,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,ECnB/B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,4BAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,0oBAiBA,EDFY,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,yTAAE,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,cAAA,EAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,EAAA,cAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,cAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,cAAA,EAAA,MAAA,EAAA,eAAA,EAAA,uBAAA,EAAA,sBAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,uBAAA,EAAA,aAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,wBAAwB,EAAE,IAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,cAAc,uFAAE,kBAAkB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,iDAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,OAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAI/H,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAP9B,SAAS;+BACE,gBAAgB,EAAA,UAAA,EACd,IAAI,EACP,OAAA,EAAA,CAAC,mBAAmB,EAAE,cAAc,EAAE,YAAY,EAAE,wBAAwB,EAAE,eAAe,EAAE,cAAc,EAAE,kBAAkB,CAAC,QAErI,EAAE,KAAK,EAAE,4BAA4B,EAAE,EAAA,QAAA,EAAA,0oBAAA,EAAA;;;MEHlC,yBAAyB,CAAA;AAC5B,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAEhC,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAU;AAChC,IAAA,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAyB;AACrD,IAAA,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAmC;AAE3D,IAAA,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC;AAE/B,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;AACtC,YAAA,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC7K,SAAC,CAAC;;wGAbO,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAzB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,6gBCdtC,8XAaA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDHY,iBAAiB,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,WAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,WAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,MAAA,EAAA,gBAAA,EAAA,sBAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,cAAA,EAAA,MAAA,EAAA,eAAA,EAAA,SAAA,EAAA,uBAAA,EAAA,aAAA,EAAA,sBAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,cAAA,EAAA,MAAA,EAAA,WAAA,EAAA,WAAA,EAAA,YAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,uBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,SAAA,EAAA,aAAA,EAAA,UAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,mBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,EAAA,UAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,0TAAE,cAAc,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,aAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAIrD,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBANrC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EACnB,OAAA,EAAA,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,cAAc,CAAC,EAE3D,IAAA,EAAA,EAAE,KAAK,EAAE,4BAA4B,EAAE,EAAA,QAAA,EAAA,8XAAA,EAAA;;;MEDlC,oBAAoB,CAAA;AACxB,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAU;AAChC,IAAA,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAuB;IACnD,GAAG,GAAG,KAAK,EAAU;IACrB,GAAG,GAAG,KAAK,EAAU;IACrB,IAAI,GAAG,KAAK,EAAU;wGALlB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,yuBCXjC,+LAEA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDKY,cAAc,EAAE,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAiB,szBAAE,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAIrD,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EACnB,OAAA,EAAA,CAAC,cAAc,EAAE,iBAAiB,EAAE,mBAAmB,CAAC,EAE3D,IAAA,EAAA,EAAE,KAAK,EAAE,4BAA4B,EAAE,EAAA,QAAA,EAAA,+LAAA,EAAA;;;MEKlC,oBAAoB,CAAA;AACvB,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAEhC,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAU;AAChC,IAAA,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAuB;AACnD,IAAA,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAmC;AAE3D,IAAA,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC;AAE/B,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;AACtC,YAAA,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC7K,SAAC,CAAC;;wGAbO,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,6gBCdjC,wXAaA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDHY,YAAY,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,cAAA,EAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,EAAA,cAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,cAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,cAAA,EAAA,MAAA,EAAA,eAAA,EAAA,uBAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,uBAAA,EAAA,aAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,0TAAE,cAAc,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,aAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAIhD,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EACnB,OAAA,EAAA,CAAC,YAAY,EAAE,mBAAmB,EAAE,cAAc,CAAC,EAEtD,IAAA,EAAA,EAAE,KAAK,EAAE,4BAA4B,EAAE,EAAA,QAAA,EAAA,wXAAA,EAAA;;;MEDlC,kBAAkB,CAAA;AACtB,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAU;AAChC,IAAA,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAuB;wGAF/C,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,8YCX/B,+HAEA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDKY,eAAe,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,0kBAAE,cAAc,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,aAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAInD,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAN9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EACjB,OAAA,EAAA,CAAC,eAAe,EAAE,mBAAmB,EAAE,cAAc,CAAC,EAEzD,IAAA,EAAA,EAAE,KAAK,EAAE,4BAA4B,EAAE,EAAA,QAAA,EAAA,+HAAA,EAAA;;;MEElC,sBAAsB,CAAA;AAC1B,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAU;AAChC,IAAA,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAuB;wGAF/C,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAtB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,kZCXnC,qKAEA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDKY,cAAc,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,SAAA,EAAA,OAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,0kBAAE,cAAc,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,aAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAIlD,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBANlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EACrB,OAAA,EAAA,CAAC,cAAc,EAAE,mBAAmB,EAAE,cAAc,CAAC,EAExD,IAAA,EAAA,EAAE,KAAK,EAAE,4BAA4B,EAAE,EAAA,QAAA,EAAA,qKAAA,EAAA;;;AET/C;;AAEG;;ACFH;;AAEG;;;;"}
@@ -2,7 +2,7 @@ import { FormControl } from '@angular/forms';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class InputBooleanComponent {
4
4
  label: import("@angular/core").InputSignal<string>;
5
- formElement: import("@angular/core").InputSignal<FormControl<string>>;
5
+ formElement: import("@angular/core").InputSignal<FormControl<boolean>>;
6
6
  static ɵfac: i0.ɵɵFactoryDeclaration<InputBooleanComponent, never>;
7
- static ɵcmp: i0.ɵɵComponentDeclaration<InputBooleanComponent, "lib-input-boolean", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "formElement": { "alias": "formElement"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<InputBooleanComponent, "app-input-boolean", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "formElement": { "alias": "formElement"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
8
8
  }
@@ -1,6 +1,6 @@
1
1
  import { FormControl } from '@angular/forms';
2
2
  import * as i0 from "@angular/core";
3
- export declare class EnumInputComponent {
3
+ export declare class InputEnumComponent {
4
4
  private destroyRef;
5
5
  label: import("@angular/core").InputSignal<string>;
6
6
  enum: import("@angular/core").InputSignal<any>;
@@ -10,6 +10,6 @@ export declare class EnumInputComponent {
10
10
  options: import("@angular/core").Signal<import("primeng/api").SelectItem<string>[]>;
11
11
  required: import("@angular/core").WritableSignal<boolean>;
12
12
  constructor();
13
- static ɵfac: i0.ɵɵFactoryDeclaration<EnumInputComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<EnumInputComponent, "app-enum-input", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "enum": { "alias": "enum"; "required": true; "isSignal": true; }; "enumName": { "alias": "enumName"; "required": true; "isSignal": true; }; "formElement": { "alias": "formElement"; "required": true; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<InputEnumComponent, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<InputEnumComponent, "app-input-enum", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "enum": { "alias": "enum"; "required": true; "isSignal": true; }; "enumName": { "alias": "enumName"; "required": true; "isSignal": true; }; "formElement": { "alias": "formElement"; "required": true; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
15
15
  }
@@ -4,8 +4,8 @@ import * as i0 from "@angular/core";
4
4
  export declare class InputMultiSelectComponent {
5
5
  private destroyRef;
6
6
  label: import("@angular/core").InputSignal<string>;
7
- formElement: import("@angular/core").InputSignal<FormControl<string>>;
8
- options: import("@angular/core").InputSignal<SelectItem<any>[]>;
7
+ formElement: import("@angular/core").InputSignal<FormControl<string[]>>;
8
+ options: import("@angular/core").InputSignal<SelectItem<any>[] | null | undefined>;
9
9
  required: import("@angular/core").WritableSignal<boolean>;
10
10
  constructor();
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<InputMultiSelectComponent, never>;
@@ -5,7 +5,7 @@ export declare class InputSelectComponent {
5
5
  private destroyRef;
6
6
  label: import("@angular/core").InputSignal<string>;
7
7
  formElement: import("@angular/core").InputSignal<FormControl<string>>;
8
- options: import("@angular/core").InputSignal<SelectItem<any>[]>;
8
+ options: import("@angular/core").InputSignal<SelectItem<any>[] | null | undefined>;
9
9
  required: import("@angular/core").WritableSignal<boolean>;
10
10
  constructor();
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<InputSelectComponent, never>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kominal/common-angular",
3
- "version": "0.0.21",
3
+ "version": "0.1.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^19.2.0",
6
6
  "@angular/core": "^19.2.0",
package/public-api.d.ts CHANGED
@@ -1,11 +1,12 @@
1
- export * from './lib/enum-input/enum-input.component';
2
1
  export * from './lib/input-boolean/input-boolean.component';
3
2
  export * from './lib/input-date/input-date.component';
3
+ export * from './lib/input-enum/input-enum.component';
4
4
  export * from './lib/input-multi-select/input-multi-select.component';
5
5
  export * from './lib/input-number/input-number.component';
6
6
  export * from './lib/input-select/input-select.component';
7
7
  export * from './lib/input-text/input-text.component';
8
8
  export * from './lib/input-textarea/input-textarea.component';
9
+ export * from './lib/label/label.component';
9
10
  export * from './lib/pipes/translate-select-items.pipe';
10
11
  export * from './lib/util';
11
12
  export * from './lib/models/form.model';