@kouji-ui/core 0.6.0 → 0.6.2

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.6.0",
3
+ "version": "0.6.2",
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": {
@@ -1432,6 +1432,7 @@ declare class KjRovingTabindexItemDirective {
1432
1432
  readonly el: ElementRef<any>;
1433
1433
  /** @internal */
1434
1434
  readonly active: _angular_core.WritableSignal<boolean>;
1435
+ constructor();
1435
1436
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<KjRovingTabindexItemDirective, never>;
1436
1437
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KjRovingTabindexItemDirective, "[kjRovingTabindexItem]", never, {}, {}, never, never, true, never>;
1437
1438
  }
@@ -1452,8 +1453,15 @@ declare class KjRovingTabindexItemDirective {
1452
1453
  */
1453
1454
  declare class KjRovingTabindex {
1454
1455
  private readonly host;
1456
+ private readonly registered;
1457
+ /** Items in DOM order — registration order follows creation, which a
1458
+ * re-order (`@for` with a changing track) does not preserve. */
1455
1459
  private readonly items;
1456
1460
  private readonly activeIndex;
1461
+ /** @internal */
1462
+ register(item: KjRovingTabindexItemDirective): void;
1463
+ /** @internal */
1464
+ unregister(item: KjRovingTabindexItemDirective): void;
1457
1465
  /**
1458
1466
  * Restricts arrow-key navigation to a single axis.
1459
1467
  * - `'horizontal'`: only ArrowLeft / ArrowRight move focus.
@@ -1471,7 +1479,7 @@ declare class KjRovingTabindex {
1471
1479
  /** @internal */
1472
1480
  onKeydown(event: KeyboardEvent): void;
1473
1481
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<KjRovingTabindex, never>;
1474
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KjRovingTabindex, "[kjRovingTabindex]", never, { "kjRovingOrientation": { "alias": "kjRovingOrientation"; "required": false; "isSignal": true; }; }, {}, ["items"], never, true, never>;
1482
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KjRovingTabindex, "[kjRovingTabindex]", never, { "kjRovingOrientation": { "alias": "kjRovingOrientation"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1475
1483
  }
1476
1484
 
1477
1485
  /**
@@ -6882,6 +6890,12 @@ interface KjConfirmPopupContext {
6882
6890
  readonly messageId: string;
6883
6891
  /** Resolve the confirmation: `true` confirms, `false` cancels. */
6884
6892
  close(result: boolean): void;
6893
+ /**
6894
+ * @internal Register the overlay controller owned by a nested
6895
+ * `[kjConfirmPopupTrigger]`. Optional so third-party context
6896
+ * implementations stay source-compatible.
6897
+ */
6898
+ _registerController?(controller: KjOverlayController): void;
6885
6899
  }
6886
6900
  /** Injection token for the confirm popup context. */
6887
6901
  declare const KJ_CONFIRM_POPUP: InjectionToken<KjConfirmPopupContext>;
@@ -6903,8 +6917,18 @@ declare const KJ_CONFIRM_POPUP: InjectionToken<KjConfirmPopupContext>;
6903
6917
  * @doc-category Core/Overlay
6904
6918
  */
6905
6919
  declare class KjConfirmPopup implements KjConfirmPopupContext {
6906
- /** The overlay controller provided by the trigger directive on the same element. */
6907
- private readonly controller;
6920
+ /** The overlay controller, when the trigger sits on this very element. */
6921
+ private readonly selfController;
6922
+ /**
6923
+ * The controller of a nested `[kjConfirmPopupTrigger]`. The documented
6924
+ * composition puts the trigger on a CHILD of `[kjConfirmPopup]` (see every
6925
+ * example), so the controller is NOT in this element's injector — without
6926
+ * this registration `close()` bailed out and `(kjConfirmed)` never fired.
6927
+ */
6928
+ private readonly registered;
6929
+ /** @internal — called by a nested `[kjConfirmPopupTrigger]`. */
6930
+ _registerController(c: KjOverlayController): void;
6931
+ private controllerOf;
6908
6932
  /** When `true`, the confirm action renders with destructive intent. */
6909
6933
  readonly kjDestructive: _angular_core.InputSignalWithTransform<boolean, unknown>;
6910
6934
  /** Where to place initial focus. Default `'cancel'`. */
@@ -6943,6 +6967,7 @@ declare class KjConfirmPopup implements KjConfirmPopupContext {
6943
6967
  */
6944
6968
  declare class KjConfirmPopupTrigger {
6945
6969
  private readonly _overlayTrigger;
6970
+ constructor();
6946
6971
  /** Forwarded controller for sibling `[kjFor]` panels. */
6947
6972
  get controller(): KjOverlayController;
6948
6973
  attachPanel(panel: KjOverlayPanel): void;