@ti-tecnologico-de-monterrey-oficial/ds-ng 1.5.1120 → 1.5.1217
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.
- package/assets/images/placeholders/credential.svg +69 -69
- package/assets/images/placeholders/user-icon-test.svg +9 -9
- package/assets/styles/main.min.css +1 -1
- package/assets/styles/main.min.css.map +1 -1
- package/esm2022/lib/components/bmb-academic-progress/bmb-academic-progress.component.mjs +87 -0
- package/esm2022/lib/components/bmb-accordion/bmb-accordion.component.mjs +159 -0
- package/esm2022/lib/components/bmb-account-statement/bmb-account-statement.component.mjs +172 -0
- package/esm2022/lib/components/bmb-action-icon/bmb-action-icon.component.mjs +49 -0
- package/esm2022/lib/components/bmb-action-menu/bmb-action-menu.component.mjs +31 -0
- package/esm2022/lib/components/bmb-advertisement-card/bmb-advertisement-card.component.mjs +35 -0
- package/esm2022/lib/components/bmb-advertisement-card/types.mjs +2 -0
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-ads/bmb-alert-center-ads.component.mjs +40 -0
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-empty/bmb-alert-center-empty.component.mjs +18 -0
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-form/bmb-alert-center-form.component.mjs +148 -0
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-list/bmb-alert-center-list.component.mjs +52 -0
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center.component.mjs +203 -0
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center.service.mjs +62 -0
- package/esm2022/lib/components/bmb-alert-center/types.mjs +2 -0
- package/esm2022/lib/components/bmb-badge/bmb-badge.component.mjs +26 -0
- package/esm2022/lib/components/bmb-balance-overview/bmb-balance-overview.component.mjs +26 -0
- package/esm2022/lib/components/bmb-bookmark/bmb-bookmark.component.mjs +27 -0
- package/esm2022/lib/components/bmb-bottom-navigation-bar/bmb-bottom-navigation-bar.component.mjs +42 -0
- package/esm2022/lib/components/bmb-breadcrumb/bmb-breadcrumb.component.mjs +55 -0
- package/esm2022/lib/components/bmb-button-icon/bmb-button-icon.component.mjs +30 -0
- package/esm2022/lib/components/bmb-calendar/bmb-calendar.component.mjs +285 -0
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-header/bmb-calendar-header.component.mjs +95 -0
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-hour-view/bmb-calendar-hour-view.component.mjs +40 -0
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-schedule-cards/bmb-calendar-schedule-cards.component.mjs +68 -0
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-day/bmb-calendar-template-day.component.mjs +41 -0
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-mobile/bmb-calendar-template-mobile.component.mjs +95 -0
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-month/bmb-calendar-template-month.component.mjs +45 -0
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-week/bmb-calendar-template-week.component.mjs +54 -0
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-time-indicator/bmb-calendar-time-indicator.component.mjs +24 -0
- package/esm2022/lib/components/bmb-calendar/types.mjs +2 -0
- package/esm2022/lib/components/bmb-calendar/utils.mjs +96 -0
- package/esm2022/lib/components/bmb-card/bmb-card.component.mjs +159 -0
- package/esm2022/lib/components/bmb-card-button/bmb-card-button.component.mjs +76 -0
- package/esm2022/lib/components/bmb-carousel/bmb-carousel.component.mjs +80 -0
- package/esm2022/lib/components/bmb-chat-bar/bmb-chat-bar.component.mjs +199 -0
- package/esm2022/lib/components/bmb-chat-bar/bot_list.mjs +57 -0
- package/esm2022/lib/components/bmb-chat-bar/types.mjs +2 -0
- package/esm2022/lib/components/bmb-chat-bubbles/bmb-chat-bubbles.component.mjs +56 -0
- package/esm2022/lib/components/bmb-chat-bubbles/types.mjs +2 -0
- package/esm2022/lib/components/bmb-check-external-link-button/bmb-check-external-link-button.component.mjs +46 -0
- package/esm2022/lib/components/bmb-checkbox/bmb-checkbox.component.mjs +80 -0
- package/esm2022/lib/components/bmb-chevron-title-selector/bmb-chevron-title-selector.component.mjs +36 -0
- package/esm2022/lib/components/bmb-container/bmb-container.component.mjs +27 -0
- package/esm2022/lib/components/bmb-container-button/bmb-container-button.component.mjs +96 -0
- package/esm2022/lib/components/bmb-date-range/bmb-date-range.component.mjs +69 -0
- package/esm2022/lib/components/bmb-datepicker/bmb-datepicker-modal/bmb-datepicker-modal.component.mjs +206 -0
- package/esm2022/lib/components/bmb-datepicker/bmb-datepicker.component.mjs +144 -0
- package/esm2022/lib/components/bmb-digital-id/bmb-digital-id.component.mjs +54 -0
- package/esm2022/lib/components/bmb-divider/bmb-divider.component.mjs +25 -0
- package/esm2022/lib/components/bmb-dot-paginator/bmb-dot-paginator.component.mjs +34 -0
- package/esm2022/lib/components/bmb-drawer-overlay/bmb-drawer-overlay.component.mjs +65 -0
- package/esm2022/lib/components/bmb-dropdown/bmb-dropdown.component.mjs +177 -0
- package/esm2022/lib/components/bmb-dropdown-menu/bmb-dropdown-menu.component.mjs +31 -0
- package/esm2022/lib/components/bmb-dropzone/bmb-dropzone.component.mjs +175 -0
- package/esm2022/lib/components/bmb-evaluation-rubric/bmb-evaluation-rubric.component.mjs +76 -0
- package/esm2022/lib/components/bmb-external-link/bmb-external-link.component.mjs +80 -0
- package/esm2022/lib/components/bmb-fab/bmb-fab-.interface.mjs +9 -0
- package/esm2022/lib/components/bmb-fab/bmb-fab.component.mjs +37 -0
- package/esm2022/lib/components/bmb-filter-card/bmb-filter-card.component.mjs +166 -0
- package/esm2022/lib/components/bmb-filter-card/bmb-filter-card.interface.mjs +2 -0
- package/esm2022/lib/components/bmb-focus-element/bmb-focus-element.component.mjs +36 -0
- package/esm2022/lib/components/bmb-form-validator/bmb-form-validator.component.mjs +159 -0
- package/esm2022/lib/components/bmb-frequent-apps-selector/bmb-frequent-apps-selector.component.mjs +29 -0
- package/esm2022/lib/components/bmb-grade-value/bmb-grade-value.component.mjs +22 -0
- package/esm2022/lib/components/bmb-grades/bmb-grades.component.mjs +178 -0
- package/esm2022/lib/components/bmb-grades/types.mjs +2 -0
- package/esm2022/lib/components/bmb-header-mitec/bmb-header-mitec.component.mjs +55 -0
- package/esm2022/lib/components/bmb-header-mobile/bmb-header-mobile.component.mjs +49 -0
- package/esm2022/lib/components/bmb-hito-card/bmb-hito-card.component.mjs +86 -0
- package/esm2022/lib/components/bmb-hito-list/bmb-hito-list.component.mjs +59 -0
- package/esm2022/lib/components/bmb-home-card/bmb-home-card-header/bmb-home-card-header.component.mjs +76 -0
- package/esm2022/lib/components/bmb-home-card/bmb-home-card.component.mjs +41 -0
- package/esm2022/lib/components/bmb-home-card-chat/bmb-home-card-chat.component.mjs +39 -0
- package/esm2022/lib/components/bmb-home-section/bmb-home-section.component.mjs +20 -0
- package/esm2022/lib/components/bmb-icon/bmb-icon.component.mjs +50 -0
- package/esm2022/lib/components/bmb-icon/types.mjs +2 -0
- package/esm2022/lib/components/bmb-icon-item/bmb-icon-item.component.mjs +23 -0
- package/esm2022/lib/components/bmb-icon-status/bmb-icon-status.component.mjs +24 -0
- package/esm2022/lib/components/bmb-iframe/bmb-iframe.component.mjs +19 -0
- package/esm2022/lib/components/bmb-iframe/bmb-iframe.pipe.mjs +21 -0
- package/esm2022/lib/components/bmb-image/bmb-image.component.mjs +33 -0
- package/esm2022/lib/components/bmb-inner-header/bmb-inner-header.component.mjs +77 -0
- package/esm2022/lib/components/bmb-input/bmb-input-content/bmb-input-content.component.mjs +146 -0
- package/esm2022/lib/components/bmb-input/bmb-input-validator/bmb-input-validator.component.mjs +178 -0
- package/esm2022/lib/components/bmb-input/bmb-input.component.mjs +85 -0
- package/esm2022/lib/components/bmb-input-phone-number/bmb-input-phone-number.component.mjs +219 -0
- package/esm2022/lib/components/bmb-input-tags/bmb-input-tags.component.mjs +191 -0
- package/esm2022/lib/components/bmb-interactive-icon/bmb-interactive-icon.component.mjs +54 -0
- package/esm2022/lib/components/bmb-invoice/bmb-invoice.component.mjs +34 -0
- package/esm2022/lib/components/bmb-item/bmb-item.component.mjs +28 -0
- package/esm2022/lib/components/bmb-legend/bmb-legend.component.mjs +23 -0
- package/esm2022/lib/components/bmb-list-group/bmb-list-group-item/bmb-list-group-item.component.mjs +83 -0
- package/esm2022/lib/components/bmb-list-group/bmb-list-group.component.mjs +60 -0
- package/esm2022/lib/components/bmb-list-group/bmb-list-group.service.mjs +55 -0
- package/esm2022/lib/components/bmb-list-group/types.mjs +2 -0
- package/esm2022/lib/components/bmb-list-items/bmb-list-items.component.mjs +83 -0
- package/esm2022/lib/components/bmb-loader/bmb-loader.component.mjs +77 -0
- package/esm2022/lib/components/bmb-login/bmb-login-content/bmb-login-content.component.mjs +55 -0
- package/esm2022/lib/components/bmb-login/bmb-login.component.mjs +66 -0
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-logged/bmb-login-onboarding-logged.component.mjs +40 -0
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-login/bmb-login-onboarding-login.component.mjs +20 -0
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-logout/bmb-login-onboarding-logout.component.mjs +33 -0
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-four.component.mjs +91 -0
- 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
- 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
- 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
- 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
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper.component.mjs +44 -0
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding.component.mjs +52 -0
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding.service.mjs +70 -0
- package/esm2022/lib/components/bmb-login-onboarding/types.mjs +2 -0
- package/esm2022/lib/components/bmb-logo/bmb-logo.component.mjs +43 -0
- package/esm2022/lib/components/bmb-media-card/bmb-media-card.component.mjs +64 -0
- package/esm2022/lib/components/bmb-mitec-logo-animation/bmb-mitec-logo-animation.component.mjs +14 -0
- package/esm2022/lib/components/bmb-mobile-templates/bmb-mobile-templates.component.mjs +88 -0
- package/esm2022/lib/components/bmb-modal/bmb-modal.component.mjs +139 -0
- package/esm2022/lib/components/bmb-modal/bmb-modal.interface.mjs +2 -0
- package/esm2022/lib/components/bmb-modal/bmb-native-modal.component.mjs +121 -0
- package/esm2022/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator-item/bmb-multi-dot-paginator-item.component.mjs +15 -0
- package/esm2022/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator.component.mjs +59 -0
- package/esm2022/lib/components/bmb-navigation-bar/bmb-navigation-bar.component.mjs +30 -0
- package/esm2022/lib/components/bmb-notice-card/bmb-notice-card.component.mjs +43 -0
- package/esm2022/lib/components/bmb-notification-card/bmb-notification-card.component.mjs +86 -0
- package/esm2022/lib/components/bmb-notification-counter/bmb-notification-counter.component.mjs +23 -0
- package/esm2022/lib/components/bmb-overlay/bmb-overlay.component.mjs +22 -0
- package/esm2022/lib/components/bmb-paginator/bmb-paginator.component.mjs +52 -0
- package/esm2022/lib/components/bmb-portal/bmb-portal.component.mjs +58 -0
- package/esm2022/lib/components/bmb-portal/bmb-projected-content/bmb-projected-content.component.mjs +120 -0
- package/esm2022/lib/components/bmb-profile/bmb-profile.component.mjs +153 -0
- package/esm2022/lib/components/bmb-progress-bar/bmb-progress-bar.component.mjs +39 -0
- package/esm2022/lib/components/bmb-progress-cirlce/bmb-progress-circle.component.mjs +196 -0
- package/esm2022/lib/components/bmb-progress-cirlce/bmb-progress-circle.interface.mjs +2 -0
- package/esm2022/lib/components/bmb-pull-wedge/bmb-pull-wedge.component.mjs +88 -0
- package/esm2022/lib/components/bmb-push-notification/bmb-push-notification-item/bmb-push-notification-item.component.mjs +75 -0
- package/esm2022/lib/components/bmb-push-notification/bmb-push-notification.component.mjs +24 -0
- package/esm2022/lib/components/bmb-push-notification/types.mjs +2 -0
- package/esm2022/lib/components/bmb-radial/bmb-radial.component.mjs +78 -0
- package/esm2022/lib/components/bmb-search-input/bmb-search-input.component.mjs +122 -0
- package/esm2022/lib/components/bmb-server-table/bmb-server-table.component.mjs +82 -0
- package/esm2022/lib/components/bmb-sidebar/bmb-sidebar.component.mjs +97 -0
- package/esm2022/lib/components/bmb-sidebar/bmb-sidebar.interface.mjs +2 -0
- package/esm2022/lib/components/bmb-simple-header/bmb-simple-header.component.mjs +64 -0
- package/esm2022/lib/components/bmb-skeleton/bmb-skeleton.component.mjs +16 -0
- package/esm2022/lib/components/bmb-sounds-card/bmb-sounds-card.component.mjs +64 -0
- package/esm2022/lib/components/bmb-stat-counter/bmb-stat-counter.component.mjs +32 -0
- package/esm2022/lib/components/bmb-step-progress-bar/bmb-step-progress-bar.component.mjs +55 -0
- package/esm2022/lib/components/bmb-student-activity-card/bmb-student-activity-card.component.mjs +53 -0
- package/esm2022/lib/components/bmb-student-activity-selector/bmb-student-activity-tab/bmb-student-activity-tab.component.mjs +27 -0
- package/esm2022/lib/components/bmb-switch/bmb-switch.component.mjs +88 -0
- package/esm2022/lib/components/bmb-tables/bmb-tables.component.mjs +541 -0
- package/esm2022/lib/components/bmb-tables/bmb-tables.interface.mjs +2 -0
- package/esm2022/lib/components/bmb-tabs/bmb-tabs.component.mjs +132 -0
- package/esm2022/lib/components/bmb-tags/bmb-tags.component.mjs +65 -0
- package/esm2022/lib/components/bmb-text-editor/bmb-text-editor.component.mjs +135 -0
- package/esm2022/lib/components/bmb-text-link/bmb-text-link.component.mjs +43 -0
- package/esm2022/lib/components/bmb-theme/bmb-theme.component.mjs +65 -0
- package/esm2022/lib/components/bmb-three-cols/bmb-three-cols.component.mjs +30 -0
- package/esm2022/lib/components/bmb-timestream/bmb-timestream-detail/bmb-timestream-detail.component.mjs +74 -0
- package/esm2022/lib/components/bmb-timestream/bmb-timestream-error/bmb-timestream-error.component.mjs +13 -0
- package/esm2022/lib/components/bmb-timestream/bmb-timestream.component.mjs +236 -0
- package/esm2022/lib/components/bmb-timestream/types.mjs +2 -0
- package/esm2022/lib/components/bmb-timestream-card/bmb-timestream-card.component.mjs +139 -0
- package/esm2022/lib/components/bmb-title-content/bmb-title-content.component.mjs +61 -0
- package/esm2022/lib/components/bmb-toast/bmb-toast.component.mjs +47 -0
- package/esm2022/lib/components/bmb-tooltip/bmb-tooltip.component.mjs +26 -0
- package/esm2022/lib/components/bmb-top-bar/bmb-top-bar-item/bmb-top-bar-item.component.mjs +31 -0
- package/esm2022/lib/components/bmb-top-bar/bmb-top-bar-user-section/bmb-top-bar-user-section.component.mjs +94 -0
- package/esm2022/lib/components/bmb-top-bar/bmb-top-bar.component.mjs +86 -0
- package/esm2022/lib/components/bmb-top-bar/types.mjs +2 -0
- package/esm2022/lib/components/bmb-totp/bmb-totp.component.mjs +139 -0
- package/esm2022/lib/components/bmb-user-image/bmb-user-image.component.mjs +44 -0
- package/esm2022/lib/components/bmb-user-profile/bmb-user-profile-content/bmb-user-profile-content.component.mjs +19 -0
- package/esm2022/lib/components/bmb-user-profile/bmb-user-profile.component.mjs +71 -0
- package/esm2022/lib/components/bmb-user-summary/bmb-user-summary-content/bmb-user-summary-content.component.mjs +61 -0
- package/esm2022/lib/components/bmb-user-summary/bmb-user-summary.component.mjs +28 -0
- package/esm2022/lib/components/bmb-value-counter/bmb-value-counter.component.mjs +23 -0
- package/esm2022/lib/components/bmb-web-templates/bmb-web-templates.component.mjs +85 -0
- package/esm2022/lib/components/bmb-wheel-menu/bmb-wheel-menu.component.mjs +128 -0
- package/esm2022/lib/components/utils/bmb-dropdown-content/bmb-dropdown-content.component.mjs +51 -0
- package/esm2022/lib/directives/bmb-accordion/bmb-accordion-control.directive.mjs +88 -0
- package/esm2022/lib/directives/bmb-button/button.directive.mjs +84 -0
- package/esm2022/lib/directives/bmb-button-group/bmb-button-group.directive.mjs +29 -0
- package/esm2022/lib/directives/bmb-layout/bmb-layout-item.directive.mjs +51 -0
- package/esm2022/lib/directives/bmb-layout/bmb-layout.directive.mjs +36 -0
- package/esm2022/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout-item.directive.mjs +34 -0
- package/esm2022/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout.directive.mjs +37 -0
- package/esm2022/lib/directives/bmb-layout-grid/bmb-layout-grid.directive.mjs +89 -0
- package/esm2022/lib/directives/utils/clickoutside.directive.mjs +41 -0
- package/esm2022/lib/ds-ng.component.mjs +11 -0
- package/esm2022/lib/ds-ng.service.mjs +14 -0
- package/esm2022/lib/services/calendar.service.mjs +51 -0
- package/esm2022/lib/services/index.mjs +3 -0
- package/esm2022/lib/services/native-modal.service.mjs +60 -0
- package/esm2022/lib/services/notification.service.mjs +84 -0
- package/esm2022/lib/services/projection.service.mjs +49 -0
- package/esm2022/lib/services/tabs.service.mjs +30 -0
- package/esm2022/lib/services/theme.service.mjs +30 -0
- package/esm2022/lib/services/toast.service.mjs +24 -0
- package/esm2022/lib/services/user/profile.service.mjs +26 -0
- package/esm2022/lib/types/colors.mjs +2 -0
- package/esm2022/lib/types/index.mjs +11 -0
- package/esm2022/lib/utils/countryCodes.mjs +1089 -0
- package/esm2022/lib/utils/currencyFormat.mjs +7 -0
- package/esm2022/lib/utils/dropdown.mjs +85 -0
- package/esm2022/lib/utils/formControl.mjs +25 -0
- package/esm2022/lib/utils/timestreamFilters.mjs +32 -0
- package/esm2022/lib/utils/utils.mjs +71 -0
- package/esm2022/public-api.mjs +152 -0
- package/esm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs +5 -0
- package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs +2714 -2377
- package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs.map +1 -1
- package/index.d.ts +5 -3744
- package/lib/components/bmb-academic-progress/bmb-academic-progress.component.d.ts +21 -0
- package/lib/components/bmb-accordion/bmb-accordion.component.d.ts +37 -0
- package/lib/components/bmb-account-statement/bmb-account-statement.component.d.ts +56 -0
- package/lib/components/bmb-action-icon/bmb-action-icon.component.d.ts +23 -0
- package/lib/components/bmb-action-menu/bmb-action-menu.component.d.ts +17 -0
- package/lib/components/bmb-advertisement-card/bmb-advertisement-card.component.d.ts +13 -0
- package/lib/components/bmb-advertisement-card/types.d.ts +21 -0
- package/lib/components/bmb-alert-center/bmb-alert-center-ads/bmb-alert-center-ads.component.d.ts +10 -0
- package/lib/components/bmb-alert-center/bmb-alert-center-empty/bmb-alert-center-empty.component.d.ts +7 -0
- package/lib/components/bmb-alert-center/bmb-alert-center-form/bmb-alert-center-form.component.d.ts +31 -0
- package/lib/components/bmb-alert-center/bmb-alert-center-list/bmb-alert-center-list.component.d.ts +20 -0
- package/lib/components/bmb-alert-center/bmb-alert-center.component.d.ts +46 -0
- package/lib/components/bmb-alert-center/bmb-alert-center.service.d.ts +20 -0
- package/lib/components/bmb-alert-center/types.d.ts +64 -0
- package/lib/components/bmb-badge/bmb-badge.component.d.ts +11 -0
- package/lib/components/bmb-balance-overview/bmb-balance-overview.component.d.ts +15 -0
- package/lib/components/bmb-bookmark/bmb-bookmark.component.d.ts +8 -0
- package/lib/components/bmb-bottom-navigation-bar/bmb-bottom-navigation-bar.component.d.ts +25 -0
- package/lib/components/bmb-breadcrumb/bmb-breadcrumb.component.d.ts +27 -0
- package/lib/components/bmb-button-icon/bmb-button-icon.component.d.ts +16 -0
- package/lib/components/bmb-calendar/bmb-calendar.component.d.ts +67 -0
- package/lib/components/bmb-calendar/common/bmb-calendar-header/bmb-calendar-header.component.d.ts +20 -0
- package/lib/components/bmb-calendar/common/bmb-calendar-hour-view/bmb-calendar-hour-view.component.d.ts +13 -0
- package/lib/components/bmb-calendar/common/bmb-calendar-schedule-cards/bmb-calendar-schedule-cards.component.d.ts +16 -0
- package/lib/components/bmb-calendar/common/bmb-calendar-template-day/bmb-calendar-template-day.component.d.ts +18 -0
- package/lib/components/bmb-calendar/common/bmb-calendar-template-mobile/bmb-calendar-template-mobile.component.d.ts +31 -0
- package/lib/components/bmb-calendar/common/bmb-calendar-template-month/bmb-calendar-template-month.component.d.ts +18 -0
- package/lib/components/bmb-calendar/common/bmb-calendar-template-week/bmb-calendar-template-week.component.d.ts +23 -0
- package/lib/components/bmb-calendar/common/bmb-calendar-time-indicator/bmb-calendar-time-indicator.component.d.ts +9 -0
- package/lib/components/bmb-calendar/types.d.ts +43 -0
- package/lib/components/bmb-calendar/utils.d.ts +12 -0
- package/lib/components/bmb-card/bmb-card.component.d.ts +43 -0
- package/lib/components/bmb-card-button/bmb-card-button.component.d.ts +50 -0
- package/lib/components/bmb-carousel/bmb-carousel.component.d.ts +20 -0
- package/lib/components/bmb-chat-bar/bmb-chat-bar.component.d.ts +63 -0
- package/lib/components/bmb-chat-bar/bot_list.d.ts +6 -0
- package/lib/components/bmb-chat-bar/types.d.ts +9 -0
- package/lib/components/bmb-chat-bubbles/bmb-chat-bubbles.component.d.ts +23 -0
- package/lib/components/bmb-chat-bubbles/types.d.ts +23 -0
- package/lib/components/bmb-check-external-link-button/bmb-check-external-link-button.component.d.ts +21 -0
- package/lib/components/bmb-checkbox/bmb-checkbox.component.d.ts +33 -0
- package/lib/components/bmb-chevron-title-selector/bmb-chevron-title-selector.component.d.ts +17 -0
- package/lib/components/bmb-container/bmb-container.component.d.ts +9 -0
- package/lib/components/bmb-container-button/bmb-container-button.component.d.ts +39 -0
- package/lib/components/bmb-date-range/bmb-date-range.component.d.ts +35 -0
- package/lib/components/bmb-datepicker/bmb-datepicker-modal/bmb-datepicker-modal.component.d.ts +39 -0
- package/lib/components/bmb-datepicker/bmb-datepicker.component.d.ts +52 -0
- package/lib/components/bmb-digital-id/bmb-digital-id.component.d.ts +26 -0
- package/lib/components/bmb-divider/bmb-divider.component.d.ts +8 -0
- package/lib/components/bmb-dot-paginator/bmb-dot-paginator.component.d.ts +17 -0
- package/lib/components/bmb-drawer-overlay/bmb-drawer-overlay.component.d.ts +26 -0
- package/lib/components/bmb-dropdown/bmb-dropdown.component.d.ts +62 -0
- package/lib/components/bmb-dropdown-menu/bmb-dropdown-menu.component.d.ts +13 -0
- package/lib/components/bmb-dropzone/bmb-dropzone.component.d.ts +49 -0
- package/lib/components/bmb-evaluation-rubric/bmb-evaluation-rubric.component.d.ts +45 -0
- package/lib/components/bmb-external-link/bmb-external-link.component.d.ts +25 -0
- package/lib/components/bmb-fab/bmb-fab-.interface.d.ts +10 -0
- package/lib/components/bmb-fab/bmb-fab.component.d.ts +15 -0
- package/lib/components/bmb-filter-card/bmb-filter-card.component.d.ts +34 -0
- package/lib/components/bmb-filter-card/bmb-filter-card.interface.d.ts +12 -0
- package/lib/components/bmb-focus-element/bmb-focus-element.component.d.ts +14 -0
- package/lib/components/bmb-form-validator/bmb-form-validator.component.d.ts +34 -0
- package/lib/components/bmb-frequent-apps-selector/bmb-frequent-apps-selector.component.d.ts +13 -0
- package/lib/components/bmb-grade-value/bmb-grade-value.component.d.ts +11 -0
- package/lib/components/bmb-grades/bmb-grades.component.d.ts +43 -0
- package/lib/components/bmb-grades/types.d.ts +25 -0
- package/lib/components/bmb-header-mitec/bmb-header-mitec.component.d.ts +17 -0
- package/lib/components/bmb-header-mobile/bmb-header-mobile.component.d.ts +23 -0
- package/lib/components/bmb-hito-card/bmb-hito-card.component.d.ts +30 -0
- package/lib/components/bmb-hito-list/bmb-hito-list.component.d.ts +24 -0
- package/lib/components/bmb-home-card/bmb-home-card-header/bmb-home-card-header.component.d.ts +28 -0
- package/lib/components/bmb-home-card/bmb-home-card.component.d.ts +27 -0
- package/lib/components/bmb-home-card-chat/bmb-home-card-chat.component.d.ts +25 -0
- package/lib/components/bmb-home-section/bmb-home-section.component.d.ts +9 -0
- package/lib/components/bmb-icon/bmb-icon.component.d.ts +23 -0
- package/lib/components/bmb-icon/types.d.ts +1 -0
- package/lib/components/bmb-icon-item/bmb-icon-item.component.d.ts +13 -0
- package/lib/components/bmb-icon-status/bmb-icon-status.component.d.ts +10 -0
- package/lib/components/bmb-iframe/bmb-iframe.component.d.ts +11 -0
- package/lib/components/bmb-iframe/bmb-iframe.pipe.d.ts +10 -0
- package/lib/components/bmb-image/bmb-image.component.d.ts +19 -0
- package/lib/components/bmb-inner-header/bmb-inner-header.component.d.ts +29 -0
- package/lib/components/bmb-input/bmb-input-content/bmb-input-content.component.d.ts +52 -0
- package/lib/components/bmb-input/bmb-input-validator/bmb-input-validator.component.d.ts +45 -0
- package/lib/components/bmb-input/bmb-input.component.d.ts +68 -0
- package/lib/components/bmb-input-phone-number/bmb-input-phone-number.component.d.ts +52 -0
- package/lib/components/bmb-input-tags/bmb-input-tags.component.d.ts +55 -0
- package/lib/components/bmb-interactive-icon/bmb-interactive-icon.component.d.ts +23 -0
- package/lib/components/bmb-invoice/bmb-invoice.component.d.ts +31 -0
- package/lib/components/bmb-item/bmb-item.component.d.ts +16 -0
- package/lib/components/bmb-legend/bmb-legend.component.d.ts +9 -0
- package/lib/components/bmb-list-group/bmb-list-group-item/bmb-list-group-item.component.d.ts +33 -0
- package/lib/components/bmb-list-group/bmb-list-group.component.d.ts +27 -0
- package/lib/components/bmb-list-group/bmb-list-group.service.d.ts +18 -0
- package/lib/components/bmb-list-group/types.d.ts +1 -0
- package/lib/components/bmb-list-items/bmb-list-items.component.d.ts +33 -0
- package/lib/components/bmb-loader/bmb-loader.component.d.ts +31 -0
- package/lib/components/bmb-login/bmb-login-content/bmb-login-content.component.d.ts +27 -0
- package/lib/components/bmb-login/bmb-login.component.d.ts +33 -0
- package/lib/components/bmb-login-onboarding/bmb-login-onboarding-logged/bmb-login-onboarding-logged.component.d.ts +14 -0
- package/lib/components/bmb-login-onboarding/bmb-login-onboarding-login/bmb-login-onboarding-login.component.d.ts +8 -0
- package/lib/components/bmb-login-onboarding/bmb-login-onboarding-logout/bmb-login-onboarding-logout.component.d.ts +12 -0
- package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-four.component.d.ts +19 -0
- 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
- 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
- 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
- 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
- package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper.component.d.ts +15 -0
- package/lib/components/bmb-login-onboarding/bmb-login-onboarding.component.d.ts +20 -0
- package/lib/components/bmb-login-onboarding/bmb-login-onboarding.service.d.ts +25 -0
- package/lib/components/bmb-login-onboarding/types.d.ts +15 -0
- package/lib/components/bmb-logo/bmb-logo.component.d.ts +19 -0
- package/lib/components/bmb-media-card/bmb-media-card.component.d.ts +34 -0
- package/lib/components/bmb-mitec-logo-animation/bmb-mitec-logo-animation.component.d.ts +6 -0
- package/lib/components/bmb-mobile-templates/bmb-mobile-templates.component.d.ts +47 -0
- package/lib/components/bmb-modal/bmb-modal.component.d.ts +31 -0
- package/lib/components/bmb-modal/bmb-modal.interface.d.ts +44 -0
- package/lib/components/bmb-modal/bmb-native-modal.component.d.ts +45 -0
- package/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator-item/bmb-multi-dot-paginator-item.component.d.ts +7 -0
- package/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator.component.d.ts +15 -0
- package/lib/components/bmb-navigation-bar/bmb-navigation-bar.component.d.ts +13 -0
- package/lib/components/bmb-notice-card/bmb-notice-card.component.d.ts +21 -0
- package/lib/components/bmb-notification-card/bmb-notification-card.component.d.ts +27 -0
- package/lib/components/bmb-notification-counter/bmb-notification-counter.component.d.ts +9 -0
- package/lib/components/bmb-overlay/bmb-overlay.component.d.ts +9 -0
- package/lib/components/bmb-paginator/bmb-paginator.component.d.ts +14 -0
- package/lib/components/bmb-portal/bmb-portal.component.d.ts +23 -0
- package/lib/components/bmb-portal/bmb-projected-content/bmb-projected-content.component.d.ts +34 -0
- package/lib/components/bmb-profile/bmb-profile.component.d.ts +34 -0
- package/lib/components/bmb-progress-bar/bmb-progress-bar.component.d.ts +19 -0
- package/lib/components/bmb-progress-cirlce/bmb-progress-circle.component.d.ts +51 -0
- package/lib/components/bmb-progress-cirlce/bmb-progress-circle.interface.d.ts +12 -0
- package/lib/components/bmb-pull-wedge/bmb-pull-wedge.component.d.ts +23 -0
- package/lib/components/bmb-push-notification/bmb-push-notification-item/bmb-push-notification-item.component.d.ts +18 -0
- package/lib/components/bmb-push-notification/bmb-push-notification.component.d.ts +11 -0
- package/lib/components/bmb-push-notification/types.d.ts +46 -0
- package/lib/components/bmb-radial/bmb-radial.component.d.ts +33 -0
- package/lib/components/bmb-search-input/bmb-search-input.component.d.ts +33 -0
- package/lib/components/bmb-server-table/bmb-server-table.component.d.ts +26 -0
- package/lib/components/bmb-sidebar/bmb-sidebar.component.d.ts +27 -0
- package/lib/components/bmb-sidebar/bmb-sidebar.interface.d.ts +10 -0
- package/lib/components/bmb-simple-header/bmb-simple-header.component.d.ts +10 -0
- package/lib/components/bmb-skeleton/bmb-skeleton.component.d.ts +7 -0
- package/lib/components/bmb-sounds-card/bmb-sounds-card.component.d.ts +24 -0
- package/lib/components/bmb-stat-counter/bmb-stat-counter.component.d.ts +11 -0
- package/lib/components/bmb-step-progress-bar/bmb-step-progress-bar.component.d.ts +30 -0
- package/lib/components/bmb-student-activity-card/bmb-student-activity-card.component.d.ts +23 -0
- package/lib/components/bmb-student-activity-selector/bmb-student-activity-tab/bmb-student-activity-tab.component.d.ts +10 -0
- package/lib/components/bmb-switch/bmb-switch.component.d.ts +25 -0
- package/lib/components/bmb-tables/bmb-tables.component.d.ts +104 -0
- package/lib/components/bmb-tables/bmb-tables.interface.d.ts +21 -0
- package/lib/components/bmb-tabs/bmb-tabs.component.d.ts +41 -0
- package/lib/components/bmb-tags/bmb-tags.component.d.ts +25 -0
- package/lib/components/bmb-text-editor/bmb-text-editor.component.d.ts +34 -0
- package/lib/components/bmb-text-link/bmb-text-link.component.d.ts +17 -0
- package/lib/components/bmb-theme/bmb-theme.component.d.ts +19 -0
- package/lib/components/bmb-three-cols/bmb-three-cols.component.d.ts +15 -0
- package/lib/components/bmb-timestream/bmb-timestream-detail/bmb-timestream-detail.component.d.ts +25 -0
- package/lib/components/bmb-timestream/bmb-timestream-error/bmb-timestream-error.component.d.ts +5 -0
- package/lib/components/bmb-timestream/bmb-timestream.component.d.ts +67 -0
- package/lib/components/bmb-timestream/types.d.ts +54 -0
- package/lib/components/bmb-timestream-card/bmb-timestream-card.component.d.ts +29 -0
- package/lib/components/bmb-title-content/bmb-title-content.component.d.ts +26 -0
- package/lib/components/bmb-toast/bmb-toast.component.d.ts +16 -0
- package/lib/components/bmb-tooltip/bmb-tooltip.component.d.ts +15 -0
- package/lib/components/bmb-top-bar/bmb-top-bar-item/bmb-top-bar-item.component.d.ts +7 -0
- package/lib/components/bmb-top-bar/bmb-top-bar-user-section/bmb-top-bar-user-section.component.d.ts +32 -0
- package/lib/components/bmb-top-bar/bmb-top-bar.component.d.ts +47 -0
- package/lib/components/bmb-top-bar/types.d.ts +6 -0
- package/lib/components/bmb-totp/bmb-totp.component.d.ts +31 -0
- package/lib/components/bmb-user-image/bmb-user-image.component.d.ts +19 -0
- package/lib/components/bmb-user-profile/bmb-user-profile-content/bmb-user-profile-content.component.d.ts +10 -0
- package/lib/components/bmb-user-profile/bmb-user-profile.component.d.ts +19 -0
- package/lib/components/bmb-user-summary/bmb-user-summary-content/bmb-user-summary-content.component.d.ts +26 -0
- package/lib/components/bmb-user-summary/bmb-user-summary.component.d.ts +14 -0
- package/lib/components/bmb-value-counter/bmb-value-counter.component.d.ts +8 -0
- package/lib/components/bmb-web-templates/bmb-web-templates.component.d.ts +42 -0
- package/lib/components/bmb-wheel-menu/bmb-wheel-menu.component.d.ts +40 -0
- package/lib/components/utils/bmb-dropdown-content/bmb-dropdown-content.component.d.ts +16 -0
- package/lib/directives/bmb-accordion/bmb-accordion-control.directive.d.ts +22 -0
- package/lib/directives/bmb-button/button.directive.d.ts +29 -0
- package/lib/directives/bmb-button-group/bmb-button-group.directive.d.ts +10 -0
- package/lib/directives/bmb-layout/bmb-layout-item.directive.d.ts +20 -0
- package/lib/directives/bmb-layout/bmb-layout.directive.d.ts +15 -0
- package/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout-item.directive.d.ts +9 -0
- package/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout.directive.d.ts +14 -0
- package/lib/directives/bmb-layout-grid/bmb-layout-grid.directive.d.ts +29 -0
- package/lib/directives/utils/clickoutside.directive.d.ts +15 -0
- package/lib/ds-ng.component.d.ts +5 -0
- package/lib/ds-ng.service.d.ts +6 -0
- package/lib/services/calendar.service.d.ts +15 -0
- package/lib/services/index.d.ts +2 -0
- package/lib/services/native-modal.service.d.ts +18 -0
- package/lib/services/notification.service.d.ts +20 -0
- package/lib/services/projection.service.d.ts +31 -0
- package/lib/services/tabs.service.d.ts +13 -0
- package/lib/services/theme.service.d.ts +11 -0
- package/lib/services/toast.service.d.ts +9 -0
- package/lib/services/user/profile.service.d.ts +9 -0
- package/lib/types/colors.d.ts +2 -0
- package/lib/types/index.d.ts +128 -0
- package/lib/utils/countryCodes.d.ts +7 -0
- package/lib/utils/currencyFormat.d.ts +1 -0
- package/lib/utils/dropdown.d.ts +6 -0
- package/lib/utils/formControl.d.ts +7 -0
- package/lib/utils/timestreamFilters.d.ts +2 -0
- package/lib/utils/utils.d.ts +13 -0
- package/package.json +6 -4
- package/public-api.d.ts +143 -0
- package/assets/svg/info_fill.svg +0 -1
- package/assets/svg/info_fill_primary.svg +0 -1
|
@@ -0,0 +1,236 @@
|
|
|
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 { BmbUserImageComponent } from '../bmb-user-image/bmb-user-image.component';
|
|
8
|
+
import { BmbTabsComponent } from '../bmb-tabs/bmb-tabs.component';
|
|
9
|
+
import { BmbButtonDirective } from '../../directives/bmb-button/button.directive';
|
|
10
|
+
import { BmbDividerComponent } from '../bmb-divider/bmb-divider.component';
|
|
11
|
+
import { BmbHitoCardComponent } from '../bmb-hito-card/bmb-hito-card.component';
|
|
12
|
+
import { BmbBadgeComponent } from '../bmb-badge/bmb-badge.component';
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
import * as i1 from "../../services/native-modal.service";
|
|
15
|
+
import * as i2 from "@angular/common";
|
|
16
|
+
export class BmbTimestreamComponent {
|
|
17
|
+
constructor(modalService) {
|
|
18
|
+
this.modalService = modalService;
|
|
19
|
+
this.isMicro = input(false);
|
|
20
|
+
this.lang = input('es');
|
|
21
|
+
this.dateFormat = input('dd/MM/yyyy');
|
|
22
|
+
this.events = input([]);
|
|
23
|
+
this.clamp = input({ min: 100, max: '100dvh', size: '100%' });
|
|
24
|
+
// internal state
|
|
25
|
+
this.error = false;
|
|
26
|
+
this.now = DateTime.now();
|
|
27
|
+
this.start = null;
|
|
28
|
+
this.monthsNames = Info.months('long', { locale: this.lang() });
|
|
29
|
+
this.orderedEvents = signal([]);
|
|
30
|
+
this.selectedDate = {
|
|
31
|
+
day: '',
|
|
32
|
+
month: '',
|
|
33
|
+
date: this.now,
|
|
34
|
+
};
|
|
35
|
+
this.orderedMonths = [];
|
|
36
|
+
this.selectedEvent = null;
|
|
37
|
+
this.eventTabs = [
|
|
38
|
+
{ id: 1, title: 'Descripción', isActive: true },
|
|
39
|
+
{ id: 2, title: 'Instancias' },
|
|
40
|
+
];
|
|
41
|
+
this.tabSelected = 1;
|
|
42
|
+
}
|
|
43
|
+
ngOnChanges(changes) {
|
|
44
|
+
this.parsedEvents = this.prepareEvents(changes['events'].currentValue);
|
|
45
|
+
this.orderedMonths = this.orderDates(this.parsedEvents, 'yyyy/MM');
|
|
46
|
+
this.selectedDate = this.selectAValidDate();
|
|
47
|
+
}
|
|
48
|
+
ngOnInit() {
|
|
49
|
+
this.parsedEvents = this.prepareEvents(this.events());
|
|
50
|
+
this.orderedMonths = this.orderDates(this.parsedEvents, 'yyyy/MM');
|
|
51
|
+
this.selectedDate = this.selectAValidDate();
|
|
52
|
+
}
|
|
53
|
+
ngAfterViewInit() {
|
|
54
|
+
if (this.modalTemplate) {
|
|
55
|
+
this.newModal = this.modalTemplate;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
handleTabSelected(tab) {
|
|
59
|
+
this.tabSelected = tab.id;
|
|
60
|
+
}
|
|
61
|
+
prepareEvents(events) {
|
|
62
|
+
if (!events?.length) {
|
|
63
|
+
this.orderedEvents.set([]);
|
|
64
|
+
return {};
|
|
65
|
+
}
|
|
66
|
+
const objectEvent = {};
|
|
67
|
+
events.forEach((event) => {
|
|
68
|
+
const startDate = DateTime.fromFormat(event.start, this.dateFormat());
|
|
69
|
+
const endDate = DateTime.fromFormat(event.end, this.dateFormat());
|
|
70
|
+
const diff = endDate.diff(startDate, 'days').days + 1;
|
|
71
|
+
for (let index = 0; index < diff; index++) {
|
|
72
|
+
const currentDate = startDate.plus({ days: index });
|
|
73
|
+
const stringDate = currentDate.toFormat('yyyy/MM/dd');
|
|
74
|
+
const month = currentDate.toFormat('yyyy/MM');
|
|
75
|
+
objectEvent[month] ??= {
|
|
76
|
+
events: {},
|
|
77
|
+
name: this.monthsNames[currentDate.month - 1],
|
|
78
|
+
stringDate: month,
|
|
79
|
+
year: currentDate.year,
|
|
80
|
+
date: currentDate,
|
|
81
|
+
};
|
|
82
|
+
objectEvent[month].events[stringDate] ??= {
|
|
83
|
+
events: [],
|
|
84
|
+
date: currentDate,
|
|
85
|
+
stringDate,
|
|
86
|
+
selected: false,
|
|
87
|
+
};
|
|
88
|
+
objectEvent[month].events[stringDate].events.push({
|
|
89
|
+
...event,
|
|
90
|
+
start: stringDate,
|
|
91
|
+
startEvent: currentDate,
|
|
92
|
+
endEvent: endDate,
|
|
93
|
+
selected: false,
|
|
94
|
+
diff: diff - 1,
|
|
95
|
+
originalStart: startDate,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
const orderedEvents = this.orderDates(objectEvent, 'yyyy/MM');
|
|
100
|
+
if (orderedEvents.length) {
|
|
101
|
+
objectEvent['orderedEvents'] = orderedEvents;
|
|
102
|
+
objectEvent['orderedEvents'].forEach((date) => {
|
|
103
|
+
objectEvent[date]['orderedEvents'] = this.orderDates(objectEvent[date].events, 'yyyy/MM/dd');
|
|
104
|
+
});
|
|
105
|
+
this.orderedEvents.set(objectEvent['orderedEvents']
|
|
106
|
+
.map((month) => {
|
|
107
|
+
return objectEvent[month]['orderedEvents'].map((day) => objectEvent[month].events[day]);
|
|
108
|
+
})
|
|
109
|
+
.flat());
|
|
110
|
+
}
|
|
111
|
+
return objectEvent;
|
|
112
|
+
}
|
|
113
|
+
orderDates(events, format) {
|
|
114
|
+
const monthsList = Object.keys(events);
|
|
115
|
+
const monthsOrdered = monthsList.sort((dateA, dateB) => {
|
|
116
|
+
const parsedDateA = DateTime.fromFormat(dateA, format);
|
|
117
|
+
const parsedDateB = DateTime.fromFormat(dateB, format);
|
|
118
|
+
return parsedDateA.toMillis() - parsedDateB.toMillis();
|
|
119
|
+
});
|
|
120
|
+
return monthsOrdered;
|
|
121
|
+
}
|
|
122
|
+
selectAValidDate() {
|
|
123
|
+
if (!this.orderedMonths)
|
|
124
|
+
return {
|
|
125
|
+
month: this.now.month + '',
|
|
126
|
+
day: this.now.day + '',
|
|
127
|
+
date: this.now,
|
|
128
|
+
};
|
|
129
|
+
const month = this.orderedMonths.find((date) => {
|
|
130
|
+
if (date === 'orderedEvents')
|
|
131
|
+
return false;
|
|
132
|
+
const parsedDate = this.parsedEvents[date].date;
|
|
133
|
+
return (this.now.year <= parsedDate.year && this.now.month <= parsedDate.month);
|
|
134
|
+
}) ||
|
|
135
|
+
this.orderedMonths.at(-1) ||
|
|
136
|
+
'';
|
|
137
|
+
const orderedEvents = this.parsedEvents?.[month]?.orderedEvents;
|
|
138
|
+
const day = orderedEvents?.find((date) => {
|
|
139
|
+
const parsedDate = this.parsedEvents[month].events[date].date;
|
|
140
|
+
return (this.now.year <= parsedDate.year &&
|
|
141
|
+
this.now.month <= parsedDate.month &&
|
|
142
|
+
this.now.day <= parsedDate.day);
|
|
143
|
+
}) ||
|
|
144
|
+
orderedEvents?.at(-1) ||
|
|
145
|
+
'';
|
|
146
|
+
if (this.parsedEvents[month] && month !== 'orderedEvents') {
|
|
147
|
+
this.parsedEvents[month].selected = true;
|
|
148
|
+
this.parsedEvents[month].events[day].selected = true;
|
|
149
|
+
}
|
|
150
|
+
return {
|
|
151
|
+
month,
|
|
152
|
+
day,
|
|
153
|
+
date: this.parsedEvents?.[month]?.events?.[day]?.date,
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
handleSelectedDateChange({ month, day }) {
|
|
157
|
+
this.parsedEvents[this.selectedDate.month].selected = false;
|
|
158
|
+
this.parsedEvents[this.selectedDate.month].events[this.selectedDate.day].selected = false;
|
|
159
|
+
this.parsedEvents[month].selected = true;
|
|
160
|
+
this.parsedEvents[month].events[day].selected = true;
|
|
161
|
+
this.selectedDate = {
|
|
162
|
+
month,
|
|
163
|
+
day,
|
|
164
|
+
date: this.parsedEvents[month].events[day].date,
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
handleSelectedEventChange(event) {
|
|
168
|
+
this.selectedEvent = event;
|
|
169
|
+
const data = {
|
|
170
|
+
title: event.title,
|
|
171
|
+
content: this.newModal,
|
|
172
|
+
size: 'large',
|
|
173
|
+
};
|
|
174
|
+
this.modalService.openModal(data);
|
|
175
|
+
}
|
|
176
|
+
getMonthTitle(date) {
|
|
177
|
+
return date.setLocale(this.lang()).toFormat('cccc dd LLLL yyyy');
|
|
178
|
+
}
|
|
179
|
+
getInstances(event) {
|
|
180
|
+
const instances = [];
|
|
181
|
+
for (let index = 0; index < (event.diff || 0) + 1; index++) {
|
|
182
|
+
const date = event.originalStart.plus({ days: index });
|
|
183
|
+
instances.push(this.getMonthTitle(date));
|
|
184
|
+
}
|
|
185
|
+
return instances;
|
|
186
|
+
}
|
|
187
|
+
getDurationString(event) {
|
|
188
|
+
return `Duración: ${event.originalStart?.day} - ${event.endEvent?.setLocale(this.lang()).toFormat('dd LLLL yyyy')} (${(event.diff || 0) + 1} Días)`;
|
|
189
|
+
}
|
|
190
|
+
getDiffString(diff = 0) {
|
|
191
|
+
return diff + 1 > 1 ? `${diff + 1} Días` : `${diff + 1} Día`;
|
|
192
|
+
}
|
|
193
|
+
appearanceBadge(eventType) {
|
|
194
|
+
if (typeof eventType === 'string') {
|
|
195
|
+
switch (eventType) {
|
|
196
|
+
case 'active':
|
|
197
|
+
return 'mitec_blue';
|
|
198
|
+
case 'done':
|
|
199
|
+
return 'success';
|
|
200
|
+
case 'pending':
|
|
201
|
+
return 'normal';
|
|
202
|
+
case 'under_review':
|
|
203
|
+
return 'warning';
|
|
204
|
+
default:
|
|
205
|
+
return 'mitec_blue';
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
return eventType.type || 'normal';
|
|
209
|
+
}
|
|
210
|
+
getBadgeText(eventType) {
|
|
211
|
+
if (typeof eventType === 'string')
|
|
212
|
+
return eventType;
|
|
213
|
+
return eventType.text || '';
|
|
214
|
+
}
|
|
215
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbTimestreamComponent, deps: [{ token: i1.BmbNativeModalService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
216
|
+
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-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-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 }); }
|
|
217
|
+
}
|
|
218
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbTimestreamComponent, decorators: [{
|
|
219
|
+
type: Component,
|
|
220
|
+
args: [{ selector: 'bmb-timestream', standalone: true, imports: [
|
|
221
|
+
BmbTimestreamErrorComponent,
|
|
222
|
+
BmbHitoListComponent,
|
|
223
|
+
BmbTimestreamDetailsComponent,
|
|
224
|
+
CommonModule,
|
|
225
|
+
BmbUserImageComponent,
|
|
226
|
+
BmbTabsComponent,
|
|
227
|
+
BmbButtonDirective,
|
|
228
|
+
BmbDividerComponent,
|
|
229
|
+
BmbHitoCardComponent,
|
|
230
|
+
BmbBadgeComponent,
|
|
231
|
+
], 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-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-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"] }]
|
|
232
|
+
}], ctorParameters: () => [{ type: i1.BmbNativeModalService }], propDecorators: { modalTemplate: [{
|
|
233
|
+
type: ViewChild,
|
|
234
|
+
args: ['modalTemplate', { read: TemplateRef }]
|
|
235
|
+
}] } });
|
|
236
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLXRpbWVzdHJlYW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtbmcvc3JjL2xpYi9jb21wb25lbnRzL2JtYi10aW1lc3RyZWFtL2JtYi10aW1lc3RyZWFtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItdGltZXN0cmVhbS9ibWItdGltZXN0cmVhbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUVOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBT3hHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUcvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FB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UyxDQUFDO2dCQUNuQixLQUFLLFNBQVM7b0JBQ1osT0FBTyxRQUFRLENBQUM7Z0JBQ2xCLEtBQUssY0FBYztvQkFDakIsT0FBTyxTQUFTLENBQUM7Z0JBQ25CO29CQUNFLE9BQU8sWUFBWSxDQUFDO2FBQ3ZCO1NBQ0Y7UUFDRCxPQUFPLFNBQVMsQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxZQUFZLENBQUMsU0FBMkM7UUFDdEQsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDcEQsT0FBTyxTQUFTLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUM5QixDQUFDOytHQTNQVSxzQkFBc0I7bUdBQXRCLHNCQUFzQiw4eEJBT0csV0FBVyxrREMzRWpELGk3SkF5SUEsbThQRHJGSSwyQkFBMkIsaUVBQzNCLG9CQUFvQiw2S0FDcEIsNkJBQTZCLHdLQUM3QixZQUFZLDZIQUNaLHFCQUFxQiwyTEFDckIsZ0JBQWdCLHNLQUNoQixrQkFBa0IsNE1BQ2xCLG1CQUFtQiwwRUFDbkIsb0JBQW9CLHNPQUNwQixpQkFBaUI7OzRGQU9SLHNCQUFzQjtrQkFwQmxDLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQO3dCQUNQLDJCQUEyQjt3QkFDM0Isb0JBQW9CO3dCQUNwQiw2QkFBNkI7d0JBQzdCLFlBQVk7d0JBQ1oscUJBQXFCO3dCQUNyQixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLGlCQUFpQjtxQkFDbEIsaUJBR2MsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTswRkFVL0MsYUFBYTtzQkFEWixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBpbnB1dCxcbiAgc2lnbmFsLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRlVGltZSwgSW5mbyB9IGZyb20gJ2x1eG9uJztcbmltcG9ydCB7IEJtYlRpbWVzdHJlYW1FcnJvckNvbXBvbmVudCB9IGZyb20gJy4vYm1iLXRpbWVzdHJlYW0tZXJyb3IvYm1iLXRpbWVzdHJlYW0tZXJyb3IuY29tcG9uZW50JztcbmltcG9ydCB7IEJtYkhpdG9MaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWhpdG8tbGlzdC9ibWItaGl0by1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJUaW1lc3RyZWFtRGV0YWlsc0NvbXBvbmVudCB9IGZyb20gJy4vYm1iLXRpbWVzdHJlYW0tZGV0YWlsL2JtYi10aW1lc3RyZWFtLWRldGFpbC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgSVRpbWVsaW5lRXZlbnQsXG4gIElTZWxlY3RlZERhdGUsXG4gIElUaW1lbGluZUV2ZW50UGFyc2VkLFxuICBJQm1iVGltZWxpbmVDdXN0b21FdmVudCxcbn0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQm1iTmF0aXZlTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbmF0aXZlLW1vZGFsLnNlcnZpY2UnO1xuaW1wb3J0IHsgSUJtYk5hdGl2ZU1vZGFsIH0gZnJvbSAnLi4vYm1iLW1vZGFsL2JtYi1tb2RhbC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQm1iVXNlckltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLXVzZXItaW1hZ2UvYm1iLXVzZXItaW1hZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IEJtYlRhYnNDb21wb25lbnQgfSBmcm9tICcuLi9ibWItdGFicy9ibWItdGFicy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm1iQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9ibWItYnV0dG9uL2J1dHRvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQm1iRGl2aWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1kaXZpZGVyL2JtYi1kaXZpZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJIaXRvQ2FyZENvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1oaXRvLWNhcmQvYm1iLWhpdG8tY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm1iQmFkZ2VDb21wb25lbnQgfSBmcm9tICcuLi9ibWItYmFkZ2UvYm1iLWJhZGdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJQmJtQmdBcHBlYXJhbmNlIH0gZnJvbSAnLi4vYm1iLWFkdmVydGlzZW1lbnQtY2FyZC90eXBlcyc7XG5cbmludGVyZmFjZSBJUGxhY2Vob2xkZXJPYmplY3Qge1xuICBba2V5OiBzdHJpbmddOiBhbnkgfCBhbnlbXTtcbn1cblxuaW50ZXJmYWNlIFRhYiB7XG4gIGlkOiBudW1iZXI7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgYmFkZ2U/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJtYkNsYW1wIHtcbiAgbWluOiBudW1iZXIgfCBzdHJpbmc7XG4gIG1heDogbnVtYmVyIHwgc3RyaW5nO1xuICBzaXplOiBudW1iZXIgfCBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JtYi10aW1lc3RyZWFtJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEJtYlRpbWVzdHJlYW1FcnJvckNvbXBvbmVudCxcbiAgICBCbWJIaXRvTGlzdENvbXBvbmVudCxcbiAgICBCbWJUaW1lc3RyZWFtRGV0YWlsc0NvbXBvbmVudCxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQm1iVXNlckltYWdlQ29tcG9uZW50LFxuICAgIEJtYlRhYnNDb21wb25lbnQsXG4gICAgQm1iQnV0dG9uRGlyZWN0aXZlLFxuICAgIEJtYkRpdmlkZXJDb21wb25lbnQsXG4gICAgQm1iSGl0b0NhcmRDb21wb25lbnQsXG4gICAgQm1iQmFkZ2VDb21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9ibWItdGltZXN0cmVhbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9ibWItdGltZXN0cmVhbS5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBCbWJUaW1lc3RyZWFtQ29tcG9uZW50IHtcbiAgaXNNaWNybyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgbGFuZyA9IGlucHV0PHN0cmluZz4oJ2VzJyk7XG4gIGRhdGVGb3JtYXQgPSBpbnB1dDxzdHJpbmc+KCdkZC9NTS95eXl5Jyk7XG4gIGV2ZW50cyA9IGlucHV0PElUaW1lbGluZUV2ZW50W10+KFtdKTtcbiAgY2xhbXAgPSBpbnB1dDxJQm1iQ2xhbXA+KHsgbWluOiAxMDAsIG1heDogJzEwMGR2aCcsIHNpemU6ICcxMDAlJyB9KTtcblxuICBAVmlld0NoaWxkKCdtb2RhbFRlbXBsYXRlJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBtb2RhbFRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcblxuICAvLyBpbnRlcm5hbCBzdGF0ZVxuICBlcnJvciA9IGZhbHNlO1xuICBub3cgPSBEYXRlVGltZS5ub3coKTtcbiAgc3RhcnQ6IERhdGVUaW1lIHwgbnVsbCA9IG51bGw7XG4gIHBhcnNlZEV2ZW50cz86IGFueTtcbiAgbW9udGhzTmFtZXMgPSBJbmZvLm1vbnRocygnbG9uZycsIHsgbG9jYWxlOiB0aGlzLmxhbmcoKSB9KTtcbiAgb3JkZXJlZEV2ZW50cyA9IHNpZ25hbDxJVGltZWxpbmVFdmVudFBhcnNlZFtdPihbXSk7XG4gIHNlbGVjdGVkRGF0ZTogSVNlbGVjdGVkRGF0ZSA9IHtcbiAgICBkYXk6ICcnLFxuICAgIG1vbnRoOiAnJyxcbiAgICBkYXRlOiB0aGlzLm5vdyxcbiAgfTtcbiAgb3JkZXJlZE1vbnRoczogc3RyaW5nW10gPSBbXTtcbiAgbmV3TW9kYWwhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBzZWxlY3RlZEV2ZW50OiBJVGltZWxpbmVFdmVudCB8IG51bGwgPSBudWxsO1xuICBldmVudFRhYnM6IFRhYltdID0gW1xuICAgIHsgaWQ6IDEsIHRpdGxlOiAnRGVzY3JpcGNpw7NuJywgaXNBY3RpdmU6IHRydWUgfSxcbiAgICB7IGlkOiAyLCB0aXRsZTogJ0luc3RhbmNpYXMnIH0sXG4gIF07XG4gIHRhYlNlbGVjdGVkID0gMTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1vZGFsU2VydmljZTogQm1iTmF0aXZlTW9kYWxTZXJ2aWNlKSB7fVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICB0aGlzLnBhcnNlZEV2ZW50cyA9IHRoaXMucHJlcGFyZUV2ZW50cyhjaGFuZ2VzWydldmVudHMnXS5jdXJyZW50VmFsdWUpO1xuICAgIHRoaXMub3JkZXJlZE1vbnRocyA9IHRoaXMub3JkZXJEYXRlcyh0aGlzLnBhcnNlZEV2ZW50cywgJ3l5eXkvTU0nKTtcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IHRoaXMuc2VsZWN0QVZhbGlkRGF0ZSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wYXJzZWRFdmVudHMgPSB0aGlzLnByZXBhcmVFdmVudHModGhpcy5ldmVudHMoKSk7XG4gICAgdGhpcy5vcmRlcmVkTW9udGhzID0gdGhpcy5vcmRlckRhdGVzKHRoaXMucGFyc2VkRXZlbnRzLCAneXl5eS9NTScpO1xuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gdGhpcy5zZWxlY3RBVmFsaWREYXRlKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubW9kYWxUZW1wbGF0ZSkge1xuICAgICAgdGhpcy5uZXdNb2RhbCA9IHRoaXMubW9kYWxUZW1wbGF0ZTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVUYWJTZWxlY3RlZCh0YWI6IFRhYikge1xuICAgIHRoaXMudGFiU2VsZWN0ZWQgPSB0YWIuaWQ7XG4gIH1cblxuICBwcmVwYXJlRXZlbnRzKGV2ZW50cz86IElUaW1lbGluZUV2ZW50W10pIHtcbiAgICBpZiAoIWV2ZW50cz8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLm9yZGVyZWRFdmVudHMuc2V0KFtdKTtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG5cbiAgICBjb25zdCBvYmplY3RFdmVudDogSVBsYWNlaG9sZGVyT2JqZWN0ID0ge307XG4gICAgZXZlbnRzLmZvckVhY2goKGV2ZW50KSA9PiB7XG4gICAgICBjb25zdCBzdGFydERhdGUgPSBEYXRlVGltZS5mcm9tRm9ybWF0KGV2ZW50LnN0YXJ0LCB0aGlzLmRhdGVGb3JtYXQoKSk7XG4gICAgICBjb25zdCBlbmREYXRlID0gRGF0ZVRpbWUuZnJvbUZvcm1hdChldmVudC5lbmQsIHRoaXMuZGF0ZUZvcm1hdCgpKTtcbiAgICAgIGNvbnN0IGRpZmYgPSBlbmREYXRlLmRpZmYoc3RhcnREYXRlLCAnZGF5cycpLmRheXMgKyAxO1xuXG4gICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZGlmZjsgaW5kZXgrKykge1xuICAgICAgICBjb25zdCBjdXJyZW50RGF0ZSA9IHN0YXJ0RGF0ZS5wbHVzKHsgZGF5czogaW5kZXggfSk7XG4gICAgICAgIGNvbnN0IHN0cmluZ0RhdGUgPSBjdXJyZW50RGF0ZS50b0Zvcm1hdCgneXl5eS9NTS9kZCcpO1xuICAgICAgICBjb25zdCBtb250aCA9IGN1cnJlbnREYXRlLnRvRm9ybWF0KCd5eXl5L01NJyk7XG5cbiAgICAgICAgb2JqZWN0RXZlbnRbbW9udGhdID8/PSB7XG4gICAgICAgICAgZXZlbnRzOiB7fSxcbiAgICAgICAgICBuYW1lOiB0aGlzLm1vbnRoc05hbWVzW2N1cnJlbnREYXRlLm1vbnRoIC0gMV0sXG4gICAgICAgICAgc3RyaW5nRGF0ZTogbW9udGgsXG4gICAgICAgICAgeWVhcjogY3VycmVudERhdGUueWVhcixcbiAgICAgICAgICBkYXRlOiBjdXJyZW50RGF0ZSxcbiAgICAgICAgfTtcblxuICAgICAgICBvYmplY3RFdmVudFttb250aF0uZXZlbnRzW3N0cmluZ0RhdGVdID8/PSB7XG4gICAgICAgICAgZXZlbnRzOiBbXSxcbiAgICAgICAgICBkYXRlOiBjdXJyZW50RGF0ZSxcbiAgICAgICAgICBzdHJpbmdEYXRlLFxuICAgICAgICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICAgICAgfTtcblxuICAgICAgICBvYmplY3RFdmVudFttb250aF0uZXZlbnRzW3N0cmluZ0RhdGVdLmV2ZW50cy5wdXNoKHtcbiAgICAgICAgICAuLi5ldmVudCxcbiAgICAgICAgICBzdGFydDogc3RyaW5nRGF0ZSxcbiAgICAgICAgICBzdGFydEV2ZW50OiBjdXJyZW50RGF0ZSxcbiAgICAgICAgICBlbmRFdmVudDogZW5kRGF0ZSxcbiAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgICAgZGlmZjogZGlmZiAtIDEsXG4gICAgICAgICAgb3JpZ2luYWxTdGFydDogc3RhcnREYXRlLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IG9yZGVyZWRFdmVudHMgPSB0aGlzLm9yZGVyRGF0ZXMob2JqZWN0RXZlbnQsICd5eXl5L01NJyk7XG5cbiAgICBpZiAob3JkZXJlZEV2ZW50cy5sZW5ndGgpIHtcbiAgICAgIG9iamVjdEV2ZW50WydvcmRlcmVkRXZlbnRzJ10gPSBvcmRlcmVkRXZlbnRzO1xuXG4gICAgICBvYmplY3RFdmVudFsnb3JkZXJlZEV2ZW50cyddLmZvckVhY2goKGRhdGU6IHN0cmluZykgPT4ge1xuICAgICAgICBvYmplY3RFdmVudFtkYXRlXVsnb3JkZXJlZEV2ZW50cyddID0gdGhpcy5vcmRlckRhdGVzKFxuICAgICAgICAgIG9iamVjdEV2ZW50W2RhdGVdLmV2ZW50cyxcbiAgICAgICAgICAneXl5eS9NTS9kZCcsXG4gICAgICAgICk7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5vcmRlcmVkRXZlbnRzLnNldChcbiAgICAgICAgb2JqZWN0RXZlbnRbJ29yZGVyZWRFdmVudHMnXVxuICAgICAgICAgIC5tYXAoKG1vbnRoOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBvYmplY3RFdmVudFttb250aF1bJ29yZGVyZWRFdmVudHMnXS5tYXAoXG4gICAgICAgICAgICAgIChkYXk6IHN0cmluZykgPT4gb2JqZWN0RXZlbnRbbW9udGhdLmV2ZW50c1tkYXldLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5mbGF0KCksXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBvYmplY3RFdmVudDtcbiAgfVxuXG4gIG9yZGVyRGF0ZXMoZXZlbnRzOiBhbnksIGZvcm1hdDogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IG1vbnRoc0xpc3QgPSBPYmplY3Qua2V5cyhldmVudHMpO1xuICAgIGNvbnN0IG1vbnRoc09yZGVyZWQgPSBtb250aHNMaXN0LnNvcnQoKGRhdGVBOiBzdHJpbmcsIGRhdGVCOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHBhcnNlZERhdGVBID0gRGF0ZVRpbWUuZnJvbUZvcm1hdChkYXRlQSwgZm9ybWF0KTtcbiAgICAgIGNvbnN0IHBhcnNlZERhdGVCID0gRGF0ZVRpbWUuZnJvbUZvcm1hdChkYXRlQiwgZm9ybWF0KTtcbiAgICAgIHJldHVybiBwYXJzZWREYXRlQS50b01pbGxpcygpIC0gcGFyc2VkRGF0ZUIudG9NaWxsaXMoKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBtb250aHNPcmRlcmVkO1xuICB9XG5cbiAgc2VsZWN0QVZhbGlkRGF0ZSgpOiB7IG1vbnRoOiBzdHJpbmc7IGRheTogc3RyaW5nOyBkYXRlOiBEYXRlVGltZSB9IHtcbiAgICBpZiAoIXRoaXMub3JkZXJlZE1vbnRocylcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1vbnRoOiB0aGlzLm5vdy5tb250aCArICcnLFxuICAgICAgICBkYXk6IHRoaXMubm93LmRheSArICcnLFxuICAgICAgICBkYXRlOiB0aGlzLm5vdyxcbiAgICAgIH07XG5cbiAgICBjb25zdCBtb250aCA9XG4gICAgICB0aGlzLm9yZGVyZWRNb250aHMuZmluZCgoZGF0ZSkgPT4ge1xuICAgICAgICBpZiAoZGF0ZSA9PT0gJ29yZGVyZWRFdmVudHMnKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIGNvbnN0IHBhcnNlZERhdGUgPSB0aGlzLnBhcnNlZEV2ZW50c1tkYXRlXS5kYXRlO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgdGhpcy5ub3cueWVhciA8PSBwYXJzZWREYXRlLnllYXIgJiYgdGhpcy5ub3cubW9udGggPD0gcGFyc2VkRGF0ZS5tb250aFxuICAgICAgICApO1xuICAgICAgfSkgfHxcbiAgICAgIHRoaXMub3JkZXJlZE1vbnRocy5hdCgtMSkgfHxcbiAgICAgICcnO1xuICAgIGNvbnN0IG9yZGVyZWRFdmVudHMgPSB0aGlzLnBhcnNlZEV2ZW50cz8uW21vbnRoXT8ub3JkZXJlZEV2ZW50cztcblxuICAgIGNvbnN0IGRheSA9XG4gICAgICBvcmRlcmVkRXZlbnRzPy5maW5kKChkYXRlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgcGFyc2VkRGF0ZSA9IHRoaXMucGFyc2VkRXZlbnRzW21vbnRoXS5ldmVudHNbZGF0ZV0uZGF0ZTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICB0aGlzLm5vdy55ZWFyIDw9IHBhcnNlZERhdGUueWVhciAmJlxuICAgICAgICAgIHRoaXMubm93Lm1vbnRoIDw9IHBhcnNlZERhdGUubW9udGggJiZcbiAgICAgICAgICB0aGlzLm5vdy5kYXkgPD0gcGFyc2VkRGF0ZS5kYXlcbiAgICAgICAgKTtcbiAgICAgIH0pIHx8XG4gICAgICBvcmRlcmVkRXZlbnRzPy5hdCgtMSkgfHxcbiAgICAgICcnO1xuXG4gICAgaWYgKHRoaXMucGFyc2VkRXZlbnRzW21vbnRoXSAmJiBtb250aCAhPT0gJ29yZGVyZWRFdmVudHMnKSB7XG4gICAgICB0aGlzLnBhcnNlZEV2ZW50c1ttb250aF0uc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy5wYXJzZWRFdmVudHNbbW9udGhdLmV2ZW50c1tkYXldLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIG1vbnRoLFxuICAgICAgZGF5LFxuICAgICAgZGF0ZTogdGhpcy5wYXJzZWRFdmVudHM/Llttb250aF0/LmV2ZW50cz8uW2RheV0/LmRhdGUsXG4gICAgfTtcbiAgfVxuXG4gIGhhbmRsZVNlbGVjdGVkRGF0ZUNoYW5nZSh7IG1vbnRoLCBkYXkgfTogeyBtb250aDogc3RyaW5nOyBkYXk6IHN0cmluZyB9KSB7XG4gICAgdGhpcy5wYXJzZWRFdmVudHNbdGhpcy5zZWxlY3RlZERhdGUubW9udGhdLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgdGhpcy5wYXJzZWRFdmVudHNbdGhpcy5zZWxlY3RlZERhdGUubW9udGhdLmV2ZW50c1tcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLmRheVxuICAgIF0uc2VsZWN0ZWQgPSBmYWxzZTtcblxuICAgIHRoaXMucGFyc2VkRXZlbnRzW21vbnRoXS5zZWxlY3RlZCA9IHRydWU7XG4gICAgdGhpcy5wYXJzZWRFdmVudHNbbW9udGhdLmV2ZW50c1tkYXldLnNlbGVjdGVkID0gdHJ1ZTtcblxuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0ge1xuICAgICAgbW9udGgsXG4gICAgICBkYXksXG4gICAgICBkYXRlOiB0aGlzLnBhcnNlZEV2ZW50c1ttb250aF0uZXZlbnRzW2RheV0uZGF0ZSxcbiAgICB9O1xuICB9XG5cbiAgaGFuZGxlU2VsZWN0ZWRFdmVudENoYW5nZShldmVudDogSVRpbWVsaW5lRXZlbnQpIHtcbiAgICB0aGlzLnNlbGVjdGVkRXZlbnQgPSBldmVudDtcblxuICAgIGNvbnN0IGRhdGE6IElCbWJOYXRpdmVNb2RhbCA9IHtcbiAgICAgIHRpdGxlOiBldmVudC50aXRsZSxcbiAgICAgIGNvbnRlbnQ6IHRoaXMubmV3TW9kYWwsXG4gICAgICBzaXplOiAnbGFyZ2UnLFxuICAgIH07XG4gICAgdGhpcy5tb2RhbFNlcnZpY2Uub3Blbk1vZGFsKGRhdGEpO1xuICB9XG5cbiAgZ2V0TW9udGhUaXRsZShkYXRlOiBEYXRlVGltZSkge1xuICAgIHJldHVybiBkYXRlLnNldExvY2FsZSh0aGlzLmxhbmcoKSkudG9Gb3JtYXQoJ2NjY2MgZGQgTExMTCB5eXl5Jyk7XG4gIH1cblxuICBnZXRJbnN0YW5jZXMoZXZlbnQ6IGFueSk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBpbnN0YW5jZXMgPSBbXTtcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgKGV2ZW50LmRpZmYgfHwgMCkgKyAxOyBpbmRleCsrKSB7XG4gICAgICBjb25zdCBkYXRlID0gZXZlbnQub3JpZ2luYWxTdGFydC5wbHVzKHsgZGF5czogaW5kZXggfSk7XG4gICAgICBpbnN0YW5jZXMucHVzaCh0aGlzLmdldE1vbnRoVGl0bGUoZGF0ZSkpO1xuICAgIH1cbiAgICByZXR1cm4gaW5zdGFuY2VzO1xuICB9XG5cbiAgZ2V0RHVyYXRpb25TdHJpbmcoZXZlbnQ6IElUaW1lbGluZUV2ZW50KTogc3RyaW5nIHtcbiAgICByZXR1cm4gYER1cmFjacOzbjogJHtldmVudC5vcmlnaW5hbFN0YXJ0Py5kYXl9IC0gJHtldmVudC5lbmRFdmVudD8uc2V0TG9jYWxlKHRoaXMubGFuZygpKS50b0Zvcm1hdCgnZGQgTExMTCB5eXl5Jyl9ICgkeyhldmVudC5kaWZmIHx8IDApICsgMX0gRMOtYXMpYDtcbiAgfVxuXG4gIGdldERpZmZTdHJpbmcoZGlmZjogbnVtYmVyID0gMCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGRpZmYgKyAxID4gMSA/IGAke2RpZmYgKyAxfSBEw61hc2AgOiBgJHtkaWZmICsgMX0gRMOtYWA7XG4gIH1cblxuICBhcHBlYXJhbmNlQmFkZ2UoXG4gICAgZXZlbnRUeXBlOiBzdHJpbmcgfCBJQm1iVGltZWxpbmVDdXN0b21FdmVudCxcbiAgKTogSUJibUJnQXBwZWFyYW5jZSB7XG4gICAgaWYgKHR5cGVvZiBldmVudFR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBzd2l0Y2ggKGV2ZW50VHlwZSkge1xuICAgICAgICBjYXNlICdhY3RpdmUnOlxuICAgICAgICAgIHJldHVybiAnbWl0ZWNfYmx1ZSc7XG4gICAgICAgIGNhc2UgJ2RvbmUnOlxuICAgICAgICAgIHJldHVybiAnc3VjY2Vzcyc7XG4gICAgICAgIGNhc2UgJ3BlbmRpbmcnOlxuICAgICAgICAgIHJldHVybiAnbm9ybWFsJztcbiAgICAgICAgY2FzZSAndW5kZXJfcmV2aWV3JzpcbiAgICAgICAgICByZXR1cm4gJ3dhcm5pbmcnO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiAnbWl0ZWNfYmx1ZSc7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBldmVudFR5cGUudHlwZSB8fCAnbm9ybWFsJztcbiAgfVxuXG4gIGdldEJhZGdlVGV4dChldmVudFR5cGU6IHN0cmluZyB8IElCbWJUaW1lbGluZUN1c3RvbUV2ZW50KTogc3RyaW5nIHtcbiAgICBpZiAodHlwZW9mIGV2ZW50VHlwZSA9PT0gJ3N0cmluZycpIHJldHVybiBldmVudFR5cGU7XG4gICAgcmV0dXJuIGV2ZW50VHlwZS50ZXh0IHx8ICcnO1xuICB9XG59XG4iLCI8c2VjdGlvblxuICBjbGFzcz1cImJtYl90aW1lc3RyZWFtXCJcbiAgW25nQ2xhc3NdPVwieyAnYm1iX3RpbWVzdHJlYW0tbWljcm8nOiBpc01pY3JvKCkgfVwiXG4+XG4gIEBpZiAoZXJyb3IpIHtcbiAgICA8ZGl2IGNsYXNzPVwiYm1iX3RpbWVzdHJlYW0tZXJyb3JcIj5cbiAgICAgIDxibWItdGltZXN0cmVhbS1lcnJvciAvPlxuICAgIDwvZGl2PlxuICB9IEBlbHNlIHtcbiAgICBAaWYgKCFpc01pY3JvKCkpIHtcbiAgICAgIDxhc2lkZSBjbGFzcz1cImJtYl90aW1lc3RyZWFtLWFzaWRlXCI+XG4gICAgICAgIDxibWItaGl0by1saXN0XG4gICAgICAgICAgW2RhdGVGb3JtYXRdPVwiZGF0ZUZvcm1hdCgpXCJcbiAgICAgICAgICBbbGFuZ109XCJsYW5nKClcIlxuICAgICAgICAgIFtub3ddPVwibm93XCJcbiAgICAgICAgICBbZXZlbnRzXT1cInBhcnNlZEV2ZW50c1wiXG4gICAgICAgICAgW3NlbGVjdGVkRGF0ZV09XCJzZWxlY3RlZERhdGVcIlxuICAgICAgICAgIFtvcmRlcmVkTW9udGhzXT1cIm9yZGVyZWRNb250aHNcIlxuICAgICAgICAgIChjaGFuZ2VTZWxlY3RlZERhdGUpPVwiaGFuZGxlU2VsZWN0ZWREYXRlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAvPlxuICAgICAgPC9hc2lkZT5cbiAgICB9XG4gICAgPHNlY3Rpb24gY2xhc3M9XCJibWJfdGltZXN0cmVhbS1tYWluXCI+XG4gICAgICA8Ym1iLXRpbWVzdHJlYW0tZGV0YWlsXG4gICAgICAgIFtsYW5nXT1cImxhbmcoKVwiXG4gICAgICAgIFtub3ddPVwibm93XCJcbiAgICAgICAgW3NlbGVjdGVkRGF0ZV09XCJzZWxlY3RlZERhdGVcIlxuICAgICAgICAoY2hhbmdlU2VsZWN0ZWRFdmVudCk9XCJoYW5kbGVTZWxlY3RlZEV2ZW50Q2hhbmdlKCRldmVudClcIlxuICAgICAgICBbb3JkZXJlZEV2ZW50c109XCJvcmRlcmVkRXZlbnRzKClcIlxuICAgICAgICBbaXNNaWNyb109XCJpc01pY3JvKClcIlxuICAgICAgLz5cbiAgICA8L3NlY3Rpb24+XG4gIH1cbjwvc2VjdGlvbj5cblxuPG5nLXRlbXBsYXRlICNtb2RhbFRlbXBsYXRlPlxuICBAaWYgKHNlbGVjdGVkRXZlbnQpIHtcbiAgICA8c2VjdGlvbiBjbGFzcz1cImJtYl90aW1lc3RyZWFtLWRpYWxvZ1wiPlxuICAgICAgPGZpZ3VyZSBjbGFzcz1cImJtYl90aW1lc3RyZWFtLWRpYWxvZy1oZXJvXCI+XG4gICAgICAgIDxpbWdcbiAgICAgICAgICBbc3JjXT1cInNlbGVjdGVkRXZlbnQuaW1hZ2VcIlxuICAgICAgICAgIFthbHRdPVwic2VsZWN0ZWRFdmVudC50aXRsZVwiXG4gICAgICAgICAgY2xhc3M9XCJibWJfdGltZXN0cmVhbS1kaWFsb2ctaGVyby1pbWFnZVwiXG4gICAgICAgIC8+XG4gICAgICA8L2ZpZ3VyZT5cbiAgICAgIDxkaXYgY2xhc3M9XCJibWJfdGltZXN0cmVhbS1kaWFsb2ctdXNlclwiPlxuICAgICAgICA8Ym1iLXVzZXItaW1hZ2VcbiAgICAgICAgICBzaXplPVwibW9iaWxlLXNtYWxsXCJcbiAgICAgICAgICBbaW1hZ2VdPVwic2VsZWN0ZWRFdmVudC5waWN0dXJlX3Byb2ZpbGUgfHwgJydcIlxuICAgICAgICAgIFthbHRJbWFnZV09XCJzZWxlY3RlZEV2ZW50LnVzZXJfZmlyc3RfbmFtZSB8fCAnJ1wiXG4gICAgICAgICAgW2JvcmRlcmVkXT1cImZhbHNlXCJcbiAgICAgICAgLz5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJibWJfdGltZXN0cmVhbS1kaWFsb2ctdXNlci1uYW1lXCJcbiAgICAgICAgICA+e3sgc2VsZWN0ZWRFdmVudC51c2VyX2ZpcnN0X25hbWUgfX1cbiAgICAgICAgICB7eyBzZWxlY3RlZEV2ZW50LnVzZXJfbGFzdF9uYW1lIH19PC9zcGFuXG4gICAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJibWJfdGltZXN0cmVhbS1kaWFsb2ctdXNlci1kYXRlXCI+e3tcbiAgICAgICAgICBzZWxlY3RlZEV2ZW50LnN0YXJ0RXZlbnQ/LnRvRm9ybWF0KCdkZC9NTS95eXl5JylcbiAgICAgICAgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxibWItdGFic1xuICAgICAgICBbdGFic109XCJldmVudFRhYnNcIlxuICAgICAgICAoc2VsZWN0ZWQpPVwiaGFuZGxlVGFiU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgIHN0eWxlPVwiZmxleDogMVwiXG4gICAgICA+XG4gICAgICAgIEBzd2l0Y2ggKHRhYlNlbGVjdGVkKSB7XG4gICAgICAgICAgQGNhc2UgKDEpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibWJfdGltZXN0cmVhbS1kaWFsb2ctdGFiXCI+XG4gICAgICAgICAgICAgIDxkbCBjbGFzcz1cImJtYl90aW1lc3RyZWFtLWRpYWxvZy1kdWFsXCI+XG4gICAgICAgICAgICAgICAgPGR0IGNsYXNzPVwiYm1iX3RpbWVzdHJlYW0tZGlhbG9nLWR1YWwtdGl0bGVcIj5Fc3RhZG86PC9kdD5cbiAgICAgICAgICAgICAgICA8ZGQgY2xhc3M9XCJibWJfdGltZXN0cmVhbS1kaWFsb2ctZHVhbC1kYXRhXCI+XG4gICAgICAgICAgICAgICAgICA8Ym1iLWJhZGdlXG4gICAgICAgICAgICAgICAgICAgIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VCYWRnZShzZWxlY3RlZEV2ZW50LnR5cGUpXCJcbiAgICAgICAgICAgICAgICAgICAgW3RleHRdPVwiZ2V0QmFkZ2VUZXh0KHNlbGVjdGVkRXZlbnQudHlwZSlcIlxuICAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kZD5cbiAgICAgICAgICAgICAgICA8ZHQgY2xhc3M9XCJibWJfdGltZXN0cmVhbS1kaWFsb2ctZHVhbC10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgRHVyYWNpw7NuIHRvdGFsOlxuICAgICAgICAgICAgICAgIDwvZHQ+XG4gICAgICAgICAgICAgICAgPGRkIGNsYXNzPVwiYm1iX3RpbWVzdHJlYW0tZGlhbG9nLWR1YWwtZGF0YVwiPlxuICAgICAgICAgICAgICAgICAge3sgZ2V0RGlmZlN0cmluZyhzZWxlY3RlZEV2ZW50LmRpZmYpIH19XG4gICAgICAgICAgICAgICAgPC9kZD5cbiAgICAgICAgICAgICAgPC9kbD5cbiAgICAgICAgICAgICAgPHA+e3sgc2VsZWN0ZWRFdmVudC5kZXNjcmlwdGlvbiB9fTwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgICBAY2FzZSAoMikge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJtYl90aW1lc3RyZWFtLWRpYWxvZy10YWJcIj5cbiAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiYm1iX3RpbWVzdHJlYW0tZGlhbG9nLXRhYi10aXRsZVwiPkluc3RhbmNpYXM8L2gzPlxuICAgICAgICAgICAgICA8Ym1iLWRpdmlkZXIgdHlwZT1cInNpbXBsZVwiIC8+XG4gICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVwiYm1iX3RpbWVzdHJlYW0tZGlhbG9nLXRhYi1oaXRvLWxpc3RcIj5cbiAgICAgICAgICAgICAgICBAZm9yIChkYXRlIG9mIGdldEluc3RhbmNlcyhzZWxlY3RlZEV2ZW50KTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICA8Ym1iLWhpdG8tY2FyZFxuICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJzZWxlY3RlZEV2ZW50Lmljb24gfHwgJ2FwcF9iYWRnaW5nJ1wiXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJzZWxlY3RlZEV2ZW50LnRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwic2VsZWN0ZWRFdmVudC50eXBlXCJcbiAgICAgICAgICAgICAgICAgICAgW2lkXT1cIiRpbmRleFwiXG4gICAgICAgICAgICAgICAgICAgIFtlbmFibGVfYnVsbGV0XT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgW2FsdGVybmF0aXZlX2FwcGVhcmFuY2VdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtpc0NvbXBhY3RdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgKHNlbGVjdGVkRXZlbnQuZGlmZikge1xuICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJibWJfdGltZXN0cmVhbS1kaWFsb2ctdGFiLWR1cmF0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGdldER1cmF0aW9uU3RyaW5nKHNlbGVjdGVkRXZlbnQpIH19XG4gICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoc2VsZWN0ZWRFdmVudC5yZWxhdGVkX3RvKSB7XG4gICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJibWJfdGltZXN0cmVhbS1kaWFsb2ctY29udGFpbmVyLXRhYi10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICBSZWxhY2lvbmFkbyBhXG4gICAgICAgICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgICAgICAgQGZvciAocmVsYXRlZCBvZiBzZWxlY3RlZEV2ZW50LnJlbGF0ZWRfdG87IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICA8Ym1iLWhpdG8tY2FyZFxuICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cInNlbGVjdGVkRXZlbnQuaWNvbiB8fCAnYXBwX2JhZGdpbmcnXCJcbiAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwicmVsYXRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwic2VsZWN0ZWRFdmVudC50eXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwicmVsYXRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2VuYWJsZV9idWxsZXRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgIFthbHRlcm5hdGl2ZV9hcHBlYXJhbmNlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtpc0NvbXBhY3RdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIDwvYm1iLXRhYnM+XG4gICAgICA8c2VjdGlvbiBjbGFzcz1cImJtYl90aW1lc3RyZWFtLWRpYWxvZy1idXR0b24tY29udGFpbmVyXCI+XG4gICAgICAgIDxidXR0b24gYm1iQnV0dG9uIGFwcGVhcmFuY2U9XCJwcmltYXJ5XCIgaWNvbj1cImZpdF9zY3JlZW5cIj5cbiAgICAgICAgICBJciBhIGRlY2lzacOzblxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvc2VjdGlvbj5cbiAgICA8L3NlY3Rpb24+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -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", "setBorderRadius"] }, { 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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QTBCO21HQUExQiwwQkFBMEIscW1DQzNDdkMsOHpDQTRDQSx5ekJEZEksb0JBQW9CLG1VQUNwQixnQkFBZ0IsOEpBQ2hCLHNCQUFzQix5SEFDdEIsc0JBQXNCLGlRQUN0QixnQkFBZ0IsMEpBQ2hCLHVCQUF1Qix1SEFDdkIsWUFBWTs7NEZBT0gsMEJBQTBCO2tCQWpCdEMsU0FBUzsrQkFDRSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQO3dCQUNQLG9CQUFvQjt3QkFDcEIsZ0JBQWdCO3dCQUNoQixzQkFBc0I7d0JBQ3RCLHNCQUFzQjt3QkFDdEIsZ0JBQWdCO3dCQUNoQix1QkFBdUI7d0JBQ3ZCLFlBQVk7cUJBQ2IsaUJBR2MsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGlucHV0LFxuICBzaWduYWwsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJtYkhvbWVDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWhvbWUtY2FyZC9ibWItaG9tZS1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJQm1iQ29sb3IgfSBmcm9tICcuLi8uLi90eXBlcy9jb2xvcnMnO1xuaW1wb3J0IHsgSUJtYkRhdGFUb3BCYXIgfSBmcm9tICcuLi9ibWItYnJlYWRjcnVtYi9ibWItYnJlYWRjcnVtYi5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgQm1iVGltZXN0cmVhbUNvbXBvbmVudCxcbiAgSUJtYkNsYW1wLFxufSBmcm9tICcuLi9ibWItdGltZXN0cmVhbS9ibWItdGltZXN0cmVhbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSUJtYlRpbWVzdHJlYW1GaWx0ZXJzLCBJVGltZWxpbmVFdmVudCB9IGZyb20gJy4uL2JtYi10aW1lc3RyZWFtL3R5cGVzJztcbmltcG9ydCB7IEJtYkZpbHRlckNhcmRDb21wb25lbnQgfSBmcm9tICcuLi9ibWItZmlsdGVyLWNhcmQvYm1iLWZpbHRlci1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBCbWJDYXJkQ29tcG9uZW50LFxuICBCbWJDYXJkQ29udGVudENvbXBvbmVudCxcbn0gZnJvbSAnLi4vYm1iLWNhcmQvYm1iLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IEJtYkljb25Db21wb25lbnQgfSBmcm9tICcuLi9ibWItaWNvbi9ibWItaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSUJtYkNvbnRyb2xUeXBlIH0gZnJvbSAnLi4vYm1iLWZpbHRlci1jYXJkL2JtYi1maWx0ZXItY2FyZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgdGltZXN0cmVhbUZpbHRlciB9IGZyb20gJy4uLy4uL3V0aWxzL3RpbWVzdHJlYW1GaWx0ZXJzJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJQm1iQWN0aW9uSGVhZGVyIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdibWItdGltZXN0cmVhbS1jYXJkJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEJtYkhvbWVDYXJkQ29tcG9uZW50LFxuICAgIEJtYkljb25Db21wb25lbnQsXG4gICAgQm1iVGltZXN0cmVhbUNvbXBvbmVudCxcbiAgICBCbWJGaWx0ZXJDYXJkQ29tcG9uZW50LFxuICAgIEJtYkNhcmRDb21wb25lbnQsXG4gICAgQm1iQ2FyZENvbnRlbnRDb21wb25lbnQsXG4gICAgQ29tbW9uTW9kdWxlLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vYm1iLXRpbWVzdHJlYW0tY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9ibWItdGltZXN0cmVhbS1jYXJkLmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEJtYlRpbWVzdHJlYW1DYXJkQ29tcG9uZW50IHtcbiAgdGl0bGUgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gIHN1YnRpdGxlID0gaW5wdXQ8c3RyaW5nPigpO1xuICBkYXRhTG9jYWxOYXYgPSBpbnB1dDxJQm1iRGF0YVRvcEJhcltdPihbXSk7XG4gIGljb24gPSBpbnB1dDxzdHJpbmc+KCd0cmVuZGluZ191cCcpO1xuICBiZ0ljb25BcHBlYXJhbmNlID0gaW5wdXQ8SUJtYkNvbG9yPignbWl0ZWMtcmVkJyk7XG5cbiAgbGFuZyA9IGlucHV0PHN0cmluZz4oJ2VzJyk7XG4gIGRhdGVGb3JtYXQgPSBpbnB1dDxzdHJpbmc+KCdkZC9NTS95eXl5Jyk7XG4gIGV2ZW50cyA9IGlucHV0PElUaW1lbGluZUV2ZW50W10+KFtdKTtcblxuICBjbGFtcDogSUJtYkNsYW1wID0geyBtaW46IDAsIG1heDogJzEwMCUnLCBzaXplOiAnMTAwJScgfTtcbiAgaXNNb2JpbGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgYWN0aW9uSGVhZGVyczogSUJtYkFjdGlvbkhlYWRlcltdID0gW1xuICAgIHtcbiAgICAgIGljb246ICd0dW5lJyxcbiAgICAgIGlzVG9nZ2xlQWN0aXZlOiBmYWxzZSxcbiAgICAgIGFjdGlvbjogKCkgPT4ge1xuICAgICAgICB0aGlzLmhhbmRsZUNsb3NlRmlsdGVycygpO1xuICAgICAgfSxcbiAgICB9LFxuICBdO1xuICBpc0ZpbHRlcnNFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIGZpbHRlcmVkRXZlbnRzID0gc2lnbmFsPElUaW1lbGluZUV2ZW50W10+KFtdKTtcbiAgZmlsdGVyczogSUJtYkNvbnRyb2xUeXBlW10gPSBbXG4gICAge1xuICAgICAgdGl0bGU6ICdUaXBvJyxcbiAgICAgIGNvbnRyb2w6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdwZW5kaW5nJyxcbiAgICAgICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgICAgIGxhYmVsOiAnUGVuZGllbnRlJyxcbiAgICAgICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdkb25lJyxcbiAgICAgICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgICAgIGxhYmVsOiAnRmluYWxpemFkbycsXG4gICAgICAgICAgY2hlY2tlZDogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnYWN0aXZlJyxcbiAgICAgICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgICAgIGxhYmVsOiAnSW5pY2lhZG8nLFxuICAgICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ3VuZGVyX3JldmlldycsXG4gICAgICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgICAgICBsYWJlbDogJ0VuIHJldmlzacOzbicsXG4gICAgICAgICAgY2hlY2tlZDogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdJbnN0YWNpYXMnLFxuICAgICAgY29udHJvbDogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ2luc3RhbmNlcycsXG4gICAgICAgICAgdHlwZTogJ3JhZGlhbCcsXG4gICAgICAgICAgbGFiZWw6ICdUb2RhcycsXG4gICAgICAgICAgY2hlY2tlZDogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdpbnN0YW5jZXMnLFxuICAgICAgICAgIHR5cGU6ICdyYWRpYWwnLFxuICAgICAgICAgIGxhYmVsOiAnTcO6bHRpcGxlJyxcbiAgICAgICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdpbnN0YW5jZXMnLFxuICAgICAgICAgIHR5cGU6ICdyYWRpYWwnLFxuICAgICAgICAgIGxhYmVsOiAnVW5hJyxcbiAgICAgICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgXTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmZpbHRlcmVkRXZlbnRzLnNldCh0aGlzLmV2ZW50cygpKTtcbiAgfVxuXG4gIGhhbmRsZUNsb3NlRmlsdGVycygpIHtcbiAgICB0aGlzLmlzRmlsdGVyc0VuYWJsZWQgPSAhdGhpcy5pc0ZpbHRlcnNFbmFibGVkO1xuICB9XG5cbiAgaGFuZGxlRmlsdGVyc0NoYW5nZShmaWx0ZXJzOiBhbnkpIHtcbiAgICB0aGlzLmlzRmlsdGVyc0VuYWJsZWQgPSAhdGhpcy5pc0ZpbHRlcnNFbmFibGVkO1xuICAgIGNvbnN0IGFjdGl2ZUZpbHRlcnMgPSBPYmplY3Qua2V5cyhmaWx0ZXJzKTtcbiAgICBjb25zdCB2YWxpZEZpbHRlcnMgPSBhY3RpdmVGaWx0ZXJzLmZpbHRlcigoZmlsdGVyKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIGZpbHRlcnNbZmlsdGVyXSA9PT0gJ3N0cmluZycpIHJldHVybiBmaWx0ZXJzW2ZpbHRlcl0gIT09ICcnO1xuICAgICAgcmV0dXJuIGZpbHRlcnNbZmlsdGVyXS5jaGVja2VkO1xuICAgIH0pO1xuXG4gICAgaWYgKCF2YWxpZEZpbHRlcnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkRXZlbnRzLnNldCh0aGlzLmV2ZW50cygpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZmlsdGVyc1ZhbHVlID0gdmFsaWRGaWx0ZXJzLnJlZHVjZShcbiAgICAgICAgKG9iajogSUJtYlRpbWVzdHJlYW1GaWx0ZXJzLCBmaWx0ZXIpID0+IHtcbiAgICAgICAgICBpZiAoZmlsdGVyID09PSAnaW5zdGFuY2VzJylcbiAgICAgICAgICAgIHJldHVybiB7IC4uLm9iaiwgaW5zdGFuY2VzOiBmaWx0ZXJzW2ZpbHRlcl0ubGFiZWwgfTtcbiAgICAgICAgICBpZiAoZmlsdGVyID09PSAnc2VhcmNoJykgcmV0dXJuIHsgLi4ub2JqLCB0ZXh0OiBmaWx0ZXJzW2ZpbHRlcl0gfTtcbiAgICAgICAgICBjb25zdCB0eXBlcyA9IG9iaj8udHlwZSB8fCBbXTtcbiAgICAgICAgICByZXR1cm4geyAuLi5vYmosIHR5cGU6IFsuLi50eXBlcywgZmlsdGVyXSB9O1xuICAgICAgICB9LFxuICAgICAgICB7fSxcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuZmlsdGVyZWRFdmVudHMuc2V0KHRpbWVzdHJlYW1GaWx0ZXIodGhpcy5ldmVudHMoKSwgZmlsdGVyc1ZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0Q2xhc3NMaXN0KCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBjbGFzc0xpc3QgPSBbJ2JtYi10aW1lc3RyZWFtLWNhcmQtZmlsdGVycyddO1xuICAgIGlmICh0aGlzLmlzRmlsdGVyc0VuYWJsZWQpXG4gICAgICBjbGFzc0xpc3QucHVzaCgnYm1iLXRpbWVzdHJlYW0tY2FyZC1maWx0ZXJzLWFjdGl2ZScpO1xuICAgIHJldHVybiBjbGFzc0xpc3Q7XG4gIH1cbn1cbiIsIjxzZWN0aW9uIGNsYXNzPVwiYm1iLXRpbWVzdHJlYW0tY2FyZFwiPlxuICA8Ym1iLWhvbWUtY2FyZFxuICAgIFtpY29uXT1cImljb24oKVwiXG4gICAgW2JnSWNvbkFwcGVhcmFuY2VdPVwiYmdJY29uQXBwZWFyYW5jZSgpXCJcbiAgICBbdGl0bGVdPVwidGl0bGUoKVwiXG4gICAgW3N1YnRpdGxlXT1cInN1YnRpdGxlKClcIlxuICAgIFtkYXRhTG9jYWxOYXZdPVwiZGF0YUxvY2FsTmF2KClcIlxuICAgIFtpc01vYmlsZV09XCJpc01vYmlsZVwiXG4gICAgW2FjdGlvbkhlYWRlcnNdPVwiYWN0aW9uSGVhZGVyc1wiXG4gICAgY29udGVudFBhZGRpbmc9XCJub25lXCJcbiAgPlxuICAgIDxibWItdGltZXN0cmVhbVxuICAgICAgW2V2ZW50c109XCJmaWx0ZXJlZEV2ZW50cygpXCJcbiAgICAgIFtkYXRlRm9ybWF0XT1cImRhdGVGb3JtYXQoKVwiXG4gICAgICBbY2xhbXBdPVwiY2xhbXBcIlxuICAgICAgW2xhbmddPVwibGFuZygpXCJcbiAgICAvPlxuICA8L2JtYi1ob21lLWNhcmQ+XG4gIDxzZWN0aW9uIFtuZ0NsYXNzXT1cImdldENsYXNzTGlzdCgpXCI+XG4gICAgPGJtYi1jYXJkPlxuICAgICAgPGJtYi1jYXJkLWNvbnRlbnQ+XG4gICAgICAgIDxoZWFkZXIgY2xhc3M9XCJibWItdGltZXN0cmVhbS1jYXJkLWZpbHRlcnMtaGVhZGVyXCI+XG4gICAgICAgICAgPGgyIGNsYXNzPVwiYm1iLXRpbWVzdHJlYW0tY2FyZC1maWx0ZXJzLWhlYWRlci10aXRsZVwiPlxuICAgICAgICAgICAgT3BjaW9uZXMgZGUgZmlsdHJhZG9cbiAgICAgICAgICA8L2gyPlxuICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImhhbmRsZUNsb3NlRmlsdGVycygpXCI+XG4gICAgICAgICAgICA8Ym1iLWljb25cbiAgICAgICAgICAgICAgaWNvbj1cImNsb3NlXCJcbiAgICAgICAgICAgICAgW3NpemVdPVwiMjBcIlxuICAgICAgICAgICAgICBbYWx0XT1cInN1YnRpdGxlKCkgfHwgJ0NlcnJhciBmaWx0cm9zJ1wiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2hlYWRlcj5cbiAgICAgICAgPGJtYi1maWx0ZXItY2FyZFxuICAgICAgICAgIFtpbkxpbmVdPVwidHJ1ZVwiXG4gICAgICAgICAgcHJpbWFyeUJ0bkxhYmVsPVwiQXBsaWNhciBmaWx0cm9zXCJcbiAgICAgICAgICBzZWNvbmRhcnlCdG5MYWJlbD1cIkxpbXBpYXIgZmlsdHJvc1wiXG4gICAgICAgICAgW2NvbnRyb2xUeXBlc109XCJmaWx0ZXJzXCJcbiAgICAgICAgICAoYXBwbHlGaWx0ZXJzKT1cImhhbmRsZUZpbHRlcnNDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIC8+XG4gICAgICA8L2JtYi1jYXJkLWNvbnRlbnQ+XG4gICAgPC9ibWItY2FyZD5cbiAgPC9zZWN0aW9uPlxuPC9zZWN0aW9uPlxuIl19
|