@alaarab/ogrid-angular-material 2.1.10 → 2.1.11
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/dist/esm/index.js +25 -21
- package/package.json +2 -2
package/dist/esm/index.js
CHANGED
|
@@ -45,6 +45,8 @@ ColumnHeaderFilterComponent = __decorateClass([
|
|
|
45
45
|
[class.ogrid-header-filter__filter-btn--active]="hasActiveFilter() || isFilterOpen()"
|
|
46
46
|
(click)="toggleFilter($event)"
|
|
47
47
|
[attr.aria-label]="'Filter ' + columnName"
|
|
48
|
+
[attr.aria-expanded]="isFilterOpen()"
|
|
49
|
+
aria-haspopup="dialog"
|
|
48
50
|
[title]="'Filter ' + columnName"
|
|
49
51
|
>
|
|
50
52
|
<span class="ogrid-header-filter__funnel"></span>
|
|
@@ -229,8 +231,9 @@ ColumnHeaderFilterComponent = __decorateClass([
|
|
|
229
231
|
opacity: 0.6; transition: opacity 0.15s;
|
|
230
232
|
}
|
|
231
233
|
.ogrid-header-filter:hover .ogrid-header-filter__filter-btn { opacity: 0.8; }
|
|
232
|
-
|
|
233
|
-
.ogrid-header-filter__filter-btn
|
|
234
|
+
/* :hover and --active must override the parent-hover rule (0,2,0) \u2014 double-class raises to 0,3,0 */
|
|
235
|
+
.ogrid-header-filter .ogrid-header-filter__filter-btn:hover { background: var(--ogrid-hover-bg, rgba(0, 0, 0, 0.08)); opacity: 1; }
|
|
236
|
+
.ogrid-header-filter .ogrid-header-filter__filter-btn--active { opacity: 1; }
|
|
234
237
|
.ogrid-header-filter__funnel {
|
|
235
238
|
display: block; width: 0; height: 0;
|
|
236
239
|
border-left: 5px solid transparent; border-right: 5px solid transparent;
|
|
@@ -541,7 +544,6 @@ DataGridTableComponent = __decorateClass([
|
|
|
541
544
|
#wrapperEl
|
|
542
545
|
class="ogrid-datagrid-wrapper"
|
|
543
546
|
[class.ogrid-datagrid-wrapper--fit]="layoutModeFit()"
|
|
544
|
-
[class.ogrid-datagrid-wrapper--overflow-x]="allowOverflowX()"
|
|
545
547
|
[class.ogrid-datagrid-wrapper--loading-empty]="isLoading() && items().length === 0"
|
|
546
548
|
[style.--ogrid-row-height]="rowHeightCssVar()"
|
|
547
549
|
tabindex="0"
|
|
@@ -552,12 +554,12 @@ DataGridTableComponent = __decorateClass([
|
|
|
552
554
|
(keydown)="onGridKeyDown($event)"
|
|
553
555
|
(scroll)="onWrapperScroll($event)"
|
|
554
556
|
(contextmenu)="$event.preventDefault()"
|
|
555
|
-
[attr.data-
|
|
557
|
+
[attr.data-suppress-scroll]="getProps()?.suppressHorizontalScroll ? 'true' : null"
|
|
556
558
|
>
|
|
557
559
|
<div class="ogrid-datagrid-scroll-wrapper">
|
|
558
|
-
<div
|
|
560
|
+
<div style="width: max-content; min-width: 100%; overflow: clip">
|
|
559
561
|
<div [class.ogrid-datagrid-table-wrapper--loading]="isLoading() && items().length > 0" #tableContainerElRef>
|
|
560
|
-
<table class="ogrid-datagrid-table"
|
|
562
|
+
<table class="ogrid-datagrid-table" role="grid"
|
|
561
563
|
>
|
|
562
564
|
<thead [class]="stickyHeader() ? 'ogrid-datagrid-thead ogrid-sticky-header' : 'ogrid-datagrid-thead'">
|
|
563
565
|
@for (row of headerRows(); track $index; let rowIdx = $index) {
|
|
@@ -667,6 +669,7 @@ DataGridTableComponent = __decorateClass([
|
|
|
667
669
|
class="ogrid-datagrid-row"
|
|
668
670
|
[class.ogrid-datagrid-row--selected]="isSelected"
|
|
669
671
|
[attr.data-row-id]="rowId"
|
|
672
|
+
[attr.aria-selected]="isSelected || null"
|
|
670
673
|
(click)="onRowClick($event, rowId)"
|
|
671
674
|
>
|
|
672
675
|
@if (hasCheckboxCol()) {
|
|
@@ -856,18 +859,18 @@ DataGridTableComponent = __decorateClass([
|
|
|
856
859
|
.ogrid-datagrid-root { position: relative; flex: 1; min-height: 0; display: flex; flex-direction: column; }
|
|
857
860
|
.ogrid-datagrid-wrapper {
|
|
858
861
|
position: relative; flex: 1; min-height: 0; width: 100%; max-width: 100%;
|
|
859
|
-
overflow-x:
|
|
862
|
+
overflow-x: auto; overflow-y: auto; background: var(--ogrid-bg, #ffffff);
|
|
860
863
|
color: var(--ogrid-fg, rgba(0, 0, 0, 0.87));
|
|
861
864
|
will-change: scroll-position; outline: none;
|
|
862
865
|
}
|
|
863
|
-
.ogrid-datagrid-wrapper
|
|
866
|
+
.ogrid-datagrid-wrapper[data-suppress-scroll='true'] { overflow-x: hidden; }
|
|
867
|
+
.ogrid-datagrid-wrapper [data-drag-range] { background: var(--ogrid-range-bg, rgba(33, 115, 70, 0.12)); }
|
|
864
868
|
.ogrid-datagrid-wrapper--fit { width: fit-content; }
|
|
865
|
-
.ogrid-datagrid-wrapper--overflow-x { overflow-x: auto; }
|
|
866
869
|
.ogrid-datagrid-wrapper--loading-empty { min-height: 200px; }
|
|
867
870
|
.ogrid-datagrid-scroll-wrapper { display: flex; flex-direction: column; min-height: 100%; }
|
|
868
871
|
.ogrid-datagrid-table-wrapper--loading { position: relative; opacity: 0.6; }
|
|
869
872
|
.ogrid-datagrid-table {
|
|
870
|
-
width: 100%; border-collapse: collapse; table-layout: fixed;
|
|
873
|
+
width: 100%; min-width: max-content; border-collapse: collapse; table-layout: fixed;
|
|
871
874
|
}
|
|
872
875
|
.ogrid-datagrid-table tbody tr { height: var(--ogrid-row-height, auto); }
|
|
873
876
|
.ogrid-datagrid-thead {
|
|
@@ -930,7 +933,7 @@ DataGridTableComponent = __decorateClass([
|
|
|
930
933
|
}
|
|
931
934
|
.ogrid-datagrid-cell {
|
|
932
935
|
width: 100%; height: 100%; display: flex; align-items: center; min-width: 0;
|
|
933
|
-
padding: 6px 10px; box-sizing: border-box; overflow: hidden;
|
|
936
|
+
padding: var(--ogrid-cell-padding, 6px 10px); box-sizing: border-box; overflow: hidden;
|
|
934
937
|
text-overflow: ellipsis; white-space: nowrap; user-select: none; outline: none;
|
|
935
938
|
font-size: 14px; color: var(--ogrid-fg, rgba(0, 0, 0, 0.87));
|
|
936
939
|
}
|
|
@@ -1016,19 +1019,20 @@ DataGridTableComponent = __decorateClass([
|
|
|
1016
1019
|
position: fixed; inset: 0; z-index: 1000;
|
|
1017
1020
|
}
|
|
1018
1021
|
|
|
1019
|
-
/* Angular Material Menu popup dark mode overrides
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1022
|
+
/* Angular Material Menu popup dark mode overrides.
|
|
1023
|
+
Double-class selector (0,2,0) beats MUI's single-class (0,1,0) defaults. */
|
|
1024
|
+
.mat-mdc-menu-panel.mat-mdc-menu-panel {
|
|
1025
|
+
background: var(--ogrid-bg, #ffffff);
|
|
1026
|
+
color: var(--ogrid-fg, rgba(0, 0, 0, 0.87));
|
|
1023
1027
|
}
|
|
1024
|
-
.mat-mdc-menu-item {
|
|
1025
|
-
color: var(--ogrid-fg, rgba(0, 0, 0, 0.87))
|
|
1028
|
+
.mat-mdc-menu-item.mat-mdc-menu-item {
|
|
1029
|
+
color: var(--ogrid-fg, rgba(0, 0, 0, 0.87));
|
|
1026
1030
|
}
|
|
1027
|
-
.mat-mdc-menu-item:hover:not([disabled]) {
|
|
1028
|
-
background: var(--ogrid-hover-bg, rgba(0, 0, 0, 0.04))
|
|
1031
|
+
.mat-mdc-menu-item.mat-mdc-menu-item:hover:not([disabled]) {
|
|
1032
|
+
background: var(--ogrid-hover-bg, rgba(0, 0, 0, 0.04));
|
|
1029
1033
|
}
|
|
1030
|
-
.mat-mdc-menu-item .mat-mdc-menu-item-text {
|
|
1031
|
-
color: var(--ogrid-fg, rgba(0, 0, 0, 0.87))
|
|
1034
|
+
.mat-mdc-menu-item.mat-mdc-menu-item .mat-mdc-menu-item-text {
|
|
1035
|
+
color: var(--ogrid-fg, rgba(0, 0, 0, 0.87));
|
|
1032
1036
|
}
|
|
1033
1037
|
`]
|
|
1034
1038
|
})
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alaarab/ogrid-angular-material",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.11",
|
|
4
4
|
"description": "OGrid Angular Material – MatTable-based data grid with sorting, filtering, pagination, column chooser, and CSV export.",
|
|
5
5
|
"main": "dist/esm/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"node": ">=18"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@alaarab/ogrid-angular": "2.1.
|
|
40
|
+
"@alaarab/ogrid-angular": "2.1.11"
|
|
41
41
|
},
|
|
42
42
|
"peerDependencies": {
|
|
43
43
|
"@angular/cdk": "^21.0.0",
|