@clr/angular 16.5.3 → 16.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13467,6 +13467,19 @@ var ClrDatagridSortOrder;
13467
13467
  ClrDatagridSortOrder[ClrDatagridSortOrder["DESC"] = -1] = "DESC";
13468
13468
  })(ClrDatagridSortOrder || (ClrDatagridSortOrder = {}));
13469
13469
 
13470
+ /*
13471
+ * Copyright (c) 2016-2024 Broadcom. All Rights Reserved.
13472
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
13473
+ * This software is released under MIT license.
13474
+ * The full license information can be found in LICENSE in the root directory of this project.
13475
+ */
13476
+ // @TODO The top two are not used now, which is probably a performance drag that was broken along the way.
13477
+ // There was a previous pattern to hide everything to do computation then display, for Firefox, needs revisiting.
13478
+ const NO_LAYOUT_CLASS = 'datagrid-no-layout';
13479
+ const COMPUTE_WIDTH_CLASS = 'datagrid-computing-columns-width';
13480
+ const STRICT_WIDTH_CLASS = 'datagrid-fixed-width';
13481
+ const HIDDEN_COLUMN_CLASS = 'datagrid-hidden-column';
13482
+
13470
13483
  /*
13471
13484
  * Copyright (c) 2016-2024 Broadcom. All Rights Reserved.
13472
13485
  * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
@@ -13905,15 +13918,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
13905
13918
  * The full license information can be found in LICENSE in the root directory of this project.
13906
13919
  */
13907
13920
  class ClrDatagridColumn extends DatagridFilterRegistrar {
13908
- constructor(_sort, filters, vcr, detailService, changeDetectorRef) {
13921
+ constructor(el, _sort, filters, vcr, detailService, changeDetectorRef) {
13909
13922
  super(filters);
13923
+ this.el = el;
13910
13924
  this._sort = _sort;
13911
13925
  this.vcr = vcr;
13912
13926
  this.detailService = detailService;
13913
13927
  this.changeDetectorRef = changeDetectorRef;
13914
13928
  this.sortOrderChange = new EventEmitter();
13915
13929
  this.filterValueChange = new EventEmitter();
13916
- this.showSeparator = true;
13917
13930
  /**
13918
13931
  * A custom filter for this column that can be provided in the projected content
13919
13932
  */
@@ -13932,9 +13945,20 @@ class ClrDatagridColumn extends DatagridFilterRegistrar {
13932
13945
  * Subscription to the sort service changes
13933
13946
  */
13934
13947
  this.subscriptions = [];
13948
+ this._showSeparator = true;
13935
13949
  this.subscriptions.push(this.listenForSortingChanges());
13936
13950
  this.subscriptions.push(this.listenForDetailPaneChanges());
13937
13951
  }
13952
+ get isHidden() {
13953
+ return this.el.nativeElement.classList.contains(HIDDEN_COLUMN_CLASS);
13954
+ }
13955
+ get showSeparator() {
13956
+ return this._showSeparator;
13957
+ }
13958
+ set showSeparator(value) {
13959
+ this._showSeparator = value;
13960
+ this.changeDetectorRef.markForCheck();
13961
+ }
13938
13962
  // TODO: We might want to make this an enum in the future
13939
13963
  get colType() {
13940
13964
  return this._colType;
@@ -14110,8 +14134,6 @@ class ClrDatagridColumn extends DatagridFilterRegistrar {
14110
14134
  return this.detailService.stateChange.subscribe(state => {
14111
14135
  if (this.showSeparator !== !state) {
14112
14136
  this.showSeparator = !state;
14113
- // Have to manually change because of OnPush
14114
- this.changeDetectorRef.markForCheck();
14115
14137
  }
14116
14138
  });
14117
14139
  }
@@ -14144,7 +14166,7 @@ class ClrDatagridColumn extends DatagridFilterRegistrar {
14144
14166
  }
14145
14167
  }
14146
14168
  }
14147
- ClrDatagridColumn.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrDatagridColumn, deps: [{ token: Sort }, { token: FiltersProvider }, { token: i0.ViewContainerRef }, { token: DetailService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
14169
+ ClrDatagridColumn.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrDatagridColumn, deps: [{ token: i0.ElementRef }, { token: Sort }, { token: FiltersProvider }, { token: i0.ViewContainerRef }, { token: DetailService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
14148
14170
  ClrDatagridColumn.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrDatagridColumn, selector: "clr-dg-column", inputs: { filterStringPlaceholder: ["clrFilterStringPlaceholder", "filterStringPlaceholder"], filterNumberMaxPlaceholder: ["clrFilterNumberMaxPlaceholder", "filterNumberMaxPlaceholder"], filterNumberMinPlaceholder: ["clrFilterNumberMinPlaceholder", "filterNumberMinPlaceholder"], colType: ["clrDgColType", "colType"], field: ["clrDgField", "field"], sortBy: ["clrDgSortBy", "sortBy"], sortOrder: ["clrDgSortOrder", "sortOrder"], updateFilterValue: ["clrFilterValue", "updateFilterValue"] }, outputs: { sortOrderChange: "clrDgSortOrderChange", filterValueChange: "clrFilterValueChange" }, host: { attributes: { "role": "columnheader" }, properties: { "class.datagrid-column": "true", "attr.aria-sort": "ariaSort" } }, queries: [{ propertyName: "projectedFilter", first: true, predicate: CustomFilter, descendants: true }], usesInheritance: true, usesOnChanges: true, hostDirectives: [{ directive: ClrPopoverHostDirective }], ngImport: i0, template: `
14149
14171
  <div class="datagrid-column-flex">
14150
14172
  <button class="datagrid-column-title" *ngIf="sortable" (click)="sort()" type="button">
@@ -14239,7 +14261,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
14239
14261
  },
14240
14262
  changeDetection: ChangeDetectionStrategy.OnPush,
14241
14263
  }]
14242
- }], ctorParameters: function () { return [{ type: Sort }, { type: FiltersProvider }, { type: i0.ViewContainerRef }, { type: DetailService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { filterStringPlaceholder: [{
14264
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: Sort }, { type: FiltersProvider }, { type: i0.ViewContainerRef }, { type: DetailService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { filterStringPlaceholder: [{
14243
14265
  type: Input,
14244
14266
  args: ['clrFilterStringPlaceholder']
14245
14267
  }], filterNumberMaxPlaceholder: [{
@@ -15845,19 +15867,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
15845
15867
  type: Injectable
15846
15868
  }], ctorParameters: function () { return [{ type: FiltersProvider }, { type: Sort }, { type: Page }, { type: StateDebouncer }]; } });
15847
15869
 
15848
- /*
15849
- * Copyright (c) 2016-2024 Broadcom. All Rights Reserved.
15850
- * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
15851
- * This software is released under MIT license.
15852
- * The full license information can be found in LICENSE in the root directory of this project.
15853
- */
15854
- // @TODO The top two are not used now, which is probably a performance drag that was broken along the way.
15855
- // There was a previous pattern to hide everything to do computation then display, for Firefox, needs revisiting.
15856
- const NO_LAYOUT_CLASS = 'datagrid-no-layout';
15857
- const COMPUTE_WIDTH_CLASS = 'datagrid-computing-columns-width';
15858
- const STRICT_WIDTH_CLASS = 'datagrid-fixed-width';
15859
- const HIDDEN_COLUMN_CLASS = 'datagrid-hidden-column';
15860
-
15861
15870
  /*
15862
15871
  * Copyright (c) 2016-2024 Broadcom. All Rights Reserved.
15863
15872
  * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
@@ -15958,7 +15967,7 @@ class DatagridRowRenderer {
15958
15967
  }
15959
15968
  }
15960
15969
  DatagridRowRenderer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DatagridRowRenderer, deps: [{ token: ColumnsService }], target: i0.ɵɵFactoryTarget.Directive });
15961
- DatagridRowRenderer.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: DatagridRowRenderer, selector: "clr-dg-row, clr-dg-row-detail", queries: [{ propertyName: "cells", predicate: DatagridCellRenderer }], ngImport: i0 });
15970
+ DatagridRowRenderer.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: DatagridRowRenderer, selector: "clr-dg-row, clr-dg-row-detail", queries: [{ propertyName: "expandableRow", first: true, predicate: i0.forwardRef(function () { return DatagridRowRenderer; }), descendants: true }, { propertyName: "cells", predicate: DatagridCellRenderer }], ngImport: i0 });
15962
15971
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DatagridRowRenderer, decorators: [{
15963
15972
  type: Directive,
15964
15973
  args: [{
@@ -15967,6 +15976,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
15967
15976
  }], ctorParameters: function () { return [{ type: ColumnsService }]; }, propDecorators: { cells: [{
15968
15977
  type: ContentChildren,
15969
15978
  args: [DatagridCellRenderer]
15979
+ }], expandableRow: [{
15980
+ type: ContentChild,
15981
+ args: [forwardRef(() => DatagridRowRenderer)]
15970
15982
  }] } });
15971
15983
 
15972
15984
  /*
@@ -18325,25 +18337,32 @@ class DatagridMainRenderer {
18325
18337
  case DatagridColumnChanges.WIDTH:
18326
18338
  this.headers.get(columnIndex).setWidth(state);
18327
18339
  this.rows.forEach(row => {
18340
+ var _a, _b;
18328
18341
  if ((row === null || row === void 0 ? void 0 : row.cells.length) === this.columnsService.columns.length) {
18329
18342
  row.cells.get(columnIndex).setWidth(state);
18343
+ (_b = (_a = row.expandableRow) === null || _a === void 0 ? void 0 : _a.cells.get(columnIndex)) === null || _b === void 0 ? void 0 : _b.setWidth(state);
18330
18344
  }
18331
18345
  });
18332
18346
  break;
18333
18347
  case DatagridColumnChanges.HIDDEN:
18334
18348
  this.headers.get(columnIndex).setHidden(state);
18335
18349
  this.rows.forEach(row => {
18350
+ var _a, _b;
18336
18351
  if (row.cells && row.cells.length) {
18337
18352
  row.cells.get(columnIndex).setHidden(state);
18353
+ (_b = (_a = row.expandableRow) === null || _a === void 0 ? void 0 : _a.cells.get(columnIndex)) === null || _b === void 0 ? void 0 : _b.setHidden(state);
18338
18354
  }
18339
18355
  });
18356
+ this.updateColumnSeparatorsVisibility();
18340
18357
  this.keyNavigation.resetKeyGrid();
18341
18358
  break;
18342
18359
  case DatagridColumnChanges.INITIALIZE:
18343
18360
  if (state.hideable && state.hidden) {
18344
18361
  this.headers.get(columnIndex).setHidden(state);
18345
18362
  this.rows.forEach(row => {
18363
+ var _a;
18346
18364
  row.setCellsState();
18365
+ (_a = row.expandableRow) === null || _a === void 0 ? void 0 : _a.setCellsState();
18347
18366
  });
18348
18367
  }
18349
18368
  break;
@@ -18378,9 +18397,20 @@ class DatagridMainRenderer {
18378
18397
  return false;
18379
18398
  }
18380
18399
  }
18400
+ updateColumnSeparatorsVisibility() {
18401
+ const visibleColumns = this.datagrid.columns.filter(column => !column.isHidden);
18402
+ visibleColumns.forEach((column, index) => {
18403
+ if (index === visibleColumns.length - 1) {
18404
+ column.showSeparator = false;
18405
+ }
18406
+ else if (!column.showSeparator) {
18407
+ column.showSeparator = true;
18408
+ }
18409
+ });
18410
+ }
18381
18411
  }
18382
18412
  DatagridMainRenderer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DatagridMainRenderer, deps: [{ token: ClrDatagrid }, { token: DatagridRenderOrganizer }, { token: Items }, { token: Page }, { token: DomAdapter }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: DetailService }, { token: TableSizeService }, { token: ColumnsService }, { token: i0.NgZone }, { token: KeyNavigationGridController }], target: i0.ɵɵFactoryTarget.Directive });
18383
- DatagridMainRenderer.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: DatagridMainRenderer, selector: "clr-datagrid", providers: [{ provide: DomAdapter, useFactory: domAdapterFactory, deps: [PLATFORM_ID] }], queries: [{ propertyName: "headers", predicate: DatagridHeaderRenderer }, { propertyName: "rows", predicate: DatagridRowRenderer, descendants: true }], ngImport: i0 });
18413
+ DatagridMainRenderer.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: DatagridMainRenderer, selector: "clr-datagrid", providers: [{ provide: DomAdapter, useFactory: domAdapterFactory, deps: [PLATFORM_ID] }], queries: [{ propertyName: "headers", predicate: DatagridHeaderRenderer }, { propertyName: "rows", predicate: DatagridRowRenderer }], ngImport: i0 });
18384
18414
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DatagridMainRenderer, decorators: [{
18385
18415
  type: Directive,
18386
18416
  args: [{
@@ -18392,7 +18422,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
18392
18422
  args: [DatagridHeaderRenderer]
18393
18423
  }], rows: [{
18394
18424
  type: ContentChildren,
18395
- args: [DatagridRowRenderer, { descendants: true }]
18425
+ args: [DatagridRowRenderer]
18396
18426
  }] } });
18397
18427
 
18398
18428
  /*
@@ -22648,6 +22678,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
22648
22678
  args: [ClrTabContent, { static: true }]
22649
22679
  }] } });
22650
22680
 
22681
+ /*
22682
+ * Copyright (c) 2016-2024 Broadcom. All Rights Reserved.
22683
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
22684
+ * This software is released under MIT license.
22685
+ * The full license information can be found in LICENSE in the root directory of this project.
22686
+ */
22687
+ class ClrTabAction {
22688
+ }
22689
+ ClrTabAction.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrTabAction, deps: [], target: i0.ɵɵFactoryTarget.Directive });
22690
+ ClrTabAction.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: ClrTabAction, selector: "[clrTabAction]", host: { attributes: { "tabindex": "0" } }, ngImport: i0 });
22691
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrTabAction, decorators: [{
22692
+ type: Directive,
22693
+ args: [{
22694
+ selector: '[clrTabAction]',
22695
+ host: {
22696
+ tabindex: '0',
22697
+ },
22698
+ }]
22699
+ }] });
22700
+
22651
22701
  /*
22652
22702
  * Copyright (c) 2016-2024 Broadcom. All Rights Reserved.
22653
22703
  * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
@@ -22732,6 +22782,7 @@ class ClrTabs {
22732
22782
  }
22733
22783
  ngAfterContentInit() {
22734
22784
  this.subscriptions.push(this.listenForTabLinkChanges());
22785
+ this.subscriptions.push(this.listedForTabsActionsChanges());
22735
22786
  if (typeof this.ifActiveService.current === 'undefined' && this.tabLinkDirectives[0]) {
22736
22787
  this.tabLinkDirectives[0].activate();
22737
22788
  }
@@ -22793,7 +22844,10 @@ class ClrTabs {
22793
22844
  // This is because we have another handler on the tabOverflowTrigger element itself.
22794
22845
  // As this handler method is on the document level so the event bubbles up to it and conflicts
22795
22846
  // with the tabOverflowTrigger handler resulting in opening the tab overflow and closing it right away consecutively.
22796
- if (event.target === tabOverflowTrigger || tabOverflowTrigger.contains(event.target)) {
22847
+ const isTabsAction = this.tabsActions.some(action => action.nativeElement.contains(event.target));
22848
+ if (event.target === tabOverflowTrigger ||
22849
+ tabOverflowTrigger.contains(event.target) ||
22850
+ isTabsAction) {
22797
22851
  return;
22798
22852
  }
22799
22853
  // Move current to the last visible focusable item
@@ -22801,15 +22855,24 @@ class ClrTabs {
22801
22855
  this.keyFocus.moveTo(this.overflowPosition - 1);
22802
22856
  }
22803
22857
  }
22858
+ setTabLinkElements() {
22859
+ this._tabLinkDirectives = this.tabs.map(tab => tab.tabLink);
22860
+ this.tabLinkElements = this._tabLinkDirectives.map(tab => tab.el.nativeElement);
22861
+ if (this.tabsActions && this.tabsActions) {
22862
+ this.tabLinkElements.push(...this.tabsActions.map(action => action.nativeElement));
22863
+ }
22864
+ }
22804
22865
  listenForTabLinkChanges() {
22805
- return this.tabs.changes.pipe(startWith(this.tabs.map(tab => tab.tabLink))).subscribe(() => {
22806
- this._tabLinkDirectives = this.tabs.map(tab => tab.tabLink);
22807
- this.tabLinkElements = this._tabLinkDirectives.map(tab => tab.el.nativeElement);
22808
- });
22866
+ return this.tabs.changes
22867
+ .pipe(startWith(this.tabs.map(tab => tab.tabLink)))
22868
+ .subscribe(() => this.setTabLinkElements());
22869
+ }
22870
+ listedForTabsActionsChanges() {
22871
+ return this.tabsActions.changes.subscribe(() => this.setTabLinkElements());
22809
22872
  }
22810
22873
  }
22811
22874
  ClrTabs.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrTabs, deps: [{ token: IfActiveService }, { token: ClrPopoverToggleService }, { token: TabsService }, { token: TABS_ID }, { token: ClrCommonStringsService }], target: i0.ɵɵFactoryTarget.Component });
22812
- ClrTabs.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrTabs, selector: "clr-tabs", inputs: { layout: ["clrLayout", "layout"] }, host: { properties: { "class.tabs-vertical": "this.isVertical" } }, providers: [IfActiveService, TabsService, TABS_ID_PROVIDER], queries: [{ propertyName: "tabs", predicate: ClrTab }], viewQueries: [{ propertyName: "keyFocus", first: true, predicate: ClrKeyFocus, descendants: true, static: true }, { propertyName: "tabOverflowEl", first: true, predicate: ClrTabOverflowContent, descendants: true, read: ElementRef }, { propertyName: "tabContentViewContainer", first: true, predicate: ["tabContentViewContainer"], descendants: true, read: ViewContainerRef, static: true }], hostDirectives: [{ directive: ClrPopoverHostDirective }], ngImport: i0, template: `
22875
+ ClrTabs.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrTabs, selector: "clr-tabs", inputs: { layout: ["clrLayout", "layout"] }, host: { properties: { "class.tabs-vertical": "this.isVertical" } }, providers: [IfActiveService, TabsService, TABS_ID_PROVIDER], queries: [{ propertyName: "tabsActions", predicate: ClrTabAction, descendants: true, read: ElementRef }, { propertyName: "tabs", predicate: ClrTab }], viewQueries: [{ propertyName: "keyFocus", first: true, predicate: ClrKeyFocus, descendants: true, static: true }, { propertyName: "tabOverflowEl", first: true, predicate: ClrTabOverflowContent, descendants: true, read: ElementRef }, { propertyName: "tabContentViewContainer", first: true, predicate: ["tabContentViewContainer"], descendants: true, read: ViewContainerRef, static: true }], hostDirectives: [{ directive: ClrPopoverHostDirective }], ngImport: i0, template: `
22813
22876
  <ul
22814
22877
  class="nav"
22815
22878
  role="tablist"
@@ -22865,6 +22928,7 @@ ClrTabs.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2
22865
22928
  </clr-tab-overflow-content>
22866
22929
  </div>
22867
22930
  </ng-container>
22931
+ <ng-content select="clr-tabs-actions"></ng-content>
22868
22932
  </ul>
22869
22933
  <ng-container #tabContentViewContainer></ng-container>
22870
22934
  `, isInline: true, dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: CdsIconCustomTag, selector: "cds-icon" }, { kind: "component", type: ClrKeyFocus, selector: "[clrKeyFocus]", inputs: ["clrDirection", "clrFocusOnLoad", "clrKeyFocus"], outputs: ["clrFocusChange"] }, { kind: "component", type: ClrTabOverflowContent, selector: "clr-tab-overflow-content" }] });
@@ -22928,6 +22992,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
22928
22992
  </clr-tab-overflow-content>
22929
22993
  </div>
22930
22994
  </ng-container>
22995
+ <ng-content select="clr-tabs-actions"></ng-content>
22931
22996
  </ul>
22932
22997
  <ng-container #tabContentViewContainer></ng-container>
22933
22998
  `,
@@ -22942,6 +23007,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
22942
23007
  }, propDecorators: { keyFocus: [{
22943
23008
  type: ViewChild,
22944
23009
  args: [ClrKeyFocus, { static: true }]
23010
+ }], tabsActions: [{
23011
+ type: ContentChildren,
23012
+ args: [ClrTabAction, { read: ElementRef, descendants: true }]
22945
23013
  }], tabs: [{
22946
23014
  type: ContentChildren,
22947
23015
  args: [ClrTab]
@@ -22959,6 +23027,43 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
22959
23027
  args: ['tabContentViewContainer', { static: true, read: ViewContainerRef }]
22960
23028
  }] } });
22961
23029
 
23030
+ /*
23031
+ * Copyright (c) 2016-2024 Broadcom. All Rights Reserved.
23032
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
23033
+ * This software is released under MIT license.
23034
+ * The full license information can be found in LICENSE in the root directory of this project.
23035
+ */
23036
+ class ClrTabsActions {
23037
+ constructor() {
23038
+ this.position = 'right';
23039
+ }
23040
+ }
23041
+ ClrTabsActions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrTabsActions, deps: [], target: i0.ɵɵFactoryTarget.Component });
23042
+ ClrTabsActions.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrTabsActions, selector: "clr-tabs-actions", inputs: { position: "position" }, host: { properties: { "class.tabs-actions": "true", "attr.position": "this.position" } }, ngImport: i0, template: `
23043
+ <div class="tabs-actions-wrapper">
23044
+ <ng-content></ng-content>
23045
+ </div>
23046
+ `, isInline: true });
23047
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrTabsActions, decorators: [{
23048
+ type: Component,
23049
+ args: [{
23050
+ selector: 'clr-tabs-actions',
23051
+ template: `
23052
+ <div class="tabs-actions-wrapper">
23053
+ <ng-content></ng-content>
23054
+ </div>
23055
+ `,
23056
+ host: {
23057
+ '[class.tabs-actions]': 'true',
23058
+ },
23059
+ }]
23060
+ }], propDecorators: { position: [{
23061
+ type: Input
23062
+ }, {
23063
+ type: HostBinding,
23064
+ args: ['attr.position']
23065
+ }] } });
23066
+
22962
23067
  /*
22963
23068
  * Copyright (c) 2016-2024 Broadcom. All Rights Reserved.
22964
23069
  * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
@@ -22971,6 +23076,8 @@ const CLR_TABS_DIRECTIVES = [
22971
23076
  ClrTabs,
22972
23077
  ClrTabOverflowContent,
22973
23078
  ClrTabLink,
23079
+ ClrTabAction,
23080
+ ClrTabsActions,
22974
23081
  TabsWillyWonka,
22975
23082
  ActiveOompaLoompa,
22976
23083
  ];
@@ -22985,12 +23092,16 @@ ClrTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
22985
23092
  ClrTabs,
22986
23093
  ClrTabOverflowContent,
22987
23094
  ClrTabLink,
23095
+ ClrTabAction,
23096
+ ClrTabsActions,
22988
23097
  TabsWillyWonka,
22989
23098
  ActiveOompaLoompa], imports: [CommonModule, ClrConditionalModule, ClrIconModule, ClrTemplateRefModule, ClrKeyFocusModule], exports: [ClrTabContent,
22990
23099
  ClrTab,
22991
23100
  ClrTabs,
22992
23101
  ClrTabOverflowContent,
22993
23102
  ClrTabLink,
23103
+ ClrTabAction,
23104
+ ClrTabsActions,
22994
23105
  TabsWillyWonka,
22995
23106
  ActiveOompaLoompa, ClrConditionalModule] });
22996
23107
  ClrTabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrTabsModule, imports: [CommonModule, ClrConditionalModule, ClrIconModule, ClrTemplateRefModule, ClrKeyFocusModule, ClrConditionalModule] });
@@ -28044,5 +28155,5 @@ const CLR_MENU_POSITIONS = [
28044
28155
  * Generated bundle index. Do not edit.
28045
28156
  */
28046
28157
 
28047
- export { CHANGE_KEYS, CLR_ALERT_DIRECTIVES, CLR_BUTTON_GROUP_DIRECTIVES, CLR_DATAGRID_DIRECTIVES, CLR_DATEPICKER_DIRECTIVES, CLR_DROPDOWN_DIRECTIVES, CLR_ICON_DIRECTIVES, CLR_LAYOUT_DIRECTIVES, CLR_LOADING_BUTTON_DIRECTIVES, CLR_LOADING_DIRECTIVES, CLR_MENU_POSITIONS, CLR_MODAL_DIRECTIVES, CLR_NAVIGATION_DIRECTIVES, CLR_PROGRESS_BAR_DIRECTIVES, CLR_SIDEPANEL_DIRECTIVES, CLR_SIGNPOST_DIRECTIVES, CLR_SPINNER_DIRECTIVES, CLR_STACK_VIEW_DIRECTIVES, CLR_TABS_DIRECTIVES, CLR_TOOLTIP_DIRECTIVES, CLR_TREE_VIEW_DIRECTIVES, CLR_VERTICAL_NAV_DIRECTIVES, CLR_WIZARD_DIRECTIVES, CONDITIONAL_DIRECTIVES, CUSTOM_BUTTON_TYPES, CdsIconCustomTag, ClarityModule, ClrAbstractContainer, ClrAccordion, ClrAccordionContent, ClrAccordionDescription, ClrAccordionModule, ClrAccordionPanel, ClrAccordionTitle, ClrAlert, ClrAlertItem, ClrAlertModule, ClrAlertText, ClrAlerts, ClrAlertsPager, ClrAlignment, ClrAriaCurrentLink, ClrAxis, ClrButton, ClrButtonGroup, ClrButtonGroupModule, ClrButtonModule, ClrCalendar, ClrCheckbox, ClrCheckboxContainer, ClrCheckboxModule, ClrCheckboxWrapper, ClrCombobox, ClrComboboxContainer, ClrComboboxModule, ClrCommonFormsModule, ClrCommonStringsService, ClrConditionalModule, ClrControl, ClrControlContainer, ClrControlError, ClrControlHelper, ClrControlSuccess, ClrDataModule, ClrDatagrid, ClrDatagridActionBar, ClrDatagridActionOverflow, ClrDatagridCell, ClrDatagridColumn, ClrDatagridColumnSeparator, ClrDatagridColumnToggle, ClrDatagridColumnToggleButton, ClrDatagridDetail, ClrDatagridDetailBody, ClrDatagridDetailHeader, ClrDatagridFilter, ClrDatagridFooter, ClrDatagridHideableColumn, ClrDatagridItems, ClrDatagridItemsTrackBy, ClrDatagridModule, ClrDatagridPageSize, ClrDatagridPagination, ClrDatagridPlaceholder, ClrDatagridRow, ClrDatagridRowDetail, ClrDatagridSortOrder, ClrDatalist, ClrDatalistContainer, ClrDatalistInput, ClrDatalistModule, ClrDateContainer, ClrDateInput, ClrDateInputValidator, ClrDatepickerModule, ClrDatepickerViewManager, ClrDay, ClrDaypicker, ClrDestroyService, ClrDropdown, ClrDropdownItem, ClrDropdownMenu, ClrDropdownModule, ClrDropdownTrigger, ClrEmphasisModule, ClrExpandableAnimation, ClrFileInput, ClrFileInputContainer, ClrFileInputModule, ClrFileInputValidator, ClrFileInputValueAccessor, ClrFocusOnViewInit, ClrFocusOnViewInitModule, ClrForm, ClrFormLayout, ClrFormsModule, ClrHeader, ClrIconCustomTag, ClrIconModule, ClrIfActive, ClrIfDetail, ClrIfError, ClrIfExpanded, ClrIfOpen, ClrIfSuccess, ClrInput, ClrInputContainer, ClrInputModule, ClrLabel, ClrLayout, ClrLayoutModule, ClrLoading, ClrLoadingButton, ClrLoadingButtonModule, ClrLoadingModule, ClrLoadingState, ClrMainContainer, ClrMainContainerModule, ClrModal, ClrModalBody, ClrModalConfigurationService, ClrModalModule, ClrMonthpicker, ClrNavLevel, ClrNavigationModule, ClrOption, ClrOptionItems, ClrOptionSelected, ClrOptions, ClrPassword, ClrPasswordContainer, ClrPasswordModule, ClrPopoverAnchor, ClrPopoverContent, ClrPopoverEventsService, ClrPopoverHostDirective, ClrPopoverModule, ClrPopoverPositionService, ClrPopoverToggleService, ClrProgressBar, ClrProgressBarModule, ClrRadio, ClrRadioContainer, ClrRadioModule, ClrRadioWrapper, ClrRange, ClrRangeContainer, ClrRangeModule, ClrRecursiveForOf, ClrSelect, ClrSelectContainer, ClrSelectModule, ClrSelectedState, ClrSide, ClrSidePanel, ClrSidePanelModule, ClrSignpost, ClrSignpostContent, ClrSignpostModule, ClrSignpostTrigger, ClrSpinner, ClrSpinnerModule, ClrStackBlock, ClrStackContentInput, ClrStackHeader, ClrStackView, ClrStackViewCustomTags, ClrStackViewLabel, ClrStackViewModule, ClrStandaloneCdkTrapFocus, ClrStepButton, ClrStepButtonType, ClrStepper, ClrStepperModule, ClrStepperPanel, ClrStopEscapePropagationDirective, ClrTab, ClrTabContent, ClrTabLink, ClrTabOverflowContent, ClrTabs, ClrTabsModule, ClrTextarea, ClrTextareaContainer, ClrTextareaModule, ClrTimeline, ClrTimelineLayout, ClrTimelineModule, ClrTimelineStep, ClrTimelineStepDescription, ClrTimelineStepHeader, ClrTimelineStepState, ClrTimelineStepTitle, ClrTooltip, ClrTooltipContent, ClrTooltipModule, ClrTooltipTrigger, ClrTree, ClrTreeNode, ClrTreeNodeLink, ClrTreeViewModule, ClrVerticalNav, ClrVerticalNavGroup, ClrVerticalNavGroupChildren, ClrVerticalNavIcon, ClrVerticalNavLink, ClrVerticalNavModule, ClrWizard, ClrWizardButton, ClrWizardHeaderAction, ClrWizardModule, ClrWizardPage, ClrWizardPageButtons, ClrWizardPageHeaderActions, ClrWizardPageNavTitle, ClrWizardPageTitle, ClrWizardStepnav, ClrWizardStepnavItem, ClrWizardTitle, ClrYearpicker, DEFAULT_BUTTON_TYPES, DatagridNumericFilter, DatagridPropertyComparator, DatagridPropertyNumericFilter, DatagridPropertyStringFilter, DatagridStringFilter, EXPANDABLE_ANIMATION_DIRECTIVES, FOCUS_ON_VIEW_INIT, FOCUS_ON_VIEW_INIT_DIRECTIVES, IS_TOGGLE, IS_TOGGLE_PROVIDER, LoadingListener, MainContainerWillyWonka, NavDetectionOompaLoompa, TOGGLE_SERVICE, TOGGLE_SERVICE_PROVIDER, ToggleServiceFactory, WrappedFormControl, collapse, commonStringsDefault, fade, fadeSlide, isToggleFactory, slide, AccordionOompaLoompa as ÇlrAccordionOompaLoompa, AccordionWillyWonka as ÇlrAccordionWillyWonka, ActionableOompaLoompa as ÇlrActionableOompaLoompa, ActiveOompaLoompa as ÇlrActiveOompaLoompa, ClrPopoverCloseButton as ÇlrClrPopoverCloseButton, ClrPopoverModuleNext as ÇlrClrPopoverModuleNext, ClrPopoverOpenCloseButton as ÇlrClrPopoverOpenCloseButton, DatagridCellRenderer as ÇlrDatagridCellRenderer, DatagridDetailRegisterer as ÇlrDatagridDetailRegisterer, DatagridHeaderRenderer as ÇlrDatagridHeaderRenderer, DatagridMainRenderer as ÇlrDatagridMainRenderer, DatagridRowRenderer as ÇlrDatagridRowRenderer, ClrDatagridSelectionCellDirective as ÇlrDatagridSelectionCellDirective, ClrDatagridVirtualScrollDirective as ÇlrDatagridVirtualScrollDirective, DatagridWillyWonka as ÇlrDatagridWillyWonka, ExpandableOompaLoompa as ÇlrExpandableOompaLoompa, StepperOompaLoompa as ÇlrStepperOompaLoompa, StepperWillyWonka as ÇlrStepperWillyWonka, TabsWillyWonka as ÇlrTabsWillyWonka, WrappedCell as ÇlrWrappedCell, WrappedColumn as ÇlrWrappedColumn, WrappedRow as ÇlrWrappedRow };
28158
+ export { CHANGE_KEYS, CLR_ALERT_DIRECTIVES, CLR_BUTTON_GROUP_DIRECTIVES, CLR_DATAGRID_DIRECTIVES, CLR_DATEPICKER_DIRECTIVES, CLR_DROPDOWN_DIRECTIVES, CLR_ICON_DIRECTIVES, CLR_LAYOUT_DIRECTIVES, CLR_LOADING_BUTTON_DIRECTIVES, CLR_LOADING_DIRECTIVES, CLR_MENU_POSITIONS, CLR_MODAL_DIRECTIVES, CLR_NAVIGATION_DIRECTIVES, CLR_PROGRESS_BAR_DIRECTIVES, CLR_SIDEPANEL_DIRECTIVES, CLR_SIGNPOST_DIRECTIVES, CLR_SPINNER_DIRECTIVES, CLR_STACK_VIEW_DIRECTIVES, CLR_TABS_DIRECTIVES, CLR_TOOLTIP_DIRECTIVES, CLR_TREE_VIEW_DIRECTIVES, CLR_VERTICAL_NAV_DIRECTIVES, CLR_WIZARD_DIRECTIVES, CONDITIONAL_DIRECTIVES, CUSTOM_BUTTON_TYPES, CdsIconCustomTag, ClarityModule, ClrAbstractContainer, ClrAccordion, ClrAccordionContent, ClrAccordionDescription, ClrAccordionModule, ClrAccordionPanel, ClrAccordionTitle, ClrAlert, ClrAlertItem, ClrAlertModule, ClrAlertText, ClrAlerts, ClrAlertsPager, ClrAlignment, ClrAriaCurrentLink, ClrAxis, ClrButton, ClrButtonGroup, ClrButtonGroupModule, ClrButtonModule, ClrCalendar, ClrCheckbox, ClrCheckboxContainer, ClrCheckboxModule, ClrCheckboxWrapper, ClrCombobox, ClrComboboxContainer, ClrComboboxModule, ClrCommonFormsModule, ClrCommonStringsService, ClrConditionalModule, ClrControl, ClrControlContainer, ClrControlError, ClrControlHelper, ClrControlSuccess, ClrDataModule, ClrDatagrid, ClrDatagridActionBar, ClrDatagridActionOverflow, ClrDatagridCell, ClrDatagridColumn, ClrDatagridColumnSeparator, ClrDatagridColumnToggle, ClrDatagridColumnToggleButton, ClrDatagridDetail, ClrDatagridDetailBody, ClrDatagridDetailHeader, ClrDatagridFilter, ClrDatagridFooter, ClrDatagridHideableColumn, ClrDatagridItems, ClrDatagridItemsTrackBy, ClrDatagridModule, ClrDatagridPageSize, ClrDatagridPagination, ClrDatagridPlaceholder, ClrDatagridRow, ClrDatagridRowDetail, ClrDatagridSortOrder, ClrDatalist, ClrDatalistContainer, ClrDatalistInput, ClrDatalistModule, ClrDateContainer, ClrDateInput, ClrDateInputValidator, ClrDatepickerModule, ClrDatepickerViewManager, ClrDay, ClrDaypicker, ClrDestroyService, ClrDropdown, ClrDropdownItem, ClrDropdownMenu, ClrDropdownModule, ClrDropdownTrigger, ClrEmphasisModule, ClrExpandableAnimation, ClrFileInput, ClrFileInputContainer, ClrFileInputModule, ClrFileInputValidator, ClrFileInputValueAccessor, ClrFocusOnViewInit, ClrFocusOnViewInitModule, ClrForm, ClrFormLayout, ClrFormsModule, ClrHeader, ClrIconCustomTag, ClrIconModule, ClrIfActive, ClrIfDetail, ClrIfError, ClrIfExpanded, ClrIfOpen, ClrIfSuccess, ClrInput, ClrInputContainer, ClrInputModule, ClrLabel, ClrLayout, ClrLayoutModule, ClrLoading, ClrLoadingButton, ClrLoadingButtonModule, ClrLoadingModule, ClrLoadingState, ClrMainContainer, ClrMainContainerModule, ClrModal, ClrModalBody, ClrModalConfigurationService, ClrModalModule, ClrMonthpicker, ClrNavLevel, ClrNavigationModule, ClrOption, ClrOptionItems, ClrOptionSelected, ClrOptions, ClrPassword, ClrPasswordContainer, ClrPasswordModule, ClrPopoverAnchor, ClrPopoverContent, ClrPopoverEventsService, ClrPopoverHostDirective, ClrPopoverModule, ClrPopoverPositionService, ClrPopoverToggleService, ClrProgressBar, ClrProgressBarModule, ClrRadio, ClrRadioContainer, ClrRadioModule, ClrRadioWrapper, ClrRange, ClrRangeContainer, ClrRangeModule, ClrRecursiveForOf, ClrSelect, ClrSelectContainer, ClrSelectModule, ClrSelectedState, ClrSide, ClrSidePanel, ClrSidePanelModule, ClrSignpost, ClrSignpostContent, ClrSignpostModule, ClrSignpostTrigger, ClrSpinner, ClrSpinnerModule, ClrStackBlock, ClrStackContentInput, ClrStackHeader, ClrStackView, ClrStackViewCustomTags, ClrStackViewLabel, ClrStackViewModule, ClrStandaloneCdkTrapFocus, ClrStepButton, ClrStepButtonType, ClrStepper, ClrStepperModule, ClrStepperPanel, ClrStopEscapePropagationDirective, ClrTab, ClrTabAction, ClrTabContent, ClrTabLink, ClrTabOverflowContent, ClrTabs, ClrTabsActions, ClrTabsModule, ClrTextarea, ClrTextareaContainer, ClrTextareaModule, ClrTimeline, ClrTimelineLayout, ClrTimelineModule, ClrTimelineStep, ClrTimelineStepDescription, ClrTimelineStepHeader, ClrTimelineStepState, ClrTimelineStepTitle, ClrTooltip, ClrTooltipContent, ClrTooltipModule, ClrTooltipTrigger, ClrTree, ClrTreeNode, ClrTreeNodeLink, ClrTreeViewModule, ClrVerticalNav, ClrVerticalNavGroup, ClrVerticalNavGroupChildren, ClrVerticalNavIcon, ClrVerticalNavLink, ClrVerticalNavModule, ClrWizard, ClrWizardButton, ClrWizardHeaderAction, ClrWizardModule, ClrWizardPage, ClrWizardPageButtons, ClrWizardPageHeaderActions, ClrWizardPageNavTitle, ClrWizardPageTitle, ClrWizardStepnav, ClrWizardStepnavItem, ClrWizardTitle, ClrYearpicker, DEFAULT_BUTTON_TYPES, DatagridNumericFilter, DatagridPropertyComparator, DatagridPropertyNumericFilter, DatagridPropertyStringFilter, DatagridStringFilter, EXPANDABLE_ANIMATION_DIRECTIVES, FOCUS_ON_VIEW_INIT, FOCUS_ON_VIEW_INIT_DIRECTIVES, IS_TOGGLE, IS_TOGGLE_PROVIDER, LoadingListener, MainContainerWillyWonka, NavDetectionOompaLoompa, TOGGLE_SERVICE, TOGGLE_SERVICE_PROVIDER, ToggleServiceFactory, WrappedFormControl, collapse, commonStringsDefault, fade, fadeSlide, isToggleFactory, slide, AccordionOompaLoompa as ÇlrAccordionOompaLoompa, AccordionWillyWonka as ÇlrAccordionWillyWonka, ActionableOompaLoompa as ÇlrActionableOompaLoompa, ActiveOompaLoompa as ÇlrActiveOompaLoompa, ClrPopoverCloseButton as ÇlrClrPopoverCloseButton, ClrPopoverModuleNext as ÇlrClrPopoverModuleNext, ClrPopoverOpenCloseButton as ÇlrClrPopoverOpenCloseButton, DatagridCellRenderer as ÇlrDatagridCellRenderer, DatagridDetailRegisterer as ÇlrDatagridDetailRegisterer, DatagridHeaderRenderer as ÇlrDatagridHeaderRenderer, DatagridMainRenderer as ÇlrDatagridMainRenderer, DatagridRowRenderer as ÇlrDatagridRowRenderer, ClrDatagridSelectionCellDirective as ÇlrDatagridSelectionCellDirective, ClrDatagridVirtualScrollDirective as ÇlrDatagridVirtualScrollDirective, DatagridWillyWonka as ÇlrDatagridWillyWonka, ExpandableOompaLoompa as ÇlrExpandableOompaLoompa, StepperOompaLoompa as ÇlrStepperOompaLoompa, StepperWillyWonka as ÇlrStepperWillyWonka, TabsWillyWonka as ÇlrTabsWillyWonka, WrappedCell as ÇlrWrappedCell, WrappedColumn as ÇlrWrappedColumn, WrappedRow as ÇlrWrappedRow };
28048
28159
  //# sourceMappingURL=clr-angular.mjs.map