@alaarab/ogrid-angular-material 2.5.5 → 2.5.7

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 CHANGED
@@ -198,7 +198,7 @@ import {INLINE_CELL_EDITOR_STYLES,INLINE_CELL_EDITOR_TEMPLATE,POPOVER_CELL_EDITO
198
198
  opacity: 0.6; transition: opacity 0.15s;
199
199
  }
200
200
  .ogrid-header-filter:hover .ogrid-header-filter__filter-btn { opacity: 0.8; }
201
- /* :hover and --active must override the parent-hover rule (0,2,0) \u2014 double-class raises to 0,3,0 */
201
+ /* :hover and --active must override the parent-hover rule (0,2,0) - double-class raises to 0,3,0 */
202
202
  .ogrid-header-filter .ogrid-header-filter__filter-btn:hover { background: var(--ogrid-hover-bg, rgba(0, 0, 0, 0.08)); opacity: 1; }
203
203
  .ogrid-header-filter .ogrid-header-filter__filter-btn--active { opacity: 1; }
204
204
  .ogrid-header-filter__funnel {
@@ -331,6 +331,12 @@ import {INLINE_CELL_EDITOR_STYLES,INLINE_CELL_EDITOR_TEMPLATE,POPOVER_CELL_EDITO
331
331
  color: var(--ogrid-fg-secondary, rgba(0, 0, 0, 0.54));
332
332
  }
333
333
 
334
+ /* Always reserve space; hide on hover-capable devices until column is hovered.
335
+ The th:hover rule lives in the parent (ViewEncapsulation.None) styles. */
336
+ @media (hover: hover) {
337
+ .column-header-menu-trigger { visibility: hidden; }
338
+ }
339
+
334
340
  .column-header-menu-trigger:hover {
335
341
  background: var(--ogrid-hover-bg, rgba(0, 0, 0, 0.08));
336
342
  color: var(--ogrid-fg, rgba(0, 0, 0, 0.87));
@@ -592,7 +598,7 @@ import {INLINE_CELL_EDITOR_STYLES,INLINE_CELL_EDITOR_TEMPLATE,POPOVER_CELL_EDITO
592
598
  [style]="cellStyle ?? undefined"
593
599
  >
594
600
  @if (colLayout.col.type === 'boolean') {
595
- <input type="checkbox" [checked]="!!descriptor.displayValue" [disabled]="!descriptor.canEditAny" (change)="descriptor.canEditAny ? commitEdit(item, colLayout.col.columnId, !!descriptor.displayValue, !descriptor.displayValue, rowIndex, descriptor.globalColIndex) : null" (click)="$event.stopPropagation()" style="margin:0;outline:none" [style.cursor]="descriptor.canEditAny ? 'pointer' : 'default'" [attr.aria-label]="descriptor.displayValue ? 'Checked' : 'Unchecked'" />
601
+ <input type="checkbox" [checked]="!!descriptor.displayValue" [disabled]="!descriptor.canEditAny" (change)="descriptor.canEditAny ? commitBooleanEdit(item, colLayout.col.columnId, !!descriptor.displayValue, rowIndex, descriptor.globalColIndex) : null" (pointerdown)="onBooleanCheckboxPointerDown($event, rowIndex, descriptor.globalColIndex)" (click)="$event.stopPropagation()" style="margin:0;outline:none" [style.cursor]="descriptor.canEditAny ? 'pointer' : 'default'" [attr.aria-label]="descriptor.displayValue ? 'Checked' : 'Unchecked'" />
596
602
  } @else {
597
603
  {{ content }}
598
604
  }
@@ -791,7 +797,7 @@ import {INLINE_CELL_EDITOR_STYLES,INLINE_CELL_EDITOR_TEMPLATE,POPOVER_CELL_EDITO
791
797
  outline: 2px solid var(--mat-sys-primary, #1976d2); outline-offset: -2px; z-index: 3;
792
798
  }
793
799
  .ogrid-datagrid-cell--numeric { justify-content: flex-end; text-align: right; }
794
- .ogrid-datagrid-cell--boolean { justify-content: center; text-align: center; }
800
+ .ogrid-datagrid-cell--boolean { justify-content: flex-start; }
795
801
  .ogrid-datagrid-cell--editable { cursor: cell; }
796
802
  .ogrid-datagrid-cell--active {
797
803
  outline: 2px solid var(--ogrid-selection-color, #217346); outline-offset: -1px;
@@ -889,6 +895,12 @@ import {INLINE_CELL_EDITOR_STYLES,INLINE_CELL_EDITOR_TEMPLATE,POPOVER_CELL_EDITO
889
895
  font-variant-numeric: tabular-nums;
890
896
  }
891
897
 
898
+ /* Reveal column menu trigger on header hover without layout shift.
899
+ The button always takes up space (visibility: hidden); shown when column is hovered. */
900
+ @media (hover: hover) {
901
+ th:hover .column-header-menu-trigger { visibility: visible; }
902
+ }
903
+
892
904
  /* Angular Material Menu popup dark mode overrides.
893
905
  Double-class selector (0,2,0) beats MUI's single-class (0,1,0) defaults. */
894
906
  .mat-mdc-menu-panel.mat-mdc-menu-panel {
@@ -3,7 +3,7 @@ import { BaseDataGridTableComponent } from '@alaarab/ogrid-angular';
3
3
  import type { IOGridDataGridProps } from '@alaarab/ogrid-angular';
4
4
  /**
5
5
  * DataGridTable component using native HTML table with Material Design-inspired styling.
6
- * Standalone componentthis is the workhorse of the grid.
6
+ * Standalone component - this is the workhorse of the grid.
7
7
  */
8
8
  export declare class DataGridTableComponent<T> extends BaseDataGridTableComponent<T> {
9
9
  private readonly propsSignal;
@@ -1,7 +1,7 @@
1
1
  import { BaseOGridComponent } from '@alaarab/ogrid-angular';
2
2
  /**
3
3
  * Top-level OGrid component for Angular Material.
4
- * Standalone componentprovides OGridService and renders OGridLayout with all sub-components.
4
+ * Standalone component - provides OGridService and renders OGridLayout with all sub-components.
5
5
  *
6
6
  * Uses @Input with signal setter for JIT compatibility (project builds with tsc, not ngc).
7
7
  * The effect() reactively configures the service when the input signal changes.
@@ -1,7 +1,7 @@
1
1
  import { BasePaginationControlsComponent } from '@alaarab/ogrid-angular';
2
2
  /**
3
3
  * Pagination controls component using Angular Material styling.
4
- * Standalone component with inline templateno Angular Material dependency for pagination.
4
+ * Standalone component with inline template - no Angular Material dependency for pagination.
5
5
  */
6
6
  export declare class PaginationControlsComponent extends BasePaginationControlsComponent {
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alaarab/ogrid-angular-material",
3
- "version": "2.5.5",
3
+ "version": "2.5.7",
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.5.5"
40
+ "@alaarab/ogrid-angular": "2.5.7"
41
41
  },
42
42
  "peerDependencies": {
43
43
  "@angular/cdk": "^21.0.0",