mn-angular-lib 1.0.169 → 1.0.171

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mn-angular-lib",
3
- "version": "1.0.169",
3
+ "version": "1.0.171",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.1.3",
6
6
  "@angular/core": "^21.1.3",
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, Provider, TemplateRef, OnInit, EventEmitter, OnChanges, ElementRef, OnDestroy, PipeTransform, DoCheck, ChangeDetectorRef, Type, ComponentRef, AfterViewInit, QueryList, ViewContainerRef, SimpleChanges, Signal } from '@angular/core';
2
+ import { InjectionToken, Provider, TemplateRef, OnInit, EventEmitter, OnChanges, ElementRef, OnDestroy, PipeTransform, DoCheck, ChangeDetectorRef, Type, ComponentRef, AfterViewInit, QueryList, ViewContainerRef, SimpleChanges, Signal, AfterViewChecked } from '@angular/core';
3
3
  export { TemplateRef, Type } from '@angular/core';
4
4
  import * as tailwind_variants from 'tailwind-variants';
5
5
  import { VariantProps } from 'tailwind-variants';
@@ -914,6 +914,11 @@ declare class MnInputField implements OnInit {
914
914
  * Determines whether to show error messages.
915
915
  * Errors are shown when the control is invalid and has been touched or modified.
916
916
  */
917
+ /**
918
+ * Ids of the rendered error messages, space-separated, for `aria-describedby`. Mirrors the
919
+ * `{id}-error` / `{id}-{index}-error` ids `mn-error-message` renders in single and show-all mode.
920
+ */
921
+ get errorDescribedBy(): string;
917
922
  get showError(): boolean;
918
923
  /**
919
924
  * Picks the error key to display based on errorPriority.
@@ -1528,6 +1533,11 @@ declare class MnTextarea implements OnInit {
1528
1533
  * Determines whether to show error messages.
1529
1534
  * Errors are shown when the control is invalid and has been touched or modified.
1530
1535
  */
1536
+ /**
1537
+ * Ids of the rendered error messages, space-separated, for `aria-describedby`. Mirrors the
1538
+ * `{id}-error` / `{id}-{index}-error` ids `mn-error-message` renders in single and show-all mode.
1539
+ */
1540
+ get errorDescribedBy(): string;
1531
1541
  get showError(): boolean;
1532
1542
  /**
1533
1543
  * Picks the error key to display based on errorPriority.
@@ -2812,6 +2822,8 @@ type MnMultiSelectProps<TValue = unknown> = {
2812
2822
  errorPriority?: string[];
2813
2823
  /** Whether to use built-in default error messages (default: true) */
2814
2824
  useBuiltInErrorMessages?: boolean;
2825
+ /** ARIA label for screen readers (overrides uiConfig.ariaLabel when provided); use it when the control has no visible label, e.g. a table filter. */
2826
+ ariaLabel?: string;
2815
2827
  /** Whether to display all validation errors or just the first/priority error (default: false) */
2816
2828
  showAllErrors?: boolean;
2817
2829
  };
@@ -3991,6 +4003,8 @@ type MnSelectProps<TValue = unknown> = {
3991
4003
  errorPriority?: string[];
3992
4004
  /** Whether to use built-in default error messages (default: true) */
3993
4005
  useBuiltInErrorMessages?: boolean;
4006
+ /** ARIA label for screen readers (overrides uiConfig.ariaLabel when provided); use it when the select has no visible label, e.g. a table filter. */
4007
+ ariaLabel?: string;
3994
4008
  /** Whether to display all validation errors or just the first/priority error (default: false) */
3995
4009
  showAllErrors?: boolean;
3996
4010
  };
@@ -5308,6 +5322,8 @@ type ColumnFilterConfig<T> = (ColumnFilterCommon & {
5308
5322
  };
5309
5323
  type ColumnDefinition<T> = ColumnBase<T> & ColumnFilterConfig<T>;
5310
5324
  type TableDataSource<T> = MnSelectableCollectionDataSource<T> & {
5325
+ /** Accessible name of the scrollable table region; without it the `mnCollection.dataTable` convention key is used. */
5326
+ ariaLabel?: string;
5311
5327
  columns: ColumnDefinition<T>[];
5312
5328
  defaultSort?: SortState;
5313
5329
  onRowClick?: (row: T) => void;
@@ -5491,6 +5507,12 @@ declare class MnTable<T = object> extends MnSelectableCollectionBase<T, TableDat
5491
5507
  */
5492
5508
  getColumnSkeletonData(column: ColumnDefinition<T>): Partial<MnSkeletonProps>;
5493
5509
  getSortIcon(column: ColumnDefinition<T>): string;
5510
+ /**
5511
+ * Accessible name for a column's inline filter control: the header text, or the column key when
5512
+ * the header is a template.
5513
+ * @param column - The filtered column.
5514
+ */
5515
+ filterLabel(column: ColumnDefinition<T>): string;
5494
5516
  isSortable(column: ColumnDefinition<T>): boolean;
5495
5517
  constructor();
5496
5518
  /**
@@ -8442,7 +8464,7 @@ type MnTabDataSource = {
8442
8464
  * a back button or a shared link lands on the same tab; see
8443
8465
  * {@link MnTabDataSource.urlParam} to rename that parameter or switch it off.
8444
8466
  */
8445
- declare class MnTabComponent implements DoCheck, AfterViewInit, OnDestroy {
8467
+ declare class MnTabComponent implements DoCheck, AfterViewInit, AfterViewChecked, OnDestroy {
8446
8468
  /**
8447
8469
  * Router the active tab is written to. Optional: a tab bar used outside a
8448
8470
  * routed application still works, it just has no URL to mirror into.
@@ -8543,6 +8565,17 @@ declare class MnTabComponent implements DoCheck, AfterViewInit, OnDestroy {
8543
8565
  * loaded) re-checks whether either edge overflows at all.
8544
8566
  */
8545
8567
  ngAfterViewInit(): void;
8568
+ /** Wrapper geometry (`scrollWidth:clientWidth`) at the last fade evaluation. */
8569
+ private lastFadeGeometry;
8570
+ /**
8571
+ * Re-evaluates the edge fade when the wrapper's scrollable extent changes without its box
8572
+ * changing. {@link resizeObserver} only sees border-box changes, and the tab row is a
8573
+ * block-level flex container that keeps its parent's width while its tabs overflow inside it,
8574
+ * so tabs that arrive after init (permission-gated tabs, badge counts, skeleton → loaded) grow
8575
+ * `scrollWidth` without firing it; until a resize or scroll the fade stayed off. Two property
8576
+ * reads per pass; the repaint only runs when they moved.
8577
+ */
8578
+ ngAfterViewChecked(): void;
8546
8579
  ngOnDestroy(): void;
8547
8580
  /**
8548
8581
  * Paints a fade over whichever edge has tabs scrolled out of view — a soft