{"version":3,"file":"default-node_modules_ngx-pagination___ivy_ngcc___dist_ngx-pagination_js.f87882e3b429453d.js","mappings":"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","sources":["./node_modules/ngx-pagination/__ivy_ngcc__/dist/ngx-pagination.js"],"sourcesContent":["import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Directive, EventEmitter, Input, NgModule, Output, Pipe, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/common';\n\nfunction PaginationControlsComponent_ul_2_li_1_a_1_Template(rf, ctx) { if (rf & 1) {\n    var _r8 = ɵngcc0.ɵɵgetCurrentView();\n    ɵngcc0.ɵɵelementStart(0, \"a\", 11);\n    ɵngcc0.ɵɵlistener(\"keyup.enter\", function PaginationControlsComponent_ul_2_li_1_a_1_Template_a_keyup_enter_0_listener() { ɵngcc0.ɵɵrestoreView(_r8); ɵngcc0.ɵɵnextContext(3); var _r0 = ɵngcc0.ɵɵreference(1); return ɵngcc0.ɵɵresetView(_r0.previous()); })(\"click\", function PaginationControlsComponent_ul_2_li_1_a_1_Template_a_click_0_listener() { ɵngcc0.ɵɵrestoreView(_r8); ɵngcc0.ɵɵnextContext(3); var _r0 = ɵngcc0.ɵɵreference(1); return ɵngcc0.ɵɵresetView(_r0.previous()); });\n    ɵngcc0.ɵɵtext(1);\n    ɵngcc0.ɵɵelementStart(2, \"span\", 12);\n    ɵngcc0.ɵɵtext(3);\n    ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n    var ctx_r5 = ɵngcc0.ɵɵnextContext(3);\n    ɵngcc0.ɵɵattribute(\"aria-label\", ctx_r5.previousLabel + \" \" + ctx_r5.screenReaderPageLabel);\n    ɵngcc0.ɵɵadvance(1);\n    ɵngcc0.ɵɵtextInterpolate1(\" \", ctx_r5.previousLabel, \" \");\n    ɵngcc0.ɵɵadvance(2);\n    ɵngcc0.ɵɵtextInterpolate(ctx_r5.screenReaderPageLabel);\n} }\nfunction PaginationControlsComponent_ul_2_li_1_span_2_Template(rf, ctx) { if (rf & 1) {\n    ɵngcc0.ɵɵelementStart(0, \"span\");\n    ɵngcc0.ɵɵtext(1);\n    ɵngcc0.ɵɵelementStart(2, \"span\", 12);\n    ɵngcc0.ɵɵtext(3);\n    ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n    var ctx_r6 = ɵngcc0.ɵɵnextContext(3);\n    ɵngcc0.ɵɵadvance(1);\n    ɵngcc0.ɵɵtextInterpolate1(\" \", ctx_r6.previousLabel, \" \");\n    ɵngcc0.ɵɵadvance(2);\n    ɵngcc0.ɵɵtextInterpolate(ctx_r6.screenReaderPageLabel);\n} }\nfunction PaginationControlsComponent_ul_2_li_1_Template(rf, ctx) { if (rf & 1) {\n    ɵngcc0.ɵɵelementStart(0, \"li\", 8);\n    ɵngcc0.ɵɵtemplate(1, PaginationControlsComponent_ul_2_li_1_a_1_Template, 4, 3, \"a\", 9);\n    ɵngcc0.ɵɵtemplate(2, PaginationControlsComponent_ul_2_li_1_span_2_Template, 4, 2, \"span\", 10);\n    ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n    ɵngcc0.ɵɵnextContext(2);\n    var _r0 = ɵngcc0.ɵɵreference(1);\n    ɵngcc0.ɵɵclassProp(\"disabled\", _r0.isFirstPage());\n    ɵngcc0.ɵɵadvance(1);\n    ɵngcc0.ɵɵproperty(\"ngIf\", 1 < _r0.getCurrent());\n    ɵngcc0.ɵɵadvance(1);\n    ɵngcc0.ɵɵproperty(\"ngIf\", _r0.isFirstPage());\n} }\nfunction PaginationControlsComponent_ul_2_li_4_a_1_Template(rf, ctx) { if (rf & 1) {\n    var _r15 = ɵngcc0.ɵɵgetCurrentView();\n    ɵngcc0.ɵɵelementStart(0, \"a\", 11);\n    ɵngcc0.ɵɵlistener(\"keyup.enter\", function PaginationControlsComponent_ul_2_li_4_a_1_Template_a_keyup_enter_0_listener() { ɵngcc0.ɵɵrestoreView(_r15); var page_r10 = ɵngcc0.ɵɵnextContext().$implicit; ɵngcc0.ɵɵnextContext(2); var _r0 = ɵngcc0.ɵɵreference(1); return ɵngcc0.ɵɵresetView(_r0.setCurrent(page_r10.value)); })(\"click\", function PaginationControlsComponent_ul_2_li_4_a_1_Template_a_click_0_listener() { ɵngcc0.ɵɵrestoreView(_r15); var page_r10 = ɵngcc0.ɵɵnextContext().$implicit; ɵngcc0.ɵɵnextContext(2); var _r0 = ɵngcc0.ɵɵreference(1); return ɵngcc0.ɵɵresetView(_r0.setCurrent(page_r10.value)); });\n    ɵngcc0.ɵɵelementStart(1, \"span\", 12);\n    ɵngcc0.ɵɵtext(2);\n    ɵngcc0.ɵɵelementEnd();\n    ɵngcc0.ɵɵelementStart(3, \"span\");\n    ɵngcc0.ɵɵtext(4);\n    ɵngcc0.ɵɵpipe(5, \"number\");\n    ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n    var page_r10 = ɵngcc0.ɵɵnextContext().$implicit;\n    var ctx_r11 = ɵngcc0.ɵɵnextContext(2);\n    ɵngcc0.ɵɵadvance(2);\n    ɵngcc0.ɵɵtextInterpolate1(\"\", ctx_r11.screenReaderPageLabel, \" \");\n    ɵngcc0.ɵɵadvance(2);\n    ɵngcc0.ɵɵtextInterpolate(page_r10.label === \"...\" ? page_r10.label : ɵngcc0.ɵɵpipeBind2(5, 2, page_r10.label, \"\"));\n} }\nfunction PaginationControlsComponent_ul_2_li_4_ng_container_2_Template(rf, ctx) { if (rf & 1) {\n    ɵngcc0.ɵɵelementContainerStart(0);\n    ɵngcc0.ɵɵelementStart(1, \"span\", 12);\n    ɵngcc0.ɵɵtext(2);\n    ɵngcc0.ɵɵelementEnd();\n    ɵngcc0.ɵɵelementStart(3, \"span\");\n    ɵngcc0.ɵɵtext(4);\n    ɵngcc0.ɵɵpipe(5, \"number\");\n    ɵngcc0.ɵɵelementEnd();\n    ɵngcc0.ɵɵelementContainerEnd();\n} if (rf & 2) {\n    var page_r10 = ɵngcc0.ɵɵnextContext().$implicit;\n    var ctx_r12 = ɵngcc0.ɵɵnextContext(2);\n    ɵngcc0.ɵɵadvance(2);\n    ɵngcc0.ɵɵtextInterpolate1(\"\", ctx_r12.screenReaderCurrentLabel, \" \");\n    ɵngcc0.ɵɵadvance(2);\n    ɵngcc0.ɵɵtextInterpolate(page_r10.label === \"...\" ? page_r10.label : ɵngcc0.ɵɵpipeBind2(5, 2, page_r10.label, \"\"));\n} }\nfunction PaginationControlsComponent_ul_2_li_4_Template(rf, ctx) { if (rf & 1) {\n    ɵngcc0.ɵɵelementStart(0, \"li\");\n    ɵngcc0.ɵɵtemplate(1, PaginationControlsComponent_ul_2_li_4_a_1_Template, 6, 5, \"a\", 9);\n    ɵngcc0.ɵɵtemplate(2, PaginationControlsComponent_ul_2_li_4_ng_container_2_Template, 6, 5, \"ng-container\", 10);\n    ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n    var page_r10 = ctx.$implicit;\n    ɵngcc0.ɵɵnextContext(2);\n    var _r0 = ɵngcc0.ɵɵreference(1);\n    ɵngcc0.ɵɵclassProp(\"current\", _r0.getCurrent() === page_r10.value)(\"ellipsis\", page_r10.label === \"...\");\n    ɵngcc0.ɵɵadvance(1);\n    ɵngcc0.ɵɵproperty(\"ngIf\", _r0.getCurrent() !== page_r10.value);\n    ɵngcc0.ɵɵadvance(1);\n    ɵngcc0.ɵɵproperty(\"ngIf\", _r0.getCurrent() === page_r10.value);\n} }\nfunction PaginationControlsComponent_ul_2_li_5_a_1_Template(rf, ctx) { if (rf & 1) {\n    var _r23 = ɵngcc0.ɵɵgetCurrentView();\n    ɵngcc0.ɵɵelementStart(0, \"a\", 11);\n    ɵngcc0.ɵɵlistener(\"keyup.enter\", function PaginationControlsComponent_ul_2_li_5_a_1_Template_a_keyup_enter_0_listener() { ɵngcc0.ɵɵrestoreView(_r23); ɵngcc0.ɵɵnextContext(3); var _r0 = ɵngcc0.ɵɵreference(1); return ɵngcc0.ɵɵresetView(_r0.next()); })(\"click\", function PaginationControlsComponent_ul_2_li_5_a_1_Template_a_click_0_listener() { ɵngcc0.ɵɵrestoreView(_r23); ɵngcc0.ɵɵnextContext(3); var _r0 = ɵngcc0.ɵɵreference(1); return ɵngcc0.ɵɵresetView(_r0.next()); });\n    ɵngcc0.ɵɵtext(1);\n    ɵngcc0.ɵɵelementStart(2, \"span\", 12);\n    ɵngcc0.ɵɵtext(3);\n    ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n    var ctx_r20 = ɵngcc0.ɵɵnextContext(3);\n    ɵngcc0.ɵɵattribute(\"aria-label\", ctx_r20.nextLabel + \" \" + ctx_r20.screenReaderPageLabel);\n    ɵngcc0.ɵɵadvance(1);\n    ɵngcc0.ɵɵtextInterpolate1(\" \", ctx_r20.nextLabel, \" \");\n    ɵngcc0.ɵɵadvance(2);\n    ɵngcc0.ɵɵtextInterpolate(ctx_r20.screenReaderPageLabel);\n} }\nfunction PaginationControlsComponent_ul_2_li_5_span_2_Template(rf, ctx) { if (rf & 1) {\n    ɵngcc0.ɵɵelementStart(0, \"span\");\n    ɵngcc0.ɵɵtext(1);\n    ɵngcc0.ɵɵelementStart(2, \"span\", 12);\n    ɵngcc0.ɵɵtext(3);\n    ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n    var ctx_r21 = ɵngcc0.ɵɵnextContext(3);\n    ɵngcc0.ɵɵadvance(1);\n    ɵngcc0.ɵɵtextInterpolate1(\" \", ctx_r21.nextLabel, \" \");\n    ɵngcc0.ɵɵadvance(2);\n    ɵngcc0.ɵɵtextInterpolate(ctx_r21.screenReaderPageLabel);\n} }\nfunction PaginationControlsComponent_ul_2_li_5_Template(rf, ctx) { if (rf & 1) {\n    ɵngcc0.ɵɵelementStart(0, \"li\", 13);\n    ɵngcc0.ɵɵtemplate(1, PaginationControlsComponent_ul_2_li_5_a_1_Template, 4, 3, \"a\", 9);\n    ɵngcc0.ɵɵtemplate(2, PaginationControlsComponent_ul_2_li_5_span_2_Template, 4, 2, \"span\", 10);\n    ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n    ɵngcc0.ɵɵnextContext(2);\n    var _r0 = ɵngcc0.ɵɵreference(1);\n    ɵngcc0.ɵɵclassProp(\"disabled\", _r0.isLastPage());\n    ɵngcc0.ɵɵadvance(1);\n    ɵngcc0.ɵɵproperty(\"ngIf\", !_r0.isLastPage());\n    ɵngcc0.ɵɵadvance(1);\n    ɵngcc0.ɵɵproperty(\"ngIf\", _r0.isLastPage());\n} }\nfunction PaginationControlsComponent_ul_2_Template(rf, ctx) { if (rf & 1) {\n    ɵngcc0.ɵɵelementStart(0, \"ul\", 3);\n    ɵngcc0.ɵɵtemplate(1, PaginationControlsComponent_ul_2_li_1_Template, 3, 4, \"li\", 4);\n    ɵngcc0.ɵɵelementStart(2, \"li\", 5);\n    ɵngcc0.ɵɵtext(3);\n    ɵngcc0.ɵɵelementEnd();\n    ɵngcc0.ɵɵtemplate(4, PaginationControlsComponent_ul_2_li_4_Template, 3, 6, \"li\", 6);\n    ɵngcc0.ɵɵtemplate(5, PaginationControlsComponent_ul_2_li_5_Template, 3, 4, \"li\", 7);\n    ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n    var ctx_r1 = ɵngcc0.ɵɵnextContext();\n    var _r0 = ɵngcc0.ɵɵreference(1);\n    ɵngcc0.ɵɵclassProp(\"responsive\", ctx_r1.responsive);\n    ɵngcc0.ɵɵattribute(\"aria-label\", ctx_r1.screenReaderPaginationLabel);\n    ɵngcc0.ɵɵadvance(1);\n    ɵngcc0.ɵɵproperty(\"ngIf\", ctx_r1.directionLinks);\n    ɵngcc0.ɵɵadvance(2);\n    ɵngcc0.ɵɵtextInterpolate2(\" \", _r0.getCurrent(), \" / \", _r0.getLastPage(), \" \");\n    ɵngcc0.ɵɵadvance(1);\n    ɵngcc0.ɵɵproperty(\"ngForOf\", _r0.pages)(\"ngForTrackBy\", ctx_r1.trackByIndex);\n    ɵngcc0.ɵɵadvance(1);\n    ɵngcc0.ɵɵproperty(\"ngIf\", ctx_r1.directionLinks);\n} }\nvar PaginationService = /** @class */ (function () {\r\n    function PaginationService() {\r\n        this.change = new EventEmitter();\r\n        this.instances = {};\r\n        this.DEFAULT_ID = 'DEFAULT_PAGINATION_ID';\r\n    }\r\n    PaginationService.prototype.defaultId = function () { return this.DEFAULT_ID; };\r\n    /**\r\n     * Register a PaginationInstance with this service. Returns a\r\n     * boolean value signifying whether the instance is new or\r\n     * updated (true = new or updated, false = unchanged).\r\n     */\r\n    PaginationService.prototype.register = function (instance) {\r\n        if (instance.id == null) {\r\n            instance.id = this.DEFAULT_ID;\r\n        }\r\n        if (!this.instances[instance.id]) {\r\n            this.instances[instance.id] = instance;\r\n            return true;\r\n        }\r\n        else {\r\n            return this.updateInstance(instance);\r\n        }\r\n    };\r\n    /**\r\n     * Check each property of the instance and update any that have changed. Return\r\n     * true if any changes were made, else return false.\r\n     */\r\n    PaginationService.prototype.updateInstance = function (instance) {\r\n        var changed = false;\r\n        for (var prop in this.instances[instance.id]) {\r\n            if (instance[prop] !== this.instances[instance.id][prop]) {\r\n                this.instances[instance.id][prop] = instance[prop];\r\n                changed = true;\r\n            }\r\n        }\r\n        return changed;\r\n    };\r\n    /**\r\n     * Returns the current page number.\r\n     */\r\n    PaginationService.prototype.getCurrentPage = function (id) {\r\n        if (this.instances[id]) {\r\n            return this.instances[id].currentPage;\r\n        }\r\n    };\r\n    /**\r\n     * Sets the current page number.\r\n     */\r\n    PaginationService.prototype.setCurrentPage = function (id, page) {\r\n        if (this.instances[id]) {\r\n            var instance = this.instances[id];\r\n            var maxPage = Math.ceil(instance.totalItems / instance.itemsPerPage);\r\n            if (page <= maxPage && 1 <= page) {\r\n                this.instances[id].currentPage = page;\r\n                this.change.emit(id);\r\n            }\r\n        }\r\n    };\r\n    /**\r\n     * Sets the value of instance.totalItems\r\n     */\r\n    PaginationService.prototype.setTotalItems = function (id, totalItems) {\r\n        if (this.instances[id] && 0 <= totalItems) {\r\n            this.instances[id].totalItems = totalItems;\r\n            this.change.emit(id);\r\n        }\r\n    };\r\n    /**\r\n     * Sets the value of instance.itemsPerPage.\r\n     */\r\n    PaginationService.prototype.setItemsPerPage = function (id, itemsPerPage) {\r\n        if (this.instances[id]) {\r\n            this.instances[id].itemsPerPage = itemsPerPage;\r\n            this.change.emit(id);\r\n        }\r\n    };\r\n    /**\r\n     * Returns a clone of the pagination instance object matching the id. If no\r\n     * id specified, returns the instance corresponding to the default id.\r\n     */\r\n    PaginationService.prototype.getInstance = function (id) {\r\n        if (id === void 0) { id = this.DEFAULT_ID; }\r\n        if (this.instances[id]) {\r\n            return this.clone(this.instances[id]);\r\n        }\r\n        return {};\r\n    };\r\n    /**\r\n     * Perform a shallow clone of an object.\r\n     */\r\n    PaginationService.prototype.clone = function (obj) {\r\n        var target = {};\r\n        for (var i in obj) {\r\n            if (obj.hasOwnProperty(i)) {\r\n                target[i] = obj[i];\r\n            }\r\n        }\r\n        return target;\r\n    };\nPaginationService.ɵfac = function PaginationService_Factory(t) { return new (t || PaginationService)(); };\nPaginationService.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: PaginationService, factory: function (t) { return PaginationService.ɵfac(t); } });\n\r\n    return PaginationService;\r\n}());\n\nvar __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nvar LARGE_NUMBER = Number.MAX_SAFE_INTEGER;\r\nvar PaginatePipe = /** @class */ (function () {\r\n    function PaginatePipe(service) {\r\n        this.service = service;\r\n        // store the values from the last time the pipe was invoked\r\n        this.state = {};\r\n    }\r\n    PaginatePipe.prototype.transform = function (collection, args) {\r\n        // When an observable is passed through the AsyncPipe, it will output\r\n        // `null` until the subscription resolves. In this case, we want to\r\n        // use the cached data from the `state` object to prevent the NgFor\r\n        // from flashing empty until the real values arrive.\r\n        if (!(collection instanceof Array)) {\r\n            var _id = args.id || this.service.defaultId();\r\n            if (this.state[_id]) {\r\n                return this.state[_id].slice;\r\n            }\r\n            else {\r\n                return collection;\r\n            }\r\n        }\r\n        var serverSideMode = args.totalItems && args.totalItems !== collection.length;\r\n        var instance = this.createInstance(collection, args);\r\n        var id = instance.id;\r\n        var start, end;\r\n        var perPage = instance.itemsPerPage;\r\n        var emitChange = this.service.register(instance);\r\n        if (!serverSideMode && collection instanceof Array) {\r\n            perPage = +perPage || LARGE_NUMBER;\r\n            start = (instance.currentPage - 1) * perPage;\r\n            end = start + perPage;\r\n            var isIdentical = this.stateIsIdentical(id, collection, start, end);\r\n            if (isIdentical) {\r\n                return this.state[id].slice;\r\n            }\r\n            else {\r\n                var slice = collection.slice(start, end);\r\n                this.saveState(id, collection, slice, start, end);\r\n                this.service.change.emit(id);\r\n                return slice;\r\n            }\r\n        }\r\n        else {\r\n            if (emitChange) {\r\n                this.service.change.emit(id);\r\n            }\r\n            // save the state for server-side collection to avoid null\r\n            // flash as new data loads.\r\n            this.saveState(id, collection, collection, start, end);\r\n            return collection;\r\n        }\r\n    };\r\n    /**\r\n     * Create an PaginationInstance object, using defaults for any optional properties not supplied.\r\n     */\r\n    PaginatePipe.prototype.createInstance = function (collection, config) {\r\n        this.checkConfig(config);\r\n        return {\r\n            id: config.id != null ? config.id : this.service.defaultId(),\r\n            itemsPerPage: +config.itemsPerPage || 0,\r\n            currentPage: +config.currentPage || 1,\r\n            totalItems: +config.totalItems || collection.length\r\n        };\r\n    };\r\n    /**\r\n     * Ensure the argument passed to the filter contains the required properties.\r\n     */\r\n    PaginatePipe.prototype.checkConfig = function (config) {\r\n        var required = ['itemsPerPage', 'currentPage'];\r\n        var missing = required.filter(function (prop) { return !(prop in config); });\r\n        if (0 < missing.length) {\r\n            throw new Error(\"PaginatePipe: Argument is missing the following required properties: \" + missing.join(', '));\r\n        }\r\n    };\r\n    /**\r\n     * To avoid returning a brand new array each time the pipe is run, we store the state of the sliced\r\n     * array for a given id. This means that the next time the pipe is run on this collection & id, we just\r\n     * need to check that the collection, start and end points are all identical, and if so, return the\r\n     * last sliced array.\r\n     */\r\n    PaginatePipe.prototype.saveState = function (id, collection, slice, start, end) {\r\n        this.state[id] = {\r\n            collection: collection,\r\n            size: collection.length,\r\n            slice: slice,\r\n            start: start,\r\n            end: end\r\n        };\r\n    };\r\n    /**\r\n     * For a given id, returns true if the collection, size, start and end values are identical.\r\n     */\r\n    PaginatePipe.prototype.stateIsIdentical = function (id, collection, start, end) {\r\n        var state = this.state[id];\r\n        if (!state) {\r\n            return false;\r\n        }\r\n        var isMetaDataIdentical = state.size === collection.length &&\r\n            state.start === start &&\r\n            state.end === end;\r\n        if (!isMetaDataIdentical) {\r\n            return false;\r\n        }\r\n        return state.slice.every(function (element, index) { return element === collection[start + index]; });\r\n    };\r\n    PaginatePipe = __decorate$1([ __metadata(\"design:paramtypes\", [PaginationService])\r\n    ], PaginatePipe);\nPaginatePipe.ɵfac = function PaginatePipe_Factory(t) { return new (t || PaginatePipe)(ɵngcc0.ɵɵdirectiveInject(PaginationService, 16)); };\nPaginatePipe.ɵpipe = /*@__PURE__*/ ɵngcc0.ɵɵdefinePipe({ name: \"paginate\", type: PaginatePipe, pure: false });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PaginatePipe, [{\n        type: Pipe,\n        args: [{\n                name: 'paginate',\n                pure: false\n            }]\n    }], function () { return [{ type: PaginationService }]; }, null); })();\r\n    return PaginatePipe;\r\n}());\n\n/**\r\n * The default template and styles for the pagination links are borrowed directly\r\n * from Zurb Foundation 6: http://foundation.zurb.com/sites/docs/pagination.html\r\n */\r\nvar DEFAULT_TEMPLATE = \"\\n    <pagination-template  #p=\\\"paginationApi\\\"\\n                         [id]=\\\"id\\\"\\n                         [maxSize]=\\\"maxSize\\\"\\n                         (pageChange)=\\\"pageChange.emit($event)\\\"\\n                         (pageBoundsCorrection)=\\\"pageBoundsCorrection.emit($event)\\\">\\n    <ul class=\\\"ngx-pagination\\\"\\n        [attr.aria-label]=\\\"screenReaderPaginationLabel\\\" \\n        [class.responsive]=\\\"responsive\\\"\\n        *ngIf=\\\"!(autoHide && p.pages.length <= 1)\\\">\\n\\n        <li class=\\\"pagination-previous\\\" [class.disabled]=\\\"p.isFirstPage()\\\" *ngIf=\\\"directionLinks\\\"> \\n            <a tabindex=\\\"0\\\" *ngIf=\\\"1 < p.getCurrent()\\\" (keyup.enter)=\\\"p.previous()\\\" (click)=\\\"p.previous()\\\" [attr.aria-label]=\\\"previousLabel + ' ' + screenReaderPageLabel\\\">\\n                {{ previousLabel }} <span class=\\\"show-for-sr\\\">{{ screenReaderPageLabel }}</span>\\n            </a>\\n            <span *ngIf=\\\"p.isFirstPage()\\\">\\n                {{ previousLabel }} <span class=\\\"show-for-sr\\\">{{ screenReaderPageLabel }}</span>\\n            </span>\\n        </li> \\n\\n        <li class=\\\"small-screen\\\">\\n            {{ p.getCurrent() }} / {{ p.getLastPage() }}\\n        </li>\\n\\n        <li [class.current]=\\\"p.getCurrent() === page.value\\\" \\n            [class.ellipsis]=\\\"page.label === '...'\\\"\\n            *ngFor=\\\"let page of p.pages; trackBy: trackByIndex\\\">\\n            <a tabindex=\\\"0\\\" (keyup.enter)=\\\"p.setCurrent(page.value)\\\" (click)=\\\"p.setCurrent(page.value)\\\" *ngIf=\\\"p.getCurrent() !== page.value\\\">\\n                <span class=\\\"show-for-sr\\\">{{ screenReaderPageLabel }} </span>\\n                <span>{{ (page.label === '...') ? page.label : (page.label | number:'') }}</span>\\n            </a>\\n            <ng-container *ngIf=\\\"p.getCurrent() === page.value\\\">\\n                <span class=\\\"show-for-sr\\\">{{ screenReaderCurrentLabel }} </span>\\n                <span>{{ (page.label === '...') ? page.label : (page.label | number:'') }}</span> \\n            </ng-container>\\n        </li>\\n\\n        <li class=\\\"pagination-next\\\" [class.disabled]=\\\"p.isLastPage()\\\" *ngIf=\\\"directionLinks\\\">\\n            <a tabindex=\\\"0\\\" *ngIf=\\\"!p.isLastPage()\\\" (keyup.enter)=\\\"p.next()\\\" (click)=\\\"p.next()\\\" [attr.aria-label]=\\\"nextLabel + ' ' + screenReaderPageLabel\\\">\\n                 {{ nextLabel }} <span class=\\\"show-for-sr\\\">{{ screenReaderPageLabel }}</span>\\n            </a>\\n            <span *ngIf=\\\"p.isLastPage()\\\">\\n                 {{ nextLabel }} <span class=\\\"show-for-sr\\\">{{ screenReaderPageLabel }}</span>\\n            </span>\\n        </li>\\n\\n    </ul>\\n    </pagination-template>\\n    \";\r\nvar DEFAULT_STYLES = \"\\n.ngx-pagination {\\n  margin-left: 0;\\n  margin-bottom: 1rem; }\\n  .ngx-pagination::before, .ngx-pagination::after {\\n    content: ' ';\\n    display: table; }\\n  .ngx-pagination::after {\\n    clear: both; }\\n  .ngx-pagination li {\\n    -moz-user-select: none;\\n    -webkit-user-select: none;\\n    -ms-user-select: none;\\n    margin-right: 0.0625rem;\\n    border-radius: 0; }\\n  .ngx-pagination li {\\n    display: inline-block; }\\n  .ngx-pagination a,\\n  .ngx-pagination button {\\n    color: #0a0a0a; \\n    display: block;\\n    padding: 0.1875rem 0.625rem;\\n    border-radius: 0; }\\n    .ngx-pagination a:hover,\\n    .ngx-pagination button:hover {\\n      background: #e6e6e6; }\\n  .ngx-pagination .current {\\n    padding: 0.1875rem 0.625rem;\\n    background: #2199e8;\\n    color: #fefefe;\\n    cursor: default; }\\n  .ngx-pagination .disabled {\\n    padding: 0.1875rem 0.625rem;\\n    color: #cacaca;\\n    cursor: default; } \\n    .ngx-pagination .disabled:hover {\\n      background: transparent; }\\n  .ngx-pagination a, .ngx-pagination button {\\n    cursor: pointer; }\\n\\n.ngx-pagination .pagination-previous a::before,\\n.ngx-pagination .pagination-previous.disabled::before { \\n  content: '\\u00AB';\\n  display: inline-block;\\n  margin-right: 0.5rem; }\\n\\n.ngx-pagination .pagination-next a::after,\\n.ngx-pagination .pagination-next.disabled::after {\\n  content: '\\u00BB';\\n  display: inline-block;\\n  margin-left: 0.5rem; }\\n\\n.ngx-pagination .show-for-sr {\\n  position: absolute !important;\\n  width: 1px;\\n  height: 1px;\\n  overflow: hidden;\\n  clip: rect(0, 0, 0, 0); }\\n.ngx-pagination .small-screen {\\n  display: none; }\\n@media screen and (max-width: 601px) {\\n  .ngx-pagination.responsive .small-screen {\\n    display: inline-block; } \\n  .ngx-pagination.responsive li:not(.small-screen):not(.pagination-previous):not(.pagination-next) {\\n    display: none; }\\n}\\n  \";\n\nvar __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata$1 = (undefined && undefined.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nfunction coerceToBoolean(input) {\r\n    return !!input && input !== 'false';\r\n}\r\n/**\r\n * The default pagination controls component. Actually just a default implementation of a custom template.\r\n */\r\nvar PaginationControlsComponent = /** @class */ (function () {\r\n    function PaginationControlsComponent() {\r\n        this.maxSize = 7;\r\n        this.previousLabel = 'Previous';\r\n        this.nextLabel = 'Next';\r\n        this.screenReaderPaginationLabel = 'Pagination';\r\n        this.screenReaderPageLabel = 'page';\r\n        this.screenReaderCurrentLabel = \"You're on page\";\r\n        this.pageChange = new EventEmitter();\r\n        this.pageBoundsCorrection = new EventEmitter();\r\n        this._directionLinks = true;\r\n        this._autoHide = false;\r\n        this._responsive = false;\r\n    }\r\n    Object.defineProperty(PaginationControlsComponent.prototype, \"directionLinks\", {\r\n        get: function () {\r\n            return this._directionLinks;\r\n        },\r\n        set: function (value) {\r\n            this._directionLinks = coerceToBoolean(value);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(PaginationControlsComponent.prototype, \"autoHide\", {\r\n        get: function () {\r\n            return this._autoHide;\r\n        },\r\n        set: function (value) {\r\n            this._autoHide = coerceToBoolean(value);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(PaginationControlsComponent.prototype, \"responsive\", {\r\n        get: function () {\r\n            return this._responsive;\r\n        },\r\n        set: function (value) {\r\n            this._responsive = coerceToBoolean(value);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    PaginationControlsComponent.prototype.trackByIndex = function (index) {\r\n        return index;\r\n    };\r\n    __decorate$2([\r\n        Input(),\r\n        __metadata$1(\"design:type\", String)\r\n    ], PaginationControlsComponent.prototype, \"id\", void 0);\r\n    __decorate$2([\r\n        Input(),\r\n        __metadata$1(\"design:type\", Number)\r\n    ], PaginationControlsComponent.prototype, \"maxSize\", void 0);\r\n    __decorate$2([\r\n        Input(),\r\n        __metadata$1(\"design:type\", Boolean),\r\n        __metadata$1(\"design:paramtypes\", [Boolean])\r\n    ], PaginationControlsComponent.prototype, \"directionLinks\", null);\r\n    __decorate$2([\r\n        Input(),\r\n        __metadata$1(\"design:type\", Boolean),\r\n        __metadata$1(\"design:paramtypes\", [Boolean])\r\n    ], PaginationControlsComponent.prototype, \"autoHide\", null);\r\n    __decorate$2([\r\n        Input(),\r\n        __metadata$1(\"design:type\", Boolean),\r\n        __metadata$1(\"design:paramtypes\", [Boolean])\r\n    ], PaginationControlsComponent.prototype, \"responsive\", null);\r\n    __decorate$2([\r\n        Input(),\r\n        __metadata$1(\"design:type\", String)\r\n    ], PaginationControlsComponent.prototype, \"previousLabel\", void 0);\r\n    __decorate$2([\r\n        Input(),\r\n        __metadata$1(\"design:type\", String)\r\n    ], PaginationControlsComponent.prototype, \"nextLabel\", void 0);\r\n    __decorate$2([\r\n        Input(),\r\n        __metadata$1(\"design:type\", String)\r\n    ], PaginationControlsComponent.prototype, \"screenReaderPaginationLabel\", void 0);\r\n    __decorate$2([\r\n        Input(),\r\n        __metadata$1(\"design:type\", String)\r\n    ], PaginationControlsComponent.prototype, \"screenReaderPageLabel\", void 0);\r\n    __decorate$2([\r\n        Input(),\r\n        __metadata$1(\"design:type\", String)\r\n    ], PaginationControlsComponent.prototype, \"screenReaderCurrentLabel\", void 0);\r\n    __decorate$2([\r\n        Output(),\r\n        __metadata$1(\"design:type\", EventEmitter)\r\n    ], PaginationControlsComponent.prototype, \"pageChange\", void 0);\r\n    __decorate$2([\r\n        Output(),\r\n        __metadata$1(\"design:type\", EventEmitter)\r\n    ], PaginationControlsComponent.prototype, \"pageBoundsCorrection\", void 0);\nPaginationControlsComponent.ɵfac = function PaginationControlsComponent_Factory(t) { return new (t || PaginationControlsComponent)(); };\nPaginationControlsComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: PaginationControlsComponent, selectors: [[\"pagination-controls\"]], inputs: { maxSize: \"maxSize\", previousLabel: \"previousLabel\", nextLabel: \"nextLabel\", screenReaderPaginationLabel: \"screenReaderPaginationLabel\", screenReaderPageLabel: \"screenReaderPageLabel\", screenReaderCurrentLabel: \"screenReaderCurrentLabel\", directionLinks: \"directionLinks\", autoHide: \"autoHide\", responsive: \"responsive\", id: \"id\" }, outputs: { pageChange: \"pageChange\", pageBoundsCorrection: \"pageBoundsCorrection\" }, decls: 3, vars: 3, consts: [[3, \"id\", \"maxSize\", \"pageChange\", \"pageBoundsCorrection\"], [\"p\", \"paginationApi\"], [\"class\", \"ngx-pagination\", 3, \"responsive\", 4, \"ngIf\"], [1, \"ngx-pagination\"], [\"class\", \"pagination-previous\", 3, \"disabled\", 4, \"ngIf\"], [1, \"small-screen\"], [3, \"current\", \"ellipsis\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"class\", \"pagination-next\", 3, \"disabled\", 4, \"ngIf\"], [1, \"pagination-previous\"], [\"tabindex\", \"0\", 3, \"keyup.enter\", \"click\", 4, \"ngIf\"], [4, \"ngIf\"], [\"tabindex\", \"0\", 3, \"keyup.enter\", \"click\"], [1, \"show-for-sr\"], [1, \"pagination-next\"]], template: function PaginationControlsComponent_Template(rf, ctx) { if (rf & 1) {\n        ɵngcc0.ɵɵelementStart(0, \"pagination-template\", 0, 1);\n        ɵngcc0.ɵɵlistener(\"pageChange\", function PaginationControlsComponent_Template_pagination_template_pageChange_0_listener($event) { return ctx.pageChange.emit($event); })(\"pageBoundsCorrection\", function PaginationControlsComponent_Template_pagination_template_pageBoundsCorrection_0_listener($event) { return ctx.pageBoundsCorrection.emit($event); });\n        ɵngcc0.ɵɵtemplate(2, PaginationControlsComponent_ul_2_Template, 6, 9, \"ul\", 2);\n        ɵngcc0.ɵɵelementEnd();\n    } if (rf & 2) {\n        var _r0 = ɵngcc0.ɵɵreference(1);\n        ɵngcc0.ɵɵproperty(\"id\", ctx.id)(\"maxSize\", ctx.maxSize);\n        ɵngcc0.ɵɵadvance(2);\n        ɵngcc0.ɵɵproperty(\"ngIf\", !(ctx.autoHide && _r0.pages.length <= 1));\n    } }, dependencies: function () { return [ɵngcc1.NgForOf, ɵngcc1.NgIf, PaginationControlsDirective, ɵngcc1.DecimalPipe]; }, styles: [\"\\n.ngx-pagination {\\n  margin-left: 0;\\n  margin-bottom: 1rem; }\\n  .ngx-pagination::before, .ngx-pagination::after {\\n    content: ' ';\\n    display: table; }\\n  .ngx-pagination::after {\\n    clear: both; }\\n  .ngx-pagination li {\\n    -moz-user-select: none;\\n    -webkit-user-select: none;\\n    -ms-user-select: none;\\n    margin-right: 0.0625rem;\\n    border-radius: 0; }\\n  .ngx-pagination li {\\n    display: inline-block; }\\n  .ngx-pagination a,\\n  .ngx-pagination button {\\n    color: #0a0a0a; \\n    display: block;\\n    padding: 0.1875rem 0.625rem;\\n    border-radius: 0; }\\n    .ngx-pagination a:hover,\\n    .ngx-pagination button:hover {\\n      background: #e6e6e6; }\\n  .ngx-pagination .current {\\n    padding: 0.1875rem 0.625rem;\\n    background: #2199e8;\\n    color: #fefefe;\\n    cursor: default; }\\n  .ngx-pagination .disabled {\\n    padding: 0.1875rem 0.625rem;\\n    color: #cacaca;\\n    cursor: default; } \\n    .ngx-pagination .disabled:hover {\\n      background: transparent; }\\n  .ngx-pagination a, .ngx-pagination button {\\n    cursor: pointer; }\\n\\n.ngx-pagination .pagination-previous a::before,\\n.ngx-pagination .pagination-previous.disabled::before { \\n  content: '\\u00AB';\\n  display: inline-block;\\n  margin-right: 0.5rem; }\\n\\n.ngx-pagination .pagination-next a::after,\\n.ngx-pagination .pagination-next.disabled::after {\\n  content: '\\u00BB';\\n  display: inline-block;\\n  margin-left: 0.5rem; }\\n\\n.ngx-pagination .show-for-sr {\\n  position: absolute !important;\\n  width: 1px;\\n  height: 1px;\\n  overflow: hidden;\\n  clip: rect(0, 0, 0, 0); }\\n.ngx-pagination .small-screen {\\n  display: none; }\\n@media screen and (max-width: 601px) {\\n  .ngx-pagination.responsive .small-screen {\\n    display: inline-block; } \\n  .ngx-pagination.responsive li:not(.small-screen):not(.pagination-previous):not(.pagination-next) {\\n    display: none; }\\n}\\n  \"], encapsulation: 2, changeDetection: 0 });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PaginationControlsComponent, [{\n        type: Component,\n        args: [{ selector: 'pagination-controls', template: DEFAULT_TEMPLATE, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [\"\\n.ngx-pagination {\\n  margin-left: 0;\\n  margin-bottom: 1rem; }\\n  .ngx-pagination::before, .ngx-pagination::after {\\n    content: ' ';\\n    display: table; }\\n  .ngx-pagination::after {\\n    clear: both; }\\n  .ngx-pagination li {\\n    -moz-user-select: none;\\n    -webkit-user-select: none;\\n    -ms-user-select: none;\\n    margin-right: 0.0625rem;\\n    border-radius: 0; }\\n  .ngx-pagination li {\\n    display: inline-block; }\\n  .ngx-pagination a,\\n  .ngx-pagination button {\\n    color: #0a0a0a; \\n    display: block;\\n    padding: 0.1875rem 0.625rem;\\n    border-radius: 0; }\\n    .ngx-pagination a:hover,\\n    .ngx-pagination button:hover {\\n      background: #e6e6e6; }\\n  .ngx-pagination .current {\\n    padding: 0.1875rem 0.625rem;\\n    background: #2199e8;\\n    color: #fefefe;\\n    cursor: default; }\\n  .ngx-pagination .disabled {\\n    padding: 0.1875rem 0.625rem;\\n    color: #cacaca;\\n    cursor: default; } \\n    .ngx-pagination .disabled:hover {\\n      background: transparent; }\\n  .ngx-pagination a, .ngx-pagination button {\\n    cursor: pointer; }\\n\\n.ngx-pagination .pagination-previous a::before,\\n.ngx-pagination .pagination-previous.disabled::before { \\n  content: '\\u00AB';\\n  display: inline-block;\\n  margin-right: 0.5rem; }\\n\\n.ngx-pagination .pagination-next a::after,\\n.ngx-pagination .pagination-next.disabled::after {\\n  content: '\\u00BB';\\n  display: inline-block;\\n  margin-left: 0.5rem; }\\n\\n.ngx-pagination .show-for-sr {\\n  position: absolute !important;\\n  width: 1px;\\n  height: 1px;\\n  overflow: hidden;\\n  clip: rect(0, 0, 0, 0); }\\n.ngx-pagination .small-screen {\\n  display: none; }\\n@media screen and (max-width: 601px) {\\n  .ngx-pagination.responsive .small-screen {\\n    display: inline-block; } \\n  .ngx-pagination.responsive li:not(.small-screen):not(.pagination-previous):not(.pagination-next) {\\n    display: none; }\\n}\\n  \"] }]\n    }], function () { return []; }, { maxSize: [{\n            type: Input\n        }], previousLabel: [{\n            type: Input\n        }], nextLabel: [{\n            type: Input\n        }], screenReaderPaginationLabel: [{\n            type: Input\n        }], screenReaderPageLabel: [{\n            type: Input\n        }], screenReaderCurrentLabel: [{\n            type: Input\n        }], pageChange: [{\n            type: Output\n        }], pageBoundsCorrection: [{\n            type: Output\n        }], directionLinks: [{\n            type: Input\n        }], autoHide: [{\n            type: Input\n        }], responsive: [{\n            type: Input\n        }], id: [{\n            type: Input\n        }] }); })();\r\n    return PaginationControlsComponent;\r\n}());\n\nvar __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata$2 = (undefined && undefined.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n/**\r\n * This directive is what powers all pagination controls components, including the default one.\r\n * It exposes an API which is hooked up to the PaginationService to keep the PaginatePipe in sync\r\n * with the pagination controls.\r\n */\r\nvar PaginationControlsDirective = /** @class */ (function () {\r\n    function PaginationControlsDirective(service, changeDetectorRef) {\r\n        var _this = this;\r\n        this.service = service;\r\n        this.changeDetectorRef = changeDetectorRef;\r\n        this.maxSize = 7;\r\n        this.pageChange = new EventEmitter();\r\n        this.pageBoundsCorrection = new EventEmitter();\r\n        this.pages = [];\r\n        this.changeSub = this.service.change\r\n            .subscribe(function (id) {\r\n            if (_this.id === id) {\r\n                _this.updatePageLinks();\r\n                _this.changeDetectorRef.markForCheck();\r\n                _this.changeDetectorRef.detectChanges();\r\n            }\r\n        });\r\n    }\r\n    PaginationControlsDirective.prototype.ngOnInit = function () {\r\n        if (this.id === undefined) {\r\n            this.id = this.service.defaultId();\r\n        }\r\n        this.updatePageLinks();\r\n    };\r\n    PaginationControlsDirective.prototype.ngOnChanges = function (changes) {\r\n        this.updatePageLinks();\r\n    };\r\n    PaginationControlsDirective.prototype.ngOnDestroy = function () {\r\n        this.changeSub.unsubscribe();\r\n    };\r\n    /**\r\n     * Go to the previous page\r\n     */\r\n    PaginationControlsDirective.prototype.previous = function () {\r\n        this.checkValidId();\r\n        this.setCurrent(this.getCurrent() - 1);\r\n    };\r\n    /**\r\n     * Go to the next page\r\n     */\r\n    PaginationControlsDirective.prototype.next = function () {\r\n        this.checkValidId();\r\n        this.setCurrent(this.getCurrent() + 1);\r\n    };\r\n    /**\r\n     * Returns true if current page is first page\r\n     */\r\n    PaginationControlsDirective.prototype.isFirstPage = function () {\r\n        return this.getCurrent() === 1;\r\n    };\r\n    /**\r\n     * Returns true if current page is last page\r\n     */\r\n    PaginationControlsDirective.prototype.isLastPage = function () {\r\n        return this.getLastPage() === this.getCurrent();\r\n    };\r\n    /**\r\n     * Set the current page number.\r\n     */\r\n    PaginationControlsDirective.prototype.setCurrent = function (page) {\r\n        this.pageChange.emit(page);\r\n    };\r\n    /**\r\n     * Get the current page number.\r\n     */\r\n    PaginationControlsDirective.prototype.getCurrent = function () {\r\n        return this.service.getCurrentPage(this.id);\r\n    };\r\n    /**\r\n     * Returns the last page number\r\n     */\r\n    PaginationControlsDirective.prototype.getLastPage = function () {\r\n        var inst = this.service.getInstance(this.id);\r\n        if (inst.totalItems < 1) {\r\n            // when there are 0 or fewer (an error case) items, there are no \"pages\" as such,\r\n            // but it makes sense to consider a single, empty page as the last page.\r\n            return 1;\r\n        }\r\n        return Math.ceil(inst.totalItems / inst.itemsPerPage);\r\n    };\r\n    PaginationControlsDirective.prototype.getTotalItems = function () {\r\n        return this.service.getInstance(this.id).totalItems;\r\n    };\r\n    PaginationControlsDirective.prototype.checkValidId = function () {\r\n        if (this.service.getInstance(this.id).id == null) {\r\n            console.warn(\"PaginationControlsDirective: the specified id \\\"\" + this.id + \"\\\" does not match any registered PaginationInstance\");\r\n        }\r\n    };\r\n    /**\r\n     * Updates the page links and checks that the current page is valid. Should run whenever the\r\n     * PaginationService.change stream emits a value matching the current ID, or when any of the\r\n     * input values changes.\r\n     */\r\n    PaginationControlsDirective.prototype.updatePageLinks = function () {\r\n        var _this = this;\r\n        var inst = this.service.getInstance(this.id);\r\n        var correctedCurrentPage = this.outOfBoundCorrection(inst);\r\n        if (correctedCurrentPage !== inst.currentPage) {\r\n            setTimeout(function () {\r\n                _this.pageBoundsCorrection.emit(correctedCurrentPage);\r\n                _this.pages = _this.createPageArray(inst.currentPage, inst.itemsPerPage, inst.totalItems, _this.maxSize);\r\n            });\r\n        }\r\n        else {\r\n            this.pages = this.createPageArray(inst.currentPage, inst.itemsPerPage, inst.totalItems, this.maxSize);\r\n        }\r\n    };\r\n    /**\r\n     * Checks that the instance.currentPage property is within bounds for the current page range.\r\n     * If not, return a correct value for currentPage, or the current value if OK.\r\n     */\r\n    PaginationControlsDirective.prototype.outOfBoundCorrection = function (instance) {\r\n        var totalPages = Math.ceil(instance.totalItems / instance.itemsPerPage);\r\n        if (totalPages < instance.currentPage && 0 < totalPages) {\r\n            return totalPages;\r\n        }\r\n        else if (instance.currentPage < 1) {\r\n            return 1;\r\n        }\r\n        return instance.currentPage;\r\n    };\r\n    /**\r\n     * Returns an array of Page objects to use in the pagination controls.\r\n     */\r\n    PaginationControlsDirective.prototype.createPageArray = function (currentPage, itemsPerPage, totalItems, paginationRange) {\r\n        // paginationRange could be a string if passed from attribute, so cast to number.\r\n        paginationRange = +paginationRange;\r\n        var pages = [];\r\n        // Return 1 as default page number\r\n        // Make sense to show 1 instead of empty when there are no items\r\n        var totalPages = Math.max(Math.ceil(totalItems / itemsPerPage), 1);\r\n        var halfWay = Math.ceil(paginationRange / 2);\r\n        var isStart = currentPage <= halfWay;\r\n        var isEnd = totalPages - halfWay < currentPage;\r\n        var isMiddle = !isStart && !isEnd;\r\n        var ellipsesNeeded = paginationRange < totalPages;\r\n        var i = 1;\r\n        while (i <= totalPages && i <= paginationRange) {\r\n            var label = void 0;\r\n            var pageNumber = this.calculatePageNumber(i, currentPage, paginationRange, totalPages);\r\n            var openingEllipsesNeeded = (i === 2 && (isMiddle || isEnd));\r\n            var closingEllipsesNeeded = (i === paginationRange - 1 && (isMiddle || isStart));\r\n            if (ellipsesNeeded && (openingEllipsesNeeded || closingEllipsesNeeded)) {\r\n                label = '...';\r\n            }\r\n            else {\r\n                label = pageNumber;\r\n            }\r\n            pages.push({\r\n                label: label,\r\n                value: pageNumber\r\n            });\r\n            i++;\r\n        }\r\n        return pages;\r\n    };\r\n    /**\r\n     * Given the position in the sequence of pagination links [i],\r\n     * figure out what page number corresponds to that position.\r\n     */\r\n    PaginationControlsDirective.prototype.calculatePageNumber = function (i, currentPage, paginationRange, totalPages) {\r\n        var halfWay = Math.ceil(paginationRange / 2);\r\n        if (i === paginationRange) {\r\n            return totalPages;\r\n        }\r\n        else if (i === 1) {\r\n            return i;\r\n        }\r\n        else if (paginationRange < totalPages) {\r\n            if (totalPages - halfWay < currentPage) {\r\n                return totalPages - paginationRange + i;\r\n            }\r\n            else if (halfWay < currentPage) {\r\n                return currentPage - halfWay + i;\r\n            }\r\n            else {\r\n                return i;\r\n            }\r\n        }\r\n        else {\r\n            return i;\r\n        }\r\n    };\r\n    __decorate$3([\r\n        Input(),\r\n        __metadata$2(\"design:type\", String)\r\n    ], PaginationControlsDirective.prototype, \"id\", void 0);\r\n    __decorate$3([\r\n        Input(),\r\n        __metadata$2(\"design:type\", Number)\r\n    ], PaginationControlsDirective.prototype, \"maxSize\", void 0);\r\n    __decorate$3([\r\n        Output(),\r\n        __metadata$2(\"design:type\", EventEmitter)\r\n    ], PaginationControlsDirective.prototype, \"pageChange\", void 0);\r\n    __decorate$3([\r\n        Output(),\r\n        __metadata$2(\"design:type\", EventEmitter)\r\n    ], PaginationControlsDirective.prototype, \"pageBoundsCorrection\", void 0);\r\n    PaginationControlsDirective = __decorate$3([ __metadata$2(\"design:paramtypes\", [PaginationService,\r\n            ChangeDetectorRef])\r\n    ], PaginationControlsDirective);\nPaginationControlsDirective.ɵfac = function PaginationControlsDirective_Factory(t) { return new (t || PaginationControlsDirective)(ɵngcc0.ɵɵdirectiveInject(PaginationService), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef)); };\nPaginationControlsDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: PaginationControlsDirective, selectors: [[\"pagination-template\"], [\"\", \"pagination-template\", \"\"]], inputs: { maxSize: \"maxSize\", id: \"id\" }, outputs: { pageChange: \"pageChange\", pageBoundsCorrection: \"pageBoundsCorrection\" }, exportAs: [\"paginationApi\"], features: [ɵngcc0.ɵɵNgOnChangesFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PaginationControlsDirective, [{\n        type: Directive,\n        args: [{\n                selector: 'pagination-template,[pagination-template]',\n                exportAs: 'paginationApi'\n            }]\n    }], function () { return [{ type: PaginationService }, { type: ɵngcc0.ChangeDetectorRef }]; }, { maxSize: [{\n            type: Input\n        }], pageChange: [{\n            type: Output\n        }], pageBoundsCorrection: [{\n            type: Output\n        }], id: [{\n            type: Input\n        }] }); })();\r\n    return PaginationControlsDirective;\r\n}());\n\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar NgxPaginationModule = /** @class */ (function () {\r\n    function NgxPaginationModule() {\r\n    }\nNgxPaginationModule.ɵfac = function NgxPaginationModule_Factory(t) { return new (t || NgxPaginationModule)(); };\nNgxPaginationModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: NgxPaginationModule });\nNgxPaginationModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ providers: [PaginationService], imports: [CommonModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgxPaginationModule, [{\n        type: NgModule,\n        args: [{\n                imports: [CommonModule],\n                declarations: [\n                    PaginatePipe,\n                    PaginationControlsComponent,\n                    PaginationControlsDirective\n                ],\n                providers: [PaginationService],\n                exports: [PaginatePipe, PaginationControlsComponent, PaginationControlsDirective]\n            }]\n    }], function () { return []; }, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(NgxPaginationModule, { declarations: function () { return [PaginatePipe, PaginationControlsComponent, PaginationControlsDirective]; }, imports: function () { return [CommonModule]; }, exports: function () { return [PaginatePipe, PaginationControlsComponent, PaginationControlsDirective]; } }); })();\r\n    return NgxPaginationModule;\r\n}());\n\n/**\r\n * Generated bundle index. Do not edit.\r\n */\n\nexport { DEFAULT_STYLES as ɵb, DEFAULT_TEMPLATE as ɵa, NgxPaginationModule, PaginationService, PaginationControlsComponent, PaginationControlsDirective, PaginatePipe };\n\n"],"names":["ChangeDetectionStrategy","ChangeDetectorRef","Component","Directive","EventEmitter","Input","NgModule","Output","Pipe","ViewEncapsulation","CommonModule","ɵngcc0","ɵngcc1","PaginationControlsComponent_ul_2_li_1_a_1_Template","rf","ctx","_r8","ɵɵgetCurrentView","ɵɵelementStart","ɵɵlistener","PaginationControlsComponent_ul_2_li_1_a_1_Template_a_keyup_enter_0_listener","ɵɵrestoreView","ɵɵnextContext","_r0","ɵɵreference","ɵɵresetView","previous","PaginationControlsComponent_ul_2_li_1_a_1_Template_a_click_0_listener","ɵɵtext","ɵɵelementEnd","ctx_r5","ɵɵattribute","previousLabel","screenReaderPageLabel","ɵɵadvance","ɵɵtextInterpolate1","ɵɵtextInterpolate","PaginationControlsComponent_ul_2_li_1_span_2_Template","ctx_r6","PaginationControlsComponent_ul_2_li_1_Template","ɵɵtemplate","ɵɵclassProp","isFirstPage","ɵɵproperty","getCurrent","PaginationControlsComponent_ul_2_li_4_a_1_Template","_r15","PaginationControlsComponent_ul_2_li_4_a_1_Template_a_keyup_enter_0_listener","page_r10","$implicit","setCurrent","value","PaginationControlsComponent_ul_2_li_4_a_1_Template_a_click_0_listener","ɵɵpipe","ctx_r11","label","ɵɵpipeBind2","PaginationControlsComponent_ul_2_li_4_ng_container_2_Template","ɵɵelementContainerStart","ɵɵelementContainerEnd","ctx_r12","screenReaderCurrentLabel","PaginationControlsComponent_ul_2_li_4_Template","PaginationControlsComponent_ul_2_li_5_a_1_Template","_r23","PaginationControlsComponent_ul_2_li_5_a_1_Template_a_keyup_enter_0_listener","next","PaginationControlsComponent_ul_2_li_5_a_1_Template_a_click_0_listener","ctx_r20","nextLabel","PaginationControlsComponent_ul_2_li_5_span_2_Template","ctx_r21","PaginationControlsComponent_ul_2_li_5_Template","isLastPage","PaginationControlsComponent_ul_2_Template","ctx_r1","responsive","screenReaderPaginationLabel","directionLinks","ɵɵtextInterpolate2","getLastPage","pages","trackByIndex","PaginationService","change","instances","DEFAULT_ID","prototype","defaultId","register","instance","id","updateInstance","changed","prop","getCurrentPage","currentPage","setCurrentPage","page","maxPage","Math","ceil","totalItems","itemsPerPage","emit","setTotalItems","setItemsPerPage","getInstance","clone","obj","target","i","hasOwnProperty","ɵfac","PaginationService_Factory","t","ɵprov","ɵɵdefineInjectable","token","factory","__decorate$1","undefined","__decorate","decorators","key","desc","c","arguments","length","r","Object","getOwnPropertyDescriptor","d","Reflect","decorate","defineProperty","__metadata","k","v","metadata","LARGE_NUMBER","Number","MAX_SAFE_INTEGER","PaginatePipe","service","state","transform","collection","args","Array","_id","slice","serverSideMode","createInstance","start","end","perPage","emitChange","isIdentical","stateIsIdentical","saveState","config","checkConfig","required","missing","filter","Error","join","size","isMetaDataIdentical","every","element","index","PaginatePipe_Factory","ɵɵdirectiveInject","ɵpipe","ɵɵdefinePipe","name","type","pure","ngDevMode","DEFAULT_TEMPLATE","DEFAULT_STYLES","__decorate$2","__metadata$1","coerceToBoolean","input","PaginationControlsComponent","maxSize","pageChange","pageBoundsCorrection","_directionLinks","_autoHide","_responsive","get","set","enumerable","configurable","String","Boolean","PaginationControlsComponent_Factory","ɵcmp","ɵɵdefineComponent","selectors","inputs","autoHide","outputs","decls","vars","consts","template","PaginationControlsComponent_Template","PaginationControlsComponent_Template_pagination_template_pageChange_0_listener","$event","PaginationControlsComponent_Template_pagination_template_pageBoundsCorrection_0_listener","dependencies","NgForOf","NgIf","PaginationControlsDirective","DecimalPipe","styles","encapsulation","changeDetection","__decorate$3","__metadata$2","changeDetectorRef","_this","changeSub","subscribe","updatePageLinks","markForCheck","detectChanges","ngOnInit","ngOnChanges","changes","ngOnDestroy","unsubscribe","checkValidId","inst","getTotalItems","console","warn","correctedCurrentPage","outOfBoundCorrection","setTimeout","createPageArray","totalPages","paginationRange","max","halfWay","isStart","isEnd","isMiddle","ellipsesNeeded","pageNumber","calculatePageNumber","openingEllipsesNeeded","closingEllipsesNeeded","push","PaginationControlsDirective_Factory","ɵdir","ɵɵdefineDirective","exportAs","features","ɵɵNgOnChangesFeature","NgxPaginationModule","NgxPaginationModule_Factory","ɵmod","ɵɵdefineNgModule","ɵinj","ɵɵdefineInjector","providers","imports","ngJitMode","ɵɵsetNgModuleScope","declarations","exports","ɵb","ɵa"],"sourceRoot":"webpack:///"}