@kouji-ui/core 0.8.3 → 0.8.4

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.
@@ -3144,7 +3144,23 @@ class KjListItem {
3144
3144
  setSize = signal(null, /* @ts-ignore */
3145
3145
  ...(ngDevMode ? [{ debugName: "setSize" }] : /* istanbul ignore next */ []));
3146
3146
  selection = inject(KjSelectionModel, { optional: true });
3147
- cfg = inject(KJ_LIST_NAVIGATOR_CONFIG, { optional: true });
3147
+ /**
3148
+ * The list container this item belongs to — the nearest
3149
+ * `KJ_LIST_NAVIGATOR_CONFIG` on the element-injector path, i.e. the
3150
+ * innermost list-style composite that encloses this item. `null` when
3151
+ * the item is rendered outside any container.
3152
+ *
3153
+ * This is what makes a nested composite (a select inside a command
3154
+ * palette, a menu inside a select, a combobox inside a dialog) keep
3155
+ * its items to itself: the item answers to exactly one container, and
3156
+ * every container filters its own `contentChildren(KjListItem)` query
3157
+ * down to the items that name it here (see {@link ownListItems}).
3158
+ * Without that filter a `descendants: true` query reaches straight
3159
+ * through a nested composite and steals its rows — the outer list then
3160
+ * navigates, filters, numbers (`aria-posinset`) and activates options
3161
+ * that are not its own.
3162
+ */
3163
+ container = inject(KJ_LIST_NAVIGATOR_CONFIG, { optional: true });
3148
3164
  /**
3149
3165
  * `aria-selected` driven by the injected selection model. `null` when
3150
3166
  * no model is provided, the value is undefined, or the mode is
@@ -3211,7 +3227,7 @@ class KjListItem {
3211
3227
  if (this.selection && v !== undefined) {
3212
3228
  ({ closeRequested } = this.selection.toggle(v));
3213
3229
  }
3214
- this.cfg?.afterSelect?.(v, closeRequested);
3230
+ this.container?.afterSelect?.(v, closeRequested);
3215
3231
  this.activate.emit(v);
3216
3232
  }
3217
3233
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: KjListItem, deps: [], target: i0.ɵɵFactoryTarget.Directive });
@@ -3509,6 +3525,45 @@ const injectListItem = () => inject(KjListItem);
3509
3525
  const injectSelectionModel = () => inject(KjSelectionModel);
3510
3526
  const injectFilterableList = () => inject(KjFilterableList);
3511
3527
 
3528
+ /**
3529
+ * Narrows a container's `contentChildren(KjListItem, { descendants: true })`
3530
+ * query to the items that actually belong to that container.
3531
+ *
3532
+ * Every list-style root (`KjSelect`, `KjCommandPalette`, `KjCombobox`,
3533
+ * `KjDropdownMenu(Content)`, `KjMenubar`, `KjTreeSelect`,
3534
+ * `KjCascadeSelect`) collects its rows with a `descendants: true` content
3535
+ * query. That query is blind to composition: it walks straight through a
3536
+ * nested list composite and hoovers up *its* rows too. A `<kj-select>`
3537
+ * placed inside a `<kj-command-palette>` therefore handed its options to
3538
+ * the palette, which then navigated onto them, filtered them with its own
3539
+ * query, renumbered their `aria-posinset` / `aria-setsize`, and — on
3540
+ * Enter — activated one of them as if it were a command row.
3541
+ *
3542
+ * `KjListItem` already resolves its one true owner through the element
3543
+ * injector ({@link KjListItem.container}: the nearest
3544
+ * `KJ_LIST_NAVIGATOR_CONFIG`, which a nested composite provides at its own
3545
+ * root). Filtering on that pointer gives every container exactly the items
3546
+ * inside its own list scope and nothing from a composite nested within it,
3547
+ * for any nesting — select in palette, select in dialog, menu in palette,
3548
+ * combobox in select.
3549
+ *
3550
+ * Items that resolve no container at all (`container === null` — rendered
3551
+ * outside any root) are kept, so a bare `[kjListItem]` used with a
3552
+ * hand-rolled container still registers.
3553
+ *
3554
+ * @param owner The container running the query — pass `this`.
3555
+ * @param query The raw `contentChildren(KjListItem, { descendants: true })` signal.
3556
+ *
3557
+ * @doc-category Core/Primitives
3558
+ */
3559
+ function ownListItems(
3560
+ // Typed as `object` rather than `KjListNavigatorConfig`: every caller
3561
+ // passes `this` from the field initializer that defines its own `items`,
3562
+ // and the stricter type would make that a circular type reference.
3563
+ owner, query) {
3564
+ return computed(() => query().filter(i => i.container === null || i.container === owner));
3565
+ }
3566
+
3512
3567
  const DEEP_SIGNAL = Symbol('kj.deep-signal');
3513
3568
  /**
3514
3569
  * Wraps a `Signal<T>` so that `result.foo` returns a child `Signal<T['foo']>`
@@ -14455,8 +14510,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
14455
14510
  * @doc-category Core/Overlay
14456
14511
  */
14457
14512
  class KjDropdownMenu {
14458
- /** All `KjListItem`s under this root. Source of truth for nav + type-ahead. */
14459
- items = contentChildren(KjListItem, { ...(ngDevMode ? { debugName: "items" } : /* istanbul ignore next */ {}), descendants: true });
14513
+ /**
14514
+ * Raw content query. `descendants: true` reaches straight through a
14515
+ * list composite nested inside this menu root, so it is never read
14516
+ * directly — `items` narrows it to this container's own scope.
14517
+ */
14518
+ allItems = contentChildren(KjListItem, { ...(ngDevMode ? { debugName: "allItems" } : /* istanbul ignore next */ {}), descendants: true });
14519
+ /**
14520
+ * All `KjListItem`s under this root. Source of truth for nav + type-ahead.
14521
+ *
14522
+ * Items owned by a list composite nested inside this one (a select
14523
+ * inside a palette, a menu inside a select) answer to that composite,
14524
+ * not to this one.
14525
+ */
14526
+ items = ownListItems(this, this.allItems);
14460
14527
  /** Menu items are actions — no selection model. Kept as `Object.is`. */
14461
14528
  compareBy = signal(Object.is, /* @ts-ignore */
14462
14529
  ...(ngDevMode ? [{ debugName: "compareBy" }] : /* istanbul ignore next */ []));
@@ -14473,7 +14540,7 @@ class KjDropdownMenu {
14473
14540
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: KjDropdownMenu, deps: [], target: i0.ɵɵFactoryTarget.Directive });
14474
14541
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "22.0.5", type: KjDropdownMenu, isStandalone: true, selector: "[kjDropdownMenu]", providers: [
14475
14542
  { provide: KJ_LIST_NAVIGATOR_CONFIG, useExisting: forwardRef(() => KjDropdownMenu) },
14476
- ], queries: [{ propertyName: "items", predicate: KjListItem, descendants: true, isSignal: true }], exportAs: ["kjDropdownMenu"], ngImport: i0 });
14543
+ ], queries: [{ propertyName: "allItems", predicate: KjListItem, descendants: true, isSignal: true }], exportAs: ["kjDropdownMenu"], ngImport: i0 });
14477
14544
  }
14478
14545
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: KjDropdownMenu, decorators: [{
14479
14546
  type: Directive,
@@ -14485,7 +14552,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
14485
14552
  { provide: KJ_LIST_NAVIGATOR_CONFIG, useExisting: forwardRef(() => KjDropdownMenu) },
14486
14553
  ],
14487
14554
  }]
14488
- }], propDecorators: { items: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => KjListItem), { ...{ descendants: true }, isSignal: true }] }] } });
14555
+ }], propDecorators: { allItems: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => KjListItem), { ...{ descendants: true }, isSignal: true }] }] } });
14489
14556
 
14490
14557
  function deferredMount() {
14491
14558
  let ctx = null;
@@ -14562,8 +14629,20 @@ class KjDropdownMenuContent {
14562
14629
  kjMount = input('portal', /* @ts-ignore */
14563
14630
  ...(ngDevMode ? [{ debugName: "kjMount" }] : /* istanbul ignore next */ []));
14564
14631
  // ── KjListNavigatorConfig ────────────────────────────────────────────
14565
- /** All `KjListItem`s projected into the menu panel. */
14566
- items = contentChildren(KjListItem, { ...(ngDevMode ? { debugName: "items" } : /* istanbul ignore next */ {}), descendants: true });
14632
+ /**
14633
+ * Raw content query. `descendants: true` reaches straight through a
14634
+ * list composite nested inside this menu panel, so it is never read
14635
+ * directly — `items` narrows it to this container's own scope.
14636
+ */
14637
+ allItems = contentChildren(KjListItem, { ...(ngDevMode ? { debugName: "allItems" } : /* istanbul ignore next */ {}), descendants: true });
14638
+ /**
14639
+ * All `KjListItem`s projected into the menu panel.
14640
+ *
14641
+ * Items owned by a list composite nested inside this one (a select
14642
+ * inside a palette, a menu inside a select) answer to that composite,
14643
+ * not to this one.
14644
+ */
14645
+ items = ownListItems(this, this.allItems);
14567
14646
  /** Menu items are actions — no selection model. Kept as `Object.is`. */
14568
14647
  compareBy = signal(Object.is, /* @ts-ignore */
14569
14648
  ...(ngDevMode ? [{ debugName: "compareBy" }] : /* istanbul ignore next */ []));
@@ -14679,7 +14758,7 @@ class KjDropdownMenuContent {
14679
14758
  useFactory: () => signal('roving'),
14680
14759
  },
14681
14760
  KjTypeAhead,
14682
- ], queries: [{ propertyName: "items", predicate: KjListItem, descendants: true, isSignal: true }], hostDirectives: [{ directive: KjOverlayPanel, inputs: ["kjFor", "kjFor"] }, { directive: KjListNavigator, inputs: ["kjOrientation", "kjOrientation", "kjFocusMode", "kjFocusMode"] }], ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
14761
+ ], queries: [{ propertyName: "allItems", predicate: KjListItem, descendants: true, isSignal: true }], hostDirectives: [{ directive: KjOverlayPanel, inputs: ["kjFor", "kjFor"] }, { directive: KjListNavigator, inputs: ["kjOrientation", "kjOrientation", "kjFocusMode", "kjFocusMode"] }], ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
14683
14762
  }
14684
14763
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: KjDropdownMenuContent, decorators: [{
14685
14764
  type: Component,
@@ -14725,7 +14804,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
14725
14804
  },
14726
14805
  template: `<ng-content />`,
14727
14806
  }]
14728
- }], ctorParameters: () => [], propDecorators: { kjSide: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjSide", required: false }] }], kjAlign: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjAlign", required: false }] }], kjMount: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjMount", required: false }] }], items: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => KjListItem), { ...{ descendants: true }, isSignal: true }] }] } });
14807
+ }], ctorParameters: () => [], propDecorators: { kjSide: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjSide", required: false }] }], kjAlign: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjAlign", required: false }] }], kjMount: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjMount", required: false }] }], allItems: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => KjListItem), { ...{ descendants: true }, isSignal: true }] }] } });
14729
14808
 
14730
14809
  /**
14731
14810
  * An individual item inside a `[kjDropdownMenu]` panel.
@@ -16010,8 +16089,20 @@ class KjCommandPalette {
16010
16089
  kjActivate = output();
16011
16090
  /** Stable listbox id for `aria-controls` wiring. */
16012
16091
  listId = nextCommandListId();
16013
- /** All `KjListItem`s under this palette. Source of truth for nav + filter. */
16014
- items = contentChildren(KjListItem, { ...(ngDevMode ? { debugName: "items" } : /* istanbul ignore next */ {}), descendants: true });
16092
+ /**
16093
+ * Raw content query. `descendants: true` reaches straight through a
16094
+ * list composite nested inside this palette, so it is never read
16095
+ * directly — `items` narrows it to this container's own scope.
16096
+ */
16097
+ allItems = contentChildren(KjListItem, { ...(ngDevMode ? { debugName: "allItems" } : /* istanbul ignore next */ {}), descendants: true });
16098
+ /**
16099
+ * All `KjListItem`s under this palette. Source of truth for nav + filter.
16100
+ *
16101
+ * Items owned by a list composite nested inside this one (a select
16102
+ * inside a palette, a menu inside a select) answer to that composite,
16103
+ * not to this one.
16104
+ */
16105
+ items = ownListItems(this, this.allItems);
16015
16106
  filterSvc = inject(KjFilterableList);
16016
16107
  /** Visible (filter-passing) items. */
16017
16108
  visibleItems = computed(() => this.filterSvc.visibleItems(), /* @ts-ignore */
@@ -16139,7 +16230,7 @@ class KjCommandPalette {
16139
16230
  { provide: KJ_LIST_NAVIGATOR_CONFIG, useExisting: forwardRef(() => KjCommandPalette) },
16140
16231
  KjFilterableList,
16141
16232
  KjTypeAhead,
16142
- ], queries: [{ propertyName: "items", predicate: KjListItem, descendants: true, isSignal: true }], exportAs: ["kjCommandPalette"], ngImport: i0 });
16233
+ ], queries: [{ propertyName: "allItems", predicate: KjListItem, descendants: true, isSignal: true }], exportAs: ["kjCommandPalette"], ngImport: i0 });
16143
16234
  }
16144
16235
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: KjCommandPalette, decorators: [{
16145
16236
  type: Directive,
@@ -16153,7 +16244,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
16153
16244
  KjTypeAhead,
16154
16245
  ],
16155
16246
  }]
16156
- }], ctorParameters: () => [], propDecorators: { kjFilter: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjFilter", required: false }] }], kjShouldFilter: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjShouldFilter", required: false }] }], kjLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjLoading", required: false }] }], kjAutoActivateFirst: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjAutoActivateFirst", required: false }] }], kjDismissOnActivate: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjDismissOnActivate", required: false }] }], kjValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjValue", required: false }] }, { type: i0.Output, args: ["kjValueChange"] }], kjQuery: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjQuery", required: false }] }, { type: i0.Output, args: ["kjQueryChange"] }], kjActivate: [{ type: i0.Output, args: ["kjActivate"] }], items: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => KjListItem), { ...{ descendants: true }, isSignal: true }] }] } });
16247
+ }], ctorParameters: () => [], propDecorators: { kjFilter: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjFilter", required: false }] }], kjShouldFilter: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjShouldFilter", required: false }] }], kjLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjLoading", required: false }] }], kjAutoActivateFirst: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjAutoActivateFirst", required: false }] }], kjDismissOnActivate: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjDismissOnActivate", required: false }] }], kjValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjValue", required: false }] }, { type: i0.Output, args: ["kjValueChange"] }], kjQuery: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjQuery", required: false }] }, { type: i0.Output, args: ["kjQueryChange"] }], kjActivate: [{ type: i0.Output, args: ["kjActivate"] }], allItems: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => KjListItem), { ...{ descendants: true }, isSignal: true }] }] } });
16157
16248
 
16158
16249
  /**
16159
16250
  * Search input inside the command palette. Composes `KjListNavigator`
@@ -20576,8 +20667,20 @@ class KjSelect {
20576
20667
  focus() {
20577
20668
  this._triggerEl()?.nativeElement.focus();
20578
20669
  }
20579
- /** All `KjListItem`s under this select — source for navigator + type-ahead. */
20580
- items = contentChildren(KjListItem, { ...(ngDevMode ? { debugName: "items" } : /* istanbul ignore next */ {}), descendants: true });
20670
+ /**
20671
+ * Raw content query. `descendants: true` reaches straight through a
20672
+ * list composite nested inside this select, so it is never read
20673
+ * directly — `items` narrows it to this container's own scope.
20674
+ */
20675
+ allItems = contentChildren(KjListItem, { ...(ngDevMode ? { debugName: "allItems" } : /* istanbul ignore next */ {}), descendants: true });
20676
+ /**
20677
+ * All `KjListItem`s under this select — source for navigator + type-ahead.
20678
+ *
20679
+ * Items owned by a list composite nested inside this one (a select
20680
+ * inside a palette, a menu inside a select) answer to that composite,
20681
+ * not to this one.
20682
+ */
20683
+ items = ownListItems(this, this.allItems);
20581
20684
  /** Implements `KjListNavigatorConfig.mode`. */
20582
20685
  mode = computed(() => this._multiple() ? 'multi' : 'single', /* @ts-ignore */
20583
20686
  ...(ngDevMode ? [{ debugName: "mode" }] : /* istanbul ignore next */ []));
@@ -20613,7 +20716,7 @@ class KjSelect {
20613
20716
  KjSelectionModel,
20614
20717
  KjTypeAhead,
20615
20718
  KjOverlayController,
20616
- ], queries: [{ propertyName: "items", predicate: KjListItem, descendants: true, isSignal: true }], exportAs: ["kjSelect"], ngImport: i0 });
20719
+ ], queries: [{ propertyName: "allItems", predicate: KjListItem, descendants: true, isSignal: true }], exportAs: ["kjSelect"], ngImport: i0 });
20617
20720
  }
20618
20721
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: KjSelect, decorators: [{
20619
20722
  type: Directive,
@@ -20629,7 +20732,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
20629
20732
  KjOverlayController,
20630
20733
  ],
20631
20734
  }]
20632
- }], ctorParameters: () => [], propDecorators: { kjSelectValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjSelectValue", required: false }] }, { type: i0.Output, args: ["kjSelectValueChange"] }], kjCompareBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjCompareBy", required: false }] }], items: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => KjListItem), { ...{ descendants: true }, isSignal: true }] }] } });
20735
+ }], ctorParameters: () => [], propDecorators: { kjSelectValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjSelectValue", required: false }] }, { type: i0.Output, args: ["kjSelectValueChange"] }], kjCompareBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjCompareBy", required: false }] }], allItems: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => KjListItem), { ...{ descendants: true }, isSignal: true }] }] } });
20633
20736
 
20634
20737
  /**
20635
20738
  * Wraps `onClick()` and forces `ariaHasPopup` to `'listbox'` so the trigger
@@ -20884,8 +20987,20 @@ class KjCombobox {
20884
20987
  ...(ngDevMode ? [{ debugName: "compareBy" }] : /* istanbul ignore next */ []));
20885
20988
  /** Stable listbox id for `aria-controls` wiring. */
20886
20989
  listboxId = nextId();
20887
- /** All `KjListItem`s under this combobox — source for nav + filter. */
20888
- items = contentChildren(KjListItem, { ...(ngDevMode ? { debugName: "items" } : /* istanbul ignore next */ {}), descendants: true });
20990
+ /**
20991
+ * Raw content query. `descendants: true` reaches straight through a
20992
+ * list composite nested inside this combobox, so it is never read
20993
+ * directly — `items` narrows it to this container's own scope.
20994
+ */
20995
+ allItems = contentChildren(KjListItem, { ...(ngDevMode ? { debugName: "allItems" } : /* istanbul ignore next */ {}), descendants: true });
20996
+ /**
20997
+ * All `KjListItem`s under this combobox — source for nav + filter.
20998
+ *
20999
+ * Items owned by a list composite nested inside this one (a select
21000
+ * inside a palette, a menu inside a select) answer to that composite,
21001
+ * not to this one.
21002
+ */
21003
+ items = ownListItems(this, this.allItems);
20889
21004
  /** Filter-aware visible items, exposed for KjListNavigatorConfig. */
20890
21005
  visibleItems = computed(() => this.filter.visibleItems(), /* @ts-ignore */
20891
21006
  ...(ngDevMode ? [{ debugName: "visibleItems" }] : /* istanbul ignore next */ []));
@@ -21037,7 +21152,7 @@ class KjCombobox {
21037
21152
  KjSelectionModel,
21038
21153
  KjFilterableList,
21039
21154
  KjOverlayController,
21040
- ], queries: [{ propertyName: "items", predicate: KjListItem, descendants: true, isSignal: true }], exportAs: ["kjCombobox"], hostDirectives: [{ directive: KjDisabled, inputs: ["kjDisabled", "kjDisabled"] }], ngImport: i0 });
21155
+ ], queries: [{ propertyName: "allItems", predicate: KjListItem, descendants: true, isSignal: true }], exportAs: ["kjCombobox"], hostDirectives: [{ directive: KjDisabled, inputs: ["kjDisabled", "kjDisabled"] }], ngImport: i0 });
21041
21156
  }
21042
21157
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: KjCombobox, decorators: [{
21043
21158
  type: Directive,
@@ -21056,7 +21171,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
21056
21171
  '[attr.data-state]': "open() ? 'open' : 'closed'",
21057
21172
  },
21058
21173
  }]
21059
- }], ctorParameters: () => [], propDecorators: { kjValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjValue", required: false }] }, { type: i0.Output, args: ["kjValueChange"] }], kjQueryInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjQuery", required: false }] }], kjShouldFilter: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjShouldFilter", required: false }] }], kjLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjLoading", required: false }] }], kjFreeText: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjFreeText", required: false }] }], kjFilter: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjFilter", required: false }] }], kjAutoActivateFirst: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjAutoActivateFirst", required: false }] }], kjQueryChange: [{ type: i0.Output, args: ["kjQueryChange"] }], kjCommit: [{ type: i0.Output, args: ["kjCommit"] }], items: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => KjListItem), { ...{ descendants: true }, isSignal: true }] }] } });
21174
+ }], ctorParameters: () => [], propDecorators: { kjValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjValue", required: false }] }, { type: i0.Output, args: ["kjValueChange"] }], kjQueryInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjQuery", required: false }] }], kjShouldFilter: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjShouldFilter", required: false }] }], kjLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjLoading", required: false }] }], kjFreeText: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjFreeText", required: false }] }], kjFilter: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjFilter", required: false }] }], kjAutoActivateFirst: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjAutoActivateFirst", required: false }] }], kjQueryChange: [{ type: i0.Output, args: ["kjQueryChange"] }], kjCommit: [{ type: i0.Output, args: ["kjCommit"] }], allItems: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => KjListItem), { ...{ descendants: true }, isSignal: true }] }] } });
21060
21175
 
21061
21176
  /**
21062
21177
  * Decorates a native `<input>` to act as the combobox trigger. Composes the
@@ -21688,8 +21803,20 @@ class KjCascadeSelect {
21688
21803
  /** Emitted when the active-descendant crosses a level boundary. */
21689
21804
  kjLevelChange = output();
21690
21805
  // ── KjListNavigatorConfig implementation ──────────────────────────
21691
- /** All `KjListItem`s under this cascade — source for the navigators. */
21692
- items = contentChildren(KjListItem, { ...(ngDevMode ? { debugName: "items" } : /* istanbul ignore next */ {}), descendants: true });
21806
+ /**
21807
+ * Raw content query. `descendants: true` reaches straight through a
21808
+ * list composite nested inside this cascade, so it is never read
21809
+ * directly — `items` narrows it to this container's own scope.
21810
+ */
21811
+ allItems = contentChildren(KjListItem, { ...(ngDevMode ? { debugName: "allItems" } : /* istanbul ignore next */ {}), descendants: true });
21812
+ /**
21813
+ * All `KjListItem`s under this cascade — source for the navigators.
21814
+ *
21815
+ * Items owned by a list composite nested inside this one (a select
21816
+ * inside a palette, a menu inside a select) answer to that composite,
21817
+ * not to this one.
21818
+ */
21819
+ items = ownListItems(this, this.allItems);
21693
21820
  /**
21694
21821
  * Every projected `KjCascadeSelectOption`. Used by {@link findOption}
21695
21822
  * to resolve a `KjListItem` id (typically the navigator's active id)
@@ -21840,7 +21967,7 @@ class KjCascadeSelect {
21840
21967
  { provide: KJ_LIST_NAVIGATOR_CONFIG, useExisting: forwardRef(() => KjCascadeSelect) },
21841
21968
  KjSelectionModel,
21842
21969
  KjOverlayController,
21843
- ], queries: [{ propertyName: "items", predicate: KjListItem, descendants: true, isSignal: true }, { propertyName: "_options", predicate: KjCascadeSelectOption, descendants: true, isSignal: true }], exportAs: ["kjCascadeSelect"], ngImport: i0 });
21970
+ ], queries: [{ propertyName: "allItems", predicate: KjListItem, descendants: true, isSignal: true }, { propertyName: "_options", predicate: KjCascadeSelectOption, descendants: true, isSignal: true }], exportAs: ["kjCascadeSelect"], ngImport: i0 });
21844
21971
  }
21845
21972
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: KjCascadeSelect, decorators: [{
21846
21973
  type: Directive,
@@ -21856,7 +21983,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
21856
21983
  KjOverlayController,
21857
21984
  ],
21858
21985
  }]
21859
- }], ctorParameters: () => [], propDecorators: { kjValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjValue", required: false }] }, { type: i0.Output, args: ["kjValueChange"] }], kjCascadePath: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjCascadePath", required: false }] }, { type: i0.Output, args: ["kjCascadePathChange"] }], kjTreeShape: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjTreeShape", required: false }] }], kjSubPanelOpenDelayMs: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjSubPanelOpenDelayMs", required: false }] }], kjSubPanelCloseDelayMs: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjSubPanelCloseDelayMs", required: false }] }], kjLevelChange: [{ type: i0.Output, args: ["kjLevelChange"] }], items: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => KjListItem), { ...{ descendants: true }, isSignal: true }] }], _options: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => KjCascadeSelectOption), { ...{ descendants: true }, isSignal: true }] }] } });
21986
+ }], ctorParameters: () => [], propDecorators: { kjValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjValue", required: false }] }, { type: i0.Output, args: ["kjValueChange"] }], kjCascadePath: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjCascadePath", required: false }] }, { type: i0.Output, args: ["kjCascadePathChange"] }], kjTreeShape: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjTreeShape", required: false }] }], kjSubPanelOpenDelayMs: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjSubPanelOpenDelayMs", required: false }] }], kjSubPanelCloseDelayMs: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjSubPanelCloseDelayMs", required: false }] }], kjLevelChange: [{ type: i0.Output, args: ["kjLevelChange"] }], allItems: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => KjListItem), { ...{ descendants: true }, isSignal: true }] }], _options: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => KjCascadeSelectOption), { ...{ descendants: true }, isSignal: true }] }] } });
21860
21987
 
21861
21988
  /**
21862
21989
  * Trigger button for the Cascade Select root panel. Opens the panel on click
@@ -22096,7 +22223,8 @@ class KjTreeSelect {
22096
22223
  * until node-level wiring lands (Task 3 of the migration plan); kept
22097
22224
  * here now so the config contract is satisfied today.
22098
22225
  */
22099
- items = contentChildren(KjListItem, { ...(ngDevMode ? { debugName: "items" } : /* istanbul ignore next */ {}), descendants: true });
22226
+ allItems = contentChildren(KjListItem, { ...(ngDevMode ? { debugName: "allItems" } : /* istanbul ignore next */ {}), descendants: true });
22227
+ items = ownListItems(this, this.allItems);
22100
22228
  /**
22101
22229
  * Single canonical value signal. Shared with the legacy `kjValue`
22102
22230
  * model — `KjSelectionModel` reads / writes through this signal.
@@ -22233,7 +22361,7 @@ class KjTreeSelect {
22233
22361
  { provide: KJ_LIST_NAVIGATOR_CONFIG, useExisting: forwardRef(() => KjTreeSelect) },
22234
22362
  KjSelectionModel,
22235
22363
  KjOverlayController,
22236
- ], queries: [{ propertyName: "items", predicate: KjListItem, descendants: true, isSignal: true }], ngImport: i0 });
22364
+ ], queries: [{ propertyName: "allItems", predicate: KjListItem, descendants: true, isSignal: true }], ngImport: i0 });
22237
22365
  }
22238
22366
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: KjTreeSelect, decorators: [{
22239
22367
  type: Directive,
@@ -22247,7 +22375,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
22247
22375
  KjOverlayController,
22248
22376
  ],
22249
22377
  }]
22250
- }], ctorParameters: () => [], propDecorators: { kjNodes: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjNodes", required: false }] }], kjSelectionMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjSelectionMode", required: false }] }], kjValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjValue", required: false }] }, { type: i0.Output, args: ["kjValueChange"] }], kjTreeShape: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjTreeShape", required: false }] }], kjExpandedKeys: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjExpandedKeys", required: false }] }, { type: i0.Output, args: ["kjExpandedKeysChange"] }], kjNodeSelect: [{ type: i0.Output, args: ["kjNodeSelect"] }], kjNodeExpand: [{ type: i0.Output, args: ["kjNodeExpand"] }], kjNodeCollapse: [{ type: i0.Output, args: ["kjNodeCollapse"] }], items: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => KjListItem), { ...{ descendants: true }, isSignal: true }] }] } });
22378
+ }], ctorParameters: () => [], propDecorators: { kjNodes: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjNodes", required: false }] }], kjSelectionMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjSelectionMode", required: false }] }], kjValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjValue", required: false }] }, { type: i0.Output, args: ["kjValueChange"] }], kjTreeShape: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjTreeShape", required: false }] }], kjExpandedKeys: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjExpandedKeys", required: false }] }, { type: i0.Output, args: ["kjExpandedKeysChange"] }], kjNodeSelect: [{ type: i0.Output, args: ["kjNodeSelect"] }], kjNodeExpand: [{ type: i0.Output, args: ["kjNodeExpand"] }], kjNodeCollapse: [{ type: i0.Output, args: ["kjNodeCollapse"] }], allItems: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => KjListItem), { ...{ descendants: true }, isSignal: true }] }] } });
22251
22379
 
22252
22380
  /**
22253
22381
  * Individual tree node (treeitem). Composes `KjListItem` via
@@ -28293,8 +28421,20 @@ class KjMenubar {
28293
28421
  /** Emits the bar item's id when its popup opens, or `null` when all are closed. */
28294
28422
  kjOpenChange = output();
28295
28423
  // ── KjListNavigatorConfig ────────────────────────────────────────────
28296
- /** All `KjListItem`s composed by `KjMenubarItem` children. */
28297
- items = contentChildren(KjListItem, { ...(ngDevMode ? { debugName: "items" } : /* istanbul ignore next */ {}), descendants: true });
28424
+ /**
28425
+ * Raw content query. `descendants: true` reaches straight through a
28426
+ * list composite nested inside this menubar, so it is never read
28427
+ * directly — `items` narrows it to this container's own scope.
28428
+ */
28429
+ allItems = contentChildren(KjListItem, { ...(ngDevMode ? { debugName: "allItems" } : /* istanbul ignore next */ {}), descendants: true });
28430
+ /**
28431
+ * All `KjListItem`s composed by `KjMenubarItem` children.
28432
+ *
28433
+ * Items owned by a list composite nested inside this one (a select
28434
+ * inside a palette, a menu inside a select) answer to that composite,
28435
+ * not to this one.
28436
+ */
28437
+ items = ownListItems(this, this.allItems);
28298
28438
  /** No selection model on a menubar. Identity compare. */
28299
28439
  compareBy = signal(Object.is, /* @ts-ignore */
28300
28440
  ...(ngDevMode ? [{ debugName: "compareBy" }] : /* istanbul ignore next */ []));
@@ -28505,7 +28645,7 @@ class KjMenubar {
28505
28645
  useFactory: () => signal('roving'),
28506
28646
  },
28507
28647
  KjTypeAhead,
28508
- ], queries: [{ propertyName: "items", predicate: KjListItem, descendants: true, isSignal: true }], exportAs: ["kjMenubar"], hostDirectives: [{ directive: KjListNavigator }], ngImport: i0 });
28648
+ ], queries: [{ propertyName: "allItems", predicate: KjListItem, descendants: true, isSignal: true }], exportAs: ["kjMenubar"], hostDirectives: [{ directive: KjListNavigator }], ngImport: i0 });
28509
28649
  }
28510
28650
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: KjMenubar, decorators: [{
28511
28651
  type: Directive,
@@ -28531,7 +28671,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
28531
28671
  '(focusin)': '_onFocusin($event)',
28532
28672
  },
28533
28673
  }]
28534
- }], ctorParameters: () => [], propDecorators: { kjLoop: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjLoop", required: false }] }], kjAutoDisclose: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjAutoDisclose", required: false }] }], kjAutoDiscloseDelayMs: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjAutoDiscloseDelayMs", required: false }] }], kjAriaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjAriaLabel", required: false }] }], kjOpenChange: [{ type: i0.Output, args: ["kjOpenChange"] }], items: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => KjListItem), { ...{ descendants: true }, isSignal: true }] }] } });
28674
+ }], ctorParameters: () => [], propDecorators: { kjLoop: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjLoop", required: false }] }], kjAutoDisclose: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjAutoDisclose", required: false }] }], kjAutoDiscloseDelayMs: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjAutoDiscloseDelayMs", required: false }] }], kjAriaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjAriaLabel", required: false }] }], kjOpenChange: [{ type: i0.Output, args: ["kjOpenChange"] }], allItems: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => KjListItem), { ...{ descendants: true }, isSignal: true }] }] } });
28535
28675
 
28536
28676
  let _menubarPanelId = 0;
28537
28677
  /**
@@ -30543,5 +30683,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
30543
30683
  * Generated bundle index. Do not edit.
30544
30684
  */
30545
30685
 
30546
- export { DRAWER_DATA, DRAWER_DRAG, DRAWER_SIDE, EN_CATALOG, FR_CATALOG, KJ_ACCORDION, KJ_ACCORDION_ITEM, KJ_ALERT, KJ_ALERT_CONFIG, KJ_ALERT_DEFAULTS, KJ_AVATAR, KJ_AVATAR_GROUP, KJ_BREADCRUMB, KJ_BREADCRUMB_CONFIG, KJ_BREADCRUMB_DEFAULTS, KJ_BUTTON_CONFIG, KJ_BUTTON_DEFAULTS, KJ_BUTTON_GROUP, KJ_CALENDAR, KJ_CAROUSEL, KJ_CAROUSEL_INDICATORS, KJ_CAROUSEL_SLIDE, KJ_CASCADE_SELECT, KJ_CHAT, KJ_CHAT_BUBBLE_CONFIG, KJ_CHAT_BUBBLE_DEFAULTS, KJ_CHAT_CONFIG, KJ_CHAT_LOG, KJ_COLOR_PICKER, KJ_CONFIRM_POPUP, KJ_DATE_PICKER, KJ_DATE_RANGE_PRESETS, KJ_DROPDOWN_MENU, KJ_ECHARTS, KJ_FIELD, KJ_FILE_UPLOAD, KJ_FILE_UPLOAD_DEFAULT_MESSAGES, KJ_FILE_UPLOAD_ITEM, KJ_FORM, KJ_FORM_FIELD, KJ_ICON_CSS_PATH, KJ_ICON_ENTRIES, KJ_ICON_LOADER, KJ_ICON_REGISTRY, KJ_ICON_RESOLVER, KJ_INPUT_GROUP, KJ_INPUT_MASK_PRESETS, KJ_INPUT_MASK_TOKENS, KJ_INPUT_OTP, KJ_KBD_SIZE_PRESET, KJ_LINK_CONFIG, KJ_LINK_DEFAULTS, KJ_LIST, KJ_LIST_FOCUS_MODE, KJ_LIST_NAVIGATOR_CONFIG, KJ_LIST_ROW, KJ_LOCALE_CONFIG, KJ_MENUBAR, KJ_MONACO_CONFIG, KJ_MONACO_LANGUAGE_LOADERS, KJ_NUMBER_INPUT, KJ_OVERLAY_BACKDROP_STRATEGY, KJ_OVERLAY_BADGE, KJ_OVERLAY_FOCUS_TRAP_STRATEGY, KJ_OVERLAY_LIVE_ANNOUNCER_STRATEGY, KJ_OVERLAY_MOUNT_STRATEGY, KJ_OVERLAY_PANEL_ROLE, KJ_OVERLAY_POSITION_STRATEGY, KJ_OVERLAY_SCROLL_LOCK_STRATEGY, KJ_OVERLAY_TRIGGER_EVENT_STRATEGY, KJ_OVERLAY_Z_BASE, KJ_OVERLAY_Z_BASE_DEFAULT, KJ_OVERLAY_Z_VAR, KJ_PAGINATION, KJ_PAGINATION_CONFIG, KJ_PAGINATION_DEFAULTS, KJ_PASSWORD_INPUT, KJ_PROGRESS_BAR, KJ_PROGRESS_BAR_CONFIG, KJ_PROGRESS_BAR_DEFAULTS, KJ_PROSE_CSS_PATH, KJ_RADIO_GROUP, KJ_RICH_TEXT, KJ_RICH_TEXT_EXTENSIONS, KJ_RICH_TEXT_FEATURES, KJ_RICH_TEXT_NODE, KJ_ROVING_TABINDEX, KJ_RTE_OVERLAY_DATA, KJ_SELECT, KJ_SIZE_FALLBACK, KJ_SIZE_PRESET, KJ_SLIDER, KJ_SPEED_DIAL, KJ_SPINNER_CONFIG, KJ_SPINNER_DEFAULTS, KJ_STEP, KJ_STEPPER, KJ_TABLE, KJ_TABLE_STORAGE, KJ_TABS, KJ_TABS_CONFIG, KJ_TABS_DEFAULTS, KJ_TAG, KJ_TAG_CONFIG, KJ_TAG_DEFAULTS, KJ_TAG_LIST, KJ_TEXTAREA_CONFIG, KJ_TEXTAREA_DEFAULTS, KJ_TIME_PICKER, KJ_TOAST_LIST_STRATEGY, KJ_TOAST_SONNER_STRATEGY, KJ_TOAST_STRATEGY, KJ_TRANSLATION_CATALOGS, KJ_TREE_SELECT, KJ_VARIANT_FALLBACK, KJ_VARIANT_PRESET, KjAccordion, KjAccordionContent, KjAccordionItem, KjAccordionTrigger, KjAlert, KjAlertActions, KjAlertDescription, KjAlertDismiss, KjAlertIcon, KjAlertTitle, KjAriaDescribedBy, KjAriaLabelledBy, KjAvatar, KjAvatarFallback, KjAvatarGroup, KjAvatarImage, KjBackdrop, KjBadge, KjBlockquote, KjBreadcrumb, KjBreadcrumbCurrent, KjBreadcrumbEllipsis, KjBreadcrumbItem, KjBreadcrumbLink, KjBreadcrumbList, KjBreadcrumbSeparator, KjButton, KjButtonGroup, KjCalendar, KjCalendarDay, KjCalendarGrid, KjCalendarHeader, KjCarousel, KjCarouselAutoplay, KjCarouselIndicator, KjCarouselIndicators, KjCarouselNext, KjCarouselPauseToggle, KjCarouselPrevious, KjCarouselSlide, KjCarouselViewport, KjCascadeSelect, KjCascadeSelectOption, KjCascadeSelectPanel, KjCascadeSelectSubPanel, KjCascadeSelectTrigger, KjChart, KjChartTableFallback, KjChat, KjChatAnnouncer, KjChatAvatar, KjChatBubble, KjChatFooter, KjChatHeader, KjChatLog, KjChatStore, KjCheckbox, KjCode, KjColorPicker, KjColorPickerAlphaSlider, KjColorPickerArea, KjColorPickerHueSlider, KjColorPickerInput, KjColorPickerPanel, KjColorPickerTrigger, KjCombobox, KjComboboxInput, KjComboboxListbox, KjComboboxOption, KjCommandEmpty, KjCommandGroup, KjCommandInput, KjCommandItem, KjCommandList, KjCommandPalette, KjCommandPaletteDialog, KjCommandPaletteTrigger, KjCommandSeparator, KjConfirmPopup, KjConfirmPopupAction, KjConfirmPopupCancel, KjConfirmPopupContent, KjConfirmPopupMessage, KjConfirmPopupTrigger, KjDatePicker, KjDatePickerCalendar, KjDatePickerTrigger, KjDateRangePresetOption, KjDateRangePresets, KjDialog$1 as KjDialog, KjDialogRef, KjDialog as KjDialogService, KjDirectionality, KjDisabled, KjDivider, KjDrawer, KjDrawerRef, KjDrawerService, KjDropdownMenu, KjDropdownMenuContent, KjDropdownMenuGroup, KjDropdownMenuItem, KjDropdownMenuLabel, KjDropdownMenuSeparator, KjDropdownMenuTrigger, KjEditor, KjEditorLoader, KjField, KjFieldError, KjFieldGroup, KjFieldHelp, KjFieldLabel, KjFileUpload, KjFileUploadDropzone, KjFileUploadItem, KjFileUploadList, KjFileUploadTrigger, KjFilterableList, KjFocusRing, KjFocusTrap, KjForm, KjFormControl, KjFormError, KjFormErrorSummary, KjFormField, KjFormLabel, KjIconDirective, KjId, KjInput, KjInputGroup, KjInputGroupAddon, KjInputMask, KjInputOtp, KjInputOtpCell, KjKbd, KjLead, KjLink, KjList, KjListGroup, KjListGroupLabel, KjListItem, KjListNavigator, KjListRow, KjListSeparator, KjLiveRegion, KjLocale, KjMenubar, KjMenubarItem, KjMotion, KjMuted, KjNumberInput, KjNumberInputGroup, KjNumberStepper, KjOption, KjOverflowContent, KjOverlayBadge, KjOverlayBadgeContent, KjOverlayBuilder, KjOverlayController, KjOverlayHandle, KjOverlayPanel, KjOverlayStack, KjOverlayTrigger, KjOverlayWrapper, KjPagination, KjPaginationEllipsis, KjPaginationFirst, KjPaginationInfo, KjPaginationItem, KjPaginationLast, KjPaginationNext, KjPaginationPrevious, KjPasswordCapsLockWarning, KjPasswordInput, KjPasswordInputScope, KjPasswordStrength, KjPasswordToggle, KjPopoverArrow, KjPopoverClose, KjPopoverContent, KjPopoverTitle, KjPopoverTrigger, KjProgressBar, KjProgressBarFill, KjRadio, KjRadioGroup, KjReducedMotion, KjRichTextEditor, KjRichTextExtensionDirective, KjRovingTabindex, KjRovingTabindexItemDirective, KjSelect, KjSelectContent, KjSelectTrigger, KjSelectionModel, KjSheet, KjSheetRef, KjSheetService, KjSize, KjSkeleton, KjSkipLink, KjSlider, KjSliderRange, KjSliderThumb, KjSliderTrack, KjSpeedDial, KjSpeedDialAction, KjSpeedDialActions, KjSpeedDialTrigger, KjSpinner, KjStep, KjStepContent, KjStepLabel, KjStepper, KjStepperNext, KjStepperPrevious, KjStepperReset, KjTab, KjTabList, KjTabPanel, KjTable, KjTableCell, KjTableFilterOutlet, KjTableHeader, KjTableKeyboardNav, KjTableRow, KjTabs, KjTag, KjTagList, KjTagRemove, KjTextarea, KjTimePicker, KjTimePickerHours, KjTimePickerMeridiem, KjTimePickerMinutes, KjTimePickerSeconds, KjToast, KjToastClose, KjToastPanel, KjToastRef, KjToastService, KjToastViewport, KjToggle, KjTooltipArrow, KjTooltipContent, KjTooltipGroup, KjTooltipTrigger, KjTranslate, KjTranslateService, KjTreeSelect, KjTreeSelectContent, KjTreeSelectNode, KjTreeSelectToggle, KjTreeSelectTrigger, KjTruncate, KjTypeAhead, KjVariant, KjVisuallyHidden, MaskEngine, SHEET_ARIA_LABEL, SHEET_DATA, SHEET_DETENT, SHEET_DISMISSIBLE, addDays, addMonths, addYears, anchoredTo, applyOverlayZIndex, assertive, bindPresets, blurredBackdrop, bodyPortal, buildMonthMatrix, clearOverlayZIndex, coalesceAnnouncement, compareDay, compileMask, corner, createKjDecoratorNode, createKjImageNode, createOverlayWrapper, cssClip, defaultDateRangePresets, defaultMaskTokens, defaultPasswordScorer, edgeSheet, endOfMonth, firstDayOfWeek, formatDateLong, formatDateShort, formatMonthYear, getIconMode, getOverlayContainer, htmlOverflow, inContainer, inMemoryAdapter, inPlace, inPlaceSibling, inertBased, injectFilterableList, injectKjFilterParams, injectKjIconResolver, injectListItem, injectRichTextNode, injectRteOverlayData, injectSelectionModel, isInRange, isKjFilterModel, isSameDay, isSameMonth, kjColumn, kjColumnGroup, kjContainsFilter, kjDateFilterFn, kjFileMatchesAccept, kjFuzzyFilter, kjHsvToHsl, kjHsvToRgb, kjMultiFilterFn, kjNumberFilterFn, kjParseHex, kjRgbToHex, kjRgbToHsv, kjSetFilterFn, kjStartsWithFilter, kjSubstringFilter, kjTableResource, kjTextFilterFn, localStorageAdapter, matchSlashCommands, nextCascadeId, nextChatMessageId, nextDropdownMenuLabelId, nextPopoverTitleId, noBackdrop, noScrollLock, noTrap, normalizeLanguage, onClick, onContextMenu, onFocus, onFocusOrInput, onHotkey, onHover, parseDate, parseSlash, pointAt, polite, programmatic, provideECharts, provideIconLoader, provideIconResolver, provideIcons, provideKjAlert, provideKjBreadcrumb, provideKjButton, provideKjChat, provideKjChatBubble, provideKjDocumentDirection, provideKjFilterParams, provideKjInputMaskTokens, provideKjLink, provideKjLocale, provideKjPagination, provideKjProgressBar, provideKjRichText, provideKjSpinner, provideKjTableStorage, provideKjTabs, provideKjTag, provideKjTextarea, provideKjToastListStrategy, provideKjToastSonnerStrategy, provideKjToastStrategy, provideKjTranslations, provideMonaco, provideMonacoLanguages, resolveChartPalette, resolveDateRangePreset, sessionStorageAdapter, silent, solidBackdrop, startOfDay, startOfMonth, stripDiacritics, tabCycle, toDeepSignal, viewportCentered, weekdayLongNames, weekdayShortNames };
30686
+ export { DRAWER_DATA, DRAWER_DRAG, DRAWER_SIDE, EN_CATALOG, FR_CATALOG, KJ_ACCORDION, KJ_ACCORDION_ITEM, KJ_ALERT, KJ_ALERT_CONFIG, KJ_ALERT_DEFAULTS, KJ_AVATAR, KJ_AVATAR_GROUP, KJ_BREADCRUMB, KJ_BREADCRUMB_CONFIG, KJ_BREADCRUMB_DEFAULTS, KJ_BUTTON_CONFIG, KJ_BUTTON_DEFAULTS, KJ_BUTTON_GROUP, KJ_CALENDAR, KJ_CAROUSEL, KJ_CAROUSEL_INDICATORS, KJ_CAROUSEL_SLIDE, KJ_CASCADE_SELECT, KJ_CHAT, KJ_CHAT_BUBBLE_CONFIG, KJ_CHAT_BUBBLE_DEFAULTS, KJ_CHAT_CONFIG, KJ_CHAT_LOG, KJ_COLOR_PICKER, KJ_CONFIRM_POPUP, KJ_DATE_PICKER, KJ_DATE_RANGE_PRESETS, KJ_DROPDOWN_MENU, KJ_ECHARTS, KJ_FIELD, KJ_FILE_UPLOAD, KJ_FILE_UPLOAD_DEFAULT_MESSAGES, KJ_FILE_UPLOAD_ITEM, KJ_FORM, KJ_FORM_FIELD, KJ_ICON_CSS_PATH, KJ_ICON_ENTRIES, KJ_ICON_LOADER, KJ_ICON_REGISTRY, KJ_ICON_RESOLVER, KJ_INPUT_GROUP, KJ_INPUT_MASK_PRESETS, KJ_INPUT_MASK_TOKENS, KJ_INPUT_OTP, KJ_KBD_SIZE_PRESET, KJ_LINK_CONFIG, KJ_LINK_DEFAULTS, KJ_LIST, KJ_LIST_FOCUS_MODE, KJ_LIST_NAVIGATOR_CONFIG, KJ_LIST_ROW, KJ_LOCALE_CONFIG, KJ_MENUBAR, KJ_MONACO_CONFIG, KJ_MONACO_LANGUAGE_LOADERS, KJ_NUMBER_INPUT, KJ_OVERLAY_BACKDROP_STRATEGY, KJ_OVERLAY_BADGE, KJ_OVERLAY_FOCUS_TRAP_STRATEGY, KJ_OVERLAY_LIVE_ANNOUNCER_STRATEGY, KJ_OVERLAY_MOUNT_STRATEGY, KJ_OVERLAY_PANEL_ROLE, KJ_OVERLAY_POSITION_STRATEGY, KJ_OVERLAY_SCROLL_LOCK_STRATEGY, KJ_OVERLAY_TRIGGER_EVENT_STRATEGY, KJ_OVERLAY_Z_BASE, KJ_OVERLAY_Z_BASE_DEFAULT, KJ_OVERLAY_Z_VAR, KJ_PAGINATION, KJ_PAGINATION_CONFIG, KJ_PAGINATION_DEFAULTS, KJ_PASSWORD_INPUT, KJ_PROGRESS_BAR, KJ_PROGRESS_BAR_CONFIG, KJ_PROGRESS_BAR_DEFAULTS, KJ_PROSE_CSS_PATH, KJ_RADIO_GROUP, KJ_RICH_TEXT, KJ_RICH_TEXT_EXTENSIONS, KJ_RICH_TEXT_FEATURES, KJ_RICH_TEXT_NODE, KJ_ROVING_TABINDEX, KJ_RTE_OVERLAY_DATA, KJ_SELECT, KJ_SIZE_FALLBACK, KJ_SIZE_PRESET, KJ_SLIDER, KJ_SPEED_DIAL, KJ_SPINNER_CONFIG, KJ_SPINNER_DEFAULTS, KJ_STEP, KJ_STEPPER, KJ_TABLE, KJ_TABLE_STORAGE, KJ_TABS, KJ_TABS_CONFIG, KJ_TABS_DEFAULTS, KJ_TAG, KJ_TAG_CONFIG, KJ_TAG_DEFAULTS, KJ_TAG_LIST, KJ_TEXTAREA_CONFIG, KJ_TEXTAREA_DEFAULTS, KJ_TIME_PICKER, KJ_TOAST_LIST_STRATEGY, KJ_TOAST_SONNER_STRATEGY, KJ_TOAST_STRATEGY, KJ_TRANSLATION_CATALOGS, KJ_TREE_SELECT, KJ_VARIANT_FALLBACK, KJ_VARIANT_PRESET, KjAccordion, KjAccordionContent, KjAccordionItem, KjAccordionTrigger, KjAlert, KjAlertActions, KjAlertDescription, KjAlertDismiss, KjAlertIcon, KjAlertTitle, KjAriaDescribedBy, KjAriaLabelledBy, KjAvatar, KjAvatarFallback, KjAvatarGroup, KjAvatarImage, KjBackdrop, KjBadge, KjBlockquote, KjBreadcrumb, KjBreadcrumbCurrent, KjBreadcrumbEllipsis, KjBreadcrumbItem, KjBreadcrumbLink, KjBreadcrumbList, KjBreadcrumbSeparator, KjButton, KjButtonGroup, KjCalendar, KjCalendarDay, KjCalendarGrid, KjCalendarHeader, KjCarousel, KjCarouselAutoplay, KjCarouselIndicator, KjCarouselIndicators, KjCarouselNext, KjCarouselPauseToggle, KjCarouselPrevious, KjCarouselSlide, KjCarouselViewport, KjCascadeSelect, KjCascadeSelectOption, KjCascadeSelectPanel, KjCascadeSelectSubPanel, KjCascadeSelectTrigger, KjChart, KjChartTableFallback, KjChat, KjChatAnnouncer, KjChatAvatar, KjChatBubble, KjChatFooter, KjChatHeader, KjChatLog, KjChatStore, KjCheckbox, KjCode, KjColorPicker, KjColorPickerAlphaSlider, KjColorPickerArea, KjColorPickerHueSlider, KjColorPickerInput, KjColorPickerPanel, KjColorPickerTrigger, KjCombobox, KjComboboxInput, KjComboboxListbox, KjComboboxOption, KjCommandEmpty, KjCommandGroup, KjCommandInput, KjCommandItem, KjCommandList, KjCommandPalette, KjCommandPaletteDialog, KjCommandPaletteTrigger, KjCommandSeparator, KjConfirmPopup, KjConfirmPopupAction, KjConfirmPopupCancel, KjConfirmPopupContent, KjConfirmPopupMessage, KjConfirmPopupTrigger, KjDatePicker, KjDatePickerCalendar, KjDatePickerTrigger, KjDateRangePresetOption, KjDateRangePresets, KjDialog$1 as KjDialog, KjDialogRef, KjDialog as KjDialogService, KjDirectionality, KjDisabled, KjDivider, KjDrawer, KjDrawerRef, KjDrawerService, KjDropdownMenu, KjDropdownMenuContent, KjDropdownMenuGroup, KjDropdownMenuItem, KjDropdownMenuLabel, KjDropdownMenuSeparator, KjDropdownMenuTrigger, KjEditor, KjEditorLoader, KjField, KjFieldError, KjFieldGroup, KjFieldHelp, KjFieldLabel, KjFileUpload, KjFileUploadDropzone, KjFileUploadItem, KjFileUploadList, KjFileUploadTrigger, KjFilterableList, KjFocusRing, KjFocusTrap, KjForm, KjFormControl, KjFormError, KjFormErrorSummary, KjFormField, KjFormLabel, KjIconDirective, KjId, KjInput, KjInputGroup, KjInputGroupAddon, KjInputMask, KjInputOtp, KjInputOtpCell, KjKbd, KjLead, KjLink, KjList, KjListGroup, KjListGroupLabel, KjListItem, KjListNavigator, KjListRow, KjListSeparator, KjLiveRegion, KjLocale, KjMenubar, KjMenubarItem, KjMotion, KjMuted, KjNumberInput, KjNumberInputGroup, KjNumberStepper, KjOption, KjOverflowContent, KjOverlayBadge, KjOverlayBadgeContent, KjOverlayBuilder, KjOverlayController, KjOverlayHandle, KjOverlayPanel, KjOverlayStack, KjOverlayTrigger, KjOverlayWrapper, KjPagination, KjPaginationEllipsis, KjPaginationFirst, KjPaginationInfo, KjPaginationItem, KjPaginationLast, KjPaginationNext, KjPaginationPrevious, KjPasswordCapsLockWarning, KjPasswordInput, KjPasswordInputScope, KjPasswordStrength, KjPasswordToggle, KjPopoverArrow, KjPopoverClose, KjPopoverContent, KjPopoverTitle, KjPopoverTrigger, KjProgressBar, KjProgressBarFill, KjRadio, KjRadioGroup, KjReducedMotion, KjRichTextEditor, KjRichTextExtensionDirective, KjRovingTabindex, KjRovingTabindexItemDirective, KjSelect, KjSelectContent, KjSelectTrigger, KjSelectionModel, KjSheet, KjSheetRef, KjSheetService, KjSize, KjSkeleton, KjSkipLink, KjSlider, KjSliderRange, KjSliderThumb, KjSliderTrack, KjSpeedDial, KjSpeedDialAction, KjSpeedDialActions, KjSpeedDialTrigger, KjSpinner, KjStep, KjStepContent, KjStepLabel, KjStepper, KjStepperNext, KjStepperPrevious, KjStepperReset, KjTab, KjTabList, KjTabPanel, KjTable, KjTableCell, KjTableFilterOutlet, KjTableHeader, KjTableKeyboardNav, KjTableRow, KjTabs, KjTag, KjTagList, KjTagRemove, KjTextarea, KjTimePicker, KjTimePickerHours, KjTimePickerMeridiem, KjTimePickerMinutes, KjTimePickerSeconds, KjToast, KjToastClose, KjToastPanel, KjToastRef, KjToastService, KjToastViewport, KjToggle, KjTooltipArrow, KjTooltipContent, KjTooltipGroup, KjTooltipTrigger, KjTranslate, KjTranslateService, KjTreeSelect, KjTreeSelectContent, KjTreeSelectNode, KjTreeSelectToggle, KjTreeSelectTrigger, KjTruncate, KjTypeAhead, KjVariant, KjVisuallyHidden, MaskEngine, SHEET_ARIA_LABEL, SHEET_DATA, SHEET_DETENT, SHEET_DISMISSIBLE, addDays, addMonths, addYears, anchoredTo, applyOverlayZIndex, assertive, bindPresets, blurredBackdrop, bodyPortal, buildMonthMatrix, clearOverlayZIndex, coalesceAnnouncement, compareDay, compileMask, corner, createKjDecoratorNode, createKjImageNode, createOverlayWrapper, cssClip, defaultDateRangePresets, defaultMaskTokens, defaultPasswordScorer, edgeSheet, endOfMonth, firstDayOfWeek, formatDateLong, formatDateShort, formatMonthYear, getIconMode, getOverlayContainer, htmlOverflow, inContainer, inMemoryAdapter, inPlace, inPlaceSibling, inertBased, injectFilterableList, injectKjFilterParams, injectKjIconResolver, injectListItem, injectRichTextNode, injectRteOverlayData, injectSelectionModel, isInRange, isKjFilterModel, isSameDay, isSameMonth, kjColumn, kjColumnGroup, kjContainsFilter, kjDateFilterFn, kjFileMatchesAccept, kjFuzzyFilter, kjHsvToHsl, kjHsvToRgb, kjMultiFilterFn, kjNumberFilterFn, kjParseHex, kjRgbToHex, kjRgbToHsv, kjSetFilterFn, kjStartsWithFilter, kjSubstringFilter, kjTableResource, kjTextFilterFn, localStorageAdapter, matchSlashCommands, nextCascadeId, nextChatMessageId, nextDropdownMenuLabelId, nextPopoverTitleId, noBackdrop, noScrollLock, noTrap, normalizeLanguage, onClick, onContextMenu, onFocus, onFocusOrInput, onHotkey, onHover, ownListItems, parseDate, parseSlash, pointAt, polite, programmatic, provideECharts, provideIconLoader, provideIconResolver, provideIcons, provideKjAlert, provideKjBreadcrumb, provideKjButton, provideKjChat, provideKjChatBubble, provideKjDocumentDirection, provideKjFilterParams, provideKjInputMaskTokens, provideKjLink, provideKjLocale, provideKjPagination, provideKjProgressBar, provideKjRichText, provideKjSpinner, provideKjTableStorage, provideKjTabs, provideKjTag, provideKjTextarea, provideKjToastListStrategy, provideKjToastSonnerStrategy, provideKjToastStrategy, provideKjTranslations, provideMonaco, provideMonacoLanguages, resolveChartPalette, resolveDateRangePreset, sessionStorageAdapter, silent, solidBackdrop, startOfDay, startOfMonth, stripDiacritics, tabCycle, toDeepSignal, viewportCentered, weekdayLongNames, weekdayShortNames };
30547
30687
  //# sourceMappingURL=kouji-ui-core.mjs.map