@momentum-design/components 0.16.12 → 0.16.13

Sign up to get free protection for your applications and to get access to all the features.
@@ -244,798 +244,798 @@
244
244
  },
245
245
  {
246
246
  "kind": "javascript-module",
247
- "path": "components/badge/badge.component.js",
247
+ "path": "components/avatarbutton/avatarbutton.component.js",
248
248
  "declarations": [
249
249
  {
250
250
  "kind": "class",
251
- "description": "The `mdc-badge` component is a versatile UI element used to\ndisplay dot, icons, counters, success, warning and error type badge.\n\nSupported badge types:\n- `dot`: Displays a dot notification badge with a blue color.\n- `icon`: Displays a badge with a specified icon using the `icon-name` attribute.\n- `counter`: Displays a badge with a counter value. If the counter exceeds the `max-counter`,\nit shows `maxCounter+`. The maximum value of the counter is 999 and anything above that will be set to `999+`.\n- `success`: Displays a success badge with a check circle icon and green color.\n- `warning`: Displays a warning badge with a warning icon and yellow color.\n- `error`: Displays a error badge with a error legacy icon and red color.\n\nFor `icon`, `success`, `warning` and `error` types, the `mdc-icon` component is used to render the icon.\n\nFor the `counter` type, the `mdc-text` component is used to render the counter value.",
252
- "name": "Badge",
251
+ "description": "The `mdc-avatarbutton` component is an interactable version of the `mdc-avatar` component.\n\nThis component is made by extending `buttonsimple` class.\nThe button component acts as a wrapper for the avatar component.",
252
+ "name": "AvatarButton",
253
253
  "members": [
254
254
  {
255
255
  "kind": "field",
256
- "name": "type",
256
+ "name": "ariaLabel",
257
257
  "type": {
258
- "text": "BadgeType | undefined"
258
+ "text": "string | null"
259
259
  },
260
- "description": "Type of the badge\nCan be `dot` (notification) , `icon`, `counter`, `success`, `warning` or `error`.",
261
- "attribute": "type",
262
- "reflects": true
260
+ "default": "null",
261
+ "description": "Aria-label attribute to be set for accessibility",
262
+ "attribute": "aria-label"
263
263
  },
264
264
  {
265
- "kind": "field",
266
- "name": "iconName",
267
- "type": {
268
- "text": "IconNames | undefined"
269
- },
270
- "description": "Name of the icon (= filename).\n\nIf no `icon-name` is provided, no icon will be rendered.",
271
- "attribute": "icon-name"
265
+ "kind": "method",
266
+ "name": "setSize",
267
+ "privacy": "private",
268
+ "parameters": [
269
+ {
270
+ "name": "size",
271
+ "type": {
272
+ "text": "AvatarSize"
273
+ }
274
+ }
275
+ ]
272
276
  },
273
277
  {
274
278
  "kind": "field",
275
- "name": "variant",
279
+ "name": "active",
276
280
  "type": {
277
- "text": "IconVariant"
281
+ "text": "boolean"
278
282
  },
279
- "description": "Type of the variant can be `primary` or `secondary`.\nIt defines the background and foreground color of the icon.",
280
- "default": "primary",
281
- "attribute": "variant",
282
- "reflects": true
283
+ "default": "undefined as unknown",
284
+ "description": "The button's active state indicates whether it is currently toggled on (active) or off (inactive).\nWhen the active state is true, the button is considered to be in an active state, meaning it is toggled on.\nConversely, when the active state is false, the button is in an inactive state, indicating it is toggled off.",
285
+ "attribute": "active",
286
+ "inheritedFrom": {
287
+ "name": "Buttonsimple",
288
+ "module": "components/buttonsimple/buttonsimple.component.js"
289
+ }
283
290
  },
284
291
  {
285
292
  "kind": "field",
286
- "name": "counter",
293
+ "name": "disabled",
287
294
  "type": {
288
- "text": "number | undefined"
295
+ "text": "boolean"
289
296
  },
290
- "description": "Counter is the number which can be provided in the badge.",
291
- "attribute": "counter"
297
+ "default": "undefined as unknown",
298
+ "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
299
+ "attribute": "disabled",
300
+ "reflects": true,
301
+ "inheritedFrom": {
302
+ "name": "DisabledMixin",
303
+ "module": "utils/mixins/DisabledMixin.js"
304
+ }
292
305
  },
293
306
  {
294
307
  "kind": "field",
295
- "name": "maxCounter",
308
+ "name": "softDisabled",
296
309
  "type": {
297
- "text": "number"
310
+ "text": "boolean"
298
311
  },
299
- "description": "The maximum number can be set up to 999, anything above that will be rendered as _999+_.\nThe max counter can be `9`, `99` or `999`.",
300
- "default": "99",
301
- "attribute": "max-counter",
302
- "reflects": true
312
+ "default": "undefined as unknown",
313
+ "description": "Indicates whether the button is soft disabled.\nWhen set to `true`, the button appears visually disabled but still allows\nfocus, click, and keyboard actions to be passed through.\n\n**Important:** When using soft disabled, consumers must ensure that\nthe button behaves like a disabled button, allowing only focus and\npreventing any interactions (clicks or keyboard actions) from triggering unintended actions.",
314
+ "attribute": "soft-disabled",
315
+ "inheritedFrom": {
316
+ "name": "Buttonsimple",
317
+ "module": "components/buttonsimple/buttonsimple.component.js"
318
+ }
303
319
  },
304
320
  {
305
321
  "kind": "field",
306
- "name": "overlay",
322
+ "name": "role",
323
+ "description": "This property defines the ARIA role for the element. By default, it is set to 'button'.\nConsumers should override this role when:\n- The element is being used in a context where a different role is more appropriate.\n- Custom behaviors are implemented that require a specific ARIA role for accessibility purposes.",
324
+ "default": "'button'",
325
+ "attribute": "role",
326
+ "reflects": true,
307
327
  "type": {
308
- "text": "boolean"
328
+ "text": "string"
309
329
  },
310
- "default": "false",
311
- "description": "Overlay is to add a thin outline to the badge.\nThis will help distinguish between the badge and the button,\nwhere the badge will be layered on top of a button.",
312
- "attribute": "overlay"
330
+ "inheritedFrom": {
331
+ "name": "Buttonsimple",
332
+ "module": "components/buttonsimple/buttonsimple.component.js"
333
+ }
313
334
  },
314
335
  {
315
336
  "kind": "field",
316
- "name": "ariaLabel",
337
+ "name": "type",
317
338
  "type": {
318
- "text": "string | null"
319
- },
320
- "default": "null",
321
- "description": "Aria-label attribute to be set for accessibility",
322
- "attribute": "aria-label"
323
- },
324
- {
325
- "kind": "method",
326
- "name": "getCounterText",
327
- "privacy": "private",
328
- "return": {
329
- "type": {
330
- "text": ""
331
- }
332
- },
333
- "parameters": [
334
- {
335
- "name": "maxCounter",
336
- "type": {
337
- "text": "number"
338
- },
339
- "description": "the maximum limit which can be displayed on the badge"
340
- },
341
- {
342
- "name": "counter",
343
- "optional": true,
344
- "type": {
345
- "text": "number"
346
- },
347
- "description": "the number to be displayed on the badge"
348
- }
349
- ],
350
- "description": "If `type` is set to `counter` and if `counter` is greater than `maxCounter`,\nthen it will return a string the maxCounter value as string.\nOtherwise, it will return a string representation of `counter`.\nIf `counter` is not a number, it will return an empty string."
351
- },
352
- {
353
- "kind": "method",
354
- "name": "getBadgeIcon",
355
- "privacy": "private",
356
- "return": {
357
- "type": {
358
- "text": ""
359
- }
360
- },
361
- "parameters": [
362
- {
363
- "name": "iconName",
364
- "type": {
365
- "text": "string"
366
- },
367
- "description": "the name of the icon from the icon set"
368
- },
369
- {
370
- "name": "backgroundClassPostfix",
371
- "type": {
372
- "text": "string"
373
- },
374
- "description": "postfix for the class to style the badge icon."
375
- }
376
- ],
377
- "description": "Method to generate the badge icon."
378
- },
379
- {
380
- "kind": "method",
381
- "name": "getBadgeDot",
382
- "privacy": "private",
383
- "return": {
384
- "type": {
385
- "text": ""
386
- }
339
+ "text": "ButtonType"
387
340
  },
388
- "description": "Method to generate the badge dot template."
341
+ "description": "This property defines the type attribute for the button element.\nThe type attribute specifies the behavior of the button when it is clicked.\n- **submit**: The button submits the form data to the server.\n- **reset**: The button resets the form data to its initial state.\n- **button**: The button does nothing when clicked.",
342
+ "default": "button",
343
+ "attribute": "type",
344
+ "reflects": true,
345
+ "inheritedFrom": {
346
+ "name": "Buttonsimple",
347
+ "module": "components/buttonsimple/buttonsimple.component.js"
348
+ }
389
349
  },
390
350
  {
391
- "kind": "method",
392
- "name": "getBadgeCounterText",
393
- "privacy": "private",
394
- "return": {
395
- "type": {
396
- "text": ""
397
- }
351
+ "kind": "field",
352
+ "name": "src",
353
+ "type": {
354
+ "text": "string | undefined"
398
355
  },
399
- "description": "Method to generate the badge text and counter template."
356
+ "description": "The src is the url which will be used to display the avatar.\nWhen the src is loading, we will display the initials as a placeholder.",
357
+ "attribute": "src",
358
+ "inheritedFrom": {
359
+ "name": "AvatarComponentMixin",
360
+ "module": "utils/mixins/AvatarComponentMixin.js"
361
+ }
400
362
  },
401
363
  {
402
- "kind": "method",
403
- "name": "setRoleByAriaLabel",
404
- "privacy": "private",
405
- "return": {
406
- "type": {
407
- "text": "void"
408
- }
364
+ "kind": "field",
365
+ "name": "initials",
366
+ "type": {
367
+ "text": "string | undefined"
409
368
  },
410
- "description": "Method to set the role based on the aria-label provided.\nIf the aria-label is provided, the role of the element will be 'img'.\nOtherwise, the role will be null."
369
+ "description": "The initials to be displayed for the avatar.",
370
+ "attribute": "initials",
371
+ "inheritedFrom": {
372
+ "name": "AvatarComponentMixin",
373
+ "module": "utils/mixins/AvatarComponentMixin.js"
374
+ }
411
375
  },
412
376
  {
413
- "kind": "method",
414
- "name": "getBadgeContentBasedOnType",
415
- "privacy": "private",
416
- "return": {
417
- "type": {
418
- "text": ""
419
- }
420
- },
421
- "description": "Generates the badge content based on the badge type.\nUtilizes various helper methods to create the appropriate badge template based on the\ncurrent badge type. Supports 'dot', 'icon', 'counter', 'success', 'warning', and 'error'\ntypes, returning the corresponding template result for each type."
422
- }
423
- ],
424
- "attributes": [
425
- {
426
- "name": "type",
377
+ "kind": "field",
378
+ "name": "presence",
427
379
  "type": {
428
- "text": "BadgeType | undefined"
380
+ "text": "PresenceType | undefined"
429
381
  },
430
- "description": "Type of the badge\nCan be `dot` (notification) , `icon`, `counter`, `success`, `warning` or `error`.",
431
- "fieldName": "type"
382
+ "description": "The presence is the status which can be used to display the\nactivity state of a user or a space within an avatar component.\n\nAcceptable values include:\n- `active`\n- `away`\n- `away-calling`\n- `busy`\n- `dnd`\n- `meeting`\n- `on-call`\n- `on-device`\n- `on-mobile`\n- `pause`\n- `pto`\n- `presenting`\n- `quiet`\n- `scheduled`",
383
+ "attribute": "presence",
384
+ "inheritedFrom": {
385
+ "name": "AvatarComponentMixin",
386
+ "module": "utils/mixins/AvatarComponentMixin.js"
387
+ }
432
388
  },
433
389
  {
434
- "name": "icon-name",
390
+ "kind": "field",
391
+ "name": "size",
435
392
  "type": {
436
- "text": "IconNames | undefined"
393
+ "text": "ButtonSize"
437
394
  },
438
- "description": "Name of the icon (= filename).\n\nIf no `icon-name` is provided, no icon will be rendered.",
439
- "fieldName": "iconName"
395
+ "description": "Acceptable values include (size in px unit):\n- 24\n- 32\n- 48\n- 64\n- 72\n- 88\n- 124",
396
+ "default": "32",
397
+ "attribute": "size",
398
+ "reflects": true,
399
+ "inheritedFrom": {
400
+ "name": "Buttonsimple",
401
+ "module": "components/buttonsimple/buttonsimple.component.js"
402
+ }
440
403
  },
441
404
  {
442
- "name": "variant",
405
+ "kind": "field",
406
+ "name": "iconName",
443
407
  "type": {
444
- "text": "IconVariant"
408
+ "text": "IconNames | undefined"
445
409
  },
446
- "description": "Type of the variant can be `primary` or `secondary`.\nIt defines the background and foreground color of the icon.",
447
- "default": "primary",
448
- "fieldName": "variant"
410
+ "description": "Name of the icon to be displayed inside the Avatar.\nMust be a valid icon name.",
411
+ "attribute": "icon-name",
412
+ "inheritedFrom": {
413
+ "name": "AvatarComponentMixin",
414
+ "module": "utils/mixins/AvatarComponentMixin.js"
415
+ }
449
416
  },
450
417
  {
418
+ "kind": "field",
451
419
  "name": "counter",
452
420
  "type": {
453
421
  "text": "number | undefined"
454
422
  },
455
- "description": "Counter is the number which can be provided in the badge.",
456
- "fieldName": "counter"
457
- },
458
- {
459
- "name": "max-counter",
460
- "type": {
461
- "text": "number"
462
- },
463
- "description": "The maximum number can be set up to 999, anything above that will be rendered as _999+_.\nThe max counter can be `9`, `99` or `999`.",
464
- "default": "99",
465
- "fieldName": "maxCounter"
423
+ "description": "The counter is the number which can be displayed on the avatar.\nThe maximum number is 99 and if the given number is greater than 99,\nthen the avatar will be displayed as `99+`.\nIf the given number is a negative number,\nthen the avatar will be displayed as `0`.",
424
+ "attribute": "counter",
425
+ "inheritedFrom": {
426
+ "name": "AvatarComponentMixin",
427
+ "module": "utils/mixins/AvatarComponentMixin.js"
428
+ }
466
429
  },
467
430
  {
468
- "name": "overlay",
431
+ "kind": "field",
432
+ "name": "isTyping",
469
433
  "type": {
470
434
  "text": "boolean"
471
435
  },
472
436
  "default": "false",
473
- "description": "Overlay is to add a thin outline to the badge.\nThis will help distinguish between the badge and the button,\nwhere the badge will be layered on top of a button.",
474
- "fieldName": "overlay"
437
+ "description": "Represents the typing indicator when the user is typing.",
438
+ "attribute": "is-typing",
439
+ "inheritedFrom": {
440
+ "name": "AvatarComponentMixin",
441
+ "module": "utils/mixins/AvatarComponentMixin.js"
442
+ }
475
443
  },
476
- {
477
- "name": "aria-label",
478
- "type": {
479
- "text": "string | null"
480
- },
481
- "default": "null",
482
- "description": "Aria-label attribute to be set for accessibility",
483
- "fieldName": "ariaLabel"
484
- }
485
- ],
486
- "superclass": {
487
- "name": "Component",
488
- "module": "/src/models"
489
- },
490
- "tagName": "mdc-badge",
491
- "jsDoc": "/**\n * The `mdc-badge` component is a versatile UI element used to\n * display dot, icons, counters, success, warning and error type badge.\n *\n * Supported badge types:\n * - `dot`: Displays a dot notification badge with a blue color.\n * - `icon`: Displays a badge with a specified icon using the `icon-name` attribute.\n * - `counter`: Displays a badge with a counter value. If the counter exceeds the `max-counter`,\n * it shows `maxCounter+`. The maximum value of the counter is 999 and anything above that will be set to `999+`.\n * - `success`: Displays a success badge with a check circle icon and green color.\n * - `warning`: Displays a warning badge with a warning icon and yellow color.\n * - `error`: Displays a error badge with a error legacy icon and red color.\n *\n * For `icon`, `success`, `warning` and `error` types, the `mdc-icon` component is used to render the icon.\n *\n * For the `counter` type, the `mdc-text` component is used to render the counter value.\n *\n * @dependency mdc-icon\n * @dependency mdc-text\n *\n * @tagname mdc-badge\n */",
492
- "customElement": true
493
- }
494
- ],
495
- "exports": [
496
- {
497
- "kind": "js",
498
- "name": "default",
499
- "declaration": {
500
- "name": "Badge",
501
- "module": "components/badge/badge.component.js"
502
- }
503
- }
504
- ]
505
- },
506
- {
507
- "kind": "javascript-module",
508
- "path": "components/avatarbutton/avatarbutton.component.js",
509
- "declarations": [
510
- {
511
- "kind": "class",
512
- "description": "The `mdc-avatarbutton` component is an interactable version of the `mdc-avatar` component.\n\nThis component is made by extending `buttonsimple` class.\nThe button component acts as a wrapper for the avatar component.",
513
- "name": "AvatarButton",
514
- "members": [
515
444
  {
516
445
  "kind": "field",
517
- "name": "ariaLabel",
446
+ "name": "tabIndex",
518
447
  "type": {
519
- "text": "string | null"
448
+ "text": "number"
520
449
  },
521
- "default": "null",
522
- "description": "Aria-label attribute to be set for accessibility",
523
- "attribute": "aria-label"
450
+ "default": "0",
451
+ "description": "This property specifies the tab order of the element.",
452
+ "attribute": "tabIndex",
453
+ "reflects": true,
454
+ "inheritedFrom": {
455
+ "name": "TabIndexMixin",
456
+ "module": "utils/mixins/TabIndexMixin.js"
457
+ }
524
458
  },
525
459
  {
526
460
  "kind": "method",
527
- "name": "setSize",
461
+ "name": "executeAction",
462
+ "privacy": "private",
463
+ "inheritedFrom": {
464
+ "name": "Buttonsimple",
465
+ "module": "components/buttonsimple/buttonsimple.component.js"
466
+ }
467
+ },
468
+ {
469
+ "kind": "method",
470
+ "name": "setAriaPressed",
528
471
  "privacy": "private",
529
472
  "parameters": [
530
473
  {
531
- "name": "size",
474
+ "name": "element",
532
475
  "type": {
533
- "text": "AvatarSize"
534
- }
476
+ "text": "HTMLElement"
477
+ },
478
+ "description": "The target element."
479
+ },
480
+ {
481
+ "name": "active",
482
+ "type": {
483
+ "text": "boolean"
484
+ },
485
+ "description": "The active state."
535
486
  }
536
- ]
487
+ ],
488
+ "description": "Sets the aria-pressed attribute based on the active state.",
489
+ "inheritedFrom": {
490
+ "name": "Buttonsimple",
491
+ "module": "components/buttonsimple/buttonsimple.component.js"
492
+ }
537
493
  },
538
494
  {
539
- "kind": "field",
540
- "name": "active",
541
- "type": {
542
- "text": "boolean"
543
- },
544
- "default": "undefined as unknown",
545
- "description": "The button's active state indicates whether it is currently toggled on (active) or off (inactive).\nWhen the active state is true, the button is considered to be in an active state, meaning it is toggled on.\nConversely, when the active state is false, the button is in an inactive state, indicating it is toggled off.",
546
- "attribute": "active",
495
+ "kind": "method",
496
+ "name": "setSoftDisabled",
497
+ "privacy": "private",
498
+ "parameters": [
499
+ {
500
+ "name": "element",
501
+ "type": {
502
+ "text": "HTMLElement"
503
+ },
504
+ "description": "The button element."
505
+ },
506
+ {
507
+ "name": "softDisabled",
508
+ "type": {
509
+ "text": "boolean"
510
+ },
511
+ "description": "The soft-disabled state."
512
+ }
513
+ ],
514
+ "description": "Sets the soft-disabled attribute for the button.\nWhen soft-disabled, the button looks to be disabled but remains focusable and clickable.\nAlso sets/removes aria-disabled attribute.",
547
515
  "inheritedFrom": {
548
516
  "name": "Buttonsimple",
549
517
  "module": "components/buttonsimple/buttonsimple.component.js"
550
518
  }
551
519
  },
552
520
  {
553
- "kind": "field",
554
- "name": "disabled",
555
- "type": {
556
- "text": "boolean"
557
- },
558
- "default": "undefined as unknown",
559
- "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
560
- "attribute": "disabled",
561
- "reflects": true,
521
+ "kind": "method",
522
+ "name": "setDisabled",
523
+ "privacy": "private",
524
+ "parameters": [
525
+ {
526
+ "name": "element",
527
+ "type": {
528
+ "text": "HTMLElement"
529
+ },
530
+ "description": "The button element."
531
+ },
532
+ {
533
+ "name": "disabled",
534
+ "type": {
535
+ "text": "boolean"
536
+ },
537
+ "description": "The disabled state."
538
+ }
539
+ ],
540
+ "description": "Sets the disabled attribute for the button.\nWhen disabled, the button is not focusable or clickable, and tabindex is set to -1.\nThe previous tabindex is stored and restored when enabled.\nAlso sets/removes aria-disabled attribute.",
562
541
  "inheritedFrom": {
563
- "name": "DisabledMixin",
564
- "module": "utils/mixins/DisabledMixin.js"
542
+ "name": "Buttonsimple",
543
+ "module": "components/buttonsimple/buttonsimple.component.js"
565
544
  }
566
545
  },
567
546
  {
568
- "kind": "field",
569
- "name": "softDisabled",
570
- "type": {
571
- "text": "boolean"
572
- },
573
- "default": "undefined as unknown",
574
- "description": "Indicates whether the button is soft disabled.\nWhen set to `true`, the button appears visually disabled but still allows\nfocus, click, and keyboard actions to be passed through.\n\n**Important:** When using soft disabled, consumers must ensure that\nthe button behaves like a disabled button, allowing only focus and\npreventing any interactions (clicks or keyboard actions) from triggering unintended actions.",
575
- "attribute": "soft-disabled",
547
+ "kind": "method",
548
+ "name": "triggerClickEvent",
549
+ "privacy": "private",
576
550
  "inheritedFrom": {
577
551
  "name": "Buttonsimple",
578
552
  "module": "components/buttonsimple/buttonsimple.component.js"
579
553
  }
580
554
  },
581
555
  {
582
- "kind": "field",
583
- "name": "role",
584
- "description": "This property defines the ARIA role for the element. By default, it is set to 'button'.\nConsumers should override this role when:\n- The element is being used in a context where a different role is more appropriate.\n- Custom behaviors are implemented that require a specific ARIA role for accessibility purposes.",
585
- "default": "'button'",
586
- "attribute": "role",
587
- "reflects": true,
588
- "type": {
589
- "text": "string"
590
- },
556
+ "kind": "method",
557
+ "name": "handleKeyDown",
558
+ "privacy": "private",
559
+ "parameters": [
560
+ {
561
+ "name": "event",
562
+ "type": {
563
+ "text": "KeyboardEvent"
564
+ },
565
+ "description": "The keyboard event."
566
+ }
567
+ ],
568
+ "description": "Handles the keydown event on the button.\nIf the key is 'Enter' or 'Space', the button is pressed.\nIf the key is 'Enter', the button is pressed. The native HTML button works in the same way.",
569
+ "inheritedFrom": {
570
+ "name": "Buttonsimple",
571
+ "module": "components/buttonsimple/buttonsimple.component.js"
572
+ }
573
+ },
574
+ {
575
+ "kind": "method",
576
+ "name": "handleKeyUp",
577
+ "privacy": "private",
578
+ "parameters": [
579
+ {
580
+ "name": "event",
581
+ "type": {
582
+ "text": "KeyboardEvent"
583
+ },
584
+ "description": "The keyboard event."
585
+ }
586
+ ],
587
+ "description": "Handles the keyup event on the button.\nIf the key is 'Enter' or 'Space', the button is clicked.\nIf the key is 'Space', the button is pressed. The native HTML button works in the same way.",
591
588
  "inheritedFrom": {
592
589
  "name": "Buttonsimple",
593
590
  "module": "components/buttonsimple/buttonsimple.component.js"
594
591
  }
595
- },
592
+ }
593
+ ],
594
+ "attributes": [
596
595
  {
597
- "kind": "field",
598
- "name": "type",
596
+ "name": "aria-label",
599
597
  "type": {
600
- "text": "ButtonType"
598
+ "text": "string | null"
601
599
  },
602
- "description": "This property defines the type attribute for the button element.\nThe type attribute specifies the behavior of the button when it is clicked.\n- **submit**: The button submits the form data to the server.\n- **reset**: The button resets the form data to its initial state.\n- **button**: The button does nothing when clicked.",
603
- "default": "button",
604
- "attribute": "type",
605
- "reflects": true,
606
- "inheritedFrom": {
607
- "name": "Buttonsimple",
608
- "module": "components/buttonsimple/buttonsimple.component.js"
609
- }
600
+ "default": "null",
601
+ "description": "Aria-label attribute to be set for accessibility",
602
+ "fieldName": "ariaLabel"
610
603
  },
611
604
  {
612
- "kind": "field",
613
605
  "name": "src",
614
606
  "type": {
615
607
  "text": "string | undefined"
616
608
  },
617
609
  "description": "The src is the url which will be used to display the avatar.\nWhen the src is loading, we will display the initials as a placeholder.",
618
- "attribute": "src",
610
+ "fieldName": "src",
619
611
  "inheritedFrom": {
620
612
  "name": "AvatarComponentMixin",
621
- "module": "utils/mixins/AvatarComponentMixin.js"
613
+ "module": "src/utils/mixins/AvatarComponentMixin.ts"
622
614
  }
623
615
  },
624
616
  {
625
- "kind": "field",
626
617
  "name": "initials",
627
618
  "type": {
628
619
  "text": "string | undefined"
629
620
  },
630
621
  "description": "The initials to be displayed for the avatar.",
631
- "attribute": "initials",
622
+ "fieldName": "initials",
632
623
  "inheritedFrom": {
633
624
  "name": "AvatarComponentMixin",
634
- "module": "utils/mixins/AvatarComponentMixin.js"
625
+ "module": "src/utils/mixins/AvatarComponentMixin.ts"
635
626
  }
636
627
  },
637
628
  {
638
- "kind": "field",
639
629
  "name": "presence",
640
630
  "type": {
641
631
  "text": "PresenceType | undefined"
642
632
  },
643
633
  "description": "The presence is the status which can be used to display the\nactivity state of a user or a space within an avatar component.\n\nAcceptable values include:\n- `active`\n- `away`\n- `away-calling`\n- `busy`\n- `dnd`\n- `meeting`\n- `on-call`\n- `on-device`\n- `on-mobile`\n- `pause`\n- `pto`\n- `presenting`\n- `quiet`\n- `scheduled`",
644
- "attribute": "presence",
634
+ "fieldName": "presence",
645
635
  "inheritedFrom": {
646
636
  "name": "AvatarComponentMixin",
647
- "module": "utils/mixins/AvatarComponentMixin.js"
637
+ "module": "src/utils/mixins/AvatarComponentMixin.ts"
648
638
  }
649
639
  },
650
640
  {
651
- "kind": "field",
652
641
  "name": "size",
653
642
  "type": {
654
643
  "text": "ButtonSize"
655
644
  },
656
645
  "description": "Acceptable values include (size in px unit):\n- 24\n- 32\n- 48\n- 64\n- 72\n- 88\n- 124",
657
646
  "default": "32",
658
- "attribute": "size",
659
- "reflects": true,
647
+ "fieldName": "size",
660
648
  "inheritedFrom": {
661
649
  "name": "Buttonsimple",
662
- "module": "components/buttonsimple/buttonsimple.component.js"
650
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
663
651
  }
664
652
  },
665
653
  {
666
- "kind": "field",
667
- "name": "iconName",
654
+ "name": "icon-name",
668
655
  "type": {
669
656
  "text": "IconNames | undefined"
670
657
  },
671
658
  "description": "Name of the icon to be displayed inside the Avatar.\nMust be a valid icon name.",
672
- "attribute": "icon-name",
659
+ "fieldName": "iconName",
673
660
  "inheritedFrom": {
674
661
  "name": "AvatarComponentMixin",
675
- "module": "utils/mixins/AvatarComponentMixin.js"
662
+ "module": "src/utils/mixins/AvatarComponentMixin.ts"
676
663
  }
677
664
  },
678
665
  {
679
- "kind": "field",
680
666
  "name": "counter",
681
667
  "type": {
682
668
  "text": "number | undefined"
683
669
  },
684
670
  "description": "The counter is the number which can be displayed on the avatar.\nThe maximum number is 99 and if the given number is greater than 99,\nthen the avatar will be displayed as `99+`.\nIf the given number is a negative number,\nthen the avatar will be displayed as `0`.",
685
- "attribute": "counter",
671
+ "fieldName": "counter",
686
672
  "inheritedFrom": {
687
673
  "name": "AvatarComponentMixin",
688
- "module": "utils/mixins/AvatarComponentMixin.js"
674
+ "module": "src/utils/mixins/AvatarComponentMixin.ts"
689
675
  }
690
676
  },
691
677
  {
692
- "kind": "field",
693
- "name": "isTyping",
678
+ "name": "is-typing",
694
679
  "type": {
695
680
  "text": "boolean"
696
681
  },
697
682
  "default": "false",
698
683
  "description": "Represents the typing indicator when the user is typing.",
699
- "attribute": "is-typing",
684
+ "fieldName": "isTyping",
700
685
  "inheritedFrom": {
701
686
  "name": "AvatarComponentMixin",
702
- "module": "utils/mixins/AvatarComponentMixin.js"
687
+ "module": "src/utils/mixins/AvatarComponentMixin.ts"
703
688
  }
704
689
  },
705
690
  {
706
- "kind": "field",
707
691
  "name": "tabIndex",
708
692
  "type": {
709
693
  "text": "number"
710
694
  },
711
695
  "default": "0",
712
696
  "description": "This property specifies the tab order of the element.",
713
- "attribute": "tabIndex",
714
- "reflects": true,
697
+ "fieldName": "tabIndex",
715
698
  "inheritedFrom": {
716
699
  "name": "TabIndexMixin",
717
- "module": "utils/mixins/TabIndexMixin.js"
700
+ "module": "src/utils/mixins/TabIndexMixin.ts"
718
701
  }
719
702
  },
720
703
  {
721
- "kind": "method",
722
- "name": "executeAction",
723
- "privacy": "private",
704
+ "name": "disabled",
705
+ "type": {
706
+ "text": "boolean"
707
+ },
708
+ "default": "false",
709
+ "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
710
+ "fieldName": "disabled",
711
+ "inheritedFrom": {
712
+ "name": "DisabledMixin",
713
+ "module": "src/utils/mixins/DisabledMixin.ts"
714
+ }
715
+ },
716
+ {
717
+ "name": "active",
718
+ "type": {
719
+ "text": "boolean"
720
+ },
721
+ "default": "false",
722
+ "description": "The button's active state indicates whether it is currently toggled on (active) or off (inactive).\nWhen the active state is true, the button is considered to be in an active state, meaning it is toggled on.\nConversely, when the active state is false, the button is in an inactive state, indicating it is toggled off.",
723
+ "fieldName": "active",
724
724
  "inheritedFrom": {
725
725
  "name": "Buttonsimple",
726
- "module": "components/buttonsimple/buttonsimple.component.js"
726
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
727
727
  }
728
728
  },
729
729
  {
730
- "kind": "method",
731
- "name": "setAriaPressed",
732
- "privacy": "private",
733
- "parameters": [
734
- {
735
- "name": "element",
736
- "type": {
737
- "text": "HTMLElement"
738
- },
739
- "description": "The target element."
740
- },
741
- {
742
- "name": "active",
743
- "type": {
744
- "text": "boolean"
745
- },
746
- "description": "The active state."
747
- }
748
- ],
749
- "description": "Sets the aria-pressed attribute based on the active state.",
730
+ "name": "soft-disabled",
731
+ "type": {
732
+ "text": "boolean"
733
+ },
734
+ "default": "false",
735
+ "description": "Indicates whether the button is soft disabled.\nWhen set to `true`, the button appears visually disabled but still allows\nfocus, click, and keyboard actions to be passed through.\n\n**Important:** When using soft disabled, consumers must ensure that\nthe button behaves like a disabled button, allowing only focus and\npreventing any interactions (clicks or keyboard actions) from triggering unintended actions.",
736
+ "fieldName": "softDisabled",
750
737
  "inheritedFrom": {
751
738
  "name": "Buttonsimple",
752
- "module": "components/buttonsimple/buttonsimple.component.js"
739
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
740
+ }
741
+ },
742
+ {
743
+ "name": "role",
744
+ "description": "This property defines the ARIA role for the element. By default, it is set to 'button'.\nConsumers should override this role when:\n- The element is being used in a context where a different role is more appropriate.\n- Custom behaviors are implemented that require a specific ARIA role for accessibility purposes.",
745
+ "default": "button",
746
+ "fieldName": "role",
747
+ "inheritedFrom": {
748
+ "name": "Buttonsimple",
749
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
750
+ }
751
+ },
752
+ {
753
+ "name": "type",
754
+ "type": {
755
+ "text": "ButtonType"
756
+ },
757
+ "description": "This property defines the type attribute for the button element.\nThe type attribute specifies the behavior of the button when it is clicked.\n- **submit**: The button submits the form data to the server.\n- **reset**: The button resets the form data to its initial state.\n- **button**: The button does nothing when clicked.",
758
+ "default": "button",
759
+ "fieldName": "type",
760
+ "inheritedFrom": {
761
+ "name": "Buttonsimple",
762
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
753
763
  }
764
+ }
765
+ ],
766
+ "mixins": [
767
+ {
768
+ "name": "AvatarComponentMixin",
769
+ "module": "/src/utils/mixins/AvatarComponentMixin"
770
+ }
771
+ ],
772
+ "superclass": {
773
+ "name": "Buttonsimple",
774
+ "module": "/src/components/buttonsimple"
775
+ },
776
+ "tagName": "mdc-avatarbutton",
777
+ "jsDoc": "/**\n * The `mdc-avatarbutton` component is an interactable version of the `mdc-avatar` component.\n *\n * This component is made by extending `buttonsimple` class.\n * The button component acts as a wrapper for the avatar component.\n *\n * @dependency mdc-avatar\n *\n * @tagname mdc-avatarbutton\n */",
778
+ "customElement": true
779
+ }
780
+ ],
781
+ "exports": [
782
+ {
783
+ "kind": "js",
784
+ "name": "default",
785
+ "declaration": {
786
+ "name": "AvatarButton",
787
+ "module": "components/avatarbutton/avatarbutton.component.js"
788
+ }
789
+ }
790
+ ]
791
+ },
792
+ {
793
+ "kind": "javascript-module",
794
+ "path": "components/badge/badge.component.js",
795
+ "declarations": [
796
+ {
797
+ "kind": "class",
798
+ "description": "The `mdc-badge` component is a versatile UI element used to\ndisplay dot, icons, counters, success, warning and error type badge.\n\nSupported badge types:\n- `dot`: Displays a dot notification badge with a blue color.\n- `icon`: Displays a badge with a specified icon using the `icon-name` attribute.\n- `counter`: Displays a badge with a counter value. If the counter exceeds the `max-counter`,\nit shows `maxCounter+`. The maximum value of the counter is 999 and anything above that will be set to `999+`.\n- `success`: Displays a success badge with a check circle icon and green color.\n- `warning`: Displays a warning badge with a warning icon and yellow color.\n- `error`: Displays a error badge with a error legacy icon and red color.\n\nFor `icon`, `success`, `warning` and `error` types, the `mdc-icon` component is used to render the icon.\n\nFor the `counter` type, the `mdc-text` component is used to render the counter value.",
799
+ "name": "Badge",
800
+ "members": [
801
+ {
802
+ "kind": "field",
803
+ "name": "type",
804
+ "type": {
805
+ "text": "BadgeType | undefined"
806
+ },
807
+ "description": "Type of the badge\nCan be `dot` (notification) , `icon`, `counter`, `success`, `warning` or `error`.",
808
+ "attribute": "type",
809
+ "reflects": true
810
+ },
811
+ {
812
+ "kind": "field",
813
+ "name": "iconName",
814
+ "type": {
815
+ "text": "IconNames | undefined"
816
+ },
817
+ "description": "Name of the icon (= filename).\n\nIf no `icon-name` is provided, no icon will be rendered.",
818
+ "attribute": "icon-name"
819
+ },
820
+ {
821
+ "kind": "field",
822
+ "name": "variant",
823
+ "type": {
824
+ "text": "IconVariant"
825
+ },
826
+ "description": "Type of the variant can be `primary` or `secondary`.\nIt defines the background and foreground color of the icon.",
827
+ "default": "primary",
828
+ "attribute": "variant",
829
+ "reflects": true
830
+ },
831
+ {
832
+ "kind": "field",
833
+ "name": "counter",
834
+ "type": {
835
+ "text": "number | undefined"
836
+ },
837
+ "description": "Counter is the number which can be provided in the badge.",
838
+ "attribute": "counter"
839
+ },
840
+ {
841
+ "kind": "field",
842
+ "name": "maxCounter",
843
+ "type": {
844
+ "text": "number"
845
+ },
846
+ "description": "The maximum number can be set up to 999, anything above that will be rendered as _999+_.\nThe max counter can be `9`, `99` or `999`.",
847
+ "default": "99",
848
+ "attribute": "max-counter",
849
+ "reflects": true
850
+ },
851
+ {
852
+ "kind": "field",
853
+ "name": "overlay",
854
+ "type": {
855
+ "text": "boolean"
856
+ },
857
+ "default": "false",
858
+ "description": "Overlay is to add a thin outline to the badge.\nThis will help distinguish between the badge and the button,\nwhere the badge will be layered on top of a button.",
859
+ "attribute": "overlay"
860
+ },
861
+ {
862
+ "kind": "field",
863
+ "name": "ariaLabel",
864
+ "type": {
865
+ "text": "string | null"
866
+ },
867
+ "default": "null",
868
+ "description": "Aria-label attribute to be set for accessibility",
869
+ "attribute": "aria-label"
754
870
  },
755
871
  {
756
872
  "kind": "method",
757
- "name": "setSoftDisabled",
873
+ "name": "getCounterText",
758
874
  "privacy": "private",
875
+ "return": {
876
+ "type": {
877
+ "text": ""
878
+ }
879
+ },
759
880
  "parameters": [
760
881
  {
761
- "name": "element",
882
+ "name": "maxCounter",
762
883
  "type": {
763
- "text": "HTMLElement"
884
+ "text": "number"
764
885
  },
765
- "description": "The button element."
886
+ "description": "the maximum limit which can be displayed on the badge"
766
887
  },
767
888
  {
768
- "name": "softDisabled",
889
+ "name": "counter",
890
+ "optional": true,
769
891
  "type": {
770
- "text": "boolean"
892
+ "text": "number"
771
893
  },
772
- "description": "The soft-disabled state."
894
+ "description": "the number to be displayed on the badge"
773
895
  }
774
896
  ],
775
- "description": "Sets the soft-disabled attribute for the button.\nWhen soft-disabled, the button looks to be disabled but remains focusable and clickable.\nAlso sets/removes aria-disabled attribute.",
776
- "inheritedFrom": {
777
- "name": "Buttonsimple",
778
- "module": "components/buttonsimple/buttonsimple.component.js"
779
- }
897
+ "description": "If `type` is set to `counter` and if `counter` is greater than `maxCounter`,\nthen it will return a string the maxCounter value as string.\nOtherwise, it will return a string representation of `counter`.\nIf `counter` is not a number, it will return an empty string."
780
898
  },
781
899
  {
782
900
  "kind": "method",
783
- "name": "setDisabled",
901
+ "name": "getBadgeIcon",
784
902
  "privacy": "private",
903
+ "return": {
904
+ "type": {
905
+ "text": ""
906
+ }
907
+ },
785
908
  "parameters": [
786
909
  {
787
- "name": "element",
910
+ "name": "iconName",
788
911
  "type": {
789
- "text": "HTMLElement"
912
+ "text": "string"
790
913
  },
791
- "description": "The button element."
914
+ "description": "the name of the icon from the icon set"
792
915
  },
793
916
  {
794
- "name": "disabled",
917
+ "name": "backgroundClassPostfix",
795
918
  "type": {
796
- "text": "boolean"
919
+ "text": "string"
797
920
  },
798
- "description": "The disabled state."
921
+ "description": "postfix for the class to style the badge icon."
799
922
  }
800
923
  ],
801
- "description": "Sets the disabled attribute for the button.\nWhen disabled, the button is not focusable or clickable, and tabindex is set to -1.\nThe previous tabindex is stored and restored when enabled.\nAlso sets/removes aria-disabled attribute.",
802
- "inheritedFrom": {
803
- "name": "Buttonsimple",
804
- "module": "components/buttonsimple/buttonsimple.component.js"
805
- }
924
+ "description": "Method to generate the badge icon."
806
925
  },
807
926
  {
808
927
  "kind": "method",
809
- "name": "triggerClickEvent",
928
+ "name": "getBadgeDot",
810
929
  "privacy": "private",
811
- "inheritedFrom": {
812
- "name": "Buttonsimple",
813
- "module": "components/buttonsimple/buttonsimple.component.js"
814
- }
930
+ "return": {
931
+ "type": {
932
+ "text": ""
933
+ }
934
+ },
935
+ "description": "Method to generate the badge dot template."
815
936
  },
816
937
  {
817
938
  "kind": "method",
818
- "name": "handleKeyDown",
939
+ "name": "getBadgeCounterText",
819
940
  "privacy": "private",
820
- "parameters": [
821
- {
822
- "name": "event",
823
- "type": {
824
- "text": "KeyboardEvent"
825
- },
826
- "description": "The keyboard event."
941
+ "return": {
942
+ "type": {
943
+ "text": ""
827
944
  }
828
- ],
829
- "description": "Handles the keydown event on the button.\nIf the key is 'Enter' or 'Space', the button is pressed.\nIf the key is 'Enter', the button is pressed. The native HTML button works in the same way.",
830
- "inheritedFrom": {
831
- "name": "Buttonsimple",
832
- "module": "components/buttonsimple/buttonsimple.component.js"
833
- }
945
+ },
946
+ "description": "Method to generate the badge text and counter template."
834
947
  },
835
948
  {
836
949
  "kind": "method",
837
- "name": "handleKeyUp",
950
+ "name": "setRoleByAriaLabel",
838
951
  "privacy": "private",
839
- "parameters": [
840
- {
841
- "name": "event",
842
- "type": {
843
- "text": "KeyboardEvent"
844
- },
845
- "description": "The keyboard event."
952
+ "return": {
953
+ "type": {
954
+ "text": "void"
846
955
  }
847
- ],
848
- "description": "Handles the keyup event on the button.\nIf the key is 'Enter' or 'Space', the button is clicked.\nIf the key is 'Space', the button is pressed. The native HTML button works in the same way.",
849
- "inheritedFrom": {
850
- "name": "Buttonsimple",
851
- "module": "components/buttonsimple/buttonsimple.component.js"
852
- }
853
- }
854
- ],
855
- "attributes": [
856
- {
857
- "name": "aria-label",
858
- "type": {
859
- "text": "string | null"
860
- },
861
- "default": "null",
862
- "description": "Aria-label attribute to be set for accessibility",
863
- "fieldName": "ariaLabel"
864
- },
865
- {
866
- "name": "src",
867
- "type": {
868
- "text": "string | undefined"
869
- },
870
- "description": "The src is the url which will be used to display the avatar.\nWhen the src is loading, we will display the initials as a placeholder.",
871
- "fieldName": "src",
872
- "inheritedFrom": {
873
- "name": "AvatarComponentMixin",
874
- "module": "src/utils/mixins/AvatarComponentMixin.ts"
875
- }
876
- },
877
- {
878
- "name": "initials",
879
- "type": {
880
- "text": "string | undefined"
881
956
  },
882
- "description": "The initials to be displayed for the avatar.",
883
- "fieldName": "initials",
884
- "inheritedFrom": {
885
- "name": "AvatarComponentMixin",
886
- "module": "src/utils/mixins/AvatarComponentMixin.ts"
887
- }
957
+ "description": "Method to set the role based on the aria-label provided.\nIf the aria-label is provided, the role of the element will be 'img'.\nOtherwise, the role will be null."
888
958
  },
889
959
  {
890
- "name": "presence",
891
- "type": {
892
- "text": "PresenceType | undefined"
960
+ "kind": "method",
961
+ "name": "getBadgeContentBasedOnType",
962
+ "privacy": "private",
963
+ "return": {
964
+ "type": {
965
+ "text": ""
966
+ }
893
967
  },
894
- "description": "The presence is the status which can be used to display the\nactivity state of a user or a space within an avatar component.\n\nAcceptable values include:\n- `active`\n- `away`\n- `away-calling`\n- `busy`\n- `dnd`\n- `meeting`\n- `on-call`\n- `on-device`\n- `on-mobile`\n- `pause`\n- `pto`\n- `presenting`\n- `quiet`\n- `scheduled`",
895
- "fieldName": "presence",
896
- "inheritedFrom": {
897
- "name": "AvatarComponentMixin",
898
- "module": "src/utils/mixins/AvatarComponentMixin.ts"
899
- }
900
- },
968
+ "description": "Generates the badge content based on the badge type.\nUtilizes various helper methods to create the appropriate badge template based on the\ncurrent badge type. Supports 'dot', 'icon', 'counter', 'success', 'warning', and 'error'\ntypes, returning the corresponding template result for each type."
969
+ }
970
+ ],
971
+ "attributes": [
901
972
  {
902
- "name": "size",
973
+ "name": "type",
903
974
  "type": {
904
- "text": "ButtonSize"
975
+ "text": "BadgeType | undefined"
905
976
  },
906
- "description": "Acceptable values include (size in px unit):\n- 24\n- 32\n- 48\n- 64\n- 72\n- 88\n- 124",
907
- "default": "32",
908
- "fieldName": "size",
909
- "inheritedFrom": {
910
- "name": "Buttonsimple",
911
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
912
- }
977
+ "description": "Type of the badge\nCan be `dot` (notification) , `icon`, `counter`, `success`, `warning` or `error`.",
978
+ "fieldName": "type"
913
979
  },
914
980
  {
915
981
  "name": "icon-name",
916
982
  "type": {
917
983
  "text": "IconNames | undefined"
918
984
  },
919
- "description": "Name of the icon to be displayed inside the Avatar.\nMust be a valid icon name.",
920
- "fieldName": "iconName",
921
- "inheritedFrom": {
922
- "name": "AvatarComponentMixin",
923
- "module": "src/utils/mixins/AvatarComponentMixin.ts"
924
- }
985
+ "description": "Name of the icon (= filename).\n\nIf no `icon-name` is provided, no icon will be rendered.",
986
+ "fieldName": "iconName"
925
987
  },
926
988
  {
927
- "name": "counter",
989
+ "name": "variant",
928
990
  "type": {
929
- "text": "number | undefined"
991
+ "text": "IconVariant"
930
992
  },
931
- "description": "The counter is the number which can be displayed on the avatar.\nThe maximum number is 99 and if the given number is greater than 99,\nthen the avatar will be displayed as `99+`.\nIf the given number is a negative number,\nthen the avatar will be displayed as `0`.",
932
- "fieldName": "counter",
933
- "inheritedFrom": {
934
- "name": "AvatarComponentMixin",
935
- "module": "src/utils/mixins/AvatarComponentMixin.ts"
936
- }
993
+ "description": "Type of the variant can be `primary` or `secondary`.\nIt defines the background and foreground color of the icon.",
994
+ "default": "primary",
995
+ "fieldName": "variant"
937
996
  },
938
997
  {
939
- "name": "is-typing",
998
+ "name": "counter",
940
999
  "type": {
941
- "text": "boolean"
1000
+ "text": "number | undefined"
942
1001
  },
943
- "default": "false",
944
- "description": "Represents the typing indicator when the user is typing.",
945
- "fieldName": "isTyping",
946
- "inheritedFrom": {
947
- "name": "AvatarComponentMixin",
948
- "module": "src/utils/mixins/AvatarComponentMixin.ts"
949
- }
1002
+ "description": "Counter is the number which can be provided in the badge.",
1003
+ "fieldName": "counter"
950
1004
  },
951
1005
  {
952
- "name": "tabIndex",
1006
+ "name": "max-counter",
953
1007
  "type": {
954
1008
  "text": "number"
955
1009
  },
956
- "default": "0",
957
- "description": "This property specifies the tab order of the element.",
958
- "fieldName": "tabIndex",
959
- "inheritedFrom": {
960
- "name": "TabIndexMixin",
961
- "module": "src/utils/mixins/TabIndexMixin.ts"
962
- }
963
- },
964
- {
965
- "name": "disabled",
966
- "type": {
967
- "text": "boolean"
968
- },
969
- "default": "false",
970
- "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
971
- "fieldName": "disabled",
972
- "inheritedFrom": {
973
- "name": "DisabledMixin",
974
- "module": "src/utils/mixins/DisabledMixin.ts"
975
- }
976
- },
977
- {
978
- "name": "active",
979
- "type": {
980
- "text": "boolean"
981
- },
982
- "default": "false",
983
- "description": "The button's active state indicates whether it is currently toggled on (active) or off (inactive).\nWhen the active state is true, the button is considered to be in an active state, meaning it is toggled on.\nConversely, when the active state is false, the button is in an inactive state, indicating it is toggled off.",
984
- "fieldName": "active",
985
- "inheritedFrom": {
986
- "name": "Buttonsimple",
987
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
988
- }
1010
+ "description": "The maximum number can be set up to 999, anything above that will be rendered as _999+_.\nThe max counter can be `9`, `99` or `999`.",
1011
+ "default": "99",
1012
+ "fieldName": "maxCounter"
989
1013
  },
990
1014
  {
991
- "name": "soft-disabled",
1015
+ "name": "overlay",
992
1016
  "type": {
993
1017
  "text": "boolean"
994
1018
  },
995
1019
  "default": "false",
996
- "description": "Indicates whether the button is soft disabled.\nWhen set to `true`, the button appears visually disabled but still allows\nfocus, click, and keyboard actions to be passed through.\n\n**Important:** When using soft disabled, consumers must ensure that\nthe button behaves like a disabled button, allowing only focus and\npreventing any interactions (clicks or keyboard actions) from triggering unintended actions.",
997
- "fieldName": "softDisabled",
998
- "inheritedFrom": {
999
- "name": "Buttonsimple",
1000
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
1001
- }
1002
- },
1003
- {
1004
- "name": "role",
1005
- "description": "This property defines the ARIA role for the element. By default, it is set to 'button'.\nConsumers should override this role when:\n- The element is being used in a context where a different role is more appropriate.\n- Custom behaviors are implemented that require a specific ARIA role for accessibility purposes.",
1006
- "default": "button",
1007
- "fieldName": "role",
1008
- "inheritedFrom": {
1009
- "name": "Buttonsimple",
1010
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
1011
- }
1020
+ "description": "Overlay is to add a thin outline to the badge.\nThis will help distinguish between the badge and the button,\nwhere the badge will be layered on top of a button.",
1021
+ "fieldName": "overlay"
1012
1022
  },
1013
1023
  {
1014
- "name": "type",
1024
+ "name": "aria-label",
1015
1025
  "type": {
1016
- "text": "ButtonType"
1026
+ "text": "string | null"
1017
1027
  },
1018
- "description": "This property defines the type attribute for the button element.\nThe type attribute specifies the behavior of the button when it is clicked.\n- **submit**: The button submits the form data to the server.\n- **reset**: The button resets the form data to its initial state.\n- **button**: The button does nothing when clicked.",
1019
- "default": "button",
1020
- "fieldName": "type",
1021
- "inheritedFrom": {
1022
- "name": "Buttonsimple",
1023
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
1024
- }
1025
- }
1026
- ],
1027
- "mixins": [
1028
- {
1029
- "name": "AvatarComponentMixin",
1030
- "module": "/src/utils/mixins/AvatarComponentMixin"
1028
+ "default": "null",
1029
+ "description": "Aria-label attribute to be set for accessibility",
1030
+ "fieldName": "ariaLabel"
1031
1031
  }
1032
1032
  ],
1033
1033
  "superclass": {
1034
- "name": "Buttonsimple",
1035
- "module": "/src/components/buttonsimple"
1034
+ "name": "Component",
1035
+ "module": "/src/models"
1036
1036
  },
1037
- "tagName": "mdc-avatarbutton",
1038
- "jsDoc": "/**\n * The `mdc-avatarbutton` component is an interactable version of the `mdc-avatar` component.\n *\n * This component is made by extending `buttonsimple` class.\n * The button component acts as a wrapper for the avatar component.\n *\n * @dependency mdc-avatar\n *\n * @tagname mdc-avatarbutton\n */",
1037
+ "tagName": "mdc-badge",
1038
+ "jsDoc": "/**\n * The `mdc-badge` component is a versatile UI element used to\n * display dot, icons, counters, success, warning and error type badge.\n *\n * Supported badge types:\n * - `dot`: Displays a dot notification badge with a blue color.\n * - `icon`: Displays a badge with a specified icon using the `icon-name` attribute.\n * - `counter`: Displays a badge with a counter value. If the counter exceeds the `max-counter`,\n * it shows `maxCounter+`. The maximum value of the counter is 999 and anything above that will be set to `999+`.\n * - `success`: Displays a success badge with a check circle icon and green color.\n * - `warning`: Displays a warning badge with a warning icon and yellow color.\n * - `error`: Displays a error badge with a error legacy icon and red color.\n *\n * For `icon`, `success`, `warning` and `error` types, the `mdc-icon` component is used to render the icon.\n *\n * For the `counter` type, the `mdc-text` component is used to render the counter value.\n *\n * @dependency mdc-icon\n * @dependency mdc-text\n *\n * @tagname mdc-badge\n */",
1039
1039
  "customElement": true
1040
1040
  }
1041
1041
  ],
@@ -1044,8 +1044,8 @@
1044
1044
  "kind": "js",
1045
1045
  "name": "default",
1046
1046
  "declaration": {
1047
- "name": "AvatarButton",
1048
- "module": "components/avatarbutton/avatarbutton.component.js"
1047
+ "name": "Badge",
1048
+ "module": "components/badge/badge.component.js"
1049
1049
  }
1050
1050
  }
1051
1051
  ]
@@ -2112,260 +2112,39 @@
2112
2112
  "fieldName": "orientation"
2113
2113
  },
2114
2114
  {
2115
- "name": "variant",
2116
- "type": {
2117
- "text": "DividerVariant"
2118
- },
2119
- "description": "Two variants of divider\n- **solid**: Solid line.\n- **gradient**: Gradient Line that fades on either sides of the divider.",
2120
- "default": "solid",
2121
- "fieldName": "variant"
2122
- },
2123
- {
2124
- "name": "arrow-direction",
2125
- "type": {
2126
- "text": "Directions"
2127
- },
2128
- "description": "Direction of the arrow icon, if applicable.\n- **positive**\n- **negative**\n\nNote: Positive and Negative directions are defined based on Cartesian plane.",
2129
- "default": "'negative'",
2130
- "fieldName": "arrowDirection"
2131
- },
2132
- {
2133
- "name": "button-position",
2134
- "type": {
2135
- "text": "Directions"
2136
- },
2137
- "description": "Position of the button, if applicable.\n- **positive**\n- **negative**\n\nNote: Positive and Negative directions are defined based on Cartesian plane.",
2138
- "default": "'negative'",
2139
- "fieldName": "buttonPosition"
2140
- }
2141
- ],
2142
- "superclass": {
2143
- "name": "Component",
2144
- "module": "/src/models"
2145
- },
2146
- "tagName": "mdc-divider",
2147
- "jsDoc": "/**\n * `mdc-divider` is a component that provides a line to separate and organize content.\n * It can also include a button or text positioned centrally, allowing users to interact with the layout.\n *\n * **Divider Orientation:**\n * - **Horizontal**: A thin, horizontal line.\n * - **Vertical**: A thin, vertical line.\n *\n * **Divider Variants:**\n * - **solid**: Solid line.\n * - **gradient**: Gradient Line.\n *\n * **Divider Types:**\n * - The type of divider is inferred based on the kind of slot present.\n * - **Primary**: A simple horizontal or vertical divider.\n * - **Text**: A horizontal divider with a text label in the center.\n * - **Grabber Button**: A horizontal or vertical divider with a styled button in the center.\n *\n * **Accessibility:**\n * - When the slot is replaced by an `mdc-button`:\n * - `aria-label` should be passed to the `mdc-button`.\n * - `aria-expanded` should be passed to the `mdc-button`.\n *\n * **Notes:**\n * - If the slot is replaced by an invalid tag name or contains multiple elements,\n * the divider defaults to the **Primary** type.\n * - To override the styles of the divider, use the provided CSS custom properties.\n *\n * @tagname mdc-divider\n *\n * @cssproperty --mdc-divider-background-color - background color of the divider\n * @cssproperty --mdc-divider-width - width of the divider\n * @cssproperty --mdc-divider-horizontal-gradient - gradient of the horizontal divider\n * @cssproperty --mdc-divider-vertical-gradient - gradient of the vertical divider\n * @cssproperty --mdc-divider-text-size - font size of label in the text divider\n * @cssproperty --mdc-divider-text-color - font color of label in the text divider\n * @cssproperty --mdc-divider-text-margin - left and right margin of label in the text divider\n * @cssproperty --mdc-divider-text-line-height - line height of label in the text divider\n * @cssproperty --mdc-divider-grabber-button-border-radius - border radius of the grabber button\n */",
2148
- "customElement": true
2149
- }
2150
- ],
2151
- "exports": [
2152
- {
2153
- "kind": "js",
2154
- "name": "default",
2155
- "declaration": {
2156
- "name": "Divider",
2157
- "module": "components/divider/divider.component.js"
2158
- }
2159
- }
2160
- ]
2161
- },
2162
- {
2163
- "kind": "javascript-module",
2164
- "path": "components/icon/icon.component.js",
2165
- "declarations": [
2166
- {
2167
- "kind": "class",
2168
- "description": "Icon component that dynamically displays SVG icons based on a valid name.\n\nThis component must be mounted within an `IconProvider` component.\n\nThe `IconProvider` defines the source URL from which icons are consumed.\nThe `Icon` component accepts a `name` attribute, which corresponds to\nthe file name of the icon to be loaded from the specified URL.\n\nOnce fetched, the icon will be rendered. If the fetching process is unsuccessful,\nno icon will be displayed.\n\nThe `size` attribute allows for dynamic sizing of the icon based on the provided\n`length-unit` attribute. This unit can either come from the `IconProvider`\nor can be overridden for each individual icon. For example:\nif `size = 1` and `length-unit = 'em'`, the dimensions of the icon will be\n`width: 1em; height: 1em`.\n\nRegarding accessibility, there are two types of icons: decorative and informative.\n\n### Decorative Icons\n- Decorative icons do not convey any essential information to the content of a page.\n- They should be hidden from screen readers (SR) to prevent confusion for users.\n- For decorative icons, an `aria-label` is not required, and the `role` will be set to null.\n\n### Informative Icons\n- Informative icons convey important information that is not adequately represented\n by surrounding text or components.\n- They provide valuable context and must be announced by assistive technologies.\n- For informative icons, an `aria-label` is required, and the `role` will be set to \"img\".\n- If an `aria-label` is provided, the role will be set to 'img'; if it is absent,\n the role will be unset.",
2169
- "name": "Icon",
2170
- "cssProperties": [
2171
- {
2172
- "description": "Allows customization of the default fill color.",
2173
- "name": "--mdc-icon-fill-color"
2174
- }
2175
- ],
2176
- "members": [
2177
- {
2178
- "kind": "field",
2179
- "name": "iconData",
2180
- "type": {
2181
- "text": "HTMLElement | undefined"
2182
- },
2183
- "privacy": "private"
2184
- },
2185
- {
2186
- "kind": "field",
2187
- "name": "lengthUnitFromContext",
2188
- "type": {
2189
- "text": "string | undefined"
2190
- },
2191
- "privacy": "private"
2192
- },
2193
- {
2194
- "kind": "field",
2195
- "name": "sizeFromContext",
2196
- "type": {
2197
- "text": "number | undefined"
2198
- },
2199
- "privacy": "private"
2200
- },
2201
- {
2202
- "kind": "field",
2203
- "name": "name",
2204
- "type": {
2205
- "text": "IconNames | undefined"
2206
- },
2207
- "description": "Name of the icon (= filename)",
2208
- "attribute": "name",
2209
- "reflects": true
2210
- },
2211
- {
2212
- "kind": "field",
2213
- "name": "size",
2214
- "type": {
2215
- "text": "number | undefined"
2216
- },
2217
- "description": "Size of the icon (works in combination with length unit)",
2218
- "attribute": "size"
2219
- },
2220
- {
2221
- "kind": "field",
2222
- "name": "lengthUnit",
2223
- "type": {
2224
- "text": "string | undefined"
2225
- },
2226
- "description": "Length unit attribute for overriding length-unit from `IconProvider`",
2227
- "attribute": "length-unit"
2228
- },
2229
- {
2230
- "kind": "field",
2231
- "name": "ariaLabel",
2232
- "type": {
2233
- "text": "string | null"
2234
- },
2235
- "default": "null",
2236
- "description": "Aria-label attribute to be set for accessibility",
2237
- "attribute": "aria-label"
2238
- },
2239
- {
2240
- "kind": "field",
2241
- "name": "iconProviderContext",
2242
- "privacy": "private",
2243
- "readonly": true
2244
- },
2245
- {
2246
- "kind": "field",
2247
- "name": "abortController",
2248
- "type": {
2249
- "text": "AbortController"
2250
- },
2251
- "privacy": "private",
2252
- "default": "new AbortController()"
2253
- },
2254
- {
2255
- "kind": "method",
2256
- "name": "triggerIconLoaded",
2257
- "privacy": "private",
2258
- "return": {
2259
- "type": {
2260
- "text": "void"
2261
- }
2262
- },
2263
- "description": "Dispatches a 'load' event on the component once the icon has been successfully loaded.\nThis event bubbles and is cancelable."
2264
- },
2265
- {
2266
- "kind": "method",
2267
- "name": "getIconData",
2268
- "privacy": "private",
2269
- "description": "Get Icon Data function which will fetch the icon (currently only svg)\nand sets state and attributes once fetched successfully\n\nThis method uses abortController.signal to cancel the fetch request when the component is disconnected or updated.\nIf the request is aborted after the fetch() call has been fulfilled but before the response body has been read,\nthen attempting to read the response body will reject with an AbortError exception."
2270
- },
2271
- {
2272
- "kind": "method",
2273
- "name": "handleIconLoadedSuccess",
2274
- "privacy": "private",
2275
- "parameters": [
2276
- {
2277
- "name": "iconHtml",
2278
- "type": {
2279
- "text": "HTMLElement"
2280
- },
2281
- "description": "The icon html element which has been fetched from the icon provider."
2282
- }
2283
- ],
2284
- "description": "Sets the iconData state to the fetched icon,\nand calls functions to set role, aria-label and aria-hidden attributes on the icon.\nDispatches a 'load' event on the component once the icon has been successfully loaded."
2285
- },
2286
- {
2287
- "kind": "method",
2288
- "name": "handleIconLoadedFailure",
2289
- "privacy": "private",
2290
- "parameters": [
2291
- {
2292
- "name": "error",
2293
- "type": {
2294
- "text": "unknown"
2295
- }
2296
- }
2297
- ],
2298
- "description": "Dispatches an 'error' event on the component when the icon fetching has failed.\nThis event bubbles and is cancelable.\nThe error detail is set to the error object."
2299
- },
2300
- {
2301
- "kind": "method",
2302
- "name": "updateSize",
2303
- "privacy": "private",
2304
- "description": "Updates the size by setting the width and height"
2305
- },
2306
- {
2307
- "kind": "method",
2308
- "name": "setRoleOnIcon",
2309
- "privacy": "private"
2310
- },
2311
- {
2312
- "kind": "method",
2313
- "name": "setAriaHiddenOnIcon",
2314
- "privacy": "private"
2315
- },
2316
- {
2317
- "kind": "method",
2318
- "name": "setAriaLabelOnIcon",
2319
- "privacy": "private"
2320
- },
2321
- {
2322
- "kind": "field",
2323
- "name": "computedIconSize",
2324
- "privacy": "private",
2325
- "readonly": true
2326
- }
2327
- ],
2328
- "attributes": [
2329
- {
2330
- "name": "name",
2331
- "type": {
2332
- "text": "IconNames | undefined"
2333
- },
2334
- "description": "Name of the icon (= filename)",
2335
- "fieldName": "name"
2336
- },
2337
- {
2338
- "name": "size",
2115
+ "name": "variant",
2339
2116
  "type": {
2340
- "text": "number | undefined"
2117
+ "text": "DividerVariant"
2341
2118
  },
2342
- "description": "Size of the icon (works in combination with length unit)",
2343
- "fieldName": "size"
2119
+ "description": "Two variants of divider\n- **solid**: Solid line.\n- **gradient**: Gradient Line that fades on either sides of the divider.",
2120
+ "default": "solid",
2121
+ "fieldName": "variant"
2344
2122
  },
2345
2123
  {
2346
- "name": "length-unit",
2124
+ "name": "arrow-direction",
2347
2125
  "type": {
2348
- "text": "string | undefined"
2126
+ "text": "Directions"
2349
2127
  },
2350
- "description": "Length unit attribute for overriding length-unit from `IconProvider`",
2351
- "fieldName": "lengthUnit"
2128
+ "description": "Direction of the arrow icon, if applicable.\n- **positive**\n- **negative**\n\nNote: Positive and Negative directions are defined based on Cartesian plane.",
2129
+ "default": "'negative'",
2130
+ "fieldName": "arrowDirection"
2352
2131
  },
2353
2132
  {
2354
- "name": "aria-label",
2133
+ "name": "button-position",
2355
2134
  "type": {
2356
- "text": "string | null"
2135
+ "text": "Directions"
2357
2136
  },
2358
- "default": "null",
2359
- "description": "Aria-label attribute to be set for accessibility",
2360
- "fieldName": "ariaLabel"
2137
+ "description": "Position of the button, if applicable.\n- **positive**\n- **negative**\n\nNote: Positive and Negative directions are defined based on Cartesian plane.",
2138
+ "default": "'negative'",
2139
+ "fieldName": "buttonPosition"
2361
2140
  }
2362
2141
  ],
2363
2142
  "superclass": {
2364
2143
  "name": "Component",
2365
2144
  "module": "/src/models"
2366
2145
  },
2367
- "tagName": "mdc-icon",
2368
- "jsDoc": "/**\n * Icon component that dynamically displays SVG icons based on a valid name.\n *\n * This component must be mounted within an `IconProvider` component.\n *\n * The `IconProvider` defines the source URL from which icons are consumed.\n * The `Icon` component accepts a `name` attribute, which corresponds to\n * the file name of the icon to be loaded from the specified URL.\n *\n * Once fetched, the icon will be rendered. If the fetching process is unsuccessful,\n * no icon will be displayed.\n *\n * The `size` attribute allows for dynamic sizing of the icon based on the provided\n * `length-unit` attribute. This unit can either come from the `IconProvider`\n * or can be overridden for each individual icon. For example:\n * if `size = 1` and `length-unit = 'em'`, the dimensions of the icon will be\n * `width: 1em; height: 1em`.\n *\n * Regarding accessibility, there are two types of icons: decorative and informative.\n *\n * ### Decorative Icons\n * - Decorative icons do not convey any essential information to the content of a page.\n * - They should be hidden from screen readers (SR) to prevent confusion for users.\n * - For decorative icons, an `aria-label` is not required, and the `role` will be set to null.\n *\n * ### Informative Icons\n * - Informative icons convey important information that is not adequately represented\n * by surrounding text or components.\n * - They provide valuable context and must be announced by assistive technologies.\n * - For informative icons, an `aria-label` is required, and the `role` will be set to \"img\".\n * - If an `aria-label` is provided, the role will be set to 'img'; if it is absent,\n * the role will be unset.\n *\n * @tagname mdc-icon\n *\n * @cssproperty --mdc-icon-fill-color - Allows customization of the default fill color.\n */",
2146
+ "tagName": "mdc-divider",
2147
+ "jsDoc": "/**\n * `mdc-divider` is a component that provides a line to separate and organize content.\n * It can also include a button or text positioned centrally, allowing users to interact with the layout.\n *\n * **Divider Orientation:**\n * - **Horizontal**: A thin, horizontal line.\n * - **Vertical**: A thin, vertical line.\n *\n * **Divider Variants:**\n * - **solid**: Solid line.\n * - **gradient**: Gradient Line.\n *\n * **Divider Types:**\n * - The type of divider is inferred based on the kind of slot present.\n * - **Primary**: A simple horizontal or vertical divider.\n * - **Text**: A horizontal divider with a text label in the center.\n * - **Grabber Button**: A horizontal or vertical divider with a styled button in the center.\n *\n * **Accessibility:**\n * - When the slot is replaced by an `mdc-button`:\n * - `aria-label` should be passed to the `mdc-button`.\n * - `aria-expanded` should be passed to the `mdc-button`.\n *\n * **Notes:**\n * - If the slot is replaced by an invalid tag name or contains multiple elements,\n * the divider defaults to the **Primary** type.\n * - To override the styles of the divider, use the provided CSS custom properties.\n *\n * @tagname mdc-divider\n *\n * @cssproperty --mdc-divider-background-color - background color of the divider\n * @cssproperty --mdc-divider-width - width of the divider\n * @cssproperty --mdc-divider-horizontal-gradient - gradient of the horizontal divider\n * @cssproperty --mdc-divider-vertical-gradient - gradient of the vertical divider\n * @cssproperty --mdc-divider-text-size - font size of label in the text divider\n * @cssproperty --mdc-divider-text-color - font color of label in the text divider\n * @cssproperty --mdc-divider-text-margin - left and right margin of label in the text divider\n * @cssproperty --mdc-divider-text-line-height - line height of label in the text divider\n * @cssproperty --mdc-divider-grabber-button-border-radius - border radius of the grabber button\n */",
2369
2148
  "customElement": true
2370
2149
  }
2371
2150
  ],
@@ -2374,8 +2153,8 @@
2374
2153
  "kind": "js",
2375
2154
  "name": "default",
2376
2155
  "declaration": {
2377
- "name": "Icon",
2378
- "module": "components/icon/icon.component.js"
2156
+ "name": "Divider",
2157
+ "module": "components/divider/divider.component.js"
2379
2158
  }
2380
2159
  }
2381
2160
  ]
@@ -2769,6 +2548,227 @@
2769
2548
  }
2770
2549
  ]
2771
2550
  },
2551
+ {
2552
+ "kind": "javascript-module",
2553
+ "path": "components/icon/icon.component.js",
2554
+ "declarations": [
2555
+ {
2556
+ "kind": "class",
2557
+ "description": "Icon component that dynamically displays SVG icons based on a valid name.\n\nThis component must be mounted within an `IconProvider` component.\n\nThe `IconProvider` defines the source URL from which icons are consumed.\nThe `Icon` component accepts a `name` attribute, which corresponds to\nthe file name of the icon to be loaded from the specified URL.\n\nOnce fetched, the icon will be rendered. If the fetching process is unsuccessful,\nno icon will be displayed.\n\nThe `size` attribute allows for dynamic sizing of the icon based on the provided\n`length-unit` attribute. This unit can either come from the `IconProvider`\nor can be overridden for each individual icon. For example:\nif `size = 1` and `length-unit = 'em'`, the dimensions of the icon will be\n`width: 1em; height: 1em`.\n\nRegarding accessibility, there are two types of icons: decorative and informative.\n\n### Decorative Icons\n- Decorative icons do not convey any essential information to the content of a page.\n- They should be hidden from screen readers (SR) to prevent confusion for users.\n- For decorative icons, an `aria-label` is not required, and the `role` will be set to null.\n\n### Informative Icons\n- Informative icons convey important information that is not adequately represented\n by surrounding text or components.\n- They provide valuable context and must be announced by assistive technologies.\n- For informative icons, an `aria-label` is required, and the `role` will be set to \"img\".\n- If an `aria-label` is provided, the role will be set to 'img'; if it is absent,\n the role will be unset.",
2558
+ "name": "Icon",
2559
+ "cssProperties": [
2560
+ {
2561
+ "description": "Allows customization of the default fill color.",
2562
+ "name": "--mdc-icon-fill-color"
2563
+ }
2564
+ ],
2565
+ "members": [
2566
+ {
2567
+ "kind": "field",
2568
+ "name": "iconData",
2569
+ "type": {
2570
+ "text": "HTMLElement | undefined"
2571
+ },
2572
+ "privacy": "private"
2573
+ },
2574
+ {
2575
+ "kind": "field",
2576
+ "name": "lengthUnitFromContext",
2577
+ "type": {
2578
+ "text": "string | undefined"
2579
+ },
2580
+ "privacy": "private"
2581
+ },
2582
+ {
2583
+ "kind": "field",
2584
+ "name": "sizeFromContext",
2585
+ "type": {
2586
+ "text": "number | undefined"
2587
+ },
2588
+ "privacy": "private"
2589
+ },
2590
+ {
2591
+ "kind": "field",
2592
+ "name": "name",
2593
+ "type": {
2594
+ "text": "IconNames | undefined"
2595
+ },
2596
+ "description": "Name of the icon (= filename)",
2597
+ "attribute": "name",
2598
+ "reflects": true
2599
+ },
2600
+ {
2601
+ "kind": "field",
2602
+ "name": "size",
2603
+ "type": {
2604
+ "text": "number | undefined"
2605
+ },
2606
+ "description": "Size of the icon (works in combination with length unit)",
2607
+ "attribute": "size"
2608
+ },
2609
+ {
2610
+ "kind": "field",
2611
+ "name": "lengthUnit",
2612
+ "type": {
2613
+ "text": "string | undefined"
2614
+ },
2615
+ "description": "Length unit attribute for overriding length-unit from `IconProvider`",
2616
+ "attribute": "length-unit"
2617
+ },
2618
+ {
2619
+ "kind": "field",
2620
+ "name": "ariaLabel",
2621
+ "type": {
2622
+ "text": "string | null"
2623
+ },
2624
+ "default": "null",
2625
+ "description": "Aria-label attribute to be set for accessibility",
2626
+ "attribute": "aria-label"
2627
+ },
2628
+ {
2629
+ "kind": "field",
2630
+ "name": "iconProviderContext",
2631
+ "privacy": "private",
2632
+ "readonly": true
2633
+ },
2634
+ {
2635
+ "kind": "field",
2636
+ "name": "abortController",
2637
+ "type": {
2638
+ "text": "AbortController"
2639
+ },
2640
+ "privacy": "private",
2641
+ "default": "new AbortController()"
2642
+ },
2643
+ {
2644
+ "kind": "method",
2645
+ "name": "triggerIconLoaded",
2646
+ "privacy": "private",
2647
+ "return": {
2648
+ "type": {
2649
+ "text": "void"
2650
+ }
2651
+ },
2652
+ "description": "Dispatches a 'load' event on the component once the icon has been successfully loaded.\nThis event bubbles and is cancelable."
2653
+ },
2654
+ {
2655
+ "kind": "method",
2656
+ "name": "getIconData",
2657
+ "privacy": "private",
2658
+ "description": "Get Icon Data function which will fetch the icon (currently only svg)\nand sets state and attributes once fetched successfully\n\nThis method uses abortController.signal to cancel the fetch request when the component is disconnected or updated.\nIf the request is aborted after the fetch() call has been fulfilled but before the response body has been read,\nthen attempting to read the response body will reject with an AbortError exception."
2659
+ },
2660
+ {
2661
+ "kind": "method",
2662
+ "name": "handleIconLoadedSuccess",
2663
+ "privacy": "private",
2664
+ "parameters": [
2665
+ {
2666
+ "name": "iconHtml",
2667
+ "type": {
2668
+ "text": "HTMLElement"
2669
+ },
2670
+ "description": "The icon html element which has been fetched from the icon provider."
2671
+ }
2672
+ ],
2673
+ "description": "Sets the iconData state to the fetched icon,\nand calls functions to set role, aria-label and aria-hidden attributes on the icon.\nDispatches a 'load' event on the component once the icon has been successfully loaded."
2674
+ },
2675
+ {
2676
+ "kind": "method",
2677
+ "name": "handleIconLoadedFailure",
2678
+ "privacy": "private",
2679
+ "parameters": [
2680
+ {
2681
+ "name": "error",
2682
+ "type": {
2683
+ "text": "unknown"
2684
+ }
2685
+ }
2686
+ ],
2687
+ "description": "Dispatches an 'error' event on the component when the icon fetching has failed.\nThis event bubbles and is cancelable.\nThe error detail is set to the error object."
2688
+ },
2689
+ {
2690
+ "kind": "method",
2691
+ "name": "updateSize",
2692
+ "privacy": "private",
2693
+ "description": "Updates the size by setting the width and height"
2694
+ },
2695
+ {
2696
+ "kind": "method",
2697
+ "name": "setRoleOnIcon",
2698
+ "privacy": "private"
2699
+ },
2700
+ {
2701
+ "kind": "method",
2702
+ "name": "setAriaHiddenOnIcon",
2703
+ "privacy": "private"
2704
+ },
2705
+ {
2706
+ "kind": "method",
2707
+ "name": "setAriaLabelOnIcon",
2708
+ "privacy": "private"
2709
+ },
2710
+ {
2711
+ "kind": "field",
2712
+ "name": "computedIconSize",
2713
+ "privacy": "private",
2714
+ "readonly": true
2715
+ }
2716
+ ],
2717
+ "attributes": [
2718
+ {
2719
+ "name": "name",
2720
+ "type": {
2721
+ "text": "IconNames | undefined"
2722
+ },
2723
+ "description": "Name of the icon (= filename)",
2724
+ "fieldName": "name"
2725
+ },
2726
+ {
2727
+ "name": "size",
2728
+ "type": {
2729
+ "text": "number | undefined"
2730
+ },
2731
+ "description": "Size of the icon (works in combination with length unit)",
2732
+ "fieldName": "size"
2733
+ },
2734
+ {
2735
+ "name": "length-unit",
2736
+ "type": {
2737
+ "text": "string | undefined"
2738
+ },
2739
+ "description": "Length unit attribute for overriding length-unit from `IconProvider`",
2740
+ "fieldName": "lengthUnit"
2741
+ },
2742
+ {
2743
+ "name": "aria-label",
2744
+ "type": {
2745
+ "text": "string | null"
2746
+ },
2747
+ "default": "null",
2748
+ "description": "Aria-label attribute to be set for accessibility",
2749
+ "fieldName": "ariaLabel"
2750
+ }
2751
+ ],
2752
+ "superclass": {
2753
+ "name": "Component",
2754
+ "module": "/src/models"
2755
+ },
2756
+ "tagName": "mdc-icon",
2757
+ "jsDoc": "/**\n * Icon component that dynamically displays SVG icons based on a valid name.\n *\n * This component must be mounted within an `IconProvider` component.\n *\n * The `IconProvider` defines the source URL from which icons are consumed.\n * The `Icon` component accepts a `name` attribute, which corresponds to\n * the file name of the icon to be loaded from the specified URL.\n *\n * Once fetched, the icon will be rendered. If the fetching process is unsuccessful,\n * no icon will be displayed.\n *\n * The `size` attribute allows for dynamic sizing of the icon based on the provided\n * `length-unit` attribute. This unit can either come from the `IconProvider`\n * or can be overridden for each individual icon. For example:\n * if `size = 1` and `length-unit = 'em'`, the dimensions of the icon will be\n * `width: 1em; height: 1em`.\n *\n * Regarding accessibility, there are two types of icons: decorative and informative.\n *\n * ### Decorative Icons\n * - Decorative icons do not convey any essential information to the content of a page.\n * - They should be hidden from screen readers (SR) to prevent confusion for users.\n * - For decorative icons, an `aria-label` is not required, and the `role` will be set to null.\n *\n * ### Informative Icons\n * - Informative icons convey important information that is not adequately represented\n * by surrounding text or components.\n * - They provide valuable context and must be announced by assistive technologies.\n * - For informative icons, an `aria-label` is required, and the `role` will be set to \"img\".\n * - If an `aria-label` is provided, the role will be set to 'img'; if it is absent,\n * the role will be unset.\n *\n * @tagname mdc-icon\n *\n * @cssproperty --mdc-icon-fill-color - Allows customization of the default fill color.\n */",
2758
+ "customElement": true
2759
+ }
2760
+ ],
2761
+ "exports": [
2762
+ {
2763
+ "kind": "js",
2764
+ "name": "default",
2765
+ "declaration": {
2766
+ "name": "Icon",
2767
+ "module": "components/icon/icon.component.js"
2768
+ }
2769
+ }
2770
+ ]
2771
+ },
2772
2772
  {
2773
2773
  "kind": "javascript-module",
2774
2774
  "path": "components/presence/presence.component.js",