igniteui-angular 20.2.0-alpha.4 → 20.2.0-alpha.5

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.
Files changed (48) hide show
  1. package/chat-extras/index.d.ts +13 -0
  2. package/fesm2022/igniteui-angular-chat-extras.mjs +85 -0
  3. package/fesm2022/igniteui-angular-chat-extras.mjs.map +1 -0
  4. package/fesm2022/igniteui-angular.mjs +150 -133
  5. package/fesm2022/igniteui-angular.mjs.map +1 -1
  6. package/index.d.ts +119 -24
  7. package/lib/core/styles/components/badge/_badge-component.scss +4 -0
  8. package/lib/core/styles/components/badge/_badge-theme.scss +65 -15
  9. package/lib/core/styles/components/checkbox/_checkbox-component.scss +57 -22
  10. package/lib/core/styles/components/checkbox/_checkbox-theme.scss +21 -6
  11. package/lib/core/styles/components/combo/_combo-theme.scss +20 -16
  12. package/lib/core/styles/components/list/_list-theme.scss +2 -1
  13. package/lib/core/styles/components/navbar/_navbar-theme.scss +14 -12
  14. package/lib/core/styles/components/select/_select-theme.scss +1 -1
  15. package/lib/core/styles/components/snackbar/_snackbar-theme.scss +2 -5
  16. package/lib/core/styles/components/time-picker/_time-picker-theme.scss +0 -15
  17. package/lib/core/styles/components/tooltip/_tooltip-theme.scss +5 -1
  18. package/lib/core/styles/typography/_bootstrap.scss +1 -1
  19. package/lib/core/styles/typography/_fluent.scss +1 -1
  20. package/lib/core/styles/typography/_indigo.scss +1 -3
  21. package/lib/core/styles/typography/_material.scss +1 -1
  22. package/package.json +5 -1
  23. package/styles/igniteui-angular-dark.css +1 -1
  24. package/styles/igniteui-angular.css +1 -1
  25. package/styles/igniteui-bootstrap-dark.css +1 -1
  26. package/styles/igniteui-bootstrap-light.css +1 -1
  27. package/styles/igniteui-dark-green.css +1 -1
  28. package/styles/igniteui-fluent-dark-excel.css +1 -1
  29. package/styles/igniteui-fluent-dark-word.css +1 -1
  30. package/styles/igniteui-fluent-dark.css +1 -1
  31. package/styles/igniteui-fluent-light-excel.css +1 -1
  32. package/styles/igniteui-fluent-light-word.css +1 -1
  33. package/styles/igniteui-fluent-light.css +1 -1
  34. package/styles/igniteui-indigo-dark.css +1 -1
  35. package/styles/igniteui-indigo-light.css +1 -1
  36. package/styles/maps/igniteui-angular-dark.css.map +1 -1
  37. package/styles/maps/igniteui-angular.css.map +1 -1
  38. package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
  39. package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
  40. package/styles/maps/igniteui-dark-green.css.map +1 -1
  41. package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
  42. package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
  43. package/styles/maps/igniteui-fluent-dark.css.map +1 -1
  44. package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
  45. package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
  46. package/styles/maps/igniteui-fluent-light.css.map +1 -1
  47. package/styles/maps/igniteui-indigo-dark.css.map +1 -1
  48. package/styles/maps/igniteui-indigo-light.css.map +1 -1
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, HostListener, Input, Directive, EventEmitter, InjectionToken, isDevMode, inject, PLATFORM_ID, Inject, ElementRef, ViewContainerRef, createComponent, DOCUMENT, HostBinding, Output, Self, Optional, booleanAttribute, afterRenderEffect, SecurityContext, DestroyRef, Component, ContentChild, ContentChildren, RendererStyleFlags2, Pipe, ViewChild, Renderer2, NgZone, signal, QueryList, effect, LOCALE_ID, forwardRef, Host, ViewChildren, TemplateRef, ChangeDetectionStrategy, input, SimpleChange, ChangeDetectorRef, SkipSelf, CUSTOM_ELEMENTS_SCHEMA, reflectComponentType, NgModule, output, untracked } from '@angular/core';
2
+ import { Injectable, HostListener, Input, Directive, EventEmitter, InjectionToken, isDevMode, inject, PLATFORM_ID, Inject, ElementRef, ViewContainerRef, createComponent, DOCUMENT, HostBinding, Output, Self, Optional, booleanAttribute, SecurityContext, DestroyRef, Component, ContentChild, ContentChildren, RendererStyleFlags2, Pipe, ViewChild, Renderer2, NgZone, signal, QueryList, effect, LOCALE_ID, forwardRef, Host, ViewChildren, TemplateRef, ChangeDetectionStrategy, input, SimpleChange, ChangeDetectorRef, SkipSelf, CUSTOM_ELEMENTS_SCHEMA, reflectComponentType, NgModule, computed, output } from '@angular/core';
3
3
  import * as i4 from '@angular/forms';
4
4
  import { TouchedChangeEvent, NgModel, NgControl, FormControlName, NG_VALUE_ACCESSOR, Validators, NG_VALIDATORS, FormGroup, FormsModule, RequiredValidator, MinValidator, MaxValidator, EmailValidator, MinLengthValidator, MaxLengthValidator, PatternValidator, FormControl, ReactiveFormsModule } from '@angular/forms';
5
5
  import { Observable, NEVER, Subject, fromEvent, BehaviorSubject, filter as filter$1, interval, animationFrameScheduler, noop, takeUntil as takeUntil$1, merge, Subscription, timer, sampleTime, pipe, take as take$1 } from 'rxjs';
@@ -12,16 +12,12 @@ import { scaleOutVerTop, scaleInVerTop, AnimationUtil, fadeOut, fadeIn, slideOut
12
12
  import * as i1 from '@angular/animations';
13
13
  import { style, animate, useAnimation } from '@angular/animations';
14
14
  import * as i1$1 from '@angular/platform-browser';
15
- import { ɵgetDOM as _getDOM, HammerGestureConfig, HAMMER_GESTURE_CONFIG, DomSanitizer } from '@angular/platform-browser';
15
+ import { ɵgetDOM as _getDOM, HammerGestureConfig, HAMMER_GESTURE_CONFIG } from '@angular/platform-browser';
16
16
  import * as i2 from '@angular/common/http';
17
17
  import { addRow, addChild, pinLeft, unpinLeft, jumpDown, jumpUp, caseSensitive, editor } from '@igniteui/material-icons-extended';
18
18
  import { __decorate, __param } from 'tslib';
19
19
  import { IgcTrialWatermark } from 'igniteui-trial-watermark';
20
20
  import { IgcChatComponent } from 'igniteui-webcomponents';
21
- import DOMPurify from 'dompurify';
22
- import { Marked } from 'marked';
23
- import markedShiki from 'marked-shiki';
24
- import { createHighlighter, bundledThemes } from 'shiki/bundle/web';
25
21
 
26
22
  /**
27
23
  * Common service to be injected between components where those implementing common
@@ -8078,7 +8074,13 @@ class IgxOverlayService {
8078
8074
  }
8079
8075
  }
8080
8076
  this.updateSize(info);
8077
+ const openAnimation = info.settings.positionStrategy.settings.openAnimation;
8078
+ const closeAnimation = info.settings.positionStrategy.settings.closeAnimation;
8081
8079
  info.settings.positionStrategy.position(info.elementRef.nativeElement.parentElement, { width: info.initialSize.width, height: info.initialSize.height }, this._document, true, info.settings.target);
8080
+ if (openAnimation !== info.settings.positionStrategy.settings.openAnimation ||
8081
+ closeAnimation !== info.settings.positionStrategy.settings.closeAnimation) {
8082
+ this.buildAnimationPlayers(info);
8083
+ }
8082
8084
  this.addModalClasses(info);
8083
8085
  if (info.settings.positionStrategy.settings.openAnimation) {
8084
8086
  // TODO: should we build players again. This was already done in attach!!!
@@ -10623,6 +10625,7 @@ class IgxButtonBaseDirective {
10623
10625
  constructor(element) {
10624
10626
  this.element = element;
10625
10627
  this._platformUtil = inject(PlatformUtil);
10628
+ this._viewInit = false;
10626
10629
  /**
10627
10630
  * Emitted when the button is clicked.
10628
10631
  */
@@ -10661,15 +10664,14 @@ class IgxButtonBaseDirective {
10661
10664
  // In SSR there is no paint, so there’s no visual rendering or transitions to suppress.
10662
10665
  // Fix style flickering https://github.com/IgniteUI/igniteui-angular/issues/14759
10663
10666
  if (this._platformUtil.isBrowser) {
10664
- afterRenderEffect({
10665
- write: () => {
10666
- this.element.nativeElement.style.setProperty('--_init-transition', '0s');
10667
- },
10668
- read: () => {
10669
- requestAnimationFrame(() => {
10670
- this.element.nativeElement.style.removeProperty('--_init-transition');
10671
- });
10672
- }
10667
+ this.element.nativeElement.style.setProperty('--_init-transition', '0s');
10668
+ }
10669
+ }
10670
+ ngAfterViewInit() {
10671
+ if (this._platformUtil.isBrowser && !this._viewInit) {
10672
+ this._viewInit = true;
10673
+ requestAnimationFrame(() => {
10674
+ this.element.nativeElement.style.removeProperty('--_init-transition');
10673
10675
  });
10674
10676
  }
10675
10677
  }
@@ -20883,6 +20885,9 @@ class IgxToggleDirective {
20883
20885
  get hiddenClass() {
20884
20886
  return this.collapsed;
20885
20887
  }
20888
+ /**
20889
+ * @hidden
20890
+ */
20886
20891
  get hiddenWebkitClass() {
20887
20892
  const isSafari = this.platform?.isSafari;
20888
20893
  const browserVersion = this.platform?.browserVersion;
@@ -21022,6 +21027,14 @@ class IgxToggleDirective {
21022
21027
  return;
21023
21028
  }
21024
21029
  this._collapsed = false;
21030
+ // TODO: this is a workaround for the issue introduced by Angular's with Ivy renderer.
21031
+ // When calling detectChanges(), Angular marks the element for check, but does not update the classes
21032
+ // immediately, which causes the overlay to calculate incorrect dimensions of target element.
21033
+ // Overlay show should be called in the next tick to ensure the classes are updated and target element is measured correctly.
21034
+ // Note: across the codebase, each host binding should be checked and similar fix applied if needed!!!
21035
+ this.elementRef.nativeElement.className = this.elementRef.nativeElement.className.replace('igx-toggle--hidden', 'igx-toggle');
21036
+ this.elementRef.nativeElement.className = this.elementRef.nativeElement.className.replace('igx-toggle--hidden-webkit', 'igx-toggle');
21037
+ this.elementRef.nativeElement.removeAttribute('aria-hidden');
21025
21038
  this.cdr.detectChanges();
21026
21039
  if (!info) {
21027
21040
  this.unsubscribe();
@@ -21172,14 +21185,20 @@ class IgxToggleDirective {
21172
21185
  }
21173
21186
  }
21174
21187
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: IgxToggleDirective, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: IgxOverlayService }, { token: IgxNavigationService, optional: true }, { token: PlatformUtil, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
21175
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: IgxToggleDirective, isStandalone: true, selector: "[igxToggle]", inputs: { id: "id" }, outputs: { opened: "opened", opening: "opening", closed: "closed", closing: "closing", appended: "appended" }, host: { properties: { "class.igx-toggle--hidden": "this.hiddenClass", "attr.aria-hidden": "this.hiddenClass", "class.igx-toggle--hidden-webkit": "this.hiddenWebkitClass", "class.igx-toggle": "this.defaultClass" } }, exportAs: ["toggle"], ngImport: i0 }); }
21188
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: IgxToggleDirective, isStandalone: true, selector: "[igxToggle]", inputs: { id: "id" }, outputs: { opened: "opened", opening: "opening", closed: "closed", closing: "closing", appended: "appended" }, host: { properties: { "class.igx-toggle--hidden": "hiddenClass", "attr.aria-hidden": "hiddenClass", "class.igx-toggle--hidden-webkit": "hiddenWebkitClass", "class.igx-toggle": "defaultClass" } }, exportAs: ["toggle"], ngImport: i0 }); }
21176
21189
  }
21177
21190
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: IgxToggleDirective, decorators: [{
21178
21191
  type: Directive,
21179
21192
  args: [{
21180
21193
  exportAs: 'toggle',
21181
21194
  selector: '[igxToggle]',
21182
- standalone: true
21195
+ standalone: true,
21196
+ host: {
21197
+ '[class.igx-toggle--hidden]': 'hiddenClass',
21198
+ '[attr.aria-hidden]': 'hiddenClass',
21199
+ '[class.igx-toggle--hidden-webkit]': 'hiddenWebkitClass',
21200
+ '[class.igx-toggle]': 'defaultClass'
21201
+ }
21183
21202
  }]
21184
21203
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: IgxOverlayService, decorators: [{
21185
21204
  type: Inject,
@@ -21200,18 +21219,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
21200
21219
  type: Output
21201
21220
  }], id: [{
21202
21221
  type: Input
21203
- }], hiddenClass: [{
21204
- type: HostBinding,
21205
- args: ['class.igx-toggle--hidden']
21206
- }, {
21207
- type: HostBinding,
21208
- args: ['attr.aria-hidden']
21209
- }], hiddenWebkitClass: [{
21210
- type: HostBinding,
21211
- args: ['class.igx-toggle--hidden-webkit']
21212
- }], defaultClass: [{
21213
- type: HostBinding,
21214
- args: ['class.igx-toggle']
21215
21222
  }] } });
21216
21223
  class IgxToggleActionDirective {
21217
21224
  /**
@@ -21525,11 +21532,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
21525
21532
 
21526
21533
  class IgxTooltipComponent {
21527
21534
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: IgxTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21528
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: IgxTooltipComponent, isStandalone: true, selector: "igx-tooltip", viewQueries: [{ propertyName: "tooltip", first: true, predicate: IgxTooltipDirective, descendants: true, static: true }], ngImport: i0, template: "<span igxTooltip>{{content}}</span>", dependencies: [{ kind: "directive", type: IgxTooltipDirective, selector: "[igxTooltip]", inputs: ["context", "id", "role"], exportAs: ["tooltip"] }] }); }
21535
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: IgxTooltipComponent, isStandalone: true, selector: "igx-tooltip", viewQueries: [{ propertyName: "tooltip", first: true, predicate: IgxTooltipDirective, descendants: true, static: true }], ngImport: i0, template: "<span data-default igxTooltip>{{content}}</span>\n", dependencies: [{ kind: "directive", type: IgxTooltipDirective, selector: "[igxTooltip]", inputs: ["context", "id", "role"], exportAs: ["tooltip"] }] }); }
21529
21536
  }
21530
21537
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: IgxTooltipComponent, decorators: [{
21531
21538
  type: Component,
21532
- args: [{ selector: 'igx-tooltip', imports: [IgxTooltipDirective], template: "<span igxTooltip>{{content}}</span>" }]
21539
+ args: [{ selector: 'igx-tooltip', imports: [IgxTooltipDirective], template: "<span data-default igxTooltip>{{content}}</span>\n" }]
21533
21540
  }], propDecorators: { tooltip: [{
21534
21541
  type: ViewChild,
21535
21542
  args: [IgxTooltipDirective, { static: true }]
@@ -30321,10 +30328,23 @@ class IgxBadgeComponent {
30321
30328
  * ```
30322
30329
  */
30323
30330
  this.outlined = false;
30331
+ /**
30332
+ * Sets/gets whether the badge is displayed as a dot.
30333
+ * When true, the badge will be rendered as a minimal 8px indicator without any content.
30334
+ * Default value is `false`.
30335
+ *
30336
+ * @example
30337
+ * ```html
30338
+ * <igx-badge dot type="success"></igx-badge>
30339
+ * ```
30340
+ */
30341
+ this.dot = false;
30324
30342
  }
30325
30343
  /** @hidden @internal */
30326
30344
  get _squareShape() {
30327
- return this.shape === 'square';
30345
+ if (!this.dot) {
30346
+ return this.shape === 'square';
30347
+ }
30328
30348
  }
30329
30349
  /**
30330
30350
  * Defines a human-readable, accessor, author-localized description for
@@ -30355,7 +30375,7 @@ class IgxBadgeComponent {
30355
30375
  return this.type === IgxBadgeType.ERROR;
30356
30376
  }
30357
30377
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: IgxBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30358
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: IgxBadgeComponent, isStandalone: true, selector: "igx-badge", inputs: { id: "id", type: "type", value: "value", icon: "icon", iconSet: "iconSet", shape: "shape", outlined: ["outlined", "outlined", booleanAttribute] }, host: { properties: { "attr.id": "this.id", "attr.role": "this.role", "class.igx-badge": "this.cssClass", "class.igx-badge--square": "this._squareShape", "attr.aria-label": "this.label", "class.igx-badge--outlined": "this.outlined", "attr.aria-roledescription": "this.roleDescription", "class.igx-badge--info": "this.infoClass", "class.igx-badge--success": "this.successClass", "class.igx-badge--warning": "this.warningClass", "class.igx-badge--error": "this.errorClass" } }, ngImport: i0, template: "@if (value || value === 0 && !icon) {\n <span class=\"igx-badge__value\">{{value}}</span>\n}\n@if (icon && !iconSet) {\n <igx-icon>{{icon}}</igx-icon>\n}\n@if (icon && iconSet) {\n <igx-icon [family]=\"iconSet\" [name]=\"icon\">{{icon}}</igx-icon>\n}\n<ng-content></ng-content>\n", dependencies: [{ kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }] }); }
30378
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: IgxBadgeComponent, isStandalone: true, selector: "igx-badge", inputs: { id: "id", type: "type", value: "value", icon: "icon", iconSet: "iconSet", shape: "shape", outlined: ["outlined", "outlined", booleanAttribute], dot: ["dot", "dot", booleanAttribute] }, host: { properties: { "attr.id": "this.id", "attr.role": "this.role", "class.igx-badge": "this.cssClass", "class.igx-badge--square": "this._squareShape", "attr.aria-label": "this.label", "class.igx-badge--outlined": "this.outlined", "class.igx-badge--dot": "this.dot", "attr.aria-roledescription": "this.roleDescription", "class.igx-badge--info": "this.infoClass", "class.igx-badge--success": "this.successClass", "class.igx-badge--warning": "this.warningClass", "class.igx-badge--error": "this.errorClass" } }, ngImport: i0, template: "@if (value || value === 0 && !icon) {\n <span class=\"igx-badge__value\">{{value}}</span>\n}\n@if (icon && !iconSet) {\n <igx-icon>{{icon}}</igx-icon>\n}\n@if (icon && iconSet) {\n <igx-icon [family]=\"iconSet\" [name]=\"icon\">{{icon}}</igx-icon>\n}\n<ng-content></ng-content>\n", dependencies: [{ kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }] }); }
30359
30379
  }
30360
30380
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: IgxBadgeComponent, decorators: [{
30361
30381
  type: Component,
@@ -30393,6 +30413,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
30393
30413
  }, {
30394
30414
  type: HostBinding,
30395
30415
  args: ['class.igx-badge--outlined']
30416
+ }], dot: [{
30417
+ type: Input,
30418
+ args: [{ transform: booleanAttribute }]
30419
+ }, {
30420
+ type: HostBinding,
30421
+ args: ['class.igx-badge--dot']
30396
30422
  }], roleDescription: [{
30397
30423
  type: HostBinding,
30398
30424
  args: ['attr.aria-roledescription']
@@ -45042,6 +45068,7 @@ class IgxColumnComponent {
45042
45068
  get index() {
45043
45069
  return this.grid._columns.indexOf(this);
45044
45070
  }
45071
+ /* mustCoerceToInt */
45045
45072
  /**
45046
45073
  * Gets the pinning position of the column.
45047
45074
  * ```typescript
@@ -60723,7 +60750,7 @@ class IgxGridFilteringCellComponent {
60723
60750
  }
60724
60751
  }
60725
60752
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: IgxGridFilteringCellComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: IgxFilteringService }], target: i0.ɵɵFactoryTarget.Component }); }
60726
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: IgxGridFilteringCellComponent, isStandalone: true, selector: "igx-grid-filtering-cell", inputs: { column: "column" }, host: { properties: { "class": "this.styleClasses", "class.igx-grid-th--pinned": "this.pinnedCss", "class.igx-grid-th--pinned-last": "this.pinnedLastCss", "class.igx-grid-th--pinned-first": "this.pinnedFirstCSS" } }, viewQueries: [{ propertyName: "emptyFilter", first: true, predicate: ["emptyFilter"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultFilter", first: true, predicate: ["defaultFilter"], descendants: true, read: TemplateRef, static: true }, { propertyName: "complexFilter", first: true, predicate: ["complexFilter"], descendants: true, read: TemplateRef, static: true }, { propertyName: "chipsArea", first: true, predicate: ["chipsArea"], descendants: true, read: IgxChipsAreaComponent }, { propertyName: "moreIcon", first: true, predicate: ["moreIcon"], descendants: true, read: ElementRef }, { propertyName: "ghostChip", first: true, predicate: ["ghostChip"], descendants: true, read: IgxChipComponent }, { propertyName: "complexChip", first: true, predicate: ["complexChip"], descendants: true, read: IgxChipComponent }], ngImport: i0, template: "<ng-template #emptyFilter>\n <igx-chips-area [attr.draggable]=\"false\" class=\"igx-filtering-chips\">\n <igx-chip #ghostChip [attr.draggable]=\"false\" (click)=\"onChipClicked()\" [tabIndex]=\"-1\" [style.--ig-size]=\"filteringElementsSize\">\n <igx-icon\n [attr.draggable]=\"false\"\n igxPrefix\n family=\"default\"\n name=\"filter_list\"\n ></igx-icon>\n <span [attr.draggable]=\"false\">{{filteringService.grid.resourceStrings.igx_grid_filter}}</span>\n </igx-chip>\n </igx-chips-area>\n</ng-template>\n\n<ng-template #defaultFilter>\n <igx-chips-area #chipsArea class=\"igx-filtering-chips\">\n <!-- expressionsList items re-created on refreshExpressions(), track stable expression -->\n @for (item of expressionsList; track item.expression; let last = $last; let index = $index) {\n @if (isChipVisible(index)) {\n <igx-chip\n [removable]=\"true\"\n [tabIndex]=\"-1\"\n [style.--ig-size]=\"filteringElementsSize\"\n (click)=\"onChipClicked(item.expression)\"\n (remove)=\"onChipRemoved($event, item)\">\n <igx-icon igxPrefix\n family=\"default\"\n [name]=\"item.expression.condition.iconName\">\n </igx-icon>\n <span #label>\n {{filteringService.getChipLabel(item.expression)}}\n </span>\n </igx-chip>\n }\n @if (!last && isChipVisible(index + 1)) {\n <span class=\"igx-filtering-chips__connector\">{{filteringService.getOperatorAsString(item.afterOperator)}}</span>\n }\n }\n <div #moreIcon [ngClass]=\"filteringIndicatorClass()\" (click)=\"onChipClicked()\">\n <igx-icon family=\"default\" name=\"filter_list\"></igx-icon>\n <igx-badge [value]=\"moreFiltersCount\"></igx-badge>\n </div>\n </igx-chips-area>\n</ng-template>\n\n<ng-template #complexFilter>\n <igx-chip #complexChip [removable]=\"true\" (remove)=\"clearFiltering()\" [tabIndex]=\"-1\" [style.--ig-size]=\"filteringElementsSize\">\n <igx-icon igxPrefix family=\"default\" name=\"filter_list\"></igx-icon>\n <span>{{filteringService.grid.resourceStrings.igx_grid_complex_filter}}</span>\n </igx-chip>\n</ng-template>\n\n<ng-container *ngTemplateOutlet=\"template; context: context\"></ng-container>\n", dependencies: [{ kind: "component", type: IgxChipsAreaComponent, selector: "igx-chips-area", inputs: ["width", "height"], outputs: ["reorder", "selectionChange", "moveStart", "moveEnd"] }, { kind: "component", type: IgxChipComponent, selector: "igx-chip", inputs: ["variant", "id", "tabIndex", "data", "draggable", "animateOnRelease", "hideBaseOnDrag", "removable", "removeIcon", "selectable", "selectIcon", "class", "disabled", "selected", "color", "resourceStrings"], outputs: ["selectedChange", "moveStart", "moveEnd", "remove", "chipClick", "selectedChanging", "selectedChanged", "keyDown", "dragEnter", "dragLeave", "dragOver", "dragDrop"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }, { kind: "directive", type: IgxPrefixDirective, selector: "igx-prefix,[igxPrefix],[igxStart]" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IgxBadgeComponent, selector: "igx-badge", inputs: ["id", "type", "value", "icon", "iconSet", "shape", "outlined"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
60753
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: IgxGridFilteringCellComponent, isStandalone: true, selector: "igx-grid-filtering-cell", inputs: { column: "column" }, host: { properties: { "class": "this.styleClasses", "class.igx-grid-th--pinned": "this.pinnedCss", "class.igx-grid-th--pinned-last": "this.pinnedLastCss", "class.igx-grid-th--pinned-first": "this.pinnedFirstCSS" } }, viewQueries: [{ propertyName: "emptyFilter", first: true, predicate: ["emptyFilter"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultFilter", first: true, predicate: ["defaultFilter"], descendants: true, read: TemplateRef, static: true }, { propertyName: "complexFilter", first: true, predicate: ["complexFilter"], descendants: true, read: TemplateRef, static: true }, { propertyName: "chipsArea", first: true, predicate: ["chipsArea"], descendants: true, read: IgxChipsAreaComponent }, { propertyName: "moreIcon", first: true, predicate: ["moreIcon"], descendants: true, read: ElementRef }, { propertyName: "ghostChip", first: true, predicate: ["ghostChip"], descendants: true, read: IgxChipComponent }, { propertyName: "complexChip", first: true, predicate: ["complexChip"], descendants: true, read: IgxChipComponent }], ngImport: i0, template: "<ng-template #emptyFilter>\n <igx-chips-area [attr.draggable]=\"false\" class=\"igx-filtering-chips\">\n <igx-chip #ghostChip [attr.draggable]=\"false\" (click)=\"onChipClicked()\" [tabIndex]=\"-1\" [style.--ig-size]=\"filteringElementsSize\">\n <igx-icon\n [attr.draggable]=\"false\"\n igxPrefix\n family=\"default\"\n name=\"filter_list\"\n ></igx-icon>\n <span [attr.draggable]=\"false\">{{filteringService.grid.resourceStrings.igx_grid_filter}}</span>\n </igx-chip>\n </igx-chips-area>\n</ng-template>\n\n<ng-template #defaultFilter>\n <igx-chips-area #chipsArea class=\"igx-filtering-chips\">\n <!-- expressionsList items re-created on refreshExpressions(), track stable expression -->\n @for (item of expressionsList; track item.expression; let last = $last; let index = $index) {\n @if (isChipVisible(index)) {\n <igx-chip\n [removable]=\"true\"\n [tabIndex]=\"-1\"\n [style.--ig-size]=\"filteringElementsSize\"\n (click)=\"onChipClicked(item.expression)\"\n (remove)=\"onChipRemoved($event, item)\">\n <igx-icon igxPrefix\n family=\"default\"\n [name]=\"item.expression.condition.iconName\">\n </igx-icon>\n <span #label>\n {{filteringService.getChipLabel(item.expression)}}\n </span>\n </igx-chip>\n }\n @if (!last && isChipVisible(index + 1)) {\n <span class=\"igx-filtering-chips__connector\">{{filteringService.getOperatorAsString(item.afterOperator)}}</span>\n }\n }\n <div #moreIcon [ngClass]=\"filteringIndicatorClass()\" (click)=\"onChipClicked()\">\n <igx-icon family=\"default\" name=\"filter_list\"></igx-icon>\n <igx-badge [value]=\"moreFiltersCount\"></igx-badge>\n </div>\n </igx-chips-area>\n</ng-template>\n\n<ng-template #complexFilter>\n <igx-chip #complexChip [removable]=\"true\" (remove)=\"clearFiltering()\" [tabIndex]=\"-1\" [style.--ig-size]=\"filteringElementsSize\">\n <igx-icon igxPrefix family=\"default\" name=\"filter_list\"></igx-icon>\n <span>{{filteringService.grid.resourceStrings.igx_grid_complex_filter}}</span>\n </igx-chip>\n</ng-template>\n\n<ng-container *ngTemplateOutlet=\"template; context: context\"></ng-container>\n", dependencies: [{ kind: "component", type: IgxChipsAreaComponent, selector: "igx-chips-area", inputs: ["width", "height"], outputs: ["reorder", "selectionChange", "moveStart", "moveEnd"] }, { kind: "component", type: IgxChipComponent, selector: "igx-chip", inputs: ["variant", "id", "tabIndex", "data", "draggable", "animateOnRelease", "hideBaseOnDrag", "removable", "removeIcon", "selectable", "selectIcon", "class", "disabled", "selected", "color", "resourceStrings"], outputs: ["selectedChange", "moveStart", "moveEnd", "remove", "chipClick", "selectedChanging", "selectedChanged", "keyDown", "dragEnter", "dragLeave", "dragOver", "dragDrop"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }, { kind: "directive", type: IgxPrefixDirective, selector: "igx-prefix,[igxPrefix],[igxStart]" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IgxBadgeComponent, selector: "igx-badge", inputs: ["id", "type", "value", "icon", "iconSet", "shape", "outlined", "dot"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
60727
60754
  }
60728
60755
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: IgxGridFilteringCellComponent, decorators: [{
60729
60756
  type: Component,
@@ -68727,7 +68754,9 @@ class IgxGridBaseDirective {
68727
68754
  }
68728
68755
  else {
68729
68756
  const activeRow = this.navigation.activeNode?.row;
68730
- const selectedCellIndexes = this.selectionService.selection?.keys()?.toArray();
68757
+ const selectedCellIndexes = this.selectionService.selection
68758
+ ? Array.from(this.selectionService.selection.keys())
68759
+ : [];
68731
68760
  this._activeRowIndexes = [activeRow, ...selectedCellIndexes];
68732
68761
  return this._activeRowIndexes;
68733
68762
  }
@@ -73933,7 +73962,7 @@ class IgxGridGroupByRowComponent {
73933
73962
  return this.grid.rowSelection !== GridSelectionMode.none && !this.hideGroupRowSelectors;
73934
73963
  }
73935
73964
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: IgxGridGroupByRowComponent, deps: [{ token: IGX_GRID_BASE }, { token: IgxGridSelectionService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: IgxFilteringService }], target: i0.ɵɵFactoryTarget.Component }); }
73936
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: IgxGridGroupByRowComponent, isStandalone: true, selector: "igx-grid-groupby-row", inputs: { hideGroupRowSelectors: "hideGroupRowSelectors", rowDraggable: "rowDraggable", index: "index", gridID: "gridID", groupRow: "groupRow", isFocused: "isFocused" }, host: { listeners: { "pointerdown": "activate()", "click": "onClick($event)" }, properties: { "attr.aria-expanded": "this.expanded", "attr.aria-describedby": "this.describedBy", "attr.data-rowIndex": "this.dataRowIndex", "attr.id": "this.attrCellID", "class": "this.styleClasses" } }, viewQueries: [{ propertyName: "groupContent", first: true, predicate: ["groupContent"], descendants: true, static: true }, { propertyName: "defaultGroupByExpandedTemplate", first: true, predicate: ["defaultGroupByExpandedTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultGroupByCollapsedTemplate", first: true, predicate: ["defaultGroupByCollapsedTemplate"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<ng-container #defaultGroupRow>\n\n @if (rowDraggable) {\n <div class=\"igx-grid__drag-indicator igx-grid__tr-action\">\n <igx-icon family=\"default\" name=\"drag_indicator\" [style.visibility]=\"'hidden'\"></igx-icon>\n </div>\n }\n\n @if (showRowSelectors) {\n <div class=\"igx-grid__cbx-selection igx-grid__tr-action\" (pointerdown)=\"$event.preventDefault()\"\n (click)=\"onGroupSelectorClick($event)\">\n <ng-template #groupByRowSelector *ngTemplateOutlet=\"\n this.grid.groupByRowSelectorTemplate ? this.grid.groupByRowSelectorTemplate : groupByRowSelectorBaseTemplate;\n context: { $implicit: {\n selectedCount: selectedRowsInTheGroup.length,\n totalCount: this.groupRow.records.length,\n groupRow: this.groupRow }}\">\n </ng-template>\n </div>\n }\n\n <div (click)=\"toggle()\" class=\"igx-grid__grouping-indicator\">\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: { $implicit: this }\">\n </ng-container>\n </div>\n\n <div class=\"igx-grid__group-content\" #groupContent>\n <ng-container\n *ngTemplateOutlet=\"grid.groupRowTemplate ? grid.groupRowTemplate : defaultGroupByTemplate; context: { $implicit: groupRow }\">\n </ng-container>\n </div>\n\n <ng-template #defaultGroupByExpandedTemplate>\n <igx-icon family=\"default\" name=\"tree_collapse\"></igx-icon>\n </ng-template>\n\n <ng-template #defaultGroupByCollapsedTemplate>\n <igx-icon family=\"default\" name=\"tree_expand\"></igx-icon>\n </ng-template>\n\n\n <ng-template #defaultGroupByTemplate>\n <div class=\"igx-group-label\">\n <igx-icon family=\"default\" name=\"group_work\" class=\"igx-group-label__icon\"></igx-icon>\n <span class=\"igx-group-label__column-name\">\n {{ groupRow.column && groupRow.column.header ?\n groupRow.column.header :\n (groupRow.expression ? groupRow.expression.fieldName : '') }}:\n </span>\n\n <span class=\"igx-group-label__text\">{{\n formatter\n ? (groupRow.value | columnFormatter:formatter:groupRow.records[0]:null)\n : dataType === \"number\"\n ? (groupRow.value | number:groupRow.column.pipeArgs.digitsInfo:grid.locale)\n : (dataType === 'date' || dataType === 'time' || dataType === 'dateTime')\n ? (groupRow.value | date:groupRow.column.pipeArgs.format:groupRow.column.pipeArgs.timezone:grid.locale)\n : dataType === 'currency'\n ? (groupRow.value | currency:currencyCode:groupRow.column.pipeArgs.display:groupRow.column.pipeArgs.digitsInfo:grid.locale)\n : dataType === 'percent'\n ? (groupRow.value | percent:groupRow.column.pipeArgs.digitsInfo:grid.locale)\n : groupRow.value\n }}</span>\n\n <igx-badge [value]=\"groupRow.records ? groupRow.records.length : 0\" class='igx-group-label__count-badge'>\n </igx-badge>\n </div>\n </ng-template>\n <ng-template #groupByRowSelectorBaseTemplate let-context>\n <div class=\"igx-grid__cbx-padding\">\n <igx-checkbox [tabindex]=\"-1\" [readonly]=\"true\" [checked]=\"areAllRowsInTheGroupSelected\"\n [disableRipple]=\"true\" [indeterminate]=\"groupByRowCheckboxIndeterminateState\"\n [disabled]=\"this.grid.rowSelection === 'single'\" [aria-label]=\"groupByRowSelectorBaseAriaLabel\"\n #groupByRowCheckbox>\n </igx-checkbox>\n </div>\n </ng-template>\n</ng-container>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }, { kind: "component", type: IgxBadgeComponent, selector: "igx-badge", inputs: ["id", "type", "value", "icon", "iconSet", "shape", "outlined"] }, { kind: "component", type: IgxCheckboxComponent, selector: "igx-checkbox", inputs: ["indeterminate", "checked", "disabled", "invalid", "readonly", "disableTransitions"] }, { kind: "pipe", type: DecimalPipe, name: "number" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: PercentPipe, name: "percent" }, { kind: "pipe", type: CurrencyPipe, name: "currency" }, { kind: "pipe", type: IgxColumnFormatterPipe, name: "columnFormatter" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
73965
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: IgxGridGroupByRowComponent, isStandalone: true, selector: "igx-grid-groupby-row", inputs: { hideGroupRowSelectors: "hideGroupRowSelectors", rowDraggable: "rowDraggable", index: "index", gridID: "gridID", groupRow: "groupRow", isFocused: "isFocused" }, host: { listeners: { "pointerdown": "activate()", "click": "onClick($event)" }, properties: { "attr.aria-expanded": "this.expanded", "attr.aria-describedby": "this.describedBy", "attr.data-rowIndex": "this.dataRowIndex", "attr.id": "this.attrCellID", "class": "this.styleClasses" } }, viewQueries: [{ propertyName: "groupContent", first: true, predicate: ["groupContent"], descendants: true, static: true }, { propertyName: "defaultGroupByExpandedTemplate", first: true, predicate: ["defaultGroupByExpandedTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultGroupByCollapsedTemplate", first: true, predicate: ["defaultGroupByCollapsedTemplate"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<ng-container #defaultGroupRow>\n\n @if (rowDraggable) {\n <div class=\"igx-grid__drag-indicator igx-grid__tr-action\">\n <igx-icon family=\"default\" name=\"drag_indicator\" [style.visibility]=\"'hidden'\"></igx-icon>\n </div>\n }\n\n @if (showRowSelectors) {\n <div class=\"igx-grid__cbx-selection igx-grid__tr-action\" (pointerdown)=\"$event.preventDefault()\"\n (click)=\"onGroupSelectorClick($event)\">\n <ng-template #groupByRowSelector *ngTemplateOutlet=\"\n this.grid.groupByRowSelectorTemplate ? this.grid.groupByRowSelectorTemplate : groupByRowSelectorBaseTemplate;\n context: { $implicit: {\n selectedCount: selectedRowsInTheGroup.length,\n totalCount: this.groupRow.records.length,\n groupRow: this.groupRow }}\">\n </ng-template>\n </div>\n }\n\n <div (click)=\"toggle()\" class=\"igx-grid__grouping-indicator\">\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: { $implicit: this }\">\n </ng-container>\n </div>\n\n <div class=\"igx-grid__group-content\" #groupContent>\n <ng-container\n *ngTemplateOutlet=\"grid.groupRowTemplate ? grid.groupRowTemplate : defaultGroupByTemplate; context: { $implicit: groupRow }\">\n </ng-container>\n </div>\n\n <ng-template #defaultGroupByExpandedTemplate>\n <igx-icon family=\"default\" name=\"tree_collapse\"></igx-icon>\n </ng-template>\n\n <ng-template #defaultGroupByCollapsedTemplate>\n <igx-icon family=\"default\" name=\"tree_expand\"></igx-icon>\n </ng-template>\n\n\n <ng-template #defaultGroupByTemplate>\n <div class=\"igx-group-label\">\n <igx-icon family=\"default\" name=\"group_work\" class=\"igx-group-label__icon\"></igx-icon>\n <span class=\"igx-group-label__column-name\">\n {{ groupRow.column && groupRow.column.header ?\n groupRow.column.header :\n (groupRow.expression ? groupRow.expression.fieldName : '') }}:\n </span>\n\n <span class=\"igx-group-label__text\">{{\n formatter\n ? (groupRow.value | columnFormatter:formatter:groupRow.records[0]:null)\n : dataType === \"number\"\n ? (groupRow.value | number:groupRow.column.pipeArgs.digitsInfo:grid.locale)\n : (dataType === 'date' || dataType === 'time' || dataType === 'dateTime')\n ? (groupRow.value | date:groupRow.column.pipeArgs.format:groupRow.column.pipeArgs.timezone:grid.locale)\n : dataType === 'currency'\n ? (groupRow.value | currency:currencyCode:groupRow.column.pipeArgs.display:groupRow.column.pipeArgs.digitsInfo:grid.locale)\n : dataType === 'percent'\n ? (groupRow.value | percent:groupRow.column.pipeArgs.digitsInfo:grid.locale)\n : groupRow.value\n }}</span>\n\n <igx-badge [value]=\"groupRow.records ? groupRow.records.length : 0\" class='igx-group-label__count-badge'>\n </igx-badge>\n </div>\n </ng-template>\n <ng-template #groupByRowSelectorBaseTemplate let-context>\n <div class=\"igx-grid__cbx-padding\">\n <igx-checkbox [tabindex]=\"-1\" [readonly]=\"true\" [checked]=\"areAllRowsInTheGroupSelected\"\n [disableRipple]=\"true\" [indeterminate]=\"groupByRowCheckboxIndeterminateState\"\n [disabled]=\"this.grid.rowSelection === 'single'\" [aria-label]=\"groupByRowSelectorBaseAriaLabel\"\n #groupByRowCheckbox>\n </igx-checkbox>\n </div>\n </ng-template>\n</ng-container>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }, { kind: "component", type: IgxBadgeComponent, selector: "igx-badge", inputs: ["id", "type", "value", "icon", "iconSet", "shape", "outlined", "dot"] }, { kind: "component", type: IgxCheckboxComponent, selector: "igx-checkbox", inputs: ["indeterminate", "checked", "disabled", "invalid", "readonly", "disableTransitions"] }, { kind: "pipe", type: DecimalPipe, name: "number" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: PercentPipe, name: "percent" }, { kind: "pipe", type: CurrencyPipe, name: "currency" }, { kind: "pipe", type: IgxColumnFormatterPipe, name: "columnFormatter" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
73937
73966
  }
73938
73967
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: IgxGridGroupByRowComponent, decorators: [{
73939
73968
  type: Component,
@@ -76297,7 +76326,7 @@ class IgxGridComponent extends IgxGridBaseDirective {
76297
76326
  if (!this._init) {
76298
76327
  this.validation.updateAll(this._data);
76299
76328
  }
76300
- if (this.autoGenerate && this._data.length > 0 && this.shouldRecreateColumns(oldData, this._data)) {
76329
+ if (this.autoGenerate && this._data.length > 0 && this.shouldRecreateColumns(oldData, this._data) && this.gridAPI.grid) {
76301
76330
  this.setupColumns();
76302
76331
  }
76303
76332
  this.cdr.markForCheck();
@@ -78067,7 +78096,7 @@ class IgxPivotHeaderRowComponent extends IgxGridHeaderRowComponent {
78067
78096
  return this.grid.dimensionDataColumns ? this.grid.dimensionDataColumns.find((col) => col.field === dim.memberName) : null;
78068
78097
  }
78069
78098
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: IgxPivotHeaderRowComponent, deps: [{ token: IGX_GRID_BASE }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
78070
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: IgxPivotHeaderRowComponent, isStandalone: true, selector: "igx-pivot-header-row", host: { properties: { "attr.aria-activedescendant": "this.activeDescendant" } }, viewQueries: [{ propertyName: "esf", first: true, predicate: ["esf"], descendants: true }, { propertyName: "filterArea", first: true, predicate: ["filterAreaHidden"], descendants: true }, { propertyName: "filtersButton", first: true, predicate: ["filterIcon"], descendants: true }, { propertyName: "dropdownChips", first: true, predicate: ["dropdownChips"], descendants: true }, { propertyName: "pivotFilterContainer", first: true, predicate: ["pivotFilterContainer"], descendants: true }, { propertyName: "pivotRowContainer", first: true, predicate: ["pivotRowContainer"], descendants: true }, { propertyName: "notificationChips", predicate: ["notifyChip"], descendants: true }, { propertyName: "headerContainers", predicate: ["headerVirtualContainer"], descendants: true, read: IgxGridForOfDirective }, { propertyName: "rowDimensionHeaders", predicate: ["rowDimensionHeaders"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div>\n <div class=\"igx-grid-thead__wrapper igx-grid-thead__wrapper--pivot\" role=\"row\" [style.width.px]=\"width\">\n <div class=\"igx-grid__tr\" role=\"row\" [style.width.px]=\"width\">\n <div class='igx-grid__tr-pivot--filter-container'>\n @if (grid.pivotUI.showConfiguration) {\n <div #pivotFilterContainer\n class=\"igx-grid__tr-pivot igx-grid__tr-pivot--filter\" [style.min-width.px]=\"grid.pivotRowWidths - 1\"\n [style.max-width.px]=\"grid.pivotRowWidths - 1\" (igxDragLeave)=\"onAreaDragLeave($event, filterArea)\"\n igxDrop (dropped)=\"onDimDrop($event, filterArea, 2)\" (pointerdown)=\"$event.preventDefault()\">\n <!-- Filter area -->\n <igx-chips-area #filterArea droppable='true'>\n @if (grid.filterDimensions.length === 0) {\n <span id='empty' igxDrop (dropped)=\"onDimDrop($event, filterArea, 2)\"\n class='igx-grid__pivot-empty-chip-area'>{{grid.resourceStrings.igx_grid_pivot_empty_filter_drop_area}}</span>\n }\n @for (filter of this.filterAreaDimensions; track filter; let last = $last) {\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(filterArea)'></span>\n <igx-chip [id]=\"filter.memberName\" [draggable]=\"true\" [data]=\"{ pivotArea: 'filter' }\"\n [removable]=\"true\" (remove)=\"filterRemoved($event)\" (dragOver)=\"onDimDragOver($event, 2)\"\n (dragLeave)=\"onDimDragLeave($event)\" (dragDrop)=\"onDimDrop($event, filterArea, 2)\"\n (moveStart)='onDimDragStart($event, filterArea)' (moveEnd)='onDimDragEnd()'>\n <igx-icon\n family=\"default\"\n name=\"filter_list\"\n igxPrefix\n (pointerdown)='onFilteringIconPointerDown($event)'\n (click)='onFilteringIconClick($event, filter)'>\n </igx-icon>\n {{filter.displayName || filter.memberName}}\n </igx-chip>\n @if (last) {\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(filterArea)'></span>\n }\n }\n <igx-chip igxDrop (dragDrop)=\"onDimDrop($event, filterArea, 2)\" #notifyChip [hidden]='true'>\n {{grid.resourceStrings.igx_grid_pivot_filter_drop_chip}}\n </igx-chip>\n </igx-chips-area>\n @if (isFiltersButton && grid.filterDimensions.length !== 0) {\n <div class=\"igx-grid__pivot-filter-toggle\">\n <igx-icon\n family=\"default\"\n name=\"filter_list\"\n #filterIcon\n (pointerdown)='onFilteringIconPointerDown($event)'\n (click)='onFiltersAreaDropdownClick($event)'>\n </igx-icon>\n <igx-badge value=\"{{this.filterDropdownDimensions.size}}\"></igx-badge>\n </div>\n }\n </div>\n }\n <div class='igx-grid__tr-pivot--drop-row-area'>\n @if (grid.pivotUI.showConfiguration && grid.pivotUI.showRowHeaders) {\n <div #pivotRowContainer [style.width.px]=\"grid.pivotRowWidths - 1\"\n class=\"igx-grid__tr-pivot igx-grid__tr-pivot--small-row-area\" igxDrop\n (igxDragLeave)=\"onAreaDragLeave($event, rowArea)\"\n (dropped)=\"onDimDrop($event, rowArea, 0)\">\n <igx-chips-area #rowArea droppable='true'>\n @if (grid.rowDimensions.length === 0) {\n <span id='empty' igxDrop (dropped)=\"onDimDrop($event, rowArea, 0)\"\n class='igx-grid__pivot-empty-chip-area'>{{grid.resourceStrings.igx_grid_pivot_empty_row_drop_area}}</span>\n }\n @for (row of grid.rowDimensions; track row.memberName; let last = $last) {\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(rowArea)'></span>\n <igx-chip [draggable]=\"true\" [id]=\"row.memberName\" [data]=\"{ pivotArea: 'row' }\"\n [removable]=\"true\" (remove)=\"rowRemoved($event)\" (dragLeave)=\"onDimDragLeave($event)\"\n (dragDrop)=\"onDimDrop($event, rowArea, 0)\" (dragOver)=\"onDimDragOver($event, 0)\"\n (moveStart)='onDimDragStart($event, rowArea)' (moveEnd)='onDimDragEnd()'\n (click)=\"onChipSort($event, row)\">\n <igx-icon igxPrefix family=\"default\" name=\"table_rows\"></igx-icon>\n <igx-icon\n family=\"default\"\n name=\"filter_list\"\n igxPrefix\n (pointerdown)='onFilteringIconPointerDown($event)'\n (click)='onFilteringIconClick($event, row)'>\n </igx-icon>\n {{ row.displayName || row.memberName}}\n @if (row.sortDirection) {\n <igx-icon\n family=\"default\"\n [name]=\"row.sortDirection < 2 ? 'sort_asc' : 'sort_desc'\"\n igxSuffix>\n </igx-icon>\n }\n </igx-chip>\n @if (last) {\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(rowArea)'></span>\n }\n }\n <igx-chip igxDrop (dragDrop)=\"onDimDrop($event, rowArea, 0)\" #notifyChip [hidden]='true'>\n {{grid.resourceStrings.igx_grid_pivot_row_drop_chip}}\n </igx-chip>\n </igx-chips-area>\n </div>\n }\n </div>\n </div>\n\n <div class=\"igx-grid__tr-pivot-group\">\n @if (grid.pivotUI.showConfiguration) {\n <div #pivotColumnContainer class=\"igx-grid__tr-pivot\"\n (dropped)=\"onDimDrop($event, colArea, 1)\" igxDrop (igxDragLeave)=\"onAreaDragLeave($event, colArea)\">\n <!-- Columns area -->\n <igx-chips-area #colArea droppable='true'>\n @if (grid.columnDimensions.length === 0) {\n <span id='empty' (dropped)=\"onDimDrop($event, colArea, 1)\" igxDrop\n class='igx-grid__pivot-empty-chip-area'>\n {{grid.resourceStrings.igx_grid_pivot_empty_column_drop_area}}</span>\n }\n @for (col of grid.columnDimensions; track col.memberName; let last = $last) {\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(colArea)'></span>\n <igx-chip [draggable]=\"true\" [id]=\"col.memberName\" [data]=\"{ pivotArea: 'column' }\"\n [removable]=\"true\" (remove)=\"columnRemoved($event)\" (dragOver)=\"onDimDragOver($event, 1)\"\n (dragLeave)=\"onDimDragLeave($event)\" (dragDrop)=\"onDimDrop($event, colArea, 1)\"\n (moveStart)='onDimDragStart($event, colArea)' (moveEnd)='onDimDragEnd()'\n (click)=\"onChipSort($event, col)\">\n <igx-icon\n family=\"default\"\n name=\"view_column\"\n igxPrefix>\n </igx-icon>\n <igx-icon\n family=\"default\"\n name=\"filter_list\"\n igxPrefix\n (pointerdown)='onFilteringIconPointerDown($event)'\n (click)='onFilteringIconClick($event, col)'>\n </igx-icon>\n {{col.displayName || col.memberName}}\n @if (col.sortDirection) {\n <igx-icon\n family=\"default\"\n [name]=\"col.sortDirection < 2 ? 'sort_asc' : 'sort_desc'\"\n igxSuffix>\n </igx-icon>\n }\n </igx-chip>\n @if (last) {\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(colArea)'></span>\n }\n }\n <igx-chip igxDrop (dragDrop)=\"onDimDrop($event, colArea, 1)\" #notifyChip [hidden]='true'>\n {{grid.resourceStrings.igx_grid_pivot_column_drop_chip}}\n </igx-chip>\n </igx-chips-area>\n </div>\n }\n\n @if (grid.pivotUI.showConfiguration) {\n <div #pivotValueContainer class=\"igx-grid__tr-pivot\"\n (pointerdown)=\"$event.preventDefault()\" (dropped)=\"onValueDrop($event, valueArea)\" igxDrop\n (igxDragLeave)=\"onAreaDragLeave($event, valueArea)\">\n <!-- Value area -->\n <igx-chips-area #valueArea droppable='true'>\n @if (grid.values.length === 0) {\n <span id='empty' (dropped)=\"onValueDrop($event, valueArea)\" igxDrop\n class='igx-grid__pivot-empty-chip-area'>{{grid.resourceStrings.igx_grid_pivot_empty_value_drop_area}}</span>\n }\n @for (value of grid.values; track value.member; let last = $last) {\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(valueArea)'></span>\n <igx-chip #currChip [draggable]=\"true\" [id]=\"value.displayName || value.member\" [data]=\"{ pivotArea: 'value' }\"\n [removable]=\"true\" (remove)=\"valueRemoved($event)\"\n (dragLeave)=\"onDimDragLeave($event)\" (dragOver)=\"onDimDragOver($event)\"\n (dragDrop)=\"onValueDrop($event, valueArea)\">\n <div class=\"igx-grid__tr-pivot-toggle-icons\" igxPrefix\n (click)='onSummaryClick($event, value, dropdown, currChip)'\n (pointerdown)='$event.stopPropagation()' [igxDropDownItemNavigation]=\"dropdown\">\n <igx-icon family=\"default\" name=\"functions\"></igx-icon>\n <igx-icon family=\"default\" name=\"arrow_drop_down\"></igx-icon>\n </div>\n <ng-container *ngTemplateOutlet=\"grid.valueChipTemplate ? grid.valueChipTemplate : valueChipDefaultTemplate; context: { $implicit: value }\"></ng-container>\n </igx-chip>\n @if (last) {\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(valueArea)'></span>\n }\n }\n <igx-chip igxDrop (dragDrop)=\"onValueDrop($event, valueArea)\" #notifyValueChip [hidden]='true'>\n {{grid.resourceStrings.igx_grid_pivot_value_drop_chip}}\n </igx-chip>\n </igx-chips-area>\n </div>\n }\n </div>\n </div>\n </div>\n <div role=\"rowgroup\" class=\"igx-grid-thead__wrapper\" [style.width.px]=\"width\"\n [class.igx-grid__tr--mrl]=\"hasMRL\">\n\n <!-- Column headers area -->\n <div class=\"igx-grid__tr\" role=\"row\" [style.width.px]=\"width\">\n @if (!grid.pivotUI.showRowHeaders || grid.rowDimensions.length === 0) {\n <div #pivotContainer class=\"igx-grid__tr-pivot igx-grid__tr-pivot--row-area\"\n [style.width.px]=\"grid.pivotRowWidths - 1\" (igxDragLeave)=\"onAreaDragLeave($event, rowArea)\" igxDrop\n (dropped)=\"onDimDrop($event, rowArea, 0)\" (pointerdown)=\"$event.preventDefault()\">\n <!-- Row area -->\n <igx-chips-area #rowArea droppable='true'>\n @if (grid.pivotUI.showConfiguration || grid.rowDimensions.length === 0) {\n @if (grid.rowDimensions.length === 0) {\n <span id='empty' igxDrop (dropped)=\"onDimDrop($event, rowArea, 0)\"\n class='igx-grid__pivot-empty-chip-area'>{{grid.resourceStrings.igx_grid_pivot_empty_row_drop_area}}</span>\n }\n @for (row of grid.rowDimensions; track row.memberName; let last = $last) {\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(rowArea)'></span>\n <igx-chip [draggable]=\"true\" [id]=\"row.memberName\" [data]=\"{ pivotArea: 'row' }\"\n [removable]=\"true\" (remove)=\"rowRemoved($event)\" (dragLeave)=\"onDimDragLeave($event)\"\n (dragDrop)=\"onDimDrop($event, rowArea, 0)\" (dragOver)=\"onDimDragOver($event, 0)\"\n (moveStart)='onDimDragStart($event, rowArea)' (moveEnd)='onDimDragEnd()'\n (click)=\"onChipSort($event, row)\">\n <igx-icon igxPrefix family=\"default\" name=\"table_rows\"></igx-icon>\n <igx-icon\n family=\"default\"\n name=\"filter_list\"\n igxPrefix\n (pointerdown)='onFilteringIconPointerDown($event)'\n (click)='onFilteringIconClick($event, row)'>\n </igx-icon>\n {{ row.displayName || row.memberName}}\n @if (row.sortDirection) {\n <igx-icon\n family=\"default\"\n [name]=\"row.sortDirection < 2 ? 'sort_asc' : 'sort_desc'\"\n igxSuffix>\n </igx-icon>\n }\n </igx-chip>\n @if (last) {\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(rowArea)'></span>\n }\n }\n <igx-chip igxDrop (dragDrop)=\"onDimDrop($event, rowArea, 0)\" #notifyChip [hidden]='true'>\n {{grid.resourceStrings.igx_grid_pivot_row_drop_chip}}\n </igx-chip>\n }\n </igx-chips-area>\n </div>\n }\n\n @if (grid.pivotUI.showRowHeaders && grid.rowDimensions.length > 0) {\n <div class=\"igx-grid__tr igx-grid__tr-header-row\" [style.width.px]=\"grid.pivotRowWidths - 1\">\n @for (dim of grid.visibleRowDimensions; track dim; let colIndex = $index; let isLast = $last) {\n @if (getRowDimensionColumn(dim); as dimCol) {\n <igx-pivot-row-header-group #rowDimensionHeaders\n [ngClass]=\"dimCol.headerGroupClasses\"\n [ngStyle]=\"dimCol.headerGroupStyles | igxHeaderGroupStyle:dimCol:grid.pipeTrigger\"\n [style.width.px]=\"grid.rowDimensionWidthToPixels(this.grid.visibleRowDimensions[colIndex])\"\n [style.flex-basis.px]=\"grid.rowDimensionWidthToPixels(this.grid.visibleRowDimensions[colIndex])\"\n [column]=\"dimCol\"\n [rootDimension]=\"grid.visibleRowDimensions[colIndex]\"\n [dimWidth]=\"grid.rowDimensionWidthToPixels(this.grid.visibleRowDimensions[colIndex])\"\n [rowIndex]=\"-1\" >\n </igx-pivot-row-header-group>\n }\n }\n </div>\n }\n\n <!-- Pinned columns collection from the start -->\n @if (pinnedStartColumnCollection.length) {\n @for (column of pinnedStartColumnCollection | igxTopLevel; track column) {\n <igx-grid-header-group [ngClass]=\"column.headerGroupClasses\"\n [ngStyle]=\"column.headerGroupStyles | igxHeaderGroupStyle:column:grid.pipeTrigger\" [column]=\"column\"\n [style.min-width]=\"column.resolvedWidth\"\n [style.flex-basis]=\"column.resolvedWidth\"\n (pointerdown)=\"grid.navigation.focusOutRowHeader($event)\">\n </igx-grid-header-group>\n }\n }\n <div class=\"igx-grid-thead--virtualizationWrapper\" [style.max-height.px]=\"maxContainerHeight\" (click)=\"grid.navigation.focusOutRowHeader($event)\">\n @for (dimLevelColumns of columnDimensionsByLevel; track $index; let i = $index) {\n <div class=\"igx-grid-thead__group igx-grid-thead--virtualizationContainer\" [style.height.px]=\"totalDepth > 1 ? grid.rowHeight : undefined\" [style.width.px]=\"grid.unpinnedWidth\">\n <ng-template igxGridFor #headerVirtualContainer let-column\n [igxGridForOf]=\"dimLevelColumns\" [igxGridForOfUniqueSizeCache]=\"true\" [igxForScrollContainer]=\"grid.parentVirtDir\"\n [igxForContainerSize]=\"grid.unpinnedWidth\" [igxForTrackBy]=\"grid.trackColumnChanges\"\n [igxForSizePropName]=\"'calcPixelWidth'\" [igxForScrollOrientation]=\"'horizontal'\">\n <igx-grid-header-group [ngClass]=\"column.headerGroupClasses\"\n [style.height.px]=\"totalDepth > 1 ? calcHeight(column, i) : undefined\"\n [ngStyle]=\"column.headerGroupStyles |igxHeaderGroupStyle:column:grid.pipeTrigger\" [column]=\"column\"\n [style.min-width]=\"column.resolvedWidth\"\n [style.flex-basis]=\"column.resolvedWidth\"\n [class.igx-grid__tr-pivot--columnDimensionLeaf]=\"isDuplicateOfExistingParent(column, i)\"\n [class.igx-grid__tr-pivot--columnMultiRowSpan]=\"isMultiRow(column, i)\"\n >\n </igx-grid-header-group>\n </ng-template>\n </div>\n }\n </div>\n\n <!-- Pinned columns collection at the end -->\n @if (pinnedEndColumnCollection.length) {\n @for (column of pinnedEndColumnCollection | igxTopLevel; track column) {\n <igx-grid-header-group [ngClass]=\"column.headerGroupClasses\"\n [ngStyle]=\"column.headerGroupStyles |igxHeaderGroupStyle:column:grid.pipeTrigger\" [column]=\"column\"\n [style.min-width]=\"column.resolvedWidth\"\n [style.flex-basis]=\"column.resolvedWidth\"\n (pointerdown)=\"grid.navigation.focusOutRowHeader($event)\">\n </igx-grid-header-group>\n }\n }\n </div>\n\n <!-- Render a hidden row of the leaf column headers for accessibility purposes -->\n <div role=\"row\" style=\"width: 0; height: 0; position: absolute; top: -10000px;\">\n @for (column of visibleLeafColumns; track column.index) {\n <div role=\"columnheader\" [attr.aria-hidden]=\"isLeafHeaderAriaHidden\">{{ column.header || column.field }}</div>\n }\n </div>\n </div>\n</div>\n<!-- Header thumb area -->\n<div class=\"igx-grid-thead__thumb\" [hidden]=\"!grid.hasVerticalScroll()\" [style.width.px]=\"grid.scrollSize\">\n</div>\n\n<igx-drop-down #dropdown (selectionChanging)='onAggregationChange($event)'>\n @for (item of aggregateList; track item.key) {\n <igx-drop-down-item [selected]='isSelected(item)' [value]='item'>\n {{ item.label }}\n </igx-drop-down-item>\n }\n</igx-drop-down>\n\n<div [hidden]='true'>\n <igx-grid-excel-style-filtering [maxHeight]='grid.excelStyleFilterMaxHeight' [minHeight]='grid.excelStyleFilterMinHeight' #esf>\n <div igxExcelStyleColumnOperations>\n <igx-chips-area #dropdownChips>\n @for (filter of this.filterDropdownDimensions; track filter) {\n <igx-chip [id]=\"filter.memberName\"\n [removable]=\"true\" (remove)=\"filterRemoved($event)\"\n (chipClick)='onFiltersSelectionChanged($event)' [selectable]='true' [selected]='filter === this.filterDropdownDimensions.values().next().value'>\n {{filter.displayName || filter.memberName}}\n </igx-chip>\n }\n </igx-chips-area>\n </div>\n <igx-excel-style-filter-operations>\n <igx-excel-style-search></igx-excel-style-search>\n </igx-excel-style-filter-operations>\n </igx-grid-excel-style-filtering>\n</div>\n\n<div style=\"visibility: hidden; position: absolute; top: -10000px\">\n <igx-chips-area #filterAreaHidden droppable='true'>\n @for (filter of grid.filterDimensions; track filter) {\n <igx-chip\n [id]=\"filter.memberName\"\n [draggable]=\"true\"\n [removable]=\"true\"\n (remove)=\"filterRemoved($event)\">\n <igx-icon family=\"default\" name=\"filter_list\" igxPrefix></igx-icon>\n {{filter.displayName || filter.memberName}}\n </igx-chip>\n }\n </igx-chips-area>\n</div>\n\n<ng-template #valueChipDefaultTemplate let-value>\n {{value.aggregate.key}}({{value.displayName || value.member}})\n</ng-template>\n", dependencies: [{ kind: "directive", type: IgxDropDirective, selector: "[igxDrop]", inputs: ["igxDrop", "dropChannel", "dropStrategy"], outputs: ["enter", "over", "leave", "dropped"], exportAs: ["drop"] }, { kind: "component", type: IgxChipsAreaComponent, selector: "igx-chips-area", inputs: ["width", "height"], outputs: ["reorder", "selectionChange", "moveStart", "moveEnd"] }, { kind: "component", type: IgxChipComponent, selector: "igx-chip", inputs: ["variant", "id", "tabIndex", "data", "draggable", "animateOnRelease", "hideBaseOnDrag", "removable", "removeIcon", "selectable", "selectIcon", "class", "disabled", "selected", "color", "resourceStrings"], outputs: ["selectedChange", "moveStart", "moveEnd", "remove", "chipClick", "selectedChanging", "selectedChanged", "keyDown", "dragEnter", "dragLeave", "dragOver", "dragDrop"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }, { kind: "directive", type: IgxPrefixDirective, selector: "igx-prefix,[igxPrefix],[igxStart]" }, { kind: "component", type: IgxBadgeComponent, selector: "igx-badge", inputs: ["id", "type", "value", "icon", "iconSet", "shape", "outlined"] }, { kind: "directive", type: IgxSuffixDirective, selector: "igx-suffix,[igxSuffix],[igxEnd]" }, { kind: "directive", type: IgxDropDownItemNavigationDirective, selector: "[igxDropDownItemNavigation]", inputs: ["igxDropDownItemNavigation"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IgxGridHeaderGroupComponent, selector: "igx-grid-header-group", inputs: ["column"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: IgxGridForOfDirective, selector: "[igxGridFor][igxGridForOf]", inputs: ["igxGridForOf", "igxGridForOfUniqueSizeCache", "igxGridForOfVariableSizes"], outputs: ["dataChanging"] }, { kind: "component", type: IgxDropDownComponent, selector: "igx-drop-down", inputs: ["allowItemsFocus", "labelledBy", "role"], outputs: ["opening", "opened", "closing", "closed"] }, { kind: "component", type: IgxDropDownItemComponent, selector: "igx-drop-down-item" }, { kind: "component", type: IgxGridExcelStyleFilteringComponent, selector: "igx-grid-excel-style-filtering", inputs: ["column", "minHeight", "maxHeight"], outputs: ["loadingStart", "loadingEnd", "initialized", "sortingChanged", "columnChange", "listDataLoaded", "filterCleared"] }, { kind: "directive", type: IgxExcelStyleColumnOperationsTemplateDirective, selector: "igx-excel-style-column-operations,[igxExcelStyleColumnOperations]" }, { kind: "directive", type: IgxExcelStyleFilterOperationsTemplateDirective, selector: "igx-excel-style-filter-operations,[igxExcelStyleFilterOperations]" }, { kind: "component", type: IgxExcelStyleSearchComponent, selector: "igx-excel-style-search", inputs: ["id"] }, { kind: "component", type: IgxPivotRowHeaderGroupComponent, selector: "igx-pivot-row-header-group", inputs: ["rowIndex", "dimWidth", "rootDimension"] }, { kind: "pipe", type: IgxHeaderGroupStylePipe, name: "igxHeaderGroupStyle" }, { kind: "pipe", type: IgxGridTopLevelColumns, name: "igxTopLevel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
78099
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: IgxPivotHeaderRowComponent, isStandalone: true, selector: "igx-pivot-header-row", host: { properties: { "attr.aria-activedescendant": "this.activeDescendant" } }, viewQueries: [{ propertyName: "esf", first: true, predicate: ["esf"], descendants: true }, { propertyName: "filterArea", first: true, predicate: ["filterAreaHidden"], descendants: true }, { propertyName: "filtersButton", first: true, predicate: ["filterIcon"], descendants: true }, { propertyName: "dropdownChips", first: true, predicate: ["dropdownChips"], descendants: true }, { propertyName: "pivotFilterContainer", first: true, predicate: ["pivotFilterContainer"], descendants: true }, { propertyName: "pivotRowContainer", first: true, predicate: ["pivotRowContainer"], descendants: true }, { propertyName: "notificationChips", predicate: ["notifyChip"], descendants: true }, { propertyName: "headerContainers", predicate: ["headerVirtualContainer"], descendants: true, read: IgxGridForOfDirective }, { propertyName: "rowDimensionHeaders", predicate: ["rowDimensionHeaders"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div>\n <div class=\"igx-grid-thead__wrapper igx-grid-thead__wrapper--pivot\" role=\"row\" [style.width.px]=\"width\">\n <div class=\"igx-grid__tr\" role=\"row\" [style.width.px]=\"width\">\n <div class='igx-grid__tr-pivot--filter-container'>\n @if (grid.pivotUI.showConfiguration) {\n <div #pivotFilterContainer\n class=\"igx-grid__tr-pivot igx-grid__tr-pivot--filter\" [style.min-width.px]=\"grid.pivotRowWidths - 1\"\n [style.max-width.px]=\"grid.pivotRowWidths - 1\" (igxDragLeave)=\"onAreaDragLeave($event, filterArea)\"\n igxDrop (dropped)=\"onDimDrop($event, filterArea, 2)\" (pointerdown)=\"$event.preventDefault()\">\n <!-- Filter area -->\n <igx-chips-area #filterArea droppable='true'>\n @if (grid.filterDimensions.length === 0) {\n <span id='empty' igxDrop (dropped)=\"onDimDrop($event, filterArea, 2)\"\n class='igx-grid__pivot-empty-chip-area'>{{grid.resourceStrings.igx_grid_pivot_empty_filter_drop_area}}</span>\n }\n @for (filter of this.filterAreaDimensions; track filter; let last = $last) {\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(filterArea)'></span>\n <igx-chip [id]=\"filter.memberName\" [draggable]=\"true\" [data]=\"{ pivotArea: 'filter' }\"\n [removable]=\"true\" (remove)=\"filterRemoved($event)\" (dragOver)=\"onDimDragOver($event, 2)\"\n (dragLeave)=\"onDimDragLeave($event)\" (dragDrop)=\"onDimDrop($event, filterArea, 2)\"\n (moveStart)='onDimDragStart($event, filterArea)' (moveEnd)='onDimDragEnd()'>\n <igx-icon\n family=\"default\"\n name=\"filter_list\"\n igxPrefix\n (pointerdown)='onFilteringIconPointerDown($event)'\n (click)='onFilteringIconClick($event, filter)'>\n </igx-icon>\n {{filter.displayName || filter.memberName}}\n </igx-chip>\n @if (last) {\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(filterArea)'></span>\n }\n }\n <igx-chip igxDrop (dragDrop)=\"onDimDrop($event, filterArea, 2)\" #notifyChip [hidden]='true'>\n {{grid.resourceStrings.igx_grid_pivot_filter_drop_chip}}\n </igx-chip>\n </igx-chips-area>\n @if (isFiltersButton && grid.filterDimensions.length !== 0) {\n <div class=\"igx-grid__pivot-filter-toggle\">\n <igx-icon\n family=\"default\"\n name=\"filter_list\"\n #filterIcon\n (pointerdown)='onFilteringIconPointerDown($event)'\n (click)='onFiltersAreaDropdownClick($event)'>\n </igx-icon>\n <igx-badge value=\"{{this.filterDropdownDimensions.size}}\"></igx-badge>\n </div>\n }\n </div>\n }\n <div class='igx-grid__tr-pivot--drop-row-area'>\n @if (grid.pivotUI.showConfiguration && grid.pivotUI.showRowHeaders) {\n <div #pivotRowContainer [style.width.px]=\"grid.pivotRowWidths - 1\"\n class=\"igx-grid__tr-pivot igx-grid__tr-pivot--small-row-area\" igxDrop\n (igxDragLeave)=\"onAreaDragLeave($event, rowArea)\"\n (dropped)=\"onDimDrop($event, rowArea, 0)\">\n <igx-chips-area #rowArea droppable='true'>\n @if (grid.rowDimensions.length === 0) {\n <span id='empty' igxDrop (dropped)=\"onDimDrop($event, rowArea, 0)\"\n class='igx-grid__pivot-empty-chip-area'>{{grid.resourceStrings.igx_grid_pivot_empty_row_drop_area}}</span>\n }\n @for (row of grid.rowDimensions; track row.memberName; let last = $last) {\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(rowArea)'></span>\n <igx-chip [draggable]=\"true\" [id]=\"row.memberName\" [data]=\"{ pivotArea: 'row' }\"\n [removable]=\"true\" (remove)=\"rowRemoved($event)\" (dragLeave)=\"onDimDragLeave($event)\"\n (dragDrop)=\"onDimDrop($event, rowArea, 0)\" (dragOver)=\"onDimDragOver($event, 0)\"\n (moveStart)='onDimDragStart($event, rowArea)' (moveEnd)='onDimDragEnd()'\n (click)=\"onChipSort($event, row)\">\n <igx-icon igxPrefix family=\"default\" name=\"table_rows\"></igx-icon>\n <igx-icon\n family=\"default\"\n name=\"filter_list\"\n igxPrefix\n (pointerdown)='onFilteringIconPointerDown($event)'\n (click)='onFilteringIconClick($event, row)'>\n </igx-icon>\n {{ row.displayName || row.memberName}}\n @if (row.sortDirection) {\n <igx-icon\n family=\"default\"\n [name]=\"row.sortDirection < 2 ? 'sort_asc' : 'sort_desc'\"\n igxSuffix>\n </igx-icon>\n }\n </igx-chip>\n @if (last) {\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(rowArea)'></span>\n }\n }\n <igx-chip igxDrop (dragDrop)=\"onDimDrop($event, rowArea, 0)\" #notifyChip [hidden]='true'>\n {{grid.resourceStrings.igx_grid_pivot_row_drop_chip}}\n </igx-chip>\n </igx-chips-area>\n </div>\n }\n </div>\n </div>\n\n <div class=\"igx-grid__tr-pivot-group\">\n @if (grid.pivotUI.showConfiguration) {\n <div #pivotColumnContainer class=\"igx-grid__tr-pivot\"\n (dropped)=\"onDimDrop($event, colArea, 1)\" igxDrop (igxDragLeave)=\"onAreaDragLeave($event, colArea)\">\n <!-- Columns area -->\n <igx-chips-area #colArea droppable='true'>\n @if (grid.columnDimensions.length === 0) {\n <span id='empty' (dropped)=\"onDimDrop($event, colArea, 1)\" igxDrop\n class='igx-grid__pivot-empty-chip-area'>\n {{grid.resourceStrings.igx_grid_pivot_empty_column_drop_area}}</span>\n }\n @for (col of grid.columnDimensions; track col.memberName; let last = $last) {\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(colArea)'></span>\n <igx-chip [draggable]=\"true\" [id]=\"col.memberName\" [data]=\"{ pivotArea: 'column' }\"\n [removable]=\"true\" (remove)=\"columnRemoved($event)\" (dragOver)=\"onDimDragOver($event, 1)\"\n (dragLeave)=\"onDimDragLeave($event)\" (dragDrop)=\"onDimDrop($event, colArea, 1)\"\n (moveStart)='onDimDragStart($event, colArea)' (moveEnd)='onDimDragEnd()'\n (click)=\"onChipSort($event, col)\">\n <igx-icon\n family=\"default\"\n name=\"view_column\"\n igxPrefix>\n </igx-icon>\n <igx-icon\n family=\"default\"\n name=\"filter_list\"\n igxPrefix\n (pointerdown)='onFilteringIconPointerDown($event)'\n (click)='onFilteringIconClick($event, col)'>\n </igx-icon>\n {{col.displayName || col.memberName}}\n @if (col.sortDirection) {\n <igx-icon\n family=\"default\"\n [name]=\"col.sortDirection < 2 ? 'sort_asc' : 'sort_desc'\"\n igxSuffix>\n </igx-icon>\n }\n </igx-chip>\n @if (last) {\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(colArea)'></span>\n }\n }\n <igx-chip igxDrop (dragDrop)=\"onDimDrop($event, colArea, 1)\" #notifyChip [hidden]='true'>\n {{grid.resourceStrings.igx_grid_pivot_column_drop_chip}}\n </igx-chip>\n </igx-chips-area>\n </div>\n }\n\n @if (grid.pivotUI.showConfiguration) {\n <div #pivotValueContainer class=\"igx-grid__tr-pivot\"\n (pointerdown)=\"$event.preventDefault()\" (dropped)=\"onValueDrop($event, valueArea)\" igxDrop\n (igxDragLeave)=\"onAreaDragLeave($event, valueArea)\">\n <!-- Value area -->\n <igx-chips-area #valueArea droppable='true'>\n @if (grid.values.length === 0) {\n <span id='empty' (dropped)=\"onValueDrop($event, valueArea)\" igxDrop\n class='igx-grid__pivot-empty-chip-area'>{{grid.resourceStrings.igx_grid_pivot_empty_value_drop_area}}</span>\n }\n @for (value of grid.values; track value.member; let last = $last) {\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(valueArea)'></span>\n <igx-chip #currChip [draggable]=\"true\" [id]=\"value.displayName || value.member\" [data]=\"{ pivotArea: 'value' }\"\n [removable]=\"true\" (remove)=\"valueRemoved($event)\"\n (dragLeave)=\"onDimDragLeave($event)\" (dragOver)=\"onDimDragOver($event)\"\n (dragDrop)=\"onValueDrop($event, valueArea)\">\n <div class=\"igx-grid__tr-pivot-toggle-icons\" igxPrefix\n (click)='onSummaryClick($event, value, dropdown, currChip)'\n (pointerdown)='$event.stopPropagation()' [igxDropDownItemNavigation]=\"dropdown\">\n <igx-icon family=\"default\" name=\"functions\"></igx-icon>\n <igx-icon family=\"default\" name=\"arrow_drop_down\"></igx-icon>\n </div>\n <ng-container *ngTemplateOutlet=\"grid.valueChipTemplate ? grid.valueChipTemplate : valueChipDefaultTemplate; context: { $implicit: value }\"></ng-container>\n </igx-chip>\n @if (last) {\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(valueArea)'></span>\n }\n }\n <igx-chip igxDrop (dragDrop)=\"onValueDrop($event, valueArea)\" #notifyValueChip [hidden]='true'>\n {{grid.resourceStrings.igx_grid_pivot_value_drop_chip}}\n </igx-chip>\n </igx-chips-area>\n </div>\n }\n </div>\n </div>\n </div>\n <div role=\"rowgroup\" class=\"igx-grid-thead__wrapper\" [style.width.px]=\"width\"\n [class.igx-grid__tr--mrl]=\"hasMRL\">\n\n <!-- Column headers area -->\n <div class=\"igx-grid__tr\" role=\"row\" [style.width.px]=\"width\">\n @if (!grid.pivotUI.showRowHeaders || grid.rowDimensions.length === 0) {\n <div #pivotContainer class=\"igx-grid__tr-pivot igx-grid__tr-pivot--row-area\"\n [style.width.px]=\"grid.pivotRowWidths - 1\" (igxDragLeave)=\"onAreaDragLeave($event, rowArea)\" igxDrop\n (dropped)=\"onDimDrop($event, rowArea, 0)\" (pointerdown)=\"$event.preventDefault()\">\n <!-- Row area -->\n <igx-chips-area #rowArea droppable='true'>\n @if (grid.pivotUI.showConfiguration || grid.rowDimensions.length === 0) {\n @if (grid.rowDimensions.length === 0) {\n <span id='empty' igxDrop (dropped)=\"onDimDrop($event, rowArea, 0)\"\n class='igx-grid__pivot-empty-chip-area'>{{grid.resourceStrings.igx_grid_pivot_empty_row_drop_area}}</span>\n }\n @for (row of grid.rowDimensions; track row.memberName; let last = $last) {\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(rowArea)'></span>\n <igx-chip [draggable]=\"true\" [id]=\"row.memberName\" [data]=\"{ pivotArea: 'row' }\"\n [removable]=\"true\" (remove)=\"rowRemoved($event)\" (dragLeave)=\"onDimDragLeave($event)\"\n (dragDrop)=\"onDimDrop($event, rowArea, 0)\" (dragOver)=\"onDimDragOver($event, 0)\"\n (moveStart)='onDimDragStart($event, rowArea)' (moveEnd)='onDimDragEnd()'\n (click)=\"onChipSort($event, row)\">\n <igx-icon igxPrefix family=\"default\" name=\"table_rows\"></igx-icon>\n <igx-icon\n family=\"default\"\n name=\"filter_list\"\n igxPrefix\n (pointerdown)='onFilteringIconPointerDown($event)'\n (click)='onFilteringIconClick($event, row)'>\n </igx-icon>\n {{ row.displayName || row.memberName}}\n @if (row.sortDirection) {\n <igx-icon\n family=\"default\"\n [name]=\"row.sortDirection < 2 ? 'sort_asc' : 'sort_desc'\"\n igxSuffix>\n </igx-icon>\n }\n </igx-chip>\n @if (last) {\n <span class=\"igx-grid__tr-pivot--chip_drop_indicator\"\n [style.height.px]='getAreaHeight(rowArea)'></span>\n }\n }\n <igx-chip igxDrop (dragDrop)=\"onDimDrop($event, rowArea, 0)\" #notifyChip [hidden]='true'>\n {{grid.resourceStrings.igx_grid_pivot_row_drop_chip}}\n </igx-chip>\n }\n </igx-chips-area>\n </div>\n }\n\n @if (grid.pivotUI.showRowHeaders && grid.rowDimensions.length > 0) {\n <div class=\"igx-grid__tr igx-grid__tr-header-row\" [style.width.px]=\"grid.pivotRowWidths - 1\">\n @for (dim of grid.visibleRowDimensions; track dim; let colIndex = $index; let isLast = $last) {\n @if (getRowDimensionColumn(dim); as dimCol) {\n <igx-pivot-row-header-group #rowDimensionHeaders\n [ngClass]=\"dimCol.headerGroupClasses\"\n [ngStyle]=\"dimCol.headerGroupStyles | igxHeaderGroupStyle:dimCol:grid.pipeTrigger\"\n [style.width.px]=\"grid.rowDimensionWidthToPixels(this.grid.visibleRowDimensions[colIndex])\"\n [style.flex-basis.px]=\"grid.rowDimensionWidthToPixels(this.grid.visibleRowDimensions[colIndex])\"\n [column]=\"dimCol\"\n [rootDimension]=\"grid.visibleRowDimensions[colIndex]\"\n [dimWidth]=\"grid.rowDimensionWidthToPixels(this.grid.visibleRowDimensions[colIndex])\"\n [rowIndex]=\"-1\" >\n </igx-pivot-row-header-group>\n }\n }\n </div>\n }\n\n <!-- Pinned columns collection from the start -->\n @if (pinnedStartColumnCollection.length) {\n @for (column of pinnedStartColumnCollection | igxTopLevel; track column) {\n <igx-grid-header-group [ngClass]=\"column.headerGroupClasses\"\n [ngStyle]=\"column.headerGroupStyles | igxHeaderGroupStyle:column:grid.pipeTrigger\" [column]=\"column\"\n [style.min-width]=\"column.resolvedWidth\"\n [style.flex-basis]=\"column.resolvedWidth\"\n (pointerdown)=\"grid.navigation.focusOutRowHeader($event)\">\n </igx-grid-header-group>\n }\n }\n <div class=\"igx-grid-thead--virtualizationWrapper\" [style.max-height.px]=\"maxContainerHeight\" (click)=\"grid.navigation.focusOutRowHeader($event)\">\n @for (dimLevelColumns of columnDimensionsByLevel; track $index; let i = $index) {\n <div class=\"igx-grid-thead__group igx-grid-thead--virtualizationContainer\" [style.height.px]=\"totalDepth > 1 ? grid.rowHeight : undefined\" [style.width.px]=\"grid.unpinnedWidth\">\n <ng-template igxGridFor #headerVirtualContainer let-column\n [igxGridForOf]=\"dimLevelColumns\" [igxGridForOfUniqueSizeCache]=\"true\" [igxForScrollContainer]=\"grid.parentVirtDir\"\n [igxForContainerSize]=\"grid.unpinnedWidth\" [igxForTrackBy]=\"grid.trackColumnChanges\"\n [igxForSizePropName]=\"'calcPixelWidth'\" [igxForScrollOrientation]=\"'horizontal'\">\n <igx-grid-header-group [ngClass]=\"column.headerGroupClasses\"\n [style.height.px]=\"totalDepth > 1 ? calcHeight(column, i) : undefined\"\n [ngStyle]=\"column.headerGroupStyles |igxHeaderGroupStyle:column:grid.pipeTrigger\" [column]=\"column\"\n [style.min-width]=\"column.resolvedWidth\"\n [style.flex-basis]=\"column.resolvedWidth\"\n [class.igx-grid__tr-pivot--columnDimensionLeaf]=\"isDuplicateOfExistingParent(column, i)\"\n [class.igx-grid__tr-pivot--columnMultiRowSpan]=\"isMultiRow(column, i)\"\n >\n </igx-grid-header-group>\n </ng-template>\n </div>\n }\n </div>\n\n <!-- Pinned columns collection at the end -->\n @if (pinnedEndColumnCollection.length) {\n @for (column of pinnedEndColumnCollection | igxTopLevel; track column) {\n <igx-grid-header-group [ngClass]=\"column.headerGroupClasses\"\n [ngStyle]=\"column.headerGroupStyles |igxHeaderGroupStyle:column:grid.pipeTrigger\" [column]=\"column\"\n [style.min-width]=\"column.resolvedWidth\"\n [style.flex-basis]=\"column.resolvedWidth\"\n (pointerdown)=\"grid.navigation.focusOutRowHeader($event)\">\n </igx-grid-header-group>\n }\n }\n </div>\n\n <!-- Render a hidden row of the leaf column headers for accessibility purposes -->\n <div role=\"row\" style=\"width: 0; height: 0; position: absolute; top: -10000px;\">\n @for (column of visibleLeafColumns; track column.index) {\n <div role=\"columnheader\" [attr.aria-hidden]=\"isLeafHeaderAriaHidden\">{{ column.header || column.field }}</div>\n }\n </div>\n </div>\n</div>\n<!-- Header thumb area -->\n<div class=\"igx-grid-thead__thumb\" [hidden]=\"!grid.hasVerticalScroll()\" [style.width.px]=\"grid.scrollSize\">\n</div>\n\n<igx-drop-down #dropdown (selectionChanging)='onAggregationChange($event)'>\n @for (item of aggregateList; track item.key) {\n <igx-drop-down-item [selected]='isSelected(item)' [value]='item'>\n {{ item.label }}\n </igx-drop-down-item>\n }\n</igx-drop-down>\n\n<div [hidden]='true'>\n <igx-grid-excel-style-filtering [maxHeight]='grid.excelStyleFilterMaxHeight' [minHeight]='grid.excelStyleFilterMinHeight' #esf>\n <div igxExcelStyleColumnOperations>\n <igx-chips-area #dropdownChips>\n @for (filter of this.filterDropdownDimensions; track filter) {\n <igx-chip [id]=\"filter.memberName\"\n [removable]=\"true\" (remove)=\"filterRemoved($event)\"\n (chipClick)='onFiltersSelectionChanged($event)' [selectable]='true' [selected]='filter === this.filterDropdownDimensions.values().next().value'>\n {{filter.displayName || filter.memberName}}\n </igx-chip>\n }\n </igx-chips-area>\n </div>\n <igx-excel-style-filter-operations>\n <igx-excel-style-search></igx-excel-style-search>\n </igx-excel-style-filter-operations>\n </igx-grid-excel-style-filtering>\n</div>\n\n<div style=\"visibility: hidden; position: absolute; top: -10000px\">\n <igx-chips-area #filterAreaHidden droppable='true'>\n @for (filter of grid.filterDimensions; track filter) {\n <igx-chip\n [id]=\"filter.memberName\"\n [draggable]=\"true\"\n [removable]=\"true\"\n (remove)=\"filterRemoved($event)\">\n <igx-icon family=\"default\" name=\"filter_list\" igxPrefix></igx-icon>\n {{filter.displayName || filter.memberName}}\n </igx-chip>\n }\n </igx-chips-area>\n</div>\n\n<ng-template #valueChipDefaultTemplate let-value>\n {{value.aggregate.key}}({{value.displayName || value.member}})\n</ng-template>\n", dependencies: [{ kind: "directive", type: IgxDropDirective, selector: "[igxDrop]", inputs: ["igxDrop", "dropChannel", "dropStrategy"], outputs: ["enter", "over", "leave", "dropped"], exportAs: ["drop"] }, { kind: "component", type: IgxChipsAreaComponent, selector: "igx-chips-area", inputs: ["width", "height"], outputs: ["reorder", "selectionChange", "moveStart", "moveEnd"] }, { kind: "component", type: IgxChipComponent, selector: "igx-chip", inputs: ["variant", "id", "tabIndex", "data", "draggable", "animateOnRelease", "hideBaseOnDrag", "removable", "removeIcon", "selectable", "selectIcon", "class", "disabled", "selected", "color", "resourceStrings"], outputs: ["selectedChange", "moveStart", "moveEnd", "remove", "chipClick", "selectedChanging", "selectedChanged", "keyDown", "dragEnter", "dragLeave", "dragOver", "dragDrop"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }, { kind: "directive", type: IgxPrefixDirective, selector: "igx-prefix,[igxPrefix],[igxStart]" }, { kind: "component", type: IgxBadgeComponent, selector: "igx-badge", inputs: ["id", "type", "value", "icon", "iconSet", "shape", "outlined", "dot"] }, { kind: "directive", type: IgxSuffixDirective, selector: "igx-suffix,[igxSuffix],[igxEnd]" }, { kind: "directive", type: IgxDropDownItemNavigationDirective, selector: "[igxDropDownItemNavigation]", inputs: ["igxDropDownItemNavigation"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IgxGridHeaderGroupComponent, selector: "igx-grid-header-group", inputs: ["column"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: IgxGridForOfDirective, selector: "[igxGridFor][igxGridForOf]", inputs: ["igxGridForOf", "igxGridForOfUniqueSizeCache", "igxGridForOfVariableSizes"], outputs: ["dataChanging"] }, { kind: "component", type: IgxDropDownComponent, selector: "igx-drop-down", inputs: ["allowItemsFocus", "labelledBy", "role"], outputs: ["opening", "opened", "closing", "closed"] }, { kind: "component", type: IgxDropDownItemComponent, selector: "igx-drop-down-item" }, { kind: "component", type: IgxGridExcelStyleFilteringComponent, selector: "igx-grid-excel-style-filtering", inputs: ["column", "minHeight", "maxHeight"], outputs: ["loadingStart", "loadingEnd", "initialized", "sortingChanged", "columnChange", "listDataLoaded", "filterCleared"] }, { kind: "directive", type: IgxExcelStyleColumnOperationsTemplateDirective, selector: "igx-excel-style-column-operations,[igxExcelStyleColumnOperations]" }, { kind: "directive", type: IgxExcelStyleFilterOperationsTemplateDirective, selector: "igx-excel-style-filter-operations,[igxExcelStyleFilterOperations]" }, { kind: "component", type: IgxExcelStyleSearchComponent, selector: "igx-excel-style-search", inputs: ["id"] }, { kind: "component", type: IgxPivotRowHeaderGroupComponent, selector: "igx-pivot-row-header-group", inputs: ["rowIndex", "dimWidth", "rootDimension"] }, { kind: "pipe", type: IgxHeaderGroupStylePipe, name: "igxHeaderGroupStyle" }, { kind: "pipe", type: IgxGridTopLevelColumns, name: "igxTopLevel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
78071
78100
  }
78072
78101
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: IgxPivotHeaderRowComponent, decorators: [{
78073
78102
  type: Component,
@@ -79774,11 +79803,11 @@ class IgxPivotRowComponent extends IgxRowDirective {
79774
79803
  };
79775
79804
  }
79776
79805
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: IgxPivotRowComponent, deps: [{ token: IGX_GRID_BASE }, { token: IgxGridSelectionService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
79777
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: IgxPivotRowComponent, isStandalone: true, selector: "igx-pivot-row", inputs: { selected: "selected", data: "data" }, host: { properties: { "attr.aria-selected": "this.selected" } }, providers: [{ provide: IgxRowDirective, useExisting: forwardRef(() => IgxPivotRowComponent) }], usesInheritance: true, ngImport: i0, template: "<ng-template igxGridFor let-col [igxGridForOf]=\"unpinnedColumns | igxNotGrouped\"\n [igxForScrollContainer]=\"grid.parentVirtDir\" let-colIndex=\"index\" [igxForSizePropName]='\"calcPixelWidth\"'\n [igxForScrollOrientation]=\"'horizontal'\" [igxForContainerSize]='grid.unpinnedWidth'\n [igxForTrackBy]='grid.trackColumnChanges' #igxDirRef>\n <igx-grid-cell #cell class=\"igx-grid__td igx-grid__td--fw\"\n [class.igx-grid__td--edited]=\"key | transactionState:col.field:grid.rowEditable:grid.transactions:grid.pipeTrigger:grid.gridAPI.crudService.cell:grid.gridAPI.crudService.row\"\n\n [class.igx-grid__td--number]=\"col.dataType === 'number' || col.dataType === 'percent' || col.dataType === 'currency'\"\n [class.igx-grid__td--bool]=\"col.dataType === 'boolean'\"\n [ngClass]=\"this.getCellClass(col) | igxPivotCellStyleClasses:data[col.field]:data:getColumnData(col):viewIndex:grid.pipeTrigger\"\n [ngStyle]=\"col.cellStyles | igxCellStyles:pivotAggregationData[col.field]:pivotAggregationData:col.field:viewIndex:grid.pipeTrigger\"\n [editMode]=\"col.editable && this.grid.crudService.targetInEdit(index, col.index)\" [column]=\"col\"\n [formatter]=\"col.formatter\" [intRow]=\"this\" [active]=\"isCellActive(col.visibleIndex)\"\n [rowData]=\"data\" [columnData]='getColumnData(col)'\n [style.min-width]=\"col.resolvedWidth\" [style.max-width]=\"col.resolvedWidth\"\n [style.flex-basis]=\"col.resolvedWidth\" [width]=\"col.getCellWidth()\" [visibleColumnIndex]=\"col.visibleIndex\"\n [value]=\"pivotAggregationData[col.field] | dataMapper:col.field:grid.pipeTrigger:pivotAggregationData[col.field]:col.hasNestedPath\"\n [cellTemplate]=\"col.bodyTemplate\" [lastSearchInfo]=\"grid.lastSearchInfo\"\n [cellSelectionMode]=\"grid.cellSelection\" [displayPinnedChip]=\"shouldDisplayPinnedChip(col)\"\n (pointerdown)=\"grid.navigation.focusOutRowHeader($event)\">\n </igx-grid-cell>\n</ng-template>\n\n<ng-template #rowSelectorBaseTemplate>\n <div class=\"igx-grid__cbx-padding\">\n <igx-checkbox [tabindex]=\"-1\" [readonly]=\"true\" [checked]=\"selected\" [disableRipple]=\"true\" [disabled]=\"deleted\"\n [disableTransitions]=\"grid.disableTransitions\" [aria-label]=\"rowCheckboxAriaLabel\">\n </igx-checkbox>\n </div>\n</ng-template>\n\n", dependencies: [{ kind: "directive", type: IgxGridForOfDirective, selector: "[igxGridFor][igxGridForOf]", inputs: ["igxGridForOf", "igxGridForOfUniqueSizeCache", "igxGridForOfVariableSizes"], outputs: ["dataChanging"] }, { kind: "component", type: IgxGridCellComponent, selector: "igx-grid-cell", inputs: ["column", "isPlaceholder", "isMerged", "intRow", "row", "rowData", "columnData", "cellTemplate", "cellValidationErrorTemplate", "pinnedIndicator", "value", "formatter", "visibleColumnIndex", "cellSelectionMode", "lastSearchInfo", "lastPinned", "firstPinned", "editMode", "width", "active", "displayPinnedChip"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: IgxCheckboxComponent, selector: "igx-checkbox", inputs: ["indeterminate", "checked", "disabled", "invalid", "readonly", "disableTransitions"] }, { kind: "pipe", type: IgxGridNotGroupedPipe, name: "igxNotGrouped" }, { kind: "pipe", type: IgxGridCellStylesPipe, name: "igxCellStyles" }, { kind: "pipe", type: IgxGridDataMapperPipe, name: "dataMapper" }, { kind: "pipe", type: IgxGridTransactionStatePipe, name: "transactionState" }, { kind: "pipe", type: IgxPivotGridCellStyleClassesPipe, name: "igxPivotCellStyleClasses" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
79806
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: IgxPivotRowComponent, isStandalone: true, selector: "igx-pivot-row", inputs: { selected: "selected", data: "data" }, host: { properties: { "attr.aria-selected": "this.selected" } }, providers: [{ provide: IgxRowDirective, useExisting: forwardRef(() => IgxPivotRowComponent) }], usesInheritance: true, ngImport: i0, template: "<ng-template igxGridFor let-col [igxGridForOf]=\"unpinnedColumns | igxNotGrouped\"\n [igxForScrollContainer]=\"grid.parentVirtDir\" let-colIndex=\"index\" [igxForSizePropName]='\"calcPixelWidth\"'\n [igxForScrollOrientation]=\"'horizontal'\" [igxForContainerSize]='grid.unpinnedWidth'\n [igxForTrackBy]='grid.trackColumnChanges' #igxDirRef>\n <igx-grid-cell #cell class=\"igx-grid__td igx-grid__td--fw\"\n [class.igx-grid__td--edited]=\"key | transactionState:col.field:grid.rowEditable:grid.transactions:grid.pipeTrigger:grid.gridAPI.crudService.cell:grid.gridAPI.crudService.row\"\n\n [class.igx-grid__td--number]=\"col.dataType === 'number' || col.dataType === 'percent' || col.dataType === 'currency'\"\n [class.igx-grid__td--bool]=\"col.dataType === 'boolean'\"\n [ngClass]=\"this.getCellClass(col) | igxPivotCellStyleClasses:data[col.field]:data:getColumnData(col):viewIndex:grid.pipeTrigger\"\n [ngStyle]=\"col.cellStyles | igxCellStyles:pivotAggregationData[col.field]:pivotAggregationData:col.field:viewIndex:grid.pipeTrigger\"\n [editMode]=\"col.editable && this.grid.crudService.targetInEdit(index, col.index)\" [column]=\"col\"\n [formatter]=\"col.formatter\" [intRow]=\"this\" [active]=\"isCellActive(col.visibleIndex)\"\n [rowData]=\"data\" [columnData]='getColumnData(col)'\n [style.min-width]=\"col.resolvedWidth\" [style.max-width]=\"col.resolvedWidth\"\n [style.flex-basis]=\"col.resolvedWidth\" [width]=\"col.getCellWidth()\" [visibleColumnIndex]=\"col.visibleIndex\"\n [value]=\"pivotAggregationData[col.field]\"\n [cellTemplate]=\"col.bodyTemplate\" [lastSearchInfo]=\"grid.lastSearchInfo\"\n [cellSelectionMode]=\"grid.cellSelection\" [displayPinnedChip]=\"shouldDisplayPinnedChip(col)\"\n (pointerdown)=\"grid.navigation.focusOutRowHeader($event)\">\n </igx-grid-cell>\n</ng-template>\n\n<ng-template #rowSelectorBaseTemplate>\n <div class=\"igx-grid__cbx-padding\">\n <igx-checkbox [tabindex]=\"-1\" [readonly]=\"true\" [checked]=\"selected\" [disableRipple]=\"true\" [disabled]=\"deleted\"\n [disableTransitions]=\"grid.disableTransitions\" [aria-label]=\"rowCheckboxAriaLabel\">\n </igx-checkbox>\n </div>\n</ng-template>\n\n", dependencies: [{ kind: "directive", type: IgxGridForOfDirective, selector: "[igxGridFor][igxGridForOf]", inputs: ["igxGridForOf", "igxGridForOfUniqueSizeCache", "igxGridForOfVariableSizes"], outputs: ["dataChanging"] }, { kind: "component", type: IgxGridCellComponent, selector: "igx-grid-cell", inputs: ["column", "isPlaceholder", "isMerged", "intRow", "row", "rowData", "columnData", "cellTemplate", "cellValidationErrorTemplate", "pinnedIndicator", "value", "formatter", "visibleColumnIndex", "cellSelectionMode", "lastSearchInfo", "lastPinned", "firstPinned", "editMode", "width", "active", "displayPinnedChip"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: IgxCheckboxComponent, selector: "igx-checkbox", inputs: ["indeterminate", "checked", "disabled", "invalid", "readonly", "disableTransitions"] }, { kind: "pipe", type: IgxGridNotGroupedPipe, name: "igxNotGrouped" }, { kind: "pipe", type: IgxGridCellStylesPipe, name: "igxCellStyles" }, { kind: "pipe", type: IgxGridTransactionStatePipe, name: "transactionState" }, { kind: "pipe", type: IgxPivotGridCellStyleClassesPipe, name: "igxPivotCellStyleClasses" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
79778
79807
  }
79779
79808
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: IgxPivotRowComponent, decorators: [{
79780
79809
  type: Component,
79781
- args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'igx-pivot-row', providers: [{ provide: IgxRowDirective, useExisting: forwardRef(() => IgxPivotRowComponent) }], imports: [IgxGridForOfDirective, IgxGridCellComponent, NgClass, NgStyle, IgxCheckboxComponent, IgxGridNotGroupedPipe, IgxGridCellStylesPipe, IgxGridDataMapperPipe, IgxGridTransactionStatePipe, IgxPivotGridCellStyleClassesPipe], template: "<ng-template igxGridFor let-col [igxGridForOf]=\"unpinnedColumns | igxNotGrouped\"\n [igxForScrollContainer]=\"grid.parentVirtDir\" let-colIndex=\"index\" [igxForSizePropName]='\"calcPixelWidth\"'\n [igxForScrollOrientation]=\"'horizontal'\" [igxForContainerSize]='grid.unpinnedWidth'\n [igxForTrackBy]='grid.trackColumnChanges' #igxDirRef>\n <igx-grid-cell #cell class=\"igx-grid__td igx-grid__td--fw\"\n [class.igx-grid__td--edited]=\"key | transactionState:col.field:grid.rowEditable:grid.transactions:grid.pipeTrigger:grid.gridAPI.crudService.cell:grid.gridAPI.crudService.row\"\n\n [class.igx-grid__td--number]=\"col.dataType === 'number' || col.dataType === 'percent' || col.dataType === 'currency'\"\n [class.igx-grid__td--bool]=\"col.dataType === 'boolean'\"\n [ngClass]=\"this.getCellClass(col) | igxPivotCellStyleClasses:data[col.field]:data:getColumnData(col):viewIndex:grid.pipeTrigger\"\n [ngStyle]=\"col.cellStyles | igxCellStyles:pivotAggregationData[col.field]:pivotAggregationData:col.field:viewIndex:grid.pipeTrigger\"\n [editMode]=\"col.editable && this.grid.crudService.targetInEdit(index, col.index)\" [column]=\"col\"\n [formatter]=\"col.formatter\" [intRow]=\"this\" [active]=\"isCellActive(col.visibleIndex)\"\n [rowData]=\"data\" [columnData]='getColumnData(col)'\n [style.min-width]=\"col.resolvedWidth\" [style.max-width]=\"col.resolvedWidth\"\n [style.flex-basis]=\"col.resolvedWidth\" [width]=\"col.getCellWidth()\" [visibleColumnIndex]=\"col.visibleIndex\"\n [value]=\"pivotAggregationData[col.field] | dataMapper:col.field:grid.pipeTrigger:pivotAggregationData[col.field]:col.hasNestedPath\"\n [cellTemplate]=\"col.bodyTemplate\" [lastSearchInfo]=\"grid.lastSearchInfo\"\n [cellSelectionMode]=\"grid.cellSelection\" [displayPinnedChip]=\"shouldDisplayPinnedChip(col)\"\n (pointerdown)=\"grid.navigation.focusOutRowHeader($event)\">\n </igx-grid-cell>\n</ng-template>\n\n<ng-template #rowSelectorBaseTemplate>\n <div class=\"igx-grid__cbx-padding\">\n <igx-checkbox [tabindex]=\"-1\" [readonly]=\"true\" [checked]=\"selected\" [disableRipple]=\"true\" [disabled]=\"deleted\"\n [disableTransitions]=\"grid.disableTransitions\" [aria-label]=\"rowCheckboxAriaLabel\">\n </igx-checkbox>\n </div>\n</ng-template>\n\n" }]
79810
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'igx-pivot-row', providers: [{ provide: IgxRowDirective, useExisting: forwardRef(() => IgxPivotRowComponent) }], imports: [IgxGridForOfDirective, IgxGridCellComponent, NgClass, NgStyle, IgxCheckboxComponent, IgxGridNotGroupedPipe, IgxGridCellStylesPipe, IgxGridTransactionStatePipe, IgxPivotGridCellStyleClassesPipe], template: "<ng-template igxGridFor let-col [igxGridForOf]=\"unpinnedColumns | igxNotGrouped\"\n [igxForScrollContainer]=\"grid.parentVirtDir\" let-colIndex=\"index\" [igxForSizePropName]='\"calcPixelWidth\"'\n [igxForScrollOrientation]=\"'horizontal'\" [igxForContainerSize]='grid.unpinnedWidth'\n [igxForTrackBy]='grid.trackColumnChanges' #igxDirRef>\n <igx-grid-cell #cell class=\"igx-grid__td igx-grid__td--fw\"\n [class.igx-grid__td--edited]=\"key | transactionState:col.field:grid.rowEditable:grid.transactions:grid.pipeTrigger:grid.gridAPI.crudService.cell:grid.gridAPI.crudService.row\"\n\n [class.igx-grid__td--number]=\"col.dataType === 'number' || col.dataType === 'percent' || col.dataType === 'currency'\"\n [class.igx-grid__td--bool]=\"col.dataType === 'boolean'\"\n [ngClass]=\"this.getCellClass(col) | igxPivotCellStyleClasses:data[col.field]:data:getColumnData(col):viewIndex:grid.pipeTrigger\"\n [ngStyle]=\"col.cellStyles | igxCellStyles:pivotAggregationData[col.field]:pivotAggregationData:col.field:viewIndex:grid.pipeTrigger\"\n [editMode]=\"col.editable && this.grid.crudService.targetInEdit(index, col.index)\" [column]=\"col\"\n [formatter]=\"col.formatter\" [intRow]=\"this\" [active]=\"isCellActive(col.visibleIndex)\"\n [rowData]=\"data\" [columnData]='getColumnData(col)'\n [style.min-width]=\"col.resolvedWidth\" [style.max-width]=\"col.resolvedWidth\"\n [style.flex-basis]=\"col.resolvedWidth\" [width]=\"col.getCellWidth()\" [visibleColumnIndex]=\"col.visibleIndex\"\n [value]=\"pivotAggregationData[col.field]\"\n [cellTemplate]=\"col.bodyTemplate\" [lastSearchInfo]=\"grid.lastSearchInfo\"\n [cellSelectionMode]=\"grid.cellSelection\" [displayPinnedChip]=\"shouldDisplayPinnedChip(col)\"\n (pointerdown)=\"grid.navigation.focusOutRowHeader($event)\">\n </igx-grid-cell>\n</ng-template>\n\n<ng-template #rowSelectorBaseTemplate>\n <div class=\"igx-grid__cbx-padding\">\n <igx-checkbox [tabindex]=\"-1\" [readonly]=\"true\" [checked]=\"selected\" [disableRipple]=\"true\" [disabled]=\"deleted\"\n [disableTransitions]=\"grid.disableTransitions\" [aria-label]=\"rowCheckboxAriaLabel\">\n </igx-checkbox>\n </div>\n</ng-template>\n\n" }]
79782
79811
  }], ctorParameters: () => [{ type: undefined, decorators: [{
79783
79812
  type: Inject,
79784
79813
  args: [IGX_GRID_BASE]
@@ -83239,7 +83268,7 @@ class BaseToolbarDirective {
83239
83268
  this.columnToggle = new EventEmitter();
83240
83269
  this.$destroy = new Subject();
83241
83270
  this._overlaySettings = {
83242
- positionStrategy: new ConnectedPositioningStrategy({
83271
+ positionStrategy: new AutoPositionStrategy({
83243
83272
  horizontalDirection: HorizontalAlignment.Left,
83244
83273
  horizontalStartPoint: HorizontalAlignment.Right,
83245
83274
  verticalDirection: VerticalAlignment.Bottom,
@@ -89421,7 +89450,7 @@ class IgxHierarchicalGridComponent extends IgxHierarchicalGridBaseDirective {
89421
89450
  if (!this._init) {
89422
89451
  this.validation.updateAll(this._data);
89423
89452
  }
89424
- if (this.autoGenerate && this._data.length > 0 && this.shouldRecreateColumns(oldData, this._data)) {
89453
+ if (this.autoGenerate && this._data.length > 0 && this.shouldRecreateColumns(oldData, this._data) && this.gridAPI.grid) {
89425
89454
  this.setupColumns();
89426
89455
  this.reflow();
89427
89456
  }
@@ -99172,77 +99201,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
99172
99201
  }]
99173
99202
  }] });
99174
99203
 
99175
- const DEFAULT_LANGUAGES = ['javascript', 'typescript', 'html', 'css'];
99176
- const DEFAULT_THEMES = {
99177
- light: 'github-light',
99178
- dark: 'github-dark'
99179
- };
99180
- class IgxChatMarkdownService {
99181
- _initializeMarked() {
99182
- this._instance = new Marked({
99183
- breaks: true,
99184
- gfm: true,
99185
- extensions: [
99186
- {
99187
- name: 'link',
99188
- renderer({ href, title, text }) {
99189
- return `<a href="${href}" target="_blank" rel="noopener noreferrer" ${title ? `title="${title}"` : ''}>${text}</a>`;
99190
- }
99191
- }
99192
- ]
99193
- });
99194
- }
99195
- async _initializeShiki() {
99196
- const highlighter = await createHighlighter({
99197
- langs: DEFAULT_LANGUAGES,
99198
- themes: Object.keys(bundledThemes)
99199
- });
99200
- this._instance.use(markedShiki({
99201
- highlight(code, lang, _) {
99202
- try {
99203
- return highlighter.codeToHtml(code, {
99204
- lang,
99205
- themes: DEFAULT_THEMES,
99206
- });
99207
- }
99208
- catch {
99209
- return `<pre><code>${code}</code></pre>`;
99210
- }
99211
- }
99212
- }));
99213
- }
99214
- constructor() {
99215
- this._initializeMarked();
99216
- this._isInitialized = this._initializeShiki();
99217
- }
99218
- async parse(text) {
99219
- await this._isInitialized;
99220
- return await this._instance.parse(text);
99221
- }
99222
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: IgxChatMarkdownService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
99223
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: IgxChatMarkdownService, providedIn: 'root' }); }
99224
- }
99225
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: IgxChatMarkdownService, decorators: [{
99226
- type: Injectable,
99227
- args: [{ providedIn: 'root' }]
99228
- }], ctorParameters: () => [] });
99229
-
99230
- class MarkdownPipe {
99231
- constructor() {
99232
- this._service = inject(IgxChatMarkdownService);
99233
- this._sanitizer = inject(DomSanitizer);
99234
- }
99235
- async transform(text) {
99236
- return this._sanitizer.bypassSecurityTrustHtml(DOMPurify.sanitize(await this._service.parse(text ?? '')));
99237
- }
99238
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MarkdownPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
99239
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: MarkdownPipe, isStandalone: true, name: "fromMarkdown" }); }
99240
- }
99241
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MarkdownPipe, decorators: [{
99242
- type: Pipe,
99243
- args: [{ name: 'fromMarkdown' }]
99244
- }] });
99245
-
99204
+ /**
99205
+ * Angular wrapper component for the Ignite UI Web Components Chat component.
99206
+ *
99207
+ * This component provides an Angular-friendly interface to the igc-chat web component,
99208
+ * including support for Angular templates, signals, and change detection.
99209
+ *
99210
+ * Uses OnPush change detection strategy for optimal performance. All inputs are signals,
99211
+ * so changes are automatically tracked and propagated to the underlying web component.
99212
+ *
99213
+ * @example
99214
+ * ```typescript
99215
+ * <igx-chat
99216
+ * [messages]="messages"
99217
+ * [draftMessage]="draft"
99218
+ * [options]="chatOptions"
99219
+ * [templates]="chatTemplates"
99220
+ * (messageCreated)="onMessageCreated($event)"
99221
+ * />
99222
+ * ```
99223
+ */
99246
99224
  class IgxChatComponent {
99247
99225
  //#endregion
99248
99226
  /** @internal */
@@ -99261,44 +99239,50 @@ class IgxChatComponent {
99261
99239
  this._view = inject(ViewContainerRef);
99262
99240
  this._templateViewRefs = new Map();
99263
99241
  this._oldTemplates = {};
99264
- this._mergedOptions = signal({}, ...(ngDevMode ? [{ debugName: "_mergedOptions" }] : []));
99265
99242
  this._transformedTemplates = signal({}, ...(ngDevMode ? [{ debugName: "_transformedTemplates" }] : []));
99243
+ this._mergedOptions = computed(() => {
99244
+ const options = this.options();
99245
+ const transformedTemplates = this._transformedTemplates();
99246
+ return {
99247
+ ...options,
99248
+ renderers: transformedTemplates
99249
+ };
99250
+ }, ...(ngDevMode ? [{ debugName: "_mergedOptions" }] : []));
99266
99251
  //#endregion
99267
99252
  //#region Inputs
99253
+ /** Array of chat messages to display */
99268
99254
  this.messages = input([], ...(ngDevMode ? [{ debugName: "messages" }] : []));
99255
+ /** Draft message with text and optional attachments */
99269
99256
  this.draftMessage = input({ text: '' }, ...(ngDevMode ? [{ debugName: "draftMessage" }] : []));
99257
+ /** Configuration options for the chat component */
99270
99258
  this.options = input({}, ...(ngDevMode ? [{ debugName: "options" }] : []));
99259
+ /** Custom templates for rendering chat elements */
99271
99260
  this.templates = input({}, ...(ngDevMode ? [{ debugName: "templates" }] : []));
99272
99261
  //#endregion
99273
99262
  //#region Outputs
99263
+ /** Emitted when a new message is created */
99274
99264
  this.messageCreated = output();
99265
+ /** Emitted when a user reacts to a message */
99275
99266
  this.messageReact = output();
99267
+ /** Emitted when an attachment is clicked */
99276
99268
  this.attachmentClick = output();
99269
+ /** Emitted when attachment drag starts */
99277
99270
  this.attachmentDrag = output();
99271
+ /** Emitted when attachment is dropped */
99278
99272
  this.attachmentDrop = output();
99273
+ /** Emitted when typing indicator state changes */
99279
99274
  this.typingChange = output();
99275
+ /** Emitted when the input receives focus */
99280
99276
  this.inputFocus = output();
99277
+ /** Emitted when the input loses focus */
99281
99278
  this.inputBlur = output();
99279
+ /** Emitted when the input value changes */
99282
99280
  this.inputChange = output();
99283
- // Templates changed - update transformed templates and viewRefs and merge with options
99281
+ // Templates changed - update transformed templates and viewRefs
99284
99282
  effect(() => {
99285
99283
  const templates = this.templates();
99286
99284
  this._setTemplates(templates ?? {});
99287
- this._mergeOptions(untracked(() => this.options()));
99288
99285
  });
99289
- // Options changed - merge with current template state
99290
- effect(() => {
99291
- const options = this.options();
99292
- this._mergeOptions(options ?? {});
99293
- });
99294
- }
99295
- _mergeOptions(options) {
99296
- const transformedTemplates = this._transformedTemplates();
99297
- const merged = {
99298
- ...options,
99299
- renderers: transformedTemplates
99300
- };
99301
- this._mergedOptions.set(merged);
99302
99286
  }
99303
99287
  _setTemplates(newTemplates) {
99304
99288
  const templateCopies = {};
@@ -99344,7 +99328,8 @@ class IgxChatComponent {
99344
99328
  }
99345
99329
  else if ('value' in context) {
99346
99330
  angularContext = {
99347
- $implicit: { value: context.value, attachments: context.attachments },
99331
+ $implicit: context.value,
99332
+ attachments: context.attachments
99348
99333
  };
99349
99334
  }
99350
99335
  else {
@@ -99360,8 +99345,19 @@ class IgxChatComponent {
99360
99345
  }
99361
99346
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: IgxChatComponent, decorators: [{
99362
99347
  type: Component,
99363
- args: [{ selector: 'igx-chat', changeDetection: ChangeDetectionStrategy.OnPush, schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<igc-chat\n [messages]=\"messages()\"\n [draftMessage]=\"draftMessage()\"\n [options]=\"_mergedOptions()\"\n (igcMessageCreated)=\"messageCreated.emit($event.detail)\"\n (igcMessageReact)=\"messageReact.emit($event.detail)\"\n (igcAttachmentClick)=\"attachmentClick.emit($event.detail)\"\n (igcAttachmentDrag)=\"attachmentDrag.emit()\"\n (igcAttachmentDrop)=\"attachmentDrop.emit()\"\n (igcTypingChange)=\"typingChange.emit($event.detail)\"\n (igcInputFocus)=\"inputFocus.emit()\"\n (igcInputBlur)=\"inputBlur.emit()\"\n (igcInputChange)=\"inputChange.emit($event.detail)\"\n>\n <ng-content></ng-content>\n</igc-chat>\n", styles: ["igc-chat{--igc-chat-height: calc(100vh - 32px) }\n"] }]
99348
+ args: [{ selector: 'igx-chat', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<igc-chat\n [messages]=\"messages()\"\n [draftMessage]=\"draftMessage()\"\n [options]=\"_mergedOptions()\"\n (igcMessageCreated)=\"messageCreated.emit($event.detail)\"\n (igcMessageReact)=\"messageReact.emit($event.detail)\"\n (igcAttachmentClick)=\"attachmentClick.emit($event.detail)\"\n (igcAttachmentDrag)=\"attachmentDrag.emit()\"\n (igcAttachmentDrop)=\"attachmentDrop.emit()\"\n (igcTypingChange)=\"typingChange.emit($event.detail)\"\n (igcInputFocus)=\"inputFocus.emit()\"\n (igcInputBlur)=\"inputBlur.emit()\"\n (igcInputChange)=\"inputChange.emit($event.detail)\"\n>\n <ng-content></ng-content>\n</igc-chat>\n", styles: ["igc-chat{--igc-chat-height: calc(100vh - 32px) }\n"] }]
99364
99349
  }], ctorParameters: () => [], propDecorators: { messages: [{ type: i0.Input, args: [{ isSignal: true, alias: "messages", required: false }] }], draftMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "draftMessage", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], templates: [{ type: i0.Input, args: [{ isSignal: true, alias: "templates", required: false }] }], messageCreated: [{ type: i0.Output, args: ["messageCreated"] }], messageReact: [{ type: i0.Output, args: ["messageReact"] }], attachmentClick: [{ type: i0.Output, args: ["attachmentClick"] }], attachmentDrag: [{ type: i0.Output, args: ["attachmentDrag"] }], attachmentDrop: [{ type: i0.Output, args: ["attachmentDrop"] }], typingChange: [{ type: i0.Output, args: ["typingChange"] }], inputFocus: [{ type: i0.Output, args: ["inputFocus"] }], inputBlur: [{ type: i0.Output, args: ["inputBlur"] }], inputChange: [{ type: i0.Output, args: ["inputChange"] }] } });
99350
+ /**
99351
+ * Directive providing type information for chat message template contexts.
99352
+ * Use this directive on ng-template elements that render chat messages.
99353
+ *
99354
+ * @example
99355
+ * ```html
99356
+ * <ng-template igxChatMessageContext let-message>
99357
+ * <div>{{ message.text }}</div>
99358
+ * </ng-template>
99359
+ * ```
99360
+ */
99365
99361
  class IgxChatMessageContextDirective {
99366
99362
  static ngTemplateContextGuard(_, ctx) {
99367
99363
  return true;
@@ -99373,7 +99369,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
99373
99369
  type: Directive,
99374
99370
  args: [{ selector: '[igxChatMessageContext]' }]
99375
99371
  }] });
99376
- ;
99372
+ /**
99373
+ * Directive providing type information for chat attachment template contexts.
99374
+ * Use this directive on ng-template elements that render message attachments.
99375
+ *
99376
+ * @example
99377
+ * ```html
99378
+ * <ng-template igxChatAttachmentContext let-attachment>
99379
+ * <img [src]="attachment.url" />
99380
+ * </ng-template>
99381
+ * ```
99382
+ */
99377
99383
  class IgxChatAttachmentContextDirective {
99378
99384
  static ngTemplateContextGuard(_, ctx) {
99379
99385
  return true;
@@ -99385,6 +99391,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
99385
99391
  type: Directive,
99386
99392
  args: [{ selector: '[igxChatAttachmentContext]' }]
99387
99393
  }] });
99394
+ /**
99395
+ * Directive providing type information for chat input template contexts.
99396
+ * Use this directive on ng-template elements that render the chat input.
99397
+ *
99398
+ * @example
99399
+ * ```html
99400
+ * <ng-template igxChatInputContext let-value let-attachments="attachments">
99401
+ * <input [value]="value" />
99402
+ * </ng-template>
99403
+ * ```
99404
+ */
99388
99405
  class IgxChatInputContextDirective {
99389
99406
  static ngTemplateContextGuard(_, ctx) {
99390
99407
  return true;
@@ -99413,5 +99430,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
99413
99430
  * Generated bundle index. Do not edit.
99414
99431
  */
99415
99432
 
99416
- export { AbsolutePosition, AbsoluteScrollStrategy, ActionStripResourceStringsEN, AutoPositionStrategy, BannerResourceStringsEN, BaseFilteringStrategy, BlockScrollStrategy, ButtonGroupAlignment, ByLevelTreeGridMergeStrategy, CachedDataCloneStrategy, Calendar, CalendarResourceStringsEN, CalendarSelection, CarouselAnimationType, CarouselHammerConfig, CarouselIndicatorsOrientation, CarouselResourceStringsEN, ChipResourceStringsEN, CloseScrollStrategy, ColumnDisplayOrder, ColumnPinningPosition, ComboResourceStringsEN, ConnectedPositioningStrategy, ContainerPositionStrategy, CsvFileTypes, DEFAULT_OWNER, DEFAULT_PIVOT_KEYS, DataType, DataUtil, DatePart, DatePickerResourceStringsEN, DateRangePickerFormatPipe, DateRangePickerResourceStringsEN, DateRangeType, DefaultDataCloneStrategy, DefaultMergeStrategy, DefaultPivotGridRecordSortingStrategy, DefaultPivotSortingStrategy, DefaultSortingStrategy, DefaultTreeGridMergeStrategy, DimensionValuesFilteringStrategy, Direction, DragDirection, ElasticPositionStrategy, ExpansionPanelHeaderIconPosition, ExportHeaderType, ExportRecordType, ExpressionsTreeUtil, FilterMode, FilterUtil, FilteringExpressionsTree, FilteringExpressionsTreeType, FilteringLogic, FilteringStrategy, FormattedValuesFilteringStrategy, FormattedValuesSortingStrategy, GRID_LEVEL_COL, GRID_PARENT, GRID_ROOT_SUMMARY, GlobalPositionStrategy, GridCellMergeMode, GridColumnDataType, GridPagingMode, GridResourceStringsEN, GridSelectionMode, GridSummaryCalculationMode, GridSummaryPosition, GroupMemberCountSortingStrategy, GroupedRecords, HorizontalAlignment, HorizontalAnimationType, IGX_ACCORDION_DIRECTIVES, IGX_ACTION_STRIP_DIRECTIVES, IGX_BANNER_DIRECTIVES, IGX_BOTTOM_NAV_DIRECTIVES, IGX_BUTTON_GROUP_DIRECTIVES, IGX_CALENDAR_DIRECTIVES, IGX_CALENDAR_VIEW_ITEM, IGX_CARD_DIRECTIVES, IGX_CAROUSEL_DIRECTIVES, IGX_CHIPS_DIRECTIVES, IGX_CIRCULAR_PROGRESS_BAR_DIRECTIVES, IGX_COMBO_DIRECTIVES, IGX_DATE_PICKER_DIRECTIVES, IGX_DATE_RANGE_PICKER_DIRECTIVES, IGX_DIALOG_DIRECTIVES, IGX_DRAG_DROP_DIRECTIVES, IGX_DROP_DOWN_DIRECTIVES, IGX_EXPANSION_PANEL_DIRECTIVES, IGX_GRID_ACTION_STRIP_DIRECTIVES, IGX_GRID_BASE, IGX_GRID_COMMON_DIRECTIVES, IGX_GRID_DIRECTIVES, IGX_GRID_SERVICE_BASE, IGX_GRID_VALIDATION_DIRECTIVES, IGX_HIERARCHICAL_GRID_DIRECTIVES, IGX_INPUT_GROUP_DIRECTIVES, IGX_INPUT_GROUP_TYPE, IGX_LINEAR_PROGRESS_BAR_DIRECTIVES, IGX_LIST_DIRECTIVES, IGX_NAVBAR_DIRECTIVES, IGX_NAVIGATION_DRAWER_DIRECTIVES, IGX_PAGINATOR_DIRECTIVES, IGX_PIVOT_GRID_DIRECTIVES, IGX_PROGRESS_BAR_DIRECTIVES, IGX_QUERY_BUILDER_DIRECTIVES, IGX_RADIO_GROUP_DIRECTIVES, IGX_SELECT_DIRECTIVES, IGX_SIMPLE_COMBO_DIRECTIVES, IGX_SLIDER_DIRECTIVES, IGX_SPLITTER_DIRECTIVES, IGX_STEPPER_DIRECTIVES, IGX_TABS_DIRECTIVES, IGX_TIME_PICKER_DIRECTIVES, IGX_TOOLTIP_DIRECTIVES, IGX_TREE_DIRECTIVES, IGX_TREE_GRID_DIRECTIVES, ITreeGridAggregation, IgSizeDirective, IgcFormControlDirective, IgcFormsModule, IgxAccordionComponent, IgxAccordionModule, IgxActionStripComponent, IgxActionStripMenuItemDirective, IgxActionStripModule, IgxAdvancedFilteringDialogComponent, IgxAppendDropStrategy, IgxAutocompleteDirective, IgxAutocompleteModule, IgxAvatarComponent, IgxAvatarModule, IgxAvatarSize, IgxAvatarType, IgxBadgeComponent, IgxBadgeModule, IgxBadgeType, IgxBannerActionsDirective, IgxBannerComponent, IgxBannerModule, IgxBaseExporter, IgxBaseTransactionService, IgxBooleanFilteringOperand, IgxBottomNavComponent, IgxBottomNavContentComponent, IgxBottomNavHeaderComponent, IgxBottomNavHeaderIconDirective, IgxBottomNavHeaderLabelDirective, IgxBottomNavItemComponent, IgxBottomNavModule, IgxButtonDirective, IgxButtonGroupComponent, IgxButtonGroupModule, IgxButtonModule, IgxCSVTextDirective, IgxCalendarComponent, IgxCalendarHeaderTemplateDirective, IgxCalendarHeaderTitleTemplateDirective, IgxCalendarModule, IgxCalendarMonthDirective, IgxCalendarScrollPageDirective, IgxCalendarSubheaderTemplateDirective, IgxCalendarView, IgxCalendarViewBaseDirective, IgxCalendarYearDirective, IgxCardActionsComponent, IgxCardActionsLayout, IgxCardComponent, IgxCardContentDirective, IgxCardFooterDirective, IgxCardHeaderComponent, IgxCardHeaderSubtitleDirective, IgxCardHeaderTitleDirective, IgxCardMediaDirective, IgxCardModule, IgxCardThumbnailDirective, IgxCarouselComponent, IgxCarouselIndicatorDirective, IgxCarouselModule, IgxCarouselNextButtonDirective, IgxCarouselPrevButtonDirective, IgxCellEditorTemplateDirective, IgxCellFooterTemplateDirective, IgxCellHeaderTemplateDirective, IgxCellTemplateDirective, IgxCellValidationErrorDirective, IgxChatAttachmentContextDirective, IgxChatComponent, IgxChatInputContextDirective, IgxChatMessageContextDirective, IgxCheckboxComponent, IgxCheckboxModule, IgxChildGridRowComponent, IgxChipComponent, IgxChipTypeVariant, IgxChipsAreaComponent, IgxChipsModule, IgxCircularProgressBarComponent, IgxCollapsibleIndicatorTemplateDirective, IgxColumPatternValidatorDirective, IgxColumnActionsBaseDirective, IgxColumnActionsComponent, IgxColumnComponent, IgxColumnEmailValidatorDirective, IgxColumnGroupComponent, IgxColumnHidingDirective, IgxColumnLayoutComponent, IgxColumnMaxLengthValidatorDirective, IgxColumnMaxValidatorDirective, IgxColumnMinLengthValidatorDirective, IgxColumnMinValidatorDirective, IgxColumnPinningDirective, IgxColumnRequiredValidatorDirective, IgxComboAddItemDirective, IgxComboClearIconDirective, IgxComboComponent, IgxComboEmptyDirective, IgxComboFooterDirective, IgxComboHeaderDirective, IgxComboHeaderItemDirective, IgxComboItemDirective, IgxComboModule, IgxComboToggleIconDirective, IgxCsvExporterOptions, IgxCsvExporterService, IgxDataLoadingTemplateDirective, IgxDataRecordSorting, IgxDateFilteringOperand, IgxDatePickerComponent, IgxDatePickerModule, IgxDateRangeEndComponent, IgxDateRangeInputsBaseComponent, IgxDateRangePickerComponent, IgxDateRangePickerModule, IgxDateRangeSeparatorDirective, IgxDateRangeStartComponent, IgxDateSummaryOperand, IgxDateTimeEditorDirective, IgxDateTimeEditorModule, IgxDateTimeFilteringOperand, IgxDaysViewComponent, IgxDefaultDropStrategy, IgxDialogActionsDirective, IgxDialogComponent, IgxDialogModule, IgxDialogTitleDirective, IgxDividerDirective, IgxDividerModule, IgxDividerType, IgxDragDirective, IgxDragDropModule, IgxDragHandleDirective, IgxDragIgnoreDirective, IgxDragIndicatorIconDirective, IgxDragLocation, IgxDropDirective, IgxDropDownComponent, IgxDropDownGroupComponent, IgxDropDownItemComponent, IgxDropDownItemNavigationDirective, IgxDropDownModule, IgxEmptyListTemplateDirective, IgxExcelExporterOptions, IgxExcelExporterService, IgxExcelStyleClearFiltersComponent, IgxExcelStyleColumnOperationsTemplateDirective, IgxExcelStyleConditionalFilterComponent, IgxExcelStyleDateExpressionComponent, IgxExcelStyleFilterOperationsTemplateDirective, IgxExcelStyleHeaderComponent, IgxExcelStyleHeaderIconDirective, IgxExcelStyleHidingComponent, IgxExcelStyleLoadingValuesTemplateDirective, IgxExcelStyleMovingComponent, IgxExcelStylePinningComponent, IgxExcelStyleSearchComponent, IgxExcelStyleSelectingComponent, IgxExcelStyleSortingComponent, IgxExcelTextDirective, IgxExpansionPanelBodyComponent, IgxExpansionPanelComponent, IgxExpansionPanelDescriptionDirective, IgxExpansionPanelHeaderComponent, IgxExpansionPanelIconDirective, IgxExpansionPanelModule, IgxExpansionPanelTitleDirective, IgxExporterOptionsBase, IgxFilterCellTemplateDirective, IgxFilterDirective, IgxFilterModule, IgxFilterOptions, IgxFilterPipe, IgxFilteringOperand, IgxFlatTransactionFactory, IgxFlexDirective, IgxFocusDirective, IgxFocusModule, IgxFocusTrapDirective, IgxFocusTrapModule, IgxForOfContext, IgxForOfDirective, IgxForOfModule, IgxGridActionButtonComponent, IgxGridActionsBaseDirective, IgxGridCell, IgxGridComponent, IgxGridDetailTemplateDirective, IgxGridEditingActionsComponent, IgxGridEmptyTemplateDirective, IgxGridExcelStyleFilteringComponent, IgxGridFooterComponent, IgxGridForOfContext, IgxGridForOfDirective, IgxGridHeaderComponent, IgxGridHeaderGroupComponent, IgxGridHeaderRowComponent, IgxGridLoadingTemplateDirective, IgxGridModule, IgxGridPinningActionsComponent, IgxGridRow, IgxGridStateDirective, IgxGridToolbarActionsComponent, IgxGridToolbarAdvancedFilteringComponent, IgxGridToolbarComponent, IgxGridToolbarDirective, IgxGridToolbarExporterComponent, IgxGridToolbarHidingComponent, IgxGridToolbarPinningComponent, IgxGridToolbarTitleComponent, IgxGridTransaction, IgxGroupAreaDropDirective, IgxGroupByRow, IgxGroupByRowSelectorDirective, IgxGroupByRowTemplateDirective, IgxGroupedTreeGridSorting, IgxGrouping, IgxHeadSelectorDirective, IgxHeaderCollapsedIndicatorDirective, IgxHeaderExpandedIndicatorDirective, IgxHierarchicalGridComponent, IgxHierarchicalGridModule, IgxHierarchicalGridRow, IgxHierarchicalTransactionFactory, IgxHierarchicalTransactionService, IgxHintDirective, IgxIconButtonDirective, IgxIconComponent, IgxIconModule, IgxIconService, IgxInputDirective, IgxInputGroupComponent, IgxInputGroupEnum, IgxInputGroupModule, IgxInputState, IgxInsertDropStrategy, IgxItemListDirective, IgxLabelDirective, IgxLayoutDirective, IgxLayoutModule, IgxLinearProgressBarComponent, IgxListActionDirective, IgxListBaseDirective, IgxListComponent, IgxListItemComponent, IgxListItemLeftPanningTemplateDirective, IgxListItemRightPanningTemplateDirective, IgxListLineDirective, IgxListLineSubTitleDirective, IgxListLineTitleDirective, IgxListModule, IgxListPanState, IgxListThumbnailDirective, IgxMaskDirective, IgxMaskModule, IgxMonthPickerComponent, IgxMonthsViewComponent, IgxNavDrawerItemDirective, IgxNavDrawerMiniTemplateDirective, IgxNavDrawerTemplateDirective, IgxNavbarActionDirective, IgxNavbarComponent, IgxNavbarModule, IgxNavbarTitleDirective, IgxNavigationCloseDirective, IgxNavigationDrawerComponent, IgxNavigationDrawerModule, IgxNavigationService, IgxNavigationToggleDirective, IgxNumberFilteringOperand, IgxNumberSummaryOperand, IgxOverlayOutletDirective, IgxOverlayService, IgxPageNavigationComponent, IgxPageSizeSelectorComponent, IgxPaginatorComponent, IgxPaginatorContentDirective, IgxPaginatorDirective, IgxPaginatorModule, IgxPickerActionsDirective, IgxPickerClearComponent, IgxPickerToggleComponent, IgxPivotAggregate, IgxPivotDataSelectorComponent, IgxPivotDateAggregate, IgxPivotDateDimension, IgxPivotGridComponent, IgxPivotGridModule, IgxPivotGridRow, IgxPivotNumericAggregate, IgxPivotRowDimensionHeaderTemplateDirective, IgxPivotTimeAggregate, IgxPivotValueChipTemplateDirective, IgxPrefixDirective, IgxPrependDropStrategy, IgxProgressBarGradientDirective, IgxProgressBarModule, IgxProgressBarTextTemplateDirective, IgxProgressType, IgxQueryBuilderComponent, IgxQueryBuilderHeaderComponent, IgxQueryBuilderModule, IgxQueryBuilderSearchValueTemplateDirective, IgxRadioComponent, IgxRadioGroupDirective, IgxRadioModule, IgxRippleDirective, IgxRippleModule, IgxRowAddTextDirective, IgxRowCollapsedIndicatorDirective, IgxRowDirective, IgxRowDragGhostDirective, IgxRowEditActionsDirective, IgxRowEditTabStopDirective, IgxRowEditTextDirective, IgxRowExpandedIndicatorDirective, IgxRowIslandComponent, IgxRowSelectorDirective, IgxScrollInertiaDirective, IgxScrollInertiaModule, IgxSelectComponent, IgxSelectFooterDirective, IgxSelectGroupComponent, IgxSelectHeaderDirective, IgxSelectItemComponent, IgxSelectModule, IgxSelectToggleIconDirective, IgxSimpleComboComponent, IgxSimpleComboModule, IgxSlideComponent, IgxSliderComponent, IgxSliderModule, IgxSliderType, IgxSnackbarComponent, IgxSnackbarModule, IgxSortAscendingHeaderIconDirective, IgxSortDescendingHeaderIconDirective, IgxSortHeaderIconDirective, IgxSorting, IgxSplitBarComponent, IgxSplitterComponent, IgxSplitterModule, IgxSplitterPaneComponent, IgxStepActiveIndicatorDirective, IgxStepCompletedIndicatorDirective, IgxStepComponent, IgxStepContentDirective, IgxStepIndicatorDirective, IgxStepInvalidIndicatorDirective, IgxStepSubtitleDirective, IgxStepTitleDirective, IgxStepType, IgxStepperComponent, IgxStepperModule, IgxStepperOrientation, IgxStepperTitlePosition, IgxStringFilteringOperand, IgxSuffixDirective, IgxSummaryOperand, IgxSummaryRow, IgxSummaryTemplateDirective, IgxSwitchComponent, IgxSwitchModule, IgxTabContentComponent, IgxTabHeaderComponent, IgxTabHeaderIconDirective, IgxTabHeaderLabelDirective, IgxTabItemComponent, IgxTabsAlignment, IgxTabsComponent, IgxTabsModule, IgxTemplateOutletDirective, IgxTextAlign, IgxTextHighlightDirective, IgxTextHighlightModule, IgxTextHighlightService, IgxTextSelectionDirective, IgxTextSelectionModule, IgxThumbFromTemplateDirective, IgxThumbToTemplateDirective, IgxTickLabelTemplateDirective, IgxTimeFilteringOperand, IgxTimeItemDirective, IgxTimePickerComponent, IgxTimePickerModule, IgxTimeSummaryOperand, IgxToastComponent, IgxToastModule, IgxToggleActionDirective, IgxToggleDirective, IgxToggleModule, IgxTooltipDirective, IgxTooltipModule, IgxTooltipTargetDirective, IgxTransactionService, IgxTreeComponent, IgxTreeExpandIndicatorDirective, IgxTreeGridComponent, IgxTreeGridGroupByAreaComponent, IgxTreeGridGroupingPipe, IgxTreeGridModule, IgxTreeGridRow, IgxTreeModule, IgxTreeNodeComponent, IgxTreeNodeLinkDirective, IgxTreeSelectionType, IgxYearsViewComponent, IndigoIcons, InputResourceStringsEN, LabelPosition, ListResourceStringsEN, MarkdownPipe, NoOpScrollStrategy, NoopFilteringStrategy, NoopPivotDimensionsStrategy, NoopSortingStrategy, PaginatorResourceStringsEN, PagingError, PickerInteractionMode, PivotColumnDimensionsStrategy, PivotDimensionType, PivotRowDimensionsStrategy, PivotRowLayoutType, PivotSummaryPosition, Point, QueryBuilderResourceStringsEN, RadioGroupAlignment, RelativePosition, RelativePositionStrategy, RowPinningPosition, ScrollStrategy, Size, SliderHandle, SortingDirection, SplitterType, THEME_TOKEN, ThemeToken, TickLabelsOrientation, TicksOrientation, TimePickerResourceStringsEN, TooltipPositionStrategy, TransactionEventOrigin, TransactionType, TreeGridFilteringStrategy, TreeGridFormattedValuesFilteringStrategy, TreeGridMatchingRecordsOnlyFilteringStrategy, TreeResourceStringsEN, VerticalAlignment, VerticalAnimationType, WEEKDAYS, changei18n, comboIgnoreDiacriticsFilter, igxI18N, isLeap, monthRange, range, weekDay };
99433
+ export { AbsolutePosition, AbsoluteScrollStrategy, ActionStripResourceStringsEN, AutoPositionStrategy, BannerResourceStringsEN, BaseFilteringStrategy, BlockScrollStrategy, ButtonGroupAlignment, ByLevelTreeGridMergeStrategy, CachedDataCloneStrategy, Calendar, CalendarResourceStringsEN, CalendarSelection, CarouselAnimationType, CarouselHammerConfig, CarouselIndicatorsOrientation, CarouselResourceStringsEN, ChipResourceStringsEN, CloseScrollStrategy, ColumnDisplayOrder, ColumnPinningPosition, ComboResourceStringsEN, ConnectedPositioningStrategy, ContainerPositionStrategy, CsvFileTypes, DEFAULT_OWNER, DEFAULT_PIVOT_KEYS, DataType, DataUtil, DatePart, DatePickerResourceStringsEN, DateRangePickerFormatPipe, DateRangePickerResourceStringsEN, DateRangeType, DefaultDataCloneStrategy, DefaultMergeStrategy, DefaultPivotGridRecordSortingStrategy, DefaultPivotSortingStrategy, DefaultSortingStrategy, DefaultTreeGridMergeStrategy, DimensionValuesFilteringStrategy, Direction, DragDirection, ElasticPositionStrategy, ExpansionPanelHeaderIconPosition, ExportHeaderType, ExportRecordType, ExpressionsTreeUtil, FilterMode, FilterUtil, FilteringExpressionsTree, FilteringExpressionsTreeType, FilteringLogic, FilteringStrategy, FormattedValuesFilteringStrategy, FormattedValuesSortingStrategy, GRID_LEVEL_COL, GRID_PARENT, GRID_ROOT_SUMMARY, GlobalPositionStrategy, GridCellMergeMode, GridColumnDataType, GridPagingMode, GridResourceStringsEN, GridSelectionMode, GridSummaryCalculationMode, GridSummaryPosition, GroupMemberCountSortingStrategy, GroupedRecords, HorizontalAlignment, HorizontalAnimationType, IGX_ACCORDION_DIRECTIVES, IGX_ACTION_STRIP_DIRECTIVES, IGX_BANNER_DIRECTIVES, IGX_BOTTOM_NAV_DIRECTIVES, IGX_BUTTON_GROUP_DIRECTIVES, IGX_CALENDAR_DIRECTIVES, IGX_CALENDAR_VIEW_ITEM, IGX_CARD_DIRECTIVES, IGX_CAROUSEL_DIRECTIVES, IGX_CHIPS_DIRECTIVES, IGX_CIRCULAR_PROGRESS_BAR_DIRECTIVES, IGX_COMBO_DIRECTIVES, IGX_DATE_PICKER_DIRECTIVES, IGX_DATE_RANGE_PICKER_DIRECTIVES, IGX_DIALOG_DIRECTIVES, IGX_DRAG_DROP_DIRECTIVES, IGX_DROP_DOWN_DIRECTIVES, IGX_EXPANSION_PANEL_DIRECTIVES, IGX_GRID_ACTION_STRIP_DIRECTIVES, IGX_GRID_BASE, IGX_GRID_COMMON_DIRECTIVES, IGX_GRID_DIRECTIVES, IGX_GRID_SERVICE_BASE, IGX_GRID_VALIDATION_DIRECTIVES, IGX_HIERARCHICAL_GRID_DIRECTIVES, IGX_INPUT_GROUP_DIRECTIVES, IGX_INPUT_GROUP_TYPE, IGX_LINEAR_PROGRESS_BAR_DIRECTIVES, IGX_LIST_DIRECTIVES, IGX_NAVBAR_DIRECTIVES, IGX_NAVIGATION_DRAWER_DIRECTIVES, IGX_PAGINATOR_DIRECTIVES, IGX_PIVOT_GRID_DIRECTIVES, IGX_PROGRESS_BAR_DIRECTIVES, IGX_QUERY_BUILDER_DIRECTIVES, IGX_RADIO_GROUP_DIRECTIVES, IGX_SELECT_DIRECTIVES, IGX_SIMPLE_COMBO_DIRECTIVES, IGX_SLIDER_DIRECTIVES, IGX_SPLITTER_DIRECTIVES, IGX_STEPPER_DIRECTIVES, IGX_TABS_DIRECTIVES, IGX_TIME_PICKER_DIRECTIVES, IGX_TOOLTIP_DIRECTIVES, IGX_TREE_DIRECTIVES, IGX_TREE_GRID_DIRECTIVES, ITreeGridAggregation, IgSizeDirective, IgcFormControlDirective, IgcFormsModule, IgxAccordionComponent, IgxAccordionModule, IgxActionStripComponent, IgxActionStripMenuItemDirective, IgxActionStripModule, IgxAdvancedFilteringDialogComponent, IgxAppendDropStrategy, IgxAutocompleteDirective, IgxAutocompleteModule, IgxAvatarComponent, IgxAvatarModule, IgxAvatarSize, IgxAvatarType, IgxBadgeComponent, IgxBadgeModule, IgxBadgeType, IgxBannerActionsDirective, IgxBannerComponent, IgxBannerModule, IgxBaseExporter, IgxBaseTransactionService, IgxBooleanFilteringOperand, IgxBottomNavComponent, IgxBottomNavContentComponent, IgxBottomNavHeaderComponent, IgxBottomNavHeaderIconDirective, IgxBottomNavHeaderLabelDirective, IgxBottomNavItemComponent, IgxBottomNavModule, IgxButtonDirective, IgxButtonGroupComponent, IgxButtonGroupModule, IgxButtonModule, IgxCSVTextDirective, IgxCalendarComponent, IgxCalendarHeaderTemplateDirective, IgxCalendarHeaderTitleTemplateDirective, IgxCalendarModule, IgxCalendarMonthDirective, IgxCalendarScrollPageDirective, IgxCalendarSubheaderTemplateDirective, IgxCalendarView, IgxCalendarViewBaseDirective, IgxCalendarYearDirective, IgxCardActionsComponent, IgxCardActionsLayout, IgxCardComponent, IgxCardContentDirective, IgxCardFooterDirective, IgxCardHeaderComponent, IgxCardHeaderSubtitleDirective, IgxCardHeaderTitleDirective, IgxCardMediaDirective, IgxCardModule, IgxCardThumbnailDirective, IgxCarouselComponent, IgxCarouselIndicatorDirective, IgxCarouselModule, IgxCarouselNextButtonDirective, IgxCarouselPrevButtonDirective, IgxCellEditorTemplateDirective, IgxCellFooterTemplateDirective, IgxCellHeaderTemplateDirective, IgxCellTemplateDirective, IgxCellValidationErrorDirective, IgxChatAttachmentContextDirective, IgxChatComponent, IgxChatInputContextDirective, IgxChatMessageContextDirective, IgxCheckboxComponent, IgxCheckboxModule, IgxChildGridRowComponent, IgxChipComponent, IgxChipTypeVariant, IgxChipsAreaComponent, IgxChipsModule, IgxCircularProgressBarComponent, IgxCollapsibleIndicatorTemplateDirective, IgxColumPatternValidatorDirective, IgxColumnActionsBaseDirective, IgxColumnActionsComponent, IgxColumnComponent, IgxColumnEmailValidatorDirective, IgxColumnGroupComponent, IgxColumnHidingDirective, IgxColumnLayoutComponent, IgxColumnMaxLengthValidatorDirective, IgxColumnMaxValidatorDirective, IgxColumnMinLengthValidatorDirective, IgxColumnMinValidatorDirective, IgxColumnPinningDirective, IgxColumnRequiredValidatorDirective, IgxComboAddItemDirective, IgxComboClearIconDirective, IgxComboComponent, IgxComboEmptyDirective, IgxComboFooterDirective, IgxComboHeaderDirective, IgxComboHeaderItemDirective, IgxComboItemDirective, IgxComboModule, IgxComboToggleIconDirective, IgxCsvExporterOptions, IgxCsvExporterService, IgxDataLoadingTemplateDirective, IgxDataRecordSorting, IgxDateFilteringOperand, IgxDatePickerComponent, IgxDatePickerModule, IgxDateRangeEndComponent, IgxDateRangeInputsBaseComponent, IgxDateRangePickerComponent, IgxDateRangePickerModule, IgxDateRangeSeparatorDirective, IgxDateRangeStartComponent, IgxDateSummaryOperand, IgxDateTimeEditorDirective, IgxDateTimeEditorModule, IgxDateTimeFilteringOperand, IgxDaysViewComponent, IgxDefaultDropStrategy, IgxDialogActionsDirective, IgxDialogComponent, IgxDialogModule, IgxDialogTitleDirective, IgxDividerDirective, IgxDividerModule, IgxDividerType, IgxDragDirective, IgxDragDropModule, IgxDragHandleDirective, IgxDragIgnoreDirective, IgxDragIndicatorIconDirective, IgxDragLocation, IgxDropDirective, IgxDropDownComponent, IgxDropDownGroupComponent, IgxDropDownItemComponent, IgxDropDownItemNavigationDirective, IgxDropDownModule, IgxEmptyListTemplateDirective, IgxExcelExporterOptions, IgxExcelExporterService, IgxExcelStyleClearFiltersComponent, IgxExcelStyleColumnOperationsTemplateDirective, IgxExcelStyleConditionalFilterComponent, IgxExcelStyleDateExpressionComponent, IgxExcelStyleFilterOperationsTemplateDirective, IgxExcelStyleHeaderComponent, IgxExcelStyleHeaderIconDirective, IgxExcelStyleHidingComponent, IgxExcelStyleLoadingValuesTemplateDirective, IgxExcelStyleMovingComponent, IgxExcelStylePinningComponent, IgxExcelStyleSearchComponent, IgxExcelStyleSelectingComponent, IgxExcelStyleSortingComponent, IgxExcelTextDirective, IgxExpansionPanelBodyComponent, IgxExpansionPanelComponent, IgxExpansionPanelDescriptionDirective, IgxExpansionPanelHeaderComponent, IgxExpansionPanelIconDirective, IgxExpansionPanelModule, IgxExpansionPanelTitleDirective, IgxExporterOptionsBase, IgxFilterCellTemplateDirective, IgxFilterDirective, IgxFilterModule, IgxFilterOptions, IgxFilterPipe, IgxFilteringOperand, IgxFlatTransactionFactory, IgxFlexDirective, IgxFocusDirective, IgxFocusModule, IgxFocusTrapDirective, IgxFocusTrapModule, IgxForOfContext, IgxForOfDirective, IgxForOfModule, IgxGridActionButtonComponent, IgxGridActionsBaseDirective, IgxGridCell, IgxGridComponent, IgxGridDetailTemplateDirective, IgxGridEditingActionsComponent, IgxGridEmptyTemplateDirective, IgxGridExcelStyleFilteringComponent, IgxGridFooterComponent, IgxGridForOfContext, IgxGridForOfDirective, IgxGridHeaderComponent, IgxGridHeaderGroupComponent, IgxGridHeaderRowComponent, IgxGridLoadingTemplateDirective, IgxGridModule, IgxGridPinningActionsComponent, IgxGridRow, IgxGridStateDirective, IgxGridToolbarActionsComponent, IgxGridToolbarAdvancedFilteringComponent, IgxGridToolbarComponent, IgxGridToolbarDirective, IgxGridToolbarExporterComponent, IgxGridToolbarHidingComponent, IgxGridToolbarPinningComponent, IgxGridToolbarTitleComponent, IgxGridTransaction, IgxGroupAreaDropDirective, IgxGroupByRow, IgxGroupByRowSelectorDirective, IgxGroupByRowTemplateDirective, IgxGroupedTreeGridSorting, IgxGrouping, IgxHeadSelectorDirective, IgxHeaderCollapsedIndicatorDirective, IgxHeaderExpandedIndicatorDirective, IgxHierarchicalGridComponent, IgxHierarchicalGridModule, IgxHierarchicalGridRow, IgxHierarchicalTransactionFactory, IgxHierarchicalTransactionService, IgxHintDirective, IgxIconButtonDirective, IgxIconComponent, IgxIconModule, IgxIconService, IgxInputDirective, IgxInputGroupComponent, IgxInputGroupEnum, IgxInputGroupModule, IgxInputState, IgxInsertDropStrategy, IgxItemListDirective, IgxLabelDirective, IgxLayoutDirective, IgxLayoutModule, IgxLinearProgressBarComponent, IgxListActionDirective, IgxListBaseDirective, IgxListComponent, IgxListItemComponent, IgxListItemLeftPanningTemplateDirective, IgxListItemRightPanningTemplateDirective, IgxListLineDirective, IgxListLineSubTitleDirective, IgxListLineTitleDirective, IgxListModule, IgxListPanState, IgxListThumbnailDirective, IgxMaskDirective, IgxMaskModule, IgxMonthPickerComponent, IgxMonthsViewComponent, IgxNavDrawerItemDirective, IgxNavDrawerMiniTemplateDirective, IgxNavDrawerTemplateDirective, IgxNavbarActionDirective, IgxNavbarComponent, IgxNavbarModule, IgxNavbarTitleDirective, IgxNavigationCloseDirective, IgxNavigationDrawerComponent, IgxNavigationDrawerModule, IgxNavigationService, IgxNavigationToggleDirective, IgxNumberFilteringOperand, IgxNumberSummaryOperand, IgxOverlayOutletDirective, IgxOverlayService, IgxPageNavigationComponent, IgxPageSizeSelectorComponent, IgxPaginatorComponent, IgxPaginatorContentDirective, IgxPaginatorDirective, IgxPaginatorModule, IgxPickerActionsDirective, IgxPickerClearComponent, IgxPickerToggleComponent, IgxPivotAggregate, IgxPivotDataSelectorComponent, IgxPivotDateAggregate, IgxPivotDateDimension, IgxPivotGridComponent, IgxPivotGridModule, IgxPivotGridRow, IgxPivotNumericAggregate, IgxPivotRowDimensionHeaderTemplateDirective, IgxPivotTimeAggregate, IgxPivotValueChipTemplateDirective, IgxPrefixDirective, IgxPrependDropStrategy, IgxProgressBarGradientDirective, IgxProgressBarModule, IgxProgressBarTextTemplateDirective, IgxProgressType, IgxQueryBuilderComponent, IgxQueryBuilderHeaderComponent, IgxQueryBuilderModule, IgxQueryBuilderSearchValueTemplateDirective, IgxRadioComponent, IgxRadioGroupDirective, IgxRadioModule, IgxRippleDirective, IgxRippleModule, IgxRowAddTextDirective, IgxRowCollapsedIndicatorDirective, IgxRowDirective, IgxRowDragGhostDirective, IgxRowEditActionsDirective, IgxRowEditTabStopDirective, IgxRowEditTextDirective, IgxRowExpandedIndicatorDirective, IgxRowIslandComponent, IgxRowSelectorDirective, IgxScrollInertiaDirective, IgxScrollInertiaModule, IgxSelectComponent, IgxSelectFooterDirective, IgxSelectGroupComponent, IgxSelectHeaderDirective, IgxSelectItemComponent, IgxSelectModule, IgxSelectToggleIconDirective, IgxSimpleComboComponent, IgxSimpleComboModule, IgxSlideComponent, IgxSliderComponent, IgxSliderModule, IgxSliderType, IgxSnackbarComponent, IgxSnackbarModule, IgxSortAscendingHeaderIconDirective, IgxSortDescendingHeaderIconDirective, IgxSortHeaderIconDirective, IgxSorting, IgxSplitBarComponent, IgxSplitterComponent, IgxSplitterModule, IgxSplitterPaneComponent, IgxStepActiveIndicatorDirective, IgxStepCompletedIndicatorDirective, IgxStepComponent, IgxStepContentDirective, IgxStepIndicatorDirective, IgxStepInvalidIndicatorDirective, IgxStepSubtitleDirective, IgxStepTitleDirective, IgxStepType, IgxStepperComponent, IgxStepperModule, IgxStepperOrientation, IgxStepperTitlePosition, IgxStringFilteringOperand, IgxSuffixDirective, IgxSummaryOperand, IgxSummaryRow, IgxSummaryTemplateDirective, IgxSwitchComponent, IgxSwitchModule, IgxTabContentComponent, IgxTabHeaderComponent, IgxTabHeaderIconDirective, IgxTabHeaderLabelDirective, IgxTabItemComponent, IgxTabsAlignment, IgxTabsComponent, IgxTabsModule, IgxTemplateOutletDirective, IgxTextAlign, IgxTextHighlightDirective, IgxTextHighlightModule, IgxTextHighlightService, IgxTextSelectionDirective, IgxTextSelectionModule, IgxThumbFromTemplateDirective, IgxThumbToTemplateDirective, IgxTickLabelTemplateDirective, IgxTimeFilteringOperand, IgxTimeItemDirective, IgxTimePickerComponent, IgxTimePickerModule, IgxTimeSummaryOperand, IgxToastComponent, IgxToastModule, IgxToggleActionDirective, IgxToggleDirective, IgxToggleModule, IgxTooltipDirective, IgxTooltipModule, IgxTooltipTargetDirective, IgxTransactionService, IgxTreeComponent, IgxTreeExpandIndicatorDirective, IgxTreeGridComponent, IgxTreeGridGroupByAreaComponent, IgxTreeGridGroupingPipe, IgxTreeGridModule, IgxTreeGridRow, IgxTreeModule, IgxTreeNodeComponent, IgxTreeNodeLinkDirective, IgxTreeSelectionType, IgxYearsViewComponent, IndigoIcons, InputResourceStringsEN, LabelPosition, ListResourceStringsEN, NoOpScrollStrategy, NoopFilteringStrategy, NoopPivotDimensionsStrategy, NoopSortingStrategy, PaginatorResourceStringsEN, PagingError, PickerInteractionMode, PivotColumnDimensionsStrategy, PivotDimensionType, PivotRowDimensionsStrategy, PivotRowLayoutType, PivotSummaryPosition, Point, QueryBuilderResourceStringsEN, RadioGroupAlignment, RelativePosition, RelativePositionStrategy, RowPinningPosition, ScrollStrategy, Size, SliderHandle, SortingDirection, SplitterType, THEME_TOKEN, ThemeToken, TickLabelsOrientation, TicksOrientation, TimePickerResourceStringsEN, TooltipPositionStrategy, TransactionEventOrigin, TransactionType, TreeGridFilteringStrategy, TreeGridFormattedValuesFilteringStrategy, TreeGridMatchingRecordsOnlyFilteringStrategy, TreeResourceStringsEN, VerticalAlignment, VerticalAnimationType, WEEKDAYS, changei18n, comboIgnoreDiacriticsFilter, igxI18N, isLeap, monthRange, range, weekDay };
99417
99434
  //# sourceMappingURL=igniteui-angular.mjs.map