@momentum-design/components 0.27.2 → 0.27.3

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.
@@ -1192,48 +1192,33 @@
1192
1192
  },
1193
1193
  {
1194
1194
  "kind": "javascript-module",
1195
- "path": "components/button/button.component.js",
1195
+ "path": "components/buttonsimple/buttonsimple.component.js",
1196
1196
  "declarations": [
1197
1197
  {
1198
1198
  "kind": "class",
1199
- "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.",
1200
- "name": "Button",
1201
- "slots": [
1202
- {
1203
- "description": "Text label of the button.",
1204
- "name": ""
1205
- }
1206
- ],
1199
+ "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.",
1200
+ "name": "Buttonsimple",
1207
1201
  "members": [
1208
1202
  {
1209
1203
  "kind": "field",
1210
- "name": "prefixIcon",
1211
- "type": {
1212
- "text": "string | undefined"
1213
- },
1214
- "description": "The name of the icon to display as a prefix.\nThe icon is displayed on the left side of the button.",
1215
- "attribute": "prefix-icon",
1216
- "reflects": true
1217
- },
1218
- {
1219
- "kind": "field",
1220
- "name": "postfixIcon",
1204
+ "name": "active",
1221
1205
  "type": {
1222
- "text": "string | undefined"
1206
+ "text": "boolean"
1223
1207
  },
1224
- "description": "The name of the icon to display as a postfix.\nThe icon is displayed on the right side of the button.",
1225
- "attribute": "postfix-icon",
1208
+ "default": "false",
1209
+ "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.",
1210
+ "attribute": "active",
1226
1211
  "reflects": true
1227
1212
  },
1228
1213
  {
1229
1214
  "kind": "field",
1230
- "name": "variant",
1215
+ "name": "softDisabled",
1231
1216
  "type": {
1232
- "text": "ButtonVariant"
1217
+ "text": "boolean"
1233
1218
  },
1234
- "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.",
1235
- "default": "primary",
1236
- "attribute": "variant"
1219
+ "default": "false",
1220
+ "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.",
1221
+ "attribute": "soft-disabled"
1237
1222
  },
1238
1223
  {
1239
1224
  "kind": "field",
@@ -1241,111 +1226,135 @@
1241
1226
  "type": {
1242
1227
  "text": "ButtonSize"
1243
1228
  },
1244
- "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.",
1229
+ "description": "Simplebutton size is a super set of all the sizes supported by children components.",
1245
1230
  "default": "32",
1246
1231
  "attribute": "size",
1247
- "reflects": true,
1248
- "inheritedFrom": {
1249
- "name": "Buttonsimple",
1250
- "module": "components/buttonsimple/buttonsimple.component.js"
1251
- }
1252
- },
1253
- {
1254
- "kind": "field",
1255
- "name": "color",
1256
- "type": {
1257
- "text": "ButtonColor"
1258
- },
1259
- "description": "There are 5 colors for button: positive, negative, accent, promotional, default.",
1260
- "default": "default",
1261
- "attribute": "color"
1232
+ "reflects": true
1262
1233
  },
1263
1234
  {
1264
1235
  "kind": "field",
1265
1236
  "name": "role",
1266
1237
  "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.",
1267
- "default": "'button'",
1238
+ "default": "button",
1268
1239
  "attribute": "role",
1269
- "reflects": true,
1240
+ "reflects": true
1241
+ },
1242
+ {
1243
+ "kind": "field",
1244
+ "name": "type",
1270
1245
  "type": {
1271
- "text": "string"
1246
+ "text": "ButtonType"
1272
1247
  },
1273
- "inheritedFrom": {
1274
- "name": "Buttonsimple",
1275
- "module": "components/buttonsimple/buttonsimple.component.js"
1276
- }
1248
+ "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.",
1249
+ "default": "button",
1250
+ "attribute": "type",
1251
+ "reflects": true
1277
1252
  },
1278
1253
  {
1279
1254
  "kind": "method",
1280
- "name": "modifyIconName",
1281
- "privacy": "private",
1255
+ "name": "executeAction",
1256
+ "privacy": "protected"
1257
+ },
1258
+ {
1259
+ "kind": "method",
1260
+ "name": "setActive",
1261
+ "privacy": "protected",
1282
1262
  "parameters": [
1263
+ {
1264
+ "name": "element",
1265
+ "type": {
1266
+ "text": "HTMLElement"
1267
+ },
1268
+ "description": "The button element"
1269
+ },
1283
1270
  {
1284
1271
  "name": "active",
1285
1272
  "type": {
1286
1273
  "text": "boolean"
1287
1274
  },
1288
- "description": "The active state."
1275
+ "description": "The active state of the element"
1289
1276
  }
1290
1277
  ],
1291
- "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."
1278
+ "description": "Sets the aria-pressed attribute based on the active state of the button."
1292
1279
  },
1293
1280
  {
1294
1281
  "kind": "method",
1295
- "name": "setVariant",
1282
+ "name": "setSoftDisabled",
1296
1283
  "privacy": "private",
1297
1284
  "parameters": [
1298
1285
  {
1299
- "name": "variant",
1286
+ "name": "element",
1300
1287
  "type": {
1301
- "text": "ButtonVariant"
1288
+ "text": "HTMLElement"
1302
1289
  },
1303
- "description": "The variant to set."
1290
+ "description": "The button element."
1291
+ },
1292
+ {
1293
+ "name": "softDisabled",
1294
+ "type": {
1295
+ "text": "boolean"
1296
+ },
1297
+ "description": "The soft-disabled state."
1304
1298
  }
1305
1299
  ],
1306
- "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."
1300
+ "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."
1307
1301
  },
1308
1302
  {
1309
1303
  "kind": "method",
1310
- "name": "setSize",
1304
+ "name": "setDisabled",
1311
1305
  "privacy": "private",
1312
1306
  "parameters": [
1313
1307
  {
1314
- "name": "size",
1308
+ "name": "element",
1315
1309
  "type": {
1316
- "text": "PillButtonSize | IconButtonSize"
1310
+ "text": "HTMLElement"
1317
1311
  },
1318
- "description": "The size to set."
1312
+ "description": "The button element."
1313
+ },
1314
+ {
1315
+ "name": "disabled",
1316
+ "type": {
1317
+ "text": "boolean"
1318
+ },
1319
+ "description": "The disabled state."
1319
1320
  }
1320
1321
  ],
1321
- "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."
1322
+ "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."
1322
1323
  },
1323
1324
  {
1324
1325
  "kind": "method",
1325
- "name": "setColor",
1326
+ "name": "triggerClickEvent",
1327
+ "privacy": "private"
1328
+ },
1329
+ {
1330
+ "kind": "method",
1331
+ "name": "handleKeyDown",
1326
1332
  "privacy": "private",
1327
1333
  "parameters": [
1328
1334
  {
1329
- "name": "color",
1335
+ "name": "event",
1330
1336
  "type": {
1331
- "text": "ButtonColor"
1337
+ "text": "KeyboardEvent"
1332
1338
  },
1333
- "description": "The color to set."
1339
+ "description": "The keyboard event."
1334
1340
  }
1335
1341
  ],
1336
- "description": "Sets the color attribute for the button.\nDefaults to DEFAULTS.COLOR if invalid or for tertiary buttons."
1342
+ "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."
1337
1343
  },
1338
1344
  {
1339
1345
  "kind": "method",
1340
- "name": "inferButtonType",
1346
+ "name": "handleKeyUp",
1341
1347
  "privacy": "private",
1342
- "description": "Infers the type of button based on the presence of slot and/or prefix and postfix icons.",
1343
1348
  "parameters": [
1344
1349
  {
1345
- "description": "default slot of button",
1346
- "name": "slot"
1350
+ "name": "event",
1351
+ "type": {
1352
+ "text": "KeyboardEvent"
1353
+ },
1354
+ "description": "The keyboard event."
1347
1355
  }
1348
- ]
1356
+ ],
1357
+ "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."
1349
1358
  },
1350
1359
  {
1351
1360
  "kind": "field",
@@ -1376,170 +1385,238 @@
1376
1385
  "name": "DisabledMixin",
1377
1386
  "module": "utils/mixins/DisabledMixin.js"
1378
1387
  }
1379
- },
1388
+ }
1389
+ ],
1390
+ "attributes": [
1380
1391
  {
1381
- "kind": "field",
1382
1392
  "name": "active",
1383
1393
  "type": {
1384
1394
  "text": "boolean"
1385
1395
  },
1386
1396
  "default": "false",
1387
1397
  "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.",
1388
- "attribute": "active",
1389
- "reflects": true,
1390
- "inheritedFrom": {
1391
- "name": "Buttonsimple",
1392
- "module": "components/buttonsimple/buttonsimple.component.js"
1393
- }
1398
+ "fieldName": "active"
1394
1399
  },
1395
1400
  {
1396
- "kind": "field",
1397
- "name": "softDisabled",
1401
+ "name": "soft-disabled",
1398
1402
  "type": {
1399
1403
  "text": "boolean"
1400
1404
  },
1401
1405
  "default": "false",
1402
1406
  "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.",
1403
- "attribute": "soft-disabled",
1404
- "inheritedFrom": {
1405
- "name": "Buttonsimple",
1406
- "module": "components/buttonsimple/buttonsimple.component.js"
1407
- }
1407
+ "fieldName": "softDisabled"
1408
+ },
1409
+ {
1410
+ "name": "size",
1411
+ "type": {
1412
+ "text": "ButtonSize"
1413
+ },
1414
+ "description": "Simplebutton size is a super set of all the sizes supported by children components.",
1415
+ "default": "32",
1416
+ "fieldName": "size"
1417
+ },
1418
+ {
1419
+ "name": "role",
1420
+ "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.",
1421
+ "default": "button",
1422
+ "fieldName": "role"
1408
1423
  },
1409
1424
  {
1410
- "kind": "field",
1411
1425
  "name": "type",
1412
1426
  "type": {
1413
1427
  "text": "ButtonType"
1414
1428
  },
1415
1429
  "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.",
1416
1430
  "default": "button",
1417
- "attribute": "type",
1418
- "reflects": true,
1419
- "inheritedFrom": {
1420
- "name": "Buttonsimple",
1421
- "module": "components/buttonsimple/buttonsimple.component.js"
1422
- }
1431
+ "fieldName": "type"
1423
1432
  },
1424
1433
  {
1425
- "kind": "method",
1426
- "name": "executeAction",
1427
- "privacy": "protected",
1434
+ "name": "tabIndex",
1435
+ "type": {
1436
+ "text": "number"
1437
+ },
1438
+ "default": "0",
1439
+ "description": "This property specifies the tab order of the element.",
1440
+ "fieldName": "tabIndex",
1428
1441
  "inheritedFrom": {
1429
- "name": "Buttonsimple",
1430
- "module": "components/buttonsimple/buttonsimple.component.js"
1442
+ "name": "TabIndexMixin",
1443
+ "module": "src/utils/mixins/TabIndexMixin.ts"
1431
1444
  }
1432
1445
  },
1433
1446
  {
1434
- "kind": "method",
1435
- "name": "setActive",
1436
- "privacy": "protected",
1437
- "parameters": [
1438
- {
1439
- "name": "element",
1440
- "type": {
1441
- "text": "HTMLElement"
1442
- },
1443
- "description": "The button element"
1444
- },
1445
- {
1446
- "name": "active",
1447
- "type": {
1448
- "text": "boolean"
1449
- },
1450
- "description": "The active state of the element"
1451
- }
1452
- ],
1453
- "description": "Sets the aria-pressed attribute based on the active state of the button.",
1447
+ "name": "disabled",
1448
+ "type": {
1449
+ "text": "boolean"
1450
+ },
1451
+ "default": "false",
1452
+ "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
1453
+ "fieldName": "disabled",
1454
1454
  "inheritedFrom": {
1455
- "name": "Buttonsimple",
1456
- "module": "components/buttonsimple/buttonsimple.component.js"
1455
+ "name": "DisabledMixin",
1456
+ "module": "src/utils/mixins/DisabledMixin.ts"
1457
1457
  }
1458
+ }
1459
+ ],
1460
+ "mixins": [
1461
+ {
1462
+ "name": "TabIndexMixin",
1463
+ "module": "/src/utils/mixins/TabIndexMixin"
1458
1464
  },
1459
1465
  {
1460
- "kind": "method",
1461
- "name": "setSoftDisabled",
1462
- "privacy": "private",
1463
- "parameters": [
1464
- {
1465
- "name": "element",
1466
- "type": {
1467
- "text": "HTMLElement"
1468
- },
1469
- "description": "The button element."
1470
- },
1471
- {
1472
- "name": "softDisabled",
1473
- "type": {
1474
- "text": "boolean"
1475
- },
1476
- "description": "The soft-disabled state."
1477
- }
1478
- ],
1479
- "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.",
1480
- "inheritedFrom": {
1481
- "name": "Buttonsimple",
1482
- "module": "components/buttonsimple/buttonsimple.component.js"
1483
- }
1466
+ "name": "DisabledMixin",
1467
+ "module": "/src/utils/mixins/DisabledMixin"
1468
+ }
1469
+ ],
1470
+ "superclass": {
1471
+ "name": "Component",
1472
+ "module": "/src/models"
1473
+ },
1474
+ "tagName": "mdc-buttonsimple",
1475
+ "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 * @tagname mdc-buttonsimple\n */",
1476
+ "customElement": true
1477
+ }
1478
+ ],
1479
+ "exports": [
1480
+ {
1481
+ "kind": "js",
1482
+ "name": "default",
1483
+ "declaration": {
1484
+ "name": "Buttonsimple",
1485
+ "module": "components/buttonsimple/buttonsimple.component.js"
1486
+ }
1487
+ }
1488
+ ]
1489
+ },
1490
+ {
1491
+ "kind": "javascript-module",
1492
+ "path": "components/checkbox/checkbox.component.js",
1493
+ "declarations": [
1494
+ {
1495
+ "kind": "class",
1496
+ "description": "Checkboxes allow users to select multiple options from a list or turn an item/feature on or off.\nThese are often used in forms, settings, and selections in lists.\n\nA checkbox component contains an optional label and an optional helper text.\n\nTo create a group of checkboxes, use the FormFieldGroup component.",
1497
+ "name": "Checkbox",
1498
+ "cssProperties": [
1499
+ {
1500
+ "description": "Allows customization of the background color on hover.",
1501
+ "name": "--mdc-checkbox-background-color-hover"
1502
+ },
1503
+ {
1504
+ "description": "Border color in high contrast.",
1505
+ "name": "--mdc-checkbox-border-color"
1506
+ },
1507
+ {
1508
+ "description": "Background color for a selected checkbox.",
1509
+ "name": "--mdc-checkbox-checked-background-color"
1510
+ },
1511
+ {
1512
+ "description": "Background color for a selected checkbox when hovered.",
1513
+ "name": "--mdc-checkbox-checked-background-color-hover"
1514
+ },
1515
+ {
1516
+ "description": "Background color for a selected checkbox when pressed.",
1517
+ "name": "--mdc-checkbox-checked-pressed-icon-color"
1518
+ },
1519
+ {
1520
+ "description": "Background color for a disabled checkbox.",
1521
+ "name": "--mdc-checkbox-disabled-background-color"
1522
+ },
1523
+ {
1524
+ "description": "Border color for a disabled checkbox.",
1525
+ "name": "--mdc-checkbox-disabled-border-color"
1526
+ },
1527
+ {
1528
+ "description": "Background color for a disabled, selected checkbox.",
1529
+ "name": "--mdc-checkbox-disabled-checked-icon-color"
1530
+ },
1531
+ {
1532
+ "description": "Icon color for a disabled checkbox.",
1533
+ "name": "--mdc-checkbox-disabled-icon-color"
1534
+ },
1535
+ {
1536
+ "description": "Background color for an unselected checkbox.",
1537
+ "name": "--mdc-checkbox-icon-background-color"
1538
+ },
1539
+ {
1540
+ "description": "Default background color for an unselected checkbox.",
1541
+ "name": "--mdc-checkbox-icon-border-color"
1542
+ },
1543
+ {
1544
+ "description": "Icon color for an unselected checkbox.",
1545
+ "name": "--mdc-checkbox-icon-color"
1546
+ },
1547
+ {
1548
+ "description": "Background color for a selected checkbox when pressed.",
1549
+ "name": "--mdc-checkbox-pressed-icon-color"
1550
+ }
1551
+ ],
1552
+ "members": [
1553
+ {
1554
+ "kind": "field",
1555
+ "name": "checked",
1556
+ "type": {
1557
+ "text": "boolean"
1558
+ },
1559
+ "default": "false",
1560
+ "description": "Determines whether the checkbox is selected or unselected.",
1561
+ "attribute": "checked",
1562
+ "reflects": true
1563
+ },
1564
+ {
1565
+ "kind": "field",
1566
+ "name": "indeterminate",
1567
+ "type": {
1568
+ "text": "boolean"
1569
+ },
1570
+ "default": "false",
1571
+ "description": "This property is used to determine the parent checkbox in a nested checkbox group.\nIf any one of the children is unselected, then the parent checkbox will be indeterminate.\nIf all children are either selected or unselected, then the parent checkbox will not be indeterminate.",
1572
+ "attribute": "indeterminate",
1573
+ "reflects": true
1484
1574
  },
1485
1575
  {
1486
1576
  "kind": "method",
1487
- "name": "setDisabled",
1577
+ "name": "setFormValue",
1488
1578
  "privacy": "private",
1489
- "parameters": [
1490
- {
1491
- "name": "element",
1492
- "type": {
1493
- "text": "HTMLElement"
1494
- },
1495
- "description": "The button element."
1496
- },
1497
- {
1498
- "name": "disabled",
1499
- "type": {
1500
- "text": "boolean"
1501
- },
1502
- "description": "The disabled state."
1503
- }
1504
- ],
1505
- "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.",
1506
- "inheritedFrom": {
1507
- "name": "Buttonsimple",
1508
- "module": "components/buttonsimple/buttonsimple.component.js"
1509
- }
1579
+ "description": "Updates the form value to reflect the current state of the checkbox.\nIf checked, the value is set to either the user-provided value or 'on' if no value is provided.\nIf unchecked, the value is set to null."
1510
1580
  },
1511
1581
  {
1512
1582
  "kind": "method",
1513
- "name": "triggerClickEvent",
1583
+ "name": "toggleState",
1514
1584
  "privacy": "private",
1515
- "inheritedFrom": {
1516
- "name": "Buttonsimple",
1517
- "module": "components/buttonsimple/buttonsimple.component.js"
1518
- }
1585
+ "return": {
1586
+ "type": {
1587
+ "text": "void"
1588
+ }
1589
+ },
1590
+ "description": "Toggles the state of the checkbox element.\nIf the element is not disabled, then\nthe checked property is toggled and the indeterminate property is set to false."
1519
1591
  },
1520
1592
  {
1521
1593
  "kind": "method",
1522
- "name": "handleKeyDown",
1523
- "privacy": "private",
1594
+ "name": "handleChange",
1595
+ "privacy": "public",
1596
+ "return": {
1597
+ "type": {
1598
+ "text": "void"
1599
+ }
1600
+ },
1524
1601
  "parameters": [
1525
1602
  {
1526
1603
  "name": "event",
1527
1604
  "type": {
1528
- "text": "KeyboardEvent"
1529
- },
1530
- "description": "The keyboard event."
1605
+ "text": "Event"
1606
+ }
1531
1607
  }
1532
1608
  ],
1533
- "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.",
1534
- "inheritedFrom": {
1535
- "name": "Buttonsimple",
1536
- "module": "components/buttonsimple/buttonsimple.component.js"
1537
- }
1609
+ "description": "Toggles the state of the checkbox element.\nand dispatch the new change event."
1538
1610
  },
1539
1611
  {
1540
1612
  "kind": "method",
1541
- "name": "handleKeyUp",
1613
+ "name": "handleKeyDown",
1542
1614
  "privacy": "private",
1615
+ "return": {
1616
+ "type": {
1617
+ "text": "void"
1618
+ }
1619
+ },
1543
1620
  "parameters": [
1544
1621
  {
1545
1622
  "name": "event",
@@ -1549,444 +1626,393 @@
1549
1626
  "description": "The keyboard event."
1550
1627
  }
1551
1628
  ],
1552
- "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.",
1553
- "inheritedFrom": {
1554
- "name": "Buttonsimple",
1555
- "module": "components/buttonsimple/buttonsimple.component.js"
1556
- }
1557
- }
1558
- ],
1559
- "attributes": [
1560
- {
1561
- "name": "prefix-icon",
1562
- "type": {
1563
- "text": "string | undefined"
1564
- },
1565
- "description": "The name of the icon to display as a prefix.\nThe icon is displayed on the left side of the button.",
1566
- "fieldName": "prefixIcon"
1567
- },
1568
- {
1569
- "name": "postfix-icon",
1570
- "type": {
1571
- "text": "string | undefined"
1572
- },
1573
- "description": "The name of the icon to display as a postfix.\nThe icon is displayed on the right side of the button.",
1574
- "fieldName": "postfixIcon"
1629
+ "description": "Handles the keydown event on the checkbox.\nWhen the user presses Enter, the form is submitted."
1575
1630
  },
1576
1631
  {
1577
- "name": "variant",
1578
- "type": {
1579
- "text": "ButtonVariant"
1580
- },
1581
- "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.",
1582
- "default": "primary",
1583
- "fieldName": "variant"
1632
+ "kind": "field",
1633
+ "name": "internals"
1584
1634
  },
1585
1635
  {
1586
- "name": "size",
1636
+ "kind": "field",
1637
+ "name": "helpTextType",
1587
1638
  "type": {
1588
- "text": "ButtonSize"
1639
+ "text": "ValidationType"
1589
1640
  },
1590
- "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.",
1591
- "default": "32",
1592
- "fieldName": "size",
1641
+ "description": "The type of help text. It can be 'default', 'error', 'warning', 'success', 'priority'.",
1642
+ "attribute": "help-text-type",
1643
+ "reflects": true,
1644
+ "default": "undefined as unknown",
1593
1645
  "inheritedFrom": {
1594
- "name": "Buttonsimple",
1595
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
1646
+ "name": "FormfieldWrapper",
1647
+ "module": "components/formfieldwrapper/formfieldwrapper.component.js"
1596
1648
  }
1597
1649
  },
1598
1650
  {
1599
- "name": "color",
1651
+ "kind": "field",
1652
+ "name": "name",
1600
1653
  "type": {
1601
- "text": "ButtonColor"
1654
+ "text": "string"
1602
1655
  },
1603
- "description": "There are 5 colors for button: positive, negative, accent, promotional, default.",
1604
- "default": "default",
1605
- "fieldName": "color"
1656
+ "default": "''",
1657
+ "description": "Indicates the name of the component group (ex: checkbox, radio group).\nThey are used to group elements in a form together.",
1658
+ "attribute": "name",
1659
+ "reflects": true,
1660
+ "inheritedFrom": {
1661
+ "name": "NameMixin",
1662
+ "module": "utils/mixins/NameMixin.js"
1663
+ }
1606
1664
  },
1607
1665
  {
1608
- "name": "role",
1609
- "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.",
1610
- "default": "'button'",
1611
- "fieldName": "role",
1666
+ "kind": "field",
1667
+ "name": "value",
1612
1668
  "type": {
1613
1669
  "text": "string"
1614
1670
  },
1671
+ "default": "''",
1672
+ "description": "Indicates the value of the component group (ex: input, checkbox, radio, select etc...)",
1673
+ "attribute": "value",
1674
+ "reflects": true,
1615
1675
  "inheritedFrom": {
1616
- "name": "Buttonsimple",
1617
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
1676
+ "name": "ValueMixin",
1677
+ "module": "utils/mixins/ValueMixin.js"
1618
1678
  }
1619
1679
  },
1620
1680
  {
1621
- "name": "tabIndex",
1681
+ "kind": "field",
1682
+ "name": "dataAriaLabel",
1622
1683
  "type": {
1623
- "text": "number"
1684
+ "text": "string | null"
1624
1685
  },
1625
- "default": "0",
1626
- "description": "This property specifies the tab order of the element.",
1627
- "fieldName": "tabIndex",
1686
+ "default": "null",
1687
+ "description": "Defines a string value that labels the current element.\nThe Aria-Label attribute to be set for accessibility.",
1688
+ "attribute": "data-aria-label",
1689
+ "reflects": true,
1628
1690
  "inheritedFrom": {
1629
- "name": "TabIndexMixin",
1630
- "module": "src/utils/mixins/TabIndexMixin.ts"
1691
+ "name": "DataAriaLabelMixin",
1692
+ "module": "utils/mixins/DataAriaLabelMixin.js"
1631
1693
  }
1632
1694
  },
1633
1695
  {
1696
+ "kind": "field",
1634
1697
  "name": "disabled",
1635
1698
  "type": {
1636
1699
  "text": "boolean"
1637
1700
  },
1638
1701
  "default": "false",
1639
1702
  "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
1640
- "fieldName": "disabled",
1703
+ "attribute": "disabled",
1704
+ "reflects": true,
1641
1705
  "inheritedFrom": {
1642
1706
  "name": "DisabledMixin",
1643
- "module": "src/utils/mixins/DisabledMixin.ts"
1644
- }
1645
- },
1646
- {
1647
- "name": "active",
1648
- "type": {
1649
- "text": "boolean"
1650
- },
1651
- "default": "false",
1652
- "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.",
1653
- "fieldName": "active",
1654
- "inheritedFrom": {
1655
- "name": "Buttonsimple",
1656
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
1657
- }
1658
- },
1659
- {
1660
- "name": "soft-disabled",
1661
- "type": {
1662
- "text": "boolean"
1663
- },
1664
- "default": "false",
1665
- "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.",
1666
- "fieldName": "softDisabled",
1667
- "inheritedFrom": {
1668
- "name": "Buttonsimple",
1669
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
1707
+ "module": "utils/mixins/DisabledMixin.js"
1670
1708
  }
1671
1709
  },
1672
1710
  {
1673
- "name": "type",
1711
+ "kind": "field",
1712
+ "name": "label",
1674
1713
  "type": {
1675
- "text": "ButtonType"
1714
+ "text": "string | undefined"
1676
1715
  },
1677
- "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.",
1678
- "default": "button",
1679
- "fieldName": "type",
1716
+ "description": "The label of the input field. It is linked to the input field using the `for` attribute.",
1717
+ "attribute": "label",
1718
+ "reflects": true,
1680
1719
  "inheritedFrom": {
1681
- "name": "Buttonsimple",
1682
- "module": "src/components/buttonsimple/buttonsimple.component.ts"
1720
+ "name": "FormfieldWrapper",
1721
+ "module": "components/formfieldwrapper/formfieldwrapper.component.js"
1683
1722
  }
1684
- }
1685
- ],
1686
- "superclass": {
1687
- "name": "Buttonsimple",
1688
- "module": "/src/components/buttonsimple/buttonsimple.component"
1689
- },
1690
- "tagName": "mdc-button",
1691
- "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 */",
1692
- "customElement": true
1693
- }
1694
- ],
1695
- "exports": [
1696
- {
1697
- "kind": "js",
1698
- "name": "default",
1699
- "declaration": {
1700
- "name": "Button",
1701
- "module": "components/button/button.component.js"
1702
- }
1703
- }
1704
- ]
1705
- },
1706
- {
1707
- "kind": "javascript-module",
1708
- "path": "components/buttonsimple/buttonsimple.component.js",
1709
- "declarations": [
1710
- {
1711
- "kind": "class",
1712
- "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.",
1713
- "name": "Buttonsimple",
1714
- "members": [
1715
- {
1716
- "kind": "field",
1717
- "name": "active",
1718
- "type": {
1719
- "text": "boolean"
1720
- },
1721
- "default": "false",
1722
- "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.",
1723
- "attribute": "active",
1724
- "reflects": true
1725
- },
1726
- {
1727
- "kind": "field",
1728
- "name": "softDisabled",
1729
- "type": {
1730
- "text": "boolean"
1731
- },
1732
- "default": "false",
1733
- "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.",
1734
- "attribute": "soft-disabled"
1735
1723
  },
1736
1724
  {
1737
1725
  "kind": "field",
1738
- "name": "size",
1726
+ "name": "requiredLabel",
1739
1727
  "type": {
1740
- "text": "ButtonSize"
1741
- },
1742
- "description": "Simplebutton size is a super set of all the sizes supported by children components.",
1743
- "default": "32",
1744
- "attribute": "size",
1745
- "reflects": true
1728
+ "text": "string | undefined"
1729
+ },
1730
+ "description": "The required label of the input field.\nWhen an appropriate string value is set,\nthe input field is marked as required and the label is appended with this text.",
1731
+ "attribute": "required-label",
1732
+ "reflects": true,
1733
+ "inheritedFrom": {
1734
+ "name": "FormfieldWrapper",
1735
+ "module": "components/formfieldwrapper/formfieldwrapper.component.js"
1736
+ }
1746
1737
  },
1747
1738
  {
1748
1739
  "kind": "field",
1749
- "name": "role",
1750
- "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.",
1751
- "default": "button",
1752
- "attribute": "role",
1753
- "reflects": true
1740
+ "name": "id",
1741
+ "default": "`mdc-input-${uuidv4()}`",
1742
+ "description": "The unique id of the input field. It is used to link the input field with the label.",
1743
+ "attribute": "id",
1744
+ "inheritedFrom": {
1745
+ "name": "FormfieldWrapper",
1746
+ "module": "components/formfieldwrapper/formfieldwrapper.component.js"
1747
+ }
1754
1748
  },
1755
1749
  {
1756
1750
  "kind": "field",
1757
- "name": "type",
1751
+ "name": "helpText",
1758
1752
  "type": {
1759
- "text": "ButtonType"
1753
+ "text": "string | undefined"
1760
1754
  },
1761
- "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.",
1762
- "default": "button",
1763
- "attribute": "type",
1764
- "reflects": true
1755
+ "description": "The help text that is displayed below the input field.",
1756
+ "attribute": "help-text",
1757
+ "reflects": true,
1758
+ "inheritedFrom": {
1759
+ "name": "FormfieldWrapper",
1760
+ "module": "components/formfieldwrapper/formfieldwrapper.component.js"
1761
+ }
1765
1762
  },
1766
1763
  {
1767
1764
  "kind": "method",
1768
- "name": "executeAction",
1769
- "privacy": "protected"
1765
+ "name": "renderLabelElement",
1766
+ "privacy": "protected",
1767
+ "description": "creates the label element when the label property is set.\nid is used to link the label with the input field.",
1768
+ "return": {
1769
+ "type": {
1770
+ "text": ""
1771
+ }
1772
+ },
1773
+ "inheritedFrom": {
1774
+ "name": "FormfieldWrapper",
1775
+ "module": "components/formfieldwrapper/formfieldwrapper.component.js"
1776
+ }
1770
1777
  },
1771
1778
  {
1772
1779
  "kind": "method",
1773
- "name": "setActive",
1780
+ "name": "renderRequiredLabel",
1774
1781
  "privacy": "protected",
1775
- "parameters": [
1776
- {
1777
- "name": "element",
1778
- "type": {
1779
- "text": "HTMLElement"
1780
- },
1781
- "description": "The button element"
1782
- },
1783
- {
1784
- "name": "active",
1785
- "type": {
1786
- "text": "boolean"
1787
- },
1788
- "description": "The active state of the element"
1789
- }
1790
- ],
1791
- "description": "Sets the aria-pressed attribute based on the active state of the button."
1782
+ "inheritedFrom": {
1783
+ "name": "FormfieldWrapper",
1784
+ "module": "components/formfieldwrapper/formfieldwrapper.component.js"
1785
+ }
1792
1786
  },
1793
1787
  {
1794
1788
  "kind": "method",
1795
- "name": "setSoftDisabled",
1796
- "privacy": "private",
1797
- "parameters": [
1798
- {
1799
- "name": "element",
1800
- "type": {
1801
- "text": "HTMLElement"
1802
- },
1803
- "description": "The button element."
1804
- },
1805
- {
1806
- "name": "softDisabled",
1807
- "type": {
1808
- "text": "boolean"
1809
- },
1810
- "description": "The soft-disabled state."
1789
+ "name": "renderHelpTextIcon",
1790
+ "privacy": "protected",
1791
+ "description": "creates the helpertext icon based on the helpTextType for validation.\nIf the helpTextType is not set, it defaults to 'default' and it doesn't display any icon.",
1792
+ "return": {
1793
+ "type": {
1794
+ "text": ""
1811
1795
  }
1812
- ],
1813
- "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."
1796
+ },
1797
+ "inheritedFrom": {
1798
+ "name": "FormfieldWrapper",
1799
+ "module": "components/formfieldwrapper/formfieldwrapper.component.js"
1800
+ }
1814
1801
  },
1815
1802
  {
1816
1803
  "kind": "method",
1817
- "name": "setDisabled",
1818
- "privacy": "private",
1819
- "parameters": [
1820
- {
1821
- "name": "element",
1822
- "type": {
1823
- "text": "HTMLElement"
1824
- },
1825
- "description": "The button element."
1826
- },
1827
- {
1828
- "name": "disabled",
1829
- "type": {
1830
- "text": "boolean"
1831
- },
1832
- "description": "The disabled state."
1804
+ "name": "renderHelpText",
1805
+ "privacy": "protected",
1806
+ "description": "creates the helper text component when the helpertext value is set.\nIt is also used to display the validation message based on the helpTextType.",
1807
+ "return": {
1808
+ "type": {
1809
+ "text": ""
1833
1810
  }
1834
- ],
1835
- "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."
1811
+ },
1812
+ "inheritedFrom": {
1813
+ "name": "FormfieldWrapper",
1814
+ "module": "components/formfieldwrapper/formfieldwrapper.component.js"
1815
+ }
1836
1816
  },
1837
1817
  {
1838
1818
  "kind": "method",
1839
- "name": "triggerClickEvent",
1840
- "privacy": "private"
1819
+ "name": "renderLabel",
1820
+ "privacy": "protected",
1821
+ "description": "renders the mdc-label-text container that contains the label and labelInfoToggleTip.",
1822
+ "return": {
1823
+ "type": {
1824
+ "text": ""
1825
+ }
1826
+ },
1827
+ "inheritedFrom": {
1828
+ "name": "FormfieldWrapper",
1829
+ "module": "components/formfieldwrapper/formfieldwrapper.component.js"
1830
+ }
1841
1831
  },
1842
1832
  {
1843
1833
  "kind": "method",
1844
- "name": "handleKeyDown",
1845
- "privacy": "private",
1846
- "parameters": [
1847
- {
1848
- "name": "event",
1849
- "type": {
1850
- "text": "KeyboardEvent"
1851
- },
1852
- "description": "The keyboard event."
1834
+ "name": "renderHelperText",
1835
+ "privacy": "protected",
1836
+ "description": "renders the mdc-help-text container that contains the helpertext icon and helpertext.",
1837
+ "return": {
1838
+ "type": {
1839
+ "text": ""
1853
1840
  }
1854
- ],
1855
- "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."
1841
+ },
1842
+ "inheritedFrom": {
1843
+ "name": "FormfieldWrapper",
1844
+ "module": "components/formfieldwrapper/formfieldwrapper.component.js"
1845
+ }
1846
+ }
1847
+ ],
1848
+ "events": [
1849
+ {
1850
+ "type": {
1851
+ "text": "EventConstructor"
1852
+ }
1853
+ }
1854
+ ],
1855
+ "attributes": [
1856
+ {
1857
+ "name": "checked",
1858
+ "type": {
1859
+ "text": "boolean"
1860
+ },
1861
+ "default": "false",
1862
+ "description": "Determines whether the checkbox is selected or unselected.",
1863
+ "fieldName": "checked"
1856
1864
  },
1857
1865
  {
1858
- "kind": "method",
1859
- "name": "handleKeyUp",
1860
- "privacy": "private",
1861
- "parameters": [
1862
- {
1863
- "name": "event",
1864
- "type": {
1865
- "text": "KeyboardEvent"
1866
- },
1867
- "description": "The keyboard event."
1868
- }
1869
- ],
1870
- "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."
1866
+ "name": "indeterminate",
1867
+ "type": {
1868
+ "text": "boolean"
1869
+ },
1870
+ "default": "false",
1871
+ "description": "This property is used to determine the parent checkbox in a nested checkbox group.\nIf any one of the children is unselected, then the parent checkbox will be indeterminate.\nIf all children are either selected or unselected, then the parent checkbox will not be indeterminate.",
1872
+ "fieldName": "indeterminate"
1871
1873
  },
1872
1874
  {
1873
- "kind": "field",
1874
- "name": "tabIndex",
1875
+ "name": "name",
1875
1876
  "type": {
1876
- "text": "number"
1877
+ "text": "string"
1877
1878
  },
1878
- "default": "0",
1879
- "description": "This property specifies the tab order of the element.",
1880
- "attribute": "tabIndex",
1881
- "reflects": true,
1879
+ "default": "''",
1880
+ "description": "Indicates the name of the component group (ex: checkbox, radio group).\nThey are used to group elements in a form together.",
1881
+ "fieldName": "name",
1882
1882
  "inheritedFrom": {
1883
- "name": "TabIndexMixin",
1884
- "module": "utils/mixins/TabIndexMixin.js"
1883
+ "name": "NameMixin",
1884
+ "module": "src/utils/mixins/NameMixin.ts"
1885
1885
  }
1886
1886
  },
1887
1887
  {
1888
- "kind": "field",
1889
- "name": "disabled",
1888
+ "name": "value",
1890
1889
  "type": {
1891
- "text": "boolean"
1890
+ "text": "string"
1892
1891
  },
1893
- "default": "false",
1894
- "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
1895
- "attribute": "disabled",
1896
- "reflects": true,
1892
+ "default": "''",
1893
+ "description": "Indicates the value of the component group (ex: input, checkbox, radio, select etc...)",
1894
+ "fieldName": "value",
1897
1895
  "inheritedFrom": {
1898
- "name": "DisabledMixin",
1899
- "module": "utils/mixins/DisabledMixin.js"
1896
+ "name": "ValueMixin",
1897
+ "module": "src/utils/mixins/ValueMixin.ts"
1900
1898
  }
1901
- }
1902
- ],
1903
- "attributes": [
1899
+ },
1904
1900
  {
1905
- "name": "active",
1901
+ "name": "data-aria-label",
1906
1902
  "type": {
1907
- "text": "boolean"
1903
+ "text": "string | null"
1908
1904
  },
1909
- "default": "false",
1910
- "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.",
1911
- "fieldName": "active"
1905
+ "default": "null",
1906
+ "description": "Defines a string value that labels the current element.\nThe Aria-Label attribute to be set for accessibility.",
1907
+ "fieldName": "dataAriaLabel",
1908
+ "inheritedFrom": {
1909
+ "name": "DataAriaLabelMixin",
1910
+ "module": "src/utils/mixins/DataAriaLabelMixin.ts"
1911
+ }
1912
1912
  },
1913
1913
  {
1914
- "name": "soft-disabled",
1914
+ "name": "disabled",
1915
1915
  "type": {
1916
1916
  "text": "boolean"
1917
1917
  },
1918
1918
  "default": "false",
1919
- "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.",
1920
- "fieldName": "softDisabled"
1919
+ "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
1920
+ "fieldName": "disabled",
1921
+ "inheritedFrom": {
1922
+ "name": "DisabledMixin",
1923
+ "module": "src/utils/mixins/DisabledMixin.ts"
1924
+ }
1921
1925
  },
1922
1926
  {
1923
- "name": "size",
1927
+ "name": "label",
1924
1928
  "type": {
1925
- "text": "ButtonSize"
1929
+ "text": "string | undefined"
1926
1930
  },
1927
- "description": "Simplebutton size is a super set of all the sizes supported by children components.",
1928
- "default": "32",
1929
- "fieldName": "size"
1930
- },
1931
- {
1932
- "name": "role",
1933
- "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.",
1934
- "default": "button",
1935
- "fieldName": "role"
1931
+ "description": "The label of the input field. It is linked to the input field using the `for` attribute.",
1932
+ "fieldName": "label",
1933
+ "inheritedFrom": {
1934
+ "name": "FormfieldWrapper",
1935
+ "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
1936
+ }
1936
1937
  },
1937
1938
  {
1938
- "name": "type",
1939
+ "name": "required-label",
1939
1940
  "type": {
1940
- "text": "ButtonType"
1941
+ "text": "string | undefined"
1941
1942
  },
1942
- "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.",
1943
- "default": "button",
1944
- "fieldName": "type"
1943
+ "description": "The required label of the input field.\nWhen an appropriate string value is set,\nthe input field is marked as required and the label is appended with this text.",
1944
+ "fieldName": "requiredLabel",
1945
+ "inheritedFrom": {
1946
+ "name": "FormfieldWrapper",
1947
+ "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
1948
+ }
1945
1949
  },
1946
1950
  {
1947
- "name": "tabIndex",
1951
+ "name": "id",
1952
+ "default": "`mdc-input-${uuidv4()}`",
1953
+ "description": "The unique id of the input field. It is used to link the input field with the label.",
1954
+ "fieldName": "id",
1955
+ "inheritedFrom": {
1956
+ "name": "FormfieldWrapper",
1957
+ "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
1958
+ }
1959
+ },
1960
+ {
1961
+ "name": "help-text-type",
1948
1962
  "type": {
1949
- "text": "number"
1963
+ "text": "ValidationType"
1950
1964
  },
1951
- "default": "0",
1952
- "description": "This property specifies the tab order of the element.",
1953
- "fieldName": "tabIndex",
1965
+ "description": "The type of help text. It can be 'default', 'error', 'warning', 'success', 'priority'.",
1966
+ "fieldName": "helpTextType",
1954
1967
  "inheritedFrom": {
1955
- "name": "TabIndexMixin",
1956
- "module": "src/utils/mixins/TabIndexMixin.ts"
1968
+ "name": "FormfieldWrapper",
1969
+ "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
1957
1970
  }
1958
1971
  },
1959
1972
  {
1960
- "name": "disabled",
1973
+ "name": "help-text",
1961
1974
  "type": {
1962
- "text": "boolean"
1975
+ "text": "string | undefined"
1963
1976
  },
1964
- "default": "false",
1965
- "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
1966
- "fieldName": "disabled",
1977
+ "description": "The help text that is displayed below the input field.",
1978
+ "fieldName": "helpText",
1967
1979
  "inheritedFrom": {
1968
- "name": "DisabledMixin",
1969
- "module": "src/utils/mixins/DisabledMixin.ts"
1980
+ "name": "FormfieldWrapper",
1981
+ "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
1970
1982
  }
1971
1983
  }
1972
1984
  ],
1973
1985
  "mixins": [
1974
1986
  {
1975
- "name": "TabIndexMixin",
1976
- "module": "/src/utils/mixins/TabIndexMixin"
1987
+ "name": "NameMixin",
1988
+ "module": "/src/utils/mixins/NameMixin"
1977
1989
  },
1978
1990
  {
1979
- "name": "DisabledMixin",
1980
- "module": "/src/utils/mixins/DisabledMixin"
1991
+ "name": "ValueMixin",
1992
+ "module": "/src/utils/mixins/ValueMixin"
1993
+ },
1994
+ {
1995
+ "name": "DataAriaLabelMixin",
1996
+ "module": "/src/utils/mixins/DataAriaLabelMixin"
1981
1997
  }
1982
1998
  ],
1983
1999
  "superclass": {
1984
- "name": "Component",
1985
- "module": "/src/models"
2000
+ "name": "FormfieldWrapper",
2001
+ "module": "/src/components/formfieldwrapper/formfieldwrapper.component"
1986
2002
  },
1987
- "tagName": "mdc-buttonsimple",
1988
- "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 * @tagname mdc-buttonsimple\n */",
1989
- "customElement": true
2003
+ "tagName": "mdc-checkbox",
2004
+ "jsDoc": "/**\n * Checkboxes allow users to select multiple options from a list or turn an item/feature on or off.\n * These are often used in forms, settings, and selections in lists.\n *\n * A checkbox component contains an optional label and an optional helper text.\n *\n * To create a group of checkboxes, use the FormFieldGroup component.\n *\n * @dependency mdc-icon\n *\n * @tagname mdc-checkbox\n *\n * @cssproperty --mdc-checkbox-background-color-hover - Allows customization of the background color on hover.\n * @cssproperty --mdc-checkbox-border-color - Border color in high contrast.\n * @cssproperty --mdc-checkbox-checked-background-color - Background color for a selected checkbox.\n * @cssproperty --mdc-checkbox-checked-background-color-hover - Background color for a selected checkbox when hovered.\n * @cssproperty --mdc-checkbox-checked-pressed-icon-color - Background color for a selected checkbox when pressed.\n * @cssproperty --mdc-checkbox-disabled-background-color - Background color for a disabled checkbox.\n * @cssproperty --mdc-checkbox-disabled-border-color - Border color for a disabled checkbox.\n * @cssproperty --mdc-checkbox-disabled-checked-icon-color - Background color for a disabled, selected checkbox.\n * @cssproperty --mdc-checkbox-disabled-icon-color - Icon color for a disabled checkbox.\n * @cssproperty --mdc-checkbox-icon-background-color - Background color for an unselected checkbox.\n * @cssproperty --mdc-checkbox-icon-border-color - Default background color for an unselected checkbox.\n * @cssproperty --mdc-checkbox-icon-color - Icon color for an unselected checkbox.\n * @cssproperty --mdc-checkbox-pressed-icon-color - Background color for a selected checkbox when pressed.\n */",
2005
+ "customElement": true,
2006
+ "slots": [
2007
+ {
2008
+ "description": "slot to add the label info icon",
2009
+ "name": "label-info",
2010
+ "inheritedFrom": {
2011
+ "name": "FormfieldWrapper",
2012
+ "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
2013
+ }
2014
+ }
2015
+ ]
1990
2016
  }
1991
2017
  ],
1992
2018
  "exports": [
@@ -1994,215 +2020,182 @@
1994
2020
  "kind": "js",
1995
2021
  "name": "default",
1996
2022
  "declaration": {
1997
- "name": "Buttonsimple",
1998
- "module": "components/buttonsimple/buttonsimple.component.js"
2023
+ "name": "Checkbox",
2024
+ "module": "components/checkbox/checkbox.component.js"
1999
2025
  }
2000
2026
  }
2001
2027
  ]
2002
2028
  },
2003
2029
  {
2004
2030
  "kind": "javascript-module",
2005
- "path": "components/checkbox/checkbox.component.js",
2031
+ "path": "components/button/button.component.js",
2006
2032
  "declarations": [
2007
2033
  {
2008
2034
  "kind": "class",
2009
- "description": "Checkboxes allow users to select multiple options from a list or turn an item/feature on or off.\nThese are often used in forms, settings, and selections in lists.\n\nA checkbox component contains an optional label and an optional helper text.\n\nTo create a group of checkboxes, use the FormFieldGroup component.",
2010
- "name": "Checkbox",
2011
- "cssProperties": [
2012
- {
2013
- "description": "Allows customization of the background color on hover.",
2014
- "name": "--mdc-checkbox-background-color-hover"
2015
- },
2016
- {
2017
- "description": "Border color in high contrast.",
2018
- "name": "--mdc-checkbox-border-color"
2019
- },
2020
- {
2021
- "description": "Background color for a selected checkbox.",
2022
- "name": "--mdc-checkbox-checked-background-color"
2023
- },
2024
- {
2025
- "description": "Background color for a selected checkbox when hovered.",
2026
- "name": "--mdc-checkbox-checked-background-color-hover"
2027
- },
2028
- {
2029
- "description": "Background color for a selected checkbox when pressed.",
2030
- "name": "--mdc-checkbox-checked-pressed-icon-color"
2031
- },
2032
- {
2033
- "description": "Background color for a disabled checkbox.",
2034
- "name": "--mdc-checkbox-disabled-background-color"
2035
- },
2036
- {
2037
- "description": "Border color for a disabled checkbox.",
2038
- "name": "--mdc-checkbox-disabled-border-color"
2039
- },
2040
- {
2041
- "description": "Background color for a disabled, selected checkbox.",
2042
- "name": "--mdc-checkbox-disabled-checked-icon-color"
2043
- },
2035
+ "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.",
2036
+ "name": "Button",
2037
+ "slots": [
2044
2038
  {
2045
- "description": "Icon color for a disabled checkbox.",
2046
- "name": "--mdc-checkbox-disabled-icon-color"
2047
- },
2039
+ "description": "Text label of the button.",
2040
+ "name": ""
2041
+ }
2042
+ ],
2043
+ "members": [
2048
2044
  {
2049
- "description": "Background color for an unselected checkbox.",
2050
- "name": "--mdc-checkbox-icon-background-color"
2045
+ "kind": "field",
2046
+ "name": "prefixIcon",
2047
+ "type": {
2048
+ "text": "string | undefined"
2049
+ },
2050
+ "description": "The name of the icon to display as a prefix.\nThe icon is displayed on the left side of the button.",
2051
+ "attribute": "prefix-icon",
2052
+ "reflects": true
2051
2053
  },
2052
2054
  {
2053
- "description": "Default background color for an unselected checkbox.",
2054
- "name": "--mdc-checkbox-icon-border-color"
2055
+ "kind": "field",
2056
+ "name": "postfixIcon",
2057
+ "type": {
2058
+ "text": "string | undefined"
2059
+ },
2060
+ "description": "The name of the icon to display as a postfix.\nThe icon is displayed on the right side of the button.",
2061
+ "attribute": "postfix-icon",
2062
+ "reflects": true
2055
2063
  },
2056
2064
  {
2057
- "description": "Icon color for an unselected checkbox.",
2058
- "name": "--mdc-checkbox-icon-color"
2065
+ "kind": "field",
2066
+ "name": "variant",
2067
+ "type": {
2068
+ "text": "ButtonVariant"
2069
+ },
2070
+ "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.",
2071
+ "default": "primary",
2072
+ "attribute": "variant"
2059
2073
  },
2060
- {
2061
- "description": "Background color for a selected checkbox when pressed.",
2062
- "name": "--mdc-checkbox-pressed-icon-color"
2063
- }
2064
- ],
2065
- "members": [
2066
2074
  {
2067
2075
  "kind": "field",
2068
- "name": "checked",
2076
+ "name": "size",
2069
2077
  "type": {
2070
- "text": "boolean"
2078
+ "text": "ButtonSize"
2071
2079
  },
2072
- "default": "false",
2073
- "description": "Determines whether the checkbox is selected or unselected.",
2074
- "attribute": "checked",
2075
- "reflects": true
2080
+ "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.",
2081
+ "default": "32",
2082
+ "attribute": "size",
2083
+ "reflects": true,
2084
+ "inheritedFrom": {
2085
+ "name": "Buttonsimple",
2086
+ "module": "components/buttonsimple/buttonsimple.component.js"
2087
+ }
2076
2088
  },
2077
2089
  {
2078
2090
  "kind": "field",
2079
- "name": "indeterminate",
2091
+ "name": "color",
2080
2092
  "type": {
2081
- "text": "boolean"
2093
+ "text": "ButtonColor"
2082
2094
  },
2083
- "default": "false",
2084
- "description": "This property is used to determine the parent checkbox in a nested checkbox group.\nIf any one of the children is unselected, then the parent checkbox will be indeterminate.\nIf all children are either selected or unselected, then the parent checkbox will not be indeterminate.",
2085
- "attribute": "indeterminate",
2086
- "reflects": true
2095
+ "description": "There are 5 colors for button: positive, negative, accent, promotional, default.",
2096
+ "default": "default",
2097
+ "attribute": "color"
2087
2098
  },
2088
2099
  {
2089
- "kind": "method",
2090
- "name": "setFormValue",
2091
- "privacy": "private",
2092
- "description": "Updates the form value to reflect the current state of the checkbox.\nIf checked, the value is set to either the user-provided value or 'on' if no value is provided.\nIf unchecked, the value is set to null."
2100
+ "kind": "field",
2101
+ "name": "role",
2102
+ "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.",
2103
+ "default": "'button'",
2104
+ "attribute": "role",
2105
+ "reflects": true,
2106
+ "type": {
2107
+ "text": "string"
2108
+ },
2109
+ "inheritedFrom": {
2110
+ "name": "Buttonsimple",
2111
+ "module": "components/buttonsimple/buttonsimple.component.js"
2112
+ }
2093
2113
  },
2094
2114
  {
2095
2115
  "kind": "method",
2096
- "name": "toggleState",
2116
+ "name": "modifyIconName",
2097
2117
  "privacy": "private",
2098
- "return": {
2099
- "type": {
2100
- "text": "void"
2118
+ "parameters": [
2119
+ {
2120
+ "name": "active",
2121
+ "type": {
2122
+ "text": "boolean"
2123
+ },
2124
+ "description": "The active state."
2101
2125
  }
2102
- },
2103
- "description": "Toggles the state of the checkbox element.\nIf the element is not disabled, then\nthe checked property is toggled and the indeterminate property is set to false."
2126
+ ],
2127
+ "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."
2104
2128
  },
2105
2129
  {
2106
2130
  "kind": "method",
2107
- "name": "handleChange",
2108
- "privacy": "public",
2109
- "return": {
2110
- "type": {
2111
- "text": "void"
2112
- }
2113
- },
2131
+ "name": "setVariant",
2132
+ "privacy": "private",
2114
2133
  "parameters": [
2115
2134
  {
2116
- "name": "event",
2135
+ "name": "variant",
2117
2136
  "type": {
2118
- "text": "Event"
2119
- }
2137
+ "text": "ButtonVariant"
2138
+ },
2139
+ "description": "The variant to set."
2120
2140
  }
2121
2141
  ],
2122
- "description": "Toggles the state of the checkbox element.\nand dispatch the new change event."
2142
+ "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."
2123
2143
  },
2124
2144
  {
2125
2145
  "kind": "method",
2126
- "name": "handleKeyDown",
2146
+ "name": "setSize",
2127
2147
  "privacy": "private",
2128
- "return": {
2129
- "type": {
2130
- "text": "void"
2131
- }
2132
- },
2133
2148
  "parameters": [
2134
2149
  {
2135
- "name": "event",
2150
+ "name": "size",
2136
2151
  "type": {
2137
- "text": "KeyboardEvent"
2152
+ "text": "PillButtonSize | IconButtonSize"
2138
2153
  },
2139
- "description": "The keyboard event."
2154
+ "description": "The size to set."
2140
2155
  }
2141
2156
  ],
2142
- "description": "Handles the keydown event on the checkbox.\nWhen the user presses Enter, the form is submitted."
2143
- },
2144
- {
2145
- "kind": "field",
2146
- "name": "internals"
2147
- },
2148
- {
2149
- "kind": "field",
2150
- "name": "helpTextType",
2151
- "type": {
2152
- "text": "ValidationType"
2153
- },
2154
- "description": "The type of help text. It can be 'default', 'error', 'warning', 'success', 'priority'.",
2155
- "attribute": "help-text-type",
2156
- "reflects": true,
2157
- "default": "undefined as unknown",
2158
- "inheritedFrom": {
2159
- "name": "FormfieldWrapper",
2160
- "module": "components/formfieldwrapper/formfieldwrapper.component.js"
2161
- }
2157
+ "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."
2162
2158
  },
2163
2159
  {
2164
- "kind": "field",
2165
- "name": "name",
2166
- "type": {
2167
- "text": "string"
2168
- },
2169
- "default": "''",
2170
- "description": "Indicates the name of the component group (ex: checkbox, radio group).\nThey are used to group elements in a form together.",
2171
- "attribute": "name",
2172
- "reflects": true,
2173
- "inheritedFrom": {
2174
- "name": "NameMixin",
2175
- "module": "utils/mixins/NameMixin.js"
2176
- }
2160
+ "kind": "method",
2161
+ "name": "setColor",
2162
+ "privacy": "private",
2163
+ "parameters": [
2164
+ {
2165
+ "name": "color",
2166
+ "type": {
2167
+ "text": "ButtonColor"
2168
+ },
2169
+ "description": "The color to set."
2170
+ }
2171
+ ],
2172
+ "description": "Sets the color attribute for the button.\nDefaults to DEFAULTS.COLOR if invalid or for tertiary buttons."
2177
2173
  },
2178
2174
  {
2179
- "kind": "field",
2180
- "name": "value",
2181
- "type": {
2182
- "text": "string"
2183
- },
2184
- "default": "''",
2185
- "description": "Indicates the value of the component group (ex: input, checkbox, radio, select etc...)",
2186
- "attribute": "value",
2187
- "reflects": true,
2188
- "inheritedFrom": {
2189
- "name": "ValueMixin",
2190
- "module": "utils/mixins/ValueMixin.js"
2191
- }
2175
+ "kind": "method",
2176
+ "name": "inferButtonType",
2177
+ "privacy": "private",
2178
+ "description": "Infers the type of button based on the presence of slot and/or prefix and postfix icons.",
2179
+ "parameters": [
2180
+ {
2181
+ "description": "default slot of button",
2182
+ "name": "slot"
2183
+ }
2184
+ ]
2192
2185
  },
2193
2186
  {
2194
2187
  "kind": "field",
2195
- "name": "dataAriaLabel",
2188
+ "name": "tabIndex",
2196
2189
  "type": {
2197
- "text": "string | null"
2190
+ "text": "number"
2198
2191
  },
2199
- "default": "null",
2200
- "description": "Defines a string value that labels the current element.\nThe Aria-Label attribute to be set for accessibility.",
2201
- "attribute": "data-aria-label",
2192
+ "default": "0",
2193
+ "description": "This property specifies the tab order of the element.",
2194
+ "attribute": "tabIndex",
2202
2195
  "reflects": true,
2203
2196
  "inheritedFrom": {
2204
- "name": "DataAriaLabelMixin",
2205
- "module": "utils/mixins/DataAriaLabelMixin.js"
2197
+ "name": "Buttonsimple",
2198
+ "module": "components/buttonsimple/buttonsimple.component.js"
2206
2199
  }
2207
2200
  },
2208
2201
  {
@@ -2216,211 +2209,261 @@
2216
2209
  "attribute": "disabled",
2217
2210
  "reflects": true,
2218
2211
  "inheritedFrom": {
2219
- "name": "DisabledMixin",
2220
- "module": "utils/mixins/DisabledMixin.js"
2212
+ "name": "Buttonsimple",
2213
+ "module": "components/buttonsimple/buttonsimple.component.js"
2221
2214
  }
2222
2215
  },
2223
2216
  {
2224
2217
  "kind": "field",
2225
- "name": "label",
2218
+ "name": "active",
2226
2219
  "type": {
2227
- "text": "string | undefined"
2220
+ "text": "boolean"
2228
2221
  },
2229
- "description": "The label of the input field. It is linked to the input field using the `for` attribute.",
2230
- "attribute": "label",
2222
+ "default": "false",
2223
+ "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.",
2224
+ "attribute": "active",
2231
2225
  "reflects": true,
2232
2226
  "inheritedFrom": {
2233
- "name": "FormfieldWrapper",
2234
- "module": "components/formfieldwrapper/formfieldwrapper.component.js"
2227
+ "name": "Buttonsimple",
2228
+ "module": "components/buttonsimple/buttonsimple.component.js"
2235
2229
  }
2236
2230
  },
2237
2231
  {
2238
2232
  "kind": "field",
2239
- "name": "requiredLabel",
2233
+ "name": "softDisabled",
2240
2234
  "type": {
2241
- "text": "string | undefined"
2235
+ "text": "boolean"
2242
2236
  },
2243
- "description": "The required label of the input field.\nWhen an appropriate string value is set,\nthe input field is marked as required and the label is appended with this text.",
2244
- "attribute": "required-label",
2245
- "reflects": true,
2237
+ "default": "false",
2238
+ "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.",
2239
+ "attribute": "soft-disabled",
2246
2240
  "inheritedFrom": {
2247
- "name": "FormfieldWrapper",
2248
- "module": "components/formfieldwrapper/formfieldwrapper.component.js"
2241
+ "name": "Buttonsimple",
2242
+ "module": "components/buttonsimple/buttonsimple.component.js"
2249
2243
  }
2250
2244
  },
2251
2245
  {
2252
2246
  "kind": "field",
2253
- "name": "id",
2254
- "default": "`mdc-input-${uuidv4()}`",
2255
- "description": "The unique id of the input field. It is used to link the input field with the label.",
2256
- "attribute": "id",
2247
+ "name": "type",
2248
+ "type": {
2249
+ "text": "ButtonType"
2250
+ },
2251
+ "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.",
2252
+ "default": "button",
2253
+ "attribute": "type",
2254
+ "reflects": true,
2257
2255
  "inheritedFrom": {
2258
- "name": "FormfieldWrapper",
2259
- "module": "components/formfieldwrapper/formfieldwrapper.component.js"
2256
+ "name": "Buttonsimple",
2257
+ "module": "components/buttonsimple/buttonsimple.component.js"
2260
2258
  }
2261
2259
  },
2262
2260
  {
2263
- "kind": "field",
2264
- "name": "helpText",
2265
- "type": {
2266
- "text": "string | undefined"
2267
- },
2268
- "description": "The help text that is displayed below the input field.",
2269
- "attribute": "help-text",
2270
- "reflects": true,
2261
+ "kind": "method",
2262
+ "name": "executeAction",
2263
+ "privacy": "protected",
2271
2264
  "inheritedFrom": {
2272
- "name": "FormfieldWrapper",
2273
- "module": "components/formfieldwrapper/formfieldwrapper.component.js"
2265
+ "name": "Buttonsimple",
2266
+ "module": "components/buttonsimple/buttonsimple.component.js"
2274
2267
  }
2275
2268
  },
2276
2269
  {
2277
2270
  "kind": "method",
2278
- "name": "renderLabelElement",
2271
+ "name": "setActive",
2279
2272
  "privacy": "protected",
2280
- "description": "creates the label element when the label property is set.\nid is used to link the label with the input field.",
2281
- "return": {
2282
- "type": {
2283
- "text": ""
2273
+ "parameters": [
2274
+ {
2275
+ "name": "element",
2276
+ "type": {
2277
+ "text": "HTMLElement"
2278
+ },
2279
+ "description": "The button element"
2280
+ },
2281
+ {
2282
+ "name": "active",
2283
+ "type": {
2284
+ "text": "boolean"
2285
+ },
2286
+ "description": "The active state of the element"
2284
2287
  }
2285
- },
2288
+ ],
2289
+ "description": "Sets the aria-pressed attribute based on the active state of the button.",
2286
2290
  "inheritedFrom": {
2287
- "name": "FormfieldWrapper",
2288
- "module": "components/formfieldwrapper/formfieldwrapper.component.js"
2291
+ "name": "Buttonsimple",
2292
+ "module": "components/buttonsimple/buttonsimple.component.js"
2289
2293
  }
2290
2294
  },
2291
2295
  {
2292
2296
  "kind": "method",
2293
- "name": "renderRequiredLabel",
2294
- "privacy": "protected",
2297
+ "name": "setSoftDisabled",
2298
+ "privacy": "private",
2299
+ "parameters": [
2300
+ {
2301
+ "name": "element",
2302
+ "type": {
2303
+ "text": "HTMLElement"
2304
+ },
2305
+ "description": "The button element."
2306
+ },
2307
+ {
2308
+ "name": "softDisabled",
2309
+ "type": {
2310
+ "text": "boolean"
2311
+ },
2312
+ "description": "The soft-disabled state."
2313
+ }
2314
+ ],
2315
+ "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.",
2295
2316
  "inheritedFrom": {
2296
- "name": "FormfieldWrapper",
2297
- "module": "components/formfieldwrapper/formfieldwrapper.component.js"
2317
+ "name": "Buttonsimple",
2318
+ "module": "components/buttonsimple/buttonsimple.component.js"
2298
2319
  }
2299
2320
  },
2300
2321
  {
2301
2322
  "kind": "method",
2302
- "name": "renderHelpTextIcon",
2303
- "privacy": "protected",
2304
- "description": "creates the helpertext icon based on the helpTextType for validation.\nIf the helpTextType is not set, it defaults to 'default' and it doesn't display any icon.",
2305
- "return": {
2306
- "type": {
2307
- "text": ""
2323
+ "name": "setDisabled",
2324
+ "privacy": "private",
2325
+ "parameters": [
2326
+ {
2327
+ "name": "element",
2328
+ "type": {
2329
+ "text": "HTMLElement"
2330
+ },
2331
+ "description": "The button element."
2332
+ },
2333
+ {
2334
+ "name": "disabled",
2335
+ "type": {
2336
+ "text": "boolean"
2337
+ },
2338
+ "description": "The disabled state."
2308
2339
  }
2309
- },
2340
+ ],
2341
+ "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.",
2310
2342
  "inheritedFrom": {
2311
- "name": "FormfieldWrapper",
2312
- "module": "components/formfieldwrapper/formfieldwrapper.component.js"
2343
+ "name": "Buttonsimple",
2344
+ "module": "components/buttonsimple/buttonsimple.component.js"
2313
2345
  }
2314
2346
  },
2315
2347
  {
2316
2348
  "kind": "method",
2317
- "name": "renderHelpText",
2318
- "privacy": "protected",
2319
- "description": "creates the helper text component when the helpertext value is set.\nIt is also used to display the validation message based on the helpTextType.",
2320
- "return": {
2321
- "type": {
2322
- "text": ""
2323
- }
2324
- },
2349
+ "name": "triggerClickEvent",
2350
+ "privacy": "private",
2325
2351
  "inheritedFrom": {
2326
- "name": "FormfieldWrapper",
2327
- "module": "components/formfieldwrapper/formfieldwrapper.component.js"
2352
+ "name": "Buttonsimple",
2353
+ "module": "components/buttonsimple/buttonsimple.component.js"
2328
2354
  }
2329
2355
  },
2330
2356
  {
2331
2357
  "kind": "method",
2332
- "name": "renderLabel",
2333
- "privacy": "protected",
2334
- "description": "renders the mdc-label-text container that contains the label and labelInfoToggleTip.",
2335
- "return": {
2336
- "type": {
2337
- "text": ""
2358
+ "name": "handleKeyDown",
2359
+ "privacy": "private",
2360
+ "parameters": [
2361
+ {
2362
+ "name": "event",
2363
+ "type": {
2364
+ "text": "KeyboardEvent"
2365
+ },
2366
+ "description": "The keyboard event."
2338
2367
  }
2339
- },
2368
+ ],
2369
+ "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.",
2340
2370
  "inheritedFrom": {
2341
- "name": "FormfieldWrapper",
2342
- "module": "components/formfieldwrapper/formfieldwrapper.component.js"
2371
+ "name": "Buttonsimple",
2372
+ "module": "components/buttonsimple/buttonsimple.component.js"
2343
2373
  }
2344
2374
  },
2345
2375
  {
2346
2376
  "kind": "method",
2347
- "name": "renderHelperText",
2348
- "privacy": "protected",
2349
- "description": "renders the mdc-help-text container that contains the helpertext icon and helpertext.",
2350
- "return": {
2351
- "type": {
2352
- "text": ""
2377
+ "name": "handleKeyUp",
2378
+ "privacy": "private",
2379
+ "parameters": [
2380
+ {
2381
+ "name": "event",
2382
+ "type": {
2383
+ "text": "KeyboardEvent"
2384
+ },
2385
+ "description": "The keyboard event."
2353
2386
  }
2354
- },
2387
+ ],
2388
+ "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.",
2355
2389
  "inheritedFrom": {
2356
- "name": "FormfieldWrapper",
2357
- "module": "components/formfieldwrapper/formfieldwrapper.component.js"
2390
+ "name": "Buttonsimple",
2391
+ "module": "components/buttonsimple/buttonsimple.component.js"
2358
2392
  }
2359
2393
  }
2360
2394
  ],
2361
- "events": [
2395
+ "attributes": [
2362
2396
  {
2397
+ "name": "prefix-icon",
2363
2398
  "type": {
2364
- "text": "EventConstructor"
2365
- }
2366
- }
2367
- ],
2368
- "attributes": [
2399
+ "text": "string | undefined"
2400
+ },
2401
+ "description": "The name of the icon to display as a prefix.\nThe icon is displayed on the left side of the button.",
2402
+ "fieldName": "prefixIcon"
2403
+ },
2369
2404
  {
2370
- "name": "checked",
2405
+ "name": "postfix-icon",
2371
2406
  "type": {
2372
- "text": "boolean"
2407
+ "text": "string | undefined"
2373
2408
  },
2374
- "default": "false",
2375
- "description": "Determines whether the checkbox is selected or unselected.",
2376
- "fieldName": "checked"
2409
+ "description": "The name of the icon to display as a postfix.\nThe icon is displayed on the right side of the button.",
2410
+ "fieldName": "postfixIcon"
2377
2411
  },
2378
2412
  {
2379
- "name": "indeterminate",
2413
+ "name": "variant",
2380
2414
  "type": {
2381
- "text": "boolean"
2415
+ "text": "ButtonVariant"
2382
2416
  },
2383
- "default": "false",
2384
- "description": "This property is used to determine the parent checkbox in a nested checkbox group.\nIf any one of the children is unselected, then the parent checkbox will be indeterminate.\nIf all children are either selected or unselected, then the parent checkbox will not be indeterminate.",
2385
- "fieldName": "indeterminate"
2417
+ "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.",
2418
+ "default": "primary",
2419
+ "fieldName": "variant"
2386
2420
  },
2387
2421
  {
2388
- "name": "name",
2422
+ "name": "size",
2389
2423
  "type": {
2390
- "text": "string"
2424
+ "text": "ButtonSize"
2391
2425
  },
2392
- "default": "''",
2393
- "description": "Indicates the name of the component group (ex: checkbox, radio group).\nThey are used to group elements in a form together.",
2394
- "fieldName": "name",
2426
+ "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.",
2427
+ "default": "32",
2428
+ "fieldName": "size",
2395
2429
  "inheritedFrom": {
2396
- "name": "NameMixin",
2397
- "module": "src/utils/mixins/NameMixin.ts"
2430
+ "name": "Buttonsimple",
2431
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
2398
2432
  }
2399
2433
  },
2400
2434
  {
2401
- "name": "value",
2435
+ "name": "color",
2436
+ "type": {
2437
+ "text": "ButtonColor"
2438
+ },
2439
+ "description": "There are 5 colors for button: positive, negative, accent, promotional, default.",
2440
+ "default": "default",
2441
+ "fieldName": "color"
2442
+ },
2443
+ {
2444
+ "name": "role",
2445
+ "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.",
2446
+ "default": "'button'",
2447
+ "fieldName": "role",
2402
2448
  "type": {
2403
2449
  "text": "string"
2404
2450
  },
2405
- "default": "''",
2406
- "description": "Indicates the value of the component group (ex: input, checkbox, radio, select etc...)",
2407
- "fieldName": "value",
2408
2451
  "inheritedFrom": {
2409
- "name": "ValueMixin",
2410
- "module": "src/utils/mixins/ValueMixin.ts"
2452
+ "name": "Buttonsimple",
2453
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
2411
2454
  }
2412
2455
  },
2413
2456
  {
2414
- "name": "data-aria-label",
2457
+ "name": "tabIndex",
2415
2458
  "type": {
2416
- "text": "string | null"
2459
+ "text": "number"
2417
2460
  },
2418
- "default": "null",
2419
- "description": "Defines a string value that labels the current element.\nThe Aria-Label attribute to be set for accessibility.",
2420
- "fieldName": "dataAriaLabel",
2461
+ "default": "0",
2462
+ "description": "This property specifies the tab order of the element.",
2463
+ "fieldName": "tabIndex",
2421
2464
  "inheritedFrom": {
2422
- "name": "DataAriaLabelMixin",
2423
- "module": "src/utils/mixins/DataAriaLabelMixin.ts"
2465
+ "name": "Buttonsimple",
2466
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
2424
2467
  }
2425
2468
  },
2426
2469
  {
@@ -2432,100 +2475,57 @@
2432
2475
  "description": "Indicates whether the component is disabled.\nWhen the component is disabled for user interaction; it is not focusable or clickable.",
2433
2476
  "fieldName": "disabled",
2434
2477
  "inheritedFrom": {
2435
- "name": "DisabledMixin",
2436
- "module": "src/utils/mixins/DisabledMixin.ts"
2437
- }
2438
- },
2439
- {
2440
- "name": "label",
2441
- "type": {
2442
- "text": "string | undefined"
2443
- },
2444
- "description": "The label of the input field. It is linked to the input field using the `for` attribute.",
2445
- "fieldName": "label",
2446
- "inheritedFrom": {
2447
- "name": "FormfieldWrapper",
2448
- "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
2478
+ "name": "Buttonsimple",
2479
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
2449
2480
  }
2450
2481
  },
2451
2482
  {
2452
- "name": "required-label",
2483
+ "name": "active",
2453
2484
  "type": {
2454
- "text": "string | undefined"
2485
+ "text": "boolean"
2455
2486
  },
2456
- "description": "The required label of the input field.\nWhen an appropriate string value is set,\nthe input field is marked as required and the label is appended with this text.",
2457
- "fieldName": "requiredLabel",
2458
- "inheritedFrom": {
2459
- "name": "FormfieldWrapper",
2460
- "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
2461
- }
2462
- },
2463
- {
2464
- "name": "id",
2465
- "default": "`mdc-input-${uuidv4()}`",
2466
- "description": "The unique id of the input field. It is used to link the input field with the label.",
2467
- "fieldName": "id",
2487
+ "default": "false",
2488
+ "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.",
2489
+ "fieldName": "active",
2468
2490
  "inheritedFrom": {
2469
- "name": "FormfieldWrapper",
2470
- "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
2491
+ "name": "Buttonsimple",
2492
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
2471
2493
  }
2472
2494
  },
2473
2495
  {
2474
- "name": "help-text-type",
2496
+ "name": "soft-disabled",
2475
2497
  "type": {
2476
- "text": "ValidationType"
2498
+ "text": "boolean"
2477
2499
  },
2478
- "description": "The type of help text. It can be 'default', 'error', 'warning', 'success', 'priority'.",
2479
- "fieldName": "helpTextType",
2500
+ "default": "false",
2501
+ "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.",
2502
+ "fieldName": "softDisabled",
2480
2503
  "inheritedFrom": {
2481
- "name": "FormfieldWrapper",
2482
- "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
2504
+ "name": "Buttonsimple",
2505
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
2483
2506
  }
2484
2507
  },
2485
2508
  {
2486
- "name": "help-text",
2509
+ "name": "type",
2487
2510
  "type": {
2488
- "text": "string | undefined"
2511
+ "text": "ButtonType"
2489
2512
  },
2490
- "description": "The help text that is displayed below the input field.",
2491
- "fieldName": "helpText",
2513
+ "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.",
2514
+ "default": "button",
2515
+ "fieldName": "type",
2492
2516
  "inheritedFrom": {
2493
- "name": "FormfieldWrapper",
2494
- "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
2517
+ "name": "Buttonsimple",
2518
+ "module": "src/components/buttonsimple/buttonsimple.component.ts"
2495
2519
  }
2496
2520
  }
2497
2521
  ],
2498
- "mixins": [
2499
- {
2500
- "name": "NameMixin",
2501
- "module": "/src/utils/mixins/NameMixin"
2502
- },
2503
- {
2504
- "name": "ValueMixin",
2505
- "module": "/src/utils/mixins/ValueMixin"
2506
- },
2507
- {
2508
- "name": "DataAriaLabelMixin",
2509
- "module": "/src/utils/mixins/DataAriaLabelMixin"
2510
- }
2511
- ],
2512
2522
  "superclass": {
2513
- "name": "FormfieldWrapper",
2514
- "module": "/src/components/formfieldwrapper/formfieldwrapper.component"
2523
+ "name": "Buttonsimple",
2524
+ "module": "/src/components/buttonsimple/buttonsimple.component"
2515
2525
  },
2516
- "tagName": "mdc-checkbox",
2517
- "jsDoc": "/**\n * Checkboxes allow users to select multiple options from a list or turn an item/feature on or off.\n * These are often used in forms, settings, and selections in lists.\n *\n * A checkbox component contains an optional label and an optional helper text.\n *\n * To create a group of checkboxes, use the FormFieldGroup component.\n *\n * @dependency mdc-icon\n *\n * @tagname mdc-checkbox\n *\n * @cssproperty --mdc-checkbox-background-color-hover - Allows customization of the background color on hover.\n * @cssproperty --mdc-checkbox-border-color - Border color in high contrast.\n * @cssproperty --mdc-checkbox-checked-background-color - Background color for a selected checkbox.\n * @cssproperty --mdc-checkbox-checked-background-color-hover - Background color for a selected checkbox when hovered.\n * @cssproperty --mdc-checkbox-checked-pressed-icon-color - Background color for a selected checkbox when pressed.\n * @cssproperty --mdc-checkbox-disabled-background-color - Background color for a disabled checkbox.\n * @cssproperty --mdc-checkbox-disabled-border-color - Border color for a disabled checkbox.\n * @cssproperty --mdc-checkbox-disabled-checked-icon-color - Background color for a disabled, selected checkbox.\n * @cssproperty --mdc-checkbox-disabled-icon-color - Icon color for a disabled checkbox.\n * @cssproperty --mdc-checkbox-icon-background-color - Background color for an unselected checkbox.\n * @cssproperty --mdc-checkbox-icon-border-color - Default background color for an unselected checkbox.\n * @cssproperty --mdc-checkbox-icon-color - Icon color for an unselected checkbox.\n * @cssproperty --mdc-checkbox-pressed-icon-color - Background color for a selected checkbox when pressed.\n */",
2518
- "customElement": true,
2519
- "slots": [
2520
- {
2521
- "description": "slot to add the label info icon",
2522
- "name": "label-info",
2523
- "inheritedFrom": {
2524
- "name": "FormfieldWrapper",
2525
- "module": "src/components/formfieldwrapper/formfieldwrapper.component.ts"
2526
- }
2527
- }
2528
- ]
2526
+ "tagName": "mdc-button",
2527
+ "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 */",
2528
+ "customElement": true
2529
2529
  }
2530
2530
  ],
2531
2531
  "exports": [
@@ -2533,8 +2533,8 @@
2533
2533
  "kind": "js",
2534
2534
  "name": "default",
2535
2535
  "declaration": {
2536
- "name": "Checkbox",
2537
- "module": "components/checkbox/checkbox.component.js"
2536
+ "name": "Button",
2537
+ "module": "components/button/button.component.js"
2538
2538
  }
2539
2539
  }
2540
2540
  ]
@@ -3549,7 +3549,7 @@
3549
3549
  "declarations": [
3550
3550
  {
3551
3551
  "kind": "class",
3552
- "description": "IconProvider component, which allows to be consumed from sub components\n(see `providerUtils.consume` for how to consume)\n\nBundling icons will be up to the consumer of this component, such\nthat only a url has to be passed in from which the icons will be\nfetched.\n\nIf `cacheStrategy` is provided, the IconProvider will cache the icons\nin 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).",
3552
+ "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).",
3553
3553
  "name": "IconProvider",
3554
3554
  "slots": [
3555
3555
  {
@@ -3566,13 +3566,24 @@
3566
3566
  "description": "Context object of the IconProvider, to be consumed by child components",
3567
3567
  "readonly": true
3568
3568
  },
3569
+ {
3570
+ "kind": "field",
3571
+ "name": "iconSet",
3572
+ "type": {
3573
+ "text": "IconSet | undefined"
3574
+ },
3575
+ "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.",
3576
+ "default": "momentum-icons",
3577
+ "attribute": "icon-set",
3578
+ "reflects": true
3579
+ },
3569
3580
  {
3570
3581
  "kind": "field",
3571
3582
  "name": "url",
3572
3583
  "type": {
3573
3584
  "text": "string | undefined"
3574
3585
  },
3575
- "description": "Url of where icons will be fetched from",
3586
+ "description": "Url of where icons will be fetched from\n(if Icon set is `custom-icons`, this will be the base url)",
3576
3587
  "attribute": "url"
3577
3588
  },
3578
3589
  {
@@ -3581,7 +3592,7 @@
3581
3592
  "type": {
3582
3593
  "text": "string | undefined"
3583
3594
  },
3584
- "description": "File extension of icons",
3595
+ "description": "File extension of icons\n(if Icon set is `custom-icons`, this will be the file extension for icons)",
3585
3596
  "default": "svg",
3586
3597
  "attribute": "file-extension",
3587
3598
  "reflects": true
@@ -3612,9 +3623,9 @@
3612
3623
  "kind": "field",
3613
3624
  "name": "cacheStrategy",
3614
3625
  "type": {
3615
- "text": "'in-memory-cache' | 'web-cache-api' | undefined"
3626
+ "text": "CacheStrategy | undefined"
3616
3627
  },
3617
- "description": "Icons Cache Strategy to use\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.",
3628
+ "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.",
3618
3629
  "default": "undefined",
3619
3630
  "attribute": "cache-strategy"
3620
3631
  },
@@ -3624,7 +3635,7 @@
3624
3635
  "type": {
3625
3636
  "text": "string | undefined"
3626
3637
  },
3627
- "description": "Icons Cache Name to use\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.",
3638
+ "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.",
3628
3639
  "default": "undefined",
3629
3640
  "attribute": "cache-name"
3630
3641
  },
@@ -3645,12 +3656,21 @@
3645
3656
  }
3646
3657
  ],
3647
3658
  "attributes": [
3659
+ {
3660
+ "name": "icon-set",
3661
+ "type": {
3662
+ "text": "IconSet | undefined"
3663
+ },
3664
+ "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.",
3665
+ "default": "momentum-icons",
3666
+ "fieldName": "iconSet"
3667
+ },
3648
3668
  {
3649
3669
  "name": "url",
3650
3670
  "type": {
3651
3671
  "text": "string | undefined"
3652
3672
  },
3653
- "description": "Url of where icons will be fetched from",
3673
+ "description": "Url of where icons will be fetched from\n(if Icon set is `custom-icons`, this will be the base url)",
3654
3674
  "fieldName": "url"
3655
3675
  },
3656
3676
  {
@@ -3658,7 +3678,7 @@
3658
3678
  "type": {
3659
3679
  "text": "string | undefined"
3660
3680
  },
3661
- "description": "File extension of icons",
3681
+ "description": "File extension of icons\n(if Icon set is `custom-icons`, this will be the file extension for icons)",
3662
3682
  "default": "svg",
3663
3683
  "fieldName": "fileExtension"
3664
3684
  },
@@ -3683,9 +3703,9 @@
3683
3703
  {
3684
3704
  "name": "cache-strategy",
3685
3705
  "type": {
3686
- "text": "'in-memory-cache' | 'web-cache-api' | undefined"
3706
+ "text": "CacheStrategy | undefined"
3687
3707
  },
3688
- "description": "Icons Cache Strategy to use\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.",
3708
+ "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.",
3689
3709
  "default": "undefined",
3690
3710
  "fieldName": "cacheStrategy"
3691
3711
  },
@@ -3694,7 +3714,7 @@
3694
3714
  "type": {
3695
3715
  "text": "string | undefined"
3696
3716
  },
3697
- "description": "Icons Cache Name to use\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.",
3717
+ "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.",
3698
3718
  "default": "undefined",
3699
3719
  "fieldName": "cacheName"
3700
3720
  }
@@ -3704,7 +3724,7 @@
3704
3724
  "module": "/src/models"
3705
3725
  },
3706
3726
  "tagName": "mdc-iconprovider",
3707
- "jsDoc": "/**\n * IconProvider component, which allows to be consumed from sub components\n * (see `providerUtils.consume` for how to consume)\n *\n * Bundling icons will be up to the consumer of this component, such\n * that only a url has to be passed in from which the icons will be\n * fetched.\n *\n * If `cacheStrategy` is provided, the IconProvider will cache the icons\n * 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 */",
3727
+ "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 */",
3708
3728
  "customElement": true
3709
3729
  }
3710
3730
  ],