ngx-sfc-common 0.0.0-watch

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/README.md +644 -0
  2. package/esm2020/lib/components/button/button-type.enum.mjs +9 -0
  3. package/esm2020/lib/components/button/button.component.mjs +44 -0
  4. package/esm2020/lib/components/checkmark/checkmark-type.enum.mjs +7 -0
  5. package/esm2020/lib/components/checkmark/checkmark.component.mjs +39 -0
  6. package/esm2020/lib/components/close/close.component.mjs +16 -0
  7. package/esm2020/lib/components/delimeter/delimeter.component.mjs +28 -0
  8. package/esm2020/lib/components/dots/dots.component.mjs +30 -0
  9. package/esm2020/lib/components/hamburger/default/hamburger.component.mjs +12 -0
  10. package/esm2020/lib/components/hamburger/hamburger-base.component.mjs +23 -0
  11. package/esm2020/lib/components/hamburger/menu/hamburger-menu.component.mjs +18 -0
  12. package/esm2020/lib/components/icon/icon.component.mjs +21 -0
  13. package/esm2020/lib/components/index.mjs +34 -0
  14. package/esm2020/lib/components/load-container/load-container.component.mjs +180 -0
  15. package/esm2020/lib/components/load-container/load-container.constants.mjs +5 -0
  16. package/esm2020/lib/components/load-container/load-container.enum.mjs +11 -0
  17. package/esm2020/lib/components/load-container/models/load-container.model.mjs +2 -0
  18. package/esm2020/lib/components/load-container/models/load-more-parameters.model.mjs +2 -0
  19. package/esm2020/lib/components/load-container/models/load-more-predicate-parameters.model.mjs +2 -0
  20. package/esm2020/lib/components/load-container/models/load-more.model.mjs +2 -0
  21. package/esm2020/lib/components/load-container/service/load-more.service.mjs +27 -0
  22. package/esm2020/lib/components/load-more-button/load-more-button.component.mjs +31 -0
  23. package/esm2020/lib/components/loader/bounce/bounce-loader.component.mjs +13 -0
  24. package/esm2020/lib/components/loader/circle/circle-loader-type.enum.mjs +6 -0
  25. package/esm2020/lib/components/loader/circle/circle-loader.component.mjs +20 -0
  26. package/esm2020/lib/components/loader/loader-base.component.mjs +51 -0
  27. package/esm2020/lib/components/loader/loader.constants.mjs +6 -0
  28. package/esm2020/lib/components/loader/loader.event.mjs +2 -0
  29. package/esm2020/lib/components/loader/service/loader.service.mjs +76 -0
  30. package/esm2020/lib/components/modal/directive/click/modal-open-on-click.directive.mjs +50 -0
  31. package/esm2020/lib/components/modal/directive/open/modal-open.directive.mjs +28 -0
  32. package/esm2020/lib/components/modal/footer/default/default-modal-footer.component.mjs +60 -0
  33. package/esm2020/lib/components/modal/footer/default/default-modal-footer.model.mjs +2 -0
  34. package/esm2020/lib/components/modal/header/default/default-modal-header.component.mjs +38 -0
  35. package/esm2020/lib/components/modal/header/default/default-modal-header.model.mjs +2 -0
  36. package/esm2020/lib/components/modal/modal-template.enum.mjs +7 -0
  37. package/esm2020/lib/components/modal/modal.component.mjs +103 -0
  38. package/esm2020/lib/components/modal/service/modal.event.mjs +2 -0
  39. package/esm2020/lib/components/modal/service/modal.service.mjs +31 -0
  40. package/esm2020/lib/components/pagination/models/pagination-view.model.mjs +2 -0
  41. package/esm2020/lib/components/pagination/pagination.component.mjs +104 -0
  42. package/esm2020/lib/components/pagination/pagination.constants.mjs +6 -0
  43. package/esm2020/lib/components/pagination/service/pagination.event.mjs +2 -0
  44. package/esm2020/lib/components/pagination/service/pagination.service.mjs +47 -0
  45. package/esm2020/lib/components/sorting/service/sorting.event.mjs +2 -0
  46. package/esm2020/lib/components/sorting/service/sorting.service.mjs +21 -0
  47. package/esm2020/lib/components/sorting/sorting.component.mjs +71 -0
  48. package/esm2020/lib/components/sorting/sorting.constants.mjs +6 -0
  49. package/esm2020/lib/components/sorting/sorting.model.mjs +2 -0
  50. package/esm2020/lib/components/template-content/template-content.component.mjs +31 -0
  51. package/esm2020/lib/components/toggle-switcher/toggle-switcher.component.mjs +38 -0
  52. package/esm2020/lib/components/toggle-switcher/toggle-switcher.model.mjs +2 -0
  53. package/esm2020/lib/components/tooltip/tooltip-type.enum.mjs +6 -0
  54. package/esm2020/lib/components/tooltip/tooltip.component.mjs +69 -0
  55. package/esm2020/lib/constants/common.constants.mjs +9 -0
  56. package/esm2020/lib/constants/date-time.constants.mjs +10 -0
  57. package/esm2020/lib/constants/file.constants.mjs +2 -0
  58. package/esm2020/lib/constants/index.mjs +4 -0
  59. package/esm2020/lib/constants/ui.constants.mjs +23 -0
  60. package/esm2020/lib/directives/click-outside/click-outside.directive.mjs +63 -0
  61. package/esm2020/lib/directives/click-outside/click-outside.event.mjs +2 -0
  62. package/esm2020/lib/directives/component-size/component-size.directive.mjs +59 -0
  63. package/esm2020/lib/directives/destroy-parent/destroy-parent.directive.mjs +27 -0
  64. package/esm2020/lib/directives/dom-changes/dom-changes.directive.mjs +32 -0
  65. package/esm2020/lib/directives/if/if.directive.mjs +26 -0
  66. package/esm2020/lib/directives/image-size/image-load.directive.mjs +41 -0
  67. package/esm2020/lib/directives/image-size/services/image-load.event.mjs +2 -0
  68. package/esm2020/lib/directives/image-size/services/image-load.service.mjs +22 -0
  69. package/esm2020/lib/directives/image-size/services/image-size.model.mjs +2 -0
  70. package/esm2020/lib/directives/index.mjs +14 -0
  71. package/esm2020/lib/directives/mouse-down/mouse-down.directive.mjs +37 -0
  72. package/esm2020/lib/directives/scroll-into-view/scroll-into-view.directive.mjs +39 -0
  73. package/esm2020/lib/directives/scroll-tracker/scroll-tracker.directive.mjs +39 -0
  74. package/esm2020/lib/directives/show-hide-element/show-hide-element.directive.mjs +42 -0
  75. package/esm2020/lib/directives/template-reference/template-reference.directive.mjs +23 -0
  76. package/esm2020/lib/directives/throw-element-on-hover/throw-element-on-hover.directive.mjs +38 -0
  77. package/esm2020/lib/enums/direction.enum.mjs +9 -0
  78. package/esm2020/lib/enums/index.mjs +9 -0
  79. package/esm2020/lib/enums/media.enum.mjs +13 -0
  80. package/esm2020/lib/enums/position.enum.mjs +12 -0
  81. package/esm2020/lib/enums/sequence.enum.mjs +9 -0
  82. package/esm2020/lib/enums/size.enum.mjs +11 -0
  83. package/esm2020/lib/enums/sorting-direction.enum.mjs +9 -0
  84. package/esm2020/lib/enums/theme.enum.mjs +9 -0
  85. package/esm2020/lib/enums/ui.enum.mjs +30 -0
  86. package/esm2020/lib/models/class.model.mjs +2 -0
  87. package/esm2020/lib/models/index.mjs +2 -0
  88. package/esm2020/lib/ngx-sfc-common.module.mjs +190 -0
  89. package/esm2020/lib/pipes/index.mjs +2 -0
  90. package/esm2020/lib/pipes/switch-multi-case/switch-multi-case.pipe.mjs +16 -0
  91. package/esm2020/lib/services/document-ref.service.mjs +71 -0
  92. package/esm2020/lib/services/index.mjs +4 -0
  93. package/esm2020/lib/services/resize.service.mjs +42 -0
  94. package/esm2020/lib/services/window-ref.service.mjs +70 -0
  95. package/esm2020/lib/utils/collections.utils.mjs +280 -0
  96. package/esm2020/lib/utils/common.utils.mjs +184 -0
  97. package/esm2020/lib/utils/date-time.utils.mjs +265 -0
  98. package/esm2020/lib/utils/file.utils.mjs +53 -0
  99. package/esm2020/lib/utils/index.mjs +7 -0
  100. package/esm2020/lib/utils/string.utils.mjs +31 -0
  101. package/esm2020/lib/utils/ui.utils.mjs +90 -0
  102. package/esm2020/ngx-sfc-common.mjs +5 -0
  103. package/esm2020/public-api.mjs +12 -0
  104. package/fesm2015/ngx-sfc-common.mjs +3097 -0
  105. package/fesm2015/ngx-sfc-common.mjs.map +1 -0
  106. package/fesm2020/ngx-sfc-common.mjs +3088 -0
  107. package/fesm2020/ngx-sfc-common.mjs.map +1 -0
  108. package/index.d.ts +5 -0
  109. package/lib/components/button/button-type.enum.d.ts +7 -0
  110. package/lib/components/button/button.component.d.ts +16 -0
  111. package/lib/components/checkmark/checkmark-type.enum.d.ts +5 -0
  112. package/lib/components/checkmark/checkmark.component.d.ts +11 -0
  113. package/lib/components/close/close.component.d.ts +6 -0
  114. package/lib/components/delimeter/delimeter.component.d.ts +9 -0
  115. package/lib/components/dots/dots.component.d.ts +9 -0
  116. package/lib/components/hamburger/default/hamburger.component.d.ts +6 -0
  117. package/lib/components/hamburger/hamburger-base.component.d.ts +7 -0
  118. package/lib/components/hamburger/menu/hamburger-menu.component.d.ts +7 -0
  119. package/lib/components/icon/icon.component.d.ts +9 -0
  120. package/lib/components/index.d.ts +44 -0
  121. package/lib/components/load-container/load-container.component.d.ts +50 -0
  122. package/lib/components/load-container/load-container.constants.d.ts +4 -0
  123. package/lib/components/load-container/load-container.enum.d.ts +8 -0
  124. package/lib/components/load-container/models/load-container.model.d.ts +14 -0
  125. package/lib/components/load-container/models/load-more-parameters.model.d.ts +5 -0
  126. package/lib/components/load-container/models/load-more-predicate-parameters.model.d.ts +3 -0
  127. package/lib/components/load-container/models/load-more.model.d.ts +5 -0
  128. package/lib/components/load-container/service/load-more.service.d.ts +12 -0
  129. package/lib/components/load-more-button/load-more-button.component.d.ts +12 -0
  130. package/lib/components/loader/bounce/bounce-loader.component.d.ts +6 -0
  131. package/lib/components/loader/circle/circle-loader-type.enum.d.ts +4 -0
  132. package/lib/components/loader/circle/circle-loader.component.d.ts +8 -0
  133. package/lib/components/loader/loader-base.component.d.ts +27 -0
  134. package/lib/components/loader/loader.constants.d.ts +5 -0
  135. package/lib/components/loader/loader.event.d.ts +4 -0
  136. package/lib/components/loader/service/loader.service.d.ts +33 -0
  137. package/lib/components/modal/directive/click/modal-open-on-click.directive.d.ts +17 -0
  138. package/lib/components/modal/directive/open/modal-open.directive.d.ts +13 -0
  139. package/lib/components/modal/footer/default/default-modal-footer.component.d.ts +19 -0
  140. package/lib/components/modal/footer/default/default-modal-footer.model.d.ts +8 -0
  141. package/lib/components/modal/header/default/default-modal-header.component.d.ts +16 -0
  142. package/lib/components/modal/header/default/default-modal-header.model.d.ts +6 -0
  143. package/lib/components/modal/modal-template.enum.d.ts +5 -0
  144. package/lib/components/modal/modal.component.d.ts +26 -0
  145. package/lib/components/modal/service/modal.event.d.ts +4 -0
  146. package/lib/components/modal/service/modal.service.d.ts +13 -0
  147. package/lib/components/pagination/models/pagination-view.model.d.ts +12 -0
  148. package/lib/components/pagination/pagination.component.d.ts +31 -0
  149. package/lib/components/pagination/pagination.constants.d.ts +5 -0
  150. package/lib/components/pagination/service/pagination.event.d.ts +6 -0
  151. package/lib/components/pagination/service/pagination.service.d.ts +25 -0
  152. package/lib/components/sorting/service/sorting.event.d.ts +5 -0
  153. package/lib/components/sorting/service/sorting.service.d.ts +9 -0
  154. package/lib/components/sorting/sorting.component.d.ts +22 -0
  155. package/lib/components/sorting/sorting.constants.d.ts +4 -0
  156. package/lib/components/sorting/sorting.model.d.ts +12 -0
  157. package/lib/components/template-content/template-content.component.d.ts +14 -0
  158. package/lib/components/toggle-switcher/toggle-switcher.component.d.ts +12 -0
  159. package/lib/components/toggle-switcher/toggle-switcher.model.d.ts +5 -0
  160. package/lib/components/tooltip/tooltip-type.enum.d.ts +4 -0
  161. package/lib/components/tooltip/tooltip.component.d.ts +22 -0
  162. package/lib/constants/common.constants.d.ts +8 -0
  163. package/lib/constants/date-time.constants.d.ts +9 -0
  164. package/lib/constants/file.constants.d.ts +1 -0
  165. package/lib/constants/index.d.ts +4 -0
  166. package/lib/constants/ui.constants.d.ts +22 -0
  167. package/lib/directives/click-outside/click-outside.directive.d.ts +23 -0
  168. package/lib/directives/click-outside/click-outside.event.d.ts +4 -0
  169. package/lib/directives/component-size/component-size.directive.d.ts +18 -0
  170. package/lib/directives/destroy-parent/destroy-parent.directive.d.ts +10 -0
  171. package/lib/directives/dom-changes/dom-changes.directive.d.ts +12 -0
  172. package/lib/directives/if/if.directive.d.ts +11 -0
  173. package/lib/directives/image-size/image-load.directive.d.ts +12 -0
  174. package/lib/directives/image-size/services/image-load.event.d.ts +5 -0
  175. package/lib/directives/image-size/services/image-load.service.d.ts +10 -0
  176. package/lib/directives/image-size/services/image-size.model.d.ts +4 -0
  177. package/lib/directives/index.d.ts +16 -0
  178. package/lib/directives/mouse-down/mouse-down.directive.d.ts +12 -0
  179. package/lib/directives/scroll-into-view/scroll-into-view.directive.d.ts +11 -0
  180. package/lib/directives/scroll-tracker/scroll-tracker.directive.d.ts +11 -0
  181. package/lib/directives/show-hide-element/show-hide-element.directive.d.ts +13 -0
  182. package/lib/directives/template-reference/template-reference.directive.d.ts +10 -0
  183. package/lib/directives/throw-element-on-hover/throw-element-on-hover.directive.d.ts +13 -0
  184. package/lib/enums/direction.enum.d.ts +7 -0
  185. package/lib/enums/index.d.ts +8 -0
  186. package/lib/enums/media.enum.d.ts +11 -0
  187. package/lib/enums/position.enum.d.ts +10 -0
  188. package/lib/enums/sequence.enum.d.ts +7 -0
  189. package/lib/enums/size.enum.d.ts +9 -0
  190. package/lib/enums/sorting-direction.enum.d.ts +7 -0
  191. package/lib/enums/theme.enum.d.ts +7 -0
  192. package/lib/enums/ui.enum.d.ts +27 -0
  193. package/lib/models/class.model.d.ts +3 -0
  194. package/lib/models/index.d.ts +1 -0
  195. package/lib/ngx-sfc-common.module.d.ts +43 -0
  196. package/lib/pipes/index.d.ts +1 -0
  197. package/lib/pipes/switch-multi-case/switch-multi-case.pipe.d.ts +7 -0
  198. package/lib/services/document-ref.service.d.ts +43 -0
  199. package/lib/services/index.d.ts +3 -0
  200. package/lib/services/resize.service.d.ts +32 -0
  201. package/lib/services/window-ref.service.d.ts +43 -0
  202. package/lib/utils/collections.utils.d.ts +156 -0
  203. package/lib/utils/common.utils.d.ts +78 -0
  204. package/lib/utils/date-time.utils.d.ts +164 -0
  205. package/lib/utils/file.utils.d.ts +25 -0
  206. package/lib/utils/index.d.ts +6 -0
  207. package/lib/utils/string.utils.d.ts +19 -0
  208. package/lib/utils/ui.utils.d.ts +58 -0
  209. package/package.json +56 -0
  210. package/public-api.d.ts +8 -0
  211. package/styles/_colors.scss +48 -0
  212. package/styles/_index.scss +4 -0
  213. package/styles/_mixins-delimeter.scss +21 -0
  214. package/styles/_mixins-scroll.scss +38 -0
  215. package/styles/_mixins.scss +46 -0
  216. package/styles/_variables.scss +12 -0
  217. package/styles/themes/_dark.scss +17 -0
  218. package/styles/themes/_default.scss +18 -0
  219. package/styles/themes/_yellow.scss +3 -0
@@ -0,0 +1,47 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { combineLatest, map, startWith, Subject } from 'rxjs';
3
+ import { isDefined } from '../../../utils';
4
+ import { PaginationConstants } from '../pagination.constants';
5
+ import * as i0 from "@angular/core";
6
+ export class PaginationService {
7
+ constructor() {
8
+ /**
9
+ * Handle page changing
10
+ */
11
+ this.pageSubject = new Subject();
12
+ this.page$ = this.pageSubject.asObservable();
13
+ }
14
+ /** Need for init pagination observables */
15
+ init(data$, page = PaginationConstants.DEFAULT_PAGE, pageSize = PaginationConstants.DEFAULT_SIZE) {
16
+ if (isDefined(data$))
17
+ this.initObservables(data$, page, pageSize);
18
+ }
19
+ /**
20
+ * Move to page
21
+ */
22
+ page(page) {
23
+ this.pageSubject.next(page);
24
+ }
25
+ initObservables(data$, page, pageSize) {
26
+ this.total$ = data$.pipe(map((p) => p.length));
27
+ this.totalPages$ = this.total$.pipe(map((total) => Math.ceil(total / pageSize)));
28
+ this.pagination$ = combineLatest([this.totalPages$, this.page$.pipe(startWith(page))])
29
+ .pipe(map(([total, page]) => {
30
+ return {
31
+ page: page > total ? PaginationConstants.DEFAULT_PAGE : page,
32
+ next: Math.min(page + 1, total),
33
+ previous: Math.max(1, page - 1),
34
+ total: total
35
+ };
36
+ }));
37
+ }
38
+ }
39
+ PaginationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PaginationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
40
+ PaginationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PaginationService, providedIn: 'root' });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PaginationService, decorators: [{
42
+ type: Injectable,
43
+ args: [{
44
+ providedIn: 'root'
45
+ }]
46
+ }] });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21tb24vc3JjL2xpYi9jb21wb25lbnRzL3BhZ2luYXRpb24vc2VydmljZS9wYWdpbmF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFNOUQsTUFBTSxPQUFPLGlCQUFpQjtJQUg5QjtRQUtFOztXQUVHO1FBQ0ssZ0JBQVcsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBQ3BDLFVBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0tBNkNqRDtJQWxDQywyQ0FBMkM7SUFDcEMsSUFBSSxDQUNULEtBQXdCLEVBQ3hCLE9BQWUsbUJBQW1CLENBQUMsWUFBWSxFQUMvQyxXQUFtQixtQkFBbUIsQ0FBQyxZQUFZO1FBRW5ELElBQUksU0FBUyxDQUFDLEtBQUssQ0FBQztZQUNsQixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksSUFBSSxDQUFDLElBQVk7UUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVPLGVBQWUsQ0FBQyxLQUF3QixFQUFFLElBQVksRUFBRSxRQUFnQjtRQUM5RSxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUV0RCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXpGLElBQUksQ0FBQyxXQUFXLEdBQUcsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ25GLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ3BCLE9BQU87Z0JBQ0wsSUFBSSxFQUFFLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSTtnQkFDNUQsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUM7Z0JBQy9CLFFBQVEsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDO2dCQUMvQixLQUFLLEVBQUUsS0FBSzthQUNiLENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUFBO0lBQ0wsQ0FBQzs7OEdBbERVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07MkZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlLCBzdGFydFdpdGgsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgaXNEZWZpbmVkIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xyXG5pbXBvcnQgeyBQYWdpbmF0aW9uQ29uc3RhbnRzIH0gZnJvbSAnLi4vcGFnaW5hdGlvbi5jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBJUGFnaW5hdGlvbkV2ZW50IH0gZnJvbSAnLi9wYWdpbmF0aW9uLmV2ZW50JztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25TZXJ2aWNlIHtcclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlIHBhZ2UgY2hhbmdpbmdcclxuICAgKi9cclxuICBwcml2YXRlIHBhZ2VTdWJqZWN0ID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xyXG4gIHByaXZhdGUgcGFnZSQgPSB0aGlzLnBhZ2VTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAvKiogVG90YWwgaXRlbXMgKi9cclxuICBwdWJsaWMgdG90YWwkITogT2JzZXJ2YWJsZTxudW1iZXI+O1xyXG5cclxuICAvKiogVG90YWwgcGFnZXMgKi9cclxuICBwdWJsaWMgdG90YWxQYWdlcyQhOiBPYnNlcnZhYmxlPG51bWJlcj47XHJcblxyXG4gIC8qKiBQYWdpbmF0aW9uICBldmVudCBkYXRhICovXHJcbiAgcHVibGljIHBhZ2luYXRpb24kITogT2JzZXJ2YWJsZTxJUGFnaW5hdGlvbkV2ZW50PjtcclxuXHJcbiAgLyoqIE5lZWQgZm9yIGluaXQgcGFnaW5hdGlvbiBvYnNlcnZhYmxlcyAqL1xyXG4gIHB1YmxpYyBpbml0KFxyXG4gICAgZGF0YSQ6IE9ic2VydmFibGU8YW55W10+LFxyXG4gICAgcGFnZTogbnVtYmVyID0gUGFnaW5hdGlvbkNvbnN0YW50cy5ERUZBVUxUX1BBR0UsXHJcbiAgICBwYWdlU2l6ZTogbnVtYmVyID0gUGFnaW5hdGlvbkNvbnN0YW50cy5ERUZBVUxUX1NJWkUpIHtcclxuXHJcbiAgICBpZiAoaXNEZWZpbmVkKGRhdGEkKSlcclxuICAgICAgdGhpcy5pbml0T2JzZXJ2YWJsZXMoZGF0YSQsIHBhZ2UsIHBhZ2VTaXplKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1vdmUgdG8gcGFnZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBwYWdlKHBhZ2U6IG51bWJlcikge1xyXG4gICAgdGhpcy5wYWdlU3ViamVjdC5uZXh0KHBhZ2UpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0T2JzZXJ2YWJsZXMoZGF0YSQ6IE9ic2VydmFibGU8YW55W10+LCBwYWdlOiBudW1iZXIsIHBhZ2VTaXplOiBudW1iZXIpIHtcclxuICAgIHRoaXMudG90YWwkID0gZGF0YSQucGlwZShtYXAoKHA6IGFueVtdKSA9PiBwLmxlbmd0aCkpO1xyXG5cclxuICAgIHRoaXMudG90YWxQYWdlcyQgPSB0aGlzLnRvdGFsJC5waXBlKG1hcCgodG90YWw6IG51bWJlcikgPT4gTWF0aC5jZWlsKHRvdGFsIC8gcGFnZVNpemUpKSk7XHJcblxyXG4gICAgdGhpcy5wYWdpbmF0aW9uJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMudG90YWxQYWdlcyQsIHRoaXMucGFnZSQucGlwZShzdGFydFdpdGgocGFnZSkpXSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKChbdG90YWwsIHBhZ2VdKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBwYWdlOiBwYWdlID4gdG90YWwgPyBQYWdpbmF0aW9uQ29uc3RhbnRzLkRFRkFVTFRfUEFHRSA6IHBhZ2UsXHJcbiAgICAgICAgICAgIG5leHQ6IE1hdGgubWluKHBhZ2UgKyAxLCB0b3RhbCksXHJcbiAgICAgICAgICAgIHByZXZpb3VzOiBNYXRoLm1heCgxLCBwYWdlIC0gMSksXHJcbiAgICAgICAgICAgIHRvdGFsOiB0b3RhbFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydGluZy5ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tbW9uL3NyYy9saWIvY29tcG9uZW50cy9zb3J0aW5nL3NlcnZpY2Uvc29ydGluZy5ldmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU29ydGluZ0RpcmVjdGlvbiB9IGZyb20gXCIuLi8uLi8uLi9lbnVtc1wiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJU29ydGluZ0V2ZW50IHtcclxuICAgIGlkOiBzdHJpbmc7XHJcbiAgICBkaXJlY3Rpb246IFNvcnRpbmdEaXJlY3Rpb247XHJcbn0iXX0=
@@ -0,0 +1,21 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export class SortingService {
5
+ constructor() {
6
+ this.sortingSubject = new Subject();
7
+ this.sorting$ = this.sortingSubject.asObservable();
8
+ }
9
+ sort(event) {
10
+ this.sortingSubject.next(event);
11
+ }
12
+ }
13
+ SortingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SortingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
14
+ SortingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SortingService, providedIn: 'root' });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SortingService, decorators: [{
16
+ type: Injectable,
17
+ args: [{
18
+ providedIn: 'root'
19
+ }]
20
+ }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21tb24vc3JjL2xpYi9jb21wb25lbnRzL3NvcnRpbmcvc2VydmljZS9zb3J0aW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQU0vQixNQUFNLE9BQU8sY0FBYztJQUgzQjtRQUlVLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQWlCLENBQUM7UUFFdEQsYUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7S0FLL0M7SUFIQyxJQUFJLENBQUMsS0FBb0I7UUFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7MkdBUFUsY0FBYzsrR0FBZCxjQUFjLGNBRmIsTUFBTTsyRkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBJU29ydGluZ0V2ZW50IH0gZnJvbSAnLi9zb3J0aW5nLmV2ZW50JztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNvcnRpbmdTZXJ2aWNlIHtcclxuICBwcml2YXRlIHNvcnRpbmdTdWJqZWN0ID0gbmV3IFN1YmplY3Q8SVNvcnRpbmdFdmVudD4oKTtcclxuXHJcbiAgc29ydGluZyQgPSB0aGlzLnNvcnRpbmdTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBzb3J0KGV2ZW50OiBJU29ydGluZ0V2ZW50KSB7XHJcbiAgICB0aGlzLnNvcnRpbmdTdWJqZWN0Lm5leHQoZXZlbnQpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,71 @@
1
+ import { Component, HostBinding, HostListener, Input } from '@angular/core';
2
+ import { CommonConstants } from '../../constants';
3
+ import { SortingDirection, UIClass } from '../../enums';
4
+ import { firstOrDefault, isDefined } from '../../utils';
5
+ import { SortingConstants } from './sorting.constants';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "./service/sorting.service";
8
+ import * as i2 from "@angular/common";
9
+ import * as i3 from "@fortawesome/angular-fontawesome";
10
+ export class SortingComponent {
11
+ constructor(service) {
12
+ this.service = service;
13
+ this.SortingDirection = SortingDirection;
14
+ this.id = CommonConstants.EMPTY_STRING;
15
+ this.model = { active: false, enabled: false, direction: SortingDirection.Ascending };
16
+ }
17
+ get enabled() {
18
+ return this.model.enabled;
19
+ }
20
+ get active() {
21
+ return this.model.active || false;
22
+ }
23
+ sort() {
24
+ if (this.enabled) {
25
+ if (this.active) {
26
+ this.model.direction = this.model.direction === SortingDirection.Ascending
27
+ ? SortingDirection.Descending
28
+ : SortingDirection.Ascending;
29
+ }
30
+ this.service.sort({ id: this.id, direction: this.model.direction });
31
+ }
32
+ }
33
+ get icon() {
34
+ const modelIcon = firstOrDefault(this.model.icons, i => i.direction == this.model.direction);
35
+ return modelIcon ? modelIcon.icon : this.model.direction === SortingDirection.Ascending
36
+ ? SortingConstants.DEFAULT_ASCENDING_ICON : SortingConstants.DEFAULT_DESCENDING_ICON;
37
+ }
38
+ ngOnInit() {
39
+ if (!isDefined(this.model))
40
+ this.model = { active: false, enabled: false, direction: SortingDirection.Ascending };
41
+ // subscribe to sort changes so we can react when other columns are sorted
42
+ this._subscription = this.service.sorting$.subscribe(event => {
43
+ // reset this column's sort direction to hide the sort icons
44
+ if (this.id != event.id)
45
+ this.model.direction = SortingDirection.Ascending;
46
+ });
47
+ }
48
+ ngOnDestroy() {
49
+ this._subscription.unsubscribe();
50
+ }
51
+ }
52
+ SortingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SortingComponent, deps: [{ token: i1.SortingService }], target: i0.ɵɵFactoryTarget.Component });
53
+ SortingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: SortingComponent, selector: "sfc-sorting", inputs: { id: "id", model: "model" }, host: { listeners: { "click": "sort()" }, properties: { "class.enabled": "this.enabled", "class.active": "this.active" } }, ngImport: i0, template: "<div class=\"container\">\r\n <div class=\"content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div *ngIf=\"enabled\" class=\"icons\">\r\n <fa-icon [icon]=\"icon\"></fa-icon>\r\n </div>\r\n</div>", styles: [":host{cursor:default;text-overflow:ellipsis;overflow:hidden}:host.enabled{cursor:pointer}:host .container{display:flex;min-width:0}:host .container,:host-context(.sfc-default-theme) :host .container{color:#545e61}:host-context(.sfc-dark-theme) :host .container{color:#fff}:host .container:hover{color:#ffce54}:host .container .content{display:flex;-webkit-user-select:none;user-select:none}:host .container .icons{margin:0 .31em;font-size:.7em;display:flex;align-items:center;transition:all .3s}:host.active .container{color:#ffce54}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }] });
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SortingComponent, decorators: [{
55
+ type: Component,
56
+ args: [{ selector: 'sfc-sorting', template: "<div class=\"container\">\r\n <div class=\"content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div *ngIf=\"enabled\" class=\"icons\">\r\n <fa-icon [icon]=\"icon\"></fa-icon>\r\n </div>\r\n</div>", styles: [":host{cursor:default;text-overflow:ellipsis;overflow:hidden}:host.enabled{cursor:pointer}:host .container{display:flex;min-width:0}:host .container,:host-context(.sfc-default-theme) :host .container{color:#545e61}:host-context(.sfc-dark-theme) :host .container{color:#fff}:host .container:hover{color:#ffce54}:host .container .content{display:flex;-webkit-user-select:none;user-select:none}:host .container .icons{margin:0 .31em;font-size:.7em;display:flex;align-items:center;transition:all .3s}:host.active .container{color:#ffce54}\n"] }]
57
+ }], ctorParameters: function () { return [{ type: i1.SortingService }]; }, propDecorators: { id: [{
58
+ type: Input
59
+ }], model: [{
60
+ type: Input
61
+ }], enabled: [{
62
+ type: HostBinding,
63
+ args: [`class.${UIClass.Enabled}`]
64
+ }], active: [{
65
+ type: HostBinding,
66
+ args: [`class.${UIClass.Active}`]
67
+ }], sort: [{
68
+ type: HostListener,
69
+ args: ['click']
70
+ }] } });
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvc29ydGluZy9zb3J0aW5nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tbW9uL3NyYy9saWIvY29tcG9uZW50cy9zb3J0aW5nL3NvcnRpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFHL0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBUXZELE1BQU0sT0FBTyxnQkFBZ0I7SUEwQzNCLFlBQW9CLE9BQXVCO1FBQXZCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBeEMzQyxxQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUdwQyxPQUFFLEdBQVcsZUFBZSxDQUFDLFlBQVksQ0FBQztRQUcxQyxVQUFLLEdBQWtCLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQWtDakQsQ0FBQztJQWhDaEQsSUFDSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFDSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUM7SUFDcEMsQ0FBQztJQUdELElBQUk7UUFDRixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFFaEIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNmLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxLQUFLLGdCQUFnQixDQUFDLFNBQVM7b0JBQ3hFLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVO29CQUM3QixDQUFDLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDO2FBQ2hDO1lBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1NBQ3JFO0lBQ0gsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3RixPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEtBQUssZ0JBQWdCLENBQUMsU0FBUztZQUNyRixDQUFDLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLHVCQUF1QixDQUFDO0lBQ3pGLENBQUM7SUFNRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRXhGLDBFQUEwRTtRQUMxRSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMzRCw0REFBNEQ7WUFDNUQsSUFBSSxJQUFJLENBQUMsRUFBRSxJQUFJLEtBQUssQ0FBQyxFQUFFO2dCQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkMsQ0FBQzs7NkdBMURVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLHFOQ2Y3QixtT0FPTTsyRkRRTyxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsYUFBYTtxR0FTdkIsRUFBRTtzQkFERCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJRixPQUFPO3NCQURWLFdBQVc7dUJBQUMsU0FBUyxPQUFPLENBQUMsT0FBTyxFQUFFO2dCQU1uQyxNQUFNO3NCQURULFdBQVc7dUJBQUMsU0FBUyxPQUFPLENBQUMsTUFBTSxFQUFFO2dCQU10QyxJQUFJO3NCQURILFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEljb25EZWZpbml0aW9uIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvbW1vbkNvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IFNvcnRpbmdEaXJlY3Rpb24sIFVJQ2xhc3MgfSBmcm9tICcuLi8uLi9lbnVtcyc7XHJcbmltcG9ydCB7IGZpcnN0T3JEZWZhdWx0LCBpc0RlZmluZWQgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IFNvcnRpbmdTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlL3NvcnRpbmcuc2VydmljZSc7XHJcbmltcG9ydCB7IFNvcnRpbmdDb25zdGFudHMgfSBmcm9tICcuL3NvcnRpbmcuY29uc3RhbnRzJztcclxuaW1wb3J0IHsgSVNvcnRpbmdNb2RlbCB9IGZyb20gJy4vc29ydGluZy5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NmYy1zb3J0aW5nJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc29ydGluZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc29ydGluZy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTb3J0aW5nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICBTb3J0aW5nRGlyZWN0aW9uID0gU29ydGluZ0RpcmVjdGlvbjtcclxuXHJcbiAgQElucHV0KClcclxuICBpZDogc3RyaW5nID0gQ29tbW9uQ29uc3RhbnRzLkVNUFRZX1NUUklORztcclxuXHJcbiAgQElucHV0KClcclxuICBtb2RlbDogSVNvcnRpbmdNb2RlbCA9IHsgYWN0aXZlOiBmYWxzZSwgZW5hYmxlZDogZmFsc2UsIGRpcmVjdGlvbjogU29ydGluZ0RpcmVjdGlvbi5Bc2NlbmRpbmcgfTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKGBjbGFzcy4ke1VJQ2xhc3MuRW5hYmxlZH1gKVxyXG4gIGdldCBlbmFibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMubW9kZWwuZW5hYmxlZDtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZyhgY2xhc3MuJHtVSUNsYXNzLkFjdGl2ZX1gKVxyXG4gIGdldCBhY3RpdmUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5tb2RlbC5hY3RpdmUgfHwgZmFsc2U7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXHJcbiAgc29ydCgpIHtcclxuICAgIGlmICh0aGlzLmVuYWJsZWQpIHtcclxuXHJcbiAgICAgIGlmICh0aGlzLmFjdGl2ZSkge1xyXG4gICAgICAgIHRoaXMubW9kZWwuZGlyZWN0aW9uID0gdGhpcy5tb2RlbC5kaXJlY3Rpb24gPT09IFNvcnRpbmdEaXJlY3Rpb24uQXNjZW5kaW5nXHJcbiAgICAgICAgICA/IFNvcnRpbmdEaXJlY3Rpb24uRGVzY2VuZGluZ1xyXG4gICAgICAgICAgOiBTb3J0aW5nRGlyZWN0aW9uLkFzY2VuZGluZztcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5zZXJ2aWNlLnNvcnQoeyBpZDogdGhpcy5pZCwgZGlyZWN0aW9uOiB0aGlzLm1vZGVsLmRpcmVjdGlvbiB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCBpY29uKCk6IEljb25EZWZpbml0aW9uIHtcclxuICAgIGNvbnN0IG1vZGVsSWNvbiA9IGZpcnN0T3JEZWZhdWx0KHRoaXMubW9kZWwuaWNvbnMsIGkgPT4gaS5kaXJlY3Rpb24gPT0gdGhpcy5tb2RlbC5kaXJlY3Rpb24pO1xyXG4gICAgcmV0dXJuIG1vZGVsSWNvbiA/IG1vZGVsSWNvbi5pY29uIDogdGhpcy5tb2RlbC5kaXJlY3Rpb24gPT09IFNvcnRpbmdEaXJlY3Rpb24uQXNjZW5kaW5nXHJcbiAgICAgID8gU29ydGluZ0NvbnN0YW50cy5ERUZBVUxUX0FTQ0VORElOR19JQ09OIDogU29ydGluZ0NvbnN0YW50cy5ERUZBVUxUX0RFU0NFTkRJTkdfSUNPTjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzZXJ2aWNlOiBTb3J0aW5nU2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKCFpc0RlZmluZWQodGhpcy5tb2RlbCkpXHJcbiAgICAgIHRoaXMubW9kZWwgPSB7IGFjdGl2ZTogZmFsc2UsIGVuYWJsZWQ6IGZhbHNlLCBkaXJlY3Rpb246IFNvcnRpbmdEaXJlY3Rpb24uQXNjZW5kaW5nIH07XHJcblxyXG4gICAgLy8gc3Vic2NyaWJlIHRvIHNvcnQgY2hhbmdlcyBzbyB3ZSBjYW4gcmVhY3Qgd2hlbiBvdGhlciBjb2x1bW5zIGFyZSBzb3J0ZWRcclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbiA9IHRoaXMuc2VydmljZS5zb3J0aW5nJC5zdWJzY3JpYmUoZXZlbnQgPT4ge1xyXG4gICAgICAvLyByZXNldCB0aGlzIGNvbHVtbidzIHNvcnQgZGlyZWN0aW9uIHRvIGhpZGUgdGhlIHNvcnQgaWNvbnNcclxuICAgICAgaWYgKHRoaXMuaWQgIT0gZXZlbnQuaWQpXHJcbiAgICAgICAgdGhpcy5tb2RlbC5kaXJlY3Rpb24gPSBTb3J0aW5nRGlyZWN0aW9uLkFzY2VuZGluZztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cclxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJlbmFibGVkXCIgY2xhc3M9XCJpY29uc1wiPlxyXG4gICAgICAgIDxmYS1pY29uIFtpY29uXT1cImljb25cIj48L2ZhLWljb24+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
@@ -0,0 +1,6 @@
1
+ import { faChevronUp, faChevronDown } from '@fortawesome/free-solid-svg-icons';
2
+ export class SortingConstants {
3
+ }
4
+ SortingConstants.DEFAULT_ASCENDING_ICON = faChevronUp;
5
+ SortingConstants.DEFAULT_DESCENDING_ICON = faChevronDown;
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydGluZy5jb25zdGFudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvc29ydGluZy9zb3J0aW5nLmNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRS9FLE1BQU0sT0FBTyxnQkFBZ0I7O0FBQ2xCLHVDQUFzQixHQUFHLFdBQVcsQ0FBQztBQUNyQyx3Q0FBdUIsR0FBRyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmYUNoZXZyb25VcCwgZmFDaGV2cm9uRG93biB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XHJcblxyXG5leHBvcnQgY2xhc3MgU29ydGluZ0NvbnN0YW50cyB7XHJcbiAgICBzdGF0aWMgREVGQVVMVF9BU0NFTkRJTkdfSUNPTiA9IGZhQ2hldnJvblVwO1xyXG4gICAgc3RhdGljIERFRkFVTFRfREVTQ0VORElOR19JQ09OID0gZmFDaGV2cm9uRG93bjtcclxufSJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydGluZy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tbW9uL3NyYy9saWIvY29tcG9uZW50cy9zb3J0aW5nL3NvcnRpbmcubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNvcnRpbmdEaXJlY3Rpb24gfSBmcm9tIFwiLi4vLi4vZW51bXNcIjtcclxuaW1wb3J0IHsgSWNvbkRlZmluaXRpb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJU29ydGluZ01vZGVsIHtcclxuICAgIGVuYWJsZWQ6IGJvb2xlYW47XHJcbiAgICBhY3RpdmU/OiBib29sZWFuO1xyXG4gICAgZGlyZWN0aW9uOiBTb3J0aW5nRGlyZWN0aW9uO1xyXG4gICAgaWNvbnM/OiBJU29ydGluZ0ljb25bXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJU29ydGluZ0ljb24ge1xyXG4gICAgZGlyZWN0aW9uOiBTb3J0aW5nRGlyZWN0aW9uO1xyXG4gICAgaWNvbjogSWNvbkRlZmluaXRpb247XHJcbn0iXX0=
@@ -0,0 +1,31 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { firstOrDefault, isDefined } from '../../utils';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class TemplateContentComponent {
6
+ get showDefault() {
7
+ return !isDefined(this.referenceContent)
8
+ && !isDefined(this.templateContent);
9
+ }
10
+ get templateContent() {
11
+ const templateRef = firstOrDefault(this.templatesContent?.toArray(), t => t.templateName == this.templateType);
12
+ return templateRef?.template || null;
13
+ }
14
+ }
15
+ TemplateContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TemplateContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16
+ TemplateContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TemplateContentComponent, selector: "sfc-template-content", inputs: { contextData: "contextData", referenceContent: "referenceContent", templateType: "templateType", templatesContent: "templatesContent", defaultContent: "defaultContent" }, ngImport: i0, template: "<ng-container *ngIf=\"referenceContent;else template\">\r\n <ng-container *ngTemplateOutlet=\"referenceContent;context:{$implicit: contextData}\"></ng-container>\r\n</ng-container>\r\n\r\n<ng-template #template>\r\n <ng-container *ngTemplateOutlet=\"templateContent;context:{$implicit: contextData}\">\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-container *ngIf=\"defaultContent && showDefault\">\r\n <ng-container *ngTemplateOutlet=\"defaultContent;context:{$implicit: contextData}\"></ng-container>\r\n</ng-container>", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TemplateContentComponent, decorators: [{
18
+ type: Component,
19
+ args: [{ selector: 'sfc-template-content', template: "<ng-container *ngIf=\"referenceContent;else template\">\r\n <ng-container *ngTemplateOutlet=\"referenceContent;context:{$implicit: contextData}\"></ng-container>\r\n</ng-container>\r\n\r\n<ng-template #template>\r\n <ng-container *ngTemplateOutlet=\"templateContent;context:{$implicit: contextData}\">\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-container *ngIf=\"defaultContent && showDefault\">\r\n <ng-container *ngTemplateOutlet=\"defaultContent;context:{$implicit: contextData}\"></ng-container>\r\n</ng-container>", styles: [":host{display:contents}\n"] }]
20
+ }], propDecorators: { contextData: [{
21
+ type: Input
22
+ }], referenceContent: [{
23
+ type: Input
24
+ }], templateType: [{
25
+ type: Input
26
+ }], templatesContent: [{
27
+ type: Input
28
+ }], defaultContent: [{
29
+ type: Input
30
+ }] } });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvdGVtcGxhdGUtY29udGVudC90ZW1wbGF0ZS1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tbW9uL3NyYy9saWIvY29tcG9uZW50cy90ZW1wbGF0ZS1jb250ZW50L3RlbXBsYXRlLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQTBCLE1BQU0sZUFBZSxDQUFDO0FBRXpFLE9BQU8sRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7QUFPeEQsTUFBTSxPQUFPLHdCQUF3QjtJQWlCbkMsSUFBSSxXQUFXO1FBQ2IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7ZUFDbkMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsRUFDakUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUU1QyxPQUFPLFdBQVcsRUFBRSxRQUFRLElBQUksSUFBSSxDQUFDO0lBQ3ZDLENBQUM7O3FIQTNCVSx3QkFBd0I7eUdBQXhCLHdCQUF3QixnUENUckMsMGhCQVdlOzJGREZGLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSxzQkFBc0I7OEJBT2hDLFdBQVc7c0JBRFYsS0FBSztnQkFJTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBSU4sY0FBYztzQkFEYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVJlZmVyZW5jZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xyXG5pbXBvcnQgeyBmaXJzdE9yRGVmYXVsdCwgaXNEZWZpbmVkIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzZmMtdGVtcGxhdGUtY29udGVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbXBsYXRlLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlczogWyc6aG9zdHsgZGlzcGxheTogY29udGVudHM7fSddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZUNvbnRlbnRDb21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGNvbnRleHREYXRhPzogYW55O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHJlZmVyZW5jZUNvbnRlbnQ/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHRlbXBsYXRlVHlwZT86IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICB0ZW1wbGF0ZXNDb250ZW50OiBRdWVyeUxpc3Q8VGVtcGxhdGVSZWZlcmVuY2VEaXJlY3RpdmU+IHwgdW5kZWZpbmVkO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGRlZmF1bHRDb250ZW50PzogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgZ2V0IHNob3dEZWZhdWx0KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICFpc0RlZmluZWQodGhpcy5yZWZlcmVuY2VDb250ZW50KVxyXG4gICAgICAmJiAhaXNEZWZpbmVkKHRoaXMudGVtcGxhdGVDb250ZW50KTtcclxuICB9XHJcblxyXG4gIGdldCB0ZW1wbGF0ZUNvbnRlbnQoKTogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwge1xyXG4gICAgY29uc3QgdGVtcGxhdGVSZWYgPSBmaXJzdE9yRGVmYXVsdCh0aGlzLnRlbXBsYXRlc0NvbnRlbnQ/LnRvQXJyYXkoKSxcclxuICAgICAgdCA9PiB0LnRlbXBsYXRlTmFtZSA9PSB0aGlzLnRlbXBsYXRlVHlwZSk7XHJcblxyXG4gICAgcmV0dXJuIHRlbXBsYXRlUmVmPy50ZW1wbGF0ZSB8fCBudWxsO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwicmVmZXJlbmNlQ29udGVudDtlbHNlIHRlbXBsYXRlXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVmZXJlbmNlQ29udGVudDtjb250ZXh0OnskaW1wbGljaXQ6IGNvbnRleHREYXRhfVwiPjwvbmctY29udGFpbmVyPlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGVDb250ZW50O2NvbnRleHQ6eyRpbXBsaWNpdDogY29udGV4dERhdGF9XCI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJkZWZhdWx0Q29udGVudCAmJiBzaG93RGVmYXVsdFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRlZmF1bHRDb250ZW50O2NvbnRleHQ6eyRpbXBsaWNpdDogY29udGV4dERhdGF9XCI+PC9uZy1jb250YWluZXI+XHJcbjwvbmctY29udGFpbmVyPiJdfQ==
@@ -0,0 +1,38 @@
1
+ import { Component, HostBinding, HostListener, Input } from '@angular/core';
2
+ import { UIClass } from '../../enums';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@fortawesome/angular-fontawesome";
6
+ export class ToggleSwitcherComponent {
7
+ constructor() {
8
+ this.active = false;
9
+ this.disabled = false;
10
+ this.onClick = () => this.active = !this.active;
11
+ this.leftModel = { label: 'Left' };
12
+ this.rightModel = { label: 'Right' };
13
+ }
14
+ }
15
+ ToggleSwitcherComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ToggleSwitcherComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16
+ ToggleSwitcherComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ToggleSwitcherComponent, selector: "sfc-toggle-switcher", inputs: { active: "active", disabled: "disabled", leftModel: "leftModel", rightModel: "rightModel" }, host: { listeners: { "click": "onClick()" }, properties: { "class.active": "this.active", "class.disabled": "this.disabled" } }, ngImport: i0, template: "<div class=\"container\">\r\n <div class=\"toggle\"></div>\r\n <div class=\"names\">\r\n <p class=\"left\">\r\n <fa-icon *ngIf=\"leftModel.icon\" [icon]=\"leftModel.icon\"></fa-icon>\r\n <span>{{leftModel.label}}</span>\r\n </p>\r\n <p class=\"right\">\r\n <fa-icon *ngIf=\"rightModel.icon\" [icon]=\"rightModel.icon\"></fa-icon>\r\n <span>{{rightModel.label}}</span>\r\n </p>\r\n </div>\r\n</div>", styles: [":host .container,:host .toggle{height:100%;border-radius:100px}:host .container{width:100%;background-color:#e6e9ed;color:#545e61;border-radius:100px;position:relative;cursor:pointer}:host .container .toggle{position:absolute;width:50%;background-color:#fff;box-shadow:0 .125em .5em #656d78;transition:transform .3s cubic-bezier(.25,.46,.45,.94)}:host .container .names{font-size:90%;font-weight:bolder;width:100%;height:100%;position:relative;display:flex;justify-content:space-around;align-items:center;-webkit-user-select:none;user-select:none;overflow:hidden}:host .container .names p{font-size:90%;text-align:center;margin:0;padding:.5em 1em}:host .container .names p.right{opacity:.5}:host.active .container{background-color:#e6e9ed}:host.active .container .toggle{transform:translate(100%);background-color:#fff}:host.active .container .names{color:#545e61}:host.active .container .names .left{opacity:.5}:host.active .container .names .right{opacity:1}:host.disabled{pointer-events:none}:host.disabled .container,:host-context(.sfc-default-theme) :host.disabled .container{background-color:#f6f6f6}:host-context(.sfc-dark-theme) :host.disabled .container{background-color:#656d78}:host.disabled .container .toggle{box-shadow:none}:host.disabled .container .toggle,:host-context(.sfc-default-theme) :host.disabled .container .toggle{background-color:#e6e9ed}:host-context(.sfc-dark-theme) :host.disabled .container .toggle{background-color:#aab2bd}:host.disabled .container .names,:host-context(.sfc-default-theme) :host.disabled .container .names{color:#bdbdbd}:host-context(.sfc-dark-theme) :host.disabled .container .names{color:#e9e9e9}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }] });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ToggleSwitcherComponent, decorators: [{
18
+ type: Component,
19
+ args: [{ selector: 'sfc-toggle-switcher', template: "<div class=\"container\">\r\n <div class=\"toggle\"></div>\r\n <div class=\"names\">\r\n <p class=\"left\">\r\n <fa-icon *ngIf=\"leftModel.icon\" [icon]=\"leftModel.icon\"></fa-icon>\r\n <span>{{leftModel.label}}</span>\r\n </p>\r\n <p class=\"right\">\r\n <fa-icon *ngIf=\"rightModel.icon\" [icon]=\"rightModel.icon\"></fa-icon>\r\n <span>{{rightModel.label}}</span>\r\n </p>\r\n </div>\r\n</div>", styles: [":host .container,:host .toggle{height:100%;border-radius:100px}:host .container{width:100%;background-color:#e6e9ed;color:#545e61;border-radius:100px;position:relative;cursor:pointer}:host .container .toggle{position:absolute;width:50%;background-color:#fff;box-shadow:0 .125em .5em #656d78;transition:transform .3s cubic-bezier(.25,.46,.45,.94)}:host .container .names{font-size:90%;font-weight:bolder;width:100%;height:100%;position:relative;display:flex;justify-content:space-around;align-items:center;-webkit-user-select:none;user-select:none;overflow:hidden}:host .container .names p{font-size:90%;text-align:center;margin:0;padding:.5em 1em}:host .container .names p.right{opacity:.5}:host.active .container{background-color:#e6e9ed}:host.active .container .toggle{transform:translate(100%);background-color:#fff}:host.active .container .names{color:#545e61}:host.active .container .names .left{opacity:.5}:host.active .container .names .right{opacity:1}:host.disabled{pointer-events:none}:host.disabled .container,:host-context(.sfc-default-theme) :host.disabled .container{background-color:#f6f6f6}:host-context(.sfc-dark-theme) :host.disabled .container{background-color:#656d78}:host.disabled .container .toggle{box-shadow:none}:host.disabled .container .toggle,:host-context(.sfc-default-theme) :host.disabled .container .toggle{background-color:#e6e9ed}:host-context(.sfc-dark-theme) :host.disabled .container .toggle{background-color:#aab2bd}:host.disabled .container .names,:host-context(.sfc-default-theme) :host.disabled .container .names{color:#bdbdbd}:host-context(.sfc-dark-theme) :host.disabled .container .names{color:#e9e9e9}\n"] }]
20
+ }], ctorParameters: function () { return []; }, propDecorators: { active: [{
21
+ type: Input
22
+ }, {
23
+ type: HostBinding,
24
+ args: ['class.' + UIClass.Active]
25
+ }], disabled: [{
26
+ type: Input
27
+ }, {
28
+ type: HostBinding,
29
+ args: ['class.' + UIClass.Disabled]
30
+ }], leftModel: [{
31
+ type: Input
32
+ }], rightModel: [{
33
+ type: Input
34
+ }], onClick: [{
35
+ type: HostListener,
36
+ args: ['click']
37
+ }] } });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLXN3aXRjaGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tbW9uL3NyYy9saWIvY29tcG9uZW50cy90b2dnbGUtc3dpdGNoZXIvdG9nZ2xlLXN3aXRjaGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tbW9uL3NyYy9saWIvY29tcG9uZW50cy90b2dnbGUtc3dpdGNoZXIvdG9nZ2xlLXN3aXRjaGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQVF0QyxNQUFNLE9BQU8sdUJBQXVCO0lBbUJsQztRQWZBLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFJeEIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQVMxQixZQUFPLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFHekMsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ3ZDLENBQUM7O29IQXRCVSx1QkFBdUI7d0dBQXZCLHVCQUF1QixrU0NUcEMsZ2VBWU07MkZESE8sdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHFCQUFxQjswRUFRL0IsTUFBTTtzQkFGTCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsTUFBTTtnQkFLdEMsUUFBUTtzQkFGUCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUTtnQkFJeEMsU0FBUztzQkFEUixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVUlDbGFzcyB9IGZyb20gJy4uLy4uL2VudW1zJztcclxuaW1wb3J0IHsgSVRvZ2dsZVN3aXRjaGVyTW9kZWwgfSBmcm9tICcuL3RvZ2dsZS1zd2l0Y2hlci5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NmYy10b2dnbGUtc3dpdGNoZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90b2dnbGUtc3dpdGNoZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RvZ2dsZS1zd2l0Y2hlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUb2dnbGVTd2l0Y2hlckNvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy4nICsgVUlDbGFzcy5BY3RpdmUpXHJcbiAgYWN0aXZlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy4nICsgVUlDbGFzcy5EaXNhYmxlZClcclxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGxlZnRNb2RlbDogSVRvZ2dsZVN3aXRjaGVyTW9kZWw7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcmlnaHRNb2RlbDogSVRvZ2dsZVN3aXRjaGVyTW9kZWw7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcclxuICBvbkNsaWNrID0gKCkgPT4gdGhpcy5hY3RpdmUgPSAhdGhpcy5hY3RpdmU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5sZWZ0TW9kZWwgPSB7IGxhYmVsOiAnTGVmdCcgfTtcclxuICAgIHRoaXMucmlnaHRNb2RlbCA9IHsgbGFiZWw6ICdSaWdodCcgfTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInRvZ2dsZVwiPjwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIm5hbWVzXCI+XHJcbiAgICAgICAgPHAgY2xhc3M9XCJsZWZ0XCI+XHJcbiAgICAgICAgICAgIDxmYS1pY29uICpuZ0lmPVwibGVmdE1vZGVsLmljb25cIiBbaWNvbl09XCJsZWZ0TW9kZWwuaWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgICAgPHNwYW4+e3tsZWZ0TW9kZWwubGFiZWx9fTwvc3Bhbj5cclxuICAgICAgICA8L3A+XHJcbiAgICAgICAgPHAgY2xhc3M9XCJyaWdodFwiPlxyXG4gICAgICAgICAgICA8ZmEtaWNvbiAqbmdJZj1cInJpZ2h0TW9kZWwuaWNvblwiIFtpY29uXT1cInJpZ2h0TW9kZWwuaWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgICAgPHNwYW4+e3tyaWdodE1vZGVsLmxhYmVsfX08L3NwYW4+XHJcbiAgICAgICAgPC9wPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLXN3aXRjaGVyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21tb24vc3JjL2xpYi9jb21wb25lbnRzL3RvZ2dsZS1zd2l0Y2hlci90b2dnbGUtc3dpdGNoZXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEljb25EZWZpbml0aW9uIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVRvZ2dsZVN3aXRjaGVyTW9kZWwge1xyXG4gICAgbGFiZWw6IHN0cmluZyxcclxuICAgIGljb24/OiBJY29uRGVmaW5pdGlvbjtcclxufSJdfQ==
@@ -0,0 +1,6 @@
1
+ export var TooltipType;
2
+ (function (TooltipType) {
3
+ TooltipType["Hover"] = "hover";
4
+ TooltipType["Click"] = "click";
5
+ })(TooltipType || (TooltipType = {}));
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC10eXBlLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLXR5cGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxXQUdYO0FBSEQsV0FBWSxXQUFXO0lBQ25CLDhCQUFlLENBQUE7SUFDZiw4QkFBZSxDQUFBO0FBQ25CLENBQUMsRUFIVyxXQUFXLEtBQVgsV0FBVyxRQUd0QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFRvb2x0aXBUeXBlIHtcclxuICAgIEhvdmVyID0gJ2hvdmVyJyxcclxuICAgIENsaWNrID0gJ2NsaWNrJ1xyXG59Il19
@@ -0,0 +1,69 @@
1
+ import { Component, HostBinding, HostListener, Inject, Input } from '@angular/core';
2
+ import { startWith } from 'rxjs';
3
+ import { Position, MediaLimits } from '../../enums';
4
+ import { WINDOW } from '../../services';
5
+ import { TooltipType } from './tooltip-type.enum';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../services";
8
+ export class TooltipComponent {
9
+ constructor(resizeService, window) {
10
+ this.resizeService = resizeService;
11
+ this.window = window;
12
+ this.tooltipType = TooltipType.Hover;
13
+ this.tooltipPosition = Position.Top;
14
+ this.tooltipShow = false;
15
+ // preserved position
16
+ this._position = Position.Top;
17
+ }
18
+ click() {
19
+ if (this.tooltipType == TooltipType.Click) {
20
+ this.tooltipShow = !this.tooltipShow;
21
+ }
22
+ }
23
+ ngOnInit() {
24
+ this._position = this.tooltipPosition;
25
+ }
26
+ ngAfterContentInit() {
27
+ this._resizeSubscription = this.resizeService.onResize$
28
+ .pipe(startWith(this.window))
29
+ .subscribe(window => this.tooltipPosition = window.innerWidth <= MediaLimits.Tablet
30
+ ? Position.Bottom : this._position);
31
+ }
32
+ ngOnDestroy() {
33
+ this._resizeSubscription?.unsubscribe();
34
+ }
35
+ }
36
+ TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TooltipComponent, deps: [{ token: i1.ResizeService }, { token: WINDOW }], target: i0.ɵɵFactoryTarget.Component });
37
+ TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TooltipComponent, selector: "[sfc-tooltip]", inputs: { value: ["sfc-tooltip", "value"], tooltipType: "tooltipType", tooltipPosition: "tooltipPosition", tooltipShow: "tooltipShow" }, host: { listeners: { "click": "click()" }, properties: { "attr.value": "this.value", "attr.type": "this.tooltipType", "attr.position": "this.tooltipPosition", "class.show": "this.tooltipShow" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host{position:relative}:host:before,:host:after{position:absolute;left:50%;bottom:calc(100% + 5px);pointer-events:none;transition:.2s;will-change:transform}:host:hover:before,:host.show:before{content:attr(value);padding:.4em .7em;font-size:.8em;font-weight:initial;width:inherit;max-width:18.75em;border-radius:6px;background-color:#545e61;box-shadow:0 0 20.25em #aab2bd;color:#fff;text-align:center;white-space:pre-wrap;overflow:hidden;word-wrap:break-word;z-index:9999}:host:after{content:\"\";border-style:solid;transition-duration:0s;transform:translate(-50%) scaleY(0)}:host[type=hover]:before,:host[type=hover]:after,:host:not(.show):before,:host:not(.show):after{visibility:hidden;opacity:0}:host[type=hover]:hover:before,:host[type=hover]:hover:after,:host.show:before,:host.show:after{visibility:visible;opacity:1}:host[type=hover]:hover:before,:host.show:before{transition-delay:.1s}:host[type=hover]:hover:after,:host.show:after{transition-delay:.3s;transition-duration:.2s;transform:translate(-50%) scaleY(1)}:host[position=top]:before,:host[position=top]:after{left:50%;bottom:calc(100% + 5px)}:host[position=top]:before{transform:translate(-50%,-5px) scale(.5)}:host[position=top]:hover:before,:host[position=top].show:before{transform:translate(-50%,-.25em) scale(1)}:host[position=top]:after{border-width:.25em .25em 0;border-color:#545e61 transparent transparent transparent;transform-origin:top}:host[position=left]:before,:host[position=left]:after{left:auto;right:calc(100% + 5px);bottom:50%}:host[position=left]:before{transform:translate(-.25em,50%) scale(.5)}:host[position=left]:hover:before,:host[position=left].show:before{transform:translate(-.31em,50%) scale(1)}:host[position=left]:after{border-width:.25em 0 .25em .25em;border-color:transparent transparent transparent #545e61;transform-origin:left;transform:translateY(50%) scaleX(0)}:host[position=left]:hover:after,:host[position=left].show:after{transform:translateY(50%) scaleX(1)}:host[position=right]:before,:host[position=right]:after{left:calc(100% + 5px);bottom:50%}:host[position=right]:before{transform:translate(5px,50%) scale(.5)}:host[position=right]:hover:before,:host[position=right].show:before{transform:translate(.31em,50%) scale(1)}:host[position=right]:after{border-width:.25em .25em .25em 0;border-color:transparent #545e61 transparent transparent;transform-origin:right;transform:translateY(50%) scaleX(0)}:host[position=right]:hover:after,:host[position=right].show:after{transform:translateY(50%) scaleX(1)}:host[position=bottom]:before,:host[position=bottom]:after{top:calc(100% + 5px);bottom:auto}:host[position=bottom]:before{transform:translate(-50%,5px) scale(.5)}:host[position=bottom]:hover:before,:host[position=bottom].show:before{transform:translate(-50%,.31em) scale(1)}:host[position=bottom]:after{border-width:0 .25em .25em;border-color:transparent transparent #545e61 transparent;transform-origin:bottom}\n"] });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TooltipComponent, decorators: [{
39
+ type: Component,
40
+ args: [{ selector: '[sfc-tooltip]', template: `<ng-content></ng-content>`, styles: [":host{position:relative}:host:before,:host:after{position:absolute;left:50%;bottom:calc(100% + 5px);pointer-events:none;transition:.2s;will-change:transform}:host:hover:before,:host.show:before{content:attr(value);padding:.4em .7em;font-size:.8em;font-weight:initial;width:inherit;max-width:18.75em;border-radius:6px;background-color:#545e61;box-shadow:0 0 20.25em #aab2bd;color:#fff;text-align:center;white-space:pre-wrap;overflow:hidden;word-wrap:break-word;z-index:9999}:host:after{content:\"\";border-style:solid;transition-duration:0s;transform:translate(-50%) scaleY(0)}:host[type=hover]:before,:host[type=hover]:after,:host:not(.show):before,:host:not(.show):after{visibility:hidden;opacity:0}:host[type=hover]:hover:before,:host[type=hover]:hover:after,:host.show:before,:host.show:after{visibility:visible;opacity:1}:host[type=hover]:hover:before,:host.show:before{transition-delay:.1s}:host[type=hover]:hover:after,:host.show:after{transition-delay:.3s;transition-duration:.2s;transform:translate(-50%) scaleY(1)}:host[position=top]:before,:host[position=top]:after{left:50%;bottom:calc(100% + 5px)}:host[position=top]:before{transform:translate(-50%,-5px) scale(.5)}:host[position=top]:hover:before,:host[position=top].show:before{transform:translate(-50%,-.25em) scale(1)}:host[position=top]:after{border-width:.25em .25em 0;border-color:#545e61 transparent transparent transparent;transform-origin:top}:host[position=left]:before,:host[position=left]:after{left:auto;right:calc(100% + 5px);bottom:50%}:host[position=left]:before{transform:translate(-.25em,50%) scale(.5)}:host[position=left]:hover:before,:host[position=left].show:before{transform:translate(-.31em,50%) scale(1)}:host[position=left]:after{border-width:.25em 0 .25em .25em;border-color:transparent transparent transparent #545e61;transform-origin:left;transform:translateY(50%) scaleX(0)}:host[position=left]:hover:after,:host[position=left].show:after{transform:translateY(50%) scaleX(1)}:host[position=right]:before,:host[position=right]:after{left:calc(100% + 5px);bottom:50%}:host[position=right]:before{transform:translate(5px,50%) scale(.5)}:host[position=right]:hover:before,:host[position=right].show:before{transform:translate(.31em,50%) scale(1)}:host[position=right]:after{border-width:.25em .25em .25em 0;border-color:transparent #545e61 transparent transparent;transform-origin:right;transform:translateY(50%) scaleX(0)}:host[position=right]:hover:after,:host[position=right].show:after{transform:translateY(50%) scaleX(1)}:host[position=bottom]:before,:host[position=bottom]:after{top:calc(100% + 5px);bottom:auto}:host[position=bottom]:before{transform:translate(-50%,5px) scale(.5)}:host[position=bottom]:hover:before,:host[position=bottom].show:before{transform:translate(-50%,.31em) scale(1)}:host[position=bottom]:after{border-width:0 .25em .25em;border-color:transparent transparent #545e61 transparent;transform-origin:bottom}\n"] }]
41
+ }], ctorParameters: function () { return [{ type: i1.ResizeService }, { type: Window, decorators: [{
42
+ type: Inject,
43
+ args: [WINDOW]
44
+ }] }]; }, propDecorators: { value: [{
45
+ type: Input,
46
+ args: ['sfc-tooltip']
47
+ }, {
48
+ type: HostBinding,
49
+ args: ['attr.value']
50
+ }], tooltipType: [{
51
+ type: Input
52
+ }, {
53
+ type: HostBinding,
54
+ args: ['attr.type']
55
+ }], tooltipPosition: [{
56
+ type: Input
57
+ }, {
58
+ type: HostBinding,
59
+ args: ['attr.position']
60
+ }], tooltipShow: [{
61
+ type: Input
62
+ }, {
63
+ type: HostBinding,
64
+ args: ['class.show']
65
+ }], click: [{
66
+ type: HostListener,
67
+ args: ['click']
68
+ }] } });
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ2EsU0FBUyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQ3RELE1BQU0sRUFBRSxLQUFLLEVBQ2QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEQsT0FBTyxFQUFpQixNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQVFsRCxNQUFNLE9BQU8sZ0JBQWdCO0lBOEIzQixZQUFvQixhQUE0QixFQUEwQixNQUFjO1FBQXBFLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQTBCLFdBQU0sR0FBTixNQUFNLENBQVE7UUF0QnhGLGdCQUFXLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQztRQUloQyxvQkFBZSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUM7UUFJL0IsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFTN0IscUJBQXFCO1FBQ2IsY0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUM7SUFJMkQsQ0FBQztJQVg3RixLQUFLO1FBQ0gsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLFdBQVcsQ0FBQyxLQUFLLEVBQUU7WUFDekMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7U0FDdEM7SUFDSCxDQUFDO0lBU0QsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVM7YUFDcEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDNUIsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxNQUFNLENBQUMsVUFBVSxJQUFJLFdBQVcsQ0FBQyxNQUFNO1lBQ2pGLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDMUMsQ0FBQzs7NkdBN0NVLGdCQUFnQiwrQ0E4QitCLE1BQU07aUdBOUJyRCxnQkFBZ0IsbVlBSGpCLDJCQUEyQjsyRkFHMUIsZ0JBQWdCO2tCQU41QixTQUFTOytCQUVFLGVBQWUsWUFDZiwyQkFBMkI7OzBCQWlDYyxNQUFNOzJCQUFDLE1BQU07NENBMUJoRSxLQUFLO3NCQUZKLEtBQUs7dUJBQUMsYUFBYTs7c0JBQ25CLFdBQVc7dUJBQUMsWUFBWTtnQkFLekIsV0FBVztzQkFGVixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLFdBQVc7Z0JBS3hCLGVBQWU7c0JBRmQsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxlQUFlO2dCQUs1QixXQUFXO3NCQUZWLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsWUFBWTtnQkFJekIsS0FBSztzQkFESixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyQ29udGVudEluaXQsIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lcixcclxuICBJbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBzdGFydFdpdGgsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBQb3NpdGlvbiwgTWVkaWFMaW1pdHMgfSBmcm9tICcuLi8uLi9lbnVtcyc7XHJcbmltcG9ydCB7IFJlc2l6ZVNlcnZpY2UsIFdJTkRPVyB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgVG9vbHRpcFR5cGUgfSBmcm9tICcuL3Rvb2x0aXAtdHlwZS5lbnVtJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIC8qIGVzbGludC1kaXNhYmxlICovXHJcbiAgc2VsZWN0b3I6ICdbc2ZjLXRvb2x0aXBdJyxcclxuICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5gLFxyXG4gIHN0eWxlVXJsczogWycuL3Rvb2x0aXAuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9vbHRpcENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlckNvbnRlbnRJbml0IHtcclxuXHJcbiAgQElucHV0KCdzZmMtdG9vbHRpcCcpXHJcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnZhbHVlJylcclxuICB2YWx1ZT86IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBASG9zdEJpbmRpbmcoJ2F0dHIudHlwZScpXHJcbiAgdG9vbHRpcFR5cGUgPSBUb29sdGlwVHlwZS5Ib3ZlcjtcclxuXHJcbiAgQElucHV0KClcclxuICBASG9zdEJpbmRpbmcoJ2F0dHIucG9zaXRpb24nKVxyXG4gIHRvb2x0aXBQb3NpdGlvbiA9IFBvc2l0aW9uLlRvcDtcclxuXHJcbiAgQElucHV0KClcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNob3cnKVxyXG4gIHRvb2x0aXBTaG93OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcclxuICBjbGljaygpIHtcclxuICAgIGlmICh0aGlzLnRvb2x0aXBUeXBlID09IFRvb2x0aXBUeXBlLkNsaWNrKSB7XHJcbiAgICAgIHRoaXMudG9vbHRpcFNob3cgPSAhdGhpcy50b29sdGlwU2hvdztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIHByZXNlcnZlZCBwb3NpdGlvblxyXG4gIHByaXZhdGUgX3Bvc2l0aW9uID0gUG9zaXRpb24uVG9wO1xyXG5cclxuICBwcml2YXRlIF9yZXNpemVTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVzaXplU2VydmljZTogUmVzaXplU2VydmljZSwgQEluamVjdChXSU5ET1cpIHByaXZhdGUgd2luZG93OiBXaW5kb3cpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3Bvc2l0aW9uID0gdGhpcy50b29sdGlwUG9zaXRpb247XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9yZXNpemVTdWJzY3JpcHRpb24gPSB0aGlzLnJlc2l6ZVNlcnZpY2Uub25SZXNpemUkXHJcbiAgICAgIC5waXBlKHN0YXJ0V2l0aCh0aGlzLndpbmRvdykpXHJcbiAgICAgIC5zdWJzY3JpYmUod2luZG93ID0+IHRoaXMudG9vbHRpcFBvc2l0aW9uID0gd2luZG93LmlubmVyV2lkdGggPD0gTWVkaWFMaW1pdHMuVGFibGV0XHJcbiAgICAgICAgPyBQb3NpdGlvbi5Cb3R0b20gOiB0aGlzLl9wb3NpdGlvbik7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3Jlc2l6ZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,9 @@
1
+ export class CommonConstants {
2
+ }
3
+ CommonConstants.NOT_FOUND_INDEX = -1;
4
+ CommonConstants.EMPTY_STRING = '';
5
+ CommonConstants.MOUSE_BUTTON_LEFT = 0;
6
+ CommonConstants.FULL_PERCENTAGE = 100;
7
+ CommonConstants.COMMON_TEXT_DELIMETER = '/';
8
+ CommonConstants.PERCENTAGE_SYMBOL = '%';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tbW9uL3NyYy9saWIvY29uc3RhbnRzL2NvbW1vbi5jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGVBQWU7O0FBQ2pCLCtCQUFlLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDckIsNEJBQVksR0FBRyxFQUFFLENBQUM7QUFDbEIsaUNBQWlCLEdBQUcsQ0FBQyxDQUFDO0FBQ3RCLCtCQUFlLEdBQUcsR0FBRyxDQUFDO0FBQ3RCLHFDQUFxQixHQUFHLEdBQUcsQ0FBQztBQUM1QixpQ0FBaUIsR0FBRyxHQUFHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQ29tbW9uQ29uc3RhbnRzIHtcclxuICAgIHN0YXRpYyBOT1RfRk9VTkRfSU5ERVggPSAtMTtcclxuICAgIHN0YXRpYyBFTVBUWV9TVFJJTkcgPSAnJztcclxuICAgIHN0YXRpYyBNT1VTRV9CVVRUT05fTEVGVCA9IDA7XHJcbiAgICBzdGF0aWMgRlVMTF9QRVJDRU5UQUdFID0gMTAwO1xyXG4gICAgc3RhdGljIENPTU1PTl9URVhUX0RFTElNRVRFUiA9ICcvJztcclxuICAgIHN0YXRpYyBQRVJDRU5UQUdFX1NZTUJPTCA9ICclJztcclxufSJdfQ==
@@ -0,0 +1,10 @@
1
+ export class DateTimeConstants {
2
+ }
3
+ DateTimeConstants.DAYS_IN_WEEK = 7;
4
+ DateTimeConstants.HOURS_IN_SHORT_TIME = 12;
5
+ DateTimeConstants.HOURS_IN_TIME = 24;
6
+ DateTimeConstants.MIDNIGHT_HOUR = 0;
7
+ DateTimeConstants.MINUTES_IN_HOUR = 60;
8
+ DateTimeConstants.DAYS_OF_WEEK = ["S", "M", "T", "W", "T", "F", "S"];
9
+ DateTimeConstants.DAYS_OF_WEEK_3 = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"];
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tbW9uL3NyYy9saWIvY29uc3RhbnRzL2RhdGUtdGltZS5jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGlCQUFpQjs7QUFDbkIsOEJBQVksR0FBRyxDQUFDLENBQUM7QUFDakIscUNBQW1CLEdBQUcsRUFBRSxDQUFDO0FBQ3pCLCtCQUFhLEdBQUcsRUFBRSxDQUFDO0FBQ25CLCtCQUFhLEdBQUcsQ0FBQyxDQUFDO0FBQ2xCLGlDQUFlLEdBQUcsRUFBRSxDQUFDO0FBQ3JCLDhCQUFZLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUNuRCxnQ0FBYyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRGF0ZVRpbWVDb25zdGFudHMge1xyXG4gICAgc3RhdGljIERBWVNfSU5fV0VFSyA9IDc7XHJcbiAgICBzdGF0aWMgSE9VUlNfSU5fU0hPUlRfVElNRSA9IDEyO1xyXG4gICAgc3RhdGljIEhPVVJTX0lOX1RJTUUgPSAyNDtcclxuICAgIHN0YXRpYyBNSUROSUdIVF9IT1VSID0gMDtcclxuICAgIHN0YXRpYyBNSU5VVEVTX0lOX0hPVVIgPSA2MDtcclxuICAgIHN0YXRpYyBEQVlTX09GX1dFRUsgPSBbXCJTXCIsIFwiTVwiLCBcIlRcIiwgXCJXXCIsIFwiVFwiLCBcIkZcIiwgXCJTXCJdO1xyXG4gICAgc3RhdGljIERBWVNfT0ZfV0VFS18zID0gW1wiU1VOXCIsIFwiTU9OXCIsIFwiVFVFXCIsIFwiV0VEXCIsIFwiVEhVXCIsIFwiRlJJXCIsIFwiU0FUXCJdO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5jb25zdGFudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbnN0YW50cy9maWxlLmNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgSW1hZ2VGb3JtYXQgPSAnZ2lmJyB8ICdqcGVnJyB8ICdqcGcnIHwgJ3RpZmYnIHwgJ3BuZycgfCAnd2VicCcgfCAnYm1wJzsiXX0=
@@ -0,0 +1,4 @@
1
+ export { CommonConstants } from './common.constants';
2
+ export { DateTimeConstants } from './date-time.constants';
3
+ export { UIConstants } from './ui.constants';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbnN0YW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDcEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQ29tbW9uQ29uc3RhbnRzIH0gZnJvbSAnLi9jb21tb24uY29uc3RhbnRzJ1xyXG5leHBvcnQgeyBEYXRlVGltZUNvbnN0YW50cyB9IGZyb20gJy4vZGF0ZS10aW1lLmNvbnN0YW50cydcclxuZXhwb3J0IHsgVUlDb25zdGFudHMgfSBmcm9tICcuL3VpLmNvbnN0YW50cydcclxuZXhwb3J0IHsgSW1hZ2VGb3JtYXQgfSBmcm9tICcuL2ZpbGUuY29uc3RhbnRzJyJdfQ==
@@ -0,0 +1,23 @@
1
+ export class UIConstants {
2
+ }
3
+ UIConstants.CSS_PIXELS = 'px';
4
+ UIConstants.CSS_PERCENTAGE = '%';
5
+ UIConstants.CSS_DEGREES = 'deg';
6
+ UIConstants.CSS_EM = 'em';
7
+ UIConstants.CSS_CH = 'ch';
8
+ UIConstants.CSS_INITIAL = 'initial';
9
+ UIConstants.CSS_INHERIT = 'inherit';
10
+ UIConstants.CSS_NONE = 'none';
11
+ UIConstants.CSS_VISIBILITY_VISIBLE = 'visible';
12
+ UIConstants.CSS_VISIBILITY_HIDDEN = 'hidden';
13
+ UIConstants.CSS_WIDTH = 'width';
14
+ UIConstants.CSS_LEFT = 'left';
15
+ UIConstants.CSS_RIGHT = 'right';
16
+ UIConstants.CSS_START = 'start';
17
+ UIConstants.CSS_END = 'end';
18
+ UIConstants.CSS_CENTER = 'center';
19
+ UIConstants.CSS_CLASS_FIXED = 'fixed';
20
+ UIConstants.CSS_CLASS_BACKGROUND = 'background';
21
+ UIConstants.CSS_CLASS_TOP = 'top';
22
+ UIConstants.RGB_OPACITY_PLACEHOLDER = '{opacity}';
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWkuY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21tb24vc3JjL2xpYi9jb25zdGFudHMvdWkuY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxXQUFXOztBQUNiLHNCQUFVLEdBQUcsSUFBSSxDQUFDO0FBQ2xCLDBCQUFjLEdBQUcsR0FBRyxDQUFDO0FBQ3JCLHVCQUFXLEdBQUcsS0FBSyxDQUFDO0FBQ3BCLGtCQUFNLEdBQUcsSUFBSSxDQUFDO0FBQ2Qsa0JBQU0sR0FBRyxJQUFJLENBQUM7QUFFZCx1QkFBVyxHQUFHLFNBQVMsQ0FBQztBQUN4Qix1QkFBVyxHQUFHLFNBQVMsQ0FBQztBQUN4QixvQkFBUSxHQUFHLE1BQU0sQ0FBQztBQUNsQixrQ0FBc0IsR0FBRyxTQUFTLENBQUM7QUFDbkMsaUNBQXFCLEdBQUcsUUFBUSxDQUFDO0FBRWpDLHFCQUFTLEdBQUcsT0FBTyxDQUFDO0FBQ3BCLG9CQUFRLEdBQUcsTUFBTSxDQUFDO0FBQ2xCLHFCQUFTLEdBQUcsT0FBTyxDQUFDO0FBQ3BCLHFCQUFTLEdBQUcsT0FBTyxDQUFDO0FBQ3BCLG1CQUFPLEdBQUcsS0FBSyxDQUFDO0FBQ2hCLHNCQUFVLEdBQUcsUUFBUSxDQUFDO0FBQ3RCLDJCQUFlLEdBQUcsT0FBTyxDQUFDO0FBQzFCLGdDQUFvQixHQUFHLFlBQVksQ0FBQztBQUNwQyx5QkFBYSxHQUFHLEtBQUssQ0FBQztBQUV0QixtQ0FBdUIsR0FBRyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgVUlDb25zdGFudHMge1xyXG4gICAgc3RhdGljIENTU19QSVhFTFMgPSAncHgnO1xyXG4gICAgc3RhdGljIENTU19QRVJDRU5UQUdFID0gJyUnO1xyXG4gICAgc3RhdGljIENTU19ERUdSRUVTID0gJ2RlZyc7XHJcbiAgICBzdGF0aWMgQ1NTX0VNID0gJ2VtJztcclxuICAgIHN0YXRpYyBDU1NfQ0ggPSAnY2gnO1xyXG5cclxuICAgIHN0YXRpYyBDU1NfSU5JVElBTCA9ICdpbml0aWFsJztcclxuICAgIHN0YXRpYyBDU1NfSU5IRVJJVCA9ICdpbmhlcml0JztcclxuICAgIHN0YXRpYyBDU1NfTk9ORSA9ICdub25lJztcclxuICAgIHN0YXRpYyBDU1NfVklTSUJJTElUWV9WSVNJQkxFID0gJ3Zpc2libGUnO1xyXG4gICAgc3RhdGljIENTU19WSVNJQklMSVRZX0hJRERFTiA9ICdoaWRkZW4nO1xyXG5cclxuICAgIHN0YXRpYyBDU1NfV0lEVEggPSAnd2lkdGgnO1xyXG4gICAgc3RhdGljIENTU19MRUZUID0gJ2xlZnQnO1xyXG4gICAgc3RhdGljIENTU19SSUdIVCA9ICdyaWdodCc7XHJcbiAgICBzdGF0aWMgQ1NTX1NUQVJUID0gJ3N0YXJ0JztcclxuICAgIHN0YXRpYyBDU1NfRU5EID0gJ2VuZCc7XHJcbiAgICBzdGF0aWMgQ1NTX0NFTlRFUiA9ICdjZW50ZXInO1xyXG4gICAgc3RhdGljIENTU19DTEFTU19GSVhFRCA9ICdmaXhlZCc7XHJcbiAgICBzdGF0aWMgQ1NTX0NMQVNTX0JBQ0tHUk9VTkQgPSAnYmFja2dyb3VuZCc7XHJcbiAgICBzdGF0aWMgQ1NTX0NMQVNTX1RPUCA9ICd0b3AnO1xyXG5cclxuICAgIHN0YXRpYyBSR0JfT1BBQ0lUWV9QTEFDRUhPTERFUiA9ICd7b3BhY2l0eX0nO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,63 @@
1
+ import { Directive, EventEmitter, Inject, Input, Output } from '@angular/core';
2
+ import { fromEvent } from 'rxjs';
3
+ import { DOCUMENT } from '../../services';
4
+ import * as i0 from "@angular/core";
5
+ export class ClickOutsideDirective {
6
+ constructor(elementRef, document) {
7
+ this.elementRef = elementRef;
8
+ this.document = document;
9
+ /**
10
+ * Toggler for checking ouside click event
11
+ */
12
+ this.listening = false;
13
+ /**
14
+ * Emitter for click event
15
+ */
16
+ this.action = new EventEmitter();
17
+ }
18
+ ngAfterViewInit() {
19
+ this._clickSubscription = fromEvent(this.document, 'click')
20
+ .subscribe(event => this.onClick(event));
21
+ }
22
+ ngOnDestroy() {
23
+ this._clickSubscription?.unsubscribe();
24
+ }
25
+ onClick(event) {
26
+ if (event instanceof MouseEvent && this.listening) {
27
+ const clickOutsideEvent = {
28
+ target: event.target,
29
+ value: !this.isDescendant(this.elementRef.nativeElement, event.target)
30
+ };
31
+ this.action.emit(clickOutsideEvent);
32
+ }
33
+ }
34
+ isDescendant(parent, child) {
35
+ let node = child;
36
+ while (node !== null) {
37
+ if (node === parent) {
38
+ return true;
39
+ }
40
+ else {
41
+ node = node.parentNode;
42
+ }
43
+ }
44
+ return false;
45
+ }
46
+ }
47
+ ClickOutsideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ClickOutsideDirective, deps: [{ token: i0.ElementRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
48
+ ClickOutsideDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: ClickOutsideDirective, selector: "[sfcClickOutside]", inputs: { listening: ["sfcClickOutside", "listening"] }, outputs: { action: "action" }, ngImport: i0 });
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ClickOutsideDirective, decorators: [{
50
+ type: Directive,
51
+ args: [{
52
+ selector: '[sfcClickOutside]'
53
+ }]
54
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: Document, decorators: [{
55
+ type: Inject,
56
+ args: [DOCUMENT]
57
+ }] }]; }, propDecorators: { listening: [{
58
+ type: Input,
59
+ args: ['sfcClickOutside']
60
+ }], action: [{
61
+ type: Output
62
+ }] } });
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpY2stb3V0c2lkZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2RpcmVjdGl2ZXMvY2xpY2stb3V0c2lkZS9jbGljay1vdXRzaWRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUFjLFlBQVksRUFDbkMsTUFBTSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQ2pDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFNMUMsTUFBTSxPQUFPLHFCQUFxQjtJQWlCaEMsWUFDVSxVQUFzQixFQUNKLFFBQWtCO1FBRHBDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDSixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBakI5Qzs7V0FFRztRQUVJLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFFbEM7O1dBRUc7UUFFSSxXQUFNLEdBQ1QsSUFBSSxZQUFZLEVBQXFCLENBQUM7SUFPMUMsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsa0JBQWtCLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDO2FBQ3hELFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRU8sT0FBTyxDQUFDLEtBQVk7UUFDMUIsSUFBSSxLQUFLLFlBQVksVUFBVSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDakQsTUFBTSxpQkFBaUIsR0FBc0I7Z0JBQzNDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtnQkFDcEIsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsTUFBcUIsQ0FBQzthQUN0RixDQUFDO1lBRUYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztTQUNyQztJQUNILENBQUM7SUFFTyxZQUFZLENBQUMsTUFBbUIsRUFBRSxLQUFrQjtRQUMxRCxJQUFJLElBQUksR0FBZ0IsS0FBSyxDQUFDO1FBQzlCLE9BQU8sSUFBSSxLQUFLLElBQUksRUFBRTtZQUNwQixJQUFJLElBQUksS0FBSyxNQUFNLEVBQUU7Z0JBQ25CLE9BQU8sSUFBSSxDQUFDO2FBQ2I7aUJBQU07Z0JBQ0wsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUF5QixDQUFDO2FBQ3ZDO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7O2tIQXBEVSxxQkFBcUIsNENBbUJ0QixRQUFRO3NHQW5CUCxxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFIakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2lCQUM5Qjs7MEJBb0JJLE1BQU07MkJBQUMsUUFBUTs0Q0FiWCxTQUFTO3NCQURmLEtBQUs7dUJBQUMsaUJBQWlCO2dCQU9qQixNQUFNO3NCQURaLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsXHJcbiAgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IENsaWNrT3V0c2lkZUV2ZW50IH0gZnJvbSAnLi9jbGljay1vdXRzaWRlLmV2ZW50JztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3NmY0NsaWNrT3V0c2lkZV0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbGlja091dHNpZGVEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICAvKipcclxuICAgKiBUb2dnbGVyIGZvciBjaGVja2luZyBvdXNpZGUgY2xpY2sgZXZlbnRcclxuICAgKi9cclxuICBASW5wdXQoJ3NmY0NsaWNrT3V0c2lkZScpXHJcbiAgcHVibGljIGxpc3RlbmluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBFbWl0dGVyIGZvciBjbGljayBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBhY3Rpb246IEV2ZW50RW1pdHRlcjxDbGlja091dHNpZGVFdmVudD5cclxuICAgID0gbmV3IEV2ZW50RW1pdHRlcjxDbGlja091dHNpZGVFdmVudD4oKTtcclxuXHJcbiAgcHJpdmF0ZSBfY2xpY2tTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQpIHtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuX2NsaWNrU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KHRoaXMuZG9jdW1lbnQsICdjbGljaycpXHJcbiAgICAgIC5zdWJzY3JpYmUoZXZlbnQgPT4gdGhpcy5vbkNsaWNrKGV2ZW50KSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuX2NsaWNrU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkNsaWNrKGV2ZW50OiBFdmVudCkge1xyXG4gICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTW91c2VFdmVudCAmJiB0aGlzLmxpc3RlbmluZykge1xyXG4gICAgICBjb25zdCBjbGlja091dHNpZGVFdmVudDogQ2xpY2tPdXRzaWRlRXZlbnQgPSB7XHJcbiAgICAgICAgdGFyZ2V0OiBldmVudC50YXJnZXQsXHJcbiAgICAgICAgdmFsdWU6ICF0aGlzLmlzRGVzY2VuZGFudCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KVxyXG4gICAgICB9O1xyXG5cclxuICAgICAgdGhpcy5hY3Rpb24uZW1pdChjbGlja091dHNpZGVFdmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzRGVzY2VuZGFudChwYXJlbnQ6IEhUTUxFbGVtZW50LCBjaGlsZDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcclxuICAgIGxldCBub2RlOiBIVE1MRWxlbWVudCA9IGNoaWxkO1xyXG4gICAgd2hpbGUgKG5vZGUgIT09IG51bGwpIHtcclxuICAgICAgaWYgKG5vZGUgPT09IHBhcmVudCkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIG5vZGUgPSBub2RlLnBhcmVudE5vZGUgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn0iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpY2stb3V0c2lkZS5ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tbW9uL3NyYy9saWIvZGlyZWN0aXZlcy9jbGljay1vdXRzaWRlL2NsaWNrLW91dHNpZGUuZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ2xpY2tPdXRzaWRlRXZlbnQge1xyXG4gICAgdGFyZ2V0OiBFdmVudFRhcmdldCB8IG51bGw7XHJcbiAgICB2YWx1ZTogYm9vbGVhbjtcclxufVxyXG4iXX0=
@@ -0,0 +1,59 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { UIConstants } from '../../constants';
3
+ import { ComponentSize } from '../../enums';
4
+ import { getCssLikeValue } from '../../utils';
5
+ import * as i0 from "@angular/core";
6
+ export class ComponentSizeDirective {
7
+ constructor(el) {
8
+ this.el = el;
9
+ this._customSize = null;
10
+ this.style.fontSize = getCssLikeValue(this.getSizeProportion(), UIConstants.CSS_EM);
11
+ }
12
+ set size(value) {
13
+ this._size = value;
14
+ this.style.fontSize = getCssLikeValue(this.getSizeProportion(), UIConstants.CSS_EM);
15
+ }
16
+ get size() {
17
+ return this._size;
18
+ }
19
+ set customSize(value) {
20
+ this._customSize = value;
21
+ if (this._customSize)
22
+ this.style.fontSize = getCssLikeValue(this._customSize, UIConstants.CSS_EM);
23
+ }
24
+ get customSize() {
25
+ return this._customSize;
26
+ }
27
+ get proportion() {
28
+ return this.customSize || this.getSizeProportion();
29
+ }
30
+ get style() {
31
+ return this.el.nativeElement.style;
32
+ }
33
+ getSizeProportion() {
34
+ switch (this.size) {
35
+ case ComponentSize.Small:
36
+ return 0.5;
37
+ case ComponentSize.Medium:
38
+ return 1;
39
+ case ComponentSize.Large:
40
+ return 2;
41
+ default:
42
+ return 1;
43
+ }
44
+ }
45
+ }
46
+ ComponentSizeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ComponentSizeDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
47
+ ComponentSizeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: ComponentSizeDirective, selector: "[sfcComponentSize]", inputs: { size: ["sfcComponentSize", "size"], customSize: "customSize" }, ngImport: i0 });
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ComponentSizeDirective, decorators: [{
49
+ type: Directive,
50
+ args: [{
51
+ selector: '[sfcComponentSize]'
52
+ }]
53
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { size: [{
54
+ type: Input,
55
+ args: ['sfcComponentSize']
56
+ }], customSize: [{
57
+ type: Input
58
+ }] } });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LXNpemUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21tb24vc3JjL2xpYi9kaXJlY3RpdmVzL2NvbXBvbmVudC1zaXplL2NvbXBvbmVudC1zaXplLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUs5QyxNQUFNLE9BQU8sc0JBQXNCO0lBZ0NqQyxZQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQXBCMUIsZ0JBQVcsR0FBa0IsSUFBSSxDQUFDO1FBcUJ4QyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUEvQkQsSUFDSSxJQUFJLENBQUMsS0FBdUM7UUFDOUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBQ0QsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFHRCxJQUNJLFVBQVUsQ0FBQyxLQUFvQjtRQUNqQyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUV6QixJQUFJLElBQUksQ0FBQyxXQUFXO1lBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBQ0QsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ3JELENBQUM7SUFFRCxJQUFZLEtBQUs7UUFDZixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztJQUNyQyxDQUFDO0lBTU8saUJBQWlCO1FBQ3ZCLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNqQixLQUFLLGFBQWEsQ0FBQyxLQUFLO2dCQUN0QixPQUFPLEdBQUcsQ0FBQztZQUNiLEtBQUssYUFBYSxDQUFDLE1BQU07Z0JBQ3ZCLE9BQU8sQ0FBQyxDQUFDO1lBQ1gsS0FBSyxhQUFhLENBQUMsS0FBSztnQkFDdEIsT0FBTyxDQUFDLENBQUM7WUFDWDtnQkFDRSxPQUFPLENBQUMsQ0FBQztTQUNaO0lBQ0gsQ0FBQzs7bUhBL0NVLHNCQUFzQjt1R0FBdEIsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBSGxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtpQkFDL0I7aUdBS0ssSUFBSTtzQkFEUCxLQUFLO3VCQUFDLGtCQUFrQjtnQkFXckIsVUFBVTtzQkFEYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBVSUNvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IENvbXBvbmVudFNpemUgfSBmcm9tICcuLi8uLi9lbnVtcyc7XHJcbmltcG9ydCB7IGdldENzc0xpa2VWYWx1ZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3NmY0NvbXBvbmVudFNpemVdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50U2l6ZURpcmVjdGl2ZSB7XHJcblxyXG4gIHByaXZhdGUgX3NpemU6IENvbXBvbmVudFNpemUgfCBudWxsIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgnc2ZjQ29tcG9uZW50U2l6ZScpXHJcbiAgc2V0IHNpemUodmFsdWU6IENvbXBvbmVudFNpemUgfCBudWxsIHwgdW5kZWZpbmVkKSB7XHJcbiAgICB0aGlzLl9zaXplID0gdmFsdWU7XHJcbiAgICB0aGlzLnN0eWxlLmZvbnRTaXplID0gZ2V0Q3NzTGlrZVZhbHVlKHRoaXMuZ2V0U2l6ZVByb3BvcnRpb24oKSwgVUlDb25zdGFudHMuQ1NTX0VNKTtcclxuICB9XHJcbiAgZ2V0IHNpemUoKTogQ29tcG9uZW50U2l6ZSB8IG51bGwgfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NpemU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jdXN0b21TaXplOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKVxyXG4gIHNldCBjdXN0b21TaXplKHZhbHVlOiBudW1iZXIgfCBudWxsKSB7XHJcbiAgICB0aGlzLl9jdXN0b21TaXplID0gdmFsdWU7XHJcblxyXG4gICAgaWYgKHRoaXMuX2N1c3RvbVNpemUpXHJcbiAgICAgIHRoaXMuc3R5bGUuZm9udFNpemUgPSBnZXRDc3NMaWtlVmFsdWUodGhpcy5fY3VzdG9tU2l6ZSwgVUlDb25zdGFudHMuQ1NTX0VNKTtcclxuICB9XHJcbiAgZ2V0IGN1c3RvbVNpemUoKTogbnVtYmVyIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fY3VzdG9tU2l6ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgcHJvcG9ydGlvbigpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuY3VzdG9tU2l6ZSB8fCB0aGlzLmdldFNpemVQcm9wb3J0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldCBzdHlsZSgpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHtcclxuICAgIHRoaXMuc3R5bGUuZm9udFNpemUgPSBnZXRDc3NMaWtlVmFsdWUodGhpcy5nZXRTaXplUHJvcG9ydGlvbigpLCBVSUNvbnN0YW50cy5DU1NfRU0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRTaXplUHJvcG9ydGlvbigpOiBudW1iZXIge1xyXG4gICAgc3dpdGNoICh0aGlzLnNpemUpIHtcclxuICAgICAgY2FzZSBDb21wb25lbnRTaXplLlNtYWxsOlxyXG4gICAgICAgIHJldHVybiAwLjU7XHJcbiAgICAgIGNhc2UgQ29tcG9uZW50U2l6ZS5NZWRpdW06XHJcbiAgICAgICAgcmV0dXJuIDE7XHJcbiAgICAgIGNhc2UgQ29tcG9uZW50U2l6ZS5MYXJnZTpcclxuICAgICAgICByZXR1cm4gMjtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gMTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19