igniteui-angular 22.1.0-beta.2 → 22.1.0-beta.4
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/fesm2022/igniteui-angular-accordion.mjs +7 -7
- package/fesm2022/igniteui-angular-action-strip.mjs +10 -10
- package/fesm2022/igniteui-angular-avatar.mjs +7 -7
- package/fesm2022/igniteui-angular-badge.mjs +7 -7
- package/fesm2022/igniteui-angular-banner.mjs +11 -11
- package/fesm2022/igniteui-angular-banner.mjs.map +1 -1
- package/fesm2022/igniteui-angular-bottom-nav.mjs +27 -24
- package/fesm2022/igniteui-angular-bottom-nav.mjs.map +1 -1
- package/fesm2022/igniteui-angular-button-group.mjs +7 -7
- package/fesm2022/igniteui-angular-calendar.mjs +65 -65
- package/fesm2022/igniteui-angular-calendar.mjs.map +1 -1
- package/fesm2022/igniteui-angular-card.mjs +39 -34
- package/fesm2022/igniteui-angular-card.mjs.map +1 -1
- package/fesm2022/igniteui-angular-carousel.mjs +22 -22
- package/fesm2022/igniteui-angular-chat-extras.mjs +6 -6
- package/fesm2022/igniteui-angular-chat.mjs +12 -12
- package/fesm2022/igniteui-angular-checkbox.mjs +7 -7
- package/fesm2022/igniteui-angular-chips.mjs +11 -11
- package/fesm2022/igniteui-angular-chips.mjs.map +1 -1
- package/fesm2022/igniteui-angular-combo.mjs +55 -55
- package/fesm2022/igniteui-angular-combo.mjs.map +1 -1
- package/fesm2022/igniteui-angular-core.mjs +54 -54
- package/fesm2022/igniteui-angular-date-picker.mjs +38 -38
- package/fesm2022/igniteui-angular-dialog.mjs +17 -15
- package/fesm2022/igniteui-angular-dialog.mjs.map +1 -1
- package/fesm2022/igniteui-angular-directives.mjs +219 -193
- package/fesm2022/igniteui-angular-directives.mjs.map +1 -1
- package/fesm2022/igniteui-angular-drop-down.mjs +30 -30
- package/fesm2022/igniteui-angular-drop-down.mjs.map +1 -1
- package/fesm2022/igniteui-angular-expansion-panel.mjs +34 -30
- package/fesm2022/igniteui-angular-expansion-panel.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-core.mjs +433 -431
- package/fesm2022/igniteui-angular-grids-core.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-grid.mjs +58 -53
- package/fesm2022/igniteui-angular-grids-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs +39 -39
- package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-lite.mjs +12 -12
- package/fesm2022/igniteui-angular-grids-pivot-grid.mjs +82 -82
- package/fesm2022/igniteui-angular-grids-pivot-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-tree-grid.mjs +57 -57
- package/fesm2022/igniteui-angular-grids-tree-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-icon.mjs +11 -11
- package/fesm2022/igniteui-angular-icon.mjs.map +1 -1
- package/fesm2022/igniteui-angular-input-group.mjs +26 -26
- package/fesm2022/igniteui-angular-input-group.mjs.map +1 -1
- package/fesm2022/igniteui-angular-list.mjs +46 -42
- package/fesm2022/igniteui-angular-list.mjs.map +1 -1
- package/fesm2022/igniteui-angular-navbar.mjs +18 -15
- package/fesm2022/igniteui-angular-navbar.mjs.map +1 -1
- package/fesm2022/igniteui-angular-navigation-drawer.mjs +21 -18
- package/fesm2022/igniteui-angular-navigation-drawer.mjs.map +1 -1
- package/fesm2022/igniteui-angular-paginator.mjs +19 -19
- package/fesm2022/igniteui-angular-progressbar.mjs +19 -19
- package/fesm2022/igniteui-angular-query-builder.mjs +23 -23
- package/fesm2022/igniteui-angular-query-builder.mjs.map +1 -1
- package/fesm2022/igniteui-angular-radio.mjs +10 -10
- package/fesm2022/igniteui-angular-select.mjs +27 -27
- package/fesm2022/igniteui-angular-select.mjs.map +1 -1
- package/fesm2022/igniteui-angular-simple-combo.mjs +9 -9
- package/fesm2022/igniteui-angular-simple-combo.mjs.map +1 -1
- package/fesm2022/igniteui-angular-slider.mjs +28 -28
- package/fesm2022/igniteui-angular-snackbar.mjs +8 -8
- package/fesm2022/igniteui-angular-snackbar.mjs.map +1 -1
- package/fesm2022/igniteui-angular-splitter.mjs +13 -13
- package/fesm2022/igniteui-angular-stepper.mjs +42 -39
- package/fesm2022/igniteui-angular-stepper.mjs.map +1 -1
- package/fesm2022/igniteui-angular-switch.mjs +7 -7
- package/fesm2022/igniteui-angular-tabs.mjs +39 -37
- package/fesm2022/igniteui-angular-tabs.mjs.map +1 -1
- package/fesm2022/igniteui-angular-time-picker.mjs +21 -21
- package/fesm2022/igniteui-angular-time-picker.mjs.map +1 -1
- package/fesm2022/igniteui-angular-toast.mjs +10 -9
- package/fesm2022/igniteui-angular-toast.mjs.map +1 -1
- package/fesm2022/igniteui-angular-tree.mjs +30 -30
- package/fesm2022/igniteui-angular-tree.mjs.map +1 -1
- package/lib/core/styles/components/button/_button-theme.scss +13 -12
- package/lib/core/styles/components/highlight/highlight-theme.scss +1 -6
- package/lib/core/styles/components/icon-button/_icon-button-theme.scss +5 -7
- package/lib/core/styles/components/label/_label-theme.scss +1 -6
- package/lib/core/styles/components/rating/_rating-theme.scss +1 -6
- package/lib/core/styles/components/ripple/_ripple-theme.scss +1 -6
- package/lib/core/styles/components/tooltip/_tooltip-theme.scss +1 -6
- package/lib/core/styles/themes/generators/_base.scss +6 -2
- package/lib/core/styles/typography/_typography.scss +3 -5
- package/package.json +2 -2
- package/styles/igniteui-angular-dark.css +1 -1
- package/styles/igniteui-angular.css +1 -1
- package/styles/igniteui-bootstrap-dark.css +1 -1
- package/styles/igniteui-bootstrap-light.css +1 -1
- package/styles/igniteui-dark-green.css +1 -1
- package/styles/igniteui-fluent-dark-excel.css +1 -1
- package/styles/igniteui-fluent-dark-word.css +1 -1
- package/styles/igniteui-fluent-dark.css +1 -1
- package/styles/igniteui-fluent-light-excel.css +1 -1
- package/styles/igniteui-fluent-light-word.css +1 -1
- package/styles/igniteui-fluent-light.css +1 -1
- package/styles/igniteui-indigo-dark.css +1 -1
- package/styles/igniteui-indigo-light.css +1 -1
- package/styles/maps/igniteui-angular-dark.css.map +1 -1
- package/styles/maps/igniteui-angular.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
- package/styles/maps/igniteui-dark-green.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-light.css.map +1 -1
- package/styles/maps/igniteui-indigo-dark.css.map +1 -1
- package/styles/maps/igniteui-indigo-light.css.map +1 -1
- package/types/igniteui-angular-bottom-nav.d.ts +2 -1
- package/types/igniteui-angular-card.d.ts +4 -3
- package/types/igniteui-angular-dialog.d.ts +2 -1
- package/types/igniteui-angular-directives.d.ts +17 -1
- package/types/igniteui-angular-expansion-panel.d.ts +3 -2
- package/types/igniteui-angular-grids-core.d.ts +2 -1
- package/types/igniteui-angular-list.d.ts +3 -2
- package/types/igniteui-angular-navbar.d.ts +2 -1
- package/types/igniteui-angular-navigation-drawer.d.ts +2 -1
- package/types/igniteui-angular-stepper.d.ts +3 -2
- package/types/igniteui-angular-tabs.d.ts +2 -1
- package/types/igniteui-angular-toast.d.ts +2 -1
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { InjectionToken, inject, ElementRef, Directive, ChangeDetectorRef, Input, HostBinding, ChangeDetectionStrategy, Component, EventEmitter, booleanAttribute, HostListener, ViewChild, ContentChild, Output, ViewEncapsulation, NgModule } from '@angular/core';
|
|
3
|
+
import * as i1 from 'igniteui-angular/directives';
|
|
4
|
+
import { IgxNoTypographyDirective } from 'igniteui-angular/directives';
|
|
3
5
|
import { IgxIconComponent } from 'igniteui-angular/icon';
|
|
4
6
|
import { Subject, noop } from 'rxjs';
|
|
5
7
|
import { takeUntil } from 'rxjs/operators';
|
|
@@ -42,10 +44,10 @@ class HeaderContentBaseDirective {
|
|
|
42
44
|
return null;
|
|
43
45
|
};
|
|
44
46
|
}
|
|
45
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
46
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.
|
|
47
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: HeaderContentBaseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
48
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.1", type: HeaderContentBaseDirective, isStandalone: true, ngImport: i0 }); }
|
|
47
49
|
}
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: HeaderContentBaseDirective, decorators: [{
|
|
49
51
|
type: Directive
|
|
50
52
|
}] });
|
|
51
53
|
|
|
@@ -123,10 +125,10 @@ class IgxExpansionPanelBodyComponent {
|
|
|
123
125
|
set labelledBy(val) {
|
|
124
126
|
this._labelledBy = val;
|
|
125
127
|
}
|
|
126
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
127
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.
|
|
128
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxExpansionPanelBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
129
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.1", type: IgxExpansionPanelBodyComponent, isStandalone: true, selector: "igx-expansion-panel-body", inputs: { role: "role", label: "label", labelledBy: "labelledBy" }, host: { properties: { "class.igx-expansion-panel__body": "this.cssClass", "attr.role": "this.role", "attr.aria-label": "this.label", "attr.aria-labelledby": "this.labelledBy" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
128
130
|
}
|
|
129
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
131
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxExpansionPanelBodyComponent, decorators: [{
|
|
130
132
|
type: Component,
|
|
131
133
|
args: [{
|
|
132
134
|
selector: 'igx-expansion-panel-body',
|
|
@@ -164,14 +166,15 @@ class IgxExpansionPanelTitleDirective extends HeaderContentBaseDirective {
|
|
|
164
166
|
get title() {
|
|
165
167
|
return this.getTooltipContent(this.element);
|
|
166
168
|
}
|
|
167
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
168
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.
|
|
169
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxExpansionPanelTitleDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
170
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.1", type: IgxExpansionPanelTitleDirective, isStandalone: true, selector: "igx-expansion-panel-title", host: { properties: { "class.igx-expansion-panel__header-title": "this.cssClass", "attr.title": "this.title" } }, usesInheritance: true, hostDirectives: [{ directive: i1.IgxNoTypographyDirective }], ngImport: i0 }); }
|
|
169
171
|
}
|
|
170
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
172
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxExpansionPanelTitleDirective, decorators: [{
|
|
171
173
|
type: Directive,
|
|
172
174
|
args: [{
|
|
173
175
|
selector: 'igx-expansion-panel-title',
|
|
174
|
-
standalone: true
|
|
176
|
+
standalone: true,
|
|
177
|
+
hostDirectives: [IgxNoTypographyDirective]
|
|
175
178
|
}]
|
|
176
179
|
}], propDecorators: { cssClass: [{
|
|
177
180
|
type: HostBinding,
|
|
@@ -189,14 +192,15 @@ class IgxExpansionPanelDescriptionDirective extends HeaderContentBaseDirective {
|
|
|
189
192
|
get title() {
|
|
190
193
|
return this.getTooltipContent(this.element);
|
|
191
194
|
}
|
|
192
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
193
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.
|
|
195
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxExpansionPanelDescriptionDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
196
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.1", type: IgxExpansionPanelDescriptionDirective, isStandalone: true, selector: "igx-expansion-panel-description", host: { properties: { "class.igx-expansion-panel__header-description": "this.cssClass", "attr.title": "this.title" } }, usesInheritance: true, hostDirectives: [{ directive: i1.IgxNoTypographyDirective }], ngImport: i0 }); }
|
|
194
197
|
}
|
|
195
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
198
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxExpansionPanelDescriptionDirective, decorators: [{
|
|
196
199
|
type: Directive,
|
|
197
200
|
args: [{
|
|
198
201
|
selector: 'igx-expansion-panel-description',
|
|
199
|
-
standalone: true
|
|
202
|
+
standalone: true,
|
|
203
|
+
hostDirectives: [IgxNoTypographyDirective]
|
|
200
204
|
}]
|
|
201
205
|
}], propDecorators: { cssClass: [{
|
|
202
206
|
type: HostBinding,
|
|
@@ -207,10 +211,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImpor
|
|
|
207
211
|
}] } });
|
|
208
212
|
/** @hidden @internal */
|
|
209
213
|
class IgxExpansionPanelIconDirective {
|
|
210
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
211
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.
|
|
214
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxExpansionPanelIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
215
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.1", type: IgxExpansionPanelIconDirective, isStandalone: true, selector: "igx-expansion-panel-icon", ngImport: i0 }); }
|
|
212
216
|
}
|
|
213
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
217
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxExpansionPanelIconDirective, decorators: [{
|
|
214
218
|
type: Directive,
|
|
215
219
|
args: [{
|
|
216
220
|
selector: 'igx-expansion-panel-icon',
|
|
@@ -431,10 +435,10 @@ class IgxExpansionPanelHeaderComponent {
|
|
|
431
435
|
return '';
|
|
432
436
|
}
|
|
433
437
|
}
|
|
434
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
435
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.
|
|
438
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxExpansionPanelHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
439
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxExpansionPanelHeaderComponent, isStandalone: true, selector: "igx-expansion-panel-header", inputs: { lv: "lv", role: "role", iconPosition: "iconPosition", disabled: ["disabled", "disabled", booleanAttribute] }, outputs: { interaction: "interaction" }, host: { listeners: { "keydown.Enter": "onAction($event)", "keydown.Space": "onAction($event)", "keydown.Spacebar": "onAction($event)", "click": "onAction($event)", "keydown.alt.arrowdown": "openPanel($event)", "keydown.alt.arrowup": "closePanel($event)" }, properties: { "attr.aria-level": "this.lv", "attr.role": "this.role", "class.igx-expansion-panel__header": "this.cssClass", "class.igx-expansion-panel__header--expanded": "this.isExpanded", "class.igx-expansion-panel--disabled": "this.disabled" } }, queries: [{ propertyName: "iconTemplate", first: true, predicate: IgxExpansionPanelIconDirective, descendants: true }, { propertyName: "customIconRef", first: true, predicate: IgxExpansionPanelIconDirective, descendants: true, read: ElementRef }], viewQueries: [{ propertyName: "defaultIconRef", first: true, predicate: IgxIconComponent, descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"igx-expansion-panel__header-inner\" [attr.tabindex]=\"tabIndex\" role=\"button\" [attr.id]=\"id\"\n[attr.aria-disabled]=\"disabled\" [attr.aria-expanded]=\"isExpanded\" [attr.aria-controls]=\"controls\">\n <div class=\"igx-expansion-panel__title-wrapper\">\n <ng-content select=\"igx-expansion-panel-title\"></ng-content>\n <ng-content select=\"igx-expansion-panel-description\"></ng-content>\n </div>\n <ng-content></ng-content>\n <div\n [class]=\"iconPositionClass\"\n [class.igx-expansion-panel__header-icon]=\"true\"\n >\n @if (iconTemplate) {\n <ng-content select=\"igx-expansion-panel-icon\"></ng-content>\n }\n @if (!iconTemplate) {\n <igx-icon\n family=\"default\"\n [name]=\"panel.collapsed ? 'expand' : 'collapse'\">\n </igx-icon>\n }\n </div>\n</div>\n", dependencies: [{ kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
436
440
|
}
|
|
437
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
441
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxExpansionPanelHeaderComponent, decorators: [{
|
|
438
442
|
type: Component,
|
|
439
443
|
args: [{ selector: 'igx-expansion-panel-header', changeDetection: ChangeDetectionStrategy.Eager, imports: [IgxIconComponent], template: "<div class=\"igx-expansion-panel__header-inner\" [attr.tabindex]=\"tabIndex\" role=\"button\" [attr.id]=\"id\"\n[attr.aria-disabled]=\"disabled\" [attr.aria-expanded]=\"isExpanded\" [attr.aria-controls]=\"controls\">\n <div class=\"igx-expansion-panel__title-wrapper\">\n <ng-content select=\"igx-expansion-panel-title\"></ng-content>\n <ng-content select=\"igx-expansion-panel-description\"></ng-content>\n </div>\n <ng-content></ng-content>\n <div\n [class]=\"iconPositionClass\"\n [class.igx-expansion-panel__header-icon]=\"true\"\n >\n @if (iconTemplate) {\n <ng-content select=\"igx-expansion-panel-icon\"></ng-content>\n }\n @if (!iconTemplate) {\n <igx-icon\n family=\"default\"\n [name]=\"panel.collapsed ? 'expand' : 'collapse'\">\n </igx-icon>\n }\n </div>\n</div>\n" }]
|
|
440
444
|
}], ctorParameters: () => [], propDecorators: { iconTemplate: [{
|
|
@@ -653,10 +657,10 @@ class ToggleAnimationPlayer {
|
|
|
653
657
|
return null;
|
|
654
658
|
}
|
|
655
659
|
}
|
|
656
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
657
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.
|
|
660
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: ToggleAnimationPlayer, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
661
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.1", type: ToggleAnimationPlayer, isStandalone: true, ngImport: i0 }); }
|
|
658
662
|
}
|
|
659
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
663
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: ToggleAnimationPlayer, decorators: [{
|
|
660
664
|
type: Directive
|
|
661
665
|
}] });
|
|
662
666
|
|
|
@@ -901,10 +905,10 @@ class IgxExpansionPanelComponent extends ToggleAnimationPlayer {
|
|
|
901
905
|
close(evt) {
|
|
902
906
|
this.collapse(evt);
|
|
903
907
|
}
|
|
904
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
905
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.
|
|
908
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxExpansionPanelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
909
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxExpansionPanelComponent, isStandalone: true, selector: "igx-expansion-panel", inputs: { animationSettings: "animationSettings", id: "id", collapsed: ["collapsed", "collapsed", booleanAttribute] }, outputs: { collapsedChange: "collapsedChange", contentCollapsing: "contentCollapsing", contentCollapsed: "contentCollapsed", contentExpanding: "contentExpanding", contentExpanded: "contentExpanded" }, host: { properties: { "attr.id": "this.id", "class.igx-expansion-panel": "this.cssClass", "class.igx-expansion-panel--expanded": "this.opened", "attr.aria-expanded": "this.panelExpanded" } }, providers: [{ provide: IGX_EXPANSION_PANEL_COMPONENT, useExisting: IgxExpansionPanelComponent }], queries: [{ propertyName: "body", first: true, predicate: IgxExpansionPanelBodyComponent, descendants: true, read: IgxExpansionPanelBodyComponent }, { propertyName: "header", first: true, predicate: IgxExpansionPanelHeaderComponent, descendants: true, read: IgxExpansionPanelHeaderComponent }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"igx-expansion-panel-header\"></ng-content>\n@if (!collapsed) {\n <ng-content select=\"igx-expansion-panel-body\"></ng-content>\n}\n", styles: ["@layer ig.base{.igx-expansion-panel__header-description,.igx-expansion-panel__header-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.igx-expansion-panel{display:flex;flex-direction:column;border-radius:var(--border-radius);overflow:hidden;transition:margin .35s cubic-bezier(.25,.46,.45,.94)}.igx-expansion-panel__title-wrapper{display:flex;flex-direction:column;justify-content:center;flex:1 0 0%;overflow:hidden}.igx-expansion-panel__header-inner{display:flex;align-items:center;padding:1rem 1.5rem;cursor:pointer;background:var(--header-background)}.igx-expansion-panel__header-inner:focus,.igx-expansion-panel__header-inner:active{background:var(--header-focus-background);outline:rgba(0,0,0,0)}.igx-expansion-panel__header-title{color:var(--header-title-color);margin-inline-end:1rem}.igx-expansion-panel__header-description{color:var(--header-description-color)}.igx-expansion-panel__header-icon{display:flex;align-content:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:var(--header-icon-color)}.igx-expansion-panel__header-icon igx-icon{--component-size: 3;color:var(--header-icon-color)}.igx-expansion-panel__header-icon--start{order:-1;margin-inline-end:1rem}.igx-expansion-panel__header-icon--end{order:1;margin-inline-start:1rem}.igx-expansion-panel__header-icon--none{display:none}.igx-expansion-panel__body{color:var(--body-color);background:var(--body-background);overflow:hidden;padding:1rem 1.5rem}.igx-expansion-panel--disabled{pointer-events:none}.igx-expansion-panel--disabled .igx-expansion-panel__header-title{color:var(--disabled-text-color)}.igx-expansion-panel--disabled .igx-expansion-panel__header-description{color:var(--disabled-description-color)}.igx-expansion-panel--disabled .igx-expansion-panel__header-icon igx-icon{color:var(--disabled-text-color)}.igx-expansion-panel--expanded{margin:var(--expanded-margin) 0}.igx-expansion-panel--expanded:first-of-type{margin-top:0}.igx-expansion-panel--expanded:last-of-type{margin-bottom:0}.igx-accordion{box-sizing:content-box;overflow-y:auto}.igx-accordion .igx-expansion-panel__header-title{display:-webkit-inline-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;white-space:initial;word-wrap:break-word}}@layer ig.material{@container style(--ig-theme: material){.igx-expansion-panel__header-title{font-family:var(--ig-h5-font-family, var(--ig-font-family));font-size:var(--ig-h5-font-size);font-weight:var(--ig-h5-font-weight);font-style:var(--ig-h5-font-style);line-height:var(--ig-h5-line-height);letter-spacing:var(--ig-h5-letter-spacing);text-transform:var(--ig-h5-text-transform);margin-top:var(--ig-h5-margin-top);margin-bottom:var(--ig-h5-margin-bottom);margin:0}.igx-expansion-panel__header-description{font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom);margin:0}.igx-expansion-panel__body{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);margin:0}}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-expansion-panel__header-inner{padding:.625rem 1rem}.igx-expansion-panel__header-icon igx-icon{--component-size: 2}.igx-expansion-panel__header-icon--start{margin-inline-end:.5rem}.igx-expansion-panel__header-icon--end{margin-inline-start:.5rem}.igx-expansion-panel__body{padding:.25rem 1rem 1rem}.igx-expansion-panel__header-title{margin-block-end:.125rem;font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);margin:0}.igx-expansion-panel__header-description,.igx-expansion-panel__body{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);margin:0}}}@layer ig.bootstrap{@container style(--ig-theme: bootstrap){.igx-expansion-panel__header-title{font-family:var(--ig-h5-font-family, var(--ig-font-family));font-size:var(--ig-h5-font-size);font-weight:var(--ig-h5-font-weight);font-style:var(--ig-h5-font-style);line-height:var(--ig-h5-line-height);letter-spacing:var(--ig-h5-letter-spacing);text-transform:var(--ig-h5-text-transform);margin-top:var(--ig-h5-margin-top);margin-bottom:var(--ig-h5-margin-bottom);margin:0}.igx-expansion-panel__header-description{font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom);margin:0}.igx-expansion-panel__body{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);margin:0}}}@layer ig.fluent{@container style(--ig-theme: fluent){.igx-expansion-panel__header-title{font-family:var(--ig-subtitle-1-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-1-font-size);font-weight:var(--ig-subtitle-1-font-weight);font-style:var(--ig-subtitle-1-font-style);line-height:var(--ig-subtitle-1-line-height);letter-spacing:var(--ig-subtitle-1-letter-spacing);text-transform:var(--ig-subtitle-1-text-transform);margin-top:var(--ig-subtitle-1-margin-top);margin-bottom:var(--ig-subtitle-1-margin-bottom);margin:0}.igx-expansion-panel__header-description{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);margin:0}.igx-expansion-panel__body{font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom);margin:0}}}\n"], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None }); }
|
|
906
910
|
}
|
|
907
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
911
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxExpansionPanelComponent, decorators: [{
|
|
908
912
|
type: Component,
|
|
909
913
|
args: [{ selector: 'igx-expansion-panel', encapsulation: ViewEncapsulation.None, providers: [{ provide: IGX_EXPANSION_PANEL_COMPONENT, useExisting: IgxExpansionPanelComponent }], changeDetection: ChangeDetectionStrategy.Eager, imports: [], template: "<ng-content select=\"igx-expansion-panel-header\"></ng-content>\n@if (!collapsed) {\n <ng-content select=\"igx-expansion-panel-body\"></ng-content>\n}\n", styles: ["@layer ig.base{.igx-expansion-panel__header-description,.igx-expansion-panel__header-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.igx-expansion-panel{display:flex;flex-direction:column;border-radius:var(--border-radius);overflow:hidden;transition:margin .35s cubic-bezier(.25,.46,.45,.94)}.igx-expansion-panel__title-wrapper{display:flex;flex-direction:column;justify-content:center;flex:1 0 0%;overflow:hidden}.igx-expansion-panel__header-inner{display:flex;align-items:center;padding:1rem 1.5rem;cursor:pointer;background:var(--header-background)}.igx-expansion-panel__header-inner:focus,.igx-expansion-panel__header-inner:active{background:var(--header-focus-background);outline:rgba(0,0,0,0)}.igx-expansion-panel__header-title{color:var(--header-title-color);margin-inline-end:1rem}.igx-expansion-panel__header-description{color:var(--header-description-color)}.igx-expansion-panel__header-icon{display:flex;align-content:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:var(--header-icon-color)}.igx-expansion-panel__header-icon igx-icon{--component-size: 3;color:var(--header-icon-color)}.igx-expansion-panel__header-icon--start{order:-1;margin-inline-end:1rem}.igx-expansion-panel__header-icon--end{order:1;margin-inline-start:1rem}.igx-expansion-panel__header-icon--none{display:none}.igx-expansion-panel__body{color:var(--body-color);background:var(--body-background);overflow:hidden;padding:1rem 1.5rem}.igx-expansion-panel--disabled{pointer-events:none}.igx-expansion-panel--disabled .igx-expansion-panel__header-title{color:var(--disabled-text-color)}.igx-expansion-panel--disabled .igx-expansion-panel__header-description{color:var(--disabled-description-color)}.igx-expansion-panel--disabled .igx-expansion-panel__header-icon igx-icon{color:var(--disabled-text-color)}.igx-expansion-panel--expanded{margin:var(--expanded-margin) 0}.igx-expansion-panel--expanded:first-of-type{margin-top:0}.igx-expansion-panel--expanded:last-of-type{margin-bottom:0}.igx-accordion{box-sizing:content-box;overflow-y:auto}.igx-accordion .igx-expansion-panel__header-title{display:-webkit-inline-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;white-space:initial;word-wrap:break-word}}@layer ig.material{@container style(--ig-theme: material){.igx-expansion-panel__header-title{font-family:var(--ig-h5-font-family, var(--ig-font-family));font-size:var(--ig-h5-font-size);font-weight:var(--ig-h5-font-weight);font-style:var(--ig-h5-font-style);line-height:var(--ig-h5-line-height);letter-spacing:var(--ig-h5-letter-spacing);text-transform:var(--ig-h5-text-transform);margin-top:var(--ig-h5-margin-top);margin-bottom:var(--ig-h5-margin-bottom);margin:0}.igx-expansion-panel__header-description{font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom);margin:0}.igx-expansion-panel__body{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);margin:0}}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-expansion-panel__header-inner{padding:.625rem 1rem}.igx-expansion-panel__header-icon igx-icon{--component-size: 2}.igx-expansion-panel__header-icon--start{margin-inline-end:.5rem}.igx-expansion-panel__header-icon--end{margin-inline-start:.5rem}.igx-expansion-panel__body{padding:.25rem 1rem 1rem}.igx-expansion-panel__header-title{margin-block-end:.125rem;font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);margin:0}.igx-expansion-panel__header-description,.igx-expansion-panel__body{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);margin:0}}}@layer ig.bootstrap{@container style(--ig-theme: bootstrap){.igx-expansion-panel__header-title{font-family:var(--ig-h5-font-family, var(--ig-font-family));font-size:var(--ig-h5-font-size);font-weight:var(--ig-h5-font-weight);font-style:var(--ig-h5-font-style);line-height:var(--ig-h5-line-height);letter-spacing:var(--ig-h5-letter-spacing);text-transform:var(--ig-h5-text-transform);margin-top:var(--ig-h5-margin-top);margin-bottom:var(--ig-h5-margin-bottom);margin:0}.igx-expansion-panel__header-description{font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom);margin:0}.igx-expansion-panel__body{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);margin:0}}}@layer ig.fluent{@container style(--ig-theme: fluent){.igx-expansion-panel__header-title{font-family:var(--ig-subtitle-1-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-1-font-size);font-weight:var(--ig-subtitle-1-font-weight);font-style:var(--ig-subtitle-1-font-style);line-height:var(--ig-subtitle-1-line-height);letter-spacing:var(--ig-subtitle-1-letter-spacing);text-transform:var(--ig-subtitle-1-text-transform);margin-top:var(--ig-subtitle-1-margin-top);margin-bottom:var(--ig-subtitle-1-margin-bottom);margin:0}.igx-expansion-panel__header-description{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);margin:0}.igx-expansion-panel__body{font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom);margin:0}}}\n"] }]
|
|
910
914
|
}], propDecorators: { animationSettings: [{
|
|
@@ -959,11 +963,11 @@ const IGX_EXPANSION_PANEL_DIRECTIVES = [
|
|
|
959
963
|
* IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
|
|
960
964
|
*/
|
|
961
965
|
class IgxExpansionPanelModule {
|
|
962
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
963
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.
|
|
964
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.
|
|
966
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxExpansionPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
967
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.1", ngImport: i0, type: IgxExpansionPanelModule, imports: [IgxExpansionPanelComponent, IgxExpansionPanelHeaderComponent, IgxExpansionPanelBodyComponent, IgxExpansionPanelDescriptionDirective, IgxExpansionPanelTitleDirective, IgxExpansionPanelIconDirective], exports: [IgxExpansionPanelComponent, IgxExpansionPanelHeaderComponent, IgxExpansionPanelBodyComponent, IgxExpansionPanelDescriptionDirective, IgxExpansionPanelTitleDirective, IgxExpansionPanelIconDirective] }); }
|
|
968
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxExpansionPanelModule, imports: [IgxExpansionPanelHeaderComponent] }); }
|
|
965
969
|
}
|
|
966
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
970
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxExpansionPanelModule, decorators: [{
|
|
967
971
|
type: NgModule,
|
|
968
972
|
args: [{
|
|
969
973
|
imports: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igniteui-angular-expansion-panel.mjs","sources":["../../../projects/igniteui-angular/expansion-panel/src/expansion-panel/expansion-panel.common.ts","../../../projects/igniteui-angular/expansion-panel/src/expansion-panel/expansion-panel-body.component.ts","../../../projects/igniteui-angular/expansion-panel/src/expansion-panel/expansion-panel.directives.ts","../../../projects/igniteui-angular/expansion-panel/src/expansion-panel/expansion-panel-header.component.ts","../../../projects/igniteui-angular/expansion-panel/src/expansion-panel/expansion-panel-header.component.html","../../../projects/igniteui-angular/expansion-panel/src/expansion-panel/toggle-animation-component.ts","../../../projects/igniteui-angular/expansion-panel/src/expansion-panel/expansion-panel.component.ts","../../../projects/igniteui-angular/expansion-panel/src/expansion-panel/expansion-panel.component.html","../../../projects/igniteui-angular/expansion-panel/src/expansion-panel/public_api.ts","../../../projects/igniteui-angular/expansion-panel/src/expansion-panel/expansion-panel.module.ts","../../../projects/igniteui-angular/expansion-panel/src/igniteui-angular-expansion-panel.ts"],"sourcesContent":["import { Directive, ElementRef, EventEmitter, inject, InjectionToken } from '@angular/core';\nimport { AnimationReferenceMetadata } from '@angular/animations';\nimport { CancelableEventArgs, IBaseEventArgs } from 'igniteui-angular/core';\n\nexport interface IgxExpansionPanelBase {\n id: string;\n cssClass: string;\n /** @hidden @internal */\n headerId: string;\n collapsed: boolean;\n animationSettings: { openAnimation: AnimationReferenceMetadata; closeAnimation: AnimationReferenceMetadata };\n contentCollapsed: EventEmitter<any>;\n contentCollapsing: EventEmitter<any>;\n contentExpanded: EventEmitter<any>;\n contentExpanding: EventEmitter<any>;\n collapse(evt?: Event);\n expand(evt?: Event);\n toggle(evt?: Event);\n}\n\n/** @hidden */\nexport const IGX_EXPANSION_PANEL_COMPONENT = /*@__PURE__*/new InjectionToken<IgxExpansionPanelBase>('IgxExpansionPanelToken');\n\nexport interface IExpansionPanelEventArgs extends IBaseEventArgs {\n event: Event;\n}\n\nexport interface IExpansionPanelCancelableEventArgs extends IExpansionPanelEventArgs, CancelableEventArgs {}\n\n@Directive()\nexport abstract class HeaderContentBaseDirective {\n protected element = inject(ElementRef);\n\n /**\n * Returns the `textContent` of an element\n *\n * ```html\n * <igx-expansion-panel-title>\n * Tooltip content\n * </igx-expansion-panel-title>\n * ```\n *\n * or the `title` content\n *\n * ```html\n * <igx-expansion-panel-title [title]=\"'Tooltip content'\">\n * </igx-expansion-panel-title>\n * ```\n *\n * If both are provided, returns the `title` content.\n *\n * @param element\n * @returns tooltip content for an element\n */\n public getTooltipContent = (element: ElementRef): string => {\n if (element.nativeElement.title) {\n return element.nativeElement.title;\n }\n if (element.nativeElement.textContent) {\n return element.nativeElement.textContent.trim();\n }\n\n return null;\n };\n}\n","import { Component, HostBinding, ElementRef, Input, ChangeDetectorRef, inject, ChangeDetectionStrategy } from '@angular/core';\nimport { IgxExpansionPanelBase, IGX_EXPANSION_PANEL_COMPONENT } from './expansion-panel.common';\n\n@Component({\n selector: 'igx-expansion-panel-body',\n template: `<ng-content></ng-content>`,\n changeDetection: ChangeDetectionStrategy.Eager,\n standalone: true\n})\nexport class IgxExpansionPanelBodyComponent {\n public panel = inject<IgxExpansionPanelBase>(IGX_EXPANSION_PANEL_COMPONENT);\n public element = inject(ElementRef);\n public cdr = inject(ChangeDetectorRef);\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-expansion-panel__body')\n public cssClass = `igx-expansion-panel__body`;\n\n /**\n * Gets/sets the `role` attribute of the panel body\n * Default is 'region';\n * Get\n * ```typescript\n * const currentRole = this.panel.body.role;\n * ```\n * Set\n * ```typescript\n * this.panel.body.role = 'content';\n * ```\n * ```html\n * <igx-expansion-panel-body [role]=\"'custom'\"></igx-expansion-panel-body>\n * ```\n */\n @Input()\n @HostBinding('attr.role')\n public role = 'region';\n\n private _labelledBy = '';\n private _label = '';\n\n /**\n * Gets the `aria-label` attribute of the panel body\n * Defaults to the panel id with '-region' in the end;\n * Get\n * ```typescript\n * const currentLabel = this.panel.body.label;\n * ```\n */\n @Input()\n @HostBinding('attr.aria-label')\n public get label(): string {\n return this._label || this.panel.id + '-region';\n }\n /**\n * Sets the `aria-label` attribute of the panel body\n * ```typescript\n * this.panel.body.label = 'my-custom-label';\n * ```\n * ```html\n * <igx-expansion-panel-body [label]=\"'my-custom-label'\"></igx-expansion-panel-body>\n * ```\n */\n public set label(val: string) {\n this._label = val;\n }\n\n /**\n * Gets the `aria-labelledby` attribute of the panel body\n * Defaults to the panel header id;\n * Get\n * ```typescript\n * const currentLabel = this.panel.body.labelledBy;\n * ```\n */\n @Input()\n @HostBinding('attr.aria-labelledby')\n public get labelledBy(): string {\n return this._labelledBy;\n }\n /**\n * Sets the `aria-labelledby` attribute of the panel body\n * ```typescript\n * this.panel.body.labelledBy = 'my-custom-id';\n * ```\n * ```html\n * <igx-expansion-panel-body [labelledBy]=\"'my-custom-id'\"></igx-expansion-panel-body>\n * ```\n */\n public set labelledBy(val: string) {\n this._labelledBy = val;\n }\n}\n","/* eslint-disable @angular-eslint/directive-selector */\nimport { Directive, HostBinding } from '@angular/core';\nimport { HeaderContentBaseDirective } from './expansion-panel.common';\n\n/** @hidden @internal */\n@Directive({\n selector: 'igx-expansion-panel-title',\n standalone: true\n})\nexport class IgxExpansionPanelTitleDirective extends HeaderContentBaseDirective {\n @HostBinding('class.igx-expansion-panel__header-title')\n public cssClass = `igx-expansion-panel__header-title`;\n\n @HostBinding('attr.title')\n private get title(): string {\n return this.getTooltipContent(this.element);\n }\n}\n\n/** @hidden @internal */\n@Directive({\n selector: 'igx-expansion-panel-description',\n standalone: true\n})\nexport class IgxExpansionPanelDescriptionDirective extends HeaderContentBaseDirective {\n @HostBinding('class.igx-expansion-panel__header-description')\n public cssClass = `igx-expansion-panel__header-description`;\n\n @HostBinding('attr.title')\n private get title(): string {\n return this.getTooltipContent(this.element);\n }\n}\n\n/** @hidden @internal */\n@Directive({\n selector: 'igx-expansion-panel-icon',\n standalone: true\n})\nexport class IgxExpansionPanelIconDirective { }\n","import { Component, ChangeDetectorRef, ElementRef, HostBinding, HostListener, Input, EventEmitter, Output, ContentChild, ViewChild, booleanAttribute, inject, ChangeDetectionStrategy } from '@angular/core';\nimport { IgxExpansionPanelIconDirective } from './expansion-panel.directives';\nimport { IGX_EXPANSION_PANEL_COMPONENT, IgxExpansionPanelBase, IExpansionPanelCancelableEventArgs } from './expansion-panel.common';\nimport { IgxIconComponent } from 'igniteui-angular/icon';\n\n/**\n * @hidden\n */\nexport const ExpansionPanelHeaderIconPosition = {\n LEFT: 'left',\n NONE: 'none',\n RIGHT: 'right'\n} as const;\nexport type ExpansionPanelHeaderIconPosition = (typeof ExpansionPanelHeaderIconPosition)[keyof typeof ExpansionPanelHeaderIconPosition];\n\n\n@Component({\n selector: 'igx-expansion-panel-header',\n templateUrl: 'expansion-panel-header.component.html',\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [IgxIconComponent]\n})\nexport class IgxExpansionPanelHeaderComponent {\n public panel = inject<IgxExpansionPanelBase>(IGX_EXPANSION_PANEL_COMPONENT, { host: true });\n public cdr = inject(ChangeDetectorRef);\n public elementRef = inject(ElementRef);\n\n /**\n * Returns a reference to the `igx-expansion-panel-icon` element;\n * If `iconPosition` is `NONE` - return null;\n */\n public get iconRef(): ElementRef {\n const renderedTemplate = this.customIconRef ?? this.defaultIconRef;\n return this.iconPosition !== ExpansionPanelHeaderIconPosition.NONE ? renderedTemplate : null;\n }\n\n /**\n * @hidden\n */\n @ContentChild(IgxExpansionPanelIconDirective)\n public set iconTemplate(val: boolean) {\n this._iconTemplate = val;\n }\n\n /**\n * @hidden\n */\n public get iconTemplate(): boolean {\n return this._iconTemplate;\n }\n\n /**\n * Gets/sets the `aria-level` attribute of the header\n * Get\n * ```typescript\n * const currentAriaLevel = this.panel.header.lv;\n * ```\n * Set\n * ```typescript\n * this.panel.header.lv = '5';\n * ```\n * ```html\n * <igx-expansion-panel-header [lv]=\"myCustomLevel\"></igx-expansion-panel-header>\n * ```\n */\n @HostBinding('attr.aria-level')\n @Input()\n public lv = '3';\n\n /**\n * Gets/sets the `role` attribute of the header\n * Get\n * ```typescript\n * const currentRole = this.panel.header.role;\n * ```\n * Set\n * ```typescript\n * this.panel.header.role = '5';\n * ```\n * ```html\n * <igx-expansion-panel-header [role]=\"'custom'\"></igx-expansion-panel-header>\n * ```\n */\n @HostBinding('attr.role')\n @Input()\n public role = 'heading';\n\n /**\n * @hidden\n */\n public get controls(): string {\n return this.panel.id;\n }\n\n /**\n * @hidden @internal\n */\n public get innerElement() {\n return this.elementRef.nativeElement.children[0];\n }\n\n /**\n * Gets/sets the position of the expansion-panel-header expand/collapse icon\n * Accepts `left`, `right` or `none`\n * ```typescript\n * const currentIconPosition = this.panel.header.iconPosition;\n * ```\n * Set\n * ```typescript\n * this.panel.header.iconPosition = 'left';\n * ```\n * ```html\n * <igx-expansion-panel-header [iconPosition]=\"'right'\"></igx-expansion-panel-header>\n * ```\n */\n @Input()\n public iconPosition: ExpansionPanelHeaderIconPosition = ExpansionPanelHeaderIconPosition.LEFT;\n\n /**\n * Emitted whenever a user interacts with the header host\n * ```typescript\n * handleInteraction(event: IExpansionPanelCancelableEventArgs) {\n * ...\n * }\n * ```\n * ```html\n * <igx-expansion-panel-header (interaction)=\"handleInteraction($event)\">\n * ...\n * </igx-expansion-panel-header>\n * ```\n */\n @Output()\n public interaction = new EventEmitter<IExpansionPanelCancelableEventArgs>();\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-expansion-panel__header')\n public cssClass = 'igx-expansion-panel__header';\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-expansion-panel__header--expanded')\n public get isExpanded() {\n return !this.panel.collapsed;\n }\n\n /**\n * Gets/sets the whether the header is disabled\n * When disabled, the header will not handle user events and will stop their propagation\n *\n * ```typescript\n * const isDisabled = this.panel.header.disabled;\n * ```\n * Set\n * ```typescript\n * this.panel.header.disabled = true;\n * ```\n * ```html\n * <igx-expansion-panel-header [disabled]=\"true\">\n * ...\n * </igx-expansion-panel-header>\n * ```\n */\n @Input({ transform: booleanAttribute })\n @HostBinding('class.igx-expansion-panel--disabled')\n public get disabled(): boolean {\n return this._disabled;\n }\n\n public set disabled(val: boolean) {\n this._disabled = val;\n if (val) {\n // V.S. June 11th, 2021: #9696 TabIndex should be removed when panel is disabled\n delete this.tabIndex;\n } else {\n this.tabIndex = 0;\n }\n }\n\n /** @hidden @internal */\n @ContentChild(IgxExpansionPanelIconDirective, { read: ElementRef })\n private customIconRef: ElementRef;\n\n /** @hidden @internal */\n @ViewChild(IgxIconComponent, { read: ElementRef })\n private defaultIconRef: ElementRef;\n\n /**\n * Sets/gets the `id` of the expansion panel header.\n * ```typescript\n * let panelHeaderId = this.panel.header.id;\n * ```\n *\n * @memberof IgxExpansionPanelComponent\n */\n public id = '';\n\n /** @hidden @internal */\n public tabIndex = 0;\n\n // properties section\n private _iconTemplate = false;\n private _disabled = false;\n\n constructor() {\n this.id = `${this.panel.id}-header`;\n }\n\n /**\n * @hidden\n */\n @HostListener('keydown.Enter', ['$event'])\n @HostListener('keydown.Space', ['$event'])\n @HostListener('keydown.Spacebar', ['$event'])\n @HostListener('click', ['$event'])\n public onAction(evt?: Event) {\n if (this.disabled) {\n evt.stopPropagation();\n return;\n }\n const eventArgs: IExpansionPanelCancelableEventArgs = { event: evt, owner: this.panel, cancel: false };\n this.interaction.emit(eventArgs);\n if (eventArgs.cancel === true) {\n return;\n }\n this.panel.toggle(evt);\n evt.preventDefault();\n }\n\n /** @hidden @internal */\n @HostListener('keydown.alt.arrowdown', ['$event'])\n public openPanel(event: KeyboardEvent) {\n if (event.altKey) {\n const eventArgs: IExpansionPanelCancelableEventArgs = { event, owner: this.panel, cancel: false };\n this.interaction.emit(eventArgs);\n if (eventArgs.cancel === true) {\n return;\n }\n this.panel.expand(event);\n }\n }\n\n /** @hidden @internal */\n @HostListener('keydown.alt.arrowup', ['$event'])\n public closePanel(event: KeyboardEvent) {\n if (event.altKey) {\n const eventArgs: IExpansionPanelCancelableEventArgs = { event, owner: this.panel, cancel: false };\n this.interaction.emit(eventArgs);\n if (eventArgs.cancel === true) {\n return;\n }\n this.panel.collapse(event);\n }\n }\n\n /**\n * @hidden\n */\n public get iconPositionClass(): string {\n switch (this.iconPosition) {\n case (ExpansionPanelHeaderIconPosition.LEFT):\n return `igx-expansion-panel__header-icon--start`;\n case (ExpansionPanelHeaderIconPosition.RIGHT):\n return `igx-expansion-panel__header-icon--end`;\n case (ExpansionPanelHeaderIconPosition.NONE):\n return `igx-expansion-panel__header-icon--none`;\n default:\n return '';\n }\n }\n}\n","<div class=\"igx-expansion-panel__header-inner\" [attr.tabindex]=\"tabIndex\" role=\"button\" [attr.id]=\"id\"\n[attr.aria-disabled]=\"disabled\" [attr.aria-expanded]=\"isExpanded\" [attr.aria-controls]=\"controls\">\n <div class=\"igx-expansion-panel__title-wrapper\">\n <ng-content select=\"igx-expansion-panel-title\"></ng-content>\n <ng-content select=\"igx-expansion-panel-description\"></ng-content>\n </div>\n <ng-content></ng-content>\n <div\n [class]=\"iconPositionClass\"\n [class.igx-expansion-panel__header-icon]=\"true\"\n >\n @if (iconTemplate) {\n <ng-content select=\"igx-expansion-panel-icon\"></ng-content>\n }\n @if (!iconTemplate) {\n <igx-icon\n family=\"default\"\n [name]=\"panel.collapsed ? 'expand' : 'collapse'\">\n </igx-icon>\n }\n </div>\n</div>\n","import { AnimationReferenceMetadata } from '@angular/animations';\nimport { Directive, ElementRef, EventEmitter, inject, OnDestroy } from '@angular/core';\nimport { noop, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { IgxAngularAnimationService } from 'igniteui-angular/core';\nimport { AnimationPlayer, AnimationService } from 'igniteui-angular/core';\nimport { growVerIn, growVerOut } from 'igniteui-angular/animations';\n\n/**@hidden @internal */\nexport interface ToggleAnimationSettings {\n openAnimation: AnimationReferenceMetadata;\n closeAnimation: AnimationReferenceMetadata;\n}\n\nexport interface ToggleAnimationOwner {\n animationSettings: ToggleAnimationSettings;\n openAnimationStart: EventEmitter<void>;\n openAnimationDone: EventEmitter<void>;\n closeAnimationStart: EventEmitter<void>;\n closeAnimationDone: EventEmitter<void>;\n openAnimationPlayer: AnimationPlayer;\n closeAnimationPlayer: AnimationPlayer;\n playOpenAnimation(element: ElementRef, onDone: () => void): void;\n playCloseAnimation(element: ElementRef, onDone: () => void): void;\n}\n\n/** @hidden @internal */\nexport enum ANIMATION_TYPE {\n OPEN = 'open',\n CLOSE = 'close',\n}\n\n/**@hidden @internal */\n@Directive()\nexport abstract class ToggleAnimationPlayer implements ToggleAnimationOwner, OnDestroy {\n protected animationService = inject<AnimationService>(IgxAngularAnimationService);\n\n /** @hidden @internal */\n public openAnimationDone: EventEmitter<void> = new EventEmitter();\n /** @hidden @internal */\n public closeAnimationDone: EventEmitter<void> = new EventEmitter();\n /** @hidden @internal */\n public openAnimationStart: EventEmitter<void> = new EventEmitter();\n /** @hidden @internal */\n public closeAnimationStart: EventEmitter<void> = new EventEmitter();\n\n public get animationSettings(): ToggleAnimationSettings {\n return this._animationSettings;\n }\n public set animationSettings(value: ToggleAnimationSettings) {\n this._animationSettings = value;\n }\n\n /** @hidden @internal */\n public openAnimationPlayer: AnimationPlayer = null;\n\n /** @hidden @internal */\n public closeAnimationPlayer: AnimationPlayer = null;\n\n protected destroy$: Subject<void> = new Subject();\n protected players: Map<string, AnimationPlayer> = new Map();\n protected _animationSettings: ToggleAnimationSettings = {\n openAnimation: growVerIn,\n closeAnimation: growVerOut\n };\n\n private closeInterrupted = false;\n private openInterrupted = false;\n\n private _defaultClosedCallback = noop;\n private _defaultOpenedCallback = noop;\n private onClosedCallback: () => any = this._defaultClosedCallback;\n private onOpenedCallback: () => any = this._defaultOpenedCallback;\n\n /** @hidden @internal */\n public playOpenAnimation(targetElement: ElementRef, onDone?: () => void): void {\n this.startPlayer(ANIMATION_TYPE.OPEN, targetElement, onDone || this._defaultOpenedCallback);\n }\n\n /** @hidden @internal */\n public playCloseAnimation(targetElement: ElementRef, onDone?: () => void): void {\n this.startPlayer(ANIMATION_TYPE.CLOSE, targetElement, onDone || this._defaultClosedCallback);\n }\n\n /** @hidden @internal */\n public ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private startPlayer(type: ANIMATION_TYPE, targetElement: ElementRef, callback: () => void): void {\n if (!targetElement) { // if no element is passed, there is nothing to animate\n return;\n }\n let target = this.getPlayer(type);\n if (!target) {\n target = this.initializePlayer(type, targetElement, callback);\n }\n // V.S. Jun 28th, 2021 #9783: player will NOT be initialized w/ null settings\n // events will already be emitted\n if (!target || target.hasStarted()) {\n return;\n }\n const targetEmitter = type === ANIMATION_TYPE.OPEN ? this.openAnimationStart : this.closeAnimationStart;\n targetEmitter.emit();\n if (target) {\n target.play();\n }\n }\n\n private initializePlayer(type: ANIMATION_TYPE, targetElement: ElementRef, callback: () => void): AnimationPlayer {\n const oppositeType = type === ANIMATION_TYPE.OPEN ? ANIMATION_TYPE.CLOSE : ANIMATION_TYPE.OPEN;\n // V.S. Jun 28th, 2021 #9783: Treat falsy animation settings as disabled animations\n const targetAnimationSettings = this.animationSettings || { closeAnimation: null, openAnimation: null };\n const animationSettings = type === ANIMATION_TYPE.OPEN ?\n targetAnimationSettings.openAnimation : targetAnimationSettings.closeAnimation;\n // V.S. Jun 28th, 2021 #9783: When no animation in target direction, emit start and done events and return\n if (!animationSettings) {\n this.setCallback(type, callback);\n const targetEmitter = type === ANIMATION_TYPE.OPEN ? this.openAnimationStart : this.closeAnimationStart;\n targetEmitter.emit();\n this.onDoneHandler(type);\n return;\n }\n const opposite = this.getPlayer(oppositeType);\n let oppositePosition = 1;\n if (opposite) {\n oppositePosition = opposite.position;\n this.cleanUpPlayer(oppositeType);\n }\n if (type === ANIMATION_TYPE.OPEN) {\n this.openAnimationPlayer = this.animationService.buildAnimation(animationSettings, targetElement.nativeElement);\n } else if (type === ANIMATION_TYPE.CLOSE) {\n this.closeAnimationPlayer = this.animationService.buildAnimation(animationSettings, targetElement.nativeElement);\n }\n const target = this.getPlayer(type);\n target.init();\n this.getPlayer(type).position = 1 - oppositePosition;\n this.setCallback(type, callback);\n target.animationEnd.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.onDoneHandler(type);\n });\n return target;\n }\n\n private onDoneHandler(type) {\n const targetEmitter = type === ANIMATION_TYPE.OPEN ? this.openAnimationDone : this.closeAnimationDone;\n const targetCallback = type === ANIMATION_TYPE.OPEN ? this.onOpenedCallback : this.onClosedCallback;\n targetCallback();\n if (!(type === ANIMATION_TYPE.OPEN ? this.openInterrupted : this.closeInterrupted)) {\n targetEmitter.emit();\n }\n this.cleanUpPlayer(type);\n }\n\n private setCallback(type: ANIMATION_TYPE, callback: () => void) {\n if (type === ANIMATION_TYPE.OPEN) {\n this.onOpenedCallback = callback;\n this.openInterrupted = false;\n } else if (type === ANIMATION_TYPE.CLOSE) {\n this.onClosedCallback = callback;\n this.closeInterrupted = false;\n }\n }\n\n private cleanUpPlayer(target: ANIMATION_TYPE) {\n switch (target) {\n case ANIMATION_TYPE.CLOSE:\n if (this.closeAnimationPlayer != null) {\n this.closeAnimationPlayer.reset();\n this.closeAnimationPlayer.destroy();\n this.closeAnimationPlayer = null;\n }\n this.closeInterrupted = true;\n this.onClosedCallback = this._defaultClosedCallback;\n break;\n case ANIMATION_TYPE.OPEN:\n if (this.openAnimationPlayer != null) {\n this.openAnimationPlayer.reset();\n this.openAnimationPlayer.destroy();\n this.openAnimationPlayer = null;\n }\n this.openInterrupted = true;\n this.onOpenedCallback = this._defaultOpenedCallback;\n break;\n default:\n break;\n }\n }\n\n private getPlayer(type: ANIMATION_TYPE): AnimationPlayer {\n switch (type) {\n case ANIMATION_TYPE.OPEN:\n return this.openAnimationPlayer;\n case ANIMATION_TYPE.CLOSE:\n return this.closeAnimationPlayer;\n default:\n return null;\n }\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostBinding,\n inject,\n Input,\n Output,\n booleanAttribute,\n ChangeDetectionStrategy,\n ViewEncapsulation\n} from '@angular/core';\nimport { IgxExpansionPanelBodyComponent } from './expansion-panel-body.component';\nimport { IgxExpansionPanelHeaderComponent } from './expansion-panel-header.component';\nimport {\n IExpansionPanelCancelableEventArgs,\n IExpansionPanelEventArgs,\n IgxExpansionPanelBase,\n IGX_EXPANSION_PANEL_COMPONENT\n} from './expansion-panel.common';\nimport { ToggleAnimationPlayer, ToggleAnimationSettings } from './toggle-animation-component';\n\nlet NEXT_ID = 0;\n\n@Component({\n selector: 'igx-expansion-panel',\n templateUrl: 'expansion-panel.component.html',\n styleUrl: 'expansion-panel.component.css',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: IGX_EXPANSION_PANEL_COMPONENT, useExisting: IgxExpansionPanelComponent }],\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: []\n})\nexport class IgxExpansionPanelComponent extends ToggleAnimationPlayer implements IgxExpansionPanelBase, AfterContentInit {\n private cdr = inject(ChangeDetectorRef);\n private elementRef = inject(ElementRef);\n\n /**\n * Sets/gets the animation settings of the expansion panel component\n * Open and Close animation should be passed\n *\n * Get\n * ```typescript\n * const currentAnimations = this.panel.animationSettings;\n * ```\n * Set\n * ```typescript\n * import { slideInLeft, slideOutRight } from 'igniteui-angular';\n * ...\n * this.panel.animationsSettings = {\n * openAnimation: slideInLeft,\n * closeAnimation: slideOutRight\n * };\n * ```\n * or via template\n * ```typescript\n * import { slideInLeft, slideOutRight } from 'igniteui-angular';\n * ...\n * myCustomAnimationObject = {\n * openAnimation: slideInLeft,\n * closeAnimation: slideOutRight\n * };\n * ```html\n * <igx-expansion-panel [animationSettings]='myCustomAnimationObject'>\n * ...\n * </igx-expansion-panel>\n * ```\n */\n @Input()\n public override get animationSettings(): ToggleAnimationSettings {\n return this._animationSettings;\n }\n public override set animationSettings(value: ToggleAnimationSettings) {\n this._animationSettings = value;\n }\n\n /**\n * Sets/gets the `id` of the expansion panel component.\n * If not set, `id` will have value `\"igx-expansion-panel-0\"`;\n * ```html\n * <igx-expansion-panel id = \"my-first-expansion-panel\"></igx-expansion-panel>\n * ```\n * ```typescript\n * let panelId = this.panel.id;\n * ```\n *\n * @memberof IgxExpansionPanelComponent\n */\n @HostBinding('attr.id')\n @Input()\n public id = `igx-expansion-panel-${NEXT_ID++}`;\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-expansion-panel')\n public cssClass = 'igx-expansion-panel';\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-expansion-panel--expanded')\n protected opened = false;\n\n /**\n * @hidden @internal\n */\n @HostBinding('attr.aria-expanded')\n public get panelExpanded() {\n return !this.collapsed;\n }\n\n /**\n * Gets/sets whether the component is collapsed (its content is hidden)\n * Get\n * ```typescript\n * const myPanelState: boolean = this.panel.collapsed;\n * ```\n * Set\n * ```html\n * this.panel.collapsed = true;\n * ```\n *\n * Two-way data binding:\n * ```html\n * <igx-expansion-panel [(collapsed)]=\"model.isCollapsed\"></igx-expansion-panel>\n * ```\n */\n @Input({ transform: booleanAttribute })\n public collapsed = true;\n\n /**\n * @hidden\n */\n @Output()\n public collapsedChange = new EventEmitter<boolean>();\n\n /**\n * Emitted when the expansion panel starts collapsing\n * ```typescript\n * handleCollapsing(event: IExpansionPanelCancelableEventArgs)\n * ```\n * ```html\n * <igx-expansion-panel (contentCollapsing)=\"handleCollapsing($event)\">\n * ...\n * </igx-expansion-panel>\n * ```\n */\n @Output()\n public contentCollapsing = new EventEmitter<IExpansionPanelCancelableEventArgs>();\n\n /**\n * Emitted when the expansion panel finishes collapsing\n * ```typescript\n * handleCollapsed(event: IExpansionPanelEventArgs)\n * ```\n * ```html\n * <igx-expansion-panel (contentCollapsed)=\"handleCollapsed($event)\">\n * ...\n * </igx-expansion-panel>\n * ```\n */\n @Output()\n public contentCollapsed = new EventEmitter<IExpansionPanelEventArgs>();\n\n /**\n * Emitted when the expansion panel starts expanding\n * ```typescript\n * handleExpanding(event: IExpansionPanelCancelableEventArgs)\n * ```\n * ```html\n * <igx-expansion-panel (contentExpanding)=\"handleExpanding($event)\">\n * ...\n * </igx-expansion-panel>\n * ```\n */\n @Output()\n public contentExpanding = new EventEmitter<IExpansionPanelCancelableEventArgs>();\n\n /**\n * Emitted when the expansion panel finishes expanding\n * ```typescript\n * handleExpanded(event: IExpansionPanelEventArgs)\n * ```\n * ```html\n * <igx-expansion-panel (contentExpanded)=\"handleExpanded($event)\">\n * ...\n * </igx-expansion-panel>\n * ```\n */\n @Output()\n public contentExpanded = new EventEmitter<IExpansionPanelEventArgs>();\n\n /**\n * @hidden\n */\n public get headerId() {\n return this.header ? `${this.id}-header` : '';\n }\n\n /**\n * @hidden @internal\n */\n public get nativeElement() {\n return this.elementRef.nativeElement;\n }\n\n /**\n * @hidden\n */\n @ContentChild(IgxExpansionPanelBodyComponent, { read: IgxExpansionPanelBodyComponent })\n public body: IgxExpansionPanelBodyComponent;\n\n /**\n * @hidden\n */\n @ContentChild(IgxExpansionPanelHeaderComponent, { read: IgxExpansionPanelHeaderComponent })\n public header: IgxExpansionPanelHeaderComponent;\n\n /** @hidden */\n public ngAfterContentInit(): void {\n if (this.body && this.header) {\n // schedule at end of turn:\n Promise.resolve().then(() => {\n this.body.labelledBy = this.body.labelledBy || this.headerId;\n this.body.label = this.body.label || this.id + '-region';\n });\n }\n }\n\n /**\n * Collapses the panel\n *\n * ```html\n * <igx-expansion-panel #myPanel>\n * ...\n * </igx-expansion-panel>\n * <button type=\"button\" igxButton (click)=\"myPanel.collapse($event)\">Collpase Panel</button>\n * ```\n */\n public collapse(evt?: Event) {\n // If expansion panel is already collapsed or is collapsing, do nothing\n if (this.collapsed || this.closeAnimationPlayer) {\n return;\n }\n const args = { event: evt, panel: this, owner: this, cancel: false };\n this.contentCollapsing.emit(args);\n if (args.cancel === true) {\n return;\n }\n this.opened = false;\n this.playCloseAnimation(\n this.body?.element,\n () => {\n this.contentCollapsed.emit({ event: evt, owner: this });\n this.collapsed = true;\n this.collapsedChange.emit(true);\n this.cdr.markForCheck();\n }\n );\n }\n\n /**\n * Expands the panel\n *\n * ```html\n * <igx-expansion-panel #myPanel>\n * ...\n * </igx-expansion-panel>\n * <button type=\"button\" igxButton (click)=\"myPanel.expand($event)\">Expand Panel</button>\n * ```\n */\n public expand(evt?: Event) {\n if (!this.collapsed && !this.closeAnimationPlayer) { // Check if the panel is currently collapsing or already expanded\n return;\n }\n const args = { event: evt, panel: this, owner: this, cancel: false };\n this.contentExpanding.emit(args);\n if (args.cancel === true) {\n return;\n }\n this.collapsed = false;\n this.opened = true;\n this.collapsedChange.emit(false);\n this.cdr.detectChanges();\n this.playOpenAnimation(\n this.body?.element,\n () => {\n this.contentExpanded.emit({ event: evt, owner: this });\n }\n );\n }\n\n /**\n * Toggles the panel\n *\n * ```html\n * <igx-expansion-panel #myPanel>\n * ...\n * </igx-expansion-panel>\n * <button type=\"button\" igxButton (click)=\"myPanel.toggle($event)\">Expand Panel</button>\n * ```\n */\n public toggle(evt?: Event) {\n if (this.collapsed) {\n this.open(evt);\n } else {\n this.close(evt);\n }\n }\n\n public open(evt?: Event) {\n this.expand(evt);\n }\n\n public close(evt?: Event) {\n this.collapse(evt);\n }\n}\n","<ng-content select=\"igx-expansion-panel-header\"></ng-content>\n@if (!collapsed) {\n <ng-content select=\"igx-expansion-panel-body\"></ng-content>\n}\n","import { IgxExpansionPanelBodyComponent } from './expansion-panel-body.component';\nimport { IgxExpansionPanelHeaderComponent } from './expansion-panel-header.component';\nimport { IgxExpansionPanelComponent } from './expansion-panel.component';\nimport { IgxExpansionPanelDescriptionDirective, IgxExpansionPanelIconDirective, IgxExpansionPanelTitleDirective } from './expansion-panel.directives';\n\nexport { IExpansionPanelEventArgs, IExpansionPanelCancelableEventArgs, IgxExpansionPanelBase } from './expansion-panel.common';\nexport { IgxExpansionPanelHeaderComponent } from './expansion-panel-header.component';\nexport { IgxExpansionPanelBodyComponent } from './expansion-panel-body.component';\nexport { IgxExpansionPanelComponent } from './expansion-panel.component';\nexport {\n IgxExpansionPanelDescriptionDirective,\n IgxExpansionPanelIconDirective,\n IgxExpansionPanelTitleDirective\n} from './expansion-panel.directives';\nexport { ExpansionPanelHeaderIconPosition } from './expansion-panel-header.component';\nexport { ToggleAnimationSettings, ToggleAnimationPlayer } from './toggle-animation-component';\n\n/* NOTE: Expansion panel directives collection for ease-of-use import in standalone components scenario */\nexport const IGX_EXPANSION_PANEL_DIRECTIVES = [\n IgxExpansionPanelComponent,\n IgxExpansionPanelHeaderComponent,\n IgxExpansionPanelBodyComponent,\n IgxExpansionPanelDescriptionDirective,\n IgxExpansionPanelTitleDirective,\n IgxExpansionPanelIconDirective\n] as const;\n","import { NgModule } from '@angular/core';\nimport { IGX_EXPANSION_PANEL_DIRECTIVES } from './public_api';\n\n/**\n * @hidden\n * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components\n */\n@NgModule({\n imports: [\n ...IGX_EXPANSION_PANEL_DIRECTIVES\n ],\n exports: [\n ...IGX_EXPANSION_PANEL_DIRECTIVES\n ]\n})\nexport class IgxExpansionPanelModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.IgxExpansionPanelComponent","i2.IgxExpansionPanelHeaderComponent","i3.IgxExpansionPanelBodyComponent","i4.IgxExpansionPanelDescriptionDirective","i4.IgxExpansionPanelTitleDirective","i4.IgxExpansionPanelIconDirective"],"mappings":";;;;;;;;AAoBA;AACO,MAAM,6BAA6B,iBAAgB,IAAI,cAAc,CAAwB,wBAAwB,CAAC;MASvG,0BAA0B,CAAA;AADhD,IAAA,WAAA,GAAA;AAEc,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;AAoBG;AACI,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAAC,OAAmB,KAAY;AACvD,YAAA,IAAI,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE;AAC7B,gBAAA,OAAO,OAAO,CAAC,aAAa,CAAC,KAAK;YACtC;AACA,YAAA,IAAI,OAAO,CAAC,aAAa,CAAC,WAAW,EAAE;gBACnC,OAAO,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,EAAE;YACnD;AAEA,YAAA,OAAO,IAAI;AACf,QAAA,CAAC;AACJ,IAAA;8GAlCqB,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAD/C;;;MCpBY,8BAA8B,CAAA;AAN3C,IAAA,WAAA,GAAA;AAOW,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAwB,6BAA6B,CAAC;AACpE,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC;AAC5B,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAEtC;;AAEG;QAEI,IAAA,CAAA,QAAQ,GAAG,2BAA2B;AAE7C;;;;;;;;;;;;;;AAcG;QAGI,IAAA,CAAA,IAAI,GAAG,QAAQ;QAEd,IAAA,CAAA,WAAW,GAAG,EAAE;QAChB,IAAA,CAAA,MAAM,GAAG,EAAE;AAqDtB,IAAA;AAnDG;;;;;;;AAOG;AACH,IAAA,IAEW,KAAK,GAAA;QACZ,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,SAAS;IACnD;AACA;;;;;;;;AAQG;IACH,IAAW,KAAK,CAAC,GAAW,EAAA;AACxB,QAAA,IAAI,CAAC,MAAM,GAAG,GAAG;IACrB;AAEA;;;;;;;AAOG;AACH,IAAA,IAEW,UAAU,GAAA;QACjB,OAAO,IAAI,CAAC,WAAW;IAC3B;AACA;;;;;;;;AAQG;IACH,IAAW,UAAU,CAAC,GAAW,EAAA;AAC7B,QAAA,IAAI,CAAC,WAAW,GAAG,GAAG;IAC1B;8GAnFS,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,8BAA8B,4UAJ7B,CAAA,yBAAA,CAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,KAAA,EAAA,CAAA,CAAA;;2FAI5B,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAN1C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,0BAA0B;AACpC,oBAAA,QAAQ,EAAE,CAAA,yBAAA,CAA2B;oBACrC,eAAe,EAAE,uBAAuB,CAAC,KAAK;AAC9C,oBAAA,UAAU,EAAE;AACf,iBAAA;;sBASI,WAAW;uBAAC,iCAAiC;;sBAkB7C;;sBACA,WAAW;uBAAC,WAAW;;sBAcvB;;sBACA,WAAW;uBAAC,iBAAiB;;sBAyB7B;;sBACA,WAAW;uBAAC,sBAAsB;;;AC7EvC;AAIA;AAKM,MAAO,+BAAgC,SAAQ,0BAA0B,CAAA;AAJ/E,IAAA,WAAA,GAAA;;QAMW,IAAA,CAAA,QAAQ,GAAG,mCAAmC;AAMxD,IAAA;AAJG,IAAA,IACY,KAAK,GAAA;QACb,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;IAC/C;8GAPS,+BAA+B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA/B,+BAA+B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,yCAAA,EAAA,eAAA,EAAA,YAAA,EAAA,YAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA/B,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAJ3C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,2BAA2B;AACrC,oBAAA,UAAU,EAAE;AACf,iBAAA;;sBAEI,WAAW;uBAAC,yCAAyC;;sBAGrD,WAAW;uBAAC,YAAY;;AAM7B;AAKM,MAAO,qCAAsC,SAAQ,0BAA0B,CAAA;AAJrF,IAAA,WAAA,GAAA;;QAMW,IAAA,CAAA,QAAQ,GAAG,yCAAyC;AAM9D,IAAA;AAJG,IAAA,IACY,KAAK,GAAA;QACb,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;IAC/C;8GAPS,qCAAqC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAArC,qCAAqC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,+CAAA,EAAA,eAAA,EAAA,YAAA,EAAA,YAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAArC,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBAJjD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iCAAiC;AAC3C,oBAAA,UAAU,EAAE;AACf,iBAAA;;sBAEI,WAAW;uBAAC,+CAA+C;;sBAG3D,WAAW;uBAAC,YAAY;;AAM7B;MAKa,8BAA8B,CAAA;8GAA9B,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA9B,8BAA8B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA9B,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAJ1C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,0BAA0B;AACpC,oBAAA,UAAU,EAAE;AACf,iBAAA;;;ACjCD;;AAEG;AACI,MAAM,gCAAgC,GAAG;AAC5C,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,KAAK,EAAE;;MAWE,gCAAgC,CAAA;AAKzC;;;AAGG;AACH,IAAA,IAAW,OAAO,GAAA;QACd,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc;AAClE,QAAA,OAAO,IAAI,CAAC,YAAY,KAAK,gCAAgC,CAAC,IAAI,GAAG,gBAAgB,GAAG,IAAI;IAChG;AAEA;;AAEG;IACH,IACW,YAAY,CAAC,GAAY,EAAA;AAChC,QAAA,IAAI,CAAC,aAAa,GAAG,GAAG;IAC5B;AAEA;;AAEG;AACH,IAAA,IAAW,YAAY,GAAA;QACnB,OAAO,IAAI,CAAC,aAAa;IAC7B;AAsCA;;AAEG;AACH,IAAA,IAAW,QAAQ,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE;IACxB;AAEA;;AAEG;AACH,IAAA,IAAW,YAAY,GAAA;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpD;AAyCA;;AAEG;AACH,IAAA,IACW,UAAU,GAAA;AACjB,QAAA,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS;IAChC;AAEA;;;;;;;;;;;;;;;;AAgBG;AACH,IAAA,IAEW,QAAQ,GAAA;QACf,OAAO,IAAI,CAAC,SAAS;IACzB;IAEA,IAAW,QAAQ,CAAC,GAAY,EAAA;AAC5B,QAAA,IAAI,CAAC,SAAS,GAAG,GAAG;QACpB,IAAI,GAAG,EAAE;;YAEL,OAAO,IAAI,CAAC,QAAQ;QACxB;aAAO;AACH,YAAA,IAAI,CAAC,QAAQ,GAAG,CAAC;QACrB;IACJ;AA2BA,IAAA,WAAA,GAAA;QAvLO,IAAA,CAAA,KAAK,GAAG,MAAM,CAAwB,6BAA6B,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACpF,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC/B,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AA0BtC;;;;;;;;;;;;;AAaG;QAGI,IAAA,CAAA,EAAE,GAAG,GAAG;AAEf;;;;;;;;;;;;;AAaG;QAGI,IAAA,CAAA,IAAI,GAAG,SAAS;AAgBvB;;;;;;;;;;;;;AAaG;AAEI,QAAA,IAAA,CAAA,YAAY,GAAqC,gCAAgC,CAAC,IAAI;AAE7F;;;;;;;;;;;;AAYG;AAEI,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAsC;AAE3E;;AAEG;QAEI,IAAA,CAAA,QAAQ,GAAG,6BAA6B;AAmD/C;;;;;;;AAOG;QACI,IAAA,CAAA,EAAE,GAAG,EAAE;;QAGP,IAAA,CAAA,QAAQ,GAAG,CAAC;;QAGX,IAAA,CAAA,aAAa,GAAG,KAAK;QACrB,IAAA,CAAA,SAAS,GAAG,KAAK;QAGrB,IAAI,CAAC,EAAE,GAAG,CAAA,EAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAA,OAAA,CAAS;IACvC;AAEA;;AAEG;AAKI,IAAA,QAAQ,CAAC,GAAW,EAAA;AACvB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,GAAG,CAAC,eAAe,EAAE;YACrB;QACJ;AACA,QAAA,MAAM,SAAS,GAAuC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;AACtG,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;AAChC,QAAA,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,EAAE;YAC3B;QACJ;AACA,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;QACtB,GAAG,CAAC,cAAc,EAAE;IACxB;;AAIO,IAAA,SAAS,CAAC,KAAoB,EAAA;AACjC,QAAA,IAAI,KAAK,CAAC,MAAM,EAAE;AACd,YAAA,MAAM,SAAS,GAAuC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;AACjG,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;AAChC,YAAA,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,EAAE;gBAC3B;YACJ;AACA,YAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QAC5B;IACJ;;AAIO,IAAA,UAAU,CAAC,KAAoB,EAAA;AAClC,QAAA,IAAI,KAAK,CAAC,MAAM,EAAE;AACd,YAAA,MAAM,SAAS,GAAuC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;AACjG,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;AAChC,YAAA,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,EAAE;gBAC3B;YACJ;AACA,YAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC9B;IACJ;AAEA;;AAEG;AACH,IAAA,IAAW,iBAAiB,GAAA;AACxB,QAAA,QAAQ,IAAI,CAAC,YAAY;AACrB,YAAA,MAAM,gCAAgC,CAAC,IAAI;AACvC,gBAAA,OAAO,yCAAyC;AACpD,YAAA,MAAM,gCAAgC,CAAC,KAAK;AACxC,gBAAA,OAAO,uCAAuC;AAClD,YAAA,MAAM,gCAAgC,CAAC,IAAI;AACvC,gBAAA,OAAO,wCAAwC;AACnD,YAAA;AACI,gBAAA,OAAO,EAAE;;IAErB;8GAzPS,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gCAAgC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,YAAA,EAAA,cAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EA+IrB,gBAAgB,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,uBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,mCAAA,EAAA,eAAA,EAAA,6CAAA,EAAA,iBAAA,EAAA,qCAAA,EAAA,eAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EA9HtB,8BAA8B,gFA+I9B,8BAA8B,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAU,UAAU,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAIrD,gBAAgB,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAU,UAAU,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC1LnD,m5BAsBA,4CDFc,gBAAgB,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,KAAA,EAAA,CAAA,CAAA;;2FAEjB,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAN5C,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,4BAA4B,mBAErB,uBAAuB,CAAC,KAAK,EAAA,OAAA,EACrC,CAAC,gBAAgB,CAAC,EAAA,QAAA,EAAA,m5BAAA,EAAA;;sBAmB1B,YAAY;uBAAC,8BAA8B;;sBA0B3C,WAAW;uBAAC,iBAAiB;;sBAC7B;;sBAiBA,WAAW;uBAAC,WAAW;;sBACvB;;sBA+BA;;sBAgBA;;sBAMA,WAAW;uBAAC,mCAAmC;;sBAM/C,WAAW;uBAAC,6CAA6C;;sBAsBzD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBACrC,WAAW;uBAAC,qCAAqC;;sBAgBjD,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,8BAA8B,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;;sBAIjE,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,gBAAgB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;;sBA2BhD,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;;sBACxC,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;;sBACxC,YAAY;uBAAC,kBAAkB,EAAE,CAAC,QAAQ,CAAC;;sBAC3C,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;sBAgBhC,YAAY;uBAAC,uBAAuB,EAAE,CAAC,QAAQ,CAAC;;sBAahD,YAAY;uBAAC,qBAAqB,EAAE,CAAC,QAAQ,CAAC;;;AE1NnD;AACA,IAAY,cAGX;AAHD,CAAA,UAAY,cAAc,EAAA;AACtB,IAAA,cAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,cAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACnB,CAAC,EAHW,cAAc,KAAd,cAAc,GAAA,EAAA,CAAA,CAAA;AAK1B;MAEsB,qBAAqB,CAAA;AAD3C,IAAA,WAAA,GAAA;AAEc,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAmB,0BAA0B,CAAC;;AAG1E,QAAA,IAAA,CAAA,iBAAiB,GAAuB,IAAI,YAAY,EAAE;;AAE1D,QAAA,IAAA,CAAA,kBAAkB,GAAuB,IAAI,YAAY,EAAE;;AAE3D,QAAA,IAAA,CAAA,kBAAkB,GAAuB,IAAI,YAAY,EAAE;;AAE3D,QAAA,IAAA,CAAA,mBAAmB,GAAuB,IAAI,YAAY,EAAE;;QAU5D,IAAA,CAAA,mBAAmB,GAAoB,IAAI;;QAG3C,IAAA,CAAA,oBAAoB,GAAoB,IAAI;AAEzC,QAAA,IAAA,CAAA,QAAQ,GAAkB,IAAI,OAAO,EAAE;AACvC,QAAA,IAAA,CAAA,OAAO,GAAiC,IAAI,GAAG,EAAE;AACjD,QAAA,IAAA,CAAA,kBAAkB,GAA4B;AACpD,YAAA,aAAa,EAAE,SAAS;AACxB,YAAA,cAAc,EAAE;SACnB;QAEO,IAAA,CAAA,gBAAgB,GAAG,KAAK;QACxB,IAAA,CAAA,eAAe,GAAG,KAAK;QAEvB,IAAA,CAAA,sBAAsB,GAAG,IAAI;QAC7B,IAAA,CAAA,sBAAsB,GAAG,IAAI;AAC7B,QAAA,IAAA,CAAA,gBAAgB,GAAc,IAAI,CAAC,sBAAsB;AACzD,QAAA,IAAA,CAAA,gBAAgB,GAAc,IAAI,CAAC,sBAAsB;AAgIpE,IAAA;AA1JG,IAAA,IAAW,iBAAiB,GAAA;QACxB,OAAO,IAAI,CAAC,kBAAkB;IAClC;IACA,IAAW,iBAAiB,CAAC,KAA8B,EAAA;AACvD,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK;IACnC;;IAwBO,iBAAiB,CAAC,aAAyB,EAAE,MAAmB,EAAA;AACnE,QAAA,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,IAAI,IAAI,CAAC,sBAAsB,CAAC;IAC/F;;IAGO,kBAAkB,CAAC,aAAyB,EAAE,MAAmB,EAAA;AACpE,QAAA,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,IAAI,CAAC,sBAAsB,CAAC;IAChG;;IAGO,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;AACpB,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;IAC5B;AAEQ,IAAA,WAAW,CAAC,IAAoB,EAAE,aAAyB,EAAE,QAAoB,EAAA;AACrF,QAAA,IAAI,CAAC,aAAa,EAAE;YAChB;QACJ;QACA,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QACjC,IAAI,CAAC,MAAM,EAAE;YACT,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,CAAC;QACjE;;;QAGA,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,EAAE,EAAE;YAChC;QACJ;AACA,QAAA,MAAM,aAAa,GAAG,IAAI,KAAK,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,mBAAmB;QACvG,aAAa,CAAC,IAAI,EAAE;QACpB,IAAI,MAAM,EAAE;YACR,MAAM,CAAC,IAAI,EAAE;QACjB;IACJ;AAEQ,IAAA,gBAAgB,CAAC,IAAoB,EAAE,aAAyB,EAAE,QAAoB,EAAA;AAC1F,QAAA,MAAM,YAAY,GAAG,IAAI,KAAK,cAAc,CAAC,IAAI,GAAG,cAAc,CAAC,KAAK,GAAG,cAAc,CAAC,IAAI;;AAE9F,QAAA,MAAM,uBAAuB,GAAG,IAAI,CAAC,iBAAiB,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;QACvG,MAAM,iBAAiB,GAAG,IAAI,KAAK,cAAc,CAAC,IAAI;YAClD,uBAAuB,CAAC,aAAa,GAAG,uBAAuB,CAAC,cAAc;;QAElF,IAAI,CAAC,iBAAiB,EAAE;AACpB,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC;AAChC,YAAA,MAAM,aAAa,GAAG,IAAI,KAAK,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,mBAAmB;YACvG,aAAa,CAAC,IAAI,EAAE;AACpB,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;YACxB;QACJ;QACA,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;QAC7C,IAAI,gBAAgB,GAAG,CAAC;QACxB,IAAI,QAAQ,EAAE;AACV,YAAA,gBAAgB,GAAG,QAAQ,CAAC,QAAQ;AACpC,YAAA,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;QACpC;AACA,QAAA,IAAI,IAAI,KAAK,cAAc,CAAC,IAAI,EAAE;AAC9B,YAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,iBAAiB,EAAE,aAAa,CAAC,aAAa,CAAC;QACnH;AAAO,aAAA,IAAI,IAAI,KAAK,cAAc,CAAC,KAAK,EAAE;AACtC,YAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,iBAAiB,EAAE,aAAa,CAAC,aAAa,CAAC;QACpH;QACA,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QACnC,MAAM,CAAC,IAAI,EAAE;QACb,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,GAAG,gBAAgB;AACpD,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC;AAChC,QAAA,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;AAC9D,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;AAC5B,QAAA,CAAC,CAAC;AACF,QAAA,OAAO,MAAM;IACjB;AAEQ,IAAA,aAAa,CAAC,IAAI,EAAA;AACtB,QAAA,MAAM,aAAa,GAAG,IAAI,KAAK,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,kBAAkB;AACrG,QAAA,MAAM,cAAc,GAAG,IAAI,KAAK,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB;AACnG,QAAA,cAAc,EAAE;QAChB,IAAI,EAAE,IAAI,KAAK,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE;YAChF,aAAa,CAAC,IAAI,EAAE;QACxB;AACA,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;IAC5B;IAEQ,WAAW,CAAC,IAAoB,EAAE,QAAoB,EAAA;AAC1D,QAAA,IAAI,IAAI,KAAK,cAAc,CAAC,IAAI,EAAE;AAC9B,YAAA,IAAI,CAAC,gBAAgB,GAAG,QAAQ;AAChC,YAAA,IAAI,CAAC,eAAe,GAAG,KAAK;QAChC;AAAO,aAAA,IAAI,IAAI,KAAK,cAAc,CAAC,KAAK,EAAE;AACtC,YAAA,IAAI,CAAC,gBAAgB,GAAG,QAAQ;AAChC,YAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK;QACjC;IACJ;AAEQ,IAAA,aAAa,CAAC,MAAsB,EAAA;QACxC,QAAQ,MAAM;YACV,KAAK,cAAc,CAAC,KAAK;AACrB,gBAAA,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,EAAE;AACnC,oBAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE;AACjC,oBAAA,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE;AACnC,oBAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI;gBACpC;AACA,gBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI;AAC5B,gBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,sBAAsB;gBACnD;YACJ,KAAK,cAAc,CAAC,IAAI;AACpB,gBAAA,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,EAAE;AAClC,oBAAA,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE;AAChC,oBAAA,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE;AAClC,oBAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI;gBACnC;AACA,gBAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAC3B,gBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,sBAAsB;gBACnD;AACJ,YAAA;gBACI;;IAEZ;AAEQ,IAAA,SAAS,CAAC,IAAoB,EAAA;QAClC,QAAQ,IAAI;YACR,KAAK,cAAc,CAAC,IAAI;gBACpB,OAAO,IAAI,CAAC,mBAAmB;YACnC,KAAK,cAAc,CAAC,KAAK;gBACrB,OAAO,IAAI,CAAC,oBAAoB;AACpC,YAAA;AACI,gBAAA,OAAO,IAAI;;IAEvB;8GArKkB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAD1C;;;ACTD,IAAI,OAAO,GAAG,CAAC;AAWT,MAAO,0BAA2B,SAAQ,qBAAqB,CAAA;AATrE,IAAA,WAAA,GAAA;;AAUY,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC/B,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAyCvC;;;;;;;;;;;AAWG;AAGI,QAAA,IAAA,CAAA,EAAE,GAAG,CAAA,oBAAA,EAAuB,OAAO,EAAE,EAAE;AAE9C;;AAEG;QAEI,IAAA,CAAA,QAAQ,GAAG,qBAAqB;AAEvC;;AAEG;QAEO,IAAA,CAAA,MAAM,GAAG,KAAK;AAUxB;;;;;;;;;;;;;;;AAeG;QAEI,IAAA,CAAA,SAAS,GAAG,IAAI;AAEvB;;AAEG;AAEI,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAW;AAEpD;;;;;;;;;;AAUG;AAEI,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,YAAY,EAAsC;AAEjF;;;;;;;;;;AAUG;AAEI,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,YAAY,EAA4B;AAEtE;;;;;;;;;;AAUG;AAEI,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,YAAY,EAAsC;AAEhF;;;;;;;;;;AAUG;AAEI,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAA4B;AA+HxE,IAAA;AAzRG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BG;AACH,IAAA,IACoB,iBAAiB,GAAA;QACjC,OAAO,IAAI,CAAC,kBAAkB;IAClC;IACA,IAAoB,iBAAiB,CAAC,KAA8B,EAAA;AAChE,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK;IACnC;AA8BA;;AAEG;AACH,IAAA,IACW,aAAa,GAAA;AACpB,QAAA,OAAO,CAAC,IAAI,CAAC,SAAS;IAC1B;AAmFA;;AAEG;AACH,IAAA,IAAW,QAAQ,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,MAAM,GAAG,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,OAAA,CAAS,GAAG,EAAE;IACjD;AAEA;;AAEG;AACH,IAAA,IAAW,aAAa,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa;IACxC;;IAeO,kBAAkB,GAAA;QACrB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;;AAE1B,YAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAK;AACxB,gBAAA,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ;AAC5D,gBAAA,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,GAAG,SAAS;AAC5D,YAAA,CAAC,CAAC;QACN;IACJ;AAEA;;;;;;;;;AASG;AACI,IAAA,QAAQ,CAAC,GAAW,EAAA;;QAEvB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7C;QACJ;AACA,QAAA,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;AACpE,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;YACtB;QACJ;AACA,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;QACnB,IAAI,CAAC,kBAAkB,CACnB,IAAI,CAAC,IAAI,EAAE,OAAO,EAClB,MAAK;AACD,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACvD,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AACrB,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;AAC/B,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;AAC3B,QAAA,CAAC,CACJ;IACL;AAEA;;;;;;;;;AASG;AACI,IAAA,MAAM,CAAC,GAAW,EAAA;AACrB,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC/C;QACJ;AACA,QAAA,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;AACpE,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;AAChC,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;YACtB;QACJ;AACA,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI;AAClB,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;AAChC,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;QACxB,IAAI,CAAC,iBAAiB,CAClB,IAAI,CAAC,IAAI,EAAE,OAAO,EAClB,MAAK;AACD,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC1D,QAAA,CAAC,CACJ;IACL;AAEA;;;;;;;;;AASG;AACI,IAAA,MAAM,CAAC,GAAW,EAAA;AACrB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAClB;aAAO;AACH,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QACnB;IACJ;AAEO,IAAA,IAAI,CAAC,GAAW,EAAA;AACnB,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;IACpB;AAEO,IAAA,KAAK,CAAC,GAAW,EAAA;AACpB,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;IACtB;8GA5RS,0BAA0B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EA+Ff,gBAAgB,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA,SAAA,EAAA,2BAAA,EAAA,eAAA,EAAA,qCAAA,EAAA,aAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,SAAA,EAnGzB,CAAC,EAAE,OAAO,EAAE,6BAA6B,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,MAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAqLlF,8BAA8B,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAU,8BAA8B,sDAMtE,gCAAgC,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAU,gCAAgC,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC3N5F,6JAIA,EAAA,MAAA,EAAA,CAAA,gnPAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,KAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDgCa,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBATtC,SAAS;+BACI,qBAAqB,EAAA,aAAA,EAGhB,iBAAiB,CAAC,IAAI,aAC1B,CAAC,EAAE,OAAO,EAAE,6BAA6B,EAAE,WAAW,EAAA,0BAA4B,EAAE,CAAC,EAAA,eAAA,EAC/E,uBAAuB,CAAC,KAAK,WACrC,EAAE,EAAA,QAAA,EAAA,6JAAA,EAAA,MAAA,EAAA,CAAA,gnPAAA,CAAA,EAAA;;sBAqCV;;sBAoBA,WAAW;uBAAC,SAAS;;sBACrB;;sBAMA,WAAW;uBAAC,2BAA2B;;sBAMvC,WAAW;uBAAC,qCAAqC;;sBAMjD,WAAW;uBAAC,oBAAoB;;sBAqBhC,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAMrC;;sBAcA;;sBAcA;;sBAcA;;sBAcA;;sBAoBA,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,8BAA8B,EAAE,EAAE,IAAI,EAAE,8BAA8B,EAAE;;sBAMrF,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,gCAAgC,EAAE,EAAE,IAAI,EAAE,gCAAgC,EAAE;;;AE1M9F;AACO,MAAM,8BAA8B,GAAG;IAC1C,0BAA0B;IAC1B,gCAAgC;IAChC,8BAA8B;IAC9B,qCAAqC;IACrC,+BAA+B;IAC/B;;;ACrBJ;;;AAGG;MASU,uBAAuB,CAAA;8GAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAvB,uBAAuB,EAAA,OAAA,EAAA,CAAAA,0BAAA,EAAAC,gCAAA,EAAAC,8BAAA,EAAAC,qCAAA,EAAAC,+BAAA,EAAAC,8BAAA,CAAA,EAAA,OAAA,EAAA,CAAAL,0BAAA,EAAAC,gCAAA,EAAAC,8BAAA,EAAAC,qCAAA,EAAAC,+BAAA,EAAAC,8BAAA,CAAA,EAAA,CAAA,CAAA;+GAAvB,uBAAuB,EAAA,OAAA,EAAA,CAAAJ,gCAAA,CAAA,EAAA,CAAA,CAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBARnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;AACL,wBAAA,GAAG;AACN,qBAAA;AACD,oBAAA,OAAO,EAAE;AACL,wBAAA,GAAG;AACN;AACJ,iBAAA;;;ACdD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"igniteui-angular-expansion-panel.mjs","sources":["../../../projects/igniteui-angular/expansion-panel/src/expansion-panel/expansion-panel.common.ts","../../../projects/igniteui-angular/expansion-panel/src/expansion-panel/expansion-panel-body.component.ts","../../../projects/igniteui-angular/expansion-panel/src/expansion-panel/expansion-panel.directives.ts","../../../projects/igniteui-angular/expansion-panel/src/expansion-panel/expansion-panel-header.component.ts","../../../projects/igniteui-angular/expansion-panel/src/expansion-panel/expansion-panel-header.component.html","../../../projects/igniteui-angular/expansion-panel/src/expansion-panel/toggle-animation-component.ts","../../../projects/igniteui-angular/expansion-panel/src/expansion-panel/expansion-panel.component.ts","../../../projects/igniteui-angular/expansion-panel/src/expansion-panel/expansion-panel.component.html","../../../projects/igniteui-angular/expansion-panel/src/expansion-panel/public_api.ts","../../../projects/igniteui-angular/expansion-panel/src/expansion-panel/expansion-panel.module.ts","../../../projects/igniteui-angular/expansion-panel/src/igniteui-angular-expansion-panel.ts"],"sourcesContent":["import { Directive, ElementRef, EventEmitter, inject, InjectionToken } from '@angular/core';\nimport { AnimationReferenceMetadata } from '@angular/animations';\nimport { CancelableEventArgs, IBaseEventArgs } from 'igniteui-angular/core';\n\nexport interface IgxExpansionPanelBase {\n id: string;\n cssClass: string;\n /** @hidden @internal */\n headerId: string;\n collapsed: boolean;\n animationSettings: { openAnimation: AnimationReferenceMetadata; closeAnimation: AnimationReferenceMetadata };\n contentCollapsed: EventEmitter<any>;\n contentCollapsing: EventEmitter<any>;\n contentExpanded: EventEmitter<any>;\n contentExpanding: EventEmitter<any>;\n collapse(evt?: Event);\n expand(evt?: Event);\n toggle(evt?: Event);\n}\n\n/** @hidden */\nexport const IGX_EXPANSION_PANEL_COMPONENT = /*@__PURE__*/new InjectionToken<IgxExpansionPanelBase>('IgxExpansionPanelToken');\n\nexport interface IExpansionPanelEventArgs extends IBaseEventArgs {\n event: Event;\n}\n\nexport interface IExpansionPanelCancelableEventArgs extends IExpansionPanelEventArgs, CancelableEventArgs {}\n\n@Directive()\nexport abstract class HeaderContentBaseDirective {\n protected element = inject(ElementRef);\n\n /**\n * Returns the `textContent` of an element\n *\n * ```html\n * <igx-expansion-panel-title>\n * Tooltip content\n * </igx-expansion-panel-title>\n * ```\n *\n * or the `title` content\n *\n * ```html\n * <igx-expansion-panel-title [title]=\"'Tooltip content'\">\n * </igx-expansion-panel-title>\n * ```\n *\n * If both are provided, returns the `title` content.\n *\n * @param element\n * @returns tooltip content for an element\n */\n public getTooltipContent = (element: ElementRef): string => {\n if (element.nativeElement.title) {\n return element.nativeElement.title;\n }\n if (element.nativeElement.textContent) {\n return element.nativeElement.textContent.trim();\n }\n\n return null;\n };\n}\n","import { Component, HostBinding, ElementRef, Input, ChangeDetectorRef, inject, ChangeDetectionStrategy } from '@angular/core';\nimport { IgxExpansionPanelBase, IGX_EXPANSION_PANEL_COMPONENT } from './expansion-panel.common';\n\n@Component({\n selector: 'igx-expansion-panel-body',\n template: `<ng-content></ng-content>`,\n changeDetection: ChangeDetectionStrategy.Eager,\n standalone: true\n})\nexport class IgxExpansionPanelBodyComponent {\n public panel = inject<IgxExpansionPanelBase>(IGX_EXPANSION_PANEL_COMPONENT);\n public element = inject(ElementRef);\n public cdr = inject(ChangeDetectorRef);\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-expansion-panel__body')\n public cssClass = `igx-expansion-panel__body`;\n\n /**\n * Gets/sets the `role` attribute of the panel body\n * Default is 'region';\n * Get\n * ```typescript\n * const currentRole = this.panel.body.role;\n * ```\n * Set\n * ```typescript\n * this.panel.body.role = 'content';\n * ```\n * ```html\n * <igx-expansion-panel-body [role]=\"'custom'\"></igx-expansion-panel-body>\n * ```\n */\n @Input()\n @HostBinding('attr.role')\n public role = 'region';\n\n private _labelledBy = '';\n private _label = '';\n\n /**\n * Gets the `aria-label` attribute of the panel body\n * Defaults to the panel id with '-region' in the end;\n * Get\n * ```typescript\n * const currentLabel = this.panel.body.label;\n * ```\n */\n @Input()\n @HostBinding('attr.aria-label')\n public get label(): string {\n return this._label || this.panel.id + '-region';\n }\n /**\n * Sets the `aria-label` attribute of the panel body\n * ```typescript\n * this.panel.body.label = 'my-custom-label';\n * ```\n * ```html\n * <igx-expansion-panel-body [label]=\"'my-custom-label'\"></igx-expansion-panel-body>\n * ```\n */\n public set label(val: string) {\n this._label = val;\n }\n\n /**\n * Gets the `aria-labelledby` attribute of the panel body\n * Defaults to the panel header id;\n * Get\n * ```typescript\n * const currentLabel = this.panel.body.labelledBy;\n * ```\n */\n @Input()\n @HostBinding('attr.aria-labelledby')\n public get labelledBy(): string {\n return this._labelledBy;\n }\n /**\n * Sets the `aria-labelledby` attribute of the panel body\n * ```typescript\n * this.panel.body.labelledBy = 'my-custom-id';\n * ```\n * ```html\n * <igx-expansion-panel-body [labelledBy]=\"'my-custom-id'\"></igx-expansion-panel-body>\n * ```\n */\n public set labelledBy(val: string) {\n this._labelledBy = val;\n }\n}\n","/* eslint-disable @angular-eslint/directive-selector */\nimport { Directive, HostBinding } from '@angular/core';\nimport { IgxNoTypographyDirective } from 'igniteui-angular/directives';\nimport { HeaderContentBaseDirective } from './expansion-panel.common';\n\n/** @hidden @internal */\n@Directive({\n selector: 'igx-expansion-panel-title',\n standalone: true,\n hostDirectives: [IgxNoTypographyDirective]\n})\nexport class IgxExpansionPanelTitleDirective extends HeaderContentBaseDirective {\n @HostBinding('class.igx-expansion-panel__header-title')\n public cssClass = `igx-expansion-panel__header-title`;\n\n @HostBinding('attr.title')\n private get title(): string {\n return this.getTooltipContent(this.element);\n }\n}\n\n/** @hidden @internal */\n@Directive({\n selector: 'igx-expansion-panel-description',\n standalone: true,\n hostDirectives: [IgxNoTypographyDirective]\n})\nexport class IgxExpansionPanelDescriptionDirective extends HeaderContentBaseDirective {\n @HostBinding('class.igx-expansion-panel__header-description')\n public cssClass = `igx-expansion-panel__header-description`;\n\n @HostBinding('attr.title')\n private get title(): string {\n return this.getTooltipContent(this.element);\n }\n}\n\n/** @hidden @internal */\n@Directive({\n selector: 'igx-expansion-panel-icon',\n standalone: true\n})\nexport class IgxExpansionPanelIconDirective { }\n","import { Component, ChangeDetectorRef, ElementRef, HostBinding, HostListener, Input, EventEmitter, Output, ContentChild, ViewChild, booleanAttribute, inject, ChangeDetectionStrategy } from '@angular/core';\nimport { IgxExpansionPanelIconDirective } from './expansion-panel.directives';\nimport { IGX_EXPANSION_PANEL_COMPONENT, IgxExpansionPanelBase, IExpansionPanelCancelableEventArgs } from './expansion-panel.common';\nimport { IgxIconComponent } from 'igniteui-angular/icon';\n\n/**\n * @hidden\n */\nexport const ExpansionPanelHeaderIconPosition = {\n LEFT: 'left',\n NONE: 'none',\n RIGHT: 'right'\n} as const;\nexport type ExpansionPanelHeaderIconPosition = (typeof ExpansionPanelHeaderIconPosition)[keyof typeof ExpansionPanelHeaderIconPosition];\n\n\n@Component({\n selector: 'igx-expansion-panel-header',\n templateUrl: 'expansion-panel-header.component.html',\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [IgxIconComponent]\n})\nexport class IgxExpansionPanelHeaderComponent {\n public panel = inject<IgxExpansionPanelBase>(IGX_EXPANSION_PANEL_COMPONENT, { host: true });\n public cdr = inject(ChangeDetectorRef);\n public elementRef = inject(ElementRef);\n\n /**\n * Returns a reference to the `igx-expansion-panel-icon` element;\n * If `iconPosition` is `NONE` - return null;\n */\n public get iconRef(): ElementRef {\n const renderedTemplate = this.customIconRef ?? this.defaultIconRef;\n return this.iconPosition !== ExpansionPanelHeaderIconPosition.NONE ? renderedTemplate : null;\n }\n\n /**\n * @hidden\n */\n @ContentChild(IgxExpansionPanelIconDirective)\n public set iconTemplate(val: boolean) {\n this._iconTemplate = val;\n }\n\n /**\n * @hidden\n */\n public get iconTemplate(): boolean {\n return this._iconTemplate;\n }\n\n /**\n * Gets/sets the `aria-level` attribute of the header\n * Get\n * ```typescript\n * const currentAriaLevel = this.panel.header.lv;\n * ```\n * Set\n * ```typescript\n * this.panel.header.lv = '5';\n * ```\n * ```html\n * <igx-expansion-panel-header [lv]=\"myCustomLevel\"></igx-expansion-panel-header>\n * ```\n */\n @HostBinding('attr.aria-level')\n @Input()\n public lv = '3';\n\n /**\n * Gets/sets the `role` attribute of the header\n * Get\n * ```typescript\n * const currentRole = this.panel.header.role;\n * ```\n * Set\n * ```typescript\n * this.panel.header.role = '5';\n * ```\n * ```html\n * <igx-expansion-panel-header [role]=\"'custom'\"></igx-expansion-panel-header>\n * ```\n */\n @HostBinding('attr.role')\n @Input()\n public role = 'heading';\n\n /**\n * @hidden\n */\n public get controls(): string {\n return this.panel.id;\n }\n\n /**\n * @hidden @internal\n */\n public get innerElement() {\n return this.elementRef.nativeElement.children[0];\n }\n\n /**\n * Gets/sets the position of the expansion-panel-header expand/collapse icon\n * Accepts `left`, `right` or `none`\n * ```typescript\n * const currentIconPosition = this.panel.header.iconPosition;\n * ```\n * Set\n * ```typescript\n * this.panel.header.iconPosition = 'left';\n * ```\n * ```html\n * <igx-expansion-panel-header [iconPosition]=\"'right'\"></igx-expansion-panel-header>\n * ```\n */\n @Input()\n public iconPosition: ExpansionPanelHeaderIconPosition = ExpansionPanelHeaderIconPosition.LEFT;\n\n /**\n * Emitted whenever a user interacts with the header host\n * ```typescript\n * handleInteraction(event: IExpansionPanelCancelableEventArgs) {\n * ...\n * }\n * ```\n * ```html\n * <igx-expansion-panel-header (interaction)=\"handleInteraction($event)\">\n * ...\n * </igx-expansion-panel-header>\n * ```\n */\n @Output()\n public interaction = new EventEmitter<IExpansionPanelCancelableEventArgs>();\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-expansion-panel__header')\n public cssClass = 'igx-expansion-panel__header';\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-expansion-panel__header--expanded')\n public get isExpanded() {\n return !this.panel.collapsed;\n }\n\n /**\n * Gets/sets the whether the header is disabled\n * When disabled, the header will not handle user events and will stop their propagation\n *\n * ```typescript\n * const isDisabled = this.panel.header.disabled;\n * ```\n * Set\n * ```typescript\n * this.panel.header.disabled = true;\n * ```\n * ```html\n * <igx-expansion-panel-header [disabled]=\"true\">\n * ...\n * </igx-expansion-panel-header>\n * ```\n */\n @Input({ transform: booleanAttribute })\n @HostBinding('class.igx-expansion-panel--disabled')\n public get disabled(): boolean {\n return this._disabled;\n }\n\n public set disabled(val: boolean) {\n this._disabled = val;\n if (val) {\n // V.S. June 11th, 2021: #9696 TabIndex should be removed when panel is disabled\n delete this.tabIndex;\n } else {\n this.tabIndex = 0;\n }\n }\n\n /** @hidden @internal */\n @ContentChild(IgxExpansionPanelIconDirective, { read: ElementRef })\n private customIconRef: ElementRef;\n\n /** @hidden @internal */\n @ViewChild(IgxIconComponent, { read: ElementRef })\n private defaultIconRef: ElementRef;\n\n /**\n * Sets/gets the `id` of the expansion panel header.\n * ```typescript\n * let panelHeaderId = this.panel.header.id;\n * ```\n *\n * @memberof IgxExpansionPanelComponent\n */\n public id = '';\n\n /** @hidden @internal */\n public tabIndex = 0;\n\n // properties section\n private _iconTemplate = false;\n private _disabled = false;\n\n constructor() {\n this.id = `${this.panel.id}-header`;\n }\n\n /**\n * @hidden\n */\n @HostListener('keydown.Enter', ['$event'])\n @HostListener('keydown.Space', ['$event'])\n @HostListener('keydown.Spacebar', ['$event'])\n @HostListener('click', ['$event'])\n public onAction(evt?: Event) {\n if (this.disabled) {\n evt.stopPropagation();\n return;\n }\n const eventArgs: IExpansionPanelCancelableEventArgs = { event: evt, owner: this.panel, cancel: false };\n this.interaction.emit(eventArgs);\n if (eventArgs.cancel === true) {\n return;\n }\n this.panel.toggle(evt);\n evt.preventDefault();\n }\n\n /** @hidden @internal */\n @HostListener('keydown.alt.arrowdown', ['$event'])\n public openPanel(event: KeyboardEvent) {\n if (event.altKey) {\n const eventArgs: IExpansionPanelCancelableEventArgs = { event, owner: this.panel, cancel: false };\n this.interaction.emit(eventArgs);\n if (eventArgs.cancel === true) {\n return;\n }\n this.panel.expand(event);\n }\n }\n\n /** @hidden @internal */\n @HostListener('keydown.alt.arrowup', ['$event'])\n public closePanel(event: KeyboardEvent) {\n if (event.altKey) {\n const eventArgs: IExpansionPanelCancelableEventArgs = { event, owner: this.panel, cancel: false };\n this.interaction.emit(eventArgs);\n if (eventArgs.cancel === true) {\n return;\n }\n this.panel.collapse(event);\n }\n }\n\n /**\n * @hidden\n */\n public get iconPositionClass(): string {\n switch (this.iconPosition) {\n case (ExpansionPanelHeaderIconPosition.LEFT):\n return `igx-expansion-panel__header-icon--start`;\n case (ExpansionPanelHeaderIconPosition.RIGHT):\n return `igx-expansion-panel__header-icon--end`;\n case (ExpansionPanelHeaderIconPosition.NONE):\n return `igx-expansion-panel__header-icon--none`;\n default:\n return '';\n }\n }\n}\n","<div class=\"igx-expansion-panel__header-inner\" [attr.tabindex]=\"tabIndex\" role=\"button\" [attr.id]=\"id\"\n[attr.aria-disabled]=\"disabled\" [attr.aria-expanded]=\"isExpanded\" [attr.aria-controls]=\"controls\">\n <div class=\"igx-expansion-panel__title-wrapper\">\n <ng-content select=\"igx-expansion-panel-title\"></ng-content>\n <ng-content select=\"igx-expansion-panel-description\"></ng-content>\n </div>\n <ng-content></ng-content>\n <div\n [class]=\"iconPositionClass\"\n [class.igx-expansion-panel__header-icon]=\"true\"\n >\n @if (iconTemplate) {\n <ng-content select=\"igx-expansion-panel-icon\"></ng-content>\n }\n @if (!iconTemplate) {\n <igx-icon\n family=\"default\"\n [name]=\"panel.collapsed ? 'expand' : 'collapse'\">\n </igx-icon>\n }\n </div>\n</div>\n","import { AnimationReferenceMetadata } from '@angular/animations';\nimport { Directive, ElementRef, EventEmitter, inject, OnDestroy } from '@angular/core';\nimport { noop, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { IgxAngularAnimationService } from 'igniteui-angular/core';\nimport { AnimationPlayer, AnimationService } from 'igniteui-angular/core';\nimport { growVerIn, growVerOut } from 'igniteui-angular/animations';\n\n/**@hidden @internal */\nexport interface ToggleAnimationSettings {\n openAnimation: AnimationReferenceMetadata;\n closeAnimation: AnimationReferenceMetadata;\n}\n\nexport interface ToggleAnimationOwner {\n animationSettings: ToggleAnimationSettings;\n openAnimationStart: EventEmitter<void>;\n openAnimationDone: EventEmitter<void>;\n closeAnimationStart: EventEmitter<void>;\n closeAnimationDone: EventEmitter<void>;\n openAnimationPlayer: AnimationPlayer;\n closeAnimationPlayer: AnimationPlayer;\n playOpenAnimation(element: ElementRef, onDone: () => void): void;\n playCloseAnimation(element: ElementRef, onDone: () => void): void;\n}\n\n/** @hidden @internal */\nexport enum ANIMATION_TYPE {\n OPEN = 'open',\n CLOSE = 'close',\n}\n\n/**@hidden @internal */\n@Directive()\nexport abstract class ToggleAnimationPlayer implements ToggleAnimationOwner, OnDestroy {\n protected animationService = inject<AnimationService>(IgxAngularAnimationService);\n\n /** @hidden @internal */\n public openAnimationDone: EventEmitter<void> = new EventEmitter();\n /** @hidden @internal */\n public closeAnimationDone: EventEmitter<void> = new EventEmitter();\n /** @hidden @internal */\n public openAnimationStart: EventEmitter<void> = new EventEmitter();\n /** @hidden @internal */\n public closeAnimationStart: EventEmitter<void> = new EventEmitter();\n\n public get animationSettings(): ToggleAnimationSettings {\n return this._animationSettings;\n }\n public set animationSettings(value: ToggleAnimationSettings) {\n this._animationSettings = value;\n }\n\n /** @hidden @internal */\n public openAnimationPlayer: AnimationPlayer = null;\n\n /** @hidden @internal */\n public closeAnimationPlayer: AnimationPlayer = null;\n\n protected destroy$: Subject<void> = new Subject();\n protected players: Map<string, AnimationPlayer> = new Map();\n protected _animationSettings: ToggleAnimationSettings = {\n openAnimation: growVerIn,\n closeAnimation: growVerOut\n };\n\n private closeInterrupted = false;\n private openInterrupted = false;\n\n private _defaultClosedCallback = noop;\n private _defaultOpenedCallback = noop;\n private onClosedCallback: () => any = this._defaultClosedCallback;\n private onOpenedCallback: () => any = this._defaultOpenedCallback;\n\n /** @hidden @internal */\n public playOpenAnimation(targetElement: ElementRef, onDone?: () => void): void {\n this.startPlayer(ANIMATION_TYPE.OPEN, targetElement, onDone || this._defaultOpenedCallback);\n }\n\n /** @hidden @internal */\n public playCloseAnimation(targetElement: ElementRef, onDone?: () => void): void {\n this.startPlayer(ANIMATION_TYPE.CLOSE, targetElement, onDone || this._defaultClosedCallback);\n }\n\n /** @hidden @internal */\n public ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private startPlayer(type: ANIMATION_TYPE, targetElement: ElementRef, callback: () => void): void {\n if (!targetElement) { // if no element is passed, there is nothing to animate\n return;\n }\n let target = this.getPlayer(type);\n if (!target) {\n target = this.initializePlayer(type, targetElement, callback);\n }\n // V.S. Jun 28th, 2021 #9783: player will NOT be initialized w/ null settings\n // events will already be emitted\n if (!target || target.hasStarted()) {\n return;\n }\n const targetEmitter = type === ANIMATION_TYPE.OPEN ? this.openAnimationStart : this.closeAnimationStart;\n targetEmitter.emit();\n if (target) {\n target.play();\n }\n }\n\n private initializePlayer(type: ANIMATION_TYPE, targetElement: ElementRef, callback: () => void): AnimationPlayer {\n const oppositeType = type === ANIMATION_TYPE.OPEN ? ANIMATION_TYPE.CLOSE : ANIMATION_TYPE.OPEN;\n // V.S. Jun 28th, 2021 #9783: Treat falsy animation settings as disabled animations\n const targetAnimationSettings = this.animationSettings || { closeAnimation: null, openAnimation: null };\n const animationSettings = type === ANIMATION_TYPE.OPEN ?\n targetAnimationSettings.openAnimation : targetAnimationSettings.closeAnimation;\n // V.S. Jun 28th, 2021 #9783: When no animation in target direction, emit start and done events and return\n if (!animationSettings) {\n this.setCallback(type, callback);\n const targetEmitter = type === ANIMATION_TYPE.OPEN ? this.openAnimationStart : this.closeAnimationStart;\n targetEmitter.emit();\n this.onDoneHandler(type);\n return;\n }\n const opposite = this.getPlayer(oppositeType);\n let oppositePosition = 1;\n if (opposite) {\n oppositePosition = opposite.position;\n this.cleanUpPlayer(oppositeType);\n }\n if (type === ANIMATION_TYPE.OPEN) {\n this.openAnimationPlayer = this.animationService.buildAnimation(animationSettings, targetElement.nativeElement);\n } else if (type === ANIMATION_TYPE.CLOSE) {\n this.closeAnimationPlayer = this.animationService.buildAnimation(animationSettings, targetElement.nativeElement);\n }\n const target = this.getPlayer(type);\n target.init();\n this.getPlayer(type).position = 1 - oppositePosition;\n this.setCallback(type, callback);\n target.animationEnd.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.onDoneHandler(type);\n });\n return target;\n }\n\n private onDoneHandler(type) {\n const targetEmitter = type === ANIMATION_TYPE.OPEN ? this.openAnimationDone : this.closeAnimationDone;\n const targetCallback = type === ANIMATION_TYPE.OPEN ? this.onOpenedCallback : this.onClosedCallback;\n targetCallback();\n if (!(type === ANIMATION_TYPE.OPEN ? this.openInterrupted : this.closeInterrupted)) {\n targetEmitter.emit();\n }\n this.cleanUpPlayer(type);\n }\n\n private setCallback(type: ANIMATION_TYPE, callback: () => void) {\n if (type === ANIMATION_TYPE.OPEN) {\n this.onOpenedCallback = callback;\n this.openInterrupted = false;\n } else if (type === ANIMATION_TYPE.CLOSE) {\n this.onClosedCallback = callback;\n this.closeInterrupted = false;\n }\n }\n\n private cleanUpPlayer(target: ANIMATION_TYPE) {\n switch (target) {\n case ANIMATION_TYPE.CLOSE:\n if (this.closeAnimationPlayer != null) {\n this.closeAnimationPlayer.reset();\n this.closeAnimationPlayer.destroy();\n this.closeAnimationPlayer = null;\n }\n this.closeInterrupted = true;\n this.onClosedCallback = this._defaultClosedCallback;\n break;\n case ANIMATION_TYPE.OPEN:\n if (this.openAnimationPlayer != null) {\n this.openAnimationPlayer.reset();\n this.openAnimationPlayer.destroy();\n this.openAnimationPlayer = null;\n }\n this.openInterrupted = true;\n this.onOpenedCallback = this._defaultOpenedCallback;\n break;\n default:\n break;\n }\n }\n\n private getPlayer(type: ANIMATION_TYPE): AnimationPlayer {\n switch (type) {\n case ANIMATION_TYPE.OPEN:\n return this.openAnimationPlayer;\n case ANIMATION_TYPE.CLOSE:\n return this.closeAnimationPlayer;\n default:\n return null;\n }\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostBinding,\n inject,\n Input,\n Output,\n booleanAttribute,\n ChangeDetectionStrategy,\n ViewEncapsulation\n} from '@angular/core';\nimport { IgxExpansionPanelBodyComponent } from './expansion-panel-body.component';\nimport { IgxExpansionPanelHeaderComponent } from './expansion-panel-header.component';\nimport {\n IExpansionPanelCancelableEventArgs,\n IExpansionPanelEventArgs,\n IgxExpansionPanelBase,\n IGX_EXPANSION_PANEL_COMPONENT\n} from './expansion-panel.common';\nimport { ToggleAnimationPlayer, ToggleAnimationSettings } from './toggle-animation-component';\n\nlet NEXT_ID = 0;\n\n@Component({\n selector: 'igx-expansion-panel',\n templateUrl: 'expansion-panel.component.html',\n styleUrl: 'expansion-panel.component.css',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: IGX_EXPANSION_PANEL_COMPONENT, useExisting: IgxExpansionPanelComponent }],\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: []\n})\nexport class IgxExpansionPanelComponent extends ToggleAnimationPlayer implements IgxExpansionPanelBase, AfterContentInit {\n private cdr = inject(ChangeDetectorRef);\n private elementRef = inject(ElementRef);\n\n /**\n * Sets/gets the animation settings of the expansion panel component\n * Open and Close animation should be passed\n *\n * Get\n * ```typescript\n * const currentAnimations = this.panel.animationSettings;\n * ```\n * Set\n * ```typescript\n * import { slideInLeft, slideOutRight } from 'igniteui-angular';\n * ...\n * this.panel.animationsSettings = {\n * openAnimation: slideInLeft,\n * closeAnimation: slideOutRight\n * };\n * ```\n * or via template\n * ```typescript\n * import { slideInLeft, slideOutRight } from 'igniteui-angular';\n * ...\n * myCustomAnimationObject = {\n * openAnimation: slideInLeft,\n * closeAnimation: slideOutRight\n * };\n * ```html\n * <igx-expansion-panel [animationSettings]='myCustomAnimationObject'>\n * ...\n * </igx-expansion-panel>\n * ```\n */\n @Input()\n public override get animationSettings(): ToggleAnimationSettings {\n return this._animationSettings;\n }\n public override set animationSettings(value: ToggleAnimationSettings) {\n this._animationSettings = value;\n }\n\n /**\n * Sets/gets the `id` of the expansion panel component.\n * If not set, `id` will have value `\"igx-expansion-panel-0\"`;\n * ```html\n * <igx-expansion-panel id = \"my-first-expansion-panel\"></igx-expansion-panel>\n * ```\n * ```typescript\n * let panelId = this.panel.id;\n * ```\n *\n * @memberof IgxExpansionPanelComponent\n */\n @HostBinding('attr.id')\n @Input()\n public id = `igx-expansion-panel-${NEXT_ID++}`;\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-expansion-panel')\n public cssClass = 'igx-expansion-panel';\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-expansion-panel--expanded')\n protected opened = false;\n\n /**\n * @hidden @internal\n */\n @HostBinding('attr.aria-expanded')\n public get panelExpanded() {\n return !this.collapsed;\n }\n\n /**\n * Gets/sets whether the component is collapsed (its content is hidden)\n * Get\n * ```typescript\n * const myPanelState: boolean = this.panel.collapsed;\n * ```\n * Set\n * ```html\n * this.panel.collapsed = true;\n * ```\n *\n * Two-way data binding:\n * ```html\n * <igx-expansion-panel [(collapsed)]=\"model.isCollapsed\"></igx-expansion-panel>\n * ```\n */\n @Input({ transform: booleanAttribute })\n public collapsed = true;\n\n /**\n * @hidden\n */\n @Output()\n public collapsedChange = new EventEmitter<boolean>();\n\n /**\n * Emitted when the expansion panel starts collapsing\n * ```typescript\n * handleCollapsing(event: IExpansionPanelCancelableEventArgs)\n * ```\n * ```html\n * <igx-expansion-panel (contentCollapsing)=\"handleCollapsing($event)\">\n * ...\n * </igx-expansion-panel>\n * ```\n */\n @Output()\n public contentCollapsing = new EventEmitter<IExpansionPanelCancelableEventArgs>();\n\n /**\n * Emitted when the expansion panel finishes collapsing\n * ```typescript\n * handleCollapsed(event: IExpansionPanelEventArgs)\n * ```\n * ```html\n * <igx-expansion-panel (contentCollapsed)=\"handleCollapsed($event)\">\n * ...\n * </igx-expansion-panel>\n * ```\n */\n @Output()\n public contentCollapsed = new EventEmitter<IExpansionPanelEventArgs>();\n\n /**\n * Emitted when the expansion panel starts expanding\n * ```typescript\n * handleExpanding(event: IExpansionPanelCancelableEventArgs)\n * ```\n * ```html\n * <igx-expansion-panel (contentExpanding)=\"handleExpanding($event)\">\n * ...\n * </igx-expansion-panel>\n * ```\n */\n @Output()\n public contentExpanding = new EventEmitter<IExpansionPanelCancelableEventArgs>();\n\n /**\n * Emitted when the expansion panel finishes expanding\n * ```typescript\n * handleExpanded(event: IExpansionPanelEventArgs)\n * ```\n * ```html\n * <igx-expansion-panel (contentExpanded)=\"handleExpanded($event)\">\n * ...\n * </igx-expansion-panel>\n * ```\n */\n @Output()\n public contentExpanded = new EventEmitter<IExpansionPanelEventArgs>();\n\n /**\n * @hidden\n */\n public get headerId() {\n return this.header ? `${this.id}-header` : '';\n }\n\n /**\n * @hidden @internal\n */\n public get nativeElement() {\n return this.elementRef.nativeElement;\n }\n\n /**\n * @hidden\n */\n @ContentChild(IgxExpansionPanelBodyComponent, { read: IgxExpansionPanelBodyComponent })\n public body: IgxExpansionPanelBodyComponent;\n\n /**\n * @hidden\n */\n @ContentChild(IgxExpansionPanelHeaderComponent, { read: IgxExpansionPanelHeaderComponent })\n public header: IgxExpansionPanelHeaderComponent;\n\n /** @hidden */\n public ngAfterContentInit(): void {\n if (this.body && this.header) {\n // schedule at end of turn:\n Promise.resolve().then(() => {\n this.body.labelledBy = this.body.labelledBy || this.headerId;\n this.body.label = this.body.label || this.id + '-region';\n });\n }\n }\n\n /**\n * Collapses the panel\n *\n * ```html\n * <igx-expansion-panel #myPanel>\n * ...\n * </igx-expansion-panel>\n * <button type=\"button\" igxButton (click)=\"myPanel.collapse($event)\">Collpase Panel</button>\n * ```\n */\n public collapse(evt?: Event) {\n // If expansion panel is already collapsed or is collapsing, do nothing\n if (this.collapsed || this.closeAnimationPlayer) {\n return;\n }\n const args = { event: evt, panel: this, owner: this, cancel: false };\n this.contentCollapsing.emit(args);\n if (args.cancel === true) {\n return;\n }\n this.opened = false;\n this.playCloseAnimation(\n this.body?.element,\n () => {\n this.contentCollapsed.emit({ event: evt, owner: this });\n this.collapsed = true;\n this.collapsedChange.emit(true);\n this.cdr.markForCheck();\n }\n );\n }\n\n /**\n * Expands the panel\n *\n * ```html\n * <igx-expansion-panel #myPanel>\n * ...\n * </igx-expansion-panel>\n * <button type=\"button\" igxButton (click)=\"myPanel.expand($event)\">Expand Panel</button>\n * ```\n */\n public expand(evt?: Event) {\n if (!this.collapsed && !this.closeAnimationPlayer) { // Check if the panel is currently collapsing or already expanded\n return;\n }\n const args = { event: evt, panel: this, owner: this, cancel: false };\n this.contentExpanding.emit(args);\n if (args.cancel === true) {\n return;\n }\n this.collapsed = false;\n this.opened = true;\n this.collapsedChange.emit(false);\n this.cdr.detectChanges();\n this.playOpenAnimation(\n this.body?.element,\n () => {\n this.contentExpanded.emit({ event: evt, owner: this });\n }\n );\n }\n\n /**\n * Toggles the panel\n *\n * ```html\n * <igx-expansion-panel #myPanel>\n * ...\n * </igx-expansion-panel>\n * <button type=\"button\" igxButton (click)=\"myPanel.toggle($event)\">Expand Panel</button>\n * ```\n */\n public toggle(evt?: Event) {\n if (this.collapsed) {\n this.open(evt);\n } else {\n this.close(evt);\n }\n }\n\n public open(evt?: Event) {\n this.expand(evt);\n }\n\n public close(evt?: Event) {\n this.collapse(evt);\n }\n}\n","<ng-content select=\"igx-expansion-panel-header\"></ng-content>\n@if (!collapsed) {\n <ng-content select=\"igx-expansion-panel-body\"></ng-content>\n}\n","import { IgxExpansionPanelBodyComponent } from './expansion-panel-body.component';\nimport { IgxExpansionPanelHeaderComponent } from './expansion-panel-header.component';\nimport { IgxExpansionPanelComponent } from './expansion-panel.component';\nimport { IgxExpansionPanelDescriptionDirective, IgxExpansionPanelIconDirective, IgxExpansionPanelTitleDirective } from './expansion-panel.directives';\n\nexport { IExpansionPanelEventArgs, IExpansionPanelCancelableEventArgs, IgxExpansionPanelBase } from './expansion-panel.common';\nexport { IgxExpansionPanelHeaderComponent } from './expansion-panel-header.component';\nexport { IgxExpansionPanelBodyComponent } from './expansion-panel-body.component';\nexport { IgxExpansionPanelComponent } from './expansion-panel.component';\nexport {\n IgxExpansionPanelDescriptionDirective,\n IgxExpansionPanelIconDirective,\n IgxExpansionPanelTitleDirective\n} from './expansion-panel.directives';\nexport { ExpansionPanelHeaderIconPosition } from './expansion-panel-header.component';\nexport { ToggleAnimationSettings, ToggleAnimationPlayer } from './toggle-animation-component';\n\n/* NOTE: Expansion panel directives collection for ease-of-use import in standalone components scenario */\nexport const IGX_EXPANSION_PANEL_DIRECTIVES = [\n IgxExpansionPanelComponent,\n IgxExpansionPanelHeaderComponent,\n IgxExpansionPanelBodyComponent,\n IgxExpansionPanelDescriptionDirective,\n IgxExpansionPanelTitleDirective,\n IgxExpansionPanelIconDirective\n] as const;\n","import { NgModule } from '@angular/core';\nimport { IGX_EXPANSION_PANEL_DIRECTIVES } from './public_api';\n\n/**\n * @hidden\n * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components\n */\n@NgModule({\n imports: [\n ...IGX_EXPANSION_PANEL_DIRECTIVES\n ],\n exports: [\n ...IGX_EXPANSION_PANEL_DIRECTIVES\n ]\n})\nexport class IgxExpansionPanelModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.IgxExpansionPanelComponent","i2.IgxExpansionPanelHeaderComponent","i3.IgxExpansionPanelBodyComponent","i4.IgxExpansionPanelDescriptionDirective","i4.IgxExpansionPanelTitleDirective","i4.IgxExpansionPanelIconDirective"],"mappings":"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"}
|