@coreui/angular 4.2.23 → 4.2.28
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/LICENSE +21 -21
- package/README.md +212 -212
- package/esm2020/coreui-angular.mjs +4 -4
- package/esm2020/lib/accordion/accordion/accordion.component.mjs +39 -39
- package/esm2020/lib/accordion/accordion-button/accordion-button.directive.mjs +43 -43
- package/esm2020/lib/accordion/accordion-item/accordion-item.component.mjs +72 -72
- package/esm2020/lib/accordion/accordion.module.mjs +47 -47
- package/esm2020/lib/accordion/accordion.service.mjs +36 -36
- package/esm2020/lib/accordion/index.mjs +1 -1
- package/esm2020/lib/accordion/public_api.mjs +4 -4
- package/esm2020/lib/alert/alert-heading.directive.mjs +21 -21
- package/esm2020/lib/alert/alert-link.directive.mjs +21 -21
- package/esm2020/lib/alert/alert.component.mjs +181 -181
- package/esm2020/lib/alert/alert.module.mjs +37 -37
- package/esm2020/lib/alert/index.mjs +1 -1
- package/esm2020/lib/alert/public_api.mjs +4 -4
- package/esm2020/lib/avatar/avatar.component.mjs +48 -48
- package/esm2020/lib/avatar/avatar.module.mjs +23 -23
- package/esm2020/lib/avatar/index.mjs +1 -1
- package/esm2020/lib/avatar/public_api.mjs +3 -3
- package/esm2020/lib/backdrop/backdrop.service.mjs +58 -52
- package/esm2020/lib/badge/badge.component.mjs +41 -41
- package/esm2020/lib/badge/badge.module.mjs +23 -23
- package/esm2020/lib/badge/index.mjs +1 -1
- package/esm2020/lib/badge/public_api.mjs +2 -2
- package/esm2020/lib/breadcrumb/breadcrumb/breadcrumb.component.mjs +42 -42
- package/esm2020/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.mjs +37 -37
- package/esm2020/lib/breadcrumb/breadcrumb-item/breadcrumb-item.mjs +1 -1
- package/esm2020/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.mjs +41 -41
- package/esm2020/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.mjs +53 -53
- package/esm2020/lib/breadcrumb/breadcrumb.module.mjs +36 -36
- package/esm2020/lib/breadcrumb/index.mjs +1 -1
- package/esm2020/lib/breadcrumb/public_api.mjs +6 -6
- package/esm2020/lib/button/button-close.directive.mjs +44 -44
- package/esm2020/lib/button/button.directive.mjs +112 -112
- package/esm2020/lib/button/button.module.mjs +28 -28
- package/esm2020/lib/button/index.mjs +1 -1
- package/esm2020/lib/button/public_api.mjs +3 -3
- package/esm2020/lib/button-group/button-group/button-group.component.mjs +40 -40
- package/esm2020/lib/button-group/button-group.module.mjs +28 -28
- package/esm2020/lib/button-group/button-toolbar/button-toolbar.component.mjs +34 -34
- package/esm2020/lib/button-group/index.mjs +1 -1
- package/esm2020/lib/button-group/public_api.mjs +3 -3
- package/esm2020/lib/callout/callout.component.mjs +23 -23
- package/esm2020/lib/callout/callout.module.mjs +19 -19
- package/esm2020/lib/callout/index.mjs +1 -1
- package/esm2020/lib/callout/public_api.mjs +2 -2
- package/esm2020/lib/card/card-body.component.mjs +21 -21
- package/esm2020/lib/card/card-footer.component.mjs +21 -21
- package/esm2020/lib/card/card-group.component.mjs +21 -21
- package/esm2020/lib/card/card-header-actions.component.mjs +19 -19
- package/esm2020/lib/card/card-header.component.mjs +21 -21
- package/esm2020/lib/card/card-img-overlay/card-img-overlay.component.mjs +18 -18
- package/esm2020/lib/card/card-img.directive.mjs +24 -24
- package/esm2020/lib/card/card-link.directive.mjs +20 -20
- package/esm2020/lib/card/card-subtitle.directive.mjs +20 -20
- package/esm2020/lib/card/card-text.directive.mjs +20 -20
- package/esm2020/lib/card/card-title.directive.mjs +20 -20
- package/esm2020/lib/card/card.component.mjs +28 -28
- package/esm2020/lib/card/card.module.mjs +78 -78
- package/esm2020/lib/card/index.mjs +1 -1
- package/esm2020/lib/card/public_api.mjs +13 -13
- package/esm2020/lib/carousel/carousel/carousel.component.mjs +214 -214
- package/esm2020/lib/carousel/carousel-caption/carousel-caption.component.mjs +16 -16
- package/esm2020/lib/carousel/carousel-control/carousel-control.component.mjs +83 -83
- package/esm2020/lib/carousel/carousel-indicators/carousel-indicators.component.mjs +44 -44
- package/esm2020/lib/carousel/carousel-inner/carousel-inner.component.mjs +47 -47
- package/esm2020/lib/carousel/carousel-item/carousel-item.component.mjs +68 -68
- package/esm2020/lib/carousel/carousel-state.mjs +77 -77
- package/esm2020/lib/carousel/carousel-state.type.mjs +1 -1
- package/esm2020/lib/carousel/carousel.animation.mjs +69 -69
- package/esm2020/lib/carousel/carousel.config.mjs +21 -21
- package/esm2020/lib/carousel/carousel.module.mjs +53 -53
- package/esm2020/lib/carousel/carousel.service.mjs +18 -18
- package/esm2020/lib/carousel/index.mjs +2 -2
- package/esm2020/lib/carousel/public_api.mjs +9 -9
- package/esm2020/lib/collapse/collapse.animations.mjs +18 -18
- package/esm2020/lib/collapse/collapse.directive.mjs +190 -190
- package/esm2020/lib/collapse/collapse.module.mjs +22 -22
- package/esm2020/lib/collapse/index.mjs +1 -1
- package/esm2020/lib/collapse/public_api.mjs +2 -2
- package/esm2020/lib/coreui.types.mjs +10 -10
- package/esm2020/lib/dropdown/dropdown/dropdown.component.mjs +374 -366
- package/esm2020/lib/dropdown/dropdown-close/dropdown-close.directive.mjs +72 -72
- package/esm2020/lib/dropdown/dropdown-divider/dropdown-divider.directive.mjs +22 -22
- package/esm2020/lib/dropdown/dropdown-header/dropdown-header.directive.mjs +22 -22
- package/esm2020/lib/dropdown/dropdown-item/dropdown-item-plain.directive.mjs +22 -22
- package/esm2020/lib/dropdown/dropdown-item/dropdown-item.directive.mjs +86 -86
- package/esm2020/lib/dropdown/dropdown-menu/dropdown-menu.directive.mjs +81 -81
- package/esm2020/lib/dropdown/dropdown.module.mjs +64 -64
- package/esm2020/lib/dropdown/dropdown.service.mjs +17 -17
- package/esm2020/lib/dropdown/index.mjs +1 -1
- package/esm2020/lib/dropdown/public_api.mjs +10 -10
- package/esm2020/lib/footer/footer.component.mjs +37 -37
- package/esm2020/lib/footer/footer.module.mjs +23 -23
- package/esm2020/lib/footer/index.mjs +1 -1
- package/esm2020/lib/footer/public_api.mjs +2 -2
- package/esm2020/lib/form/form/form.directive.mjs +37 -37
- package/esm2020/lib/form/form-check/form-check-input.directive.mjs +62 -62
- package/esm2020/lib/form/form-check/form-check-label.directive.mjs +20 -20
- package/esm2020/lib/form/form-check/form-check.component.mjs +75 -75
- package/esm2020/lib/form/form-control/form-control.directive.mjs +70 -70
- package/esm2020/lib/form/form-feedback/form-feedback.component.mjs +42 -42
- package/esm2020/lib/form/form-floating/form-floating.directive.mjs +37 -37
- package/esm2020/lib/form/form-label/form-label.directive.mjs +39 -39
- package/esm2020/lib/form/form-select/form-select.directive.mjs +34 -34
- package/esm2020/lib/form/form-text/form-text.directive.mjs +21 -21
- package/esm2020/lib/form/form.module.mjs +76 -76
- package/esm2020/lib/form/index.mjs +1 -1
- package/esm2020/lib/form/input-group/input-group.component.mjs +30 -30
- package/esm2020/lib/form/input-group-text/input-group-text.directive.mjs +21 -21
- package/esm2020/lib/form/public_api.mjs +13 -13
- package/esm2020/lib/grid/col.component.mjs +11 -11
- package/esm2020/lib/grid/col.directive.mjs +156 -156
- package/esm2020/lib/grid/col.type.mjs +1 -1
- package/esm2020/lib/grid/container.component.mjs +42 -42
- package/esm2020/lib/grid/container.type.mjs +1 -1
- package/esm2020/lib/grid/grid.module.mjs +47 -47
- package/esm2020/lib/grid/gutter.directive.mjs +55 -55
- package/esm2020/lib/grid/gutter.type.mjs +1 -1
- package/esm2020/lib/grid/index.mjs +1 -1
- package/esm2020/lib/grid/public_api.mjs +7 -7
- package/esm2020/lib/grid/row.component.mjs +11 -11
- package/esm2020/lib/grid/row.directive.mjs +44 -44
- package/esm2020/lib/grid/row.type.mjs +1 -1
- package/esm2020/lib/header/header/header.component.mjs +47 -47
- package/esm2020/lib/header/header-brand/header-brand.component.mjs +30 -30
- package/esm2020/lib/header/header-divider/header-divider.component.mjs +19 -19
- package/esm2020/lib/header/header-nav/header-nav.component.mjs +27 -27
- package/esm2020/lib/header/header-text/header-text.component.mjs +19 -19
- package/esm2020/lib/header/header-toggler/header-toggler.directive.mjs +53 -53
- package/esm2020/lib/header/header.module.mjs +48 -48
- package/esm2020/lib/header/index.mjs +1 -1
- package/esm2020/lib/header/public_api.mjs +7 -7
- package/esm2020/lib/image/img.directive.mjs +91 -91
- package/esm2020/lib/image/img.module.mjs +23 -23
- package/esm2020/lib/image/index.mjs +1 -1
- package/esm2020/lib/image/public_api.mjs +2 -2
- package/esm2020/lib/list-group/index.mjs +1 -1
- package/esm2020/lib/list-group/list-group-item.directive.mjs +72 -72
- package/esm2020/lib/list-group/list-group.directive.mjs +43 -43
- package/esm2020/lib/list-group/list-group.module.mjs +24 -24
- package/esm2020/lib/list-group/public_api.mjs +3 -3
- package/esm2020/lib/modal/index.mjs +1 -1
- package/esm2020/lib/modal/modal/modal.component.mjs +305 -311
- package/esm2020/lib/modal/modal-body/modal-body.component.mjs +18 -18
- package/esm2020/lib/modal/modal-content/modal-content.component.mjs +23 -23
- package/esm2020/lib/modal/modal-dialog/modal-dialog.component.mjs +31 -31
- package/esm2020/lib/modal/modal-dismiss/modal-toggle.directive.mjs +26 -26
- package/esm2020/lib/modal/modal-footer/modal-footer.component.mjs +21 -21
- package/esm2020/lib/modal/modal-header/modal-header.component.mjs +21 -21
- package/esm2020/lib/modal/modal-title/modal-title.directive.mjs +20 -20
- package/esm2020/lib/modal/modal.module.mjs +68 -68
- package/esm2020/lib/modal/modal.service.mjs +20 -20
- package/esm2020/lib/modal/public_api.mjs +10 -10
- package/esm2020/lib/nav/index.mjs +1 -1
- package/esm2020/lib/nav/nav-item.component.mjs +18 -18
- package/esm2020/lib/nav/nav-link.directive.mjs +87 -87
- package/esm2020/lib/nav/nav.component.mjs +24 -24
- package/esm2020/lib/nav/nav.module.mjs +21 -21
- package/esm2020/lib/nav/public_api.mjs +4 -4
- package/esm2020/lib/navbar/index.mjs +1 -1
- package/esm2020/lib/navbar/navbar-brand/navbar-brand.directive.mjs +22 -22
- package/esm2020/lib/navbar/navbar-nav/navbar-nav.component.mjs +39 -39
- package/esm2020/lib/navbar/navbar-text/navbar-text.component.mjs +19 -19
- package/esm2020/lib/navbar/navbar-toggler/navbar-toggler.directive.mjs +62 -62
- package/esm2020/lib/navbar/navbar.component.mjs +84 -84
- package/esm2020/lib/navbar/navbar.module.mjs +47 -47
- package/esm2020/lib/navbar/public_api.mjs +6 -6
- package/esm2020/lib/offcanvas/index.mjs +1 -1
- package/esm2020/lib/offcanvas/offcanvas/offcanvas.component.mjs +316 -244
- package/esm2020/lib/offcanvas/offcanvas-body/offcanvas-body.component.mjs +18 -18
- package/esm2020/lib/offcanvas/offcanvas-header/offcanvas-header.component.mjs +18 -18
- package/esm2020/lib/offcanvas/offcanvas-title/offcanvas-title.directive.mjs +20 -20
- package/esm2020/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.mjs +26 -26
- package/esm2020/lib/offcanvas/offcanvas.module.mjs +56 -56
- package/esm2020/lib/offcanvas/offcanvas.service.mjs +20 -20
- package/esm2020/lib/offcanvas/public_api.mjs +7 -7
- package/esm2020/lib/pagination/index.mjs +1 -1
- package/esm2020/lib/pagination/page-item/page-item.component.mjs +11 -11
- package/esm2020/lib/pagination/page-item/page-item.directive.mjs +62 -62
- package/esm2020/lib/pagination/page-link/page-link.directive.mjs +20 -20
- package/esm2020/lib/pagination/pagination/pagination.component.mjs +40 -40
- package/esm2020/lib/pagination/pagination.module.mjs +38 -38
- package/esm2020/lib/pagination/public_api.mjs +5 -5
- package/esm2020/lib/placeholder/index.mjs +2 -2
- package/esm2020/lib/placeholder/placeholder-animation.directive.mjs +34 -34
- package/esm2020/lib/placeholder/placeholder.directive.mjs +51 -51
- package/esm2020/lib/placeholder/placeholder.module.mjs +29 -29
- package/esm2020/lib/placeholder/public_api.mjs +4 -4
- package/esm2020/lib/popover/index.mjs +1 -1
- package/esm2020/lib/popover/popover/popover.component.mjs +92 -92
- package/esm2020/lib/popover/popover.directive.mjs +196 -196
- package/esm2020/lib/popover/popover.module.mjs +28 -28
- package/esm2020/lib/popover/public_api.mjs +3 -3
- package/esm2020/lib/progress/index.mjs +1 -1
- package/esm2020/lib/progress/progress-bar.component.mjs +111 -111
- package/esm2020/lib/progress/progress-bar.mjs +1 -1
- package/esm2020/lib/progress/progress.component.mjs +71 -71
- package/esm2020/lib/progress/progress.module.mjs +24 -24
- package/esm2020/lib/progress/public_api.mjs +3 -3
- package/esm2020/lib/services/class-toggle.service.mjs +29 -29
- package/esm2020/lib/services/index.mjs +1 -1
- package/esm2020/lib/services/intersection.service.mjs +34 -34
- package/esm2020/lib/services/listeners.service.mjs +42 -42
- package/esm2020/lib/services/public_api.mjs +3 -3
- package/esm2020/lib/shared/html-attr.directive.mjs +52 -52
- package/esm2020/lib/shared/index.mjs +1 -1
- package/esm2020/lib/shared/public_api.mjs +3 -3
- package/esm2020/lib/shared/shared.module.mjs +45 -45
- package/esm2020/lib/shared/template-id.directive.mjs +18 -18
- package/esm2020/lib/sidebar/index.mjs +1 -1
- package/esm2020/lib/sidebar/public_api.mjs +9 -9
- package/esm2020/lib/sidebar/sidebar/sidebar.component.mjs +244 -244
- package/esm2020/lib/sidebar/sidebar-backdrop/sidebar-backdrop.service.mjs +59 -59
- package/esm2020/lib/sidebar/sidebar-brand/sidebar-brand.component.mjs +29 -29
- package/esm2020/lib/sidebar/sidebar-footer/sidebar-footer.component.mjs +19 -19
- package/esm2020/lib/sidebar/sidebar-header/sidebar-header.component.mjs +19 -19
- package/esm2020/lib/sidebar/sidebar-nav/index.mjs +1 -1
- package/esm2020/lib/sidebar/sidebar-nav/public_api.mjs +13 -13
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.mjs +23 -23
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.mjs +18 -18
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-group.service.mjs +18 -18
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.mjs +21 -21
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.mjs +33 -33
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-label.component.mjs +43 -43
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-link.component.mjs +94 -94
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.mjs +23 -23
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-title.component.mjs +68 -68
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav.component.mjs +204 -204
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav.mjs +2 -2
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav.service.mjs +54 -54
- package/esm2020/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.mjs +39 -39
- package/esm2020/lib/sidebar/sidebar-toggler/sidebar-toggler.component.mjs +25 -25
- package/esm2020/lib/sidebar/sidebar.module.mjs +99 -99
- package/esm2020/lib/sidebar/sidebar.service.mjs +20 -20
- package/esm2020/lib/spinner/index.mjs +1 -1
- package/esm2020/lib/spinner/public_api.mjs +2 -2
- package/esm2020/lib/spinner/spinner.component.mjs +49 -49
- package/esm2020/lib/spinner/spinner.module.mjs +27 -27
- package/esm2020/lib/table/index.mjs +1 -1
- package/esm2020/lib/table/public_api.mjs +4 -4
- package/esm2020/lib/table/table-active.directive.mjs +39 -39
- package/esm2020/lib/table/table-color.directive.mjs +23 -23
- package/esm2020/lib/table/table.directive.mjs +147 -147
- package/esm2020/lib/table/table.module.mjs +33 -33
- package/esm2020/lib/tabs/index.mjs +1 -1
- package/esm2020/lib/tabs/public_api.mjs +5 -5
- package/esm2020/lib/tabs/tab-content/tab-content.component.mjs +92 -92
- package/esm2020/lib/tabs/tab-content-ref.directive.mjs +128 -128
- package/esm2020/lib/tabs/tab-pane/tab-pane.component.mjs +56 -56
- package/esm2020/lib/tabs/tab.service.mjs +20 -20
- package/esm2020/lib/tabs/tabs.module.mjs +39 -39
- package/esm2020/lib/toast/index.mjs +1 -1
- package/esm2020/lib/toast/public_api.mjs +8 -8
- package/esm2020/lib/toast/toast/toast.component.mjs +238 -238
- package/esm2020/lib/toast/toast-body/toast-body.component.mjs +20 -20
- package/esm2020/lib/toast/toast-close.directive.mjs +27 -27
- package/esm2020/lib/toast/toast-header/toast-header.component.mjs +31 -31
- package/esm2020/lib/toast/toast.module.mjs +49 -49
- package/esm2020/lib/toast/toaster/toaster-host.directive.mjs +16 -16
- package/esm2020/lib/toast/toaster/toaster.component.mjs +140 -140
- package/esm2020/lib/toast/toaster/toaster.service.mjs +20 -20
- package/esm2020/lib/tooltip/index.mjs +1 -1
- package/esm2020/lib/tooltip/public_api.mjs +3 -3
- package/esm2020/lib/tooltip/tooltip/tooltip.component.mjs +88 -88
- package/esm2020/lib/tooltip/tooltip.directive.mjs +191 -191
- package/esm2020/lib/tooltip/tooltip.module.mjs +28 -28
- package/esm2020/lib/utilities/align.directive.mjs +23 -23
- package/esm2020/lib/utilities/bg-color.directive.mjs +32 -32
- package/esm2020/lib/utilities/border.directive.mjs +65 -65
- package/esm2020/lib/utilities/border.type.mjs +1 -1
- package/esm2020/lib/utilities/index.mjs +1 -1
- package/esm2020/lib/utilities/public_api.mjs +6 -6
- package/esm2020/lib/utilities/rounded.directive.mjs +65 -65
- package/esm2020/lib/utilities/rounded.type.mjs +1 -1
- package/esm2020/lib/utilities/text-color.directive.mjs +31 -31
- package/esm2020/lib/utilities/utilities.module.mjs +43 -43
- package/esm2020/lib/widget/index.mjs +2 -2
- package/esm2020/lib/widget/public_api.mjs +7 -7
- package/esm2020/lib/widget/widget-stat-a/widget-stat-a.component.mjs +48 -48
- package/esm2020/lib/widget/widget-stat-b/widget-stat-b.component.mjs +52 -52
- package/esm2020/lib/widget/widget-stat-c/widget-stat-c.component.mjs +79 -79
- package/esm2020/lib/widget/widget-stat-d/widget-stat-d.component.mjs +38 -38
- package/esm2020/lib/widget/widget-stat-e/widget-stat-e.component.mjs +29 -29
- package/esm2020/lib/widget/widget-stat-f/widget-stat-f.component.mjs +92 -92
- package/esm2020/lib/widget/widget.module.mjs +56 -56
- package/esm2020/public-api.mjs +41 -41
- package/fesm2015/coreui-angular.mjs +9774 -9696
- package/fesm2015/coreui-angular.mjs.map +1 -1
- package/fesm2020/coreui-angular.mjs +9706 -9630
- package/fesm2020/coreui-angular.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/accordion/accordion/accordion.component.d.ts +22 -22
- package/lib/accordion/accordion-button/accordion-button.directive.d.ts +18 -18
- package/lib/accordion/accordion-item/accordion-item.component.d.ts +33 -33
- package/lib/accordion/accordion.module.d.ts +12 -12
- package/lib/accordion/accordion.service.d.ts +13 -13
- package/lib/accordion/index.d.ts +1 -1
- package/lib/accordion/public_api.d.ts +4 -4
- package/lib/alert/alert-heading.directive.d.ts +7 -7
- package/lib/alert/alert-link.directive.d.ts +7 -7
- package/lib/alert/alert.component.d.ts +68 -68
- package/lib/alert/alert.module.d.ts +11 -11
- package/lib/alert/index.d.ts +1 -1
- package/lib/alert/public_api.d.ts +4 -4
- package/lib/avatar/avatar.component.d.ts +40 -40
- package/lib/avatar/avatar.module.d.ts +8 -8
- package/lib/avatar/index.d.ts +1 -1
- package/lib/avatar/public_api.d.ts +2 -2
- package/lib/backdrop/backdrop.service.d.ts +17 -16
- package/lib/badge/badge.component.d.ts +32 -32
- package/lib/badge/badge.module.d.ts +8 -8
- package/lib/badge/index.d.ts +1 -1
- package/lib/badge/public_api.d.ts +2 -2
- package/lib/breadcrumb/breadcrumb/breadcrumb.component.d.ts +21 -21
- package/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.d.ts +28 -28
- package/lib/breadcrumb/breadcrumb-item/breadcrumb-item.d.ts +9 -9
- package/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.d.ts +21 -21
- package/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.d.ts +14 -14
- package/lib/breadcrumb/breadcrumb.module.d.ts +12 -12
- package/lib/breadcrumb/index.d.ts +1 -1
- package/lib/breadcrumb/public_api.d.ts +6 -6
- package/lib/button/button-close.directive.d.ts +16 -16
- package/lib/button/button.directive.d.ts +54 -54
- package/lib/button/button.module.d.ts +9 -9
- package/lib/button/index.d.ts +1 -1
- package/lib/button/public_api.d.ts +3 -3
- package/lib/button-group/button-group/button-group.component.d.ts +23 -23
- package/lib/button-group/button-group.module.d.ts +9 -9
- package/lib/button-group/button-toolbar/button-toolbar.component.d.ts +13 -13
- package/lib/button-group/index.d.ts +1 -1
- package/lib/button-group/public_api.d.ts +3 -3
- package/lib/callout/callout.component.d.ts +13 -13
- package/lib/callout/callout.module.d.ts +8 -8
- package/lib/callout/index.d.ts +1 -1
- package/lib/callout/public_api.d.ts +2 -2
- package/lib/card/card-body.component.d.ts +6 -6
- package/lib/card/card-footer.component.d.ts +6 -6
- package/lib/card/card-group.component.d.ts +6 -6
- package/lib/card/card-header-actions.component.d.ts +6 -6
- package/lib/card/card-header.component.d.ts +6 -6
- package/lib/card/card-img-overlay/card-img-overlay.component.d.ts +6 -6
- package/lib/card/card-img.directive.d.ts +11 -11
- package/lib/card/card-link.directive.d.ts +6 -6
- package/lib/card/card-subtitle.directive.d.ts +6 -6
- package/lib/card/card-text.directive.d.ts +6 -6
- package/lib/card/card-title.directive.d.ts +6 -6
- package/lib/card/card.component.d.ts +18 -18
- package/lib/card/card.module.d.ts +19 -19
- package/lib/card/index.d.ts +1 -1
- package/lib/card/public_api.d.ts +13 -13
- package/lib/carousel/carousel/carousel.component.d.ts +92 -92
- package/lib/carousel/carousel-caption/carousel-caption.component.d.ts +7 -7
- package/lib/carousel/carousel-control/carousel-control.component.d.ts +31 -31
- package/lib/carousel/carousel-indicators/carousel-indicators.component.d.ts +18 -18
- package/lib/carousel/carousel-inner/carousel-inner.component.d.ts +21 -21
- package/lib/carousel/carousel-item/carousel-item.component.d.ts +30 -30
- package/lib/carousel/carousel-state.d.ts +16 -16
- package/lib/carousel/carousel-state.type.d.ts +15 -15
- package/lib/carousel/carousel.animation.d.ts +4 -4
- package/lib/carousel/carousel.config.d.ts +10 -10
- package/lib/carousel/carousel.module.d.ts +15 -15
- package/lib/carousel/carousel.service.d.ts +14 -14
- package/lib/carousel/index.d.ts +1 -1
- package/lib/carousel/public_api.d.ts +8 -8
- package/lib/collapse/collapse.animations.d.ts +4 -4
- package/lib/collapse/collapse.directive.d.ts +65 -65
- package/lib/collapse/collapse.module.d.ts +10 -10
- package/lib/collapse/index.d.ts +1 -1
- package/lib/collapse/public_api.d.ts +2 -2
- package/lib/coreui.types.d.ts +46 -46
- package/lib/dropdown/dropdown/dropdown.component.d.ts +136 -135
- package/lib/dropdown/dropdown-close/dropdown-close.directive.d.ts +26 -26
- package/lib/dropdown/dropdown-divider/dropdown-divider.directive.d.ts +7 -7
- package/lib/dropdown/dropdown-header/dropdown-header.directive.d.ts +7 -7
- package/lib/dropdown/dropdown-item/dropdown-item-plain.directive.d.ts +7 -7
- package/lib/dropdown/dropdown-item/dropdown-item.directive.d.ts +36 -36
- package/lib/dropdown/dropdown-menu/dropdown-menu.directive.d.ts +36 -36
- package/lib/dropdown/dropdown.module.d.ts +14 -14
- package/lib/dropdown/dropdown.service.d.ts +13 -13
- package/lib/dropdown/index.d.ts +1 -1
- package/lib/dropdown/public_api.d.ts +9 -9
- package/lib/footer/footer.component.d.ts +18 -18
- package/lib/footer/footer.module.d.ts +8 -8
- package/lib/footer/index.d.ts +1 -1
- package/lib/footer/public_api.d.ts +2 -2
- package/lib/form/form/form.directive.d.ts +17 -17
- package/lib/form/form-check/form-check-input.directive.d.ts +31 -31
- package/lib/form/form-check/form-check-label.directive.d.ts +6 -6
- package/lib/form/form-check/form-check.component.d.ts +36 -36
- package/lib/form/form-control/form-control.directive.d.ts +34 -34
- package/lib/form/form-feedback/form-feedback.component.d.ts +18 -18
- package/lib/form/form-floating/form-floating.directive.d.ts +16 -16
- package/lib/form/form-label/form-label.directive.d.ts +16 -16
- package/lib/form/form-select/form-select.directive.d.ts +16 -16
- package/lib/form/form-text/form-text.directive.d.ts +7 -7
- package/lib/form/form.module.d.ts +19 -19
- package/lib/form/index.d.ts +1 -1
- package/lib/form/input-group/input-group.component.d.ts +11 -11
- package/lib/form/input-group-text/input-group-text.directive.d.ts +7 -7
- package/lib/form/public_api.d.ts +13 -13
- package/lib/grid/col.component.d.ts +6 -6
- package/lib/grid/col.directive.d.ts +75 -75
- package/lib/grid/col.type.d.ts +11 -11
- package/lib/grid/container.component.d.ts +20 -20
- package/lib/grid/container.type.d.ts +5 -5
- package/lib/grid/grid.module.d.ts +13 -13
- package/lib/grid/gutter.directive.d.ts +13 -13
- package/lib/grid/gutter.type.d.ts +13 -13
- package/lib/grid/index.d.ts +1 -1
- package/lib/grid/public_api.d.ts +7 -7
- package/lib/grid/row.component.d.ts +6 -6
- package/lib/grid/row.directive.d.ts +37 -37
- package/lib/grid/row.type.d.ts +9 -9
- package/lib/header/header/header.component.d.ts +25 -25
- package/lib/header/header-brand/header-brand.component.d.ts +12 -12
- package/lib/header/header-divider/header-divider.component.d.ts +6 -6
- package/lib/header/header-nav/header-nav.component.d.ts +12 -12
- package/lib/header/header-text/header-text.component.d.ts +6 -6
- package/lib/header/header-toggler/header-toggler.directive.d.ts +25 -25
- package/lib/header/header.module.d.ts +13 -13
- package/lib/header/index.d.ts +1 -1
- package/lib/header/public_api.d.ts +7 -7
- package/lib/image/img.directive.d.ts +42 -42
- package/lib/image/img.module.d.ts +8 -8
- package/lib/image/index.d.ts +1 -1
- package/lib/image/public_api.d.ts +2 -2
- package/lib/list-group/index.d.ts +1 -1
- package/lib/list-group/list-group-item.directive.d.ts +33 -33
- package/lib/list-group/list-group.directive.d.ts +21 -21
- package/lib/list-group/list-group.module.d.ts +9 -9
- package/lib/list-group/public_api.d.ts +3 -3
- package/lib/modal/index.d.ts +1 -1
- package/lib/modal/modal/modal.component.d.ts +103 -104
- package/lib/modal/modal-body/modal-body.component.d.ts +6 -6
- package/lib/modal/modal-content/modal-content.component.d.ts +7 -7
- package/lib/modal/modal-dialog/modal-dialog.component.d.ts +25 -25
- package/lib/modal/modal-dismiss/modal-toggle.directive.d.ts +13 -13
- package/lib/modal/modal-footer/modal-footer.component.d.ts +6 -6
- package/lib/modal/modal-header/modal-header.component.d.ts +6 -6
- package/lib/modal/modal-title/modal-title.directive.d.ts +6 -6
- package/lib/modal/modal.module.d.ts +16 -16
- package/lib/modal/modal.service.d.ts +15 -15
- package/lib/modal/public_api.d.ts +10 -10
- package/lib/nav/index.d.ts +1 -1
- package/lib/nav/nav-item.component.d.ts +6 -6
- package/lib/nav/nav-link.directive.d.ts +34 -34
- package/lib/nav/nav.component.d.ts +16 -16
- package/lib/nav/nav.module.d.ts +10 -10
- package/lib/nav/public_api.d.ts +4 -4
- package/lib/navbar/index.d.ts +1 -1
- package/lib/navbar/navbar-brand/navbar-brand.directive.d.ts +7 -7
- package/lib/navbar/navbar-nav/navbar-nav.component.d.ts +15 -15
- package/lib/navbar/navbar-text/navbar-text.component.d.ts +6 -6
- package/lib/navbar/navbar-toggler/navbar-toggler.directive.d.ts +33 -33
- package/lib/navbar/navbar.component.d.ts +39 -39
- package/lib/navbar/navbar.module.d.ts +13 -13
- package/lib/navbar/public_api.d.ts +6 -6
- package/lib/offcanvas/index.d.ts +1 -1
- package/lib/offcanvas/offcanvas/offcanvas.component.d.ts +94 -82
- package/lib/offcanvas/offcanvas-body/offcanvas-body.component.d.ts +6 -6
- package/lib/offcanvas/offcanvas-header/offcanvas-header.component.d.ts +6 -6
- package/lib/offcanvas/offcanvas-title/offcanvas-title.directive.d.ts +6 -6
- package/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.d.ts +14 -14
- package/lib/offcanvas/offcanvas.module.d.ts +13 -13
- package/lib/offcanvas/offcanvas.service.d.ts +15 -15
- package/lib/offcanvas/public_api.d.ts +7 -7
- package/lib/pagination/index.d.ts +1 -1
- package/lib/pagination/page-item/page-item.component.d.ts +6 -6
- package/lib/pagination/page-item/page-item.directive.d.ts +24 -24
- package/lib/pagination/page-link/page-link.directive.d.ts +6 -6
- package/lib/pagination/pagination/pagination.component.d.ts +22 -22
- package/lib/pagination/pagination.module.d.ts +11 -11
- package/lib/pagination/public_api.d.ts +5 -5
- package/lib/placeholder/index.d.ts +1 -1
- package/lib/placeholder/placeholder-animation.directive.d.ts +18 -18
- package/lib/placeholder/placeholder.directive.d.ts +22 -22
- package/lib/placeholder/placeholder.module.d.ts +9 -9
- package/lib/placeholder/public_api.d.ts +3 -3
- package/lib/popover/index.d.ts +1 -1
- package/lib/popover/popover/popover.component.d.ts +30 -30
- package/lib/popover/popover.directive.d.ts +58 -58
- package/lib/popover/popover.module.d.ts +9 -9
- package/lib/popover/public_api.d.ts +3 -3
- package/lib/progress/index.d.ts +1 -1
- package/lib/progress/progress-bar.component.d.ts +52 -52
- package/lib/progress/progress-bar.d.ts +10 -10
- package/lib/progress/progress.component.d.ts +32 -32
- package/lib/progress/progress.module.d.ts +9 -9
- package/lib/progress/public_api.d.ts +4 -4
- package/lib/services/class-toggle.service.d.ts +11 -11
- package/lib/services/index.d.ts +1 -1
- package/lib/services/intersection.service.d.ts +22 -22
- package/lib/services/listeners.service.d.ts +19 -19
- package/lib/services/public_api.d.ts +2 -2
- package/lib/shared/html-attr.directive.d.ts +16 -16
- package/lib/shared/index.d.ts +1 -1
- package/lib/shared/public_api.d.ts +3 -3
- package/lib/shared/shared.module.d.ts +11 -11
- package/lib/shared/template-id.directive.d.ts +9 -9
- package/lib/sidebar/index.d.ts +1 -1
- package/lib/sidebar/public_api.d.ts +9 -9
- package/lib/sidebar/sidebar/sidebar.component.d.ts +85 -85
- package/lib/sidebar/sidebar-backdrop/sidebar-backdrop.service.d.ts +16 -16
- package/lib/sidebar/sidebar-brand/sidebar-brand.component.d.ts +12 -12
- package/lib/sidebar/sidebar-footer/sidebar-footer.component.d.ts +7 -7
- package/lib/sidebar/sidebar-header/sidebar-header.component.d.ts +7 -7
- package/lib/sidebar/sidebar-nav/index.d.ts +1 -1
- package/lib/sidebar/sidebar-nav/public_api.d.ts +12 -12
- package/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.d.ts +7 -7
- package/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.d.ts +7 -7
- package/lib/sidebar/sidebar-nav/sidebar-nav-group.service.d.ts +14 -14
- package/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.d.ts +7 -7
- package/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.d.ts +10 -10
- package/lib/sidebar/sidebar-nav/sidebar-nav-label.component.d.ts +18 -18
- package/lib/sidebar/sidebar-nav/sidebar-nav-link.component.d.ts +34 -34
- package/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.d.ts +7 -7
- package/lib/sidebar/sidebar-nav/sidebar-nav-title.component.d.ts +15 -15
- package/lib/sidebar/sidebar-nav/sidebar-nav.component.d.ts +59 -59
- package/lib/sidebar/sidebar-nav/sidebar-nav.d.ts +53 -53
- package/lib/sidebar/sidebar-nav/sidebar-nav.service.d.ts +20 -20
- package/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.d.ts +25 -25
- package/lib/sidebar/sidebar-toggler/sidebar-toggler.component.d.ts +7 -7
- package/lib/sidebar/sidebar.module.d.ts +25 -25
- package/lib/sidebar/sidebar.service.d.ts +19 -19
- package/lib/spinner/index.d.ts +1 -1
- package/lib/spinner/public_api.d.ts +2 -2
- package/lib/spinner/spinner.component.d.ts +31 -31
- package/lib/spinner/spinner.module.d.ts +9 -9
- package/lib/table/index.d.ts +1 -1
- package/lib/table/public_api.d.ts +4 -4
- package/lib/table/table-active.directive.d.ts +16 -16
- package/lib/table/table-color.directive.d.ts +12 -12
- package/lib/table/table.directive.d.ts +89 -89
- package/lib/table/table.module.d.ts +10 -10
- package/lib/tabs/index.d.ts +1 -1
- package/lib/tabs/public_api.d.ts +5 -5
- package/lib/tabs/tab-content/tab-content.component.d.ts +33 -33
- package/lib/tabs/tab-content-ref.directive.d.ts +50 -50
- package/lib/tabs/tab-pane/tab-pane.component.d.ts +26 -26
- package/lib/tabs/tab.service.d.ts +14 -14
- package/lib/tabs/tabs.module.d.ts +10 -10
- package/lib/toast/index.d.ts +1 -1
- package/lib/toast/public_api.d.ts +8 -8
- package/lib/toast/toast/toast.component.d.ts +84 -84
- package/lib/toast/toast-body/toast-body.component.d.ts +9 -9
- package/lib/toast/toast-close.directive.d.ts +10 -10
- package/lib/toast/toast-header/toast-header.component.d.ts +14 -14
- package/lib/toast/toast.module.d.ts +14 -14
- package/lib/toast/toaster/toaster-host.directive.d.ts +8 -8
- package/lib/toast/toaster/toaster.component.d.ts +55 -55
- package/lib/toast/toaster/toaster.service.d.ts +16 -16
- package/lib/tooltip/index.d.ts +1 -1
- package/lib/tooltip/public_api.d.ts +3 -3
- package/lib/tooltip/tooltip/tooltip.component.d.ts +30 -30
- package/lib/tooltip/tooltip.directive.d.ts +58 -58
- package/lib/tooltip/tooltip.module.d.ts +9 -9
- package/lib/utilities/align.directive.d.ts +12 -12
- package/lib/utilities/bg-color.directive.d.ts +17 -17
- package/lib/utilities/border.directive.d.ts +12 -12
- package/lib/utilities/border.type.d.ts +15 -15
- package/lib/utilities/index.d.ts +1 -1
- package/lib/utilities/public_api.d.ts +6 -6
- package/lib/utilities/rounded.directive.d.ts +12 -12
- package/lib/utilities/rounded.type.d.ts +12 -12
- package/lib/utilities/text-color.directive.d.ts +13 -13
- package/lib/utilities/utilities.module.d.ts +12 -12
- package/lib/widget/index.d.ts +1 -1
- package/lib/widget/public_api.d.ts +7 -7
- package/lib/widget/widget-stat-a/widget-stat-a.component.d.ts +37 -37
- package/lib/widget/widget-stat-b/widget-stat-b.component.d.ts +47 -47
- package/lib/widget/widget-stat-c/widget-stat-c.component.d.ts +58 -58
- package/lib/widget/widget-stat-d/widget-stat-d.component.d.ts +31 -31
- package/lib/widget/widget-stat-e/widget-stat-e.component.d.ts +24 -24
- package/lib/widget/widget-stat-f/widget-stat-f.component.d.ts +77 -77
- package/lib/widget/widget.module.d.ts +15 -15
- package/package.json +1 -1
- package/public-api.d.ts +37 -37
|
@@ -1,244 +1,316 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { DOCUMENT, isPlatformBrowser } from '@angular/common';
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import * as
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
this.
|
|
17
|
-
this.
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
*
|
|
26
|
-
* @
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
*
|
|
32
|
-
* @
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
*
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
this.
|
|
50
|
-
/**
|
|
51
|
-
*
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
this
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
this
|
|
81
|
-
}
|
|
82
|
-
get
|
|
83
|
-
return this
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
this.
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
if (
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
}))
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2ZmY2FudmFzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvb2ZmY2FudmFzL29mZmNhbnZhcy9vZmZjYW52YXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9vZmZjYW52YXMvb2ZmY2FudmFzL29mZmNhbnZhcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBSUwsTUFBTSxFQUNOLFdBQVcsR0FHWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sR0FBRyxNQUFNLHFCQUFxQixDQUFDO0FBQ2xGLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUs1RSxPQUFPLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBRTlELElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztBQXlCZixNQUFNLE9BQU8sa0JBQWtCO0lBSTdCLFlBQzRCLFFBQWEsRUFDVixVQUFlLEVBQ3BDLFFBQW1CLEVBQ25CLFdBQXVCLEVBQ3ZCLGdCQUFrQyxFQUNsQyxlQUFnQztRQUxkLGFBQVEsR0FBUixRQUFRLENBQUs7UUFDVixlQUFVLEdBQVYsVUFBVSxDQUFLO1FBQ3BDLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFHMUM7Ozs7V0FJRztRQUNNLGFB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b0JJLGFBQWE7c0JBQXRCLE1BQU07Z0JBUUgsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU87Z0JBVWhCLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBTTNCLFFBQVE7c0JBRFgsV0FBVzt1QkFBQyxlQUFlO2dCQU14QixXQUFXO3NCQURkLFdBQVc7dUJBQUMsV0FBVztnQkFNeEIsZ0JBQWdCO3NCQURmLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0QmluZGluZyxcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5qZWN0LFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBQTEFURk9STV9JRCxcclxuICBSZW5kZXJlcjIsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyLCB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgT2ZmY2FudmFzU2VydmljZSB9IGZyb20gJy4uL29mZmNhbnZhcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmFja2Ryb3BTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYmFja2Ryb3AvYmFja2Ryb3Auc2VydmljZSc7XHJcbmltcG9ydCB7IERPQ1VNRU5ULCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5sZXQgbmV4dElkID0gMDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYy1vZmZjYW52YXMnLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ3Nob3dIaWRlJywgW1xyXG4gICAgICBzdGF0ZShcclxuICAgICAgICAndHJ1ZScsXHJcbiAgICAgICAgc3R5bGUoe1xyXG4gICAgICAgICAgdmlzaWJpbGl0eTogJ3Zpc2libGUnLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICksXHJcbiAgICAgIHN0YXRlKFxyXG4gICAgICAgICdmYWxzZScsXHJcbiAgICAgICAgc3R5bGUoe1xyXG4gICAgICAgICAgdmlzaWJpbGl0eTogJ2hpZGRlbicsXHJcbiAgICAgICAgfSlcclxuICAgICAgKSxcclxuICAgICAgdHJhbnNpdGlvbigndHJ1ZSA9PiBmYWxzZScsIFthbmltYXRlKCczMDBtcycpXSksXHJcbiAgICBdKSxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9vZmZjYW52YXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL29mZmNhbnZhcy5jb21wb25lbnQuc2NzcyddLFxyXG4gIGV4cG9ydEFzOiAnY09mZmNhbnZhcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPZmZjYW52YXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3Njcm9sbDogQm9vbGVhbklucHV0O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IGFueSxcclxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogYW55LFxyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHJpdmF0ZSBob3N0RWxlbWVudDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgb2ZmY2FudmFzU2VydmljZTogT2ZmY2FudmFzU2VydmljZSxcclxuICAgIHByaXZhdGUgYmFja2Ryb3BTZXJ2aWNlOiBCYWNrZHJvcFNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICAvKipcclxuICAgKiBBcHBseSBhIGJhY2tkcm9wIG9uIGJvZHkgd2hpbGUgb2ZmY2FudmFzIGlzIG9wZW4uXHJcbiAgICogQHR5cGUgYm9vbGVhblxyXG4gICAqIEBkZWZhdWx0IHRydWVcclxuICAgKi9cclxuICBASW5wdXQoKSBiYWNrZHJvcCA9IHRydWU7XHJcblxyXG4gIC8qKlxyXG4gICAqIENsb3NlcyB0aGUgb2ZmY2FudmFzIHdoZW4gZXNjYXBlIGtleSBpcyBwcmVzc2VkIFtkb2NzXVxyXG4gICAqIEB0eXBlIGJvb2xlYW5cclxuICAgKiBAZGVmYXVsdCB0cnVlXHJcbiAgICovXHJcbiAgQElucHV0KCkga2V5Ym9hcmQgPSB0cnVlO1xyXG5cclxuICAvKipcclxuICAgKiBDb21wb25lbnRzIHBsYWNlbWVudCwgdGhlcmXigJlzIG5vIGRlZmF1bHQgcGxhY2VtZW50LlxyXG4gICAqIEB0eXBlIHsnc3RhcnQnIHwgJ2VuZCcgfCAndG9wJyB8ICdib3R0b20nfVxyXG4gICAqIEBkZWZhdWx0ICdzdGFydCdcclxuICAgKi9cclxuICBASW5wdXQoKSBwbGFjZW1lbnQ6IHN0cmluZyB8ICdzdGFydCcgfCAnZW5kJyB8ICd0b3AnIHwgJ2JvdHRvbScgPSAnc3RhcnQnO1xyXG5cclxuICAvKipcclxuICAgKiBBbGxvdyBib2R5IHNjcm9sbGluZyB3aGlsZSBvZmZjYW52YXMgaXMgdmlzaWJsZS5cclxuICAgKiBAdHlwZSBib29sZWFuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgc2Nyb2xsKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9zY3JvbGwgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gIH07XHJcbiAgZ2V0IHNjcm9sbCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9zY3JvbGw7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3Njcm9sbCA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBpZCA9IGBvZmZjYW52YXMtJHt0aGlzLnBsYWNlbWVudH0tJHtuZXh0SWQrK31gO1xyXG4gIC8qKlxyXG4gICAqIERlZmF1bHQgcm9sZSBmb3Igb2ZmY2FudmFzLiBbZG9jc11cclxuICAgKiBAdHlwZSBzdHJpbmdcclxuICAgKiBAZGVmYXVsdCAnZGlhbG9nJ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICdkaWFsb2cnO1xyXG5cclxuICAvKipcclxuICAgKiBTZXQgYXJpYS1tb2RhbCBodG1sIGF0dHIgZm9yIG9mZmNhbnZhcy4gW2RvY3NdXHJcbiAgICogQHR5cGUgYm9vbGVhblxyXG4gICAqIEBkZWZhdWx0IHRydWVcclxuICAgKi9cclxuICBASW5wdXQoKSBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1tb2RhbCcpIGFyaWFNb2RhbCA9IHRydWU7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBvZiBvZmZjYW52YXMgY29tcG9uZW50LlxyXG4gICAqIEB0eXBlIGJvb2xlYW5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCB2aXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl92aXNpYmxlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLnNldEJhY2tkcm9wKHRoaXMuYmFja2Ryb3ApO1xyXG4gICAgICB0aGlzLnNldEZvY3VzKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldEJhY2tkcm9wKGZhbHNlKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0U2Nyb2xsKCk7XHJcbiAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh2YWx1ZSk7XHJcbiAgfVxyXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3Zpc2libGUhOiBib29sZWFuO1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudCB0cmlnZ2VyZWQgb24gdmlzaWJsZSBjaGFuZ2UuXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIHByaXZhdGUgYWN0aXZlQmFja2Ryb3AhOiBhbnk7XHJcblxyXG4gIHByaXZhdGUgc3RhdGVUb2dnbGVTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XHJcbiAgcHJpdmF0ZSBiYWNrZHJvcENsaWNrU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcclxuICBnZXQgaG9zdENsYXNzZXMoKTogYW55IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG9mZmNhbnZhczogdHJ1ZSxcclxuICAgICAgW2BvZmZjYW52YXMtJHt0aGlzLnBsYWNlbWVudH1gXTogISF0aGlzLnBsYWNlbWVudCxcclxuICAgICAgc2hvdzogdGhpcy52aXNpYmxlLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWhpZGRlbicpXHJcbiAgZ2V0IGFyaWFIaWRkZW4oKTogYm9vbGVhbiB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZSA/IG51bGwgOiB0cnVlO1xyXG4gIH07XHJcblxyXG4gIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXHJcbiAgZ2V0IHRhYkluZGV4KCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuICctMSc7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ0BzaG93SGlkZScpXHJcbiAgZ2V0IGFuaW1hdGVUeXBlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxyXG4gIG9uS2V5RG93bkhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnICYmIHRoaXMua2V5Ym9hcmQgJiYgdGhpcy52aXNpYmxlKSB7XHJcbiAgICAgIHRoaXMub2ZmY2FudmFzU2VydmljZS50b2dnbGUoeyBzaG93OiBmYWxzZSwgaWQ6IHRoaXMuaWQgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0U2Nyb2xsKCk7XHJcbiAgICB0aGlzLnN0YXRlVG9nZ2xlU3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMub2ZmY2FudmFzU2VydmljZS50b2dnbGUoeyBzaG93OiBmYWxzZSwgaWQ6IHRoaXMuaWQgfSk7XHJcbiAgICB0aGlzLnN0YXRlVG9nZ2xlU3Vic2NyaWJlKGZhbHNlKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWydzY3JvbGwnXSkge1xyXG4gICAgICB0aGlzLnNldFNjcm9sbCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGF0ZVRvZ2dsZVN1YnNjcmliZShzdWJzY3JpYmU6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XHJcbiAgICBpZiAoc3Vic2NyaWJlKSB7XHJcbiAgICAgIHRoaXMuc3RhdGVUb2dnbGVTdWJzY3JpcHRpb24gPSB0aGlzLm9mZmNhbnZhc1NlcnZpY2Uub2ZmY2FudmFzU3RhdGUkLnN1YnNjcmliZShcclxuICAgICAgICAoYWN0aW9uKSA9PiB7XHJcbiAgICAgICAgICBpZiAodGhpcyA9PT0gYWN0aW9uLm9mZmNhbnZhcyB8fCB0aGlzLmlkID09PSBhY3Rpb24uaWQpIHtcclxuICAgICAgICAgICAgaWYgKCdzaG93JyBpbiBhY3Rpb24pIHtcclxuICAgICAgICAgICAgICB0aGlzLnZpc2libGUgPSBhY3Rpb24/LnNob3cgPT09ICd0b2dnbGUnID8gIXRoaXMudmlzaWJsZSA6IGFjdGlvbi5zaG93O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zdGF0ZVRvZ2dsZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBiYWNrZHJvcENsaWNrU3Vic2NyaWJlKHN1YnNjcmliZTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcclxuICAgIGlmIChzdWJzY3JpYmUpIHtcclxuICAgICAgdGhpcy5iYWNrZHJvcENsaWNrU3Vic2NyaXB0aW9uID0gdGhpcy5iYWNrZHJvcFNlcnZpY2UuYmFja2Ryb3BDbGljayQuc3Vic2NyaWJlKFxyXG4gICAgICAgIChjbGlja2VkKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLm9mZmNhbnZhc1NlcnZpY2UudG9nZ2xlKHsgc2hvdzogIWNsaWNrZWQsIGlkOiB0aGlzLmlkIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuYmFja2Ryb3BDbGlja1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0QmFja2Ryb3Aoc2V0QmFja2Ryb3A6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGlmIChzZXRCYWNrZHJvcCkge1xyXG4gICAgICB0aGlzLmFjdGl2ZUJhY2tkcm9wID0gdGhpcy5iYWNrZHJvcFNlcnZpY2Uuc2V0QmFja2Ryb3AoJ29mZmNhbnZhcycpO1xyXG4gICAgICB0aGlzLmJhY2tkcm9wQ2xpY2tTdWJzY3JpYmUoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuYWN0aXZlQmFja2Ryb3AgPSB0aGlzLmJhY2tkcm9wU2VydmljZS5jbGVhckJhY2tkcm9wKHRoaXMuYWN0aXZlQmFja2Ryb3ApO1xyXG4gICAgICB0aGlzLmJhY2tkcm9wQ2xpY2tTdWJzY3JpYmUoZmFsc2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0Rm9jdXMoKTogdm9pZCB7XHJcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFNjcm9sbCgpIHtcclxuICAgIGlmICh0aGlzLnZpc2libGUpIHtcclxuICAgICAgaWYgKCF0aGlzLnNjcm9sbCkge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5kb2N1bWVudC5ib2R5LCAnb3ZlcmZsb3cnLCAnaGlkZGVuJyk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmRvY3VtZW50LmJvZHksICdwYWRkaW5nUmlnaHQucHgnLCAnMCcpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICghdGhpcy5zY3JvbGwpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZSh0aGlzLmRvY3VtZW50LmJvZHksICdvdmVyZmxvdycpO1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKHRoaXMuZG9jdW1lbnQuYm9keSwgJ3BhZGRpbmdSaWdodCcpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNka1RyYXBGb2N1cyBjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZT5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG5cbiJdfQ==
|
|
1
|
+
var _OffcanvasComponent_scroll, _OffcanvasComponent_visible, _OffcanvasComponent_activeBackdrop, _OffcanvasComponent_scrollbarWidth, _OffcanvasComponent_stateToggleSubscription, _OffcanvasComponent_backdropClickSubscription, _OffcanvasComponent_layoutChangeSubscription, _OffcanvasComponent_show;
|
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
+
import { Component, EventEmitter, HostBinding, HostListener, Inject, Input, Output, PLATFORM_ID } from '@angular/core';
|
|
4
|
+
import { DOCUMENT, isPlatformBrowser } from '@angular/common';
|
|
5
|
+
import { animate, state, style, transition, trigger } from '@angular/animations';
|
|
6
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
7
|
+
import { filter } from 'rxjs/operators';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "../offcanvas.service";
|
|
10
|
+
import * as i2 from "../../backdrop/backdrop.service";
|
|
11
|
+
import * as i3 from "@angular/cdk/layout";
|
|
12
|
+
import * as i4 from "@angular/cdk/a11y";
|
|
13
|
+
let nextId = 0;
|
|
14
|
+
export class OffcanvasComponent {
|
|
15
|
+
constructor(document, platformId, renderer, hostElement, offcanvasService, backdropService, breakpointObserver) {
|
|
16
|
+
this.document = document;
|
|
17
|
+
this.platformId = platformId;
|
|
18
|
+
this.renderer = renderer;
|
|
19
|
+
this.hostElement = hostElement;
|
|
20
|
+
this.offcanvasService = offcanvasService;
|
|
21
|
+
this.backdropService = backdropService;
|
|
22
|
+
this.breakpointObserver = breakpointObserver;
|
|
23
|
+
/**
|
|
24
|
+
* Apply a backdrop on body while offcanvas is open.
|
|
25
|
+
* @type boolean | 'static'
|
|
26
|
+
* @default true
|
|
27
|
+
*/
|
|
28
|
+
this.backdrop = true;
|
|
29
|
+
/**
|
|
30
|
+
* Closes the offcanvas when escape key is pressed [docs]
|
|
31
|
+
* @type boolean
|
|
32
|
+
* @default true
|
|
33
|
+
*/
|
|
34
|
+
this.keyboard = true;
|
|
35
|
+
/**
|
|
36
|
+
* Components placement, there’s no default placement.
|
|
37
|
+
* @type {'start' | 'end' | 'top' | 'bottom'}
|
|
38
|
+
* @default 'start'
|
|
39
|
+
*/
|
|
40
|
+
this.placement = 'start';
|
|
41
|
+
/**
|
|
42
|
+
* Responsive offcanvas property hides content outside the viewport from a specified breakpoint and down.
|
|
43
|
+
* @type boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
|
|
44
|
+
* @default true
|
|
45
|
+
* @since 4.3.10
|
|
46
|
+
*/
|
|
47
|
+
this.responsive = true;
|
|
48
|
+
_OffcanvasComponent_scroll.set(this, false);
|
|
49
|
+
this.id = `offcanvas-${this.placement}-${nextId++}`;
|
|
50
|
+
/**
|
|
51
|
+
* Default role for offcanvas. [docs]
|
|
52
|
+
* @type string
|
|
53
|
+
* @default 'dialog'
|
|
54
|
+
*/
|
|
55
|
+
this.role = 'dialog';
|
|
56
|
+
/**
|
|
57
|
+
* Set aria-modal html attr for offcanvas. [docs]
|
|
58
|
+
* @type boolean
|
|
59
|
+
* @default true
|
|
60
|
+
*/
|
|
61
|
+
this.ariaModal = true;
|
|
62
|
+
_OffcanvasComponent_visible.set(this, false);
|
|
63
|
+
/**
|
|
64
|
+
* Event triggered on visible change.
|
|
65
|
+
*/
|
|
66
|
+
this.visibleChange = new EventEmitter();
|
|
67
|
+
_OffcanvasComponent_activeBackdrop.set(this, void 0);
|
|
68
|
+
_OffcanvasComponent_scrollbarWidth.set(this, void 0);
|
|
69
|
+
_OffcanvasComponent_stateToggleSubscription.set(this, void 0);
|
|
70
|
+
_OffcanvasComponent_backdropClickSubscription.set(this, void 0);
|
|
71
|
+
_OffcanvasComponent_layoutChangeSubscription.set(this, void 0);
|
|
72
|
+
_OffcanvasComponent_show.set(this, false);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Allow body scrolling while offcanvas is visible.
|
|
76
|
+
* @type boolean
|
|
77
|
+
* @default false
|
|
78
|
+
*/
|
|
79
|
+
set scroll(value) {
|
|
80
|
+
__classPrivateFieldSet(this, _OffcanvasComponent_scroll, coerceBooleanProperty(value), "f");
|
|
81
|
+
}
|
|
82
|
+
get scroll() {
|
|
83
|
+
return __classPrivateFieldGet(this, _OffcanvasComponent_scroll, "f");
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Toggle the visibility of offcanvas component.
|
|
87
|
+
* @type boolean
|
|
88
|
+
* @default false
|
|
89
|
+
*/
|
|
90
|
+
set visible(value) {
|
|
91
|
+
__classPrivateFieldSet(this, _OffcanvasComponent_visible, coerceBooleanProperty(value), "f");
|
|
92
|
+
if (__classPrivateFieldGet(this, _OffcanvasComponent_visible, "f")) {
|
|
93
|
+
this.setBackdrop(this.backdrop);
|
|
94
|
+
this.setFocus();
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
this.setBackdrop(false);
|
|
98
|
+
}
|
|
99
|
+
this.layoutChangeSubscribe(__classPrivateFieldGet(this, _OffcanvasComponent_visible, "f"));
|
|
100
|
+
this.visibleChange.emit(value);
|
|
101
|
+
}
|
|
102
|
+
get visible() {
|
|
103
|
+
return __classPrivateFieldGet(this, _OffcanvasComponent_visible, "f");
|
|
104
|
+
}
|
|
105
|
+
get hostClasses() {
|
|
106
|
+
return {
|
|
107
|
+
offcanvas: typeof this.responsive === 'boolean',
|
|
108
|
+
[`offcanvas-${this.responsive}`]: typeof this.responsive !== 'boolean',
|
|
109
|
+
[`offcanvas-${this.placement}`]: !!this.placement,
|
|
110
|
+
show: this.show
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
get ariaHidden() {
|
|
114
|
+
return this.visible ? null : true;
|
|
115
|
+
}
|
|
116
|
+
get tabIndex() {
|
|
117
|
+
return '-1';
|
|
118
|
+
}
|
|
119
|
+
get animateTrigger() {
|
|
120
|
+
return this.visible ? 'visible' : 'hidden';
|
|
121
|
+
}
|
|
122
|
+
get show() {
|
|
123
|
+
return this.visible && __classPrivateFieldGet(this, _OffcanvasComponent_show, "f");
|
|
124
|
+
}
|
|
125
|
+
set show(value) {
|
|
126
|
+
__classPrivateFieldSet(this, _OffcanvasComponent_show, value, "f");
|
|
127
|
+
}
|
|
128
|
+
animateStart(event) {
|
|
129
|
+
const scrollbarWidth = __classPrivateFieldGet(this, _OffcanvasComponent_scrollbarWidth, "f");
|
|
130
|
+
if (event.toState === 'visible') {
|
|
131
|
+
if (!this.scroll) {
|
|
132
|
+
this.renderer.setStyle(this.document.body, 'overflow', 'hidden');
|
|
133
|
+
this.renderer.setStyle(this.document.body, 'padding-right', scrollbarWidth);
|
|
134
|
+
}
|
|
135
|
+
this.renderer.addClass(this.hostElement.nativeElement, 'showing');
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
this.renderer.addClass(this.hostElement.nativeElement, 'hiding');
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
animateDone(event) {
|
|
142
|
+
setTimeout(() => {
|
|
143
|
+
if (event.toState === 'visible') {
|
|
144
|
+
this.renderer.removeClass(this.hostElement.nativeElement, 'showing');
|
|
145
|
+
}
|
|
146
|
+
if (event.toState === 'hidden') {
|
|
147
|
+
this.renderer.removeClass(this.hostElement.nativeElement, 'hiding');
|
|
148
|
+
this.renderer.removeStyle(this.document.body, 'overflow');
|
|
149
|
+
this.renderer.removeStyle(this.document.body, 'paddingRight');
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
this.show = this.visible;
|
|
153
|
+
}
|
|
154
|
+
onKeyDownHandler(event) {
|
|
155
|
+
if (event.key === 'Escape' &&
|
|
156
|
+
this.keyboard &&
|
|
157
|
+
this.visible &&
|
|
158
|
+
this.backdrop !== 'static') {
|
|
159
|
+
this.offcanvasService.toggle({ show: false, id: this.id });
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
ngOnInit() {
|
|
163
|
+
__classPrivateFieldSet(this, _OffcanvasComponent_scrollbarWidth, this.backdropService.scrollbarWidth, "f");
|
|
164
|
+
this.stateToggleSubscribe();
|
|
165
|
+
// hotfix to avoid end offcanvas flicker on first render
|
|
166
|
+
this.renderer.setStyle(this.hostElement.nativeElement, 'display', 'flex');
|
|
167
|
+
}
|
|
168
|
+
ngOnDestroy() {
|
|
169
|
+
this.offcanvasService.toggle({ show: false, id: this.id });
|
|
170
|
+
this.stateToggleSubscribe(false);
|
|
171
|
+
}
|
|
172
|
+
stateToggleSubscribe(subscribe = true) {
|
|
173
|
+
if (subscribe) {
|
|
174
|
+
__classPrivateFieldSet(this, _OffcanvasComponent_stateToggleSubscription, this.offcanvasService.offcanvasState$.subscribe((action) => {
|
|
175
|
+
if (this === action.offcanvas || this.id === action.id) {
|
|
176
|
+
if ('show' in action) {
|
|
177
|
+
this.visible =
|
|
178
|
+
action?.show === 'toggle' ? !this.visible : action.show;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}), "f");
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
__classPrivateFieldGet(this, _OffcanvasComponent_stateToggleSubscription, "f").unsubscribe();
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
backdropClickSubscribe(subscribe = true) {
|
|
188
|
+
if (subscribe) {
|
|
189
|
+
__classPrivateFieldSet(this, _OffcanvasComponent_backdropClickSubscription, this.backdropService.backdropClick$.subscribe((clicked) => {
|
|
190
|
+
this.offcanvasService.toggle({ show: !clicked, id: this.id });
|
|
191
|
+
}), "f");
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
__classPrivateFieldGet(this, _OffcanvasComponent_backdropClickSubscription, "f")?.unsubscribe();
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
setBackdrop(setBackdrop) {
|
|
198
|
+
__classPrivateFieldSet(this, _OffcanvasComponent_scrollbarWidth, this.backdropService.scrollbarWidth, "f");
|
|
199
|
+
__classPrivateFieldSet(this, _OffcanvasComponent_activeBackdrop, !!setBackdrop ? this.backdropService.setBackdrop('offcanvas')
|
|
200
|
+
: this.backdropService.clearBackdrop(__classPrivateFieldGet(this, _OffcanvasComponent_activeBackdrop, "f")), "f");
|
|
201
|
+
setBackdrop === true ? this.backdropClickSubscribe()
|
|
202
|
+
: this.backdropClickSubscribe(false);
|
|
203
|
+
}
|
|
204
|
+
setFocus() {
|
|
205
|
+
if (isPlatformBrowser(this.platformId)) {
|
|
206
|
+
setTimeout(() => this.hostElement.nativeElement.focus());
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
get responsiveBreakpoint() {
|
|
210
|
+
if (typeof this.responsive !== 'string') {
|
|
211
|
+
return false;
|
|
212
|
+
}
|
|
213
|
+
const element = this.document.documentElement;
|
|
214
|
+
const responsiveBreakpoint = this.responsive;
|
|
215
|
+
const breakpointValue = getComputedStyle(element).getPropertyValue(`--cui-breakpoint-${responsiveBreakpoint.trim()}`) || false;
|
|
216
|
+
return breakpointValue ? `${parseFloat(breakpointValue.trim()) - 0.02}px` : false;
|
|
217
|
+
}
|
|
218
|
+
layoutChangeSubscribe(subscribe = true) {
|
|
219
|
+
if (subscribe) {
|
|
220
|
+
if (!this.responsiveBreakpoint) {
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
const responsiveBreakpoint = `(max-width: ${this.responsiveBreakpoint})`;
|
|
224
|
+
const layoutChanges = this.breakpointObserver.observe([responsiveBreakpoint]);
|
|
225
|
+
__classPrivateFieldSet(this, _OffcanvasComponent_layoutChangeSubscription, layoutChanges
|
|
226
|
+
.pipe(filter(breakpointState => !breakpointState.matches))
|
|
227
|
+
.subscribe((breakpointState) => {
|
|
228
|
+
this.visible = breakpointState.matches;
|
|
229
|
+
}), "f");
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
__classPrivateFieldGet(this, _OffcanvasComponent_layoutChangeSubscription, "f")?.unsubscribe();
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
_OffcanvasComponent_scroll = new WeakMap(), _OffcanvasComponent_visible = new WeakMap(), _OffcanvasComponent_activeBackdrop = new WeakMap(), _OffcanvasComponent_scrollbarWidth = new WeakMap(), _OffcanvasComponent_stateToggleSubscription = new WeakMap(), _OffcanvasComponent_backdropClickSubscription = new WeakMap(), _OffcanvasComponent_layoutChangeSubscription = new WeakMap(), _OffcanvasComponent_show = new WeakMap();
|
|
237
|
+
OffcanvasComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: OffcanvasComponent, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.OffcanvasService }, { token: i2.BackdropService }, { token: i3.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component });
|
|
238
|
+
OffcanvasComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: OffcanvasComponent, selector: "c-offcanvas", inputs: { backdrop: "backdrop", keyboard: "keyboard", placement: "placement", responsive: "responsive", scroll: "scroll", id: "id", role: "role", ariaModal: "ariaModal", visible: "visible" }, outputs: { visibleChange: "visibleChange" }, host: { listeners: { "@showHide.start": "animateStart($event)", "@showHide.done": "animateDone($event)", "document:keydown": "onKeyDownHandler($event)" }, properties: { "attr.role": "this.role", "attr.aria-modal": "this.ariaModal", "class": "this.hostClasses", "attr.aria-hidden": "this.ariaHidden", "attr.tabindex": "this.tabIndex", "@showHide": "this.animateTrigger" } }, exportAs: ["cOffcanvas"], ngImport: i0, template: "<div cdkTrapFocus cdkTrapFocusAutoCapture>\n <ng-content></ng-content>\n</div>\n\n", styles: [":host{display:none}\n"], dependencies: [{ kind: "directive", type: i4.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], animations: [
|
|
239
|
+
trigger('showHide', [
|
|
240
|
+
state('visible', style({
|
|
241
|
+
// visibility: 'visible'
|
|
242
|
+
})),
|
|
243
|
+
state('hidden', style({
|
|
244
|
+
// visibility: 'hidden'
|
|
245
|
+
})),
|
|
246
|
+
transition('visible <=> *', [animate('300ms')])
|
|
247
|
+
])
|
|
248
|
+
] });
|
|
249
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: OffcanvasComponent, decorators: [{
|
|
250
|
+
type: Component,
|
|
251
|
+
args: [{ selector: 'c-offcanvas', animations: [
|
|
252
|
+
trigger('showHide', [
|
|
253
|
+
state('visible', style({
|
|
254
|
+
// visibility: 'visible'
|
|
255
|
+
})),
|
|
256
|
+
state('hidden', style({
|
|
257
|
+
// visibility: 'hidden'
|
|
258
|
+
})),
|
|
259
|
+
transition('visible <=> *', [animate('300ms')])
|
|
260
|
+
])
|
|
261
|
+
], exportAs: 'cOffcanvas', template: "<div cdkTrapFocus cdkTrapFocusAutoCapture>\n <ng-content></ng-content>\n</div>\n\n", styles: [":host{display:none}\n"] }]
|
|
262
|
+
}], ctorParameters: function () { return [{ type: Document, decorators: [{
|
|
263
|
+
type: Inject,
|
|
264
|
+
args: [DOCUMENT]
|
|
265
|
+
}] }, { type: undefined, decorators: [{
|
|
266
|
+
type: Inject,
|
|
267
|
+
args: [PLATFORM_ID]
|
|
268
|
+
}] }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.OffcanvasService }, { type: i2.BackdropService }, { type: i3.BreakpointObserver }]; }, propDecorators: { backdrop: [{
|
|
269
|
+
type: Input
|
|
270
|
+
}], keyboard: [{
|
|
271
|
+
type: Input
|
|
272
|
+
}], placement: [{
|
|
273
|
+
type: Input
|
|
274
|
+
}], responsive: [{
|
|
275
|
+
type: Input
|
|
276
|
+
}], scroll: [{
|
|
277
|
+
type: Input
|
|
278
|
+
}], id: [{
|
|
279
|
+
type: Input
|
|
280
|
+
}], role: [{
|
|
281
|
+
type: Input
|
|
282
|
+
}, {
|
|
283
|
+
type: HostBinding,
|
|
284
|
+
args: ['attr.role']
|
|
285
|
+
}], ariaModal: [{
|
|
286
|
+
type: Input
|
|
287
|
+
}, {
|
|
288
|
+
type: HostBinding,
|
|
289
|
+
args: ['attr.aria-modal']
|
|
290
|
+
}], visible: [{
|
|
291
|
+
type: Input
|
|
292
|
+
}], visibleChange: [{
|
|
293
|
+
type: Output
|
|
294
|
+
}], hostClasses: [{
|
|
295
|
+
type: HostBinding,
|
|
296
|
+
args: ['class']
|
|
297
|
+
}], ariaHidden: [{
|
|
298
|
+
type: HostBinding,
|
|
299
|
+
args: ['attr.aria-hidden']
|
|
300
|
+
}], tabIndex: [{
|
|
301
|
+
type: HostBinding,
|
|
302
|
+
args: ['attr.tabindex']
|
|
303
|
+
}], animateTrigger: [{
|
|
304
|
+
type: HostBinding,
|
|
305
|
+
args: ['@showHide']
|
|
306
|
+
}], animateStart: [{
|
|
307
|
+
type: HostListener,
|
|
308
|
+
args: ['@showHide.start', ['$event']]
|
|
309
|
+
}], animateDone: [{
|
|
310
|
+
type: HostListener,
|
|
311
|
+
args: ['@showHide.done', ['$event']]
|
|
312
|
+
}], onKeyDownHandler: [{
|
|
313
|
+
type: HostListener,
|
|
314
|
+
args: ['document:keydown', ['$event']]
|
|
315
|
+
}] } });
|
|
316
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2ZmY2FudmFzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvb2ZmY2FudmFzL29mZmNhbnZhcy9vZmZjYW52YXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9vZmZjYW52YXMvb2ZmY2FudmFzL29mZmNhbnZhcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEVBQ04sV0FBVyxFQUVaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsT0FBTyxFQUFrQixLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRyxPQUFPLEVBQWdCLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHNUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFLeEMsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBeUJmLE1BQU0sT0FBTyxrQkFBa0I7SUFJN0IsWUFDNEIsUUFBa0IsRUFDZixVQUFlLEVBQ3BDLFFBQW1CLEVBQ25CLFdBQXVCLEVBQ3ZCLGdCQUFrQyxFQUNsQyxlQUFnQyxFQUNoQyxrQkFBc0M7UUFOcEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNmLGVBQVUsR0FBVixVQUFVLENBQUs7UUFDcEMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixxQkFBZ0IsR0FBaEIs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eEIsQ0FBQyxDQUNIOzRCQUNELFVBQVUsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQzt5QkFDaEQsQ0FBQztxQkFDSCxZQUdTLFlBQVk7OzBCQU9uQixNQUFNOzJCQUFDLFFBQVE7OzBCQUNmLE1BQU07MkJBQUMsV0FBVzsyTEFhWixRQUFRO3NCQUFoQixLQUFLO2dCQU9HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBT0csU0FBUztzQkFBakIsS0FBSztnQkFRRyxVQUFVO3NCQUFsQixLQUFLO2dCQVFGLE1BQU07c0JBRFQsS0FBSztnQkFXRyxFQUFFO3NCQUFWLEtBQUs7Z0JBTzZCLElBQUk7c0JBQXRDLEtBQUs7O3NCQUFJLFdBQVc7dUJBQUMsV0FBVztnQkFPUSxTQUFTO3NCQUFqRCxLQUFLOztzQkFBSSxXQUFXO3VCQUFDLGlCQUFpQjtnQkFRbkMsT0FBTztzQkFEVixLQUFLO2dCQXNCYSxhQUFhO3NCQUEvQixNQUFNO2dCQVVILFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPO2dCQVdoQixVQUFVO3NCQURiLFdBQVc7dUJBQUMsa0JBQWtCO2dCQU0zQixRQUFRO3NCQURYLFdBQVc7dUJBQUMsZUFBZTtnQkFNeEIsY0FBYztzQkFEakIsV0FBVzt1QkFBQyxXQUFXO2dCQWdCeEIsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLGlCQUFpQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWUzQyxXQUFXO3NCQURWLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBZ0IxQyxnQkFBZ0I7c0JBRGYsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBQTEFURk9STV9JRCxcbiAgUmVuZGVyZXIyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGFuaW1hdGUsIEFuaW1hdGlvbkV2ZW50LCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludFN0YXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQmFja2Ryb3BTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYmFja2Ryb3AvYmFja2Ryb3Auc2VydmljZSc7XG5pbXBvcnQgeyBPZmZjYW52YXNTZXJ2aWNlIH0gZnJvbSAnLi4vb2ZmY2FudmFzLnNlcnZpY2UnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYy1vZmZjYW52YXMnLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignc2hvd0hpZGUnLCBbXG4gICAgICBzdGF0ZShcbiAgICAgICAgJ3Zpc2libGUnLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgLy8gdmlzaWJpbGl0eTogJ3Zpc2libGUnXG4gICAgICAgIH0pXG4gICAgICApLFxuICAgICAgc3RhdGUoXG4gICAgICAgICdoaWRkZW4nLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgLy8gdmlzaWJpbGl0eTogJ2hpZGRlbidcbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgICB0cmFuc2l0aW9uKCd2aXNpYmxlIDw9PiAqJywgW2FuaW1hdGUoJzMwMG1zJyldKVxuICAgIF0pXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9vZmZjYW52YXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vZmZjYW52YXMuY29tcG9uZW50LnNjc3MnXSxcbiAgZXhwb3J0QXM6ICdjT2ZmY2FudmFzJ1xufSlcbmV4cG9ydCBjbGFzcyBPZmZjYW52YXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3Njcm9sbDogQm9vbGVhbklucHV0O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogYW55LFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGhvc3RFbGVtZW50OiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgb2ZmY2FudmFzU2VydmljZTogT2ZmY2FudmFzU2VydmljZSxcbiAgICBwcml2YXRlIGJhY2tkcm9wU2VydmljZTogQmFja2Ryb3BTZXJ2aWNlLFxuICAgIHByaXZhdGUgYnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXJcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBBcHBseSBhIGJhY2tkcm9wIG9uIGJvZHkgd2hpbGUgb2ZmY2FudmFzIGlzIG9wZW4uXG4gICAqIEB0eXBlIGJvb2xlYW4gfCAnc3RhdGljJ1xuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoKSBiYWNrZHJvcDogYm9vbGVhbiB8ICdzdGF0aWMnID0gdHJ1ZTtcblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBvZmZjYW52YXMgd2hlbiBlc2NhcGUga2V5IGlzIHByZXNzZWQgW2RvY3NdXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KCkga2V5Ym9hcmQgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBDb21wb25lbnRzIHBsYWNlbWVudCwgdGhlcmXigJlzIG5vIGRlZmF1bHQgcGxhY2VtZW50LlxuICAgKiBAdHlwZSB7J3N0YXJ0JyB8ICdlbmQnIHwgJ3RvcCcgfCAnYm90dG9tJ31cbiAgICogQGRlZmF1bHQgJ3N0YXJ0J1xuICAgKi9cbiAgQElucHV0KCkgcGxhY2VtZW50OiBzdHJpbmcgfCAnc3RhcnQnIHwgJ2VuZCcgfCAndG9wJyB8ICdib3R0b20nID0gJ3N0YXJ0JztcblxuICAvKipcbiAgICogUmVzcG9uc2l2ZSBvZmZjYW52YXMgcHJvcGVydHkgaGlkZXMgY29udGVudCBvdXRzaWRlIHRoZSB2aWV3cG9ydCBmcm9tIGEgc3BlY2lmaWVkIGJyZWFrcG9pbnQgYW5kIGRvd24uXG4gICAqIEB0eXBlIGJvb2xlYW4gfCAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnIHwgJ3h4bCc7XG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQHNpbmNlIDQuMy4xMFxuICAgKi9cbiAgQElucHV0KCkgcmVzcG9uc2l2ZT86IGJvb2xlYW4gfCAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnIHwgJ3h4bCcgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBBbGxvdyBib2R5IHNjcm9sbGluZyB3aGlsZSBvZmZjYW52YXMgaXMgdmlzaWJsZS5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHNjcm9sbCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuI3Njcm9sbCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cblxuICBnZXQgc2Nyb2xsKCkge1xuICAgIHJldHVybiB0aGlzLiNzY3JvbGw7XG4gIH1cblxuICAjc2Nyb2xsID0gZmFsc2U7XG5cbiAgQElucHV0KCkgaWQgPSBgb2ZmY2FudmFzLSR7dGhpcy5wbGFjZW1lbnR9LSR7bmV4dElkKyt9YDtcblxuICAvKipcbiAgICogRGVmYXVsdCByb2xlIGZvciBvZmZjYW52YXMuIFtkb2NzXVxuICAgKiBAdHlwZSBzdHJpbmdcbiAgICogQGRlZmF1bHQgJ2RpYWxvZydcbiAgICovXG4gIEBJbnB1dCgpIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICdkaWFsb2cnO1xuXG4gIC8qKlxuICAgKiBTZXQgYXJpYS1tb2RhbCBodG1sIGF0dHIgZm9yIG9mZmNhbnZhcy4gW2RvY3NdXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbW9kYWwnKSBhcmlhTW9kYWwgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBUb2dnbGUgdGhlIHZpc2liaWxpdHkgb2Ygb2ZmY2FudmFzIGNvbXBvbmVudC5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLiN2aXNpYmxlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICBpZiAodGhpcy4jdmlzaWJsZSkge1xuICAgICAgdGhpcy5zZXRCYWNrZHJvcCh0aGlzLmJhY2tkcm9wKTtcbiAgICAgIHRoaXMuc2V0Rm9jdXMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRCYWNrZHJvcChmYWxzZSk7XG4gICAgfVxuICAgIHRoaXMubGF5b3V0Q2hhbmdlU3Vic2NyaWJlKHRoaXMuI3Zpc2libGUpO1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiN2aXNpYmxlO1xuICB9XG5cbiAgI3Zpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogRXZlbnQgdHJpZ2dlcmVkIG9uIHZpc2libGUgY2hhbmdlLlxuICAgKi9cbiAgQE91dHB1dCgpIHJlYWRvbmx5IHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgI2FjdGl2ZUJhY2tkcm9wITogSFRNTERpdkVsZW1lbnQ7XG4gICNzY3JvbGxiYXJXaWR0aCE6IHN0cmluZztcblxuICAjc3RhdGVUb2dnbGVTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG4gICNiYWNrZHJvcENsaWNrU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICAjbGF5b3V0Q2hhbmdlU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzZXMoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgb2ZmY2FudmFzOiB0eXBlb2YgdGhpcy5yZXNwb25zaXZlID09PSAnYm9vbGVhbicsXG4gICAgICBbYG9mZmNhbnZhcy0ke3RoaXMucmVzcG9uc2l2ZX1gXTogdHlwZW9mIHRoaXMucmVzcG9uc2l2ZSAhPT0gJ2Jvb2xlYW4nLFxuICAgICAgW2BvZmZjYW52YXMtJHt0aGlzLnBsYWNlbWVudH1gXTogISF0aGlzLnBsYWNlbWVudCxcbiAgICAgIHNob3c6IHRoaXMuc2hvd1xuICAgIH07XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1oaWRkZW4nKVxuICBnZXQgYXJpYUhpZGRlbigpOiBib29sZWFuIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZSA/IG51bGwgOiB0cnVlO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JylcbiAgZ2V0IHRhYkluZGV4KCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiAnLTEnO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdAc2hvd0hpZGUnKVxuICBnZXQgYW5pbWF0ZVRyaWdnZXIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy52aXNpYmxlID8gJ3Zpc2libGUnIDogJ2hpZGRlbic7XG4gIH1cblxuICBnZXQgc2hvdygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy52aXNpYmxlICYmIHRoaXMuI3Nob3c7XG4gIH1cblxuICBzZXQgc2hvdyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuI3Nob3cgPSB2YWx1ZTtcbiAgfVxuXG4gICNzaG93ID0gZmFsc2U7XG5cbiAgQEhvc3RMaXN0ZW5lcignQHNob3dIaWRlLnN0YXJ0JywgWyckZXZlbnQnXSlcbiAgYW5pbWF0ZVN0YXJ0KGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuICAgIGNvbnN0IHNjcm9sbGJhcldpZHRoID0gdGhpcy4jc2Nyb2xsYmFyV2lkdGg7XG4gICAgaWYgKGV2ZW50LnRvU3RhdGUgPT09ICd2aXNpYmxlJykge1xuICAgICAgaWYgKCF0aGlzLnNjcm9sbCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZG9jdW1lbnQuYm9keSwgJ292ZXJmbG93JywgJ2hpZGRlbicpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZG9jdW1lbnQuYm9keSwgJ3BhZGRpbmctcmlnaHQnLCBzY3JvbGxiYXJXaWR0aCk7XG4gICAgICB9XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3Nob3dpbmcnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdoaWRpbmcnKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdAc2hvd0hpZGUuZG9uZScsIFsnJGV2ZW50J10pXG4gIGFuaW1hdGVEb25lKGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKGV2ZW50LnRvU3RhdGUgPT09ICd2aXNpYmxlJykge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3Nob3dpbmcnKTtcbiAgICAgIH1cbiAgICAgIGlmIChldmVudC50b1N0YXRlID09PSAnaGlkZGVuJykge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2hpZGluZycpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKHRoaXMuZG9jdW1lbnQuYm9keSwgJ292ZXJmbG93Jyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5kb2N1bWVudC5ib2R5LCAncGFkZGluZ1JpZ2h0Jyk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5zaG93ID0gdGhpcy52aXNpYmxlO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIG9uS2V5RG93bkhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICBldmVudC5rZXkgPT09ICdFc2NhcGUnICYmXG4gICAgICB0aGlzLmtleWJvYXJkICYmXG4gICAgICB0aGlzLnZpc2libGUgJiZcbiAgICAgIHRoaXMuYmFja2Ryb3AgIT09ICdzdGF0aWMnXG4gICAgKSB7XG4gICAgICB0aGlzLm9mZmNhbnZhc1NlcnZpY2UudG9nZ2xlKHsgc2hvdzogZmFsc2UsIGlkOiB0aGlzLmlkIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI3Njcm9sbGJhcldpZHRoID0gdGhpcy5iYWNrZHJvcFNlcnZpY2Uuc2Nyb2xsYmFyV2lkdGg7XG4gICAgdGhpcy5zdGF0ZVRvZ2dsZVN1YnNjcmliZSgpO1xuICAgIC8vIGhvdGZpeCB0byBhdm9pZCBlbmQgb2ZmY2FudmFzIGZsaWNrZXIgb24gZmlyc3QgcmVuZGVyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdkaXNwbGF5JywgJ2ZsZXgnKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMub2ZmY2FudmFzU2VydmljZS50b2dnbGUoeyBzaG93OiBmYWxzZSwgaWQ6IHRoaXMuaWQgfSk7XG4gICAgdGhpcy5zdGF0ZVRvZ2dsZVN1YnNjcmliZShmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRlVG9nZ2xlU3Vic2NyaWJlKHN1YnNjcmliZTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICBpZiAoc3Vic2NyaWJlKSB7XG4gICAgICB0aGlzLiNzdGF0ZVRvZ2dsZVN1YnNjcmlwdGlvbiA9XG4gICAgICAgIHRoaXMub2ZmY2FudmFzU2VydmljZS5vZmZjYW52YXNTdGF0ZSQuc3Vic2NyaWJlKChhY3Rpb24pID0+IHtcbiAgICAgICAgICBpZiAodGhpcyA9PT0gYWN0aW9uLm9mZmNhbnZhcyB8fCB0aGlzLmlkID09PSBhY3Rpb24uaWQpIHtcbiAgICAgICAgICAgIGlmICgnc2hvdycgaW4gYWN0aW9uKSB7XG4gICAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9XG4gICAgICAgICAgICAgICAgYWN0aW9uPy5zaG93ID09PSAndG9nZ2xlJyA/ICF0aGlzLnZpc2libGUgOiBhY3Rpb24uc2hvdztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNzdGF0ZVRvZ2dsZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYmFja2Ryb3BDbGlja1N1YnNjcmliZShzdWJzY3JpYmU6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG4gICAgaWYgKHN1YnNjcmliZSkge1xuICAgICAgdGhpcy4jYmFja2Ryb3BDbGlja1N1YnNjcmlwdGlvbiA9XG4gICAgICAgIHRoaXMuYmFja2Ryb3BTZXJ2aWNlLmJhY2tkcm9wQ2xpY2skLnN1YnNjcmliZSgoY2xpY2tlZCkgPT4ge1xuICAgICAgICAgIHRoaXMub2ZmY2FudmFzU2VydmljZS50b2dnbGUoeyBzaG93OiAhY2xpY2tlZCwgaWQ6IHRoaXMuaWQgfSk7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNiYWNrZHJvcENsaWNrU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0QmFja2Ryb3Aoc2V0QmFja2Ryb3A6IGJvb2xlYW4gfCAnc3RhdGljJyk6IHZvaWQge1xuICAgIHRoaXMuI3Njcm9sbGJhcldpZHRoID0gdGhpcy5iYWNrZHJvcFNlcnZpY2Uuc2Nyb2xsYmFyV2lkdGg7XG4gICAgdGhpcy4jYWN0aXZlQmFja2Ryb3AgPSAhIXNldEJhY2tkcm9wID8gdGhpcy5iYWNrZHJvcFNlcnZpY2Uuc2V0QmFja2Ryb3AoJ29mZmNhbnZhcycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5iYWNrZHJvcFNlcnZpY2UuY2xlYXJCYWNrZHJvcCh0aGlzLiNhY3RpdmVCYWNrZHJvcCk7XG4gICAgc2V0QmFja2Ryb3AgPT09IHRydWUgPyB0aGlzLmJhY2tkcm9wQ2xpY2tTdWJzY3JpYmUoKVxuICAgICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5iYWNrZHJvcENsaWNrU3Vic2NyaWJlKGZhbHNlKTtcbiAgfVxuXG4gIHNldEZvY3VzKCk6IHZvaWQge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpKTtcbiAgICB9XG4gIH1cblxuICBnZXQgcmVzcG9uc2l2ZUJyZWFrcG9pbnQoKTogc3RyaW5nIHwgZmFsc2Uge1xuICAgIGlmICh0eXBlb2YgdGhpcy5yZXNwb25zaXZlICE9PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCBlbGVtZW50OiBFbGVtZW50ID0gdGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgY29uc3QgcmVzcG9uc2l2ZUJyZWFrcG9pbnQgPSB0aGlzLnJlc3BvbnNpdmU7XG4gICAgY29uc3QgYnJlYWtwb2ludFZhbHVlID0gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKGAtLWN1aS1icmVha3BvaW50LSR7cmVzcG9uc2l2ZUJyZWFrcG9pbnQudHJpbSgpfWApIHx8IGZhbHNlO1xuICAgIHJldHVybiBicmVha3BvaW50VmFsdWUgPyBgJHtwYXJzZUZsb2F0KGJyZWFrcG9pbnRWYWx1ZS50cmltKCkpIC0gMC4wMn1weGAgOiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgbGF5b3V0Q2hhbmdlU3Vic2NyaWJlKHN1YnNjcmliZTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcblxuICAgIGlmIChzdWJzY3JpYmUpIHtcblxuICAgICAgaWYgKCF0aGlzLnJlc3BvbnNpdmVCcmVha3BvaW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVzcG9uc2l2ZUJyZWFrcG9pbnQgPSBgKG1heC13aWR0aDogJHt0aGlzLnJlc3BvbnNpdmVCcmVha3BvaW50fSlgO1xuXG4gICAgICBjb25zdCBsYXlvdXRDaGFuZ2VzID0gdGhpcy5icmVha3BvaW50T2JzZXJ2ZXIub2JzZXJ2ZShbcmVzcG9uc2l2ZUJyZWFrcG9pbnRdKTtcblxuICAgICAgdGhpcy4jbGF5b3V0Q2hhbmdlU3Vic2NyaXB0aW9uID0gbGF5b3V0Q2hhbmdlc1xuICAgICAgICAucGlwZShcbiAgICAgICAgICBmaWx0ZXIoYnJlYWtwb2ludFN0YXRlID0+ICFicmVha3BvaW50U3RhdGUubWF0Y2hlcylcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgIChicmVha3BvaW50U3RhdGU6IEJyZWFrcG9pbnRTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gYnJlYWtwb2ludFN0YXRlLm1hdGNoZXM7XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNsYXlvdXRDaGFuZ2VTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNka1RyYXBGb2N1cyBjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZT5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG5cbiJdfQ==
|