@sinequa/galactik 2.5.0 → 2.7.0

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.
@@ -643,7 +643,7 @@ export type EditIconComponent = EditIcon;
643
643
  export declare class EllipsisIcon {
644
644
  class: import("@angular/core").InputSignal<string | undefined>;
645
645
  classes: import("@angular/core").Signal<string>;
646
- orientation: import("@angular/core").InputSignal<"horizontal" | "vertical">;
646
+ orientation: import("@angular/core").InputSignal<"vertical" | "horizontal">;
647
647
  static ɵfac: i0.ɵɵFactoryDeclaration<EllipsisIcon, never>;
648
648
  static ɵcmp: i0.ɵɵComponentDeclaration<EllipsisIcon, "ellipsis-icon, EllipsisIcon, ellipsisicon", never, {
649
649
  "class": {
@@ -1683,6 +1683,23 @@ export declare class QuestionCircleIcon {
1683
1683
  */
1684
1684
  export declare const QuestionCircleIconComponent: typeof QuestionCircleIcon;
1685
1685
  export type QuestionCircleIconComponent = QuestionCircleIcon;
1686
+ export declare class QuickFilterIcon {
1687
+ class: import("@angular/core").InputSignal<string | undefined>;
1688
+ classes: import("@angular/core").Signal<string>;
1689
+ static ɵfac: i0.ɵɵFactoryDeclaration<QuickFilterIcon, never>;
1690
+ static ɵcmp: i0.ɵɵComponentDeclaration<QuickFilterIcon, "quick-filter, quick-filter-icon, QuickFilter, QuickFilterIcon", never, {
1691
+ "class": {
1692
+ "alias": "class";
1693
+ "required": false;
1694
+ "isSignal": true;
1695
+ };
1696
+ }, {}, never, never, true, never>;
1697
+ }
1698
+ /**
1699
+ * @deprecated Use QuickFilterIcon instead.
1700
+ */
1701
+ export declare const QuickFilterIconComponent: typeof QuickFilterIcon;
1702
+ export type QuickFilterIconComponent = QuickFilterIcon;
1686
1703
  export declare class RefreshIcon {
1687
1704
  class: import("@angular/core").InputSignal<string | undefined>;
1688
1705
  classes: import("@angular/core").Signal<string>;
@@ -2442,8 +2459,8 @@ interface FloatingPanelOptions {
2442
2459
  anchor: () => HTMLElement | null | undefined;
2443
2460
  /** Where the panel goes, in Floating UI's terms. A signal read is fine. Default `"bottom-start"`. */
2444
2461
  placement?: Placement | (() => Placement);
2445
- /** Distance from the anchor, in pixels. Default `4`. */
2446
- offset?: number;
2462
+ /** Distance from the anchor, in pixels. Default `4`. A signal read is fine. */
2463
+ offset?: number | (() => number);
2447
2464
  /**
2448
2465
  * Flips the panel to the opposite side when it does not fit on the requested one. Default `true`. Turn it off for a panel
2449
2466
  * that must stay where `placement` puts it (a menu that scrolls itself rather than jump above the field). A signal read is fine.
@@ -2482,6 +2499,120 @@ interface FloatingPanelOptions {
2482
2499
  afterPosition?: (anchor: HTMLElement, panel: HTMLElement) => void;
2483
2500
  }
2484
2501
  export declare function injectFloatingPanel(options: FloatingPanelOptions): void;
2502
+ /**
2503
+ * A handle on an edge of a popover that resizes its height, with the mouse (or a finger) and with the keyboard.
2504
+ *
2505
+ * Put it inside the popover, first child for the `top` edge, last child for the `bottom` edge. Dragging the top edge up makes
2506
+ * the popover taller and keeps its bottom edge where it is; dragging the bottom edge down keeps its top edge. The height
2507
+ * goes from `min` to the room the viewport leaves (8px at the top, 16px at the bottom). A `bottom` handle hides itself when
2508
+ * there is no room left under the popover.
2509
+ *
2510
+ * It is a `separator` that can be focused (WAI-ARIA window splitter): the arrows move it by `step` pixels (Up grows a top
2511
+ * handle, Down grows a bottom one), Home goes to `min` and End to the largest height.
2512
+ *
2513
+ * Give the popover no vertical padding: the handle is 12px high and is the space at the edge, so it hugs it, and the line it
2514
+ * shows sits close to the edge. The popover has to be able to use the height it is given: its content is a flex column whose list is `min-h-0 flex-1
2515
+ * overflow-auto`. It takes the height away from the popover's own `max-height`, and moves a top edge with the CSS `translate`
2516
+ * property and not with `top`, which a `PopoverDirective` rewrites each time it places the popover. That directive would also
2517
+ * flip the popover as it grows: pin it with `lockPosition` once `resizeStart` is emitted (it keeps flipping and shifting until
2518
+ * then, as for any popover).
2519
+ *
2520
+ * ```html
2521
+ * <div popover id="p" lockPosition class="flex flex-col px-3">
2522
+ * <PopoverResizeHandle edge="top" label="Height of the list" />
2523
+ * <ul class="min-h-0 flex-1 overflow-auto">…</ul>
2524
+ * <PopoverResizeHandle edge="bottom" label="Height of the list" />
2525
+ * </div>
2526
+ * ```
2527
+ */
2528
+ export declare class PopoverResizeHandleComponent {
2529
+ /** The edge of the popover the handle sits on. */
2530
+ readonly edge: import("@angular/core").InputSignal<"top" | "bottom">;
2531
+ /** The smallest height the popover can be given, in pixels. */
2532
+ readonly min: import("@angular/core").InputSignalWithTransform<number, unknown>;
2533
+ /** What an arrow key moves the edge by, in pixels. */
2534
+ readonly step: import("@angular/core").InputSignalWithTransform<number, unknown>;
2535
+ /** Accessible name of the handle. Nothing in the library translates: pass it translated. */
2536
+ readonly label: import("@angular/core").InputSignal<string>;
2537
+ readonly class: import("@angular/core").InputSignal<string | undefined>;
2538
+ /**
2539
+ * Emitted when the user starts to resize (a press on the handle, or a key that resizes), before the height changes. A host
2540
+ * that lets Floating UI place the popover uses it to pin the position (`lockPosition`) from then on: a popover that keeps
2541
+ * being flipped or shifted while its height changes would jump under the pointer.
2542
+ */
2543
+ readonly resizeStart: import("@angular/core").OutputEmitterRef<void>;
2544
+ private readonly host;
2545
+ private readonly destroyRef;
2546
+ protected readonly valueNow: import("@angular/core").WritableSignal<number | null>;
2547
+ protected readonly valueMax: import("@angular/core").WritableSignal<number | null>;
2548
+ /** A bottom handle is hidden while there is no room under the popover to grow into. */
2549
+ protected readonly hidden: import("@angular/core").WritableSignal<boolean>;
2550
+ protected readonly classes: import("@angular/core").Signal<string>;
2551
+ /**
2552
+ * The bottom edge a top handle is holding in place, for the moment after a resize: a `PopoverDirective` places the popover
2553
+ * again once its size has changed (its `top` depends on the new height when it sits above its trigger), which would move the
2554
+ * bottom edge the translate had just put back. While this is set, each new placement is followed by the translate that
2555
+ * brings the bottom edge back. It is let go a moment later, so that the popover goes on following its trigger on scroll.
2556
+ */
2557
+ private held;
2558
+ private heldTimer;
2559
+ /** The state of a drag: where the pointer and the popover were when it began. */
2560
+ private drag;
2561
+ constructor();
2562
+ /** The popover this handle resizes: the nearest ancestor with the `popover` attribute. */
2563
+ private popover;
2564
+ /** The height now, the largest one the viewport allows, and whether a bottom handle has room to be of any use. */
2565
+ protected refresh(): void;
2566
+ /** The largest height: up to the top margin for a top edge (the bottom edge stays), to the bottom margin for a bottom edge. */
2567
+ private largest;
2568
+ /**
2569
+ * Gives the popover a height. A top edge keeps the bottom of the popover where `bottom` says: the popover is made taller
2570
+ * from its top, which `translate` moves up by what its own `top` would otherwise leave. A bottom edge only grows it.
2571
+ */
2572
+ private setHeight;
2573
+ /** Puts the held bottom edge back where it was, after the popover was placed again. A no-op once it is where it should be. */
2574
+ private holdBottom;
2575
+ private hold;
2576
+ /** Lets the bottom edge go: the user begins something else, which must not be pulled back. */
2577
+ release(): void;
2578
+ /** A new interaction: whatever another handle of this popover was holding is let go. */
2579
+ private begin;
2580
+ private translateY;
2581
+ protected onPointerDown(event: PointerEvent): void;
2582
+ protected onPointerMove(event: PointerEvent): void;
2583
+ protected onPointerEnd(event: PointerEvent): void;
2584
+ protected onKeydown(event: KeyboardEvent): void;
2585
+ static ɵfac: i0.ɵɵFactoryDeclaration<PopoverResizeHandleComponent, never>;
2586
+ static ɵcmp: i0.ɵɵComponentDeclaration<PopoverResizeHandleComponent, "PopoverResizeHandle, popover-resize-handle", never, {
2587
+ "edge": {
2588
+ "alias": "edge";
2589
+ "required": false;
2590
+ "isSignal": true;
2591
+ };
2592
+ "min": {
2593
+ "alias": "min";
2594
+ "required": false;
2595
+ "isSignal": true;
2596
+ };
2597
+ "step": {
2598
+ "alias": "step";
2599
+ "required": false;
2600
+ "isSignal": true;
2601
+ };
2602
+ "label": {
2603
+ "alias": "label";
2604
+ "required": false;
2605
+ "isSignal": true;
2606
+ };
2607
+ "class": {
2608
+ "alias": "class";
2609
+ "required": false;
2610
+ "isSignal": true;
2611
+ };
2612
+ }, {
2613
+ "resizeStart": "resizeStart";
2614
+ }, never, never, true, never>;
2615
+ }
2485
2616
  /** Where the tooltip goes: `top`, `bottom`, `left`, `right`, or any other Floating UI placement (`top-start`…). */
2486
2617
  type TooltipPosition = Placement;
2487
2618
  /**
@@ -3019,7 +3150,7 @@ export declare class TabListComponent {
3019
3150
  export declare class TabComponent {
3020
3151
  class: import("@angular/core").InputSignal<string>;
3021
3152
  variant: import("@angular/core").InputSignal<"primary" | "secondary" | "inner" | "see-more" | null | undefined>;
3022
- size: import("@angular/core").InputSignal<"sm" | "md" | null | undefined>;
3153
+ size: import("@angular/core").InputSignal<"md" | "sm" | null | undefined>;
3023
3154
  noTruncate: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
3024
3155
  variants: import("@angular/core").Signal<string>;
3025
3156
  static ɵfac: i0.ɵɵFactoryDeclaration<TabComponent, never>;
@@ -3192,7 +3323,7 @@ export declare class SelectComponent<TOption, TValue = TOption | null> implement
3192
3323
  /** Placement du popup (Floating UI). */
3193
3324
  readonly placement: import("@angular/core").InputSignal<Placement>;
3194
3325
  /** Taille du champ DS (hauteur du trigger marqué `select-trigger`). */
3195
- readonly size: import("@angular/core").InputSignal<"sm" | "md" | "lg" | null | undefined>;
3326
+ readonly size: import("@angular/core").InputSignal<"lg" | "md" | "sm" | null | undefined>;
3196
3327
  /**
3197
3328
  * Libellé du champ, rendu au-dessus du trigger (`.select-label`). Sert de repli au contenu
3198
3329
  * projeté : un `<… class="select-label">` projeté a la priorité (pour un libellé riche).
@@ -3463,10 +3594,10 @@ export declare const SELECT_OPTION_CHECK_CLASS = "select-option-check";
3463
3594
  export declare const SELECT_HINT_CLASS = "select-hint";
3464
3595
  export declare const SELECT_CHEVRON_CLASS = "select-chevron";
3465
3596
  export declare const selectWrapVariants: (props?: ({
3466
- size?: "sm" | "md" | "lg" | null | undefined;
3597
+ size?: "lg" | "md" | "sm" | null | undefined;
3467
3598
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
3468
3599
  export declare const selectTriggerVariants: (props?: ({
3469
- size?: "sm" | "md" | "lg" | null | undefined;
3600
+ size?: "lg" | "md" | "sm" | null | undefined;
3470
3601
  empty?: boolean | null | undefined;
3471
3602
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
3472
3603
  export declare const selectChevronVariants: (props?: ({
@@ -3566,7 +3697,7 @@ export declare class AutocompleteComponent<TOption, TSelected = TOption> {
3566
3697
  readonly noResultsText: import("@angular/core").InputSignal<string>;
3567
3698
  readonly searchingText: import("@angular/core").InputSignal<string>;
3568
3699
  readonly errorText: import("@angular/core").InputSignal<string>;
3569
- readonly size: import("@angular/core").InputSignal<"sm" | "md" | "lg" | null | undefined>;
3700
+ readonly size: import("@angular/core").InputSignal<"lg" | "md" | "sm" | null | undefined>;
3570
3701
  /** Help text rendered under the field (`.select-hint`), like `SelectMenu`'s. */
3571
3702
  readonly hint: import("@angular/core").InputSignal<string | undefined>;
3572
3703
  /** Additional class(es) for the host — the DS styling root. */
@@ -3591,8 +3722,9 @@ export declare class AutocompleteComponent<TOption, TSelected = TOption> {
3591
3722
  /** Shows the chevron. The spinner still shows while a search runs. */
3592
3723
  readonly indicator: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
3593
3724
  /**
3594
- * Picking closes the list and clears the typed text — the chat mention box. By default the list stays open with the
3595
- * remaining suggestions and the query untouched, to pick several in a row.
3725
+ * Picking closes the list and clears the typed text — the chat mention box. By default picking also clears the typed
3726
+ * text, but the list stays open and shows everything the `loader` returns for an empty query (minus what is already
3727
+ * applied), to pick several in a row. A loader must therefore accept `""` as "no filter".
3596
3728
  */
3597
3729
  readonly closeOnPick: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
3598
3730
  /** Emitted once per suggestion picked, or once for a free-text creation. The host persists it. */
@@ -3645,6 +3777,11 @@ export declare class AutocompleteComponent<TOption, TSelected = TOption> {
3645
3777
  * opened nothing.
3646
3778
  */
3647
3779
  private readonly settledQuery;
3780
+ /**
3781
+ * Set by a pick: the field was just emptied and the list keeps showing everything the loader returns for an empty
3782
+ * query ("all"), so the next value can be picked at once. Typing, or emptying the field by hand, ends it.
3783
+ */
3784
+ private readonly browseAll;
3648
3785
  private readonly search;
3649
3786
  protected readonly loading: import("@angular/core").Signal<boolean>;
3650
3787
  protected readonly failed: import("@angular/core").Signal<boolean>;
@@ -3852,10 +3989,10 @@ export declare const AUTOCOMPLETE_TRIGGER_CLASS = "select-trigger w-full cursor-
3852
3989
  export declare const AUTOCOMPLETE_TAGS_CLASS = "flex flex-wrap gap-(--spacing-3xs)";
3853
3990
  export declare class ButtonComponent {
3854
3991
  class: import("@angular/core").InputSignal<string | undefined>;
3855
- variant: import("@angular/core").InputSignal<"primary" | "secondary" | "none" | "light-accent" | "accent" | "tertiary" | null | undefined>;
3992
+ variant: import("@angular/core").InputSignal<"none" | "light-accent" | "accent" | "primary" | "secondary" | "tertiary" | null | undefined>;
3856
3993
  scheme: import("@angular/core").InputSignal<"default" | "neutral" | null | undefined>;
3857
3994
  iconOnly: import("@angular/core").InputSignal<boolean | null | undefined>;
3858
- size: import("@angular/core").InputSignal<"small" | "sm" | "md" | "xs" | "lg" | "xsmall" | "medium" | "large" | null | undefined>;
3995
+ size: import("@angular/core").InputSignal<"lg" | "md" | "sm" | "small" | "medium" | "large" | "xs" | "xsmall" | null | undefined>;
3859
3996
  variants: import("@angular/core").Signal<string | undefined>;
3860
3997
  static ɵfac: i0.ɵɵFactoryDeclaration<ButtonComponent, never>;
3861
3998
  static ɵdir: i0.ɵɵDirectiveDeclaration<ButtonComponent, "button", never, {
@@ -3897,9 +4034,9 @@ declare const BUTTON_ICON_LEFT_CLASS = "btn-icon-left";
3897
4034
  declare const BUTTON_ICON_RIGHT_CLASS = "btn-icon-right";
3898
4035
  declare const BUTTON_ICON_SOLO_CLASS = "btn-icon-solo";
3899
4036
  declare const buttonVariants: (props?: ({
3900
- variant?: "primary" | "secondary" | "none" | "light-accent" | "accent" | "tertiary" | null | undefined;
4037
+ variant?: "none" | "light-accent" | "accent" | "primary" | "secondary" | "tertiary" | null | undefined;
3901
4038
  scheme?: "default" | "neutral" | null | undefined;
3902
- size?: "small" | "sm" | "md" | "xs" | "lg" | "xsmall" | "medium" | "large" | null | undefined;
4039
+ size?: "lg" | "md" | "sm" | "small" | "medium" | "large" | "xs" | "xsmall" | null | undefined;
3903
4040
  iconOnly?: boolean | null | undefined;
3904
4041
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
3905
4042
  type ButtonVariants = VariantProps<typeof buttonVariants>;
@@ -3923,7 +4060,7 @@ export declare class ToggleComponent {
3923
4060
  /** Palette : `unique` (primaire) ou `multi` (secondaire). */
3924
4061
  readonly variant: import("@angular/core").InputSignal<"multi" | "unique" | null | undefined>;
3925
4062
  /** Taille (`sm`/`md`, alias `small`/`medium`). */
3926
- readonly size: import("@angular/core").InputSignal<"small" | "sm" | "md" | "medium" | null | undefined>;
4063
+ readonly size: import("@angular/core").InputSignal<"md" | "sm" | "small" | "medium" | null | undefined>;
3927
4064
  /** Pilule carrée (icône seule). */
3928
4065
  readonly iconOnly: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
3929
4066
  /** Discriminant de rendu d'icône (piloté par le consommateur). */
@@ -3996,7 +4133,7 @@ export declare class ToggleItemComponent {
3996
4133
  /** Palette explicite ; à défaut, héritée du `<ToggleGroup>` parent, sinon `unique`. */
3997
4134
  readonly variant: import("@angular/core").InputSignal<"multi" | "unique" | null | undefined>;
3998
4135
  /** Taille (`sm`/`md`, alias `small`/`medium`). */
3999
- readonly size: import("@angular/core").InputSignal<"small" | "sm" | "md" | "medium" | null | undefined>;
4136
+ readonly size: import("@angular/core").InputSignal<"md" | "sm" | "small" | "medium" | null | undefined>;
4000
4137
  /** Pilule carrée (icône seule). */
4001
4138
  readonly iconOnly: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
4002
4139
  /** Discriminant de rendu d'icône (piloté par le consommateur). */
@@ -4133,7 +4270,7 @@ export declare const TOGGLE_ICON_CLASS = "toggle-icon";
4133
4270
  export declare const TOGGLE_LABEL_CLASS = "toggle-label";
4134
4271
  export declare const toggleVariants: (props?: ({
4135
4272
  variant?: "multi" | "unique" | null | undefined;
4136
- size?: "small" | "sm" | "md" | "medium" | null | undefined;
4273
+ size?: "md" | "sm" | "small" | "medium" | null | undefined;
4137
4274
  iconOnly?: boolean | null | undefined;
4138
4275
  showIcon?: boolean | null | undefined;
4139
4276
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
@@ -4416,8 +4553,8 @@ export declare class ListItemAvatarDirective {
4416
4553
  */
4417
4554
  export declare class ListItemActionComponent {
4418
4555
  /**
4419
- * Libellé de l'action. Rendu en `title` (infobulle souris) et non en `aria-label` : l'élément
4420
- * est masqué aux technologies d'assistance, qui atteignent l'action par le raccourci `Suppr`
4556
+ * Libellé de l'action, rendu dans l'infobulle des voyants (directive `tooltip`) et non en `aria-label` :
4557
+ * l'icône est masquée aux technologies d'assistance, qui atteignent l'action par le raccourci `Suppr`
4421
4558
  * porté par `<ListItem>`. Le nom de l'entrée est conservé pour ne pas casser les appelants.
4422
4559
  */
4423
4560
  readonly ariaLabel: import("@angular/core").InputSignal<string | undefined>;
@@ -5113,8 +5250,8 @@ type RadioRootVariants = VariantProps<typeof radioRootVariants>;
5113
5250
  export declare class TagComponent {
5114
5251
  class: import("@angular/core").InputSignal<string | undefined>;
5115
5252
  variant: import("@angular/core").InputSignal<"primary" | "secondary" | null | undefined>;
5116
- scheme: import("@angular/core").InputSignal<"error" | "sage" | "success" | "almond" | "pink" | "grey" | "yellow" | "cherry" | "indigo" | "cyan" | "warning" | "info" | null | undefined>;
5117
- size: import("@angular/core").InputSignal<"small" | "sm" | "md" | "xs" | "xsmall" | "medium" | null | undefined>;
5253
+ scheme: import("@angular/core").InputSignal<"success" | "error" | "sage" | "almond" | "pink" | "grey" | "yellow" | "cherry" | "indigo" | "cyan" | "warning" | "info" | null | undefined>;
5254
+ size: import("@angular/core").InputSignal<"md" | "sm" | "small" | "medium" | "xs" | "xsmall" | null | undefined>;
5118
5255
  variants: import("@angular/core").Signal<string>;
5119
5256
  static ɵfac: i0.ɵɵFactoryDeclaration<TagComponent, never>;
5120
5257
  static ɵdir: i0.ɵɵDirectiveDeclaration<TagComponent, "tag, Tag", never, {
@@ -5145,8 +5282,8 @@ declare const TAG_ICON_CLASS = "tag-icon";
5145
5282
  declare const TAG_FLAG_CLASS = "tag-flag";
5146
5283
  declare const tagVariants: (props?: ({
5147
5284
  variant?: "primary" | "secondary" | null | undefined;
5148
- scheme?: "error" | "sage" | "success" | "almond" | "pink" | "grey" | "yellow" | "cherry" | "indigo" | "cyan" | "warning" | "info" | null | undefined;
5149
- size?: "small" | "sm" | "md" | "xs" | "xsmall" | "medium" | null | undefined;
5285
+ scheme?: "success" | "error" | "sage" | "almond" | "pink" | "grey" | "yellow" | "cherry" | "indigo" | "cyan" | "warning" | "info" | null | undefined;
5286
+ size?: "md" | "sm" | "small" | "medium" | "xs" | "xsmall" | null | undefined;
5150
5287
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
5151
5288
  type TagVariants = VariantProps<typeof tagVariants>;
5152
5289
  /**
@@ -5242,8 +5379,8 @@ export declare class TagInputComponent implements FormValueControl<string[]> {
5242
5379
  readonly separator: import("@angular/core").InputSignal<string>;
5243
5380
  /** Adds what is typed when the field loses focus. Turn it off for a field that must only take explicit additions. */
5244
5381
  readonly addOnBlur: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
5245
- readonly size: import("@angular/core").InputSignal<"sm" | "md" | "lg" | null | undefined>;
5246
- readonly scheme: import("@angular/core").InputSignal<"error" | "default" | "success" | null | undefined>;
5382
+ readonly size: import("@angular/core").InputSignal<"lg" | "md" | "sm" | null | undefined>;
5383
+ readonly scheme: import("@angular/core").InputSignal<"default" | "success" | "error" | null | undefined>;
5247
5384
  readonly class: import("@angular/core").InputSignal<string | undefined>;
5248
5385
  /** Accessible name of the whole group (what the tags are: "Tags"). Aliased on the attribute, as `SearchInput` does. */
5249
5386
  readonly ariaLabel: import("@angular/core").InputSignal<string | undefined>;
@@ -5356,8 +5493,8 @@ export declare class BadgeComponent {
5356
5493
  class: import("@angular/core").InputSignal<string | undefined>;
5357
5494
  variant: import("@angular/core").InputSignal<"number" | "icon" | null | undefined>;
5358
5495
  fill: import("@angular/core").InputSignal<"primary" | "secondary" | null | undefined>;
5359
- scheme: import("@angular/core").InputSignal<"error" | "sage" | "success" | "almond" | "pink" | "grey" | "yellow" | "cherry" | "indigo" | "cyan" | "warning" | "info" | null | undefined>;
5360
- size: import("@angular/core").InputSignal<"sm" | "md" | "xs" | null | undefined>;
5496
+ scheme: import("@angular/core").InputSignal<"success" | "error" | "sage" | "almond" | "pink" | "grey" | "yellow" | "cherry" | "indigo" | "cyan" | "warning" | "info" | null | undefined>;
5497
+ size: import("@angular/core").InputSignal<"md" | "sm" | "xs" | null | undefined>;
5361
5498
  ariaLabel: import("@angular/core").InputSignal<string | undefined>;
5362
5499
  variants: import("@angular/core").Signal<string>;
5363
5500
  static ɵfac: i0.ɵɵFactoryDeclaration<BadgeComponent, never>;
@@ -5400,8 +5537,8 @@ declare const BADGE_NUMBER_CLASS = "badge-number";
5400
5537
  declare const badgeVariants: (props?: ({
5401
5538
  variant?: "number" | "icon" | null | undefined;
5402
5539
  style?: "primary" | "secondary" | null | undefined;
5403
- scheme?: "error" | "sage" | "success" | "almond" | "pink" | "grey" | "yellow" | "cherry" | "indigo" | "cyan" | "warning" | "info" | null | undefined;
5404
- size?: "sm" | "md" | "xs" | null | undefined;
5540
+ scheme?: "success" | "error" | "sage" | "almond" | "pink" | "grey" | "yellow" | "cherry" | "indigo" | "cyan" | "warning" | "info" | null | undefined;
5541
+ size?: "md" | "sm" | "xs" | null | undefined;
5405
5542
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
5406
5543
  type BadgeVariants = VariantProps<typeof badgeVariants>;
5407
5544
  /**
@@ -5421,9 +5558,9 @@ type BadgeVariants = VariantProps<typeof badgeVariants>;
5421
5558
  */
5422
5559
  export declare class BulletComponent {
5423
5560
  readonly class: import("@angular/core").InputSignal<string | undefined>;
5424
- readonly scheme: import("@angular/core").InputSignal<"error" | "sage" | "success" | "almond" | "pink" | "grey" | "yellow" | "cherry" | "indigo" | "cyan" | "warning" | "info" | null | undefined>;
5561
+ readonly scheme: import("@angular/core").InputSignal<"success" | "error" | "sage" | "almond" | "pink" | "grey" | "yellow" | "cherry" | "indigo" | "cyan" | "warning" | "info" | null | undefined>;
5425
5562
  readonly fill: import("@angular/core").InputSignal<"primary" | "secondary" | null | undefined>;
5426
- readonly size: import("@angular/core").InputSignal<"sm" | "md" | "xs" | null | undefined>;
5563
+ readonly size: import("@angular/core").InputSignal<"md" | "sm" | "xs" | null | undefined>;
5427
5564
  /**
5428
5565
  * Wraps the dot in an expanding, fading halo — the "live" status light. Off by default; it
5429
5566
  * animates nothing under `prefers-reduced-motion`.
@@ -5466,9 +5603,9 @@ export declare class BulletComponent {
5466
5603
  }, {}, never, never, true, never>;
5467
5604
  }
5468
5605
  declare const bulletVariants: (props?: ({
5469
- scheme?: "error" | "sage" | "success" | "almond" | "pink" | "grey" | "yellow" | "cherry" | "indigo" | "cyan" | "warning" | "info" | null | undefined;
5606
+ scheme?: "success" | "error" | "sage" | "almond" | "pink" | "grey" | "yellow" | "cherry" | "indigo" | "cyan" | "warning" | "info" | null | undefined;
5470
5607
  fill?: "primary" | "secondary" | null | undefined;
5471
- size?: "sm" | "md" | "xs" | null | undefined;
5608
+ size?: "md" | "sm" | "xs" | null | undefined;
5472
5609
  pulse?: boolean | null | undefined;
5473
5610
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
5474
5611
  type BulletVariants = VariantProps<typeof bulletVariants>;
@@ -5482,7 +5619,7 @@ type BulletVariants = VariantProps<typeof bulletVariants>;
5482
5619
  */
5483
5620
  export declare class KbdComponent {
5484
5621
  class: import("@angular/core").InputSignal<string | undefined>;
5485
- size: import("@angular/core").InputSignal<"sm" | "md" | "xs" | null | undefined>;
5622
+ size: import("@angular/core").InputSignal<"md" | "sm" | "xs" | null | undefined>;
5486
5623
  variants: import("@angular/core").Signal<string>;
5487
5624
  static ɵfac: i0.ɵɵFactoryDeclaration<KbdComponent, never>;
5488
5625
  static ɵdir: i0.ɵɵDirectiveDeclaration<KbdComponent, "kbd, Kbd", never, {
@@ -5536,7 +5673,7 @@ export declare class KbdGroupComponent {
5536
5673
  * n'aurait pas de sens et gêne le copier d'un texte l'entourant.
5537
5674
  */
5538
5675
  declare const kbdVariants: (props?: ({
5539
- size?: "sm" | "md" | "xs" | null | undefined;
5676
+ size?: "md" | "sm" | "xs" | null | undefined;
5540
5677
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
5541
5678
  type KbdVariants = VariantProps<typeof kbdVariants>;
5542
5679
  /**
@@ -5550,16 +5687,16 @@ export declare class AvatarFallbackComponent {
5550
5687
  canrender: import("@angular/core").WritableSignal<boolean>;
5551
5688
  class: import("@angular/core").InputSignal<string | undefined>;
5552
5689
  /** Explicite ; à défaut, hérité de l'`<avatar>` parent, sinon `"large"` (aligné sur le cva). */
5553
- size: import("@angular/core").InputSignal<"small" | "xsmall" | "medium" | "large" | null | undefined>;
5690
+ size: import("@angular/core").InputSignal<"small" | "medium" | "large" | "xsmall" | null | undefined>;
5554
5691
  /** Explicite ; à défaut, hérité de l'`<avatar>` parent, sinon `"primary"`. */
5555
5692
  fill: import("@angular/core").InputSignal<"primary" | "secondary" | null | undefined>;
5556
5693
  /** Explicite ; à défaut, hérité de l'`<avatar>` parent, sinon `"sage"`. */
5557
- scheme: import("@angular/core").InputSignal<"error" | "sage" | "success" | "almond" | "pink" | "grey" | "yellow" | "cherry" | "indigo" | "cyan" | "warning" | "info" | null | undefined>;
5694
+ scheme: import("@angular/core").InputSignal<"success" | "error" | "sage" | "almond" | "pink" | "grey" | "yellow" | "cherry" | "indigo" | "cyan" | "warning" | "info" | null | undefined>;
5558
5695
  /** Conteneur parent, pour hériter size/fill/scheme par défaut. */
5559
5696
  private readonly avatar;
5560
- protected readonly resolvedSize: import("@angular/core").Signal<NonNullable<"small" | "xsmall" | "medium" | "large" | null | undefined>>;
5697
+ protected readonly resolvedSize: import("@angular/core").Signal<NonNullable<"small" | "medium" | "large" | "xsmall" | null | undefined>>;
5561
5698
  protected readonly resolvedFill: import("@angular/core").Signal<NonNullable<"primary" | "secondary" | null | undefined>>;
5562
- protected readonly resolvedScheme: import("@angular/core").Signal<NonNullable<"error" | "sage" | "success" | "almond" | "pink" | "grey" | "yellow" | "cherry" | "indigo" | "cyan" | "warning" | "info" | null | undefined>>;
5699
+ protected readonly resolvedScheme: import("@angular/core").Signal<NonNullable<"success" | "error" | "sage" | "almond" | "pink" | "grey" | "yellow" | "cherry" | "indigo" | "cyan" | "warning" | "info" | null | undefined>>;
5563
5700
  variants: import("@angular/core").Signal<string>;
5564
5701
  static ɵfac: i0.ɵɵFactoryDeclaration<AvatarFallbackComponent, never>;
5565
5702
  static ɵcmp: i0.ɵɵComponentDeclaration<AvatarFallbackComponent, "avatar-fallback, avatarfallback, AvatarFallback", never, {
@@ -5639,9 +5776,9 @@ export declare class AvatarComponent {
5639
5776
  avatarImage: import("@angular/core").Signal<AvatarImageComponent | undefined>;
5640
5777
  avatarFallback: import("@angular/core").Signal<AvatarFallbackComponent | undefined>;
5641
5778
  class: import("@angular/core").InputSignal<string | undefined>;
5642
- size: import("@angular/core").InputSignal<"small" | "xsmall" | "medium" | "large" | null | undefined>;
5779
+ size: import("@angular/core").InputSignal<"small" | "medium" | "large" | "xsmall" | null | undefined>;
5643
5780
  fill: import("@angular/core").InputSignal<"primary" | "secondary" | null | undefined>;
5644
- scheme: import("@angular/core").InputSignal<"error" | "sage" | "success" | "almond" | "pink" | "grey" | "yellow" | "cherry" | "indigo" | "cyan" | "warning" | "info" | null | undefined>;
5781
+ scheme: import("@angular/core").InputSignal<"success" | "error" | "sage" | "almond" | "pink" | "grey" | "yellow" | "cherry" | "indigo" | "cyan" | "warning" | "info" | null | undefined>;
5645
5782
  variants: import("@angular/core").Signal<string>;
5646
5783
  constructor();
5647
5784
  static ɵfac: i0.ɵɵFactoryDeclaration<AvatarComponent, never>;
@@ -5699,8 +5836,8 @@ declare const AVATAR_ICON_SIZE: {
5699
5836
  declare const avatarVariants: (props?: ({
5700
5837
  content?: "picture" | "initials" | null | undefined;
5701
5838
  style?: "primary" | "secondary" | null | undefined;
5702
- scheme?: "error" | "sage" | "success" | "almond" | "pink" | "grey" | "yellow" | "cherry" | "indigo" | "cyan" | "warning" | "info" | null | undefined;
5703
- size?: "small" | "xsmall" | "medium" | "large" | null | undefined;
5839
+ scheme?: "success" | "error" | "sage" | "almond" | "pink" | "grey" | "yellow" | "cherry" | "indigo" | "cyan" | "warning" | "info" | null | undefined;
5840
+ size?: "small" | "medium" | "large" | "xsmall" | null | undefined;
5704
5841
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
5705
5842
  type AvatarVariants = VariantProps<typeof avatarVariants>;
5706
5843
  /** Left icon slot — tags its host with the `link-icon-left` class and pins it to the start. */
@@ -5758,7 +5895,7 @@ export declare class LinkIconRightDirective {
5758
5895
  */
5759
5896
  export declare class LinkComponent {
5760
5897
  class: import("@angular/core").InputSignal<string | undefined>;
5761
- size: import("@angular/core").InputSignal<"small" | "sm" | "md" | "medium" | null | undefined>;
5898
+ size: import("@angular/core").InputSignal<"md" | "sm" | "small" | "medium" | null | undefined>;
5762
5899
  visited: import("@angular/core").InputSignal<boolean | null | undefined>;
5763
5900
  icon: import("@angular/core").InputSignal<boolean | null | undefined>;
5764
5901
  openWindow: import("@angular/core").InputSignal<boolean | null | undefined>;
@@ -5817,13 +5954,13 @@ export declare class LinkComponent {
5817
5954
  }
5818
5955
  export declare const LINK_LABEL_CLASS = "link-label";
5819
5956
  declare const linkVariants: (props?: ({
5820
- size?: "small" | "sm" | "md" | "medium" | null | undefined;
5957
+ size?: "md" | "sm" | "small" | "medium" | null | undefined;
5821
5958
  visited?: boolean | null | undefined;
5822
5959
  icon?: boolean | null | undefined;
5823
5960
  openWindow?: boolean | null | undefined;
5824
5961
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
5825
5962
  export declare const linkIconVariants: (props?: ({
5826
- size?: "small" | "sm" | "md" | "medium" | null | undefined;
5963
+ size?: "md" | "sm" | "small" | "medium" | null | undefined;
5827
5964
  position?: "right" | "left" | null | undefined;
5828
5965
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
5829
5966
  type LinkVariants = VariantProps<typeof linkVariants>;
@@ -5844,14 +5981,14 @@ type LinkIconVariants = VariantProps<typeof linkIconVariants>;
5844
5981
  */
5845
5982
  export declare class InputComponent {
5846
5983
  class: import("@angular/core").InputSignal<string | undefined>;
5847
- size: import("@angular/core").InputSignal<"sm" | "md" | "lg" | null | undefined>;
5848
- scheme: import("@angular/core").InputSignal<"error" | "default" | "success" | null | undefined>;
5984
+ size: import("@angular/core").InputSignal<"lg" | "md" | "sm" | null | undefined>;
5985
+ scheme: import("@angular/core").InputSignal<"default" | "success" | "error" | null | undefined>;
5849
5986
  filled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
5850
5987
  numbers: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
5851
5988
  /** The group grows with its content (wrapping chips, several lines) instead of keeping a fixed height; the size's height is its minimum. */
5852
5989
  autoHeight: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
5853
5990
  /** Text size, independent of `size` (e.g. `md` height with `sm` text). Follows `size` when not set. */
5854
- textSize: import("@angular/core").InputSignal<"base" | "sm" | null | undefined>;
5991
+ textSize: import("@angular/core").InputSignal<"sm" | "base" | null | undefined>;
5855
5992
  variants: import("@angular/core").Signal<string>;
5856
5993
  static ɵfac: i0.ɵɵFactoryDeclaration<InputComponent, never>;
5857
5994
  static ɵdir: i0.ɵɵDirectiveDeclaration<InputComponent, "input-group, inputgroup, InputGroup", never, {
@@ -5942,8 +6079,8 @@ export declare class InputIconRightDirective {
5942
6079
  */
5943
6080
  export declare class InputCounterComponent {
5944
6081
  class: import("@angular/core").InputSignal<string | undefined>;
5945
- size: import("@angular/core").InputSignal<"sm" | "md" | "lg" | null | undefined>;
5946
- scheme: import("@angular/core").InputSignal<"error" | "default" | "success" | null | undefined>;
6082
+ size: import("@angular/core").InputSignal<"lg" | "md" | "sm" | null | undefined>;
6083
+ scheme: import("@angular/core").InputSignal<"default" | "success" | "error" | null | undefined>;
5947
6084
  variants: import("@angular/core").Signal<string>;
5948
6085
  static ɵfac: i0.ɵɵFactoryDeclaration<InputCounterComponent, never>;
5949
6086
  static ɵdir: i0.ɵɵDirectiveDeclaration<InputCounterComponent, "input-counter, inputcounter, InputCounter", never, {
@@ -5970,16 +6107,16 @@ declare const INPUT_ICON_RIGHT_CLASS = "input-icon-right";
5970
6107
  declare const INPUT_COUNTER_CLASS = "input-counter";
5971
6108
  declare const INPUT_SEARCH_NATIVE_RESET: string;
5972
6109
  declare const inputWrapVariants: (props?: ({
5973
- size?: "sm" | "md" | "lg" | null | undefined;
5974
- scheme?: "error" | "default" | "success" | null | undefined;
6110
+ size?: "lg" | "md" | "sm" | null | undefined;
6111
+ scheme?: "default" | "success" | "error" | null | undefined;
5975
6112
  filled?: boolean | null | undefined;
5976
6113
  numbers?: boolean | null | undefined;
5977
6114
  autoHeight?: boolean | null | undefined;
5978
- textSize?: "base" | "sm" | null | undefined;
6115
+ textSize?: "sm" | "base" | null | undefined;
5979
6116
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
5980
6117
  declare const inputCounterVariants: (props?: ({
5981
- scheme?: "error" | "default" | "success" | null | undefined;
5982
- size?: "sm" | "md" | "lg" | null | undefined;
6118
+ scheme?: "default" | "success" | "error" | null | undefined;
6119
+ size?: "lg" | "md" | "sm" | null | undefined;
5983
6120
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
5984
6121
  type InputWrapVariants = VariantProps<typeof inputWrapVariants>;
5985
6122
  type InputCounterVariants = VariantProps<typeof inputCounterVariants>;
@@ -5998,8 +6135,8 @@ type InputCounterVariants = VariantProps<typeof inputCounterVariants>;
5998
6135
  */
5999
6136
  export declare class TextareaComponent {
6000
6137
  class: import("@angular/core").InputSignal<string | undefined>;
6001
- size: import("@angular/core").InputSignal<"sm" | "md" | "lg" | null | undefined>;
6002
- scheme: import("@angular/core").InputSignal<"error" | "default" | "success" | null | undefined>;
6138
+ size: import("@angular/core").InputSignal<"lg" | "md" | "sm" | null | undefined>;
6139
+ scheme: import("@angular/core").InputSignal<"default" | "success" | "error" | null | undefined>;
6003
6140
  /** How the box gets its height: native handle, locked, or content-driven. */
6004
6141
  resize: import("@angular/core").InputSignal<"vertical" | "none" | "auto" | null | undefined>;
6005
6142
  filled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
@@ -6083,8 +6220,8 @@ export declare class TextareaControlDirective {
6083
6220
  */
6084
6221
  export declare class TextareaCounterComponent {
6085
6222
  class: import("@angular/core").InputSignal<string | undefined>;
6086
- size: import("@angular/core").InputSignal<"sm" | "md" | "lg" | null | undefined>;
6087
- scheme: import("@angular/core").InputSignal<"error" | "default" | "success" | null | undefined>;
6223
+ size: import("@angular/core").InputSignal<"lg" | "md" | "sm" | null | undefined>;
6224
+ scheme: import("@angular/core").InputSignal<"default" | "success" | "error" | null | undefined>;
6088
6225
  variants: import("@angular/core").Signal<string>;
6089
6226
  static ɵfac: i0.ɵɵFactoryDeclaration<TextareaCounterComponent, never>;
6090
6227
  static ɵdir: i0.ɵɵDirectiveDeclaration<TextareaCounterComponent, "textarea-counter, textareacounter, TextareaCounter", never, {
@@ -6114,8 +6251,8 @@ export declare const TEXTAREA_COUNTER_CLASS = "textarea-counter";
6114
6251
  */
6115
6252
  export declare const TEXTAREA_LINE_HEIGHT = 1.4;
6116
6253
  export declare const textareaWrapVariants: (props?: ({
6117
- size?: "sm" | "md" | "lg" | null | undefined;
6118
- scheme?: "error" | "default" | "success" | null | undefined;
6254
+ size?: "lg" | "md" | "sm" | null | undefined;
6255
+ scheme?: "default" | "success" | "error" | null | undefined;
6119
6256
  resize?: "vertical" | "none" | "auto" | null | undefined;
6120
6257
  filled?: boolean | null | undefined;
6121
6258
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
@@ -6139,6 +6276,16 @@ declare abstract class SearchInputBase implements FormValueControl<string> {
6139
6276
  value: import("@angular/core").ModelSignal<string>;
6140
6277
  placeholder: import("@angular/core").InputSignal<string>;
6141
6278
  disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
6279
+ /** Read-only: the text can be selected and copied but not edited. Written by `[formField]` from the field's `readonly()` rule. */
6280
+ readonly: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
6281
+ /** Announced as required (`aria-required`). Written by `[formField]`; the validation itself is the field's `required()` rule. */
6282
+ required: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
6283
+ /** Announced as invalid (`aria-invalid`). Written by `[formField]` from the field's validity. */
6284
+ invalid: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
6285
+ /** Emitted when the field loses the focus: `[formField]` marks the field as touched, which also flushes a pending `debounce()`. */
6286
+ touch: import("@angular/core").OutputEmitterRef<void>;
6287
+ /** Moves the focus into the field. Called by `[formField]` (`focusBoundControl()`, `onInvalid`) and by hosts. */
6288
+ focus(options?: FocusOptions): void;
6142
6289
  /**
6143
6290
  * Accessible name of the inner `<input>`.
6144
6291
  *
@@ -6162,12 +6309,12 @@ declare abstract class SearchInputBase implements FormValueControl<string> {
6162
6309
  * Size of the field, as `InputGroup`: `lg` (44px), `md` (36px, default) or `sm` (24px). A `h-*` class
6163
6310
  * still overrides the height. At `sm` the clear button and the icons shrink so they fit inside the field.
6164
6311
  */
6165
- size: import("@angular/core").InputSignal<"sm" | "md" | "lg" | null | undefined>;
6312
+ size: import("@angular/core").InputSignal<"lg" | "md" | "sm" | null | undefined>;
6166
6313
  /**
6167
6314
  * Text size, independent of `size` (e.g. `md` height with `sm` text). Follows `size` when not set.
6168
6315
  * The magnifier and the clear cross follow the text size.
6169
6316
  */
6170
- textSize: import("@angular/core").InputSignal<"base" | "sm" | null | undefined>;
6317
+ textSize: import("@angular/core").InputSignal<"sm" | "base" | null | undefined>;
6171
6318
  /** The text size actually rendered: `textSize`, else the one `size` carries. */
6172
6319
  private readonly smallText;
6173
6320
  /**
@@ -6197,6 +6344,21 @@ declare abstract class SearchInputBase implements FormValueControl<string> {
6197
6344
  "required": false;
6198
6345
  "isSignal": true;
6199
6346
  };
6347
+ "readonly": {
6348
+ "alias": "readonly";
6349
+ "required": false;
6350
+ "isSignal": true;
6351
+ };
6352
+ "required": {
6353
+ "alias": "required";
6354
+ "required": false;
6355
+ "isSignal": true;
6356
+ };
6357
+ "invalid": {
6358
+ "alias": "invalid";
6359
+ "required": false;
6360
+ "isSignal": true;
6361
+ };
6200
6362
  "ariaLabel": {
6201
6363
  "alias": "aria-label";
6202
6364
  "required": false;
@@ -6229,6 +6391,7 @@ declare abstract class SearchInputBase implements FormValueControl<string> {
6229
6391
  };
6230
6392
  }, {
6231
6393
  "value": "valueChange";
6394
+ "touch": "touch";
6232
6395
  }, never, never, true, never>;
6233
6396
  }
6234
6397
  /**
@@ -6238,6 +6401,8 @@ declare abstract class SearchInputBase implements FormValueControl<string> {
6238
6401
  * `SearchInputSuggestionsComponent` instead: that one is a real ARIA combobox.
6239
6402
  */
6240
6403
  export declare class SearchInputComponent extends SearchInputBase {
6404
+ /** The inner `<input>` is bound to a form over the `value` model: no `$event.target` read by hand. */
6405
+ protected readonly field: import("@angular/forms/signals").FieldTree<string, string | number, "writable">;
6241
6406
  static ɵfac: i0.ɵɵFactoryDeclaration<SearchInputComponent, never>;
6242
6407
  static ɵcmp: i0.ɵɵComponentDeclaration<SearchInputComponent, "SearchInput:not([suggestions]), search-input:not([suggestions]), searchinput:not([suggestions])", never, {}, {}, never, ["*"], true, never>;
6243
6408
  }
@@ -6298,7 +6463,7 @@ export declare class ListboxActivateOnHover {
6298
6463
  declare abstract class SearchBarBase implements FormValueControl<string> {
6299
6464
  cn: import("cn").CnFunction;
6300
6465
  searchBarVariants: (props?: ({
6301
- size?: "small" | "medium" | "large" | null | undefined;
6466
+ size?: "small" | "medium" | "large" | "hero" | null | undefined;
6302
6467
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6303
6468
  protected readonly searchNativeReset: string;
6304
6469
  searchInput: import("@angular/core").Signal<ElementRef<any>>;
@@ -6335,6 +6500,16 @@ declare abstract class SearchBarBase implements FormValueControl<string> {
6335
6500
  /** Accessible name of the send button. Nothing in the library translates: pass it translated. */
6336
6501
  sendLabel: import("@angular/core").InputSignal<string>;
6337
6502
  disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
6503
+ /** Read-only: the text can be selected and copied but not edited. Written by `[formField]` from the field's `readonly()` rule. */
6504
+ readonly: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
6505
+ /** Announced as required (`aria-required`). Written by `[formField]`; the validation itself is the field's `required()` rule. */
6506
+ required: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
6507
+ /** Announced as invalid (`aria-invalid`). Written by `[formField]` from the field's validity. */
6508
+ invalid: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
6509
+ /** Emitted when the field loses the focus: `[formField]` marks the field as touched, which also flushes a pending `debounce()`. */
6510
+ touch: import("@angular/core").OutputEmitterRef<void>;
6511
+ /** Moves the focus into the field. Called by `[formField]` (`focusBoundControl()`, `onInvalid`) and by hosts. */
6512
+ focus(options?: FocusOptions): void;
6338
6513
  /**
6339
6514
  * Raccourci annoncé sur l'`<input>` via `aria-keyshortcuts` (« Alt+1 », « Shift+? »…).
6340
6515
  *
@@ -6347,13 +6522,20 @@ declare abstract class SearchBarBase implements FormValueControl<string> {
6347
6522
  * `aria-keyshortcuts` ne fait qu'annoncer : c'est à l'application de câbler l'exécution.
6348
6523
  */
6349
6524
  hotkey: import("@angular/core").InputSignal<string | undefined>;
6350
- size: import("@angular/core").InputSignal<"small" | "medium" | "large" | null | undefined>;
6525
+ size: import("@angular/core").InputSignal<"small" | "medium" | "large" | "hero" | null | undefined>;
6351
6526
  class: import("@angular/core").InputSignal<string | undefined>;
6352
6527
  /**
6353
6528
  * Icon-only action buttons (clear / send) shrink to `xs` at the `small`
6354
6529
  * size so their square box fits inside the `h-6` pill instead of overflowing.
6355
6530
  */
6356
- buttonSize: import("@angular/core").Signal<"sm" | "xs">;
6531
+ buttonSize: import("@angular/core").Signal<"md" | "sm" | "xs">;
6532
+ /** The `hero` size: the field of a home page, whose send button is a round primary magnifier that is always shown. */
6533
+ protected isHero: import("@angular/core").Signal<boolean>;
6534
+ /**
6535
+ * The send button appears with the text — except on the `hero` size, where it is always there (a little faded while the
6536
+ * field is empty, as it still sends: an empty search may be allowed).
6537
+ */
6538
+ protected sendClass: import("@angular/core").Signal<string>;
6357
6539
  /**
6358
6540
  * Trailing/leading icons drop below the default 16px at the `small` size
6359
6541
  * so they leave breathing room inside the smaller buttons/pill.
@@ -6405,6 +6587,21 @@ declare abstract class SearchBarBase implements FormValueControl<string> {
6405
6587
  "required": false;
6406
6588
  "isSignal": true;
6407
6589
  };
6590
+ "readonly": {
6591
+ "alias": "readonly";
6592
+ "required": false;
6593
+ "isSignal": true;
6594
+ };
6595
+ "required": {
6596
+ "alias": "required";
6597
+ "required": false;
6598
+ "isSignal": true;
6599
+ };
6600
+ "invalid": {
6601
+ "alias": "invalid";
6602
+ "required": false;
6603
+ "isSignal": true;
6604
+ };
6408
6605
  "hotkey": {
6409
6606
  "alias": "hotkey";
6410
6607
  "required": false;
@@ -6423,6 +6620,7 @@ declare abstract class SearchBarBase implements FormValueControl<string> {
6423
6620
  }, {
6424
6621
  "value": "valueChange";
6425
6622
  "search": "search";
6623
+ "touch": "touch";
6426
6624
  }, never, never, true, never>;
6427
6625
  }
6428
6626
  /**
@@ -6432,6 +6630,8 @@ declare abstract class SearchBarBase implements FormValueControl<string> {
6432
6630
  * instead: that one is a real ARIA combobox.
6433
6631
  */
6434
6632
  export declare class SearchBarComponent extends SearchBarBase {
6633
+ /** The inner `<input>` is bound to a form over the `value` model: no `$event.target` read by hand. */
6634
+ protected readonly field: import("@angular/forms/signals").FieldTree<string, string | number, "writable">;
6435
6635
  static ɵfac: i0.ɵɵFactoryDeclaration<SearchBarComponent, never>;
6436
6636
  static ɵcmp: i0.ɵɵComponentDeclaration<SearchBarComponent, "SearchBar:not([suggestions]), search-bar:not([suggestions]), searchbar:not([suggestions])", never, {}, {}, never, ["*", "[slot='trailing']"], true, never>;
6437
6637
  }
@@ -6462,7 +6662,7 @@ export declare class SearchBarSuggestionsComponent extends SearchBarBase {
6462
6662
  export declare const SB_ICON_CLASS = "sb-icon";
6463
6663
  export declare const SB_INPUT_CLASS = "sb-input";
6464
6664
  export declare const searchBarVariants: (props?: ({
6465
- size?: "small" | "medium" | "large" | null | undefined;
6665
+ size?: "small" | "medium" | "large" | "hero" | null | undefined;
6466
6666
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6467
6667
  type SearchBarVariants = VariantProps<typeof searchBarVariants>;
6468
6668
  type DialogEvent = "dialog-close" | "dialog-cancel" | "dialog-confirm" | "dialog-no" | "dialog-yes";
@@ -6586,7 +6786,7 @@ export declare class DialogComponent {
6586
6786
  }
6587
6787
  export declare class DialogContentComponent {
6588
6788
  /** Modal width variant (sm/md/lg/xl). Left unset lets the cva default (`sm`) apply. */
6589
- size: import("@angular/core").InputSignal<"sm" | "md" | "lg" | "xl" | null | undefined>;
6789
+ size: import("@angular/core").InputSignal<"lg" | "md" | "sm" | "xl" | null | undefined>;
6590
6790
  /** Explicit id for `aria-labelledby`; falls back to the projected `.modal-title` id. */
6591
6791
  labelledby: import("@angular/core").InputSignal<string | undefined>;
6592
6792
  class: import("@angular/core").InputSignal<string | undefined>;
@@ -6903,7 +7103,7 @@ export declare const MODAL_BODY_CLASS = "modal-body";
6903
7103
  export declare const MODAL_BODY_TEXT_CLASS = "modal-body-text";
6904
7104
  export declare const MODAL_FOOTER_CLASS = "modal-footer";
6905
7105
  export declare const modalVariants: (props?: ({
6906
- size?: "sm" | "md" | "lg" | "xl" | null | undefined;
7106
+ size?: "lg" | "md" | "sm" | "xl" | null | undefined;
6907
7107
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6908
7108
  type ModalVariants = VariantProps<typeof modalVariants>;
6909
7109
  /**
@@ -6940,7 +7140,7 @@ export declare class SheetComponent {
6940
7140
  /** Edge the panel is anchored to. */
6941
7141
  side: import("@angular/core").InputSignal<"top" | "right" | "bottom" | "left" | null | undefined>;
6942
7142
  /** Extent along the axis the side implies — a width for left/right, a height for top/bottom. */
6943
- size: import("@angular/core").InputSignal<"sm" | "md" | "lg" | "xl" | "full" | null | undefined>;
7143
+ size: import("@angular/core").InputSignal<"lg" | "md" | "sm" | "xl" | "full" | null | undefined>;
6944
7144
  /** Explicit id for `aria-labelledby`; falls back to the projected `DialogTitle` id. */
6945
7145
  labelledby: import("@angular/core").InputSignal<string | undefined>;
6946
7146
  /**
@@ -7151,7 +7351,7 @@ export declare const SHEET_BODY_CLASS = "sheet-body";
7151
7351
  export declare const SHEET_FOOTER_CLASS = "sheet-footer";
7152
7352
  export declare const sheetVariants: (props?: ({
7153
7353
  side?: "top" | "right" | "bottom" | "left" | null | undefined;
7154
- size?: "sm" | "md" | "lg" | "xl" | "full" | null | undefined;
7354
+ size?: "lg" | "md" | "sm" | "xl" | "full" | null | undefined;
7155
7355
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7156
7356
  type SheetVariants = VariantProps<typeof sheetVariants>;
7157
7357
  /**
@@ -8058,7 +8258,7 @@ export declare class ResizablePanelGroupComponent {
8058
8258
  * a panel whose content is wider than its share from pushing the whole group.
8059
8259
  */
8060
8260
  export declare const resizableGroupVariants: (props?: ({
8061
- direction?: "horizontal" | "vertical" | null | undefined;
8261
+ direction?: "vertical" | "horizontal" | null | undefined;
8062
8262
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8063
8263
  type ResizableGroupVariants = VariantProps<typeof resizableGroupVariants>;
8064
8264
  /**