@momentum-design/components 0.82.1 → 0.82.2

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.
@@ -2205,75 +2205,57 @@
2205
2205
  },
2206
2206
  {
2207
2207
  "kind": "javascript-module",
2208
- "path": "components/button/button.component.js",
2208
+ "path": "components/buttonlink/buttonlink.component.js",
2209
2209
  "declarations": [
2210
2210
  {
2211
2211
  "kind": "class",
2212
- "description": "`mdc-button` is a component that can be configured in various ways to suit different use cases.\n\nButton Variants:\n- **Primary**: Solid background color.\n- **Secondary**: Transparent background with a solid border.\n- **Tertiary**: No background or border, appears as plain text but retains all button functionalities.\n\nButton Colors:\n- **Positive**: Green color.\n- **Negative**: Red color.\n- **Accent**: Blue color.\n- **Promotional**: Purple color.\n- **Default**: White color.\n\nButton Sizes (in REM units):\n- **Pill button**: 40, 32, 28, 24.\n- **Icon button**: 64, 52, 40, 32, 28, 24.\n- **Tertiary icon button**: 20.\n\nButton Types:\n- **Pill button**: A button that contains text value. Commonly used for call to action, tags, or filters.\n- **Pill button with icons**: A button containing an icon either on the left or right side of the button.\n- **Icon button**: A button represented by just an icon without any text.\nThe type of button is inferred based on the presence of slot and/or prefix and postfix icons.",
2213
- "name": "Button",
2214
- "slots": [
2215
- {
2216
- "description": "Text label of the button.",
2217
- "name": ""
2218
- }
2219
- ],
2212
+ "description": "`mdc-buttonlink` combines the functional behavior of `mdc-linksimple` with the visual and structural\nfeatures of `mdc-button`. This includes support for variants, sizing, and optional\nprefix and postfix icons via slots.\n\n### Features:\n- Behaves like an link while visually resembling a button.\n- Supports slots for `prefix-icon` and `postfix-icon`.\n- Customizable size, color, and variant through attributes.\n- Inherits accessibility and keyboard interaction support from `mdc-linksimple`.",
2213
+ "name": "ButtonLink",
2220
2214
  "members": [
2221
2215
  {
2222
2216
  "kind": "field",
2223
2217
  "name": "size",
2224
2218
  "type": {
2225
- "text": "ButtonSize"
2219
+ "text": "PillButtonSize | IconButtonSize"
2226
2220
  },
2227
- "description": "Button sizing is based on the button type.\n- **Pill button**: 40, 32, 28, 24.\n- **Icon button**: 64, 52, 40, 32, 28, 24.\n- Tertiary icon button can also be 20.",
2221
+ "description": "ButtonLink sizing is based on the buttonlink type.\n - **Pill buttonlink**: 40, 32, 28, 24.\n - **Icon buttonlink**: 64, 52, 40, 32, 28, 24.\n - Tertiary icon buttonlink can also be 20.",
2228
2222
  "default": "32",
2229
2223
  "attribute": "size",
2230
- "reflects": true,
2231
- "inheritedFrom": {
2232
- "name": "Buttonsimple",
2233
- "module": "components/buttonsimple/buttonsimple.component.js"
2234
- }
2235
- },
2236
- {
2237
- "kind": "field",
2238
- "name": "inverted",
2239
- "type": {
2240
- "text": "boolean"
2241
- },
2242
- "description": "The button color can be inverted by setting the inverted attribute to true.\n\nOnly applies when variant is set to `primary`, color is set to `default`\nand button is not `active`.",
2243
- "default": "false",
2244
- "attribute": "inverted",
2245
2224
  "reflects": true
2246
2225
  },
2247
2226
  {
2248
2227
  "kind": "field",
2249
- "name": "role",
2250
- "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.",
2251
- "default": "'button'",
2252
- "attribute": "role",
2253
- "reflects": true,
2228
+ "name": "softDisabled",
2254
2229
  "type": {
2255
- "text": "string"
2230
+ "text": "boolean | undefined"
2256
2231
  },
2257
- "inheritedFrom": {
2258
- "name": "Buttonsimple",
2259
- "module": "components/buttonsimple/buttonsimple.component.js"
2260
- }
2232
+ "description": "Indicates whether the buttonlink is soft disabled.\nWhen set to `true`, the buttonlink 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 buttonlink behaves like a disabled buttonlink, allowing only focus and\npreventing any interactions (clicks or keyboard actions) from triggering unintended actions.",
2233
+ "default": "undefined",
2234
+ "attribute": "soft-disabled",
2235
+ "reflects": true
2261
2236
  },
2262
2237
  {
2263
2238
  "kind": "method",
2264
- "name": "inferFilledIconName",
2239
+ "name": "setSoftDisabled",
2265
2240
  "privacy": "private",
2266
2241
  "parameters": [
2267
2242
  {
2268
- "name": "active",
2243
+ "name": "element",
2244
+ "type": {
2245
+ "text": "HTMLElement"
2246
+ },
2247
+ "description": "The buttonlink element."
2248
+ },
2249
+ {
2250
+ "name": "softDisabled",
2269
2251
  "optional": true,
2270
2252
  "type": {
2271
2253
  "text": "boolean"
2272
2254
  },
2273
- "description": "The active state."
2255
+ "description": "The soft-disabled state."
2274
2256
  }
2275
2257
  ],
2276
- "description": "Modifies the icon name based on the active state.\nIf the button is active, the icon name is suffixed with '-filled'.\nIf the button is inactive, the icon name is restored to its original value.\nIf '-filled' icon is not available, the icon name remains unchanged."
2258
+ "description": "Sets the soft-disabled attribute for the buttonlink.\nWhen soft-disabled, the buttonlink looks to be disabled but remains focusable and clickable.\nAlso sets/removes aria-disabled attribute."
2277
2259
  },
2278
2260
  {
2279
2261
  "kind": "field",
@@ -2406,17 +2388,17 @@
2406
2388
  },
2407
2389
  {
2408
2390
  "kind": "field",
2409
- "name": "autofocus",
2391
+ "name": "disabled",
2410
2392
  "type": {
2411
- "text": "boolean"
2393
+ "text": "boolean | undefined"
2412
2394
  },
2413
- "default": "false",
2414
- "description": "This property indicates whether the element should receive focus automatically when it is rendered.",
2415
- "attribute": "autofocus",
2395
+ "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
2396
+ "default": "undefined",
2397
+ "attribute": "disabled",
2416
2398
  "reflects": true,
2417
2399
  "inheritedFrom": {
2418
- "name": "AutoFocusMixin",
2419
- "module": "utils/mixins/AutoFocusMixin.js"
2400
+ "name": "DisabledMixin",
2401
+ "module": "utils/mixins/DisabledMixin.js"
2420
2402
  }
2421
2403
  },
2422
2404
  {
@@ -2436,140 +2418,85 @@
2436
2418
  },
2437
2419
  {
2438
2420
  "kind": "field",
2439
- "name": "disabled",
2421
+ "name": "inline",
2440
2422
  "type": {
2441
- "text": "boolean | undefined"
2423
+ "text": "boolean"
2442
2424
  },
2443
- "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
2444
- "default": "undefined",
2445
- "attribute": "disabled",
2425
+ "description": "The link can be inline or standalone.",
2426
+ "default": "false",
2427
+ "attribute": "inline",
2446
2428
  "reflects": true,
2447
2429
  "inheritedFrom": {
2448
- "name": "DisabledMixin",
2449
- "module": "utils/mixins/DisabledMixin.js"
2430
+ "name": "Linksimple",
2431
+ "module": "components/linksimple/linksimple.component.js"
2450
2432
  }
2451
2433
  },
2452
2434
  {
2453
2435
  "kind": "field",
2454
- "name": "active",
2436
+ "name": "inverted",
2455
2437
  "type": {
2456
- "text": "boolean | undefined"
2438
+ "text": "boolean"
2457
2439
  },
2458
- "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.\n\nThis attribute is used to set the provided `ariaStateKey` to true or false.",
2459
- "default": "undefined",
2460
- "attribute": "active",
2440
+ "description": "The link color can be inverted by setting the inverted attribute to true.",
2441
+ "default": "false",
2442
+ "attribute": "inverted",
2461
2443
  "reflects": true,
2462
2444
  "inheritedFrom": {
2463
- "name": "Buttonsimple",
2464
- "module": "components/buttonsimple/buttonsimple.component.js"
2445
+ "name": "Linksimple",
2446
+ "module": "components/linksimple/linksimple.component.js"
2465
2447
  }
2466
2448
  },
2467
2449
  {
2468
2450
  "kind": "field",
2469
- "name": "softDisabled",
2451
+ "name": "href",
2470
2452
  "type": {
2471
- "text": "boolean | undefined"
2453
+ "text": "string"
2472
2454
  },
2473
- "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.",
2474
- "default": "undefined",
2475
- "attribute": "soft-disabled",
2455
+ "default": "'#'",
2456
+ "description": "Href for navigation. The URL that the hyperlink points to",
2457
+ "attribute": "href",
2476
2458
  "reflects": true,
2477
2459
  "inheritedFrom": {
2478
- "name": "Buttonsimple",
2479
- "module": "components/buttonsimple/buttonsimple.component.js"
2460
+ "name": "Linksimple",
2461
+ "module": "components/linksimple/linksimple.component.js"
2480
2462
  }
2481
2463
  },
2482
2464
  {
2483
2465
  "kind": "field",
2484
- "name": "ariaStateKey",
2466
+ "name": "target",
2485
2467
  "type": {
2486
- "text": "string | undefined"
2468
+ "text": "string"
2487
2469
  },
2488
- "description": "This property defines the ARIA state key, which will be toggled when the\nButton is set to `active`.\nThe default value is 'aria-pressed', which is commonly used for toggle buttons.\n\nConsumers can override this property to use a different ARIA state key if needed.\nIn case multiple aria attributes should be toggled, they can be passed in as\na comma separated string.\nFor example: `aria-pressed,aria-expanded`",
2489
- "default": "'aria-pressed' (when)",
2490
- "attribute": "ariaStateKey",
2470
+ "default": "'_self'",
2471
+ "description": "Optional target: _blank, _self, _parent, _top and _unfencedTop",
2472
+ "attribute": "target",
2491
2473
  "reflects": true,
2492
2474
  "inheritedFrom": {
2493
- "name": "Buttonsimple",
2494
- "module": "components/buttonsimple/buttonsimple.component.js"
2475
+ "name": "Linksimple",
2476
+ "module": "components/linksimple/linksimple.component.js"
2495
2477
  }
2496
2478
  },
2497
2479
  {
2498
2480
  "kind": "field",
2499
- "name": "type",
2481
+ "name": "rel",
2500
2482
  "type": {
2501
- "text": "ButtonType"
2483
+ "text": "string | undefined"
2502
2484
  },
2503
- "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.",
2504
- "default": "button",
2505
- "attribute": "type",
2485
+ "description": "Optional rel attribute that defines the relationship of the linked URL as space-separated link types.",
2486
+ "attribute": "rel",
2506
2487
  "reflects": true,
2507
2488
  "inheritedFrom": {
2508
- "name": "Buttonsimple",
2509
- "module": "components/buttonsimple/buttonsimple.component.js"
2510
- }
2511
- },
2512
- {
2513
- "kind": "method",
2514
- "name": "executeAction",
2515
- "privacy": "protected",
2516
- "inheritedFrom": {
2517
- "name": "Buttonsimple",
2518
- "module": "components/buttonsimple/buttonsimple.component.js"
2519
- }
2520
- },
2521
- {
2522
- "kind": "method",
2523
- "name": "setActive",
2524
- "privacy": "protected",
2525
- "parameters": [
2526
- {
2527
- "name": "element",
2528
- "type": {
2529
- "text": "HTMLElement"
2530
- },
2531
- "description": "The button element"
2532
- },
2533
- {
2534
- "name": "active",
2535
- "optional": true,
2536
- "type": {
2537
- "text": "boolean"
2538
- },
2539
- "description": "The active state of the element"
2540
- }
2541
- ],
2542
- "description": "Sets the ariaStateKey attributes based on the active state of the button.",
2543
- "inheritedFrom": {
2544
- "name": "Buttonsimple",
2545
- "module": "components/buttonsimple/buttonsimple.component.js"
2489
+ "name": "Linksimple",
2490
+ "module": "components/linksimple/linksimple.component.js"
2546
2491
  }
2547
2492
  },
2548
2493
  {
2549
- "kind": "method",
2550
- "name": "setSoftDisabled",
2494
+ "kind": "field",
2495
+ "name": "handleNavigation",
2551
2496
  "privacy": "private",
2552
- "parameters": [
2553
- {
2554
- "name": "element",
2555
- "type": {
2556
- "text": "HTMLElement"
2557
- },
2558
- "description": "The button element."
2559
- },
2560
- {
2561
- "name": "softDisabled",
2562
- "optional": true,
2563
- "type": {
2564
- "text": "boolean"
2565
- },
2566
- "description": "The soft-disabled state."
2567
- }
2568
- ],
2569
- "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.",
2570
2497
  "inheritedFrom": {
2571
- "name": "Buttonsimple",
2572
- "module": "components/buttonsimple/buttonsimple.component.js"
2498
+ "name": "Linksimple",
2499
+ "module": "components/linksimple/linksimple.component.js"
2573
2500
  }
2574
2501
  },
2575
2502
  {
@@ -2577,82 +2504,56 @@
2577
2504
  "name": "setDisabled",
2578
2505
  "privacy": "private",
2579
2506
  "parameters": [
2580
- {
2581
- "name": "element",
2582
- "type": {
2583
- "text": "HTMLElement"
2584
- },
2585
- "description": "The button element."
2586
- },
2587
2507
  {
2588
2508
  "name": "disabled",
2589
2509
  "type": {
2590
2510
  "text": "boolean"
2591
2511
  },
2592
- "description": "The disabled state."
2512
+ "description": "Whether the element should be disabled"
2593
2513
  }
2594
2514
  ],
2595
- "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.",
2515
+ "description": "Sets or removes `aria-disabled` and updates `tabIndex` to reflect\nthe disabled state. When disabled, the element becomes unfocusable;\nwhen enabled, the previous `tabIndex` is restored.",
2596
2516
  "inheritedFrom": {
2597
- "name": "Buttonsimple",
2598
- "module": "components/buttonsimple/buttonsimple.component.js"
2517
+ "name": "Linksimple",
2518
+ "module": "components/linksimple/linksimple.component.js"
2519
+ }
2520
+ }
2521
+ ],
2522
+ "events": [
2523
+ {
2524
+ "description": "(React: onClick) Fired when the user activates the buttonLink using a mouse or assistive technology.",
2525
+ "name": "click",
2526
+ "reactName": "onClick",
2527
+ "inheritedFrom": {
2528
+ "name": "Linksimple",
2529
+ "module": "src/components/linksimple/linksimple.component.ts"
2599
2530
  }
2600
2531
  },
2601
2532
  {
2602
- "kind": "method",
2603
- "name": "triggerClickEvent",
2604
- "privacy": "private",
2533
+ "description": "(React: onKeyDown) Fired when the user presses a key while the buttonLink has focus.",
2534
+ "name": "keydown",
2535
+ "reactName": "onKeyDown",
2605
2536
  "inheritedFrom": {
2606
- "name": "Buttonsimple",
2607
- "module": "components/buttonsimple/buttonsimple.component.js"
2537
+ "name": "Linksimple",
2538
+ "module": "src/components/linksimple/linksimple.component.ts"
2608
2539
  }
2609
2540
  },
2610
2541
  {
2611
- "kind": "method",
2612
- "name": "handleBlur",
2613
- "privacy": "private",
2614
- "description": "In case the button is pressed and the focus is lost while pressing,\nthe pressed class is removed.",
2542
+ "description": "(React: onFocus) Fired when the buttonLink receives keyboard or mouse focus.",
2543
+ "name": "focus",
2544
+ "reactName": "onFocus",
2615
2545
  "inheritedFrom": {
2616
- "name": "Buttonsimple",
2617
- "module": "components/buttonsimple/buttonsimple.component.js"
2546
+ "name": "Linksimple",
2547
+ "module": "src/components/linksimple/linksimple.component.ts"
2618
2548
  }
2619
2549
  },
2620
2550
  {
2621
- "kind": "method",
2622
- "name": "handleKeyDown",
2623
- "privacy": "private",
2624
- "parameters": [
2625
- {
2626
- "name": "event",
2627
- "type": {
2628
- "text": "KeyboardEvent"
2629
- },
2630
- "description": "The keyboard event."
2631
- }
2632
- ],
2633
- "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.\nIf the key is 'Space', the button's default is prevent to avoid scrolling etc in the host application.",
2634
- "inheritedFrom": {
2635
- "name": "Buttonsimple",
2636
- "module": "components/buttonsimple/buttonsimple.component.js"
2637
- }
2638
- },
2639
- {
2640
- "kind": "method",
2641
- "name": "handleKeyUp",
2642
- "privacy": "private",
2643
- "parameters": [
2644
- {
2645
- "name": "event",
2646
- "type": {
2647
- "text": "KeyboardEvent"
2648
- },
2649
- "description": "The keyboard event."
2650
- }
2651
- ],
2652
- "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.",
2551
+ "description": "(React: onBlur) Fired when the buttonLink loses keyboard or mouse focus.",
2552
+ "name": "blur",
2553
+ "reactName": "onBlur",
2653
2554
  "inheritedFrom": {
2654
- "name": "Buttonsimple",
2655
- "module": "components/buttonsimple/buttonsimple.component.js"
2555
+ "name": "Linksimple",
2556
+ "module": "src/components/linksimple/linksimple.component.ts"
2656
2557
  }
2657
2558
  }
2658
2559
  ],
@@ -2660,37 +2561,20 @@
2660
2561
  {
2661
2562
  "name": "size",
2662
2563
  "type": {
2663
- "text": "ButtonSize"
2564
+ "text": "PillButtonSize | IconButtonSize"
2664
2565
  },
2665
- "description": "Button sizing is based on the button type.\n- **Pill button**: 40, 32, 28, 24.\n- **Icon button**: 64, 52, 40, 32, 28, 24.\n- Tertiary icon button can also be 20.",
2566
+ "description": "ButtonLink sizing is based on the buttonlink type.\n - **Pill buttonlink**: 40, 32, 28, 24.\n - **Icon buttonlink**: 64, 52, 40, 32, 28, 24.\n - Tertiary icon buttonlink can also be 20.",
2666
2567
  "default": "32",
2667
- "fieldName": "size",
2668
- "inheritedFrom": {
2669
- "name": "Buttonsimple",
2670
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
2671
- }
2672
- },
2673
- {
2674
- "name": "inverted",
2675
- "type": {
2676
- "text": "boolean"
2677
- },
2678
- "description": "The button color can be inverted by setting the inverted attribute to true.\n\nOnly applies when variant is set to `primary`, color is set to `default`\nand button is not `active`.",
2679
- "default": "false",
2680
- "fieldName": "inverted"
2568
+ "fieldName": "size"
2681
2569
  },
2682
2570
  {
2683
- "name": "role",
2684
- "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.",
2685
- "default": "'button'",
2686
- "fieldName": "role",
2571
+ "name": "soft-disabled",
2687
2572
  "type": {
2688
- "text": "string"
2573
+ "text": "boolean | undefined"
2689
2574
  },
2690
- "inheritedFrom": {
2691
- "name": "Buttonsimple",
2692
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
2693
- }
2575
+ "description": "Indicates whether the buttonlink is soft disabled.\nWhen set to `true`, the buttonlink 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 buttonlink behaves like a disabled buttonlink, allowing only focus and\npreventing any interactions (clicks or keyboard actions) from triggering unintended actions.",
2576
+ "default": "undefined",
2577
+ "fieldName": "softDisabled"
2694
2578
  },
2695
2579
  {
2696
2580
  "name": "prefix-icon",
@@ -2743,16 +2627,16 @@
2743
2627
  }
2744
2628
  },
2745
2629
  {
2746
- "name": "autofocus",
2630
+ "name": "disabled",
2747
2631
  "type": {
2748
- "text": "boolean"
2632
+ "text": "boolean | undefined"
2749
2633
  },
2750
- "default": "false",
2751
- "description": "This property indicates whether the element should receive focus automatically when it is rendered.",
2752
- "fieldName": "autofocus",
2634
+ "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
2635
+ "default": "undefined",
2636
+ "fieldName": "disabled",
2753
2637
  "inheritedFrom": {
2754
- "name": "AutoFocusMixin",
2755
- "module": "src/utils/mixins/AutoFocusMixin.ts"
2638
+ "name": "DisabledMixin",
2639
+ "module": "src/utils/mixins/DisabledMixin.ts"
2756
2640
  }
2757
2641
  },
2758
2642
  {
@@ -2769,68 +2653,67 @@
2769
2653
  }
2770
2654
  },
2771
2655
  {
2772
- "name": "disabled",
2656
+ "name": "inline",
2773
2657
  "type": {
2774
- "text": "boolean | undefined"
2658
+ "text": "boolean"
2775
2659
  },
2776
- "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
2777
- "default": "undefined",
2778
- "fieldName": "disabled",
2660
+ "description": "The link can be inline or standalone.",
2661
+ "default": "false",
2662
+ "fieldName": "inline",
2779
2663
  "inheritedFrom": {
2780
- "name": "DisabledMixin",
2781
- "module": "src/utils/mixins/DisabledMixin.ts"
2664
+ "name": "Linksimple",
2665
+ "module": "src/components/linksimple/linksimple.component.ts"
2782
2666
  }
2783
2667
  },
2784
2668
  {
2785
- "name": "active",
2669
+ "name": "inverted",
2786
2670
  "type": {
2787
- "text": "boolean | undefined"
2671
+ "text": "boolean"
2788
2672
  },
2789
- "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.\n\nThis attribute is used to set the provided `ariaStateKey` to true or false.",
2790
- "default": "undefined",
2791
- "fieldName": "active",
2673
+ "description": "The link color can be inverted by setting the inverted attribute to true.",
2674
+ "default": "false",
2675
+ "fieldName": "inverted",
2792
2676
  "inheritedFrom": {
2793
- "name": "Buttonsimple",
2794
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
2677
+ "name": "Linksimple",
2678
+ "module": "src/components/linksimple/linksimple.component.ts"
2795
2679
  }
2796
2680
  },
2797
2681
  {
2798
- "name": "soft-disabled",
2682
+ "name": "href",
2799
2683
  "type": {
2800
- "text": "boolean | undefined"
2684
+ "text": "string"
2801
2685
  },
2802
- "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.",
2803
- "default": "undefined",
2804
- "fieldName": "softDisabled",
2686
+ "default": "'#'",
2687
+ "description": "Href for navigation. The URL that the hyperlink points to",
2688
+ "fieldName": "href",
2805
2689
  "inheritedFrom": {
2806
- "name": "Buttonsimple",
2807
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
2690
+ "name": "Linksimple",
2691
+ "module": "src/components/linksimple/linksimple.component.ts"
2808
2692
  }
2809
2693
  },
2810
2694
  {
2811
- "name": "ariaStateKey",
2695
+ "name": "target",
2812
2696
  "type": {
2813
- "text": "string | undefined"
2697
+ "text": "string"
2814
2698
  },
2815
- "description": "This property defines the ARIA state key, which will be toggled when the\nButton is set to `active`.\nThe default value is 'aria-pressed', which is commonly used for toggle buttons.\n\nConsumers can override this property to use a different ARIA state key if needed.\nIn case multiple aria attributes should be toggled, they can be passed in as\na comma separated string.\nFor example: `aria-pressed,aria-expanded`",
2816
- "default": "'aria-pressed' (when)",
2817
- "fieldName": "ariaStateKey",
2699
+ "default": "'_self'",
2700
+ "description": "Optional target: _blank, _self, _parent, _top and _unfencedTop",
2701
+ "fieldName": "target",
2818
2702
  "inheritedFrom": {
2819
- "name": "Buttonsimple",
2820
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
2703
+ "name": "Linksimple",
2704
+ "module": "src/components/linksimple/linksimple.component.ts"
2821
2705
  }
2822
2706
  },
2823
2707
  {
2824
- "name": "type",
2708
+ "name": "rel",
2825
2709
  "type": {
2826
- "text": "ButtonType"
2710
+ "text": "string | undefined"
2827
2711
  },
2828
- "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.",
2829
- "default": "button",
2830
- "fieldName": "type",
2712
+ "description": "Optional rel attribute that defines the relationship of the linked URL as space-separated link types.",
2713
+ "fieldName": "rel",
2831
2714
  "inheritedFrom": {
2832
- "name": "Buttonsimple",
2833
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
2715
+ "name": "Linksimple",
2716
+ "module": "src/components/linksimple/linksimple.component.ts"
2834
2717
  }
2835
2718
  }
2836
2719
  ],
@@ -2841,47 +2724,83 @@
2841
2724
  }
2842
2725
  ],
2843
2726
  "superclass": {
2844
- "name": "Buttonsimple",
2845
- "module": "/src/components/buttonsimple/buttonsimple.component"
2727
+ "name": "Linksimple",
2728
+ "module": "/src/components/linksimple/linksimple.component"
2846
2729
  },
2847
- "tagName": "mdc-button",
2848
- "jsDoc": "/**\n * `mdc-button` is a component that can be configured in various ways to suit different use cases.\n *\n * Button Variants:\n * - **Primary**: Solid background color.\n * - **Secondary**: Transparent background with a solid border.\n * - **Tertiary**: No background or border, appears as plain text but retains all button functionalities.\n *\n * Button Colors:\n * - **Positive**: Green color.\n * - **Negative**: Red color.\n * - **Accent**: Blue color.\n * - **Promotional**: Purple color.\n * - **Default**: White color.\n *\n * Button Sizes (in REM units):\n * - **Pill button**: 40, 32, 28, 24.\n * - **Icon button**: 64, 52, 40, 32, 28, 24.\n * - **Tertiary icon button**: 20.\n *\n * Button Types:\n * - **Pill button**: A button that contains text value. Commonly used for call to action, tags, or filters.\n * - **Pill button with icons**: A button containing an icon either on the left or right side of the button.\n * - **Icon button**: A button represented by just an icon without any text.\n * The type of button is inferred based on the presence of slot and/or prefix and postfix icons.\n *\n * @dependency mdc-icon\n *\n * @tagname mdc-button\n *\n * @slot - Text label of the button.\n */",
2730
+ "tagName": "mdc-buttonlink",
2731
+ "jsDoc": "/**\n * `mdc-buttonlink` combines the functional behavior of `mdc-linksimple` with the visual and structural\n * features of `mdc-button`. This includes support for variants, sizing, and optional\n * prefix and postfix icons via slots.\n *\n * ### Features:\n * - Behaves like an link while visually resembling a button.\n * - Supports slots for `prefix-icon` and `postfix-icon`.\n * - Customizable size, color, and variant through attributes.\n * - Inherits accessibility and keyboard interaction support from `mdc-linksimple`.\n *\n * @dependency mdc-icon\n *\n * @tagname mdc-buttonlink\n *\n * @event click - (React: onClick) Fired when the user activates the buttonLink using a mouse or assistive technology.\n * @event keydown - (React: onKeyDown) Fired when the user presses a key while the buttonLink has focus.\n * @event focus - (React: onFocus) Fired when the buttonLink receives keyboard or mouse focus.\n * @event blur - (React: onBlur) Fired when the buttonLink loses keyboard or mouse focus.\n *\n */",
2849
2732
  "customElement": true,
2850
- "events": [
2733
+ "cssProperties": [
2851
2734
  {
2852
- "description": "(React: onClick) This event is dispatched when the button is clicked.",
2853
- "name": "click",
2854
- "reactName": "onClick",
2735
+ "description": "Border radius of the link.",
2736
+ "name": "--mdc-link-border-radius",
2855
2737
  "inheritedFrom": {
2856
- "name": "Buttonsimple",
2857
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
2738
+ "name": "Linksimple",
2739
+ "module": "src/components/linksimple/linksimple.component.ts"
2858
2740
  }
2859
2741
  },
2860
2742
  {
2861
- "description": "(React: onKeyDown) This event is dispatched when a key is pressed down on the button.",
2862
- "name": "keydown",
2863
- "reactName": "onKeyDown",
2743
+ "description": "Color of the link’s child content in the active state.",
2744
+ "name": "--mdc-link-color-active",
2864
2745
  "inheritedFrom": {
2865
- "name": "Buttonsimple",
2866
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
2746
+ "name": "Linksimple",
2747
+ "module": "src/components/linksimple/linksimple.component.ts"
2867
2748
  }
2868
2749
  },
2869
2750
  {
2870
- "description": "(React: onKeyUp) This event is dispatched when a key is released on the button.",
2871
- "name": "keyup",
2872
- "reactName": "onKeyUp",
2751
+ "description": "Color of the link’s child content in the disabled state.",
2752
+ "name": "--mdc-link-color-disabled",
2873
2753
  "inheritedFrom": {
2874
- "name": "Buttonsimple",
2875
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
2754
+ "name": "Linksimple",
2755
+ "module": "src/components/linksimple/linksimple.component.ts"
2876
2756
  }
2877
2757
  },
2878
2758
  {
2879
- "description": "(React: onFocus) This event is dispatched when the button receives focus.",
2880
- "name": "focus",
2881
- "reactName": "onFocus",
2759
+ "description": "Color of the link’s child content in the hover state.",
2760
+ "name": "--mdc-link-color-hover",
2882
2761
  "inheritedFrom": {
2883
- "name": "Buttonsimple",
2884
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
2762
+ "name": "Linksimple",
2763
+ "module": "src/components/linksimple/linksimple.component.ts"
2764
+ }
2765
+ },
2766
+ {
2767
+ "description": "Color of the link’s child content in the normal state.",
2768
+ "name": "--mdc-link-color-normal",
2769
+ "inheritedFrom": {
2770
+ "name": "Linksimple",
2771
+ "module": "src/components/linksimple/linksimple.component.ts"
2772
+ }
2773
+ },
2774
+ {
2775
+ "description": "Color of the inverted link’s child content in the active state.",
2776
+ "name": "--mdc-link-inverted-color-active",
2777
+ "inheritedFrom": {
2778
+ "name": "Linksimple",
2779
+ "module": "src/components/linksimple/linksimple.component.ts"
2780
+ }
2781
+ },
2782
+ {
2783
+ "description": "Color of the inverted link’s child content in the disabled state.",
2784
+ "name": "--mdc-link-inverted-color-disabled",
2785
+ "inheritedFrom": {
2786
+ "name": "Linksimple",
2787
+ "module": "src/components/linksimple/linksimple.component.ts"
2788
+ }
2789
+ },
2790
+ {
2791
+ "description": "Color of the inverted link’s child content in the hover state.",
2792
+ "name": "--mdc-link-inverted-color-hover",
2793
+ "inheritedFrom": {
2794
+ "name": "Linksimple",
2795
+ "module": "src/components/linksimple/linksimple.component.ts"
2796
+ }
2797
+ },
2798
+ {
2799
+ "description": "Color of the inverted link’s child content in the normal state.",
2800
+ "name": "--mdc-link-inverted-color-normal",
2801
+ "inheritedFrom": {
2802
+ "name": "Linksimple",
2803
+ "module": "src/components/linksimple/linksimple.component.ts"
2885
2804
  }
2886
2805
  }
2887
2806
  ]
@@ -2892,340 +2811,211 @@
2892
2811
  "kind": "js",
2893
2812
  "name": "default",
2894
2813
  "declaration": {
2895
- "name": "Button",
2896
- "module": "components/button/button.component.js"
2814
+ "name": "ButtonLink",
2815
+ "module": "components/buttonlink/buttonlink.component.js"
2897
2816
  }
2898
2817
  }
2899
2818
  ]
2900
2819
  },
2901
2820
  {
2902
2821
  "kind": "javascript-module",
2903
- "path": "components/buttongroup/buttongroup.component.js",
2822
+ "path": "components/buttonsimple/buttonsimple.component.js",
2904
2823
  "declarations": [
2905
2824
  {
2906
2825
  "kind": "class",
2907
- "description": "buttongroup component, is a styled wrapper for multiple buttons.\nIt can support icon buttons, combination of icon and pill buttons, and text buttons.\nThey are available in horizontal and vertical orientation.",
2908
- "name": "ButtonGroup",
2909
- "cssProperties": [
2910
- {
2911
- "description": "The border radius of the buttongroup",
2912
- "name": "--mdc-buttongroup-border-radius"
2913
- },
2914
- {
2915
- "description": "The border color of the buttongroup",
2916
- "name": "--mdc-buttongroup-border-color"
2917
- },
2918
- {
2919
- "description": "The color of the divider between buttons within the buttongroup",
2920
- "name": "--mdc-buttongroup-divider-color"
2921
- }
2922
- ],
2923
- "slots": [
2924
- {
2925
- "description": "This is a default/unnamed slot, which contains the buttons",
2926
- "name": "default"
2927
- }
2928
- ],
2929
- "members": [
2826
+ "description": "`mdc-buttonsimple` is a component that can be configured in various ways to suit different use cases.\nIt is used as an internal component and is not intended to be used directly by consumers.\nConsumers should use the `mdc-button` component instead.",
2827
+ "name": "Buttonsimple",
2828
+ "members": [
2930
2829
  {
2931
2830
  "kind": "field",
2932
- "name": "orientation",
2831
+ "name": "active",
2933
2832
  "type": {
2934
- "text": "ButtonGroupOrientation"
2833
+ "text": "boolean | undefined"
2935
2834
  },
2936
- "description": "Orientation of the buttongroup.",
2937
- "default": "'horizontal'",
2938
- "attribute": "orientation",
2835
+ "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.\n\nThis attribute is used to set the provided `ariaStateKey` to true or false.",
2836
+ "default": "undefined",
2837
+ "attribute": "active",
2939
2838
  "reflects": true
2940
2839
  },
2941
2840
  {
2942
2841
  "kind": "field",
2943
- "name": "variant",
2842
+ "name": "softDisabled",
2944
2843
  "type": {
2945
- "text": "ButtonGroupVariant"
2844
+ "text": "boolean | undefined"
2946
2845
  },
2947
- "description": "Variant of the buttons within the buttongroup.",
2948
- "default": "'primary'",
2949
- "attribute": "variant",
2846
+ "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.",
2847
+ "default": "undefined",
2848
+ "attribute": "soft-disabled",
2950
2849
  "reflects": true
2951
2850
  },
2952
2851
  {
2953
2852
  "kind": "field",
2954
2853
  "name": "size",
2955
2854
  "type": {
2956
- "text": "ButtonGroupSize"
2855
+ "text": "ButtonSize"
2957
2856
  },
2958
- "description": "Size of the buttons within the buttongroup.",
2959
- "default": "'28'",
2857
+ "description": "Simplebutton size is a super set of all the sizes supported by children components.",
2858
+ "default": "32",
2960
2859
  "attribute": "size",
2961
2860
  "reflects": true
2962
2861
  },
2963
2862
  {
2964
2863
  "kind": "field",
2965
- "name": "compact",
2966
- "type": {
2967
- "text": "boolean"
2968
- },
2969
- "default": "false",
2970
- "description": "When this is true, the buttons within the buttongroup will be compact.\ni.e. Irrespective of the size of the buttons, they will have a height of 24px.",
2971
- "attribute": "compact",
2864
+ "name": "role",
2865
+ "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.",
2866
+ "default": "button",
2867
+ "attribute": "role",
2972
2868
  "reflects": true
2973
- }
2974
- ],
2975
- "attributes": [
2976
- {
2977
- "name": "orientation",
2978
- "type": {
2979
- "text": "ButtonGroupOrientation"
2980
- },
2981
- "description": "Orientation of the buttongroup.",
2982
- "default": "'horizontal'",
2983
- "fieldName": "orientation"
2984
- },
2985
- {
2986
- "name": "variant",
2987
- "type": {
2988
- "text": "ButtonGroupVariant"
2989
- },
2990
- "description": "Variant of the buttons within the buttongroup.",
2991
- "default": "'primary'",
2992
- "fieldName": "variant"
2993
- },
2994
- {
2995
- "name": "size",
2996
- "type": {
2997
- "text": "ButtonGroupSize"
2998
- },
2999
- "description": "Size of the buttons within the buttongroup.",
3000
- "default": "'28'",
3001
- "fieldName": "size"
3002
2869
  },
3003
- {
3004
- "name": "compact",
3005
- "type": {
3006
- "text": "boolean"
3007
- },
3008
- "default": "false",
3009
- "description": "When this is true, the buttons within the buttongroup will be compact.\ni.e. Irrespective of the size of the buttons, they will have a height of 24px.",
3010
- "fieldName": "compact"
3011
- }
3012
- ],
3013
- "superclass": {
3014
- "name": "Component",
3015
- "module": "/src/models"
3016
- },
3017
- "tagName": "mdc-buttongroup",
3018
- "jsDoc": "/**\n * buttongroup component, is a styled wrapper for multiple buttons.\n * It can support icon buttons, combination of icon and pill buttons, and text buttons.\n * They are available in horizontal and vertical orientation.\n *\n * @tagname mdc-buttongroup\n *\n * @slot default - This is a default/unnamed slot, which contains the buttons\n *\n * @cssproperty --mdc-buttongroup-border-radius - The border radius of the buttongroup\n * @cssproperty --mdc-buttongroup-border-color - The border color of the buttongroup\n * @cssproperty --mdc-buttongroup-divider-color - The color of the divider between buttons within the buttongroup\n */",
3019
- "customElement": true
3020
- }
3021
- ],
3022
- "exports": [
3023
- {
3024
- "kind": "js",
3025
- "name": "default",
3026
- "declaration": {
3027
- "name": "ButtonGroup",
3028
- "module": "components/buttongroup/buttongroup.component.js"
3029
- }
3030
- }
3031
- ]
3032
- },
3033
- {
3034
- "kind": "javascript-module",
3035
- "path": "components/buttonlink/buttonlink.component.js",
3036
- "declarations": [
3037
- {
3038
- "kind": "class",
3039
- "description": "`mdc-buttonlink` combines the functional behavior of `mdc-linksimple` with the visual and structural\nfeatures of `mdc-button`. This includes support for variants, sizing, and optional\nprefix and postfix icons via slots.\n\n### Features:\n- Behaves like an link while visually resembling a button.\n- Supports slots for `prefix-icon` and `postfix-icon`.\n- Customizable size, color, and variant through attributes.\n- Inherits accessibility and keyboard interaction support from `mdc-linksimple`.",
3040
- "name": "ButtonLink",
3041
- "members": [
3042
2870
  {
3043
2871
  "kind": "field",
3044
- "name": "size",
2872
+ "name": "ariaStateKey",
3045
2873
  "type": {
3046
- "text": "PillButtonSize | IconButtonSize"
2874
+ "text": "string | undefined"
3047
2875
  },
3048
- "description": "ButtonLink sizing is based on the buttonlink type.\n - **Pill buttonlink**: 40, 32, 28, 24.\n - **Icon buttonlink**: 64, 52, 40, 32, 28, 24.\n - Tertiary icon buttonlink can also be 20.",
3049
- "default": "32",
3050
- "attribute": "size",
2876
+ "description": "This property defines the ARIA state key, which will be toggled when the\nButton is set to `active`.\nThe default value is 'aria-pressed', which is commonly used for toggle buttons.\n\nConsumers can override this property to use a different ARIA state key if needed.\nIn case multiple aria attributes should be toggled, they can be passed in as\na comma separated string.\nFor example: `aria-pressed,aria-expanded`",
2877
+ "default": "'aria-pressed' (when)",
2878
+ "attribute": "ariaStateKey",
3051
2879
  "reflects": true
3052
2880
  },
3053
2881
  {
3054
2882
  "kind": "field",
3055
- "name": "softDisabled",
2883
+ "name": "type",
3056
2884
  "type": {
3057
- "text": "boolean | undefined"
2885
+ "text": "ButtonType"
3058
2886
  },
3059
- "description": "Indicates whether the buttonlink is soft disabled.\nWhen set to `true`, the buttonlink 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 buttonlink behaves like a disabled buttonlink, allowing only focus and\npreventing any interactions (clicks or keyboard actions) from triggering unintended actions.",
3060
- "default": "undefined",
3061
- "attribute": "soft-disabled",
2887
+ "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.",
2888
+ "default": "button",
2889
+ "attribute": "type",
3062
2890
  "reflects": true
3063
2891
  },
3064
2892
  {
3065
2893
  "kind": "method",
3066
- "name": "setSoftDisabled",
3067
- "privacy": "private",
2894
+ "name": "executeAction",
2895
+ "privacy": "protected"
2896
+ },
2897
+ {
2898
+ "kind": "method",
2899
+ "name": "setActive",
2900
+ "privacy": "protected",
3068
2901
  "parameters": [
3069
2902
  {
3070
2903
  "name": "element",
3071
2904
  "type": {
3072
2905
  "text": "HTMLElement"
3073
2906
  },
3074
- "description": "The buttonlink element."
2907
+ "description": "The button element"
3075
2908
  },
3076
2909
  {
3077
- "name": "softDisabled",
2910
+ "name": "active",
3078
2911
  "optional": true,
3079
2912
  "type": {
3080
2913
  "text": "boolean"
3081
2914
  },
3082
- "description": "The soft-disabled state."
2915
+ "description": "The active state of the element"
3083
2916
  }
3084
2917
  ],
3085
- "description": "Sets the soft-disabled attribute for the buttonlink.\nWhen soft-disabled, the buttonlink looks to be disabled but remains focusable and clickable.\nAlso sets/removes aria-disabled attribute."
3086
- },
3087
- {
3088
- "kind": "field",
3089
- "name": "prefixIcon",
3090
- "type": {
3091
- "text": "IconNames | undefined"
3092
- },
3093
- "description": "The name of the icon to display as a prefix.\nThe icon is displayed on the left side of the button.",
3094
- "attribute": "prefix-icon",
3095
- "reflects": true,
3096
- "inheritedFrom": {
3097
- "name": "ButtonComponentMixin",
3098
- "module": "utils/mixins/ButtonComponentMixin.js"
3099
- }
3100
- },
3101
- {
3102
- "kind": "field",
3103
- "name": "postfixIcon",
3104
- "type": {
3105
- "text": "IconNames | undefined"
3106
- },
3107
- "description": "The name of the icon to display as a postfix.\nThe icon is displayed on the right side of the button.",
3108
- "attribute": "postfix-icon",
3109
- "reflects": true,
3110
- "inheritedFrom": {
3111
- "name": "ButtonComponentMixin",
3112
- "module": "utils/mixins/ButtonComponentMixin.js"
3113
- }
3114
- },
3115
- {
3116
- "kind": "field",
3117
- "name": "variant",
3118
- "type": {
3119
- "text": "ButtonVariant"
3120
- },
3121
- "description": "There are 3 variants of button: primary, secondary, tertiary. They are styled differently.\n- **Primary**: Solid background color.\n- **Secondary**: Transparent background with a solid border.\n- **Tertiary**: No background or border, appears as plain text but retains all button functionalities.",
3122
- "default": "primary",
3123
- "attribute": "variant",
3124
- "inheritedFrom": {
3125
- "name": "ButtonComponentMixin",
3126
- "module": "utils/mixins/ButtonComponentMixin.js"
3127
- }
3128
- },
3129
- {
3130
- "kind": "field",
3131
- "name": "color",
3132
- "type": {
3133
- "text": "ButtonColor"
3134
- },
3135
- "description": "There are 5 colors for button: positive, negative, accent, promotional, default.",
3136
- "default": "default",
3137
- "attribute": "color",
3138
- "inheritedFrom": {
3139
- "name": "ButtonComponentMixin",
3140
- "module": "utils/mixins/ButtonComponentMixin.js"
3141
- }
2918
+ "description": "Sets the ariaStateKey attributes based on the active state of the button."
3142
2919
  },
3143
2920
  {
3144
2921
  "kind": "method",
3145
- "name": "setVariant",
3146
- "privacy": "protected",
2922
+ "name": "setSoftDisabled",
2923
+ "privacy": "private",
3147
2924
  "parameters": [
3148
2925
  {
3149
- "name": "variant",
2926
+ "name": "element",
3150
2927
  "type": {
3151
- "text": "ButtonVariant"
2928
+ "text": "HTMLElement"
3152
2929
  },
3153
- "description": "The variant to set."
3154
- }
3155
- ],
3156
- "description": "Sets the variant attribute for the button component.\nIf the provided variant is not included in the BUTTON_VARIANTS,\nit defaults to the value specified in DEFAULTS.VARIANT.",
3157
- "inheritedFrom": {
3158
- "name": "ButtonComponentMixin",
3159
- "module": "utils/mixins/ButtonComponentMixin.js"
3160
- }
3161
- },
3162
- {
3163
- "kind": "method",
3164
- "name": "setColor",
3165
- "privacy": "protected",
3166
- "parameters": [
2930
+ "description": "The button element."
2931
+ },
3167
2932
  {
3168
- "name": "color",
2933
+ "name": "softDisabled",
2934
+ "optional": true,
3169
2935
  "type": {
3170
- "text": "ButtonColor"
2936
+ "text": "boolean"
3171
2937
  },
3172
- "description": "The color to set."
2938
+ "description": "The soft-disabled state."
3173
2939
  }
3174
2940
  ],
3175
- "description": "Sets the color attribute for the button.\nDefaults to DEFAULTS.COLOR if invalid or for tertiary button.",
3176
- "inheritedFrom": {
3177
- "name": "ButtonComponentMixin",
3178
- "module": "utils/mixins/ButtonComponentMixin.js"
3179
- }
2941
+ "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."
3180
2942
  },
3181
2943
  {
3182
2944
  "kind": "method",
3183
- "name": "setSize",
3184
- "privacy": "protected",
2945
+ "name": "setDisabled",
2946
+ "privacy": "private",
3185
2947
  "parameters": [
3186
2948
  {
3187
- "name": "size",
2949
+ "name": "element",
3188
2950
  "type": {
3189
- "text": "PillButtonSize | IconButtonSize"
2951
+ "text": "HTMLElement"
3190
2952
  },
3191
- "description": "The size to set."
2953
+ "description": "The button element."
2954
+ },
2955
+ {
2956
+ "name": "disabled",
2957
+ "type": {
2958
+ "text": "boolean"
2959
+ },
2960
+ "description": "The disabled state."
3192
2961
  }
3193
2962
  ],
3194
- "description": "Sets the size attribute for the button component.\nValidates the size based on the button type (icon, pill, or tertiary).\nDefaults to DEFAULTS.SIZE if invalid.",
3195
- "inheritedFrom": {
3196
- "name": "ButtonComponentMixin",
3197
- "module": "utils/mixins/ButtonComponentMixin.js"
3198
- }
2963
+ "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."
3199
2964
  },
3200
2965
  {
3201
2966
  "kind": "method",
3202
- "name": "inferButtonType",
3203
- "privacy": "protected",
3204
- "description": "Infers the type of button based on the presence of slot and/or prefix and postfix icons.",
2967
+ "name": "triggerClickEvent",
2968
+ "privacy": "private"
2969
+ },
2970
+ {
2971
+ "kind": "method",
2972
+ "name": "handleBlur",
2973
+ "privacy": "private",
2974
+ "description": "In case the button is pressed and the focus is lost while pressing,\nthe pressed class is removed."
2975
+ },
2976
+ {
2977
+ "kind": "method",
2978
+ "name": "handleKeyDown",
2979
+ "privacy": "private",
3205
2980
  "parameters": [
3206
2981
  {
3207
- "description": "default slot of button",
3208
- "name": "slot"
2982
+ "name": "event",
2983
+ "type": {
2984
+ "text": "KeyboardEvent"
2985
+ },
2986
+ "description": "The keyboard event."
3209
2987
  }
3210
2988
  ],
3211
- "inheritedFrom": {
3212
- "name": "ButtonComponentMixin",
3213
- "module": "utils/mixins/ButtonComponentMixin.js"
3214
- }
2989
+ "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.\nIf the key is 'Space', the button's default is prevent to avoid scrolling etc in the host application."
2990
+ },
2991
+ {
2992
+ "kind": "method",
2993
+ "name": "handleKeyUp",
2994
+ "privacy": "private",
2995
+ "parameters": [
2996
+ {
2997
+ "name": "event",
2998
+ "type": {
2999
+ "text": "KeyboardEvent"
3000
+ },
3001
+ "description": "The keyboard event."
3002
+ }
3003
+ ],
3004
+ "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."
3215
3005
  },
3216
3006
  {
3217
3007
  "kind": "field",
3218
- "name": "disabled",
3008
+ "name": "autofocus",
3219
3009
  "type": {
3220
- "text": "boolean | undefined"
3010
+ "text": "boolean"
3221
3011
  },
3222
- "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
3223
- "default": "undefined",
3224
- "attribute": "disabled",
3012
+ "default": "false",
3013
+ "description": "This property indicates whether the element should receive focus automatically when it is rendered.",
3014
+ "attribute": "autofocus",
3225
3015
  "reflects": true,
3226
3016
  "inheritedFrom": {
3227
- "name": "DisabledMixin",
3228
- "module": "utils/mixins/DisabledMixin.js"
3017
+ "name": "AutoFocusMixin",
3018
+ "module": "utils/mixins/AutoFocusMixin.js"
3229
3019
  }
3230
3020
  },
3231
3021
  {
@@ -3245,225 +3035,105 @@
3245
3035
  },
3246
3036
  {
3247
3037
  "kind": "field",
3248
- "name": "inline",
3249
- "type": {
3250
- "text": "boolean"
3251
- },
3252
- "description": "The link can be inline or standalone.",
3253
- "default": "false",
3254
- "attribute": "inline",
3255
- "reflects": true,
3256
- "inheritedFrom": {
3257
- "name": "Linksimple",
3258
- "module": "components/linksimple/linksimple.component.js"
3259
- }
3260
- },
3261
- {
3262
- "kind": "field",
3263
- "name": "inverted",
3264
- "type": {
3265
- "text": "boolean"
3266
- },
3267
- "description": "The link color can be inverted by setting the inverted attribute to true.",
3268
- "default": "false",
3269
- "attribute": "inverted",
3270
- "reflects": true,
3271
- "inheritedFrom": {
3272
- "name": "Linksimple",
3273
- "module": "components/linksimple/linksimple.component.js"
3274
- }
3275
- },
3276
- {
3277
- "kind": "field",
3278
- "name": "href",
3279
- "type": {
3280
- "text": "string"
3281
- },
3282
- "default": "'#'",
3283
- "description": "Href for navigation. The URL that the hyperlink points to",
3284
- "attribute": "href",
3285
- "reflects": true,
3286
- "inheritedFrom": {
3287
- "name": "Linksimple",
3288
- "module": "components/linksimple/linksimple.component.js"
3289
- }
3290
- },
3291
- {
3292
- "kind": "field",
3293
- "name": "target",
3294
- "type": {
3295
- "text": "string"
3296
- },
3297
- "default": "'_self'",
3298
- "description": "Optional target: _blank, _self, _parent, _top and _unfencedTop",
3299
- "attribute": "target",
3300
- "reflects": true,
3301
- "inheritedFrom": {
3302
- "name": "Linksimple",
3303
- "module": "components/linksimple/linksimple.component.js"
3304
- }
3305
- },
3306
- {
3307
- "kind": "field",
3308
- "name": "rel",
3038
+ "name": "disabled",
3309
3039
  "type": {
3310
- "text": "string | undefined"
3040
+ "text": "boolean | undefined"
3311
3041
  },
3312
- "description": "Optional rel attribute that defines the relationship of the linked URL as space-separated link types.",
3313
- "attribute": "rel",
3042
+ "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
3043
+ "default": "undefined",
3044
+ "attribute": "disabled",
3314
3045
  "reflects": true,
3315
3046
  "inheritedFrom": {
3316
- "name": "Linksimple",
3317
- "module": "components/linksimple/linksimple.component.js"
3318
- }
3319
- },
3320
- {
3321
- "kind": "field",
3322
- "name": "handleNavigation",
3323
- "privacy": "private",
3324
- "inheritedFrom": {
3325
- "name": "Linksimple",
3326
- "module": "components/linksimple/linksimple.component.js"
3327
- }
3328
- },
3329
- {
3330
- "kind": "method",
3331
- "name": "setDisabled",
3332
- "privacy": "private",
3333
- "parameters": [
3334
- {
3335
- "name": "disabled",
3336
- "type": {
3337
- "text": "boolean"
3338
- },
3339
- "description": "Whether the element should be disabled"
3340
- }
3341
- ],
3342
- "description": "Sets or removes `aria-disabled` and updates `tabIndex` to reflect\nthe disabled state. When disabled, the element becomes unfocusable;\nwhen enabled, the previous `tabIndex` is restored.",
3343
- "inheritedFrom": {
3344
- "name": "Linksimple",
3345
- "module": "components/linksimple/linksimple.component.js"
3047
+ "name": "DisabledMixin",
3048
+ "module": "utils/mixins/DisabledMixin.js"
3346
3049
  }
3347
3050
  }
3348
3051
  ],
3349
3052
  "events": [
3350
3053
  {
3351
- "description": "(React: onClick) Fired when the user activates the buttonLink using a mouse or assistive technology.",
3054
+ "description": "(React: onClick) This event is dispatched when the button is clicked.",
3352
3055
  "name": "click",
3353
- "reactName": "onClick",
3354
- "inheritedFrom": {
3355
- "name": "Linksimple",
3356
- "module": "src/components/linksimple/linksimple.component.ts"
3357
- }
3056
+ "reactName": "onClick"
3358
3057
  },
3359
3058
  {
3360
- "description": "(React: onKeyDown) Fired when the user presses a key while the buttonLink has focus.",
3059
+ "description": "(React: onKeyDown) This event is dispatched when a key is pressed down on the button.",
3361
3060
  "name": "keydown",
3362
- "reactName": "onKeyDown",
3363
- "inheritedFrom": {
3364
- "name": "Linksimple",
3365
- "module": "src/components/linksimple/linksimple.component.ts"
3366
- }
3061
+ "reactName": "onKeyDown"
3367
3062
  },
3368
3063
  {
3369
- "description": "(React: onFocus) Fired when the buttonLink receives keyboard or mouse focus.",
3370
- "name": "focus",
3371
- "reactName": "onFocus",
3372
- "inheritedFrom": {
3373
- "name": "Linksimple",
3374
- "module": "src/components/linksimple/linksimple.component.ts"
3375
- }
3064
+ "description": "(React: onKeyUp) This event is dispatched when a key is released on the button.",
3065
+ "name": "keyup",
3066
+ "reactName": "onKeyUp"
3376
3067
  },
3377
3068
  {
3378
- "description": "(React: onBlur) Fired when the buttonLink loses keyboard or mouse focus.",
3379
- "name": "blur",
3380
- "reactName": "onBlur",
3381
- "inheritedFrom": {
3382
- "name": "Linksimple",
3383
- "module": "src/components/linksimple/linksimple.component.ts"
3384
- }
3069
+ "description": "(React: onFocus) This event is dispatched when the button receives focus.",
3070
+ "name": "focus",
3071
+ "reactName": "onFocus"
3385
3072
  }
3386
3073
  ],
3387
3074
  "attributes": [
3388
3075
  {
3389
- "name": "size",
3076
+ "name": "active",
3390
3077
  "type": {
3391
- "text": "PillButtonSize | IconButtonSize"
3078
+ "text": "boolean | undefined"
3392
3079
  },
3393
- "description": "ButtonLink sizing is based on the buttonlink type.\n - **Pill buttonlink**: 40, 32, 28, 24.\n - **Icon buttonlink**: 64, 52, 40, 32, 28, 24.\n - Tertiary icon buttonlink can also be 20.",
3394
- "default": "32",
3395
- "fieldName": "size"
3080
+ "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.\n\nThis attribute is used to set the provided `ariaStateKey` to true or false.",
3081
+ "default": "undefined",
3082
+ "fieldName": "active"
3396
3083
  },
3397
3084
  {
3398
3085
  "name": "soft-disabled",
3399
3086
  "type": {
3400
3087
  "text": "boolean | undefined"
3401
3088
  },
3402
- "description": "Indicates whether the buttonlink is soft disabled.\nWhen set to `true`, the buttonlink 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 buttonlink behaves like a disabled buttonlink, allowing only focus and\npreventing any interactions (clicks or keyboard actions) from triggering unintended actions.",
3089
+ "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.",
3403
3090
  "default": "undefined",
3404
3091
  "fieldName": "softDisabled"
3405
3092
  },
3406
3093
  {
3407
- "name": "prefix-icon",
3094
+ "name": "size",
3408
3095
  "type": {
3409
- "text": "IconNames | undefined"
3096
+ "text": "ButtonSize"
3410
3097
  },
3411
- "description": "The name of the icon to display as a prefix.\nThe icon is displayed on the left side of the button.",
3412
- "fieldName": "prefixIcon",
3413
- "inheritedFrom": {
3414
- "name": "ButtonComponentMixin",
3415
- "module": "src/utils/mixins/ButtonComponentMixin.ts"
3416
- }
3098
+ "description": "Simplebutton size is a super set of all the sizes supported by children components.",
3099
+ "default": "32",
3100
+ "fieldName": "size"
3417
3101
  },
3418
3102
  {
3419
- "name": "postfix-icon",
3420
- "type": {
3421
- "text": "IconNames | undefined"
3422
- },
3423
- "description": "The name of the icon to display as a postfix.\nThe icon is displayed on the right side of the button.",
3424
- "fieldName": "postfixIcon",
3425
- "inheritedFrom": {
3426
- "name": "ButtonComponentMixin",
3427
- "module": "src/utils/mixins/ButtonComponentMixin.ts"
3428
- }
3103
+ "name": "role",
3104
+ "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.",
3105
+ "default": "button",
3106
+ "fieldName": "role"
3429
3107
  },
3430
3108
  {
3431
- "name": "variant",
3109
+ "name": "ariaStateKey",
3432
3110
  "type": {
3433
- "text": "ButtonVariant"
3111
+ "text": "string | undefined"
3434
3112
  },
3435
- "description": "There are 3 variants of button: primary, secondary, tertiary. They are styled differently.\n- **Primary**: Solid background color.\n- **Secondary**: Transparent background with a solid border.\n- **Tertiary**: No background or border, appears as plain text but retains all button functionalities.",
3436
- "default": "primary",
3437
- "fieldName": "variant",
3438
- "inheritedFrom": {
3439
- "name": "ButtonComponentMixin",
3440
- "module": "src/utils/mixins/ButtonComponentMixin.ts"
3441
- }
3113
+ "description": "This property defines the ARIA state key, which will be toggled when the\nButton is set to `active`.\nThe default value is 'aria-pressed', which is commonly used for toggle buttons.\n\nConsumers can override this property to use a different ARIA state key if needed.\nIn case multiple aria attributes should be toggled, they can be passed in as\na comma separated string.\nFor example: `aria-pressed,aria-expanded`",
3114
+ "default": "'aria-pressed' (when)",
3115
+ "fieldName": "ariaStateKey"
3442
3116
  },
3443
3117
  {
3444
- "name": "color",
3118
+ "name": "type",
3445
3119
  "type": {
3446
- "text": "ButtonColor"
3120
+ "text": "ButtonType"
3447
3121
  },
3448
- "description": "There are 5 colors for button: positive, negative, accent, promotional, default.",
3449
- "default": "default",
3450
- "fieldName": "color",
3451
- "inheritedFrom": {
3452
- "name": "ButtonComponentMixin",
3453
- "module": "src/utils/mixins/ButtonComponentMixin.ts"
3454
- }
3122
+ "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.",
3123
+ "default": "button",
3124
+ "fieldName": "type"
3455
3125
  },
3456
3126
  {
3457
- "name": "disabled",
3127
+ "name": "autofocus",
3458
3128
  "type": {
3459
- "text": "boolean | undefined"
3129
+ "text": "boolean"
3460
3130
  },
3461
- "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
3462
- "default": "undefined",
3463
- "fieldName": "disabled",
3131
+ "default": "false",
3132
+ "description": "This property indicates whether the element should receive focus automatically when it is rendered.",
3133
+ "fieldName": "autofocus",
3464
3134
  "inheritedFrom": {
3465
- "name": "DisabledMixin",
3466
- "module": "src/utils/mixins/DisabledMixin.ts"
3135
+ "name": "AutoFocusMixin",
3136
+ "module": "src/utils/mixins/AutoFocusMixin.ts"
3467
3137
  }
3468
3138
  },
3469
3139
  {
@@ -3480,536 +3150,576 @@
3480
3150
  }
3481
3151
  },
3482
3152
  {
3483
- "name": "inline",
3153
+ "name": "disabled",
3484
3154
  "type": {
3485
- "text": "boolean"
3155
+ "text": "boolean | undefined"
3486
3156
  },
3487
- "description": "The link can be inline or standalone.",
3488
- "default": "false",
3489
- "fieldName": "inline",
3157
+ "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
3158
+ "default": "undefined",
3159
+ "fieldName": "disabled",
3490
3160
  "inheritedFrom": {
3491
- "name": "Linksimple",
3492
- "module": "src/components/linksimple/linksimple.component.ts"
3161
+ "name": "DisabledMixin",
3162
+ "module": "src/utils/mixins/DisabledMixin.ts"
3493
3163
  }
3164
+ }
3165
+ ],
3166
+ "mixins": [
3167
+ {
3168
+ "name": "AutoFocusMixin",
3169
+ "module": "/src/utils/mixins/AutoFocusMixin"
3494
3170
  },
3495
3171
  {
3496
- "name": "inverted",
3172
+ "name": "TabIndexMixin",
3173
+ "module": "/src/utils/mixins/TabIndexMixin"
3174
+ },
3175
+ {
3176
+ "name": "DisabledMixin",
3177
+ "module": "/src/utils/mixins/DisabledMixin"
3178
+ }
3179
+ ],
3180
+ "superclass": {
3181
+ "name": "Component",
3182
+ "module": "/src/models"
3183
+ },
3184
+ "tagName": "mdc-buttonsimple",
3185
+ "jsDoc": "/**\n * `mdc-buttonsimple` is a component that can be configured in various ways to suit different use cases.\n * It is used as an internal component and is not intended to be used directly by consumers.\n * Consumers should use the `mdc-button` component instead.\n *\n * @event click - (React: onClick) This event is dispatched when the button is clicked.\n * @event keydown - (React: onKeyDown) This event is dispatched when a key is pressed down on the button.\n * @event keyup - (React: onKeyUp) This event is dispatched when a key is released on the button.\n * @event focus - (React: onFocus) This event is dispatched when the button receives focus.\n *\n * @tagname mdc-buttonsimple\n */",
3186
+ "customElement": true
3187
+ }
3188
+ ],
3189
+ "exports": [
3190
+ {
3191
+ "kind": "js",
3192
+ "name": "default",
3193
+ "declaration": {
3194
+ "name": "Buttonsimple",
3195
+ "module": "components/buttonsimple/buttonsimple.component.js"
3196
+ }
3197
+ }
3198
+ ]
3199
+ },
3200
+ {
3201
+ "kind": "javascript-module",
3202
+ "path": "components/card/card.component.js",
3203
+ "declarations": [
3204
+ {
3205
+ "kind": "class",
3206
+ "description": "The card component allows users to organize information in a structured and tangible\nformat that is visually appealing. `mdc-card` is a static component that supports\nthe following features:\n- Image\n- Header\n - Icon\n - Title\n - Subtitle\n- Body\n\nThe card can either be vertically or horizontally oriented.\n\nThere are 2 variants for the card that represent the border styling - 'border' and 'ghost'.\n\nTo make this card interactive, use the following slots:\n- `icon-button`: This slot supports action icon buttons in the header section (maximum of 3 buttons).\n- `footer-link`: This slot is for passing `mdc-link` component within the footer section.\n- `footer-button-primary`: This slot is for passing primary variant of\n`mdc-button` component within the footer section.\n- `footer-button-secondary`: This slot is for passing secondary variant of `mdc-button` component\nwithin the footer section.\n\nInteractive card additionally supports 'promotional' variant that represents the border styling - 'promotional'.",
3207
+ "name": "Card",
3208
+ "slots": [
3209
+ {
3210
+ "description": "This slot is for passing the content before the body",
3211
+ "name": "before-body"
3212
+ },
3213
+ {
3214
+ "description": "This slot is for passing the text content for the card",
3215
+ "name": "body"
3216
+ },
3217
+ {
3218
+ "description": "This slot is for passing the content after the body",
3219
+ "name": "after-body"
3220
+ },
3221
+ {
3222
+ "description": "This slot is for passing `mdc-link` component within the footer section.",
3223
+ "name": "footer-link"
3224
+ },
3225
+ {
3226
+ "description": "This slot is for passing primary variant of `mdc-button` component within the footer section.",
3227
+ "name": "footer-button-primary"
3228
+ },
3229
+ {
3230
+ "description": "This slot is for passing secondary variant of `mdc-button` component within the footer section.",
3231
+ "name": "footer-button-secondary"
3232
+ },
3233
+ {
3234
+ "description": " This slot is for passing custom footer content. Only use this if really needed, using the footer-link and footer-button slots is preferred.",
3235
+ "name": "footer"
3236
+ },
3237
+ {
3238
+ "description": "This slot is for passing the content before the body",
3239
+ "name": "before-body"
3240
+ },
3241
+ {
3242
+ "description": "This slot is for passing the text content for the card",
3243
+ "name": "body"
3244
+ },
3245
+ {
3246
+ "description": "This slot is for passing the content after the body",
3247
+ "name": "after-body"
3248
+ }
3249
+ ],
3250
+ "members": [
3251
+ {
3252
+ "kind": "method",
3253
+ "name": "renderHeader",
3254
+ "privacy": "protected",
3255
+ "description": "Renders the header of the card if title is provided",
3256
+ "return": {
3257
+ "type": {
3258
+ "text": ""
3259
+ }
3260
+ }
3261
+ },
3262
+ {
3263
+ "kind": "field",
3264
+ "name": "cardTitle",
3497
3265
  "type": {
3498
- "text": "boolean"
3266
+ "text": "string"
3499
3267
  },
3500
- "description": "The link color can be inverted by setting the inverted attribute to true.",
3501
- "default": "false",
3502
- "fieldName": "inverted",
3268
+ "default": "''",
3269
+ "description": "The title of the card - part of header section",
3270
+ "attribute": "card-title",
3271
+ "reflects": true,
3503
3272
  "inheritedFrom": {
3504
- "name": "Linksimple",
3505
- "module": "src/components/linksimple/linksimple.component.ts"
3273
+ "name": "CardComponentMixin",
3274
+ "module": "utils/mixins/CardComponentMixin.js"
3506
3275
  }
3507
3276
  },
3508
3277
  {
3509
- "name": "href",
3278
+ "kind": "field",
3279
+ "name": "subtitle",
3510
3280
  "type": {
3511
3281
  "text": "string"
3512
3282
  },
3513
- "default": "'#'",
3514
- "description": "Href for navigation. The URL that the hyperlink points to",
3515
- "fieldName": "href",
3283
+ "default": "''",
3284
+ "description": "The subtitle of the card - part of header section",
3285
+ "attribute": "subtitle",
3286
+ "reflects": true,
3516
3287
  "inheritedFrom": {
3517
- "name": "Linksimple",
3518
- "module": "src/components/linksimple/linksimple.component.ts"
3288
+ "name": "CardComponentMixin",
3289
+ "module": "utils/mixins/CardComponentMixin.js"
3519
3290
  }
3520
3291
  },
3521
3292
  {
3522
- "name": "target",
3293
+ "kind": "field",
3294
+ "name": "imageSrc",
3523
3295
  "type": {
3524
3296
  "text": "string"
3525
3297
  },
3526
- "default": "'_self'",
3527
- "description": "Optional target: _blank, _self, _parent, _top and _unfencedTop",
3528
- "fieldName": "target",
3298
+ "default": "''",
3299
+ "description": "The image source URL to render on the card",
3300
+ "attribute": "image-src",
3301
+ "reflects": true,
3529
3302
  "inheritedFrom": {
3530
- "name": "Linksimple",
3531
- "module": "src/components/linksimple/linksimple.component.ts"
3303
+ "name": "CardComponentMixin",
3304
+ "module": "utils/mixins/CardComponentMixin.js"
3532
3305
  }
3533
3306
  },
3534
3307
  {
3535
- "name": "rel",
3308
+ "kind": "field",
3309
+ "name": "imageAlt",
3536
3310
  "type": {
3537
- "text": "string | undefined"
3311
+ "text": "string"
3538
3312
  },
3539
- "description": "Optional rel attribute that defines the relationship of the linked URL as space-separated link types.",
3540
- "fieldName": "rel",
3313
+ "default": "''",
3314
+ "description": "The image alt for accessibility support",
3315
+ "attribute": "image-alt",
3316
+ "reflects": true,
3541
3317
  "inheritedFrom": {
3542
- "name": "Linksimple",
3543
- "module": "src/components/linksimple/linksimple.component.ts"
3318
+ "name": "CardComponentMixin",
3319
+ "module": "utils/mixins/CardComponentMixin.js"
3544
3320
  }
3545
- }
3546
- ],
3547
- "mixins": [
3548
- {
3549
- "name": "ButtonComponentMixin",
3550
- "module": "/src/utils/mixins/ButtonComponentMixin"
3551
- }
3552
- ],
3553
- "superclass": {
3554
- "name": "Linksimple",
3555
- "module": "/src/components/linksimple/linksimple.component"
3556
- },
3557
- "tagName": "mdc-buttonlink",
3558
- "jsDoc": "/**\n * `mdc-buttonlink` combines the functional behavior of `mdc-linksimple` with the visual and structural\n * features of `mdc-button`. This includes support for variants, sizing, and optional\n * prefix and postfix icons via slots.\n *\n * ### Features:\n * - Behaves like an link while visually resembling a button.\n * - Supports slots for `prefix-icon` and `postfix-icon`.\n * - Customizable size, color, and variant through attributes.\n * - Inherits accessibility and keyboard interaction support from `mdc-linksimple`.\n *\n * @dependency mdc-icon\n *\n * @tagname mdc-buttonlink\n *\n * @event click - (React: onClick) Fired when the user activates the buttonLink using a mouse or assistive technology.\n * @event keydown - (React: onKeyDown) Fired when the user presses a key while the buttonLink has focus.\n * @event focus - (React: onFocus) Fired when the buttonLink receives keyboard or mouse focus.\n * @event blur - (React: onBlur) Fired when the buttonLink loses keyboard or mouse focus.\n *\n */",
3559
- "customElement": true,
3560
- "cssProperties": [
3321
+ },
3561
3322
  {
3562
- "description": "Border radius of the link.",
3563
- "name": "--mdc-link-border-radius",
3323
+ "kind": "field",
3324
+ "name": "variant",
3325
+ "type": {
3326
+ "text": "CardVariant"
3327
+ },
3328
+ "description": "The variant of the card. It can either be set to 'border' or 'ghost'",
3329
+ "default": "'border'",
3330
+ "attribute": "variant",
3331
+ "reflects": true,
3564
3332
  "inheritedFrom": {
3565
- "name": "Linksimple",
3566
- "module": "src/components/linksimple/linksimple.component.ts"
3333
+ "name": "CardComponentMixin",
3334
+ "module": "utils/mixins/CardComponentMixin.js"
3567
3335
  }
3568
3336
  },
3569
3337
  {
3570
- "description": "Color of the link’s child content in the active state.",
3571
- "name": "--mdc-link-color-active",
3338
+ "kind": "field",
3339
+ "name": "orientation",
3340
+ "type": {
3341
+ "text": "CardOrientation"
3342
+ },
3343
+ "description": "The orientation of the card. It can either be set to 'vertical' or 'horizontal'",
3344
+ "default": "'vertical'",
3345
+ "attribute": "orientation",
3346
+ "reflects": true,
3572
3347
  "inheritedFrom": {
3573
- "name": "Linksimple",
3574
- "module": "src/components/linksimple/linksimple.component.ts"
3348
+ "name": "CardComponentMixin",
3349
+ "module": "utils/mixins/CardComponentMixin.js"
3575
3350
  }
3576
3351
  },
3577
3352
  {
3578
- "description": "Color of the link’s child content in the disabled state.",
3579
- "name": "--mdc-link-color-disabled",
3580
- "inheritedFrom": {
3581
- "name": "Linksimple",
3582
- "module": "src/components/linksimple/linksimple.component.ts"
3353
+ "kind": "field",
3354
+ "name": "titleTagName",
3355
+ "type": {
3356
+ "text": "TagNameType"
3357
+ },
3358
+ "description": "The tag name for the card title. It supports all the types that `msc-text` supports",
3359
+ "default": "'span'",
3360
+ "attribute": "title-tag-name",
3361
+ "reflects": true,
3362
+ "inheritedFrom": {
3363
+ "name": "CardComponentMixin",
3364
+ "module": "utils/mixins/CardComponentMixin.js"
3583
3365
  }
3584
3366
  },
3585
3367
  {
3586
- "description": "Color of the link’s child content in the hover state.",
3587
- "name": "--mdc-link-color-hover",
3368
+ "kind": "field",
3369
+ "name": "subtitleTagName",
3370
+ "type": {
3371
+ "text": "TagNameType"
3372
+ },
3373
+ "description": "The tag name for the subtitle. It supports all the types that `msc-text` supports",
3374
+ "default": "'span'",
3375
+ "attribute": "subtitle-tag-name",
3376
+ "reflects": true,
3588
3377
  "inheritedFrom": {
3589
- "name": "Linksimple",
3590
- "module": "src/components/linksimple/linksimple.component.ts"
3378
+ "name": "CardComponentMixin",
3379
+ "module": "utils/mixins/CardComponentMixin.js"
3591
3380
  }
3592
3381
  },
3593
3382
  {
3594
- "description": "Color of the link’s child content in the normal state.",
3595
- "name": "--mdc-link-color-normal",
3383
+ "kind": "field",
3384
+ "name": "iconName",
3385
+ "type": {
3386
+ "text": "IconNames | undefined"
3387
+ },
3388
+ "description": "Name of the icon (= filename).\n\nIf no `icon-name` is provided, no icon will be rendered.",
3389
+ "attribute": "icon-name",
3390
+ "reflects": true,
3596
3391
  "inheritedFrom": {
3597
- "name": "Linksimple",
3598
- "module": "src/components/linksimple/linksimple.component.ts"
3392
+ "name": "CardComponentMixin",
3393
+ "module": "utils/mixins/CardComponentMixin.js"
3599
3394
  }
3600
3395
  },
3601
3396
  {
3602
- "description": "Color of the inverted link’s child content in the active state.",
3603
- "name": "--mdc-link-inverted-color-active",
3397
+ "kind": "method",
3398
+ "name": "renderImage",
3399
+ "privacy": "protected",
3400
+ "description": "Renders the image on the card if image source is provided",
3401
+ "return": {
3402
+ "type": {
3403
+ "text": ""
3404
+ }
3405
+ },
3604
3406
  "inheritedFrom": {
3605
- "name": "Linksimple",
3606
- "module": "src/components/linksimple/linksimple.component.ts"
3407
+ "name": "CardComponentMixin",
3408
+ "module": "utils/mixins/CardComponentMixin.js"
3607
3409
  }
3608
3410
  },
3609
3411
  {
3610
- "description": "Color of the inverted link’s child content in the disabled state.",
3611
- "name": "--mdc-link-inverted-color-disabled",
3412
+ "kind": "method",
3413
+ "name": "renderIcon",
3414
+ "privacy": "protected",
3415
+ "description": "Renders the icon on the card if icon name is provided",
3416
+ "return": {
3417
+ "type": {
3418
+ "text": ""
3419
+ }
3420
+ },
3612
3421
  "inheritedFrom": {
3613
- "name": "Linksimple",
3614
- "module": "src/components/linksimple/linksimple.component.ts"
3422
+ "name": "CardComponentMixin",
3423
+ "module": "utils/mixins/CardComponentMixin.js"
3615
3424
  }
3616
3425
  },
3617
3426
  {
3618
- "description": "Color of the inverted link’s child content in the hover state.",
3619
- "name": "--mdc-link-inverted-color-hover",
3427
+ "kind": "method",
3428
+ "name": "renderTitle",
3429
+ "privacy": "protected",
3430
+ "description": "Renders the title and subtitle on the card",
3431
+ "return": {
3432
+ "type": {
3433
+ "text": ""
3434
+ }
3435
+ },
3620
3436
  "inheritedFrom": {
3621
- "name": "Linksimple",
3622
- "module": "src/components/linksimple/linksimple.component.ts"
3437
+ "name": "CardComponentMixin",
3438
+ "module": "utils/mixins/CardComponentMixin.js"
3623
3439
  }
3624
3440
  },
3625
3441
  {
3626
- "description": "Color of the inverted link’s child content in the normal state.",
3627
- "name": "--mdc-link-inverted-color-normal",
3442
+ "kind": "method",
3443
+ "name": "renderFooter",
3444
+ "privacy": "protected",
3445
+ "description": "Renders the footer of the card if footer-link,\nfooter-button-primary, or footer-button-secondary slots are provided",
3446
+ "return": {
3447
+ "type": {
3448
+ "text": ""
3449
+ }
3450
+ },
3628
3451
  "inheritedFrom": {
3629
- "name": "Linksimple",
3630
- "module": "src/components/linksimple/linksimple.component.ts"
3452
+ "name": "CardAndDialogFooterMixin",
3453
+ "module": "utils/mixins/CardAndDialogFooterMixin.js"
3631
3454
  }
3632
3455
  }
3633
- ]
3634
- }
3635
- ],
3636
- "exports": [
3637
- {
3638
- "kind": "js",
3639
- "name": "default",
3640
- "declaration": {
3641
- "name": "ButtonLink",
3642
- "module": "components/buttonlink/buttonlink.component.js"
3643
- }
3644
- }
3645
- ]
3646
- },
3647
- {
3648
- "kind": "javascript-module",
3649
- "path": "components/buttonsimple/buttonsimple.component.js",
3650
- "declarations": [
3651
- {
3652
- "kind": "class",
3653
- "description": "`mdc-buttonsimple` is a component that can be configured in various ways to suit different use cases.\nIt is used as an internal component and is not intended to be used directly by consumers.\nConsumers should use the `mdc-button` component instead.",
3654
- "name": "Buttonsimple",
3655
- "members": [
3456
+ ],
3457
+ "mixins": [
3656
3458
  {
3657
- "kind": "field",
3658
- "name": "active",
3459
+ "name": "CardComponentMixin",
3460
+ "module": "/src/utils/mixins/CardComponentMixin"
3461
+ },
3462
+ {
3463
+ "name": "CardAndDialogFooterMixin",
3464
+ "module": "/src/utils/mixins/CardAndDialogFooterMixin"
3465
+ }
3466
+ ],
3467
+ "superclass": {
3468
+ "name": "Component",
3469
+ "module": "/src/models"
3470
+ },
3471
+ "tagName": "mdc-card",
3472
+ "jsDoc": "/**\n * The card component allows users to organize information in a structured and tangible\n * format that is visually appealing. `mdc-card` is a static component that supports\n * the following features:\n * - Image\n * - Header\n * - Icon\n * - Title\n * - Subtitle\n * - Body\n *\n * The card can either be vertically or horizontally oriented.\n *\n * There are 2 variants for the card that represent the border styling - 'border' and 'ghost'.\n *\n * To make this card interactive, use the following slots:\n * - `icon-button`: This slot supports action icon buttons in the header section (maximum of 3 buttons).\n * - `footer-link`: This slot is for passing `mdc-link` component within the footer section.\n * - `footer-button-primary`: This slot is for passing primary variant of\n * `mdc-button` component within the footer section.\n * - `footer-button-secondary`: This slot is for passing secondary variant of `mdc-button` component\n * within the footer section.\n *\n * Interactive card additionally supports 'promotional' variant that represents the border styling - 'promotional'.\n *\n * @slot before-body - This slot is for passing the content before the body\n * @slot body - This slot is for passing the text content for the card\n * @slot after-body - This slot is for passing the content after the body\n * @slot footer-link - This slot is for passing `mdc-link` component within the footer section.\n * @slot footer-button-primary - This slot is for passing primary variant of\n * `mdc-button` component within the footer section.\n * @slot footer-button-secondary - This slot is for passing secondary variant of `mdc-button` component\n * within the footer section.\n * @slot footer - This slot is for passing custom footer content. Only use this if really needed,\n * using the footer-link and footer-button slots is preferred.\n *\n * @tagname mdc-card\n *\n * @dependency mdc-icon\n * @dependency mdc-text\n *\n * @slot before-body - This slot is for passing the content before the body\n * @slot body - This slot is for passing the text content for the card\n * @slot after-body - This slot is for passing the content after the body\n *\n */",
3473
+ "customElement": true,
3474
+ "attributes": [
3475
+ {
3476
+ "name": "card-title",
3659
3477
  "type": {
3660
- "text": "boolean | undefined"
3478
+ "text": "string"
3661
3479
  },
3662
- "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.\n\nThis attribute is used to set the provided `ariaStateKey` to true or false.",
3663
- "default": "undefined",
3664
- "attribute": "active",
3665
- "reflects": true
3480
+ "default": "''",
3481
+ "description": "The title of the card - part of header section",
3482
+ "fieldName": "cardTitle",
3483
+ "inheritedFrom": {
3484
+ "name": "CardComponentMixin",
3485
+ "module": "src/utils/mixins/CardComponentMixin.ts"
3486
+ }
3666
3487
  },
3667
3488
  {
3668
- "kind": "field",
3669
- "name": "softDisabled",
3489
+ "name": "subtitle",
3670
3490
  "type": {
3671
- "text": "boolean | undefined"
3491
+ "text": "string"
3672
3492
  },
3673
- "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.",
3674
- "default": "undefined",
3675
- "attribute": "soft-disabled",
3676
- "reflects": true
3493
+ "default": "''",
3494
+ "description": "The subtitle of the card - part of header section",
3495
+ "fieldName": "subtitle",
3496
+ "inheritedFrom": {
3497
+ "name": "CardComponentMixin",
3498
+ "module": "src/utils/mixins/CardComponentMixin.ts"
3499
+ }
3677
3500
  },
3678
3501
  {
3679
- "kind": "field",
3680
- "name": "size",
3502
+ "name": "image-src",
3681
3503
  "type": {
3682
- "text": "ButtonSize"
3504
+ "text": "string"
3683
3505
  },
3684
- "description": "Simplebutton size is a super set of all the sizes supported by children components.",
3685
- "default": "32",
3686
- "attribute": "size",
3687
- "reflects": true
3506
+ "default": "''",
3507
+ "description": "The image source URL to render on the card",
3508
+ "fieldName": "imageSrc",
3509
+ "inheritedFrom": {
3510
+ "name": "CardComponentMixin",
3511
+ "module": "src/utils/mixins/CardComponentMixin.ts"
3512
+ }
3688
3513
  },
3689
3514
  {
3690
- "kind": "field",
3691
- "name": "role",
3692
- "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.",
3693
- "default": "button",
3694
- "attribute": "role",
3695
- "reflects": true
3515
+ "name": "image-alt",
3516
+ "type": {
3517
+ "text": "string"
3518
+ },
3519
+ "default": "''",
3520
+ "description": "The image alt for accessibility support",
3521
+ "fieldName": "imageAlt",
3522
+ "inheritedFrom": {
3523
+ "name": "CardComponentMixin",
3524
+ "module": "src/utils/mixins/CardComponentMixin.ts"
3525
+ }
3696
3526
  },
3697
3527
  {
3698
- "kind": "field",
3699
- "name": "ariaStateKey",
3528
+ "name": "variant",
3700
3529
  "type": {
3701
- "text": "string | undefined"
3530
+ "text": "CardVariant"
3702
3531
  },
3703
- "description": "This property defines the ARIA state key, which will be toggled when the\nButton is set to `active`.\nThe default value is 'aria-pressed', which is commonly used for toggle buttons.\n\nConsumers can override this property to use a different ARIA state key if needed.\nIn case multiple aria attributes should be toggled, they can be passed in as\na comma separated string.\nFor example: `aria-pressed,aria-expanded`",
3704
- "default": "'aria-pressed' (when)",
3705
- "attribute": "ariaStateKey",
3706
- "reflects": true
3532
+ "description": "The variant of the card. It can either be set to 'border' or 'ghost'",
3533
+ "default": "'border'",
3534
+ "fieldName": "variant",
3535
+ "inheritedFrom": {
3536
+ "name": "CardComponentMixin",
3537
+ "module": "src/utils/mixins/CardComponentMixin.ts"
3538
+ }
3707
3539
  },
3708
3540
  {
3709
- "kind": "field",
3710
- "name": "type",
3541
+ "name": "orientation",
3711
3542
  "type": {
3712
- "text": "ButtonType"
3543
+ "text": "CardOrientation"
3713
3544
  },
3714
- "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.",
3715
- "default": "button",
3716
- "attribute": "type",
3717
- "reflects": true
3545
+ "description": "The orientation of the card. It can either be set to 'vertical' or 'horizontal'",
3546
+ "default": "'vertical'",
3547
+ "fieldName": "orientation",
3548
+ "inheritedFrom": {
3549
+ "name": "CardComponentMixin",
3550
+ "module": "src/utils/mixins/CardComponentMixin.ts"
3551
+ }
3718
3552
  },
3719
3553
  {
3720
- "kind": "method",
3721
- "name": "executeAction",
3722
- "privacy": "protected"
3554
+ "name": "title-tag-name",
3555
+ "type": {
3556
+ "text": "TagNameType"
3557
+ },
3558
+ "description": "The tag name for the card title. It supports all the types that `msc-text` supports",
3559
+ "default": "'span'",
3560
+ "fieldName": "titleTagName",
3561
+ "inheritedFrom": {
3562
+ "name": "CardComponentMixin",
3563
+ "module": "src/utils/mixins/CardComponentMixin.ts"
3564
+ }
3723
3565
  },
3724
3566
  {
3725
- "kind": "method",
3726
- "name": "setActive",
3727
- "privacy": "protected",
3728
- "parameters": [
3729
- {
3730
- "name": "element",
3731
- "type": {
3732
- "text": "HTMLElement"
3733
- },
3734
- "description": "The button element"
3735
- },
3736
- {
3737
- "name": "active",
3738
- "optional": true,
3739
- "type": {
3740
- "text": "boolean"
3741
- },
3742
- "description": "The active state of the element"
3743
- }
3744
- ],
3745
- "description": "Sets the ariaStateKey attributes based on the active state of the button."
3746
- },
3747
- {
3748
- "kind": "method",
3749
- "name": "setSoftDisabled",
3750
- "privacy": "private",
3751
- "parameters": [
3752
- {
3753
- "name": "element",
3754
- "type": {
3755
- "text": "HTMLElement"
3756
- },
3757
- "description": "The button element."
3758
- },
3759
- {
3760
- "name": "softDisabled",
3761
- "optional": true,
3762
- "type": {
3763
- "text": "boolean"
3764
- },
3765
- "description": "The soft-disabled state."
3766
- }
3767
- ],
3768
- "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."
3769
- },
3770
- {
3771
- "kind": "method",
3772
- "name": "setDisabled",
3773
- "privacy": "private",
3774
- "parameters": [
3775
- {
3776
- "name": "element",
3777
- "type": {
3778
- "text": "HTMLElement"
3779
- },
3780
- "description": "The button element."
3781
- },
3782
- {
3783
- "name": "disabled",
3784
- "type": {
3785
- "text": "boolean"
3786
- },
3787
- "description": "The disabled state."
3788
- }
3789
- ],
3790
- "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."
3791
- },
3792
- {
3793
- "kind": "method",
3794
- "name": "triggerClickEvent",
3795
- "privacy": "private"
3796
- },
3797
- {
3798
- "kind": "method",
3799
- "name": "handleBlur",
3800
- "privacy": "private",
3801
- "description": "In case the button is pressed and the focus is lost while pressing,\nthe pressed class is removed."
3802
- },
3803
- {
3804
- "kind": "method",
3805
- "name": "handleKeyDown",
3806
- "privacy": "private",
3807
- "parameters": [
3808
- {
3809
- "name": "event",
3810
- "type": {
3811
- "text": "KeyboardEvent"
3812
- },
3813
- "description": "The keyboard event."
3814
- }
3815
- ],
3816
- "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.\nIf the key is 'Space', the button's default is prevent to avoid scrolling etc in the host application."
3817
- },
3818
- {
3819
- "kind": "method",
3820
- "name": "handleKeyUp",
3821
- "privacy": "private",
3822
- "parameters": [
3823
- {
3824
- "name": "event",
3825
- "type": {
3826
- "text": "KeyboardEvent"
3827
- },
3828
- "description": "The keyboard event."
3829
- }
3830
- ],
3831
- "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."
3832
- },
3833
- {
3834
- "kind": "field",
3835
- "name": "autofocus",
3836
- "type": {
3837
- "text": "boolean"
3838
- },
3839
- "default": "false",
3840
- "description": "This property indicates whether the element should receive focus automatically when it is rendered.",
3841
- "attribute": "autofocus",
3842
- "reflects": true,
3843
- "inheritedFrom": {
3844
- "name": "AutoFocusMixin",
3845
- "module": "utils/mixins/AutoFocusMixin.js"
3846
- }
3847
- },
3848
- {
3849
- "kind": "field",
3850
- "name": "tabIndex",
3567
+ "name": "subtitle-tag-name",
3851
3568
  "type": {
3852
- "text": "number"
3569
+ "text": "TagNameType"
3853
3570
  },
3854
- "default": "0",
3855
- "description": "This property specifies the tab order of the element.",
3856
- "attribute": "tabIndex",
3857
- "reflects": true,
3571
+ "description": "The tag name for the subtitle. It supports all the types that `msc-text` supports",
3572
+ "default": "'span'",
3573
+ "fieldName": "subtitleTagName",
3858
3574
  "inheritedFrom": {
3859
- "name": "TabIndexMixin",
3860
- "module": "utils/mixins/TabIndexMixin.js"
3575
+ "name": "CardComponentMixin",
3576
+ "module": "src/utils/mixins/CardComponentMixin.ts"
3861
3577
  }
3862
3578
  },
3863
3579
  {
3864
- "kind": "field",
3865
- "name": "disabled",
3580
+ "name": "icon-name",
3866
3581
  "type": {
3867
- "text": "boolean | undefined"
3582
+ "text": "IconNames | undefined"
3868
3583
  },
3869
- "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
3870
- "default": "undefined",
3871
- "attribute": "disabled",
3872
- "reflects": true,
3584
+ "description": "Name of the icon (= filename).\n\nIf no `icon-name` is provided, no icon will be rendered.",
3585
+ "fieldName": "iconName",
3873
3586
  "inheritedFrom": {
3874
- "name": "DisabledMixin",
3875
- "module": "utils/mixins/DisabledMixin.js"
3587
+ "name": "CardComponentMixin",
3588
+ "module": "src/utils/mixins/CardComponentMixin.ts"
3876
3589
  }
3877
3590
  }
3878
- ],
3879
- "events": [
3591
+ ]
3592
+ }
3593
+ ],
3594
+ "exports": [
3595
+ {
3596
+ "kind": "js",
3597
+ "name": "default",
3598
+ "declaration": {
3599
+ "name": "Card",
3600
+ "module": "components/card/card.component.js"
3601
+ }
3602
+ }
3603
+ ]
3604
+ },
3605
+ {
3606
+ "kind": "javascript-module",
3607
+ "path": "components/buttongroup/buttongroup.component.js",
3608
+ "declarations": [
3609
+ {
3610
+ "kind": "class",
3611
+ "description": "buttongroup component, is a styled wrapper for multiple buttons.\nIt can support icon buttons, combination of icon and pill buttons, and text buttons.\nThey are available in horizontal and vertical orientation.",
3612
+ "name": "ButtonGroup",
3613
+ "cssProperties": [
3880
3614
  {
3881
- "description": "(React: onClick) This event is dispatched when the button is clicked.",
3882
- "name": "click",
3883
- "reactName": "onClick"
3615
+ "description": "The border radius of the buttongroup",
3616
+ "name": "--mdc-buttongroup-border-radius"
3884
3617
  },
3885
3618
  {
3886
- "description": "(React: onKeyDown) This event is dispatched when a key is pressed down on the button.",
3887
- "name": "keydown",
3888
- "reactName": "onKeyDown"
3619
+ "description": "The border color of the buttongroup",
3620
+ "name": "--mdc-buttongroup-border-color"
3889
3621
  },
3890
3622
  {
3891
- "description": "(React: onKeyUp) This event is dispatched when a key is released on the button.",
3892
- "name": "keyup",
3893
- "reactName": "onKeyUp"
3894
- },
3623
+ "description": "The color of the divider between buttons within the buttongroup",
3624
+ "name": "--mdc-buttongroup-divider-color"
3625
+ }
3626
+ ],
3627
+ "slots": [
3895
3628
  {
3896
- "description": "(React: onFocus) This event is dispatched when the button receives focus.",
3897
- "name": "focus",
3898
- "reactName": "onFocus"
3629
+ "description": "This is a default/unnamed slot, which contains the buttons",
3630
+ "name": "default"
3899
3631
  }
3900
3632
  ],
3901
- "attributes": [
3633
+ "members": [
3902
3634
  {
3903
- "name": "active",
3635
+ "kind": "field",
3636
+ "name": "orientation",
3904
3637
  "type": {
3905
- "text": "boolean | undefined"
3638
+ "text": "ButtonGroupOrientation"
3906
3639
  },
3907
- "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.\n\nThis attribute is used to set the provided `ariaStateKey` to true or false.",
3908
- "default": "undefined",
3909
- "fieldName": "active"
3640
+ "description": "Orientation of the buttongroup.",
3641
+ "default": "'horizontal'",
3642
+ "attribute": "orientation",
3643
+ "reflects": true
3910
3644
  },
3911
3645
  {
3912
- "name": "soft-disabled",
3646
+ "kind": "field",
3647
+ "name": "variant",
3913
3648
  "type": {
3914
- "text": "boolean | undefined"
3649
+ "text": "ButtonGroupVariant"
3915
3650
  },
3916
- "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.",
3917
- "default": "undefined",
3918
- "fieldName": "softDisabled"
3651
+ "description": "Variant of the buttons within the buttongroup.",
3652
+ "default": "'primary'",
3653
+ "attribute": "variant",
3654
+ "reflects": true
3919
3655
  },
3920
3656
  {
3657
+ "kind": "field",
3921
3658
  "name": "size",
3922
3659
  "type": {
3923
- "text": "ButtonSize"
3924
- },
3925
- "description": "Simplebutton size is a super set of all the sizes supported by children components.",
3926
- "default": "32",
3927
- "fieldName": "size"
3928
- },
3929
- {
3930
- "name": "role",
3931
- "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.",
3932
- "default": "button",
3933
- "fieldName": "role"
3934
- },
3935
- {
3936
- "name": "ariaStateKey",
3937
- "type": {
3938
- "text": "string | undefined"
3939
- },
3940
- "description": "This property defines the ARIA state key, which will be toggled when the\nButton is set to `active`.\nThe default value is 'aria-pressed', which is commonly used for toggle buttons.\n\nConsumers can override this property to use a different ARIA state key if needed.\nIn case multiple aria attributes should be toggled, they can be passed in as\na comma separated string.\nFor example: `aria-pressed,aria-expanded`",
3941
- "default": "'aria-pressed' (when)",
3942
- "fieldName": "ariaStateKey"
3943
- },
3944
- {
3945
- "name": "type",
3946
- "type": {
3947
- "text": "ButtonType"
3660
+ "text": "ButtonGroupSize"
3948
3661
  },
3949
- "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.",
3950
- "default": "button",
3951
- "fieldName": "type"
3662
+ "description": "Size of the buttons within the buttongroup.",
3663
+ "default": "'28'",
3664
+ "attribute": "size",
3665
+ "reflects": true
3952
3666
  },
3953
3667
  {
3954
- "name": "autofocus",
3668
+ "kind": "field",
3669
+ "name": "compact",
3955
3670
  "type": {
3956
3671
  "text": "boolean"
3957
3672
  },
3958
3673
  "default": "false",
3959
- "description": "This property indicates whether the element should receive focus automatically when it is rendered.",
3960
- "fieldName": "autofocus",
3961
- "inheritedFrom": {
3962
- "name": "AutoFocusMixin",
3963
- "module": "src/utils/mixins/AutoFocusMixin.ts"
3964
- }
3965
- },
3674
+ "description": "When this is true, the buttons within the buttongroup will be compact.\ni.e. Irrespective of the size of the buttons, they will have a height of 24px.",
3675
+ "attribute": "compact",
3676
+ "reflects": true
3677
+ }
3678
+ ],
3679
+ "attributes": [
3966
3680
  {
3967
- "name": "tabIndex",
3681
+ "name": "orientation",
3968
3682
  "type": {
3969
- "text": "number"
3683
+ "text": "ButtonGroupOrientation"
3970
3684
  },
3971
- "default": "0",
3972
- "description": "This property specifies the tab order of the element.",
3973
- "fieldName": "tabIndex",
3974
- "inheritedFrom": {
3975
- "name": "TabIndexMixin",
3976
- "module": "src/utils/mixins/TabIndexMixin.ts"
3977
- }
3685
+ "description": "Orientation of the buttongroup.",
3686
+ "default": "'horizontal'",
3687
+ "fieldName": "orientation"
3978
3688
  },
3979
3689
  {
3980
- "name": "disabled",
3981
- "type": {
3982
- "text": "boolean | undefined"
3983
- },
3984
- "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
3985
- "default": "undefined",
3986
- "fieldName": "disabled",
3987
- "inheritedFrom": {
3988
- "name": "DisabledMixin",
3989
- "module": "src/utils/mixins/DisabledMixin.ts"
3990
- }
3991
- }
3992
- ],
3993
- "mixins": [
3994
- {
3995
- "name": "AutoFocusMixin",
3996
- "module": "/src/utils/mixins/AutoFocusMixin"
3690
+ "name": "variant",
3691
+ "type": {
3692
+ "text": "ButtonGroupVariant"
3693
+ },
3694
+ "description": "Variant of the buttons within the buttongroup.",
3695
+ "default": "'primary'",
3696
+ "fieldName": "variant"
3997
3697
  },
3998
3698
  {
3999
- "name": "TabIndexMixin",
4000
- "module": "/src/utils/mixins/TabIndexMixin"
3699
+ "name": "size",
3700
+ "type": {
3701
+ "text": "ButtonGroupSize"
3702
+ },
3703
+ "description": "Size of the buttons within the buttongroup.",
3704
+ "default": "'28'",
3705
+ "fieldName": "size"
4001
3706
  },
4002
3707
  {
4003
- "name": "DisabledMixin",
4004
- "module": "/src/utils/mixins/DisabledMixin"
3708
+ "name": "compact",
3709
+ "type": {
3710
+ "text": "boolean"
3711
+ },
3712
+ "default": "false",
3713
+ "description": "When this is true, the buttons within the buttongroup will be compact.\ni.e. Irrespective of the size of the buttons, they will have a height of 24px.",
3714
+ "fieldName": "compact"
4005
3715
  }
4006
3716
  ],
4007
3717
  "superclass": {
4008
3718
  "name": "Component",
4009
3719
  "module": "/src/models"
4010
3720
  },
4011
- "tagName": "mdc-buttonsimple",
4012
- "jsDoc": "/**\n * `mdc-buttonsimple` is a component that can be configured in various ways to suit different use cases.\n * It is used as an internal component and is not intended to be used directly by consumers.\n * Consumers should use the `mdc-button` component instead.\n *\n * @event click - (React: onClick) This event is dispatched when the button is clicked.\n * @event keydown - (React: onKeyDown) This event is dispatched when a key is pressed down on the button.\n * @event keyup - (React: onKeyUp) This event is dispatched when a key is released on the button.\n * @event focus - (React: onFocus) This event is dispatched when the button receives focus.\n *\n * @tagname mdc-buttonsimple\n */",
3721
+ "tagName": "mdc-buttongroup",
3722
+ "jsDoc": "/**\n * buttongroup component, is a styled wrapper for multiple buttons.\n * It can support icon buttons, combination of icon and pill buttons, and text buttons.\n * They are available in horizontal and vertical orientation.\n *\n * @tagname mdc-buttongroup\n *\n * @slot default - This is a default/unnamed slot, which contains the buttons\n *\n * @cssproperty --mdc-buttongroup-border-radius - The border radius of the buttongroup\n * @cssproperty --mdc-buttongroup-border-color - The border color of the buttongroup\n * @cssproperty --mdc-buttongroup-divider-color - The color of the divider between buttons within the buttongroup\n */",
4013
3723
  "customElement": true
4014
3724
  }
4015
3725
  ],
@@ -4018,401 +3728,691 @@
4018
3728
  "kind": "js",
4019
3729
  "name": "default",
4020
3730
  "declaration": {
4021
- "name": "Buttonsimple",
4022
- "module": "components/buttonsimple/buttonsimple.component.js"
3731
+ "name": "ButtonGroup",
3732
+ "module": "components/buttongroup/buttongroup.component.js"
4023
3733
  }
4024
3734
  }
4025
3735
  ]
4026
3736
  },
4027
3737
  {
4028
3738
  "kind": "javascript-module",
4029
- "path": "components/card/card.component.js",
3739
+ "path": "components/button/button.component.js",
4030
3740
  "declarations": [
4031
3741
  {
4032
3742
  "kind": "class",
4033
- "description": "The card component allows users to organize information in a structured and tangible\nformat that is visually appealing. `mdc-card` is a static component that supports\nthe following features:\n- Image\n- Header\n - Icon\n - Title\n - Subtitle\n- Body\n\nThe card can either be vertically or horizontally oriented.\n\nThere are 2 variants for the card that represent the border styling - 'border' and 'ghost'.\n\nTo make this card interactive, use the following slots:\n- `icon-button`: This slot supports action icon buttons in the header section (maximum of 3 buttons).\n- `footer-link`: This slot is for passing `mdc-link` component within the footer section.\n- `footer-button-primary`: This slot is for passing primary variant of\n`mdc-button` component within the footer section.\n- `footer-button-secondary`: This slot is for passing secondary variant of `mdc-button` component\nwithin the footer section.\n\nInteractive card additionally supports 'promotional' variant that represents the border styling - 'promotional'.",
4034
- "name": "Card",
3743
+ "description": "`mdc-button` is a component that can be configured in various ways to suit different use cases.\n\nButton Variants:\n- **Primary**: Solid background color.\n- **Secondary**: Transparent background with a solid border.\n- **Tertiary**: No background or border, appears as plain text but retains all button functionalities.\n\nButton Colors:\n- **Positive**: Green color.\n- **Negative**: Red color.\n- **Accent**: Blue color.\n- **Promotional**: Purple color.\n- **Default**: White color.\n\nButton Sizes (in REM units):\n- **Pill button**: 40, 32, 28, 24.\n- **Icon button**: 64, 52, 40, 32, 28, 24.\n- **Tertiary icon button**: 20.\n\nButton Types:\n- **Pill button**: A button that contains text value. Commonly used for call to action, tags, or filters.\n- **Pill button with icons**: A button containing an icon either on the left or right side of the button.\n- **Icon button**: A button represented by just an icon without any text.\nThe type of button is inferred based on the presence of slot and/or prefix and postfix icons.",
3744
+ "name": "Button",
4035
3745
  "slots": [
4036
3746
  {
4037
- "description": "This slot is for passing the content before the body",
4038
- "name": "before-body"
3747
+ "description": "Text label of the button.",
3748
+ "name": ""
3749
+ }
3750
+ ],
3751
+ "members": [
3752
+ {
3753
+ "kind": "field",
3754
+ "name": "size",
3755
+ "type": {
3756
+ "text": "ButtonSize"
3757
+ },
3758
+ "description": "Button sizing is based on the button type.\n- **Pill button**: 40, 32, 28, 24.\n- **Icon button**: 64, 52, 40, 32, 28, 24.\n- Tertiary icon button can also be 20.",
3759
+ "default": "32",
3760
+ "attribute": "size",
3761
+ "reflects": true,
3762
+ "inheritedFrom": {
3763
+ "name": "Buttonsimple",
3764
+ "module": "components/buttonsimple/buttonsimple.component.js"
3765
+ }
4039
3766
  },
4040
3767
  {
4041
- "description": "This slot is for passing the text content for the card",
4042
- "name": "body"
3768
+ "kind": "field",
3769
+ "name": "inverted",
3770
+ "type": {
3771
+ "text": "boolean"
3772
+ },
3773
+ "description": "The button color can be inverted by setting the inverted attribute to true.\n\nOnly applies when variant is set to `primary`, color is set to `default`\nand button is not `active`.",
3774
+ "default": "false",
3775
+ "attribute": "inverted",
3776
+ "reflects": true
4043
3777
  },
4044
3778
  {
4045
- "description": "This slot is for passing the content after the body",
4046
- "name": "after-body"
3779
+ "kind": "field",
3780
+ "name": "role",
3781
+ "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.",
3782
+ "default": "'button'",
3783
+ "attribute": "role",
3784
+ "reflects": true,
3785
+ "type": {
3786
+ "text": "string"
3787
+ },
3788
+ "inheritedFrom": {
3789
+ "name": "Buttonsimple",
3790
+ "module": "components/buttonsimple/buttonsimple.component.js"
3791
+ }
4047
3792
  },
4048
3793
  {
4049
- "description": "This slot is for passing `mdc-link` component within the footer section.",
4050
- "name": "footer-link"
3794
+ "kind": "method",
3795
+ "name": "inferFilledIconName",
3796
+ "privacy": "private",
3797
+ "parameters": [
3798
+ {
3799
+ "name": "active",
3800
+ "optional": true,
3801
+ "type": {
3802
+ "text": "boolean"
3803
+ },
3804
+ "description": "The active state."
3805
+ }
3806
+ ],
3807
+ "description": "Modifies the icon name based on the active state.\nIf the button is active, the icon name is suffixed with '-filled'.\nIf the button is inactive, the icon name is restored to its original value.\nIf '-filled' icon is not available, the icon name remains unchanged."
4051
3808
  },
4052
3809
  {
4053
- "description": "This slot is for passing primary variant of `mdc-button` component within the footer section.",
4054
- "name": "footer-button-primary"
3810
+ "kind": "field",
3811
+ "name": "prefixIcon",
3812
+ "type": {
3813
+ "text": "IconNames | undefined"
3814
+ },
3815
+ "description": "The name of the icon to display as a prefix.\nThe icon is displayed on the left side of the button.",
3816
+ "attribute": "prefix-icon",
3817
+ "reflects": true,
3818
+ "inheritedFrom": {
3819
+ "name": "ButtonComponentMixin",
3820
+ "module": "utils/mixins/ButtonComponentMixin.js"
3821
+ }
4055
3822
  },
4056
3823
  {
4057
- "description": "This slot is for passing secondary variant of `mdc-button` component within the footer section.",
4058
- "name": "footer-button-secondary"
3824
+ "kind": "field",
3825
+ "name": "postfixIcon",
3826
+ "type": {
3827
+ "text": "IconNames | undefined"
3828
+ },
3829
+ "description": "The name of the icon to display as a postfix.\nThe icon is displayed on the right side of the button.",
3830
+ "attribute": "postfix-icon",
3831
+ "reflects": true,
3832
+ "inheritedFrom": {
3833
+ "name": "ButtonComponentMixin",
3834
+ "module": "utils/mixins/ButtonComponentMixin.js"
3835
+ }
4059
3836
  },
4060
3837
  {
4061
- "description": " This slot is for passing custom footer content. Only use this if really needed, using the footer-link and footer-button slots is preferred.",
4062
- "name": "footer"
3838
+ "kind": "field",
3839
+ "name": "variant",
3840
+ "type": {
3841
+ "text": "ButtonVariant"
3842
+ },
3843
+ "description": "There are 3 variants of button: primary, secondary, tertiary. They are styled differently.\n- **Primary**: Solid background color.\n- **Secondary**: Transparent background with a solid border.\n- **Tertiary**: No background or border, appears as plain text but retains all button functionalities.",
3844
+ "default": "primary",
3845
+ "attribute": "variant",
3846
+ "inheritedFrom": {
3847
+ "name": "ButtonComponentMixin",
3848
+ "module": "utils/mixins/ButtonComponentMixin.js"
3849
+ }
4063
3850
  },
4064
3851
  {
4065
- "description": "This slot is for passing the content before the body",
4066
- "name": "before-body"
3852
+ "kind": "field",
3853
+ "name": "color",
3854
+ "type": {
3855
+ "text": "ButtonColor"
3856
+ },
3857
+ "description": "There are 5 colors for button: positive, negative, accent, promotional, default.",
3858
+ "default": "default",
3859
+ "attribute": "color",
3860
+ "inheritedFrom": {
3861
+ "name": "ButtonComponentMixin",
3862
+ "module": "utils/mixins/ButtonComponentMixin.js"
3863
+ }
4067
3864
  },
4068
3865
  {
4069
- "description": "This slot is for passing the text content for the card",
4070
- "name": "body"
3866
+ "kind": "method",
3867
+ "name": "setVariant",
3868
+ "privacy": "protected",
3869
+ "parameters": [
3870
+ {
3871
+ "name": "variant",
3872
+ "type": {
3873
+ "text": "ButtonVariant"
3874
+ },
3875
+ "description": "The variant to set."
3876
+ }
3877
+ ],
3878
+ "description": "Sets the variant attribute for the button component.\nIf the provided variant is not included in the BUTTON_VARIANTS,\nit defaults to the value specified in DEFAULTS.VARIANT.",
3879
+ "inheritedFrom": {
3880
+ "name": "ButtonComponentMixin",
3881
+ "module": "utils/mixins/ButtonComponentMixin.js"
3882
+ }
4071
3883
  },
4072
3884
  {
4073
- "description": "This slot is for passing the content after the body",
4074
- "name": "after-body"
4075
- }
4076
- ],
4077
- "members": [
3885
+ "kind": "method",
3886
+ "name": "setColor",
3887
+ "privacy": "protected",
3888
+ "parameters": [
3889
+ {
3890
+ "name": "color",
3891
+ "type": {
3892
+ "text": "ButtonColor"
3893
+ },
3894
+ "description": "The color to set."
3895
+ }
3896
+ ],
3897
+ "description": "Sets the color attribute for the button.\nDefaults to DEFAULTS.COLOR if invalid or for tertiary button.",
3898
+ "inheritedFrom": {
3899
+ "name": "ButtonComponentMixin",
3900
+ "module": "utils/mixins/ButtonComponentMixin.js"
3901
+ }
3902
+ },
4078
3903
  {
4079
3904
  "kind": "method",
4080
- "name": "renderHeader",
3905
+ "name": "setSize",
4081
3906
  "privacy": "protected",
4082
- "description": "Renders the header of the card if title is provided",
4083
- "return": {
4084
- "type": {
4085
- "text": ""
3907
+ "parameters": [
3908
+ {
3909
+ "name": "size",
3910
+ "type": {
3911
+ "text": "PillButtonSize | IconButtonSize"
3912
+ },
3913
+ "description": "The size to set."
3914
+ }
3915
+ ],
3916
+ "description": "Sets the size attribute for the button component.\nValidates the size based on the button type (icon, pill, or tertiary).\nDefaults to DEFAULTS.SIZE if invalid.",
3917
+ "inheritedFrom": {
3918
+ "name": "ButtonComponentMixin",
3919
+ "module": "utils/mixins/ButtonComponentMixin.js"
3920
+ }
3921
+ },
3922
+ {
3923
+ "kind": "method",
3924
+ "name": "inferButtonType",
3925
+ "privacy": "protected",
3926
+ "description": "Infers the type of button based on the presence of slot and/or prefix and postfix icons.",
3927
+ "parameters": [
3928
+ {
3929
+ "description": "default slot of button",
3930
+ "name": "slot"
4086
3931
  }
3932
+ ],
3933
+ "inheritedFrom": {
3934
+ "name": "ButtonComponentMixin",
3935
+ "module": "utils/mixins/ButtonComponentMixin.js"
3936
+ }
3937
+ },
3938
+ {
3939
+ "kind": "field",
3940
+ "name": "autofocus",
3941
+ "type": {
3942
+ "text": "boolean"
3943
+ },
3944
+ "default": "false",
3945
+ "description": "This property indicates whether the element should receive focus automatically when it is rendered.",
3946
+ "attribute": "autofocus",
3947
+ "reflects": true,
3948
+ "inheritedFrom": {
3949
+ "name": "Buttonsimple",
3950
+ "module": "components/buttonsimple/buttonsimple.component.js"
3951
+ }
3952
+ },
3953
+ {
3954
+ "kind": "field",
3955
+ "name": "tabIndex",
3956
+ "type": {
3957
+ "text": "number"
3958
+ },
3959
+ "default": "0",
3960
+ "description": "This property specifies the tab order of the element.",
3961
+ "attribute": "tabIndex",
3962
+ "reflects": true,
3963
+ "inheritedFrom": {
3964
+ "name": "Buttonsimple",
3965
+ "module": "components/buttonsimple/buttonsimple.component.js"
4087
3966
  }
4088
3967
  },
4089
3968
  {
4090
3969
  "kind": "field",
4091
- "name": "cardTitle",
3970
+ "name": "disabled",
4092
3971
  "type": {
4093
- "text": "string"
3972
+ "text": "boolean | undefined"
4094
3973
  },
4095
- "default": "''",
4096
- "description": "The title of the card - part of header section",
4097
- "attribute": "card-title",
3974
+ "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
3975
+ "default": "undefined",
3976
+ "attribute": "disabled",
4098
3977
  "reflects": true,
4099
3978
  "inheritedFrom": {
4100
- "name": "CardComponentMixin",
4101
- "module": "utils/mixins/CardComponentMixin.js"
3979
+ "name": "Buttonsimple",
3980
+ "module": "components/buttonsimple/buttonsimple.component.js"
4102
3981
  }
4103
3982
  },
4104
3983
  {
4105
3984
  "kind": "field",
4106
- "name": "subtitle",
3985
+ "name": "active",
4107
3986
  "type": {
4108
- "text": "string"
3987
+ "text": "boolean | undefined"
4109
3988
  },
4110
- "default": "''",
4111
- "description": "The subtitle of the card - part of header section",
4112
- "attribute": "subtitle",
3989
+ "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.\n\nThis attribute is used to set the provided `ariaStateKey` to true or false.",
3990
+ "default": "undefined",
3991
+ "attribute": "active",
4113
3992
  "reflects": true,
4114
3993
  "inheritedFrom": {
4115
- "name": "CardComponentMixin",
4116
- "module": "utils/mixins/CardComponentMixin.js"
3994
+ "name": "Buttonsimple",
3995
+ "module": "components/buttonsimple/buttonsimple.component.js"
4117
3996
  }
4118
3997
  },
4119
3998
  {
4120
3999
  "kind": "field",
4121
- "name": "imageSrc",
4000
+ "name": "softDisabled",
4122
4001
  "type": {
4123
- "text": "string"
4002
+ "text": "boolean | undefined"
4124
4003
  },
4125
- "default": "''",
4126
- "description": "The image source URL to render on the card",
4127
- "attribute": "image-src",
4004
+ "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.",
4005
+ "default": "undefined",
4006
+ "attribute": "soft-disabled",
4128
4007
  "reflects": true,
4129
4008
  "inheritedFrom": {
4130
- "name": "CardComponentMixin",
4131
- "module": "utils/mixins/CardComponentMixin.js"
4009
+ "name": "Buttonsimple",
4010
+ "module": "components/buttonsimple/buttonsimple.component.js"
4132
4011
  }
4133
4012
  },
4134
4013
  {
4135
4014
  "kind": "field",
4136
- "name": "imageAlt",
4015
+ "name": "ariaStateKey",
4137
4016
  "type": {
4138
- "text": "string"
4017
+ "text": "string | undefined"
4139
4018
  },
4140
- "default": "''",
4141
- "description": "The image alt for accessibility support",
4142
- "attribute": "image-alt",
4019
+ "description": "This property defines the ARIA state key, which will be toggled when the\nButton is set to `active`.\nThe default value is 'aria-pressed', which is commonly used for toggle buttons.\n\nConsumers can override this property to use a different ARIA state key if needed.\nIn case multiple aria attributes should be toggled, they can be passed in as\na comma separated string.\nFor example: `aria-pressed,aria-expanded`",
4020
+ "default": "'aria-pressed' (when)",
4021
+ "attribute": "ariaStateKey",
4143
4022
  "reflects": true,
4144
4023
  "inheritedFrom": {
4145
- "name": "CardComponentMixin",
4146
- "module": "utils/mixins/CardComponentMixin.js"
4024
+ "name": "Buttonsimple",
4025
+ "module": "components/buttonsimple/buttonsimple.component.js"
4147
4026
  }
4148
4027
  },
4149
4028
  {
4150
4029
  "kind": "field",
4151
- "name": "variant",
4030
+ "name": "type",
4152
4031
  "type": {
4153
- "text": "CardVariant"
4032
+ "text": "ButtonType"
4154
4033
  },
4155
- "description": "The variant of the card. It can either be set to 'border' or 'ghost'",
4156
- "default": "'border'",
4157
- "attribute": "variant",
4034
+ "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.",
4035
+ "default": "button",
4036
+ "attribute": "type",
4158
4037
  "reflects": true,
4159
4038
  "inheritedFrom": {
4160
- "name": "CardComponentMixin",
4161
- "module": "utils/mixins/CardComponentMixin.js"
4039
+ "name": "Buttonsimple",
4040
+ "module": "components/buttonsimple/buttonsimple.component.js"
4162
4041
  }
4163
4042
  },
4164
4043
  {
4165
- "kind": "field",
4166
- "name": "orientation",
4044
+ "kind": "method",
4045
+ "name": "executeAction",
4046
+ "privacy": "protected",
4047
+ "inheritedFrom": {
4048
+ "name": "Buttonsimple",
4049
+ "module": "components/buttonsimple/buttonsimple.component.js"
4050
+ }
4051
+ },
4052
+ {
4053
+ "kind": "method",
4054
+ "name": "setActive",
4055
+ "privacy": "protected",
4056
+ "parameters": [
4057
+ {
4058
+ "name": "element",
4059
+ "type": {
4060
+ "text": "HTMLElement"
4061
+ },
4062
+ "description": "The button element"
4063
+ },
4064
+ {
4065
+ "name": "active",
4066
+ "optional": true,
4067
+ "type": {
4068
+ "text": "boolean"
4069
+ },
4070
+ "description": "The active state of the element"
4071
+ }
4072
+ ],
4073
+ "description": "Sets the ariaStateKey attributes based on the active state of the button.",
4074
+ "inheritedFrom": {
4075
+ "name": "Buttonsimple",
4076
+ "module": "components/buttonsimple/buttonsimple.component.js"
4077
+ }
4078
+ },
4079
+ {
4080
+ "kind": "method",
4081
+ "name": "setSoftDisabled",
4082
+ "privacy": "private",
4083
+ "parameters": [
4084
+ {
4085
+ "name": "element",
4086
+ "type": {
4087
+ "text": "HTMLElement"
4088
+ },
4089
+ "description": "The button element."
4090
+ },
4091
+ {
4092
+ "name": "softDisabled",
4093
+ "optional": true,
4094
+ "type": {
4095
+ "text": "boolean"
4096
+ },
4097
+ "description": "The soft-disabled state."
4098
+ }
4099
+ ],
4100
+ "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.",
4101
+ "inheritedFrom": {
4102
+ "name": "Buttonsimple",
4103
+ "module": "components/buttonsimple/buttonsimple.component.js"
4104
+ }
4105
+ },
4106
+ {
4107
+ "kind": "method",
4108
+ "name": "setDisabled",
4109
+ "privacy": "private",
4110
+ "parameters": [
4111
+ {
4112
+ "name": "element",
4113
+ "type": {
4114
+ "text": "HTMLElement"
4115
+ },
4116
+ "description": "The button element."
4117
+ },
4118
+ {
4119
+ "name": "disabled",
4120
+ "type": {
4121
+ "text": "boolean"
4122
+ },
4123
+ "description": "The disabled state."
4124
+ }
4125
+ ],
4126
+ "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.",
4127
+ "inheritedFrom": {
4128
+ "name": "Buttonsimple",
4129
+ "module": "components/buttonsimple/buttonsimple.component.js"
4130
+ }
4131
+ },
4132
+ {
4133
+ "kind": "method",
4134
+ "name": "triggerClickEvent",
4135
+ "privacy": "private",
4136
+ "inheritedFrom": {
4137
+ "name": "Buttonsimple",
4138
+ "module": "components/buttonsimple/buttonsimple.component.js"
4139
+ }
4140
+ },
4141
+ {
4142
+ "kind": "method",
4143
+ "name": "handleBlur",
4144
+ "privacy": "private",
4145
+ "description": "In case the button is pressed and the focus is lost while pressing,\nthe pressed class is removed.",
4146
+ "inheritedFrom": {
4147
+ "name": "Buttonsimple",
4148
+ "module": "components/buttonsimple/buttonsimple.component.js"
4149
+ }
4150
+ },
4151
+ {
4152
+ "kind": "method",
4153
+ "name": "handleKeyDown",
4154
+ "privacy": "private",
4155
+ "parameters": [
4156
+ {
4157
+ "name": "event",
4158
+ "type": {
4159
+ "text": "KeyboardEvent"
4160
+ },
4161
+ "description": "The keyboard event."
4162
+ }
4163
+ ],
4164
+ "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.\nIf the key is 'Space', the button's default is prevent to avoid scrolling etc in the host application.",
4165
+ "inheritedFrom": {
4166
+ "name": "Buttonsimple",
4167
+ "module": "components/buttonsimple/buttonsimple.component.js"
4168
+ }
4169
+ },
4170
+ {
4171
+ "kind": "method",
4172
+ "name": "handleKeyUp",
4173
+ "privacy": "private",
4174
+ "parameters": [
4175
+ {
4176
+ "name": "event",
4177
+ "type": {
4178
+ "text": "KeyboardEvent"
4179
+ },
4180
+ "description": "The keyboard event."
4181
+ }
4182
+ ],
4183
+ "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.",
4184
+ "inheritedFrom": {
4185
+ "name": "Buttonsimple",
4186
+ "module": "components/buttonsimple/buttonsimple.component.js"
4187
+ }
4188
+ }
4189
+ ],
4190
+ "attributes": [
4191
+ {
4192
+ "name": "size",
4167
4193
  "type": {
4168
- "text": "CardOrientation"
4194
+ "text": "ButtonSize"
4169
4195
  },
4170
- "description": "The orientation of the card. It can either be set to 'vertical' or 'horizontal'",
4171
- "default": "'vertical'",
4172
- "attribute": "orientation",
4173
- "reflects": true,
4196
+ "description": "Button sizing is based on the button type.\n- **Pill button**: 40, 32, 28, 24.\n- **Icon button**: 64, 52, 40, 32, 28, 24.\n- Tertiary icon button can also be 20.",
4197
+ "default": "32",
4198
+ "fieldName": "size",
4174
4199
  "inheritedFrom": {
4175
- "name": "CardComponentMixin",
4176
- "module": "utils/mixins/CardComponentMixin.js"
4200
+ "name": "Buttonsimple",
4201
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
4177
4202
  }
4178
4203
  },
4179
4204
  {
4180
- "kind": "field",
4181
- "name": "titleTagName",
4205
+ "name": "inverted",
4206
+ "type": {
4207
+ "text": "boolean"
4208
+ },
4209
+ "description": "The button color can be inverted by setting the inverted attribute to true.\n\nOnly applies when variant is set to `primary`, color is set to `default`\nand button is not `active`.",
4210
+ "default": "false",
4211
+ "fieldName": "inverted"
4212
+ },
4213
+ {
4214
+ "name": "role",
4215
+ "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.",
4216
+ "default": "'button'",
4217
+ "fieldName": "role",
4182
4218
  "type": {
4183
- "text": "TagNameType"
4219
+ "text": "string"
4184
4220
  },
4185
- "description": "The tag name for the card title. It supports all the types that `msc-text` supports",
4186
- "default": "'span'",
4187
- "attribute": "title-tag-name",
4188
- "reflects": true,
4189
4221
  "inheritedFrom": {
4190
- "name": "CardComponentMixin",
4191
- "module": "utils/mixins/CardComponentMixin.js"
4222
+ "name": "Buttonsimple",
4223
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
4192
4224
  }
4193
4225
  },
4194
4226
  {
4195
- "kind": "field",
4196
- "name": "subtitleTagName",
4227
+ "name": "prefix-icon",
4197
4228
  "type": {
4198
- "text": "TagNameType"
4229
+ "text": "IconNames | undefined"
4199
4230
  },
4200
- "description": "The tag name for the subtitle. It supports all the types that `msc-text` supports",
4201
- "default": "'span'",
4202
- "attribute": "subtitle-tag-name",
4203
- "reflects": true,
4231
+ "description": "The name of the icon to display as a prefix.\nThe icon is displayed on the left side of the button.",
4232
+ "fieldName": "prefixIcon",
4204
4233
  "inheritedFrom": {
4205
- "name": "CardComponentMixin",
4206
- "module": "utils/mixins/CardComponentMixin.js"
4234
+ "name": "ButtonComponentMixin",
4235
+ "module": "src/utils/mixins/ButtonComponentMixin.ts"
4207
4236
  }
4208
4237
  },
4209
4238
  {
4210
- "kind": "field",
4211
- "name": "iconName",
4239
+ "name": "postfix-icon",
4212
4240
  "type": {
4213
4241
  "text": "IconNames | undefined"
4214
4242
  },
4215
- "description": "Name of the icon (= filename).\n\nIf no `icon-name` is provided, no icon will be rendered.",
4216
- "attribute": "icon-name",
4217
- "reflects": true,
4243
+ "description": "The name of the icon to display as a postfix.\nThe icon is displayed on the right side of the button.",
4244
+ "fieldName": "postfixIcon",
4218
4245
  "inheritedFrom": {
4219
- "name": "CardComponentMixin",
4220
- "module": "utils/mixins/CardComponentMixin.js"
4246
+ "name": "ButtonComponentMixin",
4247
+ "module": "src/utils/mixins/ButtonComponentMixin.ts"
4221
4248
  }
4222
4249
  },
4223
4250
  {
4224
- "kind": "method",
4225
- "name": "renderImage",
4226
- "privacy": "protected",
4227
- "description": "Renders the image on the card if image source is provided",
4228
- "return": {
4229
- "type": {
4230
- "text": ""
4231
- }
4251
+ "name": "variant",
4252
+ "type": {
4253
+ "text": "ButtonVariant"
4232
4254
  },
4255
+ "description": "There are 3 variants of button: primary, secondary, tertiary. They are styled differently.\n- **Primary**: Solid background color.\n- **Secondary**: Transparent background with a solid border.\n- **Tertiary**: No background or border, appears as plain text but retains all button functionalities.",
4256
+ "default": "primary",
4257
+ "fieldName": "variant",
4233
4258
  "inheritedFrom": {
4234
- "name": "CardComponentMixin",
4235
- "module": "utils/mixins/CardComponentMixin.js"
4259
+ "name": "ButtonComponentMixin",
4260
+ "module": "src/utils/mixins/ButtonComponentMixin.ts"
4236
4261
  }
4237
4262
  },
4238
4263
  {
4239
- "kind": "method",
4240
- "name": "renderIcon",
4241
- "privacy": "protected",
4242
- "description": "Renders the icon on the card if icon name is provided",
4243
- "return": {
4244
- "type": {
4245
- "text": ""
4246
- }
4264
+ "name": "color",
4265
+ "type": {
4266
+ "text": "ButtonColor"
4247
4267
  },
4268
+ "description": "There are 5 colors for button: positive, negative, accent, promotional, default.",
4269
+ "default": "default",
4270
+ "fieldName": "color",
4248
4271
  "inheritedFrom": {
4249
- "name": "CardComponentMixin",
4250
- "module": "utils/mixins/CardComponentMixin.js"
4272
+ "name": "ButtonComponentMixin",
4273
+ "module": "src/utils/mixins/ButtonComponentMixin.ts"
4251
4274
  }
4252
4275
  },
4253
4276
  {
4254
- "kind": "method",
4255
- "name": "renderTitle",
4256
- "privacy": "protected",
4257
- "description": "Renders the title and subtitle on the card",
4258
- "return": {
4259
- "type": {
4260
- "text": ""
4261
- }
4277
+ "name": "autofocus",
4278
+ "type": {
4279
+ "text": "boolean"
4262
4280
  },
4281
+ "default": "false",
4282
+ "description": "This property indicates whether the element should receive focus automatically when it is rendered.",
4283
+ "fieldName": "autofocus",
4263
4284
  "inheritedFrom": {
4264
- "name": "CardComponentMixin",
4265
- "module": "utils/mixins/CardComponentMixin.js"
4285
+ "name": "Buttonsimple",
4286
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
4266
4287
  }
4267
4288
  },
4268
4289
  {
4269
- "kind": "method",
4270
- "name": "renderFooter",
4271
- "privacy": "protected",
4272
- "description": "Renders the footer of the card if footer-link,\nfooter-button-primary, or footer-button-secondary slots are provided",
4273
- "return": {
4274
- "type": {
4275
- "text": ""
4276
- }
4290
+ "name": "tabIndex",
4291
+ "type": {
4292
+ "text": "number"
4277
4293
  },
4294
+ "default": "0",
4295
+ "description": "This property specifies the tab order of the element.",
4296
+ "fieldName": "tabIndex",
4278
4297
  "inheritedFrom": {
4279
- "name": "CardAndDialogFooterMixin",
4280
- "module": "utils/mixins/CardAndDialogFooterMixin.js"
4298
+ "name": "Buttonsimple",
4299
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
4281
4300
  }
4282
- }
4283
- ],
4284
- "mixins": [
4285
- {
4286
- "name": "CardComponentMixin",
4287
- "module": "/src/utils/mixins/CardComponentMixin"
4288
4301
  },
4289
4302
  {
4290
- "name": "CardAndDialogFooterMixin",
4291
- "module": "/src/utils/mixins/CardAndDialogFooterMixin"
4292
- }
4293
- ],
4294
- "superclass": {
4295
- "name": "Component",
4296
- "module": "/src/models"
4297
- },
4298
- "tagName": "mdc-card",
4299
- "jsDoc": "/**\n * The card component allows users to organize information in a structured and tangible\n * format that is visually appealing. `mdc-card` is a static component that supports\n * the following features:\n * - Image\n * - Header\n * - Icon\n * - Title\n * - Subtitle\n * - Body\n *\n * The card can either be vertically or horizontally oriented.\n *\n * There are 2 variants for the card that represent the border styling - 'border' and 'ghost'.\n *\n * To make this card interactive, use the following slots:\n * - `icon-button`: This slot supports action icon buttons in the header section (maximum of 3 buttons).\n * - `footer-link`: This slot is for passing `mdc-link` component within the footer section.\n * - `footer-button-primary`: This slot is for passing primary variant of\n * `mdc-button` component within the footer section.\n * - `footer-button-secondary`: This slot is for passing secondary variant of `mdc-button` component\n * within the footer section.\n *\n * Interactive card additionally supports 'promotional' variant that represents the border styling - 'promotional'.\n *\n * @slot before-body - This slot is for passing the content before the body\n * @slot body - This slot is for passing the text content for the card\n * @slot after-body - This slot is for passing the content after the body\n * @slot footer-link - This slot is for passing `mdc-link` component within the footer section.\n * @slot footer-button-primary - This slot is for passing primary variant of\n * `mdc-button` component within the footer section.\n * @slot footer-button-secondary - This slot is for passing secondary variant of `mdc-button` component\n * within the footer section.\n * @slot footer - This slot is for passing custom footer content. Only use this if really needed,\n * using the footer-link and footer-button slots is preferred.\n *\n * @tagname mdc-card\n *\n * @dependency mdc-icon\n * @dependency mdc-text\n *\n * @slot before-body - This slot is for passing the content before the body\n * @slot body - This slot is for passing the text content for the card\n * @slot after-body - This slot is for passing the content after the body\n *\n */",
4300
- "customElement": true,
4301
- "attributes": [
4302
- {
4303
- "name": "card-title",
4303
+ "name": "disabled",
4304
4304
  "type": {
4305
- "text": "string"
4305
+ "text": "boolean | undefined"
4306
4306
  },
4307
- "default": "''",
4308
- "description": "The title of the card - part of header section",
4309
- "fieldName": "cardTitle",
4307
+ "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
4308
+ "default": "undefined",
4309
+ "fieldName": "disabled",
4310
4310
  "inheritedFrom": {
4311
- "name": "CardComponentMixin",
4312
- "module": "src/utils/mixins/CardComponentMixin.ts"
4311
+ "name": "Buttonsimple",
4312
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
4313
4313
  }
4314
4314
  },
4315
4315
  {
4316
- "name": "subtitle",
4316
+ "name": "active",
4317
4317
  "type": {
4318
- "text": "string"
4318
+ "text": "boolean | undefined"
4319
4319
  },
4320
- "default": "''",
4321
- "description": "The subtitle of the card - part of header section",
4322
- "fieldName": "subtitle",
4320
+ "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.\n\nThis attribute is used to set the provided `ariaStateKey` to true or false.",
4321
+ "default": "undefined",
4322
+ "fieldName": "active",
4323
4323
  "inheritedFrom": {
4324
- "name": "CardComponentMixin",
4325
- "module": "src/utils/mixins/CardComponentMixin.ts"
4324
+ "name": "Buttonsimple",
4325
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
4326
4326
  }
4327
4327
  },
4328
4328
  {
4329
- "name": "image-src",
4329
+ "name": "soft-disabled",
4330
4330
  "type": {
4331
- "text": "string"
4331
+ "text": "boolean | undefined"
4332
4332
  },
4333
- "default": "''",
4334
- "description": "The image source URL to render on the card",
4335
- "fieldName": "imageSrc",
4333
+ "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.",
4334
+ "default": "undefined",
4335
+ "fieldName": "softDisabled",
4336
4336
  "inheritedFrom": {
4337
- "name": "CardComponentMixin",
4338
- "module": "src/utils/mixins/CardComponentMixin.ts"
4337
+ "name": "Buttonsimple",
4338
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
4339
4339
  }
4340
4340
  },
4341
4341
  {
4342
- "name": "image-alt",
4342
+ "name": "ariaStateKey",
4343
4343
  "type": {
4344
- "text": "string"
4344
+ "text": "string | undefined"
4345
4345
  },
4346
- "default": "''",
4347
- "description": "The image alt for accessibility support",
4348
- "fieldName": "imageAlt",
4346
+ "description": "This property defines the ARIA state key, which will be toggled when the\nButton is set to `active`.\nThe default value is 'aria-pressed', which is commonly used for toggle buttons.\n\nConsumers can override this property to use a different ARIA state key if needed.\nIn case multiple aria attributes should be toggled, they can be passed in as\na comma separated string.\nFor example: `aria-pressed,aria-expanded`",
4347
+ "default": "'aria-pressed' (when)",
4348
+ "fieldName": "ariaStateKey",
4349
4349
  "inheritedFrom": {
4350
- "name": "CardComponentMixin",
4351
- "module": "src/utils/mixins/CardComponentMixin.ts"
4350
+ "name": "Buttonsimple",
4351
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
4352
4352
  }
4353
4353
  },
4354
4354
  {
4355
- "name": "variant",
4355
+ "name": "type",
4356
4356
  "type": {
4357
- "text": "CardVariant"
4357
+ "text": "ButtonType"
4358
4358
  },
4359
- "description": "The variant of the card. It can either be set to 'border' or 'ghost'",
4360
- "default": "'border'",
4361
- "fieldName": "variant",
4359
+ "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.",
4360
+ "default": "button",
4361
+ "fieldName": "type",
4362
4362
  "inheritedFrom": {
4363
- "name": "CardComponentMixin",
4364
- "module": "src/utils/mixins/CardComponentMixin.ts"
4363
+ "name": "Buttonsimple",
4364
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
4365
4365
  }
4366
- },
4366
+ }
4367
+ ],
4368
+ "mixins": [
4367
4369
  {
4368
- "name": "orientation",
4369
- "type": {
4370
- "text": "CardOrientation"
4371
- },
4372
- "description": "The orientation of the card. It can either be set to 'vertical' or 'horizontal'",
4373
- "default": "'vertical'",
4374
- "fieldName": "orientation",
4370
+ "name": "ButtonComponentMixin",
4371
+ "module": "/src/utils/mixins/ButtonComponentMixin"
4372
+ }
4373
+ ],
4374
+ "superclass": {
4375
+ "name": "Buttonsimple",
4376
+ "module": "/src/components/buttonsimple/buttonsimple.component"
4377
+ },
4378
+ "tagName": "mdc-button",
4379
+ "jsDoc": "/**\n * `mdc-button` is a component that can be configured in various ways to suit different use cases.\n *\n * Button Variants:\n * - **Primary**: Solid background color.\n * - **Secondary**: Transparent background with a solid border.\n * - **Tertiary**: No background or border, appears as plain text but retains all button functionalities.\n *\n * Button Colors:\n * - **Positive**: Green color.\n * - **Negative**: Red color.\n * - **Accent**: Blue color.\n * - **Promotional**: Purple color.\n * - **Default**: White color.\n *\n * Button Sizes (in REM units):\n * - **Pill button**: 40, 32, 28, 24.\n * - **Icon button**: 64, 52, 40, 32, 28, 24.\n * - **Tertiary icon button**: 20.\n *\n * Button Types:\n * - **Pill button**: A button that contains text value. Commonly used for call to action, tags, or filters.\n * - **Pill button with icons**: A button containing an icon either on the left or right side of the button.\n * - **Icon button**: A button represented by just an icon without any text.\n * The type of button is inferred based on the presence of slot and/or prefix and postfix icons.\n *\n * @dependency mdc-icon\n *\n * @tagname mdc-button\n *\n * @slot - Text label of the button.\n */",
4380
+ "customElement": true,
4381
+ "events": [
4382
+ {
4383
+ "description": "(React: onClick) This event is dispatched when the button is clicked.",
4384
+ "name": "click",
4385
+ "reactName": "onClick",
4375
4386
  "inheritedFrom": {
4376
- "name": "CardComponentMixin",
4377
- "module": "src/utils/mixins/CardComponentMixin.ts"
4387
+ "name": "Buttonsimple",
4388
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
4378
4389
  }
4379
4390
  },
4380
4391
  {
4381
- "name": "title-tag-name",
4382
- "type": {
4383
- "text": "TagNameType"
4384
- },
4385
- "description": "The tag name for the card title. It supports all the types that `msc-text` supports",
4386
- "default": "'span'",
4387
- "fieldName": "titleTagName",
4392
+ "description": "(React: onKeyDown) This event is dispatched when a key is pressed down on the button.",
4393
+ "name": "keydown",
4394
+ "reactName": "onKeyDown",
4388
4395
  "inheritedFrom": {
4389
- "name": "CardComponentMixin",
4390
- "module": "src/utils/mixins/CardComponentMixin.ts"
4396
+ "name": "Buttonsimple",
4397
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
4391
4398
  }
4392
4399
  },
4393
4400
  {
4394
- "name": "subtitle-tag-name",
4395
- "type": {
4396
- "text": "TagNameType"
4397
- },
4398
- "description": "The tag name for the subtitle. It supports all the types that `msc-text` supports",
4399
- "default": "'span'",
4400
- "fieldName": "subtitleTagName",
4401
+ "description": "(React: onKeyUp) This event is dispatched when a key is released on the button.",
4402
+ "name": "keyup",
4403
+ "reactName": "onKeyUp",
4401
4404
  "inheritedFrom": {
4402
- "name": "CardComponentMixin",
4403
- "module": "src/utils/mixins/CardComponentMixin.ts"
4405
+ "name": "Buttonsimple",
4406
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
4404
4407
  }
4405
4408
  },
4406
4409
  {
4407
- "name": "icon-name",
4408
- "type": {
4409
- "text": "IconNames | undefined"
4410
- },
4411
- "description": "Name of the icon (= filename).\n\nIf no `icon-name` is provided, no icon will be rendered.",
4412
- "fieldName": "iconName",
4410
+ "description": "(React: onFocus) This event is dispatched when the button receives focus.",
4411
+ "name": "focus",
4412
+ "reactName": "onFocus",
4413
4413
  "inheritedFrom": {
4414
- "name": "CardComponentMixin",
4415
- "module": "src/utils/mixins/CardComponentMixin.ts"
4414
+ "name": "Buttonsimple",
4415
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
4416
4416
  }
4417
4417
  }
4418
4418
  ]
@@ -4423,8 +4423,8 @@
4423
4423
  "kind": "js",
4424
4424
  "name": "default",
4425
4425
  "declaration": {
4426
- "name": "Card",
4427
- "module": "components/card/card.component.js"
4426
+ "name": "Button",
4427
+ "module": "components/button/button.component.js"
4428
4428
  }
4429
4429
  }
4430
4430
  ]
@@ -17857,6 +17857,41 @@
17857
17857
  }
17858
17858
  ]
17859
17859
  },
17860
+ {
17861
+ "kind": "javascript-module",
17862
+ "path": "components/menusection/menusection.component.js",
17863
+ "declarations": [
17864
+ {
17865
+ "kind": "class",
17866
+ "description": "`mdc-menusection` is a container element used to group a set of menu items.\n\nThis component supports a mix of `menuitem`, `menuitemcheckbox`, and `menuitemradio` components.\n\n- If multiple `menuitemradio` components are slotted into the section, the group enforces a single-selection rule:\n only one radio item can be selected at a time.\n- If `menuitemcheckbox` components are included, their checked state can be toggled independently.",
17867
+ "name": "MenuSection",
17868
+ "slots": [
17869
+ {
17870
+ "description": "Default slot for inserting `menuitem`, `menuitemcheckbox`, or `menuitemradio`",
17871
+ "name": ""
17872
+ }
17873
+ ],
17874
+ "members": [],
17875
+ "superclass": {
17876
+ "name": "Component",
17877
+ "module": "/src/models"
17878
+ },
17879
+ "tagName": "mdc-menusection",
17880
+ "jsDoc": "/**\n * `mdc-menusection` is a container element used to group a set of menu items.\n *\n * This component supports a mix of `menuitem`, `menuitemcheckbox`, and `menuitemradio` components.\n *\n * - If multiple `menuitemradio` components are slotted into the section, the group enforces a single-selection rule:\n * only one radio item can be selected at a time.\n * - If `menuitemcheckbox` components are included, their checked state can be toggled independently.\n *\n * @tagname mdc-menusection\n *\n * @slot - Default slot for inserting `menuitem`, `menuitemcheckbox`, or `menuitemradio`\n */",
17881
+ "customElement": true
17882
+ }
17883
+ ],
17884
+ "exports": [
17885
+ {
17886
+ "kind": "js",
17887
+ "name": "default",
17888
+ "declaration": {
17889
+ "name": "MenuSection",
17890
+ "module": "components/menusection/menusection.component.js"
17891
+ }
17892
+ }
17893
+ ]
17894
+ },
17860
17895
  {
17861
17896
  "kind": "javascript-module",
17862
17897
  "path": "components/menupopover/menupopover.component.js",
@@ -20135,41 +20170,6 @@
20135
20170
  }
20136
20171
  ]
20137
20172
  },
20138
- {
20139
- "kind": "javascript-module",
20140
- "path": "components/menusection/menusection.component.js",
20141
- "declarations": [
20142
- {
20143
- "kind": "class",
20144
- "description": "`mdc-menusection` is a container element used to group a set of menu items.\n\nThis component supports a mix of `menuitem`, `menuitemcheckbox`, and `menuitemradio` components.\n\n- If multiple `menuitemradio` components are slotted into the section, the group enforces a single-selection rule:\n only one radio item can be selected at a time.\n- If `menuitemcheckbox` components are included, their checked state can be toggled independently.",
20145
- "name": "MenuSection",
20146
- "slots": [
20147
- {
20148
- "description": "Default slot for inserting `menuitem`, `menuitemcheckbox`, or `menuitemradio`",
20149
- "name": ""
20150
- }
20151
- ],
20152
- "members": [],
20153
- "superclass": {
20154
- "name": "Component",
20155
- "module": "/src/models"
20156
- },
20157
- "tagName": "mdc-menusection",
20158
- "jsDoc": "/**\n * `mdc-menusection` is a container element used to group a set of menu items.\n *\n * This component supports a mix of `menuitem`, `menuitemcheckbox`, and `menuitemradio` components.\n *\n * - If multiple `menuitemradio` components are slotted into the section, the group enforces a single-selection rule:\n * only one radio item can be selected at a time.\n * - If `menuitemcheckbox` components are included, their checked state can be toggled independently.\n *\n * @tagname mdc-menusection\n *\n * @slot - Default slot for inserting `menuitem`, `menuitemcheckbox`, or `menuitemradio`\n */",
20159
- "customElement": true
20160
- }
20161
- ],
20162
- "exports": [
20163
- {
20164
- "kind": "js",
20165
- "name": "default",
20166
- "declaration": {
20167
- "name": "MenuSection",
20168
- "module": "components/menusection/menusection.component.js"
20169
- }
20170
- }
20171
- ]
20172
- },
20173
20173
  {
20174
20174
  "kind": "javascript-module",
20175
20175
  "path": "components/navitem/navitem.component.js",
@@ -30734,90 +30734,6 @@
30734
30734
  }
30735
30735
  ]
30736
30736
  },
30737
- {
30738
- "kind": "javascript-module",
30739
- "path": "components/text/text.component.js",
30740
- "declarations": [
30741
- {
30742
- "kind": "class",
30743
- "description": "Text component for creating styled text elements.\nIt has to be mounted within the ThemeProvider to access color and font tokens.\n\nThe `type` attribute allows changing the text style.\nThe `tagname` attribute allows changing the tag name of the text element.\nThe default tag name is `p`.\n\nThe `tagname` attribute should be a valid HTML tag name.\nIf the `tagname` attribute is not a valid HTML tag name, the default tag name will be used.\n\nThe styling is applied based on the `type` attribute.",
30744
- "name": "Text",
30745
- "cssParts": [
30746
- {
30747
- "description": "The text element",
30748
- "name": "text"
30749
- }
30750
- ],
30751
- "slots": [
30752
- {
30753
- "description": "Default slot for text content",
30754
- "name": ""
30755
- }
30756
- ],
30757
- "members": [
30758
- {
30759
- "kind": "field",
30760
- "name": "type",
30761
- "type": {
30762
- "text": "TextType"
30763
- },
30764
- "privacy": "public",
30765
- "description": "Specifies the text style to be applied.\n\nAcceptable values include:\n\n- 'body-small-regular'\n- 'body-small-medium'\n- 'body-small-bold'\n- 'body-midsize-regular'\n- 'body-midsize-medium'\n- 'body-midsize-bold'\n- 'body-large-regular'\n- 'body-large-medium'\n- 'body-large-bold'\n- 'body-small-regular-underline'\n- 'body-small-medium-underline'\n- 'body-midsize-regular-underline'\n- 'body-midsize-medium-underline'\n- 'body-large-regular-underline'\n- 'body-large-medium-underline'\n- 'heading-small-regular'\n- 'heading-small-medium'\n- 'heading-small-bold'\n- 'heading-midsize-regular'\n- 'heading-midsize-medium'\n- 'heading-midsize-bold'\n- 'heading-large-regular'\n- 'heading-large-medium'\n- 'heading-large-bold'\n- 'heading-xlarge-regular'\n- 'heading-xlarge-medium'\n- 'heading-xlarge-bold'\n- 'headline-small-light'\n- 'headline-small-regular'",
30766
- "default": "body-large-regular",
30767
- "attribute": "type",
30768
- "reflects": true
30769
- },
30770
- {
30771
- "kind": "field",
30772
- "name": "tagname",
30773
- "type": {
30774
- "text": "TagName | undefined"
30775
- },
30776
- "privacy": "public",
30777
- "description": "Specifies the HTML tag name for the text element. The default tag name is `p`.\nThis attribute is optional. When set, it changes the tag name of the text element.\n\nAcceptable values include:\n\n- 'h1'\n- 'h2'\n- 'h3'\n- 'h4'\n- 'h5'\n- 'h6'\n- 'p'\n- 'small'\n- 'span'\n- 'div'\n\nFor instance, setting this attribute to `h2` will render the text element as an `h2` element.\nNote that the styling is determined by the `type` attribute.",
30778
- "attribute": "tagname",
30779
- "reflects": true
30780
- }
30781
- ],
30782
- "attributes": [
30783
- {
30784
- "name": "type",
30785
- "type": {
30786
- "text": "TextType"
30787
- },
30788
- "description": "Specifies the text style to be applied.\n\nAcceptable values include:\n\n- 'body-small-regular'\n- 'body-small-medium'\n- 'body-small-bold'\n- 'body-midsize-regular'\n- 'body-midsize-medium'\n- 'body-midsize-bold'\n- 'body-large-regular'\n- 'body-large-medium'\n- 'body-large-bold'\n- 'body-small-regular-underline'\n- 'body-small-medium-underline'\n- 'body-midsize-regular-underline'\n- 'body-midsize-medium-underline'\n- 'body-large-regular-underline'\n- 'body-large-medium-underline'\n- 'heading-small-regular'\n- 'heading-small-medium'\n- 'heading-small-bold'\n- 'heading-midsize-regular'\n- 'heading-midsize-medium'\n- 'heading-midsize-bold'\n- 'heading-large-regular'\n- 'heading-large-medium'\n- 'heading-large-bold'\n- 'heading-xlarge-regular'\n- 'heading-xlarge-medium'\n- 'heading-xlarge-bold'\n- 'headline-small-light'\n- 'headline-small-regular'",
30789
- "default": "body-large-regular",
30790
- "fieldName": "type"
30791
- },
30792
- {
30793
- "name": "tagname",
30794
- "type": {
30795
- "text": "TagName | undefined"
30796
- },
30797
- "description": "Specifies the HTML tag name for the text element. The default tag name is `p`.\nThis attribute is optional. When set, it changes the tag name of the text element.\n\nAcceptable values include:\n\n- 'h1'\n- 'h2'\n- 'h3'\n- 'h4'\n- 'h5'\n- 'h6'\n- 'p'\n- 'small'\n- 'span'\n- 'div'\n\nFor instance, setting this attribute to `h2` will render the text element as an `h2` element.\nNote that the styling is determined by the `type` attribute.",
30798
- "fieldName": "tagname"
30799
- }
30800
- ],
30801
- "superclass": {
30802
- "name": "Component",
30803
- "module": "/src/models"
30804
- },
30805
- "tagName": "mdc-text",
30806
- "jsDoc": "/**\n * Text component for creating styled text elements.\n * It has to be mounted within the ThemeProvider to access color and font tokens.\n *\n * The `type` attribute allows changing the text style.\n * The `tagname` attribute allows changing the tag name of the text element.\n * The default tag name is `p`.\n *\n * The `tagname` attribute should be a valid HTML tag name.\n * If the `tagname` attribute is not a valid HTML tag name, the default tag name will be used.\n *\n * The styling is applied based on the `type` attribute.\n *\n * @tagname mdc-text\n * @slot - Default slot for text content\n *\n * @csspart text - The text element\n */",
30807
- "customElement": true
30808
- }
30809
- ],
30810
- "exports": [
30811
- {
30812
- "kind": "js",
30813
- "name": "default",
30814
- "declaration": {
30815
- "name": "Text",
30816
- "module": "components/text/text.component.js"
30817
- }
30818
- }
30819
- ]
30820
- },
30821
30737
  {
30822
30738
  "kind": "javascript-module",
30823
30739
  "path": "components/textarea/textarea.component.js",
@@ -31732,6 +31648,90 @@
31732
31648
  }
31733
31649
  ]
31734
31650
  },
31651
+ {
31652
+ "kind": "javascript-module",
31653
+ "path": "components/text/text.component.js",
31654
+ "declarations": [
31655
+ {
31656
+ "kind": "class",
31657
+ "description": "Text component for creating styled text elements.\nIt has to be mounted within the ThemeProvider to access color and font tokens.\n\nThe `type` attribute allows changing the text style.\nThe `tagname` attribute allows changing the tag name of the text element.\nThe default tag name is `p`.\n\nThe `tagname` attribute should be a valid HTML tag name.\nIf the `tagname` attribute is not a valid HTML tag name, the default tag name will be used.\n\nThe styling is applied based on the `type` attribute.",
31658
+ "name": "Text",
31659
+ "cssParts": [
31660
+ {
31661
+ "description": "The text element",
31662
+ "name": "text"
31663
+ }
31664
+ ],
31665
+ "slots": [
31666
+ {
31667
+ "description": "Default slot for text content",
31668
+ "name": ""
31669
+ }
31670
+ ],
31671
+ "members": [
31672
+ {
31673
+ "kind": "field",
31674
+ "name": "type",
31675
+ "type": {
31676
+ "text": "TextType"
31677
+ },
31678
+ "privacy": "public",
31679
+ "description": "Specifies the text style to be applied.\n\nAcceptable values include:\n\n- 'body-small-regular'\n- 'body-small-medium'\n- 'body-small-bold'\n- 'body-midsize-regular'\n- 'body-midsize-medium'\n- 'body-midsize-bold'\n- 'body-large-regular'\n- 'body-large-medium'\n- 'body-large-bold'\n- 'body-small-regular-underline'\n- 'body-small-medium-underline'\n- 'body-midsize-regular-underline'\n- 'body-midsize-medium-underline'\n- 'body-large-regular-underline'\n- 'body-large-medium-underline'\n- 'heading-small-regular'\n- 'heading-small-medium'\n- 'heading-small-bold'\n- 'heading-midsize-regular'\n- 'heading-midsize-medium'\n- 'heading-midsize-bold'\n- 'heading-large-regular'\n- 'heading-large-medium'\n- 'heading-large-bold'\n- 'heading-xlarge-regular'\n- 'heading-xlarge-medium'\n- 'heading-xlarge-bold'\n- 'headline-small-light'\n- 'headline-small-regular'",
31680
+ "default": "body-large-regular",
31681
+ "attribute": "type",
31682
+ "reflects": true
31683
+ },
31684
+ {
31685
+ "kind": "field",
31686
+ "name": "tagname",
31687
+ "type": {
31688
+ "text": "TagName | undefined"
31689
+ },
31690
+ "privacy": "public",
31691
+ "description": "Specifies the HTML tag name for the text element. The default tag name is `p`.\nThis attribute is optional. When set, it changes the tag name of the text element.\n\nAcceptable values include:\n\n- 'h1'\n- 'h2'\n- 'h3'\n- 'h4'\n- 'h5'\n- 'h6'\n- 'p'\n- 'small'\n- 'span'\n- 'div'\n\nFor instance, setting this attribute to `h2` will render the text element as an `h2` element.\nNote that the styling is determined by the `type` attribute.",
31692
+ "attribute": "tagname",
31693
+ "reflects": true
31694
+ }
31695
+ ],
31696
+ "attributes": [
31697
+ {
31698
+ "name": "type",
31699
+ "type": {
31700
+ "text": "TextType"
31701
+ },
31702
+ "description": "Specifies the text style to be applied.\n\nAcceptable values include:\n\n- 'body-small-regular'\n- 'body-small-medium'\n- 'body-small-bold'\n- 'body-midsize-regular'\n- 'body-midsize-medium'\n- 'body-midsize-bold'\n- 'body-large-regular'\n- 'body-large-medium'\n- 'body-large-bold'\n- 'body-small-regular-underline'\n- 'body-small-medium-underline'\n- 'body-midsize-regular-underline'\n- 'body-midsize-medium-underline'\n- 'body-large-regular-underline'\n- 'body-large-medium-underline'\n- 'heading-small-regular'\n- 'heading-small-medium'\n- 'heading-small-bold'\n- 'heading-midsize-regular'\n- 'heading-midsize-medium'\n- 'heading-midsize-bold'\n- 'heading-large-regular'\n- 'heading-large-medium'\n- 'heading-large-bold'\n- 'heading-xlarge-regular'\n- 'heading-xlarge-medium'\n- 'heading-xlarge-bold'\n- 'headline-small-light'\n- 'headline-small-regular'",
31703
+ "default": "body-large-regular",
31704
+ "fieldName": "type"
31705
+ },
31706
+ {
31707
+ "name": "tagname",
31708
+ "type": {
31709
+ "text": "TagName | undefined"
31710
+ },
31711
+ "description": "Specifies the HTML tag name for the text element. The default tag name is `p`.\nThis attribute is optional. When set, it changes the tag name of the text element.\n\nAcceptable values include:\n\n- 'h1'\n- 'h2'\n- 'h3'\n- 'h4'\n- 'h5'\n- 'h6'\n- 'p'\n- 'small'\n- 'span'\n- 'div'\n\nFor instance, setting this attribute to `h2` will render the text element as an `h2` element.\nNote that the styling is determined by the `type` attribute.",
31712
+ "fieldName": "tagname"
31713
+ }
31714
+ ],
31715
+ "superclass": {
31716
+ "name": "Component",
31717
+ "module": "/src/models"
31718
+ },
31719
+ "tagName": "mdc-text",
31720
+ "jsDoc": "/**\n * Text component for creating styled text elements.\n * It has to be mounted within the ThemeProvider to access color and font tokens.\n *\n * The `type` attribute allows changing the text style.\n * The `tagname` attribute allows changing the tag name of the text element.\n * The default tag name is `p`.\n *\n * The `tagname` attribute should be a valid HTML tag name.\n * If the `tagname` attribute is not a valid HTML tag name, the default tag name will be used.\n *\n * The styling is applied based on the `type` attribute.\n *\n * @tagname mdc-text\n * @slot - Default slot for text content\n *\n * @csspart text - The text element\n */",
31721
+ "customElement": true
31722
+ }
31723
+ ],
31724
+ "exports": [
31725
+ {
31726
+ "kind": "js",
31727
+ "name": "default",
31728
+ "declaration": {
31729
+ "name": "Text",
31730
+ "module": "components/text/text.component.js"
31731
+ }
31732
+ }
31733
+ ]
31734
+ },
31735
31735
  {
31736
31736
  "kind": "javascript-module",
31737
31737
  "path": "components/themeprovider/themeprovider.component.js",