@odx/angular 2.6.1 → 2.7.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.
- package/CHANGELOG.md +38 -0
- package/cdk/autocomplete-control/index.d.ts +0 -1
- package/cdk/autocomplete-control/lib/autocomplete-control.d.ts +2 -3
- package/cdk/autocomplete-control/lib/pipes/base-search-filter-pipe.d.ts +3 -3
- package/cdk/custom-form-control/index.d.ts +1 -0
- package/cdk/{autocomplete-control/lib/abstract/base-search-field.directive.d.ts → custom-form-control/lib/input-control.directive.d.ts} +3 -3
- package/charts-config/lib/charts-theme.directive.d.ts +1 -1
- package/charts-config/lib/charts-theme.service.d.ts +3 -3
- package/components/autocomplete/lib/autocomplete.component.d.ts +2 -2
- package/components/autocomplete/lib/autocomplete.module.d.ts +2 -2
- package/components/autocomplete/lib/directives/autocomplete-input-control.directive.d.ts +9 -0
- package/components/autocomplete/lib/directives/index.d.ts +1 -1
- package/components/calendar/README.md +3 -0
- package/components/calendar/index.d.ts +5 -0
- package/components/calendar/lib/calendar.component.d.ts +18 -0
- package/components/calendar/lib/calendar.config.d.ts +100 -0
- package/components/calendar/lib/components/calendar-header/calendar-header.component.d.ts +27 -0
- package/components/calendar/lib/components/calendar-header/index.d.ts +1 -0
- package/components/calendar/lib/components/calendar-month/calendar-month.component.d.ts +21 -0
- package/components/calendar/lib/components/calendar-month/index.d.ts +1 -0
- package/components/calendar/lib/components/calendar-year/calendar-year.component.d.ts +18 -0
- package/components/calendar/lib/components/calendar-year/index.d.ts +1 -0
- package/components/calendar/lib/components/calendar-years/calendar-years.component.d.ts +20 -0
- package/components/calendar/lib/components/calendar-years/index.d.ts +1 -0
- package/components/calendar/lib/components/index.d.ts +4 -0
- package/components/calendar/lib/directives/calendar-cell.directive.d.ts +34 -0
- package/components/calendar/lib/directives/calendar-view.directive.d.ts +29 -0
- package/components/calendar/lib/directives/index.d.ts +2 -0
- package/components/calendar/lib/enums/calendar-view.enum.d.ts +5 -0
- package/components/calendar/lib/enums/index.d.ts +1 -0
- package/components/calendar/lib/models/date-filter.d.ts +1 -0
- package/components/calendar/lib/models/date-type.d.ts +1 -0
- package/components/calendar/lib/models/date-validator.d.ts +1 -0
- package/components/calendar/lib/models/index.d.ts +3 -0
- package/components/calendar/lib/pipes/date-label.pipe.d.ts +18 -0
- package/components/calendar/lib/pipes/index.d.ts +1 -0
- package/components/calendar/lib/services/calendar-month.service.d.ts +13 -0
- package/components/calendar/lib/services/calendar-year.service.d.ts +11 -0
- package/components/calendar/lib/services/calendar-years.service.d.ts +9 -0
- package/components/calendar/lib/services/calendar.service.d.ts +25 -0
- package/components/calendar/lib/services/index.d.ts +4 -0
- package/components/calendar/lib/utils/check-identical-date.d.ts +2 -0
- package/components/calendar/lib/utils/get-A11y-label.d.ts +3 -0
- package/components/calendar/lib/utils/index.d.ts +7 -0
- package/components/calendar/lib/utils/parse-date.d.ts +2 -0
- package/components/calendar/lib/utils/validate-max-date.d.ts +2 -0
- package/components/calendar/lib/utils/validate-min-date.d.ts +2 -0
- package/components/calendar/lib/utils/validate-next-date-set.d.ts +2 -0
- package/components/calendar/lib/utils/validate-previous-date-set.d.ts +2 -0
- package/components/datepicker/README.md +3 -0
- package/components/datepicker/index.d.ts +5 -0
- package/components/datepicker/lib/datepicker.component.d.ts +37 -0
- package/components/datepicker/lib/datepicker.config.d.ts +29 -0
- package/components/datepicker/lib/datepicker.module.d.ts +9 -0
- package/components/datepicker/lib/directives/datepicker-input-control.directive.d.ts +24 -0
- package/components/datepicker/lib/directives/index.d.ts +1 -0
- package/components/datepicker/lib/models/datepicker-input-date-order.d.ts +6 -0
- package/components/datepicker/lib/models/datepicker-input-pattern.d.ts +11 -0
- package/components/datepicker/lib/models/index.d.ts +2 -0
- package/components/datepicker/lib/utils/get-datepicker-input-pattern.d.ts +3 -0
- package/components/datepicker/lib/utils/get-datepicker-input-value-as-date.d.ts +2 -0
- package/components/datepicker/lib/utils/index.d.ts +2 -0
- package/components/select/lib/directives/index.d.ts +1 -1
- package/components/select/lib/directives/select-input-control.directive.d.ts +9 -0
- package/components/select/lib/select.component.d.ts +2 -2
- package/components/select/lib/select.module.d.ts +2 -2
- package/esm2020/cdk/autocomplete-control/index.mjs +1 -2
- package/esm2020/cdk/autocomplete-control/lib/autocomplete-control.mjs +1 -1
- package/esm2020/cdk/autocomplete-control/lib/pipes/base-search-filter-pipe.mjs +1 -1
- package/esm2020/cdk/custom-form-control/index.mjs +2 -1
- package/esm2020/cdk/custom-form-control/lib/input-control.directive.mjs +35 -0
- package/esm2020/charts-config/lib/charts-theme.directive.mjs +5 -5
- package/esm2020/charts-config/lib/charts-theme.module.mjs +4 -4
- package/esm2020/charts-config/lib/charts-theme.service.mjs +5 -5
- package/esm2020/components/autocomplete/lib/autocomplete.component.mjs +4 -5
- package/esm2020/components/autocomplete/lib/autocomplete.module.mjs +4 -4
- package/esm2020/components/autocomplete/lib/directives/autocomplete-input-control.directive.mjs +32 -0
- package/esm2020/components/autocomplete/lib/directives/index.mjs +2 -2
- package/esm2020/components/calendar/index.mjs +6 -0
- package/esm2020/components/calendar/lib/calendar.component.mjs +57 -0
- package/esm2020/components/calendar/lib/calendar.config.mjs +15 -0
- package/esm2020/components/calendar/lib/components/calendar-header/calendar-header.component.mjs +51 -0
- package/esm2020/components/calendar/lib/components/calendar-header/index.mjs +2 -0
- package/esm2020/components/calendar/lib/components/calendar-month/calendar-month.component.mjs +59 -0
- package/esm2020/components/calendar/lib/components/calendar-month/index.mjs +2 -0
- package/esm2020/components/calendar/lib/components/calendar-year/calendar-year.component.mjs +57 -0
- package/esm2020/components/calendar/lib/components/calendar-year/index.mjs +2 -0
- package/esm2020/components/calendar/lib/components/calendar-years/calendar-years.component.mjs +65 -0
- package/esm2020/components/calendar/lib/components/calendar-years/index.mjs +2 -0
- package/esm2020/components/calendar/lib/components/index.mjs +5 -0
- package/esm2020/components/calendar/lib/directives/calendar-cell.directive.mjs +92 -0
- package/esm2020/components/calendar/lib/directives/calendar-view.directive.mjs +39 -0
- package/esm2020/components/calendar/lib/directives/index.mjs +3 -0
- package/esm2020/components/calendar/lib/enums/calendar-view.enum.mjs +7 -0
- package/esm2020/components/calendar/lib/enums/index.mjs +2 -0
- package/esm2020/components/calendar/lib/models/date-filter.mjs +2 -0
- package/esm2020/components/calendar/lib/models/date-type.mjs +2 -0
- package/esm2020/components/calendar/lib/models/date-validator.mjs +2 -0
- package/esm2020/components/calendar/lib/models/index.mjs +4 -0
- package/esm2020/components/calendar/lib/pipes/date-label.pipe.mjs +25 -0
- package/esm2020/components/calendar/lib/pipes/index.mjs +2 -0
- package/esm2020/components/calendar/lib/services/calendar-month.service.mjs +38 -0
- package/esm2020/components/calendar/lib/services/calendar-year.service.mjs +31 -0
- package/esm2020/components/calendar/lib/services/calendar-years.service.mjs +33 -0
- package/esm2020/components/calendar/lib/services/calendar.service.mjs +74 -0
- package/esm2020/components/calendar/lib/services/index.mjs +5 -0
- package/esm2020/components/calendar/lib/utils/check-identical-date.mjs +11 -0
- package/esm2020/components/calendar/lib/utils/get-A11y-label.mjs +10 -0
- package/esm2020/components/calendar/lib/utils/index.mjs +8 -0
- package/esm2020/components/calendar/lib/utils/parse-date.mjs +15 -0
- package/esm2020/components/calendar/lib/utils/validate-max-date.mjs +11 -0
- package/esm2020/components/calendar/lib/utils/validate-min-date.mjs +11 -0
- package/esm2020/components/calendar/lib/utils/validate-next-date-set.mjs +12 -0
- package/esm2020/components/calendar/lib/utils/validate-previous-date-set.mjs +12 -0
- package/esm2020/components/calendar/odx-angular-components-calendar.mjs +5 -0
- package/esm2020/components/datepicker/index.mjs +6 -0
- package/esm2020/components/datepicker/lib/datepicker.component.mjs +118 -0
- package/esm2020/components/datepicker/lib/datepicker.config.mjs +7 -0
- package/esm2020/components/datepicker/lib/datepicker.module.mjs +19 -0
- package/esm2020/components/datepicker/lib/directives/datepicker-input-control.directive.mjs +60 -0
- package/esm2020/components/datepicker/lib/directives/index.mjs +2 -0
- package/esm2020/components/datepicker/lib/models/datepicker-input-date-order.mjs +6 -0
- package/esm2020/components/datepicker/lib/models/datepicker-input-pattern.mjs +11 -0
- package/esm2020/components/datepicker/lib/models/index.mjs +3 -0
- package/esm2020/components/datepicker/lib/utils/get-datepicker-input-pattern.mjs +16 -0
- package/esm2020/components/datepicker/lib/utils/get-datepicker-input-value-as-date.mjs +30 -0
- package/esm2020/components/datepicker/lib/utils/index.mjs +3 -0
- package/esm2020/components/datepicker/odx-angular-components-datepicker.mjs +5 -0
- package/esm2020/components/select/lib/directives/index.mjs +2 -2
- package/esm2020/components/select/lib/directives/select-input-control.directive.mjs +35 -0
- package/esm2020/components/select/lib/select.component.mjs +4 -4
- package/esm2020/components/select/lib/select.module.mjs +4 -4
- package/esm2020/utils/lib/helpers/index.mjs +2 -2
- package/fesm2015/odx-angular-cdk-autocomplete-control.mjs +4 -39
- package/fesm2015/odx-angular-cdk-autocomplete-control.mjs.map +1 -1
- package/fesm2015/odx-angular-cdk-custom-form-control.mjs +34 -2
- package/fesm2015/odx-angular-cdk-custom-form-control.mjs.map +1 -1
- package/fesm2015/odx-angular-charts-config.mjs +10 -10
- package/fesm2015/odx-angular-charts-config.mjs.map +1 -1
- package/fesm2015/odx-angular-components-autocomplete.mjs +15 -12
- package/fesm2015/odx-angular-components-autocomplete.mjs.map +1 -1
- package/fesm2015/odx-angular-components-calendar.mjs +623 -0
- package/fesm2015/odx-angular-components-calendar.mjs.map +1 -0
- package/fesm2015/odx-angular-components-datepicker.mjs +249 -0
- package/fesm2015/odx-angular-components-datepicker.mjs.map +1 -0
- package/fesm2015/odx-angular-components-select.mjs +14 -13
- package/fesm2015/odx-angular-components-select.mjs.map +1 -1
- package/fesm2015/odx-angular-utils.mjs +21 -21
- package/fesm2015/odx-angular-utils.mjs.map +1 -1
- package/fesm2020/odx-angular-cdk-autocomplete-control.mjs +4 -39
- package/fesm2020/odx-angular-cdk-autocomplete-control.mjs.map +1 -1
- package/fesm2020/odx-angular-cdk-custom-form-control.mjs +34 -2
- package/fesm2020/odx-angular-cdk-custom-form-control.mjs.map +1 -1
- package/fesm2020/odx-angular-charts-config.mjs +10 -10
- package/fesm2020/odx-angular-charts-config.mjs.map +1 -1
- package/fesm2020/odx-angular-components-autocomplete.mjs +15 -12
- package/fesm2020/odx-angular-components-autocomplete.mjs.map +1 -1
- package/fesm2020/odx-angular-components-calendar.mjs +621 -0
- package/fesm2020/odx-angular-components-calendar.mjs.map +1 -0
- package/fesm2020/odx-angular-components-datepicker.mjs +249 -0
- package/fesm2020/odx-angular-components-datepicker.mjs.map +1 -0
- package/fesm2020/odx-angular-components-select.mjs +14 -13
- package/fesm2020/odx-angular-components-select.mjs.map +1 -1
- package/fesm2020/odx-angular-utils.mjs +21 -21
- package/fesm2020/odx-angular-utils.mjs.map +1 -1
- package/package.json +21 -3
- package/utils/lib/helpers/index.d.ts +1 -1
- package/cdk/autocomplete-control/lib/abstract/index.d.ts +0 -1
- package/components/autocomplete/lib/directives/autocomplete-search-field.directive.d.ts +0 -9
- package/components/select/lib/directives/select-search-field.directive.d.ts +0 -9
- package/esm2020/cdk/autocomplete-control/lib/abstract/base-search-field.directive.mjs +0 -38
- package/esm2020/cdk/autocomplete-control/lib/abstract/index.mjs +0 -2
- package/esm2020/components/autocomplete/lib/directives/autocomplete-search-field.directive.mjs +0 -26
- package/esm2020/components/select/lib/directives/select-search-field.directive.mjs +0 -35
|
@@ -3,13 +3,14 @@ import * as i0 from '@angular/core';
|
|
|
3
3
|
import { InjectionToken, inject, Component, ViewEncapsulation, ChangeDetectionStrategy, Directive, forwardRef, ContentChildren, ContentChild, HostListener, Pipe, NgModule } from '@angular/core';
|
|
4
4
|
import * as i1 from '@odx/angular';
|
|
5
5
|
import { CoreModule, ReadonlyController, WithTabIndex, ClickOutsideDirective } from '@odx/angular';
|
|
6
|
-
import {
|
|
6
|
+
import { AutocompleteControl, ODX_SEARCH_FILTER_HOST, BaseSearchFilterPipe } from '@odx/angular/cdk/autocomplete-control';
|
|
7
7
|
import { DropdownDirective } from '@odx/angular/components/dropdown';
|
|
8
8
|
import { LoadingSpinnerModule } from '@odx/angular/components/loading-spinner';
|
|
9
9
|
import { CSSComponent } from '@odx/angular/internal';
|
|
10
10
|
import { fromQueryList } from '@odx/angular/rxjs';
|
|
11
11
|
import { deferFn } from '@odx/angular/utils';
|
|
12
12
|
import { OptionControl } from '@odx/angular/cdk/option-control';
|
|
13
|
+
import { InputControlDirective } from '@odx/angular/cdk/custom-form-control';
|
|
13
14
|
import * as i2 from '@angular/common';
|
|
14
15
|
|
|
15
16
|
const AUTOCOMPLETE_CONTROL = new InjectionToken('@odx/angular/components/autocomplete::AutocompleteComponent');
|
|
@@ -39,15 +40,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
39
40
|
args: [{ standalone: true, selector: 'odx-autocomplete-option', imports: [CoreModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n" }]
|
|
40
41
|
}] });
|
|
41
42
|
|
|
42
|
-
class
|
|
43
|
+
let AutocompleteInputControlDirective = class AutocompleteInputControlDirective extends InputControlDirective {
|
|
43
44
|
constructor() {
|
|
44
45
|
super(...arguments);
|
|
45
46
|
this.readonlyController = ReadonlyController.inject();
|
|
46
47
|
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
48
|
+
};
|
|
49
|
+
AutocompleteInputControlDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AutocompleteInputControlDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
50
|
+
AutocompleteInputControlDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: AutocompleteInputControlDirective, isStandalone: true, selector: "input[odxAutocompleteControl]", host: { properties: { "attr.readonly": "readonlyController?.readonly || null" } }, providers: [ReadonlyController.connect()], usesInheritance: true, hostDirectives: [{ directive: i1.WithTabIndex }], ngImport: i0 });
|
|
51
|
+
AutocompleteInputControlDirective = __decorate([
|
|
52
|
+
CSSComponent('autocomplete__control')
|
|
53
|
+
], AutocompleteInputControlDirective);
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AutocompleteInputControlDirective, decorators: [{
|
|
51
55
|
type: Directive,
|
|
52
56
|
args: [{
|
|
53
57
|
standalone: true,
|
|
@@ -101,7 +105,6 @@ let AutocompleteComponent = AutocompleteComponent_1 = class AutocompleteComponen
|
|
|
101
105
|
handleSearchFieldChanges() {
|
|
102
106
|
var _a;
|
|
103
107
|
(_a = this.searchField) === null || _a === void 0 ? void 0 : _a.valueChange$.pipe(this.takeUntilDestroyed()).subscribe(() => {
|
|
104
|
-
this.triggerControllerChange();
|
|
105
108
|
deferFn(() => this.handleSearchFieldValueChange());
|
|
106
109
|
});
|
|
107
110
|
}
|
|
@@ -191,7 +194,7 @@ AutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
|
|
|
191
194
|
provide: ODX_SEARCH_FILTER_HOST,
|
|
192
195
|
useExisting: AUTOCOMPLETE_CONTROL,
|
|
193
196
|
},
|
|
194
|
-
], queries: [{ propertyName: "searchField", first: true, predicate:
|
|
197
|
+
], queries: [{ propertyName: "searchField", first: true, predicate: AutocompleteInputControlDirective, descendants: true }, { propertyName: "options", predicate: AutocompleteOptionComponent, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i1.ClickOutsideDirective }], ngImport: i0, template: "<div\n aria-haspopup=\"listbox\"\n class=\"odx-autocomplete__trigger\"\n [odxDropdown]=\"dropdownContent\"\n [odxDropdownDisabled]=\"isDisabled || isReadonly\"\n [odxDropdownOptions]=\"{ matchReferenceWidth: true, offset: 4, outerPadding: 10, position: 'bottom-start' }\"\n [odxDropdownReferenceElement]=\"element.nativeElement\"\n [odxDropdownShowLoader]=\"isLoading\"\n [odxDropdownOpenTrigger]=\"dropdownOpenTriggers\"\n [odxDropdownClickOutsideActive]=\"false\"\n (odxDropdownBeforeOpen)=\"onDropdownBeforeOpen()\"\n (odxDropdownAfterOpen)=\"enableSmoothScroll()\"\n (odxDropdownBeforeClose)=\"disableSmoothScroll()\"\n>\n <ng-content select=\"input[odxAutocompleteControl]\"></ng-content>\n</div>\n\n<ng-template #dropdownContent>\n <div class=\"odx-dropdown__option-list\" role=\"listbox\">\n <ng-template [ngIf]=\"hasOptions\">\n <ng-content></ng-content>\n </ng-template>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: DropdownDirective, selector: "[odxDropdown]", inputs: ["odxDropdown", "odxDropdownDisabled", "odxDropdownShowLoader", "odxDropdownClickOutsideActive", "odxDropdownOptions", "odxDropdownReferenceElement", "odxDropdownTriggerElement", "odxDropdownHost", "odxDropdownOpenTrigger", "odxDropdownCloseTrigger"], outputs: ["odxDropdownBeforeOpen", "odxDropdownAfterOpen", "odxDropdownBeforeClose", "odxDropdownAfterClose"], exportAs: ["odxDropdown"] }, { kind: "ngmodule", type: LoadingSpinnerModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
195
198
|
AutocompleteComponent = AutocompleteComponent_1 = __decorate([
|
|
196
199
|
CSSComponent('autocomplete')
|
|
197
200
|
], AutocompleteComponent);
|
|
@@ -212,7 +215,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
212
215
|
args: [AutocompleteOptionComponent, { descendants: true, emitDistinctChangesOnly: true }]
|
|
213
216
|
}], searchField: [{
|
|
214
217
|
type: ContentChild,
|
|
215
|
-
args: [
|
|
218
|
+
args: [AutocompleteInputControlDirective]
|
|
216
219
|
}], handleClickEvent: [{
|
|
217
220
|
type: HostListener,
|
|
218
221
|
args: ['click']
|
|
@@ -234,11 +237,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
234
237
|
}]
|
|
235
238
|
}] });
|
|
236
239
|
|
|
237
|
-
const modules = [AutocompleteComponent,
|
|
240
|
+
const modules = [AutocompleteComponent, AutocompleteInputControlDirective, AutocompleteSearchFilterPipe, AutocompleteOptionComponent];
|
|
238
241
|
class AutocompleteModule {
|
|
239
242
|
}
|
|
240
243
|
AutocompleteModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AutocompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
241
|
-
AutocompleteModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: AutocompleteModule, imports: [AutocompleteComponent,
|
|
244
|
+
AutocompleteModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: AutocompleteModule, imports: [AutocompleteComponent, AutocompleteInputControlDirective, AutocompleteSearchFilterPipe, AutocompleteOptionComponent], exports: [CoreModule, AutocompleteComponent, AutocompleteInputControlDirective, AutocompleteSearchFilterPipe, AutocompleteOptionComponent] });
|
|
242
245
|
AutocompleteModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AutocompleteModule, imports: [AutocompleteComponent, AutocompleteOptionComponent, CoreModule] });
|
|
243
246
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AutocompleteModule, decorators: [{
|
|
244
247
|
type: NgModule,
|
|
@@ -252,5 +255,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
252
255
|
* Generated bundle index. Do not edit.
|
|
253
256
|
*/
|
|
254
257
|
|
|
255
|
-
export { AUTOCOMPLETE_CONTROL, AutocompleteComponent, AutocompleteModule, AutocompleteOptionComponent,
|
|
258
|
+
export { AUTOCOMPLETE_CONTROL, AutocompleteComponent, AutocompleteInputControlDirective, AutocompleteModule, AutocompleteOptionComponent, AutocompleteSearchFilterPipe };
|
|
256
259
|
//# sourceMappingURL=odx-angular-components-autocomplete.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"odx-angular-components-autocomplete.mjs","sources":["../../../../libs/angular/components/autocomplete/src/lib/autocomplete.tokens.ts","../../../../libs/angular/components/autocomplete/src/lib/components/option/autocomplete-option.component.ts","../../../../libs/angular/components/autocomplete/src/lib/components/option/autocomplete-option.component.html","../../../../libs/angular/components/autocomplete/src/lib/directives/autocomplete-search-field.directive.ts","../../../../libs/angular/components/autocomplete/src/lib/autocomplete.component.ts","../../../../libs/angular/components/autocomplete/src/lib/autocomplete.component.html","../../../../libs/angular/components/autocomplete/src/lib/pipes/autocomplete-search-filter.pipe.ts","../../../../libs/angular/components/autocomplete/src/lib/autocomplete.module.ts","../../../../libs/angular/components/autocomplete/src/odx-angular-components-autocomplete.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { AutocompleteComponent } from './autocomplete.component';\n\nexport const AUTOCOMPLETE_CONTROL = new InjectionToken<AutocompleteComponent>('@odx/angular/components/autocomplete::AutocompleteComponent');\n","import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { OptionControl } from '@odx/angular/cdk/option-control';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { AUTOCOMPLETE_CONTROL } from '../../autocomplete.tokens';\n\n@CSSComponent('autocomplete-option')\n@Component({\n standalone: true,\n selector: 'odx-autocomplete-option',\n imports: [CoreModule],\n templateUrl: './autocomplete-option.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AutocompleteOptionComponent<T> extends OptionControl<T> {\n protected readonly autocompleteControl = inject(AUTOCOMPLETE_CONTROL);\n\n public override setActiveStyles(): void {\n this.isActive = true;\n\n if (this.autocompleteControl.isOpen) {\n this.autocompleteControl.scrollOptionIntoView(this);\n }\n }\n\n protected selectOption(): void {\n this.autocompleteControl.selectOption(this);\n }\n}\n","<ng-content></ng-content>\n","import { Directive } from '@angular/core';\nimport { ReadonlyController, WithTabIndex } from '@odx/angular';\nimport { BaseSearchFieldDirective } from '@odx/angular/cdk/autocomplete-control';\n\n@Directive({\n standalone: true,\n selector: 'input[odxAutocompleteControl]',\n host: {\n '[attr.readonly]': 'readonlyController?.readonly || null',\n },\n providers: [ReadonlyController.connect()],\n hostDirectives: [WithTabIndex],\n})\nexport class AutocompleteSearchFieldDirective extends BaseSearchFieldDirective {\n protected readonly readonlyController = ReadonlyController.inject();\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n forwardRef,\n HostListener,\n inject,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ClickOutsideDirective } from '@odx/angular';\nimport { AutocompleteControl, ODX_SEARCH_FILTER_HOST } from '@odx/angular/cdk/autocomplete-control';\nimport { DropdownDirective } from '@odx/angular/components/dropdown';\nimport { LoadingSpinnerModule } from '@odx/angular/components/loading-spinner';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { fromQueryList } from '@odx/angular/rxjs';\nimport { deferFn } from '@odx/angular/utils';\nimport { AUTOCOMPLETE_CONTROL } from './autocomplete.tokens';\nimport { AutocompleteOptionComponent } from './components';\nimport { AutocompleteSearchFieldDirective } from './directives';\n\n@CSSComponent('autocomplete')\n@Component({\n standalone: true,\n selector: 'odx-autocomplete',\n imports: [DropdownDirective, AutocompleteOptionComponent, LoadingSpinnerModule],\n templateUrl: './autocomplete.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: AUTOCOMPLETE_CONTROL,\n useExisting: forwardRef(() => AutocompleteComponent),\n },\n {\n provide: ODX_SEARCH_FILTER_HOST,\n useExisting: AUTOCOMPLETE_CONTROL,\n },\n ],\n hostDirectives: [ClickOutsideDirective],\n})\nexport class AutocompleteComponent<T = unknown> extends AutocompleteControl<T | null> implements AfterViewInit {\n private readonly defaultActiveOptionIndex = 0;\n\n protected readonly clickOutsideDirective = inject(ClickOutsideDirective, { host: true });\n\n @ContentChildren(AutocompleteOptionComponent, { descendants: true, emitDistinctChangesOnly: true })\n public options?: QueryList<AutocompleteOptionComponent<T>>;\n\n @ContentChild(AutocompleteSearchFieldDirective)\n public searchField?: AutocompleteSearchFieldDirective;\n\n public readonly dropdownOpenTriggers = [];\n\n public override ngAfterViewInit(): void {\n if (!this.options) return;\n\n this.initKeyManager(this.options);\n this.handleQueryListOption(this.options);\n this.handleSearchFieldChanges();\n this.handleClickOutside();\n }\n\n public selectOption(option?: AutocompleteOptionComponent<T> | null): void {\n if (!option?.value) return;\n\n this.updateValue(option.value);\n this.updateSearchField(option.value);\n\n this.optionSelected.emit(option.value);\n\n this.closeDropdown();\n }\n\n public resetSearchField(): void {\n this.updateValue('' as T);\n this.searchField?.reset();\n }\n\n protected handleQueryListOption(options: QueryList<AutocompleteOptionComponent<T>>): void {\n fromQueryList(options)\n .pipe(this.takeUntilDestroyed())\n .subscribe(() => {\n if (this.isOpen) {\n deferFn(() => this.activateSelectedOption());\n }\n });\n }\n\n protected handleSearchFieldChanges(): void {\n this.searchField?.valueChange$.pipe(this.takeUntilDestroyed()).subscribe(() => {\n this.triggerControllerChange();\n deferFn(() => this.handleSearchFieldValueChange());\n });\n }\n\n protected handleClickOutside(): void {\n this.clickOutsideDirective.odxClickOutside.pipe(this.takeUntilDestroyed()).subscribe(() => this.clickOutside());\n }\n\n protected clickOutside(): void {\n this.closeDropdown();\n this.blurSelectSearchField();\n }\n\n protected handleSearchFieldValueChange(): void {\n this.updateValue((this.searchField?.nativeElementValue ?? '') as T);\n\n if (this.isOpen && !this.hasOptions) {\n this.closeDropdown();\n return;\n }\n\n if (this.isOpen && this.hasOptions) {\n return;\n }\n\n if (!this.isOpen && this.hasOptions) {\n this.openDropdown();\n }\n }\n\n @HostListener('click')\n protected handleClickEvent() {\n if (this.isLoading && this.isOpen) {\n this.closeDropdown();\n this.blurSelectSearchField();\n return;\n }\n\n if (this.isReadonly || this.isDisabled) return;\n\n if (!this.isOpen && this.hasOptions) {\n this.openDropdown();\n }\n }\n\n @HostListener('keydown', ['$event'])\n protected handleKeyboardEvent(event: KeyboardEvent) {\n if (this.isReadonly || this.isDisabled) return;\n\n if (this.isOpen && this.hasOptions) {\n if (event.key === 'Enter' || event.key === 'Tab') {\n event.preventDefault();\n event.stopImmediatePropagation();\n this.selectOption(this.keyManager?.activeItem as AutocompleteOptionComponent<T> | undefined);\n return;\n }\n }\n\n if (event.key === 'Enter') {\n this.optionSelected.emit((this.value ?? '') as T);\n return;\n }\n\n if (!this.isOpen && event.key === 'Tab') {\n return;\n }\n\n if (!this.isOpen && this.hasOptions) {\n this.openDropdown();\n return;\n }\n\n this.keyManager?.onKeydown(event);\n }\n\n protected activateSelectedOption(): void {\n this.keyManager?.setActiveItem(this.defaultActiveOptionIndex);\n }\n\n protected onDropdownBeforeOpen(): void {\n this.activateSelectedOption();\n }\n\n private updateSearchField(value: T): void {\n if (!this.searchField) return;\n\n this.searchField.nativeElementValue = this.stringify?.(value) ?? (value as string);\n }\n\n private blurSelectSearchField(): void {\n this.searchField?.blur();\n }\n}\n","<div\n aria-haspopup=\"listbox\"\n class=\"odx-autocomplete__trigger\"\n [odxDropdown]=\"dropdownContent\"\n [odxDropdownDisabled]=\"isDisabled || isReadonly\"\n [odxDropdownOptions]=\"{ matchReferenceWidth: true, offset: 4, outerPadding: 10, position: 'bottom-start' }\"\n [odxDropdownReferenceElement]=\"element.nativeElement\"\n [odxDropdownShowLoader]=\"isLoading\"\n [odxDropdownOpenTrigger]=\"dropdownOpenTriggers\"\n [odxDropdownClickOutsideActive]=\"false\"\n (odxDropdownBeforeOpen)=\"onDropdownBeforeOpen()\"\n (odxDropdownAfterOpen)=\"enableSmoothScroll()\"\n (odxDropdownBeforeClose)=\"disableSmoothScroll()\"\n>\n <ng-content select=\"input[odxAutocompleteControl]\"></ng-content>\n</div>\n\n<ng-template #dropdownContent>\n <div class=\"odx-dropdown__option-list\" role=\"listbox\">\n <ng-template [ngIf]=\"hasOptions\">\n <ng-content></ng-content>\n </ng-template>\n </div>\n</ng-template>\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { BaseSearchFilterPipe } from '@odx/angular/cdk/autocomplete-control';\n\n@Pipe({\n pure: false,\n name: 'odxAutocompleteSearchFilter',\n standalone: true,\n})\nexport class AutocompleteSearchFilterPipe extends BaseSearchFilterPipe implements PipeTransform {}\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { AutocompleteComponent } from './autocomplete.component';\nimport { AutocompleteOptionComponent } from './components';\nimport { AutocompleteSearchFieldDirective } from './directives';\nimport { AutocompleteSearchFilterPipe } from './pipes';\n\nconst modules = [AutocompleteComponent, AutocompleteSearchFieldDirective, AutocompleteSearchFilterPipe, AutocompleteOptionComponent];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class AutocompleteModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"odx-angular-components-autocomplete.mjs","sources":["../../../../libs/angular/components/autocomplete/src/lib/autocomplete.tokens.ts","../../../../libs/angular/components/autocomplete/src/lib/components/option/autocomplete-option.component.ts","../../../../libs/angular/components/autocomplete/src/lib/components/option/autocomplete-option.component.html","../../../../libs/angular/components/autocomplete/src/lib/directives/autocomplete-input-control.directive.ts","../../../../libs/angular/components/autocomplete/src/lib/autocomplete.component.ts","../../../../libs/angular/components/autocomplete/src/lib/autocomplete.component.html","../../../../libs/angular/components/autocomplete/src/lib/pipes/autocomplete-search-filter.pipe.ts","../../../../libs/angular/components/autocomplete/src/lib/autocomplete.module.ts","../../../../libs/angular/components/autocomplete/src/odx-angular-components-autocomplete.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { AutocompleteComponent } from './autocomplete.component';\n\nexport const AUTOCOMPLETE_CONTROL = new InjectionToken<AutocompleteComponent>('@odx/angular/components/autocomplete::AutocompleteComponent');\n","import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { OptionControl } from '@odx/angular/cdk/option-control';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { AUTOCOMPLETE_CONTROL } from '../../autocomplete.tokens';\n\n@CSSComponent('autocomplete-option')\n@Component({\n standalone: true,\n selector: 'odx-autocomplete-option',\n imports: [CoreModule],\n templateUrl: './autocomplete-option.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AutocompleteOptionComponent<T> extends OptionControl<T> {\n protected readonly autocompleteControl = inject(AUTOCOMPLETE_CONTROL);\n\n public override setActiveStyles(): void {\n this.isActive = true;\n\n if (this.autocompleteControl.isOpen) {\n this.autocompleteControl.scrollOptionIntoView(this);\n }\n }\n\n protected selectOption(): void {\n this.autocompleteControl.selectOption(this);\n }\n}\n","<ng-content></ng-content>\n","import { Directive } from '@angular/core';\nimport { ReadonlyController, WithTabIndex } from '@odx/angular';\nimport { InputControlDirective } from '@odx/angular/cdk/custom-form-control';\nimport { CSSComponent } from '@odx/angular/internal';\n\n@CSSComponent('autocomplete__control')\n@Directive({\n standalone: true,\n selector: 'input[odxAutocompleteControl]',\n host: {\n '[attr.readonly]': 'readonlyController?.readonly || null',\n },\n providers: [ReadonlyController.connect()],\n hostDirectives: [WithTabIndex],\n})\nexport class AutocompleteInputControlDirective extends InputControlDirective {\n protected readonly readonlyController = ReadonlyController.inject();\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n forwardRef,\n HostListener,\n inject,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ClickOutsideDirective } from '@odx/angular';\nimport { AutocompleteControl, ODX_SEARCH_FILTER_HOST } from '@odx/angular/cdk/autocomplete-control';\nimport { DropdownDirective } from '@odx/angular/components/dropdown';\nimport { LoadingSpinnerModule } from '@odx/angular/components/loading-spinner';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { fromQueryList } from '@odx/angular/rxjs';\nimport { deferFn } from '@odx/angular/utils';\nimport { AUTOCOMPLETE_CONTROL } from './autocomplete.tokens';\nimport { AutocompleteOptionComponent } from './components';\nimport { AutocompleteInputControlDirective } from './directives';\n\n@CSSComponent('autocomplete')\n@Component({\n standalone: true,\n selector: 'odx-autocomplete',\n imports: [DropdownDirective, AutocompleteOptionComponent, LoadingSpinnerModule],\n templateUrl: './autocomplete.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: AUTOCOMPLETE_CONTROL,\n useExisting: forwardRef(() => AutocompleteComponent),\n },\n {\n provide: ODX_SEARCH_FILTER_HOST,\n useExisting: AUTOCOMPLETE_CONTROL,\n },\n ],\n hostDirectives: [ClickOutsideDirective],\n})\nexport class AutocompleteComponent<T = unknown> extends AutocompleteControl<T | null> implements AfterViewInit {\n private readonly defaultActiveOptionIndex = 0;\n\n protected readonly clickOutsideDirective = inject(ClickOutsideDirective, { host: true });\n\n @ContentChildren(AutocompleteOptionComponent, { descendants: true, emitDistinctChangesOnly: true })\n public options?: QueryList<AutocompleteOptionComponent<T>>;\n\n @ContentChild(AutocompleteInputControlDirective)\n public searchField?: AutocompleteInputControlDirective;\n\n public readonly dropdownOpenTriggers = [];\n\n public override ngAfterViewInit(): void {\n if (!this.options) return;\n\n this.initKeyManager(this.options);\n this.handleQueryListOption(this.options);\n this.handleSearchFieldChanges();\n this.handleClickOutside();\n }\n\n public selectOption(option?: AutocompleteOptionComponent<T> | null): void {\n if (!option?.value) return;\n\n this.updateValue(option.value);\n this.updateSearchField(option.value);\n\n this.optionSelected.emit(option.value);\n\n this.closeDropdown();\n }\n\n public resetSearchField(): void {\n this.updateValue('' as T);\n this.searchField?.reset();\n }\n\n protected handleQueryListOption(options: QueryList<AutocompleteOptionComponent<T>>): void {\n fromQueryList(options)\n .pipe(this.takeUntilDestroyed())\n .subscribe(() => {\n if (this.isOpen) {\n deferFn(() => this.activateSelectedOption());\n }\n });\n }\n\n protected handleSearchFieldChanges(): void {\n this.searchField?.valueChange$.pipe(this.takeUntilDestroyed()).subscribe(() => {\n deferFn(() => this.handleSearchFieldValueChange());\n });\n }\n\n protected handleClickOutside(): void {\n this.clickOutsideDirective.odxClickOutside.pipe(this.takeUntilDestroyed()).subscribe(() => this.clickOutside());\n }\n\n protected clickOutside(): void {\n this.closeDropdown();\n this.blurSelectSearchField();\n }\n\n protected handleSearchFieldValueChange(): void {\n this.updateValue((this.searchField?.nativeElementValue ?? '') as T);\n\n if (this.isOpen && !this.hasOptions) {\n this.closeDropdown();\n return;\n }\n\n if (this.isOpen && this.hasOptions) {\n return;\n }\n\n if (!this.isOpen && this.hasOptions) {\n this.openDropdown();\n }\n }\n\n @HostListener('click')\n protected handleClickEvent() {\n if (this.isLoading && this.isOpen) {\n this.closeDropdown();\n this.blurSelectSearchField();\n return;\n }\n\n if (this.isReadonly || this.isDisabled) return;\n\n if (!this.isOpen && this.hasOptions) {\n this.openDropdown();\n }\n }\n\n @HostListener('keydown', ['$event'])\n protected handleKeyboardEvent(event: KeyboardEvent) {\n if (this.isReadonly || this.isDisabled) return;\n\n if (this.isOpen && this.hasOptions) {\n if (event.key === 'Enter' || event.key === 'Tab') {\n event.preventDefault();\n event.stopImmediatePropagation();\n this.selectOption(this.keyManager?.activeItem as AutocompleteOptionComponent<T> | undefined);\n return;\n }\n }\n\n if (event.key === 'Enter') {\n this.optionSelected.emit((this.value ?? '') as T);\n return;\n }\n\n if (!this.isOpen && event.key === 'Tab') {\n return;\n }\n\n if (!this.isOpen && this.hasOptions) {\n this.openDropdown();\n return;\n }\n\n this.keyManager?.onKeydown(event);\n }\n\n protected activateSelectedOption(): void {\n this.keyManager?.setActiveItem(this.defaultActiveOptionIndex);\n }\n\n protected onDropdownBeforeOpen(): void {\n this.activateSelectedOption();\n }\n\n private updateSearchField(value: T): void {\n if (!this.searchField) return;\n\n this.searchField.nativeElementValue = this.stringify?.(value) ?? (value as string);\n }\n\n private blurSelectSearchField(): void {\n this.searchField?.blur();\n }\n}\n","<div\n aria-haspopup=\"listbox\"\n class=\"odx-autocomplete__trigger\"\n [odxDropdown]=\"dropdownContent\"\n [odxDropdownDisabled]=\"isDisabled || isReadonly\"\n [odxDropdownOptions]=\"{ matchReferenceWidth: true, offset: 4, outerPadding: 10, position: 'bottom-start' }\"\n [odxDropdownReferenceElement]=\"element.nativeElement\"\n [odxDropdownShowLoader]=\"isLoading\"\n [odxDropdownOpenTrigger]=\"dropdownOpenTriggers\"\n [odxDropdownClickOutsideActive]=\"false\"\n (odxDropdownBeforeOpen)=\"onDropdownBeforeOpen()\"\n (odxDropdownAfterOpen)=\"enableSmoothScroll()\"\n (odxDropdownBeforeClose)=\"disableSmoothScroll()\"\n>\n <ng-content select=\"input[odxAutocompleteControl]\"></ng-content>\n</div>\n\n<ng-template #dropdownContent>\n <div class=\"odx-dropdown__option-list\" role=\"listbox\">\n <ng-template [ngIf]=\"hasOptions\">\n <ng-content></ng-content>\n </ng-template>\n </div>\n</ng-template>\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { BaseSearchFilterPipe } from '@odx/angular/cdk/autocomplete-control';\n\n@Pipe({\n pure: false,\n name: 'odxAutocompleteSearchFilter',\n standalone: true,\n})\nexport class AutocompleteSearchFilterPipe extends BaseSearchFilterPipe implements PipeTransform {}\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { AutocompleteComponent } from './autocomplete.component';\nimport { AutocompleteOptionComponent } from './components';\nimport { AutocompleteInputControlDirective } from './directives';\nimport { AutocompleteSearchFilterPipe } from './pipes';\n\nconst modules = [AutocompleteComponent, AutocompleteInputControlDirective, AutocompleteSearchFilterPipe, AutocompleteOptionComponent];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class AutocompleteModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|