@sinequa/galactik 2.3.0 → 2.5.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.
@@ -800,6 +800,73 @@ i0.ɵɵngDeclareClassMetadata({
800
800
  }] }
801
801
  });
802
802
  const BellIconComponent = BellIcon;
803
+ var BellSlashIcon = class BellSlashIcon {
804
+ class = input(...ngDevMode ? [void 0, { debugName: "class" }] : /* istanbul ignore next */ []);
805
+ classes = computed(() => cn(this.class()), ...ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []);
806
+ static ɵfac = i0.ɵɵngDeclareFactory({
807
+ minVersion: "12.0.0",
808
+ version: "22.2.1",
809
+ ngImport: i0,
810
+ type: BellSlashIcon,
811
+ deps: [],
812
+ target: i0.ɵɵFactoryTarget.Component
813
+ });
814
+ static ɵcmp = i0.ɵɵngDeclareComponent({
815
+ minVersion: "17.1.0",
816
+ version: "22.2.1",
817
+ type: BellSlashIcon,
818
+ isStandalone: true,
819
+ selector: "bell-slash, bell-slash-icon, BellSlash, BellSlashIcon",
820
+ inputs: { class: {
821
+ classPropertyName: "class",
822
+ publicName: "class",
823
+ isSignal: true,
824
+ isRequired: false,
825
+ transformFunction: null
826
+ } },
827
+ ngImport: i0,
828
+ template: `
829
+ <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">
830
+ <path d="M8.7 3A6 6 0 0 1 18 8a21.3 21.3 0 0 0 .6 5" />
831
+ <path d="M17 17H3s3-2 3-9a4.67 4.67 0 0 1 .3-1.7" />
832
+ <path d="M10.3 21a1.94 1.94 0 0 0 3.4 0" />
833
+ <path d="m2 2 20 20" />
834
+ </svg>
835
+ `,
836
+ isInline: true,
837
+ styles: [":host{display:contents}\n"]
838
+ });
839
+ };
840
+ i0.ɵɵngDeclareClassMetadata({
841
+ minVersion: "12.0.0",
842
+ version: "22.2.1",
843
+ ngImport: i0,
844
+ type: BellSlashIcon,
845
+ decorators: [{
846
+ type: Component,
847
+ args: [{
848
+ selector: "bell-slash, bell-slash-icon, BellSlash, BellSlashIcon",
849
+ template: `
850
+ <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">
851
+ <path d="M8.7 3A6 6 0 0 1 18 8a21.3 21.3 0 0 0 .6 5" />
852
+ <path d="M17 17H3s3-2 3-9a4.67 4.67 0 0 1 .3-1.7" />
853
+ <path d="M10.3 21a1.94 1.94 0 0 0 3.4 0" />
854
+ <path d="m2 2 20 20" />
855
+ </svg>
856
+ `,
857
+ styles: [":host{display:contents}\n"]
858
+ }]
859
+ }],
860
+ propDecorators: { class: [{
861
+ type: i0.Input,
862
+ args: [{
863
+ isSignal: true,
864
+ alias: "class",
865
+ required: false
866
+ }]
867
+ }] }
868
+ });
869
+ const BellSlashIconComponent = BellSlashIcon;
803
870
  var BookmarkIcon = class BookmarkIcon {
804
871
  class = input(...ngDevMode ? [void 0, { debugName: "class" }] : /* istanbul ignore next */ []);
805
872
  classes = computed(() => cn(this.class()), ...ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []);
@@ -4276,6 +4343,77 @@ i0.ɵɵngDeclareClassMetadata({
4276
4343
  }] }
4277
4344
  });
4278
4345
  const GridIconComponent = GridIcon;
4346
+ var GripVerticalIcon = class GripVerticalIcon {
4347
+ class = input(...ngDevMode ? [void 0, { debugName: "class" }] : /* istanbul ignore next */ []);
4348
+ classes = computed(() => cn(this.class()), ...ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []);
4349
+ static ɵfac = i0.ɵɵngDeclareFactory({
4350
+ minVersion: "12.0.0",
4351
+ version: "22.2.1",
4352
+ ngImport: i0,
4353
+ type: GripVerticalIcon,
4354
+ deps: [],
4355
+ target: i0.ɵɵFactoryTarget.Component
4356
+ });
4357
+ static ɵcmp = i0.ɵɵngDeclareComponent({
4358
+ minVersion: "17.1.0",
4359
+ version: "22.2.1",
4360
+ type: GripVerticalIcon,
4361
+ isStandalone: true,
4362
+ selector: "grip-vertical, grip-vertical-icon, GripVertical, GripVerticalIcon",
4363
+ inputs: { class: {
4364
+ classPropertyName: "class",
4365
+ publicName: "class",
4366
+ isSignal: true,
4367
+ isRequired: false,
4368
+ transformFunction: null
4369
+ } },
4370
+ ngImport: i0,
4371
+ template: `
4372
+ <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">
4373
+ <circle cx="9" cy="5" r="1" />
4374
+ <circle cx="9" cy="12" r="1" />
4375
+ <circle cx="9" cy="19" r="1" />
4376
+ <circle cx="15" cy="5" r="1" />
4377
+ <circle cx="15" cy="12" r="1" />
4378
+ <circle cx="15" cy="19" r="1" />
4379
+ </svg>
4380
+ `,
4381
+ isInline: true,
4382
+ styles: [":host{display:contents}\n"]
4383
+ });
4384
+ };
4385
+ i0.ɵɵngDeclareClassMetadata({
4386
+ minVersion: "12.0.0",
4387
+ version: "22.2.1",
4388
+ ngImport: i0,
4389
+ type: GripVerticalIcon,
4390
+ decorators: [{
4391
+ type: Component,
4392
+ args: [{
4393
+ selector: "grip-vertical, grip-vertical-icon, GripVertical, GripVerticalIcon",
4394
+ template: `
4395
+ <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">
4396
+ <circle cx="9" cy="5" r="1" />
4397
+ <circle cx="9" cy="12" r="1" />
4398
+ <circle cx="9" cy="19" r="1" />
4399
+ <circle cx="15" cy="5" r="1" />
4400
+ <circle cx="15" cy="12" r="1" />
4401
+ <circle cx="15" cy="19" r="1" />
4402
+ </svg>
4403
+ `,
4404
+ styles: [":host{display:contents}\n"]
4405
+ }]
4406
+ }],
4407
+ propDecorators: { class: [{
4408
+ type: i0.Input,
4409
+ args: [{
4410
+ isSignal: true,
4411
+ alias: "class",
4412
+ required: false
4413
+ }]
4414
+ }] }
4415
+ });
4416
+ const GripVerticalIconComponent = GripVerticalIcon;
4279
4417
  var HighlighterIcon = class HighlighterIcon {
4280
4418
  class = input(...ngDevMode ? [void 0, { debugName: "class" }] : /* istanbul ignore next */ []);
4281
4419
  classes = computed(() => cn(this.class()), ...ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []);
@@ -5332,6 +5470,69 @@ i0.ɵɵngDeclareClassMetadata({
5332
5470
  }] }
5333
5471
  });
5334
5472
  const LoadingCircleIconComponent = LoadingCircleIcon;
5473
+ var LockIcon = class LockIcon {
5474
+ class = input(...ngDevMode ? [void 0, { debugName: "class" }] : /* istanbul ignore next */ []);
5475
+ classes = computed(() => cn(this.class()), ...ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []);
5476
+ static ɵfac = i0.ɵɵngDeclareFactory({
5477
+ minVersion: "12.0.0",
5478
+ version: "22.2.1",
5479
+ ngImport: i0,
5480
+ type: LockIcon,
5481
+ deps: [],
5482
+ target: i0.ɵɵFactoryTarget.Component
5483
+ });
5484
+ static ɵcmp = i0.ɵɵngDeclareComponent({
5485
+ minVersion: "17.1.0",
5486
+ version: "22.2.1",
5487
+ type: LockIcon,
5488
+ isStandalone: true,
5489
+ selector: "lock, lock-icon, Lock, LockIcon",
5490
+ inputs: { class: {
5491
+ classPropertyName: "class",
5492
+ publicName: "class",
5493
+ isSignal: true,
5494
+ isRequired: false,
5495
+ transformFunction: null
5496
+ } },
5497
+ ngImport: i0,
5498
+ template: `
5499
+ <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">
5500
+ <rect width="18" height="11" x="3" y="11" rx="2" ry="2" />
5501
+ <path d="M7 11V7a5 5 0 0 1 10 0v4" />
5502
+ </svg>
5503
+ `,
5504
+ isInline: true,
5505
+ styles: [":host{display:contents}\n"]
5506
+ });
5507
+ };
5508
+ i0.ɵɵngDeclareClassMetadata({
5509
+ minVersion: "12.0.0",
5510
+ version: "22.2.1",
5511
+ ngImport: i0,
5512
+ type: LockIcon,
5513
+ decorators: [{
5514
+ type: Component,
5515
+ args: [{
5516
+ selector: "lock, lock-icon, Lock, LockIcon",
5517
+ template: `
5518
+ <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">
5519
+ <rect width="18" height="11" x="3" y="11" rx="2" ry="2" />
5520
+ <path d="M7 11V7a5 5 0 0 1 10 0v4" />
5521
+ </svg>
5522
+ `,
5523
+ styles: [":host{display:contents}\n"]
5524
+ }]
5525
+ }],
5526
+ propDecorators: { class: [{
5527
+ type: i0.Input,
5528
+ args: [{
5529
+ isSignal: true,
5530
+ alias: "class",
5531
+ required: false
5532
+ }]
5533
+ }] }
5534
+ });
5535
+ const LockIconComponent = LockIcon;
5335
5536
  var MagnifyingGlassIcon = class MagnifyingGlassIcon {
5336
5537
  class = input(...ngDevMode ? [void 0, { debugName: "class" }] : /* istanbul ignore next */ []);
5337
5538
  classes = computed(() => cn(this.class()), ...ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []);
@@ -9912,6 +10113,74 @@ i0.ɵɵngDeclareClassMetadata({
9912
10113
  }]
9913
10114
  }
9914
10115
  });
10116
+ var TruncatedDirective = class TruncatedDirective {
10117
+ truncated = input("", ...ngDevMode ? [{ debugName: "truncated" }] : /* istanbul ignore next */ []);
10118
+ host = inject(ElementRef).nativeElement;
10119
+ cut = signal(false, ...ngDevMode ? [{ debugName: "cut" }] : /* istanbul ignore next */ []);
10120
+ isTruncated = this.cut.asReadonly();
10121
+ constructor() {
10122
+ const destroyRef = inject(DestroyRef);
10123
+ afterNextRender(() => {
10124
+ const measure = () => {
10125
+ const selector = this.truncated();
10126
+ const el = selector && this.host.querySelector(selector) || this.host;
10127
+ this.cut.set(el.scrollHeight > el.clientHeight + 1 || el.scrollWidth > el.clientWidth + 1);
10128
+ };
10129
+ measure();
10130
+ if (typeof ResizeObserver === "undefined") return;
10131
+ const observer = new ResizeObserver(measure);
10132
+ observer.observe(this.host);
10133
+ destroyRef.onDestroy(() => observer.disconnect());
10134
+ });
10135
+ }
10136
+ static ɵfac = i0.ɵɵngDeclareFactory({
10137
+ minVersion: "12.0.0",
10138
+ version: "22.2.1",
10139
+ ngImport: i0,
10140
+ type: TruncatedDirective,
10141
+ deps: [],
10142
+ target: i0.ɵɵFactoryTarget.Directive
10143
+ });
10144
+ static ɵdir = i0.ɵɵngDeclareDirective({
10145
+ minVersion: "17.1.0",
10146
+ version: "22.2.1",
10147
+ type: TruncatedDirective,
10148
+ isStandalone: true,
10149
+ selector: "[truncated]",
10150
+ inputs: { truncated: {
10151
+ classPropertyName: "truncated",
10152
+ publicName: "truncated",
10153
+ isSignal: true,
10154
+ isRequired: false,
10155
+ transformFunction: null
10156
+ } },
10157
+ exportAs: ["truncated"],
10158
+ ngImport: i0
10159
+ });
10160
+ };
10161
+ i0.ɵɵngDeclareClassMetadata({
10162
+ minVersion: "12.0.0",
10163
+ version: "22.2.1",
10164
+ ngImport: i0,
10165
+ type: TruncatedDirective,
10166
+ decorators: [{
10167
+ type: Directive,
10168
+ args: [{
10169
+ selector: "[truncated]",
10170
+ exportAs: "truncated",
10171
+ standalone: true
10172
+ }]
10173
+ }],
10174
+ ctorParameters: () => [],
10175
+ propDecorators: { truncated: [{
10176
+ type: i0.Input,
10177
+ args: [{
10178
+ isSignal: true,
10179
+ alias: "truncated",
10180
+ required: false
10181
+ }]
10182
+ }] }
10183
+ });
9915
10184
  const menuPanelVariants = cva([
9916
10185
  "p-(--spacing-2xs)",
9917
10186
  "rounded-(--radius-sm) bg-(--layer-page-layer) shadow-(--shadow-1)",
@@ -9942,7 +10211,14 @@ var MenuComponent = class MenuComponent {
9942
10211
  classes = computed(() => cn(menuPanelVariants(), menuBaseClass, this.class()), ...ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []);
9943
10212
  ngMenu = inject(Menu);
9944
10213
  popover = inject(PopoverDirective);
10214
+ host = inject(ElementRef).nativeElement;
10215
+ submenuOpenAtEscape = false;
9945
10216
  constructor() {
10217
+ const snapshot = (event) => {
10218
+ if (event.key === "Escape") this.submenuOpenAtEscape = this.ngMenu._pattern.inputs.items().some((item) => item.expanded());
10219
+ };
10220
+ this.host.addEventListener("keydown", snapshot, { capture: true });
10221
+ inject(DestroyRef).onDestroy(() => this.host.removeEventListener("keydown", snapshot, { capture: true }));
9946
10222
  const sub = this.ngMenu.itemSelected.subscribe(() => {
9947
10223
  if (isToggleRole(this.ngMenu._pattern.inputs.activeItem()?.role())) return;
9948
10224
  this.popover.close();
@@ -9961,6 +10237,13 @@ var MenuComponent = class MenuComponent {
9961
10237
  });
9962
10238
  });
9963
10239
  }
10240
+ onEscape() {
10241
+ if (this.submenuOpenAtEscape || this.popover.state() !== "open") return;
10242
+ const { id } = this.popover.elementRef.nativeElement;
10243
+ const trigger = id ? [...document.querySelectorAll("[popovertarget]")].find((el) => el.getAttribute("popovertarget") === id) : void 0;
10244
+ this.popover.close();
10245
+ trigger?.focus();
10246
+ }
9964
10247
  onClick(event) {
9965
10248
  if (event.target.closest("[role=\"menuitem\"][aria-haspopup=\"true\"],[role=\"menuitemcheckbox\"],[role=\"menuitemradio\"]")) event.stopImmediatePropagation();
9966
10249
  }
@@ -9990,7 +10273,10 @@ var MenuComponent = class MenuComponent {
9990
10273
  "popover": "",
9991
10274
  "dropdown": ""
9992
10275
  },
9993
- listeners: { "click": "onClick($event)" },
10276
+ listeners: {
10277
+ "click": "onClick($event)",
10278
+ "keydown.escape": "onEscape()"
10279
+ },
9994
10280
  properties: { "class": "classes()" }
9995
10281
  },
9996
10282
  exportAs: ["menu"],
@@ -10043,7 +10329,8 @@ i0.ɵɵngDeclareClassMetadata({
10043
10329
  popover: "",
10044
10330
  dropdown: "",
10045
10331
  "[class]": "classes()",
10046
- "(click)": "onClick($event)"
10332
+ "(click)": "onClick($event)",
10333
+ "(keydown.escape)": "onEscape()"
10047
10334
  }
10048
10335
  }]
10049
10336
  }],
@@ -14774,12 +15061,12 @@ const listItemVariants = cva([
14774
15061
  variants: {
14775
15062
  variant: {
14776
15063
  "list-content": "h-10.5 gap-0",
14777
- "list-navigation": "m-0 h-[var(--row-height-sm)] cursor-pointer appearance-none border-0 bg-transparent text-left font-[family-name:var(--family-base,'Hanken_Grotesk'),sans-serif]",
14778
- "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]"
15064
+ "list-navigation": "m-0 min-h-(--row-height-sm) cursor-pointer appearance-none border-0 bg-transparent text-left font-[family-name:var(--family-base,'Hanken_Grotesk'),sans-serif]",
15065
+ "list-menu": "m-0 min-h-(--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]"
14779
15066
  },
14780
15067
  size: {
14781
- small: "h-[var(--row-height-sm)] has-[.list-item-action-hint]:focus-visible:min-h-[var(--row-height-sm)]",
14782
- medium: "h-[var(--row-height-md)] has-[.list-item-action-hint]:focus-visible:min-h-[var(--row-height-md)]"
15068
+ small: "min-h-(--row-height-sm) has-[.list-item-action-hint]:focus-visible:min-h-(--row-height-sm)",
15069
+ medium: "min-h-(--row-height-md) has-[.list-item-action-hint]:focus-visible:min-h-(--row-height-md)"
14783
15070
  },
14784
15071
  selected: {
14785
15072
  true: "bg-(--bg-primary-lighter)",
@@ -20661,7 +20948,8 @@ const CONTROL_ATTRIBUTES = `
20661
20948
  [disabled]="disabled()"
20662
20949
  [placeholder]="placeholder()"
20663
20950
  [attr.aria-label]="ariaLabel()"
20664
- [attr.aria-keyshortcuts]="hotkey()"`;
20951
+ [attr.aria-keyshortcuts]="hotkey()"
20952
+ (search)="$event.stopPropagation()"`;
20665
20953
  const AFTER_CONTROL = `
20666
20954
  <button
20667
20955
  variant="tertiary"
@@ -20741,6 +21029,11 @@ var SearchBarBase = class SearchBarBase {
20741
21029
  e.stopImmediatePropagation();
20742
21030
  this.search.emit(this.value());
20743
21031
  }
21032
+ emitSearchOnEnter(e) {
21033
+ const { isComposing, keyCode } = e;
21034
+ if (isComposing || keyCode === 229 || this.disabled()) return;
21035
+ this.search.emit(this.value());
21036
+ }
20744
21037
  static ɵfac = i0.ɵɵngDeclareFactory({
20745
21038
  minVersion: "12.0.0",
20746
21039
  version: "22.2.1",
@@ -20946,7 +21239,7 @@ var SearchBarComponent = class SearchBarComponent extends SearchBarBase {
20946
21239
  selector: "SearchBar:not([suggestions]), search-bar:not([suggestions]), searchbar:not([suggestions])",
20947
21240
  usesInheritance: true,
20948
21241
  ngImport: i0,
20949
- 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",
21242
+ 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",
20950
21243
  isInline: true,
20951
21244
  dependencies: [
20952
21245
  {
@@ -21022,7 +21315,8 @@ i0.ɵɵngDeclareClassMetadata({
21022
21315
  template: `${BEFORE_CONTROL}
21023
21316
  <input ${CONTROL_ATTRIBUTES}
21024
21317
  [value]="value()"
21025
- (input)="value.set($any($event.target).value)" />${AFTER_CONTROL}`
21318
+ (input)="value.set($any($event.target).value)"
21319
+ (keydown.enter)="emitSearchOnEnter($event)" />${AFTER_CONTROL}`
21026
21320
  }]
21027
21321
  }]
21028
21322
  });
@@ -21051,7 +21345,7 @@ var SearchBarSuggestionsComponent = class SearchBarSuggestionsComponent extends
21051
21345
  }],
21052
21346
  usesInheritance: true,
21053
21347
  ngImport: i0,
21054
- 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",
21348
+ 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",
21055
21349
  isInline: true,
21056
21350
  dependencies: [
21057
21351
  {
@@ -24332,6 +24626,427 @@ function normalize(sizes) {
24332
24626
  if (total <= 0) return sizes.map(() => 100 / sizes.length);
24333
24627
  return sizes.map((size) => size / total * 100);
24334
24628
  }
24335
- 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, 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 };
24629
+ const GHOST_TILT = 3;
24630
+ const GHOST_TILT_THRESHOLD = 4;
24631
+ const LANDING_DURATION = 220;
24632
+ const SLIDE_DURATION = 160;
24633
+ const TRANSPARENT_IMAGE = (() => {
24634
+ if (typeof Image === "undefined") return void 0;
24635
+ const image = new Image();
24636
+ image.src = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";
24637
+ return image;
24638
+ })();
24639
+ const prefersReducedMotion = () => typeof matchMedia === "function" && matchMedia("(prefers-reduced-motion: reduce)").matches;
24640
+ function moved(list, item, target, after) {
24641
+ const next = list.filter((entry) => entry !== item);
24642
+ next.splice(next.indexOf(target) + (after ? 1 : 0), 0, item);
24643
+ return next;
24644
+ }
24645
+ var SortableDirective = class SortableDirective {
24646
+ sortable = input.required(...ngDevMode ? [{ debugName: "sortable" }] : /* istanbul ignore next */ []);
24647
+ sortableDisabled = input(false, {
24648
+ ...ngDevMode ? { debugName: "sortableDisabled" } : /* istanbul ignore next */ {},
24649
+ transform: booleanAttribute
24650
+ });
24651
+ sortableAnnounce = input(void 0, ...ngDevMode ? [{ debugName: "sortableAnnounce" }] : /* istanbul ignore next */ []);
24652
+ reorder = output();
24653
+ document = inject(DOCUMENT);
24654
+ injector = inject(Injector);
24655
+ entries = contentChildren(forwardRef(() => SortableItemDirective), {
24656
+ ...ngDevMode ? { debugName: "entries" } : /* istanbul ignore next */ {},
24657
+ descendants: true
24658
+ });
24659
+ preview = signal(void 0, ...ngDevMode ? [{ debugName: "preview" }] : /* istanbul ignore next */ []);
24660
+ draggedItem = signal(void 0, ...ngDevMode ? [{ debugName: "draggedItem" }] : /* istanbul ignore next */ []);
24661
+ dragged = computed(() => this.draggedItem()?.item, ...ngDevMode ? [{ debugName: "dragged" }] : /* istanbul ignore next */ []);
24662
+ items = computed(() => this.preview() ?? this.sortable(), ...ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []);
24663
+ ghost;
24664
+ stopGhost;
24665
+ landing = false;
24666
+ liveRegion;
24667
+ constructor() {
24668
+ inject(DestroyRef).onDestroy(() => {
24669
+ this.stopGhost?.();
24670
+ this.liveRegion?.remove();
24671
+ });
24672
+ }
24673
+ startDrag(event, item, row) {
24674
+ if (this.sortableDisabled() || !event.dataTransfer) return;
24675
+ event.dataTransfer.effectAllowed = "move";
24676
+ event.dataTransfer.setData("text/plain", "");
24677
+ this.startGhost(event, row);
24678
+ this.draggedItem.set({ item });
24679
+ }
24680
+ dragOver(event, item, row) {
24681
+ const dragged = this.draggedItem();
24682
+ if (!dragged) return;
24683
+ event.preventDefault();
24684
+ if (event.dataTransfer) event.dataTransfer.dropEffect = "move";
24685
+ if (item === dragged.item) return;
24686
+ const { top, height } = row.getBoundingClientRect();
24687
+ const after = event.clientY > top + height / 2;
24688
+ const shown = this.items();
24689
+ const next = moved(shown, dragged.item, item, after);
24690
+ if (next.some((entry, index) => entry !== shown[index])) this.slide(() => this.preview.set(next));
24691
+ }
24692
+ onContainerDragOver(event) {
24693
+ if (!this.draggedItem()) return;
24694
+ event.preventDefault();
24695
+ if (event.dataTransfer) event.dataTransfer.dropEffect = "move";
24696
+ }
24697
+ onDrop(event) {
24698
+ if (!this.draggedItem()) return;
24699
+ event.preventDefault();
24700
+ const next = this.preview();
24701
+ if (next) this.reorder.emit(next);
24702
+ this.land(true);
24703
+ }
24704
+ endDrag() {
24705
+ if (!this.landing) this.land(false);
24706
+ }
24707
+ startGhost(event, row) {
24708
+ const { left, top, width } = row.getBoundingClientRect();
24709
+ const grabX = event.clientX - left;
24710
+ const grabY = event.clientY - top;
24711
+ if (TRANSPARENT_IMAGE) event.dataTransfer?.setDragImage(TRANSPARENT_IMAGE, 0, 0);
24712
+ const ghost = row.cloneNode(true);
24713
+ ghost.removeAttribute("draggable");
24714
+ ghost.removeAttribute("tabindex");
24715
+ ghost.removeAttribute("id");
24716
+ ghost.setAttribute("popover", "manual");
24717
+ ghost.setAttribute("aria-hidden", "true");
24718
+ const look = getComputedStyle(row);
24719
+ const box = [
24720
+ "Top",
24721
+ "Right",
24722
+ "Bottom",
24723
+ "Left"
24724
+ ].flatMap((side) => [`padding-${side.toLowerCase()}:${look.getPropertyValue(`padding-${side.toLowerCase()}`)}`, `border-${side.toLowerCase()}:${look.getPropertyValue(`border-${side.toLowerCase()}-width`)} ${look.getPropertyValue(`border-${side.toLowerCase()}-style`)} ${look.getPropertyValue(`border-${side.toLowerCase()}-color`)}`]);
24725
+ const transparent = look.backgroundColor === "rgba(0, 0, 0, 0)" || look.backgroundColor === "transparent";
24726
+ ghost.style.cssText = [
24727
+ "position:fixed",
24728
+ "inset:0 auto auto 0",
24729
+ "margin:0",
24730
+ ...box,
24731
+ `box-sizing:${look.boxSizing}`,
24732
+ "overflow:visible",
24733
+ "pointer-events:none",
24734
+ `width:${width}px`,
24735
+ `background-color:${transparent ? "var(--layer-page-layer)" : look.backgroundColor}`,
24736
+ `color:${look.color}`,
24737
+ `border-radius:${look.borderRadius}`,
24738
+ "box-shadow:0 12px 28px rgb(0 0 0 / 0.3)",
24739
+ `transform-origin:${grabX}px ${grabY}px`,
24740
+ `translate:${left}px ${top}px`,
24741
+ `rotate:${GHOST_TILT}deg`,
24742
+ "transition:rotate 180ms ease-out"
24743
+ ].join(";");
24744
+ this.document.body.appendChild(ghost);
24745
+ ghost.showPopover?.();
24746
+ let lastY = event.clientY;
24747
+ const follow = (e) => {
24748
+ if (this.landing || e.clientX === 0 && e.clientY === 0) return;
24749
+ ghost.style.translate = `${e.clientX - grabX}px ${e.clientY - grabY}px`;
24750
+ if (Math.abs(e.clientY - lastY) >= GHOST_TILT_THRESHOLD) {
24751
+ ghost.style.rotate = `${e.clientY > lastY ? GHOST_TILT : -3}deg`;
24752
+ lastY = e.clientY;
24753
+ }
24754
+ };
24755
+ this.document.addEventListener("dragover", follow);
24756
+ this.ghost = ghost;
24757
+ this.stopGhost = () => {
24758
+ this.document.removeEventListener("dragover", follow);
24759
+ ghost.remove();
24760
+ this.stopGhost = void 0;
24761
+ this.ghost = void 0;
24762
+ };
24763
+ }
24764
+ land(dropped) {
24765
+ this.landing = true;
24766
+ if (!dropped) this.preview.set(void 0);
24767
+ const finish = () => {
24768
+ if (!this.landing) return;
24769
+ this.stopGhost?.();
24770
+ this.preview.set(void 0);
24771
+ this.draggedItem.set(void 0);
24772
+ this.landing = false;
24773
+ };
24774
+ const ghost = this.ghost;
24775
+ if (!ghost || typeof ghost.animate !== "function" || prefersReducedMotion()) return finish();
24776
+ afterNextRender(() => {
24777
+ const dragged = this.draggedItem();
24778
+ const slot = this.entries().find((entry) => dragged && entry.sortableItem() === dragged.item)?.element.getBoundingClientRect();
24779
+ if (!slot) return finish();
24780
+ setTimeout(finish, 420);
24781
+ ghost.animate([{
24782
+ translate: ghost.style.translate,
24783
+ rotate: ghost.style.rotate
24784
+ }, {
24785
+ translate: `${slot.left}px ${slot.top}px`,
24786
+ rotate: "0deg",
24787
+ boxShadow: "0 1px 2px rgb(0 0 0 / 0.1)"
24788
+ }], {
24789
+ duration: LANDING_DURATION,
24790
+ easing: "cubic-bezier(0.2, 0.8, 0.2, 1)",
24791
+ fill: "forwards"
24792
+ }).onfinish = finish;
24793
+ }, { injector: this.injector });
24794
+ }
24795
+ slide(change) {
24796
+ const before = new Map(this.entries().map((entry) => [entry.element, entry.element.getBoundingClientRect().top]));
24797
+ change();
24798
+ afterNextRender(() => {
24799
+ if (prefersReducedMotion()) return;
24800
+ for (const { element } of this.entries()) {
24801
+ const delta = (before.get(element) ?? 0) - element.getBoundingClientRect().top;
24802
+ if (delta && typeof element.animate === "function") element.animate([{ transform: `translateY(${delta}px)` }, { transform: "none" }], {
24803
+ duration: SLIDE_DURATION,
24804
+ easing: "ease-out"
24805
+ });
24806
+ }
24807
+ }, { injector: this.injector });
24808
+ }
24809
+ moveBy(item, delta) {
24810
+ if (this.sortableDisabled()) return;
24811
+ const shown = this.items();
24812
+ const from = shown.indexOf(item);
24813
+ const to = from + delta;
24814
+ if (from < 0 || to < 0 || to >= shown.length) return;
24815
+ this.reorder.emit(moved(shown, item, shown[to], delta > 0));
24816
+ this.announce(this.sortableAnnounce()?.(item, to + 1, shown.length));
24817
+ afterNextRender(() => this.entries().find((entry) => entry.sortableItem() === item)?.element.focus(), { injector: this.injector });
24818
+ }
24819
+ announce(text) {
24820
+ if (!text) return;
24821
+ if (!this.liveRegion) {
24822
+ const region = this.document.createElement("div");
24823
+ region.setAttribute("role", "status");
24824
+ region.setAttribute("aria-live", "polite");
24825
+ region.style.cssText = "position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0";
24826
+ this.document.body.appendChild(region);
24827
+ this.liveRegion = region;
24828
+ }
24829
+ this.liveRegion.textContent = text;
24830
+ }
24831
+ static ɵfac = i0.ɵɵngDeclareFactory({
24832
+ minVersion: "12.0.0",
24833
+ version: "22.2.1",
24834
+ ngImport: i0,
24835
+ type: SortableDirective,
24836
+ deps: [],
24837
+ target: i0.ɵɵFactoryTarget.Directive
24838
+ });
24839
+ static ɵdir = i0.ɵɵngDeclareDirective({
24840
+ minVersion: "17.2.0",
24841
+ version: "22.2.1",
24842
+ type: SortableDirective,
24843
+ isStandalone: true,
24844
+ selector: "[sortable]",
24845
+ inputs: {
24846
+ sortable: {
24847
+ classPropertyName: "sortable",
24848
+ publicName: "sortable",
24849
+ isSignal: true,
24850
+ isRequired: true,
24851
+ transformFunction: null
24852
+ },
24853
+ sortableDisabled: {
24854
+ classPropertyName: "sortableDisabled",
24855
+ publicName: "sortableDisabled",
24856
+ isSignal: true,
24857
+ isRequired: false,
24858
+ transformFunction: null
24859
+ },
24860
+ sortableAnnounce: {
24861
+ classPropertyName: "sortableAnnounce",
24862
+ publicName: "sortableAnnounce",
24863
+ isSignal: true,
24864
+ isRequired: false,
24865
+ transformFunction: null
24866
+ }
24867
+ },
24868
+ outputs: { reorder: "reorder" },
24869
+ host: { listeners: {
24870
+ "dragenter": "onContainerDragOver($event)",
24871
+ "dragover": "onContainerDragOver($event)",
24872
+ "drop": "onDrop($event)"
24873
+ } },
24874
+ queries: [{
24875
+ propertyName: "entries",
24876
+ predicate: i0.forwardRef(() => SortableItemDirective),
24877
+ descendants: true,
24878
+ isSignal: true
24879
+ }],
24880
+ exportAs: ["sortable"],
24881
+ ngImport: i0
24882
+ });
24883
+ };
24884
+ i0.ɵɵngDeclareClassMetadata({
24885
+ minVersion: "12.0.0",
24886
+ version: "22.2.1",
24887
+ ngImport: i0,
24888
+ type: SortableDirective,
24889
+ decorators: [{
24890
+ type: Directive,
24891
+ args: [{
24892
+ selector: "[sortable]",
24893
+ exportAs: "sortable",
24894
+ standalone: true,
24895
+ host: {
24896
+ "(dragenter)": "onContainerDragOver($event)",
24897
+ "(dragover)": "onContainerDragOver($event)",
24898
+ "(drop)": "onDrop($event)"
24899
+ }
24900
+ }]
24901
+ }],
24902
+ ctorParameters: () => [],
24903
+ propDecorators: {
24904
+ sortable: [{
24905
+ type: i0.Input,
24906
+ args: [{
24907
+ isSignal: true,
24908
+ alias: "sortable",
24909
+ required: true
24910
+ }]
24911
+ }],
24912
+ sortableDisabled: [{
24913
+ type: i0.Input,
24914
+ args: [{
24915
+ isSignal: true,
24916
+ alias: "sortableDisabled",
24917
+ required: false
24918
+ }]
24919
+ }],
24920
+ sortableAnnounce: [{
24921
+ type: i0.Input,
24922
+ args: [{
24923
+ isSignal: true,
24924
+ alias: "sortableAnnounce",
24925
+ required: false
24926
+ }]
24927
+ }],
24928
+ reorder: [{
24929
+ type: i0.Output,
24930
+ args: ["reorder"]
24931
+ }],
24932
+ entries: [{
24933
+ type: i0.ContentChildren,
24934
+ args: [forwardRef(() => SortableItemDirective), {
24935
+ descendants: true,
24936
+ isSignal: true
24937
+ }]
24938
+ }]
24939
+ }
24940
+ });
24941
+ var SortableItemDirective = class SortableItemDirective {
24942
+ sortableItem = input.required(...ngDevMode ? [{ debugName: "sortableItem" }] : /* istanbul ignore next */ []);
24943
+ list = inject(SortableDirective);
24944
+ element = inject(ElementRef).nativeElement;
24945
+ sortableItemDisabled = input(false, {
24946
+ ...ngDevMode ? { debugName: "sortableItemDisabled" } : /* istanbul ignore next */ {},
24947
+ transform: booleanAttribute
24948
+ });
24949
+ locked = computed(() => this.list.sortableDisabled() || this.sortableItemDisabled(), ...ngDevMode ? [{ debugName: "locked" }] : /* istanbul ignore next */ []);
24950
+ dragging = computed(() => this.list.dragged() === this.sortableItem(), ...ngDevMode ? [{ debugName: "dragging" }] : /* istanbul ignore next */ []);
24951
+ onDragStart(event) {
24952
+ if (this.locked()) return;
24953
+ this.list.startDrag(event, this.sortableItem(), this.element);
24954
+ }
24955
+ onMoveKey(event, delta) {
24956
+ if (event.target !== event.currentTarget || this.locked()) return;
24957
+ event.preventDefault();
24958
+ this.list.moveBy(this.sortableItem(), delta);
24959
+ }
24960
+ static ɵfac = i0.ɵɵngDeclareFactory({
24961
+ minVersion: "12.0.0",
24962
+ version: "22.2.1",
24963
+ ngImport: i0,
24964
+ type: SortableItemDirective,
24965
+ deps: [],
24966
+ target: i0.ɵɵFactoryTarget.Directive
24967
+ });
24968
+ static ɵdir = i0.ɵɵngDeclareDirective({
24969
+ minVersion: "17.1.0",
24970
+ version: "22.2.1",
24971
+ type: SortableItemDirective,
24972
+ isStandalone: true,
24973
+ selector: "[sortableItem]",
24974
+ inputs: {
24975
+ sortableItem: {
24976
+ classPropertyName: "sortableItem",
24977
+ publicName: "sortableItem",
24978
+ isSignal: true,
24979
+ isRequired: true,
24980
+ transformFunction: null
24981
+ },
24982
+ sortableItemDisabled: {
24983
+ classPropertyName: "sortableItemDisabled",
24984
+ publicName: "sortableItemDisabled",
24985
+ isSignal: true,
24986
+ isRequired: false,
24987
+ transformFunction: null
24988
+ }
24989
+ },
24990
+ host: {
24991
+ listeners: {
24992
+ "dragstart": "onDragStart($event)",
24993
+ "dragover": "list.dragOver($event, sortableItem(), element)",
24994
+ "dragend": "list.endDrag()",
24995
+ "keydown.alt.arrowup": "onMoveKey($event, -1)",
24996
+ "keydown.alt.arrowdown": "onMoveKey($event, 1)"
24997
+ },
24998
+ properties: {
24999
+ "attr.draggable": "locked() ? null : 'true'",
25000
+ "attr.data-dragging": "dragging() ? '' : null",
25001
+ "attr.data-disabled": "locked() ? '' : null",
25002
+ "attr.aria-keyshortcuts": "locked() ? null : 'Alt+ArrowUp Alt+ArrowDown'"
25003
+ }
25004
+ },
25005
+ ngImport: i0
25006
+ });
25007
+ };
25008
+ i0.ɵɵngDeclareClassMetadata({
25009
+ minVersion: "12.0.0",
25010
+ version: "22.2.1",
25011
+ ngImport: i0,
25012
+ type: SortableItemDirective,
25013
+ decorators: [{
25014
+ type: Directive,
25015
+ args: [{
25016
+ selector: "[sortableItem]",
25017
+ standalone: true,
25018
+ host: {
25019
+ "[attr.draggable]": "locked() ? null : 'true'",
25020
+ "[attr.data-dragging]": "dragging() ? '' : null",
25021
+ "[attr.data-disabled]": "locked() ? '' : null",
25022
+ "[attr.aria-keyshortcuts]": "locked() ? null : 'Alt+ArrowUp Alt+ArrowDown'",
25023
+ "(dragstart)": "onDragStart($event)",
25024
+ "(dragover)": "list.dragOver($event, sortableItem(), element)",
25025
+ "(dragend)": "list.endDrag()",
25026
+ "(keydown.alt.arrowup)": "onMoveKey($event, -1)",
25027
+ "(keydown.alt.arrowdown)": "onMoveKey($event, 1)"
25028
+ }
25029
+ }]
25030
+ }],
25031
+ propDecorators: {
25032
+ sortableItem: [{
25033
+ type: i0.Input,
25034
+ args: [{
25035
+ isSignal: true,
25036
+ alias: "sortableItem",
25037
+ required: true
25038
+ }]
25039
+ }],
25040
+ sortableItemDisabled: [{
25041
+ type: i0.Input,
25042
+ args: [{
25043
+ isSignal: true,
25044
+ alias: "sortableItemDisabled",
25045
+ required: false
25046
+ }]
25047
+ }]
25048
+ }
25049
+ });
25050
+ 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, BellSlashIcon, BellSlashIconComponent, 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, GripVerticalIcon, GripVerticalIconComponent, 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, SortableDirective, SortableItemDirective, 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, TruncatedDirective, 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 };
24336
25051
 
24337
25052
  //# sourceMappingURL=sinequa-galactik.mjs.map