@momentum-design/components 0.92.3 → 0.92.4

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.
@@ -2263,189 +2263,75 @@
2263
2263
  },
2264
2264
  {
2265
2265
  "kind": "javascript-module",
2266
- "path": "components/buttongroup/buttongroup.component.js",
2266
+ "path": "components/button/button.component.js",
2267
2267
  "declarations": [
2268
2268
  {
2269
2269
  "kind": "class",
2270
- "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.",
2271
- "name": "ButtonGroup",
2272
- "cssProperties": [
2273
- {
2274
- "description": "The border radius of the buttongroup",
2275
- "name": "--mdc-buttongroup-border-radius"
2276
- },
2277
- {
2278
- "description": "The border color of the buttongroup",
2279
- "name": "--mdc-buttongroup-border-color"
2280
- },
2281
- {
2282
- "description": "The color of the divider between buttons within the buttongroup",
2283
- "name": "--mdc-buttongroup-divider-color"
2284
- }
2285
- ],
2270
+ "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.",
2271
+ "name": "Button",
2286
2272
  "slots": [
2287
2273
  {
2288
- "description": "This is a default/unnamed slot, which contains the buttons",
2289
- "name": "default"
2274
+ "description": "Text label of the button.",
2275
+ "name": ""
2290
2276
  }
2291
2277
  ],
2292
2278
  "members": [
2293
- {
2294
- "kind": "field",
2295
- "name": "orientation",
2296
- "type": {
2297
- "text": "ButtonGroupOrientation"
2298
- },
2299
- "description": "Orientation of the buttongroup.",
2300
- "default": "'horizontal'",
2301
- "attribute": "orientation",
2302
- "reflects": true
2303
- },
2304
- {
2305
- "kind": "field",
2306
- "name": "variant",
2307
- "type": {
2308
- "text": "ButtonGroupVariant"
2309
- },
2310
- "description": "Variant of the buttons within the buttongroup.",
2311
- "default": "'primary'",
2312
- "attribute": "variant",
2313
- "reflects": true
2314
- },
2315
2279
  {
2316
2280
  "kind": "field",
2317
2281
  "name": "size",
2318
2282
  "type": {
2319
- "text": "ButtonGroupSize"
2283
+ "text": "ButtonSize"
2320
2284
  },
2321
- "description": "Size of the buttons within the buttongroup.",
2322
- "default": "'28'",
2285
+ "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.",
2286
+ "default": "32",
2323
2287
  "attribute": "size",
2324
- "reflects": true
2288
+ "reflects": true,
2289
+ "inheritedFrom": {
2290
+ "name": "Buttonsimple",
2291
+ "module": "components/buttonsimple/buttonsimple.component.js"
2292
+ }
2325
2293
  },
2326
2294
  {
2327
2295
  "kind": "field",
2328
- "name": "compact",
2329
- "type": {
2330
- "text": "boolean"
2331
- },
2332
- "default": "false",
2333
- "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.",
2334
- "attribute": "compact",
2335
- "reflects": true
2336
- }
2337
- ],
2338
- "attributes": [
2339
- {
2340
- "name": "orientation",
2341
- "type": {
2342
- "text": "ButtonGroupOrientation"
2343
- },
2344
- "description": "Orientation of the buttongroup.",
2345
- "default": "'horizontal'",
2346
- "fieldName": "orientation"
2347
- },
2348
- {
2349
- "name": "variant",
2350
- "type": {
2351
- "text": "ButtonGroupVariant"
2352
- },
2353
- "description": "Variant of the buttons within the buttongroup.",
2354
- "default": "'primary'",
2355
- "fieldName": "variant"
2356
- },
2357
- {
2358
- "name": "size",
2359
- "type": {
2360
- "text": "ButtonGroupSize"
2361
- },
2362
- "description": "Size of the buttons within the buttongroup.",
2363
- "default": "'28'",
2364
- "fieldName": "size"
2365
- },
2366
- {
2367
- "name": "compact",
2296
+ "name": "inverted",
2368
2297
  "type": {
2369
2298
  "text": "boolean"
2370
2299
  },
2300
+ "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`.",
2371
2301
  "default": "false",
2372
- "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.",
2373
- "fieldName": "compact"
2374
- }
2375
- ],
2376
- "superclass": {
2377
- "name": "Component",
2378
- "module": "/src/models"
2379
- },
2380
- "tagName": "mdc-buttongroup",
2381
- "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 */",
2382
- "customElement": true
2383
- }
2384
- ],
2385
- "exports": [
2386
- {
2387
- "kind": "js",
2388
- "name": "default",
2389
- "declaration": {
2390
- "name": "ButtonGroup",
2391
- "module": "components/buttongroup/buttongroup.component.js"
2392
- }
2393
- }
2394
- ]
2395
- },
2396
- {
2397
- "kind": "javascript-module",
2398
- "path": "components/buttonlink/buttonlink.component.js",
2399
- "declarations": [
2400
- {
2401
- "kind": "class",
2402
- "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`.",
2403
- "name": "ButtonLink",
2404
- "members": [
2405
- {
2406
- "kind": "field",
2407
- "name": "size",
2408
- "type": {
2409
- "text": "PillButtonSize | IconButtonSize"
2410
- },
2411
- "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.",
2412
- "default": "32",
2413
- "attribute": "size",
2302
+ "attribute": "inverted",
2414
2303
  "reflects": true
2415
2304
  },
2416
2305
  {
2417
2306
  "kind": "field",
2418
- "name": "softDisabled",
2307
+ "name": "role",
2308
+ "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.",
2309
+ "default": "'button'",
2310
+ "attribute": "role",
2311
+ "reflects": true,
2419
2312
  "type": {
2420
- "text": "boolean | undefined"
2313
+ "text": "string"
2421
2314
  },
2422
- "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.",
2423
- "default": "undefined",
2424
- "attribute": "soft-disabled",
2425
- "reflects": true
2315
+ "inheritedFrom": {
2316
+ "name": "Buttonsimple",
2317
+ "module": "components/buttonsimple/buttonsimple.component.js"
2318
+ }
2426
2319
  },
2427
2320
  {
2428
2321
  "kind": "method",
2429
- "name": "setSoftDisabled",
2322
+ "name": "inferFilledIconName",
2430
2323
  "privacy": "private",
2431
2324
  "parameters": [
2432
2325
  {
2433
- "name": "element",
2434
- "type": {
2435
- "text": "HTMLElement"
2436
- },
2437
- "description": "The buttonlink element."
2438
- },
2439
- {
2440
- "name": "softDisabled",
2326
+ "name": "active",
2441
2327
  "optional": true,
2442
2328
  "type": {
2443
2329
  "text": "boolean"
2444
2330
  },
2445
- "description": "The soft-disabled state."
2331
+ "description": "The active state."
2446
2332
  }
2447
2333
  ],
2448
- "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."
2334
+ "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."
2449
2335
  },
2450
2336
  {
2451
2337
  "kind": "field",
@@ -2578,17 +2464,17 @@
2578
2464
  },
2579
2465
  {
2580
2466
  "kind": "field",
2581
- "name": "disabled",
2467
+ "name": "autofocus",
2582
2468
  "type": {
2583
- "text": "boolean | undefined"
2469
+ "text": "boolean"
2584
2470
  },
2585
- "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
2586
- "default": "undefined",
2587
- "attribute": "disabled",
2471
+ "default": "false",
2472
+ "description": "This property indicates whether the element should receive focus automatically when it is rendered.",
2473
+ "attribute": "autofocus",
2588
2474
  "reflects": true,
2589
2475
  "inheritedFrom": {
2590
- "name": "DisabledMixin",
2591
- "module": "utils/mixins/DisabledMixin.js"
2476
+ "name": "AutoFocusMixin",
2477
+ "module": "utils/mixins/AutoFocusMixin.js"
2592
2478
  }
2593
2479
  },
2594
2480
  {
@@ -2608,85 +2494,140 @@
2608
2494
  },
2609
2495
  {
2610
2496
  "kind": "field",
2611
- "name": "inline",
2497
+ "name": "disabled",
2612
2498
  "type": {
2613
- "text": "boolean"
2499
+ "text": "boolean | undefined"
2614
2500
  },
2615
- "description": "The link can be inline or standalone.",
2616
- "default": "false",
2617
- "attribute": "inline",
2501
+ "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
2502
+ "default": "undefined",
2503
+ "attribute": "disabled",
2618
2504
  "reflects": true,
2619
2505
  "inheritedFrom": {
2620
- "name": "Linksimple",
2621
- "module": "components/linksimple/linksimple.component.js"
2506
+ "name": "DisabledMixin",
2507
+ "module": "utils/mixins/DisabledMixin.js"
2622
2508
  }
2623
2509
  },
2624
2510
  {
2625
2511
  "kind": "field",
2626
- "name": "inverted",
2512
+ "name": "active",
2627
2513
  "type": {
2628
- "text": "boolean"
2514
+ "text": "boolean | undefined"
2629
2515
  },
2630
- "description": "The link color can be inverted by setting the inverted attribute to true.",
2631
- "default": "false",
2632
- "attribute": "inverted",
2516
+ "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.",
2517
+ "default": "undefined",
2518
+ "attribute": "active",
2633
2519
  "reflects": true,
2634
2520
  "inheritedFrom": {
2635
- "name": "Linksimple",
2636
- "module": "components/linksimple/linksimple.component.js"
2521
+ "name": "Buttonsimple",
2522
+ "module": "components/buttonsimple/buttonsimple.component.js"
2637
2523
  }
2638
2524
  },
2639
2525
  {
2640
2526
  "kind": "field",
2641
- "name": "href",
2527
+ "name": "softDisabled",
2642
2528
  "type": {
2643
- "text": "string"
2529
+ "text": "boolean | undefined"
2644
2530
  },
2645
- "default": "'#'",
2646
- "description": "Href for navigation. The URL that the hyperlink points to",
2647
- "attribute": "href",
2531
+ "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.",
2532
+ "default": "undefined",
2533
+ "attribute": "soft-disabled",
2648
2534
  "reflects": true,
2649
2535
  "inheritedFrom": {
2650
- "name": "Linksimple",
2651
- "module": "components/linksimple/linksimple.component.js"
2536
+ "name": "Buttonsimple",
2537
+ "module": "components/buttonsimple/buttonsimple.component.js"
2652
2538
  }
2653
2539
  },
2654
2540
  {
2655
2541
  "kind": "field",
2656
- "name": "target",
2542
+ "name": "ariaStateKey",
2657
2543
  "type": {
2658
- "text": "string"
2544
+ "text": "string | undefined"
2659
2545
  },
2660
- "default": "'_self'",
2661
- "description": "Optional target: _blank, _self, _parent, _top and _unfencedTop",
2662
- "attribute": "target",
2546
+ "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`",
2547
+ "default": "'aria-pressed' (when)",
2548
+ "attribute": "ariaStateKey",
2663
2549
  "reflects": true,
2664
2550
  "inheritedFrom": {
2665
- "name": "Linksimple",
2666
- "module": "components/linksimple/linksimple.component.js"
2551
+ "name": "Buttonsimple",
2552
+ "module": "components/buttonsimple/buttonsimple.component.js"
2667
2553
  }
2668
2554
  },
2669
2555
  {
2670
2556
  "kind": "field",
2671
- "name": "rel",
2557
+ "name": "type",
2672
2558
  "type": {
2673
- "text": "string | undefined"
2559
+ "text": "ButtonType"
2674
2560
  },
2675
- "description": "Optional rel attribute that defines the relationship of the linked URL as space-separated link types.",
2676
- "attribute": "rel",
2561
+ "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.",
2562
+ "default": "button",
2563
+ "attribute": "type",
2677
2564
  "reflects": true,
2678
2565
  "inheritedFrom": {
2679
- "name": "Linksimple",
2680
- "module": "components/linksimple/linksimple.component.js"
2681
- }
2566
+ "name": "Buttonsimple",
2567
+ "module": "components/buttonsimple/buttonsimple.component.js"
2568
+ }
2682
2569
  },
2683
2570
  {
2684
- "kind": "field",
2685
- "name": "handleNavigation",
2571
+ "kind": "method",
2572
+ "name": "executeAction",
2573
+ "privacy": "protected",
2574
+ "inheritedFrom": {
2575
+ "name": "Buttonsimple",
2576
+ "module": "components/buttonsimple/buttonsimple.component.js"
2577
+ }
2578
+ },
2579
+ {
2580
+ "kind": "method",
2581
+ "name": "setActive",
2582
+ "privacy": "protected",
2583
+ "parameters": [
2584
+ {
2585
+ "name": "element",
2586
+ "type": {
2587
+ "text": "HTMLElement"
2588
+ },
2589
+ "description": "The button element"
2590
+ },
2591
+ {
2592
+ "name": "active",
2593
+ "optional": true,
2594
+ "type": {
2595
+ "text": "boolean"
2596
+ },
2597
+ "description": "The active state of the element"
2598
+ }
2599
+ ],
2600
+ "description": "Sets the ariaStateKey attributes based on the active state of the button.",
2601
+ "inheritedFrom": {
2602
+ "name": "Buttonsimple",
2603
+ "module": "components/buttonsimple/buttonsimple.component.js"
2604
+ }
2605
+ },
2606
+ {
2607
+ "kind": "method",
2608
+ "name": "setSoftDisabled",
2686
2609
  "privacy": "private",
2610
+ "parameters": [
2611
+ {
2612
+ "name": "element",
2613
+ "type": {
2614
+ "text": "HTMLElement"
2615
+ },
2616
+ "description": "The button element."
2617
+ },
2618
+ {
2619
+ "name": "softDisabled",
2620
+ "optional": true,
2621
+ "type": {
2622
+ "text": "boolean"
2623
+ },
2624
+ "description": "The soft-disabled state."
2625
+ }
2626
+ ],
2627
+ "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.",
2687
2628
  "inheritedFrom": {
2688
- "name": "Linksimple",
2689
- "module": "components/linksimple/linksimple.component.js"
2629
+ "name": "Buttonsimple",
2630
+ "module": "components/buttonsimple/buttonsimple.component.js"
2690
2631
  }
2691
2632
  },
2692
2633
  {
@@ -2694,56 +2635,82 @@
2694
2635
  "name": "setDisabled",
2695
2636
  "privacy": "private",
2696
2637
  "parameters": [
2638
+ {
2639
+ "name": "element",
2640
+ "type": {
2641
+ "text": "HTMLElement"
2642
+ },
2643
+ "description": "The button element."
2644
+ },
2697
2645
  {
2698
2646
  "name": "disabled",
2699
2647
  "type": {
2700
2648
  "text": "boolean"
2701
2649
  },
2702
- "description": "Whether the element should be disabled"
2650
+ "description": "The disabled state."
2703
2651
  }
2704
2652
  ],
2705
- "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.",
2653
+ "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.",
2706
2654
  "inheritedFrom": {
2707
- "name": "Linksimple",
2708
- "module": "components/linksimple/linksimple.component.js"
2655
+ "name": "Buttonsimple",
2656
+ "module": "components/buttonsimple/buttonsimple.component.js"
2709
2657
  }
2710
- }
2711
- ],
2712
- "events": [
2658
+ },
2713
2659
  {
2714
- "description": "(React: onClick) Fired when the user activates the buttonLink using a mouse or assistive technology.",
2715
- "name": "click",
2716
- "reactName": "onClick",
2660
+ "kind": "method",
2661
+ "name": "triggerClickEvent",
2662
+ "privacy": "private",
2717
2663
  "inheritedFrom": {
2718
- "name": "Linksimple",
2719
- "module": "src/components/linksimple/linksimple.component.ts"
2664
+ "name": "Buttonsimple",
2665
+ "module": "components/buttonsimple/buttonsimple.component.js"
2720
2666
  }
2721
2667
  },
2722
2668
  {
2723
- "description": "(React: onKeyDown) Fired when the user presses a key while the buttonLink has focus.",
2724
- "name": "keydown",
2725
- "reactName": "onKeyDown",
2669
+ "kind": "method",
2670
+ "name": "handleBlur",
2671
+ "privacy": "private",
2672
+ "description": "In case the button is pressed and the focus is lost while pressing,\nthe pressed class is removed.",
2726
2673
  "inheritedFrom": {
2727
- "name": "Linksimple",
2728
- "module": "src/components/linksimple/linksimple.component.ts"
2674
+ "name": "Buttonsimple",
2675
+ "module": "components/buttonsimple/buttonsimple.component.js"
2729
2676
  }
2730
2677
  },
2731
2678
  {
2732
- "description": "(React: onFocus) Fired when the buttonLink receives keyboard or mouse focus.",
2733
- "name": "focus",
2734
- "reactName": "onFocus",
2679
+ "kind": "method",
2680
+ "name": "handleKeyDown",
2681
+ "privacy": "private",
2682
+ "parameters": [
2683
+ {
2684
+ "name": "event",
2685
+ "type": {
2686
+ "text": "KeyboardEvent"
2687
+ },
2688
+ "description": "The keyboard event."
2689
+ }
2690
+ ],
2691
+ "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.",
2735
2692
  "inheritedFrom": {
2736
- "name": "Linksimple",
2737
- "module": "src/components/linksimple/linksimple.component.ts"
2693
+ "name": "Buttonsimple",
2694
+ "module": "components/buttonsimple/buttonsimple.component.js"
2738
2695
  }
2739
2696
  },
2740
2697
  {
2741
- "description": "(React: onBlur) Fired when the buttonLink loses keyboard or mouse focus.",
2742
- "name": "blur",
2743
- "reactName": "onBlur",
2698
+ "kind": "method",
2699
+ "name": "handleKeyUp",
2700
+ "privacy": "private",
2701
+ "parameters": [
2702
+ {
2703
+ "name": "event",
2704
+ "type": {
2705
+ "text": "KeyboardEvent"
2706
+ },
2707
+ "description": "The keyboard event."
2708
+ }
2709
+ ],
2710
+ "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.",
2744
2711
  "inheritedFrom": {
2745
- "name": "Linksimple",
2746
- "module": "src/components/linksimple/linksimple.component.ts"
2712
+ "name": "Buttonsimple",
2713
+ "module": "components/buttonsimple/buttonsimple.component.js"
2747
2714
  }
2748
2715
  }
2749
2716
  ],
@@ -2751,20 +2718,37 @@
2751
2718
  {
2752
2719
  "name": "size",
2753
2720
  "type": {
2754
- "text": "PillButtonSize | IconButtonSize"
2721
+ "text": "ButtonSize"
2755
2722
  },
2756
- "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.",
2723
+ "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.",
2757
2724
  "default": "32",
2758
- "fieldName": "size"
2725
+ "fieldName": "size",
2726
+ "inheritedFrom": {
2727
+ "name": "Buttonsimple",
2728
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
2729
+ }
2759
2730
  },
2760
2731
  {
2761
- "name": "soft-disabled",
2732
+ "name": "inverted",
2762
2733
  "type": {
2763
- "text": "boolean | undefined"
2734
+ "text": "boolean"
2764
2735
  },
2765
- "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.",
2766
- "default": "undefined",
2767
- "fieldName": "softDisabled"
2736
+ "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`.",
2737
+ "default": "false",
2738
+ "fieldName": "inverted"
2739
+ },
2740
+ {
2741
+ "name": "role",
2742
+ "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.",
2743
+ "default": "'button'",
2744
+ "fieldName": "role",
2745
+ "type": {
2746
+ "text": "string"
2747
+ },
2748
+ "inheritedFrom": {
2749
+ "name": "Buttonsimple",
2750
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
2751
+ }
2768
2752
  },
2769
2753
  {
2770
2754
  "name": "prefix-icon",
@@ -2817,16 +2801,16 @@
2817
2801
  }
2818
2802
  },
2819
2803
  {
2820
- "name": "disabled",
2804
+ "name": "autofocus",
2821
2805
  "type": {
2822
- "text": "boolean | undefined"
2806
+ "text": "boolean"
2823
2807
  },
2824
- "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
2825
- "default": "undefined",
2826
- "fieldName": "disabled",
2808
+ "default": "false",
2809
+ "description": "This property indicates whether the element should receive focus automatically when it is rendered.",
2810
+ "fieldName": "autofocus",
2827
2811
  "inheritedFrom": {
2828
- "name": "DisabledMixin",
2829
- "module": "src/utils/mixins/DisabledMixin.ts"
2812
+ "name": "AutoFocusMixin",
2813
+ "module": "src/utils/mixins/AutoFocusMixin.ts"
2830
2814
  }
2831
2815
  },
2832
2816
  {
@@ -2843,67 +2827,68 @@
2843
2827
  }
2844
2828
  },
2845
2829
  {
2846
- "name": "inline",
2830
+ "name": "disabled",
2847
2831
  "type": {
2848
- "text": "boolean"
2832
+ "text": "boolean | undefined"
2849
2833
  },
2850
- "description": "The link can be inline or standalone.",
2851
- "default": "false",
2852
- "fieldName": "inline",
2834
+ "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
2835
+ "default": "undefined",
2836
+ "fieldName": "disabled",
2853
2837
  "inheritedFrom": {
2854
- "name": "Linksimple",
2855
- "module": "src/components/linksimple/linksimple.component.ts"
2838
+ "name": "DisabledMixin",
2839
+ "module": "src/utils/mixins/DisabledMixin.ts"
2856
2840
  }
2857
2841
  },
2858
2842
  {
2859
- "name": "inverted",
2843
+ "name": "active",
2860
2844
  "type": {
2861
- "text": "boolean"
2845
+ "text": "boolean | undefined"
2862
2846
  },
2863
- "description": "The link color can be inverted by setting the inverted attribute to true.",
2864
- "default": "false",
2865
- "fieldName": "inverted",
2847
+ "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.",
2848
+ "default": "undefined",
2849
+ "fieldName": "active",
2866
2850
  "inheritedFrom": {
2867
- "name": "Linksimple",
2868
- "module": "src/components/linksimple/linksimple.component.ts"
2851
+ "name": "Buttonsimple",
2852
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
2869
2853
  }
2870
2854
  },
2871
2855
  {
2872
- "name": "href",
2856
+ "name": "soft-disabled",
2873
2857
  "type": {
2874
- "text": "string"
2858
+ "text": "boolean | undefined"
2875
2859
  },
2876
- "default": "'#'",
2877
- "description": "Href for navigation. The URL that the hyperlink points to",
2878
- "fieldName": "href",
2860
+ "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.",
2861
+ "default": "undefined",
2862
+ "fieldName": "softDisabled",
2879
2863
  "inheritedFrom": {
2880
- "name": "Linksimple",
2881
- "module": "src/components/linksimple/linksimple.component.ts"
2864
+ "name": "Buttonsimple",
2865
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
2882
2866
  }
2883
2867
  },
2884
2868
  {
2885
- "name": "target",
2869
+ "name": "ariaStateKey",
2886
2870
  "type": {
2887
- "text": "string"
2871
+ "text": "string | undefined"
2888
2872
  },
2889
- "default": "'_self'",
2890
- "description": "Optional target: _blank, _self, _parent, _top and _unfencedTop",
2891
- "fieldName": "target",
2873
+ "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`",
2874
+ "default": "'aria-pressed' (when)",
2875
+ "fieldName": "ariaStateKey",
2892
2876
  "inheritedFrom": {
2893
- "name": "Linksimple",
2894
- "module": "src/components/linksimple/linksimple.component.ts"
2877
+ "name": "Buttonsimple",
2878
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
2895
2879
  }
2896
2880
  },
2897
2881
  {
2898
- "name": "rel",
2882
+ "name": "type",
2899
2883
  "type": {
2900
- "text": "string | undefined"
2884
+ "text": "ButtonType"
2901
2885
  },
2902
- "description": "Optional rel attribute that defines the relationship of the linked URL as space-separated link types.",
2903
- "fieldName": "rel",
2904
- "inheritedFrom": {
2905
- "name": "Linksimple",
2906
- "module": "src/components/linksimple/linksimple.component.ts"
2886
+ "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.",
2887
+ "default": "button",
2888
+ "fieldName": "type",
2889
+ "inheritedFrom": {
2890
+ "name": "Buttonsimple",
2891
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
2907
2892
  }
2908
2893
  }
2909
2894
  ],
@@ -2914,83 +2899,47 @@
2914
2899
  }
2915
2900
  ],
2916
2901
  "superclass": {
2917
- "name": "Linksimple",
2918
- "module": "/src/components/linksimple/linksimple.component"
2902
+ "name": "Buttonsimple",
2903
+ "module": "/src/components/buttonsimple/buttonsimple.component"
2919
2904
  },
2920
- "tagName": "mdc-buttonlink",
2921
- "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 */",
2905
+ "tagName": "mdc-button",
2906
+ "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 */",
2922
2907
  "customElement": true,
2923
- "cssProperties": [
2924
- {
2925
- "description": "Border radius of the link.",
2926
- "name": "--mdc-link-border-radius",
2927
- "inheritedFrom": {
2928
- "name": "Linksimple",
2929
- "module": "src/components/linksimple/linksimple.component.ts"
2930
- }
2931
- },
2932
- {
2933
- "description": "Color of the link’s child content in the active state.",
2934
- "name": "--mdc-link-color-active",
2935
- "inheritedFrom": {
2936
- "name": "Linksimple",
2937
- "module": "src/components/linksimple/linksimple.component.ts"
2938
- }
2939
- },
2940
- {
2941
- "description": "Color of the link’s child content in the disabled state.",
2942
- "name": "--mdc-link-color-disabled",
2943
- "inheritedFrom": {
2944
- "name": "Linksimple",
2945
- "module": "src/components/linksimple/linksimple.component.ts"
2946
- }
2947
- },
2948
- {
2949
- "description": "Color of the link’s child content in the hover state.",
2950
- "name": "--mdc-link-color-hover",
2951
- "inheritedFrom": {
2952
- "name": "Linksimple",
2953
- "module": "src/components/linksimple/linksimple.component.ts"
2954
- }
2955
- },
2956
- {
2957
- "description": "Color of the link’s child content in the normal state.",
2958
- "name": "--mdc-link-color-normal",
2959
- "inheritedFrom": {
2960
- "name": "Linksimple",
2961
- "module": "src/components/linksimple/linksimple.component.ts"
2962
- }
2963
- },
2908
+ "events": [
2964
2909
  {
2965
- "description": "Color of the inverted link’s child content in the active state.",
2966
- "name": "--mdc-link-inverted-color-active",
2910
+ "description": "(React: onClick) This event is dispatched when the button is clicked.",
2911
+ "name": "click",
2912
+ "reactName": "onClick",
2967
2913
  "inheritedFrom": {
2968
- "name": "Linksimple",
2969
- "module": "src/components/linksimple/linksimple.component.ts"
2914
+ "name": "Buttonsimple",
2915
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
2970
2916
  }
2971
2917
  },
2972
2918
  {
2973
- "description": "Color of the inverted link’s child content in the disabled state.",
2974
- "name": "--mdc-link-inverted-color-disabled",
2919
+ "description": "(React: onKeyDown) This event is dispatched when a key is pressed down on the button.",
2920
+ "name": "keydown",
2921
+ "reactName": "onKeyDown",
2975
2922
  "inheritedFrom": {
2976
- "name": "Linksimple",
2977
- "module": "src/components/linksimple/linksimple.component.ts"
2923
+ "name": "Buttonsimple",
2924
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
2978
2925
  }
2979
2926
  },
2980
2927
  {
2981
- "description": "Color of the inverted link’s child content in the hover state.",
2982
- "name": "--mdc-link-inverted-color-hover",
2928
+ "description": "(React: onKeyUp) This event is dispatched when a key is released on the button.",
2929
+ "name": "keyup",
2930
+ "reactName": "onKeyUp",
2983
2931
  "inheritedFrom": {
2984
- "name": "Linksimple",
2985
- "module": "src/components/linksimple/linksimple.component.ts"
2932
+ "name": "Buttonsimple",
2933
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
2986
2934
  }
2987
2935
  },
2988
2936
  {
2989
- "description": "Color of the inverted link’s child content in the normal state.",
2990
- "name": "--mdc-link-inverted-color-normal",
2937
+ "description": "(React: onFocus) This event is dispatched when the button receives focus.",
2938
+ "name": "focus",
2939
+ "reactName": "onFocus",
2991
2940
  "inheritedFrom": {
2992
- "name": "Linksimple",
2993
- "module": "src/components/linksimple/linksimple.component.ts"
2941
+ "name": "Buttonsimple",
2942
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
2994
2943
  }
2995
2944
  }
2996
2945
  ]
@@ -3001,211 +2950,340 @@
3001
2950
  "kind": "js",
3002
2951
  "name": "default",
3003
2952
  "declaration": {
3004
- "name": "ButtonLink",
3005
- "module": "components/buttonlink/buttonlink.component.js"
2953
+ "name": "Button",
2954
+ "module": "components/button/button.component.js"
3006
2955
  }
3007
2956
  }
3008
2957
  ]
3009
2958
  },
3010
2959
  {
3011
2960
  "kind": "javascript-module",
3012
- "path": "components/buttonsimple/buttonsimple.component.js",
2961
+ "path": "components/buttongroup/buttongroup.component.js",
3013
2962
  "declarations": [
3014
2963
  {
3015
2964
  "kind": "class",
3016
- "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.",
3017
- "name": "Buttonsimple",
2965
+ "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.",
2966
+ "name": "ButtonGroup",
2967
+ "cssProperties": [
2968
+ {
2969
+ "description": "The border radius of the buttongroup",
2970
+ "name": "--mdc-buttongroup-border-radius"
2971
+ },
2972
+ {
2973
+ "description": "The border color of the buttongroup",
2974
+ "name": "--mdc-buttongroup-border-color"
2975
+ },
2976
+ {
2977
+ "description": "The color of the divider between buttons within the buttongroup",
2978
+ "name": "--mdc-buttongroup-divider-color"
2979
+ }
2980
+ ],
2981
+ "slots": [
2982
+ {
2983
+ "description": "This is a default/unnamed slot, which contains the buttons",
2984
+ "name": "default"
2985
+ }
2986
+ ],
3018
2987
  "members": [
3019
2988
  {
3020
2989
  "kind": "field",
3021
- "name": "active",
2990
+ "name": "orientation",
3022
2991
  "type": {
3023
- "text": "boolean | undefined"
2992
+ "text": "ButtonGroupOrientation"
3024
2993
  },
3025
- "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.",
3026
- "default": "undefined",
3027
- "attribute": "active",
2994
+ "description": "Orientation of the buttongroup.",
2995
+ "default": "'horizontal'",
2996
+ "attribute": "orientation",
3028
2997
  "reflects": true
3029
2998
  },
3030
2999
  {
3031
3000
  "kind": "field",
3032
- "name": "softDisabled",
3001
+ "name": "variant",
3033
3002
  "type": {
3034
- "text": "boolean | undefined"
3003
+ "text": "ButtonGroupVariant"
3035
3004
  },
3036
- "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.",
3037
- "default": "undefined",
3038
- "attribute": "soft-disabled",
3005
+ "description": "Variant of the buttons within the buttongroup.",
3006
+ "default": "'primary'",
3007
+ "attribute": "variant",
3039
3008
  "reflects": true
3040
3009
  },
3041
3010
  {
3042
3011
  "kind": "field",
3043
3012
  "name": "size",
3044
3013
  "type": {
3045
- "text": "ButtonSize"
3014
+ "text": "ButtonGroupSize"
3046
3015
  },
3047
- "description": "Simplebutton size is a super set of all the sizes supported by children components.",
3048
- "default": "32",
3016
+ "description": "Size of the buttons within the buttongroup.",
3017
+ "default": "'28'",
3049
3018
  "attribute": "size",
3050
3019
  "reflects": true
3051
3020
  },
3052
3021
  {
3053
3022
  "kind": "field",
3054
- "name": "role",
3055
- "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.",
3056
- "default": "button",
3057
- "attribute": "role",
3023
+ "name": "compact",
3024
+ "type": {
3025
+ "text": "boolean"
3026
+ },
3027
+ "default": "false",
3028
+ "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.",
3029
+ "attribute": "compact",
3058
3030
  "reflects": true
3031
+ }
3032
+ ],
3033
+ "attributes": [
3034
+ {
3035
+ "name": "orientation",
3036
+ "type": {
3037
+ "text": "ButtonGroupOrientation"
3038
+ },
3039
+ "description": "Orientation of the buttongroup.",
3040
+ "default": "'horizontal'",
3041
+ "fieldName": "orientation"
3059
3042
  },
3060
3043
  {
3061
- "kind": "field",
3062
- "name": "ariaStateKey",
3044
+ "name": "variant",
3063
3045
  "type": {
3064
- "text": "string | undefined"
3046
+ "text": "ButtonGroupVariant"
3065
3047
  },
3066
- "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`",
3067
- "default": "'aria-pressed' (when)",
3068
- "attribute": "ariaStateKey",
3069
- "reflects": true
3048
+ "description": "Variant of the buttons within the buttongroup.",
3049
+ "default": "'primary'",
3050
+ "fieldName": "variant"
3051
+ },
3052
+ {
3053
+ "name": "size",
3054
+ "type": {
3055
+ "text": "ButtonGroupSize"
3056
+ },
3057
+ "description": "Size of the buttons within the buttongroup.",
3058
+ "default": "'28'",
3059
+ "fieldName": "size"
3070
3060
  },
3061
+ {
3062
+ "name": "compact",
3063
+ "type": {
3064
+ "text": "boolean"
3065
+ },
3066
+ "default": "false",
3067
+ "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.",
3068
+ "fieldName": "compact"
3069
+ }
3070
+ ],
3071
+ "superclass": {
3072
+ "name": "Component",
3073
+ "module": "/src/models"
3074
+ },
3075
+ "tagName": "mdc-buttongroup",
3076
+ "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 */",
3077
+ "customElement": true
3078
+ }
3079
+ ],
3080
+ "exports": [
3081
+ {
3082
+ "kind": "js",
3083
+ "name": "default",
3084
+ "declaration": {
3085
+ "name": "ButtonGroup",
3086
+ "module": "components/buttongroup/buttongroup.component.js"
3087
+ }
3088
+ }
3089
+ ]
3090
+ },
3091
+ {
3092
+ "kind": "javascript-module",
3093
+ "path": "components/buttonlink/buttonlink.component.js",
3094
+ "declarations": [
3095
+ {
3096
+ "kind": "class",
3097
+ "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`.",
3098
+ "name": "ButtonLink",
3099
+ "members": [
3071
3100
  {
3072
3101
  "kind": "field",
3073
- "name": "type",
3102
+ "name": "size",
3074
3103
  "type": {
3075
- "text": "ButtonType"
3104
+ "text": "PillButtonSize | IconButtonSize"
3076
3105
  },
3077
- "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.",
3078
- "default": "button",
3079
- "attribute": "type",
3106
+ "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.",
3107
+ "default": "32",
3108
+ "attribute": "size",
3080
3109
  "reflects": true
3081
3110
  },
3082
3111
  {
3083
- "kind": "method",
3084
- "name": "executeAction",
3085
- "privacy": "protected"
3112
+ "kind": "field",
3113
+ "name": "softDisabled",
3114
+ "type": {
3115
+ "text": "boolean | undefined"
3116
+ },
3117
+ "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.",
3118
+ "default": "undefined",
3119
+ "attribute": "soft-disabled",
3120
+ "reflects": true
3086
3121
  },
3087
3122
  {
3088
3123
  "kind": "method",
3089
- "name": "setActive",
3090
- "privacy": "protected",
3091
- "parameters": [
3124
+ "name": "setSoftDisabled",
3125
+ "privacy": "private",
3126
+ "parameters": [
3092
3127
  {
3093
3128
  "name": "element",
3094
3129
  "type": {
3095
3130
  "text": "HTMLElement"
3096
3131
  },
3097
- "description": "The button element"
3132
+ "description": "The buttonlink element."
3098
3133
  },
3099
3134
  {
3100
- "name": "active",
3135
+ "name": "softDisabled",
3101
3136
  "optional": true,
3102
3137
  "type": {
3103
3138
  "text": "boolean"
3104
3139
  },
3105
- "description": "The active state of the element"
3140
+ "description": "The soft-disabled state."
3106
3141
  }
3107
3142
  ],
3108
- "description": "Sets the ariaStateKey attributes based on the active state of the button."
3143
+ "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."
3144
+ },
3145
+ {
3146
+ "kind": "field",
3147
+ "name": "prefixIcon",
3148
+ "type": {
3149
+ "text": "IconNames | undefined"
3150
+ },
3151
+ "description": "The name of the icon to display as a prefix.\nThe icon is displayed on the left side of the button.",
3152
+ "attribute": "prefix-icon",
3153
+ "reflects": true,
3154
+ "inheritedFrom": {
3155
+ "name": "ButtonComponentMixin",
3156
+ "module": "utils/mixins/ButtonComponentMixin.js"
3157
+ }
3158
+ },
3159
+ {
3160
+ "kind": "field",
3161
+ "name": "postfixIcon",
3162
+ "type": {
3163
+ "text": "IconNames | undefined"
3164
+ },
3165
+ "description": "The name of the icon to display as a postfix.\nThe icon is displayed on the right side of the button.",
3166
+ "attribute": "postfix-icon",
3167
+ "reflects": true,
3168
+ "inheritedFrom": {
3169
+ "name": "ButtonComponentMixin",
3170
+ "module": "utils/mixins/ButtonComponentMixin.js"
3171
+ }
3172
+ },
3173
+ {
3174
+ "kind": "field",
3175
+ "name": "variant",
3176
+ "type": {
3177
+ "text": "ButtonVariant"
3178
+ },
3179
+ "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.",
3180
+ "default": "primary",
3181
+ "attribute": "variant",
3182
+ "inheritedFrom": {
3183
+ "name": "ButtonComponentMixin",
3184
+ "module": "utils/mixins/ButtonComponentMixin.js"
3185
+ }
3186
+ },
3187
+ {
3188
+ "kind": "field",
3189
+ "name": "color",
3190
+ "type": {
3191
+ "text": "ButtonColor"
3192
+ },
3193
+ "description": "There are 5 colors for button: positive, negative, accent, promotional, default.",
3194
+ "default": "default",
3195
+ "attribute": "color",
3196
+ "inheritedFrom": {
3197
+ "name": "ButtonComponentMixin",
3198
+ "module": "utils/mixins/ButtonComponentMixin.js"
3199
+ }
3109
3200
  },
3110
3201
  {
3111
3202
  "kind": "method",
3112
- "name": "setSoftDisabled",
3113
- "privacy": "private",
3203
+ "name": "setVariant",
3204
+ "privacy": "protected",
3114
3205
  "parameters": [
3115
3206
  {
3116
- "name": "element",
3117
- "type": {
3118
- "text": "HTMLElement"
3119
- },
3120
- "description": "The button element."
3121
- },
3122
- {
3123
- "name": "softDisabled",
3124
- "optional": true,
3207
+ "name": "variant",
3125
3208
  "type": {
3126
- "text": "boolean"
3209
+ "text": "ButtonVariant"
3127
3210
  },
3128
- "description": "The soft-disabled state."
3211
+ "description": "The variant to set."
3129
3212
  }
3130
3213
  ],
3131
- "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."
3214
+ "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.",
3215
+ "inheritedFrom": {
3216
+ "name": "ButtonComponentMixin",
3217
+ "module": "utils/mixins/ButtonComponentMixin.js"
3218
+ }
3132
3219
  },
3133
3220
  {
3134
3221
  "kind": "method",
3135
- "name": "setDisabled",
3136
- "privacy": "private",
3222
+ "name": "setColor",
3223
+ "privacy": "protected",
3137
3224
  "parameters": [
3138
3225
  {
3139
- "name": "element",
3140
- "type": {
3141
- "text": "HTMLElement"
3142
- },
3143
- "description": "The button element."
3144
- },
3145
- {
3146
- "name": "disabled",
3226
+ "name": "color",
3147
3227
  "type": {
3148
- "text": "boolean"
3228
+ "text": "ButtonColor"
3149
3229
  },
3150
- "description": "The disabled state."
3230
+ "description": "The color to set."
3151
3231
  }
3152
3232
  ],
3153
- "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."
3154
- },
3155
- {
3156
- "kind": "method",
3157
- "name": "triggerClickEvent",
3158
- "privacy": "private"
3159
- },
3160
- {
3161
- "kind": "method",
3162
- "name": "handleBlur",
3163
- "privacy": "private",
3164
- "description": "In case the button is pressed and the focus is lost while pressing,\nthe pressed class is removed."
3233
+ "description": "Sets the color attribute for the button.\nDefaults to DEFAULTS.COLOR if invalid or for tertiary button.",
3234
+ "inheritedFrom": {
3235
+ "name": "ButtonComponentMixin",
3236
+ "module": "utils/mixins/ButtonComponentMixin.js"
3237
+ }
3165
3238
  },
3166
3239
  {
3167
3240
  "kind": "method",
3168
- "name": "handleKeyDown",
3169
- "privacy": "private",
3241
+ "name": "setSize",
3242
+ "privacy": "protected",
3170
3243
  "parameters": [
3171
3244
  {
3172
- "name": "event",
3245
+ "name": "size",
3173
3246
  "type": {
3174
- "text": "KeyboardEvent"
3247
+ "text": "PillButtonSize | IconButtonSize"
3175
3248
  },
3176
- "description": "The keyboard event."
3249
+ "description": "The size to set."
3177
3250
  }
3178
3251
  ],
3179
- "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."
3252
+ "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.",
3253
+ "inheritedFrom": {
3254
+ "name": "ButtonComponentMixin",
3255
+ "module": "utils/mixins/ButtonComponentMixin.js"
3256
+ }
3180
3257
  },
3181
3258
  {
3182
3259
  "kind": "method",
3183
- "name": "handleKeyUp",
3184
- "privacy": "private",
3260
+ "name": "inferButtonType",
3261
+ "privacy": "protected",
3262
+ "description": "Infers the type of button based on the presence of slot and/or prefix and postfix icons.",
3185
3263
  "parameters": [
3186
3264
  {
3187
- "name": "event",
3188
- "type": {
3189
- "text": "KeyboardEvent"
3190
- },
3191
- "description": "The keyboard event."
3265
+ "description": "default slot of button",
3266
+ "name": "slot"
3192
3267
  }
3193
3268
  ],
3194
- "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."
3269
+ "inheritedFrom": {
3270
+ "name": "ButtonComponentMixin",
3271
+ "module": "utils/mixins/ButtonComponentMixin.js"
3272
+ }
3195
3273
  },
3196
3274
  {
3197
3275
  "kind": "field",
3198
- "name": "autofocus",
3276
+ "name": "disabled",
3199
3277
  "type": {
3200
- "text": "boolean"
3278
+ "text": "boolean | undefined"
3201
3279
  },
3202
- "default": "false",
3203
- "description": "This property indicates whether the element should receive focus automatically when it is rendered.",
3204
- "attribute": "autofocus",
3280
+ "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
3281
+ "default": "undefined",
3282
+ "attribute": "disabled",
3205
3283
  "reflects": true,
3206
3284
  "inheritedFrom": {
3207
- "name": "AutoFocusMixin",
3208
- "module": "utils/mixins/AutoFocusMixin.js"
3285
+ "name": "DisabledMixin",
3286
+ "module": "utils/mixins/DisabledMixin.js"
3209
3287
  }
3210
3288
  },
3211
3289
  {
@@ -3225,118 +3303,212 @@
3225
3303
  },
3226
3304
  {
3227
3305
  "kind": "field",
3228
- "name": "disabled",
3306
+ "name": "inline",
3229
3307
  "type": {
3230
- "text": "boolean | undefined"
3308
+ "text": "boolean"
3231
3309
  },
3232
- "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
3233
- "default": "undefined",
3234
- "attribute": "disabled",
3310
+ "description": "The link can be inline or standalone.",
3311
+ "default": "false",
3312
+ "attribute": "inline",
3235
3313
  "reflects": true,
3236
3314
  "inheritedFrom": {
3237
- "name": "DisabledMixin",
3238
- "module": "utils/mixins/DisabledMixin.js"
3315
+ "name": "Linksimple",
3316
+ "module": "components/linksimple/linksimple.component.js"
3239
3317
  }
3240
- }
3241
- ],
3242
- "events": [
3243
- {
3244
- "description": "(React: onClick) This event is dispatched when the button is clicked.",
3245
- "name": "click",
3246
- "reactName": "onClick"
3247
- },
3248
- {
3249
- "description": "(React: onKeyDown) This event is dispatched when a key is pressed down on the button.",
3250
- "name": "keydown",
3251
- "reactName": "onKeyDown"
3252
3318
  },
3253
3319
  {
3254
- "description": "(React: onKeyUp) This event is dispatched when a key is released on the button.",
3255
- "name": "keyup",
3256
- "reactName": "onKeyUp"
3320
+ "kind": "field",
3321
+ "name": "inverted",
3322
+ "type": {
3323
+ "text": "boolean"
3324
+ },
3325
+ "description": "The link color can be inverted by setting the inverted attribute to true.",
3326
+ "default": "false",
3327
+ "attribute": "inverted",
3328
+ "reflects": true,
3329
+ "inheritedFrom": {
3330
+ "name": "Linksimple",
3331
+ "module": "components/linksimple/linksimple.component.js"
3332
+ }
3257
3333
  },
3258
3334
  {
3259
- "description": "(React: onFocus) This event is dispatched when the button receives focus.",
3260
- "name": "focus",
3261
- "reactName": "onFocus"
3262
- }
3263
- ],
3264
- "attributes": [
3265
- {
3266
- "name": "active",
3335
+ "kind": "field",
3336
+ "name": "href",
3267
3337
  "type": {
3268
- "text": "boolean | undefined"
3338
+ "text": "string"
3269
3339
  },
3270
- "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.",
3271
- "default": "undefined",
3272
- "fieldName": "active"
3340
+ "default": "'#'",
3341
+ "description": "Href for navigation. The URL that the hyperlink points to",
3342
+ "attribute": "href",
3343
+ "reflects": true,
3344
+ "inheritedFrom": {
3345
+ "name": "Linksimple",
3346
+ "module": "components/linksimple/linksimple.component.js"
3347
+ }
3273
3348
  },
3274
3349
  {
3275
- "name": "soft-disabled",
3350
+ "kind": "field",
3351
+ "name": "target",
3276
3352
  "type": {
3277
- "text": "boolean | undefined"
3353
+ "text": "string"
3278
3354
  },
3279
- "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.",
3280
- "default": "undefined",
3281
- "fieldName": "softDisabled"
3355
+ "default": "'_self'",
3356
+ "description": "Optional target: _blank, _self, _parent, _top and _unfencedTop",
3357
+ "attribute": "target",
3358
+ "reflects": true,
3359
+ "inheritedFrom": {
3360
+ "name": "Linksimple",
3361
+ "module": "components/linksimple/linksimple.component.js"
3362
+ }
3282
3363
  },
3283
3364
  {
3284
- "name": "size",
3365
+ "kind": "field",
3366
+ "name": "rel",
3285
3367
  "type": {
3286
- "text": "ButtonSize"
3368
+ "text": "string | undefined"
3287
3369
  },
3288
- "description": "Simplebutton size is a super set of all the sizes supported by children components.",
3370
+ "description": "Optional rel attribute that defines the relationship of the linked URL as space-separated link types.",
3371
+ "attribute": "rel",
3372
+ "reflects": true,
3373
+ "inheritedFrom": {
3374
+ "name": "Linksimple",
3375
+ "module": "components/linksimple/linksimple.component.js"
3376
+ }
3377
+ },
3378
+ {
3379
+ "kind": "field",
3380
+ "name": "handleNavigation",
3381
+ "privacy": "private",
3382
+ "inheritedFrom": {
3383
+ "name": "Linksimple",
3384
+ "module": "components/linksimple/linksimple.component.js"
3385
+ }
3386
+ },
3387
+ {
3388
+ "kind": "method",
3389
+ "name": "setDisabled",
3390
+ "privacy": "private",
3391
+ "parameters": [
3392
+ {
3393
+ "name": "disabled",
3394
+ "type": {
3395
+ "text": "boolean"
3396
+ },
3397
+ "description": "Whether the element should be disabled"
3398
+ }
3399
+ ],
3400
+ "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.",
3401
+ "inheritedFrom": {
3402
+ "name": "Linksimple",
3403
+ "module": "components/linksimple/linksimple.component.js"
3404
+ }
3405
+ }
3406
+ ],
3407
+ "events": [
3408
+ {
3409
+ "description": "(React: onClick) Fired when the user activates the buttonLink using a mouse or assistive technology.",
3410
+ "name": "click",
3411
+ "reactName": "onClick",
3412
+ "inheritedFrom": {
3413
+ "name": "Linksimple",
3414
+ "module": "src/components/linksimple/linksimple.component.ts"
3415
+ }
3416
+ },
3417
+ {
3418
+ "description": "(React: onKeyDown) Fired when the user presses a key while the buttonLink has focus.",
3419
+ "name": "keydown",
3420
+ "reactName": "onKeyDown",
3421
+ "inheritedFrom": {
3422
+ "name": "Linksimple",
3423
+ "module": "src/components/linksimple/linksimple.component.ts"
3424
+ }
3425
+ },
3426
+ {
3427
+ "description": "(React: onFocus) Fired when the buttonLink receives keyboard or mouse focus.",
3428
+ "name": "focus",
3429
+ "reactName": "onFocus",
3430
+ "inheritedFrom": {
3431
+ "name": "Linksimple",
3432
+ "module": "src/components/linksimple/linksimple.component.ts"
3433
+ }
3434
+ },
3435
+ {
3436
+ "description": "(React: onBlur) Fired when the buttonLink loses keyboard or mouse focus.",
3437
+ "name": "blur",
3438
+ "reactName": "onBlur",
3439
+ "inheritedFrom": {
3440
+ "name": "Linksimple",
3441
+ "module": "src/components/linksimple/linksimple.component.ts"
3442
+ }
3443
+ }
3444
+ ],
3445
+ "attributes": [
3446
+ {
3447
+ "name": "size",
3448
+ "type": {
3449
+ "text": "PillButtonSize | IconButtonSize"
3450
+ },
3451
+ "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.",
3289
3452
  "default": "32",
3290
3453
  "fieldName": "size"
3291
3454
  },
3292
3455
  {
3293
- "name": "role",
3294
- "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.",
3295
- "default": "button",
3296
- "fieldName": "role"
3456
+ "name": "soft-disabled",
3457
+ "type": {
3458
+ "text": "boolean | undefined"
3459
+ },
3460
+ "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.",
3461
+ "default": "undefined",
3462
+ "fieldName": "softDisabled"
3297
3463
  },
3298
3464
  {
3299
- "name": "ariaStateKey",
3465
+ "name": "prefix-icon",
3300
3466
  "type": {
3301
- "text": "string | undefined"
3467
+ "text": "IconNames | undefined"
3302
3468
  },
3303
- "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`",
3304
- "default": "'aria-pressed' (when)",
3305
- "fieldName": "ariaStateKey"
3469
+ "description": "The name of the icon to display as a prefix.\nThe icon is displayed on the left side of the button.",
3470
+ "fieldName": "prefixIcon",
3471
+ "inheritedFrom": {
3472
+ "name": "ButtonComponentMixin",
3473
+ "module": "src/utils/mixins/ButtonComponentMixin.ts"
3474
+ }
3306
3475
  },
3307
3476
  {
3308
- "name": "type",
3477
+ "name": "postfix-icon",
3309
3478
  "type": {
3310
- "text": "ButtonType"
3479
+ "text": "IconNames | undefined"
3311
3480
  },
3312
- "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.",
3313
- "default": "button",
3314
- "fieldName": "type"
3481
+ "description": "The name of the icon to display as a postfix.\nThe icon is displayed on the right side of the button.",
3482
+ "fieldName": "postfixIcon",
3483
+ "inheritedFrom": {
3484
+ "name": "ButtonComponentMixin",
3485
+ "module": "src/utils/mixins/ButtonComponentMixin.ts"
3486
+ }
3315
3487
  },
3316
3488
  {
3317
- "name": "autofocus",
3489
+ "name": "variant",
3318
3490
  "type": {
3319
- "text": "boolean"
3491
+ "text": "ButtonVariant"
3320
3492
  },
3321
- "default": "false",
3322
- "description": "This property indicates whether the element should receive focus automatically when it is rendered.",
3323
- "fieldName": "autofocus",
3493
+ "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.",
3494
+ "default": "primary",
3495
+ "fieldName": "variant",
3324
3496
  "inheritedFrom": {
3325
- "name": "AutoFocusMixin",
3326
- "module": "src/utils/mixins/AutoFocusMixin.ts"
3497
+ "name": "ButtonComponentMixin",
3498
+ "module": "src/utils/mixins/ButtonComponentMixin.ts"
3327
3499
  }
3328
3500
  },
3329
3501
  {
3330
- "name": "tabIndex",
3502
+ "name": "color",
3331
3503
  "type": {
3332
- "text": "number"
3504
+ "text": "ButtonColor"
3333
3505
  },
3334
- "default": "0",
3335
- "description": "This property specifies the tab order of the element.",
3336
- "fieldName": "tabIndex",
3506
+ "description": "There are 5 colors for button: positive, negative, accent, promotional, default.",
3507
+ "default": "default",
3508
+ "fieldName": "color",
3337
3509
  "inheritedFrom": {
3338
- "name": "TabIndexMixin",
3339
- "module": "src/utils/mixins/TabIndexMixin.ts"
3510
+ "name": "ButtonComponentMixin",
3511
+ "module": "src/utils/mixins/ButtonComponentMixin.ts"
3340
3512
  }
3341
3513
  },
3342
3514
  {
@@ -3351,288 +3523,194 @@
3351
3523
  "name": "DisabledMixin",
3352
3524
  "module": "src/utils/mixins/DisabledMixin.ts"
3353
3525
  }
3354
- }
3355
- ],
3356
- "mixins": [
3357
- {
3358
- "name": "AutoFocusMixin",
3359
- "module": "/src/utils/mixins/AutoFocusMixin"
3360
- },
3361
- {
3362
- "name": "TabIndexMixin",
3363
- "module": "/src/utils/mixins/TabIndexMixin"
3364
3526
  },
3365
3527
  {
3366
- "name": "DisabledMixin",
3367
- "module": "/src/utils/mixins/DisabledMixin"
3368
- }
3369
- ],
3370
- "superclass": {
3371
- "name": "Component",
3372
- "module": "/src/models"
3373
- },
3374
- "tagName": "mdc-buttonsimple",
3375
- "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 */",
3376
- "customElement": true
3377
- }
3378
- ],
3379
- "exports": [
3380
- {
3381
- "kind": "js",
3382
- "name": "default",
3383
- "declaration": {
3384
- "name": "Buttonsimple",
3385
- "module": "components/buttonsimple/buttonsimple.component.js"
3386
- }
3387
- }
3388
- ]
3389
- },
3390
- {
3391
- "kind": "javascript-module",
3392
- "path": "components/button/button.component.js",
3393
- "declarations": [
3394
- {
3395
- "kind": "class",
3396
- "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.",
3397
- "name": "Button",
3398
- "slots": [
3399
- {
3400
- "description": "Text label of the button.",
3401
- "name": ""
3402
- }
3403
- ],
3404
- "members": [
3405
- {
3406
- "kind": "field",
3407
- "name": "size",
3528
+ "name": "tabIndex",
3408
3529
  "type": {
3409
- "text": "ButtonSize"
3530
+ "text": "number"
3410
3531
  },
3411
- "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.",
3412
- "default": "32",
3413
- "attribute": "size",
3414
- "reflects": true,
3532
+ "default": "0",
3533
+ "description": "This property specifies the tab order of the element.",
3534
+ "fieldName": "tabIndex",
3415
3535
  "inheritedFrom": {
3416
- "name": "Buttonsimple",
3417
- "module": "components/buttonsimple/buttonsimple.component.js"
3536
+ "name": "TabIndexMixin",
3537
+ "module": "src/utils/mixins/TabIndexMixin.ts"
3418
3538
  }
3419
3539
  },
3420
3540
  {
3421
- "kind": "field",
3422
- "name": "inverted",
3541
+ "name": "inline",
3423
3542
  "type": {
3424
3543
  "text": "boolean"
3425
3544
  },
3426
- "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`.",
3545
+ "description": "The link can be inline or standalone.",
3427
3546
  "default": "false",
3428
- "attribute": "inverted",
3429
- "reflects": true
3547
+ "fieldName": "inline",
3548
+ "inheritedFrom": {
3549
+ "name": "Linksimple",
3550
+ "module": "src/components/linksimple/linksimple.component.ts"
3551
+ }
3430
3552
  },
3431
3553
  {
3432
- "kind": "field",
3433
- "name": "role",
3434
- "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.",
3435
- "default": "'button'",
3436
- "attribute": "role",
3437
- "reflects": true,
3554
+ "name": "inverted",
3438
3555
  "type": {
3439
- "text": "string"
3556
+ "text": "boolean"
3440
3557
  },
3558
+ "description": "The link color can be inverted by setting the inverted attribute to true.",
3559
+ "default": "false",
3560
+ "fieldName": "inverted",
3441
3561
  "inheritedFrom": {
3442
- "name": "Buttonsimple",
3443
- "module": "components/buttonsimple/buttonsimple.component.js"
3562
+ "name": "Linksimple",
3563
+ "module": "src/components/linksimple/linksimple.component.ts"
3444
3564
  }
3445
3565
  },
3446
3566
  {
3447
- "kind": "method",
3448
- "name": "inferFilledIconName",
3449
- "privacy": "private",
3450
- "parameters": [
3451
- {
3452
- "name": "active",
3453
- "optional": true,
3454
- "type": {
3455
- "text": "boolean"
3456
- },
3457
- "description": "The active state."
3458
- }
3459
- ],
3460
- "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."
3461
- },
3462
- {
3463
- "kind": "field",
3464
- "name": "prefixIcon",
3567
+ "name": "href",
3465
3568
  "type": {
3466
- "text": "IconNames | undefined"
3569
+ "text": "string"
3467
3570
  },
3468
- "description": "The name of the icon to display as a prefix.\nThe icon is displayed on the left side of the button.",
3469
- "attribute": "prefix-icon",
3470
- "reflects": true,
3571
+ "default": "'#'",
3572
+ "description": "Href for navigation. The URL that the hyperlink points to",
3573
+ "fieldName": "href",
3471
3574
  "inheritedFrom": {
3472
- "name": "ButtonComponentMixin",
3473
- "module": "utils/mixins/ButtonComponentMixin.js"
3575
+ "name": "Linksimple",
3576
+ "module": "src/components/linksimple/linksimple.component.ts"
3474
3577
  }
3475
3578
  },
3476
3579
  {
3477
- "kind": "field",
3478
- "name": "postfixIcon",
3580
+ "name": "target",
3479
3581
  "type": {
3480
- "text": "IconNames | undefined"
3582
+ "text": "string"
3481
3583
  },
3482
- "description": "The name of the icon to display as a postfix.\nThe icon is displayed on the right side of the button.",
3483
- "attribute": "postfix-icon",
3484
- "reflects": true,
3584
+ "default": "'_self'",
3585
+ "description": "Optional target: _blank, _self, _parent, _top and _unfencedTop",
3586
+ "fieldName": "target",
3485
3587
  "inheritedFrom": {
3486
- "name": "ButtonComponentMixin",
3487
- "module": "utils/mixins/ButtonComponentMixin.js"
3588
+ "name": "Linksimple",
3589
+ "module": "src/components/linksimple/linksimple.component.ts"
3488
3590
  }
3489
3591
  },
3490
3592
  {
3491
- "kind": "field",
3492
- "name": "variant",
3593
+ "name": "rel",
3493
3594
  "type": {
3494
- "text": "ButtonVariant"
3595
+ "text": "string | undefined"
3495
3596
  },
3496
- "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.",
3497
- "default": "primary",
3498
- "attribute": "variant",
3597
+ "description": "Optional rel attribute that defines the relationship of the linked URL as space-separated link types.",
3598
+ "fieldName": "rel",
3499
3599
  "inheritedFrom": {
3500
- "name": "ButtonComponentMixin",
3501
- "module": "utils/mixins/ButtonComponentMixin.js"
3600
+ "name": "Linksimple",
3601
+ "module": "src/components/linksimple/linksimple.component.ts"
3502
3602
  }
3503
- },
3603
+ }
3604
+ ],
3605
+ "mixins": [
3504
3606
  {
3505
- "kind": "field",
3506
- "name": "color",
3507
- "type": {
3508
- "text": "ButtonColor"
3509
- },
3510
- "description": "There are 5 colors for button: positive, negative, accent, promotional, default.",
3511
- "default": "default",
3512
- "attribute": "color",
3607
+ "name": "ButtonComponentMixin",
3608
+ "module": "/src/utils/mixins/ButtonComponentMixin"
3609
+ }
3610
+ ],
3611
+ "superclass": {
3612
+ "name": "Linksimple",
3613
+ "module": "/src/components/linksimple/linksimple.component"
3614
+ },
3615
+ "tagName": "mdc-buttonlink",
3616
+ "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 */",
3617
+ "customElement": true,
3618
+ "cssProperties": [
3619
+ {
3620
+ "description": "Border radius of the link.",
3621
+ "name": "--mdc-link-border-radius",
3513
3622
  "inheritedFrom": {
3514
- "name": "ButtonComponentMixin",
3515
- "module": "utils/mixins/ButtonComponentMixin.js"
3623
+ "name": "Linksimple",
3624
+ "module": "src/components/linksimple/linksimple.component.ts"
3516
3625
  }
3517
3626
  },
3518
3627
  {
3519
- "kind": "method",
3520
- "name": "setVariant",
3521
- "privacy": "protected",
3522
- "parameters": [
3523
- {
3524
- "name": "variant",
3525
- "type": {
3526
- "text": "ButtonVariant"
3527
- },
3528
- "description": "The variant to set."
3529
- }
3530
- ],
3531
- "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.",
3628
+ "description": "Color of the link’s child content in the active state.",
3629
+ "name": "--mdc-link-color-active",
3532
3630
  "inheritedFrom": {
3533
- "name": "ButtonComponentMixin",
3534
- "module": "utils/mixins/ButtonComponentMixin.js"
3631
+ "name": "Linksimple",
3632
+ "module": "src/components/linksimple/linksimple.component.ts"
3535
3633
  }
3536
3634
  },
3537
3635
  {
3538
- "kind": "method",
3539
- "name": "setColor",
3540
- "privacy": "protected",
3541
- "parameters": [
3542
- {
3543
- "name": "color",
3544
- "type": {
3545
- "text": "ButtonColor"
3546
- },
3547
- "description": "The color to set."
3548
- }
3549
- ],
3550
- "description": "Sets the color attribute for the button.\nDefaults to DEFAULTS.COLOR if invalid or for tertiary button.",
3636
+ "description": "Color of the link’s child content in the disabled state.",
3637
+ "name": "--mdc-link-color-disabled",
3551
3638
  "inheritedFrom": {
3552
- "name": "ButtonComponentMixin",
3553
- "module": "utils/mixins/ButtonComponentMixin.js"
3639
+ "name": "Linksimple",
3640
+ "module": "src/components/linksimple/linksimple.component.ts"
3554
3641
  }
3555
3642
  },
3556
3643
  {
3557
- "kind": "method",
3558
- "name": "setSize",
3559
- "privacy": "protected",
3560
- "parameters": [
3561
- {
3562
- "name": "size",
3563
- "type": {
3564
- "text": "PillButtonSize | IconButtonSize"
3565
- },
3566
- "description": "The size to set."
3567
- }
3568
- ],
3569
- "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.",
3644
+ "description": "Color of the link’s child content in the hover state.",
3645
+ "name": "--mdc-link-color-hover",
3570
3646
  "inheritedFrom": {
3571
- "name": "ButtonComponentMixin",
3572
- "module": "utils/mixins/ButtonComponentMixin.js"
3647
+ "name": "Linksimple",
3648
+ "module": "src/components/linksimple/linksimple.component.ts"
3573
3649
  }
3574
3650
  },
3575
3651
  {
3576
- "kind": "method",
3577
- "name": "inferButtonType",
3578
- "privacy": "protected",
3579
- "description": "Infers the type of button based on the presence of slot and/or prefix and postfix icons.",
3580
- "parameters": [
3581
- {
3582
- "description": "default slot of button",
3583
- "name": "slot"
3584
- }
3585
- ],
3652
+ "description": "Color of the link’s child content in the normal state.",
3653
+ "name": "--mdc-link-color-normal",
3586
3654
  "inheritedFrom": {
3587
- "name": "ButtonComponentMixin",
3588
- "module": "utils/mixins/ButtonComponentMixin.js"
3655
+ "name": "Linksimple",
3656
+ "module": "src/components/linksimple/linksimple.component.ts"
3589
3657
  }
3590
3658
  },
3591
3659
  {
3592
- "kind": "field",
3593
- "name": "autofocus",
3594
- "type": {
3595
- "text": "boolean"
3596
- },
3597
- "default": "false",
3598
- "description": "This property indicates whether the element should receive focus automatically when it is rendered.",
3599
- "attribute": "autofocus",
3600
- "reflects": true,
3660
+ "description": "Color of the inverted link’s child content in the active state.",
3661
+ "name": "--mdc-link-inverted-color-active",
3601
3662
  "inheritedFrom": {
3602
- "name": "Buttonsimple",
3603
- "module": "components/buttonsimple/buttonsimple.component.js"
3663
+ "name": "Linksimple",
3664
+ "module": "src/components/linksimple/linksimple.component.ts"
3604
3665
  }
3605
3666
  },
3606
3667
  {
3607
- "kind": "field",
3608
- "name": "tabIndex",
3609
- "type": {
3610
- "text": "number"
3611
- },
3612
- "default": "0",
3613
- "description": "This property specifies the tab order of the element.",
3614
- "attribute": "tabIndex",
3615
- "reflects": true,
3668
+ "description": "Color of the inverted link’s child content in the disabled state.",
3669
+ "name": "--mdc-link-inverted-color-disabled",
3616
3670
  "inheritedFrom": {
3617
- "name": "Buttonsimple",
3618
- "module": "components/buttonsimple/buttonsimple.component.js"
3671
+ "name": "Linksimple",
3672
+ "module": "src/components/linksimple/linksimple.component.ts"
3619
3673
  }
3620
3674
  },
3621
3675
  {
3622
- "kind": "field",
3623
- "name": "disabled",
3624
- "type": {
3625
- "text": "boolean | undefined"
3626
- },
3627
- "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
3628
- "default": "undefined",
3629
- "attribute": "disabled",
3630
- "reflects": true,
3676
+ "description": "Color of the inverted link’s child content in the hover state.",
3677
+ "name": "--mdc-link-inverted-color-hover",
3631
3678
  "inheritedFrom": {
3632
- "name": "Buttonsimple",
3633
- "module": "components/buttonsimple/buttonsimple.component.js"
3679
+ "name": "Linksimple",
3680
+ "module": "src/components/linksimple/linksimple.component.ts"
3634
3681
  }
3635
3682
  },
3683
+ {
3684
+ "description": "Color of the inverted link’s child content in the normal state.",
3685
+ "name": "--mdc-link-inverted-color-normal",
3686
+ "inheritedFrom": {
3687
+ "name": "Linksimple",
3688
+ "module": "src/components/linksimple/linksimple.component.ts"
3689
+ }
3690
+ }
3691
+ ]
3692
+ }
3693
+ ],
3694
+ "exports": [
3695
+ {
3696
+ "kind": "js",
3697
+ "name": "default",
3698
+ "declaration": {
3699
+ "name": "ButtonLink",
3700
+ "module": "components/buttonlink/buttonlink.component.js"
3701
+ }
3702
+ }
3703
+ ]
3704
+ },
3705
+ {
3706
+ "kind": "javascript-module",
3707
+ "path": "components/buttonsimple/buttonsimple.component.js",
3708
+ "declarations": [
3709
+ {
3710
+ "kind": "class",
3711
+ "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.",
3712
+ "name": "Buttonsimple",
3713
+ "members": [
3636
3714
  {
3637
3715
  "kind": "field",
3638
3716
  "name": "active",
@@ -3642,11 +3720,7 @@
3642
3720
  "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.",
3643
3721
  "default": "undefined",
3644
3722
  "attribute": "active",
3645
- "reflects": true,
3646
- "inheritedFrom": {
3647
- "name": "Buttonsimple",
3648
- "module": "components/buttonsimple/buttonsimple.component.js"
3649
- }
3723
+ "reflects": true
3650
3724
  },
3651
3725
  {
3652
3726
  "kind": "field",
@@ -3657,11 +3731,26 @@
3657
3731
  "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.",
3658
3732
  "default": "undefined",
3659
3733
  "attribute": "soft-disabled",
3660
- "reflects": true,
3661
- "inheritedFrom": {
3662
- "name": "Buttonsimple",
3663
- "module": "components/buttonsimple/buttonsimple.component.js"
3664
- }
3734
+ "reflects": true
3735
+ },
3736
+ {
3737
+ "kind": "field",
3738
+ "name": "size",
3739
+ "type": {
3740
+ "text": "ButtonSize"
3741
+ },
3742
+ "description": "Simplebutton size is a super set of all the sizes supported by children components.",
3743
+ "default": "32",
3744
+ "attribute": "size",
3745
+ "reflects": true
3746
+ },
3747
+ {
3748
+ "kind": "field",
3749
+ "name": "role",
3750
+ "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.",
3751
+ "default": "button",
3752
+ "attribute": "role",
3753
+ "reflects": true
3665
3754
  },
3666
3755
  {
3667
3756
  "kind": "field",
@@ -3672,35 +3761,23 @@
3672
3761
  "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`",
3673
3762
  "default": "'aria-pressed' (when)",
3674
3763
  "attribute": "ariaStateKey",
3675
- "reflects": true,
3676
- "inheritedFrom": {
3677
- "name": "Buttonsimple",
3678
- "module": "components/buttonsimple/buttonsimple.component.js"
3679
- }
3764
+ "reflects": true
3680
3765
  },
3681
3766
  {
3682
3767
  "kind": "field",
3683
3768
  "name": "type",
3684
3769
  "type": {
3685
3770
  "text": "ButtonType"
3686
- },
3687
- "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.",
3688
- "default": "button",
3689
- "attribute": "type",
3690
- "reflects": true,
3691
- "inheritedFrom": {
3692
- "name": "Buttonsimple",
3693
- "module": "components/buttonsimple/buttonsimple.component.js"
3694
- }
3771
+ },
3772
+ "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.",
3773
+ "default": "button",
3774
+ "attribute": "type",
3775
+ "reflects": true
3695
3776
  },
3696
3777
  {
3697
3778
  "kind": "method",
3698
3779
  "name": "executeAction",
3699
- "privacy": "protected",
3700
- "inheritedFrom": {
3701
- "name": "Buttonsimple",
3702
- "module": "components/buttonsimple/buttonsimple.component.js"
3703
- }
3780
+ "privacy": "protected"
3704
3781
  },
3705
3782
  {
3706
3783
  "kind": "method",
@@ -3723,11 +3800,7 @@
3723
3800
  "description": "The active state of the element"
3724
3801
  }
3725
3802
  ],
3726
- "description": "Sets the ariaStateKey attributes based on the active state of the button.",
3727
- "inheritedFrom": {
3728
- "name": "Buttonsimple",
3729
- "module": "components/buttonsimple/buttonsimple.component.js"
3730
- }
3803
+ "description": "Sets the ariaStateKey attributes based on the active state of the button."
3731
3804
  },
3732
3805
  {
3733
3806
  "kind": "method",
@@ -3750,11 +3823,7 @@
3750
3823
  "description": "The soft-disabled state."
3751
3824
  }
3752
3825
  ],
3753
- "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.",
3754
- "inheritedFrom": {
3755
- "name": "Buttonsimple",
3756
- "module": "components/buttonsimple/buttonsimple.component.js"
3757
- }
3826
+ "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."
3758
3827
  },
3759
3828
  {
3760
3829
  "kind": "method",
@@ -3776,30 +3845,18 @@
3776
3845
  "description": "The disabled state."
3777
3846
  }
3778
3847
  ],
3779
- "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.",
3780
- "inheritedFrom": {
3781
- "name": "Buttonsimple",
3782
- "module": "components/buttonsimple/buttonsimple.component.js"
3783
- }
3848
+ "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."
3784
3849
  },
3785
3850
  {
3786
3851
  "kind": "method",
3787
3852
  "name": "triggerClickEvent",
3788
- "privacy": "private",
3789
- "inheritedFrom": {
3790
- "name": "Buttonsimple",
3791
- "module": "components/buttonsimple/buttonsimple.component.js"
3792
- }
3853
+ "privacy": "private"
3793
3854
  },
3794
3855
  {
3795
3856
  "kind": "method",
3796
3857
  "name": "handleBlur",
3797
3858
  "privacy": "private",
3798
- "description": "In case the button is pressed and the focus is lost while pressing,\nthe pressed class is removed.",
3799
- "inheritedFrom": {
3800
- "name": "Buttonsimple",
3801
- "module": "components/buttonsimple/buttonsimple.component.js"
3802
- }
3859
+ "description": "In case the button is pressed and the focus is lost while pressing,\nthe pressed class is removed."
3803
3860
  },
3804
3861
  {
3805
3862
  "kind": "method",
@@ -3814,11 +3871,7 @@
3814
3871
  "description": "The keyboard event."
3815
3872
  }
3816
3873
  ],
3817
- "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.",
3818
- "inheritedFrom": {
3819
- "name": "Buttonsimple",
3820
- "module": "components/buttonsimple/buttonsimple.component.js"
3821
- }
3874
+ "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."
3822
3875
  },
3823
3876
  {
3824
3877
  "kind": "method",
@@ -3833,138 +3886,77 @@
3833
3886
  "description": "The keyboard event."
3834
3887
  }
3835
3888
  ],
3836
- "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.",
3837
- "inheritedFrom": {
3838
- "name": "Buttonsimple",
3839
- "module": "components/buttonsimple/buttonsimple.component.js"
3840
- }
3841
- }
3842
- ],
3843
- "attributes": [
3844
- {
3845
- "name": "size",
3846
- "type": {
3847
- "text": "ButtonSize"
3848
- },
3849
- "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.",
3850
- "default": "32",
3851
- "fieldName": "size",
3852
- "inheritedFrom": {
3853
- "name": "Buttonsimple",
3854
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
3855
- }
3856
- },
3857
- {
3858
- "name": "inverted",
3859
- "type": {
3860
- "text": "boolean"
3861
- },
3862
- "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`.",
3863
- "default": "false",
3864
- "fieldName": "inverted"
3865
- },
3866
- {
3867
- "name": "role",
3868
- "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.",
3869
- "default": "'button'",
3870
- "fieldName": "role",
3871
- "type": {
3872
- "text": "string"
3873
- },
3874
- "inheritedFrom": {
3875
- "name": "Buttonsimple",
3876
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
3877
- }
3878
- },
3879
- {
3880
- "name": "prefix-icon",
3881
- "type": {
3882
- "text": "IconNames | undefined"
3883
- },
3884
- "description": "The name of the icon to display as a prefix.\nThe icon is displayed on the left side of the button.",
3885
- "fieldName": "prefixIcon",
3886
- "inheritedFrom": {
3887
- "name": "ButtonComponentMixin",
3888
- "module": "src/utils/mixins/ButtonComponentMixin.ts"
3889
- }
3890
- },
3891
- {
3892
- "name": "postfix-icon",
3893
- "type": {
3894
- "text": "IconNames | undefined"
3895
- },
3896
- "description": "The name of the icon to display as a postfix.\nThe icon is displayed on the right side of the button.",
3897
- "fieldName": "postfixIcon",
3898
- "inheritedFrom": {
3899
- "name": "ButtonComponentMixin",
3900
- "module": "src/utils/mixins/ButtonComponentMixin.ts"
3901
- }
3902
- },
3903
- {
3904
- "name": "variant",
3905
- "type": {
3906
- "text": "ButtonVariant"
3907
- },
3908
- "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.",
3909
- "default": "primary",
3910
- "fieldName": "variant",
3911
- "inheritedFrom": {
3912
- "name": "ButtonComponentMixin",
3913
- "module": "src/utils/mixins/ButtonComponentMixin.ts"
3914
- }
3915
- },
3916
- {
3917
- "name": "color",
3918
- "type": {
3919
- "text": "ButtonColor"
3920
- },
3921
- "description": "There are 5 colors for button: positive, negative, accent, promotional, default.",
3922
- "default": "default",
3923
- "fieldName": "color",
3924
- "inheritedFrom": {
3925
- "name": "ButtonComponentMixin",
3926
- "module": "src/utils/mixins/ButtonComponentMixin.ts"
3927
- }
3889
+ "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."
3928
3890
  },
3929
3891
  {
3892
+ "kind": "field",
3930
3893
  "name": "autofocus",
3931
3894
  "type": {
3932
3895
  "text": "boolean"
3933
3896
  },
3934
3897
  "default": "false",
3935
3898
  "description": "This property indicates whether the element should receive focus automatically when it is rendered.",
3936
- "fieldName": "autofocus",
3899
+ "attribute": "autofocus",
3900
+ "reflects": true,
3937
3901
  "inheritedFrom": {
3938
- "name": "Buttonsimple",
3939
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
3902
+ "name": "AutoFocusMixin",
3903
+ "module": "utils/mixins/AutoFocusMixin.js"
3940
3904
  }
3941
3905
  },
3942
3906
  {
3907
+ "kind": "field",
3943
3908
  "name": "tabIndex",
3944
3909
  "type": {
3945
3910
  "text": "number"
3946
3911
  },
3947
3912
  "default": "0",
3948
3913
  "description": "This property specifies the tab order of the element.",
3949
- "fieldName": "tabIndex",
3914
+ "attribute": "tabIndex",
3915
+ "reflects": true,
3950
3916
  "inheritedFrom": {
3951
- "name": "Buttonsimple",
3952
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
3917
+ "name": "TabIndexMixin",
3918
+ "module": "utils/mixins/TabIndexMixin.js"
3953
3919
  }
3954
3920
  },
3955
3921
  {
3922
+ "kind": "field",
3956
3923
  "name": "disabled",
3957
3924
  "type": {
3958
3925
  "text": "boolean | undefined"
3959
3926
  },
3960
3927
  "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
3961
3928
  "default": "undefined",
3962
- "fieldName": "disabled",
3929
+ "attribute": "disabled",
3930
+ "reflects": true,
3963
3931
  "inheritedFrom": {
3964
- "name": "Buttonsimple",
3965
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
3932
+ "name": "DisabledMixin",
3933
+ "module": "utils/mixins/DisabledMixin.js"
3966
3934
  }
3935
+ }
3936
+ ],
3937
+ "events": [
3938
+ {
3939
+ "description": "(React: onClick) This event is dispatched when the button is clicked.",
3940
+ "name": "click",
3941
+ "reactName": "onClick"
3942
+ },
3943
+ {
3944
+ "description": "(React: onKeyDown) This event is dispatched when a key is pressed down on the button.",
3945
+ "name": "keydown",
3946
+ "reactName": "onKeyDown"
3967
3947
  },
3948
+ {
3949
+ "description": "(React: onKeyUp) This event is dispatched when a key is released on the button.",
3950
+ "name": "keyup",
3951
+ "reactName": "onKeyUp"
3952
+ },
3953
+ {
3954
+ "description": "(React: onFocus) This event is dispatched when the button receives focus.",
3955
+ "name": "focus",
3956
+ "reactName": "onFocus"
3957
+ }
3958
+ ],
3959
+ "attributes": [
3968
3960
  {
3969
3961
  "name": "active",
3970
3962
  "type": {
@@ -3972,11 +3964,7 @@
3972
3964
  },
3973
3965
  "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.",
3974
3966
  "default": "undefined",
3975
- "fieldName": "active",
3976
- "inheritedFrom": {
3977
- "name": "Buttonsimple",
3978
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
3979
- }
3967
+ "fieldName": "active"
3980
3968
  },
3981
3969
  {
3982
3970
  "name": "soft-disabled",
@@ -3985,11 +3973,22 @@
3985
3973
  },
3986
3974
  "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.",
3987
3975
  "default": "undefined",
3988
- "fieldName": "softDisabled",
3989
- "inheritedFrom": {
3990
- "name": "Buttonsimple",
3991
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
3992
- }
3976
+ "fieldName": "softDisabled"
3977
+ },
3978
+ {
3979
+ "name": "size",
3980
+ "type": {
3981
+ "text": "ButtonSize"
3982
+ },
3983
+ "description": "Simplebutton size is a super set of all the sizes supported by children components.",
3984
+ "default": "32",
3985
+ "fieldName": "size"
3986
+ },
3987
+ {
3988
+ "name": "role",
3989
+ "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.",
3990
+ "default": "button",
3991
+ "fieldName": "role"
3993
3992
  },
3994
3993
  {
3995
3994
  "name": "ariaStateKey",
@@ -3998,11 +3997,7 @@
3998
3997
  },
3999
3998
  "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`",
4000
3999
  "default": "'aria-pressed' (when)",
4001
- "fieldName": "ariaStateKey",
4002
- "inheritedFrom": {
4003
- "name": "Buttonsimple",
4004
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
4005
- }
4000
+ "fieldName": "ariaStateKey"
4006
4001
  },
4007
4002
  {
4008
4003
  "name": "type",
@@ -4011,64 +4006,69 @@
4011
4006
  },
4012
4007
  "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.",
4013
4008
  "default": "button",
4014
- "fieldName": "type",
4015
- "inheritedFrom": {
4016
- "name": "Buttonsimple",
4017
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
4018
- }
4019
- }
4020
- ],
4021
- "mixins": [
4022
- {
4023
- "name": "ButtonComponentMixin",
4024
- "module": "/src/utils/mixins/ButtonComponentMixin"
4025
- }
4026
- ],
4027
- "superclass": {
4028
- "name": "Buttonsimple",
4029
- "module": "/src/components/buttonsimple/buttonsimple.component"
4030
- },
4031
- "tagName": "mdc-button",
4032
- "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 */",
4033
- "customElement": true,
4034
- "events": [
4009
+ "fieldName": "type"
4010
+ },
4035
4011
  {
4036
- "description": "(React: onClick) This event is dispatched when the button is clicked.",
4037
- "name": "click",
4038
- "reactName": "onClick",
4012
+ "name": "autofocus",
4013
+ "type": {
4014
+ "text": "boolean"
4015
+ },
4016
+ "default": "false",
4017
+ "description": "This property indicates whether the element should receive focus automatically when it is rendered.",
4018
+ "fieldName": "autofocus",
4039
4019
  "inheritedFrom": {
4040
- "name": "Buttonsimple",
4041
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
4020
+ "name": "AutoFocusMixin",
4021
+ "module": "src/utils/mixins/AutoFocusMixin.ts"
4042
4022
  }
4043
4023
  },
4044
4024
  {
4045
- "description": "(React: onKeyDown) This event is dispatched when a key is pressed down on the button.",
4046
- "name": "keydown",
4047
- "reactName": "onKeyDown",
4025
+ "name": "tabIndex",
4026
+ "type": {
4027
+ "text": "number"
4028
+ },
4029
+ "default": "0",
4030
+ "description": "This property specifies the tab order of the element.",
4031
+ "fieldName": "tabIndex",
4048
4032
  "inheritedFrom": {
4049
- "name": "Buttonsimple",
4050
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
4033
+ "name": "TabIndexMixin",
4034
+ "module": "src/utils/mixins/TabIndexMixin.ts"
4051
4035
  }
4052
4036
  },
4053
4037
  {
4054
- "description": "(React: onKeyUp) This event is dispatched when a key is released on the button.",
4055
- "name": "keyup",
4056
- "reactName": "onKeyUp",
4038
+ "name": "disabled",
4039
+ "type": {
4040
+ "text": "boolean | undefined"
4041
+ },
4042
+ "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
4043
+ "default": "undefined",
4044
+ "fieldName": "disabled",
4057
4045
  "inheritedFrom": {
4058
- "name": "Buttonsimple",
4059
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
4046
+ "name": "DisabledMixin",
4047
+ "module": "src/utils/mixins/DisabledMixin.ts"
4060
4048
  }
4049
+ }
4050
+ ],
4051
+ "mixins": [
4052
+ {
4053
+ "name": "AutoFocusMixin",
4054
+ "module": "/src/utils/mixins/AutoFocusMixin"
4061
4055
  },
4062
4056
  {
4063
- "description": "(React: onFocus) This event is dispatched when the button receives focus.",
4064
- "name": "focus",
4065
- "reactName": "onFocus",
4066
- "inheritedFrom": {
4067
- "name": "Buttonsimple",
4068
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
4069
- }
4057
+ "name": "TabIndexMixin",
4058
+ "module": "/src/utils/mixins/TabIndexMixin"
4059
+ },
4060
+ {
4061
+ "name": "DisabledMixin",
4062
+ "module": "/src/utils/mixins/DisabledMixin"
4070
4063
  }
4071
- ]
4064
+ ],
4065
+ "superclass": {
4066
+ "name": "Component",
4067
+ "module": "/src/models"
4068
+ },
4069
+ "tagName": "mdc-buttonsimple",
4070
+ "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 */",
4071
+ "customElement": true
4072
4072
  }
4073
4073
  ],
4074
4074
  "exports": [
@@ -4076,8 +4076,8 @@
4076
4076
  "kind": "js",
4077
4077
  "name": "default",
4078
4078
  "declaration": {
4079
- "name": "Button",
4080
- "module": "components/button/button.component.js"
4079
+ "name": "Buttonsimple",
4080
+ "module": "components/buttonsimple/buttonsimple.component.js"
4081
4081
  }
4082
4082
  }
4083
4083
  ]
@@ -12118,52 +12118,248 @@
12118
12118
  "type": {
12119
12119
  "text": "string | undefined"
12120
12120
  },
12121
- "description": "The toggletip text that is displayed when the label is hovered.\nIt is used to provide additional information about the label.",
12122
- "fieldName": "toggletipText"
12121
+ "description": "The toggletip text that is displayed when the label is hovered.\nIt is used to provide additional information about the label.",
12122
+ "fieldName": "toggletipText"
12123
+ },
12124
+ {
12125
+ "name": "toggletip-placement",
12126
+ "type": {
12127
+ "text": "PopoverPlacement"
12128
+ },
12129
+ "description": "The placement of the toggletip that is displayed when the info icon is hovered.",
12130
+ "default": "'top'",
12131
+ "fieldName": "toggletipPlacement"
12132
+ },
12133
+ {
12134
+ "name": "info-icon-aria-label",
12135
+ "type": {
12136
+ "text": "string | undefined"
12137
+ },
12138
+ "description": "Aria label for the info icon that is displayed next to the label when `toggletipText` is set.\nThis is used for accessibility purposes to provide a description of the icon.",
12139
+ "fieldName": "infoIconAriaLabel"
12140
+ },
12141
+ {
12142
+ "name": "disabled",
12143
+ "type": {
12144
+ "text": "boolean | undefined"
12145
+ },
12146
+ "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
12147
+ "default": "undefined",
12148
+ "fieldName": "disabled",
12149
+ "inheritedFrom": {
12150
+ "name": "DisabledMixin",
12151
+ "module": "src/utils/mixins/DisabledMixin.ts"
12152
+ }
12153
+ }
12154
+ ],
12155
+ "mixins": [
12156
+ {
12157
+ "name": "DisabledMixin",
12158
+ "module": "/src/utils/mixins/DisabledMixin"
12159
+ }
12160
+ ],
12161
+ "superclass": {
12162
+ "name": "Component",
12163
+ "module": "/src/models"
12164
+ },
12165
+ "tagName": "mdc-formfieldwrapper",
12166
+ "jsDoc": "/**\n * formfieldwrapper is a component that contains the label and helper/validation text\n * that can be configured in various ways to suit different use cases (most of the input related components).\n * It is used as an internal component and is not intended to be used directly by consumers.\n *\n * @tagname mdc-formfieldwrapper\n *\n * @dependency mdc-text\n * @dependency mdc-icon\n * @dependency mdc-button\n * @dependency mdc-toggletip\n *\n *\n */",
12167
+ "customElement": true
12168
+ }
12169
+ ],
12170
+ "exports": [
12171
+ {
12172
+ "kind": "js",
12173
+ "name": "default",
12174
+ "declaration": {
12175
+ "name": "FormfieldWrapper",
12176
+ "module": "components/formfieldwrapper/formfieldwrapper.component.js"
12177
+ }
12178
+ }
12179
+ ]
12180
+ },
12181
+ {
12182
+ "kind": "javascript-module",
12183
+ "path": "components/iconprovider/iconprovider.component.js",
12184
+ "declarations": [
12185
+ {
12186
+ "kind": "class",
12187
+ "description": "IconProvider component, which allows to be consumed from sub components\n(see `providerUtils.consume` for how to consume)\n\nAttribute `iconSet` can be set to either `momentum-icons` or `custom-icons`.\nIf `momentum-icons` is selected, the icons will be fetched from the\nMomentum Design System icon set per a dynamic JS Import (no need to provide a URL).\nThis requires the consumer to have the `@momentum-designs` package installed and the\nbuild tooling needs to support dynamic imports.\n\nIf `custom-icons` is selected, the icons will be fetched from the provided URL.\nThis requires the consumer to provide a URL from which the icons will be fetched and\nthe consumer needs to make sure to bundle the icons in the application.\n\nIf `cacheStrategy` is provided (only works with iconSet = `custom-icons`), the\nIconProvider will cache the icons in the selected cache (either web-api-cache or in-memory-cache),\nto avoid fetching the same icon multiple times over the network.\nThis is useful when the same icon is used multiple times in the application.\nTo consider:\n- The `in-memory-cache` is not persisted and will be lost when the\nIconProvider is removed from the DOM.\n- The `web-api-cache` is persisted, but only works in https environments\n(https://developer.mozilla.org/en-US/docs/Web/API/Cache).",
12188
+ "name": "IconProvider",
12189
+ "slots": [
12190
+ {
12191
+ "description": "children",
12192
+ "name": ""
12193
+ }
12194
+ ],
12195
+ "members": [
12196
+ {
12197
+ "kind": "field",
12198
+ "name": "Context",
12199
+ "privacy": "public",
12200
+ "static": true,
12201
+ "description": "Context object of the IconProvider, to be consumed by child components",
12202
+ "readonly": true
12203
+ },
12204
+ {
12205
+ "kind": "field",
12206
+ "name": "iconSet",
12207
+ "type": {
12208
+ "text": "IconSet | undefined"
12209
+ },
12210
+ "description": "Icon set to be used\n\nIf `momentum-icons` is selected, the icons will be fetched from the\nMomentum Design System icon set per a dynamic JS Import (no need to provide a URL).\nThis requires the consumer to have the `@momentum-designs` package installed and the\nbuild tooling needs to support dynamic imports.\n\nIf `custom-icons` is selected, the icons will be fetched from the provided URL.\nThis requires the consumer to provide a URL from which the icons will be fetched and\nthe consumer needs to make sure to bundle the icons in the application.",
12211
+ "default": "momentum-icons",
12212
+ "attribute": "icon-set",
12213
+ "reflects": true
12214
+ },
12215
+ {
12216
+ "kind": "field",
12217
+ "name": "url",
12218
+ "type": {
12219
+ "text": "string | undefined"
12220
+ },
12221
+ "description": "Url of where icons will be fetched from\n(if Icon set is `custom-icons`, this will be the base url)",
12222
+ "attribute": "url"
12223
+ },
12224
+ {
12225
+ "kind": "field",
12226
+ "name": "fileExtension",
12227
+ "type": {
12228
+ "text": "string | undefined"
12229
+ },
12230
+ "description": "File extension of icons\n(if Icon set is `custom-icons`, this will be the file extension for icons)",
12231
+ "default": "svg",
12232
+ "attribute": "file-extension",
12233
+ "reflects": true
12234
+ },
12235
+ {
12236
+ "kind": "field",
12237
+ "name": "lengthUnit",
12238
+ "type": {
12239
+ "text": "string"
12240
+ },
12241
+ "description": "Length unit used for sizing of icons",
12242
+ "default": "em",
12243
+ "attribute": "length-unit",
12244
+ "reflects": true
12245
+ },
12246
+ {
12247
+ "kind": "field",
12248
+ "name": "size",
12249
+ "type": {
12250
+ "text": "number | undefined"
12251
+ },
12252
+ "description": "The default size of the icon.\nIf not set, it falls back to the size defined by the length unit.",
12253
+ "default": "1",
12254
+ "attribute": "size",
12255
+ "reflects": true
12256
+ },
12257
+ {
12258
+ "kind": "field",
12259
+ "name": "cacheStrategy",
12260
+ "type": {
12261
+ "text": "CacheStrategy | undefined"
12262
+ },
12263
+ "description": "Icons Cache Strategy to use\n\n**Can only be used if Icon set is `custom-icons`**\n\nChoose `in-memory-cache` to cache icons in a JS cache (in-memory cache).\nChoose `web-cache-api` to cache icons using the Web Cache API.\n\nNOTE: `cache-name` must be provided if `cache-strategy` is provided.\n\nIf not provided or invalid value provided, the icons will not be cached.",
12264
+ "default": "undefined",
12265
+ "attribute": "cache-strategy"
12266
+ },
12267
+ {
12268
+ "kind": "field",
12269
+ "name": "cacheName",
12270
+ "type": {
12271
+ "text": "string | undefined"
12272
+ },
12273
+ "description": "Icons Cache Name to use (cache strategy must be provided)\n\nIf provided, Icons inside the provider will be cached in the\ncache (determined by `cache-strategy`) with the provided name.\n\nNOTE: `cache-name` requires `cache-strategy` to be set.\n\nIf not provided, the icons will not be cached.",
12274
+ "default": "undefined",
12275
+ "attribute": "cache-name"
12276
+ },
12277
+ {
12278
+ "kind": "method",
12279
+ "name": "updateValuesInContext",
12280
+ "privacy": "private"
12281
+ },
12282
+ {
12283
+ "kind": "method",
12284
+ "name": "updateContext",
12285
+ "privacy": "protected",
12286
+ "return": {
12287
+ "type": {
12288
+ "text": "void"
12289
+ }
12290
+ }
12291
+ }
12292
+ ],
12293
+ "attributes": [
12294
+ {
12295
+ "name": "icon-set",
12296
+ "type": {
12297
+ "text": "IconSet | undefined"
12298
+ },
12299
+ "description": "Icon set to be used\n\nIf `momentum-icons` is selected, the icons will be fetched from the\nMomentum Design System icon set per a dynamic JS Import (no need to provide a URL).\nThis requires the consumer to have the `@momentum-designs` package installed and the\nbuild tooling needs to support dynamic imports.\n\nIf `custom-icons` is selected, the icons will be fetched from the provided URL.\nThis requires the consumer to provide a URL from which the icons will be fetched and\nthe consumer needs to make sure to bundle the icons in the application.",
12300
+ "default": "momentum-icons",
12301
+ "fieldName": "iconSet"
12302
+ },
12303
+ {
12304
+ "name": "url",
12305
+ "type": {
12306
+ "text": "string | undefined"
12307
+ },
12308
+ "description": "Url of where icons will be fetched from\n(if Icon set is `custom-icons`, this will be the base url)",
12309
+ "fieldName": "url"
12310
+ },
12311
+ {
12312
+ "name": "file-extension",
12313
+ "type": {
12314
+ "text": "string | undefined"
12315
+ },
12316
+ "description": "File extension of icons\n(if Icon set is `custom-icons`, this will be the file extension for icons)",
12317
+ "default": "svg",
12318
+ "fieldName": "fileExtension"
12123
12319
  },
12124
12320
  {
12125
- "name": "toggletip-placement",
12321
+ "name": "length-unit",
12126
12322
  "type": {
12127
- "text": "PopoverPlacement"
12323
+ "text": "string"
12128
12324
  },
12129
- "description": "The placement of the toggletip that is displayed when the info icon is hovered.",
12130
- "default": "'top'",
12131
- "fieldName": "toggletipPlacement"
12325
+ "description": "Length unit used for sizing of icons",
12326
+ "default": "em",
12327
+ "fieldName": "lengthUnit"
12132
12328
  },
12133
12329
  {
12134
- "name": "info-icon-aria-label",
12330
+ "name": "size",
12135
12331
  "type": {
12136
- "text": "string | undefined"
12332
+ "text": "number | undefined"
12137
12333
  },
12138
- "description": "Aria label for the info icon that is displayed next to the label when `toggletipText` is set.\nThis is used for accessibility purposes to provide a description of the icon.",
12139
- "fieldName": "infoIconAriaLabel"
12334
+ "description": "The default size of the icon.\nIf not set, it falls back to the size defined by the length unit.",
12335
+ "default": "1",
12336
+ "fieldName": "size"
12140
12337
  },
12141
12338
  {
12142
- "name": "disabled",
12339
+ "name": "cache-strategy",
12143
12340
  "type": {
12144
- "text": "boolean | undefined"
12341
+ "text": "CacheStrategy | undefined"
12145
12342
  },
12146
- "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
12343
+ "description": "Icons Cache Strategy to use\n\n**Can only be used if Icon set is `custom-icons`**\n\nChoose `in-memory-cache` to cache icons in a JS cache (in-memory cache).\nChoose `web-cache-api` to cache icons using the Web Cache API.\n\nNOTE: `cache-name` must be provided if `cache-strategy` is provided.\n\nIf not provided or invalid value provided, the icons will not be cached.",
12147
12344
  "default": "undefined",
12148
- "fieldName": "disabled",
12149
- "inheritedFrom": {
12150
- "name": "DisabledMixin",
12151
- "module": "src/utils/mixins/DisabledMixin.ts"
12152
- }
12153
- }
12154
- ],
12155
- "mixins": [
12345
+ "fieldName": "cacheStrategy"
12346
+ },
12156
12347
  {
12157
- "name": "DisabledMixin",
12158
- "module": "/src/utils/mixins/DisabledMixin"
12348
+ "name": "cache-name",
12349
+ "type": {
12350
+ "text": "string | undefined"
12351
+ },
12352
+ "description": "Icons Cache Name to use (cache strategy must be provided)\n\nIf provided, Icons inside the provider will be cached in the\ncache (determined by `cache-strategy`) with the provided name.\n\nNOTE: `cache-name` requires `cache-strategy` to be set.\n\nIf not provided, the icons will not be cached.",
12353
+ "default": "undefined",
12354
+ "fieldName": "cacheName"
12159
12355
  }
12160
12356
  ],
12161
12357
  "superclass": {
12162
- "name": "Component",
12358
+ "name": "Provider",
12163
12359
  "module": "/src/models"
12164
12360
  },
12165
- "tagName": "mdc-formfieldwrapper",
12166
- "jsDoc": "/**\n * formfieldwrapper is a component that contains the label and helper/validation text\n * that can be configured in various ways to suit different use cases (most of the input related components).\n * It is used as an internal component and is not intended to be used directly by consumers.\n *\n * @tagname mdc-formfieldwrapper\n *\n * @dependency mdc-text\n * @dependency mdc-icon\n * @dependency mdc-button\n * @dependency mdc-toggletip\n *\n *\n */",
12361
+ "tagName": "mdc-iconprovider",
12362
+ "jsDoc": "/**\n * IconProvider component, which allows to be consumed from sub components\n * (see `providerUtils.consume` for how to consume)\n *\n * Attribute `iconSet` can be set to either `momentum-icons` or `custom-icons`.\n * If `momentum-icons` is selected, the icons will be fetched from the\n * Momentum Design System icon set per a dynamic JS Import (no need to provide a URL).\n * This requires the consumer to have the `@momentum-designs` package installed and the\n * build tooling needs to support dynamic imports.\n *\n * If `custom-icons` is selected, the icons will be fetched from the provided URL.\n * This requires the consumer to provide a URL from which the icons will be fetched and\n * the consumer needs to make sure to bundle the icons in the application.\n *\n * If `cacheStrategy` is provided (only works with iconSet = `custom-icons`), the\n * IconProvider will cache the icons in the selected cache (either web-api-cache or in-memory-cache),\n * to avoid fetching the same icon multiple times over the network.\n * This is useful when the same icon is used multiple times in the application.\n * To consider:\n * - The `in-memory-cache` is not persisted and will be lost when the\n * IconProvider is removed from the DOM.\n * - The `web-api-cache` is persisted, but only works in https environments\n * (https://developer.mozilla.org/en-US/docs/Web/API/Cache).\n *\n * @tagname mdc-iconprovider\n *\n * @slot - children\n */",
12167
12363
  "customElement": true
12168
12364
  }
12169
12365
  ],
@@ -12172,8 +12368,8 @@
12172
12368
  "kind": "js",
12173
12369
  "name": "default",
12174
12370
  "declaration": {
12175
- "name": "FormfieldWrapper",
12176
- "module": "components/formfieldwrapper/formfieldwrapper.component.js"
12371
+ "name": "IconProvider",
12372
+ "module": "components/iconprovider/iconprovider.component.js"
12177
12373
  }
12178
12374
  }
12179
12375
  ]
@@ -12426,202 +12622,6 @@
12426
12622
  }
12427
12623
  ]
12428
12624
  },
12429
- {
12430
- "kind": "javascript-module",
12431
- "path": "components/iconprovider/iconprovider.component.js",
12432
- "declarations": [
12433
- {
12434
- "kind": "class",
12435
- "description": "IconProvider component, which allows to be consumed from sub components\n(see `providerUtils.consume` for how to consume)\n\nAttribute `iconSet` can be set to either `momentum-icons` or `custom-icons`.\nIf `momentum-icons` is selected, the icons will be fetched from the\nMomentum Design System icon set per a dynamic JS Import (no need to provide a URL).\nThis requires the consumer to have the `@momentum-designs` package installed and the\nbuild tooling needs to support dynamic imports.\n\nIf `custom-icons` is selected, the icons will be fetched from the provided URL.\nThis requires the consumer to provide a URL from which the icons will be fetched and\nthe consumer needs to make sure to bundle the icons in the application.\n\nIf `cacheStrategy` is provided (only works with iconSet = `custom-icons`), the\nIconProvider will cache the icons in the selected cache (either web-api-cache or in-memory-cache),\nto avoid fetching the same icon multiple times over the network.\nThis is useful when the same icon is used multiple times in the application.\nTo consider:\n- The `in-memory-cache` is not persisted and will be lost when the\nIconProvider is removed from the DOM.\n- The `web-api-cache` is persisted, but only works in https environments\n(https://developer.mozilla.org/en-US/docs/Web/API/Cache).",
12436
- "name": "IconProvider",
12437
- "slots": [
12438
- {
12439
- "description": "children",
12440
- "name": ""
12441
- }
12442
- ],
12443
- "members": [
12444
- {
12445
- "kind": "field",
12446
- "name": "Context",
12447
- "privacy": "public",
12448
- "static": true,
12449
- "description": "Context object of the IconProvider, to be consumed by child components",
12450
- "readonly": true
12451
- },
12452
- {
12453
- "kind": "field",
12454
- "name": "iconSet",
12455
- "type": {
12456
- "text": "IconSet | undefined"
12457
- },
12458
- "description": "Icon set to be used\n\nIf `momentum-icons` is selected, the icons will be fetched from the\nMomentum Design System icon set per a dynamic JS Import (no need to provide a URL).\nThis requires the consumer to have the `@momentum-designs` package installed and the\nbuild tooling needs to support dynamic imports.\n\nIf `custom-icons` is selected, the icons will be fetched from the provided URL.\nThis requires the consumer to provide a URL from which the icons will be fetched and\nthe consumer needs to make sure to bundle the icons in the application.",
12459
- "default": "momentum-icons",
12460
- "attribute": "icon-set",
12461
- "reflects": true
12462
- },
12463
- {
12464
- "kind": "field",
12465
- "name": "url",
12466
- "type": {
12467
- "text": "string | undefined"
12468
- },
12469
- "description": "Url of where icons will be fetched from\n(if Icon set is `custom-icons`, this will be the base url)",
12470
- "attribute": "url"
12471
- },
12472
- {
12473
- "kind": "field",
12474
- "name": "fileExtension",
12475
- "type": {
12476
- "text": "string | undefined"
12477
- },
12478
- "description": "File extension of icons\n(if Icon set is `custom-icons`, this will be the file extension for icons)",
12479
- "default": "svg",
12480
- "attribute": "file-extension",
12481
- "reflects": true
12482
- },
12483
- {
12484
- "kind": "field",
12485
- "name": "lengthUnit",
12486
- "type": {
12487
- "text": "string"
12488
- },
12489
- "description": "Length unit used for sizing of icons",
12490
- "default": "em",
12491
- "attribute": "length-unit",
12492
- "reflects": true
12493
- },
12494
- {
12495
- "kind": "field",
12496
- "name": "size",
12497
- "type": {
12498
- "text": "number | undefined"
12499
- },
12500
- "description": "The default size of the icon.\nIf not set, it falls back to the size defined by the length unit.",
12501
- "default": "1",
12502
- "attribute": "size",
12503
- "reflects": true
12504
- },
12505
- {
12506
- "kind": "field",
12507
- "name": "cacheStrategy",
12508
- "type": {
12509
- "text": "CacheStrategy | undefined"
12510
- },
12511
- "description": "Icons Cache Strategy to use\n\n**Can only be used if Icon set is `custom-icons`**\n\nChoose `in-memory-cache` to cache icons in a JS cache (in-memory cache).\nChoose `web-cache-api` to cache icons using the Web Cache API.\n\nNOTE: `cache-name` must be provided if `cache-strategy` is provided.\n\nIf not provided or invalid value provided, the icons will not be cached.",
12512
- "default": "undefined",
12513
- "attribute": "cache-strategy"
12514
- },
12515
- {
12516
- "kind": "field",
12517
- "name": "cacheName",
12518
- "type": {
12519
- "text": "string | undefined"
12520
- },
12521
- "description": "Icons Cache Name to use (cache strategy must be provided)\n\nIf provided, Icons inside the provider will be cached in the\ncache (determined by `cache-strategy`) with the provided name.\n\nNOTE: `cache-name` requires `cache-strategy` to be set.\n\nIf not provided, the icons will not be cached.",
12522
- "default": "undefined",
12523
- "attribute": "cache-name"
12524
- },
12525
- {
12526
- "kind": "method",
12527
- "name": "updateValuesInContext",
12528
- "privacy": "private"
12529
- },
12530
- {
12531
- "kind": "method",
12532
- "name": "updateContext",
12533
- "privacy": "protected",
12534
- "return": {
12535
- "type": {
12536
- "text": "void"
12537
- }
12538
- }
12539
- }
12540
- ],
12541
- "attributes": [
12542
- {
12543
- "name": "icon-set",
12544
- "type": {
12545
- "text": "IconSet | undefined"
12546
- },
12547
- "description": "Icon set to be used\n\nIf `momentum-icons` is selected, the icons will be fetched from the\nMomentum Design System icon set per a dynamic JS Import (no need to provide a URL).\nThis requires the consumer to have the `@momentum-designs` package installed and the\nbuild tooling needs to support dynamic imports.\n\nIf `custom-icons` is selected, the icons will be fetched from the provided URL.\nThis requires the consumer to provide a URL from which the icons will be fetched and\nthe consumer needs to make sure to bundle the icons in the application.",
12548
- "default": "momentum-icons",
12549
- "fieldName": "iconSet"
12550
- },
12551
- {
12552
- "name": "url",
12553
- "type": {
12554
- "text": "string | undefined"
12555
- },
12556
- "description": "Url of where icons will be fetched from\n(if Icon set is `custom-icons`, this will be the base url)",
12557
- "fieldName": "url"
12558
- },
12559
- {
12560
- "name": "file-extension",
12561
- "type": {
12562
- "text": "string | undefined"
12563
- },
12564
- "description": "File extension of icons\n(if Icon set is `custom-icons`, this will be the file extension for icons)",
12565
- "default": "svg",
12566
- "fieldName": "fileExtension"
12567
- },
12568
- {
12569
- "name": "length-unit",
12570
- "type": {
12571
- "text": "string"
12572
- },
12573
- "description": "Length unit used for sizing of icons",
12574
- "default": "em",
12575
- "fieldName": "lengthUnit"
12576
- },
12577
- {
12578
- "name": "size",
12579
- "type": {
12580
- "text": "number | undefined"
12581
- },
12582
- "description": "The default size of the icon.\nIf not set, it falls back to the size defined by the length unit.",
12583
- "default": "1",
12584
- "fieldName": "size"
12585
- },
12586
- {
12587
- "name": "cache-strategy",
12588
- "type": {
12589
- "text": "CacheStrategy | undefined"
12590
- },
12591
- "description": "Icons Cache Strategy to use\n\n**Can only be used if Icon set is `custom-icons`**\n\nChoose `in-memory-cache` to cache icons in a JS cache (in-memory cache).\nChoose `web-cache-api` to cache icons using the Web Cache API.\n\nNOTE: `cache-name` must be provided if `cache-strategy` is provided.\n\nIf not provided or invalid value provided, the icons will not be cached.",
12592
- "default": "undefined",
12593
- "fieldName": "cacheStrategy"
12594
- },
12595
- {
12596
- "name": "cache-name",
12597
- "type": {
12598
- "text": "string | undefined"
12599
- },
12600
- "description": "Icons Cache Name to use (cache strategy must be provided)\n\nIf provided, Icons inside the provider will be cached in the\ncache (determined by `cache-strategy`) with the provided name.\n\nNOTE: `cache-name` requires `cache-strategy` to be set.\n\nIf not provided, the icons will not be cached.",
12601
- "default": "undefined",
12602
- "fieldName": "cacheName"
12603
- }
12604
- ],
12605
- "superclass": {
12606
- "name": "Provider",
12607
- "module": "/src/models"
12608
- },
12609
- "tagName": "mdc-iconprovider",
12610
- "jsDoc": "/**\n * IconProvider component, which allows to be consumed from sub components\n * (see `providerUtils.consume` for how to consume)\n *\n * Attribute `iconSet` can be set to either `momentum-icons` or `custom-icons`.\n * If `momentum-icons` is selected, the icons will be fetched from the\n * Momentum Design System icon set per a dynamic JS Import (no need to provide a URL).\n * This requires the consumer to have the `@momentum-designs` package installed and the\n * build tooling needs to support dynamic imports.\n *\n * If `custom-icons` is selected, the icons will be fetched from the provided URL.\n * This requires the consumer to provide a URL from which the icons will be fetched and\n * the consumer needs to make sure to bundle the icons in the application.\n *\n * If `cacheStrategy` is provided (only works with iconSet = `custom-icons`), the\n * IconProvider will cache the icons in the selected cache (either web-api-cache or in-memory-cache),\n * to avoid fetching the same icon multiple times over the network.\n * This is useful when the same icon is used multiple times in the application.\n * To consider:\n * - The `in-memory-cache` is not persisted and will be lost when the\n * IconProvider is removed from the DOM.\n * - The `web-api-cache` is persisted, but only works in https environments\n * (https://developer.mozilla.org/en-US/docs/Web/API/Cache).\n *\n * @tagname mdc-iconprovider\n *\n * @slot - children\n */",
12611
- "customElement": true
12612
- }
12613
- ],
12614
- "exports": [
12615
- {
12616
- "kind": "js",
12617
- "name": "default",
12618
- "declaration": {
12619
- "name": "IconProvider",
12620
- "module": "components/iconprovider/iconprovider.component.js"
12621
- }
12622
- }
12623
- ]
12624
- },
12625
12625
  {
12626
12626
  "kind": "javascript-module",
12627
12627
  "path": "components/input/input.component.js",