@coreui/angular-pro 5.2.23 → 5.3.0
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/README.md +5 -5
- package/fesm2022/coreui-angular-pro.mjs +1067 -1166
- package/fesm2022/coreui-angular-pro.mjs.map +1 -1
- package/lib/grid/col.directive.d.ts +26 -26
- package/lib/smart-table/smart-table-head/smart-table-head.component.d.ts +2 -2
- package/lib/tabs-2/tab/tab.directive.d.ts +4 -3
- package/lib/tabs-2/tabs-list/tabs-list.component.d.ts +1 -1
- package/package.json +9 -11
- package/esm2022/coreui-angular-pro.mjs +0 -5
- package/esm2022/lib/accordion/accordion/accordion.component.mjs +0 -34
- package/esm2022/lib/accordion/accordion-button/accordion-button.directive.mjs +0 -35
- package/esm2022/lib/accordion/accordion-item/accordion-item.component.mjs +0 -59
- package/esm2022/lib/accordion/accordion.module.mjs +0 -36
- package/esm2022/lib/accordion/accordion.service.mjs +0 -36
- package/esm2022/lib/accordion/index.mjs +0 -2
- package/esm2022/lib/accordion/public_api.mjs +0 -5
- package/esm2022/lib/alert/alert-heading.directive.mjs +0 -15
- package/esm2022/lib/alert/alert-link.directive.mjs +0 -15
- package/esm2022/lib/alert/alert.component.mjs +0 -173
- package/esm2022/lib/alert/alert.module.mjs +0 -30
- package/esm2022/lib/alert/index.mjs +0 -2
- package/esm2022/lib/alert/public_api.mjs +0 -5
- package/esm2022/lib/avatar/avatar.component.mjs +0 -71
- package/esm2022/lib/avatar/avatar.module.mjs +0 -20
- package/esm2022/lib/avatar/index.mjs +0 -2
- package/esm2022/lib/avatar/public_api.mjs +0 -3
- package/esm2022/lib/backdrop/backdrop.service.mjs +0 -82
- package/esm2022/lib/backdrop/index.mjs +0 -2
- package/esm2022/lib/backdrop/public_api.mjs +0 -2
- package/esm2022/lib/badge/badge.component.mjs +0 -77
- package/esm2022/lib/badge/badge.module.mjs +0 -20
- package/esm2022/lib/badge/index.mjs +0 -2
- package/esm2022/lib/badge/public_api.mjs +0 -3
- package/esm2022/lib/breadcrumb/breadcrumb/breadcrumb.component.mjs +0 -40
- package/esm2022/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.mjs +0 -39
- package/esm2022/lib/breadcrumb/breadcrumb-item/breadcrumb-item.mjs +0 -2
- package/esm2022/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.mjs +0 -41
- package/esm2022/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.mjs +0 -52
- package/esm2022/lib/breadcrumb/breadcrumb.module.mjs +0 -34
- package/esm2022/lib/breadcrumb/index.mjs +0 -2
- package/esm2022/lib/breadcrumb/public_api.mjs +0 -6
- package/esm2022/lib/button/button-close.directive.mjs +0 -46
- package/esm2022/lib/button/button.directive.mjs +0 -88
- package/esm2022/lib/button/button.module.mjs +0 -25
- package/esm2022/lib/button/index.mjs +0 -2
- package/esm2022/lib/button/public_api.mjs +0 -4
- package/esm2022/lib/button-group/button-group/button-group.component.mjs +0 -41
- package/esm2022/lib/button-group/button-group.module.mjs +0 -17
- package/esm2022/lib/button-group/button-toolbar/button-toolbar.component.mjs +0 -24
- package/esm2022/lib/button-group/index.mjs +0 -2
- package/esm2022/lib/button-group/public_api.mjs +0 -4
- package/esm2022/lib/calendar/calendar/calendar-class-view.pipe.mjs +0 -20
- package/esm2022/lib/calendar/calendar/calendar.component.mjs +0 -380
- package/esm2022/lib/calendar/calendar-month/calendar-class-day.pipe.mjs +0 -30
- package/esm2022/lib/calendar/calendar-month/calendar-class-month.pipe.mjs +0 -24
- package/esm2022/lib/calendar/calendar-month/calendar-class-row.pipe.mjs +0 -24
- package/esm2022/lib/calendar/calendar-month/calendar-class-year.pipe.mjs +0 -22
- package/esm2022/lib/calendar/calendar-month/calendar-day-title.pipe.mjs +0 -17
- package/esm2022/lib/calendar/calendar-month/calendar-day.directive.mjs +0 -138
- package/esm2022/lib/calendar/calendar-month/calendar-day.pipe.mjs +0 -19
- package/esm2022/lib/calendar/calendar-month/calendar-month.component.mjs +0 -448
- package/esm2022/lib/calendar/calendar-month/calendar-row.directive.mjs +0 -123
- package/esm2022/lib/calendar/calendar-month/calendar-weekday.pipe.mjs +0 -21
- package/esm2022/lib/calendar/calendar-navigation/calendar-navigation.component.mjs +0 -87
- package/esm2022/lib/calendar/calendar.module.mjs +0 -57
- package/esm2022/lib/calendar/calendar.service.mjs +0 -66
- package/esm2022/lib/calendar/calendar.utils.mjs +0 -393
- package/esm2022/lib/calendar/index.mjs +0 -2
- package/esm2022/lib/calendar/public_api.mjs +0 -5
- package/esm2022/lib/callout/callout.component.mjs +0 -25
- package/esm2022/lib/callout/callout.module.mjs +0 -16
- package/esm2022/lib/callout/index.mjs +0 -2
- package/esm2022/lib/callout/public_api.mjs +0 -3
- package/esm2022/lib/card/card-body.component.mjs +0 -16
- package/esm2022/lib/card/card-footer.component.mjs +0 -16
- package/esm2022/lib/card/card-group.component.mjs +0 -16
- package/esm2022/lib/card/card-header-actions.component.mjs +0 -16
- package/esm2022/lib/card/card-header.component.mjs +0 -16
- package/esm2022/lib/card/card-img-overlay/card-img-overlay.component.mjs +0 -11
- package/esm2022/lib/card/card-img.directive.mjs +0 -32
- package/esm2022/lib/card/card-link.directive.mjs +0 -15
- package/esm2022/lib/card/card-subtitle.directive.mjs +0 -15
- package/esm2022/lib/card/card-text.directive.mjs +0 -15
- package/esm2022/lib/card/card-title.directive.mjs +0 -15
- package/esm2022/lib/card/card.component.mjs +0 -50
- package/esm2022/lib/card/card.module.mjs +0 -75
- package/esm2022/lib/card/index.mjs +0 -2
- package/esm2022/lib/card/public_api.mjs +0 -14
- package/esm2022/lib/carousel/carousel/carousel.component.mjs +0 -212
- package/esm2022/lib/carousel/carousel-caption/carousel-caption.component.mjs +0 -17
- package/esm2022/lib/carousel/carousel-control/carousel-control.component.mjs +0 -82
- package/esm2022/lib/carousel/carousel-indicators/carousel-indicators.component.mjs +0 -44
- package/esm2022/lib/carousel/carousel-inner/carousel-inner.component.mjs +0 -47
- package/esm2022/lib/carousel/carousel-item/carousel-item.component.mjs +0 -67
- package/esm2022/lib/carousel/carousel-state.mjs +0 -77
- package/esm2022/lib/carousel/carousel-state.type.mjs +0 -2
- package/esm2022/lib/carousel/carousel.animation.mjs +0 -70
- package/esm2022/lib/carousel/carousel.config.mjs +0 -22
- package/esm2022/lib/carousel/carousel.module.mjs +0 -52
- package/esm2022/lib/carousel/carousel.service.mjs +0 -18
- package/esm2022/lib/carousel/index.mjs +0 -2
- package/esm2022/lib/carousel/public_api.mjs +0 -9
- package/esm2022/lib/collapse/collapse.animations.mjs +0 -9
- package/esm2022/lib/collapse/collapse.directive.mjs +0 -145
- package/esm2022/lib/collapse/collapse.module.mjs +0 -19
- package/esm2022/lib/collapse/index.mjs +0 -2
- package/esm2022/lib/collapse/public_api.mjs +0 -3
- package/esm2022/lib/coreui.types.mjs +0 -10
- package/esm2022/lib/date-picker/date-picker.component.mjs +0 -80
- package/esm2022/lib/date-picker/date-picker.module.mjs +0 -16
- package/esm2022/lib/date-picker/index.mjs +0 -2
- package/esm2022/lib/date-picker/public_api.mjs +0 -3
- package/esm2022/lib/date-range-picker/date-range-picker/custom-range-key.pipe.mjs +0 -17
- package/esm2022/lib/date-range-picker/date-range-picker/date-range-picker.component.mjs +0 -599
- package/esm2022/lib/date-range-picker/date-range-picker.module.mjs +0 -16
- package/esm2022/lib/date-range-picker/index.mjs +0 -2
- package/esm2022/lib/date-range-picker/public_api.mjs +0 -3
- package/esm2022/lib/dropdown/dropdown/dropdown.component.mjs +0 -371
- package/esm2022/lib/dropdown/dropdown-close/dropdown-close.directive.mjs +0 -73
- package/esm2022/lib/dropdown/dropdown-divider/dropdown-divider.directive.mjs +0 -15
- package/esm2022/lib/dropdown/dropdown-header/dropdown-header.directive.mjs +0 -15
- package/esm2022/lib/dropdown/dropdown-item/dropdown-item-plain.directive.mjs +0 -15
- package/esm2022/lib/dropdown/dropdown-item/dropdown-item.directive.mjs +0 -96
- package/esm2022/lib/dropdown/dropdown-menu/dropdown-menu.directive.mjs +0 -119
- package/esm2022/lib/dropdown/dropdown.module.mjs +0 -56
- package/esm2022/lib/dropdown/dropdown.service.mjs +0 -18
- package/esm2022/lib/dropdown/index.mjs +0 -2
- package/esm2022/lib/dropdown/public_api.mjs +0 -10
- package/esm2022/lib/element-cover/element-cover.component.mjs +0 -79
- package/esm2022/lib/element-cover/element-cover.module.mjs +0 -16
- package/esm2022/lib/element-cover/index.mjs +0 -2
- package/esm2022/lib/element-cover/public_api.mjs +0 -3
- package/esm2022/lib/footer/footer.component.mjs +0 -39
- package/esm2022/lib/footer/footer.module.mjs +0 -16
- package/esm2022/lib/footer/index.mjs +0 -2
- package/esm2022/lib/footer/public_api.mjs +0 -3
- package/esm2022/lib/form/form/form.directive.mjs +0 -33
- package/esm2022/lib/form/form-check/form-check-input.directive.mjs +0 -78
- package/esm2022/lib/form/form-check/form-check-label.directive.mjs +0 -15
- package/esm2022/lib/form/form-check/form-check.component.mjs +0 -77
- package/esm2022/lib/form/form-control/form-control.directive.mjs +0 -66
- package/esm2022/lib/form/form-feedback/form-feedback.component.mjs +0 -38
- package/esm2022/lib/form/form-floating/form-floating.directive.mjs +0 -32
- package/esm2022/lib/form/form-label/form-label.directive.mjs +0 -41
- package/esm2022/lib/form/form-select/form-select.directive.mjs +0 -36
- package/esm2022/lib/form/form-text/form-text.directive.mjs +0 -15
- package/esm2022/lib/form/form.module.mjs +0 -75
- package/esm2022/lib/form/index.mjs +0 -2
- package/esm2022/lib/form/input-group/input-group.component.mjs +0 -29
- package/esm2022/lib/form/input-group-text/input-group-text.directive.mjs +0 -15
- package/esm2022/lib/form/public_api.mjs +0 -14
- package/esm2022/lib/grid/col.component.mjs +0 -12
- package/esm2022/lib/grid/col.directive.mjs +0 -157
- package/esm2022/lib/grid/col.type.mjs +0 -2
- package/esm2022/lib/grid/container.component.mjs +0 -33
- package/esm2022/lib/grid/container.type.mjs +0 -2
- package/esm2022/lib/grid/grid.module.mjs +0 -45
- package/esm2022/lib/grid/gutter.directive.mjs +0 -57
- package/esm2022/lib/grid/gutter.type.mjs +0 -2
- package/esm2022/lib/grid/index.mjs +0 -2
- package/esm2022/lib/grid/public_api.mjs +0 -8
- package/esm2022/lib/grid/row.component.mjs +0 -16
- package/esm2022/lib/grid/row.directive.mjs +0 -47
- package/esm2022/lib/grid/row.type.mjs +0 -2
- package/esm2022/lib/header/header/header.component.mjs +0 -45
- package/esm2022/lib/header/header-brand/header-brand.component.mjs +0 -32
- package/esm2022/lib/header/header-divider/header-divider.component.mjs +0 -21
- package/esm2022/lib/header/header-nav/header-nav.component.mjs +0 -28
- package/esm2022/lib/header/header-text/header-text.component.mjs +0 -21
- package/esm2022/lib/header/header-toggler/header-toggler.directive.mjs +0 -55
- package/esm2022/lib/header/header.module.mjs +0 -45
- package/esm2022/lib/header/index.mjs +0 -2
- package/esm2022/lib/header/public_api.mjs +0 -8
- package/esm2022/lib/image/img.directive.mjs +0 -58
- package/esm2022/lib/image/img.module.mjs +0 -16
- package/esm2022/lib/image/index.mjs +0 -2
- package/esm2022/lib/image/public_api.mjs +0 -3
- package/esm2022/lib/list-group/index.mjs +0 -2
- package/esm2022/lib/list-group/list-group-item.directive.mjs +0 -63
- package/esm2022/lib/list-group/list-group.directive.mjs +0 -38
- package/esm2022/lib/list-group/list-group.module.mjs +0 -17
- package/esm2022/lib/list-group/public_api.mjs +0 -4
- package/esm2022/lib/loading-button/index.mjs +0 -2
- package/esm2022/lib/loading-button/loading-button.animations.mjs +0 -26
- package/esm2022/lib/loading-button/loading-button.component.mjs +0 -65
- package/esm2022/lib/loading-button/loading-button.module.mjs +0 -16
- package/esm2022/lib/loading-button/public_api.mjs +0 -3
- package/esm2022/lib/modal/index.mjs +0 -2
- package/esm2022/lib/modal/modal/modal.component.mjs +0 -334
- package/esm2022/lib/modal/modal-body/modal-body.component.mjs +0 -11
- package/esm2022/lib/modal/modal-content/modal-content.component.mjs +0 -16
- package/esm2022/lib/modal/modal-dialog/modal-dialog.component.mjs +0 -32
- package/esm2022/lib/modal/modal-dismiss/modal-toggle.directive.mjs +0 -28
- package/esm2022/lib/modal/modal-footer/modal-footer.component.mjs +0 -16
- package/esm2022/lib/modal/modal-header/modal-header.component.mjs +0 -16
- package/esm2022/lib/modal/modal-title/modal-title.directive.mjs +0 -15
- package/esm2022/lib/modal/modal.module.mjs +0 -57
- package/esm2022/lib/modal/modal.service.mjs +0 -21
- package/esm2022/lib/modal/public_api.mjs +0 -11
- package/esm2022/lib/multi-select/index.mjs +0 -2
- package/esm2022/lib/multi-select/multi-select/multi-select-search.directive.mjs +0 -65
- package/esm2022/lib/multi-select/multi-select/multi-select.component.mjs +0 -1296
- package/esm2022/lib/multi-select/multi-select-native-select/multi-select-native-select.component.mjs +0 -30
- package/esm2022/lib/multi-select/multi-select-optgroup/multi-select-optgroup-label.component.mjs +0 -11
- package/esm2022/lib/multi-select/multi-select-optgroup/multi-select-optgroup.component.mjs +0 -59
- package/esm2022/lib/multi-select/multi-select-option/multi-select-option.component.mjs +0 -302
- package/esm2022/lib/multi-select/multi-select-tag/multi-select-tag.component.mjs +0 -44
- package/esm2022/lib/multi-select/multi-select.module.mjs +0 -37
- package/esm2022/lib/multi-select/multi-select.service.mjs +0 -50
- package/esm2022/lib/multi-select/multi-select.type.mjs +0 -2
- package/esm2022/lib/multi-select/public_api.mjs +0 -6
- package/esm2022/lib/nav/index.mjs +0 -2
- package/esm2022/lib/nav/nav-item.component.mjs +0 -11
- package/esm2022/lib/nav/nav-link.directive.mjs +0 -76
- package/esm2022/lib/nav/nav.component.mjs +0 -25
- package/esm2022/lib/nav/nav.module.mjs +0 -30
- package/esm2022/lib/nav/public_api.mjs +0 -5
- package/esm2022/lib/navbar/index.mjs +0 -2
- package/esm2022/lib/navbar/navbar-brand/navbar-brand.directive.mjs +0 -18
- package/esm2022/lib/navbar/navbar-nav/navbar-nav.component.mjs +0 -29
- package/esm2022/lib/navbar/navbar-text/navbar-text.component.mjs +0 -16
- package/esm2022/lib/navbar/navbar-toggler/navbar-toggler.directive.mjs +0 -63
- package/esm2022/lib/navbar/navbar.component.mjs +0 -107
- package/esm2022/lib/navbar/navbar.module.mjs +0 -40
- package/esm2022/lib/navbar/public_api.mjs +0 -7
- package/esm2022/lib/offcanvas/index.mjs +0 -2
- package/esm2022/lib/offcanvas/offcanvas/offcanvas.component.mjs +0 -309
- package/esm2022/lib/offcanvas/offcanvas-body/offcanvas-body.component.mjs +0 -11
- package/esm2022/lib/offcanvas/offcanvas-header/offcanvas-header.component.mjs +0 -16
- package/esm2022/lib/offcanvas/offcanvas-title/offcanvas-title.directive.mjs +0 -15
- package/esm2022/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.mjs +0 -28
- package/esm2022/lib/offcanvas/offcanvas.module.mjs +0 -49
- package/esm2022/lib/offcanvas/offcanvas.service.mjs +0 -21
- package/esm2022/lib/offcanvas/public_api.mjs +0 -8
- package/esm2022/lib/pagination/index.mjs +0 -2
- package/esm2022/lib/pagination/page-item/page-item.component.mjs +0 -12
- package/esm2022/lib/pagination/page-item/page-item.directive.mjs +0 -64
- package/esm2022/lib/pagination/page-link/page-link.directive.mjs +0 -15
- package/esm2022/lib/pagination/pagination/pagination.component.mjs +0 -41
- package/esm2022/lib/pagination/pagination.module.mjs +0 -35
- package/esm2022/lib/pagination/public_api.mjs +0 -6
- package/esm2022/lib/placeholder/index.mjs +0 -2
- package/esm2022/lib/placeholder/placeholder-animation.directive.mjs +0 -34
- package/esm2022/lib/placeholder/placeholder.directive.mjs +0 -43
- package/esm2022/lib/placeholder/placeholder.module.mjs +0 -25
- package/esm2022/lib/placeholder/public_api.mjs +0 -4
- package/esm2022/lib/popover/index.mjs +0 -2
- package/esm2022/lib/popover/popover/popover.component.mjs +0 -70
- package/esm2022/lib/popover/popover.directive.mjs +0 -204
- package/esm2022/lib/popover/popover.module.mjs +0 -25
- package/esm2022/lib/popover/public_api.mjs +0 -4
- package/esm2022/lib/progress/index.mjs +0 -2
- package/esm2022/lib/progress/progress-bar.component.mjs +0 -40
- package/esm2022/lib/progress/progress-bar.directive.mjs +0 -113
- package/esm2022/lib/progress/progress-stacked.component.mjs +0 -19
- package/esm2022/lib/progress/progress.component.mjs +0 -74
- package/esm2022/lib/progress/progress.module.mjs +0 -35
- package/esm2022/lib/progress/progress.type.mjs +0 -2
- package/esm2022/lib/progress/public_api.mjs +0 -6
- package/esm2022/lib/rating/index.mjs +0 -2
- package/esm2022/lib/rating/public_api.mjs +0 -3
- package/esm2022/lib/rating/rating-item-label/rating-item-label.component.mjs +0 -40
- package/esm2022/lib/rating/rating.component.mjs +0 -355
- package/esm2022/lib/rating/rating.module.mjs +0 -16
- package/esm2022/lib/services/class-toggle.service.mjs +0 -30
- package/esm2022/lib/services/color-mode.service.mjs +0 -78
- package/esm2022/lib/services/in-memory-storage.service.mjs +0 -32
- package/esm2022/lib/services/index.mjs +0 -2
- package/esm2022/lib/services/intersection.service.mjs +0 -51
- package/esm2022/lib/services/listeners.service.mjs +0 -52
- package/esm2022/lib/services/local-storage.service.mjs +0 -45
- package/esm2022/lib/services/public_api.mjs +0 -7
- package/esm2022/lib/shared/element-ref.directive.mjs +0 -18
- package/esm2022/lib/shared/html-attr.directive.mjs +0 -56
- package/esm2022/lib/shared/index.mjs +0 -2
- package/esm2022/lib/shared/public_api.mjs +0 -6
- package/esm2022/lib/shared/shared.module.mjs +0 -24
- package/esm2022/lib/shared/template-id.directive.mjs +0 -20
- package/esm2022/lib/shared/theme.directive.mjs +0 -45
- package/esm2022/lib/sidebar/index.mjs +0 -2
- package/esm2022/lib/sidebar/public_api.mjs +0 -10
- package/esm2022/lib/sidebar/sidebar/sidebar.component.mjs +0 -241
- package/esm2022/lib/sidebar/sidebar-backdrop/sidebar-backdrop.service.mjs +0 -62
- package/esm2022/lib/sidebar/sidebar-brand/sidebar-brand.component.mjs +0 -30
- package/esm2022/lib/sidebar/sidebar-footer/sidebar-footer.component.mjs +0 -16
- package/esm2022/lib/sidebar/sidebar-header/sidebar-header.component.mjs +0 -16
- package/esm2022/lib/sidebar/sidebar-nav/index.mjs +0 -2
- package/esm2022/lib/sidebar/sidebar-nav/public_api.mjs +0 -14
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.mjs +0 -25
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.mjs +0 -17
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-group.service.mjs +0 -18
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.mjs +0 -21
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.mjs +0 -34
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-label.component.mjs +0 -43
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-link.component.mjs +0 -111
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.mjs +0 -23
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-title.component.mjs +0 -71
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav.component.mjs +0 -230
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav.mjs +0 -2
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav.service.mjs +0 -54
- package/esm2022/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.mjs +0 -41
- package/esm2022/lib/sidebar/sidebar-toggler/sidebar-toggler.directive.mjs +0 -39
- package/esm2022/lib/sidebar/sidebar.module.mjs +0 -83
- package/esm2022/lib/sidebar/sidebar.service.mjs +0 -21
- package/esm2022/lib/smart-pagination/index.mjs +0 -2
- package/esm2022/lib/smart-pagination/public_api.mjs +0 -3
- package/esm2022/lib/smart-pagination/smart-pagination.component.mjs +0 -191
- package/esm2022/lib/smart-pagination/smart-pagination.module.mjs +0 -16
- package/esm2022/lib/smart-pagination/smart-pagination.type.mjs +0 -2
- package/esm2022/lib/smart-table/index.mjs +0 -2
- package/esm2022/lib/smart-table/public_api.mjs +0 -5
- package/esm2022/lib/smart-table/smart-table/smart-table.component.mjs +0 -526
- package/esm2022/lib/smart-table/smart-table-column-filter/smart-table-column-filter.component.mjs +0 -27
- package/esm2022/lib/smart-table/smart-table-filter/filter-input.directive.mjs +0 -69
- package/esm2022/lib/smart-table/smart-table-filter/smart-table-filter.component.mjs +0 -42
- package/esm2022/lib/smart-table/smart-table-head/smart-table-column-label.pipe.mjs +0 -18
- package/esm2022/lib/smart-table/smart-table-head/smart-table-head.component.mjs +0 -229
- package/esm2022/lib/smart-table/smart-table-items-per-page-selector/smart-table-items-per-page-selector.component.mjs +0 -46
- package/esm2022/lib/smart-table/smart-table.module.mjs +0 -17
- package/esm2022/lib/smart-table/smart-table.type.mjs +0 -2
- package/esm2022/lib/smart-table/smart-table.utils.mjs +0 -181
- package/esm2022/lib/spinner/index.mjs +0 -2
- package/esm2022/lib/spinner/public_api.mjs +0 -3
- package/esm2022/lib/spinner/spinner.component.mjs +0 -52
- package/esm2022/lib/spinner/spinner.module.mjs +0 -20
- package/esm2022/lib/table/index.mjs +0 -2
- package/esm2022/lib/table/public_api.mjs +0 -5
- package/esm2022/lib/table/table-active.directive.mjs +0 -32
- package/esm2022/lib/table/table-color.directive.mjs +0 -25
- package/esm2022/lib/table/table.directive.mjs +0 -112
- package/esm2022/lib/table/table.module.mjs +0 -30
- package/esm2022/lib/table/table.type.mjs +0 -2
- package/esm2022/lib/tabs/index.mjs +0 -2
- package/esm2022/lib/tabs/public_api.mjs +0 -6
- package/esm2022/lib/tabs/tab-content/tab-content.component.mjs +0 -83
- package/esm2022/lib/tabs/tab-content-ref.directive.mjs +0 -141
- package/esm2022/lib/tabs/tab-pane/tab-pane.component.mjs +0 -60
- package/esm2022/lib/tabs/tab.service.mjs +0 -21
- package/esm2022/lib/tabs/tabs.module.mjs +0 -36
- package/esm2022/lib/tabs-2/index.mjs +0 -2
- package/esm2022/lib/tabs-2/public_api.mjs +0 -8
- package/esm2022/lib/tabs-2/tab/tab.directive.mjs +0 -96
- package/esm2022/lib/tabs-2/tab-panel/tab-panel.component.mjs +0 -113
- package/esm2022/lib/tabs-2/tabs-content/tabs-content.component.mjs +0 -19
- package/esm2022/lib/tabs-2/tabs-list/tabs-list.component.mjs +0 -93
- package/esm2022/lib/tabs-2/tabs.component.mjs +0 -37
- package/esm2022/lib/tabs-2/tabs.service.mjs +0 -15
- package/esm2022/lib/tabs-2/tabs2.module.mjs +0 -22
- package/esm2022/lib/time-picker/index.mjs +0 -2
- package/esm2022/lib/time-picker/public_api.mjs +0 -3
- package/esm2022/lib/time-picker/time-picker-roll-col/time-picker-roll-am-pm.component.mjs +0 -110
- package/esm2022/lib/time-picker/time-picker-roll-col/time-picker-roll-col.component.mjs +0 -114
- package/esm2022/lib/time-picker/time-picker.component.mjs +0 -517
- package/esm2022/lib/time-picker/time-picker.module.mjs +0 -16
- package/esm2022/lib/time-picker/time.utils.mjs +0 -645
- package/esm2022/lib/toast/index.mjs +0 -2
- package/esm2022/lib/toast/public_api.mjs +0 -9
- package/esm2022/lib/toast/toast/toast.component.mjs +0 -204
- package/esm2022/lib/toast/toast-body/toast-body.component.mjs +0 -21
- package/esm2022/lib/toast/toast-close.directive.mjs +0 -29
- package/esm2022/lib/toast/toast-header/toast-header.component.mjs +0 -30
- package/esm2022/lib/toast/toast.module.mjs +0 -47
- package/esm2022/lib/toast/toaster/toaster-host.directive.mjs +0 -18
- package/esm2022/lib/toast/toaster/toaster.component.mjs +0 -123
- package/esm2022/lib/toast/toaster/toaster.service.mjs +0 -22
- package/esm2022/lib/tooltip/index.mjs +0 -2
- package/esm2022/lib/tooltip/public_api.mjs +0 -4
- package/esm2022/lib/tooltip/tooltip/tooltip.component.mjs +0 -66
- package/esm2022/lib/tooltip/tooltip.directive.mjs +0 -204
- package/esm2022/lib/tooltip/tooltip.module.mjs +0 -25
- package/esm2022/lib/utilities/align.directive.mjs +0 -25
- package/esm2022/lib/utilities/bg-color.directive.mjs +0 -34
- package/esm2022/lib/utilities/border.directive.mjs +0 -67
- package/esm2022/lib/utilities/border.type.mjs +0 -2
- package/esm2022/lib/utilities/index.mjs +0 -2
- package/esm2022/lib/utilities/public_api.mjs +0 -9
- package/esm2022/lib/utilities/rounded.directive.mjs +0 -66
- package/esm2022/lib/utilities/rounded.type.mjs +0 -2
- package/esm2022/lib/utilities/shadow-on-scroll.directive.mjs +0 -48
- package/esm2022/lib/utilities/text-bg-color.directive.mjs +0 -30
- package/esm2022/lib/utilities/text-color.directive.mjs +0 -30
- package/esm2022/lib/utilities/utilities.module.mjs +0 -16
- package/esm2022/lib/widget/index.mjs +0 -2
- package/esm2022/lib/widget/public_api.mjs +0 -8
- package/esm2022/lib/widget/widget-stat-a/widget-stat-a.component.mjs +0 -55
- package/esm2022/lib/widget/widget-stat-b/widget-stat-b.component.mjs +0 -57
- package/esm2022/lib/widget/widget-stat-c/widget-stat-c.component.mjs +0 -71
- package/esm2022/lib/widget/widget-stat-d/widget-stat-d.component.mjs +0 -36
- package/esm2022/lib/widget/widget-stat-e/widget-stat-e.component.mjs +0 -36
- package/esm2022/lib/widget/widget-stat-f/widget-stat-f.component.mjs +0 -96
- package/esm2022/lib/widget/widget.module.mjs +0 -45
- package/esm2022/public-api.mjs +0 -53
|
@@ -1,355 +0,0 @@
|
|
|
1
|
-
import { FocusKeyManager } from '@angular/cdk/a11y';
|
|
2
|
-
import { booleanAttribute, ChangeDetectionStrategy, Component, computed, contentChildren, DestroyRef, effect, ElementRef, forwardRef, HostBinding, HostListener, inject, input, model, numberAttribute, output, signal, untracked, viewChildren } from '@angular/core';
|
|
3
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
|
-
import { NgClass, NgStyle, NgTemplateOutlet } from '@angular/common';
|
|
5
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
6
|
-
import { fromEvent, merge, takeWhile } from 'rxjs';
|
|
7
|
-
import { filter, tap } from 'rxjs/operators';
|
|
8
|
-
import { TooltipDirective } from '../tooltip';
|
|
9
|
-
import { ElementRefDirective, TemplateIdDirective } from '../shared';
|
|
10
|
-
import { RatingItemLabelComponent } from './rating-item-label/rating-item-label.component';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
export const coerceStringArray = (value) => (Array.isArray(value) ? [...value] : [value]);
|
|
13
|
-
export const coerceRatingPrecision = (value) => [1, 0.5, 0.25].includes(numberAttribute(value)) ? numberAttribute(value) : 1;
|
|
14
|
-
export const coerceNumber = (value) => Number(value ?? 0);
|
|
15
|
-
export class RatingComponent {
|
|
16
|
-
constructor() {
|
|
17
|
-
this.#destroyRef = inject(DestroyRef);
|
|
18
|
-
this.#elementRef = inject(ElementRef);
|
|
19
|
-
/**
|
|
20
|
-
* The default icon to display when the item is selected.
|
|
21
|
-
* @type: string | string[]
|
|
22
|
-
*/
|
|
23
|
-
this.activeIcon = input([], {
|
|
24
|
-
transform: coerceStringArray
|
|
25
|
-
});
|
|
26
|
-
/**
|
|
27
|
-
* Enables the clearing upon clicking the selected item again.
|
|
28
|
-
* @type: boolean
|
|
29
|
-
* @default: false
|
|
30
|
-
*/
|
|
31
|
-
this.allowClear = input(false, { transform: booleanAttribute });
|
|
32
|
-
/**
|
|
33
|
-
* Toggle the disabled state for the component.
|
|
34
|
-
* @type: boolean
|
|
35
|
-
* @default: false
|
|
36
|
-
*/
|
|
37
|
-
this.disabled = input(false, { transform: booleanAttribute });
|
|
38
|
-
this.#disabledState = signal(this.disabled());
|
|
39
|
-
/**
|
|
40
|
-
* If enabled, only the currently selected icon will be visibly highlighted.
|
|
41
|
-
* @type: boolean
|
|
42
|
-
* @default: false
|
|
43
|
-
*/
|
|
44
|
-
this.highlightOnlySelected = input(false, { transform: booleanAttribute });
|
|
45
|
-
/**
|
|
46
|
-
* The default icon to display when the item is not selected.
|
|
47
|
-
* @type: string | string[]
|
|
48
|
-
*/
|
|
49
|
-
this.icon = input([], {
|
|
50
|
-
transform: coerceStringArray
|
|
51
|
-
});
|
|
52
|
-
/**
|
|
53
|
-
* Specifies the total number of stars to be displayed in the star rating component. This property determines the scale of the rating,
|
|
54
|
-
* such as out of 5 stars, 10 stars, etc.
|
|
55
|
-
* @type: number
|
|
56
|
-
* @default: 5
|
|
57
|
-
*/
|
|
58
|
-
this.itemCount = input(5, { transform: numberAttribute });
|
|
59
|
-
/**
|
|
60
|
-
* Minimum increment value change allowed.
|
|
61
|
-
* @type: number
|
|
62
|
-
* @default: 1
|
|
63
|
-
*/
|
|
64
|
-
this.precision = input(1, { transform: numberAttribute });
|
|
65
|
-
/**
|
|
66
|
-
* Allows to click fractions
|
|
67
|
-
* @type: boolean
|
|
68
|
-
* @default: false
|
|
69
|
-
*/
|
|
70
|
-
// readonly precisionClick = input(false, { transform: booleanAttribute });
|
|
71
|
-
/**
|
|
72
|
-
* Toggle the readonly state for the component.
|
|
73
|
-
* @type: boolean
|
|
74
|
-
* @default: false
|
|
75
|
-
*/
|
|
76
|
-
this.readOnly = input(false, { transform: booleanAttribute });
|
|
77
|
-
/**
|
|
78
|
-
* Size the component small, large, or custom if you define custom icons with custom height.
|
|
79
|
-
* @type: 'sm' | 'lg' | 'custom' | undefined
|
|
80
|
-
* @default: undefined
|
|
81
|
-
*/
|
|
82
|
-
this.size = input(undefined);
|
|
83
|
-
/**
|
|
84
|
-
* Enable tooltips with default values or set specific labels for each icon.
|
|
85
|
-
* @type: boolean | string[] | undefined
|
|
86
|
-
* @default: undefined
|
|
87
|
-
*/
|
|
88
|
-
this.tooltips = input(undefined);
|
|
89
|
-
/**
|
|
90
|
-
* The `value` attribute of component.
|
|
91
|
-
* @type: number | null
|
|
92
|
-
* @default: null
|
|
93
|
-
* Emits `valueChange` on value change
|
|
94
|
-
*/
|
|
95
|
-
this.value = model(null);
|
|
96
|
-
/**
|
|
97
|
-
* Event emitted on hoverValue change.
|
|
98
|
-
* @type: number | null
|
|
99
|
-
*/
|
|
100
|
-
this.hoverValue = signal(null);
|
|
101
|
-
this.hoverValueChange = output();
|
|
102
|
-
this.hoverValueEffect = effect(() => {
|
|
103
|
-
this.hoverValueChange.emit(this.hoverValue());
|
|
104
|
-
if (!this.hoverValue()) {
|
|
105
|
-
this.hoveredItem.set(undefined);
|
|
106
|
-
}
|
|
107
|
-
}, { allowSignalWrites: true });
|
|
108
|
-
this.#cleared = signal(false);
|
|
109
|
-
this.hoveredItem = signal(undefined);
|
|
110
|
-
this.tooltipValue = signal(null);
|
|
111
|
-
this.ratingDisabled = computed(() => this.disabled() || this.readOnly() || this.#disabledState());
|
|
112
|
-
this.ratingDisabledEffect = effect(() => {
|
|
113
|
-
if (!this.ratingDisabled()) {
|
|
114
|
-
const focusIn$ = fromEvent(this.#elementRef.nativeElement, 'focusin');
|
|
115
|
-
const focusOut$ = fromEvent(this.#elementRef.nativeElement, 'focusout');
|
|
116
|
-
const mouseLeave$ = fromEvent(this.#elementRef.nativeElement, 'mouseleave');
|
|
117
|
-
merge(focusIn$, focusOut$, mouseLeave$)
|
|
118
|
-
.pipe(filter((event) => !this.ratingDisabled()), tap(($event) => {
|
|
119
|
-
switch ($event.type) {
|
|
120
|
-
case 'focusin':
|
|
121
|
-
this.onTouched();
|
|
122
|
-
break;
|
|
123
|
-
case 'focusout':
|
|
124
|
-
case 'mouseleave':
|
|
125
|
-
this.hoverValue.set(null);
|
|
126
|
-
break;
|
|
127
|
-
}
|
|
128
|
-
}), takeWhile(() => !this.ratingDisabled()), takeUntilDestroyed(this.#destroyRef))
|
|
129
|
-
.subscribe();
|
|
130
|
-
}
|
|
131
|
-
});
|
|
132
|
-
this.contentTemplates = contentChildren(TemplateIdDirective);
|
|
133
|
-
this.iconTemplates = computed(() => {
|
|
134
|
-
const templateArray = this.contentTemplates().map((child) => {
|
|
135
|
-
return [[child.id], child.templateRef];
|
|
136
|
-
});
|
|
137
|
-
return Object.fromEntries(templateArray);
|
|
138
|
-
});
|
|
139
|
-
this.numberOfSubItems = computed(() => {
|
|
140
|
-
return parseInt((1 / this.precision()).toFixed());
|
|
141
|
-
});
|
|
142
|
-
this.ratingItems = computed(() => {
|
|
143
|
-
return Array.from({ length: this.itemCount() }, (_, itemIndex) => {
|
|
144
|
-
if (this.numberOfSubItems() === 1) {
|
|
145
|
-
return [itemIndex + 1];
|
|
146
|
-
}
|
|
147
|
-
return Array.from({ length: this.numberOfSubItems() }, (_, subIndex) => itemIndex + (subIndex + 1) * this.precision());
|
|
148
|
-
});
|
|
149
|
-
});
|
|
150
|
-
this.ratingItemLabels = viewChildren(RatingItemLabelComponent);
|
|
151
|
-
this.ratingItemLabelsEffect = effect(() => {
|
|
152
|
-
if (untracked(this.ratingDisabled)) {
|
|
153
|
-
return;
|
|
154
|
-
}
|
|
155
|
-
this.#focusKeyManager = new FocusKeyManager(this.ratingItemLabels()).withHorizontalOrientation('ltr').withWrap();
|
|
156
|
-
const activeItemIndex = this.ratingItems()
|
|
157
|
-
.flat()
|
|
158
|
-
.findIndex((value) => value === coerceNumber(this.value() ?? 0));
|
|
159
|
-
this.#focusKeyManager?.updateActiveItem(activeItemIndex < 0 ? 0 : activeItemIndex);
|
|
160
|
-
this.#focusKeyManager.tabOut
|
|
161
|
-
.pipe(tap((x) => {
|
|
162
|
-
const activeItemIndex = untracked(this.ratingItems)
|
|
163
|
-
.flat()
|
|
164
|
-
.findIndex((value) => value === coerceNumber(untracked(this.value) ?? 0));
|
|
165
|
-
this.#focusKeyManager.updateActiveItem(activeItemIndex === -1 ? 0 : activeItemIndex);
|
|
166
|
-
this.updateFocusableItems();
|
|
167
|
-
}), takeUntilDestroyed(this.#destroyRef))
|
|
168
|
-
.subscribe();
|
|
169
|
-
this.#focusKeyManager.change
|
|
170
|
-
.pipe(tap((value) => {
|
|
171
|
-
this.ratingItemLabels().forEach((label, index) => {
|
|
172
|
-
label.focusable.set(index === this.#focusKeyManager.activeItemIndex);
|
|
173
|
-
if (index === this.#focusKeyManager.activeItemIndex) {
|
|
174
|
-
const value = untracked(label.value);
|
|
175
|
-
this.handleClick(value);
|
|
176
|
-
}
|
|
177
|
-
});
|
|
178
|
-
}), takeUntilDestroyed(this.#destroyRef))
|
|
179
|
-
.subscribe();
|
|
180
|
-
}, { allowSignalWrites: true });
|
|
181
|
-
this.onChange = (value) => {
|
|
182
|
-
/* empty */
|
|
183
|
-
};
|
|
184
|
-
this.onTouched = () => {
|
|
185
|
-
/* empty */
|
|
186
|
-
};
|
|
187
|
-
// keep it at the bottom of the code
|
|
188
|
-
this.valueEffect = effect(() => {
|
|
189
|
-
const ratingValue = this.value();
|
|
190
|
-
this.onChange(ratingValue);
|
|
191
|
-
if (untracked(this.ratingDisabled)) {
|
|
192
|
-
return;
|
|
193
|
-
}
|
|
194
|
-
if (untracked(this.#cleared)) {
|
|
195
|
-
this.#cleared.set(false);
|
|
196
|
-
return;
|
|
197
|
-
}
|
|
198
|
-
const activeItemIndex = this.ratingItems()
|
|
199
|
-
.flat()
|
|
200
|
-
.findIndex((value) => value === coerceNumber(ratingValue ?? 0));
|
|
201
|
-
this.#focusKeyManager?.updateActiveItem(activeItemIndex < 0 ? 0 : activeItemIndex);
|
|
202
|
-
this.updateFocusableItems();
|
|
203
|
-
}, { allowSignalWrites: true });
|
|
204
|
-
}
|
|
205
|
-
#destroyRef;
|
|
206
|
-
#elementRef;
|
|
207
|
-
#disabledState;
|
|
208
|
-
#cleared;
|
|
209
|
-
#focusKeyManager;
|
|
210
|
-
get hostClasses() {
|
|
211
|
-
return {
|
|
212
|
-
rating: true,
|
|
213
|
-
[`rating-${this.size()}`]: this.size(),
|
|
214
|
-
disabled: this.disabled() || this.#disabledState(),
|
|
215
|
-
readonly: this.readOnly()
|
|
216
|
-
};
|
|
217
|
-
}
|
|
218
|
-
get ariaValueNow() {
|
|
219
|
-
return this.value();
|
|
220
|
-
}
|
|
221
|
-
get ariaValueMax() {
|
|
222
|
-
return this.itemCount();
|
|
223
|
-
}
|
|
224
|
-
get role() {
|
|
225
|
-
return 'radiogroup';
|
|
226
|
-
}
|
|
227
|
-
onKeydown($event) {
|
|
228
|
-
if (this.ratingDisabled()) {
|
|
229
|
-
return false;
|
|
230
|
-
}
|
|
231
|
-
if (['Space', 'Enter'].includes($event.code)) {
|
|
232
|
-
$event.preventDefault();
|
|
233
|
-
const item = this.ratingItemLabels().find((label, index) => index === this.#focusKeyManager?.activeItemIndex);
|
|
234
|
-
this.handleClick(item?.value() ?? -1);
|
|
235
|
-
return;
|
|
236
|
-
}
|
|
237
|
-
if (['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown'].includes($event.key)) {
|
|
238
|
-
this.#focusKeyManager.onKeydown($event);
|
|
239
|
-
return;
|
|
240
|
-
}
|
|
241
|
-
if (['Tab'].includes($event.key)) {
|
|
242
|
-
this.#focusKeyManager?.tabOut.next();
|
|
243
|
-
}
|
|
244
|
-
return;
|
|
245
|
-
}
|
|
246
|
-
registerOnChange(fn) {
|
|
247
|
-
this.onChange = fn;
|
|
248
|
-
}
|
|
249
|
-
registerOnTouched(fn) {
|
|
250
|
-
this.onTouched = fn;
|
|
251
|
-
}
|
|
252
|
-
setDisabledState(isDisabled) {
|
|
253
|
-
this.#disabledState.set(isDisabled);
|
|
254
|
-
}
|
|
255
|
-
writeValue(value) {
|
|
256
|
-
this.value.set(value);
|
|
257
|
-
}
|
|
258
|
-
isItemActive(value) {
|
|
259
|
-
const localValue = this.hoverValue() ?? this.value() ?? -1;
|
|
260
|
-
return this.highlightOnlySelected() ? localValue === value : localValue >= value;
|
|
261
|
-
}
|
|
262
|
-
notLastItemStyle(value) {
|
|
263
|
-
return {
|
|
264
|
-
zIndex: this.numberOfSubItems() - value,
|
|
265
|
-
position: 'absolute',
|
|
266
|
-
width: `${this.precision() * (value + 1) * 100}%`,
|
|
267
|
-
overflow: 'hidden',
|
|
268
|
-
opacity: 0.1
|
|
269
|
-
};
|
|
270
|
-
}
|
|
271
|
-
handleFocusIn($event, itemValue) {
|
|
272
|
-
this.handleMouseEnter($event, itemValue);
|
|
273
|
-
}
|
|
274
|
-
handleClick(value) {
|
|
275
|
-
if (this.ratingDisabled()) {
|
|
276
|
-
return;
|
|
277
|
-
}
|
|
278
|
-
if (this.allowClear() && value === this.value()) {
|
|
279
|
-
this.#cleared.set(true);
|
|
280
|
-
this.value.set(null);
|
|
281
|
-
this.hoverValue.set(null);
|
|
282
|
-
}
|
|
283
|
-
else {
|
|
284
|
-
this.value.set(value);
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
handleMouseEnter($event, value) {
|
|
288
|
-
if (this.ratingDisabled()) {
|
|
289
|
-
return;
|
|
290
|
-
}
|
|
291
|
-
this.hoverValue.set(null);
|
|
292
|
-
this.hoverValue.set(value);
|
|
293
|
-
this.tooltipValue.set(value);
|
|
294
|
-
}
|
|
295
|
-
getTooltipValue(index) {
|
|
296
|
-
if (!this.hoverValue() || this.hoveredItem() !== index) {
|
|
297
|
-
return undefined;
|
|
298
|
-
}
|
|
299
|
-
if (Array.isArray(this.tooltips())) {
|
|
300
|
-
const tooltips = this.tooltips();
|
|
301
|
-
return tooltips[index];
|
|
302
|
-
}
|
|
303
|
-
return this.precision()
|
|
304
|
-
? (this.tooltipValue()?.toString() ?? '')
|
|
305
|
-
: this.ratingItems()
|
|
306
|
-
? (this.ratingItems()[index].at(-1) ?? '').toString()
|
|
307
|
-
: '';
|
|
308
|
-
}
|
|
309
|
-
updateFocusableItems() {
|
|
310
|
-
this.ratingItemLabels().forEach((label, index) => {
|
|
311
|
-
label.focusable.set(index === this.#focusKeyManager?.activeItemIndex);
|
|
312
|
-
});
|
|
313
|
-
}
|
|
314
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: RatingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
315
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: RatingComponent, isStandalone: true, selector: "c-rating", inputs: { activeIcon: { classPropertyName: "activeIcon", publicName: "activeIcon", isSignal: true, isRequired: false, transformFunction: null }, allowClear: { classPropertyName: "allowClear", publicName: "allowClear", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, highlightOnlySelected: { classPropertyName: "highlightOnlySelected", publicName: "highlightOnlySelected", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, itemCount: { classPropertyName: "itemCount", publicName: "itemCount", isSignal: true, isRequired: false, transformFunction: null }, precision: { classPropertyName: "precision", publicName: "precision", isSignal: true, isRequired: false, transformFunction: null }, readOnly: { classPropertyName: "readOnly", publicName: "readOnly", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, tooltips: { classPropertyName: "tooltips", publicName: "tooltips", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", hoverValueChange: "hoverValueChange" }, host: { listeners: { "keydown": "onKeydown($event)" }, properties: { "class": "this.hostClasses", "attr.aria-valuenow": "this.ariaValueNow", "attr.aria-valuemax": "this.ariaValueMax", "attr.role": "this.role" } }, providers: [
|
|
316
|
-
{
|
|
317
|
-
provide: NG_VALUE_ACCESSOR,
|
|
318
|
-
useExisting: forwardRef(() => RatingComponent),
|
|
319
|
-
multi: true
|
|
320
|
-
}
|
|
321
|
-
], queries: [{ propertyName: "contentTemplates", predicate: TemplateIdDirective, isSignal: true }], viewQueries: [{ propertyName: "ratingItemLabels", predicate: RatingItemLabelComponent, descendants: true, isSignal: true }], exportAs: ["cRating"], ngImport: i0, template: "@for (item of ratingItems(); track item; let itemIndex = $index, last = $last) {\n @if (tooltips()) {\n <div\n class=\"rating-item\"\n [cTooltip]=\"getTooltipValue(itemIndex)\"\n [cTooltipTrigger]=\"['hover', 'focusin']\"\n (mouseenter)=\"hoveredItem.set(itemIndex)\"\n (focusin)=\"hoveredItem.set(itemIndex)\"\n >\n <ng-container *ngTemplateOutlet=\"ratingItemLabel; context: { $implicit: item, itemIndex }\" />\n </div>\n } @else {\n <div class=\"rating-item\">\n <ng-container *ngTemplateOutlet=\"ratingItemLabel; context: { $implicit: item, itemIndex }\" />\n </div>\n }\n}\n\n<ng-template let-item let-itemIndex=\"itemIndex\" #ratingItemLabel>\n @for (itemValue of item; track radioIndex; let radioIndex = $index, last = $last) {\n <c-rating-item-label\n class=\"rating-item-label d-inline-block\"\n role=\"radio\"\n (click)=\"handleClick(itemValue)\"\n (focus)=\"handleFocusIn($event, itemValue)\"\n [ngClass]=\"{ active: isItemActive(itemValue) }\"\n (mouseenter)=\"handleMouseEnter($event, itemValue)\"\n [ngStyle]=\"radioIndex + 1 < numberOfSubItems() ? notLastItemStyle(radioIndex) : {}\"\n [value]=\"itemValue\"\n [attr.aria-label]=\"itemValue\"\n [attr.aria-checked]=\"itemValue === value()\"\n >\n @if (iconTemplates()[icon()[itemIndex] ?? icon()]) {\n <ng-container *ngTemplateOutlet=\"customIconTemplate; context: { $implicit: icon()?.[itemIndex] ?? icon() }\" />\n } @else {\n <ng-container *ngTemplateOutlet=\"defaultIconTemplate\" />\n }\n @if (iconTemplates()[activeIcon()[itemIndex] ?? activeIcon()]) {\n <ng-container *ngTemplateOutlet=\"customIconActiveTemplate; context: { $implicit: activeIcon()?.[itemIndex] ?? activeIcon() }\" />\n }\n </c-rating-item-label>\n }\n</ng-template>\n\n<ng-template #tooltipContent>\n <span>{{ hoverValue() }}</span>\n</ng-template>\n\n<ng-template #defaultIconTemplate>\n <div class=\"rating-item-icon\"></div>\n</ng-template>\n\n<ng-template #customIconTemplate let-icon>\n <div class=\"rating-item-custom-icon\">\n <ng-container *ngTemplateOutlet=\"iconTemplates()?.[icon] || defaultIconTemplate\" />\n </div>\n</ng-template>\n\n<ng-template #customIconActiveTemplate let-icon>\n <div class=\"rating-item-custom-icon-active\">\n <ng-container *ngTemplateOutlet=\"iconTemplates()?.[icon] || customIconTemplate\" />\n </div>\n</ng-template>\n", styles: [":host{display:inline-flex}:is(:host.disabled,:host.readonly) .rating-item-label{cursor:default}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(() => NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i0.forwardRef(() => NgTemplateOutlet), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(() => TooltipDirective), selector: "[cTooltip]", inputs: ["cTooltip", "cTooltipOptions", "cTooltipPlacement", "cTooltipRef", "cTooltipTrigger", "cTooltipVisible"], outputs: ["cTooltipVisibleChange"], exportAs: ["cTooltip"] }, { kind: "component", type: i0.forwardRef(() => RatingItemLabelComponent), selector: "c-rating-item-label", inputs: ["label", "value"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
322
|
-
}
|
|
323
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: RatingComponent, decorators: [{
|
|
324
|
-
type: Component,
|
|
325
|
-
args: [{ selector: 'c-rating', exportAs: 'cRating', standalone: true, imports: [
|
|
326
|
-
NgClass,
|
|
327
|
-
NgStyle,
|
|
328
|
-
NgTemplateOutlet,
|
|
329
|
-
forwardRef(() => TooltipDirective),
|
|
330
|
-
ElementRefDirective,
|
|
331
|
-
RatingItemLabelComponent
|
|
332
|
-
], providers: [
|
|
333
|
-
{
|
|
334
|
-
provide: NG_VALUE_ACCESSOR,
|
|
335
|
-
useExisting: forwardRef(() => RatingComponent),
|
|
336
|
-
multi: true
|
|
337
|
-
}
|
|
338
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "@for (item of ratingItems(); track item; let itemIndex = $index, last = $last) {\n @if (tooltips()) {\n <div\n class=\"rating-item\"\n [cTooltip]=\"getTooltipValue(itemIndex)\"\n [cTooltipTrigger]=\"['hover', 'focusin']\"\n (mouseenter)=\"hoveredItem.set(itemIndex)\"\n (focusin)=\"hoveredItem.set(itemIndex)\"\n >\n <ng-container *ngTemplateOutlet=\"ratingItemLabel; context: { $implicit: item, itemIndex }\" />\n </div>\n } @else {\n <div class=\"rating-item\">\n <ng-container *ngTemplateOutlet=\"ratingItemLabel; context: { $implicit: item, itemIndex }\" />\n </div>\n }\n}\n\n<ng-template let-item let-itemIndex=\"itemIndex\" #ratingItemLabel>\n @for (itemValue of item; track radioIndex; let radioIndex = $index, last = $last) {\n <c-rating-item-label\n class=\"rating-item-label d-inline-block\"\n role=\"radio\"\n (click)=\"handleClick(itemValue)\"\n (focus)=\"handleFocusIn($event, itemValue)\"\n [ngClass]=\"{ active: isItemActive(itemValue) }\"\n (mouseenter)=\"handleMouseEnter($event, itemValue)\"\n [ngStyle]=\"radioIndex + 1 < numberOfSubItems() ? notLastItemStyle(radioIndex) : {}\"\n [value]=\"itemValue\"\n [attr.aria-label]=\"itemValue\"\n [attr.aria-checked]=\"itemValue === value()\"\n >\n @if (iconTemplates()[icon()[itemIndex] ?? icon()]) {\n <ng-container *ngTemplateOutlet=\"customIconTemplate; context: { $implicit: icon()?.[itemIndex] ?? icon() }\" />\n } @else {\n <ng-container *ngTemplateOutlet=\"defaultIconTemplate\" />\n }\n @if (iconTemplates()[activeIcon()[itemIndex] ?? activeIcon()]) {\n <ng-container *ngTemplateOutlet=\"customIconActiveTemplate; context: { $implicit: activeIcon()?.[itemIndex] ?? activeIcon() }\" />\n }\n </c-rating-item-label>\n }\n</ng-template>\n\n<ng-template #tooltipContent>\n <span>{{ hoverValue() }}</span>\n</ng-template>\n\n<ng-template #defaultIconTemplate>\n <div class=\"rating-item-icon\"></div>\n</ng-template>\n\n<ng-template #customIconTemplate let-icon>\n <div class=\"rating-item-custom-icon\">\n <ng-container *ngTemplateOutlet=\"iconTemplates()?.[icon] || defaultIconTemplate\" />\n </div>\n</ng-template>\n\n<ng-template #customIconActiveTemplate let-icon>\n <div class=\"rating-item-custom-icon-active\">\n <ng-container *ngTemplateOutlet=\"iconTemplates()?.[icon] || customIconTemplate\" />\n </div>\n</ng-template>\n", styles: [":host{display:inline-flex}:is(:host.disabled,:host.readonly) .rating-item-label{cursor:default}\n"] }]
|
|
339
|
-
}], propDecorators: { hostClasses: [{
|
|
340
|
-
type: HostBinding,
|
|
341
|
-
args: ['class']
|
|
342
|
-
}], ariaValueNow: [{
|
|
343
|
-
type: HostBinding,
|
|
344
|
-
args: ['attr.aria-valuenow']
|
|
345
|
-
}], ariaValueMax: [{
|
|
346
|
-
type: HostBinding,
|
|
347
|
-
args: ['attr.aria-valuemax']
|
|
348
|
-
}], role: [{
|
|
349
|
-
type: HostBinding,
|
|
350
|
-
args: ['attr.role']
|
|
351
|
-
}], onKeydown: [{
|
|
352
|
-
type: HostListener,
|
|
353
|
-
args: ['keydown', ['$event']]
|
|
354
|
-
}] } });
|
|
355
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0aW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvcmF0aW5nL3JhdGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3JhdGluZy9yYXRpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsZUFBZSxFQUNmLFVBQVUsRUFDVixNQUFNLEVBQ04sVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsS0FBSyxFQUNMLGVBQWUsRUFDZixNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsRUFDVCxZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRSxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNyRSxPQUFPLEVBQUUs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ZixlQUFlLHF3REFUZjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDO2dCQUM5QyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMkRBZ0oyQyxtQkFBbUIsa0ZBeUJ0Qix3QkFBd0IsdUZDbE9uRSx3NkVBK0RBLCtLRHJCSSxPQUFPLHlHQUNQLE9BQU8sZ0dBQ1AsZ0JBQWdCLHlLQUNDLGdCQUFnQiwyUEFFakMsd0JBQXdCOzsyRkFhZixlQUFlO2tCQXZCM0IsU0FBUzsrQkFDRSxVQUFVLFlBQ1YsU0FBUyxjQUNQLElBQUksV0FDUDt3QkFDUCxPQUFPO3dCQUNQLE9BQU87d0JBQ1AsZ0JBQWdCO3dCQUNoQixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7d0JBQ2xDLG1CQUFtQjt3QkFDbkIsd0JBQXdCO3FCQUN6QixhQUdVO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDOzRCQUM5QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTTs4QkF5TjNDLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPO2dCQVdoQixZQUFZO3NCQURmLFdBQVc7dUJBQUMsb0JBQW9CO2dCQU03QixZQUFZO3NCQURmLFdBQVc7dUJBQUMsb0JBQW9CO2dCQU03QixJQUFJO3NCQURQLFdBQVc7dUJBQUMsV0FBVztnQkFNeEIsU0FBUztzQkFEUixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvY3VzS2V5TWFuYWdlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7XG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBjb250ZW50Q2hpbGRyZW4sXG4gIERlc3Ryb3lSZWYsXG4gIGVmZmVjdCxcbiAgRWxlbWVudFJlZixcbiAgZm9yd2FyZFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgSW5wdXRTaWduYWxXaXRoVHJhbnNmb3JtLFxuICBtb2RlbCxcbiAgbnVtYmVyQXR0cmlidXRlLFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbiAgdW50cmFja2VkLFxuICB2aWV3Q2hpbGRyZW5cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ1N0eWxlLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGZyb21FdmVudCwgbWVyZ2UsIHRha2VXaGlsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnLi4vdG9vbHRpcCc7XG5pbXBvcnQgeyBFbGVtZW50UmVmRGlyZWN0aXZlLCBUZW1wbGF0ZUlkRGlyZWN0aXZlIH0gZnJvbSAnLi4vc2hhcmVkJztcbmltcG9ydCB7IFJhdGluZ0l0ZW1MYWJlbENvbXBvbmVudCB9IGZyb20gJy4vcmF0aW5nLWl0ZW0tbGFiZWwvcmF0aW5nLWl0ZW0tbGFiZWwuY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IGNvZXJjZVN0cmluZ0FycmF5ID0gKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHN0cmluZ1tdID0+IChBcnJheS5pc0FycmF5KHZhbHVlKSA/IFsuLi52YWx1ZV0gOiBbdmFsdWVdKTtcbmV4cG9ydCBjb25zdCBjb2VyY2VSYXRpbmdQcmVjaXNpb24gPSAodmFsdWU6IG51bWJlciB8IHN0cmluZyk6IG51bWJlciA9PlxuICBbMSwgMC41LCAwLjI1XS5pbmNsdWRlcyhudW1iZXJBdHRyaWJ1dGUodmFsdWUpKSA/IG51bWJlckF0dHJpYnV0ZSh2YWx1ZSkgOiAxO1xuZXhwb3J0IGNvbnN0IGNvZXJjZU51bWJlciA9ICh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nIHwgbnVsbCk6IG51bWJlciA9PiBOdW1iZXIodmFsdWUgPz8gMCk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2MtcmF0aW5nJyxcbiAgZXhwb3J0QXM6ICdjUmF0aW5nJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nQ2xhc3MsXG4gICAgTmdTdHlsZSxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIGZvcndhcmRSZWYoKCkgPT4gVG9vbHRpcERpcmVjdGl2ZSksXG4gICAgRWxlbWVudFJlZkRpcmVjdGl2ZSxcbiAgICBSYXRpbmdJdGVtTGFiZWxDb21wb25lbnRcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3JhdGluZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9yYXRpbmcuY29tcG9uZW50LnNjc3MnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJhdGluZ0NvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUmF0aW5nQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICByZWFkb25seSAjZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgcmVhZG9ubHkgI2VsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IGljb24gdG8gZGlzcGxheSB3aGVuIHRoZSBpdGVtIGlzIHNlbGVjdGVkLlxuICAgKiBAdHlwZTogc3RyaW5nIHwgc3RyaW5nW11cbiAgICovXG4gIHJlYWRvbmx5IGFjdGl2ZUljb246IElucHV0U2lnbmFsV2l0aFRyYW5zZm9ybTxzdHJpbmdbXSwgc3RyaW5nIHwgc3RyaW5nW10+ID0gaW5wdXQoW10sIHtcbiAgICB0cmFuc2Zvcm06IGNvZXJjZVN0cmluZ0FycmF5XG4gIH0pO1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIHRoZSBjbGVhcmluZyB1cG9uIGNsaWNraW5nIHRoZSBzZWxlY3RlZCBpdGVtIGFnYWluLlxuICAgKiBAdHlwZTogYm9vbGVhblxuICAgKiBAZGVmYXVsdDogZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGFsbG93Q2xlYXIgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cbiAgLyoqXG4gICAqIFRvZ2dsZSB0aGUgZGlzYWJsZWQgc3RhdGUgZm9yIHRoZSBjb21wb25lbnQuXG4gICAqIEB0eXBlOiBib29sZWFuXG4gICAqIEBkZWZhdWx0OiBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG4gIHJlYWRvbmx5ICNkaXNhYmxlZFN0YXRlID0gc2lnbmFsKHRoaXMuZGlzYWJsZWQoKSk7XG5cbiAgLyoqXG4gICAqIElmIGVuYWJsZWQsIG9ubHkgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBpY29uIHdpbGwgYmUgdmlzaWJseSBoaWdobGlnaHRlZC5cbiAgICogQHR5cGU6IGJvb2xlYW5cbiAgICogQGRlZmF1bHQ6IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBoaWdobGlnaHRPbmx5U2VsZWN0ZWQgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IGljb24gdG8gZGlzcGxheSB3aGVuIHRoZSBpdGVtIGlzIG5vdCBzZWxlY3RlZC5cbiAgICogQHR5cGU6IHN0cmluZyB8IHN0cmluZ1tdXG4gICAqL1xuICByZWFkb25seSBpY29uOiBJbnB1dFNpZ25hbFdpdGhUcmFuc2Zvcm08c3RyaW5nW10sIHN0cmluZyB8IHN0cmluZ1tdPiA9IGlucHV0KFtdLCB7XG4gICAgdHJhbnNmb3JtOiBjb2VyY2VTdHJpbmdBcnJheVxuICB9KTtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSB0b3RhbCBudW1iZXIgb2Ygc3RhcnMgdG8gYmUgZGlzcGxheWVkIGluIHRoZSBzdGFyIHJhdGluZyBjb21wb25lbnQuIFRoaXMgcHJvcGVydHkgZGV0ZXJtaW5lcyB0aGUgc2NhbGUgb2YgdGhlIHJhdGluZyxcbiAgICogc3VjaCBhcyBvdXQgb2YgNSBzdGFycywgMTAgc3RhcnMsIGV0Yy5cbiAgICogQHR5cGU6IG51bWJlclxuICAgKiBAZGVmYXVsdDogNVxuICAgKi9cbiAgcmVhZG9ubHkgaXRlbUNvdW50ID0gaW5wdXQoNSwgeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KTtcblxuICAvKipcbiAgICogTWluaW11bSBpbmNyZW1lbnQgdmFsdWUgY2hhbmdlIGFsbG93ZWQuXG4gICAqIEB0eXBlOiBudW1iZXJcbiAgICogQGRlZmF1bHQ6IDFcbiAgICovXG4gIHJlYWRvbmx5IHByZWNpc2lvbiA9IGlucHV0KDEsIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSk7XG5cbiAgLyoqXG4gICAqIEFsbG93cyB0byBjbGljayBmcmFjdGlvbnNcbiAgICogQHR5cGU6IGJvb2xlYW5cbiAgICogQGRlZmF1bHQ6IGZhbHNlXG4gICAqL1xuICAvLyByZWFkb25seSBwcmVjaXNpb25DbGljayA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuICAvKipcbiAgICogVG9nZ2xlIHRoZSByZWFkb25seSBzdGF0ZSBmb3IgdGhlIGNvbXBvbmVudC5cbiAgICogQHR5cGU6IGJvb2xlYW5cbiAgICogQGRlZmF1bHQ6IGZhbHNlXG4gICAqL1xuICByZWFkb25seSByZWFkT25seSA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuICAvKipcbiAgICogU2l6ZSB0aGUgY29tcG9uZW50IHNtYWxsLCBsYXJnZSwgb3IgY3VzdG9tIGlmIHlvdSBkZWZpbmUgY3VzdG9tIGljb25zIHdpdGggY3VzdG9tIGhlaWdodC5cbiAgICogQHR5cGU6ICdzbScgfCAnbGcnIHwgJ2N1c3RvbScgfCB1bmRlZmluZWRcbiAgICogQGRlZmF1bHQ6IHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgc2l6ZSA9IGlucHV0PCdzbScgfCAnbGcnIHwgJ2N1c3RvbScgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgLyoqXG4gICAqIEVuYWJsZSB0b29sdGlwcyB3aXRoIGRlZmF1bHQgdmFsdWVzIG9yIHNldCBzcGVjaWZpYyBsYWJlbHMgZm9yIGVhY2ggaWNvbi5cbiAgICogQHR5cGU6IGJvb2xlYW4gfCBzdHJpbmdbXSB8IHVuZGVmaW5lZFxuICAgKiBAZGVmYXVsdDogdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSB0b29sdGlwcyA9IGlucHV0PGJvb2xlYW4gfCBzdHJpbmdbXSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICAvKipcbiAgICogVGhlIGB2YWx1ZWAgYXR0cmlidXRlIG9mIGNvbXBvbmVudC5cbiAgICogQHR5cGU6IG51bWJlciB8IG51bGxcbiAgICogQGRlZmF1bHQ6IG51bGxcbiAgICogRW1pdHMgYHZhbHVlQ2hhbmdlYCBvbiB2YWx1ZSBjaGFuZ2VcbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlID0gbW9kZWw8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgb24gaG92ZXJWYWx1ZSBjaGFuZ2UuXG4gICAqIEB0eXBlOiBudW1iZXIgfCBudWxsXG4gICAqL1xuICByZWFkb25seSBob3ZlclZhbHVlID0gc2lnbmFsPG51bWJlciB8IG51bGw+KG51bGwpO1xuICByZWFkb25seSBob3ZlclZhbHVlQ2hhbmdlID0gb3V0cHV0PG51bWJlciB8IG51bGw+KCk7XG4gIHJlYWRvbmx5IGhvdmVyVmFsdWVFZmZlY3QgPSBlZmZlY3QoXG4gICAgKCkgPT4ge1xuICAgICAgdGhpcy5ob3ZlclZhbHVlQ2hhbmdlLmVtaXQodGhpcy5ob3ZlclZhbHVlKCkpO1xuICAgICAgaWYgKCF0aGlzLmhvdmVyVmFsdWUoKSkge1xuICAgICAgICB0aGlzLmhvdmVyZWRJdGVtLnNldCh1bmRlZmluZWQpO1xuICAgICAgfVxuICAgIH0sXG4gICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XG4gICk7XG5cbiAgcmVhZG9ubHkgI2NsZWFyZWQgPSBzaWduYWwoZmFsc2UpO1xuICByZWFkb25seSBob3ZlcmVkSXRlbSA9IHNpZ25hbDxudW1iZXIgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IHRvb2x0aXBWYWx1ZSA9IHNpZ25hbDxzdHJpbmcgfCBudW1iZXIgfCBudWxsPihudWxsKTtcblxuICByZWFkb25seSByYXRpbmdEaXNhYmxlZCA9IGNvbXB1dGVkPGJvb2xlYW4+KCgpID0+IHRoaXMuZGlzYWJsZWQoKSB8fCB0aGlzLnJlYWRPbmx5KCkgfHwgdGhpcy4jZGlzYWJsZWRTdGF0ZSgpKTtcbiAgcmVhZG9ubHkgcmF0aW5nRGlzYWJsZWRFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGlmICghdGhpcy5yYXRpbmdEaXNhYmxlZCgpKSB7XG4gICAgICBjb25zdCBmb2N1c0luJCA9IGZyb21FdmVudDxGb2N1c0V2ZW50Pih0aGlzLiNlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdmb2N1c2luJyk7XG4gICAgICBjb25zdCBmb2N1c091dCQgPSBmcm9tRXZlbnQ8Rm9jdXNFdmVudD4odGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZm9jdXNvdXQnKTtcbiAgICAgIGNvbnN0IG1vdXNlTGVhdmUkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ21vdXNlbGVhdmUnKTtcblxuICAgICAgbWVyZ2UoZm9jdXNJbiQsIGZvY3VzT3V0JCwgbW91c2VMZWF2ZSQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGZpbHRlcigoZXZlbnQpID0+ICF0aGlzLnJhdGluZ0Rpc2FibGVkKCkpLFxuICAgICAgICAgIHRhcCgoJGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBzd2l0Y2ggKCRldmVudC50eXBlKSB7XG4gICAgICAgICAgICAgIGNhc2UgJ2ZvY3VzaW4nOlxuICAgICAgICAgICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIGNhc2UgJ2ZvY3Vzb3V0JzpcbiAgICAgICAgICAgICAgY2FzZSAnbW91c2VsZWF2ZSc6XG4gICAgICAgICAgICAgICAgdGhpcy5ob3ZlclZhbHVlLnNldChudWxsKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSxcbiAgICAgICAgICB0YWtlV2hpbGUoKCkgPT4gIXRoaXMucmF0aW5nRGlzYWJsZWQoKSksXG4gICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuI2Rlc3Ryb3lSZWYpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfSk7XG5cbiAgcmVhZG9ubHkgY29udGVudFRlbXBsYXRlcyA9IGNvbnRlbnRDaGlsZHJlbihUZW1wbGF0ZUlkRGlyZWN0aXZlKTtcblxuICByZWFkb25seSBpY29uVGVtcGxhdGVzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHRlbXBsYXRlQXJyYXkgPSB0aGlzLmNvbnRlbnRUZW1wbGF0ZXMoKS5tYXAoKGNoaWxkOiBUZW1wbGF0ZUlkRGlyZWN0aXZlKSA9PiB7XG4gICAgICByZXR1cm4gW1tjaGlsZC5pZF0sIGNoaWxkLnRlbXBsYXRlUmVmXTtcbiAgICB9KTtcbiAgICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKHRlbXBsYXRlQXJyYXkpO1xuICB9KTtcblxuICByZWFkb25seSBudW1iZXJPZlN1Ykl0ZW1zID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiBwYXJzZUludCgoMSAvIHRoaXMucHJlY2lzaW9uKCkpLnRvRml4ZWQoKSk7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IHJhdGluZ0l0ZW1zID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiB0aGlzLml0ZW1Db3VudCgpIH0sIChfLCBpdGVtSW5kZXgpID0+IHtcbiAgICAgIGlmICh0aGlzLm51bWJlck9mU3ViSXRlbXMoKSA9PT0gMSkge1xuICAgICAgICByZXR1cm4gW2l0ZW1JbmRleCArIDFdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIEFycmF5LmZyb20oXG4gICAgICAgIHsgbGVuZ3RoOiB0aGlzLm51bWJlck9mU3ViSXRlbXMoKSB9LFxuICAgICAgICAoXywgc3ViSW5kZXgpID0+IGl0ZW1JbmRleCArIChzdWJJbmRleCArIDEpICogdGhpcy5wcmVjaXNpb24oKVxuICAgICAgKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgcmF0aW5nSXRlbUxhYmVscyA9IHZpZXdDaGlsZHJlbihSYXRpbmdJdGVtTGFiZWxDb21wb25lbnQpO1xuICAjZm9jdXNLZXlNYW5hZ2VyITogRm9jdXNLZXlNYW5hZ2VyPFJhdGluZ0l0ZW1MYWJlbENvbXBvbmVudD47XG5cbiAgcmVhZG9ubHkgcmF0aW5nSXRlbUxhYmVsc0VmZmVjdCA9IGVmZmVjdChcbiAgICAoKSA9PiB7XG4gICAgICBpZiAodW50cmFja2VkKHRoaXMucmF0aW5nRGlzYWJsZWQpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuI2ZvY3VzS2V5TWFuYWdlciA9IG5ldyBGb2N1c0tleU1hbmFnZXIodGhpcy5yYXRpbmdJdGVtTGFiZWxzKCkpLndpdGhIb3Jpem9udGFsT3JpZW50YXRpb24oJ2x0cicpLndpdGhXcmFwKCk7XG5cbiAgICAgIGNvbnN0IGFjdGl2ZUl0ZW1JbmRleCA9IHRoaXMucmF0aW5nSXRlbXMoKVxuICAgICAgICAuZmxhdCgpXG4gICAgICAgIC5maW5kSW5kZXgoKHZhbHVlKSA9PiB2YWx1ZSA9PT0gY29lcmNlTnVtYmVyKHRoaXMudmFsdWUoKSA/PyAwKSk7XG5cbiAgICAgIHRoaXMuI2ZvY3VzS2V5TWFuYWdlcj8udXBkYXRlQWN0aXZlSXRlbShhY3RpdmVJdGVtSW5kZXggPCAwID8gMCA6IGFjdGl2ZUl0ZW1JbmRleCk7XG5cbiAgICAgIHRoaXMuI2ZvY3VzS2V5TWFuYWdlci50YWJPdXRcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFwKCh4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhY3RpdmVJdGVtSW5kZXggPSB1bnRyYWNrZWQodGhpcy5yYXRpbmdJdGVtcylcbiAgICAgICAgICAgICAgLmZsYXQoKVxuICAgICAgICAgICAgICAuZmluZEluZGV4KCh2YWx1ZSkgPT4gdmFsdWUgPT09IGNvZXJjZU51bWJlcih1bnRyYWNrZWQodGhpcy52YWx1ZSkgPz8gMCkpO1xuXG4gICAgICAgICAgICB0aGlzLiNmb2N1c0tleU1hbmFnZXIudXBkYXRlQWN0aXZlSXRlbShhY3RpdmVJdGVtSW5kZXggPT09IC0xID8gMCA6IGFjdGl2ZUl0ZW1JbmRleCk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzYWJsZUl0ZW1zKCk7XG4gICAgICAgICAgfSksXG4gICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuI2Rlc3Ryb3lSZWYpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgICB0aGlzLiNmb2N1c0tleU1hbmFnZXIuY2hhbmdlXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHRhcCgodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHRoaXMucmF0aW5nSXRlbUxhYmVscygpLmZvckVhY2goKGxhYmVsLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICBsYWJlbC5mb2N1c2FibGUuc2V0KGluZGV4ID09PSB0aGlzLiNmb2N1c0tleU1hbmFnZXIuYWN0aXZlSXRlbUluZGV4KTtcbiAgICAgICAgICAgICAgaWYgKGluZGV4ID09PSB0aGlzLiNmb2N1c0tleU1hbmFnZXIuYWN0aXZlSXRlbUluZGV4KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB1bnRyYWNrZWQobGFiZWwudmFsdWUpO1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlQ2xpY2sodmFsdWUpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy4jZGVzdHJveVJlZilcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfSxcbiAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH1cbiAgKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGhvc3RDbGFzc2VzKCkge1xuICAgIHJldHVybiB7XG4gICAgICByYXRpbmc6IHRydWUsXG4gICAgICBbYHJhdGluZy0ke3RoaXMuc2l6ZSgpfWBdOiB0aGlzLnNpemUoKSxcbiAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkKCkgfHwgdGhpcy4jZGlzYWJsZWRTdGF0ZSgpLFxuICAgICAgcmVhZG9ubHk6IHRoaXMucmVhZE9ubHkoKVxuICAgIH07XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS12YWx1ZW5vdycpXG4gIGdldCBhcmlhVmFsdWVOb3coKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUoKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLXZhbHVlbWF4JylcbiAgZ2V0IGFyaWFWYWx1ZU1heCgpIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtQ291bnQoKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgZ2V0IHJvbGUoKSB7XG4gICAgcmV0dXJuICdyYWRpb2dyb3VwJztcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICBvbktleWRvd24oJGV2ZW50OiBhbnkpIHtcbiAgICBpZiAodGhpcy5yYXRpbmdEaXNhYmxlZCgpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmIChbJ1NwYWNlJywgJ0VudGVyJ10uaW5jbHVkZXMoJGV2ZW50LmNvZGUpKSB7XG4gICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLnJhdGluZ0l0ZW1MYWJlbHMoKS5maW5kKChsYWJlbCwgaW5kZXgpID0+IGluZGV4ID09PSB0aGlzLiNmb2N1c0tleU1hbmFnZXI/LmFjdGl2ZUl0ZW1JbmRleCk7XG4gICAgICB0aGlzLmhhbmRsZUNsaWNrKGl0ZW0/LnZhbHVlKCkgPz8gLTEpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoWydBcnJvd0xlZnQnLCAnQXJyb3dSaWdodCcsICdBcnJvd1VwJywgJ0Fycm93RG93biddLmluY2x1ZGVzKCRldmVudC5rZXkpKSB7XG4gICAgICB0aGlzLiNmb2N1c0tleU1hbmFnZXIub25LZXlkb3duKCRldmVudCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChbJ1RhYiddLmluY2x1ZGVzKCRldmVudC5rZXkpKSB7XG4gICAgICB0aGlzLiNmb2N1c0tleU1hbmFnZXI/LnRhYk91dC5uZXh0KCk7XG4gICAgfVxuICAgIHJldHVybjtcbiAgfVxuXG4gIG9uQ2hhbmdlID0gKHZhbHVlOiBudW1iZXIgfCBudWxsKSA9PiB7XG4gICAgLyogZW1wdHkgKi9cbiAgfTtcbiAgb25Ub3VjaGVkID0gKCkgPT4ge1xuICAgIC8qIGVtcHR5ICovXG4gIH07XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLiNkaXNhYmxlZFN0YXRlLnNldChpc0Rpc2FibGVkKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IG51bWJlciB8IG51bGwpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlLnNldCh2YWx1ZSk7XG4gIH1cblxuICBpc0l0ZW1BY3RpdmUodmFsdWU6IG51bWJlcikge1xuICAgIGNvbnN0IGxvY2FsVmFsdWUgPSB0aGlzLmhvdmVyVmFsdWUoKSA/PyB0aGlzLnZhbHVlKCkgPz8gLTE7XG4gICAgcmV0dXJuIHRoaXMuaGlnaGxpZ2h0T25seVNlbGVjdGVkKCkgPyBsb2NhbFZhbHVlID09PSB2YWx1ZSA6IGxvY2FsVmFsdWUgPj0gdmFsdWU7XG4gIH1cblxuICBub3RMYXN0SXRlbVN0eWxlKHZhbHVlOiBudW1iZXIpIHtcbiAgICByZXR1cm4ge1xuICAgICAgekluZGV4OiB0aGlzLm51bWJlck9mU3ViSXRlbXMoKSAtIHZhbHVlLFxuICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICB3aWR0aDogYCR7dGhpcy5wcmVjaXNpb24oKSAqICh2YWx1ZSArIDEpICogMTAwfSVgLFxuICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgb3BhY2l0eTogMC4xXG4gICAgfTtcbiAgfVxuXG4gIGhhbmRsZUZvY3VzSW4oJGV2ZW50OiBGb2N1c0V2ZW50LCBpdGVtVmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuaGFuZGxlTW91c2VFbnRlcigkZXZlbnQgYXMgTW91c2VFdmVudCwgaXRlbVZhbHVlKTtcbiAgfVxuXG4gIGhhbmRsZUNsaWNrKHZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5yYXRpbmdEaXNhYmxlZCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLmFsbG93Q2xlYXIoKSAmJiB2YWx1ZSA9PT0gdGhpcy52YWx1ZSgpKSB7XG4gICAgICB0aGlzLiNjbGVhcmVkLnNldCh0cnVlKTtcbiAgICAgIHRoaXMudmFsdWUuc2V0KG51bGwpO1xuICAgICAgdGhpcy5ob3ZlclZhbHVlLnNldChudWxsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWx1ZS5zZXQodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZU1vdXNlRW50ZXIoJGV2ZW50OiBNb3VzZUV2ZW50LCB2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmF0aW5nRGlzYWJsZWQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmhvdmVyVmFsdWUuc2V0KG51bGwpO1xuICAgIHRoaXMuaG92ZXJWYWx1ZS5zZXQodmFsdWUpO1xuICAgIHRoaXMudG9vbHRpcFZhbHVlLnNldCh2YWx1ZSk7XG4gIH1cblxuICBnZXRUb29sdGlwVmFsdWUoaW5kZXg6IG51bWJlcik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCF0aGlzLmhvdmVyVmFsdWUoKSB8fCB0aGlzLmhvdmVyZWRJdGVtKCkgIT09IGluZGV4KSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnRvb2x0aXBzKCkpKSB7XG4gICAgICBjb25zdCB0b29sdGlwcyA9IHRoaXMudG9vbHRpcHMoKSBhcyBzdHJpbmdbXTtcbiAgICAgIHJldHVybiB0b29sdGlwc1tpbmRleF07XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnByZWNpc2lvbigpXG4gICAgICA/ICh0aGlzLnRvb2x0aXBWYWx1ZSgpPy50b1N0cmluZygpID8/ICcnKVxuICAgICAgOiB0aGlzLnJhdGluZ0l0ZW1zKClcbiAgICAgICAgPyAodGhpcy5yYXRpbmdJdGVtcygpW2luZGV4XS5hdCgtMSkgPz8gJycpLnRvU3RyaW5nKClcbiAgICAgICAgOiAnJztcbiAgfVxuXG4gIHVwZGF0ZUZvY3VzYWJsZUl0ZW1zKCkge1xuICAgIHRoaXMucmF0aW5nSXRlbUxhYmVscygpLmZvckVhY2goKGxhYmVsLCBpbmRleCkgPT4ge1xuICAgICAgbGFiZWwuZm9jdXNhYmxlLnNldChpbmRleCA9PT0gdGhpcy4jZm9jdXNLZXlNYW5hZ2VyPy5hY3RpdmVJdGVtSW5kZXgpO1xuICAgIH0pO1xuICB9XG5cbiAgLy8ga2VlcCBpdCBhdCB0aGUgYm90dG9tIG9mIHRoZSBjb2RlXG4gIHJlYWRvbmx5IHZhbHVlRWZmZWN0ID0gZWZmZWN0KFxuICAgICgpID0+IHtcbiAgICAgIGNvbnN0IHJhdGluZ1ZhbHVlID0gdGhpcy52YWx1ZSgpO1xuICAgICAgdGhpcy5vbkNoYW5nZShyYXRpbmdWYWx1ZSk7XG5cbiAgICAgIGlmICh1bnRyYWNrZWQodGhpcy5yYXRpbmdEaXNhYmxlZCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodW50cmFja2VkKHRoaXMuI2NsZWFyZWQpKSB7XG4gICAgICAgIHRoaXMuI2NsZWFyZWQuc2V0KGZhbHNlKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgYWN0aXZlSXRlbUluZGV4ID0gdGhpcy5yYXRpbmdJdGVtcygpXG4gICAgICAgIC5mbGF0KClcbiAgICAgICAgLmZpbmRJbmRleCgodmFsdWUpID0+IHZhbHVlID09PSBjb2VyY2VOdW1iZXIocmF0aW5nVmFsdWUgPz8gMCkpO1xuXG4gICAgICB0aGlzLiNmb2N1c0tleU1hbmFnZXI/LnVwZGF0ZUFjdGl2ZUl0ZW0oYWN0aXZlSXRlbUluZGV4IDwgMCA/IDAgOiBhY3RpdmVJdGVtSW5kZXgpO1xuICAgICAgdGhpcy51cGRhdGVGb2N1c2FibGVJdGVtcygpO1xuICAgIH0sXG4gICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XG4gICk7XG59XG4iLCJAZm9yIChpdGVtIG9mIHJhdGluZ0l0ZW1zKCk7IHRyYWNrIGl0ZW07IGxldCBpdGVtSW5kZXggPSAkaW5kZXgsIGxhc3QgPSAkbGFzdCkge1xuICBAaWYgKHRvb2x0aXBzKCkpIHtcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInJhdGluZy1pdGVtXCJcbiAgICAgIFtjVG9vbHRpcF09XCJnZXRUb29sdGlwVmFsdWUoaXRlbUluZGV4KVwiXG4gICAgICBbY1Rvb2x0aXBUcmlnZ2VyXT1cIlsnaG92ZXInLCAnZm9jdXNpbiddXCJcbiAgICAgIChtb3VzZWVudGVyKT1cImhvdmVyZWRJdGVtLnNldChpdGVtSW5kZXgpXCJcbiAgICAgIChmb2N1c2luKT1cImhvdmVyZWRJdGVtLnNldChpdGVtSW5kZXgpXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmF0aW5nSXRlbUxhYmVsOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSwgaXRlbUluZGV4IH1cIiAvPlxuICAgIDwvZGl2PlxuICB9IEBlbHNlIHtcbiAgICA8ZGl2IGNsYXNzPVwicmF0aW5nLWl0ZW1cIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyYXRpbmdJdGVtTGFiZWw7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtLCBpdGVtSW5kZXggfVwiIC8+XG4gICAgPC9kaXY+XG4gIH1cbn1cblxuPG5nLXRlbXBsYXRlIGxldC1pdGVtIGxldC1pdGVtSW5kZXg9XCJpdGVtSW5kZXhcIiAjcmF0aW5nSXRlbUxhYmVsPlxuICBAZm9yIChpdGVtVmFsdWUgb2YgaXRlbTsgdHJhY2sgcmFkaW9JbmRleDsgbGV0IHJhZGlvSW5kZXggPSAkaW5kZXgsIGxhc3QgPSAkbGFzdCkge1xuICAgIDxjLXJhdGluZy1pdGVtLWxhYmVsXG4gICAgICBjbGFzcz1cInJhdGluZy1pdGVtLWxhYmVsIGQtaW5saW5lLWJsb2NrXCJcbiAgICAgIHJvbGU9XCJyYWRpb1wiXG4gICAgICAoY2xpY2spPVwiaGFuZGxlQ2xpY2soaXRlbVZhbHVlKVwiXG4gICAgICAoZm9jdXMpPVwiaGFuZGxlRm9jdXNJbigkZXZlbnQsIGl0ZW1WYWx1ZSlcIlxuICAgICAgW25nQ2xhc3NdPVwieyBhY3RpdmU6IGlzSXRlbUFjdGl2ZShpdGVtVmFsdWUpIH1cIlxuICAgICAgKG1vdXNlZW50ZXIpPVwiaGFuZGxlTW91c2VFbnRlcigkZXZlbnQsIGl0ZW1WYWx1ZSlcIlxuICAgICAgW25nU3R5bGVdPVwicmFkaW9JbmRleCArIDEgPCBudW1iZXJPZlN1Ykl0ZW1zKCkgPyBub3RMYXN0SXRlbVN0eWxlKHJhZGlvSW5kZXgpIDoge31cIlxuICAgICAgW3ZhbHVlXT1cIml0ZW1WYWx1ZVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW1WYWx1ZVwiXG4gICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwiaXRlbVZhbHVlID09PSB2YWx1ZSgpXCJcbiAgICA+XG4gICAgICBAaWYgKGljb25UZW1wbGF0ZXMoKVtpY29uKClbaXRlbUluZGV4XSA/PyBpY29uKCldKSB7XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjdXN0b21JY29uVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpY29uKCk/LltpdGVtSW5kZXhdID8/IGljb24oKSB9XCIgLz5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGVmYXVsdEljb25UZW1wbGF0ZVwiIC8+XG4gICAgICB9XG4gICAgICBAaWYgKGljb25UZW1wbGF0ZXMoKVthY3RpdmVJY29uKClbaXRlbUluZGV4XSA/PyBhY3RpdmVJY29uKCldKSB7XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjdXN0b21JY29uQWN0aXZlVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBhY3RpdmVJY29uKCk/LltpdGVtSW5kZXhdID8/IGFjdGl2ZUljb24oKSB9XCIgLz5cbiAgICAgIH1cbiAgICA8L2MtcmF0aW5nLWl0ZW0tbGFiZWw+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjdG9vbHRpcENvbnRlbnQ+XG4gIDxzcGFuPnt7IGhvdmVyVmFsdWUoKSB9fTwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEljb25UZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cInJhdGluZy1pdGVtLWljb25cIj48L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY3VzdG9tSWNvblRlbXBsYXRlIGxldC1pY29uPlxuICA8ZGl2IGNsYXNzPVwicmF0aW5nLWl0ZW0tY3VzdG9tLWljb25cIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaWNvblRlbXBsYXRlcygpPy5baWNvbl0gfHwgZGVmYXVsdEljb25UZW1wbGF0ZVwiIC8+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjdXN0b21JY29uQWN0aXZlVGVtcGxhdGUgbGV0LWljb24+XG4gIDxkaXYgY2xhc3M9XCJyYXRpbmctaXRlbS1jdXN0b20taWNvbi1hY3RpdmVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaWNvblRlbXBsYXRlcygpPy5baWNvbl0gfHwgY3VzdG9tSWNvblRlbXBsYXRlXCIgLz5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { RatingComponent } from './rating.component';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class RatingModule {
|
|
5
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: RatingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: RatingModule, imports: [RatingComponent], exports: [RatingComponent] }); }
|
|
7
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: RatingModule }); }
|
|
8
|
-
}
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: RatingModule, decorators: [{
|
|
10
|
-
type: NgModule,
|
|
11
|
-
args: [{
|
|
12
|
-
imports: [RatingComponent],
|
|
13
|
-
exports: [RatingComponent]
|
|
14
|
-
}]
|
|
15
|
-
}] });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvcmF0aW5nL3JhdGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBTXJELE1BQU0sT0FBTyxZQUFZOzhHQUFaLFlBQVk7K0dBQVosWUFBWSxZQUhiLGVBQWUsYUFDZixlQUFlOytHQUVkLFlBQVk7OzJGQUFaLFlBQVk7a0JBSnhCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDO29CQUMxQixPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7aUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUmF0aW5nQ29tcG9uZW50IH0gZnJvbSAnLi9yYXRpbmcuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1JhdGluZ0NvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtSYXRpbmdDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIFJhdGluZ01vZHVsZSB7fVxuIl19
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable } from '@angular/core';
|
|
2
|
-
import { DOCUMENT } from '@angular/common';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class ClassToggleService {
|
|
5
|
-
constructor(document, rendererFactory) {
|
|
6
|
-
this.document = document;
|
|
7
|
-
this.rendererFactory = rendererFactory;
|
|
8
|
-
this.renderer = rendererFactory.createRenderer(null, null);
|
|
9
|
-
}
|
|
10
|
-
toggle(selector, className) {
|
|
11
|
-
const element = document.querySelector(selector);
|
|
12
|
-
if (element) {
|
|
13
|
-
element.classList.contains(className) ?
|
|
14
|
-
this.renderer.removeClass(element, className) :
|
|
15
|
-
this.renderer.addClass(element, className);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ClassToggleService, deps: [{ token: DOCUMENT }, { token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
19
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ClassToggleService, providedIn: 'root' }); }
|
|
20
|
-
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ClassToggleService, decorators: [{
|
|
22
|
-
type: Injectable,
|
|
23
|
-
args: [{
|
|
24
|
-
providedIn: 'root'
|
|
25
|
-
}]
|
|
26
|
-
}], ctorParameters: () => [{ type: Document, decorators: [{
|
|
27
|
-
type: Inject,
|
|
28
|
-
args: [DOCUMENT]
|
|
29
|
-
}] }, { type: i0.RendererFactory2 }] });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MtdG9nZ2xlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL2NsYXNzLXRvZ2dsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUErQixNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxrQkFBa0I7SUFJN0IsWUFDNEIsUUFBa0IsRUFDcEMsZUFBaUM7UUFEZixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ3BDLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQUV6QyxJQUFJLENBQUMsUUFBUSxHQUFHLGVBQWUsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxNQUFNLENBQUMsUUFBYSxFQUFFLFNBQWlCO1FBQ3JDLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakQsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO2dCQUMvQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7OEdBbEJVLGtCQUFrQixrQkFLbkIsUUFBUTtrSEFMUCxrQkFBa0IsY0FGakIsTUFBTTs7MkZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBTUksTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBSZW5kZXJlcjIsIFJlbmRlcmVyRmFjdG9yeTIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ2xhc3NUb2dnbGVTZXJ2aWNlIHtcblxuICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICAgcHJpdmF0ZSByZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTJcbiAgKSB7XG4gICAgdGhpcy5yZW5kZXJlciA9IHJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcihudWxsLCBudWxsKTtcbiAgfVxuXG4gIHRvZ2dsZShzZWxlY3RvcjogYW55LCBjbGFzc05hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKTtcbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoY2xhc3NOYW1lKSA/XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoZWxlbWVudCwgY2xhc3NOYW1lKSA6XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoZWxlbWVudCwgY2xhc3NOYW1lKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { DOCUMENT } from '@angular/common';
|
|
2
|
-
import { afterNextRender, DestroyRef, effect, inject, Injectable, signal } from '@angular/core';
|
|
3
|
-
import { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';
|
|
4
|
-
import { tap } from 'rxjs/operators';
|
|
5
|
-
import { LocalStorageService } from './local-storage.service';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class ColorModeService {
|
|
8
|
-
#destroyRef;
|
|
9
|
-
#document;
|
|
10
|
-
#localStorage;
|
|
11
|
-
constructor() {
|
|
12
|
-
this.#destroyRef = inject(DestroyRef);
|
|
13
|
-
this.#document = inject(DOCUMENT);
|
|
14
|
-
this.#localStorage = inject(LocalStorageService);
|
|
15
|
-
this.eventName = signal('ColorSchemeChange');
|
|
16
|
-
this.localStorageItemName = signal(undefined);
|
|
17
|
-
this.localStorageItemName$ = toObservable(this.localStorageItemName);
|
|
18
|
-
this.colorMode = signal(undefined);
|
|
19
|
-
this.colorModeEffect = effect(() => {
|
|
20
|
-
const colorMode = this.colorMode();
|
|
21
|
-
if (colorMode) {
|
|
22
|
-
const localStorageItemName = this.localStorageItemName();
|
|
23
|
-
localStorageItemName && this.setStoredTheme(localStorageItemName, colorMode);
|
|
24
|
-
this.#setTheme(colorMode);
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
afterNextRender({
|
|
28
|
-
read: () => {
|
|
29
|
-
this.localStorageItemName$
|
|
30
|
-
.pipe(tap((params) => {
|
|
31
|
-
this.colorMode.set(this.getDefaultScheme(params));
|
|
32
|
-
}), takeUntilDestroyed(this.#destroyRef))
|
|
33
|
-
.subscribe();
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
getStoredTheme(localStorageItemName) {
|
|
38
|
-
return this.#localStorage.getItem(localStorageItemName);
|
|
39
|
-
}
|
|
40
|
-
setStoredTheme(localStorageItemName, colorMode) {
|
|
41
|
-
return this.#localStorage.setItem(localStorageItemName, colorMode);
|
|
42
|
-
}
|
|
43
|
-
removeStoredTheme(localStorageItemName) {
|
|
44
|
-
this.#localStorage.removeItem(localStorageItemName);
|
|
45
|
-
}
|
|
46
|
-
getDefaultScheme(localStorageItemName) {
|
|
47
|
-
if (this.#document.defaultView === undefined) {
|
|
48
|
-
return this.getDatasetTheme();
|
|
49
|
-
}
|
|
50
|
-
const storedTheme = localStorageItemName && this.getStoredTheme(localStorageItemName);
|
|
51
|
-
return storedTheme ?? this.getDatasetTheme();
|
|
52
|
-
}
|
|
53
|
-
getPrefersColorScheme() {
|
|
54
|
-
return this.#document.defaultView?.matchMedia('(prefers-color-scheme: dark)').matches
|
|
55
|
-
? 'dark'
|
|
56
|
-
: this.#document.defaultView?.matchMedia('(prefers-color-scheme: light)').matches
|
|
57
|
-
? 'light'
|
|
58
|
-
: undefined;
|
|
59
|
-
}
|
|
60
|
-
getDatasetTheme() {
|
|
61
|
-
return this.#document.documentElement.dataset['coreuiTheme'];
|
|
62
|
-
}
|
|
63
|
-
#setTheme(colorMode) {
|
|
64
|
-
this.#document.documentElement.dataset['coreuiTheme'] =
|
|
65
|
-
colorMode === 'auto' ? this.getPrefersColorScheme() : colorMode;
|
|
66
|
-
const event = new Event(this.eventName());
|
|
67
|
-
this.#document.documentElement.dispatchEvent(event);
|
|
68
|
-
}
|
|
69
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ColorModeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
70
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ColorModeService, providedIn: 'root' }); }
|
|
71
|
-
}
|
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ColorModeService, decorators: [{
|
|
73
|
-
type: Injectable,
|
|
74
|
-
args: [{
|
|
75
|
-
providedIn: 'root'
|
|
76
|
-
}]
|
|
77
|
-
}], ctorParameters: () => [] });
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItbW9kZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9zZXJ2aWNlcy9jb2xvci1tb2RlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFPOUQsTUFBTSxPQUFPLGdCQUFnQjtJQUNsQixXQUFXLENBQWtDO0lBQzdDLFNBQVMsQ0FBOEI7SUFDdkMsYUFBYSxDQUFvRDtJQWdCMUU7UUFsQlMsZ0JBQVcsR0FBZSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDN0MsY0FBUyxHQUFhLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2QyxrQkFBYSxHQUF3QixNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUVqRSxjQUFTLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDeEMseUJBQW9CLEdBQXVDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3RSwwQkFBcUIsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDaEUsY0FBUyxHQUE4QixNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFekQsb0JBQWUsR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ3JDLE1BQU0sU0FBUyxH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LEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBhZnRlck5leHRSZW5kZXIsIERlc3Ryb3lSZWYsIGVmZmVjdCwgaW5qZWN0LCBJbmplY3RhYmxlLCBzaWduYWwsIFdyaXRhYmxlU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQsIHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL2xvY2FsLXN0b3JhZ2Uuc2VydmljZSc7XG5cbmV4cG9ydCB0eXBlIENvbG9yTW9kZSA9ICdsaWdodCcgfCAnZGFyaycgfCAnYXV0bycgfCBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENvbG9yTW9kZVNlcnZpY2Uge1xuICByZWFkb25seSAjZGVzdHJveVJlZjogRGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgcmVhZG9ubHkgI2RvY3VtZW50OiBEb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG4gIHJlYWRvbmx5ICNsb2NhbFN0b3JhZ2U6IExvY2FsU3RvcmFnZVNlcnZpY2UgPSBpbmplY3QoTG9jYWxTdG9yYWdlU2VydmljZSk7XG5cbiAgcmVhZG9ubHkgZXZlbnROYW1lID0gc2lnbmFsKCdDb2xvclNjaGVtZUNoYW5nZScpO1xuICByZWFkb25seSBsb2NhbFN0b3JhZ2VJdGVtTmFtZTogV3JpdGFibGVTaWduYWw8c3RyaW5nIHwgdW5kZWZpbmVkPiA9IHNpZ25hbCh1bmRlZmluZWQpO1xuICByZWFkb25seSBsb2NhbFN0b3JhZ2VJdGVtTmFtZSQgPSB0b09ic2VydmFibGUodGhpcy5sb2NhbFN0b3JhZ2VJdGVtTmFtZSk7XG4gIHJlYWRvbmx5IGNvbG9yTW9kZTogV3JpdGFibGVTaWduYWw8Q29sb3JNb2RlPiA9IHNpZ25hbCh1bmRlZmluZWQpO1xuXG4gIHJlYWRvbmx5IGNvbG9yTW9kZUVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgY29sb3JNb2RlID0gdGhpcy5jb2xvck1vZGUoKTtcbiAgICBpZiAoY29sb3JNb2RlKSB7XG4gICAgICBjb25zdCBsb2NhbFN0b3JhZ2VJdGVtTmFtZSA9IHRoaXMubG9jYWxTdG9yYWdlSXRlbU5hbWUoKTtcbiAgICAgIGxvY2FsU3RvcmFnZUl0ZW1OYW1lICYmIHRoaXMuc2V0U3RvcmVkVGhlbWUobG9jYWxTdG9yYWdlSXRlbU5hbWUsIGNvbG9yTW9kZSk7XG4gICAgICB0aGlzLiNzZXRUaGVtZShjb2xvck1vZGUpO1xuICAgIH1cbiAgfSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgYWZ0ZXJOZXh0UmVuZGVyKHtcbiAgICAgIHJlYWQ6ICgpID0+IHtcbiAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2VJdGVtTmFtZSRcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIHRhcCgocGFyYW1zKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuY29sb3JNb2RlLnNldCh0aGlzLmdldERlZmF1bHRTY2hlbWUocGFyYW1zKSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLiNkZXN0cm95UmVmKVxuICAgICAgICAgIClcbiAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXRTdG9yZWRUaGVtZShsb2NhbFN0b3JhZ2VJdGVtTmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuI2xvY2FsU3RvcmFnZS5nZXRJdGVtKGxvY2FsU3RvcmFnZUl0ZW1OYW1lKTtcbiAgfVxuXG4gIHNldFN0b3JlZFRoZW1lKGxvY2FsU3RvcmFnZUl0ZW1OYW1lOiBzdHJpbmcsIGNvbG9yTW9kZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuI2xvY2FsU3RvcmFnZS5zZXRJdGVtKGxvY2FsU3RvcmFnZUl0ZW1OYW1lLCBjb2xvck1vZGUpO1xuICB9XG5cbiAgcmVtb3ZlU3RvcmVkVGhlbWUobG9jYWxTdG9yYWdlSXRlbU5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuI2xvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGxvY2FsU3RvcmFnZUl0ZW1OYW1lKTtcbiAgfVxuXG4gIGdldERlZmF1bHRTY2hlbWUobG9jYWxTdG9yYWdlSXRlbU5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh0aGlzLiNkb2N1bWVudC5kZWZhdWx0VmlldyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXREYXRhc2V0VGhlbWUoKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdG9yZWRUaGVtZSA9IGxvY2FsU3RvcmFnZUl0ZW1OYW1lICYmIHRoaXMuZ2V0U3RvcmVkVGhlbWUobG9jYWxTdG9yYWdlSXRlbU5hbWUpO1xuXG4gICAgcmV0dXJuIHN0b3JlZFRoZW1lID8/IHRoaXMuZ2V0RGF0YXNldFRoZW1lKCk7XG4gIH1cblxuICBnZXRQcmVmZXJzQ29sb3JTY2hlbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuI2RvY3VtZW50LmRlZmF1bHRWaWV3Py5tYXRjaE1lZGlhKCcocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspJykubWF0Y2hlc1xuICAgICAgPyAnZGFyaydcbiAgICAgIDogdGhpcy4jZG9jdW1lbnQuZGVmYXVsdFZpZXc/Lm1hdGNoTWVkaWEoJyhwcmVmZXJzLWNvbG9yLXNjaGVtZTogbGlnaHQpJykubWF0Y2hlc1xuICAgICAgICA/ICdsaWdodCdcbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXREYXRhc2V0VGhlbWUoKTogQ29sb3JNb2RlIHtcbiAgICByZXR1cm4gPENvbG9yTW9kZT50aGlzLiNkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZGF0YXNldFsnY29yZXVpVGhlbWUnXTtcbiAgfVxuXG4gICNzZXRUaGVtZShjb2xvck1vZGU6IENvbG9yTW9kZSkge1xuICAgIHRoaXMuI2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5kYXRhc2V0Wydjb3JldWlUaGVtZSddID1cbiAgICAgIGNvbG9yTW9kZSA9PT0gJ2F1dG8nID8gdGhpcy5nZXRQcmVmZXJzQ29sb3JTY2hlbWUoKSA6IGNvbG9yTW9kZTtcblxuICAgIGNvbnN0IGV2ZW50ID0gbmV3IEV2ZW50KHRoaXMuZXZlbnROYW1lKCkpO1xuICAgIHRoaXMuI2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbiAgfVxufVxuIl19
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class InMemoryStorageService {
|
|
4
|
-
#storage = new Map();
|
|
5
|
-
setItem(key, data) {
|
|
6
|
-
this.#storage.set(key, JSON.stringify(data));
|
|
7
|
-
}
|
|
8
|
-
getItem(key) {
|
|
9
|
-
return this.#storage.has(key) ? JSON.parse(this.#storage.get(key) ?? 'null') : undefined;
|
|
10
|
-
}
|
|
11
|
-
removeItem(key) {
|
|
12
|
-
this.#storage.delete(key);
|
|
13
|
-
}
|
|
14
|
-
clear() {
|
|
15
|
-
this.#storage.clear();
|
|
16
|
-
}
|
|
17
|
-
get length() {
|
|
18
|
-
return this.#storage.size;
|
|
19
|
-
}
|
|
20
|
-
key(index) {
|
|
21
|
-
return Array.from(this.#storage.keys())[index];
|
|
22
|
-
}
|
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: InMemoryStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
24
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: InMemoryStorageService, providedIn: 'root' }); }
|
|
25
|
-
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: InMemoryStorageService, decorators: [{
|
|
27
|
-
type: Injectable,
|
|
28
|
-
args: [{
|
|
29
|
-
providedIn: 'root'
|
|
30
|
-
}]
|
|
31
|
-
}] });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tbWVtb3J5LXN0b3JhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvc2VydmljZXMvaW4tbWVtb3J5LXN0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztJQUU5QixPQUFPLENBQUMsR0FBVyxFQUFFLElBQVM7UUFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU0sT0FBTyxDQUFDLEdBQVc7UUFDeEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzNGLENBQUM7SUFFTSxVQUFVLENBQUMsR0FBVztRQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUVNLEdBQUcsQ0FBQyxLQUFhO1FBQ3RCLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQzs4R0F6QlUsc0JBQXNCO2tIQUF0QixzQkFBc0IsY0FGckIsTUFBTTs7MkZBRVAsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgSW5NZW1vcnlTdG9yYWdlU2VydmljZSBpbXBsZW1lbnRzIFN0b3JhZ2Uge1xuICAjc3RvcmFnZSA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG5cbiAgcHVibGljIHNldEl0ZW0oa2V5OiBzdHJpbmcsIGRhdGE6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuI3N0b3JhZ2Uuc2V0KGtleSwgSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xuICB9XG5cbiAgcHVibGljIGdldEl0ZW0oa2V5OiBzdHJpbmcpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLiNzdG9yYWdlLmhhcyhrZXkpID8gSlNPTi5wYXJzZSh0aGlzLiNzdG9yYWdlLmdldChrZXkpID8/ICdudWxsJykgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlSXRlbShrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuI3N0b3JhZ2UuZGVsZXRlKGtleSk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXIoKSB7XG4gICAgdGhpcy4jc3RvcmFnZS5jbGVhcigpO1xuICB9XG5cbiAgcHVibGljIGdldCBsZW5ndGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuI3N0b3JhZ2Uuc2l6ZTtcbiAgfVxuXG4gIHB1YmxpYyBrZXkoaW5kZXg6IG51bWJlcikge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuI3N0b3JhZ2Uua2V5cygpKVtpbmRleF07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './public_api';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
|