@@ -32,7 +32,7 @@ describe('AccordionGroup', () => {
3232 const endKey = ( target : HTMLElement ) => keydown ( target , 'End' ) ;
3333
3434 interface SetupOptions {
35- initialValue ?: string [ ] ;
35+ initialExpandedPanels ?: string [ ] ;
3636 multiExpandable ?: boolean ;
3737 disabledGroup ?: boolean ;
3838 disabledItemValues ?: string [ ] ;
@@ -43,8 +43,8 @@ describe('AccordionGroup', () => {
4343 function configureAccordionComponent ( opts : SetupOptions = { } ) {
4444 const testComponent = fixture . componentInstance as AccordionGroupExample ;
4545
46- if ( opts . initialValue !== undefined ) {
47- testComponent . value . set ( opts . initialValue ) ;
46+ if ( opts . initialExpandedPanels !== undefined ) {
47+ testComponent . expandedPanels . set ( opts . initialExpandedPanels ) ;
4848 }
4949 if ( opts . multiExpandable !== undefined ) {
5050 testComponent . multiExpandable . set ( opts . multiExpandable ) ;
@@ -109,7 +109,7 @@ describe('AccordionGroup', () => {
109109 } ) ;
110110
111111 it ( 'should have aria-expanded="false" when collapsed' , ( ) => {
112- configureAccordionComponent ( { initialValue : [ ] } ) ;
112+ configureAccordionComponent ( { initialExpandedPanels : [ ] } ) ;
113113 expect ( triggerElements [ 0 ] . getAttribute ( 'aria-expanded' ) ) . toBe ( 'false' ) ;
114114 expect ( triggerElements [ 1 ] . getAttribute ( 'aria-expanded' ) ) . toBe ( 'false' ) ;
115115 expect ( triggerElements [ 2 ] . getAttribute ( 'aria-expanded' ) ) . toBe ( 'false' ) ;
@@ -154,7 +154,7 @@ describe('AccordionGroup', () => {
154154 } ) ;
155155
156156 it ( 'should have "inert" attribute when collapsed' , ( ) => {
157- configureAccordionComponent ( { initialValue : [ ] } ) ;
157+ configureAccordionComponent ( { initialExpandedPanels : [ ] } ) ;
158158 expect ( panelElements [ 0 ] . hasAttribute ( 'inert' ) ) . toBeTrue ( ) ;
159159 expect ( panelElements [ 1 ] . hasAttribute ( 'inert' ) ) . toBeTrue ( ) ;
160160 expect ( panelElements [ 2 ] . hasAttribute ( 'inert' ) ) . toBeTrue ( ) ;
@@ -168,36 +168,36 @@ describe('AccordionGroup', () => {
168168 configureAccordionComponent ( { multiExpandable : false } ) ;
169169 } ) ;
170170
171- it ( 'should expand panel on trigger click and update value ' , ( ) => {
171+ it ( 'should expand panel on trigger click and update expanded panels ' , ( ) => {
172172 click ( triggerElements [ 0 ] ) ;
173173 expect ( isTriggerExpanded ( triggerElements [ 0 ] ) ) . toBeTrue ( ) ;
174174 expect ( panelElements [ 0 ] . hasAttribute ( 'inert' ) ) . toBeFalse ( ) ;
175- expect ( groupInstance . value ( ) ) . toEqual ( [ 'item-1' ] ) ;
175+ expect ( groupInstance . expandedPanels ( ) ) . toEqual ( [ 'item-1' ] ) ;
176176 } ) ;
177177
178- it ( 'should collapes panel on trigger click and update value ' , ( ) => {
178+ it ( 'should collapes panel on trigger click and update expanded panels ' , ( ) => {
179179 click ( triggerElements [ 0 ] ) ;
180180 click ( triggerElements [ 0 ] ) ; // Collapse
181181 expect ( isTriggerExpanded ( triggerElements [ 0 ] ) ) . toBeFalse ( ) ;
182182 expect ( panelElements [ 0 ] . hasAttribute ( 'inert' ) ) . toBeTrue ( ) ;
183- expect ( groupInstance . value ( ) ) . toEqual ( [ ] ) ;
183+ expect ( groupInstance . expandedPanels ( ) ) . toEqual ( [ ] ) ;
184184 } ) ;
185185
186186 it ( 'should expand one and collapse others' , ( ) => {
187187 click ( triggerElements [ 0 ] ) ;
188188 expect ( isTriggerExpanded ( triggerElements [ 0 ] ) ) . toBeTrue ( ) ;
189- expect ( groupInstance . value ( ) ) . toEqual ( [ 'item-1' ] ) ;
189+ expect ( groupInstance . expandedPanels ( ) ) . toEqual ( [ 'item-1' ] ) ;
190190
191191 click ( triggerElements [ 1 ] ) ;
192192 expect ( isTriggerExpanded ( triggerElements [ 0 ] ) ) . toBeFalse ( ) ;
193193 expect ( panelElements [ 0 ] . hasAttribute ( 'inert' ) ) . toBeTrue ( ) ;
194194 expect ( isTriggerExpanded ( triggerElements [ 1 ] ) ) . toBeTrue ( ) ;
195195 expect ( panelElements [ 1 ] . hasAttribute ( 'inert' ) ) . toBeFalse ( ) ;
196- expect ( groupInstance . value ( ) ) . toEqual ( [ 'item-2' ] ) ;
196+ expect ( groupInstance . expandedPanels ( ) ) . toEqual ( [ 'item-2' ] ) ;
197197 } ) ;
198198
199199 it ( 'should allow setting initial value' , ( ) => {
200- configureAccordionComponent ( { initialValue : [ 'item-2' ] , multiExpandable : false } ) ;
200+ configureAccordionComponent ( { initialExpandedPanels : [ 'item-2' ] , multiExpandable : false } ) ;
201201 expect ( isTriggerExpanded ( triggerElements [ 0 ] ) ) . toBeFalse ( ) ;
202202 expect ( isTriggerExpanded ( triggerElements [ 1 ] ) ) . toBeTrue ( ) ;
203203 expect ( isTriggerExpanded ( triggerElements [ 2 ] ) ) . toBeFalse ( ) ;
@@ -221,16 +221,21 @@ describe('AccordionGroup', () => {
221221 it ( 'should collapse an item without affecting others' , ( ) => {
222222 click ( triggerElements [ 0 ] ) ;
223223 click ( triggerElements [ 1 ] ) ;
224- expect ( groupInstance . value ( ) ) . toEqual ( jasmine . arrayWithExactContents ( [ 'item-1' , 'item-2' ] ) ) ;
224+ expect ( groupInstance . expandedPanels ( ) ) . toEqual (
225+ jasmine . arrayWithExactContents ( [ 'item-1' , 'item-2' ] ) ,
226+ ) ;
225227
226228 click ( triggerElements [ 0 ] ) ;
227229 expect ( isTriggerExpanded ( triggerElements [ 0 ] ) ) . toBeFalse ( ) ;
228230 expect ( isTriggerExpanded ( triggerElements [ 1 ] ) ) . toBeTrue ( ) ;
229- expect ( groupInstance . value ( ) ) . toEqual ( [ 'item-2' ] ) ;
231+ expect ( groupInstance . expandedPanels ( ) ) . toEqual ( [ 'item-2' ] ) ;
230232 } ) ;
231233
232234 it ( 'should allow setting initial multiple values' , ( ) => {
233- configureAccordionComponent ( { initialValue : [ 'item-1' , 'item-3' ] , multiExpandable : true } ) ;
235+ configureAccordionComponent ( {
236+ initialExpandedPanels : [ 'item-1' , 'item-3' ] ,
237+ multiExpandable : true ,
238+ } ) ;
234239 expect ( isTriggerExpanded ( triggerElements [ 0 ] ) ) . toBeTrue ( ) ;
235240 expect ( isTriggerExpanded ( triggerElements [ 1 ] ) ) . toBeFalse ( ) ;
236241 expect ( isTriggerExpanded ( triggerElements [ 2 ] ) ) . toBeTrue ( ) ;
@@ -242,15 +247,15 @@ describe('AccordionGroup', () => {
242247 configureAccordionComponent ( { disabledItemValues : [ 'item-1' ] } ) ;
243248 click ( triggerElements [ 0 ] ) ;
244249 expect ( isTriggerExpanded ( triggerElements [ 0 ] ) ) . toBeFalse ( ) ;
245- expect ( groupInstance . value ( ) ) . toEqual ( [ ] ) ;
250+ expect ( groupInstance . expandedPanels ( ) ) . toEqual ( [ ] ) ;
246251 expect ( triggerElements [ 0 ] . getAttribute ( 'aria-disabled' ) ) . toBe ( 'true' ) ;
247252 } ) ;
248253
249254 it ( 'should not expand any trigger if group is disabled' , ( ) => {
250255 configureAccordionComponent ( { disabledGroup : true } ) ;
251256 click ( triggerElements [ 0 ] ) ;
252257 expect ( isTriggerExpanded ( triggerElements [ 0 ] ) ) . toBeFalse ( ) ;
253- expect ( groupInstance . value ( ) ) . toEqual ( [ ] ) ;
258+ expect ( groupInstance . expandedPanels ( ) ) . toEqual ( [ ] ) ;
254259 click ( triggerElements [ 1 ] ) ;
255260 expect ( isTriggerExpanded ( triggerElements [ 1 ] ) ) . toBeFalse ( ) ;
256261 } ) ;
@@ -382,22 +387,22 @@ describe('AccordionGroup', () => {
382387 template : `
383388 <div
384389 ngAccordionGroup
385- [(value )]="value "
390+ [(expandedPanels )]="expandedPanels "
386391 [multiExpandable]="multiExpandable()"
387392 [disabled]="disabledGroup()"
388393 [softDisabled]="softDisabled()"
389394 [wrap]="wrap()"
390395 >
391- @for (item of items(); track item.value ) {
396+ @for (item of items(); track item.panelId ) {
392397 <div class="item-container">
393398 <button
394399 ngAccordionTrigger
395- [value ]="item.value "
400+ [panelId ]="item.panelId "
396401 [disabled]="item.disabled"
397402 >{{ item.header }}</button>
398403 <div
399404 ngAccordionPanel
400- [value ]="item.value "
405+ [panelId ]="item.panelId "
401406 >
402407 <ng-template ngAccordionContent>
403408 {{ item.content }}
@@ -411,20 +416,20 @@ describe('AccordionGroup', () => {
411416} )
412417class AccordionGroupExample {
413418 items = signal ( [
414- { value : 'item-1' , header : 'Item 1 Header' , content : 'Item 1 Content' , disabled : false } ,
415- { value : 'item-2' , header : 'Item 2 Header' , content : 'Item 2 Content' , disabled : false } ,
416- { value : 'item-3' , header : 'Item 3 Header' , content : 'Item 3 Content' , disabled : false } ,
419+ { panelId : 'item-1' , header : 'Item 1 Header' , content : 'Item 1 Content' , disabled : false } ,
420+ { panelId : 'item-2' , header : 'Item 2 Header' , content : 'Item 2 Content' , disabled : false } ,
421+ { panelId : 'item-3' , header : 'Item 3 Header' , content : 'Item 3 Content' , disabled : false } ,
417422 ] ) ;
418423
419- value = model < string [ ] > ( [ ] ) ;
424+ expandedPanels = model < string [ ] > ( [ ] ) ;
420425 multiExpandable = signal ( false ) ;
421426 disabledGroup = signal ( false ) ;
422427 softDisabled = signal ( true ) ;
423428 wrap = signal ( false ) ;
424429
425430 disableItem ( itemValue : string , disabled : boolean ) {
426431 this . items . update ( items =>
427- items . map ( item => ( item . value === itemValue ? { ...item , disabled} : item ) ) ,
432+ items . map ( item => ( item . panelId === itemValue ? { ...item , disabled} : item ) ) ,
428433 ) ;
429434 }
430435}
0 commit comments