@inera/ids-angular 9.2.1 → 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/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 +115 -107
- /package/common/services/{use-id.service.ts.d.ts → use-id.service.d.ts} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TemplateRef } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export declare class IDNavigationContentLinkComponent {
|
|
4
|
-
template: TemplateRef<any
|
|
4
|
+
template: import("@angular/core").Signal<TemplateRef<any>>;
|
|
5
5
|
static ɵfac: i0.ɵɵFactoryDeclaration<IDNavigationContentLinkComponent, never>;
|
|
6
6
|
static ɵcmp: i0.ɵɵComponentDeclaration<IDNavigationContentLinkComponent, "id-navigation-content-link", never, {}, {}, never, ["*"], true, never>;
|
|
7
7
|
}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { QueryList } from '@angular/core';
|
|
2
1
|
import { IDNavigationContentLinkComponent } from './navigation-content-link.component';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
3
|
export declare class IDNavigationContentComponent {
|
|
5
4
|
headline?: string;
|
|
6
5
|
maxHeight?: string;
|
|
7
|
-
linkComponents:
|
|
6
|
+
linkComponents: import("@angular/core").Signal<readonly IDNavigationContentLinkComponent[]>;
|
|
8
7
|
static ɵfac: i0.ɵɵFactoryDeclaration<IDNavigationContentComponent, never>;
|
|
9
8
|
static ɵcmp: i0.ɵɵComponentDeclaration<IDNavigationContentComponent, "id-navigation-content", never, { "headline": { "alias": "headline"; "required": false; }; "maxHeight": { "alias": "maxHeight"; "required": false; }; }, {}, ["linkComponents"], never, true, never>;
|
|
10
9
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TemplateRef } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export declare class IDNavigationLocalLinkComponent {
|
|
4
|
-
template: TemplateRef<any
|
|
4
|
+
template: import("@angular/core").Signal<TemplateRef<any>>;
|
|
5
5
|
static ɵfac: i0.ɵɵFactoryDeclaration<IDNavigationLocalLinkComponent, never>;
|
|
6
6
|
static ɵcmp: i0.ɵɵComponentDeclaration<IDNavigationLocalLinkComponent, "id-navigation-local-link", never, {}, {}, never, ["*"], true, never>;
|
|
7
7
|
}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { QueryList } from '@angular/core';
|
|
2
1
|
import { IDNavigationLocalLinkComponent } from './navigation-local-link.component';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
3
|
export declare class IDNavigationLocalComponent {
|
|
5
4
|
headline?: string;
|
|
6
|
-
linkComponents:
|
|
5
|
+
linkComponents: import("@angular/core").Signal<readonly IDNavigationLocalLinkComponent[]>;
|
|
7
6
|
static ɵfac: i0.ɵɵFactoryDeclaration<IDNavigationLocalComponent, never>;
|
|
8
7
|
static ɵcmp: i0.ɵɵComponentDeclaration<IDNavigationLocalComponent, "id-navigation-local", never, { "headline": { "alias": "headline"; "required": false; }; }, {}, ["linkComponents"], never, true, never>;
|
|
9
8
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AfterContentInit, ElementRef, EventEmitter, OnChanges, OnDestroy,
|
|
1
|
+
import { AfterContentInit, ElementRef, EventEmitter, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
|
|
2
2
|
import { IDPopoverCloseComponent } from './popover-close.component';
|
|
3
3
|
import { IDPopoverContentComponent } from './popover-content.component';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
@@ -9,9 +9,9 @@ export declare class IDPopoverComponent implements AfterContentInit, OnChanges,
|
|
|
9
9
|
showChange: EventEmitter<boolean>;
|
|
10
10
|
closed: EventEmitter<Event>;
|
|
11
11
|
opened: EventEmitter<Event>;
|
|
12
|
-
bodyComponent: IDPopoverContentComponent
|
|
13
|
-
closeComponents:
|
|
14
|
-
triggerEl: ElementRef<HTMLElement
|
|
12
|
+
bodyComponent: import("@angular/core").Signal<IDPopoverContentComponent | undefined>;
|
|
13
|
+
closeComponents: import("@angular/core").Signal<readonly IDPopoverCloseComponent[]>;
|
|
14
|
+
triggerEl: import("@angular/core").Signal<ElementRef<HTMLElement>>;
|
|
15
15
|
private document;
|
|
16
16
|
private appRef;
|
|
17
17
|
private opener;
|
|
@@ -5,7 +5,7 @@ export declare class IDPuffListItemComponent {
|
|
|
5
5
|
interactive: string;
|
|
6
6
|
href: string;
|
|
7
7
|
clicked: EventEmitter<Event>;
|
|
8
|
-
template: TemplateRef<any
|
|
8
|
+
template: import("@angular/core").Signal<TemplateRef<any>>;
|
|
9
9
|
static ɵfac: i0.ɵɵFactoryDeclaration<IDPuffListItemComponent, never>;
|
|
10
10
|
static ɵcmp: i0.ɵɵComponentDeclaration<IDPuffListItemComponent, "id-puff-list-item", never, { "lean": { "alias": "lean"; "required": false; }; "interactive": { "alias": "interactive"; "required": false; }; "href": { "alias": "href"; "required": false; }; }, { "clicked": "clicked"; }, never, ["*", "id-puff-list-item-content", "id-puff-list-item-extra-content", "id-date-label", "id-date-label"], true, never>;
|
|
11
11
|
static ngAcceptInputType_lean: unknown;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { QueryList } from '@angular/core';
|
|
2
1
|
import { IDPuffListItemComponent } from './puff-list-item.component';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
3
|
export declare class IDPuffListComponent {
|
|
5
|
-
listItems:
|
|
4
|
+
listItems: import("@angular/core").Signal<readonly IDPuffListItemComponent[]>;
|
|
6
5
|
static ɵfac: i0.ɵɵFactoryDeclaration<IDPuffListComponent, never>;
|
|
7
6
|
static ɵcmp: i0.ɵɵComponentDeclaration<IDPuffListComponent, "id-puff-list", never, {}, {}, ["listItems"], never, true, never>;
|
|
8
7
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EventEmitter
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export declare class IDSideMenuComponent {
|
|
4
4
|
label: string;
|
|
@@ -11,7 +11,7 @@ export declare class IDSideMenuComponent {
|
|
|
11
11
|
expandedChange: EventEmitter<boolean>;
|
|
12
12
|
closed: EventEmitter<Event>;
|
|
13
13
|
opened: EventEmitter<Event>;
|
|
14
|
-
menuChildren:
|
|
14
|
+
menuChildren: import("@angular/core").Signal<readonly IDSideMenuComponent[]>;
|
|
15
15
|
private parent;
|
|
16
16
|
constructor();
|
|
17
17
|
get hostClasses(): string;
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { EventEmitter, ElementRef, AfterViewInit, OnDestroy, OnChanges, SimpleChanges } from
|
|
2
|
-
import { IDSidePanelFooterComponent } from "./side-panel-footer.component";
|
|
1
|
+
import { EventEmitter, ElementRef, AfterViewInit, OnDestroy, OnChanges, SimpleChanges } from '@angular/core';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
3
|
export declare class IDSidePanelComponent implements AfterViewInit, OnDestroy, OnChanges {
|
|
5
4
|
show: boolean;
|
|
6
5
|
showChange: EventEmitter<boolean>;
|
|
7
6
|
elevated: boolean;
|
|
8
7
|
menu: boolean;
|
|
8
|
+
noCloseButton: boolean;
|
|
9
9
|
srMobileDialogLabel: string;
|
|
10
10
|
srCloseText: string;
|
|
11
11
|
srOpenText: string;
|
|
12
|
-
size:
|
|
12
|
+
size: 's' | 'm' | 'l';
|
|
13
13
|
opened: EventEmitter<void>;
|
|
14
14
|
closed: EventEmitter<void>;
|
|
15
|
-
footer:
|
|
16
|
-
hamburgerButton
|
|
15
|
+
footer: import("@angular/core").Signal<unknown>;
|
|
16
|
+
hamburgerButton: import("@angular/core").Signal<ElementRef<any> | undefined>;
|
|
17
17
|
position: "left" | "right";
|
|
18
18
|
private el;
|
|
19
19
|
private resizeObserver?;
|
|
@@ -29,8 +29,9 @@ export declare class IDSidePanelComponent implements AfterViewInit, OnDestroy, O
|
|
|
29
29
|
protected didClose(): void;
|
|
30
30
|
ngOnDestroy(): void;
|
|
31
31
|
static ɵfac: i0.ɵɵFactoryDeclaration<IDSidePanelComponent, never>;
|
|
32
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<IDSidePanelComponent, "id-side-panel", never, { "show": { "alias": "show"; "required": false; }; "elevated": { "alias": "elevated"; "required": false; }; "menu": { "alias": "menu"; "required": false; }; "srMobileDialogLabel": { "alias": "srMobileDialogLabel"; "required": false; }; "srCloseText": { "alias": "srCloseText"; "required": false; }; "srOpenText": { "alias": "srOpenText"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "showChange": "showChange"; "opened": "opened"; "closed": "closed"; }, ["footer"], ["[slot='headline']", "*", "id-side-panel-footer"], true, never>;
|
|
32
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<IDSidePanelComponent, "id-side-panel", never, { "show": { "alias": "show"; "required": false; }; "elevated": { "alias": "elevated"; "required": false; }; "menu": { "alias": "menu"; "required": false; }; "noCloseButton": { "alias": "noCloseButton"; "required": false; }; "srMobileDialogLabel": { "alias": "srMobileDialogLabel"; "required": false; }; "srCloseText": { "alias": "srCloseText"; "required": false; }; "srOpenText": { "alias": "srOpenText"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "showChange": "showChange"; "opened": "opened"; "closed": "closed"; }, ["footer"], ["[slot='headline']", "*", "id-side-panel-footer"], true, never>;
|
|
33
33
|
static ngAcceptInputType_show: unknown;
|
|
34
34
|
static ngAcceptInputType_elevated: unknown;
|
|
35
35
|
static ngAcceptInputType_menu: unknown;
|
|
36
|
+
static ngAcceptInputType_noCloseButton: unknown;
|
|
36
37
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { AfterContentInit
|
|
1
|
+
import { AfterContentInit } from '@angular/core';
|
|
2
2
|
import { IDStepComponent } from "./step.component";
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class IDStepperComponent implements AfterContentInit {
|
|
5
|
-
steps:
|
|
5
|
+
steps: import("@angular/core").Signal<readonly IDStepComponent[]>;
|
|
6
6
|
ngAfterContentInit(): void;
|
|
7
7
|
static ɵfac: i0.ɵɵFactoryDeclaration<IDStepperComponent, never>;
|
|
8
8
|
static ɵcmp: i0.ɵɵComponentDeclaration<IDStepperComponent, "id-stepper", never, {}, {}, ["steps"], ["*"], true, never>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { AfterContentInit
|
|
1
|
+
import { AfterContentInit } from '@angular/core';
|
|
2
2
|
import { IDTabComponent } from './tab.component';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class IDTabGroupComponent implements AfterContentInit {
|
|
5
|
-
tabs:
|
|
5
|
+
tabs: import("@angular/core").Signal<readonly IDTabComponent[]>;
|
|
6
6
|
selectedIndex: number;
|
|
7
7
|
focusedIndex: number;
|
|
8
8
|
ngAfterContentInit(): void;
|
|
@@ -11,6 +11,7 @@ export declare class IDTabGroupComponent implements AfterContentInit {
|
|
|
11
11
|
light: boolean;
|
|
12
12
|
compact: boolean;
|
|
13
13
|
selectLabel?: string;
|
|
14
|
+
private ref;
|
|
14
15
|
private idService;
|
|
15
16
|
selectId: string;
|
|
16
17
|
selectTab(i: number): void;
|
|
@@ -8,8 +8,8 @@ export declare class IDTabComponent {
|
|
|
8
8
|
selected: boolean;
|
|
9
9
|
noTabindex: boolean;
|
|
10
10
|
compact: boolean;
|
|
11
|
-
labelTemplate
|
|
12
|
-
content: TemplateRef<any
|
|
11
|
+
labelTemplate: import("@angular/core").Signal<TemplateRef<any> | undefined>;
|
|
12
|
+
content: import("@angular/core").Signal<TemplateRef<any>>;
|
|
13
13
|
private idService;
|
|
14
14
|
ngOnInit(): void;
|
|
15
15
|
static ɵfac: i0.ɵɵFactoryDeclaration<IDTabComponent, never>;
|
|
@@ -7,8 +7,8 @@ export declare class IDTooltipComponent implements AfterContentInit, OnDestroy {
|
|
|
7
7
|
private appRef;
|
|
8
8
|
private renderer;
|
|
9
9
|
tooltipId: string;
|
|
10
|
-
tooltipContent: ElementRef<HTMLElement
|
|
11
|
-
trigger: IDTooltipTriggerDirective
|
|
10
|
+
tooltipContent: import("@angular/core").Signal<ElementRef<HTMLElement>>;
|
|
11
|
+
trigger: import("@angular/core").Signal<IDTooltipTriggerDirective | undefined>;
|
|
12
12
|
maxWidth?: string;
|
|
13
13
|
fixedPosition: boolean;
|
|
14
14
|
position: 'top' | 'top-left' | 'top-right' | 'bottom' | 'bottom-left' | 'bottom-right';
|
|
@@ -236,21 +236,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
236
236
|
}] } });
|
|
237
237
|
|
|
238
238
|
class IDClickOutsideDirective {
|
|
239
|
-
elementRef;
|
|
240
239
|
idClickOutside = new EventEmitter();
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
document.addEventListener('click', this.onDocumentClick
|
|
240
|
+
elementRef = inject(ElementRef);
|
|
241
|
+
constructor() {
|
|
242
|
+
document.addEventListener('click', this.onDocumentClick, true);
|
|
244
243
|
}
|
|
245
244
|
ngOnDestroy() {
|
|
246
|
-
document.removeEventListener('click', this.onDocumentClick
|
|
245
|
+
document.removeEventListener('click', this.onDocumentClick, true);
|
|
247
246
|
}
|
|
248
|
-
onDocumentClick(event) {
|
|
247
|
+
onDocumentClick = (event) => {
|
|
249
248
|
if (!this.elementRef.nativeElement.contains(event.target)) {
|
|
250
249
|
this.idClickOutside.emit(event);
|
|
251
250
|
}
|
|
252
|
-
}
|
|
253
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDClickOutsideDirective, deps: [
|
|
251
|
+
};
|
|
252
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDClickOutsideDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
254
253
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: IDClickOutsideDirective, isStandalone: true, selector: "[idClickOutside]", outputs: { idClickOutside: "idClickOutside" }, ngImport: i0 });
|
|
255
254
|
}
|
|
256
255
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDClickOutsideDirective, decorators: [{
|
|
@@ -259,7 +258,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
259
258
|
selector: '[idClickOutside]',
|
|
260
259
|
standalone: true
|
|
261
260
|
}]
|
|
262
|
-
}], ctorParameters: () => [
|
|
261
|
+
}], ctorParameters: () => [], propDecorators: { idClickOutside: [{
|
|
263
262
|
type: Output
|
|
264
263
|
}] } });
|
|
265
264
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inera-ids-angular-common.mjs","sources":["../../../projects/ids-angular/common/services/input-label-linker.service.ts","../../../projects/ids-angular/common/services/input-described-by-linker.service.ts","../../../projects/ids-angular/common/services/input-invalid-linker.service.ts","../../../projects/ids-angular/common/services/use-id.service.ts.ts","../../../projects/ids-angular/common/classes/form/IDErrorMessageBase.ts","../../../projects/ids-angular/common/classes/form/IDFormBase.ts","../../../projects/ids-angular/common/directives/click-outside.directive.ts","../../../projects/ids-angular/common/services/tooltip-category.service.ts","../../../projects/ids-angular/common/context/header-context.ts","../../../projects/ids-angular/common/utilities/useEscKey.ts","../../../projects/ids-angular/common/utilities/useFocusTrap.ts","../../../projects/ids-angular/common/inera-ids-angular-common.ts"],"sourcesContent":["import { Injectable, ElementRef, Renderer2, RendererFactory2 } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class IDInputLabelLinker {\n private static nextId = 0;\n private renderer: Renderer2;\n\n constructor(rendererFactory: RendererFactory2) {\n this.renderer = rendererFactory.createRenderer(null, null);\n }\n\n link(host: ElementRef<HTMLElement>) {\n const el = host.nativeElement;\n const label = el.querySelector('label');\n const input = el.querySelector('input, textarea, select');\n\n if (!input || !label) return;\n\n const id = input.id || `ids-form-element-${IDInputLabelLinker.nextId++}`;\n this.renderer.setAttribute(input, 'id', id);\n this.renderer.setAttribute(label, 'for', id);\n }\n}","import { ElementRef, Injectable, RendererFactory2, Renderer2 } from '@angular/core';\nimport { IDErrorMessageBase } from '../classes/form/IDErrorMessageBase';\n\n@Injectable({ providedIn: 'root' })\nexport class IDInputDescribedByLinker {\n private renderer: Renderer2;\n\n constructor(rendererFactory: RendererFactory2) {\n this.renderer = rendererFactory.createRenderer(null, null);\n }\n\n link(\n host: ElementRef<HTMLElement>,\n errorMessage: IDErrorMessageBase | undefined,\n invalid: boolean\n ): void {\n const el = host.nativeElement;\n const input = el.querySelector('input, textarea, select');\n const hint = el.querySelector('.ids-input__hint');\n\n if (!input) return;\n\n if (invalid && errorMessage) {\n this.renderer.setAttribute(input, 'aria-describedby', errorMessage.id);\n } else if (!invalid && hint?.id) {\n this.renderer.setAttribute(input, 'aria-describedby', hint.id);\n } else {\n this.renderer.removeAttribute(input, 'aria-describedby');\n }\n }\n}\n","import { ElementRef, Injectable, RendererFactory2, Renderer2 } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class IDInputInvalidLinker {\n private renderer: Renderer2;\n\n constructor(rendererFactory: RendererFactory2) {\n this.renderer = rendererFactory.createRenderer(null, null);\n }\n\n link(\n host: ElementRef<HTMLElement>,\n invalid: boolean\n ): void {\n const el = host.nativeElement;\n const input = el.querySelector('input, textarea, select');\n\n if (!input) return;\n\n if (invalid) {\n this.renderer.addClass(input, 'ids-input--invalid');\n this.renderer.setAttribute(input, 'aria-invalid', 'true');\n } else {\n this.renderer.removeClass(input, 'ids-input--invalid');\n this.renderer.removeAttribute(input, 'aria-invalid');\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class IDUseIdService {\n private static componentCounters: Record<string, number> = {};\n\n generateId(componentName: string): string {\n if (!IDUseIdService.componentCounters[componentName]) {\n IDUseIdService.componentCounters[componentName] = 0;\n }\n IDUseIdService.componentCounters[componentName]++;\n return `ids-${componentName}-${IDUseIdService.componentCounters[componentName]}`;\n }\n}","import { Directive, HostBinding, inject, Input} from '@angular/core';\nimport { IDUseIdService } from '../../services/use-id.service.ts';\n\n@Directive()\nexport abstract class IDErrorMessageBase {\n\n @HostBinding('class.ids-error-message--show')\n @Input()\n show: boolean = false;\n\n private idService = inject(IDUseIdService);\n id = this.idService.generateId('error-message');\n \n}\n","import {\n AfterContentInit,\n ContentChild,\n DestroyRef,\n Directive,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n Output,\n Renderer2,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NgControl } from '@angular/forms';\nimport { EMPTY, merge } from 'rxjs';\nimport { auditTime } from 'rxjs/operators';\nimport { IDInputLabelLinker } from '../../services/input-label-linker.service';\nimport { IDInputDescribedByLinker } from '../../services/input-described-by-linker.service';\nimport { IDInputInvalidLinker } from '../../services/input-invalid-linker.service'\nimport { IDErrorMessageBase } from './IDErrorMessageBase';\n\n@Directive()\nexport abstract class IDFormBase implements AfterContentInit {\n @ContentChild(NgControl, { read: NgControl }) ngControl?: NgControl;\n\n @ContentChild(IDErrorMessageBase)\n errorMessage!: IDErrorMessageBase;\n\n @Input()\n validateOn: 'immediate' | 'touched' | 'dirty' | 'blur' | 'none' = 'dirty';\n\n @Output()\n invalidChange = new EventEmitter<boolean>();\n\n private _invalid = false;\n\n @Input()\n get invalid(): boolean {\n return this._invalid;\n }\n set invalid(value: boolean) {\n this._invalid = value;\n this.toggleInputArias({ invalid: this._invalid });\n this.toggleErrorMessage();\n this.invalidChange.emit(value);\n }\n\n @Input()\n srof: string = 'av';\n\n @Input()\n light: boolean = false;\n\n protected inputLabelLinker = inject(IDInputLabelLinker);\n protected inputDescribedByLinker = inject(IDInputDescribedByLinker);\n protected inputInvalidLinker = inject(IDInputInvalidLinker);\n protected destroyRef = inject(DestroyRef);\n\n private blurEvent?: () => void;\n\n get input() {\n return (\n this.host.nativeElement.querySelector('input') ||\n this.host.nativeElement.querySelector('textarea') ||\n this.host.nativeElement.querySelector('select')\n );\n }\n\n get label() {\n return this.host.nativeElement.querySelector('label');\n }\n\n get checkbox() {\n return this.host.nativeElement.querySelector('input[type=checkbox]');\n }\n\n protected host = inject(ElementRef);\n protected renderer = inject(Renderer2);\n\n ngAfterContentInit() {\n if (!this.input) {\n throw new Error('IDS ERROR - Input missing in ' + this.host.nativeElement.tagName);\n }\n if (this.validateOn === 'immediate') {\n this._updateErrorState();\n }\n if (this.validateOn === 'touched' || this.validateOn === 'blur') {\n this.blurEvent = this.renderer.listen(this.input, 'blur', () => {\n this._updateErrorState();\n });\n }\n if (this.ngControl && this.validateOn !== 'blur') {\n merge(...[this.ngControl.statusChanges ?? EMPTY, this.ngControl.valueChanges ?? EMPTY])\n .pipe(auditTime(0), takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this._updateErrorState());\n }\n this.inputLabelLinker.link(this.host);\n this.inputDescribedByLinker.link(this.host, this.errorMessage, this.invalid);\n this.inputInvalidLinker.link(this.host, this.invalid);\n this.renderer.addClass(this.label, 'ids-label');\n if (this.light) {\n this.renderer.addClass(this.input, 'ids-input--light');\n }\n }\n\n protected _updateErrorState() {\n if (!this.ngControl || this.validateOn === 'none') return;\n switch (this.validateOn) {\n case 'immediate':\n this.invalid = Boolean(this.ngControl.invalid);\n break;\n case 'touched':\n this.invalid = Boolean(this.ngControl.invalid) && Boolean(this.ngControl.touched);\n break;\n case 'dirty':\n this.invalid = Boolean(this.ngControl.invalid) && Boolean(this.ngControl.dirty);\n break;\n case 'blur':\n this.invalid = Boolean(this.ngControl.invalid);\n }\n }\n\n toggleErrorMessage(): void {\n if (!this.errorMessage) return;\n this.errorMessage.show = this.invalid;\n }\n\n toggleInputArias({ invalid }: { invalid: boolean }) {\n if (this.checkbox) {\n this.renderer.setAttribute(this.input, 'aria-checked', this.checkbox.checked);\n }\n this.renderer.setAttribute(this.input, 'aria-required', this.input.required);\n \n this.inputDescribedByLinker.link(this.host, this.errorMessage, invalid);\n this.inputInvalidLinker.link(this.host, this.invalid);\n }\n\n ngOnDestroy() {\n this.blurEvent?.();\n }\n}\n","import { Directive, ElementRef, Output, EventEmitter, OnDestroy } from '@angular/core';\n\n@Directive({\n selector: '[idClickOutside]',\n standalone: true\n})\nexport class IDClickOutsideDirective implements OnDestroy {\n @Output() idClickOutside = new EventEmitter<Event>();\n\n constructor(private elementRef: ElementRef) {\n document.addEventListener('click', this.onDocumentClick.bind(this), true);\n }\n\n ngOnDestroy() {\n document.removeEventListener('click', this.onDocumentClick.bind(this), true);\n }\n\n private onDocumentClick(event: MouseEvent) {\n if (!this.elementRef.nativeElement.contains(event.target)) {\n this.idClickOutside.emit(event);\n }\n }\n}","import { Injectable, signal } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class IDTooltipCategoryService {\n closeCategory = signal<string | null>(null);\n\n requestClose(category: string) {\n this.closeCategory.set(null);\n this.closeCategory.set(category);\n }\n}","import { InjectionToken } from '@angular/core';\n\nexport interface IDHeaderContext {\n unresponsive: boolean;\n}\n\nexport const ID_HEADER_CONTEXT = new InjectionToken<IDHeaderContext>('ID_HEADER_CONTEXT');","import { inject, DestroyRef } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nexport function useEscapeKey(callback: () => void, condition: () => boolean) {\n const destroyRef = inject(DestroyRef);\n\n fromEvent<KeyboardEvent>(window, 'keydown')\n .pipe(\n filter(event => event.key === 'Escape' && condition()),\n takeUntilDestroyed(destroyRef)\n )\n .subscribe(() => callback());\n}","import { ElementRef, inject } from '@angular/core';\nimport { FocusTrap, FocusTrapFactory } from '@angular/cdk/a11y';\n\nconst focusableSelector = 'button, [href], input, select, textarea, [tabindex]';\n\ntype FocusContainer = ElementRef<HTMLElement> | HTMLElement | undefined;\n\nexport function useFocusTrap(\n getContainer: () => FocusContainer,\n options?: { disabled?: () => boolean }\n) {\n const focusTrapFactory = inject(FocusTrapFactory);\n let focusTrap: FocusTrap | undefined;\n let pendingTimeout: ReturnType<typeof setTimeout> | undefined;\n const maxCreateAttempts = 10;\n\n const getNativeElement = (): HTMLElement | undefined => {\n const container = getContainer();\n if (!container) {\n return undefined;\n }\n\n return container instanceof ElementRef ? container.nativeElement : container;\n };\n\n const getFocusableElements = (): HTMLElement[] => {\n const nativeElement = getNativeElement();\n if (!nativeElement) {\n return [];\n }\n\n return Array.from(nativeElement.querySelectorAll(focusableSelector)) as HTMLElement[];\n };\n\n const handleBackTab = (event: KeyboardEvent): void => {\n if (event.key !== 'Tab' || !event.shiftKey) {\n return;\n }\n\n const focusableElements = getFocusableElements();\n const firstFocusable = focusableElements[0];\n const lastFocusable = focusableElements[focusableElements.length - 1];\n if (!firstFocusable || !lastFocusable) {\n return;\n }\n\n if (event.target !== firstFocusable) {\n return;\n }\n\n event.preventDefault();\n lastFocusable.focus();\n };\n\n const reset = (): void => {\n const firstFocusable = getFocusableElements()[0];\n firstFocusable?.removeEventListener('keydown', handleBackTab);\n };\n\n const create = (): void => {\n if (options?.disabled?.() || focusTrap) {\n return;\n }\n\n const tryCreate = (attempt: number): void => {\n if (options?.disabled?.() || focusTrap) {\n return;\n }\n\n const nativeElement = getNativeElement();\n if (!nativeElement) {\n if (attempt < maxCreateAttempts) {\n pendingTimeout = setTimeout(() => tryCreate(attempt + 1));\n }\n return;\n }\n\n pendingTimeout = undefined;\n focusTrap = focusTrapFactory.create(nativeElement);\n getFocusableElements()[0]?.addEventListener('keydown', handleBackTab);\n focusTrap.focusInitialElement();\n };\n\n queueMicrotask(() => tryCreate(0));\n };\n\n const destroy = (): void => {\n if (pendingTimeout !== undefined) {\n clearTimeout(pendingTimeout);\n pendingTimeout = undefined;\n }\n if (!focusTrap) {\n return;\n }\n\n reset();\n focusTrap.destroy();\n focusTrap = undefined;\n };\n\n return {\n create,\n reset,\n destroy,\n get focusableElements(): HTMLElement[] {\n return getFocusableElements();\n }\n };\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;MAGa,kBAAkB,CAAA;AACrB,IAAA,OAAO,MAAM,GAAG,CAAC;AACjB,IAAA,QAAQ;AAEhB,IAAA,WAAA,CAAY,eAAiC,EAAA;QAC3C,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC;IAC5D;AAEA,IAAA,IAAI,CAAC,IAA6B,EAAA;AAChC,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa;QAC7B,MAAM,KAAK,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC;QACvC,MAAM,KAAK,GAAG,EAAE,CAAC,aAAa,CAAC,yBAAyB,CAAC;AAEzD,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK;YAAE;AAEtB,QAAA,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,IAAI,CAAA,iBAAA,EAAoB,kBAAkB,CAAC,MAAM,EAAE,CAAA,CAAE;QACxE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;IAC9C;wGAlBW,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAlB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cADL,MAAM,EAAA,CAAA;;4FACnB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;MCErB,wBAAwB,CAAA;AAC3B,IAAA,QAAQ;AAEhB,IAAA,WAAA,CAAY,eAAiC,EAAA;QAC3C,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC;IAC5D;AAEA,IAAA,IAAI,CACF,IAA6B,EAC7B,YAA4C,EAC5C,OAAgB,EAAA;AAEhB,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa;QAC7B,MAAM,KAAK,GAAG,EAAE,CAAC,aAAa,CAAC,yBAAyB,CAAC;QACzD,MAAM,IAAI,GAAG,EAAE,CAAC,aAAa,CAAC,kBAAkB,CAAC;AAEjD,QAAA,IAAI,CAAC,KAAK;YAAE;AAEZ,QAAA,IAAI,OAAO,IAAI,YAAY,EAAE;AAC3B,YAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,kBAAkB,EAAE,YAAY,CAAC,EAAE,CAAC;QACxE;AAAO,aAAA,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,EAAE,EAAE;AAC/B,YAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,CAAC;QAChE;aAAO;YACL,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE,kBAAkB,CAAC;QAC1D;IACF;wGAzBW,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAxB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cADX,MAAM,EAAA,CAAA;;4FACnB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;MCArB,oBAAoB,CAAA;AACvB,IAAA,QAAQ;AAEhB,IAAA,WAAA,CAAY,eAAiC,EAAA;QAC3C,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC;IAC5D;IAEA,IAAI,CACF,IAA6B,EAC7B,OAAgB,EAAA;AAEhB,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa;QAC7B,MAAM,KAAK,GAAG,EAAE,CAAC,aAAa,CAAC,yBAAyB,CAAC;AAEzD,QAAA,IAAI,CAAC,KAAK;YAAE;QAEZ,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC;YACnD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,CAAC;QAC3D;aAAO;YACL,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,oBAAoB,CAAC;YACtD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE,cAAc,CAAC;QACtD;IACF;wGAvBW,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAApB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cADP,MAAM,EAAA,CAAA;;4FACnB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;MCCrB,cAAc,CAAA;AACjB,IAAA,OAAO,iBAAiB,GAA2B,EAAE;AAE7D,IAAA,UAAU,CAAC,aAAqB,EAAA;QAC9B,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE;AACpD,YAAA,cAAc,CAAC,iBAAiB,CAAC,aAAa,CAAC,GAAG,CAAC;QACrD;AACA,QAAA,cAAc,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE;QACjD,OAAO,CAAA,IAAA,EAAO,aAAa,CAAA,CAAA,EAAI,cAAc,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAA,CAAE;IAClF;wGATW,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAd,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cADD,MAAM,EAAA,CAAA;;4FACnB,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;MCEZ,kBAAkB,CAAA;IAItC,IAAI,GAAY,KAAK;AAEb,IAAA,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;IAC1C,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,eAAe,CAAC;wGAP3B,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,+BAAA,EAAA,WAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBADvC;8BAKC,IAAI,EAAA,CAAA;sBAFH,WAAW;uBAAC,+BAA+B;;sBAC3C;;;MCemB,UAAU,CAAA;AACgB,IAAA,SAAS;AAGvD,IAAA,YAAY;IAGZ,UAAU,GAAwD,OAAO;AAGzE,IAAA,aAAa,GAAG,IAAI,YAAY,EAAW;IAEnC,QAAQ,GAAG,KAAK;AAExB,IAAA,IACI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ;IACtB;IACA,IAAI,OAAO,CAAC,KAAc,EAAA;AACxB,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;QACrB,IAAI,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACjD,IAAI,CAAC,kBAAkB,EAAE;AACzB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;IAChC;IAGA,IAAI,GAAW,IAAI;IAGnB,KAAK,GAAY,KAAK;AAEZ,IAAA,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAC7C,IAAA,sBAAsB,GAAG,MAAM,CAAC,wBAAwB,CAAC;AACzD,IAAA,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC;AACjD,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAEjC,IAAA,SAAS;AAEjB,IAAA,IAAI,KAAK,GAAA;QACP,QACE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC;YACjD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAC;IAEnD;AAEA,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC;IACvD;AAEA,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,sBAAsB,CAAC;IACtE;AAEU,IAAA,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;AACzB,IAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;IAEtC,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACf,YAAA,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;QACpF;AACA,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;YACnC,IAAI,CAAC,iBAAiB,EAAE;QAC1B;AACA,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE;AAC/D,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAK;gBAC7D,IAAI,CAAC,iBAAiB,EAAE;AAC1B,YAAA,CAAC,CAAC;QACJ;QACA,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE;AAChD,YAAA,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,IAAI,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,IAAI,KAAK,CAAC;AACnF,iBAAA,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;iBACtD,SAAS,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC9C;QACA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACrC,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC;AAC5E,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC;AAC/C,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,kBAAkB,CAAC;QACxD;IACF;IAEU,iBAAiB,GAAA;QACzB,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM;YAAE;AACnD,QAAA,QAAQ,IAAI,CAAC,UAAU;AACrB,YAAA,KAAK,WAAW;gBACd,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;gBAC9C;AACF,YAAA,KAAK,SAAS;gBACZ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;gBACjF;AACF,YAAA,KAAK,OAAO;gBACV,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBAC/E;AACF,YAAA,KAAK,MAAM;gBACT,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;;IAEpD;IAEA,kBAAkB,GAAA;QAChB,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE;QACxB,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO;IACvC;IAEA,gBAAgB,CAAC,EAAE,OAAO,EAAwB,EAAA;AAChD,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC/E;AACA,QAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;AAE5E,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;AACvE,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;IACvD;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,SAAS,IAAI;IACpB;wGArHoB,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAV,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAChB,SAAS,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAU,SAAS,4DAE5B,kBAAkB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAHZ,UAAU,EAAA,UAAA,EAAA,CAAA;kBAD/B;8BAE+C,SAAS,EAAA,CAAA;sBAAtD,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAG5C,YAAY,EAAA,CAAA;sBADX,YAAY;uBAAC,kBAAkB;gBAIhC,UAAU,EAAA,CAAA;sBADT;gBAID,aAAa,EAAA,CAAA;sBADZ;gBAMG,OAAO,EAAA,CAAA;sBADV;gBAYD,IAAI,EAAA,CAAA;sBADH;gBAID,KAAK,EAAA,CAAA;sBADJ;;;MC5CU,uBAAuB,CAAA;AAGd,IAAA,UAAA;AAFV,IAAA,cAAc,GAAG,IAAI,YAAY,EAAS;AAEpD,IAAA,WAAA,CAAoB,UAAsB,EAAA;QAAtB,IAAA,CAAA,UAAU,GAAV,UAAU;AAC5B,QAAA,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IAC3E;IAEA,WAAW,GAAA;AACT,QAAA,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IAC9E;AAEQ,IAAA,eAAe,CAAC,KAAiB,EAAA;AACvC,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AACzD,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;QACjC;IACF;wGAfW,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE;AACb,iBAAA;+EAEW,cAAc,EAAA,CAAA;sBAAvB;;;MCJU,wBAAwB,CAAA;AACnC,IAAA,aAAa,GAAG,MAAM,CAAgB,IAAI,CAAC;AAE3C,IAAA,YAAY,CAAC,QAAgB,EAAA;AAC3B,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;AAC5B,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClC;wGANW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAxB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cADX,MAAM,EAAA,CAAA;;4FACnB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;MCIrB,iBAAiB,GAAG,IAAI,cAAc,CAAkB,mBAAmB;;ACDlF,SAAU,YAAY,CAAC,QAAoB,EAAE,SAAwB,EAAA;AACzE,IAAA,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAErC,IAAA,SAAS,CAAgB,MAAM,EAAE,SAAS;SACvC,IAAI,CACH,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,SAAS,EAAE,CAAC,EACtD,kBAAkB,CAAC,UAAU,CAAC;AAE/B,SAAA,SAAS,CAAC,MAAM,QAAQ,EAAE,CAAC;AAChC;;ACXA,MAAM,iBAAiB,GAAG,qDAAqD;AAIzE,SAAU,YAAY,CAC1B,YAAkC,EAClC,OAAsC,EAAA;AAEtC,IAAA,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACjD,IAAA,IAAI,SAAgC;AACpC,IAAA,IAAI,cAAyD;IAC7D,MAAM,iBAAiB,GAAG,EAAE;IAE5B,MAAM,gBAAgB,GAAG,MAA8B;AACrD,QAAA,MAAM,SAAS,GAAG,YAAY,EAAE;QAChC,IAAI,CAAC,SAAS,EAAE;AACd,YAAA,OAAO,SAAS;QAClB;AAEA,QAAA,OAAO,SAAS,YAAY,UAAU,GAAG,SAAS,CAAC,aAAa,GAAG,SAAS;AAC9E,IAAA,CAAC;IAED,MAAM,oBAAoB,GAAG,MAAoB;AAC/C,QAAA,MAAM,aAAa,GAAG,gBAAgB,EAAE;QACxC,IAAI,CAAC,aAAa,EAAE;AAClB,YAAA,OAAO,EAAE;QACX;QAEA,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAkB;AACvF,IAAA,CAAC;AAED,IAAA,MAAM,aAAa,GAAG,CAAC,KAAoB,KAAU;QACnD,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YAC1C;QACF;AAEA,QAAA,MAAM,iBAAiB,GAAG,oBAAoB,EAAE;AAChD,QAAA,MAAM,cAAc,GAAG,iBAAiB,CAAC,CAAC,CAAC;QAC3C,MAAM,aAAa,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;AACrE,QAAA,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa,EAAE;YACrC;QACF;AAEA,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,cAAc,EAAE;YACnC;QACF;QAEA,KAAK,CAAC,cAAc,EAAE;QACtB,aAAa,CAAC,KAAK,EAAE;AACvB,IAAA,CAAC;IAED,MAAM,KAAK,GAAG,MAAW;AACvB,QAAA,MAAM,cAAc,GAAG,oBAAoB,EAAE,CAAC,CAAC,CAAC;AAChD,QAAA,cAAc,EAAE,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC;AAC/D,IAAA,CAAC;IAED,MAAM,MAAM,GAAG,MAAW;QACxB,IAAI,OAAO,EAAE,QAAQ,IAAI,IAAI,SAAS,EAAE;YACtC;QACF;AAEA,QAAA,MAAM,SAAS,GAAG,CAAC,OAAe,KAAU;YAC1C,IAAI,OAAO,EAAE,QAAQ,IAAI,IAAI,SAAS,EAAE;gBACtC;YACF;AAEA,YAAA,MAAM,aAAa,GAAG,gBAAgB,EAAE;YACxC,IAAI,CAAC,aAAa,EAAE;AAClB,gBAAA,IAAI,OAAO,GAAG,iBAAiB,EAAE;AAC/B,oBAAA,cAAc,GAAG,UAAU,CAAC,MAAM,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;gBAC3D;gBACA;YACF;YAEA,cAAc,GAAG,SAAS;AAC1B,YAAA,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,aAAa,CAAC;YAClD,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC;YACrE,SAAS,CAAC,mBAAmB,EAAE;AACjC,QAAA,CAAC;QAED,cAAc,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC;AACpC,IAAA,CAAC;IAED,MAAM,OAAO,GAAG,MAAW;AACzB,QAAA,IAAI,cAAc,KAAK,SAAS,EAAE;YAChC,YAAY,CAAC,cAAc,CAAC;YAC5B,cAAc,GAAG,SAAS;QAC5B;QACA,IAAI,CAAC,SAAS,EAAE;YACd;QACF;AAEA,QAAA,KAAK,EAAE;QACP,SAAS,CAAC,OAAO,EAAE;QACnB,SAAS,GAAG,SAAS;AACvB,IAAA,CAAC;IAED,OAAO;QACL,MAAM;QACN,KAAK;QACL,OAAO;AACP,QAAA,IAAI,iBAAiB,GAAA;YACnB,OAAO,oBAAoB,EAAE;QAC/B;KACD;AACH;;AC5GA;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"inera-ids-angular-common.mjs","sources":["../../../projects/ids-angular/common/services/input-label-linker.service.ts","../../../projects/ids-angular/common/services/input-described-by-linker.service.ts","../../../projects/ids-angular/common/services/input-invalid-linker.service.ts","../../../projects/ids-angular/common/services/use-id.service.ts","../../../projects/ids-angular/common/classes/form/IDErrorMessageBase.ts","../../../projects/ids-angular/common/classes/form/IDFormBase.ts","../../../projects/ids-angular/common/directives/click-outside.directive.ts","../../../projects/ids-angular/common/services/tooltip-category.service.ts","../../../projects/ids-angular/common/context/header-context.ts","../../../projects/ids-angular/common/utilities/useEscKey.ts","../../../projects/ids-angular/common/utilities/useFocusTrap.ts","../../../projects/ids-angular/common/inera-ids-angular-common.ts"],"sourcesContent":["import { Injectable, ElementRef, Renderer2, RendererFactory2 } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class IDInputLabelLinker {\n private static nextId = 0;\n private renderer: Renderer2;\n\n constructor(rendererFactory: RendererFactory2) {\n this.renderer = rendererFactory.createRenderer(null, null);\n }\n\n link(host: ElementRef<HTMLElement>) {\n const el = host.nativeElement;\n const label = el.querySelector('label');\n const input = el.querySelector('input, textarea, select');\n\n if (!input || !label) return;\n\n const id = input.id || `ids-form-element-${IDInputLabelLinker.nextId++}`;\n this.renderer.setAttribute(input, 'id', id);\n this.renderer.setAttribute(label, 'for', id);\n }\n}","import { ElementRef, Injectable, RendererFactory2, Renderer2 } from '@angular/core';\nimport { IDErrorMessageBase } from '../classes/form/IDErrorMessageBase';\n\n@Injectable({ providedIn: 'root' })\nexport class IDInputDescribedByLinker {\n private renderer: Renderer2;\n\n constructor(rendererFactory: RendererFactory2) {\n this.renderer = rendererFactory.createRenderer(null, null);\n }\n\n link(\n host: ElementRef<HTMLElement>,\n errorMessage: IDErrorMessageBase | undefined,\n invalid: boolean\n ): void {\n const el = host.nativeElement;\n const input = el.querySelector('input, textarea, select');\n const hint = el.querySelector('.ids-input__hint');\n\n if (!input) return;\n\n if (invalid && errorMessage) {\n this.renderer.setAttribute(input, 'aria-describedby', errorMessage.id);\n } else if (!invalid && hint?.id) {\n this.renderer.setAttribute(input, 'aria-describedby', hint.id);\n } else {\n this.renderer.removeAttribute(input, 'aria-describedby');\n }\n }\n}\n","import { ElementRef, Injectable, RendererFactory2, Renderer2 } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class IDInputInvalidLinker {\n private renderer: Renderer2;\n\n constructor(rendererFactory: RendererFactory2) {\n this.renderer = rendererFactory.createRenderer(null, null);\n }\n\n link(\n host: ElementRef<HTMLElement>,\n invalid: boolean\n ): void {\n const el = host.nativeElement;\n const input = el.querySelector('input, textarea, select');\n\n if (!input) return;\n\n if (invalid) {\n this.renderer.addClass(input, 'ids-input--invalid');\n this.renderer.setAttribute(input, 'aria-invalid', 'true');\n } else {\n this.renderer.removeClass(input, 'ids-input--invalid');\n this.renderer.removeAttribute(input, 'aria-invalid');\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class IDUseIdService {\n private static componentCounters: Record<string, number> = {};\n\n generateId(componentName: string): string {\n if (!IDUseIdService.componentCounters[componentName]) {\n IDUseIdService.componentCounters[componentName] = 0;\n }\n IDUseIdService.componentCounters[componentName]++;\n return `ids-${componentName}-${IDUseIdService.componentCounters[componentName]}`;\n }\n}\n","import { Directive, HostBinding, inject, Input} from '@angular/core';\nimport { IDUseIdService } from '../../services/use-id.service';\n\n@Directive()\nexport abstract class IDErrorMessageBase {\n\n @HostBinding('class.ids-error-message--show')\n @Input()\n show: boolean = false;\n\n private idService = inject(IDUseIdService);\n id = this.idService.generateId('error-message');\n \n}\n","import {\n AfterContentInit,\n ContentChild,\n DestroyRef,\n Directive,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n Output,\n Renderer2,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NgControl } from '@angular/forms';\nimport { EMPTY, merge } from 'rxjs';\nimport { auditTime } from 'rxjs/operators';\nimport { IDInputLabelLinker } from '../../services/input-label-linker.service';\nimport { IDInputDescribedByLinker } from '../../services/input-described-by-linker.service';\nimport { IDInputInvalidLinker } from '../../services/input-invalid-linker.service'\nimport { IDErrorMessageBase } from './IDErrorMessageBase';\n\n@Directive()\nexport abstract class IDFormBase implements AfterContentInit {\n @ContentChild(NgControl, { read: NgControl }) ngControl?: NgControl;\n\n @ContentChild(IDErrorMessageBase)\n errorMessage!: IDErrorMessageBase;\n\n @Input()\n validateOn: 'immediate' | 'touched' | 'dirty' | 'blur' | 'none' = 'dirty';\n\n @Output()\n invalidChange = new EventEmitter<boolean>();\n\n private _invalid = false;\n\n @Input()\n get invalid(): boolean {\n return this._invalid;\n }\n set invalid(value: boolean) {\n this._invalid = value;\n this.toggleInputArias({ invalid: this._invalid });\n this.toggleErrorMessage();\n this.invalidChange.emit(value);\n }\n\n @Input()\n srof: string = 'av';\n\n @Input()\n light: boolean = false;\n\n protected inputLabelLinker = inject(IDInputLabelLinker);\n protected inputDescribedByLinker = inject(IDInputDescribedByLinker);\n protected inputInvalidLinker = inject(IDInputInvalidLinker);\n protected destroyRef = inject(DestroyRef);\n\n private blurEvent?: () => void;\n\n get input() {\n return (\n this.host.nativeElement.querySelector('input') ||\n this.host.nativeElement.querySelector('textarea') ||\n this.host.nativeElement.querySelector('select')\n );\n }\n\n get label() {\n return this.host.nativeElement.querySelector('label');\n }\n\n get checkbox() {\n return this.host.nativeElement.querySelector('input[type=checkbox]');\n }\n\n protected host = inject(ElementRef);\n protected renderer = inject(Renderer2);\n\n ngAfterContentInit() {\n if (!this.input) {\n throw new Error('IDS ERROR - Input missing in ' + this.host.nativeElement.tagName);\n }\n if (this.validateOn === 'immediate') {\n this._updateErrorState();\n }\n if (this.validateOn === 'touched' || this.validateOn === 'blur') {\n this.blurEvent = this.renderer.listen(this.input, 'blur', () => {\n this._updateErrorState();\n });\n }\n if (this.ngControl && this.validateOn !== 'blur') {\n merge(...[this.ngControl.statusChanges ?? EMPTY, this.ngControl.valueChanges ?? EMPTY])\n .pipe(auditTime(0), takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this._updateErrorState());\n }\n this.inputLabelLinker.link(this.host);\n this.inputDescribedByLinker.link(this.host, this.errorMessage, this.invalid);\n this.inputInvalidLinker.link(this.host, this.invalid);\n this.renderer.addClass(this.label, 'ids-label');\n if (this.light) {\n this.renderer.addClass(this.input, 'ids-input--light');\n }\n }\n\n protected _updateErrorState() {\n if (!this.ngControl || this.validateOn === 'none') return;\n switch (this.validateOn) {\n case 'immediate':\n this.invalid = Boolean(this.ngControl.invalid);\n break;\n case 'touched':\n this.invalid = Boolean(this.ngControl.invalid) && Boolean(this.ngControl.touched);\n break;\n case 'dirty':\n this.invalid = Boolean(this.ngControl.invalid) && Boolean(this.ngControl.dirty);\n break;\n case 'blur':\n this.invalid = Boolean(this.ngControl.invalid);\n }\n }\n\n toggleErrorMessage(): void {\n if (!this.errorMessage) return;\n this.errorMessage.show = this.invalid;\n }\n\n toggleInputArias({ invalid }: { invalid: boolean }) {\n if (this.checkbox) {\n this.renderer.setAttribute(this.input, 'aria-checked', this.checkbox.checked);\n }\n this.renderer.setAttribute(this.input, 'aria-required', this.input.required);\n \n this.inputDescribedByLinker.link(this.host, this.errorMessage, invalid);\n this.inputInvalidLinker.link(this.host, this.invalid);\n }\n\n ngOnDestroy() {\n this.blurEvent?.();\n }\n}\n","import { Directive, ElementRef, Output, EventEmitter, OnDestroy, inject } from '@angular/core';\n\n@Directive({\n selector: '[idClickOutside]',\n standalone: true\n})\nexport class IDClickOutsideDirective implements OnDestroy {\n @Output() idClickOutside = new EventEmitter<Event>();\n\n private elementRef = inject(ElementRef);\n\n constructor() {\n document.addEventListener('click', this.onDocumentClick, true);\n }\n\n ngOnDestroy() {\n document.removeEventListener('click', this.onDocumentClick, true);\n }\n\n private onDocumentClick = (event: MouseEvent) => {\n if (!this.elementRef.nativeElement.contains(event.target)) {\n this.idClickOutside.emit(event);\n }\n }\n}","import { Injectable, signal } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class IDTooltipCategoryService {\n closeCategory = signal<string | null>(null);\n\n requestClose(category: string) {\n this.closeCategory.set(null);\n this.closeCategory.set(category);\n }\n}","import { InjectionToken } from '@angular/core';\n\nexport interface IDHeaderContext {\n unresponsive: boolean;\n}\n\nexport const ID_HEADER_CONTEXT = new InjectionToken<IDHeaderContext>('ID_HEADER_CONTEXT');","import { inject, DestroyRef } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nexport function useEscapeKey(callback: () => void, condition: () => boolean) {\n const destroyRef = inject(DestroyRef);\n\n fromEvent<KeyboardEvent>(window, 'keydown')\n .pipe(\n filter(event => event.key === 'Escape' && condition()),\n takeUntilDestroyed(destroyRef)\n )\n .subscribe(() => callback());\n}","import { ElementRef, inject } from '@angular/core';\nimport { FocusTrap, FocusTrapFactory } from '@angular/cdk/a11y';\n\nconst focusableSelector = 'button, [href], input, select, textarea, [tabindex]';\n\ntype FocusContainer = ElementRef<HTMLElement> | HTMLElement | undefined;\n\nexport function useFocusTrap(\n getContainer: () => FocusContainer,\n options?: { disabled?: () => boolean }\n) {\n const focusTrapFactory = inject(FocusTrapFactory);\n let focusTrap: FocusTrap | undefined;\n let pendingTimeout: ReturnType<typeof setTimeout> | undefined;\n const maxCreateAttempts = 10;\n\n const getNativeElement = (): HTMLElement | undefined => {\n const container = getContainer();\n if (!container) {\n return undefined;\n }\n\n return container instanceof ElementRef ? container.nativeElement : container;\n };\n\n const getFocusableElements = (): HTMLElement[] => {\n const nativeElement = getNativeElement();\n if (!nativeElement) {\n return [];\n }\n\n return Array.from(nativeElement.querySelectorAll(focusableSelector)) as HTMLElement[];\n };\n\n const handleBackTab = (event: KeyboardEvent): void => {\n if (event.key !== 'Tab' || !event.shiftKey) {\n return;\n }\n\n const focusableElements = getFocusableElements();\n const firstFocusable = focusableElements[0];\n const lastFocusable = focusableElements[focusableElements.length - 1];\n if (!firstFocusable || !lastFocusable) {\n return;\n }\n\n if (event.target !== firstFocusable) {\n return;\n }\n\n event.preventDefault();\n lastFocusable.focus();\n };\n\n const reset = (): void => {\n const firstFocusable = getFocusableElements()[0];\n firstFocusable?.removeEventListener('keydown', handleBackTab);\n };\n\n const create = (): void => {\n if (options?.disabled?.() || focusTrap) {\n return;\n }\n\n const tryCreate = (attempt: number): void => {\n if (options?.disabled?.() || focusTrap) {\n return;\n }\n\n const nativeElement = getNativeElement();\n if (!nativeElement) {\n if (attempt < maxCreateAttempts) {\n pendingTimeout = setTimeout(() => tryCreate(attempt + 1));\n }\n return;\n }\n\n pendingTimeout = undefined;\n focusTrap = focusTrapFactory.create(nativeElement);\n getFocusableElements()[0]?.addEventListener('keydown', handleBackTab);\n focusTrap.focusInitialElement();\n };\n\n queueMicrotask(() => tryCreate(0));\n };\n\n const destroy = (): void => {\n if (pendingTimeout !== undefined) {\n clearTimeout(pendingTimeout);\n pendingTimeout = undefined;\n }\n if (!focusTrap) {\n return;\n }\n\n reset();\n focusTrap.destroy();\n focusTrap = undefined;\n };\n\n return {\n create,\n reset,\n destroy,\n get focusableElements(): HTMLElement[] {\n return getFocusableElements();\n }\n };\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { NgTemplateOutlet } from '@angular/common';
|
|
2
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
2
|
+
import { toObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import {
|
|
4
|
+
import { viewChild, TemplateRef, Component, contentChildren, contentChild, EventEmitter, inject, DestroyRef, booleanAttribute, Output, Input } from '@angular/core';
|
|
5
5
|
import { IDUseIdService } from '@inera/ids-angular/common';
|
|
6
6
|
|
|
7
7
|
class IDAccordionHeaderComponent {
|
|
8
|
-
template;
|
|
8
|
+
template = viewChild.required(TemplateRef);
|
|
9
9
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDAccordionHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
10
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.20", type: IDAccordionHeaderComponent, isStandalone: true, selector: "id-accordion-header", viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
11
11
|
<ng-template>
|
|
12
12
|
<ng-content></ng-content>
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
</ng-template>
|
|
14
|
+
`, isInline: true });
|
|
15
15
|
}
|
|
16
16
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDAccordionHeaderComponent, decorators: [{
|
|
17
17
|
type: Component,
|
|
@@ -21,17 +21,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
21
21
|
template: `
|
|
22
22
|
<ng-template>
|
|
23
23
|
<ng-content></ng-content>
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
</ng-template>
|
|
25
|
+
`,
|
|
26
26
|
}]
|
|
27
|
-
}]
|
|
28
|
-
type: ViewChild,
|
|
29
|
-
args: [TemplateRef, { static: true }]
|
|
30
|
-
}] } });
|
|
27
|
+
}] });
|
|
31
28
|
|
|
32
29
|
class IDAccordionComponent {
|
|
33
|
-
nestedAccordions;
|
|
34
|
-
header;
|
|
30
|
+
nestedAccordions = contentChildren(IDAccordionComponent);
|
|
31
|
+
header = contentChild(IDAccordionHeaderComponent);
|
|
35
32
|
subtitle = '';
|
|
36
33
|
lean = false;
|
|
37
34
|
noBorder = false;
|
|
@@ -42,7 +39,7 @@ class IDAccordionComponent {
|
|
|
42
39
|
opened = new EventEmitter();
|
|
43
40
|
expandedChange = new EventEmitter();
|
|
44
41
|
get hasChildren() {
|
|
45
|
-
return
|
|
42
|
+
return this.nestedAccordions().length > 0;
|
|
46
43
|
}
|
|
47
44
|
get isChild() {
|
|
48
45
|
return this.level > 1;
|
|
@@ -50,14 +47,14 @@ class IDAccordionComponent {
|
|
|
50
47
|
idService = inject(IDUseIdService);
|
|
51
48
|
destroyRef = inject(DestroyRef);
|
|
52
49
|
contentId = this.idService.generateId('accordion');
|
|
50
|
+
nestedAccordionsSubscription = toObservable(this.nestedAccordions)
|
|
51
|
+
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
52
|
+
.subscribe(() => this.updateNestedAccordionLevels());
|
|
53
53
|
ngAfterContentInit() {
|
|
54
54
|
this.updateNestedAccordionLevels();
|
|
55
|
-
this.nestedAccordions?.changes.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
|
|
56
|
-
this.updateNestedAccordionLevels();
|
|
57
|
-
});
|
|
58
55
|
}
|
|
59
56
|
updateNestedAccordionLevels() {
|
|
60
|
-
this.nestedAccordions
|
|
57
|
+
this.nestedAccordions().forEach((accordion) => {
|
|
61
58
|
accordion.level = this.level + 1;
|
|
62
59
|
switch (this.size) {
|
|
63
60
|
case 'm':
|
|
@@ -84,7 +81,7 @@ class IDAccordionComponent {
|
|
|
84
81
|
this.expandedChange.emit(this.expanded);
|
|
85
82
|
}
|
|
86
83
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDAccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
87
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDAccordionComponent, isStandalone: true, selector: "id-accordion", inputs: { subtitle: "subtitle", lean: ["lean", "lean", booleanAttribute], noBorder: ["noBorder", "noBorder", booleanAttribute], expanded: ["expanded", "expanded", booleanAttribute], level: "level", size: "size" }, outputs: { closed: "closed", opened: "opened", expandedChange: "expandedChange" }, host: { properties: { "class.ids-accordion--expanded": "expanded", "class.ids-accordion--no-border": "noBorder", "class.ids-accordion--lean": "lean", "class.ids-accordion--has-children": "hasChildren", "class.ids-accordion--is-child": "isChild" }, classAttribute: "ids-accordion" }, queries: [{ propertyName: "
|
|
84
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDAccordionComponent, isStandalone: true, selector: "id-accordion", inputs: { subtitle: "subtitle", lean: ["lean", "lean", booleanAttribute], noBorder: ["noBorder", "noBorder", booleanAttribute], expanded: ["expanded", "expanded", booleanAttribute], level: "level", size: "size" }, outputs: { closed: "closed", opened: "opened", expandedChange: "expandedChange" }, host: { properties: { "class.ids-accordion--expanded": "expanded", "class.ids-accordion--no-border": "noBorder", "class.ids-accordion--lean": "lean", "class.ids-accordion--has-children": "hasChildren", "class.ids-accordion--is-child": "isChild" }, classAttribute: "ids-accordion" }, queries: [{ propertyName: "nestedAccordions", predicate: IDAccordionComponent, isSignal: true }, { propertyName: "header", first: true, predicate: IDAccordionHeaderComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<button\n [class]=\"'ids-accordion__button ids-accordion__button--' + size\"\n (click)=\"toggleExpansion($event)\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-controls]=\"contentId\"\n>\n <div\n [class]=\"\n 'ids-accordion__headline ids-accordion__headline-' +\n level +\n ' ids-accordion__headline--' +\n size +\n (expanded ? ' ids-accordion__headline--expanded' : '')\n \"\n >\n <ng-container [ngTemplateOutlet]=\"header()!.template()\"></ng-container>\n @if (!!subtitle) {\n <div class=\"ids-accordion__subtitle\">{{ subtitle }}</div>\n }\n </div>\n</button>\n\n<div\n [id]=\"contentId\"\n class=\"ids-accordion__content\"\n [hidden]=\"!expanded\"\n>\n <ng-content select=\":not(id-accordion-header)\"></ng-content>\n</div>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
88
85
|
}
|
|
89
86
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDAccordionComponent, decorators: [{
|
|
90
87
|
type: Component,
|
|
@@ -95,14 +92,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
95
92
|
'[class.ids-accordion--lean]': 'lean',
|
|
96
93
|
'[class.ids-accordion--has-children]': 'hasChildren',
|
|
97
94
|
'[class.ids-accordion--is-child]': 'isChild',
|
|
98
|
-
}, imports: [NgTemplateOutlet], standalone: true, template: "<button\n [class]=\"'ids-accordion__button ids-accordion__button--' + size\"\n (click)=\"toggleExpansion($event)\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-controls]=\"contentId\"\n>\n <div\n [class]=\"\n 'ids-accordion__headline ids-accordion__headline-' +\n level +\n ' ids-accordion__headline--' +\n size +\n (expanded ? ' ids-accordion__headline--expanded' : '')\n \"\n >\n <ng-container [ngTemplateOutlet]=\"header
|
|
99
|
-
}], propDecorators: {
|
|
100
|
-
type: ContentChildren,
|
|
101
|
-
args: [IDAccordionComponent]
|
|
102
|
-
}], header: [{
|
|
103
|
-
type: ContentChild,
|
|
104
|
-
args: [IDAccordionHeaderComponent]
|
|
105
|
-
}], subtitle: [{
|
|
95
|
+
}, imports: [NgTemplateOutlet], standalone: true, template: "<button\n [class]=\"'ids-accordion__button ids-accordion__button--' + size\"\n (click)=\"toggleExpansion($event)\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-controls]=\"contentId\"\n>\n <div\n [class]=\"\n 'ids-accordion__headline ids-accordion__headline-' +\n level +\n ' ids-accordion__headline--' +\n size +\n (expanded ? ' ids-accordion__headline--expanded' : '')\n \"\n >\n <ng-container [ngTemplateOutlet]=\"header()!.template()\"></ng-container>\n @if (!!subtitle) {\n <div class=\"ids-accordion__subtitle\">{{ subtitle }}</div>\n }\n </div>\n</button>\n\n<div\n [id]=\"contentId\"\n class=\"ids-accordion__content\"\n [hidden]=\"!expanded\"\n>\n <ng-content select=\":not(id-accordion-header)\"></ng-content>\n</div>\n" }]
|
|
96
|
+
}], propDecorators: { subtitle: [{
|
|
106
97
|
type: Input
|
|
107
98
|
}], lean: [{
|
|
108
99
|
type: Input,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inera-ids-angular-components-accordion.mjs","sources":["../../../projects/ids-angular/components/accordion/accordion-header.component.ts","../../../projects/ids-angular/components/accordion/accordion.component.ts","../../../projects/ids-angular/components/accordion/accordion.component.html","../../../projects/ids-angular/components/accordion/inera-ids-angular-components-accordion.ts"],"sourcesContent":["import { Component, TemplateRef,
|
|
1
|
+
{"version":3,"file":"inera-ids-angular-components-accordion.mjs","sources":["../../../projects/ids-angular/components/accordion/accordion-header.component.ts","../../../projects/ids-angular/components/accordion/accordion.component.ts","../../../projects/ids-angular/components/accordion/accordion.component.html","../../../projects/ids-angular/components/accordion/inera-ids-angular-components-accordion.ts"],"sourcesContent":["import { Component, TemplateRef, viewChild } from '@angular/core';\n\n@Component({\n selector: 'id-accordion-header',\n standalone: true,\n template: `\n <ng-template>\n <ng-content></ng-content>\n </ng-template>\n `,\n})\nexport class IDAccordionHeaderComponent {\n template = viewChild.required(TemplateRef);\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { Component, DestroyRef, EventEmitter, Input, Output, booleanAttribute, inject, contentChild, contentChildren } from '@angular/core';\nimport { IDAccordionHeaderComponent } from './accordion-header.component';\nimport { IDUseIdService } from '@inera/ids-angular/common';\n\n@Component({\n selector: 'id-accordion',\n templateUrl: './accordion.component.html',\n host: {\n class: 'ids-accordion',\n '[class.ids-accordion--expanded]': 'expanded',\n '[class.ids-accordion--no-border]': 'noBorder',\n '[class.ids-accordion--lean]': 'lean',\n '[class.ids-accordion--has-children]': 'hasChildren',\n '[class.ids-accordion--is-child]': 'isChild',\n },\n imports: [NgTemplateOutlet],\n standalone: true,\n})\nexport class IDAccordionComponent {\n nestedAccordions = contentChildren(IDAccordionComponent);\n\n header = contentChild(IDAccordionHeaderComponent);\n\n @Input() subtitle: string = '';\n @Input({ transform: booleanAttribute }) lean: boolean = false;\n @Input({ transform: booleanAttribute }) noBorder: boolean = false;\n @Input({ transform: booleanAttribute }) expanded: boolean = false;\n @Input() level: number = 1;\n @Input() size: 'xs' | 's' | 'm' = 'm';\n\n @Output() closed: EventEmitter<Event> = new EventEmitter();\n @Output() opened: EventEmitter<Event> = new EventEmitter();\n @Output() expandedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n get hasChildren(): boolean {\n return this.nestedAccordions().length > 0;\n }\n\n get isChild(): boolean {\n return this.level > 1;\n }\n\n private idService = inject(IDUseIdService);\n private destroyRef = inject(DestroyRef);\n contentId = this.idService.generateId('accordion');\n\n private nestedAccordionsSubscription = toObservable(this.nestedAccordions)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.updateNestedAccordionLevels());\n\n ngAfterContentInit() {\n this.updateNestedAccordionLevels();\n }\n\n updateNestedAccordionLevels() {\n this.nestedAccordions().forEach((accordion) => {\n accordion.level = this.level + 1;\n switch (this.size) {\n case 'm':\n accordion.size = 's';\n break;\n case 's':\n accordion.size = 'xs';\n break;\n }\n accordion.updateNestedAccordionLevels();\n });\n }\n\n toggleExpansion(event: Event) {\n this.setExpanded(!this.expanded, event);\n }\n\n private setExpanded(expanded: boolean, event: Event) {\n this.expanded = expanded;\n if (expanded) {\n this.opened.emit(event);\n } else {\n this.closed.emit(event);\n }\n this.expandedChange.emit(this.expanded);\n }\n}\n","<button\n [class]=\"'ids-accordion__button ids-accordion__button--' + size\"\n (click)=\"toggleExpansion($event)\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-controls]=\"contentId\"\n>\n <div\n [class]=\"\n 'ids-accordion__headline ids-accordion__headline-' +\n level +\n ' ids-accordion__headline--' +\n size +\n (expanded ? ' ids-accordion__headline--expanded' : '')\n \"\n >\n <ng-container [ngTemplateOutlet]=\"header()!.template()\"></ng-container>\n @if (!!subtitle) {\n <div class=\"ids-accordion__subtitle\">{{ subtitle }}</div>\n }\n </div>\n</button>\n\n<div\n [id]=\"contentId\"\n class=\"ids-accordion__content\"\n [hidden]=\"!expanded\"\n>\n <ng-content select=\":not(id-accordion-header)\"></ng-content>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|