@kouji-ui/core 0.11.1 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kouji-ui/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"description": "Headless Angular UI primitives — signal-driven directives with WCAG 2.1 AAA semantics, no CDK, and a handful of opt-in global stylesheets.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
package/types/kouji-ui-core.d.ts
CHANGED
|
@@ -2527,6 +2527,12 @@ declare class KjListNavigator {
|
|
|
2527
2527
|
readonly kjPageSize: _angular_core.InputSignal<number>;
|
|
2528
2528
|
/** Activate item on pointer hover. Default: `false`. */
|
|
2529
2529
|
readonly kjActivateOnHover: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2530
|
+
/**
|
|
2531
|
+
* Publish `aria-activedescendant` on this host in `'activedescendant'`
|
|
2532
|
+
* mode. Turn off when another element keeps DOM focus and publishes
|
|
2533
|
+
* `activeId` itself (a search field above the list). Default: `true`.
|
|
2534
|
+
*/
|
|
2535
|
+
readonly kjHostActiveDescendant: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2530
2536
|
/**
|
|
2531
2537
|
* Focus model. `'activedescendant'` (default) keeps DOM focus on the
|
|
2532
2538
|
* navigator host and signals the active option via
|
|
@@ -2630,7 +2636,7 @@ declare class KjListNavigator {
|
|
|
2630
2636
|
/** @internal Keydown handler bound via host binding. */
|
|
2631
2637
|
_onKeydown(e: KeyboardEvent): void;
|
|
2632
2638
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KjListNavigator, never>;
|
|
2633
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KjListNavigator, "[kjListNavigator]", ["kjListNavigator"], { "kjOrientation": { "alias": "kjOrientation"; "required": false; "isSignal": true; }; "kjWrap": { "alias": "kjWrap"; "required": false; "isSignal": true; }; "kjPageSize": { "alias": "kjPageSize"; "required": false; "isSignal": true; }; "kjActivateOnHover": { "alias": "kjActivateOnHover"; "required": false; "isSignal": true; }; "kjFocusMode": { "alias": "kjFocusMode"; "required": false; "isSignal": true; }; }, { "kjActiveChange": "kjActiveChange"; }, never, never, true, never>;
|
|
2639
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KjListNavigator, "[kjListNavigator]", ["kjListNavigator"], { "kjOrientation": { "alias": "kjOrientation"; "required": false; "isSignal": true; }; "kjWrap": { "alias": "kjWrap"; "required": false; "isSignal": true; }; "kjPageSize": { "alias": "kjPageSize"; "required": false; "isSignal": true; }; "kjActivateOnHover": { "alias": "kjActivateOnHover"; "required": false; "isSignal": true; }; "kjHostActiveDescendant": { "alias": "kjHostActiveDescendant"; "required": false; "isSignal": true; }; "kjFocusMode": { "alias": "kjFocusMode"; "required": false; "isSignal": true; }; }, { "kjActiveChange": "kjActiveChange"; }, never, never, true, never>;
|
|
2634
2640
|
}
|
|
2635
2641
|
|
|
2636
2642
|
/**
|
|
@@ -14453,6 +14459,8 @@ declare class KjSelect implements KjListNavigatorConfig {
|
|
|
14453
14459
|
readonly _multiple: WritableSignal<boolean>;
|
|
14454
14460
|
/** Whether multi-select is enabled. */
|
|
14455
14461
|
readonly multiple: Signal<boolean>;
|
|
14462
|
+
/** @internal — written by `KjSelectContent`'s `kjSearchable` input. */
|
|
14463
|
+
readonly _searchable: WritableSignal<boolean>;
|
|
14456
14464
|
/** @internal — set by `KjSelectTrigger` at construction time. */
|
|
14457
14465
|
readonly _triggerEl: WritableSignal<ElementRef<HTMLElement> | null>;
|
|
14458
14466
|
/**
|
|
@@ -14477,7 +14485,21 @@ declare class KjSelect implements KjListNavigatorConfig {
|
|
|
14477
14485
|
* inside a palette, a menu inside a select) answer to that composite,
|
|
14478
14486
|
* not to this one.
|
|
14479
14487
|
*/
|
|
14488
|
+
private readonly _viewItems;
|
|
14489
|
+
private readonly viewItems;
|
|
14490
|
+
/**
|
|
14491
|
+
* @internal Register rows a wrapper stamps in its OWN view
|
|
14492
|
+
* (`<kj-select [kjOptions]>`). A content query never crosses into a
|
|
14493
|
+
* component's view, so those rows join `items()` only through here.
|
|
14494
|
+
*/
|
|
14495
|
+
_setViewItems(items: Signal<readonly KjListItem<unknown>[]> | null): void;
|
|
14480
14496
|
readonly items: Signal<readonly KjListItem<unknown>[]>;
|
|
14497
|
+
/**
|
|
14498
|
+
* Implements `KjListNavigatorConfig.visibleItems`: the items a wrapper has
|
|
14499
|
+
* not hidden through `KjListItem.setVisible` (a search filter, a folded
|
|
14500
|
+
* group). The navigator and type-ahead walk only these.
|
|
14501
|
+
*/
|
|
14502
|
+
readonly visibleItems: Signal<KjListItem<unknown>[]>;
|
|
14481
14503
|
/** Implements `KjListNavigatorConfig.mode`. */
|
|
14482
14504
|
readonly mode: Signal<KjListSelectionMode>;
|
|
14483
14505
|
/** Implements `KjListNavigatorConfig.compareBy`. */
|
|
@@ -14515,7 +14537,7 @@ declare class KjSelect implements KjListNavigatorConfig {
|
|
|
14515
14537
|
declare class KjSelectTrigger {
|
|
14516
14538
|
/** @internal — same instance as the one provided on KjSelect root. */
|
|
14517
14539
|
readonly controller: KjOverlayController;
|
|
14518
|
-
|
|
14540
|
+
protected readonly select: _kouji_ui_core.KjSelect | null;
|
|
14519
14541
|
/** Whether the listbox supports multiple selection (absorbs `multi-select`). Defaults to `false`. */
|
|
14520
14542
|
readonly kjMultiple: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
14521
14543
|
/**
|
|
@@ -14611,9 +14633,15 @@ declare class KjSelectContent {
|
|
|
14611
14633
|
readonly kjAlign: _angular_core.InputSignal<KjAlign>;
|
|
14612
14634
|
/** Pixel offset between trigger and panel. */
|
|
14613
14635
|
readonly kjOffset: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
14636
|
+
/**
|
|
14637
|
+
* The panel holds a search field above an inner listbox the consumer
|
|
14638
|
+
* renders: the panel becomes `role="dialog"` and the trigger advertises
|
|
14639
|
+
* `aria-haspopup="dialog"`. Defaults to `false`.
|
|
14640
|
+
*/
|
|
14641
|
+
readonly kjSearchable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
14614
14642
|
constructor();
|
|
14615
14643
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KjSelectContent, never>;
|
|
14616
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KjSelectContent, "kj-select-content", never, { "kjSide": { "alias": "kjSide"; "required": false; "isSignal": true; }; "kjAlign": { "alias": "kjAlign"; "required": false; "isSignal": true; }; "kjOffset": { "alias": "kjOffset"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof KjOverlayPanel; inputs: { "kjFor": "kjFor"; }; outputs: {}; }, { directive: typeof KjListNavigator; inputs: {}; outputs: {}; }, { directive: typeof KjListPanelFocus; inputs: {}; outputs: {}; }]>;
|
|
14644
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KjSelectContent, "kj-select-content", never, { "kjSide": { "alias": "kjSide"; "required": false; "isSignal": true; }; "kjAlign": { "alias": "kjAlign"; "required": false; "isSignal": true; }; "kjOffset": { "alias": "kjOffset"; "required": false; "isSignal": true; }; "kjSearchable": { "alias": "kjSearchable"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof KjOverlayPanel; inputs: { "kjFor": "kjFor"; }; outputs: {}; }, { directive: typeof KjListNavigator; inputs: { "kjFocusMode": "kjFocusMode"; "kjHostActiveDescendant": "kjHostActiveDescendant"; }; outputs: {}; }, { directive: typeof KjListPanelFocus; inputs: {}; outputs: {}; }]>;
|
|
14617
14645
|
}
|
|
14618
14646
|
|
|
14619
14647
|
/**
|