{
  "_copyright": "Copyright (c) 2026, Salesforce, Inc., All rights reserved. For full license text, see the LICENSE.txt file",
  "$schema": "https://slds.lightningdesignsystem.com/schemas/uif-foundation.v1.json",
  "apiVersion": "1.0.0",
  "name": "Card",
  "description": "Initializes card",
  "structure": {
    "name": "root",
    "restrict": [
      "article",
      "div"
    ],
    "description": "Initializes card",
    "children": [
      {
        "name": "header",
        "restrict": [
          "div"
        ],
        "description": "Initializes card header",
        "children": [
          {
            "name": "headerMedia",
            "restrict": [
              "header",
              "div"
            ],
            "description": "Header media layout (icon, body, actions)",
            "children": [
              {
                "name": "headerGrid",
                "restrict": [
                  "div"
                ],
                "description": "Inner grid wrapper used by Einstein-style headers to size the figure-and-title block",
                "renderWhen": {
                  "prop": "style",
                  "eq": "einstein"
                }
              },
              {
                "name": "headerIcon",
                "restrict": [
                  "div"
                ],
                "description": "icon in the card header (media figure)",
                "renderWhen": "slotFilled",
                "slot": {
                  "name": "headerIcon",
                  "restrict": [
                    "Icon"
                  ]
                },
                "children": [
                  {
                    "name": "headerIconContainer",
                    "restrict": [
                      "span"
                    ],
                    "description": "Sprite icon container",
                    "children": [
                      {
                        "name": "headerIconSvg",
                        "description": "Icon glyph svg",
                        "component": "PrimitiveIcon"
                      },
                      {
                        "name": "headerIconAssistiveText",
                        "restrict": [
                          "span"
                        ],
                        "description": "Assistive text for the icon"
                      }
                    ]
                  }
                ]
              },
              {
                "name": "headerBody",
                "restrict": [
                  "div"
                ],
                "description": "Header body containing the title",
                "children": [
                  {
                    "name": "headerTitle",
                    "restrict": [
                      "h2",
                      "h3"
                    ],
                    "description": "Title element within card header",
                    "slot": {
                      "name": "title",
                      "required": true
                    },
                    "children": [
                      {
                        "name": "headerLink",
                        "restrict": [
                          "a"
                        ],
                        "description": "Actionable element within the card header title",
                        "children": [
                          {
                            "name": "headerTitleText",
                            "restrict": [
                              "span"
                            ],
                            "description": "Inline title text"
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "name": "headerActions",
                "restrict": [
                  "div"
                ],
                "description": "Header action buttons container",
                "renderWhen": "slotFilled",
                "slot": {
                  "name": "actions"
                }
              }
            ]
          },
          {
            "name": "einsteinFigure",
            "restrict": [
              "div"
            ],
            "description": "Decorative figure area used by Einstein-style headers",
            "renderWhen": {
              "prop": "style",
              "eq": "einstein"
            }
          },
          {
            "name": "einsteinActions",
            "restrict": [
              "div"
            ],
            "description": "Actions area unique to Einstein-style headers (separate from the media layout)",
            "renderWhen": {
              "prop": "style",
              "eq": "einstein"
            },
            "children": [
              {
                "name": "einsteinActionsGroup",
                "restrict": [
                  "div"
                ],
                "description": "Button group for einstein-header actions",
                "children": [
                  {
                    "name": "einsteinActionButton",
                    "restrict": [
                      "button"
                    ],
                    "description": "Action button inside the einstein-header actions group",
                    "repeats": true,
                    "children": [
                      {
                        "name": "einsteinActionIcon",
                        "description": "Action button icon svg",
                        "component": "PrimitiveIcon"
                      },
                      {
                        "name": "einsteinActionAssistiveText",
                        "restrict": [
                          "span"
                        ],
                        "description": "Assistive text for the action button"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "name": "body",
        "restrict": [
          "div"
        ],
        "description": "Initializes card body",
        "slot": {
          "name": "default",
          "required": true
        },
        "children": [
          {
            "name": "bodySpinner",
            "restrict": [
              "div"
            ],
            "description": "Loading spinner shown inside the body while content is loading",
            "renderWhen": {
              "prop": "state",
              "eq": "loading"
            },
            "children": [
              {
                "name": "bodySpinnerAssistiveText",
                "restrict": [
                  "span"
                ],
                "description": "Loading assistive text"
              },
              {
                "name": "bodySpinnerDotA",
                "restrict": [
                  "div"
                ],
                "description": "First spinner dot"
              },
              {
                "name": "bodySpinnerDotB",
                "restrict": [
                  "div"
                ],
                "description": "Second spinner dot"
              }
            ]
          },
          {
            "name": "bodyIllustration",
            "restrict": [
              "div"
            ],
            "description": "Empty-state illustration block (svg + longform text)",
            "renderWhen": {
              "prop": "state",
              "eq": "empty"
            },
            "children": [
              {
                "name": "bodyIllustrationSvg",
                "restrict": [
                  "svg"
                ],
                "description": "Illustration svg",
                "children": [
                  {
                    "name": "bodyIllustrationGroup",
                    "restrict": [
                      "g"
                    ],
                    "description": "Illustration group container",
                    "repeats": true
                  },
                  {
                    "name": "bodyIllustrationPath",
                    "restrict": [
                      "path"
                    ],
                    "description": "Illustration path (stroke or fill)",
                    "repeats": true
                  },
                  {
                    "name": "bodyIllustrationPolygon",
                    "restrict": [
                      "polygon"
                    ],
                    "description": "Illustration polygon",
                    "repeats": true
                  },
                  {
                    "name": "bodyIllustrationPolyline",
                    "restrict": [
                      "polyline"
                    ],
                    "description": "Illustration polyline",
                    "repeats": true
                  }
                ]
              },
              {
                "name": "bodyIllustrationText",
                "restrict": [
                  "div"
                ],
                "description": "Long-form copy paired with the illustration",
                "children": [
                  {
                    "name": "bodyIllustrationHeading",
                    "restrict": [
                      "h3"
                    ],
                    "description": "Illustration heading"
                  },
                  {
                    "name": "bodyIllustrationParagraph",
                    "restrict": [
                      "p"
                    ],
                    "description": "Illustration body copy"
                  }
                ]
              }
            ]
          },
          {
            "name": "bodyTable",
            "restrict": [
              "table"
            ],
            "description": "Related-list table rendered inside the card body",
            "renderWhen": {
              "prop": "content",
              "eq": "table"
            },
            "children": [
              {
                "name": "bodyTableHead",
                "restrict": [
                  "thead"
                ],
                "description": "Table head",
                "children": [
                  {
                    "name": "bodyTableHeadRow",
                    "restrict": [
                      "tr"
                    ],
                    "description": "Header row",
                    "children": [
                      {
                        "name": "bodyTableHeader",
                        "restrict": [
                          "th"
                        ],
                        "description": "Column header cell",
                        "repeats": true,
                        "children": [
                          {
                            "name": "bodyTableHeaderCell",
                            "restrict": [
                              "div"
                            ],
                            "description": "Inner truncating wrapper for header text"
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "name": "bodyTableBody",
                "restrict": [
                  "tbody"
                ],
                "description": "Table body",
                "children": [
                  {
                    "name": "bodyTableRow",
                    "restrict": [
                      "tr"
                    ],
                    "description": "Body row",
                    "repeats": true,
                    "children": [
                      {
                        "name": "bodyTableRowHeader",
                        "restrict": [
                          "th"
                        ],
                        "description": "Row header cell",
                        "children": [
                          {
                            "name": "bodyTableRowHeaderCell",
                            "restrict": [
                              "div"
                            ],
                            "description": "Inner truncating wrapper for row header text"
                          }
                        ]
                      },
                      {
                        "name": "bodyTableCell",
                        "restrict": [
                          "td"
                        ],
                        "description": "Data cell",
                        "repeats": true,
                        "children": [
                          {
                            "name": "bodyTableCellInner",
                            "restrict": [
                              "div"
                            ],
                            "description": "Inner truncating wrapper for cell text"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          },
          {
            "name": "bodyTileList",
            "restrict": [
              "ul"
            ],
            "description": "Related-list tile grid rendered inside the card body",
            "renderWhen": {
              "prop": "content",
              "eq": "tiles"
            },
            "children": [
              {
                "name": "bodyTileItem",
                "restrict": [
                  "li"
                ],
                "description": "Single tile slot in the related-list grid",
                "repeats": true,
                "children": [
                  {
                    "name": "tile",
                    "restrict": [
                      "article"
                    ],
                    "description": "Use class if card consumes any form of a tile",
                    "children": [
                      {
                        "name": "tileFigure",
                        "restrict": [
                          "div"
                        ],
                        "description": "Tile media figure (icon)",
                        "children": [
                          {
                            "name": "tileIconContainer",
                            "restrict": [
                              "span"
                            ],
                            "description": "Tile icon sprite container",
                            "children": [
                              {
                                "name": "tileIconSvg",
                                "description": "Tile icon svg",
                                "component": "PrimitiveIcon"
                              },
                              {
                                "name": "tileIconAssistiveText",
                                "restrict": [
                                  "span"
                                ],
                                "description": "Assistive text for the tile icon"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "name": "tileBody",
                        "restrict": [
                          "div"
                        ],
                        "description": "Tile media body",
                        "children": [
                          {
                            "name": "tileBodyGrid",
                            "restrict": [
                              "div"
                            ],
                            "description": "Grid wrapping the title and the tile actions",
                            "children": [
                              {
                                "name": "tileTitle",
                                "restrict": [
                                  "h3"
                                ],
                                "description": "Tile title",
                                "children": [
                                  {
                                    "name": "tileTitleLink",
                                    "restrict": [
                                      "a"
                                    ],
                                    "description": "Tile title link"
                                  }
                                ]
                              },
                              {
                                "name": "tileActions",
                                "restrict": [
                                  "div"
                                ],
                                "description": "Tile-level actions container",
                                "children": [
                                  {
                                    "name": "tileActionButton",
                                    "restrict": [
                                      "button"
                                    ],
                                    "description": "Tile-level overflow action button",
                                    "children": [
                                      {
                                        "name": "tileActionIcon",
                                        "description": "Tile action icon svg",
                                        "component": "PrimitiveIcon"
                                      },
                                      {
                                        "name": "tileActionAssistiveText",
                                        "restrict": [
                                          "span"
                                        ],
                                        "description": "Assistive text for the tile action"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          },
                          {
                            "name": "tileDetail",
                            "restrict": [
                              "div"
                            ],
                            "description": "Tile description-list area",
                            "children": [
                              {
                                "name": "tileDetailList",
                                "restrict": [
                                  "dl"
                                ],
                                "description": "Tile description list",
                                "children": [
                                  {
                                    "name": "tileDetailLabel",
                                    "restrict": [
                                      "dt"
                                    ],
                                    "description": "Detail label term",
                                    "repeats": true
                                  },
                                  {
                                    "name": "tileDetailValue",
                                    "restrict": [
                                      "dd"
                                    ],
                                    "description": "Detail label value",
                                    "repeats": true
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "name": "footer",
        "restrict": [
          "footer",
          "div"
        ],
        "description": "Initializes card footer",
        "renderWhen": "slotFilled",
        "slot": {
          "name": "footer"
        },
        "children": [
          {
            "name": "footerAction",
            "restrict": [
              "a"
            ],
            "description": "Actionable element within card footer",
            "children": [
              {
                "name": "footerActionAssistiveText",
                "restrict": [
                  "span"
                ],
                "description": "Assistive text appended to the footer action label"
              }
            ]
          }
        ]
      }
    ]
  },
  "accessibility": {
    "requirements": [
      {
        "id": "heading-hierarchy",
        "description": "Card title should use appropriate heading level for document outline"
      }
    ]
  },
  "componentRefs": {
    "PrimitiveIcon": {
      "description": "Bare SVG icon composed directly inside the component. The host node supplies the SVG class (e.g. slds-button__icon, slds-menu__item-icon) via componentProps; PrimitiveIcon contributes the sprite-href binding.",
      "props": {
        "iconName": {
          "type": "string",
          "required": true,
          "description": "Sprite reference for the icon glyph"
        }
      }
    }
  }
}
