@metadev/lux 0.27.0 → 0.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +1 -1
- package/esm2022/lib/autocomplete/autocomplete.component.mjs +488 -488
- package/esm2022/lib/autocomplete-list/autocomplete-list.component.mjs +259 -259
- package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +78 -78
- package/esm2022/lib/checkbox/checkbox.component.mjs +156 -156
- package/esm2022/lib/datasource.mjs +1 -1
- package/esm2022/lib/datetime/datetime.component.mjs +312 -312
- package/esm2022/lib/filter/filter.component.mjs +158 -158
- package/esm2022/lib/geolocation/geolocation.component.mjs +423 -423
- package/esm2022/lib/geolocation/geolocation.service.mjs +123 -123
- package/esm2022/lib/geolocation/openlayer-loader.service.mjs +62 -62
- package/esm2022/lib/helperFns.mjs +118 -118
- package/esm2022/lib/input/input.component.mjs +469 -469
- package/esm2022/lib/input/regexp.service.mjs +195 -195
- package/esm2022/lib/lang.mjs +9 -9
- package/esm2022/lib/lux.module.mjs +118 -118
- package/esm2022/lib/map/geopoint.mjs +1 -1
- package/esm2022/lib/map/map.component.mjs +275 -275
- package/esm2022/lib/modal/modal-backdrop.mjs +24 -24
- package/esm2022/lib/modal/modal-config.mjs +11 -11
- package/esm2022/lib/modal/modal-dismiss-reasons.mjs +5 -5
- package/esm2022/lib/modal/modal-ref.mjs +101 -101
- package/esm2022/lib/modal/modal-stack.mjs +182 -182
- package/esm2022/lib/modal/modal-window.mjs +118 -118
- package/esm2022/lib/modal/modal.service.mjs +27 -27
- package/esm2022/lib/modal/util.mjs +82 -82
- package/esm2022/lib/pagination/pagination.component.mjs +144 -144
- package/esm2022/lib/pagination/pagination.mjs +1 -1
- package/esm2022/lib/radiogroup/radiogroup.component.mjs +129 -129
- package/esm2022/lib/select/select.component.mjs +148 -148
- package/esm2022/lib/tooltip/placement.mjs +7 -7
- package/esm2022/lib/tooltip/tooltip-context.mjs +1 -1
- package/esm2022/lib/tooltip/tooltip.component.mjs +21 -21
- package/esm2022/lib/tooltip/tooltip.directive.mjs +69 -69
- package/esm2022/lib/tooltip/tooltip.service.mjs +137 -137
- package/esm2022/lib/tooltip/tooltop-content.mjs +8 -8
- package/esm2022/lib/voice-recognition/voice-recognition.directive.mjs +79 -79
- package/esm2022/lib/window/window.service.mjs +46 -46
- package/esm2022/metadev-lux.mjs +4 -4
- package/esm2022/public-api.mjs +20 -20
- package/fesm2022/metadev-lux.mjs +4372 -4372
- package/fesm2022/metadev-lux.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/autocomplete/autocomplete.component.d.ts +81 -81
- package/lib/autocomplete-list/autocomplete-list.component.d.ts +65 -65
- package/lib/breadcrumb/breadcrumb.component.d.ts +22 -22
- package/lib/checkbox/checkbox.component.d.ts +47 -47
- package/lib/datasource.d.ts +13 -13
- package/lib/datetime/datetime.component.d.ts +69 -69
- package/lib/filter/filter.component.d.ts +51 -51
- package/lib/geolocation/geolocation.component.d.ts +123 -123
- package/lib/geolocation/geolocation.service.d.ts +32 -32
- package/lib/geolocation/openlayer-loader.service.d.ts +7 -7
- package/lib/helperFns.d.ts +15 -15
- package/lib/input/input.component.d.ts +108 -108
- package/lib/input/regexp.service.d.ts +15 -15
- package/lib/lang.d.ts +2 -2
- package/lib/lux.module.d.ts +27 -27
- package/lib/map/geopoint.d.ts +7 -7
- package/lib/map/map.component.d.ts +39 -39
- package/lib/modal/modal-backdrop.d.ts +8 -8
- package/lib/modal/modal-config.d.ts +14 -14
- package/lib/modal/modal-dismiss-reasons.d.ts +4 -4
- package/lib/modal/modal-ref.d.ts +41 -41
- package/lib/modal/modal-stack.d.ts +31 -31
- package/lib/modal/modal-window.d.ts +28 -28
- package/lib/modal/modal.service.d.ts +19 -19
- package/lib/modal/util.d.ts +40 -40
- package/lib/pagination/pagination.component.d.ts +52 -52
- package/lib/pagination/pagination.d.ts +10 -10
- package/lib/radiogroup/radiogroup.component.d.ts +37 -37
- package/lib/select/select.component.d.ts +38 -38
- package/lib/tooltip/placement.d.ts +7 -7
- package/lib/tooltip/tooltip-context.d.ts +3 -3
- package/lib/tooltip/tooltip.component.d.ts +11 -11
- package/lib/tooltip/tooltip.directive.d.ts +27 -27
- package/lib/tooltip/tooltip.service.d.ts +20 -20
- package/lib/tooltip/tooltop-content.d.ts +6 -6
- package/lib/voice-recognition/voice-recognition.directive.d.ts +16 -16
- package/lib/window/window.service.d.ts +11 -11
- package/package.json +3 -4
- package/public-api.d.ts +18 -18
|
@@ -1,144 +1,144 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
-
import { languageDetector } from '../lang';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "../tooltip/tooltip.directive";
|
|
6
|
-
export class PaginationComponent {
|
|
7
|
-
literals = {
|
|
8
|
-
en: {
|
|
9
|
-
first: 'First',
|
|
10
|
-
previous: 'Previous',
|
|
11
|
-
next: 'Next',
|
|
12
|
-
last: 'Last'
|
|
13
|
-
},
|
|
14
|
-
es: {
|
|
15
|
-
first: 'Primero',
|
|
16
|
-
previous: 'Anterior',
|
|
17
|
-
next: 'Siguiente',
|
|
18
|
-
last: 'Último'
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
first;
|
|
22
|
-
previous;
|
|
23
|
-
next;
|
|
24
|
-
last;
|
|
25
|
-
showPagination = false;
|
|
26
|
-
hidePrevious = false;
|
|
27
|
-
lastPage = false;
|
|
28
|
-
totalPages = 0;
|
|
29
|
-
displayNextEllipsis = false;
|
|
30
|
-
displayPreviousEllipsis = false;
|
|
31
|
-
pages = [];
|
|
32
|
-
goToPage = new EventEmitter();
|
|
33
|
-
pageSizeChange = new EventEmitter();
|
|
34
|
-
/** Current page, total items and items to show per page */
|
|
35
|
-
paginationInfoValue;
|
|
36
|
-
_lang;
|
|
37
|
-
set lang(l) {
|
|
38
|
-
if (l === this._lang) {
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
if (Object.keys(this.literals).includes(l)) {
|
|
42
|
-
this._lang = l;
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
this._lang = 'en';
|
|
46
|
-
}
|
|
47
|
-
this.loadLanguage();
|
|
48
|
-
}
|
|
49
|
-
get lang() {
|
|
50
|
-
return this._lang;
|
|
51
|
-
}
|
|
52
|
-
set paginationInfo(value) {
|
|
53
|
-
this.paginationInfoValue = value;
|
|
54
|
-
this.syncState();
|
|
55
|
-
}
|
|
56
|
-
get paginationInfo() {
|
|
57
|
-
return this.paginationInfoValue;
|
|
58
|
-
}
|
|
59
|
-
constructor() {
|
|
60
|
-
this.lang = languageDetector();
|
|
61
|
-
}
|
|
62
|
-
ngOnInit() {
|
|
63
|
-
this.calculatePages();
|
|
64
|
-
}
|
|
65
|
-
pageSizeChanged(pageSize) {
|
|
66
|
-
this.paginationInfo.pageSize = pageSize;
|
|
67
|
-
this.syncState();
|
|
68
|
-
this.pageSizeChange.emit(pageSize);
|
|
69
|
-
}
|
|
70
|
-
onPage(n) {
|
|
71
|
-
this.goToPage.emit(n);
|
|
72
|
-
}
|
|
73
|
-
onFirst() {
|
|
74
|
-
this.goToPage.emit(0);
|
|
75
|
-
}
|
|
76
|
-
onLast() {
|
|
77
|
-
this.goToPage.emit(this.totalPages - 1);
|
|
78
|
-
}
|
|
79
|
-
onNext() {
|
|
80
|
-
const page = (this.paginationInfo.page || 0) + 1;
|
|
81
|
-
this.goToPage.emit(page);
|
|
82
|
-
}
|
|
83
|
-
onPrevious() {
|
|
84
|
-
const page = (this.paginationInfo.page || 0) - 1;
|
|
85
|
-
this.goToPage.emit(page);
|
|
86
|
-
}
|
|
87
|
-
syncState() {
|
|
88
|
-
this.pages = this.calculatePages();
|
|
89
|
-
this.showPagination =
|
|
90
|
-
this.paginationInfo.total > this.paginationInfo.pageSize;
|
|
91
|
-
this.hidePrevious = this.paginationInfo.page === 0;
|
|
92
|
-
this.lastPage =
|
|
93
|
-
this.paginationInfo.pageSize * (this.paginationInfo.page + 1) >=
|
|
94
|
-
this.paginationInfo.total;
|
|
95
|
-
this.totalPages =
|
|
96
|
-
Math.ceil(this.paginationInfo.total / this.paginationInfo.pageSize) || 0;
|
|
97
|
-
this.displayNextEllipsis = !this.pages.includes(this.totalPages - 1);
|
|
98
|
-
this.displayPreviousEllipsis = !this.pages.includes(0);
|
|
99
|
-
}
|
|
100
|
-
calculatePages() {
|
|
101
|
-
const totalPages = Math.ceil(this.paginationInfo.total / this.paginationInfo.pageSize) - 1; // 0-index
|
|
102
|
-
const p = this.paginationInfo.page || 0;
|
|
103
|
-
const pagesToShow = this.paginationInfo.pagesToShow;
|
|
104
|
-
const pages = [];
|
|
105
|
-
pages.push(p);
|
|
106
|
-
const times = pagesToShow - 1;
|
|
107
|
-
for (let i = 0; i < times; i++) {
|
|
108
|
-
if (pages.length < pagesToShow) {
|
|
109
|
-
if (Math.min(...pages) > 0) {
|
|
110
|
-
pages.unshift(Math.min(...pages) - 1);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
if (pages.length < pagesToShow) {
|
|
114
|
-
if (Math.max(...pages) < totalPages) {
|
|
115
|
-
pages.push(Math.max(...pages) + 1);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
pages.sort((a, b) => a - b);
|
|
120
|
-
return pages;
|
|
121
|
-
}
|
|
122
|
-
loadLanguage() {
|
|
123
|
-
const l = this.literals[this.lang];
|
|
124
|
-
this.first = l.first;
|
|
125
|
-
this.previous = l.previous;
|
|
126
|
-
this.next = l.next;
|
|
127
|
-
this.last = l.last;
|
|
128
|
-
}
|
|
129
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
130
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
131
|
-
}
|
|
132
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
133
|
-
type: Component,
|
|
134
|
-
args: [{ selector: 'lux-pagination', template: "<div class=\"lux-pagination\" *ngIf=\"showPagination\">\n <ng-container *ngIf=\"!hidePrevious\">\n <a\n luxTooltip\n [content]=\"first\"\n placement=\"top\"\n delay=\"500\"\n (click)=\"onFirst()\"\n [ngClass]=\"{\n enabledFirstLast: !hidePrevious\n }\"\n class=\"button-pagination icon arrow-left-end\"\n ></a>\n <a\n luxTooltip\n [content]=\"previous\"\n placement=\"top\"\n delay=\"500\"\n (click)=\"onPrevious()\"\n [ngClass]=\"{\n enabledFirstLast: !hidePrevious\n }\"\n class=\"button-pagination icon arrow-left\"\n ></a>\n </ng-container>\n\n <span class=\"ellipsis\" *ngIf=\"displayPreviousEllipsis\">...</span>\n\n <ng-container *ngFor=\"let pageNum of pages\">\n <a\n placement=\"top\"\n delay=\"500\"\n [ngClass]=\"{\n disabled: pageNum === paginationInfo.page,\n enabled: pageNum !== paginationInfo.page\n }\"\n class=\"button-pagination\"\n (click)=\"onPage(pageNum)\"\n >{{ pageNum + 1 }}</a\n >\n </ng-container>\n\n <span class=\"ellipsis\" *ngIf=\"displayNextEllipsis\">...</span>\n\n <ng-container *ngIf=\"!lastPage\">\n <a\n luxTooltip\n [content]=\"next\"\n placement=\"top\"\n delay=\"500\"\n (click)=\"onNext()\"\n [ngClass]=\"{\n enabledFirstLast: !lastPage\n }\"\n class=\"button-pagination icon arrow-right\"\n ></a>\n <a\n luxTooltip\n [content]=\"last\"\n placement=\"top\"\n delay=\"500\"\n (click)=\"onLast()\"\n [ngClass]=\"{\n enabledFirstLast: !lastPage\n }\"\n class=\"button-pagination icon arrow-right-end\"\n ></a>\n </ng-container>\n</div>\n", styles: [":focus{z-index:1}input,select,textarea{border:var(--lux-input-border, 1px solid) var(--lux-input-border-color, #495057);margin:var(--lux-input-margin, 0rem);padding:var(--lux-input-padding, 0rem .5rem)}.alert{padding:.2rem 2rem;background:var(--lux-alert-background, #fe2e2e);color:var(--lux-alert-color, white);font-family:Consolas,monospace;width:45%;margin-right:1rem;display:inline-block}.symbol{display:inline-block;align-items:baseline;padding:0rem .5rem;margin-bottom:0;font-weight:400;color:var(--lux-symbol-color, default);text-align:center;white-space:nowrap;background:var(--lux-symbol-background, default);font-size:var(--lux-symbol-font-size, 1rem)}.bordered,.symbol{border:var(--lux-input-border, 1px solid) var(--lux-input-border-color, #495057)}.rounded,.rounded-right,.rounded-middle,.rounded-left{border-radius:var(--lux-border-radius, .25rem)}.rounded-left{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-middle{border-radius:0}.rounded-right{border-top-left-radius:0;border-bottom-left-radius:0}.prefix{border-right:none}.infix{border-left:none;border-right:none}.postfix{border-left:none;display:flex;align-items:center}.monospace{font-family:monospace}.default-font{color:var(--lux-font-color, black)}.lux-pagination{display:flex;flex-direction:row;margin:2% 0;width:100%;background
|
|
135
|
-
}], ctorParameters:
|
|
136
|
-
type: Output
|
|
137
|
-
}], pageSizeChange: [{
|
|
138
|
-
type: Output
|
|
139
|
-
}], lang: [{
|
|
140
|
-
type: Input
|
|
141
|
-
}], paginationInfo: [{
|
|
142
|
-
type: Input
|
|
143
|
-
}] } });
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sdXgvc3JjL2xpYi9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbHV4L3NyYy9saWIvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sU0FBUyxDQUFDOzs7O0FBUTNDLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsUUFBUSxHQUFHO1FBQ1QsRUFBRSxFQUFFO1lBQ0YsS0FBSyxFQUFFLE9BQU87WUFDZCxRQUFRLEVBQUUsVUFBVTtZQUNwQixJQUFJLEVBQUUsTUFBTTtZQUNaLElBQUksRUFBRSxNQUFNO1NBQ2I7UUFDRCxFQUFFLEVBQUU7WUFDRixLQUFLLEVBQUUsU0FBUztZQUNoQixRQUFRLEVBQUUsVUFBVTtZQUNwQixJQUFJLEVBQUUsV0FBVztZQUNqQixJQUFJLEVBQUUsUUFBUTtTQUNmO0tBQ0YsQ0FBQztJQUVLLEtBQUssQ0FBUztJQUNkLFFBQVEsQ0FBUztJQUNqQixJQUFJLENBQVM7SUFDYixJQUFJLENBQVM7SUFFYixjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDckIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixVQUFVLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBQzVCLHVCQUF1QixHQUFHLEtBQUssQ0FBQztJQUVoQyxLQUFLLEdBQWEsRUFBRSxDQUFDO0lBRWxCLFFBQVEsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBQ3RD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SUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLFdBQVcsRUFBRTtnQkFDOUIsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsVUFBVSxFQUFFO29CQUNuQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztpQkFDcEM7YUFDRjtTQUNGO1FBQ0QsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM1QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTyxZQUFZO1FBQ2xCLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDM0IsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO3VHQTdJVSxtQkFBbUI7MkZBQW5CLG1CQUFtQix1TENUaEMsMHREQXFFQTs7MkZENURhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxnQkFBZ0I7MEVBa0NoQixRQUFRO3NCQUFqQixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBT0gsSUFBSTtzQkFEUCxLQUFLO2dCQWlCRixjQUFjO3NCQURqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBsYW5ndWFnZURldGVjdG9yIH0gZnJvbSAnLi4vbGFuZyc7XHJcbmltcG9ydCB7IFBhZ2luYXRpb25JbmZvIH0gZnJvbSAnLi9wYWdpbmF0aW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbHV4LXBhZ2luYXRpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wYWdpbmF0aW9uLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGxpdGVyYWxzID0ge1xyXG4gICAgZW46IHtcclxuICAgICAgZmlyc3Q6ICdGaXJzdCcsXHJcbiAgICAgIHByZXZpb3VzOiAnUHJldmlvdXMnLFxyXG4gICAgICBuZXh0OiAnTmV4dCcsXHJcbiAgICAgIGxhc3Q6ICdMYXN0J1xyXG4gICAgfSxcclxuICAgIGVzOiB7XHJcbiAgICAgIGZpcnN0OiAnUHJpbWVybycsXHJcbiAgICAgIHByZXZpb3VzOiAnQW50ZXJpb3InLFxyXG4gICAgICBuZXh0OiAnU2lndWllbnRlJyxcclxuICAgICAgbGFzdDogJ8OabHRpbW8nXHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgcHVibGljIGZpcnN0OiBzdHJpbmc7XHJcbiAgcHVibGljIHByZXZpb3VzOiBzdHJpbmc7XHJcbiAgcHVibGljIG5leHQ6IHN0cmluZztcclxuICBwdWJsaWMgbGFzdDogc3RyaW5nO1xyXG5cclxuICBwdWJsaWMgc2hvd1BhZ2luYXRpb24gPSBmYWxzZTtcclxuICBwdWJsaWMgaGlkZVByZXZpb3VzID0gZmFsc2U7XHJcbiAgcHVibGljIGxhc3RQYWdlID0gZmFsc2U7XHJcbiAgcHVibGljIHRvdGFsUGFnZXMgPSAwO1xyXG4gIHB1YmxpYyBkaXNwbGF5TmV4dEVsbGlwc2lzID0gZmFsc2U7XHJcbiAgcHVibGljIGRpc3BsYXlQcmV2aW91c0VsbGlwc2lzID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBwYWdlczogbnVtYmVyW10gPSBbXTtcclxuXHJcbiAgQE91dHB1dCgpIGdvVG9QYWdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgQE91dHB1dCgpIHBhZ2VTaXplQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gIC8qKiBDdXJyZW50IHBhZ2UsIHRvdGFsIGl0ZW1zIGFuZCBpdGVtcyB0byBzaG93IHBlciBwYWdlICovXHJcbiAgcHJpdmF0ZSBwYWdpbmF0aW9uSW5mb1ZhbHVlOiBQYWdpbmF0aW9uSW5mbztcclxuXHJcbiAgcHJpdmF0ZSBfbGFuZzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGxhbmcobDogc3RyaW5nKSB7XHJcbiAgICBpZiAobCA9PT0gdGhpcy5fbGFuZykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoT2JqZWN0LmtleXModGhpcy5saXRlcmFscykuaW5jbHVkZXMobCkpIHtcclxuICAgICAgdGhpcy5fbGFuZyA9IGw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9sYW5nID0gJ2VuJztcclxuICAgIH1cclxuICAgIHRoaXMubG9hZExhbmd1YWdlKCk7XHJcbiAgfVxyXG4gIGdldCBsYW5nKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fbGFuZztcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHBhZ2luYXRpb25JbmZvKHZhbHVlOiBQYWdpbmF0aW9uSW5mbykge1xyXG4gICAgdGhpcy5wYWdpbmF0aW9uSW5mb1ZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLnN5bmNTdGF0ZSgpO1xyXG4gIH1cclxuICBnZXQgcGFnaW5hdGlvbkluZm8oKTogUGFnaW5hdGlvbkluZm8ge1xyXG4gICAgcmV0dXJuIHRoaXMucGFnaW5hdGlvbkluZm9WYWx1ZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5sYW5nID0gbGFuZ3VhZ2VEZXRlY3RvcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhbGN1bGF0ZVBhZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwYWdlU2l6ZUNoYW5nZWQocGFnZVNpemU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5wYWdpbmF0aW9uSW5mby5wYWdlU2l6ZSA9IHBhZ2VTaXplO1xyXG4gICAgdGhpcy5zeW5jU3RhdGUoKTtcclxuICAgIHRoaXMucGFnZVNpemVDaGFuZ2UuZW1pdChwYWdlU2l6ZSk7XHJcbiAgfVxyXG5cclxuICBvblBhZ2UobjogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmdvVG9QYWdlLmVtaXQobik7XHJcbiAgfVxyXG5cclxuICBvbkZpcnN0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5nb1RvUGFnZS5lbWl0KDApO1xyXG4gIH1cclxuXHJcbiAgb25MYXN0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5nb1RvUGFnZS5lbWl0KHRoaXMudG90YWxQYWdlcyAtIDEpO1xyXG4gIH1cclxuICBvbk5leHQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBwYWdlID0gKHRoaXMucGFnaW5hdGlvbkluZm8ucGFnZSB8fCAwKSArIDE7XHJcbiAgICB0aGlzLmdvVG9QYWdlLmVtaXQocGFnZSk7XHJcbiAgfVxyXG4gIG9uUHJldmlvdXMoKTogdm9pZCB7XHJcbiAgICBjb25zdCBwYWdlID0gKHRoaXMucGFnaW5hdGlvbkluZm8ucGFnZSB8fCAwKSAtIDE7XHJcbiAgICB0aGlzLmdvVG9QYWdlLmVtaXQocGFnZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN5bmNTdGF0ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMucGFnZXMgPSB0aGlzLmNhbGN1bGF0ZVBhZ2VzKCk7XHJcblxyXG4gICAgdGhpcy5zaG93UGFnaW5hdGlvbiA9XHJcbiAgICAgIHRoaXMucGFnaW5hdGlvbkluZm8udG90YWwgPiB0aGlzLnBhZ2luYXRpb25JbmZvLnBhZ2VTaXplO1xyXG4gICAgdGhpcy5oaWRlUHJldmlvdXMgPSB0aGlzLnBhZ2luYXRpb25JbmZvLnBhZ2UgPT09IDA7XHJcbiAgICB0aGlzLmxhc3RQYWdlID1cclxuICAgICAgdGhpcy5wYWdpbmF0aW9uSW5mby5wYWdlU2l6ZSAqICh0aGlzLnBhZ2luYXRpb25JbmZvLnBhZ2UgKyAxKSA+PVxyXG4gICAgICB0aGlzLnBhZ2luYXRpb25JbmZvLnRvdGFsO1xyXG4gICAgdGhpcy50b3RhbFBhZ2VzID1cclxuICAgICAgTWF0aC5jZWlsKHRoaXMucGFnaW5hdGlvbkluZm8udG90YWwgLyB0aGlzLnBhZ2luYXRpb25JbmZvLnBhZ2VTaXplKSB8fCAwO1xyXG4gICAgdGhpcy5kaXNwbGF5TmV4dEVsbGlwc2lzID0gIXRoaXMucGFnZXMuaW5jbHVkZXModGhpcy50b3RhbFBhZ2VzIC0gMSk7XHJcbiAgICB0aGlzLmRpc3BsYXlQcmV2aW91c0VsbGlwc2lzID0gIXRoaXMucGFnZXMuaW5jbHVkZXMoMCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNhbGN1bGF0ZVBhZ2VzKCk6IG51bWJlcltdIHtcclxuICAgIGNvbnN0IHRvdGFsUGFnZXMgPVxyXG4gICAgICBNYXRoLmNlaWwodGhpcy5wYWdpbmF0aW9uSW5mby50b3RhbCAvIHRoaXMucGFnaW5hdGlvbkluZm8ucGFnZVNpemUpIC0gMTsgLy8gMC1pbmRleFxyXG4gICAgY29uc3QgcCA9IHRoaXMucGFnaW5hdGlvbkluZm8ucGFnZSB8fCAwO1xyXG4gICAgY29uc3QgcGFnZXNUb1Nob3cgPSB0aGlzLnBhZ2luYXRpb25JbmZvLnBhZ2VzVG9TaG93O1xyXG4gICAgY29uc3QgcGFnZXM6IG51bWJlcltdID0gW107XHJcbiAgICBwYWdlcy5wdXNoKHApO1xyXG4gICAgY29uc3QgdGltZXMgPSBwYWdlc1RvU2hvdyAtIDE7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRpbWVzOyBpKyspIHtcclxuICAgICAgaWYgKHBhZ2VzLmxlbmd0aCA8IHBhZ2VzVG9TaG93KSB7XHJcbiAgICAgICAgaWYgKE1hdGgubWluKC4uLnBhZ2VzKSA+IDApIHtcclxuICAgICAgICAgIHBhZ2VzLnVuc2hpZnQoTWF0aC5taW4oLi4ucGFnZXMpIC0gMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChwYWdlcy5sZW5ndGggPCBwYWdlc1RvU2hvdykge1xyXG4gICAgICAgIGlmIChNYXRoLm1heCguLi5wYWdlcykgPCB0b3RhbFBhZ2VzKSB7XHJcbiAgICAgICAgICBwYWdlcy5wdXNoKE1hdGgubWF4KC4uLnBhZ2VzKSArIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcGFnZXMuc29ydCgoYSwgYikgPT4gYSAtIGIpO1xyXG4gICAgcmV0dXJuIHBhZ2VzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkTGFuZ3VhZ2UoKTogdm9pZCB7XHJcbiAgICBjb25zdCBsID0gdGhpcy5saXRlcmFsc1t0aGlzLmxhbmddO1xyXG4gICAgdGhpcy5maXJzdCA9IGwuZmlyc3Q7XHJcbiAgICB0aGlzLnByZXZpb3VzID0gbC5wcmV2aW91cztcclxuICAgIHRoaXMubmV4dCA9IGwubmV4dDtcclxuICAgIHRoaXMubGFzdCA9IGwubGFzdDtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImx1eC1wYWdpbmF0aW9uXCIgKm5nSWY9XCJzaG93UGFnaW5hdGlvblwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWhpZGVQcmV2aW91c1wiPlxuICAgIDxhXG4gICAgICBsdXhUb29sdGlwXG4gICAgICBbY29udGVudF09XCJmaXJzdFwiXG4gICAgICBwbGFjZW1lbnQ9XCJ0b3BcIlxuICAgICAgZGVsYXk9XCI1MDBcIlxuICAgICAgKGNsaWNrKT1cIm9uRmlyc3QoKVwiXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgIGVuYWJsZWRGaXJzdExhc3Q6ICFoaWRlUHJldmlvdXNcbiAgICAgIH1cIlxuICAgICAgY2xhc3M9XCJidXR0b24tcGFnaW5hdGlvbiBpY29uIGFycm93LWxlZnQtZW5kXCJcbiAgICA+PC9hPlxuICAgIDxhXG4gICAgICBsdXhUb29sdGlwXG4gICAgICBbY29udGVudF09XCJwcmV2aW91c1wiXG4gICAgICBwbGFjZW1lbnQ9XCJ0b3BcIlxuICAgICAgZGVsYXk9XCI1MDBcIlxuICAgICAgKGNsaWNrKT1cIm9uUHJldmlvdXMoKVwiXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgIGVuYWJsZWRGaXJzdExhc3Q6ICFoaWRlUHJldmlvdXNcbiAgICAgIH1cIlxuICAgICAgY2xhc3M9XCJidXR0b24tcGFnaW5hdGlvbiBpY29uIGFycm93LWxlZnRcIlxuICAgID48L2E+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxzcGFuIGNsYXNzPVwiZWxsaXBzaXNcIiAqbmdJZj1cImRpc3BsYXlQcmV2aW91c0VsbGlwc2lzXCI+Li4uPC9zcGFuPlxuXG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHBhZ2VOdW0gb2YgcGFnZXNcIj5cbiAgICA8YVxuICAgICAgcGxhY2VtZW50PVwidG9wXCJcbiAgICAgIGRlbGF5PVwiNTAwXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgZGlzYWJsZWQ6IHBhZ2VOdW0gPT09IHBhZ2luYXRpb25JbmZvLnBhZ2UsXG4gICAgICAgIGVuYWJsZWQ6IHBhZ2VOdW0gIT09IHBhZ2luYXRpb25JbmZvLnBhZ2VcbiAgICAgIH1cIlxuICAgICAgY2xhc3M9XCJidXR0b24tcGFnaW5hdGlvblwiXG4gICAgICAoY2xpY2spPVwib25QYWdlKHBhZ2VOdW0pXCJcbiAgICAgID57eyBwYWdlTnVtICsgMSB9fTwvYVxuICAgID5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPHNwYW4gY2xhc3M9XCJlbGxpcHNpc1wiICpuZ0lmPVwiZGlzcGxheU5leHRFbGxpcHNpc1wiPi4uLjwvc3Bhbj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxhc3RQYWdlXCI+XG4gICAgPGFcbiAgICAgIGx1eFRvb2x0aXBcbiAgICAgIFtjb250ZW50XT1cIm5leHRcIlxuICAgICAgcGxhY2VtZW50PVwidG9wXCJcbiAgICAgIGRlbGF5PVwiNTAwXCJcbiAgICAgIChjbGljayk9XCJvbk5leHQoKVwiXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgIGVuYWJsZWRGaXJzdExhc3Q6ICFsYXN0UGFnZVxuICAgICAgfVwiXG4gICAgICBjbGFzcz1cImJ1dHRvbi1wYWdpbmF0aW9uIGljb24gYXJyb3ctcmlnaHRcIlxuICAgID48L2E+XG4gICAgPGFcbiAgICAgIGx1eFRvb2x0aXBcbiAgICAgIFtjb250ZW50XT1cImxhc3RcIlxuICAgICAgcGxhY2VtZW50PVwidG9wXCJcbiAgICAgIGRlbGF5PVwiNTAwXCJcbiAgICAgIChjbGljayk9XCJvbkxhc3QoKVwiXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgIGVuYWJsZWRGaXJzdExhc3Q6ICFsYXN0UGFnZVxuICAgICAgfVwiXG4gICAgICBjbGFzcz1cImJ1dHRvbi1wYWdpbmF0aW9uIGljb24gYXJyb3ctcmlnaHQtZW5kXCJcbiAgICA+PC9hPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
|
|
1
|
+
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import { languageDetector } from '../lang';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "../tooltip/tooltip.directive";
|
|
6
|
+
export class PaginationComponent {
|
|
7
|
+
literals = {
|
|
8
|
+
en: {
|
|
9
|
+
first: 'First',
|
|
10
|
+
previous: 'Previous',
|
|
11
|
+
next: 'Next',
|
|
12
|
+
last: 'Last'
|
|
13
|
+
},
|
|
14
|
+
es: {
|
|
15
|
+
first: 'Primero',
|
|
16
|
+
previous: 'Anterior',
|
|
17
|
+
next: 'Siguiente',
|
|
18
|
+
last: 'Último'
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
first;
|
|
22
|
+
previous;
|
|
23
|
+
next;
|
|
24
|
+
last;
|
|
25
|
+
showPagination = false;
|
|
26
|
+
hidePrevious = false;
|
|
27
|
+
lastPage = false;
|
|
28
|
+
totalPages = 0;
|
|
29
|
+
displayNextEllipsis = false;
|
|
30
|
+
displayPreviousEllipsis = false;
|
|
31
|
+
pages = [];
|
|
32
|
+
goToPage = new EventEmitter();
|
|
33
|
+
pageSizeChange = new EventEmitter();
|
|
34
|
+
/** Current page, total items and items to show per page */
|
|
35
|
+
paginationInfoValue;
|
|
36
|
+
_lang;
|
|
37
|
+
set lang(l) {
|
|
38
|
+
if (l === this._lang) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
if (Object.keys(this.literals).includes(l)) {
|
|
42
|
+
this._lang = l;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
this._lang = 'en';
|
|
46
|
+
}
|
|
47
|
+
this.loadLanguage();
|
|
48
|
+
}
|
|
49
|
+
get lang() {
|
|
50
|
+
return this._lang;
|
|
51
|
+
}
|
|
52
|
+
set paginationInfo(value) {
|
|
53
|
+
this.paginationInfoValue = value;
|
|
54
|
+
this.syncState();
|
|
55
|
+
}
|
|
56
|
+
get paginationInfo() {
|
|
57
|
+
return this.paginationInfoValue;
|
|
58
|
+
}
|
|
59
|
+
constructor() {
|
|
60
|
+
this.lang = languageDetector();
|
|
61
|
+
}
|
|
62
|
+
ngOnInit() {
|
|
63
|
+
this.calculatePages();
|
|
64
|
+
}
|
|
65
|
+
pageSizeChanged(pageSize) {
|
|
66
|
+
this.paginationInfo.pageSize = pageSize;
|
|
67
|
+
this.syncState();
|
|
68
|
+
this.pageSizeChange.emit(pageSize);
|
|
69
|
+
}
|
|
70
|
+
onPage(n) {
|
|
71
|
+
this.goToPage.emit(n);
|
|
72
|
+
}
|
|
73
|
+
onFirst() {
|
|
74
|
+
this.goToPage.emit(0);
|
|
75
|
+
}
|
|
76
|
+
onLast() {
|
|
77
|
+
this.goToPage.emit(this.totalPages - 1);
|
|
78
|
+
}
|
|
79
|
+
onNext() {
|
|
80
|
+
const page = (this.paginationInfo.page || 0) + 1;
|
|
81
|
+
this.goToPage.emit(page);
|
|
82
|
+
}
|
|
83
|
+
onPrevious() {
|
|
84
|
+
const page = (this.paginationInfo.page || 0) - 1;
|
|
85
|
+
this.goToPage.emit(page);
|
|
86
|
+
}
|
|
87
|
+
syncState() {
|
|
88
|
+
this.pages = this.calculatePages();
|
|
89
|
+
this.showPagination =
|
|
90
|
+
this.paginationInfo.total > this.paginationInfo.pageSize;
|
|
91
|
+
this.hidePrevious = this.paginationInfo.page === 0;
|
|
92
|
+
this.lastPage =
|
|
93
|
+
this.paginationInfo.pageSize * (this.paginationInfo.page + 1) >=
|
|
94
|
+
this.paginationInfo.total;
|
|
95
|
+
this.totalPages =
|
|
96
|
+
Math.ceil(this.paginationInfo.total / this.paginationInfo.pageSize) || 0;
|
|
97
|
+
this.displayNextEllipsis = !this.pages.includes(this.totalPages - 1);
|
|
98
|
+
this.displayPreviousEllipsis = !this.pages.includes(0);
|
|
99
|
+
}
|
|
100
|
+
calculatePages() {
|
|
101
|
+
const totalPages = Math.ceil(this.paginationInfo.total / this.paginationInfo.pageSize) - 1; // 0-index
|
|
102
|
+
const p = this.paginationInfo.page || 0;
|
|
103
|
+
const pagesToShow = this.paginationInfo.pagesToShow;
|
|
104
|
+
const pages = [];
|
|
105
|
+
pages.push(p);
|
|
106
|
+
const times = pagesToShow - 1;
|
|
107
|
+
for (let i = 0; i < times; i++) {
|
|
108
|
+
if (pages.length < pagesToShow) {
|
|
109
|
+
if (Math.min(...pages) > 0) {
|
|
110
|
+
pages.unshift(Math.min(...pages) - 1);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
if (pages.length < pagesToShow) {
|
|
114
|
+
if (Math.max(...pages) < totalPages) {
|
|
115
|
+
pages.push(Math.max(...pages) + 1);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
pages.sort((a, b) => a - b);
|
|
120
|
+
return pages;
|
|
121
|
+
}
|
|
122
|
+
loadLanguage() {
|
|
123
|
+
const l = this.literals[this.lang];
|
|
124
|
+
this.first = l.first;
|
|
125
|
+
this.previous = l.previous;
|
|
126
|
+
this.next = l.next;
|
|
127
|
+
this.last = l.last;
|
|
128
|
+
}
|
|
129
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: PaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
130
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: PaginationComponent, selector: "lux-pagination", inputs: { lang: "lang", paginationInfo: "paginationInfo" }, outputs: { goToPage: "goToPage", pageSizeChange: "pageSizeChange" }, ngImport: i0, template: "<div class=\"lux-pagination\" *ngIf=\"showPagination\">\n <ng-container *ngIf=\"!hidePrevious\">\n <a\n luxTooltip\n [content]=\"first\"\n placement=\"top\"\n delay=\"500\"\n (click)=\"onFirst()\"\n [ngClass]=\"{\n enabledFirstLast: !hidePrevious\n }\"\n class=\"button-pagination icon arrow-left-end\"\n ></a>\n <a\n luxTooltip\n [content]=\"previous\"\n placement=\"top\"\n delay=\"500\"\n (click)=\"onPrevious()\"\n [ngClass]=\"{\n enabledFirstLast: !hidePrevious\n }\"\n class=\"button-pagination icon arrow-left\"\n ></a>\n </ng-container>\n\n <span class=\"ellipsis\" *ngIf=\"displayPreviousEllipsis\">...</span>\n\n <ng-container *ngFor=\"let pageNum of pages\">\n <a\n placement=\"top\"\n delay=\"500\"\n [ngClass]=\"{\n disabled: pageNum === paginationInfo.page,\n enabled: pageNum !== paginationInfo.page\n }\"\n class=\"button-pagination\"\n (click)=\"onPage(pageNum)\"\n >{{ pageNum + 1 }}</a\n >\n </ng-container>\n\n <span class=\"ellipsis\" *ngIf=\"displayNextEllipsis\">...</span>\n\n <ng-container *ngIf=\"!lastPage\">\n <a\n luxTooltip\n [content]=\"next\"\n placement=\"top\"\n delay=\"500\"\n (click)=\"onNext()\"\n [ngClass]=\"{\n enabledFirstLast: !lastPage\n }\"\n class=\"button-pagination icon arrow-right\"\n ></a>\n <a\n luxTooltip\n [content]=\"last\"\n placement=\"top\"\n delay=\"500\"\n (click)=\"onLast()\"\n [ngClass]=\"{\n enabledFirstLast: !lastPage\n }\"\n class=\"button-pagination icon arrow-right-end\"\n ></a>\n </ng-container>\n</div>\n", styles: [":focus{z-index:1}input,select,textarea{border:var(--lux-input-border, 1px solid) var(--lux-input-border-color, #495057);margin:var(--lux-input-margin, 0rem);padding:var(--lux-input-padding, 0rem .5rem)}.alert{padding:.2rem 2rem;background:var(--lux-alert-background, #fe2e2e);color:var(--lux-alert-color, white);font-family:Consolas,monospace;width:45%;margin-right:1rem;display:inline-block}.symbol{display:inline-block;align-items:baseline;padding:0rem .5rem;margin-bottom:0;font-weight:400;color:var(--lux-symbol-color, default);text-align:center;white-space:nowrap;background:var(--lux-symbol-background, default);font-size:var(--lux-symbol-font-size, 1rem)}.bordered,.symbol{border:var(--lux-input-border, 1px solid) var(--lux-input-border-color, #495057)}.rounded,.rounded-right,.rounded-middle,.rounded-left{border-radius:var(--lux-border-radius, .25rem)}.rounded-left{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-middle{border-radius:0}.rounded-right{border-top-left-radius:0;border-bottom-left-radius:0}.prefix{border-right:none}.infix{border-left:none;border-right:none}.postfix{border-left:none;display:flex;align-items:center}.monospace{font-family:monospace}.default-font{color:var(--lux-font-color, black)}.lux-pagination{display:flex;flex-direction:row;margin:2% 0;width:100%;background:#fff;align-items:center}.disabled{cursor:not-allowed;border:var(--lux-pagination-disabled-border, 1px solid #325c81);border-radius:var(--lux-pagination-disabled-border-radius, 10%);padding:1%;margin:0 .7%;color:var(--lux-pagination-disabled-color, white);background-color:var(--lux-pagination-disabled-background-color, #325c81);text-decoration:none;pointer-events:none}.enabled{border:var(--lux-pagination-enabled-border, 1px solid rgb(207, 207, 207));border-radius:var(--lux-pagination-enabled-border-radius, 10%);padding:1%;margin:0 .7%;color:var(--lux-pagination-enabled-color, #325c81);width:min-content;cursor:pointer}.enabledFirstLast{border:1px solid rgb(207,207,207);border-radius:10%;padding:1%;color:#325c81;margin:0 .7%;width:min-content;cursor:pointer}.ellipsis{margin:0rem .5rem;padding:0rem;color:#325c81;width:min-content}.button-pagination{width:var(--lux-pagination-button-width, 1em);height:var(--lux-pagination-button-height, 1.2em);font-size:var(--lux-pagination-font-size, 80%);text-align:center}.icon{background-size:1.3em 1.4em;background-position:center;background-repeat:no-repeat}.arrow-right{background-image:url('data:image/svg+xml,<svg width=\"68\" height=\"48\" xmlns=\"http://www.w3.org/2000/svg\">%0A%0A <g>%0A <title>background</title>%0A <rect fill=\"none\" id=\"canvas_background\" height=\"402\" width=\"1082\" y=\"-1\" x=\"-1\"/>%0A </g>%0A <g>%0A <title>Layer 1</title>%0A <polygon fill=\"%23325C81\" id=\"svg_2\" points=\"21.8,45.7 10.4,44.3 30.8,24 10.4,3.7 21.8,2.3 43.5,24 \"/>%0A </g>%0A</svg>%0A');background-position:.4em}.arrow-left{background-image:url('data:image/svg+xml,<svg width=\"68\" height=\"48\" xmlns=\"http://www.w3.org/2000/svg\">%0A%0A <g>%0A <title>background</title>%0A <rect fill=\"none\" id=\"canvas_background\" height=\"402\" width=\"1082\" y=\"-1\" x=\"-1\"/>%0A </g>%0A <g>%0A <title>Layer 1</title>%0A <polygon fill=\"%23325C81\" id=\"svg_2\" points=\"21.8,45.7 10.4,44.3 30.8,24 10.4,3.7 21.8,2.3 43.5,24 \"/>%0A </g>%0A</svg>%0A');transform:rotate(180deg);background-position:.4em}.arrow-right-end{background-image:url('data:image/svg+xml,<svg width=\"68\" height=\"48\" xmlns=\"http://www.w3.org/2000/svg\">%0A%0A <g>%0A <title>background</title>%0A <rect fill=\"none\" id=\"canvas_background\" height=\"402\" width=\"1082\" y=\"-1\" x=\"-1\"/>%0A </g>%0A <g>%0A <title>Layer 1</title>%0A <polygon fill=\"%23325C81\" id=\"svg_2\" points=\"21.8,45.7 10.4,44.3 30.8,24 10.4,3.7 21.8,2.3 43.5,24 \"/>%0A <polygon fill=\"%23325C81\" id=\"svg_3\" points=\"41.8,45.7 30.4,44.3 50.8,24 30.4,3.7 41.8,2.3 63.5,24 \"/>%0A </g>%0A</svg>%0A');background-position:.1em}.arrow-left-end{background-image:url('data:image/svg+xml,<svg width=\"68\" height=\"48\" xmlns=\"http://www.w3.org/2000/svg\">%0A%0A <g>%0A <title>background</title>%0A <rect fill=\"none\" id=\"canvas_background\" height=\"402\" width=\"1082\" y=\"-1\" x=\"-1\"/>%0A </g>%0A <g>%0A <title>Layer 1</title>%0A <polygon fill=\"%23325C81\" id=\"svg_2\" points=\"21.8,45.7 10.4,44.3 30.8,24 10.4,3.7 21.8,2.3 43.5,24 \"/>%0A <polygon fill=\"%23325C81\" id=\"svg_3\" points=\"41.8,45.7 30.4,44.3 50.8,24 30.4,3.7 41.8,2.3 63.5,24 \"/>%0A </g>%0A</svg>%0A');background-position:.1em;transform:rotate(180deg)}@media only screen and (min-width: 300px) and (max-width: 500px){.arrow-right,.arrow-left{background-position:.2em}.arrow-right-end,.arrow-left-end{background-position:0em}}@media only screen and (min-width: 500px) and (max-width: 850px){.arrow-right,.arrow-left{background-position:.3em}.arrow-right-end,.arrow-left-end{background-position:0em}}@media only screen and (min-width: 900px){.arrow-right,.arrow-left{background-position:.2em}.arrow-right-end,.arrow-left-end{background-position:0em}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.LuxTooltipDirective, selector: "[luxTooltip]", inputs: ["luxTooltip", "content", "placement"] }] });
|
|
131
|
+
}
|
|
132
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: PaginationComponent, decorators: [{
|
|
133
|
+
type: Component,
|
|
134
|
+
args: [{ selector: 'lux-pagination', template: "<div class=\"lux-pagination\" *ngIf=\"showPagination\">\n <ng-container *ngIf=\"!hidePrevious\">\n <a\n luxTooltip\n [content]=\"first\"\n placement=\"top\"\n delay=\"500\"\n (click)=\"onFirst()\"\n [ngClass]=\"{\n enabledFirstLast: !hidePrevious\n }\"\n class=\"button-pagination icon arrow-left-end\"\n ></a>\n <a\n luxTooltip\n [content]=\"previous\"\n placement=\"top\"\n delay=\"500\"\n (click)=\"onPrevious()\"\n [ngClass]=\"{\n enabledFirstLast: !hidePrevious\n }\"\n class=\"button-pagination icon arrow-left\"\n ></a>\n </ng-container>\n\n <span class=\"ellipsis\" *ngIf=\"displayPreviousEllipsis\">...</span>\n\n <ng-container *ngFor=\"let pageNum of pages\">\n <a\n placement=\"top\"\n delay=\"500\"\n [ngClass]=\"{\n disabled: pageNum === paginationInfo.page,\n enabled: pageNum !== paginationInfo.page\n }\"\n class=\"button-pagination\"\n (click)=\"onPage(pageNum)\"\n >{{ pageNum + 1 }}</a\n >\n </ng-container>\n\n <span class=\"ellipsis\" *ngIf=\"displayNextEllipsis\">...</span>\n\n <ng-container *ngIf=\"!lastPage\">\n <a\n luxTooltip\n [content]=\"next\"\n placement=\"top\"\n delay=\"500\"\n (click)=\"onNext()\"\n [ngClass]=\"{\n enabledFirstLast: !lastPage\n }\"\n class=\"button-pagination icon arrow-right\"\n ></a>\n <a\n luxTooltip\n [content]=\"last\"\n placement=\"top\"\n delay=\"500\"\n (click)=\"onLast()\"\n [ngClass]=\"{\n enabledFirstLast: !lastPage\n }\"\n class=\"button-pagination icon arrow-right-end\"\n ></a>\n </ng-container>\n</div>\n", styles: [":focus{z-index:1}input,select,textarea{border:var(--lux-input-border, 1px solid) var(--lux-input-border-color, #495057);margin:var(--lux-input-margin, 0rem);padding:var(--lux-input-padding, 0rem .5rem)}.alert{padding:.2rem 2rem;background:var(--lux-alert-background, #fe2e2e);color:var(--lux-alert-color, white);font-family:Consolas,monospace;width:45%;margin-right:1rem;display:inline-block}.symbol{display:inline-block;align-items:baseline;padding:0rem .5rem;margin-bottom:0;font-weight:400;color:var(--lux-symbol-color, default);text-align:center;white-space:nowrap;background:var(--lux-symbol-background, default);font-size:var(--lux-symbol-font-size, 1rem)}.bordered,.symbol{border:var(--lux-input-border, 1px solid) var(--lux-input-border-color, #495057)}.rounded,.rounded-right,.rounded-middle,.rounded-left{border-radius:var(--lux-border-radius, .25rem)}.rounded-left{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-middle{border-radius:0}.rounded-right{border-top-left-radius:0;border-bottom-left-radius:0}.prefix{border-right:none}.infix{border-left:none;border-right:none}.postfix{border-left:none;display:flex;align-items:center}.monospace{font-family:monospace}.default-font{color:var(--lux-font-color, black)}.lux-pagination{display:flex;flex-direction:row;margin:2% 0;width:100%;background:#fff;align-items:center}.disabled{cursor:not-allowed;border:var(--lux-pagination-disabled-border, 1px solid #325c81);border-radius:var(--lux-pagination-disabled-border-radius, 10%);padding:1%;margin:0 .7%;color:var(--lux-pagination-disabled-color, white);background-color:var(--lux-pagination-disabled-background-color, #325c81);text-decoration:none;pointer-events:none}.enabled{border:var(--lux-pagination-enabled-border, 1px solid rgb(207, 207, 207));border-radius:var(--lux-pagination-enabled-border-radius, 10%);padding:1%;margin:0 .7%;color:var(--lux-pagination-enabled-color, #325c81);width:min-content;cursor:pointer}.enabledFirstLast{border:1px solid rgb(207,207,207);border-radius:10%;padding:1%;color:#325c81;margin:0 .7%;width:min-content;cursor:pointer}.ellipsis{margin:0rem .5rem;padding:0rem;color:#325c81;width:min-content}.button-pagination{width:var(--lux-pagination-button-width, 1em);height:var(--lux-pagination-button-height, 1.2em);font-size:var(--lux-pagination-font-size, 80%);text-align:center}.icon{background-size:1.3em 1.4em;background-position:center;background-repeat:no-repeat}.arrow-right{background-image:url('data:image/svg+xml,<svg width=\"68\" height=\"48\" xmlns=\"http://www.w3.org/2000/svg\">%0A%0A <g>%0A <title>background</title>%0A <rect fill=\"none\" id=\"canvas_background\" height=\"402\" width=\"1082\" y=\"-1\" x=\"-1\"/>%0A </g>%0A <g>%0A <title>Layer 1</title>%0A <polygon fill=\"%23325C81\" id=\"svg_2\" points=\"21.8,45.7 10.4,44.3 30.8,24 10.4,3.7 21.8,2.3 43.5,24 \"/>%0A </g>%0A</svg>%0A');background-position:.4em}.arrow-left{background-image:url('data:image/svg+xml,<svg width=\"68\" height=\"48\" xmlns=\"http://www.w3.org/2000/svg\">%0A%0A <g>%0A <title>background</title>%0A <rect fill=\"none\" id=\"canvas_background\" height=\"402\" width=\"1082\" y=\"-1\" x=\"-1\"/>%0A </g>%0A <g>%0A <title>Layer 1</title>%0A <polygon fill=\"%23325C81\" id=\"svg_2\" points=\"21.8,45.7 10.4,44.3 30.8,24 10.4,3.7 21.8,2.3 43.5,24 \"/>%0A </g>%0A</svg>%0A');transform:rotate(180deg);background-position:.4em}.arrow-right-end{background-image:url('data:image/svg+xml,<svg width=\"68\" height=\"48\" xmlns=\"http://www.w3.org/2000/svg\">%0A%0A <g>%0A <title>background</title>%0A <rect fill=\"none\" id=\"canvas_background\" height=\"402\" width=\"1082\" y=\"-1\" x=\"-1\"/>%0A </g>%0A <g>%0A <title>Layer 1</title>%0A <polygon fill=\"%23325C81\" id=\"svg_2\" points=\"21.8,45.7 10.4,44.3 30.8,24 10.4,3.7 21.8,2.3 43.5,24 \"/>%0A <polygon fill=\"%23325C81\" id=\"svg_3\" points=\"41.8,45.7 30.4,44.3 50.8,24 30.4,3.7 41.8,2.3 63.5,24 \"/>%0A </g>%0A</svg>%0A');background-position:.1em}.arrow-left-end{background-image:url('data:image/svg+xml,<svg width=\"68\" height=\"48\" xmlns=\"http://www.w3.org/2000/svg\">%0A%0A <g>%0A <title>background</title>%0A <rect fill=\"none\" id=\"canvas_background\" height=\"402\" width=\"1082\" y=\"-1\" x=\"-1\"/>%0A </g>%0A <g>%0A <title>Layer 1</title>%0A <polygon fill=\"%23325C81\" id=\"svg_2\" points=\"21.8,45.7 10.4,44.3 30.8,24 10.4,3.7 21.8,2.3 43.5,24 \"/>%0A <polygon fill=\"%23325C81\" id=\"svg_3\" points=\"41.8,45.7 30.4,44.3 50.8,24 30.4,3.7 41.8,2.3 63.5,24 \"/>%0A </g>%0A</svg>%0A');background-position:.1em;transform:rotate(180deg)}@media only screen and (min-width: 300px) and (max-width: 500px){.arrow-right,.arrow-left{background-position:.2em}.arrow-right-end,.arrow-left-end{background-position:0em}}@media only screen and (min-width: 500px) and (max-width: 850px){.arrow-right,.arrow-left{background-position:.3em}.arrow-right-end,.arrow-left-end{background-position:0em}}@media only screen and (min-width: 900px){.arrow-right,.arrow-left{background-position:.2em}.arrow-right-end,.arrow-left-end{background-position:0em}}\n"] }]
|
|
135
|
+
}], ctorParameters: () => [], propDecorators: { goToPage: [{
|
|
136
|
+
type: Output
|
|
137
|
+
}], pageSizeChange: [{
|
|
138
|
+
type: Output
|
|
139
|
+
}], lang: [{
|
|
140
|
+
type: Input
|
|
141
|
+
}], paginationInfo: [{
|
|
142
|
+
type: Input
|
|
143
|
+
}] } });
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sdXgvc3JjL2xpYi9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbHV4L3NyYy9saWIvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sU0FBUyxDQUFDOzs7O0FBUTNDLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsUUFBUSxHQUFHO1FBQ1QsRUFBRSxFQUFFO1lBQ0YsS0FBSyxFQUFFLE9BQU87WUFDZCxRQUFRLEVBQUUsVUFBVTtZQUNwQixJQUFJLEVBQUUsTUFBTTtZQUNaLElBQUksRUFBRSxNQUFNO1NBQ2I7UUFDRCxFQUFFLEVBQUU7WUFDRixLQUFLLEVBQUUsU0FBUztZQUNoQixRQUFRLEVBQUUsVUFBVTtZQUNwQixJQUFJLEVBQUUsV0FBVztZQUNqQixJQUFJLEVBQUUsUUFBUTtTQUNmO0tBQ0YsQ0FBQztJQUVLLEtBQUssQ0FBUztJQUNkLFFBQVEsQ0FBUztJQUNqQixJQUFJLENBQVM7SUFDYixJQUFJLENBQVM7SUFFYixjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDckIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixVQUFVLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBQzVCLHVCQUF1QixHQUFHLEtBQUssQ0FBQztJQUVoQyxLQUFLLEdBQWEsRUFBRSxDQUFDO0lBRWxCLFFBQVEsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBQ3RD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RW1pdHRlciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGxhbmd1YWdlRGV0ZWN0b3IgfSBmcm9tICcuLi9sYW5nJztcclxuaW1wb3J0IHsgUGFnaW5hdGlvbkluZm8gfSBmcm9tICcuL3BhZ2luYXRpb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsdXgtcGFnaW5hdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3BhZ2luYXRpb24uY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFnaW5hdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgbGl0ZXJhbHMgPSB7XHJcbiAgICBlbjoge1xyXG4gICAgICBmaXJzdDogJ0ZpcnN0JyxcclxuICAgICAgcHJldmlvdXM6ICdQcmV2aW91cycsXHJcbiAgICAgIG5leHQ6ICdOZXh0JyxcclxuICAgICAgbGFzdDogJ0xhc3QnXHJcbiAgICB9LFxyXG4gICAgZXM6IHtcclxuICAgICAgZmlyc3Q6ICdQcmltZXJvJyxcclxuICAgICAgcHJldmlvdXM6ICdBbnRlcmlvcicsXHJcbiAgICAgIG5leHQ6ICdTaWd1aWVudGUnLFxyXG4gICAgICBsYXN0OiAnw5psdGltbydcclxuICAgIH1cclxuICB9O1xyXG5cclxuICBwdWJsaWMgZmlyc3Q6IHN0cmluZztcclxuICBwdWJsaWMgcHJldmlvdXM6IHN0cmluZztcclxuICBwdWJsaWMgbmV4dDogc3RyaW5nO1xyXG4gIHB1YmxpYyBsYXN0OiBzdHJpbmc7XHJcblxyXG4gIHB1YmxpYyBzaG93UGFnaW5hdGlvbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBoaWRlUHJldmlvdXMgPSBmYWxzZTtcclxuICBwdWJsaWMgbGFzdFBhZ2UgPSBmYWxzZTtcclxuICBwdWJsaWMgdG90YWxQYWdlcyA9IDA7XHJcbiAgcHVibGljIGRpc3BsYXlOZXh0RWxsaXBzaXMgPSBmYWxzZTtcclxuICBwdWJsaWMgZGlzcGxheVByZXZpb3VzRWxsaXBzaXMgPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIHBhZ2VzOiBudW1iZXJbXSA9IFtdO1xyXG5cclxuICBAT3V0cHV0KCkgZ29Ub1BhZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICBAT3V0cHV0KCkgcGFnZVNpemVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgLyoqIEN1cnJlbnQgcGFnZSwgdG90YWwgaXRlbXMgYW5kIGl0ZW1zIHRvIHNob3cgcGVyIHBhZ2UgKi9cclxuICBwcml2YXRlIHBhZ2luYXRpb25JbmZvVmFsdWU6IFBhZ2luYXRpb25JbmZvO1xyXG5cclxuICBwcml2YXRlIF9sYW5nOiBzdHJpbmc7XHJcbiAgQElucHV0KClcclxuICBzZXQgbGFuZyhsOiBzdHJpbmcpIHtcclxuICAgIGlmIChsID09PSB0aGlzLl9sYW5nKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLmxpdGVyYWxzKS5pbmNsdWRlcyhsKSkge1xyXG4gICAgICB0aGlzLl9sYW5nID0gbDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2xhbmcgPSAnZW4nO1xyXG4gICAgfVxyXG4gICAgdGhpcy5sb2FkTGFuZ3VhZ2UoKTtcclxuICB9XHJcbiAgZ2V0IGxhbmcoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9sYW5nO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgcGFnaW5hdGlvbkluZm8odmFsdWU6IFBhZ2luYXRpb25JbmZvKSB7XHJcbiAgICB0aGlzLnBhZ2luYXRpb25JbmZvVmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuc3luY1N0YXRlKCk7XHJcbiAgfVxyXG4gIGdldCBwYWdpbmF0aW9uSW5mbygpOiBQYWdpbmF0aW9uSW5mbyB7XHJcbiAgICByZXR1cm4gdGhpcy5wYWdpbmF0aW9uSW5mb1ZhbHVlO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLmxhbmcgPSBsYW5ndWFnZURldGVjdG9yKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2FsY3VsYXRlUGFnZXMoKTtcclxuICB9XHJcblxyXG4gIHBhZ2VTaXplQ2hhbmdlZChwYWdlU2l6ZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnBhZ2luYXRpb25JbmZvLnBhZ2VTaXplID0gcGFnZVNpemU7XHJcbiAgICB0aGlzLnN5bmNTdGF0ZSgpO1xyXG4gICAgdGhpcy5wYWdlU2l6ZUNoYW5nZS5lbWl0KHBhZ2VTaXplKTtcclxuICB9XHJcblxyXG4gIG9uUGFnZShuOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuZ29Ub1BhZ2UuZW1pdChuKTtcclxuICB9XHJcblxyXG4gIG9uRmlyc3QoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdvVG9QYWdlLmVtaXQoMCk7XHJcbiAgfVxyXG5cclxuICBvbkxhc3QoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdvVG9QYWdlLmVtaXQodGhpcy50b3RhbFBhZ2VzIC0gMSk7XHJcbiAgfVxyXG4gIG9uTmV4dCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IHBhZ2UgPSAodGhpcy5wYWdpbmF0aW9uSW5mby5wYWdlIHx8IDApICsgMTtcclxuICAgIHRoaXMuZ29Ub1BhZ2UuZW1pdChwYWdlKTtcclxuICB9XHJcbiAgb25QcmV2aW91cygpOiB2b2lkIHtcclxuICAgIGNvbnN0IHBhZ2UgPSAodGhpcy5wYWdpbmF0aW9uSW5mby5wYWdlIHx8IDApIC0gMTtcclxuICAgIHRoaXMuZ29Ub1BhZ2UuZW1pdChwYWdlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3luY1N0YXRlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5wYWdlcyA9IHRoaXMuY2FsY3VsYXRlUGFnZXMoKTtcclxuXHJcbiAgICB0aGlzLnNob3dQYWdpbmF0aW9uID1cclxuICAgICAgdGhpcy5wYWdpbmF0aW9uSW5mby50b3RhbCA+IHRoaXMucGFnaW5hdGlvbkluZm8ucGFnZVNpemU7XHJcbiAgICB0aGlzLmhpZGVQcmV2aW91cyA9IHRoaXMucGFnaW5hdGlvbkluZm8ucGFnZSA9PT0gMDtcclxuICAgIHRoaXMubGFzdFBhZ2UgPVxyXG4gICAgICB0aGlzLnBhZ2luYXRpb25JbmZvLnBhZ2VTaXplICogKHRoaXMucGFnaW5hdGlvbkluZm8ucGFnZSArIDEpID49XHJcbiAgICAgIHRoaXMucGFnaW5hdGlvbkluZm8udG90YWw7XHJcbiAgICB0aGlzLnRvdGFsUGFnZXMgPVxyXG4gICAgICBNYXRoLmNlaWwodGhpcy5wYWdpbmF0aW9uSW5mby50b3RhbCAvIHRoaXMucGFnaW5hdGlvbkluZm8ucGFnZVNpemUpIHx8IDA7XHJcbiAgICB0aGlzLmRpc3BsYXlOZXh0RWxsaXBzaXMgPSAhdGhpcy5wYWdlcy5pbmNsdWRlcyh0aGlzLnRvdGFsUGFnZXMgLSAxKTtcclxuICAgIHRoaXMuZGlzcGxheVByZXZpb3VzRWxsaXBzaXMgPSAhdGhpcy5wYWdlcy5pbmNsdWRlcygwKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2FsY3VsYXRlUGFnZXMoKTogbnVtYmVyW10ge1xyXG4gICAgY29uc3QgdG90YWxQYWdlcyA9XHJcbiAgICAgIE1hdGguY2VpbCh0aGlzLnBhZ2luYXRpb25JbmZvLnRvdGFsIC8gdGhpcy5wYWdpbmF0aW9uSW5mby5wYWdlU2l6ZSkgLSAxOyAvLyAwLWluZGV4XHJcbiAgICBjb25zdCBwID0gdGhpcy5wYWdpbmF0aW9uSW5mby5wYWdlIHx8IDA7XHJcbiAgICBjb25zdCBwYWdlc1RvU2hvdyA9IHRoaXMucGFnaW5hdGlvbkluZm8ucGFnZXNUb1Nob3c7XHJcbiAgICBjb25zdCBwYWdlczogbnVtYmVyW10gPSBbXTtcclxuICAgIHBhZ2VzLnB1c2gocCk7XHJcbiAgICBjb25zdCB0aW1lcyA9IHBhZ2VzVG9TaG93IC0gMTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGltZXM7IGkrKykge1xyXG4gICAgICBpZiAocGFnZXMubGVuZ3RoIDwgcGFnZXNUb1Nob3cpIHtcclxuICAgICAgICBpZiAoTWF0aC5taW4oLi4ucGFnZXMpID4gMCkge1xyXG4gICAgICAgICAgcGFnZXMudW5zaGlmdChNYXRoLm1pbiguLi5wYWdlcykgLSAxKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHBhZ2VzLmxlbmd0aCA8IHBhZ2VzVG9TaG93KSB7XHJcbiAgICAgICAgaWYgKE1hdGgubWF4KC4uLnBhZ2VzKSA8IHRvdGFsUGFnZXMpIHtcclxuICAgICAgICAgIHBhZ2VzLnB1c2goTWF0aC5tYXgoLi4ucGFnZXMpICsgMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBwYWdlcy5zb3J0KChhLCBiKSA9PiBhIC0gYik7XHJcbiAgICByZXR1cm4gcGFnZXM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRMYW5ndWFnZSgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGwgPSB0aGlzLmxpdGVyYWxzW3RoaXMubGFuZ107XHJcbiAgICB0aGlzLmZpcnN0ID0gbC5maXJzdDtcclxuICAgIHRoaXMucHJldmlvdXMgPSBsLnByZXZpb3VzO1xyXG4gICAgdGhpcy5uZXh0ID0gbC5uZXh0O1xyXG4gICAgdGhpcy5sYXN0ID0gbC5sYXN0O1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibHV4LXBhZ2luYXRpb25cIiAqbmdJZj1cInNob3dQYWdpbmF0aW9uXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaGlkZVByZXZpb3VzXCI+XG4gICAgPGFcbiAgICAgIGx1eFRvb2x0aXBcbiAgICAgIFtjb250ZW50XT1cImZpcnN0XCJcbiAgICAgIHBsYWNlbWVudD1cInRvcFwiXG4gICAgICBkZWxheT1cIjUwMFwiXG4gICAgICAoY2xpY2spPVwib25GaXJzdCgpXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgZW5hYmxlZEZpcnN0TGFzdDogIWhpZGVQcmV2aW91c1xuICAgICAgfVwiXG4gICAgICBjbGFzcz1cImJ1dHRvbi1wYWdpbmF0aW9uIGljb24gYXJyb3ctbGVmdC1lbmRcIlxuICAgID48L2E+XG4gICAgPGFcbiAgICAgIGx1eFRvb2x0aXBcbiAgICAgIFtjb250ZW50XT1cInByZXZpb3VzXCJcbiAgICAgIHBsYWNlbWVudD1cInRvcFwiXG4gICAgICBkZWxheT1cIjUwMFwiXG4gICAgICAoY2xpY2spPVwib25QcmV2aW91cygpXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgZW5hYmxlZEZpcnN0TGFzdDogIWhpZGVQcmV2aW91c1xuICAgICAgfVwiXG4gICAgICBjbGFzcz1cImJ1dHRvbi1wYWdpbmF0aW9uIGljb24gYXJyb3ctbGVmdFwiXG4gICAgPjwvYT5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPHNwYW4gY2xhc3M9XCJlbGxpcHNpc1wiICpuZ0lmPVwiZGlzcGxheVByZXZpb3VzRWxsaXBzaXNcIj4uLi48L3NwYW4+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcGFnZU51bSBvZiBwYWdlc1wiPlxuICAgIDxhXG4gICAgICBwbGFjZW1lbnQ9XCJ0b3BcIlxuICAgICAgZGVsYXk9XCI1MDBcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICBkaXNhYmxlZDogcGFnZU51bSA9PT0gcGFnaW5hdGlvbkluZm8ucGFnZSxcbiAgICAgICAgZW5hYmxlZDogcGFnZU51bSAhPT0gcGFnaW5hdGlvbkluZm8ucGFnZVxuICAgICAgfVwiXG4gICAgICBjbGFzcz1cImJ1dHRvbi1wYWdpbmF0aW9uXCJcbiAgICAgIChjbGljayk9XCJvblBhZ2UocGFnZU51bSlcIlxuICAgICAgPnt7IHBhZ2VOdW0gKyAxIH19PC9hXG4gICAgPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8c3BhbiBjbGFzcz1cImVsbGlwc2lzXCIgKm5nSWY9XCJkaXNwbGF5TmV4dEVsbGlwc2lzXCI+Li4uPC9zcGFuPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbGFzdFBhZ2VcIj5cbiAgICA8YVxuICAgICAgbHV4VG9vbHRpcFxuICAgICAgW2NvbnRlbnRdPVwibmV4dFwiXG4gICAgICBwbGFjZW1lbnQ9XCJ0b3BcIlxuICAgICAgZGVsYXk9XCI1MDBcIlxuICAgICAgKGNsaWNrKT1cIm9uTmV4dCgpXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgZW5hYmxlZEZpcnN0TGFzdDogIWxhc3RQYWdlXG4gICAgICB9XCJcbiAgICAgIGNsYXNzPVwiYnV0dG9uLXBhZ2luYXRpb24gaWNvbiBhcnJvdy1yaWdodFwiXG4gICAgPjwvYT5cbiAgICA8YVxuICAgICAgbHV4VG9vbHRpcFxuICAgICAgW2NvbnRlbnRdPVwibGFzdFwiXG4gICAgICBwbGFjZW1lbnQ9XCJ0b3BcIlxuICAgICAgZGVsYXk9XCI1MDBcIlxuICAgICAgKGNsaWNrKT1cIm9uTGFzdCgpXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgZW5hYmxlZEZpcnN0TGFzdDogIWxhc3RQYWdlXG4gICAgICB9XCJcbiAgICAgIGNsYXNzPVwiYnV0dG9uLXBhZ2luYXRpb24gaWNvbiBhcnJvdy1yaWdodC1lbmRcIlxuICAgID48L2E+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2x1eC9zcmMvbGliL3BhZ2luYXRpb24vcGFnaW5hdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBQYWdpbmF0aW9uSW5mbyB7XG4gICAgLyoqIEhvdyBtYW55IHRvdGFsIGl0ZW1zIHRoZXJlIGFyZSBpbiBhbGwgcGFnZXMgKi9cbiAgICB0b3RhbDogbnVtYmVyO1xuICAgIC8qKiBUaGUgY3VycmVudCBwYWdlICgwLWluZGV4KSAqL1xuICAgIHBhZ2U6IG51bWJlcjtcbiAgICAvKiogSG93IG1hbnkgaXRlbXMgd2Ugd2FudCB0byBzaG93IHBlciBwYWdlICovXG4gICAgcGFnZVNpemU6IG51bWJlcjtcbiAgICAvKiogSG93IG1hbnkgcGFnZXMgYmV0d2VlbiBuZXh0L3ByZXYgKi9cbiAgICBwYWdlc1RvU2hvdzogbnVtYmVyO1xufVxuIl19
|