@agorapulse/ui-components 2.5.1 → 13.0.2

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 (180) hide show
  1. package/agorapulse-ui-components-13.0.2.tgz +0 -0
  2. package/agorapulse-ui-components.d.ts +1 -6
  3. package/esm2020/agorapulse-ui-components.mjs +5 -0
  4. package/esm2020/index.mjs +58 -0
  5. package/esm2020/src/lib/add-comment/add-comment.component.mjs +62 -0
  6. package/esm2020/src/lib/agorapulse-ui-components.module.mjs +532 -0
  7. package/esm2020/src/lib/avatar/avatar.component.mjs +92 -0
  8. package/{esm2015/src/lib/confirm-modal/confirm-modal-texts.model.js → esm2020/src/lib/confirm-modal/confirm-modal-texts.model.mjs} +0 -0
  9. package/esm2020/src/lib/confirm-modal/confirm-modal.component.mjs +61 -0
  10. package/esm2020/src/lib/datepicker/datepicker.component.mjs +219 -0
  11. package/esm2020/src/lib/directives/autosize-textarea.directive.mjs +43 -0
  12. package/esm2020/src/lib/directives/default-image.directive.mjs +29 -0
  13. package/esm2020/src/lib/directives/ellipsis.directive.mjs +87 -0
  14. package/esm2020/src/lib/directives/equal-validator.directive.mjs +64 -0
  15. package/esm2020/src/lib/directives/frozen-gif.directive.mjs +116 -0
  16. package/esm2020/src/lib/directives/multi-style-text.directive.mjs +101 -0
  17. package/esm2020/src/lib/directives/truncate-tooltip.directive.mjs +33 -0
  18. package/esm2020/src/lib/dots-stepper/dots-stepper.component.mjs +43 -0
  19. package/esm2020/src/lib/edit-tag-modal/edit-tags-modal.component.mjs +147 -0
  20. package/{esm2015/src/lib/edit-tag-modal/model/edit-tags-modal.model.js → esm2020/src/lib/edit-tag-modal/model/edit-tags-modal.model.mjs} +0 -0
  21. package/esm2020/src/lib/feature-onboarding/feature-onboarding.component.mjs +35 -0
  22. package/esm2020/src/lib/image-carousel/image-carousel.component.mjs +152 -0
  23. package/{esm2015/src/lib/lead-modal/lead-info.model.js → esm2020/src/lib/lead-modal/lead-info.model.mjs} +0 -0
  24. package/esm2020/src/lib/lead-modal/lead-modal.component.mjs +49 -0
  25. package/esm2020/src/lib/media-display-overlay/media-display-overlay-dialog.component.mjs +87 -0
  26. package/esm2020/src/lib/modal/modal.component.mjs +96 -0
  27. package/esm2020/src/lib/neo-timepicker/neo-timepicker.component.mjs +388 -0
  28. package/esm2020/src/lib/notification/notification.component.mjs +17 -0
  29. package/esm2020/src/lib/overlay/overlay-dialog-service.component.mjs +61 -0
  30. package/esm2020/src/lib/overlay/overlay-dialog.component.mjs +33 -0
  31. package/esm2020/src/lib/overlay-in-div/overlay-in-div.component.mjs +27 -0
  32. package/esm2020/src/lib/paginator/paginator-button/paginator-button.component.mjs +23 -0
  33. package/esm2020/src/lib/paginator/paginator.component.mjs +54 -0
  34. package/esm2020/src/lib/password-input/password-input.component.mjs +68 -0
  35. package/esm2020/src/lib/password-strength-bar/password-strength-bar.component.mjs +83 -0
  36. package/esm2020/src/lib/password-strength-display-bar/password-strength-display-bar.component.mjs +45 -0
  37. package/esm2020/src/lib/phone-number-input/phone-number-input.component.mjs +144 -0
  38. package/esm2020/src/lib/places/place-list.component.mjs +11 -0
  39. package/esm2020/src/lib/places/place.component.mjs +14 -0
  40. package/{esm2015/src/lib/popmenu/options.js → esm2020/src/lib/popmenu/options.mjs} +0 -0
  41. package/{esm2015/src/lib/popmenu/popmenu-options.interface.js → esm2020/src/lib/popmenu/popmenu-options.interface.mjs} +0 -0
  42. package/{esm2015/src/lib/popmenu/popmenu-options.service.js → esm2020/src/lib/popmenu/popmenu-options.service.mjs} +0 -0
  43. package/esm2020/src/lib/popmenu/popmenu.component.mjs +344 -0
  44. package/esm2020/src/lib/popmenu/popmenu.directive.mjs +235 -0
  45. package/esm2020/src/lib/popmenu/popmenu.module.mjs +45 -0
  46. package/esm2020/src/lib/slide-toggle/slide-toggle.component.mjs +66 -0
  47. package/esm2020/src/lib/snackbar/snackbar.component.mjs +21 -0
  48. package/esm2020/src/lib/snackbars-thread/component/snackbars-thread.component.mjs +70 -0
  49. package/{esm2015/src/lib/snackbars-thread/model/snackbars-thread.model.js → esm2020/src/lib/snackbars-thread/model/snackbars-thread.model.mjs} +0 -0
  50. package/esm2020/src/lib/snackbars-thread/service/snackbars-thread.service.mjs +41 -0
  51. package/{esm2015/src/lib/snackbars-thread/utils/const/snackbars-thread.const.js → esm2020/src/lib/snackbars-thread/utils/const/snackbars-thread.const.mjs} +0 -0
  52. package/esm2020/src/lib/splashscreen/splashscreen.component.mjs +43 -0
  53. package/esm2020/src/lib/star-rating/star-rating.component.mjs +43 -0
  54. package/{esm2015/src/lib/stepper/step.model.js → esm2020/src/lib/stepper/step.model.mjs} +0 -0
  55. package/esm2020/src/lib/stepper/stepper.component.mjs +36 -0
  56. package/esm2020/src/lib/tags/tag-list.component.mjs +11 -0
  57. package/esm2020/src/lib/tags/tag.component.mjs +20 -0
  58. package/esm2020/src/lib/tags-selector/tags-selector.component.mjs +81 -0
  59. package/esm2020/src/lib/timepicker/timepicker.component.mjs +383 -0
  60. package/esm2020/src/lib/tooltip-neo/tooltip-neo.component.mjs +49 -0
  61. package/{esm2015/src/lib/tooltip-neo/tooltip-neo.const.js → esm2020/src/lib/tooltip-neo/tooltip-neo.const.mjs} +0 -0
  62. package/esm2020/src/lib/tooltip-neo/tooltip-neo.directive.mjs +114 -0
  63. package/{esm2015/src/lib/tooltip-neo/tooltip-neo.model.js → esm2020/src/lib/tooltip-neo/tooltip-neo.model.mjs} +0 -0
  64. package/esm2020/src/lib/tooltip-neo/tooltip-neo.service.mjs +17 -0
  65. package/{esm2015/src/lib/try-popup/try-popup-texts.model.js → esm2020/src/lib/try-popup/try-popup-texts.model.mjs} +0 -0
  66. package/esm2020/src/lib/try-popup/try-popup.component.mjs +37 -0
  67. package/fesm2015/agorapulse-ui-components.mjs +4581 -0
  68. package/fesm2015/agorapulse-ui-components.mjs.map +1 -0
  69. package/fesm2020/agorapulse-ui-components.mjs +4554 -0
  70. package/fesm2020/agorapulse-ui-components.mjs.map +1 -0
  71. package/index.d.ts +1 -0
  72. package/package.json +31 -20
  73. package/src/lib/add-comment/add-comment.component.d.ts +3 -0
  74. package/src/lib/agorapulse-ui-components.module.d.ts +80 -0
  75. package/src/lib/avatar/avatar.component.d.ts +3 -0
  76. package/src/lib/confirm-modal/confirm-modal.component.d.ts +3 -0
  77. package/src/lib/datepicker/datepicker.component.d.ts +3 -0
  78. package/src/lib/directives/autosize-textarea.directive.d.ts +3 -0
  79. package/src/lib/directives/default-image.directive.d.ts +3 -0
  80. package/src/lib/directives/ellipsis.directive.d.ts +3 -0
  81. package/src/lib/directives/equal-validator.directive.d.ts +3 -0
  82. package/src/lib/directives/frozen-gif.directive.d.ts +3 -0
  83. package/src/lib/directives/multi-style-text.directive.d.ts +3 -0
  84. package/src/lib/directives/truncate-tooltip.directive.d.ts +3 -0
  85. package/src/lib/dots-stepper/dots-stepper.component.d.ts +3 -0
  86. package/src/lib/edit-tag-modal/edit-tags-modal.component.d.ts +3 -0
  87. package/src/lib/feature-onboarding/feature-onboarding.component.d.ts +3 -0
  88. package/src/lib/image-carousel/image-carousel.component.d.ts +3 -0
  89. package/src/lib/lead-modal/lead-modal.component.d.ts +3 -0
  90. package/src/lib/media-display-overlay/media-display-overlay-dialog.component.d.ts +3 -0
  91. package/src/lib/modal/modal.component.d.ts +3 -0
  92. package/src/lib/neo-timepicker/neo-timepicker.component.d.ts +3 -0
  93. package/src/lib/notification/notification.component.d.ts +3 -0
  94. package/src/lib/overlay/overlay-dialog-service.component.d.ts +3 -0
  95. package/src/lib/overlay/overlay-dialog.component.d.ts +3 -0
  96. package/src/lib/overlay-in-div/overlay-in-div.component.d.ts +3 -0
  97. package/src/lib/paginator/paginator-button/paginator-button.component.d.ts +3 -0
  98. package/src/lib/paginator/paginator.component.d.ts +3 -0
  99. package/src/lib/password-input/password-input.component.d.ts +3 -0
  100. package/src/lib/password-strength-bar/password-strength-bar.component.d.ts +3 -0
  101. package/src/lib/password-strength-display-bar/password-strength-display-bar.component.d.ts +3 -0
  102. package/src/lib/phone-number-input/phone-number-input.component.d.ts +3 -0
  103. package/src/lib/places/place-list.component.d.ts +3 -0
  104. package/src/lib/places/place.component.d.ts +3 -0
  105. package/src/lib/popmenu/popmenu.component.d.ts +3 -0
  106. package/src/lib/popmenu/popmenu.directive.d.ts +3 -0
  107. package/src/lib/popmenu/popmenu.module.d.ts +8 -0
  108. package/src/lib/slide-toggle/slide-toggle.component.d.ts +3 -0
  109. package/src/lib/snackbar/snackbar.component.d.ts +3 -0
  110. package/src/lib/snackbars-thread/component/snackbars-thread.component.d.ts +3 -0
  111. package/src/lib/snackbars-thread/service/snackbars-thread.service.d.ts +3 -0
  112. package/src/lib/splashscreen/splashscreen.component.d.ts +3 -0
  113. package/src/lib/star-rating/star-rating.component.d.ts +3 -0
  114. package/src/lib/stepper/stepper.component.d.ts +3 -0
  115. package/src/lib/tags/tag-list.component.d.ts +3 -0
  116. package/src/lib/tags/tag.component.d.ts +3 -0
  117. package/src/lib/tags-selector/tags-selector.component.d.ts +3 -0
  118. package/src/lib/timepicker/timepicker.component.d.ts +3 -0
  119. package/src/lib/tooltip-neo/tooltip-neo.component.d.ts +3 -0
  120. package/src/lib/tooltip-neo/tooltip-neo.directive.d.ts +20 -17
  121. package/src/lib/tooltip-neo/tooltip-neo.service.d.ts +3 -0
  122. package/src/lib/try-popup/try-popup.component.d.ts +3 -0
  123. package/agorapulse-ui-components-2.5.1.tgz +0 -0
  124. package/agorapulse-ui-components.metadata.json +0 -1
  125. package/bundles/agorapulse-ui-components.umd.js +0 -4825
  126. package/bundles/agorapulse-ui-components.umd.js.map +0 -1
  127. package/esm2015/agorapulse-ui-components.js +0 -11
  128. package/esm2015/index.js +0 -57
  129. package/esm2015/src/lib/add-comment/add-comment.component.js +0 -54
  130. package/esm2015/src/lib/agorapulse-ui-components.module.js +0 -285
  131. package/esm2015/src/lib/avatar/avatar.component.js +0 -82
  132. package/esm2015/src/lib/confirm-modal/confirm-modal.component.js +0 -59
  133. package/esm2015/src/lib/datepicker/datepicker.component.js +0 -213
  134. package/esm2015/src/lib/directives/autosize-textarea.directive.js +0 -43
  135. package/esm2015/src/lib/directives/default-image.directive.js +0 -25
  136. package/esm2015/src/lib/directives/ellipsis.directive.js +0 -82
  137. package/esm2015/src/lib/directives/equal-validator.directive.js +0 -53
  138. package/esm2015/src/lib/directives/frozen-gif.directive.js +0 -113
  139. package/esm2015/src/lib/directives/multi-style-text.directive.js +0 -103
  140. package/esm2015/src/lib/directives/truncate-tooltip.directive.js +0 -36
  141. package/esm2015/src/lib/dots-stepper/dots-stepper.component.js +0 -41
  142. package/esm2015/src/lib/edit-tag-modal/edit-tags-modal.component.js +0 -129
  143. package/esm2015/src/lib/feature-onboarding/feature-onboarding.component.js +0 -35
  144. package/esm2015/src/lib/image-carousel/image-carousel.component.js +0 -143
  145. package/esm2015/src/lib/lead-modal/lead-modal.component.js +0 -47
  146. package/esm2015/src/lib/media-display-overlay/media-display-overlay-dialog.component.js +0 -87
  147. package/esm2015/src/lib/modal/modal.component.js +0 -88
  148. package/esm2015/src/lib/neo-timepicker/neo-timepicker.component.js +0 -371
  149. package/esm2015/src/lib/notification/notification.component.js +0 -18
  150. package/esm2015/src/lib/overlay/overlay-dialog-service.component.js +0 -62
  151. package/esm2015/src/lib/overlay/overlay-dialog.component.js +0 -33
  152. package/esm2015/src/lib/overlay-in-div/overlay-in-div.component.js +0 -23
  153. package/esm2015/src/lib/paginator/paginator-button/paginator-button.component.js +0 -22
  154. package/esm2015/src/lib/paginator/paginator.component.js +0 -47
  155. package/esm2015/src/lib/password-input/password-input.component.js +0 -65
  156. package/esm2015/src/lib/password-strength-bar/password-strength-bar.component.js +0 -82
  157. package/esm2015/src/lib/password-strength-display-bar/password-strength-display-bar.component.js +0 -41
  158. package/esm2015/src/lib/phone-number-input/phone-number-input.component.js +0 -123
  159. package/esm2015/src/lib/places/place-list.component.js +0 -12
  160. package/esm2015/src/lib/places/place.component.js +0 -15
  161. package/esm2015/src/lib/popmenu/popmenu.component.js +0 -322
  162. package/esm2015/src/lib/popmenu/popmenu.directive.js +0 -215
  163. package/esm2015/src/lib/popmenu/popmenu.module.js +0 -38
  164. package/esm2015/src/lib/slide-toggle/slide-toggle.component.js +0 -59
  165. package/esm2015/src/lib/snackbar/snackbar.component.js +0 -22
  166. package/esm2015/src/lib/snackbars-thread/component/snackbars-thread.component.js +0 -50
  167. package/esm2015/src/lib/snackbars-thread/service/snackbars-thread.service.js +0 -44
  168. package/esm2015/src/lib/splashscreen/splashscreen.component.js +0 -37
  169. package/esm2015/src/lib/star-rating/star-rating.component.js +0 -38
  170. package/esm2015/src/lib/stepper/stepper.component.js +0 -37
  171. package/esm2015/src/lib/tags/tag-list.component.js +0 -12
  172. package/esm2015/src/lib/tags/tag.component.js +0 -20
  173. package/esm2015/src/lib/tags-selector/tags-selector.component.js +0 -73
  174. package/esm2015/src/lib/timepicker/timepicker.component.js +0 -375
  175. package/esm2015/src/lib/tooltip-neo/tooltip-neo.component.js +0 -46
  176. package/esm2015/src/lib/tooltip-neo/tooltip-neo.directive.js +0 -107
  177. package/esm2015/src/lib/tooltip-neo/tooltip-neo.service.js +0 -15
  178. package/esm2015/src/lib/try-popup/try-popup.component.js +0 -33
  179. package/fesm2015/agorapulse-ui-components.js +0 -4176
  180. package/fesm2015/agorapulse-ui-components.js.map +0 -1
@@ -0,0 +1,92 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@agorapulse/ui-symbol";
4
+ import * as i2 from "@angular/common";
5
+ const SizeMap = {
6
+ 'large': '64',
7
+ 'normal': '48',
8
+ 'medium': '40',
9
+ 'medium-sm': '36',
10
+ 'small': '32',
11
+ 'mini': '24',
12
+ 'mini-sm': '16',
13
+ 'micro': '12',
14
+ 'facebook': '40',
15
+ 'linkedin': '40',
16
+ 'instagram': '40',
17
+ 'youtube': '40',
18
+ 'google': '40',
19
+ 'twitter': '48'
20
+ };
21
+ export class AvatarComponent {
22
+ constructor() {
23
+ this.border = '';
24
+ this.defaultImageEnabled = true; // DEPRECATED default avatar if we don't have username
25
+ this.fallbackSymbolId = 'single-neutral';
26
+ this.fallbackSymbolSize = 'mini';
27
+ this.loading = 'auto';
28
+ this.outerBorderHidden = false;
29
+ this.size = 'medium';
30
+ this.rounded = false;
31
+ this.online = false;
32
+ this.sizeMap = SizeMap;
33
+ }
34
+ ngOnInit() {
35
+ }
36
+ ngOnChanges(changes) {
37
+ if (changes.social?.currentValue || changes.size?.currentValue) {
38
+ if (this.social === 'google') {
39
+ switch (this.size) {
40
+ case 'medium-sm':
41
+ this.socialSize = '14';
42
+ break;
43
+ case 'mini':
44
+ this.socialSize = '15';
45
+ break;
46
+ default:
47
+ this.socialSize = '19';
48
+ }
49
+ }
50
+ else {
51
+ this.socialSize = this.size === 'mini' || this.size === 'medium-sm' ? '12' : '16';
52
+ }
53
+ }
54
+ if (changes.defaultImageEnabled && changes.defaultImageEnabled.currentValue) {
55
+ console.warn("'defaultImageEnabled' attribute is deprecated.");
56
+ }
57
+ }
58
+ onError() {
59
+ this.imageUrl = null;
60
+ }
61
+ }
62
+ /** @nocollapse */ /** @nocollapse */ AvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: AvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
63
+ /** @nocollapse */ /** @nocollapse */ AvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: AvatarComponent, selector: "ap-avatar", inputs: { border: "border", defaultImageEnabled: "defaultImageEnabled", fallbackSymbolId: "fallbackSymbolId", fallbackSymbolSize: "fallbackSymbolSize", imageUrl: "imageUrl", loading: "loading", outerBorderHidden: "outerBorderHidden", size: "size", social: "social", username: "username", rounded: "rounded", online: "online" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"ap-avatar-container {{size}}\">\n <!-- simple avatar -->\n <img *ngIf=\"imageUrl; else noPicture\"\n class=\"ap-avatar {{size}}\"\n [class.outer-border]=\"!outerBorderHidden\"\n [class.rounded]=\"rounded\"\n [attr.border]=\"border\"\n [attr.loading]=\"loading\"\n [attr.height]=\"sizeMap[size]\"\n [attr.width]=\"sizeMap[size]\"\n [src]=\"imageUrl\"\n (error)=\"onError()\"/>\n <!-- image with first letter of screen name -->\n <ng-template #noPicture>\n <span\n class=\"ap-avatar ap-avatar-username {{size}}\"\n [class.outer-border]=\"!outerBorderHidden\"\n [class.rounded]=\"rounded\"\n [attr.border]=\"border\">\n <ng-container *ngIf=\"username; else symbol\">\n {{username.charAt(0).toUpperCase()}}\n </ng-container>\n <ng-template #symbol>\n <ap-symbol\n [size]=\"fallbackSymbolSize\"\n [symbolId]=\"fallbackSymbolId\">\n </ap-symbol>\n </ng-template>\n </span>\n </ng-template>\n\n <div *ngIf=\"social\"\n class=\"social-symbol-wrapper {{social}} {{size}}\">\n <ap-symbol [symbolId]=\"social === 'google' ? social + '-my-business-official' : social + '-official'\"\n [size]=\"socialSize\">\n </ap-symbol>\n </div>\n <div *ngIf=\"online\" class=\"online-indicator {{size}}\"></div>\n\n</div>\n<label>\n <ng-content></ng-content>\n</label>\n", styles: ["[color=facebook]{color:#1877f2}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#1877f2}[border=facebook]{border:1px solid #1877f2}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #A566A5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #C7AB82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #F2713C}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #FFD006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94C5AA}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2A9D8F}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78ACD8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525A9E}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6A2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729E}:host{align-items:center;display:inline-flex}label{margin-left:8px}label:empty{display:none}.ap-avatar-container{position:relative}.ap-avatar-container.large{height:64px;width:64px}.ap-avatar-container.normal{height:48px;width:48px}.ap-avatar-container.medium{height:40px;width:40px}.ap-avatar-container.medium-sm{height:36px;width:36px}.ap-avatar-container.small{height:32px;width:32px}.ap-avatar-container.mini{height:24px;width:24px}.ap-avatar-container.mini-sm{height:16px;width:16px}.ap-avatar-container.micro{height:12px;width:12px}.ap-avatar-container .ap-avatar.outer-border{box-shadow:0 0 0 1.5px #eaecef}.ap-avatar-container .ap-avatar.large{height:64px;width:64px}.ap-avatar-container .ap-avatar.normal{height:48px;width:48px}.ap-avatar-container .ap-avatar.medium{height:40px;width:40px}.ap-avatar-container .ap-avatar.medium-sm{height:36px;width:36px}.ap-avatar-container .ap-avatar.small{height:32px;width:32px}.ap-avatar-container .ap-avatar.mini{height:24px;width:24px}.ap-avatar-container .ap-avatar.mini-sm{height:16px;width:16px}.ap-avatar-container .ap-avatar.micro{height:12px;width:12px}.ap-avatar-container .ap-avatar.facebook,.ap-avatar-container .ap-avatar.linkedin,.ap-avatar-container .ap-avatar.youtube,.ap-avatar-container .ap-avatar.instagram,.ap-avatar-container .ap-avatar.google{height:40px;width:40px}.ap-avatar-container .ap-avatar.twitter{height:48px;width:48px}.ap-avatar-container .ap-avatar:not(.rounded){border-radius:13%}.ap-avatar-container .ap-avatar-username{display:inline-flex;align-items:center;justify-content:center;background-color:#aeb5c1;color:#fff;font-size:24px}.ap-avatar-container .ap-avatar-username ap-symbol{height:24px!important;width:24px!important}.ap-avatar-container .ap-avatar-username.large{font-size:28px}.ap-avatar-container .ap-avatar-username.medium{font-size:18px}.ap-avatar-container .ap-avatar-username.medium-sm{font-size:16px}.ap-avatar-container .ap-avatar-username.small{font-size:14px}.ap-avatar-container .ap-avatar-username.mini,.ap-avatar-container .ap-avatar-username.mini-sm{font-size:12px}.ap-avatar-container .social-symbol-wrapper{position:absolute;right:0;bottom:0;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 1.5px #eaecef}.ap-avatar-container .social-symbol-wrapper.facebook,.ap-avatar-container .social-symbol-wrapper.twitter,.ap-avatar-container .social-symbol-wrapper.youtube{border-radius:100%}.ap-avatar-container .social-symbol-wrapper.instagram{border-radius:28%}.ap-avatar-container .social-symbol-wrapper.linkedin{border-radius:6%}.ap-avatar-container .social-symbol-wrapper.google{box-shadow:none;right:-3px;bottom:-3px}.ap-avatar-container .social-symbol-wrapper.google ap-symbol{border-radius:0;background-color:transparent}.ap-avatar-container .social-symbol-wrapper ap-symbol{border-radius:100%;background-color:#fff}.ap-avatar-container .online-indicator{box-shadow:none;background:#45B854;right:0;bottom:0;position:absolute}.ap-avatar-container .online-indicator.large{outline:5px solid white;border-radius:16px;min-height:16px;min-width:16px}.ap-avatar-container .online-indicator.normal{outline:4px solid white;border-radius:12px;min-height:12px;min-width:12px}.ap-avatar-container .online-indicator.medium,.ap-avatar-container .online-indicator.medium-sm,.ap-avatar-container .online-indicator.small{outline:3px solid white;border-radius:8px;min-height:8px;min-width:8px}.ap-avatar-container .online-indicator.mini,.ap-avatar-container .online-indicator.mini-sm{outline:2px solid white;border-radius:6px;min-height:6px;min-width:6px}.ap-avatar-container .online-indicator.micro{outline:1px solid white;border-radius:4px;min-height:4px;min-width:4px}\n"], components: [{ type: i1.SymbolComponent, selector: "ap-symbol", inputs: ["color", "id", "symbolId", "size", "state"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: AvatarComponent, decorators: [{
65
+ type: Component,
66
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-avatar', template: "<div class=\"ap-avatar-container {{size}}\">\n <!-- simple avatar -->\n <img *ngIf=\"imageUrl; else noPicture\"\n class=\"ap-avatar {{size}}\"\n [class.outer-border]=\"!outerBorderHidden\"\n [class.rounded]=\"rounded\"\n [attr.border]=\"border\"\n [attr.loading]=\"loading\"\n [attr.height]=\"sizeMap[size]\"\n [attr.width]=\"sizeMap[size]\"\n [src]=\"imageUrl\"\n (error)=\"onError()\"/>\n <!-- image with first letter of screen name -->\n <ng-template #noPicture>\n <span\n class=\"ap-avatar ap-avatar-username {{size}}\"\n [class.outer-border]=\"!outerBorderHidden\"\n [class.rounded]=\"rounded\"\n [attr.border]=\"border\">\n <ng-container *ngIf=\"username; else symbol\">\n {{username.charAt(0).toUpperCase()}}\n </ng-container>\n <ng-template #symbol>\n <ap-symbol\n [size]=\"fallbackSymbolSize\"\n [symbolId]=\"fallbackSymbolId\">\n </ap-symbol>\n </ng-template>\n </span>\n </ng-template>\n\n <div *ngIf=\"social\"\n class=\"social-symbol-wrapper {{social}} {{size}}\">\n <ap-symbol [symbolId]=\"social === 'google' ? social + '-my-business-official' : social + '-official'\"\n [size]=\"socialSize\">\n </ap-symbol>\n </div>\n <div *ngIf=\"online\" class=\"online-indicator {{size}}\"></div>\n\n</div>\n<label>\n <ng-content></ng-content>\n</label>\n", styles: ["[color=facebook]{color:#1877f2}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#1877f2}[border=facebook]{border:1px solid #1877f2}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #A566A5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #C7AB82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #F2713C}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #FFD006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94C5AA}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2A9D8F}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78ACD8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525A9E}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6A2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729E}:host{align-items:center;display:inline-flex}label{margin-left:8px}label:empty{display:none}.ap-avatar-container{position:relative}.ap-avatar-container.large{height:64px;width:64px}.ap-avatar-container.normal{height:48px;width:48px}.ap-avatar-container.medium{height:40px;width:40px}.ap-avatar-container.medium-sm{height:36px;width:36px}.ap-avatar-container.small{height:32px;width:32px}.ap-avatar-container.mini{height:24px;width:24px}.ap-avatar-container.mini-sm{height:16px;width:16px}.ap-avatar-container.micro{height:12px;width:12px}.ap-avatar-container .ap-avatar.outer-border{box-shadow:0 0 0 1.5px #eaecef}.ap-avatar-container .ap-avatar.large{height:64px;width:64px}.ap-avatar-container .ap-avatar.normal{height:48px;width:48px}.ap-avatar-container .ap-avatar.medium{height:40px;width:40px}.ap-avatar-container .ap-avatar.medium-sm{height:36px;width:36px}.ap-avatar-container .ap-avatar.small{height:32px;width:32px}.ap-avatar-container .ap-avatar.mini{height:24px;width:24px}.ap-avatar-container .ap-avatar.mini-sm{height:16px;width:16px}.ap-avatar-container .ap-avatar.micro{height:12px;width:12px}.ap-avatar-container .ap-avatar.facebook,.ap-avatar-container .ap-avatar.linkedin,.ap-avatar-container .ap-avatar.youtube,.ap-avatar-container .ap-avatar.instagram,.ap-avatar-container .ap-avatar.google{height:40px;width:40px}.ap-avatar-container .ap-avatar.twitter{height:48px;width:48px}.ap-avatar-container .ap-avatar:not(.rounded){border-radius:13%}.ap-avatar-container .ap-avatar-username{display:inline-flex;align-items:center;justify-content:center;background-color:#aeb5c1;color:#fff;font-size:24px}.ap-avatar-container .ap-avatar-username ap-symbol{height:24px!important;width:24px!important}.ap-avatar-container .ap-avatar-username.large{font-size:28px}.ap-avatar-container .ap-avatar-username.medium{font-size:18px}.ap-avatar-container .ap-avatar-username.medium-sm{font-size:16px}.ap-avatar-container .ap-avatar-username.small{font-size:14px}.ap-avatar-container .ap-avatar-username.mini,.ap-avatar-container .ap-avatar-username.mini-sm{font-size:12px}.ap-avatar-container .social-symbol-wrapper{position:absolute;right:0;bottom:0;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 1.5px #eaecef}.ap-avatar-container .social-symbol-wrapper.facebook,.ap-avatar-container .social-symbol-wrapper.twitter,.ap-avatar-container .social-symbol-wrapper.youtube{border-radius:100%}.ap-avatar-container .social-symbol-wrapper.instagram{border-radius:28%}.ap-avatar-container .social-symbol-wrapper.linkedin{border-radius:6%}.ap-avatar-container .social-symbol-wrapper.google{box-shadow:none;right:-3px;bottom:-3px}.ap-avatar-container .social-symbol-wrapper.google ap-symbol{border-radius:0;background-color:transparent}.ap-avatar-container .social-symbol-wrapper ap-symbol{border-radius:100%;background-color:#fff}.ap-avatar-container .online-indicator{box-shadow:none;background:#45B854;right:0;bottom:0;position:absolute}.ap-avatar-container .online-indicator.large{outline:5px solid white;border-radius:16px;min-height:16px;min-width:16px}.ap-avatar-container .online-indicator.normal{outline:4px solid white;border-radius:12px;min-height:12px;min-width:12px}.ap-avatar-container .online-indicator.medium,.ap-avatar-container .online-indicator.medium-sm,.ap-avatar-container .online-indicator.small{outline:3px solid white;border-radius:8px;min-height:8px;min-width:8px}.ap-avatar-container .online-indicator.mini,.ap-avatar-container .online-indicator.mini-sm{outline:2px solid white;border-radius:6px;min-height:6px;min-width:6px}.ap-avatar-container .online-indicator.micro{outline:1px solid white;border-radius:4px;min-height:4px;min-width:4px}\n"] }]
67
+ }], propDecorators: { border: [{
68
+ type: Input
69
+ }], defaultImageEnabled: [{
70
+ type: Input
71
+ }], fallbackSymbolId: [{
72
+ type: Input
73
+ }], fallbackSymbolSize: [{
74
+ type: Input
75
+ }], imageUrl: [{
76
+ type: Input
77
+ }], loading: [{
78
+ type: Input
79
+ }], outerBorderHidden: [{
80
+ type: Input
81
+ }], size: [{
82
+ type: Input
83
+ }], social: [{
84
+ type: Input
85
+ }], username: [{
86
+ type: Input
87
+ }], rounded: [{
88
+ type: Input
89
+ }], online: [{
90
+ type: Input
91
+ }] } });
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9zcmMvbGliL2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NyYy9saWIvYXZhdGFyL2F2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBbUMsTUFBTSxlQUFlLENBQUM7Ozs7QUFHMUcsTUFBTSxPQUFPLEdBQTRCO0lBQ3JDLE9BQU8sRUFBRSxJQUFJO0lBQ2IsUUFBUSxFQUFFLElBQUk7SUFDZCxRQUFRLEVBQUUsSUFBSTtJQUNkLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLE9BQU8sRUFBRSxJQUFJO0lBQ2IsTUFBTSxFQUFFLElBQUk7SUFDWixTQUFTLEVBQUUsSUFBSTtJQUNmLE9BQU8sRUFBRSxJQUFJO0lBQ2IsVUFBVSxFQUFFLElBQUk7SUFDaEIsVUFBVSxFQUFFLElBQUk7SUFDaEIsV0FBVyxFQUFFLElBQUk7SUFDakIsU0FBUyxFQUFFLElBQUk7SUFDZixRQUFRLEVBQUUsSUFBSTtJQUNkLFNBQVMsRUFBRSxJQUFJO0NBQ2xCLENBQUM7QUFRRixNQUFNLE9BQU8sZUFBZTtJQU41QjtRQVFhLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFDWix3QkFBbUIsR0FBRyxJQUFJLENBQUMsQ0FBQyxzREFBc0Q7UUFDbEYscUJBQWdCLEdBQ3VELGdCQUFnQixDQUFDO1FBQ3hGLHVCQUFrQixHQUFtRyxNQUFNLENBQUM7UUFFNUgsWUFBTyxHQUE4QixNQUFNLENBQUM7UUFDNUMsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLFNBQUksR0FFa0UsUUFBUSxDQUFDO1FBRy9FLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUd4QixZQUFPLEdBQUcsT0FBTyxDQUFDO0tBZ0NyQjtJQTlCRyxRQUFRO0lBQ1IsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsWUFBWSxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO1lBQzVELElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxRQUFRLEVBQUU7Z0JBQzFCLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRTtvQkFDZixLQUFLLFdBQVc7d0JBQ1osSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7d0JBQ3ZCLE1BQU07b0JBQ1YsS0FBSyxNQUFNO3dCQUNQLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO3dCQUN2QixNQUFNO29CQUNWO3dCQUNJLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO2lCQUM5QjthQUNKO2lCQUFNO2dCQUNILElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2FBQ3JGO1NBQ0o7UUFDRCxJQUFJLE9BQU8sQ0FBQyxtQkFBbUIsSUFBSSxPQUFPLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFO1lBQ3pFLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0RBQWdELENBQUMsQ0FBQTtTQUNqRTtJQUNMLENBQUM7SUFHRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQzs7a0pBakRRLGVBQWU7c0lBQWYsZUFBZSw4WUMxQjVCLHlqREEyQ0E7MkZEakJhLGVBQWU7a0JBTjNCLFNBQVM7c0NBQ1csdUJBQXVCLENBQUMsTUFBTSxZQUNyQyxXQUFXOzhCQU1aLE1BQU07c0JBQWQsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUVHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUdHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlc30gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2N1c3RvbVN2Z3NTeW1ib2xJZHMsIGZsYWdTeW1ib2xJZHMsIG9mZmljaWFsU3ltYm9sSWRzLCBzeW1ib2xJZHMsIFN5bWJvbFR5cGV9IGZyb20gXCJAYWdvcmFwdWxzZS91aS1zeW1ib2xcIjtcblxuY29uc3QgU2l6ZU1hcDoge1trZXk6IHN0cmluZ106IHN0cmluZ30gPSB7XG4gICAgJ2xhcmdlJzogJzY0JyxcbiAgICAnbm9ybWFsJzogJzQ4JyxcbiAgICAnbWVkaXVtJzogJzQwJyxcbiAgICAnbWVkaXVtLXNtJzogJzM2JyxcbiAgICAnc21hbGwnOiAnMzInLFxuICAgICdtaW5pJzogJzI0JyxcbiAgICAnbWluaS1zbSc6ICcxNicsXG4gICAgJ21pY3JvJzogJzEyJyxcbiAgICAnZmFjZWJvb2snOiAnNDAnLFxuICAgICdsaW5rZWRpbic6ICc0MCcsXG4gICAgJ2luc3RhZ3JhbSc6ICc0MCcsXG4gICAgJ3lvdXR1YmUnOiAnNDAnLFxuICAgICdnb29nbGUnOiAnNDAnLFxuICAgICd0d2l0dGVyJzogJzQ4J1xufTtcblxuQENvbXBvbmVudCh7XG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc2VsZWN0b3I6ICdhcC1hdmF0YXInLFxuICAgIHN0eWxlVXJsczogWycuL2F2YXRhci5jb21wb25lbnQuc2NzcyddLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hdmF0YXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEF2YXRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcblxuICAgIEBJbnB1dCgpIGJvcmRlciA9ICcnO1xuICAgIEBJbnB1dCgpIGRlZmF1bHRJbWFnZUVuYWJsZWQgPSB0cnVlOyAvLyBERVBSRUNBVEVEIGRlZmF1bHQgYXZhdGFyIGlmIHdlIGRvbid0IGhhdmUgdXNlcm5hbWVcbiAgICBASW5wdXQoKSBmYWxsYmFja1N5bWJvbElkOiBTeW1ib2xUeXBlPHR5cGVvZiBzeW1ib2xJZHM+IHwgU3ltYm9sVHlwZTx0eXBlb2Ygb2ZmaWNpYWxTeW1ib2xJZHM+IHxcbiAgICAgICAgU3ltYm9sVHlwZTx0eXBlb2YgY3VzdG9tU3Znc1N5bWJvbElkcz4gfCBTeW1ib2xUeXBlPHR5cGVvZiBmbGFnU3ltYm9sSWRzPiA9ICdzaW5nbGUtbmV1dHJhbCc7XG4gICAgQElucHV0KCkgZmFsbGJhY2tTeW1ib2xTaXplOiBzdHJpbmcgfCAnbm9uZScgfCAncGljbycgfCAnbmFubycgfCAnbWljcm8nIHwgJ21pbmknIHwgJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ25vcm1hbCcgfCAnbGFyZ2UnID0gJ21pbmknO1xuICAgIEBJbnB1dCgpIGltYWdlVXJsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgbG9hZGluZzogJ2F1dG8nIHwgJ2xhenknIHwgJ2VhZ2VyJyA9ICdhdXRvJztcbiAgICBASW5wdXQoKSBvdXRlckJvcmRlckhpZGRlbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHNpemU6XG4gICAgICAgICdsYXJnZScgfCAnbm9ybWFsJ3wgJ21lZGl1bScgfCAnbWVkaXVtLXNtJyAgfCAnc21hbGwnIHwgJ21pbmknIHwgJ21pbmktc20nIHwgJ21pY3JvJyB8XG4gICAgICAgICdmYWNlYm9vaycgfCAndHdpdHRlcicgfCAnbGlua2VkaW4nIHwgJ2luc3RhZ3JhbScgfCAneW91dHViZScgfCAnZ29vZ2xlJyA9ICdtZWRpdW0nO1xuICAgIEBJbnB1dCgpIHNvY2lhbDogJ2ZhY2Vib29rJyB8ICdpbnN0YWdyYW0nIHwgJ2xpbmtlZGluJyB8ICd0d2l0dGVyJyB8ICd5b3V0dWJlJyB8ICdnb29nbGUnO1xuICAgIEBJbnB1dCgpIHVzZXJuYW1lOiBzdHJpbmc7IC8vIHVzZWQgdG8gZGlzcGxheSBpbml0aWFsc1xuICAgIEBJbnB1dCgpIHJvdW5kZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBvbmxpbmUgPSBmYWxzZTtcblxuICAgIHNvY2lhbFNpemU6IHN0cmluZztcbiAgICBzaXplTWFwID0gU2l6ZU1hcDtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXMuc29jaWFsPy5jdXJyZW50VmFsdWUgfHwgY2hhbmdlcy5zaXplPy5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNvY2lhbCA9PT0gJ2dvb2dsZScpIHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKHRoaXMuc2l6ZSkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdtZWRpdW0tc20nOlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zb2NpYWxTaXplID0gJzE0JztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdtaW5pJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc29jaWFsU2l6ZSA9ICcxNSc7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc29jaWFsU2l6ZSA9ICcxOSc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNvY2lhbFNpemUgPSB0aGlzLnNpemUgPT09ICdtaW5pJyB8fCB0aGlzLnNpemUgPT09ICdtZWRpdW0tc20nID8gJzEyJyA6ICcxNic7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYW5nZXMuZGVmYXVsdEltYWdlRW5hYmxlZCAmJiBjaGFuZ2VzLmRlZmF1bHRJbWFnZUVuYWJsZWQuY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCInZGVmYXVsdEltYWdlRW5hYmxlZCcgYXR0cmlidXRlIGlzIGRlcHJlY2F0ZWQuXCIpXG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIG9uRXJyb3IoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW1hZ2VVcmwgPSBudWxsO1xuICAgIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImFwLWF2YXRhci1jb250YWluZXIge3tzaXplfX1cIj5cbiAgICA8IS0tIHNpbXBsZSBhdmF0YXIgLS0+XG4gICAgPGltZyAqbmdJZj1cImltYWdlVXJsOyBlbHNlIG5vUGljdHVyZVwiXG4gICAgICAgIGNsYXNzPVwiYXAtYXZhdGFyIHt7c2l6ZX19XCJcbiAgICAgICAgIFtjbGFzcy5vdXRlci1ib3JkZXJdPVwiIW91dGVyQm9yZGVySGlkZGVuXCJcbiAgICAgICAgIFtjbGFzcy5yb3VuZGVkXT1cInJvdW5kZWRcIlxuICAgICAgICAgW2F0dHIuYm9yZGVyXT1cImJvcmRlclwiXG4gICAgICAgICBbYXR0ci5sb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgICAgICAgW2F0dHIuaGVpZ2h0XT1cInNpemVNYXBbc2l6ZV1cIlxuICAgICAgICAgW2F0dHIud2lkdGhdPVwic2l6ZU1hcFtzaXplXVwiXG4gICAgICAgICBbc3JjXT1cImltYWdlVXJsXCJcbiAgICAgICAgIChlcnJvcik9XCJvbkVycm9yKClcIi8+XG4gICAgPCEtLSBpbWFnZSB3aXRoIGZpcnN0IGxldHRlciBvZiBzY3JlZW4gbmFtZSAtLT5cbiAgICA8bmctdGVtcGxhdGUgI25vUGljdHVyZT5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgY2xhc3M9XCJhcC1hdmF0YXIgYXAtYXZhdGFyLXVzZXJuYW1lIHt7c2l6ZX19XCJcbiAgICAgICAgICAgICAgW2NsYXNzLm91dGVyLWJvcmRlcl09XCIhb3V0ZXJCb3JkZXJIaWRkZW5cIlxuICAgICAgICAgICAgICBbY2xhc3Mucm91bmRlZF09XCJyb3VuZGVkXCJcbiAgICAgICAgICAgICAgW2F0dHIuYm9yZGVyXT1cImJvcmRlclwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInVzZXJuYW1lOyBlbHNlIHN5bWJvbFwiPlxuICAgICAgICAgICAgICAgIHt7dXNlcm5hbWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCl9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI3N5bWJvbD5cbiAgICAgICAgICAgICAgICA8YXAtc3ltYm9sXG4gICAgICAgICAgICAgICAgICAgIFtzaXplXT1cImZhbGxiYWNrU3ltYm9sU2l6ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtzeW1ib2xJZF09XCJmYWxsYmFja1N5bWJvbElkXCI+XG4gICAgICAgICAgICAgICAgPC9hcC1zeW1ib2w+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3NwYW4+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxkaXYgICpuZ0lmPVwic29jaWFsXCJcbiAgICAgICAgICBjbGFzcz1cInNvY2lhbC1zeW1ib2wtd3JhcHBlciB7e3NvY2lhbH19IHt7c2l6ZX19XCI+XG4gICAgICAgIDxhcC1zeW1ib2wgW3N5bWJvbElkXT1cInNvY2lhbCA9PT0gJ2dvb2dsZScgPyBzb2NpYWwgKyAnLW15LWJ1c2luZXNzLW9mZmljaWFsJyA6IHNvY2lhbCArICctb2ZmaWNpYWwnXCJcbiAgICAgICAgICAgICAgICAgICBbc2l6ZV09XCJzb2NpYWxTaXplXCI+XG4gICAgICAgIDwvYXAtc3ltYm9sPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJvbmxpbmVcIiBjbGFzcz1cIm9ubGluZS1pbmRpY2F0b3Ige3tzaXplfX1cIj48L2Rpdj5cblxuPC9kaXY+XG48bGFiZWw+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9sYWJlbD5cbiJdfQ==
@@ -0,0 +1,61 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { ModalComponent } from '../modal/modal.component';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/dialog";
5
+ import * as i2 from "@angular/material/button";
6
+ import * as i3 from "../modal/modal.component";
7
+ export class ConfirmModalComponent {
8
+ constructor(dialogRef) {
9
+ this.dialogRef = dialogRef;
10
+ this.contentText = '';
11
+ this.footerCancelButtonId = 'cancel';
12
+ this.footerCancelButtonLabel = '';
13
+ this.footerConfirmButtonId = 'confirm';
14
+ this.footerConfirmButtonLabel = '';
15
+ this.headerTitle = '';
16
+ dialogRef.disableClose = true;
17
+ }
18
+ onCancel() {
19
+ this.dialogRef.close(false);
20
+ }
21
+ onConfirm() {
22
+ this.dialogRef.close(true);
23
+ }
24
+ static open(dialog, confirmModalTexts, modalConfig = null) {
25
+ if (!modalConfig) {
26
+ modalConfig = {};
27
+ }
28
+ if (!modalConfig.matDialogConfig) {
29
+ modalConfig.matDialogConfig = {
30
+ width: '550px'
31
+ };
32
+ }
33
+ const confirmModal = ModalComponent.openWithComponent(dialog, modalConfig, ConfirmModalComponent);
34
+ confirmModal.componentInstance.contentText = confirmModalTexts.contentText;
35
+ confirmModal.componentInstance.footerConfirmButtonId = confirmModalTexts.footerConfirmButtonId;
36
+ confirmModal.componentInstance.footerConfirmButtonLabel = confirmModalTexts.footerConfirmButtonLabel;
37
+ confirmModal.componentInstance.footerCancelButtonId = confirmModalTexts.footerCancelButtonId;
38
+ confirmModal.componentInstance.footerCancelButtonLabel = confirmModalTexts.footerCancelButtonLabel;
39
+ confirmModal.componentInstance.headerTitle = confirmModalTexts.headerTitle;
40
+ return confirmModal;
41
+ }
42
+ }
43
+ /** @nocollapse */ /** @nocollapse */ ConfirmModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ConfirmModalComponent, deps: [{ token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
44
+ /** @nocollapse */ /** @nocollapse */ ConfirmModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: ConfirmModalComponent, selector: "ap-confirm-modal", inputs: { contentText: "contentText", footerCancelButtonId: "footerCancelButtonId", footerCancelButtonLabel: "footerCancelButtonLabel", footerConfirmButtonId: "footerConfirmButtonId", footerConfirmButtonLabel: "footerConfirmButtonLabel", headerTitle: "headerTitle" }, ngImport: i0, template: "<ng-template #headerTemplate>\n <h2>{{headerTitle}}</h2>\n</ng-template>\n\n<ng-template #mainTemplate>\n <p>{{contentText}}</p>\n</ng-template>\n\n<ng-template #footerTemplate>\n <button mat-flat-button (click)=\"onCancel()\" [id]=\"footerCancelButtonId\">\n {{ footerCancelButtonLabel }}\n </button>\n <button mat-flat-button color=\"primary\" cdkFocusInitial [id]=footerConfirmButtonId\n (click)=\"onConfirm()\">\n {{ footerConfirmButtonLabel }}\n </button>\n</ng-template>\n\n<ap-modal [closable]=\"true\"\n [headerTemplate]=\"headerTemplate\"\n [mainTemplate]=\"mainTemplate\"\n [footerTemplate]=\"footerTemplate\"\n></ap-modal>\n", components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i3.ModalComponent, selector: "ap-modal", inputs: ["closable", "headerBottomBorderEnabled", "footerTemplate", "footerVisible", "headerTemplate", "headerVisible", "mainTemplate", "config", "containerStyle", "headerStyle", "contentStyle", "footerStyle", "defaultLayout"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ConfirmModalComponent, decorators: [{
46
+ type: Component,
47
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-confirm-modal', template: "<ng-template #headerTemplate>\n <h2>{{headerTitle}}</h2>\n</ng-template>\n\n<ng-template #mainTemplate>\n <p>{{contentText}}</p>\n</ng-template>\n\n<ng-template #footerTemplate>\n <button mat-flat-button (click)=\"onCancel()\" [id]=\"footerCancelButtonId\">\n {{ footerCancelButtonLabel }}\n </button>\n <button mat-flat-button color=\"primary\" cdkFocusInitial [id]=footerConfirmButtonId\n (click)=\"onConfirm()\">\n {{ footerConfirmButtonLabel }}\n </button>\n</ng-template>\n\n<ap-modal [closable]=\"true\"\n [headerTemplate]=\"headerTemplate\"\n [mainTemplate]=\"mainTemplate\"\n [footerTemplate]=\"footerTemplate\"\n></ap-modal>\n" }]
48
+ }], ctorParameters: function () { return [{ type: i1.MatDialogRef }]; }, propDecorators: { contentText: [{
49
+ type: Input
50
+ }], footerCancelButtonId: [{
51
+ type: Input
52
+ }], footerCancelButtonLabel: [{
53
+ type: Input
54
+ }], footerConfirmButtonId: [{
55
+ type: Input
56
+ }], footerConfirmButtonLabel: [{
57
+ type: Input
58
+ }], headerTitle: [{
59
+ type: Input
60
+ }] } });
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvc3JjL2xpYi9jb25maXJtLW1vZGFsL2NvbmZpcm0tbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NyYy9saWIvY29uZmlybS1tb2RhbC9jb25maXJtLW1vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3hFLE9BQU8sRUFBQyxjQUFjLEVBQWMsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFRckUsTUFBTSxPQUFPLHFCQUFxQjtJQVM5QixZQUNXLFNBQTJDO1FBQTNDLGNBQVMsR0FBVCxTQUFTLENBQWtDO1FBUjdDLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLHlCQUFvQixHQUFXLFFBQVEsQ0FBQztRQUN4Qyw0QkFBdUIsR0FBVyxFQUFFLENBQUM7UUFDckMsMEJBQXFCLEdBQVcsU0FBUyxDQUFDO1FBQzFDLDZCQUF3QixHQUFXLEVBQUUsQ0FBQztRQUN0QyxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUk5QixTQUFTLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztJQUNsQyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxTQUFTO1FBQ0wsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBaUIsRUFBRSxpQkFBb0MsRUFBRSxjQUEyQixJQUFJO1FBQ2hHLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDZCxXQUFXLEdBQUcsRUFBRSxDQUFDO1NBQ3BCO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUU7WUFDOUIsV0FBVyxDQUFDLGVBQWUsR0FBRztnQkFDMUIsS0FBSyxFQUFFLE9BQU87YUFDakIsQ0FBQztTQUNMO1FBQ0QsTUFBTSxZQUFZLEdBQUcsY0FBYyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUscUJBQXFCLENBQUMsQ0FBQztRQUNsRyxZQUFZLENBQUMsaUJBQWlCLENBQUMsV0FBVyxHQUFHLGlCQUFpQixDQUFDLFdBQVcsQ0FBQztRQUMzRSxZQUFZLENBQUMsaUJBQWlCLENBQUMscUJBQXFCLEdBQUcsaUJBQWlCLENBQUMscUJBQXFCLENBQUM7UUFDL0YsWUFBWSxDQUFDLGlCQUFpQixDQUFDLHdCQUF3QixHQUFHLGlCQUFpQixDQUFDLHdCQUF3QixDQUFDO1FBQ3JHLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsR0FBRyxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQztRQUM3RixZQUFZLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLEdBQUcsaUJBQWlCLENBQUMsdUJBQXVCLENBQUM7UUFDbkcsWUFBWSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxXQUFXLENBQUM7UUFDM0UsT0FBTyxZQUFZLENBQUM7SUFDeEIsQ0FBQzs7d0pBdkNRLHFCQUFxQjs0SUFBckIscUJBQXFCLG9VQ1hsQyxtc0JBdUJBOzJGRFphLHFCQUFxQjtrQkFMakMsU0FBUztzQ0FDVyx1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLGtCQUFrQjttR0FLbkIsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csdUJBQXVCO3NCQUEvQixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFDRyx3QkFBd0I7c0JBQWhDLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21wb25lbnRUeXBlfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7TWF0RGlhbG9nLCBNYXREaWFsb2dSZWZ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQge01vZGFsQ29tcG9uZW50LCBNb2RhbENvbmZpZ30gZnJvbSAnLi4vbW9kYWwvbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7Q29uZmlybU1vZGFsVGV4dHN9IGZyb20gJy4vY29uZmlybS1tb2RhbC10ZXh0cy5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHNlbGVjdG9yOiAnYXAtY29uZmlybS1tb2RhbCcsXG4gICAgdGVtcGxhdGVVcmw6ICdjb25maXJtLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlybU1vZGFsQ29tcG9uZW50IHtcblxuICAgIEBJbnB1dCgpIGNvbnRlbnRUZXh0OiBzdHJpbmcgPSAnJztcbiAgICBASW5wdXQoKSBmb290ZXJDYW5jZWxCdXR0b25JZDogc3RyaW5nID0gJ2NhbmNlbCc7XG4gICAgQElucHV0KCkgZm9vdGVyQ2FuY2VsQnV0dG9uTGFiZWw6IHN0cmluZyA9ICcnO1xuICAgIEBJbnB1dCgpIGZvb3RlckNvbmZpcm1CdXR0b25JZDogc3RyaW5nID0gJ2NvbmZpcm0nO1xuICAgIEBJbnB1dCgpIGZvb3RlckNvbmZpcm1CdXR0b25MYWJlbDogc3RyaW5nID0gJyc7XG4gICAgQElucHV0KCkgaGVhZGVyVGl0bGU6IHN0cmluZyA9ICcnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxDb21wb25lbnRUeXBlPGFueT4+KSB7XG4gICAgICAgIGRpYWxvZ1JlZi5kaXNhYmxlQ2xvc2UgPSB0cnVlO1xuICAgIH1cblxuICAgIG9uQ2FuY2VsKCkge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShmYWxzZSk7XG4gICAgfVxuXG4gICAgb25Db25maXJtKCkge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh0cnVlKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgb3BlbihkaWFsb2c6IE1hdERpYWxvZywgY29uZmlybU1vZGFsVGV4dHM6IENvbmZpcm1Nb2RhbFRleHRzLCBtb2RhbENvbmZpZzogTW9kYWxDb25maWcgPSBudWxsKSB7XG4gICAgICAgIGlmICghbW9kYWxDb25maWcpIHtcbiAgICAgICAgICAgIG1vZGFsQ29uZmlnID0ge307XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFtb2RhbENvbmZpZy5tYXREaWFsb2dDb25maWcpIHtcbiAgICAgICAgICAgIG1vZGFsQ29uZmlnLm1hdERpYWxvZ0NvbmZpZyA9IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJzU1MHB4J1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjb25maXJtTW9kYWwgPSBNb2RhbENvbXBvbmVudC5vcGVuV2l0aENvbXBvbmVudChkaWFsb2csIG1vZGFsQ29uZmlnLCBDb25maXJtTW9kYWxDb21wb25lbnQpO1xuICAgICAgICBjb25maXJtTW9kYWwuY29tcG9uZW50SW5zdGFuY2UuY29udGVudFRleHQgPSBjb25maXJtTW9kYWxUZXh0cy5jb250ZW50VGV4dDtcbiAgICAgICAgY29uZmlybU1vZGFsLmNvbXBvbmVudEluc3RhbmNlLmZvb3RlckNvbmZpcm1CdXR0b25JZCA9IGNvbmZpcm1Nb2RhbFRleHRzLmZvb3RlckNvbmZpcm1CdXR0b25JZDtcbiAgICAgICAgY29uZmlybU1vZGFsLmNvbXBvbmVudEluc3RhbmNlLmZvb3RlckNvbmZpcm1CdXR0b25MYWJlbCA9IGNvbmZpcm1Nb2RhbFRleHRzLmZvb3RlckNvbmZpcm1CdXR0b25MYWJlbDtcbiAgICAgICAgY29uZmlybU1vZGFsLmNvbXBvbmVudEluc3RhbmNlLmZvb3RlckNhbmNlbEJ1dHRvbklkID0gY29uZmlybU1vZGFsVGV4dHMuZm9vdGVyQ2FuY2VsQnV0dG9uSWQ7XG4gICAgICAgIGNvbmZpcm1Nb2RhbC5jb21wb25lbnRJbnN0YW5jZS5mb290ZXJDYW5jZWxCdXR0b25MYWJlbCA9IGNvbmZpcm1Nb2RhbFRleHRzLmZvb3RlckNhbmNlbEJ1dHRvbkxhYmVsO1xuICAgICAgICBjb25maXJtTW9kYWwuY29tcG9uZW50SW5zdGFuY2UuaGVhZGVyVGl0bGUgPSBjb25maXJtTW9kYWxUZXh0cy5oZWFkZXJUaXRsZTtcbiAgICAgICAgcmV0dXJuIGNvbmZpcm1Nb2RhbDtcbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI2hlYWRlclRlbXBsYXRlPlxuICAgIDxoMj57e2hlYWRlclRpdGxlfX08L2gyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNtYWluVGVtcGxhdGU+XG4gICAgPHA+e3tjb250ZW50VGV4dH19PC9wPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNmb290ZXJUZW1wbGF0ZT5cbiAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiAoY2xpY2spPVwib25DYW5jZWwoKVwiIFtpZF09XCJmb290ZXJDYW5jZWxCdXR0b25JZFwiPlxuICAgICAgICB7eyBmb290ZXJDYW5jZWxCdXR0b25MYWJlbCB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIGNka0ZvY3VzSW5pdGlhbCBbaWRdPWZvb3RlckNvbmZpcm1CdXR0b25JZFxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ29uZmlybSgpXCI+XG4gICAgICAgIHt7IGZvb3RlckNvbmZpcm1CdXR0b25MYWJlbCB9fVxuICAgIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cblxuPGFwLW1vZGFsIFtjbG9zYWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICBbaGVhZGVyVGVtcGxhdGVdPVwiaGVhZGVyVGVtcGxhdGVcIlxuICAgICAgICAgIFttYWluVGVtcGxhdGVdPVwibWFpblRlbXBsYXRlXCJcbiAgICAgICAgICBbZm9vdGVyVGVtcGxhdGVdPVwiZm9vdGVyVGVtcGxhdGVcIlxuPjwvYXAtbW9kYWw+XG4iXX0=
@@ -0,0 +1,219 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
+ import moment from 'moment';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@agorapulse/ui-symbol";
5
+ import * as i2 from "ngx-daterangepicker-material";
6
+ import * as i3 from "@angular/common";
7
+ export var DatepickerMode;
8
+ (function (DatepickerMode) {
9
+ DatepickerMode["Single"] = "Single";
10
+ DatepickerMode["Multiple"] = "Multiple";
11
+ DatepickerMode["Range"] = "Range";
12
+ })(DatepickerMode || (DatepickerMode = {}));
13
+ var SideEnum;
14
+ (function (SideEnum) {
15
+ SideEnum["left"] = "left";
16
+ SideEnum["right"] = "right";
17
+ })(SideEnum || (SideEnum = {}));
18
+ // TODO fix css for range mode (more lateral padding)
19
+ export class DatepickerComponent {
20
+ constructor(changeDetectorRef) {
21
+ this.changeDetectorRef = changeDetectorRef;
22
+ this.i18n = {
23
+ ranges: {
24
+ yesterday: 'Yesterday',
25
+ lastWeek: 'Last Week',
26
+ last30Days: 'Last 30 days',
27
+ lastMonth: 'Previous month',
28
+ thisMonth: 'This Month',
29
+ }
30
+ };
31
+ this.selectedDates = [];
32
+ this.selectedPeriod = { startDate: null, endDate: null };
33
+ this.dateSelected = new EventEmitter();
34
+ this.periodSelected = new EventEmitter();
35
+ this.DatepickerMode = DatepickerMode;
36
+ this.doubleCalendarWidth = 528; // 231px calendar table * 2 = 462 (+ 16px x-padding * 4 = 64)
37
+ this.ranges = {};
38
+ this.rangePickerWidth = 150;
39
+ this.pageSet = false;
40
+ this.isCustomDate = (date) => {
41
+ const classes = [];
42
+ if (this.mode === DatepickerMode.Multiple) {
43
+ classes.push(this.isSelected(date) ? 'active' : 'force-inactive');
44
+ }
45
+ else if (this.mode === DatepickerMode.Single) {
46
+ classes.push(this.selectedDate && this.selectedDate.isSame(date, 'day') ? 'active' : 'force-inactive');
47
+ }
48
+ else if (this.mode === DatepickerMode.Range) {
49
+ classes.push('range-picker-mode');
50
+ // Workaround to fix the auto-active today date when no date is selected
51
+ if (moment().isSame(date, 'day')
52
+ && !this.selectedPeriod?.startDate
53
+ && !this.selectedPeriod?.endDate) {
54
+ classes.push('force-inactive');
55
+ }
56
+ }
57
+ return classes;
58
+ };
59
+ }
60
+ ngOnInit() {
61
+ this.initRanges();
62
+ this.initDatePickerLocale();
63
+ }
64
+ ngOnChanges(changes) {
65
+ this.setWidth();
66
+ if (this.datepickerRef) {
67
+ setTimeout(() => {
68
+ this.datepickerRef.updateCalendars();
69
+ this.changeDetectorRef.detectChanges();
70
+ }, 100);
71
+ }
72
+ if (changes.selectedPeriod?.currentValue && this.datepickerRef) {
73
+ if (this.selectedPeriod.startDate === null && this.selectedPeriod.endDate === null) {
74
+ this.datepickerRef.clear();
75
+ }
76
+ else {
77
+ this.datepickerRef.setStartDate(this.selectedPeriod.startDate);
78
+ this.datepickerRef.setEndDate(this.selectedPeriod.endDate);
79
+ }
80
+ }
81
+ if (changes.mode?.currentValue === DatepickerMode.Single && this.datepickerRef) {
82
+ this.setCalendarCurrentPage();
83
+ }
84
+ }
85
+ ngAfterViewInit() {
86
+ if (this.datepickerRef) {
87
+ setTimeout(() => {
88
+ this.datepickerRef.updateCalendars();
89
+ this.setCalendarCurrentPage();
90
+ }, 100);
91
+ }
92
+ }
93
+ initDatePickerLocale() {
94
+ if (this.locale) {
95
+ moment.locale(this.locale);
96
+ }
97
+ let firstDayOfWeekIndex;
98
+ if (this.firstDayOfWeek === "sunday") {
99
+ firstDayOfWeekIndex = 0;
100
+ }
101
+ else if (this.firstDayOfWeek === "monday") {
102
+ firstDayOfWeekIndex = 1;
103
+ }
104
+ else {
105
+ firstDayOfWeekIndex = moment.localeData().firstDayOfWeek();
106
+ }
107
+ this.localeConfig = {
108
+ customRangeLabel: 'custom',
109
+ daysOfWeek: moment.weekdaysMin(),
110
+ monthNames: moment.months(),
111
+ firstDay: firstDayOfWeekIndex
112
+ };
113
+ }
114
+ initRanges() {
115
+ this.ranges[this.i18n.ranges.yesterday] = [moment().subtract(1, 'days'), moment().subtract(1, 'days')];
116
+ this.ranges[this.i18n.ranges.lastWeek] = [moment().subtract(7, 'days'), moment().subtract(1, 'days')];
117
+ this.ranges[this.i18n.ranges.last30Days] = [moment().subtract(30, 'days'), moment().subtract(1, 'days')];
118
+ this.ranges[this.i18n.ranges.lastMonth] = [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')];
119
+ this.ranges[this.i18n.ranges.thisMonth] = [moment().startOf('month'), moment().endOf('month')];
120
+ }
121
+ isSelected(date) {
122
+ return this.selectedDates && this.selectedDates.some(selectedDate => selectedDate.isSame(date, 'day'));
123
+ }
124
+ onStartDateChanged(event) {
125
+ const date = event.startDate;
126
+ if (this.mode !== DatepickerMode.Range) {
127
+ this.selectedDate = date;
128
+ this.datepickerRef.setEndDate(date);
129
+ if (this.pageSet) {
130
+ this.pageSet = false;
131
+ }
132
+ else {
133
+ this.dateSelected.emit(date.clone());
134
+ if (this.mode === DatepickerMode.Multiple) {
135
+ this.selectedDates.push(date);
136
+ }
137
+ }
138
+ if (this.datepickerRef) {
139
+ this.datepickerRef.updateCalendars();
140
+ }
141
+ }
142
+ }
143
+ onDatesUpdated(event) {
144
+ if (this.mode === DatepickerMode.Range) {
145
+ this.periodSelected.emit({
146
+ startDate: event.startDate?.clone(),
147
+ endDate: event.endDate?.clone()
148
+ });
149
+ }
150
+ if (this.datepickerRef) {
151
+ this.datepickerRef.updateCalendars();
152
+ }
153
+ }
154
+ onNextMonth() {
155
+ this.datepickerRef.leftCalendar.month = this.datepickerRef.leftCalendar.month.add(1, 'months').clone();
156
+ this.datepickerRef.rightCalendar.month = this.datepickerRef.rightCalendar.month.add(1, 'months').clone();
157
+ this.datepickerRef.clickNext(SideEnum.left);
158
+ this.datepickerRef.clickNext(SideEnum.right);
159
+ }
160
+ onPreviousMonth() {
161
+ this.datepickerRef.leftCalendar.month = this.datepickerRef.leftCalendar.month.subtract(1, 'months').clone();
162
+ this.datepickerRef.rightCalendar.month = this.datepickerRef.rightCalendar.month.subtract(1, 'months').clone();
163
+ this.datepickerRef.clickPrev(SideEnum.left);
164
+ this.datepickerRef.clickPrev(SideEnum.right);
165
+ }
166
+ /**
167
+ * Ugly hack used here to open the calendar on the right day if they are selected dates
168
+ * * https://github.com/fetrarij/ngx-daterangepicker-material/issues/139
169
+ */
170
+ setCalendarCurrentPage() {
171
+ const selectedFirstDate = this.selectedDates.length > 0 ? this.selectedDates[0] : this.selectedDate;
172
+ if (selectedFirstDate && selectedFirstDate.isValid() && this.mode !== DatepickerMode.Range) {
173
+ const endDate = selectedFirstDate.clone();
174
+ endDate.add(1, 'month');
175
+ this.pageSet = true;
176
+ this.datepickerRef.setStartDate(selectedFirstDate);
177
+ this.datepickerRef.setEndDate(endDate);
178
+ this.datepickerRef.updateView();
179
+ }
180
+ this.changeDetectorRef.detectChanges();
181
+ }
182
+ setWidth() {
183
+ this.width = this.showRanges && this.mode === DatepickerMode.Range ? this.doubleCalendarWidth + this.rangePickerWidth : this.doubleCalendarWidth;
184
+ }
185
+ }
186
+ /** @nocollapse */ /** @nocollapse */ DatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DatepickerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
187
+ /** @nocollapse */ /** @nocollapse */ DatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: DatepickerComponent, selector: "ap-datepicker", inputs: { firstDayOfWeek: "firstDayOfWeek", i18n: "i18n", locale: "locale", maxDate: "maxDate", minDate: "minDate", mode: "mode", selectedDate: "selectedDate", selectedDates: "selectedDates", selectedPeriod: "selectedPeriod", showRanges: "showRanges" }, outputs: { dateSelected: "dateSelected", periodSelected: "periodSelected" }, viewQueries: [{ propertyName: "datepickerRef", first: true, predicate: ["datepickerRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"custom-calendar\" [style.width]=\"width + 'px'\">\n <div class=\"custom-header\">\n <div class=\"month-header\"\n *ngIf=\"this.datepickerRef.leftCalendar.month\">\n <div class=\"month-arrow-button\" (click)=\"onPreviousMonth()\">\n <ap-symbol\n [symbolId]=\"'arrow-left-1'\"\n [color]=\"'#858FA1'\"\n [size]=\"'14'\"></ap-symbol>\n </div>\n <div class=\"month-label\">\n {{ this.datepickerRef.leftCalendar.month.locale(locale).format('MMMM YYYY') }}\n </div>\n </div>\n <div class=\"month-header\"\n *ngIf=\"this.datepickerRef.rightCalendar.month\">\n <div class=\"month-label\">\n {{ this.datepickerRef.rightCalendar.month.locale(locale).format('MMMM YYYY') }}\n </div>\n <div class=\"month-arrow-button\" (click)=\"onNextMonth()\">\n <ap-symbol\n [symbolId]=\"'arrow-right-1'\"\n [color]=\"'#858FA1'\"\n [size]=\"'14'\"></ap-symbol>\n </div>\n </div>\n <div class=\"header-filler\" *ngIf=\"showRanges && mode === DatepickerMode.Range\">\n </div>\n </div>\n <ngx-daterangepicker-material\n #datepickerRef\n [class.hide-ranges]=\"!showRanges\"\n [alwaysShowCalendars]=\"true\"\n [autoApply]=\"true\"\n [customRangeDirection]=\"true\"\n [isCustomDate]=\"isCustomDate\"\n [locale]=\"localeConfig\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [ranges]=\"showRanges && mode === DatepickerMode.Range ? ranges : null\"\n (datesUpdated)=\"onDatesUpdated($event)\"\n (startDateChanged)=\"onStartDateChanged($event)\">\n </ngx-daterangepicker-material>\n</div>\n", styles: ["[color=facebook]{color:#1877f2}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#1877f2}[border=facebook]{border:1px solid #1877f2}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #A566A5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #C7AB82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #F2713C}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #FFD006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94C5AA}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2A9D8F}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78ACD8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525A9E}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6A2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729E}::ng-deep .custom-calendar{background-color:#fff;display:flex;flex-direction:column;justify-content:center;border-radius:4px;height:-moz-fit-content;height:fit-content}::ng-deep .custom-calendar .custom-header{display:flex;align-items:center;justify-content:center;color:#344563;font-size:12px;font-weight:700;height:55px;text-transform:capitalize}::ng-deep .custom-calendar .custom-header .month-header{height:30px;width:255px;display:flex;align-items:center}::ng-deep .custom-calendar .custom-header .month-header .month-arrow-button{padding:10px;border-radius:2em;cursor:pointer}::ng-deep .custom-calendar .custom-header .month-header .month-arrow-button:hover{background-color:#eaecef}::ng-deep .custom-calendar .custom-header .month-header .month-label{flex:1;text-align:center}::ng-deep .custom-calendar .custom-header .header-filler{width:150px}::ng-deep .custom-calendar .md-drppicker{font-family:Averta;width:unset;height:219px;padding:0;margin:0 0 16px;box-shadow:none!important;z-index:0!important}::ng-deep .custom-calendar .md-drppicker .ranges{border-left:1px solid #eaecef;float:right!important;max-width:150px;height:100%}::ng-deep .custom-calendar .md-drppicker .ranges ul li{margin-left:12px}::ng-deep .custom-calendar .md-drppicker .ranges ul li:hover{background:unset}::ng-deep .custom-calendar .md-drppicker .ranges ul li button{font-family:Averta;font-size:14px;border-radius:4px;color:#5d6a82}::ng-deep .custom-calendar .md-drppicker .ranges ul li button:hover:not(.active):not(:disabled){color:#178dfe;background:#e8f4ff}::ng-deep .custom-calendar .md-drppicker .ranges ul li button.active{color:#fff;background:#178dfe}::ng-deep .custom-calendar .md-drppicker .ranges ul li button.active:hover{background:#3a9efe}::ng-deep .custom-calendar .md-drppicker .ranges ul li button:disabled{color:#d6dae0;background:none;cursor:default}::ng-deep .custom-calendar .md-drppicker .month{cursor:auto}::ng-deep .custom-calendar .md-drppicker .calendar{margin:0!important;padding:0 16px}::ng-deep .custom-calendar .md-drppicker .calendar.left{border-right:1px solid #eaecef}::ng-deep .custom-calendar .md-drppicker .calendar-table{width:231px;padding:0!important;border:none!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table{border-spacing:0 5px!important;height:184px}::ng-deep .custom-calendar .md-drppicker .calendar-table table td,::ng-deep .custom-calendar .md-drppicker .calendar-table table th{height:unset;border:none}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead{line-height:10px}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr:first-child{display:none}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th{color:#aeb5c1;font-weight:700;font-size:12px;text-transform:capitalize;padding-bottom:10px}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.month,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.prev,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.next{color:#344563}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.prev,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.next{font-size:16px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody tr td:last-child.in-range{border-radius:0 2em 2em 0}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody tr td:first-child.in-range{border-radius:2em 0 0 2em}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td{opacity:1!important;border-spacing:0;height:27px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td span{width:27px!important;height:27px!important;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-left:3px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.in-range:not(.off):not(.force-inactive){background-color:#e8f4ff!important;color:#344563!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active.start-date:not(.end-date).range-picker-mode:not(.off){border-radius:2em 0 0 2em;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active.end-date:not(.start-date).range-picker-mode:not(.off){border-radius:0 2em 2em 0;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.force-inactive).start-date.end-date.range-picker-mode:not(.off){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.force-inactive).start-date.end-date.range-picker-mode:not(.off) span{border-radius:2em;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available:not(.start-date):not(.end-date):hover span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.today.force-inactive:hover span{background-color:#d1e8ff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available:not(.start-date):not(.end-date):hover:not(.in-range),::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.today.force-inactive:hover:not(.in-range){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.in-range:not(.start-date):not(.end-date):hover{border-radius:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.off{background-color:unset!important;color:#d6dae0!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.off):not(.range-picker-mode):not(.force-inactive),::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:hover:not(.off):not(.range-picker-mode){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.off):not(.range-picker-mode):not(.force-inactive) span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:hover:not(.off):not(.range-picker-mode) span{background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.force-inactive{background-color:unset!important;color:#5d6a82}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off) span{border:1px solid #178dfe;color:#5d6a82;height:25px!important;width:25px!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off).start-date:not(.force-inactive) span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off).end-date:not(.force-inactive) span{color:#fff}.hide-ranges ::ng-deep .ranges{display:none}\n"], components: [{ type: i1.SymbolComponent, selector: "ap-symbol", inputs: ["color", "id", "symbolId", "size", "state"] }, { type: i2.DaterangepickerComponent, selector: "ngx-daterangepicker-material", inputs: ["startDate", "endDate", "dateLimit", "autoApply", "singleDatePicker", "showDropdowns", "showWeekNumbers", "showISOWeekNumbers", "linkedCalendars", "autoUpdateInput", "alwaysShowCalendars", "maxSpan", "lockStartDate", "timePicker", "timePicker24Hour", "timePickerIncrement", "timePickerSeconds", "showClearButton", "firstMonthDayClass", "lastMonthDayClass", "emptyWeekRowClass", "emptyWeekColumnClass", "firstDayOfNextMonthClass", "lastDayOfPreviousMonthClass", "showCancel", "keepCalendarOpeningWithRange", "showRangeLabelOnInput", "customRangeDirection", "closeOnAutoApply", "minDate", "maxDate", "locale", "ranges", "isInvalidDate", "isCustomDate", "isTooltipDate", "showCustomRangeLabel", "drops", "opens"], outputs: ["choosedDate", "rangeClicked", "datesUpdated", "startDateChanged", "endDateChanged", "cancelClicked"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
188
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DatepickerComponent, decorators: [{
189
+ type: Component,
190
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-datepicker', template: "<div class=\"custom-calendar\" [style.width]=\"width + 'px'\">\n <div class=\"custom-header\">\n <div class=\"month-header\"\n *ngIf=\"this.datepickerRef.leftCalendar.month\">\n <div class=\"month-arrow-button\" (click)=\"onPreviousMonth()\">\n <ap-symbol\n [symbolId]=\"'arrow-left-1'\"\n [color]=\"'#858FA1'\"\n [size]=\"'14'\"></ap-symbol>\n </div>\n <div class=\"month-label\">\n {{ this.datepickerRef.leftCalendar.month.locale(locale).format('MMMM YYYY') }}\n </div>\n </div>\n <div class=\"month-header\"\n *ngIf=\"this.datepickerRef.rightCalendar.month\">\n <div class=\"month-label\">\n {{ this.datepickerRef.rightCalendar.month.locale(locale).format('MMMM YYYY') }}\n </div>\n <div class=\"month-arrow-button\" (click)=\"onNextMonth()\">\n <ap-symbol\n [symbolId]=\"'arrow-right-1'\"\n [color]=\"'#858FA1'\"\n [size]=\"'14'\"></ap-symbol>\n </div>\n </div>\n <div class=\"header-filler\" *ngIf=\"showRanges && mode === DatepickerMode.Range\">\n </div>\n </div>\n <ngx-daterangepicker-material\n #datepickerRef\n [class.hide-ranges]=\"!showRanges\"\n [alwaysShowCalendars]=\"true\"\n [autoApply]=\"true\"\n [customRangeDirection]=\"true\"\n [isCustomDate]=\"isCustomDate\"\n [locale]=\"localeConfig\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [ranges]=\"showRanges && mode === DatepickerMode.Range ? ranges : null\"\n (datesUpdated)=\"onDatesUpdated($event)\"\n (startDateChanged)=\"onStartDateChanged($event)\">\n </ngx-daterangepicker-material>\n</div>\n", styles: ["[color=facebook]{color:#1877f2}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#1877f2}[border=facebook]{border:1px solid #1877f2}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #A566A5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #C7AB82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #F2713C}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #FFD006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94C5AA}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2A9D8F}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78ACD8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525A9E}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6A2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729E}::ng-deep .custom-calendar{background-color:#fff;display:flex;flex-direction:column;justify-content:center;border-radius:4px;height:-moz-fit-content;height:fit-content}::ng-deep .custom-calendar .custom-header{display:flex;align-items:center;justify-content:center;color:#344563;font-size:12px;font-weight:700;height:55px;text-transform:capitalize}::ng-deep .custom-calendar .custom-header .month-header{height:30px;width:255px;display:flex;align-items:center}::ng-deep .custom-calendar .custom-header .month-header .month-arrow-button{padding:10px;border-radius:2em;cursor:pointer}::ng-deep .custom-calendar .custom-header .month-header .month-arrow-button:hover{background-color:#eaecef}::ng-deep .custom-calendar .custom-header .month-header .month-label{flex:1;text-align:center}::ng-deep .custom-calendar .custom-header .header-filler{width:150px}::ng-deep .custom-calendar .md-drppicker{font-family:Averta;width:unset;height:219px;padding:0;margin:0 0 16px;box-shadow:none!important;z-index:0!important}::ng-deep .custom-calendar .md-drppicker .ranges{border-left:1px solid #eaecef;float:right!important;max-width:150px;height:100%}::ng-deep .custom-calendar .md-drppicker .ranges ul li{margin-left:12px}::ng-deep .custom-calendar .md-drppicker .ranges ul li:hover{background:unset}::ng-deep .custom-calendar .md-drppicker .ranges ul li button{font-family:Averta;font-size:14px;border-radius:4px;color:#5d6a82}::ng-deep .custom-calendar .md-drppicker .ranges ul li button:hover:not(.active):not(:disabled){color:#178dfe;background:#e8f4ff}::ng-deep .custom-calendar .md-drppicker .ranges ul li button.active{color:#fff;background:#178dfe}::ng-deep .custom-calendar .md-drppicker .ranges ul li button.active:hover{background:#3a9efe}::ng-deep .custom-calendar .md-drppicker .ranges ul li button:disabled{color:#d6dae0;background:none;cursor:default}::ng-deep .custom-calendar .md-drppicker .month{cursor:auto}::ng-deep .custom-calendar .md-drppicker .calendar{margin:0!important;padding:0 16px}::ng-deep .custom-calendar .md-drppicker .calendar.left{border-right:1px solid #eaecef}::ng-deep .custom-calendar .md-drppicker .calendar-table{width:231px;padding:0!important;border:none!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table{border-spacing:0 5px!important;height:184px}::ng-deep .custom-calendar .md-drppicker .calendar-table table td,::ng-deep .custom-calendar .md-drppicker .calendar-table table th{height:unset;border:none}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead{line-height:10px}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr:first-child{display:none}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th{color:#aeb5c1;font-weight:700;font-size:12px;text-transform:capitalize;padding-bottom:10px}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.month,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.prev,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.next{color:#344563}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.prev,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.next{font-size:16px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody tr td:last-child.in-range{border-radius:0 2em 2em 0}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody tr td:first-child.in-range{border-radius:2em 0 0 2em}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td{opacity:1!important;border-spacing:0;height:27px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td span{width:27px!important;height:27px!important;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-left:3px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.in-range:not(.off):not(.force-inactive){background-color:#e8f4ff!important;color:#344563!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active.start-date:not(.end-date).range-picker-mode:not(.off){border-radius:2em 0 0 2em;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active.end-date:not(.start-date).range-picker-mode:not(.off){border-radius:0 2em 2em 0;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.force-inactive).start-date.end-date.range-picker-mode:not(.off){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.force-inactive).start-date.end-date.range-picker-mode:not(.off) span{border-radius:2em;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available:not(.start-date):not(.end-date):hover span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.today.force-inactive:hover span{background-color:#d1e8ff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available:not(.start-date):not(.end-date):hover:not(.in-range),::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.today.force-inactive:hover:not(.in-range){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.in-range:not(.start-date):not(.end-date):hover{border-radius:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.off{background-color:unset!important;color:#d6dae0!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.off):not(.range-picker-mode):not(.force-inactive),::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:hover:not(.off):not(.range-picker-mode){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.off):not(.range-picker-mode):not(.force-inactive) span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:hover:not(.off):not(.range-picker-mode) span{background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.force-inactive{background-color:unset!important;color:#5d6a82}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off) span{border:1px solid #178dfe;color:#5d6a82;height:25px!important;width:25px!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off).start-date:not(.force-inactive) span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off).end-date:not(.force-inactive) span{color:#fff}.hide-ranges ::ng-deep .ranges{display:none}\n"] }]
191
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { datepickerRef: [{
192
+ type: ViewChild,
193
+ args: ['datepickerRef']
194
+ }], firstDayOfWeek: [{
195
+ type: Input
196
+ }], i18n: [{
197
+ type: Input
198
+ }], locale: [{
199
+ type: Input
200
+ }], maxDate: [{
201
+ type: Input
202
+ }], minDate: [{
203
+ type: Input
204
+ }], mode: [{
205
+ type: Input
206
+ }], selectedDate: [{
207
+ type: Input
208
+ }], selectedDates: [{
209
+ type: Input
210
+ }], selectedPeriod: [{
211
+ type: Input
212
+ }], showRanges: [{
213
+ type: Input
214
+ }], dateSelected: [{
215
+ type: Output
216
+ }], periodSelected: [{
217
+ type: Output
218
+ }] } });
219
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvc3JjL2xpYi9kYXRlcGlja2VyL2RhdGVwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NyYy9saWIvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7Ozs7O0FBRzVCLE1BQU0sQ0FBTixJQUFZLGNBSVg7QUFKRCxXQUFZLGNBQWM7SUFDdEIsbUNBQWlCLENBQUE7SUFDakIsdUNBQXFCLENBQUE7SUFDckIsaUNBQWUsQ0FBQTtBQUNuQixDQUFDLEVBSlcsY0FBYyxLQUFkLGNBQWMsUUFJekI7QUFpQkQsSUFBSyxRQUdKO0FBSEQsV0FBSyxRQUFRO0lBQ1QseUJBQWEsQ0FBQTtJQUNiLDJCQUFlLENBQUE7QUFDbkIsQ0FBQyxFQUhJLFFBQVEsS0FBUixRQUFRLFFBR1o7QUFFRCxxREFBcUQ7QUFPckQsTUFBTSxPQUFPLG1CQUFtQjtJQXNDNUIsWUFBbUIsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFsQzlDLFNBQUksR0FBbUI7WUFDNUIsTUFBTSxFQUFFO2dCQUNKLFNBQVMsRUFBRSxXQUFXO2dCQUN0QixRQUFRLEVBQUUsV0FBVztnQkFDckIsVUFBVSxFQUFFLGNBQWM7Z0JBQzFCLFNBQVMsRUFBRSxnQkFBZ0I7Z0JBQzNCLFNBQVMsRUFBRSxZQUFZO2FBQzFCO1NBQ0osQ0FBQztRQU1PLGtCQUFhLEdBQWEsRUFBRSxDQUFDO1FBQzdC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akIsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBU0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEYXRlcmFuZ2VwaWNrZXJDb21wb25lbnR9IGZyb20gXCJuZ3gtZGF0ZXJhbmdlcGlja2VyLW1hdGVyaWFsXCI7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQge01vbWVudH0gZnJvbSAnbW9tZW50JztcblxuZXhwb3J0IGVudW0gRGF0ZXBpY2tlck1vZGUge1xuICAgIFNpbmdsZSA9ICdTaW5nbGUnLFxuICAgIE11bHRpcGxlID0gJ011bHRpcGxlJyxcbiAgICBSYW5nZSA9ICdSYW5nZSdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQZXJpb2Qge1xuICAgIHN0YXJ0RGF0ZTogTW9tZW50O1xuICAgIGVuZERhdGU6IE1vbWVudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJMThuRGF0ZVBpY2tlciB7XG4gICAgcmFuZ2VzOiB7XG4gICAgICAgIHllc3RlcmRheTogc3RyaW5nO1xuICAgICAgICBsYXN0V2Vlazogc3RyaW5nO1xuICAgICAgICBsYXN0MzBEYXlzOiBzdHJpbmc7XG4gICAgICAgIGxhc3RNb250aDogc3RyaW5nO1xuICAgICAgICB0aGlzTW9udGg6IHN0cmluZztcbiAgICB9XG59XG5cbmVudW0gU2lkZUVudW0ge1xuICAgIGxlZnQgPSBcImxlZnRcIixcbiAgICByaWdodCA9IFwicmlnaHRcIlxufVxuXG4vLyBUT0RPIGZpeCBjc3MgZm9yIHJhbmdlIG1vZGUgKG1vcmUgbGF0ZXJhbCBwYWRkaW5nKVxuQENvbXBvbmVudCh7XG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc2VsZWN0b3I6ICdhcC1kYXRlcGlja2VyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGF0ZXBpY2tlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIERhdGVwaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQFZpZXdDaGlsZCgnZGF0ZXBpY2tlclJlZicpIGRhdGVwaWNrZXJSZWY6IERhdGVyYW5nZXBpY2tlckNvbXBvbmVudDtcblxuICAgIEBJbnB1dCgpIGZpcnN0RGF5T2ZXZWVrOiBzdHJpbmc7XG4gICAgQElucHV0KCkgaTE4bjogSTE4bkRhdGVQaWNrZXIgPSB7XG4gICAgICAgIHJhbmdlczoge1xuICAgICAgICAgICAgeWVzdGVyZGF5OiAnWWVzdGVyZGF5JyxcbiAgICAgICAgICAgIGxhc3RXZWVrOiAnTGFzdCBXZWVrJyxcbiAgICAgICAgICAgIGxhc3QzMERheXM6ICdMYXN0IDMwIGRheXMnLFxuICAgICAgICAgICAgbGFzdE1vbnRoOiAnUHJldmlvdXMgbW9udGgnLFxuICAgICAgICAgICAgdGhpc01vbnRoOiAnVGhpcyBNb250aCcsXG4gICAgICAgIH1cbiAgICB9O1xuICAgIEBJbnB1dCgpIGxvY2FsZTtcbiAgICBASW5wdXQoKSBtYXhEYXRlOiBNb21lbnQ7XG4gICAgQElucHV0KCkgbWluRGF0ZTogTW9tZW50O1xuICAgIEBJbnB1dCgpIG1vZGU6IERhdGVwaWNrZXJNb2RlO1xuICAgIEBJbnB1dCgpIHNlbGVjdGVkRGF0ZTogTW9tZW50O1xuICAgIEBJbnB1dCgpIHNlbGVjdGVkRGF0ZXM6IE1vbWVudFtdID0gW107XG4gICAgQElucHV0KCkgc2VsZWN0ZWRQZXJpb2Q6IFBlcmlvZCA9IHtzdGFydERhdGU6IG51bGwsIGVuZERhdGU6IG51bGx9O1xuICAgIEBJbnB1dCgpIHNob3dSYW5nZXM6IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KCkgZGF0ZVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHBlcmlvZFNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxQZXJpb2Q+KCk7XG5cbiAgICBEYXRlcGlja2VyTW9kZSA9IERhdGVwaWNrZXJNb2RlO1xuICAgIGRvdWJsZUNhbGVuZGFyV2lkdGggPSA1Mjg7IC8vIDIzMXB4IGNhbGVuZGFyIHRhYmxlICogMiA9IDQ2MiAoKyAxNnB4IHgtcGFkZGluZyAqIDQgPSA2NClcbiAgICBsb2NhbGVDb25maWc6IHtcbiAgICAgICAgY3VzdG9tUmFuZ2VMYWJlbDogc3RyaW5nO1xuICAgICAgICBkYXlzT2ZXZWVrOiBzdHJpbmdbXTtcbiAgICAgICAgbW9udGhOYW1lczogc3RyaW5nW107XG4gICAgICAgIGZpcnN0RGF5OiBudW1iZXI7XG4gICAgfTtcbiAgICByYW5nZXM6IHtbcGVyaW9kOiBzdHJpbmddOiBbTW9tZW50LCBNb21lbnRdfSA9IHt9O1xuICAgIHJhbmdlUGlja2VyV2lkdGggPSAxNTA7XG4gICAgd2lkdGg6IG51bWJlcjtcbiAgICBwYWdlU2V0ID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuaW5pdFJhbmdlcygpO1xuICAgICAgICB0aGlzLmluaXREYXRlUGlja2VyTG9jYWxlKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlcykge1xuICAgICAgICB0aGlzLnNldFdpZHRoKCk7XG4gICAgICAgIGlmICh0aGlzLmRhdGVwaWNrZXJSZWYpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0ZXBpY2tlclJlZi51cGRhdGVDYWxlbmRhcnMoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH0sIDEwMCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYW5nZXMuc2VsZWN0ZWRQZXJpb2Q/LmN1cnJlbnRWYWx1ZSAmJiB0aGlzLmRhdGVwaWNrZXJSZWYpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkUGVyaW9kLnN0YXJ0RGF0ZSA9PT0gbnVsbCAmJiB0aGlzLnNlbGVjdGVkUGVyaW9kLmVuZERhdGUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGVwaWNrZXJSZWYuY2xlYXIoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRlcGlja2VyUmVmLnNldFN0YXJ0RGF0ZSh0aGlzLnNlbGVjdGVkUGVyaW9kLnN0YXJ0RGF0ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRlcGlja2VyUmVmLnNldEVuZERhdGUodGhpcy5zZWxlY3RlZFBlcmlvZC5lbmREYXRlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hhbmdlcy5tb2RlPy5jdXJyZW50VmFsdWUgPT09IERhdGVwaWNrZXJNb2RlLlNpbmdsZSAmJiB0aGlzLmRhdGVwaWNrZXJSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0Q2FsZW5kYXJDdXJyZW50UGFnZSgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0ZXBpY2tlclJlZikge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRlcGlja2VyUmVmLnVwZGF0ZUNhbGVuZGFycygpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0Q2FsZW5kYXJDdXJyZW50UGFnZSgpO1xuICAgICAgICAgICAgfSwgMTAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGluaXREYXRlUGlja2VyTG9jYWxlKCkge1xuICAgICAgICBpZiAodGhpcy5sb2NhbGUpIHtcbiAgICAgICAgICAgIG1vbWVudC5sb2NhbGUodGhpcy5sb2NhbGUpO1xuICAgICAgICB9XG4gICAgICAgIGxldCBmaXJzdERheU9mV2Vla0luZGV4OiBudW1iZXI7XG4gICAgICAgIGlmICh0aGlzLmZpcnN0RGF5T2ZXZWVrID09PSBcInN1bmRheVwiKSB7XG4gICAgICAgICAgICBmaXJzdERheU9mV2Vla0luZGV4ID0gMDtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmZpcnN0RGF5T2ZXZWVrID09PSBcIm1vbmRheVwiKSB7XG4gICAgICAgICAgICBmaXJzdERheU9mV2Vla0luZGV4ID0gMTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZpcnN0RGF5T2ZXZWVrSW5kZXggPSBtb21lbnQubG9jYWxlRGF0YSgpLmZpcnN0RGF5T2ZXZWVrKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5sb2NhbGVDb25maWcgPSB7XG4gICAgICAgICAgICBjdXN0b21SYW5nZUxhYmVsOiAnY3VzdG9tJyxcbiAgICAgICAgICAgIGRheXNPZldlZWs6IG1vbWVudC53ZWVrZGF5c01pbigpLFxuICAgICAgICAgICAgbW9udGhOYW1lczogbW9tZW50Lm1vbnRocygpLFxuICAgICAgICAgICAgZmlyc3REYXk6IGZpcnN0RGF5T2ZXZWVrSW5kZXhcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBpbml0UmFuZ2VzKCkge1xuICAgICAgICB0aGlzLnJhbmdlc1t0aGlzLmkxOG4ucmFuZ2VzLnllc3RlcmRheV0gPSBbbW9tZW50KCkuc3VidHJhY3QoMSwgJ2RheXMnKSwgbW9tZW50KCkuc3VidHJhY3QoMSwgJ2RheXMnKV07XG4gICAgICAgIHRoaXMucmFuZ2VzW3RoaXMuaTE4bi5yYW5nZXMubGFzdFdlZWtdID0gW21vbWVudCgpLnN1YnRyYWN0KDcsICdkYXlzJyksIG1vbWVudCgpLnN1YnRyYWN0KDEsICdkYXlzJyldO1xuICAgICAgICB0aGlzLnJhbmdlc1t0aGlzLmkxOG4ucmFuZ2VzLmxhc3QzMERheXNdID0gW21vbWVudCgpLnN1YnRyYWN0KDMwLCAnZGF5cycpLCBtb21lbnQoKS5zdWJ0cmFjdCgxLCAnZGF5cycpXTtcbiAgICAgICAgdGhpcy5yYW5nZXNbdGhpcy5pMThuLnJhbmdlcy5sYXN0TW9udGhdID0gW21vbWVudCgpLnN1YnRyYWN0KDEsICdtb250aCcpLnN0YXJ0T2YoJ21vbnRoJyksIG1vbWVudCgpLnN1YnRyYWN0KDEsICdtb250aCcpLmVuZE9mKCdtb250aCcpXTtcbiAgICAgICAgdGhpcy5yYW5nZXNbdGhpcy5pMThuLnJhbmdlcy50aGlzTW9udGhdID0gW21vbWVudCgpLnN0YXJ0T2YoJ21vbnRoJyksIG1vbWVudCgpLmVuZE9mKCdtb250aCcpXTtcbiAgICB9XG5cbiAgICBpc0N1c3RvbURhdGUgPSAoZGF0ZTogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IGNsYXNzZXM6IHN0cmluZ1tdID0gW107XG4gICAgICAgIGlmICh0aGlzLm1vZGUgPT09IERhdGVwaWNrZXJNb2RlLk11bHRpcGxlKSB7XG4gICAgICAgICAgICBjbGFzc2VzLnB1c2godGhpcy5pc1NlbGVjdGVkKGRhdGUpID8gJ2FjdGl2ZScgOiAnZm9yY2UtaW5hY3RpdmUnKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm1vZGUgPT09IERhdGVwaWNrZXJNb2RlLlNpbmdsZSkge1xuICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKHRoaXMuc2VsZWN0ZWREYXRlICYmIHRoaXMuc2VsZWN0ZWREYXRlLmlzU2FtZShkYXRlLCAnZGF5JykgPyAnYWN0aXZlJyA6ICdmb3JjZS1pbmFjdGl2ZScpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMubW9kZSA9PT0gRGF0ZXBpY2tlck1vZGUuUmFuZ2UpIHtcbiAgICAgICAgICAgIGNsYXNzZXMucHVzaCgncmFuZ2UtcGlja2VyLW1vZGUnKTtcbiAgICAgICAgICAgIC8vIFdvcmthcm91bmQgdG8gZml4IHRoZSBhdXRvLWFjdGl2ZSB0b2RheSBkYXRlIHdoZW4gbm8gZGF0ZSBpcyBzZWxlY3RlZFxuICAgICAgICAgICAgaWYgKG1vbWVudCgpLmlzU2FtZShkYXRlLCAnZGF5JylcbiAgICAgICAgICAgICAgICAmJiAhdGhpcy5zZWxlY3RlZFBlcmlvZD8uc3RhcnREYXRlXG4gICAgICAgICAgICAgICAgJiYgIXRoaXMuc2VsZWN0ZWRQZXJpb2Q/LmVuZERhdGUpIHtcbiAgICAgICAgICAgICAgICBjbGFzc2VzLnB1c2goJ2ZvcmNlLWluYWN0aXZlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNsYXNzZXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1NlbGVjdGVkKGRhdGU6IGFueSkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZERhdGVzICYmIHRoaXMuc2VsZWN0ZWREYXRlcy5zb21lKHNlbGVjdGVkRGF0ZSA9PiBzZWxlY3RlZERhdGUuaXNTYW1lKGRhdGUsICdkYXknKSk7XG4gICAgfVxuXG4gICAgb25TdGFydERhdGVDaGFuZ2VkKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IGV2ZW50LnN0YXJ0RGF0ZTtcbiAgICAgICAgaWYgKHRoaXMubW9kZSAhPT0gRGF0ZXBpY2tlck1vZGUuUmFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gZGF0ZTtcbiAgICAgICAgICAgIHRoaXMuZGF0ZXBpY2tlclJlZi5zZXRFbmREYXRlKGRhdGUpO1xuICAgICAgICAgICAgaWYgKHRoaXMucGFnZVNldCkge1xuICAgICAgICAgICAgICAgIHRoaXMucGFnZVNldCA9IGZhbHNlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGVTZWxlY3RlZC5lbWl0KGRhdGUuY2xvbmUoKSk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubW9kZSA9PT0gRGF0ZXBpY2tlck1vZGUuTXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVzLnB1c2goZGF0ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuZGF0ZXBpY2tlclJlZikge1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0ZXBpY2tlclJlZi51cGRhdGVDYWxlbmRhcnMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRGF0ZXNVcGRhdGVkKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgaWYgKHRoaXMubW9kZSA9PT0gRGF0ZXBpY2tlck1vZGUuUmFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMucGVyaW9kU2VsZWN0ZWQuZW1pdCh7XG4gICAgICAgICAgICAgICAgc3RhcnREYXRlOiBldmVudC5zdGFydERhdGU/LmNsb25lKCksXG4gICAgICAgICAgICAgICAgZW5kRGF0ZTogZXZlbnQuZW5kRGF0ZT8uY2xvbmUoKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZGF0ZXBpY2tlclJlZikge1xuICAgICAgICAgICAgdGhpcy5kYXRlcGlja2VyUmVmLnVwZGF0ZUNhbGVuZGFycygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25OZXh0TW9udGgoKSB7XG4gICAgICAgIHRoaXMuZGF0ZXBpY2tlclJlZi5sZWZ0Q2FsZW5kYXIubW9udGggPSB0aGlzLmRhdGVwaWNrZXJSZWYubGVmdENhbGVuZGFyLm1vbnRoLmFkZCgxLCAnbW9udGhzJykuY2xvbmUoKTtcbiAgICAgICAgdGhpcy5kYXRlcGlja2VyUmVmLnJpZ2h0Q2FsZW5kYXIubW9udGggPSB0aGlzLmRhdGVwaWNrZXJSZWYucmlnaHRDYWxlbmRhci5tb250aC5hZGQoMSwgJ21vbnRocycpLmNsb25lKCk7XG4gICAgICAgIHRoaXMuZGF0ZXBpY2tlclJlZi5jbGlja05leHQoU2lkZUVudW0ubGVmdCk7XG4gICAgICAgIHRoaXMuZGF0ZXBpY2tlclJlZi5jbGlja05leHQoU2lkZUVudW0ucmlnaHQpO1xuICAgIH1cblxuICAgIG9uUHJldmlvdXNNb250aCgpIHtcbiAgICAgICAgdGhpcy5kYXRlcGlja2VyUmVmLmxlZnRDYWxlbmRhci5tb250aCA9IHRoaXMuZGF0ZXBpY2tlclJlZi5sZWZ0Q2FsZW5kYXIubW9udGguc3VidHJhY3QoMSwgJ21vbnRocycpLmNsb25lKCk7XG4gICAgICAgIHRoaXMuZGF0ZXBpY2tlclJlZi5yaWdodENhbGVuZGFyLm1vbnRoID0gdGhpcy5kYXRlcGlja2VyUmVmLnJpZ2h0Q2FsZW5kYXIubW9udGguc3VidHJhY3QoMSwgJ21vbnRocycpLmNsb25lKCk7XG4gICAgICAgIHRoaXMuZGF0ZXBpY2tlclJlZi5jbGlja1ByZXYoU2lkZUVudW0ubGVmdCk7XG4gICAgICAgIHRoaXMuZGF0ZXBpY2tlclJlZi5jbGlja1ByZXYoU2lkZUVudW0ucmlnaHQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVnbHkgaGFjayB1c2VkIGhlcmUgdG8gb3BlbiB0aGUgY2FsZW5kYXIgb24gdGhlIHJpZ2h0IGRheSBpZiB0aGV5IGFyZSBzZWxlY3RlZCBkYXRlc1xuICAgICAqICAgICAgKiBodHRwczovL2dpdGh1Yi5jb20vZmV0cmFyaWovbmd4LWRhdGVyYW5nZXBpY2tlci1tYXRlcmlhbC9pc3N1ZXMvMTM5XG4gICAgICovXG4gICAgc2V0Q2FsZW5kYXJDdXJyZW50UGFnZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRGaXJzdERhdGUgPSB0aGlzLnNlbGVjdGVkRGF0ZXMubGVuZ3RoID4gMCA/IHRoaXMuc2VsZWN0ZWREYXRlc1swXSA6IHRoaXMuc2VsZWN0ZWREYXRlO1xuICAgICAgICBpZiAoc2VsZWN0ZWRGaXJzdERhdGUgJiYgc2VsZWN0ZWRGaXJzdERhdGUuaXNWYWxpZCgpICYmIHRoaXMubW9kZSAhPT0gRGF0ZXBpY2tlck1vZGUuUmFuZ2UpIHtcbiAgICAgICAgICAgIGNvbnN0IGVuZERhdGUgPSBzZWxlY3RlZEZpcnN0RGF0ZS5jbG9uZSgpO1xuICAgICAgICAgICAgZW5kRGF0ZS5hZGQoMSwgJ21vbnRoJyk7XG4gICAgICAgICAgICB0aGlzLnBhZ2VTZXQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5kYXRlcGlja2VyUmVmLnNldFN0YXJ0RGF0ZShzZWxlY3RlZEZpcnN0RGF0ZSk7XG4gICAgICAgICAgICB0aGlzLmRhdGVwaWNrZXJSZWYuc2V0RW5kRGF0ZShlbmREYXRlKTtcbiAgICAgICAgICAgIHRoaXMuZGF0ZXBpY2tlclJlZi51cGRhdGVWaWV3KCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG5cbiAgICBzZXRXaWR0aCgpIHtcbiAgICAgICAgdGhpcy53aWR0aCA9IHRoaXMuc2hvd1JhbmdlcyAmJiB0aGlzLm1vZGUgPT09IERhdGVwaWNrZXJNb2RlLlJhbmdlID8gdGhpcy5kb3VibGVDYWxlbmRhcldpZHRoICsgdGhpcy5yYW5nZVBpY2tlcldpZHRoIDogdGhpcy5kb3VibGVDYWxlbmRhcldpZHRoO1xuICAgIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImN1c3RvbS1jYWxlbmRhclwiIFtzdHlsZS53aWR0aF09XCJ3aWR0aCArICdweCdcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWhlYWRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9udGgtaGVhZGVyXCJcbiAgICAgICAgICAgICAqbmdJZj1cInRoaXMuZGF0ZXBpY2tlclJlZi5sZWZ0Q2FsZW5kYXIubW9udGhcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb250aC1hcnJvdy1idXR0b25cIiAoY2xpY2spPVwib25QcmV2aW91c01vbnRoKClcIj5cbiAgICAgICAgICAgICAgICA8YXAtc3ltYm9sXG4gICAgICAgICAgICAgICAgICAgIFtzeW1ib2xJZF09XCInYXJyb3ctbGVmdC0xJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCInIzg1OEZBMSdcIlxuICAgICAgICAgICAgICAgICAgICBbc2l6ZV09XCInMTQnXCI+PC9hcC1zeW1ib2w+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb250aC1sYWJlbFwiPlxuICAgICAgICAgICAgICAgIHt7IHRoaXMuZGF0ZXBpY2tlclJlZi5sZWZ0Q2FsZW5kYXIubW9udGgubG9jYWxlKGxvY2FsZSkuZm9ybWF0KCdNTU1NIFlZWVknKSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9udGgtaGVhZGVyXCJcbiAgICAgICAgICAgICAqbmdJZj1cInRoaXMuZGF0ZXBpY2tlclJlZi5yaWdodENhbGVuZGFyLm1vbnRoXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9udGgtbGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7eyB0aGlzLmRhdGVwaWNrZXJSZWYucmlnaHRDYWxlbmRhci5tb250aC5sb2NhbGUobG9jYWxlKS5mb3JtYXQoJ01NTU0gWVlZWScpIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb250aC1hcnJvdy1idXR0b25cIiAoY2xpY2spPVwib25OZXh0TW9udGgoKVwiPlxuICAgICAgICAgICAgICAgIDxhcC1zeW1ib2xcbiAgICAgICAgICAgICAgICAgICAgW3N5bWJvbElkXT1cIidhcnJvdy1yaWdodC0xJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCInIzg1OEZBMSdcIlxuICAgICAgICAgICAgICAgICAgICBbc2l6ZV09XCInMTQnXCI+PC9hcC1zeW1ib2w+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItZmlsbGVyXCIgKm5nSWY9XCJzaG93UmFuZ2VzICYmIG1vZGUgPT09IERhdGVwaWNrZXJNb2RlLlJhbmdlXCI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxuZ3gtZGF0ZXJhbmdlcGlja2VyLW1hdGVyaWFsXG4gICAgICAgICNkYXRlcGlja2VyUmVmXG4gICAgICAgIFtjbGFzcy5oaWRlLXJhbmdlc109XCIhc2hvd1Jhbmdlc1wiXG4gICAgICAgIFthbHdheXNTaG93Q2FsZW5kYXJzXT1cInRydWVcIlxuICAgICAgICBbYXV0b0FwcGx5XT1cInRydWVcIlxuICAgICAgICBbY3VzdG9tUmFuZ2VEaXJlY3Rpb25dPVwidHJ1ZVwiXG4gICAgICAgIFtpc0N1c3RvbURhdGVdPVwiaXNDdXN0b21EYXRlXCJcbiAgICAgICAgW2xvY2FsZV09XCJsb2NhbGVDb25maWdcIlxuICAgICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXG4gICAgICAgIFtyYW5nZXNdPVwic2hvd1JhbmdlcyAmJiBtb2RlID09PSBEYXRlcGlja2VyTW9kZS5SYW5nZSA/IHJhbmdlcyA6IG51bGxcIlxuICAgICAgICAoZGF0ZXNVcGRhdGVkKT1cIm9uRGF0ZXNVcGRhdGVkKCRldmVudClcIlxuICAgICAgICAoc3RhcnREYXRlQ2hhbmdlZCk9XCJvblN0YXJ0RGF0ZUNoYW5nZWQoJGV2ZW50KVwiPlxuICAgIDwvbmd4LWRhdGVyYW5nZXBpY2tlci1tYXRlcmlhbD5cbjwvZGl2PlxuIl19