@indice/ng-components 0.2.153-beta.8 → 0.2.154

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.
Files changed (160) hide show
  1. package/README.md +4 -4
  2. package/_styles.css +3571 -3571
  3. package/{esm2015/indice-ng-components.js → esm2020/indice-ng-components.mjs} +0 -0
  4. package/{esm2015/lib/controls/avatar-initials/avatar-initials.component.js → esm2020/lib/controls/avatar-initials/avatar-initials.component.mjs} +5 -8
  5. package/esm2020/lib/controls/collapsible-panel/collapsible-panel.component.mjs +20 -0
  6. package/esm2020/lib/controls/combobox/combobox.component.mjs +96 -0
  7. package/esm2020/lib/controls/date-picker/date-picker.component.mjs +260 -0
  8. package/esm2020/lib/controls/drop-down-menu/drop-down-menu.component.mjs +68 -0
  9. package/esm2020/lib/controls/kpi-tile/kpi-tile.component.mjs +36 -0
  10. package/esm2020/lib/controls/language-selection/language-selection.component.mjs +31 -0
  11. package/{esm2015/lib/controls/list-view/list-column.component.js → esm2020/lib/controls/list-view/list-column.component.mjs} +4 -4
  12. package/{esm2015/lib/controls/list-view/list-details-section.component.js → esm2020/lib/controls/list-view/list-details-section.component.mjs} +4 -4
  13. package/{esm2015/lib/controls/list-view/list-tile.component.js → esm2020/lib/controls/list-view/list-tile.component.mjs} +4 -4
  14. package/esm2020/lib/controls/list-view/list-view-empty-state.component.mjs +29 -0
  15. package/esm2020/lib/controls/list-view/list-view.component.mjs +183 -0
  16. package/esm2020/lib/controls/nav-links-list/nav-links-list.component.mjs +42 -0
  17. package/esm2020/lib/controls/notifications-indicator/notifications-indicator.component.mjs +73 -0
  18. package/esm2020/lib/controls/pager/pager.component.mjs +130 -0
  19. package/esm2020/lib/controls/side-pane/side-pane.component.mjs +72 -0
  20. package/esm2020/lib/controls/skeleton-loader/skeleton-loader.component.mjs +25 -0
  21. package/esm2020/lib/controls/tabs/lib-tab-group.component.mjs +59 -0
  22. package/esm2020/lib/controls/tabs/lib-tab.component.mjs +57 -0
  23. package/esm2020/lib/controls/toaster/toaster-container.component.mjs +28 -0
  24. package/esm2020/lib/controls/toaster/toaster.component.mjs +31 -0
  25. package/esm2020/lib/controls/toggle/toggle.component.mjs +64 -0
  26. package/esm2020/lib/controls/user-profile-menu/user-profile-menu.component.mjs +71 -0
  27. package/{esm2015/lib/directives/click-outside.directive.js → esm2020/lib/directives/click-outside.directive.mjs} +4 -4
  28. package/{esm2015/lib/directives/dynamic-component-host.directive.js → esm2020/lib/directives/dynamic-component-host.directive.mjs} +4 -4
  29. package/esm2020/lib/helpers/base-list.component.mjs +181 -0
  30. package/{esm2015/lib/icons.js → esm2020/lib/icons.mjs} +1 -1
  31. package/esm2020/lib/layouts/shell/shell-footer/shell-footer.component.mjs +19 -0
  32. package/esm2020/lib/layouts/shell/shell-header/shell-header.component.mjs +131 -0
  33. package/esm2020/lib/layouts/shell/shell-layout/shell-layout.component.mjs +103 -0
  34. package/esm2020/lib/layouts/shell/shell-sidebar/shell-sidebar.component.mjs +47 -0
  35. package/esm2020/lib/layouts/views/form-layout/form-layout.component.mjs +80 -0
  36. package/esm2020/lib/layouts/views/model-view-layout/model-view-layout.component.mjs +49 -0
  37. package/esm2020/lib/layouts/views/side-view-layout/side-view-layout.component.mjs +98 -0
  38. package/esm2020/lib/layouts/views/view-layout/view-layout.component.mjs +104 -0
  39. package/{esm2015/lib/ng-components.module.js → esm2020/lib/ng-components.module.mjs} +13 -15
  40. package/esm2020/lib/pages/auth/auth-callback/auth-callback.component.mjs +30 -0
  41. package/{esm2015/lib/pages/auth/auth-renew/auth-renew.component.js → esm2020/lib/pages/auth/auth-renew/auth-renew.component.mjs} +4 -4
  42. package/esm2020/lib/pages/auth/logged-out/logged-out.component.mjs +28 -0
  43. package/esm2020/lib/pages/http-status/error/error.component.mjs +17 -0
  44. package/esm2020/lib/pages/http-status/page-not-found/page-not-found.component.mjs +15 -0
  45. package/esm2020/lib/pages/http-status/unauthorized/unauthorized.component.mjs +14 -0
  46. package/{esm2015/lib/pipes/address.pipe.js → esm2020/lib/pipes/address.pipe.mjs} +4 -4
  47. package/{esm2015/lib/pipes/duration-format.pipe.js → esm2020/lib/pipes/duration-format.pipe.mjs} +4 -4
  48. package/esm2020/lib/services/component-loader/component-loader-options.class.mjs +8 -0
  49. package/esm2020/lib/services/component-loader/component-loader.class.mjs +188 -0
  50. package/{esm2015/lib/services/component-loader/component-loader.factory.js → esm2020/lib/services/component-loader/component-loader.factory.mjs} +4 -4
  51. package/{esm2015/lib/services/component-loader/content-ref.class.js → esm2020/lib/services/component-loader/content-ref.class.mjs} +1 -1
  52. package/esm2020/lib/services/modal-service/modal-backdrop-component.mjs +44 -0
  53. package/esm2020/lib/services/modal-service/modal-container-component.mjs +126 -0
  54. package/esm2020/lib/services/modal-service/modal-options.class.mjs +35 -0
  55. package/esm2020/lib/services/modal-service/modal-service.mjs +219 -0
  56. package/{esm2015/lib/services/modal-service/modal-styles.class.js → esm2020/lib/services/modal-service/modal-styles.class.mjs} +1 -1
  57. package/esm2020/lib/services/modal-service/modal.class.mjs +27 -0
  58. package/{esm2015/lib/services/toaster.service.js → esm2020/lib/services/toaster.service.mjs} +4 -4
  59. package/esm2020/lib/tokens.mjs +7 -0
  60. package/{esm2015/lib/types.js → esm2020/lib/types.mjs} +1 -1
  61. package/{esm2015/public-api.js → esm2020/public-api.mjs} +1 -1
  62. package/fesm2015/indice-ng-components.mjs +3629 -0
  63. package/fesm2015/indice-ng-components.mjs.map +1 -0
  64. package/fesm2020/indice-ng-components.mjs +3572 -0
  65. package/fesm2020/indice-ng-components.mjs.map +1 -0
  66. package/{indice-ng-components.d.ts → index.d.ts} +0 -0
  67. package/lib/controls/avatar-initials/avatar-initials.component.d.ts +1 -1
  68. package/lib/controls/collapsible-panel/collapsible-panel.component.d.ts +1 -1
  69. package/lib/controls/combobox/combobox.component.d.ts +1 -1
  70. package/lib/controls/date-picker/date-picker.component.d.ts +1 -1
  71. package/lib/controls/drop-down-menu/drop-down-menu.component.d.ts +1 -1
  72. package/lib/controls/kpi-tile/kpi-tile.component.d.ts +1 -1
  73. package/lib/controls/language-selection/language-selection.component.d.ts +1 -1
  74. package/lib/controls/list-view/list-column.component.d.ts +1 -1
  75. package/lib/controls/list-view/list-details-section.component.d.ts +1 -1
  76. package/lib/controls/list-view/list-tile.component.d.ts +1 -1
  77. package/lib/controls/list-view/list-view-empty-state.component.d.ts +1 -1
  78. package/lib/controls/list-view/list-view.component.d.ts +1 -1
  79. package/lib/controls/nav-links-list/nav-links-list.component.d.ts +1 -1
  80. package/lib/controls/notifications-indicator/notifications-indicator.component.d.ts +1 -1
  81. package/lib/controls/pager/pager.component.d.ts +1 -1
  82. package/lib/controls/side-pane/side-pane.component.d.ts +1 -1
  83. package/lib/controls/skeleton-loader/skeleton-loader.component.d.ts +1 -1
  84. package/lib/controls/tabs/lib-tab-group.component.d.ts +1 -1
  85. package/lib/controls/tabs/lib-tab.component.d.ts +4 -5
  86. package/lib/controls/toaster/toaster-container.component.d.ts +1 -1
  87. package/lib/controls/toaster/toaster.component.d.ts +1 -1
  88. package/lib/controls/toggle/toggle.component.d.ts +1 -1
  89. package/lib/controls/user-profile-menu/user-profile-menu.component.d.ts +1 -1
  90. package/lib/directives/click-outside.directive.d.ts +1 -1
  91. package/lib/directives/dynamic-component-host.directive.d.ts +1 -1
  92. package/lib/helpers/base-list.component.d.ts +1 -1
  93. package/lib/layouts/shell/shell-footer/shell-footer.component.d.ts +1 -1
  94. package/lib/layouts/shell/shell-header/shell-header.component.d.ts +1 -1
  95. package/lib/layouts/shell/shell-layout/shell-layout.component.d.ts +1 -1
  96. package/lib/layouts/shell/shell-sidebar/shell-sidebar.component.d.ts +1 -1
  97. package/lib/layouts/views/form-layout/form-layout.component.d.ts +1 -1
  98. package/lib/layouts/views/model-view-layout/model-view-layout.component.d.ts +1 -1
  99. package/lib/layouts/views/side-view-layout/side-view-layout.component.d.ts +1 -1
  100. package/lib/layouts/views/view-layout/view-layout.component.d.ts +1 -1
  101. package/lib/ng-components.module.d.ts +3 -3
  102. package/lib/pages/auth/auth-callback/auth-callback.component.d.ts +1 -1
  103. package/lib/pages/auth/auth-renew/auth-renew.component.d.ts +1 -1
  104. package/lib/pages/auth/logged-out/logged-out.component.d.ts +1 -1
  105. package/lib/pages/http-status/error/error.component.d.ts +1 -1
  106. package/lib/pages/http-status/page-not-found/page-not-found.component.d.ts +1 -1
  107. package/lib/pages/http-status/unauthorized/unauthorized.component.d.ts +1 -1
  108. package/lib/pipes/address.pipe.d.ts +1 -1
  109. package/lib/pipes/duration-format.pipe.d.ts +1 -1
  110. package/lib/services/modal-service/modal-backdrop-component.d.ts +1 -1
  111. package/lib/services/modal-service/modal-container-component.d.ts +1 -1
  112. package/lib/tokens.d.ts +2 -0
  113. package/lib/types.d.ts +1 -0
  114. package/modal.css +157 -157
  115. package/package.json +25 -12
  116. package/bundles/indice-ng-components.umd.js +0 -4285
  117. package/bundles/indice-ng-components.umd.js.map +0 -1
  118. package/esm2015/lib/controls/collapsible-panel/collapsible-panel.component.js +0 -23
  119. package/esm2015/lib/controls/combobox/combobox.component.js +0 -99
  120. package/esm2015/lib/controls/date-picker/date-picker.component.js +0 -269
  121. package/esm2015/lib/controls/drop-down-menu/drop-down-menu.component.js +0 -72
  122. package/esm2015/lib/controls/kpi-tile/kpi-tile.component.js +0 -39
  123. package/esm2015/lib/controls/language-selection/language-selection.component.js +0 -35
  124. package/esm2015/lib/controls/list-view/list-view-empty-state.component.js +0 -32
  125. package/esm2015/lib/controls/list-view/list-view.component.js +0 -186
  126. package/esm2015/lib/controls/nav-links-list/nav-links-list.component.js +0 -45
  127. package/esm2015/lib/controls/notifications-indicator/notifications-indicator.component.js +0 -76
  128. package/esm2015/lib/controls/pager/pager.component.js +0 -133
  129. package/esm2015/lib/controls/side-pane/side-pane.component.js +0 -76
  130. package/esm2015/lib/controls/skeleton-loader/skeleton-loader.component.js +0 -29
  131. package/esm2015/lib/controls/tabs/lib-tab-group.component.js +0 -60
  132. package/esm2015/lib/controls/tabs/lib-tab.component.js +0 -55
  133. package/esm2015/lib/controls/toaster/toaster-container.component.js +0 -31
  134. package/esm2015/lib/controls/toaster/toaster.component.js +0 -34
  135. package/esm2015/lib/controls/toggle/toggle.component.js +0 -68
  136. package/esm2015/lib/controls/user-profile-menu/user-profile-menu.component.js +0 -75
  137. package/esm2015/lib/helpers/base-list.component.js +0 -182
  138. package/esm2015/lib/layouts/shell/shell-footer/shell-footer.component.js +0 -22
  139. package/esm2015/lib/layouts/shell/shell-header/shell-header.component.js +0 -136
  140. package/esm2015/lib/layouts/shell/shell-layout/shell-layout.component.js +0 -108
  141. package/esm2015/lib/layouts/shell/shell-sidebar/shell-sidebar.component.js +0 -50
  142. package/esm2015/lib/layouts/views/form-layout/form-layout.component.js +0 -85
  143. package/esm2015/lib/layouts/views/model-view-layout/model-view-layout.component.js +0 -53
  144. package/esm2015/lib/layouts/views/side-view-layout/side-view-layout.component.js +0 -101
  145. package/esm2015/lib/layouts/views/view-layout/view-layout.component.js +0 -110
  146. package/esm2015/lib/pages/auth/auth-callback/auth-callback.component.js +0 -34
  147. package/esm2015/lib/pages/auth/logged-out/logged-out.component.js +0 -32
  148. package/esm2015/lib/pages/http-status/error/error.component.js +0 -20
  149. package/esm2015/lib/pages/http-status/page-not-found/page-not-found.component.js +0 -18
  150. package/esm2015/lib/pages/http-status/unauthorized/unauthorized.component.js +0 -17
  151. package/esm2015/lib/services/component-loader/component-loader-options.class.js +0 -8
  152. package/esm2015/lib/services/component-loader/component-loader.class.js +0 -192
  153. package/esm2015/lib/services/modal-service/modal-backdrop-component.js +0 -44
  154. package/esm2015/lib/services/modal-service/modal-container-component.js +0 -128
  155. package/esm2015/lib/services/modal-service/modal-options.class.js +0 -35
  156. package/esm2015/lib/services/modal-service/modal-service.js +0 -220
  157. package/esm2015/lib/services/modal-service/modal.class.js +0 -27
  158. package/esm2015/lib/tokens.js +0 -6
  159. package/fesm2015/indice-ng-components.js +0 -3697
  160. package/fesm2015/indice-ng-components.js.map +0 -1
@@ -1,133 +0,0 @@
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: "12.2.16", ngImport: i0, type: PagerComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
96
- PagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", 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: "12.2.16", ngImport: i0, type: PagerComponent, decorators: [{
98
- type: Component,
99
- args: [{
100
- selector: 'lib-pager',
101
- templateUrl: './pager.component.html'
102
- }]
103
- }], ctorParameters: function () { return [{ type: i1.Router }]; }, propDecorators: { busy: [{
104
- type: Input
105
- }], count: [{
106
- type: Input
107
- }], page: [{
108
- type: Input
109
- }], pageSize: [{
110
- type: Input,
111
- args: ['page-size']
112
- }], pageSizeOptions: [{
113
- type: Input,
114
- args: ['page-size-options']
115
- }], pageChanged: [{
116
- type: Output
117
- }], pageSizeChanged: [{
118
- type: Output
119
- }], sortOptions: [{
120
- type: Input,
121
- args: ['sort-options']
122
- }], sort: [{
123
- type: Input,
124
- args: ['sort']
125
- }], sortdir: [{
126
- type: Input,
127
- args: ['sort-dir']
128
- }], sortChanged: [{
129
- type: Output
130
- }], sortdirChanged: [{
131
- type: Output
132
- }] } });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2NvbnRyb2xzL3BhZ2VyL3BhZ2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9wYWdlci9wYWdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFekcsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7OztBQU16QyxNQUFNLE9BQU8sY0FBYztJQWlDekIsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFoQ2xDLGFBQWE7UUFDSixTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLFNBQVM7UUFDQSxVQUFLLEdBQWtCLElBQUksQ0FBQztRQUM1QixTQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLDJDQUEyQztRQUN2QixhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2xDLDJDQUEyQztRQUNmLG9CQUFlLEdBQWlCO1lBQzFELElBQUksVUFBVSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7WUFDeEIsSUFBSSxVQUFVLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUN4QixJQUFJLFVBQVUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ3hCLElBQUksVUFBVSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7WUFDeEIsSUFBSSxVQUFVLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQztTQUMzQixDQUFDO1FBQ0ssVUFBSyxHQUFpQixFQUFFLENBQUM7UUFDdEIsZ0JBQVcsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUMvRCxvQkFBZSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3RFLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRTNCLFVBQVU7UUFDViwyQ0FBMkM7UUFDcEIsZ0JBQVcsR0FBaUIsRUFBRSxDQUFDO1FBQ3RELDJDQUEyQztRQUM1QixTQUFJLEdBQWtCLElBQUksQ0FBQztRQUMxQywyQ0FBMkM7UUFDeEIsWUFBTyxHQUFrQixNQUFNLENBQUM7UUFDekMsZ0JBQVcsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUMvRCxtQkFBYyxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3JFLGdCQUFXLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztJQUVFLENBQUM7SUFFdkMsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7SUFFTyxTQUFTO1FBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFO1lBQ2hDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUM3QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNwRDtTQUNGO1FBQ0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDbkQsQ0FBQztJQUVNLFFBQVE7UUFDYixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFTSxZQUFZO1FBQ2pCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVNLFFBQVEsQ0FBQyxJQUFZO1FBQzFCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRU0scUJBQXFCLENBQUMsUUFBZ0I7UUFDM0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxJQUFZO1FBQ25DLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRU0saUJBQWlCLENBQUMsSUFBWTtRQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU0sYUFBYTtRQUNsQixJQUFJLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLE1BQU0sRUFBRTtZQUMzQixPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ2hCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztTQUNsQzthQUFNO1lBQ0wsT0FBTyxHQUFHLE1BQU0sQ0FBQztZQUNqQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7U0FDbkM7UUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwQyxDQUFDOzs0R0E5RlUsY0FBYztnR0FBZCxjQUFjLHVjQ1QzQixvdUVBaUNBOzRGRHhCYSxjQUFjO2tCQUoxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixXQUFXLEVBQUUsd0JBQXdCO2lCQUN0Qzs2RkFHVSxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFYyxRQUFRO3NCQUEzQixLQUFLO3VCQUFDLFdBQVc7Z0JBRVUsZUFBZTtzQkFBMUMsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBUWhCLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFNZ0IsV0FBVztzQkFBakMsS0FBSzt1QkFBQyxjQUFjO2dCQUVOLElBQUk7c0JBQWxCLEtBQUs7dUJBQUMsTUFBTTtnQkFFTSxPQUFPO3NCQUF6QixLQUFLO3VCQUFDLFVBQVU7Z0JBQ1AsV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEljb25zIH0gZnJvbSAnLi4vLi4vaWNvbnMnO1xyXG5pbXBvcnQgeyBNZW51T3B0aW9uIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItcGFnZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdlci5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFBhZ2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIC8vIEJVU1kgU1RBVEVcclxuICBASW5wdXQoKSBidXN5ID0gZmFsc2U7XHJcbiAgLy8gUEFHSU5HXHJcbiAgQElucHV0KCkgY291bnQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIEBJbnB1dCgpIHBhZ2UgPSAxO1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3BhZ2Utc2l6ZScpIHBhZ2VTaXplID0gMjA7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgncGFnZS1zaXplLW9wdGlvbnMnKSBwYWdlU2l6ZU9wdGlvbnM6IE1lbnVPcHRpb25bXSA9IFtcclxuICAgIG5ldyBNZW51T3B0aW9uKCcxMCcsIDEwKSxcclxuICAgIG5ldyBNZW51T3B0aW9uKCcyMCcsIDIwKSxcclxuICAgIG5ldyBNZW51T3B0aW9uKCczMCcsIDMwKSxcclxuICAgIG5ldyBNZW51T3B0aW9uKCc1MCcsIDUwKSxcclxuICAgIG5ldyBNZW51T3B0aW9uKCcxMDAnLCAxMDApXHJcbiAgXTtcclxuICBwdWJsaWMgcGFnZXM6IE1lbnVPcHRpb25bXSA9IFtdO1xyXG4gIEBPdXRwdXQoKSBwYWdlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICBAT3V0cHV0KCkgcGFnZVNpemVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG4gIHB1YmxpYyBjYW5QcmV2aW91c1BhZ2UgPSBmYWxzZTtcclxuICBwdWJsaWMgY2FuTmV4dFBhZ2UgPSBmYWxzZTtcclxuXHJcbiAgLy8gU09SVElOR1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3NvcnQtb3B0aW9ucycpIHNvcnRPcHRpb25zOiBNZW51T3B0aW9uW10gPSBbXTtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdzb3J0Jykgc29ydDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnc29ydC1kaXInKSBzb3J0ZGlyOiBzdHJpbmcgfCBudWxsID0gJ2Rlc2MnO1xyXG4gIEBPdXRwdXQoKSBzb3J0Q2hhbmdlZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgc29ydGRpckNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgcHVibGljIHNvcnRkaXJJY29uID0gSWNvbnMuU29ydERlc2M7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHsgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhbGNQYWdlcygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNhbGNQYWdlcygpOiB2b2lkIHtcclxuICAgIHRoaXMucGFnZXMgPSBbXTtcclxuICAgIGlmICh0aGlzLmNvdW50ICYmIHRoaXMuY291bnQgPiAwKSB7XHJcbiAgICAgIGNvbnN0IHBhZ2VDb3VudCA9IHRoaXMuY291bnQgLyB0aGlzLnBhZ2VTaXplO1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhZ2VDb3VudDsgaSsrKSB7XHJcbiAgICAgICAgdGhpcy5wYWdlcy5wdXNoKG5ldyBNZW51T3B0aW9uKGkgKyAxICsgJycsIGkgKyAxKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuY2FuUHJldmlvdXNQYWdlID0gdGhpcy5wYWdlID4gMTtcclxuICAgIHRoaXMuY2FuTmV4dFBhZ2UgPSB0aGlzLnBhZ2UgPCB0aGlzLnBhZ2VzLmxlbmd0aDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZXh0UGFnZSgpOiB2b2lkIHtcclxuICAgIGNvbnN0IG5leHQgPSB0aGlzLnBhZ2UgKyAxO1xyXG4gICAgdGhpcy5nb3RvUGFnZShuZXh0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwcmV2aW91c1BhZ2UoKTogdm9pZCB7XHJcbiAgICBjb25zdCBwcmV2aW91cyA9IHRoaXMucGFnZSAtIDE7XHJcbiAgICB0aGlzLmdvdG9QYWdlKHByZXZpb3VzKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnb3RvUGFnZShwYWdlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMucGFnZSA9IHBhZ2U7XHJcbiAgICB0aGlzLnBhZ2VDaGFuZ2VkLmVtaXQocGFnZSk7XHJcbiAgICB0aGlzLmNhbGNQYWdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHBhZ2VTaXplT3B0aW9uQ2hhbmdlZChwYWdlU2l6ZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnBhZ2VTaXplQ2hhbmdlZC5lbWl0KHBhZ2VTaXplKTtcclxuICAgIHRoaXMuY2FsY1BhZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcGFnZU9wdGlvbkNoYW5nZWQocGFnZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnBhZ2VDaGFuZ2VkLmVtaXQocGFnZSk7XHJcbiAgICB0aGlzLmNhbGNQYWdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNvcnRPcHRpb25DaGFuZ2VkKHNvcnQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5zb3J0Q2hhbmdlZC5lbWl0KHNvcnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRvZ2dsZVNvcnRkaXIoKTogdm9pZCB7XHJcbiAgICBsZXQgc29ydGRpciA9ICdkZXNjJztcclxuICAgIGlmICh0aGlzLnNvcnRkaXIgPT09ICdkZXNjJykge1xyXG4gICAgICBzb3J0ZGlyID0gJ2FzYyc7XHJcbiAgICAgIHRoaXMuc29ydGRpckljb24gPSBJY29ucy5Tb3J0QXNjO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc29ydGRpciA9ICdkZXNjJztcclxuICAgICAgdGhpcy5zb3J0ZGlySWNvbiA9IEljb25zLlNvcnREZXNjO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zb3J0ZGlyQ2hhbmdlZC5lbWl0KHNvcnRkaXIpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInBhZ2VyLWNvbnRhaW5lclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJwYWdlci1jb250YWluZXItaW5uZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpbmxpbmUtZmxleFwiICpuZ0lmPVwic29ydE9wdGlvbnMgJiYgc29ydE9wdGlvbnMubGVuZ3RoID4gMFwiPlxyXG4gICAgICA8bGliLWRyb3AtZG93bi1tZW51IFtvcHRpb25zXT1cInNvcnRPcHRpb25zXCIgW3NlbGVjdGVkXT1cInNvcnRcIiAoc2VsZWN0ZWRDaGFuZ2VkKT1cInNvcnRPcHRpb25DaGFuZ2VkKCRldmVudClcIj48L2xpYi1kcm9wLWRvd24tbWVudT5cclxuICAgICAgPGJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlU29ydGRpcigpXCIgW2Rpc2FibGVkXT1cIiFzb3J0IHx8IGJ1c3lcIiBjbGFzcz1cInBhZ2VyLWljb24tYnV0dG9uXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+c29ydCBkaXJlY3Rpb248L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJpbmxpbmUtYmxvY2sgcmVsYXRpdmVcIj5cclxuICAgICAgICAgIDxpIFtjbGFzc109XCJzb3J0ZGlySWNvblwiPjwvaT5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwicGFnZXItcGFnZXMtY29udGFpbmVyXCI+XHJcbiAgICAgIDxsaWItZHJvcC1kb3duLW1lbnUgW29wdGlvbnNdPVwicGFnZVNpemVPcHRpb25zXCIgW3NlbGVjdGVkXT1cInBhZ2VTaXplXCIgKHNlbGVjdGVkQ2hhbmdlZCk9XCJwYWdlU2l6ZU9wdGlvbkNoYW5nZWQoJGV2ZW50KVwiPjwvbGliLWRyb3AtZG93bi1tZW51PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibXgtMlwiICAqbmdJZj1cImNvdW50ICE9PSBudWxsICYmIGNvdW50ID4gcGFnZVNpemVcIj5cclxuICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCIhY2FuUHJldmlvdXNQYWdlIHx8IGJ1c3lcIiAgKGNsaWNrKT1cInByZXZpb3VzUGFnZSgpXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwicGFnZXItYXJyb3ctYnV0dG9uLWxlZnRcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPlByZXZpb3VzPC9zcGFuPlxyXG4gICAgICAgICAgPHN2ZyBjbGFzcz1cImgtNSB3LTVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMTIuNzA3IDUuMjkzYTEgMSAwIDAxMCAxLjQxNEw5LjQxNCAxMGwzLjI5MyAzLjI5M2ExIDEgMCAwMS0xLjQxNCAxLjQxNGwtNC00YTEgMSAwIDAxMC0xLjQxNGw0LTRhMSAxIDAgMDExLjQxNCAwelwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiAvPlxyXG4gICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwiIWNhbk5leHRQYWdlIHx8IGJ1c3lcIiAgKGNsaWNrKT1cIm5leHRQYWdlKClcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJwYWdlci1hcnJvdy1idXR0b24tcmlnaHRcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPk5leHQ8L3NwYW4+XHJcbiAgICAgICAgICA8c3ZnIGNsYXNzPVwiaC01IHctNVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgZD1cIk03LjI5MyAxNC43MDdhMSAxIDAgMDEwLTEuNDE0TDEwLjU4NiAxMCA3LjI5MyA2LjcwN2ExIDEgMCAwMTEuNDE0LTEuNDE0bDQgNGExIDEgMCAwMTAgMS40MTRsLTQgNGExIDEgMCAwMS0xLjQxNCAwelwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiAvPlxyXG4gICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8bGliLWRyb3AtZG93bi1tZW51ICpuZ0lmPVwiKHBhZ2VzICYmIHBhZ2VzLmxlbmd0aCA+IDApICYmIChjb3VudCAhPT0gbnVsbCAmJiBjb3VudCA+IHBhZ2VTaXplKVwiIFtvcHRpb25zXT1cInBhZ2VzXCIgW3NlbGVjdGVkXT1cInBhZ2VcIiAoc2VsZWN0ZWRDaGFuZ2VkKT1cInBhZ2VPcHRpb25DaGFuZ2VkKCRldmVudClcIj48L2xpYi1kcm9wLWRvd24tbWVudT5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -1,76 +0,0 @@
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
- var _a;
23
- this.document.body.classList.add('modal-active');
24
- let sizeStyleSuffix = '';
25
- const state = (_a = this.router.getCurrentNavigation()) === null || _a === void 0 ? void 0 : _a.extras.state;
26
- if (state) {
27
- if (state.paneSize) {
28
- if (state.paneSize === SidePaneSize.Small25) {
29
- sizeStyleSuffix = '-25';
30
- }
31
- else if (state.paneSize === SidePaneSize.Medium50) {
32
- sizeStyleSuffix = '-50';
33
- }
34
- else if (state.paneSize === SidePaneSize.Large75) {
35
- sizeStyleSuffix = '-75';
36
- }
37
- }
38
- if (state.paneOverlay) {
39
- if (state.paneOverlay === SidePaneOverlayType.None) {
40
- this.overlayStyle = 'side-pane-overlay-opacity-0';
41
- }
42
- else if (state.paneOverlay === SidePaneOverlayType.Dark) {
43
- this.overlayStyle = 'side-pane-overlay-opacity-50';
44
- }
45
- else {
46
- this.overlayStyle = 'side-pane-overlay';
47
- }
48
- }
49
- }
50
- this.sizeContainerStyle = `side-pane-box-size${sizeStyleSuffix}`;
51
- this.showPane = true;
52
- }
53
- onSidePaneDeactivated($event) {
54
- this.document.body.classList.remove('modal-active');
55
- this.showPane = false;
56
- this.onComplete.emit(true);
57
- }
58
- }
59
- SidePaneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SidePaneComponent, deps: [{ token: i1.Router }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
60
- SidePaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", 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"] }] });
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SidePaneComponent, decorators: [{
62
- type: Component,
63
- args: [{
64
- selector: 'lib-side-pane',
65
- templateUrl: './side-pane.component.html'
66
- }]
67
- }], ctorParameters: function () { return [{ type: i1.Router }, { type: undefined, decorators: [{
68
- type: Inject,
69
- args: [DOCUMENT]
70
- }] }]; }, propDecorators: { showPane: [{
71
- type: Input,
72
- args: ['visible']
73
- }], onComplete: [{
74
- type: Output
75
- }] } });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1wYW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9zaWRlLXBhbmUvc2lkZS1wYW5lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9zaWRlLXBhbmUvc2lkZS1wYW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQU0zQyxNQUFNLE9BQU8saUJBQWlCO0lBTzVCLFlBQW9CLE1BQWMsRUFBNEIsUUFBYTtRQUF2RCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQTRCLGFBQVEsR0FBUixRQUFRLENBQUs7UUFOM0UsMkNBQTJDO1FBQ3pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDNUIsdUJBQWtCLEdBQUcsb0JBQW9CLENBQUM7UUFDMUMsaUJBQVksR0FBRyxtQkFBbUIsQ0FBQztRQUNoQyxlQUFVLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7SUFFTSxDQUFDO0lBRWpGLFdBQVc7SUFDWCxDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7SUFFTSxtQkFBbUIsQ0FBQyxTQUFjOztRQUN2QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2pELElBQUksZUFBZSxHQUFHLEVBQUUsQ0FBQztRQUN6QixNQUFNLEtBQUssR0FBRyxNQUFBLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLEVBQUUsMENBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMvRCxJQUFJLEtBQUssRUFBRTtZQUNULElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRTtnQkFDbEIsSUFBSSxLQUFLLENBQUMsUUFBUSxLQUFLLFlBQVksQ0FBQyxPQUFPLEVBQUU7b0JBQzNDLGVBQWUsR0FBRyxLQUFLLENBQUM7aUJBQ3pCO3FCQUFNLElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxZQUFZLENBQUMsUUFBUSxFQUFFO29CQUNuRCxlQUFlLEdBQUcsS0FBSyxDQUFDO2lCQUN6QjtxQkFBTSxJQUFJLEtBQUssQ0FBQyxRQUFRLEtBQUssWUFBWSxDQUFDLE9BQU8sRUFBRTtvQkFDbEQsZUFBZSxHQUFHLEtBQUssQ0FBQztpQkFDekI7YUFDRjtZQUNELElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRTtnQkFDckIsSUFBSSxLQUFLLENBQUMsV0FBVyxLQUFLLG1CQUFtQixDQUFDLElBQUksRUFBRztvQkFDbkQsSUFBSSxDQUFDLFlBQVksR0FBRyw2QkFBNkIsQ0FBQztpQkFDbkQ7cUJBQU0sSUFBSSxLQUFLLENBQUMsV0FBVyxLQUFLLG1CQUFtQixDQUFDLElBQUksRUFBRTtvQkFDekQsSUFBSSxDQUFDLFlBQVksR0FBRyw4QkFBOEIsQ0FBQztpQkFDcEQ7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLFlBQVksR0FBRyxtQkFBbUIsQ0FBQztpQkFDekM7YUFDRjtTQUNGO1FBQ0QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLHFCQUFxQixlQUFlLEVBQUUsQ0FBQztRQUNqRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUN2QixDQUFDO0lBRU0scUJBQXFCLENBQUMsTUFBVztRQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7OytHQS9DVSxpQkFBaUIsd0NBT2dCLFFBQVE7bUdBUHpDLGlCQUFpQiwySUNUOUIscWNBVUE7NEZERGEsaUJBQWlCO2tCQUo3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixXQUFXLEVBQUUsNEJBQTRCO2lCQUMxQzs7MEJBUXNDLE1BQU07MkJBQUMsUUFBUTs0Q0FMbEMsUUFBUTtzQkFBekIsS0FBSzt1QkFBQyxTQUFTO2dCQUdOLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTaWRlUGFuZU92ZXJsYXlUeXBlLCBTaWRlUGFuZVNpemUgfSBmcm9tICcuLy4uLy4uL3R5cGVzJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBPbkRlc3Ryb3ksIEluamVjdCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItc2lkZS1wYW5lJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2lkZS1wYW5lLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2lkZVBhbmVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgndmlzaWJsZScpIHNob3dQYW5lID0gZmFsc2U7XHJcbiAgcHVibGljIHNpemVDb250YWluZXJTdHlsZSA9ICdzaWRlLXBhbmUtYm94LXNpemUnO1xyXG4gIHB1YmxpYyBvdmVybGF5U3R5bGUgPSAnc2lkZS1wYW5lLW92ZXJsYXknO1xyXG4gIEBPdXRwdXQoKSBvbkNvbXBsZXRlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogYW55LCkgeyB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCAge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uU2lkZVBhbmVBY3RpdmF0ZWQoY29tcG9uZW50OiBhbnkpOiB2b2lkICB7XHJcbiAgICB0aGlzLmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnbW9kYWwtYWN0aXZlJyk7XHJcbiAgICBsZXQgc2l6ZVN0eWxlU3VmZml4ID0gJyc7XHJcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMucm91dGVyLmdldEN1cnJlbnROYXZpZ2F0aW9uKCk/LmV4dHJhcy5zdGF0ZTtcclxuICAgIGlmIChzdGF0ZSkge1xyXG4gICAgICBpZiAoc3RhdGUucGFuZVNpemUpIHtcclxuICAgICAgICBpZiAoc3RhdGUucGFuZVNpemUgPT09IFNpZGVQYW5lU2l6ZS5TbWFsbDI1KSB7XHJcbiAgICAgICAgICBzaXplU3R5bGVTdWZmaXggPSAnLTI1JztcclxuICAgICAgICB9IGVsc2UgaWYgKHN0YXRlLnBhbmVTaXplID09PSBTaWRlUGFuZVNpemUuTWVkaXVtNTApIHtcclxuICAgICAgICAgIHNpemVTdHlsZVN1ZmZpeCA9ICctNTAnO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoc3RhdGUucGFuZVNpemUgPT09IFNpZGVQYW5lU2l6ZS5MYXJnZTc1KSB7XHJcbiAgICAgICAgICBzaXplU3R5bGVTdWZmaXggPSAnLTc1JztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHN0YXRlLnBhbmVPdmVybGF5KSB7XHJcbiAgICAgICAgaWYgKHN0YXRlLnBhbmVPdmVybGF5ID09PSBTaWRlUGFuZU92ZXJsYXlUeXBlLk5vbmUpICB7XHJcbiAgICAgICAgICB0aGlzLm92ZXJsYXlTdHlsZSA9ICdzaWRlLXBhbmUtb3ZlcmxheS1vcGFjaXR5LTAnO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoc3RhdGUucGFuZU92ZXJsYXkgPT09IFNpZGVQYW5lT3ZlcmxheVR5cGUuRGFyaykge1xyXG4gICAgICAgICAgdGhpcy5vdmVybGF5U3R5bGUgPSAnc2lkZS1wYW5lLW92ZXJsYXktb3BhY2l0eS01MCc7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMub3ZlcmxheVN0eWxlID0gJ3NpZGUtcGFuZS1vdmVybGF5JztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuc2l6ZUNvbnRhaW5lclN0eWxlID0gYHNpZGUtcGFuZS1ib3gtc2l6ZSR7c2l6ZVN0eWxlU3VmZml4fWA7XHJcbiAgICB0aGlzLnNob3dQYW5lID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblNpZGVQYW5lRGVhY3RpdmF0ZWQoJGV2ZW50OiBhbnkpOiB2b2lkICB7ICBcclxuICAgIHRoaXMuZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdtb2RhbC1hY3RpdmUnKTtcclxuICAgIHRoaXMuc2hvd1BhbmUgPSBmYWxzZTtcclxuICAgIHRoaXMub25Db21wbGV0ZS5lbWl0KHRydWUpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cInNob3dQYW5lXCIgY2xhc3M9XCJzaWRlLXBhbmUtb3V0ZXItY29udGFpbmVyXCIgYXJpYS1sYWJlbGxlZGJ5PVwic2xpZGUtb3ZlclwiIHJvbGU9XCJkaWFsb2dcIiBhcmlhLW1vZGFsPVwidHJ1ZVwiPlxyXG4gIDxkaXYgW2NsYXNzXT1cInNob3dQYW5lID8gb3ZlcmxheVN0eWxlIDogJ2hpZGRlbidcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2Rpdj5cclxuICA8ZGl2IFtjbGFzc109XCJzaG93UGFuZSA/ICdzaWRlLXBhbmUtY29udGFpbmVyJyA6ICdoaWRkZW4nXCI+XHJcbiAgICA8ZGl2IFtjbGFzc109XCJzaXplQ29udGFpbmVyU3R5bGVcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInNpZGUtcGFuZVwiPlxyXG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,29 +0,0 @@
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: "12.2.16", ngImport: i0, type: SkeletonLoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16
- SkeletonLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", 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\">&nbsp;</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\">&nbsp;</div>\r\n <div class=\"space-y-2\">\r\n <div class=\"h-4 bg-light-blue-400 rounded\">&nbsp;</div>\r\n <div class=\"h-4 bg-light-blue-400 rounded w-5/6\">&nbsp;</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: "12.2.16", ngImport: i0, type: SkeletonLoaderComponent, decorators: [{
18
- type: Component,
19
- args: [{
20
- // tslint:disable-next-line:component-selector
21
- selector: 'lib-skeleton-loader',
22
- templateUrl: './skeleton-loader.component.html'
23
- }]
24
- }], ctorParameters: function () { return []; }, propDecorators: { count: [{
25
- type: Input
26
- }], type: [{
27
- type: Input
28
- }] } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlbGV0b24tbG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9za2VsZXRvbi1sb2FkZXIvc2tlbGV0b24tbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9za2VsZXRvbi1sb2FkZXIvc2tlbGV0b24tbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7QUFPekQsTUFBTSxPQUFPLHVCQUF1QjtJQUdsQztRQUZTLFVBQUssR0FBRyxDQUFDLENBQUM7UUFDVixTQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsd0JBQXdCO0lBQ2pDLENBQUM7SUFFakIsUUFBUTtJQUNSLENBQUM7SUFFTSxPQUFPLENBQUMsQ0FBUztRQUN0QixPQUFPLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7O3FIQVZVLHVCQUF1Qjt5R0FBdkIsdUJBQXVCLHFHQ1BwQyx1eUtBZ0hBOzRGRHpHYSx1QkFBdUI7a0JBTG5DLFNBQVM7bUJBQUM7b0JBQ1QsOENBQThDO29CQUM5QyxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixXQUFXLEVBQUUsa0NBQWtDO2lCQUNoRDswRUFFVSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6ICdsaWItc2tlbGV0b24tbG9hZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2tlbGV0b24tbG9hZGVyLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2tlbGV0b25Mb2FkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIGNvdW50ID0gNTtcclxuICBASW5wdXQoKSB0eXBlID0gJ3RpbGVzJzsgLy8gJ2xhcmdlLXRpbGUnLCAndGFibGUnXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY291bnRlcihpOiBudW1iZXIpOiBudW1iZXJbXSB7XHJcbiAgICByZXR1cm4gbmV3IEFycmF5KGkpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPCEtLSA8aDE+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==
@@ -1,60 +0,0 @@
1
- import { Component, ContentChildren, EventEmitter, Output } from '@angular/core';
2
- import { LibTabComponent } from './lib-tab.component';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- export class LibTabGroupComponent {
6
- constructor() {
7
- /** The inner tabs of the group. */
8
- this.tabs = undefined;
9
- /** Emmited when a step change occurs. */
10
- this.tabChanged = new EventEmitter();
11
- }
12
- /** The current tab. */
13
- get currentTab() {
14
- var _a;
15
- return (_a = this.tabs) === null || _a === void 0 ? void 0 : _a.find(x => x.isActive);
16
- }
17
- /** The index (starting from zero) of the current tab. */
18
- get currentΤabIndex() {
19
- var _a;
20
- return ((_a = this.currentTab) === null || _a === void 0 ? void 0 : _a.index) || undefined;
21
- }
22
- ngOnInit() { }
23
- ngAfterContentInit() {
24
- if (!this.tabs) {
25
- return;
26
- }
27
- }
28
- ngAfterContentChecked() {
29
- if (this.tabs && this.tabs.length > 0) {
30
- const anyActive = this.tabs.filter(x => x.isActive).length > 0;
31
- if (!anyActive) {
32
- this.tabs.get(0).isActive = true;
33
- }
34
- }
35
- }
36
- onTabChanged(selectedTab) {
37
- this.tabs.forEach((tab) => tab.isActive = tab.id === selectedTab.id);
38
- this.tabChanged.emit(selectedTab);
39
- }
40
- onTabSelectChanged(selectedTabIndex) {
41
- var _a;
42
- this.tabs.forEach((tab, index) => tab.isActive = index === selectedTabIndex);
43
- this.tabChanged.emit((_a = this.tabs) === null || _a === void 0 ? void 0 : _a.get(selectedTabIndex));
44
- }
45
- }
46
- LibTabGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LibTabGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
47
- LibTabGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: LibTabGroupComponent, selector: "lib-tab-group", outputs: { tabChanged: "tabChanged" }, queries: [{ propertyName: "tabs", predicate: LibTabComponent, descendants: true }], ngImport: i0, template: "<div class=\"sm:hidden\">\r\n <label for=\"tabs\" class=\"sr-only\">Select a tab</label>\r\n <select id=\"tabs\" name=\"tabs\" (change)=\"onTabSelectChanged(+tabsSelect.value)\" class=\"tab-group-select\" #tabsSelect>\r\n <option [value]=\"i\" *ngFor=\"let tab of tabs; let i = index\">{{ tab.label }}</option>\r\n </select>\r\n</div>\r\n<div class=\"hidden sm:block\">\r\n <div class=\"tab-group-container\">\r\n <nav class=\"-mb-px flex space-x-8\" aria-label=\"Tabs\">\r\n <a *ngFor=\"let tab of tabs\" href=\"javascript:void(0)\" [class.tab]=\"!tab.isActive\" [class.tab-active]=\"tab.isActive\" (click)=\"onTabChanged(tab)\">\r\n {{ tab.label }}\r\n </a>\r\n </nav>\r\n </div>\r\n</div>\r\n<div *ngIf=\"currentTab?.content\">\r\n <ng-container [ngTemplateOutlet]=\"currentTab!.content\"></ng-container>\r\n</div>", directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LibTabGroupComponent, decorators: [{
49
- type: Component,
50
- args: [{
51
- selector: 'lib-tab-group',
52
- templateUrl: './lib-tab-group.component.html'
53
- }]
54
- }], ctorParameters: function () { return []; }, propDecorators: { tabs: [{
55
- type: ContentChildren,
56
- args: [LibTabComponent, { descendants: true }]
57
- }], tabChanged: [{
58
- type: Output
59
- }] } });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLXRhYi1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb21wb25lbnRzL3NyYy9saWIvY29udHJvbHMvdGFicy9saWItdGFiLWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy90YWJzL2xpYi10YWItZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF5QyxTQUFTLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFM0ksT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFNdEQsTUFBTSxPQUFPLG9CQUFvQjtJQUM3QjtRQUVBLG1DQUFtQztRQUM2QixTQUFJLEdBQTJDLFNBQVMsQ0FBQztRQUN6SCx5Q0FBeUM7UUFDeEIsZUFBVSxHQUFrQyxJQUFJLFlBQVksRUFBbUIsQ0FBQztJQUxqRixDQUFDO0lBT2pCLHVCQUF1QjtJQUN2QixJQUFXLFVBQVU7O1FBQ2pCLE9BQU8sTUFBQSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELHlEQUF5RDtJQUN6RCxJQUFXLGVBQWU7O1FBQ3RCLE9BQU8sQ0FBQSxNQUFBLElBQUksQ0FBQyxVQUFVLDBDQUFFLEtBQUssS0FBSSxTQUFTLENBQUM7SUFDL0MsQ0FBQztJQUVNLFFBQVEsS0FBVyxDQUFDO0lBRXBCLGtCQUFrQjtRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNaLE9BQU87U0FDVjtJQUNMLENBQUM7SUFFTSxxQkFBcUI7UUFDeEIsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNuQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQy9ELElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFFLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQzthQUNyQztTQUNKO0lBQ0wsQ0FBQztJQUVNLFlBQVksQ0FBQyxXQUE0QjtRQUM1QyxJQUFJLENBQUMsSUFBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQW9CLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLEVBQUUsS0FBSyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVNLGtCQUFrQixDQUFDLGdCQUF3Qjs7UUFDOUMsSUFBSSxDQUFDLElBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFvQixFQUFFLEtBQWEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsR0FBRyxLQUFLLEtBQUssZ0JBQWdCLENBQUMsQ0FBQztRQUN2RyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFBLElBQUksQ0FBQyxJQUFJLDBDQUFFLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQzs7a0hBM0NRLG9CQUFvQjtzR0FBcEIsb0JBQW9CLGlIQUlaLGVBQWUsZ0RDWnBDLCszQkFpQk07NEZEVE8sb0JBQW9CO2tCQUpoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxlQUFlO29CQUN6QixXQUFXLEVBQUUsZ0NBQWdDO2lCQUNoRDswRUFLbUUsSUFBSTtzQkFBbkUsZUFBZTt1QkFBQyxlQUFlLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUV0QyxVQUFVO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQWZ0ZXJDb250ZW50SW5pdCwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEV2ZW50RW1pdHRlciwgT25Jbml0LCBPdXRwdXQsIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgTGliVGFiQ29tcG9uZW50IH0gZnJvbSAnLi9saWItdGFiLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnbGliLXRhYi1ncm91cCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGliLXRhYi1ncm91cC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIExpYlRhYkdyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0LCBBZnRlckNvbnRlbnRDaGVja2VkIHtcclxuICAgIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gICAgLyoqIFRoZSBpbm5lciB0YWJzIG9mIHRoZSBncm91cC4gKi9cclxuICAgIEBDb250ZW50Q2hpbGRyZW4oTGliVGFiQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIHB1YmxpYyB0YWJzOiBRdWVyeUxpc3Q8TGliVGFiQ29tcG9uZW50PiB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuICAgIC8qKiBFbW1pdGVkIHdoZW4gYSBzdGVwIGNoYW5nZSBvY2N1cnMuICovXHJcbiAgICBAT3V0cHV0KCkgcHVibGljIHRhYkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxMaWJUYWJDb21wb25lbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxMaWJUYWJDb21wb25lbnQ+KCk7XHJcblxyXG4gICAgLyoqIFRoZSBjdXJyZW50IHRhYi4gKi9cclxuICAgIHB1YmxpYyBnZXQgY3VycmVudFRhYigpOiBMaWJUYWJDb21wb25lbnQgfCB1bmRlZmluZWQge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnRhYnM/LmZpbmQoeCA9PiB4LmlzQWN0aXZlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogVGhlIGluZGV4IChzdGFydGluZyBmcm9tIHplcm8pIG9mIHRoZSBjdXJyZW50IHRhYi4gKi9cclxuICAgIHB1YmxpYyBnZXQgY3VycmVudM6kYWJJbmRleCgpOiBudW1iZXIgfCB1bmRlZmluZWQge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRUYWI/LmluZGV4IHx8IHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7IH1cclxuXHJcbiAgICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy50YWJzKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy50YWJzICYmIHRoaXMudGFicy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGFueUFjdGl2ZSA9IHRoaXMudGFicy5maWx0ZXIoeCA9PiB4LmlzQWN0aXZlKS5sZW5ndGggPiAwO1xyXG4gICAgICAgICAgICBpZiAoIWFueUFjdGl2ZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy50YWJzLmdldCgwKSEuaXNBY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvblRhYkNoYW5nZWQoc2VsZWN0ZWRUYWI6IExpYlRhYkNvbXBvbmVudCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudGFicyEuZm9yRWFjaCgodGFiOiBMaWJUYWJDb21wb25lbnQpID0+IHRhYi5pc0FjdGl2ZSA9IHRhYi5pZCA9PT0gc2VsZWN0ZWRUYWIuaWQpO1xyXG4gICAgICAgIHRoaXMudGFiQ2hhbmdlZC5lbWl0KHNlbGVjdGVkVGFiKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25UYWJTZWxlY3RDaGFuZ2VkKHNlbGVjdGVkVGFiSW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudGFicyEuZm9yRWFjaCgodGFiOiBMaWJUYWJDb21wb25lbnQsIGluZGV4OiBudW1iZXIpID0+IHRhYi5pc0FjdGl2ZSA9IGluZGV4ID09PSBzZWxlY3RlZFRhYkluZGV4KTtcclxuICAgICAgICB0aGlzLnRhYkNoYW5nZWQuZW1pdCh0aGlzLnRhYnM/LmdldChzZWxlY3RlZFRhYkluZGV4KSk7XHJcbiAgICB9XHJcbn0iLCI8ZGl2IGNsYXNzPVwic206aGlkZGVuXCI+XHJcbiAgICA8bGFiZWwgZm9yPVwidGFic1wiIGNsYXNzPVwic3Itb25seVwiPlNlbGVjdCBhIHRhYjwvbGFiZWw+XHJcbiAgICA8c2VsZWN0IGlkPVwidGFic1wiIG5hbWU9XCJ0YWJzXCIgKGNoYW5nZSk9XCJvblRhYlNlbGVjdENoYW5nZWQoK3RhYnNTZWxlY3QudmFsdWUpXCIgY2xhc3M9XCJ0YWItZ3JvdXAtc2VsZWN0XCIgI3RhYnNTZWxlY3Q+XHJcbiAgICAgICAgPG9wdGlvbiBbdmFsdWVdPVwiaVwiICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFiczsgbGV0IGkgPSBpbmRleFwiPnt7IHRhYi5sYWJlbCB9fTwvb3B0aW9uPlxyXG4gICAgPC9zZWxlY3Q+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwiaGlkZGVuIHNtOmJsb2NrXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGFiLWdyb3VwLWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxuYXYgY2xhc3M9XCItbWItcHggZmxleCBzcGFjZS14LThcIiBhcmlhLWxhYmVsPVwiVGFic1wiPlxyXG4gICAgICAgICAgICA8YSAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYnNcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgW2NsYXNzLnRhYl09XCIhdGFiLmlzQWN0aXZlXCIgW2NsYXNzLnRhYi1hY3RpdmVdPVwidGFiLmlzQWN0aXZlXCIgKGNsaWNrKT1cIm9uVGFiQ2hhbmdlZCh0YWIpXCI+XHJcbiAgICAgICAgICAgICAgICB7eyB0YWIubGFiZWwgfX1cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgIDwvbmF2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2ICpuZ0lmPVwiY3VycmVudFRhYj8uY29udGVudFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjdXJyZW50VGFiIS5jb250ZW50XCI+PC9uZy1jb250YWluZXI+XHJcbjwvZGl2PiJdfQ==
@@ -1,55 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, forwardRef, Input, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';
2
- import * as uuid from 'uuid';
3
- import { LibTabGroupComponent } from './lib-tab-group.component';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./lib-tab-group.component";
6
- export class LibTabComponent {
7
- constructor(_tabGroup) {
8
- this._tabGroup = _tabGroup;
9
- this._isActive = false;
10
- }
11
- /** Indicates the index of the tab. */
12
- get index() {
13
- var _a;
14
- return ((_a = this._tabGroup.tabs) === null || _a === void 0 ? void 0 : _a.toArray().indexOf(this)) || undefined;
15
- }
16
- /** Indicates whether the tab is active. */
17
- get isActive() {
18
- return this._isActive;
19
- }
20
- /** Setter for LibTabComponent isActive property. */
21
- set isActive(isActive) {
22
- this._isActive = isActive;
23
- }
24
- ngOnInit() {
25
- this.id = this.id || uuid.v4();
26
- }
27
- }
28
- LibTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LibTabComponent, deps: [{ token: i1.LibTabGroupComponent }], target: i0.ɵɵFactoryTarget.Component });
29
- LibTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: LibTabComponent, selector: "lib-tab", inputs: { label: "label", id: "id" }, providers: [{ provide: LibTabGroupComponent, useExisting: forwardRef(() => LibTabGroupComponent) }], viewQueries: [{ propertyName: "content", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: `
30
- <ng-template>
31
- <ng-content></ng-content>
32
- </ng-template>
33
- `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LibTabComponent, decorators: [{
35
- type: Component,
36
- args: [{
37
- selector: 'lib-tab',
38
- providers: [{ provide: LibTabGroupComponent, useExisting: forwardRef(() => LibTabGroupComponent) }],
39
- template: `
40
- <ng-template>
41
- <ng-content></ng-content>
42
- </ng-template>
43
- `,
44
- encapsulation: ViewEncapsulation.None,
45
- changeDetection: ChangeDetectionStrategy.OnPush
46
- }]
47
- }], ctorParameters: function () { return [{ type: i1.LibTabGroupComponent }]; }, propDecorators: { content: [{
48
- type: ViewChild,
49
- args: [TemplateRef, { static: true }]
50
- }], label: [{
51
- type: Input
52
- }], id: [{
53
- type: Input
54
- }] } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLXRhYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb21wb25lbnRzL3NyYy9saWIvY29udHJvbHMvdGFicy9saWItdGFiLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsV0FBVyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6SSxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBYWpFLE1BQU0sT0FBTyxlQUFlO0lBR3hCLFlBQXFCLFNBQStCO1FBQS9CLGNBQVMsR0FBVCxTQUFTLENBQXNCO1FBRjVDLGNBQVMsR0FBWSxLQUFLLENBQUM7SUFFc0IsQ0FBQztJQVMxRCxzQ0FBc0M7SUFDdEMsSUFBVyxLQUFLOztRQUNaLE9BQU8sQ0FBQSxNQUFBLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSwwQ0FBRSxPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFJLFNBQVMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsMkNBQTJDO0lBQzNDLElBQVcsUUFBUTtRQUNmLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsb0RBQW9EO0lBQ3BELElBQVcsUUFBUSxDQUFDLFFBQWlCO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQzlCLENBQUM7SUFFTSxRQUFRO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUNuQyxDQUFDOzs2R0E3QlEsZUFBZTtpR0FBZixlQUFlLHdFQVRiLENBQUMsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsbUVBZXhGLFdBQVcsOERBZFo7Ozs7S0FJVDs0RkFJUSxlQUFlO2tCQVgzQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxTQUFTO29CQUNuQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQztvQkFDbkcsUUFBUSxFQUFFOzs7O0tBSVQ7b0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDsyR0FPb0QsT0FBTztzQkFBdkQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUV4QixLQUFLO3NCQUFwQixLQUFLO2dCQUVVLEVBQUU7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0ICogYXMgdXVpZCBmcm9tICd1dWlkJztcclxuaW1wb3J0IHsgTGliVGFiR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL2xpYi10YWItZ3JvdXAuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdsaWItdGFiJyxcclxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTGliVGFiR3JvdXBDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IExpYlRhYkdyb3VwQ29tcG9uZW50KSB9XSxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPG5nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIGAsXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIExpYlRhYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBwcml2YXRlIF9pc0FjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCBwcml2YXRlIF90YWJHcm91cDogTGliVGFiR3JvdXBDb21wb25lbnQgKSB7IH1cclxuXHJcbiAgICAvKiogVGhlIGNvbnRlbnQgcHJvdmlkZWQgZm9yIHRoZSB0YWIuICovXHJcbiAgICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmLCB7IHN0YXRpYzogdHJ1ZSB9KSBwdWJsaWMgY29udGVudCE6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgICAvKiogQSBsYWJlbCBmb3IgdGhlIHRhYiBoZWFkZXIuICovXHJcbiAgICBASW5wdXQoKSBwdWJsaWMgbGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICAgIC8qKiBJbmRpY2F0ZXMgdGhlIHVuaXF1ZSBpZCBhc3NpZ25lZCBpbiB0aGUgdGFiLiAqL1xyXG4gICAgQElucHV0KCkgcHVibGljIGlkITogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBJbmRpY2F0ZXMgdGhlIGluZGV4IG9mIHRoZSB0YWIuICovXHJcbiAgICBwdWJsaWMgZ2V0IGluZGV4KCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RhYkdyb3VwLnRhYnM/LnRvQXJyYXkoKS5pbmRleE9mKHRoaXMpIHx8IHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHRhYiBpcyBhY3RpdmUuICovXHJcbiAgICBwdWJsaWMgZ2V0IGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pc0FjdGl2ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogU2V0dGVyIGZvciBMaWJUYWJDb21wb25lbnQgaXNBY3RpdmUgcHJvcGVydHkuICovXHJcbiAgICBwdWJsaWMgc2V0IGlzQWN0aXZlKGlzQWN0aXZlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5faXNBY3RpdmUgPSBpc0FjdGl2ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5pZCA9IHRoaXMuaWQgfHwgdXVpZC52NCgpO1xyXG4gICAgfVxyXG59Il19
@@ -1,31 +0,0 @@
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: "12.2.16", ngImport: i0, type: ToasterContainerComponent, deps: [{ token: i1.ToasterService }], target: i0.ɵɵFactoryTarget.Component });
23
- ToasterContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", 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: "12.2.16", ngImport: i0, type: ToasterContainerComponent, decorators: [{
25
- type: Component,
26
- args: [{
27
- selector: 'lib-toaster-container',
28
- templateUrl: './toaster-container.component.html'
29
- }]
30
- }], ctorParameters: function () { return [{ type: i1.ToasterService }]; } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2NvbnRyb2xzL3RvYXN0ZXIvdG9hc3Rlci1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2NvbnRyb2xzL3RvYXN0ZXIvdG9hc3Rlci1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFRbEQsTUFBTSxPQUFPLHlCQUF5QjtJQUlwQyxZQUFvQixPQUF1QjtRQUF2QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUYzQyxXQUFNLEdBQVksRUFBRSxDQUFDO0lBRTBCLENBQUM7SUFFaEQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTTthQUNoQixTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0QyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsRUFBRSxLQUFLLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQzNELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFhO1FBQ2xCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRixDQUFDOzt1SEFoQlUseUJBQXlCOzJHQUF6Qix5QkFBeUIsNkRDUnRDLHFJQUNBOzRGRE9hLHlCQUF5QjtrQkFKckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxXQUFXLEVBQUUsb0NBQW9DO2lCQUNsRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRvYXN0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdG9hc3Rlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVG9hc3QgfSBmcm9tICcuLi8uLi90eXBlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi10b2FzdGVyLWNvbnRhaW5lcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RvYXN0ZXItY29udGFpbmVyLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9hc3RlckNvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIHRvYXN0czogVG9hc3RbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRvYXN0ZXI6IFRvYXN0ZXJTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRvYXN0ZXIudG9hc3QkXHJcbiAgICAgIC5zdWJzY3JpYmUodG9hc3QgPT4ge1xyXG4gICAgICAgIHRoaXMudG9hc3RzID0gW3RvYXN0LCAuLi50aGlzLnRvYXN0c107XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnRvYXN0cy5wb3AoKSwgdG9hc3QuZGVsYXkgfHwgNjAwMCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMudG9hc3RzID0gdGhpcy50b2FzdHMuc2xpY2UoMCwgaW5kZXgpLmNvbmNhdCh0aGlzLnRvYXN0cy5zbGljZShpbmRleCArIDEpKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxsaWItdG9hc3RlciAqbmdGb3I9XCJsZXQgdG9hc3Qgb2YgdG9hc3RzOyBsZXQgaT1pbmRleFwiIFt0b2FzdF09XCJ0b2FzdFwiIFtpXT1cImlcIiAocmVtb3ZlKT1cInJlbW92ZSgkZXZlbnQpXCI+PC9saWItdG9hc3Rlcj5cclxuIl19
@@ -1,34 +0,0 @@
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: "12.2.16", ngImport: i0, type: ToasterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
- ToasterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", 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: "12.2.16", ngImport: i0, type: ToasterComponent, decorators: [{
22
- type: Component,
23
- args: [{
24
- selector: 'lib-toaster',
25
- templateUrl: './toaster.component.html'
26
- }]
27
- }], ctorParameters: function () { return []; }, propDecorators: { toast: [{
28
- type: Input
29
- }], i: [{
30
- type: Input
31
- }], remove: [{
32
- type: Output
33
- }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb21wb25lbnRzL3NyYy9saWIvY29udHJvbHMvdG9hc3Rlci90b2FzdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy90b2FzdGVyL3RvYXN0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTy9FLE1BQU0sT0FBTyxnQkFBZ0I7SUFRM0I7UUFMUyxNQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ0wsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDdkMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixXQUFNLEdBQUcsS0FBSyxDQUFDO0lBRU4sQ0FBQztJQUVqQixRQUFRO1FBQ04sTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDM0UsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUFhO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNqRCxDQUFDOzs4R0FqQlUsZ0JBQWdCO2tHQUFoQixnQkFBZ0Isc0hDUDdCLHl2SkFzR007NEZEL0ZPLGdCQUFnQjtrQkFKNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsV0FBVyxFQUFFLDBCQUEwQjtpQkFDeEM7MEVBR1UsS0FBSztzQkFBYixLQUFLO2dCQUNHLENBQUM7c0JBQVQsS0FBSztnQkFDSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRvYXN0IH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdG9hc3RlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RvYXN0ZXIuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUb2FzdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KCkgdG9hc3Q6IFRvYXN0IHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIGkgPSAwO1xyXG4gIEBPdXRwdXQoKSByZW1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICBwdWJsaWMgaXNNb2JpbGUgPSBmYWxzZTtcclxuICBwdWJsaWMgY2xvc2VkID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgd2luZG93LnNjcmVlbi53aWR0aCA+IDY0MCA/IHRoaXMuaXNNb2JpbGUgPSBmYWxzZSA6IHRoaXMuaXNNb2JpbGUgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsb3NlVG9hc3QoaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5jbG9zZWQgPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnJlbW92ZS5lbWl0KGluZGV4KSwgMTAwKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBhcmlhLWxpdmU9XCJhc3NlcnRpdmVcIlxyXG4gICAgIFtuZ0NsYXNzXT1cImNsb3NlZCA/ICd0b2FzdC1jbG9zZWQnOiAndG9hc3Qgei01MCdcIlxyXG4gICAgIFtuZ1N0eWxlXT1cImlzTW9iaWxlID8geyAnbWFyZ2luLWJvdHRvbS5weCc6IGkgKiA4NSB9IDogeydtYXJnaW4tdG9wLnB4JzogaSAqIDg1IH1cIj5cclxuICA8ZGl2IGNsYXNzPVwidG9hc3QtY29udGFpbmVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidG9hc3QtcGlsbFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidG9hc3QtY29udGV4dC1wYWRkaW5nXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRvYXN0LWNvbnRleHRcIlxyXG4gICAgICAgICAgICAgW25nU3dpdGNoXT1cInRvYXN0Py50eXBlXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9hc3QtaWNvblwiXHJcbiAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInaW5mbydcIj5cclxuICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImgtNSB3LTUgdGV4dC1ibHVlLTQwMFwiXHJcbiAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyMCAyMFwiXHJcbiAgICAgICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXHJcbiAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgZD1cIk0xOCAxMGE4IDggMCAxMS0xNiAwIDggOCAwIDAxMTYgMHptLTctNGExIDEgMCAxMS0yIDAgMSAxIDAgMDEyIDB6TTkgOWExIDEgMCAwMDAgMnYzYTEgMSAwIDAwMSAxaDFhMSAxIDAgMTAwLTJ2LTNhMSAxIDAgMDAtMS0xSDl6XCJcclxuICAgICAgICAgICAgICAgICAgICBjbGlwLXJ1bGU9XCJldmVub2RkXCIgLz5cclxuICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b2FzdC1pY29uXCJcclxuICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidzdWNjZXNzJ1wiPlxyXG4gICAgICAgICAgICA8c3ZnIGNsYXNzPVwiaC01IHctNSB0ZXh0LWdyZWVuLTQwMFwiXHJcbiAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxyXG4gICAgICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXHJcbiAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjJcIlxyXG4gICAgICAgICAgICAgICAgICAgIGQ9XCJNOSAxMmwyIDIgNC00bTYgMmE5IDkgMCAxMS0xOCAwIDkgOSAwIDAxMTggMHpcIiAvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRvYXN0LWljb25cIlxyXG4gICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2Vycm9yJ1wiPlxyXG4gICAgICAgICAgICA8c3ZnIGNsYXNzPVwiaC01IHctNSB0ZXh0LXJlZC00MDBcIlxyXG4gICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxyXG4gICAgICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxyXG4gICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgIGQ9XCJNMTAgMThhOCA4IDAgMTAwLTE2IDggOCAwIDAwMCAxNnpNOC43MDcgNy4yOTNhMSAxIDAgMDAtMS40MTQgMS40MTRMOC41ODYgMTBsLTEuMjkzIDEuMjkzYTEgMSAwIDEwMS40MTQgMS40MTRMMTAgMTEuNDE0bDEuMjkzIDEuMjkzYTEgMSAwIDAwMS40MTQtMS40MTRMMTEuNDE0IDEwbDEuMjkzLTEuMjkzYTEgMSAwIDAwLTEuNDE0LTEuNDE0TDEwIDguNTg2IDguNzA3IDcuMjkzelwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIC8+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9hc3QtaWNvblwiXHJcbiAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInd2FybmluZydcIj5cclxuICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImgtNSB3LTUgdGV4dC15ZWxsb3ctNDAwXCJcclxuICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcclxuICAgICAgICAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcclxuICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgICBkPVwiTTguMjU3IDMuMDk5Yy43NjUtMS4zNiAyLjcyMi0xLjM2IDMuNDg2IDBsNS41OCA5LjkyYy43NSAxLjMzNC0uMjEzIDIuOTgtMS43NDIgMi45OEg0LjQyYy0xLjUzIDAtMi40OTMtMS42NDYtMS43NDMtMi45OGw1LjU4LTkuOTJ6TTExIDEzYTEgMSAwIDExLTIgMCAxIDEgMCAwMTIgMHptLTEtOGExIDEgMCAwMC0xIDF2M2ExIDEgMCAwMDIgMFY2YTEgMSAwIDAwLTEtMXpcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiAvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRvYXN0LWljb25cIlxyXG4gICAgICAgICAgICAgICAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICAgICAgICA8c3ZnIGNsYXNzPVwiaC01IHctNSB0ZXh0LWdyZWVuLTQwMFwiXHJcbiAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxyXG4gICAgICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXHJcbiAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjJcIlxyXG4gICAgICAgICAgICAgICAgICAgIGQ9XCJNOSAxMmwyIDIgNC00bTYgMmE5IDkgMCAxMS0xOCAwIDkgOSAwIDAxMTggMHpcIiAvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtbC0zIHctMCBmbGV4LTFcIj5cclxuICAgICAgICAgICAgPHAgY2xhc3M9XCJ0b2FzdC10aXRsZVwiXHJcbiAgICAgICAgICAgICAgICpuZ0lmPVwidG9hc3Q/LnRpdGxlXCI+XHJcbiAgICAgICAgICAgICAge3t0b2FzdD8udGl0bGV9fVxyXG4gICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgIDxwIGNsYXNzPVwidG9hc3QtYm9keVwiPlxyXG4gICAgICAgICAgICAgIHt7dG9hc3Q/LmJvZHl9fVxyXG4gICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b2FzdC1jbG9zZS1pY29uXCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJ0b2FzdC1jbG9zZS1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbG9zZVRvYXN0KGkpXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+Q2xvc2U8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPCEtLSBIZXJvaWNvbiBuYW1lOiBzb2xpZC94IC0tPlxyXG4gICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJoLTUgdy01XCJcclxuICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyMCAyMFwiXHJcbiAgICAgICAgICAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcclxuICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBkPVwiTTQuMjkzIDQuMjkzYTEgMSAwIDAxMS40MTQgMEwxMCA4LjU4Nmw0LjI5My00LjI5M2ExIDEgMCAxMTEuNDE0IDEuNDE0TDExLjQxNCAxMGw0LjI5MyA0LjI5M2ExIDEgMCAwMS0xLjQxNCAxLjQxNEwxMCAxMS40MTRsLTQuMjkzIDQuMjkzYTEgMSAwIDAxLTEuNDE0LTEuNDE0TDguNTg2IDEwIDQuMjkzIDUuNzA3YTEgMSAwIDAxMC0xLjQxNHpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIC8+XHJcbiAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==