@ti-tecnologico-de-monterrey-oficial/ds-ng 1.5.1318 → 1.5.1319-a
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/styles/main.min.css +1 -1
- package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs +652 -614
- package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs.map +1 -1
- package/lib/components/bmb-accordion/bmb-accordion.component.d.ts +2 -1
- package/lib/components/bmb-alert-center/bmb-alert-center-ads/bmb-alert-center-ads.component.d.ts +0 -4
- package/lib/components/bmb-alert-center/bmb-alert-center.component.d.ts +3 -3
- package/lib/components/bmb-alert-center/types.d.ts +2 -0
- package/lib/components/bmb-chat-bar/bmb-chat-bar.component.d.ts +2 -2
- package/lib/components/bmb-notification-card/bmb-notification-card-modal/bmb-notification-card-modal.component.d.ts +5 -3
- package/lib/components/utils/bmb-alert-center-detail/bmb-alert-center-detail.component.d.ts +20 -0
- package/lib/ds-ng.component.d.ts +1 -1
- package/lib/services/calendar/calendar.service.d.ts +1 -1
- package/lib/utils/utils.d.ts +4 -0
- package/package.json +1 -3
- package/esm2022/assets/i18n/en.json +0 -122
- package/esm2022/assets/i18n/es.json +0 -122
- package/esm2022/lib/components/bmb-academic-progress/bmb-academic-progress.component.mjs +0 -87
- package/esm2022/lib/components/bmb-accordion/bmb-accordion.component.mjs +0 -159
- package/esm2022/lib/components/bmb-account-statement/bmb-account-statement.component.mjs +0 -174
- package/esm2022/lib/components/bmb-action-icon/bmb-action-icon.component.mjs +0 -49
- package/esm2022/lib/components/bmb-action-menu/bmb-action-menu.component.mjs +0 -31
- package/esm2022/lib/components/bmb-advertisement-card/bmb-advertisement-card.component.mjs +0 -37
- package/esm2022/lib/components/bmb-advertisement-card/types.mjs +0 -2
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-ads/bmb-alert-center-ads.component.mjs +0 -71
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-empty/bmb-alert-center-empty.component.mjs +0 -19
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-form/bmb-alert-center-form.component.mjs +0 -148
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-list/bmb-alert-center-list.component.mjs +0 -47
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center.component.mjs +0 -204
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center.service.mjs +0 -62
- package/esm2022/lib/components/bmb-alert-center/types.mjs +0 -2
- package/esm2022/lib/components/bmb-badge/bmb-badge.component.mjs +0 -26
- package/esm2022/lib/components/bmb-balance-overview/bmb-balance-overview.component.mjs +0 -32
- package/esm2022/lib/components/bmb-bookmark/bmb-bookmark.component.mjs +0 -27
- package/esm2022/lib/components/bmb-bottom-navigation-bar/bmb-bottom-navigation-bar.component.mjs +0 -42
- package/esm2022/lib/components/bmb-breadcrumb/bmb-breadcrumb.component.mjs +0 -55
- package/esm2022/lib/components/bmb-button-icon/bmb-button-icon.component.mjs +0 -30
- package/esm2022/lib/components/bmb-calendar/bmb-calendar.component.mjs +0 -288
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-header/bmb-calendar-header.component.mjs +0 -101
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-hour-view/bmb-calendar-hour-view.component.mjs +0 -40
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-schedule-cards/bmb-calendar-schedule-cards.component.mjs +0 -68
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-day/bmb-calendar-template-day.component.mjs +0 -43
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-mobile/bmb-calendar-template-mobile.component.mjs +0 -100
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-month/bmb-calendar-template-month.component.mjs +0 -47
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-week/bmb-calendar-template-week.component.mjs +0 -56
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-time-indicator/bmb-calendar-time-indicator.component.mjs +0 -24
- package/esm2022/lib/components/bmb-calendar/types.mjs +0 -2
- package/esm2022/lib/components/bmb-calendar/utils.mjs +0 -96
- package/esm2022/lib/components/bmb-card/bmb-card.component.mjs +0 -159
- package/esm2022/lib/components/bmb-card-button/bmb-card-button.component.mjs +0 -76
- package/esm2022/lib/components/bmb-carousel/bmb-carousel.component.mjs +0 -80
- package/esm2022/lib/components/bmb-chat-bar/bmb-chat-bar.component.mjs +0 -200
- package/esm2022/lib/components/bmb-chat-bar/bot_list.mjs +0 -57
- package/esm2022/lib/components/bmb-chat-bar/types.mjs +0 -2
- package/esm2022/lib/components/bmb-chat-bubbles/bmb-chat-bubbles.component.mjs +0 -56
- package/esm2022/lib/components/bmb-chat-bubbles/types.mjs +0 -2
- package/esm2022/lib/components/bmb-check-external-link-button/bmb-check-external-link-button.component.mjs +0 -46
- package/esm2022/lib/components/bmb-checkbox/bmb-checkbox.component.mjs +0 -80
- package/esm2022/lib/components/bmb-chevron-title-selector/bmb-chevron-title-selector.component.mjs +0 -36
- package/esm2022/lib/components/bmb-container/bmb-container.component.mjs +0 -27
- package/esm2022/lib/components/bmb-container-button/bmb-container-button.component.mjs +0 -92
- package/esm2022/lib/components/bmb-date-range/bmb-date-range.component.mjs +0 -69
- package/esm2022/lib/components/bmb-datepicker/bmb-datepicker-modal/bmb-datepicker-modal.component.mjs +0 -208
- package/esm2022/lib/components/bmb-datepicker/bmb-datepicker.component.mjs +0 -144
- package/esm2022/lib/components/bmb-digital-id/bmb-digital-id.component.mjs +0 -58
- package/esm2022/lib/components/bmb-divider/bmb-divider.component.mjs +0 -25
- package/esm2022/lib/components/bmb-dot-paginator/bmb-dot-paginator.component.mjs +0 -34
- package/esm2022/lib/components/bmb-drawer-overlay/bmb-drawer-overlay.component.mjs +0 -65
- package/esm2022/lib/components/bmb-dropdown/bmb-dropdown.component.mjs +0 -177
- package/esm2022/lib/components/bmb-dropdown-menu/bmb-dropdown-menu.component.mjs +0 -31
- package/esm2022/lib/components/bmb-dropzone/bmb-dropzone.component.mjs +0 -192
- package/esm2022/lib/components/bmb-evaluation-rubric/bmb-evaluation-rubric.component.mjs +0 -76
- package/esm2022/lib/components/bmb-external-link/bmb-external-link.component.mjs +0 -80
- package/esm2022/lib/components/bmb-fab/bmb-fab-.interface.mjs +0 -9
- package/esm2022/lib/components/bmb-fab/bmb-fab.component.mjs +0 -37
- package/esm2022/lib/components/bmb-filter-card/bmb-filter-card.component.mjs +0 -166
- package/esm2022/lib/components/bmb-filter-card/bmb-filter-card.interface.mjs +0 -2
- package/esm2022/lib/components/bmb-focus-element/bmb-focus-element.component.mjs +0 -36
- package/esm2022/lib/components/bmb-form-validator/bmb-form-validator.component.mjs +0 -159
- package/esm2022/lib/components/bmb-frequent-apps-selector/bmb-frequent-apps-selector.component.mjs +0 -29
- package/esm2022/lib/components/bmb-grade-value/bmb-grade-value.component.mjs +0 -22
- package/esm2022/lib/components/bmb-grades/bmb-grades.component.mjs +0 -178
- package/esm2022/lib/components/bmb-grades/types.mjs +0 -2
- package/esm2022/lib/components/bmb-header-mitec/bmb-header-mitec.component.mjs +0 -60
- package/esm2022/lib/components/bmb-header-mobile/bmb-header-mobile.component.mjs +0 -49
- package/esm2022/lib/components/bmb-hito-card/bmb-hito-card.component.mjs +0 -86
- package/esm2022/lib/components/bmb-hito-list/bmb-hito-list.component.mjs +0 -59
- package/esm2022/lib/components/bmb-home-card/bmb-home-card-header/bmb-home-card-header.component.mjs +0 -76
- package/esm2022/lib/components/bmb-home-card/bmb-home-card.component.mjs +0 -41
- package/esm2022/lib/components/bmb-home-card-chat/bmb-home-card-chat.component.mjs +0 -45
- package/esm2022/lib/components/bmb-home-section/bmb-home-section.component.mjs +0 -20
- package/esm2022/lib/components/bmb-icon/bmb-icon.component.mjs +0 -50
- package/esm2022/lib/components/bmb-icon/types.mjs +0 -2
- package/esm2022/lib/components/bmb-icon-item/bmb-icon-item.component.mjs +0 -32
- package/esm2022/lib/components/bmb-icon-status/bmb-icon-status.component.mjs +0 -24
- package/esm2022/lib/components/bmb-iframe/bmb-iframe.component.mjs +0 -19
- package/esm2022/lib/components/bmb-iframe/bmb-iframe.pipe.mjs +0 -21
- package/esm2022/lib/components/bmb-image/bmb-image.component.mjs +0 -33
- package/esm2022/lib/components/bmb-inner-header/bmb-inner-header.component.mjs +0 -79
- package/esm2022/lib/components/bmb-input/bmb-input-content/bmb-input-content.component.mjs +0 -147
- package/esm2022/lib/components/bmb-input/bmb-input-validator/bmb-input-validator.component.mjs +0 -178
- package/esm2022/lib/components/bmb-input/bmb-input.component.mjs +0 -85
- package/esm2022/lib/components/bmb-input-phone-number/bmb-input-phone-number.component.mjs +0 -219
- package/esm2022/lib/components/bmb-input-tags/bmb-input-tags.component.mjs +0 -191
- package/esm2022/lib/components/bmb-interactive-icon/bmb-interactive-icon.component.mjs +0 -54
- package/esm2022/lib/components/bmb-invoice/bmb-invoice.component.mjs +0 -34
- package/esm2022/lib/components/bmb-item/bmb-item.component.mjs +0 -28
- package/esm2022/lib/components/bmb-legend/bmb-legend.component.mjs +0 -23
- package/esm2022/lib/components/bmb-list-group/bmb-list-group-item/bmb-list-group-item.component.mjs +0 -83
- package/esm2022/lib/components/bmb-list-group/bmb-list-group.component.mjs +0 -60
- package/esm2022/lib/components/bmb-list-group/bmb-list-group.service.mjs +0 -55
- package/esm2022/lib/components/bmb-list-group/types.mjs +0 -2
- package/esm2022/lib/components/bmb-list-items/bmb-list-items.component.mjs +0 -83
- package/esm2022/lib/components/bmb-loader/bmb-loader.component.mjs +0 -77
- package/esm2022/lib/components/bmb-login/bmb-login-content/bmb-login-content.component.mjs +0 -55
- package/esm2022/lib/components/bmb-login/bmb-login.component.mjs +0 -68
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-logged/bmb-login-onboarding-logged.component.mjs +0 -40
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-login/bmb-login-onboarding-login.component.mjs +0 -20
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-logout/bmb-login-onboarding-logout.component.mjs +0 -33
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-four.component.mjs +0 -91
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-one.component.mjs +0 -88
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-three.component.mjs +0 -57
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-two.component.mjs +0 -99
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step.component.mjs +0 -39
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper.component.mjs +0 -44
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding.component.mjs +0 -67
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding.service.mjs +0 -70
- package/esm2022/lib/components/bmb-login-onboarding/types.mjs +0 -2
- package/esm2022/lib/components/bmb-logo/bmb-logo.component.mjs +0 -43
- package/esm2022/lib/components/bmb-media-card/bmb-media-card.component.mjs +0 -65
- package/esm2022/lib/components/bmb-mitec-logo-animation/bmb-mitec-logo-animation.component.mjs +0 -14
- package/esm2022/lib/components/bmb-mobile-templates/bmb-mobile-templates.component.mjs +0 -88
- package/esm2022/lib/components/bmb-modal/bmb-modal.component.mjs +0 -139
- package/esm2022/lib/components/bmb-modal/bmb-modal.interface.mjs +0 -2
- package/esm2022/lib/components/bmb-modal/bmb-native-modal.component.mjs +0 -121
- package/esm2022/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator-item/bmb-multi-dot-paginator-item.component.mjs +0 -15
- package/esm2022/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator.component.mjs +0 -59
- package/esm2022/lib/components/bmb-navigation-bar/bmb-navigation-bar.component.mjs +0 -30
- package/esm2022/lib/components/bmb-notice-card/bmb-notice-card.component.mjs +0 -45
- package/esm2022/lib/components/bmb-notification-card/bmb-notification-card-modal/bmb-notification-card-modal.component.mjs +0 -21
- package/esm2022/lib/components/bmb-notification-card/bmb-notification-card.component.mjs +0 -114
- package/esm2022/lib/components/bmb-notification-counter/bmb-notification-counter.component.mjs +0 -23
- package/esm2022/lib/components/bmb-overlay/bmb-overlay.component.mjs +0 -22
- package/esm2022/lib/components/bmb-paginator/bmb-paginator.component.mjs +0 -52
- package/esm2022/lib/components/bmb-portal/bmb-portal.component.mjs +0 -58
- package/esm2022/lib/components/bmb-portal/bmb-projected-content/bmb-projected-content.component.mjs +0 -123
- package/esm2022/lib/components/bmb-profile/bmb-profile.component.mjs +0 -153
- package/esm2022/lib/components/bmb-progress-bar/bmb-progress-bar.component.mjs +0 -39
- package/esm2022/lib/components/bmb-progress-cirlce/bmb-progress-circle.component.mjs +0 -180
- package/esm2022/lib/components/bmb-progress-cirlce/bmb-progress-circle.interface.mjs +0 -2
- package/esm2022/lib/components/bmb-pull-wedge/bmb-pull-wedge.component.mjs +0 -88
- package/esm2022/lib/components/bmb-push-notification/bmb-push-notification-item/bmb-push-notification-item.component.mjs +0 -75
- package/esm2022/lib/components/bmb-push-notification/bmb-push-notification.component.mjs +0 -24
- package/esm2022/lib/components/bmb-push-notification/types.mjs +0 -2
- package/esm2022/lib/components/bmb-radial/bmb-radial.component.mjs +0 -78
- package/esm2022/lib/components/bmb-search-input/bmb-search-input.component.mjs +0 -122
- package/esm2022/lib/components/bmb-server-table/bmb-server-table.component.mjs +0 -82
- package/esm2022/lib/components/bmb-sidebar/bmb-sidebar.component.mjs +0 -101
- package/esm2022/lib/components/bmb-sidebar/bmb-sidebar.interface.mjs +0 -2
- package/esm2022/lib/components/bmb-simple-header/bmb-simple-header.component.mjs +0 -64
- package/esm2022/lib/components/bmb-skeleton/bmb-skeleton.component.mjs +0 -16
- package/esm2022/lib/components/bmb-sounds-card/bmb-sounds-card.component.mjs +0 -64
- package/esm2022/lib/components/bmb-stat-counter/bmb-stat-counter.component.mjs +0 -32
- package/esm2022/lib/components/bmb-step-progress-bar/bmb-step-progress-bar.component.mjs +0 -59
- package/esm2022/lib/components/bmb-student-activity-card/bmb-student-activity-card.component.mjs +0 -53
- package/esm2022/lib/components/bmb-student-activity-selector/bmb-student-activity-tab/bmb-student-activity-tab.component.mjs +0 -27
- package/esm2022/lib/components/bmb-switch/bmb-switch.component.mjs +0 -90
- package/esm2022/lib/components/bmb-table-lite/bmb-table-lite.component.mjs +0 -564
- package/esm2022/lib/components/bmb-table-lite/bmb-table-lite.interface.mjs +0 -2
- package/esm2022/lib/components/bmb-tables/bmb-tables.component.mjs +0 -541
- package/esm2022/lib/components/bmb-tables/bmb-tables.interface.mjs +0 -2
- package/esm2022/lib/components/bmb-tabs/bmb-tabs.component.mjs +0 -132
- package/esm2022/lib/components/bmb-tags/bmb-tags.component.mjs +0 -66
- package/esm2022/lib/components/bmb-text-editor/bmb-text-editor.component.mjs +0 -135
- package/esm2022/lib/components/bmb-text-link/bmb-text-link.component.mjs +0 -43
- package/esm2022/lib/components/bmb-theme/bmb-theme.component.mjs +0 -65
- package/esm2022/lib/components/bmb-three-cols/bmb-three-cols.component.mjs +0 -30
- package/esm2022/lib/components/bmb-timestream/bmb-timestream-detail/bmb-timestream-detail.component.mjs +0 -74
- package/esm2022/lib/components/bmb-timestream/bmb-timestream-error/bmb-timestream-error.component.mjs +0 -13
- package/esm2022/lib/components/bmb-timestream/bmb-timestream.component.mjs +0 -236
- package/esm2022/lib/components/bmb-timestream/types.mjs +0 -2
- package/esm2022/lib/components/bmb-timestream-card/bmb-timestream-card.component.mjs +0 -139
- package/esm2022/lib/components/bmb-title-content/bmb-title-content.component.mjs +0 -61
- package/esm2022/lib/components/bmb-toast/bmb-toast.component.mjs +0 -47
- package/esm2022/lib/components/bmb-tooltip/bmb-tooltip.component.mjs +0 -39
- package/esm2022/lib/components/bmb-top-bar/bmb-top-bar-item/bmb-top-bar-item.component.mjs +0 -31
- package/esm2022/lib/components/bmb-top-bar/bmb-top-bar-user-section/bmb-top-bar-user-section.component.mjs +0 -94
- package/esm2022/lib/components/bmb-top-bar/bmb-top-bar.component.mjs +0 -86
- package/esm2022/lib/components/bmb-top-bar/types.mjs +0 -2
- package/esm2022/lib/components/bmb-totp/bmb-totp.component.mjs +0 -141
- package/esm2022/lib/components/bmb-user-image/bmb-user-image.component.mjs +0 -44
- package/esm2022/lib/components/bmb-user-profile/bmb-user-profile-content/bmb-user-profile-content.component.mjs +0 -19
- package/esm2022/lib/components/bmb-user-profile/bmb-user-profile.component.mjs +0 -77
- package/esm2022/lib/components/bmb-user-summary/bmb-user-summary-content/bmb-user-summary-content.component.mjs +0 -64
- package/esm2022/lib/components/bmb-user-summary/bmb-user-summary.component.mjs +0 -34
- package/esm2022/lib/components/bmb-value-counter/bmb-value-counter.component.mjs +0 -23
- package/esm2022/lib/components/bmb-web-templates/bmb-web-templates.component.mjs +0 -85
- package/esm2022/lib/components/bmb-wheel-menu/bmb-wheel-menu.component.mjs +0 -128
- package/esm2022/lib/components/utils/bmb-dropdown-content/bmb-dropdown-content.component.mjs +0 -51
- package/esm2022/lib/directives/bmb-accordion/bmb-accordion-control.directive.mjs +0 -88
- package/esm2022/lib/directives/bmb-button/button.directive.mjs +0 -84
- package/esm2022/lib/directives/bmb-button-group/bmb-button-group.directive.mjs +0 -29
- package/esm2022/lib/directives/bmb-layout/bmb-layout-item.directive.mjs +0 -64
- package/esm2022/lib/directives/bmb-layout/bmb-layout.directive.mjs +0 -41
- package/esm2022/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout-item.directive.mjs +0 -34
- package/esm2022/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout.directive.mjs +0 -37
- package/esm2022/lib/directives/bmb-layout-grid/bmb-layout-grid.directive.mjs +0 -89
- package/esm2022/lib/directives/bmb-selector/bmb-selector.directive.mjs +0 -28
- package/esm2022/lib/directives/utils/clickoutside.directive.mjs +0 -41
- package/esm2022/lib/ds-ng.component.mjs +0 -11
- package/esm2022/lib/ds-ng.service.mjs +0 -14
- package/esm2022/lib/pipes/translations.mjs +0 -22
- package/esm2022/lib/services/calendar/calendar.service.mjs +0 -51
- package/esm2022/lib/services/calendar.service.mjs +0 -51
- package/esm2022/lib/services/index.mjs +0 -3
- package/esm2022/lib/services/modal/native-modal.service.mjs +0 -60
- package/esm2022/lib/services/native-modal.service.mjs +0 -60
- package/esm2022/lib/services/notification/notification.service.mjs +0 -84
- package/esm2022/lib/services/notification.service.mjs +0 -84
- package/esm2022/lib/services/projection/projection.service.mjs +0 -49
- package/esm2022/lib/services/projection.service.mjs +0 -49
- package/esm2022/lib/services/tabs/tabs.service.mjs +0 -30
- package/esm2022/lib/services/tabs.service.mjs +0 -30
- package/esm2022/lib/services/theme/theme.service.mjs +0 -30
- package/esm2022/lib/services/theme.service.mjs +0 -30
- package/esm2022/lib/services/toast/toast.service.mjs +0 -24
- package/esm2022/lib/services/toast.service.mjs +0 -24
- package/esm2022/lib/services/translations/translations.service.mjs +0 -53
- package/esm2022/lib/services/user/profile.service.mjs +0 -26
- package/esm2022/lib/types/colors.mjs +0 -2
- package/esm2022/lib/types/index.mjs +0 -11
- package/esm2022/lib/utils/countryCodes.mjs +0 -1089
- package/esm2022/lib/utils/currencyFormat.mjs +0 -7
- package/esm2022/lib/utils/dropdown.mjs +0 -85
- package/esm2022/lib/utils/formControl.mjs +0 -25
- package/esm2022/lib/utils/timestreamFilters.mjs +0 -32
- package/esm2022/lib/utils/utils.mjs +0 -71
- package/esm2022/public-api.mjs +0 -160
- package/esm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs +0 -5
|
@@ -1,236 +0,0 @@
|
|
|
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/modal/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: "18.2.14", ngImport: i0, type: BmbTimestreamComponent, deps: [{ token: i1.BmbNativeModalService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
216
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", 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: 35rem){.bmb_timestream-aside{width:50%;max-width:250px;display:block}}.bmb_timestream-main{width:100%}@container (min-width: 35rem){.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: "18.2.14", 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: 35rem){.bmb_timestream-aside{width:50%;max-width:250px;display:block}}.bmb_timestream-main{width:100%}@container (min-width: 35rem){.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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ImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGlucHV0LFxuICBzaWduYWwsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGVUaW1lLCBJbmZvIH0gZnJvbSAnbHV4b24nO1xuaW1wb3J0IHsgQm1iVGltZXN0cmVhbUVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi9ibWItdGltZXN0cmVhbS1lcnJvci9ibWItdGltZXN0cmVhbS1lcnJvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm1iSGl0b0xpc3RDb21wb25lbnQgfSBmcm9tICcuLi9ibWItaGl0by1saXN0L2JtYi1oaXRvLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEJtYlRpbWVzdHJlYW1EZXRhaWxzQ29tcG9uZW50IH0gZnJvbSAnLi9ibWItdGltZXN0cmVhbS1kZXRhaWwvYm1iLXRpbWVzdHJlYW0tZGV0YWlsLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBJVGltZWxpbmVFdmVudCxcbiAgSVNlbGVjdGVkRGF0ZSxcbiAgSVRpbWVsaW5lRXZlbnRQYXJzZWQsXG4gIElCbWJUaW1lbGluZUN1c3RvbUV2ZW50LFxufSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCbWJOYXRpdmVNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tb2RhbC9uYXRpdmUtbW9kYWwuc2VydmljZSc7XG5pbXBvcnQgeyBJQm1iTmF0aXZlTW9kYWwgfSBmcm9tICcuLi9ibWItbW9kYWwvYm1iLW1vZGFsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCbWJVc2VySW1hZ2VDb21wb25lbnQgfSBmcm9tICcuLi9ibWItdXNlci1pbWFnZS9ibWItdXNlci1pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm1iVGFic0NvbXBvbmVudCB9IGZyb20gJy4uL2JtYi10YWJzL2JtYi10YWJzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2JtYi1idXR0b24vYnV0dG9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCbWJEaXZpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWRpdmlkZXIvYm1iLWRpdmlkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJtYkhpdG9DYXJkQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWhpdG8tY2FyZC9ibWItaGl0by1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJCYWRnZUNvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1iYWRnZS9ibWItYmFkZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IElCYm1CZ0FwcGVhcmFuY2UgfSBmcm9tICcuLi9ibWItYWR2ZXJ0aXNlbWVudC1jYXJkL3R5cGVzJztcblxuaW50ZXJmYWNlIElQbGFjZWhvbGRlck9iamVjdCB7XG4gIFtrZXk6IHN0cmluZ106IGFueSB8IGFueVtdO1xufVxuXG5pbnRlcmZhY2UgVGFiIHtcbiAgaWQ6IG51bWJlcjtcbiAgdGl0bGU6IHN0cmluZztcbiAgaXNBY3RpdmU/OiBib29sZWFuO1xuICBiYWRnZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQm1iQ2xhbXAge1xuICBtaW46IG51bWJlciB8IHN0cmluZztcbiAgbWF4OiBudW1iZXIgfCBzdHJpbmc7XG4gIHNpemU6IG51bWJlciB8IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYm1iLXRpbWVzdHJlYW0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQm1iVGltZXN0cmVhbUVycm9yQ29tcG9uZW50LFxuICAgIEJtYkhpdG9MaXN0Q29tcG9uZW50LFxuICAgIEJtYlRpbWVzdHJlYW1EZXRhaWxzQ29tcG9uZW50LFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBCbWJVc2VySW1hZ2VDb21wb25lbnQsXG4gICAgQm1iVGFic0NvbXBvbmVudCxcbiAgICBCbWJCdXR0b25EaXJlY3RpdmUsXG4gICAgQm1iRGl2aWRlckNvbXBvbmVudCxcbiAgICBCbWJIaXRvQ2FyZENvbXBvbmVudCxcbiAgICBCbWJCYWRnZUNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2JtYi10aW1lc3RyZWFtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2JtYi10aW1lc3RyZWFtLmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEJtYlRpbWVzdHJlYW1Db21wb25lbnQge1xuICBpc01pY3JvID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICBsYW5nID0gaW5wdXQ8c3RyaW5nPignZXMnKTtcbiAgZGF0ZUZvcm1hdCA9IGlucHV0PHN0cmluZz4oJ2RkL01NL3l5eXknKTtcbiAgZXZlbnRzID0gaW5wdXQ8SVRpbWVsaW5lRXZlbnRbXT4oW10pO1xuICBjbGFtcCA9IGlucHV0PElCbWJDbGFtcD4oeyBtaW46IDEwMCwgbWF4OiAnMTAwZHZoJywgc2l6ZTogJzEwMCUnIH0pO1xuXG4gIEBWaWV3Q2hpbGQoJ21vZGFsVGVtcGxhdGUnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIG1vZGFsVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIC8vIGludGVybmFsIHN0YXRlXG4gIGVycm9yID0gZmFsc2U7XG4gIG5vdyA9IERhdGVUaW1lLm5vdygpO1xuICBzdGFydDogRGF0ZVRpbWUgfCBudWxsID0gbnVsbDtcbiAgcGFyc2VkRXZlbnRzPzogYW55O1xuICBtb250aHNOYW1lcyA9IEluZm8ubW9udGhzKCdsb25nJywgeyBsb2NhbGU6IHRoaXMubGFuZygpIH0pO1xuICBvcmRlcmVkRXZlbnRzID0gc2lnbmFsPElUaW1lbGluZUV2ZW50UGFyc2VkW10+KFtdKTtcbiAgc2VsZWN0ZWREYXRlOiBJU2VsZWN0ZWREYXRlID0ge1xuICAgIGRheTogJycsXG4gICAgbW9udGg6ICcnLFxuICAgIGRhdGU6IHRoaXMubm93LFxuICB9O1xuICBvcmRlcmVkTW9udGhzOiBzdHJpbmdbXSA9IFtdO1xuICBuZXdNb2RhbCE6IFRlbXBsYXRlUmVmPGFueT47XG4gIHNlbGVjdGVkRXZlbnQ6IElUaW1lbGluZUV2ZW50IHwgbnVsbCA9IG51bGw7XG4gIGV2ZW50VGFiczogVGFiW10gPSBbXG4gICAgeyBpZDogMSwgdGl0bGU6ICdEZXNjcmlwY2nDs24nLCBpc0FjdGl2ZTogdHJ1ZSB9LFxuICAgIHsgaWQ6IDIsIHRpdGxlOiAnSW5zdGFuY2lhcycgfSxcbiAgXTtcbiAgdGFiU2VsZWN0ZWQgPSAxO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBCbWJOYXRpdmVNb2RhbFNlcnZpY2UpIHt9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIHRoaXMucGFyc2VkRXZlbnRzID0gdGhpcy5wcmVwYXJlRXZlbnRzKGNoYW5nZXNbJ2V2ZW50cyddLmN1cnJlbnRWYWx1ZSk7XG4gICAgdGhpcy5vcmRlcmVkTW9udGhzID0gdGhpcy5vcmRlckRhdGVzKHRoaXMucGFyc2VkRXZlbnRzLCAneXl5eS9NTScpO1xuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gdGhpcy5zZWxlY3RBVmFsaWREYXRlKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnBhcnNlZEV2ZW50cyA9IHRoaXMucHJlcGFyZUV2ZW50cyh0aGlzLmV2ZW50cygpKTtcbiAgICB0aGlzLm9yZGVyZWRNb250aHMgPSB0aGlzLm9yZGVyRGF0ZXModGhpcy5wYXJzZWRFdmVudHMsICd5eXl5L01NJyk7XG4gICAgdGhpcy5zZWxlY3RlZERhdGUgPSB0aGlzLnNlbGVjdEFWYWxpZERhdGUoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tb2RhbFRlbXBsYXRlKSB7XG4gICAgICB0aGlzLm5ld01vZGFsID0gdGhpcy5tb2RhbFRlbXBsYXRlO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZVRhYlNlbGVjdGVkKHRhYjogVGFiKSB7XG4gICAgdGhpcy50YWJTZWxlY3RlZCA9IHRhYi5pZDtcbiAgfVxuXG4gIHByZXBhcmVFdmVudHMoZXZlbnRzPzogSVRpbWVsaW5lRXZlbnRbXSkge1xuICAgIGlmICghZXZlbnRzPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMub3JkZXJlZEV2ZW50cy5zZXQoW10pO1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICAgIGNvbnN0IG9iamVjdEV2ZW50OiBJUGxhY2Vob2xkZXJPYmplY3QgPSB7fTtcbiAgICBldmVudHMuZm9yRWFjaCgoZXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IERhdGVUaW1lLmZyb21Gb3JtYXQoZXZlbnQuc3RhcnQsIHRoaXMuZGF0ZUZvcm1hdCgpKTtcbiAgICAgIGNvbnN0IGVuZERhdGUgPSBEYXRlVGltZS5mcm9tRm9ybWF0KGV2ZW50LmVuZCwgdGhpcy5kYXRlRm9ybWF0KCkpO1xuICAgICAgY29uc3QgZGlmZiA9IGVuZERhdGUuZGlmZihzdGFydERhdGUsICdkYXlzJykuZGF5cyArIDE7XG5cbiAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBkaWZmOyBpbmRleCsrKSB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnREYXRlID0gc3RhcnREYXRlLnBsdXMoeyBkYXlzOiBpbmRleCB9KTtcbiAgICAgICAgY29uc3Qgc3RyaW5nRGF0ZSA9IGN1cnJlbnREYXRlLnRvRm9ybWF0KCd5eXl5L01NL2RkJyk7XG4gICAgICAgIGNvbnN0IG1vbnRoID0gY3VycmVudERhdGUudG9Gb3JtYXQoJ3l5eXkvTU0nKTtcblxuICAgICAgICBvYmplY3RFdmVudFttb250aF0gPz89IHtcbiAgICAgICAgICBldmVudHM6IHt9LFxuICAgICAgICAgIG5hbWU6IHRoaXMubW9udGhzTmFtZXNbY3VycmVudERhdGUubW9udGggLSAxXSxcbiAgICAgICAgICBzdHJpbmdEYXRlOiBtb250aCxcbiAgICAgICAgICB5ZWFyOiBjdXJyZW50RGF0ZS55ZWFyLFxuICAgICAgICAgIGRhdGU6IGN1cnJlbnREYXRlLFxuICAgICAgICB9O1xuXG4gICAgICAgIG9iamVjdEV2ZW50W21vbnRoXS5ldmVudHNbc3RyaW5nRGF0ZV0gPz89IHtcbiAgICAgICAgICBldmVudHM6IFtdLFxuICAgICAgICAgIGRhdGU6IGN1cnJlbnREYXRlLFxuICAgICAgICAgIHN0cmluZ0RhdGUsXG4gICAgICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICB9O1xuXG4gICAgICAgIG9iamVjdEV2ZW50W21vbnRoXS5ldmVudHNbc3RyaW5nRGF0ZV0uZXZlbnRzLnB1c2goe1xuICAgICAgICAgIC4uLmV2ZW50LFxuICAgICAgICAgIHN0YXJ0OiBzdHJpbmdEYXRlLFxuICAgICAgICAgIHN0YXJ0RXZlbnQ6IGN1cnJlbnREYXRlLFxuICAgICAgICAgIGVuZEV2ZW50OiBlbmREYXRlLFxuICAgICAgICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICAgICAgICBkaWZmOiBkaWZmIC0gMSxcbiAgICAgICAgICBvcmlnaW5hbFN0YXJ0OiBzdGFydERhdGUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3Qgb3JkZXJlZEV2ZW50cyA9IHRoaXMub3JkZXJEYXRlcyhvYmplY3RFdmVudCwgJ3l5eXkvTU0nKTtcblxuICAgIGlmIChvcmRlcmVkRXZlbnRzLmxlbmd0aCkge1xuICAgICAgb2JqZWN0RXZlbnRbJ29yZGVyZWRFdmVudHMnXSA9IG9yZGVyZWRFdmVudHM7XG5cbiAgICAgIG9iamVjdEV2ZW50WydvcmRlcmVkRXZlbnRzJ10uZm9yRWFjaCgoZGF0ZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIG9iamVjdEV2ZW50W2RhdGVdWydvcmRlcmVkRXZlbnRzJ10gPSB0aGlzLm9yZGVyRGF0ZXMoXG4gICAgICAgICAgb2JqZWN0RXZlbnRbZGF0ZV0uZXZlbnRzLFxuICAgICAgICAgICd5eXl5L01NL2RkJyxcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLm9yZGVyZWRFdmVudHMuc2V0KFxuICAgICAgICBvYmplY3RFdmVudFsnb3JkZXJlZEV2ZW50cyddXG4gICAgICAgICAgLm1hcCgobW9udGg6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIG9iamVjdEV2ZW50W21vbnRoXVsnb3JkZXJlZEV2ZW50cyddLm1hcChcbiAgICAgICAgICAgICAgKGRheTogc3RyaW5nKSA9PiBvYmplY3RFdmVudFttb250aF0uZXZlbnRzW2RheV0sXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmZsYXQoKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9iamVjdEV2ZW50O1xuICB9XG5cbiAgb3JkZXJEYXRlcyhldmVudHM6IGFueSwgZm9ybWF0OiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgbW9udGhzTGlzdCA9IE9iamVjdC5rZXlzKGV2ZW50cyk7XG4gICAgY29uc3QgbW9udGhzT3JkZXJlZCA9IG1vbnRoc0xpc3Quc29ydCgoZGF0ZUE6IHN0cmluZywgZGF0ZUI6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgcGFyc2VkRGF0ZUEgPSBEYXRlVGltZS5mcm9tRm9ybWF0KGRhdGVBLCBmb3JtYXQpO1xuICAgICAgY29uc3QgcGFyc2VkRGF0ZUIgPSBEYXRlVGltZS5mcm9tRm9ybWF0KGRhdGVCLCBmb3JtYXQpO1xuICAgICAgcmV0dXJuIHBhcnNlZERhdGVBLnRvTWlsbGlzKCkgLSBwYXJzZWREYXRlQi50b01pbGxpcygpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIG1vbnRoc09yZGVyZWQ7XG4gIH1cblxuICBzZWxlY3RBVmFsaWREYXRlKCk6IHsgbW9udGg6IHN0cmluZzsgZGF5OiBzdHJpbmc7IGRhdGU6IERhdGVUaW1lIH0ge1xuICAgIGlmICghdGhpcy5vcmRlcmVkTW9udGhzKVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbW9udGg6IHRoaXMubm93Lm1vbnRoICsgJycsXG4gICAgICAgIGRheTogdGhpcy5ub3cuZGF5ICsgJycsXG4gICAgICAgIGRhdGU6IHRoaXMubm93LFxuICAgICAgfTtcblxuICAgIGNvbnN0IG1vbnRoID1cbiAgICAgIHRoaXMub3JkZXJlZE1vbnRocy5maW5kKChkYXRlKSA9PiB7XG4gICAgICAgIGlmIChkYXRlID09PSAnb3JkZXJlZEV2ZW50cycpIHJldHVybiBmYWxzZTtcbiAgICAgICAgY29uc3QgcGFyc2VkRGF0ZSA9IHRoaXMucGFyc2VkRXZlbnRzW2RhdGVdLmRhdGU7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICB0aGlzLm5vdy55ZWFyIDw9IHBhcnNlZERhdGUueWVhciAmJiB0aGlzLm5vdy5tb250aCA8PSBwYXJzZWREYXRlLm1vbnRoXG4gICAgICAgICk7XG4gICAgICB9KSB8fFxuICAgICAgdGhpcy5vcmRlcmVkTW9udGhzLmF0KC0xKSB8fFxuICAgICAgJyc7XG4gICAgY29uc3Qgb3JkZXJlZEV2ZW50cyA9IHRoaXMucGFyc2VkRXZlbnRzPy5bbW9udGhdPy5vcmRlcmVkRXZlbnRzO1xuXG4gICAgY29uc3QgZGF5ID1cbiAgICAgIG9yZGVyZWRFdmVudHM/LmZpbmQoKGRhdGU6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCBwYXJzZWREYXRlID0gdGhpcy5wYXJzZWRFdmVudHNbbW9udGhdLmV2ZW50c1tkYXRlXS5kYXRlO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIHRoaXMubm93LnllYXIgPD0gcGFyc2VkRGF0ZS55ZWFyICYmXG4gICAgICAgICAgdGhpcy5ub3cubW9udGggPD0gcGFyc2VkRGF0ZS5tb250aCAmJlxuICAgICAgICAgIHRoaXMubm93LmRheSA8PSBwYXJzZWREYXRlLmRheVxuICAgICAgICApO1xuICAgICAgfSkgfHxcbiAgICAgIG9yZGVyZWRFdmVudHM/LmF0KC0xKSB8fFxuICAgICAgJyc7XG5cbiAgICBpZiAodGhpcy5wYXJzZWRFdmVudHNbbW9udGhdICYmIG1vbnRoICE9PSAnb3JkZXJlZEV2ZW50cycpIHtcbiAgICAgIHRoaXMucGFyc2VkRXZlbnRzW21vbnRoXS5zZWxlY3RlZCA9IHRydWU7XG4gICAgICB0aGlzLnBhcnNlZEV2ZW50c1ttb250aF0uZXZlbnRzW2RheV0uc2VsZWN0ZWQgPSB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgbW9udGgsXG4gICAgICBkYXksXG4gICAgICBkYXRlOiB0aGlzLnBhcnNlZEV2ZW50cz8uW21vbnRoXT8uZXZlbnRzPy5bZGF5XT8uZGF0ZSxcbiAgICB9O1xuICB9XG5cbiAgaGFuZGxlU2VsZWN0ZWREYXRlQ2hhbmdlKHsgbW9udGgsIGRheSB9OiB7IG1vbnRoOiBzdHJpbmc7IGRheTogc3RyaW5nIH0pIHtcbiAgICB0aGlzLnBhcnNlZEV2ZW50c1t0aGlzLnNlbGVjdGVkRGF0ZS5tb250aF0uc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICB0aGlzLnBhcnNlZEV2ZW50c1t0aGlzLnNlbGVjdGVkRGF0ZS5tb250aF0uZXZlbnRzW1xuICAgICAgdGhpcy5zZWxlY3RlZERhdGUuZGF5XG4gICAgXS5zZWxlY3RlZCA9IGZhbHNlO1xuXG4gICAgdGhpcy5wYXJzZWRFdmVudHNbbW9udGhdLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICB0aGlzLnBhcnNlZEV2ZW50c1ttb250aF0uZXZlbnRzW2RheV0uc2VsZWN0ZWQgPSB0cnVlO1xuXG4gICAgdGhpcy5zZWxlY3RlZERhdGUgPSB7XG4gICAgICBtb250aCxcbiAgICAgIGRheSxcbiAgICAgIGRhdGU6IHRoaXMucGFyc2VkRXZlbnRzW21vbnRoXS5ldmVudHNbZGF5XS5kYXRlLFxuICAgIH07XG4gIH1cblxuICBoYW5kbGVTZWxlY3RlZEV2ZW50Q2hhbmdlKGV2ZW50OiBJVGltZWxpbmVFdmVudCkge1xuICAgIHRoaXMuc2VsZWN0ZWRFdmVudCA9IGV2ZW50O1xuXG4gICAgY29uc3QgZGF0YTogSUJtYk5hdGl2ZU1vZGFsID0ge1xuICAgICAgdGl0bGU6IGV2ZW50LnRpdGxlLFxuICAgICAgY29udGVudDogdGhpcy5uZXdNb2RhbCxcbiAgICAgIHNpemU6ICdsYXJnZScsXG4gICAgfTtcbiAgICB0aGlzLm1vZGFsU2VydmljZS5vcGVuTW9kYWwoZGF0YSk7XG4gIH1cblxuICBnZXRNb250aFRpdGxlKGRhdGU6IERhdGVUaW1lKSB7XG4gICAgcmV0dXJuIGRhdGUuc2V0TG9jYWxlKHRoaXMubGFuZygpKS50b0Zvcm1hdCgnY2NjYyBkZCBMTExMIHl5eXknKTtcbiAgfVxuXG4gIGdldEluc3RhbmNlcyhldmVudDogYW55KTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGluc3RhbmNlcyA9IFtdO1xuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCAoZXZlbnQuZGlmZiB8fCAwKSArIDE7IGluZGV4KyspIHtcbiAgICAgIGNvbnN0IGRhdGUgPSBldmVudC5vcmlnaW5hbFN0YXJ0LnBsdXMoeyBkYXlzOiBpbmRleCB9KTtcbiAgICAgIGluc3RhbmNlcy5wdXNoKHRoaXMuZ2V0TW9udGhUaXRsZShkYXRlKSk7XG4gICAgfVxuICAgIHJldHVybiBpbnN0YW5jZXM7XG4gIH1cblxuICBnZXREdXJhdGlvblN0cmluZyhldmVudDogSVRpbWVsaW5lRXZlbnQpOiBzdHJpbmcge1xuICAgIHJldHVybiBgRHVyYWNpw7NuOiAke2V2ZW50Lm9yaWdpbmFsU3RhcnQ/LmRheX0gLSAke2V2ZW50LmVuZEV2ZW50Py5zZXRMb2NhbGUodGhpcy5sYW5nKCkpLnRvRm9ybWF0KCdkZCBMTExMIHl5eXknKX0gKCR7KGV2ZW50LmRpZmYgfHwgMCkgKyAxfSBEw61hcylgO1xuICB9XG5cbiAgZ2V0RGlmZlN0cmluZyhkaWZmOiBudW1iZXIgPSAwKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZGlmZiArIDEgPiAxID8gYCR7ZGlmZiArIDF9IETDrWFzYCA6IGAke2RpZmYgKyAxfSBEw61hYDtcbiAgfVxuXG4gIGFwcGVhcmFuY2VCYWRnZShcbiAgICBldmVudFR5cGU6IHN0cmluZyB8IElCbWJUaW1lbGluZUN1c3RvbUV2ZW50LFxuICApOiBJQmJtQmdBcHBlYXJhbmNlIHtcbiAgICBpZiAodHlwZW9mIGV2ZW50VHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHN3aXRjaCAoZXZlbnRUeXBlKSB7XG4gICAgICAgIGNhc2UgJ2FjdGl2ZSc6XG4gICAgICAgICAgcmV0dXJuICdtaXRlY19ibHVlJztcbiAgICAgICAgY2FzZSAnZG9uZSc6XG4gICAgICAgICAgcmV0dXJuICdzdWNjZXNzJztcbiAgICAgICAgY2FzZSAncGVuZGluZyc6XG4gICAgICAgICAgcmV0dXJuICdub3JtYWwnO1xuICAgICAgICBjYXNlICd1bmRlcl9yZXZpZXcnOlxuICAgICAgICAgIHJldHVybiAnd2FybmluZyc7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuICdtaXRlY19ibHVlJztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGV2ZW50VHlwZS50eXBlIHx8ICdub3JtYWwnO1xuICB9XG5cbiAgZ2V0QmFkZ2VUZXh0KGV2ZW50VHlwZTogc3RyaW5nIHwgSUJtYlRpbWVsaW5lQ3VzdG9tRXZlbnQpOiBzdHJpbmcge1xuICAgIGlmICh0eXBlb2YgZXZlbnRUeXBlID09PSAnc3RyaW5nJykgcmV0dXJuIGV2ZW50VHlwZTtcbiAgICByZXR1cm4gZXZlbnRUeXBlLnRleHQgfHwgJyc7XG4gIH1cbn1cbiIsIjxzZWN0aW9uXG4gIGNsYXNzPVwiYm1iX3RpbWVzdHJlYW1cIlxuICBbbmdDbGFzc109XCJ7ICdibWJfdGltZXN0cmVhbS1taWNybyc6IGlzTWljcm8oKSB9XCJcbj5cbiAgQGlmIChlcnJvcikge1xuICAgIDxkaXYgY2xhc3M9XCJibWJfdGltZXN0cmVhbS1lcnJvclwiPlxuICAgICAgPGJtYi10aW1lc3RyZWFtLWVycm9yIC8+XG4gICAgPC9kaXY+XG4gIH0gQGVsc2Uge1xuICAgIEBpZiAoIWlzTWljcm8oKSkge1xuICAgICAgPGFzaWRlIGNsYXNzPVwiYm1iX3RpbWVzdHJlYW0tYXNpZGVcIj5cbiAgICAgICAgPGJtYi1oaXRvLWxpc3RcbiAgICAgICAgICBbZGF0ZUZvcm1hdF09XCJkYXRlRm9ybWF0KClcIlxuICAgICAgICAgIFtsYW5nXT1cImxhbmcoKVwiXG4gICAgICAgICAgW25vd109XCJub3dcIlxuICAgICAgICAgIFtldmVudHNdPVwicGFyc2VkRXZlbnRzXCJcbiAgICAgICAgICBbc2VsZWN0ZWREYXRlXT1cInNlbGVjdGVkRGF0ZVwiXG4gICAgICAgICAgW29yZGVyZWRNb250aHNdPVwib3JkZXJlZE1vbnRoc1wiXG4gICAgICAgICAgKGNoYW5nZVNlbGVjdGVkRGF0ZSk9XCJoYW5kbGVTZWxlY3RlZERhdGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIC8+XG4gICAgICA8L2FzaWRlPlxuICAgIH1cbiAgICA8c2VjdGlvbiBjbGFzcz1cImJtYl90aW1lc3RyZWFtLW1haW5cIj5cbiAgICAgIDxibWItdGltZXN0cmVhbS1kZXRhaWxcbiAgICAgICAgW2xhbmddPVwibGFuZygpXCJcbiAgICAgICAgW25vd109XCJub3dcIlxuICAgICAgICBbc2VsZWN0ZWREYXRlXT1cInNlbGVjdGVkRGF0ZVwiXG4gICAgICAgIChjaGFuZ2VTZWxlY3RlZEV2ZW50KT1cImhhbmRsZVNlbGVjdGVkRXZlbnRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFtvcmRlcmVkRXZlbnRzXT1cIm9yZGVyZWRFdmVudHMoKVwiXG4gICAgICAgIFtpc01pY3JvXT1cImlzTWljcm8oKVwiXG4gICAgICAvPlxuICAgIDwvc2VjdGlvbj5cbiAgfVxuPC9zZWN0aW9uPlxuXG48bmctdGVtcGxhdGUgI21vZGFsVGVtcGxhdGU+XG4gIEBpZiAoc2VsZWN0ZWRFdmVudCkge1xuICAgIDxzZWN0aW9uIGNsYXNzPVwiYm1iX3RpbWVzdHJlYW0tZGlhbG9nXCI+XG4gICAgICA8ZmlndXJlIGNsYXNzPVwiYm1iX3RpbWVzdHJlYW0tZGlhbG9nLWhlcm9cIj5cbiAgICAgICAgPGltZ1xuICAgICAgICAgIFtzcmNdPVwic2VsZWN0ZWRFdmVudC5pbWFnZVwiXG4gICAgICAgICAgW2FsdF09XCJzZWxlY3RlZEV2ZW50LnRpdGxlXCJcbiAgICAgICAgICBjbGFzcz1cImJtYl90aW1lc3RyZWFtLWRpYWxvZy1oZXJvLWltYWdlXCJcbiAgICAgICAgLz5cbiAgICAgIDwvZmlndXJlPlxuICAgICAgPGRpdiBjbGFzcz1cImJtYl90aW1lc3RyZWFtLWRpYWxvZy11c2VyXCI+XG4gICAgICAgIDxibWItdXNlci1pbWFnZVxuICAgICAgICAgIHNpemU9XCJtb2JpbGUtc21hbGxcIlxuICAgICAgICAgIFtpbWFnZV09XCJzZWxlY3RlZEV2ZW50LnBpY3R1cmVfcHJvZmlsZSB8fCAnJ1wiXG4gICAgICAgICAgW2FsdEltYWdlXT1cInNlbGVjdGVkRXZlbnQudXNlcl9maXJzdF9uYW1lIHx8ICcnXCJcbiAgICAgICAgICBbYm9yZGVyZWRdPVwiZmFsc2VcIlxuICAgICAgICAvPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImJtYl90aW1lc3RyZWFtLWRpYWxvZy11c2VyLW5hbWVcIlxuICAgICAgICAgID57eyBzZWxlY3RlZEV2ZW50LnVzZXJfZmlyc3RfbmFtZSB9fVxuICAgICAgICAgIHt7IHNlbGVjdGVkRXZlbnQudXNlcl9sYXN0X25hbWUgfX08L3NwYW5cbiAgICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImJtYl90aW1lc3RyZWFtLWRpYWxvZy11c2VyLWRhdGVcIj57e1xuICAgICAgICAgIHNlbGVjdGVkRXZlbnQuc3RhcnRFdmVudD8udG9Gb3JtYXQoJ2RkL01NL3l5eXknKVxuICAgICAgICB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJtYi10YWJzXG4gICAgICAgIFt0YWJzXT1cImV2ZW50VGFic1wiXG4gICAgICAgIChzZWxlY3RlZCk9XCJoYW5kbGVUYWJTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgICAgc3R5bGU9XCJmbGV4OiAxXCJcbiAgICAgID5cbiAgICAgICAgQHN3aXRjaCAodGFiU2VsZWN0ZWQpIHtcbiAgICAgICAgICBAY2FzZSAoMSkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJtYl90aW1lc3RyZWFtLWRpYWxvZy10YWJcIj5cbiAgICAgICAgICAgICAgPGRsIGNsYXNzPVwiYm1iX3RpbWVzdHJlYW0tZGlhbG9nLWR1YWxcIj5cbiAgICAgICAgICAgICAgICA8ZHQgY2xhc3M9XCJibWJfdGltZXN0cmVhbS1kaWFsb2ctZHVhbC10aXRsZVwiPkVzdGFkbzo8L2R0PlxuICAgICAgICAgICAgICAgIDxkZCBjbGFzcz1cImJtYl90aW1lc3RyZWFtLWRpYWxvZy1kdWFsLWRhdGFcIj5cbiAgICAgICAgICAgICAgICAgIDxibWItYmFkZ2VcbiAgICAgICAgICAgICAgICAgICAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZUJhZGdlKHNlbGVjdGVkRXZlbnQudHlwZSlcIlxuICAgICAgICAgICAgICAgICAgICBbdGV4dF09XCJnZXRCYWRnZVRleHQoc2VsZWN0ZWRFdmVudC50eXBlKVwiXG4gICAgICAgICAgICAgICAgICAgIFtjb250YWluZXJdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2RkPlxuICAgICAgICAgICAgICAgIDxkdCBjbGFzcz1cImJtYl90aW1lc3RyZWFtLWRpYWxvZy1kdWFsLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICBEdXJhY2nDs24gdG90YWw6XG4gICAgICAgICAgICAgICAgPC9kdD5cbiAgICAgICAgICAgICAgICA8ZGQgY2xhc3M9XCJibWJfdGltZXN0cmVhbS1kaWFsb2ctZHVhbC1kYXRhXCI+XG4gICAgICAgICAgICAgICAgICB7eyBnZXREaWZmU3RyaW5nKHNlbGVjdGVkRXZlbnQuZGlmZikgfX1cbiAgICAgICAgICAgICAgICA8L2RkPlxuICAgICAgICAgICAgICA8L2RsPlxuICAgICAgICAgICAgICA8cD57eyBzZWxlY3RlZEV2ZW50LmRlc2NyaXB0aW9uIH19PC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBjYXNlICgyKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm1iX3RpbWVzdHJlYW0tZGlhbG9nLXRhYlwiPlxuICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJibWJfdGltZXN0cmVhbS1kaWFsb2ctdGFiLXRpdGxlXCI+SW5zdGFuY2lhczwvaDM+XG4gICAgICAgICAgICAgIDxibWItZGl2aWRlciB0eXBlPVwic2ltcGxlXCIgLz5cbiAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJibWJfdGltZXN0cmVhbS1kaWFsb2ctdGFiLWhpdG8tbGlzdFwiPlxuICAgICAgICAgICAgICAgIEBmb3IgKGRhdGUgb2YgZ2V0SW5zdGFuY2VzKHNlbGVjdGVkRXZlbnQpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgIDxibWItaGl0by1jYXJkXG4gICAgICAgICAgICAgICAgICAgIFtpY29uXT1cInNlbGVjdGVkRXZlbnQuaWNvbiB8fCAnYXBwX2JhZGdpbmcnXCJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cInNlbGVjdGVkRXZlbnQudGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICBbdHlwZV09XCJzZWxlY3RlZEV2ZW50LnR5cGVcIlxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiJGluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgW2VuYWJsZV9idWxsZXRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICBbYWx0ZXJuYXRpdmVfYXBwZWFyYW5jZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgW2lzQ29tcGFjdF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoc2VsZWN0ZWRFdmVudC5kaWZmKSB7XG4gICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImJtYl90aW1lc3RyZWFtLWRpYWxvZy10YWItZHVyYXRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAge3sgZ2V0RHVyYXRpb25TdHJpbmcoc2VsZWN0ZWRFdmVudCkgfX1cbiAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChzZWxlY3RlZEV2ZW50LnJlbGF0ZWRfdG8pIHtcbiAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImJtYl90aW1lc3RyZWFtLWRpYWxvZy1jb250YWluZXItdGFiLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgIFJlbGFjaW9uYWRvIGFcbiAgICAgICAgICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgICAgICAgICBAZm9yIChyZWxhdGVkIG9mIHNlbGVjdGVkRXZlbnQucmVsYXRlZF90bzsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIDxibWItaGl0by1jYXJkXG4gICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwic2VsZWN0ZWRFdmVudC5pY29uIHx8ICdhcHBfYmFkZ2luZydcIlxuICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJyZWxhdGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICBbdHlwZV09XCJzZWxlY3RlZEV2ZW50LnR5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJyZWxhdGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZW5hYmxlX2J1bGxldF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2FsdGVybmF0aXZlX2FwcGVhcmFuY2VdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2lzQ29tcGFjdF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgPC9ibWItdGFicz5cbiAgICAgIDxzZWN0aW9uIGNsYXNzPVwiYm1iX3RpbWVzdHJlYW0tZGlhbG9nLWJ1dHRvbi1jb250YWluZXJcIj5cbiAgICAgICAgPGJ1dHRvbiBibWJCdXR0b24gYXBwZWFyYW5jZT1cInByaW1hcnlcIiBpY29uPVwiZml0X3NjcmVlblwiPlxuICAgICAgICAgIElyIGEgZGVjaXNpw7NuXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9zZWN0aW9uPlxuICAgIDwvc2VjdGlvbj5cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1uZy9zcmMvbGliL2NvbXBvbmVudHMvYm1iLXRpbWVzdHJlYW0vdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSAnbHV4b24nO1xuaW1wb3J0IHsgSUJibUJnQXBwZWFyYW5jZSB9IGZyb20gJy4uL2JtYi1hZHZlcnRpc2VtZW50LWNhcmQvdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElTZWxlY3RlZERhdGUge1xuICBkYXk6IHN0cmluZztcbiAgbW9udGg6IHN0cmluZztcbiAgZGF0ZTogRGF0ZVRpbWU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRpbWVsaW5lRGF5RXZlbnQge1xuICBkYXRlOiBEYXRlVGltZTtcbiAgZXZlbnRzOiBJVGltZWxpbmVFdmVudFtdO1xuICBzZWxlY3RlZDogYm9vbGVhbjtcbiAgc3RyaW5nRGF0ZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUaW1lbGluZUV2ZW50IHtcbiAgaWQ6IG51bWJlciB8IHN0cmluZztcbiAgc3RhcnQ6IHN0cmluZztcbiAgZW5kOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHNob3J0X2Rlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHR5cGU6IElUaW1lbGluZUV2ZW50VHlwZSB8IElCbWJUaW1lbGluZUN1c3RvbUV2ZW50O1xuICByZWxhdGVkX3RvPzogc3RyaW5nW107XG4gIGRlY2lzaW9uPzogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBpbWFnZTogc3RyaW5nO1xuICBwaWN0dXJlX3Byb2ZpbGU/OiBzdHJpbmc7XG4gIGRpZmY/OiBudW1iZXI7XG4gIHN0YXJ0RXZlbnQ/OiBEYXRlVGltZTtcbiAgZW5kRXZlbnQ/OiBEYXRlVGltZTtcbiAgb3JpZ2luYWxTdGFydD86IERhdGVUaW1lO1xuICB1c2VyX2ZpcnN0X25hbWU/OiBzdHJpbmc7XG4gIHVzZXJfbGFzdF9uYW1lPzogc3RyaW5nO1xuICB1c2VyX2VtYWlsPzogc3RyaW5nO1xuICB0YWdzPzogc3RyaW5nW107XG4gIGljb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIElUaW1lbGluZUV2ZW50VHlwZSA9XG4gIHwgJ3BlbmRpbmcnXG4gIHwgJ2RvbmUnXG4gIHwgJ2FjdGl2ZSdcbiAgfCAndW5kZXJfcmV2aWV3J1xuICB8ICdjYW5jZWxlZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJtYlRpbWVsaW5lQ3VzdG9tRXZlbnQge1xuICB0ZXh0OiBzdHJpbmc7XG4gIHR5cGU6IElCYm1CZ0FwcGVhcmFuY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRpbWVsaW5lRXZlbnRQYXJzZWQgZXh0ZW5kcyBJVGltZWxpbmVFdmVudCB7XG4gIHN0YXJ0RXZlbnQ6IERhdGVUaW1lO1xuICBlbmRFdmVudDogRGF0ZVRpbWU7XG4gIHNlbGVjdGVkOiBib29sZWFuO1xuICBkaWZmOiBudW1iZXI7XG4gIG9yaWdpbmFsU3RhcnQ6IERhdGVUaW1lO1xuICBkYXRlOiBEYXRlVGltZTtcbiAgZXZlbnRzOiBJVGltZWxpbmVFdmVudFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElCbWJUaW1lc3RyZWFtRmlsdGVycyB7XG4gIGluc3RhbmNlcz86IHN0cmluZztcbiAgdGV4dD86IHN0cmluZztcbiAgdHlwZT86IHN0cmluZ1tdO1xufVxuIl19
|
|
@@ -1,139 +0,0 @@
|
|
|
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: "18.2.14", ngImport: i0, type: BmbTimestreamCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
125
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", 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: "18.2.14", 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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QUNuQixDQUFDOytHQXRIVSwwQkFBMEI7bUdBQTFCLDBCQUEwQixxbUNDM0N2Qyw4ekNBNENBLHl6QkRkSSxvQkFBb0IsbVVBQ3BCLGdCQUFnQiw4SkFDaEIsc0JBQXNCLHlIQUN0QixzQkFBc0IsaVFBQ3RCLGdCQUFnQiwwSkFDaEIsdUJBQXVCLHVIQUN2QixZQUFZOzs0RkFPSCwwQkFBMEI7a0JBakJ0QyxTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1A7d0JBQ1Asb0JBQW9CO3dCQUNwQixnQkFBZ0I7d0JBQ2hCLHNCQUFzQjt3QkFDdEIsc0JBQXNCO3dCQUN0QixnQkFBZ0I7d0JBQ2hCLHVCQUF1Qjt3QkFDdkIsWUFBWTtxQkFDYixpQkFHYyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgaW5wdXQsXG4gIHNpZ25hbCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm1iSG9tZUNhcmRDb21wb25lbnQgfSBmcm9tICcuLi9ibWItaG9tZS1jYXJkL2JtYi1ob21lLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IElCbWJDb2xvciB9IGZyb20gJy4uLy4uL3R5cGVzL2NvbG9ycyc7XG5pbXBvcnQgeyBJQm1iRGF0YVRvcEJhciB9IGZyb20gJy4uL2JtYi1icmVhZGNydW1iL2JtYi1icmVhZGNydW1iLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBCbWJUaW1lc3RyZWFtQ29tcG9uZW50LFxuICBJQm1iQ2xhbXAsXG59IGZyb20gJy4uL2JtYi10aW1lc3RyZWFtL2JtYi10aW1lc3RyZWFtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJQm1iVGltZXN0cmVhbUZpbHRlcnMsIElUaW1lbGluZUV2ZW50IH0gZnJvbSAnLi4vYm1iLXRpbWVzdHJlYW0vdHlwZXMnO1xuaW1wb3J0IHsgQm1iRmlsdGVyQ2FyZENvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1maWx0ZXItY2FyZC9ibWItZmlsdGVyLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIEJtYkNhcmRDb21wb25lbnQsXG4gIEJtYkNhcmRDb250ZW50Q29tcG9uZW50LFxufSBmcm9tICcuLi9ibWItY2FyZC9ibWItY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm1iSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1pY29uL2JtYi1pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJQm1iQ29udHJvbFR5cGUgfSBmcm9tICcuLi9ibWItZmlsdGVyLWNhcmQvYm1iLWZpbHRlci1jYXJkLmludGVyZmFjZSc7XG5pbXBvcnQgeyB0aW1lc3RyZWFtRmlsdGVyIH0gZnJvbSAnLi4vLi4vdXRpbHMvdGltZXN0cmVhbUZpbHRlcnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IElCbWJBY3Rpb25IZWFkZXIgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JtYi10aW1lc3RyZWFtLWNhcmQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQm1iSG9tZUNhcmRDb21wb25lbnQsXG4gICAgQm1iSWNvbkNvbXBvbmVudCxcbiAgICBCbWJUaW1lc3RyZWFtQ29tcG9uZW50LFxuICAgIEJtYkZpbHRlckNhcmRDb21wb25lbnQsXG4gICAgQm1iQ2FyZENvbXBvbmVudCxcbiAgICBCbWJDYXJkQ29udGVudENvbXBvbmVudCxcbiAgICBDb21tb25Nb2R1bGUsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9ibWItdGltZXN0cmVhbS1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2JtYi10aW1lc3RyZWFtLWNhcmQuY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQm1iVGltZXN0cmVhbUNhcmRDb21wb25lbnQge1xuICB0aXRsZSA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbiAgc3VidGl0bGUgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIGRhdGFMb2NhbE5hdiA9IGlucHV0PElCbWJEYXRhVG9wQmFyW10+KFtdKTtcbiAgaWNvbiA9IGlucHV0PHN0cmluZz4oJ3RyZW5kaW5nX3VwJyk7XG4gIGJnSWNvbkFwcGVhcmFuY2UgPSBpbnB1dDxJQm1iQ29sb3I+KCdtaXRlYy1yZWQnKTtcblxuICBsYW5nID0gaW5wdXQ8c3RyaW5nPignZXMnKTtcbiAgZGF0ZUZvcm1hdCA9IGlucHV0PHN0cmluZz4oJ2RkL01NL3l5eXknKTtcbiAgZXZlbnRzID0gaW5wdXQ8SVRpbWVsaW5lRXZlbnRbXT4oW10pO1xuXG4gIGNsYW1wOiBJQm1iQ2xhbXAgPSB7IG1pbjogMCwgbWF4OiAnMTAwJScsIHNpemU6ICcxMDAlJyB9O1xuICBpc01vYmlsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBhY3Rpb25IZWFkZXJzOiBJQm1iQWN0aW9uSGVhZGVyW10gPSBbXG4gICAge1xuICAgICAgaWNvbjogJ3R1bmUnLFxuICAgICAgaXNUb2dnbGVBY3RpdmU6IGZhbHNlLFxuICAgICAgYWN0aW9uOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuaGFuZGxlQ2xvc2VGaWx0ZXJzKCk7XG4gICAgICB9LFxuICAgIH0sXG4gIF07XG4gIGlzRmlsdGVyc0VuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZmlsdGVyZWRFdmVudHMgPSBzaWduYWw8SVRpbWVsaW5lRXZlbnRbXT4oW10pO1xuICBmaWx0ZXJzOiBJQm1iQ29udHJvbFR5cGVbXSA9IFtcbiAgICB7XG4gICAgICB0aXRsZTogJ1RpcG8nLFxuICAgICAgY29udHJvbDogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ3BlbmRpbmcnLFxuICAgICAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICAgICAgbGFiZWw6ICdQZW5kaWVudGUnLFxuICAgICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ2RvbmUnLFxuICAgICAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICAgICAgbGFiZWw6ICdGaW5hbGl6YWRvJyxcbiAgICAgICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdhY3RpdmUnLFxuICAgICAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICAgICAgbGFiZWw6ICdJbmljaWFkbycsXG4gICAgICAgICAgY2hlY2tlZDogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAndW5kZXJfcmV2aWV3JyxcbiAgICAgICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgICAgIGxhYmVsOiAnRW4gcmV2aXNpw7NuJyxcbiAgICAgICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB0aXRsZTogJ0luc3RhY2lhcycsXG4gICAgICBjb250cm9sOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnaW5zdGFuY2VzJyxcbiAgICAgICAgICB0eXBlOiAncmFkaWFsJyxcbiAgICAgICAgICBsYWJlbDogJ1RvZGFzJyxcbiAgICAgICAgICBjaGVja2VkOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ2luc3RhbmNlcycsXG4gICAgICAgICAgdHlwZTogJ3JhZGlhbCcsXG4gICAgICAgICAgbGFiZWw6ICdNw7psdGlwbGUnLFxuICAgICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ2luc3RhbmNlcycsXG4gICAgICAgICAgdHlwZTogJ3JhZGlhbCcsXG4gICAgICAgICAgbGFiZWw6ICdVbmEnLFxuICAgICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICBdO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZmlsdGVyZWRFdmVudHMuc2V0KHRoaXMuZXZlbnRzKCkpO1xuICB9XG5cbiAgaGFuZGxlQ2xvc2VGaWx0ZXJzKCkge1xuICAgIHRoaXMuaXNGaWx0ZXJzRW5hYmxlZCA9ICF0aGlzLmlzRmlsdGVyc0VuYWJsZWQ7XG4gIH1cblxuICBoYW5kbGVGaWx0ZXJzQ2hhbmdlKGZpbHRlcnM6IGFueSkge1xuICAgIHRoaXMuaXNGaWx0ZXJzRW5hYmxlZCA9ICF0aGlzLmlzRmlsdGVyc0VuYWJsZWQ7XG4gICAgY29uc3QgYWN0aXZlRmlsdGVycyA9IE9iamVjdC5rZXlzKGZpbHRlcnMpO1xuICAgIGNvbnN0IHZhbGlkRmlsdGVycyA9IGFjdGl2ZUZpbHRlcnMuZmlsdGVyKChmaWx0ZXIpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgZmlsdGVyc1tmaWx0ZXJdID09PSAnc3RyaW5nJykgcmV0dXJuIGZpbHRlcnNbZmlsdGVyXSAhPT0gJyc7XG4gICAgICByZXR1cm4gZmlsdGVyc1tmaWx0ZXJdLmNoZWNrZWQ7XG4gICAgfSk7XG5cbiAgICBpZiAoIXZhbGlkRmlsdGVycy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRFdmVudHMuc2V0KHRoaXMuZXZlbnRzKCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBmaWx0ZXJzVmFsdWUgPSB2YWxpZEZpbHRlcnMucmVkdWNlKFxuICAgICAgICAob2JqOiBJQm1iVGltZXN0cmVhbUZpbHRlcnMsIGZpbHRlcikgPT4ge1xuICAgICAgICAgIGlmIChmaWx0ZXIgPT09ICdpbnN0YW5jZXMnKVxuICAgICAgICAgICAgcmV0dXJuIHsgLi4ub2JqLCBpbnN0YW5jZXM6IGZpbHRlcnNbZmlsdGVyXS5sYWJlbCB9O1xuICAgICAgICAgIGlmIChmaWx0ZXIgPT09ICdzZWFyY2gnKSByZXR1cm4geyAuLi5vYmosIHRleHQ6IGZpbHRlcnNbZmlsdGVyXSB9O1xuICAgICAgICAgIGNvbnN0IHR5cGVzID0gb2JqPy50eXBlIHx8IFtdO1xuICAgICAgICAgIHJldHVybiB7IC4uLm9iaiwgdHlwZTogWy4uLnR5cGVzLCBmaWx0ZXJdIH07XG4gICAgICAgIH0sXG4gICAgICAgIHt9LFxuICAgICAgKTtcblxuICAgICAgdGhpcy5maWx0ZXJlZEV2ZW50cy5zZXQodGltZXN0cmVhbUZpbHRlcih0aGlzLmV2ZW50cygpLCBmaWx0ZXJzVmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICBnZXRDbGFzc0xpc3QoKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGNsYXNzTGlzdCA9IFsnYm1iLXRpbWVzdHJlYW0tY2FyZC1maWx0ZXJzJ107XG4gICAgaWYgKHRoaXMuaXNGaWx0ZXJzRW5hYmxlZClcbiAgICAgIGNsYXNzTGlzdC5wdXNoKCdibWItdGltZXN0cmVhbS1jYXJkLWZpbHRlcnMtYWN0aXZlJyk7XG4gICAgcmV0dXJuIGNsYXNzTGlzdDtcbiAgfVxufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJibWItdGltZXN0cmVhbS1jYXJkXCI+XG4gIDxibWItaG9tZS1jYXJkXG4gICAgW2ljb25dPVwiaWNvbigpXCJcbiAgICBbYmdJY29uQXBwZWFyYW5jZV09XCJiZ0ljb25BcHBlYXJhbmNlKClcIlxuICAgIFt0aXRsZV09XCJ0aXRsZSgpXCJcbiAgICBbc3VidGl0bGVdPVwic3VidGl0bGUoKVwiXG4gICAgW2RhdGFMb2NhbE5hdl09XCJkYXRhTG9jYWxOYXYoKVwiXG4gICAgW2lzTW9iaWxlXT1cImlzTW9iaWxlXCJcbiAgICBbYWN0aW9uSGVhZGVyc109XCJhY3Rpb25IZWFkZXJzXCJcbiAgICBjb250ZW50UGFkZGluZz1cIm5vbmVcIlxuICA+XG4gICAgPGJtYi10aW1lc3RyZWFtXG4gICAgICBbZXZlbnRzXT1cImZpbHRlcmVkRXZlbnRzKClcIlxuICAgICAgW2RhdGVGb3JtYXRdPVwiZGF0ZUZvcm1hdCgpXCJcbiAgICAgIFtjbGFtcF09XCJjbGFtcFwiXG4gICAgICBbbGFuZ109XCJsYW5nKClcIlxuICAgIC8+XG4gIDwvYm1iLWhvbWUtY2FyZD5cbiAgPHNlY3Rpb24gW25nQ2xhc3NdPVwiZ2V0Q2xhc3NMaXN0KClcIj5cbiAgICA8Ym1iLWNhcmQ+XG4gICAgICA8Ym1iLWNhcmQtY29udGVudD5cbiAgICAgICAgPGhlYWRlciBjbGFzcz1cImJtYi10aW1lc3RyZWFtLWNhcmQtZmlsdGVycy1oZWFkZXJcIj5cbiAgICAgICAgICA8aDIgY2xhc3M9XCJibWItdGltZXN0cmVhbS1jYXJkLWZpbHRlcnMtaGVhZGVyLXRpdGxlXCI+XG4gICAgICAgICAgICBPcGNpb25lcyBkZSBmaWx0cmFkb1xuICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiaGFuZGxlQ2xvc2VGaWx0ZXJzKClcIj5cbiAgICAgICAgICAgIDxibWItaWNvblxuICAgICAgICAgICAgICBpY29uPVwiY2xvc2VcIlxuICAgICAgICAgICAgICBbc2l6ZV09XCIyMFwiXG4gICAgICAgICAgICAgIFthbHRdPVwic3VidGl0bGUoKSB8fCAnQ2VycmFyIGZpbHRyb3MnXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvaGVhZGVyPlxuICAgICAgICA8Ym1iLWZpbHRlci1jYXJkXG4gICAgICAgICAgW2luTGluZV09XCJ0cnVlXCJcbiAgICAgICAgICBwcmltYXJ5QnRuTGFiZWw9XCJBcGxpY2FyIGZpbHRyb3NcIlxuICAgICAgICAgIHNlY29uZGFyeUJ0bkxhYmVsPVwiTGltcGlhciBmaWx0cm9zXCJcbiAgICAgICAgICBbY29udHJvbFR5cGVzXT1cImZpbHRlcnNcIlxuICAgICAgICAgIChhcHBseUZpbHRlcnMpPVwiaGFuZGxlRmlsdGVyc0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgLz5cbiAgICAgIDwvYm1iLWNhcmQtY29udGVudD5cbiAgICA8L2JtYi1jYXJkPlxuICA8L3NlY3Rpb24+XG48L3NlY3Rpb24+XG4iXX0=
|