@the-liberators/ngx-scrumteamsurvey-tools 2.3.23 → 2.3.25

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 (238) hide show
  1. package/fesm2022/the-liberators-ngx-scrumteamsurvey-tools.mjs +707 -673
  2. package/fesm2022/the-liberators-ngx-scrumteamsurvey-tools.mjs.map +1 -1
  3. package/package.json +8 -10
  4. package/esm2022/lib/actions/actions.module.mjs +0 -128
  5. package/esm2022/lib/actions/components/action-list/action-list.component.mjs +0 -118
  6. package/esm2022/lib/actions/components/action-manage/action-manage.component.mjs +0 -164
  7. package/esm2022/lib/actions/components/action-tile/action-tile.component.mjs +0 -79
  8. package/esm2022/lib/actions/dialogs/dialog-export-actions/dialog-export-actions.component.mjs +0 -75
  9. package/esm2022/lib/actions/dialogs/dialog-export-actions/dialog-export-actions.directive.mjs +0 -30
  10. package/esm2022/lib/actions/dialogs/dialog-filters/dialog-filters.component.mjs +0 -113
  11. package/esm2022/lib/actions/dialogs/dialog-manageaction/dialog-manageaction.component.mjs +0 -78
  12. package/esm2022/lib/actions/interfaces/IActionState.mjs +0 -2
  13. package/esm2022/lib/actions/models/actionDto.mjs +0 -43
  14. package/esm2022/lib/actions/models/actionOptionsDto.mjs +0 -9
  15. package/esm2022/lib/actions/models/actionPrefillDto.mjs +0 -3
  16. package/esm2022/lib/actions/models/actionResponseDto.mjs +0 -7
  17. package/esm2022/lib/actions/models/exportRequestDto.mjs +0 -3
  18. package/esm2022/lib/actions/pipes/interventionOwnerToString.pipe.mjs +0 -32
  19. package/esm2022/lib/actions/pipes/interventionStateToString.pipe.mjs +0 -26
  20. package/esm2022/lib/actions/pipes/interventionTypeToString.pipe.mjs +0 -30
  21. package/esm2022/lib/actions/services/actionClientConfig.mjs +0 -30
  22. package/esm2022/lib/actions/services/actionService.mjs +0 -66
  23. package/esm2022/lib/add-calendar/generators/base-calendar.generator.mjs +0 -46
  24. package/esm2022/lib/add-calendar/generators/google-calendar.generator.mjs +0 -16
  25. package/esm2022/lib/add-calendar/generators/ics-calendar.generator.mjs +0 -33
  26. package/esm2022/lib/add-calendar/generators/outlook-calendar.generator.mjs +0 -17
  27. package/esm2022/lib/add-calendar/generators/yahoo-calendar.generator.mjs +0 -28
  28. package/esm2022/lib/add-calendar/index.mjs +0 -4
  29. package/esm2022/lib/add-calendar/model/calendar-event.model.mjs +0 -2
  30. package/esm2022/lib/add-calendar/model/calendar-type.enum.mjs +0 -9
  31. package/esm2022/lib/add-calendar/ng-add-to-calendar.module.mjs +0 -18
  32. package/esm2022/lib/add-calendar/service/ng-add-to-calendar.service.mjs +0 -33
  33. package/esm2022/lib/alerts/alerts.module.mjs +0 -24
  34. package/esm2022/lib/alerts/components/alerts-list/alerts.component.mjs +0 -105
  35. package/esm2022/lib/alerts/components/dialog-alerts/dialog-alerts.component.mjs +0 -25
  36. package/esm2022/lib/alerts/components/dialog-alerts/dialog-alerts.directive.mjs +0 -35
  37. package/esm2022/lib/alerts/interfaces/IAlertState.mjs +0 -2
  38. package/esm2022/lib/alerts/models/alertDto.model.mjs +0 -3
  39. package/esm2022/lib/alerts/models/alertFilterDto.model.mjs +0 -3
  40. package/esm2022/lib/alerts/models/alertResponseDto.model.mjs +0 -7
  41. package/esm2022/lib/alerts/models/dismissAlertRequestDto.model.mjs +0 -3
  42. package/esm2022/lib/alerts/services/alertClientConfig.mjs +0 -30
  43. package/esm2022/lib/alerts/services/alerts.service.mjs +0 -31
  44. package/esm2022/lib/apiUrlToken.mjs +0 -30
  45. package/esm2022/lib/branding/brandBackground.directive.mjs +0 -46
  46. package/esm2022/lib/branding/brandConditionalBackgroundColor.directive.mjs +0 -58
  47. package/esm2022/lib/branding/brandConditionalColor.directive.mjs +0 -63
  48. package/esm2022/lib/branding/brandHoverColor.directive.mjs +0 -84
  49. package/esm2022/lib/branding/branding.module.mjs +0 -68
  50. package/esm2022/lib/branding/brandingProvider.service.mjs +0 -33
  51. package/esm2022/lib/branding/components/site-default-footer/site-default-footer.component.mjs +0 -37
  52. package/esm2022/lib/branding/components/site-default-header/site-default-header.component.mjs +0 -74
  53. package/esm2022/lib/branding/components/site-micro-footer/site-micro-footer.component.mjs +0 -34
  54. package/esm2022/lib/community/community.module.mjs +0 -31
  55. package/esm2022/lib/community/components/gethelp-form/gethelp-form.component.mjs +0 -79
  56. package/esm2022/lib/community/components/meetups/meetups.component.mjs +0 -69
  57. package/esm2022/lib/community/components/recentcontent/recentcontent.component.mjs +0 -29
  58. package/esm2022/lib/community/interfaces/ICommunityState.mjs +0 -2
  59. package/esm2022/lib/community/models/meetupDto.mjs +0 -6
  60. package/esm2022/lib/community/models/resourceDto.mjs +0 -6
  61. package/esm2022/lib/community/services/communityClientConfig.mjs +0 -30
  62. package/esm2022/lib/componentBase.mjs +0 -33
  63. package/esm2022/lib/componentWithViewStateBase.mjs +0 -38
  64. package/esm2022/lib/components/checkbox/checkbox.component.mjs +0 -52
  65. package/esm2022/lib/components/checkbox/checkbox.module.mjs +0 -24
  66. package/esm2022/lib/components/expand/expand.component.mjs +0 -41
  67. package/esm2022/lib/components/expand/expand.module.mjs +0 -24
  68. package/esm2022/lib/components/loading/loading.component.mjs +0 -33
  69. package/esm2022/lib/components/loading/loading.module.mjs +0 -24
  70. package/esm2022/lib/components/mat-tags/mat-tags.component.mjs +0 -82
  71. package/esm2022/lib/components/mat-tags/mat-tags.module.mjs +0 -47
  72. package/esm2022/lib/components/metadata-input/metadata-input.component.mjs +0 -99
  73. package/esm2022/lib/components/metadata-input/metadata-input.module.mjs +0 -39
  74. package/esm2022/lib/components/multi-email-input/multi-email-input.component.mjs +0 -112
  75. package/esm2022/lib/components/multi-email-input/multi-email-input.module.mjs +0 -39
  76. package/esm2022/lib/components/paginator/paginator.component.mjs +0 -50
  77. package/esm2022/lib/components/paginator/paginator.module.mjs +0 -40
  78. package/esm2022/lib/components/quantity-selector/quantity-selector.component.mjs +0 -90
  79. package/esm2022/lib/components/quantity-selector/quantity-selector.module.mjs +0 -43
  80. package/esm2022/lib/components/select-list/select-list.component.mjs +0 -73
  81. package/esm2022/lib/components/select-list/select-list.module.mjs +0 -46
  82. package/esm2022/lib/components/snapshot-inviteurls/snapshot-inviteurls.component.mjs +0 -30
  83. package/esm2022/lib/components/snapshot-inviteurls/snapshot-inviteurls.module.mjs +0 -36
  84. package/esm2022/lib/components/tabnavigator/tabnavigator.component.mjs +0 -36
  85. package/esm2022/lib/components/tabnavigator/tabnavigator.module.mjs +0 -32
  86. package/esm2022/lib/components/topicselector/customCheckValidator.mjs +0 -15
  87. package/esm2022/lib/components/topicselector/minTopicsSelectedValidator.mjs +0 -15
  88. package/esm2022/lib/components/topicselector/topic-selector.component.mjs +0 -220
  89. package/esm2022/lib/components/topicselector/topic-selector.module.mjs +0 -55
  90. package/esm2022/lib/dialogs/dialog-account/account.service.mjs +0 -29
  91. package/esm2022/lib/dialogs/dialog-account/dialog-account.component.mjs +0 -86
  92. package/esm2022/lib/dialogs/dialog-account/dialog-account.module.mjs +0 -21
  93. package/esm2022/lib/dialogs/dialog-account/resetPasswordRequestDto.model.mjs +0 -3
  94. package/esm2022/lib/dialogs/dialog-factorinformation/dialog-factorinformation.component.mjs +0 -48
  95. package/esm2022/lib/dialogs/dialog-factorinformation/dialog-factorinformation.module.mjs +0 -21
  96. package/esm2022/lib/dialogs/dialog-resourcedownload/dialog-resourcedownload.component.mjs +0 -76
  97. package/esm2022/lib/dialogs/dialog-resourcedownload/dialog-resourcedownload.module.mjs +0 -23
  98. package/esm2022/lib/dialogs/dialog-resourcedownload/resourceDownload.service.mjs +0 -26
  99. package/esm2022/lib/dialogs/dialog-subscribe/dialog-subscribe.component.mjs +0 -25
  100. package/esm2022/lib/dialogs/dialog-subscribe/dialog-subscribe.directive.mjs +0 -30
  101. package/esm2022/lib/dialogs/dialog-subscribe/dialog-subscribe.module.mjs +0 -19
  102. package/esm2022/lib/dialogs/dialog-support/contactDto.mjs +0 -2
  103. package/esm2022/lib/dialogs/dialog-support/contactService.service.mjs +0 -25
  104. package/esm2022/lib/dialogs/dialog-support/contactTypeDto.mjs +0 -2
  105. package/esm2022/lib/dialogs/dialog-support/dialog-support.component.mjs +0 -90
  106. package/esm2022/lib/dialogs/dialog-support/dialog-support.directive.mjs +0 -131
  107. package/esm2022/lib/dialogs/dialog-support/dialog-support.module.mjs +0 -27
  108. package/esm2022/lib/directives/backbutton/backbutton.directive.mjs +0 -34
  109. package/esm2022/lib/directives/backbutton/backbutton.module.mjs +0 -17
  110. package/esm2022/lib/directives/guards/guards.module.mjs +0 -30
  111. package/esm2022/lib/directives/guards/validChangeTokenGuard.mjs +0 -27
  112. package/esm2022/lib/directives/guards/validKeyGuard.mjs +0 -26
  113. package/esm2022/lib/directives/guards/validSnapshotKeyGuard.mjs +0 -27
  114. package/esm2022/lib/directives/guards/validTeamKeyGuard.mjs +0 -27
  115. package/esm2022/lib/errorhandling/error.model.mjs +0 -16
  116. package/esm2022/lib/errorhandling/errorHandler.mjs +0 -96
  117. package/esm2022/lib/errorhandling/errorService.module.mjs +0 -24
  118. package/esm2022/lib/errorhandling/errorServiceConfig.mjs +0 -34
  119. package/esm2022/lib/guides/components/imageslider/imageslider.component.mjs +0 -52
  120. package/esm2022/lib/guides/components/resumeguidehover/resumeguidehover.component.mjs +0 -40
  121. package/esm2022/lib/guides/dialogs/dialog-guide/dialog-guide.component.mjs +0 -144
  122. package/esm2022/lib/guides/dialogs/dialog-guides/dialog-guides.component.mjs +0 -90
  123. package/esm2022/lib/guides/directives/startguide/startguide.directive.mjs +0 -27
  124. package/esm2022/lib/guides/guides.module.mjs +0 -92
  125. package/esm2022/lib/guides/interfaces/IGuideState.mjs +0 -2
  126. package/esm2022/lib/guides/models/guideCollectionDto.mjs +0 -19
  127. package/esm2022/lib/guides/services/guidePopup.service.mjs +0 -80
  128. package/esm2022/lib/guides/services/guideStateInBackEnd.service.mjs +0 -54
  129. package/esm2022/lib/guides/services/guideStateInBrowser.service.mjs +0 -56
  130. package/esm2022/lib/guides/services/guidesClientConfig.mjs +0 -30
  131. package/esm2022/lib/guides/services/interfaces.mjs +0 -2
  132. package/esm2022/lib/models/brandingSettingsDto.mjs +0 -5
  133. package/esm2022/lib/models/channelDto.mjs +0 -18
  134. package/esm2022/lib/models/clientInfoDto.mjs +0 -7
  135. package/esm2022/lib/models/contextItemDto.mjs +0 -7
  136. package/esm2022/lib/models/featuresDto.mjs +0 -3
  137. package/esm2022/lib/models/keyValueDto.mjs +0 -7
  138. package/esm2022/lib/models/modelStructureDto.mjs +0 -46
  139. package/esm2022/lib/models/paginatedResponse.mjs +0 -6
  140. package/esm2022/lib/models/pagingOptions.mjs +0 -3
  141. package/esm2022/lib/models/selectListItem.mjs +0 -8
  142. package/esm2022/lib/models/userInfoDto.mjs +0 -16
  143. package/esm2022/lib/models/userSettingsDto.mjs +0 -65
  144. package/esm2022/lib/pipes/callback/callback.module.mjs +0 -17
  145. package/esm2022/lib/pipes/callback/callback.pipe.mjs +0 -20
  146. package/esm2022/lib/pipes/dateRange/ngx-dateRange.module.mjs +0 -17
  147. package/esm2022/lib/pipes/dateRange/ngx-dateRange.pipe.mjs +0 -36
  148. package/esm2022/lib/pipes/dateRange/ngx-dateRangeDto.model.mjs +0 -3
  149. package/esm2022/lib/pipes/segmentName/segmentName.module.mjs +0 -17
  150. package/esm2022/lib/pipes/segmentName/segmentName.pipe.mjs +0 -31
  151. package/esm2022/lib/pipes/slugify/ngx-slugify.module.mjs +0 -17
  152. package/esm2022/lib/pipes/slugify/ngx-slugify.pipe.mjs +0 -24
  153. package/esm2022/lib/results/components/age-indicator/age-indicator.component.mjs +0 -37
  154. package/esm2022/lib/results/components/arrow/arrow.component.mjs +0 -224
  155. package/esm2022/lib/results/components/badge/badge.component.mjs +0 -29
  156. package/esm2022/lib/results/components/badge-progression/badge-progression.component.mjs +0 -25
  157. package/esm2022/lib/results/components/badge-streak/badge-streak.component.mjs +0 -29
  158. package/esm2022/lib/results/components/badges/badges.component.mjs +0 -40
  159. package/esm2022/lib/results/components/benchmark-indicator/benchmark-indicator.component.mjs +0 -21
  160. package/esm2022/lib/results/components/coachingcenter-teaser/coachingcenter-teaser.component.mjs +0 -28
  161. package/esm2022/lib/results/components/delta-arrow/delta-arrow.component.mjs +0 -37
  162. package/esm2022/lib/results/components/doityourself/doityourself.component.mjs +0 -17
  163. package/esm2022/lib/results/components/doityourselfworkshops/doityourselfworkshops.component.mjs +0 -41
  164. package/esm2022/lib/results/components/factor-axis/factor-axis.component.mjs +0 -62
  165. package/esm2022/lib/results/components/factors/factors.component.mjs +0 -46
  166. package/esm2022/lib/results/components/filter-tags/filter-tags.component.mjs +0 -31
  167. package/esm2022/lib/results/components/focusareas/focusareas.component.mjs +0 -43
  168. package/esm2022/lib/results/components/footer/footer.component.mjs +0 -30
  169. package/esm2022/lib/results/components/impact-indicator/impact-indicator.component.mjs +0 -20
  170. package/esm2022/lib/results/components/liberatorkits/liberatorkits.component.mjs +0 -29
  171. package/esm2022/lib/results/components/limitationsapply/limitationsapply.component.mjs +0 -20
  172. package/esm2022/lib/results/components/model/model.component.mjs +0 -79
  173. package/esm2022/lib/results/components/model-factor/model-factor.component.mjs +0 -95
  174. package/esm2022/lib/results/components/model-factor-breakdown/model-factor-breakdown.component.mjs +0 -44
  175. package/esm2022/lib/results/components/model-switcher/model-switcher.component.mjs +0 -33
  176. package/esm2022/lib/results/components/nav-button/nav-button.component.mjs +0 -85
  177. package/esm2022/lib/results/components/participants/participants.component.mjs +0 -78
  178. package/esm2022/lib/results/components/quicktips/quicktips.component.mjs +0 -77
  179. package/esm2022/lib/results/components/recommendation/recommendation.component.mjs +0 -53
  180. package/esm2022/lib/results/components/recommendations/recommendations.component.mjs +0 -57
  181. package/esm2022/lib/results/components/research/research.component.mjs +0 -16
  182. package/esm2022/lib/results/components/roadmap/roadmap.component.mjs +0 -29
  183. package/esm2022/lib/results/components/teamdashboard-teaser/teamdashboard-teaser.component.mjs +0 -30
  184. package/esm2022/lib/results/components/teameffectiveness/teameffectiveness.component.mjs +0 -40
  185. package/esm2022/lib/results/components/termsupdated/termsupdated.component.mjs +0 -37
  186. package/esm2022/lib/results/components/tip-badge/tip-badge.component.mjs +0 -53
  187. package/esm2022/lib/results/components/trends/trends.component.mjs +0 -138
  188. package/esm2022/lib/results/components/update-in-progress/update-in-progress.component.mjs +0 -36
  189. package/esm2022/lib/results/components/userprofile/userprofile.component.mjs +0 -166
  190. package/esm2022/lib/results/components/video/video.component.mjs +0 -23
  191. package/esm2022/lib/results/components/widget-factorscore/widget-factorscore.component.mjs +0 -41
  192. package/esm2022/lib/results/components/widget-participationrate/widget-participationrate.component.mjs +0 -32
  193. package/esm2022/lib/results/dialogs/dialog-export-factorscores/dialog-export-factorscores.component.mjs +0 -94
  194. package/esm2022/lib/results/dialogs/dialog-export-factorscores/dialog-export-factorscores.directive.mjs +0 -30
  195. package/esm2022/lib/results/dialogs/dialog-export-teamlist/dialog-export-teamlist.component.mjs +0 -93
  196. package/esm2022/lib/results/dialogs/dialog-export-teamlist/dialog-export-teamlist.directive.mjs +0 -30
  197. package/esm2022/lib/results/dialogs/dialog-modelfilter/dialog-modelfilter.component.mjs +0 -84
  198. package/esm2022/lib/results/dialogs/dialog-notes/dialog-notes.component.mjs +0 -46
  199. package/esm2022/lib/results/dialogs/dialog-settings/dialog-settings.component.mjs +0 -167
  200. package/esm2022/lib/results/interfaces/IResultsState.mjs +0 -2
  201. package/esm2022/lib/results/models/badgeDto.mjs +0 -10
  202. package/esm2022/lib/results/models/dataSetDto.mjs +0 -7
  203. package/esm2022/lib/results/models/dimensionResultDto.mjs +0 -3
  204. package/esm2022/lib/results/models/exportRequestDto.mjs +0 -11
  205. package/esm2022/lib/results/models/factorScoreDto.mjs +0 -96
  206. package/esm2022/lib/results/models/localUserDto.model.mjs +0 -4
  207. package/esm2022/lib/results/models/participantDto.model.mjs +0 -4
  208. package/esm2022/lib/results/models/snapshotDto.model.mjs +0 -4
  209. package/esm2022/lib/results/models/snapshotMetaDataDto.mjs +0 -5
  210. package/esm2022/lib/results/models/teamDto.model.mjs +0 -4
  211. package/esm2022/lib/results/models/teamListResponseDto.mjs +0 -6
  212. package/esm2022/lib/results/models/teamMetaDataDto.mjs +0 -11
  213. package/esm2022/lib/results/models/trendDataRequestDto.model.mjs +0 -3
  214. package/esm2022/lib/results/models/userListResponseDto.mjs +0 -6
  215. package/esm2022/lib/results/models/widgetDataDto.mjs +0 -3
  216. package/esm2022/lib/results/results.module.mjs +0 -385
  217. package/esm2022/lib/results/services/account.service.mjs +0 -24
  218. package/esm2022/lib/results/services/dimissPopupService.mjs +0 -18
  219. package/esm2022/lib/results/services/exportService.mjs +0 -30
  220. package/esm2022/lib/results/services/factorService.mjs +0 -24
  221. package/esm2022/lib/results/services/resultsClientConfig.mjs +0 -30
  222. package/esm2022/lib/results/services/terms.service.mjs +0 -24
  223. package/esm2022/lib/results/services/trend.service.mjs +0 -24
  224. package/esm2022/lib/results/services/userProfile.service.mjs +0 -41
  225. package/esm2022/lib/validators/domainValidator.mjs +0 -14
  226. package/esm2022/lib/validators/matchInputValidator.mjs +0 -25
  227. package/esm2022/lib/validators/maxSelectedValidator.mjs +0 -9
  228. package/esm2022/lib/viewModel/interfaces.mjs +0 -6
  229. package/esm2022/lib/viewModel/reloadStrategies/noReloadStrategy.mjs +0 -22
  230. package/esm2022/lib/viewModel/reloadStrategies/reloadOnPushStrategy.mjs +0 -52
  231. package/esm2022/lib/viewModel/services/sessionIdInterceptor.service.mjs +0 -31
  232. package/esm2022/lib/viewModel/services/sessionIdProvider.service.mjs +0 -22
  233. package/esm2022/lib/viewModel/userSettings.service.mjs +0 -32
  234. package/esm2022/lib/viewModel/viewModelState.module.mjs +0 -31
  235. package/esm2022/lib/viewModel/viewModelState.service.mjs +0 -79
  236. package/esm2022/lib/viewModel/viewModelStateConfig.mjs +0 -30
  237. package/esm2022/public-api.mjs +0 -224
  238. package/esm2022/the-liberators-ngx-scrumteamsurvey-tools.mjs +0 -5
@@ -1,224 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "@angular/material/tooltip";
5
- // Source byu Samuel Berthe - https://github.com/samber/ngx-domarrow
6
- export class ArrowComponent {
7
- constructor(elem) {
8
- this.elem = elem;
9
- this.from = null;
10
- this.to = null;
11
- this.head = false;
12
- this.tail = false;
13
- this.text = null;
14
- this.toolTip = null;
15
- this.color = null;
16
- this.width = null;
17
- this.onlyVisible = false;
18
- this.fromX = null;
19
- this.fromY = null;
20
- this.toX = null;
21
- this.toY = null;
22
- this.arrowIndices = [];
23
- this.styleLine = [];
24
- this.styleArrowFw = [];
25
- this.styleArrowBw = [];
26
- this.needSwap = [];
27
- this.elementPositionBackup = '';
28
- }
29
- getNumberOrDef(val, def) {
30
- return typeof val === 'number' && !isNaN(val) ? val : def;
31
- }
32
- isVisible(element) {
33
- return element && element.style.visibility !== 'hidden';
34
- }
35
- inside(minX, minY, maxX, maxY, x1, y1) {
36
- return minX <= x1 && x1 <= maxX && minY <= y1 && y1 <= maxY;
37
- }
38
- intersectionPoint(x1, y1, x2, y2, minX, minY, maxX, maxY) {
39
- const min = Math.min;
40
- const max = Math.max;
41
- const good = this.inside.bind(null, min(x1, x2), min(y1, y2), max(x1, x2), max(y1, y2));
42
- if ((x1 <= minX && x2 <= minX)
43
- || (y1 <= minY && y2 <= minY)
44
- || (x1 >= maxX && x2 >= maxX)
45
- || (y1 >= maxY && y2 >= maxY)
46
- || (this.inside(minX, minY, maxX, maxY, x1, y1) && this.inside(minX, minY, maxX, maxY, x2, y2)))
47
- return null;
48
- const m = (y2 - y1) / (x2 - x1);
49
- let y = m * (minX - x1) + y1;
50
- if (minY < y && y < maxY && good(minX, y))
51
- return {
52
- x: minX,
53
- y: y
54
- };
55
- y = m * (maxX - x1) + y1;
56
- if (minY < y && y < maxY && good(maxX, y))
57
- return {
58
- x: maxX,
59
- y: y
60
- };
61
- let x = (minY - y1) / m + x1;
62
- if (minX < x && x < maxX && good(x, minY))
63
- return {
64
- x: x,
65
- y: minY
66
- };
67
- x = (maxY - y1) / m + x1;
68
- if (minX < x && x < maxX && good(x, maxY))
69
- return {
70
- x: x,
71
- y: maxY
72
- };
73
- return null;
74
- }
75
- adjustLine(nth, from, to) {
76
- if (to == null || from == null)
77
- return;
78
- const color = this.color || '808080';
79
- const W = this.width || 1;
80
- const fromB = parseFloat(from.style.top) ? null : from.getBoundingClientRect();
81
- const toB = parseFloat(to.style.top) ? null : to.getBoundingClientRect();
82
- const fromBStartY = (fromB ? window.scrollY + fromB.top : parseFloat(from.style.top));
83
- const fromBStartX = (fromB ? window.scrollX + fromB.left : parseFloat(from.style.left));
84
- const toBStartY = (toB ? window.scrollY + toB.top : parseFloat(to.style.top));
85
- const toBStartX = (toB ? window.scrollX + toB.left : parseFloat(to.style.left));
86
- const fromBWidth = (fromB ? fromB.width : parseFloat(from.style.width) || from.offsetWidth);
87
- const fromBHeight = (fromB ? fromB.height : parseFloat(from.style.height) || from.offsetHeight);
88
- const toBWidth = (toB ? toB.width : parseFloat(to.style.width) || to.offsetWidth);
89
- const toBHeight = (toB ? toB.height : parseFloat(to.style.height) || to.offsetHeight);
90
- let fT = fromBStartY + fromBHeight * this.getNumberOrDef(this.fromY, 0.5);
91
- let tT = toBStartY + toBHeight * this.getNumberOrDef(this.toY, 0.5);
92
- let fL = fromBStartX + fromBWidth * this.getNumberOrDef(this.fromX, 0.5);
93
- let tL = toBStartX + toBWidth * this.getNumberOrDef(this.toX, 0.5);
94
- let CA = Math.abs(tT - fT);
95
- let CO = Math.abs(tL - fL);
96
- let H = Math.sqrt(CA * CA + CO * CO);
97
- let ANG = 180 / Math.PI * Math.acos(CO / H);
98
- if ((fT >= tT || fL >= tL) && (tT >= fT || tL >= fL))
99
- ANG *= -1;
100
- if (this.onlyVisible) {
101
- const arrangeFrom = this.intersectionPoint(fL, fT, tL, tT, fromBStartX, fromBStartY, fromBStartX + fromBWidth, fromBStartY + fromBHeight);
102
- const arrangeTo = this.intersectionPoint(fL, fT, tL, tT, toBStartX, toBStartY, toBStartX + toBWidth, toBStartY + toBHeight);
103
- if (arrangeFrom) {
104
- fL = arrangeFrom.x;
105
- fT = arrangeFrom.y;
106
- }
107
- if (arrangeTo) {
108
- tL = arrangeTo.x;
109
- tT = arrangeTo.y;
110
- }
111
- CA = Math.abs(tT - fT);
112
- CO = Math.abs(tL - fL);
113
- H = Math.sqrt(CA * CA + CO * CO);
114
- }
115
- const top = (tT + fT) / 2 - W / 2;
116
- const left = (tL + fL) / 2 - H / 2;
117
- const arrows = this.elem.nativeElement.querySelectorAll('.line-' + nth + ' .arrow');
118
- this.needSwap[nth] = (fL > tL || (fL === tL && fT < tT));
119
- const arrowFw = this.needSwap[nth] && this.isVisible(arrows[0]) && arrows[0] || !this.needSwap[nth] && this.isVisible(arrows[1]) && arrows[1];
120
- const arrowBw = !this.needSwap[nth] && this.isVisible(arrows[0]) && arrows[0] || this.needSwap[nth] && this.isVisible(arrows[1]) && arrows[1];
121
- this.styleArrowFw[nth] = {};
122
- this.styleArrowBw[nth] = {};
123
- this.styleLine[nth] = {};
124
- this.styleArrowFw[nth]['top'] = W / 2 - 6 + 'px';
125
- this.styleArrowBw[nth]['top'] = W / 2 - 6 + 'px';
126
- this.styleLine[nth]['display'] = 'none';
127
- this.styleLine[nth]['-webkit-transform'] = 'rotate(' + ANG + 'deg)';
128
- this.styleLine[nth]['-moz-transform'] = 'rotate(' + ANG + 'deg)';
129
- this.styleLine[nth]['-ms-transform'] = 'rotate(' + ANG + 'deg)';
130
- this.styleLine[nth]['-o-transform'] = 'rotate(' + ANG + 'deg)';
131
- this.styleLine[nth]['-transform'] = 'rotate(' + ANG + 'deg)';
132
- this.styleLine[nth]['top'] = top + 'px';
133
- this.styleLine[nth]['left'] = left + 'px';
134
- this.styleLine[nth]['width'] = H + 'px';
135
- this.styleLine[nth]['height'] = W + 'px';
136
- this.styleLine[nth]['background'] = 'linear-gradient(to right, ' +
137
- (arrowFw ? 'transparent' : color) + ' 11px, ' +
138
- color + ' 11px ' + (H - 11) + 'px, ' +
139
- (arrowBw ? 'transparent' : color) + ' ' + (H - 11) + 'px 100%)';
140
- this.styleLine[nth]['display'] = 'initial';
141
- }
142
- adjustLines() {
143
- const pairs = this.getFromToPairs();
144
- // init values
145
- this.needSwap = Array(pairs.length).fill(false);
146
- this.styleLine = Array(pairs.length).fill([]);
147
- this.styleArrowBw = Array(pairs.length).fill({});
148
- this.styleArrowFw = Array(pairs.length).fill({});
149
- this.arrowIndices = Array(pairs.length)
150
- .fill(null).map((_, i) => i);
151
- pairs.map((pair, i) => {
152
- this.adjustLine(i, pair[0], pair[1]);
153
- });
154
- }
155
- getFromToPairs() {
156
- const froms = Array.from(document.querySelectorAll(this.from));
157
- const tos = Array.from(document.querySelectorAll(this.to));
158
- return froms.reduce((acc1, cur1) => {
159
- return tos.reduce((acc2, cur2) => {
160
- acc2.push([cur1, cur2]);
161
- return acc2;
162
- }, acc1);
163
- }, []).filter((pair) => !!pair[0] && !!pair[1]);
164
- }
165
- trackPositionChange() {
166
- const pairs = this.getFromToPairs();
167
- const currentPos = pairs.map((pair) => {
168
- return JSON.stringify(pair[0].getBoundingClientRect()) + JSON.stringify(pair[1].getBoundingClientRect());
169
- ;
170
- }).join(',');
171
- if (currentPos !== this.elementPositionBackup) {
172
- this.elementPositionBackup = currentPos;
173
- this.adjustLines();
174
- }
175
- }
176
- ngOnInit() {
177
- this.adjustLines();
178
- window.addEventListener("scroll", () => {
179
- if (new Date().getTime() % 5 == 0) {
180
- // don't 🔥 the CPU
181
- // @TODO: better hack with setTimeout overriden at each event ?
182
- this.trackPositionChange();
183
- }
184
- });
185
- }
186
- ngDoCheck() {
187
- this.trackPositionChange();
188
- }
189
- ngOnDestroy() {
190
- }
191
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ArrowComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
192
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: ArrowComponent, selector: "arrow", inputs: { from: "from", to: "to", head: "head", tail: "tail", text: "text", toolTip: "toolTip", color: "color", width: "width", onlyVisible: "onlyVisible", fromX: "fromX", fromY: "fromY", toX: "toX", toY: "toY" }, ngImport: i0, template: "<ng-container *ngFor=\"let index of arrowIndices\">\n\n <div class=\"line line-{{ index }}\" [ngStyle]=\"styleLine[index]\" [matTooltip]=\"toolTip\">\n\n <div *ngIf=\"head == true\" class=\"arrow head {{ needSwap[index] ? 'arrow-bw' : 'arrow-fw' }}\"\n [ngStyle]=\"needSwap[index] ? styleArrowBw[index] : styleArrowFw[index]\"></div>\n <div *ngIf=\"tail == true\" class=\"arrow tail {{ needSwap[index] ? 'arrow-fw' : 'arrow-bw' }}\"\n [ngStyle]=\"needSwap[index] ? styleArrowFw[index] : styleArrowBw[index]\"></div>\n <div *ngIf=\"!!text && text.length > 0\" class=\"text\" >{{ text }}</div>\n\n </div>\n\n</ng-container>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.bigletteredbutton{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;text-decoration:none;background:#ffffff1a;margin-bottom:10px;display:flex;align-content:center;border-radius:20px;padding:15px;font-size:24px;border:2px solid #1F3F8F;border-bottom:6px solid #1F3F8F;color:#fff;align-items:center;cursor:pointer}.bigletteredbutton .free{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff73f;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton .plan{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton:hover,.bigletteredbutton.selected{border:2px solid #fff73f;border-bottom:6px solid #fff73f}.bigletteredbutton .button-letter{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f;margin-right:20px}.bigletteredbutton .button-letter .ph{color:#1f3f8f}.bigletteredbutton .button-letter:hover{background:#1f3f8f;color:#fff73f}.bigletteredbutton .button-letter:hover .ph{color:#fff73f}.roundicon-yellow{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f}.roundicon-yellow .ph{color:#1f3f8f}.roundicon-yellow:hover{background:#1f3f8f;color:#fff73f}.roundicon-yellow:hover .ph{color:#fff73f}.roundicon{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center}.roundicon-large{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;border-radius:60px;height:120px;width:120px}.line .arrow{top:-5px;height:0px;width:0px;position:absolute;border-bottom:6px solid transparent;border-top:6px solid transparent;background-clip:border-box}.line .arrow-fw{border-right:12px solid #bdbdbd}.line .arrow-bw{left:100%;border-left:12px solid #bdbdbd;transform:translate(-8px)}.line .text{position:absolute;top:100%;left:50%;transform:translate(-50%,-100%);font-size:20px;color:#bdbdbd;font-weight:600;padding-bottom:5px}.line{position:absolute;height:2px;background-color:#bdbdbd}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
193
- }
194
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ArrowComponent, decorators: [{
195
- type: Component,
196
- args: [{ selector: 'arrow', template: "<ng-container *ngFor=\"let index of arrowIndices\">\n\n <div class=\"line line-{{ index }}\" [ngStyle]=\"styleLine[index]\" [matTooltip]=\"toolTip\">\n\n <div *ngIf=\"head == true\" class=\"arrow head {{ needSwap[index] ? 'arrow-bw' : 'arrow-fw' }}\"\n [ngStyle]=\"needSwap[index] ? styleArrowBw[index] : styleArrowFw[index]\"></div>\n <div *ngIf=\"tail == true\" class=\"arrow tail {{ needSwap[index] ? 'arrow-fw' : 'arrow-bw' }}\"\n [ngStyle]=\"needSwap[index] ? styleArrowFw[index] : styleArrowBw[index]\"></div>\n <div *ngIf=\"!!text && text.length > 0\" class=\"text\" >{{ text }}</div>\n\n </div>\n\n</ng-container>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.bigletteredbutton{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;text-decoration:none;background:#ffffff1a;margin-bottom:10px;display:flex;align-content:center;border-radius:20px;padding:15px;font-size:24px;border:2px solid #1F3F8F;border-bottom:6px solid #1F3F8F;color:#fff;align-items:center;cursor:pointer}.bigletteredbutton .free{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff73f;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton .plan{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton:hover,.bigletteredbutton.selected{border:2px solid #fff73f;border-bottom:6px solid #fff73f}.bigletteredbutton .button-letter{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f;margin-right:20px}.bigletteredbutton .button-letter .ph{color:#1f3f8f}.bigletteredbutton .button-letter:hover{background:#1f3f8f;color:#fff73f}.bigletteredbutton .button-letter:hover .ph{color:#fff73f}.roundicon-yellow{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f}.roundicon-yellow .ph{color:#1f3f8f}.roundicon-yellow:hover{background:#1f3f8f;color:#fff73f}.roundicon-yellow:hover .ph{color:#fff73f}.roundicon{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center}.roundicon-large{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;border-radius:60px;height:120px;width:120px}.line .arrow{top:-5px;height:0px;width:0px;position:absolute;border-bottom:6px solid transparent;border-top:6px solid transparent;background-clip:border-box}.line .arrow-fw{border-right:12px solid #bdbdbd}.line .arrow-bw{left:100%;border-left:12px solid #bdbdbd;transform:translate(-8px)}.line .text{position:absolute;top:100%;left:50%;transform:translate(-50%,-100%);font-size:20px;color:#bdbdbd;font-weight:600;padding-bottom:5px}.line{position:absolute;height:2px;background-color:#bdbdbd}\n"] }]
197
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { from: [{
198
- type: Input
199
- }], to: [{
200
- type: Input
201
- }], head: [{
202
- type: Input
203
- }], tail: [{
204
- type: Input
205
- }], text: [{
206
- type: Input
207
- }], toolTip: [{
208
- type: Input
209
- }], color: [{
210
- type: Input
211
- }], width: [{
212
- type: Input
213
- }], onlyVisible: [{
214
- type: Input
215
- }], fromX: [{
216
- type: Input
217
- }], fromY: [{
218
- type: Input
219
- }], toX: [{
220
- type: Input
221
- }], toY: [{
222
- type: Input
223
- }] } });
224
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyb3cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNjcnVtdGVhbXN1cnZleS10b29scy9zcmMvbGliL3Jlc3VsdHMvY29tcG9uZW50cy9hcnJvdy9hcnJvdy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NydW10ZWFtc3VydmV5LXRvb2xzL3NyYy9saWIvcmVzdWx0cy9jb21wb25lbnRzL2Fycm93L2Fycm93LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXVCLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7OztBQUU5RSxvRUFBb0U7QUFNcEUsTUFBTSxPQUFPLGNBQWM7SUEyQnpCLFlBQ1UsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQTNCVixTQUFJLEdBQVcsSUFBSSxDQUFDO1FBQ3BCLE9BQUUsR0FBVyxJQUFJLENBQUM7UUFFbEIsU0FBSSxHQUFZLEtBQUssQ0FBQztRQUN0QixTQUFJLEdBQVksS0FBSyxDQUFDO1FBQ3RCLFNBQUksR0FBVyxJQUFJLENBQUM7UUFDcEIsWUFBTyxHQUFXLElBQUksQ0FBQztRQUV2QixVQUFLLEdBQVcsSUFBSSxDQUFDO1FBQ3JCLFVBQUssR0FBVyxJQUFJLENBQUM7UUFDckIsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFFN0IsVUFBSyxHQUFXLElBQUksQ0FBQztRQUNyQixVQUFLLEdBQVcsSUFBSSxDQUFDO1FBQ3JCLFFBQUcsR0FBVyxJQUFJLENBQUM7UUFDbkIsUUFBRyxHQUFXLElBQUksQ0FBQztRQUU1QixpQkFBWSxHQUFhLEVBQUUsQ0FBQztRQUU1QixjQUFTLEdBQWEsRUFBRSxDQUFDO1FBQ3pCLGlCQUFZLEdBQWEsRUFBRSxDQUFDO1FBQzVCLGlCQUFZLEdBQWEsRUFBRSxDQUFDO1FBQzVCLGFB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QyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN0RixNQUFNLFdBQVcsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3hGLE1BQU0sU0FBUyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDOUUsTUFBTSxTQUFTLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNoRixNQUFNLFVBQVUsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzVGLE1BQU0sV0FBVyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDaEcsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsRixNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXRGLElBQUksRUFBRSxHQUFHLFdBQVcsR0FBRyxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzFFLElBQUksRUFBRSxHQUFHLFNBQVMsR0FBRyxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3BFLElBQUksRUFBRSxHQUFHLFdBQVcsR0FBRyxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3pFLElBQUksRUFBRSxHQUFHLFNBQVMsR0FBRyxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRW5FLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzNCLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDckMsSUFBSSxHQUFHLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFNUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ2xELEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUVaLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxXQUFXLEdBQUcsVUFBVSxFQUFFLFdBQVcsR0FBRyxXQUFXLENBQUMsQ0FBQztZQUMxSSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxHQUFHLFFBQVEsRUFBRSxTQUFTLEdBQUcsU0FBUyxDQUFDLENBQUM7WUFFNUgsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFDaEIsRUFBRSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUM7Z0JBQ25CLEVBQUUsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQ3JCLENBQUM7WUFDRCxJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUNkLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDO2dCQUNqQixFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUNuQixDQUFDO1lBQ0QsRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZCLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUN2QixDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBRUQsTUFBTSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFbkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxHQUFHLEdBQUcsR0FBRyxTQUFTLENBQUMsQ0FBQztRQUVwRixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDekQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUksTUFBTSxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7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QUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFdBQVc7SUFDWCxDQUFDOytHQWxPVSxjQUFjO21HQUFkLGNBQWMsbVFDUjNCLHdwQkFhQTs7NEZETGEsY0FBYztrQkFMMUIsU0FBUzsrQkFDRSxPQUFPOytFQUtELElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsRUFBRTtzQkFBakIsS0FBSztnQkFFVSxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUVVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUVVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxHQUFHO3NCQUFsQixLQUFLO2dCQUNVLEdBQUc7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIERvQ2hlY2ssIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLy8gU291cmNlIGJ5dSBTYW11ZWwgQmVydGhlIC0gaHR0cHM6Ly9naXRodWIuY29tL3NhbWJlci9uZ3gtZG9tYXJyb3dcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Fycm93JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Fycm93LmNvbXBvbmVudC5odG1sJyxcbiAgIHN0eWxlVXJsczogWycuL2Fycm93LmNvbXBvbmVudC5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFycm93Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBEb0NoZWNrIHtcbiAgQElucHV0KCkgcHVibGljIGZyb206IHN0cmluZyA9IG51bGw7XG4gIEBJbnB1dCgpIHB1YmxpYyB0bzogc3RyaW5nID0gbnVsbDtcblxuICBASW5wdXQoKSBwdWJsaWMgaGVhZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgdGFpbDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgdGV4dDogc3RyaW5nID0gbnVsbDtcbiAgQElucHV0KCkgcHVibGljIHRvb2xUaXA6IHN0cmluZyA9IG51bGw7XG5cbiAgQElucHV0KCkgcHVibGljIGNvbG9yOiBzdHJpbmcgPSBudWxsO1xuICBASW5wdXQoKSBwdWJsaWMgd2lkdGg6IG51bWJlciA9IG51bGw7XG4gIEBJbnB1dCgpIHB1YmxpYyBvbmx5VmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBmcm9tWDogbnVtYmVyID0gbnVsbDtcbiAgQElucHV0KCkgcHVibGljIGZyb21ZOiBudW1iZXIgPSBudWxsO1xuICBASW5wdXQoKSBwdWJsaWMgdG9YOiBudW1iZXIgPSBudWxsO1xuICBASW5wdXQoKSBwdWJsaWMgdG9ZOiBudW1iZXIgPSBudWxsO1xuXG4gIHB1YmxpYyBhcnJvd0luZGljZXM6IG51bWJlcltdID0gW107XG5cbiAgcHVibGljIHN0eWxlTGluZTogb2JqZWN0W10gPSBbXTtcbiAgcHVibGljIHN0eWxlQXJyb3dGdzogb2JqZWN0W10gPSBbXTtcbiAgcHVibGljIHN0eWxlQXJyb3dCdzogb2JqZWN0W10gPSBbXTtcbiAgcHVibGljIG5lZWRTd2FwOiBib29sZWFuW10gPSBbXTtcblxuICBwcml2YXRlIGVsZW1lbnRQb3NpdGlvbkJhY2t1cDogc3RyaW5nID0gJyc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtOiBFbGVtZW50UmVmLFxuICApIHsgfVxuXG4gIHByaXZhdGUgZ2V0TnVtYmVyT3JEZWYodmFsLCBkZWYpIHtcbiAgICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gJ251bWJlcicgJiYgIWlzTmFOKHZhbCkgPyB2YWwgOiBkZWY7XG4gIH1cblxuICBwcml2YXRlIGlzVmlzaWJsZShlbGVtZW50KSB7XG4gICAgcmV0dXJuIGVsZW1lbnQgJiYgZWxlbWVudC5zdHlsZS52aXNpYmlsaXR5ICE9PSAnaGlkZGVuJztcbiAgfVxuXG4gIHByaXZhdGUgaW5zaWRlKG1pblgsIG1pblksIG1heFgsIG1heFksIHgxLCB5MSkge1xuICAgIHJldHVybiBtaW5YIDw9IHgxICYmIHgxIDw9IG1heFggJiYgbWluWSA8PSB5MSAmJiB5MSA8PSBtYXhZO1xuICB9XG5cbiAgcHJpdmF0ZSBpbnRlcnNlY3Rpb25Qb2ludCh4MSwgeTEsIHgyLCB5MiwgbWluWCwgbWluWSwgbWF4WCwgbWF4WSkge1xuICAgIGNvbnN0IG1pbiA9IE1hdGgubWluO1xuICAgIGNvbnN0IG1heCA9IE1hdGgubWF4O1xuICAgIGNvbnN0IGdvb2QgPSB0aGlzLmluc2lkZS5iaW5kKG51bGwsIG1pbih4MSwgeDIpLCBtaW4oeTEsIHkyKSwgbWF4KHgxLCB4MiksIG1heCh5MSwgeTIpKTtcblxuICAgIGlmICgoeDEgPD0gbWluWCAmJiB4MiA8PSBtaW5YKVxuICAgICAgfHwgKHkxIDw9IG1pblkgJiYgeTIgPD0gbWluWSlcbiAgICAgIHx8ICh4MSA+PSBtYXhYICYmIHgyID49IG1heFgpXG4gICAgICB8fCAoeTEgPj0gbWF4WSAmJiB5MiA+PSBtYXhZKVxuICAgICAgfHwgKHRoaXMuaW5zaWRlKG1pblgsIG1pblksIG1heFgsIG1heFksIHgxLCB5MSkgJiYgdGhpcy5pbnNpZGUobWluWCwgbWluWSwgbWF4WCwgbWF4WSwgeDIsIHkyKSkpXG4gICAgICByZXR1cm4gbnVsbDtcblxuICAgIGNvbnN0IG0gPSAoeTIgLSB5MSkgLyAoeDIgLSB4MSk7XG4gICAgbGV0IHkgPSBtICogKG1pblggLSB4MSkgKyB5MTtcbiAgICBpZiAobWluWSA8IHkgJiYgeSA8IG1heFkgJiYgZ29vZChtaW5YLCB5KSlcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHg6IG1pblgsXG4gICAgICAgIHk6IHlcbiAgICAgIH07XG5cbiAgICB5ID0gbSAqIChtYXhYIC0geDEpICsgeTE7XG4gICAgaWYgKG1pblkgPCB5ICYmIHkgPCBtYXhZICYmIGdvb2QobWF4WCwgeSkpXG4gICAgICByZXR1cm4ge1xuICAgICAgICB4OiBtYXhYLFxuICAgICAgICB5OiB5XG4gICAgICB9O1xuXG4gICAgbGV0IHggPSAobWluWSAtIHkxKSAvIG0gKyB4MTtcbiAgICBpZiAobWluWCA8IHggJiYgeCA8IG1heFggJiYgZ29vZCh4LCBtaW5ZKSlcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHg6IHgsXG4gICAgICAgIHk6IG1pbllcbiAgICAgIH07XG5cbiAgICB4ID0gKG1heFkgLSB5MSkgLyBtICsgeDE7XG4gICAgaWYgKG1pblggPCB4ICYmIHggPCBtYXhYICYmIGdvb2QoeCwgbWF4WSkpXG4gICAgICByZXR1cm4ge1xuICAgICAgICB4OiB4LFxuICAgICAgICB5OiBtYXhZXG4gICAgICB9O1xuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIGFkanVzdExpbmUobnRoOiBudW1iZXIsIGZyb206IEhUTUxFbGVtZW50LCB0bzogSFRNTEVsZW1lbnQpIHtcbiAgICBpZiAodG8gPT0gbnVsbCB8fCBmcm9tID09IG51bGwpXG4gICAgICByZXR1cm47XG5cbiAgICBjb25zdCBjb2xvciA9IHRoaXMuY29sb3IgfHwgJzgwODA4MCc7XG4gICAgY29uc3QgVyA9IHRoaXMud2lkdGggfHwgMTtcblxuICAgIGNvbnN0IGZyb21CID0gcGFyc2VGbG9hdChmcm9tLnN0eWxlLnRvcCkgPyBudWxsIDogZnJvbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCB0b0IgPSBwYXJzZUZsb2F0KHRvLnN0eWxlLnRvcCkgPyBudWxsIDogdG8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgZnJvbUJTdGFydFkgPSAoZnJvbUIgPyB3aW5kb3cuc2Nyb2xsWSArIGZyb21CLnRvcCA6IHBhcnNlRmxvYXQoZnJvbS5zdHlsZS50b3ApKTtcbiAgICBjb25zdCBmcm9tQlN0YXJ0WCA9IChmcm9tQiA/IHdpbmRvdy5zY3JvbGxYICsgZnJvbUIubGVmdCA6IHBhcnNlRmxvYXQoZnJvbS5zdHlsZS5sZWZ0KSk7XG4gICAgY29uc3QgdG9CU3RhcnRZID0gKHRvQiA/IHdpbmRvdy5zY3JvbGxZICsgdG9CLnRvcCA6IHBhcnNlRmxvYXQodG8uc3R5bGUudG9wKSk7XG4gICAgY29uc3QgdG9CU3RhcnRYID0gKHRvQiA/IHdpbmRvdy5zY3JvbGxYICsgdG9CLmxlZnQgOiBwYXJzZUZsb2F0KHRvLnN0eWxlLmxlZnQpKTtcbiAgICBjb25zdCBmcm9tQldpZHRoID0gKGZyb21CID8gZnJvbUIud2lkdGggOiBwYXJzZUZsb2F0KGZyb20uc3R5bGUud2lkdGgpIHx8IGZyb20ub2Zmc2V0V2lkdGgpO1xuICAgIGNvbnN0IGZyb21CSGVpZ2h0ID0gKGZyb21CID8gZnJvbUIuaGVpZ2h0IDogcGFyc2VGbG9hdChmcm9tLnN0eWxlLmhlaWdodCkgfHwgZnJvbS5vZmZzZXRIZWlnaHQpO1xuICAgIGNvbnN0IHRvQldpZHRoID0gKHRvQiA/IHRvQi53aWR0aCA6IHBhcnNlRmxvYXQodG8uc3R5bGUud2lkdGgpIHx8IHRvLm9mZnNldFdpZHRoKTtcbiAgICBjb25zdCB0b0JIZWlnaHQgPSAodG9CID8gdG9CLmhlaWdodCA6IHBhcnNlRmxvYXQodG8uc3R5bGUuaGVpZ2h0KSB8fCB0by5vZmZzZXRIZWlnaHQpO1xuXG4gICAgbGV0IGZUID0gZnJvbUJTdGFydFkgKyBmcm9tQkhlaWdodCAqIHRoaXMuZ2V0TnVtYmVyT3JEZWYodGhpcy5mcm9tWSwgMC41KTtcbiAgICBsZXQgdFQgPSB0b0JTdGFydFkgKyB0b0JIZWlnaHQgKiB0aGlzLmdldE51bWJlck9yRGVmKHRoaXMudG9ZLCAwLjUpO1xuICAgIGxldCBmTCA9IGZyb21CU3RhcnRYICsgZnJvbUJXaWR0aCAqIHRoaXMuZ2V0TnVtYmVyT3JEZWYodGhpcy5mcm9tWCwgMC41KTtcbiAgICBsZXQgdEwgPSB0b0JTdGFydFggKyB0b0JXaWR0aCAqIHRoaXMuZ2V0TnVtYmVyT3JEZWYodGhpcy50b1gsIDAuNSk7XG5cbiAgICBsZXQgQ0EgPSBNYXRoLmFicyh0VCAtIGZUKTtcbiAgICBsZXQgQ08gPSBNYXRoLmFicyh0TCAtIGZMKTtcbiAgICBsZXQgSCA9IE1hdGguc3FydChDQSAqIENBICsgQ08gKiBDTyk7XG4gICAgbGV0IEFORyA9IDE4MCAvIE1hdGguUEkgKiBNYXRoLmFjb3MoQ08gLyBIKTtcblxuICAgIGlmICgoZlQgPj0gdFQgfHwgZkwgPj0gdEwpICYmICh0VCA+PSBmVCB8fCB0TCA+PSBmTCkpXG4gICAgICBBTkcgKj0gLTE7XG5cbiAgICBpZiAodGhpcy5vbmx5VmlzaWJsZSkge1xuICAgICAgY29uc3QgYXJyYW5nZUZyb20gPSB0aGlzLmludGVyc2VjdGlvblBvaW50KGZMLCBmVCwgdEwsIHRULCBmcm9tQlN0YXJ0WCwgZnJvbUJTdGFydFksIGZyb21CU3RhcnRYICsgZnJvbUJXaWR0aCwgZnJvbUJTdGFydFkgKyBmcm9tQkhlaWdodCk7XG4gICAgICBjb25zdCBhcnJhbmdlVG8gPSB0aGlzLmludGVyc2VjdGlvblBvaW50KGZMLCBmVCwgdEwsIHRULCB0b0JTdGFydFgsIHRvQlN0YXJ0WSwgdG9CU3RhcnRYICsgdG9CV2lkdGgsIHRvQlN0YXJ0WSArIHRvQkhlaWdodCk7XG5cbiAgICAgIGlmIChhcnJhbmdlRnJvbSkge1xuICAgICAgICBmTCA9IGFycmFuZ2VGcm9tLng7XG4gICAgICAgIGZUID0gYXJyYW5nZUZyb20ueTtcbiAgICAgIH1cbiAgICAgIGlmIChhcnJhbmdlVG8pIHtcbiAgICAgICAgdEwgPSBhcnJhbmdlVG8ueDtcbiAgICAgICAgdFQgPSBhcnJhbmdlVG8ueTtcbiAgICAgIH1cbiAgICAgIENBID0gTWF0aC5hYnModFQgLSBmVCk7XG4gICAgICBDTyA9IE1hdGguYWJzKHRMIC0gZkwpO1xuICAgICAgSCA9IE1hdGguc3FydChDQSAqIENBICsgQ08gKiBDTyk7XG4gICAgfVxuXG4gICAgY29uc3QgdG9wID0gKHRUICsgZlQpIC8gMiAtIFcgLyAyO1xuICAgIGNvbnN0IGxlZnQgPSAodEwgKyBmTCkgLyAyIC0gSCAvIDI7XG5cbiAgICBjb25zdCBhcnJvd3MgPSB0aGlzLmVsZW0ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcubGluZS0nICsgbnRoICsgJyAuYXJyb3cnKTtcblxuICAgIHRoaXMubmVlZFN3YXBbbnRoXSA9IChmTCA+IHRMIHx8IChmTCA9PT0gdEwgJiYgZlQgPCB0VCkpO1xuICAgIGNvbnN0IGFycm93RncgPSB0aGlzLm5lZWRTd2FwW250aF0gJiYgdGhpcy5pc1Zpc2libGUoYXJyb3dzWzBdKSAmJiBhcnJvd3NbMF0gfHwgIXRoaXMubmVlZFN3YXBbbnRoXSAmJiB0aGlzLmlzVmlzaWJsZShhcnJvd3NbMV0pICYmIGFycm93c1sxXTtcbiAgICBjb25zdCBhcnJvd0J3ID0gIXRoaXMubmVlZFN3YXBbbnRoXSAmJiB0aGlzLmlzVmlzaWJsZShhcnJvd3NbMF0pICYmIGFycm93c1swXSB8fCB0aGlzLm5lZWRTd2FwW250aF0gJiYgdGhpcy5pc1Zpc2libGUoYXJyb3dzWzFdKSAmJiBhcnJvd3NbMV07XG5cbiAgICB0aGlzLnN0eWxlQXJyb3dGd1tudGhdID0ge307XG4gICAgdGhpcy5zdHlsZUFycm93QndbbnRoXSA9IHt9O1xuICAgIHRoaXMuc3R5bGVMaW5lW250aF0gPSB7fTtcblxuICAgIHRoaXMuc3R5bGVBcnJvd0Z3W250aF1bJ3RvcCddID0gVyAvIDIgLSA2ICsgJ3B4JztcbiAgICB0aGlzLnN0eWxlQXJyb3dCd1tudGhdWyd0b3AnXSA9IFcgLyAyIC0gNiArICdweCc7XG5cbiAgICB0aGlzLnN0eWxlTGluZVtudGhdWydkaXNwbGF5J10gPSAnbm9uZSc7XG4gICAgdGhpcy5zdHlsZUxpbmVbbnRoXVsnLXdlYmtpdC10cmFuc2Zvcm0nXSA9ICdyb3RhdGUoJyArIEFORyArICdkZWcpJztcbiAgICB0aGlzLnN0eWxlTGluZVtudGhdWyctbW96LXRyYW5zZm9ybSddID0gJ3JvdGF0ZSgnICsgQU5HICsgJ2RlZyknO1xuICAgIHRoaXMuc3R5bGVMaW5lW250aF1bJy1tcy10cmFuc2Zvcm0nXSA9ICdyb3RhdGUoJyArIEFORyArICdkZWcpJztcbiAgICB0aGlzLnN0eWxlTGluZVtudGhdWyctby10cmFuc2Zvcm0nXSA9ICdyb3RhdGUoJyArIEFORyArICdkZWcpJztcbiAgICB0aGlzLnN0eWxlTGluZVtudGhdWyctdHJhbnNmb3JtJ10gPSAncm90YXRlKCcgKyBBTkcgKyAnZGVnKSc7XG4gICAgdGhpcy5zdHlsZUxpbmVbbnRoXVsndG9wJ10gPSB0b3AgKyAncHgnO1xuICAgIHRoaXMuc3R5bGVMaW5lW250aF1bJ2xlZnQnXSA9IGxlZnQgKyAncHgnO1xuICAgIHRoaXMuc3R5bGVMaW5lW250aF1bJ3dpZHRoJ10gPSBIICsgJ3B4JztcbiAgICB0aGlzLnN0eWxlTGluZVtudGhdWydoZWlnaHQnXSA9IFcgKyAncHgnO1xuICAgIHRoaXMuc3R5bGVMaW5lW250aF1bJ2JhY2tncm91bmQnXSA9ICdsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICcgK1xuICAgICAgKGFycm93RncgPyAndHJhbnNwYXJlbnQnIDogY29sb3IpICsgJyAxMXB4LCAnICtcbiAgICAgIGNvbG9yICsgJyAxMXB4ICcgKyAoSCAtIDExKSArICdweCwgJyArXG4gICAgICAoYXJyb3dCdyA/ICd0cmFuc3BhcmVudCcgOiBjb2xvcikgKyAnICcgKyAoSCAtIDExKSArICdweCAxMDAlKSc7XG4gICAgdGhpcy5zdHlsZUxpbmVbbnRoXVsnZGlzcGxheSddID0gJ2luaXRpYWwnO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGp1c3RMaW5lcygpIHtcbiAgICBjb25zdCBwYWlycyA9IHRoaXMuZ2V0RnJvbVRvUGFpcnMoKTtcblxuICAgIC8vIGluaXQgdmFsdWVzXG4gICAgdGhpcy5uZWVkU3dhcCA9IEFycmF5KHBhaXJzLmxlbmd0aCkuZmlsbChmYWxzZSk7XG4gICAgdGhpcy5zdHlsZUxpbmUgPSBBcnJheShwYWlycy5sZW5ndGgpLmZpbGwoW10pO1xuICAgIHRoaXMuc3R5bGVBcnJvd0J3ID0gQXJyYXkocGFpcnMubGVuZ3RoKS5maWxsKHt9KTtcbiAgICB0aGlzLnN0eWxlQXJyb3dGdyA9IEFycmF5KHBhaXJzLmxlbmd0aCkuZmlsbCh7fSk7XG5cbiAgICB0aGlzLmFycm93SW5kaWNlcyA9IEFycmF5KHBhaXJzLmxlbmd0aClcbiAgICAgIC5maWxsKG51bGwpLm1hcCgoXywgaSkgPT4gaSk7XG5cbiAgICBwYWlycy5tYXAoKHBhaXI6IEhUTUxFbGVtZW50W10sIGk6IG51bWJlcikgPT4ge1xuICAgICAgdGhpcy5hZGp1c3RMaW5lKGksIHBhaXJbMF0sIHBhaXJbMV0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGcm9tVG9QYWlycygpIHtcbiAgICBjb25zdCBmcm9tcyA9IEFycmF5LmZyb20oZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCh0aGlzLmZyb20pIGFzIE5vZGVMaXN0T2Y8SFRNTEVsZW1lbnQ+KTtcbiAgICBjb25zdCB0b3MgPSBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwodGhpcy50bykgYXMgTm9kZUxpc3RPZjxIVE1MRWxlbWVudD4pO1xuXG4gICAgcmV0dXJuIGZyb21zLnJlZHVjZSgoYWNjMSwgY3VyMSkgPT4ge1xuICAgICAgcmV0dXJuIHRvcy5yZWR1Y2UoKGFjYzIsIGN1cjIpID0+IHtcbiAgICAgICAgYWNjMi5wdXNoKFtjdXIxLCBjdXIyXSk7XG4gICAgICAgIHJldHVybiBhY2MyO1xuICAgICAgfSwgYWNjMSk7XG4gICAgfSwgW10pLmZpbHRlcigocGFpcjogSFRNTEVsZW1lbnRbXSkgPT4gISFwYWlyWzBdICYmICEhcGFpclsxXSk7XG4gIH1cblxuICBwcml2YXRlIHRyYWNrUG9zaXRpb25DaGFuZ2UoKSB7XG4gICAgY29uc3QgcGFpcnMgPSB0aGlzLmdldEZyb21Ub1BhaXJzKCk7XG5cbiAgICBjb25zdCBjdXJyZW50UG9zID0gcGFpcnMubWFwKChwYWlyOiBIVE1MRWxlbWVudFtdKSA9PiB7XG4gICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkocGFpclswXS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSkgKyBKU09OLnN0cmluZ2lmeShwYWlyWzFdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKTs7XG4gICAgfSkuam9pbignLCcpO1xuXG4gICAgaWYgKGN1cnJlbnRQb3MgIT09IHRoaXMuZWxlbWVudFBvc2l0aW9uQmFja3VwKSB7XG4gICAgICB0aGlzLmVsZW1lbnRQb3NpdGlvbkJhY2t1cCA9IGN1cnJlbnRQb3M7XG4gICAgICB0aGlzLmFkanVzdExpbmVzKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5hZGp1c3RMaW5lcygpO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsICgpID0+IHtcbiAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAlIDUgPT0gMCkge1xuICAgICAgICAvLyBkb24ndCDwn5SlIHRoZSBDUFVcbiAgICAgICAgLy8gQFRPRE86IGJldHRlciBoYWNrIHdpdGggc2V0VGltZW91dCBvdmVycmlkZW4gYXQgZWFjaCBldmVudCA/XG4gICAgICAgIHRoaXMudHJhY2tQb3NpdGlvbkNoYW5nZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdEb0NoZWNrKCkge1xuICAgIHRoaXMudHJhY2tQb3NpdGlvbkNoYW5nZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gIH1cblxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaW5kZXggb2YgYXJyb3dJbmRpY2VzXCI+XG5cbiAgIDxkaXYgY2xhc3M9XCJsaW5lIGxpbmUte3sgaW5kZXggfX1cIiBbbmdTdHlsZV09XCJzdHlsZUxpbmVbaW5kZXhdXCIgW21hdFRvb2x0aXBdPVwidG9vbFRpcFwiPlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwiaGVhZCA9PSB0cnVlXCIgY2xhc3M9XCJhcnJvdyBoZWFkIHt7IG5lZWRTd2FwW2luZGV4XSA/ICdhcnJvdy1idycgOiAnYXJyb3ctZncnIH19XCJcbiAgICAgICAgICAgW25nU3R5bGVdPVwibmVlZFN3YXBbaW5kZXhdID8gc3R5bGVBcnJvd0J3W2luZGV4XSA6IHN0eWxlQXJyb3dGd1tpbmRleF1cIj48L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJ0YWlsID09IHRydWVcIiBjbGFzcz1cImFycm93IHRhaWwge3sgbmVlZFN3YXBbaW5kZXhdID8gJ2Fycm93LWZ3JyA6ICdhcnJvdy1idycgfX1cIlxuICAgICAgICAgICBbbmdTdHlsZV09XCJuZWVkU3dhcFtpbmRleF0gPyBzdHlsZUFycm93RndbaW5kZXhdIDogc3R5bGVBcnJvd0J3W2luZGV4XVwiPjwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cIiEhdGV4dCAmJiB0ZXh0Lmxlbmd0aCA+IDBcIiBjbGFzcz1cInRleHRcIiA+e3sgdGV4dCB9fTwvZGl2PlxuXG4gICA8L2Rpdj5cblxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -1,29 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { BadgeTypeEnum } from '../../models/badgeDto';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "../badge-streak/badge-streak.component";
6
- import * as i3 from "../badge-progression/badge-progression.component";
7
- export class BadgeComponent {
8
- constructor() {
9
- }
10
- isStreakBadge() {
11
- return this.badge.type == BadgeTypeEnum.streak;
12
- }
13
- isProgressionBadge() {
14
- return this.badge.type == BadgeTypeEnum.progression;
15
- }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: BadgeComponent, selector: "badge", inputs: { showName: "showName", badge: "badge", radius: "radius" }, ngImport: i0, template: "<ng-container *ngIf=\"isStreakBadge()\">\n <badge-streak [badge]=\"badge\" [showName]=\"showName\" [radius]=\"radius\"></badge-streak>\n</ng-container>\n<ng-container *ngIf=\"isProgressionBadge()\">\n <badge-progression [badge]=\"badge\" [showName]=\"showName\" [radius]=\"radius\"></badge-progression>\n</ng-container>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.bigletteredbutton{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;text-decoration:none;background:#ffffff1a;margin-bottom:10px;display:flex;align-content:center;border-radius:20px;padding:15px;font-size:24px;border:2px solid #1F3F8F;border-bottom:6px solid #1F3F8F;color:#fff;align-items:center;cursor:pointer}.bigletteredbutton .free{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff73f;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton .plan{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton:hover,.bigletteredbutton.selected{border:2px solid #fff73f;border-bottom:6px solid #fff73f}.bigletteredbutton .button-letter{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f;margin-right:20px}.bigletteredbutton .button-letter .ph{color:#1f3f8f}.bigletteredbutton .button-letter:hover{background:#1f3f8f;color:#fff73f}.bigletteredbutton .button-letter:hover .ph{color:#fff73f}.roundicon-yellow{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f}.roundicon-yellow .ph{color:#1f3f8f}.roundicon-yellow:hover{background:#1f3f8f;color:#fff73f}.roundicon-yellow:hover .ph{color:#fff73f}.roundicon{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center}.roundicon-large{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;border-radius:60px;height:120px;width:120px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.BadgeStreakComponent, selector: "badge-streak", inputs: ["showName", "badge", "radius"] }, { kind: "component", type: i3.BadgeProgressionComponent, selector: "badge-progression", inputs: ["showName", "badge", "radius"] }] }); }
18
- }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BadgeComponent, decorators: [{
20
- type: Component,
21
- args: [{ selector: 'badge', template: "<ng-container *ngIf=\"isStreakBadge()\">\n <badge-streak [badge]=\"badge\" [showName]=\"showName\" [radius]=\"radius\"></badge-streak>\n</ng-container>\n<ng-container *ngIf=\"isProgressionBadge()\">\n <badge-progression [badge]=\"badge\" [showName]=\"showName\" [radius]=\"radius\"></badge-progression>\n</ng-container>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.bigletteredbutton{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;text-decoration:none;background:#ffffff1a;margin-bottom:10px;display:flex;align-content:center;border-radius:20px;padding:15px;font-size:24px;border:2px solid #1F3F8F;border-bottom:6px solid #1F3F8F;color:#fff;align-items:center;cursor:pointer}.bigletteredbutton .free{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff73f;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton .plan{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton:hover,.bigletteredbutton.selected{border:2px solid #fff73f;border-bottom:6px solid #fff73f}.bigletteredbutton .button-letter{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f;margin-right:20px}.bigletteredbutton .button-letter .ph{color:#1f3f8f}.bigletteredbutton .button-letter:hover{background:#1f3f8f;color:#fff73f}.bigletteredbutton .button-letter:hover .ph{color:#fff73f}.roundicon-yellow{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f}.roundicon-yellow .ph{color:#1f3f8f}.roundicon-yellow:hover{background:#1f3f8f;color:#fff73f}.roundicon-yellow:hover .ph{color:#fff73f}.roundicon{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center}.roundicon-large{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;border-radius:60px;height:120px;width:120px}\n"] }]
22
- }], ctorParameters: () => [], propDecorators: { showName: [{
23
- type: Input
24
- }], badge: [{
25
- type: Input
26
- }], radius: [{
27
- type: Input
28
- }] } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNjcnVtdGVhbXN1cnZleS10b29scy9zcmMvbGliL3Jlc3VsdHMvY29tcG9uZW50cy9iYWRnZS9iYWRnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NydW10ZWFtc3VydmV5LXRvb2xzL3NyYy9saWIvcmVzdWx0cy9jb21wb25lbnRzL2JhZGdlL2JhZGdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQVksYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7O0FBT2hFLE1BQU0sT0FBTyxjQUFjO0lBS3hCO0lBQ0EsQ0FBQztJQUVNLGFBQWE7UUFDakIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxhQUFhLENBQUMsTUFBTSxDQUFDO0lBQ2xELENBQUM7SUFFTSxrQkFBa0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxhQUFhLENBQUMsV0FBVyxDQUFDO0lBQ3ZELENBQUM7K0dBZFMsY0FBYzttR0FBZCxjQUFjLGlIQ1IzQix1VUFNQTs7NEZERWEsY0FBYztrQkFMMUIsU0FBUzsrQkFDRyxPQUFPO3dEQUtELFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxNQUFNO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhZGdlRHRvLCBCYWRnZVR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2JhZGdlRHRvJztcblxuQENvbXBvbmVudCh7XG4gICBzZWxlY3RvcjogJ2JhZGdlJyxcbiAgIHRlbXBsYXRlVXJsOiAnLi9iYWRnZS5jb21wb25lbnQuaHRtbCcsXG4gICBzdHlsZVVybHM6IFsnLi9iYWRnZS5jb21wb25lbnQubGVzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJhZGdlQ29tcG9uZW50ICB7XG4gICBASW5wdXQoKSBwdWJsaWMgc2hvd05hbWU6IGJvb2xlYW47XG4gICBASW5wdXQoKSBwdWJsaWMgYmFkZ2U6IEJhZGdlRHRvO1xuICAgQElucHV0KCkgcHVibGljIHJhZGl1czogbnVtYmVyO1xuXG4gICBjb25zdHJ1Y3RvcigpIHtcbiAgIH1cblxuICAgcHVibGljIGlzU3RyZWFrQmFkZ2UoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5iYWRnZS50eXBlID09IEJhZGdlVHlwZUVudW0uc3RyZWFrO1xuICAgfVxuXG4gICBwdWJsaWMgaXNQcm9ncmVzc2lvbkJhZGdlKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuYmFkZ2UudHlwZSA9PSBCYWRnZVR5cGVFbnVtLnByb2dyZXNzaW9uO1xuICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzU3RyZWFrQmFkZ2UoKVwiPlxuICAgPGJhZGdlLXN0cmVhayBbYmFkZ2VdPVwiYmFkZ2VcIiBbc2hvd05hbWVdPVwic2hvd05hbWVcIiBbcmFkaXVzXT1cInJhZGl1c1wiPjwvYmFkZ2Utc3RyZWFrPlxuPC9uZy1jb250YWluZXI+XG48bmctY29udGFpbmVyICpuZ0lmPVwiaXNQcm9ncmVzc2lvbkJhZGdlKClcIj5cbiAgIDxiYWRnZS1wcm9ncmVzc2lvbiBbYmFkZ2VdPVwiYmFkZ2VcIiBbc2hvd05hbWVdPVwic2hvd05hbWVcIiBbcmFkaXVzXT1cInJhZGl1c1wiPjwvYmFkZ2UtcHJvZ3Jlc3Npb24+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -1,25 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "@angular/material/progress-spinner";
5
- import * as i3 from "@ncstate/sat-popover";
6
- export class BadgeProgressionComponent {
7
- constructor() {
8
- }
9
- badgeType() {
10
- return this.badge.type;
11
- }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BadgeProgressionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: BadgeProgressionComponent, selector: "badge-progression", inputs: { showName: "showName", badge: "badge", radius: "radius" }, ngImport: i0, template: "<div class=\"team-badge progression\" [ngClass]=\"{'unearned': !badge.awarded}\" #badgeContainer (click)=\"popover.open()\">\n <div [class]=\"'circle level-' + badge.level\" [ngStyle]=\"{'width': radius + 'px', 'height': radius + 'px', 'border-radius': radius + 'px'}\">\n <span [class]=\"'icon ' + badge.icon\"></span>\n <mat-progress-spinner [diameter]=\"radius\" strokeWidth=\"6\" mode=\"determinate\" [value]=\"badge.nextLevelProgress * 100\"></mat-progress-spinner>\n <div class=\"gloss\">\n <div class=\"gloss1\"></div>\n <div class=\"gloss2\"></div>\n </div>\n </div>\n <div class=\"name\" *ngIf=\"showName\">{{badge.name}}</div>\n</div>\n\n<sat-popover #popover horizontalAlign=\"center\" [anchor]=\"badgeContainer\" verticalAlign=\"below\" [hasBackdrop]=\"true\" [autoFocus]=\"false\">\n <div [class]=\"'popover level-' + badge.level\" [id]=\"'popover'\">\n <div class=\"arrow\"></div>\n <div class=\"popover-container\">\n <span (click)=\"popover.close()\" class=\"close ph-x\"></span>\n <h3 *ngIf=\"badge.level == 0\">{{badge.name}}</h3>\n <h3 *ngIf=\"badge.level == 1\">{{badge.name}} <span>Bronze Level</span></h3>\n <h3 *ngIf=\"badge.level == 2\">{{badge.name}} <span>Silver Level</span></h3>\n <h3 *ngIf=\"badge.level == 3\">{{badge.name}} <span>Gold Level</span></h3>\n <h3 *ngIf=\"badge.level == 4\">{{badge.name}} <span>Platinum Level</span></h3>\n <h3 *ngIf=\"badge.level == 5\">{{badge.name}} <span>Diamond Level</span></h3>\n <div class=\"description\">{{badge.description}}</div>\n\n <h3>How to reach the next level</h3>\n <div class=\"description\">{{badge.nextLevelRequirement}}</div>\n </div>\n </div>\n</sat-popover>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.bigletteredbutton{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;text-decoration:none;background:#ffffff1a;margin-bottom:10px;display:flex;align-content:center;border-radius:20px;padding:15px;font-size:24px;border:2px solid #1F3F8F;border-bottom:6px solid #1F3F8F;color:#fff;align-items:center;cursor:pointer}.bigletteredbutton .free{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff73f;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton .plan{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton:hover,.bigletteredbutton.selected{border:2px solid #fff73f;border-bottom:6px solid #fff73f}.bigletteredbutton .button-letter{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f;margin-right:20px}.bigletteredbutton .button-letter .ph{color:#1f3f8f}.bigletteredbutton .button-letter:hover{background:#1f3f8f;color:#fff73f}.bigletteredbutton .button-letter:hover .ph{color:#fff73f}.roundicon-yellow{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f}.roundicon-yellow .ph{color:#1f3f8f}.roundicon-yellow:hover{background:#1f3f8f;color:#fff73f}.roundicon-yellow:hover .ph{color:#fff73f}.roundicon{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center}.roundicon-large{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;border-radius:60px;height:120px;width:120px}.popover{margin-left:15px}.popover.level-1 h3 span{color:#cb8e56}.popover.level-2 h3 span{color:#bdbcbc}.popover.level-3 h3 span{color:#eac338}.popover.level-4 h3 span{color:#afd3de}.popover.level-5 h3 span{color:#ef4f9f}.popover .arrow{width:15px;height:15px;background:#2f2f2f;transform:rotate(45deg);left:50%;position:absolute;top:-8px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i3.SatPopoverComponent, selector: "sat-popover", inputs: ["anchor", "horizontalAlign", "xAlign", "verticalAlign", "yAlign", "forceAlignment", "lockAlignment", "autoFocus", "restoreFocus", "scrollStrategy", "hasBackdrop", "interactiveClose", "openTransition", "closeTransition", "openAnimationStartAtScale", "closeAnimationEndAtScale", "backdropClass", "panelClass"], outputs: ["opened", "closed", "afterOpen", "afterClose", "backdropClicked", "overlayKeydown"] }] }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BadgeProgressionComponent, decorators: [{
16
- type: Component,
17
- args: [{ selector: 'badge-progression', template: "<div class=\"team-badge progression\" [ngClass]=\"{'unearned': !badge.awarded}\" #badgeContainer (click)=\"popover.open()\">\n <div [class]=\"'circle level-' + badge.level\" [ngStyle]=\"{'width': radius + 'px', 'height': radius + 'px', 'border-radius': radius + 'px'}\">\n <span [class]=\"'icon ' + badge.icon\"></span>\n <mat-progress-spinner [diameter]=\"radius\" strokeWidth=\"6\" mode=\"determinate\" [value]=\"badge.nextLevelProgress * 100\"></mat-progress-spinner>\n <div class=\"gloss\">\n <div class=\"gloss1\"></div>\n <div class=\"gloss2\"></div>\n </div>\n </div>\n <div class=\"name\" *ngIf=\"showName\">{{badge.name}}</div>\n</div>\n\n<sat-popover #popover horizontalAlign=\"center\" [anchor]=\"badgeContainer\" verticalAlign=\"below\" [hasBackdrop]=\"true\" [autoFocus]=\"false\">\n <div [class]=\"'popover level-' + badge.level\" [id]=\"'popover'\">\n <div class=\"arrow\"></div>\n <div class=\"popover-container\">\n <span (click)=\"popover.close()\" class=\"close ph-x\"></span>\n <h3 *ngIf=\"badge.level == 0\">{{badge.name}}</h3>\n <h3 *ngIf=\"badge.level == 1\">{{badge.name}} <span>Bronze Level</span></h3>\n <h3 *ngIf=\"badge.level == 2\">{{badge.name}} <span>Silver Level</span></h3>\n <h3 *ngIf=\"badge.level == 3\">{{badge.name}} <span>Gold Level</span></h3>\n <h3 *ngIf=\"badge.level == 4\">{{badge.name}} <span>Platinum Level</span></h3>\n <h3 *ngIf=\"badge.level == 5\">{{badge.name}} <span>Diamond Level</span></h3>\n <div class=\"description\">{{badge.description}}</div>\n\n <h3>How to reach the next level</h3>\n <div class=\"description\">{{badge.nextLevelRequirement}}</div>\n </div>\n </div>\n</sat-popover>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.bigletteredbutton{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;text-decoration:none;background:#ffffff1a;margin-bottom:10px;display:flex;align-content:center;border-radius:20px;padding:15px;font-size:24px;border:2px solid #1F3F8F;border-bottom:6px solid #1F3F8F;color:#fff;align-items:center;cursor:pointer}.bigletteredbutton .free{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff73f;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton .plan{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton:hover,.bigletteredbutton.selected{border:2px solid #fff73f;border-bottom:6px solid #fff73f}.bigletteredbutton .button-letter{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f;margin-right:20px}.bigletteredbutton .button-letter .ph{color:#1f3f8f}.bigletteredbutton .button-letter:hover{background:#1f3f8f;color:#fff73f}.bigletteredbutton .button-letter:hover .ph{color:#fff73f}.roundicon-yellow{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f}.roundicon-yellow .ph{color:#1f3f8f}.roundicon-yellow:hover{background:#1f3f8f;color:#fff73f}.roundicon-yellow:hover .ph{color:#fff73f}.roundicon{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center}.roundicon-large{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;border-radius:60px;height:120px;width:120px}.popover{margin-left:15px}.popover.level-1 h3 span{color:#cb8e56}.popover.level-2 h3 span{color:#bdbcbc}.popover.level-3 h3 span{color:#eac338}.popover.level-4 h3 span{color:#afd3de}.popover.level-5 h3 span{color:#ef4f9f}.popover .arrow{width:15px;height:15px;background:#2f2f2f;transform:rotate(45deg);left:50%;position:absolute;top:-8px}\n"] }]
18
- }], ctorParameters: () => [], propDecorators: { showName: [{
19
- type: Input
20
- }], badge: [{
21
- type: Input
22
- }], radius: [{
23
- type: Input
24
- }] } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UtcHJvZ3Jlc3Npb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNjcnVtdGVhbXN1cnZleS10b29scy9zcmMvbGliL3Jlc3VsdHMvY29tcG9uZW50cy9iYWRnZS1wcm9ncmVzc2lvbi9iYWRnZS1wcm9ncmVzc2lvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NydW10ZWFtc3VydmV5LXRvb2xzL3NyYy9saWIvcmVzdWx0cy9jb21wb25lbnRzL2JhZGdlLXByb2dyZXNzaW9uL2JhZGdlLXByb2dyZXNzaW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFRcEUsTUFBTSxPQUFPLHlCQUF5QjtJQUtuQztJQUNBLENBQUM7SUFFTSxTQUFTO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztJQUMxQixDQUFDOytHQVZTLHlCQUF5QjttR0FBekIseUJBQXlCLDZIQ1J0QywydkRBOEJBOzs0RkR0QmEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNHLG1CQUFtQjt3REFLYixRQUFRO3NCQUF2QixLQUFLO2dCQUNVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYWRnZUR0bywgQmFkZ2VUeXBlRW51bSB9IGZyb20gJy4uLy4uL21vZGVscy9iYWRnZUR0byc7XG5cbkBDb21wb25lbnQoe1xuICAgc2VsZWN0b3I6ICdiYWRnZS1wcm9ncmVzc2lvbicsXG4gICB0ZW1wbGF0ZVVybDogJy4vYmFkZ2UtcHJvZ3Jlc3Npb24uY29tcG9uZW50Lmh0bWwnLFxuICAgc3R5bGVVcmxzOiBbJy4vYmFkZ2UtcHJvZ3Jlc3Npb24uY29tcG9uZW50Lmxlc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWRnZVByb2dyZXNzaW9uQ29tcG9uZW50ICB7XG4gICBASW5wdXQoKSBwdWJsaWMgc2hvd05hbWU6IGJvb2xlYW47XG4gICBASW5wdXQoKSBwdWJsaWMgYmFkZ2U6IEJhZGdlRHRvO1xuICAgQElucHV0KCkgcHVibGljIHJhZGl1czogbnVtYmVyO1xuXG4gICBjb25zdHJ1Y3RvcigpIHtcbiAgIH1cblxuICAgcHVibGljIGJhZGdlVHlwZSgpOiBCYWRnZVR5cGVFbnVtIHtcbiAgICAgIHJldHVybiB0aGlzLmJhZGdlLnR5cGU7XG4gICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidGVhbS1iYWRnZSBwcm9ncmVzc2lvblwiIFtuZ0NsYXNzXT1cInsndW5lYXJuZWQnOiAhYmFkZ2UuYXdhcmRlZH1cIiAjYmFkZ2VDb250YWluZXIgKGNsaWNrKT1cInBvcG92ZXIub3BlbigpXCI+XG4gICA8ZGl2IFtjbGFzc109XCInY2lyY2xlIGxldmVsLScgKyBiYWRnZS5sZXZlbFwiIFtuZ1N0eWxlXT1cInsnd2lkdGgnOiByYWRpdXMgKyAncHgnLCAnaGVpZ2h0JzogcmFkaXVzICsgJ3B4JywgJ2JvcmRlci1yYWRpdXMnOiByYWRpdXMgKyAncHgnfVwiPlxuICAgICAgPHNwYW4gW2NsYXNzXT1cIidpY29uICcgKyBiYWRnZS5pY29uXCI+PC9zcGFuPlxuICAgICAgPG1hdC1wcm9ncmVzcy1zcGlubmVyIFtkaWFtZXRlcl09XCJyYWRpdXNcIiBzdHJva2VXaWR0aD1cIjZcIiBtb2RlPVwiZGV0ZXJtaW5hdGVcIiBbdmFsdWVdPVwiYmFkZ2UubmV4dExldmVsUHJvZ3Jlc3MgKiAxMDBcIj48L21hdC1wcm9ncmVzcy1zcGlubmVyPlxuICAgICAgPGRpdiBjbGFzcz1cImdsb3NzXCI+XG4gICAgICAgICA8ZGl2IGNsYXNzPVwiZ2xvc3MxXCI+PC9kaXY+XG4gICAgICAgICA8ZGl2IGNsYXNzPVwiZ2xvc3MyXCI+PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgIDwvZGl2PlxuICAgPGRpdiBjbGFzcz1cIm5hbWVcIiAqbmdJZj1cInNob3dOYW1lXCI+e3tiYWRnZS5uYW1lfX08L2Rpdj5cbjwvZGl2PlxuXG48c2F0LXBvcG92ZXIgI3BvcG92ZXIgaG9yaXpvbnRhbEFsaWduPVwiY2VudGVyXCIgW2FuY2hvcl09XCJiYWRnZUNvbnRhaW5lclwiIHZlcnRpY2FsQWxpZ249XCJiZWxvd1wiIFtoYXNCYWNrZHJvcF09XCJ0cnVlXCIgW2F1dG9Gb2N1c109XCJmYWxzZVwiPlxuICAgPGRpdiBbY2xhc3NdPVwiJ3BvcG92ZXIgbGV2ZWwtJyArIGJhZGdlLmxldmVsXCIgW2lkXT1cIidwb3BvdmVyJ1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImFycm93XCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicG9wb3Zlci1jb250YWluZXJcIj5cbiAgICAgICAgIDxzcGFuIChjbGljayk9XCJwb3BvdmVyLmNsb3NlKClcIiBjbGFzcz1cImNsb3NlIHBoLXhcIj48L3NwYW4+XG4gICAgICAgICA8aDMgKm5nSWY9XCJiYWRnZS5sZXZlbCA9PSAwXCI+e3tiYWRnZS5uYW1lfX08L2gzPlxuICAgICAgICAgPGgzICpuZ0lmPVwiYmFkZ2UubGV2ZWwgPT0gMVwiPnt7YmFkZ2UubmFtZX19IDxzcGFuPkJyb256ZSBMZXZlbDwvc3Bhbj48L2gzPlxuICAgICAgICAgPGgzICpuZ0lmPVwiYmFkZ2UubGV2ZWwgPT0gMlwiPnt7YmFkZ2UubmFtZX19IDxzcGFuPlNpbHZlciBMZXZlbDwvc3Bhbj48L2gzPlxuICAgICAgICAgPGgzICpuZ0lmPVwiYmFkZ2UubGV2ZWwgPT0gM1wiPnt7YmFkZ2UubmFtZX19IDxzcGFuPkdvbGQgTGV2ZWw8L3NwYW4+PC9oMz5cbiAgICAgICAgIDxoMyAqbmdJZj1cImJhZGdlLmxldmVsID09IDRcIj57e2JhZGdlLm5hbWV9fSA8c3Bhbj5QbGF0aW51bSBMZXZlbDwvc3Bhbj48L2gzPlxuICAgICAgICAgPGgzICpuZ0lmPVwiYmFkZ2UubGV2ZWwgPT0gNVwiPnt7YmFkZ2UubmFtZX19IDxzcGFuPkRpYW1vbmQgTGV2ZWw8L3NwYW4+PC9oMz5cbiAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXNjcmlwdGlvblwiPnt7YmFkZ2UuZGVzY3JpcHRpb259fTwvZGl2PlxuXG4gICAgICAgICA8aDM+SG93IHRvIHJlYWNoIHRoZSBuZXh0IGxldmVsPC9oMz5cbiAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXNjcmlwdGlvblwiPnt7YmFkZ2UubmV4dExldmVsUmVxdWlyZW1lbnR9fTwvZGl2PlxuICAgICAgPC9kaXY+XG4gICA8L2Rpdj5cbjwvc2F0LXBvcG92ZXI+XG4iXX0=
@@ -1,29 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "@ncstate/sat-popover";
5
- export class BadgeStreakComponent {
6
- constructor() {
7
- }
8
- getStreakBadgeType() {
9
- if (this.badge.name.toLowerCase().indexOf("high ") > -1) {
10
- return "higherthanbenchmark";
11
- }
12
- else {
13
- return "improved";
14
- }
15
- }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BadgeStreakComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: BadgeStreakComponent, selector: "badge-streak", inputs: { showName: "showName", badge: "badge", radius: "radius" }, ngImport: i0, template: "<div [class]=\"'team-badge streak ' + getStreakBadgeType()\" [ngClass]=\"{'unearned': !badge.awarded }\" #badgeContainer (click)=\"popover.open()\">\n <div class=\"circle\" [ngStyle]=\"{'width': radius + 'px', 'height': radius + 'px', 'border-radius': radius + 'px'}\">\n <div class=\"crown\" *ngIf=\"badge.awarded && badge.level >= 3\"></div>\n <span [class]=\"'icon ' + badge.icon\"></span>\n <div class=\"level\" *ngIf=\"badge.awarded\">{{badge.level}}</div>\n </div>\n <div class=\"name\" *ngIf=\"showName\">{{badge.name}}</div>\n</div>\n\n<sat-popover #popover horizontalAlign=\"center\" [anchor]=\"badgeContainer\" verticalAlign=\"below\" [hasBackdrop]=\"true\" [autoFocus]=\"false\">\n <div class=\"popover\" [id]=\"'popover'\">\n <div class=\"arrow\"></div>\n <div class=\"popover-container\">\n <span (click)=\"popover.close()\" class=\"close ph-x\"></span>\n <h3 *ngIf=\"badge.level == 0\">{{badge.name}}</h3>\n <h3 *ngIf=\"badge.level > 0\">{{badge.name}} <span>Streak of {{badge.level}}</span></h3>\n <div class=\"description\">{{badge.description}}</div>\n\n <h3>How to reach the next level</h3>\n <div class=\"description\">{{badge.nextLevelRequirement}}</div>\n </div>\n </div>\n</sat-popover>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.bigletteredbutton{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;text-decoration:none;background:#ffffff1a;margin-bottom:10px;display:flex;align-content:center;border-radius:20px;padding:15px;font-size:24px;border:2px solid #1F3F8F;border-bottom:6px solid #1F3F8F;color:#fff;align-items:center;cursor:pointer}.bigletteredbutton .free{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff73f;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton .plan{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton:hover,.bigletteredbutton.selected{border:2px solid #fff73f;border-bottom:6px solid #fff73f}.bigletteredbutton .button-letter{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f;margin-right:20px}.bigletteredbutton .button-letter .ph{color:#1f3f8f}.bigletteredbutton .button-letter:hover{background:#1f3f8f;color:#fff73f}.bigletteredbutton .button-letter:hover .ph{color:#fff73f}.roundicon-yellow{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f}.roundicon-yellow .ph{color:#1f3f8f}.roundicon-yellow:hover{background:#1f3f8f;color:#fff73f}.roundicon-yellow:hover .ph{color:#fff73f}.roundicon{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center}.roundicon-large{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;border-radius:60px;height:120px;width:120px}.popover{margin-left:15px}.popover h3 span{color:#fff73f}.popover .arrow{width:15px;height:15px;background:#2f2f2f;transform:rotate(45deg);left:50%;position:absolute;top:-8px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.SatPopoverComponent, selector: "sat-popover", inputs: ["anchor", "horizontalAlign", "xAlign", "verticalAlign", "yAlign", "forceAlignment", "lockAlignment", "autoFocus", "restoreFocus", "scrollStrategy", "hasBackdrop", "interactiveClose", "openTransition", "closeTransition", "openAnimationStartAtScale", "closeAnimationEndAtScale", "backdropClass", "panelClass"], outputs: ["opened", "closed", "afterOpen", "afterClose", "backdropClicked", "overlayKeydown"] }] }); }
18
- }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BadgeStreakComponent, decorators: [{
20
- type: Component,
21
- args: [{ selector: 'badge-streak', template: "<div [class]=\"'team-badge streak ' + getStreakBadgeType()\" [ngClass]=\"{'unearned': !badge.awarded }\" #badgeContainer (click)=\"popover.open()\">\n <div class=\"circle\" [ngStyle]=\"{'width': radius + 'px', 'height': radius + 'px', 'border-radius': radius + 'px'}\">\n <div class=\"crown\" *ngIf=\"badge.awarded && badge.level >= 3\"></div>\n <span [class]=\"'icon ' + badge.icon\"></span>\n <div class=\"level\" *ngIf=\"badge.awarded\">{{badge.level}}</div>\n </div>\n <div class=\"name\" *ngIf=\"showName\">{{badge.name}}</div>\n</div>\n\n<sat-popover #popover horizontalAlign=\"center\" [anchor]=\"badgeContainer\" verticalAlign=\"below\" [hasBackdrop]=\"true\" [autoFocus]=\"false\">\n <div class=\"popover\" [id]=\"'popover'\">\n <div class=\"arrow\"></div>\n <div class=\"popover-container\">\n <span (click)=\"popover.close()\" class=\"close ph-x\"></span>\n <h3 *ngIf=\"badge.level == 0\">{{badge.name}}</h3>\n <h3 *ngIf=\"badge.level > 0\">{{badge.name}} <span>Streak of {{badge.level}}</span></h3>\n <div class=\"description\">{{badge.description}}</div>\n\n <h3>How to reach the next level</h3>\n <div class=\"description\">{{badge.nextLevelRequirement}}</div>\n </div>\n </div>\n</sat-popover>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.bigletteredbutton{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;text-decoration:none;background:#ffffff1a;margin-bottom:10px;display:flex;align-content:center;border-radius:20px;padding:15px;font-size:24px;border:2px solid #1F3F8F;border-bottom:6px solid #1F3F8F;color:#fff;align-items:center;cursor:pointer}.bigletteredbutton .free{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff73f;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton .plan{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton:hover,.bigletteredbutton.selected{border:2px solid #fff73f;border-bottom:6px solid #fff73f}.bigletteredbutton .button-letter{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f;margin-right:20px}.bigletteredbutton .button-letter .ph{color:#1f3f8f}.bigletteredbutton .button-letter:hover{background:#1f3f8f;color:#fff73f}.bigletteredbutton .button-letter:hover .ph{color:#fff73f}.roundicon-yellow{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f}.roundicon-yellow .ph{color:#1f3f8f}.roundicon-yellow:hover{background:#1f3f8f;color:#fff73f}.roundicon-yellow:hover .ph{color:#fff73f}.roundicon{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center}.roundicon-large{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;border-radius:60px;height:120px;width:120px}.popover{margin-left:15px}.popover h3 span{color:#fff73f}.popover .arrow{width:15px;height:15px;background:#2f2f2f;transform:rotate(45deg);left:50%;position:absolute;top:-8px}\n"] }]
22
- }], ctorParameters: () => [], propDecorators: { showName: [{
23
- type: Input
24
- }], badge: [{
25
- type: Input
26
- }], radius: [{
27
- type: Input
28
- }] } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2Utc3RyZWFrLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zY3J1bXRlYW1zdXJ2ZXktdG9vbHMvc3JjL2xpYi9yZXN1bHRzL2NvbXBvbmVudHMvYmFkZ2Utc3RyZWFrL2JhZGdlLXN0cmVhay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NydW10ZWFtc3VydmV5LXRvb2xzL3NyYy9saWIvcmVzdWx0cy9jb21wb25lbnRzL2JhZGdlLXN0cmVhay9iYWRnZS1zdHJlYWsuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDOzs7O0FBUXBFLE1BQU0sT0FBTyxvQkFBb0I7SUFLOUI7SUFDQSxDQUFDO0lBRU0sa0JBQWtCO1FBQ3RCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDdkQsT0FBTyxxQkFBcUIsQ0FBQztRQUNoQyxDQUFDO2FBQ0ksQ0FBQztZQUNILE9BQU8sVUFBVSxDQUFBO1FBQ3BCLENBQUM7SUFDSixDQUFDOytHQWZTLG9CQUFvQjttR0FBcEIsb0JBQW9CLHdIQ1JqQyxveENBdUJBOzs0RkRmYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0csY0FBYzt3REFLUixRQUFRO3NCQUF2QixLQUFLO2dCQUNVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYWRnZUR0bywgQmFkZ2VUeXBlRW51bSB9IGZyb20gJy4uLy4uL21vZGVscy9iYWRnZUR0byc7XG5cbkBDb21wb25lbnQoe1xuICAgc2VsZWN0b3I6ICdiYWRnZS1zdHJlYWsnLFxuICAgdGVtcGxhdGVVcmw6ICcuL2JhZGdlLXN0cmVhay5jb21wb25lbnQuaHRtbCcsXG4gICBzdHlsZVVybHM6IFsnLi9iYWRnZS1zdHJlYWsuY29tcG9uZW50Lmxlc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWRnZVN0cmVha0NvbXBvbmVudCB7XG4gICBASW5wdXQoKSBwdWJsaWMgc2hvd05hbWU6IGJvb2xlYW47XG4gICBASW5wdXQoKSBwdWJsaWMgYmFkZ2U6IEJhZGdlRHRvO1xuICAgQElucHV0KCkgcHVibGljIHJhZGl1czogbnVtYmVyO1xuXG4gICBjb25zdHJ1Y3RvcigpIHtcbiAgIH1cblxuICAgcHVibGljIGdldFN0cmVha0JhZGdlVHlwZSgpOiBzdHJpbmcge1xuICAgICAgaWYgKHRoaXMuYmFkZ2UubmFtZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoXCJoaWdoIFwiKSA+IC0xKSB7XG4gICAgICAgICByZXR1cm4gXCJoaWdoZXJ0aGFuYmVuY2htYXJrXCI7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgIHJldHVybiBcImltcHJvdmVkXCJcbiAgICAgIH1cbiAgIH1cbn1cbiIsIjxkaXYgW2NsYXNzXT1cIid0ZWFtLWJhZGdlIHN0cmVhayAnICsgZ2V0U3RyZWFrQmFkZ2VUeXBlKClcIiBbbmdDbGFzc109XCJ7J3VuZWFybmVkJzogIWJhZGdlLmF3YXJkZWQgfVwiICNiYWRnZUNvbnRhaW5lciAoY2xpY2spPVwicG9wb3Zlci5vcGVuKClcIj5cbiAgIDxkaXYgY2xhc3M9XCJjaXJjbGVcIiBbbmdTdHlsZV09XCJ7J3dpZHRoJzogcmFkaXVzICsgJ3B4JywgJ2hlaWdodCc6IHJhZGl1cyArICdweCcsICdib3JkZXItcmFkaXVzJzogcmFkaXVzICsgJ3B4J31cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcm93blwiICpuZ0lmPVwiYmFkZ2UuYXdhcmRlZCAmJiBiYWRnZS5sZXZlbCA+PSAzXCI+PC9kaXY+XG4gICAgICA8c3BhbiBbY2xhc3NdPVwiJ2ljb24gJyArIGJhZGdlLmljb25cIj48L3NwYW4+XG4gICAgICA8ZGl2IGNsYXNzPVwibGV2ZWxcIiAqbmdJZj1cImJhZGdlLmF3YXJkZWRcIj57e2JhZGdlLmxldmVsfX08L2Rpdj5cbiAgIDwvZGl2PlxuICAgPGRpdiBjbGFzcz1cIm5hbWVcIiAqbmdJZj1cInNob3dOYW1lXCI+e3tiYWRnZS5uYW1lfX08L2Rpdj5cbjwvZGl2PlxuXG48c2F0LXBvcG92ZXIgI3BvcG92ZXIgaG9yaXpvbnRhbEFsaWduPVwiY2VudGVyXCIgW2FuY2hvcl09XCJiYWRnZUNvbnRhaW5lclwiIHZlcnRpY2FsQWxpZ249XCJiZWxvd1wiIFtoYXNCYWNrZHJvcF09XCJ0cnVlXCIgW2F1dG9Gb2N1c109XCJmYWxzZVwiPlxuICAgPGRpdiBjbGFzcz1cInBvcG92ZXJcIiBbaWRdPVwiJ3BvcG92ZXInXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXJyb3dcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwb3BvdmVyLWNvbnRhaW5lclwiPlxuICAgICAgICAgPHNwYW4gKGNsaWNrKT1cInBvcG92ZXIuY2xvc2UoKVwiIGNsYXNzPVwiY2xvc2UgcGgteFwiPjwvc3Bhbj5cbiAgICAgICAgIDxoMyAqbmdJZj1cImJhZGdlLmxldmVsID09IDBcIj57e2JhZGdlLm5hbWV9fTwvaDM+XG4gICAgICAgICA8aDMgKm5nSWY9XCJiYWRnZS5sZXZlbCA+IDBcIj57e2JhZGdlLm5hbWV9fSA8c3Bhbj5TdHJlYWsgb2Yge3tiYWRnZS5sZXZlbH19PC9zcGFuPjwvaDM+XG4gICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb25cIj57e2JhZGdlLmRlc2NyaXB0aW9ufX08L2Rpdj5cblxuICAgICAgICAgPGgzPkhvdyB0byByZWFjaCB0aGUgbmV4dCBsZXZlbDwvaDM+XG4gICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb25cIj57e2JhZGdlLm5leHRMZXZlbFJlcXVpcmVtZW50fX08L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgPC9kaXY+XG48L3NhdC1wb3BvdmVyPlxuIl19
@@ -1,40 +0,0 @@
1
- import { Component, Inject } from '@angular/core';
2
- import { ComponentWithViewStateBase } from '../../../componentWithViewStateBase';
3
- import { VIEWSTATE_PROVIDER } from '../../../viewModel/viewModelState.service';
4
- import { BadgeTypeEnum } from '../../models/badgeDto';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/material/snack-bar";
7
- import * as i2 from "@angular/common";
8
- import * as i3 from "../badge/badge.component";
9
- import * as i4 from "../badge-streak/badge-streak.component";
10
- import * as i5 from "../../../viewModel/viewModelState.service";
11
- export class BadgesComponent extends ComponentWithViewStateBase {
12
- constructor(state, snackBar) {
13
- super(state, snackBar);
14
- this.state = state;
15
- this.snackBar = snackBar;
16
- this.showNotearned = true;
17
- }
18
- calculateBadgeProgress(badge) {
19
- var value = Math.round(badge.nextLevelProgress * 100);
20
- return value;
21
- }
22
- onDataUpdate(data) {
23
- this.earnedStreakBadges = data.badges.badges.filter(p => p.awarded && p.type == BadgeTypeEnum.streak);
24
- this.earnedProgressionBadges = data.badges.badges.filter(p => p.awarded && p.type == BadgeTypeEnum.progression);
25
- this.unearnedStreakBadges = data.badges.badges.filter(p => !p.awarded && p.type == BadgeTypeEnum.streak);
26
- this.unearnedProgressionBadges = data.badges.badges.filter(p => !p.awarded && p.type == BadgeTypeEnum.progression);
27
- this.loaded = data.loaded;
28
- }
29
- ;
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BadgesComponent, deps: [{ token: VIEWSTATE_PROVIDER }, { token: i1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Component }); }
31
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: BadgesComponent, selector: "badges", usesInheritance: true, ngImport: i0, template: "<div class=\"box\" *ngIf=\"loaded\">\n <ng-container *ngIf=\"earnedStreakBadges.length > 0\">\n <h4>Team streaks</h4>\n <div class=\"earned team-badges\">\n <badge-streak *ngFor=\"let badge of earnedStreakBadges\" [badge]=\"badge\" [showName]=\"true\" [radius]=\"65\"></badge-streak>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"earnedProgressionBadges.length > 0\">\n <h4>Team badges</h4>\n <div class=\"earned team-badges\">\n <badge *ngFor=\"let badge of earnedProgressionBadges\" [badge]=\"badge\" [showName]=\"true\" [radius]=\"75\"></badge>\n </div>\n </ng-container>\n\n <h4>Not yet earned</h4>\n <div class=\"notearned team-badges\" [ngClass]=\"{'fadeout': showNotearned}\" (mouseover)=\"showNotearned = false\">\n <badge *ngFor=\"let badge of unearnedProgressionBadges\" [badge]=\"badge\" [showName]=\"true\" [radius]=\"65\"></badge>\n <badge *ngFor=\"let badge of unearnedStreakBadges\" [badge]=\"badge\" [showName]=\"true\" [radius]=\"65\"></badge>\n </div>\n</div>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.bigletteredbutton{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;text-decoration:none;background:#ffffff1a;margin-bottom:10px;display:flex;align-content:center;border-radius:20px;padding:15px;font-size:24px;border:2px solid #1F3F8F;border-bottom:6px solid #1F3F8F;color:#fff;align-items:center;cursor:pointer}.bigletteredbutton .free{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff73f;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton .plan{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton:hover,.bigletteredbutton.selected{border:2px solid #fff73f;border-bottom:6px solid #fff73f}.bigletteredbutton .button-letter{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f;margin-right:20px}.bigletteredbutton .button-letter .ph{color:#1f3f8f}.bigletteredbutton .button-letter:hover{background:#1f3f8f;color:#fff73f}.bigletteredbutton .button-letter:hover .ph{color:#fff73f}.roundicon-yellow{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f}.roundicon-yellow .ph{color:#1f3f8f}.roundicon-yellow:hover{background:#1f3f8f;color:#fff73f}.roundicon-yellow:hover .ph{color:#fff73f}.roundicon{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center}.roundicon-large{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;border-radius:60px;height:120px;width:120px}.box{background:#f0f0f0}.box h4{text-align:center}.box .team-badges.earned,.box .team-badges.notearned{display:grid;grid-template-columns:repeat(2,1fr);row-gap:30px}@media only screen and (min-width: 1536px){.box .team-badges.earned,.box .team-badges.notearned{grid-template-columns:repeat(3,1fr)}}@media only screen and (min-width: 2000px){.box .team-badges.earned,.box .team-badges.notearned{grid-template-columns:repeat(4,1fr)}}.box .team-badges.notearned{overflow:hidden;position:relative;padding-top:10px}.box .team-badges.notearned.fadeout{position:relative;max-height:150px}.box .team-badges.notearned.fadeout:after{content:\"\";position:absolute;inset:0;background-image:linear-gradient(#f0f0f000 5%,#f0f0f0)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.BadgeComponent, selector: "badge", inputs: ["showName", "badge", "radius"] }, { kind: "component", type: i4.BadgeStreakComponent, selector: "badge-streak", inputs: ["showName", "badge", "radius"] }] }); }
32
- }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BadgesComponent, decorators: [{
34
- type: Component,
35
- args: [{ selector: 'badges', template: "<div class=\"box\" *ngIf=\"loaded\">\n <ng-container *ngIf=\"earnedStreakBadges.length > 0\">\n <h4>Team streaks</h4>\n <div class=\"earned team-badges\">\n <badge-streak *ngFor=\"let badge of earnedStreakBadges\" [badge]=\"badge\" [showName]=\"true\" [radius]=\"65\"></badge-streak>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"earnedProgressionBadges.length > 0\">\n <h4>Team badges</h4>\n <div class=\"earned team-badges\">\n <badge *ngFor=\"let badge of earnedProgressionBadges\" [badge]=\"badge\" [showName]=\"true\" [radius]=\"75\"></badge>\n </div>\n </ng-container>\n\n <h4>Not yet earned</h4>\n <div class=\"notearned team-badges\" [ngClass]=\"{'fadeout': showNotearned}\" (mouseover)=\"showNotearned = false\">\n <badge *ngFor=\"let badge of unearnedProgressionBadges\" [badge]=\"badge\" [showName]=\"true\" [radius]=\"65\"></badge>\n <badge *ngFor=\"let badge of unearnedStreakBadges\" [badge]=\"badge\" [showName]=\"true\" [radius]=\"65\"></badge>\n </div>\n</div>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.bigletteredbutton{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;text-decoration:none;background:#ffffff1a;margin-bottom:10px;display:flex;align-content:center;border-radius:20px;padding:15px;font-size:24px;border:2px solid #1F3F8F;border-bottom:6px solid #1F3F8F;color:#fff;align-items:center;cursor:pointer}.bigletteredbutton .free{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff73f;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton .plan{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton:hover,.bigletteredbutton.selected{border:2px solid #fff73f;border-bottom:6px solid #fff73f}.bigletteredbutton .button-letter{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f;margin-right:20px}.bigletteredbutton .button-letter .ph{color:#1f3f8f}.bigletteredbutton .button-letter:hover{background:#1f3f8f;color:#fff73f}.bigletteredbutton .button-letter:hover .ph{color:#fff73f}.roundicon-yellow{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f}.roundicon-yellow .ph{color:#1f3f8f}.roundicon-yellow:hover{background:#1f3f8f;color:#fff73f}.roundicon-yellow:hover .ph{color:#fff73f}.roundicon{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center}.roundicon-large{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;border-radius:60px;height:120px;width:120px}.box{background:#f0f0f0}.box h4{text-align:center}.box .team-badges.earned,.box .team-badges.notearned{display:grid;grid-template-columns:repeat(2,1fr);row-gap:30px}@media only screen and (min-width: 1536px){.box .team-badges.earned,.box .team-badges.notearned{grid-template-columns:repeat(3,1fr)}}@media only screen and (min-width: 2000px){.box .team-badges.earned,.box .team-badges.notearned{grid-template-columns:repeat(4,1fr)}}.box .team-badges.notearned{overflow:hidden;position:relative;padding-top:10px}.box .team-badges.notearned.fadeout{position:relative;max-height:150px}.box .team-badges.notearned.fadeout:after{content:\"\";position:absolute;inset:0;background-image:linear-gradient(#f0f0f000 5%,#f0f0f0)}\n"] }]
36
- }], ctorParameters: () => [{ type: i5.ViewModelStateBase, decorators: [{
37
- type: Inject,
38
- args: [VIEWSTATE_PROVIDER]
39
- }] }, { type: i1.MatSnackBar }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2VzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zY3J1bXRlYW1zdXJ2ZXktdG9vbHMvc3JjL2xpYi9yZXN1bHRzL2NvbXBvbmVudHMvYmFkZ2VzL2JhZGdlcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NydW10ZWFtc3VydmV5LXRvb2xzL3NyYy9saWIvcmVzdWx0cy9jb21wb25lbnRzL2JhZGdlcy9iYWRnZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRXJFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pGLE9BQU8sRUFBc0Isa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUVuRyxPQUFPLEVBQVksYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7QUFPaEUsTUFBTSxPQUFPLGVBQWdCLFNBQVEsMEJBQXlDO0lBUTNFLFlBQWdELEtBQXdDLEVBQVksUUFBcUI7UUFDdEgsS0FBSyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQURzQixVQUFLLEdBQUwsS0FBSyxDQUFtQztRQUFZLGFBQVEsR0FBUixRQUFRLENBQWE7UUFObEgsa0JBQWEsR0FBWSxJQUFJLENBQUM7SUFRckMsQ0FBQztJQUVNLHNCQUFzQixDQUFDLEtBQWU7UUFDMUMsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEdBQUksR0FBRyxDQUFDLENBQUM7UUFDdkQsT0FBTyxLQUFLLENBQUM7SUFDaEIsQ0FBQztJQUVTLFlBQVksQ0FBQyxJQUFtQjtRQUN2QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0RyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNoSCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pHLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkgsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQzdCLENBQUM7SUFBQSxDQUFDOytHQXZCUSxlQUFlLGtCQVFMLGtCQUFrQjttR0FSNUIsZUFBZSxxRUNaNUIsa2lDQXFCQTs7NEZEVGEsZUFBZTtrQkFMM0IsU0FBUzsrQkFDRyxRQUFROzswQkFZTCxNQUFNOzJCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgQ29tcG9uZW50V2l0aFZpZXdTdGF0ZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRXaXRoVmlld1N0YXRlQmFzZSc7XG5pbXBvcnQgeyBWaWV3TW9kZWxTdGF0ZUJhc2UsIFZJRVdTVEFURV9QUk9WSURFUiB9IGZyb20gJy4uLy4uLy4uL3ZpZXdNb2RlbC92aWV3TW9kZWxTdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IElSZXN1bHRzU3RhdGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lSZXN1bHRzU3RhdGUnO1xuaW1wb3J0IHsgQmFkZ2VEdG8sIEJhZGdlVHlwZUVudW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvYmFkZ2VEdG8nO1xuXG5AQ29tcG9uZW50KHtcbiAgIHNlbGVjdG9yOiAnYmFkZ2VzJyxcbiAgIHRlbXBsYXRlVXJsOiAnLi9iYWRnZXMuY29tcG9uZW50Lmh0bWwnLFxuICAgc3R5bGVVcmxzOiBbJy4vYmFkZ2VzLmNvbXBvbmVudC5sZXNzJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFkZ2VzQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50V2l0aFZpZXdTdGF0ZUJhc2U8SVJlc3VsdHNTdGF0ZT4ge1xuICAgcHVibGljIGxvYWRlZDogYm9vbGVhbjtcbiAgIHB1YmxpYyBzaG93Tm90ZWFybmVkOiBib29sZWFuID0gdHJ1ZTtcbiAgIHB1YmxpYyBlYXJuZWRTdHJlYWtCYWRnZXM6IEJhZGdlRHRvW107XG4gICBwdWJsaWMgZWFybmVkUHJvZ3Jlc3Npb25CYWRnZXM6IEJhZGdlRHRvW107XG4gICBwdWJsaWMgdW5lYXJuZWRQcm9ncmVzc2lvbkJhZGdlczogQmFkZ2VEdG9bXTtcbiAgIHB1YmxpYyB1bmVhcm5lZFN0cmVha0JhZGdlczogQmFkZ2VEdG9bXTtcblxuICAgY29uc3RydWN0b3IoQEluamVjdChWSUVXU1RBVEVfUFJPVklERVIpIHByaXZhdGUgc3RhdGU6IFZpZXdNb2RlbFN0YXRlQmFzZTxJUmVzdWx0c1N0YXRlPiwgcHJvdGVjdGVkIHNuYWNrQmFyOiBNYXRTbmFja0Jhcikge1xuICAgICAgc3VwZXIoc3RhdGUsIHNuYWNrQmFyKTtcbiAgIH1cblxuICAgcHVibGljIGNhbGN1bGF0ZUJhZGdlUHJvZ3Jlc3MoYmFkZ2U6IEJhZGdlRHRvKTogbnVtYmVyIHtcbiAgICAgIHZhciB2YWx1ZSA9IE1hdGgucm91bmQoYmFkZ2UubmV4dExldmVsUHJvZ3Jlc3MgICogMTAwKTtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgIH1cblxuICAgcHJvdGVjdGVkIG9uRGF0YVVwZGF0ZShkYXRhOiBJUmVzdWx0c1N0YXRlKTogdm9pZCB7XG4gICAgICB0aGlzLmVhcm5lZFN0cmVha0JhZGdlcyA9IGRhdGEuYmFkZ2VzLmJhZGdlcy5maWx0ZXIocCA9PiBwLmF3YXJkZWQgJiYgcC50eXBlID09IEJhZGdlVHlwZUVudW0uc3RyZWFrKTtcbiAgICAgIHRoaXMuZWFybmVkUHJvZ3Jlc3Npb25CYWRnZXMgPSBkYXRhLmJhZGdlcy5iYWRnZXMuZmlsdGVyKHAgPT4gcC5hd2FyZGVkICYmIHAudHlwZSA9PSBCYWRnZVR5cGVFbnVtLnByb2dyZXNzaW9uKTtcbiAgICAgIHRoaXMudW5lYXJuZWRTdHJlYWtCYWRnZXMgPSBkYXRhLmJhZGdlcy5iYWRnZXMuZmlsdGVyKHAgPT4gIXAuYXdhcmRlZCAmJiBwLnR5cGUgPT0gQmFkZ2VUeXBlRW51bS5zdHJlYWspO1xuICAgICAgdGhpcy51bmVhcm5lZFByb2dyZXNzaW9uQmFkZ2VzID0gZGF0YS5iYWRnZXMuYmFkZ2VzLmZpbHRlcihwID0+ICFwLmF3YXJkZWQgJiYgcC50eXBlID09IEJhZGdlVHlwZUVudW0ucHJvZ3Jlc3Npb24pO1xuICAgICAgdGhpcy5sb2FkZWQgPSBkYXRhLmxvYWRlZDtcbiAgIH07XG59XG4iLCI8ZGl2IGNsYXNzPVwiYm94XCIgKm5nSWY9XCJsb2FkZWRcIj5cbiAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlYXJuZWRTdHJlYWtCYWRnZXMubGVuZ3RoID4gMFwiPlxuICAgICAgPGg0PlRlYW0gc3RyZWFrczwvaDQ+XG4gICAgICA8ZGl2IGNsYXNzPVwiZWFybmVkIHRlYW0tYmFkZ2VzXCI+XG4gICAgICAgICA8YmFkZ2Utc3RyZWFrICpuZ0Zvcj1cImxldCBiYWRnZSBvZiBlYXJuZWRTdHJlYWtCYWRnZXNcIiBbYmFkZ2VdPVwiYmFkZ2VcIiBbc2hvd05hbWVdPVwidHJ1ZVwiIFtyYWRpdXNdPVwiNjVcIj48L2JhZGdlLXN0cmVhaz5cbiAgICAgIDwvZGl2PlxuICAgPC9uZy1jb250YWluZXI+XG5cbiAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlYXJuZWRQcm9ncmVzc2lvbkJhZGdlcy5sZW5ndGggPiAwXCI+XG4gICAgICA8aDQ+VGVhbSBiYWRnZXM8L2g0PlxuICAgICAgPGRpdiBjbGFzcz1cImVhcm5lZCB0ZWFtLWJhZGdlc1wiPlxuICAgICAgICAgPGJhZGdlICpuZ0Zvcj1cImxldCBiYWRnZSBvZiBlYXJuZWRQcm9ncmVzc2lvbkJhZGdlc1wiIFtiYWRnZV09XCJiYWRnZVwiIFtzaG93TmFtZV09XCJ0cnVlXCIgW3JhZGl1c109XCI3NVwiPjwvYmFkZ2U+XG4gICAgICA8L2Rpdj5cbiAgIDwvbmctY29udGFpbmVyPlxuXG4gICA8aDQ+Tm90IHlldCBlYXJuZWQ8L2g0PlxuICAgPGRpdiBjbGFzcz1cIm5vdGVhcm5lZCB0ZWFtLWJhZGdlc1wiIFtuZ0NsYXNzXT1cInsnZmFkZW91dCc6IHNob3dOb3RlYXJuZWR9XCIgKG1vdXNlb3Zlcik9XCJzaG93Tm90ZWFybmVkID0gZmFsc2VcIj5cbiAgICAgIDxiYWRnZSAqbmdGb3I9XCJsZXQgYmFkZ2Ugb2YgdW5lYXJuZWRQcm9ncmVzc2lvbkJhZGdlc1wiIFtiYWRnZV09XCJiYWRnZVwiIFtzaG93TmFtZV09XCJ0cnVlXCIgW3JhZGl1c109XCI2NVwiPjwvYmFkZ2U+XG4gICAgICA8YmFkZ2UgKm5nRm9yPVwibGV0IGJhZGdlIG9mIHVuZWFybmVkU3RyZWFrQmFkZ2VzXCIgW2JhZGdlXT1cImJhZGdlXCIgW3Nob3dOYW1lXT1cInRydWVcIiBbcmFkaXVzXT1cIjY1XCI+PC9iYWRnZT5cbiAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,21 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "@angular/material/tooltip";
5
- export class BenchmarkIndicatorComponent {
6
- constructor(datePipe) {
7
- this.datePipe = datePipe;
8
- }
9
- ngOnInit() {
10
- this.delta = this.factorScore.score - this.factorScore.benchmark;
11
- }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BenchmarkIndicatorComponent, deps: [{ token: i1.DatePipe }], target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: BenchmarkIndicatorComponent, selector: "benchmark-indicator", inputs: { factorScore: "factorScore" }, ngImport: i0, template: "<span [class]=\"'delta up'\" *ngIf=\"delta > 0\" [matTooltip]=\"'Your team(s) score higher than the benchmark, by ' + delta + ' points'\"><i [class]=\"'icon ph-arrow-up-fill'\"></i>{{delta}}</span>\n<span [class]=\"'delta down'\" *ngIf=\"delta < 0\" [matTooltip]=\"'Your team(s) score lower than the benchmark, by -' + delta * -1 + ' points'\"><i [class]=\"'icon ph-arrow-down-fill'\"></i>{{delta * -1}}</span>\n<span [class]=\"'delta same'\" *ngIf=\"delta == 0\" [matTooltip]=\"'Your team(s) score similar to the benchmark'\"><i [class]=\"'icon ph-equals-fill'\"></i>{{delta}}</span>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.bigletteredbutton{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;text-decoration:none;background:#ffffff1a;margin-bottom:10px;display:flex;align-content:center;border-radius:20px;padding:15px;font-size:24px;border:2px solid #1F3F8F;border-bottom:6px solid #1F3F8F;color:#fff;align-items:center;cursor:pointer}.bigletteredbutton .free{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff73f;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton .plan{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton:hover,.bigletteredbutton.selected{border:2px solid #fff73f;border-bottom:6px solid #fff73f}.bigletteredbutton .button-letter{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f;margin-right:20px}.bigletteredbutton .button-letter .ph{color:#1f3f8f}.bigletteredbutton .button-letter:hover{background:#1f3f8f;color:#fff73f}.bigletteredbutton .button-letter:hover .ph{color:#fff73f}.roundicon-yellow{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f}.roundicon-yellow .ph{color:#1f3f8f}.roundicon-yellow:hover{background:#1f3f8f;color:#fff73f}.roundicon-yellow:hover .ph{color:#fff73f}.roundicon{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center}.roundicon-large{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;border-radius:60px;height:120px;width:120px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BenchmarkIndicatorComponent, decorators: [{
16
- type: Component,
17
- args: [{ selector: 'benchmark-indicator', template: "<span [class]=\"'delta up'\" *ngIf=\"delta > 0\" [matTooltip]=\"'Your team(s) score higher than the benchmark, by ' + delta + ' points'\"><i [class]=\"'icon ph-arrow-up-fill'\"></i>{{delta}}</span>\n<span [class]=\"'delta down'\" *ngIf=\"delta < 0\" [matTooltip]=\"'Your team(s) score lower than the benchmark, by -' + delta * -1 + ' points'\"><i [class]=\"'icon ph-arrow-down-fill'\"></i>{{delta * -1}}</span>\n<span [class]=\"'delta same'\" *ngIf=\"delta == 0\" [matTooltip]=\"'Your team(s) score similar to the benchmark'\"><i [class]=\"'icon ph-equals-fill'\"></i>{{delta}}</span>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.bigletteredbutton{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;text-decoration:none;background:#ffffff1a;margin-bottom:10px;display:flex;align-content:center;border-radius:20px;padding:15px;font-size:24px;border:2px solid #1F3F8F;border-bottom:6px solid #1F3F8F;color:#fff;align-items:center;cursor:pointer}.bigletteredbutton .free{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff73f;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton .plan{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton:hover,.bigletteredbutton.selected{border:2px solid #fff73f;border-bottom:6px solid #fff73f}.bigletteredbutton .button-letter{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f;margin-right:20px}.bigletteredbutton .button-letter .ph{color:#1f3f8f}.bigletteredbutton .button-letter:hover{background:#1f3f8f;color:#fff73f}.bigletteredbutton .button-letter:hover .ph{color:#fff73f}.roundicon-yellow{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f}.roundicon-yellow .ph{color:#1f3f8f}.roundicon-yellow:hover{background:#1f3f8f;color:#fff73f}.roundicon-yellow:hover .ph{color:#fff73f}.roundicon{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center}.roundicon-large{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;border-radius:60px;height:120px;width:120px}\n"] }]
18
- }], ctorParameters: () => [{ type: i1.DatePipe }], propDecorators: { factorScore: [{
19
- type: Input
20
- }] } });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVuY2htYXJrLWluZGljYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NydW10ZWFtc3VydmV5LXRvb2xzL3NyYy9saWIvcmVzdWx0cy9jb21wb25lbnRzL2JlbmNobWFyay1pbmRpY2F0b3IvYmVuY2htYXJrLWluZGljYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NydW10ZWFtc3VydmV5LXRvb2xzL3NyYy9saWIvcmVzdWx0cy9jb21wb25lbnRzL2JlbmNobWFyay1pbmRpY2F0b3IvYmVuY2htYXJrLWluZGljYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVFqRCxNQUFNLE9BQU8sMkJBQTJCO0lBSXJDLFlBQW9CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFDdEMsQ0FBQztJQUVELFFBQVE7UUFDTCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDO0lBQ3BFLENBQUM7K0dBVFMsMkJBQTJCO21HQUEzQiwyQkFBMkIsbUdDVHhDLDRrQkFHQTs7NEZETWEsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNHLHFCQUFxQjs2RUFNZixXQUFXO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmFjdG9yU2NvcmVEdG8gfSBmcm9tICcuLi8uLi9tb2RlbHMvZmFjdG9yU2NvcmVEdG8nO1xuXG5AQ29tcG9uZW50KHtcbiAgIHNlbGVjdG9yOiAnYmVuY2htYXJrLWluZGljYXRvcicsXG4gICB0ZW1wbGF0ZVVybDogJy4vYmVuY2htYXJrLWluZGljYXRvci5jb21wb25lbnQuaHRtbCcsXG4gICBzdHlsZVVybHM6IFsnLi9iZW5jaG1hcmstaW5kaWNhdG9yLmNvbXBvbmVudC5sZXNzJ11cbn0pXG5leHBvcnQgY2xhc3MgQmVuY2htYXJrSW5kaWNhdG9yQ29tcG9uZW50IHtcbiAgIHB1YmxpYyBkZWx0YTogbnVtYmVyO1xuICAgQElucHV0KCkgcHVibGljIGZhY3RvclNjb3JlOiBGYWN0b3JTY29yZUR0bztcblxuICAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRlUGlwZTogRGF0ZVBpcGUpIHtcbiAgIH1cblxuICAgbmdPbkluaXQoKSB7XG4gICAgICB0aGlzLmRlbHRhID0gdGhpcy5mYWN0b3JTY29yZS5zY29yZSAtIHRoaXMuZmFjdG9yU2NvcmUuYmVuY2htYXJrO1xuICAgfVxufVxuIiwiPHNwYW4gW2NsYXNzXT1cIidkZWx0YSB1cCdcIiAqbmdJZj1cImRlbHRhID4gMFwiIFttYXRUb29sdGlwXT1cIidZb3VyIHRlYW0ocykgc2NvcmUgaGlnaGVyIHRoYW4gdGhlIGJlbmNobWFyaywgYnkgJyArIGRlbHRhICsgJyBwb2ludHMnXCI+PGkgW2NsYXNzXT1cIidpY29uIHBoLWFycm93LXVwLWZpbGwnXCI+PC9pPnt7ZGVsdGF9fTwvc3Bhbj5cbjxzcGFuIFtjbGFzc109XCInZGVsdGEgZG93bidcIiAqbmdJZj1cImRlbHRhIDwgMFwiIFttYXRUb29sdGlwXT1cIidZb3VyIHRlYW0ocykgc2NvcmUgbG93ZXIgdGhhbiB0aGUgYmVuY2htYXJrLCBieSAtJyArIGRlbHRhICogLTEgKyAnIHBvaW50cydcIj48aSBbY2xhc3NdPVwiJ2ljb24gcGgtYXJyb3ctZG93bi1maWxsJ1wiPjwvaT57e2RlbHRhICogLTF9fTwvc3Bhbj5cbjxzcGFuIFtjbGFzc109XCInZGVsdGEgc2FtZSdcIiAqbmdJZj1cImRlbHRhID09IDBcIiBbbWF0VG9vbHRpcF09XCInWW91ciB0ZWFtKHMpIHNjb3JlIHNpbWlsYXIgdG8gdGhlIGJlbmNobWFyaydcIj48aSBbY2xhc3NdPVwiJ2ljb24gcGgtZXF1YWxzLWZpbGwnXCI+PC9pPnt7ZGVsdGF9fTwvc3Bhbj5cbiJdfQ==