@sinequa/galactik 2.2.0 → 2.3.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sinequa/galactik",
3
- "version": "2.2.0",
3
+ "version": "2.3.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -14,6 +14,14 @@ import { ToolbarWidget } from "@angular/aria/toolbar";
14
14
  import * as i1$1 from "@angular/aria/listbox";
15
15
  import * as i1 from "@angular/aria/tree";
16
16
  import { Tree, TreeItem, TreeItemGroup } from "@angular/aria/tree";
17
+ /**
18
+ * Whether the user is on an Apple platform (macOS, iPadOS, iOS).
19
+ *
20
+ * An iPad in desktop mode reports itself as a Mac, which is the right answer for its hardware keyboard.
21
+ * Meant for adapting a *hint* or *adding* a key (a MacBook has no dedicated `Delete`, only `fn+⌫`) — never
22
+ * for restricting one.
23
+ */
24
+ export declare function isApplePlatform(): boolean;
17
25
  export declare class ArrowDownIcon {
18
26
  class: import("@angular/core").InputSignal<string | undefined>;
19
27
  classes: import("@angular/core").Signal<string>;
@@ -3737,7 +3745,7 @@ export declare class ButtonComponent {
3737
3745
  variant: import("@angular/core").InputSignal<"primary" | "secondary" | "none" | "light-accent" | "accent" | "tertiary" | null | undefined>;
3738
3746
  scheme: import("@angular/core").InputSignal<"default" | "neutral" | null | undefined>;
3739
3747
  iconOnly: import("@angular/core").InputSignal<boolean | null | undefined>;
3740
- size: import("@angular/core").InputSignal<"small" | "sm" | "md" | "xs" | "lg" | "xsmall" | "medium" | "large" | null | undefined>;
3748
+ size: import("@angular/core").InputSignal<"small" | "medium" | "sm" | "md" | "xs" | "lg" | "xsmall" | "large" | null | undefined>;
3741
3749
  variants: import("@angular/core").Signal<string | undefined>;
3742
3750
  static ɵfac: i0.ɵɵFactoryDeclaration<ButtonComponent, never>;
3743
3751
  static ɵdir: i0.ɵɵDirectiveDeclaration<ButtonComponent, "button", never, {
@@ -3781,7 +3789,7 @@ declare const BUTTON_ICON_SOLO_CLASS = "btn-icon-solo";
3781
3789
  declare const buttonVariants: (props?: ({
3782
3790
  variant?: "primary" | "secondary" | "none" | "light-accent" | "accent" | "tertiary" | null | undefined;
3783
3791
  scheme?: "default" | "neutral" | null | undefined;
3784
- size?: "small" | "sm" | "md" | "xs" | "lg" | "xsmall" | "medium" | "large" | null | undefined;
3792
+ size?: "small" | "medium" | "sm" | "md" | "xs" | "lg" | "xsmall" | "large" | null | undefined;
3785
3793
  iconOnly?: boolean | null | undefined;
3786
3794
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
3787
3795
  type ButtonVariants = VariantProps<typeof buttonVariants>;
@@ -3805,7 +3813,7 @@ export declare class ToggleComponent {
3805
3813
  /** Palette : `unique` (primaire) ou `multi` (secondaire). */
3806
3814
  readonly variant: import("@angular/core").InputSignal<"multi" | "unique" | null | undefined>;
3807
3815
  /** Taille (`sm`/`md`, alias `small`/`medium`). */
3808
- readonly size: import("@angular/core").InputSignal<"small" | "sm" | "md" | "medium" | null | undefined>;
3816
+ readonly size: import("@angular/core").InputSignal<"small" | "medium" | "sm" | "md" | null | undefined>;
3809
3817
  /** Pilule carrée (icône seule). */
3810
3818
  readonly iconOnly: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
3811
3819
  /** Discriminant de rendu d'icône (piloté par le consommateur). */
@@ -3878,7 +3886,7 @@ export declare class ToggleItemComponent {
3878
3886
  /** Palette explicite ; à défaut, héritée du `<ToggleGroup>` parent, sinon `unique`. */
3879
3887
  readonly variant: import("@angular/core").InputSignal<"multi" | "unique" | null | undefined>;
3880
3888
  /** Taille (`sm`/`md`, alias `small`/`medium`). */
3881
- readonly size: import("@angular/core").InputSignal<"small" | "sm" | "md" | "medium" | null | undefined>;
3889
+ readonly size: import("@angular/core").InputSignal<"small" | "medium" | "sm" | "md" | null | undefined>;
3882
3890
  /** Pilule carrée (icône seule). */
3883
3891
  readonly iconOnly: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
3884
3892
  /** Discriminant de rendu d'icône (piloté par le consommateur). */
@@ -4015,7 +4023,7 @@ export declare const TOGGLE_ICON_CLASS = "toggle-icon";
4015
4023
  export declare const TOGGLE_LABEL_CLASS = "toggle-label";
4016
4024
  export declare const toggleVariants: (props?: ({
4017
4025
  variant?: "multi" | "unique" | null | undefined;
4018
- size?: "small" | "sm" | "md" | "medium" | null | undefined;
4026
+ size?: "small" | "medium" | "sm" | "md" | null | undefined;
4019
4027
  iconOnly?: boolean | null | undefined;
4020
4028
  showIcon?: boolean | null | undefined;
4021
4029
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
@@ -4070,6 +4078,17 @@ export declare class ListComponent {
4070
4078
  * `list-navigation` / `list-menu`.
4071
4079
  */
4072
4080
  readonly size: import("@angular/core").InputSignal<"small" | "medium" | null | undefined>;
4081
+ private readonly host;
4082
+ private readonly keyboardFocusState;
4083
+ /**
4084
+ * Vrai tant que le focus **clavier** est dans la liste (`:focus-visible` : un clic à la souris sur une
4085
+ * ligne ne compte pas). Permet à l'application d'afficher une aide de navigation (« ↑ ↓ pour naviguer »)
4086
+ * exactement quand elle sert, sans aller lire le DOM de la liste.
4087
+ */
4088
+ readonly keyboardFocused: import("@angular/core").Signal<boolean>;
4089
+ protected onFocusIn(event: FocusEvent): void;
4090
+ /** Le focus passe d'une ligne à l'autre par un `focusout` suivi d'un `focusin` : seul un départ de la liste éteint l'état. */
4091
+ protected onFocusOut(event: FocusEvent): void;
4073
4092
  /** Le CVA ne stylise pas le conteneur : classes minimales de layout + `class` consommateur. */
4074
4093
  protected readonly variants: import("@angular/core").Signal<string>;
4075
4094
  static ɵfac: i0.ɵɵFactoryDeclaration<ListComponent, never>;
@@ -4108,28 +4127,6 @@ export declare class ListComponent {
4108
4127
  };
4109
4128
  }]>;
4110
4129
  }
4111
- /**
4112
- * `<ListItem>` — item d'un `<List>`, bâti sur la primitive accessible `@angular/aria/listbox`
4113
- * (`Option` → `role="option"`, `aria-selected`/`aria-disabled` reflétés automatiquement, ce que
4114
- * le CVA `listItemVariants` stylise via ses sélecteurs d'attributs).
4115
- *
4116
- * `variant`/`size` sont hérités du `<List>` parent (via {@link LIST_REF}) sauf s'ils sont fournis
4117
- * explicitement sur l'item. `depth` applique l'indentation d'arbre (`getListDepthStyle`).
4118
- *
4119
- * La sélection appartient au modèle `value` du `<List>` (listbox) — on ne pilote donc pas de
4120
- * `selected` manuel ici.
4121
- *
4122
- * @example
4123
- * ```html
4124
- * <ListItem [value]="u.id">
4125
- * <ListItemLeft>
4126
- * <ListItemAvatar>{{ u.initials }}</ListItemAvatar>
4127
- * <ListItemText [subtext]="u.email">{{ u.name }}</ListItemText>
4128
- * </ListItemLeft>
4129
- * <ListItemAction ariaLabel="Supprimer" (click)="remove(u)"><trash-icon /></ListItemAction>
4130
- * </ListItem>
4131
- * ```
4132
- */
4133
4130
  export declare class ListItemComponent {
4134
4131
  /** Classe(s) additionnelle(s), fusionnée(s) via `cn`. */
4135
4132
  readonly class: import("@angular/core").InputSignal<string | undefined>;
@@ -4149,13 +4146,24 @@ export declare class ListItemComponent {
4149
4146
  protected readonly variants: import("@angular/core").Signal<string>;
4150
4147
  /** Indentation d'arbre (réutilise le helper du CVA) ; `null` à la racine (depth 0). */
4151
4148
  protected readonly paddingLeft: import("@angular/core").Signal<string | null>;
4152
- private readonly host;
4153
- /** Vrai quand la ligne projette une `<ListItemAction>` — conditionne `aria-keyshortcuts`. */
4149
+ /**
4150
+ * Vrai quand la ligne projette une `<ListItemAction>` **utilisable** — conditionne `aria-keyshortcuts`.
4151
+ * Une action désactivée ignore sa touche : l'annoncer promettrait une action qui ne fait rien.
4152
+ */
4154
4153
  protected readonly hasAction: import("@angular/core").Signal<boolean>;
4155
4154
  private readonly action;
4155
+ /** Les touches de l'action, au format de `aria-keyshortcuts` (« Delete Backspace »). */
4156
+ protected readonly keyShortcuts: import("@angular/core").Signal<string | null>;
4156
4157
  /**
4157
- * `Suppr` déclenche l'action de fin de ligne. Celle-ci n'est pas un contrôle focusable (une
4158
- * option de listbox ne peut pas en contenir), donc c'est le seul chemin clavier vers elle.
4158
+ * Relie la ligne au texte masqué de son action. `aria-keyshortcuts` n'est pas lu de façon fiable
4159
+ * (selon le lecteur, le réglage et le navigateur, et alors en anglais brut) : seul un texte relié
4160
+ * garantit que l'utilisateur apprend que `Suppr` supprime la ligne.
4161
+ */
4162
+ protected readonly actionDescriptionId: import("@angular/core").Signal<string | null>;
4163
+ /**
4164
+ * La touche de l'action (`keys` de `<ListItemAction>`, `Delete` par défaut) la déclenche. Celle-ci n'est
4165
+ * pas un contrôle focusable (une option de listbox ne peut pas en contenir), donc c'est le seul chemin
4166
+ * clavier vers elle.
4159
4167
  */
4160
4168
  protected onKeydown(event: KeyboardEvent): void;
4161
4169
  static ɵfac: i0.ɵɵFactoryDeclaration<ListItemComponent, never>;
@@ -4281,6 +4289,20 @@ export declare class ListItemAvatarDirective {
4281
4289
  * L'accès clavier passe donc par `<ListItem>`, qui déclenche l'action sur `Suppr` et l'annonce via
4282
4290
  * `aria-keyshortcuts`. Le `<span>` reste la cible souris, et garde tout son style (le CVA cible la
4283
4291
  * classe, jamais la balise).
4292
+ *
4293
+ * Une ligne n'est pas faite pour contenir un champ de saisie ni aucun contrôle : une `option` de listbox
4294
+ * n'en admet pas, et la ligne prend `Suppr` quelle que soit la cible du clavier. Une ligne éditable relève de
4295
+ * `RowGrid`, pas de `<List>`.
4296
+ *
4297
+ * Une action par ligne : `<ListItem>` ne déclenche que la première, par la touche de `keys` (`Delete`
4298
+ * par défaut). La corbeille n'est qu'une icône posée en contenu : l'action est ce que fait le `(click)`.
4299
+ *
4300
+ * Un utilisateur voyant n'apprend rien d'`aria-keyshortcuts` : tant que la ligne a le focus clavier, une
4301
+ * seconde ligne, dans la ligne, écrit donc la phrase `description` avec la touche en `<kbd>` (« Appuyez
4302
+ * sur Suppr pour supprimer »). Sans `description`, il n'y a pas de seconde ligne : la ligne garde sa hauteur.
4303
+ * Le CVA la garde masquée hors focus clavier : la souris dispose du clic, et l'afficher au survol ferait
4304
+ * bouger les lignes sous le pointeur. Cette ligne est `aria-hidden` : la
4305
+ * même phrase, reliée par `aria-describedby`, porte l'annonce.
4284
4306
  */
4285
4307
  export declare class ListItemActionComponent {
4286
4308
  /**
@@ -4289,9 +4311,48 @@ export declare class ListItemActionComponent {
4289
4311
  * porté par `<ListItem>`. Le nom de l'entrée est conservé pour ne pas casser les appelants.
4290
4312
  */
4291
4313
  readonly ariaLabel: import("@angular/core").InputSignal<string | undefined>;
4292
- /** Désactive le bouton d'action. */
4314
+ /**
4315
+ * Désactive l'action : `Suppr` ne la déclenche plus, et ni l'aide visible, ni la phrase reliée par
4316
+ * `aria-describedby`, ni `aria-keyshortcuts` n'annoncent plus un raccourci qui ne ferait rien.
4317
+ */
4293
4318
  readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
4319
+ /**
4320
+ * Les touches (`KeyboardEvent.key`) qui déclenchent l'action quand sa ligne a le focus. `Delete` par
4321
+ * défaut. La première nomme l'action dans `aria-keyshortcuts` et, à défaut de `shortcut`, dans l'aide.
4322
+ *
4323
+ * Ajouter une touche qui n'existe que sur certains claviers est à l'appelant (un Mac n'a pas de
4324
+ * `Delete` dédié : `["Delete", "Backspace"]` quand `isApplePlatform()`), la librairie ne le devine pas.
4325
+ */
4326
+ readonly keys: import("@angular/core").InputSignal<readonly string[]>;
4327
+ /**
4328
+ * Nom de la touche écrit dans la ligne d'aide quand la ligne a le focus clavier (ex. « Suppr »). Il
4329
+ * doit apparaître tel quel dans `description` pour y être mis en forme. La librairie ne dépend pas de
4330
+ * transloco : à l'application de le traduire. Par défaut, le nom de la première de `keys` (`Del` pour
4331
+ * `Delete`).
4332
+ */
4333
+ readonly shortcut: import("@angular/core").InputSignal<string | undefined>;
4334
+ /**
4335
+ * Phrase lue par un lecteur d'écran quand la ligne prend le focus (ex. « Appuyez sur Suppr pour
4336
+ * supprimer »), reliée à la ligne par `aria-describedby`. À traduire par l'application ; sans elle,
4337
+ * seul `aria-keyshortcuts` renseigne les technologies d'assistance.
4338
+ */
4339
+ readonly description: import("@angular/core").InputSignal<string | undefined>;
4340
+ readonly descriptionId: string;
4341
+ protected readonly keyName: import("@angular/core").Signal<string>;
4342
+ private readonly trigger$;
4343
+ /** Déclenche l'action comme le ferait un clic sur son icône (`<ListItem>` l'appelle sur la touche). */
4344
+ trigger(): void;
4345
+ /**
4346
+ * La phrase coupée autour du nom de la touche, qui prend alors la forme d'un `<kbd>`. Une phrase qui ne
4347
+ * contient pas le nom est écrite telle quelle, sans touche.
4348
+ */
4349
+ protected readonly hint: import("@angular/core").Signal<{
4350
+ before: string;
4351
+ after: string;
4352
+ withKey: boolean;
4353
+ }>;
4294
4354
  protected readonly btnClass = "list-item-icon-right";
4355
+ protected readonly hintClass = "list-item-action-hint";
4295
4356
  static ɵfac: i0.ɵɵFactoryDeclaration<ListItemActionComponent, never>;
4296
4357
  static ɵcmp: i0.ɵɵComponentDeclaration<ListItemActionComponent, "ListItemAction,list-item-action,listitemaction", ["listItemAction"], {
4297
4358
  "ariaLabel": {
@@ -4304,6 +4365,21 @@ export declare class ListItemActionComponent {
4304
4365
  "required": false;
4305
4366
  "isSignal": true;
4306
4367
  };
4368
+ "keys": {
4369
+ "alias": "keys";
4370
+ "required": false;
4371
+ "isSignal": true;
4372
+ };
4373
+ "shortcut": {
4374
+ "alias": "shortcut";
4375
+ "required": false;
4376
+ "isSignal": true;
4377
+ };
4378
+ "description": {
4379
+ "alias": "description";
4380
+ "required": false;
4381
+ "isSignal": true;
4382
+ };
4307
4383
  }, {}, never, ["*"], true, never>;
4308
4384
  }
4309
4385
  /**
@@ -4352,6 +4428,7 @@ export declare const LIST_ITEM_EXPANDER_CLASS = "list-item-expander";
4352
4428
  export declare const LIST_ITEM_EXPANDER_BUTTON_CLASS = "list-item-expander-btn";
4353
4429
  export declare const LIST_ITEM_AVATAR_CLASS = "list-item-avatar";
4354
4430
  export declare const LIST_ITEM_ICON_RIGHT_CLASS = "list-item-icon-right";
4431
+ declare const LIST_ITEM_ACTION_HINT_CLASS = "list-item-action-hint";
4355
4432
  export declare const LIST_ITEM_CHEVRON_RIGHT_CLASS = "list-item-chevron-right";
4356
4433
  export declare function getListDepthStyle(depth?: number): {
4357
4434
  paddingLeft: string;
@@ -4927,7 +5004,7 @@ export declare class TagComponent {
4927
5004
  class: import("@angular/core").InputSignal<string | undefined>;
4928
5005
  variant: import("@angular/core").InputSignal<"primary" | "secondary" | null | undefined>;
4929
5006
  scheme: import("@angular/core").InputSignal<"error" | "sage" | "success" | "almond" | "pink" | "grey" | "yellow" | "cherry" | "indigo" | "cyan" | "warning" | "info" | null | undefined>;
4930
- size: import("@angular/core").InputSignal<"small" | "sm" | "md" | "xs" | "xsmall" | "medium" | null | undefined>;
5007
+ size: import("@angular/core").InputSignal<"small" | "medium" | "sm" | "md" | "xs" | "xsmall" | null | undefined>;
4931
5008
  variants: import("@angular/core").Signal<string>;
4932
5009
  static ɵfac: i0.ɵɵFactoryDeclaration<TagComponent, never>;
4933
5010
  static ɵdir: i0.ɵɵDirectiveDeclaration<TagComponent, "tag, Tag", never, {
@@ -4959,7 +5036,7 @@ declare const TAG_FLAG_CLASS = "tag-flag";
4959
5036
  declare const tagVariants: (props?: ({
4960
5037
  variant?: "primary" | "secondary" | null | undefined;
4961
5038
  scheme?: "error" | "sage" | "success" | "almond" | "pink" | "grey" | "yellow" | "cherry" | "indigo" | "cyan" | "warning" | "info" | null | undefined;
4962
- size?: "small" | "sm" | "md" | "xs" | "xsmall" | "medium" | null | undefined;
5039
+ size?: "small" | "medium" | "sm" | "md" | "xs" | "xsmall" | null | undefined;
4963
5040
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
4964
5041
  type TagVariants = VariantProps<typeof tagVariants>;
4965
5042
  /**
@@ -5363,14 +5440,14 @@ export declare class AvatarFallbackComponent {
5363
5440
  canrender: import("@angular/core").WritableSignal<boolean>;
5364
5441
  class: import("@angular/core").InputSignal<string | undefined>;
5365
5442
  /** Explicite ; à défaut, hérité de l'`<avatar>` parent, sinon `"large"` (aligné sur le cva). */
5366
- size: import("@angular/core").InputSignal<"small" | "xsmall" | "medium" | "large" | null | undefined>;
5443
+ size: import("@angular/core").InputSignal<"small" | "medium" | "xsmall" | "large" | null | undefined>;
5367
5444
  /** Explicite ; à défaut, hérité de l'`<avatar>` parent, sinon `"primary"`. */
5368
5445
  fill: import("@angular/core").InputSignal<"primary" | "secondary" | null | undefined>;
5369
5446
  /** Explicite ; à défaut, hérité de l'`<avatar>` parent, sinon `"sage"`. */
5370
5447
  scheme: import("@angular/core").InputSignal<"error" | "sage" | "success" | "almond" | "pink" | "grey" | "yellow" | "cherry" | "indigo" | "cyan" | "warning" | "info" | null | undefined>;
5371
5448
  /** Conteneur parent, pour hériter size/fill/scheme par défaut. */
5372
5449
  private readonly avatar;
5373
- protected readonly resolvedSize: import("@angular/core").Signal<NonNullable<"small" | "xsmall" | "medium" | "large" | null | undefined>>;
5450
+ protected readonly resolvedSize: import("@angular/core").Signal<NonNullable<"small" | "medium" | "xsmall" | "large" | null | undefined>>;
5374
5451
  protected readonly resolvedFill: import("@angular/core").Signal<NonNullable<"primary" | "secondary" | null | undefined>>;
5375
5452
  protected readonly resolvedScheme: import("@angular/core").Signal<NonNullable<"error" | "sage" | "success" | "almond" | "pink" | "grey" | "yellow" | "cherry" | "indigo" | "cyan" | "warning" | "info" | null | undefined>>;
5376
5453
  variants: import("@angular/core").Signal<string>;
@@ -5452,7 +5529,7 @@ export declare class AvatarComponent {
5452
5529
  avatarImage: import("@angular/core").Signal<AvatarImageComponent | undefined>;
5453
5530
  avatarFallback: import("@angular/core").Signal<AvatarFallbackComponent | undefined>;
5454
5531
  class: import("@angular/core").InputSignal<string | undefined>;
5455
- size: import("@angular/core").InputSignal<"small" | "xsmall" | "medium" | "large" | null | undefined>;
5532
+ size: import("@angular/core").InputSignal<"small" | "medium" | "xsmall" | "large" | null | undefined>;
5456
5533
  fill: import("@angular/core").InputSignal<"primary" | "secondary" | null | undefined>;
5457
5534
  scheme: import("@angular/core").InputSignal<"error" | "sage" | "success" | "almond" | "pink" | "grey" | "yellow" | "cherry" | "indigo" | "cyan" | "warning" | "info" | null | undefined>;
5458
5535
  variants: import("@angular/core").Signal<string>;
@@ -5513,7 +5590,7 @@ declare const avatarVariants: (props?: ({
5513
5590
  content?: "picture" | "initials" | null | undefined;
5514
5591
  style?: "primary" | "secondary" | null | undefined;
5515
5592
  scheme?: "error" | "sage" | "success" | "almond" | "pink" | "grey" | "yellow" | "cherry" | "indigo" | "cyan" | "warning" | "info" | null | undefined;
5516
- size?: "small" | "xsmall" | "medium" | "large" | null | undefined;
5593
+ size?: "small" | "medium" | "xsmall" | "large" | null | undefined;
5517
5594
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
5518
5595
  type AvatarVariants = VariantProps<typeof avatarVariants>;
5519
5596
  /** Left icon slot — tags its host with the `link-icon-left` class and pins it to the start. */
@@ -5571,7 +5648,7 @@ export declare class LinkIconRightDirective {
5571
5648
  */
5572
5649
  export declare class LinkComponent {
5573
5650
  class: import("@angular/core").InputSignal<string | undefined>;
5574
- size: import("@angular/core").InputSignal<"small" | "sm" | "md" | "medium" | null | undefined>;
5651
+ size: import("@angular/core").InputSignal<"small" | "medium" | "sm" | "md" | null | undefined>;
5575
5652
  visited: import("@angular/core").InputSignal<boolean | null | undefined>;
5576
5653
  icon: import("@angular/core").InputSignal<boolean | null | undefined>;
5577
5654
  openWindow: import("@angular/core").InputSignal<boolean | null | undefined>;
@@ -5630,13 +5707,13 @@ export declare class LinkComponent {
5630
5707
  }
5631
5708
  export declare const LINK_LABEL_CLASS = "link-label";
5632
5709
  declare const linkVariants: (props?: ({
5633
- size?: "small" | "sm" | "md" | "medium" | null | undefined;
5710
+ size?: "small" | "medium" | "sm" | "md" | null | undefined;
5634
5711
  visited?: boolean | null | undefined;
5635
5712
  icon?: boolean | null | undefined;
5636
5713
  openWindow?: boolean | null | undefined;
5637
5714
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
5638
5715
  export declare const linkIconVariants: (props?: ({
5639
- size?: "small" | "sm" | "md" | "medium" | null | undefined;
5716
+ size?: "small" | "medium" | "sm" | "md" | null | undefined;
5640
5717
  position?: "right" | "left" | null | undefined;
5641
5718
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
5642
5719
  type LinkVariants = VariantProps<typeof linkVariants>;