@momentum-design/components 0.122.9 → 0.122.11

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.
@@ -4,63 +4,169 @@
4
4
  "modules": [
5
5
  {
6
6
  "kind": "javascript-module",
7
- "path": "components/accordionbutton/accordionbutton.component.js",
7
+ "path": "components/accordion/accordion.component.js",
8
8
  "declarations": [
9
9
  {
10
10
  "kind": "class",
11
- "description": "An accordion button contains a header and body section with optional slots inside the heading which are focusable.\n\nThe header section contains:\n- Prefix Icon\n- Header Text\n\nThe body section contains:\n- Default slot - User can place any content inside the body section.\n\nThe accordion button can be expanded or collapsed. The visibility of the body section can be controlled by `expanded` attribute. <br/>\nThere are two types of variants based on that the border styling of the accordion gets reflected. <br/>\nThere are two sizes of accordion, one is small and the other is large.\nSmall size has a padding of 1rem (16px) and large size has a padding of 1.5rem (24px) for the body section of accordion.\n\nBy default, the header text in the accordion heading is of H3 with an aria-level of '3'.\nIf this accordion is placed on any other level in the entire webpage, then do adjust the aria-level number based on that.\n\nAn accordion can be disabled, and when it's disabled, the header section will not be clickable.\n\nIf you do need any controls on your accordion heading, then it's advised to use `accordion` component.\n\nIf an accordion button is expanded by default, then the screen reader might loose focus when toggling the visibilty of the accordion button.",
12
- "name": "AccordionButton",
11
+ "description": "An accordion contains a header and body section with a focusable heading that can be expanded or collapsed.\n\nThe header section contains:\n- Prefix Icon\n- Header Text\n- Leading Slot - Contains the leading controls of the accordion on the header section. This will be placed on the leading side, after the header text.\n- Trailing Slot - Contains the trailing controls of the accordion on the header section. This will be placed on the trailing side, before the expand/collapse button.\n\nThe body section contains:\n- Default slot - User can place any content inside the body section.\n\nThe accordion can be expanded or collapsed. The visibility of the body section can be controlled by `expanded` attribute. <br/>\nThere are two types of variants based on that the border styling of the accordion gets reflected. <br/>\nThere are two sizes of accordion, one is small and the other is large.\nSmall size has a padding of 1rem (16px) and large size has a padding of 1.5rem (24px) for the body section of accordion.\n\nBy default, the header text in the accordion heading is of H3 with an aria-level of '3'.\nIf this accordion is placed on any other level in the entire webpage, then do adjust the aria-level number based on that.\n\nAn accordion can be disabled, and when it's disabled, the header section will not be clickable.\n\nIf you don't need any controls on your accordion heading, then it's advised to use `accordionbutton` component.\n\nIf an accordion is expanded by default, then the screen reader might loose focus when toggling the visibilty of the accordion.",
12
+ "name": "Accordion",
13
13
  "cssProperties": [
14
14
  {
15
- "description": "The border color of the accordion button.",
16
- "name": "--mdc-accordionbutton-border-color"
15
+ "description": "The border color of the accordion.",
16
+ "name": "--mdc-accordionbutton-border-color",
17
+ "inheritedFrom": {
18
+ "name": "AccordionButton",
19
+ "module": "src/components/accordionbutton/accordionbutton.component.ts"
20
+ }
17
21
  },
18
22
  {
19
- "description": "The hover color of the accordion button.",
20
- "name": "--mdc-accordionbutton-hover-color"
23
+ "description": "The hover color of the accordion.",
24
+ "name": "--mdc-accordionbutton-hover-color",
25
+ "inheritedFrom": {
26
+ "name": "AccordionButton",
27
+ "module": "src/components/accordionbutton/accordionbutton.component.ts"
28
+ }
21
29
  },
22
30
  {
23
- "description": "The active color of the accordion button.",
24
- "name": "--mdc-accordionbutton-active-color"
31
+ "description": "The active color of the accordion.",
32
+ "name": "--mdc-accordionbutton-active-color",
33
+ "inheritedFrom": {
34
+ "name": "AccordionButton",
35
+ "module": "src/components/accordionbutton/accordionbutton.component.ts"
36
+ }
25
37
  },
26
38
  {
27
- "description": "The disabled color of the accordion button.",
28
- "name": "--mdc-accordionbutton-disabled-color"
39
+ "description": "The disabled color of the accordion.",
40
+ "name": "--mdc-accordionbutton-disabled-color",
41
+ "inheritedFrom": {
42
+ "name": "AccordionButton",
43
+ "module": "src/components/accordionbutton/accordionbutton.component.ts"
44
+ }
29
45
  }
30
46
  ],
31
47
  "cssParts": [
32
48
  {
33
- "description": "The body section of the accordion button.",
34
- "name": "body-section"
49
+ "description": "The body section of the accordion.",
50
+ "name": "body-section",
51
+ "inheritedFrom": {
52
+ "name": "AccordionButton",
53
+ "module": "src/components/accordionbutton/accordionbutton.component.ts"
54
+ }
35
55
  },
36
56
  {
37
- "description": "The header button section of the accordion button.",
38
- "name": "header-button-section"
57
+ "description": "The header section of the accordion.",
58
+ "name": "header-section",
59
+ "inheritedFrom": {
60
+ "name": "AccordionButton",
61
+ "module": "src/components/accordionbutton/accordionbutton.component.ts"
62
+ }
39
63
  },
40
64
  {
41
- "description": "The header section of the accordion button.",
42
- "name": "header-section"
65
+ "description": "The leading header of the accordion.",
66
+ "name": "leading-header",
67
+ "inheritedFrom": {
68
+ "name": "AccordionButton",
69
+ "module": "src/components/accordionbutton/accordionbutton.component.ts"
70
+ }
43
71
  },
44
72
  {
45
- "description": "The leading header of the accordion button.",
46
- "name": "leading-header"
73
+ "description": "The trailing header of the accordion.",
74
+ "name": "trailing-header",
75
+ "inheritedFrom": {
76
+ "name": "AccordionButton",
77
+ "module": "src/components/accordionbutton/accordionbutton.component.ts"
78
+ }
47
79
  },
48
80
  {
49
- "description": "The trailing header of the accordion button.",
50
- "name": "trailing-header"
81
+ "description": "The trailing header button of the accordion.",
82
+ "name": "trailing-header__button"
83
+ },
84
+ {
85
+ "description": "The header button section of the accordion button.",
86
+ "name": "header-button-section",
87
+ "inheritedFrom": {
88
+ "name": "AccordionButton",
89
+ "module": "src/components/accordionbutton/accordionbutton.component.ts"
90
+ }
51
91
  },
52
92
  {
53
93
  "description": "The trailing header icon of the accordion button.",
54
- "name": "trailing-header__icon"
94
+ "name": "trailing-header__icon",
95
+ "inheritedFrom": {
96
+ "name": "AccordionButton",
97
+ "module": "src/components/accordionbutton/accordionbutton.component.ts"
98
+ }
55
99
  }
56
100
  ],
57
101
  "slots": [
102
+ {
103
+ "description": "The leading controls slot of the accordion on the header section.",
104
+ "name": "leading-controls"
105
+ },
106
+ {
107
+ "description": "The trailing controls slot of the accordion on the header section.",
108
+ "name": "trailing-controls"
109
+ },
58
110
  {
59
111
  "description": "The default slot contains the body section of the accordion. User can place anything inside this body slot.",
60
- "name": "default"
112
+ "name": "default",
113
+ "inheritedFrom": {
114
+ "name": "AccordionButton",
115
+ "module": "src/components/accordionbutton/accordionbutton.component.ts"
116
+ }
61
117
  }
62
118
  ],
63
119
  "members": [
120
+ {
121
+ "kind": "field",
122
+ "name": "openButtonAriaLabel",
123
+ "type": {
124
+ "text": "string | undefined"
125
+ },
126
+ "description": "Aria-label attribute for the trigger button when accordion is collapsed.",
127
+ "attribute": "open-button-aria-label",
128
+ "reflects": true
129
+ },
130
+ {
131
+ "kind": "field",
132
+ "name": "closeButtonAriaLabel",
133
+ "type": {
134
+ "text": "string | undefined"
135
+ },
136
+ "description": "Aria-label attribute for the trigger button when accordion is expanded.",
137
+ "attribute": "close-button-aria-label",
138
+ "reflects": true
139
+ },
140
+ {
141
+ "kind": "method",
142
+ "name": "renderHeader",
143
+ "privacy": "protected",
144
+ "return": {
145
+ "type": {
146
+ "text": ""
147
+ }
148
+ },
149
+ "description": "Renders the header section of the accordion.\nThis includes the leading icon, text and controls, and the trailing controls.\nThe trailing controls include the expand/collapse button.\nThe button is disabled if the accordion is disabled.\nThe button is also given the aria-controls attribute set to the id of the body section.\nThe button is also given the aria-expanded attribute set to the expanded state of the accordion.\nThe prefix icon of the button is set to the expanded state of the accordion.",
150
+ "inheritedFrom": {
151
+ "name": "AccordionButton",
152
+ "module": "components/accordionbutton/accordionbutton.component.js"
153
+ }
154
+ },
155
+ {
156
+ "kind": "field",
157
+ "name": "disabled",
158
+ "type": {
159
+ "text": "boolean | undefined"
160
+ },
161
+ "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
162
+ "default": "undefined",
163
+ "attribute": "disabled",
164
+ "reflects": true,
165
+ "inheritedFrom": {
166
+ "name": "DisabledMixin",
167
+ "module": "utils/mixins/DisabledMixin.js"
168
+ }
169
+ },
64
170
  {
65
171
  "kind": "field",
66
172
  "name": "size",
@@ -70,7 +176,11 @@
70
176
  "description": "The size of the accordion item.",
71
177
  "default": "'small'",
72
178
  "attribute": "size",
73
- "reflects": true
179
+ "reflects": true,
180
+ "inheritedFrom": {
181
+ "name": "AccordionButton",
182
+ "module": "components/accordionbutton/accordionbutton.component.js"
183
+ }
74
184
  },
75
185
  {
76
186
  "kind": "field",
@@ -81,7 +191,11 @@
81
191
  "description": "The variant of the accordion item. Based on the variant, the styling of the accordion gets changed.",
82
192
  "default": "'default'",
83
193
  "attribute": "variant",
84
- "reflects": true
194
+ "reflects": true,
195
+ "inheritedFrom": {
196
+ "name": "AccordionButton",
197
+ "module": "components/accordionbutton/accordionbutton.component.js"
198
+ }
85
199
  },
86
200
  {
87
201
  "kind": "field",
@@ -92,7 +206,11 @@
92
206
  "description": "The aria level of the accordion component.",
93
207
  "default": "3",
94
208
  "attribute": "data-aria-level",
95
- "reflects": true
209
+ "reflects": true,
210
+ "inheritedFrom": {
211
+ "name": "AccordionButton",
212
+ "module": "components/accordionbutton/accordionbutton.component.js"
213
+ }
96
214
  },
97
215
  {
98
216
  "kind": "field",
@@ -103,7 +221,11 @@
103
221
  "description": "The visibility of the accordion button.",
104
222
  "default": "false",
105
223
  "attribute": "expanded",
106
- "reflects": true
224
+ "reflects": true,
225
+ "inheritedFrom": {
226
+ "name": "AccordionButton",
227
+ "module": "components/accordionbutton/accordionbutton.component.js"
228
+ }
107
229
  },
108
230
  {
109
231
  "kind": "field",
@@ -113,7 +235,11 @@
113
235
  },
114
236
  "description": "The header text of the accordion item.",
115
237
  "attribute": "header-text",
116
- "reflects": true
238
+ "reflects": true,
239
+ "inheritedFrom": {
240
+ "name": "AccordionButton",
241
+ "module": "components/accordionbutton/accordionbutton.component.js"
242
+ }
117
243
  },
118
244
  {
119
245
  "kind": "field",
@@ -122,7 +248,11 @@
122
248
  "text": "IconNames | undefined"
123
249
  },
124
250
  "description": "The leading icon that is displayed before the header text.",
125
- "attribute": "prefix-icon"
251
+ "attribute": "prefix-icon",
252
+ "inheritedFrom": {
253
+ "name": "AccordionButton",
254
+ "module": "components/accordionbutton/accordionbutton.component.js"
255
+ }
126
256
  },
127
257
  {
128
258
  "kind": "method",
@@ -133,7 +263,11 @@
133
263
  "text": "void"
134
264
  }
135
265
  },
136
- "description": "Handles the click event of the header section.\nIf the accordion is disabled, it will not toggle the expanded state.\nIt will dispatch the `shown` event with the current expanded state."
266
+ "description": "Handles the click event of the header section.\nIf the accordion is disabled, it will not toggle the expanded state.\nIt will dispatch the `shown` event with the current expanded state.",
267
+ "inheritedFrom": {
268
+ "name": "AccordionButton",
269
+ "module": "components/accordionbutton/accordionbutton.component.js"
270
+ }
137
271
  },
138
272
  {
139
273
  "kind": "method",
@@ -144,7 +278,11 @@
144
278
  "text": "void"
145
279
  }
146
280
  },
147
- "description": "Dispatches the `shown` event with the current expanded state.\nThe event is cancelable and bubbles.\nThe event detail contains the current expanded state."
281
+ "description": "Dispatches the `shown` event with the current expanded state.\nThe event is cancelable and bubbles.\nThe event detail contains the current expanded state.",
282
+ "inheritedFrom": {
283
+ "name": "AccordionButton",
284
+ "module": "components/accordionbutton/accordionbutton.component.js"
285
+ }
148
286
  },
149
287
  {
150
288
  "kind": "method",
@@ -164,7 +302,11 @@
164
302
  "description": "The KeyboardEvent fired."
165
303
  }
166
304
  ],
167
- "description": "Handles the keydown event of the component.\nIf the key pressed is either Enter or Space, it calls the handleHeaderClick method.\nThis allows keyboard users to toggle the accordion button using these keys."
305
+ "description": "Handles the keydown event of the component.\nIf the key pressed is either Enter or Space, it calls the handleHeaderClick method.\nThis allows keyboard users to toggle the accordion button using these keys.",
306
+ "inheritedFrom": {
307
+ "name": "AccordionButton",
308
+ "module": "components/accordionbutton/accordionbutton.component.js"
309
+ }
168
310
  },
169
311
  {
170
312
  "kind": "method",
@@ -183,7 +325,11 @@
183
325
  "text": "IconNames"
184
326
  }
185
327
  }
186
- ]
328
+ ],
329
+ "inheritedFrom": {
330
+ "name": "AccordionButton",
331
+ "module": "components/accordionbutton/accordionbutton.component.js"
332
+ }
187
333
  },
188
334
  {
189
335
  "kind": "method",
@@ -193,16 +339,10 @@
193
339
  "type": {
194
340
  "text": "TemplateResult | typeof nothing"
195
341
  }
196
- }
197
- },
198
- {
199
- "kind": "method",
200
- "name": "renderHeader",
201
- "privacy": "protected",
202
- "return": {
203
- "type": {
204
- "text": "TemplateResult"
205
- }
342
+ },
343
+ "inheritedFrom": {
344
+ "name": "AccordionButton",
345
+ "module": "components/accordionbutton/accordionbutton.component.js"
206
346
  }
207
347
  },
208
348
  {
@@ -214,7 +354,11 @@
214
354
  "text": ""
215
355
  }
216
356
  },
217
- "description": "Returns the icon name based on the expanded state.\nIf the accordion button is disabled, it always returns the arrow down icon.\nOtherwise, it returns the arrow up icon if the accordion button is expanded, otherwise the arrow down icon."
357
+ "description": "Returns the icon name based on the expanded state.\nIf the accordion button is disabled, it always returns the arrow down icon.\nOtherwise, it returns the arrow up icon if the accordion button is expanded, otherwise the arrow down icon.",
358
+ "inheritedFrom": {
359
+ "name": "AccordionButton",
360
+ "module": "components/accordionbutton/accordionbutton.component.js"
361
+ }
218
362
  },
219
363
  {
220
364
  "kind": "method",
@@ -224,40 +368,66 @@
224
368
  "type": {
225
369
  "text": "TemplateResult | typeof nothing"
226
370
  }
227
- }
228
- },
229
- {
230
- "kind": "field",
231
- "name": "disabled",
232
- "type": {
233
- "text": "boolean | undefined"
234
371
  },
235
- "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
236
- "default": "undefined",
237
- "attribute": "disabled",
238
- "reflects": true,
239
372
  "inheritedFrom": {
240
- "name": "DisabledMixin",
241
- "module": "utils/mixins/DisabledMixin.js"
373
+ "name": "AccordionButton",
374
+ "module": "components/accordionbutton/accordionbutton.component.js"
242
375
  }
243
376
  }
244
377
  ],
245
378
  "events": [
246
379
  {
247
- "description": "(React: onShown) This event is triggered when the accordion button is expanded.",
380
+ "description": "(React: onShown) This event is triggered when the accordion is expanded.",
248
381
  "name": "shown",
249
- "reactName": "onShown"
382
+ "reactName": "onShown",
383
+ "inheritedFrom": {
384
+ "name": "AccordionButton",
385
+ "module": "src/components/accordionbutton/accordionbutton.component.ts"
386
+ }
250
387
  }
251
388
  ],
252
389
  "attributes": [
253
390
  {
254
- "name": "size",
391
+ "name": "open-button-aria-label",
392
+ "type": {
393
+ "text": "string | undefined"
394
+ },
395
+ "description": "Aria-label attribute for the trigger button when accordion is collapsed.",
396
+ "fieldName": "openButtonAriaLabel"
397
+ },
398
+ {
399
+ "name": "close-button-aria-label",
400
+ "type": {
401
+ "text": "string | undefined"
402
+ },
403
+ "description": "Aria-label attribute for the trigger button when accordion is expanded.",
404
+ "fieldName": "closeButtonAriaLabel"
405
+ },
406
+ {
407
+ "name": "disabled",
408
+ "type": {
409
+ "text": "boolean | undefined"
410
+ },
411
+ "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
412
+ "default": "undefined",
413
+ "fieldName": "disabled",
414
+ "inheritedFrom": {
415
+ "name": "DisabledMixin",
416
+ "module": "src/utils/mixins/DisabledMixin.ts"
417
+ }
418
+ },
419
+ {
420
+ "name": "size",
255
421
  "type": {
256
422
  "text": "Size"
257
423
  },
258
424
  "description": "The size of the accordion item.",
259
425
  "default": "'small'",
260
- "fieldName": "size"
426
+ "fieldName": "size",
427
+ "inheritedFrom": {
428
+ "name": "AccordionButton",
429
+ "module": "src/components/accordionbutton/accordionbutton.component.ts"
430
+ }
261
431
  },
262
432
  {
263
433
  "name": "variant",
@@ -266,7 +436,11 @@
266
436
  },
267
437
  "description": "The variant of the accordion item. Based on the variant, the styling of the accordion gets changed.",
268
438
  "default": "'default'",
269
- "fieldName": "variant"
439
+ "fieldName": "variant",
440
+ "inheritedFrom": {
441
+ "name": "AccordionButton",
442
+ "module": "src/components/accordionbutton/accordionbutton.component.ts"
443
+ }
270
444
  },
271
445
  {
272
446
  "name": "data-aria-level",
@@ -275,7 +449,11 @@
275
449
  },
276
450
  "description": "The aria level of the accordion component.",
277
451
  "default": "3",
278
- "fieldName": "dataAriaLevel"
452
+ "fieldName": "dataAriaLevel",
453
+ "inheritedFrom": {
454
+ "name": "AccordionButton",
455
+ "module": "src/components/accordionbutton/accordionbutton.component.ts"
456
+ }
279
457
  },
280
458
  {
281
459
  "name": "expanded",
@@ -284,7 +462,11 @@
284
462
  },
285
463
  "description": "The visibility of the accordion button.",
286
464
  "default": "false",
287
- "fieldName": "expanded"
465
+ "fieldName": "expanded",
466
+ "inheritedFrom": {
467
+ "name": "AccordionButton",
468
+ "module": "src/components/accordionbutton/accordionbutton.component.ts"
469
+ }
288
470
  },
289
471
  {
290
472
  "name": "header-text",
@@ -292,7 +474,11 @@
292
474
  "text": "string | undefined"
293
475
  },
294
476
  "description": "The header text of the accordion item.",
295
- "fieldName": "headerText"
477
+ "fieldName": "headerText",
478
+ "inheritedFrom": {
479
+ "name": "AccordionButton",
480
+ "module": "src/components/accordionbutton/accordionbutton.component.ts"
481
+ }
296
482
  },
297
483
  {
298
484
  "name": "prefix-icon",
@@ -300,34 +486,19 @@
300
486
  "text": "IconNames | undefined"
301
487
  },
302
488
  "description": "The leading icon that is displayed before the header text.",
303
- "fieldName": "prefixIcon"
304
- },
305
- {
306
- "name": "disabled",
307
- "type": {
308
- "text": "boolean | undefined"
309
- },
310
- "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
311
- "default": "undefined",
312
- "fieldName": "disabled",
489
+ "fieldName": "prefixIcon",
313
490
  "inheritedFrom": {
314
- "name": "DisabledMixin",
315
- "module": "src/utils/mixins/DisabledMixin.ts"
491
+ "name": "AccordionButton",
492
+ "module": "src/components/accordionbutton/accordionbutton.component.ts"
316
493
  }
317
494
  }
318
495
  ],
319
- "mixins": [
320
- {
321
- "name": "DisabledMixin",
322
- "module": "/src/utils/mixins/DisabledMixin"
323
- }
324
- ],
325
496
  "superclass": {
326
- "name": "Component",
327
- "module": "/src/models"
497
+ "name": "AccordionButton",
498
+ "module": "/src/components/accordionbutton/accordionbutton.component"
328
499
  },
329
- "tagName": "mdc-accordionbutton",
330
- "jsDoc": "/**\n * An accordion button contains a header and body section with optional slots inside the heading which are focusable.\n *\n * The header section contains:\n * - Prefix Icon\n * - Header Text\n *\n * The body section contains:\n * - Default slot - User can place any content inside the body section.\n *\n * The accordion button can be expanded or collapsed. The visibility of the body section can be controlled by `expanded` attribute. <br/>\n * There are two types of variants based on that the border styling of the accordion gets reflected. <br/>\n * There are two sizes of accordion, one is small and the other is large.\n * Small size has a padding of 1rem (16px) and large size has a padding of 1.5rem (24px) for the body section of accordion.\n *\n * By default, the header text in the accordion heading is of H3 with an aria-level of '3'.\n * If this accordion is placed on any other level in the entire webpage, then do adjust the aria-level number based on that.\n *\n * An accordion can be disabled, and when it's disabled, the header section will not be clickable.\n *\n * If you do need any controls on your accordion heading, then it's advised to use `accordion` component.\n *\n * If an accordion button is expanded by default, then the screen reader might loose focus when toggling the visibilty of the accordion button.\n *\n * @tagname mdc-accordionbutton\n *\n * @dependency mdc-button\n * @dependency mdc-icon\n * @dependency mdc-text\n *\n * @slot default - The default slot contains the body section of the accordion. User can place anything inside this body slot.\n *\n * @event shown - (React: onShown) This event is triggered when the accordion button is expanded.\n *\n * @cssproperty --mdc-accordionbutton-border-color - The border color of the accordion button.\n * @cssproperty --mdc-accordionbutton-hover-color - The hover color of the accordion button.\n * @cssproperty --mdc-accordionbutton-active-color - The active color of the accordion button.\n * @cssproperty --mdc-accordionbutton-disabled-color - The disabled color of the accordion button.\n *\n * @csspart body-section - The body section of the accordion button.\n * @csspart header-button-section - The header button section of the accordion button.\n * @csspart header-section - The header section of the accordion button.\n * @csspart leading-header - The leading header of the accordion button.\n * @csspart trailing-header - The trailing header of the accordion button.\n * @csspart trailing-header__icon - The trailing header icon of the accordion button.\n */",
500
+ "tagName": "mdc-accordion",
501
+ "jsDoc": "/**\n * An accordion contains a header and body section with a focusable heading that can be expanded or collapsed.\n *\n * The header section contains:\n * - Prefix Icon\n * - Header Text\n * - Leading Slot - Contains the leading controls of the accordion on the header section. This will be placed on the leading side, after the header text.\n * - Trailing Slot - Contains the trailing controls of the accordion on the header section. This will be placed on the trailing side, before the expand/collapse button.\n *\n * The body section contains:\n * - Default slot - User can place any content inside the body section.\n *\n * The accordion can be expanded or collapsed. The visibility of the body section can be controlled by `expanded` attribute. <br/>\n * There are two types of variants based on that the border styling of the accordion gets reflected. <br/>\n * There are two sizes of accordion, one is small and the other is large.\n * Small size has a padding of 1rem (16px) and large size has a padding of 1.5rem (24px) for the body section of accordion.\n *\n * By default, the header text in the accordion heading is of H3 with an aria-level of '3'.\n * If this accordion is placed on any other level in the entire webpage, then do adjust the aria-level number based on that.\n *\n * An accordion can be disabled, and when it's disabled, the header section will not be clickable.\n *\n * If you don't need any controls on your accordion heading, then it's advised to use `accordionbutton` component.\n *\n * If an accordion is expanded by default, then the screen reader might loose focus when toggling the visibilty of the accordion.\n *\n * @tagname mdc-accordion\n *\n * @dependency mdc-button\n * @dependency mdc-icon\n * @dependency mdc-text\n *\n * @slot leading-controls - The leading controls slot of the accordion on the header section.\n * @slot trailing-controls - The trailing controls slot of the accordion on the header section.\n * @slot default - The default slot contains the body section of the accordion. User can place anything inside this body slot.\n *\n * @event shown - (React: onShown) This event is triggered when the accordion is expanded.\n *\n * @cssproperty --mdc-accordionbutton-border-color - The border color of the accordion.\n * @cssproperty --mdc-accordionbutton-hover-color - The hover color of the accordion.\n * @cssproperty --mdc-accordionbutton-active-color - The active color of the accordion.\n * @cssproperty --mdc-accordionbutton-disabled-color - The disabled color of the accordion.\n *\n * @csspart body-section - The body section of the accordion.\n * @csspart header-section - The header section of the accordion.\n * @csspart leading-header - The leading header of the accordion.\n * @csspart trailing-header - The trailing header of the accordion.\n * @csspart trailing-header__button - The trailing header button of the accordion.\n */",
331
502
  "customElement": true
332
503
  }
333
504
  ],
@@ -336,29 +507,67 @@
336
507
  "kind": "js",
337
508
  "name": "default",
338
509
  "declaration": {
339
- "name": "AccordionButton",
340
- "module": "components/accordionbutton/accordionbutton.component.js"
510
+ "name": "Accordion",
511
+ "module": "components/accordion/accordion.component.js"
341
512
  }
342
513
  }
343
514
  ]
344
515
  },
345
516
  {
346
517
  "kind": "javascript-module",
347
- "path": "components/accordiongroup/accordiongroup.component.js",
518
+ "path": "components/accordionbutton/accordionbutton.component.js",
348
519
  "declarations": [
349
520
  {
350
521
  "kind": "class",
351
- "description": "An accordion group is a vertically stacked set of interactive headings that each contain a header and body content.\nEach heading of the accordion acts as a control that enable users to expand or hide their associated body sections of content.\nAccordions are commonly used to reduce the need to scroll when presenting multiple sections of content on a single page.\n\n- Default Slot: The accordion group component only accepts, `accordion` and `accordionbutton` components as the children, rest are ignored.\n\nThere are three types of variants:\n- Stacked - Each accordion will have a gap of 1.5rem (24px).\n- Borderless - Each accordion will not have any border and the group will also not have any border.\n- Contained - Each accordion will have no gap in between them and the border of the entire accordiongroup will be continuous.\n\nThere are two types of sizes:\n- Small: Small size has a padding of 1rem (16px) for both heading and body sections.\n- Large: Large size has a padding of 1.5rem (24px) for both heading and body sections.\n\nThe variant and size will be applied to all accordions inside this accordion group.\nTo show/expand more than one accordion at any given time, then set `allow-multiple` to `true`. By default, it's `false`.\n\nIf you don't need any controls on your accordion heading, then it's advised to use `accordionbutton` component.\n\nIf the first accordion of the accordion group is expanded by default, then the screen reader might loose focus when toggling the visibilty of the first accordion.",
352
- "name": "AccordionGroup",
522
+ "description": "An accordion button contains a header and body section with optional slots inside the heading which are focusable.\n\nThe header section contains:\n- Prefix Icon\n- Header Text\n\nThe body section contains:\n- Default slot - User can place any content inside the body section.\n\nThe accordion button can be expanded or collapsed. The visibility of the body section can be controlled by `expanded` attribute. <br/>\nThere are two types of variants based on that the border styling of the accordion gets reflected. <br/>\nThere are two sizes of accordion, one is small and the other is large.\nSmall size has a padding of 1rem (16px) and large size has a padding of 1.5rem (24px) for the body section of accordion.\n\nBy default, the header text in the accordion heading is of H3 with an aria-level of '3'.\nIf this accordion is placed on any other level in the entire webpage, then do adjust the aria-level number based on that.\n\nAn accordion can be disabled, and when it's disabled, the header section will not be clickable.\n\nIf you do need any controls on your accordion heading, then it's advised to use `accordion` component.\n\nIf an accordion button is expanded by default, then the screen reader might loose focus when toggling the visibilty of the accordion button.",
523
+ "name": "AccordionButton",
353
524
  "cssProperties": [
354
525
  {
355
- "description": "The border color of the entire accordiongroup",
356
- "name": "--mdc-accordiongroup-border-color"
526
+ "description": "The border color of the accordion button.",
527
+ "name": "--mdc-accordionbutton-border-color"
528
+ },
529
+ {
530
+ "description": "The hover color of the accordion button.",
531
+ "name": "--mdc-accordionbutton-hover-color"
532
+ },
533
+ {
534
+ "description": "The active color of the accordion button.",
535
+ "name": "--mdc-accordionbutton-active-color"
536
+ },
537
+ {
538
+ "description": "The disabled color of the accordion button.",
539
+ "name": "--mdc-accordionbutton-disabled-color"
540
+ }
541
+ ],
542
+ "cssParts": [
543
+ {
544
+ "description": "The body section of the accordion button.",
545
+ "name": "body-section"
546
+ },
547
+ {
548
+ "description": "The header button section of the accordion button.",
549
+ "name": "header-button-section"
550
+ },
551
+ {
552
+ "description": "The header section of the accordion button.",
553
+ "name": "header-section"
554
+ },
555
+ {
556
+ "description": "The leading header of the accordion button.",
557
+ "name": "leading-header"
558
+ },
559
+ {
560
+ "description": "The trailing header of the accordion button.",
561
+ "name": "trailing-header"
562
+ },
563
+ {
564
+ "description": "The trailing header icon of the accordion button.",
565
+ "name": "trailing-header__icon"
357
566
  }
358
567
  ],
359
568
  "slots": [
360
569
  {
361
- "description": "The default slot can contain the `accordion` or `accordionbutton` components.",
570
+ "description": "The default slot contains the body section of the accordion. User can place anything inside this body slot.",
362
571
  "name": "default"
363
572
  }
364
573
  ],
@@ -381,24 +590,76 @@
381
590
  "text": "Variant"
382
591
  },
383
592
  "description": "The variant of the accordion item. Based on the variant, the styling of the accordion gets changed.",
384
- "default": "'stacked'",
593
+ "default": "'default'",
385
594
  "attribute": "variant",
386
595
  "reflects": true
387
596
  },
388
597
  {
389
598
  "kind": "field",
390
- "name": "allowMultiple",
599
+ "name": "dataAriaLevel",
600
+ "type": {
601
+ "text": "number"
602
+ },
603
+ "description": "The aria level of the accordion component.",
604
+ "default": "3",
605
+ "attribute": "data-aria-level",
606
+ "reflects": true
607
+ },
608
+ {
609
+ "kind": "field",
610
+ "name": "expanded",
391
611
  "type": {
392
612
  "text": "boolean"
393
613
  },
614
+ "description": "The visibility of the accordion button.",
394
615
  "default": "false",
395
- "description": "If true, multiple accordion items can be visible at the same time.",
396
- "attribute": "allow-multiple",
616
+ "attribute": "expanded",
617
+ "reflects": true
618
+ },
619
+ {
620
+ "kind": "field",
621
+ "name": "headerText",
622
+ "type": {
623
+ "text": "string | undefined"
624
+ },
625
+ "description": "The header text of the accordion item.",
626
+ "attribute": "header-text",
397
627
  "reflects": true
398
628
  },
629
+ {
630
+ "kind": "field",
631
+ "name": "prefixIcon",
632
+ "type": {
633
+ "text": "IconNames | undefined"
634
+ },
635
+ "description": "The leading icon that is displayed before the header text.",
636
+ "attribute": "prefix-icon"
637
+ },
399
638
  {
400
639
  "kind": "method",
401
- "name": "handleAccordionExpanded",
640
+ "name": "handleHeaderClick",
641
+ "privacy": "protected",
642
+ "return": {
643
+ "type": {
644
+ "text": "void"
645
+ }
646
+ },
647
+ "description": "Handles the click event of the header section.\nIf the accordion is disabled, it will not toggle the expanded state.\nIt will dispatch the `shown` event with the current expanded state."
648
+ },
649
+ {
650
+ "kind": "method",
651
+ "name": "dispatchHeaderClickEvent",
652
+ "privacy": "private",
653
+ "return": {
654
+ "type": {
655
+ "text": "void"
656
+ }
657
+ },
658
+ "description": "Dispatches the `shown` event with the current expanded state.\nThe event is cancelable and bubbles.\nThe event detail contains the current expanded state."
659
+ },
660
+ {
661
+ "kind": "method",
662
+ "name": "handleKeyDown",
402
663
  "privacy": "private",
403
664
  "return": {
404
665
  "type": {
@@ -409,224 +670,41 @@
409
670
  {
410
671
  "name": "event",
411
672
  "type": {
412
- "text": "Event"
673
+ "text": "KeyboardEvent"
413
674
  },
414
- "description": "The event object from the 'shown' event."
675
+ "description": "The KeyboardEvent fired."
415
676
  }
416
677
  ],
417
- "description": "Handles the 'shown' event for accordion items.\nIf `allowMultiple` is false, ensures that only one accordion item\nremains expanded by collapsing all other expanded items when a new item is expanded."
678
+ "description": "Handles the keydown event of the component.\nIf the key pressed is either Enter or Space, it calls the handleHeaderClick method.\nThis allows keyboard users to toggle the accordion button using these keys."
418
679
  },
419
680
  {
420
681
  "kind": "method",
421
- "name": "setChildrenAccordionAttributes",
422
- "privacy": "private",
682
+ "name": "renderIcon",
683
+ "privacy": "protected",
423
684
  "return": {
424
685
  "type": {
425
- "text": "void"
686
+ "text": "TemplateResult | typeof nothing"
426
687
  }
427
688
  },
428
689
  "parameters": [
429
690
  {
430
- "name": "attributeName",
431
- "type": {
432
- "text": "string"
433
- },
434
- "description": "The name of the attribute to set."
435
- },
436
- {
437
- "name": "attributeValue",
691
+ "name": "iconName",
692
+ "optional": true,
438
693
  "type": {
439
- "text": "string"
440
- },
441
- "description": "The value to set the attribute to."
694
+ "text": "IconNames"
695
+ }
442
696
  }
443
- ],
444
- "description": "Sets the given attribute on all child accordion or accordionbutton components."
445
- }
446
- ],
447
- "attributes": [
697
+ ]
698
+ },
448
699
  {
449
- "name": "size",
450
- "type": {
451
- "text": "Size"
452
- },
453
- "description": "The size of the accordion item.",
454
- "default": "'small'",
455
- "fieldName": "size"
456
- },
457
- {
458
- "name": "variant",
459
- "type": {
460
- "text": "Variant"
461
- },
462
- "description": "The variant of the accordion item. Based on the variant, the styling of the accordion gets changed.",
463
- "default": "'stacked'",
464
- "fieldName": "variant"
465
- },
466
- {
467
- "name": "allow-multiple",
468
- "type": {
469
- "text": "boolean"
470
- },
471
- "default": "false",
472
- "description": "If true, multiple accordion items can be visible at the same time.",
473
- "fieldName": "allowMultiple"
474
- }
475
- ],
476
- "superclass": {
477
- "name": "Component",
478
- "module": "/src/models"
479
- },
480
- "tagName": "mdc-accordiongroup",
481
- "jsDoc": "/**\n * An accordion group is a vertically stacked set of interactive headings that each contain a header and body content.\n * Each heading of the accordion acts as a control that enable users to expand or hide their associated body sections of content.\n * Accordions are commonly used to reduce the need to scroll when presenting multiple sections of content on a single page.\n *\n * - Default Slot: The accordion group component only accepts, `accordion` and `accordionbutton` components as the children, rest are ignored.\n *\n * There are three types of variants:\n * - Stacked - Each accordion will have a gap of 1.5rem (24px).\n * - Borderless - Each accordion will not have any border and the group will also not have any border.\n * - Contained - Each accordion will have no gap in between them and the border of the entire accordiongroup will be continuous.\n *\n * There are two types of sizes:\n * - Small: Small size has a padding of 1rem (16px) for both heading and body sections.\n * - Large: Large size has a padding of 1.5rem (24px) for both heading and body sections.\n *\n * The variant and size will be applied to all accordions inside this accordion group.\n * To show/expand more than one accordion at any given time, then set `allow-multiple` to `true`. By default, it's `false`.\n *\n * If you don't need any controls on your accordion heading, then it's advised to use `accordionbutton` component.\n *\n * If the first accordion of the accordion group is expanded by default, then the screen reader might loose focus when toggling the visibilty of the first accordion.\n *\n * @tagname mdc-accordiongroup\n *\n * @slot default - The default slot can contain the `accordion` or `accordionbutton` components.\n *\n * @cssproperty --mdc-accordiongroup-border-color - The border color of the entire accordiongroup\n */",
482
- "customElement": true
483
- }
484
- ],
485
- "exports": [
486
- {
487
- "kind": "js",
488
- "name": "default",
489
- "declaration": {
490
- "name": "AccordionGroup",
491
- "module": "components/accordiongroup/accordiongroup.component.js"
492
- }
493
- }
494
- ]
495
- },
496
- {
497
- "kind": "javascript-module",
498
- "path": "components/accordion/accordion.component.js",
499
- "declarations": [
500
- {
501
- "kind": "class",
502
- "description": "An accordion contains a header and body section with a focusable heading that can be expanded or collapsed.\n\nThe header section contains:\n- Prefix Icon\n- Header Text\n- Leading Slot - Contains the leading controls of the accordion on the header section. This will be placed on the leading side, after the header text.\n- Trailing Slot - Contains the trailing controls of the accordion on the header section. This will be placed on the trailing side, before the expand/collapse button.\n\nThe body section contains:\n- Default slot - User can place any content inside the body section.\n\nThe accordion can be expanded or collapsed. The visibility of the body section can be controlled by `expanded` attribute. <br/>\nThere are two types of variants based on that the border styling of the accordion gets reflected. <br/>\nThere are two sizes of accordion, one is small and the other is large.\nSmall size has a padding of 1rem (16px) and large size has a padding of 1.5rem (24px) for the body section of accordion.\n\nBy default, the header text in the accordion heading is of H3 with an aria-level of '3'.\nIf this accordion is placed on any other level in the entire webpage, then do adjust the aria-level number based on that.\n\nAn accordion can be disabled, and when it's disabled, the header section will not be clickable.\n\nIf you don't need any controls on your accordion heading, then it's advised to use `accordionbutton` component.\n\nIf an accordion is expanded by default, then the screen reader might loose focus when toggling the visibilty of the accordion.",
503
- "name": "Accordion",
504
- "cssProperties": [
505
- {
506
- "description": "The border color of the accordion.",
507
- "name": "--mdc-accordionbutton-border-color",
508
- "inheritedFrom": {
509
- "name": "AccordionButton",
510
- "module": "src/components/accordionbutton/accordionbutton.component.ts"
511
- }
512
- },
513
- {
514
- "description": "The hover color of the accordion.",
515
- "name": "--mdc-accordionbutton-hover-color",
516
- "inheritedFrom": {
517
- "name": "AccordionButton",
518
- "module": "src/components/accordionbutton/accordionbutton.component.ts"
519
- }
520
- },
521
- {
522
- "description": "The active color of the accordion.",
523
- "name": "--mdc-accordionbutton-active-color",
524
- "inheritedFrom": {
525
- "name": "AccordionButton",
526
- "module": "src/components/accordionbutton/accordionbutton.component.ts"
527
- }
528
- },
529
- {
530
- "description": "The disabled color of the accordion.",
531
- "name": "--mdc-accordionbutton-disabled-color",
532
- "inheritedFrom": {
533
- "name": "AccordionButton",
534
- "module": "src/components/accordionbutton/accordionbutton.component.ts"
535
- }
536
- }
537
- ],
538
- "cssParts": [
539
- {
540
- "description": "The body section of the accordion.",
541
- "name": "body-section",
542
- "inheritedFrom": {
543
- "name": "AccordionButton",
544
- "module": "src/components/accordionbutton/accordionbutton.component.ts"
545
- }
546
- },
547
- {
548
- "description": "The header section of the accordion.",
549
- "name": "header-section",
550
- "inheritedFrom": {
551
- "name": "AccordionButton",
552
- "module": "src/components/accordionbutton/accordionbutton.component.ts"
553
- }
554
- },
555
- {
556
- "description": "The leading header of the accordion.",
557
- "name": "leading-header",
558
- "inheritedFrom": {
559
- "name": "AccordionButton",
560
- "module": "src/components/accordionbutton/accordionbutton.component.ts"
561
- }
562
- },
563
- {
564
- "description": "The trailing header of the accordion.",
565
- "name": "trailing-header",
566
- "inheritedFrom": {
567
- "name": "AccordionButton",
568
- "module": "src/components/accordionbutton/accordionbutton.component.ts"
569
- }
570
- },
571
- {
572
- "description": "The trailing header button of the accordion.",
573
- "name": "trailing-header__button"
574
- },
575
- {
576
- "description": "The header button section of the accordion button.",
577
- "name": "header-button-section",
578
- "inheritedFrom": {
579
- "name": "AccordionButton",
580
- "module": "src/components/accordionbutton/accordionbutton.component.ts"
581
- }
582
- },
583
- {
584
- "description": "The trailing header icon of the accordion button.",
585
- "name": "trailing-header__icon",
586
- "inheritedFrom": {
587
- "name": "AccordionButton",
588
- "module": "src/components/accordionbutton/accordionbutton.component.ts"
589
- }
590
- }
591
- ],
592
- "slots": [
593
- {
594
- "description": "The leading controls slot of the accordion on the header section.",
595
- "name": "leading-controls"
596
- },
597
- {
598
- "description": "The trailing controls slot of the accordion on the header section.",
599
- "name": "trailing-controls"
600
- },
601
- {
602
- "description": "The default slot contains the body section of the accordion. User can place anything inside this body slot.",
603
- "name": "default",
604
- "inheritedFrom": {
605
- "name": "AccordionButton",
606
- "module": "src/components/accordionbutton/accordionbutton.component.ts"
607
- }
608
- }
609
- ],
610
- "members": [
611
- {
612
- "kind": "field",
613
- "name": "openButtonAriaLabel",
614
- "type": {
615
- "text": "string | undefined"
616
- },
617
- "description": "Aria-label attribute for the trigger button when accordion is collapsed.",
618
- "attribute": "open-button-aria-label",
619
- "reflects": true
620
- },
621
- {
622
- "kind": "field",
623
- "name": "closeButtonAriaLabel",
624
- "type": {
625
- "text": "string | undefined"
626
- },
627
- "description": "Aria-label attribute for the trigger button when accordion is expanded.",
628
- "attribute": "close-button-aria-label",
629
- "reflects": true
700
+ "kind": "method",
701
+ "name": "renderHeadingText",
702
+ "privacy": "protected",
703
+ "return": {
704
+ "type": {
705
+ "text": "TemplateResult | typeof nothing"
706
+ }
707
+ }
630
708
  },
631
709
  {
632
710
  "kind": "method",
@@ -634,279 +712,55 @@
634
712
  "privacy": "protected",
635
713
  "return": {
636
714
  "type": {
637
- "text": ""
638
- }
639
- },
640
- "description": "Renders the header section of the accordion.\nThis includes the leading icon, text and controls, and the trailing controls.\nThe trailing controls include the expand/collapse button.\nThe button is disabled if the accordion is disabled.\nThe button is also given the aria-controls attribute set to the id of the body section.\nThe button is also given the aria-expanded attribute set to the expanded state of the accordion.\nThe prefix icon of the button is set to the expanded state of the accordion.",
641
- "inheritedFrom": {
642
- "name": "AccordionButton",
643
- "module": "components/accordionbutton/accordionbutton.component.js"
644
- }
645
- },
646
- {
647
- "kind": "field",
648
- "name": "disabled",
649
- "type": {
650
- "text": "boolean | undefined"
651
- },
652
- "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
653
- "default": "undefined",
654
- "attribute": "disabled",
655
- "reflects": true,
656
- "inheritedFrom": {
657
- "name": "AccordionButton",
658
- "module": "components/accordionbutton/accordionbutton.component.js"
659
- }
660
- },
661
- {
662
- "kind": "field",
663
- "name": "size",
664
- "type": {
665
- "text": "Size"
666
- },
667
- "description": "The size of the accordion item.",
668
- "default": "'small'",
669
- "attribute": "size",
670
- "reflects": true,
671
- "inheritedFrom": {
672
- "name": "AccordionButton",
673
- "module": "components/accordionbutton/accordionbutton.component.js"
674
- }
675
- },
676
- {
677
- "kind": "field",
678
- "name": "variant",
679
- "type": {
680
- "text": "Variant"
681
- },
682
- "description": "The variant of the accordion item. Based on the variant, the styling of the accordion gets changed.",
683
- "default": "'default'",
684
- "attribute": "variant",
685
- "reflects": true,
686
- "inheritedFrom": {
687
- "name": "AccordionButton",
688
- "module": "components/accordionbutton/accordionbutton.component.js"
689
- }
690
- },
691
- {
692
- "kind": "field",
693
- "name": "dataAriaLevel",
694
- "type": {
695
- "text": "number"
696
- },
697
- "description": "The aria level of the accordion component.",
698
- "default": "3",
699
- "attribute": "data-aria-level",
700
- "reflects": true,
701
- "inheritedFrom": {
702
- "name": "AccordionButton",
703
- "module": "components/accordionbutton/accordionbutton.component.js"
704
- }
705
- },
706
- {
707
- "kind": "field",
708
- "name": "expanded",
709
- "type": {
710
- "text": "boolean"
711
- },
712
- "description": "The visibility of the accordion button.",
713
- "default": "false",
714
- "attribute": "expanded",
715
- "reflects": true,
716
- "inheritedFrom": {
717
- "name": "AccordionButton",
718
- "module": "components/accordionbutton/accordionbutton.component.js"
719
- }
720
- },
721
- {
722
- "kind": "field",
723
- "name": "headerText",
724
- "type": {
725
- "text": "string | undefined"
726
- },
727
- "description": "The header text of the accordion item.",
728
- "attribute": "header-text",
729
- "reflects": true,
730
- "inheritedFrom": {
731
- "name": "AccordionButton",
732
- "module": "components/accordionbutton/accordionbutton.component.js"
733
- }
734
- },
735
- {
736
- "kind": "field",
737
- "name": "prefixIcon",
738
- "type": {
739
- "text": "IconNames | undefined"
740
- },
741
- "description": "The leading icon that is displayed before the header text.",
742
- "attribute": "prefix-icon",
743
- "inheritedFrom": {
744
- "name": "AccordionButton",
745
- "module": "components/accordionbutton/accordionbutton.component.js"
746
- }
747
- },
748
- {
749
- "kind": "method",
750
- "name": "handleHeaderClick",
751
- "privacy": "protected",
752
- "return": {
753
- "type": {
754
- "text": "void"
755
- }
756
- },
757
- "description": "Handles the click event of the header section.\nIf the accordion is disabled, it will not toggle the expanded state.\nIt will dispatch the `shown` event with the current expanded state.",
758
- "inheritedFrom": {
759
- "name": "AccordionButton",
760
- "module": "components/accordionbutton/accordionbutton.component.js"
761
- }
762
- },
763
- {
764
- "kind": "method",
765
- "name": "dispatchHeaderClickEvent",
766
- "privacy": "private",
767
- "return": {
768
- "type": {
769
- "text": "void"
770
- }
771
- },
772
- "description": "Dispatches the `shown` event with the current expanded state.\nThe event is cancelable and bubbles.\nThe event detail contains the current expanded state.",
773
- "inheritedFrom": {
774
- "name": "AccordionButton",
775
- "module": "components/accordionbutton/accordionbutton.component.js"
776
- }
777
- },
778
- {
779
- "kind": "method",
780
- "name": "handleKeyDown",
781
- "privacy": "private",
782
- "return": {
783
- "type": {
784
- "text": "void"
785
- }
786
- },
787
- "parameters": [
788
- {
789
- "name": "event",
790
- "type": {
791
- "text": "KeyboardEvent"
792
- },
793
- "description": "The KeyboardEvent fired."
794
- }
795
- ],
796
- "description": "Handles the keydown event of the component.\nIf the key pressed is either Enter or Space, it calls the handleHeaderClick method.\nThis allows keyboard users to toggle the accordion button using these keys.",
797
- "inheritedFrom": {
798
- "name": "AccordionButton",
799
- "module": "components/accordionbutton/accordionbutton.component.js"
800
- }
801
- },
802
- {
803
- "kind": "method",
804
- "name": "renderIcon",
805
- "privacy": "protected",
806
- "return": {
807
- "type": {
808
- "text": "TemplateResult | typeof nothing"
809
- }
810
- },
811
- "parameters": [
812
- {
813
- "name": "iconName",
814
- "optional": true,
815
- "type": {
816
- "text": "IconNames"
817
- }
818
- }
819
- ],
820
- "inheritedFrom": {
821
- "name": "AccordionButton",
822
- "module": "components/accordionbutton/accordionbutton.component.js"
823
- }
824
- },
825
- {
826
- "kind": "method",
827
- "name": "renderHeadingText",
828
- "privacy": "protected",
829
- "return": {
830
- "type": {
831
- "text": "TemplateResult | typeof nothing"
832
- }
833
- },
834
- "inheritedFrom": {
835
- "name": "AccordionButton",
836
- "module": "components/accordionbutton/accordionbutton.component.js"
837
- }
838
- },
839
- {
840
- "kind": "method",
841
- "name": "getArrowIconName",
842
- "privacy": "protected",
843
- "return": {
844
- "type": {
845
- "text": ""
846
- }
847
- },
848
- "description": "Returns the icon name based on the expanded state.\nIf the accordion button is disabled, it always returns the arrow down icon.\nOtherwise, it returns the arrow up icon if the accordion button is expanded, otherwise the arrow down icon.",
849
- "inheritedFrom": {
850
- "name": "AccordionButton",
851
- "module": "components/accordionbutton/accordionbutton.component.js"
852
- }
853
- },
854
- {
855
- "kind": "method",
856
- "name": "renderBody",
857
- "privacy": "protected",
858
- "return": {
859
- "type": {
860
- "text": "TemplateResult | typeof nothing"
861
- }
862
- },
863
- "inheritedFrom": {
864
- "name": "AccordionButton",
865
- "module": "components/accordionbutton/accordionbutton.component.js"
866
- }
867
- }
868
- ],
869
- "events": [
870
- {
871
- "description": "(React: onShown) This event is triggered when the accordion is expanded.",
872
- "name": "shown",
873
- "reactName": "onShown",
874
- "inheritedFrom": {
875
- "name": "AccordionButton",
876
- "module": "src/components/accordionbutton/accordionbutton.component.ts"
877
- }
878
- }
879
- ],
880
- "attributes": [
881
- {
882
- "name": "open-button-aria-label",
883
- "type": {
884
- "text": "string | undefined"
885
- },
886
- "description": "Aria-label attribute for the trigger button when accordion is collapsed.",
887
- "fieldName": "openButtonAriaLabel"
715
+ "text": "TemplateResult"
716
+ }
717
+ }
888
718
  },
889
719
  {
890
- "name": "close-button-aria-label",
891
- "type": {
892
- "text": "string | undefined"
720
+ "kind": "method",
721
+ "name": "getArrowIconName",
722
+ "privacy": "protected",
723
+ "return": {
724
+ "type": {
725
+ "text": ""
726
+ }
893
727
  },
894
- "description": "Aria-label attribute for the trigger button when accordion is expanded.",
895
- "fieldName": "closeButtonAriaLabel"
728
+ "description": "Returns the icon name based on the expanded state.\nIf the accordion button is disabled, it always returns the arrow down icon.\nOtherwise, it returns the arrow up icon if the accordion button is expanded, otherwise the arrow down icon."
729
+ },
730
+ {
731
+ "kind": "method",
732
+ "name": "renderBody",
733
+ "privacy": "protected",
734
+ "return": {
735
+ "type": {
736
+ "text": "TemplateResult | typeof nothing"
737
+ }
738
+ }
896
739
  },
897
740
  {
741
+ "kind": "field",
898
742
  "name": "disabled",
899
743
  "type": {
900
744
  "text": "boolean | undefined"
901
745
  },
902
746
  "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
903
747
  "default": "undefined",
904
- "fieldName": "disabled",
748
+ "attribute": "disabled",
749
+ "reflects": true,
905
750
  "inheritedFrom": {
906
- "name": "AccordionButton",
907
- "module": "src/components/accordionbutton/accordionbutton.component.ts"
751
+ "name": "DisabledMixin",
752
+ "module": "utils/mixins/DisabledMixin.js"
908
753
  }
909
- },
754
+ }
755
+ ],
756
+ "events": [
757
+ {
758
+ "description": "(React: onShown) This event is triggered when the accordion button is expanded.",
759
+ "name": "shown",
760
+ "reactName": "onShown"
761
+ }
762
+ ],
763
+ "attributes": [
910
764
  {
911
765
  "name": "size",
912
766
  "type": {
@@ -914,11 +768,7 @@
914
768
  },
915
769
  "description": "The size of the accordion item.",
916
770
  "default": "'small'",
917
- "fieldName": "size",
918
- "inheritedFrom": {
919
- "name": "AccordionButton",
920
- "module": "src/components/accordionbutton/accordionbutton.component.ts"
921
- }
771
+ "fieldName": "size"
922
772
  },
923
773
  {
924
774
  "name": "variant",
@@ -927,11 +777,7 @@
927
777
  },
928
778
  "description": "The variant of the accordion item. Based on the variant, the styling of the accordion gets changed.",
929
779
  "default": "'default'",
930
- "fieldName": "variant",
931
- "inheritedFrom": {
932
- "name": "AccordionButton",
933
- "module": "src/components/accordionbutton/accordionbutton.component.ts"
934
- }
780
+ "fieldName": "variant"
935
781
  },
936
782
  {
937
783
  "name": "data-aria-level",
@@ -940,11 +786,7 @@
940
786
  },
941
787
  "description": "The aria level of the accordion component.",
942
788
  "default": "3",
943
- "fieldName": "dataAriaLevel",
944
- "inheritedFrom": {
945
- "name": "AccordionButton",
946
- "module": "src/components/accordionbutton/accordionbutton.component.ts"
947
- }
789
+ "fieldName": "dataAriaLevel"
948
790
  },
949
791
  {
950
792
  "name": "expanded",
@@ -953,11 +795,7 @@
953
795
  },
954
796
  "description": "The visibility of the accordion button.",
955
797
  "default": "false",
956
- "fieldName": "expanded",
957
- "inheritedFrom": {
958
- "name": "AccordionButton",
959
- "module": "src/components/accordionbutton/accordionbutton.component.ts"
960
- }
798
+ "fieldName": "expanded"
961
799
  },
962
800
  {
963
801
  "name": "header-text",
@@ -965,11 +803,7 @@
965
803
  "text": "string | undefined"
966
804
  },
967
805
  "description": "The header text of the accordion item.",
968
- "fieldName": "headerText",
969
- "inheritedFrom": {
970
- "name": "AccordionButton",
971
- "module": "src/components/accordionbutton/accordionbutton.component.ts"
972
- }
806
+ "fieldName": "headerText"
973
807
  },
974
808
  {
975
809
  "name": "prefix-icon",
@@ -977,19 +811,185 @@
977
811
  "text": "IconNames | undefined"
978
812
  },
979
813
  "description": "The leading icon that is displayed before the header text.",
980
- "fieldName": "prefixIcon",
814
+ "fieldName": "prefixIcon"
815
+ },
816
+ {
817
+ "name": "disabled",
818
+ "type": {
819
+ "text": "boolean | undefined"
820
+ },
821
+ "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
822
+ "default": "undefined",
823
+ "fieldName": "disabled",
981
824
  "inheritedFrom": {
982
- "name": "AccordionButton",
983
- "module": "src/components/accordionbutton/accordionbutton.component.ts"
825
+ "name": "DisabledMixin",
826
+ "module": "src/utils/mixins/DisabledMixin.ts"
984
827
  }
985
828
  }
986
829
  ],
830
+ "mixins": [
831
+ {
832
+ "name": "DisabledMixin",
833
+ "module": "/src/utils/mixins/DisabledMixin"
834
+ }
835
+ ],
987
836
  "superclass": {
837
+ "name": "Component",
838
+ "module": "/src/models"
839
+ },
840
+ "tagName": "mdc-accordionbutton",
841
+ "jsDoc": "/**\n * An accordion button contains a header and body section with optional slots inside the heading which are focusable.\n *\n * The header section contains:\n * - Prefix Icon\n * - Header Text\n *\n * The body section contains:\n * - Default slot - User can place any content inside the body section.\n *\n * The accordion button can be expanded or collapsed. The visibility of the body section can be controlled by `expanded` attribute. <br/>\n * There are two types of variants based on that the border styling of the accordion gets reflected. <br/>\n * There are two sizes of accordion, one is small and the other is large.\n * Small size has a padding of 1rem (16px) and large size has a padding of 1.5rem (24px) for the body section of accordion.\n *\n * By default, the header text in the accordion heading is of H3 with an aria-level of '3'.\n * If this accordion is placed on any other level in the entire webpage, then do adjust the aria-level number based on that.\n *\n * An accordion can be disabled, and when it's disabled, the header section will not be clickable.\n *\n * If you do need any controls on your accordion heading, then it's advised to use `accordion` component.\n *\n * If an accordion button is expanded by default, then the screen reader might loose focus when toggling the visibilty of the accordion button.\n *\n * @tagname mdc-accordionbutton\n *\n * @dependency mdc-button\n * @dependency mdc-icon\n * @dependency mdc-text\n *\n * @slot default - The default slot contains the body section of the accordion. User can place anything inside this body slot.\n *\n * @event shown - (React: onShown) This event is triggered when the accordion button is expanded.\n *\n * @cssproperty --mdc-accordionbutton-border-color - The border color of the accordion button.\n * @cssproperty --mdc-accordionbutton-hover-color - The hover color of the accordion button.\n * @cssproperty --mdc-accordionbutton-active-color - The active color of the accordion button.\n * @cssproperty --mdc-accordionbutton-disabled-color - The disabled color of the accordion button.\n *\n * @csspart body-section - The body section of the accordion button.\n * @csspart header-button-section - The header button section of the accordion button.\n * @csspart header-section - The header section of the accordion button.\n * @csspart leading-header - The leading header of the accordion button.\n * @csspart trailing-header - The trailing header of the accordion button.\n * @csspart trailing-header__icon - The trailing header icon of the accordion button.\n */",
842
+ "customElement": true
843
+ }
844
+ ],
845
+ "exports": [
846
+ {
847
+ "kind": "js",
848
+ "name": "default",
849
+ "declaration": {
988
850
  "name": "AccordionButton",
989
- "module": "/src/components/accordionbutton/accordionbutton.component"
851
+ "module": "components/accordionbutton/accordionbutton.component.js"
852
+ }
853
+ }
854
+ ]
855
+ },
856
+ {
857
+ "kind": "javascript-module",
858
+ "path": "components/accordiongroup/accordiongroup.component.js",
859
+ "declarations": [
860
+ {
861
+ "kind": "class",
862
+ "description": "An accordion group is a vertically stacked set of interactive headings that each contain a header and body content.\nEach heading of the accordion acts as a control that enable users to expand or hide their associated body sections of content.\nAccordions are commonly used to reduce the need to scroll when presenting multiple sections of content on a single page.\n\n- Default Slot: The accordion group component only accepts, `accordion` and `accordionbutton` components as the children, rest are ignored.\n\nThere are three types of variants:\n- Stacked - Each accordion will have a gap of 1.5rem (24px).\n- Borderless - Each accordion will not have any border and the group will also not have any border.\n- Contained - Each accordion will have no gap in between them and the border of the entire accordiongroup will be continuous.\n\nThere are two types of sizes:\n- Small: Small size has a padding of 1rem (16px) for both heading and body sections.\n- Large: Large size has a padding of 1.5rem (24px) for both heading and body sections.\n\nThe variant and size will be applied to all accordions inside this accordion group.\nTo show/expand more than one accordion at any given time, then set `allow-multiple` to `true`. By default, it's `false`.\n\nIf you don't need any controls on your accordion heading, then it's advised to use `accordionbutton` component.\n\nIf the first accordion of the accordion group is expanded by default, then the screen reader might loose focus when toggling the visibilty of the first accordion.",
863
+ "name": "AccordionGroup",
864
+ "cssProperties": [
865
+ {
866
+ "description": "The border color of the entire accordiongroup",
867
+ "name": "--mdc-accordiongroup-border-color"
868
+ }
869
+ ],
870
+ "slots": [
871
+ {
872
+ "description": "The default slot can contain the `accordion` or `accordionbutton` components.",
873
+ "name": "default"
874
+ }
875
+ ],
876
+ "members": [
877
+ {
878
+ "kind": "field",
879
+ "name": "size",
880
+ "type": {
881
+ "text": "Size"
882
+ },
883
+ "description": "The size of the accordion item.",
884
+ "default": "'small'",
885
+ "attribute": "size",
886
+ "reflects": true
887
+ },
888
+ {
889
+ "kind": "field",
890
+ "name": "variant",
891
+ "type": {
892
+ "text": "Variant"
893
+ },
894
+ "description": "The variant of the accordion item. Based on the variant, the styling of the accordion gets changed.",
895
+ "default": "'stacked'",
896
+ "attribute": "variant",
897
+ "reflects": true
898
+ },
899
+ {
900
+ "kind": "field",
901
+ "name": "allowMultiple",
902
+ "type": {
903
+ "text": "boolean"
904
+ },
905
+ "default": "false",
906
+ "description": "If true, multiple accordion items can be visible at the same time.",
907
+ "attribute": "allow-multiple",
908
+ "reflects": true
909
+ },
910
+ {
911
+ "kind": "method",
912
+ "name": "handleAccordionExpanded",
913
+ "privacy": "private",
914
+ "return": {
915
+ "type": {
916
+ "text": "void"
917
+ }
918
+ },
919
+ "parameters": [
920
+ {
921
+ "name": "event",
922
+ "type": {
923
+ "text": "Event"
924
+ },
925
+ "description": "The event object from the 'shown' event."
926
+ }
927
+ ],
928
+ "description": "Handles the 'shown' event for accordion items.\nIf `allowMultiple` is false, ensures that only one accordion item\nremains expanded by collapsing all other expanded items when a new item is expanded."
929
+ },
930
+ {
931
+ "kind": "method",
932
+ "name": "setChildrenAccordionAttributes",
933
+ "privacy": "private",
934
+ "return": {
935
+ "type": {
936
+ "text": "void"
937
+ }
938
+ },
939
+ "parameters": [
940
+ {
941
+ "name": "attributeName",
942
+ "type": {
943
+ "text": "string"
944
+ },
945
+ "description": "The name of the attribute to set."
946
+ },
947
+ {
948
+ "name": "attributeValue",
949
+ "type": {
950
+ "text": "string"
951
+ },
952
+ "description": "The value to set the attribute to."
953
+ }
954
+ ],
955
+ "description": "Sets the given attribute on all child accordion or accordionbutton components."
956
+ }
957
+ ],
958
+ "attributes": [
959
+ {
960
+ "name": "size",
961
+ "type": {
962
+ "text": "Size"
963
+ },
964
+ "description": "The size of the accordion item.",
965
+ "default": "'small'",
966
+ "fieldName": "size"
967
+ },
968
+ {
969
+ "name": "variant",
970
+ "type": {
971
+ "text": "Variant"
972
+ },
973
+ "description": "The variant of the accordion item. Based on the variant, the styling of the accordion gets changed.",
974
+ "default": "'stacked'",
975
+ "fieldName": "variant"
976
+ },
977
+ {
978
+ "name": "allow-multiple",
979
+ "type": {
980
+ "text": "boolean"
981
+ },
982
+ "default": "false",
983
+ "description": "If true, multiple accordion items can be visible at the same time.",
984
+ "fieldName": "allowMultiple"
985
+ }
986
+ ],
987
+ "superclass": {
988
+ "name": "Component",
989
+ "module": "/src/models"
990
990
  },
991
- "tagName": "mdc-accordion",
992
- "jsDoc": "/**\n * An accordion contains a header and body section with a focusable heading that can be expanded or collapsed.\n *\n * The header section contains:\n * - Prefix Icon\n * - Header Text\n * - Leading Slot - Contains the leading controls of the accordion on the header section. This will be placed on the leading side, after the header text.\n * - Trailing Slot - Contains the trailing controls of the accordion on the header section. This will be placed on the trailing side, before the expand/collapse button.\n *\n * The body section contains:\n * - Default slot - User can place any content inside the body section.\n *\n * The accordion can be expanded or collapsed. The visibility of the body section can be controlled by `expanded` attribute. <br/>\n * There are two types of variants based on that the border styling of the accordion gets reflected. <br/>\n * There are two sizes of accordion, one is small and the other is large.\n * Small size has a padding of 1rem (16px) and large size has a padding of 1.5rem (24px) for the body section of accordion.\n *\n * By default, the header text in the accordion heading is of H3 with an aria-level of '3'.\n * If this accordion is placed on any other level in the entire webpage, then do adjust the aria-level number based on that.\n *\n * An accordion can be disabled, and when it's disabled, the header section will not be clickable.\n *\n * If you don't need any controls on your accordion heading, then it's advised to use `accordionbutton` component.\n *\n * If an accordion is expanded by default, then the screen reader might loose focus when toggling the visibilty of the accordion.\n *\n * @tagname mdc-accordion\n *\n * @dependency mdc-button\n * @dependency mdc-icon\n * @dependency mdc-text\n *\n * @slot leading-controls - The leading controls slot of the accordion on the header section.\n * @slot trailing-controls - The trailing controls slot of the accordion on the header section.\n * @slot default - The default slot contains the body section of the accordion. User can place anything inside this body slot.\n *\n * @event shown - (React: onShown) This event is triggered when the accordion is expanded.\n *\n * @cssproperty --mdc-accordionbutton-border-color - The border color of the accordion.\n * @cssproperty --mdc-accordionbutton-hover-color - The hover color of the accordion.\n * @cssproperty --mdc-accordionbutton-active-color - The active color of the accordion.\n * @cssproperty --mdc-accordionbutton-disabled-color - The disabled color of the accordion.\n *\n * @csspart body-section - The body section of the accordion.\n * @csspart header-section - The header section of the accordion.\n * @csspart leading-header - The leading header of the accordion.\n * @csspart trailing-header - The trailing header of the accordion.\n * @csspart trailing-header__button - The trailing header button of the accordion.\n */",
991
+ "tagName": "mdc-accordiongroup",
992
+ "jsDoc": "/**\n * An accordion group is a vertically stacked set of interactive headings that each contain a header and body content.\n * Each heading of the accordion acts as a control that enable users to expand or hide their associated body sections of content.\n * Accordions are commonly used to reduce the need to scroll when presenting multiple sections of content on a single page.\n *\n * - Default Slot: The accordion group component only accepts, `accordion` and `accordionbutton` components as the children, rest are ignored.\n *\n * There are three types of variants:\n * - Stacked - Each accordion will have a gap of 1.5rem (24px).\n * - Borderless - Each accordion will not have any border and the group will also not have any border.\n * - Contained - Each accordion will have no gap in between them and the border of the entire accordiongroup will be continuous.\n *\n * There are two types of sizes:\n * - Small: Small size has a padding of 1rem (16px) for both heading and body sections.\n * - Large: Large size has a padding of 1.5rem (24px) for both heading and body sections.\n *\n * The variant and size will be applied to all accordions inside this accordion group.\n * To show/expand more than one accordion at any given time, then set `allow-multiple` to `true`. By default, it's `false`.\n *\n * If you don't need any controls on your accordion heading, then it's advised to use `accordionbutton` component.\n *\n * If the first accordion of the accordion group is expanded by default, then the screen reader might loose focus when toggling the visibilty of the first accordion.\n *\n * @tagname mdc-accordiongroup\n *\n * @slot default - The default slot can contain the `accordion` or `accordionbutton` components.\n *\n * @cssproperty --mdc-accordiongroup-border-color - The border color of the entire accordiongroup\n */",
993
993
  "customElement": true
994
994
  }
995
995
  ],
@@ -998,8 +998,8 @@
998
998
  "kind": "js",
999
999
  "name": "default",
1000
1000
  "declaration": {
1001
- "name": "Accordion",
1002
- "module": "components/accordion/accordion.component.js"
1001
+ "name": "AccordionGroup",
1002
+ "module": "components/accordiongroup/accordiongroup.component.js"
1003
1003
  }
1004
1004
  }
1005
1005
  ]