Skip to content

Commit 14c3560

Browse files
committed
Moved from Signal type to SignalLike type
1 parent 8296b92 commit 14c3560

File tree

4 files changed

+21
-17
lines changed

4 files changed

+21
-17
lines changed

src/cdk-experimental/ui-patterns/tabs/BUILD.bazel

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ ts_library(
1313
"//src/cdk-experimental/ui-patterns/behaviors/list-focus",
1414
"//src/cdk-experimental/ui-patterns/behaviors/list-navigation",
1515
"//src/cdk-experimental/ui-patterns/behaviors/list-selection",
16+
"//src/cdk-experimental/ui-patterns/behaviors/signal-like",
1617
"@npm//@angular/core",
1718
],
1819
)

src/cdk-experimental/ui-patterns/tabs/tab.ts

+9-8
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
* found in the LICENSE file at https://angular.dev/license
77
*/
88

9-
import {computed, Signal} from '@angular/core';
9+
import {computed} from '@angular/core';
10+
import {SignalLike} from '../behaviors/signal-like/signal-like';
1011
import {ListSelectionItem} from '../behaviors/list-selection/list-selection';
1112
import {ListNavigationItem} from '../behaviors/list-navigation/list-navigation';
1213
import {ListFocusItem} from '../behaviors/list-focus/list-focus';
@@ -15,14 +16,14 @@ import {TablistPattern} from './tablist';
1516

1617
/** The required inputs to tabs. */
1718
export interface TabInputs extends ListNavigationItem, ListSelectionItem, ListFocusItem {
18-
tablist: Signal<TablistPattern>;
19-
tabpanel: Signal<TabpanelPattern>;
19+
tablist: SignalLike<TablistPattern>;
20+
tabpanel: SignalLike<TabpanelPattern>;
2021
}
2122

2223
/** A tab in a tablist. */
2324
export class TabPattern {
2425
/** A unique identifier for the tab. */
25-
id: Signal<string>;
26+
id: SignalLike<string>;
2627

2728
/** Whether the tab is selected. */
2829
selected = computed(() => this.tablist().selection.inputs.selectedIds().includes(this.id()));
@@ -31,19 +32,19 @@ export class TabPattern {
3132
controls = computed(() => this.tabpanel().id());
3233

3334
/** Whether the tab is disabled. */
34-
disabled: Signal<boolean>;
35+
disabled: SignalLike<boolean>;
3536

3637
/** A reference to the parent tablist. */
37-
tablist: Signal<TablistPattern>;
38+
tablist: SignalLike<TablistPattern>;
3839

3940
/** A reference to the corresponding tabpanel. */
40-
tabpanel: Signal<TabpanelPattern>;
41+
tabpanel: SignalLike<TabpanelPattern>;
4142

4243
/** The tabindex of the tab. */
4344
tabindex = computed(() => this.tablist().focusManager.getItemTabindex(this));
4445

4546
/** The html element that should receive focus. */
46-
element: Signal<HTMLElement>;
47+
element: SignalLike<HTMLElement>;
4748

4849
constructor(inputs: TabInputs) {
4950
this.id = inputs.id;

src/cdk-experimental/ui-patterns/tabs/tablist.ts

+5-4
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ import {TabPattern} from './tab';
1212
import {ListSelection, ListSelectionInputs} from '../behaviors/list-selection/list-selection';
1313
import {ListNavigation, ListNavigationInputs} from '../behaviors/list-navigation/list-navigation';
1414
import {ListFocus, ListFocusInputs} from '../behaviors/list-focus/list-focus';
15-
import {computed, signal, Signal} from '@angular/core';
15+
import {computed, signal} from '@angular/core';
16+
import {SignalLike} from '../behaviors/signal-like/signal-like';
1617

1718
/** The selection operations that the tablist can perform. */
1819
interface SelectOptions {
@@ -29,7 +30,7 @@ interface SelectOptions {
2930
export type TablistInputs = ListNavigationInputs<TabPattern> &
3031
Omit<ListSelectionInputs<TabPattern>, 'multiselectable' | 'selectedIds'> &
3132
ListFocusInputs<TabPattern> & {
32-
disabled: Signal<boolean>;
33+
disabled: SignalLike<boolean>;
3334
};
3435

3536
/** Controls the state of a tablist. */
@@ -44,10 +45,10 @@ export class TablistPattern {
4445
focusManager: ListFocus<TabPattern>;
4546

4647
/** Whether the tablist is vertically or horizontally oriented. */
47-
orientation: Signal<'vertical' | 'horizontal'>;
48+
orientation: SignalLike<'vertical' | 'horizontal'>;
4849

4950
/** Whether the tablist is disabled. */
50-
disabled: Signal<boolean>;
51+
disabled: SignalLike<boolean>;
5152

5253
/** The tabindex of the tablist. */
5354
tabindex = computed(() => this.focusManager.getListTabindex());

src/cdk-experimental/ui-patterns/tabs/tabpanel.ts

+6-5
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,23 @@
66
* found in the LICENSE file at https://angular.dev/license
77
*/
88

9-
import {computed, Signal} from '@angular/core';
9+
import {computed} from '@angular/core';
10+
import {SignalLike} from '../behaviors/signal-like/signal-like';
1011
import {TabPattern} from './tab';
1112

1213
/** The required inputs for the tabpanel. */
1314
export interface TabpanelInputs {
14-
id: Signal<string>;
15-
tab: Signal<TabPattern>;
15+
id: SignalLike<string>;
16+
tab: SignalLike<TabPattern>;
1617
}
1718

1819
/** A tabpanel associated with a tab. */
1920
export class TabpanelPattern {
2021
/** A unique identifier for the tabpanel. */
21-
id: Signal<string>;
22+
id: SignalLike<string>;
2223

2324
/** A reference to the corresponding tab. */
24-
tab: Signal<TabPattern>;
25+
tab: SignalLike<TabPattern>;
2526

2627
/** Whether the tabpanel is hidden. */
2728
hidden = computed(() => !this.tab().selected());

0 commit comments

Comments
 (0)