@tedi-design-system/angular 8.2.0-rc.7 → 9.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/tedi/index.d.ts CHANGED
@@ -49,7 +49,8 @@ declare class IconComponent {
49
49
  variant: _angular_core.InputSignal<IconVariant>;
50
50
  /**
51
51
  * Type of Material Symbols icon style.
52
- * It is recommended to only use one type throughout your app.
52
+ * It is recommended to only use one type throughout your app, and to load only that type's font
53
+ * (`icons/<type>.css` with `index-without-icons.css`) instead of all three via `index.css`.
53
54
  * @default outlined
54
55
  */
55
56
  type: _angular_core.InputSignal<IconType>;
@@ -3051,6 +3052,13 @@ declare class CarouselContentComponent implements AfterViewInit, OnDestroy {
3051
3052
  readonly fade: _angular_core.InputSignal<boolean>;
3052
3053
  /** Transition duration in ms */
3053
3054
  readonly transitionMs: _angular_core.InputSignal<number>;
3055
+ /**
3056
+ * How far a drag must go to move on, as a fraction (0–1) of the distance to the next
3057
+ * position, which is one slide except for a shorter final step when not looping.
3058
+ * Each position fully dragged past counts; a quick flick moves one position.
3059
+ * @default 0.3
3060
+ */
3061
+ readonly swipeThreshold: _angular_core.InputSignalWithTransform<number, unknown>;
3054
3062
  /**
3055
3063
  * Whether navigation wraps around at the ends. When `false`, it stops at the
3056
3064
  * first and last reachable positions and disables the corresponding arrow.
@@ -3104,6 +3112,12 @@ declare class CarouselContentComponent implements AfterViewInit, OnDestroy {
3104
3112
  private pendingFocus;
3105
3113
  private startX;
3106
3114
  private startIndex;
3115
+ private lastX;
3116
+ private lastTime;
3117
+ /** Recent pointer positions, for measuring flick speed at release. */
3118
+ private samples;
3119
+ /** The current drag's minimum swipe distance (px), set by its pointer type. */
3120
+ private minSwipeDistance;
3107
3121
  private ro?;
3108
3122
  private wheelTimeout?;
3109
3123
  private scrollDelta;
@@ -3112,7 +3126,28 @@ declare class CarouselContentComponent implements AfterViewInit, OnDestroy {
3112
3126
  onKeyDown(event: KeyboardEvent): void;
3113
3127
  onPointerDown(ev: PointerEvent): void;
3114
3128
  onPointerMove(ev: PointerEvent): void;
3115
- onPointerUp(): void;
3129
+ /**
3130
+ * The browser ended the drag, e.g. to scroll the page, or capture was lost mid-drag:
3131
+ * not a swipe, so return to where it started. After a normal release this is a no-op,
3132
+ * as `lostpointercapture` follows `pointerup`.
3133
+ */
3134
+ onPointerCancel(): void;
3135
+ onPointerUp(ev?: PointerEvent): void;
3136
+ /**
3137
+ * Where a released drag settles. Walks stop position to stop position in the drag
3138
+ * direction: each gap fully dragged moves on, and a partly dragged gap moves on once it
3139
+ * reaches `swipeThreshold` of that gap (a bounded track's final gap can be short).
3140
+ * A flick that did not move on otherwise moves one position.
3141
+ */
3142
+ private swipeTarget;
3143
+ /** The next stop position after `position` in the given direction (itself at a bound). */
3144
+ private adjacentStop;
3145
+ /**
3146
+ * Whether the drag ended in a flick: at least `minSwipeDistance` of movement in the
3147
+ * drag direction within the last `FLICK_WINDOW` ms before release, fast enough. Measuring
3148
+ * up to the release lets a pause before the swipe pass and a hold after it slow it down.
3149
+ */
3150
+ private isFlick;
3116
3151
  ngAfterViewInit(): void;
3117
3152
  ngOnDestroy(): void;
3118
3153
  next(): void;
@@ -3138,7 +3173,7 @@ declare class CarouselContentComponent implements AfterViewInit, OnDestroy {
3138
3173
  lockNavigation(): void;
3139
3174
  announceSlideChange(): void;
3140
3175
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<CarouselContentComponent, never>;
3141
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<CarouselContentComponent, "tedi-carousel-content", never, { "slidesPerView": { "alias": "slidesPerView"; "required": false; "isSignal": true; }; "gap": { "alias": "gap"; "required": false; "isSignal": true; }; "fade": { "alias": "fade"; "required": false; "isSignal": true; }; "transitionMs": { "alias": "transitionMs"; "required": false; "isSignal": true; }; "loop": { "alias": "loop"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, ["slides"], never, true, never>;
3176
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CarouselContentComponent, "tedi-carousel-content", never, { "slidesPerView": { "alias": "slidesPerView"; "required": false; "isSignal": true; }; "gap": { "alias": "gap"; "required": false; "isSignal": true; }; "fade": { "alias": "fade"; "required": false; "isSignal": true; }; "transitionMs": { "alias": "transitionMs"; "required": false; "isSignal": true; }; "swipeThreshold": { "alias": "swipeThreshold"; "required": false; "isSignal": true; }; "loop": { "alias": "loop"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, ["slides"], never, true, never>;
3142
3177
  }
3143
3178
 
3144
3179
  declare class CarouselComponent {
@@ -3728,7 +3763,7 @@ declare function calculateArrowOffset(placement: OverlaySide, triggerEl: HTMLEle
3728
3763
 
3729
3764
  declare class PopoverTriggerDirective {
3730
3765
  /**
3731
- * Should add underline class to trigger element?
3766
+ * Underline the trigger element.
3732
3767
  * @default false
3733
3768
  */
3734
3769
  readonly underline: _angular_core.InputSignal<boolean>;
@@ -3756,38 +3791,47 @@ declare class PopoverComponent {
3756
3791
  */
3757
3792
  readonly position: _angular_core.InputSignal<OverlayPosition>;
3758
3793
  /**
3759
- * Should position flip to opposite direction when overflowing screen?
3794
+ * Flip to the opposite side when the popover would overflow the screen.
3760
3795
  * @default false
3761
3796
  */
3762
3797
  readonly preventOverflow: _angular_core.InputSignal<boolean>;
3763
3798
  /**
3764
- * Is dismissible by clicking outside of content?
3799
+ * Close the popover when clicking outside its content.
3765
3800
  * @default true
3766
3801
  */
3767
3802
  readonly dismissible: _angular_core.InputSignal<boolean>;
3768
3803
  /**
3769
- * Does popover content hide on scroll?
3804
+ * Close the popover when the page scrolls.
3770
3805
  * @default false
3771
3806
  */
3772
3807
  readonly hideOnScroll: _angular_core.InputSignal<boolean>;
3773
3808
  /**
3774
- * Does popover have illustrative border on the arrow side?
3809
+ * Show an illustrative border on the arrow side.
3775
3810
  * @default false
3776
3811
  */
3777
3812
  readonly withBorder: _angular_core.InputSignal<boolean>;
3778
3813
  /**
3779
- * Should show arrow?
3814
+ * Show the arrow pointing to the trigger.
3815
+ * @default true
3780
3816
  */
3781
3817
  readonly withArrow: _angular_core.InputSignal<boolean>;
3782
3818
  /**
3783
- * Lock scrolling on rest of the page?
3819
+ * Lock scrolling on the rest of the page while the popover is open.
3784
3820
  * @default false
3785
3821
  */
3786
3822
  readonly lockScroll: _angular_core.InputSignal<boolean>;
3787
- /** Delay time (in ms) for closing popover when not hovering trigger or content.
3823
+ /**
3824
+ * Delay in ms before the popover closes when neither the trigger nor the
3825
+ * content is hovered.
3788
3826
  * @default 100
3789
3827
  */
3790
3828
  readonly timeoutDelay: _angular_core.InputSignal<number>;
3829
+ /**
3830
+ * Gap in px between the trigger and the popover. The arrow's gap is added on
3831
+ * top when `withArrow` is `true`.
3832
+ * @default 8
3833
+ */
3834
+ readonly offset: _angular_core.InputSignal<number>;
3791
3835
  private readonly document;
3792
3836
  private readonly renderer;
3793
3837
  private readonly connectedOverlay;
@@ -3801,7 +3845,16 @@ declare class PopoverComponent {
3801
3845
  readonly arrowTop: _angular_core.WritableSignal<number | null>;
3802
3846
  readonly overlayOrigin: _angular_core.Signal<_angular_cdk_overlay.CdkOverlayOrigin>;
3803
3847
  private readonly arrowOffset;
3804
- readonly overlayPositions: _angular_core.Signal<_angular_cdk_overlay.ConnectedPosition[]>;
3848
+ readonly overlayPositions: _angular_core.Signal<{
3849
+ offsetX: number | undefined;
3850
+ offsetY: number | undefined;
3851
+ originX: "start" | "center" | "end";
3852
+ originY: "top" | "center" | "bottom";
3853
+ overlayX: "start" | "center" | "end";
3854
+ overlayY: "top" | "center" | "bottom";
3855
+ weight?: number;
3856
+ panelClass?: string | string[];
3857
+ }[]>;
3805
3858
  readonly panelClasses: _angular_core.Signal<string>;
3806
3859
  readonly ariaLabelledBy: _angular_core.Signal<string>;
3807
3860
  hideTimeout?: ReturnType<typeof setTimeout>;
@@ -3843,7 +3896,7 @@ declare class PopoverComponent {
3843
3896
  private isInsideOverlay;
3844
3897
  private handleClosePopoverEvent;
3845
3898
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PopoverComponent, never>;
3846
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<PopoverComponent, "tedi-popover", never, { "position": { "alias": "position"; "required": false; "isSignal": true; }; "preventOverflow": { "alias": "preventOverflow"; "required": false; "isSignal": true; }; "dismissible": { "alias": "dismissible"; "required": false; "isSignal": true; }; "hideOnScroll": { "alias": "hideOnScroll"; "required": false; "isSignal": true; }; "withBorder": { "alias": "withBorder"; "required": false; "isSignal": true; }; "withArrow": { "alias": "withArrow"; "required": false; "isSignal": true; }; "lockScroll": { "alias": "lockScroll"; "required": false; "isSignal": true; }; "timeoutDelay": { "alias": "timeoutDelay"; "required": false; "isSignal": true; }; }, {}, ["popoverTrigger", "popoverContent"], ["[tedi-popover-trigger]", "tedi-popover-content"], true, never>;
3899
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PopoverComponent, "tedi-popover", never, { "position": { "alias": "position"; "required": false; "isSignal": true; }; "preventOverflow": { "alias": "preventOverflow"; "required": false; "isSignal": true; }; "dismissible": { "alias": "dismissible"; "required": false; "isSignal": true; }; "hideOnScroll": { "alias": "hideOnScroll"; "required": false; "isSignal": true; }; "withBorder": { "alias": "withBorder"; "required": false; "isSignal": true; }; "withArrow": { "alias": "withArrow"; "required": false; "isSignal": true; }; "lockScroll": { "alias": "lockScroll"; "required": false; "isSignal": true; }; "timeoutDelay": { "alias": "timeoutDelay"; "required": false; "isSignal": true; }; "offset": { "alias": "offset"; "required": false; "isSignal": true; }; }, {}, ["popoverTrigger", "popoverContent"], ["[tedi-popover-trigger]", "tedi-popover-content"], true, never>;
3847
3900
  }
3848
3901
 
3849
3902
  type PopoverWidthPreset = "none" | "small" | "medium" | "large";
@@ -3861,11 +3914,11 @@ declare class PopoverContentComponent {
3861
3914
  */
3862
3915
  maxWidth: _angular_core.InputSignal<PopoverWidth>;
3863
3916
  /**
3864
- * Heading title of the content
3917
+ * Title shown at the top of the content.
3865
3918
  */
3866
3919
  title: _angular_core.InputSignal<string>;
3867
3920
  /**
3868
- * Should content show close button?
3921
+ * Show a close button in the content.
3869
3922
  * @default false
3870
3923
  */
3871
3924
  showClose: _angular_core.InputSignal<boolean>;
@@ -5405,6 +5458,8 @@ declare class DropdownTriggerDirective implements AfterViewInit {
5405
5458
  * would both be tab stops, and the ARIA state would land on the wrong element.
5406
5459
  */
5407
5460
  private readonly triggerElement;
5461
+ /** Only a Space press that starts on the trigger may activate it on keyup. */
5462
+ private spacePressed;
5408
5463
  private readonly hasPopup;
5409
5464
  constructor();
5410
5465
  ngAfterViewInit(): void;
@@ -5414,9 +5469,17 @@ declare class DropdownTriggerDirective implements AfterViewInit {
5414
5469
  get focusableElement(): HTMLElement;
5415
5470
  onClick(): void;
5416
5471
  onKeydown(event: KeyboardEvent): void;
5472
+ onKeyup(event: KeyboardEvent): void;
5473
+ onFocusout(event: FocusEvent): void;
5474
+ /**
5475
+ * Whether the directive must activate the trigger on `key` itself, because the
5476
+ * element does not turn that key into a native click: both keys for a generic
5477
+ * trigger, Enter for a checkbox or radio. Other native controls handle both.
5478
+ */
5479
+ private handlesKey;
5417
5480
  private isWidgetContent;
5418
5481
  private resolveTriggerElement;
5419
- private isNativelyFocusable;
5482
+ private isNativelyInteractive;
5420
5483
  private openAndFocusFirst;
5421
5484
  private openAndFocusLast;
5422
5485
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DropdownTriggerDirective, never>;
@@ -6363,6 +6426,23 @@ interface FormFieldControl<T = unknown> {
6363
6426
  * `aria-describedby`; nothing is pushed when the control stands alone.
6364
6427
  */
6365
6428
  setDescribedBy?(ids: string[]): void;
6429
+ /**
6430
+ * Set by controls that render their own clear button — date and time put one in
6431
+ * their action row beside the picker button, which cannot leave the control
6432
+ * because the overlay anchors to it. The field then skips its generic clear
6433
+ * button so a single `clearable` never yields two.
6434
+ */
6435
+ readonly ownsClearButton?: boolean;
6436
+ /**
6437
+ * Whether the control is read-only. The field hides its clear button while it
6438
+ * is, since the user cannot edit the value; a programmatic `reset()` still works.
6439
+ */
6440
+ readOnly?: Signal<boolean>;
6441
+ /**
6442
+ * Set to `false` by controls that never take a clear button — a textarea, per
6443
+ * the design. The field then skips its button whatever `clearable` says.
6444
+ */
6445
+ readonly clearButton?: false;
6366
6446
  }
6367
6447
  /**
6368
6448
  * Injection token used by `tedi-form-field` to obtain
@@ -6382,6 +6462,8 @@ interface FieldContext {
6382
6462
  valid: Signal<boolean>;
6383
6463
  /** From an input group that disables everything inside it. */
6384
6464
  disabled: Signal<boolean>;
6465
+ /** Whether the field shows a clear button — controls read it instead of declaring their own. */
6466
+ clearable: Signal<boolean>;
6385
6467
  }
6386
6468
  declare const TEDI_FIELD_CONTEXT: InjectionToken<FieldContext>;
6387
6469
 
@@ -6467,6 +6549,12 @@ declare class DateFieldComponent implements OnInit, ControlValueAccessor, FormFi
6467
6549
  * set here.
6468
6550
  */
6469
6551
  readonly size: _angular_core.InputSignal<DateFieldSize | undefined>;
6552
+ /**
6553
+ * Whether the clear button shows once the field has a value. Falls back to the
6554
+ * wrapping `tedi-form-field`'s `clearable` when not set here — set it on the
6555
+ * wrapper, and use this only for a standalone field.
6556
+ */
6557
+ readonly clearable: _angular_core.InputSignalWithTransform<boolean | undefined, unknown>;
6470
6558
  /**
6471
6559
  * Forces the error state on, or off, regardless of the reactive-forms state.
6472
6560
  * Leave unset to let the control derive it.
@@ -6628,6 +6716,10 @@ declare class DateFieldComponent implements OnInit, ControlValueAccessor, FormFi
6628
6716
  readonly valid: _angular_core.Signal<boolean>;
6629
6717
  readonly childContext: FieldContext;
6630
6718
  ngOnInit(): void;
6719
+ /** The clear button sits in the date input's action row, beside the calendar. */
6720
+ readonly ownsClearButton = true;
6721
+ /** Own `clearable` wins, then the wrapping `tedi-form-field`'s. */
6722
+ readonly clearableResolved: _angular_core.Signal<boolean>;
6631
6723
  readonly resolvedDisabledMatchers: _angular_core.Signal<Matcher[]>;
6632
6724
  readonly useNativePickerResolved: _angular_core.Signal<boolean>;
6633
6725
  readonly useNativePickerEffective: _angular_core.Signal<boolean>;
@@ -6702,7 +6794,7 @@ declare class DateFieldComponent implements OnInit, ControlValueAccessor, FormFi
6702
6794
  private toIsoDate;
6703
6795
  private queryNativeInput;
6704
6796
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DateFieldComponent, never>;
6705
- 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; }; "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>;
6797
+ 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>;
6706
6798
  }
6707
6799
 
6708
6800
  declare class DatePickerCalendarGridComponent {
@@ -7041,10 +7133,12 @@ declare class FormFieldComponent implements FieldContext {
7041
7133
  */
7042
7134
  icon: _angular_core.InputSignal<string | FormFieldIcon | undefined>;
7043
7135
  /**
7044
- * Whether the field shows a clear button once the control holds a value.
7045
- * @default false
7136
+ * Whether the field shows a clear button once the control holds a value. The
7137
+ * single source of truth for every control inside it — date and time fields
7138
+ * read it too instead of declaring their own input. A textarea never gets one.
7139
+ * @default true
7046
7140
  */
7047
- clearable: _angular_core.InputSignal<boolean>;
7141
+ clearable: _angular_core.InputSignalWithTransform<boolean, unknown>;
7048
7142
  /**
7049
7143
  * Show the clear button only while the filled field is hovered or focused.
7050
7144
  * Requires `clearable`.
@@ -7074,6 +7168,12 @@ declare class FormFieldComponent implements FieldContext {
7074
7168
  * itself and no box is rendered at all.
7075
7169
  */
7076
7170
  readonly hasBox: _angular_core.Signal<boolean>;
7171
+ /**
7172
+ * Whether the field renders its own clear button. Controls that render one
7173
+ * themselves opt out, so `clearable` drives them without producing two, and
7174
+ * a control that cannot be reset, or never takes one, gets none.
7175
+ */
7176
+ readonly renderClearButton: _angular_core.Signal<boolean>;
7077
7177
  readonly ownsSurface: _angular_core.Signal<boolean>;
7078
7178
  readonly disabled: _angular_core.Signal<boolean>;
7079
7179
  readonly invalid: _angular_core.Signal<boolean>;
@@ -7656,9 +7756,9 @@ declare class SelectComponent<T = unknown> implements AfterContentChecked, After
7656
7756
  size: _angular_core.InputSignal<SelectInputSize>;
7657
7757
  /**
7658
7758
  * Whether to show a clear button when a value is selected.
7659
- * @default false
7759
+ * @default true
7660
7760
  */
7661
- clearable: _angular_core.InputSignal<boolean>;
7761
+ clearable: _angular_core.InputSignalWithTransform<boolean, unknown>;
7662
7762
  /**
7663
7763
  * Show the clear button only while the filled select is hovered or focused.
7664
7764
  * Requires `clearable`.
@@ -7701,6 +7801,10 @@ declare class SelectComponent<T = unknown> implements AfterContentChecked, After
7701
7801
  * Selected value, for use without a form directive. An array in multi-select
7702
7802
  * mode, the bare value otherwise. Unlike `[ngModel]` it applies on the first
7703
7803
  * render rather than a frame later. Do not combine with a form directive.
7804
+ *
7805
+ * `null`, `undefined` and `''` all mean nothing is selected, so
7806
+ * `new FormControl('')` and `new FormControl(null)` both start the select empty,
7807
+ * showing its placeholder.
7704
7808
  */
7705
7809
  value: _angular_core.InputSignal<unknown>;
7706
7810
  /**
@@ -7995,6 +8099,7 @@ declare class SelectComponent<T = unknown> implements AfterContentChecked, After
7995
8099
  private syncActiveToOptionValue;
7996
8100
  onVirtualSelectAllClick(): void;
7997
8101
  private toggleOptionValue;
8102
+ /** Selects `value` in single-select mode, notifies the form and closes the dropdown. */
7998
8103
  private selectSingleValue;
7999
8104
  private measureVirtualRowHeight;
8000
8105
  private openDropdown;
@@ -8002,6 +8107,10 @@ declare class SelectComponent<T = unknown> implements AfterContentChecked, After
8002
8107
  private closeDropdown;
8003
8108
  private setupScrollListener;
8004
8109
  private cleanupScrollListener;
8110
+ /**
8111
+ * Handles a selection change from the listbox: the select-all and group rows, or
8112
+ * the new selection, which is emitted and written to the form.
8113
+ */
8005
8114
  handleValueChange(event: {
8006
8115
  value: readonly unknown[];
8007
8116
  }): void;
@@ -8028,6 +8137,13 @@ declare class SelectComponent<T = unknown> implements AfterContentChecked, After
8028
8137
  private toggleGroupSelection;
8029
8138
  onChange: (value: unknown) => void;
8030
8139
  onTouched: () => void;
8140
+ /** Options that can take part in select-all and group selection: enabled, not `''`. */
8141
+ private bulkSelectable;
8142
+ /**
8143
+ * `null`, `undefined` and `''` all mean nothing is selected, since `''` is a common
8144
+ * form default for "no value" (`new FormControl('')`). Picking an option whose
8145
+ * value is `''` therefore leaves nothing selected too.
8146
+ */
8031
8147
  private toSelection;
8032
8148
  writeValue(value: unknown): void;
8033
8149
  registerOnChange(fn: (value: unknown) => void): void;
@@ -8370,6 +8486,9 @@ declare class TextFieldComponent implements OnInit, ControlValueAccessor, FormFi
8370
8486
  * Combined with the reactive-forms disabled state and any input-group state.
8371
8487
  */
8372
8488
  readonly disabledInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
8489
+ readonly readOnlyAttribute: _angular_core.InputSignalWithTransform<boolean, unknown>;
8490
+ readonly readOnlyProperty: _angular_core.InputSignalWithTransform<boolean, unknown>;
8491
+ readonly readOnly: _angular_core.Signal<boolean>;
8373
8492
  readonly disabled: _angular_core.Signal<boolean>;
8374
8493
  private readonly derived;
8375
8494
  readonly describedBy: _tedi_design_system_angular_tedi.ControlDescribedBy;
@@ -8395,7 +8514,7 @@ declare class TextFieldComponent implements OnInit, ControlValueAccessor, FormFi
8395
8514
  focus(): void;
8396
8515
  reset(): void;
8397
8516
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TextFieldComponent, never>;
8398
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TextFieldComponent, "input[tedi-text-field]", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "invalidInput": { "alias": "invalid"; "required": false; "isSignal": true; }; "arrowsHidden": { "alias": "arrowsHidden"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "clear": "clear"; }, never, never, true, never>;
8517
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TextFieldComponent, "input[tedi-text-field]", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "invalidInput": { "alias": "invalid"; "required": false; "isSignal": true; }; "arrowsHidden": { "alias": "arrowsHidden"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "readOnlyAttribute": { "alias": "readonly"; "required": false; "isSignal": true; }; "readOnlyProperty": { "alias": "readOnly"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "clear": "clear"; }, never, never, true, never>;
8399
8518
  }
8400
8519
 
8401
8520
  type TextareaSize = Exclude<InputSize, "large">;
@@ -8478,6 +8597,11 @@ declare class TextareaComponent implements OnInit, ControlValueAccessor, FormFie
8478
8597
  */
8479
8598
  readonly minHeightStyle: _angular_core.Signal<string>;
8480
8599
  readonly maxHeightStyle: _angular_core.Signal<string>;
8600
+ readonly readOnlyAttribute: _angular_core.InputSignalWithTransform<boolean, unknown>;
8601
+ readonly readOnlyProperty: _angular_core.InputSignalWithTransform<boolean, unknown>;
8602
+ readonly readOnly: _angular_core.Signal<boolean>;
8603
+ /** Textareas take no clear button, even inside a `clearable` form field. */
8604
+ readonly clearButton = false;
8481
8605
  readonly disabled: _angular_core.Signal<boolean>;
8482
8606
  private readonly derived;
8483
8607
  readonly describedBy: _tedi_design_system_angular_tedi.ControlDescribedBy;
@@ -8500,7 +8624,7 @@ declare class TextareaComponent implements OnInit, ControlValueAccessor, FormFie
8500
8624
  focus(): void;
8501
8625
  reset(): void;
8502
8626
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TextareaComponent, never>;
8503
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TextareaComponent, "textarea[tedi-textarea]", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "invalidInput": { "alias": "invalid"; "required": false; "isSignal": true; }; "resizable": { "alias": "resizable"; "required": false; "isSignal": true; }; "autoGrow": { "alias": "autoGrow"; "required": false; "isSignal": true; }; "minRows": { "alias": "minRows"; "required": false; "isSignal": true; }; "maxRows": { "alias": "maxRows"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
8627
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TextareaComponent, "textarea[tedi-textarea]", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "invalidInput": { "alias": "invalid"; "required": false; "isSignal": true; }; "resizable": { "alias": "resizable"; "required": false; "isSignal": true; }; "autoGrow": { "alias": "autoGrow"; "required": false; "isSignal": true; }; "minRows": { "alias": "minRows"; "required": false; "isSignal": true; }; "maxRows": { "alias": "maxRows"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "readOnlyAttribute": { "alias": "readonly"; "required": false; "isSignal": true; }; "readOnlyProperty": { "alias": "readOnly"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
8504
8628
  }
8505
8629
 
8506
8630
  type TimePickerVariant = "scroll" | "slots" | "dropdown";
@@ -8532,9 +8656,23 @@ declare class TimePickerComponent implements ControlValueAccessor, AfterViewInit
8532
8656
  private onChange;
8533
8657
  private onTouched;
8534
8658
  private initialized;
8659
+ /**
8660
+ * Held until the programmatic scroll has actually settled, not for a fixed
8661
+ * time: `scrollTo` reports its own events plus the scroll-snap adjustment on
8662
+ * top, and the engine decides when those arrive.
8663
+ */
8535
8664
  private readonly isProgrammaticScroll;
8665
+ private readonly isSmoothProgrammaticScroll;
8666
+ /** Only a scroll with a gesture behind it may change the value. */
8667
+ private readonly hasUserGesture;
8668
+ /** Guards against a correction and the engine trading scrolls indefinitely. */
8669
+ private readonly hasCorrectedScroll;
8670
+ private readonly programmaticScrollTarget;
8536
8671
  private readonly scrollLockTimer;
8672
+ /** Latest moment a programmatic scroll may still own its column. */
8673
+ private readonly scrollLockDeadline;
8537
8674
  private readonly scrollDebounceTimer;
8675
+ private readonly gestureTimer;
8538
8676
  private cachedItemHeight;
8539
8677
  private resizeObserver;
8540
8678
  private readonly hourScrollIndex;
@@ -8568,8 +8706,19 @@ declare class TimePickerComponent implements ControlValueAccessor, AfterViewInit
8568
8706
  onRadioChange(slot: string): void;
8569
8707
  constructor();
8570
8708
  ngAfterViewInit(): void;
8709
+ /**
8710
+ * The height a row is actually rendered at, or 0 when it has no box at all
8711
+ * (the picker is hidden, or has not been laid out yet).
8712
+ */
8713
+ private measureItemBox;
8571
8714
  private measureItemHeight;
8572
8715
  private getItemHeight;
8716
+ /**
8717
+ * Column offsets are derived from the item height, so when the height changes
8718
+ * (a breakpoint switch, or the first real measurement after
8719
+ * `DEFAULT_ITEM_HEIGHT` stood in) they no longer land on the highlighted row.
8720
+ */
8721
+ private syncItemHeight;
8573
8722
  ngOnDestroy(): void;
8574
8723
  writeValue(value: string | null): void;
8575
8724
  registerOnChange(fn: (value: string | null) => void): void;
@@ -8583,7 +8732,31 @@ declare class TimePickerComponent implements ControlValueAccessor, AfterViewInit
8583
8732
  onMinuteClick(minute: string): void;
8584
8733
  onColumnKeydown(event: KeyboardEvent, type: WheelType): void;
8585
8734
  private computeWheelMove;
8735
+ private readonly handleUserGesture;
8736
+ /**
8737
+ * Bounds a gesture that never scrolls. Without it one pointer-down on a
8738
+ * column's padding would leave it marked user-driven forever, and the next
8739
+ * offset the engine handed it would be committed as a value.
8740
+ */
8741
+ private armGestureTimer;
8742
+ private clearGestureTimer;
8743
+ /**
8744
+ * Precedence, highest first: a gesture on this column (the offset is the
8745
+ * user's, and it takes over any animation still running), a programmatic
8746
+ * scroll (its own echo, never re-read as a selection), or neither, which
8747
+ * means the engine moved it and the column goes back on the value's row.
8748
+ */
8586
8749
  onColumnScroll(type: WheelType): void;
8750
+ private indexFromScroll;
8751
+ private setScrollIndex;
8752
+ private scheduleScrollSelection;
8753
+ /**
8754
+ * Gecko hands a torn-down scroll container's offset to the one replacing it
8755
+ * in the same position, so a picker can arrive already scrolled to the
8756
+ * previous picker's row. Nothing marks that as not-the-user, which is how
8757
+ * `09:30` came to render and report `14:06`.
8758
+ */
8759
+ private restoreColumnPosition;
8587
8760
  /** Roving-tabindex helper for dropdown items: only the selected item (or the first
8588
8761
  * when nothing is selected yet) is in the tab sequence. */
8589
8762
  getDropdownTabIndex(index: number): number;
@@ -8593,7 +8766,11 @@ declare class TimePickerComponent implements ControlValueAccessor, AfterViewInit
8593
8766
  scrollToSelected(): void;
8594
8767
  private getColumnElement;
8595
8768
  private alignScroll;
8769
+ /** Returns whether a scroll was actually issued. */
8596
8770
  private scrollColumnToIndex;
8771
+ private releaseScrollLockAfter;
8772
+ /** Drops every trace of a programmatic scroll, target offset included. */
8773
+ private clearProgrammaticScroll;
8597
8774
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TimePickerComponent, never>;
8598
8775
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<TimePickerComponent, "tedi-time-picker", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "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; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "border": { "alias": "border"; "required": false; "isSignal": true; }; "trapFocus": { "alias": "trapFocus"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "closeRequested": "closeRequested"; }, never, never, true, never>;
8599
8776
  }
@@ -8675,8 +8852,12 @@ declare class TimeFieldComponent implements OnInit, ControlValueAccessor, FormFi
8675
8852
  * set here.
8676
8853
  */
8677
8854
  readonly size: _angular_core.InputSignal<"small" | "default" | undefined>;
8678
- /** Show a clear button when the field has a value. */
8679
- readonly clearable: _angular_core.InputSignal<boolean>;
8855
+ /**
8856
+ * Whether the clear button shows once the field has a value. Falls back to the
8857
+ * wrapping `tedi-form-field`'s `clearable` when not set here — set it on the
8858
+ * wrapper, and use this only for a standalone field.
8859
+ */
8860
+ readonly clearable: _angular_core.InputSignalWithTransform<boolean | undefined, unknown>;
8680
8861
  /** Picker variant. `none` renders just the input with no picker UI — typed input is still normalized on blur. */
8681
8862
  readonly pickerVariant: _angular_core.InputSignal<TimeFieldPickerVariant>;
8682
8863
  /**
@@ -8723,6 +8904,10 @@ declare class TimeFieldComponent implements OnInit, ControlValueAccessor, FormFi
8723
8904
  ngOnInit(): void;
8724
8905
  readonly hasValue: _angular_core.Signal<boolean>;
8725
8906
  readonly showClear: _angular_core.Signal<boolean>;
8907
+ /** The clear button sits in the time field's action row, beside the picker. */
8908
+ readonly ownsClearButton = true;
8909
+ /** Own `clearable` wins, then the wrapping `tedi-form-field`'s. */
8910
+ readonly clearableResolved: _angular_core.Signal<boolean>;
8726
8911
  readonly useNativePickerResolved: _angular_core.Signal<boolean>;
8727
8912
  readonly hasPicker: _angular_core.Signal<boolean>;
8728
8913
  readonly hasNativePicker: _angular_core.Signal<boolean>;
@@ -10709,6 +10894,45 @@ declare class TabsTriggerComponent {
10709
10894
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabsTriggerComponent, "button[tedi-tabs-trigger], a[tedi-tabs-trigger]", never, { "id": { "alias": "id"; "required": true; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
10710
10895
  }
10711
10896
 
10897
+ type PrintBreak = "auto" | "avoid" | "avoid-column" | "avoid-page" | "avoid-region";
10898
+ type PrintVisibility = "show" | "hide";
10899
+ /**
10900
+ * Applies the print helper classes from `@tedi-design-system/core` to the host element.
10901
+ */
10902
+ declare class PrintDirective {
10903
+ private readonly elementRef;
10904
+ private readonly renderer;
10905
+ /**
10906
+ * Controls the visibility of the element when printing.
10907
+ * - `'hide'` — the element is not printed.
10908
+ * - `'show'` — the element opts out of a `no-print` applied to the same
10909
+ * element. It cannot reveal an element that an ancestor hid.
10910
+ *
10911
+ * Leave empty when only the break inputs are needed — the `tediPrint`
10912
+ * attribute still has to be present for the directive to apply.
10913
+ */
10914
+ tediPrint: _angular_core.InputSignal<"" | PrintVisibility>;
10915
+ /**
10916
+ * Determines how page, column, or region breaks behave before the element.
10917
+ * Uses the CSS `break-before` property values.
10918
+ */
10919
+ breakBefore: _angular_core.InputSignal<PrintBreak | undefined>;
10920
+ /**
10921
+ * Determines how page, column, or region breaks behave after the element.
10922
+ * Uses the CSS `break-after` property values.
10923
+ */
10924
+ breakAfter: _angular_core.InputSignal<PrintBreak | undefined>;
10925
+ /**
10926
+ * Determines how page, column, or region breaks behave inside the element.
10927
+ * Uses the CSS `break-inside` property values.
10928
+ */
10929
+ breakInside: _angular_core.InputSignal<PrintBreak | undefined>;
10930
+ private readonly classes;
10931
+ constructor();
10932
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PrintDirective, never>;
10933
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<PrintDirective, "[tediPrint]", never, { "tediPrint": { "alias": "tediPrint"; "required": false; "isSignal": true; }; "breakBefore": { "alias": "breakBefore"; "required": false; "isSignal": true; }; "breakAfter": { "alias": "breakAfter"; "required": false; "isSignal": true; }; "breakInside": { "alias": "breakInside"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
10934
+ }
10935
+
10712
10936
  type TabsOverflowMode = "dropdown" | "scroll";
10713
10937
  interface OverflowItem {
10714
10938
  id: string;
@@ -10736,6 +10960,15 @@ declare class TabsListComponent implements AfterViewInit, OnDestroy {
10736
10960
  readonly overflowMode: _angular_core.InputSignal<TabsOverflowMode>;
10737
10961
  /** Label for the overflow dropdown trigger. Defaults to the `more` translation. */
10738
10962
  readonly dropdownLabel: _angular_core.InputSignal<string | undefined>;
10963
+ /**
10964
+ * Controls the visibility of the tablist when printing.
10965
+ * - `show`: the tablist is printed (default), no print class is applied
10966
+ * - `hide`: the tablist is left out of the printed output
10967
+ *
10968
+ * `tediPrint` on the same element composes with this: `tediPrint="show"`
10969
+ * wins over `printVisibility="hide"`, matching the core `show-print` rule.
10970
+ */
10971
+ readonly printVisibility: _angular_core.InputSignal<PrintVisibility>;
10739
10972
  private readonly listRef;
10740
10973
  private readonly triggers;
10741
10974
  private readonly isOverflowing;
@@ -10751,7 +10984,7 @@ declare class TabsListComponent implements AfterViewInit, OnDestroy {
10751
10984
  updateScrollFade(): void;
10752
10985
  private checkOverflow;
10753
10986
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TabsListComponent, never>;
10754
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabsListComponent, "tedi-tabs-list", never, { "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "aria-labelledby"; "required": false; "isSignal": true; }; "overflowMode": { "alias": "overflowMode"; "required": false; "isSignal": true; }; "dropdownLabel": { "alias": "dropdownLabel"; "required": false; "isSignal": true; }; }, {}, ["triggers"], ["*"], true, never>;
10987
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabsListComponent, "tedi-tabs-list", never, { "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "aria-labelledby"; "required": false; "isSignal": true; }; "overflowMode": { "alias": "overflowMode"; "required": false; "isSignal": true; }; "dropdownLabel": { "alias": "dropdownLabel"; "required": false; "isSignal": true; }; "printVisibility": { "alias": "printVisibility"; "required": false; "isSignal": true; }; }, {}, ["triggers"], ["*"], true, never>;
10755
10988
  }
10756
10989
 
10757
10990
  /**
@@ -10937,6 +11170,11 @@ declare class ModalContentComponent {
10937
11170
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ModalContentComponent, "tedi-modal-content", never, {}, {}, never, ["*"], true, [{ directive: typeof i1.CdkScrollable; inputs: {}; outputs: {}; }]>;
10938
11171
  }
10939
11172
 
11173
+ /**
11174
+ * Right-aligns its content. Add `tedi-modal-footer-start` to each element that
11175
+ * should sit on the left instead. Mark the elements themselves, not a wrapper,
11176
+ * so they keep the footer's gap.
11177
+ */
10940
11178
  declare class ModalFooterComponent {
10941
11179
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ModalFooterComponent, never>;
10942
11180
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ModalFooterComponent, "tedi-modal-footer", never, {}, {}, never, ["*"], true, never>;
@@ -11311,6 +11549,6 @@ declare function isValidTime(time: string | null | undefined): boolean;
11311
11549
  */
11312
11550
  declare function normalizeTime(input: string): string | null;
11313
11551
 
11314
- 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, DropdownItemValueComponent, DropdownItemValueLabelComponent, DropdownItemValueMetaComponent, 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, PaginationComponent, PopoverComponent, PopoverContentComponent, PopoverTriggerDirective, 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 };
11315
- 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, DropdownItemValueLayout, DropdownItemValueType, 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, OverlayPosition, OverlaySide, PaginationBackground, PaginationDividerPosition, PaginationItem, PaginationItemType, PaginationLabels, PaginationVisibility, PopoverPosition, PopoverWidth, PopoverWidthPreset, 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 };
11552
+ 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, DropdownItemValueComponent, DropdownItemValueLabelComponent, DropdownItemValueMetaComponent, 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, 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 };
11553
+ 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, DropdownItemValueLayout, DropdownItemValueType, 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, 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 };
11316
11554
  //# sourceMappingURL=index.d.ts.map