3
3
Component ,
4
4
computed ,
5
5
contentChildren ,
6
- effect ,
7
6
input ,
7
+ linkedSignal ,
8
8
output ,
9
9
signal ,
10
10
TemplateRef
@@ -70,7 +70,22 @@ export class AlertComponent {
70
70
* @return boolean
71
71
* @default false
72
72
*/
73
- readonly dismissible = input ( false , { transform : booleanAttribute } ) ;
73
+ readonly dismissibleInput = input ( false , { transform : booleanAttribute , alias : 'dismissible' } ) ;
74
+
75
+ readonly #dismissible = linkedSignal ( {
76
+ source : ( ) => this . dismissibleInput ( ) ,
77
+ computation : ( value ) => {
78
+ return value ;
79
+ }
80
+ } ) ;
81
+
82
+ set dismissible ( value : boolean ) {
83
+ this . #dismissible. set ( value ) ;
84
+ }
85
+
86
+ get dismissible ( ) {
87
+ return this . #dismissible( ) ;
88
+ }
74
89
75
90
/**
76
91
* Adds animation for dismissible alert.
@@ -84,23 +99,24 @@ export class AlertComponent {
84
99
*/
85
100
readonly visibleInput = input ( true , { transform : booleanAttribute , alias : 'visible' } ) ;
86
101
87
- readonly #visibleInputEffect = effect ( ( ) => {
88
- this . visible = this . visibleInput ( ) ;
102
+ readonly #visible = linkedSignal ( {
103
+ source : ( ) => this . visibleInput ( ) ,
104
+ computation : ( value ) => {
105
+ return value ;
106
+ }
89
107
} ) ;
90
108
91
109
set visible ( value : boolean ) {
92
- if ( this . #visible !== value ) {
93
- this . #visible = value ;
110
+ if ( this . #visible( ) !== value ) {
111
+ this . #visible. set ( value ) ;
94
112
this . visibleChange . emit ( value ) ;
95
113
}
96
114
}
97
115
98
116
get visible ( ) {
99
- return this . #visible;
117
+ return this . #visible( ) ;
100
118
}
101
119
102
- #visible: boolean = true ;
103
-
104
120
readonly hide = signal < boolean > ( false ) ;
105
121
106
122
/**
@@ -129,7 +145,7 @@ export class AlertComponent {
129
145
const variant = this . variant ( ) ;
130
146
return {
131
147
alert : true ,
132
- 'alert-dismissible' : this . dismissible ( ) ,
148
+ 'alert-dismissible' : this . dismissible ,
133
149
fade : this . fade ( ) ,
134
150
show : ! this . hide ( ) ,
135
151
[ `alert-${ color } ` ] : ! ! color && variant !== 'solid' ,
0 commit comments