@indice/ng-components 0.2.139 → 0.2.141
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/README.md +4 -4
- package/{src/assets/styles/indice-ng-icons-inline.css → _styles.css} +3501 -2286
- package/esm2020/indice-ng-components.mjs +5 -0
- package/esm2020/lib/controls/avatar-initials/avatar-initials.component.mjs +48 -0
- package/esm2020/lib/controls/collapsible-panel/collapsible-panel.component.mjs +20 -0
- package/esm2020/lib/controls/date-picker/date-picker.component.mjs +260 -0
- package/esm2020/lib/controls/drop-down-menu/drop-down-menu.component.mjs +68 -0
- package/esm2020/lib/controls/kpi-tile/kpi-tile.component.mjs +36 -0
- package/esm2020/lib/controls/list-view/list-column.component.mjs +25 -0
- package/esm2020/lib/controls/list-view/list-details-section.component.mjs +17 -0
- package/esm2020/lib/controls/list-view/list-tile.component.mjs +17 -0
- package/esm2020/lib/controls/list-view/list-view-empty-state.component.mjs +29 -0
- package/esm2020/lib/controls/list-view/list-view.component.mjs +183 -0
- package/esm2020/lib/controls/nav-links-list/nav-links-list.component.mjs +37 -0
- package/esm2020/lib/controls/notifications-indicator/notifications-indicator.component.mjs +77 -0
- package/esm2020/lib/controls/pager/pager.component.mjs +130 -0
- package/esm2020/lib/controls/side-pane/side-pane.component.mjs +72 -0
- package/esm2020/lib/controls/skeleton-loader/skeleton-loader.component.mjs +25 -0
- package/esm2020/lib/controls/toaster/toaster-container.component.mjs +28 -0
- package/esm2020/lib/controls/toaster/toaster.component.mjs +31 -0
- package/esm2020/lib/controls/toggle/toggle.component.mjs +64 -0
- package/esm2020/lib/directives/click-outside.directive.mjs +189 -0
- package/esm2020/lib/directives/dynamic-component-host.directive.mjs +17 -0
- package/esm2020/lib/helpers/base-list.component.mjs +181 -0
- package/esm2020/lib/icons.mjs +32 -0
- package/esm2020/lib/layouts/shell/shell-footer/shell-footer.component.mjs +19 -0
- package/esm2020/lib/layouts/shell/shell-header/shell-header.component.mjs +135 -0
- package/esm2020/lib/layouts/shell/shell-layout/shell-layout.component.mjs +101 -0
- package/esm2020/lib/layouts/views/form-layout/form-layout.component.mjs +80 -0
- package/esm2020/lib/layouts/views/model-view-layout/model-view-layout.component.mjs +49 -0
- package/esm2020/lib/layouts/views/side-view-layout/side-view-layout.component.mjs +98 -0
- package/esm2020/lib/layouts/views/view-layout/view-layout.component.mjs +104 -0
- package/esm2020/lib/ng-components.module.mjs +221 -0
- package/esm2020/lib/pages/auth/auth-callback/auth-callback.component.mjs +30 -0
- package/esm2020/lib/pages/auth/auth-renew/auth-renew.component.mjs +31 -0
- package/esm2020/lib/pages/auth/logged-out/logged-out.component.mjs +28 -0
- package/esm2020/lib/pages/http-status/error/error.component.mjs +17 -0
- package/esm2020/lib/pages/http-status/page-not-found/page-not-found.component.mjs +15 -0
- package/esm2020/lib/pages/http-status/unauthorized/unauthorized.component.mjs +14 -0
- package/esm2020/lib/pipes/address.pipe.mjs +21 -0
- package/esm2020/lib/pipes/duration-format.pipe.mjs +64 -0
- package/esm2020/lib/services/component-loader/component-loader-options.class.mjs +8 -0
- package/esm2020/lib/services/component-loader/component-loader.class.mjs +188 -0
- package/esm2020/lib/services/component-loader/component-loader.factory.mjs +32 -0
- package/esm2020/lib/services/component-loader/content-ref.class.mjs +13 -0
- package/esm2020/lib/services/modal-service/modal-backdrop-component.mjs +44 -0
- package/esm2020/lib/services/modal-service/modal-container-component.mjs +126 -0
- package/esm2020/lib/services/modal-service/modal-options.class.mjs +35 -0
- package/esm2020/lib/services/modal-service/modal-service.mjs +219 -0
- package/esm2020/lib/services/modal-service/modal-styles.class.mjs +11 -0
- package/esm2020/lib/services/modal-service/modal.class.mjs +27 -0
- package/esm2020/lib/services/toaster.service.mjs +24 -0
- package/esm2020/lib/tokens.mjs +5 -0
- package/esm2020/lib/types.mjs +117 -0
- package/esm2020/public-api.mjs +53 -0
- package/fesm2015/indice-ng-components.mjs +3268 -0
- package/fesm2015/indice-ng-components.mjs.map +1 -0
- package/fesm2020/indice-ng-components.mjs +3225 -0
- package/fesm2020/indice-ng-components.mjs.map +1 -0
- package/indice-ng-components.d.ts +5 -0
- package/lib/controls/avatar-initials/avatar-initials.component.d.ts +14 -0
- package/lib/controls/collapsible-panel/collapsible-panel.component.d.ts +10 -0
- package/lib/controls/date-picker/date-picker.component.d.ts +48 -0
- package/lib/controls/drop-down-menu/drop-down-menu.component.d.ts +25 -0
- package/lib/controls/kpi-tile/kpi-tile.component.d.ts +13 -0
- package/lib/controls/list-view/list-column.component.d.ts +9 -0
- package/lib/controls/list-view/list-details-section.component.d.ts +7 -0
- package/lib/controls/list-view/list-tile.component.d.ts +7 -0
- package/lib/controls/list-view/list-view-empty-state.component.d.ts +11 -0
- package/lib/controls/list-view/list-view.component.d.ts +55 -0
- package/lib/controls/nav-links-list/nav-links-list.component.d.ts +15 -0
- package/lib/controls/notifications-indicator/notifications-indicator.component.d.ts +23 -0
- package/lib/controls/pager/pager.component.d.ts +36 -0
- package/lib/controls/side-pane/side-pane.component.d.ts +18 -0
- package/lib/controls/skeleton-loader/skeleton-loader.component.d.ts +11 -0
- package/lib/controls/toaster/toaster-container.component.d.ts +13 -0
- package/lib/controls/toaster/toaster.component.d.ts +15 -0
- package/lib/controls/toggle/toggle.component.d.ts +19 -0
- package/lib/directives/click-outside.directive.d.ts +40 -0
- package/lib/directives/dynamic-component-host.directive.d.ts +9 -0
- package/lib/helpers/base-list.component.d.ts +42 -0
- package/lib/icons.d.ts +30 -0
- package/lib/layouts/shell/shell-footer/shell-footer.component.d.ts +8 -0
- package/lib/layouts/shell/shell-header/shell-header.component.d.ts +41 -0
- package/lib/layouts/shell/shell-layout/shell-layout.component.d.ts +28 -0
- package/lib/layouts/views/form-layout/form-layout.component.d.ts +24 -0
- package/lib/layouts/views/model-view-layout/model-view-layout.component.d.ts +25 -0
- package/lib/layouts/views/side-view-layout/side-view-layout.component.d.ts +28 -0
- package/lib/layouts/views/view-layout/view-layout.component.d.ts +31 -0
- package/lib/ng-components.module.d.ts +49 -0
- package/lib/pages/auth/auth-callback/auth-callback.component.d.ts +13 -0
- package/lib/pages/auth/auth-renew/auth-renew.component.d.ts +12 -0
- package/lib/pages/auth/logged-out/logged-out.component.d.ts +12 -0
- package/lib/pages/http-status/error/error.component.d.ts +8 -0
- package/lib/pages/http-status/page-not-found/page-not-found.component.d.ts +8 -0
- package/lib/pages/http-status/unauthorized/unauthorized.component.d.ts +8 -0
- package/lib/pipes/address.pipe.d.ts +8 -0
- package/lib/pipes/duration-format.pipe.d.ts +8 -0
- package/lib/services/component-loader/component-loader-options.class.d.ts +30 -0
- package/lib/services/component-loader/component-loader.class.d.ts +92 -0
- package/lib/services/component-loader/component-loader.factory.d.ts +24 -0
- package/lib/services/component-loader/content-ref.class.d.ts +12 -0
- package/lib/services/modal-service/modal-backdrop-component.d.ts +20 -0
- package/lib/services/modal-service/modal-container-component.d.ts +33 -0
- package/lib/services/modal-service/modal-options.class.d.ts +81 -0
- package/lib/services/modal-service/modal-service.d.ts +58 -0
- package/lib/services/modal-service/modal-styles.class.d.ts +10 -0
- package/lib/services/modal-service/modal.class.d.ts +43 -0
- package/lib/services/toaster.service.d.ts +11 -0
- package/lib/tokens.d.ts +5 -0
- package/lib/types.d.ts +153 -0
- package/{src/assets/styles/modal.css → modal.css} +157 -157
- package/package.json +24 -20
- package/{src/public-api.ts → public-api.d.ts} +43 -60
- package/CHANGELOG.md +0 -1
- package/karma.conf.js +0 -44
- package/ng-package.json +0 -10
- package/scripts/css-bundle.ts +0 -33
- package/src/_styles.css +0 -36
- package/src/_tests/utilities.service.spec.ts +0 -16
- package/src/assets/styles/avatar-initials.css +0 -37
- package/src/assets/styles/base.css +0 -46
- package/src/assets/styles/cards.css +0 -71
- package/src/assets/styles/collapsible-panel.css +0 -25
- package/src/assets/styles/components.css +0 -34
- package/src/assets/styles/date-picker.component.css +0 -0
- package/src/assets/styles/drop-down-menu.css +0 -50
- package/src/assets/styles/form-layout.css +0 -49
- package/src/assets/styles/list-view-empty-state.css +0 -0
- package/src/assets/styles/list-view.css +0 -64
- package/src/assets/styles/model-view-layout.css +0 -45
- package/src/assets/styles/nav-links.css +0 -35
- package/src/assets/styles/notifications-indicator.component.css +0 -43
- package/src/assets/styles/pager.css +0 -29
- package/src/assets/styles/shell-layout.css +0 -232
- package/src/assets/styles/side-pane.css +0 -46
- package/src/assets/styles/side-view-layout.css +0 -58
- package/src/assets/styles/toast.css +0 -72
- package/src/assets/styles/toggle.css +0 -26
- package/src/assets/styles/view-layout.css +0 -58
- package/src/lib/controls/avatar-initials/avatar-initials.component.html +0 -3
- package/src/lib/controls/avatar-initials/avatar-initials.component.ts +0 -47
- package/src/lib/controls/collapsible-panel/collapsible-panel.component.html +0 -15
- package/src/lib/controls/collapsible-panel/collapsible-panel.component.ts +0 -16
- package/src/lib/controls/date-picker/date-picker.component.html +0 -133
- package/src/lib/controls/date-picker/date-picker.component.ts +0 -258
- package/src/lib/controls/drop-down-menu/drop-down-menu.component.html +0 -61
- package/src/lib/controls/drop-down-menu/drop-down-menu.component.ts +0 -59
- package/src/lib/controls/kpi-tile/kpi-tile.component.html +0 -18
- package/src/lib/controls/kpi-tile/kpi-tile.component.ts +0 -26
- package/src/lib/controls/list-view/list-column.component.ts +0 -10
- package/src/lib/controls/list-view/list-details-section.component.ts +0 -8
- package/src/lib/controls/list-view/list-tile.component.ts +0 -8
- package/src/lib/controls/list-view/list-view-empty-state.component.html +0 -20
- package/src/lib/controls/list-view/list-view-empty-state.component.ts +0 -19
- package/src/lib/controls/list-view/list-view.component.html +0 -151
- package/src/lib/controls/list-view/list-view.component.ts +0 -146
- package/src/lib/controls/nav-links-list/nav-links-list.component.html +0 -27
- package/src/lib/controls/nav-links-list/nav-links-list.component.ts +0 -25
- package/src/lib/controls/notifications-indicator/notifications-indicator.component.html +0 -78
- package/src/lib/controls/notifications-indicator/notifications-indicator.component.ts +0 -75
- package/src/lib/controls/pager/pager.component.html +0 -33
- package/src/lib/controls/pager/pager.component.ts +0 -106
- package/src/lib/controls/side-pane/side-pane.component.html +0 -10
- package/src/lib/controls/side-pane/side-pane.component.ts +0 -59
- package/src/lib/controls/skeleton-loader/skeleton-loader.component.html +0 -112
- package/src/lib/controls/skeleton-loader/skeleton-loader.component.ts +0 -20
- package/src/lib/controls/toaster/toaster-container.component.html +0 -1
- package/src/lib/controls/toaster/toaster-container.component.ts +0 -27
- package/src/lib/controls/toaster/toaster.component.html +0 -103
- package/src/lib/controls/toaster/toaster.component.ts +0 -26
- package/src/lib/controls/toggle/toggle.component.html +0 -15
- package/src/lib/controls/toggle/toggle.component.ts +0 -58
- package/src/lib/directives/click-outside.directive.ts +0 -196
- package/src/lib/directives/dynamic-component-host.directive.ts +0 -7
- package/src/lib/directives/screen-size.directive.ts +0 -67
- package/src/lib/helpers/base-list.component.ts +0 -204
- package/src/lib/icons.ts +0 -39
- package/src/lib/layouts/shell/shell-footer/shell-footer.component.html +0 -71
- package/src/lib/layouts/shell/shell-footer/shell-footer.component.ts +0 -14
- package/src/lib/layouts/shell/shell-header/shell-header.component.html +0 -199
- package/src/lib/layouts/shell/shell-header/shell-header.component.ts +0 -111
- package/src/lib/layouts/shell/shell-layout/shell-layout.component.html +0 -36
- package/src/lib/layouts/shell/shell-layout/shell-layout.component.ts +0 -91
- package/src/lib/layouts/views/form-layout/form-layout.component.html +0 -67
- package/src/lib/layouts/views/form-layout/form-layout.component.ts +0 -66
- package/src/lib/layouts/views/model-view-layout/model-view-layout.component.html +0 -43
- package/src/lib/layouts/views/model-view-layout/model-view-layout.component.ts +0 -37
- package/src/lib/layouts/views/side-view-layout/side-view-layout.component.html +0 -36
- package/src/lib/layouts/views/side-view-layout/side-view-layout.component.ts +0 -67
- package/src/lib/layouts/views/view-layout/view-layout.component.html +0 -68
- package/src/lib/layouts/views/view-layout/view-layout.component.ts +0 -82
- package/src/lib/ng-components.module.ts +0 -135
- package/src/lib/pages/auth/auth-callback/auth-callback.component.html +0 -1
- package/src/lib/pages/auth/auth-callback/auth-callback.component.ts +0 -22
- package/src/lib/pages/auth/auth-renew/auth-renew.component.ts +0 -20
- package/src/lib/pages/auth/logged-out/logged-out.component.html +0 -1
- package/src/lib/pages/auth/logged-out/logged-out.component.ts +0 -22
- package/src/lib/pages/http-status/error/error.component.html +0 -13
- package/src/lib/pages/http-status/error/error.component.ts +0 -13
- package/src/lib/pages/http-status/page-not-found/page-not-found.component.html +0 -14
- package/src/lib/pages/http-status/page-not-found/page-not-found.component.ts +0 -14
- package/src/lib/pages/http-status/unauthorized/unauthorized.component.html +0 -15
- package/src/lib/pages/http-status/unauthorized/unauthorized.component.ts +0 -11
- package/src/lib/pipes/address.pipe.ts +0 -17
- package/src/lib/pipes/duration-format.pipe.ts +0 -67
- package/src/lib/services/component-loader/component-loader-options.class.ts +0 -31
- package/src/lib/services/component-loader/component-loader.class.ts +0 -226
- package/src/lib/services/component-loader/component-loader.factory.ts +0 -27
- package/src/lib/services/component-loader/content-ref.class.ts +0 -10
- package/src/lib/services/interceptors/bad-request.interceptor.ts +0 -34
- package/src/lib/services/modal-service/modal-backdrop-component.ts +0 -40
- package/src/lib/services/modal-service/modal-container-component.ts +0 -125
- package/src/lib/services/modal-service/modal-options.class.ts +0 -92
- package/src/lib/services/modal-service/modal-service.ts +0 -237
- package/src/lib/services/modal-service/modal-styles.class.ts +0 -11
- package/src/lib/services/modal-service/modal.class.ts +0 -45
- package/src/lib/services/shell-state-service.service.ts +0 -10
- package/src/lib/services/toaster.service.ts +0 -23
- package/src/lib/services/utilities.service.ts +0 -40
- package/src/lib/tokens.ts +0 -6
- package/src/lib/types.ts +0 -210
- package/src/test.ts +0 -28
- package/tsconfig.lib.json +0 -26
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -17
- package/tslint.json +0 -17
- package/webpack.config.js +0 -36
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { Icons } from '../../icons';
|
|
3
|
+
import { MenuOption } from '../../types';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/router";
|
|
6
|
+
import * as i2 from "../drop-down-menu/drop-down-menu.component";
|
|
7
|
+
import * as i3 from "@angular/common";
|
|
8
|
+
export class PagerComponent {
|
|
9
|
+
constructor(router) {
|
|
10
|
+
this.router = router;
|
|
11
|
+
// BUSY STATE
|
|
12
|
+
this.busy = false;
|
|
13
|
+
// PAGING
|
|
14
|
+
this.count = null;
|
|
15
|
+
this.page = 1;
|
|
16
|
+
// tslint:disable-next-line:no-input-rename
|
|
17
|
+
this.pageSize = 20;
|
|
18
|
+
// tslint:disable-next-line:no-input-rename
|
|
19
|
+
this.pageSizeOptions = [
|
|
20
|
+
new MenuOption('10', 10),
|
|
21
|
+
new MenuOption('20', 20),
|
|
22
|
+
new MenuOption('30', 30),
|
|
23
|
+
new MenuOption('50', 50),
|
|
24
|
+
new MenuOption('100', 100)
|
|
25
|
+
];
|
|
26
|
+
this.pages = [];
|
|
27
|
+
this.pageChanged = new EventEmitter();
|
|
28
|
+
this.pageSizeChanged = new EventEmitter();
|
|
29
|
+
this.canPreviousPage = false;
|
|
30
|
+
this.canNextPage = false;
|
|
31
|
+
// SORTING
|
|
32
|
+
// tslint:disable-next-line:no-input-rename
|
|
33
|
+
this.sortOptions = [];
|
|
34
|
+
// tslint:disable-next-line:no-input-rename
|
|
35
|
+
this.sort = null;
|
|
36
|
+
// tslint:disable-next-line:no-input-rename
|
|
37
|
+
this.sortdir = 'desc';
|
|
38
|
+
this.sortChanged = new EventEmitter();
|
|
39
|
+
this.sortdirChanged = new EventEmitter();
|
|
40
|
+
this.sortdirIcon = Icons.SortDesc;
|
|
41
|
+
}
|
|
42
|
+
ngOnChanges(changes) {
|
|
43
|
+
this.calcPages();
|
|
44
|
+
}
|
|
45
|
+
ngOnInit() {
|
|
46
|
+
}
|
|
47
|
+
calcPages() {
|
|
48
|
+
this.pages = [];
|
|
49
|
+
if (this.count && this.count > 0) {
|
|
50
|
+
const pageCount = this.count / this.pageSize;
|
|
51
|
+
for (let i = 0; i < pageCount; i++) {
|
|
52
|
+
this.pages.push(new MenuOption(i + 1 + '', i + 1));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
this.canPreviousPage = this.page > 1;
|
|
56
|
+
this.canNextPage = this.page < this.pages.length;
|
|
57
|
+
}
|
|
58
|
+
nextPage() {
|
|
59
|
+
const next = this.page + 1;
|
|
60
|
+
this.gotoPage(next);
|
|
61
|
+
}
|
|
62
|
+
previousPage() {
|
|
63
|
+
const previous = this.page - 1;
|
|
64
|
+
this.gotoPage(previous);
|
|
65
|
+
}
|
|
66
|
+
gotoPage(page) {
|
|
67
|
+
this.page = page;
|
|
68
|
+
this.pageChanged.emit(page);
|
|
69
|
+
this.calcPages();
|
|
70
|
+
}
|
|
71
|
+
pageSizeOptionChanged(pageSize) {
|
|
72
|
+
this.pageSizeChanged.emit(pageSize);
|
|
73
|
+
this.calcPages();
|
|
74
|
+
}
|
|
75
|
+
pageOptionChanged(page) {
|
|
76
|
+
this.pageChanged.emit(page);
|
|
77
|
+
this.calcPages();
|
|
78
|
+
}
|
|
79
|
+
sortOptionChanged(sort) {
|
|
80
|
+
this.sortChanged.emit(sort);
|
|
81
|
+
}
|
|
82
|
+
toggleSortdir() {
|
|
83
|
+
let sortdir = 'desc';
|
|
84
|
+
if (this.sortdir === 'desc') {
|
|
85
|
+
sortdir = 'asc';
|
|
86
|
+
this.sortdirIcon = Icons.SortAsc;
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
sortdir = 'desc';
|
|
90
|
+
this.sortdirIcon = Icons.SortDesc;
|
|
91
|
+
}
|
|
92
|
+
this.sortdirChanged.emit(sortdir);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
PagerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: PagerComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
96
|
+
PagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: PagerComponent, selector: "lib-pager", inputs: { busy: "busy", count: "count", page: "page", pageSize: ["page-size", "pageSize"], pageSizeOptions: ["page-size-options", "pageSizeOptions"], sortOptions: ["sort-options", "sortOptions"], sort: "sort", sortdir: ["sort-dir", "sortdir"] }, outputs: { pageChanged: "pageChanged", pageSizeChanged: "pageSizeChanged", sortChanged: "sortChanged", sortdirChanged: "sortdirChanged" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"pager-container\">\r\n <div class=\"pager-container-inner\">\r\n <div class=\"inline-flex\" *ngIf=\"sortOptions && sortOptions.length > 0\">\r\n <lib-drop-down-menu [options]=\"sortOptions\" [selected]=\"sort\" (selectedChanged)=\"sortOptionChanged($event)\"></lib-drop-down-menu>\r\n <button (click)=\"toggleSortdir()\" [disabled]=\"!sort || busy\" class=\"pager-icon-button\">\r\n <span class=\"sr-only\">sort direction</span>\r\n <span class=\"inline-block relative\">\r\n <i [class]=\"sortdirIcon\"></i>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"pager-pages-container\">\r\n <lib-drop-down-menu [options]=\"pageSizeOptions\" [selected]=\"pageSize\" (selectedChanged)=\"pageSizeOptionChanged($event)\"></lib-drop-down-menu>\r\n <div class=\"mx-2\" *ngIf=\"count !== null && count > pageSize\">\r\n <button [disabled]=\"!canPreviousPage || busy\" (click)=\"previousPage()\"\r\n class=\"pager-arrow-button-left\">\r\n <span class=\"sr-only\">Previous</span>\r\n <svg class=\"h-5 w-5\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z\" clip-rule=\"evenodd\" />\r\n </svg>\r\n </button>\r\n <button [disabled]=\"!canNextPage || busy\" (click)=\"nextPage()\"\r\n class=\"pager-arrow-button-right\">\r\n <span class=\"sr-only\">Next</span>\r\n <svg class=\"h-5 w-5\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z\" clip-rule=\"evenodd\" />\r\n </svg>\r\n </button>\r\n </div>\r\n <lib-drop-down-menu *ngIf=\"(pages && pages.length > 0) && (count !== null && count > pageSize)\" [options]=\"pages\" [selected]=\"page\" (selectedChanged)=\"pageOptionChanged($event)\"></lib-drop-down-menu>\r\n </div>\r\n </div>\r\n</div>\r\n", components: [{ type: i2.DropDownMenuComponent, selector: "lib-drop-down-menu", inputs: ["options", "selected", "multiple", "placeholder"], outputs: ["selectedChange", "selectedChanged"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
97
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: PagerComponent, decorators: [{
|
|
98
|
+
type: Component,
|
|
99
|
+
args: [{ selector: 'lib-pager', template: "<div class=\"pager-container\">\r\n <div class=\"pager-container-inner\">\r\n <div class=\"inline-flex\" *ngIf=\"sortOptions && sortOptions.length > 0\">\r\n <lib-drop-down-menu [options]=\"sortOptions\" [selected]=\"sort\" (selectedChanged)=\"sortOptionChanged($event)\"></lib-drop-down-menu>\r\n <button (click)=\"toggleSortdir()\" [disabled]=\"!sort || busy\" class=\"pager-icon-button\">\r\n <span class=\"sr-only\">sort direction</span>\r\n <span class=\"inline-block relative\">\r\n <i [class]=\"sortdirIcon\"></i>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"pager-pages-container\">\r\n <lib-drop-down-menu [options]=\"pageSizeOptions\" [selected]=\"pageSize\" (selectedChanged)=\"pageSizeOptionChanged($event)\"></lib-drop-down-menu>\r\n <div class=\"mx-2\" *ngIf=\"count !== null && count > pageSize\">\r\n <button [disabled]=\"!canPreviousPage || busy\" (click)=\"previousPage()\"\r\n class=\"pager-arrow-button-left\">\r\n <span class=\"sr-only\">Previous</span>\r\n <svg class=\"h-5 w-5\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z\" clip-rule=\"evenodd\" />\r\n </svg>\r\n </button>\r\n <button [disabled]=\"!canNextPage || busy\" (click)=\"nextPage()\"\r\n class=\"pager-arrow-button-right\">\r\n <span class=\"sr-only\">Next</span>\r\n <svg class=\"h-5 w-5\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z\" clip-rule=\"evenodd\" />\r\n </svg>\r\n </button>\r\n </div>\r\n <lib-drop-down-menu *ngIf=\"(pages && pages.length > 0) && (count !== null && count > pageSize)\" [options]=\"pages\" [selected]=\"page\" (selectedChanged)=\"pageOptionChanged($event)\"></lib-drop-down-menu>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
|
|
100
|
+
}], ctorParameters: function () { return [{ type: i1.Router }]; }, propDecorators: { busy: [{
|
|
101
|
+
type: Input
|
|
102
|
+
}], count: [{
|
|
103
|
+
type: Input
|
|
104
|
+
}], page: [{
|
|
105
|
+
type: Input
|
|
106
|
+
}], pageSize: [{
|
|
107
|
+
type: Input,
|
|
108
|
+
args: ['page-size']
|
|
109
|
+
}], pageSizeOptions: [{
|
|
110
|
+
type: Input,
|
|
111
|
+
args: ['page-size-options']
|
|
112
|
+
}], pageChanged: [{
|
|
113
|
+
type: Output
|
|
114
|
+
}], pageSizeChanged: [{
|
|
115
|
+
type: Output
|
|
116
|
+
}], sortOptions: [{
|
|
117
|
+
type: Input,
|
|
118
|
+
args: ['sort-options']
|
|
119
|
+
}], sort: [{
|
|
120
|
+
type: Input,
|
|
121
|
+
args: ['sort']
|
|
122
|
+
}], sortdir: [{
|
|
123
|
+
type: Input,
|
|
124
|
+
args: ['sort-dir']
|
|
125
|
+
}], sortChanged: [{
|
|
126
|
+
type: Output
|
|
127
|
+
}], sortdirChanged: [{
|
|
128
|
+
type: Output
|
|
129
|
+
}] } });
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2NvbnRyb2xzL3BhZ2VyL3BhZ2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9wYWdlci9wYWdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFekcsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7OztBQU16QyxNQUFNLE9BQU8sY0FBYztJQWlDekIsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFoQ2xDLGFBQWE7UUFDSixTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLFNBQVM7UUFDQSxVQUFLLEdBQWtCLElBQUksQ0FBQztRQUM1QixTQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLDJDQUEyQztRQUN2QixhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2xDLDJDQUEyQztRQUNmLG9CQUFlLEdBQWlCO1lBQzFELElBQUksVUFBVSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7WUFDeEIsSUFBSSxVQUFVLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUN4QixJQUFJLFVBQVUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ3hCLElBQUksVUFBVSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7WUFDeEIsSUFBSSxVQUFVLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQztTQUMzQixDQUFDO1FBQ0ssVUFBSyxHQUFpQixFQUFFLENBQUM7UUFDdEIsZ0JBQVcsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUMvRCxvQkFBZSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3RFLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRTNCLFVBQVU7UUFDViwyQ0FBMkM7UUFDcEIsZ0JBQVcsR0FBaUIsRUFBRSxDQUFDO1FBQ3RELDJDQUEyQztRQUM1QixTQUFJLEdBQWtCLElBQUksQ0FBQztRQUMxQywyQ0FBMkM7UUFDeEIsWUFBTyxHQUFrQixNQUFNLENBQUM7UUFDekMsZ0JBQVcsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUMvRCxtQkFBYyxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3JFLGdCQUFXLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztJQUVFLENBQUM7SUFFdkMsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7SUFFTyxTQUFTO1FBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFO1lBQ2hDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUM3QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNwRDtTQUNGO1FBQ0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDbkQsQ0FBQztJQUVNLFFBQVE7UUFDYixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFTSxZQUFZO1FBQ2pCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVNLFFBQVEsQ0FBQyxJQUFZO1FBQzFCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRU0scUJBQXFCLENBQUMsUUFBZ0I7UUFDM0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxJQUFZO1FBQ25DLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRU0saUJBQWlCLENBQUMsSUFBWTtRQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU0sYUFBYTtRQUNsQixJQUFJLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLE1BQU0sRUFBRTtZQUMzQixPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ2hCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztTQUNsQzthQUFNO1lBQ0wsT0FBTyxHQUFHLE1BQU0sQ0FBQztZQUNqQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7U0FDbkM7UUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwQyxDQUFDOzsyR0E5RlUsY0FBYzsrRkFBZCxjQUFjLHVjQ1QzQixvdUVBaUNBOzJGRHhCYSxjQUFjO2tCQUoxQixTQUFTOytCQUNFLFdBQVc7NkZBS1osSUFBSTtzQkFBWixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRWMsUUFBUTtzQkFBM0IsS0FBSzt1QkFBQyxXQUFXO2dCQUVVLGVBQWU7c0JBQTFDLEtBQUs7dUJBQUMsbUJBQW1CO2dCQVFoQixXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBTWdCLFdBQVc7c0JBQWpDLEtBQUs7dUJBQUMsY0FBYztnQkFFTixJQUFJO3NCQUFsQixLQUFLO3VCQUFDLE1BQU07Z0JBRU0sT0FBTztzQkFBekIsS0FBSzt1QkFBQyxVQUFVO2dCQUNQLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uLy4uL2ljb25zJztcclxuaW1wb3J0IHsgTWVudU9wdGlvbiB9IGZyb20gJy4uLy4uL3R5cGVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXBhZ2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcGFnZXIuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYWdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICAvLyBCVVNZIFNUQVRFXHJcbiAgQElucHV0KCkgYnVzeSA9IGZhbHNlO1xyXG4gIC8vIFBBR0lOR1xyXG4gIEBJbnB1dCgpIGNvdW50OiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKSBwYWdlID0gMTtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdwYWdlLXNpemUnKSBwYWdlU2l6ZSA9IDIwO1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3BhZ2Utc2l6ZS1vcHRpb25zJykgcGFnZVNpemVPcHRpb25zOiBNZW51T3B0aW9uW10gPSBbXHJcbiAgICBuZXcgTWVudU9wdGlvbignMTAnLCAxMCksXHJcbiAgICBuZXcgTWVudU9wdGlvbignMjAnLCAyMCksXHJcbiAgICBuZXcgTWVudU9wdGlvbignMzAnLCAzMCksXHJcbiAgICBuZXcgTWVudU9wdGlvbignNTAnLCA1MCksXHJcbiAgICBuZXcgTWVudU9wdGlvbignMTAwJywgMTAwKVxyXG4gIF07XHJcbiAgcHVibGljIHBhZ2VzOiBNZW51T3B0aW9uW10gPSBbXTtcclxuICBAT3V0cHV0KCkgcGFnZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgQE91dHB1dCgpIHBhZ2VTaXplQ2hhbmdlZDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICBwdWJsaWMgY2FuUHJldmlvdXNQYWdlID0gZmFsc2U7XHJcbiAgcHVibGljIGNhbk5leHRQYWdlID0gZmFsc2U7XHJcblxyXG4gIC8vIFNPUlRJTkdcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdzb3J0LW9wdGlvbnMnKSBzb3J0T3B0aW9uczogTWVudU9wdGlvbltdID0gW107XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnc29ydCcpIHNvcnQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3NvcnQtZGlyJykgc29ydGRpcjogc3RyaW5nIHwgbnVsbCA9ICdkZXNjJztcclxuICBAT3V0cHV0KCkgc29ydENoYW5nZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIHNvcnRkaXJDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIHB1YmxpYyBzb3J0ZGlySWNvbiA9IEljb25zLlNvcnREZXNjO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7IH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgdGhpcy5jYWxjUGFnZXMoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjYWxjUGFnZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnBhZ2VzID0gW107XHJcbiAgICBpZiAodGhpcy5jb3VudCAmJiB0aGlzLmNvdW50ID4gMCkge1xyXG4gICAgICBjb25zdCBwYWdlQ291bnQgPSB0aGlzLmNvdW50IC8gdGhpcy5wYWdlU2l6ZTtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYWdlQ291bnQ7IGkrKykge1xyXG4gICAgICAgIHRoaXMucGFnZXMucHVzaChuZXcgTWVudU9wdGlvbihpICsgMSArICcnLCBpICsgMSkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmNhblByZXZpb3VzUGFnZSA9IHRoaXMucGFnZSA+IDE7XHJcbiAgICB0aGlzLmNhbk5leHRQYWdlID0gdGhpcy5wYWdlIDwgdGhpcy5wYWdlcy5sZW5ndGg7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmV4dFBhZ2UoKTogdm9pZCB7XHJcbiAgICBjb25zdCBuZXh0ID0gdGhpcy5wYWdlICsgMTtcclxuICAgIHRoaXMuZ290b1BhZ2UobmV4dCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcHJldmlvdXNQYWdlKCk6IHZvaWQge1xyXG4gICAgY29uc3QgcHJldmlvdXMgPSB0aGlzLnBhZ2UgLSAxO1xyXG4gICAgdGhpcy5nb3RvUGFnZShwcmV2aW91cyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ290b1BhZ2UocGFnZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnBhZ2UgPSBwYWdlO1xyXG4gICAgdGhpcy5wYWdlQ2hhbmdlZC5lbWl0KHBhZ2UpO1xyXG4gICAgdGhpcy5jYWxjUGFnZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwYWdlU2l6ZU9wdGlvbkNoYW5nZWQocGFnZVNpemU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5wYWdlU2l6ZUNoYW5nZWQuZW1pdChwYWdlU2l6ZSk7XHJcbiAgICB0aGlzLmNhbGNQYWdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHBhZ2VPcHRpb25DaGFuZ2VkKHBhZ2U6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5wYWdlQ2hhbmdlZC5lbWl0KHBhZ2UpO1xyXG4gICAgdGhpcy5jYWxjUGFnZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzb3J0T3B0aW9uQ2hhbmdlZChzb3J0OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuc29ydENoYW5nZWQuZW1pdChzb3J0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b2dnbGVTb3J0ZGlyKCk6IHZvaWQge1xyXG4gICAgbGV0IHNvcnRkaXIgPSAnZGVzYyc7XHJcbiAgICBpZiAodGhpcy5zb3J0ZGlyID09PSAnZGVzYycpIHtcclxuICAgICAgc29ydGRpciA9ICdhc2MnO1xyXG4gICAgICB0aGlzLnNvcnRkaXJJY29uID0gSWNvbnMuU29ydEFzYztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHNvcnRkaXIgPSAnZGVzYyc7XHJcbiAgICAgIHRoaXMuc29ydGRpckljb24gPSBJY29ucy5Tb3J0RGVzYztcclxuICAgIH1cclxuICAgIHRoaXMuc29ydGRpckNoYW5nZWQuZW1pdChzb3J0ZGlyKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJwYWdlci1jb250YWluZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwicGFnZXItY29udGFpbmVyLWlubmVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaW5saW5lLWZsZXhcIiAqbmdJZj1cInNvcnRPcHRpb25zICYmIHNvcnRPcHRpb25zLmxlbmd0aCA+IDBcIj5cclxuICAgICAgPGxpYi1kcm9wLWRvd24tbWVudSBbb3B0aW9uc109XCJzb3J0T3B0aW9uc1wiIFtzZWxlY3RlZF09XCJzb3J0XCIgKHNlbGVjdGVkQ2hhbmdlZCk9XCJzb3J0T3B0aW9uQ2hhbmdlZCgkZXZlbnQpXCI+PC9saWItZHJvcC1kb3duLW1lbnU+XHJcbiAgICAgIDxidXR0b24gKGNsaWNrKT1cInRvZ2dsZVNvcnRkaXIoKVwiIFtkaXNhYmxlZF09XCIhc29ydCB8fCBidXN5XCIgY2xhc3M9XCJwYWdlci1pY29uLWJ1dHRvblwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPnNvcnQgZGlyZWN0aW9uPC9zcGFuPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaW5saW5lLWJsb2NrIHJlbGF0aXZlXCI+XHJcbiAgICAgICAgICA8aSBbY2xhc3NdPVwic29ydGRpckljb25cIj48L2k+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInBhZ2VyLXBhZ2VzLWNvbnRhaW5lclwiPlxyXG4gICAgICA8bGliLWRyb3AtZG93bi1tZW51IFtvcHRpb25zXT1cInBhZ2VTaXplT3B0aW9uc1wiIFtzZWxlY3RlZF09XCJwYWdlU2l6ZVwiIChzZWxlY3RlZENoYW5nZWQpPVwicGFnZVNpemVPcHRpb25DaGFuZ2VkKCRldmVudClcIj48L2xpYi1kcm9wLWRvd24tbWVudT5cclxuICAgICAgPGRpdiBjbGFzcz1cIm14LTJcIiAgKm5nSWY9XCJjb3VudCAhPT0gbnVsbCAmJiBjb3VudCA+IHBhZ2VTaXplXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwiIWNhblByZXZpb3VzUGFnZSB8fCBidXN5XCIgIChjbGljayk9XCJwcmV2aW91c1BhZ2UoKVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInBhZ2VyLWFycm93LWJ1dHRvbi1sZWZ0XCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5QcmV2aW91czwvc3Bhbj5cclxuICAgICAgICAgIDxzdmcgY2xhc3M9XCJoLTUgdy01XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwiY3VycmVudENvbG9yXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTEyLjcwNyA1LjI5M2ExIDEgMCAwMTAgMS40MTRMOS40MTQgMTBsMy4yOTMgMy4yOTNhMSAxIDAgMDEtMS40MTQgMS40MTRsLTQtNGExIDEgMCAwMTAtMS40MTRsNC00YTEgMSAwIDAxMS40MTQgMHpcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgLz5cclxuICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cIiFjYW5OZXh0UGFnZSB8fCBidXN5XCIgIChjbGljayk9XCJuZXh0UGFnZSgpXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwicGFnZXItYXJyb3ctYnV0dG9uLXJpZ2h0XCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5OZXh0PC9zcGFuPlxyXG4gICAgICAgICAgPHN2ZyBjbGFzcz1cImgtNSB3LTVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNNy4yOTMgMTQuNzA3YTEgMSAwIDAxMC0xLjQxNEwxMC41ODYgMTAgNy4yOTMgNi43MDdhMSAxIDAgMDExLjQxNC0xLjQxNGw0IDRhMSAxIDAgMDEwIDEuNDE0bC00IDRhMSAxIDAgMDEtMS40MTQgMHpcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgLz5cclxuICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGxpYi1kcm9wLWRvd24tbWVudSAqbmdJZj1cIihwYWdlcyAmJiBwYWdlcy5sZW5ndGggPiAwKSAmJiAoY291bnQgIT09IG51bGwgJiYgY291bnQgPiBwYWdlU2l6ZSlcIiBbb3B0aW9uc109XCJwYWdlc1wiIFtzZWxlY3RlZF09XCJwYWdlXCIgKHNlbGVjdGVkQ2hhbmdlZCk9XCJwYWdlT3B0aW9uQ2hhbmdlZCgkZXZlbnQpXCI+PC9saWItZHJvcC1kb3duLW1lbnU+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { SidePaneOverlayType, SidePaneSize } from './../../types';
|
|
2
|
+
import { Component, Input, Inject, EventEmitter, Output } from '@angular/core';
|
|
3
|
+
import { DOCUMENT } from '@angular/common';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/router";
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
|
+
export class SidePaneComponent {
|
|
8
|
+
constructor(router, document) {
|
|
9
|
+
this.router = router;
|
|
10
|
+
this.document = document;
|
|
11
|
+
// tslint:disable-next-line:no-input-rename
|
|
12
|
+
this.showPane = false;
|
|
13
|
+
this.sizeContainerStyle = 'side-pane-box-size';
|
|
14
|
+
this.overlayStyle = 'side-pane-overlay';
|
|
15
|
+
this.onComplete = new EventEmitter();
|
|
16
|
+
}
|
|
17
|
+
ngOnDestroy() {
|
|
18
|
+
}
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
}
|
|
21
|
+
onSidePaneActivated(component) {
|
|
22
|
+
this.document.body.classList.add('modal-active');
|
|
23
|
+
let sizeStyleSuffix = '';
|
|
24
|
+
const state = this.router.getCurrentNavigation()?.extras.state;
|
|
25
|
+
if (state) {
|
|
26
|
+
if (state.paneSize) {
|
|
27
|
+
if (state.paneSize === SidePaneSize.Small25) {
|
|
28
|
+
sizeStyleSuffix = '-25';
|
|
29
|
+
}
|
|
30
|
+
else if (state.paneSize === SidePaneSize.Medium50) {
|
|
31
|
+
sizeStyleSuffix = '-50';
|
|
32
|
+
}
|
|
33
|
+
else if (state.paneSize === SidePaneSize.Large75) {
|
|
34
|
+
sizeStyleSuffix = '-75';
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
if (state.paneOverlay) {
|
|
38
|
+
if (state.paneOverlay === SidePaneOverlayType.None) {
|
|
39
|
+
this.overlayStyle = 'side-pane-overlay-opacity-0';
|
|
40
|
+
}
|
|
41
|
+
else if (state.paneOverlay === SidePaneOverlayType.Dark) {
|
|
42
|
+
this.overlayStyle = 'side-pane-overlay-opacity-50';
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
this.overlayStyle = 'side-pane-overlay';
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
this.sizeContainerStyle = `side-pane-box-size${sizeStyleSuffix}`;
|
|
50
|
+
this.showPane = true;
|
|
51
|
+
}
|
|
52
|
+
onSidePaneDeactivated($event) {
|
|
53
|
+
this.document.body.classList.remove('modal-active');
|
|
54
|
+
this.showPane = false;
|
|
55
|
+
this.onComplete.emit(true);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
SidePaneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: SidePaneComponent, deps: [{ token: i1.Router }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
59
|
+
SidePaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: SidePaneComponent, selector: "lib-side-pane", inputs: { showPane: ["visible", "showPane"] }, outputs: { onComplete: "onComplete" }, ngImport: i0, template: "<div *ngIf=\"showPane\" class=\"side-pane-outer-container\" aria-labelledby=\"slide-over\" role=\"dialog\" aria-modal=\"true\">\r\n <div [class]=\"showPane ? overlayStyle : 'hidden'\" aria-hidden=\"true\"></div>\r\n <div [class]=\"showPane ? 'side-pane-container' : 'hidden'\">\r\n <div [class]=\"sizeContainerStyle\">\r\n <div class=\"side-pane\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: SidePaneComponent, decorators: [{
|
|
61
|
+
type: Component,
|
|
62
|
+
args: [{ selector: 'lib-side-pane', template: "<div *ngIf=\"showPane\" class=\"side-pane-outer-container\" aria-labelledby=\"slide-over\" role=\"dialog\" aria-modal=\"true\">\r\n <div [class]=\"showPane ? overlayStyle : 'hidden'\" aria-hidden=\"true\"></div>\r\n <div [class]=\"showPane ? 'side-pane-container' : 'hidden'\">\r\n <div [class]=\"sizeContainerStyle\">\r\n <div class=\"side-pane\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
|
|
63
|
+
}], ctorParameters: function () { return [{ type: i1.Router }, { type: undefined, decorators: [{
|
|
64
|
+
type: Inject,
|
|
65
|
+
args: [DOCUMENT]
|
|
66
|
+
}] }]; }, propDecorators: { showPane: [{
|
|
67
|
+
type: Input,
|
|
68
|
+
args: ['visible']
|
|
69
|
+
}], onComplete: [{
|
|
70
|
+
type: Output
|
|
71
|
+
}] } });
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1wYW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9zaWRlLXBhbmUvc2lkZS1wYW5lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9zaWRlLXBhbmUvc2lkZS1wYW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQU0zQyxNQUFNLE9BQU8saUJBQWlCO0lBTzVCLFlBQW9CLE1BQWMsRUFBNEIsUUFBYTtRQUF2RCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQTRCLGFBQVEsR0FBUixRQUFRLENBQUs7UUFOM0UsMkNBQTJDO1FBQ3pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDNUIsdUJBQWtCLEdBQUcsb0JBQW9CLENBQUM7UUFDMUMsaUJBQVksR0FBRyxtQkFBbUIsQ0FBQztRQUNoQyxlQUFVLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7SUFFTSxDQUFDO0lBRWpGLFdBQVc7SUFDWCxDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7SUFFTSxtQkFBbUIsQ0FBQyxTQUFjO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDakQsSUFBSSxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQy9ELElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO2dCQUNsQixJQUFJLEtBQUssQ0FBQyxRQUFRLEtBQUssWUFBWSxDQUFDLE9BQU8sRUFBRTtvQkFDM0MsZUFBZSxHQUFHLEtBQUssQ0FBQztpQkFDekI7cUJBQU0sSUFBSSxLQUFLLENBQUMsUUFBUSxLQUFLLFlBQVksQ0FBQyxRQUFRLEVBQUU7b0JBQ25ELGVBQWUsR0FBRyxLQUFLLENBQUM7aUJBQ3pCO3FCQUFNLElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxZQUFZLENBQUMsT0FBTyxFQUFFO29CQUNsRCxlQUFlLEdBQUcsS0FBSyxDQUFDO2lCQUN6QjthQUNGO1lBQ0QsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFO2dCQUNyQixJQUFJLEtBQUssQ0FBQyxXQUFXLEtBQUssbUJBQW1CLENBQUMsSUFBSSxFQUFHO29CQUNuRCxJQUFJLENBQUMsWUFBWSxHQUFHLDZCQUE2QixDQUFDO2lCQUNuRDtxQkFBTSxJQUFJLEtBQUssQ0FBQyxXQUFXLEtBQUssbUJBQW1CLENBQUMsSUFBSSxFQUFFO29CQUN6RCxJQUFJLENBQUMsWUFBWSxHQUFHLDhCQUE4QixDQUFDO2lCQUNwRDtxQkFBTTtvQkFDTCxJQUFJLENBQUMsWUFBWSxHQUFHLG1CQUFtQixDQUFDO2lCQUN6QzthQUNGO1NBQ0Y7UUFDRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcscUJBQXFCLGVBQWUsRUFBRSxDQUFDO1FBQ2pFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxNQUFXO1FBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7OEdBL0NVLGlCQUFpQix3Q0FPZ0IsUUFBUTtrR0FQekMsaUJBQWlCLDJJQ1Q5QixxY0FVQTsyRkREYSxpQkFBaUI7a0JBSjdCLFNBQVM7K0JBQ0UsZUFBZTs7MEJBVVksTUFBTTsyQkFBQyxRQUFROzRDQUxsQyxRQUFRO3NCQUF6QixLQUFLO3VCQUFDLFNBQVM7Z0JBR04sVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpZGVQYW5lT3ZlcmxheVR5cGUsIFNpZGVQYW5lU2l6ZSB9IGZyb20gJy4vLi4vLi4vdHlwZXMnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIE9uRGVzdHJveSwgSW5qZWN0LCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1zaWRlLXBhbmUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zaWRlLXBhbmUuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaWRlUGFuZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCd2aXNpYmxlJykgc2hvd1BhbmUgPSBmYWxzZTtcclxuICBwdWJsaWMgc2l6ZUNvbnRhaW5lclN0eWxlID0gJ3NpZGUtcGFuZS1ib3gtc2l6ZSc7XHJcbiAgcHVibGljIG92ZXJsYXlTdHlsZSA9ICdzaWRlLXBhbmUtb3ZlcmxheSc7XHJcbiAgQE91dHB1dCgpIG9uQ29tcGxldGU6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBhbnksKSB7IH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkICB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25TaWRlUGFuZUFjdGl2YXRlZChjb21wb25lbnQ6IGFueSk6IHZvaWQgIHtcclxuICAgIHRoaXMuZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCdtb2RhbC1hY3RpdmUnKTtcclxuICAgIGxldCBzaXplU3R5bGVTdWZmaXggPSAnJztcclxuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5yb3V0ZXIuZ2V0Q3VycmVudE5hdmlnYXRpb24oKT8uZXh0cmFzLnN0YXRlO1xyXG4gICAgaWYgKHN0YXRlKSB7XHJcbiAgICAgIGlmIChzdGF0ZS5wYW5lU2l6ZSkge1xyXG4gICAgICAgIGlmIChzdGF0ZS5wYW5lU2l6ZSA9PT0gU2lkZVBhbmVTaXplLlNtYWxsMjUpIHtcclxuICAgICAgICAgIHNpemVTdHlsZVN1ZmZpeCA9ICctMjUnO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoc3RhdGUucGFuZVNpemUgPT09IFNpZGVQYW5lU2l6ZS5NZWRpdW01MCkge1xyXG4gICAgICAgICAgc2l6ZVN0eWxlU3VmZml4ID0gJy01MCc7XHJcbiAgICAgICAgfSBlbHNlIGlmIChzdGF0ZS5wYW5lU2l6ZSA9PT0gU2lkZVBhbmVTaXplLkxhcmdlNzUpIHtcclxuICAgICAgICAgIHNpemVTdHlsZVN1ZmZpeCA9ICctNzUnO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoc3RhdGUucGFuZU92ZXJsYXkpIHtcclxuICAgICAgICBpZiAoc3RhdGUucGFuZU92ZXJsYXkgPT09IFNpZGVQYW5lT3ZlcmxheVR5cGUuTm9uZSkgIHtcclxuICAgICAgICAgIHRoaXMub3ZlcmxheVN0eWxlID0gJ3NpZGUtcGFuZS1vdmVybGF5LW9wYWNpdHktMCc7XHJcbiAgICAgICAgfSBlbHNlIGlmIChzdGF0ZS5wYW5lT3ZlcmxheSA9PT0gU2lkZVBhbmVPdmVybGF5VHlwZS5EYXJrKSB7XHJcbiAgICAgICAgICB0aGlzLm92ZXJsYXlTdHlsZSA9ICdzaWRlLXBhbmUtb3ZlcmxheS1vcGFjaXR5LTUwJztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5vdmVybGF5U3R5bGUgPSAnc2lkZS1wYW5lLW92ZXJsYXknO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5zaXplQ29udGFpbmVyU3R5bGUgPSBgc2lkZS1wYW5lLWJveC1zaXplJHtzaXplU3R5bGVTdWZmaXh9YDtcclxuICAgIHRoaXMuc2hvd1BhbmUgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uU2lkZVBhbmVEZWFjdGl2YXRlZCgkZXZlbnQ6IGFueSk6IHZvaWQgIHsgIFxyXG4gICAgdGhpcy5kb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ21vZGFsLWFjdGl2ZScpO1xyXG4gICAgdGhpcy5zaG93UGFuZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5vbkNvbXBsZXRlLmVtaXQodHJ1ZSk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwic2hvd1BhbmVcIiBjbGFzcz1cInNpZGUtcGFuZS1vdXRlci1jb250YWluZXJcIiBhcmlhLWxhYmVsbGVkYnk9XCJzbGlkZS1vdmVyXCIgcm9sZT1cImRpYWxvZ1wiIGFyaWEtbW9kYWw9XCJ0cnVlXCI+XHJcbiAgPGRpdiBbY2xhc3NdPVwic2hvd1BhbmUgPyBvdmVybGF5U3R5bGUgOiAnaGlkZGVuJ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvZGl2PlxyXG4gIDxkaXYgW2NsYXNzXT1cInNob3dQYW5lID8gJ3NpZGUtcGFuZS1jb250YWluZXInIDogJ2hpZGRlbidcIj5cclxuICAgIDxkaXYgW2NsYXNzXT1cInNpemVDb250YWluZXJTdHlsZVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic2lkZS1wYW5lXCI+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
export class SkeletonLoaderComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.count = 5;
|
|
7
|
+
this.type = 'tiles'; // 'large-tile', 'table'
|
|
8
|
+
}
|
|
9
|
+
ngOnInit() {
|
|
10
|
+
}
|
|
11
|
+
counter(i) {
|
|
12
|
+
return new Array(i);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
SkeletonLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: SkeletonLoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
16
|
+
SkeletonLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: SkeletonLoaderComponent, selector: "lib-skeleton-loader", inputs: { count: "count", type: "type" }, ngImport: i0, template: "<!-- <h1>SKELETON LOADER!</h1> -->\r\n<ng-container *ngSwitch=\"type\">\r\n <div class=\"cards-deck-4\" *ngSwitchCase=\"'tiles'\">\r\n <ng-container *ngFor=\"let i of counter(count)\">\r\n <div class=\"relative p-4 w-full bg-white rounded-lg overflow-hidden shadow hover:shadow-md rounded-lg\">\r\n <div class=\"animate-pulse flex flex-col\">\r\n <div class=\"rounded w-full h-32 bg-gray-200\"></div>\r\n <div class=\"flex flex-col mt-5\">\r\n <div class=\"w-full h-5 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-10/12 h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-8/12 h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n\r\n <div class=\"grid grid-cols-2 mt-5 gap-x-2 gap-y-1\">\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n\r\n <div class=\"flex items-center mt-5\">\r\n <div>\r\n <div class=\"rounded-full bg-gray-200 w-10 h-10\"></div>\r\n </div>\r\n <div class=\"flex justify-between w-full ml-3\">\r\n <div class=\"w-5/12 h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"w-2/12 h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"cards-deck-3\" *ngSwitchCase=\"'large-tiles'\">\r\n <ng-container *ngFor=\"let i of counter(count)\">\r\n <div class=\"relative p-4 w-full bg-white rounded-lg overflow-hidden shadow hover:shadow-md rounded-lg\">\r\n <div class=\"animate-pulse flex flex-col\">\r\n <div class=\"rounded w-full h-52 bg-gray-200\"></div>\r\n <div class=\"flex flex-col mt-5\">\r\n <div class=\"w-full h-5 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-10/12 h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-8/12 h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n\r\n <div class=\"grid grid-cols-2 mt-5 gap-x-2 gap-y-1\">\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n\r\n <div class=\"flex items-center mt-5\">\r\n <div>\r\n <div class=\"rounded-full bg-gray-200 w-10 h-10\"></div>\r\n </div>\r\n <div class=\"flex justify-between w-full ml-3\">\r\n <div class=\"w-5/12 h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"w-2/12 h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"cards-deck-1\" *ngSwitchCase=\"'table'\">\r\n <ng-container *ngFor=\"let i of counter(count)\">\r\n <div class=\"border border-light-blue-300 shadow rounded-sm p-4 max-w-sm w-full mx-auto mb-4\">\r\n <div class=\"animate-pulse flex space-x-4\">\r\n <div class=\"rounded-full bg-light-blue-400 h-12 w-12\"> </div>\r\n <div class=\"flex-1 space-y-4 py-1\">\r\n <div class=\"h-4 bg-light-blue-400 rounded w-3/4\"> </div>\r\n <div class=\"space-y-2\">\r\n <div class=\"h-4 bg-light-blue-400 rounded\"> </div>\r\n <div class=\"h-4 bg-light-blue-400 rounded w-5/6\"> </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"cards-deck-3\" *ngSwitchDefault>\r\n <ng-container *ngFor=\"let i of counter(count)\">\r\n <div class=\"relative p-4 w-full bg-white rounded-lg overflow-hidden shadow hover:shadow-md rounded-lg\">\r\n <div class=\"animate-pulse flex flex-col\">\r\n <div class=\"rounded w-full h-52 bg-gray-200\"></div>\r\n <div class=\"flex flex-col mt-5\">\r\n <div class=\"w-full h-5 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-10/12 h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-8/12 h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n\r\n <div class=\"grid grid-cols-2 mt-5 gap-x-2 gap-y-1\">\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n\r\n <div class=\"flex items-center mt-5\">\r\n <div>\r\n <div class=\"rounded-full bg-gray-200 w-10 h-10\"></div>\r\n </div>\r\n <div class=\"flex justify-between w-full ml-3\">\r\n <div class=\"w-5/12 h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"w-2/12 h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</ng-container>\r\n", directives: [{ type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }] });
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: SkeletonLoaderComponent, decorators: [{
|
|
18
|
+
type: Component,
|
|
19
|
+
args: [{ selector: 'lib-skeleton-loader', template: "<!-- <h1>SKELETON LOADER!</h1> -->\r\n<ng-container *ngSwitch=\"type\">\r\n <div class=\"cards-deck-4\" *ngSwitchCase=\"'tiles'\">\r\n <ng-container *ngFor=\"let i of counter(count)\">\r\n <div class=\"relative p-4 w-full bg-white rounded-lg overflow-hidden shadow hover:shadow-md rounded-lg\">\r\n <div class=\"animate-pulse flex flex-col\">\r\n <div class=\"rounded w-full h-32 bg-gray-200\"></div>\r\n <div class=\"flex flex-col mt-5\">\r\n <div class=\"w-full h-5 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-10/12 h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-8/12 h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n\r\n <div class=\"grid grid-cols-2 mt-5 gap-x-2 gap-y-1\">\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n\r\n <div class=\"flex items-center mt-5\">\r\n <div>\r\n <div class=\"rounded-full bg-gray-200 w-10 h-10\"></div>\r\n </div>\r\n <div class=\"flex justify-between w-full ml-3\">\r\n <div class=\"w-5/12 h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"w-2/12 h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"cards-deck-3\" *ngSwitchCase=\"'large-tiles'\">\r\n <ng-container *ngFor=\"let i of counter(count)\">\r\n <div class=\"relative p-4 w-full bg-white rounded-lg overflow-hidden shadow hover:shadow-md rounded-lg\">\r\n <div class=\"animate-pulse flex flex-col\">\r\n <div class=\"rounded w-full h-52 bg-gray-200\"></div>\r\n <div class=\"flex flex-col mt-5\">\r\n <div class=\"w-full h-5 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-10/12 h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-8/12 h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n\r\n <div class=\"grid grid-cols-2 mt-5 gap-x-2 gap-y-1\">\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n\r\n <div class=\"flex items-center mt-5\">\r\n <div>\r\n <div class=\"rounded-full bg-gray-200 w-10 h-10\"></div>\r\n </div>\r\n <div class=\"flex justify-between w-full ml-3\">\r\n <div class=\"w-5/12 h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"w-2/12 h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"cards-deck-1\" *ngSwitchCase=\"'table'\">\r\n <ng-container *ngFor=\"let i of counter(count)\">\r\n <div class=\"border border-light-blue-300 shadow rounded-sm p-4 max-w-sm w-full mx-auto mb-4\">\r\n <div class=\"animate-pulse flex space-x-4\">\r\n <div class=\"rounded-full bg-light-blue-400 h-12 w-12\"> </div>\r\n <div class=\"flex-1 space-y-4 py-1\">\r\n <div class=\"h-4 bg-light-blue-400 rounded w-3/4\"> </div>\r\n <div class=\"space-y-2\">\r\n <div class=\"h-4 bg-light-blue-400 rounded\"> </div>\r\n <div class=\"h-4 bg-light-blue-400 rounded w-5/6\"> </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"cards-deck-3\" *ngSwitchDefault>\r\n <ng-container *ngFor=\"let i of counter(count)\">\r\n <div class=\"relative p-4 w-full bg-white rounded-lg overflow-hidden shadow hover:shadow-md rounded-lg\">\r\n <div class=\"animate-pulse flex flex-col\">\r\n <div class=\"rounded w-full h-52 bg-gray-200\"></div>\r\n <div class=\"flex flex-col mt-5\">\r\n <div class=\"w-full h-5 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-10/12 h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-8/12 h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n\r\n <div class=\"grid grid-cols-2 mt-5 gap-x-2 gap-y-1\">\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"mt-2 w-full h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n\r\n <div class=\"flex items-center mt-5\">\r\n <div>\r\n <div class=\"rounded-full bg-gray-200 w-10 h-10\"></div>\r\n </div>\r\n <div class=\"flex justify-between w-full ml-3\">\r\n <div class=\"w-5/12 h-3 bg-gray-200 rounded\"></div>\r\n <div class=\"w-2/12 h-3 bg-gray-200 rounded\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</ng-container>\r\n" }]
|
|
20
|
+
}], ctorParameters: function () { return []; }, propDecorators: { count: [{
|
|
21
|
+
type: Input
|
|
22
|
+
}], type: [{
|
|
23
|
+
type: Input
|
|
24
|
+
}] } });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlbGV0b24tbG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9za2VsZXRvbi1sb2FkZXIvc2tlbGV0b24tbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9za2VsZXRvbi1sb2FkZXIvc2tlbGV0b24tbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7QUFPekQsTUFBTSxPQUFPLHVCQUF1QjtJQUdsQztRQUZTLFVBQUssR0FBRyxDQUFDLENBQUM7UUFDVixTQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsd0JBQXdCO0lBQ2pDLENBQUM7SUFFakIsUUFBUTtJQUNSLENBQUM7SUFFTSxPQUFPLENBQUMsQ0FBUztRQUN0QixPQUFPLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7O29IQVZVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLHFHQ1BwQyx1eUtBZ0hBOzJGRHpHYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBRUUscUJBQXFCOzBFQUl0QixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6ICdsaWItc2tlbGV0b24tbG9hZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2tlbGV0b24tbG9hZGVyLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2tlbGV0b25Mb2FkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIGNvdW50ID0gNTtcclxuICBASW5wdXQoKSB0eXBlID0gJ3RpbGVzJzsgLy8gJ2xhcmdlLXRpbGUnLCAndGFibGUnXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY291bnRlcihpOiBudW1iZXIpOiBudW1iZXJbXSB7XHJcbiAgICByZXR1cm4gbmV3IEFycmF5KGkpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPCEtLSA8aDE+U0tFTEVUT04gTE9BREVSITwvaDE+IC0tPlxyXG48bmctY29udGFpbmVyICpuZ1N3aXRjaD1cInR5cGVcIj5cclxuICA8ZGl2IGNsYXNzPVwiY2FyZHMtZGVjay00XCIgKm5nU3dpdGNoQ2FzZT1cIid0aWxlcydcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGkgb2YgY291bnRlcihjb3VudClcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJlbGF0aXZlIHAtNCB3LWZ1bGwgYmctd2hpdGUgcm91bmRlZC1sZyBvdmVyZmxvdy1oaWRkZW4gc2hhZG93IGhvdmVyOnNoYWRvdy1tZCByb3VuZGVkLWxnXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFuaW1hdGUtcHVsc2UgZmxleCBmbGV4LWNvbFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJvdW5kZWQgdy1mdWxsIGgtMzIgYmctZ3JheS0yMDBcIj48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIG10LTVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctZnVsbCBoLTUgYmctZ3JheS0yMDAgcm91bmRlZFwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMiB3LTEwLzEyIGgtMyBiZy1ncmF5LTIwMCByb3VuZGVkXCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0yIHctOC8xMiBoLTMgYmctZ3JheS0yMDAgcm91bmRlZFwiPjwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTIgbXQtNSBnYXAteC0yIGdhcC15LTFcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTIgdy1mdWxsIGgtMyBiZy1ncmF5LTIwMCByb3VuZGVkXCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0yIHctZnVsbCBoLTMgYmctZ3JheS0yMDAgcm91bmRlZFwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMiB3LWZ1bGwgaC0zIGJnLWdyYXktMjAwIHJvdW5kZWRcIj48L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTIgdy1mdWxsIGgtMyBiZy1ncmF5LTIwMCByb3VuZGVkXCI+PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgbXQtNVwiPlxyXG4gICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3VuZGVkLWZ1bGwgYmctZ3JheS0yMDAgdy0xMCBoLTEwXCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gdy1mdWxsIG1sLTNcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy01LzEyIGgtMyBiZy1ncmF5LTIwMCByb3VuZGVkXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMi8xMiBoLTMgYmctZ3JheS0yMDAgcm91bmRlZFwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJjYXJkcy1kZWNrLTNcIiAqbmdTd2l0Y2hDYXNlPVwiJ2xhcmdlLXRpbGVzJ1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaSBvZiBjb3VudGVyKGNvdW50KVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpdmUgcC00IHctZnVsbCBiZy13aGl0ZSByb3VuZGVkLWxnIG92ZXJmbG93LWhpZGRlbiBzaGFkb3cgaG92ZXI6c2hhZG93LW1kIHJvdW5kZWQtbGdcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYW5pbWF0ZS1wdWxzZSBmbGV4IGZsZXgtY29sXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicm91bmRlZCB3LWZ1bGwgaC01MiBiZy1ncmF5LTIwMFwiPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgbXQtNVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy1mdWxsIGgtNSBiZy1ncmF5LTIwMCByb3VuZGVkXCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0yIHctMTAvMTIgaC0zIGJnLWdyYXktMjAwIHJvdW5kZWRcIj48L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTIgdy04LzEyIGgtMyBiZy1ncmF5LTIwMCByb3VuZGVkXCI+PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBncmlkLWNvbHMtMiBtdC01IGdhcC14LTIgZ2FwLXktMVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMiB3LWZ1bGwgaC0zIGJnLWdyYXktMjAwIHJvdW5kZWRcIj48L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTIgdy1mdWxsIGgtMyBiZy1ncmF5LTIwMCByb3VuZGVkXCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0yIHctZnVsbCBoLTMgYmctZ3JheS0yMDAgcm91bmRlZFwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMiB3LWZ1bGwgaC0zIGJnLWdyYXktMjAwIHJvdW5kZWRcIj48L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBtdC01XCI+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdW5kZWQtZnVsbCBiZy1ncmF5LTIwMCB3LTEwIGgtMTBcIj48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiB3LWZ1bGwgbWwtM1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTUvMTIgaC0zIGJnLWdyYXktMjAwIHJvdW5kZWRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0yLzEyIGgtMyBiZy1ncmF5LTIwMCByb3VuZGVkXCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImNhcmRzLWRlY2stMVwiICpuZ1N3aXRjaENhc2U9XCIndGFibGUnXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpIG9mIGNvdW50ZXIoY291bnQpXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXIgYm9yZGVyLWxpZ2h0LWJsdWUtMzAwIHNoYWRvdyByb3VuZGVkLXNtIHAtNCBtYXgtdy1zbSB3LWZ1bGwgbXgtYXV0byBtYi00XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFuaW1hdGUtcHVsc2UgZmxleCBzcGFjZS14LTRcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3VuZGVkLWZ1bGwgYmctbGlnaHQtYmx1ZS00MDAgaC0xMiB3LTEyXCI+Jm5ic3A7PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC0xIHNwYWNlLXktNCBweS0xXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoLTQgYmctbGlnaHQtYmx1ZS00MDAgcm91bmRlZCB3LTMvNFwiPiZuYnNwOzwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3BhY2UteS0yXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImgtNCBiZy1saWdodC1ibHVlLTQwMCByb3VuZGVkXCI+Jm5ic3A7PC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImgtNCBiZy1saWdodC1ibHVlLTQwMCByb3VuZGVkIHctNS82XCI+Jm5ic3A7PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImNhcmRzLWRlY2stM1wiICpuZ1N3aXRjaERlZmF1bHQ+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpIG9mIGNvdW50ZXIoY291bnQpXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyZWxhdGl2ZSBwLTQgdy1mdWxsIGJnLXdoaXRlIHJvdW5kZWQtbGcgb3ZlcmZsb3ctaGlkZGVuIHNoYWRvdyBob3ZlcjpzaGFkb3ctbWQgcm91bmRlZC1sZ1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhbmltYXRlLXB1bHNlIGZsZXggZmxleC1jb2xcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3VuZGVkIHctZnVsbCBoLTUyIGJnLWdyYXktMjAwXCI+PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBtdC01XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgaC01IGJnLWdyYXktMjAwIHJvdW5kZWRcIj48L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTIgdy0xMC8xMiBoLTMgYmctZ3JheS0yMDAgcm91bmRlZFwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMiB3LTgvMTIgaC0zIGJnLWdyYXktMjAwIHJvdW5kZWRcIj48L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGdyaWQtY29scy0yIG10LTUgZ2FwLXgtMiBnYXAteS0xXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0yIHctZnVsbCBoLTMgYmctZ3JheS0yMDAgcm91bmRlZFwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMiB3LWZ1bGwgaC0zIGJnLWdyYXktMjAwIHJvdW5kZWRcIj48L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTIgdy1mdWxsIGgtMyBiZy1ncmF5LTIwMCByb3VuZGVkXCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0yIHctZnVsbCBoLTMgYmctZ3JheS0yMDAgcm91bmRlZFwiPjwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIG10LTVcIj5cclxuICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm91bmRlZC1mdWxsIGJnLWdyYXktMjAwIHctMTAgaC0xMFwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIHctZnVsbCBtbC0zXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctNS8xMiBoLTMgYmctZ3JheS0yMDAgcm91bmRlZFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTIvMTIgaC0zIGJnLWdyYXktMjAwIHJvdW5kZWRcIj48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../services/toaster.service";
|
|
4
|
+
import * as i2 from "./toaster.component";
|
|
5
|
+
import * as i3 from "@angular/common";
|
|
6
|
+
export class ToasterContainerComponent {
|
|
7
|
+
constructor(toaster) {
|
|
8
|
+
this.toaster = toaster;
|
|
9
|
+
this.toasts = [];
|
|
10
|
+
}
|
|
11
|
+
ngOnInit() {
|
|
12
|
+
this.toaster.toast$
|
|
13
|
+
.subscribe(toast => {
|
|
14
|
+
this.toasts = [toast, ...this.toasts];
|
|
15
|
+
setTimeout(() => this.toasts.pop(), toast.delay || 6000);
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
remove(index) {
|
|
19
|
+
this.toasts = this.toasts.slice(0, index).concat(this.toasts.slice(index + 1));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
ToasterContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ToasterContainerComponent, deps: [{ token: i1.ToasterService }], target: i0.ɵɵFactoryTarget.Component });
|
|
23
|
+
ToasterContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: ToasterContainerComponent, selector: "lib-toaster-container", ngImport: i0, template: "<lib-toaster *ngFor=\"let toast of toasts; let i=index\" [toast]=\"toast\" [i]=\"i\" (remove)=\"remove($event)\"></lib-toaster>\r\n", components: [{ type: i2.ToasterComponent, selector: "lib-toaster", inputs: ["toast", "i"], outputs: ["remove"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ToasterContainerComponent, decorators: [{
|
|
25
|
+
type: Component,
|
|
26
|
+
args: [{ selector: 'lib-toaster-container', template: "<lib-toaster *ngFor=\"let toast of toasts; let i=index\" [toast]=\"toast\" [i]=\"i\" (remove)=\"remove($event)\"></lib-toaster>\r\n" }]
|
|
27
|
+
}], ctorParameters: function () { return [{ type: i1.ToasterService }]; } });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2NvbnRyb2xzL3RvYXN0ZXIvdG9hc3Rlci1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2NvbnRyb2xzL3RvYXN0ZXIvdG9hc3Rlci1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFRbEQsTUFBTSxPQUFPLHlCQUF5QjtJQUlwQyxZQUFvQixPQUF1QjtRQUF2QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUYzQyxXQUFNLEdBQVksRUFBRSxDQUFDO0lBRTBCLENBQUM7SUFFaEQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTTthQUNoQixTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0QyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsRUFBRSxLQUFLLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQzNELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFhO1FBQ2xCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRixDQUFDOztzSEFoQlUseUJBQXlCOzBHQUF6Qix5QkFBeUIsNkRDUnRDLHFJQUNBOzJGRE9hLHlCQUF5QjtrQkFKckMsU0FBUzsrQkFDRSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUb2FzdGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RvYXN0ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFRvYXN0IH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdG9hc3Rlci1jb250YWluZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90b2FzdGVyLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRvYXN0ZXJDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICB0b2FzdHM6IFRvYXN0W10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0b2FzdGVyOiBUb2FzdGVyU2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy50b2FzdGVyLnRvYXN0JFxyXG4gICAgICAuc3Vic2NyaWJlKHRvYXN0ID0+IHtcclxuICAgICAgICB0aGlzLnRvYXN0cyA9IFt0b2FzdCwgLi4udGhpcy50b2FzdHNdO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy50b2FzdHMucG9wKCksIHRvYXN0LmRlbGF5IHx8IDYwMDApO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlbW92ZShpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnRvYXN0cyA9IHRoaXMudG9hc3RzLnNsaWNlKDAsIGluZGV4KS5jb25jYXQodGhpcy50b2FzdHMuc2xpY2UoaW5kZXggKyAxKSk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8bGliLXRvYXN0ZXIgKm5nRm9yPVwibGV0IHRvYXN0IG9mIHRvYXN0czsgbGV0IGk9aW5kZXhcIiBbdG9hc3RdPVwidG9hc3RcIiBbaV09XCJpXCIgKHJlbW92ZSk9XCJyZW1vdmUoJGV2ZW50KVwiPjwvbGliLXRvYXN0ZXI+XHJcbiJdfQ==
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
export class ToasterComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.i = 0;
|
|
7
|
+
this.remove = new EventEmitter();
|
|
8
|
+
this.isMobile = false;
|
|
9
|
+
this.closed = false;
|
|
10
|
+
}
|
|
11
|
+
ngOnInit() {
|
|
12
|
+
window.screen.width > 640 ? this.isMobile = false : this.isMobile = true;
|
|
13
|
+
}
|
|
14
|
+
closeToast(index) {
|
|
15
|
+
this.closed = true;
|
|
16
|
+
setTimeout(() => this.remove.emit(index), 100);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
ToasterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ToasterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
+
ToasterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: ToasterComponent, selector: "lib-toaster", inputs: { toast: "toast", i: "i" }, outputs: { remove: "remove" }, ngImport: i0, template: "<div aria-live=\"assertive\"\r\n [ngClass]=\"closed ? 'toast-closed': 'toast z-50'\"\r\n [ngStyle]=\"isMobile ? { 'margin-bottom.px': i * 85 } : {'margin-top.px': i * 85 }\">\r\n <div class=\"toast-container\">\r\n <div class=\"toast-pill\">\r\n <div class=\"toast-context-padding\">\r\n <div class=\"toast-context\"\r\n [ngSwitch]=\"toast?.type\">\r\n <div class=\"toast-icon\"\r\n *ngSwitchCase=\"'info'\">\r\n <svg class=\"h-5 w-5 text-blue-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </div>\r\n <div class=\"toast-icon\"\r\n *ngSwitchCase=\"'success'\">\r\n <svg class=\"h-5 w-5 text-green-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\" />\r\n </svg>\r\n </div>\r\n <div class=\"toast-icon\"\r\n *ngSwitchCase=\"'error'\">\r\n <svg class=\"h-5 w-5 text-red-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </div>\r\n <div class=\"toast-icon\"\r\n *ngSwitchCase=\"'warning'\">\r\n <svg class=\"h-5 w-5 text-yellow-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </div>\r\n <div class=\"toast-icon\"\r\n *ngSwitchDefault>\r\n <svg class=\"h-5 w-5 text-green-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\" />\r\n </svg>\r\n </div>\r\n\r\n <div class=\"ml-3 w-0 flex-1\">\r\n <p class=\"toast-title\"\r\n *ngIf=\"toast?.title\">\r\n {{toast?.title}}\r\n </p>\r\n <p class=\"toast-body\">\r\n {{toast?.body}}\r\n </p>\r\n </div>\r\n <div class=\"toast-close-icon\">\r\n <button class=\"toast-close-button\"\r\n (click)=\"closeToast(i)\">\r\n <span class=\"sr-only\">Close</span>\r\n <!-- Heroicon name: solid/x -->\r\n <svg class=\"h-5 w-5\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ToasterComponent, decorators: [{
|
|
22
|
+
type: Component,
|
|
23
|
+
args: [{ selector: 'lib-toaster', template: "<div aria-live=\"assertive\"\r\n [ngClass]=\"closed ? 'toast-closed': 'toast z-50'\"\r\n [ngStyle]=\"isMobile ? { 'margin-bottom.px': i * 85 } : {'margin-top.px': i * 85 }\">\r\n <div class=\"toast-container\">\r\n <div class=\"toast-pill\">\r\n <div class=\"toast-context-padding\">\r\n <div class=\"toast-context\"\r\n [ngSwitch]=\"toast?.type\">\r\n <div class=\"toast-icon\"\r\n *ngSwitchCase=\"'info'\">\r\n <svg class=\"h-5 w-5 text-blue-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </div>\r\n <div class=\"toast-icon\"\r\n *ngSwitchCase=\"'success'\">\r\n <svg class=\"h-5 w-5 text-green-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\" />\r\n </svg>\r\n </div>\r\n <div class=\"toast-icon\"\r\n *ngSwitchCase=\"'error'\">\r\n <svg class=\"h-5 w-5 text-red-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </div>\r\n <div class=\"toast-icon\"\r\n *ngSwitchCase=\"'warning'\">\r\n <svg class=\"h-5 w-5 text-yellow-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </div>\r\n <div class=\"toast-icon\"\r\n *ngSwitchDefault>\r\n <svg class=\"h-5 w-5 text-green-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\" />\r\n </svg>\r\n </div>\r\n\r\n <div class=\"ml-3 w-0 flex-1\">\r\n <p class=\"toast-title\"\r\n *ngIf=\"toast?.title\">\r\n {{toast?.title}}\r\n </p>\r\n <p class=\"toast-body\">\r\n {{toast?.body}}\r\n </p>\r\n </div>\r\n <div class=\"toast-close-icon\">\r\n <button class=\"toast-close-button\"\r\n (click)=\"closeToast(i)\">\r\n <span class=\"sr-only\">Close</span>\r\n <!-- Heroicon name: solid/x -->\r\n <svg class=\"h-5 w-5\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
|
|
24
|
+
}], ctorParameters: function () { return []; }, propDecorators: { toast: [{
|
|
25
|
+
type: Input
|
|
26
|
+
}], i: [{
|
|
27
|
+
type: Input
|
|
28
|
+
}], remove: [{
|
|
29
|
+
type: Output
|
|
30
|
+
}] } });
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb21wb25lbnRzL3NyYy9saWIvY29udHJvbHMvdG9hc3Rlci90b2FzdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy90b2FzdGVyL3RvYXN0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTy9FLE1BQU0sT0FBTyxnQkFBZ0I7SUFRM0I7UUFMUyxNQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ0wsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDdkMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixXQUFNLEdBQUcsS0FBSyxDQUFDO0lBRU4sQ0FBQztJQUVqQixRQUFRO1FBQ04sTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDM0UsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUFhO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNqRCxDQUFDOzs2R0FqQlUsZ0JBQWdCO2lHQUFoQixnQkFBZ0Isc0hDUDdCLHl2SkFzR007MkZEL0ZPLGdCQUFnQjtrQkFKNUIsU0FBUzsrQkFDRSxhQUFhOzBFQUtkLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxDQUFDO3NCQUFULEtBQUs7Z0JBQ0ksTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUb2FzdCB9IGZyb20gJy4uLy4uL3R5cGVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXRvYXN0ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90b2FzdGVyLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9hc3RlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIHRvYXN0OiBUb2FzdCB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBpID0gMDtcclxuICBAT3V0cHV0KCkgcmVtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgcHVibGljIGlzTW9iaWxlID0gZmFsc2U7XHJcbiAgcHVibGljIGNsb3NlZCA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHdpbmRvdy5zY3JlZW4ud2lkdGggPiA2NDAgPyB0aGlzLmlzTW9iaWxlID0gZmFsc2UgOiB0aGlzLmlzTW9iaWxlID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbG9zZVRvYXN0KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xvc2VkID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZW1vdmUuZW1pdChpbmRleCksIDEwMCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCJcclxuICAgICBbbmdDbGFzc109XCJjbG9zZWQgPyAndG9hc3QtY2xvc2VkJzogJ3RvYXN0IHotNTAnXCJcclxuICAgICBbbmdTdHlsZV09XCJpc01vYmlsZSA/IHsgJ21hcmdpbi1ib3R0b20ucHgnOiBpICogODUgfSA6IHsnbWFyZ2luLXRvcC5weCc6IGkgKiA4NSB9XCI+XHJcbiAgPGRpdiBjbGFzcz1cInRvYXN0LWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInRvYXN0LXBpbGxcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRvYXN0LWNvbnRleHQtcGFkZGluZ1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0b2FzdC1jb250ZXh0XCJcclxuICAgICAgICAgICAgIFtuZ1N3aXRjaF09XCJ0b2FzdD8udHlwZVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRvYXN0LWljb25cIlxyXG4gICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2luZm8nXCI+XHJcbiAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJoLTUgdy01IHRleHQtYmx1ZS00MDBcIlxyXG4gICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxyXG4gICAgICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxyXG4gICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgIGQ9XCJNMTggMTBhOCA4IDAgMTEtMTYgMCA4IDggMCAwMTE2IDB6bS03LTRhMSAxIDAgMTEtMiAwIDEgMSAwIDAxMiAwek05IDlhMSAxIDAgMDAwIDJ2M2ExIDEgMCAwMDEgMWgxYTEgMSAwIDEwMC0ydi0zYTEgMSAwIDAwLTEtMUg5elwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIC8+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9hc3QtaWNvblwiXHJcbiAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInc3VjY2VzcydcIj5cclxuICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImgtNSB3LTUgdGV4dC1ncmVlbi00MDBcIlxyXG4gICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxyXG4gICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIyXCJcclxuICAgICAgICAgICAgICAgICAgICBkPVwiTTkgMTJsMiAyIDQtNG02IDJhOSA5IDAgMTEtMTggMCA5IDkgMCAwMTE4IDB6XCIgLz5cclxuICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b2FzdC1pY29uXCJcclxuICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidlcnJvcidcIj5cclxuICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImgtNSB3LTUgdGV4dC1yZWQtNDAwXCJcclxuICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcclxuICAgICAgICAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcclxuICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgICBkPVwiTTEwIDE4YTggOCAwIDEwMC0xNiA4IDggMCAwMDAgMTZ6TTguNzA3IDcuMjkzYTEgMSAwIDAwLTEuNDE0IDEuNDE0TDguNTg2IDEwbC0xLjI5MyAxLjI5M2ExIDEgMCAxMDEuNDE0IDEuNDE0TDEwIDExLjQxNGwxLjI5MyAxLjI5M2ExIDEgMCAwMDEuNDE0LTEuNDE0TDExLjQxNCAxMGwxLjI5My0xLjI5M2ExIDEgMCAwMC0xLjQxNC0xLjQxNEwxMCA4LjU4NiA4LjcwNyA3LjI5M3pcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiAvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRvYXN0LWljb25cIlxyXG4gICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ3dhcm5pbmcnXCI+XHJcbiAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJoLTUgdy01IHRleHQteWVsbG93LTQwMFwiXHJcbiAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyMCAyMFwiXHJcbiAgICAgICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXHJcbiAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgZD1cIk04LjI1NyAzLjA5OWMuNzY1LTEuMzYgMi43MjItMS4zNiAzLjQ4NiAwbDUuNTggOS45MmMuNzUgMS4zMzQtLjIxMyAyLjk4LTEuNzQyIDIuOThINC40MmMtMS41MyAwLTIuNDkzLTEuNjQ2LTEuNzQzLTIuOThsNS41OC05Ljkyek0xMSAxM2ExIDEgMCAxMS0yIDAgMSAxIDAgMDEyIDB6bS0xLThhMSAxIDAgMDAtMSAxdjNhMSAxIDAgMDAyIDBWNmExIDEgMCAwMC0xLTF6XCJcclxuICAgICAgICAgICAgICAgICAgICBjbGlwLXJ1bGU9XCJldmVub2RkXCIgLz5cclxuICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b2FzdC1pY29uXCJcclxuICAgICAgICAgICAgICAgKm5nU3dpdGNoRGVmYXVsdD5cclxuICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImgtNSB3LTUgdGV4dC1ncmVlbi00MDBcIlxyXG4gICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxyXG4gICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIyXCJcclxuICAgICAgICAgICAgICAgICAgICBkPVwiTTkgMTJsMiAyIDQtNG02IDJhOSA5IDAgMTEtMTggMCA5IDkgMCAwMTE4IDB6XCIgLz5cclxuICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWwtMyB3LTAgZmxleC0xXCI+XHJcbiAgICAgICAgICAgIDxwIGNsYXNzPVwidG9hc3QtdGl0bGVcIlxyXG4gICAgICAgICAgICAgICAqbmdJZj1cInRvYXN0Py50aXRsZVwiPlxyXG4gICAgICAgICAgICAgIHt7dG9hc3Q/LnRpdGxlfX1cclxuICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICA8cCBjbGFzcz1cInRvYXN0LWJvZHlcIj5cclxuICAgICAgICAgICAgICB7e3RvYXN0Py5ib2R5fX1cclxuICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9hc3QtY2xvc2UtaWNvblwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwidG9hc3QtY2xvc2UtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VUb2FzdChpKVwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPkNsb3NlPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwhLS0gSGVyb2ljb24gbmFtZTogc29saWQveCAtLT5cclxuICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwiaC01IHctNVwiXHJcbiAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXHJcbiAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgZD1cIk00LjI5MyA0LjI5M2ExIDEgMCAwMTEuNDE0IDBMMTAgOC41ODZsNC4yOTMtNC4yOTNhMSAxIDAgMTExLjQxNCAxLjQxNEwxMS40MTQgMTBsNC4yOTMgNC4yOTNhMSAxIDAgMDEtMS40MTQgMS40MTRMMTAgMTEuNDE0bC00LjI5MyA0LjI5M2ExIDEgMCAwMS0xLjQxNC0xLjQxNEw4LjU4NiAxMCA0LjI5MyA1LjcwN2ExIDEgMCAwMTAtMS40MTR6XCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiAvPlxyXG4gICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
export class ToggleComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.valueChange = new EventEmitter();
|
|
8
|
+
this.onChange$ = undefined;
|
|
9
|
+
this.onTouched$ = undefined;
|
|
10
|
+
}
|
|
11
|
+
writeValue(obj) {
|
|
12
|
+
if (obj) {
|
|
13
|
+
this.value = obj || false;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
registerOnChange(fn) {
|
|
17
|
+
this.onChange$ = fn;
|
|
18
|
+
}
|
|
19
|
+
registerOnTouched(fn) {
|
|
20
|
+
this.onTouched$ = fn;
|
|
21
|
+
}
|
|
22
|
+
onBlur(event) {
|
|
23
|
+
if (this.onTouched$) {
|
|
24
|
+
this.onTouched$();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
ngOnInit() {
|
|
28
|
+
}
|
|
29
|
+
changeValue() {
|
|
30
|
+
this.value = !this.value;
|
|
31
|
+
this.valueChange.emit(this.value);
|
|
32
|
+
if (this.onChange$) {
|
|
33
|
+
this.onChange$(this.value);
|
|
34
|
+
}
|
|
35
|
+
if (this.onTouched$) {
|
|
36
|
+
this.onTouched$();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
ToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
41
|
+
ToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: ToggleComponent, selector: "lib-toggle", inputs: { value: "value", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, providers: [
|
|
42
|
+
{
|
|
43
|
+
provide: NG_VALUE_ACCESSOR,
|
|
44
|
+
useExisting: forwardRef(() => ToggleComponent),
|
|
45
|
+
multi: true
|
|
46
|
+
}
|
|
47
|
+
], ngImport: i0, template: "<button type=\"button\"\r\n [ngClass]=\"value ? (disabled ? 'on disabled' : 'on') : 'off'\"\r\n class=\"toggle-button\"\r\n role=\"switch\"\r\n aria-checked=\"false\"\r\n aria-labelledby=\"isPrivate\"\r\n (click)=\"changeValue()\"\r\n (blur)=\"onBlur($event)\"\r\n value=\"{{value}}\"\r\n [disabled]=\"disabled\"\r\n [title]=\"disabled ? '\u03A4\u03BF \u03B1\u03C1\u03C7\u03B5\u03AF\u03BF \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03B9\u03B4\u03C9\u03C4\u03B9\u03BA\u03CC' : '\u0399\u03B4\u03B9\u03C9\u03C4\u03B9\u03BA\u03CC'\">\r\n <span aria-hidden=\"true\"\r\n [ngClass]=\"value ? 'enabled-anim' : 'disabled-anim'\"\r\n class=\"toggle-span\"></span>\r\n</button>", directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ToggleComponent, decorators: [{
|
|
49
|
+
type: Component,
|
|
50
|
+
args: [{ selector: 'lib-toggle', providers: [
|
|
51
|
+
{
|
|
52
|
+
provide: NG_VALUE_ACCESSOR,
|
|
53
|
+
useExisting: forwardRef(() => ToggleComponent),
|
|
54
|
+
multi: true
|
|
55
|
+
}
|
|
56
|
+
], template: "<button type=\"button\"\r\n [ngClass]=\"value ? (disabled ? 'on disabled' : 'on') : 'off'\"\r\n class=\"toggle-button\"\r\n role=\"switch\"\r\n aria-checked=\"false\"\r\n aria-labelledby=\"isPrivate\"\r\n (click)=\"changeValue()\"\r\n (blur)=\"onBlur($event)\"\r\n value=\"{{value}}\"\r\n [disabled]=\"disabled\"\r\n [title]=\"disabled ? '\u03A4\u03BF \u03B1\u03C1\u03C7\u03B5\u03AF\u03BF \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03B9\u03B4\u03C9\u03C4\u03B9\u03BA\u03CC' : '\u0399\u03B4\u03B9\u03C9\u03C4\u03B9\u03BA\u03CC'\">\r\n <span aria-hidden=\"true\"\r\n [ngClass]=\"value ? 'enabled-anim' : 'disabled-anim'\"\r\n class=\"toggle-span\"></span>\r\n</button>" }]
|
|
57
|
+
}], ctorParameters: function () { return []; }, propDecorators: { value: [{
|
|
58
|
+
type: Input
|
|
59
|
+
}], disabled: [{
|
|
60
|
+
type: Input
|
|
61
|
+
}], valueChange: [{
|
|
62
|
+
type: Output
|
|
63
|
+
}] } });
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy90b2dnbGUvdG9nZ2xlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy90b2dnbGUvdG9nZ2xlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxpQkFBaUIsRUFBd0IsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBYXpFLE1BQU0sT0FBTyxlQUFlO0lBVTFCO1FBTFUsZ0JBQVcsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUVuRSxjQUFTLEdBQW9CLFNBQVMsQ0FBQztRQUN2QyxlQUFVLEdBQW9CLFNBQVMsQ0FBQztJQUVoQyxDQUFDO0lBRWpCLFVBQVUsQ0FBQyxHQUFRO1FBQ2pCLElBQUcsR0FBRyxFQUFFO1lBQ04sSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLElBQUksS0FBSyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUNELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUNELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFVO1FBQ3RCLElBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNsQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDbkI7SUFDSCxDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxJQUFHLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDNUI7UUFDRCxJQUFHLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQzs7NEdBMUNVLGVBQWU7Z0dBQWYsZUFBZSxnSUFSZjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQztZQUM5QyxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsMEJDWkgsK3hCQWNTOzJGREFJLGVBQWU7a0JBWDNCLFNBQVM7K0JBQ0UsWUFBWSxhQUVYO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDOzRCQUM5QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjswRUFJTSxLQUFLO3NCQURYLEtBQUs7Z0JBR0MsUUFBUTtzQkFEZCxLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SLCBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXRvZ2dsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RvZ2dsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUb2dnbGVDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRvZ2dsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHZhbHVlOiBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkaXNhYmxlZDpib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZDtcclxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxCb29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Qm9vbGVhbj4oKTtcclxuXHJcbiAgcHJpdmF0ZSBvbkNoYW5nZSQ6IGFueSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuICBwcml2YXRlIG9uVG91Y2hlZCQ6IGFueSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuICBcclxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XHJcbiAgICBpZihvYmopIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IG9iaiB8fCBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlJCA9IGZuO1xyXG4gIH1cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCQgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkJsdXIoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgaWYodGhpcy5vblRvdWNoZWQkKSB7XHJcbiAgICAgIHRoaXMub25Ub3VjaGVkJCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2hhbmdlVmFsdWUoKXtcclxuICAgIHRoaXMudmFsdWUgPSAhdGhpcy52YWx1ZTtcclxuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcclxuICAgIGlmKHRoaXMub25DaGFuZ2UkKSB7XHJcbiAgICAgIHRoaXMub25DaGFuZ2UkKHRoaXMudmFsdWUpO1xyXG4gICAgfVxyXG4gICAgaWYodGhpcy5vblRvdWNoZWQkKSB7XHJcbiAgICAgIHRoaXMub25Ub3VjaGVkJCgpO1xyXG4gICAgfVxyXG4gIH1cclxufSIsIjxidXR0b24gdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwidmFsdWUgPyAoZGlzYWJsZWQgPyAnb24gZGlzYWJsZWQnIDogJ29uJykgOiAnb2ZmJ1wiXHJcbiAgICAgICAgY2xhc3M9XCJ0b2dnbGUtYnV0dG9uXCJcclxuICAgICAgICByb2xlPVwic3dpdGNoXCJcclxuICAgICAgICBhcmlhLWNoZWNrZWQ9XCJmYWxzZVwiXHJcbiAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwiaXNQcml2YXRlXCJcclxuICAgICAgICAoY2xpY2spPVwiY2hhbmdlVmFsdWUoKVwiXHJcbiAgICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxyXG4gICAgICAgIHZhbHVlPVwie3t2YWx1ZX19XCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgIFt0aXRsZV09XCJkaXNhYmxlZCA/ICfOpM6/IM6xz4HPh861zq/OvyDPgM+Bzq3PgM61zrkgzr3OsSDOtc6vzr3Osc65IM65zrTPic+EzrnOus+MJyA6ICfOmc60zrnPic+EzrnOus+MJ1wiPlxyXG4gICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCJcclxuICAgICAgICAgIFtuZ0NsYXNzXT1cInZhbHVlID8gJ2VuYWJsZWQtYW5pbScgOiAnZGlzYWJsZWQtYW5pbSdcIlxyXG4gICAgICAgICAgY2xhc3M9XCJ0b2dnbGUtc3BhblwiPjwvc3Bhbj5cclxuPC9idXR0b24+Il19
|