@sinequa/galactik 2.2.0 → 2.4.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.
@@ -17,6 +17,11 @@ import { Toolbar, ToolbarWidget } from "@angular/aria/toolbar";
17
17
  import * as i1 from "@angular/aria/tree";
18
18
  import { Tree, TreeItem, TreeItemGroup } from "@angular/aria/tree";
19
19
  import { Grid, GridCell, GridRow } from "@angular/aria/grid";
20
+ function isApplePlatform() {
21
+ if (typeof navigator === "undefined") return false;
22
+ const platform = navigator.userAgentData?.platform || navigator.userAgent;
23
+ return /Mac|iPhone|iPad|iPod/.test(platform);
24
+ }
20
25
  var ArrowDownIcon = class ArrowDownIcon {
21
26
  class = input(...ngDevMode ? [void 0, { debugName: "class" }] : /* istanbul ignore next */ []);
22
27
  classes = computed(() => cn(this.class()), ...ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []);
@@ -367,8 +372,8 @@ var ArrowUpIcon = class ArrowUpIcon {
367
372
  ngImport: i0,
368
373
  template: `
369
374
  <svg [class]="classes()" aria-hidden="true" width="1rem" height="1rem" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
370
- <path d="M12 5v14"/>
371
- <path d="m19 12-7 7-7-7"/>
375
+ <path d="m5 12 7-7 7 7"/>
376
+ <path d="M12 19V5"/>
372
377
  </svg>
373
378
  `,
374
379
  isInline: true,
@@ -386,8 +391,8 @@ i0.ɵɵngDeclareClassMetadata({
386
391
  selector: "arrow-up, arrow-up-icon, ArrowUp, ArrowUpIcon",
387
392
  template: `
388
393
  <svg [class]="classes()" aria-hidden="true" width="1rem" height="1rem" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
389
- <path d="M12 5v14"/>
390
- <path d="m19 12-7 7-7-7"/>
394
+ <path d="m5 12 7-7 7 7"/>
395
+ <path d="M12 19V5"/>
391
396
  </svg>
392
397
  `,
393
398
  styles: [":host{display:contents}\n"]
@@ -5327,6 +5332,69 @@ i0.ɵɵngDeclareClassMetadata({
5327
5332
  }] }
5328
5333
  });
5329
5334
  const LoadingCircleIconComponent = LoadingCircleIcon;
5335
+ var LockIcon = class LockIcon {
5336
+ class = input(...ngDevMode ? [void 0, { debugName: "class" }] : /* istanbul ignore next */ []);
5337
+ classes = computed(() => cn(this.class()), ...ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []);
5338
+ static ɵfac = i0.ɵɵngDeclareFactory({
5339
+ minVersion: "12.0.0",
5340
+ version: "22.2.1",
5341
+ ngImport: i0,
5342
+ type: LockIcon,
5343
+ deps: [],
5344
+ target: i0.ɵɵFactoryTarget.Component
5345
+ });
5346
+ static ɵcmp = i0.ɵɵngDeclareComponent({
5347
+ minVersion: "17.1.0",
5348
+ version: "22.2.1",
5349
+ type: LockIcon,
5350
+ isStandalone: true,
5351
+ selector: "lock, lock-icon, Lock, LockIcon",
5352
+ inputs: { class: {
5353
+ classPropertyName: "class",
5354
+ publicName: "class",
5355
+ isSignal: true,
5356
+ isRequired: false,
5357
+ transformFunction: null
5358
+ } },
5359
+ ngImport: i0,
5360
+ template: `
5361
+ <svg [class]="classes()" aria-hidden="true" width="1rem" height="1rem" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
5362
+ <rect width="18" height="11" x="3" y="11" rx="2" ry="2" />
5363
+ <path d="M7 11V7a5 5 0 0 1 10 0v4" />
5364
+ </svg>
5365
+ `,
5366
+ isInline: true,
5367
+ styles: [":host{display:contents}\n"]
5368
+ });
5369
+ };
5370
+ i0.ɵɵngDeclareClassMetadata({
5371
+ minVersion: "12.0.0",
5372
+ version: "22.2.1",
5373
+ ngImport: i0,
5374
+ type: LockIcon,
5375
+ decorators: [{
5376
+ type: Component,
5377
+ args: [{
5378
+ selector: "lock, lock-icon, Lock, LockIcon",
5379
+ template: `
5380
+ <svg [class]="classes()" aria-hidden="true" width="1rem" height="1rem" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
5381
+ <rect width="18" height="11" x="3" y="11" rx="2" ry="2" />
5382
+ <path d="M7 11V7a5 5 0 0 1 10 0v4" />
5383
+ </svg>
5384
+ `,
5385
+ styles: [":host{display:contents}\n"]
5386
+ }]
5387
+ }],
5388
+ propDecorators: { class: [{
5389
+ type: i0.Input,
5390
+ args: [{
5391
+ isSignal: true,
5392
+ alias: "class",
5393
+ required: false
5394
+ }]
5395
+ }] }
5396
+ });
5397
+ const LockIconComponent = LockIcon;
5330
5398
  var MagnifyingGlassIcon = class MagnifyingGlassIcon {
5331
5399
  class = input(...ngDevMode ? [void 0, { debugName: "class" }] : /* istanbul ignore next */ []);
5332
5400
  classes = computed(() => cn(this.class()), ...ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []);
@@ -9937,7 +10005,14 @@ var MenuComponent = class MenuComponent {
9937
10005
  classes = computed(() => cn(menuPanelVariants(), menuBaseClass, this.class()), ...ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []);
9938
10006
  ngMenu = inject(Menu);
9939
10007
  popover = inject(PopoverDirective);
10008
+ host = inject(ElementRef).nativeElement;
10009
+ submenuOpenAtEscape = false;
9940
10010
  constructor() {
10011
+ const snapshot = (event) => {
10012
+ if (event.key === "Escape") this.submenuOpenAtEscape = this.ngMenu._pattern.inputs.items().some((item) => item.expanded());
10013
+ };
10014
+ this.host.addEventListener("keydown", snapshot, { capture: true });
10015
+ inject(DestroyRef).onDestroy(() => this.host.removeEventListener("keydown", snapshot, { capture: true }));
9941
10016
  const sub = this.ngMenu.itemSelected.subscribe(() => {
9942
10017
  if (isToggleRole(this.ngMenu._pattern.inputs.activeItem()?.role())) return;
9943
10018
  this.popover.close();
@@ -9956,6 +10031,13 @@ var MenuComponent = class MenuComponent {
9956
10031
  });
9957
10032
  });
9958
10033
  }
10034
+ onEscape() {
10035
+ if (this.submenuOpenAtEscape || this.popover.state() !== "open") return;
10036
+ const { id } = this.popover.elementRef.nativeElement;
10037
+ const trigger = id ? [...document.querySelectorAll("[popovertarget]")].find((el) => el.getAttribute("popovertarget") === id) : void 0;
10038
+ this.popover.close();
10039
+ trigger?.focus();
10040
+ }
9959
10041
  onClick(event) {
9960
10042
  if (event.target.closest("[role=\"menuitem\"][aria-haspopup=\"true\"],[role=\"menuitemcheckbox\"],[role=\"menuitemradio\"]")) event.stopImmediatePropagation();
9961
10043
  }
@@ -9985,7 +10067,10 @@ var MenuComponent = class MenuComponent {
9985
10067
  "popover": "",
9986
10068
  "dropdown": ""
9987
10069
  },
9988
- listeners: { "click": "onClick($event)" },
10070
+ listeners: {
10071
+ "click": "onClick($event)",
10072
+ "keydown.escape": "onEscape()"
10073
+ },
9989
10074
  properties: { "class": "classes()" }
9990
10075
  },
9991
10076
  exportAs: ["menu"],
@@ -10038,7 +10123,8 @@ i0.ɵɵngDeclareClassMetadata({
10038
10123
  popover: "",
10039
10124
  dropdown: "",
10040
10125
  "[class]": "classes()",
10041
- "(click)": "onClick($event)"
10126
+ "(click)": "onClick($event)",
10127
+ "(keydown.escape)": "onEscape()"
10042
10128
  }
10043
10129
  }]
10044
10130
  }],
@@ -14436,6 +14522,17 @@ var ListComponent = class ListComponent {
14436
14522
  class = input(...ngDevMode ? [void 0, { debugName: "class" }] : /* istanbul ignore next */ []);
14437
14523
  variant = input("list-content", ...ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []);
14438
14524
  size = input("small", ...ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []);
14525
+ host = inject(ElementRef);
14526
+ keyboardFocusState = signal(false, ...ngDevMode ? [{ debugName: "keyboardFocusState" }] : /* istanbul ignore next */ []);
14527
+ keyboardFocused = this.keyboardFocusState.asReadonly();
14528
+ onFocusIn(event) {
14529
+ const target = event.target;
14530
+ this.keyboardFocusState.set(target instanceof HTMLElement && target.matches(":focus-visible"));
14531
+ }
14532
+ onFocusOut(event) {
14533
+ const next = event.relatedTarget;
14534
+ if (!(next instanceof Node && this.host.nativeElement.contains(next))) this.keyboardFocusState.set(false);
14535
+ }
14439
14536
  variants = computed(() => cn("flex flex-col outline-none", this.class()), ...ngDevMode ? [{ debugName: "variants" }] : /* istanbul ignore next */ []);
14440
14537
  static ɵfac = i0.ɵɵngDeclareFactory({
14441
14538
  minVersion: "12.0.0",
@@ -14474,7 +14571,13 @@ var ListComponent = class ListComponent {
14474
14571
  transformFunction: null
14475
14572
  }
14476
14573
  },
14477
- host: { properties: { "class": "variants()" } },
14574
+ host: {
14575
+ listeners: {
14576
+ "focusin": "onFocusIn($event)",
14577
+ "focusout": "onFocusOut($event)"
14578
+ },
14579
+ properties: { "class": "variants()" }
14580
+ },
14478
14581
  providers: [{
14479
14582
  provide: LIST_REF,
14480
14583
  useExisting: ListComponent
@@ -14536,7 +14639,11 @@ i0.ɵɵngDeclareClassMetadata({
14536
14639
  ],
14537
14640
  outputs: ["valueChange"]
14538
14641
  }],
14539
- host: { "[class]": "variants()" },
14642
+ host: {
14643
+ "[class]": "variants()",
14644
+ "(focusin)": "onFocusIn($event)",
14645
+ "(focusout)": "onFocusOut($event)"
14646
+ },
14540
14647
  providers: [{
14541
14648
  provide: LIST_REF,
14542
14649
  useExisting: ListComponent
@@ -14570,6 +14677,131 @@ i0.ɵɵngDeclareClassMetadata({
14570
14677
  }]
14571
14678
  }
14572
14679
  });
14680
+ const kbdVariants = cva([
14681
+ "pointer-events-none inline-flex w-fit items-center justify-center gap-(--spacing-4xs) select-none",
14682
+ "border border-solid border-(--stroke-neutral-disabled) bg-(--bg-neutral-base) text-(--font-neutral-base)",
14683
+ "font-[family-name:var(--family-base,'Hanken_Grotesk'),sans-serif] font-medium",
14684
+ "[&_svg:not([class*='size-'])]:size-3"
14685
+ ], {
14686
+ variants: { size: {
14687
+ xs: "h-4 min-w-4 rounded-(--radius-xs) px-(--spacing-4xs) text-(length:--size-xs) leading-(--line-height-xs)",
14688
+ sm: "h-5 min-w-5 rounded-(--radius-xs) px-(--spacing-4xs) text-(length:--size-sm) leading-(--line-height-sm)",
14689
+ md: "h-6 min-w-6 rounded-(--radius-sm) px-(--spacing-3xs) text-(length:--size-base) leading-(--line-height-base)"
14690
+ } },
14691
+ defaultVariants: { size: "sm" }
14692
+ });
14693
+ var KbdComponent = class KbdComponent {
14694
+ class = input(...ngDevMode ? [void 0, { debugName: "class" }] : /* istanbul ignore next */ []);
14695
+ size = input("sm", ...ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []);
14696
+ variants = computed(() => cn(kbdVariants({
14697
+ size: this.size(),
14698
+ class: this.class()
14699
+ })), ...ngDevMode ? [{ debugName: "variants" }] : /* istanbul ignore next */ []);
14700
+ static ɵfac = i0.ɵɵngDeclareFactory({
14701
+ minVersion: "12.0.0",
14702
+ version: "22.2.1",
14703
+ ngImport: i0,
14704
+ type: KbdComponent,
14705
+ deps: [],
14706
+ target: i0.ɵɵFactoryTarget.Directive
14707
+ });
14708
+ static ɵdir = i0.ɵɵngDeclareDirective({
14709
+ minVersion: "17.1.0",
14710
+ version: "22.2.1",
14711
+ type: KbdComponent,
14712
+ isStandalone: true,
14713
+ selector: "kbd, Kbd",
14714
+ inputs: {
14715
+ class: {
14716
+ classPropertyName: "class",
14717
+ publicName: "class",
14718
+ isSignal: true,
14719
+ isRequired: false,
14720
+ transformFunction: null
14721
+ },
14722
+ size: {
14723
+ classPropertyName: "size",
14724
+ publicName: "size",
14725
+ isSignal: true,
14726
+ isRequired: false,
14727
+ transformFunction: null
14728
+ }
14729
+ },
14730
+ host: { properties: { "class": "variants()" } },
14731
+ ngImport: i0
14732
+ });
14733
+ };
14734
+ i0.ɵɵngDeclareClassMetadata({
14735
+ minVersion: "12.0.0",
14736
+ version: "22.2.1",
14737
+ ngImport: i0,
14738
+ type: KbdComponent,
14739
+ decorators: [{
14740
+ type: Directive,
14741
+ args: [{
14742
+ selector: "kbd, Kbd",
14743
+ standalone: true,
14744
+ host: { "[class]": "variants()" }
14745
+ }]
14746
+ }],
14747
+ propDecorators: {
14748
+ class: [{
14749
+ type: i0.Input,
14750
+ args: [{
14751
+ isSignal: true,
14752
+ alias: "class",
14753
+ required: false
14754
+ }]
14755
+ }],
14756
+ size: [{
14757
+ type: i0.Input,
14758
+ args: [{
14759
+ isSignal: true,
14760
+ alias: "size",
14761
+ required: false
14762
+ }]
14763
+ }]
14764
+ }
14765
+ });
14766
+ var KbdGroupComponent = class KbdGroupComponent {
14767
+ static ɵfac = i0.ɵɵngDeclareFactory({
14768
+ minVersion: "12.0.0",
14769
+ version: "22.2.1",
14770
+ ngImport: i0,
14771
+ type: KbdGroupComponent,
14772
+ deps: [],
14773
+ target: i0.ɵɵFactoryTarget.Directive
14774
+ });
14775
+ static ɵdir = i0.ɵɵngDeclareDirective({
14776
+ minVersion: "14.0.0",
14777
+ version: "22.2.1",
14778
+ type: KbdGroupComponent,
14779
+ isStandalone: true,
14780
+ selector: "kbd-group, kbdgroup, KbdGroup",
14781
+ host: {
14782
+ attributes: { "role": "group" },
14783
+ classAttribute: "inline-flex items-center gap-(--spacing-4xs)"
14784
+ },
14785
+ ngImport: i0
14786
+ });
14787
+ };
14788
+ i0.ɵɵngDeclareClassMetadata({
14789
+ minVersion: "12.0.0",
14790
+ version: "22.2.1",
14791
+ ngImport: i0,
14792
+ type: KbdGroupComponent,
14793
+ decorators: [{
14794
+ type: Directive,
14795
+ args: [{
14796
+ selector: "kbd-group, kbdgroup, KbdGroup",
14797
+ standalone: true,
14798
+ host: {
14799
+ role: "group",
14800
+ class: "inline-flex items-center gap-(--spacing-4xs)"
14801
+ }
14802
+ }]
14803
+ }]
14804
+ });
14573
14805
  const LIST_ITEM_LEFT_CLASS = "list-item-left";
14574
14806
  const LIST_ITEM_TEXT_BLOCK_CLASS = "list-item-text-block";
14575
14807
  const LIST_ITEM_TEXT_CLASS = "list-item-text";
@@ -14579,12 +14811,13 @@ const LIST_ITEM_EXPANDER_CLASS = "list-item-expander";
14579
14811
  const LIST_ITEM_EXPANDER_BUTTON_CLASS = "list-item-expander-btn";
14580
14812
  const LIST_ITEM_AVATAR_CLASS = "list-item-avatar";
14581
14813
  const LIST_ITEM_ICON_RIGHT_CLASS = "list-item-icon-right";
14814
+ const LIST_ITEM_ACTION_HINT_CLASS = "list-item-action-hint";
14582
14815
  const LIST_ITEM_CHEVRON_RIGHT_CLASS = "list-item-chevron-right";
14583
14816
  function getListDepthStyle(depth = 0) {
14584
14817
  return depth > 0 ? { paddingLeft: `calc(var(--spacing-2xs) + ${depth} * 20px)` } : void 0;
14585
14818
  }
14586
14819
  const listItemVariants = cva([
14587
- "box-border flex w-full items-center gap-(--spacing-2xs)",
14820
+ "relative box-border flex w-full items-center gap-(--spacing-2xs)",
14588
14821
  "rounded-(--radius-sm) px-(--spacing-2xs) py-(--spacing-3xs)",
14589
14822
  "bg-transparent",
14590
14823
  "transition-[background-color] duration-100 ease-out motion-reduce:transition-none",
@@ -14607,6 +14840,13 @@ const listItemVariants = cva([
14607
14840
  "[&_.list-item-expander-btn:hover:not(:disabled)]:bg-(--bg-primary-light) [&_.list-item-expander-btn:hover:not(:disabled)]:text-(--font-neutral-black)",
14608
14841
  "[&_.list-item-avatar]:inline-flex [&_.list-item-avatar]:h-6 [&_.list-item-avatar]:w-6 [&_.list-item-avatar]:shrink-0 [&_.list-item-avatar]:items-center [&_.list-item-avatar]:justify-center [&_.list-item-avatar]:overflow-hidden [&_.list-item-avatar]:rounded-full [&_.list-item-avatar]:bg-(--bg-primary-lightest) [&_.list-item-avatar]:text-(length:--size-sm) [&_.list-item-avatar]:font-bold [&_.list-item-avatar]:text-(--font-primary-base)",
14609
14842
  "[&_.list-item-icon-right]:inline-flex [&_.list-item-icon-right]:shrink-0 [&_.list-item-icon-right]:cursor-pointer [&_.list-item-icon-right]:items-center [&_.list-item-icon-right]:justify-center [&_.list-item-icon-right]:rounded-(--radius-xs) [&_.list-item-icon-right]:border-0 [&_.list-item-icon-right]:bg-transparent [&_.list-item-icon-right]:p-0.5 [&_.list-item-icon-right]:text-(length:--icon-xs) [&_.list-item-icon-right]:leading-none [&_.list-item-icon-right]:text-(--font-primary-muted) [&_.list-item-icon-right]:opacity-0",
14843
+ "[&_.list-item-action-hint]:hidden [&_.list-item-action-hint]:items-center [&_.list-item-action-hint]:gap-(--spacing-2xs) [&_.list-item-action-hint]:ps-(--spacing-xs) [&_.list-item-action-hint]:pb-(--spacing-3xs) [&_.list-item-action-hint]:text-(length:--size-sm) [&_.list-item-action-hint]:leading-(--line-height-2) [&_.list-item-action-hint]:text-(--font-neutral-base) focus-visible:[&_.list-item-action-hint]:flex",
14844
+ "has-[.list-item-action-hint]:focus-visible:grid has-[.list-item-action-hint]:focus-visible:h-auto has-[.list-item-action-hint]:focus-visible:grid-flow-col has-[.list-item-action-hint]:focus-visible:grid-cols-[minmax(0,1fr)] has-[.list-item-action-hint]:focus-visible:grid-rows-[auto_auto] has-[.list-item-action-hint]:focus-visible:gap-y-0",
14845
+ "has-[.list-item-action-hint]:focus-visible:[&>*]:row-span-2 has-[.list-item-action-hint]:focus-visible:[&>*]:row-start-1 has-[.list-item-action-hint]:focus-visible:[&>*]:self-center",
14846
+ "has-[.list-item-action-hint]:focus-visible:[&>.list-item-left]:col-start-1 has-[.list-item-action-hint]:focus-visible:[&>.list-item-left]:row-span-1",
14847
+ "has-[.list-item-action-hint]:focus-visible:[&_.list-item-icon-right]:row-span-2 has-[.list-item-action-hint]:focus-visible:[&_.list-item-icon-right]:row-start-1 has-[.list-item-action-hint]:focus-visible:[&_.list-item-icon-right]:self-center",
14848
+ "has-[.list-item-action-hint]:focus-visible:[&_.list-item-action-hint]:col-start-1 has-[.list-item-action-hint]:focus-visible:[&_.list-item-action-hint]:row-span-1 has-[.list-item-action-hint]:focus-visible:[&_.list-item-action-hint]:row-start-2 has-[.list-item-action-hint]:focus-visible:[&_.list-item-action-hint]:self-start",
14849
+ "focus-visible:[&_.list-item-icon-right]:text-(--font-error-base)",
14610
14850
  "hover:[&_.list-item-icon-right]:opacity-100 focus-visible:[&_.list-item-icon-right]:opacity-100 active:[&_.list-item-icon-right]:opacity-100 aria-selected:[&_.list-item-icon-right]:opacity-100",
14611
14851
  "[&_.list-item-icon-right:hover]:bg-(--bg-error-lightest) [&_.list-item-icon-right:hover]:text-(--font-error-base)",
14612
14852
  "[&_.list-item-chevron-right]:inline-flex [&_.list-item-chevron-right]:shrink-0 [&_.list-item-chevron-right]:items-center [&_.list-item-chevron-right]:justify-center [&_.list-item-chevron-right]:text-(length:--icon-sm) [&_.list-item-chevron-right]:text-(--font-secondary-base-alt) [&_.list-item-chevron-right]:transition-transform [&_.list-item-chevron-right]:duration-150 [&_.list-item-chevron-right]:ease-out",
@@ -14619,8 +14859,8 @@ const listItemVariants = cva([
14619
14859
  "list-menu": "m-0 h-[var(--row-height-sm)] cursor-pointer appearance-none gap-0 border-0 bg-transparent text-left font-[family-name:var(--family-base,'Hanken_Grotesk'),sans-serif]"
14620
14860
  },
14621
14861
  size: {
14622
- small: "h-[var(--row-height-sm)]",
14623
- medium: "h-[var(--row-height-md)]"
14862
+ small: "h-[var(--row-height-sm)] has-[.list-item-action-hint]:focus-visible:min-h-[var(--row-height-sm)]",
14863
+ medium: "h-[var(--row-height-md)] has-[.list-item-action-hint]:focus-visible:min-h-[var(--row-height-md)]"
14624
14864
  },
14625
14865
  selected: {
14626
14866
  true: "bg-(--bg-primary-lighter)",
@@ -14642,6 +14882,12 @@ const listItemVariants = cva([
14642
14882
  selected: false
14643
14883
  }
14644
14884
  });
14885
+ let nextActionDescriptionId = 0;
14886
+ const KEY_NAMES = {
14887
+ Delete: "Del",
14888
+ Backspace: "⌫",
14889
+ Escape: "Esc"
14890
+ };
14645
14891
  var ListItemComponent = class ListItemComponent {
14646
14892
  class = input(...ngDevMode ? [void 0, { debugName: "class" }] : /* istanbul ignore next */ []);
14647
14893
  variant = input(...ngDevMode ? [void 0, { debugName: "variant" }] : /* istanbul ignore next */ []);
@@ -14659,16 +14905,22 @@ var ListItemComponent = class ListItemComponent {
14659
14905
  class: this.class()
14660
14906
  })), ...ngDevMode ? [{ debugName: "variants" }] : /* istanbul ignore next */ []);
14661
14907
  paddingLeft = computed(() => getListDepthStyle(this.depth())?.paddingLeft ?? null, ...ngDevMode ? [{ debugName: "paddingLeft" }] : /* istanbul ignore next */ []);
14662
- host = inject(ElementRef);
14663
- hasAction = computed(() => !!this.action(), ...ngDevMode ? [{ debugName: "hasAction" }] : /* istanbul ignore next */ []);
14908
+ hasAction = computed(() => {
14909
+ const action = this.action();
14910
+ return !!action && !action.disabled();
14911
+ }, ...ngDevMode ? [{ debugName: "hasAction" }] : /* istanbul ignore next */ []);
14664
14912
  action = contentChild(ListItemActionComponent, ...ngDevMode ? [{ debugName: "action" }] : /* istanbul ignore next */ []);
14913
+ keyShortcuts = computed(() => this.hasAction() ? this.action().keys().join(" ") : null, ...ngDevMode ? [{ debugName: "keyShortcuts" }] : /* istanbul ignore next */ []);
14914
+ actionDescriptionId = computed(() => {
14915
+ const action = this.action();
14916
+ return this.hasAction() && action?.description() ? action.descriptionId : null;
14917
+ }, ...ngDevMode ? [{ debugName: "actionDescriptionId" }] : /* istanbul ignore next */ []);
14665
14918
  onKeydown(event) {
14666
- if (event.key !== "Delete" || !this.hasAction()) return;
14667
- const action = this.host.nativeElement.querySelector(`.${LIST_ITEM_ICON_RIGHT_CLASS}`);
14668
- if (!action || action.dataset["disabled"]) return;
14919
+ const action = this.action();
14920
+ if (!action || action.disabled() || !action.keys().includes(event.key)) return;
14669
14921
  event.preventDefault();
14670
14922
  event.stopPropagation();
14671
- action.click();
14923
+ action.trigger();
14672
14924
  }
14673
14925
  static ɵfac = i0.ɵɵngDeclareFactory({
14674
14926
  minVersion: "12.0.0",
@@ -14719,7 +14971,8 @@ var ListItemComponent = class ListItemComponent {
14719
14971
  properties: {
14720
14972
  "class": "variants()",
14721
14973
  "style.padding-left": "paddingLeft()",
14722
- "attr.aria-keyshortcuts": "hasAction() ? 'Delete' : null"
14974
+ "attr.aria-keyshortcuts": "keyShortcuts()",
14975
+ "attr.aria-describedby": "actionDescriptionId()"
14723
14976
  }
14724
14977
  },
14725
14978
  queries: [{
@@ -14766,7 +15019,8 @@ i0.ɵɵngDeclareClassMetadata({
14766
15019
  host: {
14767
15020
  "[class]": "variants()",
14768
15021
  "[style.padding-left]": "paddingLeft()",
14769
- "[attr.aria-keyshortcuts]": "hasAction() ? 'Delete' : null",
15022
+ "[attr.aria-keyshortcuts]": "keyShortcuts()",
15023
+ "[attr.aria-describedby]": "actionDescriptionId()",
14770
15024
  "(keydown)": "onKeydown($event)"
14771
15025
  }
14772
15026
  }]
@@ -15055,7 +15309,35 @@ var ListItemActionComponent = class ListItemActionComponent {
15055
15309
  ...ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {},
15056
15310
  transform: booleanAttribute
15057
15311
  });
15312
+ keys = input(["Delete"], ...ngDevMode ? [{ debugName: "keys" }] : /* istanbul ignore next */ []);
15313
+ shortcut = input(...ngDevMode ? [void 0, { debugName: "shortcut" }] : /* istanbul ignore next */ []);
15314
+ description = input(...ngDevMode ? [void 0, { debugName: "description" }] : /* istanbul ignore next */ []);
15315
+ descriptionId = `list-item-action-description-${nextActionDescriptionId++}`;
15316
+ keyName = computed(() => {
15317
+ const key = this.keys()[0] ?? "";
15318
+ return this.shortcut() ?? KEY_NAMES[key] ?? key;
15319
+ }, ...ngDevMode ? [{ debugName: "keyName" }] : /* istanbul ignore next */ []);
15320
+ trigger$ = viewChild("trigger", ...ngDevMode ? [{ debugName: "trigger$" }] : /* istanbul ignore next */ []);
15321
+ trigger() {
15322
+ if (this.disabled()) return;
15323
+ this.trigger$()?.nativeElement.click();
15324
+ }
15325
+ hint = computed(() => {
15326
+ const text = this.description() ?? "";
15327
+ const key = this.keyName();
15328
+ const at = text.indexOf(key);
15329
+ return at < 0 ? {
15330
+ before: text,
15331
+ after: "",
15332
+ withKey: false
15333
+ } : {
15334
+ before: text.slice(0, at),
15335
+ after: text.slice(at + key.length),
15336
+ withKey: true
15337
+ };
15338
+ }, ...ngDevMode ? [{ debugName: "hint" }] : /* istanbul ignore next */ []);
15058
15339
  btnClass = LIST_ITEM_ICON_RIGHT_CLASS;
15340
+ hintClass = LIST_ITEM_ACTION_HINT_CLASS;
15059
15341
  static ɵfac = i0.ɵɵngDeclareFactory({
15060
15342
  minVersion: "12.0.0",
15061
15343
  version: "22.2.1",
@@ -15065,7 +15347,7 @@ var ListItemActionComponent = class ListItemActionComponent {
15065
15347
  target: i0.ɵɵFactoryTarget.Component
15066
15348
  });
15067
15349
  static ɵcmp = i0.ɵɵngDeclareComponent({
15068
- minVersion: "17.1.0",
15350
+ minVersion: "17.0.0",
15069
15351
  version: "22.2.1",
15070
15352
  type: ListItemActionComponent,
15071
15353
  isStandalone: true,
@@ -15084,13 +15366,47 @@ var ListItemActionComponent = class ListItemActionComponent {
15084
15366
  isSignal: true,
15085
15367
  isRequired: false,
15086
15368
  transformFunction: null
15369
+ },
15370
+ keys: {
15371
+ classPropertyName: "keys",
15372
+ publicName: "keys",
15373
+ isSignal: true,
15374
+ isRequired: false,
15375
+ transformFunction: null
15376
+ },
15377
+ shortcut: {
15378
+ classPropertyName: "shortcut",
15379
+ publicName: "shortcut",
15380
+ isSignal: true,
15381
+ isRequired: false,
15382
+ transformFunction: null
15383
+ },
15384
+ description: {
15385
+ classPropertyName: "description",
15386
+ publicName: "description",
15387
+ isSignal: true,
15388
+ isRequired: false,
15389
+ transformFunction: null
15087
15390
  }
15088
15391
  },
15089
15392
  host: { classAttribute: "contents" },
15393
+ viewQueries: [{
15394
+ propertyName: "trigger$",
15395
+ first: true,
15396
+ predicate: ["trigger"],
15397
+ descendants: true,
15398
+ isSignal: true
15399
+ }],
15090
15400
  exportAs: ["listItemAction"],
15091
15401
  ngImport: i0,
15092
15402
  template: `
15403
+ <!-- Texte masqué relié à la ligne par aria-describedby. aria-hidden : il ne doit pas entrer dans le
15404
+ nom de l'option (calculé depuis son contenu), une référence aria-describedby le lit quand même. -->
15405
+ @if (description() && !disabled()) {
15406
+ <span [id]="descriptionId" class="sr-only" aria-hidden="true">{{ description() }}</span>
15407
+ }
15093
15408
  <span
15409
+ #trigger
15094
15410
  [class]="btnClass"
15095
15411
  aria-hidden="true"
15096
15412
  [class.pointer-events-none]="disabled()"
@@ -15099,8 +15415,27 @@ var ListItemActionComponent = class ListItemActionComponent {
15099
15415
  [attr.data-disabled]="disabled() || null">
15100
15416
  <ng-content />
15101
15417
  </span>
15418
+ <!-- Seconde ligne de la ligne, visible au focus clavier seulement (voir le CVA). Enfant direct de la
15419
+ ligne, l'hôte de ce composant étant en display: contents. -->
15420
+ @if (description() && !disabled()) {
15421
+ <span [class]="hintClass" aria-hidden="true">
15422
+ <span>
15423
+ {{ hint().before }}
15424
+ @if (hint().withKey) {
15425
+ <kbd>{{ keyName() }}</kbd>
15426
+ }
15427
+ {{ hint().after }}
15428
+ </span>
15429
+ </span>
15430
+ }
15102
15431
  `,
15103
15432
  isInline: true,
15433
+ dependencies: [{
15434
+ kind: "directive",
15435
+ type: KbdComponent,
15436
+ selector: "kbd, Kbd",
15437
+ inputs: ["class", "size"]
15438
+ }],
15104
15439
  changeDetection: i0.ChangeDetectionStrategy.OnPush
15105
15440
  });
15106
15441
  };
@@ -15116,8 +15451,15 @@ i0.ɵɵngDeclareClassMetadata({
15116
15451
  exportAs: "listItemAction",
15117
15452
  standalone: true,
15118
15453
  changeDetection: ChangeDetectionStrategy.OnPush,
15454
+ imports: [KbdComponent],
15119
15455
  template: `
15456
+ <!-- Texte masqué relié à la ligne par aria-describedby. aria-hidden : il ne doit pas entrer dans le
15457
+ nom de l'option (calculé depuis son contenu), une référence aria-describedby le lit quand même. -->
15458
+ @if (description() && !disabled()) {
15459
+ <span [id]="descriptionId" class="sr-only" aria-hidden="true">{{ description() }}</span>
15460
+ }
15120
15461
  <span
15462
+ #trigger
15121
15463
  [class]="btnClass"
15122
15464
  aria-hidden="true"
15123
15465
  [class.pointer-events-none]="disabled()"
@@ -15126,6 +15468,19 @@ i0.ɵɵngDeclareClassMetadata({
15126
15468
  [attr.data-disabled]="disabled() || null">
15127
15469
  <ng-content />
15128
15470
  </span>
15471
+ <!-- Seconde ligne de la ligne, visible au focus clavier seulement (voir le CVA). Enfant direct de la
15472
+ ligne, l'hôte de ce composant étant en display: contents. -->
15473
+ @if (description() && !disabled()) {
15474
+ <span [class]="hintClass" aria-hidden="true">
15475
+ <span>
15476
+ {{ hint().before }}
15477
+ @if (hint().withKey) {
15478
+ <kbd>{{ keyName() }}</kbd>
15479
+ }
15480
+ {{ hint().after }}
15481
+ </span>
15482
+ </span>
15483
+ }
15129
15484
  `,
15130
15485
  host: { class: "contents" }
15131
15486
  }]
@@ -15146,6 +15501,34 @@ i0.ɵɵngDeclareClassMetadata({
15146
15501
  alias: "disabled",
15147
15502
  required: false
15148
15503
  }]
15504
+ }],
15505
+ keys: [{
15506
+ type: i0.Input,
15507
+ args: [{
15508
+ isSignal: true,
15509
+ alias: "keys",
15510
+ required: false
15511
+ }]
15512
+ }],
15513
+ shortcut: [{
15514
+ type: i0.Input,
15515
+ args: [{
15516
+ isSignal: true,
15517
+ alias: "shortcut",
15518
+ required: false
15519
+ }]
15520
+ }],
15521
+ description: [{
15522
+ type: i0.Input,
15523
+ args: [{
15524
+ isSignal: true,
15525
+ alias: "description",
15526
+ required: false
15527
+ }]
15528
+ }],
15529
+ trigger$: [{
15530
+ type: i0.ViewChild,
15531
+ args: ["trigger", { isSignal: true }]
15149
15532
  }]
15150
15533
  }
15151
15534
  });
@@ -18399,131 +18782,6 @@ i0.ɵɵngDeclareClassMetadata({
18399
18782
  }]
18400
18783
  }
18401
18784
  });
18402
- const kbdVariants = cva([
18403
- "pointer-events-none inline-flex w-fit items-center justify-center gap-(--spacing-4xs) select-none",
18404
- "border border-solid border-(--stroke-neutral-disabled) bg-(--bg-neutral-base) text-(--font-neutral-base)",
18405
- "font-[family-name:var(--family-base,'Hanken_Grotesk'),sans-serif] font-medium",
18406
- "[&_svg:not([class*='size-'])]:size-3"
18407
- ], {
18408
- variants: { size: {
18409
- xs: "h-4 min-w-4 rounded-(--radius-xs) px-(--spacing-4xs) text-(length:--size-xs) leading-(--line-height-xs)",
18410
- sm: "h-5 min-w-5 rounded-(--radius-xs) px-(--spacing-4xs) text-(length:--size-sm) leading-(--line-height-sm)",
18411
- md: "h-6 min-w-6 rounded-(--radius-sm) px-(--spacing-3xs) text-(length:--size-base) leading-(--line-height-base)"
18412
- } },
18413
- defaultVariants: { size: "sm" }
18414
- });
18415
- var KbdComponent = class KbdComponent {
18416
- class = input(...ngDevMode ? [void 0, { debugName: "class" }] : /* istanbul ignore next */ []);
18417
- size = input("sm", ...ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []);
18418
- variants = computed(() => cn(kbdVariants({
18419
- size: this.size(),
18420
- class: this.class()
18421
- })), ...ngDevMode ? [{ debugName: "variants" }] : /* istanbul ignore next */ []);
18422
- static ɵfac = i0.ɵɵngDeclareFactory({
18423
- minVersion: "12.0.0",
18424
- version: "22.2.1",
18425
- ngImport: i0,
18426
- type: KbdComponent,
18427
- deps: [],
18428
- target: i0.ɵɵFactoryTarget.Directive
18429
- });
18430
- static ɵdir = i0.ɵɵngDeclareDirective({
18431
- minVersion: "17.1.0",
18432
- version: "22.2.1",
18433
- type: KbdComponent,
18434
- isStandalone: true,
18435
- selector: "kbd, Kbd",
18436
- inputs: {
18437
- class: {
18438
- classPropertyName: "class",
18439
- publicName: "class",
18440
- isSignal: true,
18441
- isRequired: false,
18442
- transformFunction: null
18443
- },
18444
- size: {
18445
- classPropertyName: "size",
18446
- publicName: "size",
18447
- isSignal: true,
18448
- isRequired: false,
18449
- transformFunction: null
18450
- }
18451
- },
18452
- host: { properties: { "class": "variants()" } },
18453
- ngImport: i0
18454
- });
18455
- };
18456
- i0.ɵɵngDeclareClassMetadata({
18457
- minVersion: "12.0.0",
18458
- version: "22.2.1",
18459
- ngImport: i0,
18460
- type: KbdComponent,
18461
- decorators: [{
18462
- type: Directive,
18463
- args: [{
18464
- selector: "kbd, Kbd",
18465
- standalone: true,
18466
- host: { "[class]": "variants()" }
18467
- }]
18468
- }],
18469
- propDecorators: {
18470
- class: [{
18471
- type: i0.Input,
18472
- args: [{
18473
- isSignal: true,
18474
- alias: "class",
18475
- required: false
18476
- }]
18477
- }],
18478
- size: [{
18479
- type: i0.Input,
18480
- args: [{
18481
- isSignal: true,
18482
- alias: "size",
18483
- required: false
18484
- }]
18485
- }]
18486
- }
18487
- });
18488
- var KbdGroupComponent = class KbdGroupComponent {
18489
- static ɵfac = i0.ɵɵngDeclareFactory({
18490
- minVersion: "12.0.0",
18491
- version: "22.2.1",
18492
- ngImport: i0,
18493
- type: KbdGroupComponent,
18494
- deps: [],
18495
- target: i0.ɵɵFactoryTarget.Directive
18496
- });
18497
- static ɵdir = i0.ɵɵngDeclareDirective({
18498
- minVersion: "14.0.0",
18499
- version: "22.2.1",
18500
- type: KbdGroupComponent,
18501
- isStandalone: true,
18502
- selector: "kbd-group, kbdgroup, KbdGroup",
18503
- host: {
18504
- attributes: { "role": "group" },
18505
- classAttribute: "inline-flex items-center gap-(--spacing-4xs)"
18506
- },
18507
- ngImport: i0
18508
- });
18509
- };
18510
- i0.ɵɵngDeclareClassMetadata({
18511
- minVersion: "12.0.0",
18512
- version: "22.2.1",
18513
- ngImport: i0,
18514
- type: KbdGroupComponent,
18515
- decorators: [{
18516
- type: Directive,
18517
- args: [{
18518
- selector: "kbd-group, kbdgroup, KbdGroup",
18519
- standalone: true,
18520
- host: {
18521
- role: "group",
18522
- class: "inline-flex items-center gap-(--spacing-4xs)"
18523
- }
18524
- }]
18525
- }]
18526
- });
18527
18785
  const avatarVariants = cva([
18528
18786
  "inline-flex shrink-0 items-center justify-center overflow-hidden",
18529
18787
  "rounded-(--radius-rounded)",
@@ -20484,7 +20742,8 @@ const CONTROL_ATTRIBUTES = `
20484
20742
  [disabled]="disabled()"
20485
20743
  [placeholder]="placeholder()"
20486
20744
  [attr.aria-label]="ariaLabel()"
20487
- [attr.aria-keyshortcuts]="hotkey()"`;
20745
+ [attr.aria-keyshortcuts]="hotkey()"
20746
+ (search)="$event.stopPropagation()"`;
20488
20747
  const AFTER_CONTROL = `
20489
20748
  <button
20490
20749
  variant="tertiary"
@@ -20564,6 +20823,11 @@ var SearchBarBase = class SearchBarBase {
20564
20823
  e.stopImmediatePropagation();
20565
20824
  this.search.emit(this.value());
20566
20825
  }
20826
+ emitSearchOnEnter(e) {
20827
+ const { isComposing, keyCode } = e;
20828
+ if (isComposing || keyCode === 229 || this.disabled()) return;
20829
+ this.search.emit(this.value());
20830
+ }
20567
20831
  static ɵfac = i0.ɵɵngDeclareFactory({
20568
20832
  minVersion: "12.0.0",
20569
20833
  version: "22.2.1",
@@ -20769,7 +21033,7 @@ var SearchBarComponent = class SearchBarComponent extends SearchBarBase {
20769
21033
  selector: "SearchBar:not([suggestions]), search-bar:not([suggestions]), searchbar:not([suggestions])",
20770
21034
  usesInheritance: true,
20771
21035
  ngImport: i0,
20772
- template: "\n <span class=\"sb-icon\">\n <SearchIcon [class]=\"searchIconClass()\" />\n </span>\n <input \n class=\"sb-input\"\n [class]=\"searchNativeReset\"\n #search\n type=\"search\"\n spellcheck=\"false\"\n autocapitalize=\"off\"\n autocomplete=\"off\"\n autocorrect=\"off\"\n [disabled]=\"disabled()\"\n [placeholder]=\"placeholder()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-keyshortcuts]=\"hotkey()\"\n [value]=\"value()\"\n (input)=\"value.set($any($event.target).value)\" />\n <button\n variant=\"tertiary\"\n scheme=\"neutral\"\n [iconOnly]=\"true\"\n [size]=\"buttonSize()\"\n type=\"button\"\n [disabled]=\"disabled()\"\n [class]=\"value()\n ? 'rotate-90 opacity-100 transition-[rotate,opacity] duration-500'\n : 'rotate-0 opacity-0 pointer-events-none transition-[rotate,opacity] duration-500'\"\n [tabindex]=\"value() && !disabled() ? 0 : -1\"\n [attr.aria-label]=\"clearLabel()\"\n [tooltip]=\"clearLabel()\"\n (keydown.enter)=\"clearSearch($event)\"\n (click)=\"clearSearch($event)\">\n <XMarkIcon [class]=\"iconClass()\" aria-hidden=\"true\" />\n <span class=\"sr-only\">{{ clearLabel() }}</span>\n </button>\n <!-- Actions applicatives (favori, filtre rapide…) : le slot par défaut est ici, entre « clear »\n et « send », parce que c'est la place naturelle d'une action liée à la requête. Ce qui doit\n rester APRÈS le bouton d'envoi porte slot=\"trailing\" (voir plus bas). -->\n <ng-content />\n <button\n variant=\"tertiary\"\n scheme=\"neutral\"\n [iconOnly]=\"true\"\n [size]=\"buttonSize()\"\n type=\"button\"\n [disabled]=\"disabled()\"\n [class]=\"value()\n ? 'opacity-100 transition-opacity duration-300'\n : 'opacity-0 pointer-events-none transition-opacity duration-300'\"\n [tabindex]=\"value() && !disabled() ? 0 : -1\"\n [attr.aria-label]=\"sendLabel()\"\n [tooltip]=\"sendLabel()\"\n (keydown.enter)=\"emitSearch($event)\"\n (click)=\"emitSearch($event)\">\n <SendHorizontalIcon [class]=\"iconClass()\" aria-hidden=\"true\" />\n <span class=\"sr-only\">{{ sendLabel() }}</span>\n </button>\n <!-- Zone de fin de pilule, après le bouton d'envoi (CTA du type « Ask AI »…).\n ⚠️ Le contenu d'un bloc @if ne peut pas atteindre ce slot : la projection ne teste que les\n enfants directs de l'hôte, et le nœud d'un @if ne porte aucun attribut — il retombe donc\n dans le slot par défaut. Envelopper alors le bloc dans un <ng-container slot=\"trailing\">. -->\n <ng-content select=\"[slot='trailing']\" />\n",
21036
+ template: "\n <span class=\"sb-icon\">\n <SearchIcon [class]=\"searchIconClass()\" />\n </span>\n <input \n class=\"sb-input\"\n [class]=\"searchNativeReset\"\n #search\n type=\"search\"\n spellcheck=\"false\"\n autocapitalize=\"off\"\n autocomplete=\"off\"\n autocorrect=\"off\"\n [disabled]=\"disabled()\"\n [placeholder]=\"placeholder()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-keyshortcuts]=\"hotkey()\"\n (search)=\"$event.stopPropagation()\"\n [value]=\"value()\"\n (input)=\"value.set($any($event.target).value)\"\n (keydown.enter)=\"emitSearchOnEnter($event)\" />\n <button\n variant=\"tertiary\"\n scheme=\"neutral\"\n [iconOnly]=\"true\"\n [size]=\"buttonSize()\"\n type=\"button\"\n [disabled]=\"disabled()\"\n [class]=\"value()\n ? 'rotate-90 opacity-100 transition-[rotate,opacity] duration-500'\n : 'rotate-0 opacity-0 pointer-events-none transition-[rotate,opacity] duration-500'\"\n [tabindex]=\"value() && !disabled() ? 0 : -1\"\n [attr.aria-label]=\"clearLabel()\"\n [tooltip]=\"clearLabel()\"\n (keydown.enter)=\"clearSearch($event)\"\n (click)=\"clearSearch($event)\">\n <XMarkIcon [class]=\"iconClass()\" aria-hidden=\"true\" />\n <span class=\"sr-only\">{{ clearLabel() }}</span>\n </button>\n <!-- Actions applicatives (favori, filtre rapide…) : le slot par défaut est ici, entre « clear »\n et « send », parce que c'est la place naturelle d'une action liée à la requête. Ce qui doit\n rester APRÈS le bouton d'envoi porte slot=\"trailing\" (voir plus bas). -->\n <ng-content />\n <button\n variant=\"tertiary\"\n scheme=\"neutral\"\n [iconOnly]=\"true\"\n [size]=\"buttonSize()\"\n type=\"button\"\n [disabled]=\"disabled()\"\n [class]=\"value()\n ? 'opacity-100 transition-opacity duration-300'\n : 'opacity-0 pointer-events-none transition-opacity duration-300'\"\n [tabindex]=\"value() && !disabled() ? 0 : -1\"\n [attr.aria-label]=\"sendLabel()\"\n [tooltip]=\"sendLabel()\"\n (keydown.enter)=\"emitSearch($event)\"\n (click)=\"emitSearch($event)\">\n <SendHorizontalIcon [class]=\"iconClass()\" aria-hidden=\"true\" />\n <span class=\"sr-only\">{{ sendLabel() }}</span>\n </button>\n <!-- Zone de fin de pilule, après le bouton d'envoi (CTA du type « Ask AI »…).\n ⚠️ Le contenu d'un bloc @if ne peut pas atteindre ce slot : la projection ne teste que les\n enfants directs de l'hôte, et le nœud d'un @if ne porte aucun attribut — il retombe donc\n dans le slot par défaut. Envelopper alors le bloc dans un <ng-container slot=\"trailing\">. -->\n <ng-content select=\"[slot='trailing']\" />\n",
20773
21037
  isInline: true,
20774
21038
  dependencies: [
20775
21039
  {
@@ -20845,7 +21109,8 @@ i0.ɵɵngDeclareClassMetadata({
20845
21109
  template: `${BEFORE_CONTROL}
20846
21110
  <input ${CONTROL_ATTRIBUTES}
20847
21111
  [value]="value()"
20848
- (input)="value.set($any($event.target).value)" />${AFTER_CONTROL}`
21112
+ (input)="value.set($any($event.target).value)"
21113
+ (keydown.enter)="emitSearchOnEnter($event)" />${AFTER_CONTROL}`
20849
21114
  }]
20850
21115
  }]
20851
21116
  });
@@ -20874,7 +21139,7 @@ var SearchBarSuggestionsComponent = class SearchBarSuggestionsComponent extends
20874
21139
  }],
20875
21140
  usesInheritance: true,
20876
21141
  ngImport: i0,
20877
- template: "\n <span class=\"sb-icon\">\n <SearchIcon [class]=\"searchIconClass()\" />\n </span>\n <input\n ngCombobox \n class=\"sb-input\"\n [class]=\"searchNativeReset\"\n #search\n type=\"search\"\n spellcheck=\"false\"\n autocapitalize=\"off\"\n autocomplete=\"off\"\n autocorrect=\"off\"\n [disabled]=\"disabled()\"\n [placeholder]=\"placeholder()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-keyshortcuts]=\"hotkey()\"\n [(value)]=\"value\" />\n <button\n variant=\"tertiary\"\n scheme=\"neutral\"\n [iconOnly]=\"true\"\n [size]=\"buttonSize()\"\n type=\"button\"\n [disabled]=\"disabled()\"\n [class]=\"value()\n ? 'rotate-90 opacity-100 transition-[rotate,opacity] duration-500'\n : 'rotate-0 opacity-0 pointer-events-none transition-[rotate,opacity] duration-500'\"\n [tabindex]=\"value() && !disabled() ? 0 : -1\"\n [attr.aria-label]=\"clearLabel()\"\n [tooltip]=\"clearLabel()\"\n (keydown.enter)=\"clearSearch($event)\"\n (click)=\"clearSearch($event)\">\n <XMarkIcon [class]=\"iconClass()\" aria-hidden=\"true\" />\n <span class=\"sr-only\">{{ clearLabel() }}</span>\n </button>\n <!-- Actions applicatives (favori, filtre rapide…) : le slot par défaut est ici, entre « clear »\n et « send », parce que c'est la place naturelle d'une action liée à la requête. Ce qui doit\n rester APRÈS le bouton d'envoi porte slot=\"trailing\" (voir plus bas). -->\n <ng-content />\n <button\n variant=\"tertiary\"\n scheme=\"neutral\"\n [iconOnly]=\"true\"\n [size]=\"buttonSize()\"\n type=\"button\"\n [disabled]=\"disabled()\"\n [class]=\"value()\n ? 'opacity-100 transition-opacity duration-300'\n : 'opacity-0 pointer-events-none transition-opacity duration-300'\"\n [tabindex]=\"value() && !disabled() ? 0 : -1\"\n [attr.aria-label]=\"sendLabel()\"\n [tooltip]=\"sendLabel()\"\n (keydown.enter)=\"emitSearch($event)\"\n (click)=\"emitSearch($event)\">\n <SendHorizontalIcon [class]=\"iconClass()\" aria-hidden=\"true\" />\n <span class=\"sr-only\">{{ sendLabel() }}</span>\n </button>\n <!-- Zone de fin de pilule, après le bouton d'envoi (CTA du type « Ask AI »…).\n ⚠️ Le contenu d'un bloc @if ne peut pas atteindre ce slot : la projection ne teste que les\n enfants directs de l'hôte, et le nœud d'un @if ne porte aucun attribut — il retombe donc\n dans le slot par défaut. Envelopper alors le bloc dans un <ng-container slot=\"trailing\">. -->\n <ng-content select=\"[slot='trailing']\" />\n",
21142
+ template: "\n <span class=\"sb-icon\">\n <SearchIcon [class]=\"searchIconClass()\" />\n </span>\n <input\n ngCombobox \n class=\"sb-input\"\n [class]=\"searchNativeReset\"\n #search\n type=\"search\"\n spellcheck=\"false\"\n autocapitalize=\"off\"\n autocomplete=\"off\"\n autocorrect=\"off\"\n [disabled]=\"disabled()\"\n [placeholder]=\"placeholder()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-keyshortcuts]=\"hotkey()\"\n (search)=\"$event.stopPropagation()\"\n [(value)]=\"value\" />\n <button\n variant=\"tertiary\"\n scheme=\"neutral\"\n [iconOnly]=\"true\"\n [size]=\"buttonSize()\"\n type=\"button\"\n [disabled]=\"disabled()\"\n [class]=\"value()\n ? 'rotate-90 opacity-100 transition-[rotate,opacity] duration-500'\n : 'rotate-0 opacity-0 pointer-events-none transition-[rotate,opacity] duration-500'\"\n [tabindex]=\"value() && !disabled() ? 0 : -1\"\n [attr.aria-label]=\"clearLabel()\"\n [tooltip]=\"clearLabel()\"\n (keydown.enter)=\"clearSearch($event)\"\n (click)=\"clearSearch($event)\">\n <XMarkIcon [class]=\"iconClass()\" aria-hidden=\"true\" />\n <span class=\"sr-only\">{{ clearLabel() }}</span>\n </button>\n <!-- Actions applicatives (favori, filtre rapide…) : le slot par défaut est ici, entre « clear »\n et « send », parce que c'est la place naturelle d'une action liée à la requête. Ce qui doit\n rester APRÈS le bouton d'envoi porte slot=\"trailing\" (voir plus bas). -->\n <ng-content />\n <button\n variant=\"tertiary\"\n scheme=\"neutral\"\n [iconOnly]=\"true\"\n [size]=\"buttonSize()\"\n type=\"button\"\n [disabled]=\"disabled()\"\n [class]=\"value()\n ? 'opacity-100 transition-opacity duration-300'\n : 'opacity-0 pointer-events-none transition-opacity duration-300'\"\n [tabindex]=\"value() && !disabled() ? 0 : -1\"\n [attr.aria-label]=\"sendLabel()\"\n [tooltip]=\"sendLabel()\"\n (keydown.enter)=\"emitSearch($event)\"\n (click)=\"emitSearch($event)\">\n <SendHorizontalIcon [class]=\"iconClass()\" aria-hidden=\"true\" />\n <span class=\"sr-only\">{{ sendLabel() }}</span>\n </button>\n <!-- Zone de fin de pilule, après le bouton d'envoi (CTA du type « Ask AI »…).\n ⚠️ Le contenu d'un bloc @if ne peut pas atteindre ce slot : la projection ne teste que les\n enfants directs de l'hôte, et le nœud d'un @if ne porte aucun attribut — il retombe donc\n dans le slot par défaut. Envelopper alors le bloc dans un <ng-container slot=\"trailing\">. -->\n <ng-content select=\"[slot='trailing']\" />\n",
20878
21143
  isInline: true,
20879
21144
  dependencies: [
20880
21145
  {
@@ -24155,6 +24420,6 @@ function normalize(sizes) {
24155
24420
  if (total <= 0) return sizes.map(() => 100 / sizes.length);
24156
24421
  return sizes.map((size) => size / total * 100);
24157
24422
  }
24158
- export { AUTOCOMPLETE_TAGS_CLASS, AUTOCOMPLETE_TRIGGER_CLASS, ArrowDownIcon, ArrowDownIconComponent, ArrowDownZaIcon, ArrowDownZaIconComponent, ArrowLeftIcon, ArrowLeftIconComponent, ArrowRightFromBracketIcon, ArrowRightFromBracketIconComponent, ArrowRightIcon, ArrowRightIconComponent, ArrowUpAzIcon, ArrowUpAzIconComponent, ArrowUpIcon, ArrowUpIconComponent, ArrowUpRightFromSquareIcon, ArrowUpRightFromSquareIconComponent, ArrowsMaximizeIcon, ArrowsMaximizeIconComponent, AutocompleteComponent, AvatarComponent, AvatarFallbackComponent, AvatarImageComponent, AwardIcon, AwardIconComponent, BadgeComponent, BarsIcon, BarsIconComponent, BellIcon, BellIconComponent, BookmarkIcon, BookmarkIconComponent, BreakpointObserverService, BuildingIcon, BuildingIconComponent, BulletComponent, ButtonComponent, CALL_REF, CalendarClockIcon, CalendarClockIconComponent, CalendarDayIcon, CalendarDayIconComponent, CallRef, ChatPlusIcon, ChatPlusIconComponent, CheckIcon, CheckIconComponent, CheckboxComponent, ChevronDownIcon, ChevronDownIconComponent, ChevronLeftIcon, ChevronLeftIconComponent, ChevronRightIcon, ChevronRightIconComponent, ChevronUpIcon, ChevronUpIconComponent, ChevronsLeftIcon, ChevronsLeftIconComponent, ChevronsRightIcon, ChevronsRightIconComponent, CircleCheckIcon, CircleCheckIconComponent, CircleXIcon, CircleXIconComponent, ClipboardIcon, ClipboardIconComponent, ClockIcon, ClockIconComponent, CogIcon, CogIconComponent, CommentIcon, CommentIconComponent, CommentsIcon, CommentsIconComponent, DIALOG_REF, DebugIcon, DebugIconComponent, DesktopIcon, DesktopIconComponent, DialogBodyComponent, DialogComponent, DialogContentComponent, DialogDescriptionComponent, DialogFooterComponent, DialogHeaderComponent, DialogService, DialogTitleComponent, DownloadIcon, DownloadIconComponent, PopoverDirective as DropdownDirective, PopoverDirective, EditIcon, EditIconComponent, EllipsisIcon, EllipsisIconComponent, EllipsisVerticalIcon, EllipsisVerticalIconComponent, EnvelopeIcon, EnvelopeIconComponent, ExternalLinkIcon, ExternalLinkIconComponent, EyeIcon, EyeIconComponent, EyeSlashIcon, EyeSlashIconComponent, FileHTMLIcon, FileHTMLIconComponent, FileIcon, FileIconComponent, FileMagnifyingGlassIcon, FileMagnifyingGlassIconComponent, FileOutputIcon, FileOutputIconComponent, FileSearchIcon, FileSearchIconComponent, FileSpreadsheetIcon, FileSpreadsheetIconComponent, FileTextIcon, FileTextIconComponent, FilesIcon, FilesIconComponent, FilterIcon, FilterIconComponent, FilterXIcon, FilterXIconComponent, FlagEnglishIcon, FlagEnglishIconComponent, FlagFrenchIcon, FlagFrenchIconComponent, FlagGermanIcon, FlagGermanIconComponent, FlashlightIcon, FlashlightIconComponent, FolderIcon, FolderIconComponent, FolderOpenIcon, FolderOpenIconComponent, FrownIcon, FrownIconComponent, GearIcon, GearIconComponent, GitForkIcon, GitForkIconComponent, GlobeIcon, GlobeIconComponent, GridIcon, GridIconComponent, HighlighterIcon, HighlighterIconComponent, HistoryIcon, HistoryIconComponent, HomeIcon, HomeIconComponent, HouseIcon, HouseIconComponent, ImageIcon, ImageIconComponent, InboxIcon, InboxIconComponent, InfoCircleIcon, InfoCircleIconComponent, InputComponent, InputControlDirective, InputCounterComponent, InputIconLeftDirective, InputIconRightDirective, KbdComponent, KbdGroupComponent, KeyIcon, KeyIconComponent, KeyboardIcon, KeyboardIconComponent, LINK_LABEL_CLASS, LIST_ITEM_AVATAR_CLASS, LIST_ITEM_CHEVRON_RIGHT_CLASS, LIST_ITEM_EXPANDER_BUTTON_CLASS, LIST_ITEM_EXPANDER_CLASS, LIST_ITEM_ICON_CLASS, LIST_ITEM_ICON_RIGHT_CLASS, LIST_ITEM_LEFT_CLASS, LIST_ITEM_SUBTEXT_CLASS, LIST_ITEM_TEXT_BLOCK_CLASS, LIST_ITEM_TEXT_CLASS, LIST_REF, LanguageIcon, LanguageIconComponent, LightbulbIcon, LightbulbIconComponent, LightbulbSlashIcon, LightbulbSlashIconComponent, LinkComponent, LinkIcon, LinkIconComponent, LinkIconLeftDirective, LinkIconRightDirective, ListComponent, ListFilterIcon, ListFilterIconComponent, ListIcon, ListIconComponent, ListItemActionComponent, ListItemAvatarDirective, ListItemChevronComponent, ListItemComponent, ListItemExpanderComponent, ListItemIconDirective, ListItemLeftDirective, ListItemTextComponent, ListboxActivateOnHover, LoadingCircleIcon, LoadingCircleIconComponent, MODAL_BODY_CLASS, MODAL_BODY_TEXT_CLASS, MODAL_CLASS, MODAL_CLOSE_CLASS, MODAL_FOOTER_CLASS, MODAL_HEADER_CLASS, MODAL_HEADER_LEFT_CLASS, MODAL_LABEL, MODAL_TITLE_CLASS, MODAL_TITLE_WRAP_CLASS, MagnifyingGlassIcon, MagnifyingGlassIconComponent, MagnifyingGlassMinusIcon, MagnifyingGlassMinusIconComponent, MagnifyingGlassPlusIcon, MagnifyingGlassPlusIconComponent, MapPinIcon, MapPinIconComponent, MenuComponent, MenuContentComponent, MenuItemComponent, MenuTriggerDirective, MinusIcon, MinusIconComponent, MoonIcon, MoonIconComponent, NewChatIcon, NewChatIconComponent, PaletteIcon, PaletteIconComponent, PanelLeftIcon, PanelLeftIconComponent, PanelRightIcon, PanelRightIconComponent, PaperclipIcon, PaperclipIconComponent, PenToSquareIcon, PenToSquareIconComponent, PlusIcon, PlusIconComponent, PresentationIcon, PresentationIconComponent, QuestionCircleIcon, QuestionCircleIconComponent, QuestionIcon, QuestionIconComponent, RESIZABLE_PANEL_CLASS, RESIZABLE_PANEL_GROUP, RadioComponent, RefreshIcon, RefreshIconComponent, ResizableHandleComponent, ResizablePanelComponent, ResizablePanelGroupComponent, RobotIcon, RobotIconComponent, RotateIcon, RotateIconComponent, RowFeedComponent, RowGridComponent, SB_ICON_CLASS, SB_INPUT_CLASS, SELECT_CHEVRON_CLASS, SELECT_EMPTY_CLASS, SELECT_HINT_CLASS, SELECT_LABEL_CLASS, SELECT_MENU_CLASS, SELECT_OPTION_BODY_CLASS, SELECT_OPTION_CHECK_CLASS, SELECT_OPTION_CLASS, SELECT_OPTION_LABEL_CLASS, SELECT_OPTION_LEADING_ICON_CLASS, SELECT_OPTION_SUBLABEL_CLASS, SELECT_PLACEHOLDER_CLASS, SELECT_REF, SELECT_TRIGGER_CLASS, SELECT_TRIGGER_ICON_CLASS, SELECT_TRIGGER_LABEL_CLASS, SHEET_BODY_CLASS, SHEET_CLASS, SHEET_CLOSE_CLASS, SHEET_FOOTER_CLASS, SHEET_HEADER_CLASS, SHEET_HEADER_LEFT_CLASS, SHEET_TITLE_WRAP_CLASS, SIDEBAR_CLASS, SIDEBAR_CONTENT_CLASS, SIDEBAR_FOOTER_CLASS, SIDEBAR_GROUP_CLASS, SIDEBAR_GROUP_LABEL_CLASS, SIDEBAR_HEADER_CLASS, SIDEBAR_INSET_CLASS, SIDEBAR_ITEM_CLASS, SIDEBAR_ITEM_LABEL_CLASS, SIDEBAR_REF, SaveIcon, SaveIconComponent, SearchBarComponent, SearchBarSuggestionsComponent, SearchIcon, SearchIconComponent, SearchInputComponent, SearchInputSuggestionsComponent, SelectComponent, SelectLabelDirective, SelectTriggerDirective, SendHorizontalIcon, SendHorizontalIconComponent, SendIcon, SendIconComponent, SheetBodyComponent, SheetComponent, SheetFooterComponent, SheetHeaderComponent, SidebarComponent, SidebarContentDirective, SidebarFooterDirective, SidebarGroupDirective, SidebarGroupLabelDirective, SidebarHeaderDirective, SidebarInsetDirective, SidebarItemDirective, SidebarItemLabelDirective, SidebarTriggerDirective, SlashIcon, SlashIconComponent, SlidersIcon, SlidersIconComponent, SparklesIcon, SparklesIconComponent, SpinnerIcon, SpinnerIconComponent, SquareCheckBigIcon, SquareCheckBigIconComponent, SquareCheckIcon, SquareCheckIconComponent, SquareIcon, SquareIconComponent, SquareMinusIcon, SquareMinusIconComponent, SquarePenIcon, SquarePenIconComponent, StarIcon, StarIconComponent, SubMenuComponent, SunBrightIcon, SunBrightIconComponent, SwitchComponent, SyncIcon, SyncIconComponent, TEXTAREA_CONTROL_CLASS, TEXTAREA_COUNTER_CLASS, TEXTAREA_LINE_HEIGHT, TOGGLE_GROUP, TOGGLE_ICON_CLASS, TOGGLE_LABEL_CLASS, TOOLTIP_CLASS, TREE_ITEM_EXPANDER_CLASS, TabComponent, TabListComponent, TabPanelComponent, TabsComponent, TagComponent, TagIcon, TagIconComponent, TagInputComponent, TagRemoveComponent, TagsIcon, TagsIconComponent, TextareaComponent, TextareaControlDirective, TextareaCounterComponent, ThumbsDownIcon, ThumbsDownIconComponent, ThumbsUpIcon, ThumbsUpIconComponent, ToggleComponent, ToggleGroupComponent, ToggleItemComponent, ToggleLeftIcon, ToggleLeftIconComponent, ToggleRightIcon, ToggleRightIconComponent, TooltipComponent, TooltipContentDirective, TooltipDirective, TrashCanIcon, TrashCanIconComponent, TrashIcon, TrashIconComponent, TreeComponent, TreeItemComponent, TreeItemExpanderComponent, TreeItemGroupComponent, TriangleAlertIcon, TriangleAlertIconComponent, TypeIcon, TypeIconComponent, UndoIcon, UndoIconComponent, UploadIcon, UploadIconComponent, UserIcon, UserIconComponent, UserRoundIcon, UserRoundIconComponent, UserSecretIcon, UserSecretIconComponent, VideoIcon, VideoIconComponent, XMarkIcon, XMarkIconComponent, createCallable, getListDepthStyle, injectCallRef, injectFloatingPanel, linkIconVariants, listItemVariants, menuContentVariants, menuItemVariants, menuPanelVariants, menuSeparatorVariants, modalVariants, provideCallable, resizableGroupVariants, resizableHandleVariants, searchBarVariants, selectChevronVariants, selectMenuVariants, selectOptionVariants, selectTriggerVariants, selectWrapVariants, sheetVariants, sidebarInsetVariants, sidebarVariants, textareaWrapVariants, toggleGroupVariants, toggleVariants, tooltipVariants, treeItemVariants };
24423
+ export { AUTOCOMPLETE_TAGS_CLASS, AUTOCOMPLETE_TRIGGER_CLASS, ArrowDownIcon, ArrowDownIconComponent, ArrowDownZaIcon, ArrowDownZaIconComponent, ArrowLeftIcon, ArrowLeftIconComponent, ArrowRightFromBracketIcon, ArrowRightFromBracketIconComponent, ArrowRightIcon, ArrowRightIconComponent, ArrowUpAzIcon, ArrowUpAzIconComponent, ArrowUpIcon, ArrowUpIconComponent, ArrowUpRightFromSquareIcon, ArrowUpRightFromSquareIconComponent, ArrowsMaximizeIcon, ArrowsMaximizeIconComponent, AutocompleteComponent, AvatarComponent, AvatarFallbackComponent, AvatarImageComponent, AwardIcon, AwardIconComponent, BadgeComponent, BarsIcon, BarsIconComponent, BellIcon, BellIconComponent, BookmarkIcon, BookmarkIconComponent, BreakpointObserverService, BuildingIcon, BuildingIconComponent, BulletComponent, ButtonComponent, CALL_REF, CalendarClockIcon, CalendarClockIconComponent, CalendarDayIcon, CalendarDayIconComponent, CallRef, ChatPlusIcon, ChatPlusIconComponent, CheckIcon, CheckIconComponent, CheckboxComponent, ChevronDownIcon, ChevronDownIconComponent, ChevronLeftIcon, ChevronLeftIconComponent, ChevronRightIcon, ChevronRightIconComponent, ChevronUpIcon, ChevronUpIconComponent, ChevronsLeftIcon, ChevronsLeftIconComponent, ChevronsRightIcon, ChevronsRightIconComponent, CircleCheckIcon, CircleCheckIconComponent, CircleXIcon, CircleXIconComponent, ClipboardIcon, ClipboardIconComponent, ClockIcon, ClockIconComponent, CogIcon, CogIconComponent, CommentIcon, CommentIconComponent, CommentsIcon, CommentsIconComponent, DIALOG_REF, DebugIcon, DebugIconComponent, DesktopIcon, DesktopIconComponent, DialogBodyComponent, DialogComponent, DialogContentComponent, DialogDescriptionComponent, DialogFooterComponent, DialogHeaderComponent, DialogService, DialogTitleComponent, DownloadIcon, DownloadIconComponent, PopoverDirective as DropdownDirective, PopoverDirective, EditIcon, EditIconComponent, EllipsisIcon, EllipsisIconComponent, EllipsisVerticalIcon, EllipsisVerticalIconComponent, EnvelopeIcon, EnvelopeIconComponent, ExternalLinkIcon, ExternalLinkIconComponent, EyeIcon, EyeIconComponent, EyeSlashIcon, EyeSlashIconComponent, FileHTMLIcon, FileHTMLIconComponent, FileIcon, FileIconComponent, FileMagnifyingGlassIcon, FileMagnifyingGlassIconComponent, FileOutputIcon, FileOutputIconComponent, FileSearchIcon, FileSearchIconComponent, FileSpreadsheetIcon, FileSpreadsheetIconComponent, FileTextIcon, FileTextIconComponent, FilesIcon, FilesIconComponent, FilterIcon, FilterIconComponent, FilterXIcon, FilterXIconComponent, FlagEnglishIcon, FlagEnglishIconComponent, FlagFrenchIcon, FlagFrenchIconComponent, FlagGermanIcon, FlagGermanIconComponent, FlashlightIcon, FlashlightIconComponent, FolderIcon, FolderIconComponent, FolderOpenIcon, FolderOpenIconComponent, FrownIcon, FrownIconComponent, GearIcon, GearIconComponent, GitForkIcon, GitForkIconComponent, GlobeIcon, GlobeIconComponent, GridIcon, GridIconComponent, HighlighterIcon, HighlighterIconComponent, HistoryIcon, HistoryIconComponent, HomeIcon, HomeIconComponent, HouseIcon, HouseIconComponent, ImageIcon, ImageIconComponent, InboxIcon, InboxIconComponent, InfoCircleIcon, InfoCircleIconComponent, InputComponent, InputControlDirective, InputCounterComponent, InputIconLeftDirective, InputIconRightDirective, KbdComponent, KbdGroupComponent, KeyIcon, KeyIconComponent, KeyboardIcon, KeyboardIconComponent, LINK_LABEL_CLASS, LIST_ITEM_AVATAR_CLASS, LIST_ITEM_CHEVRON_RIGHT_CLASS, LIST_ITEM_EXPANDER_BUTTON_CLASS, LIST_ITEM_EXPANDER_CLASS, LIST_ITEM_ICON_CLASS, LIST_ITEM_ICON_RIGHT_CLASS, LIST_ITEM_LEFT_CLASS, LIST_ITEM_SUBTEXT_CLASS, LIST_ITEM_TEXT_BLOCK_CLASS, LIST_ITEM_TEXT_CLASS, LIST_REF, LanguageIcon, LanguageIconComponent, LightbulbIcon, LightbulbIconComponent, LightbulbSlashIcon, LightbulbSlashIconComponent, LinkComponent, LinkIcon, LinkIconComponent, LinkIconLeftDirective, LinkIconRightDirective, ListComponent, ListFilterIcon, ListFilterIconComponent, ListIcon, ListIconComponent, ListItemActionComponent, ListItemAvatarDirective, ListItemChevronComponent, ListItemComponent, ListItemExpanderComponent, ListItemIconDirective, ListItemLeftDirective, ListItemTextComponent, ListboxActivateOnHover, LoadingCircleIcon, LoadingCircleIconComponent, LockIcon, LockIconComponent, MODAL_BODY_CLASS, MODAL_BODY_TEXT_CLASS, MODAL_CLASS, MODAL_CLOSE_CLASS, MODAL_FOOTER_CLASS, MODAL_HEADER_CLASS, MODAL_HEADER_LEFT_CLASS, MODAL_LABEL, MODAL_TITLE_CLASS, MODAL_TITLE_WRAP_CLASS, MagnifyingGlassIcon, MagnifyingGlassIconComponent, MagnifyingGlassMinusIcon, MagnifyingGlassMinusIconComponent, MagnifyingGlassPlusIcon, MagnifyingGlassPlusIconComponent, MapPinIcon, MapPinIconComponent, MenuComponent, MenuContentComponent, MenuItemComponent, MenuTriggerDirective, MinusIcon, MinusIconComponent, MoonIcon, MoonIconComponent, NewChatIcon, NewChatIconComponent, PaletteIcon, PaletteIconComponent, PanelLeftIcon, PanelLeftIconComponent, PanelRightIcon, PanelRightIconComponent, PaperclipIcon, PaperclipIconComponent, PenToSquareIcon, PenToSquareIconComponent, PlusIcon, PlusIconComponent, PresentationIcon, PresentationIconComponent, QuestionCircleIcon, QuestionCircleIconComponent, QuestionIcon, QuestionIconComponent, RESIZABLE_PANEL_CLASS, RESIZABLE_PANEL_GROUP, RadioComponent, RefreshIcon, RefreshIconComponent, ResizableHandleComponent, ResizablePanelComponent, ResizablePanelGroupComponent, RobotIcon, RobotIconComponent, RotateIcon, RotateIconComponent, RowFeedComponent, RowGridComponent, SB_ICON_CLASS, SB_INPUT_CLASS, SELECT_CHEVRON_CLASS, SELECT_EMPTY_CLASS, SELECT_HINT_CLASS, SELECT_LABEL_CLASS, SELECT_MENU_CLASS, SELECT_OPTION_BODY_CLASS, SELECT_OPTION_CHECK_CLASS, SELECT_OPTION_CLASS, SELECT_OPTION_LABEL_CLASS, SELECT_OPTION_LEADING_ICON_CLASS, SELECT_OPTION_SUBLABEL_CLASS, SELECT_PLACEHOLDER_CLASS, SELECT_REF, SELECT_TRIGGER_CLASS, SELECT_TRIGGER_ICON_CLASS, SELECT_TRIGGER_LABEL_CLASS, SHEET_BODY_CLASS, SHEET_CLASS, SHEET_CLOSE_CLASS, SHEET_FOOTER_CLASS, SHEET_HEADER_CLASS, SHEET_HEADER_LEFT_CLASS, SHEET_TITLE_WRAP_CLASS, SIDEBAR_CLASS, SIDEBAR_CONTENT_CLASS, SIDEBAR_FOOTER_CLASS, SIDEBAR_GROUP_CLASS, SIDEBAR_GROUP_LABEL_CLASS, SIDEBAR_HEADER_CLASS, SIDEBAR_INSET_CLASS, SIDEBAR_ITEM_CLASS, SIDEBAR_ITEM_LABEL_CLASS, SIDEBAR_REF, SaveIcon, SaveIconComponent, SearchBarComponent, SearchBarSuggestionsComponent, SearchIcon, SearchIconComponent, SearchInputComponent, SearchInputSuggestionsComponent, SelectComponent, SelectLabelDirective, SelectTriggerDirective, SendHorizontalIcon, SendHorizontalIconComponent, SendIcon, SendIconComponent, SheetBodyComponent, SheetComponent, SheetFooterComponent, SheetHeaderComponent, SidebarComponent, SidebarContentDirective, SidebarFooterDirective, SidebarGroupDirective, SidebarGroupLabelDirective, SidebarHeaderDirective, SidebarInsetDirective, SidebarItemDirective, SidebarItemLabelDirective, SidebarTriggerDirective, SlashIcon, SlashIconComponent, SlidersIcon, SlidersIconComponent, SparklesIcon, SparklesIconComponent, SpinnerIcon, SpinnerIconComponent, SquareCheckBigIcon, SquareCheckBigIconComponent, SquareCheckIcon, SquareCheckIconComponent, SquareIcon, SquareIconComponent, SquareMinusIcon, SquareMinusIconComponent, SquarePenIcon, SquarePenIconComponent, StarIcon, StarIconComponent, SubMenuComponent, SunBrightIcon, SunBrightIconComponent, SwitchComponent, SyncIcon, SyncIconComponent, TEXTAREA_CONTROL_CLASS, TEXTAREA_COUNTER_CLASS, TEXTAREA_LINE_HEIGHT, TOGGLE_GROUP, TOGGLE_ICON_CLASS, TOGGLE_LABEL_CLASS, TOOLTIP_CLASS, TREE_ITEM_EXPANDER_CLASS, TabComponent, TabListComponent, TabPanelComponent, TabsComponent, TagComponent, TagIcon, TagIconComponent, TagInputComponent, TagRemoveComponent, TagsIcon, TagsIconComponent, TextareaComponent, TextareaControlDirective, TextareaCounterComponent, ThumbsDownIcon, ThumbsDownIconComponent, ThumbsUpIcon, ThumbsUpIconComponent, ToggleComponent, ToggleGroupComponent, ToggleItemComponent, ToggleLeftIcon, ToggleLeftIconComponent, ToggleRightIcon, ToggleRightIconComponent, TooltipComponent, TooltipContentDirective, TooltipDirective, TrashCanIcon, TrashCanIconComponent, TrashIcon, TrashIconComponent, TreeComponent, TreeItemComponent, TreeItemExpanderComponent, TreeItemGroupComponent, TriangleAlertIcon, TriangleAlertIconComponent, TypeIcon, TypeIconComponent, UndoIcon, UndoIconComponent, UploadIcon, UploadIconComponent, UserIcon, UserIconComponent, UserRoundIcon, UserRoundIconComponent, UserSecretIcon, UserSecretIconComponent, VideoIcon, VideoIconComponent, XMarkIcon, XMarkIconComponent, createCallable, getListDepthStyle, injectCallRef, injectFloatingPanel, isApplePlatform, linkIconVariants, listItemVariants, menuContentVariants, menuItemVariants, menuPanelVariants, menuSeparatorVariants, modalVariants, provideCallable, resizableGroupVariants, resizableHandleVariants, searchBarVariants, selectChevronVariants, selectMenuVariants, selectOptionVariants, selectTriggerVariants, selectWrapVariants, sheetVariants, sidebarInsetVariants, sidebarVariants, textareaWrapVariants, toggleGroupVariants, toggleVariants, tooltipVariants, treeItemVariants };
24159
24424
 
24160
24425
  //# sourceMappingURL=sinequa-galactik.mjs.map