@coreui/angular 5.2.25 → 5.3.1
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.mjs +833 -921
- package/fesm2022/coreui-angular.mjs.map +1 -1
- package/lib/grid/col.directive.d.ts +26 -26
- package/lib/tabs-2/tab/tab.directive.d.ts +4 -3
- package/package.json +7 -9
- package/esm2022/coreui-angular.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/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/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/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/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/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/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/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/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 -43
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { inject, Injectable, Renderer2 } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class ListenersService {
|
|
4
|
-
constructor() {
|
|
5
|
-
this.renderer = inject(Renderer2);
|
|
6
|
-
this.listeners = new Map();
|
|
7
|
-
}
|
|
8
|
-
setListeners({ hostElement, trigger, callbackOn, callbackOff, callbackToggle, }) {
|
|
9
|
-
const host = hostElement.nativeElement;
|
|
10
|
-
const triggers = Array.isArray(trigger) ? trigger : trigger?.split(' ') ?? [];
|
|
11
|
-
if (triggers?.includes('click')) {
|
|
12
|
-
typeof callbackToggle === 'function' &&
|
|
13
|
-
this.listeners.set('click', this.renderer.listen(host, 'click', callbackToggle));
|
|
14
|
-
}
|
|
15
|
-
if (triggers?.includes('focus')) {
|
|
16
|
-
typeof callbackOn === 'function' &&
|
|
17
|
-
this.listeners.set('focus', this.renderer.listen(host, 'focus', callbackOn));
|
|
18
|
-
}
|
|
19
|
-
if (triggers?.includes('focusin')) {
|
|
20
|
-
typeof callbackOff === 'function' &&
|
|
21
|
-
this.listeners.set('focusout', this.renderer.listen(host, 'focusout', callbackOff));
|
|
22
|
-
typeof callbackOn === 'function' &&
|
|
23
|
-
this.listeners.set('focusin', this.renderer.listen(host, 'focusin', callbackOn));
|
|
24
|
-
}
|
|
25
|
-
if (triggers?.includes('click') || triggers?.includes('focus')) {
|
|
26
|
-
typeof callbackOff === 'function' &&
|
|
27
|
-
this.listeners.set('blur', this.renderer.listen(host, 'blur', callbackOff));
|
|
28
|
-
}
|
|
29
|
-
if (triggers?.includes('hover')) {
|
|
30
|
-
typeof callbackOn === 'function' &&
|
|
31
|
-
this.listeners.set('mouseenter', this.renderer.listen(host, 'mouseenter', callbackOn));
|
|
32
|
-
typeof callbackOff === 'function' &&
|
|
33
|
-
this.listeners.set('mouseleave', this.renderer.listen(host, 'mouseleave', callbackOff));
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
clearListeners() {
|
|
37
|
-
this.listeners.forEach((unListen, key) => {
|
|
38
|
-
unListen();
|
|
39
|
-
});
|
|
40
|
-
this.listeners.forEach((unListen, key) => {
|
|
41
|
-
// @ts-ignore
|
|
42
|
-
this.listeners.set(key, null);
|
|
43
|
-
});
|
|
44
|
-
this.listeners.clear();
|
|
45
|
-
}
|
|
46
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ListenersService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
47
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ListenersService }); }
|
|
48
|
-
}
|
|
49
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ListenersService, decorators: [{
|
|
50
|
-
type: Injectable
|
|
51
|
-
}] });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGVuZXJzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL2xpc3RlbmVycy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxNQUFNLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFZMUUsTUFBTSxPQUFPLGdCQUFnQjtJQUQ3QjtRQUVXLGFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFOUIsY0FBUyxHQUE0QixJQUFJLEdBQUcsRUFBRSxDQUFDO0tBZ0R4RDtJQTlDQyxZQUFZLENBQUMsRUFDWCxXQUFXLEVBQ1gsT0FBTyxFQUNQLFVBQVUsRUFDVixXQUFXLEVBQ1gsY0FBYyxHQUNHO1FBQ2pCLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxhQUFhLENBQUM7UUFDdkMsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUU5RSxJQUFJLFFBQVEsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxPQUFPLGNBQWMsS0FBSyxVQUFVO2dCQUNsQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBQ3JGLENBQUM7UUFDRCxJQUFJLFFBQVEsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxPQUFPLFVBQVUsS0FBSyxVQUFVO2dCQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ2pGLENBQUM7UUFDRCxJQUFJLFFBQVEsRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUNsQyxPQUFPLFdBQVcsS0FBSyxVQUFVO2dCQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQ3RGLE9BQU8sVUFBVSxLQUFLLFVBQVU7Z0JBQzlCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDckYsQ0FBQztRQUNELElBQUksUUFBUSxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxRQUFRLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDL0QsT0FBTyxXQUFXLEtBQUssVUFBVTtnQkFDL0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNoRixDQUFDO1FBQ0QsSUFBSSxRQUFRLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDaEMsT0FBTyxVQUFVLEtBQUssVUFBVTtnQkFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztZQUN6RixPQUFPLFdBQVcsS0FBSyxVQUFVO2dCQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQzVGLENBQUM7SUFDSCxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ3ZDLFFBQVEsRUFBRSxDQUFDO1FBQ2IsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUN2QyxhQUFhO1lBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QixDQUFDOytHQWxEVSxnQkFBZ0I7bUhBQWhCLGdCQUFnQjs7NEZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIGluamVjdCwgSW5qZWN0YWJsZSwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmlnZ2VycyB9IGZyb20gJy4uL2NvcmV1aS50eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUxpc3RlbmVyc0NvbmZpZyB7XG4gIGhvc3RFbGVtZW50OiBFbGVtZW50UmVmO1xuICB0cmlnZ2VyPzogVHJpZ2dlcnMgfCBUcmlnZ2Vyc1tdO1xuICBjYWxsYmFja09uPzogKCkgPT4gdm9pZDtcbiAgY2FsbGJhY2tPZmY/OiAoKSA9PiB2b2lkO1xuICBjYWxsYmFja1RvZ2dsZT86ICgpID0+IHZvaWQ7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBMaXN0ZW5lcnNTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcblxuICBwcml2YXRlIGxpc3RlbmVyczogTWFwPHN0cmluZywgKCkgPT4gdm9pZD4gPSBuZXcgTWFwKCk7XG5cbiAgc2V0TGlzdGVuZXJzKHtcbiAgICBob3N0RWxlbWVudCxcbiAgICB0cmlnZ2VyLFxuICAgIGNhbGxiYWNrT24sXG4gICAgY2FsbGJhY2tPZmYsXG4gICAgY2FsbGJhY2tUb2dnbGUsXG4gIH06IElMaXN0ZW5lcnNDb25maWcpOiB2b2lkIHtcbiAgICBjb25zdCBob3N0ID0gaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCB0cmlnZ2VycyA9IEFycmF5LmlzQXJyYXkodHJpZ2dlcikgPyB0cmlnZ2VyIDogdHJpZ2dlcj8uc3BsaXQoJyAnKSA/PyBbXTtcblxuICAgIGlmICh0cmlnZ2Vycz8uaW5jbHVkZXMoJ2NsaWNrJykpIHtcbiAgICAgIHR5cGVvZiBjYWxsYmFja1RvZ2dsZSA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgICB0aGlzLmxpc3RlbmVycy5zZXQoJ2NsaWNrJywgdGhpcy5yZW5kZXJlci5saXN0ZW4oaG9zdCwgJ2NsaWNrJywgY2FsbGJhY2tUb2dnbGUpKTtcbiAgICB9XG4gICAgaWYgKHRyaWdnZXJzPy5pbmNsdWRlcygnZm9jdXMnKSkge1xuICAgICAgdHlwZW9mIGNhbGxiYWNrT24gPT09ICdmdW5jdGlvbicgJiZcbiAgICAgICAgdGhpcy5saXN0ZW5lcnMuc2V0KCdmb2N1cycsIHRoaXMucmVuZGVyZXIubGlzdGVuKGhvc3QsICdmb2N1cycsIGNhbGxiYWNrT24pKTtcbiAgICB9XG4gICAgaWYgKHRyaWdnZXJzPy5pbmNsdWRlcygnZm9jdXNpbicpKSB7XG4gICAgICB0eXBlb2YgY2FsbGJhY2tPZmYgPT09ICdmdW5jdGlvbicgJiZcbiAgICAgICAgdGhpcy5saXN0ZW5lcnMuc2V0KCdmb2N1c291dCcsIHRoaXMucmVuZGVyZXIubGlzdGVuKGhvc3QsICdmb2N1c291dCcsIGNhbGxiYWNrT2ZmKSk7XG4gICAgICB0eXBlb2YgY2FsbGJhY2tPbiA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgICB0aGlzLmxpc3RlbmVycy5zZXQoJ2ZvY3VzaW4nLCB0aGlzLnJlbmRlcmVyLmxpc3Rlbihob3N0LCAnZm9jdXNpbicsIGNhbGxiYWNrT24pKTtcbiAgICB9XG4gICAgaWYgKHRyaWdnZXJzPy5pbmNsdWRlcygnY2xpY2snKSB8fCB0cmlnZ2Vycz8uaW5jbHVkZXMoJ2ZvY3VzJykpIHtcbiAgICAgIHR5cGVvZiBjYWxsYmFja09mZiA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgICB0aGlzLmxpc3RlbmVycy5zZXQoJ2JsdXInLCB0aGlzLnJlbmRlcmVyLmxpc3Rlbihob3N0LCAnYmx1cicsIGNhbGxiYWNrT2ZmKSk7XG4gICAgfVxuICAgIGlmICh0cmlnZ2Vycz8uaW5jbHVkZXMoJ2hvdmVyJykpIHtcbiAgICAgIHR5cGVvZiBjYWxsYmFja09uID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAgIHRoaXMubGlzdGVuZXJzLnNldCgnbW91c2VlbnRlcicsIHRoaXMucmVuZGVyZXIubGlzdGVuKGhvc3QsICdtb3VzZWVudGVyJywgY2FsbGJhY2tPbikpO1xuICAgICAgdHlwZW9mIGNhbGxiYWNrT2ZmID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAgIHRoaXMubGlzdGVuZXJzLnNldCgnbW91c2VsZWF2ZScsIHRoaXMucmVuZGVyZXIubGlzdGVuKGhvc3QsICdtb3VzZWxlYXZlJywgY2FsbGJhY2tPZmYpKTtcbiAgICB9XG4gIH1cblxuICBjbGVhckxpc3RlbmVycygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlbmVycy5mb3JFYWNoKCh1bkxpc3Rlbiwga2V5KSA9PiB7XG4gICAgICB1bkxpc3RlbigpO1xuICAgIH0pO1xuICAgIHRoaXMubGlzdGVuZXJzLmZvckVhY2goKHVuTGlzdGVuLCBrZXkpID0+IHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHRoaXMubGlzdGVuZXJzLnNldChrZXksIG51bGwpO1xuICAgIH0pO1xuICAgIHRoaXMubGlzdGVuZXJzLmNsZWFyKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { DOCUMENT, isPlatformBrowser } from '@angular/common';
|
|
2
|
-
import { inject, Injectable, PLATFORM_ID } from '@angular/core';
|
|
3
|
-
import { BehaviorSubject } from 'rxjs';
|
|
4
|
-
import { InMemoryStorageService } from './in-memory-storage.service';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class LocalStorageService {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.platformId = inject(PLATFORM_ID);
|
|
9
|
-
this.document = inject(DOCUMENT);
|
|
10
|
-
this.#data$ = new BehaviorSubject(null);
|
|
11
|
-
this.data$ = this.#data$.asObservable();
|
|
12
|
-
this.#localStorage =
|
|
13
|
-
isPlatformBrowser(this.platformId) && this.document.defaultView
|
|
14
|
-
? this.document.defaultView?.localStorage
|
|
15
|
-
: new InMemoryStorageService();
|
|
16
|
-
}
|
|
17
|
-
#localStorage;
|
|
18
|
-
#data$;
|
|
19
|
-
setItem(key, data) {
|
|
20
|
-
this.#localStorage.setItem(key, JSON.stringify(data));
|
|
21
|
-
this.#data$.next({ key, data });
|
|
22
|
-
}
|
|
23
|
-
getItem(key) {
|
|
24
|
-
const data = JSON.parse(this.#localStorage.getItem(key) || 'null');
|
|
25
|
-
this.#data$.next({ key, data });
|
|
26
|
-
return data;
|
|
27
|
-
}
|
|
28
|
-
removeItem(key) {
|
|
29
|
-
this.#localStorage.removeItem(key);
|
|
30
|
-
this.#data$.next({ key, data: null });
|
|
31
|
-
}
|
|
32
|
-
clear() {
|
|
33
|
-
this.#localStorage.clear();
|
|
34
|
-
this.#data$.next(null);
|
|
35
|
-
}
|
|
36
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: LocalStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
37
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: LocalStorageService, providedIn: 'root' }); }
|
|
38
|
-
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: LocalStorageService, decorators: [{
|
|
40
|
-
type: Injectable,
|
|
41
|
-
args: [{
|
|
42
|
-
providedIn: 'root'
|
|
43
|
-
}]
|
|
44
|
-
}], ctorParameters: () => [] });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9zZXJ2aWNlcy9sb2NhbC1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUtyRSxNQUFNLE9BQU8sbUJBQW1CO0lBSTlCO1FBSFEsZUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqQyxhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBVTNCLFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBb0MsSUFBSSxDQUFDLENBQUM7UUFDL0QsVUFBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFSakQsSUFBSSxDQUFDLGFBQWE7WUFDaEIsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVztnQkFDN0QsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLFlBQVk7Z0JBQ3pDLENBQUMsQ0FBQyxJQUFJLHNCQUFzQixFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELGFBQWEsQ0FBVTtJQUNkLE1BQU0sQ0FBZ0U7SUFHeEUsT0FBTyxDQUFDLEdBQVcsRUFBRSxJQUFTO1FBQ25DLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU0sT0FBTyxDQUFDLEdBQVc7UUFDeEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLFVBQVUsQ0FBQyxHQUFXO1FBQzNCLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDOytHQWxDVSxtQkFBbUI7bUhBQW5CLG1CQUFtQixjQUZsQixNQUFNOzs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW5NZW1vcnlTdG9yYWdlU2VydmljZSB9IGZyb20gJy4vaW4tbWVtb3J5LXN0b3JhZ2Uuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIExvY2FsU3RvcmFnZVNlcnZpY2Uge1xuICBwcml2YXRlIHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuICBwcml2YXRlIGRvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLiNsb2NhbFN0b3JhZ2UgPVxuICAgICAgaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSAmJiB0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3XG4gICAgICAgID8gdGhpcy5kb2N1bWVudC5kZWZhdWx0Vmlldz8ubG9jYWxTdG9yYWdlXG4gICAgICAgIDogbmV3IEluTWVtb3J5U3RvcmFnZVNlcnZpY2UoKTtcbiAgfVxuXG4gICNsb2NhbFN0b3JhZ2U6IFN0b3JhZ2U7XG4gIHJlYWRvbmx5ICNkYXRhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8eyBrZXk6IHN0cmluZzsgZGF0YTogYW55IH0gfCBudWxsPihudWxsKTtcbiAgcHVibGljIHJlYWRvbmx5IGRhdGEkID0gdGhpcy4jZGF0YSQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHVibGljIHNldEl0ZW0oa2V5OiBzdHJpbmcsIGRhdGE6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuI2xvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xuICAgIHRoaXMuI2RhdGEkLm5leHQoeyBrZXksIGRhdGEgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0SXRlbShrZXk6IHN0cmluZyk6IGFueSB7XG4gICAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UodGhpcy4jbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KSB8fCAnbnVsbCcpO1xuICAgIHRoaXMuI2RhdGEkLm5leHQoeyBrZXksIGRhdGEgfSk7XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlSXRlbShrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuI2xvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XG4gICAgdGhpcy4jZGF0YSQubmV4dCh7IGtleSwgZGF0YTogbnVsbCB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhcigpIHtcbiAgICB0aGlzLiNsb2NhbFN0b3JhZ2UuY2xlYXIoKTtcbiAgICB0aGlzLiNkYXRhJC5uZXh0KG51bGwpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export { IntersectionService } from './intersection.service';
|
|
2
|
-
export { ListenersService } from './listeners.service';
|
|
3
|
-
export { ClassToggleService } from './class-toggle.service';
|
|
4
|
-
export { LocalStorageService } from './local-storage.service';
|
|
5
|
-
export { InMemoryStorageService } from './in-memory-storage.service';
|
|
6
|
-
export { ColorModeService } from './color-mode.service';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvc2VydmljZXMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQTZCLE1BQU0sd0JBQXdCLENBQUM7QUFDeEYsT0FBTyxFQUFFLGdCQUFnQixFQUFvQixNQUFNLHFCQUFxQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBYSxNQUFNLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgSW50ZXJzZWN0aW9uU2VydmljZSwgSUludGVyc2VjdGlvbk9ic2VydmVySW5pdCB9IGZyb20gJy4vaW50ZXJzZWN0aW9uLnNlcnZpY2UnO1xuZXhwb3J0IHsgTGlzdGVuZXJzU2VydmljZSwgSUxpc3RlbmVyc0NvbmZpZyB9IGZyb20gJy4vbGlzdGVuZXJzLnNlcnZpY2UnO1xuZXhwb3J0IHsgQ2xhc3NUb2dnbGVTZXJ2aWNlIH0gZnJvbSAnLi9jbGFzcy10b2dnbGUuc2VydmljZSc7XG5leHBvcnQgeyBMb2NhbFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9sb2NhbC1zdG9yYWdlLnNlcnZpY2UnO1xuZXhwb3J0IHsgSW5NZW1vcnlTdG9yYWdlU2VydmljZSB9IGZyb20gJy4vaW4tbWVtb3J5LXN0b3JhZ2Uuc2VydmljZSc7XG5leHBvcnQgeyBDb2xvck1vZGVTZXJ2aWNlLCBDb2xvck1vZGUgfSBmcm9tICcuL2NvbG9yLW1vZGUuc2VydmljZSc7XG4iXX0=
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, inject } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class ElementRefDirective {
|
|
4
|
-
constructor() {
|
|
5
|
-
this.elementRef = inject(ElementRef);
|
|
6
|
-
}
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ElementRefDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
8
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: ElementRefDirective, isStandalone: true, selector: "[cElementRef]", exportAs: ["cElementRef"], ngImport: i0 }); }
|
|
9
|
-
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ElementRefDirective, decorators: [{
|
|
11
|
-
type: Directive,
|
|
12
|
-
args: [{
|
|
13
|
-
selector: '[cElementRef]',
|
|
14
|
-
exportAs: 'cElementRef',
|
|
15
|
-
standalone: true,
|
|
16
|
-
}]
|
|
17
|
-
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1yZWYuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9zaGFyZWQvZWxlbWVudC1yZWYuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPOUQsTUFBTSxPQUFPLG1CQUFtQjtJQUxoQztRQU1rQixlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBQ2pEOytHQUZZLG1CQUFtQjttR0FBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUwvQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixRQUFRLEVBQUUsYUFBYTtvQkFDdkIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NFbGVtZW50UmVmXScsXG4gIGV4cG9ydEFzOiAnY0VsZW1lbnRSZWYnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBFbGVtZW50UmVmRGlyZWN0aXZlIHtcbiAgcHVibGljIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG59XG4iXX0=
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { Directive, effect, ElementRef, inject, input, Renderer2 } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class HtmlAttributesDirective {
|
|
4
|
-
constructor() {
|
|
5
|
-
this.cHtmlAttr = input();
|
|
6
|
-
this.#renderer = inject(Renderer2);
|
|
7
|
-
this.#elementRef = inject(ElementRef);
|
|
8
|
-
this.attrEffect = effect(() => {
|
|
9
|
-
const attribs = this.cHtmlAttr();
|
|
10
|
-
for (const attr in attribs) {
|
|
11
|
-
if (attr === 'style' && typeof attribs[attr] === 'object') {
|
|
12
|
-
this.setStyle(attribs[attr]);
|
|
13
|
-
}
|
|
14
|
-
else if (attr === 'class') {
|
|
15
|
-
this.addClass(attribs[attr]);
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
this.setAttrib(attr, attribs[attr]);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
#renderer;
|
|
24
|
-
#elementRef;
|
|
25
|
-
setStyle(styles) {
|
|
26
|
-
for (const style in styles) {
|
|
27
|
-
if (style) {
|
|
28
|
-
this.#renderer.setStyle(this.#elementRef.nativeElement, style, styles[style]);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
addClass(classes) {
|
|
33
|
-
const classArray = Array.isArray(classes) ? classes : classes.split(' ');
|
|
34
|
-
classArray
|
|
35
|
-
.filter((element) => element.length > 0)
|
|
36
|
-
.forEach((element) => {
|
|
37
|
-
this.#renderer.addClass(this.#elementRef.nativeElement, element);
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
setAttrib(key, value) {
|
|
41
|
-
value !== null
|
|
42
|
-
? this.#renderer.setAttribute(this.#elementRef.nativeElement, key, value)
|
|
43
|
-
: this.#renderer.removeAttribute(this.#elementRef.nativeElement, key);
|
|
44
|
-
}
|
|
45
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: HtmlAttributesDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
46
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.12", type: HtmlAttributesDirective, isStandalone: true, selector: "[cHtmlAttr]", inputs: { cHtmlAttr: { classPropertyName: "cHtmlAttr", publicName: "cHtmlAttr", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["cHtmlAttr"], ngImport: i0 }); }
|
|
47
|
-
}
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: HtmlAttributesDirective, decorators: [{
|
|
49
|
-
type: Directive,
|
|
50
|
-
args: [{
|
|
51
|
-
selector: '[cHtmlAttr]',
|
|
52
|
-
exportAs: 'cHtmlAttr',
|
|
53
|
-
standalone: true
|
|
54
|
-
}]
|
|
55
|
-
}] });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC1hdHRyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvc2hhcmVkL2h0bWwtYXR0ci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU94RixNQUFNLE9BQU8sdUJBQXVCO0lBTHBDO1FBTVcsY0FBUyxHQUFHLEtBQUssRUFBdUIsQ0FBQztRQUV6QyxjQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWpDLGVBQVUsR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ2hDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQyxLQUFLLE1BQU0sSUFBSSxJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUMzQixJQUFJLElBQUksS0FBSyxPQUFPLElBQUksT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssUUFBUSxFQUFFLENBQUM7b0JBQzFELElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQy9CLENBQUM7cUJBQU0sSUFBSSxJQUFJLEtBQUssT0FBTyxFQUFFLENBQUM7b0JBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQy9CLENBQUM7cUJBQU0sQ0FBQztvQkFDTixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDdEMsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztLQXdCSjtJQXRDVSxTQUFTLENBQXFCO0lBQzlCLFdBQVcsQ0FBc0I7SUFlbEMsUUFBUSxDQUFDLE1BQTJCO1FBQzFDLEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxFQUFFLENBQUM7WUFDM0IsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDVixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDaEYsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRU8sUUFBUSxDQUFDLE9BQTBCO1FBQ3pDLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6RSxVQUFVO2FBQ1AsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQzthQUN2QyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNuRSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxTQUFTLENBQUMsR0FBVyxFQUFFLEtBQW9CO1FBQ2pELEtBQUssS0FBSyxJQUFJO1lBQ1osQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7WUFDekUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzFFLENBQUM7K0dBeENVLHVCQUF1QjttR0FBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQUxuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixRQUFRLEVBQUUsV0FBVztvQkFDckIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBlZmZlY3QsIEVsZW1lbnRSZWYsIGluamVjdCwgaW5wdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY0h0bWxBdHRyXScsXG4gIGV4cG9ydEFzOiAnY0h0bWxBdHRyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBIdG1sQXR0cmlidXRlc0RpcmVjdGl2ZSB7XG4gIHJlYWRvbmx5IGNIdG1sQXR0ciA9IGlucHV0PFJlY29yZDxzdHJpbmcsIGFueT4+KCk7XG5cbiAgcmVhZG9ubHkgI3JlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG4gIHJlYWRvbmx5ICNlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIHJlYWRvbmx5IGF0dHJFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGF0dHJpYnMgPSB0aGlzLmNIdG1sQXR0cigpO1xuICAgIGZvciAoY29uc3QgYXR0ciBpbiBhdHRyaWJzKSB7XG4gICAgICBpZiAoYXR0ciA9PT0gJ3N0eWxlJyAmJiB0eXBlb2YgYXR0cmlic1thdHRyXSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgdGhpcy5zZXRTdHlsZShhdHRyaWJzW2F0dHJdKTtcbiAgICAgIH0gZWxzZSBpZiAoYXR0ciA9PT0gJ2NsYXNzJykge1xuICAgICAgICB0aGlzLmFkZENsYXNzKGF0dHJpYnNbYXR0cl0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZXRBdHRyaWIoYXR0ciwgYXR0cmlic1thdHRyXSk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICBwcml2YXRlIHNldFN0eWxlKHN0eWxlczogUmVjb3JkPHN0cmluZywgYW55Pik6IHZvaWQge1xuICAgIGZvciAoY29uc3Qgc3R5bGUgaW4gc3R5bGVzKSB7XG4gICAgICBpZiAoc3R5bGUpIHtcbiAgICAgICAgdGhpcy4jcmVuZGVyZXIuc2V0U3R5bGUodGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBzdHlsZSwgc3R5bGVzW3N0eWxlXSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhZGRDbGFzcyhjbGFzc2VzOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHZvaWQge1xuICAgIGNvbnN0IGNsYXNzQXJyYXkgPSBBcnJheS5pc0FycmF5KGNsYXNzZXMpID8gY2xhc3NlcyA6IGNsYXNzZXMuc3BsaXQoJyAnKTtcbiAgICBjbGFzc0FycmF5XG4gICAgICAuZmlsdGVyKChlbGVtZW50KSA9PiBlbGVtZW50Lmxlbmd0aCA+IDApXG4gICAgICAuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgICB0aGlzLiNyZW5kZXJlci5hZGRDbGFzcyh0aGlzLiNlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGVsZW1lbnQpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldEF0dHJpYihrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcbiAgICB2YWx1ZSAhPT0gbnVsbFxuICAgICAgPyB0aGlzLiNyZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBrZXksIHZhbHVlKVxuICAgICAgOiB0aGlzLiNyZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBrZXkpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './public_api';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3NoYXJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export { ElementRefDirective } from './element-ref.directive';
|
|
2
|
-
export { HtmlAttributesDirective } from './html-attr.directive';
|
|
3
|
-
export { TemplateIdDirective } from './template-id.directive';
|
|
4
|
-
export { ThemeDirective } from './theme.directive';
|
|
5
|
-
export { SharedModule } from './shared.module';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvc2hhcmVkL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEVsZW1lbnRSZWZEaXJlY3RpdmUgfSBmcm9tICcuL2VsZW1lbnQtcmVmLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBIdG1sQXR0cmlidXRlc0RpcmVjdGl2ZSB9IGZyb20gJy4vaHRtbC1hdHRyLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBUZW1wbGF0ZUlkRGlyZWN0aXZlIH0gZnJvbSAnLi90ZW1wbGF0ZS1pZC5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgVGhlbWVEaXJlY3RpdmUgfSBmcm9tICcuL3RoZW1lLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBTaGFyZWRNb2R1bGUgfSBmcm9tICcuL3NoYXJlZC5tb2R1bGUnO1xuIl19
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { ElementRefDirective } from './element-ref.directive';
|
|
3
|
-
import { HtmlAttributesDirective } from './html-attr.directive';
|
|
4
|
-
import { TemplateIdDirective } from './template-id.directive';
|
|
5
|
-
import { ThemeDirective } from './theme.directive';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class SharedModule {
|
|
8
|
-
static forRoot() {
|
|
9
|
-
return {
|
|
10
|
-
ngModule: SharedModule,
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
14
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: SharedModule, imports: [ElementRefDirective, HtmlAttributesDirective, TemplateIdDirective, ThemeDirective], exports: [ElementRefDirective, HtmlAttributesDirective, TemplateIdDirective, ThemeDirective] }); }
|
|
15
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SharedModule }); }
|
|
16
|
-
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SharedModule, decorators: [{
|
|
18
|
-
type: NgModule,
|
|
19
|
-
args: [{
|
|
20
|
-
imports: [ElementRefDirective, HtmlAttributesDirective, TemplateIdDirective, ThemeDirective],
|
|
21
|
-
exports: [ElementRefDirective, HtmlAttributesDirective, TemplateIdDirective, ThemeDirective],
|
|
22
|
-
}]
|
|
23
|
-
}] });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvc2hhcmVkL3NoYXJlZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQU1uRCxNQUFNLE9BQU8sWUFBWTtJQUN2QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsWUFBWTtTQUN2QixDQUFDO0lBQ0osQ0FBQzsrR0FMVSxZQUFZO2dIQUFaLFlBQVksWUFIYixtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSxtQkFBbUIsRUFBRSxjQUFjLGFBQ2pGLG1CQUFtQixFQUFFLHVCQUF1QixFQUFFLG1CQUFtQixFQUFFLGNBQWM7Z0hBRWhGLFlBQVk7OzRGQUFaLFlBQVk7a0JBSnhCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxDQUFDO29CQUM1RixPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSxtQkFBbUIsRUFBRSxjQUFjLENBQUM7aUJBQzdGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRWxlbWVudFJlZkRpcmVjdGl2ZSB9IGZyb20gJy4vZWxlbWVudC1yZWYuZGlyZWN0aXZlJztcbmltcG9ydCB7IEh0bWxBdHRyaWJ1dGVzRGlyZWN0aXZlIH0gZnJvbSAnLi9odG1sLWF0dHIuZGlyZWN0aXZlJztcbmltcG9ydCB7IFRlbXBsYXRlSWREaXJlY3RpdmUgfSBmcm9tICcuL3RlbXBsYXRlLWlkLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUaGVtZURpcmVjdGl2ZSB9IGZyb20gJy4vdGhlbWUuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0VsZW1lbnRSZWZEaXJlY3RpdmUsIEh0bWxBdHRyaWJ1dGVzRGlyZWN0aXZlLCBUZW1wbGF0ZUlkRGlyZWN0aXZlLCBUaGVtZURpcmVjdGl2ZV0sXG4gIGV4cG9ydHM6IFtFbGVtZW50UmVmRGlyZWN0aXZlLCBIdG1sQXR0cmlidXRlc0RpcmVjdGl2ZSwgVGVtcGxhdGVJZERpcmVjdGl2ZSwgVGhlbWVEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBTaGFyZWRNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFNoYXJlZE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogU2hhcmVkTW9kdWxlLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Directive, inject, Input, TemplateRef } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class TemplateIdDirective {
|
|
4
|
-
constructor() {
|
|
5
|
-
this.templateRef = inject(TemplateRef);
|
|
6
|
-
}
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TemplateIdDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
8
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: TemplateIdDirective, isStandalone: true, selector: "[cTemplateId]", inputs: { id: ["cTemplateId", "id"] }, ngImport: i0 }); }
|
|
9
|
-
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TemplateIdDirective, decorators: [{
|
|
11
|
-
type: Directive,
|
|
12
|
-
args: [{
|
|
13
|
-
selector: '[cTemplateId]',
|
|
14
|
-
standalone: true,
|
|
15
|
-
}]
|
|
16
|
-
}], propDecorators: { id: [{
|
|
17
|
-
type: Input,
|
|
18
|
-
args: ['cTemplateId']
|
|
19
|
-
}] } });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtaWQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9zaGFyZWQvdGVtcGxhdGUtaWQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTXRFLE1BQU0sT0FBTyxtQkFBbUI7SUFKaEM7UUFLa0IsZ0JBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7S0FFbkQ7K0dBSFksbUJBQW1CO21HQUFuQixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBSi9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFHdUIsRUFBRTtzQkFBdkIsS0FBSzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY1RlbXBsYXRlSWRdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVJZERpcmVjdGl2ZSB7XG4gIHB1YmxpYyByZWFkb25seSB0ZW1wbGF0ZVJlZiA9IGluamVjdChUZW1wbGF0ZVJlZik7XG4gIEBJbnB1dCgnY1RlbXBsYXRlSWQnKSBpZCE6IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { booleanAttribute, Directive, ElementRef, inject, Input, Renderer2 } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class ThemeDirective {
|
|
4
|
-
#hostElement = inject(ElementRef);
|
|
5
|
-
#renderer = inject(Renderer2);
|
|
6
|
-
/**
|
|
7
|
-
* Add dark theme attribute.
|
|
8
|
-
* @type 'dark' | 'light' | undefined
|
|
9
|
-
*/
|
|
10
|
-
set colorScheme(scheme) {
|
|
11
|
-
!!scheme ? this.setTheme(scheme) : this.unsetTheme();
|
|
12
|
-
}
|
|
13
|
-
;
|
|
14
|
-
/**
|
|
15
|
-
* Add dark theme attribute.
|
|
16
|
-
* @type boolean
|
|
17
|
-
*/
|
|
18
|
-
set dark(darkTheme) {
|
|
19
|
-
darkTheme ? this.setTheme('dark') : this.unsetTheme();
|
|
20
|
-
}
|
|
21
|
-
;
|
|
22
|
-
setTheme(theme) {
|
|
23
|
-
if (theme) {
|
|
24
|
-
this.#renderer.setAttribute(this.#hostElement.nativeElement, 'data-coreui-theme', theme);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
unsetTheme() {
|
|
28
|
-
this.#renderer.removeAttribute(this.#hostElement.nativeElement, 'data-coreui-theme');
|
|
29
|
-
}
|
|
30
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ThemeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
31
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.12", type: ThemeDirective, isStandalone: true, selector: "[cTheme]", inputs: { colorScheme: "colorScheme", dark: ["dark", "dark", booleanAttribute] }, ngImport: i0 }); }
|
|
32
|
-
}
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ThemeDirective, decorators: [{
|
|
34
|
-
type: Directive,
|
|
35
|
-
args: [{
|
|
36
|
-
selector: '[cTheme]',
|
|
37
|
-
standalone: true
|
|
38
|
-
}]
|
|
39
|
-
}], propDecorators: { colorScheme: [{
|
|
40
|
-
type: Input
|
|
41
|
-
}], dark: [{
|
|
42
|
-
type: Input,
|
|
43
|
-
args: [{ transform: booleanAttribute }]
|
|
44
|
-
}] } });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9zaGFyZWQvdGhlbWUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU1sRyxNQUFNLE9BQU8sY0FBYztJQUVoQixZQUFZLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFdkM7OztPQUdHO0lBQ0gsSUFBYSxXQUFXLENBQUMsTUFBb0M7UUFDM0QsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFBQSxDQUFDO0lBRUY7OztPQUdHO0lBQ0gsSUFDSSxJQUFJLENBQUMsU0FBa0I7UUFDekIsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDeEQsQ0FBQztJQUFBLENBQUM7SUFFRixRQUFRLENBQUMsS0FBYztRQUNyQixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0YsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUN2RixDQUFDOytHQTlCVSxjQUFjO21HQUFkLGNBQWMseUdBaUJMLGdCQUFnQjs7NEZBakJ6QixjQUFjO2tCQUoxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxVQUFVO29CQUNwQixVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBVWMsV0FBVztzQkFBdkIsS0FBSztnQkFTRixJQUFJO3NCQURQLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBib29sZWFuQXR0cmlidXRlLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCwgSW5wdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY1RoZW1lXScsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVGhlbWVEaXJlY3RpdmUge1xuXG4gIHJlYWRvbmx5ICNob3N0RWxlbWVudCA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcmVhZG9ubHkgI3JlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG5cbiAgLyoqXG4gICAqIEFkZCBkYXJrIHRoZW1lIGF0dHJpYnV0ZS5cbiAgICogQHR5cGUgJ2RhcmsnIHwgJ2xpZ2h0JyB8IHVuZGVmaW5lZFxuICAgKi9cbiAgQElucHV0KCkgc2V0IGNvbG9yU2NoZW1lKHNjaGVtZTogJ2RhcmsnIHwgJ2xpZ2h0JyB8IHVuZGVmaW5lZCkge1xuICAgICEhc2NoZW1lID8gdGhpcy5zZXRUaGVtZShzY2hlbWUpIDogdGhpcy51bnNldFRoZW1lKCk7XG4gIH07XG5cbiAgLyoqXG4gICAqIEFkZCBkYXJrIHRoZW1lIGF0dHJpYnV0ZS5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHNldCBkYXJrKGRhcmtUaGVtZTogYm9vbGVhbikge1xuICAgIGRhcmtUaGVtZSA/IHRoaXMuc2V0VGhlbWUoJ2RhcmsnKSA6IHRoaXMudW5zZXRUaGVtZSgpO1xuICB9O1xuXG4gIHNldFRoZW1lKHRoZW1lPzogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoZW1lKSB7XG4gICAgICB0aGlzLiNyZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy4jaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2RhdGEtY29yZXVpLXRoZW1lJywgdGhlbWUpO1xuICAgIH1cbiAgfVxuXG4gIHVuc2V0VGhlbWUoKTogdm9pZCB7XG4gICAgdGhpcy4jcmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuI2hvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdkYXRhLWNvcmV1aS10aGVtZScpO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './public_api';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3NpZGViYXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export { SidebarComponent } from './sidebar/sidebar.component';
|
|
2
|
-
export { SidebarService } from './sidebar.service';
|
|
3
|
-
export { SidebarBrandComponent } from './sidebar-brand/sidebar-brand.component';
|
|
4
|
-
export { SidebarToggleDirective } from './sidebar-toggle/sidebar-toggle.directive';
|
|
5
|
-
export { SidebarTogglerDirective } from './sidebar-toggler/sidebar-toggler.directive';
|
|
6
|
-
export { SidebarHeaderComponent } from './sidebar-header/sidebar-header.component';
|
|
7
|
-
export { SidebarFooterComponent } from './sidebar-footer/sidebar-footer.component';
|
|
8
|
-
export { SidebarNavComponent, SidebarNavHelper } from './sidebar-nav';
|
|
9
|
-
export { SidebarModule } from './sidebar.module';
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvc2lkZWJhci9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUVuRixPQUFPLEVBQUUsbUJBQW1CLEVBQVksZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgU2lkZWJhckNvbXBvbmVudCB9IGZyb20gJy4vc2lkZWJhci9zaWRlYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTaWRlYmFyU2VydmljZSB9IGZyb20gJy4vc2lkZWJhci5zZXJ2aWNlJztcbmV4cG9ydCB7IFNpZGViYXJCcmFuZENvbXBvbmVudCB9IGZyb20gJy4vc2lkZWJhci1icmFuZC9zaWRlYmFyLWJyYW5kLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTaWRlYmFyVG9nZ2xlRGlyZWN0aXZlIH0gZnJvbSAnLi9zaWRlYmFyLXRvZ2dsZS9zaWRlYmFyLXRvZ2dsZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgU2lkZWJhclRvZ2dsZXJEaXJlY3RpdmUgfSBmcm9tICcuL3NpZGViYXItdG9nZ2xlci9zaWRlYmFyLXRvZ2dsZXIuZGlyZWN0aXZlJztcbmV4cG9ydCB7IFNpZGViYXJIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL3NpZGViYXItaGVhZGVyL3NpZGViYXItaGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTaWRlYmFyRm9vdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zaWRlYmFyLWZvb3Rlci9zaWRlYmFyLWZvb3Rlci5jb21wb25lbnQnO1xuXG5leHBvcnQgeyBTaWRlYmFyTmF2Q29tcG9uZW50LCBJTmF2RGF0YSwgU2lkZWJhck5hdkhlbHBlciB9IGZyb20gJy4vc2lkZWJhci1uYXYnO1xuXG5leHBvcnQgeyBTaWRlYmFyTW9kdWxlIH0gZnJvbSAnLi9zaWRlYmFyLm1vZHVsZSc7XG4iXX0=
|
|
@@ -1,241 +0,0 @@
|
|
|
1
|
-
import { booleanAttribute, Component, EventEmitter, HostBinding, Inject, Input, Output } from '@angular/core';
|
|
2
|
-
import { DOCUMENT } from '@angular/common';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/cdk/layout";
|
|
5
|
-
import * as i2 from "../sidebar.service";
|
|
6
|
-
import * as i3 from "../sidebar-backdrop/sidebar-backdrop.service";
|
|
7
|
-
export class SidebarComponent {
|
|
8
|
-
#visible;
|
|
9
|
-
#onMobile;
|
|
10
|
-
#layoutChangeSubscription;
|
|
11
|
-
#stateToggleSubscription;
|
|
12
|
-
#stateInitial;
|
|
13
|
-
/**
|
|
14
|
-
* Toggle the visibility of sidebar component. [docs]
|
|
15
|
-
* @type boolean
|
|
16
|
-
* @default false
|
|
17
|
-
*/
|
|
18
|
-
set visible(value) {
|
|
19
|
-
const visible = value;
|
|
20
|
-
if (this.#visible !== visible) {
|
|
21
|
-
this.#visible = visible;
|
|
22
|
-
this.visibleChange.emit(this.#visible);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
get visible() {
|
|
26
|
-
return this.#visible;
|
|
27
|
-
}
|
|
28
|
-
set sidebarState(value) {
|
|
29
|
-
const newState = value;
|
|
30
|
-
if ('toggle' in newState) {
|
|
31
|
-
if (newState.toggle === 'visible') {
|
|
32
|
-
newState.visible = !this.state.visible;
|
|
33
|
-
this.visible = newState.visible;
|
|
34
|
-
}
|
|
35
|
-
else if (newState.toggle === 'unfoldable') {
|
|
36
|
-
newState.unfoldable = !this.state.unfoldable;
|
|
37
|
-
this.unfoldable = newState.unfoldable;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
this.visible = (newState.visible ?? this.visible) && !this.overlaid;
|
|
42
|
-
}
|
|
43
|
-
this.state = {
|
|
44
|
-
...this.state,
|
|
45
|
-
...newState
|
|
46
|
-
};
|
|
47
|
-
this.state.mobile && this.state.visible
|
|
48
|
-
? this.backdropService.setBackdrop(this)
|
|
49
|
-
: this.backdropService.clearBackdrop();
|
|
50
|
-
}
|
|
51
|
-
get sidebarState() {
|
|
52
|
-
return this.state;
|
|
53
|
-
}
|
|
54
|
-
get getMobileBreakpoint() {
|
|
55
|
-
const element = this.document.documentElement;
|
|
56
|
-
const mobileBreakpoint = this.document.defaultView?.getComputedStyle(element)?.getPropertyValue('--cui-mobile-breakpoint') ?? 'md';
|
|
57
|
-
const breakpointValue = this.document.defaultView
|
|
58
|
-
?.getComputedStyle(element)
|
|
59
|
-
?.getPropertyValue(`--cui-breakpoint-${mobileBreakpoint.trim()}`) ?? '768px';
|
|
60
|
-
return `${parseFloat(breakpointValue.trim()) - 0.02}px`;
|
|
61
|
-
}
|
|
62
|
-
constructor(document, renderer, breakpointObserver, sidebarService, backdropService) {
|
|
63
|
-
this.document = document;
|
|
64
|
-
this.renderer = renderer;
|
|
65
|
-
this.breakpointObserver = breakpointObserver;
|
|
66
|
-
this.sidebarService = sidebarService;
|
|
67
|
-
this.backdropService = backdropService;
|
|
68
|
-
this.#visible = false;
|
|
69
|
-
this.#onMobile = false;
|
|
70
|
-
this.state = {
|
|
71
|
-
sidebar: this
|
|
72
|
-
};
|
|
73
|
-
this.#stateInitial = {
|
|
74
|
-
narrow: false,
|
|
75
|
-
visible: false,
|
|
76
|
-
unfoldable: false
|
|
77
|
-
};
|
|
78
|
-
/**
|
|
79
|
-
* Make sidebar narrow. [docs]
|
|
80
|
-
* @type boolean
|
|
81
|
-
* @default false
|
|
82
|
-
*/
|
|
83
|
-
this.narrow = false;
|
|
84
|
-
/**
|
|
85
|
-
* Set sidebar to overlaid variant.
|
|
86
|
-
* @type boolean
|
|
87
|
-
* @default false
|
|
88
|
-
*/
|
|
89
|
-
this.overlaid = false;
|
|
90
|
-
/**
|
|
91
|
-
* Place sidebar in non-static positions. [docs]
|
|
92
|
-
* @default 'fixed'
|
|
93
|
-
*/
|
|
94
|
-
this.position = 'fixed';
|
|
95
|
-
/**
|
|
96
|
-
* Expand narrowed sidebar on hover. [docs]
|
|
97
|
-
* @type boolean
|
|
98
|
-
* @default false
|
|
99
|
-
*/
|
|
100
|
-
this.unfoldable = false;
|
|
101
|
-
/**
|
|
102
|
-
* Event emitted on visibility change. [docs]
|
|
103
|
-
* @type boolean
|
|
104
|
-
*/
|
|
105
|
-
this.visibleChange = new EventEmitter();
|
|
106
|
-
this.backdropService.renderer = renderer;
|
|
107
|
-
}
|
|
108
|
-
get getClasses() {
|
|
109
|
-
const { mobile, visible } = this.sidebarState;
|
|
110
|
-
return {
|
|
111
|
-
sidebar: true,
|
|
112
|
-
'sidebar-fixed': this.position === 'fixed' && !mobile,
|
|
113
|
-
'sidebar-narrow': this.narrow && !this.unfoldable,
|
|
114
|
-
'sidebar-narrow-unfoldable': this.unfoldable,
|
|
115
|
-
'sidebar-overlaid': this.overlaid,
|
|
116
|
-
[`sidebar-${this.placement}`]: !!this.placement,
|
|
117
|
-
[`sidebar-${this.colorScheme}`]: !!this.colorScheme,
|
|
118
|
-
[`sidebar-${this.size}`]: !!this.size,
|
|
119
|
-
show: visible,
|
|
120
|
-
// show: visible && this.#onMobile, //todo: check
|
|
121
|
-
hide: !visible
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
ngOnInit() {
|
|
125
|
-
this.setInitialState();
|
|
126
|
-
this.layoutChangeSubscribe();
|
|
127
|
-
this.stateToggleSubscribe();
|
|
128
|
-
}
|
|
129
|
-
ngOnDestroy() {
|
|
130
|
-
this.stateToggleSubscribe(false);
|
|
131
|
-
this.layoutChangeSubscribe(false);
|
|
132
|
-
}
|
|
133
|
-
ngOnChanges(changes) {
|
|
134
|
-
const oldStateMap = new Map(Object.entries(this.state));
|
|
135
|
-
const newStateMap = new Map();
|
|
136
|
-
newStateMap.set('sidebar', this);
|
|
137
|
-
const propList = ['visible', 'unfoldable', 'narrow'];
|
|
138
|
-
for (const propName in changes) {
|
|
139
|
-
if (propList.includes(propName)) {
|
|
140
|
-
if (changes[propName] && !changes[propName].firstChange) {
|
|
141
|
-
const value = booleanAttribute(changes[propName].currentValue);
|
|
142
|
-
if (oldStateMap.get(propName) !== value) {
|
|
143
|
-
newStateMap.set(propName, value);
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
if (newStateMap.size > 1) {
|
|
149
|
-
const state = Object.fromEntries(newStateMap.entries());
|
|
150
|
-
this.sidebarService.toggle(state);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
setInitialState() {
|
|
154
|
-
this.#stateInitial = {
|
|
155
|
-
narrow: this.narrow,
|
|
156
|
-
visible: this.visible,
|
|
157
|
-
unfoldable: this.unfoldable
|
|
158
|
-
};
|
|
159
|
-
this.sidebarService.toggle({
|
|
160
|
-
...this.#stateInitial,
|
|
161
|
-
sidebar: this
|
|
162
|
-
});
|
|
163
|
-
}
|
|
164
|
-
stateToggleSubscribe(subscribe = true) {
|
|
165
|
-
if (subscribe) {
|
|
166
|
-
this.#stateToggleSubscription = this.sidebarService.sidebarState$.subscribe((state) => {
|
|
167
|
-
if (this === state.sidebar || this.id === state.id) {
|
|
168
|
-
this.sidebarState = state;
|
|
169
|
-
}
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
else {
|
|
173
|
-
this.#stateToggleSubscription?.unsubscribe();
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
layoutChangeSubscribe(subscribe = true) {
|
|
177
|
-
const onMobile = `(max-width: ${this.getMobileBreakpoint})`;
|
|
178
|
-
if (subscribe) {
|
|
179
|
-
const layoutChanges = this.breakpointObserver.observe([onMobile]);
|
|
180
|
-
this.#layoutChangeSubscription = layoutChanges.subscribe((result) => {
|
|
181
|
-
const isOnMobile = result.breakpoints[onMobile];
|
|
182
|
-
const isUnfoldable = isOnMobile ? false : this.unfoldable;
|
|
183
|
-
if (this.#onMobile !== isOnMobile) {
|
|
184
|
-
this.#onMobile = isOnMobile;
|
|
185
|
-
this.sidebarService.toggle({
|
|
186
|
-
mobile: isOnMobile,
|
|
187
|
-
unfoldable: isUnfoldable,
|
|
188
|
-
visible: isOnMobile ? !isOnMobile : this.#stateInitial.visible,
|
|
189
|
-
sidebar: this
|
|
190
|
-
});
|
|
191
|
-
}
|
|
192
|
-
});
|
|
193
|
-
}
|
|
194
|
-
else {
|
|
195
|
-
this.#layoutChangeSubscription?.unsubscribe();
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SidebarComponent, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }, { token: i1.BreakpointObserver }, { token: i2.SidebarService }, { token: i3.SidebarBackdropService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
199
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.12", type: SidebarComponent, isStandalone: true, selector: "c-sidebar", inputs: { colorScheme: "colorScheme", id: "id", narrow: ["narrow", "narrow", booleanAttribute], overlaid: ["overlaid", "overlaid", booleanAttribute], placement: "placement", position: "position", size: "size", unfoldable: ["unfoldable", "unfoldable", booleanAttribute], visible: ["visible", "visible", booleanAttribute] }, outputs: { visibleChange: "visibleChange" }, host: { properties: { "class": "this.getClasses" }, classAttribute: "sidebar" }, exportAs: ["cSidebar"], usesOnChanges: true, ngImport: i0, template: '<ng-content />', isInline: true }); }
|
|
200
|
-
}
|
|
201
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SidebarComponent, decorators: [{
|
|
202
|
-
type: Component,
|
|
203
|
-
args: [{
|
|
204
|
-
selector: 'c-sidebar',
|
|
205
|
-
exportAs: 'cSidebar',
|
|
206
|
-
template: '<ng-content />',
|
|
207
|
-
standalone: true,
|
|
208
|
-
host: { class: 'sidebar' }
|
|
209
|
-
}]
|
|
210
|
-
}], ctorParameters: () => [{ type: Document, decorators: [{
|
|
211
|
-
type: Inject,
|
|
212
|
-
args: [DOCUMENT]
|
|
213
|
-
}] }, { type: i0.Renderer2 }, { type: i1.BreakpointObserver }, { type: i2.SidebarService }, { type: i3.SidebarBackdropService }], propDecorators: { colorScheme: [{
|
|
214
|
-
type: Input
|
|
215
|
-
}], id: [{
|
|
216
|
-
type: Input
|
|
217
|
-
}], narrow: [{
|
|
218
|
-
type: Input,
|
|
219
|
-
args: [{ transform: booleanAttribute }]
|
|
220
|
-
}], overlaid: [{
|
|
221
|
-
type: Input,
|
|
222
|
-
args: [{ transform: booleanAttribute }]
|
|
223
|
-
}], placement: [{
|
|
224
|
-
type: Input
|
|
225
|
-
}], position: [{
|
|
226
|
-
type: Input
|
|
227
|
-
}], size: [{
|
|
228
|
-
type: Input
|
|
229
|
-
}], unfoldable: [{
|
|
230
|
-
type: Input,
|
|
231
|
-
args: [{ transform: booleanAttribute }]
|
|
232
|
-
}], visible: [{
|
|
233
|
-
type: Input,
|
|
234
|
-
args: [{ transform: booleanAttribute }]
|
|
235
|
-
}], visibleChange: [{
|
|
236
|
-
type: Output
|
|
237
|
-
}], getClasses: [{
|
|
238
|
-
type: HostBinding,
|
|
239
|
-
args: ['class']
|
|
240
|
-
}] } });
|
|
241
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3NpZGViYXIvc2lkZWJhci9zaWRlYmFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBSUwsTUFBTSxFQUdQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFjM0MsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixRQUFRLENBQVM7SUFDakIsU0FBUyxDQUFTO0lBQ2xCLHlCQUF5QixDQUFnQjtJQUN6Qyx3QkFBd0IsQ0FBZ0I7SUFNeEMsYUFBYSxDQUlYO0lBc0RGOzs7O09BSUc7SUFDSCxJQUNJLE9BQU8sQ0FBQyxLQUFjO1FBQ3hCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7WUFDeEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFRRCxJQUFJLFlBQVksQ0FBQyxLQUFxQjtRQUNwQyxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxRQUFRLElBQUksUUFBUSxFQUFFLENBQUM7WUFDekIsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUNsQyxRQUFRLENBQUMsT0FBTyxHQUFHLENB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QyxVQUFVO3NCQUFqRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQVFsQyxPQUFPO3NCQURWLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBaUI1QixhQUFhO3NCQUF0QixNQUFNO2dCQWtESCxVQUFVO3NCQURiLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXIsIEJyZWFrcG9pbnRTdGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IElTaWRlYmFyQWN0aW9uLCBTaWRlYmFyU2VydmljZSB9IGZyb20gJy4uL3NpZGViYXIuc2VydmljZSc7XG5pbXBvcnQgeyBTaWRlYmFyQmFja2Ryb3BTZXJ2aWNlIH0gZnJvbSAnLi4vc2lkZWJhci1iYWNrZHJvcC9zaWRlYmFyLWJhY2tkcm9wLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjLXNpZGViYXInLFxuICBleHBvcnRBczogJ2NTaWRlYmFyJyxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudCAvPicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGhvc3Q6IHsgY2xhc3M6ICdzaWRlYmFyJyB9XG59KVxuZXhwb3J0IGNsYXNzIFNpZGViYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgI3Zpc2libGUgPSBmYWxzZTtcbiAgI29uTW9iaWxlID0gZmFsc2U7XG4gICNsYXlvdXRDaGFuZ2VTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG4gICNzdGF0ZVRvZ2dsZVN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcblxuICBzdGF0ZTogSVNpZGViYXJBY3Rpb24gPSB7XG4gICAgc2lkZWJhcjogdGhpc1xuICB9O1xuXG4gICNzdGF0ZUluaXRpYWwgPSB7XG4gICAgbmFycm93OiBmYWxzZSxcbiAgICB2aXNpYmxlOiBmYWxzZSxcbiAgICB1bmZvbGRhYmxlOiBmYWxzZVxuICB9O1xuXG4gIC8qKlxuICAgKiBTZXRzIGlmIHRoZSBjb2xvciBvZiB0ZXh0IHNob3VsZCBiZSBjb2xvcmVkIGZvciBhIGxpZ2h0IG9yIGRhcmsgYmFja2dyb3VuZC4gW2RvY3NdXG4gICAqXG4gICAqIEB0eXBlICdkYXJrJyB8ICdsaWdodCdcbiAgICovXG4gIEBJbnB1dCgpIGNvbG9yU2NoZW1lPzogJ2RhcmsnIHwgJ2xpZ2h0JztcblxuICAvKipcbiAgICogU2V0cyBodG1sIGF0dHJpYnV0ZSBpZC4gW2RvY3NdXG4gICAqXG4gICAqIEB0eXBlIHN0cmluZ1xuICAgKi9cbiAgQElucHV0KCkgaWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE1ha2Ugc2lkZWJhciBuYXJyb3cuIFtkb2NzXVxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgbmFycm93OiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFNldCBzaWRlYmFyIHRvIG92ZXJsYWlkIHZhcmlhbnQuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBvdmVybGFpZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBDb21wb25lbnRzIHBsYWNlbWVudCwgdGhlcmXigJlzIG5vIGRlZmF1bHQgcGxhY2VtZW50LiBbZG9jc11cbiAgICogQHR5cGUgJ3N0YXJ0JyB8ICdlbmQnXG4gICAqL1xuICBASW5wdXQoKSBwbGFjZW1lbnQ/OiAnc3RhcnQnIHwgJ2VuZCc7XG5cbiAgLyoqXG4gICAqIFBsYWNlIHNpZGViYXIgaW4gbm9uLXN0YXRpYyBwb3NpdGlvbnMuIFtkb2NzXVxuICAgKiBAZGVmYXVsdCAnZml4ZWQnXG4gICAqL1xuICBASW5wdXQoKSBwb3NpdGlvbjogJ2ZpeGVkJyB8ICdzdGlja3knID0gJ2ZpeGVkJztcblxuICAvKipcbiAgICogU2l6ZSB0aGUgY29tcG9uZW50IHNtYWxsLCBsYXJnZSwgb3IgZXh0cmEgbGFyZ2UuIFtkb2NzXVxuICAgKi9cbiAgQElucHV0KCkgc2l6ZT86ICdzbScgfCAnbGcnIHwgJ3hsJztcblxuICAvKipcbiAgICogRXhwYW5kIG5hcnJvd2VkIHNpZGViYXIgb24gaG92ZXIuIFtkb2NzXVxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgdW5mb2xkYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUb2dnbGUgdGhlIHZpc2liaWxpdHkgb2Ygc2lkZWJhciBjb21wb25lbnQuIFtkb2NzXVxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBjb25zdCB2aXNpYmxlID0gdmFsdWU7XG4gICAgaWYgKHRoaXMuI3Zpc2libGUgIT09IHZpc2libGUpIHtcbiAgICAgIHRoaXMuI3Zpc2libGUgPSB2aXNpYmxlO1xuICAgICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodGhpcy4jdmlzaWJsZSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHZpc2libGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuI3Zpc2libGU7XG4gIH1cblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCBvbiB2aXNpYmlsaXR5IGNoYW5nZS4gW2RvY3NdXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICovXG4gIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHNldCBzaWRlYmFyU3RhdGUodmFsdWU6IElTaWRlYmFyQWN0aW9uKSB7XG4gICAgY29uc3QgbmV3U3RhdGUgPSB2YWx1ZTtcbiAgICBpZiAoJ3RvZ2dsZScgaW4gbmV3U3RhdGUpIHtcbiAgICAgIGlmIChuZXdTdGF0ZS50b2dnbGUgPT09ICd2aXNpYmxlJykge1xuICAgICAgICBuZXdTdGF0ZS52aXNpYmxlID0gIXRoaXMuc3RhdGUudmlzaWJsZTtcbiAgICAgICAgdGhpcy52aXNpYmxlID0gbmV3U3RhdGUudmlzaWJsZTtcbiAgICAgIH0gZWxzZSBpZiAobmV3U3RhdGUudG9nZ2xlID09PSAndW5mb2xkYWJsZScpIHtcbiAgICAgICAgbmV3U3RhdGUudW5mb2xkYWJsZSA9ICF0aGlzLnN0YXRlLnVuZm9sZGFibGU7XG4gICAgICAgIHRoaXMudW5mb2xkYWJsZSA9IG5ld1N0YXRlLnVuZm9sZGFibGU7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IChuZXdTdGF0ZS52aXNpYmxlID8/IHRoaXMudmlzaWJsZSkgJiYgIXRoaXMub3ZlcmxhaWQ7XG4gICAgfVxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgLi4ubmV3U3RhdGVcbiAgICB9O1xuICAgIHRoaXMuc3RhdGUubW9iaWxlICYmIHRoaXMuc3RhdGUudmlzaWJsZVxuICAgICAgPyB0aGlzLmJhY2tkcm9wU2VydmljZS5zZXRCYWNrZHJvcCh0aGlzKVxuICAgICAgOiB0aGlzLmJhY2tkcm9wU2VydmljZS5jbGVhckJhY2tkcm9wKCk7XG4gIH1cblxuICBnZXQgc2lkZWJhclN0YXRlKCk6IElTaWRlYmFyQWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZTtcbiAgfVxuXG4gIGdldCBnZXRNb2JpbGVCcmVha3BvaW50KCk6IHN0cmluZyB7XG4gICAgY29uc3QgZWxlbWVudDogRWxlbWVudCA9IHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICAgIGNvbnN0IG1vYmlsZUJyZWFrcG9pbnQgPVxuICAgICAgdGhpcy5kb2N1bWVudC5kZWZhdWx0Vmlldz8uZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KT8uZ2V0UHJvcGVydHlWYWx1ZSgnLS1jdWktbW9iaWxlLWJyZWFrcG9pbnQnKSA/PyAnbWQnO1xuICAgIGNvbnN0IGJyZWFrcG9pbnRWYWx1ZSA9XG4gICAgICB0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3XG4gICAgICAgID8uZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KVxuICAgICAgICA/LmdldFByb3BlcnR5VmFsdWUoYC0tY3VpLWJyZWFrcG9pbnQtJHttb2JpbGVCcmVha3BvaW50LnRyaW0oKX1gKSA/PyAnNzY4cHgnO1xuICAgIHJldHVybiBgJHtwYXJzZUZsb2F0KGJyZWFrcG9pbnRWYWx1ZS50cmltKCkpIC0gMC4wMn1weGA7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBicmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlcixcbiAgICBwcml2YXRlIHNpZGViYXJTZXJ2aWNlOiBTaWRlYmFyU2VydmljZSxcbiAgICBwcml2YXRlIGJhY2tkcm9wU2VydmljZTogU2lkZWJhckJhY2tkcm9wU2VydmljZVxuICApIHtcbiAgICB0aGlzLmJhY2tkcm9wU2VydmljZS5yZW5kZXJlciA9IHJlbmRlcmVyO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBnZXRDbGFzc2VzKCk6IGFueSB7XG4gICAgY29uc3QgeyBtb2JpbGUsIHZpc2libGUgfSA9IHRoaXMuc2lkZWJhclN0YXRlO1xuICAgIHJldHVybiB7XG4gICAgICBzaWRlYmFyOiB0cnVlLFxuICAgICAgJ3NpZGViYXItZml4ZWQnOiB0aGlzLnBvc2l0aW9uID09PSAnZml4ZWQnICYmICFtb2JpbGUsXG4gICAgICAnc2lkZWJhci1uYXJyb3cnOiB0aGlzLm5hcnJvdyAmJiAhdGhpcy51bmZvbGRhYmxlLFxuICAgICAgJ3NpZGViYXItbmFycm93LXVuZm9sZGFibGUnOiB0aGlzLnVuZm9sZGFibGUsXG4gICAgICAnc2lkZWJhci1vdmVybGFpZCc6IHRoaXMub3ZlcmxhaWQsXG4gICAgICBbYHNpZGViYXItJHt0aGlzLnBsYWNlbWVudH1gXTogISF0aGlzLnBsYWNlbWVudCxcbiAgICAgIFtgc2lkZWJhci0ke3RoaXMuY29sb3JTY2hlbWV9YF06ICEhdGhpcy5jb2xvclNjaGVtZSxcbiAgICAgIFtgc2lkZWJhci0ke3RoaXMuc2l6ZX1gXTogISF0aGlzLnNpemUsXG4gICAgICBzaG93OiB2aXNpYmxlLFxuICAgICAgLy8gc2hvdzogdmlzaWJsZSAmJiB0aGlzLiNvbk1vYmlsZSwgLy90b2RvOiBjaGVja1xuICAgICAgaGlkZTogIXZpc2libGVcbiAgICB9O1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRJbml0aWFsU3RhdGUoKTtcbiAgICB0aGlzLmxheW91dENoYW5nZVN1YnNjcmliZSgpO1xuICAgIHRoaXMuc3RhdGVUb2dnbGVTdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVUb2dnbGVTdWJzY3JpYmUoZmFsc2UpO1xuICAgIHRoaXMubGF5b3V0Q2hhbmdlU3Vic2NyaWJlKGZhbHNlKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBjb25zdCBvbGRTdGF0ZU1hcCA9IG5ldyBNYXAoT2JqZWN0LmVudHJpZXModGhpcy5zdGF0ZSkpO1xuICAgIGNvbnN0IG5ld1N0YXRlTWFwID0gbmV3IE1hcCgpO1xuICAgIG5ld1N0YXRlTWFwLnNldCgnc2lkZWJhcicsIHRoaXMpO1xuXG4gICAgY29uc3QgcHJvcExpc3QgPSBbJ3Zpc2libGUnLCAndW5mb2xkYWJsZScsICduYXJyb3cnXTtcblxuICAgIGZvciAoY29uc3QgcHJvcE5hbWUgaW4gY2hhbmdlcykge1xuICAgICAgaWYgKHByb3BMaXN0LmluY2x1ZGVzKHByb3BOYW1lKSkge1xuICAgICAgICBpZiAoY2hhbmdlc1twcm9wTmFtZV0gJiYgIWNoYW5nZXNbcHJvcE5hbWVdLmZpcnN0Q2hhbmdlKSB7XG4gICAgICAgICAgY29uc3QgdmFsdWUgPSBib29sZWFuQXR0cmlidXRlKGNoYW5nZXNbcHJvcE5hbWVdLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgICAgaWYgKG9sZFN0YXRlTWFwLmdldChwcm9wTmFtZSkgIT09IHZhbHVlKSB7XG4gICAgICAgICAgICBuZXdTdGF0ZU1hcC5zZXQocHJvcE5hbWUsIHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAobmV3U3RhdGVNYXAuc2l6ZSA+IDEpIHtcbiAgICAgIGNvbnN0IHN0YXRlID0gT2JqZWN0LmZyb21FbnRyaWVzKG5ld1N0YXRlTWFwLmVudHJpZXMoKSk7XG4gICAgICB0aGlzLnNpZGViYXJTZXJ2aWNlLnRvZ2dsZShzdGF0ZSk7XG4gICAgfVxuICB9XG5cbiAgc2V0SW5pdGlhbFN0YXRlKCk6IHZvaWQge1xuICAgIHRoaXMuI3N0YXRlSW5pdGlhbCA9IHtcbiAgICAgIG5hcnJvdzogdGhpcy5uYXJyb3csXG4gICAgICB2aXNpYmxlOiB0aGlzLnZpc2libGUsXG4gICAgICB1bmZvbGRhYmxlOiB0aGlzLnVuZm9sZGFibGVcbiAgICB9O1xuICAgIHRoaXMuc2lkZWJhclNlcnZpY2UudG9nZ2xlKHtcbiAgICAgIC4uLnRoaXMuI3N0YXRlSW5pdGlhbCxcbiAgICAgIHNpZGViYXI6IHRoaXNcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGVUb2dnbGVTdWJzY3JpYmUoc3Vic2NyaWJlOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgIGlmIChzdWJzY3JpYmUpIHtcbiAgICAgIHRoaXMuI3N0YXRlVG9nZ2xlU3Vic2NyaXB0aW9uID0gdGhpcy5zaWRlYmFyU2VydmljZS5zaWRlYmFyU3RhdGUkLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcbiAgICAgICAgaWYgKHRoaXMgPT09IHN0YXRlLnNpZGViYXIgfHwgdGhpcy5pZCA9PT0gc3RhdGUuaWQpIHtcbiAgICAgICAgICB0aGlzLnNpZGViYXJTdGF0ZSA9IHN0YXRlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jc3RhdGVUb2dnbGVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgbGF5b3V0Q2hhbmdlU3Vic2NyaWJlKHN1YnNjcmliZTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICBjb25zdCBvbk1vYmlsZSA9IGAobWF4LXdpZHRoOiAke3RoaXMuZ2V0TW9iaWxlQnJlYWtwb2ludH0pYDtcblxuICAgIGlmIChzdWJzY3JpYmUpIHtcbiAgICAgIGNvbnN0IGxheW91dENoYW5nZXMgPSB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlci5vYnNlcnZlKFtvbk1vYmlsZV0pO1xuXG4gICAgICB0aGlzLiNsYXlvdXRDaGFuZ2VTdWJzY3JpcHRpb24gPSBsYXlvdXRDaGFuZ2VzLnN1YnNjcmliZSgocmVzdWx0OiBCcmVha3BvaW50U3RhdGUpID0+IHtcbiAgICAgICAgY29uc3QgaXNPbk1vYmlsZSA9IHJlc3VsdC5icmVha3BvaW50c1tvbk1vYmlsZV07XG4gICAgICAgIGNvbnN0IGlzVW5mb2xkYWJsZSA9IGlzT25Nb2JpbGUgPyBmYWxzZSA6IHRoaXMudW5mb2xkYWJsZTtcbiAgICAgICAgaWYgKHRoaXMuI29uTW9iaWxlICE9PSBpc09uTW9iaWxlKSB7XG4gICAgICAgICAgdGhpcy4jb25Nb2JpbGUgPSBpc09uTW9iaWxlO1xuICAgICAgICAgIHRoaXMuc2lkZWJhclNlcnZpY2UudG9nZ2xlKHtcbiAgICAgICAgICAgIG1vYmlsZTogaXNPbk1vYmlsZSxcbiAgICAgICAgICAgIHVuZm9sZGFibGU6IGlzVW5mb2xkYWJsZSxcbiAgICAgICAgICAgIHZpc2libGU6IGlzT25Nb2JpbGUgPyAhaXNPbk1vYmlsZSA6IHRoaXMuI3N0YXRlSW5pdGlhbC52aXNpYmxlLFxuICAgICAgICAgICAgc2lkZWJhcjogdGhpc1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jbGF5b3V0Q2hhbmdlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxufVxuIl19
|