@nativescript-community/ui-pager 14.1.9 → 14.1.10

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.
@@ -0,0 +1,56 @@
1
+ import { ChangeDetectionStrategy, Component, NO_ERRORS_SCHEMA, NgModule, forwardRef } from '@angular/core';
2
+ import { PagerItemDirective, TEMPLATED_ITEMS_COMPONENT, TemplateKeyDirective, TemplatedItemsComponent } from './pager-items-comp';
3
+ import * as i0 from "@angular/core";
4
+ export { PagerItemDirective, TemplatedItemsComponent, TemplateKeyDirective } from './pager-items-comp';
5
+ export class PagerComponent extends TemplatedItemsComponent {
6
+ get nativeElement() {
7
+ return this.templatedItemsView;
8
+ }
9
+ //@ts-ignore
10
+ templatedItemsView;
11
+ constructor(_elementRef, _iterableDiffers) {
12
+ super(_elementRef, _iterableDiffers);
13
+ }
14
+ static ɵfac = function PagerComponent_Factory(t) { return new (t || PagerComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.IterableDiffers)); };
15
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PagerComponent, selectors: [["Pager"]], features: [i0.ɵɵProvidersFeature([
16
+ {
17
+ provide: TEMPLATED_ITEMS_COMPONENT,
18
+ useExisting: forwardRef(() => PagerComponent)
19
+ }
20
+ ]), i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 0, consts: [["loader", ""]], template: function PagerComponent_Template(rf, ctx) { if (rf & 1) {
21
+ i0.ɵɵelementStart(0, "DetachedContainer");
22
+ i0.ɵɵelement(1, "Placeholder", null, 0);
23
+ i0.ɵɵelementEnd();
24
+ } }, encapsulation: 2, changeDetection: 0 });
25
+ }
26
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PagerComponent, [{
27
+ type: Component,
28
+ args: [{
29
+ selector: 'Pager',
30
+ template: ` <DetachedContainer>
31
+ <Placeholder #loader></Placeholder>
32
+ </DetachedContainer>`,
33
+ changeDetection: ChangeDetectionStrategy.OnPush,
34
+ providers: [
35
+ {
36
+ provide: TEMPLATED_ITEMS_COMPONENT,
37
+ useExisting: forwardRef(() => PagerComponent)
38
+ }
39
+ ]
40
+ }]
41
+ }], function () { return [{ type: i0.ElementRef }, { type: i0.IterableDiffers }]; }, null); })();
42
+ export class PagerModule {
43
+ static ɵfac = function PagerModule_Factory(t) { return new (t || PagerModule)(); };
44
+ static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: PagerModule });
45
+ static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
46
+ }
47
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PagerModule, [{
48
+ type: NgModule,
49
+ args: [{
50
+ declarations: [PagerComponent, TemplateKeyDirective, PagerItemDirective],
51
+ exports: [PagerComponent, TemplateKeyDirective, PagerItemDirective],
52
+ schemas: [NO_ERRORS_SCHEMA]
53
+ }]
54
+ }], null, null); })();
55
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(PagerModule, { declarations: [PagerComponent, TemplateKeyDirective, PagerItemDirective], exports: [PagerComponent, TemplateKeyDirective, PagerItemDirective] }); })();
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdWktcGFnZXIvYW5ndWxhci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUErQixnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3hJLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSx5QkFBeUIsRUFBRSxvQkFBb0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUVsSSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsdUJBQXVCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQWV2RyxNQUFNLE9BQU8sY0FBZSxTQUFRLHVCQUF1QjtJQUN2RCxJQUFXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDbkMsQ0FBQztJQUNELFlBQVk7SUFDRixrQkFBa0IsQ0FBUTtJQUVwQyxZQUFZLFdBQXVCLEVBQUUsZ0JBQWlDO1FBQ2xFLEtBQUssQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUN6QyxDQUFDO3dFQVRRLGNBQWM7NkRBQWQsY0FBYywyREFQWjtnQkFDUDtvQkFDSSxPQUFPLEVBQUUseUJBQXlCO29CQUNsQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQztpQkFDaEQ7YUFDSjtZQVRXLHlDQUFtQjtZQUMzQix1Q0FBbUM7WUFDdkMsaUJBQW9COzs7dUZBU1gsY0FBYztjQWIxQixTQUFTO2VBQUM7Z0JBQ1AsUUFBUSxFQUFFLE9BQU87Z0JBQ2pCLFFBQVEsRUFBRTs7eUJBRVc7Z0JBQ3JCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2dCQUMvQyxTQUFTLEVBQUU7b0JBQ1A7d0JBQ0ksT0FBTyxFQUFFLHlCQUF5Qjt3QkFDbEMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZUFBZSxDQUFDO3FCQUNoRDtpQkFDSjthQUNKOztBQWtCRCxNQUFNLE9BQU8sV0FBVztxRUFBWCxXQUFXOzREQUFYLFdBQVc7Ozt1RkFBWCxXQUFXO2NBTHZCLFFBQVE7ZUFBQztnQkFDTixZQUFZLEVBQUUsQ0FBQyxjQUFjLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLENBQUM7Z0JBQ3hFLE9BQU8sRUFBRSxDQUFDLGNBQWMsRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsQ0FBQztnQkFDbkUsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7YUFDOUI7O3dGQUNZLFdBQVcsbUJBakJYLGNBQWMsRUFhUSxvQkFBb0IsRUFBRSxrQkFBa0IsYUFiOUQsY0FBYyxFQWNHLG9CQUFvQixFQUFFLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEl0ZXJhYmxlRGlmZmVycywgTk9fRVJST1JTX1NDSEVNQSwgTmdNb2R1bGUsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUGFnZXIgfSBmcm9tICdAbmF0aXZlc2NyaXB0LWNvbW11bml0eS91aS1wYWdlcic7XG5pbXBvcnQgeyBQYWdlckl0ZW1EaXJlY3RpdmUsIFRFTVBMQVRFRF9JVEVNU19DT01QT05FTlQsIFRlbXBsYXRlS2V5RGlyZWN0aXZlLCBUZW1wbGF0ZWRJdGVtc0NvbXBvbmVudCB9IGZyb20gJy4vcGFnZXItaXRlbXMtY29tcCc7XG5cbmV4cG9ydCB7IFBhZ2VySXRlbURpcmVjdGl2ZSwgVGVtcGxhdGVkSXRlbXNDb21wb25lbnQsIFRlbXBsYXRlS2V5RGlyZWN0aXZlIH0gZnJvbSAnLi9wYWdlci1pdGVtcy1jb21wJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdQYWdlcicsXG4gICAgdGVtcGxhdGU6IGAgPERldGFjaGVkQ29udGFpbmVyPlxuICAgICAgICA8UGxhY2Vob2xkZXIgI2xvYWRlcj48L1BsYWNlaG9sZGVyPlxuICAgIDwvRGV0YWNoZWRDb250YWluZXI+YCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVEVNUExBVEVEX0lURU1TX0NPTVBPTkVOVCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBhZ2VyQ29tcG9uZW50KVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBQYWdlckNvbXBvbmVudCBleHRlbmRzIFRlbXBsYXRlZEl0ZW1zQ29tcG9uZW50IHtcbiAgICBwdWJsaWMgZ2V0IG5hdGl2ZUVsZW1lbnQoKTogUGFnZXIge1xuICAgICAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZWRJdGVtc1ZpZXc7XG4gICAgfVxuICAgIC8vQHRzLWlnbm9yZVxuICAgIHByb3RlY3RlZCB0ZW1wbGF0ZWRJdGVtc1ZpZXc6IFBhZ2VyO1xuXG4gICAgY29uc3RydWN0b3IoX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIF9pdGVyYWJsZURpZmZlcnM6IEl0ZXJhYmxlRGlmZmVycykge1xuICAgICAgICBzdXBlcihfZWxlbWVudFJlZiwgX2l0ZXJhYmxlRGlmZmVycyk7XG4gICAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1BhZ2VyQ29tcG9uZW50LCBUZW1wbGF0ZUtleURpcmVjdGl2ZSwgUGFnZXJJdGVtRGlyZWN0aXZlXSxcbiAgICBleHBvcnRzOiBbUGFnZXJDb21wb25lbnQsIFRlbXBsYXRlS2V5RGlyZWN0aXZlLCBQYWdlckl0ZW1EaXJlY3RpdmVdLFxuICAgIHNjaGVtYXM6IFtOT19FUlJPUlNfU0NIRU1BXVxufSlcbmV4cG9ydCBjbGFzcyBQYWdlck1vZHVsZSB7fVxuIl19
@@ -0,0 +1,331 @@
1
+ import { Component, ContentChild, Directive, EventEmitter, Host, Inject, InjectionToken, Input, Output, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';
2
+ import { Pager, PagerError, PagerItem, PagerLog } from '@nativescript-community/ui-pager';
3
+ import { extractSingleViewRecursive, isInvisibleNode, isListLikeIterable, registerElement } from '@nativescript/angular';
4
+ import { LayoutBase, Trace, isIOS } from '@nativescript/core';
5
+ import { ObservableArray } from '@nativescript/core/data/observable-array';
6
+ import { profile } from '@nativescript/core/profiling';
7
+ import * as i0 from "@angular/core";
8
+ const _c0 = ["loader"];
9
+ registerElement('Pager', () => Pager);
10
+ registerElement('PagerItem', () => PagerItem);
11
+ const NG_VIEW = '_ngViewRef';
12
+ export class ItemContext {
13
+ $implicit;
14
+ item;
15
+ index;
16
+ even;
17
+ odd;
18
+ constructor($implicit, item, index, even, odd) {
19
+ this.$implicit = $implicit;
20
+ this.item = item;
21
+ this.index = index;
22
+ this.even = even;
23
+ this.odd = odd;
24
+ }
25
+ }
26
+ export class TemplatedItemsComponent {
27
+ _iterableDiffers;
28
+ templatedItemsView;
29
+ _items;
30
+ _differ;
31
+ _templateMap;
32
+ _selectedIndex;
33
+ loader;
34
+ setupItemView = new EventEmitter();
35
+ itemTemplateQuery;
36
+ itemTemplate;
37
+ get items() {
38
+ return this._items;
39
+ }
40
+ set items(value) {
41
+ this._items = value;
42
+ let needDiffer = true;
43
+ if (value instanceof ObservableArray) {
44
+ needDiffer = false;
45
+ }
46
+ if (needDiffer && !this._differ && isListLikeIterable(value)) {
47
+ this._differ = this._iterableDiffers.find(this._items).create((_index, item) => item);
48
+ }
49
+ this.templatedItemsView.items = this._items;
50
+ }
51
+ get selectedIndex() {
52
+ return this._selectedIndex;
53
+ }
54
+ set selectedIndex(value) {
55
+ this._selectedIndex = value;
56
+ this.templatedItemsView.selectedIndex = this._selectedIndex;
57
+ }
58
+ ngAfterViewInit() {
59
+ if (!!this._selectedIndex) {
60
+ setTimeout(() => {
61
+ if (isIOS) {
62
+ this.templatedItemsView.scrollToIndexAnimated(this._selectedIndex, false);
63
+ }
64
+ this.templatedItemsView.selectedIndex = this._selectedIndex;
65
+ });
66
+ }
67
+ }
68
+ constructor(_elementRef, _iterableDiffers) {
69
+ this._iterableDiffers = _iterableDiffers;
70
+ this.templatedItemsView = _elementRef.nativeElement;
71
+ this.templatedItemsView.on('itemLoading', this.onItemLoading, this);
72
+ this.templatedItemsView.on('itemDisposing', this.onItemDisposing, this);
73
+ }
74
+ ngAfterContentInit() {
75
+ if (Trace.isEnabled()) {
76
+ PagerLog('TemplatedItemsView.ngAfterContentInit()');
77
+ }
78
+ this.setItemTemplates();
79
+ }
80
+ ngOnDestroy() {
81
+ this.templatedItemsView.off('itemLoading', this.onItemLoading, this);
82
+ this.templatedItemsView.off('itemDisposing', this.onItemDisposing, this);
83
+ }
84
+ setItemTemplates() {
85
+ if (!this.items)
86
+ return;
87
+ // The itemTemplateQuery may be changed after list items are added that contain <template> inside,
88
+ // so cache and use only the original template to avoid errors.
89
+ this.itemTemplate = this.itemTemplateQuery;
90
+ if (this._templateMap) {
91
+ if (Trace.isEnabled()) {
92
+ PagerLog('Setting templates');
93
+ }
94
+ const templates = [];
95
+ this._templateMap.forEach((value) => {
96
+ templates.push(value);
97
+ });
98
+ this.templatedItemsView.itemTemplates = templates;
99
+ }
100
+ }
101
+ registerTemplate(key, template) {
102
+ if (Trace.isEnabled()) {
103
+ PagerLog(`registerTemplate for key: ${key}`);
104
+ }
105
+ if (!this._templateMap) {
106
+ this._templateMap = new Map();
107
+ }
108
+ const keyedTemplate = {
109
+ key,
110
+ createView: this.getItemTemplateViewFactory(template)
111
+ };
112
+ this._templateMap.set(key, keyedTemplate);
113
+ }
114
+ onItemLoading(args) {
115
+ if (!args.view && !this.itemTemplate) {
116
+ return;
117
+ }
118
+ if (!this.items)
119
+ return;
120
+ const index = args.index;
121
+ const items = args.object.items;
122
+ const currentItem = typeof items.getItem === 'function' ? items.getItem(index) : items[index];
123
+ let viewRef;
124
+ if (args.view) {
125
+ if (Trace.isEnabled()) {
126
+ PagerLog(`onItemLoading: ${index} - Reusing existing view`);
127
+ }
128
+ viewRef = args.view[NG_VIEW];
129
+ // Getting angular view from original element (in cases when ProxyViewContainer
130
+ // is used NativeScript internally wraps it in a StackLayout)
131
+ if (!viewRef && args.view instanceof LayoutBase && args.view.getChildrenCount() > 0) {
132
+ viewRef = args.view.getChildAt(0)[NG_VIEW];
133
+ }
134
+ if (!viewRef && Trace.isEnabled()) {
135
+ PagerError(`ViewReference not found for item ${index}. View recycling is not working`);
136
+ }
137
+ }
138
+ if (!viewRef) {
139
+ if (Trace.isEnabled()) {
140
+ PagerLog(`onItemLoading: ${index} - Creating view from template`);
141
+ }
142
+ viewRef = this.loader.createEmbeddedView(this.itemTemplate, new ItemContext(), 0);
143
+ args.view = getItemViewRoot(viewRef);
144
+ args.view[NG_VIEW] = viewRef;
145
+ }
146
+ this.setupViewRef(viewRef, currentItem, index);
147
+ this.detectChangesOnChild(viewRef, index);
148
+ }
149
+ onItemDisposing(args) {
150
+ if (!args.view) {
151
+ return;
152
+ }
153
+ let viewRef;
154
+ if (args.view) {
155
+ if (Trace.isEnabled()) {
156
+ PagerLog(`onItemDisposing: ${args.index} - Removing angular view`);
157
+ }
158
+ viewRef = args.view[NG_VIEW];
159
+ // Getting angular view from original element (in cases when ProxyViewContainer
160
+ // is used NativeScript internally wraps it in a StackLayout)
161
+ if (!viewRef && args.view instanceof LayoutBase && args.view.getChildrenCount() > 0) {
162
+ viewRef = args.view.getChildAt(0)[NG_VIEW];
163
+ }
164
+ if (!viewRef && Trace.isEnabled()) {
165
+ PagerError(`ViewReference not found for item ${args.index}. View disposing is not working`);
166
+ }
167
+ }
168
+ if (viewRef) {
169
+ if (Trace.isEnabled()) {
170
+ PagerLog(`onItemDisposing: ${args.index} - Disposing view reference`);
171
+ }
172
+ viewRef.destroy();
173
+ }
174
+ }
175
+ setupViewRef(viewRef, data, index) {
176
+ const context = viewRef.context;
177
+ context.$implicit = data;
178
+ context.item = data;
179
+ context.index = index;
180
+ context.even = index % 2 === 0;
181
+ context.odd = !context.even;
182
+ this.setupItemView.next({
183
+ view: viewRef,
184
+ data,
185
+ index,
186
+ context
187
+ });
188
+ }
189
+ getItemTemplateViewFactory(template) {
190
+ return () => {
191
+ const viewRef = this.loader.createEmbeddedView(template, new ItemContext(), 0);
192
+ const resultView = getItemViewRoot(viewRef);
193
+ resultView[NG_VIEW] = viewRef;
194
+ return resultView;
195
+ };
196
+ }
197
+ detectChangesOnChild(viewRef, index) {
198
+ if (Trace.isEnabled()) {
199
+ PagerLog(`Manually detect changes in child: ${index}`);
200
+ }
201
+ viewRef.markForCheck();
202
+ viewRef.detectChanges();
203
+ }
204
+ ngDoCheck() {
205
+ if (this._differ) {
206
+ if (Trace.isEnabled()) {
207
+ PagerLog('ngDoCheck() - execute differ');
208
+ }
209
+ const changes = this._differ.diff(this._items);
210
+ if (changes) {
211
+ if (Trace.isEnabled()) {
212
+ PagerLog('ngDoCheck() - refresh');
213
+ }
214
+ this.templatedItemsView.refresh();
215
+ }
216
+ }
217
+ }
218
+ static ɵfac = function TemplatedItemsComponent_Factory(t) { return new (t || TemplatedItemsComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.IterableDiffers)); };
219
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TemplatedItemsComponent, selectors: [["ng-component"]], contentQueries: function TemplatedItemsComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
220
+ i0.ɵɵcontentQuery(dirIndex, TemplateRef, 5);
221
+ } if (rf & 2) {
222
+ let _t;
223
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.itemTemplateQuery = _t.first);
224
+ } }, viewQuery: function TemplatedItemsComponent_Query(rf, ctx) { if (rf & 1) {
225
+ i0.ɵɵviewQuery(_c0, 5, ViewContainerRef);
226
+ } if (rf & 2) {
227
+ let _t;
228
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loader = _t.first);
229
+ } }, inputs: { items: "items", selectedIndex: "selectedIndex" }, outputs: { setupItemView: "setupItemView" }, decls: 0, vars: 0, template: function TemplatedItemsComponent_Template(rf, ctx) { }, encapsulation: 2 });
230
+ }
231
+ __decorate([
232
+ profile
233
+ ], TemplatedItemsComponent.prototype, "onItemLoading", null);
234
+ __decorate([
235
+ profile
236
+ ], TemplatedItemsComponent.prototype, "onItemDisposing", null);
237
+ __decorate([
238
+ profile
239
+ ], TemplatedItemsComponent.prototype, "detectChangesOnChild", null);
240
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TemplatedItemsComponent, [{
241
+ type: Component,
242
+ args: [{
243
+ template: ''
244
+ }]
245
+ }], function () { return [{ type: i0.ElementRef }, { type: i0.IterableDiffers }]; }, { loader: [{
246
+ type: ViewChild,
247
+ args: ['loader', { read: ViewContainerRef, static: false }]
248
+ }], setupItemView: [{
249
+ type: Output
250
+ }], itemTemplateQuery: [{
251
+ type: ContentChild,
252
+ args: [TemplateRef, { static: false }]
253
+ }], items: [{
254
+ type: Input
255
+ }], selectedIndex: [{
256
+ type: Input
257
+ }], onItemLoading: [], onItemDisposing: [], detectChangesOnChild: [] }); })();
258
+ export function getItemViewRoot(viewRef, rootLocator = extractSingleViewRecursive) {
259
+ return rootLocator(viewRef.rootNodes, 0);
260
+ }
261
+ export const TEMPLATED_ITEMS_COMPONENT = new InjectionToken('TemplatedItemsComponent');
262
+ export class PagerItemDirective {
263
+ templateRef;
264
+ owner;
265
+ viewContainer;
266
+ item;
267
+ constructor(templateRef, owner, viewContainer) {
268
+ this.templateRef = templateRef;
269
+ this.owner = owner;
270
+ this.viewContainer = viewContainer;
271
+ }
272
+ ensureItem() {
273
+ if (!this.item) {
274
+ this.item = new PagerItem();
275
+ }
276
+ }
277
+ applyConfig() {
278
+ this.ensureItem();
279
+ }
280
+ ngOnInit() {
281
+ this.applyConfig();
282
+ const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
283
+ // Filter out text nodes and comments
284
+ const realViews = viewRef.rootNodes.filter((node) => !isInvisibleNode(node));
285
+ if (realViews.length > 0) {
286
+ const view = realViews[0];
287
+ this.item.addChild(view);
288
+ this.owner.nativeElement._addChildFromBuilder('PagerItem', this.item);
289
+ }
290
+ }
291
+ static ɵfac = function PagerItemDirective_Factory(t) { return new (t || PagerItemDirective)(i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(TEMPLATED_ITEMS_COMPONENT, 1), i0.ɵɵdirectiveInject(i0.ViewContainerRef)); };
292
+ static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PagerItemDirective, selectors: [["", "pagerItem", ""]] });
293
+ }
294
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PagerItemDirective, [{
295
+ type: Directive,
296
+ args: [{
297
+ selector: '[pagerItem]'
298
+ }]
299
+ }], function () { return [{ type: i0.TemplateRef }, { type: TemplatedItemsComponent, decorators: [{
300
+ type: Inject,
301
+ args: [TEMPLATED_ITEMS_COMPONENT]
302
+ }, {
303
+ type: Host
304
+ }] }, { type: i0.ViewContainerRef }]; }, null); })();
305
+ export class TemplateKeyDirective {
306
+ templateRef;
307
+ comp;
308
+ constructor(templateRef, comp) {
309
+ this.templateRef = templateRef;
310
+ this.comp = comp;
311
+ }
312
+ set pagerTemplateKey(value) {
313
+ if (this.comp && this.templateRef) {
314
+ this.comp.registerTemplate(value, this.templateRef);
315
+ }
316
+ }
317
+ static ɵfac = function TemplateKeyDirective_Factory(t) { return new (t || TemplateKeyDirective)(i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(TEMPLATED_ITEMS_COMPONENT, 1)); };
318
+ static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: TemplateKeyDirective, selectors: [["", "pagerTemplateKey", ""]], inputs: { pagerTemplateKey: "pagerTemplateKey" } });
319
+ }
320
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TemplateKeyDirective, [{
321
+ type: Directive,
322
+ args: [{ selector: '[pagerTemplateKey]' }]
323
+ }], function () { return [{ type: i0.TemplateRef }, { type: TemplatedItemsComponent, decorators: [{
324
+ type: Inject,
325
+ args: [TEMPLATED_ITEMS_COMPONENT]
326
+ }, {
327
+ type: Host
328
+ }] }]; }, { pagerTemplateKey: [{
329
+ type: Input
330
+ }] }); })();
331
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZXItaXRlbXMtY29tcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91aS1wYWdlci9hbmd1bGFyL3BhZ2VyLWl0ZW1zLWNvbXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFNBQVMsRUFDVCxZQUFZLEVBQ1osU0FBUyxFQUlULFlBQVksRUFDWixJQUFJLEVBQ0osTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBS0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pILE9BQU8sRUFBNEIsVUFBVSxFQUFZLEtBQUssRUFBUSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDM0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFHdkQsZUFBZSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN0QyxlQUFlLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRTlDLE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQztBQWM3QixNQUFNLE9BQU8sV0FBVztJQUNEO0lBQXdCO0lBQW1CO0lBQXVCO0lBQXVCO0lBQTVHLFlBQW1CLFNBQWUsRUFBUyxJQUFVLEVBQVMsS0FBYyxFQUFTLElBQWMsRUFBUyxHQUFhO1FBQXRHLGNBQVMsR0FBVCxTQUFTLENBQU07UUFBUyxTQUFJLEdBQUosSUFBSSxD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SUFBSSxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN0QixNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN6RTtJQUNMLENBQUM7NEVBakNRLGtCQUFrQiw2REFLZix5QkFBeUI7NkRBTDVCLGtCQUFrQjs7dUZBQWxCLGtCQUFrQjtjQUg5QixTQUFTO2VBQUM7Z0JBQ1AsUUFBUSxFQUFFLGFBQWE7YUFDMUI7O3NCQU1RLE1BQU07dUJBQUMseUJBQXlCOztzQkFDaEMsSUFBSTs7QUErQmIsTUFBTSxPQUFPLG9CQUFvQjtJQUVqQjtJQUdBO0lBSlosWUFDWSxXQUE2QixFQUc3QixJQUE2QjtRQUg3QixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFHN0IsU0FBSSxHQUFKLElBQUksQ0FBeUI7SUFDdEMsQ0FBQztJQUVKLElBQ0ksZ0JBQWdCLENBQUMsS0FBVTtRQUMzQixJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDdkQ7SUFDTCxDQUFDOzhFQWJRLG9CQUFvQiw2REFHakIseUJBQXlCOzZEQUg1QixvQkFBb0I7O3VGQUFwQixvQkFBb0I7Y0FEaEMsU0FBUztlQUFDLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFOztzQkFJcEMsTUFBTTt1QkFBQyx5QkFBeUI7O3NCQUNoQyxJQUFJO3dCQUtMLGdCQUFnQjtrQkFEbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIERpcmVjdGl2ZSxcbiAgICBEb0NoZWNrLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRW1iZWRkZWRWaWV3UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0LFxuICAgIEluamVjdCxcbiAgICBJbmplY3Rpb25Ub2tlbixcbiAgICBJbnB1dCxcbiAgICBJdGVyYWJsZURpZmZlcixcbiAgICBJdGVyYWJsZURpZmZlcnMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYWdlciwgUGFnZXJFcnJvciwgUGFnZXJJdGVtLCBQYWdlckxvZyB9IGZyb20gJ0BuYXRpdmVzY3JpcHQtY29tbXVuaXR5L3VpLXBhZ2VyJztcbmltcG9ydCB7IGV4dHJhY3RTaW5nbGVWaWV3UmVjdXJzaXZlLCBpc0ludmlzaWJsZU5vZGUsIGlzTGlzdExpa2VJdGVyYWJsZSwgcmVnaXN0ZXJFbGVtZW50IH0gZnJvbSAnQG5hdGl2ZXNjcmlwdC9hbmd1bGFyJztcbmltcG9ydCB7IEV2ZW50RGF0YSwgS2V5ZWRUZW1wbGF0ZSwgTGF5b3V0QmFzZSwgVGVtcGxhdGUsIFRyYWNlLCBWaWV3LCBpc0lPUyB9IGZyb20gJ0BuYXRpdmVzY3JpcHQvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlQXJyYXkgfSBmcm9tICdAbmF0aXZlc2NyaXB0L2NvcmUvZGF0YS9vYnNlcnZhYmxlLWFycmF5JztcbmltcG9ydCB7IHByb2ZpbGUgfSBmcm9tICdAbmF0aXZlc2NyaXB0L2NvcmUvcHJvZmlsaW5nJztcbmltcG9ydCB7IEl0ZW1FdmVudERhdGEsIEl0ZW1zU291cmNlIH0gZnJvbSAnQG5hdGl2ZXNjcmlwdC9jb3JlL3VpL2xpc3Qtdmlldyc7XG5cbnJlZ2lzdGVyRWxlbWVudCgnUGFnZXInLCAoKSA9PiBQYWdlcik7XG5yZWdpc3RlckVsZW1lbnQoJ1BhZ2VySXRlbScsICgpID0+IFBhZ2VySXRlbSk7XG5cbmNvbnN0IE5HX1ZJRVcgPSAnX25nVmlld1JlZic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFnZXJUZW1wbGF0ZWRJdGVtc1ZpZXcge1xuICAgIGl0ZW1zOiBhbnlbXSB8IEl0ZW1zU291cmNlO1xuICAgIGl0ZW1UZW1wbGF0ZTogc3RyaW5nIHwgVGVtcGxhdGU7XG4gICAgaXRlbVRlbXBsYXRlcz86IHN0cmluZyB8IEtleWVkVGVtcGxhdGVbXTtcblxuICAgIHJlZnJlc2goKTogdm9pZDtcblxuICAgIG9uKGV2ZW50OiAnaXRlbURpc3Bvc2luZycgfCAnaXRlbUxvYWRpbmcnLCBjYWxsYmFjazogKGFyZ3M6IEl0ZW1FdmVudERhdGEpID0+IHZvaWQsIHRoaXNBcmc/OiBhbnkpO1xuXG4gICAgb2ZmKGV2ZW50OiAnaXRlbUxvYWRpbmcnIHwgJ2l0ZW1EaXNwb3NpbmcnLCBjYWxsYmFjazogKGFyZ3M6IEV2ZW50RGF0YSkgPT4gdm9pZCwgdGhpc0FyZz86IGFueSk7XG59XG5cbmV4cG9ydCBjbGFzcyBJdGVtQ29udGV4dCB7XG4gICAgY29uc3RydWN0b3IocHVibGljICRpbXBsaWNpdD86IGFueSwgcHVibGljIGl0ZW0/OiBhbnksIHB1YmxpYyBpbmRleD86IG51bWJlciwgcHVibGljIGV2ZW4/OiBib29sZWFuLCBwdWJsaWMgb2RkPzogYm9vbGVhbikge31cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZXR1cEl0ZW1WaWV3QXJncyB7XG4gICAgdmlldzogRW1iZWRkZWRWaWV3UmVmPGFueT47XG4gICAgZGF0YTogYW55O1xuICAgIGluZGV4OiBudW1iZXI7XG4gICAgY29udGV4dDogSXRlbUNvbnRleHQ7XG59XG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVGVtcGxhdGVkSXRlbXNDb21wb25lbnQgaW1wbGVtZW50cyBEb0NoZWNrLCBPbkRlc3Ryb3ksIEFmdGVyQ29udGVudEluaXQge1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXQgbmF0aXZlRWxlbWVudCgpOiBQYWdlcjtcblxuICAgIHByb3RlY3RlZCB0ZW1wbGF0ZWRJdGVtc1ZpZXc6IFBhZ2VyO1xuICAgIHByb3RlY3RlZCBfaXRlbXM6IGFueTtcbiAgICBwcm90ZWN0ZWQgX2RpZmZlcjogSXRlcmFibGVEaWZmZXI8S2V5ZWRUZW1wbGF0ZT47XG4gICAgcHJvdGVjdGVkIF90ZW1wbGF0ZU1hcDogTWFwPHN0cmluZywgS2V5ZWRUZW1wbGF0ZT47XG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWRJbmRleDogbnVtYmVyO1xuICAgIEBWaWV3Q2hpbGQoJ2xvYWRlcicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiBmYWxzZSB9KSBsb2FkZXI6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgc2V0dXBJdGVtVmlldyA9IG5ldyBFdmVudEVtaXR0ZXI8U2V0dXBJdGVtVmlld0FyZ3M+KCk7XG5cbiAgICBAQ29udGVudENoaWxkKFRlbXBsYXRlUmVmLCB7IHN0YXRpYzogZmFsc2UgfSkgaXRlbVRlbXBsYXRlUXVlcnk6IFRlbXBsYXRlUmVmPEl0ZW1Db250ZXh0PjtcblxuICAgIGl0ZW1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8SXRlbUNvbnRleHQ+O1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgaXRlbXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pdGVtcztcbiAgICB9XG5cbiAgICBzZXQgaXRlbXModmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLl9pdGVtcyA9IHZhbHVlO1xuICAgICAgICBsZXQgbmVlZERpZmZlciA9IHRydWU7XG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE9ic2VydmFibGVBcnJheSkge1xuICAgICAgICAgICAgbmVlZERpZmZlciA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChuZWVkRGlmZmVyICYmICF0aGlzLl9kaWZmZXIgJiYgaXNMaXN0TGlrZUl0ZXJhYmxlKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5fZGlmZmVyID0gdGhpcy5faXRlcmFibGVEaWZmZXJzLmZpbmQodGhpcy5faXRlbXMpLmNyZWF0ZSgoX2luZGV4LCBpdGVtKSA9PiBpdGVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudGVtcGxhdGVkSXRlbXNWaWV3Lml0ZW1zID0gdGhpcy5faXRlbXM7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBnZXQgc2VsZWN0ZWRJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRJbmRleDtcbiAgICB9XG5cbiAgICBzZXQgc2VsZWN0ZWRJbmRleCh2YWx1ZSkge1xuICAgICAgICB0aGlzLl9zZWxlY3RlZEluZGV4ID0gdmFsdWU7XG4gICAgICAgIHRoaXMudGVtcGxhdGVkSXRlbXNWaWV3LnNlbGVjdGVkSW5kZXggPSB0aGlzLl9zZWxlY3RlZEluZGV4O1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgaWYgKCEhdGhpcy5fc2VsZWN0ZWRJbmRleCkge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGlzSU9TKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGVtcGxhdGVkSXRlbXNWaWV3LnNjcm9sbFRvSW5kZXhBbmltYXRlZCh0aGlzLl9zZWxlY3RlZEluZGV4LCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMudGVtcGxhdGVkSXRlbXNWaWV3LnNlbGVjdGVkSW5kZXggPSB0aGlzLl9zZWxlY3RlZEluZGV4O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihfZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBfaXRlcmFibGVEaWZmZXJzOiBJdGVyYWJsZURpZmZlcnMpIHtcbiAgICAgICAgdGhpcy50ZW1wbGF0ZWRJdGVtc1ZpZXcgPSBfZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIHRoaXMudGVtcGxhdGVkSXRlbXNWaWV3Lm9uKCdpdGVtTG9hZGluZycsIHRoaXMub25JdGVtTG9hZGluZywgdGhpcyk7XG4gICAgICAgIHRoaXMudGVtcGxhdGVkSXRlbXNWaWV3Lm9uKCdpdGVtRGlzcG9zaW5nJywgdGhpcy5vbkl0ZW1EaXNwb3NpbmcsIHRoaXMpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgaWYgKFRyYWNlLmlzRW5hYmxlZCgpKSB7XG4gICAgICAgICAgICBQYWdlckxvZygnVGVtcGxhdGVkSXRlbXNWaWV3Lm5nQWZ0ZXJDb250ZW50SW5pdCgpJyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXRJdGVtVGVtcGxhdGVzKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMudGVtcGxhdGVkSXRlbXNWaWV3Lm9mZignaXRlbUxvYWRpbmcnLCB0aGlzLm9uSXRlbUxvYWRpbmcsIHRoaXMpO1xuICAgICAgICB0aGlzLnRlbXBsYXRlZEl0ZW1zVmlldy5vZmYoJ2l0ZW1EaXNwb3NpbmcnLCB0aGlzLm9uSXRlbURpc3Bvc2luZywgdGhpcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRJdGVtVGVtcGxhdGVzKCkge1xuICAgICAgICBpZiAoIXRoaXMuaXRlbXMpIHJldHVybjtcbiAgICAgICAgLy8gVGhlIGl0ZW1UZW1wbGF0ZVF1ZXJ5IG1heSBiZSBjaGFuZ2VkIGFmdGVyIGxpc3QgaXRlbXMgYXJlIGFkZGVkIHRoYXQgY29udGFpbiA8dGVtcGxhdGU+IGluc2lkZSxcbiAgICAgICAgLy8gc28gY2FjaGUgYW5kIHVzZSBvbmx5IHRoZSBvcmlnaW5hbCB0ZW1wbGF0ZSB0byBhdm9pZCBlcnJvcnMuXG4gICAgICAgIHRoaXMuaXRlbVRlbXBsYXRlID0gdGhpcy5pdGVtVGVtcGxhdGVRdWVyeTtcblxuICAgICAgICBpZiAodGhpcy5fdGVtcGxhdGVNYXApIHtcbiAgICAgICAgICAgIGlmIChUcmFjZS5pc0VuYWJsZWQoKSkge1xuICAgICAgICAgICAgICAgIFBhZ2VyTG9nKCdTZXR0aW5nIHRlbXBsYXRlcycpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB0ZW1wbGF0ZXM6IEtleWVkVGVtcGxhdGVbXSA9IFtdO1xuICAgICAgICAgICAgdGhpcy5fdGVtcGxhdGVNYXAuZm9yRWFjaCgodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZXMucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGVkSXRlbXNWaWV3Lml0ZW1UZW1wbGF0ZXMgPSB0ZW1wbGF0ZXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJUZW1wbGF0ZShrZXk6IHN0cmluZywgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPEl0ZW1Db250ZXh0Pikge1xuICAgICAgICBpZiAoVHJhY2UuaXNFbmFibGVkKCkpIHtcbiAgICAgICAgICAgIFBhZ2VyTG9nKGByZWdpc3RlclRlbXBsYXRlIGZvciBrZXk6ICR7a2V5fWApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLl90ZW1wbGF0ZU1hcCkge1xuICAgICAgICAgICAgdGhpcy5fdGVtcGxhdGVNYXAgPSBuZXcgTWFwPHN0cmluZywgS2V5ZWRUZW1wbGF0ZT4oKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGtleWVkVGVtcGxhdGUgPSB7XG4gICAgICAgICAgICBrZXksXG4gICAgICAgICAgICBjcmVhdGVWaWV3OiB0aGlzLmdldEl0ZW1UZW1wbGF0ZVZpZXdGYWN0b3J5KHRlbXBsYXRlKVxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuX3RlbXBsYXRlTWFwLnNldChrZXksIGtleWVkVGVtcGxhdGUpO1xuICAgIH1cblxuICAgIEBwcm9maWxlXG4gICAgcHVibGljIG9uSXRlbUxvYWRpbmcoYXJnczogSXRlbUV2ZW50RGF0YSkge1xuICAgICAgICBpZiAoIWFyZ3MudmlldyAmJiAhdGhpcy5pdGVtVGVtcGxhdGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5pdGVtcykgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IGluZGV4ID0gYXJncy5pbmRleDtcbiAgICAgICAgY29uc3QgaXRlbXMgPSAoYXJncy5vYmplY3QgYXMgYW55KS5pdGVtcztcbiAgICAgICAgY29uc3QgY3VycmVudEl0ZW0gPSB0eXBlb2YgaXRlbXMuZ2V0SXRlbSA9PT0gJ2Z1bmN0aW9uJyA/IGl0ZW1zLmdldEl0ZW0oaW5kZXgpIDogaXRlbXNbaW5kZXhdO1xuICAgICAgICBsZXQgdmlld1JlZjogRW1iZWRkZWRWaWV3UmVmPEl0ZW1Db250ZXh0PjtcblxuICAgICAgICBpZiAoYXJncy52aWV3KSB7XG4gICAgICAgICAgICBpZiAoVHJhY2UuaXNFbmFibGVkKCkpIHtcbiAgICAgICAgICAgICAgICBQYWdlckxvZyhgb25JdGVtTG9hZGluZzogJHtpbmRleH0gLSBSZXVzaW5nIGV4aXN0aW5nIHZpZXdgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmlld1JlZiA9IGFyZ3Mudmlld1tOR19WSUVXXTtcbiAgICAgICAgICAgIC8vIEdldHRpbmcgYW5ndWxhciB2aWV3IGZyb20gb3JpZ2luYWwgZWxlbWVudCAoaW4gY2FzZXMgd2hlbiBQcm94eVZpZXdDb250YWluZXJcbiAgICAgICAgICAgIC8vIGlzIHVzZWQgTmF0aXZlU2NyaXB0IGludGVybmFsbHkgd3JhcHMgaXQgaW4gYSBTdGFja0xheW91dClcbiAgICAgICAgICAgIGlmICghdmlld1JlZiAmJiBhcmdzLnZpZXcgaW5zdGFuY2VvZiBMYXlvdXRCYXNlICYmIGFyZ3Mudmlldy5nZXRDaGlsZHJlbkNvdW50KCkgPiAwKSB7XG4gICAgICAgICAgICAgICAgdmlld1JlZiA9IGFyZ3Mudmlldy5nZXRDaGlsZEF0KDApW05HX1ZJRVddO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIXZpZXdSZWYgJiYgVHJhY2UuaXNFbmFibGVkKCkpIHtcbiAgICAgICAgICAgICAgICBQYWdlckVycm9yKGBWaWV3UmVmZXJlbmNlIG5vdCBmb3VuZCBmb3IgaXRlbSAke2luZGV4fS4gVmlldyByZWN5Y2xpbmcgaXMgbm90IHdvcmtpbmdgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdmlld1JlZikge1xuICAgICAgICAgICAgaWYgKFRyYWNlLmlzRW5hYmxlZCgpKSB7XG4gICAgICAgICAgICAgICAgUGFnZXJMb2coYG9uSXRlbUxvYWRpbmc6ICR7aW5kZXh9IC0gQ3JlYXRpbmcgdmlldyBmcm9tIHRlbXBsYXRlYCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZpZXdSZWYgPSB0aGlzLmxvYWRlci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5pdGVtVGVtcGxhdGUsIG5ldyBJdGVtQ29udGV4dCgpLCAwKTtcbiAgICAgICAgICAgIGFyZ3MudmlldyA9IGdldEl0ZW1WaWV3Um9vdCh2aWV3UmVmKTtcbiAgICAgICAgICAgIGFyZ3Mudmlld1tOR19WSUVXXSA9IHZpZXdSZWY7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNldHVwVmlld1JlZih2aWV3UmVmLCBjdXJyZW50SXRlbSwgaW5kZXgpO1xuXG4gICAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlc09uQ2hpbGQodmlld1JlZiwgaW5kZXgpO1xuICAgIH1cblxuICAgIEBwcm9maWxlXG4gICAgcHVibGljIG9uSXRlbURpc3Bvc2luZyhhcmdzOiBJdGVtRXZlbnREYXRhKSB7XG4gICAgICAgIGlmICghYXJncy52aWV3KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHZpZXdSZWY6IEVtYmVkZGVkVmlld1JlZjxJdGVtQ29udGV4dD47XG5cbiAgICAgICAgaWYgKGFyZ3Mudmlldykge1xuICAgICAgICAgICAgaWYgKFRyYWNlLmlzRW5hYmxlZCgpKSB7XG4gICAgICAgICAgICAgICAgUGFnZXJMb2coYG9uSXRlbURpc3Bvc2luZzogJHthcmdzLmluZGV4fSAtIFJlbW92aW5nIGFuZ3VsYXIgdmlld2ApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2aWV3UmVmID0gYXJncy52aWV3W05HX1ZJRVddO1xuICAgICAgICAgICAgLy8gR2V0dGluZyBhbmd1bGFyIHZpZXcgZnJvbSBvcmlnaW5hbCBlbGVtZW50IChpbiBjYXNlcyB3aGVuIFByb3h5Vmlld0NvbnRhaW5lclxuICAgICAgICAgICAgLy8gaXMgdXNlZCBOYXRpdmVTY3JpcHQgaW50ZXJuYWxseSB3cmFwcyBpdCBpbiBhIFN0YWNrTGF5b3V0KVxuICAgICAgICAgICAgaWYgKCF2aWV3UmVmICYmIGFyZ3MudmlldyBpbnN0YW5jZW9mIExheW91dEJhc2UgJiYgYXJncy52aWV3LmdldENoaWxkcmVuQ291bnQoKSA+IDApIHtcbiAgICAgICAgICAgICAgICB2aWV3UmVmID0gYXJncy52aWV3LmdldENoaWxkQXQoMClbTkdfVklFV107XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghdmlld1JlZiAmJiBUcmFjZS5pc0VuYWJsZWQoKSkge1xuICAgICAgICAgICAgICAgIFBhZ2VyRXJyb3IoYFZpZXdSZWZlcmVuY2Ugbm90IGZvdW5kIGZvciBpdGVtICR7YXJncy5pbmRleH0uIFZpZXcgZGlzcG9zaW5nIGlzIG5vdCB3b3JraW5nYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmlld1JlZikge1xuICAgICAgICAgICAgaWYgKFRyYWNlLmlzRW5hYmxlZCgpKSB7XG4gICAgICAgICAgICAgICAgUGFnZXJMb2coYG9uSXRlbURpc3Bvc2luZzogJHthcmdzLmluZGV4fSAtIERpc3Bvc2luZyB2aWV3IHJlZmVyZW5jZWApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2aWV3UmVmLmRlc3Ryb3koKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzZXR1cFZpZXdSZWYodmlld1JlZjogRW1iZWRkZWRWaWV3UmVmPEl0ZW1Db250ZXh0PiwgZGF0YTogYW55LCBpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSB2aWV3UmVmLmNvbnRleHQ7XG4gICAgICAgIGNvbnRleHQuJGltcGxpY2l0ID0gZGF0YTtcbiAgICAgICAgY29udGV4dC5pdGVtID0gZGF0YTtcbiAgICAgICAgY29udGV4dC5pbmRleCA9IGluZGV4O1xuICAgICAgICBjb250ZXh0LmV2ZW4gPSBpbmRleCAlIDIgPT09IDA7XG4gICAgICAgIGNvbnRleHQub2RkID0gIWNvbnRleHQuZXZlbjtcblxuICAgICAgICB0aGlzLnNldHVwSXRlbVZpZXcubmV4dCh7XG4gICAgICAgICAgICB2aWV3OiB2aWV3UmVmLFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIGluZGV4LFxuICAgICAgICAgICAgY29udGV4dFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0SXRlbVRlbXBsYXRlVmlld0ZhY3RvcnkodGVtcGxhdGU6IFRlbXBsYXRlUmVmPEl0ZW1Db250ZXh0Pik6ICgpID0+IFZpZXcge1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgdmlld1JlZiA9IHRoaXMubG9hZGVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0ZW1wbGF0ZSwgbmV3IEl0ZW1Db250ZXh0KCksIDApO1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0VmlldyA9IGdldEl0ZW1WaWV3Um9vdCh2aWV3UmVmKTtcbiAgICAgICAgICAgIHJlc3VsdFZpZXdbTkdfVklFV10gPSB2aWV3UmVmO1xuXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0VmlldztcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBAcHJvZmlsZVxuICAgIHByaXZhdGUgZGV0ZWN0Q2hhbmdlc09uQ2hpbGQodmlld1JlZjogRW1iZWRkZWRWaWV3UmVmPEl0ZW1Db250ZXh0PiwgaW5kZXg6IG51bWJlcikge1xuICAgICAgICBpZiAoVHJhY2UuaXNFbmFibGVkKCkpIHtcbiAgICAgICAgICAgIFBhZ2VyTG9nKGBNYW51YWxseSBkZXRlY3QgY2hhbmdlcyBpbiBjaGlsZDogJHtpbmRleH1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZpZXdSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIHZpZXdSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIG5nRG9DaGVjaygpIHtcbiAgICAgICAgaWYgKHRoaXMuX2RpZmZlcikge1xuICAgICAgICAgICAgaWYgKFRyYWNlLmlzRW5hYmxlZCgpKSB7XG4gICAgICAgICAgICAgICAgUGFnZXJMb2coJ25nRG9DaGVjaygpIC0gZXhlY3V0ZSBkaWZmZXInKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgY2hhbmdlcyA9IHRoaXMuX2RpZmZlci5kaWZmKHRoaXMuX2l0ZW1zKTtcbiAgICAgICAgICAgIGlmIChjaGFuZ2VzKSB7XG4gICAgICAgICAgICAgICAgaWYgKFRyYWNlLmlzRW5hYmxlZCgpKSB7XG4gICAgICAgICAgICAgICAgICAgIFBhZ2VyTG9nKCduZ0RvQ2hlY2soKSAtIHJlZnJlc2gnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLnRlbXBsYXRlZEl0ZW1zVmlldy5yZWZyZXNoKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcG9uZW50VmlldyB7XG4gICAgcm9vdE5vZGVzOiBhbnlbXTtcblxuICAgIGRlc3Ryb3koKTogdm9pZDtcbn1cblxuZXhwb3J0IHR5cGUgUm9vdExvY2F0b3IgPSAobm9kZXM6IGFueVtdLCBuZXN0TGV2ZWw6IG51bWJlcikgPT4gVmlldztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEl0ZW1WaWV3Um9vdCh2aWV3UmVmOiBDb21wb25lbnRWaWV3LCByb290TG9jYXRvcjogUm9vdExvY2F0b3IgPSBleHRyYWN0U2luZ2xlVmlld1JlY3Vyc2l2ZSBhcyBhbnkpOiBWaWV3IHtcbiAgICByZXR1cm4gcm9vdExvY2F0b3Iodmlld1JlZi5yb290Tm9kZXMsIDApO1xufVxuXG5leHBvcnQgY29uc3QgVEVNUExBVEVEX0lURU1TX0NPTVBPTkVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUZW1wbGF0ZWRJdGVtc0NvbXBvbmVudD4oJ1RlbXBsYXRlZEl0ZW1zQ29tcG9uZW50Jyk7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3BhZ2VySXRlbV0nXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2VySXRlbURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHJpdmF0ZSBpdGVtOiBQYWdlckl0ZW07XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcbiAgICAgICAgQEluamVjdChURU1QTEFURURfSVRFTVNfQ09NUE9ORU5UKVxuICAgICAgICBASG9zdCgpXG4gICAgICAgIHByaXZhdGUgb3duZXI6IFRlbXBsYXRlZEl0ZW1zQ29tcG9uZW50LFxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWZcbiAgICApIHt9XG5cbiAgICBwcml2YXRlIGVuc3VyZUl0ZW0oKSB7XG4gICAgICAgIGlmICghdGhpcy5pdGVtKSB7XG4gICAgICAgICAgICB0aGlzLml0ZW0gPSBuZXcgUGFnZXJJdGVtKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGx5Q29uZmlnKCkge1xuICAgICAgICB0aGlzLmVuc3VyZUl0ZW0oKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5hcHBseUNvbmZpZygpO1xuXG4gICAgICAgIGNvbnN0IHZpZXdSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYpO1xuICAgICAgICAvLyBGaWx0ZXIgb3V0IHRleHQgbm9kZXMgYW5kIGNvbW1lbnRzXG4gICAgICAgIGNvbnN0IHJlYWxWaWV3cyA9IHZpZXdSZWYucm9vdE5vZGVzLmZpbHRlcigobm9kZSkgPT4gIWlzSW52aXNpYmxlTm9kZShub2RlKSk7XG5cbiAgICAgICAgaWYgKHJlYWxWaWV3cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCB2aWV3ID0gcmVhbFZpZXdzWzBdO1xuICAgICAgICAgICAgdGhpcy5pdGVtLmFkZENoaWxkKHZpZXcpO1xuICAgICAgICAgICAgdGhpcy5vd25lci5uYXRpdmVFbGVtZW50Ll9hZGRDaGlsZEZyb21CdWlsZGVyKCdQYWdlckl0ZW0nLCB0aGlzLml0ZW0pO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbcGFnZXJUZW1wbGF0ZUtleV0nIH0pXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVLZXlEaXJlY3RpdmUge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgICAgICBASW5qZWN0KFRFTVBMQVRFRF9JVEVNU19DT01QT05FTlQpXG4gICAgICAgIEBIb3N0KClcbiAgICAgICAgcHJpdmF0ZSBjb21wOiBUZW1wbGF0ZWRJdGVtc0NvbXBvbmVudFxuICAgICkge31cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHBhZ2VyVGVtcGxhdGVLZXkodmFsdWU6IGFueSkge1xuICAgICAgICBpZiAodGhpcy5jb21wICYmIHRoaXMudGVtcGxhdGVSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuY29tcC5yZWdpc3RlclRlbXBsYXRlKHZhbHVlLCB0aGlzLnRlbXBsYXRlUmVmKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -11,6 +11,11 @@ registerElement('Pager', () => Pager);
11
11
  registerElement('PagerItem', () => PagerItem);
12
12
  const NG_VIEW = '_ngViewRef';
13
13
  class ItemContext {
14
+ $implicit;
15
+ item;
16
+ index;
17
+ even;
18
+ odd;
14
19
  constructor($implicit, item, index, even, odd) {
15
20
  this.$implicit = $implicit;
16
21
  this.item = item;
@@ -20,13 +25,16 @@ class ItemContext {
20
25
  }
21
26
  }
22
27
  class TemplatedItemsComponent {
23
- constructor(_elementRef, _iterableDiffers) {
24
- this._iterableDiffers = _iterableDiffers;
25
- this.setupItemView = new EventEmitter();
26
- this.templatedItemsView = _elementRef.nativeElement;
27
- this.templatedItemsView.on('itemLoading', this.onItemLoading, this);
28
- this.templatedItemsView.on('itemDisposing', this.onItemDisposing, this);
29
- }
28
+ _iterableDiffers;
29
+ templatedItemsView;
30
+ _items;
31
+ _differ;
32
+ _templateMap;
33
+ _selectedIndex;
34
+ loader;
35
+ setupItemView = new EventEmitter();
36
+ itemTemplateQuery;
37
+ itemTemplate;
30
38
  get items() {
31
39
  return this._items;
32
40
  }
@@ -58,6 +66,12 @@ class TemplatedItemsComponent {
58
66
  });
59
67
  }
60
68
  }
69
+ constructor(_elementRef, _iterableDiffers) {
70
+ this._iterableDiffers = _iterableDiffers;
71
+ this.templatedItemsView = _elementRef.nativeElement;
72
+ this.templatedItemsView.on('itemLoading', this.onItemLoading, this);
73
+ this.templatedItemsView.on('itemDisposing', this.onItemDisposing, this);
74
+ }
61
75
  ngAfterContentInit() {
62
76
  if (Trace.isEnabled()) {
63
77
  PagerLog('TemplatedItemsView.ngAfterContentInit()');
@@ -202,19 +216,19 @@ class TemplatedItemsComponent {
202
216
  }
203
217
  }
204
218
  }
219
+ static ɵfac = function TemplatedItemsComponent_Factory(t) { return new (t || TemplatedItemsComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.IterableDiffers)); };
220
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TemplatedItemsComponent, selectors: [["ng-component"]], contentQueries: function TemplatedItemsComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
221
+ i0.ɵɵcontentQuery(dirIndex, TemplateRef, 5);
222
+ } if (rf & 2) {
223
+ let _t;
224
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.itemTemplateQuery = _t.first);
225
+ } }, viewQuery: function TemplatedItemsComponent_Query(rf, ctx) { if (rf & 1) {
226
+ i0.ɵɵviewQuery(_c0, 5, ViewContainerRef);
227
+ } if (rf & 2) {
228
+ let _t;
229
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loader = _t.first);
230
+ } }, inputs: { items: "items", selectedIndex: "selectedIndex" }, outputs: { setupItemView: "setupItemView" }, decls: 0, vars: 0, template: function TemplatedItemsComponent_Template(rf, ctx) { }, encapsulation: 2 });
205
231
  }
206
- TemplatedItemsComponent.ɵfac = function TemplatedItemsComponent_Factory(t) { return new (t || TemplatedItemsComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.IterableDiffers)); };
207
- TemplatedItemsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TemplatedItemsComponent, selectors: [["ng-component"]], contentQueries: function TemplatedItemsComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
208
- i0.ɵɵcontentQuery(dirIndex, TemplateRef, 5);
209
- } if (rf & 2) {
210
- let _t;
211
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.itemTemplateQuery = _t.first);
212
- } }, viewQuery: function TemplatedItemsComponent_Query(rf, ctx) { if (rf & 1) {
213
- i0.ɵɵviewQuery(_c0, 5, ViewContainerRef);
214
- } if (rf & 2) {
215
- let _t;
216
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loader = _t.first);
217
- } }, inputs: { items: "items", selectedIndex: "selectedIndex" }, outputs: { setupItemView: "setupItemView" }, decls: 0, vars: 0, template: function TemplatedItemsComponent_Template(rf, ctx) { }, encapsulation: 2 });
218
232
  __decorate([
219
233
  profile
220
234
  ], TemplatedItemsComponent.prototype, "onItemLoading", null);
@@ -247,6 +261,10 @@ function getItemViewRoot(viewRef, rootLocator = extractSingleViewRecursive) {
247
261
  }
248
262
  const TEMPLATED_ITEMS_COMPONENT = new InjectionToken('TemplatedItemsComponent');
249
263
  class PagerItemDirective {
264
+ templateRef;
265
+ owner;
266
+ viewContainer;
267
+ item;
250
268
  constructor(templateRef, owner, viewContainer) {
251
269
  this.templateRef = templateRef;
252
270
  this.owner = owner;
@@ -271,9 +289,9 @@ class PagerItemDirective {
271
289
  this.owner.nativeElement._addChildFromBuilder('PagerItem', this.item);
272
290
  }
273
291
  }
292
+ static ɵfac = function PagerItemDirective_Factory(t) { return new (t || PagerItemDirective)(i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(TEMPLATED_ITEMS_COMPONENT, 1), i0.ɵɵdirectiveInject(i0.ViewContainerRef)); };
293
+ static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PagerItemDirective, selectors: [["", "pagerItem", ""]] });
274
294
  }
275
- PagerItemDirective.ɵfac = function PagerItemDirective_Factory(t) { return new (t || PagerItemDirective)(i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(TEMPLATED_ITEMS_COMPONENT, 1), i0.ɵɵdirectiveInject(i0.ViewContainerRef)); };
276
- PagerItemDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PagerItemDirective, selectors: [["", "pagerItem", ""]] });
277
295
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PagerItemDirective, [{
278
296
  type: Directive,
279
297
  args: [{
@@ -286,6 +304,8 @@ PagerItemDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PagerIte
286
304
  type: Host
287
305
  }] }, { type: i0.ViewContainerRef }]; }, null); })();
288
306
  class TemplateKeyDirective {
307
+ templateRef;
308
+ comp;
289
309
  constructor(templateRef, comp) {
290
310
  this.templateRef = templateRef;
291
311
  this.comp = comp;
@@ -295,9 +315,9 @@ class TemplateKeyDirective {
295
315
  this.comp.registerTemplate(value, this.templateRef);
296
316
  }
297
317
  }
318
+ static ɵfac = function TemplateKeyDirective_Factory(t) { return new (t || TemplateKeyDirective)(i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(TEMPLATED_ITEMS_COMPONENT, 1)); };
319
+ static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: TemplateKeyDirective, selectors: [["", "pagerTemplateKey", ""]], inputs: { pagerTemplateKey: "pagerTemplateKey" } });
298
320
  }
299
- TemplateKeyDirective.ɵfac = function TemplateKeyDirective_Factory(t) { return new (t || TemplateKeyDirective)(i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(TEMPLATED_ITEMS_COMPONENT, 1)); };
300
- TemplateKeyDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: TemplateKeyDirective, selectors: [["", "pagerTemplateKey", ""]], inputs: { pagerTemplateKey: "pagerTemplateKey" } });
301
321
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TemplateKeyDirective, [{
302
322
  type: Directive,
303
323
  args: [{ selector: '[pagerTemplateKey]' }]
@@ -311,24 +331,26 @@ TemplateKeyDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: Templa
311
331
  }] }); })();
312
332
 
313
333
  class PagerComponent extends TemplatedItemsComponent {
314
- constructor(_elementRef, _iterableDiffers) {
315
- super(_elementRef, _iterableDiffers);
316
- }
317
334
  get nativeElement() {
318
335
  return this.templatedItemsView;
319
336
  }
337
+ //@ts-ignore
338
+ templatedItemsView;
339
+ constructor(_elementRef, _iterableDiffers) {
340
+ super(_elementRef, _iterableDiffers);
341
+ }
342
+ static ɵfac = function PagerComponent_Factory(t) { return new (t || PagerComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.IterableDiffers)); };
343
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PagerComponent, selectors: [["Pager"]], features: [i0.ɵɵProvidersFeature([
344
+ {
345
+ provide: TEMPLATED_ITEMS_COMPONENT,
346
+ useExisting: forwardRef(() => PagerComponent)
347
+ }
348
+ ]), i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 0, consts: [["loader", ""]], template: function PagerComponent_Template(rf, ctx) { if (rf & 1) {
349
+ i0.ɵɵelementStart(0, "DetachedContainer");
350
+ i0.ɵɵelement(1, "Placeholder", null, 0);
351
+ i0.ɵɵelementEnd();
352
+ } }, encapsulation: 2, changeDetection: 0 });
320
353
  }
321
- PagerComponent.ɵfac = function PagerComponent_Factory(t) { return new (t || PagerComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.IterableDiffers)); };
322
- PagerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PagerComponent, selectors: [["Pager"]], features: [i0.ɵɵProvidersFeature([
323
- {
324
- provide: TEMPLATED_ITEMS_COMPONENT,
325
- useExisting: forwardRef(() => PagerComponent)
326
- }
327
- ]), i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 0, consts: [["loader", ""]], template: function PagerComponent_Template(rf, ctx) { if (rf & 1) {
328
- i0.ɵɵelementStart(0, "DetachedContainer");
329
- i0.ɵɵelement(1, "Placeholder", null, 0);
330
- i0.ɵɵelementEnd();
331
- } }, encapsulation: 2, changeDetection: 0 });
332
354
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PagerComponent, [{
333
355
  type: Component,
334
356
  args: [{
@@ -346,10 +368,10 @@ PagerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PagerCompone
346
368
  }]
347
369
  }], function () { return [{ type: i0.ElementRef }, { type: i0.IterableDiffers }]; }, null); })();
348
370
  class PagerModule {
371
+ static ɵfac = function PagerModule_Factory(t) { return new (t || PagerModule)(); };
372
+ static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: PagerModule });
373
+ static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
349
374
  }
350
- PagerModule.ɵfac = function PagerModule_Factory(t) { return new (t || PagerModule)(); };
351
- PagerModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: PagerModule });
352
- PagerModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
353
375
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PagerModule, [{
354
376
  type: NgModule,
355
377
  args: [{