@sinequa/galactik 2.6.0 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -17,6 +17,7 @@ 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
+ import { FormField, disabled, form, readonly } from "@angular/forms/signals";
20
21
  function isApplePlatform() {
21
22
  if (typeof navigator === "undefined") return false;
22
23
  const platform = navigator.userAgentData?.platform || navigator.userAgent;
@@ -6555,6 +6556,67 @@ i0.ɵɵngDeclareClassMetadata({
6555
6556
  }] }
6556
6557
  });
6557
6558
  const QuestionCircleIconComponent = QuestionCircleIcon;
6559
+ var QuickFilterIcon = class QuickFilterIcon {
6560
+ class = input(...ngDevMode ? [void 0, { debugName: "class" }] : /* istanbul ignore next */ []);
6561
+ classes = computed(() => cn(this.class()), ...ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []);
6562
+ static ɵfac = i0.ɵɵngDeclareFactory({
6563
+ minVersion: "12.0.0",
6564
+ version: "22.2.1",
6565
+ ngImport: i0,
6566
+ type: QuickFilterIcon,
6567
+ deps: [],
6568
+ target: i0.ɵɵFactoryTarget.Component
6569
+ });
6570
+ static ɵcmp = i0.ɵɵngDeclareComponent({
6571
+ minVersion: "17.1.0",
6572
+ version: "22.2.1",
6573
+ type: QuickFilterIcon,
6574
+ isStandalone: true,
6575
+ selector: "quick-filter, quick-filter-icon, QuickFilter, QuickFilterIcon",
6576
+ inputs: { class: {
6577
+ classPropertyName: "class",
6578
+ publicName: "class",
6579
+ isSignal: true,
6580
+ isRequired: false,
6581
+ transformFunction: null
6582
+ } },
6583
+ ngImport: i0,
6584
+ template: `
6585
+ <svg [class]="classes()" aria-hidden="true" width="1rem" height="1rem" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none">
6586
+ <path d="M5.5423 2.40094C5.1323 2.40094 4.7998 2.73344 4.7998 3.14344C4.7998 3.34094 4.8773 3.52844 5.0173 3.66844L8.3998 7.04844V9.60094C8.3998 9.76094 8.4623 9.91344 8.5748 10.0259L10.3323 11.7834C10.4723 11.9234 10.6598 12.0009 10.8573 12.0009C11.2673 12.0009 11.5998 11.6684 11.5998 11.2584V7.04844L14.9823 3.66594C15.1223 3.52594 15.1998 3.33844 15.1998 3.14094C15.1998 2.73094 14.8673 2.39844 14.4573 2.39844L5.5423 2.40094ZM9.4248 6.37594L6.6498 3.60094H13.3523L10.5773 6.37594C10.4648 6.48844 10.4023 6.64094 10.4023 6.80094V10.1534L9.60231 9.35344V6.80094C9.60231 6.64094 9.53981 6.48844 9.42731 6.37594H9.4248ZM4.4548 4.80094H1.5423C1.1323 4.80094 0.799805 5.13344 0.799805 5.54344C0.799805 5.74094 0.877305 5.92844 1.0173 6.06844L4.3998 9.44844V12.0009C4.3998 12.1609 4.4623 12.3134 4.5748 12.4259L6.3323 14.1834C6.4723 14.3234 6.6598 14.4009 6.8573 14.4009C7.2673 14.4009 7.5998 14.0684 7.5998 13.6584V10.7309C7.3423 10.4134 7.1998 10.0134 7.1998 9.59844V8.15094L6.5748 8.77594C6.4623 8.88844 6.3998 9.04094 6.3998 9.20094V12.5534L5.5998 11.7534V9.20094C5.5998 9.04094 5.5373 8.88844 5.4248 8.77594L2.6498 6.00094H5.6548L4.4548 4.80094Z" fill="currentColor"></path>
6587
+ </svg>
6588
+ `,
6589
+ isInline: true,
6590
+ styles: [":host{display:contents}\n"]
6591
+ });
6592
+ };
6593
+ i0.ɵɵngDeclareClassMetadata({
6594
+ minVersion: "12.0.0",
6595
+ version: "22.2.1",
6596
+ ngImport: i0,
6597
+ type: QuickFilterIcon,
6598
+ decorators: [{
6599
+ type: Component,
6600
+ args: [{
6601
+ selector: "quick-filter, quick-filter-icon, QuickFilter, QuickFilterIcon",
6602
+ template: `
6603
+ <svg [class]="classes()" aria-hidden="true" width="1rem" height="1rem" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none">
6604
+ <path d="M5.5423 2.40094C5.1323 2.40094 4.7998 2.73344 4.7998 3.14344C4.7998 3.34094 4.8773 3.52844 5.0173 3.66844L8.3998 7.04844V9.60094C8.3998 9.76094 8.4623 9.91344 8.5748 10.0259L10.3323 11.7834C10.4723 11.9234 10.6598 12.0009 10.8573 12.0009C11.2673 12.0009 11.5998 11.6684 11.5998 11.2584V7.04844L14.9823 3.66594C15.1223 3.52594 15.1998 3.33844 15.1998 3.14094C15.1998 2.73094 14.8673 2.39844 14.4573 2.39844L5.5423 2.40094ZM9.4248 6.37594L6.6498 3.60094H13.3523L10.5773 6.37594C10.4648 6.48844 10.4023 6.64094 10.4023 6.80094V10.1534L9.60231 9.35344V6.80094C9.60231 6.64094 9.53981 6.48844 9.42731 6.37594H9.4248ZM4.4548 4.80094H1.5423C1.1323 4.80094 0.799805 5.13344 0.799805 5.54344C0.799805 5.74094 0.877305 5.92844 1.0173 6.06844L4.3998 9.44844V12.0009C4.3998 12.1609 4.4623 12.3134 4.5748 12.4259L6.3323 14.1834C6.4723 14.3234 6.6598 14.4009 6.8573 14.4009C7.2673 14.4009 7.5998 14.0684 7.5998 13.6584V10.7309C7.3423 10.4134 7.1998 10.0134 7.1998 9.59844V8.15094L6.5748 8.77594C6.4623 8.88844 6.3998 9.04094 6.3998 9.20094V12.5534L5.5998 11.7534V9.20094C5.5998 9.04094 5.5373 8.88844 5.4248 8.77594L2.6498 6.00094H5.6548L4.4548 4.80094Z" fill="currentColor"></path>
6605
+ </svg>
6606
+ `,
6607
+ styles: [":host{display:contents}\n"]
6608
+ }]
6609
+ }],
6610
+ propDecorators: { class: [{
6611
+ type: i0.Input,
6612
+ args: [{
6613
+ isSignal: true,
6614
+ alias: "class",
6615
+ required: false
6616
+ }]
6617
+ }] }
6618
+ });
6619
+ const QuickFilterIconComponent = QuickFilterIcon;
6558
6620
  var RefreshIcon = class RefreshIcon {
6559
6621
  class = input(...ngDevMode ? [void 0, { debugName: "class" }] : /* istanbul ignore next */ []);
6560
6622
  classes = computed(() => cn(this.class()), ...ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []);
@@ -9292,12 +9354,13 @@ function injectFloatingPanel(options) {
9292
9354
  panel.showPopover();
9293
9355
  }
9294
9356
  const placement = typeof options.placement === "function" ? options.placement() : options.placement ?? "bottom-start";
9357
+ const distance = typeof options.offset === "function" ? options.offset() : options.offset ?? 4;
9295
9358
  const stop = autoUpdate(anchor, panel, () => {
9296
9359
  computePosition(anchor, panel, {
9297
9360
  strategy: "fixed",
9298
9361
  placement,
9299
9362
  middleware: [
9300
- offset(options.offset ?? 4),
9363
+ offset(distance),
9301
9364
  ...allowFlip ? [flip()] : [],
9302
9365
  shift({ padding: options.padding ?? 8 }),
9303
9366
  ...arrowElement ? [arrow({
@@ -9347,6 +9410,315 @@ function placeArrow(panel, arrowElement, placed, data) {
9347
9410
  arrowElement.style.right = arrowElement.style.bottom = "";
9348
9411
  arrowElement.style.setProperty(staticSide, `${-arrowElement.offsetWidth / 2}px`);
9349
9412
  }
9413
+ const TOP_MARGIN = 8;
9414
+ const BOTTOM_MARGIN = 16;
9415
+ const holders = /* @__PURE__ */ new WeakMap();
9416
+ const MIN_ROOM_BELOW = 24;
9417
+ var PopoverResizeHandleComponent = class PopoverResizeHandleComponent {
9418
+ edge = input("top", ...ngDevMode ? [{ debugName: "edge" }] : /* istanbul ignore next */ []);
9419
+ min = input(200, {
9420
+ ...ngDevMode ? { debugName: "min" } : /* istanbul ignore next */ {},
9421
+ transform: numberAttribute
9422
+ });
9423
+ step = input(16, {
9424
+ ...ngDevMode ? { debugName: "step" } : /* istanbul ignore next */ {},
9425
+ transform: numberAttribute
9426
+ });
9427
+ label = input("Resize", ...ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []);
9428
+ class = input(...ngDevMode ? [void 0, { debugName: "class" }] : /* istanbul ignore next */ []);
9429
+ resizeStart = output();
9430
+ host = inject(ElementRef);
9431
+ destroyRef = inject(DestroyRef);
9432
+ valueNow = signal(null, ...ngDevMode ? [{ debugName: "valueNow" }] : /* istanbul ignore next */ []);
9433
+ valueMax = signal(null, ...ngDevMode ? [{ debugName: "valueMax" }] : /* istanbul ignore next */ []);
9434
+ hidden = signal(false, ...ngDevMode ? [{ debugName: "hidden" }] : /* istanbul ignore next */ []);
9435
+ classes = computed(() => cn("flex h-(--spacing-xs) w-full shrink-0 cursor-row-resize touch-none items-center justify-center rounded-(--radius-xs) outline-none hover:[&>span]:opacity-100 focus-visible:outline-2 focus-visible:outline-solid focus-visible:outline-(--stroke-focus) focus-visible:[&>span]:opacity-100", this.hidden() && "hidden", this.class()), ...ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []);
9436
+ held = null;
9437
+ heldTimer;
9438
+ drag = null;
9439
+ constructor() {
9440
+ afterNextRender(() => {
9441
+ const popover = this.popover();
9442
+ if (!popover) return;
9443
+ const refresh = () => this.refresh();
9444
+ popover.addEventListener("toggle", refresh);
9445
+ window.addEventListener("resize", refresh);
9446
+ const observer = typeof ResizeObserver === "undefined" ? void 0 : new ResizeObserver(refresh);
9447
+ observer?.observe(popover);
9448
+ const placements = typeof MutationObserver === "undefined" ? void 0 : new MutationObserver(() => this.holdBottom());
9449
+ placements?.observe(popover, {
9450
+ attributes: true,
9451
+ attributeFilter: ["style"]
9452
+ });
9453
+ this.destroyRef.onDestroy(() => {
9454
+ popover.removeEventListener("toggle", refresh);
9455
+ window.removeEventListener("resize", refresh);
9456
+ observer?.disconnect();
9457
+ placements?.disconnect();
9458
+ clearTimeout(this.heldTimer);
9459
+ });
9460
+ this.refresh();
9461
+ });
9462
+ }
9463
+ popover() {
9464
+ return this.host.nativeElement.closest("[popover]");
9465
+ }
9466
+ refresh() {
9467
+ const popover = this.popover();
9468
+ if (!popover) return;
9469
+ const rect = popover.getBoundingClientRect();
9470
+ this.valueNow.set(Math.round(rect.height));
9471
+ this.valueMax.set(Math.round(this.largest(rect)));
9472
+ if (this.edge() === "bottom" && !this.drag) this.hidden.set(window.innerHeight - BOTTOM_MARGIN - rect.bottom < MIN_ROOM_BELOW);
9473
+ }
9474
+ largest(rect) {
9475
+ return this.edge() === "top" ? rect.bottom - TOP_MARGIN : window.innerHeight - BOTTOM_MARGIN - rect.top;
9476
+ }
9477
+ setHeight(requested, bottom) {
9478
+ const popover = this.popover();
9479
+ if (!popover) return;
9480
+ const rect = popover.getBoundingClientRect();
9481
+ const height = Math.round(Math.min(Math.max(requested, this.min()), Math.max(this.min(), this.edge() === "top" ? bottom - TOP_MARGIN : window.innerHeight - BOTTOM_MARGIN - rect.top)));
9482
+ popover.style.maxHeight = "none";
9483
+ popover.style.height = `${height}px`;
9484
+ if (this.edge() === "top") {
9485
+ const translated = this.translateY(popover);
9486
+ const top = rect.top - translated;
9487
+ const next = bottom - height - top;
9488
+ popover.style.translate = next ? `0 ${next}px` : "";
9489
+ this.hold(bottom, popover);
9490
+ }
9491
+ this.valueNow.set(height);
9492
+ this.valueMax.set(Math.round(this.edge() === "top" ? bottom - TOP_MARGIN : window.innerHeight - BOTTOM_MARGIN - popover.getBoundingClientRect().top));
9493
+ }
9494
+ holdBottom() {
9495
+ const popover = this.popover();
9496
+ if (this.held === null || !popover || this.edge() !== "top") return;
9497
+ const rect = popover.getBoundingClientRect();
9498
+ const translated = this.translateY(popover);
9499
+ const next = this.held - rect.height - (rect.top - translated);
9500
+ if (Math.abs(next - translated) > .5) popover.style.translate = next ? `0 ${next}px` : "";
9501
+ }
9502
+ hold(bottom, popover) {
9503
+ holders.set(popover, this);
9504
+ this.held = bottom;
9505
+ clearTimeout(this.heldTimer);
9506
+ this.heldTimer = setTimeout(() => this.held = null, 400);
9507
+ }
9508
+ release() {
9509
+ this.held = null;
9510
+ clearTimeout(this.heldTimer);
9511
+ }
9512
+ begin(popover) {
9513
+ const other = holders.get(popover);
9514
+ if (other && other !== this) other.release();
9515
+ this.resizeStart.emit();
9516
+ }
9517
+ translateY(popover) {
9518
+ const parts = popover.style.translate.trim().split(/\s+/);
9519
+ return parts.length > 1 ? parseFloat(parts[1]) || 0 : 0;
9520
+ }
9521
+ onPointerDown(event) {
9522
+ const popover = this.popover();
9523
+ if (!popover || event.pointerType === "mouse" && event.button !== 0) return;
9524
+ this.begin(popover);
9525
+ const rect = popover.getBoundingClientRect();
9526
+ this.drag = {
9527
+ pointerId: event.pointerId,
9528
+ startY: event.clientY,
9529
+ startHeight: rect.height,
9530
+ bottom: rect.bottom
9531
+ };
9532
+ this.host.nativeElement.setPointerCapture?.(event.pointerId);
9533
+ event.preventDefault();
9534
+ }
9535
+ onPointerMove(event) {
9536
+ const drag = this.drag;
9537
+ if (!drag || event.pointerId !== drag.pointerId) return;
9538
+ const delta = this.edge() === "top" ? drag.startY - event.clientY : event.clientY - drag.startY;
9539
+ this.setHeight(drag.startHeight + delta, drag.bottom);
9540
+ }
9541
+ onPointerEnd(event) {
9542
+ if (!this.drag || event.pointerId !== this.drag.pointerId) return;
9543
+ this.host.nativeElement.releasePointerCapture?.(event.pointerId);
9544
+ this.drag = null;
9545
+ this.refresh();
9546
+ }
9547
+ onKeydown(event) {
9548
+ const popover = this.popover();
9549
+ if (!popover) return;
9550
+ const rect = popover.getBoundingClientRect();
9551
+ const grows = this.edge() === "top" ? "ArrowUp" : "ArrowDown";
9552
+ const shrinks = this.edge() === "top" ? "ArrowDown" : "ArrowUp";
9553
+ let height;
9554
+ if (event.key === grows) height = rect.height + this.step();
9555
+ else if (event.key === shrinks) height = rect.height - this.step();
9556
+ else if (event.key === "Home") height = this.min();
9557
+ else if (event.key === "End") height = this.largest(rect);
9558
+ else return;
9559
+ event.preventDefault();
9560
+ this.begin(popover);
9561
+ this.setHeight(height, rect.bottom);
9562
+ }
9563
+ static ɵfac = i0.ɵɵngDeclareFactory({
9564
+ minVersion: "12.0.0",
9565
+ version: "22.2.1",
9566
+ ngImport: i0,
9567
+ type: PopoverResizeHandleComponent,
9568
+ deps: [],
9569
+ target: i0.ɵɵFactoryTarget.Component
9570
+ });
9571
+ static ɵcmp = i0.ɵɵngDeclareComponent({
9572
+ minVersion: "17.1.0",
9573
+ version: "22.2.1",
9574
+ type: PopoverResizeHandleComponent,
9575
+ isStandalone: true,
9576
+ selector: "PopoverResizeHandle, popover-resize-handle",
9577
+ inputs: {
9578
+ edge: {
9579
+ classPropertyName: "edge",
9580
+ publicName: "edge",
9581
+ isSignal: true,
9582
+ isRequired: false,
9583
+ transformFunction: null
9584
+ },
9585
+ min: {
9586
+ classPropertyName: "min",
9587
+ publicName: "min",
9588
+ isSignal: true,
9589
+ isRequired: false,
9590
+ transformFunction: null
9591
+ },
9592
+ step: {
9593
+ classPropertyName: "step",
9594
+ publicName: "step",
9595
+ isSignal: true,
9596
+ isRequired: false,
9597
+ transformFunction: null
9598
+ },
9599
+ label: {
9600
+ classPropertyName: "label",
9601
+ publicName: "label",
9602
+ isSignal: true,
9603
+ isRequired: false,
9604
+ transformFunction: null
9605
+ },
9606
+ class: {
9607
+ classPropertyName: "class",
9608
+ publicName: "class",
9609
+ isSignal: true,
9610
+ isRequired: false,
9611
+ transformFunction: null
9612
+ }
9613
+ },
9614
+ outputs: { resizeStart: "resizeStart" },
9615
+ host: {
9616
+ attributes: {
9617
+ "role": "separator",
9618
+ "aria-orientation": "horizontal"
9619
+ },
9620
+ listeners: {
9621
+ "pointerdown": "onPointerDown($event)",
9622
+ "pointermove": "onPointerMove($event)",
9623
+ "pointerup": "onPointerEnd($event)",
9624
+ "pointercancel": "onPointerEnd($event)",
9625
+ "keydown": "onKeydown($event)",
9626
+ "focus": "refresh()"
9627
+ },
9628
+ properties: {
9629
+ "attr.aria-label": "label()",
9630
+ "attr.aria-valuemin": "min()",
9631
+ "attr.aria-valuenow": "valueNow()",
9632
+ "attr.aria-valuemax": "valueMax()",
9633
+ "attr.tabindex": "hidden() ? -1 : 0",
9634
+ "class": "classes()"
9635
+ }
9636
+ },
9637
+ ngImport: i0,
9638
+ template: `<span
9639
+ aria-hidden="true"
9640
+ class="h-0.5 w-6 rounded-full bg-(--bg-neutral-base) opacity-0 transition-opacity duration-150 motion-reduce:transition-none"></span>`,
9641
+ isInline: true
9642
+ });
9643
+ };
9644
+ i0.ɵɵngDeclareClassMetadata({
9645
+ minVersion: "12.0.0",
9646
+ version: "22.2.1",
9647
+ ngImport: i0,
9648
+ type: PopoverResizeHandleComponent,
9649
+ decorators: [{
9650
+ type: Component,
9651
+ args: [{
9652
+ selector: "PopoverResizeHandle, popover-resize-handle",
9653
+ template: `<span
9654
+ aria-hidden="true"
9655
+ class="h-0.5 w-6 rounded-full bg-(--bg-neutral-base) opacity-0 transition-opacity duration-150 motion-reduce:transition-none"></span>`,
9656
+ host: {
9657
+ role: "separator",
9658
+ "aria-orientation": "horizontal",
9659
+ "[attr.aria-label]": "label()",
9660
+ "[attr.aria-valuemin]": "min()",
9661
+ "[attr.aria-valuenow]": "valueNow()",
9662
+ "[attr.aria-valuemax]": "valueMax()",
9663
+ "[attr.tabindex]": "hidden() ? -1 : 0",
9664
+ "[class]": "classes()",
9665
+ "(pointerdown)": "onPointerDown($event)",
9666
+ "(pointermove)": "onPointerMove($event)",
9667
+ "(pointerup)": "onPointerEnd($event)",
9668
+ "(pointercancel)": "onPointerEnd($event)",
9669
+ "(keydown)": "onKeydown($event)",
9670
+ "(focus)": "refresh()"
9671
+ }
9672
+ }]
9673
+ }],
9674
+ ctorParameters: () => [],
9675
+ propDecorators: {
9676
+ edge: [{
9677
+ type: i0.Input,
9678
+ args: [{
9679
+ isSignal: true,
9680
+ alias: "edge",
9681
+ required: false
9682
+ }]
9683
+ }],
9684
+ min: [{
9685
+ type: i0.Input,
9686
+ args: [{
9687
+ isSignal: true,
9688
+ alias: "min",
9689
+ required: false
9690
+ }]
9691
+ }],
9692
+ step: [{
9693
+ type: i0.Input,
9694
+ args: [{
9695
+ isSignal: true,
9696
+ alias: "step",
9697
+ required: false
9698
+ }]
9699
+ }],
9700
+ label: [{
9701
+ type: i0.Input,
9702
+ args: [{
9703
+ isSignal: true,
9704
+ alias: "label",
9705
+ required: false
9706
+ }]
9707
+ }],
9708
+ class: [{
9709
+ type: i0.Input,
9710
+ args: [{
9711
+ isSignal: true,
9712
+ alias: "class",
9713
+ required: false
9714
+ }]
9715
+ }],
9716
+ resizeStart: [{
9717
+ type: i0.Output,
9718
+ args: ["resizeStart"]
9719
+ }]
9720
+ }
9721
+ });
9350
9722
  const TOOLTIP_CLASS = "tooltip-panel";
9351
9723
  const tooltipVariants = cva([
9352
9724
  TOOLTIP_CLASS,
@@ -12172,7 +12544,7 @@ const inputWrapVariants = cva([
12172
12544
  "hover:not-has-disabled:not-has-[[readonly]]:not-has-focus:border-(--stroke-primary-hovered)",
12173
12545
  "hover:not-has-disabled:not-has-[[readonly]]:not-has-focus:bg-(--bg-primary-lighter)",
12174
12546
  "has-focus:not-has-disabled:not-has-[[readonly]]:bg-(--bg-neutral-white)",
12175
- "has-focus:not-has-disabled:not-has-[[readonly]]:outline-2 has-focus:not-has-disabled:not-has-[[readonly]]:outline-offset-0 has-focus:not-has-disabled:not-has-[[readonly]]:outline-(--bg-primary-hovered) has-focus:not-has-disabled:not-has-[[readonly]]:outline-solid",
12547
+ "has-focus:not-has-disabled:not-has-[[readonly]]:outline-2 has-focus:not-has-disabled:not-has-[[readonly]]:outline-offset-0 has-focus:not-has-disabled:not-has-[[readonly]]:outline-(--stroke-focus) has-focus:not-has-disabled:not-has-[[readonly]]:outline-solid",
12176
12548
  "has-disabled:cursor-not-allowed has-disabled:border-(--stroke-neutral-disabled) has-disabled:bg-(--bg-neutral-disabled)",
12177
12549
  "has-disabled:[&_.input-control]:text-(--font-neutral-muted)",
12178
12550
  "has-disabled:[&_.input-control]:cursor-not-allowed",
@@ -14075,7 +14447,9 @@ const toggleVariants = cva([
14075
14447
  "text-(--font-primary-base)",
14076
14448
  "not-aria-disabled:not-aria-pressed:hover:bg-(--bg-primary-hovered) not-aria-disabled:not-aria-pressed:hover:text-(--font-neutral-white)",
14077
14449
  "not-aria-disabled:not-aria-pressed:active:bg-(--bg-primary-pressed) not-aria-disabled:not-aria-pressed:active:font-bold not-aria-disabled:not-aria-pressed:active:text-(--font-primary-pressed)",
14078
- "aria-pressed:bg-(--bg-neutral-white) aria-pressed:text-(--font-primary-base) aria-pressed:shadow-(--shadow-2)"
14450
+ "aria-pressed:bg-(--bg-neutral-white) aria-pressed:text-(--font-primary-base) aria-pressed:shadow-(--shadow-2)",
14451
+ "[.dark_&]:aria-pressed:bg-(--bg-primary-base)",
14452
+ "[.dark_&]:not-aria-disabled:not-aria-pressed:hover:bg-(--bg-primary-light)"
14079
14453
  ],
14080
14454
  multi: [
14081
14455
  "text-(--font-neutral-black)",
@@ -14126,7 +14500,7 @@ const toggleVariants = cva([
14126
14500
  class: [
14127
14501
  "aria-pressed:before:absolute aria-pressed:before:content-['']",
14128
14502
  "aria-pressed:before:h-[2px] aria-pressed:before:rounded-[1px]",
14129
- "aria-pressed:before:pointer-events-none aria-pressed:before:bg-(--stroke-primary-lighter)"
14503
+ "aria-pressed:before:pointer-events-none aria-pressed:before:bg-(--stroke-primary-lighter) [.dark_&]:aria-pressed:before:bg-(--font-primary-base)"
14130
14504
  ]
14131
14505
  },
14132
14506
  {
@@ -14160,7 +14534,7 @@ const toggleVariants = cva([
14160
14534
  "aria-pressed:before:absolute aria-pressed:before:content-['']",
14161
14535
  "aria-pressed:before:left-1/2 aria-pressed:before:-translate-x-1/2",
14162
14536
  "aria-pressed:before:h-[2px] aria-pressed:before:w-2 aria-pressed:before:rounded-[1px]",
14163
- "aria-pressed:before:pointer-events-none aria-pressed:before:bg-(--stroke-primary-lighter)"
14537
+ "aria-pressed:before:pointer-events-none aria-pressed:before:bg-(--stroke-primary-lighter) [.dark_&]:aria-pressed:before:bg-(--font-primary-base)"
14164
14538
  ]
14165
14539
  },
14166
14540
  {
@@ -14197,8 +14571,8 @@ const toggleVariants = cva([
14197
14571
  });
14198
14572
  const toggleGroupVariants = cva(["inline-flex items-center gap-(--spacing-3xs)"], {
14199
14573
  variants: { variant: {
14200
- single: "rounded-(--radius-rounded) bg-(--bg-primary-lightest) p-(--spacing-3xs)",
14201
- multi: "rounded-(--radius-rounded) border border-(--stroke-primary-lighter) bg-(--bg-neutral-white) px-(--spacing-xl) py-(--spacing-2xs) shadow-(--shadow-1)"
14574
+ single: "rounded-(--radius-rounded) bg-(--bg-primary-lightest) p-(--spacing-3xs) [.dark_&]:bg-(--bg-primary-lighter)",
14575
+ multi: "rounded-(--radius-rounded) border border-(--stroke-primary-lighter) bg-(--bg-neutral-white) px-(--spacing-xl) py-(--spacing-2xs) shadow-(--shadow-1) [.dark_&]:border-(--stroke-primary-light)"
14202
14576
  } },
14203
14577
  defaultVariants: { variant: "single" }
14204
14578
  });
@@ -14894,7 +15268,10 @@ i0.ɵɵngDeclareClassMetadata({
14894
15268
  });
14895
15269
  const kbdVariants = cva([
14896
15270
  "pointer-events-none inline-flex w-fit items-center justify-center gap-(--spacing-4xs) select-none",
14897
- "border border-solid border-(--stroke-neutral-disabled) bg-(--bg-neutral-base) text-(--font-neutral-base)",
15271
+ "border border-solid text-(--font-neutral-base)",
15272
+ "border-[color-mix(in_srgb,var(--bg-neutral-base),black_15%)] bg-(--bg-neutral-base)",
15273
+ "[.dark_&]:bg-[color-mix(in_srgb,var(--bg-neutral-base),white_5%)]",
15274
+ "[.dark_&]:border-[color-mix(in_srgb,var(--bg-neutral-base),white_20%)]",
14898
15275
  "font-[family-name:var(--family-base,'Hanken_Grotesk'),sans-serif] font-medium",
14899
15276
  "[&_svg:not([class*='size-'])]:size-3"
14900
15277
  ], {
@@ -20422,6 +20799,9 @@ const SEARCH_INPUT_IMPORTS = [
20422
20799
  XMarkIcon,
20423
20800
  TooltipDirective
20424
20801
  ];
20802
+ const STATE_ATTRIBUTES$1 = `
20803
+ [disabled]="disabled()"
20804
+ [readOnly]="readonly()"`;
20425
20805
  const BEFORE_CONTROL$1 = `
20426
20806
  <input-group [size]="size()" [textSize]="textSize()" [class]="cn('group/search', class())">
20427
20807
  <span input-icon-left>
@@ -20435,8 +20815,10 @@ const CONTROL_ATTRIBUTES$1 = `
20435
20815
  autocapitalize="off"
20436
20816
  autocomplete="off"
20437
20817
  autocorrect="off"
20438
- [disabled]="disabled()"
20439
20818
  [placeholder]="placeholder()"
20819
+ [attr.aria-required]="required() || null"
20820
+ [attr.aria-invalid]="invalid() || null"
20821
+ (blur)="touch.emit()"
20440
20822
  [attr.aria-label]="ariaLabel()"
20441
20823
  [attr.aria-keyshortcuts]="hotkey()"`;
20442
20824
  const AFTER_CONTROL$1 = `
@@ -20469,6 +20851,22 @@ var SearchInputBase = class SearchInputBase {
20469
20851
  ...ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {},
20470
20852
  transform: booleanAttribute
20471
20853
  });
20854
+ readonly = input(false, {
20855
+ ...ngDevMode ? { debugName: "readonly" } : /* istanbul ignore next */ {},
20856
+ transform: booleanAttribute
20857
+ });
20858
+ required = input(false, {
20859
+ ...ngDevMode ? { debugName: "required" } : /* istanbul ignore next */ {},
20860
+ transform: booleanAttribute
20861
+ });
20862
+ invalid = input(false, {
20863
+ ...ngDevMode ? { debugName: "invalid" } : /* istanbul ignore next */ {},
20864
+ transform: booleanAttribute
20865
+ });
20866
+ touch = output();
20867
+ focus(options) {
20868
+ this.searchInput().nativeElement.focus(options);
20869
+ }
20472
20870
  ariaLabel = input(void 0, {
20473
20871
  ...ngDevMode ? { debugName: "ariaLabel" } : /* istanbul ignore next */ {},
20474
20872
  alias: "aria-label"
@@ -20521,6 +20919,27 @@ var SearchInputBase = class SearchInputBase {
20521
20919
  isRequired: false,
20522
20920
  transformFunction: null
20523
20921
  },
20922
+ readonly: {
20923
+ classPropertyName: "readonly",
20924
+ publicName: "readonly",
20925
+ isSignal: true,
20926
+ isRequired: false,
20927
+ transformFunction: null
20928
+ },
20929
+ required: {
20930
+ classPropertyName: "required",
20931
+ publicName: "required",
20932
+ isSignal: true,
20933
+ isRequired: false,
20934
+ transformFunction: null
20935
+ },
20936
+ invalid: {
20937
+ classPropertyName: "invalid",
20938
+ publicName: "invalid",
20939
+ isSignal: true,
20940
+ isRequired: false,
20941
+ transformFunction: null
20942
+ },
20524
20943
  ariaLabel: {
20525
20944
  classPropertyName: "ariaLabel",
20526
20945
  publicName: "aria-label",
@@ -20564,7 +20983,10 @@ var SearchInputBase = class SearchInputBase {
20564
20983
  transformFunction: null
20565
20984
  }
20566
20985
  },
20567
- outputs: { value: "valueChange" },
20986
+ outputs: {
20987
+ value: "valueChange",
20988
+ touch: "touch"
20989
+ },
20568
20990
  host: { properties: { "class": "cn(disabled() && 'pointer-events-none opacity-50')" } },
20569
20991
  viewQueries: [{
20570
20992
  propertyName: "searchInput",
@@ -20617,6 +21039,34 @@ i0.ɵɵngDeclareClassMetadata({
20617
21039
  required: false
20618
21040
  }]
20619
21041
  }],
21042
+ readonly: [{
21043
+ type: i0.Input,
21044
+ args: [{
21045
+ isSignal: true,
21046
+ alias: "readonly",
21047
+ required: false
21048
+ }]
21049
+ }],
21050
+ required: [{
21051
+ type: i0.Input,
21052
+ args: [{
21053
+ isSignal: true,
21054
+ alias: "required",
21055
+ required: false
21056
+ }]
21057
+ }],
21058
+ invalid: [{
21059
+ type: i0.Input,
21060
+ args: [{
21061
+ isSignal: true,
21062
+ alias: "invalid",
21063
+ required: false
21064
+ }]
21065
+ }],
21066
+ touch: [{
21067
+ type: i0.Output,
21068
+ args: ["touch"]
21069
+ }],
20620
21070
  ariaLabel: [{
20621
21071
  type: i0.Input,
20622
21072
  args: [{
@@ -20668,6 +21118,10 @@ i0.ɵɵngDeclareClassMetadata({
20668
21118
  }
20669
21119
  });
20670
21120
  var SearchInputComponent = class SearchInputComponent extends SearchInputBase {
21121
+ field = form(this.value, (path) => {
21122
+ disabled(path, () => this.disabled());
21123
+ readonly(path, () => this.readonly());
21124
+ });
20671
21125
  static ɵfac = i0.ɵɵngDeclareFactory({
20672
21126
  minVersion: "12.0.0",
20673
21127
  version: "22.2.1",
@@ -20684,7 +21138,7 @@ var SearchInputComponent = class SearchInputComponent extends SearchInputBase {
20684
21138
  selector: "SearchInput:not([suggestions]), search-input:not([suggestions]), searchinput:not([suggestions])",
20685
21139
  usesInheritance: true,
20686
21140
  ngImport: i0,
20687
- template: "\n <input-group [size]=\"size()\" [textSize]=\"textSize()\" [class]=\"cn('group/search', class())\">\n <span input-icon-left>\n <SearchIcon [class]=\"searchIconClass()\" />\n </span>\n <input \n input-control\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 input-icon-right\n variant=\"tertiary\"\n scheme=\"neutral\"\n [iconOnly]=\"true\"\n [size]=\"buttonSize()\"\n type=\"button\"\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() ? 0 : -1\"\n [attr.aria-label]=\"clearLabel()\"\n [tooltip]=\"clearLabel()\"\n (keydown.enter)=\"clearSearch($event)\"\n (click)=\"clearSearch($event)\">\n <XMarkIcon [class]=\"iconClass()\" />\n <span class=\"sr-only\">{{ clearLabel() }}</span>\n </button>\n <ng-content />\n </input-group>\n ",
21141
+ template: "\n <input-group [size]=\"size()\" [textSize]=\"textSize()\" [class]=\"cn('group/search', class())\">\n <span input-icon-left>\n <SearchIcon [class]=\"searchIconClass()\" />\n </span>\n <input \n input-control\n #search\n type=\"search\"\n spellcheck=\"false\"\n autocapitalize=\"off\"\n autocomplete=\"off\"\n autocorrect=\"off\"\n [placeholder]=\"placeholder()\"\n [attr.aria-required]=\"required() || null\"\n [attr.aria-invalid]=\"invalid() || null\"\n (blur)=\"touch.emit()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-keyshortcuts]=\"hotkey()\"\n [formField]=\"field\" />\n <button\n input-icon-right\n variant=\"tertiary\"\n scheme=\"neutral\"\n [iconOnly]=\"true\"\n [size]=\"buttonSize()\"\n type=\"button\"\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() ? 0 : -1\"\n [attr.aria-label]=\"clearLabel()\"\n [tooltip]=\"clearLabel()\"\n (keydown.enter)=\"clearSearch($event)\"\n (click)=\"clearSearch($event)\">\n <XMarkIcon [class]=\"iconClass()\" />\n <span class=\"sr-only\">{{ clearLabel() }}</span>\n </button>\n <ng-content />\n </input-group>\n ",
20688
21142
  isInline: true,
20689
21143
  dependencies: [
20690
21144
  {
@@ -20768,6 +21222,13 @@ var SearchInputComponent = class SearchInputComponent extends SearchInputBase {
20768
21222
  "tooltip-offset"
20769
21223
  ],
20770
21224
  exportAs: ["tooltip"]
21225
+ },
21226
+ {
21227
+ kind: "directive",
21228
+ type: FormField,
21229
+ selector: "[formField]",
21230
+ inputs: ["formField"],
21231
+ exportAs: ["formField"]
20771
21232
  }
20772
21233
  ]
20773
21234
  });
@@ -20782,11 +21243,10 @@ i0.ɵɵngDeclareClassMetadata({
20782
21243
  args: [{
20783
21244
  selector: "SearchInput:not([suggestions]), search-input:not([suggestions]), searchinput:not([suggestions])",
20784
21245
  standalone: true,
20785
- imports: SEARCH_INPUT_IMPORTS,
21246
+ imports: [...SEARCH_INPUT_IMPORTS, FormField],
20786
21247
  template: `${BEFORE_CONTROL$1}
20787
21248
  <input ${CONTROL_ATTRIBUTES$1}
20788
- [value]="value()"
20789
- (input)="value.set($any($event.target).value)" />${AFTER_CONTROL$1}
21249
+ [formField]="field" />${AFTER_CONTROL$1}
20790
21250
  `
20791
21251
  }]
20792
21252
  }]
@@ -20816,7 +21276,7 @@ var SearchInputSuggestionsComponent = class SearchInputSuggestionsComponent exte
20816
21276
  }],
20817
21277
  usesInheritance: true,
20818
21278
  ngImport: i0,
20819
- template: "\n <input-group [size]=\"size()\" [textSize]=\"textSize()\" [class]=\"cn('group/search', class())\">\n <span input-icon-left>\n <SearchIcon [class]=\"searchIconClass()\" />\n </span>\n <input\n ngCombobox \n input-control\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 input-icon-right\n variant=\"tertiary\"\n scheme=\"neutral\"\n [iconOnly]=\"true\"\n [size]=\"buttonSize()\"\n type=\"button\"\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() ? 0 : -1\"\n [attr.aria-label]=\"clearLabel()\"\n [tooltip]=\"clearLabel()\"\n (keydown.enter)=\"clearSearch($event)\"\n (click)=\"clearSearch($event)\">\n <XMarkIcon [class]=\"iconClass()\" />\n <span class=\"sr-only\">{{ clearLabel() }}</span>\n </button>\n <ng-content />\n </input-group>\n ",
21279
+ template: "\n <input-group [size]=\"size()\" [textSize]=\"textSize()\" [class]=\"cn('group/search', class())\">\n <span input-icon-left>\n <SearchIcon [class]=\"searchIconClass()\" />\n </span>\n <input\n ngCombobox \n input-control\n #search\n type=\"search\"\n spellcheck=\"false\"\n autocapitalize=\"off\"\n autocomplete=\"off\"\n autocorrect=\"off\"\n [placeholder]=\"placeholder()\"\n [attr.aria-required]=\"required() || null\"\n [attr.aria-invalid]=\"invalid() || null\"\n (blur)=\"touch.emit()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-keyshortcuts]=\"hotkey()\" \n [disabled]=\"disabled()\"\n [readOnly]=\"readonly()\"\n [(value)]=\"value\" />\n <button\n input-icon-right\n variant=\"tertiary\"\n scheme=\"neutral\"\n [iconOnly]=\"true\"\n [size]=\"buttonSize()\"\n type=\"button\"\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() ? 0 : -1\"\n [attr.aria-label]=\"clearLabel()\"\n [tooltip]=\"clearLabel()\"\n (keydown.enter)=\"clearSearch($event)\"\n (click)=\"clearSearch($event)\">\n <XMarkIcon [class]=\"iconClass()\" />\n <span class=\"sr-only\">{{ clearLabel() }}</span>\n </button>\n <ng-content />\n </input-group>\n ",
20820
21280
  isInline: true,
20821
21281
  dependencies: [
20822
21282
  {
@@ -20934,7 +21394,7 @@ i0.ɵɵngDeclareClassMetadata({
20934
21394
  imports: [...SEARCH_INPUT_IMPORTS, Combobox],
20935
21395
  template: `${BEFORE_CONTROL$1}
20936
21396
  <input
20937
- ngCombobox ${CONTROL_ATTRIBUTES$1}
21397
+ ngCombobox ${CONTROL_ATTRIBUTES$1} ${STATE_ATTRIBUTES$1}
20938
21398
  [(value)]="value" />${AFTER_CONTROL$1}
20939
21399
  `
20940
21400
  }]
@@ -20965,7 +21425,8 @@ const searchBarVariants = cva([
20965
21425
  variants: { size: {
20966
21426
  small: "h-6 gap-(--spacing-xs) px-(--spacing-xs) [&_.sb-icon]:text-(length:--icon-xs) [&_.sb-input]:text-(length:--size-xs)",
20967
21427
  medium: "h-9 gap-(--spacing-xs) px-(--spacing-md) [&_.sb-icon]:text-(length:--icon-sm) [&_.sb-input]:text-(length:--size-base)",
20968
- large: "h-(--row-height-lg) gap-(--spacing-2xs) px-(--spacing-md) [&_.sb-icon]:text-base [&_.sb-input]:text-(length:--size-lg)"
21428
+ large: "h-(--row-height-lg) gap-(--spacing-2xs) px-(--spacing-md) [&_.sb-icon]:text-base [&_.sb-input]:text-(length:--size-lg)",
21429
+ hero: "gap-(--spacing-2xs) py-(--spacing-xs) ps-(--spacing-lg) pe-(--spacing-xs) shadow-(--shadow-2) [&_.sb-icon]:hidden [&_.sb-input]:text-(length:--size-lg)"
20969
21430
  } },
20970
21431
  defaultVariants: { size: "large" }
20971
21432
  });
@@ -20976,6 +21437,9 @@ const SEARCH_BAR_IMPORTS = [
20976
21437
  XMarkIcon,
20977
21438
  TooltipDirective
20978
21439
  ];
21440
+ const STATE_ATTRIBUTES = `
21441
+ [disabled]="disabled()"
21442
+ [readOnly]="readonly()"`;
20979
21443
  const BEFORE_CONTROL = `
20980
21444
  <span class="sb-icon">
20981
21445
  <SearchIcon [class]="searchIconClass()" />
@@ -20989,8 +21453,10 @@ const CONTROL_ATTRIBUTES = `
20989
21453
  autocapitalize="off"
20990
21454
  autocomplete="off"
20991
21455
  autocorrect="off"
20992
- [disabled]="disabled()"
20993
21456
  [placeholder]="placeholder()"
21457
+ [attr.aria-required]="required() || null"
21458
+ [attr.aria-invalid]="invalid() || null"
21459
+ (blur)="touch.emit()"
20994
21460
  [attr.aria-label]="ariaLabel()"
20995
21461
  [attr.aria-keyshortcuts]="hotkey()"
20996
21462
  (search)="$event.stopPropagation()"`;
@@ -21018,21 +21484,23 @@ const AFTER_CONTROL = `
21018
21484
  rester APRÈS le bouton d'envoi porte slot="trailing" (voir plus bas). -->
21019
21485
  <ng-content />
21020
21486
  <button
21021
- variant="tertiary"
21022
- scheme="neutral"
21487
+ [variant]="isHero() ? 'primary' : 'tertiary'"
21488
+ [scheme]="isHero() ? 'default' : 'neutral'"
21023
21489
  [iconOnly]="true"
21024
21490
  [size]="buttonSize()"
21025
21491
  type="button"
21026
21492
  [disabled]="disabled()"
21027
- [class]="value()
21028
- ? 'opacity-100 transition-opacity duration-300'
21029
- : 'opacity-0 pointer-events-none transition-opacity duration-300'"
21030
- [tabindex]="value() && !disabled() ? 0 : -1"
21493
+ [class]="sendClass()"
21494
+ [tabindex]="(value() || isHero()) && !disabled() ? 0 : -1"
21031
21495
  [attr.aria-label]="sendLabel()"
21032
21496
  [tooltip]="sendLabel()"
21033
21497
  (keydown.enter)="emitSearch($event)"
21034
21498
  (click)="emitSearch($event)">
21035
- <SendHorizontalIcon [class]="iconClass()" aria-hidden="true" />
21499
+ @if (isHero()) {
21500
+ <SearchIcon [class]="iconClass()" aria-hidden="true" />
21501
+ } @else {
21502
+ <SendHorizontalIcon [class]="iconClass()" aria-hidden="true" />
21503
+ }
21036
21504
  <span class="sr-only">{{ sendLabel() }}</span>
21037
21505
  </button>
21038
21506
  <!-- Zone de fin de pilule, après le bouton d'envoi (CTA du type « Ask AI »…).
@@ -21059,10 +21527,31 @@ var SearchBarBase = class SearchBarBase {
21059
21527
  ...ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {},
21060
21528
  transform: booleanAttribute
21061
21529
  });
21530
+ readonly = input(false, {
21531
+ ...ngDevMode ? { debugName: "readonly" } : /* istanbul ignore next */ {},
21532
+ transform: booleanAttribute
21533
+ });
21534
+ required = input(false, {
21535
+ ...ngDevMode ? { debugName: "required" } : /* istanbul ignore next */ {},
21536
+ transform: booleanAttribute
21537
+ });
21538
+ invalid = input(false, {
21539
+ ...ngDevMode ? { debugName: "invalid" } : /* istanbul ignore next */ {},
21540
+ transform: booleanAttribute
21541
+ });
21542
+ touch = output();
21543
+ focus(options) {
21544
+ this.searchInput().nativeElement.focus(options);
21545
+ }
21062
21546
  hotkey = input(...ngDevMode ? [void 0, { debugName: "hotkey" }] : /* istanbul ignore next */ []);
21063
21547
  size = input("large", ...ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []);
21064
21548
  class = input(...ngDevMode ? [void 0, { debugName: "class" }] : /* istanbul ignore next */ []);
21065
- buttonSize = computed(() => this.size() === "small" ? "xs" : "sm", ...ngDevMode ? [{ debugName: "buttonSize" }] : /* istanbul ignore next */ []);
21549
+ buttonSize = computed(() => this.size() === "small" ? "xs" : this.size() === "hero" ? "md" : "sm", ...ngDevMode ? [{ debugName: "buttonSize" }] : /* istanbul ignore next */ []);
21550
+ isHero = computed(() => this.size() === "hero", ...ngDevMode ? [{ debugName: "isHero" }] : /* istanbul ignore next */ []);
21551
+ sendClass = computed(() => {
21552
+ if (this.isHero()) return cn("rounded-full transition-opacity duration-300", this.value() ? "opacity-100" : "opacity-50");
21553
+ return this.value() ? "opacity-100 transition-opacity duration-300" : "opacity-0 pointer-events-none transition-opacity duration-300";
21554
+ }, ...ngDevMode ? [{ debugName: "sendClass" }] : /* istanbul ignore next */ []);
21066
21555
  iconClass = computed(() => cn("shrink-0", this.size() === "small" ? "size-3" : ""), ...ngDevMode ? [{ debugName: "iconClass" }] : /* istanbul ignore next */ []);
21067
21556
  searchIconClass = computed(() => cn("rotate-0 transition-[rotate] duration-500 group-focus-within/search:rotate-90", this.iconClass()), ...ngDevMode ? [{ debugName: "searchIconClass" }] : /* istanbul ignore next */ []);
21068
21557
  clearSearch(e) {
@@ -21134,6 +21623,27 @@ var SearchBarBase = class SearchBarBase {
21134
21623
  isRequired: false,
21135
21624
  transformFunction: null
21136
21625
  },
21626
+ readonly: {
21627
+ classPropertyName: "readonly",
21628
+ publicName: "readonly",
21629
+ isSignal: true,
21630
+ isRequired: false,
21631
+ transformFunction: null
21632
+ },
21633
+ required: {
21634
+ classPropertyName: "required",
21635
+ publicName: "required",
21636
+ isSignal: true,
21637
+ isRequired: false,
21638
+ transformFunction: null
21639
+ },
21640
+ invalid: {
21641
+ classPropertyName: "invalid",
21642
+ publicName: "invalid",
21643
+ isSignal: true,
21644
+ isRequired: false,
21645
+ transformFunction: null
21646
+ },
21137
21647
  hotkey: {
21138
21648
  classPropertyName: "hotkey",
21139
21649
  publicName: "hotkey",
@@ -21158,7 +21668,8 @@ var SearchBarBase = class SearchBarBase {
21158
21668
  },
21159
21669
  outputs: {
21160
21670
  value: "valueChange",
21161
- search: "search"
21671
+ search: "search",
21672
+ touch: "touch"
21162
21673
  },
21163
21674
  host: { properties: { "class": "cn('group/search', searchBarVariants({ size: size(), class: class() }))" } },
21164
21675
  viewQueries: [{
@@ -21240,6 +21751,34 @@ i0.ɵɵngDeclareClassMetadata({
21240
21751
  required: false
21241
21752
  }]
21242
21753
  }],
21754
+ readonly: [{
21755
+ type: i0.Input,
21756
+ args: [{
21757
+ isSignal: true,
21758
+ alias: "readonly",
21759
+ required: false
21760
+ }]
21761
+ }],
21762
+ required: [{
21763
+ type: i0.Input,
21764
+ args: [{
21765
+ isSignal: true,
21766
+ alias: "required",
21767
+ required: false
21768
+ }]
21769
+ }],
21770
+ invalid: [{
21771
+ type: i0.Input,
21772
+ args: [{
21773
+ isSignal: true,
21774
+ alias: "invalid",
21775
+ required: false
21776
+ }]
21777
+ }],
21778
+ touch: [{
21779
+ type: i0.Output,
21780
+ args: ["touch"]
21781
+ }],
21243
21782
  hotkey: [{
21244
21783
  type: i0.Input,
21245
21784
  args: [{
@@ -21267,6 +21806,10 @@ i0.ɵɵngDeclareClassMetadata({
21267
21806
  }
21268
21807
  });
21269
21808
  var SearchBarComponent = class SearchBarComponent extends SearchBarBase {
21809
+ field = form(this.value, (path) => {
21810
+ disabled(path, () => this.disabled());
21811
+ readonly(path, () => this.readonly());
21812
+ });
21270
21813
  static ɵfac = i0.ɵɵngDeclareFactory({
21271
21814
  minVersion: "12.0.0",
21272
21815
  version: "22.2.1",
@@ -21276,14 +21819,14 @@ var SearchBarComponent = class SearchBarComponent extends SearchBarBase {
21276
21819
  target: i0.ɵɵFactoryTarget.Component
21277
21820
  });
21278
21821
  static ɵcmp = i0.ɵɵngDeclareComponent({
21279
- minVersion: "14.0.0",
21822
+ minVersion: "17.0.0",
21280
21823
  version: "22.2.1",
21281
21824
  type: SearchBarComponent,
21282
21825
  isStandalone: true,
21283
21826
  selector: "SearchBar:not([suggestions]), search-bar:not([suggestions]), searchbar:not([suggestions])",
21284
21827
  usesInheritance: true,
21285
21828
  ngImport: i0,
21286
- 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",
21829
+ 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 [placeholder]=\"placeholder()\"\n [attr.aria-required]=\"required() || null\"\n [attr.aria-invalid]=\"invalid() || null\"\n (blur)=\"touch.emit()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-keyshortcuts]=\"hotkey()\"\n (search)=\"$event.stopPropagation()\"\n [formField]=\"field\"\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]=\"isHero() ? 'primary' : 'tertiary'\"\n [scheme]=\"isHero() ? 'default' : 'neutral'\"\n [iconOnly]=\"true\"\n [size]=\"buttonSize()\"\n type=\"button\"\n [disabled]=\"disabled()\"\n [class]=\"sendClass()\"\n [tabindex]=\"(value() || isHero()) && !disabled() ? 0 : -1\"\n [attr.aria-label]=\"sendLabel()\"\n [tooltip]=\"sendLabel()\"\n (keydown.enter)=\"emitSearch($event)\"\n (click)=\"emitSearch($event)\">\n @if (isHero()) {\n <SearchIcon [class]=\"iconClass()\" aria-hidden=\"true\" />\n } @else {\n <SendHorizontalIcon [class]=\"iconClass()\" aria-hidden=\"true\" />\n }\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",
21287
21830
  isInline: true,
21288
21831
  dependencies: [
21289
21832
  {
@@ -21341,6 +21884,13 @@ var SearchBarComponent = class SearchBarComponent extends SearchBarBase {
21341
21884
  "tooltip-offset"
21342
21885
  ],
21343
21886
  exportAs: ["tooltip"]
21887
+ },
21888
+ {
21889
+ kind: "directive",
21890
+ type: FormField,
21891
+ selector: "[formField]",
21892
+ inputs: ["formField"],
21893
+ exportAs: ["formField"]
21344
21894
  }
21345
21895
  ]
21346
21896
  });
@@ -21355,11 +21905,10 @@ i0.ɵɵngDeclareClassMetadata({
21355
21905
  args: [{
21356
21906
  selector: "SearchBar:not([suggestions]), search-bar:not([suggestions]), searchbar:not([suggestions])",
21357
21907
  standalone: true,
21358
- imports: SEARCH_BAR_IMPORTS,
21908
+ imports: [...SEARCH_BAR_IMPORTS, FormField],
21359
21909
  template: `${BEFORE_CONTROL}
21360
21910
  <input ${CONTROL_ATTRIBUTES}
21361
- [value]="value()"
21362
- (input)="value.set($any($event.target).value)"
21911
+ [formField]="field"
21363
21912
  (keydown.enter)="emitSearchOnEnter($event)" />${AFTER_CONTROL}`
21364
21913
  }]
21365
21914
  }]
@@ -21375,7 +21924,7 @@ var SearchBarSuggestionsComponent = class SearchBarSuggestionsComponent extends
21375
21924
  target: i0.ɵɵFactoryTarget.Component
21376
21925
  });
21377
21926
  static ɵcmp = i0.ɵɵngDeclareComponent({
21378
- minVersion: "17.2.0",
21927
+ minVersion: "17.0.0",
21379
21928
  version: "22.2.1",
21380
21929
  type: SearchBarSuggestionsComponent,
21381
21930
  isStandalone: true,
@@ -21389,7 +21938,7 @@ var SearchBarSuggestionsComponent = class SearchBarSuggestionsComponent extends
21389
21938
  }],
21390
21939
  usesInheritance: true,
21391
21940
  ngImport: i0,
21392
- 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",
21941
+ 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 [placeholder]=\"placeholder()\"\n [attr.aria-required]=\"required() || null\"\n [attr.aria-invalid]=\"invalid() || null\"\n (blur)=\"touch.emit()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-keyshortcuts]=\"hotkey()\"\n (search)=\"$event.stopPropagation()\" \n [disabled]=\"disabled()\"\n [readOnly]=\"readonly()\"\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]=\"isHero() ? 'primary' : 'tertiary'\"\n [scheme]=\"isHero() ? 'default' : 'neutral'\"\n [iconOnly]=\"true\"\n [size]=\"buttonSize()\"\n type=\"button\"\n [disabled]=\"disabled()\"\n [class]=\"sendClass()\"\n [tabindex]=\"(value() || isHero()) && !disabled() ? 0 : -1\"\n [attr.aria-label]=\"sendLabel()\"\n [tooltip]=\"sendLabel()\"\n (keydown.enter)=\"emitSearch($event)\"\n (click)=\"emitSearch($event)\">\n @if (isHero()) {\n <SearchIcon [class]=\"iconClass()\" aria-hidden=\"true\" />\n } @else {\n <SendHorizontalIcon [class]=\"iconClass()\" aria-hidden=\"true\" />\n }\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",
21393
21942
  isInline: true,
21394
21943
  dependencies: [
21395
21944
  {
@@ -21481,7 +22030,7 @@ i0.ɵɵngDeclareClassMetadata({
21481
22030
  imports: [...SEARCH_BAR_IMPORTS, Combobox],
21482
22031
  template: `${BEFORE_CONTROL}
21483
22032
  <input
21484
- ngCombobox ${CONTROL_ATTRIBUTES}
22033
+ ngCombobox ${CONTROL_ATTRIBUTES} ${STATE_ATTRIBUTES}
21485
22034
  [(value)]="value" />${AFTER_CONTROL}`
21486
22035
  }]
21487
22036
  }],
@@ -25091,6 +25640,6 @@ i0.ɵɵngDeclareClassMetadata({
25091
25640
  }]
25092
25641
  }
25093
25642
  });
25094
- 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 };
25643
+ 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, PopoverResizeHandleComponent, PresentationIcon, PresentationIconComponent, QuestionCircleIcon, QuestionCircleIconComponent, QuestionIcon, QuestionIconComponent, QuickFilterIcon, QuickFilterIconComponent, 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 };
25095
25644
 
25096
25645
  //# sourceMappingURL=sinequa-galactik.mjs.map