@inera/ids-angular 9.2.0 → 9.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common/directives/click-outside.directive.d.ts +3 -3
- package/common/public-api.d.ts +1 -1
- package/components/accordion/accordion-header.component.d.ts +1 -1
- package/components/accordion/accordion.component.d.ts +5 -4
- package/components/alert/alert-header.component.d.ts +1 -1
- package/components/alert/alert.component.d.ts +2 -2
- package/components/box-link/box-link-button.component.d.ts +2 -2
- package/components/box-link/box-link.component.d.ts +1 -1
- package/components/breadcrumbs/breadcrumbs.component.d.ts +3 -4
- package/components/breadcrumbs/crumb.component.d.ts +1 -1
- package/components/carousel/carousel-item/carousel-item.component.d.ts +1 -1
- package/components/carousel/carousel.component.d.ts +4 -4
- package/components/control-button/control-button.directive.d.ts +5 -0
- package/components/control-button/index.d.ts +5 -0
- package/components/control-button/public-api.d.ts +1 -0
- package/components/dialog/dialog.component.d.ts +4 -4
- package/components/dropdown/dropdown.component.d.ts +1 -1
- package/components/footer-1177/footer-1177-col.component.d.ts +4 -4
- package/components/footer-1177/footer-1177.component.d.ts +6 -4
- package/components/footer-1177-admin/footer-1177-admin-col.component.d.ts +4 -4
- package/components/footer-1177-admin/footer-1177-admin.component.d.ts +5 -4
- package/components/footer-1177-pro/footer-1177-pro-col.component.d.ts +4 -4
- package/components/footer-1177-pro/footer-1177-pro.component.d.ts +6 -4
- package/components/footer-inera/footer-inera-col.component.d.ts +4 -4
- package/components/footer-inera/footer-inera.component.d.ts +5 -4
- package/components/footer-inera-admin/footer-inera-admin-col.component.d.ts +4 -4
- package/components/footer-inera-admin/footer-inera-admin.component.d.ts +5 -4
- package/components/footer-inera-general/footer-inera-general-col.component.d.ts +4 -4
- package/components/footer-inera-general/footer-inera-general.component.d.ts +6 -4
- package/components/form/checkbox-group/checkbox-group.component.d.ts +4 -4
- package/components/form/input/input-clear-button.component.d.ts +5 -0
- package/components/form/input/input.component.d.ts +7 -3
- package/components/form/input/public-api.d.ts +1 -0
- package/components/form/label-subtitle/index.d.ts +5 -0
- package/components/form/label-subtitle/label-subtitle.component.d.ts +5 -0
- package/components/form/label-subtitle/public-api.d.ts +1 -0
- package/components/form/radio/radio-group.component.d.ts +4 -4
- package/components/form/radio/radio.component.d.ts +1 -1
- package/components/form/radio-button/radio-button-group.component.d.ts +1 -2
- package/components/form/range/range.component.d.ts +1 -1
- package/components/form/select/select.component.d.ts +1 -1
- package/components/form/select-multiple/select-multiple.component.d.ts +3 -3
- package/components/form/textarea/textarea.component.d.ts +1 -1
- package/components/form/time/time.component.d.ts +1 -1
- package/components/global-alert/global-alert-actions.component.d.ts +1 -1
- package/components/global-alert/global-alert-header.component.d.ts +1 -1
- package/components/global-alert/global-alert.component.d.ts +2 -2
- package/components/header-1177/avatar/header-1177-avatar.component.d.ts +1 -1
- package/components/header-1177/header-1177.component.d.ts +6 -7
- package/components/header-1177/nav/header-1177-nav.component.d.ts +1 -1
- package/components/header-1177/nav-item/header-1177-nav-item.component.d.ts +5 -5
- package/components/header-1177/region-picker/header-1177-region-picker.component.d.ts +3 -3
- package/components/header-1177/region-picker-mobile/header-1177-region-picker-mobile.component.d.ts +3 -3
- package/components/header-1177-admin/avatar/header-1177-admin-avatar.component.d.ts +1 -1
- package/components/header-1177-admin/avatar-mobile/header-1177-admin-avatar-mobile.component.d.ts +1 -1
- package/components/header-1177-admin/header-1177-admin.component.d.ts +3 -3
- package/components/header-1177-admin/nav/header-1177-admin-nav.component.d.ts +4 -4
- package/components/header-1177-admin/nav-item/header-1177-admin-nav-item.component.d.ts +5 -5
- package/components/header-1177-pro/avatar/header-1177-pro-avatar.component.d.ts +1 -1
- package/components/header-1177-pro/avatar-mobile/header-1177-pro-avatar-mobile.component.d.ts +1 -1
- package/components/header-1177-pro/header-1177-pro.component.d.ts +3 -3
- package/components/header-1177-pro/nav/header-1177-pro-nav.component.d.ts +4 -4
- package/components/header-1177-pro/nav-item/header-1177-pro-nav-item.component.d.ts +5 -5
- package/components/header-1177-pro/region-picker/header-1177-pro-region-picker.component.d.ts +4 -4
- package/components/header-1177-pro/region-picker-mobile/header-1177-pro-region-picker-mobile.component.d.ts +1 -1
- package/components/header-inera/header-inera.component.d.ts +5 -6
- package/components/header-inera/nav/header-inera-nav.component.d.ts +2 -4
- package/components/header-inera/nav-item/header-inera-nav-item.component.d.ts +5 -5
- package/components/header-inera-admin/avatar/header-inera-admin-avatar.component.d.ts +1 -1
- package/components/header-inera-admin/avatar-mobile/header-inera-admin-avatar-mobile.component.d.ts +1 -1
- package/components/header-inera-admin/header-inera-admin.component.d.ts +6 -7
- package/components/header-inera-admin/nav/header-inera-admin-nav.component.d.ts +4 -4
- package/components/header-inera-admin/nav-item/header-inera-admin-nav-item.component.d.ts +4 -4
- package/components/header-inera-general/header-inera-general.component.d.ts +5 -6
- package/components/header-inera-general/nav/header-inera-general-nav.component.d.ts +1 -1
- package/components/header-inera-general/nav-item/header-inera-general-nav-item.component.d.ts +5 -5
- package/components/mobile/menu/item/mobile-menu-item.component.d.ts +3 -3
- package/components/mobile/menu/mobile-menu.component.d.ts +1 -2
- package/components/navigation/content/navigation-content-link.component.d.ts +1 -1
- package/components/navigation/content/navigation-content.component.d.ts +1 -2
- package/components/navigation/local/navigation-local-link.component.d.ts +1 -1
- package/components/navigation/local/navigation-local.component.d.ts +1 -2
- package/components/popover/popover.component.d.ts +4 -4
- package/components/puff-list/puff-list-item.component.d.ts +1 -1
- package/components/puff-list/puff-list.component.d.ts +1 -2
- package/components/side-menu/side-menu.component.d.ts +2 -2
- package/components/side-panel/side-panel.component.d.ts +7 -6
- package/components/stepper/stepper.component.d.ts +2 -2
- package/components/tabs/tab-group.component.d.ts +3 -2
- package/components/tabs/tab.component.d.ts +2 -2
- package/components/tag/tag.component.d.ts +1 -1
- package/components/tooltip/tooltip.component.d.ts +2 -2
- package/eslint/rules/no-old-components.js +2 -2
- package/fesm2022/inera-ids-angular-common.mjs +8 -9
- package/fesm2022/inera-ids-angular-common.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-accordion.mjs +19 -28
- package/fesm2022/inera-ids-angular-components-accordion.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-alert.mjs +8 -14
- package/fesm2022/inera-ids-angular-components-alert.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-box-link.mjs +8 -14
- package/fesm2022/inera-ids-angular-components-box-link.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-breadcrumbs.mjs +15 -26
- package/fesm2022/inera-ids-angular-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-carousel.mjs +16 -23
- package/fesm2022/inera-ids-angular-components-carousel.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-control-button.mjs +24 -0
- package/fesm2022/inera-ids-angular-components-control-button.mjs.map +1 -0
- package/fesm2022/inera-ids-angular-components-dialog.mjs +10 -17
- package/fesm2022/inera-ids-angular-components-dialog.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-dropdown.mjs +4 -7
- package/fesm2022/inera-ids-angular-components-dropdown.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-footer-1177-admin.mjs +28 -35
- package/fesm2022/inera-ids-angular-components-footer-1177-admin.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-footer-1177-pro.mjs +29 -35
- package/fesm2022/inera-ids-angular-components-footer-1177-pro.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-footer-1177.mjs +29 -35
- package/fesm2022/inera-ids-angular-components-footer-1177.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-footer-inera-admin.mjs +28 -35
- package/fesm2022/inera-ids-angular-components-footer-inera-admin.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-footer-inera-general.mjs +30 -35
- package/fesm2022/inera-ids-angular-components-footer-inera-general.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-footer-inera.mjs +28 -35
- package/fesm2022/inera-ids-angular-components-footer-inera.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-checkbox-group.mjs +9 -15
- package/fesm2022/inera-ids-angular-components-form-checkbox-group.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-input.mjs +58 -34
- package/fesm2022/inera-ids-angular-components-form-input.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-label-subtitle.mjs +25 -0
- package/fesm2022/inera-ids-angular-components-form-label-subtitle.mjs.map +1 -0
- package/fesm2022/inera-ids-angular-components-form-radio-button.mjs +6 -9
- package/fesm2022/inera-ids-angular-components-form-radio-button.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-radio.mjs +11 -17
- package/fesm2022/inera-ids-angular-components-form-radio.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-range.mjs +2 -2
- package/fesm2022/inera-ids-angular-components-form-range.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-select-multiple.mjs +8 -11
- package/fesm2022/inera-ids-angular-components-form-select-multiple.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-select.mjs +2 -2
- package/fesm2022/inera-ids-angular-components-form-select.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-textarea.mjs +2 -2
- package/fesm2022/inera-ids-angular-components-form-textarea.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-time.mjs +2 -2
- package/fesm2022/inera-ids-angular-components-form-time.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-global-alert.mjs +11 -23
- package/fesm2022/inera-ids-angular-components-global-alert.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-header-1177-admin.mjs +29 -59
- package/fesm2022/inera-ids-angular-components-header-1177-admin.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-header-1177-pro.mjs +64 -91
- package/fesm2022/inera-ids-angular-components-header-1177-pro.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-header-1177.mjs +74 -104
- package/fesm2022/inera-ids-angular-components-header-1177.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-header-inera-admin.mjs +31 -67
- package/fesm2022/inera-ids-angular-components-header-inera-admin.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-header-inera-general.mjs +22 -49
- package/fesm2022/inera-ids-angular-components-header-inera-general.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-header-inera.mjs +23 -54
- package/fesm2022/inera-ids-angular-components-header-inera.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-mobile-menu-item.mjs +6 -12
- package/fesm2022/inera-ids-angular-components-mobile-menu-item.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-mobile-menu.mjs +13 -22
- package/fesm2022/inera-ids-angular-components-mobile-menu.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-navigation-content.mjs +7 -13
- package/fesm2022/inera-ids-angular-components-navigation-content.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-navigation-local.mjs +7 -13
- package/fesm2022/inera-ids-angular-components-navigation-local.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-popover.mjs +106 -61
- package/fesm2022/inera-ids-angular-components-popover.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-puff-list.mjs +16 -22
- package/fesm2022/inera-ids-angular-components-puff-list.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-side-menu.mjs +9 -12
- package/fesm2022/inera-ids-angular-components-side-menu.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-side-panel.mjs +91 -79
- package/fesm2022/inera-ids-angular-components-side-panel.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-stepper.mjs +5 -8
- package/fesm2022/inera-ids-angular-components-stepper.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-tabs.mjs +14 -22
- package/fesm2022/inera-ids-angular-components-tabs.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-tag.mjs +5 -5
- package/fesm2022/inera-ids-angular-components-tag.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-tooltip.mjs +18 -24
- package/fesm2022/inera-ids-angular-components-tooltip.mjs.map +1 -1
- package/package.json +110 -102
- /package/common/services/{use-id.service.ts.d.ts → use-id.service.d.ts} +0 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { viewChild, TemplateRef, Component, contentChildren, Input } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
|
|
6
6
|
class IDNavigationContentLinkComponent {
|
|
7
|
-
template;
|
|
7
|
+
template = viewChild.required(TemplateRef);
|
|
8
8
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDNavigationContentLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
9
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.20", type: IDNavigationContentLinkComponent, isStandalone: true, selector: "id-navigation-content-link", viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
10
10
|
<ng-template>
|
|
11
11
|
<li class="ids-navigation-content__link-wrapper">
|
|
12
12
|
<ng-content></ng-content>
|
|
@@ -25,28 +25,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
25
25
|
</li>
|
|
26
26
|
</ng-template>`
|
|
27
27
|
}]
|
|
28
|
-
}]
|
|
29
|
-
type: ViewChild,
|
|
30
|
-
args: [TemplateRef]
|
|
31
|
-
}] } });
|
|
28
|
+
}] });
|
|
32
29
|
|
|
33
30
|
class IDNavigationContentComponent {
|
|
34
31
|
headline;
|
|
35
32
|
maxHeight;
|
|
36
|
-
linkComponents;
|
|
33
|
+
linkComponents = contentChildren(IDNavigationContentLinkComponent);
|
|
37
34
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDNavigationContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
35
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.20", type: IDNavigationContentComponent, isStandalone: true, selector: "id-navigation-content", inputs: { headline: "headline", maxHeight: "maxHeight" }, queries: [{ propertyName: "linkComponents", predicate: IDNavigationContentLinkComponent, isSignal: true }], ngImport: i0, template: "<div\n class=\"ids-navigation-content\"\n [class.ids-navigation-content--scrollable]=\"!!maxHeight\"\n>\n <div class=\"ids-navigation-content__border-top\">\n <div class=\"ids-navigation-content__border-top-content\"></div>\n </div>\n <nav\n class=\"ids-navigation-content__inner\"\n aria-labelledby=\"content-navigation-headline\"\n id=\"content-navigation-inner\"\n >\n <h2\n class=\"ids-navigation-content__inner__headline\"\n id=\"content-navigation-headline\"\n >\n {{ headline }}\n </h2>\n <ul class=\"ids-navigation-content__links\" [style.maxHeight]=\"maxHeight\">\n <ng-container *ngFor=\"let link of linkComponents(); let i = index\">\n <ng-container [ngTemplateOutlet]=\"link.template()\"></ng-container>\n </ng-container>\n </ul>\n </nav>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
39
36
|
}
|
|
40
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDNavigationContentComponent, decorators: [{
|
|
41
38
|
type: Component,
|
|
42
|
-
args: [{ selector: 'id-navigation-content', imports: [CommonModule], standalone: true, template: "<div\n class=\"ids-navigation-content\"\n [class.ids-navigation-content--scrollable]=\"!!maxHeight\"\n>\n <div class=\"ids-navigation-content__border-top\">\n <div class=\"ids-navigation-content__border-top-content\"></div>\n </div>\n <nav\n class=\"ids-navigation-content__inner\"\n aria-labelledby=\"content-navigation-headline\"\n id=\"content-navigation-inner\"\n >\n <h2\n class=\"ids-navigation-content__inner__headline\"\n id=\"content-navigation-headline\"\n >\n {{ headline }}\n </h2>\n <ul class=\"ids-navigation-content__links\" [style.maxHeight]=\"maxHeight\">\n <ng-container *ngFor=\"let link of linkComponents; let i = index\">\n <ng-container [ngTemplateOutlet]=\"link.template\"></ng-container>\n </ng-container>\n </ul>\n </nav>\n</div>\n" }]
|
|
39
|
+
args: [{ selector: 'id-navigation-content', imports: [CommonModule], standalone: true, template: "<div\n class=\"ids-navigation-content\"\n [class.ids-navigation-content--scrollable]=\"!!maxHeight\"\n>\n <div class=\"ids-navigation-content__border-top\">\n <div class=\"ids-navigation-content__border-top-content\"></div>\n </div>\n <nav\n class=\"ids-navigation-content__inner\"\n aria-labelledby=\"content-navigation-headline\"\n id=\"content-navigation-inner\"\n >\n <h2\n class=\"ids-navigation-content__inner__headline\"\n id=\"content-navigation-headline\"\n >\n {{ headline }}\n </h2>\n <ul class=\"ids-navigation-content__links\" [style.maxHeight]=\"maxHeight\">\n <ng-container *ngFor=\"let link of linkComponents(); let i = index\">\n <ng-container [ngTemplateOutlet]=\"link.template()\"></ng-container>\n </ng-container>\n </ul>\n </nav>\n</div>\n" }]
|
|
43
40
|
}], propDecorators: { headline: [{
|
|
44
41
|
type: Input
|
|
45
42
|
}], maxHeight: [{
|
|
46
43
|
type: Input
|
|
47
|
-
}], linkComponents: [{
|
|
48
|
-
type: ContentChildren,
|
|
49
|
-
args: [IDNavigationContentLinkComponent]
|
|
50
44
|
}] } });
|
|
51
45
|
|
|
52
46
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inera-ids-angular-components-navigation-content.mjs","sources":["../../../projects/ids-angular/components/navigation/content/navigation-content-link.component.ts","../../../projects/ids-angular/components/navigation/content/navigation-content.component.ts","../../../projects/ids-angular/components/navigation/content/navigation-content.component.html","../../../projects/ids-angular/components/navigation/content/inera-ids-angular-components-navigation-content.ts"],"sourcesContent":["import { Component, TemplateRef,
|
|
1
|
+
{"version":3,"file":"inera-ids-angular-components-navigation-content.mjs","sources":["../../../projects/ids-angular/components/navigation/content/navigation-content-link.component.ts","../../../projects/ids-angular/components/navigation/content/navigation-content.component.ts","../../../projects/ids-angular/components/navigation/content/navigation-content.component.html","../../../projects/ids-angular/components/navigation/content/inera-ids-angular-components-navigation-content.ts"],"sourcesContent":["import { Component, TemplateRef, viewChild } from '@angular/core';\n\n@Component({\n selector: 'id-navigation-content-link',\n standalone: true,\n template: `\n <ng-template>\n <li class=\"ids-navigation-content__link-wrapper\">\n <ng-content></ng-content>\n </li>\n </ng-template>`\n})\nexport class IDNavigationContentLinkComponent {\n\n template = viewChild.required(TemplateRef);\n \n}\n","import { Component, Input, contentChildren } from '@angular/core';\nimport { IDNavigationContentLinkComponent } from './navigation-content-link.component';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'id-navigation-content',\n templateUrl: './navigation-content.component.html',\n imports: [CommonModule],\n standalone: true\n})\nexport class IDNavigationContentComponent {\n\n @Input() headline?: string;\n @Input() maxHeight?: string;\n\n linkComponents = contentChildren(IDNavigationContentLinkComponent);\n\n}\n","<div\n class=\"ids-navigation-content\"\n [class.ids-navigation-content--scrollable]=\"!!maxHeight\"\n>\n <div class=\"ids-navigation-content__border-top\">\n <div class=\"ids-navigation-content__border-top-content\"></div>\n </div>\n <nav\n class=\"ids-navigation-content__inner\"\n aria-labelledby=\"content-navigation-headline\"\n id=\"content-navigation-inner\"\n >\n <h2\n class=\"ids-navigation-content__inner__headline\"\n id=\"content-navigation-headline\"\n >\n {{ headline }}\n </h2>\n <ul class=\"ids-navigation-content__links\" [style.maxHeight]=\"maxHeight\">\n <ng-container *ngFor=\"let link of linkComponents(); let i = index\">\n <ng-container [ngTemplateOutlet]=\"link.template()\"></ng-container>\n </ng-container>\n </ul>\n </nav>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAYa,gCAAgC,CAAA;AAE3C,IAAA,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;wGAF/B,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAhC,gCAAgC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAEb,WAAW,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAT/B;;;;;AAKO,kBAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAEN,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAV5C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,4BAA4B;AACtC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE;;;;;AAKO,kBAAA;AAClB,iBAAA;;;MCDY,4BAA4B,CAAA;AAE9B,IAAA,QAAQ;AACR,IAAA,SAAS;AAElB,IAAA,cAAc,GAAG,eAAe,CAAC,gCAAgC,CAAC;wGALvD,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA5B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,SAAA,EAKN,gCAAgC,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECfnE,4zBAyBA,2CDlBY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAGX,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBANxC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,EAAA,OAAA,EAExB,CAAC,YAAY,CAAC,cACX,IAAI,EAAA,QAAA,EAAA,4zBAAA,EAAA;8BAIP,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;;;AEbH;;AAEG;;;;"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { viewChild, TemplateRef, Component, contentChildren, Input } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
|
|
6
6
|
class IDNavigationLocalLinkComponent {
|
|
7
|
-
template;
|
|
7
|
+
template = viewChild.required(TemplateRef);
|
|
8
8
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDNavigationLocalLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
9
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.20", type: IDNavigationLocalLinkComponent, isStandalone: true, selector: "id-navigation-local-link", viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
10
10
|
<ng-template>
|
|
11
11
|
<ng-content></ng-content>
|
|
12
12
|
</ng-template>
|
|
@@ -23,25 +23,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
23
23
|
`,
|
|
24
24
|
standalone: true
|
|
25
25
|
}]
|
|
26
|
-
}]
|
|
27
|
-
type: ViewChild,
|
|
28
|
-
args: [TemplateRef]
|
|
29
|
-
}] } });
|
|
26
|
+
}] });
|
|
30
27
|
|
|
31
28
|
class IDNavigationLocalComponent {
|
|
32
29
|
headline;
|
|
33
|
-
linkComponents;
|
|
30
|
+
linkComponents = contentChildren(IDNavigationLocalLinkComponent);
|
|
34
31
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDNavigationLocalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
35
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
32
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.20", type: IDNavigationLocalComponent, isStandalone: true, selector: "id-navigation-local", inputs: { headline: "headline" }, queries: [{ propertyName: "linkComponents", predicate: IDNavigationLocalLinkComponent, isSignal: true }], ngImport: i0, template: "<div class=\"ids-navigation-local\">\n <h2 class=\"ids-navigation-local__headline\">{{headline}}</h2>\n <ul>\n <ng-container *ngFor=\"let link of linkComponents(); let i = index\">\n <li>\n <ng-container [ngTemplateOutlet]=\"link.template()\"></ng-container>\n </li>\n </ng-container>\n </ul>\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
36
33
|
}
|
|
37
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDNavigationLocalComponent, decorators: [{
|
|
38
35
|
type: Component,
|
|
39
|
-
args: [{ selector: 'id-navigation-local', standalone: true, imports: [CommonModule], template: "<div class=\"ids-navigation-local\">\n <h2 class=\"ids-navigation-local__headline\">{{headline}}</h2>\n <ul>\n <ng-container *ngFor=\"let link of linkComponents; let i = index\">\n <li>\n <ng-container [ngTemplateOutlet]=\"link.template\"></ng-container>\n </li>\n </ng-container>\n </ul>\n</div>" }]
|
|
36
|
+
args: [{ selector: 'id-navigation-local', standalone: true, imports: [CommonModule], template: "<div class=\"ids-navigation-local\">\n <h2 class=\"ids-navigation-local__headline\">{{headline}}</h2>\n <ul>\n <ng-container *ngFor=\"let link of linkComponents(); let i = index\">\n <li>\n <ng-container [ngTemplateOutlet]=\"link.template()\"></ng-container>\n </li>\n </ng-container>\n </ul>\n</div>" }]
|
|
40
37
|
}], propDecorators: { headline: [{
|
|
41
38
|
type: Input
|
|
42
|
-
}], linkComponents: [{
|
|
43
|
-
type: ContentChildren,
|
|
44
|
-
args: [IDNavigationLocalLinkComponent]
|
|
45
39
|
}] } });
|
|
46
40
|
|
|
47
41
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inera-ids-angular-components-navigation-local.mjs","sources":["../../../projects/ids-angular/components/navigation/local/navigation-local-link.component.ts","../../../projects/ids-angular/components/navigation/local/navigation-local.component.ts","../../../projects/ids-angular/components/navigation/local/navigation-local.component.html","../../../projects/ids-angular/components/navigation/local/inera-ids-angular-components-navigation-local.ts"],"sourcesContent":["import { Component, TemplateRef,
|
|
1
|
+
{"version":3,"file":"inera-ids-angular-components-navigation-local.mjs","sources":["../../../projects/ids-angular/components/navigation/local/navigation-local-link.component.ts","../../../projects/ids-angular/components/navigation/local/navigation-local.component.ts","../../../projects/ids-angular/components/navigation/local/navigation-local.component.html","../../../projects/ids-angular/components/navigation/local/inera-ids-angular-components-navigation-local.ts"],"sourcesContent":["import { Component, TemplateRef, viewChild } from '@angular/core';\n\n@Component({\n selector: 'id-navigation-local-link',\n template: `\n <ng-template>\n <ng-content></ng-content>\n </ng-template>\n `,\n standalone: true\n})\nexport class IDNavigationLocalLinkComponent {\n\n template = viewChild.required(TemplateRef);\n\n}","import { Component, Input, contentChildren } from '@angular/core';\nimport { IDNavigationLocalLinkComponent } from './navigation-local-link.component';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'id-navigation-local',\n templateUrl: './navigation-local.component.html',\n standalone: true,\n imports: [CommonModule]\n})\nexport class IDNavigationLocalComponent {\n\n @Input() headline?: string;\n\n linkComponents = contentChildren(IDNavigationLocalLinkComponent);\n}\n","<div class=\"ids-navigation-local\">\n <h2 class=\"ids-navigation-local__headline\">{{headline}}</h2>\n <ul>\n <ng-container *ngFor=\"let link of linkComponents(); let i = index\">\n <li>\n <ng-container [ngTemplateOutlet]=\"link.template()\"></ng-container>\n </li>\n </ng-container>\n </ul>\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAWa,8BAA8B,CAAA;AAEzC,IAAA,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;wGAF/B,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAA9B,8BAA8B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAEX,WAAW,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAT/B;;;;AAIL,MAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAGM,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAT1C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,0BAA0B;AACpC,oBAAA,QAAQ,EAAE;;;;AAIL,MAAA,CAAA;AACL,oBAAA,UAAU,EAAE;AACb,iBAAA;;;MCAY,0BAA0B,CAAA;AAE5B,IAAA,QAAQ;AAEf,IAAA,cAAc,GAAG,eAAe,CAAC,8BAA8B,CAAC;wGAJvD,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA1B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,SAAA,EAIF,8BAA8B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECdnE,wUASM,2CDDM,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAEX,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBANtC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EAAA,UAAA,EAEnB,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,wUAAA,EAAA;8BAId,QAAQ,EAAA,CAAA;sBAAhB;;;AEZH;;AAEG;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, HostListener, Output, Component, inject, ElementRef, booleanAttribute, Input,
|
|
2
|
+
import { EventEmitter, HostListener, Output, Component, inject, ElementRef, booleanAttribute, Input, contentChild, contentChildren, viewChild, ApplicationRef, DestroyRef, effect, NgModule } from '@angular/core';
|
|
3
3
|
import * as i2 from '@angular/common';
|
|
4
4
|
import { CommonModule, DOCUMENT } from '@angular/common';
|
|
5
5
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
@@ -58,7 +58,9 @@ class IDPopoverContentComponent {
|
|
|
58
58
|
if (document.activeElement === wrapper) {
|
|
59
59
|
event.preventDefault();
|
|
60
60
|
const focusable = wrapper.querySelectorAll('a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])');
|
|
61
|
-
const last = Array.from(focusable)
|
|
61
|
+
const last = Array.from(focusable)
|
|
62
|
+
.filter((el) => el !== wrapper)
|
|
63
|
+
.pop();
|
|
62
64
|
if (last) {
|
|
63
65
|
last.focus();
|
|
64
66
|
}
|
|
@@ -72,27 +74,53 @@ class IDPopoverContentComponent {
|
|
|
72
74
|
}
|
|
73
75
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDPopoverContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
74
76
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.20", type: IDPopoverContentComponent, isStandalone: true, selector: "id-popover-content", inputs: { closeOnBlur: ["closeOnBlur", "closeOnBlur", booleanAttribute], maxHeight: "maxHeight", maxWidth: "maxWidth", srCloseText: "srCloseText" }, outputs: { contentClosed: "contentClosed" }, host: { listeners: { "keydown": "onKeyDown($event)" }, properties: { "class": "hostClasses" }, styleAttribute: "display: none" }, ngImport: i0, template: `
|
|
75
|
-
|
|
77
|
+
<div
|
|
78
|
+
[cdkTrapFocus]="true"
|
|
79
|
+
idClickOutside
|
|
80
|
+
(idClickOutside)="onClickedOutside($event)"
|
|
76
81
|
(keydown.shift.tab)="onShiftTab($event)"
|
|
77
82
|
class="ids-popover-content__content-wrapper"
|
|
78
83
|
tabindex="0"
|
|
79
84
|
[style.maxWidth]="maxWidth"
|
|
80
|
-
[style.maxHeight]="maxHeight"
|
|
81
|
-
|
|
82
|
-
<
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
85
|
+
[style.maxHeight]="maxHeight"
|
|
86
|
+
>
|
|
87
|
+
<div
|
|
88
|
+
class="ids-popover-content__caret"
|
|
89
|
+
[ngClass]="caretPositionClass"
|
|
90
|
+
>
|
|
91
|
+
<span
|
|
92
|
+
class="ids-popover-content__caret-body"
|
|
93
|
+
[ngClass]="caretPositionClass"
|
|
94
|
+
></span>
|
|
95
|
+
<span
|
|
96
|
+
class="ids-popover-content__caret-border"
|
|
97
|
+
[ngClass]="caretPositionClass"
|
|
98
|
+
></span>
|
|
99
|
+
<span
|
|
100
|
+
class="ids-popover-content__caret-shadow"
|
|
101
|
+
[ngClass]="caretPositionClass"
|
|
102
|
+
></span>
|
|
103
|
+
</div>
|
|
104
|
+
<div class="ids-popover-content__top-bar">
|
|
105
|
+
<div class="ids-popover-content__close-btn-wrapper">
|
|
106
|
+
<button
|
|
107
|
+
class="ids-popover-content__close-btn"
|
|
108
|
+
(click)="contentClosed.emit($event)"
|
|
109
|
+
[attr.aria-label]="srCloseText"
|
|
110
|
+
>
|
|
111
|
+
<span
|
|
112
|
+
class="ids-icon-close"
|
|
113
|
+
aria-hidden
|
|
114
|
+
></span>
|
|
115
|
+
</button>
|
|
116
|
+
</div>
|
|
117
|
+
</div>
|
|
118
|
+
<div class="ids-popover-content__content-wrapper-inner">
|
|
119
|
+
<ng-content select="id-popover-header"></ng-content>
|
|
120
|
+
<ng-content></ng-content>
|
|
89
121
|
</div>
|
|
90
122
|
</div>
|
|
91
|
-
|
|
92
|
-
<ng-content select="id-popover-header"></ng-content>
|
|
93
|
-
<ng-content></ng-content>
|
|
94
|
-
</div>
|
|
95
|
-
</div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: IDClickOutsideDirective, selector: "[idClickOutside]", outputs: ["idClickOutside"] }] });
|
|
123
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: IDClickOutsideDirective, selector: "[idClickOutside]", outputs: ["idClickOutside"] }] });
|
|
96
124
|
}
|
|
97
125
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDPopoverContentComponent, decorators: [{
|
|
98
126
|
type: Component,
|
|
@@ -101,31 +129,57 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
101
129
|
standalone: true,
|
|
102
130
|
imports: [A11yModule, CommonModule, IDClickOutsideDirective],
|
|
103
131
|
template: `
|
|
104
|
-
|
|
132
|
+
<div
|
|
133
|
+
[cdkTrapFocus]="true"
|
|
134
|
+
idClickOutside
|
|
135
|
+
(idClickOutside)="onClickedOutside($event)"
|
|
105
136
|
(keydown.shift.tab)="onShiftTab($event)"
|
|
106
137
|
class="ids-popover-content__content-wrapper"
|
|
107
138
|
tabindex="0"
|
|
108
139
|
[style.maxWidth]="maxWidth"
|
|
109
|
-
[style.maxHeight]="maxHeight"
|
|
110
|
-
|
|
111
|
-
<
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
140
|
+
[style.maxHeight]="maxHeight"
|
|
141
|
+
>
|
|
142
|
+
<div
|
|
143
|
+
class="ids-popover-content__caret"
|
|
144
|
+
[ngClass]="caretPositionClass"
|
|
145
|
+
>
|
|
146
|
+
<span
|
|
147
|
+
class="ids-popover-content__caret-body"
|
|
148
|
+
[ngClass]="caretPositionClass"
|
|
149
|
+
></span>
|
|
150
|
+
<span
|
|
151
|
+
class="ids-popover-content__caret-border"
|
|
152
|
+
[ngClass]="caretPositionClass"
|
|
153
|
+
></span>
|
|
154
|
+
<span
|
|
155
|
+
class="ids-popover-content__caret-shadow"
|
|
156
|
+
[ngClass]="caretPositionClass"
|
|
157
|
+
></span>
|
|
158
|
+
</div>
|
|
159
|
+
<div class="ids-popover-content__top-bar">
|
|
160
|
+
<div class="ids-popover-content__close-btn-wrapper">
|
|
161
|
+
<button
|
|
162
|
+
class="ids-popover-content__close-btn"
|
|
163
|
+
(click)="contentClosed.emit($event)"
|
|
164
|
+
[attr.aria-label]="srCloseText"
|
|
165
|
+
>
|
|
166
|
+
<span
|
|
167
|
+
class="ids-icon-close"
|
|
168
|
+
aria-hidden
|
|
169
|
+
></span>
|
|
170
|
+
</button>
|
|
171
|
+
</div>
|
|
172
|
+
</div>
|
|
173
|
+
<div class="ids-popover-content__content-wrapper-inner">
|
|
174
|
+
<ng-content select="id-popover-header"></ng-content>
|
|
175
|
+
<ng-content></ng-content>
|
|
118
176
|
</div>
|
|
119
177
|
</div>
|
|
120
|
-
|
|
121
|
-
<ng-content select="id-popover-header"></ng-content>
|
|
122
|
-
<ng-content></ng-content>
|
|
123
|
-
</div>
|
|
124
|
-
</div>`,
|
|
178
|
+
`,
|
|
125
179
|
host: {
|
|
126
180
|
'[class]': 'hostClasses',
|
|
127
|
-
|
|
128
|
-
}
|
|
181
|
+
style: 'display: none',
|
|
182
|
+
},
|
|
129
183
|
}]
|
|
130
184
|
}], propDecorators: { contentClosed: [{
|
|
131
185
|
type: Output
|
|
@@ -150,9 +204,9 @@ class IDPopoverComponent {
|
|
|
150
204
|
showChange = new EventEmitter();
|
|
151
205
|
closed = new EventEmitter();
|
|
152
206
|
opened = new EventEmitter();
|
|
153
|
-
bodyComponent;
|
|
154
|
-
closeComponents;
|
|
155
|
-
triggerEl;
|
|
207
|
+
bodyComponent = contentChild(IDPopoverContentComponent, { descendants: true });
|
|
208
|
+
closeComponents = contentChildren(IDPopoverCloseComponent, { descendants: true });
|
|
209
|
+
triggerEl = viewChild.required('triggerEl');
|
|
156
210
|
document = inject(DOCUMENT);
|
|
157
211
|
appRef = inject(ApplicationRef);
|
|
158
212
|
opener = false;
|
|
@@ -197,19 +251,19 @@ class IDPopoverComponent {
|
|
|
197
251
|
updatePosition(position) {
|
|
198
252
|
clearTimeout(this.updatePositionTimeout);
|
|
199
253
|
this.updatePositionTimeout = setTimeout(() => {
|
|
200
|
-
this.bodyComponent.position = position;
|
|
254
|
+
this.bodyComponent().position = position;
|
|
201
255
|
if (this.isAttached) {
|
|
202
256
|
requestAnimationFrame(() => this.applyPortalPosition());
|
|
203
257
|
}
|
|
204
258
|
}, 0);
|
|
205
259
|
}
|
|
206
260
|
ngAfterContentInit() {
|
|
207
|
-
this.bodyComponent.contentClosed
|
|
261
|
+
this.bodyComponent().contentClosed
|
|
208
262
|
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
209
263
|
.subscribe((event) => {
|
|
210
264
|
this.closePopover(event);
|
|
211
265
|
});
|
|
212
|
-
this.closeComponents.forEach((closeComponent) => {
|
|
266
|
+
this.closeComponents().forEach((closeComponent) => {
|
|
213
267
|
closeComponent.clicked
|
|
214
268
|
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
215
269
|
.subscribe((event) => {
|
|
@@ -234,9 +288,9 @@ class IDPopoverComponent {
|
|
|
234
288
|
}
|
|
235
289
|
}
|
|
236
290
|
focusContent() {
|
|
237
|
-
if (!this.bodyComponent)
|
|
291
|
+
if (!this.bodyComponent())
|
|
238
292
|
return;
|
|
239
|
-
const contentEl = this.bodyComponent.elementRef.nativeElement;
|
|
293
|
+
const contentEl = this.bodyComponent().elementRef.nativeElement;
|
|
240
294
|
const wrapper = contentEl.querySelector('.ids-popover-content__content-wrapper');
|
|
241
295
|
if (wrapper) {
|
|
242
296
|
wrapper.focus({ preventScroll: true });
|
|
@@ -259,7 +313,7 @@ class IDPopoverComponent {
|
|
|
259
313
|
this.focusTriggerContent();
|
|
260
314
|
}
|
|
261
315
|
focusTriggerContent() {
|
|
262
|
-
const trigger = this.triggerEl?.nativeElement;
|
|
316
|
+
const trigger = this.triggerEl()?.nativeElement;
|
|
263
317
|
if (!trigger)
|
|
264
318
|
return;
|
|
265
319
|
const focusable = trigger.querySelector('button, a[href], [tabindex]:not([tabindex="-1"]), input, select, textarea');
|
|
@@ -268,16 +322,16 @@ class IDPopoverComponent {
|
|
|
268
322
|
}
|
|
269
323
|
}
|
|
270
324
|
attachPortal() {
|
|
271
|
-
if (this.isAttached || !this.bodyComponent)
|
|
325
|
+
if (this.isAttached || !this.bodyComponent())
|
|
272
326
|
return;
|
|
273
327
|
this.isAttached = true;
|
|
274
|
-
const contentEl = this.bodyComponent.elementRef.nativeElement;
|
|
328
|
+
const contentEl = this.bodyComponent().elementRef.nativeElement;
|
|
275
329
|
contentEl.style.display = '';
|
|
276
330
|
contentEl.style.opacity = '0';
|
|
277
331
|
const outletEl = this.document.createElement('div');
|
|
278
332
|
this.document.body.appendChild(outletEl);
|
|
279
333
|
this.portalOutlet = new DomPortalOutlet(outletEl, undefined, this.appRef, undefined, this.document);
|
|
280
|
-
this.portalOutlet.attach(new DomPortal(this.bodyComponent.elementRef));
|
|
334
|
+
this.portalOutlet.attach(new DomPortal(this.bodyComponent().elementRef));
|
|
281
335
|
clearTimeout(this.updatePositionTimeout);
|
|
282
336
|
this.updatePositionTimeout = setTimeout(() => {
|
|
283
337
|
requestAnimationFrame(() => {
|
|
@@ -300,8 +354,8 @@ class IDPopoverComponent {
|
|
|
300
354
|
this.portalOutlet.dispose();
|
|
301
355
|
this.portalOutlet = null;
|
|
302
356
|
}
|
|
303
|
-
if (this.bodyComponent) {
|
|
304
|
-
this.bodyComponent.elementRef.nativeElement.style.cssText = 'display:none';
|
|
357
|
+
if (this.bodyComponent()) {
|
|
358
|
+
this.bodyComponent().elementRef.nativeElement.style.cssText = 'display:none';
|
|
305
359
|
}
|
|
306
360
|
}
|
|
307
361
|
calculatePosition(triggerRect, contentRect) {
|
|
@@ -334,10 +388,10 @@ class IDPopoverComponent {
|
|
|
334
388
|
return { top, left };
|
|
335
389
|
}
|
|
336
390
|
applyPortalPosition() {
|
|
337
|
-
if (!this.bodyComponent || !this.triggerEl)
|
|
391
|
+
if (!this.bodyComponent() || !this.triggerEl())
|
|
338
392
|
return;
|
|
339
|
-
const triggerRect = this.triggerEl.nativeElement.getBoundingClientRect();
|
|
340
|
-
const contentEl = this.bodyComponent.elementRef.nativeElement;
|
|
393
|
+
const triggerRect = this.triggerEl().nativeElement.getBoundingClientRect();
|
|
394
|
+
const contentEl = this.bodyComponent().elementRef.nativeElement;
|
|
341
395
|
const { top, left } = this.calculatePosition(triggerRect, contentEl.getBoundingClientRect());
|
|
342
396
|
const window = this.win;
|
|
343
397
|
Object.assign(contentEl.style, {
|
|
@@ -348,7 +402,7 @@ class IDPopoverComponent {
|
|
|
348
402
|
});
|
|
349
403
|
}
|
|
350
404
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDPopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
351
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
405
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.20", type: IDPopoverComponent, isStandalone: true, selector: "id-popover", inputs: { position: "position", category: "category", show: ["show", "show", booleanAttribute] }, outputs: { showChange: "showChange", closed: "closed", opened: "opened" }, host: { classAttribute: "ids-popover" }, queries: [{ propertyName: "bodyComponent", first: true, predicate: IDPopoverContentComponent, descendants: true, isSignal: true }, { propertyName: "closeComponents", predicate: IDPopoverCloseComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "triggerEl", first: true, predicate: ["triggerEl"], descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
352
406
|
<span #triggerEl class="ids-popover-trigger" (click)="togglePopover($event)">
|
|
353
407
|
<ng-content></ng-content>
|
|
354
408
|
</span>
|
|
@@ -383,15 +437,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
383
437
|
type: Output
|
|
384
438
|
}], opened: [{
|
|
385
439
|
type: Output
|
|
386
|
-
}], bodyComponent: [{
|
|
387
|
-
type: ContentChild,
|
|
388
|
-
args: [IDPopoverContentComponent, { descendants: true }]
|
|
389
|
-
}], closeComponents: [{
|
|
390
|
-
type: ContentChildren,
|
|
391
|
-
args: [IDPopoverCloseComponent, { descendants: true }]
|
|
392
|
-
}], triggerEl: [{
|
|
393
|
-
type: ViewChild,
|
|
394
|
-
args: ['triggerEl']
|
|
395
440
|
}] } });
|
|
396
441
|
|
|
397
442
|
class IDPopoverHeaderComponent {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inera-ids-angular-components-popover.mjs","sources":["../../../projects/ids-angular/components/popover/popover-close.component.ts","../../../projects/ids-angular/components/popover/popover-content.component.ts","../../../projects/ids-angular/components/popover/popover.component.ts","../../../projects/ids-angular/components/popover/popover-header.component.ts","../../../projects/ids-angular/components/popover/popover-trigger.component.ts","../../../projects/ids-angular/components/popover/popover.module.ts","../../../projects/ids-angular/components/popover/inera-ids-angular-components-popover.ts"],"sourcesContent":["import { Component, EventEmitter, HostListener, Output } from '@angular/core';\n\n@Component({\n selector: 'id-popover-close',\n standalone: true,\n template: `<ng-content></ng-content>`,\n})\nexport class IDPopoverCloseComponent {\n @Output() clicked = new EventEmitter<Event>();\n\n @HostListener('click')\n onClick = (e:Event) => {\n this.clicked.emit(e);\n }\n}","import { CommonModule } from '@angular/common';\nimport { booleanAttribute, Component, ElementRef, EventEmitter, HostListener, inject, Input, Output } from '@angular/core';\nimport { IDClickOutsideDirective } from '@inera/ids-angular/common';\nimport { A11yModule } from '@angular/cdk/a11y';\n\n@Component({\n selector: 'id-popover-content',\n standalone: true,\n imports: [A11yModule, CommonModule, IDClickOutsideDirective],\n template: `\n <div [cdkTrapFocus]=\"true\" idClickOutside (idClickOutside)=\"onClickedOutside($event)\"\n (keydown.shift.tab)=\"onShiftTab($event)\"\n class=\"ids-popover-content__content-wrapper\"\n tabindex=\"0\"\n [style.maxWidth]=\"maxWidth\"\n [style.maxHeight]=\"maxHeight\">\n <div class=\"ids-popover-content__caret\" [ngClass]=\"caretPositionClass\">\n <span class=\"ids-popover-content__caret-body\" [ngClass]=\"caretPositionClass\"></span>\n <span class=\"ids-popover-content__caret-border\" [ngClass]=\"caretPositionClass\"></span>\n <span class=\"ids-popover-content__caret-shadow\" [ngClass]=\"caretPositionClass\"></span>\n </div>\n <div class=\"ids-popover-content__top-bar\">\n <div class=\"ids-popover-content__close-btn-wrapper\">\n <button (click)=\"contentClosed.emit($event)\" class=\"ids-popover-content__close-btn\" [attr.aria-label]=\"srCloseText\"></button>\n </div>\n </div>\n <div class=\"ids-popover-content__content-wrapper-inner\">\n <ng-content select=\"id-popover-header\"></ng-content>\n <ng-content></ng-content>\n </div>\n </div>`,\n host: {\n '[class]': 'hostClasses',\n 'style': 'display: none',\n }\n})\nexport class IDPopoverContentComponent {\n\n public elementRef = inject(ElementRef);\n\n @Output()\n contentClosed: EventEmitter<Event> = new EventEmitter<Event>();\n\n position = 'bottom';\n\n @Input({transform: booleanAttribute}) closeOnBlur = false;\n @Input() maxHeight = '260px';\n @Input() maxWidth = '260px';\n @Input() srCloseText = 'Stäng';\n\n get contentMaxHeight() {\n return `calc(${this.maxHeight} - 40px)`\n }\n\n onClickedOutside(event: Event) {\n if(this.closeOnBlur) {\n this.contentClosed.emit(event)\n }\n }\n\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n this.contentClosed.emit(event);\n }\n }\n\n onShiftTab(event: Event) {\n const wrapper = this.elementRef.nativeElement.querySelector('.ids-popover-content__content-wrapper');\n if (document.activeElement !== wrapper && !wrapper?.contains(document.activeElement)) return;\n if (document.activeElement === wrapper) {\n event.preventDefault();\n const focusable = wrapper.querySelectorAll('a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])') as NodeListOf<HTMLElement>;\n const last = Array.from(focusable).filter(el => el !== wrapper).pop();\n if (last) {\n last.focus();\n }\n }\n }\n\n\n get caretPositionClass() {\n return `ids-popover-content__caret--${this.position}`;\n }\n\n get hostClasses(): string {\n return `ids-popover-content ids-popover-content--${this.position}`;\n }\n}\n","import { AfterContentInit, ApplicationRef, booleanAttribute, Component, ContentChild, ContentChildren, DestroyRef, effect, ElementRef, EventEmitter, inject, Input, OnChanges, OnDestroy, Output, QueryList, SimpleChanges, ViewChild } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { DomPortal, DomPortalOutlet } from '@angular/cdk/portal';\nimport { IDPopoverCloseComponent } from './popover-close.component';\nimport { IDPopoverContentComponent } from './popover-content.component';\nimport { IDTooltipCategoryService } from '@inera/ids-angular/common';\n\n@Component({\n selector: 'id-popover',\n standalone: true,\n template: `\n <span #triggerEl class=\"ids-popover-trigger\" (click)=\"togglePopover($event)\">\n <ng-content></ng-content>\n </span>\n <ng-content select=\"id-popover-content\"></ng-content>\n `,\n host: {\n class: 'ids-popover'\n }\n})\nexport class IDPopoverComponent implements AfterContentInit, OnChanges, OnDestroy {\n @Input() position:\n | 'top'\n | 'top-left'\n | 'top-right'\n | 'right'\n | 'right-top'\n | 'right-bottom'\n | 'bottom'\n | 'bottom-left'\n | 'bottom-right'\n | 'left'\n | 'left-top'\n | 'left-bottom' = 'bottom';\n\n @Input() category = '';\n @Input({transform: booleanAttribute}) show: boolean = false;\n @Output() showChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n \n @Output() closed: EventEmitter<Event> = new EventEmitter();\n @Output() opened: EventEmitter<Event> = new EventEmitter();\n\n @ContentChild(IDPopoverContentComponent, { descendants:true })\n bodyComponent: IDPopoverContentComponent;\n\n @ContentChildren(IDPopoverCloseComponent, { descendants: true })\n closeComponents: QueryList<IDPopoverCloseComponent>;\n\n @ViewChild('triggerEl') triggerEl: ElementRef<HTMLElement>;\n\n private document = inject(DOCUMENT);\n private appRef = inject(ApplicationRef);\n private opener = false;\n private categoryCollection = inject(IDTooltipCategoryService);\n private destroyRef = inject(DestroyRef);\n private updatePositionTimeout?: ReturnType<typeof setTimeout>;\n private isAttached = false;\n private openedViaTrigger = false;\n private portalOutlet: DomPortalOutlet | null = null;\n\n private readonly GAP = 4;\n private readonly CARET_SIZE = 8;\n\n private resizeHandler = () => this.applyPortalPosition();\n\n private get win(): Window {\n return this.document.defaultView || window;\n }\n\n constructor() {\n effect(() => {\n const categoryToClose = this.categoryCollection.closeCategory();\n if (!categoryToClose || categoryToClose !== this.category) return;\n if (this.opener) {\n this.opener = false;\n return;\n }\n this.detachPortal();\n this.show = false;\n });\n }\n \n ngOnChanges(changes: SimpleChanges): void {\n if (changes['position']) {\n this.updatePosition(changes['position'].currentValue);\n }\n if (changes['show'] && !changes['show'].firstChange) {\n if (changes['show'].currentValue) {\n this.attachPortal();\n } else {\n this.detachPortal();\n }\n }\n }\n\n private updatePosition(position: string) {\n clearTimeout(this.updatePositionTimeout);\n this.updatePositionTimeout = setTimeout(() => {\n this.bodyComponent.position = position;\n if (this.isAttached) {\n requestAnimationFrame(() => this.applyPortalPosition());\n }\n }, 0);\n }\n\n ngAfterContentInit(): void {\n this.bodyComponent.contentClosed\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((event: Event) => {\n this.closePopover(event);\n });\n this.closeComponents.forEach((closeComponent) => {\n closeComponent.clicked\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((event: Event) => {\n this.closePopover(event);\n });\n });\n\n if (this.show) {\n this.attachPortal();\n }\n }\n\n ngOnDestroy(): void {\n clearTimeout(this.updatePositionTimeout);\n this.detachPortal();\n }\n\n togglePopover(e: Event) {\n e.preventDefault();\n if (this.show) {\n this.closePopover(e);\n } else {\n this.showPopover(e);\n }\n }\n\n private focusContent(): void {\n if (!this.bodyComponent) return;\n const contentEl = this.bodyComponent.elementRef.nativeElement;\n const wrapper = contentEl.querySelector('.ids-popover-content__content-wrapper') as HTMLElement | null;\n if (wrapper) {\n wrapper.focus({ preventScroll: true });\n }\n }\n \n showPopover(event: Event):void {\n this.opener = true;\n this.openedViaTrigger = true;\n this.categoryCollection.requestClose(this.category);\n this.show = true;\n this.showChange.emit(this.show);\n this.attachPortal();\n this.opened.emit(event);\n }\n\n closePopover(event: Event):void {\n this.detachPortal();\n this.show = false;\n this.showChange.emit(this.show);\n this.closed.emit(event);\n this.focusTriggerContent();\n }\n\n private focusTriggerContent(): void {\n const trigger = this.triggerEl?.nativeElement;\n if (!trigger) return;\n const focusable = trigger.querySelector<HTMLElement>('button, a[href], [tabindex]:not([tabindex=\"-1\"]), input, select, textarea');\n if (focusable) {\n focusable.focus();\n }\n }\n\n private attachPortal(): void {\n if (this.isAttached || !this.bodyComponent) return;\n this.isAttached = true;\n\n const contentEl = this.bodyComponent.elementRef.nativeElement;\n contentEl.style.display = '';\n contentEl.style.opacity = '0';\n\n const outletEl = this.document.createElement('div');\n this.document.body.appendChild(outletEl);\n this.portalOutlet = new DomPortalOutlet(outletEl, undefined, this.appRef, undefined, this.document);\n this.portalOutlet.attach(new DomPortal(this.bodyComponent.elementRef));\n\n clearTimeout(this.updatePositionTimeout);\n this.updatePositionTimeout = setTimeout(() => {\n requestAnimationFrame(() => {\n this.applyPortalPosition();\n contentEl.style.opacity = '';\n if (this.openedViaTrigger) {\n this.focusContent();\n this.openedViaTrigger = false;\n }\n });\n }, 100);\n\n this.win.addEventListener('resize', this.resizeHandler);\n }\n\n private detachPortal(): void {\n if (!this.isAttached) return;\n this.isAttached = false;\n\n this.win.removeEventListener('resize', this.resizeHandler);\n\n if (this.portalOutlet) {\n this.portalOutlet.dispose();\n this.portalOutlet = null;\n }\n\n if (this.bodyComponent) {\n this.bodyComponent.elementRef.nativeElement.style.cssText = 'display:none';\n }\n }\n\n private calculatePosition(triggerRect: DOMRect, contentRect: DOMRect): { top: number; left: number } {\n const offset = this.GAP + this.CARET_SIZE;\n const pos = this.position;\n const centerY = triggerRect.top + triggerRect.height / 2 - contentRect.height / 2;\n const centerX = triggerRect.left + triggerRect.width / 2 - contentRect.width / 2;\n\n let top: number;\n if (pos.startsWith('top')) top = triggerRect.top - contentRect.height - offset;\n else if (pos.startsWith('bottom')) top = triggerRect.bottom + offset;\n else if (pos.endsWith('-top')) top = triggerRect.bottom - contentRect.height;\n else if (pos.endsWith('-bottom')) top = triggerRect.top;\n else top = centerY;\n\n let left: number;\n if (pos.startsWith('left')) left = triggerRect.left - contentRect.width - offset;\n else if (pos.startsWith('right')) left = triggerRect.right + offset;\n else if (pos.endsWith('-left')) left = triggerRect.left;\n else if (pos.endsWith('-right')) left = triggerRect.right - contentRect.width;\n else left = centerX;\n\n return { top, left };\n }\n\n private applyPortalPosition(): void {\n if (!this.bodyComponent || !this.triggerEl) return;\n\n const triggerRect = this.triggerEl.nativeElement.getBoundingClientRect();\n const contentEl = this.bodyComponent.elementRef.nativeElement;\n const { top, left } = this.calculatePosition(triggerRect, contentEl.getBoundingClientRect());\n const window = this.win;\n\n Object.assign(contentEl.style, {\n position: 'absolute',\n top: `${top + window.scrollY}px`,\n left: `${left + window.scrollX}px`,\n bottom: 'auto', right: 'auto', transform: 'none', zIndex: '9999',\n });\n }\n}","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-popover-header',\n standalone: true,\n template: `<ng-content></ng-content>`,\n host: {\n class: 'ids-popover-content__headline'\n }\n})\nexport class IDPopoverHeaderComponent {}","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-popover-trigger',\n standalone: true,\n template: `<ng-content></ng-content>`,\n})\nexport class IDPopoverTriggerComponent {}","import { NgModule } from '@angular/core';\n\nimport { IDPopoverComponent } from './popover.component';\nimport { IDPopoverHeaderComponent } from './popover-header.component';\nimport { IDPopoverContentComponent } from './popover-content.component';\nimport { IDPopoverTriggerComponent } from './popover-trigger.component';\nimport { IDPopoverCloseComponent } from './popover-close.component';\n\n\n@NgModule({\n imports: [\n IDPopoverComponent,\n IDPopoverHeaderComponent,\n IDPopoverContentComponent,\n IDPopoverTriggerComponent,\n IDPopoverCloseComponent\n ],\n exports: [\n IDPopoverComponent,\n IDPopoverHeaderComponent,\n IDPopoverContentComponent,\n IDPopoverTriggerComponent,\n IDPopoverCloseComponent\n ],\n})\nexport class IDPopoverModule {}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;MAOa,uBAAuB,CAAA;AACxB,IAAA,OAAO,GAAG,IAAI,YAAY,EAAS;AAG7C,IAAA,OAAO,GAAG,CAAC,CAAO,KAAI;AACpB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACtB,IAAA,CAAC;wGANU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,4JAFxB,CAAA,yBAAA,CAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAE1B,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA,yBAAA,CAA2B;AACtC,iBAAA;8BAEW,OAAO,EAAA,CAAA;sBAAhB;gBAGD,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,OAAO;;;MC0BV,yBAAyB,CAAA;AAE7B,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAGtC,IAAA,aAAa,GAAwB,IAAI,YAAY,EAAS;IAE9D,QAAQ,GAAG,QAAQ;IAEmB,WAAW,GAAG,KAAK;IAChD,SAAS,GAAG,OAAO;IACnB,QAAQ,GAAG,OAAO;IAClB,WAAW,GAAG,OAAO;AAE9B,IAAA,IAAI,gBAAgB,GAAA;AAClB,QAAA,OAAO,CAAA,KAAA,EAAQ,IAAI,CAAC,SAAS,UAAU;IACzC;AAEA,IAAA,gBAAgB,CAAC,KAAY,EAAA;AAC3B,QAAA,IAAG,IAAI,CAAC,WAAW,EAAE;AACnB,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;QAChC;IACF;AAGA,IAAA,SAAS,CAAC,KAAoB,EAAA;AAC5B,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;AAC1B,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;QAChC;IACF;AAEA,IAAA,UAAU,CAAC,KAAY,EAAA;AACrB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,uCAAuC,CAAC;AACpG,QAAA,IAAI,QAAQ,CAAC,aAAa,KAAK,OAAO,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;YAAE;AACtF,QAAA,IAAI,QAAQ,CAAC,aAAa,KAAK,OAAO,EAAE;YACtC,KAAK,CAAC,cAAc,EAAE;YACtB,MAAM,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC,2IAA2I,CAA4B;YAClN,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,OAAO,CAAC,CAAC,GAAG,EAAE;YACrE,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,KAAK,EAAE;YACd;QACF;IACF;AAGA,IAAA,IAAI,kBAAkB,GAAA;AACpB,QAAA,OAAO,CAAA,4BAAA,EAA+B,IAAI,CAAC,QAAQ,EAAE;IACvD;AAEA,IAAA,IAAI,WAAW,GAAA;AACb,QAAA,OAAO,CAAA,yCAAA,EAA4C,IAAI,CAAC,QAAQ,EAAE;IACpE;wGAnDW,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EASjB,gBAAgB,CAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,aAAA,EAAA,EAAA,cAAA,EAAA,eAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EApCzB;;;;;;;;;;;;;;;;;;;;;AAqBH,QAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAtBG,UAAU,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,yBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,uBAAuB,EAAA,QAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FA4BhD,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBA/BrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,uBAAuB,CAAC;AAC5D,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;AAqBH,QAAA,CAAA;AACP,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,aAAa;AACxB,wBAAA,OAAO,EAAE,eAAe;AACzB;AACF,iBAAA;8BAMC,aAAa,EAAA,CAAA;sBADZ;gBAKqC,WAAW,EAAA,CAAA;sBAAhD,KAAK;uBAAC,EAAC,SAAS,EAAE,gBAAgB,EAAC;gBAC3B,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBAaD,SAAS,EAAA,CAAA;sBADR,YAAY;uBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;;;MCvCxB,kBAAkB,CAAA;IACpB,QAAQ,GAYG,QAAQ;IAEnB,QAAQ,GAAG,EAAE;IACgB,IAAI,GAAY,KAAK;AACjD,IAAA,UAAU,GAA0B,IAAI,YAAY,EAAW;AAE/D,IAAA,MAAM,GAAwB,IAAI,YAAY,EAAE;AAChD,IAAA,MAAM,GAAwB,IAAI,YAAY,EAAE;AAG1D,IAAA,aAAa;AAGb,IAAA,eAAe;AAES,IAAA,SAAS;AAEzB,IAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,IAAA,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC;IAC/B,MAAM,GAAG,KAAK;AACd,IAAA,kBAAkB,GAAG,MAAM,CAAC,wBAAwB,CAAC;AACrD,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAC/B,IAAA,qBAAqB;IACrB,UAAU,GAAG,KAAK;IAClB,gBAAgB,GAAG,KAAK;IACxB,YAAY,GAA2B,IAAI;IAElC,GAAG,GAAG,CAAC;IACP,UAAU,GAAG,CAAC;IAEvB,aAAa,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE;AAExD,IAAA,IAAY,GAAG,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,MAAM;IAC5C;AAEA,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,MAAK;YACV,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE;AAC/D,YAAA,IAAI,CAAC,eAAe,IAAI,eAAe,KAAK,IAAI,CAAC,QAAQ;gBAAE;AAC3D,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,gBAAA,IAAI,CAAC,MAAM,GAAG,KAAK;gBACnB;YACF;YACA,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,IAAI,CAAC,IAAI,GAAG,KAAK;AACnB,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC;QACvD;AACA,QAAA,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE;AACnD,YAAA,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE;gBAChC,IAAI,CAAC,YAAY,EAAE;YACrB;iBAAO;gBACL,IAAI,CAAC,YAAY,EAAE;YACrB;QACF;IACF;AAEQ,IAAA,cAAc,CAAC,QAAgB,EAAA;AACrC,QAAA,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC;AACxC,QAAA,IAAI,CAAC,qBAAqB,GAAG,UAAU,CAAC,MAAK;AAC3C,YAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,QAAQ;AACtC,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,qBAAqB,CAAC,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzD;QACF,CAAC,EAAE,CAAC,CAAC;IACP;IAEA,kBAAkB,GAAA;QAChB,IAAI,CAAC,aAAa,CAAC;AAChB,aAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,aAAA,SAAS,CAAC,CAAC,KAAY,KAAI;AAC1B,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;AAC1B,QAAA,CAAC,CAAC;QACJ,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,cAAc,KAAI;AAC9C,YAAA,cAAc,CAAC;AACZ,iBAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,iBAAA,SAAS,CAAC,CAAC,KAAY,KAAI;AAC1B,gBAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;AAC1B,YAAA,CAAC,CAAC;AACN,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,YAAY,EAAE;QACrB;IACF;IAEA,WAAW,GAAA;AACT,QAAA,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC;QACxC,IAAI,CAAC,YAAY,EAAE;IACrB;AAEA,IAAA,aAAa,CAAC,CAAQ,EAAA;QACpB,CAAC,CAAC,cAAc,EAAE;AAClB,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,YAAA,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QACtB;aAAO;AACL,YAAA,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACrB;IACF;IAEQ,YAAY,GAAA;QAClB,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,aAAa;QAC7D,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CAAC,uCAAuC,CAAuB;QACtG,IAAI,OAAO,EAAE;YACX,OAAO,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QACxC;IACF;AAEA,IAAA,WAAW,CAAC,KAAY,EAAA;AACtB,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI;AAClB,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI;QAC5B,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;AACnD,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;QAChB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC/B,IAAI,CAAC,YAAY,EAAE;AACnB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IACzB;AAEA,IAAA,YAAY,CAAC,KAAY,EAAA;QACvB,IAAI,CAAC,YAAY,EAAE;AACnB,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK;QACjB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AAC/B,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,mBAAmB,EAAE;IAC5B;IAEQ,mBAAmB,GAAA;AACzB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa;AAC7C,QAAA,IAAI,CAAC,OAAO;YAAE;QACd,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAc,2EAA2E,CAAC;QACjI,IAAI,SAAS,EAAE;YACb,SAAS,CAAC,KAAK,EAAE;QACnB;IACF;IAEQ,YAAY,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE;AAC5C,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;QAEtB,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,aAAa;AAC7D,QAAA,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE;AAC5B,QAAA,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG;QAE7B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;QACxC,IAAI,CAAC,YAAY,GAAG,IAAI,eAAe,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC;AACnG,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;AAEtE,QAAA,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC;AACxC,QAAA,IAAI,CAAC,qBAAqB,GAAG,UAAU,CAAC,MAAK;YAC3C,qBAAqB,CAAC,MAAK;gBACzB,IAAI,CAAC,mBAAmB,EAAE;AAC1B,gBAAA,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE;AAC5B,gBAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;oBACzB,IAAI,CAAC,YAAY,EAAE;AACnB,oBAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK;gBAC/B;AACF,YAAA,CAAC,CAAC;QACJ,CAAC,EAAE,GAAG,CAAC;QAEP,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC;IACzD;IAEQ,YAAY,GAAA;QAClB,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE;AACtB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK;QAEvB,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC;AAE1D,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;AAC3B,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI;QAC1B;AAEA,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,cAAc;QAC5E;IACF;IAEQ,iBAAiB,CAAC,WAAoB,EAAE,WAAoB,EAAA;QAClE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU;AACzC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ;AACzB,QAAA,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC;AACjF,QAAA,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC;AAEhF,QAAA,IAAI,GAAW;AACf,QAAA,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,GAAG,GAAG,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,MAAM;AACzE,aAAA,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC;AAAE,YAAA,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,MAAM;AAC/D,aAAA,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM;AACvE,aAAA,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;AAAE,YAAA,GAAG,GAAG,WAAW,CAAC,GAAG;;YAClD,GAAG,GAAG,OAAO;AAElB,QAAA,IAAI,IAAY;AAChB,QAAA,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,IAAI,GAAG,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,MAAM;AAC3E,aAAA,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;AAAE,YAAA,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,MAAM;AAC9D,aAAA,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC;AAAE,YAAA,IAAI,GAAG,WAAW,CAAC,IAAI;AAClD,aAAA,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK;;YACxE,IAAI,GAAG,OAAO;AAEnB,QAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE;IACtB;IAEQ,mBAAmB,GAAA;QACzB,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE;QAE5C,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,qBAAqB,EAAE;QACxE,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,aAAa;AAC7D,QAAA,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,SAAS,CAAC,qBAAqB,EAAE,CAAC;AAC5F,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG;AAEvB,QAAA,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE;AAC7B,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,GAAG,EAAE,CAAA,EAAG,GAAG,GAAG,MAAM,CAAC,OAAO,CAAA,EAAA,CAAI;AAChC,YAAA,IAAI,EAAE,CAAA,EAAG,IAAI,GAAG,MAAM,CAAC,OAAO,CAAA,EAAA,CAAI;AAClC,YAAA,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;AACjE,SAAA,CAAC;IACJ;wGA3OW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,2HAgBV,gBAAgB,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAMrB,yBAAyB,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,SAAA,EAGtB,uBAAuB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAnC9B;;;;;AAKT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAKU,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAb9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE;;;;;AAKT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE;AACR;AACF,iBAAA;wDAEU,QAAQ,EAAA,CAAA;sBAAhB;gBAcQ,QAAQ,EAAA,CAAA;sBAAhB;gBACqC,IAAI,EAAA,CAAA;sBAAzC,KAAK;uBAAC,EAAC,SAAS,EAAE,gBAAgB,EAAC;gBAC1B,UAAU,EAAA,CAAA;sBAAnB;gBAES,MAAM,EAAA,CAAA;sBAAf;gBACS,MAAM,EAAA,CAAA;sBAAf;gBAGD,aAAa,EAAA,CAAA;sBADZ,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,yBAAyB,EAAE,EAAE,WAAW,EAAC,IAAI,EAAE;gBAI7D,eAAe,EAAA,CAAA;sBADd,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,uBAAuB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;gBAGvC,SAAS,EAAA,CAAA;sBAAhC,SAAS;uBAAC,WAAW;;;MCvCX,wBAAwB,CAAA;wGAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAxB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,wIALzB,CAAA,yBAAA,CAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAK1B,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBARpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA,yBAAA,CAA2B;AACrC,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE;AACR;AACF,iBAAA;;;MCFY,yBAAyB,CAAA;wGAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAzB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,8EAF1B,CAAA,yBAAA,CAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAE1B,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA,yBAAA,CAA2B;AACtC,iBAAA;;;MCmBY,eAAe,CAAA;wGAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAdxB,kBAAkB;YAClB,wBAAwB;YACxB,yBAAyB;YACzB,yBAAyB;AACzB,YAAA,uBAAuB,aAGvB,kBAAkB;YAClB,wBAAwB;YACxB,yBAAyB;YACzB,yBAAyB;YACzB,uBAAuB,CAAA,EAAA,CAAA;AAGd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAZxB,yBAAyB,CAAA,EAAA,CAAA;;4FAYhB,eAAe,EAAA,UAAA,EAAA,CAAA;kBAhB3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,kBAAkB;wBAClB,wBAAwB;wBACxB,yBAAyB;wBACzB,yBAAyB;wBACzB;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,kBAAkB;wBAClB,wBAAwB;wBACxB,yBAAyB;wBACzB,yBAAyB;wBACzB;AACD,qBAAA;AACF,iBAAA;;;ACxBD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"inera-ids-angular-components-popover.mjs","sources":["../../../projects/ids-angular/components/popover/popover-close.component.ts","../../../projects/ids-angular/components/popover/popover-content.component.ts","../../../projects/ids-angular/components/popover/popover.component.ts","../../../projects/ids-angular/components/popover/popover-header.component.ts","../../../projects/ids-angular/components/popover/popover-trigger.component.ts","../../../projects/ids-angular/components/popover/popover.module.ts","../../../projects/ids-angular/components/popover/inera-ids-angular-components-popover.ts"],"sourcesContent":["import { Component, EventEmitter, HostListener, Output } from '@angular/core';\n\n@Component({\n selector: 'id-popover-close',\n standalone: true,\n template: `<ng-content></ng-content>`,\n})\nexport class IDPopoverCloseComponent {\n @Output() clicked = new EventEmitter<Event>();\n\n @HostListener('click')\n onClick = (e:Event) => {\n this.clicked.emit(e);\n }\n}","import { CommonModule } from '@angular/common';\nimport {\n booleanAttribute,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n inject,\n Input,\n Output,\n} from '@angular/core';\nimport { IDClickOutsideDirective } from '@inera/ids-angular/common';\nimport { A11yModule } from '@angular/cdk/a11y';\n\n@Component({\n selector: 'id-popover-content',\n standalone: true,\n imports: [A11yModule, CommonModule, IDClickOutsideDirective],\n template: `\n <div\n [cdkTrapFocus]=\"true\"\n idClickOutside\n (idClickOutside)=\"onClickedOutside($event)\"\n (keydown.shift.tab)=\"onShiftTab($event)\"\n class=\"ids-popover-content__content-wrapper\"\n tabindex=\"0\"\n [style.maxWidth]=\"maxWidth\"\n [style.maxHeight]=\"maxHeight\"\n >\n <div\n class=\"ids-popover-content__caret\"\n [ngClass]=\"caretPositionClass\"\n >\n <span\n class=\"ids-popover-content__caret-body\"\n [ngClass]=\"caretPositionClass\"\n ></span>\n <span\n class=\"ids-popover-content__caret-border\"\n [ngClass]=\"caretPositionClass\"\n ></span>\n <span\n class=\"ids-popover-content__caret-shadow\"\n [ngClass]=\"caretPositionClass\"\n ></span>\n </div>\n <div class=\"ids-popover-content__top-bar\">\n <div class=\"ids-popover-content__close-btn-wrapper\">\n <button\n class=\"ids-popover-content__close-btn\"\n (click)=\"contentClosed.emit($event)\"\n [attr.aria-label]=\"srCloseText\"\n >\n <span\n class=\"ids-icon-close\"\n aria-hidden\n ></span>\n </button>\n </div>\n </div>\n <div class=\"ids-popover-content__content-wrapper-inner\">\n <ng-content select=\"id-popover-header\"></ng-content>\n <ng-content></ng-content>\n </div>\n </div>\n `,\n host: {\n '[class]': 'hostClasses',\n style: 'display: none',\n },\n})\nexport class IDPopoverContentComponent {\n public elementRef = inject(ElementRef);\n\n @Output()\n contentClosed: EventEmitter<Event> = new EventEmitter<Event>();\n\n position = 'bottom';\n\n @Input({ transform: booleanAttribute }) closeOnBlur = false;\n @Input() maxHeight = '260px';\n @Input() maxWidth = '260px';\n @Input() srCloseText = 'Stäng';\n\n get contentMaxHeight() {\n return `calc(${this.maxHeight} - 40px)`;\n }\n\n onClickedOutside(event: Event) {\n if (this.closeOnBlur) {\n this.contentClosed.emit(event);\n }\n }\n\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n this.contentClosed.emit(event);\n }\n }\n\n onShiftTab(event: Event) {\n const wrapper = this.elementRef.nativeElement.querySelector(\n '.ids-popover-content__content-wrapper',\n );\n if (document.activeElement !== wrapper && !wrapper?.contains(document.activeElement)) return;\n if (document.activeElement === wrapper) {\n event.preventDefault();\n const focusable = wrapper.querySelectorAll(\n 'a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])',\n ) as NodeListOf<HTMLElement>;\n const last = Array.from(focusable)\n .filter((el) => el !== wrapper)\n .pop();\n if (last) {\n last.focus();\n }\n }\n }\n\n get caretPositionClass() {\n return `ids-popover-content__caret--${this.position}`;\n }\n\n get hostClasses(): string {\n return `ids-popover-content ids-popover-content--${this.position}`;\n }\n}\n","import { AfterContentInit, ApplicationRef, booleanAttribute, Component, DestroyRef, effect, ElementRef, EventEmitter, inject, Input, OnChanges, OnDestroy, Output, SimpleChanges, viewChild, contentChild, contentChildren } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { DomPortal, DomPortalOutlet } from '@angular/cdk/portal';\nimport { IDPopoverCloseComponent } from './popover-close.component';\nimport { IDPopoverContentComponent } from './popover-content.component';\nimport { IDTooltipCategoryService } from '@inera/ids-angular/common';\n\n@Component({\n selector: 'id-popover',\n standalone: true,\n template: `\n <span #triggerEl class=\"ids-popover-trigger\" (click)=\"togglePopover($event)\">\n <ng-content></ng-content>\n </span>\n <ng-content select=\"id-popover-content\"></ng-content>\n `,\n host: {\n class: 'ids-popover'\n }\n})\nexport class IDPopoverComponent implements AfterContentInit, OnChanges, OnDestroy {\n @Input() position:\n | 'top'\n | 'top-left'\n | 'top-right'\n | 'right'\n | 'right-top'\n | 'right-bottom'\n | 'bottom'\n | 'bottom-left'\n | 'bottom-right'\n | 'left'\n | 'left-top'\n | 'left-bottom' = 'bottom';\n\n @Input() category = '';\n @Input({transform: booleanAttribute}) show: boolean = false;\n @Output() showChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n \n @Output() closed: EventEmitter<Event> = new EventEmitter();\n @Output() opened: EventEmitter<Event> = new EventEmitter();\n\n bodyComponent = contentChild(IDPopoverContentComponent, { descendants:true });\n\n closeComponents = contentChildren(IDPopoverCloseComponent, { descendants: true });\n\n triggerEl = viewChild.required<ElementRef<HTMLElement>>('triggerEl');\n\n private document = inject(DOCUMENT);\n private appRef = inject(ApplicationRef);\n private opener = false;\n private categoryCollection = inject(IDTooltipCategoryService);\n private destroyRef = inject(DestroyRef);\n private updatePositionTimeout?: ReturnType<typeof setTimeout>;\n private isAttached = false;\n private openedViaTrigger = false;\n private portalOutlet: DomPortalOutlet | null = null;\n\n private readonly GAP = 4;\n private readonly CARET_SIZE = 8;\n\n private resizeHandler = () => this.applyPortalPosition();\n\n private get win(): Window {\n return this.document.defaultView || window;\n }\n\n constructor() {\n effect(() => {\n const categoryToClose = this.categoryCollection.closeCategory();\n if (!categoryToClose || categoryToClose !== this.category) return;\n if (this.opener) {\n this.opener = false;\n return;\n }\n this.detachPortal();\n this.show = false;\n });\n }\n \n ngOnChanges(changes: SimpleChanges): void {\n if (changes['position']) {\n this.updatePosition(changes['position'].currentValue);\n }\n if (changes['show'] && !changes['show'].firstChange) {\n if (changes['show'].currentValue) {\n this.attachPortal();\n } else {\n this.detachPortal();\n }\n }\n }\n\n private updatePosition(position: string) {\n clearTimeout(this.updatePositionTimeout);\n this.updatePositionTimeout = setTimeout(() => {\n this.bodyComponent()!.position = position;\n if (this.isAttached) {\n requestAnimationFrame(() => this.applyPortalPosition());\n }\n }, 0);\n }\n\n ngAfterContentInit(): void {\n this.bodyComponent()!.contentClosed\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((event: Event) => {\n this.closePopover(event);\n });\n this.closeComponents().forEach((closeComponent) => {\n closeComponent.clicked\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((event: Event) => {\n this.closePopover(event);\n });\n });\n\n if (this.show) {\n this.attachPortal();\n }\n }\n\n ngOnDestroy(): void {\n clearTimeout(this.updatePositionTimeout);\n this.detachPortal();\n }\n\n togglePopover(e: Event) {\n e.preventDefault();\n if (this.show) {\n this.closePopover(e);\n } else {\n this.showPopover(e);\n }\n }\n\n private focusContent(): void {\n if (!this.bodyComponent()) return;\n const contentEl = this.bodyComponent()!.elementRef.nativeElement;\n const wrapper = contentEl.querySelector('.ids-popover-content__content-wrapper') as HTMLElement | null;\n if (wrapper) {\n wrapper.focus({ preventScroll: true });\n }\n }\n \n showPopover(event: Event):void {\n this.opener = true;\n this.openedViaTrigger = true;\n this.categoryCollection.requestClose(this.category);\n this.show = true;\n this.showChange.emit(this.show);\n this.attachPortal();\n this.opened.emit(event);\n }\n\n closePopover(event: Event):void {\n this.detachPortal();\n this.show = false;\n this.showChange.emit(this.show);\n this.closed.emit(event);\n this.focusTriggerContent();\n }\n\n private focusTriggerContent(): void {\n const trigger = this.triggerEl()?.nativeElement;\n if (!trigger) return;\n const focusable = trigger.querySelector<HTMLElement>('button, a[href], [tabindex]:not([tabindex=\"-1\"]), input, select, textarea');\n if (focusable) {\n focusable.focus();\n }\n }\n\n private attachPortal(): void {\n if (this.isAttached || !this.bodyComponent()) return;\n this.isAttached = true;\n\n const contentEl = this.bodyComponent()!.elementRef.nativeElement;\n contentEl.style.display = '';\n contentEl.style.opacity = '0';\n\n const outletEl = this.document.createElement('div');\n this.document.body.appendChild(outletEl);\n this.portalOutlet = new DomPortalOutlet(outletEl, undefined, this.appRef, undefined, this.document);\n this.portalOutlet.attach(new DomPortal(this.bodyComponent()!.elementRef));\n\n clearTimeout(this.updatePositionTimeout);\n this.updatePositionTimeout = setTimeout(() => {\n requestAnimationFrame(() => {\n this.applyPortalPosition();\n contentEl.style.opacity = '';\n if (this.openedViaTrigger) {\n this.focusContent();\n this.openedViaTrigger = false;\n }\n });\n }, 100);\n\n this.win.addEventListener('resize', this.resizeHandler);\n }\n\n private detachPortal(): void {\n if (!this.isAttached) return;\n this.isAttached = false;\n\n this.win.removeEventListener('resize', this.resizeHandler);\n\n if (this.portalOutlet) {\n this.portalOutlet.dispose();\n this.portalOutlet = null;\n }\n\n if (this.bodyComponent()) {\n this.bodyComponent()!.elementRef.nativeElement.style.cssText = 'display:none';\n }\n }\n\n private calculatePosition(triggerRect: DOMRect, contentRect: DOMRect): { top: number; left: number } {\n const offset = this.GAP + this.CARET_SIZE;\n const pos = this.position;\n const centerY = triggerRect.top + triggerRect.height / 2 - contentRect.height / 2;\n const centerX = triggerRect.left + triggerRect.width / 2 - contentRect.width / 2;\n\n let top: number;\n if (pos.startsWith('top')) top = triggerRect.top - contentRect.height - offset;\n else if (pos.startsWith('bottom')) top = triggerRect.bottom + offset;\n else if (pos.endsWith('-top')) top = triggerRect.bottom - contentRect.height;\n else if (pos.endsWith('-bottom')) top = triggerRect.top;\n else top = centerY;\n\n let left: number;\n if (pos.startsWith('left')) left = triggerRect.left - contentRect.width - offset;\n else if (pos.startsWith('right')) left = triggerRect.right + offset;\n else if (pos.endsWith('-left')) left = triggerRect.left;\n else if (pos.endsWith('-right')) left = triggerRect.right - contentRect.width;\n else left = centerX;\n\n return { top, left };\n }\n\n private applyPortalPosition(): void {\n if (!this.bodyComponent() || !this.triggerEl()) return;\n\n const triggerRect = this.triggerEl()!.nativeElement.getBoundingClientRect();\n const contentEl = this.bodyComponent()!.elementRef.nativeElement;\n const { top, left } = this.calculatePosition(triggerRect, contentEl.getBoundingClientRect());\n const window = this.win;\n\n Object.assign(contentEl.style, {\n position: 'absolute',\n top: `${top + window.scrollY}px`,\n left: `${left + window.scrollX}px`,\n bottom: 'auto', right: 'auto', transform: 'none', zIndex: '9999',\n });\n }\n}","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-popover-header',\n standalone: true,\n template: `<ng-content></ng-content>`,\n host: {\n class: 'ids-popover-content__headline'\n }\n})\nexport class IDPopoverHeaderComponent {}","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-popover-trigger',\n standalone: true,\n template: `<ng-content></ng-content>`,\n})\nexport class IDPopoverTriggerComponent {}","import { NgModule } from '@angular/core';\n\nimport { IDPopoverComponent } from './popover.component';\nimport { IDPopoverHeaderComponent } from './popover-header.component';\nimport { IDPopoverContentComponent } from './popover-content.component';\nimport { IDPopoverTriggerComponent } from './popover-trigger.component';\nimport { IDPopoverCloseComponent } from './popover-close.component';\n\n\n@NgModule({\n imports: [\n IDPopoverComponent,\n IDPopoverHeaderComponent,\n IDPopoverContentComponent,\n IDPopoverTriggerComponent,\n IDPopoverCloseComponent\n ],\n exports: [\n IDPopoverComponent,\n IDPopoverHeaderComponent,\n IDPopoverContentComponent,\n IDPopoverTriggerComponent,\n IDPopoverCloseComponent\n ],\n})\nexport class IDPopoverModule {}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;MAOa,uBAAuB,CAAA;AACxB,IAAA,OAAO,GAAG,IAAI,YAAY,EAAS;AAG7C,IAAA,OAAO,GAAG,CAAC,CAAO,KAAI;AACpB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACtB,IAAA,CAAC;wGANU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,4JAFxB,CAAA,yBAAA,CAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAE1B,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA,yBAAA,CAA2B;AACtC,iBAAA;8BAEW,OAAO,EAAA,CAAA;sBAAhB;gBAGD,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,OAAO;;;MC6DV,yBAAyB,CAAA;AAC7B,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAGtC,IAAA,aAAa,GAAwB,IAAI,YAAY,EAAS;IAE9D,QAAQ,GAAG,QAAQ;IAEqB,WAAW,GAAG,KAAK;IAClD,SAAS,GAAG,OAAO;IACnB,QAAQ,GAAG,OAAO;IAClB,WAAW,GAAG,OAAO;AAE9B,IAAA,IAAI,gBAAgB,GAAA;AAClB,QAAA,OAAO,CAAA,KAAA,EAAQ,IAAI,CAAC,SAAS,UAAU;IACzC;AAEA,IAAA,gBAAgB,CAAC,KAAY,EAAA;AAC3B,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;QAChC;IACF;AAGA,IAAA,SAAS,CAAC,KAAoB,EAAA;AAC5B,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;AAC1B,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;QAChC;IACF;AAEA,IAAA,UAAU,CAAC,KAAY,EAAA;AACrB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CACzD,uCAAuC,CACxC;AACD,QAAA,IAAI,QAAQ,CAAC,aAAa,KAAK,OAAO,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;YAAE;AACtF,QAAA,IAAI,QAAQ,CAAC,aAAa,KAAK,OAAO,EAAE;YACtC,KAAK,CAAC,cAAc,EAAE;YACtB,MAAM,SAAS,GAAG,OAAO,CAAC,gBAAgB,CACxC,2IAA2I,CACjH;AAC5B,YAAA,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS;iBAC9B,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,OAAO;AAC7B,iBAAA,GAAG,EAAE;YACR,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,KAAK,EAAE;YACd;QACF;IACF;AAEA,IAAA,IAAI,kBAAkB,GAAA;AACpB,QAAA,OAAO,CAAA,4BAAA,EAA+B,IAAI,CAAC,QAAQ,EAAE;IACvD;AAEA,IAAA,IAAI,WAAW,GAAA;AACb,QAAA,OAAO,CAAA,yCAAA,EAA4C,IAAI,CAAC,QAAQ,EAAE;IACpE;wGAvDW,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAQhB,gBAAgB,CAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,aAAA,EAAA,EAAA,cAAA,EAAA,eAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA7D1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAhDS,UAAU,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,yBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,uBAAuB,EAAA,QAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAsDhD,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAzDrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,uBAAuB,CAAC;AAC5D,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,aAAa;AACxB,wBAAA,KAAK,EAAE,eAAe;AACvB,qBAAA;AACF,iBAAA;8BAKC,aAAa,EAAA,CAAA;sBADZ;gBAKuC,WAAW,EAAA,CAAA;sBAAlD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAC7B,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBAaD,SAAS,EAAA,CAAA;sBADR,YAAY;uBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;;;MCzExB,kBAAkB,CAAA;IACpB,QAAQ,GAYG,QAAQ;IAEnB,QAAQ,GAAG,EAAE;IACgB,IAAI,GAAY,KAAK;AACjD,IAAA,UAAU,GAA0B,IAAI,YAAY,EAAW;AAE/D,IAAA,MAAM,GAAwB,IAAI,YAAY,EAAE;AAChD,IAAA,MAAM,GAAwB,IAAI,YAAY,EAAE;IAE1D,aAAa,GAAG,YAAY,CAAC,yBAAyB,EAAE,EAAE,WAAW,EAAC,IAAI,EAAE,CAAC;IAE7E,eAAe,GAAG,eAAe,CAAC,uBAAuB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AAEjF,IAAA,SAAS,GAAG,SAAS,CAAC,QAAQ,CAA0B,WAAW,CAAC;AAE5D,IAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,IAAA,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC;IAC/B,MAAM,GAAG,KAAK;AACd,IAAA,kBAAkB,GAAG,MAAM,CAAC,wBAAwB,CAAC;AACrD,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAC/B,IAAA,qBAAqB;IACrB,UAAU,GAAG,KAAK;IAClB,gBAAgB,GAAG,KAAK;IACxB,YAAY,GAA2B,IAAI;IAElC,GAAG,GAAG,CAAC;IACP,UAAU,GAAG,CAAC;IAEvB,aAAa,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE;AAExD,IAAA,IAAY,GAAG,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,MAAM;IAC5C;AAEA,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,MAAK;YACV,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE;AAC/D,YAAA,IAAI,CAAC,eAAe,IAAI,eAAe,KAAK,IAAI,CAAC,QAAQ;gBAAE;AAC3D,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,gBAAA,IAAI,CAAC,MAAM,GAAG,KAAK;gBACnB;YACF;YACA,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,IAAI,CAAC,IAAI,GAAG,KAAK;AACnB,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC;QACvD;AACA,QAAA,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE;AACnD,YAAA,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE;gBAChC,IAAI,CAAC,YAAY,EAAE;YACrB;iBAAO;gBACL,IAAI,CAAC,YAAY,EAAE;YACrB;QACF;IACF;AAEQ,IAAA,cAAc,CAAC,QAAgB,EAAA;AACrC,QAAA,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC;AACxC,QAAA,IAAI,CAAC,qBAAqB,GAAG,UAAU,CAAC,MAAK;AAC3C,YAAA,IAAI,CAAC,aAAa,EAAG,CAAC,QAAQ,GAAG,QAAQ;AACzC,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,qBAAqB,CAAC,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzD;QACF,CAAC,EAAE,CAAC,CAAC;IACP;IAEA,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,aAAa,EAAG,CAAC;AACnB,aAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,aAAA,SAAS,CAAC,CAAC,KAAY,KAAI;AAC1B,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;AAC1B,QAAA,CAAC,CAAC;QACJ,IAAI,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,CAAC,cAAc,KAAI;AAChD,YAAA,cAAc,CAAC;AACZ,iBAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,iBAAA,SAAS,CAAC,CAAC,KAAY,KAAI;AAC1B,gBAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;AAC1B,YAAA,CAAC,CAAC;AACN,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,YAAY,EAAE;QACrB;IACF;IAEA,WAAW,GAAA;AACT,QAAA,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC;QACxC,IAAI,CAAC,YAAY,EAAE;IACrB;AAEA,IAAA,aAAa,CAAC,CAAQ,EAAA;QACpB,CAAC,CAAC,cAAc,EAAE;AAClB,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,YAAA,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QACtB;aAAO;AACL,YAAA,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACrB;IACF;IAEQ,YAAY,GAAA;AAClB,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YAAE;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAG,CAAC,UAAU,CAAC,aAAa;QAChE,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CAAC,uCAAuC,CAAuB;QACtG,IAAI,OAAO,EAAE;YACX,OAAO,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QACxC;IACF;AAEA,IAAA,WAAW,CAAC,KAAY,EAAA;AACtB,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI;AAClB,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI;QAC5B,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;AACnD,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;QAChB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC/B,IAAI,CAAC,YAAY,EAAE;AACnB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IACzB;AAEA,IAAA,YAAY,CAAC,KAAY,EAAA;QACvB,IAAI,CAAC,YAAY,EAAE;AACnB,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK;QACjB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AAC/B,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,mBAAmB,EAAE;IAC5B;IAEQ,mBAAmB,GAAA;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,aAAa;AAC/C,QAAA,IAAI,CAAC,OAAO;YAAE;QACd,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAc,2EAA2E,CAAC;QACjI,IAAI,SAAS,EAAE;YACb,SAAS,CAAC,KAAK,EAAE;QACnB;IACF;IAEQ,YAAY,GAAA;QAClB,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YAAE;AAC9C,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;QAEtB,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAG,CAAC,UAAU,CAAC,aAAa;AAChE,QAAA,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE;AAC5B,QAAA,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG;QAE7B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;QACxC,IAAI,CAAC,YAAY,GAAG,IAAI,eAAe,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC;AACnG,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,aAAa,EAAG,CAAC,UAAU,CAAC,CAAC;AAEzE,QAAA,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC;AACxC,QAAA,IAAI,CAAC,qBAAqB,GAAG,UAAU,CAAC,MAAK;YAC3C,qBAAqB,CAAC,MAAK;gBACzB,IAAI,CAAC,mBAAmB,EAAE;AAC1B,gBAAA,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE;AAC5B,gBAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;oBACzB,IAAI,CAAC,YAAY,EAAE;AACnB,oBAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK;gBAC/B;AACF,YAAA,CAAC,CAAC;QACJ,CAAC,EAAE,GAAG,CAAC;QAEP,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC;IACzD;IAEQ,YAAY,GAAA;QAClB,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE;AACtB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK;QAEvB,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC;AAE1D,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;AAC3B,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI;QAC1B;AAEA,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;AACxB,YAAA,IAAI,CAAC,aAAa,EAAG,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,cAAc;QAC/E;IACF;IAEQ,iBAAiB,CAAC,WAAoB,EAAE,WAAoB,EAAA;QAClE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU;AACzC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ;AACzB,QAAA,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC;AACjF,QAAA,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC;AAEhF,QAAA,IAAI,GAAW;AACf,QAAA,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,GAAG,GAAG,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,MAAM;AACzE,aAAA,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC;AAAE,YAAA,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,MAAM;AAC/D,aAAA,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM;AACvE,aAAA,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;AAAE,YAAA,GAAG,GAAG,WAAW,CAAC,GAAG;;YAClD,GAAG,GAAG,OAAO;AAElB,QAAA,IAAI,IAAY;AAChB,QAAA,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,IAAI,GAAG,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,MAAM;AAC3E,aAAA,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;AAAE,YAAA,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,MAAM;AAC9D,aAAA,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC;AAAE,YAAA,IAAI,GAAG,WAAW,CAAC,IAAI;AAClD,aAAA,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK;;YACxE,IAAI,GAAG,OAAO;AAEnB,QAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE;IACtB;IAEQ,mBAAmB,GAAA;QACzB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YAAE;QAEhD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAG,CAAC,aAAa,CAAC,qBAAqB,EAAE;QAC3E,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAG,CAAC,UAAU,CAAC,aAAa;AAChE,QAAA,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,SAAS,CAAC,qBAAqB,EAAE,CAAC;AAC5F,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG;AAEvB,QAAA,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE;AAC7B,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,GAAG,EAAE,CAAA,EAAG,GAAG,GAAG,MAAM,CAAC,OAAO,CAAA,EAAA,CAAI;AAChC,YAAA,IAAI,EAAE,CAAA,EAAG,IAAI,GAAG,MAAM,CAAC,OAAO,CAAA,EAAA,CAAI;AAClC,YAAA,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;AACjE,SAAA,CAAC;IACJ;wGAzOW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,2HAgBV,gBAAgB,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAMN,yBAAyB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,SAAA,EAEpB,uBAAuB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAlC/C;;;;;AAKT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAKU,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAb9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE;;;;;AAKT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE;AACR;AACF,iBAAA;wDAEU,QAAQ,EAAA,CAAA;sBAAhB;gBAcQ,QAAQ,EAAA,CAAA;sBAAhB;gBACqC,IAAI,EAAA,CAAA;sBAAzC,KAAK;uBAAC,EAAC,SAAS,EAAE,gBAAgB,EAAC;gBAC1B,UAAU,EAAA,CAAA;sBAAnB;gBAES,MAAM,EAAA,CAAA;sBAAf;gBACS,MAAM,EAAA,CAAA;sBAAf;;;MC/BU,wBAAwB,CAAA;wGAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAxB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,wIALzB,CAAA,yBAAA,CAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAK1B,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBARpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA,yBAAA,CAA2B;AACrC,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE;AACR;AACF,iBAAA;;;MCFY,yBAAyB,CAAA;wGAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAzB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,8EAF1B,CAAA,yBAAA,CAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAE1B,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA,yBAAA,CAA2B;AACtC,iBAAA;;;MCmBY,eAAe,CAAA;wGAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAdxB,kBAAkB;YAClB,wBAAwB;YACxB,yBAAyB;YACzB,yBAAyB;AACzB,YAAA,uBAAuB,aAGvB,kBAAkB;YAClB,wBAAwB;YACxB,yBAAyB;YACzB,yBAAyB;YACzB,uBAAuB,CAAA,EAAA,CAAA;AAGd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAZxB,yBAAyB,CAAA,EAAA,CAAA;;4FAYhB,eAAe,EAAA,UAAA,EAAA,CAAA;kBAhB3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,kBAAkB;wBAClB,wBAAwB;wBACxB,yBAAyB;wBACzB,yBAAyB;wBACzB;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,kBAAkB;wBAClB,wBAAwB;wBACxB,yBAAyB;wBACzB,yBAAyB;wBACzB;AACD,qBAAA;AACF,iBAAA;;;ACxBD;;AAEG;;;;"}
|