@odx/angular 2.9.1 → 2.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -0
- package/components/calendar/lib/calendar.config.d.ts +10 -0
- package/components/calendar/lib/components/calendar-header/calendar-header.component.d.ts +1 -0
- package/components/calendar/lib/directives/calendar-cell.directive.d.ts +2 -0
- package/components/calendar/lib/directives/calendar-view.directive.d.ts +1 -0
- package/components/calendar/lib/pipes/date-label.pipe.d.ts +1 -0
- package/components/paginator/README.md +3 -0
- package/components/paginator/index.d.ts +5 -0
- package/components/paginator/lib/interfaces/index.d.ts +1 -0
- package/components/paginator/lib/interfaces/page-change.interface.d.ts +5 -0
- package/components/paginator/lib/models/get-range-content.model.d.ts +2 -0
- package/components/paginator/lib/models/get-summary-content.model.d.ts +2 -0
- package/components/paginator/lib/models/index.d.ts +2 -0
- package/components/paginator/lib/paginator.component.d.ts +44 -0
- package/components/paginator/lib/paginator.config.d.ts +37 -0
- package/components/paginator/lib/paginator.module.d.ts +7 -0
- package/esm2020/components/calendar/lib/calendar.config.mjs +2 -1
- package/esm2020/components/calendar/lib/directives/calendar-cell.directive.mjs +5 -2
- package/esm2020/components/paginator/index.mjs +6 -0
- package/esm2020/components/paginator/lib/interfaces/index.mjs +2 -0
- package/esm2020/components/paginator/lib/interfaces/page-change.interface.mjs +2 -0
- package/esm2020/components/paginator/lib/models/get-range-content.model.mjs +2 -0
- package/esm2020/components/paginator/lib/models/get-summary-content.model.mjs +2 -0
- package/esm2020/components/paginator/lib/models/index.mjs +3 -0
- package/esm2020/components/paginator/lib/paginator.component.mjs +139 -0
- package/esm2020/components/paginator/lib/paginator.config.mjs +20 -0
- package/esm2020/components/paginator/lib/paginator.module.mjs +17 -0
- package/esm2020/components/paginator/odx-angular-components-paginator.mjs +5 -0
- package/esm2020/components/table/lib/components/header-title/header-title.component.mjs +2 -5
- package/fesm2015/odx-angular-components-calendar.mjs +5 -1
- package/fesm2015/odx-angular-components-calendar.mjs.map +1 -1
- package/fesm2015/odx-angular-components-paginator.mjs +180 -0
- package/fesm2015/odx-angular-components-paginator.mjs.map +1 -0
- package/fesm2015/odx-angular-components-table.mjs +1 -4
- package/fesm2015/odx-angular-components-table.mjs.map +1 -1
- package/fesm2020/odx-angular-components-calendar.mjs +5 -1
- package/fesm2020/odx-angular-components-calendar.mjs.map +1 -1
- package/fesm2020/odx-angular-components-paginator.mjs +177 -0
- package/fesm2020/odx-angular-components-paginator.mjs.map +1 -0
- package/fesm2020/odx-angular-components-table.mjs +1 -4
- package/fesm2020/odx-angular-components-table.mjs.map +1 -1
- package/package.json +12 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,31 @@
|
|
|
1
|
+
# @odx/angular 2.11.0 (2023-08-25)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* resolve comment from code review ([bf87756](https://dev.azure.com/draeger/ODXP/_git/odx-libraries/commit/bf87756d035342d1696dd15d3567f3254b54527c))
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* adapt table component to support pagination ([dd59cd2](https://dev.azure.com/draeger/ODXP/_git/odx-libraries/commit/dd59cd2cce34146910e0763a41e2b951fc999db6))
|
|
12
|
+
* change paginator config usage ([0eb5d50](https://dev.azure.com/draeger/ODXP/_git/odx-libraries/commit/0eb5d50a5d66b0a644c9f76261528cd3a9a6a751))
|
|
13
|
+
* draft commit ([3e8c1b5](https://dev.azure.com/draeger/ODXP/_git/odx-libraries/commit/3e8c1b578a32065107b6a42d9fe82f14bcdfa89a))
|
|
14
|
+
* test paginator ([82cc7bc](https://dev.azure.com/draeger/ODXP/_git/odx-libraries/commit/82cc7bc36212228b0014336017ad5ce627517c1c))
|
|
15
|
+
|
|
16
|
+
# @odx/angular 2.10.0 (2023-08-25)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### Bug Fixes
|
|
20
|
+
|
|
21
|
+
* datepicker unit test ([8fb1d44](https://dev.azure.com/draeger/ODXP/_git/odx-libraries/commit/8fb1d4446fcb3f64cfa42051a6e08265bae3e51e))
|
|
22
|
+
* update isHidden inside onChanges hook ([0664665](https://dev.azure.com/draeger/ODXP/_git/odx-libraries/commit/066466551b8fea8fb4db47649d2330b06f0e4603))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Features
|
|
26
|
+
|
|
27
|
+
* extend config to disaply/hide adjacent days ([f289fcc](https://dev.azure.com/draeger/ODXP/_git/odx-libraries/commit/f289fccd41a3c80d1c6c522b71dc11af61e58e86))
|
|
28
|
+
|
|
1
29
|
## @odx/angular 2.9.1 (2023-08-24)
|
|
2
30
|
|
|
3
31
|
|
|
@@ -41,6 +41,11 @@ export interface CalendarConfig {
|
|
|
41
41
|
* @default 'yyyy'
|
|
42
42
|
*/
|
|
43
43
|
yearA11yLabel: string;
|
|
44
|
+
/**
|
|
45
|
+
* Displays the adjacent days in month calendar view
|
|
46
|
+
* @default true
|
|
47
|
+
*/
|
|
48
|
+
displayAdjacentDays: boolean;
|
|
44
49
|
/**
|
|
45
50
|
* Locale by which calendar labels are transformed
|
|
46
51
|
* @default enGB
|
|
@@ -56,6 +61,7 @@ export declare const CalendarConfig: import("@angular/core").InjectionToken<Part
|
|
|
56
61
|
dayA11yLabel: string;
|
|
57
62
|
monthA11yLabel: string;
|
|
58
63
|
yearA11yLabel: string;
|
|
64
|
+
displayAdjacentDays: boolean;
|
|
59
65
|
locale: BehaviorSubject<globalThis.Locale>;
|
|
60
66
|
}>>, CalendarDefaultConfig: {
|
|
61
67
|
monthYearLabel: string;
|
|
@@ -66,6 +72,7 @@ export declare const CalendarConfig: import("@angular/core").InjectionToken<Part
|
|
|
66
72
|
dayA11yLabel: string;
|
|
67
73
|
monthA11yLabel: string;
|
|
68
74
|
yearA11yLabel: string;
|
|
75
|
+
displayAdjacentDays: boolean;
|
|
69
76
|
locale: BehaviorSubject<globalThis.Locale>;
|
|
70
77
|
}, injectCalendarConfig: () => {
|
|
71
78
|
monthYearLabel: string;
|
|
@@ -76,6 +83,7 @@ export declare const CalendarConfig: import("@angular/core").InjectionToken<Part
|
|
|
76
83
|
dayA11yLabel: string;
|
|
77
84
|
monthA11yLabel: string;
|
|
78
85
|
yearA11yLabel: string;
|
|
86
|
+
displayAdjacentDays: boolean;
|
|
79
87
|
locale: BehaviorSubject<globalThis.Locale>;
|
|
80
88
|
}, provideCalendarConfig: <D extends import("@odx/angular/utils").ConfigDependencies<unknown> = import("@odx/angular/utils").ConfigDependencies<{
|
|
81
89
|
monthYearLabel: string;
|
|
@@ -86,6 +94,7 @@ export declare const CalendarConfig: import("@angular/core").InjectionToken<Part
|
|
|
86
94
|
dayA11yLabel: string;
|
|
87
95
|
monthA11yLabel: string;
|
|
88
96
|
yearA11yLabel: string;
|
|
97
|
+
displayAdjacentDays: boolean;
|
|
89
98
|
locale: BehaviorSubject<globalThis.Locale>;
|
|
90
99
|
}>>(config: import("@odx/angular/utils").ConfigProvider<Partial<{
|
|
91
100
|
monthYearLabel: string;
|
|
@@ -96,5 +105,6 @@ export declare const CalendarConfig: import("@angular/core").InjectionToken<Part
|
|
|
96
105
|
dayA11yLabel: string;
|
|
97
106
|
monthA11yLabel: string;
|
|
98
107
|
yearA11yLabel: string;
|
|
108
|
+
displayAdjacentDays: boolean;
|
|
99
109
|
locale: BehaviorSubject<globalThis.Locale>;
|
|
100
110
|
}>, D>) => import("@angular/core").FactoryProvider | import("@angular/core").ValueProvider;
|
|
@@ -17,6 +17,7 @@ export declare class CalendarHeaderComponent {
|
|
|
17
17
|
dayA11yLabel: string;
|
|
18
18
|
monthA11yLabel: string;
|
|
19
19
|
yearA11yLabel: string;
|
|
20
|
+
displayAdjacentDays: boolean;
|
|
20
21
|
locale: import("rxjs").BehaviorSubject<Locale>;
|
|
21
22
|
};
|
|
22
23
|
protected previousClicked(event: Event): void;
|
|
@@ -7,6 +7,7 @@ export declare class CalendarCellDirective implements OnChanges {
|
|
|
7
7
|
private readonly disabledController;
|
|
8
8
|
protected isActive: boolean;
|
|
9
9
|
protected isSelected: boolean;
|
|
10
|
+
protected isHidden: boolean;
|
|
10
11
|
protected isCurrent: boolean;
|
|
11
12
|
protected adjacent: boolean;
|
|
12
13
|
protected get isDisabled(): boolean;
|
|
@@ -21,6 +22,7 @@ export declare class CalendarCellDirective implements OnChanges {
|
|
|
21
22
|
dayA11yLabel: string;
|
|
22
23
|
monthA11yLabel: string;
|
|
23
24
|
yearA11yLabel: string;
|
|
25
|
+
displayAdjacentDays: boolean;
|
|
24
26
|
locale: import("rxjs").BehaviorSubject<Locale>;
|
|
25
27
|
};
|
|
26
28
|
date: Date;
|
|
@@ -15,6 +15,7 @@ export declare abstract class CalendarViewDirective {
|
|
|
15
15
|
dayA11yLabel: string;
|
|
16
16
|
monthA11yLabel: string;
|
|
17
17
|
yearA11yLabel: string;
|
|
18
|
+
displayAdjacentDays: boolean;
|
|
18
19
|
locale: import("rxjs").BehaviorSubject<Locale>;
|
|
19
20
|
};
|
|
20
21
|
readonly element: import("@angular/core").ElementRef<HTMLElement>;
|
|
@@ -10,6 +10,7 @@ export declare class DateLabelPipe implements PipeTransform {
|
|
|
10
10
|
dayA11yLabel: string;
|
|
11
11
|
monthA11yLabel: string;
|
|
12
12
|
yearA11yLabel: string;
|
|
13
|
+
displayAdjacentDays: boolean;
|
|
13
14
|
locale: import("rxjs").BehaviorSubject<Locale>;
|
|
14
15
|
};
|
|
15
16
|
transform(value: Date | null, dateFormat: string): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './page-change.interface';
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { DynamicTextContent } from '@odx/angular/cdk/dynamic-view';
|
|
3
|
+
import { PageChangeEvent } from './interfaces';
|
|
4
|
+
import { GetRangeContentFn, GetSummaryContentFn } from './models';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class PaginatorComponent {
|
|
7
|
+
private readonly disabledController;
|
|
8
|
+
private readonly config;
|
|
9
|
+
private _pageIndex;
|
|
10
|
+
private _pageSize;
|
|
11
|
+
private _length;
|
|
12
|
+
protected buttonSize: "small";
|
|
13
|
+
readonly element: import("@angular/core").ElementRef<HTMLElement>;
|
|
14
|
+
getSummaryContentFn?: GetSummaryContentFn | null;
|
|
15
|
+
getRangeContentFn?: GetRangeContentFn | null;
|
|
16
|
+
showSummary: boolean;
|
|
17
|
+
showFirstLastButtons: boolean;
|
|
18
|
+
set pageIndex(value: number);
|
|
19
|
+
get pageIndex(): number;
|
|
20
|
+
set pageSize(value: number);
|
|
21
|
+
get pageSize(): number;
|
|
22
|
+
set length(value: number);
|
|
23
|
+
get length(): number;
|
|
24
|
+
pageChanged: EventEmitter<PageChangeEvent>;
|
|
25
|
+
get isDisabled(): boolean;
|
|
26
|
+
get defaultGetSummaryContentFn(): GetSummaryContentFn;
|
|
27
|
+
get defaultGetRangeContentFn(): GetRangeContentFn;
|
|
28
|
+
get summaryContent(): DynamicTextContent;
|
|
29
|
+
get rangeContent(): DynamicTextContent;
|
|
30
|
+
firstPage(): void;
|
|
31
|
+
previousPage(): void;
|
|
32
|
+
nextPage(): void;
|
|
33
|
+
lastPage(): void;
|
|
34
|
+
get isFirstPage(): boolean;
|
|
35
|
+
get isLastPage(): boolean;
|
|
36
|
+
get isPreviousDisabled(): boolean;
|
|
37
|
+
get isNextDisabled(): boolean;
|
|
38
|
+
get totalPages(): number;
|
|
39
|
+
get startItemIndex(): number;
|
|
40
|
+
get endItemIndex(): number;
|
|
41
|
+
pageChange(pageIndex: number): void;
|
|
42
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PaginatorComponent, never>;
|
|
43
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PaginatorComponent, "odx-paginator", never, { "getSummaryContentFn": "getSummaryContentFn"; "getRangeContentFn": "getRangeContentFn"; "showSummary": "showSummary"; "showFirstLastButtons": "showFirstLastButtons"; "pageIndex": "pageIndex"; "pageSize": "pageSize"; "length": "length"; }, { "pageChanged": "pageChanged"; }, never, never, true, never>;
|
|
44
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { GetRangeContentFn, GetSummaryContentFn } from './models';
|
|
2
|
+
export interface PaginatorConfig {
|
|
3
|
+
/**
|
|
4
|
+
* @param {GetSummaryContentFn} - Content is responsible for paginator summary
|
|
5
|
+
*/
|
|
6
|
+
getSummaryContent: GetSummaryContentFn;
|
|
7
|
+
/**
|
|
8
|
+
* @param {GetRangeContentFn} - Content is responsible for paginator range
|
|
9
|
+
*/
|
|
10
|
+
getRangeContent: GetRangeContentFn;
|
|
11
|
+
/**
|
|
12
|
+
* Default paginator page size
|
|
13
|
+
* @default 10
|
|
14
|
+
*/
|
|
15
|
+
pageSize: number;
|
|
16
|
+
}
|
|
17
|
+
export declare const PaginatorConfig: import("@angular/core").InjectionToken<Partial<{
|
|
18
|
+
getSummaryContent: GetSummaryContentFn;
|
|
19
|
+
getRangeContent: GetRangeContentFn;
|
|
20
|
+
pageSize: number;
|
|
21
|
+
}>>, PaginatorDefaultConfig: {
|
|
22
|
+
getSummaryContent: GetSummaryContentFn;
|
|
23
|
+
getRangeContent: GetRangeContentFn;
|
|
24
|
+
pageSize: number;
|
|
25
|
+
}, injectPaginatorConfig: () => {
|
|
26
|
+
getSummaryContent: GetSummaryContentFn;
|
|
27
|
+
getRangeContent: GetRangeContentFn;
|
|
28
|
+
pageSize: number;
|
|
29
|
+
}, providePaginatorConfig: <D extends import("@odx/angular/utils").ConfigDependencies<unknown> = import("@odx/angular/utils").ConfigDependencies<{
|
|
30
|
+
getSummaryContent: GetSummaryContentFn;
|
|
31
|
+
getRangeContent: GetRangeContentFn;
|
|
32
|
+
pageSize: number;
|
|
33
|
+
}>>(config: import("@odx/angular/utils").ConfigProvider<Partial<{
|
|
34
|
+
getSummaryContent: GetSummaryContentFn;
|
|
35
|
+
getRangeContent: GetRangeContentFn;
|
|
36
|
+
pageSize: number;
|
|
37
|
+
}>, D>) => import("@angular/core").FactoryProvider | import("@angular/core").ValueProvider;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./paginator.component";
|
|
3
|
+
export declare class PaginatorModule {
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PaginatorModule, never>;
|
|
5
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<PaginatorModule, never, [typeof i1.PaginatorComponent], [typeof i1.PaginatorComponent]>;
|
|
6
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<PaginatorModule>;
|
|
7
|
+
}
|
|
@@ -10,6 +10,7 @@ export const { CalendarConfig, CalendarDefaultConfig, injectCalendarConfig, prov
|
|
|
10
10
|
dayA11yLabel: 'MMMM dd, yyyy',
|
|
11
11
|
monthA11yLabel: 'MMMM, yyyy',
|
|
12
12
|
yearA11yLabel: 'yyyy',
|
|
13
|
+
displayAdjacentDays: true,
|
|
13
14
|
locale: new BehaviorSubject(enGB),
|
|
14
15
|
});
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2xpYi9jYWxlbmRhci5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFeEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUF1RHZDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLEdBQUcsa0JBQWtCLENBQ3RILFVBQVUsRUFDVixrQ0FBa0MsRUFDbEM7SUFDRSxjQUFjLEVBQUUsV0FBVztJQUMzQixVQUFVLEVBQUUsS0FBSztJQUNqQixTQUFTLEVBQUUsT0FBTztJQUNsQixRQUFRLEVBQUUsR0FBRztJQUNiLFNBQVMsRUFBRSxNQUFNO0lBQ2pCLFlBQVksRUFBRSxlQUFlO0lBQzdCLGNBQWMsRUFBRSxZQUFZO0lBQzVCLGFBQWEsRUFBRSxNQUFNO0lBQ3JCLG1CQUFtQixFQUFFLElBQUk7SUFDekIsTUFBTSxFQUFFLElBQUksZUFBZSxDQUFTLElBQUksQ0FBQztDQUMxQyxDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVDb25maWdUb2tlbnMgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgTG9jYWxlIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgZW5HQiB9IGZyb20gJ2RhdGUtZm5zL2xvY2FsZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBDYWxlbmRhckNvbmZpZyB7XG4gIC8qKlxuICAgKiBQYXR0ZXJuIGJ5IHdoaWNoIG1vbnRoLXllYXIgbGFiZWwgaXMgdHJhbnNmb3JtZWRcbiAgICogQGRlZmF1bHQgJ0xMTEwgeXl5eSdcbiAgICovXG4gIG1vbnRoWWVhckxhYmVsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQYXR0ZXJuIGJ5IHdoaWNoIG1vbnRoIGxhYmVsIGlzIHRyYW5zZm9ybWVkXG4gICAqIEBkZWZhdWx0ICdMTEwnXG4gICAqL1xuICBtb250aExhYmVsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQYXR0ZXJuIGJ5IHdoaWNoIHdlZWsgbGFiZWwgaXMgdHJhbnNmb3JtZWRcbiAgICogQGRlZmF1bHQgJ0VFRUVFJ1xuICAgKi9cbiAgd2Vla0xhYmVsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQYXR0ZXJuIGJ5IHdoaWNoIGRheSBsYWJlbCBpcyB0cmFuc2Zvcm1lZFxuICAgKiBAZGVmYXVsdCAnZCdcbiAgICovXG4gIGRheUxhYmVsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQYXR0ZXJuIGJ5IHdoaWNoIFllYXIgbGFiZWwgaXMgdHJhbnNmb3JtZWRcbiAgICogQGRlZmF1bHQgJ3l5eXknXG4gICAqL1xuICB5ZWFyTGFiZWw6IHN0cmluZztcbiAgLyoqXG4gICAqIFBhdHRlcm4gYnkgd2hpY2ggQTExeSBkYXkgbGFiZWwgaXMgdHJhbnNmb3JtZWRcbiAgICogQGRlZmF1bHQgJ01NTU0gZGQsIHl5eXknXG4gICAqL1xuICBkYXlBMTF5TGFiZWw6IHN0cmluZztcbiAgLyoqXG4gICAqIFBhdHRlcm4gYnkgd2hpY2ggQTExeSBtb250aCBsYWJlbCBpcyB0cmFuc2Zvcm1lZFxuICAgKiBAZGVmYXVsdCAnTU1NTSwgeXl5eSdcbiAgICovXG4gIG1vbnRoQTExeUxhYmVsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQYXR0ZXJuIGJ5IHdoaWNoIEExMXkgeWVhciBsYWJlbCBpcyB0cmFuc2Zvcm1lZFxuICAgKiBAZGVmYXVsdCAneXl5eSdcbiAgICovXG4gIHllYXJBMTF5TGFiZWw6IHN0cmluZztcbiAgLyoqXG4gICAqIERpc3BsYXlzIHRoZSBhZGphY2VudCBkYXlzIGluIG1vbnRoIGNhbGVuZGFyIHZpZXdcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgZGlzcGxheUFkamFjZW50RGF5czogYm9vbGVhbjtcbiAgLyoqXG4gICAqIExvY2FsZSBieSB3aGljaCBjYWxlbmRhciBsYWJlbHMgYXJlIHRyYW5zZm9ybWVkXG4gICAqIEBkZWZhdWx0IGVuR0JcbiAgICovXG4gIGxvY2FsZTogQmVoYXZpb3JTdWJqZWN0PExvY2FsZT47XG59XG5cbmV4cG9ydCBjb25zdCB7IENhbGVuZGFyQ29uZmlnLCBDYWxlbmRhckRlZmF1bHRDb25maWcsIGluamVjdENhbGVuZGFyQ29uZmlnLCBwcm92aWRlQ2FsZW5kYXJDb25maWcgfSA9IGNyZWF0ZUNvbmZpZ1Rva2VucyhcbiAgJ0NhbGVuZGFyJyxcbiAgJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyJyxcbiAge1xuICAgIG1vbnRoWWVhckxhYmVsOiAnTExMTCB5eXl5JyxcbiAgICBtb250aExhYmVsOiAnTExMJyxcbiAgICB3ZWVrTGFiZWw6ICdFRUVFRScsXG4gICAgZGF5TGFiZWw6ICdkJyxcbiAgICB5ZWFyTGFiZWw6ICd5eXl5JyxcbiAgICBkYXlBMTF5TGFiZWw6ICdNTU1NIGRkLCB5eXl5JyxcbiAgICBtb250aEExMXlMYWJlbDogJ01NTU0sIHl5eXknLFxuICAgIHllYXJBMTF5TGFiZWw6ICd5eXl5JyxcbiAgICBkaXNwbGF5QWRqYWNlbnREYXlzOiB0cnVlLFxuICAgIGxvY2FsZTogbmV3IEJlaGF2aW9yU3ViamVjdDxMb2NhbGU+KGVuR0IpLFxuICB9LFxuKTtcbiJdfQ==
|
|
@@ -14,6 +14,7 @@ let CalendarCellDirective = class CalendarCellDirective {
|
|
|
14
14
|
this.disabledController = DisabledController.inject();
|
|
15
15
|
this.isActive = false;
|
|
16
16
|
this.isSelected = false;
|
|
17
|
+
this.isHidden = false;
|
|
17
18
|
this.isCurrent = false;
|
|
18
19
|
this.adjacent = false;
|
|
19
20
|
this.element = injectElement();
|
|
@@ -34,6 +35,7 @@ let CalendarCellDirective = class CalendarCellDirective {
|
|
|
34
35
|
this.isActive = checkIdenticalDate(this.date, this.activeDate, this.calendarView);
|
|
35
36
|
if (this.calendarView === CalendarViewEnum.Month) {
|
|
36
37
|
this.adjacent = !isSameMonth(this.date, this.activeDate);
|
|
38
|
+
this.isHidden = this.adjacent && !this.config.displayAdjacentDays;
|
|
37
39
|
}
|
|
38
40
|
}
|
|
39
41
|
if (this.selectedDate && hasChanged(changes, ['date', 'selectedDate'], false)) {
|
|
@@ -49,7 +51,7 @@ let CalendarCellDirective = class CalendarCellDirective {
|
|
|
49
51
|
}
|
|
50
52
|
};
|
|
51
53
|
CalendarCellDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarCellDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
52
|
-
CalendarCellDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: CalendarCellDirective, isStandalone: true, selector: "[odxCalendarCell]", inputs: { date: ["odxCalendarCell", "date"], calendarView: ["odxCalendarCellCalendarView", "calendarView"], activeDate: ["odxCalendarCellActiveDate", "activeDate"], selectedDate: ["odxCalendarCellSelectedDate", "selectedDate"] }, host: { properties: { "class.is-disabled": "isDisabled", "class.is-selected": "isSelected", "tabindex": "isActive ? 0 : -1", "attr.aria-label": "ariaLabel", "attr.aria-disabled": "isDisabled", "attr.type": "\"button\"" } }, providers: [DisabledController.connect(), DateLabelPipe], usesOnChanges: true, ngImport: i0 });
|
|
54
|
+
CalendarCellDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: CalendarCellDirective, isStandalone: true, selector: "[odxCalendarCell]", inputs: { date: ["odxCalendarCell", "date"], calendarView: ["odxCalendarCellCalendarView", "calendarView"], activeDate: ["odxCalendarCellActiveDate", "activeDate"], selectedDate: ["odxCalendarCellSelectedDate", "selectedDate"] }, host: { properties: { "class.is-disabled": "isDisabled", "class.is-selected": "isSelected", "attr.hidden": "isHidden || null", "tabindex": "isActive ? 0 : -1", "attr.aria-label": "ariaLabel", "attr.aria-disabled": "isDisabled", "attr.type": "\"button\"" } }, providers: [DisabledController.connect(), DateLabelPipe], usesOnChanges: true, ngImport: i0 });
|
|
53
55
|
__decorate([
|
|
54
56
|
CSSModifier(),
|
|
55
57
|
__metadata("design:type", Object)
|
|
@@ -71,6 +73,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
71
73
|
host: {
|
|
72
74
|
'[class.is-disabled]': 'isDisabled',
|
|
73
75
|
'[class.is-selected]': 'isSelected',
|
|
76
|
+
'[attr.hidden]': 'isHidden || null',
|
|
74
77
|
'[tabindex]': 'isActive ? 0 : -1',
|
|
75
78
|
'[attr.aria-label]': 'ariaLabel',
|
|
76
79
|
'[attr.aria-disabled]': 'isDisabled',
|
|
@@ -90,4 +93,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
90
93
|
type: Input,
|
|
91
94
|
args: ['odxCalendarCellSelectedDate']
|
|
92
95
|
}] } });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItY2VsbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL2RpcmVjdGl2ZXMvY2FsZW5kYXItY2VsbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQWEsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBaUJyRCxJQUFNLHFCQUFxQixHQUEzQixNQUFNLHFCQUFxQjtJQUEzQjtRQUNZLHVCQUFrQixHQUFHLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRXhELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBR2pCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFHbEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQU1YLFlBQU8sR0FBRyxhQUFhLEVBQUUsQ0FBQztRQUMx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d0JBQ25DLGVBQWUsRUFBRSxrQkFBa0I7d0JBQ25DLFlBQVksRUFBRSxtQkFBbUI7d0JBQ2pDLG1CQUFtQixFQUFFLFdBQVc7d0JBQ2hDLHNCQUFzQixFQUFFLFlBQVk7d0JBQ3BDLGFBQWEsRUFBRSxVQUFVO3FCQUMxQjtpQkFDRjs4QkFTVyxTQUFTLE1BR1QsUUFBUSxNQVlYLElBQUk7c0JBRFYsS0FBSzt1QkFBQyxpQkFBaUI7Z0JBSWpCLFlBQVk7c0JBRGxCLEtBQUs7dUJBQUMsNkJBQTZCO2dCQUk3QixVQUFVO3NCQURoQixLQUFLO3VCQUFDLDJCQUEyQjtnQkFJM0IsWUFBWTtzQkFEbEIsS0FBSzt1QkFBQyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGlzYWJsZWRDb250cm9sbGVyIH0gZnJvbSAnQG9keC9hbmd1bGFyJztcbmltcG9ydCB7IENTU0NvbXBvbmVudCwgQ1NTTW9kaWZpZXIgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgZGVmZXJGbiwgaGFzQ2hhbmdlZCwgaW5qZWN0RWxlbWVudCwgTmdDaGFuZ2VzIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IGlzU2FtZU1vbnRoIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgaW5qZWN0Q2FsZW5kYXJDb25maWcgfSBmcm9tICcuLi9jYWxlbmRhci5jb25maWcnO1xuaW1wb3J0IHsgQ2FsZW5kYXJWaWV3RW51bSB9IGZyb20gJy4uL2VudW1zJztcbmltcG9ydCB7IERhdGVMYWJlbFBpcGUgfSBmcm9tICcuLi9waXBlcyc7XG5pbXBvcnQgeyBjaGVja0lkZW50aWNhbERhdGUsIGdldEExMXlMYWJlbCB9IGZyb20gJy4uL3V0aWxzJztcblxuQENTU0NvbXBvbmVudCgnY2FsZW5kYXItY2VsbCcpXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbb2R4Q2FsZW5kYXJDZWxsXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHByb3ZpZGVyczogW0Rpc2FibGVkQ29udHJvbGxlci5jb25uZWN0KCksIERhdGVMYWJlbFBpcGVdLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5pcy1kaXNhYmxlZF0nOiAnaXNEaXNhYmxlZCcsXG4gICAgJ1tjbGFzcy5pcy1zZWxlY3RlZF0nOiAnaXNTZWxlY3RlZCcsXG4gICAgJ1thdHRyLmhpZGRlbl0nOiAnaXNIaWRkZW4gfHwgbnVsbCcsXG4gICAgJ1t0YWJpbmRleF0nOiAnaXNBY3RpdmUgPyAwIDogLTEnLFxuICAgICdbYXR0ci5hcmlhLWxhYmVsXSc6ICdhcmlhTGFiZWwnLFxuICAgICdbYXR0ci5hcmlhLWRpc2FibGVkXSc6ICdpc0Rpc2FibGVkJyxcbiAgICAnW2F0dHIudHlwZV0nOiAnXCJidXR0b25cIicsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyQ2VsbERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGlzYWJsZWRDb250cm9sbGVyID0gRGlzYWJsZWRDb250cm9sbGVyLmluamVjdCgpO1xuXG4gIHByb3RlY3RlZCBpc0FjdGl2ZSA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgaXNTZWxlY3RlZCA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgaXNIaWRkZW4gPSBmYWxzZTtcblxuICBAQ1NTTW9kaWZpZXIoKVxuICBwcm90ZWN0ZWQgaXNDdXJyZW50ID0gZmFsc2U7XG5cbiAgQENTU01vZGlmaWVyKClcbiAgcHJvdGVjdGVkIGFkamFjZW50ID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIGdldCBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZGlzYWJsZWRDb250cm9sbGVyPy5kaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0RWxlbWVudCgpO1xuICBwdWJsaWMgcmVhZG9ubHkgZGF0ZUxhYmVsUGlwZSA9IGluamVjdChEYXRlTGFiZWxQaXBlKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0Q2FsZW5kYXJDb25maWcoKTtcblxuICBASW5wdXQoJ29keENhbGVuZGFyQ2VsbCcpXG4gIHB1YmxpYyBkYXRlITogRGF0ZTtcblxuICBASW5wdXQoJ29keENhbGVuZGFyQ2VsbENhbGVuZGFyVmlldycpXG4gIHB1YmxpYyBjYWxlbmRhclZpZXc6IENhbGVuZGFyVmlld0VudW0gPSBDYWxlbmRhclZpZXdFbnVtLk1vbnRoO1xuXG4gIEBJbnB1dCgnb2R4Q2FsZW5kYXJDZWxsQWN0aXZlRGF0ZScpXG4gIHB1YmxpYyBhY3RpdmVEYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KCdvZHhDYWxlbmRhckNlbGxTZWxlY3RlZERhdGUnKVxuICBwdWJsaWMgc2VsZWN0ZWREYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IE5nQ2hhbmdlczxDYWxlbmRhckNlbGxEaXJlY3RpdmU+KTogdm9pZCB7XG4gICAgaWYgKGhhc0NoYW5nZWQoY2hhbmdlcywgWydkYXRlJ10sIGZhbHNlKSkge1xuICAgICAgdGhpcy5pc0N1cnJlbnQgPSBjaGVja0lkZW50aWNhbERhdGUodGhpcy5kYXRlLCBuZXcgRGF0ZSgpLCB0aGlzLmNhbGVuZGFyVmlldyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuYWN0aXZlRGF0ZSAmJiBoYXNDaGFuZ2VkKGNoYW5nZXMsIFsnZGF0ZScsICdhY3RpdmVEYXRlJ10sIGZhbHNlKSkge1xuICAgICAgdGhpcy5pc0FjdGl2ZSA9IGNoZWNrSWRlbnRpY2FsRGF0ZSh0aGlzLmRhdGUsIHRoaXMuYWN0aXZlRGF0ZSwgdGhpcy5jYWxlbmRhclZpZXcpO1xuXG4gICAgICBpZiAodGhpcy5jYWxlbmRhclZpZXcgPT09IENhbGVuZGFyVmlld0VudW0uTW9udGgpIHtcbiAgICAgICAgdGhpcy5hZGphY2VudCA9ICFpc1NhbWVNb250aCh0aGlzLmRhdGUsIHRoaXMuYWN0aXZlRGF0ZSk7XG4gICAgICAgIHRoaXMuaXNIaWRkZW4gPSB0aGlzLmFkamFjZW50ICYmICF0aGlzLmNvbmZpZy5kaXNwbGF5QWRqYWNlbnREYXlzO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLnNlbGVjdGVkRGF0ZSAmJiBoYXNDaGFuZ2VkKGNoYW5nZXMsIFsnZGF0ZScsICdzZWxlY3RlZERhdGUnXSwgZmFsc2UpKSB7XG4gICAgICB0aGlzLmlzU2VsZWN0ZWQgPSBjaGVja0lkZW50aWNhbERhdGUodGhpcy5kYXRlLCB0aGlzLnNlbGVjdGVkRGF0ZSwgdGhpcy5jYWxlbmRhclZpZXcpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzQWN0aXZlKSB7XG4gICAgICBkZWZlckZuKCgpID0+IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXJpYUxhYmVsKCk6IHN0cmluZyB7XG4gICAgY29uc3QgZGF0ZUZvcm1hdCA9IGdldEExMXlMYWJlbCh0aGlzLmNhbGVuZGFyVmlldywgdGhpcy5jb25maWcpO1xuICAgIHJldHVybiB0aGlzLmRhdGVMYWJlbFBpcGUudHJhbnNmb3JtKHRoaXMuZGF0ZSwgZGF0ZUZvcm1hdCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './lib/interfaces';
|
|
2
|
+
export * from './lib/models';
|
|
3
|
+
export * from './lib/paginator.component';
|
|
4
|
+
export * from './lib/paginator.config';
|
|
5
|
+
export * from './lib/paginator.module';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9wYWdpbmF0b3Ivc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdpbmF0b3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2luYXRvci5jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnaW5hdG9yLm1vZHVsZSc7XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './page-change.interface';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9wYWdpbmF0b3Ivc3JjL2xpYi9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3BhZ2UtY2hhbmdlLmludGVyZmFjZSc7XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1jaGFuZ2UuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvcGFnaW5hdG9yL3NyYy9saWIvaW50ZXJmYWNlcy9wYWdlLWNoYW5nZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUGFnZUNoYW5nZUV2ZW50IHtcbiAgbGVuZ3RoOiBudW1iZXI7XG4gIHBhZ2VJbmRleDogbnVtYmVyO1xuICBwYWdlU2l6ZTogbnVtYmVyO1xufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXJhbmdlLWNvbnRlbnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9wYWdpbmF0b3Ivc3JjL2xpYi9tb2RlbHMvZ2V0LXJhbmdlLWNvbnRlbnQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER5bmFtaWNUZXh0Q29udGVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9jZGsvZHluYW1pYy12aWV3JztcblxuZXhwb3J0IHR5cGUgR2V0UmFuZ2VDb250ZW50Rm4gPSAocGFnZUluZGV4OiBudW1iZXIsIHRvdGFsUGFnZXM6IG51bWJlcikgPT4gRHluYW1pY1RleHRDb250ZW50O1xuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXN1bW1hcnktY29udGVudC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL3BhZ2luYXRvci9zcmMvbGliL21vZGVscy9nZXQtc3VtbWFyeS1jb250ZW50Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEeW5hbWljVGV4dENvbnRlbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY2RrL2R5bmFtaWMtdmlldyc7XG5cbmV4cG9ydCB0eXBlIEdldFN1bW1hcnlDb250ZW50Rm4gPSAoc3RhcnRJdGVtSW5kZXg6IG51bWJlciwgZW5kSXRlbUluZGV4OiBudW1iZXIsIGxlbmd0aDogbnVtYmVyKSA9PiBEeW5hbWljVGV4dENvbnRlbnQ7XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './get-range-content.model';
|
|
2
|
+
export * from './get-summary-content.model';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9wYWdpbmF0b3Ivc3JjL2xpYi9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9nZXQtcmFuZ2UtY29udGVudC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2dldC1zdW1tYXJ5LWNvbnRlbnQubW9kZWwnO1xuIl19
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
3
|
+
import { CoreModule, DisabledController } from '@odx/angular';
|
|
4
|
+
import { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';
|
|
5
|
+
import { ActionGroupComponent } from '@odx/angular/components/action-group';
|
|
6
|
+
import { ButtonComponent, ButtonSize } from '@odx/angular/components/button';
|
|
7
|
+
import { IconComponent } from '@odx/angular/components/icon';
|
|
8
|
+
import { CSSComponent } from '@odx/angular/internal';
|
|
9
|
+
import { injectElement } from '@odx/angular/utils';
|
|
10
|
+
import { injectPaginatorConfig } from './paginator.config';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "@angular/common";
|
|
13
|
+
import * as i2 from "@odx/angular";
|
|
14
|
+
let PaginatorComponent = class PaginatorComponent {
|
|
15
|
+
constructor() {
|
|
16
|
+
this.disabledController = DisabledController.inject();
|
|
17
|
+
this.config = injectPaginatorConfig();
|
|
18
|
+
this._pageIndex = 0;
|
|
19
|
+
this._pageSize = this.config.pageSize;
|
|
20
|
+
this._length = 0;
|
|
21
|
+
this.buttonSize = ButtonSize.SMALL;
|
|
22
|
+
this.element = injectElement();
|
|
23
|
+
this.getSummaryContentFn = null;
|
|
24
|
+
this.getRangeContentFn = null;
|
|
25
|
+
this.showSummary = true;
|
|
26
|
+
this.showFirstLastButtons = true;
|
|
27
|
+
this.pageChanged = new EventEmitter();
|
|
28
|
+
}
|
|
29
|
+
set pageIndex(value) {
|
|
30
|
+
if (value >= 0)
|
|
31
|
+
this._pageIndex = value;
|
|
32
|
+
}
|
|
33
|
+
get pageIndex() {
|
|
34
|
+
return this._length ? this._pageIndex : -1;
|
|
35
|
+
}
|
|
36
|
+
set pageSize(value) {
|
|
37
|
+
if (value > 0)
|
|
38
|
+
this._pageSize = value;
|
|
39
|
+
}
|
|
40
|
+
get pageSize() {
|
|
41
|
+
return this._pageSize;
|
|
42
|
+
}
|
|
43
|
+
set length(value) {
|
|
44
|
+
if (value >= 0)
|
|
45
|
+
this._length = value;
|
|
46
|
+
}
|
|
47
|
+
get length() {
|
|
48
|
+
return this._length;
|
|
49
|
+
}
|
|
50
|
+
get isDisabled() {
|
|
51
|
+
return !!this.disabledController?.disabled;
|
|
52
|
+
}
|
|
53
|
+
get defaultGetSummaryContentFn() {
|
|
54
|
+
return this.config.getSummaryContent;
|
|
55
|
+
}
|
|
56
|
+
get defaultGetRangeContentFn() {
|
|
57
|
+
return this.config.getRangeContent;
|
|
58
|
+
}
|
|
59
|
+
get summaryContent() {
|
|
60
|
+
const fn = this.getSummaryContentFn ?? this.defaultGetSummaryContentFn;
|
|
61
|
+
return fn(this.startItemIndex + 1, this.endItemIndex, this.length);
|
|
62
|
+
}
|
|
63
|
+
get rangeContent() {
|
|
64
|
+
const fn = this.getRangeContentFn ?? this.defaultGetRangeContentFn;
|
|
65
|
+
return fn(this.pageIndex, this.totalPages);
|
|
66
|
+
}
|
|
67
|
+
firstPage() {
|
|
68
|
+
this.pageChange(0);
|
|
69
|
+
}
|
|
70
|
+
previousPage() {
|
|
71
|
+
this.pageChange(this._pageIndex - 1);
|
|
72
|
+
}
|
|
73
|
+
nextPage() {
|
|
74
|
+
this.pageChange(this._pageIndex + 1);
|
|
75
|
+
}
|
|
76
|
+
lastPage() {
|
|
77
|
+
this.pageChange(this.totalPages - 1);
|
|
78
|
+
}
|
|
79
|
+
get isFirstPage() {
|
|
80
|
+
return this._pageIndex === 0;
|
|
81
|
+
}
|
|
82
|
+
get isLastPage() {
|
|
83
|
+
return this._pageIndex === this.totalPages - 1;
|
|
84
|
+
}
|
|
85
|
+
get isPreviousDisabled() {
|
|
86
|
+
return this.isFirstPage || !this._length;
|
|
87
|
+
}
|
|
88
|
+
get isNextDisabled() {
|
|
89
|
+
return this.isLastPage || !this._length;
|
|
90
|
+
}
|
|
91
|
+
get totalPages() {
|
|
92
|
+
return Math.ceil(this._length / this._pageSize);
|
|
93
|
+
}
|
|
94
|
+
get startItemIndex() {
|
|
95
|
+
return this._length ? this._pageIndex * this._pageSize : -1;
|
|
96
|
+
}
|
|
97
|
+
get endItemIndex() {
|
|
98
|
+
return Math.min(this.startItemIndex + this._pageSize, this._length);
|
|
99
|
+
}
|
|
100
|
+
pageChange(pageIndex) {
|
|
101
|
+
if (pageIndex < 0)
|
|
102
|
+
return;
|
|
103
|
+
this._pageIndex = pageIndex;
|
|
104
|
+
this.pageChanged.emit({
|
|
105
|
+
pageIndex: this._pageIndex,
|
|
106
|
+
length: this._length,
|
|
107
|
+
pageSize: this._pageSize,
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
PaginatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
112
|
+
PaginatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PaginatorComponent, isStandalone: true, selector: "odx-paginator", inputs: { getSummaryContentFn: "getSummaryContentFn", getRangeContentFn: "getRangeContentFn", showSummary: "showSummary", showFirstLastButtons: "showFirstLastButtons", pageIndex: "pageIndex", pageSize: "pageSize", length: "length" }, outputs: { pageChanged: "pageChanged" }, host: { properties: { "class.is-disabled": "isDisabled" } }, providers: [DisabledController.connect()], ngImport: i0, template: "<div *ngIf=\"showSummary\" class=\"odx-paginator__summary\">\n <ng-template [odxDynamicView]=\"summaryContent\"></ng-template>\n</div>\n\n<div class=\"odx-paginator__navigation\">\n <odx-action-group>\n <button\n *ngIf=\"showFirstLastButtons\"\n odxButton\n [size]=\"buttonSize\"\n class=\"odx-paginator__navigation_first\"\n (click)=\"firstPage()\"\n [disabled]=\"isPreviousDisabled\"\n >\n <odx-icon name=\"chevron-left-end\" iconSet=\"core\"></odx-icon>\n </button>\n\n <button odxButton [size]=\"buttonSize\" class=\"odx-paginator__navigation_previous\" (click)=\"previousPage()\" [disabled]=\"isPreviousDisabled\">\n <odx-icon name=\"chevron-left\" iconSet=\"core\"></odx-icon>\n </button>\n </odx-action-group>\n\n <div class=\"odx-paginator__range\">\n <ng-template [odxDynamicView]=\"rangeContent\"></ng-template>\n </div>\n\n <odx-action-group>\n <button odxButton [size]=\"buttonSize\" class=\"odx-paginator__navigation_next\" (click)=\"nextPage()\" [disabled]=\"isNextDisabled\">\n <odx-icon name=\"chevron-right\" iconSet=\"core\"></odx-icon>\n </button>\n\n <button *ngIf=\"showFirstLastButtons\" [size]=\"buttonSize\" odxButton class=\"odx-paginator__navigation_last\" (click)=\"lastPage()\" [disabled]=\"isNextDisabled\">\n <odx-icon name=\"chevron-right-end\" iconSet=\"core\"></odx-icon>\n </button>\n </odx-action-group>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DisabledController, selector: "[disabled]", inputs: ["disabled"] }, { kind: "component", type: ActionGroupComponent, selector: "odx-action-group", inputs: ["reverse"] }, { kind: "component", type: ButtonComponent, selector: "button[odxButton], a[odxButton]", inputs: ["variant", "size"] }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet"] }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
113
|
+
PaginatorComponent = __decorate([
|
|
114
|
+
CSSComponent('paginator')
|
|
115
|
+
], PaginatorComponent);
|
|
116
|
+
export { PaginatorComponent };
|
|
117
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PaginatorComponent, decorators: [{
|
|
118
|
+
type: Component,
|
|
119
|
+
args: [{ standalone: true, selector: 'odx-paginator', imports: [CoreModule, ActionGroupComponent, ButtonComponent, IconComponent, DynamicViewDirective], providers: [DisabledController.connect()], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
120
|
+
'[class.is-disabled]': 'isDisabled',
|
|
121
|
+
}, template: "<div *ngIf=\"showSummary\" class=\"odx-paginator__summary\">\n <ng-template [odxDynamicView]=\"summaryContent\"></ng-template>\n</div>\n\n<div class=\"odx-paginator__navigation\">\n <odx-action-group>\n <button\n *ngIf=\"showFirstLastButtons\"\n odxButton\n [size]=\"buttonSize\"\n class=\"odx-paginator__navigation_first\"\n (click)=\"firstPage()\"\n [disabled]=\"isPreviousDisabled\"\n >\n <odx-icon name=\"chevron-left-end\" iconSet=\"core\"></odx-icon>\n </button>\n\n <button odxButton [size]=\"buttonSize\" class=\"odx-paginator__navigation_previous\" (click)=\"previousPage()\" [disabled]=\"isPreviousDisabled\">\n <odx-icon name=\"chevron-left\" iconSet=\"core\"></odx-icon>\n </button>\n </odx-action-group>\n\n <div class=\"odx-paginator__range\">\n <ng-template [odxDynamicView]=\"rangeContent\"></ng-template>\n </div>\n\n <odx-action-group>\n <button odxButton [size]=\"buttonSize\" class=\"odx-paginator__navigation_next\" (click)=\"nextPage()\" [disabled]=\"isNextDisabled\">\n <odx-icon name=\"chevron-right\" iconSet=\"core\"></odx-icon>\n </button>\n\n <button *ngIf=\"showFirstLastButtons\" [size]=\"buttonSize\" odxButton class=\"odx-paginator__navigation_last\" (click)=\"lastPage()\" [disabled]=\"isNextDisabled\">\n <odx-icon name=\"chevron-right-end\" iconSet=\"core\"></odx-icon>\n </button>\n </odx-action-group>\n</div>\n" }]
|
|
122
|
+
}], propDecorators: { getSummaryContentFn: [{
|
|
123
|
+
type: Input
|
|
124
|
+
}], getRangeContentFn: [{
|
|
125
|
+
type: Input
|
|
126
|
+
}], showSummary: [{
|
|
127
|
+
type: Input
|
|
128
|
+
}], showFirstLastButtons: [{
|
|
129
|
+
type: Input
|
|
130
|
+
}], pageIndex: [{
|
|
131
|
+
type: Input
|
|
132
|
+
}], pageSize: [{
|
|
133
|
+
type: Input
|
|
134
|
+
}], length: [{
|
|
135
|
+
type: Input
|
|
136
|
+
}], pageChanged: [{
|
|
137
|
+
type: Output
|
|
138
|
+
}] } });
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL3BhZ2luYXRvci9zcmMvbGliL3BhZ2luYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9wYWdpbmF0b3Ivc3JjL2xpYi9wYWdpbmF0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5RCxPQUFPLEVBQXNCLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUduRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQWVwRCxJQUFNLGtCQUFrQixHQUF4QixNQUFNLGtCQUFrQjtJQUF4QjtRQUNZLHVCQUFrQixHQUFHLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRWpELFdBQU0sR0FBRyxxQkFBcUIsRUFBRSxDQUFDO1FBRTFDLGVBQVUsR0FBRyxDQUFDLENBQUM7UUFDZixjQUFTLEdB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QixrRkFBRSxlQUFlLHlHQUFFLGFBQWEsb0dBQUUsb0JBQW9CO0FBU3JGLGtCQUFrQjtJQWI5QixZQUFZLENBQUMsV0FBVyxDQUFDO0dBYWIsa0JBQWtCLENBb0k5QjtTQXBJWSxrQkFBa0I7MkZBQWxCLGtCQUFrQjtrQkFaOUIsU0FBUztpQ0FDSSxJQUFJLFlBQ04sZUFBZSxXQUNoQixDQUFDLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixDQUFDLGFBQ3RGLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLENBQUMsaUJBRTFCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0oscUJBQXFCLEVBQUUsWUFBWTtxQkFDcEM7OEJBZ0JNLG1CQUFtQjtzQkFEekIsS0FBSztnQkFJQyxpQkFBaUI7c0JBRHZCLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsS0FBSztnQkFJQyxvQkFBb0I7c0JBRDFCLEtBQUs7Z0JBSUssU0FBUztzQkFEbkIsS0FBSztnQkFVSyxRQUFRO3NCQURsQixLQUFLO2dCQVVLLE1BQU07c0JBRGhCLEtBQUs7Z0JBVUMsV0FBVztzQkFEakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvcmVNb2R1bGUsIERpc2FibGVkQ29udHJvbGxlciB9IGZyb20gJ0BvZHgvYW5ndWxhcic7XG5pbXBvcnQgeyBEeW5hbWljVGV4dENvbnRlbnQsIER5bmFtaWNWaWV3RGlyZWN0aXZlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2Nkay9keW5hbWljLXZpZXcnO1xuaW1wb3J0IHsgQWN0aW9uR3JvdXBDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9hY3Rpb24tZ3JvdXAnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50LCBCdXR0b25TaXplIH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9pY29uJztcbmltcG9ydCB7IENTU0NvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBpbmplY3RFbGVtZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IFBhZ2VDaGFuZ2VFdmVudCB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBHZXRSYW5nZUNvbnRlbnRGbiwgR2V0U3VtbWFyeUNvbnRlbnRGbiB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IGluamVjdFBhZ2luYXRvckNvbmZpZyB9IGZyb20gJy4vcGFnaW5hdG9yLmNvbmZpZyc7XG5cbkBDU1NDb21wb25lbnQoJ3BhZ2luYXRvcicpXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdvZHgtcGFnaW5hdG9yJyxcbiAgaW1wb3J0czogW0NvcmVNb2R1bGUsIEFjdGlvbkdyb3VwQ29tcG9uZW50LCBCdXR0b25Db21wb25lbnQsIEljb25Db21wb25lbnQsIER5bmFtaWNWaWV3RGlyZWN0aXZlXSxcbiAgcHJvdmlkZXJzOiBbRGlzYWJsZWRDb250cm9sbGVyLmNvbm5lY3QoKV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdpbmF0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgICdbY2xhc3MuaXMtZGlzYWJsZWRdJzogJ2lzRGlzYWJsZWQnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBQYWdpbmF0b3JDb21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IGRpc2FibGVkQ29udHJvbGxlciA9IERpc2FibGVkQ29udHJvbGxlci5pbmplY3QoKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdFBhZ2luYXRvckNvbmZpZygpO1xuXG4gIHByaXZhdGUgX3BhZ2VJbmRleCA9IDA7XG4gIHByaXZhdGUgX3BhZ2VTaXplID0gdGhpcy5jb25maWcucGFnZVNpemU7XG4gIHByaXZhdGUgX2xlbmd0aCA9IDA7XG5cbiAgcHJvdGVjdGVkIGJ1dHRvblNpemUgPSBCdXR0b25TaXplLlNNQUxMO1xuXG4gIHB1YmxpYyByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0RWxlbWVudCgpO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXRTdW1tYXJ5Q29udGVudEZuPzogR2V0U3VtbWFyeUNvbnRlbnRGbiB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXRSYW5nZUNvbnRlbnRGbj86IEdldFJhbmdlQ29udGVudEZuIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNob3dTdW1tYXJ5ID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2hvd0ZpcnN0TGFzdEJ1dHRvbnMgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcGFnZUluZGV4KHZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAodmFsdWUgPj0gMCkgdGhpcy5fcGFnZUluZGV4ID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBhZ2VJbmRleCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9sZW5ndGggPyB0aGlzLl9wYWdlSW5kZXggOiAtMTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcGFnZVNpemUodmFsdWU6IG51bWJlcikge1xuICAgIGlmICh2YWx1ZSA+IDApIHRoaXMuX3BhZ2VTaXplID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBhZ2VTaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3BhZ2VTaXplO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBsZW5ndGgodmFsdWU6IG51bWJlcikge1xuICAgIGlmICh2YWx1ZSA+PSAwKSB0aGlzLl9sZW5ndGggPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbGVuZ3RoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2xlbmd0aDtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcGFnZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFBhZ2VDaGFuZ2VFdmVudD4oKTtcblxuICBwdWJsaWMgZ2V0IGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5kaXNhYmxlZENvbnRyb2xsZXI/LmRpc2FibGVkO1xuICB9XG5cbiAgcHVibGljIGdldCBkZWZhdWx0R2V0U3VtbWFyeUNvbnRlbnRGbigpOiBHZXRTdW1tYXJ5Q29udGVudEZuIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcuZ2V0U3VtbWFyeUNvbnRlbnQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRlZmF1bHRHZXRSYW5nZUNvbnRlbnRGbigpOiBHZXRSYW5nZUNvbnRlbnRGbiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmdldFJhbmdlQ29udGVudDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3VtbWFyeUNvbnRlbnQoKTogRHluYW1pY1RleHRDb250ZW50IHtcbiAgICBjb25zdCBmbiA9IHRoaXMuZ2V0U3VtbWFyeUNvbnRlbnRGbiA/PyB0aGlzLmRlZmF1bHRHZXRTdW1tYXJ5Q29udGVudEZuO1xuICAgIHJldHVybiBmbih0aGlzLnN0YXJ0SXRlbUluZGV4ICsgMSwgdGhpcy5lbmRJdGVtSW5kZXgsIHRoaXMubGVuZ3RoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmFuZ2VDb250ZW50KCk6IER5bmFtaWNUZXh0Q29udGVudCB7XG4gICAgY29uc3QgZm4gPSB0aGlzLmdldFJhbmdlQ29udGVudEZuID8/IHRoaXMuZGVmYXVsdEdldFJhbmdlQ29udGVudEZuO1xuICAgIHJldHVybiBmbih0aGlzLnBhZ2VJbmRleCwgdGhpcy50b3RhbFBhZ2VzKTtcbiAgfVxuXG4gIHB1YmxpYyBmaXJzdFBhZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5wYWdlQ2hhbmdlKDApO1xuICB9XG5cbiAgcHVibGljIHByZXZpb3VzUGFnZSgpOiB2b2lkIHtcbiAgICB0aGlzLnBhZ2VDaGFuZ2UodGhpcy5fcGFnZUluZGV4IC0gMSk7XG4gIH1cblxuICBwdWJsaWMgbmV4dFBhZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5wYWdlQ2hhbmdlKHRoaXMuX3BhZ2VJbmRleCArIDEpO1xuICB9XG5cbiAgcHVibGljIGxhc3RQYWdlKCk6IHZvaWQge1xuICAgIHRoaXMucGFnZUNoYW5nZSh0aGlzLnRvdGFsUGFnZXMgLSAxKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNGaXJzdFBhZ2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3BhZ2VJbmRleCA9PT0gMDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNMYXN0UGFnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcGFnZUluZGV4ID09PSB0aGlzLnRvdGFsUGFnZXMgLSAxO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1ByZXZpb3VzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNGaXJzdFBhZ2UgfHwgIXRoaXMuX2xlbmd0aDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNOZXh0RGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNMYXN0UGFnZSB8fCAhdGhpcy5fbGVuZ3RoO1xuICB9XG5cbiAgcHVibGljIGdldCB0b3RhbFBhZ2VzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGguY2VpbCh0aGlzLl9sZW5ndGggLyB0aGlzLl9wYWdlU2l6ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0YXJ0SXRlbUluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2xlbmd0aCA/IHRoaXMuX3BhZ2VJbmRleCAqIHRoaXMuX3BhZ2VTaXplIDogLTE7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGVuZEl0ZW1JbmRleCgpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLm1pbih0aGlzLnN0YXJ0SXRlbUluZGV4ICsgdGhpcy5fcGFnZVNpemUsIHRoaXMuX2xlbmd0aCk7XG4gIH1cblxuICBwdWJsaWMgcGFnZUNoYW5nZShwYWdlSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmIChwYWdlSW5kZXggPCAwKSByZXR1cm47XG5cbiAgICB0aGlzLl9wYWdlSW5kZXggPSBwYWdlSW5kZXg7XG5cbiAgICB0aGlzLnBhZ2VDaGFuZ2VkLmVtaXQoe1xuICAgICAgcGFnZUluZGV4OiB0aGlzLl9wYWdlSW5kZXgsXG4gICAgICBsZW5ndGg6IHRoaXMuX2xlbmd0aCxcbiAgICAgIHBhZ2VTaXplOiB0aGlzLl9wYWdlU2l6ZSxcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cInNob3dTdW1tYXJ5XCIgY2xhc3M9XCJvZHgtcGFnaW5hdG9yX19zdW1tYXJ5XCI+XG4gIDxuZy10ZW1wbGF0ZSBbb2R4RHluYW1pY1ZpZXddPVwic3VtbWFyeUNvbnRlbnRcIj48L25nLXRlbXBsYXRlPlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJvZHgtcGFnaW5hdG9yX19uYXZpZ2F0aW9uXCI+XG4gIDxvZHgtYWN0aW9uLWdyb3VwPlxuICAgIDxidXR0b25cbiAgICAgICpuZ0lmPVwic2hvd0ZpcnN0TGFzdEJ1dHRvbnNcIlxuICAgICAgb2R4QnV0dG9uXG4gICAgICBbc2l6ZV09XCJidXR0b25TaXplXCJcbiAgICAgIGNsYXNzPVwib2R4LXBhZ2luYXRvcl9fbmF2aWdhdGlvbl9maXJzdFwiXG4gICAgICAoY2xpY2spPVwiZmlyc3RQYWdlKClcIlxuICAgICAgW2Rpc2FibGVkXT1cImlzUHJldmlvdXNEaXNhYmxlZFwiXG4gICAgPlxuICAgICAgPG9keC1pY29uIG5hbWU9XCJjaGV2cm9uLWxlZnQtZW5kXCIgaWNvblNldD1cImNvcmVcIj48L29keC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvbiBvZHhCdXR0b24gW3NpemVdPVwiYnV0dG9uU2l6ZVwiIGNsYXNzPVwib2R4LXBhZ2luYXRvcl9fbmF2aWdhdGlvbl9wcmV2aW91c1wiIChjbGljayk9XCJwcmV2aW91c1BhZ2UoKVwiIFtkaXNhYmxlZF09XCJpc1ByZXZpb3VzRGlzYWJsZWRcIj5cbiAgICAgIDxvZHgtaWNvbiBuYW1lPVwiY2hldnJvbi1sZWZ0XCIgaWNvblNldD1cImNvcmVcIj48L29keC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L29keC1hY3Rpb24tZ3JvdXA+XG5cbiAgPGRpdiBjbGFzcz1cIm9keC1wYWdpbmF0b3JfX3JhbmdlXCI+XG4gICAgPG5nLXRlbXBsYXRlIFtvZHhEeW5hbWljVmlld109XCJyYW5nZUNvbnRlbnRcIj48L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cblxuICA8b2R4LWFjdGlvbi1ncm91cD5cbiAgICA8YnV0dG9uIG9keEJ1dHRvbiBbc2l6ZV09XCJidXR0b25TaXplXCIgY2xhc3M9XCJvZHgtcGFnaW5hdG9yX19uYXZpZ2F0aW9uX25leHRcIiAoY2xpY2spPVwibmV4dFBhZ2UoKVwiIFtkaXNhYmxlZF09XCJpc05leHREaXNhYmxlZFwiPlxuICAgICAgPG9keC1pY29uIG5hbWU9XCJjaGV2cm9uLXJpZ2h0XCIgaWNvblNldD1cImNvcmVcIj48L29keC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvbiAqbmdJZj1cInNob3dGaXJzdExhc3RCdXR0b25zXCIgW3NpemVdPVwiYnV0dG9uU2l6ZVwiIG9keEJ1dHRvbiBjbGFzcz1cIm9keC1wYWdpbmF0b3JfX25hdmlnYXRpb25fbGFzdFwiIChjbGljayk9XCJsYXN0UGFnZSgpXCIgW2Rpc2FibGVkXT1cImlzTmV4dERpc2FibGVkXCI+XG4gICAgICA8b2R4LWljb24gbmFtZT1cImNoZXZyb24tcmlnaHQtZW5kXCIgaWNvblNldD1cImNvcmVcIj48L29keC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L29keC1hY3Rpb24tZ3JvdXA+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { createConfigTokens } from '@odx/angular/utils';
|
|
2
|
+
const getSummaryContent = (startItemIndex, endItemIndex, length) => {
|
|
3
|
+
return `
|
|
4
|
+
<strong>${startItemIndex}</strong>
|
|
5
|
+
to <strong>${endItemIndex}</strong>
|
|
6
|
+
of <strong>${length}</strong>
|
|
7
|
+
`;
|
|
8
|
+
};
|
|
9
|
+
const getRangeContent = (pageIndex, totalPages) => {
|
|
10
|
+
return `
|
|
11
|
+
Page <strong>${pageIndex + 1}</strong>
|
|
12
|
+
of <strong>${totalPages}</strong>
|
|
13
|
+
`;
|
|
14
|
+
};
|
|
15
|
+
export const { PaginatorConfig, PaginatorDefaultConfig, injectPaginatorConfig, providePaginatorConfig } = createConfigTokens('Paginator', '@odx/angular/components/paginator', {
|
|
16
|
+
getSummaryContent,
|
|
17
|
+
getRangeContent,
|
|
18
|
+
pageSize: 10,
|
|
19
|
+
});
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL3BhZ2luYXRvci9zcmMvbGliL3BhZ2luYXRvci5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFtQnhELE1BQU0saUJBQWlCLEdBQXdCLENBQUMsY0FBc0IsRUFBRSxZQUFvQixFQUFFLE1BQWMsRUFBc0IsRUFBRTtJQUNsSSxPQUFPO2NBQ0ssY0FBYztpQkFDWCxZQUFZO2lCQUNaLE1BQU07R0FDcEIsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sZUFBZSxHQUFzQixDQUFDLFNBQWlCLEVBQUUsVUFBa0IsRUFBc0IsRUFBRTtJQUN2RyxPQUFPO21CQUNVLFNBQVMsR0FBRyxDQUFDO2lCQUNmLFVBQVU7R0FDeEIsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLEVBQUUsZUFBZSxFQUFFLHNCQUFzQixFQUFFLHFCQUFxQixFQUFFLHNCQUFzQixFQUFFLEdBQUcsa0JBQWtCLENBQzFILFdBQVcsRUFDWCxtQ0FBbUMsRUFDbkM7SUFDRSxpQkFBaUI7SUFDakIsZUFBZTtJQUNmLFFBQVEsRUFBRSxFQUFFO0NBQ2IsQ0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHluYW1pY1RleHRDb250ZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2Nkay9keW5hbWljLXZpZXcnO1xuaW1wb3J0IHsgY3JlYXRlQ29uZmlnVG9rZW5zIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IEdldFJhbmdlQ29udGVudEZuLCBHZXRTdW1tYXJ5Q29udGVudEZuIH0gZnJvbSAnLi9tb2RlbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luYXRvckNvbmZpZyB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge0dldFN1bW1hcnlDb250ZW50Rm59IC0gQ29udGVudCBpcyByZXNwb25zaWJsZSBmb3IgcGFnaW5hdG9yIHN1bW1hcnlcbiAgICovXG4gIGdldFN1bW1hcnlDb250ZW50OiBHZXRTdW1tYXJ5Q29udGVudEZuO1xuICAvKipcbiAgICogQHBhcmFtIHtHZXRSYW5nZUNvbnRlbnRGbn0gLSBDb250ZW50IGlzIHJlc3BvbnNpYmxlIGZvciBwYWdpbmF0b3IgcmFuZ2VcbiAgICovXG4gIGdldFJhbmdlQ29udGVudDogR2V0UmFuZ2VDb250ZW50Rm47XG4gIC8qKlxuICAgKiBEZWZhdWx0IHBhZ2luYXRvciBwYWdlIHNpemVcbiAgICogQGRlZmF1bHQgMTBcbiAgICovXG4gIHBhZ2VTaXplOiBudW1iZXI7XG59XG5cbmNvbnN0IGdldFN1bW1hcnlDb250ZW50OiBHZXRTdW1tYXJ5Q29udGVudEZuID0gKHN0YXJ0SXRlbUluZGV4OiBudW1iZXIsIGVuZEl0ZW1JbmRleDogbnVtYmVyLCBsZW5ndGg6IG51bWJlcik6IER5bmFtaWNUZXh0Q29udGVudCA9PiB7XG4gIHJldHVybiBgXG4gICAgPHN0cm9uZz4ke3N0YXJ0SXRlbUluZGV4fTwvc3Ryb25nPlxuICAgIHRvIDxzdHJvbmc+JHtlbmRJdGVtSW5kZXh9PC9zdHJvbmc+XG4gICAgb2YgPHN0cm9uZz4ke2xlbmd0aH08L3N0cm9uZz5cbiAgYDtcbn07XG5cbmNvbnN0IGdldFJhbmdlQ29udGVudDogR2V0UmFuZ2VDb250ZW50Rm4gPSAocGFnZUluZGV4OiBudW1iZXIsIHRvdGFsUGFnZXM6IG51bWJlcik6IER5bmFtaWNUZXh0Q29udGVudCA9PiB7XG4gIHJldHVybiBgXG4gICAgUGFnZSA8c3Ryb25nPiR7cGFnZUluZGV4ICsgMX08L3N0cm9uZz5cbiAgICBvZiA8c3Ryb25nPiR7dG90YWxQYWdlc308L3N0cm9uZz5cbiAgYDtcbn07XG5cbmV4cG9ydCBjb25zdCB7IFBhZ2luYXRvckNvbmZpZywgUGFnaW5hdG9yRGVmYXVsdENvbmZpZywgaW5qZWN0UGFnaW5hdG9yQ29uZmlnLCBwcm92aWRlUGFnaW5hdG9yQ29uZmlnIH0gPSBjcmVhdGVDb25maWdUb2tlbnMoXG4gICdQYWdpbmF0b3InLFxuICAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvcGFnaW5hdG9yJyxcbiAge1xuICAgIGdldFN1bW1hcnlDb250ZW50LFxuICAgIGdldFJhbmdlQ29udGVudCxcbiAgICBwYWdlU2l6ZTogMTAsXG4gIH0sXG4pO1xuIl19
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { PaginatorComponent } from './paginator.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
const modules = [PaginatorComponent];
|
|
5
|
+
export class PaginatorModule {
|
|
6
|
+
}
|
|
7
|
+
PaginatorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PaginatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
+
PaginatorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: PaginatorModule, imports: [PaginatorComponent], exports: [PaginatorComponent] });
|
|
9
|
+
PaginatorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PaginatorModule, imports: [modules] });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PaginatorModule, decorators: [{
|
|
11
|
+
type: NgModule,
|
|
12
|
+
args: [{
|
|
13
|
+
imports: modules,
|
|
14
|
+
exports: [...modules],
|
|
15
|
+
}]
|
|
16
|
+
}] });
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL3BhZ2luYXRvci9zcmMvbGliL3BhZ2luYXRvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFFM0QsTUFBTSxPQUFPLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBTXJDLE1BQU0sT0FBTyxlQUFlOzs0R0FBZixlQUFlOzZHQUFmLGVBQWUsWUFOWCxrQkFBa0IsYUFBbEIsa0JBQWtCOzZHQU10QixlQUFlLFlBSGpCLE9BQU87MkZBR0wsZUFBZTtrQkFKM0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsT0FBTztvQkFDaEIsT0FBTyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUM7aUJBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBhZ2luYXRvckNvbXBvbmVudCB9IGZyb20gJy4vcGFnaW5hdG9yLmNvbXBvbmVudCc7XG5cbmNvbnN0IG1vZHVsZXMgPSBbUGFnaW5hdG9yQ29tcG9uZW50XTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogbW9kdWxlcyxcbiAgZXhwb3J0czogWy4uLm1vZHVsZXNdLFxufSlcbmV4cG9ydCBjbGFzcyBQYWdpbmF0b3JNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2R4LWFuZ3VsYXItY29tcG9uZW50cy1wYWdpbmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9wYWdpbmF0b3Ivc3JjL29keC1hbmd1bGFyLWNvbXBvbmVudHMtcGFnaW5hdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|