@ti-tecnologico-de-monterrey-oficial/ds-ng 1.5.1120-d → 1.5.1217
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/styles/main.min.css +1 -1
- package/assets/styles/main.min.css.map +1 -1
- package/esm2022/lib/components/bmb-academic-progress/bmb-academic-progress.component.mjs +87 -0
- package/esm2022/lib/components/bmb-accordion/bmb-accordion.component.mjs +159 -0
- package/esm2022/lib/components/bmb-account-statement/bmb-account-statement.component.mjs +172 -0
- package/esm2022/lib/components/bmb-action-icon/bmb-action-icon.component.mjs +49 -0
- package/esm2022/lib/components/bmb-action-menu/bmb-action-menu.component.mjs +31 -0
- package/esm2022/lib/components/bmb-advertisement-card/bmb-advertisement-card.component.mjs +35 -0
- package/esm2022/lib/components/bmb-advertisement-card/types.mjs +2 -0
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-ads/bmb-alert-center-ads.component.mjs +40 -0
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-empty/bmb-alert-center-empty.component.mjs +18 -0
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-form/bmb-alert-center-form.component.mjs +148 -0
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-list/bmb-alert-center-list.component.mjs +52 -0
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center.component.mjs +203 -0
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center.service.mjs +62 -0
- package/esm2022/lib/components/bmb-alert-center/types.mjs +2 -0
- package/esm2022/lib/components/bmb-badge/bmb-badge.component.mjs +26 -0
- package/esm2022/lib/components/bmb-balance-overview/bmb-balance-overview.component.mjs +26 -0
- package/esm2022/lib/components/bmb-bookmark/bmb-bookmark.component.mjs +27 -0
- package/esm2022/lib/components/bmb-bottom-navigation-bar/bmb-bottom-navigation-bar.component.mjs +42 -0
- package/esm2022/lib/components/bmb-breadcrumb/bmb-breadcrumb.component.mjs +55 -0
- package/esm2022/lib/components/bmb-button-icon/bmb-button-icon.component.mjs +30 -0
- package/esm2022/lib/components/bmb-calendar/bmb-calendar.component.mjs +285 -0
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-header/bmb-calendar-header.component.mjs +95 -0
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-hour-view/bmb-calendar-hour-view.component.mjs +40 -0
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-schedule-cards/bmb-calendar-schedule-cards.component.mjs +68 -0
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-day/bmb-calendar-template-day.component.mjs +41 -0
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-mobile/bmb-calendar-template-mobile.component.mjs +95 -0
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-month/bmb-calendar-template-month.component.mjs +45 -0
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-week/bmb-calendar-template-week.component.mjs +54 -0
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-time-indicator/bmb-calendar-time-indicator.component.mjs +24 -0
- package/esm2022/lib/components/bmb-calendar/types.mjs +2 -0
- package/esm2022/lib/components/bmb-calendar/utils.mjs +96 -0
- package/esm2022/lib/components/bmb-card/bmb-card.component.mjs +159 -0
- package/esm2022/lib/components/bmb-card-button/bmb-card-button.component.mjs +76 -0
- package/esm2022/lib/components/bmb-carousel/bmb-carousel.component.mjs +80 -0
- package/esm2022/lib/components/bmb-chat-bar/bmb-chat-bar.component.mjs +199 -0
- package/esm2022/lib/components/bmb-chat-bar/bot_list.mjs +57 -0
- package/esm2022/lib/components/bmb-chat-bar/types.mjs +2 -0
- package/esm2022/lib/components/bmb-chat-bubbles/bmb-chat-bubbles.component.mjs +56 -0
- package/esm2022/lib/components/bmb-chat-bubbles/types.mjs +2 -0
- package/esm2022/lib/components/bmb-check-external-link-button/bmb-check-external-link-button.component.mjs +46 -0
- package/esm2022/lib/components/bmb-checkbox/bmb-checkbox.component.mjs +80 -0
- package/esm2022/lib/components/bmb-chevron-title-selector/bmb-chevron-title-selector.component.mjs +36 -0
- package/esm2022/lib/components/bmb-container/bmb-container.component.mjs +27 -0
- package/esm2022/lib/components/bmb-container-button/bmb-container-button.component.mjs +96 -0
- package/esm2022/lib/components/bmb-date-range/bmb-date-range.component.mjs +69 -0
- package/esm2022/lib/components/bmb-datepicker/bmb-datepicker-modal/bmb-datepicker-modal.component.mjs +206 -0
- package/esm2022/lib/components/bmb-datepicker/bmb-datepicker.component.mjs +144 -0
- package/esm2022/lib/components/bmb-digital-id/bmb-digital-id.component.mjs +54 -0
- package/esm2022/lib/components/bmb-divider/bmb-divider.component.mjs +25 -0
- package/esm2022/lib/components/bmb-dot-paginator/bmb-dot-paginator.component.mjs +34 -0
- package/esm2022/lib/components/bmb-drawer-overlay/bmb-drawer-overlay.component.mjs +65 -0
- package/esm2022/lib/components/bmb-dropdown/bmb-dropdown.component.mjs +177 -0
- package/esm2022/lib/components/bmb-dropdown-menu/bmb-dropdown-menu.component.mjs +31 -0
- package/esm2022/lib/components/bmb-dropzone/bmb-dropzone.component.mjs +175 -0
- package/esm2022/lib/components/bmb-evaluation-rubric/bmb-evaluation-rubric.component.mjs +76 -0
- package/esm2022/lib/components/bmb-external-link/bmb-external-link.component.mjs +80 -0
- package/esm2022/lib/components/bmb-fab/bmb-fab-.interface.mjs +9 -0
- package/esm2022/lib/components/bmb-fab/bmb-fab.component.mjs +37 -0
- package/esm2022/lib/components/bmb-filter-card/bmb-filter-card.component.mjs +166 -0
- package/esm2022/lib/components/bmb-filter-card/bmb-filter-card.interface.mjs +2 -0
- package/esm2022/lib/components/bmb-focus-element/bmb-focus-element.component.mjs +36 -0
- package/esm2022/lib/components/bmb-form-validator/bmb-form-validator.component.mjs +159 -0
- package/esm2022/lib/components/bmb-frequent-apps-selector/bmb-frequent-apps-selector.component.mjs +29 -0
- package/esm2022/lib/components/bmb-grade-value/bmb-grade-value.component.mjs +22 -0
- package/esm2022/lib/components/bmb-grades/bmb-grades.component.mjs +178 -0
- package/esm2022/lib/components/bmb-grades/types.mjs +2 -0
- package/esm2022/lib/components/bmb-header-mitec/bmb-header-mitec.component.mjs +55 -0
- package/esm2022/lib/components/bmb-header-mobile/bmb-header-mobile.component.mjs +49 -0
- package/esm2022/lib/components/bmb-hito-card/bmb-hito-card.component.mjs +86 -0
- package/esm2022/lib/components/bmb-hito-list/bmb-hito-list.component.mjs +59 -0
- package/esm2022/lib/components/bmb-home-card/bmb-home-card-header/bmb-home-card-header.component.mjs +76 -0
- package/esm2022/lib/components/bmb-home-card/bmb-home-card.component.mjs +41 -0
- package/esm2022/lib/components/bmb-home-card-chat/bmb-home-card-chat.component.mjs +39 -0
- package/esm2022/lib/components/bmb-home-section/bmb-home-section.component.mjs +20 -0
- package/esm2022/lib/components/bmb-icon/bmb-icon.component.mjs +50 -0
- package/esm2022/lib/components/bmb-icon/types.mjs +2 -0
- package/esm2022/lib/components/bmb-icon-item/bmb-icon-item.component.mjs +23 -0
- package/esm2022/lib/components/bmb-icon-status/bmb-icon-status.component.mjs +24 -0
- package/esm2022/lib/components/bmb-iframe/bmb-iframe.component.mjs +19 -0
- package/esm2022/lib/components/bmb-iframe/bmb-iframe.pipe.mjs +21 -0
- package/esm2022/lib/components/bmb-image/bmb-image.component.mjs +33 -0
- package/esm2022/lib/components/bmb-inner-header/bmb-inner-header.component.mjs +77 -0
- package/esm2022/lib/components/bmb-input/bmb-input-content/bmb-input-content.component.mjs +146 -0
- package/esm2022/lib/components/bmb-input/bmb-input-validator/bmb-input-validator.component.mjs +178 -0
- package/esm2022/lib/components/bmb-input/bmb-input.component.mjs +85 -0
- package/esm2022/lib/components/bmb-input-phone-number/bmb-input-phone-number.component.mjs +219 -0
- package/esm2022/lib/components/bmb-input-tags/bmb-input-tags.component.mjs +191 -0
- package/esm2022/lib/components/bmb-interactive-icon/bmb-interactive-icon.component.mjs +54 -0
- package/esm2022/lib/components/bmb-invoice/bmb-invoice.component.mjs +34 -0
- package/esm2022/lib/components/bmb-item/bmb-item.component.mjs +28 -0
- package/esm2022/lib/components/bmb-legend/bmb-legend.component.mjs +23 -0
- package/esm2022/lib/components/bmb-list-group/bmb-list-group-item/bmb-list-group-item.component.mjs +83 -0
- package/esm2022/lib/components/bmb-list-group/bmb-list-group.component.mjs +60 -0
- package/esm2022/lib/components/bmb-list-group/bmb-list-group.service.mjs +55 -0
- package/esm2022/lib/components/bmb-list-group/types.mjs +2 -0
- package/esm2022/lib/components/bmb-list-items/bmb-list-items.component.mjs +83 -0
- package/esm2022/lib/components/bmb-loader/bmb-loader.component.mjs +77 -0
- package/esm2022/lib/components/bmb-login/bmb-login-content/bmb-login-content.component.mjs +55 -0
- package/esm2022/lib/components/bmb-login/bmb-login.component.mjs +66 -0
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-logged/bmb-login-onboarding-logged.component.mjs +40 -0
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-login/bmb-login-onboarding-login.component.mjs +20 -0
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-logout/bmb-login-onboarding-logout.component.mjs +33 -0
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-four.component.mjs +91 -0
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-one.component.mjs +88 -0
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-three.component.mjs +57 -0
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-two.component.mjs +99 -0
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step.component.mjs +39 -0
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper.component.mjs +44 -0
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding.component.mjs +52 -0
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding.service.mjs +70 -0
- package/esm2022/lib/components/bmb-login-onboarding/types.mjs +2 -0
- package/esm2022/lib/components/bmb-logo/bmb-logo.component.mjs +43 -0
- package/esm2022/lib/components/bmb-media-card/bmb-media-card.component.mjs +64 -0
- package/esm2022/lib/components/bmb-mitec-logo-animation/bmb-mitec-logo-animation.component.mjs +14 -0
- package/esm2022/lib/components/bmb-mobile-templates/bmb-mobile-templates.component.mjs +88 -0
- package/esm2022/lib/components/bmb-modal/bmb-modal.component.mjs +139 -0
- package/esm2022/lib/components/bmb-modal/bmb-modal.interface.mjs +2 -0
- package/esm2022/lib/components/bmb-modal/bmb-native-modal.component.mjs +121 -0
- package/esm2022/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator-item/bmb-multi-dot-paginator-item.component.mjs +15 -0
- package/esm2022/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator.component.mjs +59 -0
- package/esm2022/lib/components/bmb-navigation-bar/bmb-navigation-bar.component.mjs +30 -0
- package/esm2022/lib/components/bmb-notice-card/bmb-notice-card.component.mjs +43 -0
- package/esm2022/lib/components/bmb-notification-card/bmb-notification-card.component.mjs +86 -0
- package/esm2022/lib/components/bmb-notification-counter/bmb-notification-counter.component.mjs +23 -0
- package/esm2022/lib/components/bmb-overlay/bmb-overlay.component.mjs +22 -0
- package/esm2022/lib/components/bmb-paginator/bmb-paginator.component.mjs +52 -0
- package/esm2022/lib/components/bmb-portal/bmb-portal.component.mjs +58 -0
- package/esm2022/lib/components/bmb-portal/bmb-projected-content/bmb-projected-content.component.mjs +120 -0
- package/esm2022/lib/components/bmb-profile/bmb-profile.component.mjs +153 -0
- package/esm2022/lib/components/bmb-progress-bar/bmb-progress-bar.component.mjs +39 -0
- package/esm2022/lib/components/bmb-progress-cirlce/bmb-progress-circle.component.mjs +196 -0
- package/esm2022/lib/components/bmb-progress-cirlce/bmb-progress-circle.interface.mjs +2 -0
- package/esm2022/lib/components/bmb-pull-wedge/bmb-pull-wedge.component.mjs +88 -0
- package/esm2022/lib/components/bmb-push-notification/bmb-push-notification-item/bmb-push-notification-item.component.mjs +75 -0
- package/esm2022/lib/components/bmb-push-notification/bmb-push-notification.component.mjs +24 -0
- package/esm2022/lib/components/bmb-push-notification/types.mjs +2 -0
- package/esm2022/lib/components/bmb-radial/bmb-radial.component.mjs +78 -0
- package/esm2022/lib/components/bmb-search-input/bmb-search-input.component.mjs +122 -0
- package/esm2022/lib/components/bmb-server-table/bmb-server-table.component.mjs +82 -0
- package/esm2022/lib/components/bmb-sidebar/bmb-sidebar.component.mjs +97 -0
- package/esm2022/lib/components/bmb-sidebar/bmb-sidebar.interface.mjs +2 -0
- package/esm2022/lib/components/bmb-simple-header/bmb-simple-header.component.mjs +64 -0
- package/esm2022/lib/components/bmb-skeleton/bmb-skeleton.component.mjs +16 -0
- package/esm2022/lib/components/bmb-sounds-card/bmb-sounds-card.component.mjs +64 -0
- package/esm2022/lib/components/bmb-stat-counter/bmb-stat-counter.component.mjs +32 -0
- package/esm2022/lib/components/bmb-step-progress-bar/bmb-step-progress-bar.component.mjs +55 -0
- package/esm2022/lib/components/bmb-student-activity-card/bmb-student-activity-card.component.mjs +53 -0
- package/esm2022/lib/components/bmb-student-activity-selector/bmb-student-activity-tab/bmb-student-activity-tab.component.mjs +27 -0
- package/esm2022/lib/components/bmb-switch/bmb-switch.component.mjs +88 -0
- package/esm2022/lib/components/bmb-tables/bmb-tables.component.mjs +541 -0
- package/esm2022/lib/components/bmb-tables/bmb-tables.interface.mjs +2 -0
- package/esm2022/lib/components/bmb-tabs/bmb-tabs.component.mjs +132 -0
- package/esm2022/lib/components/bmb-tags/bmb-tags.component.mjs +65 -0
- package/esm2022/lib/components/bmb-text-editor/bmb-text-editor.component.mjs +135 -0
- package/esm2022/lib/components/bmb-text-link/bmb-text-link.component.mjs +43 -0
- package/esm2022/lib/components/bmb-theme/bmb-theme.component.mjs +65 -0
- package/esm2022/lib/components/bmb-three-cols/bmb-three-cols.component.mjs +30 -0
- package/esm2022/lib/components/bmb-timestream/bmb-timestream-detail/bmb-timestream-detail.component.mjs +74 -0
- package/esm2022/lib/components/bmb-timestream/bmb-timestream-error/bmb-timestream-error.component.mjs +13 -0
- package/esm2022/lib/components/bmb-timestream/bmb-timestream.component.mjs +236 -0
- package/esm2022/lib/components/bmb-timestream/types.mjs +2 -0
- package/esm2022/lib/components/bmb-timestream-card/bmb-timestream-card.component.mjs +139 -0
- package/esm2022/lib/components/bmb-title-content/bmb-title-content.component.mjs +61 -0
- package/esm2022/lib/components/bmb-toast/bmb-toast.component.mjs +47 -0
- package/esm2022/lib/components/bmb-tooltip/bmb-tooltip.component.mjs +26 -0
- package/esm2022/lib/components/bmb-top-bar/bmb-top-bar-item/bmb-top-bar-item.component.mjs +31 -0
- package/esm2022/lib/components/bmb-top-bar/bmb-top-bar-user-section/bmb-top-bar-user-section.component.mjs +94 -0
- package/esm2022/lib/components/bmb-top-bar/bmb-top-bar.component.mjs +86 -0
- package/esm2022/lib/components/bmb-top-bar/types.mjs +2 -0
- package/esm2022/lib/components/bmb-totp/bmb-totp.component.mjs +139 -0
- package/esm2022/lib/components/bmb-user-image/bmb-user-image.component.mjs +44 -0
- package/esm2022/lib/components/bmb-user-profile/bmb-user-profile-content/bmb-user-profile-content.component.mjs +19 -0
- package/esm2022/lib/components/bmb-user-profile/bmb-user-profile.component.mjs +71 -0
- package/esm2022/lib/components/bmb-user-summary/bmb-user-summary-content/bmb-user-summary-content.component.mjs +61 -0
- package/esm2022/lib/components/bmb-user-summary/bmb-user-summary.component.mjs +28 -0
- package/esm2022/lib/components/bmb-value-counter/bmb-value-counter.component.mjs +23 -0
- package/esm2022/lib/components/bmb-web-templates/bmb-web-templates.component.mjs +85 -0
- package/esm2022/lib/components/bmb-wheel-menu/bmb-wheel-menu.component.mjs +128 -0
- package/esm2022/lib/components/utils/bmb-dropdown-content/bmb-dropdown-content.component.mjs +51 -0
- package/esm2022/lib/directives/bmb-accordion/bmb-accordion-control.directive.mjs +88 -0
- package/esm2022/lib/directives/bmb-button/button.directive.mjs +84 -0
- package/esm2022/lib/directives/bmb-button-group/bmb-button-group.directive.mjs +29 -0
- package/esm2022/lib/directives/bmb-layout/bmb-layout-item.directive.mjs +51 -0
- package/esm2022/lib/directives/bmb-layout/bmb-layout.directive.mjs +36 -0
- package/esm2022/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout-item.directive.mjs +34 -0
- package/esm2022/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout.directive.mjs +37 -0
- package/esm2022/lib/directives/bmb-layout-grid/bmb-layout-grid.directive.mjs +89 -0
- package/esm2022/lib/directives/utils/clickoutside.directive.mjs +41 -0
- package/esm2022/lib/ds-ng.component.mjs +11 -0
- package/esm2022/lib/ds-ng.service.mjs +14 -0
- package/esm2022/lib/services/calendar.service.mjs +51 -0
- package/esm2022/lib/services/index.mjs +3 -0
- package/esm2022/lib/services/native-modal.service.mjs +60 -0
- package/esm2022/lib/services/notification.service.mjs +84 -0
- package/esm2022/lib/services/projection.service.mjs +49 -0
- package/esm2022/lib/services/tabs.service.mjs +30 -0
- package/esm2022/lib/services/theme.service.mjs +30 -0
- package/esm2022/lib/services/toast.service.mjs +24 -0
- package/esm2022/lib/services/user/profile.service.mjs +26 -0
- package/esm2022/lib/types/colors.mjs +2 -0
- package/esm2022/lib/types/index.mjs +11 -0
- package/esm2022/lib/utils/countryCodes.mjs +1089 -0
- package/esm2022/lib/utils/currencyFormat.mjs +7 -0
- package/esm2022/lib/utils/dropdown.mjs +85 -0
- package/esm2022/lib/utils/formControl.mjs +25 -0
- package/esm2022/lib/utils/timestreamFilters.mjs +32 -0
- package/esm2022/lib/utils/utils.mjs +71 -0
- package/esm2022/public-api.mjs +152 -0
- package/esm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs +5 -0
- package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs +1906 -1892
- package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs.map +1 -1
- package/index.d.ts +5 -3825
- package/lib/components/bmb-academic-progress/bmb-academic-progress.component.d.ts +21 -0
- package/lib/components/bmb-accordion/bmb-accordion.component.d.ts +37 -0
- package/lib/components/bmb-account-statement/bmb-account-statement.component.d.ts +56 -0
- package/lib/components/bmb-action-icon/bmb-action-icon.component.d.ts +23 -0
- package/lib/components/bmb-action-menu/bmb-action-menu.component.d.ts +17 -0
- package/lib/components/bmb-advertisement-card/bmb-advertisement-card.component.d.ts +13 -0
- package/lib/components/bmb-advertisement-card/types.d.ts +21 -0
- package/lib/components/bmb-alert-center/bmb-alert-center-ads/bmb-alert-center-ads.component.d.ts +10 -0
- package/lib/components/bmb-alert-center/bmb-alert-center-empty/bmb-alert-center-empty.component.d.ts +7 -0
- package/lib/components/bmb-alert-center/bmb-alert-center-form/bmb-alert-center-form.component.d.ts +31 -0
- package/lib/components/bmb-alert-center/bmb-alert-center-list/bmb-alert-center-list.component.d.ts +20 -0
- package/lib/components/bmb-alert-center/bmb-alert-center.component.d.ts +46 -0
- package/lib/components/bmb-alert-center/bmb-alert-center.service.d.ts +20 -0
- package/lib/components/bmb-alert-center/types.d.ts +64 -0
- package/lib/components/bmb-badge/bmb-badge.component.d.ts +11 -0
- package/lib/components/bmb-balance-overview/bmb-balance-overview.component.d.ts +15 -0
- package/lib/components/bmb-bookmark/bmb-bookmark.component.d.ts +8 -0
- package/lib/components/bmb-bottom-navigation-bar/bmb-bottom-navigation-bar.component.d.ts +25 -0
- package/lib/components/bmb-breadcrumb/bmb-breadcrumb.component.d.ts +27 -0
- package/lib/components/bmb-button-icon/bmb-button-icon.component.d.ts +16 -0
- package/lib/components/bmb-calendar/bmb-calendar.component.d.ts +67 -0
- package/lib/components/bmb-calendar/common/bmb-calendar-header/bmb-calendar-header.component.d.ts +20 -0
- package/lib/components/bmb-calendar/common/bmb-calendar-hour-view/bmb-calendar-hour-view.component.d.ts +13 -0
- package/lib/components/bmb-calendar/common/bmb-calendar-schedule-cards/bmb-calendar-schedule-cards.component.d.ts +16 -0
- package/lib/components/bmb-calendar/common/bmb-calendar-template-day/bmb-calendar-template-day.component.d.ts +18 -0
- package/lib/components/bmb-calendar/common/bmb-calendar-template-mobile/bmb-calendar-template-mobile.component.d.ts +31 -0
- package/lib/components/bmb-calendar/common/bmb-calendar-template-month/bmb-calendar-template-month.component.d.ts +18 -0
- package/lib/components/bmb-calendar/common/bmb-calendar-template-week/bmb-calendar-template-week.component.d.ts +23 -0
- package/lib/components/bmb-calendar/common/bmb-calendar-time-indicator/bmb-calendar-time-indicator.component.d.ts +9 -0
- package/lib/components/bmb-calendar/types.d.ts +43 -0
- package/lib/components/bmb-calendar/utils.d.ts +12 -0
- package/lib/components/bmb-card/bmb-card.component.d.ts +43 -0
- package/lib/components/bmb-card-button/bmb-card-button.component.d.ts +50 -0
- package/lib/components/bmb-carousel/bmb-carousel.component.d.ts +20 -0
- package/lib/components/bmb-chat-bar/bmb-chat-bar.component.d.ts +63 -0
- package/lib/components/bmb-chat-bar/bot_list.d.ts +6 -0
- package/lib/components/bmb-chat-bar/types.d.ts +9 -0
- package/lib/components/bmb-chat-bubbles/bmb-chat-bubbles.component.d.ts +23 -0
- package/lib/components/bmb-chat-bubbles/types.d.ts +23 -0
- package/lib/components/bmb-check-external-link-button/bmb-check-external-link-button.component.d.ts +21 -0
- package/lib/components/bmb-checkbox/bmb-checkbox.component.d.ts +33 -0
- package/lib/components/bmb-chevron-title-selector/bmb-chevron-title-selector.component.d.ts +17 -0
- package/lib/components/bmb-container/bmb-container.component.d.ts +9 -0
- package/lib/components/bmb-container-button/bmb-container-button.component.d.ts +39 -0
- package/lib/components/bmb-date-range/bmb-date-range.component.d.ts +35 -0
- package/lib/components/bmb-datepicker/bmb-datepicker-modal/bmb-datepicker-modal.component.d.ts +39 -0
- package/lib/components/bmb-datepicker/bmb-datepicker.component.d.ts +52 -0
- package/lib/components/bmb-digital-id/bmb-digital-id.component.d.ts +26 -0
- package/lib/components/bmb-divider/bmb-divider.component.d.ts +8 -0
- package/lib/components/bmb-dot-paginator/bmb-dot-paginator.component.d.ts +17 -0
- package/lib/components/bmb-drawer-overlay/bmb-drawer-overlay.component.d.ts +26 -0
- package/lib/components/bmb-dropdown/bmb-dropdown.component.d.ts +62 -0
- package/lib/components/bmb-dropdown-menu/bmb-dropdown-menu.component.d.ts +13 -0
- package/lib/components/bmb-dropzone/bmb-dropzone.component.d.ts +49 -0
- package/lib/components/bmb-evaluation-rubric/bmb-evaluation-rubric.component.d.ts +45 -0
- package/lib/components/bmb-external-link/bmb-external-link.component.d.ts +25 -0
- package/lib/components/bmb-fab/bmb-fab-.interface.d.ts +10 -0
- package/lib/components/bmb-fab/bmb-fab.component.d.ts +15 -0
- package/lib/components/bmb-filter-card/bmb-filter-card.component.d.ts +34 -0
- package/lib/components/bmb-filter-card/bmb-filter-card.interface.d.ts +12 -0
- package/lib/components/bmb-focus-element/bmb-focus-element.component.d.ts +14 -0
- package/lib/components/bmb-form-validator/bmb-form-validator.component.d.ts +34 -0
- package/lib/components/bmb-frequent-apps-selector/bmb-frequent-apps-selector.component.d.ts +13 -0
- package/lib/components/bmb-grade-value/bmb-grade-value.component.d.ts +11 -0
- package/lib/components/bmb-grades/bmb-grades.component.d.ts +43 -0
- package/lib/components/bmb-grades/types.d.ts +25 -0
- package/lib/components/bmb-header-mitec/bmb-header-mitec.component.d.ts +17 -0
- package/lib/components/bmb-header-mobile/bmb-header-mobile.component.d.ts +23 -0
- package/lib/components/bmb-hito-card/bmb-hito-card.component.d.ts +30 -0
- package/lib/components/bmb-hito-list/bmb-hito-list.component.d.ts +24 -0
- package/lib/components/bmb-home-card/bmb-home-card-header/bmb-home-card-header.component.d.ts +28 -0
- package/lib/components/bmb-home-card/bmb-home-card.component.d.ts +27 -0
- package/lib/components/bmb-home-card-chat/bmb-home-card-chat.component.d.ts +25 -0
- package/lib/components/bmb-home-section/bmb-home-section.component.d.ts +9 -0
- package/lib/components/bmb-icon/bmb-icon.component.d.ts +23 -0
- package/lib/components/bmb-icon/types.d.ts +1 -0
- package/lib/components/bmb-icon-item/bmb-icon-item.component.d.ts +13 -0
- package/lib/components/bmb-icon-status/bmb-icon-status.component.d.ts +10 -0
- package/lib/components/bmb-iframe/bmb-iframe.component.d.ts +11 -0
- package/lib/components/bmb-iframe/bmb-iframe.pipe.d.ts +10 -0
- package/lib/components/bmb-image/bmb-image.component.d.ts +19 -0
- package/lib/components/bmb-inner-header/bmb-inner-header.component.d.ts +29 -0
- package/lib/components/bmb-input/bmb-input-content/bmb-input-content.component.d.ts +52 -0
- package/lib/components/bmb-input/bmb-input-validator/bmb-input-validator.component.d.ts +45 -0
- package/lib/components/bmb-input/bmb-input.component.d.ts +68 -0
- package/lib/components/bmb-input-phone-number/bmb-input-phone-number.component.d.ts +52 -0
- package/lib/components/bmb-input-tags/bmb-input-tags.component.d.ts +55 -0
- package/lib/components/bmb-interactive-icon/bmb-interactive-icon.component.d.ts +23 -0
- package/lib/components/bmb-invoice/bmb-invoice.component.d.ts +31 -0
- package/lib/components/bmb-item/bmb-item.component.d.ts +16 -0
- package/lib/components/bmb-legend/bmb-legend.component.d.ts +9 -0
- package/lib/components/bmb-list-group/bmb-list-group-item/bmb-list-group-item.component.d.ts +33 -0
- package/lib/components/bmb-list-group/bmb-list-group.component.d.ts +27 -0
- package/lib/components/bmb-list-group/bmb-list-group.service.d.ts +18 -0
- package/lib/components/bmb-list-group/types.d.ts +1 -0
- package/lib/components/bmb-list-items/bmb-list-items.component.d.ts +33 -0
- package/lib/components/bmb-loader/bmb-loader.component.d.ts +31 -0
- package/lib/components/bmb-login/bmb-login-content/bmb-login-content.component.d.ts +27 -0
- package/lib/components/bmb-login/bmb-login.component.d.ts +33 -0
- package/lib/components/bmb-login-onboarding/bmb-login-onboarding-logged/bmb-login-onboarding-logged.component.d.ts +14 -0
- package/lib/components/bmb-login-onboarding/bmb-login-onboarding-login/bmb-login-onboarding-login.component.d.ts +8 -0
- package/lib/components/bmb-login-onboarding/bmb-login-onboarding-logout/bmb-login-onboarding-logout.component.d.ts +12 -0
- package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-four.component.d.ts +19 -0
- package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-one.component.d.ts +17 -0
- package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-three.component.d.ts +11 -0
- package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-two.component.d.ts +19 -0
- package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step.component.d.ts +19 -0
- package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper.component.d.ts +15 -0
- package/lib/components/bmb-login-onboarding/bmb-login-onboarding.component.d.ts +20 -0
- package/lib/components/bmb-login-onboarding/bmb-login-onboarding.service.d.ts +25 -0
- package/lib/components/bmb-login-onboarding/types.d.ts +15 -0
- package/lib/components/bmb-logo/bmb-logo.component.d.ts +19 -0
- package/lib/components/bmb-media-card/bmb-media-card.component.d.ts +34 -0
- package/lib/components/bmb-mitec-logo-animation/bmb-mitec-logo-animation.component.d.ts +6 -0
- package/lib/components/bmb-mobile-templates/bmb-mobile-templates.component.d.ts +47 -0
- package/lib/components/bmb-modal/bmb-modal.component.d.ts +31 -0
- package/lib/components/bmb-modal/bmb-modal.interface.d.ts +44 -0
- package/lib/components/bmb-modal/bmb-native-modal.component.d.ts +45 -0
- package/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator-item/bmb-multi-dot-paginator-item.component.d.ts +7 -0
- package/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator.component.d.ts +15 -0
- package/lib/components/bmb-navigation-bar/bmb-navigation-bar.component.d.ts +13 -0
- package/lib/components/bmb-notice-card/bmb-notice-card.component.d.ts +21 -0
- package/lib/components/bmb-notification-card/bmb-notification-card.component.d.ts +27 -0
- package/lib/components/bmb-notification-counter/bmb-notification-counter.component.d.ts +9 -0
- package/lib/components/bmb-overlay/bmb-overlay.component.d.ts +9 -0
- package/lib/components/bmb-paginator/bmb-paginator.component.d.ts +14 -0
- package/lib/components/bmb-portal/bmb-portal.component.d.ts +23 -0
- package/lib/components/bmb-portal/bmb-projected-content/bmb-projected-content.component.d.ts +34 -0
- package/lib/components/bmb-profile/bmb-profile.component.d.ts +34 -0
- package/lib/components/bmb-progress-bar/bmb-progress-bar.component.d.ts +19 -0
- package/lib/components/bmb-progress-cirlce/bmb-progress-circle.component.d.ts +51 -0
- package/lib/components/bmb-progress-cirlce/bmb-progress-circle.interface.d.ts +12 -0
- package/lib/components/bmb-pull-wedge/bmb-pull-wedge.component.d.ts +23 -0
- package/lib/components/bmb-push-notification/bmb-push-notification-item/bmb-push-notification-item.component.d.ts +18 -0
- package/lib/components/bmb-push-notification/bmb-push-notification.component.d.ts +11 -0
- package/lib/components/bmb-push-notification/types.d.ts +46 -0
- package/lib/components/bmb-radial/bmb-radial.component.d.ts +33 -0
- package/lib/components/bmb-search-input/bmb-search-input.component.d.ts +33 -0
- package/lib/components/bmb-server-table/bmb-server-table.component.d.ts +26 -0
- package/lib/components/bmb-sidebar/bmb-sidebar.component.d.ts +27 -0
- package/lib/components/bmb-sidebar/bmb-sidebar.interface.d.ts +10 -0
- package/lib/components/bmb-simple-header/bmb-simple-header.component.d.ts +10 -0
- package/lib/components/bmb-skeleton/bmb-skeleton.component.d.ts +7 -0
- package/lib/components/bmb-sounds-card/bmb-sounds-card.component.d.ts +24 -0
- package/lib/components/bmb-stat-counter/bmb-stat-counter.component.d.ts +11 -0
- package/lib/components/bmb-step-progress-bar/bmb-step-progress-bar.component.d.ts +30 -0
- package/lib/components/bmb-student-activity-card/bmb-student-activity-card.component.d.ts +23 -0
- package/lib/components/bmb-student-activity-selector/bmb-student-activity-tab/bmb-student-activity-tab.component.d.ts +10 -0
- package/lib/components/bmb-switch/bmb-switch.component.d.ts +25 -0
- package/lib/components/bmb-tables/bmb-tables.component.d.ts +104 -0
- package/lib/components/bmb-tables/bmb-tables.interface.d.ts +21 -0
- package/lib/components/bmb-tabs/bmb-tabs.component.d.ts +41 -0
- package/lib/components/bmb-tags/bmb-tags.component.d.ts +25 -0
- package/lib/components/bmb-text-editor/bmb-text-editor.component.d.ts +34 -0
- package/lib/components/bmb-text-link/bmb-text-link.component.d.ts +17 -0
- package/lib/components/bmb-theme/bmb-theme.component.d.ts +19 -0
- package/lib/components/bmb-three-cols/bmb-three-cols.component.d.ts +15 -0
- package/lib/components/bmb-timestream/bmb-timestream-detail/bmb-timestream-detail.component.d.ts +25 -0
- package/lib/components/bmb-timestream/bmb-timestream-error/bmb-timestream-error.component.d.ts +5 -0
- package/lib/components/bmb-timestream/bmb-timestream.component.d.ts +67 -0
- package/lib/components/bmb-timestream/types.d.ts +54 -0
- package/lib/components/bmb-timestream-card/bmb-timestream-card.component.d.ts +29 -0
- package/lib/components/bmb-title-content/bmb-title-content.component.d.ts +26 -0
- package/lib/components/bmb-toast/bmb-toast.component.d.ts +16 -0
- package/lib/components/bmb-tooltip/bmb-tooltip.component.d.ts +15 -0
- package/lib/components/bmb-top-bar/bmb-top-bar-item/bmb-top-bar-item.component.d.ts +7 -0
- package/lib/components/bmb-top-bar/bmb-top-bar-user-section/bmb-top-bar-user-section.component.d.ts +32 -0
- package/lib/components/bmb-top-bar/bmb-top-bar.component.d.ts +47 -0
- package/lib/components/bmb-top-bar/types.d.ts +6 -0
- package/lib/components/bmb-totp/bmb-totp.component.d.ts +31 -0
- package/lib/components/bmb-user-image/bmb-user-image.component.d.ts +19 -0
- package/lib/components/bmb-user-profile/bmb-user-profile-content/bmb-user-profile-content.component.d.ts +10 -0
- package/lib/components/bmb-user-profile/bmb-user-profile.component.d.ts +19 -0
- package/lib/components/bmb-user-summary/bmb-user-summary-content/bmb-user-summary-content.component.d.ts +26 -0
- package/lib/components/bmb-user-summary/bmb-user-summary.component.d.ts +14 -0
- package/lib/components/bmb-value-counter/bmb-value-counter.component.d.ts +8 -0
- package/lib/components/bmb-web-templates/bmb-web-templates.component.d.ts +42 -0
- package/lib/components/bmb-wheel-menu/bmb-wheel-menu.component.d.ts +40 -0
- package/lib/components/utils/bmb-dropdown-content/bmb-dropdown-content.component.d.ts +16 -0
- package/lib/directives/bmb-accordion/bmb-accordion-control.directive.d.ts +22 -0
- package/lib/directives/bmb-button/button.directive.d.ts +29 -0
- package/lib/directives/bmb-button-group/bmb-button-group.directive.d.ts +10 -0
- package/lib/directives/bmb-layout/bmb-layout-item.directive.d.ts +20 -0
- package/lib/directives/bmb-layout/bmb-layout.directive.d.ts +15 -0
- package/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout-item.directive.d.ts +9 -0
- package/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout.directive.d.ts +14 -0
- package/lib/directives/bmb-layout-grid/bmb-layout-grid.directive.d.ts +29 -0
- package/lib/directives/utils/clickoutside.directive.d.ts +15 -0
- package/lib/ds-ng.component.d.ts +5 -0
- package/lib/ds-ng.service.d.ts +6 -0
- package/lib/services/calendar.service.d.ts +15 -0
- package/lib/services/index.d.ts +2 -0
- package/lib/services/native-modal.service.d.ts +18 -0
- package/lib/services/notification.service.d.ts +20 -0
- package/lib/services/projection.service.d.ts +31 -0
- package/lib/services/tabs.service.d.ts +13 -0
- package/lib/services/theme.service.d.ts +11 -0
- package/lib/services/toast.service.d.ts +9 -0
- package/lib/services/user/profile.service.d.ts +9 -0
- package/lib/types/colors.d.ts +2 -0
- package/lib/types/index.d.ts +128 -0
- package/lib/utils/countryCodes.d.ts +7 -0
- package/lib/utils/currencyFormat.d.ts +1 -0
- package/lib/utils/dropdown.d.ts +6 -0
- package/lib/utils/formControl.d.ts +7 -0
- package/lib/utils/timestreamFilters.d.ts +2 -0
- package/lib/utils/utils.d.ts +13 -0
- package/package.json +5 -3
- package/public-api.d.ts +143 -0
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
2
|
+
import { MatPaginatorModule } from '@angular/material/paginator';
|
|
3
|
+
import { MatTableModule } from '@angular/material/table';
|
|
4
|
+
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
5
|
+
import { CommonModule } from '@angular/common';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/material/paginator";
|
|
8
|
+
import * as i2 from "@angular/material/table";
|
|
9
|
+
import * as i3 from "@angular/material/progress-spinner";
|
|
10
|
+
import * as i4 from "@angular/common";
|
|
11
|
+
export class BmbServerTableComponent {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.columns = [];
|
|
14
|
+
this.data = [];
|
|
15
|
+
this.totalRecords = 0;
|
|
16
|
+
this.pageSize = 10;
|
|
17
|
+
this.pageSizeOptions = [];
|
|
18
|
+
this.loading = false;
|
|
19
|
+
this.pageChange = new EventEmitter();
|
|
20
|
+
this.dataChange = new EventEmitter();
|
|
21
|
+
this.onClickRow = new EventEmitter();
|
|
22
|
+
this.displayedColumns = [];
|
|
23
|
+
this.selectedRow = null;
|
|
24
|
+
}
|
|
25
|
+
ngOnChanges(changes) {
|
|
26
|
+
if (changes['columns']) {
|
|
27
|
+
this.validateColumns();
|
|
28
|
+
}
|
|
29
|
+
if (changes['data']) {
|
|
30
|
+
this.dataChange.emit(this.data || []);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
validateColumns() {
|
|
34
|
+
if (this.columns && this.columns.length > 0) {
|
|
35
|
+
this.displayedColumns = this.columns.map((col) => col.key);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
console.warn('Las columnas están vacías o mal configuradas.');
|
|
39
|
+
this.displayedColumns = [];
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
onPageChange(event) {
|
|
43
|
+
this.pageChange.emit(event.pageIndex + 1);
|
|
44
|
+
}
|
|
45
|
+
onRowClick(row) {
|
|
46
|
+
this.selectedRow = row;
|
|
47
|
+
this.onClickRow.emit(row);
|
|
48
|
+
}
|
|
49
|
+
isSelected(row) {
|
|
50
|
+
return this.selectedRow === row;
|
|
51
|
+
}
|
|
52
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbServerTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
53
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: BmbServerTableComponent, isStandalone: true, selector: "bmb-server-table", inputs: { columns: "columns", data: "data", totalRecords: "totalRecords", pageSize: "pageSize", pageSizeOptions: "pageSizeOptions", loading: "loading" }, outputs: { pageChange: "pageChange", dataChange: "dataChange", onClickRow: "onClickRow" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"table-container\">\n <div class=\"spinner-overlay\" *ngIf=\"loading\">\n <mat-spinner></mat-spinner>\n </div>\n\n <ng-container *ngIf=\"displayedColumns.length > 0; else noColumns\">\n <table mat-table [dataSource]=\"data\" class=\"mat-elevation-z8\">\n <ng-container *ngFor=\"let column of columns\" [matColumnDef]=\"column.key\">\n <th mat-header-cell *matHeaderCellDef>{{ column.label }}</th>\n <td mat-cell *matCellDef=\"let element\">{{ element[column.key] }}</td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n\n <tr\n mat-row\n *matRowDef=\"let row; columns: displayedColumns\"\n [class.selected-row]=\"isSelected(row)\"\n (click)=\"onRowClick(row)\"\n ></tr>\n </table>\n\n <mat-paginator\n [length]=\"totalRecords\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions || []\"\n (page)=\"onPageChange($event)\"\n >\n </mat-paginator>\n </ng-container>\n\n <!-- Sin columnas definidas -->\n <ng-template #noColumns>\n <div class=\"no-columns-message\">\n <p>No se han definido columnas para la tabla.</p>\n </div>\n </ng-template>\n</div>\n", styles: [".table-container{position:relative;width:100%}.spinner-overlay{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;background-color:#fffc;z-index:10}table{width:100%;border-collapse:collapse;box-shadow:none}table tr{transition:background-color .2s ease-in-out;cursor:pointer;height:30px}table tr:hover{background-color:#ebedf3}table tr.selected-row{background-color:#ddeefc!important}.mat-header-cell,.mat-cell{text-align:left;padding:8px}.no-columns-message{text-align:center;color:red;font-weight:700;margin:20px}\n"], dependencies: [{ kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i1.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i2.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i2.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i2.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i2.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i2.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i2.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i2.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i2.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i2.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i2.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i3.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
54
|
+
}
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbServerTableComponent, decorators: [{
|
|
56
|
+
type: Component,
|
|
57
|
+
args: [{ selector: 'bmb-server-table', standalone: true, imports: [
|
|
58
|
+
MatPaginatorModule,
|
|
59
|
+
MatTableModule,
|
|
60
|
+
MatProgressSpinnerModule,
|
|
61
|
+
CommonModule,
|
|
62
|
+
], template: "<div class=\"table-container\">\n <div class=\"spinner-overlay\" *ngIf=\"loading\">\n <mat-spinner></mat-spinner>\n </div>\n\n <ng-container *ngIf=\"displayedColumns.length > 0; else noColumns\">\n <table mat-table [dataSource]=\"data\" class=\"mat-elevation-z8\">\n <ng-container *ngFor=\"let column of columns\" [matColumnDef]=\"column.key\">\n <th mat-header-cell *matHeaderCellDef>{{ column.label }}</th>\n <td mat-cell *matCellDef=\"let element\">{{ element[column.key] }}</td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n\n <tr\n mat-row\n *matRowDef=\"let row; columns: displayedColumns\"\n [class.selected-row]=\"isSelected(row)\"\n (click)=\"onRowClick(row)\"\n ></tr>\n </table>\n\n <mat-paginator\n [length]=\"totalRecords\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions || []\"\n (page)=\"onPageChange($event)\"\n >\n </mat-paginator>\n </ng-container>\n\n <!-- Sin columnas definidas -->\n <ng-template #noColumns>\n <div class=\"no-columns-message\">\n <p>No se han definido columnas para la tabla.</p>\n </div>\n </ng-template>\n</div>\n", styles: [".table-container{position:relative;width:100%}.spinner-overlay{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;background-color:#fffc;z-index:10}table{width:100%;border-collapse:collapse;box-shadow:none}table tr{transition:background-color .2s ease-in-out;cursor:pointer;height:30px}table tr:hover{background-color:#ebedf3}table tr.selected-row{background-color:#ddeefc!important}.mat-header-cell,.mat-cell{text-align:left;padding:8px}.no-columns-message{text-align:center;color:red;font-weight:700;margin:20px}\n"] }]
|
|
63
|
+
}], propDecorators: { columns: [{
|
|
64
|
+
type: Input
|
|
65
|
+
}], data: [{
|
|
66
|
+
type: Input
|
|
67
|
+
}], totalRecords: [{
|
|
68
|
+
type: Input
|
|
69
|
+
}], pageSize: [{
|
|
70
|
+
type: Input
|
|
71
|
+
}], pageSizeOptions: [{
|
|
72
|
+
type: Input
|
|
73
|
+
}], loading: [{
|
|
74
|
+
type: Input
|
|
75
|
+
}], pageChange: [{
|
|
76
|
+
type: Output
|
|
77
|
+
}], dataChange: [{
|
|
78
|
+
type: Output
|
|
79
|
+
}], onClickRow: [{
|
|
80
|
+
type: Output
|
|
81
|
+
}] } });
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLXNlcnZlci10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1uZy9zcmMvbGliL2NvbXBvbmVudHMvYm1iLXNlcnZlci10YWJsZS9ibWItc2VydmVyLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItc2VydmVyLXRhYmxlL2JtYi1zZXJ2ZXItdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FJUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7QUFtQi9DLE1BQU0sT0FBTyx1QkFBdUI7SUFacEM7UUFhVyxZQUFPLEdBQTRCLEVBQUUsQ0FBQztRQUN0QyxTQUFJLEdBQVUsRUFBRSxDQUFDO1FBQ2pCLGlCQUFZLEdBQVcsQ0FBQyxDQUFDO1FBQ3pCLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDdEIsb0JBQWUsR0FBYSxFQUFFLENBQUM7UUFDL0IsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUN4QixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUN4QyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQUN2QyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUMvQyxxQkFBZ0IsR0FBYSxFQUFFLENBQUM7UUFDaEMsZ0JBQVcsR0FBUSxJQUFJLENBQUM7S0FnQ3pCO0lBOUJDLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUN0QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDeEI7UUFDRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZDO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzNDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzVEO2FBQU07WUFDTCxPQUFPLENBQUMsSUFBSSxDQUFDLCtDQUErQyxDQUFDLENBQUM7WUFDOUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsS0FBVTtRQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBUTtRQUNqQixJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLEdBQUcsQ0FBQztJQUNsQyxDQUFDOytHQTFDVSx1QkFBdUI7bUdBQXZCLHVCQUF1QixzVkMvQnBDLHF0Q0FzQ0EsMmxCRGZJLGtCQUFrQixtU0FDbEIsY0FBYyxzZ0NBQ2Qsd0JBQXdCLGtPQUN4QixZQUFZOzs0RkFLSCx1QkFBdUI7a0JBWm5DLFNBQVM7K0JBQ0Usa0JBQWtCLGNBQ2hCLElBQUksV0FDUDt3QkFDUCxrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2Qsd0JBQXdCO3dCQUN4QixZQUFZO3FCQUNiOzhCQUtRLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFBhZ2luYXRvck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XG5pbXBvcnQgeyBNYXRUYWJsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBJQm1iU2VydmVyVGFibGVDb2x1bW4ge1xuICBrZXk6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYm1iLXNlcnZlci10YWJsZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBNYXRQYWdpbmF0b3JNb2R1bGUsXG4gICAgTWF0VGFibGVNb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2JtYi1zZXJ2ZXItdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYm1iLXNlcnZlci10YWJsZS5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIEJtYlNlcnZlclRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgY29sdW1uczogSUJtYlNlcnZlclRhYmxlQ29sdW1uW10gPSBbXTtcbiAgQElucHV0KCkgZGF0YTogYW55W10gPSBbXTtcbiAgQElucHV0KCkgdG90YWxSZWNvcmRzOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBwYWdlU2l6ZTogbnVtYmVyID0gMTA7XG4gIEBJbnB1dCgpIHBhZ2VTaXplT3B0aW9uczogbnVtYmVyW10gPSBbXTtcbiAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KCkgcGFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICBAT3V0cHV0KCkgZGF0YUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55W10+KCk7XG4gIEBPdXRwdXQoKSBvbkNsaWNrUm93ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdID0gW107XG4gIHNlbGVjdGVkUm93OiBhbnkgPSBudWxsO1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snY29sdW1ucyddKSB7XG4gICAgICB0aGlzLnZhbGlkYXRlQ29sdW1ucygpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlc1snZGF0YSddKSB7XG4gICAgICB0aGlzLmRhdGFDaGFuZ2UuZW1pdCh0aGlzLmRhdGEgfHwgW10pO1xuICAgIH1cbiAgfVxuXG4gIHZhbGlkYXRlQ29sdW1ucygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb2x1bW5zICYmIHRoaXMuY29sdW1ucy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSB0aGlzLmNvbHVtbnMubWFwKChjb2wpID0+IGNvbC5rZXkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLndhcm4oJ0xhcyBjb2x1bW5hcyBlc3TDoW4gdmFjw61hcyBvIG1hbCBjb25maWd1cmFkYXMuJyk7XG4gICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSBbXTtcbiAgICB9XG4gIH1cblxuICBvblBhZ2VDaGFuZ2UoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMucGFnZUNoYW5nZS5lbWl0KGV2ZW50LnBhZ2VJbmRleCArIDEpO1xuICB9XG5cbiAgb25Sb3dDbGljayhyb3c6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRSb3cgPSByb3c7XG4gICAgdGhpcy5vbkNsaWNrUm93LmVtaXQocm93KTtcbiAgfVxuXG4gIGlzU2VsZWN0ZWQocm93OiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFJvdyA9PT0gcm93O1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidGFibGUtY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJzcGlubmVyLW92ZXJsYXlcIiAqbmdJZj1cImxvYWRpbmdcIj5cbiAgICA8bWF0LXNwaW5uZXI+PC9tYXQtc3Bpbm5lcj5cbiAgPC9kaXY+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRpc3BsYXllZENvbHVtbnMubGVuZ3RoID4gMDsgZWxzZSBub0NvbHVtbnNcIj5cbiAgICA8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cImRhdGFcIiBjbGFzcz1cIm1hdC1lbGV2YXRpb24tejhcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zXCIgW21hdENvbHVtbkRlZl09XCJjb2x1bW4ua2V5XCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+e3sgY29sdW1uLmxhYmVsIH19PC90aD5cbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj57eyBlbGVtZW50W2NvbHVtbi5rZXldIH19PC90ZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnNcIj48L3RyPlxuXG4gICAgICA8dHJcbiAgICAgICAgbWF0LXJvd1xuICAgICAgICAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1uc1wiXG4gICAgICAgIFtjbGFzcy5zZWxlY3RlZC1yb3ddPVwiaXNTZWxlY3RlZChyb3cpXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uUm93Q2xpY2socm93KVwiXG4gICAgICA+PC90cj5cbiAgICA8L3RhYmxlPlxuXG4gICAgPG1hdC1wYWdpbmF0b3JcbiAgICAgIFtsZW5ndGhdPVwidG90YWxSZWNvcmRzXCJcbiAgICAgIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZVwiXG4gICAgICBbcGFnZVNpemVPcHRpb25zXT1cInBhZ2VTaXplT3B0aW9ucyB8fCBbXVwiXG4gICAgICAocGFnZSk9XCJvblBhZ2VDaGFuZ2UoJGV2ZW50KVwiXG4gICAgPlxuICAgIDwvbWF0LXBhZ2luYXRvcj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPCEtLSBTaW4gY29sdW1uYXMgZGVmaW5pZGFzIC0tPlxuICA8bmctdGVtcGxhdGUgI25vQ29sdW1ucz5cbiAgICA8ZGl2IGNsYXNzPVwibm8tY29sdW1ucy1tZXNzYWdlXCI+XG4gICAgICA8cD5ObyBzZSBoYW4gZGVmaW5pZG8gY29sdW1uYXMgcGFyYSBsYSB0YWJsYS48L3A+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { Component, ChangeDetectionStrategy, ViewEncapsulation, HostListener, input, ViewChild, } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { BmbIconComponent } from '../bmb-icon/bmb-icon.component';
|
|
4
|
+
import { BmbCheckExternalLinkButtonComponent } from '../bmb-check-external-link-button/bmb-check-external-link-button.component';
|
|
5
|
+
import { BmbActionIconComponent } from '../bmb-action-icon/bmb-action-icon.component';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common";
|
|
8
|
+
export class BmbSidebarComponent {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.elements = input([]);
|
|
11
|
+
this.title = input('Navigation');
|
|
12
|
+
this.position = input('left'); //Only for web
|
|
13
|
+
this.currentUrl = '';
|
|
14
|
+
this.isOpen = false;
|
|
15
|
+
this.selectedElement = null;
|
|
16
|
+
this.isActive = false;
|
|
17
|
+
this.hasSubmenu = false;
|
|
18
|
+
this.maxChildrenLevel = 2;
|
|
19
|
+
}
|
|
20
|
+
onFocusIn() {
|
|
21
|
+
this.checkIfFocusInsideSidebar();
|
|
22
|
+
}
|
|
23
|
+
onFocusOut() {
|
|
24
|
+
this.checkIfFocusInsideSidebar();
|
|
25
|
+
}
|
|
26
|
+
ngOnInit() {
|
|
27
|
+
if (this.elements()?.length > 2) {
|
|
28
|
+
console.error('The sidebar component only supports two levels of navigation');
|
|
29
|
+
}
|
|
30
|
+
if (this.elements()[0]?.length > 5) {
|
|
31
|
+
console.error('The sidebar component only supports a maximum of 5 elements in the first level of navigation');
|
|
32
|
+
}
|
|
33
|
+
if (this.elements()[1] && this.elements()[1]?.length > 3) {
|
|
34
|
+
console.error('The sidebar component only supports a maximum of 3 elements in the second level of navigation');
|
|
35
|
+
}
|
|
36
|
+
this.hasSubmenu = this.elements()?.some((element) => element?.some((el) => el.children));
|
|
37
|
+
}
|
|
38
|
+
getLink(link) {
|
|
39
|
+
if (!!link)
|
|
40
|
+
return link;
|
|
41
|
+
return '';
|
|
42
|
+
}
|
|
43
|
+
closeSidebar() {
|
|
44
|
+
this.isOpen = false;
|
|
45
|
+
this.clearSelectElement();
|
|
46
|
+
}
|
|
47
|
+
clearSelectElement() {
|
|
48
|
+
this.selectedElement = null;
|
|
49
|
+
}
|
|
50
|
+
toggleChildren(element) {
|
|
51
|
+
if (this.selectedElement === element) {
|
|
52
|
+
this.clearSelectElement();
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
this.selectedElement = element;
|
|
56
|
+
if (element.children) {
|
|
57
|
+
element.isOpen = !element.isOpen;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
checkIfFocusInsideSidebar() {
|
|
61
|
+
const sidebar = document.querySelector('.bmb_sidebar-desktop');
|
|
62
|
+
const activeElement = document.activeElement;
|
|
63
|
+
this.isActive =
|
|
64
|
+
(sidebar && activeElement && sidebar.contains(activeElement)) || false;
|
|
65
|
+
}
|
|
66
|
+
checkToCloseSidebar(event) {
|
|
67
|
+
if (event.link && !event.children) {
|
|
68
|
+
this.closeSidebar();
|
|
69
|
+
this.sideNav.nativeElement.classList.add('bmb_sidebar-desktop-close');
|
|
70
|
+
setTimeout(() => {
|
|
71
|
+
this.sideNav.nativeElement.classList.remove('bmb_sidebar-desktop-close');
|
|
72
|
+
this.sideNav.nativeElement.classList.remove('bmb-active');
|
|
73
|
+
}, 500);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbSidebarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
77
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BmbSidebarComponent, isStandalone: true, selector: "bmb-sidebar", inputs: { elements: { classPropertyName: "elements", publicName: "elements", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "window:focusin": "onFocusIn($event)", "window:focusout": "onFocusOut($event)" } }, viewQueries: [{ propertyName: "sideNav", first: true, predicate: ["sideNav"], descendants: true }], ngImport: i0, template: "<!-- Template for element -->\n<ng-template\n #elementTemplate\n let-element=\"element\"\n let-isTitle=\"isTitle\"\n let-isFixed=\"isFixed\"\n let-isChild=\"isChild\"\n let-isMobile=\"isMobile\"\n>\n @if (!!element.icon) {\n <bmb-icon\n class=\"bmb_sidebar-icon\"\n [icon]=\"element.icon\"\n [alt]=\"element.title\"\n [size]=\"24\"\n />\n }\n <span\n [ngClass]=\"{\n 'bmb_sidebar-text': !isTitle,\n 'bmb_sidebar-header-text': isTitle\n }\"\n >{{ element!.title }}</span\n >\n @if (isFixed) {\n <bmb-action-icon\n class=\"bmb_sidebar-header-icon\"\n idElement=\"sidebar_close\"\n icon=\"close\"\n [iconSize]=\"24\"\n [isAccentColor]=\"false\"\n (buttonClick)=\"closeSidebar()\"\n />\n }\n</ng-template>\n\n<!-- Template for menu items -->\n<ng-template #itemsTemplate let-item=\"item\" let-isMobile=\"isMobile\">\n <bmb-check-external-link-button\n class=\"bmb_sidebar-link\"\n [idElement]=\"'element' + item.id!\"\n [link]=\"!isMobile ? getLink(item.link!) : ''\"\n [target]=\"!isMobile ? item.target! : ''\"\n (buttonClick)=\"toggleChildren(item)\"\n >\n <ng-container\n *ngTemplateOutlet=\"elementTemplate; context: { element: item, isMobile }\"\n />\n @if (!!item.children) {\n <bmb-icon\n class=\"bmb_sidebar-arrow\"\n [icon]=\"\n !isMobile && position() === 'right' ? 'chevron_left' : 'chevron_right'\n \"\n [size]=\"24\"\n />\n }\n </bmb-check-external-link-button>\n</ng-template>\n\n<!-- Template for navigation -->\n<ng-template #sidebarTemplate let-level=\"level\" let-isMobile=\"isMobile\">\n @for (group of elements().slice(0, 2); track $index) {\n <ul class=\"bmb_sidebar-list\">\n @for (element of group.slice(0, 5); track $index) {\n <li\n class=\"bmb_sidebar-item\"\n [ngClass]=\"{\n 'bmb_sidebar-item-left-space':\n position() === 'right' && hasSubmenu && !element.children?.length\n }\"\n (click)=\"checkToCloseSidebar(element)\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n itemsTemplate;\n context: { item: element, isMobile }\n \"\n />\n @if (!!element.children && level === 1) {\n <ng-container\n *ngTemplateOutlet=\"\n sidebarElementTemplate;\n context: {\n element: element,\n iconSize: 24,\n isFixed: true,\n level: 2,\n selectedElement,\n isMobile\n }\n \"\n />\n }\n </li>\n }\n </ul>\n }\n</ng-template>\n\n<ng-template\n #sidebarElementTemplate\n let-element=\"element\"\n let-iconSize=\"iconSize\"\n let-level=\"level\"\n let-isTitle=\"isTitle\"\n let-isFixed=\"isFixed\"\n let-selectedElement=\"selectedElement\"\n let-isMobile=\"isMobile\"\n>\n @if (level == 1 && isMobile) {\n <bmb-action-icon\n class=\"bmb_sidebar-mobile-button\"\n idElement=\"sidebar_main\"\n icon=\"chevron_right\"\n [iconSize]=\"iconSize\"\n toggleIconActive=\"chevron_left\"\n [isAccentColor]=\"false\"\n [(isToggleActive)]=\"isOpen\"\n (buttonClick)=\"clearSelectElement()\"\n />\n }\n <section\n [tabIndex]=\"-1\"\n [ngClass]=\"{\n 'bmb_sidebar-children': level >= 2 && !!element.children,\n 'bmb_sidebar-children-open':\n level >= 2 && !!element.children && selectedElement === element,\n 'bmb_sidebar-open': isMobile && level == 1 && isOpen,\n bmb_sidebar: isMobile && level == 1,\n 'bmb_sidebar-mobile': isMobile && level == 1\n }\"\n >\n @if (isOpen) {\n <section\n [ngClass]=\"{\n 'bmb_sidebar-header': level == 1,\n 'bmb_sidebar-title': level >= 2\n }\"\n >\n @if (level >= 2 && !!selectedElement) {\n <bmb-action-icon\n class=\"bmb_sidebar-title-button\"\n [idElement]=\"element.id.toString()\"\n icon=\"chevron_left\"\n [iconSize]=\"24\"\n (buttonClick)=\"toggleChildren(element)\"\n />\n }\n <!-- Header -->\n <ng-container\n *ngTemplateOutlet=\"\n elementTemplate;\n context: {\n element: {\n title: element.title,\n icon: element.icon!\n },\n isTitle,\n isFixed\n }\n \"\n />\n </section>\n\n @if (level == 1) {\n <!-- Menu -->\n <ng-container\n *ngTemplateOutlet=\"sidebarTemplate; context: { level, isMobile }\"\n />\n }\n }\n @if (level >= 2 && !!element.children) {\n <ul class=\"bmb_sidebar-list\">\n @for (child of element?.children?.slice(0, 6); track $index) {\n <li class=\"bmb_sidebar-item\" (click)=\"checkToCloseSidebar(child)\">\n <ng-container\n *ngTemplateOutlet=\"\n itemsTemplate;\n context: { item: child, isMobile, isChild: true }\n \"\n />\n </li>\n }\n </ul>\n }\n </section>\n</ng-template>\n\n<!-- Web -->\n<nav\n #sideNav\n class=\"bmb_sidebar bmb_sidebar-desktop\"\n aria-label=\"Sidebar Navigation\"\n [ngClass]=\"{\n 'bmb-active': isActive,\n 'bmb_sidebar-desktop-right': position() === 'right'\n }\"\n (mouseleave)=\"clearSelectElement()\"\n>\n <div [tabIndex]=\"-1\" class=\"bmb_sidebar-content\">\n <ng-container\n *ngTemplateOutlet=\"\n sidebarTemplate;\n context: { level: 1, isMobile: false }\n \"\n />\n </div>\n</nav>\n\n<!-- Mobile -->\n<nav class=\"bmb_sidebar-mobile\" aria-label=\"Sidebar Navigation\">\n <ng-container\n *ngTemplateOutlet=\"\n sidebarElementTemplate;\n context: {\n element: {\n title: title()\n },\n iconSize: 32,\n isTitle: true,\n isFixed: true,\n level: 1,\n isMobile: true\n }\n \"\n />\n</nav>\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}@keyframes bounceToRight{0%{width:5.5rem}50%{width:18.75rem}to{width:17.5rem}}@keyframes bounceChildren{0%{opacity:0;width:0}50%{opacity:80%;width:17.5rem}to{opacity:1;width:16.5rem}}@keyframes bounceChildrenMobile{0%{opacity:0;width:0}50%{opacity:80%;width:19.375rem}to{opacity:1;width:17.5rem}}@keyframes bounceRightMobile{0%{opacity:0;width:0}50%{opacity:80%;width:100%}to{opacity:1;width:100%}}@keyframes bounceFromRight{0%{transform:translate(100%)}50%{transform:translate(-5%)}to{transform:translate(0)}}.bmb_sidebar{background-color:rgb(var(--color-black-primary));border-radius:0 1.5rem 1.5rem 0;left:0;position:fixed;transition:width .3s ease;z-index:2}.bmb_sidebar-header-icon{display:inline-flex;color:rgb(var(--color-white-primary))}.bmb_sidebar-body-hide{overflow:hidden}.bmb_sidebar-mobile{display:flex;border-radius:0;position:fixed;left:.5rem;top:1rem;z-index:999}.bmb_sidebar-mobile-content{width:100%;background-color:rgb(var(--color-black-primary))}.bmb_sidebar-mobile-button{display:inline-flex;background-color:rgb(var(--color-black-primary));color:rgb(var(--color-white-primary))}@media (min-width: 1001px){.bmb_sidebar-mobile-button{display:none}}.bmb_sidebar-mobile.bmb_sidebar-open{display:block;animation:bounceRightMobile .6s ease-out forwards;height:calc(100vh - 4rem);overflow-y:auto;overflow-x:hidden;padding:1.25rem;top:4rem;left:0;width:100%}.bmb_sidebar-mobile.bmb_sidebar-open .bmb_sidebar-header{border-bottom:.0625rem solid rgb(var(--color-charade-800));height:2.5rem;justify-content:space-between;padding:.5rem .5rem 1rem}.bmb_sidebar-mobile.bmb_sidebar-open .bmb_sidebar-text{opacity:1;overflow:hidden;visibility:visible}.bmb_sidebar-mobile .bmb_sidebar-header{align-items:center;display:flex;height:4.5rem;justify-content:center;margin:0;padding:.5rem;width:100%}.bmb_sidebar-mobile .bmb_sidebar-header-icon{display:inline-flex;color:rgb(var(--color-white-primary))}.bmb_sidebar-mobile .bmb_sidebar-header-text{color:rgb(var(--color-white-primary));font-family:Poppins-Semibold,sans-serif;font-size:1.125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bmb_sidebar-mobile .bmb_sidebar-header .bmb_sidebar-list{margin:1rem 0 0}@media (max-height: 630px){.bmb_sidebar-mobile .bmb_sidebar-header .bmb_sidebar-list{margin:1rem 0 0}}.bmb_sidebar-mobile .bmb_sidebar-children-open{animation:bounceFromRight .6s ease-out forwards;display:flex;height:100%;left:0;width:100%;opacity:1;z-index:1}.bmb_sidebar-desktop{cursor:auto;display:none;height:30rem;overflow:hidden;padding:1.5rem;top:50%;transform:translateY(-50%);width:5.5rem}.bmb_sidebar-desktop:hover:not(.bmb_sidebar-desktop-close),.bmb_sidebar-desktop.bmb-active:not(.bmb_sidebar-desktop-close){animation:bounceToRight .6s ease-out;animation-fill-mode:forwards;height:30rem;overflow:visible;width:17.5rem}.bmb_sidebar-desktop:hover:not(.bmb_sidebar-desktop-close) .bmb_sidebar-text,.bmb_sidebar-desktop.bmb-active:not(.bmb_sidebar-desktop-close) .bmb_sidebar-text{opacity:1;overflow:hidden;visibility:visible}.bmb_sidebar-desktop-right{right:0;left:auto;border-radius:1.5rem 0 0 1.5rem}.bmb_sidebar-desktop-right .bmb_sidebar-children{left:auto;right:100%;border-radius:1.5rem 0 0 1.5rem}.bmb_sidebar-desktop-right:hover:not(.bmb_sidebar-desktop-close) .bmb_sidebar-icon,.bmb_sidebar-desktop-right:hover:not(.bmb_sidebar-desktop-close) .bmb_sidebar-text,.bmb_sidebar-desktop-right.bmb-active:not(.bmb_sidebar-desktop-close) .bmb_sidebar-icon,.bmb_sidebar-desktop-right.bmb-active:not(.bmb_sidebar-desktop-close) .bmb_sidebar-text{order:1}.bmb_sidebar-desktop-right:hover:not(.bmb_sidebar-desktop-close) .bmb_sidebar-item-left-space,.bmb_sidebar-desktop-right.bmb-active:not(.bmb_sidebar-desktop-close) .bmb_sidebar-item-left-space{padding-left:2.5rem}@media (min-width: 1001px){.bmb_sidebar-desktop{display:block}}.bmb_sidebar-desktop .bmb_sidebar-item{position:relative}.bmb_sidebar-desktop .bmb_sidebar-item:hover .bmb_sidebar-children{display:flex;width:16.5rem;opacity:1;animation:bounceChildren .5s ease-out forwards}.bmb_sidebar-desktop .bmb_sidebar-children:hover{display:flex;width:16.5rem;opacity:1}.bmb_sidebar-list{list-style-type:none;margin:0;padding:0;display:flex;flex-flow:column;gap:.5rem}.bmb_sidebar-list:nth-of-type(n+2){border-top:.0625rem solid rgb(var(--color-charade-800));margin-top:1.5rem;padding-top:1.5rem}.bmb_sidebar-list .bmb_sidebar-list{padding:1.5rem}.bmb_sidebar-item{align-items:center;display:flex;height:2.5rem;justify-content:flex-start;width:auto}.bmb_sidebar-item .bmb_check-external-link-button{display:inline-flex;width:100%;height:100%;align-items:center;justify-content:center}.bmb_sidebar-link{display:flex;align-items:center;height:100%;width:100%;border-radius:1.5rem;overflow:hidden;color:rgb(var(--color-white-primary))}.bmb_sidebar-link .bmb_check-external-link-button-element{display:inline-flex;align-items:center;justify-content:flex-start;text-align:left;transition:all .3s ease;width:100%;height:100%}.bmb_sidebar-link .bmb_check-external-link-button-element:hover,.bmb_sidebar-link .bmb_check-external-link-button-element:focus,.bmb_sidebar-link .bmb_check-external-link-button-element:focus-visible{background-color:rgb(var(--color-white-primary));color:rgb(var(--color-black-primary))}.bmb_sidebar-icon,.bmb_sidebar-arrow{display:inline-flex;padding:0 .5rem}.bmb_sidebar-text{flex:1;opacity:0;width:8.25rem;font-family:Poppins-Medium,sans-serif;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bmb_sidebar-children{border-radius:0 1.5rem 1.5rem 0;background-color:rgb(var(--color-black-primary));flex-flow:column;transition:opacity 1s ease-out;width:0;opacity:0;position:absolute;top:0;left:100%;overflow:hidden}.bmb_sidebar-title{align-items:center;border-bottom:.0625rem solid rgb(var(--color-charade-800));color:rgb(var(--color-white-primary));display:flex;justify-content:space-between;padding:1rem .5rem}.bmb_sidebar-title-button{display:inline-flex;color:rgb(var(--color-white-primary));padding:0}.bmb_sidebar-title-button .bmb_sidebar-icon{padding:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: BmbIconComponent, selector: "bmb-icon", inputs: ["icon", "materialIcon", "styleIcon", "isFill", "fontWeight", "size", "alt", "dotNotification"] }, { kind: "component", type: BmbCheckExternalLinkButtonComponent, selector: "bmb-check-external-link-button", inputs: ["idElement", "link", "target", "disabled", "buttonName"], outputs: ["buttonPress", "buttonClick", "buttonKeyPress"] }, { kind: "component", type: BmbActionIconComponent, selector: "bmb-action-icon", inputs: ["idElement", "icon", "alt", "iconSize", "isFill", "toggleIconActive", "isToggleActive", "isAccentColor", "dotNotification", "target", "link", "disabled"], outputs: ["isToggleActiveChange", "isAccentColorChange", "buttonPress", "buttonClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
78
|
+
}
|
|
79
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbSidebarComponent, decorators: [{
|
|
80
|
+
type: Component,
|
|
81
|
+
args: [{ selector: 'bmb-sidebar', standalone: true, imports: [
|
|
82
|
+
CommonModule,
|
|
83
|
+
BmbIconComponent,
|
|
84
|
+
BmbCheckExternalLinkButtonComponent,
|
|
85
|
+
BmbActionIconComponent,
|
|
86
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<!-- Template for element -->\n<ng-template\n #elementTemplate\n let-element=\"element\"\n let-isTitle=\"isTitle\"\n let-isFixed=\"isFixed\"\n let-isChild=\"isChild\"\n let-isMobile=\"isMobile\"\n>\n @if (!!element.icon) {\n <bmb-icon\n class=\"bmb_sidebar-icon\"\n [icon]=\"element.icon\"\n [alt]=\"element.title\"\n [size]=\"24\"\n />\n }\n <span\n [ngClass]=\"{\n 'bmb_sidebar-text': !isTitle,\n 'bmb_sidebar-header-text': isTitle\n }\"\n >{{ element!.title }}</span\n >\n @if (isFixed) {\n <bmb-action-icon\n class=\"bmb_sidebar-header-icon\"\n idElement=\"sidebar_close\"\n icon=\"close\"\n [iconSize]=\"24\"\n [isAccentColor]=\"false\"\n (buttonClick)=\"closeSidebar()\"\n />\n }\n</ng-template>\n\n<!-- Template for menu items -->\n<ng-template #itemsTemplate let-item=\"item\" let-isMobile=\"isMobile\">\n <bmb-check-external-link-button\n class=\"bmb_sidebar-link\"\n [idElement]=\"'element' + item.id!\"\n [link]=\"!isMobile ? getLink(item.link!) : ''\"\n [target]=\"!isMobile ? item.target! : ''\"\n (buttonClick)=\"toggleChildren(item)\"\n >\n <ng-container\n *ngTemplateOutlet=\"elementTemplate; context: { element: item, isMobile }\"\n />\n @if (!!item.children) {\n <bmb-icon\n class=\"bmb_sidebar-arrow\"\n [icon]=\"\n !isMobile && position() === 'right' ? 'chevron_left' : 'chevron_right'\n \"\n [size]=\"24\"\n />\n }\n </bmb-check-external-link-button>\n</ng-template>\n\n<!-- Template for navigation -->\n<ng-template #sidebarTemplate let-level=\"level\" let-isMobile=\"isMobile\">\n @for (group of elements().slice(0, 2); track $index) {\n <ul class=\"bmb_sidebar-list\">\n @for (element of group.slice(0, 5); track $index) {\n <li\n class=\"bmb_sidebar-item\"\n [ngClass]=\"{\n 'bmb_sidebar-item-left-space':\n position() === 'right' && hasSubmenu && !element.children?.length\n }\"\n (click)=\"checkToCloseSidebar(element)\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n itemsTemplate;\n context: { item: element, isMobile }\n \"\n />\n @if (!!element.children && level === 1) {\n <ng-container\n *ngTemplateOutlet=\"\n sidebarElementTemplate;\n context: {\n element: element,\n iconSize: 24,\n isFixed: true,\n level: 2,\n selectedElement,\n isMobile\n }\n \"\n />\n }\n </li>\n }\n </ul>\n }\n</ng-template>\n\n<ng-template\n #sidebarElementTemplate\n let-element=\"element\"\n let-iconSize=\"iconSize\"\n let-level=\"level\"\n let-isTitle=\"isTitle\"\n let-isFixed=\"isFixed\"\n let-selectedElement=\"selectedElement\"\n let-isMobile=\"isMobile\"\n>\n @if (level == 1 && isMobile) {\n <bmb-action-icon\n class=\"bmb_sidebar-mobile-button\"\n idElement=\"sidebar_main\"\n icon=\"chevron_right\"\n [iconSize]=\"iconSize\"\n toggleIconActive=\"chevron_left\"\n [isAccentColor]=\"false\"\n [(isToggleActive)]=\"isOpen\"\n (buttonClick)=\"clearSelectElement()\"\n />\n }\n <section\n [tabIndex]=\"-1\"\n [ngClass]=\"{\n 'bmb_sidebar-children': level >= 2 && !!element.children,\n 'bmb_sidebar-children-open':\n level >= 2 && !!element.children && selectedElement === element,\n 'bmb_sidebar-open': isMobile && level == 1 && isOpen,\n bmb_sidebar: isMobile && level == 1,\n 'bmb_sidebar-mobile': isMobile && level == 1\n }\"\n >\n @if (isOpen) {\n <section\n [ngClass]=\"{\n 'bmb_sidebar-header': level == 1,\n 'bmb_sidebar-title': level >= 2\n }\"\n >\n @if (level >= 2 && !!selectedElement) {\n <bmb-action-icon\n class=\"bmb_sidebar-title-button\"\n [idElement]=\"element.id.toString()\"\n icon=\"chevron_left\"\n [iconSize]=\"24\"\n (buttonClick)=\"toggleChildren(element)\"\n />\n }\n <!-- Header -->\n <ng-container\n *ngTemplateOutlet=\"\n elementTemplate;\n context: {\n element: {\n title: element.title,\n icon: element.icon!\n },\n isTitle,\n isFixed\n }\n \"\n />\n </section>\n\n @if (level == 1) {\n <!-- Menu -->\n <ng-container\n *ngTemplateOutlet=\"sidebarTemplate; context: { level, isMobile }\"\n />\n }\n }\n @if (level >= 2 && !!element.children) {\n <ul class=\"bmb_sidebar-list\">\n @for (child of element?.children?.slice(0, 6); track $index) {\n <li class=\"bmb_sidebar-item\" (click)=\"checkToCloseSidebar(child)\">\n <ng-container\n *ngTemplateOutlet=\"\n itemsTemplate;\n context: { item: child, isMobile, isChild: true }\n \"\n />\n </li>\n }\n </ul>\n }\n </section>\n</ng-template>\n\n<!-- Web -->\n<nav\n #sideNav\n class=\"bmb_sidebar bmb_sidebar-desktop\"\n aria-label=\"Sidebar Navigation\"\n [ngClass]=\"{\n 'bmb-active': isActive,\n 'bmb_sidebar-desktop-right': position() === 'right'\n }\"\n (mouseleave)=\"clearSelectElement()\"\n>\n <div [tabIndex]=\"-1\" class=\"bmb_sidebar-content\">\n <ng-container\n *ngTemplateOutlet=\"\n sidebarTemplate;\n context: { level: 1, isMobile: false }\n \"\n />\n </div>\n</nav>\n\n<!-- Mobile -->\n<nav class=\"bmb_sidebar-mobile\" aria-label=\"Sidebar Navigation\">\n <ng-container\n *ngTemplateOutlet=\"\n sidebarElementTemplate;\n context: {\n element: {\n title: title()\n },\n iconSize: 32,\n isTitle: true,\n isFixed: true,\n level: 1,\n isMobile: true\n }\n \"\n />\n</nav>\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}@keyframes bounceToRight{0%{width:5.5rem}50%{width:18.75rem}to{width:17.5rem}}@keyframes bounceChildren{0%{opacity:0;width:0}50%{opacity:80%;width:17.5rem}to{opacity:1;width:16.5rem}}@keyframes bounceChildrenMobile{0%{opacity:0;width:0}50%{opacity:80%;width:19.375rem}to{opacity:1;width:17.5rem}}@keyframes bounceRightMobile{0%{opacity:0;width:0}50%{opacity:80%;width:100%}to{opacity:1;width:100%}}@keyframes bounceFromRight{0%{transform:translate(100%)}50%{transform:translate(-5%)}to{transform:translate(0)}}.bmb_sidebar{background-color:rgb(var(--color-black-primary));border-radius:0 1.5rem 1.5rem 0;left:0;position:fixed;transition:width .3s ease;z-index:2}.bmb_sidebar-header-icon{display:inline-flex;color:rgb(var(--color-white-primary))}.bmb_sidebar-body-hide{overflow:hidden}.bmb_sidebar-mobile{display:flex;border-radius:0;position:fixed;left:.5rem;top:1rem;z-index:999}.bmb_sidebar-mobile-content{width:100%;background-color:rgb(var(--color-black-primary))}.bmb_sidebar-mobile-button{display:inline-flex;background-color:rgb(var(--color-black-primary));color:rgb(var(--color-white-primary))}@media (min-width: 1001px){.bmb_sidebar-mobile-button{display:none}}.bmb_sidebar-mobile.bmb_sidebar-open{display:block;animation:bounceRightMobile .6s ease-out forwards;height:calc(100vh - 4rem);overflow-y:auto;overflow-x:hidden;padding:1.25rem;top:4rem;left:0;width:100%}.bmb_sidebar-mobile.bmb_sidebar-open .bmb_sidebar-header{border-bottom:.0625rem solid rgb(var(--color-charade-800));height:2.5rem;justify-content:space-between;padding:.5rem .5rem 1rem}.bmb_sidebar-mobile.bmb_sidebar-open .bmb_sidebar-text{opacity:1;overflow:hidden;visibility:visible}.bmb_sidebar-mobile .bmb_sidebar-header{align-items:center;display:flex;height:4.5rem;justify-content:center;margin:0;padding:.5rem;width:100%}.bmb_sidebar-mobile .bmb_sidebar-header-icon{display:inline-flex;color:rgb(var(--color-white-primary))}.bmb_sidebar-mobile .bmb_sidebar-header-text{color:rgb(var(--color-white-primary));font-family:Poppins-Semibold,sans-serif;font-size:1.125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bmb_sidebar-mobile .bmb_sidebar-header .bmb_sidebar-list{margin:1rem 0 0}@media (max-height: 630px){.bmb_sidebar-mobile .bmb_sidebar-header .bmb_sidebar-list{margin:1rem 0 0}}.bmb_sidebar-mobile .bmb_sidebar-children-open{animation:bounceFromRight .6s ease-out forwards;display:flex;height:100%;left:0;width:100%;opacity:1;z-index:1}.bmb_sidebar-desktop{cursor:auto;display:none;height:30rem;overflow:hidden;padding:1.5rem;top:50%;transform:translateY(-50%);width:5.5rem}.bmb_sidebar-desktop:hover:not(.bmb_sidebar-desktop-close),.bmb_sidebar-desktop.bmb-active:not(.bmb_sidebar-desktop-close){animation:bounceToRight .6s ease-out;animation-fill-mode:forwards;height:30rem;overflow:visible;width:17.5rem}.bmb_sidebar-desktop:hover:not(.bmb_sidebar-desktop-close) .bmb_sidebar-text,.bmb_sidebar-desktop.bmb-active:not(.bmb_sidebar-desktop-close) .bmb_sidebar-text{opacity:1;overflow:hidden;visibility:visible}.bmb_sidebar-desktop-right{right:0;left:auto;border-radius:1.5rem 0 0 1.5rem}.bmb_sidebar-desktop-right .bmb_sidebar-children{left:auto;right:100%;border-radius:1.5rem 0 0 1.5rem}.bmb_sidebar-desktop-right:hover:not(.bmb_sidebar-desktop-close) .bmb_sidebar-icon,.bmb_sidebar-desktop-right:hover:not(.bmb_sidebar-desktop-close) .bmb_sidebar-text,.bmb_sidebar-desktop-right.bmb-active:not(.bmb_sidebar-desktop-close) .bmb_sidebar-icon,.bmb_sidebar-desktop-right.bmb-active:not(.bmb_sidebar-desktop-close) .bmb_sidebar-text{order:1}.bmb_sidebar-desktop-right:hover:not(.bmb_sidebar-desktop-close) .bmb_sidebar-item-left-space,.bmb_sidebar-desktop-right.bmb-active:not(.bmb_sidebar-desktop-close) .bmb_sidebar-item-left-space{padding-left:2.5rem}@media (min-width: 1001px){.bmb_sidebar-desktop{display:block}}.bmb_sidebar-desktop .bmb_sidebar-item{position:relative}.bmb_sidebar-desktop .bmb_sidebar-item:hover .bmb_sidebar-children{display:flex;width:16.5rem;opacity:1;animation:bounceChildren .5s ease-out forwards}.bmb_sidebar-desktop .bmb_sidebar-children:hover{display:flex;width:16.5rem;opacity:1}.bmb_sidebar-list{list-style-type:none;margin:0;padding:0;display:flex;flex-flow:column;gap:.5rem}.bmb_sidebar-list:nth-of-type(n+2){border-top:.0625rem solid rgb(var(--color-charade-800));margin-top:1.5rem;padding-top:1.5rem}.bmb_sidebar-list .bmb_sidebar-list{padding:1.5rem}.bmb_sidebar-item{align-items:center;display:flex;height:2.5rem;justify-content:flex-start;width:auto}.bmb_sidebar-item .bmb_check-external-link-button{display:inline-flex;width:100%;height:100%;align-items:center;justify-content:center}.bmb_sidebar-link{display:flex;align-items:center;height:100%;width:100%;border-radius:1.5rem;overflow:hidden;color:rgb(var(--color-white-primary))}.bmb_sidebar-link .bmb_check-external-link-button-element{display:inline-flex;align-items:center;justify-content:flex-start;text-align:left;transition:all .3s ease;width:100%;height:100%}.bmb_sidebar-link .bmb_check-external-link-button-element:hover,.bmb_sidebar-link .bmb_check-external-link-button-element:focus,.bmb_sidebar-link .bmb_check-external-link-button-element:focus-visible{background-color:rgb(var(--color-white-primary));color:rgb(var(--color-black-primary))}.bmb_sidebar-icon,.bmb_sidebar-arrow{display:inline-flex;padding:0 .5rem}.bmb_sidebar-text{flex:1;opacity:0;width:8.25rem;font-family:Poppins-Medium,sans-serif;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bmb_sidebar-children{border-radius:0 1.5rem 1.5rem 0;background-color:rgb(var(--color-black-primary));flex-flow:column;transition:opacity 1s ease-out;width:0;opacity:0;position:absolute;top:0;left:100%;overflow:hidden}.bmb_sidebar-title{align-items:center;border-bottom:.0625rem solid rgb(var(--color-charade-800));color:rgb(var(--color-white-primary));display:flex;justify-content:space-between;padding:1rem .5rem}.bmb_sidebar-title-button{display:inline-flex;color:rgb(var(--color-white-primary));padding:0}.bmb_sidebar-title-button .bmb_sidebar-icon{padding:0}\n"] }]
|
|
87
|
+
}], propDecorators: { sideNav: [{
|
|
88
|
+
type: ViewChild,
|
|
89
|
+
args: ['sideNav']
|
|
90
|
+
}], onFocusIn: [{
|
|
91
|
+
type: HostListener,
|
|
92
|
+
args: ['window:focusin', ['$event']]
|
|
93
|
+
}], onFocusOut: [{
|
|
94
|
+
type: HostListener,
|
|
95
|
+
args: ['window:focusout', ['$event']]
|
|
96
|
+
}] } });
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLXNpZGViYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtbmcvc3JjL2xpYi9jb21wb25lbnRzL2JtYi1zaWRlYmFyL2JtYi1zaWRlYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItc2lkZWJhci9ibWItc2lkZWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsWUFBWSxFQUNaLEtBQUssRUFDTCxTQUFTLEdBR1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDRFQUE0RSxDQUFDO0FBRWpJLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7QUFnQnRGLE1BQU0sT0FBTyxtQkFBbUI7SUFkaEM7UUFlRSxhQUFRLEdBQUcsS0FBSyxDQUFxQixFQUFFLENBQUMsQ0FBQztRQUN6QyxVQUFLLEdBQUcsS0FBSyxDQUFTLFlBQVksQ0FBQyxDQUFDO1FBQ3BDLGFBQVEsR0FBRyxLQUFLLENBQXNCLE1BQU0sQ0FBQyxDQUFDLENBQUMsY0FBYztRQUU3RCxlQUFVLEdBQVcsRUFBRSxDQUFDO1FBQ3hCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFDeEIsb0JBQWUsR0FBMEIsSUFBSSxDQUFDO1FBQzlDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixxQkFBZ0IsR0FBVyxDQUFDLENBQUM7S0FxRjlCO0lBaEZDLFNBQVM7UUFDUCxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBR0QsVUFBVTtRQUNSLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUMvQixPQUFPLENBQUMsS0FBSyxDQUNYLDhEQUE4RCxDQUMvRCxDQUFDO1NBQ0g7UUFFRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2xDLE9BQU8sQ0FBQyxLQUFLLENBQ1gsOEZBQThGLENBQy9GLENBQUM7U0FDSDtRQUVELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3hELE9BQU8sQ0FBQyxLQUFLLENBQ1gsK0ZBQStGLENBQ2hHLENBQUM7U0FDSDtRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ2xELE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FDbkMsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBWTtRQUNsQixJQUFJLENBQUMsQ0FBQyxJQUFJO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDeEIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7SUFDOUIsQ0FBQztJQUVELGNBQWMsQ0FBQyxPQUF1QjtRQUNwQyxJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssT0FBTyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzFCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDO1FBRS9CLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUNwQixPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztTQUNsQztJQUNILENBQUM7SUFFRCx5QkFBeUI7UUFDdkIsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUM7UUFDN0MsSUFBSSxDQUFDLFFBQVE7WUFDWCxDQUFDLE9BQU8sSUFBSSxhQUFhLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQztJQUMzRSxDQUFDO0lBRUQsbUJBQW1CLENBQUMsS0FBVTtRQUM1QixJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUM7WUFFdEUsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUN6QywyQkFBMkIsQ0FDNUIsQ0FBQztnQkFDRixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzVELENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNUO0lBQ0gsQ0FBQzsrR0E5RlUsbUJBQW1CO21HQUFuQixtQkFBbUIsMHBCQy9CaEMsd2tNQW9PQSxnMFhEL01JLFlBQVksb1NBQ1osZ0JBQWdCLDhKQUNoQixtQ0FBbUMseU1BQ25DLHNCQUFzQjs7NEZBT2IsbUJBQW1CO2tCQWQvQixTQUFTOytCQUNFLGFBQWEsY0FDWCxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLG1DQUFtQzt3QkFDbkMsc0JBQXNCO3FCQUN2QixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTs4QkFjZixPQUFPO3NCQUE1QixTQUFTO3VCQUFDLFNBQVM7Z0JBR3BCLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFNMUMsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLGlCQUFpQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIEhvc3RMaXN0ZW5lcixcbiAgaW5wdXQsXG4gIFZpZXdDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBTaWRlYmFyRWxlbWVudCB9IGZyb20gJy4vYm1iLXNpZGViYXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IEJtYkljb25Db21wb25lbnQgfSBmcm9tICcuLi9ibWItaWNvbi9ibWItaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm1iQ2hlY2tFeHRlcm5hbExpbmtCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9ibWItY2hlY2stZXh0ZXJuYWwtbGluay1idXR0b24vYm1iLWNoZWNrLWV4dGVybmFsLWxpbmstYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJUG9zaXRpb25CdXR0b25NZW51IH0gZnJvbSAnLi4vYm1iLXRvcC1iYXIvdHlwZXMnO1xuaW1wb3J0IHsgQm1iQWN0aW9uSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1hY3Rpb24taWNvbi9ibWItYWN0aW9uLWljb24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYm1iLXNpZGViYXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEJtYkljb25Db21wb25lbnQsXG4gICAgQm1iQ2hlY2tFeHRlcm5hbExpbmtCdXR0b25Db21wb25lbnQsXG4gICAgQm1iQWN0aW9uSWNvbkNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2JtYi1zaWRlYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2JtYi1zaWRlYmFyLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEJtYlNpZGViYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBlbGVtZW50cyA9IGlucHV0PFNpZGViYXJFbGVtZW50W11bXT4oW10pO1xuICB0aXRsZSA9IGlucHV0PHN0cmluZz4oJ05hdmlnYXRpb24nKTtcbiAgcG9zaXRpb24gPSBpbnB1dDxJUG9zaXRpb25CdXR0b25NZW51PignbGVmdCcpOyAvL09ubHkgZm9yIHdlYlxuXG4gIGN1cnJlbnRVcmw6IHN0cmluZyA9ICcnO1xuICBpc09wZW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2VsZWN0ZWRFbGVtZW50OiBTaWRlYmFyRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBpc0FjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBoYXNTdWJtZW51OiBib29sZWFuID0gZmFsc2U7XG4gIG1heENoaWxkcmVuTGV2ZWw6IG51bWJlciA9IDI7XG5cbiAgQFZpZXdDaGlsZCgnc2lkZU5hdicpIHNpZGVOYXYhOiBFbGVtZW50UmVmO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpmb2N1c2luJywgWyckZXZlbnQnXSlcbiAgb25Gb2N1c0luKCkge1xuICAgIHRoaXMuY2hlY2tJZkZvY3VzSW5zaWRlU2lkZWJhcigpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmZvY3Vzb3V0JywgWyckZXZlbnQnXSlcbiAgb25Gb2N1c091dCgpIHtcbiAgICB0aGlzLmNoZWNrSWZGb2N1c0luc2lkZVNpZGViYXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmVsZW1lbnRzKCk/Lmxlbmd0aCA+IDIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICdUaGUgc2lkZWJhciBjb21wb25lbnQgb25seSBzdXBwb3J0cyB0d28gbGV2ZWxzIG9mIG5hdmlnYXRpb24nLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5lbGVtZW50cygpWzBdPy5sZW5ndGggPiA1KSB7XG4gICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAnVGhlIHNpZGViYXIgY29tcG9uZW50IG9ubHkgc3VwcG9ydHMgYSBtYXhpbXVtIG9mIDUgZWxlbWVudHMgaW4gdGhlIGZpcnN0IGxldmVsIG9mIG5hdmlnYXRpb24nLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5lbGVtZW50cygpWzFdICYmIHRoaXMuZWxlbWVudHMoKVsxXT8ubGVuZ3RoID4gMykge1xuICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgJ1RoZSBzaWRlYmFyIGNvbXBvbmVudCBvbmx5IHN1cHBvcnRzIGEgbWF4aW11bSBvZiAzIGVsZW1lbnRzIGluIHRoZSBzZWNvbmQgbGV2ZWwgb2YgbmF2aWdhdGlvbicsXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuaGFzU3VibWVudSA9IHRoaXMuZWxlbWVudHMoKT8uc29tZSgoZWxlbWVudCkgPT5cbiAgICAgIGVsZW1lbnQ/LnNvbWUoKGVsKSA9PiBlbC5jaGlsZHJlbiksXG4gICAgKTtcbiAgfVxuXG4gIGdldExpbmsobGluazogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoISFsaW5rKSByZXR1cm4gbGluaztcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBjbG9zZVNpZGViYXIoKSB7XG4gICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgICB0aGlzLmNsZWFyU2VsZWN0RWxlbWVudCgpO1xuICB9XG5cbiAgY2xlYXJTZWxlY3RFbGVtZW50KCkge1xuICAgIHRoaXMuc2VsZWN0ZWRFbGVtZW50ID0gbnVsbDtcbiAgfVxuXG4gIHRvZ2dsZUNoaWxkcmVuKGVsZW1lbnQ6IFNpZGViYXJFbGVtZW50KSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRFbGVtZW50ID09PSBlbGVtZW50KSB7XG4gICAgICB0aGlzLmNsZWFyU2VsZWN0RWxlbWVudCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2VsZWN0ZWRFbGVtZW50ID0gZWxlbWVudDtcblxuICAgIGlmIChlbGVtZW50LmNoaWxkcmVuKSB7XG4gICAgICBlbGVtZW50LmlzT3BlbiA9ICFlbGVtZW50LmlzT3BlbjtcbiAgICB9XG4gIH1cblxuICBjaGVja0lmRm9jdXNJbnNpZGVTaWRlYmFyKCkge1xuICAgIGNvbnN0IHNpZGViYXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuYm1iX3NpZGViYXItZGVza3RvcCcpO1xuICAgIGNvbnN0IGFjdGl2ZUVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuICAgIHRoaXMuaXNBY3RpdmUgPVxuICAgICAgKHNpZGViYXIgJiYgYWN0aXZlRWxlbWVudCAmJiBzaWRlYmFyLmNvbnRhaW5zKGFjdGl2ZUVsZW1lbnQpKSB8fCBmYWxzZTtcbiAgfVxuXG4gIGNoZWNrVG9DbG9zZVNpZGViYXIoZXZlbnQ6IGFueSkge1xuICAgIGlmIChldmVudC5saW5rICYmICFldmVudC5jaGlsZHJlbikge1xuICAgICAgdGhpcy5jbG9zZVNpZGViYXIoKTtcbiAgICAgIHRoaXMuc2lkZU5hdi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2JtYl9zaWRlYmFyLWRlc2t0b3AtY2xvc2UnKTtcblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2lkZU5hdi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoXG4gICAgICAgICAgJ2JtYl9zaWRlYmFyLWRlc2t0b3AtY2xvc2UnLFxuICAgICAgICApO1xuICAgICAgICB0aGlzLnNpZGVOYXYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdibWItYWN0aXZlJyk7XG4gICAgICB9LCA1MDApO1xuICAgIH1cbiAgfVxufVxuIiwiPCEtLSBUZW1wbGF0ZSBmb3IgZWxlbWVudCAtLT5cbjxuZy10ZW1wbGF0ZVxuICAjZWxlbWVudFRlbXBsYXRlXG4gIGxldC1lbGVtZW50PVwiZWxlbWVudFwiXG4gIGxldC1pc1RpdGxlPVwiaXNUaXRsZVwiXG4gIGxldC1pc0ZpeGVkPVwiaXNGaXhlZFwiXG4gIGxldC1pc0NoaWxkPVwiaXNDaGlsZFwiXG4gIGxldC1pc01vYmlsZT1cImlzTW9iaWxlXCJcbj5cbiAgQGlmICghIWVsZW1lbnQuaWNvbikge1xuICAgIDxibWItaWNvblxuICAgICAgY2xhc3M9XCJibWJfc2lkZWJhci1pY29uXCJcbiAgICAgIFtpY29uXT1cImVsZW1lbnQuaWNvblwiXG4gICAgICBbYWx0XT1cImVsZW1lbnQudGl0bGVcIlxuICAgICAgW3NpemVdPVwiMjRcIlxuICAgIC8+XG4gIH1cbiAgPHNwYW5cbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnYm1iX3NpZGViYXItdGV4dCc6ICFpc1RpdGxlLFxuICAgICAgJ2JtYl9zaWRlYmFyLWhlYWRlci10ZXh0JzogaXNUaXRsZVxuICAgIH1cIlxuICAgID57eyBlbGVtZW50IS50aXRsZSB9fTwvc3BhblxuICA+XG4gIEBpZiAoaXNGaXhlZCkge1xuICAgIDxibWItYWN0aW9uLWljb25cbiAgICAgIGNsYXNzPVwiYm1iX3NpZGViYXItaGVhZGVyLWljb25cIlxuICAgICAgaWRFbGVtZW50PVwic2lkZWJhcl9jbG9zZVwiXG4gICAgICBpY29uPVwiY2xvc2VcIlxuICAgICAgW2ljb25TaXplXT1cIjI0XCJcbiAgICAgIFtpc0FjY2VudENvbG9yXT1cImZhbHNlXCJcbiAgICAgIChidXR0b25DbGljayk9XCJjbG9zZVNpZGViYXIoKVwiXG4gICAgLz5cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBUZW1wbGF0ZSBmb3IgbWVudSBpdGVtcyAtLT5cbjxuZy10ZW1wbGF0ZSAjaXRlbXNUZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtaXNNb2JpbGU9XCJpc01vYmlsZVwiPlxuICA8Ym1iLWNoZWNrLWV4dGVybmFsLWxpbmstYnV0dG9uXG4gICAgY2xhc3M9XCJibWJfc2lkZWJhci1saW5rXCJcbiAgICBbaWRFbGVtZW50XT1cIidlbGVtZW50JyArIGl0ZW0uaWQhXCJcbiAgICBbbGlua109XCIhaXNNb2JpbGUgPyBnZXRMaW5rKGl0ZW0ubGluayEpIDogJydcIlxuICAgIFt0YXJnZXRdPVwiIWlzTW9iaWxlID8gaXRlbS50YXJnZXQhIDogJydcIlxuICAgIChidXR0b25DbGljayk9XCJ0b2dnbGVDaGlsZHJlbihpdGVtKVwiXG4gID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImVsZW1lbnRUZW1wbGF0ZTsgY29udGV4dDogeyBlbGVtZW50OiBpdGVtLCBpc01vYmlsZSB9XCJcbiAgICAvPlxuICAgIEBpZiAoISFpdGVtLmNoaWxkcmVuKSB7XG4gICAgICA8Ym1iLWljb25cbiAgICAgICAgY2xhc3M9XCJibWJfc2lkZWJhci1hcnJvd1wiXG4gICAgICAgIFtpY29uXT1cIlxuICAgICAgICAgICFpc01vYmlsZSAmJiBwb3NpdGlvbigpID09PSAncmlnaHQnID8gJ2NoZXZyb25fbGVmdCcgOiAnY2hldnJvbl9yaWdodCdcbiAgICAgICAgXCJcbiAgICAgICAgW3NpemVdPVwiMjRcIlxuICAgICAgLz5cbiAgICB9XG4gIDwvYm1iLWNoZWNrLWV4dGVybmFsLWxpbmstYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBUZW1wbGF0ZSBmb3IgbmF2aWdhdGlvbiAtLT5cbjxuZy10ZW1wbGF0ZSAjc2lkZWJhclRlbXBsYXRlIGxldC1sZXZlbD1cImxldmVsXCIgbGV0LWlzTW9iaWxlPVwiaXNNb2JpbGVcIj5cbiAgQGZvciAoZ3JvdXAgb2YgZWxlbWVudHMoKS5zbGljZSgwLCAyKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgPHVsIGNsYXNzPVwiYm1iX3NpZGViYXItbGlzdFwiPlxuICAgICAgQGZvciAoZWxlbWVudCBvZiBncm91cC5zbGljZSgwLCA1KTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgIDxsaVxuICAgICAgICAgIGNsYXNzPVwiYm1iX3NpZGViYXItaXRlbVwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ2JtYl9zaWRlYmFyLWl0ZW0tbGVmdC1zcGFjZSc6XG4gICAgICAgICAgICAgIHBvc2l0aW9uKCkgPT09ICdyaWdodCcgJiYgaGFzU3VibWVudSAmJiAhZWxlbWVudC5jaGlsZHJlbj8ubGVuZ3RoXG4gICAgICAgICAgfVwiXG4gICAgICAgICAgKGNsaWNrKT1cImNoZWNrVG9DbG9zZVNpZGViYXIoZWxlbWVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgaXRlbXNUZW1wbGF0ZTtcbiAgICAgICAgICAgICAgY29udGV4dDogeyBpdGVtOiBlbGVtZW50LCBpc01vYmlsZSB9XG4gICAgICAgICAgICBcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgQGlmICghIWVsZW1lbnQuY2hpbGRyZW4gJiYgbGV2ZWwgPT09IDEpIHtcbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICBzaWRlYmFyRWxlbWVudFRlbXBsYXRlO1xuICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAgIGVsZW1lbnQ6IGVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICBpY29uU2l6ZTogMjQsXG4gICAgICAgICAgICAgICAgICBpc0ZpeGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgbGV2ZWw6IDIsXG4gICAgICAgICAgICAgICAgICBzZWxlY3RlZEVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICBpc01vYmlsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgfVxuICAgICAgICA8L2xpPlxuICAgICAgfVxuICAgIDwvdWw+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZVxuICAjc2lkZWJhckVsZW1lbnRUZW1wbGF0ZVxuICBsZXQtZWxlbWVudD1cImVsZW1lbnRcIlxuICBsZXQtaWNvblNpemU9XCJpY29uU2l6ZVwiXG4gIGxldC1sZXZlbD1cImxldmVsXCJcbiAgbGV0LWlzVGl0bGU9XCJpc1RpdGxlXCJcbiAgbGV0LWlzRml4ZWQ9XCJpc0ZpeGVkXCJcbiAgbGV0LXNlbGVjdGVkRWxlbWVudD1cInNlbGVjdGVkRWxlbWVudFwiXG4gIGxldC1pc01vYmlsZT1cImlzTW9iaWxlXCJcbj5cbiAgQGlmIChsZXZlbCA9PSAxICYmIGlzTW9iaWxlKSB7XG4gICAgPGJtYi1hY3Rpb24taWNvblxuICAgICAgY2xhc3M9XCJibWJfc2lkZWJhci1tb2JpbGUtYnV0dG9uXCJcbiAgICAgIGlkRWxlbWVudD1cInNpZGViYXJfbWFpblwiXG4gICAgICBpY29uPVwiY2hldnJvbl9yaWdodFwiXG4gICAgICBbaWNvblNpemVdPVwiaWNvblNpemVcIlxuICAgICAgdG9nZ2xlSWNvbkFjdGl2ZT1cImNoZXZyb25fbGVmdFwiXG4gICAgICBbaXNBY2NlbnRDb2xvcl09XCJmYWxzZVwiXG4gICAgICBbKGlzVG9nZ2xlQWN0aXZlKV09XCJpc09wZW5cIlxuICAgICAgKGJ1dHRvbkNsaWNrKT1cImNsZWFyU2VsZWN0RWxlbWVudCgpXCJcbiAgICAvPlxuICB9XG4gIDxzZWN0aW9uXG4gICAgW3RhYkluZGV4XT1cIi0xXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnYm1iX3NpZGViYXItY2hpbGRyZW4nOiBsZXZlbCA+PSAyICYmICEhZWxlbWVudC5jaGlsZHJlbixcbiAgICAgICdibWJfc2lkZWJhci1jaGlsZHJlbi1vcGVuJzpcbiAgICAgICAgbGV2ZWwgPj0gMiAmJiAhIWVsZW1lbnQuY2hpbGRyZW4gJiYgc2VsZWN0ZWRFbGVtZW50ID09PSBlbGVtZW50LFxuICAgICAgJ2JtYl9zaWRlYmFyLW9wZW4nOiBpc01vYmlsZSAmJiBsZXZlbCA9PSAxICYmIGlzT3BlbixcbiAgICAgIGJtYl9zaWRlYmFyOiBpc01vYmlsZSAmJiBsZXZlbCA9PSAxLFxuICAgICAgJ2JtYl9zaWRlYmFyLW1vYmlsZSc6IGlzTW9iaWxlICYmIGxldmVsID09IDFcbiAgICB9XCJcbiAgPlxuICAgIEBpZiAoaXNPcGVuKSB7XG4gICAgICA8c2VjdGlvblxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ2JtYl9zaWRlYmFyLWhlYWRlcic6IGxldmVsID09IDEsXG4gICAgICAgICAgJ2JtYl9zaWRlYmFyLXRpdGxlJzogbGV2ZWwgPj0gMlxuICAgICAgICB9XCJcbiAgICAgID5cbiAgICAgICAgQGlmIChsZXZlbCA+PSAyICYmICEhc2VsZWN0ZWRFbGVtZW50KSB7XG4gICAgICAgICAgPGJtYi1hY3Rpb24taWNvblxuICAgICAgICAgICAgY2xhc3M9XCJibWJfc2lkZWJhci10aXRsZS1idXR0b25cIlxuICAgICAgICAgICAgW2lkRWxlbWVudF09XCJlbGVtZW50LmlkLnRvU3RyaW5nKClcIlxuICAgICAgICAgICAgaWNvbj1cImNoZXZyb25fbGVmdFwiXG4gICAgICAgICAgICBbaWNvblNpemVdPVwiMjRcIlxuICAgICAgICAgICAgKGJ1dHRvbkNsaWNrKT1cInRvZ2dsZUNoaWxkcmVuKGVsZW1lbnQpXCJcbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICAgIDwhLS0gSGVhZGVyIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgIGVsZW1lbnRUZW1wbGF0ZTtcbiAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgZWxlbWVudDoge1xuICAgICAgICAgICAgICAgIHRpdGxlOiBlbGVtZW50LnRpdGxlLFxuICAgICAgICAgICAgICAgIGljb246IGVsZW1lbnQuaWNvbiFcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgaXNUaXRsZSxcbiAgICAgICAgICAgICAgaXNGaXhlZFxuICAgICAgICAgICAgfVxuICAgICAgICAgIFwiXG4gICAgICAgIC8+XG4gICAgICA8L3NlY3Rpb24+XG5cbiAgICAgIEBpZiAobGV2ZWwgPT0gMSkge1xuICAgICAgICA8IS0tIE1lbnUgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInNpZGViYXJUZW1wbGF0ZTsgY29udGV4dDogeyBsZXZlbCwgaXNNb2JpbGUgfVwiXG4gICAgICAgIC8+XG4gICAgICB9XG4gICAgfVxuICAgIEBpZiAobGV2ZWwgPj0gMiAmJiAhIWVsZW1lbnQuY2hpbGRyZW4pIHtcbiAgICAgIDx1bCBjbGFzcz1cImJtYl9zaWRlYmFyLWxpc3RcIj5cbiAgICAgICAgQGZvciAoY2hpbGQgb2YgZWxlbWVudD8uY2hpbGRyZW4/LnNsaWNlKDAsIDYpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICA8bGkgY2xhc3M9XCJibWJfc2lkZWJhci1pdGVtXCIgKGNsaWNrKT1cImNoZWNrVG9DbG9zZVNpZGViYXIoY2hpbGQpXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgaXRlbXNUZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICBjb250ZXh0OiB7IGl0ZW06IGNoaWxkLCBpc01vYmlsZSwgaXNDaGlsZDogdHJ1ZSB9XG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIH1cbiAgICAgIDwvdWw+XG4gICAgfVxuICA8L3NlY3Rpb24+XG48L25nLXRlbXBsYXRlPlxuXG48IS0tIFdlYiAtLT5cbjxuYXZcbiAgI3NpZGVOYXZcbiAgY2xhc3M9XCJibWJfc2lkZWJhciBibWJfc2lkZWJhci1kZXNrdG9wXCJcbiAgYXJpYS1sYWJlbD1cIlNpZGViYXIgTmF2aWdhdGlvblwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnYm1iLWFjdGl2ZSc6IGlzQWN0aXZlLFxuICAgICdibWJfc2lkZWJhci1kZXNrdG9wLXJpZ2h0JzogcG9zaXRpb24oKSA9PT0gJ3JpZ2h0J1xuICB9XCJcbiAgKG1vdXNlbGVhdmUpPVwiY2xlYXJTZWxlY3RFbGVtZW50KClcIlxuPlxuICA8ZGl2IFt0YWJJbmRleF09XCItMVwiIGNsYXNzPVwiYm1iX3NpZGViYXItY29udGVudFwiPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgIHNpZGViYXJUZW1wbGF0ZTtcbiAgICAgICAgY29udGV4dDogeyBsZXZlbDogMSwgaXNNb2JpbGU6IGZhbHNlIH1cbiAgICAgIFwiXG4gICAgLz5cbiAgPC9kaXY+XG48L25hdj5cblxuPCEtLSBNb2JpbGUgLS0+XG48bmF2IGNsYXNzPVwiYm1iX3NpZGViYXItbW9iaWxlXCIgYXJpYS1sYWJlbD1cIlNpZGViYXIgTmF2aWdhdGlvblwiPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgIHNpZGViYXJFbGVtZW50VGVtcGxhdGU7XG4gICAgICBjb250ZXh0OiB7XG4gICAgICAgIGVsZW1lbnQ6IHtcbiAgICAgICAgICB0aXRsZTogdGl0bGUoKVxuICAgICAgICB9LFxuICAgICAgICBpY29uU2l6ZTogMzIsXG4gICAgICAgIGlzVGl0bGU6IHRydWUsXG4gICAgICAgIGlzRml4ZWQ6IHRydWUsXG4gICAgICAgIGxldmVsOiAxLFxuICAgICAgICBpc01vYmlsZTogdHJ1ZVxuICAgICAgfVxuICAgIFwiXG4gIC8+XG48L25hdj5cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLXNpZGViYXIuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtbmcvc3JjL2xpYi9jb21wb25lbnRzL2JtYi1zaWRlYmFyL2JtYi1zaWRlYmFyLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUJtYlRhcmdldExpbmsgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lkZWJhckVsZW1lbnQge1xuICBpZDogbnVtYmVyO1xuICBpY29uOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGxpbms6IHN0cmluZztcbiAgdGFyZ2V0PzogSUJtYlRhcmdldExpbms7XG4gIGNoaWxkcmVuPzogU2lkZWJhckVsZW1lbnRbXTtcbiAgaXNPcGVuPzogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, input, output, ViewEncapsulation, } from '@angular/core';
|
|
2
|
+
import { BmbActionIconComponent } from '../bmb-action-icon/bmb-action-icon.component';
|
|
3
|
+
import { BmbLayoutDirective } from '../../directives/bmb-layout/bmb-layout.directive';
|
|
4
|
+
import { BmbLayoutItemDirective } from '../../directives/bmb-layout/bmb-layout-item.directive';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class BmbSimpleHeaderComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.title = input('');
|
|
9
|
+
this.icon = input('');
|
|
10
|
+
this.iconAlternativeColor = input(false);
|
|
11
|
+
this.onIconClick = output();
|
|
12
|
+
}
|
|
13
|
+
handleClick(event) {
|
|
14
|
+
this.onIconClick.emit(event);
|
|
15
|
+
}
|
|
16
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbSimpleHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: BmbSimpleHeaderComponent, isStandalone: true, selector: "bmb-simple-header", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconAlternativeColor: { classPropertyName: "iconAlternativeColor", publicName: "iconAlternativeColor", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onIconClick: "onIconClick" }, ngImport: i0, template: `
|
|
18
|
+
<section bmbLayout alignItems="center">
|
|
19
|
+
<h4 bmbLayoutItem [isDynamicItem]="true" [colGrow]="1">{{ title() }}</h4>
|
|
20
|
+
<span
|
|
21
|
+
[style.color]="
|
|
22
|
+
iconAlternativeColor()
|
|
23
|
+
? 'var(--buttons-primary-normal)'
|
|
24
|
+
: 'currentColor'
|
|
25
|
+
"
|
|
26
|
+
>
|
|
27
|
+
<bmb-action-icon
|
|
28
|
+
[icon]="icon()"
|
|
29
|
+
[iconSize]="24"
|
|
30
|
+
(buttonClick)="handleClick($event)"
|
|
31
|
+
/>
|
|
32
|
+
</span>
|
|
33
|
+
</section>
|
|
34
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: BmbLayoutDirective, selector: "[bmbLayout]", inputs: ["gapSize", "margin", "dynamicCols", "justify", "alignItems"] }, { kind: "directive", type: BmbLayoutItemDirective, selector: "[bmbLayoutItem]", inputs: ["colSm", "colLg", "marginLeft", "marginRight", "colGrow", "isDynamicItem"] }, { kind: "component", type: BmbActionIconComponent, selector: "bmb-action-icon", inputs: ["idElement", "icon", "alt", "iconSize", "isFill", "toggleIconActive", "isToggleActive", "isAccentColor", "dotNotification", "target", "link", "disabled"], outputs: ["isToggleActiveChange", "isAccentColorChange", "buttonPress", "buttonClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
35
|
+
}
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbSimpleHeaderComponent, decorators: [{
|
|
37
|
+
type: Component,
|
|
38
|
+
args: [{
|
|
39
|
+
selector: 'bmb-simple-header',
|
|
40
|
+
standalone: true,
|
|
41
|
+
imports: [BmbLayoutDirective, BmbLayoutItemDirective, BmbActionIconComponent],
|
|
42
|
+
template: `
|
|
43
|
+
<section bmbLayout alignItems="center">
|
|
44
|
+
<h4 bmbLayoutItem [isDynamicItem]="true" [colGrow]="1">{{ title() }}</h4>
|
|
45
|
+
<span
|
|
46
|
+
[style.color]="
|
|
47
|
+
iconAlternativeColor()
|
|
48
|
+
? 'var(--buttons-primary-normal)'
|
|
49
|
+
: 'currentColor'
|
|
50
|
+
"
|
|
51
|
+
>
|
|
52
|
+
<bmb-action-icon
|
|
53
|
+
[icon]="icon()"
|
|
54
|
+
[iconSize]="24"
|
|
55
|
+
(buttonClick)="handleClick($event)"
|
|
56
|
+
/>
|
|
57
|
+
</span>
|
|
58
|
+
</section>
|
|
59
|
+
`,
|
|
60
|
+
encapsulation: ViewEncapsulation.None,
|
|
61
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
62
|
+
}]
|
|
63
|
+
}] });
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLXNpbXBsZS1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtbmcvc3JjL2xpYi9jb21wb25lbnRzL2JtYi1zaW1wbGUtaGVhZGVyL2JtYi1zaW1wbGUtaGVhZGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN0RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQzs7QUEyQi9GLE1BQU0sT0FBTyx3QkFBd0I7SUF6QnJDO1FBMEJFLFVBQUssR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDMUIsU0FBSSxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUN6Qix5QkFBb0IsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFN0MsZ0JBQVcsR0FBRyxNQUFNLEVBQU8sQ0FBQztLQUs3QjtJQUhDLFdBQVcsQ0FBQyxLQUFVO1FBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7K0dBVFUsd0JBQXdCO21HQUF4Qix3QkFBd0Isb2hCQXJCekI7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJULDREQWxCUyxrQkFBa0IsK0hBQUUsc0JBQXNCLGlKQUFFLHNCQUFzQjs7NEZBc0JqRSx3QkFBd0I7a0JBekJwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0IsQ0FBQztvQkFDN0UsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCVDtvQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm1iQWN0aW9uSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1hY3Rpb24taWNvbi9ibWItYWN0aW9uLWljb24uY29tcG9uZW50JztcbmltcG9ydCB7IEJtYkxheW91dERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvYm1iLWxheW91dC9ibWItbGF5b3V0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCbWJMYXlvdXRJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9ibWItbGF5b3V0L2JtYi1sYXlvdXQtaXRlbS5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdibWItc2ltcGxlLWhlYWRlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtCbWJMYXlvdXREaXJlY3RpdmUsIEJtYkxheW91dEl0ZW1EaXJlY3RpdmUsIEJtYkFjdGlvbkljb25Db21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxzZWN0aW9uIGJtYkxheW91dCBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICA8aDQgYm1iTGF5b3V0SXRlbSBbaXNEeW5hbWljSXRlbV09XCJ0cnVlXCIgW2NvbEdyb3ddPVwiMVwiPnt7IHRpdGxlKCkgfX08L2g0PlxuICAgICAgPHNwYW5cbiAgICAgICAgW3N0eWxlLmNvbG9yXT1cIlxuICAgICAgICAgIGljb25BbHRlcm5hdGl2ZUNvbG9yKClcbiAgICAgICAgICAgID8gJ3ZhcigtLWJ1dHRvbnMtcHJpbWFyeS1ub3JtYWwpJ1xuICAgICAgICAgICAgOiAnY3VycmVudENvbG9yJ1xuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8Ym1iLWFjdGlvbi1pY29uXG4gICAgICAgICAgW2ljb25dPVwiaWNvbigpXCJcbiAgICAgICAgICBbaWNvblNpemVdPVwiMjRcIlxuICAgICAgICAgIChidXR0b25DbGljayk9XCJoYW5kbGVDbGljaygkZXZlbnQpXCJcbiAgICAgICAgLz5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L3NlY3Rpb24+XG4gIGAsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBCbWJTaW1wbGVIZWFkZXJDb21wb25lbnQge1xuICB0aXRsZSA9IGlucHV0PHN0cmluZz4oJycpO1xuICBpY29uID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIGljb25BbHRlcm5hdGl2ZUNvbG9yID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIG9uSWNvbkNsaWNrID0gb3V0cHV0PGFueT4oKTtcblxuICBoYW5kbGVDbGljayhldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkljb25DbGljay5lbWl0KGV2ZW50KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Component, ChangeDetectionStrategy, ViewEncapsulation, input, } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { BmbLayoutGridDirective, BmbLayoutGridItemDirective, } from '../../directives/bmb-layout-grid/bmb-layout-grid.directive';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class BmbSkeletonComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.type = input('header');
|
|
8
|
+
}
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbSkeletonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BmbSkeletonComponent, isStandalone: true, selector: "bmb-skeleton", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"bmb_skeleton\">\n @switch (type()) {\n @case ('stray') {\n <div\n class=\"bmb_skeleton-stray\"\n bmbLayoutGrid\n colGapSize=\"m\"\n rowGapSize=\"m\"\n [columnSize]=\"['4rem', '2fr']\"\n rowSize=\"auto\"\n [columns]=\"2\"\n [rows]=\"2\"\n >\n <section\n class=\"bmb_skeleton-circle bmb_skeleton-item\"\n bmbLayoutGridItem\n [colStart]=\"1\"\n [rowStart]=\"1\"\n [numberOfColumns]=\"1\"\n [numberOfRows]=\"2\"\n ></section>\n <section\n class=\"bmb_skeleton-headline bmb_skeleton-item\"\n bmbLayoutGridItem\n [colStart]=\"2\"\n [rowStart]=\"1\"\n [numberOfColumns]=\"1\"\n [numberOfRows]=\"1\"\n ></section>\n <section\n class=\"bmb_skeleton-headline bmb_skeleton-item\"\n bmbLayoutGridItem\n [colStart]=\"2\"\n [rowStart]=\"2\"\n [numberOfColumns]=\"1\"\n [numberOfRows]=\"1\"\n ></section>\n </div>\n }\n @case ('generic1') {\n <div\n class=\"bmb_skeleton-generic1\"\n bmbLayoutGrid\n colGapSize=\"m\"\n rowGapSize=\"m\"\n columnSize=\"auto\"\n rowSize=\"auto\"\n [columns]=\"1\"\n [rows]=\"4\"\n >\n <section\n class=\"bmb_skeleton-headline bmb_skeleton-item\"\n bmbLayoutGridItem\n [colStart]=\"1\"\n [rowStart]=\"1\"\n [numberOfColumns]=\"1\"\n [numberOfRows]=\"1\"\n ></section>\n <section\n class=\"bmb_skeleton-headline bmb_skeleton-item\"\n bmbLayoutGridItem\n [colStart]=\"1\"\n [rowStart]=\"2\"\n [numberOfColumns]=\"1\"\n [numberOfRows]=\"1\"\n ></section>\n <section\n class=\"bmb_skeleton-headline bmb_skeleton-item\"\n bmbLayoutGridItem\n [colStart]=\"1\"\n [rowStart]=\"3\"\n [numberOfColumns]=\"1\"\n [numberOfRows]=\"1\"\n ></section>\n <section\n class=\"bmb_skeleton-headline bmb_skeleton-item\"\n bmbLayoutGridItem\n [colStart]=\"1\"\n [rowStart]=\"4\"\n [numberOfColumns]=\"1\"\n [numberOfRows]=\"1\"\n ></section>\n </div>\n }\n @case ('generic2') {\n <div\n class=\"bmb_skeleton-generic2\"\n bmbLayoutGrid\n colGapSize=\"xl\"\n rowGapSize=\"xl\"\n columnSize=\"auto\"\n rowSize=\"auto\"\n [columns]=\"1\"\n [rows]=\"3\"\n >\n <section\n class=\"bmb_skeleton-box\"\n bmbLayoutGridItem\n [colStart]=\"1\"\n [rowStart]=\"1\"\n [numberOfColumns]=\"1\"\n [numberOfRows]=\"1\"\n ></section>\n <section\n class=\"bmb_skeleton-headline bmb_skeleton-item\"\n bmbLayoutGridItem\n [colStart]=\"1\"\n [rowStart]=\"2\"\n [numberOfColumns]=\"1\"\n [numberOfRows]=\"1\"\n ></section>\n <section\n class=\"bmb_skeleton-headline bmb_skeleton-item\"\n bmbLayoutGridItem\n [colStart]=\"1\"\n [rowStart]=\"3\"\n [numberOfColumns]=\"1\"\n [numberOfRows]=\"1\"\n ></section>\n </div>\n }\n @case ('generic3') {\n <div\n class=\"bmb_skeleton-generic3\"\n bmbLayoutGrid\n colGapSize=\"none\"\n rowGapSize=\"none\"\n columnSize=\"auto\"\n rowSize=\"auto\"\n [columns]=\"1\"\n [rows]=\"3\"\n >\n <section\n class=\"bmb_skeleton-box-header\"\n bmbLayoutGridItem\n [colStart]=\"1\"\n [rowStart]=\"1\"\n [numberOfColumns]=\"1\"\n [numberOfRows]=\"1\"\n ></section>\n <section\n class=\"bmb_skeleton-headline bmb_skeleton-item\"\n bmbLayoutGridItem\n [colStart]=\"1\"\n [rowStart]=\"2\"\n [numberOfColumns]=\"1\"\n [numberOfRows]=\"1\"\n ></section>\n </div>\n }\n @case ('input') {\n <div class=\"bmb_skeleton-input\">\n <section class=\"bmb_skeleton-headline bmb_skeleton-item\"></section>\n </div>\n }\n @default {\n <div\n class=\"bmb_skeleton-header\"\n bmbLayoutGrid\n colGapSize=\"m\"\n rowGapSize=\"m\"\n [columnSize]=\"['1.5rem', '2fr', '1.5rem']\"\n rowSize=\"auto\"\n [columns]=\"3\"\n [rows]=\"1\"\n >\n <section\n class=\"bmb_skeleton-circle bmb_skeleton-item\"\n bmbLayoutGridItem\n [colStart]=\"1\"\n [rowStart]=\"1\"\n [numberOfColumns]=\"1\"\n [numberOfRows]=\"1\"\n ></section>\n <section\n class=\"bmb_skeleton-headline bmb_skeleton-item\"\n bmbLayoutGridItem\n [colStart]=\"2\"\n [rowStart]=\"1\"\n [numberOfColumns]=\"1\"\n [numberOfRows]=\"1\"\n ></section>\n <section\n class=\"bmb_skeleton-circle bmb_skeleton-item\"\n bmbLayoutGridItem\n [colStart]=\"3\"\n [rowStart]=\"1\"\n [numberOfColumns]=\"1\"\n [numberOfRows]=\"1\"\n ></section>\n </div>\n }\n }\n</div>\n", styles: ["@keyframes skeleton{0%{background-position:0% 0%}to{background-position:200% 0%}}.bmb_skeleton-item{animation:skeleton 1.2s infinite linear;background:linear-gradient(90deg,var(--general_contrasts-25) 0%,var(--general_contrasts-50) 50%,var(--general_contrasts-25) 100%);background-size:200% 100%}.bmb_skeleton-circle{border-radius:100%}.bmb_skeleton-headline{border-radius:.9375rem;height:1.5rem;width:100%}.bmb_skeleton-header{background-color:var(--general_contrasts-5);border-radius:0 0 .75rem .75rem;padding:1rem}.bmb_skeleton-stray{margin-bottom:1rem;padding:1rem 2.375rem;gap:1rem 5.3125rem!important;background-color:var(--general_contrasts-5)}.bmb_skeleton-stray .bmb_skeleton-circle{height:4rem;width:4rem}.bmb_skeleton-generic1{gap:2.5rem!important;padding:2.5rem 1rem;background-color:var(--general_contrasts-5);border-radius:.75rem}.bmb_skeleton-generic2>.bmb_skeleton-item{margin:0 1rem;width:calc(100% - 2rem)}.bmb_skeleton-generic2 .bmb_skeleton-box{height:18.5rem;background-color:var(--general_contrasts-5);border-radius:1.5rem}.bmb_skeleton-generic3{border:.0625rem solid var(--general_contrasts-container-outline);border-radius:1.5rem}.bmb_skeleton-generic3 .bmb_skeleton-box-header{background-color:var(--containers-main);height:5rem;border-radius:1.5rem 1.5rem 0 0}.bmb_skeleton-generic3 .bmb_skeleton-headline{border-radius:0 0 1.5rem 1.5rem;height:26rem}.bmb_skeleton-input .bmb_skeleton-headline{border-radius:.5rem;height:3rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: BmbLayoutGridDirective, selector: "[bmbLayoutGrid]", inputs: ["colGapSize", "rowGapSize", "columnSize", "rowSize", "columns", "rows", "height"] }, { kind: "directive", type: BmbLayoutGridItemDirective, selector: "[bmbLayoutGridItem]", inputs: ["colStart", "rowStart", "numberOfColumns", "numberOfRows"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
11
|
+
}
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbSkeletonComponent, decorators: [{
|
|
13
|
+
type: Component,
|
|
14
|
+
args: [{ selector: 'bmb-skeleton', standalone: true, imports: [CommonModule, BmbLayoutGridDirective, BmbLayoutGridItemDirective], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"bmb_skeleton\">\n @switch (type()) {\n @case ('stray') {\n <div\n class=\"bmb_skeleton-stray\"\n bmbLayoutGrid\n colGapSize=\"m\"\n rowGapSize=\"m\"\n [columnSize]=\"['4rem', '2fr']\"\n rowSize=\"auto\"\n [columns]=\"2\"\n [rows]=\"2\"\n >\n <section\n class=\"bmb_skeleton-circle bmb_skeleton-item\"\n bmbLayoutGridItem\n [colStart]=\"1\"\n [rowStart]=\"1\"\n [numberOfColumns]=\"1\"\n [numberOfRows]=\"2\"\n ></section>\n <section\n class=\"bmb_skeleton-headline bmb_skeleton-item\"\n bmbLayoutGridItem\n [colStart]=\"2\"\n [rowStart]=\"1\"\n [numberOfColumns]=\"1\"\n [numberOfRows]=\"1\"\n ></section>\n <section\n class=\"bmb_skeleton-headline bmb_skeleton-item\"\n bmbLayoutGridItem\n [colStart]=\"2\"\n [rowStart]=\"2\"\n [numberOfColumns]=\"1\"\n [numberOfRows]=\"1\"\n ></section>\n </div>\n }\n @case ('generic1') {\n <div\n class=\"bmb_skeleton-generic1\"\n bmbLayoutGrid\n colGapSize=\"m\"\n rowGapSize=\"m\"\n columnSize=\"auto\"\n rowSize=\"auto\"\n [columns]=\"1\"\n [rows]=\"4\"\n >\n <section\n class=\"bmb_skeleton-headline bmb_skeleton-item\"\n bmbLayoutGridItem\n [colStart]=\"1\"\n [rowStart]=\"1\"\n [numberOfColumns]=\"1\"\n [numberOfRows]=\"1\"\n ></section>\n <section\n class=\"bmb_skeleton-headline bmb_skeleton-item\"\n bmbLayoutGridItem\n [colStart]=\"1\"\n [rowStart]=\"2\"\n [numberOfColumns]=\"1\"\n [numberOfRows]=\"1\"\n ></section>\n <section\n class=\"bmb_skeleton-headline bmb_skeleton-item\"\n bmbLayoutGridItem\n [colStart]=\"1\"\n [rowStart]=\"3\"\n [numberOfColumns]=\"1\"\n [numberOfRows]=\"1\"\n ></section>\n <section\n class=\"bmb_skeleton-headline bmb_skeleton-item\"\n bmbLayoutGridItem\n [colStart]=\"1\"\n [rowStart]=\"4\"\n [numberOfColumns]=\"1\"\n [numberOfRows]=\"1\"\n ></section>\n </div>\n }\n @case ('generic2') {\n <div\n class=\"bmb_skeleton-generic2\"\n bmbLayoutGrid\n colGapSize=\"xl\"\n rowGapSize=\"xl\"\n columnSize=\"auto\"\n rowSize=\"auto\"\n [columns]=\"1\"\n [rows]=\"3\"\n >\n <section\n class=\"bmb_skeleton-box\"\n bmbLayoutGridItem\n [colStart]=\"1\"\n [rowStart]=\"1\"\n [numberOfColumns]=\"1\"\n [numberOfRows]=\"1\"\n ></section>\n <section\n class=\"bmb_skeleton-headline bmb_skeleton-item\"\n bmbLayoutGridItem\n [colStart]=\"1\"\n [rowStart]=\"2\"\n [numberOfColumns]=\"1\"\n [numberOfRows]=\"1\"\n ></section>\n <section\n class=\"bmb_skeleton-headline bmb_skeleton-item\"\n bmbLayoutGridItem\n [colStart]=\"1\"\n [rowStart]=\"3\"\n [numberOfColumns]=\"1\"\n [numberOfRows]=\"1\"\n ></section>\n </div>\n }\n @case ('generic3') {\n <div\n class=\"bmb_skeleton-generic3\"\n bmbLayoutGrid\n colGapSize=\"none\"\n rowGapSize=\"none\"\n columnSize=\"auto\"\n rowSize=\"auto\"\n [columns]=\"1\"\n [rows]=\"3\"\n >\n <section\n class=\"bmb_skeleton-box-header\"\n bmbLayoutGridItem\n [colStart]=\"1\"\n [rowStart]=\"1\"\n [numberOfColumns]=\"1\"\n [numberOfRows]=\"1\"\n ></section>\n <section\n class=\"bmb_skeleton-headline bmb_skeleton-item\"\n bmbLayoutGridItem\n [colStart]=\"1\"\n [rowStart]=\"2\"\n [numberOfColumns]=\"1\"\n [numberOfRows]=\"1\"\n ></section>\n </div>\n }\n @case ('input') {\n <div class=\"bmb_skeleton-input\">\n <section class=\"bmb_skeleton-headline bmb_skeleton-item\"></section>\n </div>\n }\n @default {\n <div\n class=\"bmb_skeleton-header\"\n bmbLayoutGrid\n colGapSize=\"m\"\n rowGapSize=\"m\"\n [columnSize]=\"['1.5rem', '2fr', '1.5rem']\"\n rowSize=\"auto\"\n [columns]=\"3\"\n [rows]=\"1\"\n >\n <section\n class=\"bmb_skeleton-circle bmb_skeleton-item\"\n bmbLayoutGridItem\n [colStart]=\"1\"\n [rowStart]=\"1\"\n [numberOfColumns]=\"1\"\n [numberOfRows]=\"1\"\n ></section>\n <section\n class=\"bmb_skeleton-headline bmb_skeleton-item\"\n bmbLayoutGridItem\n [colStart]=\"2\"\n [rowStart]=\"1\"\n [numberOfColumns]=\"1\"\n [numberOfRows]=\"1\"\n ></section>\n <section\n class=\"bmb_skeleton-circle bmb_skeleton-item\"\n bmbLayoutGridItem\n [colStart]=\"3\"\n [rowStart]=\"1\"\n [numberOfColumns]=\"1\"\n [numberOfRows]=\"1\"\n ></section>\n </div>\n }\n }\n</div>\n", styles: ["@keyframes skeleton{0%{background-position:0% 0%}to{background-position:200% 0%}}.bmb_skeleton-item{animation:skeleton 1.2s infinite linear;background:linear-gradient(90deg,var(--general_contrasts-25) 0%,var(--general_contrasts-50) 50%,var(--general_contrasts-25) 100%);background-size:200% 100%}.bmb_skeleton-circle{border-radius:100%}.bmb_skeleton-headline{border-radius:.9375rem;height:1.5rem;width:100%}.bmb_skeleton-header{background-color:var(--general_contrasts-5);border-radius:0 0 .75rem .75rem;padding:1rem}.bmb_skeleton-stray{margin-bottom:1rem;padding:1rem 2.375rem;gap:1rem 5.3125rem!important;background-color:var(--general_contrasts-5)}.bmb_skeleton-stray .bmb_skeleton-circle{height:4rem;width:4rem}.bmb_skeleton-generic1{gap:2.5rem!important;padding:2.5rem 1rem;background-color:var(--general_contrasts-5);border-radius:.75rem}.bmb_skeleton-generic2>.bmb_skeleton-item{margin:0 1rem;width:calc(100% - 2rem)}.bmb_skeleton-generic2 .bmb_skeleton-box{height:18.5rem;background-color:var(--general_contrasts-5);border-radius:1.5rem}.bmb_skeleton-generic3{border:.0625rem solid var(--general_contrasts-container-outline);border-radius:1.5rem}.bmb_skeleton-generic3 .bmb_skeleton-box-header{background-color:var(--containers-main);height:5rem;border-radius:1.5rem 1.5rem 0 0}.bmb_skeleton-generic3 .bmb_skeleton-headline{border-radius:0 0 1.5rem 1.5rem;height:26rem}.bmb_skeleton-input .bmb_skeleton-headline{border-radius:.5rem;height:3rem}\n"] }]
|
|
15
|
+
}] });
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLXNrZWxldG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItc2tlbGV0b24vYm1iLXNrZWxldG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItc2tlbGV0b24vYm1iLXNrZWxldG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixLQUFLLEdBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsMEJBQTBCLEdBQzNCLE1BQU0sNERBQTRELENBQUM7O0FBbUJwRSxNQUFNLE9BQU8sb0JBQW9CO0lBVGpDO1FBVUUsU0FBSSxHQUFHLEtBQUssQ0FBa0IsUUFBUSxDQUFDLENBQUM7S0FDekM7K0dBRlksb0JBQW9CO21HQUFwQixvQkFBb0IseU1DN0JqQyxpektBa01BLHUrQ0QzS1ksWUFBWSwrQkFBRSxzQkFBc0Isd0pBQUUsMEJBQTBCOzs0RkFNL0Qsb0JBQW9CO2tCQVRoQyxTQUFTOytCQUNFLGNBQWMsY0FDWixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsc0JBQXNCLEVBQUUsMEJBQTBCLENBQUMsbUJBRzFELHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgaW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEJtYkxheW91dEdyaWREaXJlY3RpdmUsXG4gIEJtYkxheW91dEdyaWRJdGVtRGlyZWN0aXZlLFxufSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2JtYi1sYXlvdXQtZ3JpZC9ibWItbGF5b3V0LWdyaWQuZGlyZWN0aXZlJztcblxuZXhwb3J0IHR5cGUgQm1iU2tlbGV0b25UeXBlID1cbiAgfCAnaGVhZGVyJ1xuICB8ICdpbnB1dCdcbiAgfCAnc3RyYXknXG4gIHwgJ2dlbmVyaWMxJ1xuICB8ICdnZW5lcmljMidcbiAgfCAnZ2VuZXJpYzMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdibWItc2tlbGV0b24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBCbWJMYXlvdXRHcmlkRGlyZWN0aXZlLCBCbWJMYXlvdXRHcmlkSXRlbURpcmVjdGl2ZV0sXG4gIHN0eWxlVXJsOiAnLi9ibWItc2tlbGV0b24uY29tcG9uZW50LnNjc3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vYm1iLXNrZWxldG9uLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEJtYlNrZWxldG9uQ29tcG9uZW50IHtcbiAgdHlwZSA9IGlucHV0PEJtYlNrZWxldG9uVHlwZT4oJ2hlYWRlcicpO1xufVxuIiwiPGRpdiBjbGFzcz1cImJtYl9za2VsZXRvblwiPlxuICBAc3dpdGNoICh0eXBlKCkpIHtcbiAgICBAY2FzZSAoJ3N0cmF5Jykge1xuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImJtYl9za2VsZXRvbi1zdHJheVwiXG4gICAgICAgIGJtYkxheW91dEdyaWRcbiAgICAgICAgY29sR2FwU2l6ZT1cIm1cIlxuICAgICAgICByb3dHYXBTaXplPVwibVwiXG4gICAgICAgIFtjb2x1bW5TaXplXT1cIlsnNHJlbScsICcyZnInXVwiXG4gICAgICAgIHJvd1NpemU9XCJhdXRvXCJcbiAgICAgICAgW2NvbHVtbnNdPVwiMlwiXG4gICAgICAgIFtyb3dzXT1cIjJcIlxuICAgICAgPlxuICAgICAgICA8c2VjdGlvblxuICAgICAgICAgIGNsYXNzPVwiYm1iX3NrZWxldG9uLWNpcmNsZSBibWJfc2tlbGV0b24taXRlbVwiXG4gICAgICAgICAgYm1iTGF5b3V0R3JpZEl0ZW1cbiAgICAgICAgICBbY29sU3RhcnRdPVwiMVwiXG4gICAgICAgICAgW3Jvd1N0YXJ0XT1cIjFcIlxuICAgICAgICAgIFtudW1iZXJPZkNvbHVtbnNdPVwiMVwiXG4gICAgICAgICAgW251bWJlck9mUm93c109XCIyXCJcbiAgICAgICAgPjwvc2VjdGlvbj5cbiAgICAgICAgPHNlY3Rpb25cbiAgICAgICAgICBjbGFzcz1cImJtYl9za2VsZXRvbi1oZWFkbGluZSBibWJfc2tlbGV0b24taXRlbVwiXG4gICAgICAgICAgYm1iTGF5b3V0R3JpZEl0ZW1cbiAgICAgICAgICBbY29sU3RhcnRdPVwiMlwiXG4gICAgICAgICAgW3Jvd1N0YXJ0XT1cIjFcIlxuICAgICAgICAgIFtudW1iZXJPZkNvbHVtbnNdPVwiMVwiXG4gICAgICAgICAgW251bWJlck9mUm93c109XCIxXCJcbiAgICAgICAgPjwvc2VjdGlvbj5cbiAgICAgICAgPHNlY3Rpb25cbiAgICAgICAgICBjbGFzcz1cImJtYl9za2VsZXRvbi1oZWFkbGluZSBibWJfc2tlbGV0b24taXRlbVwiXG4gICAgICAgICAgYm1iTGF5b3V0R3JpZEl0ZW1cbiAgICAgICAgICBbY29sU3RhcnRdPVwiMlwiXG4gICAgICAgICAgW3Jvd1N0YXJ0XT1cIjJcIlxuICAgICAgICAgIFtudW1iZXJPZkNvbHVtbnNdPVwiMVwiXG4gICAgICAgICAgW251bWJlck9mUm93c109XCIxXCJcbiAgICAgICAgPjwvc2VjdGlvbj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgICBAY2FzZSAoJ2dlbmVyaWMxJykge1xuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImJtYl9za2VsZXRvbi1nZW5lcmljMVwiXG4gICAgICAgIGJtYkxheW91dEdyaWRcbiAgICAgICAgY29sR2FwU2l6ZT1cIm1cIlxuICAgICAgICByb3dHYXBTaXplPVwibVwiXG4gICAgICAgIGNvbHVtblNpemU9XCJhdXRvXCJcbiAgICAgICAgcm93U2l6ZT1cImF1dG9cIlxuICAgICAgICBbY29sdW1uc109XCIxXCJcbiAgICAgICAgW3Jvd3NdPVwiNFwiXG4gICAgICA+XG4gICAgICAgIDxzZWN0aW9uXG4gICAgICAgICAgY2xhc3M9XCJibWJfc2tlbGV0b24taGVhZGxpbmUgYm1iX3NrZWxldG9uLWl0ZW1cIlxuICAgICAgICAgIGJtYkxheW91dEdyaWRJdGVtXG4gICAgICAgICAgW2NvbFN0YXJ0XT1cIjFcIlxuICAgICAgICAgIFtyb3dTdGFydF09XCIxXCJcbiAgICAgICAgICBbbnVtYmVyT2ZDb2x1bW5zXT1cIjFcIlxuICAgICAgICAgIFtudW1iZXJPZlJvd3NdPVwiMVwiXG4gICAgICAgID48L3NlY3Rpb24+XG4gICAgICAgIDxzZWN0aW9uXG4gICAgICAgICAgY2xhc3M9XCJibWJfc2tlbGV0b24taGVhZGxpbmUgYm1iX3NrZWxldG9uLWl0ZW1cIlxuICAgICAgICAgIGJtYkxheW91dEdyaWRJdGVtXG4gICAgICAgICAgW2NvbFN0YXJ0XT1cIjFcIlxuICAgICAgICAgIFtyb3dTdGFydF09XCIyXCJcbiAgICAgICAgICBbbnVtYmVyT2ZDb2x1bW5zXT1cIjFcIlxuICAgICAgICAgIFtudW1iZXJPZlJvd3NdPVwiMVwiXG4gICAgICAgID48L3NlY3Rpb24+XG4gICAgICAgIDxzZWN0aW9uXG4gICAgICAgICAgY2xhc3M9XCJibWJfc2tlbGV0b24taGVhZGxpbmUgYm1iX3NrZWxldG9uLWl0ZW1cIlxuICAgICAgICAgIGJtYkxheW91dEdyaWRJdGVtXG4gICAgICAgICAgW2NvbFN0YXJ0XT1cIjFcIlxuICAgICAgICAgIFtyb3dTdGFydF09XCIzXCJcbiAgICAgICAgICBbbnVtYmVyT2ZDb2x1bW5zXT1cIjFcIlxuICAgICAgICAgIFtudW1iZXJPZlJvd3NdPVwiMVwiXG4gICAgICAgID48L3NlY3Rpb24+XG4gICAgICAgIDxzZWN0aW9uXG4gICAgICAgICAgY2xhc3M9XCJibWJfc2tlbGV0b24taGVhZGxpbmUgYm1iX3NrZWxldG9uLWl0ZW1cIlxuICAgICAgICAgIGJtYkxheW91dEdyaWRJdGVtXG4gICAgICAgICAgW2NvbFN0YXJ0XT1cIjFcIlxuICAgICAgICAgIFtyb3dTdGFydF09XCI0XCJcbiAgICAgICAgICBbbnVtYmVyT2ZDb2x1bW5zXT1cIjFcIlxuICAgICAgICAgIFtudW1iZXJPZlJvd3NdPVwiMVwiXG4gICAgICAgID48L3NlY3Rpb24+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gICAgQGNhc2UgKCdnZW5lcmljMicpIHtcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJibWJfc2tlbGV0b24tZ2VuZXJpYzJcIlxuICAgICAgICBibWJMYXlvdXRHcmlkXG4gICAgICAgIGNvbEdhcFNpemU9XCJ4bFwiXG4gICAgICAgIHJvd0dhcFNpemU9XCJ4bFwiXG4gICAgICAgIGNvbHVtblNpemU9XCJhdXRvXCJcbiAgICAgICAgcm93U2l6ZT1cImF1dG9cIlxuICAgICAgICBbY29sdW1uc109XCIxXCJcbiAgICAgICAgW3Jvd3NdPVwiM1wiXG4gICAgICA+XG4gICAgICAgIDxzZWN0aW9uXG4gICAgICAgICAgY2xhc3M9XCJibWJfc2tlbGV0b24tYm94XCJcbiAgICAgICAgICBibWJMYXlvdXRHcmlkSXRlbVxuICAgICAgICAgIFtjb2xTdGFydF09XCIxXCJcbiAgICAgICAgICBbcm93U3RhcnRdPVwiMVwiXG4gICAgICAgICAgW251bWJlck9mQ29sdW1uc109XCIxXCJcbiAgICAgICAgICBbbnVtYmVyT2ZSb3dzXT1cIjFcIlxuICAgICAgICA+PC9zZWN0aW9uPlxuICAgICAgICA8c2VjdGlvblxuICAgICAgICAgIGNsYXNzPVwiYm1iX3NrZWxldG9uLWhlYWRsaW5lIGJtYl9za2VsZXRvbi1pdGVtXCJcbiAgICAgICAgICBibWJMYXlvdXRHcmlkSXRlbVxuICAgICAgICAgIFtjb2xTdGFydF09XCIxXCJcbiAgICAgICAgICBbcm93U3RhcnRdPVwiMlwiXG4gICAgICAgICAgW251bWJlck9mQ29sdW1uc109XCIxXCJcbiAgICAgICAgICBbbnVtYmVyT2ZSb3dzXT1cIjFcIlxuICAgICAgICA+PC9zZWN0aW9uPlxuICAgICAgICA8c2VjdGlvblxuICAgICAgICAgIGNsYXNzPVwiYm1iX3NrZWxldG9uLWhlYWRsaW5lIGJtYl9za2VsZXRvbi1pdGVtXCJcbiAgICAgICAgICBibWJMYXlvdXRHcmlkSXRlbVxuICAgICAgICAgIFtjb2xTdGFydF09XCIxXCJcbiAgICAgICAgICBbcm93U3RhcnRdPVwiM1wiXG4gICAgICAgICAgW251bWJlck9mQ29sdW1uc109XCIxXCJcbiAgICAgICAgICBbbnVtYmVyT2ZSb3dzXT1cIjFcIlxuICAgICAgICA+PC9zZWN0aW9uPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICAgIEBjYXNlICgnZ2VuZXJpYzMnKSB7XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiYm1iX3NrZWxldG9uLWdlbmVyaWMzXCJcbiAgICAgICAgYm1iTGF5b3V0R3JpZFxuICAgICAgICBjb2xHYXBTaXplPVwibm9uZVwiXG4gICAgICAgIHJvd0dhcFNpemU9XCJub25lXCJcbiAgICAgICAgY29sdW1uU2l6ZT1cImF1dG9cIlxuICAgICAgICByb3dTaXplPVwiYXV0b1wiXG4gICAgICAgIFtjb2x1bW5zXT1cIjFcIlxuICAgICAgICBbcm93c109XCIzXCJcbiAgICAgID5cbiAgICAgICAgPHNlY3Rpb25cbiAgICAgICAgICBjbGFzcz1cImJtYl9za2VsZXRvbi1ib3gtaGVhZGVyXCJcbiAgICAgICAgICBibWJMYXlvdXRHcmlkSXRlbVxuICAgICAgICAgIFtjb2xTdGFydF09XCIxXCJcbiAgICAgICAgICBbcm93U3RhcnRdPVwiMVwiXG4gICAgICAgICAgW251bWJlck9mQ29sdW1uc109XCIxXCJcbiAgICAgICAgICBbbnVtYmVyT2ZSb3dzXT1cIjFcIlxuICAgICAgICA+PC9zZWN0aW9uPlxuICAgICAgICA8c2VjdGlvblxuICAgICAgICAgIGNsYXNzPVwiYm1iX3NrZWxldG9uLWhlYWRsaW5lIGJtYl9za2VsZXRvbi1pdGVtXCJcbiAgICAgICAgICBibWJMYXlvdXRHcmlkSXRlbVxuICAgICAgICAgIFtjb2xTdGFydF09XCIxXCJcbiAgICAgICAgICBbcm93U3RhcnRdPVwiMlwiXG4gICAgICAgICAgW251bWJlck9mQ29sdW1uc109XCIxXCJcbiAgICAgICAgICBbbnVtYmVyT2ZSb3dzXT1cIjFcIlxuICAgICAgICA+PC9zZWN0aW9uPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICAgIEBjYXNlICgnaW5wdXQnKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiYm1iX3NrZWxldG9uLWlucHV0XCI+XG4gICAgICAgIDxzZWN0aW9uIGNsYXNzPVwiYm1iX3NrZWxldG9uLWhlYWRsaW5lIGJtYl9za2VsZXRvbi1pdGVtXCI+PC9zZWN0aW9uPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICAgIEBkZWZhdWx0IHtcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJibWJfc2tlbGV0b24taGVhZGVyXCJcbiAgICAgICAgYm1iTGF5b3V0R3JpZFxuICAgICAgICBjb2xHYXBTaXplPVwibVwiXG4gICAgICAgIHJvd0dhcFNpemU9XCJtXCJcbiAgICAgICAgW2NvbHVtblNpemVdPVwiWycxLjVyZW0nLCAnMmZyJywgJzEuNXJlbSddXCJcbiAgICAgICAgcm93U2l6ZT1cImF1dG9cIlxuICAgICAgICBbY29sdW1uc109XCIzXCJcbiAgICAgICAgW3Jvd3NdPVwiMVwiXG4gICAgICA+XG4gICAgICAgIDxzZWN0aW9uXG4gICAgICAgICAgY2xhc3M9XCJibWJfc2tlbGV0b24tY2lyY2xlIGJtYl9za2VsZXRvbi1pdGVtXCJcbiAgICAgICAgICBibWJMYXlvdXRHcmlkSXRlbVxuICAgICAgICAgIFtjb2xTdGFydF09XCIxXCJcbiAgICAgICAgICBbcm93U3RhcnRdPVwiMVwiXG4gICAgICAgICAgW251bWJlck9mQ29sdW1uc109XCIxXCJcbiAgICAgICAgICBbbnVtYmVyT2ZSb3dzXT1cIjFcIlxuICAgICAgICA+PC9zZWN0aW9uPlxuICAgICAgICA8c2VjdGlvblxuICAgICAgICAgIGNsYXNzPVwiYm1iX3NrZWxldG9uLWhlYWRsaW5lIGJtYl9za2VsZXRvbi1pdGVtXCJcbiAgICAgICAgICBibWJMYXlvdXRHcmlkSXRlbVxuICAgICAgICAgIFtjb2xTdGFydF09XCIyXCJcbiAgICAgICAgICBbcm93U3RhcnRdPVwiMVwiXG4gICAgICAgICAgW251bWJlck9mQ29sdW1uc109XCIxXCJcbiAgICAgICAgICBbbnVtYmVyT2ZSb3dzXT1cIjFcIlxuICAgICAgICA+PC9zZWN0aW9uPlxuICAgICAgICA8c2VjdGlvblxuICAgICAgICAgIGNsYXNzPVwiYm1iX3NrZWxldG9uLWNpcmNsZSBibWJfc2tlbGV0b24taXRlbVwiXG4gICAgICAgICAgYm1iTGF5b3V0R3JpZEl0ZW1cbiAgICAgICAgICBbY29sU3RhcnRdPVwiM1wiXG4gICAgICAgICAgW3Jvd1N0YXJ0XT1cIjFcIlxuICAgICAgICAgIFtudW1iZXJPZkNvbHVtbnNdPVwiMVwiXG4gICAgICAgICAgW251bWJlck9mUm93c109XCIxXCJcbiAgICAgICAgPjwvc2VjdGlvbj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgfVxuPC9kaXY+XG4iXX0=
|