@tedi-design-system/angular 9.1.0-rc.2 → 10.0.0-rc.10

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": "@tedi-design-system/angular",
3
- "version": "9.1.0-rc.2",
3
+ "version": "10.0.0-rc.10",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "community.mjs",
@@ -41,7 +41,7 @@
41
41
  "@angular/core": "^20.0.0 || ^21.0.0 || ^22.0.0",
42
42
  "@angular/forms": "^20.0.0 || ^21.0.0 || ^22.0.0",
43
43
  "@angular/platform-browser": "^20.0.0 || ^21.0.0 || ^22.0.0",
44
- "ngx-quill": "^28.0.2",
44
+ "ngx-quill": "^28.0.2 || ^29.0.0 || ^30.0.0 || ^31.0.0",
45
45
  "quill": "^2.0.3"
46
46
  },
47
47
  "peerDependenciesMeta": {
package/tedi/index.d.ts CHANGED
@@ -5,7 +5,7 @@ import * as _tedi_design_system_angular_tedi from '@tedi-design-system/angular/t
5
5
  import { ControlValueAccessor } from '@angular/forms';
6
6
  import * as _tanstack_table_core from '@tanstack/table-core';
7
7
  import { CdkDragDrop } from '@angular/cdk/drag-drop';
8
- import { Table, VisibilityState, ColumnOrderState, ColumnSizingState, RowSelectionState, ExpandedState, ColumnFiltersState, SortingState, PaginationState, Column, ColumnDef, CellContext, Row } from '@tanstack/angular-table';
8
+ import { Table, VisibilityState, ColumnOrderState, ColumnSizingState, RowSelectionState, ExpandedState, ColumnFiltersState, SortingState, PaginationState, Column, ColumnDef, CellContext, Row, Header } from '@tanstack/angular-table';
9
9
  import * as _angular_cdk_overlay from '@angular/cdk/overlay';
10
10
  import { ConnectedOverlayPositionChange, ConnectedPosition, CdkOverlayOrigin, CdkConnectedOverlay } from '@angular/cdk/overlay';
11
11
  import { CdkListbox } from '@angular/cdk/listbox';
@@ -798,9 +798,9 @@ declare const translationsMap: {
798
798
  "table.sort": {
799
799
  description: string;
800
800
  components: string[];
801
- et: (direction: "asc" | "desc" | false) => "Sorteeri kahanevalt" | "Eemalda sorteerimine" | "Sorteeri kasvavalt";
802
- en: (direction: "asc" | "desc" | false) => "Sort decending" | "Remove sorting" | "Sort ascending";
803
- ru: (direction: "asc" | "desc" | false) => "Сортировать по убыванию" | "Отменить сортировку" | "Сортировать по возрастанию";
801
+ et: (direction: "asc" | "desc" | false, columnLabel?: string) => string;
802
+ en: (direction: "asc" | "desc" | false, columnLabel?: string) => string;
803
+ ru: (direction: "asc" | "desc" | false, columnLabel?: string) => string;
804
804
  };
805
805
  "table.no-data": {
806
806
  description: string;
@@ -844,6 +844,13 @@ declare const translationsMap: {
844
844
  en: string;
845
845
  ru: string;
846
846
  };
847
+ "table.filter-cancel": {
848
+ description: string;
849
+ components: string[];
850
+ et: string;
851
+ en: string;
852
+ ru: string;
853
+ };
847
854
  "table.filter-button-aria": {
848
855
  description: string;
849
856
  components: string[];
@@ -3529,6 +3536,11 @@ declare class CalendarComponent implements ControlValueAccessor {
3529
3536
  * DateField overlay).
3530
3537
  */
3531
3538
  readonly bordered: _angular_core.InputSignal<boolean>;
3539
+ /**
3540
+ * Grow to fill the container's width instead of a fixed width; cells keep a
3541
+ * square aspect ratio. Wrap in a sized container to control the scale.
3542
+ */
3543
+ readonly fullWidth: _angular_core.InputSignal<boolean>;
3532
3544
  /**
3533
3545
  * Matchers that mark dates as disabled. Each matcher can be a `Date`, `Date[]`,
3534
3546
  * `{ before }`, `{ after }`, `{ before, after }`, `{ from, to? }`,
@@ -3657,7 +3669,7 @@ declare class CalendarComponent implements ControlValueAccessor {
3657
3669
  private partialRange;
3658
3670
  private deriveAnchor;
3659
3671
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<CalendarComponent, never>;
3660
- 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>;
3672
+ 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; }; "fullWidth": { "alias": "fullWidth"; "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>;
3661
3673
  }
3662
3674
 
3663
3675
  type PaginationBackground = "white" | "transparent";
@@ -4223,7 +4235,10 @@ type TableExpandTrigger = "button" | "row";
4223
4235
  * - align the header cell separately from the body (`headerAlign`).
4224
4236
  */
4225
4237
  interface TableColumnMeta {
4226
- /** Accessible label used when the column header isn't a plain string. */
4238
+ /**
4239
+ * Accessible label for a column whose header isn't a plain string. Names
4240
+ * the column in the built-in sort and filter buttons.
4241
+ */
4227
4242
  label?: string;
4228
4243
  /**
4229
4244
  * Horizontal alignment applied to every body / footer cell, and to the
@@ -4288,6 +4303,14 @@ type TablePaginationOptions = Partial<Omit<ComponentInputs<PaginationComponent>,
4288
4303
  */
4289
4304
  pageSizeOptions?: (number | PaginationPageSizeOption)[] | false;
4290
4305
  };
4306
+ /**
4307
+ * A button in the footer of the built-in filter popover (or modal):
4308
+ * - `"apply"` commits the draft as the column filter and closes.
4309
+ * - `"clear"` removes the column filter and closes.
4310
+ * - `"cancel"` closes and leaves the applied filter as it was; the unapplied
4311
+ * draft is discarded.
4312
+ */
4313
+ type TableFilterAction = "apply" | "clear" | "cancel";
4291
4314
  /**
4292
4315
  * Tuning knobs for the built-in filter popover. Forwarded by `filterable`
4293
4316
  * when the consumer needs more than just "on / off".
@@ -4306,12 +4329,20 @@ interface TableFilterOptions {
4306
4329
  * the rest (a date range, a wide option list).
4307
4330
  */
4308
4331
  popoverWidth?: PopoverWidth;
4332
+ /**
4333
+ * Footer buttons for this column's filter, in display order, overriding the
4334
+ * table's `filterActions`. An empty array hides the footer — the filter
4335
+ * template then closes the popover itself through `apply()` / `clear()` /
4336
+ * `cancel()`.
4337
+ */
4338
+ actions?: TableFilterAction[];
4309
4339
  }
4310
4340
  /**
4311
4341
  * Context exposed by the built-in filter popover to the consumer's
4312
4342
  * `filterTemplate`. The consumer binds inputs to `value` / `setValue` and
4313
- * optionally calls `apply()` / `clear()` (e.g. on Enter / Escape) — the
4314
- * popover's footer already wires Apply / Clear buttons.
4343
+ * optionally calls `apply()` / `clear()` / `cancel()` (e.g. on Enter /
4344
+ * Escape) — the popover's footer already wires the buttons chosen through
4345
+ * `filterActions`.
4315
4346
  *
4316
4347
  * `$implicit` aliases the context itself, so `<ng-template let-ctx>` binds
4317
4348
  * `ctx` to a full `TediTableFilterContext` (the consumer reads `ctx.value`,
@@ -4332,6 +4363,11 @@ interface TediTableFilterContext<TValue = unknown, TData = unknown> {
4332
4363
  apply: () => void;
4333
4364
  /** Reset the filter (calls `setFilterValue(undefined)`) and close. */
4334
4365
  clear: () => void;
4366
+ /**
4367
+ * Close the popover without changing the applied filter. The draft is reset
4368
+ * to the applied value.
4369
+ */
4370
+ cancel: () => void;
4335
4371
  /** TanStack `Column` for the column whose filter popover is open. */
4336
4372
  column: Column<TData>;
4337
4373
  }
@@ -4343,11 +4379,14 @@ interface TediTableFilterContext<TValue = unknown, TData = unknown> {
4343
4379
  interface TableFilterModalData {
4344
4380
  /** Column label shown as the modal title. */
4345
4381
  columnLabel: string;
4346
- applyLabel: string;
4347
- clearLabel: string;
4382
+ /** Footer buttons to render, in display order, with their translated labels. */
4383
+ actions: {
4384
+ action: TableFilterAction;
4385
+ label: string;
4386
+ }[];
4348
4387
  /** Consumer-provided filter template. */
4349
4388
  template: TemplateRef<TediTableFilterContext<unknown, unknown>>;
4350
- /** Builds the filter context, wiring `apply` / `clear` to close the modal. */
4389
+ /** Builds the filter context, wiring `apply` / `clear` / `cancel` to close the modal. */
4351
4390
  buildContext: (close: () => void) => TediTableFilterContext<unknown, unknown>;
4352
4391
  }
4353
4392
  /**
@@ -4376,15 +4415,17 @@ type TediColumnDef<TData, TValue = unknown> = ColumnDef<TData, TValue> & {
4376
4415
  */
4377
4416
  groupBy?: boolean | ((row: Row<TData>) => unknown);
4378
4417
  /**
4379
- * Opts the column into the built-in sort affordance. When `true` and the
4380
- * column's `header` is a string, the table renders a clickable sort button
4381
- * around the header title — the entire title becomes the affordance, an
4382
- * icon reflects the current sort direction, `aria-sort` is wired, and
4383
- * clicking toggles `asc → desc → none`.
4418
+ * Opts the column into the built-in sort affordance: an icon reflects the
4419
+ * current sort direction, `aria-sort` is wired, and clicking toggles
4420
+ * `asc → desc → none`.
4384
4421
  *
4385
- * For fully custom sort UIs (e.g. combined sort + filter), provide a
4386
- * `TemplateRef` for `header` and call `column.toggleSorting()` yourself —
4387
- * the shorthand bows out when a non-string header is rendered.
4422
+ * - String header: the whole title becomes the sort button.
4423
+ * - Custom header (template or component): the header renders as-is,
4424
+ * followed by an icon-only sort button. Set `meta.label` so the button can
4425
+ * name the column (otherwise the column id is used).
4426
+ *
4427
+ * For a fully custom sort UI, leave `sortable` off, provide a `TemplateRef`
4428
+ * for `header` and call `column.toggleSorting()` yourself.
4388
4429
  *
4389
4430
  * Pair with `sortingFn` on the same column to override the comparator
4390
4431
  * (built-in: `'alphanumeric'`, `'text'`, `'datetime'`, `'basic'`, `'auto'`,
@@ -4699,6 +4740,14 @@ declare class TediTableComponent<TData> {
4699
4740
  * @default "small"
4700
4741
  */
4701
4742
  readonly filterPopoverWidth: _angular_core.InputSignal<PopoverWidth>;
4743
+ /**
4744
+ * Footer buttons of the column filter popover and modal, in display order:
4745
+ * `"apply"` commits the draft, `"clear"` removes the filter, `"cancel"`
4746
+ * closes and keeps the applied filter. A single column can override it
4747
+ * through `filterable: { actions }`.
4748
+ * @default ["clear", "apply"]
4749
+ */
4750
+ readonly filterActions: _angular_core.InputSignal<TableFilterAction[]>;
4702
4751
  /**
4703
4752
  * Enables pagination and configures the bottom paginator slot. This is also
4704
4753
  * the source of truth for `pageSize` / `pageSizeOptions` — the top slot
@@ -5177,14 +5226,20 @@ declare class TediTableComponent<TData> {
5177
5226
  protected getFilterValue(column: ReturnType<Table<TData>["getAllLeafColumns"]>[number]): string;
5178
5227
  protected isString(value: unknown): value is string;
5179
5228
  protected isNumber(value: unknown): value is number;
5229
+ /** True when the column sets `sortable: true` and TanStack can sort it. */
5230
+ private hasBuiltInSort;
5180
5231
  /**
5181
- * Returns true when the column opted into the built-in sort affordance
5182
- * (`sortable: true` on its `TediColumnDef`), TanStack reports it can sort
5183
- * (`enableSorting !== false`), and the rendered header content is a plain
5184
- * string / number. Custom header `TemplateRef`s and functions bow out of
5185
- * the shorthand and render via `flexRender` as-is.
5232
+ * True for a sortable column with a plain string / number header: the title
5233
+ * itself becomes the sort button.
5186
5234
  */
5187
5235
  protected shouldRenderSortableHeader(column: Column<TData, unknown>, content: unknown): boolean;
5236
+ /**
5237
+ * True for a sortable column with a custom header (template or component):
5238
+ * the header renders as-is and an icon-only sort button follows it.
5239
+ */
5240
+ protected shouldRenderSortButtonAfterHeader(header: Header<TData, unknown>): boolean;
5241
+ /** Accessible name of the icon-only sort button: next action + column. */
5242
+ protected sortAriaLabel(column: Column<TData, unknown>): string;
5188
5243
  /**
5189
5244
  * Material icon name reflecting the column's current sort state.
5190
5245
  * `asc → arrow_upward`, `desc → arrow_downward`, otherwise `unfold_more`.
@@ -5225,8 +5280,10 @@ declare class TediTableComponent<TData> {
5225
5280
  /** Translated aria-label for the filter trigger button — uses the column
5226
5281
  * label (header text or `meta.label`). */
5227
5282
  protected filterAriaLabel(col: ReturnType<Table<TData>["getAllLeafColumns"]>[number]): string;
5228
- protected filterApplyLabel(): string;
5229
- protected filterClearLabel(): string;
5283
+ /** Footer buttons for the column's filter: the column's own `actions`, or
5284
+ * the table's `filterActions`. Repeated entries are dropped. */
5285
+ protected filterActionsFor(col: Column<TData, unknown>): TableFilterAction[];
5286
+ protected filterActionLabel(action: TableFilterAction): string;
5230
5287
  private getFilterDraft;
5231
5288
  /**
5232
5289
  * Structural equality for filter values (strings, numbers, bigints, arrays,
@@ -5260,13 +5317,13 @@ declare class TediTableComponent<TData> {
5260
5317
  * Builds the per-column context object handed to the consumer's
5261
5318
  * `filterTemplate`. `$implicit` is wired to the context itself so
5262
5319
  * `<ng-template let-ctx>` resolves `ctx.value`, `ctx.setValue`,
5263
- * `ctx.apply()`, `ctx.clear()` and `ctx.column` without extra `let-*`
5320
+ * `ctx.apply()`, `ctx.clear()`, `ctx.cancel()` and `ctx.column` without extra `let-*`
5264
5321
  * destructuring.
5265
5322
  */
5266
5323
  protected filterContextFor(col: Column<TData, unknown>, popover: PopoverComponent): TediTableFilterContext<unknown, TData>;
5267
5324
  /**
5268
- * Builds the filter context, wiring `apply` / `clear` to commit the draft and
5269
- * then run `close` (hide the popover, or close the modal — whichever opened
5325
+ * Builds the filter context, wiring `apply` / `clear` / `cancel` to update
5326
+ * the draft and the applied filter and then run `close` (hide the popover, or close the modal — whichever opened
5270
5327
  * the filter). Shared by the popover and the modal renderers.
5271
5328
  */
5272
5329
  private buildFilterContext;
@@ -5279,8 +5336,7 @@ declare class TediTableComponent<TData> {
5279
5336
  * `apply` / `clear` close the modal instead.
5280
5337
  */
5281
5338
  protected openFilterModal(col: Column<TData, unknown>): void;
5282
- protected handleFilterApply(col: Column<TData, unknown>, popover: PopoverComponent): void;
5283
- protected handleFilterClear(col: Column<TData, unknown>, popover: PopoverComponent): void;
5339
+ protected handleFilterAction(action: TableFilterAction, col: Column<TData, unknown>, popover: PopoverComponent): void;
5284
5340
  /**
5285
5341
  * Resolve `rowSpan` for a body cell.
5286
5342
  * - `null` → render normal `<td>`
@@ -5294,7 +5350,7 @@ declare class TediTableComponent<TData> {
5294
5350
  };
5295
5351
  }, cellContext: CellContext<TData, unknown>): number | null;
5296
5352
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TediTableComponent<any>, never>;
5297
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TediTableComponent<any>, "tedi-table", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": true; "isSignal": true; }; "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "caption": { "alias": "caption"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "ariaLabelledby"; "required": false; "isSignal": true; }; "striped": { "alias": "striped"; "required": false; "isSignal": true; }; "verticalBorders": { "alias": "verticalBorders"; "required": false; "isSignal": true; }; "borderless": { "alias": "borderless"; "required": false; "isSignal": true; }; "stickyFirstColumn": { "alias": "stickyFirstColumn"; "required": false; "isSignal": true; }; "stickyLastColumn": { "alias": "stickyLastColumn"; "required": false; "isSignal": true; }; "stickyHeader": { "alias": "stickyHeader"; "required": false; "isSignal": true; }; "fixedLayout": { "alias": "fixedLayout"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "activeRowId": { "alias": "activeRowId"; "required": false; "isSignal": true; }; "selectedRowHighlight": { "alias": "selectedRowHighlight"; "required": false; "isSignal": true; }; "rowHover": { "alias": "rowHover"; "required": false; "isSignal": true; }; "enableRowSelection": { "alias": "enableRowSelection"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "enableColumnFilters": { "alias": "enableColumnFilters"; "required": false; "isSignal": true; }; "renderSubComponent": { "alias": "renderSubComponent"; "required": false; "isSignal": true; }; "getRowCanExpand": { "alias": "getRowCanExpand"; "required": false; "isSignal": true; }; "expandTrigger": { "alias": "expandTrigger"; "required": false; "isSignal": true; }; "expandButtonVariant": { "alias": "expandButtonVariant"; "required": false; "isSignal": true; }; "expandButtonLabel": { "alias": "expandButtonLabel"; "required": false; "isSignal": true; }; "getSubRows": { "alias": "getSubRows"; "required": false; "isSignal": true; }; "getRowId": { "alias": "getRowId"; "required": false; "isSignal": true; }; "groupRowsBy": { "alias": "groupRowsBy"; "required": false; "isSignal": true; }; "rowGroupDividers": { "alias": "rowGroupDividers"; "required": false; "isSignal": true; }; "controlColumnOrder": { "alias": "controlColumnOrder"; "required": false; "isSignal": true; }; "filterModalBreakpoint": { "alias": "filterModalBreakpoint"; "required": false; "isSignal": true; }; "filterModalFullscreen": { "alias": "filterModalFullscreen"; "required": false; "isSignal": true; }; "filterPopoverWidth": { "alias": "filterPopoverWidth"; "required": false; "isSignal": true; }; "pagination": { "alias": "pagination"; "required": false; "isSignal": true; }; "paginationTop": { "alias": "paginationTop"; "required": false; "isSignal": true; }; "manualPagination": { "alias": "manualPagination"; "required": false; "isSignal": true; }; "manualSorting": { "alias": "manualSorting"; "required": false; "isSignal": true; }; "manualFiltering": { "alias": "manualFiltering"; "required": false; "isSignal": true; }; "pageCount": { "alias": "pageCount"; "required": false; "isSignal": true; }; "rowCount": { "alias": "rowCount"; "required": false; "isSignal": true; }; "state": { "alias": "state"; "required": false; "isSignal": true; }; "defaultState": { "alias": "defaultState"; "required": false; "isSignal": true; }; "persist": { "alias": "persist"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "placeholderRole": { "alias": "placeholderRole"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "rowAriaLabel": { "alias": "rowAriaLabel"; "required": false; "isSignal": true; }; "reorderableRows": { "alias": "reorderableRows"; "required": false; "isSignal": true; }; "reorderableColumns": { "alias": "reorderableColumns"; "required": false; "isSignal": true; }; }, { "stateChange": "stateChange"; "rowClick": "rowClick"; "rowDrop": "rowDrop"; }, ["customResultsTemplateRef"], ["tedi-table-toolbar", "tedi-table-columns-menu"], true, never>;
5353
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TediTableComponent<any>, "tedi-table", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": true; "isSignal": true; }; "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "caption": { "alias": "caption"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "ariaLabelledby"; "required": false; "isSignal": true; }; "striped": { "alias": "striped"; "required": false; "isSignal": true; }; "verticalBorders": { "alias": "verticalBorders"; "required": false; "isSignal": true; }; "borderless": { "alias": "borderless"; "required": false; "isSignal": true; }; "stickyFirstColumn": { "alias": "stickyFirstColumn"; "required": false; "isSignal": true; }; "stickyLastColumn": { "alias": "stickyLastColumn"; "required": false; "isSignal": true; }; "stickyHeader": { "alias": "stickyHeader"; "required": false; "isSignal": true; }; "fixedLayout": { "alias": "fixedLayout"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "activeRowId": { "alias": "activeRowId"; "required": false; "isSignal": true; }; "selectedRowHighlight": { "alias": "selectedRowHighlight"; "required": false; "isSignal": true; }; "rowHover": { "alias": "rowHover"; "required": false; "isSignal": true; }; "enableRowSelection": { "alias": "enableRowSelection"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "enableColumnFilters": { "alias": "enableColumnFilters"; "required": false; "isSignal": true; }; "renderSubComponent": { "alias": "renderSubComponent"; "required": false; "isSignal": true; }; "getRowCanExpand": { "alias": "getRowCanExpand"; "required": false; "isSignal": true; }; "expandTrigger": { "alias": "expandTrigger"; "required": false; "isSignal": true; }; "expandButtonVariant": { "alias": "expandButtonVariant"; "required": false; "isSignal": true; }; "expandButtonLabel": { "alias": "expandButtonLabel"; "required": false; "isSignal": true; }; "getSubRows": { "alias": "getSubRows"; "required": false; "isSignal": true; }; "getRowId": { "alias": "getRowId"; "required": false; "isSignal": true; }; "groupRowsBy": { "alias": "groupRowsBy"; "required": false; "isSignal": true; }; "rowGroupDividers": { "alias": "rowGroupDividers"; "required": false; "isSignal": true; }; "controlColumnOrder": { "alias": "controlColumnOrder"; "required": false; "isSignal": true; }; "filterModalBreakpoint": { "alias": "filterModalBreakpoint"; "required": false; "isSignal": true; }; "filterModalFullscreen": { "alias": "filterModalFullscreen"; "required": false; "isSignal": true; }; "filterPopoverWidth": { "alias": "filterPopoverWidth"; "required": false; "isSignal": true; }; "filterActions": { "alias": "filterActions"; "required": false; "isSignal": true; }; "pagination": { "alias": "pagination"; "required": false; "isSignal": true; }; "paginationTop": { "alias": "paginationTop"; "required": false; "isSignal": true; }; "manualPagination": { "alias": "manualPagination"; "required": false; "isSignal": true; }; "manualSorting": { "alias": "manualSorting"; "required": false; "isSignal": true; }; "manualFiltering": { "alias": "manualFiltering"; "required": false; "isSignal": true; }; "pageCount": { "alias": "pageCount"; "required": false; "isSignal": true; }; "rowCount": { "alias": "rowCount"; "required": false; "isSignal": true; }; "state": { "alias": "state"; "required": false; "isSignal": true; }; "defaultState": { "alias": "defaultState"; "required": false; "isSignal": true; }; "persist": { "alias": "persist"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "placeholderRole": { "alias": "placeholderRole"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "rowAriaLabel": { "alias": "rowAriaLabel"; "required": false; "isSignal": true; }; "reorderableRows": { "alias": "reorderableRows"; "required": false; "isSignal": true; }; "reorderableColumns": { "alias": "reorderableColumns"; "required": false; "isSignal": true; }; }, { "stateChange": "stateChange"; "rowClick": "rowClick"; "rowDrop": "rowDrop"; }, ["customResultsTemplateRef"], ["tedi-table-toolbar", "tedi-table-columns-menu"], true, never>;
5298
5354
  }
5299
5355
 
5300
5356
  declare const TEDI_TABLE_CONTEXT: InjectionToken<TediTableContextValue<unknown>>;
@@ -6692,6 +6748,8 @@ declare class DateFieldComponent implements OnInit, ControlValueAccessor, FormFi
6692
6748
  readonly modal: _angular_core.InputSignal<DateFieldModalInput>;
6693
6749
  /** Make the modal fullscreen: `true` always, `false` never, breakpoint name → fullscreen below that breakpoint. Only applies when the calendar actually opens as a modal. */
6694
6750
  readonly fullscreen: _angular_core.InputSignal<_tedi_design_system_angular_tedi.BreakpointFlag>;
6751
+ /** Stretch the calendar across the modal body, scaling its cells (Calendar `fullWidth`). Only applies in modal mode. */
6752
+ readonly calendarFullWidth: _angular_core.InputSignal<boolean>;
6695
6753
  /**
6696
6754
  * Custom formatter for the input's display string. Overrides the locale-aware
6697
6755
  * default. Receives the `DateFieldValue` and returns a string.
@@ -6820,7 +6878,7 @@ declare class DateFieldComponent implements OnInit, ControlValueAccessor, FormFi
6820
6878
  private toIsoDate;
6821
6879
  private queryNativeInput;
6822
6880
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DateFieldComponent, never>;
6823
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DateFieldComponent, "tedi-date-field", never, { "inputId": { "alias": "inputId"; "required": true; "isSignal": true; }; "name": { "alias": "name"; "required": false; "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; }; "disabledMatchers": { "alias": "disabledMatchers"; "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; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "invalidInput": { "alias": "invalid"; "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; }; "minYear": { "alias": "minYear"; "required": false; "isSignal": true; }; "maxYear": { "alias": "maxYear"; "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; }; "hideOnScroll": { "alias": "hideOnScroll"; "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>;
6881
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DateFieldComponent, "tedi-date-field", never, { "inputId": { "alias": "inputId"; "required": true; "isSignal": true; }; "name": { "alias": "name"; "required": false; "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; }; "disabledMatchers": { "alias": "disabledMatchers"; "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; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "invalidInput": { "alias": "invalid"; "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; }; "minYear": { "alias": "minYear"; "required": false; "isSignal": true; }; "maxYear": { "alias": "maxYear"; "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; }; "hideOnScroll": { "alias": "hideOnScroll"; "required": false; "isSignal": true; }; "modal": { "alias": "modal"; "required": false; "isSignal": true; }; "fullscreen": { "alias": "fullscreen"; "required": false; "isSignal": true; }; "calendarFullWidth": { "alias": "calendarFullWidth"; "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>;
6824
6882
  }
6825
6883
 
6826
6884
  declare class DatePickerCalendarGridComponent {
@@ -7030,12 +7088,14 @@ declare class FeedbackTextComponent {
7030
7088
  * Type of form-helper.
7031
7089
  * @default hint
7032
7090
  */
7033
- type: _angular_core.InputSignal<FeedbackTextType>;
7091
+ type: _angular_core.InputSignal<FeedbackTextType | undefined>;
7034
7092
  /**
7035
7093
  * Position of the helper.
7036
7094
  * @default left
7037
7095
  */
7038
- position: _angular_core.InputSignal<FeedbackTextPosition>;
7096
+ position: _angular_core.InputSignal<FeedbackTextPosition | undefined>;
7097
+ private readonly resolvedType;
7098
+ private readonly resolvedPosition;
7039
7099
  role: _angular_core.Signal<"alert" | undefined>;
7040
7100
  ariaLive: _angular_core.Signal<"polite" | "assertive">;
7041
7101
  classes: _angular_core.Signal<string>;
@@ -8892,8 +8952,18 @@ type TimeFieldUseNativePicker = boolean | "sm" | "md" | "lg" | "xl";
8892
8952
  declare class TimeFieldComponent implements OnInit, ControlValueAccessor, FormFieldControl<string | null> {
8893
8953
  private readonly fieldContext;
8894
8954
  private readonly derived;
8955
+ /**
8956
+ * `aria-describedby` ids for the input — the wrapping form-field's feedback
8957
+ * text, plus any set on `<tedi-time-field>` itself.
8958
+ */
8959
+ readonly describedBy: _tedi_design_system_angular_tedi.ControlDescribedBy;
8895
8960
  /** Unique ID for label association and accessibility. */
8896
8961
  readonly inputId: _angular_core.InputSignal<string>;
8962
+ /**
8963
+ * `name` attribute of the input, used by native form submission. Omitted
8964
+ * from the DOM when not set.
8965
+ */
8966
+ readonly name: _angular_core.InputSignal<string | undefined>;
8897
8967
  /** Selected time in `HH:mm` format. Two-way bindable. */
8898
8968
  readonly value: _angular_core.ModelSignal<string | null>;
8899
8969
  /** Placeholder shown when the input is empty. */
@@ -8984,6 +9054,7 @@ declare class TimeFieldComponent implements OnInit, ControlValueAccessor, FormFi
8984
9054
  registerOnChange(fn: (value: string | null) => void): void;
8985
9055
  registerOnTouched(fn: () => void): void;
8986
9056
  setDisabledState(disabled: boolean): void;
9057
+ setDescribedBy(ids: string[]): void;
8987
9058
  handleInput(event: Event): void;
8988
9059
  handleBlur(): void;
8989
9060
  clearInput(): void;
@@ -9002,7 +9073,7 @@ declare class TimeFieldComponent implements OnInit, ControlValueAccessor, FormFi
9002
9073
  onPickerSelectionCommitted(): void;
9003
9074
  closePopover(notifyTouched?: boolean): void;
9004
9075
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TimeFieldComponent, never>;
9005
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TimeFieldComponent, "tedi-time-field", never, { "inputId": { "alias": "inputId"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "invalidInput": { "alias": "invalid"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "pickerVariant": { "alias": "pickerVariant"; "required": false; "isSignal": true; }; "useNativePicker": { "alias": "useNativePicker"; "required": false; "isSignal": true; }; "pickerTrigger": { "alias": "pickerTrigger"; "required": false; "isSignal": true; }; "closeOnSelect": { "alias": "closeOnSelect"; "required": false; "isSignal": true; }; "timeSlots": { "alias": "timeSlots"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "showSlotIndicator": { "alias": "showSlotIndicator"; "required": false; "isSignal": true; }; "minuteStep": { "alias": "minuteStep"; "required": false; "isSignal": true; }; "modal": { "alias": "modal"; "required": false; "isSignal": true; }; "fullscreen": { "alias": "fullscreen"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
9076
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TimeFieldComponent, "tedi-time-field", never, { "inputId": { "alias": "inputId"; "required": true; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "invalidInput": { "alias": "invalid"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "pickerVariant": { "alias": "pickerVariant"; "required": false; "isSignal": true; }; "useNativePicker": { "alias": "useNativePicker"; "required": false; "isSignal": true; }; "pickerTrigger": { "alias": "pickerTrigger"; "required": false; "isSignal": true; }; "closeOnSelect": { "alias": "closeOnSelect"; "required": false; "isSignal": true; }; "timeSlots": { "alias": "timeSlots"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "showSlotIndicator": { "alias": "showSlotIndicator"; "required": false; "isSignal": true; }; "minuteStep": { "alias": "minuteStep"; "required": false; "isSignal": true; }; "modal": { "alias": "modal"; "required": false; "isSignal": true; }; "fullscreen": { "alias": "fullscreen"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
9006
9077
  }
9007
9078
 
9008
9079
  type ProgressBarSize = "default" | "small";
@@ -10707,7 +10778,7 @@ declare class TableOfContentsComponent {
10707
10778
  * list reads as a set of separated rows.
10708
10779
  * @default false
10709
10780
  */
10710
- readonly bordered: _angular_core.InputSignal<boolean>;
10781
+ readonly divided: _angular_core.InputSignal<boolean>;
10711
10782
  /** Id of the currently active item. */
10712
10783
  readonly activeId: _angular_core.InputSignal<string | undefined>;
10713
10784
  /**
@@ -10766,7 +10837,7 @@ declare class TableOfContentsComponent {
10766
10837
  /** Nearest scrollable ancestor within this component (e.g. the sticky `nav`). */
10767
10838
  private findScrollParent;
10768
10839
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableOfContentsComponent, never>;
10769
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableOfContentsComponent, "tedi-table-of-contents", never, { "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "headingLevel": { "alias": "headingLevel"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; "activeId": { "alias": "activeId"; "required": false; "isSignal": true; }; "scrollActiveIntoView": { "alias": "scrollActiveIntoView"; "required": false; "isSignal": true; }; "defaultOpen": { "alias": "defaultOpen"; "required": false; "isSignal": true; }; "numbered": { "alias": "numbered"; "required": false; "isSignal": true; }; "sticky": { "alias": "sticky"; "required": false; "isSignal": true; }; "stickyOffset": { "alias": "stickyOffset"; "required": false; "isSignal": true; }; "stickyMaxHeight": { "alias": "stickyMaxHeight"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, ["items"], ["tedi-table-of-contents-item"], true, never>;
10840
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableOfContentsComponent, "tedi-table-of-contents", never, { "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "headingLevel": { "alias": "headingLevel"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "divided": { "alias": "divided"; "required": false; "isSignal": true; }; "activeId": { "alias": "activeId"; "required": false; "isSignal": true; }; "scrollActiveIntoView": { "alias": "scrollActiveIntoView"; "required": false; "isSignal": true; }; "defaultOpen": { "alias": "defaultOpen"; "required": false; "isSignal": true; }; "numbered": { "alias": "numbered"; "required": false; "isSignal": true; }; "sticky": { "alias": "sticky"; "required": false; "isSignal": true; }; "stickyOffset": { "alias": "stickyOffset"; "required": false; "isSignal": true; }; "stickyMaxHeight": { "alias": "stickyMaxHeight"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, ["items"], ["tedi-table-of-contents-item"], true, never>;
10770
10841
  }
10771
10842
 
10772
10843
  /**
@@ -10853,7 +10924,7 @@ declare class TableOfContentsCollapsibleComponent implements OnDestroy {
10853
10924
  * sheet's list reads as a set of separated rows. Mirrors `tedi-table-of-contents`.
10854
10925
  * @default false
10855
10926
  */
10856
- readonly bordered: _angular_core.InputSignal<boolean>;
10927
+ readonly divided: _angular_core.InputSignal<boolean>;
10857
10928
  /**
10858
10929
  * Pin the bar to the bottom of the viewport. Set `false` to render it inline.
10859
10930
  */
@@ -10907,7 +10978,7 @@ declare class TableOfContentsCollapsibleComponent implements OnDestroy {
10907
10978
  onListClick(event: Event): void;
10908
10979
  private openSheet;
10909
10980
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableOfContentsCollapsibleComponent, never>;
10910
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableOfContentsCollapsibleComponent, "tedi-table-of-contents-collapsible", never, { "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "activeId": { "alias": "activeId"; "required": false; "isSignal": true; }; "defaultOpen": { "alias": "defaultOpen"; "required": false; "isSignal": true; }; "numbered": { "alias": "numbered"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; "sticky": { "alias": "sticky"; "required": false; "isSignal": true; }; "hideOnScroll": { "alias": "hideOnScroll"; "required": false; "isSignal": true; }; "scrollContainer": { "alias": "scrollContainer"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, ["items"], ["tedi-table-of-contents-item"], true, never>;
10981
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableOfContentsCollapsibleComponent, "tedi-table-of-contents-collapsible", never, { "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "activeId": { "alias": "activeId"; "required": false; "isSignal": true; }; "defaultOpen": { "alias": "defaultOpen"; "required": false; "isSignal": true; }; "numbered": { "alias": "numbered"; "required": false; "isSignal": true; }; "divided": { "alias": "divided"; "required": false; "isSignal": true; }; "sticky": { "alias": "sticky"; "required": false; "isSignal": true; }; "hideOnScroll": { "alias": "hideOnScroll"; "required": false; "isSignal": true; }; "scrollContainer": { "alias": "scrollContainer"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, ["items"], ["tedi-table-of-contents-item"], true, never>;
10911
10982
  }
10912
10983
 
10913
10984
  /**
@@ -10923,7 +10994,11 @@ declare class TabsComponent {
10923
10994
  readonly value: _angular_core.InputSignal<string | undefined>;
10924
10995
  /** Initial active tab id for uncontrolled usage. */
10925
10996
  readonly defaultValue: _angular_core.InputSignal<string>;
10926
- /** Emitted when the active tab changes. */
10997
+ /**
10998
+ * Emitted with the id of the tab the user selected. In controlled mode the
10999
+ * active tab changes once the bound `value` is updated. With anchor triggers
11000
+ * the link already navigates, so don't navigate from this event.
11001
+ */
10927
11002
  readonly valueChange: _angular_core.OutputEmitterRef<string>;
10928
11003
  /** Currently active tab id, read by the list, triggers and panels. */
10929
11004
  readonly activeTab: _angular_core.WritableSignal<string>;
@@ -10966,6 +11041,8 @@ declare class TabsTriggerComponent {
10966
11041
  get contentNodes(): Node[];
10967
11042
  /** Scrolls this trigger into view within a horizontally scrolling tablist. */
10968
11043
  scrollIntoView(): void;
11044
+ /** Activates the tab the way a click on it does: an anchor follows its link, a button selects its panel. */
11045
+ activate(): void;
10969
11046
  handleClick(event?: Event): void;
10970
11047
  private opensInNewBrowsingContext;
10971
11048
  handleKeydown(event: KeyboardEvent): void;
@@ -11608,5 +11685,5 @@ declare function isValidTime(time: string | null | undefined): boolean;
11608
11685
  declare function normalizeTime(input: string): string | null;
11609
11686
 
11610
11687
  export { AVAILABLE_LANGUAGES, AccordionComponent, AccordionItemComponent, AccordionItemContentComponent, AccordionItemHeaderComponent, AlertComponent, AttachmentActionsComponent, AttachmentComponent, BREAKPOINTS, BaseButtonDirective, BreadcrumbItemDirective, BreadcrumbSeparatorDirective, BreadcrumbsComponent, 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, DropdownTriggerDirective, EllipsisComponent, EmptyStateComponent, FeedbackTextComponent, FilterComponent, FilterContentDirective, FilterGroupComponent, FilterPrependDirective, FloatingButtonComponent, FooterBodyComponent, FooterBottomComponent, FooterComponent, FooterSectionComponent, FooterSideComponent, FormFieldComponent, FormFieldExtraDirective, HeaderActionsComponent, HeaderBottomComponent, HeaderComponent, HeaderContentComponent, HeaderLanguageComponent, HeaderLoginComponent, HeaderLogoComponent, HeaderLogoDarkDirective, HeaderLogoutComponent, HeaderMobileButtonComponent, HeaderProfileComponent, HeaderRoleComponent, HeaderRoleContentDirective, HeaderRoleNoResultsDirective, HeaderRoleTitleDirective, HeaderSearchComponent, HeaderTopComponent, HeadingWithIconComponent, HideAtDirective, HorizontalPushHandler, HorizontalStepperComponent, HorizontalStepperItemComponent, IconComponent, InfoButtonComponent, InfoTooltipComponent, InputGroupComponent, InputGroupPrefixDirective, InputGroupSuffixDirective, LANGUAGE_COOKIE_NAME, LANGUAGE_FALLBACK_VALUE, LabelComponent, LabelRowComponent, LinkComponent, ListComponent, MODAL_DATA, MODAL_SIZE, ModalComponent, ModalContentComponent, ModalFooterComponent, ModalHeaderComponent, ModalRef, ModalService, NumberFieldComponent, OptionContentComponent, OptionContentLabelComponent, OptionContentMetaComponent, PaginationComponent, PopoverComponent, PopoverContentComponent, PopoverTriggerDirective, PrintDirective, ProgressBarComponent, RadioCardComponent, RadioCardGroupComponent, RadioComponent, RadioGroupComponent, RowComponent, ScrollFadeComponent, SearchComponent, SearchFooterActionsComponent, SearchFooterTemplateDirective, SearchSuggestionComponent, SearchSuggestionTemplateDirective, SelectComponent, SelectOptionTemplateDirective, SelectTooltipTemplateDirective, SelectValueTemplateDirective, SeparatorComponent, ShowAtDirective, SideNavComponent, SideNavDropdownComponent, SideNavDropdownGroupComponent, SideNavDropdownItemComponent, SideNavGroupTitleComponent, SideNavItemComponent, SideNavOverlayComponent, SideNavToggleComponent, SkeletonBlockComponent, SkeletonComponent, SliderComponent, SpecialOptionControls, SpinnerComponent, StatusBadgeComponent, StatusIndicatorComponent, TAG_GAP, TEDI_FIELD_CONTEXT, TEDI_FORM_FIELD_CONTROL, TEDI_INPUT_GROUP, TEDI_TABLE_CONTEXT, TEDI_THEME_DEFAULT_TOKEN, TEDI_TRANSLATION_DEFAULT_TOKEN, THEME_CLASS_PREFIX, THEME_COOKIE_NAME, THEME_FALLBACK_VALUE, TOAST_DEFAULT_DURATION, TableOfContentsCollapsibleComponent, TableOfContentsComponent, TableOfContentsItemComponent, TableOfContentsItemSuffixDirective, TabsComponent, TabsContentComponent, TabsListComponent, TabsTriggerComponent, TagComponent, TediPaginationResultsDirective, TediTableColumnsMenuComponent, TediTableComponent, TediTableHeaderButtonComponent, TediTableToolbarComponent, TediTranslationPipe, TediTranslationService, TextComponent, TextFieldComponent, TextGroupComponent, TextGroupLabelComponent, TextGroupValueComponent, TextareaComponent, ThemeService, TimeFieldComponent, TimePickerComponent, TimelineComponent, TimelineDescriptionComponent, TimelineItemComponent, TimelineTimingsBottomDirective, TimelineTitleComponent, ToastComponent, ToastService, ToggleComponent, TooltipComponent, TooltipContentComponent, TooltipTriggerComponent, TruncateComponent, VerticalSpacingDirective, VerticalSpacingItemDirective, addDays, addMonths, addYears, breakpointInput, buildMonthGrid, calculateArrowOffset, calculateVisibleTagCount, computeGroupSpans, controlDescribedBy, cookieSignal, createTablePersistence, deriveControlState, endOfMonth, formatDate, formatLocaleDate, formatLocaleDateHint, formatLocaleDateLong, formatMonthYear, generateUUID, getCardBorderPlacementColor, getDaysInMonth, getFirstDayOfWeek, getFocusableElements, getISOWeek, getMonthNames, getPaddingCssVariables, getPlacementFromPositionChange, getWeekdayNames, groupRowSpan, highlightParts, injectTediTableContext, isAfterDay, isBeforeDay, isDateInRange, isSameDay, isSameMonth, isSameYear, isValidTime, matchAny, matchDate, normalizeTime, parseDate, parseLocaleDate, provideTedi, resolveCardBorderRadius, startOfMonth, startOfWeek, toConnectedPositions, toggleDateInArray, usePagination, warnDeprecated };
11611
- export type { AccordionInputs, AlertRole, AlertSize, AlertTitleType, AlertType, AlertVariant, AlignItems, AlignSelf, ArrowOffset, ArrowType, AttachmentDirection, BreadcrumbsInputs, BreadcrumbsVariant, Breakpoint, BreakpointFlag, BreakpointInput, BreakpointInputs, BreakpointInputsWithoutSignals, BreakpointObject, BulletColor, ButtonGroupDropdownLabelMode, ButtonSize, ButtonVariant, CalendarView, CardBackground, CardBorderPlacement, CardBorderRadius, CardBorderType, CardContentInputs, CardIconSize, CardIconType, CardInputs, CardPadding, CardPaddingNumber, CardResolvedCorners, CardRowDirection, CardRowInputs, CarouselIndicatorsVariant, CheckboxCardVariant, CheckboxGroupDirection, CheckboxSize, ClosingButtonIconSize, ClosingButtonSize, ColInputs, ColWidth, CollapseButtonArrowType, CollapseButtonSize, CollapseSize, Cols, ColumnReorderPhase, CompareWithFn, ComponentInputs, ControlDescribedBy, DateAfter, DateBefore, DateFieldMode, DateInterval, DatePickerDay, DatePickerInputSize, DatePickerInputState, DatePickerMatcher, DatePickerSelectorMode, DatePickerView, DateRange, DayOfWeek, DerivedControlState, DropdownApi, DropdownContentApi, DropdownPosition, DropdownRole, DropdownTriggerAriaHasPopup, EllipsisPosition, EmptyStateSize, EmptyStateType, FeedbackTextPosition, FeedbackTextType, FieldContext, FilterOption, FilterSize, FilterVariant, FloatingButtonAxis, FloatingButtonOffset, FloatingButtonPlacement, FloatingButtonPosition, FloatingButtonSize, FloatingButtonVariant, FooterSidePlacement, FooterSidePosition, FormFieldControl, FormFieldIcon, Gap, GroupByFn, HeaderContentAlignment, HeaderLanguage, HeaderLanguageLabelPosition, HeaderLoginInputs, HeaderLoginSize, HeaderLogoutInputs, HeaderLogoutSize, HeaderProfileInputs, HeaderProfileSize, HeaderSearchMobileLabels, HeaderSearchMobileVariant, HeaderTopAlignment, HeaderTopInputs, HeadingLevel, HeadingModifiers, HorizontalStepperBackground, IconBackgroundColor, IconColor, IconSize, IconType, IconVariant, InputGroupContext, InputSize, InputState, JustifyItems, JustifySelf, LabelColor, LabelSize, LabelVisuallyHidden, Language, LinkInputs, LinkSize, LinkVariant, Matcher, ModalCloseGuard, ModalCloseReason, ModalConfig, ModalFullscreen, ModalPosition, ModalScrollBehavior, ModalSize, ModalWidth, ModalWidthPreset, NumberFieldSize, OptionContentLayout, OptionContentType, OverlayPosition, OverlaySide, PaginationBackground, PaginationDividerPosition, PaginationItem, PaginationItemType, PaginationLabels, PaginationVisibility, PopoverPosition, PopoverWidth, PopoverWidthPreset, PrintBreak, PrintVisibility, ProgressBarAnnounce, ProgressBarInputs, ProgressBarLabelPosition, ProgressBarSize, ProgressBarValuePosition, RadioCardVariant, RadioGroupDirection, RadioSize, Representative, RepresentativeIcon, RowInputs, ScrollFadePosition, ScrollFadeScrollbar, ScrollFadeSize, SearchButton, SearchHighlightPart, SearchSize, SearchSuggestionContext, SearchSuggestionView, SelectInputSize, SelectOption, SelectOptionContext, SelectOptionGroup, SelectValueContext, SeparatorAxis, SeparatorColor, SeparatorDotSize, SeparatorSpacing, SeparatorSpacingValue, SeparatorThickness, SeparatorVariant, SideNavItemSize, SkeletonBlockHeight, SkeletonBlockInputs, SkeletonBlockTextHeight, SkeletonBlockWidth, SliderHideLabel, SpinnerColor, SpinnerSize, StatusBadgeColor, StatusBadgeSize, StatusBadgeStatus, StatusBadgeVariant, StatusIndicatorPosition, StatusIndicatorSize, StatusIndicatorType, TEDITheme, TableColumnMeta, TableControlColumn, TableControlColumnOrder, TableExpandTrigger, TableFilterModalData, TableFilterOptions, TableOfContentsHeadingLevel, TableOfContentsVariant, TablePaginationOptions, TablePersistOptions, TablePersistenceController, TableSelectionMode, TableSize, TableState, TableStatePatch, TabsOverflowMode, TagEllipsis, TagOverflowOptions, TagType, TediColumnDef, TediConfig, TediTableContextValue, TediTableFilterContext, TextColor, TextGroupInputs, TextGroupType, TextModifiers, TextareaSize, Theme, TimeFieldFullscreen, TimeFieldModal, TimeFieldPickerTrigger, TimeFieldPickerVariant, TimeFieldUseNativePicker, TimePickerVariant, TimelineCardPadding, TimelineVariant, ToastConfig, ToastPosition, ToastRole, ToastType, ToggleSize, ToggleType, ToggleVariant, TooltipOpenWith, TooltipPosition, TooltipWidth, UsePaginationArgs, VerticalSpacingSize, VirtualRow };
11688
+ export type { AccordionInputs, AlertRole, AlertSize, AlertTitleType, AlertType, AlertVariant, AlignItems, AlignSelf, ArrowOffset, ArrowType, AttachmentDirection, BreadcrumbsInputs, BreadcrumbsVariant, Breakpoint, BreakpointFlag, BreakpointInput, BreakpointInputs, BreakpointInputsWithoutSignals, BreakpointObject, BulletColor, ButtonGroupDropdownLabelMode, ButtonSize, ButtonVariant, CalendarView, CardBackground, CardBorderPlacement, CardBorderRadius, CardBorderType, CardContentInputs, CardIconSize, CardIconType, CardInputs, CardPadding, CardPaddingNumber, CardResolvedCorners, CardRowDirection, CardRowInputs, CarouselIndicatorsVariant, CheckboxCardVariant, CheckboxGroupDirection, CheckboxSize, ClosingButtonIconSize, ClosingButtonSize, ColInputs, ColWidth, CollapseButtonArrowType, CollapseButtonSize, CollapseSize, Cols, ColumnReorderPhase, CompareWithFn, ComponentInputs, ControlDescribedBy, DateAfter, DateBefore, DateFieldMode, DateInterval, DatePickerDay, DatePickerInputSize, DatePickerInputState, DatePickerMatcher, DatePickerSelectorMode, DatePickerView, DateRange, DayOfWeek, DerivedControlState, DropdownApi, DropdownContentApi, DropdownPosition, DropdownRole, DropdownTriggerAriaHasPopup, EllipsisPosition, EmptyStateSize, EmptyStateType, FeedbackTextPosition, FeedbackTextType, FieldContext, FilterOption, FilterSize, FilterVariant, FloatingButtonAxis, FloatingButtonOffset, FloatingButtonPlacement, FloatingButtonPosition, FloatingButtonSize, FloatingButtonVariant, FooterSidePlacement, FooterSidePosition, FormFieldControl, FormFieldIcon, Gap, GroupByFn, HeaderContentAlignment, HeaderLanguage, HeaderLanguageLabelPosition, HeaderLoginInputs, HeaderLoginSize, HeaderLogoutInputs, HeaderLogoutSize, HeaderProfileInputs, HeaderProfileSize, HeaderSearchMobileLabels, HeaderSearchMobileVariant, HeaderTopAlignment, HeaderTopInputs, HeadingLevel, HeadingModifiers, HorizontalStepperBackground, IconBackgroundColor, IconColor, IconSize, IconType, IconVariant, InputGroupContext, InputSize, InputState, JustifyItems, JustifySelf, LabelColor, LabelSize, LabelVisuallyHidden, Language, LinkInputs, LinkSize, LinkVariant, Matcher, ModalCloseGuard, ModalCloseReason, ModalConfig, ModalFullscreen, ModalPosition, ModalScrollBehavior, ModalSize, ModalWidth, ModalWidthPreset, NumberFieldSize, OptionContentLayout, OptionContentType, OverlayPosition, OverlaySide, PaginationBackground, PaginationDividerPosition, PaginationItem, PaginationItemType, PaginationLabels, PaginationVisibility, PopoverPosition, PopoverWidth, PopoverWidthPreset, PrintBreak, PrintVisibility, ProgressBarAnnounce, ProgressBarInputs, ProgressBarLabelPosition, ProgressBarSize, ProgressBarValuePosition, RadioCardVariant, RadioGroupDirection, RadioSize, Representative, RepresentativeIcon, RowInputs, ScrollFadePosition, ScrollFadeScrollbar, ScrollFadeSize, SearchButton, SearchHighlightPart, SearchSize, SearchSuggestionContext, SearchSuggestionView, SelectInputSize, SelectOption, SelectOptionContext, SelectOptionGroup, SelectValueContext, SeparatorAxis, SeparatorColor, SeparatorDotSize, SeparatorSpacing, SeparatorSpacingValue, SeparatorThickness, SeparatorVariant, SideNavItemSize, SkeletonBlockHeight, SkeletonBlockInputs, SkeletonBlockTextHeight, SkeletonBlockWidth, SliderHideLabel, SpinnerColor, SpinnerSize, StatusBadgeColor, StatusBadgeSize, StatusBadgeStatus, StatusBadgeVariant, StatusIndicatorPosition, StatusIndicatorSize, StatusIndicatorType, TEDITheme, TableColumnMeta, TableControlColumn, TableControlColumnOrder, TableExpandTrigger, TableFilterAction, TableFilterModalData, TableFilterOptions, TableOfContentsHeadingLevel, TableOfContentsVariant, TablePaginationOptions, TablePersistOptions, TablePersistenceController, TableSelectionMode, TableSize, TableState, TableStatePatch, TabsOverflowMode, TagEllipsis, TagOverflowOptions, TagType, TediColumnDef, TediConfig, TediTableContextValue, TediTableFilterContext, TextColor, TextGroupInputs, TextGroupType, TextModifiers, TextareaSize, Theme, TimeFieldFullscreen, TimeFieldModal, TimeFieldPickerTrigger, TimeFieldPickerVariant, TimeFieldUseNativePicker, TimePickerVariant, TimelineCardPadding, TimelineVariant, ToastConfig, ToastPosition, ToastRole, ToastType, ToggleSize, ToggleType, ToggleVariant, TooltipOpenWith, TooltipPosition, TooltipWidth, UsePaginationArgs, VerticalSpacingSize, VirtualRow };
11612
11689
  //# sourceMappingURL=index.d.ts.map