@indice/ng-components 0.2.174 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/_styles.scss +63 -15
  2. package/{esm2020 → esm2022}/indice-ng-components.mjs +4 -4
  3. package/esm2022/lib/controls/advanced-search/advanced-search.component.mjs +156 -0
  4. package/esm2022/lib/controls/advanced-search/models.mjs +109 -0
  5. package/esm2022/lib/controls/avatar-initials/avatar-initials.component.mjs +48 -0
  6. package/{esm2020 → esm2022}/lib/controls/breadcrumb/breadcrumb-item.mjs +14 -14
  7. package/{esm2020 → esm2022}/lib/controls/breadcrumb/breadcrumb.component.mjs +26 -26
  8. package/{esm2020 → esm2022}/lib/controls/collapsible-panel/collapsible-panel.component.mjs +20 -20
  9. package/esm2022/lib/controls/combobox/combobox.component.mjs +121 -0
  10. package/esm2022/lib/controls/content-tile/content-tile-header/content-tile-header.component.mjs +17 -0
  11. package/esm2022/lib/controls/content-tile/content-tile-item/content-tile-item.component.mjs +19 -0
  12. package/esm2022/lib/controls/content-tile/content-tile.component.mjs +63 -0
  13. package/esm2022/lib/controls/date-picker/date-picker.component.mjs +300 -0
  14. package/esm2022/lib/controls/drop-down-menu/drop-down-menu.component.mjs +72 -0
  15. package/{esm2020 → esm2022}/lib/controls/kpi-tile/kpi-tile.component.mjs +43 -43
  16. package/esm2022/lib/controls/language-selection/language-selection.component.mjs +31 -0
  17. package/{esm2020 → esm2022}/lib/controls/list-view/list-column.component.mjs +25 -25
  18. package/{esm2020 → esm2022}/lib/controls/list-view/list-details-section.component.mjs +17 -17
  19. package/{esm2020 → esm2022}/lib/controls/list-view/list-tile.component.mjs +17 -17
  20. package/esm2022/lib/controls/list-view/list-view-empty-state.component.mjs +29 -0
  21. package/esm2022/lib/controls/list-view/list-view.component.mjs +210 -0
  22. package/{esm2020 → esm2022}/lib/controls/nav-links-list/nav-links-list.component.mjs +54 -54
  23. package/esm2022/lib/controls/notifications-indicator/notifications-indicator.component.mjs +79 -0
  24. package/esm2022/lib/controls/pager/pager.component.mjs +130 -0
  25. package/esm2022/lib/controls/progress-bar/progress-bar.component.mjs +46 -0
  26. package/esm2022/lib/controls/side-pane/side-pane.component.mjs +87 -0
  27. package/esm2022/lib/controls/skeleton-loader/skeleton-loader.component.mjs +29 -0
  28. package/esm2022/lib/controls/stats-grid/stats-grid.component.mjs +49 -0
  29. package/{esm2020 → esm2022}/lib/controls/stepper/lib-step-info.directive.mjs +16 -16
  30. package/{esm2020 → esm2022}/lib/controls/stepper/lib-step-label.directive.mjs +16 -16
  31. package/esm2022/lib/controls/stepper/lib-step.component.mjs +81 -0
  32. package/esm2022/lib/controls/stepper/lib-stepper.component.mjs +108 -0
  33. package/{esm2020 → esm2022}/lib/controls/stepper/types/step-selected-event.mjs +3 -3
  34. package/{esm2020 → esm2022}/lib/controls/stepper/types/stepper-type.mjs +11 -11
  35. package/esm2022/lib/controls/tabs/lib-tab-group.component.mjs +66 -0
  36. package/{esm2020 → esm2022}/lib/controls/tabs/lib-tab-label.directive.mjs +16 -16
  37. package/{esm2020 → esm2022}/lib/controls/tabs/lib-tab.component.mjs +57 -57
  38. package/{esm2020 → esm2022}/lib/controls/toaster/toaster-container.component.mjs +28 -28
  39. package/{esm2020 → esm2022}/lib/controls/toaster/toaster.component.mjs +31 -31
  40. package/esm2022/lib/controls/toggle/toggle.component.mjs +64 -0
  41. package/esm2022/lib/controls/toggle-button/toggle-button.component.mjs +87 -0
  42. package/esm2022/lib/controls/toggle-buttons-list/toggle-buttons-list.component.mjs +34 -0
  43. package/esm2022/lib/controls/user-profile-menu/user-profile-menu.component.mjs +71 -0
  44. package/esm2022/lib/directives/click-outside.directive.mjs +189 -0
  45. package/{esm2020 → esm2022}/lib/directives/dynamic-component-host.directive.mjs +17 -17
  46. package/esm2022/lib/helpers/base-list.component.mjs +230 -0
  47. package/esm2022/lib/icons.mjs +36 -0
  48. package/{esm2020 → esm2022}/lib/layouts/shell/shell-footer/shell-footer.component.mjs +19 -19
  49. package/esm2022/lib/layouts/shell/shell-header/shell-header.component.mjs +130 -0
  50. package/esm2022/lib/layouts/shell/shell-layout/shell-layout.component.mjs +90 -0
  51. package/{esm2020 → esm2022}/lib/layouts/shell/shell-sidebar/shell-sidebar.component.mjs +54 -54
  52. package/{esm2020 → esm2022}/lib/layouts/shell/shell-sidebar-header/shell-sidebar-header.component.mjs +45 -45
  53. package/esm2022/lib/layouts/shell/shell-sidebar-layout/shell-sidebar-layout.component.mjs +30 -0
  54. package/{esm2020 → esm2022}/lib/layouts/shell/shell-stacked-layout/shell-stacked-layout.component.mjs +20 -20
  55. package/esm2022/lib/layouts/views/form-layout/form-layout.component.mjs +86 -0
  56. package/esm2022/lib/layouts/views/model-view-layout/model-view-layout.component.mjs +101 -0
  57. package/esm2022/lib/layouts/views/side-view-layout/side-view-layout.component.mjs +106 -0
  58. package/esm2022/lib/layouts/views/view-layout/view-layout.component.mjs +104 -0
  59. package/esm2022/lib/ng-components.module.mjs +320 -0
  60. package/esm2022/lib/pages/auth/auth-callback/auth-callback.component.mjs +30 -0
  61. package/esm2022/lib/pages/auth/auth-renew/auth-renew.component.mjs +31 -0
  62. package/{esm2020 → esm2022}/lib/pages/auth/logged-out/logged-out.component.mjs +28 -28
  63. package/{esm2020 → esm2022}/lib/pages/http-status/error/error.component.mjs +17 -17
  64. package/{esm2020 → esm2022}/lib/pages/http-status/page-not-found/page-not-found.component.mjs +15 -15
  65. package/{esm2020 → esm2022}/lib/pages/http-status/unauthorized/unauthorized.component.mjs +14 -14
  66. package/esm2022/lib/pipes/address.pipe.mjs +21 -0
  67. package/esm2022/lib/pipes/duration-format.pipe.mjs +64 -0
  68. package/esm2022/lib/pipes/short-number.pipe.mjs +43 -0
  69. package/esm2022/lib/services/breadcrumb.service.mjs +174 -0
  70. package/{esm2020 → esm2022}/lib/services/component-loader/component-loader-options.class.mjs +7 -7
  71. package/esm2022/lib/services/component-loader/component-loader.class.mjs +188 -0
  72. package/esm2022/lib/services/component-loader/component-loader.factory.mjs +32 -0
  73. package/{esm2020 → esm2022}/lib/services/component-loader/content-ref.class.mjs +12 -12
  74. package/esm2022/lib/services/modal-service/modal-backdrop-component.mjs +44 -0
  75. package/esm2022/lib/services/modal-service/modal-container-component.mjs +126 -0
  76. package/{esm2020 → esm2022}/lib/services/modal-service/modal-options.class.mjs +35 -35
  77. package/esm2022/lib/services/modal-service/modal-service.mjs +220 -0
  78. package/{esm2020 → esm2022}/lib/services/modal-service/modal-styles.class.mjs +10 -10
  79. package/{esm2020 → esm2022}/lib/services/modal-service/modal.class.mjs +27 -27
  80. package/{esm2020 → esm2022}/lib/services/toaster.service.mjs +26 -26
  81. package/esm2022/lib/services/user-settings.service.mjs +35 -0
  82. package/esm2022/lib/services/utilities.service.mjs +47 -0
  83. package/{esm2020 → esm2022}/lib/tokens.mjs +7 -7
  84. package/esm2022/lib/types.mjs +133 -0
  85. package/{esm2020 → esm2022}/public-api.mjs +78 -70
  86. package/{fesm2020 → fesm2022}/indice-ng-components.mjs +4898 -4592
  87. package/fesm2022/indice-ng-components.mjs.map +1 -0
  88. package/index.d.ts +5 -5
  89. package/lib/controls/advanced-search/advanced-search.component.d.ts +40 -40
  90. package/lib/controls/advanced-search/models.d.ts +91 -91
  91. package/lib/controls/avatar-initials/avatar-initials.component.d.ts +14 -14
  92. package/lib/controls/breadcrumb/breadcrumb-item.d.ts +7 -7
  93. package/lib/controls/breadcrumb/breadcrumb.component.d.ts +12 -12
  94. package/lib/controls/collapsible-panel/collapsible-panel.component.d.ts +10 -10
  95. package/lib/controls/combobox/combobox.component.d.ts +35 -34
  96. package/lib/controls/content-tile/content-tile-header/content-tile-header.component.d.ts +7 -0
  97. package/lib/controls/content-tile/content-tile-item/content-tile-item.component.d.ts +8 -0
  98. package/lib/controls/content-tile/content-tile.component.d.ts +23 -0
  99. package/lib/controls/date-picker/date-picker.component.d.ts +53 -53
  100. package/lib/controls/drop-down-menu/drop-down-menu.component.d.ts +26 -26
  101. package/lib/controls/kpi-tile/kpi-tile.component.d.ts +15 -15
  102. package/lib/controls/language-selection/language-selection.component.d.ts +14 -14
  103. package/lib/controls/list-view/list-column.component.d.ts +9 -9
  104. package/lib/controls/list-view/list-details-section.component.d.ts +7 -7
  105. package/lib/controls/list-view/list-tile.component.d.ts +7 -7
  106. package/lib/controls/list-view/list-view-empty-state.component.d.ts +11 -11
  107. package/lib/controls/list-view/list-view.component.d.ts +62 -61
  108. package/lib/controls/nav-links-list/nav-links-list.component.d.ts +21 -21
  109. package/lib/controls/notifications-indicator/notifications-indicator.component.d.ts +22 -22
  110. package/lib/controls/pager/pager.component.d.ts +36 -36
  111. package/lib/controls/progress-bar/progress-bar.component.d.ts +16 -0
  112. package/lib/controls/side-pane/side-pane.component.d.ts +22 -18
  113. package/lib/controls/skeleton-loader/skeleton-loader.component.d.ts +12 -11
  114. package/lib/controls/stats-grid/stats-grid.component.d.ts +16 -0
  115. package/lib/controls/stepper/lib-step-info.directive.d.ts +8 -8
  116. package/lib/controls/stepper/lib-step-label.directive.d.ts +8 -8
  117. package/lib/controls/stepper/lib-step.component.d.ts +34 -34
  118. package/lib/controls/stepper/lib-stepper.component.d.ts +43 -43
  119. package/lib/controls/stepper/types/step-selected-event.d.ts +12 -12
  120. package/lib/controls/stepper/types/stepper-type.d.ts +10 -10
  121. package/lib/controls/tabs/lib-tab-group.component.d.ts +21 -21
  122. package/lib/controls/tabs/lib-tab-label.directive.d.ts +8 -8
  123. package/lib/controls/tabs/lib-tab.component.d.ts +24 -24
  124. package/lib/controls/toaster/toaster-container.component.d.ts +13 -13
  125. package/lib/controls/toaster/toaster.component.d.ts +15 -15
  126. package/lib/controls/toggle/toggle.component.d.ts +19 -19
  127. package/lib/controls/toggle-button/toggle-button.component.d.ts +25 -25
  128. package/lib/controls/toggle-buttons-list/toggle-buttons-list.component.d.ts +15 -14
  129. package/lib/controls/user-profile-menu/user-profile-menu.component.d.ts +24 -24
  130. package/lib/directives/click-outside.directive.d.ts +40 -40
  131. package/lib/directives/dynamic-component-host.directive.d.ts +9 -9
  132. package/lib/helpers/base-list.component.d.ts +54 -53
  133. package/lib/icons.d.ts +34 -34
  134. package/lib/layouts/shell/shell-footer/shell-footer.component.d.ts +8 -8
  135. package/lib/layouts/shell/shell-header/shell-header.component.d.ts +39 -39
  136. package/lib/layouts/shell/shell-layout/shell-layout.component.d.ts +26 -26
  137. package/lib/layouts/shell/shell-sidebar/shell-sidebar.component.d.ts +20 -20
  138. package/lib/layouts/shell/shell-sidebar-header/shell-sidebar-header.component.d.ts +14 -14
  139. package/lib/layouts/shell/shell-sidebar-layout/shell-sidebar-layout.component.d.ts +15 -15
  140. package/lib/layouts/shell/shell-stacked-layout/shell-stacked-layout.component.d.ts +10 -10
  141. package/lib/layouts/views/form-layout/form-layout.component.d.ts +26 -24
  142. package/lib/layouts/views/model-view-layout/model-view-layout.component.d.ts +42 -42
  143. package/lib/layouts/views/side-view-layout/side-view-layout.component.d.ts +29 -28
  144. package/lib/layouts/views/view-layout/view-layout.component.d.ts +31 -31
  145. package/lib/ng-components.module.d.ts +71 -65
  146. package/lib/pages/auth/auth-callback/auth-callback.component.d.ts +13 -13
  147. package/lib/pages/auth/auth-renew/auth-renew.component.d.ts +12 -12
  148. package/lib/pages/auth/logged-out/logged-out.component.d.ts +12 -12
  149. package/lib/pages/http-status/error/error.component.d.ts +8 -8
  150. package/lib/pages/http-status/page-not-found/page-not-found.component.d.ts +8 -8
  151. package/lib/pages/http-status/unauthorized/unauthorized.component.d.ts +8 -8
  152. package/lib/pipes/address.pipe.d.ts +8 -8
  153. package/lib/pipes/duration-format.pipe.d.ts +8 -8
  154. package/lib/pipes/short-number.pipe.d.ts +7 -0
  155. package/lib/services/breadcrumb.service.d.ts +29 -29
  156. package/lib/services/component-loader/component-loader-options.class.d.ts +30 -30
  157. package/lib/services/component-loader/component-loader.class.d.ts +92 -92
  158. package/lib/services/component-loader/component-loader.factory.d.ts +24 -24
  159. package/lib/services/component-loader/content-ref.class.d.ts +12 -12
  160. package/lib/services/modal-service/modal-backdrop-component.d.ts +20 -20
  161. package/lib/services/modal-service/modal-container-component.d.ts +33 -33
  162. package/lib/services/modal-service/modal-options.class.d.ts +81 -81
  163. package/lib/services/modal-service/modal-service.d.ts +58 -58
  164. package/lib/services/modal-service/modal-styles.class.d.ts +10 -10
  165. package/lib/services/modal-service/modal.class.d.ts +43 -43
  166. package/lib/services/toaster.service.d.ts +11 -11
  167. package/lib/services/user-settings.service.d.ts +13 -13
  168. package/lib/services/utilities.service.d.ts +11 -11
  169. package/lib/tokens.d.ts +10 -10
  170. package/lib/types.d.ts +179 -177
  171. package/package.json +14 -21
  172. package/public-api.d.ts +68 -60
  173. package/esm2020/lib/controls/advanced-search/advanced-search.component.mjs +0 -156
  174. package/esm2020/lib/controls/advanced-search/models.mjs +0 -109
  175. package/esm2020/lib/controls/avatar-initials/avatar-initials.component.mjs +0 -48
  176. package/esm2020/lib/controls/combobox/combobox.component.mjs +0 -117
  177. package/esm2020/lib/controls/date-picker/date-picker.component.mjs +0 -292
  178. package/esm2020/lib/controls/drop-down-menu/drop-down-menu.component.mjs +0 -72
  179. package/esm2020/lib/controls/language-selection/language-selection.component.mjs +0 -31
  180. package/esm2020/lib/controls/list-view/list-view-empty-state.component.mjs +0 -29
  181. package/esm2020/lib/controls/list-view/list-view.component.mjs +0 -206
  182. package/esm2020/lib/controls/notifications-indicator/notifications-indicator.component.mjs +0 -79
  183. package/esm2020/lib/controls/pager/pager.component.mjs +0 -130
  184. package/esm2020/lib/controls/side-pane/side-pane.component.mjs +0 -72
  185. package/esm2020/lib/controls/skeleton-loader/skeleton-loader.component.mjs +0 -25
  186. package/esm2020/lib/controls/stepper/lib-step.component.mjs +0 -81
  187. package/esm2020/lib/controls/stepper/lib-stepper.component.mjs +0 -108
  188. package/esm2020/lib/controls/tabs/lib-tab-group.component.mjs +0 -66
  189. package/esm2020/lib/controls/toggle/toggle.component.mjs +0 -64
  190. package/esm2020/lib/controls/toggle-button/toggle-button.component.mjs +0 -87
  191. package/esm2020/lib/controls/toggle-buttons-list/toggle-buttons-list.component.mjs +0 -31
  192. package/esm2020/lib/controls/user-profile-menu/user-profile-menu.component.mjs +0 -71
  193. package/esm2020/lib/directives/click-outside.directive.mjs +0 -189
  194. package/esm2020/lib/helpers/base-list.component.mjs +0 -226
  195. package/esm2020/lib/icons.mjs +0 -36
  196. package/esm2020/lib/layouts/shell/shell-header/shell-header.component.mjs +0 -130
  197. package/esm2020/lib/layouts/shell/shell-layout/shell-layout.component.mjs +0 -90
  198. package/esm2020/lib/layouts/shell/shell-sidebar-layout/shell-sidebar-layout.component.mjs +0 -30
  199. package/esm2020/lib/layouts/views/form-layout/form-layout.component.mjs +0 -80
  200. package/esm2020/lib/layouts/views/model-view-layout/model-view-layout.component.mjs +0 -101
  201. package/esm2020/lib/layouts/views/side-view-layout/side-view-layout.component.mjs +0 -98
  202. package/esm2020/lib/layouts/views/view-layout/view-layout.component.mjs +0 -104
  203. package/esm2020/lib/ng-components.module.mjs +0 -288
  204. package/esm2020/lib/pages/auth/auth-callback/auth-callback.component.mjs +0 -30
  205. package/esm2020/lib/pages/auth/auth-renew/auth-renew.component.mjs +0 -31
  206. package/esm2020/lib/pipes/address.pipe.mjs +0 -21
  207. package/esm2020/lib/pipes/duration-format.pipe.mjs +0 -64
  208. package/esm2020/lib/services/breadcrumb.service.mjs +0 -174
  209. package/esm2020/lib/services/component-loader/component-loader.class.mjs +0 -188
  210. package/esm2020/lib/services/component-loader/component-loader.factory.mjs +0 -32
  211. package/esm2020/lib/services/modal-service/modal-backdrop-component.mjs +0 -44
  212. package/esm2020/lib/services/modal-service/modal-container-component.mjs +0 -126
  213. package/esm2020/lib/services/modal-service/modal-service.mjs +0 -220
  214. package/esm2020/lib/services/user-settings.service.mjs +0 -35
  215. package/esm2020/lib/services/utilities.service.mjs +0 -47
  216. package/esm2020/lib/types.mjs +0 -132
  217. package/fesm2015/indice-ng-components.mjs +0 -4852
  218. package/fesm2015/indice-ng-components.mjs.map +0 -1
  219. package/fesm2020/indice-ng-components.mjs.map +0 -1
@@ -1,28 +1,28 @@
1
- import { AuthService } from '@indice/ng-auth';
2
- import { Component, Inject } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../../layouts/views/view-layout/view-layout.component";
5
- import * as i2 from "@indice/ng-auth";
6
- export class LoggedOutComponent {
7
- constructor(authService) {
8
- this.authService = authService;
9
- this.status = 'working on it, please give me a sec...';
10
- this.finished = false;
11
- }
12
- ngOnInit() {
13
- this.authService.removeUser().subscribe(() => {
14
- this.status = 'Thank you!';
15
- this.finished = true;
16
- });
17
- }
18
- }
19
- LoggedOutComponentfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LoggedOutComponent, deps: [{ token: AuthService }], target: i0.ɵɵFactoryTarget.Component });
20
- LoggedOutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: LoggedOutComponent, selector: "lib-logged-out", ngImport: i0, template: "<lib-view-layout title=\"\u0388\u03C7\u03B5\u03C4\u03B5 \u03B1\u03C0\u03BF\u03C3\u03C5\u03BD\u03B4\u03B5\u03B8\u03B5\u03AF \u03BC\u03B5 \u03B5\u03C0\u03B9\u03C4\u03C5\u03C7\u03AF\u03B1!\"></lib-view-layout>", dependencies: [{ kind: "component", type: i1.ViewLayoutComponent, selector: "lib-view-layout", inputs: ["show-header", "fluid", "title", "icon", "actions", "busy", "search-placeholder", "view", "meta-items"], outputs: ["onAction", "onSearch"] }] });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LoggedOutComponent, decorators: [{
22
- type: Component,
23
- args: [{ selector: 'lib-logged-out', template: "<lib-view-layout title=\"\u0388\u03C7\u03B5\u03C4\u03B5 \u03B1\u03C0\u03BF\u03C3\u03C5\u03BD\u03B4\u03B5\u03B8\u03B5\u03AF \u03BC\u03B5 \u03B5\u03C0\u03B9\u03C4\u03C5\u03C7\u03AF\u03B1!\"></lib-view-layout>" }]
24
- }], ctorParameters: function () { return [{ type: i2.AuthService, decorators: [{
25
- type: Inject,
26
- args: [AuthService]
27
- }] }]; } });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VkLW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb21wb25lbnRzL3NyYy9saWIvcGFnZXMvYXV0aC9sb2dnZWQtb3V0L2xvZ2dlZC1vdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL3BhZ2VzL2F1dGgvbG9nZ2VkLW91dC9sb2dnZWQtb3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQzs7OztBQVExRCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQXlDLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBRTFELFdBQU0sR0FBRyx3Q0FBd0MsQ0FBQztRQUNsRCxhQUFRLEdBQUcsS0FBSyxDQUFDO0lBSDZDLENBQUM7SUFLL0QsUUFBUTtRQUNiLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMzQyxJQUFJLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQztZQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OytHQVhVLGtCQUFrQixrQkFDVCxXQUFXO21HQURwQixrQkFBa0Isc0RDVC9CLGdOQUEwRTsyRkRTN0Qsa0JBQWtCO2tCQUw5QixTQUFTOytCQUVFLGdCQUFnQjs7MEJBSWIsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICdAaW5kaWNlL25nLWF1dGgnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiAnbGliLWxvZ2dlZC1vdXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2dnZWQtb3V0LmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9nZ2VkT3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEF1dGhTZXJ2aWNlKSBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSkgeyB9XHJcblxyXG4gIHB1YmxpYyBzdGF0dXMgPSAnd29ya2luZyBvbiBpdCwgcGxlYXNlIGdpdmUgbWUgYSBzZWMuLi4nO1xyXG4gIHB1YmxpYyBmaW5pc2hlZCA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLnJlbW92ZVVzZXIoKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLnN0YXR1cyA9ICdUaGFuayB5b3UhJztcclxuICAgICAgdGhpcy5maW5pc2hlZCA9IHRydWU7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGxpYi12aWV3LWxheW91dCB0aXRsZT1cIs6Iz4fOtc+EzrUgzrHPgM6/z4PPhc69zrTOtc64zrXOryDOvM61IM61z4DOuc+Ez4XPh86vzrEhXCI+PC9saWItdmlldy1sYXlvdXQ+Il19
1
+ import { AuthService } from '@indice/ng-auth';
2
+ import { Component, Inject } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../../layouts/views/view-layout/view-layout.component";
5
+ import * as i2 from "@indice/ng-auth";
6
+ export class LoggedOutComponent {
7
+ constructor(authService) {
8
+ this.authService = authService;
9
+ this.status = 'working on it, please give me a sec...';
10
+ this.finished = false;
11
+ }
12
+ ngOnInit() {
13
+ this.authService.removeUser().subscribe(() => {
14
+ this.status = 'Thank you!';
15
+ this.finished = true;
16
+ });
17
+ }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: LoggedOutComponent, deps: [{ token: AuthService }], target: i0.ɵɵFactoryTarget.Component }); }
19
+ static { thiscmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: LoggedOutComponent, selector: "lib-logged-out", ngImport: i0, template: "<lib-view-layout title=\"\u0388\u03C7\u03B5\u03C4\u03B5 \u03B1\u03C0\u03BF\u03C3\u03C5\u03BD\u03B4\u03B5\u03B8\u03B5\u03AF \u03BC\u03B5 \u03B5\u03C0\u03B9\u03C4\u03C5\u03C7\u03AF\u03B1!\"></lib-view-layout>", dependencies: [{ kind: "component", type: i1.ViewLayoutComponent, selector: "lib-view-layout", inputs: ["show-header", "fluid", "title", "icon", "actions", "busy", "search-placeholder", "view", "meta-items"], outputs: ["onAction", "onSearch"] }] }); }
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: LoggedOutComponent, decorators: [{
22
+ type: Component,
23
+ args: [{ selector: 'lib-logged-out', template: "<lib-view-layout title=\"\u0388\u03C7\u03B5\u03C4\u03B5 \u03B1\u03C0\u03BF\u03C3\u03C5\u03BD\u03B4\u03B5\u03B8\u03B5\u03AF \u03BC\u03B5 \u03B5\u03C0\u03B9\u03C4\u03C5\u03C7\u03AF\u03B1!\"></lib-view-layout>" }]
24
+ }], ctorParameters: () => [{ type: i2.AuthService, decorators: [{
25
+ type: Inject,
26
+ args: [AuthService]
27
+ }] }] });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VkLW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb21wb25lbnRzL3NyYy9saWIvcGFnZXMvYXV0aC9sb2dnZWQtb3V0L2xvZ2dlZC1vdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL3BhZ2VzL2F1dGgvbG9nZ2VkLW91dC9sb2dnZWQtb3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQzs7OztBQVExRCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQXlDLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBRTFELFdBQU0sR0FBRyx3Q0FBd0MsQ0FBQztRQUNsRCxhQUFRLEdBQUcsS0FBSyxDQUFDO0lBSDZDLENBQUM7SUFLL0QsUUFBUTtRQUNiLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMzQyxJQUFJLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQztZQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBWFUsa0JBQWtCLGtCQUNULFdBQVc7a0dBRHBCLGtCQUFrQixzRENUL0IsZ05BQTBFOzsyRkRTN0Qsa0JBQWtCO2tCQUw5QixTQUFTOytCQUVFLGdCQUFnQjs7MEJBSWIsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICdAaW5kaWNlL25nLWF1dGgnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiAnbGliLWxvZ2dlZC1vdXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2dnZWQtb3V0LmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9nZ2VkT3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEF1dGhTZXJ2aWNlKSBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSkgeyB9XHJcblxyXG4gIHB1YmxpYyBzdGF0dXMgPSAnd29ya2luZyBvbiBpdCwgcGxlYXNlIGdpdmUgbWUgYSBzZWMuLi4nO1xyXG4gIHB1YmxpYyBmaW5pc2hlZCA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLnJlbW92ZVVzZXIoKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLnN0YXR1cyA9ICdUaGFuayB5b3UhJztcclxuICAgICAgdGhpcy5maW5pc2hlZCA9IHRydWU7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGxpYi12aWV3LWxheW91dCB0aXRsZT1cIs6Iz4fOtc+EzrUgzrHPgM6/z4PPhc69zrTOtc64zrXOryDOvM61IM61z4DOuc+Ez4XPh86vzrEhXCI+PC9saWItdmlldy1sYXlvdXQ+Il19
@@ -1,17 +1,17 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../../layouts/views/view-layout/view-layout.component";
4
- export class ErrorComponent {
5
- constructor() {
6
- this.error = 'Error!';
7
- }
8
- ngOnInit() {
9
- }
10
- }
11
- ErrorComponentfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
- ErrorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: ErrorComponent, selector: "lib-error", ngImport: i0, template: "<lib-view-layout [show-header]=\"false\" title=\"500 - \u03C0\u03B1\u03C1\u03BF\u03C5\u03C3\u03B9\u03AC\u03C3\u03C4\u03B7\u03BA\u03B5 \u03C3\u03C6\u03AC\u03BB\u03BC\u03B1!\">\r\n <div class=\"bg-gray-600 view-container\">\r\n <div class=\"max-w-2xl mx-auto text-center py-16 px-4 sm:py-20 sm:px-6 lg:px-8\">\r\n <h2 class=\"text-3xl font-extrabold text-white sm:text-4xl\">\r\n <span class=\"block\">500</span>\r\n </h2>\r\n <p class=\"mt-4 text-lg leading-6 text-gray-200\">\u03C3\u03C6\u03AC\u03BB\u03BC\u03B1, \u03BA\u03B1\u03C4\u03B9 \u03B4\u03B5\u03BD \u03C0\u03AE\u03B3\u03B5 \u03BA\u03B1\u03BB\u03AC...!</p>\r\n <a href=\"/\" class=\"mt-8 inline-flex items-center justify-center px-5 py-3 border border-transparent text-base font-sm rounded-sm text-gray-600 bg-white hover:bg-gray-50 sm:w-auto\">\r\n \u03C0\u03B1\u03C4\u03AE\u03C3\u03C4\u03B5 \u03B5\u03B4\u03CE \u03B3\u03B9\u03B1 \u03BD\u03B1 \u03B5\u03C0\u03B9\u03C3\u03C4\u03C1\u03AD\u03C8\u03B5\u03C4\u03B5\r\n </a>\r\n </div>\r\n </div>\r\n</lib-view-layout>\r\n", dependencies: [{ kind: "component", type: i1.ViewLayoutComponent, selector: "lib-view-layout", inputs: ["show-header", "fluid", "title", "icon", "actions", "busy", "search-placeholder", "view", "meta-items"], outputs: ["onAction", "onSearch"] }] });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ErrorComponent, decorators: [{
14
- type: Component,
15
- args: [{ selector: 'lib-error', template: "<lib-view-layout [show-header]=\"false\" title=\"500 - \u03C0\u03B1\u03C1\u03BF\u03C5\u03C3\u03B9\u03AC\u03C3\u03C4\u03B7\u03BA\u03B5 \u03C3\u03C6\u03AC\u03BB\u03BC\u03B1!\">\r\n <div class=\"bg-gray-600 view-container\">\r\n <div class=\"max-w-2xl mx-auto text-center py-16 px-4 sm:py-20 sm:px-6 lg:px-8\">\r\n <h2 class=\"text-3xl font-extrabold text-white sm:text-4xl\">\r\n <span class=\"block\">500</span>\r\n </h2>\r\n <p class=\"mt-4 text-lg leading-6 text-gray-200\">\u03C3\u03C6\u03AC\u03BB\u03BC\u03B1, \u03BA\u03B1\u03C4\u03B9 \u03B4\u03B5\u03BD \u03C0\u03AE\u03B3\u03B5 \u03BA\u03B1\u03BB\u03AC...!</p>\r\n <a href=\"/\" class=\"mt-8 inline-flex items-center justify-center px-5 py-3 border border-transparent text-base font-sm rounded-sm text-gray-600 bg-white hover:bg-gray-50 sm:w-auto\">\r\n \u03C0\u03B1\u03C4\u03AE\u03C3\u03C4\u03B5 \u03B5\u03B4\u03CE \u03B3\u03B9\u03B1 \u03BD\u03B1 \u03B5\u03C0\u03B9\u03C3\u03C4\u03C1\u03AD\u03C8\u03B5\u03C4\u03B5\r\n </a>\r\n </div>\r\n </div>\r\n</lib-view-layout>\r\n" }]
16
- }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL3BhZ2VzL2h0dHAtc3RhdHVzL2Vycm9yL2Vycm9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9wYWdlcy9odHRwLXN0YXR1cy9lcnJvci9lcnJvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7QUFNbEQsTUFBTSxPQUFPLGNBQWM7SUFKM0I7UUFLUyxVQUFLLEdBQUcsUUFBUSxDQUFDO0tBS3pCO0lBSEMsUUFBUTtJQUNSLENBQUM7OzJHQUpVLGNBQWM7K0ZBQWQsY0FBYyxpRENOM0Isa2pDQWFBOzJGRFBhLGNBQWM7a0JBSjFCLFNBQVM7K0JBQ0UsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1lcnJvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Vycm9yLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRXJyb3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHB1YmxpYyBlcnJvciA9ICdFcnJvciEnO1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG59XHJcbiIsIjxsaWItdmlldy1sYXlvdXQgW3Nob3ctaGVhZGVyXT1cImZhbHNlXCIgdGl0bGU9XCI1MDAgLSDPgM6xz4HOv8+Fz4POuc6sz4PPhM63zrrOtSDPg8+GzqzOu868zrEhXCI+XHJcbiAgPGRpdiBjbGFzcz1cImJnLWdyYXktNjAwIHZpZXctY29udGFpbmVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWF4LXctMnhsIG14LWF1dG8gdGV4dC1jZW50ZXIgcHktMTYgcHgtNCBzbTpweS0yMCBzbTpweC02IGxnOnB4LThcIj5cclxuICAgICAgPGgyIGNsYXNzPVwidGV4dC0zeGwgZm9udC1leHRyYWJvbGQgdGV4dC13aGl0ZSBzbTp0ZXh0LTR4bFwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYmxvY2tcIj41MDA8L3NwYW4+XHJcbiAgICAgIDwvaDI+XHJcbiAgICAgIDxwIGNsYXNzPVwibXQtNCB0ZXh0LWxnIGxlYWRpbmctNiB0ZXh0LWdyYXktMjAwXCI+z4PPhs6szrvOvM6xLCDOus6xz4TOuSDOtM61zr0gz4DOrs6zzrUgzrrOsc67zqwuLi4hPC9wPlxyXG4gICAgICA8YSBocmVmPVwiL1wiIGNsYXNzPVwibXQtOCBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcHgtNSBweS0zIGJvcmRlciBib3JkZXItdHJhbnNwYXJlbnQgdGV4dC1iYXNlIGZvbnQtc20gcm91bmRlZC1zbSB0ZXh0LWdyYXktNjAwIGJnLXdoaXRlIGhvdmVyOmJnLWdyYXktNTAgc206dy1hdXRvXCI+XHJcbiAgICAgICAgz4DOsc+Ezq7Pg8+EzrUgzrXOtM+OIM6zzrnOsSDOvc6xIM61z4DOuc+Dz4TPgc6tz4jOtc+EzrVcclxuICAgICAgPC9hPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvbGliLXZpZXctbGF5b3V0PlxyXG4iXX0=
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../../layouts/views/view-layout/view-layout.component";
4
+ export class ErrorComponent {
5
+ constructor() {
6
+ this.error = 'Error!';
7
+ }
8
+ ngOnInit() {
9
+ }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { thiscmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: ErrorComponent, selector: "lib-error", ngImport: i0, template: "<lib-view-layout [show-header]=\"false\" title=\"500 - \u03C0\u03B1\u03C1\u03BF\u03C5\u03C3\u03B9\u03AC\u03C3\u03C4\u03B7\u03BA\u03B5 \u03C3\u03C6\u03AC\u03BB\u03BC\u03B1!\">\r\n <div class=\"bg-gray-600 view-container\">\r\n <div class=\"max-w-2xl mx-auto text-center py-16 px-4 sm:py-20 sm:px-6 lg:px-8\">\r\n <h2 class=\"text-3xl font-extrabold text-white sm:text-4xl\">\r\n <span class=\"block\">500</span>\r\n </h2>\r\n <p class=\"mt-4 text-lg leading-6 text-gray-200\">\u03C3\u03C6\u03AC\u03BB\u03BC\u03B1, \u03BA\u03B1\u03C4\u03B9 \u03B4\u03B5\u03BD \u03C0\u03AE\u03B3\u03B5 \u03BA\u03B1\u03BB\u03AC...!</p>\r\n <a href=\"/\" class=\"mt-8 inline-flex items-center justify-center px-5 py-3 border border-transparent text-base font-sm rounded-sm text-gray-600 bg-white hover:bg-gray-50 sm:w-auto\">\r\n \u03C0\u03B1\u03C4\u03AE\u03C3\u03C4\u03B5 \u03B5\u03B4\u03CE \u03B3\u03B9\u03B1 \u03BD\u03B1 \u03B5\u03C0\u03B9\u03C3\u03C4\u03C1\u03AD\u03C8\u03B5\u03C4\u03B5\r\n </a>\r\n </div>\r\n </div>\r\n</lib-view-layout>\r\n", dependencies: [{ kind: "component", type: i1.ViewLayoutComponent, selector: "lib-view-layout", inputs: ["show-header", "fluid", "title", "icon", "actions", "busy", "search-placeholder", "view", "meta-items"], outputs: ["onAction", "onSearch"] }] }); }
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ErrorComponent, decorators: [{
14
+ type: Component,
15
+ args: [{ selector: 'lib-error', template: "<lib-view-layout [show-header]=\"false\" title=\"500 - \u03C0\u03B1\u03C1\u03BF\u03C5\u03C3\u03B9\u03AC\u03C3\u03C4\u03B7\u03BA\u03B5 \u03C3\u03C6\u03AC\u03BB\u03BC\u03B1!\">\r\n <div class=\"bg-gray-600 view-container\">\r\n <div class=\"max-w-2xl mx-auto text-center py-16 px-4 sm:py-20 sm:px-6 lg:px-8\">\r\n <h2 class=\"text-3xl font-extrabold text-white sm:text-4xl\">\r\n <span class=\"block\">500</span>\r\n </h2>\r\n <p class=\"mt-4 text-lg leading-6 text-gray-200\">\u03C3\u03C6\u03AC\u03BB\u03BC\u03B1, \u03BA\u03B1\u03C4\u03B9 \u03B4\u03B5\u03BD \u03C0\u03AE\u03B3\u03B5 \u03BA\u03B1\u03BB\u03AC...!</p>\r\n <a href=\"/\" class=\"mt-8 inline-flex items-center justify-center px-5 py-3 border border-transparent text-base font-sm rounded-sm text-gray-600 bg-white hover:bg-gray-50 sm:w-auto\">\r\n \u03C0\u03B1\u03C4\u03AE\u03C3\u03C4\u03B5 \u03B5\u03B4\u03CE \u03B3\u03B9\u03B1 \u03BD\u03B1 \u03B5\u03C0\u03B9\u03C3\u03C4\u03C1\u03AD\u03C8\u03B5\u03C4\u03B5\r\n </a>\r\n </div>\r\n </div>\r\n</lib-view-layout>\r\n" }]
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL3BhZ2VzL2h0dHAtc3RhdHVzL2Vycm9yL2Vycm9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9wYWdlcy9odHRwLXN0YXR1cy9lcnJvci9lcnJvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7QUFNbEQsTUFBTSxPQUFPLGNBQWM7SUFKM0I7UUFLUyxVQUFLLEdBQUcsUUFBUSxDQUFDO0tBS3pCO0lBSEMsUUFBUTtJQUNSLENBQUM7OEdBSlUsY0FBYztrR0FBZCxjQUFjLGlEQ04zQixrakNBYUE7OzJGRFBhLGNBQWM7a0JBSjFCLFNBQVM7K0JBQ0UsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1lcnJvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Vycm9yLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRXJyb3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHB1YmxpYyBlcnJvciA9ICdFcnJvciEnO1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG59XHJcbiIsIjxsaWItdmlldy1sYXlvdXQgW3Nob3ctaGVhZGVyXT1cImZhbHNlXCIgdGl0bGU9XCI1MDAgLSDPgM6xz4HOv8+Fz4POuc6sz4PPhM63zrrOtSDPg8+GzqzOu868zrEhXCI+XHJcbiAgPGRpdiBjbGFzcz1cImJnLWdyYXktNjAwIHZpZXctY29udGFpbmVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWF4LXctMnhsIG14LWF1dG8gdGV4dC1jZW50ZXIgcHktMTYgcHgtNCBzbTpweS0yMCBzbTpweC02IGxnOnB4LThcIj5cclxuICAgICAgPGgyIGNsYXNzPVwidGV4dC0zeGwgZm9udC1leHRyYWJvbGQgdGV4dC13aGl0ZSBzbTp0ZXh0LTR4bFwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYmxvY2tcIj41MDA8L3NwYW4+XHJcbiAgICAgIDwvaDI+XHJcbiAgICAgIDxwIGNsYXNzPVwibXQtNCB0ZXh0LWxnIGxlYWRpbmctNiB0ZXh0LWdyYXktMjAwXCI+z4PPhs6szrvOvM6xLCDOus6xz4TOuSDOtM61zr0gz4DOrs6zzrUgzrrOsc67zqwuLi4hPC9wPlxyXG4gICAgICA8YSBocmVmPVwiL1wiIGNsYXNzPVwibXQtOCBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcHgtNSBweS0zIGJvcmRlciBib3JkZXItdHJhbnNwYXJlbnQgdGV4dC1iYXNlIGZvbnQtc20gcm91bmRlZC1zbSB0ZXh0LWdyYXktNjAwIGJnLXdoaXRlIGhvdmVyOmJnLWdyYXktNTAgc206dy1hdXRvXCI+XHJcbiAgICAgICAgz4DOsc+Ezq7Pg8+EzrUgzrXOtM+OIM6zzrnOsSDOvc6xIM61z4DOuc+Dz4TPgc6tz4jOtc+EzrVcclxuICAgICAgPC9hPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvbGliLXZpZXctbGF5b3V0PlxyXG4iXX0=
@@ -1,15 +1,15 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../../layouts/views/view-layout/view-layout.component";
4
- export class PageNotFoundComponent {
5
- constructor() { }
6
- ngOnInit() {
7
- }
8
- }
9
- PageNotFoundComponentfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: PageNotFoundComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
- PageNotFoundComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: PageNotFoundComponent, selector: "lib-page-not-found", ngImport: i0, template: "<lib-view-layout [show-header]=\"false\" title=\"404 - \u03B4\u03B5\u03BD \u03B2\u03C1\u03AD\u03B8\u03B7\u03BA\u03B5!\">\r\n <div class=\"text-gray-900\">\r\n <div class=\"max-w-4xl mx-auto text-center py-16 px-4 sm:py-20 sm:px-6 lg:px-8\">\r\n <h2 class=\"text-3xl font-extrabold sm:text-4xl\">\r\n <span class=\"block\">404</span>\r\n </h2>\r\n <p class=\"mt-4 text-lg leading-6 text-gray-800\">\u03B4\u03B5\u03BD \u03B2\u03C1\u03AD\u03B8\u03B7\u03BA\u03B5 \u03B7 \u03C3\u03B5\u03BB\u03AF\u03B4\u03B1 \u03C0\u03BF\u03C5 \u03B6\u03B7\u03C4\u03AE\u03C3\u03B1\u03C4\u03B5!</p>\r\n <a href=\"/\"\r\n class=\"mt-8 inline-flex items-center justify-center px-5 py-3 border border-transparent text-base font-sm rounded-sm text-gray-600 bg-white hover:bg-gray-50 sm:w-auto\">\r\n \u03C0\u03B1\u03C4\u03AE\u03C3\u03C4\u03B5 \u03B5\u03B4\u03CE \u03B3\u03B9\u03B1 \u03BD\u03B1 \u03B5\u03C0\u03B9\u03C3\u03C4\u03C1\u03AD\u03C8\u03B5\u03C4\u03B5\r\n </a>\r\n </div>\r\n </div>\r\n</lib-view-layout>\r\n", dependencies: [{ kind: "component", type: i1.ViewLayoutComponent, selector: "lib-view-layout", inputs: ["show-header", "fluid", "title", "icon", "actions", "busy", "search-placeholder", "view", "meta-items"], outputs: ["onAction", "onSearch"] }] });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: PageNotFoundComponent, decorators: [{
12
- type: Component,
13
- args: [{ selector: 'lib-page-not-found', template: "<lib-view-layout [show-header]=\"false\" title=\"404 - \u03B4\u03B5\u03BD \u03B2\u03C1\u03AD\u03B8\u03B7\u03BA\u03B5!\">\r\n <div class=\"text-gray-900\">\r\n <div class=\"max-w-4xl mx-auto text-center py-16 px-4 sm:py-20 sm:px-6 lg:px-8\">\r\n <h2 class=\"text-3xl font-extrabold sm:text-4xl\">\r\n <span class=\"block\">404</span>\r\n </h2>\r\n <p class=\"mt-4 text-lg leading-6 text-gray-800\">\u03B4\u03B5\u03BD \u03B2\u03C1\u03AD\u03B8\u03B7\u03BA\u03B5 \u03B7 \u03C3\u03B5\u03BB\u03AF\u03B4\u03B1 \u03C0\u03BF\u03C5 \u03B6\u03B7\u03C4\u03AE\u03C3\u03B1\u03C4\u03B5!</p>\r\n <a href=\"/\"\r\n class=\"mt-8 inline-flex items-center justify-center px-5 py-3 border border-transparent text-base font-sm rounded-sm text-gray-600 bg-white hover:bg-gray-50 sm:w-auto\">\r\n \u03C0\u03B1\u03C4\u03AE\u03C3\u03C4\u03B5 \u03B5\u03B4\u03CE \u03B3\u03B9\u03B1 \u03BD\u03B1 \u03B5\u03C0\u03B9\u03C3\u03C4\u03C1\u03AD\u03C8\u03B5\u03C4\u03B5\r\n </a>\r\n </div>\r\n </div>\r\n</lib-view-layout>\r\n" }]
14
- }], ctorParameters: function () { return []; } });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1ub3QtZm91bmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL3BhZ2VzL2h0dHAtc3RhdHVzL3BhZ2Utbm90LWZvdW5kL3BhZ2Utbm90LWZvdW5kLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9wYWdlcy9odHRwLXN0YXR1cy9wYWdlLW5vdC1mb3VuZC9wYWdlLW5vdC1mb3VuZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7QUFNbEQsTUFBTSxPQUFPLHFCQUFxQjtJQUVoQyxnQkFBZ0IsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQzs7a0hBTFUscUJBQXFCO3NHQUFyQixxQkFBcUIsMERDTmxDLHVoQ0FjQTsyRkRSYSxxQkFBcUI7a0JBSmpDLFNBQVM7K0JBQ0Usb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXBhZ2Utbm90LWZvdW5kJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcGFnZS1ub3QtZm91bmQuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYWdlTm90Rm91bmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG59XHJcbiIsIjxsaWItdmlldy1sYXlvdXQgW3Nob3ctaGVhZGVyXT1cImZhbHNlXCIgdGl0bGU9XCI0MDQgLSDOtM61zr0gzrLPgc6tzrjOt866zrUhXCI+XHJcbiAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS05MDBcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtYXgtdy00eGwgbXgtYXV0byB0ZXh0LWNlbnRlciBweS0xNiBweC00IHNtOnB5LTIwIHNtOnB4LTYgbGc6cHgtOFwiPlxyXG4gICAgICA8aDIgY2xhc3M9XCJ0ZXh0LTN4bCBmb250LWV4dHJhYm9sZCBzbTp0ZXh0LTR4bFwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYmxvY2tcIj40MDQ8L3NwYW4+XHJcbiAgICAgIDwvaDI+XHJcbiAgICAgIDxwIGNsYXNzPVwibXQtNCB0ZXh0LWxnIGxlYWRpbmctNiB0ZXh0LWdyYXktODAwXCI+zrTOtc69IM6yz4HOrc64zrfOus61IM63IM+DzrXOu86vzrTOsSDPgM6/z4UgzrbOt8+Ezq7Pg86xz4TOtSE8L3A+XHJcbiAgICAgIDxhIGhyZWY9XCIvXCJcclxuICAgICAgICAgY2xhc3M9XCJtdC04IGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBweC01IHB5LTMgYm9yZGVyIGJvcmRlci10cmFuc3BhcmVudCB0ZXh0LWJhc2UgZm9udC1zbSByb3VuZGVkLXNtIHRleHQtZ3JheS02MDAgYmctd2hpdGUgaG92ZXI6YmctZ3JheS01MCBzbTp3LWF1dG9cIj5cclxuICAgICAgICDPgM6xz4TOrs+Dz4TOtSDOtc60z44gzrPOuc6xIM69zrEgzrXPgM65z4PPhM+Bzq3PiM61z4TOtVxyXG4gICAgICA8L2E+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9saWItdmlldy1sYXlvdXQ+XHJcbiJdfQ==
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../../layouts/views/view-layout/view-layout.component";
4
+ export class PageNotFoundComponent {
5
+ constructor() { }
6
+ ngOnInit() {
7
+ }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: PageNotFoundComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
+ static { thiscmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: PageNotFoundComponent, selector: "lib-page-not-found", ngImport: i0, template: "<lib-view-layout [show-header]=\"false\" title=\"404 - \u03B4\u03B5\u03BD \u03B2\u03C1\u03AD\u03B8\u03B7\u03BA\u03B5!\">\r\n <div class=\"text-gray-900\">\r\n <div class=\"max-w-4xl mx-auto text-center py-16 px-4 sm:py-20 sm:px-6 lg:px-8\">\r\n <h2 class=\"text-3xl font-extrabold sm:text-4xl\">\r\n <span class=\"block\">404</span>\r\n </h2>\r\n <p class=\"mt-4 text-lg leading-6 text-gray-800\">\u03B4\u03B5\u03BD \u03B2\u03C1\u03AD\u03B8\u03B7\u03BA\u03B5 \u03B7 \u03C3\u03B5\u03BB\u03AF\u03B4\u03B1 \u03C0\u03BF\u03C5 \u03B6\u03B7\u03C4\u03AE\u03C3\u03B1\u03C4\u03B5!</p>\r\n <a href=\"/\"\r\n class=\"mt-8 inline-flex items-center justify-center px-5 py-3 border border-transparent text-base font-sm rounded-sm text-gray-600 bg-white hover:bg-gray-50 sm:w-auto\">\r\n \u03C0\u03B1\u03C4\u03AE\u03C3\u03C4\u03B5 \u03B5\u03B4\u03CE \u03B3\u03B9\u03B1 \u03BD\u03B1 \u03B5\u03C0\u03B9\u03C3\u03C4\u03C1\u03AD\u03C8\u03B5\u03C4\u03B5\r\n </a>\r\n </div>\r\n </div>\r\n</lib-view-layout>\r\n", dependencies: [{ kind: "component", type: i1.ViewLayoutComponent, selector: "lib-view-layout", inputs: ["show-header", "fluid", "title", "icon", "actions", "busy", "search-placeholder", "view", "meta-items"], outputs: ["onAction", "onSearch"] }] }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: PageNotFoundComponent, decorators: [{
12
+ type: Component,
13
+ args: [{ selector: 'lib-page-not-found', template: "<lib-view-layout [show-header]=\"false\" title=\"404 - \u03B4\u03B5\u03BD \u03B2\u03C1\u03AD\u03B8\u03B7\u03BA\u03B5!\">\r\n <div class=\"text-gray-900\">\r\n <div class=\"max-w-4xl mx-auto text-center py-16 px-4 sm:py-20 sm:px-6 lg:px-8\">\r\n <h2 class=\"text-3xl font-extrabold sm:text-4xl\">\r\n <span class=\"block\">404</span>\r\n </h2>\r\n <p class=\"mt-4 text-lg leading-6 text-gray-800\">\u03B4\u03B5\u03BD \u03B2\u03C1\u03AD\u03B8\u03B7\u03BA\u03B5 \u03B7 \u03C3\u03B5\u03BB\u03AF\u03B4\u03B1 \u03C0\u03BF\u03C5 \u03B6\u03B7\u03C4\u03AE\u03C3\u03B1\u03C4\u03B5!</p>\r\n <a href=\"/\"\r\n class=\"mt-8 inline-flex items-center justify-center px-5 py-3 border border-transparent text-base font-sm rounded-sm text-gray-600 bg-white hover:bg-gray-50 sm:w-auto\">\r\n \u03C0\u03B1\u03C4\u03AE\u03C3\u03C4\u03B5 \u03B5\u03B4\u03CE \u03B3\u03B9\u03B1 \u03BD\u03B1 \u03B5\u03C0\u03B9\u03C3\u03C4\u03C1\u03AD\u03C8\u03B5\u03C4\u03B5\r\n </a>\r\n </div>\r\n </div>\r\n</lib-view-layout>\r\n" }]
14
+ }], ctorParameters: () => [] });
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1ub3QtZm91bmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL3BhZ2VzL2h0dHAtc3RhdHVzL3BhZ2Utbm90LWZvdW5kL3BhZ2Utbm90LWZvdW5kLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9wYWdlcy9odHRwLXN0YXR1cy9wYWdlLW5vdC1mb3VuZC9wYWdlLW5vdC1mb3VuZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7QUFNbEQsTUFBTSxPQUFPLHFCQUFxQjtJQUVoQyxnQkFBZ0IsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQzs4R0FMVSxxQkFBcUI7a0dBQXJCLHFCQUFxQiwwRENObEMsdWhDQWNBOzsyRkRSYSxxQkFBcUI7a0JBSmpDLFNBQVM7K0JBQ0Usb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXBhZ2Utbm90LWZvdW5kJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcGFnZS1ub3QtZm91bmQuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYWdlTm90Rm91bmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG59XHJcbiIsIjxsaWItdmlldy1sYXlvdXQgW3Nob3ctaGVhZGVyXT1cImZhbHNlXCIgdGl0bGU9XCI0MDQgLSDOtM61zr0gzrLPgc6tzrjOt866zrUhXCI+XHJcbiAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS05MDBcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtYXgtdy00eGwgbXgtYXV0byB0ZXh0LWNlbnRlciBweS0xNiBweC00IHNtOnB5LTIwIHNtOnB4LTYgbGc6cHgtOFwiPlxyXG4gICAgICA8aDIgY2xhc3M9XCJ0ZXh0LTN4bCBmb250LWV4dHJhYm9sZCBzbTp0ZXh0LTR4bFwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYmxvY2tcIj40MDQ8L3NwYW4+XHJcbiAgICAgIDwvaDI+XHJcbiAgICAgIDxwIGNsYXNzPVwibXQtNCB0ZXh0LWxnIGxlYWRpbmctNiB0ZXh0LWdyYXktODAwXCI+zrTOtc69IM6yz4HOrc64zrfOus61IM63IM+DzrXOu86vzrTOsSDPgM6/z4UgzrbOt8+Ezq7Pg86xz4TOtSE8L3A+XHJcbiAgICAgIDxhIGhyZWY9XCIvXCJcclxuICAgICAgICAgY2xhc3M9XCJtdC04IGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBweC01IHB5LTMgYm9yZGVyIGJvcmRlci10cmFuc3BhcmVudCB0ZXh0LWJhc2UgZm9udC1zbSByb3VuZGVkLXNtIHRleHQtZ3JheS02MDAgYmctd2hpdGUgaG92ZXI6YmctZ3JheS01MCBzbTp3LWF1dG9cIj5cclxuICAgICAgICDPgM6xz4TOrs+Dz4TOtSDOtc60z44gzrPOuc6xIM69zrEgzrXPgM65z4PPhM+Bzq3PiM61z4TOtVxyXG4gICAgICA8L2E+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9saWItdmlldy1sYXlvdXQ+XHJcbiJdfQ==
@@ -1,14 +1,14 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../../layouts/views/view-layout/view-layout.component";
4
- export class UnauthorizedComponent {
5
- constructor() { }
6
- ngOnInit() { }
7
- }
8
- UnauthorizedComponentfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: UnauthorizedComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- UnauthorizedComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: UnauthorizedComponent, selector: "lib-unauthorized", ngImport: i0, template: "<lib-view-layout [show-header]=\"false\" title=\"401 - \u03B4\u03B5\u03BD \u03B5\u03C0\u03B9\u03C4\u03C1\u03AD\u03C0\u03B5\u03C4\u03B1\u03B9 \u03B7 \u03C0\u03C1\u03CC\u03C3\u03B2\u03B1\u03C3\u03B7!\">\r\n <div class=\"bg-gray-600 view-container\">\r\n <div class=\"max-w-2xl mx-auto text-center py-16 px-4 sm:py-20 sm:px-6 lg:px-8\">\r\n <h2 class=\"text-3xl font-extrabold text-white sm:text-4xl\">\r\n <span class=\"block\">401</span>\r\n </h2>\r\n <p class=\"mt-4 text-lg leading-6 text-gray-200\">\u03B4\u03B5\u03BD \u03AD\u03C7\u03B5\u03C4\u03B5 \u03C4\u03B1 \u03BA\u03B1\u03C4\u03AC\u03BB\u03BB\u03B7\u03BB\u03B1 \u03B4\u03B9\u03BA\u03B1\u03B9\u03CE\u03BC\u03B1\u03C4\u03B1 \u03C0\u03C1\u03CC\u03C3\u03B2\u03B1\u03C3\u03B7\u03C2!</p>\r\n <a href=\"/\" class=\"mt-8 inline-flex items-center justify-center px-5 py-3 border border-transparent text-base font-sm rounded-sm text-gray-600 bg-white hover:bg-gray-50 sm:w-auto\">\r\n \u03C0\u03B1\u03C4\u03AE\u03C3\u03C4\u03B5 \u03B5\u03B4\u03CE \u03B3\u03B9\u03B1 \u03BD\u03B1 \u03B5\u03C0\u03B9\u03C3\u03C4\u03C1\u03AD\u03C8\u03B5\u03C4\u03B5\r\n </a>\r\n </div>\r\n </div>\r\n </lib-view-layout>\r\n\r\n\r\n", dependencies: [{ kind: "component", type: i1.ViewLayoutComponent, selector: "lib-view-layout", inputs: ["show-header", "fluid", "title", "icon", "actions", "busy", "search-placeholder", "view", "meta-items"], outputs: ["onAction", "onSearch"] }] });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: UnauthorizedComponent, decorators: [{
11
- type: Component,
12
- args: [{ selector: 'lib-unauthorized', template: "<lib-view-layout [show-header]=\"false\" title=\"401 - \u03B4\u03B5\u03BD \u03B5\u03C0\u03B9\u03C4\u03C1\u03AD\u03C0\u03B5\u03C4\u03B1\u03B9 \u03B7 \u03C0\u03C1\u03CC\u03C3\u03B2\u03B1\u03C3\u03B7!\">\r\n <div class=\"bg-gray-600 view-container\">\r\n <div class=\"max-w-2xl mx-auto text-center py-16 px-4 sm:py-20 sm:px-6 lg:px-8\">\r\n <h2 class=\"text-3xl font-extrabold text-white sm:text-4xl\">\r\n <span class=\"block\">401</span>\r\n </h2>\r\n <p class=\"mt-4 text-lg leading-6 text-gray-200\">\u03B4\u03B5\u03BD \u03AD\u03C7\u03B5\u03C4\u03B5 \u03C4\u03B1 \u03BA\u03B1\u03C4\u03AC\u03BB\u03BB\u03B7\u03BB\u03B1 \u03B4\u03B9\u03BA\u03B1\u03B9\u03CE\u03BC\u03B1\u03C4\u03B1 \u03C0\u03C1\u03CC\u03C3\u03B2\u03B1\u03C3\u03B7\u03C2!</p>\r\n <a href=\"/\" class=\"mt-8 inline-flex items-center justify-center px-5 py-3 border border-transparent text-base font-sm rounded-sm text-gray-600 bg-white hover:bg-gray-50 sm:w-auto\">\r\n \u03C0\u03B1\u03C4\u03AE\u03C3\u03C4\u03B5 \u03B5\u03B4\u03CE \u03B3\u03B9\u03B1 \u03BD\u03B1 \u03B5\u03C0\u03B9\u03C3\u03C4\u03C1\u03AD\u03C8\u03B5\u03C4\u03B5\r\n </a>\r\n </div>\r\n </div>\r\n </lib-view-layout>\r\n\r\n\r\n" }]
13
- }], ctorParameters: function () { return []; } });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5hdXRob3JpemVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9wYWdlcy9odHRwLXN0YXR1cy91bmF1dGhvcml6ZWQvdW5hdXRob3JpemVkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9wYWdlcy9odHRwLXN0YXR1cy91bmF1dGhvcml6ZWQvdW5hdXRob3JpemVkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWtCLE1BQU0sZUFBZSxDQUFDOzs7QUFNMUQsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxnQkFBZ0IsQ0FBQztJQUVWLFFBQVEsS0FBVyxDQUFDOztrSEFIaEIscUJBQXFCO3NHQUFyQixxQkFBcUIsd0RDTmxDLHlyQ0FlQTsyRkRUYSxxQkFBcUI7a0JBSmpDLFNBQVM7K0JBQ0Usa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdW5hdXRob3JpemVkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdW5hdXRob3JpemVkLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVW5hdXRob3JpemVkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7IH1cclxufVxyXG4iLCI8bGliLXZpZXctbGF5b3V0IFtzaG93LWhlYWRlcl09XCJmYWxzZVwiIHRpdGxlPVwiNDAxIC0gzrTOtc69IM61z4DOuc+Ez4HOrc+AzrXPhM6xzrkgzrcgz4DPgc+Mz4POss6xz4POtyFcIj5cclxuICA8ZGl2IGNsYXNzPVwiYmctZ3JheS02MDAgdmlldy1jb250YWluZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtYXgtdy0yeGwgbXgtYXV0byB0ZXh0LWNlbnRlciBweS0xNiBweC00IHNtOnB5LTIwIHNtOnB4LTYgbGc6cHgtOFwiPlxyXG4gICAgICA8aDIgY2xhc3M9XCJ0ZXh0LTN4bCBmb250LWV4dHJhYm9sZCB0ZXh0LXdoaXRlIHNtOnRleHQtNHhsXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJibG9ja1wiPjQwMTwvc3Bhbj5cclxuICAgICAgPC9oMj5cclxuICAgICAgPHAgY2xhc3M9XCJtdC00IHRleHQtbGcgbGVhZGluZy02IHRleHQtZ3JheS0yMDBcIj7OtM61zr0gzq3Ph861z4TOtSDPhM6xIM66zrHPhM6szrvOu863zrvOsSDOtM65zrrOsc65z47OvM6xz4TOsSDPgM+Bz4zPg86yzrHPg863z4IhPC9wPlxyXG4gICAgICA8YSBocmVmPVwiL1wiIGNsYXNzPVwibXQtOCBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcHgtNSBweS0zIGJvcmRlciBib3JkZXItdHJhbnNwYXJlbnQgdGV4dC1iYXNlIGZvbnQtc20gcm91bmRlZC1zbSB0ZXh0LWdyYXktNjAwIGJnLXdoaXRlIGhvdmVyOmJnLWdyYXktNTAgc206dy1hdXRvXCI+XHJcbiAgICAgICAgz4DOsc+Ezq7Pg8+EzrUgzrXOtM+OIM6zzrnOsSDOvc6xIM61z4DOuc+Dz4TPgc6tz4jOtc+EzrVcclxuICAgICAgPC9hPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPC9saWItdmlldy1sYXlvdXQ+XHJcblxyXG5cclxuIl19
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../../layouts/views/view-layout/view-layout.component";
4
+ export class UnauthorizedComponent {
5
+ constructor() { }
6
+ ngOnInit() { }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: UnauthorizedComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
+ static { thiscmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: UnauthorizedComponent, selector: "lib-unauthorized", ngImport: i0, template: "<lib-view-layout [show-header]=\"false\" title=\"401 - \u03B4\u03B5\u03BD \u03B5\u03C0\u03B9\u03C4\u03C1\u03AD\u03C0\u03B5\u03C4\u03B1\u03B9 \u03B7 \u03C0\u03C1\u03CC\u03C3\u03B2\u03B1\u03C3\u03B7!\">\r\n <div class=\"bg-gray-600 view-container\">\r\n <div class=\"max-w-2xl mx-auto text-center py-16 px-4 sm:py-20 sm:px-6 lg:px-8\">\r\n <h2 class=\"text-3xl font-extrabold text-white sm:text-4xl\">\r\n <span class=\"block\">401</span>\r\n </h2>\r\n <p class=\"mt-4 text-lg leading-6 text-gray-200\">\u03B4\u03B5\u03BD \u03AD\u03C7\u03B5\u03C4\u03B5 \u03C4\u03B1 \u03BA\u03B1\u03C4\u03AC\u03BB\u03BB\u03B7\u03BB\u03B1 \u03B4\u03B9\u03BA\u03B1\u03B9\u03CE\u03BC\u03B1\u03C4\u03B1 \u03C0\u03C1\u03CC\u03C3\u03B2\u03B1\u03C3\u03B7\u03C2!</p>\r\n <a href=\"/\" class=\"mt-8 inline-flex items-center justify-center px-5 py-3 border border-transparent text-base font-sm rounded-sm text-gray-600 bg-white hover:bg-gray-50 sm:w-auto\">\r\n \u03C0\u03B1\u03C4\u03AE\u03C3\u03C4\u03B5 \u03B5\u03B4\u03CE \u03B3\u03B9\u03B1 \u03BD\u03B1 \u03B5\u03C0\u03B9\u03C3\u03C4\u03C1\u03AD\u03C8\u03B5\u03C4\u03B5\r\n </a>\r\n </div>\r\n </div>\r\n </lib-view-layout>\r\n\r\n\r\n", dependencies: [{ kind: "component", type: i1.ViewLayoutComponent, selector: "lib-view-layout", inputs: ["show-header", "fluid", "title", "icon", "actions", "busy", "search-placeholder", "view", "meta-items"], outputs: ["onAction", "onSearch"] }] }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: UnauthorizedComponent, decorators: [{
11
+ type: Component,
12
+ args: [{ selector: 'lib-unauthorized', template: "<lib-view-layout [show-header]=\"false\" title=\"401 - \u03B4\u03B5\u03BD \u03B5\u03C0\u03B9\u03C4\u03C1\u03AD\u03C0\u03B5\u03C4\u03B1\u03B9 \u03B7 \u03C0\u03C1\u03CC\u03C3\u03B2\u03B1\u03C3\u03B7!\">\r\n <div class=\"bg-gray-600 view-container\">\r\n <div class=\"max-w-2xl mx-auto text-center py-16 px-4 sm:py-20 sm:px-6 lg:px-8\">\r\n <h2 class=\"text-3xl font-extrabold text-white sm:text-4xl\">\r\n <span class=\"block\">401</span>\r\n </h2>\r\n <p class=\"mt-4 text-lg leading-6 text-gray-200\">\u03B4\u03B5\u03BD \u03AD\u03C7\u03B5\u03C4\u03B5 \u03C4\u03B1 \u03BA\u03B1\u03C4\u03AC\u03BB\u03BB\u03B7\u03BB\u03B1 \u03B4\u03B9\u03BA\u03B1\u03B9\u03CE\u03BC\u03B1\u03C4\u03B1 \u03C0\u03C1\u03CC\u03C3\u03B2\u03B1\u03C3\u03B7\u03C2!</p>\r\n <a href=\"/\" class=\"mt-8 inline-flex items-center justify-center px-5 py-3 border border-transparent text-base font-sm rounded-sm text-gray-600 bg-white hover:bg-gray-50 sm:w-auto\">\r\n \u03C0\u03B1\u03C4\u03AE\u03C3\u03C4\u03B5 \u03B5\u03B4\u03CE \u03B3\u03B9\u03B1 \u03BD\u03B1 \u03B5\u03C0\u03B9\u03C3\u03C4\u03C1\u03AD\u03C8\u03B5\u03C4\u03B5\r\n </a>\r\n </div>\r\n </div>\r\n </lib-view-layout>\r\n\r\n\r\n" }]
13
+ }], ctorParameters: () => [] });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5hdXRob3JpemVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9wYWdlcy9odHRwLXN0YXR1cy91bmF1dGhvcml6ZWQvdW5hdXRob3JpemVkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9wYWdlcy9odHRwLXN0YXR1cy91bmF1dGhvcml6ZWQvdW5hdXRob3JpemVkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWtCLE1BQU0sZUFBZSxDQUFDOzs7QUFNMUQsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxnQkFBZ0IsQ0FBQztJQUVWLFFBQVEsS0FBVyxDQUFDOzhHQUhoQixxQkFBcUI7a0dBQXJCLHFCQUFxQix3RENObEMseXJDQWVBOzsyRkRUYSxxQkFBcUI7a0JBSmpDLFNBQVM7K0JBQ0Usa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdW5hdXRob3JpemVkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdW5hdXRob3JpemVkLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVW5hdXRob3JpemVkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7IH1cclxufVxyXG4iLCI8bGliLXZpZXctbGF5b3V0IFtzaG93LWhlYWRlcl09XCJmYWxzZVwiIHRpdGxlPVwiNDAxIC0gzrTOtc69IM61z4DOuc+Ez4HOrc+AzrXPhM6xzrkgzrcgz4DPgc+Mz4POss6xz4POtyFcIj5cclxuICA8ZGl2IGNsYXNzPVwiYmctZ3JheS02MDAgdmlldy1jb250YWluZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtYXgtdy0yeGwgbXgtYXV0byB0ZXh0LWNlbnRlciBweS0xNiBweC00IHNtOnB5LTIwIHNtOnB4LTYgbGc6cHgtOFwiPlxyXG4gICAgICA8aDIgY2xhc3M9XCJ0ZXh0LTN4bCBmb250LWV4dHJhYm9sZCB0ZXh0LXdoaXRlIHNtOnRleHQtNHhsXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJibG9ja1wiPjQwMTwvc3Bhbj5cclxuICAgICAgPC9oMj5cclxuICAgICAgPHAgY2xhc3M9XCJtdC00IHRleHQtbGcgbGVhZGluZy02IHRleHQtZ3JheS0yMDBcIj7OtM61zr0gzq3Ph861z4TOtSDPhM6xIM66zrHPhM6szrvOu863zrvOsSDOtM65zrrOsc65z47OvM6xz4TOsSDPgM+Bz4zPg86yzrHPg863z4IhPC9wPlxyXG4gICAgICA8YSBocmVmPVwiL1wiIGNsYXNzPVwibXQtOCBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcHgtNSBweS0zIGJvcmRlciBib3JkZXItdHJhbnNwYXJlbnQgdGV4dC1iYXNlIGZvbnQtc20gcm91bmRlZC1zbSB0ZXh0LWdyYXktNjAwIGJnLXdoaXRlIGhvdmVyOmJnLWdyYXktNTAgc206dy1hdXRvXCI+XHJcbiAgICAgICAgz4DOsc+Ezq7Pg8+EzrUgzrXOtM+OIM6zzrnOsSDOvc6xIM61z4DOuc+Dz4TPgc6tz4jOtc+EzrVcclxuICAgICAgPC9hPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPC9saWItdmlldy1sYXlvdXQ+XHJcblxyXG5cclxuIl19
@@ -0,0 +1,21 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class AddressPipe {
4
+ transform(value) {
5
+ if (value === undefined || null || '') {
6
+ return '';
7
+ }
8
+ // tslint:disable-next-line:no-non-null-assertion
9
+ return `${value.street || ''}${value.streetNumber ? ' ' + value.streetNumber : ''}${value.city ? ', ' + value.city : ''}${+value.postalCode ? ', ' + +value.postalCode : ''}`;
10
+ }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: AddressPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.6", ngImport: i0, type: AddressPipe, name: "address", pure: false }); }
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: AddressPipe, decorators: [{
15
+ type: Pipe,
16
+ args: [{
17
+ name: 'address',
18
+ pure: false
19
+ }]
20
+ }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL3BpcGVzL2FkZHJlc3MucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFPcEQsTUFBTSxPQUFPLFdBQVc7SUFFcEIsU0FBUyxDQUFDLEtBQTJCO1FBQ2pDLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxJQUFJLElBQUksRUFBRSxFQUFFLENBQUM7WUFDcEMsT0FBTyxFQUFFLENBQUM7UUFDZCxDQUFDO1FBQ0QsaURBQWlEO1FBQ2pELE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsVUFBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsVUFBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUNwTCxDQUFDOzhHQVJRLFdBQVc7NEdBQVgsV0FBVzs7MkZBQVgsV0FBVztrQkFKdkIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsU0FBUztvQkFDZixJQUFJLEVBQUUsS0FBSztpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSUFkZHJlc3MgfSBmcm9tICcuLi90eXBlcyc7XHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiAnYWRkcmVzcycsXHJcbiAgICBwdXJlOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRkcmVzc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgICB0cmFuc2Zvcm0odmFsdWU6IElBZGRyZXNzIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCBudWxsIHx8ICcnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnJztcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLW5vbi1udWxsLWFzc2VydGlvblxyXG4gICAgICAgIHJldHVybiBgJHt2YWx1ZS5zdHJlZXQgfHwgJyd9JHt2YWx1ZS5zdHJlZXROdW1iZXIgPyAnICcgKyB2YWx1ZS5zdHJlZXROdW1iZXIgOiAnJ30ke3ZhbHVlLmNpdHkgPyAnLCAnICsgdmFsdWUuY2l0eSA6ICcnfSR7K3ZhbHVlLnBvc3RhbENvZGUhID8gJywgJyArICt2YWx1ZS5wb3N0YWxDb2RlISA6ICcnfWA7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,64 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class DurationFormatPipe {
4
+ transform(value, arg1, arg2) {
5
+ let days;
6
+ let seconds;
7
+ let minutes;
8
+ let hours;
9
+ if (arg1 === 'ms' && arg2 === 'hhmmss') {
10
+ seconds = Math.floor((value / 1000) % 60);
11
+ minutes = Math.floor(((value / (1000 * 60)) % 60));
12
+ hours = Math.floor((value / (1000 * 60 * 60)));
13
+ return this.format(arg2, seconds, minutes, hours, days);
14
+ }
15
+ else if (arg1 === 's' && arg2 === 'hhmmss') {
16
+ seconds = Math.floor((value % 60));
17
+ minutes = Math.floor(((value / 60) % 60));
18
+ hours = Math.floor(((value / 60) / 60));
19
+ return this.format(arg2, seconds, minutes, hours, days);
20
+ }
21
+ else if (arg1 === 'ms' && (arg2 === 'ddhhmmss' || arg2 === 'ddhhmmssLong')) {
22
+ seconds = Math.floor(((value / 1000) % 60));
23
+ minutes = Math.floor((value / (1000 * 60) % 60));
24
+ hours = Math.floor((value / (1000 * 60 * 60) % 24));
25
+ days = Math.floor((value / (1000 * 60 * 60 * 24)));
26
+ return this.format(arg2, seconds, minutes, hours, days);
27
+ }
28
+ else if (arg1 === 's' && (arg2 === 'ddhhmmss' || arg2 === 'ddhhmmssLong')) {
29
+ seconds = Math.floor(value % 60);
30
+ minutes = Math.floor(((value / 60) % 60));
31
+ hours = Math.floor(((value / 60) / 60) % 24);
32
+ days = Math.floor((((value / 60) / 60) / 24));
33
+ return this.format(arg2, seconds, minutes, hours, days);
34
+ }
35
+ else {
36
+ return value;
37
+ }
38
+ }
39
+ format(arg2, seconds, minutes, hours, days) {
40
+ (days < 10) ? days = '0' + days : days;
41
+ (hours < 10) ? hours = '0' + hours : hours;
42
+ (minutes < 10) ? minutes = '0' + minutes : minutes;
43
+ (seconds < 10) ? seconds = '0' + seconds : seconds;
44
+ switch (arg2) {
45
+ case 'hhmmss':
46
+ return `${hours}:${minutes}:${seconds}`;
47
+ case 'ddhhmmss':
48
+ return `${days}d, ${hours}h, ${minutes}m, ${seconds}s`;
49
+ case 'ddhhmmssLong':
50
+ return `${days} days, ${hours} hours, ${minutes} minutes, ${seconds} seconds`;
51
+ }
52
+ return undefined;
53
+ }
54
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: DurationFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
55
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.6", ngImport: i0, type: DurationFormatPipe, name: "durationFormat", pure: false }); }
56
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: DurationFormatPipe, decorators: [{
58
+ type: Pipe,
59
+ args: [{
60
+ name: 'durationFormat',
61
+ pure: false
62
+ }]
63
+ }] });
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24tZm9ybWF0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb21wb25lbnRzL3NyYy9saWIvcGlwZXMvZHVyYXRpb24tZm9ybWF0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTyxrQkFBa0I7SUFFN0IsU0FBUyxDQUFDLEtBQVUsRUFBRSxJQUFTLEVBQUUsSUFBUztRQUV4QyxJQUFJLElBQVMsQ0FBQztRQUNkLElBQUksT0FBWSxDQUFDO1FBQ2pCLElBQUksT0FBWSxDQUFDO1FBQ2pCLElBQUksS0FBVSxDQUFDO1FBRWYsSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN2QyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUMxQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNuRCxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9DLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFMUQsQ0FBQzthQUFNLElBQUksSUFBSSxLQUFLLEdBQUcsSUFBSSxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDN0MsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNuQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDMUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3hDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFMUQsQ0FBQzthQUFNLElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxVQUFVLElBQUksSUFBSSxLQUFLLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDN0UsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzVDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDakQsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDcEQsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUUxRCxDQUFDO2FBQU0sSUFBSSxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxLQUFLLFVBQVUsSUFBSSxJQUFJLEtBQUssY0FBYyxDQUFDLEVBQUUsQ0FBQztZQUM1RSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDakMsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDN0MsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDOUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUUxRCxDQUFDO2FBQ0ksQ0FBQztZQUNKLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUM7SUFFTyxNQUFNLENBQUMsSUFBWSxFQUFFLE9BQVksRUFBRSxPQUFZLEVBQUUsS0FBVSxFQUFFLElBQVM7UUFDNUUsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDdkMsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDM0MsQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxHQUFHLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDbkQsQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxHQUFHLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFFbkQsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNiLEtBQUssUUFBUTtnQkFDWCxPQUFPLEdBQUcsS0FBSyxJQUFJLE9BQU8sSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUUxQyxLQUFLLFVBQVU7Z0JBQ2IsT0FBTyxHQUFHLElBQUksTUFBTSxLQUFLLE1BQU0sT0FBTyxNQUFNLE9BQU8sR0FBRyxDQUFDO1lBRXpELEtBQUssY0FBYztnQkFDakIsT0FBTyxHQUFHLElBQUksVUFBVSxLQUFLLFdBQVcsT0FBTyxhQUFhLE9BQU8sVUFBVSxDQUFDO1FBQ2xGLENBQUM7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDOzhHQTFEVSxrQkFBa0I7NEdBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFKOUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsZ0JBQWdCO29CQUN0QixJQUFJLEVBQUUsS0FBSztpQkFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnZHVyYXRpb25Gb3JtYXQnLFxyXG4gIHB1cmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEdXJhdGlvbkZvcm1hdFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIGFyZzE6IGFueSwgYXJnMjogYW55KTogc3RyaW5nIHtcclxuXHJcbiAgICBsZXQgZGF5czogYW55O1xyXG4gICAgbGV0IHNlY29uZHM6IGFueTtcclxuICAgIGxldCBtaW51dGVzOiBhbnk7XHJcbiAgICBsZXQgaG91cnM6IGFueTtcclxuXHJcbiAgICBpZiAoYXJnMSA9PT0gJ21zJyAmJiBhcmcyID09PSAnaGhtbXNzJykge1xyXG4gICAgICBzZWNvbmRzID0gTWF0aC5mbG9vcigodmFsdWUgLyAxMDAwKSAlIDYwKTtcclxuICAgICAgbWludXRlcyA9IE1hdGguZmxvb3IoKCh2YWx1ZSAvICgxMDAwICogNjApKSAlIDYwKSk7XHJcbiAgICAgIGhvdXJzID0gTWF0aC5mbG9vcigodmFsdWUgLyAoMTAwMCAqIDYwICogNjApKSk7XHJcbiAgICAgIHJldHVybiB0aGlzLmZvcm1hdChhcmcyLCBzZWNvbmRzLCBtaW51dGVzLCBob3VycywgZGF5cyk7XHJcblxyXG4gICAgfSBlbHNlIGlmIChhcmcxID09PSAncycgJiYgYXJnMiA9PT0gJ2hobW1zcycpIHtcclxuICAgICAgc2Vjb25kcyA9IE1hdGguZmxvb3IoKHZhbHVlICUgNjApKTtcclxuICAgICAgbWludXRlcyA9IE1hdGguZmxvb3IoKCh2YWx1ZSAvIDYwKSAlIDYwKSk7XHJcbiAgICAgIGhvdXJzID0gTWF0aC5mbG9vcigoKHZhbHVlIC8gNjApIC8gNjApKTtcclxuICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0KGFyZzIsIHNlY29uZHMsIG1pbnV0ZXMsIGhvdXJzLCBkYXlzKTtcclxuXHJcbiAgICB9IGVsc2UgaWYgKGFyZzEgPT09ICdtcycgJiYgKGFyZzIgPT09ICdkZGhobW1zcycgfHwgYXJnMiA9PT0gJ2RkaGhtbXNzTG9uZycpKSB7XHJcbiAgICAgIHNlY29uZHMgPSBNYXRoLmZsb29yKCgodmFsdWUgLyAxMDAwKSAlIDYwKSk7XHJcbiAgICAgIG1pbnV0ZXMgPSBNYXRoLmZsb29yKCh2YWx1ZSAvICgxMDAwICogNjApICUgNjApKTtcclxuICAgICAgaG91cnMgPSBNYXRoLmZsb29yKCh2YWx1ZSAvICgxMDAwICogNjAgKiA2MCkgJSAyNCkpO1xyXG4gICAgICBkYXlzID0gTWF0aC5mbG9vcigodmFsdWUgLyAoMTAwMCAqIDYwICogNjAgKiAyNCkpKTtcclxuICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0KGFyZzIsIHNlY29uZHMsIG1pbnV0ZXMsIGhvdXJzLCBkYXlzKTtcclxuXHJcbiAgICB9IGVsc2UgaWYgKGFyZzEgPT09ICdzJyAmJiAoYXJnMiA9PT0gJ2RkaGhtbXNzJyB8fCBhcmcyID09PSAnZGRoaG1tc3NMb25nJykpIHtcclxuICAgICAgc2Vjb25kcyA9IE1hdGguZmxvb3IodmFsdWUgJSA2MCk7XHJcbiAgICAgIG1pbnV0ZXMgPSBNYXRoLmZsb29yKCgodmFsdWUgLyA2MCkgJSA2MCkpO1xyXG4gICAgICBob3VycyA9IE1hdGguZmxvb3IoKCh2YWx1ZSAvIDYwKSAvIDYwKSAlIDI0KTtcclxuICAgICAgZGF5cyA9IE1hdGguZmxvb3IoKCgodmFsdWUgLyA2MCkgLyA2MCkgLyAyNCkpO1xyXG4gICAgICByZXR1cm4gdGhpcy5mb3JtYXQoYXJnMiwgc2Vjb25kcywgbWludXRlcywgaG91cnMsIGRheXMpO1xyXG5cclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZvcm1hdChhcmcyOiBzdHJpbmcsIHNlY29uZHM6IGFueSwgbWludXRlczogYW55LCBob3VyczogYW55LCBkYXlzOiBhbnkpOiBhbnkge1xyXG4gICAgKGRheXMgPCAxMCkgPyBkYXlzID0gJzAnICsgZGF5cyA6IGRheXM7XHJcbiAgICAoaG91cnMgPCAxMCkgPyBob3VycyA9ICcwJyArIGhvdXJzIDogaG91cnM7XHJcbiAgICAobWludXRlcyA8IDEwKSA/IG1pbnV0ZXMgPSAnMCcgKyBtaW51dGVzIDogbWludXRlcztcclxuICAgIChzZWNvbmRzIDwgMTApID8gc2Vjb25kcyA9ICcwJyArIHNlY29uZHMgOiBzZWNvbmRzO1xyXG5cclxuICAgIHN3aXRjaCAoYXJnMikge1xyXG4gICAgICBjYXNlICdoaG1tc3MnOlxyXG4gICAgICAgIHJldHVybiBgJHtob3Vyc306JHttaW51dGVzfToke3NlY29uZHN9YDtcclxuXHJcbiAgICAgIGNhc2UgJ2RkaGhtbXNzJzpcclxuICAgICAgICByZXR1cm4gYCR7ZGF5c31kLCAke2hvdXJzfWgsICR7bWludXRlc31tLCAke3NlY29uZHN9c2A7XHJcblxyXG4gICAgICBjYXNlICdkZGhobW1zc0xvbmcnOlxyXG4gICAgICAgIHJldHVybiBgJHtkYXlzfSBkYXlzLCAke2hvdXJzfSBob3VycywgJHttaW51dGVzfSBtaW51dGVzLCAke3NlY29uZHN9IHNlY29uZHNgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -0,0 +1,43 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ShortNumberPipe {
4
+ transform(number, args) {
5
+ if (isNaN(number))
6
+ return null; // will only work value is a number
7
+ if (number === null)
8
+ return null;
9
+ if (number === 0)
10
+ return null;
11
+ let abs = Math.abs(number);
12
+ const rounder = Math.pow(10, 1);
13
+ const isNegative = number < 0; // will also work for Negative numbers
14
+ let key = '';
15
+ const powers = [
16
+ { key: 'Q', value: Math.pow(10, 15) },
17
+ { key: 'T', value: Math.pow(10, 12) },
18
+ { key: 'B', value: Math.pow(10, 9) },
19
+ { key: 'M', value: Math.pow(10, 6) },
20
+ { key: 'K', value: 1000 }
21
+ ];
22
+ for (let i = 0; i < powers.length; i++) {
23
+ let reduced = abs / powers[i].value;
24
+ reduced = Math.round(reduced * rounder) / rounder;
25
+ if (reduced >= 1) {
26
+ abs = reduced;
27
+ key = powers[i].key;
28
+ break;
29
+ }
30
+ }
31
+ return (isNegative ? '-' : '') + abs + key;
32
+ }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ShortNumberPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
34
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.6", ngImport: i0, type: ShortNumberPipe, name: "shortNumber", pure: false }); }
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ShortNumberPipe, decorators: [{
37
+ type: Pipe,
38
+ args: [{
39
+ name: 'shortNumber',
40
+ pure: false
41
+ }]
42
+ }] });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvcnQtbnVtYmVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb21wb25lbnRzL3NyYy9saWIvcGlwZXMvc2hvcnQtbnVtYmVyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTyxlQUFlO0lBRXhCLFNBQVMsQ0FBQyxNQUFjLEVBQUUsSUFBVTtRQUNoQyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQyxDQUFDLG1DQUFtQztRQUNuRSxJQUFJLE1BQU0sS0FBSyxJQUFJO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDakMsSUFBSSxNQUFNLEtBQUssQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQzlCLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDaEMsTUFBTSxVQUFVLEdBQUcsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLHNDQUFzQztRQUNyRSxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFFYixNQUFNLE1BQU0sR0FBRztZQUNYLEVBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUM7WUFDbkMsRUFBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBQztZQUNuQyxFQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFDO1lBQ2xDLEVBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUM7WUFDbEMsRUFBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUM7U0FDMUIsQ0FBQztRQUVGLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDckMsSUFBSSxPQUFPLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDcEMsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLE9BQU8sQ0FBQztZQUNsRCxJQUFJLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDZixHQUFHLEdBQUcsT0FBTyxDQUFDO2dCQUNkLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO2dCQUNwQixNQUFNO1lBQ1YsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDL0MsQ0FBQzs4R0E3QlEsZUFBZTs0R0FBZixlQUFlOzsyRkFBZixlQUFlO2tCQUozQixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxhQUFhO29CQUNuQixJQUFJLEVBQUUsS0FBSztpQkFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBQaXBlKHtcclxuICAgIG5hbWU6ICdzaG9ydE51bWJlcicsXHJcbiAgICBwdXJlOiBmYWxzZVxyXG4gIH0pXHJcbmV4cG9ydCBjbGFzcyBTaG9ydE51bWJlclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgICB0cmFuc2Zvcm0obnVtYmVyOiBudW1iZXIsIGFyZ3M/OiBhbnkpOiBhbnkge1xyXG4gICAgICAgIGlmIChpc05hTihudW1iZXIpKSByZXR1cm4gbnVsbDsgLy8gd2lsbCBvbmx5IHdvcmsgdmFsdWUgaXMgYSBudW1iZXJcclxuICAgICAgICBpZiAobnVtYmVyID09PSBudWxsKSByZXR1cm4gbnVsbDtcclxuICAgICAgICBpZiAobnVtYmVyID09PSAwKSByZXR1cm4gbnVsbDtcclxuICAgICAgICBsZXQgYWJzID0gTWF0aC5hYnMobnVtYmVyKTtcclxuICAgICAgICBjb25zdCByb3VuZGVyID0gTWF0aC5wb3coMTAsIDEpO1xyXG4gICAgICAgIGNvbnN0IGlzTmVnYXRpdmUgPSBudW1iZXIgPCAwOyAvLyB3aWxsIGFsc28gd29yayBmb3IgTmVnYXRpdmUgbnVtYmVyc1xyXG4gICAgICAgIGxldCBrZXkgPSAnJztcclxuXHJcbiAgICAgICAgY29uc3QgcG93ZXJzID0gW1xyXG4gICAgICAgICAgICB7a2V5OiAnUScsIHZhbHVlOiBNYXRoLnBvdygxMCwgMTUpfSxcclxuICAgICAgICAgICAge2tleTogJ1QnLCB2YWx1ZTogTWF0aC5wb3coMTAsIDEyKX0sXHJcbiAgICAgICAgICAgIHtrZXk6ICdCJywgdmFsdWU6IE1hdGgucG93KDEwLCA5KX0sXHJcbiAgICAgICAgICAgIHtrZXk6ICdNJywgdmFsdWU6IE1hdGgucG93KDEwLCA2KX0sXHJcbiAgICAgICAgICAgIHtrZXk6ICdLJywgdmFsdWU6IDEwMDB9XHJcbiAgICAgICAgXTtcclxuXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwb3dlcnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgbGV0IHJlZHVjZWQgPSBhYnMgLyBwb3dlcnNbaV0udmFsdWU7XHJcbiAgICAgICAgICAgIHJlZHVjZWQgPSBNYXRoLnJvdW5kKHJlZHVjZWQgKiByb3VuZGVyKSAvIHJvdW5kZXI7XHJcbiAgICAgICAgICAgIGlmIChyZWR1Y2VkID49IDEpIHtcclxuICAgICAgICAgICAgICAgIGFicyA9IHJlZHVjZWQ7XHJcbiAgICAgICAgICAgICAgICBrZXkgPSBwb3dlcnNbaV0ua2V5O1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIChpc05lZ2F0aXZlID8gJy0nIDogJycpICsgYWJzICsga2V5O1xyXG4gICAgfVxyXG59Il19
@@ -0,0 +1,174 @@
1
+ import { Inject, Injectable, Optional } from '@angular/core';
2
+ import { NavigationEnd } from '@angular/router';
3
+ import { Subject } from 'rxjs';
4
+ import { distinctUntilChanged, filter } from 'rxjs/operators';
5
+ import { BreadcrumbItem } from '../controls/breadcrumb/breadcrumb-item';
6
+ import { SHELL_CONFIG } from '../tokens';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/router";
9
+ import * as i2 from "./utilities.service";
10
+ export class BreadcrumbService {
11
+ constructor(_router, _utilities, _shellConfig) {
12
+ this._router = _router;
13
+ this._utilities = _utilities;
14
+ this._shellConfig = _shellConfig;
15
+ this._breadcrumb$ = new Subject();
16
+ this.breadcrumb = this._breadcrumb$.asObservable();
17
+ if (_shellConfig?.breadcrumb) {
18
+ this._defaultHome = this._getDefaultHomeItem();
19
+ this._router
20
+ .events
21
+ .pipe(filter(event => event instanceof NavigationEnd), distinctUntilChanged())
22
+ .subscribe(_ => {
23
+ const breadcrumb = [...this._buildBreadcrumb()];
24
+ this._breadcrumb$.next(breadcrumb);
25
+ });
26
+ }
27
+ }
28
+ _getDefaultHomeItem() {
29
+ const routerConfig = this._router.config;
30
+ const declaredHomeRoutes = routerConfig.filter((route) => route.data?.breadcrumb?.isHome === true);
31
+ if (declaredHomeRoutes.length > 1) {
32
+ throw new Error('You can declare only one route as home.');
33
+ }
34
+ let homeRoute;
35
+ if (declaredHomeRoutes.length === 1) {
36
+ homeRoute = declaredHomeRoutes[0];
37
+ }
38
+ else {
39
+ homeRoute = routerConfig.find((route) => route.path === '');
40
+ if (!homeRoute) {
41
+ return undefined;
42
+ }
43
+ const redirectionUrl = homeRoute.redirectTo;
44
+ if (!homeRoute?.data?.breadcrumb?.title && redirectionUrl) {
45
+ homeRoute = routerConfig.find((route) => route.path === redirectionUrl);
46
+ if (!homeRoute) {
47
+ return undefined;
48
+ }
49
+ }
50
+ }
51
+ return new BreadcrumbItem(this._getRouteTitle(homeRoute), homeRoute.path || '');
52
+ }
53
+ _getRouteTitle(route) {
54
+ return route?.data?.breadcrumb?.title || route.component?.name.replace('Component', '');
55
+ }
56
+ _buildBreadcrumb() {
57
+ const breadcrumb = [];
58
+ if (this._defaultHome) {
59
+ breadcrumb.push(this._defaultHome);
60
+ }
61
+ const url = this._router.url;
62
+ const path = this._utilities.getPathFromUrl(url) || '';
63
+ const activeRoute = this._findRouteFromUrl(path);
64
+ const parentRoutes = this._findParentRoutes(activeRoute);
65
+ breadcrumb.push(...parentRoutes);
66
+ if (activeRoute && activeRoute?.path !== this._defaultHome?.url) {
67
+ const routeData = this._getBreadcrumbRouteData(activeRoute);
68
+ breadcrumb.push(new BreadcrumbItem(this._getRouteTitle(activeRoute), (routeData._fullPath || activeRoute.path || '')));
69
+ }
70
+ return breadcrumb.map((route) => {
71
+ const routeSegments = route.url?.split('/') || [];
72
+ routeSegments.forEach((segment, index) => {
73
+ if (segment.startsWith(':')) {
74
+ route.url = route.url?.replace(segment, url.split('/')[index + 1]);
75
+ }
76
+ });
77
+ return route;
78
+ });
79
+ }
80
+ _findRouteFromUrl(url) {
81
+ const urlSegments = url.split('/').filter((segment) => segment !== '');
82
+ const routerConfig = this._router.config;
83
+ const flattenedRouterConfig = this._flattenRoutes(routerConfig);
84
+ const filteredRouterConfig = flattenedRouterConfig.filter((route) => {
85
+ const routeData = this._getBreadcrumbRouteData(route);
86
+ return (routeData._fullPath || route.path)?.split('/').length === urlSegments.length;
87
+ });
88
+ const route = filteredRouterConfig.find((route) => {
89
+ const routeData = this._getBreadcrumbRouteData(route);
90
+ const routeSegments = (routeData._fullPath || route.path)?.split('/') || [];
91
+ let segmentsMatched = false;
92
+ for (let i = 0; i < routeSegments.length; i++) {
93
+ const currentSegment = routeSegments[i];
94
+ const isDynamicSegment = currentSegment.startsWith(':');
95
+ if (!isDynamicSegment) {
96
+ segmentsMatched = currentSegment === urlSegments[i];
97
+ }
98
+ }
99
+ return segmentsMatched ? route : undefined;
100
+ });
101
+ return route;
102
+ }
103
+ _findParentRoutes(activeRoute, items = []) {
104
+ if (!activeRoute) {
105
+ return [];
106
+ }
107
+ const routeData = this._getBreadcrumbRouteData(activeRoute);
108
+ let urlSegments = (routeData._fullPath || activeRoute.path)?.split('/').filter((segment) => segment !== '') || [];
109
+ if (urlSegments?.length <= 1) {
110
+ return [...items];
111
+ }
112
+ const previousUrl = urlSegments.slice(0, -1).join('/');
113
+ const route = this._findRouteFromUrl(previousUrl);
114
+ if (route) {
115
+ const routeData = this._getBreadcrumbRouteData(route);
116
+ if (routeData._level > 0 || (!route.children || route.children.length === 0)) {
117
+ items.push(new BreadcrumbItem(this._getRouteTitle(route), routeData._fullPath || route.path));
118
+ this._findParentRoutes(route, [...items]);
119
+ }
120
+ }
121
+ return [...items];
122
+ }
123
+ _flattenRoutes(routes, level) {
124
+ let children = [];
125
+ level = level || 0;
126
+ return routes.map((route) => {
127
+ const routeData = this._getBreadcrumbRouteData(route);
128
+ routeData._level = level;
129
+ if (route.children && route.children.length) {
130
+ route.children.forEach((child) => {
131
+ const childRouteData = this._getBreadcrumbRouteData(child);
132
+ const routePath = routeData._fullPath || route.path || '';
133
+ const childPath = child.path?.endsWith('/') ? child.path.slice(0, -1) : child.path;
134
+ childRouteData._fullPath = childPath?.indexOf(routePath) === -1 ? `${routePath}/${childPath}` : childPath;
135
+ });
136
+ children = [...children, ...route.children];
137
+ }
138
+ return route;
139
+ }).concat(children.length ? this._flattenRoutes(children, level + 1) : children);
140
+ }
141
+ _getBreadcrumbRouteData(route) {
142
+ if (!route) {
143
+ throw new Error('No route was found');
144
+ }
145
+ if (!route.data?.breadcrumb) {
146
+ if (!route.data) {
147
+ route.data = {};
148
+ }
149
+ route.data.breadcrumb = new BreadcrumbRouteData(0, false, undefined);
150
+ }
151
+ return route.data.breadcrumb;
152
+ }
153
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: BreadcrumbService, deps: [{ token: i1.Router }, { token: i2.UtilitiesService }, { token: SHELL_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
154
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: BreadcrumbService, providedIn: 'root' }); }
155
+ }
156
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: BreadcrumbService, decorators: [{
157
+ type: Injectable,
158
+ args: [{
159
+ providedIn: 'root'
160
+ }]
161
+ }], ctorParameters: () => [{ type: i1.Router }, { type: i2.UtilitiesService }, { type: undefined, decorators: [{
162
+ type: Optional
163
+ }, {
164
+ type: Inject,
165
+ args: [SHELL_CONFIG]
166
+ }] }] });
167
+ export class BreadcrumbRouteData {
168
+ constructor(_level, isHome, _fullPath) {
169
+ this._level = _level;
170
+ this.isHome = isHome;
171
+ this._fullPath = _fullPath;
172
+ }
173
+ }
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2VzL2JyZWFkY3J1bWIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFRLGFBQWEsRUFBaUIsTUFBTSxpQkFBaUIsQ0FBQztBQUVyRSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQzs7OztBQU16QyxNQUFNLE9BQU8saUJBQWlCO0lBSTFCLFlBQ1ksT0FBZSxFQUNmLFVBQTRCLEVBQ0ssWUFBa0I7UUFGbkQsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQ0ssaUJBQVksR0FBWixZQUFZLENBQU07UUFMdkQsaUJBQVksR0FBOEIsSUFBSSxPQUFPLEVBQW9CLENBQUM7UUFzQjNFLGVBQVUsR0FBaUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQWYvRSxJQUFJLFlBQVksRUFBRSxVQUFVLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQy9DLElBQUksQ0FBQyxPQUFPO2lCQUNQLE1BQU07aUJBQ04sSUFBSSxDQUNELE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssWUFBWSxhQUFhLENBQUMsRUFDL0Msb0JBQW9CLEVBQUUsQ0FD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QyxZQUFZOztBQXVKeEMsTUFBTSxPQUFPLG1CQUFtQjtJQUM1QixZQUFtQixNQUFjLEVBQVMsTUFBZSxFQUFTLFNBQThCO1FBQTdFLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFTO1FBQVMsY0FBUyxHQUFULFNBQVMsQ0FBcUI7SUFBSSxDQUFDO0NBQ3hHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEYXRhLCBOYXZpZ2F0aW9uRW5kLCBSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQnJlYWRjcnVtYkl0ZW0gfSBmcm9tICcuLi9jb250cm9scy9icmVhZGNydW1iL2JyZWFkY3J1bWItaXRlbSc7XHJcbmltcG9ydCB7IFNIRUxMX0NPTkZJRyB9IGZyb20gJy4uL3Rva2Vucyc7XHJcbmltcG9ydCB7IFV0aWxpdGllc1NlcnZpY2UgfSBmcm9tICcuL3V0aWxpdGllcy5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQnJlYWRjcnVtYlNlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSBfZGVmYXVsdEhvbWU6IEJyZWFkY3J1bWJJdGVtIHwgdW5kZWZpbmVkO1xyXG4gICAgcHJpdmF0ZSBfYnJlYWRjcnVtYiQ6IFN1YmplY3Q8QnJlYWRjcnVtYkl0ZW1bXT4gPSBuZXcgU3ViamVjdDxCcmVhZGNydW1iSXRlbVtdPigpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVyLFxyXG4gICAgICAgIHByaXZhdGUgX3V0aWxpdGllczogVXRpbGl0aWVzU2VydmljZSxcclxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFNIRUxMX0NPTkZJRykgcHVibGljIF9zaGVsbENvbmZpZz86IGFueVxyXG4gICAgKSB7XHJcbiAgICAgICAgaWYgKF9zaGVsbENvbmZpZz8uYnJlYWRjcnVtYikge1xyXG4gICAgICAgICAgICB0aGlzLl9kZWZhdWx0SG9tZSA9IHRoaXMuX2dldERlZmF1bHRIb21lSXRlbSgpO1xyXG4gICAgICAgICAgICB0aGlzLl9yb3V0ZXJcclxuICAgICAgICAgICAgICAgIC5ldmVudHNcclxuICAgICAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxyXG4gICAgICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcclxuICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoXyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYnJlYWRjcnVtYiA9IFsuLi50aGlzLl9idWlsZEJyZWFkY3J1bWIoKV07XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fYnJlYWRjcnVtYiQubmV4dChicmVhZGNydW1iKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYnJlYWRjcnVtYjogT2JzZXJ2YWJsZTxCcmVhZGNydW1iSXRlbVtdPiA9IHRoaXMuX2JyZWFkY3J1bWIkLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAgIHByaXZhdGUgX2dldERlZmF1bHRIb21lSXRlbSgpOiBCcmVhZGNydW1iSXRlbSB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgY29uc3Qgcm91dGVyQ29uZmlnID0gdGhpcy5fcm91dGVyLmNvbmZpZztcclxuICAgICAgICBjb25zdCBkZWNsYXJlZEhvbWVSb3V0ZXMgPSByb3V0ZXJDb25maWcuZmlsdGVyKChyb3V0ZTogUm91dGUpID0+IHJvdXRlLmRhdGE/LmJyZWFkY3J1bWI/LmlzSG9tZSA9PT0gdHJ1ZSk7XHJcbiAgICAgICAgaWYgKGRlY2xhcmVkSG9tZVJvdXRlcy5sZW5ndGggPiAxKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignWW91IGNhbiBkZWNsYXJlIG9ubHkgb25lIHJvdXRlIGFzIGhvbWUuJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBob21lUm91dGU6IFJvdXRlIHwgdW5kZWZpbmVkO1xyXG4gICAgICAgIGlmIChkZWNsYXJlZEhvbWVSb3V0ZXMubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgICAgICAgIGhvbWVSb3V0ZSA9IGRlY2xhcmVkSG9tZVJvdXRlc1swXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBob21lUm91dGUgPSByb3V0ZXJDb25maWcuZmluZCgocm91dGU6IFJvdXRlKSA9PiByb3V0ZS5wYXRoID09PSAnJyk7XHJcbiAgICAgICAgICAgIGlmICghaG9tZVJvdXRlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnN0IHJlZGlyZWN0aW9uVXJsID0gaG9tZVJvdXRlLnJlZGlyZWN0VG87XHJcbiAgICAgICAgICAgIGlmICghaG9tZVJvdXRlPy5kYXRhPy5icmVhZGNydW1iPy50aXRsZSAmJiByZWRpcmVjdGlvblVybCkge1xyXG4gICAgICAgICAgICAgICAgaG9tZVJvdXRlID0gcm91dGVyQ29uZmlnLmZpbmQoKHJvdXRlOiBSb3V0ZSkgPT4gcm91dGUucGF0aCA9PT0gcmVkaXJlY3Rpb25VcmwpO1xyXG4gICAgICAgICAgICAgICAgaWYgKCFob21lUm91dGUpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuZXcgQnJlYWRjcnVtYkl0ZW0odGhpcy5fZ2V0Um91dGVUaXRsZShob21lUm91dGUpLCBob21lUm91dGUucGF0aCB8fCAnJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZ2V0Um91dGVUaXRsZShyb3V0ZTogUm91dGUpIHtcclxuICAgICAgICByZXR1cm4gcm91dGU/LmRhdGE/LmJyZWFkY3J1bWI/LnRpdGxlIHx8IHJvdXRlLmNvbXBvbmVudD8ubmFtZS5yZXBsYWNlKCdDb21wb25lbnQnLCAnJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfYnVpbGRCcmVhZGNydW1iKCk6IEJyZWFkY3J1bWJJdGVtW10ge1xyXG4gICAgICAgIGNvbnN0IGJyZWFkY3J1bWI6IEJyZWFkY3J1bWJJdGVtW10gPSBbXTtcclxuICAgICAgICBpZiAodGhpcy5fZGVmYXVsdEhvbWUpIHtcclxuICAgICAgICAgICAgYnJlYWRjcnVtYi5wdXNoKHRoaXMuX2RlZmF1bHRIb21lKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5fcm91dGVyLnVybDtcclxuICAgICAgICBjb25zdCBwYXRoID0gdGhpcy5fdXRpbGl0aWVzLmdldFBhdGhGcm9tVXJsKHVybCkgfHwgJyc7XHJcbiAgICAgICAgY29uc3QgYWN0aXZlUm91dGUgPSB0aGlzLl9maW5kUm91dGVGcm9tVXJsKHBhdGgpO1xyXG4gICAgICAgIGNvbnN0IHBhcmVudFJvdXRlcyA9IHRoaXMuX2ZpbmRQYXJlbnRSb3V0ZXMoYWN0aXZlUm91dGUpO1xyXG4gICAgICAgIGJyZWFkY3J1bWIucHVzaCguLi5wYXJlbnRSb3V0ZXMpO1xyXG4gICAgICAgIGlmIChhY3RpdmVSb3V0ZSAmJiBhY3RpdmVSb3V0ZT8ucGF0aCAhPT0gdGhpcy5fZGVmYXVsdEhvbWU/LnVybCkge1xyXG4gICAgICAgICAgICBjb25zdCByb3V0ZURhdGEgPSB0aGlzLl9nZXRCcmVhZGNydW1iUm91dGVEYXRhKGFjdGl2ZVJvdXRlKTtcclxuICAgICAgICAgICAgYnJlYWRjcnVtYi5wdXNoKG5ldyBCcmVhZGNydW1iSXRlbSh0aGlzLl9nZXRSb3V0ZVRpdGxlKGFjdGl2ZVJvdXRlKSwgKHJvdXRlRGF0YS5fZnVsbFBhdGggfHwgYWN0aXZlUm91dGUucGF0aCB8fCAnJykpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGJyZWFkY3J1bWIubWFwKChyb3V0ZTogQnJlYWRjcnVtYkl0ZW0pID0+IHtcclxuICAgICAgICAgICAgY29uc3Qgcm91dGVTZWdtZW50cyA9IHJvdXRlLnVybD8uc3BsaXQoJy8nKSB8fCBbXTtcclxuICAgICAgICAgICAgcm91dGVTZWdtZW50cy5mb3JFYWNoKChzZWdtZW50OiBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChzZWdtZW50LnN0YXJ0c1dpdGgoJzonKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJvdXRlLnVybCA9IHJvdXRlLnVybD8ucmVwbGFjZShzZWdtZW50LCB1cmwuc3BsaXQoJy8nKVtpbmRleCArIDFdKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHJldHVybiByb3V0ZTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9maW5kUm91dGVGcm9tVXJsKHVybDogc3RyaW5nKTogUm91dGUgfCB1bmRlZmluZWQge1xyXG4gICAgICAgIGNvbnN0IHVybFNlZ21lbnRzID0gdXJsLnNwbGl0KCcvJykuZmlsdGVyKChzZWdtZW50OiBzdHJpbmcpID0+IHNlZ21lbnQgIT09ICcnKTtcclxuICAgICAgICBjb25zdCByb3V0ZXJDb25maWcgPSB0aGlzLl9yb3V0ZXIuY29uZmlnO1xyXG4gICAgICAgIGNvbnN0IGZsYXR0ZW5lZFJvdXRlckNvbmZpZyA9IHRoaXMuX2ZsYXR0ZW5Sb3V0ZXMocm91dGVyQ29uZmlnKTtcclxuICAgICAgICBjb25zdCBmaWx0ZXJlZFJvdXRlckNvbmZpZyA9IGZsYXR0ZW5lZFJvdXRlckNvbmZpZy5maWx0ZXIoKHJvdXRlOiBSb3V0ZSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCByb3V0ZURhdGEgPSB0aGlzLl9nZXRCcmVhZGNydW1iUm91dGVEYXRhKHJvdXRlKTtcclxuICAgICAgICAgICAgcmV0dXJuIChyb3V0ZURhdGEuX2Z1bGxQYXRoIHx8IHJvdXRlLnBhdGgpPy5zcGxpdCgnLycpLmxlbmd0aCA9PT0gdXJsU2VnbWVudHMubGVuZ3RoO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGNvbnN0IHJvdXRlID0gZmlsdGVyZWRSb3V0ZXJDb25maWcuZmluZCgocm91dGU6IFJvdXRlKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJvdXRlRGF0YSA9IHRoaXMuX2dldEJyZWFkY3J1bWJSb3V0ZURhdGEocm91dGUpO1xyXG4gICAgICAgICAgICBjb25zdCByb3V0ZVNlZ21lbnRzID0gKHJvdXRlRGF0YS5fZnVsbFBhdGggfHwgcm91dGUucGF0aCk/LnNwbGl0KCcvJykgfHwgW107XHJcbiAgICAgICAgICAgIGxldCBzZWdtZW50c01hdGNoZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByb3V0ZVNlZ21lbnRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50U2VnbWVudCA9IHJvdXRlU2VnbWVudHNbaV07XHJcbiAgICAgICAgICAgICAgICBjb25zdCBpc0R5bmFtaWNTZWdtZW50ID0gY3VycmVudFNlZ21lbnQuc3RhcnRzV2l0aCgnOicpO1xyXG4gICAgICAgICAgICAgICAgaWYgKCFpc0R5bmFtaWNTZWdtZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VnbWVudHNNYXRjaGVkID0gY3VycmVudFNlZ21lbnQgPT09IHVybFNlZ21lbnRzW2ldO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBzZWdtZW50c01hdGNoZWQgPyByb3V0ZSA6IHVuZGVmaW5lZDtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gcm91dGU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZmluZFBhcmVudFJvdXRlcyhhY3RpdmVSb3V0ZTogUm91dGUgfCB1bmRlZmluZWQsIGl0ZW1zOiBCcmVhZGNydW1iSXRlbVtdID0gW10pOiBCcmVhZGNydW1iSXRlbVtdIHtcclxuICAgICAgICBpZiAoIWFjdGl2ZVJvdXRlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBbXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3Qgcm91dGVEYXRhID0gdGhpcy5fZ2V0QnJlYWRjcnVtYlJvdXRlRGF0YShhY3RpdmVSb3V0ZSk7XHJcbiAgICAgICAgbGV0IHVybFNlZ21lbnRzID0gKHJvdXRlRGF0YS5fZnVsbFBhdGggfHwgYWN0aXZlUm91dGUucGF0aCk/LnNwbGl0KCcvJykuZmlsdGVyKChzZWdtZW50OiBzdHJpbmcpID0+IHNlZ21lbnQgIT09ICcnKSB8fCBbXTtcclxuICAgICAgICBpZiAodXJsU2VnbWVudHM/Lmxlbmd0aCA8PSAxKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBbLi4uaXRlbXNdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBwcmV2aW91c1VybCA9IHVybFNlZ21lbnRzLnNsaWNlKDAsIC0xKS5qb2luKCcvJyk7XHJcbiAgICAgICAgY29uc3Qgcm91dGUgPSB0aGlzLl9maW5kUm91dGVGcm9tVXJsKHByZXZpb3VzVXJsKTtcclxuICAgICAgICBpZiAocm91dGUpIHtcclxuICAgICAgICAgICAgY29uc3Qgcm91dGVEYXRhID0gdGhpcy5fZ2V0QnJlYWRjcnVtYlJvdXRlRGF0YShyb3V0ZSk7XHJcbiAgICAgICAgICAgIGlmIChyb3V0ZURhdGEuX2xldmVsID4gMCB8fCAoIXJvdXRlLmNoaWxkcmVuIHx8IHJvdXRlLmNoaWxkcmVuLmxlbmd0aCA9PT0gMCkpIHtcclxuICAgICAgICAgICAgICAgIGl0ZW1zLnB1c2gobmV3IEJyZWFkY3J1bWJJdGVtKHRoaXMuX2dldFJvdXRlVGl0bGUocm91dGUpLCByb3V0ZURhdGEuX2Z1bGxQYXRoIHx8IHJvdXRlLnBhdGgpKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2ZpbmRQYXJlbnRSb3V0ZXMocm91dGUsIFsuLi5pdGVtc10pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBbLi4uaXRlbXNdO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2ZsYXR0ZW5Sb3V0ZXMocm91dGVzOiBSb3V0ZVtdLCBsZXZlbD86IG51bWJlcik6IFJvdXRlW10ge1xyXG4gICAgICAgIGxldCBjaGlsZHJlbjogUm91dGVbXSA9IFtdO1xyXG4gICAgICAgIGxldmVsID0gbGV2ZWwgfHwgMDtcclxuICAgICAgICByZXR1cm4gcm91dGVzLm1hcCgocm91dGU6IFJvdXRlKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJvdXRlRGF0YSA9IHRoaXMuX2dldEJyZWFkY3J1bWJSb3V0ZURhdGEocm91dGUpO1xyXG4gICAgICAgICAgICByb3V0ZURhdGEuX2xldmVsID0gbGV2ZWwhO1xyXG4gICAgICAgICAgICBpZiAocm91dGUuY2hpbGRyZW4gJiYgcm91dGUuY2hpbGRyZW4ubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICByb3V0ZS5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZDogUm91dGUpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGlsZFJvdXRlRGF0YSA9IHRoaXMuX2dldEJyZWFkY3J1bWJSb3V0ZURhdGEoY2hpbGQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJvdXRlUGF0aCA9IHJvdXRlRGF0YS5fZnVsbFBhdGggfHwgcm91dGUucGF0aCB8fCAnJztcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGlsZFBhdGggPSBjaGlsZC5wYXRoPy5lbmRzV2l0aCgnLycpID8gY2hpbGQucGF0aC5zbGljZSgwLCAtMSkgOiBjaGlsZC5wYXRoO1xyXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkUm91dGVEYXRhLl9mdWxsUGF0aCA9IGNoaWxkUGF0aD8uaW5kZXhPZihyb3V0ZVBhdGgpID09PSAtMSA/IGAke3JvdXRlUGF0aH0vJHtjaGlsZFBhdGh9YCA6IGNoaWxkUGF0aDtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgY2hpbGRyZW4gPSBbLi4uY2hpbGRyZW4sIC4uLnJvdXRlLmNoaWxkcmVuXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gcm91dGU7XHJcbiAgICAgICAgfSkuY29uY2F0KGNoaWxkcmVuLmxlbmd0aCA/IHRoaXMuX2ZsYXR0ZW5Sb3V0ZXMoY2hpbGRyZW4sIGxldmVsICsgMSkgOiBjaGlsZHJlbik7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZ2V0QnJlYWRjcnVtYlJvdXRlRGF0YShyb3V0ZTogUm91dGUgfCB1bmRlZmluZWQpOiBCcmVhZGNydW1iUm91dGVEYXRhIHtcclxuICAgICAgICBpZiAoIXJvdXRlKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gcm91dGUgd2FzIGZvdW5kJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghcm91dGUuZGF0YT8uYnJlYWRjcnVtYikge1xyXG4gICAgICAgICAgICBpZiAoIXJvdXRlLmRhdGEpIHtcclxuICAgICAgICAgICAgICAgIHJvdXRlLmRhdGEgPSB7fTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByb3V0ZS5kYXRhLmJyZWFkY3J1bWIgPSBuZXcgQnJlYWRjcnVtYlJvdXRlRGF0YSgwLCBmYWxzZSwgdW5kZWZpbmVkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJvdXRlLmRhdGEuYnJlYWRjcnVtYjtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWJSb3V0ZURhdGEge1xyXG4gICAgY29uc3RydWN0b3IocHVibGljIF9sZXZlbDogbnVtYmVyLCBwdWJsaWMgaXNIb21lOiBib29sZWFuLCBwdWJsaWMgX2Z1bGxQYXRoPzogc3RyaW5nIHwgdW5kZWZpbmVkKSB7IH1cclxufVxyXG4iXX0=