@ti-tecnologico-de-monterrey-oficial/ds-ng 1.5.1020 → 1.5.1117

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 (435) hide show
  1. package/assets/images/gif/mitecLogoIntroMobile.gif +0 -0
  2. package/assets/images/gif/mitecLogoIntroWeb.gif +0 -0
  3. package/assets/images/lang-flags/mx.svg +392 -0
  4. package/assets/images/lang-flags/us.svg +13 -0
  5. package/assets/styles/main.min.css +1 -1
  6. package/assets/styles/main.min.css.map +1 -1
  7. package/assets/svg/neutral_fill.svg +1 -0
  8. package/assets/svg/primary_fill.svg +1 -0
  9. package/esm2022/lib/components/bmb-academic-progress/bmb-academic-progress.component.mjs +87 -0
  10. package/esm2022/lib/components/bmb-accordion/bmb-accordion.component.mjs +159 -0
  11. package/esm2022/lib/components/bmb-account-statement/bmb-account-statement.component.mjs +150 -0
  12. package/esm2022/lib/components/bmb-action-icon/bmb-action-icon.component.mjs +49 -0
  13. package/esm2022/lib/components/bmb-action-menu/bmb-action-menu.component.mjs +31 -0
  14. package/esm2022/lib/components/bmb-advertisement-card/bmb-advertisement-card.component.mjs +35 -0
  15. package/esm2022/lib/components/bmb-advertisement-card/types.mjs +2 -0
  16. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-ads/bmb-alert-center-ads.component.mjs +40 -0
  17. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-empty/bmb-alert-center-empty.component.mjs +18 -0
  18. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-form/bmb-alert-center-form.component.mjs +148 -0
  19. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-list/bmb-alert-center-list.component.mjs +52 -0
  20. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center.component.mjs +196 -0
  21. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center.service.mjs +62 -0
  22. package/esm2022/lib/components/bmb-alert-center/types.mjs +2 -0
  23. package/esm2022/lib/components/bmb-badge/bmb-badge.component.mjs +26 -0
  24. package/esm2022/lib/components/bmb-balance-overview/bmb-balance-overview.component.mjs +26 -0
  25. package/esm2022/lib/components/bmb-bookmark/bmb-bookmark.component.mjs +27 -0
  26. package/esm2022/lib/components/bmb-bottom-navigation-bar/bmb-bottom-navigation-bar.component.mjs +42 -0
  27. package/esm2022/lib/components/bmb-breadcrumb/bmb-breadcrumb.component.mjs +55 -0
  28. package/esm2022/lib/components/bmb-button-icon/bmb-button-icon.component.mjs +30 -0
  29. package/esm2022/lib/components/bmb-calendar/bmb-calendar.component.mjs +262 -0
  30. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-header/bmb-calendar-header.component.mjs +95 -0
  31. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-hour-view/bmb-calendar-hour-view.component.mjs +40 -0
  32. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-schedule-cards/bmb-calendar-schedule-cards.component.mjs +68 -0
  33. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-day/bmb-calendar-template-day.component.mjs +41 -0
  34. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-event-list/bmb-calendar-template-event-list.component.mjs +63 -0
  35. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-mobile/bmb-calendar-template-mobile.component.mjs +95 -0
  36. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-month/bmb-calendar-template-month.component.mjs +45 -0
  37. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-week/bmb-calendar-template-week.component.mjs +54 -0
  38. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-time-indicator/bmb-calendar-time-indicator.component.mjs +24 -0
  39. package/esm2022/lib/components/bmb-calendar/types.mjs +2 -0
  40. package/esm2022/lib/components/bmb-calendar/utils.mjs +96 -0
  41. package/esm2022/lib/components/bmb-card/bmb-card.component.mjs +154 -0
  42. package/esm2022/lib/components/bmb-card-button/bmb-card-button.component.mjs +76 -0
  43. package/esm2022/lib/components/bmb-carousel/bmb-carousel.component.mjs +80 -0
  44. package/esm2022/lib/components/bmb-chat-bar/bmb-chat-bar.component.mjs +175 -0
  45. package/esm2022/lib/components/bmb-chat-bar/bot_list.mjs +57 -0
  46. package/esm2022/lib/components/bmb-chat-bar/types.mjs +2 -0
  47. package/esm2022/lib/components/bmb-chat-bubbles/bmb-chat-bubbles.component.mjs +56 -0
  48. package/esm2022/lib/components/bmb-chat-bubbles/types.mjs +2 -0
  49. package/esm2022/lib/components/bmb-check-external-link-button/bmb-check-external-link-button.component.mjs +46 -0
  50. package/esm2022/lib/components/bmb-checkbox/bmb-checkbox.component.mjs +80 -0
  51. package/esm2022/lib/components/bmb-chevron-title-selector/bmb-chevron-title-selector.component.mjs +36 -0
  52. package/esm2022/lib/components/bmb-container/bmb-container.component.mjs +27 -0
  53. package/esm2022/lib/components/bmb-container-button/bmb-container-button.component.mjs +83 -0
  54. package/esm2022/lib/components/bmb-date-range/bmb-date-range.component.mjs +69 -0
  55. package/esm2022/lib/components/bmb-datepicker/bmb-datepicker-modal/bmb-datepicker-modal.component.mjs +211 -0
  56. package/esm2022/lib/components/bmb-datepicker/bmb-datepicker.component.mjs +123 -0
  57. package/esm2022/lib/components/bmb-digital-id/bmb-digital-id.component.mjs +54 -0
  58. package/esm2022/lib/components/bmb-divider/bmb-divider.component.mjs +25 -0
  59. package/esm2022/lib/components/bmb-dot-paginator/bmb-dot-paginator.component.mjs +34 -0
  60. package/esm2022/lib/components/bmb-drawer-overlay/bmb-drawer-overlay.component.mjs +54 -0
  61. package/esm2022/lib/components/bmb-dropdown/bmb-dropdown.component.mjs +200 -0
  62. package/esm2022/lib/components/bmb-dropdown-menu/bmb-dropdown-menu.component.mjs +28 -0
  63. package/esm2022/lib/components/bmb-dropzone/bmb-dropzone.component.mjs +175 -0
  64. package/esm2022/lib/components/bmb-evaluation-rubric/bmb-evaluation-rubric.component.mjs +76 -0
  65. package/esm2022/lib/components/bmb-external-link/bmb-external-link.component.mjs +78 -0
  66. package/esm2022/lib/components/bmb-fab/bmb-fab-.interface.mjs +9 -0
  67. package/esm2022/lib/components/bmb-fab/bmb-fab.component.mjs +37 -0
  68. package/esm2022/lib/components/bmb-filter-card/bmb-filter-card.component.mjs +154 -0
  69. package/esm2022/lib/components/bmb-filter-card/bmb-filter-card.interface.mjs +2 -0
  70. package/esm2022/lib/components/bmb-focus-element/bmb-focus-element.component.mjs +36 -0
  71. package/esm2022/lib/components/bmb-form-validation/bmb-form-validation.component.mjs +159 -0
  72. package/esm2022/lib/components/bmb-form-validator/bmb-form-validator.component.mjs +159 -0
  73. package/esm2022/lib/components/bmb-frequent-apps-selector/bmb-frequent-apps-selector.component.mjs +29 -0
  74. package/esm2022/lib/components/bmb-grade-value/bmb-grade-value.component.mjs +22 -0
  75. package/esm2022/lib/components/bmb-grades/bmb-grades.component.mjs +181 -0
  76. package/esm2022/lib/components/bmb-grades/types.mjs +2 -0
  77. package/esm2022/lib/components/bmb-header-mitec/bmb-header-mitec.component.mjs +55 -0
  78. package/esm2022/lib/components/bmb-header-mobile/bmb-header-mobile.component.mjs +49 -0
  79. package/esm2022/lib/components/bmb-hito-card/bmb-hito-card.component.mjs +77 -0
  80. package/esm2022/lib/components/bmb-hito-list/bmb-hito-list.component.mjs +59 -0
  81. package/esm2022/lib/components/bmb-home-card/bmb-home-card-header/bmb-home-card-header.component.mjs +76 -0
  82. package/esm2022/lib/components/bmb-home-card/bmb-home-card.component.mjs +41 -0
  83. package/esm2022/lib/components/bmb-home-card-chat/bmb-home-card-chat.component.mjs +39 -0
  84. package/esm2022/lib/components/bmb-home-section/bmb-home-section.component.mjs +20 -0
  85. package/esm2022/lib/components/bmb-icon/bmb-icon.component.mjs +49 -0
  86. package/esm2022/lib/components/bmb-icon/types.mjs +2 -0
  87. package/esm2022/lib/components/bmb-icon-item/bmb-icon-item.component.mjs +23 -0
  88. package/esm2022/lib/components/bmb-icon-status/bmb-icon-status.component.mjs +24 -0
  89. package/esm2022/lib/components/bmb-iframe/bmb-iframe.component.mjs +19 -0
  90. package/esm2022/lib/components/bmb-iframe/bmb-iframe.pipe.mjs +21 -0
  91. package/esm2022/lib/components/bmb-image/bmb-image.component.mjs +33 -0
  92. package/esm2022/lib/components/bmb-inner-header/bmb-inner-header.component.mjs +77 -0
  93. package/esm2022/lib/components/bmb-input/bmb-input-content/bmb-input-content.component.mjs +147 -0
  94. package/esm2022/lib/components/bmb-input/bmb-input-validation/bmb-input-validation.component.mjs +162 -0
  95. package/esm2022/lib/components/bmb-input/bmb-input-validation/bmb-input-validation.service.mjs +116 -0
  96. package/esm2022/lib/components/bmb-input/bmb-input-validator/bmb-input-validator.component.mjs +178 -0
  97. package/esm2022/lib/components/bmb-input/bmb-input.component.mjs +85 -0
  98. package/esm2022/lib/components/bmb-input-phone-number/bmb-input-phone-number.component.mjs +219 -0
  99. package/esm2022/lib/components/bmb-input-tags/bmb-input-tags.component.mjs +191 -0
  100. package/esm2022/lib/components/bmb-interactive-icon/bmb-interactive-icon.component.mjs +54 -0
  101. package/esm2022/lib/components/bmb-invoice/bmb-invoice.component.mjs +34 -0
  102. package/esm2022/lib/components/bmb-item/bmb-item.component.mjs +28 -0
  103. package/esm2022/lib/components/bmb-legend/bmb-legend.component.mjs +23 -0
  104. package/esm2022/lib/components/bmb-list-group/bmb-list-group-item/bmb-list-group-item.component.mjs +83 -0
  105. package/esm2022/lib/components/bmb-list-group/bmb-list-group.component.mjs +60 -0
  106. package/esm2022/lib/components/bmb-list-group/bmb-list-group.service.mjs +55 -0
  107. package/esm2022/lib/components/bmb-list-group/types.mjs +2 -0
  108. package/esm2022/lib/components/bmb-list-items/bmb-list-items.component.mjs +83 -0
  109. package/esm2022/lib/components/bmb-loader/bmb-loader.component.mjs +77 -0
  110. package/esm2022/lib/components/bmb-login/bmb-login-content/bmb-login-content.component.mjs +55 -0
  111. package/esm2022/lib/components/bmb-login/bmb-login.component.mjs +66 -0
  112. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-logged/bmb-login-onboarding-logged.component.mjs +40 -0
  113. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-login/bmb-login-onboarding-login.component.mjs +20 -0
  114. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-logout/bmb-login-onboarding-logout.component.mjs +33 -0
  115. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-four.component.mjs +87 -0
  116. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-one.component.mjs +88 -0
  117. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-three.component.mjs +57 -0
  118. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-two.component.mjs +99 -0
  119. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step.component.mjs +39 -0
  120. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper.component.mjs +44 -0
  121. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding.component.mjs +52 -0
  122. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding.service.mjs +70 -0
  123. package/esm2022/lib/components/bmb-login-onboarding/types.mjs +2 -0
  124. package/esm2022/lib/components/bmb-logo/bmb-logo.component.mjs +43 -0
  125. package/esm2022/lib/components/bmb-media-card/bmb-media-card.component.mjs +64 -0
  126. package/esm2022/lib/components/bmb-mitec-logo-animation/bmb-mitec-logo-animation.component.mjs +14 -0
  127. package/esm2022/lib/components/bmb-mobile-templates/bmb-mobile-templates.component.mjs +88 -0
  128. package/esm2022/lib/components/bmb-modal/bmb-modal.component.mjs +139 -0
  129. package/esm2022/lib/components/bmb-modal/bmb-modal.interface.mjs +2 -0
  130. package/esm2022/lib/components/bmb-modal/bmb-native-modal.component.mjs +84 -0
  131. package/esm2022/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator-item/bmb-multi-dot-paginator-item.component.mjs +15 -0
  132. package/esm2022/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator.component.mjs +59 -0
  133. package/esm2022/lib/components/bmb-navigation-bar/bmb-navigation-bar.component.mjs +30 -0
  134. package/esm2022/lib/components/bmb-notice-card/bmb-notice-card.component.mjs +43 -0
  135. package/esm2022/lib/components/bmb-notification-card/bmb-notification-card.component.mjs +86 -0
  136. package/esm2022/lib/components/bmb-overlay/bmb-overlay.component.mjs +22 -0
  137. package/esm2022/lib/components/bmb-paginator/bmb-paginator.component.mjs +52 -0
  138. package/esm2022/lib/components/bmb-portal/bmb-portal.component.mjs +52 -0
  139. package/esm2022/lib/components/bmb-profile/bmb-profile.component.mjs +153 -0
  140. package/esm2022/lib/components/bmb-progress-bar/bmb-progress-bar.component.mjs +39 -0
  141. package/esm2022/lib/components/bmb-progress-cirlce/bmb-progress-circle.component.mjs +196 -0
  142. package/esm2022/lib/components/bmb-progress-cirlce/bmb-progress-circle.interface.mjs +2 -0
  143. package/esm2022/lib/components/bmb-pull-wedge/bmb-pull-wedge.component.mjs +88 -0
  144. package/esm2022/lib/components/bmb-push-notification/bmb-push-notification-item/bmb-push-notification-item.component.mjs +75 -0
  145. package/esm2022/lib/components/bmb-push-notification/bmb-push-notification.component.mjs +24 -0
  146. package/esm2022/lib/components/bmb-push-notification/types.mjs +2 -0
  147. package/esm2022/lib/components/bmb-radial/bmb-radial.component.mjs +78 -0
  148. package/esm2022/lib/components/bmb-search-input/bmb-search-input.component.mjs +117 -0
  149. package/esm2022/lib/components/bmb-select/bmb-select-item/bmb-select-item.component.mjs +16 -0
  150. package/esm2022/lib/components/bmb-select/bmb-select.component.mjs +55 -0
  151. package/esm2022/lib/components/bmb-server-table/bmb-server-table.component.mjs +82 -0
  152. package/esm2022/lib/components/bmb-sidebar/bmb-sidebar.component.mjs +103 -0
  153. package/esm2022/lib/components/bmb-sidebar/bmb-sidebar.interface.mjs +2 -0
  154. package/esm2022/lib/components/bmb-simple-header/bmb-simple-header.component.mjs +64 -0
  155. package/esm2022/lib/components/bmb-skeleton/bmb-skeleton.component.mjs +16 -0
  156. package/esm2022/lib/components/bmb-sounds-card/bmb-sounds-card.component.mjs +64 -0
  157. package/esm2022/lib/components/bmb-stat-counter/bmb-stat-counter.component.mjs +32 -0
  158. package/esm2022/lib/components/bmb-step-progress-bar/bmb-step-progress-bar.component.mjs +53 -0
  159. package/esm2022/lib/components/bmb-student-activity-card/bmb-student-activity-card.component.mjs +53 -0
  160. package/esm2022/lib/components/bmb-student-activity-selector/bmb-student-activity-tab/bmb-student-activity-tab.component.mjs +27 -0
  161. package/esm2022/lib/components/bmb-switch/bmb-switch.component.mjs +88 -0
  162. package/esm2022/lib/components/bmb-tables/bmb-tables.component.mjs +545 -0
  163. package/esm2022/lib/components/bmb-tables/bmb-tables.interface.mjs +2 -0
  164. package/esm2022/lib/components/bmb-tabs/bmb-tabs.component.mjs +127 -0
  165. package/esm2022/lib/components/bmb-tags/bmb-tags.component.mjs +65 -0
  166. package/esm2022/lib/components/bmb-text-editor/bmb-text-editor.component.mjs +135 -0
  167. package/esm2022/lib/components/bmb-text-link/bmb-text-link.component.mjs +43 -0
  168. package/esm2022/lib/components/bmb-theme/bmb-theme.component.mjs +65 -0
  169. package/esm2022/lib/components/bmb-three-cols/bmb-three-cols.component.mjs +30 -0
  170. package/esm2022/lib/components/bmb-timestream/bmb-timestream-detail/bmb-timestream-detail.component.mjs +74 -0
  171. package/esm2022/lib/components/bmb-timestream/bmb-timestream-error/bmb-timestream-error.component.mjs +13 -0
  172. package/esm2022/lib/components/bmb-timestream/bmb-timestream.component.mjs +238 -0
  173. package/esm2022/lib/components/bmb-timestream/types.mjs +2 -0
  174. package/esm2022/lib/components/bmb-timestream-card/bmb-timestream-card.component.mjs +139 -0
  175. package/esm2022/lib/components/bmb-title-content/bmb-title-content.component.mjs +61 -0
  176. package/esm2022/lib/components/bmb-toast/bmb-toast.component.mjs +47 -0
  177. package/esm2022/lib/components/bmb-tooltip/bmb-tooltip.component.mjs +26 -0
  178. package/esm2022/lib/components/bmb-top-bar/bmb-top-bar-item/bmb-top-bar-item.component.mjs +31 -0
  179. package/esm2022/lib/components/bmb-top-bar/bmb-top-bar-user-section/bmb-top-bar-user-section.component.mjs +70 -0
  180. package/esm2022/lib/components/bmb-top-bar/bmb-top-bar.component.mjs +122 -0
  181. package/esm2022/lib/components/bmb-top-bar/types.mjs +2 -0
  182. package/esm2022/lib/components/bmb-totp/bmb-totp.component.mjs +138 -0
  183. package/esm2022/lib/components/bmb-user-image/bmb-user-image.component.mjs +44 -0
  184. package/esm2022/lib/components/bmb-user-profile/bmb-user-profile-content/bmb-user-profile-content.component.mjs +19 -0
  185. package/esm2022/lib/components/bmb-user-profile/bmb-user-profile.component.mjs +71 -0
  186. package/esm2022/lib/components/bmb-user-summary/bmb-user-summary-content/bmb-user-summary-content.component.mjs +51 -0
  187. package/esm2022/lib/components/bmb-user-summary/bmb-user-summary.component.mjs +28 -0
  188. package/esm2022/lib/components/bmb-value-counter/bmb-value-counter.component.mjs +23 -0
  189. package/esm2022/lib/components/bmb-web-templates/bmb-web-templates.component.mjs +85 -0
  190. package/esm2022/lib/components/bmb-wheel-menu/bmb-wheel-menu.component.mjs +128 -0
  191. package/esm2022/lib/components/utils/bmb-dropdown-content/bmb-dropdown-content.component.mjs +55 -0
  192. package/esm2022/lib/directives/bmb-accordion/bmb-accordion-control.directive.mjs +88 -0
  193. package/esm2022/lib/directives/bmb-button/button.directive.mjs +84 -0
  194. package/esm2022/lib/directives/bmb-button-group/bmb-button-group.directive.mjs +29 -0
  195. package/esm2022/lib/directives/bmb-layout/bmb-layout-item.directive.mjs +51 -0
  196. package/esm2022/lib/directives/bmb-layout/bmb-layout.directive.mjs +36 -0
  197. package/esm2022/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout-item.directive.mjs +34 -0
  198. package/esm2022/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout.directive.mjs +37 -0
  199. package/esm2022/lib/directives/bmb-layout-grid/bmb-layout-grid.directive.mjs +89 -0
  200. package/esm2022/lib/directives/utils/clickoutside.directive.mjs +41 -0
  201. package/esm2022/lib/ds-ng.component.mjs +11 -0
  202. package/esm2022/lib/ds-ng.service.mjs +14 -0
  203. package/esm2022/lib/services/calendar.service.mjs +51 -0
  204. package/esm2022/lib/services/index.mjs +3 -0
  205. package/esm2022/lib/services/native-modal.service.mjs +69 -0
  206. package/esm2022/lib/services/notification.service.mjs +77 -0
  207. package/esm2022/lib/services/tabs.service.mjs +30 -0
  208. package/esm2022/lib/services/theme.service.mjs +30 -0
  209. package/esm2022/lib/services/toast.service.mjs +24 -0
  210. package/esm2022/lib/services/user/profile.service.mjs +26 -0
  211. package/esm2022/lib/types/colors.mjs +2 -0
  212. package/esm2022/lib/types/index.mjs +11 -0
  213. package/esm2022/lib/utils/countryCodes.mjs +1089 -0
  214. package/esm2022/lib/utils/currencyFormat.mjs +7 -0
  215. package/esm2022/lib/utils/dropdown.mjs +85 -0
  216. package/esm2022/lib/utils/formControl.mjs +25 -0
  217. package/esm2022/lib/utils/timestreamFilters.mjs +32 -0
  218. package/esm2022/lib/utils/utils.mjs +66 -0
  219. package/esm2022/public-api.mjs +151 -0
  220. package/esm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs +5 -0
  221. package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs +3710 -3143
  222. package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs.map +1 -1
  223. package/index.d.ts +5 -3573
  224. package/lib/components/bmb-academic-progress/bmb-academic-progress.component.d.ts +21 -0
  225. package/lib/components/bmb-accordion/bmb-accordion.component.d.ts +37 -0
  226. package/lib/components/bmb-account-statement/bmb-account-statement.component.d.ts +54 -0
  227. package/lib/components/bmb-action-icon/bmb-action-icon.component.d.ts +23 -0
  228. package/lib/components/bmb-action-menu/bmb-action-menu.component.d.ts +17 -0
  229. package/lib/components/bmb-advertisement-card/bmb-advertisement-card.component.d.ts +13 -0
  230. package/lib/components/bmb-advertisement-card/types.d.ts +21 -0
  231. package/lib/components/bmb-alert-center/bmb-alert-center-ads/bmb-alert-center-ads.component.d.ts +10 -0
  232. package/lib/components/bmb-alert-center/bmb-alert-center-empty/bmb-alert-center-empty.component.d.ts +7 -0
  233. package/lib/components/bmb-alert-center/bmb-alert-center-form/bmb-alert-center-form.component.d.ts +31 -0
  234. package/lib/components/bmb-alert-center/bmb-alert-center-list/bmb-alert-center-list.component.d.ts +20 -0
  235. package/lib/components/bmb-alert-center/bmb-alert-center.component.d.ts +46 -0
  236. package/lib/components/bmb-alert-center/bmb-alert-center.service.d.ts +20 -0
  237. package/lib/components/bmb-alert-center/types.d.ts +64 -0
  238. package/lib/components/bmb-badge/bmb-badge.component.d.ts +11 -0
  239. package/lib/components/bmb-balance-overview/bmb-balance-overview.component.d.ts +15 -0
  240. package/lib/components/bmb-bookmark/bmb-bookmark.component.d.ts +8 -0
  241. package/lib/components/bmb-bottom-navigation-bar/bmb-bottom-navigation-bar.component.d.ts +25 -0
  242. package/lib/components/bmb-breadcrumb/bmb-breadcrumb.component.d.ts +27 -0
  243. package/lib/components/bmb-button-icon/bmb-button-icon.component.d.ts +16 -0
  244. package/lib/components/bmb-calendar/bmb-calendar.component.d.ts +65 -0
  245. package/lib/components/bmb-calendar/common/bmb-calendar-header/bmb-calendar-header.component.d.ts +20 -0
  246. package/lib/components/bmb-calendar/common/bmb-calendar-hour-view/bmb-calendar-hour-view.component.d.ts +13 -0
  247. package/lib/components/bmb-calendar/common/bmb-calendar-schedule-cards/bmb-calendar-schedule-cards.component.d.ts +16 -0
  248. package/lib/components/bmb-calendar/common/bmb-calendar-template-day/bmb-calendar-template-day.component.d.ts +18 -0
  249. package/lib/components/bmb-calendar/common/bmb-calendar-template-event-list/bmb-calendar-template-event-list.component.d.ts +17 -0
  250. package/lib/components/bmb-calendar/common/bmb-calendar-template-mobile/bmb-calendar-template-mobile.component.d.ts +31 -0
  251. package/lib/components/bmb-calendar/common/bmb-calendar-template-month/bmb-calendar-template-month.component.d.ts +18 -0
  252. package/lib/components/bmb-calendar/common/bmb-calendar-template-week/bmb-calendar-template-week.component.d.ts +23 -0
  253. package/lib/components/bmb-calendar/common/bmb-calendar-time-indicator/bmb-calendar-time-indicator.component.d.ts +9 -0
  254. package/lib/components/bmb-calendar/types.d.ts +43 -0
  255. package/lib/components/bmb-calendar/utils.d.ts +12 -0
  256. package/lib/components/bmb-card/bmb-card.component.d.ts +42 -0
  257. package/lib/components/bmb-card-button/bmb-card-button.component.d.ts +50 -0
  258. package/lib/components/bmb-carousel/bmb-carousel.component.d.ts +20 -0
  259. package/lib/components/bmb-chat-bar/bmb-chat-bar.component.d.ts +62 -0
  260. package/lib/components/bmb-chat-bar/bot_list.d.ts +6 -0
  261. package/lib/components/bmb-chat-bar/types.d.ts +9 -0
  262. package/lib/components/bmb-chat-bubbles/bmb-chat-bubbles.component.d.ts +23 -0
  263. package/lib/components/bmb-chat-bubbles/types.d.ts +23 -0
  264. package/lib/components/bmb-check-external-link-button/bmb-check-external-link-button.component.d.ts +21 -0
  265. package/lib/components/bmb-checkbox/bmb-checkbox.component.d.ts +33 -0
  266. package/lib/components/bmb-chevron-title-selector/bmb-chevron-title-selector.component.d.ts +17 -0
  267. package/lib/components/bmb-container/bmb-container.component.d.ts +9 -0
  268. package/lib/components/bmb-container-button/bmb-container-button.component.d.ts +30 -0
  269. package/lib/components/bmb-date-range/bmb-date-range.component.d.ts +35 -0
  270. package/lib/components/bmb-datepicker/bmb-datepicker-modal/bmb-datepicker-modal.component.d.ts +40 -0
  271. package/lib/components/bmb-datepicker/bmb-datepicker.component.d.ts +44 -0
  272. package/lib/components/bmb-digital-id/bmb-digital-id.component.d.ts +26 -0
  273. package/lib/components/bmb-divider/bmb-divider.component.d.ts +8 -0
  274. package/lib/components/bmb-dot-paginator/bmb-dot-paginator.component.d.ts +17 -0
  275. package/lib/components/bmb-drawer-overlay/bmb-drawer-overlay.component.d.ts +24 -0
  276. package/lib/components/bmb-dropdown/bmb-dropdown.component.d.ts +61 -0
  277. package/lib/components/bmb-dropdown-menu/bmb-dropdown-menu.component.d.ts +10 -0
  278. package/lib/components/bmb-dropzone/bmb-dropzone.component.d.ts +49 -0
  279. package/lib/components/bmb-evaluation-rubric/bmb-evaluation-rubric.component.d.ts +45 -0
  280. package/lib/components/bmb-external-link/bmb-external-link.component.d.ts +22 -0
  281. package/lib/components/bmb-fab/bmb-fab-.interface.d.ts +10 -0
  282. package/lib/components/bmb-fab/bmb-fab.component.d.ts +15 -0
  283. package/lib/components/bmb-filter-card/bmb-filter-card.component.d.ts +33 -0
  284. package/lib/components/bmb-filter-card/bmb-filter-card.interface.d.ts +10 -0
  285. package/lib/components/bmb-focus-element/bmb-focus-element.component.d.ts +14 -0
  286. package/lib/components/bmb-form-validation/bmb-form-validation.component.d.ts +34 -0
  287. package/lib/components/bmb-form-validator/bmb-form-validator.component.d.ts +34 -0
  288. package/lib/components/bmb-frequent-apps-selector/bmb-frequent-apps-selector.component.d.ts +13 -0
  289. package/lib/components/bmb-grade-value/bmb-grade-value.component.d.ts +11 -0
  290. package/lib/components/bmb-grades/bmb-grades.component.d.ts +43 -0
  291. package/lib/components/bmb-grades/types.d.ts +25 -0
  292. package/lib/components/bmb-header-mitec/bmb-header-mitec.component.d.ts +17 -0
  293. package/lib/components/bmb-header-mobile/bmb-header-mobile.component.d.ts +23 -0
  294. package/lib/components/bmb-hito-card/bmb-hito-card.component.d.ts +23 -0
  295. package/lib/components/bmb-hito-list/bmb-hito-list.component.d.ts +24 -0
  296. package/lib/components/bmb-home-card/bmb-home-card-header/bmb-home-card-header.component.d.ts +28 -0
  297. package/lib/components/bmb-home-card/bmb-home-card.component.d.ts +27 -0
  298. package/lib/components/bmb-home-card-chat/bmb-home-card-chat.component.d.ts +25 -0
  299. package/lib/components/bmb-home-section/bmb-home-section.component.d.ts +9 -0
  300. package/lib/components/bmb-icon/bmb-icon.component.d.ts +23 -0
  301. package/lib/components/bmb-icon/types.d.ts +1 -0
  302. package/lib/components/bmb-icon-item/bmb-icon-item.component.d.ts +13 -0
  303. package/lib/components/bmb-icon-status/bmb-icon-status.component.d.ts +10 -0
  304. package/lib/components/bmb-iframe/bmb-iframe.component.d.ts +11 -0
  305. package/lib/components/bmb-iframe/bmb-iframe.pipe.d.ts +10 -0
  306. package/lib/components/bmb-image/bmb-image.component.d.ts +19 -0
  307. package/lib/components/bmb-inner-header/bmb-inner-header.component.d.ts +29 -0
  308. package/lib/components/bmb-input/bmb-input-content/bmb-input-content.component.d.ts +53 -0
  309. package/lib/components/bmb-input/bmb-input-validation/bmb-input-validation.component.d.ts +46 -0
  310. package/lib/components/bmb-input/bmb-input-validation/bmb-input-validation.service.d.ts +16 -0
  311. package/lib/components/bmb-input/bmb-input-validator/bmb-input-validator.component.d.ts +45 -0
  312. package/lib/components/bmb-input/bmb-input.component.d.ts +68 -0
  313. package/lib/components/bmb-input-phone-number/bmb-input-phone-number.component.d.ts +52 -0
  314. package/lib/components/bmb-input-tags/bmb-input-tags.component.d.ts +55 -0
  315. package/lib/components/bmb-interactive-icon/bmb-interactive-icon.component.d.ts +23 -0
  316. package/lib/components/bmb-invoice/bmb-invoice.component.d.ts +31 -0
  317. package/lib/components/bmb-item/bmb-item.component.d.ts +16 -0
  318. package/lib/components/bmb-legend/bmb-legend.component.d.ts +9 -0
  319. package/lib/components/bmb-list-group/bmb-list-group-item/bmb-list-group-item.component.d.ts +33 -0
  320. package/lib/components/bmb-list-group/bmb-list-group.component.d.ts +27 -0
  321. package/lib/components/bmb-list-group/bmb-list-group.service.d.ts +18 -0
  322. package/lib/components/bmb-list-group/types.d.ts +1 -0
  323. package/lib/components/bmb-list-items/bmb-list-items.component.d.ts +33 -0
  324. package/lib/components/bmb-loader/bmb-loader.component.d.ts +31 -0
  325. package/lib/components/bmb-login/bmb-login-content/bmb-login-content.component.d.ts +27 -0
  326. package/lib/components/bmb-login/bmb-login.component.d.ts +33 -0
  327. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-logged/bmb-login-onboarding-logged.component.d.ts +14 -0
  328. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-login/bmb-login-onboarding-login.component.d.ts +8 -0
  329. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-logout/bmb-login-onboarding-logout.component.d.ts +12 -0
  330. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-four.component.d.ts +18 -0
  331. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-one.component.d.ts +17 -0
  332. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-three.component.d.ts +11 -0
  333. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-two.component.d.ts +19 -0
  334. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step.component.d.ts +19 -0
  335. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper.component.d.ts +15 -0
  336. package/lib/components/bmb-login-onboarding/bmb-login-onboarding.component.d.ts +20 -0
  337. package/lib/components/bmb-login-onboarding/bmb-login-onboarding.service.d.ts +25 -0
  338. package/lib/components/bmb-login-onboarding/types.d.ts +15 -0
  339. package/lib/components/bmb-logo/bmb-logo.component.d.ts +19 -0
  340. package/lib/components/bmb-media-card/bmb-media-card.component.d.ts +34 -0
  341. package/lib/components/bmb-mitec-logo-animation/bmb-mitec-logo-animation.component.d.ts +6 -0
  342. package/lib/components/bmb-mobile-templates/bmb-mobile-templates.component.d.ts +47 -0
  343. package/lib/components/bmb-modal/bmb-modal.component.d.ts +31 -0
  344. package/lib/components/bmb-modal/bmb-modal.interface.d.ts +37 -0
  345. package/lib/components/bmb-modal/bmb-native-modal.component.d.ts +37 -0
  346. package/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator-item/bmb-multi-dot-paginator-item.component.d.ts +7 -0
  347. package/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator.component.d.ts +15 -0
  348. package/lib/components/bmb-navigation-bar/bmb-navigation-bar.component.d.ts +13 -0
  349. package/lib/components/bmb-notice-card/bmb-notice-card.component.d.ts +21 -0
  350. package/lib/components/bmb-notification-card/bmb-notification-card.component.d.ts +27 -0
  351. package/lib/components/bmb-overlay/bmb-overlay.component.d.ts +9 -0
  352. package/lib/components/bmb-paginator/bmb-paginator.component.d.ts +14 -0
  353. package/lib/components/bmb-portal/bmb-portal.component.d.ts +18 -0
  354. package/lib/components/bmb-profile/bmb-profile.component.d.ts +34 -0
  355. package/lib/components/bmb-progress-bar/bmb-progress-bar.component.d.ts +19 -0
  356. package/lib/components/bmb-progress-cirlce/bmb-progress-circle.component.d.ts +51 -0
  357. package/lib/components/bmb-progress-cirlce/bmb-progress-circle.interface.d.ts +12 -0
  358. package/lib/components/bmb-pull-wedge/bmb-pull-wedge.component.d.ts +23 -0
  359. package/lib/components/bmb-push-notification/bmb-push-notification-item/bmb-push-notification-item.component.d.ts +18 -0
  360. package/lib/components/bmb-push-notification/bmb-push-notification.component.d.ts +11 -0
  361. package/lib/components/bmb-push-notification/types.d.ts +46 -0
  362. package/lib/components/bmb-radial/bmb-radial.component.d.ts +33 -0
  363. package/lib/components/bmb-search-input/bmb-search-input.component.d.ts +33 -0
  364. package/lib/components/bmb-select/bmb-select-item/bmb-select-item.component.d.ts +6 -0
  365. package/lib/components/bmb-select/bmb-select.component.d.ts +17 -0
  366. package/lib/components/bmb-server-table/bmb-server-table.component.d.ts +26 -0
  367. package/lib/components/bmb-sidebar/bmb-sidebar.component.d.ts +27 -0
  368. package/lib/components/bmb-sidebar/bmb-sidebar.interface.d.ts +10 -0
  369. package/lib/components/bmb-simple-header/bmb-simple-header.component.d.ts +10 -0
  370. package/lib/components/bmb-skeleton/bmb-skeleton.component.d.ts +7 -0
  371. package/lib/components/bmb-sounds-card/bmb-sounds-card.component.d.ts +24 -0
  372. package/lib/components/bmb-stat-counter/bmb-stat-counter.component.d.ts +11 -0
  373. package/lib/components/bmb-step-progress-bar/bmb-step-progress-bar.component.d.ts +26 -0
  374. package/lib/components/bmb-student-activity-card/bmb-student-activity-card.component.d.ts +23 -0
  375. package/lib/components/bmb-student-activity-selector/bmb-student-activity-tab/bmb-student-activity-tab.component.d.ts +10 -0
  376. package/lib/components/bmb-switch/bmb-switch.component.d.ts +25 -0
  377. package/lib/components/bmb-tables/bmb-tables.component.d.ts +104 -0
  378. package/lib/components/bmb-tables/bmb-tables.interface.d.ts +21 -0
  379. package/lib/components/bmb-tabs/bmb-tabs.component.d.ts +41 -0
  380. package/lib/components/bmb-tags/bmb-tags.component.d.ts +25 -0
  381. package/lib/components/bmb-text-editor/bmb-text-editor.component.d.ts +34 -0
  382. package/lib/components/bmb-text-link/bmb-text-link.component.d.ts +17 -0
  383. package/lib/components/bmb-theme/bmb-theme.component.d.ts +19 -0
  384. package/lib/components/bmb-three-cols/bmb-three-cols.component.d.ts +15 -0
  385. package/lib/components/bmb-timestream/bmb-timestream-detail/bmb-timestream-detail.component.d.ts +25 -0
  386. package/lib/components/bmb-timestream/bmb-timestream-error/bmb-timestream-error.component.d.ts +5 -0
  387. package/lib/components/bmb-timestream/bmb-timestream.component.d.ts +67 -0
  388. package/lib/components/bmb-timestream/types.d.ts +54 -0
  389. package/lib/components/bmb-timestream-card/bmb-timestream-card.component.d.ts +29 -0
  390. package/lib/components/bmb-title-content/bmb-title-content.component.d.ts +26 -0
  391. package/lib/components/bmb-toast/bmb-toast.component.d.ts +16 -0
  392. package/lib/components/bmb-tooltip/bmb-tooltip.component.d.ts +15 -0
  393. package/lib/components/bmb-top-bar/bmb-top-bar-item/bmb-top-bar-item.component.d.ts +7 -0
  394. package/lib/components/bmb-top-bar/bmb-top-bar-user-section/bmb-top-bar-user-section.component.d.ts +30 -0
  395. package/lib/components/bmb-top-bar/bmb-top-bar.component.d.ts +45 -0
  396. package/lib/components/bmb-top-bar/types.d.ts +6 -0
  397. package/lib/components/bmb-totp/bmb-totp.component.d.ts +30 -0
  398. package/lib/components/bmb-user-image/bmb-user-image.component.d.ts +19 -0
  399. package/lib/components/bmb-user-profile/bmb-user-profile-content/bmb-user-profile-content.component.d.ts +10 -0
  400. package/lib/components/bmb-user-profile/bmb-user-profile.component.d.ts +19 -0
  401. package/lib/components/bmb-user-summary/bmb-user-summary-content/bmb-user-summary-content.component.d.ts +24 -0
  402. package/lib/components/bmb-user-summary/bmb-user-summary.component.d.ts +14 -0
  403. package/lib/components/bmb-value-counter/bmb-value-counter.component.d.ts +8 -0
  404. package/lib/components/bmb-web-templates/bmb-web-templates.component.d.ts +42 -0
  405. package/lib/components/bmb-wheel-menu/bmb-wheel-menu.component.d.ts +40 -0
  406. package/lib/components/utils/bmb-dropdown-content/bmb-dropdown-content.component.d.ts +16 -0
  407. package/lib/directives/bmb-accordion/bmb-accordion-control.directive.d.ts +22 -0
  408. package/lib/directives/bmb-button/button.directive.d.ts +29 -0
  409. package/lib/directives/bmb-button-group/bmb-button-group.directive.d.ts +10 -0
  410. package/lib/directives/bmb-layout/bmb-layout-item.directive.d.ts +20 -0
  411. package/lib/directives/bmb-layout/bmb-layout.directive.d.ts +15 -0
  412. package/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout-item.directive.d.ts +9 -0
  413. package/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout.directive.d.ts +14 -0
  414. package/lib/directives/bmb-layout-grid/bmb-layout-grid.directive.d.ts +29 -0
  415. package/lib/directives/utils/clickoutside.directive.d.ts +15 -0
  416. package/lib/ds-ng.component.d.ts +5 -0
  417. package/lib/ds-ng.service.d.ts +6 -0
  418. package/lib/services/calendar.service.d.ts +15 -0
  419. package/lib/services/index.d.ts +2 -0
  420. package/lib/services/native-modal.service.d.ts +18 -0
  421. package/lib/services/notification.service.d.ts +20 -0
  422. package/lib/services/tabs.service.d.ts +13 -0
  423. package/lib/services/theme.service.d.ts +11 -0
  424. package/lib/services/toast.service.d.ts +9 -0
  425. package/lib/services/user/profile.service.d.ts +9 -0
  426. package/lib/types/colors.d.ts +2 -0
  427. package/lib/types/index.d.ts +127 -0
  428. package/lib/utils/countryCodes.d.ts +7 -0
  429. package/lib/utils/currencyFormat.d.ts +1 -0
  430. package/lib/utils/dropdown.d.ts +6 -0
  431. package/lib/utils/formControl.d.ts +7 -0
  432. package/lib/utils/timestreamFilters.d.ts +2 -0
  433. package/lib/utils/utils.d.ts +12 -0
  434. package/package.json +4 -2
  435. package/public-api.d.ts +142 -0
@@ -0,0 +1,238 @@
1
+ import { ChangeDetectionStrategy, Component, input, signal, TemplateRef, ViewChild, ViewEncapsulation, } from '@angular/core';
2
+ import { DateTime, Info } from 'luxon';
3
+ import { BmbTimestreamErrorComponent } from './bmb-timestream-error/bmb-timestream-error.component';
4
+ import { BmbHitoListComponent } from '../bmb-hito-list/bmb-hito-list.component';
5
+ import { BmbTimestreamDetailsComponent } from './bmb-timestream-detail/bmb-timestream-detail.component';
6
+ import { CommonModule } from '@angular/common';
7
+ import { BmbModalComponent } from '../bmb-modal/bmb-modal.component';
8
+ import { BmbUserImageComponent } from '../bmb-user-image/bmb-user-image.component';
9
+ import { BmbTabsComponent } from '../bmb-tabs/bmb-tabs.component';
10
+ import { BmbButtonDirective } from '../../directives/bmb-button/button.directive';
11
+ import { BmbDividerComponent } from '../bmb-divider/bmb-divider.component';
12
+ import { BmbHitoCardComponent } from '../bmb-hito-card/bmb-hito-card.component';
13
+ import { BmbBadgeComponent } from '../bmb-badge/bmb-badge.component';
14
+ import * as i0 from "@angular/core";
15
+ import * as i1 from "@angular/material/dialog";
16
+ import * as i2 from "@angular/common";
17
+ export class BmbTimestreamComponent {
18
+ constructor(matDialog) {
19
+ this.matDialog = matDialog;
20
+ this.isMicro = input(false);
21
+ this.lang = input('es');
22
+ this.dateFormat = input('dd/MM/yyyy');
23
+ this.events = input([]);
24
+ this.clamp = input({ min: 100, max: '100dvh', size: '100%' });
25
+ // internal state
26
+ this.error = false;
27
+ this.now = DateTime.now();
28
+ this.start = null;
29
+ this.monthsNames = Info.months('long', { locale: this.lang() });
30
+ this.orderedEvents = signal([]);
31
+ this.selectedDate = {
32
+ day: '',
33
+ month: '',
34
+ date: this.now,
35
+ };
36
+ this.orderedMonths = [];
37
+ this.selectedEvent = null;
38
+ this.eventTabs = [
39
+ { id: 1, title: 'Descripción', isActive: true },
40
+ { id: 2, title: 'Instancias' },
41
+ ];
42
+ this.tabSelected = 1;
43
+ }
44
+ ngOnChanges(changes) {
45
+ this.parsedEvents = this.prepareEvents(changes['events'].currentValue);
46
+ this.orderedMonths = this.orderDates(this.parsedEvents, 'yyyy/MM');
47
+ this.selectedDate = this.selectAValidDate();
48
+ }
49
+ ngOnInit() {
50
+ this.parsedEvents = this.prepareEvents(this.events());
51
+ this.orderedMonths = this.orderDates(this.parsedEvents, 'yyyy/MM');
52
+ this.selectedDate = this.selectAValidDate();
53
+ }
54
+ ngAfterViewInit() {
55
+ if (this.modalTemplate) {
56
+ this.newModal = this.modalTemplate;
57
+ }
58
+ }
59
+ handleTabSelected(tab) {
60
+ this.tabSelected = tab.id;
61
+ }
62
+ prepareEvents(events) {
63
+ if (!events?.length) {
64
+ this.orderedEvents.set([]);
65
+ return {};
66
+ }
67
+ const objectEvent = {};
68
+ events.forEach((event) => {
69
+ const startDate = DateTime.fromFormat(event.start, this.dateFormat());
70
+ const endDate = DateTime.fromFormat(event.end, this.dateFormat());
71
+ const diff = endDate.diff(startDate, 'days').days + 1;
72
+ for (let index = 0; index < diff; index++) {
73
+ const currentDate = startDate.plus({ days: index });
74
+ const stringDate = currentDate.toFormat('yyyy/MM/dd');
75
+ const month = currentDate.toFormat('yyyy/MM');
76
+ objectEvent[month] ??= {
77
+ events: {},
78
+ name: this.monthsNames[currentDate.month - 1],
79
+ stringDate: month,
80
+ year: currentDate.year,
81
+ date: currentDate,
82
+ };
83
+ objectEvent[month].events[stringDate] ??= {
84
+ events: [],
85
+ date: currentDate,
86
+ stringDate,
87
+ selected: false,
88
+ };
89
+ objectEvent[month].events[stringDate].events.push({
90
+ ...event,
91
+ start: stringDate,
92
+ startEvent: currentDate,
93
+ endEvent: endDate,
94
+ selected: false,
95
+ diff: diff - 1,
96
+ originalStart: startDate,
97
+ });
98
+ }
99
+ });
100
+ const orderedEvents = this.orderDates(objectEvent, 'yyyy/MM');
101
+ if (orderedEvents.length) {
102
+ objectEvent['orderedEvents'] = orderedEvents;
103
+ objectEvent['orderedEvents'].forEach((date) => {
104
+ objectEvent[date]['orderedEvents'] = this.orderDates(objectEvent[date].events, 'yyyy/MM/dd');
105
+ });
106
+ this.orderedEvents.set(objectEvent['orderedEvents']
107
+ .map((month) => {
108
+ return objectEvent[month]['orderedEvents'].map((day) => objectEvent[month].events[day]);
109
+ })
110
+ .flat());
111
+ }
112
+ return objectEvent;
113
+ }
114
+ orderDates(events, format) {
115
+ const monthsList = Object.keys(events);
116
+ const monthsOrdered = monthsList.sort((dateA, dateB) => {
117
+ const parsedDateA = DateTime.fromFormat(dateA, format);
118
+ const parsedDateB = DateTime.fromFormat(dateB, format);
119
+ return parsedDateA.toMillis() - parsedDateB.toMillis();
120
+ });
121
+ return monthsOrdered;
122
+ }
123
+ selectAValidDate() {
124
+ if (!this.orderedMonths)
125
+ return {
126
+ month: this.now.month + '',
127
+ day: this.now.day + '',
128
+ date: this.now,
129
+ };
130
+ const month = this.orderedMonths.find((date) => {
131
+ if (date === 'orderedEvents')
132
+ return false;
133
+ const parsedDate = this.parsedEvents[date].date;
134
+ return (this.now.year <= parsedDate.year && this.now.month <= parsedDate.month);
135
+ }) ||
136
+ this.orderedMonths.at(-1) ||
137
+ '';
138
+ const orderedEvents = this.parsedEvents?.[month]?.orderedEvents;
139
+ const day = orderedEvents?.find((date) => {
140
+ const parsedDate = this.parsedEvents[month].events[date].date;
141
+ return (this.now.year <= parsedDate.year &&
142
+ this.now.month <= parsedDate.month &&
143
+ this.now.day <= parsedDate.day);
144
+ }) ||
145
+ orderedEvents?.at(-1) ||
146
+ '';
147
+ if (this.parsedEvents[month] && month !== 'orderedEvents') {
148
+ this.parsedEvents[month].selected = true;
149
+ this.parsedEvents[month].events[day].selected = true;
150
+ }
151
+ return {
152
+ month,
153
+ day,
154
+ date: this.parsedEvents?.[month]?.events?.[day]?.date,
155
+ };
156
+ }
157
+ handleSelectedDateChange({ month, day }) {
158
+ this.parsedEvents[this.selectedDate.month].selected = false;
159
+ this.parsedEvents[this.selectedDate.month].events[this.selectedDate.day].selected = false;
160
+ this.parsedEvents[month].selected = true;
161
+ this.parsedEvents[month].events[day].selected = true;
162
+ this.selectedDate = {
163
+ month,
164
+ day,
165
+ date: this.parsedEvents[month].events[day].date,
166
+ };
167
+ }
168
+ handleSelectedEventChange(event) {
169
+ this.selectedEvent = event;
170
+ const data = {
171
+ title: event.title,
172
+ content: this.newModal,
173
+ size: 'large',
174
+ hidePrimaryButton: true,
175
+ };
176
+ this.matDialog.open(BmbModalComponent, { data });
177
+ }
178
+ getMonthTitle(date) {
179
+ return date.setLocale(this.lang()).toFormat('cccc dd LLLL yyyy');
180
+ }
181
+ getInstances(event) {
182
+ const instances = [];
183
+ for (let index = 0; index < (event.diff || 0) + 1; index++) {
184
+ const date = event.originalStart.plus({ days: index });
185
+ instances.push(this.getMonthTitle(date));
186
+ }
187
+ return instances;
188
+ }
189
+ getDurationString(event) {
190
+ return `Duración: ${event.originalStart?.day} - ${event.endEvent?.setLocale(this.lang()).toFormat('dd LLLL yyyy')} (${(event.diff || 0) + 1} Días)`;
191
+ }
192
+ getDiffString(diff = 0) {
193
+ return diff + 1 > 1 ? `${diff + 1} Días` : `${diff + 1} Día`;
194
+ }
195
+ appearanceBadge(eventType) {
196
+ if (typeof eventType === 'string') {
197
+ switch (eventType) {
198
+ case 'active':
199
+ return 'mitec_blue';
200
+ case 'done':
201
+ return 'success';
202
+ case 'pending':
203
+ return 'normal';
204
+ case 'under_review':
205
+ return 'warning';
206
+ default:
207
+ return 'mitec_blue';
208
+ }
209
+ }
210
+ return eventType.type || 'normal';
211
+ }
212
+ getBadgeText(eventType) {
213
+ if (typeof eventType === 'string')
214
+ return eventType;
215
+ return eventType.text || '';
216
+ }
217
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbTimestreamComponent, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
218
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BmbTimestreamComponent, isStandalone: true, selector: "bmb-timestream", inputs: { isMicro: { classPropertyName: "isMicro", publicName: "isMicro", isSignal: true, isRequired: false, transformFunction: null }, lang: { classPropertyName: "lang", publicName: "lang", isSignal: true, isRequired: false, transformFunction: null }, dateFormat: { classPropertyName: "dateFormat", publicName: "dateFormat", isSignal: true, isRequired: false, transformFunction: null }, events: { classPropertyName: "events", publicName: "events", isSignal: true, isRequired: false, transformFunction: null }, clamp: { classPropertyName: "clamp", publicName: "clamp", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "modalTemplate", first: true, predicate: ["modalTemplate"], descendants: true, read: TemplateRef }], usesOnChanges: true, ngImport: i0, template: "<section\n class=\"bmb_timestream\"\n [ngClass]=\"{ 'bmb_timestream-micro': isMicro() }\"\n>\n @if (error) {\n <div class=\"bmb_timestream-error\">\n <bmb-timestream-error />\n </div>\n } @else {\n @if (!isMicro()) {\n <aside class=\"bmb_timestream-aside\">\n <bmb-hito-list\n [dateFormat]=\"dateFormat()\"\n [lang]=\"lang()\"\n [now]=\"now\"\n [events]=\"parsedEvents\"\n [selectedDate]=\"selectedDate\"\n [orderedMonths]=\"orderedMonths\"\n (changeSelectedDate)=\"handleSelectedDateChange($event)\"\n />\n </aside>\n }\n <section class=\"bmb_timestream-main\">\n <bmb-timestream-detail\n [lang]=\"lang()\"\n [now]=\"now\"\n [selectedDate]=\"selectedDate\"\n (changeSelectedEvent)=\"handleSelectedEventChange($event)\"\n [orderedEvents]=\"orderedEvents()\"\n [isMicro]=\"isMicro()\"\n />\n </section>\n }\n</section>\n\n<ng-template #modalTemplate>\n @if (selectedEvent) {\n <section class=\"bmb_timestream-dialog\">\n <figure class=\"bmb_timestream-dialog-hero\">\n <img\n [src]=\"selectedEvent.image\"\n [alt]=\"selectedEvent.title\"\n class=\"bmb_timestream-dialog-hero-image\"\n />\n </figure>\n <div class=\"bmb_timestream-dialog-user\">\n <bmb-user-image\n size=\"mobile-small\"\n [image]=\"selectedEvent.picture_profile || ''\"\n [altImage]=\"selectedEvent.user_first_name || ''\"\n [bordered]=\"false\"\n />\n <span class=\"bmb_timestream-dialog-user-name\"\n >{{ selectedEvent.user_first_name }}\n {{ selectedEvent.user_last_name }}</span\n >\n <span class=\"bmb_timestream-dialog-user-date\">{{\n selectedEvent.startEvent?.toFormat(\"dd/MM/yyyy\")\n }}</span>\n </div>\n <bmb-tabs\n [tabs]=\"eventTabs\"\n (selected)=\"handleTabSelected($event)\"\n style=\"flex: 1\"\n >\n @switch (tabSelected) {\n @case (1) {\n <div class=\"bmb_timestream-dialog-tab\">\n <dl class=\"bmb_timestream-dialog-dual\">\n <dt class=\"bmb_timestream-dialog-dual-title\">Estado:</dt>\n <dd class=\"bmb_timestream-dialog-dual-data\">\n <bmb-badge\n [appearance]=\"appearanceBadge(selectedEvent.type)\"\n [text]=\"getBadgeText(selectedEvent.type)\"\n [container]=\"false\"\n />\n </dd>\n <dt class=\"bmb_timestream-dialog-dual-title\">\n Duraci\u00F3n total:\n </dt>\n <dd class=\"bmb_timestream-dialog-dual-data\">\n {{ getDiffString(selectedEvent.diff) }}\n </dd>\n </dl>\n <p>{{ selectedEvent.description }}</p>\n </div>\n }\n @case (2) {\n <div class=\"bmb_timestream-dialog-tab\">\n <h3 class=\"bmb_timestream-dialog-tab-title\">Instancias</h3>\n <bmb-divider type=\"simple\" />\n <section class=\"bmb_timestream-dialog-tab-hito-list\">\n @for (date of getInstances(selectedEvent); track $index) {\n <bmb-hito-card\n [icon]=\"selectedEvent.icon || 'app_badging'\"\n [title]=\"selectedEvent.title\"\n [type]=\"selectedEvent.type\"\n [id]=\"$index\"\n [enable_bullet]=\"false\"\n [alternative_appearance]=\"true\"\n [isCompact]=\"true\"\n />\n }\n @if (selectedEvent.diff) {\n <p class=\"bmb_timestream-dialog-tab-duration\">\n {{ getDurationString(selectedEvent) }}\n </p>\n }\n @if (selectedEvent.related_to) {\n <h3 class=\"bmb_timestream-dialog-container-tab-title\">\n Relacionado a\n </h3>\n @for (related of selectedEvent.related_to; track $index) {\n <bmb-hito-card\n [icon]=\"selectedEvent.icon || 'app_badging'\"\n [title]=\"related\"\n [type]=\"selectedEvent.type\"\n [id]=\"related\"\n [enable_bullet]=\"false\"\n [alternative_appearance]=\"true\"\n [isCompact]=\"true\"\n />\n }\n }\n </section>\n </div>\n }\n }\n </bmb-tabs>\n <section class=\"bmb_timestream-dialog-button-container\">\n <button bmbButton appearance=\"primary\" icon=\"fit_screen\">\n Ir a decisi\u00F3n\n </button>\n </section>\n </section>\n }\n</ng-template>\n", styles: ["@font-face{font-family:Poppins-Thin;font-style:normal;font-weight:100;src:url(/assets/fonts/Poppins/Poppins-Thin.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Medium;font-style:normal;font-weight:500;src:url(/assets/fonts/Poppins/Poppins-Medium.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Semibold;font-style:normal;font-weight:600;src:url(/assets/fonts/Poppins/Poppins-SemiBold.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_timestream{display:flex;container-type:inline-size;height:100%;background-color:var(--containers-background-fade);font-family:Poppins-Regular,sans-serif;font-size:.75rem;position:relative}.bmb_timestream-aside{display:none;background-color:var(--containers-main)}@container (min-width: 560px){.bmb_timestream-aside{width:50%;max-width:250px;display:block}}.bmb_timestream-main{width:100%}@container (min-width: 560px){.bmb_timestream-main{flex:1}}.bmb_timestream-error{flex:1}.bmb_timestream-dialog{display:flex;gap:var(--bmb-spacing-m);flex-direction:column;font-family:Poppins-Regular,sans-serif;font-size:.75rem}.bmb_timestream-dialog-hero{margin:0;line-height:0;overflow:hidden;border-radius:var(--bmb-radius-l)}.bmb_timestream-dialog-hero-image{width:100%;max-height:14.375rem;object-fit:cover}.bmb_timestream-dialog-user{display:flex;gap:var(--bmb-spacing-s);align-items:center}.bmb_timestream-dialog-user-name{color:var(--general_contrasts-75)}.bmb_timestream-dialog-user-date{color:RGBA(var(--color-charade-500))}.bmb_timestream-dialog-tab{padding:var(--bmb-spacing-m);color:var(--general_contrasts-75)}.bmb_timestream-dialog-tab-title{color:var(--general_contrasts-75);font-family:Poppins-Regular,sans-serif;font-size:.75rem;font-weight:400}.bmb_timestream-dialog-tab-hito-list{display:flex;gap:var(--bmb-spacing-s);flex-flow:column;padding:var(--bmb-spacing-m)}.bmb_timestream-dialog-tab-duration{text-align:right;margin:var(--bmb-spacing-s) 0}.bmb_timestream-dialog .bmb_tabs-item{width:calc(50% - 2rem)}.bmb_timestream-dialog-button-container{padding:var(--bmb-spacing-m)}.bmb_timestream-dialog-button-container button{width:100%}.bmb_timestream-dialog-dual{margin:0 0 var(--bmb-spacing-m);display:flex;flex-wrap:wrap;gap:var(--bmb-spacing-m)}.bmb_timestream-dialog-dual-title,.bmb_timestream-dialog-dual-data{width:calc(50% - var(--bmb-spacing-s))}.bmb_timestream-dialog-dual-data{text-align:right;margin:0}.bmb_timestream-micro{background-color:transparent;height:auto}.bmb_timestream-micro .bmb_hito-card-active:after{background-color:var(--general_contrasts-50)}\n"], dependencies: [{ kind: "component", type: BmbTimestreamErrorComponent, selector: "bmb-timestream-error" }, { kind: "component", type: BmbHitoListComponent, selector: "bmb-hito-list", inputs: ["dateFormat", "lang", "now", "events", "selectedDate", "orderedMonths"], outputs: ["changeSelectedDate"] }, { kind: "component", type: BmbTimestreamDetailsComponent, selector: "bmb-timestream-detail", inputs: ["lang", "now", "selectedDate", "orderedEvents", "isMicro"], outputs: ["changeSelectedEvent"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: BmbUserImageComponent, selector: "bmb-user-image", inputs: ["size", "image", "altImage", "link", "target", "bordered"], outputs: ["buttonPress", "buttonClick", "buttonKeyPress"] }, { kind: "component", type: BmbTabsComponent, selector: "bmb-tabs", inputs: ["appearanceContrast", "format", "tabs", "selectedTabId"], outputs: ["selectedTabIdChange", "selected"] }, { kind: "directive", type: BmbButtonDirective, selector: "[bmbButton]", inputs: ["icon", "iconSize", "position", "case", "appearance", "size", "isToggleActive", "enableButtonToggle", "isRounded", "isMobile", "iconAlt"] }, { kind: "component", type: BmbDividerComponent, selector: "bmb-divider", inputs: ["type"] }, { kind: "component", type: BmbHitoCardComponent, selector: "bmb-hito-card", inputs: ["icon", "title", "id", "short_description", "type", "sub_content", "enable_bullet", "is_active", "isCompact", "alternative_appearance"], outputs: ["handleClick"] }, { kind: "component", type: BmbBadgeComponent, selector: "bmb-badge", inputs: ["appearance", "text", "container"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
219
+ }
220
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbTimestreamComponent, decorators: [{
221
+ type: Component,
222
+ args: [{ selector: 'bmb-timestream', standalone: true, imports: [
223
+ BmbTimestreamErrorComponent,
224
+ BmbHitoListComponent,
225
+ BmbTimestreamDetailsComponent,
226
+ CommonModule,
227
+ BmbUserImageComponent,
228
+ BmbTabsComponent,
229
+ BmbButtonDirective,
230
+ BmbDividerComponent,
231
+ BmbHitoCardComponent,
232
+ BmbBadgeComponent,
233
+ ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<section\n class=\"bmb_timestream\"\n [ngClass]=\"{ 'bmb_timestream-micro': isMicro() }\"\n>\n @if (error) {\n <div class=\"bmb_timestream-error\">\n <bmb-timestream-error />\n </div>\n } @else {\n @if (!isMicro()) {\n <aside class=\"bmb_timestream-aside\">\n <bmb-hito-list\n [dateFormat]=\"dateFormat()\"\n [lang]=\"lang()\"\n [now]=\"now\"\n [events]=\"parsedEvents\"\n [selectedDate]=\"selectedDate\"\n [orderedMonths]=\"orderedMonths\"\n (changeSelectedDate)=\"handleSelectedDateChange($event)\"\n />\n </aside>\n }\n <section class=\"bmb_timestream-main\">\n <bmb-timestream-detail\n [lang]=\"lang()\"\n [now]=\"now\"\n [selectedDate]=\"selectedDate\"\n (changeSelectedEvent)=\"handleSelectedEventChange($event)\"\n [orderedEvents]=\"orderedEvents()\"\n [isMicro]=\"isMicro()\"\n />\n </section>\n }\n</section>\n\n<ng-template #modalTemplate>\n @if (selectedEvent) {\n <section class=\"bmb_timestream-dialog\">\n <figure class=\"bmb_timestream-dialog-hero\">\n <img\n [src]=\"selectedEvent.image\"\n [alt]=\"selectedEvent.title\"\n class=\"bmb_timestream-dialog-hero-image\"\n />\n </figure>\n <div class=\"bmb_timestream-dialog-user\">\n <bmb-user-image\n size=\"mobile-small\"\n [image]=\"selectedEvent.picture_profile || ''\"\n [altImage]=\"selectedEvent.user_first_name || ''\"\n [bordered]=\"false\"\n />\n <span class=\"bmb_timestream-dialog-user-name\"\n >{{ selectedEvent.user_first_name }}\n {{ selectedEvent.user_last_name }}</span\n >\n <span class=\"bmb_timestream-dialog-user-date\">{{\n selectedEvent.startEvent?.toFormat(\"dd/MM/yyyy\")\n }}</span>\n </div>\n <bmb-tabs\n [tabs]=\"eventTabs\"\n (selected)=\"handleTabSelected($event)\"\n style=\"flex: 1\"\n >\n @switch (tabSelected) {\n @case (1) {\n <div class=\"bmb_timestream-dialog-tab\">\n <dl class=\"bmb_timestream-dialog-dual\">\n <dt class=\"bmb_timestream-dialog-dual-title\">Estado:</dt>\n <dd class=\"bmb_timestream-dialog-dual-data\">\n <bmb-badge\n [appearance]=\"appearanceBadge(selectedEvent.type)\"\n [text]=\"getBadgeText(selectedEvent.type)\"\n [container]=\"false\"\n />\n </dd>\n <dt class=\"bmb_timestream-dialog-dual-title\">\n Duraci\u00F3n total:\n </dt>\n <dd class=\"bmb_timestream-dialog-dual-data\">\n {{ getDiffString(selectedEvent.diff) }}\n </dd>\n </dl>\n <p>{{ selectedEvent.description }}</p>\n </div>\n }\n @case (2) {\n <div class=\"bmb_timestream-dialog-tab\">\n <h3 class=\"bmb_timestream-dialog-tab-title\">Instancias</h3>\n <bmb-divider type=\"simple\" />\n <section class=\"bmb_timestream-dialog-tab-hito-list\">\n @for (date of getInstances(selectedEvent); track $index) {\n <bmb-hito-card\n [icon]=\"selectedEvent.icon || 'app_badging'\"\n [title]=\"selectedEvent.title\"\n [type]=\"selectedEvent.type\"\n [id]=\"$index\"\n [enable_bullet]=\"false\"\n [alternative_appearance]=\"true\"\n [isCompact]=\"true\"\n />\n }\n @if (selectedEvent.diff) {\n <p class=\"bmb_timestream-dialog-tab-duration\">\n {{ getDurationString(selectedEvent) }}\n </p>\n }\n @if (selectedEvent.related_to) {\n <h3 class=\"bmb_timestream-dialog-container-tab-title\">\n Relacionado a\n </h3>\n @for (related of selectedEvent.related_to; track $index) {\n <bmb-hito-card\n [icon]=\"selectedEvent.icon || 'app_badging'\"\n [title]=\"related\"\n [type]=\"selectedEvent.type\"\n [id]=\"related\"\n [enable_bullet]=\"false\"\n [alternative_appearance]=\"true\"\n [isCompact]=\"true\"\n />\n }\n }\n </section>\n </div>\n }\n }\n </bmb-tabs>\n <section class=\"bmb_timestream-dialog-button-container\">\n <button bmbButton appearance=\"primary\" icon=\"fit_screen\">\n Ir a decisi\u00F3n\n </button>\n </section>\n </section>\n }\n</ng-template>\n", styles: ["@font-face{font-family:Poppins-Thin;font-style:normal;font-weight:100;src:url(/assets/fonts/Poppins/Poppins-Thin.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Medium;font-style:normal;font-weight:500;src:url(/assets/fonts/Poppins/Poppins-Medium.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Semibold;font-style:normal;font-weight:600;src:url(/assets/fonts/Poppins/Poppins-SemiBold.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_timestream{display:flex;container-type:inline-size;height:100%;background-color:var(--containers-background-fade);font-family:Poppins-Regular,sans-serif;font-size:.75rem;position:relative}.bmb_timestream-aside{display:none;background-color:var(--containers-main)}@container (min-width: 560px){.bmb_timestream-aside{width:50%;max-width:250px;display:block}}.bmb_timestream-main{width:100%}@container (min-width: 560px){.bmb_timestream-main{flex:1}}.bmb_timestream-error{flex:1}.bmb_timestream-dialog{display:flex;gap:var(--bmb-spacing-m);flex-direction:column;font-family:Poppins-Regular,sans-serif;font-size:.75rem}.bmb_timestream-dialog-hero{margin:0;line-height:0;overflow:hidden;border-radius:var(--bmb-radius-l)}.bmb_timestream-dialog-hero-image{width:100%;max-height:14.375rem;object-fit:cover}.bmb_timestream-dialog-user{display:flex;gap:var(--bmb-spacing-s);align-items:center}.bmb_timestream-dialog-user-name{color:var(--general_contrasts-75)}.bmb_timestream-dialog-user-date{color:RGBA(var(--color-charade-500))}.bmb_timestream-dialog-tab{padding:var(--bmb-spacing-m);color:var(--general_contrasts-75)}.bmb_timestream-dialog-tab-title{color:var(--general_contrasts-75);font-family:Poppins-Regular,sans-serif;font-size:.75rem;font-weight:400}.bmb_timestream-dialog-tab-hito-list{display:flex;gap:var(--bmb-spacing-s);flex-flow:column;padding:var(--bmb-spacing-m)}.bmb_timestream-dialog-tab-duration{text-align:right;margin:var(--bmb-spacing-s) 0}.bmb_timestream-dialog .bmb_tabs-item{width:calc(50% - 2rem)}.bmb_timestream-dialog-button-container{padding:var(--bmb-spacing-m)}.bmb_timestream-dialog-button-container button{width:100%}.bmb_timestream-dialog-dual{margin:0 0 var(--bmb-spacing-m);display:flex;flex-wrap:wrap;gap:var(--bmb-spacing-m)}.bmb_timestream-dialog-dual-title,.bmb_timestream-dialog-dual-data{width:calc(50% - var(--bmb-spacing-s))}.bmb_timestream-dialog-dual-data{text-align:right;margin:0}.bmb_timestream-micro{background-color:transparent;height:auto}.bmb_timestream-micro .bmb_hito-card-active:after{background-color:var(--general_contrasts-50)}\n"] }]
234
+ }], ctorParameters: () => [{ type: i1.MatDialog }], propDecorators: { modalTemplate: [{
235
+ type: ViewChild,
236
+ args: ['modalTemplate', { read: TemplateRef }]
237
+ }] } });
238
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLXRpbWVzdHJlYW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtbmcvc3JjL2xpYi9jb21wb25lbnRzL2JtYi10aW1lc3RyZWFtL2JtYi10aW1lc3RyZWFtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItdGltZXN0cmVhbS9ibWItdGltZXN0cmVhbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUVOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBT3hHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FB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bnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgaW5wdXQsXG4gIHNpZ25hbCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0ZVRpbWUsIEluZm8gfSBmcm9tICdsdXhvbic7XG5pbXBvcnQgeyBCbWJUaW1lc3RyZWFtRXJyb3JDb21wb25lbnQgfSBmcm9tICcuL2JtYi10aW1lc3RyZWFtLWVycm9yL2JtYi10aW1lc3RyZWFtLWVycm9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJIaXRvTGlzdENvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1oaXRvLWxpc3QvYm1iLWhpdG8tbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm1iVGltZXN0cmVhbURldGFpbHNDb21wb25lbnQgfSBmcm9tICcuL2JtYi10aW1lc3RyZWFtLWRldGFpbC9ibWItdGltZXN0cmVhbS1kZXRhaWwuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIElUaW1lbGluZUV2ZW50LFxuICBJU2VsZWN0ZWREYXRlLFxuICBJVGltZWxpbmVFdmVudFBhcnNlZCxcbiAgSUJtYlRpbWVsaW5lQ3VzdG9tRXZlbnQsXG59IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1vZGFsRGF0YUNvbmZpZyB9IGZyb20gJy4uL2JtYi1tb2RhbC9ibWItbW9kYWwuaW50ZXJmYWNlJztcbmltcG9ydCB7IEJtYk1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLW1vZGFsL2JtYi1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IEJtYlVzZXJJbWFnZUNvbXBvbmVudCB9IGZyb20gJy4uL2JtYi11c2VyLWltYWdlL2JtYi11c2VyLWltYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJUYWJzQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLXRhYnMvYm1iLXRhYnMuY29tcG9uZW50JztcbmltcG9ydCB7IEJtYkJ1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvYm1iLWJ1dHRvbi9idXR0b24uZGlyZWN0aXZlJztcbmltcG9ydCB7IEJtYkRpdmlkZXJDb21wb25lbnQgfSBmcm9tICcuLi9ibWItZGl2aWRlci9ibWItZGl2aWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm1iSGl0b0NhcmRDb21wb25lbnQgfSBmcm9tICcuLi9ibWItaGl0by1jYXJkL2JtYi1oaXRvLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IEJtYkJhZGdlQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWJhZGdlL2JtYi1iYWRnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSUJibUJnQXBwZWFyYW5jZSB9IGZyb20gJy4uL2JtYi1hZHZlcnRpc2VtZW50LWNhcmQvdHlwZXMnO1xuXG5pbnRlcmZhY2UgSVBsYWNlaG9sZGVyT2JqZWN0IHtcbiAgW2tleTogc3RyaW5nXTogYW55IHwgYW55W107XG59XG5cbmludGVyZmFjZSBUYWIge1xuICBpZDogbnVtYmVyO1xuICB0aXRsZTogc3RyaW5nO1xuICBpc0FjdGl2ZT86IGJvb2xlYW47XG4gIGJhZGdlPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElCbWJDbGFtcCB7XG4gIG1pbjogbnVtYmVyIHwgc3RyaW5nO1xuICBtYXg6IG51bWJlciB8IHN0cmluZztcbiAgc2l6ZTogbnVtYmVyIHwgc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdibWItdGltZXN0cmVhbScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBCbWJUaW1lc3RyZWFtRXJyb3JDb21wb25lbnQsXG4gICAgQm1iSGl0b0xpc3RDb21wb25lbnQsXG4gICAgQm1iVGltZXN0cmVhbURldGFpbHNDb21wb25lbnQsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEJtYlVzZXJJbWFnZUNvbXBvbmVudCxcbiAgICBCbWJUYWJzQ29tcG9uZW50LFxuICAgIEJtYkJ1dHRvbkRpcmVjdGl2ZSxcbiAgICBCbWJEaXZpZGVyQ29tcG9uZW50LFxuICAgIEJtYkhpdG9DYXJkQ29tcG9uZW50LFxuICAgIEJtYkJhZGdlQ29tcG9uZW50LFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vYm1iLXRpbWVzdHJlYW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYm1iLXRpbWVzdHJlYW0uY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQm1iVGltZXN0cmVhbUNvbXBvbmVudCB7XG4gIGlzTWljcm8gPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIGxhbmcgPSBpbnB1dDxzdHJpbmc+KCdlcycpO1xuICBkYXRlRm9ybWF0ID0gaW5wdXQ8c3RyaW5nPignZGQvTU0veXl5eScpO1xuICBldmVudHMgPSBpbnB1dDxJVGltZWxpbmVFdmVudFtdPihbXSk7XG4gIGNsYW1wID0gaW5wdXQ8SUJtYkNsYW1wPih7IG1pbjogMTAwLCBtYXg6ICcxMDBkdmgnLCBzaXplOiAnMTAwJScgfSk7XG5cbiAgQFZpZXdDaGlsZCgnbW9kYWxUZW1wbGF0ZScsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgbW9kYWxUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgLy8gaW50ZXJuYWwgc3RhdGVcbiAgZXJyb3IgPSBmYWxzZTtcbiAgbm93ID0gRGF0ZVRpbWUubm93KCk7XG4gIHN0YXJ0OiBEYXRlVGltZSB8IG51bGwgPSBudWxsO1xuICBwYXJzZWRFdmVudHM/OiBhbnk7XG4gIG1vbnRoc05hbWVzID0gSW5mby5tb250aHMoJ2xvbmcnLCB7IGxvY2FsZTogdGhpcy5sYW5nKCkgfSk7XG4gIG9yZGVyZWRFdmVudHMgPSBzaWduYWw8SVRpbWVsaW5lRXZlbnRQYXJzZWRbXT4oW10pO1xuICBzZWxlY3RlZERhdGU6IElTZWxlY3RlZERhdGUgPSB7XG4gICAgZGF5OiAnJyxcbiAgICBtb250aDogJycsXG4gICAgZGF0ZTogdGhpcy5ub3csXG4gIH07XG4gIG9yZGVyZWRNb250aHM6IHN0cmluZ1tdID0gW107XG4gIG5ld01vZGFsITogVGVtcGxhdGVSZWY8YW55PjtcbiAgc2VsZWN0ZWRFdmVudDogSVRpbWVsaW5lRXZlbnQgfCBudWxsID0gbnVsbDtcbiAgZXZlbnRUYWJzOiBUYWJbXSA9IFtcbiAgICB7IGlkOiAxLCB0aXRsZTogJ0Rlc2NyaXBjacOzbicsIGlzQWN0aXZlOiB0cnVlIH0sXG4gICAgeyBpZDogMiwgdGl0bGU6ICdJbnN0YW5jaWFzJyB9LFxuICBdO1xuICB0YWJTZWxlY3RlZCA9IDE7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtYXREaWFsb2c6IE1hdERpYWxvZykge31cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgdGhpcy5wYXJzZWRFdmVudHMgPSB0aGlzLnByZXBhcmVFdmVudHMoY2hhbmdlc1snZXZlbnRzJ10uY3VycmVudFZhbHVlKTtcbiAgICB0aGlzLm9yZGVyZWRNb250aHMgPSB0aGlzLm9yZGVyRGF0ZXModGhpcy5wYXJzZWRFdmVudHMsICd5eXl5L01NJyk7XG4gICAgdGhpcy5zZWxlY3RlZERhdGUgPSB0aGlzLnNlbGVjdEFWYWxpZERhdGUoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucGFyc2VkRXZlbnRzID0gdGhpcy5wcmVwYXJlRXZlbnRzKHRoaXMuZXZlbnRzKCkpO1xuICAgIHRoaXMub3JkZXJlZE1vbnRocyA9IHRoaXMub3JkZXJEYXRlcyh0aGlzLnBhcnNlZEV2ZW50cywgJ3l5eXkvTU0nKTtcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IHRoaXMuc2VsZWN0QVZhbGlkRGF0ZSgpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm1vZGFsVGVtcGxhdGUpIHtcbiAgICAgIHRoaXMubmV3TW9kYWwgPSB0aGlzLm1vZGFsVGVtcGxhdGU7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlVGFiU2VsZWN0ZWQodGFiOiBUYWIpIHtcbiAgICB0aGlzLnRhYlNlbGVjdGVkID0gdGFiLmlkO1xuICB9XG5cbiAgcHJlcGFyZUV2ZW50cyhldmVudHM/OiBJVGltZWxpbmVFdmVudFtdKSB7XG4gICAgaWYgKCFldmVudHM/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5vcmRlcmVkRXZlbnRzLnNldChbXSk7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuXG4gICAgY29uc3Qgb2JqZWN0RXZlbnQ6IElQbGFjZWhvbGRlck9iamVjdCA9IHt9O1xuICAgIGV2ZW50cy5mb3JFYWNoKChldmVudCkgPT4ge1xuICAgICAgY29uc3Qgc3RhcnREYXRlID0gRGF0ZVRpbWUuZnJvbUZvcm1hdChldmVudC5zdGFydCwgdGhpcy5kYXRlRm9ybWF0KCkpO1xuICAgICAgY29uc3QgZW5kRGF0ZSA9IERhdGVUaW1lLmZyb21Gb3JtYXQoZXZlbnQuZW5kLCB0aGlzLmRhdGVGb3JtYXQoKSk7XG4gICAgICBjb25zdCBkaWZmID0gZW5kRGF0ZS5kaWZmKHN0YXJ0RGF0ZSwgJ2RheXMnKS5kYXlzICsgMTtcblxuICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGRpZmY7IGluZGV4KyspIHtcbiAgICAgICAgY29uc3QgY3VycmVudERhdGUgPSBzdGFydERhdGUucGx1cyh7IGRheXM6IGluZGV4IH0pO1xuICAgICAgICBjb25zdCBzdHJpbmdEYXRlID0gY3VycmVudERhdGUudG9Gb3JtYXQoJ3l5eXkvTU0vZGQnKTtcbiAgICAgICAgY29uc3QgbW9udGggPSBjdXJyZW50RGF0ZS50b0Zvcm1hdCgneXl5eS9NTScpO1xuXG4gICAgICAgIG9iamVjdEV2ZW50W21vbnRoXSA/Pz0ge1xuICAgICAgICAgIGV2ZW50czoge30sXG4gICAgICAgICAgbmFtZTogdGhpcy5tb250aHNOYW1lc1tjdXJyZW50RGF0ZS5tb250aCAtIDFdLFxuICAgICAgICAgIHN0cmluZ0RhdGU6IG1vbnRoLFxuICAgICAgICAgIHllYXI6IGN1cnJlbnREYXRlLnllYXIsXG4gICAgICAgICAgZGF0ZTogY3VycmVudERhdGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgb2JqZWN0RXZlbnRbbW9udGhdLmV2ZW50c1tzdHJpbmdEYXRlXSA/Pz0ge1xuICAgICAgICAgIGV2ZW50czogW10sXG4gICAgICAgICAgZGF0ZTogY3VycmVudERhdGUsXG4gICAgICAgICAgc3RyaW5nRGF0ZSxcbiAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgIH07XG5cbiAgICAgICAgb2JqZWN0RXZlbnRbbW9udGhdLmV2ZW50c1tzdHJpbmdEYXRlXS5ldmVudHMucHVzaCh7XG4gICAgICAgICAgLi4uZXZlbnQsXG4gICAgICAgICAgc3RhcnQ6IHN0cmluZ0RhdGUsXG4gICAgICAgICAgc3RhcnRFdmVudDogY3VycmVudERhdGUsXG4gICAgICAgICAgZW5kRXZlbnQ6IGVuZERhdGUsXG4gICAgICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICAgIGRpZmY6IGRpZmYgLSAxLFxuICAgICAgICAgIG9yaWdpbmFsU3RhcnQ6IHN0YXJ0RGF0ZSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb25zdCBvcmRlcmVkRXZlbnRzID0gdGhpcy5vcmRlckRhdGVzKG9iamVjdEV2ZW50LCAneXl5eS9NTScpO1xuXG4gICAgaWYgKG9yZGVyZWRFdmVudHMubGVuZ3RoKSB7XG4gICAgICBvYmplY3RFdmVudFsnb3JkZXJlZEV2ZW50cyddID0gb3JkZXJlZEV2ZW50cztcblxuICAgICAgb2JqZWN0RXZlbnRbJ29yZGVyZWRFdmVudHMnXS5mb3JFYWNoKChkYXRlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgb2JqZWN0RXZlbnRbZGF0ZV1bJ29yZGVyZWRFdmVudHMnXSA9IHRoaXMub3JkZXJEYXRlcyhcbiAgICAgICAgICBvYmplY3RFdmVudFtkYXRlXS5ldmVudHMsXG4gICAgICAgICAgJ3l5eXkvTU0vZGQnLFxuICAgICAgICApO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMub3JkZXJlZEV2ZW50cy5zZXQoXG4gICAgICAgIG9iamVjdEV2ZW50WydvcmRlcmVkRXZlbnRzJ11cbiAgICAgICAgICAubWFwKChtb250aDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gb2JqZWN0RXZlbnRbbW9udGhdWydvcmRlcmVkRXZlbnRzJ10ubWFwKFxuICAgICAgICAgICAgICAoZGF5OiBzdHJpbmcpID0+IG9iamVjdEV2ZW50W21vbnRoXS5ldmVudHNbZGF5XSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuZmxhdCgpLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gb2JqZWN0RXZlbnQ7XG4gIH1cblxuICBvcmRlckRhdGVzKGV2ZW50czogYW55LCBmb3JtYXQ6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBtb250aHNMaXN0ID0gT2JqZWN0LmtleXMoZXZlbnRzKTtcbiAgICBjb25zdCBtb250aHNPcmRlcmVkID0gbW9udGhzTGlzdC5zb3J0KChkYXRlQTogc3RyaW5nLCBkYXRlQjogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBwYXJzZWREYXRlQSA9IERhdGVUaW1lLmZyb21Gb3JtYXQoZGF0ZUEsIGZvcm1hdCk7XG4gICAgICBjb25zdCBwYXJzZWREYXRlQiA9IERhdGVUaW1lLmZyb21Gb3JtYXQoZGF0ZUIsIGZvcm1hdCk7XG4gICAgICByZXR1cm4gcGFyc2VkRGF0ZUEudG9NaWxsaXMoKSAtIHBhcnNlZERhdGVCLnRvTWlsbGlzKCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbW9udGhzT3JkZXJlZDtcbiAgfVxuXG4gIHNlbGVjdEFWYWxpZERhdGUoKTogeyBtb250aDogc3RyaW5nOyBkYXk6IHN0cmluZzsgZGF0ZTogRGF0ZVRpbWUgfSB7XG4gICAgaWYgKCF0aGlzLm9yZGVyZWRNb250aHMpXG4gICAgICByZXR1cm4ge1xuICAgICAgICBtb250aDogdGhpcy5ub3cubW9udGggKyAnJyxcbiAgICAgICAgZGF5OiB0aGlzLm5vdy5kYXkgKyAnJyxcbiAgICAgICAgZGF0ZTogdGhpcy5ub3csXG4gICAgICB9O1xuXG4gICAgY29uc3QgbW9udGggPVxuICAgICAgdGhpcy5vcmRlcmVkTW9udGhzLmZpbmQoKGRhdGUpID0+IHtcbiAgICAgICAgaWYgKGRhdGUgPT09ICdvcmRlcmVkRXZlbnRzJykgcmV0dXJuIGZhbHNlO1xuICAgICAgICBjb25zdCBwYXJzZWREYXRlID0gdGhpcy5wYXJzZWRFdmVudHNbZGF0ZV0uZGF0ZTtcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIHRoaXMubm93LnllYXIgPD0gcGFyc2VkRGF0ZS55ZWFyICYmIHRoaXMubm93Lm1vbnRoIDw9IHBhcnNlZERhdGUubW9udGhcbiAgICAgICAgKTtcbiAgICAgIH0pIHx8XG4gICAgICB0aGlzLm9yZGVyZWRNb250aHMuYXQoLTEpIHx8XG4gICAgICAnJztcbiAgICBjb25zdCBvcmRlcmVkRXZlbnRzID0gdGhpcy5wYXJzZWRFdmVudHM/Llttb250aF0/Lm9yZGVyZWRFdmVudHM7XG5cbiAgICBjb25zdCBkYXkgPVxuICAgICAgb3JkZXJlZEV2ZW50cz8uZmluZCgoZGF0ZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhcnNlZERhdGUgPSB0aGlzLnBhcnNlZEV2ZW50c1ttb250aF0uZXZlbnRzW2RhdGVdLmRhdGU7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgdGhpcy5ub3cueWVhciA8PSBwYXJzZWREYXRlLnllYXIgJiZcbiAgICAgICAgICB0aGlzLm5vdy5tb250aCA8PSBwYXJzZWREYXRlLm1vbnRoICYmXG4gICAgICAgICAgdGhpcy5ub3cuZGF5IDw9IHBhcnNlZERhdGUuZGF5XG4gICAgICAgICk7XG4gICAgICB9KSB8fFxuICAgICAgb3JkZXJlZEV2ZW50cz8uYXQoLTEpIHx8XG4gICAgICAnJztcblxuICAgIGlmICh0aGlzLnBhcnNlZEV2ZW50c1ttb250aF0gJiYgbW9udGggIT09ICdvcmRlcmVkRXZlbnRzJykge1xuICAgICAgdGhpcy5wYXJzZWRFdmVudHNbbW9udGhdLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMucGFyc2VkRXZlbnRzW21vbnRoXS5ldmVudHNbZGF5XS5zZWxlY3RlZCA9IHRydWU7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBtb250aCxcbiAgICAgIGRheSxcbiAgICAgIGRhdGU6IHRoaXMucGFyc2VkRXZlbnRzPy5bbW9udGhdPy5ldmVudHM/LltkYXldPy5kYXRlLFxuICAgIH07XG4gIH1cblxuICBoYW5kbGVTZWxlY3RlZERhdGVDaGFuZ2UoeyBtb250aCwgZGF5IH06IHsgbW9udGg6IHN0cmluZzsgZGF5OiBzdHJpbmcgfSkge1xuICAgIHRoaXMucGFyc2VkRXZlbnRzW3RoaXMuc2VsZWN0ZWREYXRlLm1vbnRoXS5zZWxlY3RlZCA9IGZhbHNlO1xuICAgIHRoaXMucGFyc2VkRXZlbnRzW3RoaXMuc2VsZWN0ZWREYXRlLm1vbnRoXS5ldmVudHNbXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5kYXlcbiAgICBdLnNlbGVjdGVkID0gZmFsc2U7XG5cbiAgICB0aGlzLnBhcnNlZEV2ZW50c1ttb250aF0uc2VsZWN0ZWQgPSB0cnVlO1xuICAgIHRoaXMucGFyc2VkRXZlbnRzW21vbnRoXS5ldmVudHNbZGF5XS5zZWxlY3RlZCA9IHRydWU7XG5cbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IHtcbiAgICAgIG1vbnRoLFxuICAgICAgZGF5LFxuICAgICAgZGF0ZTogdGhpcy5wYXJzZWRFdmVudHNbbW9udGhdLmV2ZW50c1tkYXldLmRhdGUsXG4gICAgfTtcbiAgfVxuXG4gIGhhbmRsZVNlbGVjdGVkRXZlbnRDaGFuZ2UoZXZlbnQ6IElUaW1lbGluZUV2ZW50KSB7XG4gICAgdGhpcy5zZWxlY3RlZEV2ZW50ID0gZXZlbnQ7XG5cbiAgICBjb25zdCBkYXRhOiBNb2RhbERhdGFDb25maWcgPSB7XG4gICAgICB0aXRsZTogZXZlbnQudGl0bGUsXG4gICAgICBjb250ZW50OiB0aGlzLm5ld01vZGFsLFxuICAgICAgc2l6ZTogJ2xhcmdlJyxcbiAgICAgIGhpZGVQcmltYXJ5QnV0dG9uOiB0cnVlLFxuICAgIH07XG5cbiAgICB0aGlzLm1hdERpYWxvZy5vcGVuKEJtYk1vZGFsQ29tcG9uZW50LCB7IGRhdGEgfSk7XG4gIH1cblxuICBnZXRNb250aFRpdGxlKGRhdGU6IERhdGVUaW1lKSB7XG4gICAgcmV0dXJuIGRhdGUuc2V0TG9jYWxlKHRoaXMubGFuZygpKS50b0Zvcm1hdCgnY2NjYyBkZCBMTExMIHl5eXknKTtcbiAgfVxuXG4gIGdldEluc3RhbmNlcyhldmVudDogYW55KTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGluc3RhbmNlcyA9IFtdO1xuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCAoZXZlbnQuZGlmZiB8fCAwKSArIDE7IGluZGV4KyspIHtcbiAgICAgIGNvbnN0IGRhdGUgPSBldmVudC5vcmlnaW5hbFN0YXJ0LnBsdXMoeyBkYXlzOiBpbmRleCB9KTtcbiAgICAgIGluc3RhbmNlcy5wdXNoKHRoaXMuZ2V0TW9udGhUaXRsZShkYXRlKSk7XG4gICAgfVxuICAgIHJldHVybiBpbnN0YW5jZXM7XG4gIH1cblxuICBnZXREdXJhdGlvblN0cmluZyhldmVudDogSVRpbWVsaW5lRXZlbnQpOiBzdHJpbmcge1xuICAgIHJldHVybiBgRHVyYWNpw7NuOiAke2V2ZW50Lm9yaWdpbmFsU3RhcnQ/LmRheX0gLSAke2V2ZW50LmVuZEV2ZW50Py5zZXRMb2NhbGUodGhpcy5sYW5nKCkpLnRvRm9ybWF0KCdkZCBMTExMIHl5eXknKX0gKCR7KGV2ZW50LmRpZmYgfHwgMCkgKyAxfSBEw61hcylgO1xuICB9XG5cbiAgZ2V0RGlmZlN0cmluZyhkaWZmOiBudW1iZXIgPSAwKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZGlmZiArIDEgPiAxID8gYCR7ZGlmZiArIDF9IETDrWFzYCA6IGAke2RpZmYgKyAxfSBEw61hYDtcbiAgfVxuXG4gIGFwcGVhcmFuY2VCYWRnZShcbiAgICBldmVudFR5cGU6IHN0cmluZyB8IElCbWJUaW1lbGluZUN1c3RvbUV2ZW50LFxuICApOiBJQmJtQmdBcHBlYXJhbmNlIHtcbiAgICBpZiAodHlwZW9mIGV2ZW50VHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHN3aXRjaCAoZXZlbnRUeXBlKSB7XG4gICAgICAgIGNhc2UgJ2FjdGl2ZSc6XG4gICAgICAgICAgcmV0dXJuICdtaXRlY19ibHVlJztcbiAgICAgICAgY2FzZSAnZG9uZSc6XG4gICAgICAgICAgcmV0dXJuICdzdWNjZXNzJztcbiAgICAgICAgY2FzZSAncGVuZGluZyc6XG4gICAgICAgICAgcmV0dXJuICdub3JtYWwnO1xuICAgICAgICBjYXNlICd1bmRlcl9yZXZpZXcnOlxuICAgICAgICAgIHJldHVybiAnd2FybmluZyc7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuICdtaXRlY19ibHVlJztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGV2ZW50VHlwZS50eXBlIHx8ICdub3JtYWwnO1xuICB9XG5cbiAgZ2V0QmFkZ2VUZXh0KGV2ZW50VHlwZTogc3RyaW5nIHwgSUJtYlRpbWVsaW5lQ3VzdG9tRXZlbnQpOiBzdHJpbmcge1xuICAgIGlmICh0eXBlb2YgZXZlbnRUeXBlID09PSAnc3RyaW5nJykgcmV0dXJuIGV2ZW50VHlwZTtcbiAgICByZXR1cm4gZXZlbnRUeXBlLnRleHQgfHwgJyc7XG4gIH1cbn1cbiIsIjxzZWN0aW9uXG4gIGNsYXNzPVwiYm1iX3RpbWVzdHJlYW1cIlxuICBbbmdDbGFzc109XCJ7ICdibWJfdGltZXN0cmVhbS1taWNybyc6IGlzTWljcm8oKSB9XCJcbj5cbiAgQGlmIChlcnJvcikge1xuICAgIDxkaXYgY2xhc3M9XCJibWJfdGltZXN0cmVhbS1lcnJvclwiPlxuICAgICAgPGJtYi10aW1lc3RyZWFtLWVycm9yIC8+XG4gICAgPC9kaXY+XG4gIH0gQGVsc2Uge1xuICAgIEBpZiAoIWlzTWljcm8oKSkge1xuICAgICAgPGFzaWRlIGNsYXNzPVwiYm1iX3RpbWVzdHJlYW0tYXNpZGVcIj5cbiAgICAgICAgPGJtYi1oaXRvLWxpc3RcbiAgICAgICAgICBbZGF0ZUZvcm1hdF09XCJkYXRlRm9ybWF0KClcIlxuICAgICAgICAgIFtsYW5nXT1cImxhbmcoKVwiXG4gICAgICAgICAgW25vd109XCJub3dcIlxuICAgICAgICAgIFtldmVudHNdPVwicGFyc2VkRXZlbnRzXCJcbiAgICAgICAgICBbc2VsZWN0ZWREYXRlXT1cInNlbGVjdGVkRGF0ZVwiXG4gICAgICAgICAgW29yZGVyZWRNb250aHNdPVwib3JkZXJlZE1vbnRoc1wiXG4gICAgICAgICAgKGNoYW5nZVNlbGVjdGVkRGF0ZSk9XCJoYW5kbGVTZWxlY3RlZERhdGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIC8+XG4gICAgICA8L2FzaWRlPlxuICAgIH1cbiAgICA8c2VjdGlvbiBjbGFzcz1cImJtYl90aW1lc3RyZWFtLW1haW5cIj5cbiAgICAgIDxibWItdGltZXN0cmVhbS1kZXRhaWxcbiAgICAgICAgW2xhbmddPVwibGFuZygpXCJcbiAgICAgICAgW25vd109XCJub3dcIlxuICAgICAgICBbc2VsZWN0ZWREYXRlXT1cInNlbGVjdGVkRGF0ZVwiXG4gICAgICAgIChjaGFuZ2VTZWxlY3RlZEV2ZW50KT1cImhhbmRsZVNlbGVjdGVkRXZlbnRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFtvcmRlcmVkRXZlbnRzXT1cIm9yZGVyZWRFdmVudHMoKVwiXG4gICAgICAgIFtpc01pY3JvXT1cImlzTWljcm8oKVwiXG4gICAgICAvPlxuICAgIDwvc2VjdGlvbj5cbiAgfVxuPC9zZWN0aW9uPlxuXG48bmctdGVtcGxhdGUgI21vZGFsVGVtcGxhdGU+XG4gIEBpZiAoc2VsZWN0ZWRFdmVudCkge1xuICAgIDxzZWN0aW9uIGNsYXNzPVwiYm1iX3RpbWVzdHJlYW0tZGlhbG9nXCI+XG4gICAgICA8ZmlndXJlIGNsYXNzPVwiYm1iX3RpbWVzdHJlYW0tZGlhbG9nLWhlcm9cIj5cbiAgICAgICAgPGltZ1xuICAgICAgICAgIFtzcmNdPVwic2VsZWN0ZWRFdmVudC5pbWFnZVwiXG4gICAgICAgICAgW2FsdF09XCJzZWxlY3RlZEV2ZW50LnRpdGxlXCJcbiAgICAgICAgICBjbGFzcz1cImJtYl90aW1lc3RyZWFtLWRpYWxvZy1oZXJvLWltYWdlXCJcbiAgICAgICAgLz5cbiAgICAgIDwvZmlndXJlPlxuICAgICAgPGRpdiBjbGFzcz1cImJtYl90aW1lc3RyZWFtLWRpYWxvZy11c2VyXCI+XG4gICAgICAgIDxibWItdXNlci1pbWFnZVxuICAgICAgICAgIHNpemU9XCJtb2JpbGUtc21hbGxcIlxuICAgICAgICAgIFtpbWFnZV09XCJzZWxlY3RlZEV2ZW50LnBpY3R1cmVfcHJvZmlsZSB8fCAnJ1wiXG4gICAgICAgICAgW2FsdEltYWdlXT1cInNlbGVjdGVkRXZlbnQudXNlcl9maXJzdF9uYW1lIHx8ICcnXCJcbiAgICAgICAgICBbYm9yZGVyZWRdPVwiZmFsc2VcIlxuICAgICAgICAvPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImJtYl90aW1lc3RyZWFtLWRpYWxvZy11c2VyLW5hbWVcIlxuICAgICAgICAgID57eyBzZWxlY3RlZEV2ZW50LnVzZXJfZmlyc3RfbmFtZSB9fVxuICAgICAgICAgIHt7IHNlbGVjdGVkRXZlbnQudXNlcl9sYXN0X25hbWUgfX08L3NwYW5cbiAgICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImJtYl90aW1lc3RyZWFtLWRpYWxvZy11c2VyLWRhdGVcIj57e1xuICAgICAgICAgIHNlbGVjdGVkRXZlbnQuc3RhcnRFdmVudD8udG9Gb3JtYXQoXCJkZC9NTS95eXl5XCIpXG4gICAgICAgIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8Ym1iLXRhYnNcbiAgICAgICAgW3RhYnNdPVwiZXZlbnRUYWJzXCJcbiAgICAgICAgKHNlbGVjdGVkKT1cImhhbmRsZVRhYlNlbGVjdGVkKCRldmVudClcIlxuICAgICAgICBzdHlsZT1cImZsZXg6IDFcIlxuICAgICAgPlxuICAgICAgICBAc3dpdGNoICh0YWJTZWxlY3RlZCkge1xuICAgICAgICAgIEBjYXNlICgxKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm1iX3RpbWVzdHJlYW0tZGlhbG9nLXRhYlwiPlxuICAgICAgICAgICAgICA8ZGwgY2xhc3M9XCJibWJfdGltZXN0cmVhbS1kaWFsb2ctZHVhbFwiPlxuICAgICAgICAgICAgICAgIDxkdCBjbGFzcz1cImJtYl90aW1lc3RyZWFtLWRpYWxvZy1kdWFsLXRpdGxlXCI+RXN0YWRvOjwvZHQ+XG4gICAgICAgICAgICAgICAgPGRkIGNsYXNzPVwiYm1iX3RpbWVzdHJlYW0tZGlhbG9nLWR1YWwtZGF0YVwiPlxuICAgICAgICAgICAgICAgICAgPGJtYi1iYWRnZVxuICAgICAgICAgICAgICAgICAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlQmFkZ2Uoc2VsZWN0ZWRFdmVudC50eXBlKVwiXG4gICAgICAgICAgICAgICAgICAgIFt0ZXh0XT1cImdldEJhZGdlVGV4dChzZWxlY3RlZEV2ZW50LnR5cGUpXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbnRhaW5lcl09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGQ+XG4gICAgICAgICAgICAgICAgPGR0IGNsYXNzPVwiYm1iX3RpbWVzdHJlYW0tZGlhbG9nLWR1YWwtdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgIER1cmFjacOzbiB0b3RhbDpcbiAgICAgICAgICAgICAgICA8L2R0PlxuICAgICAgICAgICAgICAgIDxkZCBjbGFzcz1cImJtYl90aW1lc3RyZWFtLWRpYWxvZy1kdWFsLWRhdGFcIj5cbiAgICAgICAgICAgICAgICAgIHt7IGdldERpZmZTdHJpbmcoc2VsZWN0ZWRFdmVudC5kaWZmKSB9fVxuICAgICAgICAgICAgICAgIDwvZGQ+XG4gICAgICAgICAgICAgIDwvZGw+XG4gICAgICAgICAgICAgIDxwPnt7IHNlbGVjdGVkRXZlbnQuZGVzY3JpcHRpb24gfX08L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGNhc2UgKDIpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibWJfdGltZXN0cmVhbS1kaWFsb2ctdGFiXCI+XG4gICAgICAgICAgICAgIDxoMyBjbGFzcz1cImJtYl90aW1lc3RyZWFtLWRpYWxvZy10YWItdGl0bGVcIj5JbnN0YW5jaWFzPC9oMz5cbiAgICAgICAgICAgICAgPGJtYi1kaXZpZGVyIHR5cGU9XCJzaW1wbGVcIiAvPlxuICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cImJtYl90aW1lc3RyZWFtLWRpYWxvZy10YWItaGl0by1saXN0XCI+XG4gICAgICAgICAgICAgICAgQGZvciAoZGF0ZSBvZiBnZXRJbnN0YW5jZXMoc2VsZWN0ZWRFdmVudCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgPGJtYi1oaXRvLWNhcmRcbiAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwic2VsZWN0ZWRFdmVudC5pY29uIHx8ICdhcHBfYmFkZ2luZydcIlxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwic2VsZWN0ZWRFdmVudC50aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgIFt0eXBlXT1cInNlbGVjdGVkRXZlbnQudHlwZVwiXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCIkaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICBbZW5hYmxlX2J1bGxldF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgIFthbHRlcm5hdGl2ZV9hcHBlYXJhbmNlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbaXNDb21wYWN0XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChzZWxlY3RlZEV2ZW50LmRpZmYpIHtcbiAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiYm1iX3RpbWVzdHJlYW0tZGlhbG9nLXRhYi1kdXJhdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBnZXREdXJhdGlvblN0cmluZyhzZWxlY3RlZEV2ZW50KSB9fVxuICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgKHNlbGVjdGVkRXZlbnQucmVsYXRlZF90bykge1xuICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiYm1iX3RpbWVzdHJlYW0tZGlhbG9nLWNvbnRhaW5lci10YWItdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgUmVsYWNpb25hZG8gYVxuICAgICAgICAgICAgICAgICAgPC9oMz5cbiAgICAgICAgICAgICAgICAgIEBmb3IgKHJlbGF0ZWQgb2Ygc2VsZWN0ZWRFdmVudC5yZWxhdGVkX3RvOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgPGJtYi1oaXRvLWNhcmRcbiAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJzZWxlY3RlZEV2ZW50Lmljb24gfHwgJ2FwcF9iYWRnaW5nJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cInJlbGF0ZWRcIlxuICAgICAgICAgICAgICAgICAgICAgIFt0eXBlXT1cInNlbGVjdGVkRXZlbnQudHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2lkXT1cInJlbGF0ZWRcIlxuICAgICAgICAgICAgICAgICAgICAgIFtlbmFibGVfYnVsbGV0XT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYWx0ZXJuYXRpdmVfYXBwZWFyYW5jZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbaXNDb21wYWN0XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICA8L2JtYi10YWJzPlxuICAgICAgPHNlY3Rpb24gY2xhc3M9XCJibWJfdGltZXN0cmVhbS1kaWFsb2ctYnV0dG9uLWNvbnRhaW5lclwiPlxuICAgICAgICA8YnV0dG9uIGJtYkJ1dHRvbiBhcHBlYXJhbmNlPVwicHJpbWFyeVwiIGljb249XCJmaXRfc2NyZWVuXCI+XG4gICAgICAgICAgSXIgYSBkZWNpc2nDs25cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgPC9zZWN0aW9uPlxuICB9XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1uZy9zcmMvbGliL2NvbXBvbmVudHMvYm1iLXRpbWVzdHJlYW0vdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSAnbHV4b24nO1xuaW1wb3J0IHsgSUJibUJnQXBwZWFyYW5jZSB9IGZyb20gJy4uL2JtYi1hZHZlcnRpc2VtZW50LWNhcmQvdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElTZWxlY3RlZERhdGUge1xuICBkYXk6IHN0cmluZztcbiAgbW9udGg6IHN0cmluZztcbiAgZGF0ZTogRGF0ZVRpbWU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRpbWVsaW5lRGF5RXZlbnQge1xuICBkYXRlOiBEYXRlVGltZTtcbiAgZXZlbnRzOiBJVGltZWxpbmVFdmVudFtdO1xuICBzZWxlY3RlZDogYm9vbGVhbjtcbiAgc3RyaW5nRGF0ZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUaW1lbGluZUV2ZW50IHtcbiAgaWQ6IG51bWJlciB8IHN0cmluZztcbiAgc3RhcnQ6IHN0cmluZztcbiAgZW5kOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHNob3J0X2Rlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHR5cGU6IElUaW1lbGluZUV2ZW50VHlwZSB8IElCbWJUaW1lbGluZUN1c3RvbUV2ZW50O1xuICByZWxhdGVkX3RvPzogc3RyaW5nW107XG4gIGRlY2lzaW9uPzogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBpbWFnZTogc3RyaW5nO1xuICBwaWN0dXJlX3Byb2ZpbGU/OiBzdHJpbmc7XG4gIGRpZmY/OiBudW1iZXI7XG4gIHN0YXJ0RXZlbnQ/OiBEYXRlVGltZTtcbiAgZW5kRXZlbnQ/OiBEYXRlVGltZTtcbiAgb3JpZ2luYWxTdGFydD86IERhdGVUaW1lO1xuICB1c2VyX2ZpcnN0X25hbWU/OiBzdHJpbmc7XG4gIHVzZXJfbGFzdF9uYW1lPzogc3RyaW5nO1xuICB1c2VyX2VtYWlsPzogc3RyaW5nO1xuICB0YWdzPzogc3RyaW5nW107XG4gIGljb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIElUaW1lbGluZUV2ZW50VHlwZSA9XG4gIHwgJ3BlbmRpbmcnXG4gIHwgJ2RvbmUnXG4gIHwgJ2FjdGl2ZSdcbiAgfCAndW5kZXJfcmV2aWV3J1xuICB8ICdjYW5jZWxlZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJtYlRpbWVsaW5lQ3VzdG9tRXZlbnQge1xuICB0ZXh0OiBzdHJpbmc7XG4gIHR5cGU6IElCYm1CZ0FwcGVhcmFuY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRpbWVsaW5lRXZlbnRQYXJzZWQgZXh0ZW5kcyBJVGltZWxpbmVFdmVudCB7XG4gIHN0YXJ0RXZlbnQ6IERhdGVUaW1lO1xuICBlbmRFdmVudDogRGF0ZVRpbWU7XG4gIHNlbGVjdGVkOiBib29sZWFuO1xuICBkaWZmOiBudW1iZXI7XG4gIG9yaWdpbmFsU3RhcnQ6IERhdGVUaW1lO1xuICBkYXRlOiBEYXRlVGltZTtcbiAgZXZlbnRzOiBJVGltZWxpbmVFdmVudFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElCbWJUaW1lc3RyZWFtRmlsdGVycyB7XG4gIGluc3RhbmNlcz86IHN0cmluZztcbiAgdGV4dD86IHN0cmluZztcbiAgdHlwZT86IHN0cmluZ1tdO1xufVxuIl19
@@ -0,0 +1,139 @@
1
+ import { ChangeDetectionStrategy, Component, input, signal, ViewEncapsulation, } from '@angular/core';
2
+ import { BmbHomeCardComponent } from '../bmb-home-card/bmb-home-card.component';
3
+ import { BmbTimestreamComponent, } from '../bmb-timestream/bmb-timestream.component';
4
+ import { BmbFilterCardComponent } from '../bmb-filter-card/bmb-filter-card.component';
5
+ import { BmbCardComponent, BmbCardContentComponent, } from '../bmb-card/bmb-card.component';
6
+ import { BmbIconComponent } from '../bmb-icon/bmb-icon.component';
7
+ import { timestreamFilter } from '../../utils/timestreamFilters';
8
+ import { CommonModule } from '@angular/common';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/common";
11
+ export class BmbTimestreamCardComponent {
12
+ constructor() {
13
+ this.title = input.required();
14
+ this.subtitle = input();
15
+ this.dataLocalNav = input([]);
16
+ this.icon = input('trending_up');
17
+ this.bgIconAppearance = input('mitec-red');
18
+ this.lang = input('es');
19
+ this.dateFormat = input('dd/MM/yyyy');
20
+ this.events = input([]);
21
+ this.clamp = { min: 0, max: '100%', size: '100%' };
22
+ this.isMobile = false;
23
+ this.actionHeaders = [
24
+ {
25
+ icon: 'tune',
26
+ isToggleActive: false,
27
+ action: () => {
28
+ this.handleCloseFilters();
29
+ },
30
+ },
31
+ ];
32
+ this.isFiltersEnabled = false;
33
+ this.filteredEvents = signal([]);
34
+ this.filters = [
35
+ {
36
+ title: 'Tipo',
37
+ control: [
38
+ {
39
+ name: 'pending',
40
+ type: 'checkbox',
41
+ label: 'Pendiente',
42
+ checked: false,
43
+ },
44
+ {
45
+ name: 'done',
46
+ type: 'checkbox',
47
+ label: 'Finalizado',
48
+ checked: false,
49
+ },
50
+ {
51
+ name: 'active',
52
+ type: 'checkbox',
53
+ label: 'Iniciado',
54
+ checked: false,
55
+ },
56
+ {
57
+ name: 'under_review',
58
+ type: 'checkbox',
59
+ label: 'En revisión',
60
+ checked: false,
61
+ },
62
+ ],
63
+ },
64
+ {
65
+ title: 'Instacias',
66
+ control: [
67
+ {
68
+ name: 'instances',
69
+ type: 'radial',
70
+ label: 'Todas',
71
+ checked: true,
72
+ },
73
+ {
74
+ name: 'instances',
75
+ type: 'radial',
76
+ label: 'Múltiple',
77
+ checked: false,
78
+ },
79
+ {
80
+ name: 'instances',
81
+ type: 'radial',
82
+ label: 'Una',
83
+ checked: false,
84
+ },
85
+ ],
86
+ },
87
+ ];
88
+ }
89
+ ngOnInit() {
90
+ this.filteredEvents.set(this.events());
91
+ }
92
+ handleCloseFilters() {
93
+ this.isFiltersEnabled = !this.isFiltersEnabled;
94
+ }
95
+ handleFiltersChange(filters) {
96
+ this.isFiltersEnabled = !this.isFiltersEnabled;
97
+ const activeFilters = Object.keys(filters);
98
+ const validFilters = activeFilters.filter((filter) => {
99
+ if (typeof filters[filter] === 'string')
100
+ return filters[filter] !== '';
101
+ return filters[filter].checked;
102
+ });
103
+ if (!validFilters.length) {
104
+ this.filteredEvents.set(this.events());
105
+ }
106
+ else {
107
+ const filtersValue = validFilters.reduce((obj, filter) => {
108
+ if (filter === 'instances')
109
+ return { ...obj, instances: filters[filter].label };
110
+ if (filter === 'search')
111
+ return { ...obj, text: filters[filter] };
112
+ const types = obj?.type || [];
113
+ return { ...obj, type: [...types, filter] };
114
+ }, {});
115
+ this.filteredEvents.set(timestreamFilter(this.events(), filtersValue));
116
+ }
117
+ }
118
+ getClassList() {
119
+ const classList = ['bmb-timestream-card-filters'];
120
+ if (this.isFiltersEnabled)
121
+ classList.push('bmb-timestream-card-filters-active');
122
+ return classList;
123
+ }
124
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbTimestreamCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
125
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: BmbTimestreamCardComponent, isStandalone: true, selector: "bmb-timestream-card", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, subtitle: { classPropertyName: "subtitle", publicName: "subtitle", isSignal: true, isRequired: false, transformFunction: null }, dataLocalNav: { classPropertyName: "dataLocalNav", publicName: "dataLocalNav", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, bgIconAppearance: { classPropertyName: "bgIconAppearance", publicName: "bgIconAppearance", isSignal: true, isRequired: false, transformFunction: null }, lang: { classPropertyName: "lang", publicName: "lang", isSignal: true, isRequired: false, transformFunction: null }, dateFormat: { classPropertyName: "dateFormat", publicName: "dateFormat", isSignal: true, isRequired: false, transformFunction: null }, events: { classPropertyName: "events", publicName: "events", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<section class=\"bmb-timestream-card\">\n <bmb-home-card\n [icon]=\"icon()\"\n [bgIconAppearance]=\"bgIconAppearance()\"\n [title]=\"title()\"\n [subtitle]=\"subtitle()\"\n [dataLocalNav]=\"dataLocalNav()\"\n [isMobile]=\"isMobile\"\n [actionHeaders]=\"actionHeaders\"\n contentPadding=\"none\"\n >\n <bmb-timestream\n [events]=\"filteredEvents()\"\n [dateFormat]=\"dateFormat()\"\n [clamp]=\"clamp\"\n [lang]=\"lang()\"\n />\n </bmb-home-card>\n <section [ngClass]=\"getClassList()\">\n <bmb-card>\n <bmb-card-content>\n <header class=\"bmb-timestream-card-filters-header\">\n <h2 class=\"bmb-timestream-card-filters-header-title\">\n Opciones de filtrado\n </h2>\n <button (click)=\"handleCloseFilters()\">\n <bmb-icon\n icon=\"close\"\n [size]=\"20\"\n [alt]=\"subtitle() || 'Cerrar filtros'\"\n />\n </button>\n </header>\n <bmb-filter-card\n [inLine]=\"true\"\n primaryBtnLabel=\"Aplicar filtros\"\n secondaryBtnLabel=\"Limpiar filtros\"\n [controlTypes]=\"filters\"\n (applyFilters)=\"handleFiltersChange($event)\"\n />\n </bmb-card-content>\n </bmb-card>\n </section>\n</section>\n", styles: [".bmb-timestream-card{width:100%;height:100%;position:relative}.bmb-timestream-card bmb-home-card{width:100%;height:100%;display:block}.bmb-timestream-card .bmb_home-card{display:flex;flex-direction:column;height:100%}.bmb-timestream-card .bmb_home-card .bmb_home-card-container{flex:1}.bmb-timestream-card .bmb_home-card .bmb_home-card-wrapper{display:flex;flex-direction:column;height:100%}.bmb-timestream-card-filters{position:absolute;right:0;top:0;max-width:100%;overflow:hidden;height:0}.bmb-timestream-card-filters-active{height:auto;z-index:1}.bmb-timestream-card-filters-header{display:flex;gap:var(--bmb-spacing-m);margin-bottom:var(--bmb-spacing-m)}.bmb-timestream-card-filters-header button{color:inherit}.bmb-timestream-card-filters-header-title{flex:1}\n"], dependencies: [{ kind: "component", type: BmbHomeCardComponent, selector: "bmb-home-card", inputs: ["title", "subtitle", "dataLocalNav", "leftIcon", "icon", "iconSize", "bgIconAppearance", "actionHeaders", "isMobile", "contentPadding", "showRightButton", "isExpanded", "useAutoExpand"], outputs: ["isExpandedChange", "onClose", "onBack", "onExpandClick"] }, { kind: "component", type: BmbIconComponent, selector: "bmb-icon", inputs: ["icon", "materialIcon", "styleIcon", "isFill", "fontWeight", "size", "alt", "dotNotification"] }, { kind: "component", type: BmbTimestreamComponent, selector: "bmb-timestream", inputs: ["isMicro", "lang", "dateFormat", "events", "clamp"] }, { kind: "component", type: BmbFilterCardComponent, selector: "bmb-filter-card", inputs: ["modalTitle", "primaryBtnLabel", "secondaryBtnLabel", "icon", "placeholderSearch", "controlTypes", "inLine", "showDropdown", "dropdownOptions"], outputs: ["applyFilters", "resetFilters"] }, { kind: "component", type: BmbCardComponent, selector: "bmb-card", inputs: ["borderRadius", "margin", "type", "state", "boxShadowStyle", "borderColor", "alternative"] }, { kind: "component", type: BmbCardContentComponent, selector: "bmb-card-content", inputs: ["padding", "colorBackground"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
126
+ }
127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbTimestreamCardComponent, decorators: [{
128
+ type: Component,
129
+ args: [{ selector: 'bmb-timestream-card', standalone: true, imports: [
130
+ BmbHomeCardComponent,
131
+ BmbIconComponent,
132
+ BmbTimestreamComponent,
133
+ BmbFilterCardComponent,
134
+ BmbCardComponent,
135
+ BmbCardContentComponent,
136
+ CommonModule,
137
+ ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<section class=\"bmb-timestream-card\">\n <bmb-home-card\n [icon]=\"icon()\"\n [bgIconAppearance]=\"bgIconAppearance()\"\n [title]=\"title()\"\n [subtitle]=\"subtitle()\"\n [dataLocalNav]=\"dataLocalNav()\"\n [isMobile]=\"isMobile\"\n [actionHeaders]=\"actionHeaders\"\n contentPadding=\"none\"\n >\n <bmb-timestream\n [events]=\"filteredEvents()\"\n [dateFormat]=\"dateFormat()\"\n [clamp]=\"clamp\"\n [lang]=\"lang()\"\n />\n </bmb-home-card>\n <section [ngClass]=\"getClassList()\">\n <bmb-card>\n <bmb-card-content>\n <header class=\"bmb-timestream-card-filters-header\">\n <h2 class=\"bmb-timestream-card-filters-header-title\">\n Opciones de filtrado\n </h2>\n <button (click)=\"handleCloseFilters()\">\n <bmb-icon\n icon=\"close\"\n [size]=\"20\"\n [alt]=\"subtitle() || 'Cerrar filtros'\"\n />\n </button>\n </header>\n <bmb-filter-card\n [inLine]=\"true\"\n primaryBtnLabel=\"Aplicar filtros\"\n secondaryBtnLabel=\"Limpiar filtros\"\n [controlTypes]=\"filters\"\n (applyFilters)=\"handleFiltersChange($event)\"\n />\n </bmb-card-content>\n </bmb-card>\n </section>\n</section>\n", styles: [".bmb-timestream-card{width:100%;height:100%;position:relative}.bmb-timestream-card bmb-home-card{width:100%;height:100%;display:block}.bmb-timestream-card .bmb_home-card{display:flex;flex-direction:column;height:100%}.bmb-timestream-card .bmb_home-card .bmb_home-card-container{flex:1}.bmb-timestream-card .bmb_home-card .bmb_home-card-wrapper{display:flex;flex-direction:column;height:100%}.bmb-timestream-card-filters{position:absolute;right:0;top:0;max-width:100%;overflow:hidden;height:0}.bmb-timestream-card-filters-active{height:auto;z-index:1}.bmb-timestream-card-filters-header{display:flex;gap:var(--bmb-spacing-m);margin-bottom:var(--bmb-spacing-m)}.bmb-timestream-card-filters-header button{color:inherit}.bmb-timestream-card-filters-header-title{flex:1}\n"] }]
138
+ }] });
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLXRpbWVzdHJlYW0tY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1uZy9zcmMvbGliL2NvbXBvbmVudHMvYm1iLXRpbWVzdHJlYW0tY2FyZC9ibWItdGltZXN0cmVhbS1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItdGltZXN0cmVhbS1jYXJkL2JtYi10aW1lc3RyZWFtLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFHaEYsT0FBTyxFQUNMLHNCQUFzQixHQUV2QixNQUFNLDRDQUE0QyxDQUFDO0FBRXBELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3RGLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEdBQ3hCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFvQi9DLE1BQU0sT0FBTywwQkFBMEI7SUFqQnZDO1FBa0JFLFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDakMsYUFBUSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQzNCLGlCQUFZLEdBQUcsS0FBSyxDQUFtQixFQUFFLENBQUMsQ0FBQztRQUMzQyxTQUFJLEdBQUcs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QTBCO21HQUExQiwwQkFBMEIscW1DQzNDdkMsOHpDQTRDQSx5ekJEZEksb0JBQW9CLG1VQUNwQixnQkFBZ0IsOEpBQ2hCLHNCQUFzQix5SEFDdEIsc0JBQXNCLGlRQUN0QixnQkFBZ0IsMEpBQ2hCLHVCQUF1QixvR0FDdkIsWUFBWTs7NEZBT0gsMEJBQTBCO2tCQWpCdEMsU0FBUzsrQkFDRSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQO3dCQUNQLG9CQUFvQjt3QkFDcEIsZ0JBQWdCO3dCQUNoQixzQkFBc0I7d0JBQ3RCLHNCQUFzQjt3QkFDdEIsZ0JBQWdCO3dCQUNoQix1QkFBdUI7d0JBQ3ZCLFlBQVk7cUJBQ2IsaUJBR2MsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGlucHV0LFxuICBzaWduYWwsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJtYkhvbWVDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWhvbWUtY2FyZC9ibWItaG9tZS1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJQm1iQ29sb3IgfSBmcm9tICcuLi8uLi90eXBlcy9jb2xvcnMnO1xuaW1wb3J0IHsgSUJtYkRhdGFUb3BCYXIgfSBmcm9tICcuLi9ibWItYnJlYWRjcnVtYi9ibWItYnJlYWRjcnVtYi5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgQm1iVGltZXN0cmVhbUNvbXBvbmVudCxcbiAgSUJtYkNsYW1wLFxufSBmcm9tICcuLi9ibWItdGltZXN0cmVhbS9ibWItdGltZXN0cmVhbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSUJtYlRpbWVzdHJlYW1GaWx0ZXJzLCBJVGltZWxpbmVFdmVudCB9IGZyb20gJy4uL2JtYi10aW1lc3RyZWFtL3R5cGVzJztcbmltcG9ydCB7IEJtYkZpbHRlckNhcmRDb21wb25lbnQgfSBmcm9tICcuLi9ibWItZmlsdGVyLWNhcmQvYm1iLWZpbHRlci1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBCbWJDYXJkQ29tcG9uZW50LFxuICBCbWJDYXJkQ29udGVudENvbXBvbmVudCxcbn0gZnJvbSAnLi4vYm1iLWNhcmQvYm1iLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IEJtYkljb25Db21wb25lbnQgfSBmcm9tICcuLi9ibWItaWNvbi9ibWItaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSUJtYkNvbnRyb2xUeXBlIH0gZnJvbSAnLi4vYm1iLWZpbHRlci1jYXJkL2JtYi1maWx0ZXItY2FyZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgdGltZXN0cmVhbUZpbHRlciB9IGZyb20gJy4uLy4uL3V0aWxzL3RpbWVzdHJlYW1GaWx0ZXJzJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJQm1iQWN0aW9uSGVhZGVyIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdibWItdGltZXN0cmVhbS1jYXJkJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEJtYkhvbWVDYXJkQ29tcG9uZW50LFxuICAgIEJtYkljb25Db21wb25lbnQsXG4gICAgQm1iVGltZXN0cmVhbUNvbXBvbmVudCxcbiAgICBCbWJGaWx0ZXJDYXJkQ29tcG9uZW50LFxuICAgIEJtYkNhcmRDb21wb25lbnQsXG4gICAgQm1iQ2FyZENvbnRlbnRDb21wb25lbnQsXG4gICAgQ29tbW9uTW9kdWxlLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vYm1iLXRpbWVzdHJlYW0tY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9ibWItdGltZXN0cmVhbS1jYXJkLmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEJtYlRpbWVzdHJlYW1DYXJkQ29tcG9uZW50IHtcbiAgdGl0bGUgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gIHN1YnRpdGxlID0gaW5wdXQ8c3RyaW5nPigpO1xuICBkYXRhTG9jYWxOYXYgPSBpbnB1dDxJQm1iRGF0YVRvcEJhcltdPihbXSk7XG4gIGljb24gPSBpbnB1dDxzdHJpbmc+KCd0cmVuZGluZ191cCcpO1xuICBiZ0ljb25BcHBlYXJhbmNlID0gaW5wdXQ8SUJtYkNvbG9yPignbWl0ZWMtcmVkJyk7XG5cbiAgbGFuZyA9IGlucHV0PHN0cmluZz4oJ2VzJyk7XG4gIGRhdGVGb3JtYXQgPSBpbnB1dDxzdHJpbmc+KCdkZC9NTS95eXl5Jyk7XG4gIGV2ZW50cyA9IGlucHV0PElUaW1lbGluZUV2ZW50W10+KFtdKTtcblxuICBjbGFtcDogSUJtYkNsYW1wID0geyBtaW46IDAsIG1heDogJzEwMCUnLCBzaXplOiAnMTAwJScgfTtcbiAgaXNNb2JpbGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgYWN0aW9uSGVhZGVyczogSUJtYkFjdGlvbkhlYWRlcltdID0gW1xuICAgIHtcbiAgICAgIGljb246ICd0dW5lJyxcbiAgICAgIGlzVG9nZ2xlQWN0aXZlOiBmYWxzZSxcbiAgICAgIGFjdGlvbjogKCkgPT4ge1xuICAgICAgICB0aGlzLmhhbmRsZUNsb3NlRmlsdGVycygpO1xuICAgICAgfSxcbiAgICB9LFxuICBdO1xuICBpc0ZpbHRlcnNFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIGZpbHRlcmVkRXZlbnRzID0gc2lnbmFsPElUaW1lbGluZUV2ZW50W10+KFtdKTtcbiAgZmlsdGVyczogSUJtYkNvbnRyb2xUeXBlW10gPSBbXG4gICAge1xuICAgICAgdGl0bGU6ICdUaXBvJyxcbiAgICAgIGNvbnRyb2w6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdwZW5kaW5nJyxcbiAgICAgICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgICAgIGxhYmVsOiAnUGVuZGllbnRlJyxcbiAgICAgICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdkb25lJyxcbiAgICAgICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgICAgIGxhYmVsOiAnRmluYWxpemFkbycsXG4gICAgICAgICAgY2hlY2tlZDogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnYWN0aXZlJyxcbiAgICAgICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgICAgIGxhYmVsOiAnSW5pY2lhZG8nLFxuICAgICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ3VuZGVyX3JldmlldycsXG4gICAgICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgICAgICBsYWJlbDogJ0VuIHJldmlzacOzbicsXG4gICAgICAgICAgY2hlY2tlZDogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdJbnN0YWNpYXMnLFxuICAgICAgY29udHJvbDogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ2luc3RhbmNlcycsXG4gICAgICAgICAgdHlwZTogJ3JhZGlhbCcsXG4gICAgICAgICAgbGFiZWw6ICdUb2RhcycsXG4gICAgICAgICAgY2hlY2tlZDogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdpbnN0YW5jZXMnLFxuICAgICAgICAgIHR5cGU6ICdyYWRpYWwnLFxuICAgICAgICAgIGxhYmVsOiAnTcO6bHRpcGxlJyxcbiAgICAgICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdpbnN0YW5jZXMnLFxuICAgICAgICAgIHR5cGU6ICdyYWRpYWwnLFxuICAgICAgICAgIGxhYmVsOiAnVW5hJyxcbiAgICAgICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgXTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmZpbHRlcmVkRXZlbnRzLnNldCh0aGlzLmV2ZW50cygpKTtcbiAgfVxuXG4gIGhhbmRsZUNsb3NlRmlsdGVycygpIHtcbiAgICB0aGlzLmlzRmlsdGVyc0VuYWJsZWQgPSAhdGhpcy5pc0ZpbHRlcnNFbmFibGVkO1xuICB9XG5cbiAgaGFuZGxlRmlsdGVyc0NoYW5nZShmaWx0ZXJzOiBhbnkpIHtcbiAgICB0aGlzLmlzRmlsdGVyc0VuYWJsZWQgPSAhdGhpcy5pc0ZpbHRlcnNFbmFibGVkO1xuICAgIGNvbnN0IGFjdGl2ZUZpbHRlcnMgPSBPYmplY3Qua2V5cyhmaWx0ZXJzKTtcbiAgICBjb25zdCB2YWxpZEZpbHRlcnMgPSBhY3RpdmVGaWx0ZXJzLmZpbHRlcigoZmlsdGVyKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIGZpbHRlcnNbZmlsdGVyXSA9PT0gJ3N0cmluZycpIHJldHVybiBmaWx0ZXJzW2ZpbHRlcl0gIT09ICcnO1xuICAgICAgcmV0dXJuIGZpbHRlcnNbZmlsdGVyXS5jaGVja2VkO1xuICAgIH0pO1xuXG4gICAgaWYgKCF2YWxpZEZpbHRlcnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkRXZlbnRzLnNldCh0aGlzLmV2ZW50cygpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZmlsdGVyc1ZhbHVlID0gdmFsaWRGaWx0ZXJzLnJlZHVjZShcbiAgICAgICAgKG9iajogSUJtYlRpbWVzdHJlYW1GaWx0ZXJzLCBmaWx0ZXIpID0+IHtcbiAgICAgICAgICBpZiAoZmlsdGVyID09PSAnaW5zdGFuY2VzJylcbiAgICAgICAgICAgIHJldHVybiB7IC4uLm9iaiwgaW5zdGFuY2VzOiBmaWx0ZXJzW2ZpbHRlcl0ubGFiZWwgfTtcbiAgICAgICAgICBpZiAoZmlsdGVyID09PSAnc2VhcmNoJykgcmV0dXJuIHsgLi4ub2JqLCB0ZXh0OiBmaWx0ZXJzW2ZpbHRlcl0gfTtcbiAgICAgICAgICBjb25zdCB0eXBlcyA9IG9iaj8udHlwZSB8fCBbXTtcbiAgICAgICAgICByZXR1cm4geyAuLi5vYmosIHR5cGU6IFsuLi50eXBlcywgZmlsdGVyXSB9O1xuICAgICAgICB9LFxuICAgICAgICB7fSxcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuZmlsdGVyZWRFdmVudHMuc2V0KHRpbWVzdHJlYW1GaWx0ZXIodGhpcy5ldmVudHMoKSwgZmlsdGVyc1ZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0Q2xhc3NMaXN0KCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBjbGFzc0xpc3QgPSBbJ2JtYi10aW1lc3RyZWFtLWNhcmQtZmlsdGVycyddO1xuICAgIGlmICh0aGlzLmlzRmlsdGVyc0VuYWJsZWQpXG4gICAgICBjbGFzc0xpc3QucHVzaCgnYm1iLXRpbWVzdHJlYW0tY2FyZC1maWx0ZXJzLWFjdGl2ZScpO1xuICAgIHJldHVybiBjbGFzc0xpc3Q7XG4gIH1cbn1cbiIsIjxzZWN0aW9uIGNsYXNzPVwiYm1iLXRpbWVzdHJlYW0tY2FyZFwiPlxuICA8Ym1iLWhvbWUtY2FyZFxuICAgIFtpY29uXT1cImljb24oKVwiXG4gICAgW2JnSWNvbkFwcGVhcmFuY2VdPVwiYmdJY29uQXBwZWFyYW5jZSgpXCJcbiAgICBbdGl0bGVdPVwidGl0bGUoKVwiXG4gICAgW3N1YnRpdGxlXT1cInN1YnRpdGxlKClcIlxuICAgIFtkYXRhTG9jYWxOYXZdPVwiZGF0YUxvY2FsTmF2KClcIlxuICAgIFtpc01vYmlsZV09XCJpc01vYmlsZVwiXG4gICAgW2FjdGlvbkhlYWRlcnNdPVwiYWN0aW9uSGVhZGVyc1wiXG4gICAgY29udGVudFBhZGRpbmc9XCJub25lXCJcbiAgPlxuICAgIDxibWItdGltZXN0cmVhbVxuICAgICAgW2V2ZW50c109XCJmaWx0ZXJlZEV2ZW50cygpXCJcbiAgICAgIFtkYXRlRm9ybWF0XT1cImRhdGVGb3JtYXQoKVwiXG4gICAgICBbY2xhbXBdPVwiY2xhbXBcIlxuICAgICAgW2xhbmddPVwibGFuZygpXCJcbiAgICAvPlxuICA8L2JtYi1ob21lLWNhcmQ+XG4gIDxzZWN0aW9uIFtuZ0NsYXNzXT1cImdldENsYXNzTGlzdCgpXCI+XG4gICAgPGJtYi1jYXJkPlxuICAgICAgPGJtYi1jYXJkLWNvbnRlbnQ+XG4gICAgICAgIDxoZWFkZXIgY2xhc3M9XCJibWItdGltZXN0cmVhbS1jYXJkLWZpbHRlcnMtaGVhZGVyXCI+XG4gICAgICAgICAgPGgyIGNsYXNzPVwiYm1iLXRpbWVzdHJlYW0tY2FyZC1maWx0ZXJzLWhlYWRlci10aXRsZVwiPlxuICAgICAgICAgICAgT3BjaW9uZXMgZGUgZmlsdHJhZG9cbiAgICAgICAgICA8L2gyPlxuICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImhhbmRsZUNsb3NlRmlsdGVycygpXCI+XG4gICAgICAgICAgICA8Ym1iLWljb25cbiAgICAgICAgICAgICAgaWNvbj1cImNsb3NlXCJcbiAgICAgICAgICAgICAgW3NpemVdPVwiMjBcIlxuICAgICAgICAgICAgICBbYWx0XT1cInN1YnRpdGxlKCkgfHwgJ0NlcnJhciBmaWx0cm9zJ1wiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2hlYWRlcj5cbiAgICAgICAgPGJtYi1maWx0ZXItY2FyZFxuICAgICAgICAgIFtpbkxpbmVdPVwidHJ1ZVwiXG4gICAgICAgICAgcHJpbWFyeUJ0bkxhYmVsPVwiQXBsaWNhciBmaWx0cm9zXCJcbiAgICAgICAgICBzZWNvbmRhcnlCdG5MYWJlbD1cIkxpbXBpYXIgZmlsdHJvc1wiXG4gICAgICAgICAgW2NvbnRyb2xUeXBlc109XCJmaWx0ZXJzXCJcbiAgICAgICAgICAoYXBwbHlGaWx0ZXJzKT1cImhhbmRsZUZpbHRlcnNDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIC8+XG4gICAgICA8L2JtYi1jYXJkLWNvbnRlbnQ+XG4gICAgPC9ibWItY2FyZD5cbiAgPC9zZWN0aW9uPlxuPC9zZWN0aW9uPlxuIl19