@kouji-ui/core 0.8.2 → 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.
@@ -0,0 +1,47 @@
1
+ /* ─────────────────────────────────────────────────────────────
2
+ @kouji-ui/core — overlay primitive base styles
3
+ --------------------------------------------------------------
4
+ Ships the structural CSS for the singleton overlay container
5
+ created by `getOverlayContainer()` and per-overlay wrappers
6
+ created by `createOverlayWrapper()`, plus the default visual
7
+ for `kj-backdrop` (the `solidBackdrop()` strategy's class).
8
+
9
+ The themed overlay-family components (popover, tooltip,
10
+ dropdown-menu, dialog, drawer, toast, confirm-popup) live in
11
+ `@kouji-ui/components` and re-export this file plus their own
12
+ stylesheets via `packages/components/src/overlay/overlay.css`.
13
+ Consumers register that single aggregator — no need to list
14
+ each overlay component CSS in `angular.json`.
15
+ ──────────────────────────────────────────────────────────── */
16
+
17
+ @layer kj.component {
18
+ .kj-overlay-container {
19
+ position: fixed;
20
+ inset: 0;
21
+ z-index: var(--kj-overlay-z-index, var(--kj-overlay-z-base, 1000));
22
+ pointer-events: none;
23
+ }
24
+
25
+ /* One wrapper per open overlay. `KjOverlayStack` writes an inline
26
+ `z-index` + `--kj-overlay-z` here on open (base 1000, +1 per nested
27
+ level) so each wrapper is its own stacking context and a nested
28
+ overlay always paints above its opener. Panel stylesheets read
29
+ `z-index: var(--kj-overlay-z, <their default>)`. */
30
+ .kj-overlay-wrapper {
31
+ position: absolute;
32
+ inset: 0;
33
+ pointer-events: none;
34
+ }
35
+
36
+ .kj-overlay-wrapper > * {
37
+ pointer-events: auto;
38
+ }
39
+
40
+ .kj-backdrop,
41
+ .kj-overlay-backdrop {
42
+ position: absolute;
43
+ inset: 0;
44
+ background: var(--kj-backdrop-bg, rgb(0 0 0 / 0.5));
45
+ pointer-events: auto;
46
+ }
47
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kouji-ui/core",
3
- "version": "0.8.2",
3
+ "version": "0.8.4",
4
4
  "description": "Headless Angular 21 UI primitives — directives over CDK with WCAG 2.1 AAA semantics and zero CSS.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -50,6 +50,10 @@
50
50
  "module": "fesm2022/kouji-ui-core.mjs",
51
51
  "typings": "types/kouji-ui-core.d.ts",
52
52
  "exports": {
53
+ "./overlay/overlay.css": {
54
+ "style": "./overlay/overlay.css",
55
+ "default": "./overlay/overlay.css"
56
+ },
53
57
  "./icon/icon.css": {
54
58
  "style": "./icon/icon.css",
55
59
  "default": "./icon/icon.css"
@@ -145,11 +145,58 @@ interface KjOverlayRegistration {
145
145
  interface KjOverlayStackHandle {
146
146
  unregister: () => void;
147
147
  isTopmost: Signal<boolean>;
148
+ /**
149
+ * `z-index` assigned to this overlay when it registered — strictly above
150
+ * every overlay that was open at that moment. Stable for the overlay's
151
+ * lifetime: a later overlay never sinks below an earlier one.
152
+ */
153
+ readonly zIndex: number;
148
154
  }
155
+ /** Default `z-index` of the first (outermost) open overlay. */
156
+ declare const KJ_OVERLAY_Z_BASE_DEFAULT = 1000;
157
+ /**
158
+ * Base `z-index` of the overlay stack — the level the first open overlay
159
+ * gets; each nested overlay opened on top of it gets the next integer up.
160
+ * Override per app via DI, or at runtime with `--kj-overlay-z-base` on
161
+ * `:root` (the CSS custom property wins when both are set).
162
+ */
163
+ declare const KJ_OVERLAY_Z_BASE: InjectionToken<number>;
164
+ /**
165
+ * CSS custom property every overlay panel / backdrop reads as
166
+ * `z-index: var(--kj-overlay-z, <default>)`. Written by
167
+ * {@link applyOverlayZIndex} on open and removed on close.
168
+ */
169
+ declare const KJ_OVERLAY_Z_VAR = "--kj-overlay-z";
170
+ /**
171
+ * Writes the stack-assigned `z-index` for one overlay to the DOM: the panel
172
+ * receives `--kj-overlay-z` (so its component CSS resolves the level), and
173
+ * when the panel sits inside a `.kj-overlay-wrapper` the wrapper receives
174
+ * the same custom property plus an inline `z-index`. Giving the wrapper the
175
+ * `z-index` turns it into one stacking context per overlay, so a backdrop
176
+ * and its panel move as a unit and a nested overlay's wrapper always paints
177
+ * above its opener's — regardless of the fixed `z-index` each component's
178
+ * stylesheet declares.
179
+ */
180
+ declare function applyOverlayZIndex(panel: HTMLElement | null, zIndex: number): void;
181
+ /** Reverses {@link applyOverlayZIndex} — call before the panel leaves its wrapper. */
182
+ declare function clearOverlayZIndex(panel: HTMLElement | null): void;
149
183
  /**
150
184
  * Global coordinator for nested-overlay behaviour: stack ordering, Escape
151
- * routing, and outside-click detection. Only the topmost overlay receives
152
- * Esc / outside-click — prevents the double-close problem.
185
+ * routing, outside-click detection, and z-index stacking. Only the topmost
186
+ * overlay receives Esc / outside-click — prevents the double-close problem.
187
+ *
188
+ * **Stacking.** Every overlay registers here when it opens and receives a
189
+ * `z-index` one above the highest overlay open at that moment (the first
190
+ * one gets the base, `1000` by default). The controller writes it to the
191
+ * panel and its wrapper as `--kj-overlay-z`, and every overlay stylesheet
192
+ * in the kit reads `z-index: var(--kj-overlay-z, …)`, so a select opened
193
+ * inside a command palette, a popover inside a dialog, or a dialog opened
194
+ * from a palette always paints above its opener. Closing an overlay pops it
195
+ * off the stack; the ones left keep their level, and the next overlay opens
196
+ * one above whatever is still open. Change the base app-wide with
197
+ * `KJ_OVERLAY_Z_BASE` (DI) or `--kj-overlay-z-base` on `:root`. Toasts are
198
+ * not part of the stack — they live in their own layer above it
199
+ * (`--kj-toast-z-index`, default `2000`).
153
200
  *
154
201
  * SSR-safe: every DOM access guarded by isPlatformBrowser.
155
202
  *
@@ -157,11 +204,12 @@ interface KjOverlayStackHandle {
157
204
  * @doc
158
205
  * @doc-name overlay-stack
159
206
  * @doc-is-main
160
- * @doc-description Routes Escape and outside-click to only the topmost overlay when overlays are nested.
207
+ * @doc-description Routes Escape and outside-click to only the topmost overlay when overlays are nested, and stacks each nested overlay above its opener.
161
208
  */
162
209
  declare class KjOverlayStack {
163
210
  private readonly platformId;
164
211
  private readonly isBrowser;
212
+ private readonly configuredBase;
165
213
  private readonly _stack;
166
214
  private _listenersInstalled;
167
215
  private readonly _onKeydown;
@@ -169,6 +217,15 @@ declare class KjOverlayStack {
169
217
  register(id: string, opts: KjOverlayRegistration): KjOverlayStackHandle;
170
218
  markContentEl(id: string, el: HTMLElement | null): void;
171
219
  get stackSize(): number;
220
+ /** `z-index` of a registered overlay, or `null` when `id` is not open. */
221
+ zIndexOf(id: string): number | null;
222
+ /**
223
+ * Base level of the stack: `--kj-overlay-z-base` on `:root` when it holds
224
+ * a number, otherwise the `KJ_OVERLAY_Z_BASE` token (default `1000`).
225
+ */
226
+ get baseZIndex(): number;
227
+ /** The level the next overlay to open will receive: one above the topmost open one, or the base. */
228
+ get nextZIndex(): number;
172
229
  private ensureListeners;
173
230
  private maybeRemoveListeners;
174
231
  private topmost;
@@ -505,6 +562,14 @@ declare class KjBackdrop {
505
562
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<KjBackdrop, "kj-backdrop", never, {}, {}, never, never, true, never>;
506
563
  }
507
564
 
565
+ declare function getOverlayContainer(): HTMLElement | null;
566
+ /**
567
+ * Creates a per-overlay wrapper inside the singleton container. The wrapper
568
+ * owns its overlay's backdrop + panel as siblings so DOM teardown is atomic
569
+ * and stacking among siblings follows insertion order.
570
+ */
571
+ declare function createOverlayWrapper(): HTMLElement | null;
572
+
508
573
  /**
509
574
  * Mount strategy for declarative overlays whose panel is rendered inline
510
575
  * in the consumer's template (popover, tooltip, dropdown-menu via
@@ -775,7 +840,23 @@ declare class KjListItem<T = unknown> implements AfterContentInit {
775
840
  */
776
841
  readonly setSize: _angular_core.WritableSignal<number | null>;
777
842
  private readonly selection;
778
- private readonly cfg;
843
+ /**
844
+ * The list container this item belongs to — the nearest
845
+ * `KJ_LIST_NAVIGATOR_CONFIG` on the element-injector path, i.e. the
846
+ * innermost list-style composite that encloses this item. `null` when
847
+ * the item is rendered outside any container.
848
+ *
849
+ * This is what makes a nested composite (a select inside a command
850
+ * palette, a menu inside a select, a combobox inside a dialog) keep
851
+ * its items to itself: the item answers to exactly one container, and
852
+ * every container filters its own `contentChildren(KjListItem)` query
853
+ * down to the items that name it here (see {@link ownListItems}).
854
+ * Without that filter a `descendants: true` query reaches straight
855
+ * through a nested composite and steals its rows — the outer list then
856
+ * navigates, filters, numbers (`aria-posinset`) and activates options
857
+ * that are not its own.
858
+ */
859
+ readonly container: _kouji_ui_core.KjListNavigatorConfig | null;
779
860
  /**
780
861
  * `aria-selected` driven by the injected selection model. `null` when
781
862
  * no model is provided, the value is undefined, or the mode is
@@ -1290,6 +1371,39 @@ declare const injectListItem: <T>() => KjListItem<T>;
1290
1371
  declare const injectSelectionModel: <T>() => KjSelectionModel<T>;
1291
1372
  declare const injectFilterableList: <T>() => KjFilterableList<T>;
1292
1373
 
1374
+ /**
1375
+ * Narrows a container's `contentChildren(KjListItem, { descendants: true })`
1376
+ * query to the items that actually belong to that container.
1377
+ *
1378
+ * Every list-style root (`KjSelect`, `KjCommandPalette`, `KjCombobox`,
1379
+ * `KjDropdownMenu(Content)`, `KjMenubar`, `KjTreeSelect`,
1380
+ * `KjCascadeSelect`) collects its rows with a `descendants: true` content
1381
+ * query. That query is blind to composition: it walks straight through a
1382
+ * nested list composite and hoovers up *its* rows too. A `<kj-select>`
1383
+ * placed inside a `<kj-command-palette>` therefore handed its options to
1384
+ * the palette, which then navigated onto them, filtered them with its own
1385
+ * query, renumbered their `aria-posinset` / `aria-setsize`, and — on
1386
+ * Enter — activated one of them as if it were a command row.
1387
+ *
1388
+ * `KjListItem` already resolves its one true owner through the element
1389
+ * injector ({@link KjListItem.container}: the nearest
1390
+ * `KJ_LIST_NAVIGATOR_CONFIG`, which a nested composite provides at its own
1391
+ * root). Filtering on that pointer gives every container exactly the items
1392
+ * inside its own list scope and nothing from a composite nested within it,
1393
+ * for any nesting — select in palette, select in dialog, menu in palette,
1394
+ * combobox in select.
1395
+ *
1396
+ * Items that resolve no container at all (`container === null` — rendered
1397
+ * outside any root) are kept, so a bare `[kjListItem]` used with a
1398
+ * hand-rolled container still registers.
1399
+ *
1400
+ * @param owner The container running the query — pass `this`.
1401
+ * @param query The raw `contentChildren(KjListItem, { descendants: true })` signal.
1402
+ *
1403
+ * @doc-category Core/Primitives
1404
+ */
1405
+ declare function ownListItems(owner: object, query: Signal<readonly KjListItem<unknown>[]>): Signal<readonly KjListItem<unknown>[]>;
1406
+
1293
1407
  /**
1294
1408
  * Recursively narrowed signal view of a record. The root behaves like any
1295
1409
  * `Signal<T>` (callable, returns the whole value), and each plain-record
@@ -7315,8 +7429,20 @@ declare class KjConfirmPopupCancel {
7315
7429
  * @doc-category Core/Overlay
7316
7430
  */
7317
7431
  declare class KjDropdownMenu implements KjListNavigatorConfig {
7318
- /** All `KjListItem`s under this root. Source of truth for nav + type-ahead. */
7319
- readonly items: _angular_core.Signal<readonly KjListItem<any>[]>;
7432
+ /**
7433
+ * Raw content query. `descendants: true` reaches straight through a
7434
+ * list composite nested inside this menu root, so it is never read
7435
+ * directly — `items` narrows it to this container's own scope.
7436
+ */
7437
+ private readonly allItems;
7438
+ /**
7439
+ * All `KjListItem`s under this root. Source of truth for nav + type-ahead.
7440
+ *
7441
+ * Items owned by a list composite nested inside this one (a select
7442
+ * inside a palette, a menu inside a select) answer to that composite,
7443
+ * not to this one.
7444
+ */
7445
+ readonly items: _angular_core.Signal<readonly KjListItem<unknown>[]>;
7320
7446
  /** Menu items are actions — no selection model. Kept as `Object.is`. */
7321
7447
  readonly compareBy: _angular_core.WritableSignal<KjCompareFn<unknown>>;
7322
7448
  /** Parent menu context (trigger or content), if any. Drives close-on-activate. */
@@ -7328,7 +7454,7 @@ declare class KjDropdownMenu implements KjListNavigatorConfig {
7328
7454
  */
7329
7455
  afterSelect(_value: unknown, _closeRequested: boolean): void;
7330
7456
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<KjDropdownMenu, never>;
7331
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KjDropdownMenu, "[kjDropdownMenu]", ["kjDropdownMenu"], {}, {}, ["items"], never, true, never>;
7457
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KjDropdownMenu, "[kjDropdownMenu]", ["kjDropdownMenu"], {}, {}, ["allItems"], never, true, never>;
7332
7458
  }
7333
7459
 
7334
7460
  /** Trigger event mode. `'click'` (default) or `'contextmenu'` (right-click / long-press). */
@@ -7411,8 +7537,20 @@ declare class KjDropdownMenuContent implements KjDropdownMenuContext, KjListNavi
7411
7537
  readonly kjSide: _angular_core.InputSignal<KjSide>;
7412
7538
  readonly kjAlign: _angular_core.InputSignal<KjAlign>;
7413
7539
  readonly kjMount: _angular_core.InputSignal<"portal" | "point" | "inline">;
7414
- /** All `KjListItem`s projected into the menu panel. */
7415
- readonly items: _angular_core.Signal<readonly KjListItem<any>[]>;
7540
+ /**
7541
+ * Raw content query. `descendants: true` reaches straight through a
7542
+ * list composite nested inside this menu panel, so it is never read
7543
+ * directly — `items` narrows it to this container's own scope.
7544
+ */
7545
+ private readonly allItems;
7546
+ /**
7547
+ * All `KjListItem`s projected into the menu panel.
7548
+ *
7549
+ * Items owned by a list composite nested inside this one (a select
7550
+ * inside a palette, a menu inside a select) answer to that composite,
7551
+ * not to this one.
7552
+ */
7553
+ readonly items: _angular_core.Signal<readonly KjListItem<unknown>[]>;
7416
7554
  /** Menu items are actions — no selection model. Kept as `Object.is`. */
7417
7555
  readonly compareBy: _angular_core.WritableSignal<KjCompareFn<unknown>>;
7418
7556
  /**
@@ -7441,7 +7579,7 @@ declare class KjDropdownMenuContent implements KjDropdownMenuContext, KjListNavi
7441
7579
  private getNav;
7442
7580
  constructor();
7443
7581
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<KjDropdownMenuContent, never>;
7444
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<KjDropdownMenuContent, "kj-dropdown-menu-content", never, { "kjSide": { "alias": "kjSide"; "required": false; "isSignal": true; }; "kjAlign": { "alias": "kjAlign"; "required": false; "isSignal": true; }; "kjMount": { "alias": "kjMount"; "required": false; "isSignal": true; }; }, {}, ["items"], ["*"], true, [{ directive: typeof KjOverlayPanel; inputs: { "kjFor": "kjFor"; }; outputs: {}; }, { directive: typeof KjListNavigator; inputs: { "kjOrientation": "kjOrientation"; "kjFocusMode": "kjFocusMode"; }; outputs: {}; }]>;
7582
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<KjDropdownMenuContent, "kj-dropdown-menu-content", never, { "kjSide": { "alias": "kjSide"; "required": false; "isSignal": true; }; "kjAlign": { "alias": "kjAlign"; "required": false; "isSignal": true; }; "kjMount": { "alias": "kjMount"; "required": false; "isSignal": true; }; }, {}, ["allItems"], ["*"], true, [{ directive: typeof KjOverlayPanel; inputs: { "kjFor": "kjFor"; }; outputs: {}; }, { directive: typeof KjListNavigator; inputs: { "kjOrientation": "kjOrientation"; "kjFocusMode": "kjFocusMode"; }; outputs: {}; }]>;
7445
7583
  }
7446
7584
 
7447
7585
  /**
@@ -8064,7 +8202,11 @@ interface KjToastStrategy {
8064
8202
  maxVisible: number;
8065
8203
  /** Pixel gap between stacked toasts — exposed as `--kj-toast-gap`. */
8066
8204
  gap: number;
8067
- /** Base `z-index` for stacked toasts — exposed as `--kj-toast-z-index`. */
8205
+ /**
8206
+ * Base `z-index` for stacked toasts — exposed as `--kj-toast-z-index`.
8207
+ * Defaults to `2000`: above the overlay stack (`1000` + one per nested
8208
+ * level), so a toast is never hidden behind a dialog or a palette.
8209
+ */
8068
8210
  baseZIndex: number;
8069
8211
  /** Horizontal anchor. */
8070
8212
  positionX: KjToastPositionX;
@@ -8167,8 +8309,20 @@ declare class KjCommandPalette implements KjListNavigatorConfig {
8167
8309
  readonly kjActivate: _angular_core.OutputEmitterRef<KjCommandActivateEvent>;
8168
8310
  /** Stable listbox id for `aria-controls` wiring. */
8169
8311
  readonly listId: string;
8170
- /** All `KjListItem`s under this palette. Source of truth for nav + filter. */
8171
- readonly items: _angular_core.Signal<readonly KjListItem<any>[]>;
8312
+ /**
8313
+ * Raw content query. `descendants: true` reaches straight through a
8314
+ * list composite nested inside this palette, so it is never read
8315
+ * directly — `items` narrows it to this container's own scope.
8316
+ */
8317
+ private readonly allItems;
8318
+ /**
8319
+ * All `KjListItem`s under this palette. Source of truth for nav + filter.
8320
+ *
8321
+ * Items owned by a list composite nested inside this one (a select
8322
+ * inside a palette, a menu inside a select) answer to that composite,
8323
+ * not to this one.
8324
+ */
8325
+ readonly items: _angular_core.Signal<readonly KjListItem<unknown>[]>;
8172
8326
  private readonly filterSvc;
8173
8327
  /** Visible (filter-passing) items. */
8174
8328
  readonly visibleItems: _angular_core.Signal<readonly KjListItem<unknown>[]>;
@@ -8197,7 +8351,7 @@ declare class KjCommandPalette implements KjListNavigatorConfig {
8197
8351
  */
8198
8352
  afterSelect(value: unknown): void;
8199
8353
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<KjCommandPalette, never>;
8200
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KjCommandPalette, "[kjCommandPalette]", ["kjCommandPalette"], { "kjFilter": { "alias": "kjFilter"; "required": false; "isSignal": true; }; "kjShouldFilter": { "alias": "kjShouldFilter"; "required": false; "isSignal": true; }; "kjLoading": { "alias": "kjLoading"; "required": false; "isSignal": true; }; "kjAutoActivateFirst": { "alias": "kjAutoActivateFirst"; "required": false; "isSignal": true; }; "kjDismissOnActivate": { "alias": "kjDismissOnActivate"; "required": false; "isSignal": true; }; "kjValue": { "alias": "kjValue"; "required": false; "isSignal": true; }; "kjQuery": { "alias": "kjQuery"; "required": false; "isSignal": true; }; }, { "kjValue": "kjValueChange"; "kjQuery": "kjQueryChange"; "kjActivate": "kjActivate"; }, ["items"], never, true, never>;
8354
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KjCommandPalette, "[kjCommandPalette]", ["kjCommandPalette"], { "kjFilter": { "alias": "kjFilter"; "required": false; "isSignal": true; }; "kjShouldFilter": { "alias": "kjShouldFilter"; "required": false; "isSignal": true; }; "kjLoading": { "alias": "kjLoading"; "required": false; "isSignal": true; }; "kjAutoActivateFirst": { "alias": "kjAutoActivateFirst"; "required": false; "isSignal": true; }; "kjDismissOnActivate": { "alias": "kjDismissOnActivate"; "required": false; "isSignal": true; }; "kjValue": { "alias": "kjValue"; "required": false; "isSignal": true; }; "kjQuery": { "alias": "kjQuery"; "required": false; "isSignal": true; }; }, { "kjValue": "kjValueChange"; "kjQuery": "kjQueryChange"; "kjActivate": "kjActivate"; }, ["allItems"], never, true, never>;
8201
8355
  }
8202
8356
 
8203
8357
  /**
@@ -10745,8 +10899,20 @@ declare class KjSelect implements KjListNavigatorConfig {
10745
10899
  readonly triggerEl: Signal<ElementRef<HTMLElement> | null>;
10746
10900
  /** Move keyboard focus to the trigger. No-op if no trigger registered. */
10747
10901
  focus(): void;
10748
- /** All `KjListItem`s under this select — source for navigator + type-ahead. */
10749
- readonly items: Signal<readonly KjListItem<any>[]>;
10902
+ /**
10903
+ * Raw content query. `descendants: true` reaches straight through a
10904
+ * list composite nested inside this select, so it is never read
10905
+ * directly — `items` narrows it to this container's own scope.
10906
+ */
10907
+ private readonly allItems;
10908
+ /**
10909
+ * All `KjListItem`s under this select — source for navigator + type-ahead.
10910
+ *
10911
+ * Items owned by a list composite nested inside this one (a select
10912
+ * inside a palette, a menu inside a select) answer to that composite,
10913
+ * not to this one.
10914
+ */
10915
+ readonly items: Signal<readonly KjListItem<unknown>[]>;
10750
10916
  /** Implements `KjListNavigatorConfig.mode`. */
10751
10917
  readonly mode: Signal<KjListSelectionMode>;
10752
10918
  /** Implements `KjListNavigatorConfig.compareBy`. */
@@ -10765,7 +10931,7 @@ declare class KjSelect implements KjListNavigatorConfig {
10765
10931
  */
10766
10932
  afterSelect(_: unknown, closeRequested: boolean): void;
10767
10933
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<KjSelect, never>;
10768
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KjSelect, "[kjSelect]", ["kjSelect"], { "kjSelectValue": { "alias": "kjSelectValue"; "required": false; "isSignal": true; }; "kjCompareBy": { "alias": "kjCompareBy"; "required": false; "isSignal": true; }; }, { "kjSelectValue": "kjSelectValueChange"; }, ["items"], never, true, never>;
10934
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KjSelect, "[kjSelect]", ["kjSelect"], { "kjSelectValue": { "alias": "kjSelectValue"; "required": false; "isSignal": true; }; "kjCompareBy": { "alias": "kjCompareBy"; "required": false; "isSignal": true; }; }, { "kjSelectValue": "kjSelectValueChange"; }, ["allItems"], never, true, never>;
10769
10935
  }
10770
10936
 
10771
10937
  /**
@@ -10897,8 +11063,20 @@ declare class KjCombobox implements KjListNavigatorConfig {
10897
11063
  readonly compareBy: WritableSignal<(a: unknown, b: unknown) => boolean>;
10898
11064
  /** Stable listbox id for `aria-controls` wiring. */
10899
11065
  readonly listboxId: string;
10900
- /** All `KjListItem`s under this combobox — source for nav + filter. */
10901
- readonly items: Signal<readonly KjListItem<any>[]>;
11066
+ /**
11067
+ * Raw content query. `descendants: true` reaches straight through a
11068
+ * list composite nested inside this combobox, so it is never read
11069
+ * directly — `items` narrows it to this container's own scope.
11070
+ */
11071
+ private readonly allItems;
11072
+ /**
11073
+ * All `KjListItem`s under this combobox — source for nav + filter.
11074
+ *
11075
+ * Items owned by a list composite nested inside this one (a select
11076
+ * inside a palette, a menu inside a select) answer to that composite,
11077
+ * not to this one.
11078
+ */
11079
+ readonly items: Signal<readonly KjListItem<unknown>[]>;
10902
11080
  /** Filter-aware visible items, exposed for KjListNavigatorConfig. */
10903
11081
  readonly visibleItems: Signal<readonly KjListItem<unknown>[]>;
10904
11082
  /** Public surface read by children. */
@@ -10943,7 +11121,7 @@ declare class KjCombobox implements KjListNavigatorConfig {
10943
11121
  commitActive(): void;
10944
11122
  setInputElement(el: HTMLElement | null): void;
10945
11123
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<KjCombobox, never>;
10946
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KjCombobox, "[kjCombobox]", ["kjCombobox"], { "kjValue": { "alias": "kjValue"; "required": false; "isSignal": true; }; "kjQueryInput": { "alias": "kjQuery"; "required": false; "isSignal": true; }; "kjShouldFilter": { "alias": "kjShouldFilter"; "required": false; "isSignal": true; }; "kjLoading": { "alias": "kjLoading"; "required": false; "isSignal": true; }; "kjFreeText": { "alias": "kjFreeText"; "required": false; "isSignal": true; }; "kjFilter": { "alias": "kjFilter"; "required": false; "isSignal": true; }; "kjAutoActivateFirst": { "alias": "kjAutoActivateFirst"; "required": false; "isSignal": true; }; }, { "kjValue": "kjValueChange"; "kjQueryChange": "kjQueryChange"; "kjCommit": "kjCommit"; }, ["items"], never, true, [{ directive: typeof KjDisabled; inputs: { "kjDisabled": "kjDisabled"; }; outputs: {}; }]>;
11124
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KjCombobox, "[kjCombobox]", ["kjCombobox"], { "kjValue": { "alias": "kjValue"; "required": false; "isSignal": true; }; "kjQueryInput": { "alias": "kjQuery"; "required": false; "isSignal": true; }; "kjShouldFilter": { "alias": "kjShouldFilter"; "required": false; "isSignal": true; }; "kjLoading": { "alias": "kjLoading"; "required": false; "isSignal": true; }; "kjFreeText": { "alias": "kjFreeText"; "required": false; "isSignal": true; }; "kjFilter": { "alias": "kjFilter"; "required": false; "isSignal": true; }; "kjAutoActivateFirst": { "alias": "kjAutoActivateFirst"; "required": false; "isSignal": true; }; }, { "kjValue": "kjValueChange"; "kjQueryChange": "kjQueryChange"; "kjCommit": "kjCommit"; }, ["allItems"], never, true, [{ directive: typeof KjDisabled; inputs: { "kjDisabled": "kjDisabled"; }; outputs: {}; }]>;
10947
11125
  }
10948
11126
 
10949
11127
  /**
@@ -11326,8 +11504,20 @@ declare class KjCascadeSelect implements KjListNavigatorConfig, KjCascadeSelectC
11326
11504
  readonly kjLevelChange: _angular_core.OutputEmitterRef<{
11327
11505
  levelIndex: number;
11328
11506
  }>;
11329
- /** All `KjListItem`s under this cascade — source for the navigators. */
11330
- readonly items: Signal<readonly KjListItem<any>[]>;
11507
+ /**
11508
+ * Raw content query. `descendants: true` reaches straight through a
11509
+ * list composite nested inside this cascade, so it is never read
11510
+ * directly — `items` narrows it to this container's own scope.
11511
+ */
11512
+ private readonly allItems;
11513
+ /**
11514
+ * All `KjListItem`s under this cascade — source for the navigators.
11515
+ *
11516
+ * Items owned by a list composite nested inside this one (a select
11517
+ * inside a palette, a menu inside a select) answer to that composite,
11518
+ * not to this one.
11519
+ */
11520
+ readonly items: Signal<readonly KjListItem<unknown>[]>;
11331
11521
  /**
11332
11522
  * Every projected `KjCascadeSelectOption`. Used by {@link findOption}
11333
11523
  * to resolve a `KjListItem` id (typically the navigator's active id)
@@ -11407,7 +11597,7 @@ declare class KjCascadeSelect implements KjListNavigatorConfig, KjCascadeSelectC
11407
11597
  /** Closes the root cascade panel. */
11408
11598
  hide(): void;
11409
11599
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<KjCascadeSelect, never>;
11410
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KjCascadeSelect, "[kjCascadeSelect]", ["kjCascadeSelect"], { "kjValue": { "alias": "kjValue"; "required": false; "isSignal": true; }; "kjCascadePath": { "alias": "kjCascadePath"; "required": false; "isSignal": true; }; "kjTreeShape": { "alias": "kjTreeShape"; "required": false; "isSignal": true; }; "kjSubPanelOpenDelayMs": { "alias": "kjSubPanelOpenDelayMs"; "required": false; "isSignal": true; }; "kjSubPanelCloseDelayMs": { "alias": "kjSubPanelCloseDelayMs"; "required": false; "isSignal": true; }; }, { "kjValue": "kjValueChange"; "kjCascadePath": "kjCascadePathChange"; "kjLevelChange": "kjLevelChange"; }, ["items", "_options"], never, true, never>;
11600
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KjCascadeSelect, "[kjCascadeSelect]", ["kjCascadeSelect"], { "kjValue": { "alias": "kjValue"; "required": false; "isSignal": true; }; "kjCascadePath": { "alias": "kjCascadePath"; "required": false; "isSignal": true; }; "kjTreeShape": { "alias": "kjTreeShape"; "required": false; "isSignal": true; }; "kjSubPanelOpenDelayMs": { "alias": "kjSubPanelOpenDelayMs"; "required": false; "isSignal": true; }; "kjSubPanelCloseDelayMs": { "alias": "kjSubPanelCloseDelayMs"; "required": false; "isSignal": true; }; }, { "kjValue": "kjValueChange"; "kjCascadePath": "kjCascadePathChange"; "kjLevelChange": "kjLevelChange"; }, ["allItems", "_options"], never, true, never>;
11411
11601
  }
11412
11602
 
11413
11603
  /**
@@ -11596,7 +11786,8 @@ declare class KjTreeSelect implements KjListNavigatorConfig, KjTreeSelectContext
11596
11786
  * until node-level wiring lands (Task 3 of the migration plan); kept
11597
11787
  * here now so the config contract is satisfied today.
11598
11788
  */
11599
- readonly items: Signal<readonly KjListItem<any>[]>;
11789
+ private readonly allItems;
11790
+ readonly items: Signal<readonly KjListItem<unknown>[]>;
11600
11791
  /**
11601
11792
  * Single canonical value signal. Shared with the legacy `kjValue`
11602
11793
  * model — `KjSelectionModel` reads / writes through this signal.
@@ -11652,7 +11843,7 @@ declare class KjTreeSelect implements KjListNavigatorConfig, KjTreeSelectContext
11652
11843
  isExpanded(nodeId: string): boolean;
11653
11844
  isValueExpanded(value: unknown): boolean;
11654
11845
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<KjTreeSelect, never>;
11655
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KjTreeSelect, "[kjTreeSelect]", never, { "kjNodes": { "alias": "kjNodes"; "required": false; "isSignal": true; }; "kjSelectionMode": { "alias": "kjSelectionMode"; "required": false; "isSignal": true; }; "kjValue": { "alias": "kjValue"; "required": false; "isSignal": true; }; "kjTreeShape": { "alias": "kjTreeShape"; "required": false; "isSignal": true; }; "kjExpandedKeys": { "alias": "kjExpandedKeys"; "required": false; "isSignal": true; }; }, { "kjValue": "kjValueChange"; "kjExpandedKeys": "kjExpandedKeysChange"; "kjNodeSelect": "kjNodeSelect"; "kjNodeExpand": "kjNodeExpand"; "kjNodeCollapse": "kjNodeCollapse"; }, ["items"], never, true, never>;
11846
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KjTreeSelect, "[kjTreeSelect]", never, { "kjNodes": { "alias": "kjNodes"; "required": false; "isSignal": true; }; "kjSelectionMode": { "alias": "kjSelectionMode"; "required": false; "isSignal": true; }; "kjValue": { "alias": "kjValue"; "required": false; "isSignal": true; }; "kjTreeShape": { "alias": "kjTreeShape"; "required": false; "isSignal": true; }; "kjExpandedKeys": { "alias": "kjExpandedKeys"; "required": false; "isSignal": true; }; }, { "kjValue": "kjValueChange"; "kjExpandedKeys": "kjExpandedKeysChange"; "kjNodeSelect": "kjNodeSelect"; "kjNodeExpand": "kjNodeExpand"; "kjNodeCollapse": "kjNodeCollapse"; }, ["allItems"], never, true, never>;
11656
11847
  }
11657
11848
 
11658
11849
  /**
@@ -14773,8 +14964,20 @@ declare class KjMenubar implements KjMenubarContext, KjListNavigatorConfig {
14773
14964
  readonly kjAriaLabel: _angular_core.InputSignal<string | null>;
14774
14965
  /** Emits the bar item's id when its popup opens, or `null` when all are closed. */
14775
14966
  readonly kjOpenChange: _angular_core.OutputEmitterRef<string | null>;
14776
- /** All `KjListItem`s composed by `KjMenubarItem` children. */
14777
- readonly items: _angular_core.Signal<readonly KjListItem<any>[]>;
14967
+ /**
14968
+ * Raw content query. `descendants: true` reaches straight through a
14969
+ * list composite nested inside this menubar, so it is never read
14970
+ * directly — `items` narrows it to this container's own scope.
14971
+ */
14972
+ private readonly allItems;
14973
+ /**
14974
+ * All `KjListItem`s composed by `KjMenubarItem` children.
14975
+ *
14976
+ * Items owned by a list composite nested inside this one (a select
14977
+ * inside a palette, a menu inside a select) answer to that composite,
14978
+ * not to this one.
14979
+ */
14980
+ readonly items: _angular_core.Signal<readonly KjListItem<unknown>[]>;
14778
14981
  /** No selection model on a menubar. Identity compare. */
14779
14982
  readonly compareBy: _angular_core.WritableSignal<KjCompareFn<unknown>>;
14780
14983
  /**
@@ -14825,7 +15028,7 @@ declare class KjMenubar implements KjMenubarContext, KjListNavigatorConfig {
14825
15028
  private _nav;
14826
15029
  constructor();
14827
15030
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<KjMenubar, never>;
14828
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KjMenubar, "[kjMenubar]", ["kjMenubar"], { "kjLoop": { "alias": "kjLoop"; "required": false; "isSignal": true; }; "kjAutoDisclose": { "alias": "kjAutoDisclose"; "required": false; "isSignal": true; }; "kjAutoDiscloseDelayMs": { "alias": "kjAutoDiscloseDelayMs"; "required": false; "isSignal": true; }; "kjAriaLabel": { "alias": "kjAriaLabel"; "required": false; "isSignal": true; }; }, { "kjOpenChange": "kjOpenChange"; }, ["items"], never, true, [{ directive: typeof KjListNavigator; inputs: {}; outputs: {}; }]>;
15031
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KjMenubar, "[kjMenubar]", ["kjMenubar"], { "kjLoop": { "alias": "kjLoop"; "required": false; "isSignal": true; }; "kjAutoDisclose": { "alias": "kjAutoDisclose"; "required": false; "isSignal": true; }; "kjAutoDiscloseDelayMs": { "alias": "kjAutoDiscloseDelayMs"; "required": false; "isSignal": true; }; "kjAriaLabel": { "alias": "kjAriaLabel"; "required": false; "isSignal": true; }; }, { "kjOpenChange": "kjOpenChange"; }, ["allItems"], never, true, [{ directive: typeof KjListNavigator; inputs: {}; outputs: {}; }]>;
14829
15032
  }
14830
15033
 
14831
15034
  /**
@@ -15880,5 +16083,5 @@ declare const KJ_ALERT_CONFIG: InjectionToken<KjAlertConfig>;
15880
16083
  */
15881
16084
  declare function provideKjAlert(config: Partial<KjAlertConfig>): Provider[];
15882
16085
 
15883
- 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_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, assertive, bindPresets, blurredBackdrop, bodyPortal, buildMonthMatrix, coalesceAnnouncement, compareDay, compileMask, corner, createKjDecoratorNode, createKjImageNode, cssClip, defaultDateRangePresets, defaultMaskTokens, defaultPasswordScorer, edgeSheet, endOfMonth, firstDayOfWeek, formatDateLong, formatDateShort, formatMonthYear, getIconMode, 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 };
16086
+ 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 };
15884
16087
  export type { CompiledMask, DeepSignal, IconLoader, IconMode, IconResolver, InvalidControlInfo, KjAccordionContext, KjAccordionItemContext, KjAccordionType, KjActiveOverlay, KjAggregation, KjAggregationFn, KjAggregationKind, KjAlertConfig, KjAlertContext, KjAlertMode, KjAlign, KjAnchoredToOpts, KjAnchoredToStrategy, KjAriaHasPopup, KjAsyncSubmitHandler, KjAttachOptions, KjAvatarGroupAriaLabelFormat, KjAvatarGroupContext, KjAvatarGroupDirection, KjAvatarShape, KjBackdropStrategy, KjBadgeVariant, KjBindablePresetConfig, KjBlockType, KjBreadcrumbConfig, KjBreadcrumbContext, KjBreadcrumbItemContext, KjButtonConfig, KjButtonGroupContext, KjButtonGroupOrientation, KjCalendarContext, KjCarouselAlign, KjCarouselContext, KjCarouselControlPattern, KjCarouselIndicatorsContext, KjCarouselOrientation, KjCarouselSlideContext, KjCascadeNode, KjCascadeSelectContext, KjChartEvent, KjChatBubbleConfig, KjChatCitation, KjChatConfig, KjChatContext, KjChatItemInput, KjChatLogContext, KjChatMessageData, KjChatMessageRole, KjChatRenderer, KjChatRole, KjChatSide, KjChatState, KjChatStatus, KjChatToolCall, KjChatToolStatus, KjCloseReason, KjCoalesceOptions, KjCoalesceResult, KjColorFormat, KjColorPickerContext, KjColorPreset, KjColorValue, KjColumnApi, KjColumnDef, KjColumnGroupingApi, KjColumnMeta, KjColumnOrderApi, KjColumnPin, KjColumnPinningApi, KjColumnSizingApi, KjColumnType, KjColumnVisibilityApi, KjCommandActivateEvent, KjCommandFilter, KjCompareFn, KjConfirmPopupContext, KjConfirmPopupDefaultFocus, KjContainerTarget, KjCornerPosition, KjDateFilterModel, KjDateFilterType, KjDatePickerContext, KjDateRange, KjDateRangePreset, KjDateRangePresetsContext, KjDecoratorMountAdapter, KjDecoratorNodeApi, KjDecoratorNodeConfig, KjDecoratorRegistration, KjDensityApi, KjDialogOpenOptions, KjDirection, KjDividerAlign, KjDividerOrientation, KjDrawerOpenOptions, KjDrawerSide, KjDropdownMenuCloseReason, KjDropdownMenuContext, KjDropdownMenuMount, KjDropdownMenuTriggerKind, KjEChartsCore, KjEChartsLoader, KjEditorInstance, KjEditorLanguage, KjEditorLineNumbers, KjEditorOptions, KjEditorRef, KjEditorWordWrap, KjExpansionApi, KjFieldContext, KjFileRejectReason, KjFileRejection, KjFileStatus, KjFileUploadAggregateStatus, KjFileUploadContext, KjFileUploadItemContext, KjFileUploadValidationMessages, KjFilterApi, KjFilterFn, KjFilterModel, KjFilterParams, KjFilterRenderer, KjFilterUiRef, KjFocusTrapStrategy, KjFormContext, KjFormControlRegistration, KjFormFieldContext, KjGlobalFilterApi, KjGridApi, KjGridFilterModel, KjGroupingApi, KjHourCycle, KjHsl, KjHsv, KjIconColor, KjIconSize, KjImageInsert, KjImageNodeApi, KjInputGroupContext, KjInputOtpContext, KjLinkConfig, KjListAs, KjListContext, KjListFocusMode, KjListNavigatorConfig, KjListOrientation, KjListRowContext, KjListSelectionMode, KjLiveAnnouncerStrategy, KjLivePoliteness, KjLocaleConfig, KjMenubarContext, KjMenubarItemContext, KjMonaco, KjMonacoConfig, KjMonacoLanguageLoader, KjMonacoLoaderFn, KjMotionState, KjMountStrategy, KjMountedComponent, KjMultiConditionFilterModel, KjNumberFilterModel, KjNumberFilterType, KjNumberInputContext, KjOnClickOpts, KjOnContextMenuOpts, KjOnContextMenuStrategy, KjOnHoverOpts, KjOnHoverStrategy, KjOverflowContext, KjOverlayBadgeContext, KjOverlayBadgePosition, KjOverlayBuilderConfig, KjOverlayContext, KjLivePoliteness$1 as KjOverlayLivePoliteness, KjOverlayRegistration, KjOverlayStackHandle, KjOverlayState, KjOverlayStrategies, KjOverlayTriggerLike, KjPageToken, KjPaginationApi, KjPaginationConfig, KjPaginationContext, KjPanelRole, KjPasswordAutocomplete, KjPasswordInputContext, KjPasswordScore, KjPasswordScoreLabel, KjPlacement, KjPointAtOpts, KjPopoverTriggerKind, KjPositionStrategy, KjProgressBarConfig, KjProgressBarContext, KjRadioContext, KjResourceResult, KjRgb, KjRichTextContext, KjRichTextExtension, KjRichTextFeature, KjRichTextHost, KjRichTextPlugin, KjRichTextState, KjRichTextValue, KjRowsApi, KjRteOverlay, KjRteShortcut, KjRteToolbarGroup, KjRteToolbarItem, KjRteToolbarKind, KjScrollLockStrategy, KjSelectionApi, KjSetFilterModel, KjSheetDetent, KjSheetOpenOptions, KjSheetSide, KjSide, KjSizePreset, KjSkeletonAnimation, KjSkeletonShape, KjSlashCommand, KjSlashParse, KjSliderContext, KjSliderSource, KjSliderThumbHandle, KjSolidBackdropOpts, KjSolidBackdropStrategy, KjSortApi, KjSortDirection, KjSpeedDialContext, KjSpeedDialDirection, KjSpinnerAnimation, KjSpinnerConfig, KjStepContext, KjStepperContext, KjStorageAdapter, KjStrategy, KjTabCycleOpts, KjTabCycleStrategy, KjTableState, KjTabsActivationMode, KjTabsConfig, KjTabsContext, KjTabsOrientation, KjTagConfig, KjTagContext, KjTagListContext, KjTagListRole, KjTextFilterModel, KjTextFilterType, KjTextFormat, KjTextareaAutoresize, KjTextareaConfig, KjTextareaResize, KjTimePickerContext, KjToastContext, KjToastItem, KjToastOptions, KjToastPositionX, KjToastPositionY, KjToastRenderable, KjToastStrategy, KjToastSugarVariant, KjToastTemplateContext, KjToastVariant, KjTranslationCatalog, KjTranslationCatalogs, KjTranslationKey, KjTranslationParams, KjTreeNode, KjTreeSelectContext, KjTreeShape, KjTriggerEventStrategy, KjUploadableFile, KjVariantPreset, MaskEngineCallbacks, MaskEngineOptions, Slot, TimeParts };