@skyux/indicators 15.0.0-alpha.8 → 15.0.0-beta.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": "@skyux/indicators",
3
- "version": "15.0.0-alpha.8",
3
+ "version": "15.0.0-beta.0",
4
4
  "author": "Blackbaud, Inc.",
5
5
  "keywords": [
6
6
  "blackbaud",
@@ -20,11 +20,11 @@
20
20
  "@angular/common": "^22.1.2",
21
21
  "@angular/core": "^22.1.2",
22
22
  "@angular/platform-browser": "^22.1.2",
23
- "@skyux/core": "15.0.0-alpha.8",
24
- "@skyux/help-inline": "15.0.0-alpha.8",
25
- "@skyux/i18n": "15.0.0-alpha.8",
26
- "@skyux/icon": "15.0.0-alpha.8",
27
- "@skyux/theme": "15.0.0-alpha.8"
23
+ "@skyux/core": "15.0.0-beta.0",
24
+ "@skyux/help-inline": "15.0.0-beta.0",
25
+ "@skyux/i18n": "15.0.0-beta.0",
26
+ "@skyux/icon": "15.0.0-beta.0",
27
+ "@skyux/theme": "15.0.0-beta.0"
28
28
  },
29
29
  "dependencies": {
30
30
  "tslib": "^2.8.1"
@@ -390,10 +390,23 @@ declare class SkyTokenComponent {
390
390
  */
391
391
  set focusable(value: boolean | undefined);
392
392
  /**
393
- * Used by the tokens component to set the appropriate role for each token.
393
+ * Used by the tokens component to set the appropriate role for each token
394
+ * generated from the `tokens` input.
394
395
  * @internal
395
396
  */
396
- role: string | undefined;
397
+ readonly role: i0.InputSignal<string | undefined>;
398
+ /**
399
+ * The role to apply to the token's host element. Tokens generated from the
400
+ * `tokens` input receive their role directly through the `role` input above.
401
+ * Manually projected tokens never receive that binding (Angular does not
402
+ * apply template bindings to projected content), so they fall back to
403
+ * asking the ancestor `sky-tokens` component whether its grid role is
404
+ * active. Reading `#roleContext`'s signal-backed value here (rather than
405
+ * having `sky-tokens` push the value in imperatively) lets this OnPush
406
+ * component's view update automatically when that ancestor state changes.
407
+ * @internal
408
+ */
409
+ protected readonly effectiveRole: i0.Signal<string | undefined>;
397
410
  /**
398
411
  * Fires when users click the close button.
399
412
  */
@@ -414,7 +427,21 @@ declare class SkyTokenComponent {
414
427
  setTokenActive(tokenActive: boolean): void;
415
428
  setCloseActive(closeActive: boolean): void;
416
429
  static ɵfac: i0.ɵɵFactoryDeclaration<SkyTokenComponent, never>;
417
- static ɵcmp: i0.ɵɵComponentDeclaration<SkyTokenComponent, "sky-token", never, { "disabled": { "alias": "disabled"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "dismissible": { "alias": "dismissible"; "required": false; }; "focusable": { "alias": "focusable"; "required": false; }; "role": { "alias": "role"; "required": false; }; }, { "dismiss": "dismiss"; "tokenFocus": "tokenFocus"; }, never, ["*"], false, never>;
430
+ static ɵcmp: i0.ɵɵComponentDeclaration<SkyTokenComponent, "sky-token", never, { "disabled": { "alias": "disabled"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "dismissible": { "alias": "dismissible"; "required": false; }; "focusable": { "alias": "focusable"; "required": false; }; "role": { "alias": "role"; "required": false; "isSignal": true; }; }, { "dismiss": "dismiss"; "tokenFocus": "tokenFocus"; }, never, ["*"], false, never>;
431
+ }
432
+
433
+ /**
434
+ * Lets a projected `sky-token` element read the grid-role state of its ancestor
435
+ * `sky-tokens` component. Angular does not apply template bindings to content
436
+ * projected elements, so `sky-token` cannot receive its `role` the same way
437
+ * tokens generated from the `tokens` input do.
438
+ * @internal
439
+ */
440
+ interface SkyTokensRoleContext {
441
+ /**
442
+ * Whether the ancestor `sky-tokens` component's grid role is currently active.
443
+ */
444
+ readonly gridRoleActive: () => boolean;
418
445
  }
419
446
 
420
447
  interface SkyToken<T = any> {
@@ -467,7 +494,7 @@ interface SkyTokensMessage {
467
494
  * This is useful when combined with other components where the <kbd>Tab</kbd> key is
468
495
  * reserved for other functions, such as the SKY UX Lookup component.
469
496
  */
470
- declare class SkyTokensComponent implements OnDestroy {
497
+ declare class SkyTokensComponent implements SkyTokensRoleContext, OnDestroy {
471
498
  #private;
472
499
  /**
473
500
  * Whether to disable the tokens list to prevent users from selecting tokens,
@@ -541,6 +568,19 @@ declare class SkyTokensComponent implements OnDestroy {
541
568
  set activeIndex(value: number);
542
569
  trackTokenFn: TrackByFunction<SkyToken>;
543
570
  tokenComponents: QueryList<SkyTokenComponent> | undefined;
571
+ /**
572
+ * The tokens manually projected into the component via
573
+ * `<ng-content select="sky-token" />`, as opposed to the ones generated from
574
+ * the `tokens` input.
575
+ */
576
+ protected readonly projectedTokenComponents: i0.Signal<readonly SkyTokenComponent[]>;
577
+ /**
578
+ * Whether the grid role is active on this component's host element. A
579
+ * `sky-token` element (whether generated from the `tokens` input or
580
+ * manually projected) reads this to determine its own `row` role, since
581
+ * Angular does not apply template bindings to projected content.
582
+ */
583
+ readonly gridRoleActive: i0.Signal<boolean>;
544
584
  /**
545
585
  * Tracks whether the component has completed its initial render.
546
586
  * Used to suppress enter animations on first load.
@@ -553,7 +593,7 @@ declare class SkyTokensComponent implements OnDestroy {
553
593
  selectToken(token: SkyToken): void;
554
594
  removeToken(token: SkyToken): void;
555
595
  static ɵfac: i0.ɵɵFactoryDeclaration<SkyTokensComponent, never>;
556
- static ɵcmp: i0.ɵɵComponentDeclaration<SkyTokensComponent, "sky-tokens", never, { "disabled": { "alias": "disabled"; "required": false; }; "dismissible": { "alias": "dismissible"; "required": false; }; "displayWith": { "alias": "displayWith"; "required": false; }; "trackWith": { "alias": "trackWith"; "required": false; }; "focusable": { "alias": "focusable"; "required": false; }; "tokens": { "alias": "tokens"; "required": false; }; "messageStream": { "alias": "messageStream"; "required": false; }; }, { "focusIndexOverRange": "focusIndexOverRange"; "focusIndexUnderRange": "focusIndexUnderRange"; "tokenSelected": "tokenSelected"; "tokensChange": "tokensChange"; "tokensRendered": "tokensRendered"; }, never, ["*"], false, never>;
596
+ static ɵcmp: i0.ɵɵComponentDeclaration<SkyTokensComponent, "sky-tokens", never, { "disabled": { "alias": "disabled"; "required": false; }; "dismissible": { "alias": "dismissible"; "required": false; }; "displayWith": { "alias": "displayWith"; "required": false; }; "trackWith": { "alias": "trackWith"; "required": false; }; "focusable": { "alias": "focusable"; "required": false; }; "tokens": { "alias": "tokens"; "required": false; }; "messageStream": { "alias": "messageStream"; "required": false; }; }, { "focusIndexOverRange": "focusIndexOverRange"; "focusIndexUnderRange": "focusIndexUnderRange"; "tokenSelected": "tokenSelected"; "tokensChange": "tokensChange"; "tokensRendered": "tokensRendered"; }, ["projectedTokenComponents"], ["sky-token", "*"], false, never>;
557
597
  }
558
598
 
559
599
  declare class SkyTokensModule {