@indice/ng-components 0.2.167-beta.2 → 0.2.167-beta.3

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 (177) hide show
  1. package/_styles.css +1 -1
  2. package/bundles/indice-ng-components.umd.js +5035 -0
  3. package/bundles/indice-ng-components.umd.js.map +1 -0
  4. package/{esm2020/indice-ng-components.mjs → esm2015/indice-ng-components.js} +0 -0
  5. package/esm2015/lib/controls/advanced-search/advanced-search.component.js +116 -0
  6. package/esm2015/lib/controls/advanced-search/models.js +91 -0
  7. package/{esm2020/lib/controls/avatar-initials/avatar-initials.component.mjs → esm2015/lib/controls/avatar-initials/avatar-initials.component.js} +8 -5
  8. package/esm2015/lib/controls/collapsible-panel/collapsible-panel.component.js +23 -0
  9. package/{esm2020/lib/controls/combobox/combobox.component.mjs → esm2015/lib/controls/combobox/combobox.component.js} +11 -8
  10. package/esm2015/lib/controls/date-picker/date-picker.component.js +301 -0
  11. package/esm2015/lib/controls/drop-down-menu/drop-down-menu.component.js +72 -0
  12. package/esm2015/lib/controls/kpi-tile/kpi-tile.component.js +42 -0
  13. package/esm2015/lib/controls/language-selection/language-selection.component.js +35 -0
  14. package/{esm2020/lib/controls/list-view/list-column.component.mjs → esm2015/lib/controls/list-view/list-column.component.js} +4 -4
  15. package/{esm2020/lib/controls/list-view/list-details-section.component.mjs → esm2015/lib/controls/list-view/list-details-section.component.js} +4 -4
  16. package/{esm2020/lib/controls/list-view/list-tile.component.mjs → esm2015/lib/controls/list-view/list-tile.component.js} +4 -4
  17. package/esm2015/lib/controls/list-view/list-view-empty-state.component.js +32 -0
  18. package/esm2015/lib/controls/list-view/list-view.component.js +209 -0
  19. package/esm2015/lib/controls/nav-links-list/nav-links-list.component.js +51 -0
  20. package/esm2015/lib/controls/notifications-indicator/notifications-indicator.component.js +84 -0
  21. package/esm2015/lib/controls/pager/pager.component.js +133 -0
  22. package/esm2015/lib/controls/side-pane/side-pane.component.js +104 -0
  23. package/esm2015/lib/controls/skeleton-loader/skeleton-loader.component.js +29 -0
  24. package/{esm2020/lib/controls/stepper/lib-step-info.directive.mjs → esm2015/lib/controls/stepper/lib-step-info.directive.js} +4 -4
  25. package/{esm2020/lib/controls/stepper/lib-step-label.directive.mjs → esm2015/lib/controls/stepper/lib-step-label.directive.js} +4 -4
  26. package/esm2015/lib/controls/stepper/lib-step.component.js +82 -0
  27. package/esm2015/lib/controls/stepper/lib-stepper.component.js +115 -0
  28. package/{esm2020/lib/controls/stepper/types/step-selected-event.mjs → esm2015/lib/controls/stepper/types/step-selected-event.js} +0 -0
  29. package/{esm2020/lib/controls/stepper/types/stepper-type.mjs → esm2015/lib/controls/stepper/types/stepper-type.js} +0 -0
  30. package/esm2015/lib/controls/tabs/lib-tab-group.component.js +67 -0
  31. package/esm2015/lib/controls/tabs/lib-tab.component.js +58 -0
  32. package/esm2015/lib/controls/toaster/toaster-container.component.js +31 -0
  33. package/esm2015/lib/controls/toaster/toaster.component.js +34 -0
  34. package/esm2015/lib/controls/toggle/toggle.component.js +68 -0
  35. package/esm2015/lib/controls/user-profile-menu/user-profile-menu.component.js +75 -0
  36. package/{esm2020/lib/directives/click-outside.directive.mjs → esm2015/lib/directives/click-outside.directive.js} +4 -4
  37. package/{esm2020/lib/directives/dynamic-component-host.directive.mjs → esm2015/lib/directives/dynamic-component-host.directive.js} +4 -4
  38. package/esm2015/lib/helpers/base-list.component.js +227 -0
  39. package/{esm2020/lib/icons.mjs → esm2015/lib/icons.js} +0 -0
  40. package/esm2015/lib/layouts/shell/shell-footer/shell-footer.component.js +22 -0
  41. package/esm2015/lib/layouts/shell/shell-header/shell-header.component.js +135 -0
  42. package/esm2015/lib/layouts/shell/shell-layout/shell-layout.component.js +106 -0
  43. package/esm2015/lib/layouts/shell/shell-sidebar/shell-sidebar.component.js +50 -0
  44. package/esm2015/lib/layouts/shell/shell-sidebar-header/shell-sidebar-header.component.js +48 -0
  45. package/esm2015/lib/layouts/shell/shell-sidebar-layout/shell-sidebar-layout.component.js +28 -0
  46. package/esm2015/lib/layouts/shell/shell-stacked-layout/shell-stacked-layout.component.js +24 -0
  47. package/esm2015/lib/layouts/views/form-layout/form-layout.component.js +85 -0
  48. package/esm2015/lib/layouts/views/model-view-layout/model-view-layout.component.js +53 -0
  49. package/esm2015/lib/layouts/views/side-view-layout/side-view-layout.component.js +101 -0
  50. package/esm2015/lib/layouts/views/view-layout/view-layout.component.js +110 -0
  51. package/{esm2020/lib/ng-components.module.mjs → esm2015/lib/ng-components.module.js} +14 -8
  52. package/esm2015/lib/pages/auth/auth-callback/auth-callback.component.js +34 -0
  53. package/{esm2020/lib/pages/auth/auth-renew/auth-renew.component.mjs → esm2015/lib/pages/auth/auth-renew/auth-renew.component.js} +4 -4
  54. package/esm2015/lib/pages/auth/logged-out/logged-out.component.js +32 -0
  55. package/esm2015/lib/pages/http-status/error/error.component.js +20 -0
  56. package/esm2015/lib/pages/http-status/page-not-found/page-not-found.component.js +18 -0
  57. package/esm2015/lib/pages/http-status/unauthorized/unauthorized.component.js +17 -0
  58. package/{esm2020/lib/pipes/address.pipe.mjs → esm2015/lib/pipes/address.pipe.js} +4 -4
  59. package/{esm2020/lib/pipes/duration-format.pipe.mjs → esm2015/lib/pipes/duration-format.pipe.js} +4 -4
  60. package/{esm2020/lib/services/component-loader/component-loader-options.class.mjs → esm2015/lib/services/component-loader/component-loader-options.class.js} +0 -0
  61. package/esm2015/lib/services/component-loader/component-loader.class.js +192 -0
  62. package/{esm2020/lib/services/component-loader/component-loader.factory.mjs → esm2015/lib/services/component-loader/component-loader.factory.js} +4 -4
  63. package/{esm2020/lib/services/component-loader/content-ref.class.mjs → esm2015/lib/services/component-loader/content-ref.class.js} +0 -0
  64. package/esm2015/lib/services/modal-service/modal-backdrop-component.js +44 -0
  65. package/esm2015/lib/services/modal-service/modal-container-component.js +128 -0
  66. package/{esm2020/lib/services/modal-service/modal-options.class.mjs → esm2015/lib/services/modal-service/modal-options.class.js} +4 -4
  67. package/esm2015/lib/services/modal-service/modal-service.js +220 -0
  68. package/{esm2020/lib/services/modal-service/modal-styles.class.mjs → esm2015/lib/services/modal-service/modal-styles.class.js} +0 -0
  69. package/{esm2020/lib/services/modal-service/modal.class.mjs → esm2015/lib/services/modal-service/modal.class.js} +4 -4
  70. package/{esm2020/lib/services/toaster.service.mjs → esm2015/lib/services/toaster.service.js} +4 -4
  71. package/{esm2020/lib/tokens.mjs → esm2015/lib/tokens.js} +0 -0
  72. package/{esm2020/lib/types.mjs → esm2015/lib/types.js} +0 -0
  73. package/{esm2020/public-api.mjs → esm2015/public-api.js} +0 -0
  74. package/fesm2015/indice-ng-components.js +4389 -0
  75. package/fesm2015/indice-ng-components.js.map +1 -0
  76. package/{index.d.ts → indice-ng-components.d.ts} +0 -0
  77. package/lib/controls/advanced-search/advanced-search.component.d.ts +1 -1
  78. package/lib/controls/avatar-initials/avatar-initials.component.d.ts +1 -1
  79. package/lib/controls/collapsible-panel/collapsible-panel.component.d.ts +1 -1
  80. package/lib/controls/combobox/combobox.component.d.ts +1 -1
  81. package/lib/controls/date-picker/date-picker.component.d.ts +1 -1
  82. package/lib/controls/drop-down-menu/drop-down-menu.component.d.ts +1 -1
  83. package/lib/controls/kpi-tile/kpi-tile.component.d.ts +1 -1
  84. package/lib/controls/language-selection/language-selection.component.d.ts +1 -1
  85. package/lib/controls/list-view/list-column.component.d.ts +1 -1
  86. package/lib/controls/list-view/list-details-section.component.d.ts +1 -1
  87. package/lib/controls/list-view/list-tile.component.d.ts +1 -1
  88. package/lib/controls/list-view/list-view-empty-state.component.d.ts +1 -1
  89. package/lib/controls/list-view/list-view.component.d.ts +1 -1
  90. package/lib/controls/nav-links-list/nav-links-list.component.d.ts +1 -1
  91. package/lib/controls/notifications-indicator/notifications-indicator.component.d.ts +1 -1
  92. package/lib/controls/pager/pager.component.d.ts +1 -1
  93. package/lib/controls/side-pane/side-pane.component.d.ts +2 -1
  94. package/lib/controls/skeleton-loader/skeleton-loader.component.d.ts +1 -1
  95. package/lib/controls/stepper/lib-step-info.directive.d.ts +1 -1
  96. package/lib/controls/stepper/lib-step-label.directive.d.ts +1 -1
  97. package/lib/controls/stepper/lib-step.component.d.ts +1 -1
  98. package/lib/controls/stepper/lib-stepper.component.d.ts +1 -1
  99. package/lib/controls/tabs/lib-tab-group.component.d.ts +1 -1
  100. package/lib/controls/tabs/lib-tab.component.d.ts +1 -1
  101. package/lib/controls/toaster/toaster-container.component.d.ts +1 -1
  102. package/lib/controls/toaster/toaster.component.d.ts +1 -1
  103. package/lib/controls/toggle/toggle.component.d.ts +1 -1
  104. package/lib/controls/user-profile-menu/user-profile-menu.component.d.ts +1 -1
  105. package/lib/directives/click-outside.directive.d.ts +1 -1
  106. package/lib/directives/dynamic-component-host.directive.d.ts +1 -1
  107. package/lib/helpers/base-list.component.d.ts +1 -1
  108. package/lib/layouts/shell/shell-footer/shell-footer.component.d.ts +1 -1
  109. package/lib/layouts/shell/shell-header/shell-header.component.d.ts +1 -1
  110. package/lib/layouts/shell/shell-layout/shell-layout.component.d.ts +1 -1
  111. package/lib/layouts/shell/shell-sidebar/shell-sidebar.component.d.ts +1 -1
  112. package/lib/layouts/shell/shell-sidebar-header/shell-sidebar-header.component.d.ts +1 -1
  113. package/lib/layouts/shell/shell-sidebar-layout/shell-sidebar-layout.component.d.ts +1 -1
  114. package/lib/layouts/shell/shell-stacked-layout/shell-stacked-layout.component.d.ts +1 -1
  115. package/lib/layouts/views/form-layout/form-layout.component.d.ts +1 -1
  116. package/lib/layouts/views/model-view-layout/model-view-layout.component.d.ts +1 -1
  117. package/lib/layouts/views/side-view-layout/side-view-layout.component.d.ts +1 -1
  118. package/lib/layouts/views/view-layout/view-layout.component.d.ts +1 -1
  119. package/lib/ng-components.module.d.ts +3 -2
  120. package/lib/pages/auth/auth-callback/auth-callback.component.d.ts +1 -1
  121. package/lib/pages/auth/auth-renew/auth-renew.component.d.ts +1 -1
  122. package/lib/pages/auth/logged-out/logged-out.component.d.ts +1 -1
  123. package/lib/pages/http-status/error/error.component.d.ts +1 -1
  124. package/lib/pages/http-status/page-not-found/page-not-found.component.d.ts +1 -1
  125. package/lib/pages/http-status/unauthorized/unauthorized.component.d.ts +1 -1
  126. package/lib/pipes/address.pipe.d.ts +1 -1
  127. package/lib/pipes/duration-format.pipe.d.ts +1 -1
  128. package/lib/services/modal-service/modal-backdrop-component.d.ts +1 -1
  129. package/lib/services/modal-service/modal-container-component.d.ts +1 -1
  130. package/package.json +8 -21
  131. package/esm2020/lib/controls/advanced-search/advanced-search.component.mjs +0 -112
  132. package/esm2020/lib/controls/advanced-search/models.mjs +0 -90
  133. package/esm2020/lib/controls/collapsible-panel/collapsible-panel.component.mjs +0 -20
  134. package/esm2020/lib/controls/date-picker/date-picker.component.mjs +0 -292
  135. package/esm2020/lib/controls/drop-down-menu/drop-down-menu.component.mjs +0 -68
  136. package/esm2020/lib/controls/kpi-tile/kpi-tile.component.mjs +0 -39
  137. package/esm2020/lib/controls/language-selection/language-selection.component.mjs +0 -31
  138. package/esm2020/lib/controls/list-view/list-view-empty-state.component.mjs +0 -29
  139. package/esm2020/lib/controls/list-view/list-view.component.mjs +0 -206
  140. package/esm2020/lib/controls/nav-links-list/nav-links-list.component.mjs +0 -46
  141. package/esm2020/lib/controls/notifications-indicator/notifications-indicator.component.mjs +0 -79
  142. package/esm2020/lib/controls/pager/pager.component.mjs +0 -130
  143. package/esm2020/lib/controls/side-pane/side-pane.component.mjs +0 -72
  144. package/esm2020/lib/controls/skeleton-loader/skeleton-loader.component.mjs +0 -25
  145. package/esm2020/lib/controls/stepper/lib-step.component.mjs +0 -81
  146. package/esm2020/lib/controls/stepper/lib-stepper.component.mjs +0 -108
  147. package/esm2020/lib/controls/tabs/lib-tab-group.component.mjs +0 -60
  148. package/esm2020/lib/controls/tabs/lib-tab.component.mjs +0 -57
  149. package/esm2020/lib/controls/toaster/toaster-container.component.mjs +0 -28
  150. package/esm2020/lib/controls/toaster/toaster.component.mjs +0 -31
  151. package/esm2020/lib/controls/toggle/toggle.component.mjs +0 -64
  152. package/esm2020/lib/controls/user-profile-menu/user-profile-menu.component.mjs +0 -71
  153. package/esm2020/lib/helpers/base-list.component.mjs +0 -226
  154. package/esm2020/lib/layouts/shell/shell-footer/shell-footer.component.mjs +0 -19
  155. package/esm2020/lib/layouts/shell/shell-header/shell-header.component.mjs +0 -130
  156. package/esm2020/lib/layouts/shell/shell-layout/shell-layout.component.mjs +0 -101
  157. package/esm2020/lib/layouts/shell/shell-sidebar/shell-sidebar.component.mjs +0 -47
  158. package/esm2020/lib/layouts/shell/shell-sidebar-header/shell-sidebar-header.component.mjs +0 -45
  159. package/esm2020/lib/layouts/shell/shell-sidebar-layout/shell-sidebar-layout.component.mjs +0 -25
  160. package/esm2020/lib/layouts/shell/shell-stacked-layout/shell-stacked-layout.component.mjs +0 -21
  161. package/esm2020/lib/layouts/views/form-layout/form-layout.component.mjs +0 -80
  162. package/esm2020/lib/layouts/views/model-view-layout/model-view-layout.component.mjs +0 -49
  163. package/esm2020/lib/layouts/views/side-view-layout/side-view-layout.component.mjs +0 -98
  164. package/esm2020/lib/layouts/views/view-layout/view-layout.component.mjs +0 -104
  165. package/esm2020/lib/pages/auth/auth-callback/auth-callback.component.mjs +0 -30
  166. package/esm2020/lib/pages/auth/logged-out/logged-out.component.mjs +0 -28
  167. package/esm2020/lib/pages/http-status/error/error.component.mjs +0 -17
  168. package/esm2020/lib/pages/http-status/page-not-found/page-not-found.component.mjs +0 -15
  169. package/esm2020/lib/pages/http-status/unauthorized/unauthorized.component.mjs +0 -14
  170. package/esm2020/lib/services/component-loader/component-loader.class.mjs +0 -188
  171. package/esm2020/lib/services/modal-service/modal-backdrop-component.mjs +0 -44
  172. package/esm2020/lib/services/modal-service/modal-container-component.mjs +0 -126
  173. package/esm2020/lib/services/modal-service/modal-service.mjs +0 -219
  174. package/fesm2015/indice-ng-components.mjs +0 -4269
  175. package/fesm2015/indice-ng-components.mjs.map +0 -1
  176. package/fesm2020/indice-ng-components.mjs +0 -4196
  177. package/fesm2020/indice-ng-components.mjs.map +0 -1
@@ -1,31 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- export class ToasterComponent {
5
- constructor() {
6
- this.i = 0;
7
- this.remove = new EventEmitter();
8
- this.isMobile = false;
9
- this.closed = false;
10
- }
11
- ngOnInit() {
12
- window.screen.width > 640 ? this.isMobile = false : this.isMobile = true;
13
- }
14
- closeToast(index) {
15
- this.closed = true;
16
- setTimeout(() => this.remove.emit(index), 100);
17
- }
18
- }
19
- ToasterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ToasterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
- ToasterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: ToasterComponent, selector: "lib-toaster", inputs: { toast: "toast", i: "i" }, outputs: { remove: "remove" }, ngImport: i0, template: "<div aria-live=\"assertive\"\r\n [ngClass]=\"closed ? 'toast-closed': 'toast z-50'\"\r\n [ngStyle]=\"isMobile ? { 'margin-bottom.px': i * 85 } : {'margin-top.px': i * 85 }\">\r\n <div class=\"toast-container\">\r\n <div class=\"toast-pill\">\r\n <div class=\"toast-context-padding\">\r\n <div class=\"toast-context\"\r\n [ngSwitch]=\"toast?.type\">\r\n <div class=\"toast-icon\"\r\n *ngSwitchCase=\"'info'\">\r\n <svg class=\"h-5 w-5 text-blue-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </div>\r\n <div class=\"toast-icon\"\r\n *ngSwitchCase=\"'success'\">\r\n <svg class=\"h-5 w-5 text-green-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\" />\r\n </svg>\r\n </div>\r\n <div class=\"toast-icon\"\r\n *ngSwitchCase=\"'error'\">\r\n <svg class=\"h-5 w-5 text-red-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </div>\r\n <div class=\"toast-icon\"\r\n *ngSwitchCase=\"'warning'\">\r\n <svg class=\"h-5 w-5 text-yellow-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </div>\r\n <div class=\"toast-icon\"\r\n *ngSwitchDefault>\r\n <svg class=\"h-5 w-5 text-green-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\" />\r\n </svg>\r\n </div>\r\n\r\n <div class=\"ml-3 w-0 flex-1\">\r\n <p class=\"toast-title\"\r\n *ngIf=\"toast?.title\">\r\n {{toast?.title}}\r\n </p>\r\n <p class=\"toast-body\">\r\n {{toast?.body}}\r\n </p>\r\n </div>\r\n <div class=\"toast-close-icon\">\r\n <button class=\"toast-close-button\"\r\n (click)=\"closeToast(i)\">\r\n <span class=\"sr-only\">Close</span>\r\n <!-- Heroicon name: solid/x -->\r\n <svg class=\"h-5 w-5\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }] });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ToasterComponent, decorators: [{
22
- type: Component,
23
- args: [{ selector: 'lib-toaster', template: "<div aria-live=\"assertive\"\r\n [ngClass]=\"closed ? 'toast-closed': 'toast z-50'\"\r\n [ngStyle]=\"isMobile ? { 'margin-bottom.px': i * 85 } : {'margin-top.px': i * 85 }\">\r\n <div class=\"toast-container\">\r\n <div class=\"toast-pill\">\r\n <div class=\"toast-context-padding\">\r\n <div class=\"toast-context\"\r\n [ngSwitch]=\"toast?.type\">\r\n <div class=\"toast-icon\"\r\n *ngSwitchCase=\"'info'\">\r\n <svg class=\"h-5 w-5 text-blue-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </div>\r\n <div class=\"toast-icon\"\r\n *ngSwitchCase=\"'success'\">\r\n <svg class=\"h-5 w-5 text-green-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\" />\r\n </svg>\r\n </div>\r\n <div class=\"toast-icon\"\r\n *ngSwitchCase=\"'error'\">\r\n <svg class=\"h-5 w-5 text-red-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </div>\r\n <div class=\"toast-icon\"\r\n *ngSwitchCase=\"'warning'\">\r\n <svg class=\"h-5 w-5 text-yellow-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </div>\r\n <div class=\"toast-icon\"\r\n *ngSwitchDefault>\r\n <svg class=\"h-5 w-5 text-green-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\" />\r\n </svg>\r\n </div>\r\n\r\n <div class=\"ml-3 w-0 flex-1\">\r\n <p class=\"toast-title\"\r\n *ngIf=\"toast?.title\">\r\n {{toast?.title}}\r\n </p>\r\n <p class=\"toast-body\">\r\n {{toast?.body}}\r\n </p>\r\n </div>\r\n <div class=\"toast-close-icon\">\r\n <button class=\"toast-close-button\"\r\n (click)=\"closeToast(i)\">\r\n <span class=\"sr-only\">Close</span>\r\n <!-- Heroicon name: solid/x -->\r\n <svg class=\"h-5 w-5\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
24
- }], ctorParameters: function () { return []; }, propDecorators: { toast: [{
25
- type: Input
26
- }], i: [{
27
- type: Input
28
- }], remove: [{
29
- type: Output
30
- }] } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb21wb25lbnRzL3NyYy9saWIvY29udHJvbHMvdG9hc3Rlci90b2FzdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy90b2FzdGVyL3RvYXN0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTy9FLE1BQU0sT0FBTyxnQkFBZ0I7SUFRM0I7UUFMUyxNQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ0wsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDdkMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixXQUFNLEdBQUcsS0FBSyxDQUFDO0lBRU4sQ0FBQztJQUVqQixRQUFRO1FBQ04sTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDM0UsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUFhO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNqRCxDQUFDOzs2R0FqQlUsZ0JBQWdCO2lHQUFoQixnQkFBZ0Isc0hDUDdCLHl2SkFzR007MkZEL0ZPLGdCQUFnQjtrQkFKNUIsU0FBUzsrQkFDRSxhQUFhOzBFQUtkLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxDQUFDO3NCQUFULEtBQUs7Z0JBQ0ksTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUb2FzdCB9IGZyb20gJy4uLy4uL3R5cGVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXRvYXN0ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90b2FzdGVyLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9hc3RlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIHRvYXN0OiBUb2FzdCB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBpID0gMDtcclxuICBAT3V0cHV0KCkgcmVtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgcHVibGljIGlzTW9iaWxlID0gZmFsc2U7XHJcbiAgcHVibGljIGNsb3NlZCA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHdpbmRvdy5zY3JlZW4ud2lkdGggPiA2NDAgPyB0aGlzLmlzTW9iaWxlID0gZmFsc2UgOiB0aGlzLmlzTW9iaWxlID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbG9zZVRvYXN0KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xvc2VkID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZW1vdmUuZW1pdChpbmRleCksIDEwMCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCJcclxuICAgICBbbmdDbGFzc109XCJjbG9zZWQgPyAndG9hc3QtY2xvc2VkJzogJ3RvYXN0IHotNTAnXCJcclxuICAgICBbbmdTdHlsZV09XCJpc01vYmlsZSA/IHsgJ21hcmdpbi1ib3R0b20ucHgnOiBpICogODUgfSA6IHsnbWFyZ2luLXRvcC5weCc6IGkgKiA4NSB9XCI+XHJcbiAgPGRpdiBjbGFzcz1cInRvYXN0LWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInRvYXN0LXBpbGxcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRvYXN0LWNvbnRleHQtcGFkZGluZ1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0b2FzdC1jb250ZXh0XCJcclxuICAgICAgICAgICAgIFtuZ1N3aXRjaF09XCJ0b2FzdD8udHlwZVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRvYXN0LWljb25cIlxyXG4gICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2luZm8nXCI+XHJcbiAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJoLTUgdy01IHRleHQtYmx1ZS00MDBcIlxyXG4gICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxyXG4gICAgICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxyXG4gICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgIGQ9XCJNMTggMTBhOCA4IDAgMTEtMTYgMCA4IDggMCAwMTE2IDB6bS03LTRhMSAxIDAgMTEtMiAwIDEgMSAwIDAxMiAwek05IDlhMSAxIDAgMDAwIDJ2M2ExIDEgMCAwMDEgMWgxYTEgMSAwIDEwMC0ydi0zYTEgMSAwIDAwLTEtMUg5elwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIC8+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9hc3QtaWNvblwiXHJcbiAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInc3VjY2VzcydcIj5cclxuICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImgtNSB3LTUgdGV4dC1ncmVlbi00MDBcIlxyXG4gICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxyXG4gICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIyXCJcclxuICAgICAgICAgICAgICAgICAgICBkPVwiTTkgMTJsMiAyIDQtNG02IDJhOSA5IDAgMTEtMTggMCA5IDkgMCAwMTE4IDB6XCIgLz5cclxuICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b2FzdC1pY29uXCJcclxuICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidlcnJvcidcIj5cclxuICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImgtNSB3LTUgdGV4dC1yZWQtNDAwXCJcclxuICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcclxuICAgICAgICAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcclxuICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgICBkPVwiTTEwIDE4YTggOCAwIDEwMC0xNiA4IDggMCAwMDAgMTZ6TTguNzA3IDcuMjkzYTEgMSAwIDAwLTEuNDE0IDEuNDE0TDguNTg2IDEwbC0xLjI5MyAxLjI5M2ExIDEgMCAxMDEuNDE0IDEuNDE0TDEwIDExLjQxNGwxLjI5MyAxLjI5M2ExIDEgMCAwMDEuNDE0LTEuNDE0TDExLjQxNCAxMGwxLjI5My0xLjI5M2ExIDEgMCAwMC0xLjQxNC0xLjQxNEwxMCA4LjU4NiA4LjcwNyA3LjI5M3pcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiAvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRvYXN0LWljb25cIlxyXG4gICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ3dhcm5pbmcnXCI+XHJcbiAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJoLTUgdy01IHRleHQteWVsbG93LTQwMFwiXHJcbiAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyMCAyMFwiXHJcbiAgICAgICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXHJcbiAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgZD1cIk04LjI1NyAzLjA5OWMuNzY1LTEuMzYgMi43MjItMS4zNiAzLjQ4NiAwbDUuNTggOS45MmMuNzUgMS4zMzQtLjIxMyAyLjk4LTEuNzQyIDIuOThINC40MmMtMS41MyAwLTIuNDkzLTEuNjQ2LTEuNzQzLTIuOThsNS41OC05Ljkyek0xMSAxM2ExIDEgMCAxMS0yIDAgMSAxIDAgMDEyIDB6bS0xLThhMSAxIDAgMDAtMSAxdjNhMSAxIDAgMDAyIDBWNmExIDEgMCAwMC0xLTF6XCJcclxuICAgICAgICAgICAgICAgICAgICBjbGlwLXJ1bGU9XCJldmVub2RkXCIgLz5cclxuICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b2FzdC1pY29uXCJcclxuICAgICAgICAgICAgICAgKm5nU3dpdGNoRGVmYXVsdD5cclxuICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImgtNSB3LTUgdGV4dC1ncmVlbi00MDBcIlxyXG4gICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxyXG4gICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIyXCJcclxuICAgICAgICAgICAgICAgICAgICBkPVwiTTkgMTJsMiAyIDQtNG02IDJhOSA5IDAgMTEtMTggMCA5IDkgMCAwMTE4IDB6XCIgLz5cclxuICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWwtMyB3LTAgZmxleC0xXCI+XHJcbiAgICAgICAgICAgIDxwIGNsYXNzPVwidG9hc3QtdGl0bGVcIlxyXG4gICAgICAgICAgICAgICAqbmdJZj1cInRvYXN0Py50aXRsZVwiPlxyXG4gICAgICAgICAgICAgIHt7dG9hc3Q/LnRpdGxlfX1cclxuICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICA8cCBjbGFzcz1cInRvYXN0LWJvZHlcIj5cclxuICAgICAgICAgICAgICB7e3RvYXN0Py5ib2R5fX1cclxuICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9hc3QtY2xvc2UtaWNvblwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwidG9hc3QtY2xvc2UtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VUb2FzdChpKVwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPkNsb3NlPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwhLS0gSGVyb2ljb24gbmFtZTogc29saWQveCAtLT5cclxuICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwiaC01IHctNVwiXHJcbiAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXHJcbiAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgZD1cIk00LjI5MyA0LjI5M2ExIDEgMCAwMTEuNDE0IDBMMTAgOC41ODZsNC4yOTMtNC4yOTNhMSAxIDAgMTExLjQxNCAxLjQxNEwxMS40MTQgMTBsNC4yOTMgNC4yOTNhMSAxIDAgMDEtMS40MTQgMS40MTRMMTAgMTEuNDE0bC00LjI5MyA0LjI5M2ExIDEgMCAwMS0xLjQxNC0xLjQxNEw4LjU4NiAxMCA0LjI5MyA1LjcwN2ExIDEgMCAwMTAtMS40MTR6XCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiAvPlxyXG4gICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=
@@ -1,64 +0,0 @@
1
- import { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core';
2
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- export class ToggleComponent {
6
- constructor() {
7
- this.valueChange = new EventEmitter();
8
- this.onChange$ = undefined;
9
- this.onTouched$ = undefined;
10
- }
11
- writeValue(obj) {
12
- if (obj) {
13
- this.value = obj || false;
14
- }
15
- }
16
- registerOnChange(fn) {
17
- this.onChange$ = fn;
18
- }
19
- registerOnTouched(fn) {
20
- this.onTouched$ = fn;
21
- }
22
- onBlur(event) {
23
- if (this.onTouched$) {
24
- this.onTouched$();
25
- }
26
- }
27
- ngOnInit() {
28
- }
29
- changeValue() {
30
- this.value = !this.value;
31
- this.valueChange.emit(this.value);
32
- if (this.onChange$) {
33
- this.onChange$(this.value);
34
- }
35
- if (this.onTouched$) {
36
- this.onTouched$();
37
- }
38
- }
39
- }
40
- ToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
41
- ToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: ToggleComponent, selector: "lib-toggle", inputs: { value: "value", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, providers: [
42
- {
43
- provide: NG_VALUE_ACCESSOR,
44
- useExisting: forwardRef(() => ToggleComponent),
45
- multi: true
46
- }
47
- ], ngImport: i0, template: "<button type=\"button\"\r\n [ngClass]=\"value ? (disabled ? 'on disabled' : 'on') : 'off'\"\r\n class=\"toggle-button\"\r\n role=\"switch\"\r\n aria-checked=\"false\"\r\n aria-labelledby=\"isPrivate\"\r\n (click)=\"changeValue()\"\r\n (blur)=\"onBlur($event)\"\r\n value=\"{{value}}\"\r\n [disabled]=\"disabled\"\r\n [title]=\"disabled ? '\u03A4\u03BF \u03B1\u03C1\u03C7\u03B5\u03AF\u03BF \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03B9\u03B4\u03C9\u03C4\u03B9\u03BA\u03CC' : '\u0399\u03B4\u03B9\u03C9\u03C4\u03B9\u03BA\u03CC'\">\r\n <span aria-hidden=\"true\"\r\n [ngClass]=\"value ? 'enabled-anim' : 'disabled-anim'\"\r\n class=\"toggle-span\"></span>\r\n</button>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ToggleComponent, decorators: [{
49
- type: Component,
50
- args: [{ selector: 'lib-toggle', providers: [
51
- {
52
- provide: NG_VALUE_ACCESSOR,
53
- useExisting: forwardRef(() => ToggleComponent),
54
- multi: true
55
- }
56
- ], template: "<button type=\"button\"\r\n [ngClass]=\"value ? (disabled ? 'on disabled' : 'on') : 'off'\"\r\n class=\"toggle-button\"\r\n role=\"switch\"\r\n aria-checked=\"false\"\r\n aria-labelledby=\"isPrivate\"\r\n (click)=\"changeValue()\"\r\n (blur)=\"onBlur($event)\"\r\n value=\"{{value}}\"\r\n [disabled]=\"disabled\"\r\n [title]=\"disabled ? '\u03A4\u03BF \u03B1\u03C1\u03C7\u03B5\u03AF\u03BF \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03B9\u03B4\u03C9\u03C4\u03B9\u03BA\u03CC' : '\u0399\u03B4\u03B9\u03C9\u03C4\u03B9\u03BA\u03CC'\">\r\n <span aria-hidden=\"true\"\r\n [ngClass]=\"value ? 'enabled-anim' : 'disabled-anim'\"\r\n class=\"toggle-span\"></span>\r\n</button>" }]
57
- }], ctorParameters: function () { return []; }, propDecorators: { value: [{
58
- type: Input
59
- }], disabled: [{
60
- type: Input
61
- }], valueChange: [{
62
- type: Output
63
- }] } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy90b2dnbGUvdG9nZ2xlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy90b2dnbGUvdG9nZ2xlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxpQkFBaUIsRUFBd0IsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBYXpFLE1BQU0sT0FBTyxlQUFlO0lBVTFCO1FBTFUsZ0JBQVcsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUVuRSxjQUFTLEdBQW9CLFNBQVMsQ0FBQztRQUN2QyxlQUFVLEdBQW9CLFNBQVMsQ0FBQztJQUVoQyxDQUFDO0lBRWpCLFVBQVUsQ0FBQyxHQUFRO1FBQ2pCLElBQUcsR0FBRyxFQUFFO1lBQ04sSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLElBQUksS0FBSyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUNELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUNELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFVO1FBQ3RCLElBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNsQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDbkI7SUFDSCxDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxJQUFHLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDNUI7UUFDRCxJQUFHLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQzs7NEdBMUNVLGVBQWU7Z0dBQWYsZUFBZSxnSUFSZjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQztZQUM5QyxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsMEJDWkgsK3hCQWNTOzJGREFJLGVBQWU7a0JBWDNCLFNBQVM7K0JBQ0UsWUFBWSxhQUVYO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDOzRCQUM5QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjswRUFJTSxLQUFLO3NCQURYLEtBQUs7Z0JBR0MsUUFBUTtzQkFEZCxLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SLCBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXRvZ2dsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RvZ2dsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUb2dnbGVDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRvZ2dsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHZhbHVlOiBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkaXNhYmxlZDpib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZDtcclxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxCb29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Qm9vbGVhbj4oKTtcclxuXHJcbiAgcHJpdmF0ZSBvbkNoYW5nZSQ6IGFueSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuICBwcml2YXRlIG9uVG91Y2hlZCQ6IGFueSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuICBcclxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XHJcbiAgICBpZihvYmopIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IG9iaiB8fCBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlJCA9IGZuO1xyXG4gIH1cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCQgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkJsdXIoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgaWYodGhpcy5vblRvdWNoZWQkKSB7XHJcbiAgICAgIHRoaXMub25Ub3VjaGVkJCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2hhbmdlVmFsdWUoKXtcclxuICAgIHRoaXMudmFsdWUgPSAhdGhpcy52YWx1ZTtcclxuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcclxuICAgIGlmKHRoaXMub25DaGFuZ2UkKSB7XHJcbiAgICAgIHRoaXMub25DaGFuZ2UkKHRoaXMudmFsdWUpO1xyXG4gICAgfVxyXG4gICAgaWYodGhpcy5vblRvdWNoZWQkKSB7XHJcbiAgICAgIHRoaXMub25Ub3VjaGVkJCgpO1xyXG4gICAgfVxyXG4gIH1cclxufSIsIjxidXR0b24gdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwidmFsdWUgPyAoZGlzYWJsZWQgPyAnb24gZGlzYWJsZWQnIDogJ29uJykgOiAnb2ZmJ1wiXHJcbiAgICAgICAgY2xhc3M9XCJ0b2dnbGUtYnV0dG9uXCJcclxuICAgICAgICByb2xlPVwic3dpdGNoXCJcclxuICAgICAgICBhcmlhLWNoZWNrZWQ9XCJmYWxzZVwiXHJcbiAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwiaXNQcml2YXRlXCJcclxuICAgICAgICAoY2xpY2spPVwiY2hhbmdlVmFsdWUoKVwiXHJcbiAgICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxyXG4gICAgICAgIHZhbHVlPVwie3t2YWx1ZX19XCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgIFt0aXRsZV09XCJkaXNhYmxlZCA/ICfOpM6/IM6xz4HPh861zq/OvyDPgM+Bzq3PgM61zrkgzr3OsSDOtc6vzr3Osc65IM65zrTPic+EzrnOus+MJyA6ICfOmc60zrnPic+EzrnOus+MJ1wiPlxyXG4gICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCJcclxuICAgICAgICAgIFtuZ0NsYXNzXT1cInZhbHVlID8gJ2VuYWJsZWQtYW5pbScgOiAnZGlzYWJsZWQtYW5pbSdcIlxyXG4gICAgICAgICAgY2xhc3M9XCJ0b2dnbGUtc3BhblwiPjwvc3Bhbj5cclxuPC9idXR0b24+Il19
@@ -1,71 +0,0 @@
1
- import { Component, Inject, Input } from '@angular/core';
2
- import { Router } from '@angular/router';
3
- import { AuthService } from '@indice/ng-auth';
4
- import { APP_LINKS } from '../../tokens';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "../../directives/click-outside.directive";
8
- import * as i3 from "../nav-links-list/nav-links-list.component";
9
- import * as i4 from "@indice/ng-auth";
10
- import * as i5 from "@angular/router";
11
- export class UserProfileMenuComponent {
12
- constructor(authService, router, links) {
13
- this.authService = authService;
14
- this.router = router;
15
- this.links = links;
16
- // tslint:disable-next-line:no-input-rename
17
- this.showUserName = false;
18
- this.userSub$ = null;
19
- this.statusSub$ = null;
20
- this.user = null;
21
- this.avatarName = null;
22
- this.userMenuExpanded = false;
23
- }
24
- ngOnInit() {
25
- this.authService.loadUser().subscribe((user) => {
26
- this.setCurrentUser(user);
27
- }, error => {
28
- console.error(error);
29
- });
30
- // Detect user changes and display / or not user info accordingly...
31
- this.userSub$ = this.authService.user$.subscribe((user) => {
32
- // console.log('ShellHeaderComponent user subscription');
33
- this.setCurrentUser(user);
34
- });
35
- }
36
- signin(event) {
37
- if (event) {
38
- event.preventDefault();
39
- }
40
- this.authService.signinRedirect();
41
- }
42
- setCurrentUser(user) {
43
- this.user = user;
44
- if (this.user && this.user.profile) {
45
- this.avatarName = `${this.user.profile.given_name?.charAt(0)}${this.user.profile.family_name?.charAt(0)}`.toUpperCase();
46
- }
47
- }
48
- // tslint:disable-next-line:typedef
49
- onClickOutside($event) {
50
- this.userMenuExpanded = false;
51
- }
52
- }
53
- UserProfileMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: UserProfileMenuComponent, deps: [{ token: AuthService }, { token: Router }, { token: APP_LINKS }], target: i0.ɵɵFactoryTarget.Component });
54
- UserProfileMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: UserProfileMenuComponent, selector: "lib-user-profile-menu", inputs: { showUserName: ["show-user-name", "showUserName"] }, ngImport: i0, template: "<div class=\"relative\" (clickOutside)=\"onClickOutside($event)\">\r\n\r\n <div class=\"inline-flex\">\r\n <!-- Username -->\r\n <div [ngClass]=\"{'shell-header-profile': showUserName}\">\r\n <div *ngIf=\"user && showUserName\" class=\"shell-header-profile-userName\">\r\n {{ user.profile.name }}\r\n </div>\r\n </div>\r\n\r\n <div [class.ml-2]=\"showUserName\">\r\n <button type=\"button\" \r\n *ngIf=\"user\"\r\n class=\"shell-header-profile-dropdown-button\"\r\n id=\"user-menu\"\r\n aria-expanded=\"false\"\r\n aria-haspopup=\"true\"\r\n (click)=\"userMenuExpanded = !userMenuExpanded\">\r\n <span class=\"sr-only\">Open user menu</span>\r\n <span class=\"avatar-container\">\r\n <span class=\"avatar-text\">{{this.avatarName}}</span>\r\n </span>\r\n </button>\r\n\r\n <button type=\"button\"\r\n *ngIf=\"!user\"\r\n (click)=\"signin($event)\"\r\n class=\"shell-header-profile-dropdown-button\"\r\n id=\"user-menu\"\r\n aria-expanded=\"false\"\r\n aria-haspopup=\"true\">\r\n <span class=\"sr-only\">sign in</span>\r\n <span class=\"avatar-container\">\r\n <span class=\"avatar-text\"><i class=\"ms-Icon ms-Icon--Signin\"></i></span>\r\n </span>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div [class]=\"userMenuExpanded ?\r\n 'transition ease-out duration-200 origin-top-right z-30 absolute right-0 mt-2 w-56 rounded-sm shadow-lg bg-white ring-1 ring-black ring-opacity-5 focus:outline-none'\r\n :\r\n 'hidden transition ease-in duration-75 origin-top-right z-30 right-0 mt-2 w-56 rounded-sm shadow-lg bg-white ring-1 ring-black ring-opacity-5 focus:outline-none'\"\r\n role=\"menu\" aria-orientation=\"vertical\" aria-labelledby=\"menu-button\" tabindex=\"-1\">\r\n <lib-nav-links-list\r\n [links]=\"links.profile\"\r\n [link-class]=\"'nav-link-profile'\"\r\n [link-active-class]=\"'nav-link-profile-active'\">\r\n </lib-nav-links-list>\r\n </div>\r\n\r\n</div>\r\n\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }, { kind: "component", type: i3.NavLinksListComponent, selector: "lib-nav-links-list", inputs: ["links", "active-fragment", "link-class", "link-active-class", "container-class", "show-icons"] }] });
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: UserProfileMenuComponent, decorators: [{
56
- type: Component,
57
- args: [{ selector: 'lib-user-profile-menu', template: "<div class=\"relative\" (clickOutside)=\"onClickOutside($event)\">\r\n\r\n <div class=\"inline-flex\">\r\n <!-- Username -->\r\n <div [ngClass]=\"{'shell-header-profile': showUserName}\">\r\n <div *ngIf=\"user && showUserName\" class=\"shell-header-profile-userName\">\r\n {{ user.profile.name }}\r\n </div>\r\n </div>\r\n\r\n <div [class.ml-2]=\"showUserName\">\r\n <button type=\"button\" \r\n *ngIf=\"user\"\r\n class=\"shell-header-profile-dropdown-button\"\r\n id=\"user-menu\"\r\n aria-expanded=\"false\"\r\n aria-haspopup=\"true\"\r\n (click)=\"userMenuExpanded = !userMenuExpanded\">\r\n <span class=\"sr-only\">Open user menu</span>\r\n <span class=\"avatar-container\">\r\n <span class=\"avatar-text\">{{this.avatarName}}</span>\r\n </span>\r\n </button>\r\n\r\n <button type=\"button\"\r\n *ngIf=\"!user\"\r\n (click)=\"signin($event)\"\r\n class=\"shell-header-profile-dropdown-button\"\r\n id=\"user-menu\"\r\n aria-expanded=\"false\"\r\n aria-haspopup=\"true\">\r\n <span class=\"sr-only\">sign in</span>\r\n <span class=\"avatar-container\">\r\n <span class=\"avatar-text\"><i class=\"ms-Icon ms-Icon--Signin\"></i></span>\r\n </span>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div [class]=\"userMenuExpanded ?\r\n 'transition ease-out duration-200 origin-top-right z-30 absolute right-0 mt-2 w-56 rounded-sm shadow-lg bg-white ring-1 ring-black ring-opacity-5 focus:outline-none'\r\n :\r\n 'hidden transition ease-in duration-75 origin-top-right z-30 right-0 mt-2 w-56 rounded-sm shadow-lg bg-white ring-1 ring-black ring-opacity-5 focus:outline-none'\"\r\n role=\"menu\" aria-orientation=\"vertical\" aria-labelledby=\"menu-button\" tabindex=\"-1\">\r\n <lib-nav-links-list\r\n [links]=\"links.profile\"\r\n [link-class]=\"'nav-link-profile'\"\r\n [link-active-class]=\"'nav-link-profile-active'\">\r\n </lib-nav-links-list>\r\n </div>\r\n\r\n</div>\r\n\r\n" }]
58
- }], ctorParameters: function () { return [{ type: i4.AuthService, decorators: [{
59
- type: Inject,
60
- args: [AuthService]
61
- }] }, { type: i5.Router, decorators: [{
62
- type: Inject,
63
- args: [Router]
64
- }] }, { type: undefined, decorators: [{
65
- type: Inject,
66
- args: [APP_LINKS]
67
- }] }]; }, propDecorators: { showUserName: [{
68
- type: Input,
69
- args: ['show-user-name']
70
- }] } });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wcm9maWxlLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2NvbnRyb2xzL3VzZXItcHJvZmlsZS1tZW51L3VzZXItcHJvZmlsZS1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy91c2VyLXByb2ZpbGUtbWVudS91c2VyLXByb2ZpbGUtbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUc5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7O0FBTXpDLE1BQU0sT0FBTyx3QkFBd0I7SUFVbkMsWUFBMkMsV0FBd0IsRUFDN0IsTUFBYyxFQUNkLEtBQVU7UUFGTCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUM3QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBSztRQVZoRCwyQ0FBMkM7UUFDbEIsaUJBQVksR0FBd0IsS0FBSyxDQUFDO1FBQ3pELGFBQVEsR0FBd0IsSUFBSSxDQUFDO1FBQ3JDLGVBQVUsR0FBd0IsSUFBSSxDQUFDO1FBQzFDLFNBQUksR0FBZ0IsSUFBSSxDQUFDO1FBQ3pCLGVBQVUsR0FBa0IsSUFBSSxDQUFDO1FBQ2pDLHFCQUFnQixHQUFHLEtBQUssQ0FBQztJQUlvQixDQUFDO0lBRXJELFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzdDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQ1QsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztRQUNILG9FQUFvRTtRQUNwRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO1lBQzdELHlEQUF5RDtZQUN6RCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUE2QjtRQUN6QyxJQUFJLEtBQUssRUFBRTtZQUNULEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN4QjtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVPLGNBQWMsQ0FBQyxJQUFTO1FBQzlCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNsQyxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDekg7SUFDSCxDQUFDO0lBRUQsbUNBQW1DO0lBQzVCLGNBQWMsQ0FBQyxNQUFXO1FBQy9CLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQzs7cUhBNUNVLHdCQUF3QixrQkFVZixXQUFXLGFBQ1gsTUFBTSxhQUNOLFNBQVM7eUdBWmxCLHdCQUF3QiwySENYckMsbXFFQXFEQTsyRkQxQ2Esd0JBQXdCO2tCQUpwQyxTQUFTOytCQUNFLHVCQUF1Qjs7MEJBYXBCLE1BQU07MkJBQUMsV0FBVzs7MEJBQ2xCLE1BQU07MkJBQUMsTUFBTTs7MEJBQ2IsTUFBTTsyQkFBQyxTQUFTOzRDQVRKLFlBQVk7c0JBQXBDLEtBQUs7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICdAaW5kaWNlL25nLWF1dGgnO1xyXG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnb2lkYy1jbGllbnQnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQVBQX0xJTktTIH0gZnJvbSAnLi4vLi4vdG9rZW5zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXVzZXItcHJvZmlsZS1tZW51JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdXNlci1wcm9maWxlLW1lbnUuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVc2VyUHJvZmlsZU1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdzaG93LXVzZXItbmFtZScpIHNob3dVc2VyTmFtZTogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xyXG4gIHByb3RlY3RlZCB1c2VyU3ViJDogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJvdGVjdGVkIHN0YXR1c1N1YiQ6IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xyXG4gIHB1YmxpYyB1c2VyOiBVc2VyIHwgbnVsbCA9IG51bGw7XHJcbiAgcHVibGljIGF2YXRhck5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHB1YmxpYyB1c2VyTWVudUV4cGFuZGVkID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQXV0aFNlcnZpY2UpIHByb3RlY3RlZCBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgQEluamVjdChSb3V0ZXIpIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlcixcclxuICAgICAgICAgICAgICBASW5qZWN0KEFQUF9MSU5LUykgcHVibGljIGxpbmtzOiBhbnkpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYXV0aFNlcnZpY2UubG9hZFVzZXIoKS5zdWJzY3JpYmUoKHVzZXIpID0+IHtcclxuICAgICAgdGhpcy5zZXRDdXJyZW50VXNlcih1c2VyKTtcclxuICAgIH0sIGVycm9yID0+IHtcclxuICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XHJcbiAgICB9KTtcclxuICAgIC8vIERldGVjdCB1c2VyIGNoYW5nZXMgYW5kIGRpc3BsYXkgLyBvciBub3QgdXNlciBpbmZvIGFjY29yZGluZ2x5Li4uXHJcbiAgICB0aGlzLnVzZXJTdWIkID0gdGhpcy5hdXRoU2VydmljZS51c2VyJC5zdWJzY3JpYmUoKHVzZXI6IGFueSkgPT4ge1xyXG4gICAgICAvLyBjb25zb2xlLmxvZygnU2hlbGxIZWFkZXJDb21wb25lbnQgdXNlciBzdWJzY3JpcHRpb24nKTtcclxuICAgICAgdGhpcy5zZXRDdXJyZW50VXNlcih1c2VyKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNpZ25pbihldmVudDogYW55IHwgbnVsbCB8IHVuZGVmaW5lZCk6IHZvaWQge1xyXG4gICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLnNpZ25pblJlZGlyZWN0KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEN1cnJlbnRVc2VyKHVzZXI6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy51c2VyID0gdXNlcjtcclxuICAgIGlmICh0aGlzLnVzZXIgJiYgdGhpcy51c2VyLnByb2ZpbGUpIHtcclxuICAgICAgdGhpcy5hdmF0YXJOYW1lID0gYCR7dGhpcy51c2VyLnByb2ZpbGUuZ2l2ZW5fbmFtZT8uY2hhckF0KDApfSR7dGhpcy51c2VyLnByb2ZpbGUuZmFtaWx5X25hbWU/LmNoYXJBdCgwKX1gLnRvVXBwZXJDYXNlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dHlwZWRlZlxyXG4gIHB1YmxpYyBvbkNsaWNrT3V0c2lkZSgkZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy51c2VyTWVudUV4cGFuZGVkID0gZmFsc2U7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicmVsYXRpdmVcIiAoY2xpY2tPdXRzaWRlKT1cIm9uQ2xpY2tPdXRzaWRlKCRldmVudClcIj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImlubGluZS1mbGV4XCI+XHJcbiAgICA8IS0tIFVzZXJuYW1lIC0tPlxyXG4gICAgPGRpdiBbbmdDbGFzc109XCJ7J3NoZWxsLWhlYWRlci1wcm9maWxlJzogc2hvd1VzZXJOYW1lfVwiPlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwidXNlciAmJiBzaG93VXNlck5hbWVcIiBjbGFzcz1cInNoZWxsLWhlYWRlci1wcm9maWxlLXVzZXJOYW1lXCI+XHJcbiAgICAgICAge3sgdXNlci5wcm9maWxlLm5hbWUgfX1cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IFtjbGFzcy5tbC0yXT1cInNob3dVc2VyTmFtZVwiPlxyXG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBcclxuICAgICAgICAgICAgICAqbmdJZj1cInVzZXJcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwic2hlbGwtaGVhZGVyLXByb2ZpbGUtZHJvcGRvd24tYnV0dG9uXCJcclxuICAgICAgICAgICAgICBpZD1cInVzZXItbWVudVwiXHJcbiAgICAgICAgICAgICAgYXJpYS1leHBhbmRlZD1cImZhbHNlXCJcclxuICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInVzZXJNZW51RXhwYW5kZWQgPSAhdXNlck1lbnVFeHBhbmRlZFwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPk9wZW4gdXNlciBtZW51PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYXZhdGFyLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJhdmF0YXItdGV4dFwiPnt7dGhpcy5hdmF0YXJOYW1lfX08L3NwYW4+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCIhdXNlclwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNpZ25pbigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cInNoZWxsLWhlYWRlci1wcm9maWxlLWRyb3Bkb3duLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgaWQ9XCJ1c2VyLW1lbnVcIlxyXG4gICAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5zaWduIGluPC9zcGFuPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYXZhdGFyLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJhdmF0YXItdGV4dFwiPjxpIGNsYXNzPVwibXMtSWNvbiBtcy1JY29uLS1TaWduaW5cIj48L2k+PC9zcGFuPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBbY2xhc3NdPVwidXNlck1lbnVFeHBhbmRlZCA/XHJcbiAgICAndHJhbnNpdGlvbiBlYXNlLW91dCBkdXJhdGlvbi0yMDAgb3JpZ2luLXRvcC1yaWdodCB6LTMwIGFic29sdXRlIHJpZ2h0LTAgbXQtMiB3LTU2IHJvdW5kZWQtc20gc2hhZG93LWxnIGJnLXdoaXRlIHJpbmctMSByaW5nLWJsYWNrIHJpbmctb3BhY2l0eS01IGZvY3VzOm91dGxpbmUtbm9uZSdcclxuICAgIDpcclxuICAgICdoaWRkZW4gdHJhbnNpdGlvbiBlYXNlLWluIGR1cmF0aW9uLTc1IG9yaWdpbi10b3AtcmlnaHQgei0zMCByaWdodC0wIG10LTIgdy01NiByb3VuZGVkLXNtIHNoYWRvdy1sZyBiZy13aGl0ZSByaW5nLTEgcmluZy1ibGFjayByaW5nLW9wYWNpdHktNSBmb2N1czpvdXRsaW5lLW5vbmUnXCJcclxuICAgIHJvbGU9XCJtZW51XCIgYXJpYS1vcmllbnRhdGlvbj1cInZlcnRpY2FsXCIgYXJpYS1sYWJlbGxlZGJ5PVwibWVudS1idXR0b25cIiB0YWJpbmRleD1cIi0xXCI+XHJcbiAgICAgICAgIDxsaWItbmF2LWxpbmtzLWxpc3RcclxuICAgICAgICAgICAgW2xpbmtzXT1cImxpbmtzLnByb2ZpbGVcIlxyXG4gICAgICAgICAgICBbbGluay1jbGFzc109XCInbmF2LWxpbmstcHJvZmlsZSdcIlxyXG4gICAgICAgICAgICBbbGluay1hY3RpdmUtY2xhc3NdPVwiJ25hdi1saW5rLXByb2ZpbGUtYWN0aXZlJ1wiPlxyXG4gICAgICAgICA8L2xpYi1uYXYtbGlua3MtbGlzdD5cclxuICA8L2Rpdj5cclxuXHJcbjwvZGl2PlxyXG5cclxuIl19
@@ -1,226 +0,0 @@
1
- import { FilterClause, QueryParameters } from './../controls/advanced-search/models';
2
- import { of } from 'rxjs';
3
- import { Component } from '@angular/core';
4
- import { RouterViewAction, ViewAction, ListViewType } from '../types';
5
- import { Icons } from '../icons';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/router";
8
- export class BaseListComponent {
9
- constructor(route$, router$) {
10
- this.route$ = route$;
11
- this.router$ = router$;
12
- this.items = null;
13
- this.view = ListViewType.Tiles;
14
- this.title = null;
15
- this.actions = [];
16
- this.loaderItems = [1, 2, 3, 4, 5];
17
- this.page = 1;
18
- this.pageSize = 20;
19
- this.count = 0;
20
- this.sort = '';
21
- this.sortdir = '';
22
- this.search = '';
23
- this.filters = [];
24
- this.searchOptions = [];
25
- this.sortOptions = [];
26
- this.metaItems = [];
27
- }
28
- ngOnDestroy() {
29
- if (this.routeSub$) {
30
- this.routeSub$.unsubscribe();
31
- }
32
- }
33
- getViewActions() {
34
- const actions = [
35
- new ViewAction('search', null, null, Icons.Search, 'αναζήτηση'),
36
- new ViewAction('refresh', null, null, Icons.Refresh, 'ανανέωση στοιχείων')
37
- ];
38
- if (this.newItemLink) {
39
- actions.push(new RouterViewAction(Icons.Add, this.newItemLink, 'rightpane', 'προσθήκη νέας εγγραφής;'));
40
- }
41
- return of(actions);
42
- }
43
- ngOnInit() {
44
- this.getViewActions().subscribe(actions => {
45
- this.actions = actions || [];
46
- });
47
- this.metaItems = [
48
- { key: 'count', icon: Icons.ItemsCount, text: 'παρακαλώ περιμένετε...' }
49
- ];
50
- // disabled external route changes monitoring due to sync issues - which is bad :) - refresh from url will not work
51
- // until i come up with a solution...
52
- this.routeSub$ = this.route$.queryParamMap.subscribe(params => {
53
- if (params.keys.length === 0) {
54
- return;
55
- }
56
- // changing the view mode does not require reloading...
57
- this.view = params.get('view') || ListViewType.Tiles;
58
- // console.log('route changes ', this.view);
59
- if (params.get('search') !== null && params.get('search') !== this.search) {
60
- this.searchChanged(params.get('search'));
61
- }
62
- const page = +(params.get('page') || 1);
63
- if (page !== this.page) {
64
- this.page = page;
65
- }
66
- const size = +(params.get('pagesize') || 20);
67
- if (this.pageSize !== size) {
68
- this.pageSize = size;
69
- }
70
- if (params.get('search') !== this.search) {
71
- this.search = params.get('search');
72
- }
73
- if (params.get('sort') !== this.sort) {
74
- this.sort = params.get('sort');
75
- }
76
- if (params.get('dir') !== this.sortdir) {
77
- this.sortdir = params.get('dir');
78
- }
79
- // initialize filters that may reside in the query string
80
- this.filters = this.getFiltersFrom(params);
81
- });
82
- // just to sync params in query
83
- this.setRouteParams(true);
84
- this.load();
85
- }
86
- /**
87
- * Get filters from a querystring
88
- * @param queryParamMap
89
- * @returns filters found from a paramMap
90
- */
91
- getFiltersFrom(queryParamMap) {
92
- let filterResult = [];
93
- if (queryParamMap.has(QueryParameters.FILTER) && queryParamMap.get(QueryParameters.FILTER).length > 0) {
94
- let filterValue = queryParamMap.get(QueryParameters.FILTER);
95
- const filterValues = filterValue?.split(","); // we may have multiple filters in filter query param
96
- if (filterValues && filterValues.length > 0) {
97
- // create the filterClauses derived from the query params
98
- for (var index in filterValues) {
99
- let filterClause = FilterClause.parse(filterValues[index]);
100
- const parsed = new FilterClause(filterClause.member, filterClause.value, filterClause.operator, filterClause.dataType, this.searchOptions);
101
- if (parsed !== undefined) {
102
- filterResult.push(parsed);
103
- }
104
- }
105
- }
106
- }
107
- return filterResult;
108
- }
109
- setRouteParams(locationChange = false) {
110
- this.router$.navigate([], {
111
- relativeTo: this.route$, queryParams: {
112
- view: this.view,
113
- page: this.page,
114
- pagesize: this.pageSize,
115
- search: this.search,
116
- sort: this.sort,
117
- dir: this.sortdir,
118
- filter: this.filterClausesToString(this.filters)
119
- }, queryParamsHandling: 'merge', skipLocationChange: locationChange
120
- });
121
- }
122
- filterClausesToString(filters) {
123
- return filters?.map((f) => {
124
- if (f.dataType === 'datetime') {
125
- f.value = (new Date(f.value)).toISOString();
126
- }
127
- return f.toString();
128
- }).join(',');
129
- }
130
- actionHandler($event) {
131
- // console.log('BaseListComponent actionHandler', $event);
132
- if ($event.key === 'refresh') {
133
- this.refresh();
134
- }
135
- }
136
- load() {
137
- // console.log('BaseListComponent LOAD');
138
- this.count = 0;
139
- this.items = null;
140
- this.loadItems().subscribe(result => {
141
- this.count = result ? result.count : 0;
142
- this.items = result?.items;
143
- this.updateHeaderMeta();
144
- }, err => {
145
- this.count = 0;
146
- this.items = null;
147
- this.updateHeaderMeta();
148
- });
149
- }
150
- updateHeaderMeta() {
151
- const count = this.metaItems?.filter(m => m.key === 'count')[0];
152
- if (count) {
153
- this.count === 1 ? count.text = `${this.count} αποτέλεσμα` : count.text = `${this.count} αποτελέσματα`;
154
- }
155
- }
156
- clear() {
157
- this.count = 0;
158
- this.page = 1;
159
- this.items = null;
160
- this.search = null;
161
- this.setRouteParams();
162
- this.load();
163
- }
164
- refresh() {
165
- this.count = 0;
166
- this.page = 1;
167
- this.items = null;
168
- this.setRouteParams();
169
- this.load();
170
- }
171
- pageChanged(page) {
172
- if (this.page !== page) {
173
- this.page = page;
174
- this.setRouteParams();
175
- this.load();
176
- }
177
- }
178
- pageSizeChanged(pageSize) {
179
- if (this.pageSize !== pageSize) {
180
- this.pageSize = pageSize;
181
- this.page = 1;
182
- this.setRouteParams();
183
- this.refresh();
184
- }
185
- }
186
- sortChanged(sort) {
187
- // console.log('base-list sortChanged', sort);
188
- if (this.sort !== sort) {
189
- this.page = 1;
190
- this.sort = sort;
191
- this.setRouteParams();
192
- this.refresh();
193
- }
194
- }
195
- sortdirChanged(sortdir) {
196
- if (this.sortdir !== sortdir) {
197
- this.page = 1;
198
- this.sortdir = sortdir;
199
- this.setRouteParams();
200
- this.refresh();
201
- }
202
- }
203
- advancedSearchChanged(filters) {
204
- this.count = 0;
205
- this.page = 1;
206
- this.items = null;
207
- this.filters = filters;
208
- this.setRouteParams();
209
- this.load();
210
- }
211
- searchChanged(searchText) {
212
- this.count = 0;
213
- this.page = 1;
214
- this.items = null;
215
- this.search = searchText;
216
- this.setRouteParams();
217
- this.load();
218
- }
219
- }
220
- BaseListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: BaseListComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
221
- BaseListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: BaseListComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true });
222
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: BaseListComponent, decorators: [{
223
- type: Component,
224
- args: [{ template: '' }]
225
- }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i1.Router }]; } });
226
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9oZWxwZXJzL2Jhc2UtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQWdCLE1BQU0sc0NBQXNDLENBQUM7QUFDbkcsT0FBTyxFQUE0QixFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUEwQyxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7OztBQUdqQyxNQUFNLE9BQWdCLGlCQUFpQjtJQW1CckMsWUFBb0IsTUFBc0IsRUFBVSxPQUFlO1FBQS9DLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQWxCNUQsVUFBSyxHQUEyQixJQUFJLENBQUM7UUFDckMsU0FBSSxHQUFXLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDbEMsVUFBSyxHQUFrQixJQUFJLENBQUM7UUFDNUIsWUFBTyxHQUFpQixFQUFFLENBQUM7UUFDM0IsZ0JBQVcsR0FBVSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNyQyxTQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ1QsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLFVBQUssR0FBRyxDQUFDLENBQUM7UUFDVixTQUFJLEdBQWtCLEVBQUUsQ0FBQztRQUN6QixZQUFPLEdBQWtCLEVBQUUsQ0FBQztRQUM1QixXQUFNLEdBQWtCLEVBQUUsQ0FBQztRQUMzQixZQUFPLEdBQW1CLEVBQUUsQ0FB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LENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQzs7OEdBaFBtQixpQkFBaUI7a0dBQWpCLGlCQUFpQixvREFEaEIsRUFBRTsyRkFDSCxpQkFBaUI7a0JBRHRDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlsdGVyQ2xhdXNlLCBRdWVyeVBhcmFtZXRlcnMsIFNlYXJjaE9wdGlvbiB9IGZyb20gJy4vLi4vY29udHJvbHMvYWR2YW5jZWQtc2VhcmNoL21vZGVscyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1NYXAsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEhlYWRlck1ldGFJdGVtLCBJUmVzdWx0U2V0LCBNZW51T3B0aW9uLCBSb3V0ZXJWaWV3QWN0aW9uLCBWaWV3QWN0aW9uLCBMaXN0Vmlld1R5cGUgfSBmcm9tICcuLi90eXBlcyc7XHJcbmltcG9ydCB7IEljb25zIH0gZnJvbSAnLi4vaWNvbnMnO1xyXG5cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUxpc3RDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHVibGljIGl0ZW1zOiBUW10gfCBudWxsIHwgdW5kZWZpbmVkID0gbnVsbDtcclxuICBwdWJsaWMgdmlldzogc3RyaW5nID0gTGlzdFZpZXdUeXBlLlRpbGVzO1xyXG4gIHB1YmxpYyB0aXRsZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgcHVibGljIGFjdGlvbnM6IFZpZXdBY3Rpb25bXSA9IFtdO1xyXG4gIHB1YmxpYyBsb2FkZXJJdGVtczogYW55W10gPSBbMSwgMiwgMywgNCwgNV07XHJcbiAgcHVibGljIHBhZ2UgPSAxO1xyXG4gIHB1YmxpYyBwYWdlU2l6ZSA9IDIwO1xyXG4gIHB1YmxpYyBjb3VudCA9IDA7XHJcbiAgcHVibGljIHNvcnQ6IHN0cmluZyB8IG51bGwgPSAnJztcclxuICBwdWJsaWMgc29ydGRpcjogc3RyaW5nIHwgbnVsbCA9ICcnO1xyXG4gIHB1YmxpYyBzZWFyY2g6IHN0cmluZyB8IG51bGwgPSAnJztcclxuICBwdWJsaWMgZmlsdGVyczogRmlsdGVyQ2xhdXNlW10gPSBbXTtcclxuICBwdWJsaWMgc2VhcmNoT3B0aW9uczogU2VhcmNoT3B0aW9uW10gPSBbXTtcclxuICBwdWJsaWMgc29ydE9wdGlvbnM6IE1lbnVPcHRpb25bXSA9IFtdO1xyXG4gIHB1YmxpYyBtZXRhSXRlbXM6IEhlYWRlck1ldGFJdGVtW10gPSBbXTtcclxuICBwdWJsaWMgYWJzdHJhY3QgbmV3SXRlbUxpbms6IHN0cmluZyB8IG51bGw7XHJcbiAgcHJpdmF0ZSByb3V0ZVN1YiQ6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZSQ6IEFjdGl2YXRlZFJvdXRlLCBwcml2YXRlIHJvdXRlciQ6IFJvdXRlcikge1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5yb3V0ZVN1YiQpIHtcclxuICAgICAgdGhpcy5yb3V0ZVN1YiQudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRWaWV3QWN0aW9ucygpOiBPYnNlcnZhYmxlPFZpZXdBY3Rpb25bXT4ge1xyXG4gICAgY29uc3QgYWN0aW9ucyA9IFtcclxuICAgICAgbmV3IFZpZXdBY3Rpb24oJ3NlYXJjaCcsIG51bGwsIG51bGwsIEljb25zLlNlYXJjaCwgJ86xzr3Osc62zq7PhM63z4POtycpLFxyXG4gICAgICBuZXcgVmlld0FjdGlvbigncmVmcmVzaCcsIG51bGwsIG51bGwsIEljb25zLlJlZnJlc2gsICfOsc69zrHOvc6tz4nPg863IM+Dz4TOv865z4fOtc6vz4nOvScpXHJcbiAgICBdO1xyXG4gICAgaWYgKHRoaXMubmV3SXRlbUxpbmspIHtcclxuICAgICAgYWN0aW9ucy5wdXNoKG5ldyBSb3V0ZXJWaWV3QWN0aW9uKEljb25zLkFkZCwgdGhpcy5uZXdJdGVtTGluaywgJ3JpZ2h0cGFuZScsICfPgM+Bzr/Pg864zq7Ous63IM69zq3Osc+CIM61zrPOs8+BzrHPhs6uz4I7JykpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG9mKGFjdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdldFZpZXdBY3Rpb25zKCkuc3Vic2NyaWJlKGFjdGlvbnMgPT4ge1xyXG4gICAgICB0aGlzLmFjdGlvbnMgPSBhY3Rpb25zIHx8IFtdO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5tZXRhSXRlbXMgPSBbXHJcbiAgICAgIHsga2V5OiAnY291bnQnLCBpY29uOiBJY29ucy5JdGVtc0NvdW50LCB0ZXh0OiAnz4DOsc+BzrHOus6xzrvPjiDPgM61z4HOuc68zq3Ovc61z4TOtS4uLicgfVxyXG4gICAgXTtcclxuXHJcbiAgICAvLyBkaXNhYmxlZCBleHRlcm5hbCByb3V0ZSBjaGFuZ2VzIG1vbml0b3JpbmcgZHVlIHRvIHN5bmMgaXNzdWVzIC0gd2hpY2ggaXMgYmFkIDopIC0gcmVmcmVzaCBmcm9tIHVybCB3aWxsIG5vdCB3b3JrXHJcbiAgICAvLyB1bnRpbCBpIGNvbWUgdXAgd2l0aCBhIHNvbHV0aW9uLi4uXHJcblxyXG4gICAgdGhpcy5yb3V0ZVN1YiQgPSB0aGlzLnJvdXRlJC5xdWVyeVBhcmFtTWFwLnN1YnNjcmliZShwYXJhbXMgPT4ge1xyXG4gICAgICBpZiAocGFyYW1zLmtleXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBjaGFuZ2luZyB0aGUgdmlldyBtb2RlIGRvZXMgbm90IHJlcXVpcmUgcmVsb2FkaW5nLi4uXHJcbiAgICAgIHRoaXMudmlldyA9IHBhcmFtcy5nZXQoJ3ZpZXcnKSB8fCBMaXN0Vmlld1R5cGUuVGlsZXM7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKCdyb3V0ZSBjaGFuZ2VzICcsIHRoaXMudmlldyk7XHJcblxyXG4gICAgICBpZiAocGFyYW1zLmdldCgnc2VhcmNoJykgIT09IG51bGwgJiYgcGFyYW1zLmdldCgnc2VhcmNoJykgIT09IHRoaXMuc2VhcmNoKSB7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hDaGFuZ2VkKHBhcmFtcy5nZXQoJ3NlYXJjaCcpKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3QgcGFnZSA9ICsocGFyYW1zLmdldCgncGFnZScpIHx8IDEpO1xyXG4gICAgICBpZiAocGFnZSAhPT0gdGhpcy5wYWdlKSB7XHJcbiAgICAgICAgdGhpcy5wYWdlID0gcGFnZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3Qgc2l6ZSA9ICsocGFyYW1zLmdldCgncGFnZXNpemUnKSB8fCAyMCk7XHJcbiAgICAgIGlmICh0aGlzLnBhZ2VTaXplICE9PSBzaXplKSB7XHJcbiAgICAgICAgdGhpcy5wYWdlU2l6ZSA9IHNpemU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChwYXJhbXMuZ2V0KCdzZWFyY2gnKSAhPT0gdGhpcy5zZWFyY2gpIHtcclxuICAgICAgICB0aGlzLnNlYXJjaCA9IHBhcmFtcy5nZXQoJ3NlYXJjaCcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAocGFyYW1zLmdldCgnc29ydCcpICE9PSB0aGlzLnNvcnQpIHtcclxuICAgICAgICB0aGlzLnNvcnQgPSBwYXJhbXMuZ2V0KCdzb3J0Jyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChwYXJhbXMuZ2V0KCdkaXInKSAhPT0gdGhpcy5zb3J0ZGlyKSB7XHJcbiAgICAgICAgdGhpcy5zb3J0ZGlyID0gcGFyYW1zLmdldCgnZGlyJyk7XHJcbiAgICAgIH1cclxuICAgICAgLy8gaW5pdGlhbGl6ZSBmaWx0ZXJzIHRoYXQgbWF5IHJlc2lkZSBpbiB0aGUgcXVlcnkgc3RyaW5nXHJcbiAgICAgIHRoaXMuZmlsdGVycyA9IHRoaXMuZ2V0RmlsdGVyc0Zyb20ocGFyYW1zKTtcclxuICAgIH0pO1xyXG4gICAgLy8ganVzdCB0byBzeW5jIHBhcmFtcyBpbiBxdWVyeVxyXG4gICAgdGhpcy5zZXRSb3V0ZVBhcmFtcyh0cnVlKTtcclxuICAgIHRoaXMubG9hZCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAqIEdldCBmaWx0ZXJzIGZyb20gYSBxdWVyeXN0cmluZ1xyXG4gKiBAcGFyYW0gcXVlcnlQYXJhbU1hcFxyXG4gKiBAcmV0dXJucyBmaWx0ZXJzIGZvdW5kIGZyb20gYSBwYXJhbU1hcFxyXG4gKi9cclxuICBwcml2YXRlIGdldEZpbHRlcnNGcm9tKHF1ZXJ5UGFyYW1NYXA6IFBhcmFtTWFwKTogRmlsdGVyQ2xhdXNlW10ge1xyXG4gICAgbGV0IGZpbHRlclJlc3VsdDogRmlsdGVyQ2xhdXNlW10gPSBbXTtcclxuICAgIGlmIChxdWVyeVBhcmFtTWFwLmhhcyhRdWVyeVBhcmFtZXRlcnMuRklMVEVSKSAmJiBxdWVyeVBhcmFtTWFwLmdldChRdWVyeVBhcmFtZXRlcnMuRklMVEVSKSEubGVuZ3RoID4gMCkge1xyXG4gICAgICBsZXQgZmlsdGVyVmFsdWUgPSBxdWVyeVBhcmFtTWFwLmdldChRdWVyeVBhcmFtZXRlcnMuRklMVEVSKTtcclxuICAgICAgY29uc3QgZmlsdGVyVmFsdWVzID0gZmlsdGVyVmFsdWU/LnNwbGl0KFwiLFwiKTsgLy8gd2UgbWF5IGhhdmUgbXVsdGlwbGUgZmlsdGVycyBpbiBmaWx0ZXIgcXVlcnkgcGFyYW1cclxuICAgICAgaWYgKGZpbHRlclZhbHVlcyAmJiBmaWx0ZXJWYWx1ZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIC8vIGNyZWF0ZSB0aGUgZmlsdGVyQ2xhdXNlcyBkZXJpdmVkIGZyb20gdGhlIHF1ZXJ5IHBhcmFtc1xyXG4gICAgICAgIGZvciAodmFyIGluZGV4IGluIGZpbHRlclZhbHVlcykge1xyXG4gICAgICAgICAgbGV0IGZpbHRlckNsYXVzZSA9IEZpbHRlckNsYXVzZS5wYXJzZShmaWx0ZXJWYWx1ZXNbaW5kZXhdKTtcclxuICAgICAgICAgIGNvbnN0IHBhcnNlZCA9IG5ldyBGaWx0ZXJDbGF1c2UoZmlsdGVyQ2xhdXNlIS5tZW1iZXIsIGZpbHRlckNsYXVzZSEudmFsdWUsIGZpbHRlckNsYXVzZSEub3BlcmF0b3IsIGZpbHRlckNsYXVzZSEuZGF0YVR5cGUsIHRoaXMuc2VhcmNoT3B0aW9ucyk7XHJcbiAgICAgICAgICBpZiAocGFyc2VkICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgZmlsdGVyUmVzdWx0LnB1c2gocGFyc2VkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBmaWx0ZXJSZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFJvdXRlUGFyYW1zKGxvY2F0aW9uQ2hhbmdlOiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcclxuICAgIHRoaXMucm91dGVyJC5uYXZpZ2F0ZShbXSwge1xyXG4gICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlJCwgcXVlcnlQYXJhbXM6IHtcclxuICAgICAgICB2aWV3OiB0aGlzLnZpZXcsXHJcbiAgICAgICAgcGFnZTogdGhpcy5wYWdlLFxyXG4gICAgICAgIHBhZ2VzaXplOiB0aGlzLnBhZ2VTaXplLFxyXG4gICAgICAgIHNlYXJjaDogdGhpcy5zZWFyY2gsXHJcbiAgICAgICAgc29ydDogdGhpcy5zb3J0LFxyXG4gICAgICAgIGRpcjogdGhpcy5zb3J0ZGlyLFxyXG4gICAgICAgIGZpbHRlcjogdGhpcy5maWx0ZXJDbGF1c2VzVG9TdHJpbmcodGhpcy5maWx0ZXJzKVxyXG4gICAgICB9LCBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnLCBza2lwTG9jYXRpb25DaGFuZ2U6IGxvY2F0aW9uQ2hhbmdlXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmlsdGVyQ2xhdXNlc1RvU3RyaW5nKGZpbHRlcnM6IEZpbHRlckNsYXVzZVtdIHwgdW5kZWZpbmVkKSB7XHJcbiAgICByZXR1cm4gZmlsdGVycz8ubWFwKChmOiBGaWx0ZXJDbGF1c2UpID0+IHtcclxuICAgICAgaWYgKGYuZGF0YVR5cGUgPT09ICdkYXRldGltZScpIHtcclxuICAgICAgICBmLnZhbHVlID0gKG5ldyBEYXRlKGYudmFsdWUpKS50b0lTT1N0cmluZygpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBmLnRvU3RyaW5nKCk7XHJcbiAgICB9KS5qb2luKCcsJyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYWN0aW9uSGFuZGxlcigkZXZlbnQ6IFZpZXdBY3Rpb24pOiB2b2lkIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKCdCYXNlTGlzdENvbXBvbmVudCBhY3Rpb25IYW5kbGVyJywgJGV2ZW50KTtcclxuICAgIGlmICgkZXZlbnQua2V5ID09PSAncmVmcmVzaCcpIHtcclxuICAgICAgdGhpcy5yZWZyZXNoKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWQoKTogdm9pZCB7XHJcbiAgICAvLyBjb25zb2xlLmxvZygnQmFzZUxpc3RDb21wb25lbnQgTE9BRCcpO1xyXG4gICAgdGhpcy5jb3VudCA9IDA7XHJcbiAgICB0aGlzLml0ZW1zID0gbnVsbDtcclxuICAgIHRoaXMubG9hZEl0ZW1zKCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgIHRoaXMuY291bnQgPSByZXN1bHQgPyByZXN1bHQuY291bnQgOiAwO1xyXG4gICAgICB0aGlzLml0ZW1zID0gcmVzdWx0Py5pdGVtcztcclxuICAgICAgdGhpcy51cGRhdGVIZWFkZXJNZXRhKCk7XHJcbiAgICB9LCBlcnIgPT4ge1xyXG4gICAgICB0aGlzLmNvdW50ID0gMDtcclxuICAgICAgdGhpcy5pdGVtcyA9IG51bGw7XHJcbiAgICAgIHRoaXMudXBkYXRlSGVhZGVyTWV0YSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZUhlYWRlck1ldGEoKTogdm9pZCB7XHJcbiAgICBjb25zdCBjb3VudCA9IHRoaXMubWV0YUl0ZW1zPy5maWx0ZXIobSA9PiBtLmtleSA9PT0gJ2NvdW50JylbMF07XHJcbiAgICBpZiAoY291bnQpIHtcclxuICAgICAgdGhpcy5jb3VudCA9PT0gMSA/IGNvdW50LnRleHQgPSBgJHt0aGlzLmNvdW50fSDOsc+Azr/PhM6tzrvOtc+DzrzOsWAgOiBjb3VudC50ZXh0ID0gYCR7dGhpcy5jb3VudH0gzrHPgM6/z4TOtc67zq3Pg868zrHPhM6xYDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhYnN0cmFjdCBsb2FkSXRlbXMoKTogT2JzZXJ2YWJsZTxJUmVzdWx0U2V0PFQ+IHwgbnVsbCB8IHVuZGVmaW5lZD47XHJcblxyXG4gIHB1YmxpYyBjbGVhcigpOiB2b2lkIHtcclxuICAgIHRoaXMuY291bnQgPSAwO1xyXG4gICAgdGhpcy5wYWdlID0gMTtcclxuICAgIHRoaXMuaXRlbXMgPSBudWxsO1xyXG4gICAgdGhpcy5zZWFyY2ggPSBudWxsO1xyXG4gICAgdGhpcy5zZXRSb3V0ZVBhcmFtcygpO1xyXG4gICAgdGhpcy5sb2FkKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVmcmVzaCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY291bnQgPSAwO1xyXG4gICAgdGhpcy5wYWdlID0gMTtcclxuICAgIHRoaXMuaXRlbXMgPSBudWxsO1xyXG4gICAgdGhpcy5zZXRSb3V0ZVBhcmFtcygpO1xyXG4gICAgdGhpcy5sb2FkKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcGFnZUNoYW5nZWQocGFnZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5wYWdlICE9PSBwYWdlKSB7XHJcbiAgICAgIHRoaXMucGFnZSA9IHBhZ2U7XHJcbiAgICAgIHRoaXMuc2V0Um91dGVQYXJhbXMoKTtcclxuICAgICAgdGhpcy5sb2FkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcGFnZVNpemVDaGFuZ2VkKHBhZ2VTaXplOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBhZ2VTaXplICE9PSBwYWdlU2l6ZSkge1xyXG4gICAgICB0aGlzLnBhZ2VTaXplID0gcGFnZVNpemU7XHJcbiAgICAgIHRoaXMucGFnZSA9IDE7XHJcbiAgICAgIHRoaXMuc2V0Um91dGVQYXJhbXMoKTtcclxuICAgICAgdGhpcy5yZWZyZXNoKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc29ydENoYW5nZWQoc29ydDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAvLyBjb25zb2xlLmxvZygnYmFzZS1saXN0IHNvcnRDaGFuZ2VkJywgc29ydCk7XHJcbiAgICBpZiAodGhpcy5zb3J0ICE9PSBzb3J0KSB7XHJcbiAgICAgIHRoaXMucGFnZSA9IDE7XHJcbiAgICAgIHRoaXMuc29ydCA9IHNvcnQ7XHJcbiAgICAgIHRoaXMuc2V0Um91dGVQYXJhbXMoKTtcclxuICAgICAgdGhpcy5yZWZyZXNoKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc29ydGRpckNoYW5nZWQoc29ydGRpcjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zb3J0ZGlyICE9PSBzb3J0ZGlyKSB7XHJcbiAgICAgIHRoaXMucGFnZSA9IDE7XHJcbiAgICAgIHRoaXMuc29ydGRpciA9IHNvcnRkaXI7XHJcbiAgICAgIHRoaXMuc2V0Um91dGVQYXJhbXMoKTtcclxuICAgICAgdGhpcy5yZWZyZXNoKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYWR2YW5jZWRTZWFyY2hDaGFuZ2VkKGZpbHRlcnM6IEZpbHRlckNsYXVzZVtdKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvdW50ID0gMDtcclxuICAgIHRoaXMucGFnZSA9IDE7XHJcbiAgICB0aGlzLml0ZW1zID0gbnVsbDtcclxuICAgIHRoaXMuZmlsdGVycyA9IGZpbHRlcnM7XHJcbiAgICB0aGlzLnNldFJvdXRlUGFyYW1zKCk7XHJcbiAgICB0aGlzLmxvYWQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZWFyY2hDaGFuZ2VkKHNlYXJjaFRleHQ6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcclxuICAgIHRoaXMuY291bnQgPSAwO1xyXG4gICAgdGhpcy5wYWdlID0gMTtcclxuICAgIHRoaXMuaXRlbXMgPSBudWxsO1xyXG4gICAgdGhpcy5zZWFyY2ggPSBzZWFyY2hUZXh0O1xyXG4gICAgdGhpcy5zZXRSb3V0ZVBhcmFtcygpO1xyXG4gICAgdGhpcy5sb2FkKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,19 +0,0 @@
1
- import { Component, Inject } from '@angular/core';
2
- import { APP_LINKS } from '../../../tokens';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- export class ShellFooterComponent {
6
- constructor(links) {
7
- this.links = links;
8
- }
9
- }
10
- ShellFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ShellFooterComponent, deps: [{ token: APP_LINKS }], target: i0.ɵɵFactoryTarget.Component });
11
- ShellFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: ShellFooterComponent, selector: "lib-shell-footer", ngImport: i0, template: "<footer class=\"shell-footer-component-container\">\r\n <div class=\"shell-footer-paddings\">\r\n <div class=\"shell-footer-component-container-inner\">\r\n <div class=\"shell-footer-sections-container\">\r\n <div class=\"shell-footer-section\">\r\n <img class=\"shell-footer-logo-h\" src=\"assets/images/branding/indice.png\" alt=\"INDICE logo\" />\r\n <nav class=\"mt-4\">\r\n <ul class=\"space-y-2\">\r\n <ng-container *ngFor=\"let link of links.brand | async\">\r\n <li>\r\n <a [href]=\"link.path\" class=\"shell-footer-link\">{{ link.text }}</a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </nav>\r\n </div>\r\n <div class=\"shell-footer-section-links\">\r\n <h5 class=\"shell-footer-section-title\">Legal</h5>\r\n <nav class=\"mt-4\">\r\n <ul class=\"grid lg:grid-cols-2\">\r\n <ng-container *ngFor=\"let link of links.legal | async\">\r\n <li class=\"mb-2\">\r\n <a [href]=\"link.path\" class=\"shell-footer-link\">{{ link.text }}</a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </nav>\r\n </div>\r\n <div class=\"shell-footer-section-links\">\r\n <h5 class=\"shell-footer-section-title\">Follow us</h5>\r\n <nav class=\"mt-4\">\r\n <ul class=\"grid lg:grid-cols-2\">\r\n <li class=\"mb-2\">\r\n <a href=\"#\" class=\"shell-footer-social\">\r\n <svg class=\"shell-footer-social-icon\" aria-hidden=\"true\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path d=\"M8.29 20.251c7.547 0 11.675-6.253 11.675-11.675 0-.178 0-.355-.012-.53A8.348 8.348 0 0022 5.92a8.19 8.19 0 01-2.357.646 4.118 4.118 0 001.804-2.27 8.224 8.224 0 01-2.605.996 4.107 4.107 0 00-6.993 3.743 11.65 11.65 0 01-8.457-4.287 4.106 4.106 0 001.27 5.477A4.072 4.072 0 012.8 9.713v.052a4.105 4.105 0 003.292 4.022 4.095 4.095 0 01-1.853.07 4.108 4.108 0 003.834 2.85A8.233 8.233 0 012 18.407a11.616 11.616 0 006.29 1.84\"/>\r\n </svg>\r\n <span> Twitter </span>\r\n </a>\r\n </li>\r\n <li class=\"mb-2\">\r\n <a href=\"#\" class=\"shell-footer-social\">\r\n <svg class=\"shell-footer-social-icon\" aria-hidden=\"true\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path fill-rule=\"evenodd\" d=\"M12.315 2c2.43 0 2.784.013 3.808.06 1.064.049 1.791.218 2.427.465a4.902 4.902 0 011.772 1.153 4.902 4.902 0 011.153 1.772c.247.636.416 1.363.465 2.427.048 1.067.06 1.407.06 4.123v.08c0 2.643-.012 2.987-.06 4.043-.049 1.064-.218 1.791-.465 2.427a4.902 4.902 0 01-1.153 1.772 4.902 4.902 0 01-1.772 1.153c-.636.247-1.363.416-2.427.465-1.067.048-1.407.06-4.123.06h-.08c-2.643 0-2.987-.012-4.043-.06-1.064-.049-1.791-.218-2.427-.465a4.902 4.902 0 01-1.772-1.153 4.902 4.902 0 01-1.153-1.772c-.247-.636-.416-1.363-.465-2.427-.047-1.024-.06-1.379-.06-3.808v-.63c0-2.43.013-2.784.06-3.808.049-1.064.218-1.791.465-2.427a4.902 4.902 0 011.153-1.772A4.902 4.902 0 015.45 2.525c.636-.247 1.363-.416 2.427-.465C8.901 2.013 9.256 2 11.685 2h.63zm-.081 1.802h-.468c-2.456 0-2.784.011-3.807.058-.975.045-1.504.207-1.857.344-.467.182-.8.398-1.15.748-.35.35-.566.683-.748 1.15-.137.353-.3.882-.344 1.857-.047 1.023-.058 1.351-.058 3.807v.468c0 2.456.011 2.784.058 3.807.045.975.207 1.504.344 1.857.182.466.399.8.748 1.15.35.35.683.566 1.15.748.353.137.882.3 1.857.344 1.054.048 1.37.058 4.041.058h.08c2.597 0 2.917-.01 3.96-.058.976-.045 1.505-.207 1.858-.344.466-.182.8-.398 1.15-.748.35-.35.566-.683.748-1.15.137-.353.3-.882.344-1.857.048-1.055.058-1.37.058-4.041v-.08c0-2.597-.01-2.917-.058-3.96-.045-.976-.207-1.505-.344-1.858a3.097 3.097 0 00-.748-1.15 3.098 3.098 0 00-1.15-.748c-.353-.137-.882-.3-1.857-.344-1.023-.047-1.351-.058-3.807-.058zM12 6.865a5.135 5.135 0 110 10.27 5.135 5.135 0 010-10.27zm0 1.802a3.333 3.333 0 100 6.666 3.333 3.333 0 000-6.666zm5.338-3.205a1.2 1.2 0 110 2.4 1.2 1.2 0 010-2.4z\" clip-rule=\"evenodd\"/>\r\n </svg>\r\n <span> Instagram </span>\r\n </a>\r\n </li>\r\n <li class=\"mb-2\">\r\n <a href=\"#\" class=\"shell-footer-social\">\r\n <svg class=\"shell-footer-social-icon\" aria-hidden=\"true\" fill=\"currentColor\" viewBox=\"0 0 24 24\" >\r\n <path fill-rule=\"evenodd\" d=\"M22 12c0-5.523-4.477-10-10-10S2 6.477 2 12c0 4.991 3.657 9.128 8.438 9.878v-6.987h-2.54V12h2.54V9.797c0-2.506 1.492-3.89 3.777-3.89 1.094 0 2.238.195 2.238.195v2.46h-1.26c-1.243 0-1.63.771-1.63 1.562V12h2.773l-.443 2.89h-2.33v6.988C18.343 21.128 22 16.991 22 12z\" clip-rule=\"evenodd\"/>\r\n </svg>\r\n <span> Facebook </span>\r\n </a>\r\n </li>\r\n </ul>\r\n </nav>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"shell-footer-copyright\">\r\n <!--<nav class=\"flex flex-wrap justify-center space-x-6\">\r\n <a href=\"#\" class=\"font-normal text-sm hover:text-gray-100 mb-2\">Cookie settings</a>\r\n </nav>-->\r\n <p class=\"text-sm text-center sm:text-right\">\r\n \u00A9 2021 INDICE. All rights reserved.\r\n </p>\r\n </div>\r\n </div>\r\n</footer>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ShellFooterComponent, decorators: [{
13
- type: Component,
14
- args: [{ selector: 'lib-shell-footer', template: "<footer class=\"shell-footer-component-container\">\r\n <div class=\"shell-footer-paddings\">\r\n <div class=\"shell-footer-component-container-inner\">\r\n <div class=\"shell-footer-sections-container\">\r\n <div class=\"shell-footer-section\">\r\n <img class=\"shell-footer-logo-h\" src=\"assets/images/branding/indice.png\" alt=\"INDICE logo\" />\r\n <nav class=\"mt-4\">\r\n <ul class=\"space-y-2\">\r\n <ng-container *ngFor=\"let link of links.brand | async\">\r\n <li>\r\n <a [href]=\"link.path\" class=\"shell-footer-link\">{{ link.text }}</a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </nav>\r\n </div>\r\n <div class=\"shell-footer-section-links\">\r\n <h5 class=\"shell-footer-section-title\">Legal</h5>\r\n <nav class=\"mt-4\">\r\n <ul class=\"grid lg:grid-cols-2\">\r\n <ng-container *ngFor=\"let link of links.legal | async\">\r\n <li class=\"mb-2\">\r\n <a [href]=\"link.path\" class=\"shell-footer-link\">{{ link.text }}</a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </nav>\r\n </div>\r\n <div class=\"shell-footer-section-links\">\r\n <h5 class=\"shell-footer-section-title\">Follow us</h5>\r\n <nav class=\"mt-4\">\r\n <ul class=\"grid lg:grid-cols-2\">\r\n <li class=\"mb-2\">\r\n <a href=\"#\" class=\"shell-footer-social\">\r\n <svg class=\"shell-footer-social-icon\" aria-hidden=\"true\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path d=\"M8.29 20.251c7.547 0 11.675-6.253 11.675-11.675 0-.178 0-.355-.012-.53A8.348 8.348 0 0022 5.92a8.19 8.19 0 01-2.357.646 4.118 4.118 0 001.804-2.27 8.224 8.224 0 01-2.605.996 4.107 4.107 0 00-6.993 3.743 11.65 11.65 0 01-8.457-4.287 4.106 4.106 0 001.27 5.477A4.072 4.072 0 012.8 9.713v.052a4.105 4.105 0 003.292 4.022 4.095 4.095 0 01-1.853.07 4.108 4.108 0 003.834 2.85A8.233 8.233 0 012 18.407a11.616 11.616 0 006.29 1.84\"/>\r\n </svg>\r\n <span> Twitter </span>\r\n </a>\r\n </li>\r\n <li class=\"mb-2\">\r\n <a href=\"#\" class=\"shell-footer-social\">\r\n <svg class=\"shell-footer-social-icon\" aria-hidden=\"true\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path fill-rule=\"evenodd\" d=\"M12.315 2c2.43 0 2.784.013 3.808.06 1.064.049 1.791.218 2.427.465a4.902 4.902 0 011.772 1.153 4.902 4.902 0 011.153 1.772c.247.636.416 1.363.465 2.427.048 1.067.06 1.407.06 4.123v.08c0 2.643-.012 2.987-.06 4.043-.049 1.064-.218 1.791-.465 2.427a4.902 4.902 0 01-1.153 1.772 4.902 4.902 0 01-1.772 1.153c-.636.247-1.363.416-2.427.465-1.067.048-1.407.06-4.123.06h-.08c-2.643 0-2.987-.012-4.043-.06-1.064-.049-1.791-.218-2.427-.465a4.902 4.902 0 01-1.772-1.153 4.902 4.902 0 01-1.153-1.772c-.247-.636-.416-1.363-.465-2.427-.047-1.024-.06-1.379-.06-3.808v-.63c0-2.43.013-2.784.06-3.808.049-1.064.218-1.791.465-2.427a4.902 4.902 0 011.153-1.772A4.902 4.902 0 015.45 2.525c.636-.247 1.363-.416 2.427-.465C8.901 2.013 9.256 2 11.685 2h.63zm-.081 1.802h-.468c-2.456 0-2.784.011-3.807.058-.975.045-1.504.207-1.857.344-.467.182-.8.398-1.15.748-.35.35-.566.683-.748 1.15-.137.353-.3.882-.344 1.857-.047 1.023-.058 1.351-.058 3.807v.468c0 2.456.011 2.784.058 3.807.045.975.207 1.504.344 1.857.182.466.399.8.748 1.15.35.35.683.566 1.15.748.353.137.882.3 1.857.344 1.054.048 1.37.058 4.041.058h.08c2.597 0 2.917-.01 3.96-.058.976-.045 1.505-.207 1.858-.344.466-.182.8-.398 1.15-.748.35-.35.566-.683.748-1.15.137-.353.3-.882.344-1.857.048-1.055.058-1.37.058-4.041v-.08c0-2.597-.01-2.917-.058-3.96-.045-.976-.207-1.505-.344-1.858a3.097 3.097 0 00-.748-1.15 3.098 3.098 0 00-1.15-.748c-.353-.137-.882-.3-1.857-.344-1.023-.047-1.351-.058-3.807-.058zM12 6.865a5.135 5.135 0 110 10.27 5.135 5.135 0 010-10.27zm0 1.802a3.333 3.333 0 100 6.666 3.333 3.333 0 000-6.666zm5.338-3.205a1.2 1.2 0 110 2.4 1.2 1.2 0 010-2.4z\" clip-rule=\"evenodd\"/>\r\n </svg>\r\n <span> Instagram </span>\r\n </a>\r\n </li>\r\n <li class=\"mb-2\">\r\n <a href=\"#\" class=\"shell-footer-social\">\r\n <svg class=\"shell-footer-social-icon\" aria-hidden=\"true\" fill=\"currentColor\" viewBox=\"0 0 24 24\" >\r\n <path fill-rule=\"evenodd\" d=\"M22 12c0-5.523-4.477-10-10-10S2 6.477 2 12c0 4.991 3.657 9.128 8.438 9.878v-6.987h-2.54V12h2.54V9.797c0-2.506 1.492-3.89 3.777-3.89 1.094 0 2.238.195 2.238.195v2.46h-1.26c-1.243 0-1.63.771-1.63 1.562V12h2.773l-.443 2.89h-2.33v6.988C18.343 21.128 22 16.991 22 12z\" clip-rule=\"evenodd\"/>\r\n </svg>\r\n <span> Facebook </span>\r\n </a>\r\n </li>\r\n </ul>\r\n </nav>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"shell-footer-copyright\">\r\n <!--<nav class=\"flex flex-wrap justify-center space-x-6\">\r\n <a href=\"#\" class=\"font-normal text-sm hover:text-gray-100 mb-2\">Cookie settings</a>\r\n </nav>-->\r\n <p class=\"text-sm text-center sm:text-right\">\r\n \u00A9 2021 INDICE. All rights reserved.\r\n </p>\r\n </div>\r\n </div>\r\n</footer>\r\n" }]
15
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
16
- type: Inject,
17
- args: [APP_LINKS]
18
- }] }]; } });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9sYXlvdXRzL3NoZWxsL3NoZWxsLWZvb3Rlci9zaGVsbC1mb290ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvc2hlbGwvc2hlbGwtZm9vdGVyL3NoZWxsLWZvb3Rlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQVM1QyxNQUFNLE9BQU8sb0JBQW9CO0lBQzdCLFlBQXNDLEtBQWdCO1FBQWhCLFVBQUssR0FBTCxLQUFLLENBQVc7SUFDdEQsQ0FBQzs7aUhBRlEsb0JBQW9CLGtCQUNULFNBQVM7cUdBRHBCLG9CQUFvQix3RENWakMsazRLQXVFQTsyRkQ3RGEsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNFLGtCQUFrQjs7MEJBTWIsTUFBTTsyQkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVBQX0xJTktTIH0gZnJvbSAnLi4vLi4vLi4vdG9rZW5zJztcclxuaW1wb3J0IHsgSUFwcExpbmtzIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItc2hlbGwtZm9vdGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2hlbGwtZm9vdGVyLmNvbXBvbmVudC5odG1sJ1xyXG5cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBTaGVsbEZvb3RlckNvbXBvbmVudCB7XHJcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KEFQUF9MSU5LUykgcHVibGljIGxpbmtzOiBJQXBwTGlua3MpIHtcclxuICAgIH1cclxufVxyXG4iLCI8Zm9vdGVyIGNsYXNzPVwic2hlbGwtZm9vdGVyLWNvbXBvbmVudC1jb250YWluZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwic2hlbGwtZm9vdGVyLXBhZGRpbmdzXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic2hlbGwtZm9vdGVyLWNvbXBvbmVudC1jb250YWluZXItaW5uZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInNoZWxsLWZvb3Rlci1zZWN0aW9ucy1jb250YWluZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2hlbGwtZm9vdGVyLXNlY3Rpb25cIj5cclxuICAgICAgICAgIDxpbWcgY2xhc3M9XCJzaGVsbC1mb290ZXItbG9nby1oXCIgc3JjPVwiYXNzZXRzL2ltYWdlcy9icmFuZGluZy9pbmRpY2UucG5nXCIgYWx0PVwiSU5ESUNFIGxvZ29cIiAvPlxyXG4gICAgICAgICAgPG5hdiBjbGFzcz1cIm10LTRcIj5cclxuICAgICAgICAgICAgPHVsIGNsYXNzPVwic3BhY2UteS0yXCI+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbGluayBvZiBsaW5rcy5icmFuZCB8IGFzeW5jXCI+XHJcbiAgICAgICAgICAgICAgICA8bGk+XHJcbiAgICAgICAgICAgICAgICAgIDxhIFtocmVmXT1cImxpbmsucGF0aFwiIGNsYXNzPVwic2hlbGwtZm9vdGVyLWxpbmtcIj57eyBsaW5rLnRleHQgfX08L2E+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgPC9uYXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNoZWxsLWZvb3Rlci1zZWN0aW9uLWxpbmtzXCI+XHJcbiAgICAgICAgICA8aDUgY2xhc3M9XCJzaGVsbC1mb290ZXItc2VjdGlvbi10aXRsZVwiPkxlZ2FsPC9oNT5cclxuICAgICAgICAgIDxuYXYgY2xhc3M9XCJtdC00XCI+XHJcbiAgICAgICAgICAgIDx1bCBjbGFzcz1cImdyaWQgbGc6Z3JpZC1jb2xzLTJcIj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBsaW5rIG9mIGxpbmtzLmxlZ2FsIHwgYXN5bmNcIj5cclxuICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cIm1iLTJcIj5cclxuICAgICAgICAgICAgICAgICAgPGEgW2hyZWZdPVwibGluay5wYXRoXCIgY2xhc3M9XCJzaGVsbC1mb290ZXItbGlua1wiPnt7IGxpbmsudGV4dCB9fTwvYT5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICA8L25hdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2hlbGwtZm9vdGVyLXNlY3Rpb24tbGlua3NcIj5cclxuICAgICAgICAgIDxoNSBjbGFzcz1cInNoZWxsLWZvb3Rlci1zZWN0aW9uLXRpdGxlXCI+Rm9sbG93IHVzPC9oNT5cclxuICAgICAgICAgIDxuYXYgY2xhc3M9XCJtdC00XCI+XHJcbiAgICAgICAgICAgIDx1bCBjbGFzcz1cImdyaWQgbGc6Z3JpZC1jb2xzLTJcIj5cclxuICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwic2hlbGwtZm9vdGVyLXNvY2lhbFwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3ZnICBjbGFzcz1cInNoZWxsLWZvb3Rlci1zb2NpYWwtaWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk04LjI5IDIwLjI1MWM3LjU0NyAwIDExLjY3NS02LjI1MyAxMS42NzUtMTEuNjc1IDAtLjE3OCAwLS4zNTUtLjAxMi0uNTNBOC4zNDggOC4zNDggMCAwMDIyIDUuOTJhOC4xOSA4LjE5IDAgMDEtMi4zNTcuNjQ2IDQuMTE4IDQuMTE4IDAgMDAxLjgwNC0yLjI3IDguMjI0IDguMjI0IDAgMDEtMi42MDUuOTk2IDQuMTA3IDQuMTA3IDAgMDAtNi45OTMgMy43NDMgMTEuNjUgMTEuNjUgMCAwMS04LjQ1Ny00LjI4NyA0LjEwNiA0LjEwNiAwIDAwMS4yNyA1LjQ3N0E0LjA3MiA0LjA3MiAwIDAxMi44IDkuNzEzdi4wNTJhNC4xMDUgNC4xMDUgMCAwMDMuMjkyIDQuMDIyIDQuMDk1IDQuMDk1IDAgMDEtMS44NTMuMDcgNC4xMDggNC4xMDggMCAwMDMuODM0IDIuODVBOC4yMzMgOC4yMzMgMCAwMTIgMTguNDA3YTExLjYxNiAxMS42MTYgMCAwMDYuMjkgMS44NFwiLz5cclxuICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuPiBUd2l0dGVyIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgIDxsaSBjbGFzcz1cIm1iLTJcIj5cclxuICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJzaGVsbC1mb290ZXItc29jaWFsXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJzaGVsbC1mb290ZXItc29jaWFsLWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIiBmaWxsPVwiY3VycmVudENvbG9yXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTEyLjMxNSAyYzIuNDMgMCAyLjc4NC4wMTMgMy44MDguMDYgMS4wNjQuMDQ5IDEuNzkxLjIxOCAyLjQyNy40NjVhNC45MDIgNC45MDIgMCAwMTEuNzcyIDEuMTUzIDQuOTAyIDQuOTAyIDAgMDExLjE1MyAxLjc3MmMuMjQ3LjYzNi40MTYgMS4zNjMuNDY1IDIuNDI3LjA0OCAxLjA2Ny4wNiAxLjQwNy4wNiA0LjEyM3YuMDhjMCAyLjY0My0uMDEyIDIuOTg3LS4wNiA0LjA0My0uMDQ5IDEuMDY0LS4yMTggMS43OTEtLjQ2NSAyLjQyN2E0LjkwMiA0LjkwMiAwIDAxLTEuMTUzIDEuNzcyIDQuOTAyIDQuOTAyIDAgMDEtMS43NzIgMS4xNTNjLS42MzYuMjQ3LTEuMzYzLjQxNi0yLjQyNy40NjUtMS4wNjcuMDQ4LTEuNDA3LjA2LTQuMTIzLjA2aC0uMDhjLTIuNjQzIDAtMi45ODctLjAxMi00LjA0My0uMDYtMS4wNjQtLjA0OS0xLjc5MS0uMjE4LTIuNDI3LS40NjVhNC45MDIgNC45MDIgMCAwMS0xLjc3Mi0xLjE1MyA0LjkwMiA0LjkwMiAwIDAxLTEuMTUzLTEuNzcyYy0uMjQ3LS42MzYtLjQxNi0xLjM2My0uNDY1LTIuNDI3LS4wNDctMS4wMjQtLjA2LTEuMzc5LS4wNi0zLjgwOHYtLjYzYzAtMi40My4wMTMtMi43ODQuMDYtMy44MDguMDQ5LTEuMDY0LjIxOC0xLjc5MS40NjUtMi40MjdhNC45MDIgNC45MDIgMCAwMTEuMTUzLTEuNzcyQTQuOTAyIDQuOTAyIDAgMDE1LjQ1IDIuNTI1Yy42MzYtLjI0NyAxLjM2My0uNDE2IDIuNDI3LS40NjVDOC45MDEgMi4wMTMgOS4yNTYgMiAxMS42ODUgMmguNjN6bS0uMDgxIDEuODAyaC0uNDY4Yy0yLjQ1NiAwLTIuNzg0LjAxMS0zLjgwNy4wNTgtLjk3NS4wNDUtMS41MDQuMjA3LTEuODU3LjM0NC0uNDY3LjE4Mi0uOC4zOTgtMS4xNS43NDgtLjM1LjM1LS41NjYuNjgzLS43NDggMS4xNS0uMTM3LjM1My0uMy44ODItLjM0NCAxLjg1Ny0uMDQ3IDEuMDIzLS4wNTggMS4zNTEtLjA1OCAzLjgwN3YuNDY4YzAgMi40NTYuMDExIDIuNzg0LjA1OCAzLjgwNy4wNDUuOTc1LjIwNyAxLjUwNC4zNDQgMS44NTcuMTgyLjQ2Ni4zOTkuOC43NDggMS4xNS4zNS4zNS42ODMuNTY2IDEuMTUuNzQ4LjM1My4xMzcuODgyLjMgMS44NTcuMzQ0IDEuMDU0LjA0OCAxLjM3LjA1OCA0LjA0MS4wNThoLjA4YzIuNTk3IDAgMi45MTctLjAxIDMuOTYtLjA1OC45NzYtLjA0NSAxLjUwNS0uMjA3IDEuODU4LS4zNDQuNDY2LS4xODIuOC0uMzk4IDEuMTUtLjc0OC4zNS0uMzUuNTY2LS42ODMuNzQ4LTEuMTUuMTM3LS4zNTMuMy0uODgyLjM0NC0xLjg1Ny4wNDgtMS4wNTUuMDU4LTEuMzcuMDU4LTQuMDQxdi0uMDhjMC0yLjU5Ny0uMDEtMi45MTctLjA1OC0zLjk2LS4wNDUtLjk3Ni0uMjA3LTEuNTA1LS4zNDQtMS44NThhMy4wOTcgMy4wOTcgMCAwMC0uNzQ4LTEuMTUgMy4wOTggMy4wOTggMCAwMC0xLjE1LS43NDhjLS4zNTMtLjEzNy0uODgyLS4zLTEuODU3LS4zNDQtMS4wMjMtLjA0Ny0xLjM1MS0uMDU4LTMuODA3LS4wNTh6TTEyIDYuODY1YTUuMTM1IDUuMTM1IDAgMTEwIDEwLjI3IDUuMTM1IDUuMTM1IDAgMDEwLTEwLjI3em0wIDEuODAyYTMuMzMzIDMuMzMzIDAgMTAwIDYuNjY2IDMuMzMzIDMuMzMzIDAgMDAwLTYuNjY2em01LjMzOC0zLjIwNWExLjIgMS4yIDAgMTEwIDIuNCAxLjIgMS4yIDAgMDEwLTIuNHpcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIvPlxyXG4gICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4+IEluc3RhZ3JhbSA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwic2hlbGwtZm9vdGVyLXNvY2lhbFwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwic2hlbGwtZm9vdGVyLXNvY2lhbC1pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMjIgMTJjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMFMyIDYuNDc3IDIgMTJjMCA0Ljk5MSAzLjY1NyA5LjEyOCA4LjQzOCA5Ljg3OHYtNi45ODdoLTIuNTRWMTJoMi41NFY5Ljc5N2MwLTIuNTA2IDEuNDkyLTMuODkgMy43NzctMy44OSAxLjA5NCAwIDIuMjM4LjE5NSAyLjIzOC4xOTV2Mi40NmgtMS4yNmMtMS4yNDMgMC0xLjYzLjc3MS0xLjYzIDEuNTYyVjEyaDIuNzczbC0uNDQzIDIuODloLTIuMzN2Ni45ODhDMTguMzQzIDIxLjEyOCAyMiAxNi45OTEgMjIgMTJ6XCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiLz5cclxuICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuPiBGYWNlYm9vayA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgIDwvbmF2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInNoZWxsLWZvb3Rlci1jb3B5cmlnaHRcIj5cclxuICAgICAgPCEtLTxuYXYgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBqdXN0aWZ5LWNlbnRlciBzcGFjZS14LTZcIj5cclxuICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImZvbnQtbm9ybWFsIHRleHQtc20gaG92ZXI6dGV4dC1ncmF5LTEwMCBtYi0yXCI+Q29va2llIHNldHRpbmdzPC9hPlxyXG4gICAgPC9uYXY+LS0+XHJcbiAgICAgIDxwIGNsYXNzPVwidGV4dC1zbSB0ZXh0LWNlbnRlciBzbTp0ZXh0LXJpZ2h0XCI+XHJcbiAgICAgICAgwqkgMjAyMSBJTkRJQ0UuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbiAgICAgIDwvcD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Zvb3Rlcj5cclxuIl19