@progress/kendo-angular-grid 7.3.0-dev.202208190713 → 7.3.1-dev.202209121009

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.
@@ -2836,7 +2836,7 @@ const packageMetadata = {
2836
2836
  name: '@progress/kendo-angular-grid',
2837
2837
  productName: 'Kendo UI for Angular',
2838
2838
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
2839
- publishDate: 1660893095,
2839
+ publishDate: 1662977145,
2840
2840
  version: '',
2841
2841
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
2842
2842
  };
@@ -8546,6 +8546,7 @@ class ColGroupComponent {
8546
8546
  constructor() {
8547
8547
  this.columns = [];
8548
8548
  this.groups = [];
8549
+ this.sort = new Array();
8549
8550
  }
8550
8551
  get columnsToRender() {
8551
8552
  return columnsToRender(this.columns);
@@ -8553,13 +8554,28 @@ class ColGroupComponent {
8553
8554
  trackBy(index, _item) {
8554
8555
  return index;
8555
8556
  }
8557
+ isSorted(column) {
8558
+ const state = this.sortDescriptor(column.field);
8559
+ return this.isSortable(column) && (state.dir === 'asc' || state.dir === 'desc');
8560
+ }
8561
+ getColumnComponent(column) {
8562
+ return column;
8563
+ }
8564
+ isSortable(column) {
8565
+ return !isNullOrEmptyString(column.field) && isTruthy(column.sortable);
8566
+ }
8567
+ sortDescriptor(field) {
8568
+ return this.sort.find(item => item.field === field) || { field };
8569
+ }
8556
8570
  }
8557
8571
  ColGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ColGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8558
- ColGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ColGroupComponent, selector: "[kendoGridColGroup]", inputs: { columns: "columns", groups: "groups", detailTemplate: "detailTemplate" }, ngImport: i0, template: `
8572
+ ColGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ColGroupComponent, selector: "[kendoGridColGroup]", inputs: { columns: "columns", groups: "groups", detailTemplate: "detailTemplate", sort: "sort" }, ngImport: i0, template: `
8559
8573
  <ng-container>
8560
8574
  <col [class.k-group-col]="true" *ngFor="let g of groups" />
8561
8575
  <col [class.k-hierarchy-col]="true" *ngIf="detailTemplate?.templateRef"/>
8562
- <col *ngFor="let column of columnsToRender; trackBy: trackBy;" [style.width.px]="column.width"/>
8576
+ <col *ngFor="let column of columnsToRender; trackBy: trackBy;"
8577
+ [style.width.px]="column.width"
8578
+ [class.k-sorted]="isSorted(getColumnComponent(column))"/>
8563
8579
  </ng-container>
8564
8580
  `, isInline: true, directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
8565
8581
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ColGroupComponent, decorators: [{
@@ -8570,7 +8586,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
8570
8586
  <ng-container>
8571
8587
  <col [class.k-group-col]="true" *ngFor="let g of groups" />
8572
8588
  <col [class.k-hierarchy-col]="true" *ngIf="detailTemplate?.templateRef"/>
8573
- <col *ngFor="let column of columnsToRender; trackBy: trackBy;" [style.width.px]="column.width"/>
8589
+ <col *ngFor="let column of columnsToRender; trackBy: trackBy;"
8590
+ [style.width.px]="column.width"
8591
+ [class.k-sorted]="isSorted(getColumnComponent(column))"/>
8574
8592
  </ng-container>
8575
8593
  `
8576
8594
  }]
@@ -8580,6 +8598,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
8580
8598
  type: Input
8581
8599
  }], detailTemplate: [{
8582
8600
  type: Input
8601
+ }], sort: [{
8602
+ type: Input
8583
8603
  }] } });
8584
8604
 
8585
8605
  /**
@@ -11029,7 +11049,7 @@ class FilterMenuComponent {
11029
11049
  FilterMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FilterMenuComponent, deps: [{ token: FilterService }, { token: SinglePopupService }, { token: i1.LocalizationService }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
11030
11050
  FilterMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FilterMenuComponent, selector: "kendo-grid-filter-menu", inputs: { column: "column", filter: "filter", tabIndex: "tabIndex" }, viewQueries: [{ propertyName: "anchor", first: true, predicate: ["anchor"], descendants: true, static: true }, { propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: `
11031
11051
  <a #anchor
11032
- [ngClass]="{'k-grid-filter':true, 'k-active': hasFilters}"
11052
+ [ngClass]="{'k-grid-filter-menu':true, 'k-grid-header-menu':true, 'k-active': hasFilters}"
11033
11053
  [tabindex]="tabIndex"
11034
11054
  (click)="toggle(anchor, template)"
11035
11055
  (keydown.enter)="$event.stopImmediatePropagation()"
@@ -11054,7 +11074,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
11054
11074
  selector: 'kendo-grid-filter-menu',
11055
11075
  template: `
11056
11076
  <a #anchor
11057
- [ngClass]="{'k-grid-filter':true, 'k-active': hasFilters}"
11077
+ [ngClass]="{'k-grid-filter-menu':true, 'k-grid-header-menu':true, 'k-active': hasFilters}"
11058
11078
  [tabindex]="tabIndex"
11059
11079
  (click)="toggle(anchor, template)"
11060
11080
  (keydown.enter)="$event.stopImmediatePropagation()"
@@ -12631,7 +12651,7 @@ ColumnMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
12631
12651
  MenuTabbingService
12632
12652
  ], viewQueries: [{ propertyName: "anchor", first: true, predicate: ["anchor"], descendants: true, static: true }, { propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef, static: true }], usesOnChanges: true, ngImport: i0, template: `
12633
12653
  <a #anchor
12634
- class="k-grid-column-menu k-grid-filter"
12654
+ class="k-grid-header-menu k-grid-column-menu"
12635
12655
  [ngClass]="{ 'k-active': isActive }"
12636
12656
  (click)="toggle($event, anchor, template)"
12637
12657
  (keydown.enter)="$event.stopImmediatePropagation()"
@@ -12692,7 +12712,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
12692
12712
  selector: 'kendo-grid-column-menu',
12693
12713
  template: `
12694
12714
  <a #anchor
12695
- class="k-grid-column-menu k-grid-filter"
12715
+ class="k-grid-header-menu k-grid-column-menu"
12696
12716
  [ngClass]="{ 'k-active': isActive }"
12697
12717
  (click)="toggle($event, anchor, template)"
12698
12718
  (keydown.enter)="$event.stopImmediatePropagation()"
@@ -14601,6 +14621,7 @@ HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
14601
14621
  role="columnheader"
14602
14622
  aria-selected="false"
14603
14623
  [attr.aria-sort]="sortState(getColumnComponent(column))"
14624
+ [class.k-sorted]="!!sortState(getColumnComponent(column))"
14604
14625
  (keydown)="onHeaderKeydown(getColumnComponent(column), $event)"
14605
14626
  kendoDropTarget
14606
14627
  kendoDraggable
@@ -14623,31 +14644,37 @@ HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
14623
14644
  [attr.colspan]="column.colspan">
14624
14645
 
14625
14646
  <ng-container *ngIf="!isSortable(getColumnComponent(column))">
14626
- <kendo-grid-filter-menu
14627
- *ngIf="showFilterMenu && isFilterable(getColumnComponent(column))"
14628
- [column]="getColumnComponent(column)"
14629
- [filter]="filter"
14630
- [tabIndex]="tabIndex">
14631
- </kendo-grid-filter-menu>
14632
- <kendo-grid-column-menu *ngIf="showColumnMenu(column)"
14633
- [standalone]="false"
14634
- [settings]="columnMenuSettings"
14635
- [column]="column"
14636
- [columnMenuTemplate]="columnMenuTemplate"
14637
- [sort]="sort"
14638
- [filter]="filter"
14639
- [sortable]="sortable"
14640
- [tabIndex]="tabIndex">
14641
- </kendo-grid-column-menu>
14642
- <ng-template
14643
- [templateContext]="{
14644
- templateRef: column.headerTemplateRef,
14645
- columnIndex: column.leafIndex,
14646
- column: column,
14647
- $implicit: column
14648
- }">
14649
- </ng-template>
14650
- <ng-container *ngIf="!column.headerTemplateRef">{{column.displayTitle}}</ng-container>
14647
+ <span class="k-cell-inner">
14648
+ <span class="k-link">
14649
+ <ng-template
14650
+ [templateContext]="{
14651
+ templateRef: column.headerTemplateRef,
14652
+ columnIndex: column.leafIndex,
14653
+ column: column,
14654
+ $implicit: column
14655
+ }">
14656
+ </ng-template>
14657
+ <ng-container *ngIf="!column.headerTemplateRef">
14658
+ <span class="k-column-title">{{column.displayTitle}}</span>
14659
+ </ng-container>
14660
+ </span>
14661
+ <kendo-grid-filter-menu
14662
+ *ngIf="showFilterMenu && isFilterable(getColumnComponent(column))"
14663
+ [column]="getColumnComponent(column)"
14664
+ [filter]="filter"
14665
+ [tabIndex]="tabIndex">
14666
+ </kendo-grid-filter-menu>
14667
+ <kendo-grid-column-menu *ngIf="showColumnMenu(column)"
14668
+ [standalone]="false"
14669
+ [settings]="columnMenuSettings"
14670
+ [column]="column"
14671
+ [columnMenuTemplate]="columnMenuTemplate"
14672
+ [sort]="sort"
14673
+ [filter]="filter"
14674
+ [sortable]="sortable"
14675
+ [tabIndex]="tabIndex">
14676
+ </kendo-grid-column-menu>
14677
+ </span>
14651
14678
  </ng-container>
14652
14679
 
14653
14680
  <ng-container *ngIf="isSortable(getColumnComponent(column))">
@@ -14732,28 +14759,34 @@ HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
14732
14759
  [ngStyle]="column.headerStyle"
14733
14760
  [attr.rowspan]="column.rowspan(totalColumnLevels)"
14734
14761
  [attr.colspan]="column.colspan">
14762
+ <span class="k-cell-inner">
14763
+ <span class="k-link">
14764
+ <ng-template
14765
+ [templateContext]="{
14766
+ templateRef: column.headerTemplateRef,
14767
+ columnIndex: lockedColumnsCount + columnIndex,
14768
+ column: column,
14769
+ $implicit: column
14770
+ }">
14771
+ </ng-template>
14772
+ <ng-container *ngIf="!column.headerTemplateRef">
14773
+ <span class="k-column-title">{{column.displayTitle}}</span>
14774
+ </ng-container>
14775
+ </span>
14735
14776
  <kendo-grid-column-menu *ngIf="showColumnMenu(column)"
14736
14777
  [standalone]="false"
14737
14778
  [settings]="columnMenuSettings"
14738
14779
  [column]="column"
14739
14780
  [columnMenuTemplate]="columnMenuTemplate">
14740
14781
  </kendo-grid-column-menu>
14741
- <ng-template
14742
- [templateContext]="{
14743
- templateRef: column.headerTemplateRef,
14744
- columnIndex: lockedColumnsCount + columnIndex,
14745
- column: column,
14746
- $implicit: column
14747
- }">
14748
- </ng-template>
14749
- <ng-container *ngIf="!column.headerTemplateRef">{{column.displayTitle}}</ng-container>
14750
- <span kendoGridColumnHandle
14751
- kendoDraggable
14752
- class="k-column-resizer"
14753
- *ngIf="resizable"
14754
- [column]="column"
14755
- [columns]="columns">
14756
- </span>
14782
+ </span>
14783
+ <span kendoGridColumnHandle
14784
+ kendoDraggable
14785
+ class="k-column-resizer"
14786
+ *ngIf="resizable"
14787
+ [column]="column"
14788
+ [columns]="columns">
14789
+ </span>
14757
14790
  </th>
14758
14791
  </ng-container>
14759
14792
  </tr>
@@ -14809,6 +14842,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
14809
14842
  role="columnheader"
14810
14843
  aria-selected="false"
14811
14844
  [attr.aria-sort]="sortState(getColumnComponent(column))"
14845
+ [class.k-sorted]="!!sortState(getColumnComponent(column))"
14812
14846
  (keydown)="onHeaderKeydown(getColumnComponent(column), $event)"
14813
14847
  kendoDropTarget
14814
14848
  kendoDraggable
@@ -14831,31 +14865,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
14831
14865
  [attr.colspan]="column.colspan">
14832
14866
 
14833
14867
  <ng-container *ngIf="!isSortable(getColumnComponent(column))">
14834
- <kendo-grid-filter-menu
14835
- *ngIf="showFilterMenu && isFilterable(getColumnComponent(column))"
14836
- [column]="getColumnComponent(column)"
14837
- [filter]="filter"
14838
- [tabIndex]="tabIndex">
14839
- </kendo-grid-filter-menu>
14840
- <kendo-grid-column-menu *ngIf="showColumnMenu(column)"
14841
- [standalone]="false"
14842
- [settings]="columnMenuSettings"
14843
- [column]="column"
14844
- [columnMenuTemplate]="columnMenuTemplate"
14845
- [sort]="sort"
14846
- [filter]="filter"
14847
- [sortable]="sortable"
14848
- [tabIndex]="tabIndex">
14849
- </kendo-grid-column-menu>
14850
- <ng-template
14851
- [templateContext]="{
14852
- templateRef: column.headerTemplateRef,
14853
- columnIndex: column.leafIndex,
14854
- column: column,
14855
- $implicit: column
14856
- }">
14857
- </ng-template>
14858
- <ng-container *ngIf="!column.headerTemplateRef">{{column.displayTitle}}</ng-container>
14868
+ <span class="k-cell-inner">
14869
+ <span class="k-link">
14870
+ <ng-template
14871
+ [templateContext]="{
14872
+ templateRef: column.headerTemplateRef,
14873
+ columnIndex: column.leafIndex,
14874
+ column: column,
14875
+ $implicit: column
14876
+ }">
14877
+ </ng-template>
14878
+ <ng-container *ngIf="!column.headerTemplateRef">
14879
+ <span class="k-column-title">{{column.displayTitle}}</span>
14880
+ </ng-container>
14881
+ </span>
14882
+ <kendo-grid-filter-menu
14883
+ *ngIf="showFilterMenu && isFilterable(getColumnComponent(column))"
14884
+ [column]="getColumnComponent(column)"
14885
+ [filter]="filter"
14886
+ [tabIndex]="tabIndex">
14887
+ </kendo-grid-filter-menu>
14888
+ <kendo-grid-column-menu *ngIf="showColumnMenu(column)"
14889
+ [standalone]="false"
14890
+ [settings]="columnMenuSettings"
14891
+ [column]="column"
14892
+ [columnMenuTemplate]="columnMenuTemplate"
14893
+ [sort]="sort"
14894
+ [filter]="filter"
14895
+ [sortable]="sortable"
14896
+ [tabIndex]="tabIndex">
14897
+ </kendo-grid-column-menu>
14898
+ </span>
14859
14899
  </ng-container>
14860
14900
 
14861
14901
  <ng-container *ngIf="isSortable(getColumnComponent(column))">
@@ -14940,28 +14980,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
14940
14980
  [ngStyle]="column.headerStyle"
14941
14981
  [attr.rowspan]="column.rowspan(totalColumnLevels)"
14942
14982
  [attr.colspan]="column.colspan">
14983
+ <span class="k-cell-inner">
14984
+ <span class="k-link">
14985
+ <ng-template
14986
+ [templateContext]="{
14987
+ templateRef: column.headerTemplateRef,
14988
+ columnIndex: lockedColumnsCount + columnIndex,
14989
+ column: column,
14990
+ $implicit: column
14991
+ }">
14992
+ </ng-template>
14993
+ <ng-container *ngIf="!column.headerTemplateRef">
14994
+ <span class="k-column-title">{{column.displayTitle}}</span>
14995
+ </ng-container>
14996
+ </span>
14943
14997
  <kendo-grid-column-menu *ngIf="showColumnMenu(column)"
14944
14998
  [standalone]="false"
14945
14999
  [settings]="columnMenuSettings"
14946
15000
  [column]="column"
14947
15001
  [columnMenuTemplate]="columnMenuTemplate">
14948
15002
  </kendo-grid-column-menu>
14949
- <ng-template
14950
- [templateContext]="{
14951
- templateRef: column.headerTemplateRef,
14952
- columnIndex: lockedColumnsCount + columnIndex,
14953
- column: column,
14954
- $implicit: column
14955
- }">
14956
- </ng-template>
14957
- <ng-container *ngIf="!column.headerTemplateRef">{{column.displayTitle}}</ng-container>
14958
- <span kendoGridColumnHandle
14959
- kendoDraggable
14960
- class="k-column-resizer"
14961
- *ngIf="resizable"
14962
- [column]="column"
14963
- [columns]="columns">
14964
- </span>
15003
+ </span>
15004
+ <span kendoGridColumnHandle
15005
+ kendoDraggable
15006
+ class="k-column-resizer"
15007
+ *ngIf="resizable"
15008
+ [column]="column"
15009
+ [columns]="columns">
15010
+ </span>
14965
15011
  </th>
14966
15012
  </ng-container>
14967
15013
  </tr>
@@ -16325,7 +16371,7 @@ class TableBodyComponent {
16325
16371
  TableBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TableBodyComponent, deps: [{ token: DetailsService }, { token: GroupsService }, { token: ChangeNotificationService }, { token: EditService }, { token: i1.LocalizationService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: DomEventsService }, { token: SelectionService }, { token: CellSelectionService }, { token: ColumnInfoService }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
16326
16372
  TableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TableBodyComponent, selector: "[kendoGridTableBody]", inputs: { columns: "columns", allColumns: "allColumns", groups: "groups", detailTemplate: "detailTemplate", noRecordsTemplate: "noRecordsTemplate", data: "data", skip: "skip", selectable: "selectable", filterable: "filterable", noRecordsText: "noRecordsText", isLocked: "isLocked", isLoading: "isLoading", isVirtual: "isVirtual", cellLoadingTemplate: "cellLoadingTemplate", skipGroupDecoration: "skipGroupDecoration", showGroupFooters: "showGroupFooters", lockedColumnsCount: "lockedColumnsCount", totalColumnsCount: "totalColumnsCount", virtualColumns: "virtualColumns", trackBy: "trackBy", rowSticky: "rowSticky", rowClass: "rowClass" }, usesOnChanges: true, ngImport: i0, template: `
16327
16373
  <ng-container *ngIf="editService.hasNewItem">
16328
- <tr class="k-grid-add-row k-grid-edit-row"
16374
+ <tr class="k-grid-add-row k-grid-edit-row k-master-row"
16329
16375
  kendoGridLogicalRow
16330
16376
  [logicalRowIndex]="addRowLogicalIndex()"
16331
16377
  [logicalSlaveRow]="lockedColumnsCount > 0"
@@ -16406,7 +16452,7 @@ TableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
16406
16452
  [class.k-grid-row-sticky]="rowSticky ? rowSticky({ dataItem: item.data, index: $any(item).index }) : false"
16407
16453
  [ngClass]="rowClass({ dataItem: item.data, index: $any(item).index })"
16408
16454
  [class.k-alt]="isOdd(item)"
16409
- [class.k-master-row]="detailTemplate?.templateRef"
16455
+ [class.k-master-row]="true"
16410
16456
  [class.k-grid-edit-row]="isEditingRow($any(item).index)"
16411
16457
  [attr.data-kendo-grid-item-index]="$any(item).index"
16412
16458
  [class.k-selected]="isSelectable() && isRowSelected(item)">
@@ -16544,7 +16590,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
16544
16590
  selector: '[kendoGridTableBody]',
16545
16591
  template: `
16546
16592
  <ng-container *ngIf="editService.hasNewItem">
16547
- <tr class="k-grid-add-row k-grid-edit-row"
16593
+ <tr class="k-grid-add-row k-grid-edit-row k-master-row"
16548
16594
  kendoGridLogicalRow
16549
16595
  [logicalRowIndex]="addRowLogicalIndex()"
16550
16596
  [logicalSlaveRow]="lockedColumnsCount > 0"
@@ -16625,7 +16671,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
16625
16671
  [class.k-grid-row-sticky]="rowSticky ? rowSticky({ dataItem: item.data, index: $any(item).index }) : false"
16626
16672
  [ngClass]="rowClass({ dataItem: item.data, index: $any(item).index })"
16627
16673
  [class.k-alt]="isOdd(item)"
16628
- [class.k-master-row]="detailTemplate?.templateRef"
16674
+ [class.k-master-row]="true"
16629
16675
  [class.k-grid-edit-row]="isEditingRow($any(item).index)"
16630
16676
  [attr.data-kendo-grid-item-index]="$any(item).index"
16631
16677
  [class.k-selected]="isSelectable() && isRowSelected(item)">
@@ -17054,6 +17100,7 @@ class ListComponent {
17054
17100
  this.selectable = false;
17055
17101
  this.groupable = false;
17056
17102
  this.trackBy = defaultTrackBy;
17103
+ this.sort = new Array();
17057
17104
  this.contentScroll = new EventEmitter();
17058
17105
  this.pageChange = new EventEmitter();
17059
17106
  this.scrollBottom = new EventEmitter();
@@ -17507,7 +17554,7 @@ class ListComponent {
17507
17554
  }
17508
17555
  }
17509
17556
  ListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ListComponent, deps: [{ token: SCROLLER_FACTORY_TOKEN }, { token: DetailsService }, { token: ChangeNotificationService }, { token: SuspendService }, { token: GroupsService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: ScrollSyncService }, { token: ResizeService }, { token: EditService }, { token: BrowserSupportService }, { token: NavigationService }, { token: ScrollRequestService }, { token: i1.LocalizationService }, { token: ColumnResizingService }, { token: i0.ChangeDetectorRef }, { token: PDFService }, { token: ColumnInfoService }], target: i0.ɵɵFactoryTarget.Component });
17510
- ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ListComponent, selector: "kendo-grid-list", inputs: { data: "data", groups: "groups", total: "total", rowHeight: "rowHeight", stickyRowHeight: "stickyRowHeight", detailRowHeight: "detailRowHeight", take: "take", skip: "skip", columns: "columns", detailTemplate: "detailTemplate", noRecordsTemplate: "noRecordsTemplate", selectable: "selectable", groupable: "groupable", filterable: "filterable", rowClass: "rowClass", rowSticky: "rowSticky", loading: "loading", trackBy: "trackBy", virtualColumns: "virtualColumns", isVirtual: "isVirtual", cellLoadingTemplate: "cellLoadingTemplate", loadingTemplate: "loadingTemplate" }, outputs: { contentScroll: "contentScroll", pageChange: "pageChange", scrollBottom: "scrollBottom" }, host: { properties: { "class.k-grid-container": "this.hostClass", "attr.role": "this.hostRole" } }, providers: [
17557
+ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ListComponent, selector: "kendo-grid-list", inputs: { data: "data", groups: "groups", total: "total", rowHeight: "rowHeight", stickyRowHeight: "stickyRowHeight", detailRowHeight: "detailRowHeight", take: "take", skip: "skip", columns: "columns", detailTemplate: "detailTemplate", noRecordsTemplate: "noRecordsTemplate", selectable: "selectable", groupable: "groupable", filterable: "filterable", rowClass: "rowClass", rowSticky: "rowSticky", loading: "loading", trackBy: "trackBy", virtualColumns: "virtualColumns", isVirtual: "isVirtual", cellLoadingTemplate: "cellLoadingTemplate", loadingTemplate: "loadingTemplate", sort: "sort" }, outputs: { contentScroll: "contentScroll", pageChange: "pageChange", scrollBottom: "scrollBottom" }, host: { properties: { "class.k-grid-container": "this.hostClass", "attr.role": "this.hostRole" } }, providers: [
17511
17558
  {
17512
17559
  provide: SCROLLER_FACTORY_TOKEN,
17513
17560
  useValue: DEFAULT_SCROLLER_FACTORY
@@ -17529,7 +17576,8 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
17529
17576
  role="presentation"
17530
17577
  [groups]="groups"
17531
17578
  [columns]="$any(lockedLeafColumns)"
17532
- [detailTemplate]="detailTemplate">
17579
+ [detailTemplate]="detailTemplate"
17580
+ [sort]="sort">
17533
17581
  </colgroup>
17534
17582
  <tbody kendoGridTableBody
17535
17583
  role="presentation"
@@ -17568,7 +17616,8 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
17568
17616
  role="presentation"
17569
17617
  [groups]="isLocked ? [] : groups"
17570
17618
  [columns]="$any(nonLockedColumnsToRender)"
17571
- [detailTemplate]="detailTemplate">
17619
+ [detailTemplate]="detailTemplate"
17620
+ [sort]="sort">
17572
17621
  </colgroup>
17573
17622
  <tbody kendoGridTableBody
17574
17623
  role="presentation"
@@ -17604,7 +17653,7 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
17604
17653
  <div [style.width.px]="totalWidth"></div>
17605
17654
  </div>
17606
17655
  </div>
17607
- `, isInline: true, components: [{ type: ColGroupComponent, selector: "[kendoGridColGroup]", inputs: ["columns", "groups", "detailTemplate"] }, { type: TableBodyComponent, selector: "[kendoGridTableBody]", inputs: ["columns", "allColumns", "groups", "detailTemplate", "noRecordsTemplate", "data", "skip", "selectable", "filterable", "noRecordsText", "isLocked", "isLoading", "isVirtual", "cellLoadingTemplate", "skipGroupDecoration", "showGroupFooters", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "trackBy", "rowSticky", "rowClass"] }, { type: i1$1.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: TableDirective, selector: "table", inputs: ["locked", "virtualColumns"] }, { type: ResizableContainerDirective, selector: "[kendoGridResizableContainer]", inputs: ["lockedWidth", "kendoGridResizableContainer"] }] });
17656
+ `, isInline: true, components: [{ type: ColGroupComponent, selector: "[kendoGridColGroup]", inputs: ["columns", "groups", "detailTemplate", "sort"] }, { type: TableBodyComponent, selector: "[kendoGridTableBody]", inputs: ["columns", "allColumns", "groups", "detailTemplate", "noRecordsTemplate", "data", "skip", "selectable", "filterable", "noRecordsText", "isLocked", "isLoading", "isVirtual", "cellLoadingTemplate", "skipGroupDecoration", "showGroupFooters", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "trackBy", "rowSticky", "rowClass"] }, { type: i1$1.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: TableDirective, selector: "table", inputs: ["locked", "virtualColumns"] }, { type: ResizableContainerDirective, selector: "[kendoGridResizableContainer]", inputs: ["lockedWidth", "kendoGridResizableContainer"] }] });
17608
17657
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ListComponent, decorators: [{
17609
17658
  type: Component,
17610
17659
  args: [{
@@ -17632,7 +17681,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
17632
17681
  role="presentation"
17633
17682
  [groups]="groups"
17634
17683
  [columns]="$any(lockedLeafColumns)"
17635
- [detailTemplate]="detailTemplate">
17684
+ [detailTemplate]="detailTemplate"
17685
+ [sort]="sort">
17636
17686
  </colgroup>
17637
17687
  <tbody kendoGridTableBody
17638
17688
  role="presentation"
@@ -17671,7 +17721,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
17671
17721
  role="presentation"
17672
17722
  [groups]="isLocked ? [] : groups"
17673
17723
  [columns]="$any(nonLockedColumnsToRender)"
17674
- [detailTemplate]="detailTemplate">
17724
+ [detailTemplate]="detailTemplate"
17725
+ [sort]="sort">
17675
17726
  </colgroup>
17676
17727
  <tbody kendoGridTableBody
17677
17728
  role="presentation"
@@ -17762,6 +17813,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
17762
17813
  type: Input
17763
17814
  }], loadingTemplate: [{
17764
17815
  type: Input
17816
+ }], sort: [{
17817
+ type: Input
17765
17818
  }], contentScroll: [{
17766
17819
  type: Output
17767
17820
  }], pageChange: [{
@@ -20538,6 +20591,7 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
20538
20591
  kendoDraggable
20539
20592
  kendoGridSelectionMarquee
20540
20593
  [enableDrag]="marqueeSelection"
20594
+ [sort]="sort"
20541
20595
  >
20542
20596
  </kendo-grid-list>
20543
20597
  <div
@@ -20651,7 +20705,7 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
20651
20705
  (pageChange)="notifyPageChange('pager', $event)">
20652
20706
  </kendo-pager>
20653
20707
  <kendo-grid-toolbar class="k-toolbar k-grid-toolbar k-grid-toolbar-bottom" *ngIf="showBottomToolbar" position="bottom"></kendo-grid-toolbar>
20654
- `, isInline: true, components: [{ type: ToolbarComponent, selector: "kendo-grid-toolbar", inputs: ["position"] }, { type: PagerComponent, selector: "kendo-pager", inputs: ["total", "skip", "pageSize", "options", "template"], outputs: ["pageChange"] }, { type: GroupPanelComponent, selector: "kendo-grid-group-panel", inputs: ["text", "groups"], outputs: ["change"] }, { type: ColGroupComponent, selector: "[kendoGridColGroup]", inputs: ["columns", "groups", "detailTemplate"] }, { type: HeaderComponent, selector: "[kendoGridHeader]", inputs: ["totalColumnLevels", "columns", "groups", "detailTemplate", "scrollable", "filterable", "sort", "filter", "sortable", "groupable", "lockedColumnsCount", "resizable", "reorderable", "columnMenu", "columnMenuTemplate", "totalColumnsCount", "tabIndex"] }, { type: ListComponent, selector: "kendo-grid-list", inputs: ["data", "groups", "total", "rowHeight", "stickyRowHeight", "detailRowHeight", "take", "skip", "columns", "detailTemplate", "noRecordsTemplate", "selectable", "groupable", "filterable", "rowClass", "rowSticky", "loading", "trackBy", "virtualColumns", "isVirtual", "cellLoadingTemplate", "loadingTemplate"], outputs: ["contentScroll", "pageChange", "scrollBottom"] }, { type: FooterComponent, selector: "[kendoGridFooter]", inputs: ["columns", "groups", "detailTemplate", "scrollable", "lockedColumnsCount", "logicalRowIndex"] }, { type: TableBodyComponent, selector: "[kendoGridTableBody]", inputs: ["columns", "allColumns", "groups", "detailTemplate", "noRecordsTemplate", "data", "skip", "selectable", "filterable", "noRecordsText", "isLocked", "isLoading", "isVirtual", "cellLoadingTemplate", "skipGroupDecoration", "showGroupFooters", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "trackBy", "rowSticky", "rowClass"] }, { type: LoadingComponent, selector: "[kendoGridLoading]", inputs: ["loadingTemplate"] }], directives: [{ type: LocalizedMessagesDirective, selector: "[kendoGridLocalizedMessages]" }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TableDirective, selector: "table", inputs: ["locked", "virtualColumns"] }, { type: ResizableContainerDirective, selector: "[kendoGridResizableContainer]", inputs: ["lockedWidth", "kendoGridResizableContainer"] }, { type: i1$1.DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { type: GridMarqueeDirective, selector: "[kendoGridSelectionMarquee]" }], encapsulation: i0.ViewEncapsulation.None });
20708
+ `, isInline: true, components: [{ type: ToolbarComponent, selector: "kendo-grid-toolbar", inputs: ["position"] }, { type: PagerComponent, selector: "kendo-pager", inputs: ["total", "skip", "pageSize", "options", "template"], outputs: ["pageChange"] }, { type: GroupPanelComponent, selector: "kendo-grid-group-panel", inputs: ["text", "groups"], outputs: ["change"] }, { type: ColGroupComponent, selector: "[kendoGridColGroup]", inputs: ["columns", "groups", "detailTemplate", "sort"] }, { type: HeaderComponent, selector: "[kendoGridHeader]", inputs: ["totalColumnLevels", "columns", "groups", "detailTemplate", "scrollable", "filterable", "sort", "filter", "sortable", "groupable", "lockedColumnsCount", "resizable", "reorderable", "columnMenu", "columnMenuTemplate", "totalColumnsCount", "tabIndex"] }, { type: ListComponent, selector: "kendo-grid-list", inputs: ["data", "groups", "total", "rowHeight", "stickyRowHeight", "detailRowHeight", "take", "skip", "columns", "detailTemplate", "noRecordsTemplate", "selectable", "groupable", "filterable", "rowClass", "rowSticky", "loading", "trackBy", "virtualColumns", "isVirtual", "cellLoadingTemplate", "loadingTemplate", "sort"], outputs: ["contentScroll", "pageChange", "scrollBottom"] }, { type: FooterComponent, selector: "[kendoGridFooter]", inputs: ["columns", "groups", "detailTemplate", "scrollable", "lockedColumnsCount", "logicalRowIndex"] }, { type: TableBodyComponent, selector: "[kendoGridTableBody]", inputs: ["columns", "allColumns", "groups", "detailTemplate", "noRecordsTemplate", "data", "skip", "selectable", "filterable", "noRecordsText", "isLocked", "isLoading", "isVirtual", "cellLoadingTemplate", "skipGroupDecoration", "showGroupFooters", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "trackBy", "rowSticky", "rowClass"] }, { type: LoadingComponent, selector: "[kendoGridLoading]", inputs: ["loadingTemplate"] }], directives: [{ type: LocalizedMessagesDirective, selector: "[kendoGridLocalizedMessages]" }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TableDirective, selector: "table", inputs: ["locked", "virtualColumns"] }, { type: ResizableContainerDirective, selector: "[kendoGridResizableContainer]", inputs: ["lockedWidth", "kendoGridResizableContainer"] }, { type: i1$1.DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { type: GridMarqueeDirective, selector: "[kendoGridSelectionMarquee]" }], encapsulation: i0.ViewEncapsulation.None });
20655
20709
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: GridComponent, decorators: [{
20656
20710
  type: Component,
20657
20711
  args: [{
@@ -21035,6 +21089,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
21035
21089
  kendoDraggable
21036
21090
  kendoGridSelectionMarquee
21037
21091
  [enableDrag]="marqueeSelection"
21092
+ [sort]="sort"
21038
21093
  >
21039
21094
  </kendo-grid-list>
21040
21095
  <div
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-grid",
3
- "version": "7.3.0-dev.202208190713",
3
+ "version": "7.3.1-dev.202209121009",
4
4
  "description": "Kendo UI Grid for Angular - high performance data grid with paging, filtering, virtualization, CRUD, and more.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -45,7 +45,7 @@
45
45
  "@progress/kendo-angular-dateinputs": "^7.0.0",
46
46
  "@progress/kendo-angular-dropdowns": "^7.0.0",
47
47
  "@progress/kendo-angular-excel-export": "^5.0.0",
48
- "@progress/kendo-angular-inputs": "^9.0.0",
48
+ "@progress/kendo-angular-inputs": "9 - 10",
49
49
  "@progress/kendo-angular-intl": "^4.0.0",
50
50
  "@progress/kendo-angular-l10n": "^4.0.0",
51
51
  "@progress/kendo-angular-label": "^4.0.0",
@@ -2,7 +2,7 @@
2
2
  * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { GroupDescriptor } from '@progress/kendo-data-query';
5
+ import { GroupDescriptor, SortDescriptor } from '@progress/kendo-data-query';
6
6
  import { ColumnComponent } from '../../columns/column.component';
7
7
  import { DetailTemplateDirective } from '../details/detail-template.directive';
8
8
  import { ColumnBase } from "../../columns/column-base";
@@ -14,8 +14,13 @@ export declare class ColGroupComponent {
14
14
  columns: Array<ColumnComponent>;
15
15
  groups: Array<GroupDescriptor>;
16
16
  detailTemplate: DetailTemplateDirective;
17
+ sort: Array<SortDescriptor>;
17
18
  get columnsToRender(): Array<ColumnBase>;
18
19
  trackBy(index: number, _item: any): any;
20
+ isSorted(column: ColumnComponent): boolean;
21
+ getColumnComponent(column: ColumnBase): ColumnComponent;
22
+ private isSortable;
23
+ private sortDescriptor;
19
24
  static ɵfac: i0.ɵɵFactoryDeclaration<ColGroupComponent, never>;
20
- static ɵcmp: i0.ɵɵComponentDeclaration<ColGroupComponent, "[kendoGridColGroup]", never, { "columns": "columns"; "groups": "groups"; "detailTemplate": "detailTemplate"; }, {}, never, never>;
25
+ static ɵcmp: i0.ɵɵComponentDeclaration<ColGroupComponent, "[kendoGridColGroup]", never, { "columns": "columns"; "groups": "groups"; "detailTemplate": "detailTemplate"; "sort": "sort"; }, {}, never, never>;
21
26
  }
@@ -11,7 +11,7 @@ import { ColumnBase } from '../columns/column-base';
11
11
  import { DetailTemplateDirective } from './details/detail-template.directive';
12
12
  import { DetailsService } from './details/details.service';
13
13
  import { ColumnsContainer } from '../columns/columns-container';
14
- import { GroupDescriptor } from '@progress/kendo-data-query';
14
+ import { GroupDescriptor, SortDescriptor } from '@progress/kendo-data-query';
15
15
  import { GroupableSettings } from '../grouping/group-settings';
16
16
  import { ChangeNotificationService } from '../data/change-notification.service';
17
17
  import { NoRecordsTemplateDirective } from './no-records-template.directive';
@@ -82,6 +82,7 @@ export declare class ListComponent implements OnInit, OnDestroy, AfterViewInit,
82
82
  isVirtual: boolean;
83
83
  cellLoadingTemplate: TemplateRef<any>;
84
84
  loadingTemplate: TemplateRef<any>;
85
+ sort: Array<SortDescriptor>;
85
86
  contentScroll: EventEmitter<any>;
86
87
  pageChange: EventEmitter<Action>;
87
88
  scrollBottom: EventEmitter<void>;
@@ -152,5 +153,5 @@ export declare class ListComponent implements OnInit, OnDestroy, AfterViewInit,
152
153
  private normalizeScrollLeft;
153
154
  private elementScrollLeft;
154
155
  static ɵfac: i0.ɵɵFactoryDeclaration<ListComponent, never>;
155
- static ɵcmp: i0.ɵɵComponentDeclaration<ListComponent, "kendo-grid-list", never, { "data": "data"; "groups": "groups"; "total": "total"; "rowHeight": "rowHeight"; "stickyRowHeight": "stickyRowHeight"; "detailRowHeight": "detailRowHeight"; "take": "take"; "skip": "skip"; "columns": "columns"; "detailTemplate": "detailTemplate"; "noRecordsTemplate": "noRecordsTemplate"; "selectable": "selectable"; "groupable": "groupable"; "filterable": "filterable"; "rowClass": "rowClass"; "rowSticky": "rowSticky"; "loading": "loading"; "trackBy": "trackBy"; "virtualColumns": "virtualColumns"; "isVirtual": "isVirtual"; "cellLoadingTemplate": "cellLoadingTemplate"; "loadingTemplate": "loadingTemplate"; }, { "contentScroll": "contentScroll"; "pageChange": "pageChange"; "scrollBottom": "scrollBottom"; }, never, never>;
156
+ static ɵcmp: i0.ɵɵComponentDeclaration<ListComponent, "kendo-grid-list", never, { "data": "data"; "groups": "groups"; "total": "total"; "rowHeight": "rowHeight"; "stickyRowHeight": "stickyRowHeight"; "detailRowHeight": "detailRowHeight"; "take": "take"; "skip": "skip"; "columns": "columns"; "detailTemplate": "detailTemplate"; "noRecordsTemplate": "noRecordsTemplate"; "selectable": "selectable"; "groupable": "groupable"; "filterable": "filterable"; "rowClass": "rowClass"; "rowSticky": "rowSticky"; "loading": "loading"; "trackBy": "trackBy"; "virtualColumns": "virtualColumns"; "isVirtual": "isVirtual"; "cellLoadingTemplate": "cellLoadingTemplate"; "loadingTemplate": "loadingTemplate"; "sort": "sort"; }, { "contentScroll": "contentScroll"; "pageChange": "pageChange"; "scrollBottom": "scrollBottom"; }, never, never>;
156
157
  }
@@ -8,7 +8,9 @@ const schematics_1 = require("@angular-devkit/schematics");
8
8
  function default_1(options) {
9
9
  const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'GridModule', package: 'grid', peerDependencies: {
10
10
  // peer dep of the dropdowns
11
- '@progress/kendo-angular-treeview': '^7.0.0'
11
+ '@progress/kendo-angular-treeview': '^7.0.0',
12
+ // peer dependency of kendo-angular-inputs
13
+ '@progress/kendo-angular-dialog': '^7.0.0'
12
14
  } });
13
15
  return schematics_1.externalSchematic('@progress/kendo-schematics', 'ng-add', finalOptions);
14
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../tooling/schematics/ngAdd/index.ts"],"names":[],"mappings":";;AAAA,2DAKoC;AAEpC,mBAAyB,OAAY;IACjC,MAAM,YAAY,mCACX,OAAO,KACV,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE;YACd,4BAA4B;YAC5B,kCAAkC,EAAE,QAAQ;SAC/C,GACJ,CAAC;IAEF,OAAO,8BAAiB,CAAC,4BAA4B,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;AACnF,CAAC;AAZD,4BAYC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../tooling/schematics/ngAdd/index.ts"],"names":[],"mappings":";;AAAA,2DAKoC;AAEpC,mBAAyB,OAAY;IACjC,MAAM,YAAY,mCACX,OAAO,KACV,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE;YACd,4BAA4B;YAC5B,kCAAkC,EAAE,QAAQ;YAE5C,0CAA0C;YAC1C,gCAAgC,EAAE,QAAQ;SAC7C,GACJ,CAAC;IAEF,OAAO,8BAAiB,CAAC,4BAA4B,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;AACnF,CAAC;AAfD,4BAeC"}