@coreui/angular-pro 4.7.0 → 4.7.3
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/esm2022/lib/accordion/accordion/accordion.component.mjs +3 -3
- package/esm2022/lib/accordion/accordion-button/accordion-button.directive.mjs +3 -3
- package/esm2022/lib/accordion/accordion-item/accordion-item.component.mjs +3 -3
- package/esm2022/lib/accordion/accordion.module.mjs +4 -4
- package/esm2022/lib/accordion/accordion.service.mjs +3 -3
- package/esm2022/lib/alert/alert-heading.directive.mjs +3 -3
- package/esm2022/lib/alert/alert-link.directive.mjs +3 -3
- package/esm2022/lib/alert/alert.component.mjs +3 -3
- package/esm2022/lib/alert/alert.module.mjs +4 -4
- package/esm2022/lib/avatar/avatar.component.mjs +3 -3
- package/esm2022/lib/avatar/avatar.module.mjs +4 -4
- package/esm2022/lib/backdrop/backdrop.service.mjs +55 -31
- package/esm2022/lib/backdrop/index.mjs +2 -0
- package/esm2022/lib/backdrop/public_api.mjs +2 -0
- package/esm2022/lib/badge/badge.component.mjs +3 -3
- package/esm2022/lib/badge/badge.module.mjs +4 -4
- package/esm2022/lib/breadcrumb/breadcrumb/breadcrumb.component.mjs +3 -3
- package/esm2022/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.mjs +3 -3
- package/esm2022/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.mjs +3 -3
- package/esm2022/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.mjs +3 -3
- package/esm2022/lib/breadcrumb/breadcrumb.module.mjs +4 -4
- package/esm2022/lib/button/button-close.directive.mjs +3 -3
- package/esm2022/lib/button/button.directive.mjs +3 -3
- package/esm2022/lib/button/button.module.mjs +4 -4
- package/esm2022/lib/button-group/button-group/button-group.component.mjs +3 -3
- package/esm2022/lib/button-group/button-group.module.mjs +4 -4
- package/esm2022/lib/button-group/button-toolbar/button-toolbar.component.mjs +3 -3
- package/esm2022/lib/calendar/calendar/calendar-class-view.pipe.mjs +3 -3
- package/esm2022/lib/calendar/calendar/calendar.component.mjs +3 -3
- package/esm2022/lib/calendar/calendar-month/calendar-class-day.pipe.mjs +3 -3
- package/esm2022/lib/calendar/calendar-month/calendar-class-month.pipe.mjs +3 -3
- package/esm2022/lib/calendar/calendar-month/calendar-class-year.pipe.mjs +3 -3
- package/esm2022/lib/calendar/calendar-month/calendar-day-title.pipe.mjs +3 -3
- package/esm2022/lib/calendar/calendar-month/calendar-day.directive.mjs +3 -3
- package/esm2022/lib/calendar/calendar-month/calendar-day.pipe.mjs +3 -3
- package/esm2022/lib/calendar/calendar-month/calendar-month.component.mjs +3 -3
- package/esm2022/lib/calendar/calendar-month/calendar-weekday.pipe.mjs +3 -3
- package/esm2022/lib/calendar/calendar-navigation/calendar-navigation.component.mjs +3 -3
- package/esm2022/lib/calendar/calendar.module.mjs +4 -4
- package/esm2022/lib/calendar/calendar.service.mjs +3 -3
- package/esm2022/lib/callout/callout.component.mjs +3 -3
- package/esm2022/lib/callout/callout.module.mjs +4 -4
- package/esm2022/lib/card/card-body.component.mjs +3 -3
- package/esm2022/lib/card/card-footer.component.mjs +3 -3
- package/esm2022/lib/card/card-group.component.mjs +3 -3
- package/esm2022/lib/card/card-header-actions.component.mjs +3 -3
- package/esm2022/lib/card/card-header.component.mjs +3 -3
- package/esm2022/lib/card/card-img-overlay/card-img-overlay.component.mjs +3 -3
- package/esm2022/lib/card/card-img.directive.mjs +3 -3
- package/esm2022/lib/card/card-link.directive.mjs +3 -3
- package/esm2022/lib/card/card-subtitle.directive.mjs +3 -3
- package/esm2022/lib/card/card-text.directive.mjs +3 -3
- package/esm2022/lib/card/card-title.directive.mjs +3 -3
- package/esm2022/lib/card/card.component.mjs +3 -3
- package/esm2022/lib/card/card.module.mjs +4 -4
- package/esm2022/lib/carousel/carousel/carousel.component.mjs +3 -3
- package/esm2022/lib/carousel/carousel-caption/carousel-caption.component.mjs +3 -3
- package/esm2022/lib/carousel/carousel-control/carousel-control.component.mjs +3 -3
- package/esm2022/lib/carousel/carousel-indicators/carousel-indicators.component.mjs +3 -3
- package/esm2022/lib/carousel/carousel-inner/carousel-inner.component.mjs +3 -3
- package/esm2022/lib/carousel/carousel-item/carousel-item.component.mjs +3 -3
- package/esm2022/lib/carousel/carousel-state.mjs +3 -3
- package/esm2022/lib/carousel/carousel.config.mjs +3 -3
- package/esm2022/lib/carousel/carousel.module.mjs +4 -4
- package/esm2022/lib/carousel/carousel.service.mjs +3 -3
- package/esm2022/lib/collapse/collapse.directive.mjs +3 -3
- package/esm2022/lib/collapse/collapse.module.mjs +4 -4
- package/esm2022/lib/date-picker/date-picker.component.mjs +3 -3
- package/esm2022/lib/date-picker/date-picker.module.mjs +4 -4
- package/esm2022/lib/date-range-picker/date-range-picker/custom-range-key.pipe.mjs +3 -3
- package/esm2022/lib/date-range-picker/date-range-picker/date-range-picker.component.mjs +3 -3
- package/esm2022/lib/date-range-picker/date-range-picker.module.mjs +4 -4
- package/esm2022/lib/dropdown/dropdown/dropdown.component.mjs +6 -6
- package/esm2022/lib/dropdown/dropdown-close/dropdown-close.directive.mjs +3 -3
- package/esm2022/lib/dropdown/dropdown-divider/dropdown-divider.directive.mjs +3 -3
- package/esm2022/lib/dropdown/dropdown-header/dropdown-header.directive.mjs +3 -3
- package/esm2022/lib/dropdown/dropdown-item/dropdown-item-plain.directive.mjs +3 -3
- package/esm2022/lib/dropdown/dropdown-item/dropdown-item.directive.mjs +3 -3
- package/esm2022/lib/dropdown/dropdown-menu/dropdown-menu.directive.mjs +3 -3
- package/esm2022/lib/dropdown/dropdown.module.mjs +4 -4
- package/esm2022/lib/dropdown/dropdown.service.mjs +3 -3
- package/esm2022/lib/element-cover/element-cover.component.mjs +3 -3
- package/esm2022/lib/element-cover/element-cover.module.mjs +4 -4
- package/esm2022/lib/footer/footer.component.mjs +3 -3
- package/esm2022/lib/footer/footer.module.mjs +4 -4
- package/esm2022/lib/form/form/form.directive.mjs +3 -3
- package/esm2022/lib/form/form-check/form-check-input.directive.mjs +3 -3
- package/esm2022/lib/form/form-check/form-check-label.directive.mjs +3 -3
- package/esm2022/lib/form/form-check/form-check.component.mjs +3 -3
- package/esm2022/lib/form/form-control/form-control.directive.mjs +3 -3
- package/esm2022/lib/form/form-feedback/form-feedback.component.mjs +3 -3
- package/esm2022/lib/form/form-floating/form-floating.directive.mjs +3 -3
- package/esm2022/lib/form/form-label/form-label.directive.mjs +3 -3
- package/esm2022/lib/form/form-select/form-select.directive.mjs +3 -3
- package/esm2022/lib/form/form-text/form-text.directive.mjs +3 -3
- package/esm2022/lib/form/form.module.mjs +4 -4
- package/esm2022/lib/form/input-group/input-group.component.mjs +3 -3
- package/esm2022/lib/form/input-group-text/input-group-text.directive.mjs +3 -3
- package/esm2022/lib/grid/col.component.mjs +3 -3
- package/esm2022/lib/grid/col.directive.mjs +3 -3
- package/esm2022/lib/grid/container.component.mjs +3 -3
- package/esm2022/lib/grid/grid.module.mjs +4 -4
- package/esm2022/lib/grid/gutter.directive.mjs +3 -3
- package/esm2022/lib/grid/row.component.mjs +3 -3
- package/esm2022/lib/grid/row.directive.mjs +3 -3
- package/esm2022/lib/header/header/header.component.mjs +3 -3
- package/esm2022/lib/header/header-brand/header-brand.component.mjs +3 -3
- package/esm2022/lib/header/header-divider/header-divider.component.mjs +3 -3
- package/esm2022/lib/header/header-nav/header-nav.component.mjs +3 -3
- package/esm2022/lib/header/header-text/header-text.component.mjs +3 -3
- package/esm2022/lib/header/header-toggler/header-toggler.directive.mjs +3 -3
- package/esm2022/lib/header/header.module.mjs +4 -4
- package/esm2022/lib/image/img.directive.mjs +3 -3
- package/esm2022/lib/image/img.module.mjs +4 -4
- package/esm2022/lib/list-group/list-group-item.directive.mjs +3 -3
- package/esm2022/lib/list-group/list-group.directive.mjs +3 -3
- package/esm2022/lib/list-group/list-group.module.mjs +4 -4
- package/esm2022/lib/loading-button/loading-button.component.mjs +3 -3
- package/esm2022/lib/loading-button/loading-button.module.mjs +4 -4
- package/esm2022/lib/modal/modal/modal.component.mjs +88 -59
- package/esm2022/lib/modal/modal-body/modal-body.component.mjs +3 -3
- package/esm2022/lib/modal/modal-content/modal-content.component.mjs +3 -3
- package/esm2022/lib/modal/modal-dialog/modal-dialog.component.mjs +3 -3
- package/esm2022/lib/modal/modal-dismiss/modal-toggle.directive.mjs +3 -3
- package/esm2022/lib/modal/modal-footer/modal-footer.component.mjs +3 -3
- package/esm2022/lib/modal/modal-header/modal-header.component.mjs +3 -3
- package/esm2022/lib/modal/modal-title/modal-title.directive.mjs +3 -3
- package/esm2022/lib/modal/modal.module.mjs +4 -4
- package/esm2022/lib/modal/modal.service.mjs +3 -3
- package/esm2022/lib/multi-select/multi-select/multi-select-search.directive.mjs +3 -3
- package/esm2022/lib/multi-select/multi-select/multi-select.component.mjs +10 -10
- package/esm2022/lib/multi-select/multi-select-native-select/multi-select-native-select.component.mjs +3 -3
- package/esm2022/lib/multi-select/multi-select-optgroup/multi-select-optgroup-label.component.mjs +3 -3
- package/esm2022/lib/multi-select/multi-select-optgroup/multi-select-optgroup.component.mjs +3 -3
- package/esm2022/lib/multi-select/multi-select-option/multi-select-option.component.mjs +52 -65
- package/esm2022/lib/multi-select/multi-select-tag/multi-select-tag.component.mjs +6 -6
- package/esm2022/lib/multi-select/multi-select.module.mjs +4 -4
- package/esm2022/lib/multi-select/multi-select.service.mjs +3 -3
- package/esm2022/lib/nav/nav-item.component.mjs +3 -3
- package/esm2022/lib/nav/nav-link.directive.mjs +3 -3
- package/esm2022/lib/nav/nav.component.mjs +3 -3
- package/esm2022/lib/nav/nav.module.mjs +4 -4
- package/esm2022/lib/navbar/navbar-brand/navbar-brand.directive.mjs +3 -3
- package/esm2022/lib/navbar/navbar-nav/navbar-nav.component.mjs +3 -3
- package/esm2022/lib/navbar/navbar-text/navbar-text.component.mjs +3 -3
- package/esm2022/lib/navbar/navbar-toggler/navbar-toggler.directive.mjs +3 -3
- package/esm2022/lib/navbar/navbar.component.mjs +3 -3
- package/esm2022/lib/navbar/navbar.module.mjs +4 -4
- package/esm2022/lib/offcanvas/offcanvas/offcanvas.component.mjs +50 -59
- package/esm2022/lib/offcanvas/offcanvas-body/offcanvas-body.component.mjs +3 -3
- package/esm2022/lib/offcanvas/offcanvas-header/offcanvas-header.component.mjs +3 -3
- package/esm2022/lib/offcanvas/offcanvas-title/offcanvas-title.directive.mjs +3 -3
- package/esm2022/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.mjs +3 -3
- package/esm2022/lib/offcanvas/offcanvas.module.mjs +4 -4
- package/esm2022/lib/offcanvas/offcanvas.service.mjs +3 -3
- package/esm2022/lib/pagination/page-item/page-item.component.mjs +3 -3
- package/esm2022/lib/pagination/page-item/page-item.directive.mjs +3 -3
- package/esm2022/lib/pagination/page-link/page-link.directive.mjs +3 -3
- package/esm2022/lib/pagination/pagination/pagination.component.mjs +3 -3
- package/esm2022/lib/pagination/pagination.module.mjs +4 -4
- package/esm2022/lib/placeholder/placeholder-animation.directive.mjs +3 -3
- package/esm2022/lib/placeholder/placeholder.directive.mjs +3 -3
- package/esm2022/lib/placeholder/placeholder.module.mjs +4 -4
- package/esm2022/lib/popover/popover/popover.component.mjs +3 -3
- package/esm2022/lib/popover/popover.directive.mjs +3 -3
- package/esm2022/lib/popover/popover.module.mjs +4 -4
- package/esm2022/lib/progress/progress-bar.component.mjs +3 -3
- package/esm2022/lib/progress/progress.component.mjs +3 -3
- package/esm2022/lib/progress/progress.module.mjs +4 -4
- package/esm2022/lib/services/class-toggle.service.mjs +3 -3
- package/esm2022/lib/services/intersection.service.mjs +3 -3
- package/esm2022/lib/services/listeners.service.mjs +3 -3
- package/esm2022/lib/shared/html-attr.directive.mjs +3 -3
- package/esm2022/lib/shared/shared.module.mjs +4 -4
- package/esm2022/lib/shared/template-id.directive.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar/sidebar.component.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-backdrop/sidebar-backdrop.service.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-brand/sidebar-brand.component.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-footer/sidebar-footer.component.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-header/sidebar-header.component.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-group.service.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-label.component.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-link.component.mjs +6 -6
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-title.component.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav.component.mjs +6 -6
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav.service.mjs +6 -6
- package/esm2022/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-toggler/sidebar-toggler.component.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar.module.mjs +4 -4
- package/esm2022/lib/sidebar/sidebar.service.mjs +3 -3
- package/esm2022/lib/smart-pagination/smart-pagination.component.mjs +3 -3
- package/esm2022/lib/smart-pagination/smart-pagination.module.mjs +4 -4
- package/esm2022/lib/smart-table/smart-table/smart-table.component.mjs +3 -3
- package/esm2022/lib/smart-table/smart-table-column-filter/smart-table-column-filter.component.mjs +3 -3
- package/esm2022/lib/smart-table/smart-table-filter/filter-input.directive.mjs +3 -3
- package/esm2022/lib/smart-table/smart-table-filter/smart-table-filter.component.mjs +3 -3
- package/esm2022/lib/smart-table/smart-table-head/smart-table-column-label.pipe.mjs +3 -3
- package/esm2022/lib/smart-table/smart-table-head/smart-table-head.component.mjs +3 -3
- package/esm2022/lib/smart-table/smart-table-items-per-page-selector/smart-table-items-per-page-selector.component.mjs +3 -3
- package/esm2022/lib/smart-table/smart-table.module.mjs +4 -4
- package/esm2022/lib/spinner/spinner.component.mjs +3 -3
- package/esm2022/lib/spinner/spinner.module.mjs +4 -4
- package/esm2022/lib/table/table-active.directive.mjs +3 -3
- package/esm2022/lib/table/table-color.directive.mjs +3 -3
- package/esm2022/lib/table/table.directive.mjs +3 -3
- package/esm2022/lib/table/table.module.mjs +4 -4
- package/esm2022/lib/tabs/tab-content/tab-content.component.mjs +3 -3
- package/esm2022/lib/tabs/tab-content-ref.directive.mjs +3 -3
- package/esm2022/lib/tabs/tab-pane/tab-pane.component.mjs +3 -3
- package/esm2022/lib/tabs/tab.service.mjs +3 -3
- package/esm2022/lib/tabs/tabs.module.mjs +4 -4
- package/esm2022/lib/time-picker/time-picker-roll-col/time-picker-roll-am-pm.component.mjs +6 -6
- package/esm2022/lib/time-picker/time-picker-roll-col/time-picker-roll-col.component.mjs +6 -6
- package/esm2022/lib/time-picker/time-picker.component.mjs +3 -3
- package/esm2022/lib/time-picker/time-picker.module.mjs +4 -4
- package/esm2022/lib/toast/toast/toast.component.mjs +3 -3
- package/esm2022/lib/toast/toast-body/toast-body.component.mjs +3 -3
- package/esm2022/lib/toast/toast-close.directive.mjs +3 -3
- package/esm2022/lib/toast/toast-header/toast-header.component.mjs +3 -3
- package/esm2022/lib/toast/toast.module.mjs +4 -4
- package/esm2022/lib/toast/toaster/toaster-host.directive.mjs +3 -3
- package/esm2022/lib/toast/toaster/toaster.component.mjs +3 -3
- package/esm2022/lib/toast/toaster/toaster.service.mjs +3 -3
- package/esm2022/lib/tooltip/tooltip/tooltip.component.mjs +3 -3
- package/esm2022/lib/tooltip/tooltip.directive.mjs +3 -3
- package/esm2022/lib/tooltip/tooltip.module.mjs +4 -4
- package/esm2022/lib/utilities/align.directive.mjs +3 -3
- package/esm2022/lib/utilities/bg-color.directive.mjs +3 -3
- package/esm2022/lib/utilities/border.directive.mjs +3 -3
- package/esm2022/lib/utilities/rounded.directive.mjs +3 -3
- package/esm2022/lib/utilities/text-color.directive.mjs +3 -3
- package/esm2022/lib/utilities/utilities.module.mjs +4 -4
- package/esm2022/lib/widget/widget-stat-a/widget-stat-a.component.mjs +3 -3
- package/esm2022/lib/widget/widget-stat-b/widget-stat-b.component.mjs +3 -3
- package/esm2022/lib/widget/widget-stat-c/widget-stat-c.component.mjs +3 -3
- package/esm2022/lib/widget/widget-stat-d/widget-stat-d.component.mjs +3 -3
- package/esm2022/lib/widget/widget-stat-e/widget-stat-e.component.mjs +3 -3
- package/esm2022/lib/widget/widget-stat-f/widget-stat-f.component.mjs +3 -3
- package/esm2022/lib/widget/widget.module.mjs +4 -4
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/coreui-angular-pro.mjs +1044 -1012
- package/fesm2022/coreui-angular-pro.mjs.map +1 -1
- package/lib/backdrop/backdrop.service.d.ts +7 -10
- package/lib/backdrop/index.d.ts +1 -0
- package/lib/backdrop/public_api.d.ts +1 -0
- package/lib/modal/modal/modal.component.d.ts +13 -13
- package/lib/multi-select/multi-select-option/multi-select-option.component.d.ts +8 -12
- package/lib/offcanvas/offcanvas/offcanvas.component.d.ts +12 -10
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -14,10 +14,10 @@ export class NavbarNavComponent {
|
|
|
14
14
|
'navbar-nav-scroll': this.scroll
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
18
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: NavbarNavComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
18
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.6", type: NavbarNavComponent, isStandalone: true, selector: "c-navbar-nav", inputs: { scroll: ["scroll", "scroll", booleanAttribute] }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
|
|
19
19
|
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: NavbarNavComponent, decorators: [{
|
|
21
21
|
type: Component,
|
|
22
22
|
args: [{
|
|
23
23
|
selector: 'c-navbar-nav',
|
|
@@ -4,10 +4,10 @@ export class NavbarTextComponent {
|
|
|
4
4
|
constructor() {
|
|
5
5
|
this.navbarTextClass = true;
|
|
6
6
|
}
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
8
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: NavbarTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: NavbarTextComponent, isStandalone: true, selector: "c-navbar-text", host: { properties: { "class.navbar-text": "this.navbarTextClass" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
|
|
9
9
|
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: NavbarTextComponent, decorators: [{
|
|
11
11
|
type: Component,
|
|
12
12
|
args: [{
|
|
13
13
|
selector: 'c-navbar-text',
|
|
@@ -32,10 +32,10 @@ export class NavbarTogglerDirective {
|
|
|
32
32
|
this.addDefaultIcon();
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
36
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.
|
|
35
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: NavbarTogglerDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
36
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.6", type: NavbarTogglerDirective, isStandalone: true, selector: "[cNavbarToggler]", inputs: { collapseRef: ["cNavbarToggler", "collapseRef"], type: "type", ariaLabel: "ariaLabel" }, host: { listeners: { "click": "handleClick($event)" }, properties: { "class.navbar-toggler": "this.navbarToggler", "attr.type": "this.type", "attr.aria-label": "this.ariaLabel" } }, ngImport: i0 }); }
|
|
37
37
|
}
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: NavbarTogglerDirective, decorators: [{
|
|
39
39
|
type: Directive,
|
|
40
40
|
args: [{
|
|
41
41
|
selector: '[cNavbarToggler]',
|
|
@@ -53,10 +53,10 @@ export class NavbarComponent {
|
|
|
53
53
|
});
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
57
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.
|
|
56
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: NavbarComponent, deps: [{ token: i0.ElementRef }, { token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
57
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: NavbarComponent, isStandalone: true, selector: "c-navbar", inputs: { color: "color", colorScheme: "colorScheme", container: "container", expand: "expand", placement: "placement", role: "role" }, host: { properties: { "attr.role": "this.role", "class": "this.hostClasses" } }, queries: [{ propertyName: "collapse", first: true, predicate: CollapseDirective, descendants: true }], ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"container ? withContainerTemplate : noContainerTemplate\"></ng-container>\n\n<ng-template #withContainerTemplate>\n <div [ngClass]=\"containerClass\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n\n<ng-template #noContainerTemplate>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
58
58
|
}
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: NavbarComponent, decorators: [{
|
|
60
60
|
type: Component,
|
|
61
61
|
args: [{ selector: 'c-navbar', standalone: true, imports: [NgClass, NgTemplateOutlet], template: "<ng-container *ngTemplateOutlet=\"container ? withContainerTemplate : noContainerTemplate\"></ng-container>\n\n<ng-template #withContainerTemplate>\n <div [ngClass]=\"containerClass\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n\n<ng-template #noContainerTemplate>\n <ng-content></ng-content>\n</ng-template>\n" }]
|
|
62
62
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.BreakpointObserver }], propDecorators: { color: [{
|
|
@@ -6,8 +6,8 @@ import { NavbarTextComponent } from './navbar-text/navbar-text.component';
|
|
|
6
6
|
import { NavbarTogglerDirective } from './navbar-toggler/navbar-toggler.directive';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export class NavbarModule {
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
10
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: NavbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: NavbarModule, imports: [NavbarBrandDirective,
|
|
11
11
|
NavbarComponent,
|
|
12
12
|
NavbarNavComponent,
|
|
13
13
|
NavbarTextComponent,
|
|
@@ -16,9 +16,9 @@ export class NavbarModule {
|
|
|
16
16
|
NavbarNavComponent,
|
|
17
17
|
NavbarTextComponent,
|
|
18
18
|
NavbarTogglerDirective] }); }
|
|
19
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.
|
|
19
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: NavbarModule }); }
|
|
20
20
|
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: NavbarModule, decorators: [{
|
|
22
22
|
type: NgModule,
|
|
23
23
|
args: [{
|
|
24
24
|
exports: [
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Component, EventEmitter, HostBinding, HostListener, Inject, Input, Output, PLATFORM_ID } from '@angular/core';
|
|
2
|
-
import { DOCUMENT, isPlatformBrowser } from '@angular/common';
|
|
3
1
|
import { animate, state, style, transition, trigger } from '@angular/animations';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
import { DOCUMENT, isPlatformBrowser } from '@angular/common';
|
|
3
|
+
import { booleanAttribute, Component, DestroyRef, EventEmitter, HostBinding, HostListener, inject, Inject, Input, Output, PLATFORM_ID } from '@angular/core';
|
|
4
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
6
5
|
import { A11yModule } from '@angular/cdk/a11y';
|
|
6
|
+
import { filter } from 'rxjs/operators';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "../offcanvas.service";
|
|
9
9
|
import * as i2 from "../../backdrop/backdrop.service";
|
|
@@ -11,6 +11,7 @@ import * as i3 from "@angular/cdk/layout";
|
|
|
11
11
|
import * as i4 from "@angular/cdk/a11y";
|
|
12
12
|
let nextId = 0;
|
|
13
13
|
export class OffcanvasComponent {
|
|
14
|
+
#destroyRef;
|
|
14
15
|
constructor(document, platformId, renderer, hostElement, offcanvasService, backdropService, breakpointObserver) {
|
|
15
16
|
this.document = document;
|
|
16
17
|
this.platformId = platformId;
|
|
@@ -19,6 +20,7 @@ export class OffcanvasComponent {
|
|
|
19
20
|
this.offcanvasService = offcanvasService;
|
|
20
21
|
this.backdropService = backdropService;
|
|
21
22
|
this.breakpointObserver = breakpointObserver;
|
|
23
|
+
this.#destroyRef = inject(DestroyRef);
|
|
22
24
|
/**
|
|
23
25
|
* Apply a backdrop on body while offcanvas is open.
|
|
24
26
|
* @type boolean | 'static'
|
|
@@ -57,43 +59,31 @@ export class OffcanvasComponent {
|
|
|
57
59
|
* @default true
|
|
58
60
|
*/
|
|
59
61
|
this.ariaModal = true;
|
|
62
|
+
this.#show = false;
|
|
63
|
+
/**
|
|
64
|
+
* Allow body scrolling while offcanvas is visible.
|
|
65
|
+
* @type boolean
|
|
66
|
+
* @default false
|
|
67
|
+
*/
|
|
68
|
+
this.scroll = false;
|
|
69
|
+
this.#visible = false;
|
|
60
70
|
/**
|
|
61
71
|
* Event triggered on visible change.
|
|
72
|
+
* @type EventEmitter<boolean>
|
|
62
73
|
*/
|
|
63
74
|
this.visibleChange = new EventEmitter();
|
|
64
|
-
this.#scroll = false;
|
|
65
|
-
this.#visible = false;
|
|
66
|
-
this.#show = false;
|
|
67
75
|
}
|
|
68
|
-
#scroll;
|
|
69
|
-
#visible;
|
|
70
76
|
#activeBackdrop;
|
|
71
|
-
#scrollbarWidth;
|
|
72
|
-
#stateToggleSubscription;
|
|
73
77
|
#backdropClickSubscription;
|
|
74
78
|
#layoutChangeSubscription;
|
|
75
79
|
#show;
|
|
76
|
-
get scroll() {
|
|
77
|
-
return this.#scroll;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Allow body scrolling while offcanvas is visible.
|
|
81
|
-
* @type boolean
|
|
82
|
-
* @default false
|
|
83
|
-
*/
|
|
84
|
-
set scroll(value) {
|
|
85
|
-
this.#scroll = coerceBooleanProperty(value);
|
|
86
|
-
}
|
|
87
|
-
get visible() {
|
|
88
|
-
return this.#visible;
|
|
89
|
-
}
|
|
90
80
|
/**
|
|
91
81
|
* Toggle the visibility of offcanvas component.
|
|
92
82
|
* @type boolean
|
|
93
83
|
* @default false
|
|
94
84
|
*/
|
|
95
85
|
set visible(value) {
|
|
96
|
-
this.#visible =
|
|
86
|
+
this.#visible = value;
|
|
97
87
|
if (this.#visible) {
|
|
98
88
|
this.setBackdrop(this.backdrop);
|
|
99
89
|
this.setFocus();
|
|
@@ -104,6 +94,10 @@ export class OffcanvasComponent {
|
|
|
104
94
|
this.layoutChangeSubscribe(this.#visible);
|
|
105
95
|
this.visibleChange.emit(value);
|
|
106
96
|
}
|
|
97
|
+
get visible() {
|
|
98
|
+
return this.#visible;
|
|
99
|
+
}
|
|
100
|
+
#visible;
|
|
107
101
|
get hostClasses() {
|
|
108
102
|
return {
|
|
109
103
|
offcanvas: typeof this.responsive === 'boolean',
|
|
@@ -137,11 +131,9 @@ export class OffcanvasComponent {
|
|
|
137
131
|
return breakpointValue ? `${parseFloat(breakpointValue.trim()) - 0.02}px` : false;
|
|
138
132
|
}
|
|
139
133
|
animateStart(event) {
|
|
140
|
-
const scrollbarWidth = this.#scrollbarWidth;
|
|
141
134
|
if (event.toState === 'visible') {
|
|
142
135
|
if (!this.scroll) {
|
|
143
|
-
this.
|
|
144
|
-
this.renderer.setStyle(this.document.body, 'padding-right', scrollbarWidth);
|
|
136
|
+
this.backdropService.hideScrollbar();
|
|
145
137
|
}
|
|
146
138
|
this.renderer.addClass(this.hostElement.nativeElement, 'showing');
|
|
147
139
|
}
|
|
@@ -171,7 +163,6 @@ export class OffcanvasComponent {
|
|
|
171
163
|
}
|
|
172
164
|
}
|
|
173
165
|
ngOnInit() {
|
|
174
|
-
this.#scrollbarWidth = this.backdropService.scrollbarWidth;
|
|
175
166
|
this.stateToggleSubscribe();
|
|
176
167
|
setTimeout(() => {
|
|
177
168
|
// hotfix to avoid offcanvas flicker on the first render
|
|
@@ -180,33 +171,30 @@ export class OffcanvasComponent {
|
|
|
180
171
|
}
|
|
181
172
|
ngOnDestroy() {
|
|
182
173
|
this.offcanvasService.toggle({ show: false, id: this.id });
|
|
183
|
-
this.stateToggleSubscribe(false);
|
|
184
174
|
}
|
|
185
175
|
setFocus() {
|
|
186
176
|
if (isPlatformBrowser(this.platformId)) {
|
|
187
177
|
setTimeout(() => this.hostElement.nativeElement.focus());
|
|
188
178
|
}
|
|
189
179
|
}
|
|
190
|
-
stateToggleSubscribe(
|
|
191
|
-
|
|
192
|
-
this.#
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
}
|
|
202
|
-
else {
|
|
203
|
-
this.#stateToggleSubscription?.unsubscribe();
|
|
204
|
-
}
|
|
180
|
+
stateToggleSubscribe() {
|
|
181
|
+
this.offcanvasService.offcanvasState$
|
|
182
|
+
.pipe(takeUntilDestroyed(this.#destroyRef))
|
|
183
|
+
.subscribe((action) => {
|
|
184
|
+
if (this === action.offcanvas || this.id === action.id) {
|
|
185
|
+
if ('show' in action) {
|
|
186
|
+
this.visible =
|
|
187
|
+
action?.show === 'toggle' ? !this.visible : action.show;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
});
|
|
205
191
|
}
|
|
206
192
|
backdropClickSubscribe(subscribe = true) {
|
|
207
193
|
if (subscribe) {
|
|
208
194
|
this.#backdropClickSubscription =
|
|
209
|
-
this.backdropService.backdropClick
|
|
195
|
+
this.backdropService.backdropClick$
|
|
196
|
+
.pipe(takeUntilDestroyed(this.#destroyRef))
|
|
197
|
+
.subscribe((clicked) => {
|
|
210
198
|
this.offcanvasService.toggle({ show: !clicked, id: this.id });
|
|
211
199
|
});
|
|
212
200
|
}
|
|
@@ -215,7 +203,6 @@ export class OffcanvasComponent {
|
|
|
215
203
|
}
|
|
216
204
|
}
|
|
217
205
|
setBackdrop(setBackdrop) {
|
|
218
|
-
this.#scrollbarWidth = this.backdropService.scrollbarWidth;
|
|
219
206
|
this.#activeBackdrop = !!setBackdrop ? this.backdropService.setBackdrop('offcanvas')
|
|
220
207
|
: this.backdropService.clearBackdrop(this.#activeBackdrop);
|
|
221
208
|
setBackdrop === true ? this.backdropClickSubscribe()
|
|
@@ -229,7 +216,7 @@ export class OffcanvasComponent {
|
|
|
229
216
|
const responsiveBreakpoint = `(max-width: ${this.responsiveBreakpoint})`;
|
|
230
217
|
const layoutChanges = this.breakpointObserver.observe([responsiveBreakpoint]);
|
|
231
218
|
this.#layoutChangeSubscription = layoutChanges
|
|
232
|
-
.pipe(filter(breakpointState => !breakpointState.matches))
|
|
219
|
+
.pipe(filter(breakpointState => !breakpointState.matches), takeUntilDestroyed(this.#destroyRef))
|
|
233
220
|
.subscribe((breakpointState) => {
|
|
234
221
|
this.visible = breakpointState.matches;
|
|
235
222
|
});
|
|
@@ -238,8 +225,8 @@ export class OffcanvasComponent {
|
|
|
238
225
|
this.#layoutChangeSubscription?.unsubscribe();
|
|
239
226
|
}
|
|
240
227
|
}
|
|
241
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
242
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
228
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", 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 }); }
|
|
229
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.6", type: OffcanvasComponent, isStandalone: true, selector: "c-offcanvas", inputs: { backdrop: "backdrop", keyboard: ["keyboard", "keyboard", booleanAttribute], placement: "placement", responsive: "responsive", id: "id", role: "role", ariaModal: ["ariaModal", "ariaModal", booleanAttribute], scroll: ["scroll", "scroll", booleanAttribute], visible: ["visible", "visible", booleanAttribute] }, 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: "ngmodule", type: A11yModule }, { kind: "directive", type: i4.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], animations: [
|
|
243
230
|
trigger('showHide', [
|
|
244
231
|
state('visible', style({
|
|
245
232
|
// visibility: 'visible'
|
|
@@ -251,7 +238,7 @@ export class OffcanvasComponent {
|
|
|
251
238
|
])
|
|
252
239
|
] }); }
|
|
253
240
|
}
|
|
254
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
241
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: OffcanvasComponent, decorators: [{
|
|
255
242
|
type: Component,
|
|
256
243
|
args: [{ selector: 'c-offcanvas', animations: [
|
|
257
244
|
trigger('showHide', [
|
|
@@ -273,7 +260,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
|
273
260
|
}] }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.OffcanvasService }, { type: i2.BackdropService }, { type: i3.BreakpointObserver }], propDecorators: { backdrop: [{
|
|
274
261
|
type: Input
|
|
275
262
|
}], keyboard: [{
|
|
276
|
-
type: Input
|
|
263
|
+
type: Input,
|
|
264
|
+
args: [{ transform: booleanAttribute }]
|
|
277
265
|
}], placement: [{
|
|
278
266
|
type: Input
|
|
279
267
|
}], responsive: [{
|
|
@@ -286,16 +274,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
|
286
274
|
type: HostBinding,
|
|
287
275
|
args: ['attr.role']
|
|
288
276
|
}], ariaModal: [{
|
|
289
|
-
type: Input
|
|
277
|
+
type: Input,
|
|
278
|
+
args: [{ transform: booleanAttribute }]
|
|
290
279
|
}, {
|
|
291
280
|
type: HostBinding,
|
|
292
281
|
args: ['attr.aria-modal']
|
|
293
|
-
}], visibleChange: [{
|
|
294
|
-
type: Output
|
|
295
282
|
}], scroll: [{
|
|
296
|
-
type: Input
|
|
283
|
+
type: Input,
|
|
284
|
+
args: [{ transform: booleanAttribute }]
|
|
297
285
|
}], visible: [{
|
|
298
|
-
type: Input
|
|
286
|
+
type: Input,
|
|
287
|
+
args: [{ transform: booleanAttribute }]
|
|
288
|
+
}], visibleChange: [{
|
|
289
|
+
type: Output
|
|
299
290
|
}], hostClasses: [{
|
|
300
291
|
type: HostBinding,
|
|
301
292
|
args: ['class']
|
|
@@ -318,4 +309,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
|
318
309
|
type: HostListener,
|
|
319
310
|
args: ['document:keydown', ['$event']]
|
|
320
311
|
}] } });
|
|
321
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2ZmY2FudmFzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvb2ZmY2FudmFzL29mZmNhbnZhcy9vZmZjYW52YXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9vZmZjYW52YXMvb2ZmY2FudmFzL29mZmNhbnZhcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBR0wsTUFBTSxFQUNOLFdBQVcsRUFFWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLE9BQU8sRUFBa0IsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakcsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRzVFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUl4QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7OztBQUUvQyxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUEyQmYsTUFBTSxPQUFPLGtCQUFrQjtJQUU3QixZQUM0QixRQUFrQixFQUNmLFVBQWUsRUFDcEMsUUFBbUIsRUFDbkIsV0FBdUIsRUFDdkIsZ0JBQWtDLEVBQ2xDLGVBQWdDLEVBQ2hDLGtCQUFzQztRQU5wQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2YsZUFBVSxHQUFWLFVBQVUsQ0FBSztRQUNwQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25C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QixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFBMQVRGT1JNX0lELFxuICBSZW5kZXJlcjJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBET0NVTUVOVCwgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgYW5pbWF0ZSwgQW5pbWF0aW9uRXZlbnQsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyLCBCcmVha3BvaW50U3RhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBCYWNrZHJvcFNlcnZpY2UgfSBmcm9tICcuLi8uLi9iYWNrZHJvcC9iYWNrZHJvcC5zZXJ2aWNlJztcbmltcG9ydCB7IE9mZmNhbnZhc1NlcnZpY2UgfSBmcm9tICcuLi9vZmZjYW52YXMuc2VydmljZSc7XG5pbXBvcnQgeyBBMTF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuXG5sZXQgbmV4dElkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYy1vZmZjYW52YXMnLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignc2hvd0hpZGUnLCBbXG4gICAgICBzdGF0ZShcbiAgICAgICAgJ3Zpc2libGUnLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgLy8gdmlzaWJpbGl0eTogJ3Zpc2libGUnXG4gICAgICAgIH0pXG4gICAgICApLFxuICAgICAgc3RhdGUoXG4gICAgICAgICdoaWRkZW4nLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgLy8gdmlzaWJpbGl0eTogJ2hpZGRlbidcbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgICB0cmFuc2l0aW9uKCd2aXNpYmxlIDw9PiAqJywgW2FuaW1hdGUoJzMwMG1zJyldKVxuICAgIF0pXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9vZmZjYW52YXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vZmZjYW52YXMuY29tcG9uZW50LnNjc3MnXSxcbiAgZXhwb3J0QXM6ICdjT2ZmY2FudmFzJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0ExMXlNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIE9mZmNhbnZhc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IGFueSxcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBob3N0RWxlbWVudDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIG9mZmNhbnZhc1NlcnZpY2U6IE9mZmNhbnZhc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBiYWNrZHJvcFNlcnZpY2U6IEJhY2tkcm9wU2VydmljZSxcbiAgICBwcml2YXRlIGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyXG4gICkge31cblxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfc2Nyb2xsOiBCb29sZWFuSW5wdXQ7XG4gIC8qKlxuICAgKiBBcHBseSBhIGJhY2tkcm9wIG9uIGJvZHkgd2hpbGUgb2ZmY2FudmFzIGlzIG9wZW4uXG4gICAqIEB0eXBlIGJvb2xlYW4gfCAnc3RhdGljJ1xuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoKSBiYWNrZHJvcDogYm9vbGVhbiB8ICdzdGF0aWMnID0gdHJ1ZTtcblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBvZmZjYW52YXMgd2hlbiBlc2NhcGUga2V5IGlzIHByZXNzZWQgW2RvY3NdXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KCkga2V5Ym9hcmQgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBDb21wb25lbnRzIHBsYWNlbWVudCwgdGhlcmXigJlzIG5vIGRlZmF1bHQgcGxhY2VtZW50LlxuICAgKiBAdHlwZSB7J3N0YXJ0JyB8ICdlbmQnIHwgJ3RvcCcgfCAnYm90dG9tJ31cbiAgICogQGRlZmF1bHQgJ3N0YXJ0J1xuICAgKi9cbiAgQElucHV0KCkgcGxhY2VtZW50OiBzdHJpbmcgfCAnc3RhcnQnIHwgJ2VuZCcgfCAndG9wJyB8ICdib3R0b20nID0gJ3N0YXJ0JztcblxuICAvKipcbiAgICogUmVzcG9uc2l2ZSBvZmZjYW52YXMgcHJvcGVydHkgaGlkZXMgY29udGVudCBvdXRzaWRlIHRoZSB2aWV3cG9ydCBmcm9tIGEgc3BlY2lmaWVkIGJyZWFrcG9pbnQgYW5kIGRvd24uXG4gICAqIEB0eXBlIGJvb2xlYW4gfCAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnIHwgJ3h4bCc7XG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQHNpbmNlIDQuMy4xMFxuICAgKi9cbiAgQElucHV0KCkgcmVzcG9uc2l2ZT86IGJvb2xlYW4gfCAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnIHwgJ3h4bCcgPSB0cnVlO1xuICBASW5wdXQoKSBpZCA9IGBvZmZjYW52YXMtJHt0aGlzLnBsYWNlbWVudH0tJHtuZXh0SWQrK31gO1xuICAvKipcbiAgICogRGVmYXVsdCByb2xlIGZvciBvZmZjYW52YXMuIFtkb2NzXVxuICAgKiBAdHlwZSBzdHJpbmdcbiAgICogQGRlZmF1bHQgJ2RpYWxvZydcbiAgICovXG4gIEBJbnB1dCgpIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICdkaWFsb2cnO1xuICAvKipcbiAgICogU2V0IGFyaWEtbW9kYWwgaHRtbCBhdHRyIGZvciBvZmZjYW52YXMuIFtkb2NzXVxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCgpIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLW1vZGFsJykgYXJpYU1vZGFsID0gdHJ1ZTtcbiAgLyoqXG4gICAqIEV2ZW50IHRyaWdnZXJlZCBvbiB2aXNpYmxlIGNoYW5nZS5cbiAgICovXG4gIEBPdXRwdXQoKSByZWFkb25seSB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAjc2Nyb2xsID0gZmFsc2U7XG4gICN2aXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG4gICNhY3RpdmVCYWNrZHJvcCE6IEhUTUxEaXZFbGVtZW50O1xuICAjc2Nyb2xsYmFyV2lkdGghOiBzdHJpbmc7XG4gICNzdGF0ZVRvZ2dsZVN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcbiAgI2JhY2tkcm9wQ2xpY2tTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG4gICNsYXlvdXRDaGFuZ2VTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG4gICNzaG93ID0gZmFsc2U7XG5cbiAgZ2V0IHNjcm9sbCgpIHtcbiAgICByZXR1cm4gdGhpcy4jc2Nyb2xsO1xuICB9XG5cbiAgLyoqXG4gICAqIEFsbG93IGJvZHkgc2Nyb2xsaW5nIHdoaWxlIG9mZmNhbnZhcyBpcyB2aXNpYmxlLlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgc2Nyb2xsKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy4jc2Nyb2xsID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiN2aXNpYmxlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBvZiBvZmZjYW52YXMgY29tcG9uZW50LlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuI3Zpc2libGUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIGlmICh0aGlzLiN2aXNpYmxlKSB7XG4gICAgICB0aGlzLnNldEJhY2tkcm9wKHRoaXMuYmFja2Ryb3ApO1xuICAgICAgdGhpcy5zZXRGb2N1cygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldEJhY2tkcm9wKGZhbHNlKTtcbiAgICB9XG4gICAgdGhpcy5sYXlvdXRDaGFuZ2VTdWJzY3JpYmUodGhpcy4jdmlzaWJsZSk7XG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBob3N0Q2xhc3NlcygpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBvZmZjYW52YXM6IHR5cGVvZiB0aGlzLnJlc3BvbnNpdmUgPT09ICdib29sZWFuJyxcbiAgICAgIFtgb2ZmY2FudmFzLSR7dGhpcy5yZXNwb25zaXZlfWBdOiB0eXBlb2YgdGhpcy5yZXNwb25zaXZlICE9PSAnYm9vbGVhbicsXG4gICAgICBbYG9mZmNhbnZhcy0ke3RoaXMucGxhY2VtZW50fWBdOiAhIXRoaXMucGxhY2VtZW50LFxuICAgICAgc2hvdzogdGhpcy5zaG93XG4gICAgfTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWhpZGRlbicpXG4gIGdldCBhcmlhSGlkZGVuKCk6IGJvb2xlYW4gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy52aXNpYmxlID8gbnVsbCA6IHRydWU7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKVxuICBnZXQgdGFiSW5kZXgoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuICctMSc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ0BzaG93SGlkZScpXG4gIGdldCBhbmltYXRlVHJpZ2dlcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnZpc2libGUgPyAndmlzaWJsZScgOiAnaGlkZGVuJztcbiAgfVxuXG4gIGdldCBzaG93KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZpc2libGUgJiYgdGhpcy4jc2hvdztcbiAgfVxuXG4gIHNldCBzaG93KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy4jc2hvdyA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IHJlc3BvbnNpdmVCcmVha3BvaW50KCk6IHN0cmluZyB8IGZhbHNlIHtcbiAgICBpZiAodHlwZW9mIHRoaXMucmVzcG9uc2l2ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgZWxlbWVudDogRWxlbWVudCA9IHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICAgIGNvbnN0IHJlc3BvbnNpdmVCcmVha3BvaW50ID0gdGhpcy5yZXNwb25zaXZlO1xuICAgIGNvbnN0IGJyZWFrcG9pbnRWYWx1ZSA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZShgLS1jdWktYnJlYWtwb2ludC0ke3Jlc3BvbnNpdmVCcmVha3BvaW50LnRyaW0oKX1gKSB8fCBmYWxzZTtcbiAgICByZXR1cm4gYnJlYWtwb2ludFZhbHVlID8gYCR7cGFyc2VGbG9hdChicmVha3BvaW50VmFsdWUudHJpbSgpKSAtIDAuMDJ9cHhgIDogZmFsc2U7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdAc2hvd0hpZGUuc3RhcnQnLCBbJyRldmVudCddKVxuICBhbmltYXRlU3RhcnQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgY29uc3Qgc2Nyb2xsYmFyV2lkdGggPSB0aGlzLiNzY3JvbGxiYXJXaWR0aDtcbiAgICBpZiAoZXZlbnQudG9TdGF0ZSA9PT0gJ3Zpc2libGUnKSB7XG4gICAgICBpZiAoIXRoaXMuc2Nyb2xsKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5kb2N1bWVudC5ib2R5LCAnb3ZlcmZsb3cnLCAnaGlkZGVuJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5kb2N1bWVudC5ib2R5LCAncGFkZGluZy1yaWdodCcsIHNjcm9sbGJhcldpZHRoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LCAnc2hvd2luZycpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2hpZGluZycpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ0BzaG93SGlkZS5kb25lJywgWyckZXZlbnQnXSlcbiAgYW5pbWF0ZURvbmUoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoZXZlbnQudG9TdGF0ZSA9PT0gJ3Zpc2libGUnKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LCAnc2hvd2luZycpO1xuICAgICAgfVxuICAgICAgaWYgKGV2ZW50LnRvU3RhdGUgPT09ICdoaWRkZW4nKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LCAnaGlkaW5nJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5kb2N1bWVudC5ib2R5LCAnb3ZlcmZsb3cnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZSh0aGlzLmRvY3VtZW50LmJvZHksICdwYWRkaW5nUmlnaHQnKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnNob3cgPSB0aGlzLnZpc2libGU7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcbiAgb25LZXlEb3duSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIGV2ZW50LmtleSA9PT0gJ0VzY2FwZScgJiZcbiAgICAgIHRoaXMua2V5Ym9hcmQgJiZcbiAgICAgIHRoaXMudmlzaWJsZSAmJlxuICAgICAgdGhpcy5iYWNrZHJvcCAhPT0gJ3N0YXRpYydcbiAgICApIHtcbiAgICAgIHRoaXMub2ZmY2FudmFzU2VydmljZS50b2dnbGUoeyBzaG93OiBmYWxzZSwgaWQ6IHRoaXMuaWQgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy4jc2Nyb2xsYmFyV2lkdGggPSB0aGlzLmJhY2tkcm9wU2VydmljZS5zY3JvbGxiYXJXaWR0aDtcbiAgICB0aGlzLnN0YXRlVG9nZ2xlU3Vic2NyaWJlKCk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAvLyBob3RmaXggdG8gYXZvaWQgb2ZmY2FudmFzIGZsaWNrZXIgb24gdGhlIGZpcnN0IHJlbmRlclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdkaXNwbGF5JywgJ2ZsZXgnKTtcbiAgICB9KVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5vZmZjYW52YXNTZXJ2aWNlLnRvZ2dsZSh7IHNob3c6IGZhbHNlLCBpZDogdGhpcy5pZCB9KTtcbiAgICB0aGlzLnN0YXRlVG9nZ2xlU3Vic2NyaWJlKGZhbHNlKTtcbiAgfVxuXG4gIHNldEZvY3VzKCk6IHZvaWQge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXRlVG9nZ2xlU3Vic2NyaWJlKHN1YnNjcmliZTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICBpZiAoc3Vic2NyaWJlKSB7XG4gICAgICB0aGlzLiNzdGF0ZVRvZ2dsZVN1YnNjcmlwdGlvbiA9XG4gICAgICAgIHRoaXMub2ZmY2FudmFzU2VydmljZS5vZmZjYW52YXNTdGF0ZSQuc3Vic2NyaWJlKChhY3Rpb24pID0+IHtcbiAgICAgICAgICBpZiAodGhpcyA9PT0gYWN0aW9uLm9mZmNhbnZhcyB8fCB0aGlzLmlkID09PSBhY3Rpb24uaWQpIHtcbiAgICAgICAgICAgIGlmICgnc2hvdycgaW4gYWN0aW9uKSB7XG4gICAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9XG4gICAgICAgICAgICAgICAgYWN0aW9uPy5zaG93ID09PSAndG9nZ2xlJyA/ICF0aGlzLnZpc2libGUgOiBhY3Rpb24uc2hvdztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNzdGF0ZVRvZ2dsZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGJhY2tkcm9wQ2xpY2tTdWJzY3JpYmUoc3Vic2NyaWJlOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgIGlmIChzdWJzY3JpYmUpIHtcbiAgICAgIHRoaXMuI2JhY2tkcm9wQ2xpY2tTdWJzY3JpcHRpb24gPVxuICAgICAgICB0aGlzLmJhY2tkcm9wU2VydmljZS5iYWNrZHJvcENsaWNrJC5zdWJzY3JpYmUoKGNsaWNrZWQpID0+IHtcbiAgICAgICAgICB0aGlzLm9mZmNhbnZhc1NlcnZpY2UudG9nZ2xlKHsgc2hvdzogIWNsaWNrZWQsIGlkOiB0aGlzLmlkIH0pO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jYmFja2Ryb3BDbGlja1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldEJhY2tkcm9wKHNldEJhY2tkcm9wOiBib29sZWFuIHwgJ3N0YXRpYycpOiB2b2lkIHtcbiAgICB0aGlzLiNzY3JvbGxiYXJXaWR0aCA9IHRoaXMuYmFja2Ryb3BTZXJ2aWNlLnNjcm9sbGJhcldpZHRoO1xuICAgIHRoaXMuI2FjdGl2ZUJhY2tkcm9wID0gISFzZXRCYWNrZHJvcCA/IHRoaXMuYmFja2Ryb3BTZXJ2aWNlLnNldEJhY2tkcm9wKCdvZmZjYW52YXMnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRoaXMuYmFja2Ryb3BTZXJ2aWNlLmNsZWFyQmFja2Ryb3AodGhpcy4jYWN0aXZlQmFja2Ryb3ApO1xuICAgIHNldEJhY2tkcm9wID09PSB0cnVlID8gdGhpcy5iYWNrZHJvcENsaWNrU3Vic2NyaWJlKClcbiAgICAgICAgICAgICAgICAgICAgICAgICA6IHRoaXMuYmFja2Ryb3BDbGlja1N1YnNjcmliZShmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIGxheW91dENoYW5nZVN1YnNjcmliZShzdWJzY3JpYmU6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG5cbiAgICBpZiAoc3Vic2NyaWJlKSB7XG5cbiAgICAgIGlmICghdGhpcy5yZXNwb25zaXZlQnJlYWtwb2ludCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlc3BvbnNpdmVCcmVha3BvaW50ID0gYChtYXgtd2lkdGg6ICR7dGhpcy5yZXNwb25zaXZlQnJlYWtwb2ludH0pYDtcblxuICAgICAgY29uc3QgbGF5b3V0Q2hhbmdlcyA9IHRoaXMuYnJlYWtwb2ludE9ic2VydmVyLm9ic2VydmUoW3Jlc3BvbnNpdmVCcmVha3BvaW50XSk7XG5cbiAgICAgIHRoaXMuI2xheW91dENoYW5nZVN1YnNjcmlwdGlvbiA9IGxheW91dENoYW5nZXNcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgZmlsdGVyKGJyZWFrcG9pbnRTdGF0ZSA9PiAhYnJlYWtwb2ludFN0YXRlLm1hdGNoZXMpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAoYnJlYWtwb2ludFN0YXRlOiBCcmVha3BvaW50U3RhdGUpID0+IHtcbiAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGJyZWFrcG9pbnRTdGF0ZS5tYXRjaGVzO1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jbGF5b3V0Q2hhbmdlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjZGtUcmFwRm9jdXMgY2RrVHJhcEZvY3VzQXV0b0NhcHR1cmU+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuXG4iXX0=
|
|
312
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2ZmY2FudmFzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvb2ZmY2FudmFzL29mZmNhbnZhcy9vZmZjYW52YXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9vZmZjYW52YXMvb2ZmY2FudmFzL29mZmNhbnZhcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFrQixLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRyxPQUFPLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixTQUFTLEVBQ1QsVUFBVSxFQUVWLFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUdMLE1BQU0sRUFDTixXQUFXLEVBRVosTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRy9DLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBS3hDLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztBQTJCZixNQUFNLE9BQU8sa0JBQWtCO0lBRTdCLFdBQVcsQ0FBc0I7SUFFakMsWUFDNEIsUUFBa0IsRUFDZixVQUFlLEVBQ3BDLFFBQW1CLEVBQ25CLFdBQXVCLEVBQ3ZCLGdCQUFrQyxFQUNsQyxlQUFnQyxFQUNoQyxrQkFBc0M7UUFOcEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNmLGVB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QS9DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBTzdCLFNBQVM7c0JBQWpCLEtBQUs7Z0JBUUcsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBTTZCLElBQUk7c0JBQXRDLEtBQUs7O3NCQUFJLFdBQVc7dUJBQUMsV0FBVztnQkFNdUMsU0FBUztzQkFBaEYsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTs7c0JBQUcsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBWTlCLE1BQU07c0JBQTdDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBUWxDLE9BQU87c0JBRFYsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkF1Qm5CLGFBQWE7c0JBQS9CLE1BQU07Z0JBR0gsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU87Z0JBV2hCLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBTTNCLFFBQVE7c0JBRFgsV0FBVzt1QkFBQyxlQUFlO2dCQU14QixjQUFjO3NCQURqQixXQUFXO3VCQUFDLFdBQVc7Z0JBd0J4QixZQUFZO3NCQURYLFlBQVk7dUJBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBYTNDLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFnQjFDLGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgQW5pbWF0aW9uRXZlbnQsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIENvbXBvbmVudCxcbiAgRGVzdHJveVJlZixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBpbmplY3QsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFBMQVRGT1JNX0lELFxuICBSZW5kZXJlcjJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBBMTF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyLCBCcmVha3BvaW50U3RhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBCYWNrZHJvcFNlcnZpY2UgfSBmcm9tICcuLi8uLi9iYWNrZHJvcC9iYWNrZHJvcC5zZXJ2aWNlJztcbmltcG9ydCB7IE9mZmNhbnZhc1NlcnZpY2UgfSBmcm9tICcuLi9vZmZjYW52YXMuc2VydmljZSc7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjLW9mZmNhbnZhcycsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdzaG93SGlkZScsIFtcbiAgICAgIHN0YXRlKFxuICAgICAgICAndmlzaWJsZScsXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAvLyB2aXNpYmlsaXR5OiAndmlzaWJsZSdcbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgICBzdGF0ZShcbiAgICAgICAgJ2hpZGRlbicsXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAvLyB2aXNpYmlsaXR5OiAnaGlkZGVuJ1xuICAgICAgICB9KVxuICAgICAgKSxcbiAgICAgIHRyYW5zaXRpb24oJ3Zpc2libGUgPD0+IConLCBbYW5pbWF0ZSgnMzAwbXMnKV0pXG4gICAgXSlcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL29mZmNhbnZhcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL29mZmNhbnZhcy5jb21wb25lbnQuc2NzcyddLFxuICBleHBvcnRBczogJ2NPZmZjYW52YXMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQTExeU1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgT2ZmY2FudmFzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gICNkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogYW55LFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGhvc3RFbGVtZW50OiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgb2ZmY2FudmFzU2VydmljZTogT2ZmY2FudmFzU2VydmljZSxcbiAgICBwcml2YXRlIGJhY2tkcm9wU2VydmljZTogQmFja2Ryb3BTZXJ2aWNlLFxuICAgIHByaXZhdGUgYnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXJcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBBcHBseSBhIGJhY2tkcm9wIG9uIGJvZHkgd2hpbGUgb2ZmY2FudmFzIGlzIG9wZW4uXG4gICAqIEB0eXBlIGJvb2xlYW4gfCAnc3RhdGljJ1xuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoKSBiYWNrZHJvcDogYm9vbGVhbiB8ICdzdGF0aWMnID0gdHJ1ZTtcblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBvZmZjYW52YXMgd2hlbiBlc2NhcGUga2V5IGlzIHByZXNzZWQgW2RvY3NdXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGtleWJvYXJkID0gdHJ1ZTtcblxuICAvKipcbiAgICogQ29tcG9uZW50cyBwbGFjZW1lbnQsIHRoZXJl4oCZcyBubyBkZWZhdWx0IHBsYWNlbWVudC5cbiAgICogQHR5cGUgeydzdGFydCcgfCAnZW5kJyB8ICd0b3AnIHwgJ2JvdHRvbSd9XG4gICAqIEBkZWZhdWx0ICdzdGFydCdcbiAgICovXG4gIEBJbnB1dCgpIHBsYWNlbWVudDogc3RyaW5nIHwgJ3N0YXJ0JyB8ICdlbmQnIHwgJ3RvcCcgfCAnYm90dG9tJyA9ICdzdGFydCc7XG5cbiAgLyoqXG4gICAqIFJlc3BvbnNpdmUgb2ZmY2FudmFzIHByb3BlcnR5IGhpZGVzIGNvbnRlbnQgb3V0c2lkZSB0aGUgdmlld3BvcnQgZnJvbSBhIHNwZWNpZmllZCBicmVha3BvaW50IGFuZCBkb3duLlxuICAgKiBAdHlwZSBib29sZWFuIHwgJ3NtJyB8ICdtZCcgfCAnbGcnIHwgJ3hsJyB8ICd4eGwnO1xuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqIEBzaW5jZSA0LjMuMTBcbiAgICovXG4gIEBJbnB1dCgpIHJlc3BvbnNpdmU/OiBib29sZWFuIHwgJ3NtJyB8ICdtZCcgfCAnbGcnIHwgJ3hsJyB8ICd4eGwnID0gdHJ1ZTtcbiAgQElucHV0KCkgaWQgPSBgb2ZmY2FudmFzLSR7dGhpcy5wbGFjZW1lbnR9LSR7bmV4dElkKyt9YDtcbiAgLyoqXG4gICAqIERlZmF1bHQgcm9sZSBmb3Igb2ZmY2FudmFzLiBbZG9jc11cbiAgICogQHR5cGUgc3RyaW5nXG4gICAqIEBkZWZhdWx0ICdkaWFsb2cnXG4gICAqL1xuICBASW5wdXQoKSBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpIHJvbGUgPSAnZGlhbG9nJztcbiAgLyoqXG4gICAqIFNldCBhcmlhLW1vZGFsIGh0bWwgYXR0ciBmb3Igb2ZmY2FudmFzLiBbZG9jc11cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbW9kYWwnKSBhcmlhTW9kYWwgPSB0cnVlO1xuXG4gICNhY3RpdmVCYWNrZHJvcCE6IEhUTUxEaXZFbGVtZW50O1xuICAjYmFja2Ryb3BDbGlja1N1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcbiAgI2xheW91dENoYW5nZVN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcbiAgI3Nob3cgPSBmYWxzZTtcblxuICAvKipcbiAgICogQWxsb3cgYm9keSBzY3JvbGxpbmcgd2hpbGUgb2ZmY2FudmFzIGlzIHZpc2libGUuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzY3JvbGw6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogVG9nZ2xlIHRoZSB2aXNpYmlsaXR5IG9mIG9mZmNhbnZhcyBjb21wb25lbnQuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuI3Zpc2libGUgPSB2YWx1ZTtcbiAgICBpZiAodGhpcy4jdmlzaWJsZSkge1xuICAgICAgdGhpcy5zZXRCYWNrZHJvcCh0aGlzLmJhY2tkcm9wKTtcbiAgICAgIHRoaXMuc2V0Rm9jdXMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRCYWNrZHJvcChmYWxzZSk7XG4gICAgfVxuICAgIHRoaXMubGF5b3V0Q2hhbmdlU3Vic2NyaWJlKHRoaXMuI3Zpc2libGUpO1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiN2aXNpYmxlO1xuICB9XG5cbiAgI3Zpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogRXZlbnQgdHJpZ2dlcmVkIG9uIHZpc2libGUgY2hhbmdlLlxuICAgKiBAdHlwZSBFdmVudEVtaXR0ZXI8Ym9vbGVhbj5cbiAgICovXG4gIEBPdXRwdXQoKSByZWFkb25seSB2aXNpYmxlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBob3N0Q2xhc3NlcygpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBvZmZjYW52YXM6IHR5cGVvZiB0aGlzLnJlc3BvbnNpdmUgPT09ICdib29sZWFuJyxcbiAgICAgIFtgb2ZmY2FudmFzLSR7dGhpcy5yZXNwb25zaXZlfWBdOiB0eXBlb2YgdGhpcy5yZXNwb25zaXZlICE9PSAnYm9vbGVhbicsXG4gICAgICBbYG9mZmNhbnZhcy0ke3RoaXMucGxhY2VtZW50fWBdOiAhIXRoaXMucGxhY2VtZW50LFxuICAgICAgc2hvdzogdGhpcy5zaG93XG4gICAgfTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWhpZGRlbicpXG4gIGdldCBhcmlhSGlkZGVuKCk6IGJvb2xlYW4gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy52aXNpYmxlID8gbnVsbCA6IHRydWU7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKVxuICBnZXQgdGFiSW5kZXgoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuICctMSc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ0BzaG93SGlkZScpXG4gIGdldCBhbmltYXRlVHJpZ2dlcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnZpc2libGUgPyAndmlzaWJsZScgOiAnaGlkZGVuJztcbiAgfVxuXG4gIGdldCBzaG93KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZpc2libGUgJiYgdGhpcy4jc2hvdztcbiAgfVxuXG4gIHNldCBzaG93KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy4jc2hvdyA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IHJlc3BvbnNpdmVCcmVha3BvaW50KCk6IHN0cmluZyB8IGZhbHNlIHtcbiAgICBpZiAodHlwZW9mIHRoaXMucmVzcG9uc2l2ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgZWxlbWVudDogRWxlbWVudCA9IHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICAgIGNvbnN0IHJlc3BvbnNpdmVCcmVha3BvaW50ID0gdGhpcy5yZXNwb25zaXZlO1xuICAgIGNvbnN0IGJyZWFrcG9pbnRWYWx1ZSA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZShgLS1jdWktYnJlYWtwb2ludC0ke3Jlc3BvbnNpdmVCcmVha3BvaW50LnRyaW0oKX1gKSB8fCBmYWxzZTtcbiAgICByZXR1cm4gYnJlYWtwb2ludFZhbHVlID8gYCR7cGFyc2VGbG9hdChicmVha3BvaW50VmFsdWUudHJpbSgpKSAtIDAuMDJ9cHhgIDogZmFsc2U7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdAc2hvd0hpZGUuc3RhcnQnLCBbJyRldmVudCddKVxuICBhbmltYXRlU3RhcnQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LnRvU3RhdGUgPT09ICd2aXNpYmxlJykge1xuICAgICAgaWYgKCF0aGlzLnNjcm9sbCkge1xuICAgICAgICB0aGlzLmJhY2tkcm9wU2VydmljZS5oaWRlU2Nyb2xsYmFyKCk7XG4gICAgICB9XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3Nob3dpbmcnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdoaWRpbmcnKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdAc2hvd0hpZGUuZG9uZScsIFsnJGV2ZW50J10pXG4gIGFuaW1hdGVEb25lKGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKGV2ZW50LnRvU3RhdGUgPT09ICd2aXNpYmxlJykge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3Nob3dpbmcnKTtcbiAgICAgIH1cbiAgICAgIGlmIChldmVudC50b1N0YXRlID09PSAnaGlkZGVuJykge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2hpZGluZycpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKHRoaXMuZG9jdW1lbnQuYm9keSwgJ292ZXJmbG93Jyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5kb2N1bWVudC5ib2R5LCAncGFkZGluZ1JpZ2h0Jyk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5zaG93ID0gdGhpcy52aXNpYmxlO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIG9uS2V5RG93bkhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICBldmVudC5rZXkgPT09ICdFc2NhcGUnICYmXG4gICAgICB0aGlzLmtleWJvYXJkICYmXG4gICAgICB0aGlzLnZpc2libGUgJiZcbiAgICAgIHRoaXMuYmFja2Ryb3AgIT09ICdzdGF0aWMnXG4gICAgKSB7XG4gICAgICB0aGlzLm9mZmNhbnZhc1NlcnZpY2UudG9nZ2xlKHsgc2hvdzogZmFsc2UsIGlkOiB0aGlzLmlkIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVUb2dnbGVTdWJzY3JpYmUoKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIC8vIGhvdGZpeCB0byBhdm9pZCBvZmZjYW52YXMgZmxpY2tlciBvbiB0aGUgZmlyc3QgcmVuZGVyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2Rpc3BsYXknLCAnZmxleCcpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5vZmZjYW52YXNTZXJ2aWNlLnRvZ2dsZSh7IHNob3c6IGZhbHNlLCBpZDogdGhpcy5pZCB9KTtcbiAgfVxuXG4gIHNldEZvY3VzKCk6IHZvaWQge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXRlVG9nZ2xlU3Vic2NyaWJlKCk6IHZvaWQge1xuICAgIHRoaXMub2ZmY2FudmFzU2VydmljZS5vZmZjYW52YXNTdGF0ZSRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy4jZGVzdHJveVJlZilcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGFjdGlvbikgPT4ge1xuICAgICAgICBpZiAodGhpcyA9PT0gYWN0aW9uLm9mZmNhbnZhcyB8fCB0aGlzLmlkID09PSBhY3Rpb24uaWQpIHtcbiAgICAgICAgICBpZiAoJ3Nob3cnIGluIGFjdGlvbikge1xuICAgICAgICAgICAgdGhpcy52aXNpYmxlID1cbiAgICAgICAgICAgICAgYWN0aW9uPy5zaG93ID09PSAndG9nZ2xlJyA/ICF0aGlzLnZpc2libGUgOiBhY3Rpb24uc2hvdztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBiYWNrZHJvcENsaWNrU3Vic2NyaWJlKHN1YnNjcmliZTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICBpZiAoc3Vic2NyaWJlKSB7XG4gICAgICB0aGlzLiNiYWNrZHJvcENsaWNrU3Vic2NyaXB0aW9uID1cbiAgICAgICAgdGhpcy5iYWNrZHJvcFNlcnZpY2UuYmFja2Ryb3BDbGljayRcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLiNkZXN0cm95UmVmKVxuICAgICAgICAgIClcbiAgICAgICAgICAuc3Vic2NyaWJlKChjbGlja2VkKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9mZmNhbnZhc1NlcnZpY2UudG9nZ2xlKHsgc2hvdzogIWNsaWNrZWQsIGlkOiB0aGlzLmlkIH0pO1xuICAgICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNiYWNrZHJvcENsaWNrU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0QmFja2Ryb3Aoc2V0QmFja2Ryb3A6IGJvb2xlYW4gfCAnc3RhdGljJyk6IHZvaWQge1xuICAgIHRoaXMuI2FjdGl2ZUJhY2tkcm9wID0gISFzZXRCYWNrZHJvcCA/IHRoaXMuYmFja2Ryb3BTZXJ2aWNlLnNldEJhY2tkcm9wKCdvZmZjYW52YXMnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRoaXMuYmFja2Ryb3BTZXJ2aWNlLmNsZWFyQmFja2Ryb3AodGhpcy4jYWN0aXZlQmFja2Ryb3ApO1xuICAgIHNldEJhY2tkcm9wID09PSB0cnVlID8gdGhpcy5iYWNrZHJvcENsaWNrU3Vic2NyaWJlKClcbiAgICAgICAgICAgICAgICAgICAgICAgICA6IHRoaXMuYmFja2Ryb3BDbGlja1N1YnNjcmliZShmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIGxheW91dENoYW5nZVN1YnNjcmliZShzdWJzY3JpYmU6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG5cbiAgICBpZiAoc3Vic2NyaWJlKSB7XG5cbiAgICAgIGlmICghdGhpcy5yZXNwb25zaXZlQnJlYWtwb2ludCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlc3BvbnNpdmVCcmVha3BvaW50ID0gYChtYXgtd2lkdGg6ICR7dGhpcy5yZXNwb25zaXZlQnJlYWtwb2ludH0pYDtcblxuICAgICAgY29uc3QgbGF5b3V0Q2hhbmdlcyA9IHRoaXMuYnJlYWtwb2ludE9ic2VydmVyLm9ic2VydmUoW3Jlc3BvbnNpdmVCcmVha3BvaW50XSk7XG5cbiAgICAgIHRoaXMuI2xheW91dENoYW5nZVN1YnNjcmlwdGlvbiA9IGxheW91dENoYW5nZXNcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgZmlsdGVyKGJyZWFrcG9pbnRTdGF0ZSA9PiAhYnJlYWtwb2ludFN0YXRlLm1hdGNoZXMpLFxuICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLiNkZXN0cm95UmVmKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgKGJyZWFrcG9pbnRTdGF0ZTogQnJlYWtwb2ludFN0YXRlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnZpc2libGUgPSBicmVha3BvaW50U3RhdGUubWF0Y2hlcztcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI2xheW91dENoYW5nZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2RrVHJhcEZvY3VzIGNka1RyYXBGb2N1c0F1dG9DYXB0dXJlPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cblxuIl19
|
|
@@ -6,10 +6,10 @@ export class OffcanvasBodyComponent {
|
|
|
6
6
|
'offcanvas-body': true,
|
|
7
7
|
};
|
|
8
8
|
}
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
10
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: OffcanvasBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: OffcanvasBodyComponent, isStandalone: true, selector: "c-offcanvas-body", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host{display:block}\n"] }); }
|
|
11
11
|
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: OffcanvasBodyComponent, decorators: [{
|
|
13
13
|
type: Component,
|
|
14
14
|
args: [{ selector: 'c-offcanvas-body', template: `<ng-content></ng-content>`, standalone: true, styles: [":host{display:block}\n"] }]
|
|
15
15
|
}], propDecorators: { hostClasses: [{
|
|
@@ -6,10 +6,10 @@ export class OffcanvasHeaderComponent {
|
|
|
6
6
|
'offcanvas-header': true,
|
|
7
7
|
};
|
|
8
8
|
}
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
10
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: OffcanvasHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: OffcanvasHeaderComponent, isStandalone: true, selector: "c-offcanvas-header", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true }); }
|
|
11
11
|
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: OffcanvasHeaderComponent, decorators: [{
|
|
13
13
|
type: Component,
|
|
14
14
|
args: [{
|
|
15
15
|
selector: 'c-offcanvas-header',
|
|
@@ -6,10 +6,10 @@ export class OffcanvasTitleDirective {
|
|
|
6
6
|
'offcanvas-title': true,
|
|
7
7
|
};
|
|
8
8
|
}
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
10
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: OffcanvasTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
10
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.6", type: OffcanvasTitleDirective, isStandalone: true, selector: "[cOffcanvasTitle]", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 }); }
|
|
11
11
|
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: OffcanvasTitleDirective, decorators: [{
|
|
13
13
|
type: Directive,
|
|
14
14
|
args: [{
|
|
15
15
|
selector: '[cOffcanvasTitle]',
|
|
@@ -9,10 +9,10 @@ export class OffcanvasToggleDirective {
|
|
|
9
9
|
$event.preventDefault();
|
|
10
10
|
this.offcanvasService.toggle({ show: 'toggle', id: this.id });
|
|
11
11
|
}
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
13
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: OffcanvasToggleDirective, deps: [{ token: i1.OffcanvasService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
13
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.6", type: OffcanvasToggleDirective, isStandalone: true, selector: "[cOffcanvasToggle]", inputs: { id: ["cOffcanvasToggle", "id"] }, host: { listeners: { "click": "toggleOpen($event)" } }, ngImport: i0 }); }
|
|
14
14
|
}
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: OffcanvasToggleDirective, decorators: [{
|
|
16
16
|
type: Directive,
|
|
17
17
|
args: [{
|
|
18
18
|
selector: '[cOffcanvasToggle]',
|
|
@@ -8,8 +8,8 @@ import { OffcanvasService } from './offcanvas.service';
|
|
|
8
8
|
import { BackdropService } from '../backdrop/backdrop.service';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
export class OffcanvasModule {
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
12
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: OffcanvasModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
12
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: OffcanvasModule, imports: [OffcanvasBodyComponent,
|
|
13
13
|
OffcanvasComponent,
|
|
14
14
|
OffcanvasHeaderComponent,
|
|
15
15
|
OffcanvasTitleDirective,
|
|
@@ -18,12 +18,12 @@ export class OffcanvasModule {
|
|
|
18
18
|
OffcanvasHeaderComponent,
|
|
19
19
|
OffcanvasTitleDirective,
|
|
20
20
|
OffcanvasToggleDirective] }); }
|
|
21
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.
|
|
21
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: OffcanvasModule, providers: [
|
|
22
22
|
OffcanvasService,
|
|
23
23
|
BackdropService
|
|
24
24
|
], imports: [OffcanvasComponent] }); }
|
|
25
25
|
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: OffcanvasModule, decorators: [{
|
|
27
27
|
type: NgModule,
|
|
28
28
|
args: [{
|
|
29
29
|
exports: [
|
|
@@ -9,10 +9,10 @@ export class OffcanvasService {
|
|
|
9
9
|
toggle(action) {
|
|
10
10
|
this.offcanvasState.next(action);
|
|
11
11
|
}
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
13
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: OffcanvasService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
13
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: OffcanvasService, providedIn: 'root' }); }
|
|
14
14
|
}
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: OffcanvasService, decorators: [{
|
|
16
16
|
type: Injectable,
|
|
17
17
|
args: [{
|
|
18
18
|
providedIn: 'root'
|
|
@@ -2,10 +2,10 @@ import { Component } from '@angular/core';
|
|
|
2
2
|
import { PageItemDirective } from './page-item.directive';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class PageItemComponent extends PageItemDirective {
|
|
5
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
6
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.
|
|
5
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: PageItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
6
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: PageItemComponent, isStandalone: true, selector: "c-page-item", usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host{display:list-item;text-align:-webkit-match-parent;text-align:match-parent}\n"] }); }
|
|
7
7
|
}
|
|
8
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: PageItemComponent, decorators: [{
|
|
9
9
|
type: Component,
|
|
10
10
|
args: [{ selector: 'c-page-item', template: `<ng-content></ng-content>`, standalone: true, styles: [":host{display:list-item;text-align:-webkit-match-parent;text-align:match-parent}\n"] }]
|
|
11
11
|
}] });
|
|
@@ -37,10 +37,10 @@ export class PageItemDirective {
|
|
|
37
37
|
this.renderer.removeAttribute(pageLinkElement, 'tabindex');
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
41
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.
|
|
40
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: PageItemDirective, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
41
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.6", type: PageItemDirective, isStandalone: true, selector: "[cPageItem]", inputs: { active: "active", disabled: "disabled" }, host: { properties: { "attr.aria-current": "this.ariaCurrent", "class": "this.hostClasses" } }, queries: [{ propertyName: "pageLinkElementRef", first: true, predicate: PageLinkDirective, descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0 }); }
|
|
42
42
|
}
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: PageItemDirective, decorators: [{
|
|
44
44
|
type: Directive,
|
|
45
45
|
args: [{
|
|
46
46
|
selector: '[cPageItem]',
|
|
@@ -6,10 +6,10 @@ export class PageLinkDirective {
|
|
|
6
6
|
'page-link': true,
|
|
7
7
|
};
|
|
8
8
|
}
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
10
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: PageLinkDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
10
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.6", type: PageLinkDirective, isStandalone: true, selector: "[cPageLink]", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 }); }
|
|
11
11
|
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: PageLinkDirective, decorators: [{
|
|
13
13
|
type: Directive,
|
|
14
14
|
args: [{
|
|
15
15
|
selector: '[cPageLink]',
|