@tedi-design-system/angular 6.5.0-rc.16 → 6.5.0-rc.18

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/tedi/index.d.ts CHANGED
@@ -1,18 +1,18 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { AfterContentChecked, AfterViewInit, InputSignal, Signal, PipeTransform, ElementRef, TemplateRef, OnDestroy, Injector, InjectionToken, WritableSignal, OnInit, AfterContentInit, AfterViewChecked, QueryList, EnvironmentProviders } from '@angular/core';
2
+ import { AfterContentChecked, AfterViewInit, InputSignal, Signal, PipeTransform, ElementRef, TemplateRef, OnDestroy, Injector, InjectionToken, WritableSignal, OnInit, AfterViewChecked, AfterContentInit, QueryList, EnvironmentProviders } from '@angular/core';
3
3
  import * as _tedi_design_system_angular_tedi from '@tedi-design-system/angular/tedi';
4
+ import { ControlValueAccessor, NgControl } from '@angular/forms';
4
5
  import * as _tanstack_table_core from '@tanstack/table-core';
5
6
  import { CdkDragDrop } from '@angular/cdk/drag-drop';
6
7
  import { Table, VisibilityState, ColumnOrderState, ColumnSizingState, RowSelectionState, ExpandedState, ColumnFiltersState, SortingState, PaginationState, ColumnDef, CellContext, Row, Column } from '@tanstack/angular-table';
7
8
  import * as _angular_cdk_overlay from '@angular/cdk/overlay';
8
9
  import { ConnectedOverlayPositionChange, ConnectedPosition, CdkOverlayOrigin, CdkConnectedOverlay } from '@angular/cdk/overlay';
9
- import { ControlValueAccessor, NgControl } from '@angular/forms';
10
+ import { _IdGenerator } from '@angular/cdk/a11y';
10
11
  import { CdkListbox } from '@angular/cdk/listbox';
11
12
  import { Observable } from 'rxjs';
12
13
  import { DialogRef } from '@angular/cdk/dialog';
13
14
  import { ComponentType } from '@angular/cdk/portal';
14
15
  import * as i1 from '@angular/cdk/scrolling';
15
- import { _IdGenerator } from '@angular/cdk/a11y';
16
16
 
17
17
  type IconSize = 8 | 12 | 16 | 18 | 24 | 36 | 48 | "inherit";
18
18
  type IconVariant = "filled" | "outlined";
@@ -1361,6 +1361,13 @@ declare const translationsMap: {
1361
1361
  en: string;
1362
1362
  ru: string;
1363
1363
  };
1364
+ "date-picker.today": {
1365
+ description: string;
1366
+ components: string[];
1367
+ et: string;
1368
+ en: string;
1369
+ ru: string;
1370
+ };
1364
1371
  "date-picker.go-next-month": {
1365
1372
  description: string;
1366
1373
  components: string[];
@@ -1368,6 +1375,41 @@ declare const translationsMap: {
1368
1375
  en: string;
1369
1376
  ru: string;
1370
1377
  };
1378
+ "date-picker.calendar-nav": {
1379
+ description: string;
1380
+ components: string[];
1381
+ et: string;
1382
+ en: string;
1383
+ ru: string;
1384
+ };
1385
+ "date-picker.choose-month": {
1386
+ description: string;
1387
+ components: string[];
1388
+ et: string;
1389
+ en: string;
1390
+ ru: string;
1391
+ };
1392
+ "date-picker.choose-year": {
1393
+ description: string;
1394
+ components: string[];
1395
+ et: string;
1396
+ en: string;
1397
+ ru: string;
1398
+ };
1399
+ "date-picker.week-number": {
1400
+ description: string;
1401
+ components: string[];
1402
+ et: (n: number) => string;
1403
+ en: (n: number) => string;
1404
+ ru: (n: number) => string;
1405
+ };
1406
+ "date-picker.week-number-header": {
1407
+ description: string;
1408
+ components: string[];
1409
+ et: string;
1410
+ en: string;
1411
+ ru: string;
1412
+ };
1371
1413
  "date-picker.go-prev-month": {
1372
1414
  description: string;
1373
1415
  components: string[];
@@ -1417,6 +1459,41 @@ declare const translationsMap: {
1417
1459
  en: string;
1418
1460
  ru: string;
1419
1461
  };
1462
+ "date-field.remove-chip": {
1463
+ description: string;
1464
+ components: string[];
1465
+ et: (label: string) => string;
1466
+ en: (label: string) => string;
1467
+ ru: (label: string) => string;
1468
+ };
1469
+ "date-field.calendar-dialog": {
1470
+ description: string;
1471
+ components: string[];
1472
+ et: string;
1473
+ en: string;
1474
+ ru: string;
1475
+ };
1476
+ "date-field.modal-title": {
1477
+ description: string;
1478
+ components: string[];
1479
+ et: string;
1480
+ en: string;
1481
+ ru: string;
1482
+ };
1483
+ "date-field.confirm": {
1484
+ description: string;
1485
+ components: string[];
1486
+ et: string;
1487
+ en: string;
1488
+ ru: string;
1489
+ };
1490
+ "date-field.cancel": {
1491
+ description: string;
1492
+ components: string[];
1493
+ et: string;
1494
+ en: string;
1495
+ ru: string;
1496
+ };
1420
1497
  "time-picker.hours": {
1421
1498
  description: string;
1422
1499
  components: string[];
@@ -2375,6 +2452,437 @@ declare class CarouselNavigationComponent {
2375
2452
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<CarouselNavigationComponent, "tedi-carousel-navigation", never, {}, {}, never, never, true, never>;
2376
2453
  }
2377
2454
 
2455
+ /**
2456
+ * A date range with an inclusive start (`from`) and optional inclusive end (`to`).
2457
+ * When `to` is undefined the range degenerates to the single day `from`.
2458
+ */
2459
+ type DateRange = {
2460
+ from: Date;
2461
+ to?: Date;
2462
+ };
2463
+ /**
2464
+ * Formats a Date object to dd.MM.yyyy string format.
2465
+ *
2466
+ * Thin wrapper around `formatLocaleDate(date, 'et-EE')` kept for back-compat.
2467
+ * New code should call `formatLocaleDate` directly with the desired locale.
2468
+ */
2469
+ declare function formatDate(date: Date): string;
2470
+ /**
2471
+ * Parses a dd.MM.yyyy string to a Date object.
2472
+ * Returns null if the string is invalid.
2473
+ *
2474
+ * Thin wrapper around `parseLocaleDate(str, 'et-EE')` kept for back-compat.
2475
+ * Note: `parseLocaleDate` returns `Date | undefined`; this wrapper normalizes
2476
+ * undefined to null so existing callers asserting `=== null` still work.
2477
+ */
2478
+ declare function parseDate(str: string): Date | null;
2479
+ /**
2480
+ * Checks if two dates represent the same calendar day.
2481
+ */
2482
+ declare function isSameDay(a: Date, b: Date): boolean;
2483
+ /**
2484
+ * Checks if date a is before date b (day-level, time ignored).
2485
+ */
2486
+ declare function isBeforeDay(a: Date, b: Date): boolean;
2487
+ /**
2488
+ * Checks if date a is after date b (day-level, time ignored).
2489
+ */
2490
+ declare function isAfterDay(a: Date, b: Date): boolean;
2491
+ /**
2492
+ * Returns the ISO week number for a given date.
2493
+ */
2494
+ declare function getISOWeek(date: Date): number;
2495
+ /**
2496
+ * Returns a new Date offset by `n` days from `date`. `n` may be negative.
2497
+ */
2498
+ declare function addDays(date: Date, n: number): Date;
2499
+ /**
2500
+ * Returns a new Date offset by `n` months from `date`. Clamps the day to the
2501
+ * last day of the target month (e.g. Jan 31 + 1 month → Feb 28/29).
2502
+ */
2503
+ declare function addMonths(date: Date, n: number): Date;
2504
+ /**
2505
+ * Returns a new Date offset by `n` years from `date`. Clamps Feb 29 to Feb 28
2506
+ * in non-leap target years.
2507
+ */
2508
+ declare function addYears(date: Date, n: number): Date;
2509
+ /**
2510
+ * Returns the first day of the month for `date` at 00:00 local time.
2511
+ */
2512
+ declare function startOfMonth(date: Date): Date;
2513
+ /**
2514
+ * Returns the last day of the month for `date` at 00:00 local time.
2515
+ */
2516
+ declare function endOfMonth(date: Date): Date;
2517
+ /**
2518
+ * Returns the first day of the week containing `date`, given a locale's
2519
+ * first day of week (0=Sun..6=Sat).
2520
+ */
2521
+ declare function startOfWeek(date: Date, firstDayOfWeek: number): Date;
2522
+ /**
2523
+ * Returns the number of days in the given month/year. `monthIndex` is 0-based.
2524
+ */
2525
+ declare function getDaysInMonth(year: number, monthIndex: number): number;
2526
+ /**
2527
+ * Checks if two dates fall in the same calendar month and year.
2528
+ */
2529
+ declare function isSameMonth(a: Date, b: Date): boolean;
2530
+ /**
2531
+ * Checks if two dates fall in the same calendar year.
2532
+ */
2533
+ declare function isSameYear(a: Date, b: Date): boolean;
2534
+ /**
2535
+ * Returns the locale's first day of week as a JS day index (0=Sun..6=Sat).
2536
+ *
2537
+ * Reads `Intl.Locale(localeCode).getWeekInfo()` when available, falling back
2538
+ * to 1 (Monday) when unavailable. Intl returns 1-7 (1=Mon..7=Sun); this
2539
+ * function converts to JS's 0-6 convention.
2540
+ */
2541
+ declare function getFirstDayOfWeek(localeCode: string): number;
2542
+ /**
2543
+ * Returns 12 month names (January..December) in the requested locale and format.
2544
+ */
2545
+ declare function getMonthNames(localeCode: string, format: "long" | "short"): string[];
2546
+ /**
2547
+ * Returns 7 weekday names starting at `firstDayOfWeek` (0=Sun..6=Sat) in the
2548
+ * requested locale and format.
2549
+ */
2550
+ declare function getWeekdayNames(localeCode: string, format: "long" | "short" | "narrow", firstDayOfWeek: number): string[];
2551
+ /**
2552
+ * Formats a Date according to the given locale's short numeric form.
2553
+ * For `et-EE` produces `dd.MM.yyyy`; for `en-US` `MM/dd/yyyy`; for `en-GB`
2554
+ * `dd/MM/yyyy`; etc.
2555
+ */
2556
+ declare function formatLocaleDate(date: Date, localeCode: string): string;
2557
+ /**
2558
+ * Formats a Date as a long-form, locale-aware string suitable for
2559
+ * `aria-label` use — e.g. for `en-US` produces "Friday, May 16, 2026" and for
2560
+ * `et-EE` "reede, 16. mai 2026". Matches react-day-picker's `labelDay` shape.
2561
+ */
2562
+ declare function formatLocaleDateLong(date: Date, localeCode: string): string;
2563
+ /**
2564
+ * Formats a Date as a locale-aware "Month Year" string — e.g. "May 2026" for
2565
+ * `en-US` and "mai 2026" for `et-EE`. Used as the aria-label for the day
2566
+ * grid and inside the calendar header's aria-live region so screen readers
2567
+ * announce the visible month/year on navigation.
2568
+ */
2569
+ declare function formatMonthYear(date: Date, localeCode: string): string;
2570
+ /**
2571
+ * Builds a locale-aware manual-entry hint such as `pp.kk.aaaa` (et-EE),
2572
+ * `dd.mm.yyyy` (en) or `дд.мм.гггг` (ru). Field order and separators are
2573
+ * derived from `Intl.DateTimeFormat` (so they always match what the field
2574
+ * formats and parses), while the letter tokens are localized per language.
2575
+ * Falls back to English tokens for unknown languages.
2576
+ */
2577
+ declare function formatLocaleDateHint(localeCode: string): string;
2578
+ /**
2579
+ * Parses a locale-formatted date string back into a Date.
2580
+ *
2581
+ * Algorithm (mirrors React's defaultParseDate):
2582
+ * 1. Format a reference date with distinct y/m/d digits via Intl.DateTimeFormat.
2583
+ * 2. Walk `formatToParts` to discover the field order and the literal
2584
+ * separators the locale uses.
2585
+ * 3. Build a regex from that ordering using field-aware digit ranges
2586
+ * (day/month: 1-2 digits, year: 2 or 4 digits) and the actual escaped
2587
+ * separators. 3-digit years are rejected.
2588
+ * 4. Match the (trimmed) input; reject if no match.
2589
+ * 5. Validate ranges and check the constructed Date round-trips (so e.g.
2590
+ * Feb 30 is rejected).
2591
+ *
2592
+ * Returns `undefined` on any failure — silent, caller decides UX.
2593
+ */
2594
+ declare function parseLocaleDate(value: string, localeCode: string): Date | undefined;
2595
+ /**
2596
+ * Returns true if `date` falls within the inclusive `[from, to]` range
2597
+ * (day-level). When `to` is undefined, only `from` matters (same-day check).
2598
+ */
2599
+ declare function isDateInRange(date: Date, range: DateRange): boolean;
2600
+ /**
2601
+ * Toggles a date in an array of dates (day-level). If a same-day entry exists
2602
+ * it is removed; otherwise the date is appended. Returns a new array.
2603
+ */
2604
+ declare function toggleDateInArray(dates: Date[], date: Date): Date[];
2605
+ /**
2606
+ * Builds a 6×7 grid of Date cells for the calendar day view.
2607
+ *
2608
+ * - The first weekday of the month is found, then we walk back to
2609
+ * `firstDayOfWeek` to fill leading cells.
2610
+ * - Cells outside the current month are real Date objects when
2611
+ * `showOutsideDays` is true, otherwise `null`.
2612
+ * - Always returns 6 rows × 7 cells (42 cells total).
2613
+ */
2614
+ declare function buildMonthGrid(month: Date, firstDayOfWeek: number, showOutsideDays: boolean): (Date | null)[][];
2615
+
2616
+ type DateBefore = {
2617
+ before: Date;
2618
+ };
2619
+ type DateAfter = {
2620
+ after: Date;
2621
+ };
2622
+ type DateInterval = {
2623
+ before: Date;
2624
+ after: Date;
2625
+ };
2626
+ type DayOfWeek = {
2627
+ dayOfWeek: number[];
2628
+ };
2629
+ type Matcher = boolean | Date | Date[] | DateBefore | DateAfter | DateInterval | DateRange | DayOfWeek | ((date: Date) => boolean);
2630
+ /**
2631
+ * Returns whether `date` matches the given matcher.
2632
+ *
2633
+ * Semantics mirror react-day-picker:
2634
+ * - `boolean` — returned as-is.
2635
+ * - `Date` — true if same day.
2636
+ * - `Date[]` — true if any entry is the same day.
2637
+ * - `{ before }` — true if date is strictly before `before` (day-level).
2638
+ * - `{ after }` — true if date is strictly after `after` (day-level).
2639
+ * - `{ before, after }` — true if date is OUTSIDE the interval `(after, before)`
2640
+ * (i.e. `date <= after || date >= before`, day-level).
2641
+ * - `{ from, to? }` — true if date is within `[from, to]` inclusive (day-level).
2642
+ * If `to` is omitted, only `from` matters.
2643
+ * - `{ dayOfWeek }` — true if `date.getDay()` is in the array.
2644
+ * - function — called with the date.
2645
+ */
2646
+ declare function matchDate(date: Date, matcher: Matcher): boolean;
2647
+ /**
2648
+ * Returns true if any matcher in the list matches the given date.
2649
+ * An empty array returns false.
2650
+ */
2651
+ declare function matchAny(date: Date, matchers: Matcher[]): boolean;
2652
+
2653
+ type StatusIndicatorType = "success" | "danger" | "warning" | "inactive";
2654
+ type StatusIndicatorSize = "sm" | "lg";
2655
+ type StatusIndicatorPosition = "default" | "top-right";
2656
+ declare class StatusIndicatorComponent {
2657
+ /**
2658
+ * Accessible label for the indicator. When provided, the indicator is
2659
+ * exposed to assistive technology with `role="img"`. When omitted, the
2660
+ * indicator is treated as decorative (`aria-hidden="true"`).
2661
+ */
2662
+ readonly label: _angular_core.InputSignal<string | undefined>;
2663
+ /**
2664
+ * The status type, which determines the indicator color.
2665
+ * @default success
2666
+ */
2667
+ readonly type: _angular_core.InputSignal<StatusIndicatorType>;
2668
+ /**
2669
+ * The size of the indicator.
2670
+ * @default sm
2671
+ */
2672
+ readonly size: _angular_core.InputSignal<StatusIndicatorSize>;
2673
+ /**
2674
+ * Whether the indicator has a white border ring.
2675
+ * @default false
2676
+ */
2677
+ readonly hasBorder: _angular_core.InputSignal<boolean>;
2678
+ /**
2679
+ * Controls positioning of the indicator.
2680
+ * - `'default'` — inline, no absolute positioning
2681
+ * - `'top-right'` — absolutely positioned at the top-right corner of the parent
2682
+ * @default default
2683
+ */
2684
+ readonly position: _angular_core.InputSignal<StatusIndicatorPosition>;
2685
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<StatusIndicatorComponent, never>;
2686
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<StatusIndicatorComponent, "tedi-status-indicator", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "hasBorder": { "alias": "hasBorder"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
2687
+ }
2688
+
2689
+ type CalendarView = "days" | "months" | "years";
2690
+ type DateFieldMode = "single" | "multiple" | "range";
2691
+
2692
+ interface DayStatus {
2693
+ type: StatusIndicatorType;
2694
+ /**
2695
+ * Accessible label for the status. Surfaced on the day button's `aria-label`
2696
+ * so screen readers announce the date together with its status — required to
2697
+ * meet WCAG 1.1.1 / 1.4.1 since the indicator dot alone is decorative.
2698
+ */
2699
+ label: string;
2700
+ }
2701
+ type DayStatusFn = (date: Date) => DayStatus | null | undefined;
2702
+
2703
+ type CalendarValue = Date | Date[] | DateRange | null;
2704
+ type DayPredicate = (date: Date) => boolean;
2705
+ type DayAvailabilityInput$1 = Date[] | DayPredicate | undefined;
2706
+ type MonthPredicate$1 = (month: Date) => boolean;
2707
+ type YearPredicate$1 = (year: Date) => boolean;
2708
+ declare class CalendarComponent implements ControlValueAccessor {
2709
+ /**
2710
+ * Active view (two-way). `days` shows the day grid, `months` the month grid,
2711
+ * `years` the year grid. Driven by `selectionLevel` and the header navigation,
2712
+ * but can be set directly to open the calendar on a specific level.
2713
+ */
2714
+ readonly view: _angular_core.ModelSignal<CalendarView>;
2715
+ /**
2716
+ * The first (left-most) month shown (two-way). Drives which month grid is
2717
+ * rendered and is updated by header navigation and keyboard paging. For
2718
+ * multi-month layouts the additional months follow this one.
2719
+ */
2720
+ readonly currentMonth: _angular_core.ModelSignal<Date>;
2721
+ /**
2722
+ * The selected value (two-way / `ControlValueAccessor`). Shape follows `mode`:
2723
+ * `single` → `Date | null`, `multiple` → `Date[]`, `range` → `{ from, to }`.
2724
+ */
2725
+ readonly value: _angular_core.ModelSignal<CalendarValue>;
2726
+ /**
2727
+ * Selection mode. `single` selects one date, `multiple` toggles dates in an
2728
+ * array, `range` builds a `{ from, to }` range across two clicks.
2729
+ */
2730
+ readonly mode: _angular_core.InputSignal<DateFieldMode>;
2731
+ /**
2732
+ * Lowest level the user can commit to. `days` shows the day grid as the final
2733
+ * step; `months` and `years` commit at that level instead.
2734
+ */
2735
+ readonly selectionLevel: _angular_core.InputSignal<CalendarView>;
2736
+ /**
2737
+ * BCP-47 locale used for weekday/month names and the first day of the week.
2738
+ */
2739
+ readonly localeCode: _angular_core.InputSignal<string>;
2740
+ /**
2741
+ * Render the trailing/leading days from the adjacent month inside the current
2742
+ * month's grid.
2743
+ */
2744
+ readonly showOutsideDays: _angular_core.InputSignal<boolean>;
2745
+ /** Render the ISO week-number column at the start of each row. */
2746
+ readonly showWeekNumbers: _angular_core.InputSignal<boolean>;
2747
+ /** Show the previous/next navigation chevrons in the header. */
2748
+ readonly showNavigation: _angular_core.InputSignal<boolean>;
2749
+ /**
2750
+ * Render the calendar with its own outer border and rounded corners. Disable
2751
+ * when embedding inside a surface that already has a border (e.g. the
2752
+ * DateField overlay).
2753
+ */
2754
+ readonly bordered: _angular_core.InputSignal<boolean>;
2755
+ /**
2756
+ * Matchers that mark dates as disabled. Each matcher can be a `Date`, `Date[]`,
2757
+ * `{ before }`, `{ after }`, `{ before, after }`, `{ from, to? }`,
2758
+ * `{ dayOfWeek: number[] }`, or a `(date) => boolean` predicate.
2759
+ */
2760
+ readonly disabledMatchers: _angular_core.InputSignal<Matcher[]>;
2761
+ /**
2762
+ * Whitelist of selectable days — an explicit `Date[]` or a predicate
2763
+ * `(date) => boolean`. Days outside the whitelist are disabled.
2764
+ */
2765
+ readonly availableDays: _angular_core.InputSignal<DayAvailabilityInput$1>;
2766
+ /**
2767
+ * Blacklist of unavailable days — a `Date[]` or a predicate `(date) => boolean`.
2768
+ * Takes precedence over `availableDays`.
2769
+ */
2770
+ readonly unavailableDays: _angular_core.InputSignal<DayAvailabilityInput$1>;
2771
+ /**
2772
+ * Function `(date) => { type, label } | null | undefined` that overlays a
2773
+ * `tedi-status-indicator` dot on specific days. The `label` is surfaced on the
2774
+ * day button's `aria-label` for screen readers.
2775
+ */
2776
+ readonly dayStatus: _angular_core.InputSignal<DayStatusFn | undefined>;
2777
+ /**
2778
+ * How the header exposes month/year picking. `dropdown` shows two dropdowns;
2779
+ * `grid` switches the body to a month or year grid when the header label is
2780
+ * clicked; `static` renders just the label — only the prev/next chevrons can
2781
+ * change the month.
2782
+ */
2783
+ readonly monthYearSelectType: _angular_core.InputSignal<"static" | "dropdown" | "grid">;
2784
+ /**
2785
+ * When `mode='multiple'`, prevents clearing the last selected date — at least
2786
+ * one date must remain selected.
2787
+ */
2788
+ readonly required: _angular_core.InputSignal<boolean>;
2789
+ /**
2790
+ * How many consecutive months to render side by side. Useful for range
2791
+ * selection. The visible count is capped to what fits the viewport width.
2792
+ */
2793
+ readonly numberOfMonths: _angular_core.InputSignal<number>;
2794
+ /**
2795
+ * Disables all interactions. Combines with the reactive-forms disabled state.
2796
+ */
2797
+ readonly inputDisabled: _angular_core.InputSignal<boolean>;
2798
+ /**
2799
+ * Predicate `(month) => boolean` returning `true` to disable a whole month
2800
+ * (header navigation and the month grid). Leave `undefined` to disable nothing.
2801
+ */
2802
+ readonly shouldDisableMonth: _angular_core.InputSignal<MonthPredicate$1 | undefined>;
2803
+ /**
2804
+ * Predicate `(year) => boolean` returning `true` to disable a whole year
2805
+ * (header navigation and the year grid). Leave `undefined` to disable nothing.
2806
+ */
2807
+ readonly shouldDisableYear: _angular_core.InputSignal<YearPredicate$1 | undefined>;
2808
+ /**
2809
+ * Earliest year offered in the year grid/dropdown. Defaults to 10 years before
2810
+ * the current year when `null`.
2811
+ */
2812
+ readonly minYear: _angular_core.InputSignal<number | null>;
2813
+ /**
2814
+ * Latest year offered in the year grid/dropdown. Defaults to 10 years after
2815
+ * the current year when `null`.
2816
+ */
2817
+ readonly maxYear: _angular_core.InputSignal<number | null>;
2818
+ /**
2819
+ * Emitted whenever a value is committed. `date` is the new full value (shape
2820
+ * follows `mode`); `day` is the specific day/month/year that was clicked.
2821
+ */
2822
+ readonly select: _angular_core.OutputEmitterRef<{
2823
+ date: CalendarValue;
2824
+ day: Date;
2825
+ }>;
2826
+ private readonly hostEl;
2827
+ private readonly injector;
2828
+ private readonly destroyRef;
2829
+ readonly yearPageSize = 12;
2830
+ private readonly cvaDisabled;
2831
+ private readonly internalYearPageStart;
2832
+ readonly hoveredDay: _angular_core.WritableSignal<Date | null>;
2833
+ private readonly viewportWidth;
2834
+ private onChange;
2835
+ private onTouched;
2836
+ constructor();
2837
+ private static readonly VIEWPORT_MARGIN_PX;
2838
+ private updateFitColumns;
2839
+ readonly effectiveDisabled: _angular_core.Signal<boolean>;
2840
+ readonly firstDayOfWeek: _angular_core.Signal<number>;
2841
+ readonly monthDates: _angular_core.Signal<Date[]>;
2842
+ readonly resolvedMinYear: _angular_core.Signal<number>;
2843
+ readonly resolvedMaxYear: _angular_core.Signal<number>;
2844
+ readonly yearPageStart: _angular_core.Signal<number>;
2845
+ readonly selectedSingle: _angular_core.Signal<Date | null>;
2846
+ readonly computedDisabledMatchers: _angular_core.Signal<Matcher[]>;
2847
+ readonly effectiveIsMonthDisabled: _angular_core.Signal<MonthPredicate$1>;
2848
+ readonly effectiveIsYearDisabled: _angular_core.Signal<YearPredicate$1>;
2849
+ writeValue(value: CalendarValue): void;
2850
+ registerOnChange(fn: (value: CalendarValue) => void): void;
2851
+ registerOnTouched(fn: () => void): void;
2852
+ setDisabledState(disabled: boolean): void;
2853
+ handlePrev(): void;
2854
+ handleNext(): void;
2855
+ handleHeaderMonthChange(monthStartDate: Date, index?: number): void;
2856
+ handleHeaderYearChange(yearStartDate: Date, index?: number): void;
2857
+ handleHeaderViewChange(nextView: CalendarView): void;
2858
+ handleDaySelect(day: Date): void;
2859
+ handleMonthSelect(monthStartDate: Date): void;
2860
+ handleYearSelect(yearStartDate: Date): void;
2861
+ private applyModeSelection;
2862
+ handleKeydown(event: KeyboardEvent): void;
2863
+ private handleDaysKeydown;
2864
+ private computeDayKeyTarget;
2865
+ private skipDisabledDays;
2866
+ private adjustCurrentMonthForFocus;
2867
+ private handleMonthsKeydown;
2868
+ private handleYearsKeydown;
2869
+ private focusGridIndex;
2870
+ private queryGridButtons;
2871
+ /**
2872
+ * Moves focus to the calendar's active cell — the roving-tabindex day in the
2873
+ * day view, or the first enabled control in the month/year views. Used by
2874
+ * popover hosts (e.g. date-field) to pull focus into the calendar when it
2875
+ * opens, since the CDK overlay is detached from the trigger in DOM order.
2876
+ */
2877
+ focusActiveCell(): void;
2878
+ private focusDayCell;
2879
+ private commit;
2880
+ private partialRange;
2881
+ private deriveAnchor;
2882
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CalendarComponent, never>;
2883
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CalendarComponent, "tedi-calendar", never, { "view": { "alias": "view"; "required": false; "isSignal": true; }; "currentMonth": { "alias": "currentMonth"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "selectionLevel": { "alias": "selectionLevel"; "required": false; "isSignal": true; }; "localeCode": { "alias": "localeCode"; "required": false; "isSignal": true; }; "showOutsideDays": { "alias": "showOutsideDays"; "required": false; "isSignal": true; }; "showWeekNumbers": { "alias": "showWeekNumbers"; "required": false; "isSignal": true; }; "showNavigation": { "alias": "showNavigation"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; "disabledMatchers": { "alias": "disabledMatchers"; "required": false; "isSignal": true; }; "availableDays": { "alias": "availableDays"; "required": false; "isSignal": true; }; "unavailableDays": { "alias": "unavailableDays"; "required": false; "isSignal": true; }; "dayStatus": { "alias": "dayStatus"; "required": false; "isSignal": true; }; "monthYearSelectType": { "alias": "monthYearSelectType"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "numberOfMonths": { "alias": "numberOfMonths"; "required": false; "isSignal": true; }; "inputDisabled": { "alias": "inputDisabled"; "required": false; "isSignal": true; }; "shouldDisableMonth": { "alias": "shouldDisableMonth"; "required": false; "isSignal": true; }; "shouldDisableYear": { "alias": "shouldDisableYear"; "required": false; "isSignal": true; }; "minYear": { "alias": "minYear"; "required": false; "isSignal": true; }; "maxYear": { "alias": "maxYear"; "required": false; "isSignal": true; }; }, { "view": "viewChange"; "currentMonth": "currentMonthChange"; "value": "valueChange"; "select": "select"; }, never, ["[tediCalendarFooter]"], true, never>;
2884
+ }
2885
+
2378
2886
  type PaginationBackground = "white" | "transparent";
2379
2887
  /**
2380
2888
  * Visibility toggle for the results / page-size / pager / arrow slots.
@@ -4486,19 +4994,414 @@ declare class RadioCardGroupComponent {
4486
4994
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<RadioCardGroupComponent, "tedi-radio-card-group", never, { "grouped": { "alias": "grouped"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
4487
4995
  }
4488
4996
 
4489
- declare class DatePickerCalendarGridComponent {
4490
- private readonly gridElement;
4491
- /** Grid element unique ID for ARIA */
4492
- readonly gridId: _angular_core.InputSignal<string>;
4493
- /** Week rows containing day data */
4494
- readonly weekRows: _angular_core.InputSignal<DatePickerDay[][]>;
4495
- /** Week numbers for each row */
4496
- readonly weekNumbers: _angular_core.InputSignal<number[]>;
4497
- /** Whether to show week numbers */
4498
- readonly showWeekNumbers: _angular_core.InputSignal<boolean>;
4499
- /** Currently active date for keyboard navigation */
4500
- readonly activeDate: _angular_core.InputSignal<Date | null>;
4501
- /** Currently selected date */
4997
+ type EllipsisPosition = "start" | "end";
4998
+ declare class EllipsisComponent {
4999
+ /** Maximum number of lines before truncating. End (multi-line) only. */
5000
+ readonly lineClamp: _angular_core.InputSignal<number>;
5001
+ /** Whether truncated content shows a hover/focus tooltip with full text. */
5002
+ readonly tooltip: _angular_core.InputSignal<boolean>;
5003
+ /** Ellipsis position. 'start' = leading, single-line. 'end' = trailing, multi-line. */
5004
+ readonly position: _angular_core.InputSignal<EllipsisPosition>;
5005
+ readonly content: _angular_core.Signal<ElementRef<HTMLElement> | undefined>;
5006
+ readonly isEllipsed: _angular_core.WritableSignal<boolean>;
5007
+ readonly fullText: _angular_core.WritableSignal<string>;
5008
+ constructor();
5009
+ readonly contentClasses: _angular_core.Signal<string>;
5010
+ readonly clampStyle: _angular_core.Signal<string | null>;
5011
+ private updateEllipsedState;
5012
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<EllipsisComponent, never>;
5013
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EllipsisComponent, "tedi-ellipsis", never, { "lineClamp": { "alias": "lineClamp"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
5014
+ }
5015
+
5016
+ type TagType = "primary" | "secondary" | "danger";
5017
+ type TagEllipsis = "start" | "end" | false;
5018
+ declare class TagComponent {
5019
+ readonly idGenerator: _IdGenerator;
5020
+ readonly uniqueId: string;
5021
+ /**
5022
+ * Whether the tag is in loading state.
5023
+ * When true, a spinner will be displayed inside the tag.
5024
+ * @default false
5025
+ */
5026
+ loading: _angular_core.InputSignal<boolean>;
5027
+ /**
5028
+ * Whether the tag can be closed.
5029
+ * When true, a close button will be displayed that emits the 'closed' event when clicked.
5030
+ * @default false
5031
+ */
5032
+ closable: _angular_core.InputSignal<boolean>;
5033
+ /**
5034
+ * The visual style of the tag.
5035
+ * Possible values: 'primary', 'secondary', 'danger'
5036
+ * @default "primary"
5037
+ */
5038
+ type: _angular_core.InputSignal<TagType>;
5039
+ /**
5040
+ * Which end the label truncates from when it doesn't fit. `false` (default)
5041
+ * never truncates — the label wraps and the tag keeps its full width. `end`
5042
+ * shows an ellipsis at the end (`Long label…`); `start` shows it at the start
5043
+ * (`…label`), which keeps the most significant part of values like dates
5044
+ * visible. Truncation only kicks in when the tag is width-constrained, and the
5045
+ * full label is revealed in a tooltip on hover/focus.
5046
+ * @default false
5047
+ */
5048
+ ellipsis: _angular_core.InputSignal<TagEllipsis>;
5049
+ /**
5050
+ * Event emitted when the close button is clicked.
5051
+ */
5052
+ closed: _angular_core.OutputEmitterRef<Event>;
5053
+ classes: _angular_core.Signal<string>;
5054
+ ellipsisPosition: _angular_core.Signal<EllipsisPosition>;
5055
+ handleClose(event: Event): void;
5056
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TagComponent, never>;
5057
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TagComponent, "tedi-tag", never, { "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "closable": { "alias": "closable"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "ellipsis": { "alias": "ellipsis"; "required": false; "isSignal": true; }; }, { "closed": "closed"; }, never, ["*"], true, never>;
5058
+ }
5059
+
5060
+ interface DateInputTag {
5061
+ id: string;
5062
+ label: string;
5063
+ }
5064
+ declare class DateInputComponent implements AfterViewChecked {
5065
+ readonly inputId: _angular_core.InputSignal<string>;
5066
+ readonly value: _angular_core.InputSignal<string>;
5067
+ readonly tags: _angular_core.InputSignal<readonly DateInputTag[]>;
5068
+ readonly mode: _angular_core.InputSignal<DateFieldMode>;
5069
+ /**
5070
+ * Multiple mode: when `true` (default) the tags wrap to multiple rows and the
5071
+ * field grows in height. When `false` the tags stay on a single row and the
5072
+ * overflow collapses into a "+N" counter tag.
5073
+ */
5074
+ readonly multiRow: _angular_core.InputSignal<boolean>;
5075
+ /** Which end the tag labels truncate from when they don't fit (`false` = no truncation). */
5076
+ readonly ellipsis: _angular_core.InputSignal<TagEllipsis>;
5077
+ /** Whether the tags show a remove (close) button. */
5078
+ readonly removable: _angular_core.InputSignal<boolean>;
5079
+ readonly placeholder: _angular_core.InputSignal<string>;
5080
+ readonly disabled: _angular_core.InputSignal<boolean>;
5081
+ readonly readOnly: _angular_core.InputSignal<boolean>;
5082
+ readonly required: _angular_core.InputSignal<boolean>;
5083
+ readonly iconActive: _angular_core.InputSignal<boolean>;
5084
+ readonly iconDisabled: _angular_core.InputSignal<boolean>;
5085
+ readonly useNativePicker: _angular_core.InputSignal<boolean>;
5086
+ readonly nativeIsoValue: _angular_core.InputSignal<string>;
5087
+ readonly clearable: _angular_core.InputSignal<boolean>;
5088
+ readonly inputChange: _angular_core.OutputEmitterRef<string>;
5089
+ readonly iconClick: _angular_core.OutputEmitterRef<void>;
5090
+ readonly tagRemove: _angular_core.OutputEmitterRef<string>;
5091
+ readonly clear: _angular_core.OutputEmitterRef<void>;
5092
+ private readonly translationService;
5093
+ private readonly ngZone;
5094
+ private readonly inputElement;
5095
+ private readonly fieldElement;
5096
+ private readonly tagElements;
5097
+ /** Number of tags that fit on a single row; `null` until measured. */
5098
+ readonly visibleTagsCount: _angular_core.WritableSignal<number | null>;
5099
+ constructor();
5100
+ ngAfterViewChecked(): void;
5101
+ onResize(): void;
5102
+ readonly hasTags: _angular_core.Signal<boolean>;
5103
+ readonly visibleTags: _angular_core.Signal<readonly DateInputTag[]>;
5104
+ readonly hiddenTagsCount: _angular_core.Signal<number>;
5105
+ readonly inputType: _angular_core.Signal<"date" | "text">;
5106
+ readonly inputValue: _angular_core.Signal<string>;
5107
+ readonly showClear: _angular_core.Signal<boolean>;
5108
+ readonly iconAriaLabel: _angular_core.Signal<string>;
5109
+ readonly clearAriaLabel: _angular_core.Signal<string>;
5110
+ handleInput(event: Event): void;
5111
+ handleIconClick(): void;
5112
+ handleTagRemove(id: string): void;
5113
+ handleClear(): void;
5114
+ private calculateVisibleTags;
5115
+ private getAvailableTagWidth;
5116
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DateInputComponent, never>;
5117
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DateInputComponent, "tedi-date-input", never, { "inputId": { "alias": "inputId"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "tags": { "alias": "tags"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "multiRow": { "alias": "multiRow"; "required": false; "isSignal": true; }; "ellipsis": { "alias": "ellipsis"; "required": false; "isSignal": true; }; "removable": { "alias": "removable"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readOnly": { "alias": "readOnly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "iconActive": { "alias": "iconActive"; "required": false; "isSignal": true; }; "iconDisabled": { "alias": "iconDisabled"; "required": false; "isSignal": true; }; "useNativePicker": { "alias": "useNativePicker"; "required": false; "isSignal": true; }; "nativeIsoValue": { "alias": "nativeIsoValue"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; }, { "inputChange": "inputChange"; "iconClick": "iconClick"; "tagRemove": "tagRemove"; "clear": "clear"; }, never, never, true, never>;
5118
+ }
5119
+
5120
+ /**
5121
+ * Interface implemented by controls that can be used inside `tedi-form-field`.
5122
+ * Allows the form field container to interact with the underlying control.
5123
+ */
5124
+ interface FormFieldControl<T = unknown> {
5125
+ /**
5126
+ * Current value of the control.
5127
+ */
5128
+ value: Signal<T>;
5129
+ /**
5130
+ * Whether the control is disabled.
5131
+ */
5132
+ disabled: Signal<boolean>;
5133
+ /** Reactive invalid state (driven by FormField) */
5134
+ invalid: Signal<boolean>;
5135
+ /** Called by FormField to update invalid state */
5136
+ setInvalidState(isInvalid: boolean): void;
5137
+ /**
5138
+ * Optional method used by the form field clear button.
5139
+ * If implemented, the form field can trigger clearing the value.
5140
+ */
5141
+ clearField?(): void;
5142
+ }
5143
+ /**
5144
+ * Injection token used by `tedi-form-field` to obtain
5145
+ * the associated control instance.
5146
+ */
5147
+ declare const TEDI_FORM_FIELD_CONTROL: InjectionToken<FormFieldControl<unknown>>;
5148
+
5149
+ type DateFieldValue = Date | Date[] | DateRange | null;
5150
+ type DateFieldFormatter = (value: DateFieldValue) => string;
5151
+ type DateFieldParser = (value: string) => DateFieldValue | undefined;
5152
+ type DayAvailabilityInput = Date[] | ((d: Date) => boolean) | undefined;
5153
+ type MonthPredicate = (month: Date) => boolean;
5154
+ type YearPredicate = (year: Date) => boolean;
5155
+ type DateFieldCalendarTrigger = "input" | "button";
5156
+ type DateFieldModalInput = boolean | "sm" | "md" | "lg" | "xl";
5157
+ type DateFieldUseNativePicker = boolean | "sm" | "md" | "lg" | "xl";
5158
+ type DateFieldSize = "default" | "small";
5159
+ declare class DateFieldComponent implements ControlValueAccessor, FormFieldControl<DateFieldValue> {
5160
+ /**
5161
+ * Unique ID for label association and accessibility. Bind the sibling
5162
+ * `<label tedi-label [for]>` to the same value.
5163
+ */
5164
+ readonly inputId: _angular_core.InputSignal<string>;
5165
+ /**
5166
+ * The selected value (two-way / `ControlValueAccessor`). Shape follows `mode`:
5167
+ * `single` → `Date | null`, `multiple` → `Date[]`, `range` → `{ from, to }`.
5168
+ */
5169
+ readonly value: _angular_core.ModelSignal<DateFieldValue>;
5170
+ /**
5171
+ * Selection mode. `single` selects one date, `multiple` toggles dates in an
5172
+ * array (rendered as tags), `range` builds a `{ from, to }` range across two
5173
+ * clicks.
5174
+ */
5175
+ readonly mode: _angular_core.InputSignal<DateFieldMode>;
5176
+ /**
5177
+ * `multiple` mode tag layout. `true` (default) wraps tags across rows and
5178
+ * grows the field height; `false` keeps a single row and collapses overflow
5179
+ * into a "+N" counter.
5180
+ */
5181
+ readonly multiRow: _angular_core.InputSignal<boolean>;
5182
+ /**
5183
+ * Which end the `multiple`-mode tags truncate from when a label doesn't fit.
5184
+ * `false` (default) never truncates; `end` → `05.06…`; `start` → `…06.2026`
5185
+ * (keeps the year visible).
5186
+ */
5187
+ readonly tagEllipsis: _angular_core.InputSignal<TagEllipsis>;
5188
+ /**
5189
+ * Whether `multiple`-mode tags show a remove button. `true` (default) lets
5190
+ * users remove a selected date by closing its tag; `false` renders them as
5191
+ * read-only chips.
5192
+ */
5193
+ readonly isTagRemovable: _angular_core.InputSignal<boolean>;
5194
+ /** Placeholder rendered in the input when there is no value. */
5195
+ readonly placeholder: _angular_core.InputSignal<string>;
5196
+ /**
5197
+ * Disables specific days via matchers (does not disable the whole field).
5198
+ * Exposed in templates as `[disabled]`; accepts a `Date`, `Date[]`,
5199
+ * `{ before }`, `{ after }`, `{ from, to? }`, `{ dayOfWeek: number[] }`, or a
5200
+ * `(date) => boolean` predicate (single or array).
5201
+ */
5202
+ readonly disabledInput: _angular_core.InputSignal<Matcher | Matcher[] | undefined>;
5203
+ /** Disables the field entirely — text input, icon button, and calendar. */
5204
+ readonly inputDisabled: _angular_core.InputSignal<boolean>;
5205
+ /**
5206
+ * Blocks typing into the input but leaves the calendar interactive — useful
5207
+ * for guided picking.
5208
+ */
5209
+ readonly readOnly: _angular_core.InputSignal<boolean>;
5210
+ /**
5211
+ * Marks the input as required (sets the native `required` attribute). In
5212
+ * `multiple` mode it also prevents clearing the last selected date. The
5213
+ * asterisk indicator lives on the sibling `<label tedi-label [required]>` —
5214
+ * bind it there too, since DateField owns no label.
5215
+ */
5216
+ readonly required: _angular_core.InputSignal<boolean>;
5217
+ /** Field size — matches the surrounding `tedi-form-field`. */
5218
+ readonly size: _angular_core.InputSignal<DateFieldSize>;
5219
+ /** Disables all dates before this date (inclusive boundary stays enabled). */
5220
+ readonly minDate: _angular_core.InputSignal<Date | undefined>;
5221
+ /** Disables all dates after this date (inclusive boundary stays enabled). */
5222
+ readonly maxDate: _angular_core.InputSignal<Date | undefined>;
5223
+ /** Disable all dates before today. */
5224
+ readonly disablePast: _angular_core.InputSignal<boolean>;
5225
+ /** Disable all dates after today. */
5226
+ readonly disableFuture: _angular_core.InputSignal<boolean>;
5227
+ /**
5228
+ * Predicate `(month) => boolean` returning `true` to disable a whole month in
5229
+ * the calendar's month navigation/grid. Leave `undefined` to disable nothing.
5230
+ */
5231
+ readonly shouldDisableMonth: _angular_core.InputSignal<MonthPredicate | undefined>;
5232
+ /**
5233
+ * Predicate `(year) => boolean` returning `true` to disable a whole year in
5234
+ * the calendar's year navigation/grid. Leave `undefined` to disable nothing.
5235
+ */
5236
+ readonly shouldDisableYear: _angular_core.InputSignal<YearPredicate | undefined>;
5237
+ /**
5238
+ * Whitelist of selectable days — an explicit `Date[]` or a predicate
5239
+ * `(date) => boolean`. Every other day is disabled.
5240
+ */
5241
+ readonly availableDays: _angular_core.InputSignal<DayAvailabilityInput>;
5242
+ /**
5243
+ * Blacklist of unavailable days — a `Date[]` or a predicate `(date) => boolean`.
5244
+ * Takes precedence over `availableDays`.
5245
+ */
5246
+ readonly unavailableDays: _angular_core.InputSignal<DayAvailabilityInput>;
5247
+ /**
5248
+ * Lowest level the user can commit to. `days` shows the day grid as the final
5249
+ * step; `months` and `years` commit at that level instead.
5250
+ */
5251
+ readonly selectionLevel: _angular_core.InputSignal<CalendarView>;
5252
+ /**
5253
+ * How the calendar header exposes month/year picking. `dropdown` shows two
5254
+ * dropdowns; `grid` drills into a month/year grid when the header label is
5255
+ * clicked.
5256
+ */
5257
+ readonly monthYearSelectType: _angular_core.InputSignal<"dropdown" | "grid">;
5258
+ /**
5259
+ * Month the calendar opens on when there is no value. Ignored once a value is
5260
+ * set (the calendar anchors to the selected date).
5261
+ */
5262
+ readonly initialMonth: _angular_core.InputSignal<Date | undefined>;
5263
+ /**
5264
+ * BCP-47 locale for weekday/month names, the first day of the week, and the
5265
+ * default `formatDate`/`parseDate` behaviour.
5266
+ */
5267
+ readonly localeCode: _angular_core.InputSignal<string>;
5268
+ /**
5269
+ * Whether to close the picker after a selection. Defaults to `true` in
5270
+ * `single` mode and `false` in `multiple`/`range` when left `undefined`.
5271
+ */
5272
+ readonly closeOnSelect: _angular_core.InputSignal<boolean | undefined>;
5273
+ /**
5274
+ * Render the trailing/leading days from the adjacent month inside the current
5275
+ * month's grid.
5276
+ */
5277
+ readonly showOutsideDays: _angular_core.InputSignal<boolean>;
5278
+ /** Render an ISO week-number column on the left of the day grid. */
5279
+ readonly showWeekNumbers: _angular_core.InputSignal<boolean>;
5280
+ /**
5281
+ * Number of month grids shown side by side. Accepts a `BreakpointInput<number>`:
5282
+ * a plain number (e.g. `2`) applies at every breakpoint; pass a per-breakpoint
5283
+ * object (e.g. `{ xs: 1, lg: 2 }`) to narrow it on small screens.
5284
+ */
5285
+ readonly numberOfMonths: _angular_core.InputSignalWithTransform<BreakpointObject<number>, BreakpointInput<number>>;
5286
+ /**
5287
+ * Enables the calendar picker UI. When resolved to `false`, hides the icon
5288
+ * button and disables the popover/modal — the user can only type a date.
5289
+ * Accepts a `BreakpointInput<boolean>` for per-breakpoint behaviour.
5290
+ */
5291
+ readonly enableCalendar: _angular_core.InputSignalWithTransform<BreakpointObject<boolean>, BreakpointInput<boolean>>;
5292
+ /**
5293
+ * What opens the calendar. `button` opens it from the icon button; `input`
5294
+ * also opens it when the text input is clicked (and blocks typing). Accepts a
5295
+ * `BreakpointInput` for per-breakpoint behaviour.
5296
+ */
5297
+ readonly calendarTrigger: _angular_core.InputSignalWithTransform<BreakpointObject<DateFieldCalendarTrigger>, BreakpointInput<DateFieldCalendarTrigger>>;
5298
+ /**
5299
+ * Use the OS native date picker instead of the custom popover (single mode only).
5300
+ * `true` always, `false` never, breakpoint name → native below that breakpoint
5301
+ * (custom popover from that breakpoint up).
5302
+ */
5303
+ readonly useNativePicker: _angular_core.InputSignal<DateFieldUseNativePicker>;
5304
+ /** Open the calendar in a modal: `true` always, `false` never, breakpoint name → modal below that breakpoint. */
5305
+ readonly modal: _angular_core.InputSignal<DateFieldModalInput>;
5306
+ /** Make the modal fullscreen: `true` always, `false` never, breakpoint name → fullscreen below that breakpoint. Only applies when the calendar actually opens as a modal. */
5307
+ readonly fullscreen: _angular_core.InputSignal<_tedi_design_system_angular_tedi.BreakpointFlag>;
5308
+ /**
5309
+ * Custom formatter for the input's display string. Overrides the locale-aware
5310
+ * default. Receives the `DateFieldValue` and returns a string.
5311
+ */
5312
+ readonly formatDate: _angular_core.InputSignal<DateFieldFormatter | undefined>;
5313
+ /**
5314
+ * Custom parser for turning typed input into a value. Overrides the
5315
+ * locale-aware default. Receives the raw string and returns a `DateFieldValue`,
5316
+ * or `undefined` when the input can't be parsed.
5317
+ */
5318
+ readonly parseDate: _angular_core.InputSignal<DateFieldParser | undefined>;
5319
+ /** Emitted whenever the picker (popover/modal) open state changes. */
5320
+ readonly openChange: _angular_core.OutputEmitterRef<boolean>;
5321
+ private readonly breakpointService;
5322
+ private readonly modalService;
5323
+ private readonly hostEl;
5324
+ readonly calendar: _angular_core.Signal<CalendarComponent | undefined>;
5325
+ readonly dateInput: _angular_core.Signal<DateInputComponent>;
5326
+ readonly currentMonth: _angular_core.WritableSignal<Date>;
5327
+ readonly overlayOpen: _angular_core.WritableSignal<boolean>;
5328
+ private readonly openedBy;
5329
+ readonly overlayPositions: _angular_core.Signal<ConnectedPosition[]>;
5330
+ private readonly cvaDisabled;
5331
+ private readonly formInvalid;
5332
+ private modalRef;
5333
+ private onChange;
5334
+ private onTouched;
5335
+ readonly fieldDisabled: _angular_core.Signal<boolean>;
5336
+ readonly disabled: _angular_core.Signal<boolean>;
5337
+ readonly invalid: _angular_core.Signal<boolean>;
5338
+ readonly disabledMatchers: _angular_core.Signal<Matcher[]>;
5339
+ readonly useNativePickerResolved: _angular_core.Signal<boolean>;
5340
+ readonly useNativePickerEffective: _angular_core.Signal<boolean>;
5341
+ readonly numberOfMonthsResolved: _angular_core.Signal<number>;
5342
+ readonly enableCalendarResolved: _angular_core.Signal<boolean>;
5343
+ readonly calendarTriggerResolved: _angular_core.Signal<DateFieldCalendarTrigger>;
5344
+ readonly modalEnabled: _angular_core.Signal<boolean>;
5345
+ readonly closeOnSelectEffective: _angular_core.Signal<boolean>;
5346
+ readonly showCalendar: _angular_core.Signal<boolean>;
5347
+ readonly useModal: _angular_core.Signal<boolean>;
5348
+ readonly usePopover: _angular_core.Signal<boolean>;
5349
+ readonly nativeIsoValue: _angular_core.Signal<string>;
5350
+ readonly effectivePlaceholder: _angular_core.Signal<string>;
5351
+ readonly displayValue: _angular_core.Signal<string>;
5352
+ readonly tagsForMultipleMode: _angular_core.Signal<DateInputTag[]>;
5353
+ readonly canClear: _angular_core.Signal<boolean>;
5354
+ readonly inputIsTrigger: _angular_core.Signal<boolean>;
5355
+ private initialOpenEmit;
5356
+ constructor();
5357
+ writeValue(value: DateFieldValue): void;
5358
+ registerOnChange(fn: (value: DateFieldValue) => void): void;
5359
+ registerOnTouched(fn: () => void): void;
5360
+ setDisabledState(isDisabled: boolean): void;
5361
+ setInvalidState(isInvalid: boolean): void;
5362
+ clearField(): void;
5363
+ handleClear(): void;
5364
+ handleIconClick(): void;
5365
+ private togglePicker;
5366
+ handleInputChange(value: string): void;
5367
+ handleTagRemove(id: string): void;
5368
+ handleInputClick(event: Event): void;
5369
+ handleCalendarSelect(): void;
5370
+ handleCurrentMonthChange(month: Date): void;
5371
+ closeOverlay(): void;
5372
+ handleOverlayOutsideClick(event: MouseEvent): void;
5373
+ handleOverlayAttached(): void;
5374
+ handleOverlayKeydown(event: KeyboardEvent): void;
5375
+ private focusIconButton;
5376
+ private openNativePicker;
5377
+ private openModal;
5378
+ private handleNativeInputChange;
5379
+ private handleSingleParseInput;
5380
+ private parsedValueIsDisabled;
5381
+ private commitValue;
5382
+ private defaultFormat;
5383
+ private deriveAnchor;
5384
+ private resolveBreakpointInput;
5385
+ private startOfToday;
5386
+ private toIsoDate;
5387
+ private queryNativeInput;
5388
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DateFieldComponent, never>;
5389
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DateFieldComponent, "tedi-date-field", never, { "inputId": { "alias": "inputId"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "multiRow": { "alias": "multiRow"; "required": false; "isSignal": true; }; "tagEllipsis": { "alias": "tagEllipsis"; "required": false; "isSignal": true; }; "isTagRemovable": { "alias": "isTagRemovable"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "inputDisabled": { "alias": "inputDisabled"; "required": false; "isSignal": true; }; "readOnly": { "alias": "readOnly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "disablePast": { "alias": "disablePast"; "required": false; "isSignal": true; }; "disableFuture": { "alias": "disableFuture"; "required": false; "isSignal": true; }; "shouldDisableMonth": { "alias": "shouldDisableMonth"; "required": false; "isSignal": true; }; "shouldDisableYear": { "alias": "shouldDisableYear"; "required": false; "isSignal": true; }; "availableDays": { "alias": "availableDays"; "required": false; "isSignal": true; }; "unavailableDays": { "alias": "unavailableDays"; "required": false; "isSignal": true; }; "selectionLevel": { "alias": "selectionLevel"; "required": false; "isSignal": true; }; "monthYearSelectType": { "alias": "monthYearSelectType"; "required": false; "isSignal": true; }; "initialMonth": { "alias": "initialMonth"; "required": false; "isSignal": true; }; "localeCode": { "alias": "localeCode"; "required": false; "isSignal": true; }; "closeOnSelect": { "alias": "closeOnSelect"; "required": false; "isSignal": true; }; "showOutsideDays": { "alias": "showOutsideDays"; "required": false; "isSignal": true; }; "showWeekNumbers": { "alias": "showWeekNumbers"; "required": false; "isSignal": true; }; "numberOfMonths": { "alias": "numberOfMonths"; "required": false; "isSignal": true; }; "enableCalendar": { "alias": "enableCalendar"; "required": false; "isSignal": true; }; "calendarTrigger": { "alias": "calendarTrigger"; "required": false; "isSignal": true; }; "useNativePicker": { "alias": "useNativePicker"; "required": false; "isSignal": true; }; "modal": { "alias": "modal"; "required": false; "isSignal": true; }; "fullscreen": { "alias": "fullscreen"; "required": false; "isSignal": true; }; "formatDate": { "alias": "formatDate"; "required": false; "isSignal": true; }; "parseDate": { "alias": "parseDate"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "openChange": "openChange"; }, never, ["[tediCalendarFooter]"], true, never>;
5390
+ }
5391
+
5392
+ declare class DatePickerCalendarGridComponent {
5393
+ private readonly gridElement;
5394
+ /** Grid element unique ID for ARIA */
5395
+ readonly gridId: _angular_core.InputSignal<string>;
5396
+ /** Week rows containing day data */
5397
+ readonly weekRows: _angular_core.InputSignal<DatePickerDay[][]>;
5398
+ /** Week numbers for each row */
5399
+ readonly weekNumbers: _angular_core.InputSignal<number[]>;
5400
+ /** Whether to show week numbers */
5401
+ readonly showWeekNumbers: _angular_core.InputSignal<boolean>;
5402
+ /** Currently active date for keyboard navigation */
5403
+ readonly activeDate: _angular_core.InputSignal<Date | null>;
5404
+ /** Currently selected date */
4502
5405
  readonly selected: _angular_core.InputSignal<Date | null>;
4503
5406
  /** Today's date */
4504
5407
  readonly today: _angular_core.InputSignal<Date>;
@@ -4853,35 +5756,6 @@ declare class SelectValueTemplateDirective<T = unknown> {
4853
5756
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SelectValueTemplateDirective<any>, "[tediSelectValue]", never, {}, {}, never, never, true, never>;
4854
5757
  }
4855
5758
 
4856
- /**
4857
- * Interface implemented by controls that can be used inside `tedi-form-field`.
4858
- * Allows the form field container to interact with the underlying control.
4859
- */
4860
- interface FormFieldControl<T = unknown> {
4861
- /**
4862
- * Current value of the control.
4863
- */
4864
- value: Signal<T>;
4865
- /**
4866
- * Whether the control is disabled.
4867
- */
4868
- disabled: Signal<boolean>;
4869
- /** Reactive invalid state (driven by FormField) */
4870
- invalid: Signal<boolean>;
4871
- /** Called by FormField to update invalid state */
4872
- setInvalidState(isInvalid: boolean): void;
4873
- /**
4874
- * Optional method used by the form field clear button.
4875
- * If implemented, the form field can trigger clearing the value.
4876
- */
4877
- clearField?(): void;
4878
- }
4879
- /**
4880
- * Injection token used by `tedi-form-field` to obtain
4881
- * the associated control instance.
4882
- */
4883
- declare const TEDI_FORM_FIELD_CONTROL: InjectionToken<FormFieldControl<unknown>>;
4884
-
4885
5759
  type InputSize = "small" | "large" | "default";
4886
5760
  type InputState = "valid" | "error" | "default";
4887
5761
  type ValidationState = "invalid" | "valid" | "neutral";
@@ -4935,7 +5809,7 @@ declare class FormFieldComponent implements AfterContentInit {
4935
5809
  }>;
4936
5810
  clear(): void;
4937
5811
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormFieldComponent, never>;
4938
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormFieldComponent, "tedi-form-field", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "inputClass": { "alias": "inputClass"; "required": false; "isSignal": true; }; }, {}, ["control", "ngControl", "feedback"], ["label[tedi-label]", "input[tedi-text-field], tedi-time-field", "tedi-feedback-text"], true, never>;
5812
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormFieldComponent, "tedi-form-field", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "inputClass": { "alias": "inputClass"; "required": false; "isSignal": true; }; }, {}, ["control", "ngControl", "feedback"], ["label[tedi-label]", "input[tedi-text-field], tedi-time-field, tedi-date-field", "tedi-feedback-text", "*"], true, never>;
4939
5813
  }
4940
5814
 
4941
5815
  type SelectInputSize = Exclude<InputSize, "large">;
@@ -5056,6 +5930,12 @@ declare class SelectComponent<T = unknown> implements AfterContentChecked, After
5056
5930
  * @default false
5057
5931
  */
5058
5932
  multiRow: _angular_core.InputSignal<boolean>;
5933
+ /**
5934
+ * Which end a selected tag's label truncates from when it doesn't fit.
5935
+ * `false` (default) never truncates; `end` → `label…`; `start` → `…label`.
5936
+ * @default false
5937
+ */
5938
+ tagEllipsis: _angular_core.InputSignal<TagEllipsis>;
5059
5939
  /**
5060
5940
  * Function used to compare option values for equality.
5061
5941
  * Used to determine which options are selected.
@@ -5212,7 +6092,7 @@ declare class SelectComponent<T = unknown> implements AfterContentChecked, After
5212
6092
  registerOnTouched(fn: () => void): void;
5213
6093
  setDisabledState(isDisabled: boolean): void;
5214
6094
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SelectComponent<any>, never>;
5215
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SelectComponent<any>, "tedi-select", never, { "inputId": { "alias": "inputId"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "state": { "alias": "state"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "dropdownWidthRef": { "alias": "dropdownWidthRef"; "required": false; "isSignal": true; }; "dropdownAlign": { "alias": "dropdownAlign"; "required": false; "isSignal": true; }; "feedbackText": { "alias": "feedbackText"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "bindLabel": { "alias": "bindLabel"; "required": false; "isSignal": true; }; "bindValue": { "alias": "bindValue"; "required": false; "isSignal": true; }; "allowMultiple": { "alias": "allowMultiple"; "required": false; "isSignal": true; }; "groupBy": { "alias": "groupBy"; "required": false; "isSignal": true; }; "showSelectAll": { "alias": "showSelectAll"; "required": false; "isSignal": true; }; "selectableGroups": { "alias": "selectableGroups"; "required": false; "isSignal": true; }; "isTagRemovable": { "alias": "isTagRemovable"; "required": false; "isSignal": true; }; "multiRow": { "alias": "multiRow"; "required": false; "isSignal": true; }; "compareWith": { "alias": "compareWith"; "required": false; "isSignal": true; }; "disabledKey": { "alias": "disabledKey"; "required": false; "isSignal": true; }; "noOptionsMessage": { "alias": "noOptionsMessage"; "required": false; "isSignal": true; }; "maxDropdownHeight": { "alias": "maxDropdownHeight"; "required": false; "isSignal": true; }; "dropdownType": { "alias": "dropdownType"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "searchFn": { "alias": "searchFn"; "required": false; "isSignal": true; }; "clearSearchOnSelect": { "alias": "clearSearchOnSelect"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; "searchChange": "searchChange"; "opened": "opened"; "closed": "closed"; "cleared": "cleared"; }, ["optionTemplate", "valueTemplate"], never, true, never>;
6095
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SelectComponent<any>, "tedi-select", never, { "inputId": { "alias": "inputId"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "state": { "alias": "state"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "dropdownWidthRef": { "alias": "dropdownWidthRef"; "required": false; "isSignal": true; }; "dropdownAlign": { "alias": "dropdownAlign"; "required": false; "isSignal": true; }; "feedbackText": { "alias": "feedbackText"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "bindLabel": { "alias": "bindLabel"; "required": false; "isSignal": true; }; "bindValue": { "alias": "bindValue"; "required": false; "isSignal": true; }; "allowMultiple": { "alias": "allowMultiple"; "required": false; "isSignal": true; }; "groupBy": { "alias": "groupBy"; "required": false; "isSignal": true; }; "showSelectAll": { "alias": "showSelectAll"; "required": false; "isSignal": true; }; "selectableGroups": { "alias": "selectableGroups"; "required": false; "isSignal": true; }; "isTagRemovable": { "alias": "isTagRemovable"; "required": false; "isSignal": true; }; "multiRow": { "alias": "multiRow"; "required": false; "isSignal": true; }; "tagEllipsis": { "alias": "tagEllipsis"; "required": false; "isSignal": true; }; "compareWith": { "alias": "compareWith"; "required": false; "isSignal": true; }; "disabledKey": { "alias": "disabledKey"; "required": false; "isSignal": true; }; "noOptionsMessage": { "alias": "noOptionsMessage"; "required": false; "isSignal": true; }; "maxDropdownHeight": { "alias": "maxDropdownHeight"; "required": false; "isSignal": true; }; "dropdownType": { "alias": "dropdownType"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "searchFn": { "alias": "searchFn"; "required": false; "isSignal": true; }; "clearSearchOnSelect": { "alias": "clearSearchOnSelect"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; "searchChange": "searchChange"; "opened": "opened"; "closed": "closed"; "cleared": "cleared"; }, ["optionTemplate", "valueTemplate"], never, true, never>;
5216
6096
  }
5217
6097
 
5218
6098
  type ToggleVariant = "primary" | "colored";
@@ -5509,7 +6389,7 @@ declare class TimeFieldComponent implements ControlValueAccessor, FormFieldContr
5509
6389
  readonly hasPicker: _angular_core.Signal<boolean>;
5510
6390
  readonly hasNativePicker: _angular_core.Signal<boolean>;
5511
6391
  readonly customPickerVariant: _angular_core.Signal<TimePickerVariant>;
5512
- readonly inputType: _angular_core.Signal<"time" | "text">;
6392
+ readonly inputType: _angular_core.Signal<"text" | "time">;
5513
6393
  readonly inputIsTrigger: _angular_core.Signal<boolean>;
5514
6394
  readonly useMobileModal: _angular_core.Signal<boolean>;
5515
6395
  readonly usePopover: _angular_core.Signal<boolean>;
@@ -5760,25 +6640,6 @@ declare class EmptyStateComponent {
5760
6640
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<EmptyStateComponent, "tedi-empty-state", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconColor": { "alias": "iconColor"; "required": false; "isSignal": true; }; "iconSize": { "alias": "iconSize"; "required": false; "isSignal": true; }; "heading": { "alias": "heading"; "required": false; "isSignal": true; }; }, {}, never, ["*", "[tedi-empty-state-actions]"], true, never>;
5761
6641
  }
5762
6642
 
5763
- type EllipsisPosition = "start" | "end";
5764
- declare class EllipsisComponent {
5765
- /** Maximum number of lines before truncating. End (multi-line) only. */
5766
- readonly lineClamp: _angular_core.InputSignal<number>;
5767
- /** Whether truncated content shows a hover/focus tooltip with full text. */
5768
- readonly tooltip: _angular_core.InputSignal<boolean>;
5769
- /** Ellipsis position. 'start' = leading, single-line. 'end' = trailing, multi-line. */
5770
- readonly position: _angular_core.InputSignal<EllipsisPosition>;
5771
- readonly content: _angular_core.Signal<ElementRef<HTMLElement> | undefined>;
5772
- readonly isEllipsed: _angular_core.WritableSignal<boolean>;
5773
- readonly fullText: _angular_core.WritableSignal<string>;
5774
- constructor();
5775
- readonly contentClasses: _angular_core.Signal<string>;
5776
- readonly clampStyle: _angular_core.Signal<string | null>;
5777
- private updateEllipsedState;
5778
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<EllipsisComponent, never>;
5779
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<EllipsisComponent, "tedi-ellipsis", never, { "lineClamp": { "alias": "lineClamp"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
5780
- }
5781
-
5782
6643
  type ColWidth = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
5783
6644
  type JustifySelf = "start" | "end" | "center" | "stretch";
5784
6645
  type AlignSelf = "start" | "end" | "center" | "stretch";
@@ -7206,50 +8067,6 @@ declare class PopoverContentComponent {
7206
8067
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<PopoverContentComponent, "tedi-popover-content", never, { "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "showClose": { "alias": "showClose"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
7207
8068
  }
7208
8069
 
7209
- type TagType = "primary" | "secondary" | "danger";
7210
- type TagEllipsis = "start" | "end" | false;
7211
- declare class TagComponent {
7212
- readonly idGenerator: _IdGenerator;
7213
- readonly uniqueId: string;
7214
- /**
7215
- * Whether the tag is in loading state.
7216
- * When true, a spinner will be displayed inside the tag.
7217
- * @default false
7218
- */
7219
- loading: _angular_core.InputSignal<boolean>;
7220
- /**
7221
- * Whether the tag can be closed.
7222
- * When true, a close button will be displayed that emits the 'closed' event when clicked.
7223
- * @default false
7224
- */
7225
- closable: _angular_core.InputSignal<boolean>;
7226
- /**
7227
- * The visual style of the tag.
7228
- * Possible values: 'primary', 'secondary', 'danger'
7229
- * @default "primary"
7230
- */
7231
- type: _angular_core.InputSignal<TagType>;
7232
- /**
7233
- * Which end the label truncates from when it doesn't fit. `false` (default)
7234
- * never truncates — the label wraps and the tag keeps its full width. `end`
7235
- * shows an ellipsis at the end (`Long label…`); `start` shows it at the start
7236
- * (`…label`), which keeps the most significant part of values like dates
7237
- * visible. Truncation only kicks in when the tag is width-constrained, and the
7238
- * full label is revealed in a tooltip on hover/focus.
7239
- * @default false
7240
- */
7241
- ellipsis: _angular_core.InputSignal<TagEllipsis>;
7242
- /**
7243
- * Event emitted when the close button is clicked.
7244
- */
7245
- closed: _angular_core.OutputEmitterRef<Event>;
7246
- classes: _angular_core.Signal<string>;
7247
- ellipsisPosition: _angular_core.Signal<EllipsisPosition>;
7248
- handleClose(event: Event): void;
7249
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<TagComponent, never>;
7250
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TagComponent, "tedi-tag", never, { "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "closable": { "alias": "closable"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "ellipsis": { "alias": "ellipsis"; "required": false; "isSignal": true; }; }, { "closed": "closed"; }, never, ["*"], true, never>;
7251
- }
7252
-
7253
8070
  type StatusBadgeColor = "neutral" | "brand" | "accent" | "success" | "danger" | "warning" | "transparent";
7254
8071
  type StatusBadgeVariant = "filled" | "filled-bordered" | "bordered";
7255
8072
  type StatusBadgeSize = "default" | "large";
@@ -7303,42 +8120,6 @@ declare class StatusBadgeComponent {
7303
8120
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<StatusBadgeComponent, "tedi-status-badge", never, { "text": { "alias": "text"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "role": { "alias": "role"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
7304
8121
  }
7305
8122
 
7306
- type StatusIndicatorType = "success" | "danger" | "warning" | "inactive";
7307
- type StatusIndicatorSize = "sm" | "lg";
7308
- type StatusIndicatorPosition = "default" | "top-right";
7309
- declare class StatusIndicatorComponent {
7310
- /**
7311
- * Accessible label for the indicator. When provided, the indicator is
7312
- * exposed to assistive technology with `role="img"`. When omitted, the
7313
- * indicator is treated as decorative (`aria-hidden="true"`).
7314
- */
7315
- readonly label: _angular_core.InputSignal<string | undefined>;
7316
- /**
7317
- * The status type, which determines the indicator color.
7318
- * @default success
7319
- */
7320
- readonly type: _angular_core.InputSignal<StatusIndicatorType>;
7321
- /**
7322
- * The size of the indicator.
7323
- * @default sm
7324
- */
7325
- readonly size: _angular_core.InputSignal<StatusIndicatorSize>;
7326
- /**
7327
- * Whether the indicator has a white border ring.
7328
- * @default false
7329
- */
7330
- readonly hasBorder: _angular_core.InputSignal<boolean>;
7331
- /**
7332
- * Controls positioning of the indicator.
7333
- * - `'default'` — inline, no absolute positioning
7334
- * - `'top-right'` — absolutely positioned at the top-right corner of the parent
7335
- * @default default
7336
- */
7337
- readonly position: _angular_core.InputSignal<StatusIndicatorPosition>;
7338
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<StatusIndicatorComponent, never>;
7339
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<StatusIndicatorComponent, "tedi-status-indicator", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "hasBorder": { "alias": "hasBorder"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
7340
- }
7341
-
7342
8123
  /**
7343
8124
  * A single item inside a `tedi-accordion`. Owns the item's state (expanded)
7344
8125
  * and the inputs shared by header and content (selected, showIconCard,
@@ -7530,6 +8311,52 @@ declare const TEDI_THEME_DEFAULT_TOKEN: InjectionToken<string>;
7530
8311
 
7531
8312
  declare const TEDI_TRANSLATION_DEFAULT_TOKEN: InjectionToken<Language>;
7532
8313
 
7533
- export { AVAILABLE_LANGUAGES, AccordionComponent, AccordionItemComponent, AccordionItemContentComponent, AccordionItemHeaderComponent, AlertComponent, AttachmentActionsComponent, AttachmentComponent, BREAKPOINTS, BaseButtonDirective, BreakpointService, ButtonComponent, ButtonGroupButtonDirective, ButtonGroupComponent, CardButtonComponent, CardComponent, CardContentComponent, CardHeaderComponent, CardIconComponent, CardRowComponent, CarouselComponent, CarouselContentComponent, CarouselFooterComponent, CarouselHeaderComponent, CarouselIndicatorsComponent, CarouselNavigationComponent, CarouselSlideDirective, CheckboxCardComponent, CheckboxCardGroupComponent, CheckboxComponent, CheckboxGroupComponent, ClosingButtonComponent, ColComponent, CollapseButtonComponent, CollapseComponent, DROPDOWN_API, DROPDOWN_CONTENT_API, DatePickerComponent, DropdownComponent, DropdownContentComponent, DropdownItemComponent, DropdownItemValueComponent, DropdownItemValueLabelComponent, DropdownItemValueMetaComponent, DropdownTriggerDirective, EllipsisComponent, EmptyStateComponent, FeedbackTextComponent, FilterComponent, FilterContentDirective, FilterGroupComponent, FilterPrependDirective, FooterBodyComponent, FooterBottomComponent, FooterComponent, FooterSectionComponent, FooterSideComponent, FormFieldComponent, HeaderActionsComponent, HeaderBottomComponent, HeaderComponent, HeaderContentComponent, HeaderLanguageComponent, HeaderLoginComponent, HeaderLogoComponent, HeaderLogoDarkDirective, HeaderLogoutComponent, HeaderMobileButtonComponent, HeaderProfileComponent, HeaderRoleComponent, HeaderRoleContentDirective, HeaderRoleNoResultsDirective, HeaderRoleTitleDirective, HeaderSearchComponent, HideAtDirective, HorizontalPushHandler, HorizontalStepperComponent, HorizontalStepperItemComponent, IconComponent, InfoButtonComponent, LANGUAGE_COOKIE_NAME, LANGUAGE_FALLBACK_VALUE, LabelComponent, LinkComponent, ListComponent, MODAL_DATA, MODAL_SIZE, ModalComponent, ModalContentComponent, ModalFooterComponent, ModalHeaderComponent, ModalRef, ModalService, NumberFieldComponent, PaginationComponent, PopoverComponent, PopoverContentComponent, PopoverTriggerDirective, ProgressBarComponent, RadioCardComponent, RadioCardGroupComponent, RadioComponent, RadioGroupComponent, RowComponent, ScrollFadeComponent, SelectComponent, SelectOptionTemplateDirective, SelectValueTemplateDirective, SeparatorComponent, ShowAtDirective, SideNavComponent, SideNavDropdownComponent, SideNavDropdownGroupComponent, SideNavDropdownItemComponent, SideNavGroupTitleComponent, SideNavItemComponent, SideNavOverlayComponent, SideNavToggleComponent, SpecialOptionControls, SpinnerComponent, StatusBadgeComponent, StatusIndicatorComponent, TEDI_FORM_FIELD_CONTROL, TEDI_TABLE_CONTEXT, TEDI_THEME_DEFAULT_TOKEN, TEDI_TRANSLATION_DEFAULT_TOKEN, THEME_CLASS_PREFIX, THEME_COOKIE_NAME, THEME_FALLBACK_VALUE, TOAST_DEFAULT_DURATION, TagComponent, TediPaginationResultsDirective, TediTableColumnsMenuComponent, TediTableComponent, TediTableHeaderButtonComponent, TediTableToolbarComponent, TediTranslationPipe, TediTranslationService, TextComponent, TextFieldComponent, TextGroupComponent, TextGroupLabelComponent, TextGroupValueComponent, ThemeService, TimeFieldComponent, TimePickerComponent, TimelineComponent, TimelineDescriptionComponent, TimelineItemComponent, TimelineTimingsBottomDirective, TimelineTitleComponent, ToastComponent, ToastService, ToggleComponent, TooltipComponent, TooltipContentComponent, TooltipTriggerComponent, VerticalSpacingDirective, VerticalSpacingItemDirective, breakpointInput, calculateArrowOffset, computeGroupSpans, createTablePersistence, generateUUID, getCardBorderPlacementColor, getPaddingCssVariables, getPlacementFromPositionChange, groupRowSpan, injectTediTableContext, provideTedi, resolveCardBorderRadius, toConnectedPositions, usePagination };
7534
- export type { AlertRole, AlertTitleType, AlertType, AlertVariant, AlignItems, AlignSelf, ArrowOffset, ArrowType, AttachmentDirection, Breakpoint, BreakpointFlag, BreakpointInput, BreakpointInputs, BreakpointInputsWithoutSignals, BreakpointObject, BulletColor, ButtonGroupDropdownLabelMode, ButtonSize, ButtonVariant, CardBackground, CardBorderPlacement, CardBorderRadius, CardBorderType, CardContentInputs, CardIconSize, CardIconType, CardInputs, CardPadding, CardPaddingNumber, CardResolvedCorners, CarouselIndicatorsVariant, CheckboxCardVariant, CheckboxGroupDirection, CheckboxSize, ClosingButtonIconSize, ClosingButtonSize, ColInputs, ColWidth, CollapseButtonArrowType, CollapseButtonSize, CollapseSize, Cols, ColumnReorderPhase, CompareWithFn, ComponentInputs, DatePickerDay, DatePickerInputSize, DatePickerInputState, DatePickerMatcher, DatePickerSelectorMode, DatePickerView, DropdownApi, DropdownContentApi, DropdownItemValueLayout, DropdownItemValueType, DropdownPosition, DropdownRole, DropdownTriggerAriaHasPopup, EllipsisPosition, EmptyStateSize, EmptyStateType, FeedbackTextPosition, FeedbackTextType, FilterOption, FilterSize, FilterVariant, FooterSidePlacement, FooterSidePosition, FormFieldControl, FormFieldIcon, Gap, GroupByFn, HeaderContentAlignment, HeaderLanguage, HeaderLoginInputs, HeaderLoginSize, HeaderLogoutInputs, HeaderLogoutSize, HeaderProfileInputs, HeaderProfileSize, HeaderSearchMobileLabels, HeaderSearchMobileVariant, HorizontalStepperBackground, IconBackgroundColor, IconColor, IconSize, IconType, IconVariant, InputSize, InputState, JustifyItems, JustifySelf, LabelColor, LabelSize, Language, LinkInputs, LinkSize, LinkVariant, ModalConfig, ModalFullscreen, ModalPosition, ModalScrollBehavior, ModalSize, ModalWidth, ModalWidthPreset, NumberFieldSize, OverlayPosition, OverlaySide, PaginationBackground, PaginationDividerPosition, PaginationItem, PaginationItemType, PaginationLabels, PaginationVisibility, PopoverPosition, PopoverWidth, ProgressBarInputs, ProgressBarLabelPosition, ProgressBarSize, ProgressBarValuePosition, RadioCardVariant, RadioGroupDirection, RadioSize, Representative, RepresentativeIcon, RowInputs, ScrollFadePosition, ScrollFadeScrollbar, ScrollFadeSize, SelectInputSize, SelectOption, SelectOptionContext, SelectOptionGroup, SelectValueContext, SeparatorAxis, SeparatorColor, SeparatorDotSize, SeparatorSpacing, SeparatorSpacingValue, SeparatorThickness, SeparatorVariant, SideNavItemSize, SpinnerColor, SpinnerSize, StatusBadgeColor, StatusBadgeSize, StatusBadgeStatus, StatusBadgeVariant, StatusIndicatorPosition, StatusIndicatorSize, StatusIndicatorType, TEDITheme, TableColumnMeta, TableControlColumn, TableExpandTrigger, TableFilterOptions, TablePaginationOptions, TablePersistOptions, TablePersistenceController, TableSelectionMode, TableSize, TableState, TableStatePatch, TagEllipsis, TagType, TediColumnDef, TediConfig, TediTableContextValue, TediTableFilterContext, TextColor, TextGroupInputs, TextGroupType, TextModifiers, Theme, TimeFieldFullscreen, TimeFieldModal, TimeFieldPickerTrigger, TimeFieldPickerVariant, TimeFieldUseNativePicker, TimePickerVariant, TimelineCardPadding, TimelineVariant, ToastConfig, ToastPosition, ToastRole, ToastType, ToggleSize, ToggleType, ToggleVariant, TooltipOpenWith, TooltipPosition, TooltipWidth, UsePaginationArgs, VerticalSpacingSize };
8314
+ declare function cookieSignal<T>(key: string, initialValue: T): _angular_core.WritableSignal<T>;
8315
+
8316
+ declare function getFocusableElements(container: HTMLElement): HTMLElement[];
8317
+
8318
+ /** Horizontal gap (px) between tags in a single row. */
8319
+ declare const TAG_GAP = 8;
8320
+ /** Reserved width (px) for the "+N" counter tag. */
8321
+ declare const COUNTER_TAG_WIDTH = 40;
8322
+ interface TagOverflowOptions {
8323
+ /** Gap between adjacent tags. Defaults to {@link TAG_GAP}. */
8324
+ gap?: number;
8325
+ /** Width reserved for the "+N" counter tag. Defaults to {@link COUNTER_TAG_WIDTH}. */
8326
+ counterWidth?: number;
8327
+ }
8328
+ /**
8329
+ * Given the measured widths of single-row tags and the available width, returns
8330
+ * how many tags fit before the overflow collapses into a "+N" counter.
8331
+ *
8332
+ * Space for the counter is reserved while more tags remain, so the counter
8333
+ * stays visible. At least one tag is always shown when any exist, even if it
8334
+ * overflows on its own.
8335
+ */
8336
+ declare function calculateVisibleTagCount(tagWidths: readonly number[], availableWidth: number, { gap, counterWidth }?: TagOverflowOptions): number;
8337
+
8338
+ /**
8339
+ * Checks if a string is a valid `HH:mm` time (00:00 – 23:59).
8340
+ */
8341
+ declare function isValidTime(time: string | null | undefined): boolean;
8342
+ /**
8343
+ * Normalizes common typing patterns into `HH:mm`.
8344
+ *
8345
+ * Returns:
8346
+ * - the canonical `HH:mm` string when the input can be normalized
8347
+ * - `""` when the input is empty
8348
+ * - `null` when the input is non-empty but cannot be normalized
8349
+ *
8350
+ * Examples:
8351
+ * `"9:5"` → `"09:05"`
8352
+ * `"14:5"` → `"14:05"`
8353
+ * `"2359"` → `"23:59"`
8354
+ * `"930"` → `"09:30"`
8355
+ * `"11.55"` / `"11-55"` → `"11:55"` (any non-digit treated as separator)
8356
+ * `"4:89"` / `"24:00"` → `null`
8357
+ */
8358
+ declare function normalizeTime(input: string): string | null;
8359
+
8360
+ export { AVAILABLE_LANGUAGES, AccordionComponent, AccordionItemComponent, AccordionItemContentComponent, AccordionItemHeaderComponent, AlertComponent, AttachmentActionsComponent, AttachmentComponent, BREAKPOINTS, BaseButtonDirective, BreakpointService, ButtonComponent, ButtonGroupButtonDirective, ButtonGroupComponent, COUNTER_TAG_WIDTH, CalendarComponent, CardButtonComponent, CardComponent, CardContentComponent, CardHeaderComponent, CardIconComponent, CardRowComponent, CarouselComponent, CarouselContentComponent, CarouselFooterComponent, CarouselHeaderComponent, CarouselIndicatorsComponent, CarouselNavigationComponent, CarouselSlideDirective, CheckboxCardComponent, CheckboxCardGroupComponent, CheckboxComponent, CheckboxGroupComponent, ClosingButtonComponent, ColComponent, CollapseButtonComponent, CollapseComponent, DROPDOWN_API, DROPDOWN_CONTENT_API, DateFieldComponent, DatePickerComponent, DropdownComponent, DropdownContentComponent, DropdownItemComponent, DropdownItemValueComponent, DropdownItemValueLabelComponent, DropdownItemValueMetaComponent, DropdownTriggerDirective, EllipsisComponent, EmptyStateComponent, FeedbackTextComponent, FilterComponent, FilterContentDirective, FilterGroupComponent, FilterPrependDirective, FooterBodyComponent, FooterBottomComponent, FooterComponent, FooterSectionComponent, FooterSideComponent, FormFieldComponent, HeaderActionsComponent, HeaderBottomComponent, HeaderComponent, HeaderContentComponent, HeaderLanguageComponent, HeaderLoginComponent, HeaderLogoComponent, HeaderLogoDarkDirective, HeaderLogoutComponent, HeaderMobileButtonComponent, HeaderProfileComponent, HeaderRoleComponent, HeaderRoleContentDirective, HeaderRoleNoResultsDirective, HeaderRoleTitleDirective, HeaderSearchComponent, HideAtDirective, HorizontalPushHandler, HorizontalStepperComponent, HorizontalStepperItemComponent, IconComponent, InfoButtonComponent, LANGUAGE_COOKIE_NAME, LANGUAGE_FALLBACK_VALUE, LabelComponent, LinkComponent, ListComponent, MODAL_DATA, MODAL_SIZE, ModalComponent, ModalContentComponent, ModalFooterComponent, ModalHeaderComponent, ModalRef, ModalService, NumberFieldComponent, PaginationComponent, PopoverComponent, PopoverContentComponent, PopoverTriggerDirective, ProgressBarComponent, RadioCardComponent, RadioCardGroupComponent, RadioComponent, RadioGroupComponent, RowComponent, ScrollFadeComponent, SelectComponent, SelectOptionTemplateDirective, SelectValueTemplateDirective, SeparatorComponent, ShowAtDirective, SideNavComponent, SideNavDropdownComponent, SideNavDropdownGroupComponent, SideNavDropdownItemComponent, SideNavGroupTitleComponent, SideNavItemComponent, SideNavOverlayComponent, SideNavToggleComponent, SpecialOptionControls, SpinnerComponent, StatusBadgeComponent, StatusIndicatorComponent, TAG_GAP, TEDI_FORM_FIELD_CONTROL, TEDI_TABLE_CONTEXT, TEDI_THEME_DEFAULT_TOKEN, TEDI_TRANSLATION_DEFAULT_TOKEN, THEME_CLASS_PREFIX, THEME_COOKIE_NAME, THEME_FALLBACK_VALUE, TOAST_DEFAULT_DURATION, TagComponent, TediPaginationResultsDirective, TediTableColumnsMenuComponent, TediTableComponent, TediTableHeaderButtonComponent, TediTableToolbarComponent, TediTranslationPipe, TediTranslationService, TextComponent, TextFieldComponent, TextGroupComponent, TextGroupLabelComponent, TextGroupValueComponent, ThemeService, TimeFieldComponent, TimePickerComponent, TimelineComponent, TimelineDescriptionComponent, TimelineItemComponent, TimelineTimingsBottomDirective, TimelineTitleComponent, ToastComponent, ToastService, ToggleComponent, TooltipComponent, TooltipContentComponent, TooltipTriggerComponent, VerticalSpacingDirective, VerticalSpacingItemDirective, addDays, addMonths, addYears, breakpointInput, buildMonthGrid, calculateArrowOffset, calculateVisibleTagCount, computeGroupSpans, cookieSignal, createTablePersistence, endOfMonth, formatDate, formatLocaleDate, formatLocaleDateHint, formatLocaleDateLong, formatMonthYear, generateUUID, getCardBorderPlacementColor, getDaysInMonth, getFirstDayOfWeek, getFocusableElements, getISOWeek, getMonthNames, getPaddingCssVariables, getPlacementFromPositionChange, getWeekdayNames, groupRowSpan, injectTediTableContext, isAfterDay, isBeforeDay, isDateInRange, isSameDay, isSameMonth, isSameYear, isValidTime, matchAny, matchDate, normalizeTime, parseDate, parseLocaleDate, provideTedi, resolveCardBorderRadius, startOfMonth, startOfWeek, toConnectedPositions, toggleDateInArray, usePagination };
8361
+ export type { AlertRole, AlertTitleType, AlertType, AlertVariant, AlignItems, AlignSelf, ArrowOffset, ArrowType, AttachmentDirection, Breakpoint, BreakpointFlag, BreakpointInput, BreakpointInputs, BreakpointInputsWithoutSignals, BreakpointObject, BulletColor, ButtonGroupDropdownLabelMode, ButtonSize, ButtonVariant, CalendarView, CardBackground, CardBorderPlacement, CardBorderRadius, CardBorderType, CardContentInputs, CardIconSize, CardIconType, CardInputs, CardPadding, CardPaddingNumber, CardResolvedCorners, CarouselIndicatorsVariant, CheckboxCardVariant, CheckboxGroupDirection, CheckboxSize, ClosingButtonIconSize, ClosingButtonSize, ColInputs, ColWidth, CollapseButtonArrowType, CollapseButtonSize, CollapseSize, Cols, ColumnReorderPhase, CompareWithFn, ComponentInputs, DateAfter, DateBefore, DateFieldMode, DateInterval, DatePickerDay, DatePickerInputSize, DatePickerInputState, DatePickerMatcher, DatePickerSelectorMode, DatePickerView, DateRange, DayOfWeek, DropdownApi, DropdownContentApi, DropdownItemValueLayout, DropdownItemValueType, DropdownPosition, DropdownRole, DropdownTriggerAriaHasPopup, EllipsisPosition, EmptyStateSize, EmptyStateType, FeedbackTextPosition, FeedbackTextType, FilterOption, FilterSize, FilterVariant, FooterSidePlacement, FooterSidePosition, FormFieldControl, FormFieldIcon, Gap, GroupByFn, HeaderContentAlignment, HeaderLanguage, HeaderLoginInputs, HeaderLoginSize, HeaderLogoutInputs, HeaderLogoutSize, HeaderProfileInputs, HeaderProfileSize, HeaderSearchMobileLabels, HeaderSearchMobileVariant, HorizontalStepperBackground, IconBackgroundColor, IconColor, IconSize, IconType, IconVariant, InputSize, InputState, JustifyItems, JustifySelf, LabelColor, LabelSize, Language, LinkInputs, LinkSize, LinkVariant, Matcher, ModalConfig, ModalFullscreen, ModalPosition, ModalScrollBehavior, ModalSize, ModalWidth, ModalWidthPreset, NumberFieldSize, OverlayPosition, OverlaySide, PaginationBackground, PaginationDividerPosition, PaginationItem, PaginationItemType, PaginationLabels, PaginationVisibility, PopoverPosition, PopoverWidth, ProgressBarInputs, ProgressBarLabelPosition, ProgressBarSize, ProgressBarValuePosition, RadioCardVariant, RadioGroupDirection, RadioSize, Representative, RepresentativeIcon, RowInputs, ScrollFadePosition, ScrollFadeScrollbar, ScrollFadeSize, SelectInputSize, SelectOption, SelectOptionContext, SelectOptionGroup, SelectValueContext, SeparatorAxis, SeparatorColor, SeparatorDotSize, SeparatorSpacing, SeparatorSpacingValue, SeparatorThickness, SeparatorVariant, SideNavItemSize, SpinnerColor, SpinnerSize, StatusBadgeColor, StatusBadgeSize, StatusBadgeStatus, StatusBadgeVariant, StatusIndicatorPosition, StatusIndicatorSize, StatusIndicatorType, TEDITheme, TableColumnMeta, TableControlColumn, TableExpandTrigger, TableFilterOptions, TablePaginationOptions, TablePersistOptions, TablePersistenceController, TableSelectionMode, TableSize, TableState, TableStatePatch, TagEllipsis, TagOverflowOptions, TagType, TediColumnDef, TediConfig, TediTableContextValue, TediTableFilterContext, TextColor, TextGroupInputs, TextGroupType, TextModifiers, Theme, TimeFieldFullscreen, TimeFieldModal, TimeFieldPickerTrigger, TimeFieldPickerVariant, TimeFieldUseNativePicker, TimePickerVariant, TimelineCardPadding, TimelineVariant, ToastConfig, ToastPosition, ToastRole, ToastType, ToggleSize, ToggleType, ToggleVariant, TooltipOpenWith, TooltipPosition, TooltipWidth, UsePaginationArgs, VerticalSpacingSize };
7535
8362
  //# sourceMappingURL=index.d.ts.map