@eui/ecl 19.3.0-snapshot-1749624693835 → 19.3.0-snapshot-1749727394161
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/ecl-accordion/ecl-accordion-item.component.d.ts.map +1 -1
- package/components/ecl-banner/ecl-banner.component.d.ts.map +1 -1
- package/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.d.ts.map +1 -1
- package/components/ecl-breadcrumb/ecl-breadcrumb.component.d.ts.map +1 -1
- package/components/ecl-button/ecl-button.component.d.ts.map +1 -1
- package/components/ecl-card/ecl-card-picture.directive.d.ts.map +1 -1
- package/components/ecl-carousel/ecl-carousel-item.component.d.ts.map +1 -1
- package/components/ecl-carousel/ecl-carousel.component.d.ts.map +1 -1
- package/components/ecl-checkbox/ecl-checkbox-help.component.d.ts.map +1 -1
- package/components/ecl-checkbox/ecl-checkbox-label.component.d.ts.map +1 -1
- package/components/ecl-checkbox/ecl-checkbox.directive.d.ts.map +1 -1
- package/components/ecl-content-item/ecl-content-item-image.directive.d.ts.map +1 -1
- package/components/ecl-content-item/ecl-content-item.component.d.ts.map +1 -1
- package/components/ecl-expandable/ecl-expandable.component.d.ts.map +1 -1
- package/components/ecl-fact-figures/ecl-fact-figures.component.d.ts.map +1 -1
- package/components/ecl-file/ecl-file-item/ecl-file-item.component.d.ts.map +1 -1
- package/components/ecl-file/ecl-file-items/ecl-file-items.component.d.ts.map +1 -1
- package/components/ecl-file-upload/ecl-file-upload.directive.d.ts.map +1 -1
- package/components/ecl-form-label/ecl-form-label.component.d.ts.map +1 -1
- package/components/ecl-gallery/ecl-gallery-item.component.d.ts.map +1 -1
- package/components/ecl-gallery/ecl-gallery-media.directive.d.ts.map +1 -1
- package/components/ecl-gallery/ecl-gallery.component.d.ts.map +1 -1
- package/components/ecl-help-block/ecl-help-block.directive.d.ts.map +1 -1
- package/components/ecl-icon/ecl-icon.component.d.ts.map +1 -1
- package/components/ecl-inpage-navigation/ecl-inpage-navigation.component.d.ts.map +1 -1
- package/components/ecl-link/ecl-link.directive.d.ts.map +1 -1
- package/components/ecl-list/ecl-list.directive.d.ts.map +1 -1
- package/components/ecl-list-illustration/ecl-list-illustration-picture.directive.d.ts.map +1 -1
- package/components/ecl-list-illustration/ecl-list-illustration.component.d.ts.map +1 -1
- package/components/ecl-loading-indicator/ecl-loading-indicator.component.d.ts.map +1 -1
- package/components/ecl-media-container/ecl-media-container.component.d.ts.map +1 -1
- package/components/ecl-mega-menu/ecl-mega-menu-subitem/ecl-mega-menu-subitem.component.d.ts.map +1 -1
- package/components/ecl-menu/ecl-menu/ecl-menu.component.d.ts.map +1 -1
- package/components/ecl-menu/ecl-menu-mega/ecl-menu-mega-item.component.d.ts.map +1 -1
- package/components/ecl-modal/ecl-modal-body.component.d.ts.map +1 -1
- package/components/ecl-multiselect/ecl-multiselect-dropdown/ecl-multiselect-dropdown.component.d.ts.map +1 -1
- package/components/ecl-multiselect/ecl-multiselect-input/ecl-multiselect-input.component.d.ts.map +1 -1
- package/components/ecl-multiselect/ecl-multiselect-option/ecl-multiselect-option.component.d.ts.map +1 -1
- package/components/ecl-multiselect/ecl-multiselect.component.d.ts.map +1 -1
- package/components/ecl-navigation-list/ecl-navigation-list.component.d.ts.map +1 -1
- package/components/ecl-news-ticker/ecl-news-ticker.component.d.ts.map +1 -1
- package/components/ecl-notification/ecl-notification.component.d.ts.map +1 -1
- package/components/ecl-page-header/ecl-page-header-title.directive.d.ts.map +1 -1
- package/components/ecl-pagination/ecl-pagination-item.component.d.ts.map +1 -1
- package/components/ecl-pagination/ecl-pagination.component.d.ts.map +1 -1
- package/components/ecl-radio/ecl-radio-help.component.d.ts.map +1 -1
- package/components/ecl-radio/ecl-radio-label.component.d.ts.map +1 -1
- package/components/ecl-radio/ecl-radio.directive.d.ts.map +1 -1
- package/components/ecl-range/ecl-range.directive.d.ts.map +1 -1
- package/components/ecl-rating-field/ecl-rating-field.component.d.ts.map +1 -1
- package/components/ecl-select/ecl-select-container.component.d.ts.map +1 -1
- package/components/ecl-select/ecl-select.directive.d.ts.map +1 -1
- package/components/ecl-site-footer/ecl-footer-elements/ec/ecl-site-footer-fixed-content.d.ts.map +1 -1
- package/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-list.directive.d.ts.map +1 -1
- package/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-section.directive.d.ts.map +1 -1
- package/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-title.directive.d.ts.map +1 -1
- package/components/ecl-site-footer/ecl-footer-elements/eu/ecl-site-footer-fixed-content.d.ts.map +1 -1
- package/components/ecl-site-footer/ecl-site-footer.component.d.ts.map +1 -1
- package/components/ecl-site-header/login/ecl-site-header-login.component.d.ts.map +1 -1
- package/components/ecl-social-media-follow/ecl-social-media-follow.component.d.ts.map +1 -1
- package/components/ecl-social-media-share/ecl-social-media-share.component.d.ts.map +1 -1
- package/components/ecl-splash-page/ecl-splash-page-language-category/ecl-splash-page-language-category.component.d.ts +11 -0
- package/components/ecl-splash-page/ecl-splash-page-language-category/ecl-splash-page-language-category.component.d.ts.map +1 -1
- package/components/ecl-splash-page/ecl-splash-page-language-container/ecl-splash-page-language-container.component.d.ts +10 -0
- package/components/ecl-splash-page/ecl-splash-page-language-container/ecl-splash-page-language-container.component.d.ts.map +1 -1
- package/components/ecl-splash-page/ecl-splash-page-language-link/ecl-splash-page-language-link.component.d.ts +17 -0
- package/components/ecl-splash-page/ecl-splash-page-language-link/ecl-splash-page-language-link.component.d.ts.map +1 -1
- package/components/ecl-splash-page/ecl-splash-page-language-list.directive.d.ts +12 -0
- package/components/ecl-splash-page/ecl-splash-page-language-list.directive.d.ts.map +1 -1
- package/components/ecl-splash-page/ecl-splash-page-picture.directive.d.ts +18 -0
- package/components/ecl-splash-page/ecl-splash-page-picture.directive.d.ts.map +1 -1
- package/components/ecl-splash-page/ecl-splash-page.component.d.ts +11 -0
- package/components/ecl-splash-page/ecl-splash-page.component.d.ts.map +1 -1
- package/components/ecl-sticky-container/ecl-sticky-container.component.d.ts.map +1 -1
- package/components/ecl-table/ecl-table-sort-button.component.d.ts +17 -0
- package/components/ecl-table/ecl-table-sort-button.component.d.ts.map +1 -1
- package/components/ecl-table/ecl-table.directive.d.ts +138 -0
- package/components/ecl-table/ecl-table.directive.d.ts.map +1 -1
- package/components/ecl-table/events/ecl-sort-table.event.d.ts +22 -1
- package/components/ecl-table/events/ecl-sort-table.event.d.ts.map +1 -1
- package/components/ecl-tabs/ecl-tab-more.component.d.ts.map +1 -1
- package/components/ecl-tabs/ecl-tab.component.d.ts.map +1 -1
- package/components/ecl-tag/ecl-tag.component.d.ts.map +1 -1
- package/components/ecl-text-area/ecl-text-area.directive.d.ts.map +1 -1
- package/components/ecl-text-input/ecl-text-input.directive.d.ts.map +1 -1
- package/components/ecl-timeline/ecl-timeline-item.component.d.ts.map +1 -1
- package/core/ecl-base.directive.d.ts.map +1 -1
- package/docs/classes/EclSortTableEvent.html +21 -0
- package/docs/components/EclSplashPageComponent.html +27 -0
- package/docs/components/EclSplashPageLanguageCategoryComponent.html +32 -0
- package/docs/components/EclSplashPageLanguageContainerComponent.html +31 -0
- package/docs/components/EclSplashPageLanguageLinkComponent.html +38 -0
- package/docs/components/EclTableSortButtonComponent.html +44 -0
- package/docs/dependencies.html +19 -19
- package/docs/directives/EclSplashPageLanguageItemDirective.html +19 -0
- package/docs/directives/EclSplashPageLanguageListDirective.html +19 -0
- package/docs/directives/EclSplashPageLogoImageDirective.html +24 -0
- package/docs/directives/EclSplashPageLogoLinkDirective.html +24 -0
- package/docs/directives/EclSplashPagePictureDirective.html +24 -0
- package/docs/directives/EclTableBodyDirective.html +17 -0
- package/docs/directives/EclTableCaptionDirective.html +12 -0
- package/docs/directives/EclTableCellDirective.html +30 -0
- package/docs/directives/EclTableCellGroupDirective.html +23 -0
- package/docs/directives/EclTableDirective.html +56 -0
- package/docs/directives/EclTableHeadDirective.html +31 -0
- package/docs/directives/EclTableHeaderDirective.html +80 -0
- package/docs/directives/EclTableResponsiveDirective.html +17 -0
- package/docs/directives/EclTableRowDirective.html +17 -0
- package/docs/js/search/search_index.js +2 -2
- package/docs/miscellaneous/enumerations.html +6 -0
- package/fesm2022/eui-ecl-components-ecl-accordion.mjs +10 -10
- package/fesm2022/eui-ecl-components-ecl-app.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-banner.mjs +34 -34
- package/fesm2022/eui-ecl-components-ecl-blockquote.mjs +13 -13
- package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs +13 -13
- package/fesm2022/eui-ecl-components-ecl-button.mjs +16 -16
- package/fesm2022/eui-ecl-components-ecl-card.mjs +16 -16
- package/fesm2022/eui-ecl-components-ecl-carousel.mjs +10 -10
- package/fesm2022/eui-ecl-components-ecl-category-filter.mjs +13 -13
- package/fesm2022/eui-ecl-components-ecl-checkbox.mjs +16 -16
- package/fesm2022/eui-ecl-components-ecl-content-block.mjs +58 -58
- package/fesm2022/eui-ecl-components-ecl-content-item.mjs +13 -13
- package/fesm2022/eui-ecl-components-ecl-date-block.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-date-picker.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-expandable.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-fact-figures.mjs +22 -22
- package/fesm2022/eui-ecl-components-ecl-featured.mjs +25 -25
- package/fesm2022/eui-ecl-components-ecl-feedback-message.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-file-upload.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-file.mjs +34 -34
- package/fesm2022/eui-ecl-components-ecl-form-group.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-form-label.mjs +10 -10
- package/fesm2022/eui-ecl-components-ecl-gallery.mjs +22 -22
- package/fesm2022/eui-ecl-components-ecl-help-block.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-icon.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs +16 -16
- package/fesm2022/eui-ecl-components-ecl-label.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-link.mjs +16 -16
- package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs +19 -19
- package/fesm2022/eui-ecl-components-ecl-list.mjs +31 -31
- package/fesm2022/eui-ecl-components-ecl-loading-indicator.mjs +13 -13
- package/fesm2022/eui-ecl-components-ecl-media-container.mjs +19 -19
- package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs +49 -49
- package/fesm2022/eui-ecl-components-ecl-menu.mjs +16 -16
- package/fesm2022/eui-ecl-components-ecl-modal.mjs +25 -25
- package/fesm2022/eui-ecl-components-ecl-multiselect.mjs +25 -25
- package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs +16 -16
- package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs +13 -13
- package/fesm2022/eui-ecl-components-ecl-notification.mjs +10 -10
- package/fesm2022/eui-ecl-components-ecl-page-header.mjs +37 -37
- package/fesm2022/eui-ecl-components-ecl-pagination.mjs +13 -13
- package/fesm2022/eui-ecl-components-ecl-popover.mjs +13 -13
- package/fesm2022/eui-ecl-components-ecl-radio.mjs +16 -16
- package/fesm2022/eui-ecl-components-ecl-range.mjs +13 -13
- package/fesm2022/eui-ecl-components-ecl-rating-field.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-search-form.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-select.mjs +10 -10
- package/fesm2022/eui-ecl-components-ecl-separator.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-site-footer.mjs +61 -61
- package/fesm2022/eui-ecl-components-ecl-site-header.mjs +64 -64
- package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs +13 -13
- package/fesm2022/eui-ecl-components-ecl-social-media-share.mjs +13 -13
- package/fesm2022/eui-ecl-components-ecl-splash-page.mjs +97 -31
- package/fesm2022/eui-ecl-components-ecl-splash-page.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-sticky-container.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-table.mjs +204 -37
- package/fesm2022/eui-ecl-components-ecl-table.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-tabs.mjs +16 -16
- package/fesm2022/eui-ecl-components-ecl-tag.mjs +16 -16
- package/fesm2022/eui-ecl-components-ecl-text-area.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-text-input.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-timeline.mjs +19 -19
- package/fesm2022/eui-ecl-core.mjs +25 -25
- package/fesm2022/eui-ecl-shared.mjs +3 -3
- package/fesm2022/eui-ecl.mjs +4 -4
- package/package.json +1 -1
|
@@ -9,19 +9,36 @@ import { takeUntil } from 'rxjs/operators';
|
|
|
9
9
|
import * as i1 from '@eui/ecl/core';
|
|
10
10
|
import { ECLBaseDirective, EclBaseEvent } from '@eui/ecl/core';
|
|
11
11
|
|
|
12
|
+
/**
|
|
13
|
+
* Sort button component used inside sortable table headers.
|
|
14
|
+
*
|
|
15
|
+
* Applies ECL styling for table sort arrows and provides
|
|
16
|
+
* accessibility label for screen readers.
|
|
17
|
+
*/
|
|
12
18
|
class EclTableSortButtonComponent extends ECLBaseDirective {
|
|
19
|
+
/**
|
|
20
|
+
* ECL theme service instance used internally for theming logic.
|
|
21
|
+
*/
|
|
13
22
|
constructor(eclThemeService) {
|
|
14
23
|
super();
|
|
15
24
|
this.eclThemeService = eclThemeService;
|
|
25
|
+
/**
|
|
26
|
+
* Accessibility label describing the button's function.
|
|
27
|
+
* This value is bound to the `aria-label` attribute.
|
|
28
|
+
*/
|
|
16
29
|
this.ariaLabel = 'Sort table';
|
|
17
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* CSS classes applied to the host element.
|
|
33
|
+
* Includes ECL base table sort arrow styling.
|
|
34
|
+
*/
|
|
18
35
|
get cssClasses() {
|
|
19
36
|
return [super.getCssClasses('ecl-table__arrow')].join(' ').trim();
|
|
20
37
|
}
|
|
21
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
22
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
38
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclTableSortButtonComponent, deps: [{ token: i1.EclThemeService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: EclTableSortButtonComponent, isStandalone: false, selector: "button[eclTableSortButton]", host: { properties: { "attr.aria-label": "this.ariaLabel", "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<ecl-icon icon=\"solid-arrow\" class=\"ecl-table__icon ecl-table__icon-up\" [size]=\"(eclThemeService.isEC$ | async) ? 'xs' : 'm'\"> </ecl-icon>\n<ecl-icon icon=\"solid-arrow\" class=\"ecl-table__icon ecl-table__icon-down\" [size]=\"(eclThemeService.isEC$ | async) ? 'xs' : 'm'\"> </ecl-icon>\n", dependencies: [{ kind: "component", type: i2.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] }); }
|
|
23
40
|
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclTableSortButtonComponent, decorators: [{
|
|
25
42
|
type: Component,
|
|
26
43
|
args: [{ selector: 'button[eclTableSortButton]', standalone: false, template: "<ecl-icon icon=\"solid-arrow\" class=\"ecl-table__icon ecl-table__icon-up\" [size]=\"(eclThemeService.isEC$ | async) ? 'xs' : 'm'\"> </ecl-icon>\n<ecl-icon icon=\"solid-arrow\" class=\"ecl-table__icon ecl-table__icon-down\" [size]=\"(eclThemeService.isEC$ | async) ? 'xs' : 'm'\"> </ecl-icon>\n" }]
|
|
27
44
|
}], ctorParameters: () => [{ type: i1.EclThemeService }], propDecorators: { ariaLabel: [{
|
|
@@ -32,40 +49,86 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
|
|
|
32
49
|
args: ['class']
|
|
33
50
|
}] } });
|
|
34
51
|
|
|
52
|
+
/**
|
|
53
|
+
* Event emitted when the table sort order changes.
|
|
54
|
+
*
|
|
55
|
+
* Extends the base ECL event to provide sorting-specific information.
|
|
56
|
+
*/
|
|
35
57
|
class EclSortTableEvent extends EclBaseEvent {
|
|
36
|
-
constructor(
|
|
58
|
+
constructor(
|
|
59
|
+
/**
|
|
60
|
+
* The order in which the table is currently sorted.
|
|
61
|
+
* Can be 'ascending', 'descending', or null (unsorted).
|
|
62
|
+
*/
|
|
63
|
+
sortOrder,
|
|
64
|
+
/**
|
|
65
|
+
* The identifier of the column that triggered the sort event.
|
|
66
|
+
*/
|
|
67
|
+
columnId) {
|
|
37
68
|
super();
|
|
38
69
|
this.sortOrder = sortOrder;
|
|
39
70
|
this.columnId = columnId;
|
|
40
71
|
}
|
|
41
72
|
}
|
|
42
73
|
|
|
74
|
+
/**
|
|
75
|
+
* Enum representing the sort order of a column.
|
|
76
|
+
*/
|
|
43
77
|
var SortOrder;
|
|
44
78
|
(function (SortOrder) {
|
|
45
79
|
SortOrder["DESCENDING"] = "descending";
|
|
46
80
|
SortOrder["ASCENDING"] = "ascending";
|
|
47
81
|
})(SortOrder || (SortOrder = {}));
|
|
82
|
+
/**
|
|
83
|
+
* Directive for styling and managing behavior of ECL tables.
|
|
84
|
+
*
|
|
85
|
+
* Applies ECL-specific table classes and emits sort events when columns are sorted.
|
|
86
|
+
*/
|
|
48
87
|
class EclTableDirective extends ECLBaseDirective {
|
|
88
|
+
/**
|
|
89
|
+
* Computed list of CSS classes for the host element.
|
|
90
|
+
*/
|
|
49
91
|
get cssClasses() {
|
|
50
92
|
return [super.getCssClasses('ecl-table'), this.isZebra ? 'ecl-table--zebra' : '', this.isSimple ? 'ecl-table--simple' : ''].join(' ').trim();
|
|
51
93
|
}
|
|
52
94
|
constructor(differs) {
|
|
53
95
|
super();
|
|
54
96
|
this.differs = differs;
|
|
97
|
+
/**
|
|
98
|
+
* Applies zebra striping to the table rows by adding the `ecl-table--zebra` class if true.
|
|
99
|
+
*/
|
|
55
100
|
this.isZebra = false;
|
|
101
|
+
/**
|
|
102
|
+
* Applies the "simple" table variant if true.
|
|
103
|
+
* Automatically enabled if no header is detected.
|
|
104
|
+
*/
|
|
56
105
|
this.isSimple = false;
|
|
106
|
+
/**
|
|
107
|
+
* Emits an event when a column sort is triggered.
|
|
108
|
+
*/
|
|
57
109
|
this.sort = new EventEmitter();
|
|
58
110
|
this.destroy$ = new Subject();
|
|
59
111
|
this.differ = this.differs.find([]).create();
|
|
60
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* Lifecycle hook that runs on component initialization.
|
|
115
|
+
* Generates a unique ID if none is provided.
|
|
116
|
+
*/
|
|
61
117
|
ngOnInit() {
|
|
62
118
|
if (!this.id) {
|
|
63
119
|
this.id = crypto.randomUUID();
|
|
64
120
|
}
|
|
65
121
|
}
|
|
122
|
+
/**
|
|
123
|
+
* Lifecycle hook that runs after content is fully initialized.
|
|
124
|
+
* Determines if the table should be rendered in "simple" mode.
|
|
125
|
+
*/
|
|
66
126
|
ngAfterContentInit() {
|
|
67
127
|
this.convertToSimpleVariant();
|
|
68
128
|
}
|
|
129
|
+
/**
|
|
130
|
+
* Custom change detection for dynamically added header directives.
|
|
131
|
+
*/
|
|
69
132
|
ngDoCheck() {
|
|
70
133
|
const diff = this.differ.diff(this.eclTableHeaders);
|
|
71
134
|
if (diff) {
|
|
@@ -76,19 +139,25 @@ class EclTableDirective extends ECLBaseDirective {
|
|
|
76
139
|
});
|
|
77
140
|
}
|
|
78
141
|
}
|
|
142
|
+
/**
|
|
143
|
+
* Cleans up subscriptions on destroy to prevent memory leaks.
|
|
144
|
+
*/
|
|
79
145
|
ngOnDestroy() {
|
|
80
146
|
this.destroy$.next(true);
|
|
81
147
|
this.destroy$.unsubscribe();
|
|
82
148
|
}
|
|
149
|
+
/**
|
|
150
|
+
* Sets the table to "simple" variant if no header directives are found.
|
|
151
|
+
*/
|
|
83
152
|
convertToSimpleVariant() {
|
|
84
153
|
if (this.eclTableHeaders.length === 0) {
|
|
85
154
|
this.isSimple = true;
|
|
86
155
|
}
|
|
87
156
|
}
|
|
88
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
89
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.
|
|
157
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclTableDirective, deps: [{ token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
158
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.14", type: EclTableDirective, isStandalone: false, selector: "[eclTable]", inputs: { isZebra: ["isZebra", "isZebra", booleanAttribute], isSimple: ["isSimple", "isSimple", booleanAttribute], id: "id" }, outputs: { sort: "sort" }, host: { properties: { "attr.id": "this.id", "class": "this.cssClasses" } }, queries: [{ propertyName: "eclTableHeaders", predicate: i0.forwardRef(() => EclTableHeaderDirective), descendants: true }], usesInheritance: true, ngImport: i0 }); }
|
|
90
159
|
}
|
|
91
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
160
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclTableDirective, decorators: [{
|
|
92
161
|
type: Directive,
|
|
93
162
|
args: [{
|
|
94
163
|
selector: '[eclTable]',
|
|
@@ -114,7 +183,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
|
|
|
114
183
|
type: ContentChildren,
|
|
115
184
|
args: [forwardRef(() => EclTableHeaderDirective), { descendants: true }]
|
|
116
185
|
}] } });
|
|
186
|
+
/**
|
|
187
|
+
* Directive applied to `<thead>` elements inside a table.
|
|
188
|
+
* Detects header changes and manages ARIA attributes.
|
|
189
|
+
*/
|
|
117
190
|
class EclTableHeadDirective extends ECLBaseDirective {
|
|
191
|
+
/**
|
|
192
|
+
* Applies the ECL head class to the element.
|
|
193
|
+
*/
|
|
118
194
|
get cssClasses() {
|
|
119
195
|
return [super.getCssClasses('ecl-table__head')].join(' ').trim();
|
|
120
196
|
}
|
|
@@ -124,6 +200,9 @@ class EclTableHeadDirective extends ECLBaseDirective {
|
|
|
124
200
|
this.destroy$ = new Subject();
|
|
125
201
|
this.differ = this.differs.find([]).create();
|
|
126
202
|
}
|
|
203
|
+
/**
|
|
204
|
+
* Detects dynamic addition of header directives and resets ARIA sorting attributes.
|
|
205
|
+
*/
|
|
127
206
|
ngDoCheck() {
|
|
128
207
|
const diff = this.differ.diff(this.eclTableHeaders);
|
|
129
208
|
if (diff) {
|
|
@@ -136,14 +215,17 @@ class EclTableHeadDirective extends ECLBaseDirective {
|
|
|
136
215
|
});
|
|
137
216
|
}
|
|
138
217
|
}
|
|
218
|
+
/**
|
|
219
|
+
* Cleans up subscriptions on destroy to prevent memory leaks.
|
|
220
|
+
*/
|
|
139
221
|
ngOnDestroy() {
|
|
140
222
|
this.destroy$.next(true);
|
|
141
223
|
this.destroy$.unsubscribe();
|
|
142
224
|
}
|
|
143
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
144
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.
|
|
225
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclTableHeadDirective, deps: [{ token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
226
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.14", type: EclTableHeadDirective, isStandalone: false, selector: "[eclTableHead]", host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "eclTableHeaders", predicate: i0.forwardRef(() => EclTableHeaderDirective), descendants: true }], usesInheritance: true, ngImport: i0 }); }
|
|
145
227
|
}
|
|
146
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
228
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclTableHeadDirective, decorators: [{
|
|
147
229
|
type: Directive,
|
|
148
230
|
args: [{
|
|
149
231
|
selector: '[eclTableHead]',
|
|
@@ -156,7 +238,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
|
|
|
156
238
|
type: ContentChildren,
|
|
157
239
|
args: [forwardRef(() => EclTableHeaderDirective), { descendants: true }]
|
|
158
240
|
}] } });
|
|
241
|
+
/**
|
|
242
|
+
* Directive representing a single table header cell in an ECL table.
|
|
243
|
+
* Supports sorting functionality and accessibility attributes.
|
|
244
|
+
*/
|
|
159
245
|
class EclTableHeaderDirective extends ECLBaseDirective {
|
|
246
|
+
/**
|
|
247
|
+
* Computes the CSS classes applied to the header element.
|
|
248
|
+
*/
|
|
160
249
|
get cssClasses() {
|
|
161
250
|
return [super.getCssClasses('ecl-table__header')].join(' ').trim();
|
|
162
251
|
}
|
|
@@ -165,24 +254,56 @@ class EclTableHeaderDirective extends ECLBaseDirective {
|
|
|
165
254
|
this.el = el;
|
|
166
255
|
this.viewContainerRef = viewContainerRef;
|
|
167
256
|
this.renderer = renderer;
|
|
257
|
+
/**
|
|
258
|
+
* Current sort order of the column (`ascending`, `descending`, or `null`).
|
|
259
|
+
* This sets the `aria-sort` attribute used for accessibility.
|
|
260
|
+
*/
|
|
168
261
|
this.sortOrder = null;
|
|
262
|
+
/**
|
|
263
|
+
* Enables sorting on the header. Also sets the `data-ecl-table-sort-toggle` attribute.
|
|
264
|
+
* Acts as the unique identifier for the column when sorting.
|
|
265
|
+
*/
|
|
169
266
|
this.eclSortable = null;
|
|
267
|
+
/**
|
|
268
|
+
* Scope of the table header. Default is `col`. Sets the `scope` attribute.
|
|
269
|
+
*/
|
|
170
270
|
this.scope = 'col';
|
|
271
|
+
/**
|
|
272
|
+
* Emits an `EclSortTableEvent` when the header is clicked and sorting is triggered.
|
|
273
|
+
*/
|
|
171
274
|
this.sort = new EventEmitter();
|
|
172
275
|
}
|
|
276
|
+
/**
|
|
277
|
+
* Lifecycle hook that runs on component initialization.
|
|
278
|
+
* Generates a unique `id` if not already defined.
|
|
279
|
+
*/
|
|
173
280
|
ngOnInit() {
|
|
174
281
|
if (!this.id) {
|
|
175
282
|
this.id = crypto.randomUUID();
|
|
176
283
|
}
|
|
177
284
|
}
|
|
285
|
+
/**
|
|
286
|
+
* Lifecycle hook that runs after the view is initialized.
|
|
287
|
+
* Injects the sort button into the header cell if sorting is enabled.
|
|
288
|
+
*/
|
|
178
289
|
ngAfterContentInit() {
|
|
179
290
|
this.initSortButtons();
|
|
180
291
|
}
|
|
181
|
-
|
|
292
|
+
/**
|
|
293
|
+
* Clears the `aria-sort` attribute, used to visually and semantically reset previous sort state.
|
|
294
|
+
*
|
|
295
|
+
* Remove the dark arrow for current sorting from prev sorted column
|
|
296
|
+
*/
|
|
182
297
|
removeAriaSort() {
|
|
183
298
|
this.renderer.removeAttribute(this.el.nativeElement, 'aria-sort');
|
|
184
299
|
}
|
|
185
|
-
|
|
300
|
+
/**
|
|
301
|
+
* Handles click events on the header.
|
|
302
|
+
* Cycles through sort orders: `null` -> `ascending` -> `descending` -> `null`.
|
|
303
|
+
* Emits a `EclSortTableEvent` with the updated sort state and column identifier.
|
|
304
|
+
*
|
|
305
|
+
* Click triggers 1 -> asc sorting, 2 -> desc sorting then 3 -> initial sorting
|
|
306
|
+
*/
|
|
186
307
|
onClick(evt) {
|
|
187
308
|
if (this.eclSortable) {
|
|
188
309
|
switch (this.sortOrder) {
|
|
@@ -202,6 +323,10 @@ class EclTableHeaderDirective extends ECLBaseDirective {
|
|
|
202
323
|
this.sort.emit(new EclSortTableEvent(this.sortOrder, this.eclSortable));
|
|
203
324
|
}
|
|
204
325
|
}
|
|
326
|
+
/**
|
|
327
|
+
* Dynamically creates and appends the sort button to the header cell.
|
|
328
|
+
* Optionally sets the button's `aria-label` if provided.
|
|
329
|
+
*/
|
|
205
330
|
initSortButtons() {
|
|
206
331
|
if (this.eclSortable) {
|
|
207
332
|
setTimeout(() => {
|
|
@@ -213,10 +338,10 @@ class EclTableHeaderDirective extends ECLBaseDirective {
|
|
|
213
338
|
});
|
|
214
339
|
}
|
|
215
340
|
}
|
|
216
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
217
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.
|
|
341
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclTableHeaderDirective, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
342
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.14", type: EclTableHeaderDirective, isStandalone: false, selector: "[eclTableHeader]", inputs: { eclSortable: "eclSortable", scope: "scope", id: "id", sortButtonAriaLabel: "sortButtonAriaLabel" }, outputs: { sort: "sort" }, host: { listeners: { "click": "onClick($event)" }, properties: { "attr.aria-sort": "this.sortOrder", "attr.data-ecl-table-sort-toggle": "this.eclSortable", "attr.scope": "this.scope", "attr.id": "this.id", "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
|
|
218
343
|
}
|
|
219
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
344
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclTableHeaderDirective, decorators: [{
|
|
220
345
|
type: Directive,
|
|
221
346
|
args: [{
|
|
222
347
|
selector: '[eclTableHeader]',
|
|
@@ -251,14 +376,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
|
|
|
251
376
|
type: HostListener,
|
|
252
377
|
args: ['click', ['$event']]
|
|
253
378
|
}] } });
|
|
379
|
+
/**
|
|
380
|
+
* Directive for applying ECL row styling to a table row element.
|
|
381
|
+
*/
|
|
254
382
|
class EclTableRowDirective extends ECLBaseDirective {
|
|
383
|
+
/**
|
|
384
|
+
* Applies `ecl-table__row` class to the table row.
|
|
385
|
+
*/
|
|
255
386
|
get cssClasses() {
|
|
256
387
|
return [super.getCssClasses('ecl-table__row')].join(' ').trim();
|
|
257
388
|
}
|
|
258
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
259
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.
|
|
389
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclTableRowDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
390
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.14", type: EclTableRowDirective, isStandalone: false, selector: "[eclTableRow]", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
|
|
260
391
|
}
|
|
261
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
392
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclTableRowDirective, decorators: [{
|
|
262
393
|
type: Directive,
|
|
263
394
|
args: [{
|
|
264
395
|
selector: '[eclTableRow]',
|
|
@@ -268,14 +399,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
|
|
|
268
399
|
type: HostBinding,
|
|
269
400
|
args: ['class']
|
|
270
401
|
}] } });
|
|
402
|
+
/**
|
|
403
|
+
* Directive for applying ECL body styling to a table body element.
|
|
404
|
+
*/
|
|
271
405
|
class EclTableBodyDirective extends ECLBaseDirective {
|
|
406
|
+
/**
|
|
407
|
+
* Applies `ecl-table__body` class to the table body.
|
|
408
|
+
*/
|
|
272
409
|
get cssClasses() {
|
|
273
410
|
return [super.getCssClasses('ecl-table__body')].join(' ').trim();
|
|
274
411
|
}
|
|
275
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
276
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.
|
|
412
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclTableBodyDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
413
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.14", type: EclTableBodyDirective, isStandalone: false, selector: "[eclTableBody]", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
|
|
277
414
|
}
|
|
278
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
415
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclTableBodyDirective, decorators: [{
|
|
279
416
|
type: Directive,
|
|
280
417
|
args: [{
|
|
281
418
|
selector: '[eclTableBody]',
|
|
@@ -285,18 +422,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
|
|
|
285
422
|
type: HostBinding,
|
|
286
423
|
args: ['class']
|
|
287
424
|
}] } });
|
|
425
|
+
/**
|
|
426
|
+
* Directive for styling individual table cells in the ECL table.
|
|
427
|
+
*/
|
|
288
428
|
class EclTableCellDirective extends ECLBaseDirective {
|
|
289
429
|
constructor() {
|
|
290
430
|
super(...arguments);
|
|
431
|
+
/**
|
|
432
|
+
* If `true`, applies additional group styling to the cell.
|
|
433
|
+
*/
|
|
291
434
|
this.isGroup = false;
|
|
292
435
|
}
|
|
436
|
+
/**
|
|
437
|
+
* Computes and applies appropriate CSS classes for the table cell.
|
|
438
|
+
*/
|
|
293
439
|
get cssClasses() {
|
|
294
440
|
return [super.getCssClasses('ecl-table__cell'), this.isGroup ? 'ecl-table__cell--group' : ''].join(' ').trim();
|
|
295
441
|
}
|
|
296
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
297
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.
|
|
442
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclTableCellDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
443
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.14", type: EclTableCellDirective, isStandalone: false, selector: "[eclTableCell]", inputs: { eclTableCellHeader: "eclTableCellHeader", isGroup: "isGroup" }, host: { properties: { "attr.data-ecl-table-header": "this.eclTableCellHeader", "class.ecl-table__cell--group": "this.isGroup", "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
|
|
298
444
|
}
|
|
299
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
445
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclTableCellDirective, decorators: [{
|
|
300
446
|
type: Directive,
|
|
301
447
|
args: [{
|
|
302
448
|
selector: '[eclTableCell]',
|
|
@@ -316,7 +462,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
|
|
|
316
462
|
type: HostBinding,
|
|
317
463
|
args: ['class']
|
|
318
464
|
}] } });
|
|
465
|
+
/**
|
|
466
|
+
* Directive used to group multiple table cells under a shared header group.
|
|
467
|
+
*/
|
|
319
468
|
class EclTableCellGroupDirective extends ECLBaseDirective {
|
|
469
|
+
/**
|
|
470
|
+
* Applies the group-specific cell class.
|
|
471
|
+
*/
|
|
320
472
|
get cssClasses() {
|
|
321
473
|
return [super.getCssClasses('ecl-table__cell--group')].join(' ').trim();
|
|
322
474
|
}
|
|
@@ -324,14 +476,17 @@ class EclTableCellGroupDirective extends ECLBaseDirective {
|
|
|
324
476
|
super();
|
|
325
477
|
this.cd = cd;
|
|
326
478
|
}
|
|
479
|
+
/**
|
|
480
|
+
* Ensures `data-ecl-table-header-group` is not empty and triggers change detection.
|
|
481
|
+
*/
|
|
327
482
|
ngAfterViewInit() {
|
|
328
483
|
this.eclTableCellGroup = this.eclTableCellGroup !== '' ? this.eclTableCellGroup : null;
|
|
329
484
|
this.cd.detectChanges();
|
|
330
485
|
}
|
|
331
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
332
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.
|
|
486
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclTableCellGroupDirective, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
487
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.14", type: EclTableCellGroupDirective, isStandalone: false, selector: "[eclTableCellGroup]", inputs: { eclTableCellGroup: "eclTableCellGroup" }, host: { properties: { "attr.data-ecl-table-header-group": "this.eclTableCellGroup", "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
|
|
333
488
|
}
|
|
334
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
489
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclTableCellGroupDirective, decorators: [{
|
|
335
490
|
type: Directive,
|
|
336
491
|
args: [{
|
|
337
492
|
selector: '[eclTableCellGroup]',
|
|
@@ -346,14 +501,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
|
|
|
346
501
|
type: HostBinding,
|
|
347
502
|
args: ['class']
|
|
348
503
|
}] } });
|
|
504
|
+
/**
|
|
505
|
+
* Directive for applying ECL responsive wrapper to a table container.
|
|
506
|
+
*/
|
|
349
507
|
class EclTableResponsiveDirective extends ECLBaseDirective {
|
|
508
|
+
/**
|
|
509
|
+
* Applies the `ecl-table-responsive` class.
|
|
510
|
+
*/
|
|
350
511
|
get cssClasses() {
|
|
351
512
|
return [super.getCssClasses('ecl-table-responsive')].join(' ').trim();
|
|
352
513
|
}
|
|
353
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
354
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.
|
|
514
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclTableResponsiveDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
515
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.14", type: EclTableResponsiveDirective, isStandalone: false, selector: "[eclTableResponsive]", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
|
|
355
516
|
}
|
|
356
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
517
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclTableResponsiveDirective, decorators: [{
|
|
357
518
|
type: Directive,
|
|
358
519
|
args: [{
|
|
359
520
|
selector: '[eclTableResponsive]',
|
|
@@ -363,15 +524,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
|
|
|
363
524
|
type: HostBinding,
|
|
364
525
|
args: ['class']
|
|
365
526
|
}] } });
|
|
527
|
+
/**
|
|
528
|
+
* Directive for applying styling to a table caption element.
|
|
529
|
+
*/
|
|
366
530
|
class EclTableCaptionDirective extends ECLBaseDirective {
|
|
367
531
|
constructor() {
|
|
368
532
|
super(...arguments);
|
|
533
|
+
/**
|
|
534
|
+
* Applies the `ecl-table__caption` class to the caption.
|
|
535
|
+
*/
|
|
369
536
|
this.hasClass = true;
|
|
370
537
|
}
|
|
371
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
372
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.
|
|
538
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclTableCaptionDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
539
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.14", type: EclTableCaptionDirective, isStandalone: false, selector: "caption[eclTableCaption]", host: { properties: { "class.ecl-table__caption": "this.hasClass" } }, usesInheritance: true, ngImport: i0 }); }
|
|
373
540
|
}
|
|
374
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
541
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclTableCaptionDirective, decorators: [{
|
|
375
542
|
type: Directive,
|
|
376
543
|
args: [{
|
|
377
544
|
selector: 'caption[eclTableCaption]',
|
|
@@ -395,8 +562,8 @@ const COMPONENTS = [
|
|
|
395
562
|
EclTableResponsiveDirective,
|
|
396
563
|
];
|
|
397
564
|
class EclTableModule {
|
|
398
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
399
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.
|
|
565
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
566
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: EclTableModule, declarations: [EclTableCaptionDirective,
|
|
400
567
|
EclTableDirective,
|
|
401
568
|
EclTableHeadDirective,
|
|
402
569
|
EclTableHeaderDirective,
|
|
@@ -415,9 +582,9 @@ class EclTableModule {
|
|
|
415
582
|
EclTableCellGroupDirective,
|
|
416
583
|
EclTableSortButtonComponent,
|
|
417
584
|
EclTableResponsiveDirective] }); }
|
|
418
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.
|
|
585
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclTableModule, imports: [CommonModule, EclIconModule] }); }
|
|
419
586
|
}
|
|
420
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
587
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclTableModule, decorators: [{
|
|
421
588
|
type: NgModule,
|
|
422
589
|
args: [{
|
|
423
590
|
imports: [CommonModule, EclIconModule],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-ecl-components-ecl-table.mjs","sources":["../../components/ecl-table/ecl-table-sort-button.component.ts","../../components/ecl-table/ecl-table-sort-button.component.html","../../components/ecl-table/events/ecl-sort-table.event.ts","../../components/ecl-table/ecl-table.directive.ts","../../components/ecl-table/ecl-table.module.ts","../../components/ecl-table/eui-ecl-components-ecl-table.ts"],"sourcesContent":["import { Component, HostBinding } from '@angular/core';\nimport { EclThemeService } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[eclTableSortButton]',\n templateUrl: './ecl-table-sort-button.component.html',\n standalone: false,\n})\nexport class EclTableSortButtonComponent extends ECLBaseDirective {\n @HostBinding('attr.aria-label') ariaLabel = 'Sort table';\n\n constructor(public eclThemeService: EclThemeService) {\n super();\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__arrow')].join(' ').trim();\n }\n}\n","<ecl-icon icon=\"solid-arrow\" class=\"ecl-table__icon ecl-table__icon-up\" [size]=\"(eclThemeService.isEC$ | async) ? 'xs' : 'm'\"> </ecl-icon>\n<ecl-icon icon=\"solid-arrow\" class=\"ecl-table__icon ecl-table__icon-down\" [size]=\"(eclThemeService.isEC$ | async) ? 'xs' : 'm'\"> </ecl-icon>\n","import { EclBaseEvent } from '@eui/ecl/core';\nimport { SortOrder } from '../ecl-table.directive';\n\nexport class EclSortTableEvent extends EclBaseEvent {\n constructor(\n public sortOrder: SortOrder,\n public columnId: string,\n ) {\n super();\n }\n}","import {\n AfterContentInit,\n ContentChildren,\n Directive,\n DoCheck,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n IterableDiffer,\n IterableDiffers,\n OnDestroy,\n Output,\n QueryList,\n ViewContainerRef,\n booleanAttribute,\n Renderer2,\n AfterViewInit,\n ChangeDetectorRef,\n OnInit,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclTableSortButtonComponent } from './ecl-table-sort-button.component';\nimport { EclSortTableEvent } from './events/ecl-sort-table.event';\n\nexport enum SortOrder {\n DESCENDING = 'descending',\n ASCENDING = 'ascending',\n}\n\n@Directive({\n selector: '[eclTable]',\n standalone: false,\n})\nexport class EclTableDirective extends ECLBaseDirective implements DoCheck, OnDestroy, OnInit, AfterContentInit {\n @Input({ transform: booleanAttribute }) isZebra = false;\n @Input({ transform: booleanAttribute }) isSimple = false;\n @Input() @HostBinding ('attr.id') id: string;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table'), this.isZebra ? 'ecl-table--zebra' : '', this.isSimple ? 'ecl-table--simple' : ''].join(' ').trim();\n }\n\n @Output() sort = new EventEmitter<EclSortTableEvent>();\n\n @ContentChildren(forwardRef(() => EclTableHeaderDirective), { descendants: true })\n eclTableHeaders: QueryList<EclTableHeaderDirective>;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclTableHeaderDirective>;\n\n constructor(private differs: IterableDiffers) {\n super();\n this.differ = this.differs.find([]).create();\n }\n\n ngOnInit(): void {\n if (!this.id) {\n this.id = crypto.randomUUID();\n }\n }\n\n ngAfterContentInit(): void {\n this.convertToSimpleVariant();\n }\n\n ngDoCheck(): void {\n const diff = this.differ.diff(this.eclTableHeaders);\n if (diff) {\n diff.forEachAddedItem((change) => {\n change.item.sort.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.sort.emit(evt);\n });\n });\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n private convertToSimpleVariant(): void {\n if (this.eclTableHeaders.length === 0) {\n this.isSimple = true;\n }\n }\n}\n\n@Directive({\n selector: '[eclTableHead]',\n standalone: false,\n})\nexport class EclTableHeadDirective extends ECLBaseDirective implements OnDestroy, DoCheck {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__head')].join(' ').trim();\n }\n\n @ContentChildren(forwardRef(() => EclTableHeaderDirective), { descendants: true })\n eclTableHeaders: QueryList<EclTableHeaderDirective>;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclTableHeaderDirective>;\n\n constructor(private differs: IterableDiffers) {\n super();\n this.differ = this.differs.find([]).create();\n }\n\n ngDoCheck(): void {\n const diff = this.differ.diff(this.eclTableHeaders);\n if (diff) {\n diff.forEachAddedItem((change) => {\n change.item.sort.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.eclTableHeaders.forEach((th) => {\n th.removeAriaSort();\n });\n });\n });\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n}\n\n@Directive({\n selector: '[eclTableHeader]',\n standalone: false,\n})\nexport class EclTableHeaderDirective extends ECLBaseDirective implements AfterContentInit, OnInit {\n @HostBinding('attr.aria-sort') sortOrder: SortOrder = null;\n @Input() @HostBinding('attr.data-ecl-table-sort-toggle') eclSortable = null;\n @Input() @HostBinding('attr.scope') scope = 'col';\n @Input() @HostBinding('attr.id') id: string;\n @Input() sortButtonAriaLabel: string;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__header')].join(' ').trim();\n }\n\n @Output() sort = new EventEmitter<EclSortTableEvent>();\n\n constructor(\n private el: ElementRef,\n private viewContainerRef: ViewContainerRef,\n private renderer: Renderer2,\n ) {\n super();\n }\n\n ngOnInit(): void {\n if (!this.id) {\n this.id = crypto.randomUUID();\n }\n }\n\n ngAfterContentInit(): void {\n this.initSortButtons();\n }\n\n // Remove the dark arrow for current sorting from prev sorted column\n removeAriaSort(): void {\n this.renderer.removeAttribute(this.el.nativeElement, 'aria-sort');\n }\n\n // Click triggers 1 -> asc sorting, 2 -> desc sorting then 3 -> initial sorting\n @HostListener('click', ['$event'])\n onClick(evt: Event): void {\n if (this.eclSortable) {\n switch (this.sortOrder) {\n case null: {\n this.sortOrder = SortOrder.ASCENDING;\n break;\n }\n case SortOrder.ASCENDING: {\n this.sortOrder = SortOrder.DESCENDING;\n break;\n }\n case SortOrder.DESCENDING: {\n this.sortOrder = null;\n break;\n }\n }\n\n this.sort.emit(new EclSortTableEvent(this.sortOrder, this.eclSortable));\n }\n }\n\n private initSortButtons(): void {\n if (this.eclSortable) {\n setTimeout(() => {\n const containerComponentRef = this.viewContainerRef.createComponent(EclTableSortButtonComponent);\n this.renderer.appendChild(this.el.nativeElement, containerComponentRef.location.nativeElement);\n if (this.sortButtonAriaLabel) {\n containerComponentRef.instance.ariaLabel = this.sortButtonAriaLabel;\n }\n });\n }\n }\n}\n\n@Directive({\n selector: '[eclTableRow]',\n standalone: false,\n})\nexport class EclTableRowDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__row')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclTableBody]',\n standalone: false,\n})\nexport class EclTableBodyDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__body')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclTableCell]',\n standalone: false,\n})\nexport class EclTableCellDirective extends ECLBaseDirective {\n @Input() @HostBinding('attr.data-ecl-table-header') eclTableCellHeader: string;\n @Input() @HostBinding('class.ecl-table__cell--group') isGroup = false;\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__cell'), this.isGroup ? 'ecl-table__cell--group' : ''].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclTableCellGroup]',\n standalone: false,\n})\nexport class EclTableCellGroupDirective extends ECLBaseDirective implements AfterViewInit {\n @Input() @HostBinding('attr.data-ecl-table-header-group') eclTableCellGroup: string;\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__cell--group')].join(' ').trim();\n }\n\n constructor(private cd: ChangeDetectorRef) {\n super();\n }\n\n ngAfterViewInit(): void {\n this.eclTableCellGroup = this.eclTableCellGroup !== '' ? this.eclTableCellGroup : null;\n this.cd.detectChanges();\n }\n}\n\n@Directive({\n selector: '[eclTableResponsive]',\n standalone: false,\n})\nexport class EclTableResponsiveDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table-responsive')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: 'caption[eclTableCaption]',\n standalone: false,\n})\nexport class EclTableCaptionDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-table__caption') hasClass = true;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclIconModule } from '@eui/ecl/components/ecl-icon';\nimport {\n EclTableDirective,\n EclTableHeadDirective,\n EclTableHeaderDirective,\n EclTableRowDirective,\n EclTableBodyDirective,\n EclTableCellDirective,\n EclTableCellGroupDirective,\n EclTableResponsiveDirective,\n EclTableCaptionDirective,\n} from './ecl-table.directive';\nimport { EclTableSortButtonComponent } from './ecl-table-sort-button.component';\n\nconst COMPONENTS = [\n EclTableCaptionDirective,\n EclTableDirective,\n EclTableHeadDirective,\n EclTableHeaderDirective,\n EclTableRowDirective,\n EclTableBodyDirective,\n EclTableCellDirective,\n EclTableCellGroupDirective,\n EclTableSortButtonComponent,\n EclTableResponsiveDirective,\n];\n@NgModule({\n imports: [CommonModule, EclIconModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclTableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-ecl-components-ecl-table.mjs","sources":["../../components/ecl-table/ecl-table-sort-button.component.ts","../../components/ecl-table/ecl-table-sort-button.component.html","../../components/ecl-table/events/ecl-sort-table.event.ts","../../components/ecl-table/ecl-table.directive.ts","../../components/ecl-table/ecl-table.module.ts","../../components/ecl-table/eui-ecl-components-ecl-table.ts"],"sourcesContent":["import { Component, HostBinding } from '@angular/core';\nimport { EclThemeService } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Sort button component used inside sortable table headers.\n * \n * Applies ECL styling for table sort arrows and provides\n * accessibility label for screen readers.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[eclTableSortButton]',\n templateUrl: './ecl-table-sort-button.component.html',\n standalone: false,\n})\nexport class EclTableSortButtonComponent extends ECLBaseDirective {\n /**\n * Accessibility label describing the button's function.\n * This value is bound to the `aria-label` attribute.\n */\n @HostBinding('attr.aria-label') ariaLabel = 'Sort table';\n\n /**\n * ECL theme service instance used internally for theming logic.\n */\n constructor(public eclThemeService: EclThemeService) {\n super();\n }\n\n /**\n * CSS classes applied to the host element.\n * Includes ECL base table sort arrow styling.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__arrow')].join(' ').trim();\n }\n}\n","<ecl-icon icon=\"solid-arrow\" class=\"ecl-table__icon ecl-table__icon-up\" [size]=\"(eclThemeService.isEC$ | async) ? 'xs' : 'm'\"> </ecl-icon>\n<ecl-icon icon=\"solid-arrow\" class=\"ecl-table__icon ecl-table__icon-down\" [size]=\"(eclThemeService.isEC$ | async) ? 'xs' : 'm'\"> </ecl-icon>\n","import { EclBaseEvent } from '@eui/ecl/core';\nimport { SortOrder } from '../ecl-table.directive';\n\n/**\n * Event emitted when the table sort order changes.\n *\n * Extends the base ECL event to provide sorting-specific information.\n */\nexport class EclSortTableEvent extends EclBaseEvent {\n constructor(\n /**\n * The order in which the table is currently sorted.\n * Can be 'ascending', 'descending', or null (unsorted).\n */\n public sortOrder: SortOrder,\n\n /**\n * The identifier of the column that triggered the sort event.\n */\n public columnId: string,\n ) {\n super();\n }\n}\n","import {\n AfterContentInit,\n ContentChildren,\n Directive,\n DoCheck,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n IterableDiffer,\n IterableDiffers,\n OnDestroy,\n Output,\n QueryList,\n ViewContainerRef,\n booleanAttribute,\n Renderer2,\n AfterViewInit,\n ChangeDetectorRef,\n OnInit,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclTableSortButtonComponent } from './ecl-table-sort-button.component';\nimport { EclSortTableEvent } from './events/ecl-sort-table.event';\n\n/**\n * Enum representing the sort order of a column.\n */\nexport enum SortOrder {\n DESCENDING = 'descending',\n ASCENDING = 'ascending',\n}\n\n/**\n * Directive for styling and managing behavior of ECL tables.\n *\n * Applies ECL-specific table classes and emits sort events when columns are sorted.\n */\n@Directive({\n selector: '[eclTable]',\n standalone: false,\n})\nexport class EclTableDirective extends ECLBaseDirective implements DoCheck, OnDestroy, OnInit, AfterContentInit {\n /**\n * Applies zebra striping to the table rows by adding the `ecl-table--zebra` class if true.\n */\n @Input({ transform: booleanAttribute }) isZebra = false;\n\n /**\n * Applies the \"simple\" table variant if true.\n * Automatically enabled if no header is detected.\n */\n @Input({ transform: booleanAttribute }) isSimple = false;\n\n /**\n * The HTML ID attribute of the table. If not provided, a UUID is generated.\n */\n @Input() @HostBinding ('attr.id') id: string;\n\n /**\n * Computed list of CSS classes for the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table'), this.isZebra ? 'ecl-table--zebra' : '', this.isSimple ? 'ecl-table--simple' : ''].join(' ').trim();\n }\n\n /**\n * Emits an event when a column sort is triggered.\n */\n @Output() sort = new EventEmitter<EclSortTableEvent>();\n\n /**\n * List of header directives detected in the content.\n */\n @ContentChildren(forwardRef(() => EclTableHeaderDirective), { descendants: true })\n eclTableHeaders: QueryList<EclTableHeaderDirective>;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclTableHeaderDirective>;\n\n constructor(private differs: IterableDiffers) {\n super();\n this.differ = this.differs.find([]).create();\n }\n\n /**\n * Lifecycle hook that runs on component initialization.\n * Generates a unique ID if none is provided.\n */\n ngOnInit(): void {\n if (!this.id) {\n this.id = crypto.randomUUID();\n }\n }\n\n /**\n * Lifecycle hook that runs after content is fully initialized.\n * Determines if the table should be rendered in \"simple\" mode.\n */\n ngAfterContentInit(): void {\n this.convertToSimpleVariant();\n }\n\n /**\n * Custom change detection for dynamically added header directives.\n */\n ngDoCheck(): void {\n const diff = this.differ.diff(this.eclTableHeaders);\n if (diff) {\n diff.forEachAddedItem((change) => {\n change.item.sort.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.sort.emit(evt);\n });\n });\n }\n }\n\n /**\n * Cleans up subscriptions on destroy to prevent memory leaks.\n */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Sets the table to \"simple\" variant if no header directives are found.\n */\n private convertToSimpleVariant(): void {\n if (this.eclTableHeaders.length === 0) {\n this.isSimple = true;\n }\n }\n}\n\n/**\n * Directive applied to `<thead>` elements inside a table.\n * Detects header changes and manages ARIA attributes.\n */\n@Directive({\n selector: '[eclTableHead]',\n standalone: false,\n})\nexport class EclTableHeadDirective extends ECLBaseDirective implements OnDestroy, DoCheck {\n /**\n * Applies the ECL head class to the element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__head')].join(' ').trim();\n }\n\n /**\n * List of header directives under this head element.\n */\n @ContentChildren(forwardRef(() => EclTableHeaderDirective), { descendants: true })\n eclTableHeaders: QueryList<EclTableHeaderDirective>;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclTableHeaderDirective>;\n\n constructor(private differs: IterableDiffers) {\n super();\n this.differ = this.differs.find([]).create();\n }\n\n /**\n * Detects dynamic addition of header directives and resets ARIA sorting attributes.\n */\n ngDoCheck(): void {\n const diff = this.differ.diff(this.eclTableHeaders);\n if (diff) {\n diff.forEachAddedItem((change) => {\n change.item.sort.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.eclTableHeaders.forEach((th) => {\n th.removeAriaSort();\n });\n });\n });\n }\n }\n\n /**\n * Cleans up subscriptions on destroy to prevent memory leaks.\n */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n}\n\n@Directive({\n selector: '[eclTableHeader]',\n standalone: false,\n})\n/**\n * Directive representing a single table header cell in an ECL table.\n * Supports sorting functionality and accessibility attributes.\n */\nexport class EclTableHeaderDirective extends ECLBaseDirective implements AfterContentInit, OnInit {\n /**\n * Current sort order of the column (`ascending`, `descending`, or `null`).\n * This sets the `aria-sort` attribute used for accessibility.\n */\n @HostBinding('attr.aria-sort') sortOrder: SortOrder = null;\n\n /**\n * Enables sorting on the header. Also sets the `data-ecl-table-sort-toggle` attribute.\n * Acts as the unique identifier for the column when sorting.\n */\n @Input() @HostBinding('attr.data-ecl-table-sort-toggle') eclSortable = null;\n\n /**\n * Scope of the table header. Default is `col`. Sets the `scope` attribute.\n */\n @Input() @HostBinding('attr.scope') scope = 'col';\n\n /**\n * HTML `id` attribute of the table header cell. If not provided, a UUID will be generated.\n */\n @Input() @HostBinding('attr.id') id: string;\n\n /**\n * Aria-label for the sort button that will be injected into the header cell.\n */\n @Input() sortButtonAriaLabel: string;\n\n /**\n * Computes the CSS classes applied to the header element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__header')].join(' ').trim();\n }\n\n /**\n * Emits an `EclSortTableEvent` when the header is clicked and sorting is triggered.\n */\n @Output() sort = new EventEmitter<EclSortTableEvent>();\n\n constructor(\n private el: ElementRef,\n private viewContainerRef: ViewContainerRef,\n private renderer: Renderer2,\n ) {\n super();\n }\n\n /**\n * Lifecycle hook that runs on component initialization.\n * Generates a unique `id` if not already defined.\n */\n ngOnInit(): void {\n if (!this.id) {\n this.id = crypto.randomUUID();\n }\n }\n\n /**\n * Lifecycle hook that runs after the view is initialized.\n * Injects the sort button into the header cell if sorting is enabled.\n */\n ngAfterContentInit(): void {\n this.initSortButtons();\n }\n\n /**\n * Clears the `aria-sort` attribute, used to visually and semantically reset previous sort state.\n * \n * Remove the dark arrow for current sorting from prev sorted column\n */\n removeAriaSort(): void {\n this.renderer.removeAttribute(this.el.nativeElement, 'aria-sort');\n }\n\n /**\n * Handles click events on the header.\n * Cycles through sort orders: `null` -> `ascending` -> `descending` -> `null`.\n * Emits a `EclSortTableEvent` with the updated sort state and column identifier.\n * \n * Click triggers 1 -> asc sorting, 2 -> desc sorting then 3 -> initial sorting\n */\n @HostListener('click', ['$event'])\n onClick(evt: Event): void {\n if (this.eclSortable) {\n switch (this.sortOrder) {\n case null: {\n this.sortOrder = SortOrder.ASCENDING;\n break;\n }\n case SortOrder.ASCENDING: {\n this.sortOrder = SortOrder.DESCENDING;\n break;\n }\n case SortOrder.DESCENDING: {\n this.sortOrder = null;\n break;\n }\n }\n\n this.sort.emit(new EclSortTableEvent(this.sortOrder, this.eclSortable));\n }\n }\n\n /**\n * Dynamically creates and appends the sort button to the header cell.\n * Optionally sets the button's `aria-label` if provided.\n */\n private initSortButtons(): void {\n if (this.eclSortable) {\n setTimeout(() => {\n const containerComponentRef = this.viewContainerRef.createComponent(EclTableSortButtonComponent);\n this.renderer.appendChild(this.el.nativeElement, containerComponentRef.location.nativeElement);\n if (this.sortButtonAriaLabel) {\n containerComponentRef.instance.ariaLabel = this.sortButtonAriaLabel;\n }\n });\n }\n }\n}\n\n@Directive({\n selector: '[eclTableRow]',\n standalone: false,\n})\n/**\n * Directive for applying ECL row styling to a table row element.\n */\nexport class EclTableRowDirective extends ECLBaseDirective {\n /**\n * Applies `ecl-table__row` class to the table row.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__row')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclTableBody]',\n standalone: false,\n})\n/**\n * Directive for applying ECL body styling to a table body element.\n */\nexport class EclTableBodyDirective extends ECLBaseDirective {\n /**\n * Applies `ecl-table__body` class to the table body.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__body')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclTableCell]',\n standalone: false,\n})\n/**\n * Directive for styling individual table cells in the ECL table.\n */\nexport class EclTableCellDirective extends ECLBaseDirective {\n /**\n * Provides a reference to the related table header.\n * Sets the `data-ecl-table-header` attribute for accessibility or responsive behavior.\n */\n @Input() @HostBinding('attr.data-ecl-table-header') eclTableCellHeader: string;\n\n /**\n * If `true`, applies additional group styling to the cell.\n */\n @Input() @HostBinding('class.ecl-table__cell--group') isGroup = false;\n\n /**\n * Computes and applies appropriate CSS classes for the table cell.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__cell'), this.isGroup ? 'ecl-table__cell--group' : ''].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclTableCellGroup]',\n standalone: false,\n})\n/**\n * Directive used to group multiple table cells under a shared header group.\n */\nexport class EclTableCellGroupDirective extends ECLBaseDirective implements AfterViewInit {\n /**\n * Sets the `data-ecl-table-header-group` attribute to link to a header group.\n */\n @Input() @HostBinding('attr.data-ecl-table-header-group') eclTableCellGroup: string;\n\n /**\n * Applies the group-specific cell class.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__cell--group')].join(' ').trim();\n }\n\n constructor(private cd: ChangeDetectorRef) {\n super();\n }\n\n /**\n * Ensures `data-ecl-table-header-group` is not empty and triggers change detection.\n */\n ngAfterViewInit(): void {\n this.eclTableCellGroup = this.eclTableCellGroup !== '' ? this.eclTableCellGroup : null;\n this.cd.detectChanges();\n }\n}\n\n@Directive({\n selector: '[eclTableResponsive]',\n standalone: false,\n})\n/**\n * Directive for applying ECL responsive wrapper to a table container.\n */\nexport class EclTableResponsiveDirective extends ECLBaseDirective {\n /**\n * Applies the `ecl-table-responsive` class.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table-responsive')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: 'caption[eclTableCaption]',\n standalone: false,\n})\n/**\n * Directive for applying styling to a table caption element.\n */\nexport class EclTableCaptionDirective extends ECLBaseDirective {\n /**\n * Applies the `ecl-table__caption` class to the caption.\n */\n @HostBinding('class.ecl-table__caption') hasClass = true;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclIconModule } from '@eui/ecl/components/ecl-icon';\nimport {\n EclTableDirective,\n EclTableHeadDirective,\n EclTableHeaderDirective,\n EclTableRowDirective,\n EclTableBodyDirective,\n EclTableCellDirective,\n EclTableCellGroupDirective,\n EclTableResponsiveDirective,\n EclTableCaptionDirective,\n} from './ecl-table.directive';\nimport { EclTableSortButtonComponent } from './ecl-table-sort-button.component';\n\nconst COMPONENTS = [\n EclTableCaptionDirective,\n EclTableDirective,\n EclTableHeadDirective,\n EclTableHeaderDirective,\n EclTableRowDirective,\n EclTableBodyDirective,\n EclTableCellDirective,\n EclTableCellGroupDirective,\n EclTableSortButtonComponent,\n EclTableResponsiveDirective,\n];\n@NgModule({\n imports: [CommonModule, EclIconModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclTableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|