{
  "_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-system.v1.json",
  "apiVersion": "1.0.0",
  "name": "Feed",
  "description": "Vertical list of discussion posts, each composed of a post (author header, content, optional payload, footer actions and meta) and an optional comments region containing comments and a publisher.",
  "extensions": {
    "com.salesforce-ux": {
      "genReady": false
    }
  },
  "cssSource": "./feed.css",
  "styleApi": {
    "status": "stable",
    "ready": true
  },
  "structure": {
    "name": "feed",
    "restrict": [
      "div"
    ],
    "description": "Root feed container that constrains the maximum width and centers the post list.",
    "attributes": {
      "static": {
        "class": "slds-feed"
      }
    },
    "children": [
      {
        "name": "list",
        "restrict": [
          "ul"
        ],
        "description": "Unordered list of feed items.",
        "attributes": {
          "static": {
            "class": "slds-feed__list"
          }
        },
        "children": [
          {
            "name": "item",
            "restrict": [
              "li"
            ],
            "description": "Single feed entry that wraps a post and its optional comments region.",
            "repeats": true,
            "attributes": {
              "static": {
                "class": "slds-feed__item"
              }
            },
            "children": [
              {
                "name": "post",
                "restrict": [
                  "article"
                ],
                "description": "Feed post containing header, content, optional payload, and footer.",
                "attributes": {
                  "static": {
                    "class": "slds-post"
                  }
                },
                "children": [
                  {
                    "name": "postHeader",
                    "restrict": [
                      "header"
                    ],
                    "description": "Header region laid out as a media object with author avatar and identity.",
                    "attributes": {
                      "static": {
                        "class": "slds-post__header slds-media"
                      }
                    },
                    "children": [
                      {
                        "name": "postHeaderFigure",
                        "restrict": [
                          "div"
                        ],
                        "description": "Media figure holding the author avatar.",
                        "attributes": {
                          "static": {
                            "class": "slds-media__figure"
                          }
                        },
                        "children": [
                          {
                            "name": "postAuthorAvatar",
                            "restrict": [
                              "a"
                            ],
                            "description": "Linked author avatar rendered as a large circular image.",
                            "attributes": {
                              "static": {
                                "class": "slds-avatar slds-avatar_circle slds-avatar_large"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "name": "postHeaderBody",
                        "restrict": [
                          "div"
                        ],
                        "description": "Media body containing the author identity line and timestamp.",
                        "attributes": {
                          "static": {
                            "class": "slds-media__body"
                          }
                        },
                        "children": [
                          {
                            "name": "postIdentityRow",
                            "restrict": [
                              "div"
                            ],
                            "description": "Row that spreads the author identity and the post overflow menu.",
                            "attributes": {
                              "static": {
                                "class": "slds-grid slds-grid_align-spread slds-has-flexi-truncate"
                              }
                            },
                            "children": [
                              {
                                "name": "postIdentity",
                                "restrict": [
                                  "p"
                                ],
                                "description": "Author and context links."
                              },
                              {
                                "name": "postOverflowButton",
                                "restrict": [
                                  "button"
                                ],
                                "description": "Icon-only overflow trigger for post-level options.",
                                "attributes": {
                                  "static": {
                                    "class": "slds-button slds-button_icon slds-button_icon-border slds-button_icon-x-small"
                                  }
                                },
                                "children": [
                                  {
                                    "name": "postOverflowIcon",
                                    "description": "Glyph rendered inside the overflow button.",
                                    "attributes": {
                                      "static": {
                                        "class": "slds-button__icon"
                                      }
                                    },
                                    "component": "PrimitiveIcon"
                                  },
                                  {
                                    "name": "postOverflowAssistiveText",
                                    "restrict": [
                                      "span"
                                    ],
                                    "description": "Visually hidden label for the overflow button.",
                                    "attributes": {
                                      "static": {
                                        "class": "slds-assistive-text"
                                      }
                                    }
                                  }
                                ]
                              }
                            ]
                          },
                          {
                            "name": "postTimestamp",
                            "restrict": [
                              "p"
                            ],
                            "description": "Secondary line that shows the post timestamp as a reset-styled link.",
                            "attributes": {
                              "static": {
                                "class": "slds-text-body_small"
                              }
                            },
                            "children": [
                              {
                                "name": "postTimestampLink",
                                "restrict": [
                                  "a"
                                ],
                                "description": "Timestamp link styled to inherit text color.",
                                "attributes": {
                                  "static": {
                                    "class": "slds-text-link_reset"
                                  }
                                }
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "name": "postContent",
                    "restrict": [
                      "div"
                    ],
                    "description": "Main body of the post, optionally including a heading (for questions) and longform text.",
                    "attributes": {
                      "static": {
                        "class": "slds-post__content slds-text-longform"
                      }
                    }
                  },
                  {
                    "name": "postPayload",
                    "restrict": [
                      "div"
                    ],
                    "description": "Optional payload region for attachments such as files, links, or media tiles. Collapses padding when empty.",
                    "attributes": {
                      "static": {
                        "class": "slds-post__payload"
                      }
                    }
                  },
                  {
                    "name": "postFooter",
                    "restrict": [
                      "footer"
                    ],
                    "description": "Footer region containing quick actions and read-only meta information.",
                    "attributes": {
                      "static": {
                        "class": "slds-post__footer"
                      }
                    },
                    "children": [
                      {
                        "name": "postFooterActionsList",
                        "restrict": [
                          "ul"
                        ],
                        "description": "Horizontal list of post action buttons (Like, Comment, Share).",
                        "attributes": {
                          "static": {
                            "class": "slds-post__footer-actions-list slds-list_horizontal"
                          }
                        },
                        "children": [
                          {
                            "name": "postFooterActionItem",
                            "restrict": [
                              "li"
                            ],
                            "description": "Single action item in the post footer actions list.",
                            "repeats": true,
                            "attributes": {
                              "static": {
                                "class": "slds-col slds-item slds-m-right_medium"
                              }
                            },
                            "children": [
                              {
                                "name": "postFooterAction",
                                "restrict": [
                                  "button"
                                ],
                                "description": "Reset-styled action button with an inline icon and label.",
                                "attributes": {
                                  "static": {
                                    "class": "slds-button_reset slds-post__footer-action"
                                  }
                                },
                                "children": [
                                  {
                                    "name": "postFooterActionIcon",
                                    "restrict": [
                                      "svg"
                                    ],
                                    "description": "Glyph rendered to the inline-start of the action label.",
                                    "attributes": {
                                      "static": {
                                        "class": "slds-icon slds-icon-text-default slds-icon_x-small slds-align-middle"
                                      }
                                    }
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "name": "postFooterMetaList",
                        "restrict": [
                          "ul"
                        ],
                        "description": "Read-only meta list with dividers (e.g., shares, views, comment counts).",
                        "attributes": {
                          "static": {
                            "class": "slds-post__footer-meta-list slds-list_horizontal slds-has-dividers_right slds-text-title"
                          }
                        },
                        "children": [
                          {
                            "name": "postFooterMetaItem",
                            "restrict": [
                              "li"
                            ],
                            "description": "Single meta entry separated by a divider.",
                            "repeats": true,
                            "attributes": {
                              "static": {
                                "class": "slds-item"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "name": "itemComments",
                "restrict": [
                  "div"
                ],
                "description": "Comments region attached to the post. Hosts the comment summary bar, comment list, and optional inline publisher.",
                "attributes": {
                  "static": {
                    "class": "slds-feed__item-comments"
                  }
                },
                "children": [
                  {
                    "name": "itemCommentsBar",
                    "restrict": [
                      "div"
                    ],
                    "description": "Top bar of the comments region containing a More comments trigger and a count.",
                    "attributes": {
                      "static": {
                        "class": "slds-p-horizontal_medium slds-p-vertical_x-small slds-grid"
                      }
                    },
                    "children": [
                      {
                        "name": "itemCommentsMoreButton",
                        "restrict": [
                          "button"
                        ],
                        "description": "Reset-styled link button that loads more comments.",
                        "attributes": {
                          "static": {
                            "class": "slds-button_reset slds-text-link"
                          }
                        }
                      },
                      {
                        "name": "itemCommentsCount",
                        "restrict": [
                          "span"
                        ],
                        "description": "Count label such as '1 of 8' pushed to the inline-end.",
                        "attributes": {
                          "static": {
                            "class": "slds-text-body_small slds-col_bump-left"
                          }
                        }
                      }
                    ]
                  },
                  {
                    "name": "itemCommentsList",
                    "restrict": [
                      "ul"
                    ],
                    "description": "Unordered list of rendered comments.",
                    "children": [
                      {
                        "name": "itemCommentsListItem",
                        "restrict": [
                          "li"
                        ],
                        "description": "Single comment list entry.",
                        "repeats": true,
                        "children": [
                          {
                            "name": "comment",
                            "restrict": [
                              "article"
                            ],
                            "description": "Threaded comment laid out as a media object with avatar, header, content, and footer.",
                            "attributes": {
                              "static": {
                                "class": "slds-comment slds-media slds-hint-parent"
                              }
                            },
                            "children": [
                              {
                                "name": "commentFigure",
                                "restrict": [
                                  "div"
                                ],
                                "description": "Media figure holding the commenter avatar.",
                                "attributes": {
                                  "static": {
                                    "class": "slds-media__figure"
                                  }
                                },
                                "children": [
                                  {
                                    "name": "commentAvatar",
                                    "restrict": [
                                      "a"
                                    ],
                                    "description": "Linked commenter avatar rendered as a medium circular image.",
                                    "attributes": {
                                      "static": {
                                        "class": "slds-avatar slds-avatar_circle slds-avatar_medium"
                                      }
                                    }
                                  }
                                ]
                              },
                              {
                                "name": "commentBody",
                                "restrict": [
                                  "div"
                                ],
                                "description": "Media body containing the comment header, content, and footer.",
                                "attributes": {
                                  "static": {
                                    "class": "slds-media__body"
                                  }
                                },
                                "children": [
                                  {
                                    "name": "commentHeader",
                                    "restrict": [
                                      "header"
                                    ],
                                    "description": "Header row of the comment, laid out as a vertically centered media object.",
                                    "attributes": {
                                      "static": {
                                        "class": "slds-media slds-media_center"
                                      }
                                    },
                                    "children": [
                                      {
                                        "name": "commentIdentityRow",
                                        "restrict": [
                                          "div"
                                        ],
                                        "description": "Row that spreads the commenter identity and the comment overflow menu.",
                                        "attributes": {
                                          "static": {
                                            "class": "slds-grid slds-grid_align-spread slds-has-flexi-truncate"
                                          }
                                        },
                                        "children": [
                                          {
                                            "name": "commentIdentity",
                                            "restrict": [
                                              "p"
                                            ],
                                            "description": "Commenter name, truncated when overflowing.",
                                            "attributes": {
                                              "static": {
                                                "class": "slds-truncate"
                                              }
                                            }
                                          },
                                          {
                                            "name": "commentOverflowButton",
                                            "restrict": [
                                              "button"
                                            ],
                                            "description": "Icon-only overflow trigger for comment-level options.",
                                            "attributes": {
                                              "static": {
                                                "class": "slds-button slds-button_icon slds-button_icon-border slds-button_icon-x-small"
                                              }
                                            },
                                            "children": [
                                              {
                                                "name": "commentOverflowIcon",
                                                "description": "Glyph rendered inside the comment overflow button.",
                                                "attributes": {
                                                  "static": {
                                                    "class": "slds-button__icon"
                                                  }
                                                },
                                                "component": "PrimitiveIcon"
                                              },
                                              {
                                                "name": "commentOverflowAssistiveText",
                                                "restrict": [
                                                  "span"
                                                ],
                                                "description": "Visually hidden label for the comment overflow button.",
                                                "attributes": {
                                                  "static": {
                                                    "class": "slds-assistive-text"
                                                  }
                                                }
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    ]
                                  },
                                  {
                                    "name": "commentContent",
                                    "restrict": [
                                      "div"
                                    ],
                                    "description": "Longform body of the comment.",
                                    "attributes": {
                                      "static": {
                                        "class": "slds-comment__content slds-text-longform"
                                      }
                                    }
                                  },
                                  {
                                    "name": "commentFooter",
                                    "restrict": [
                                      "footer"
                                    ],
                                    "description": "Footer region of the comment.",
                                    "children": [
                                      {
                                        "name": "commentFooterList",
                                        "restrict": [
                                          "ul"
                                        ],
                                        "description": "Horizontal divider list with Like action and timestamp.",
                                        "attributes": {
                                          "static": {
                                            "class": "slds-list_horizontal slds-has-dividers_right slds-text-body_small"
                                          }
                                        },
                                        "children": [
                                          {
                                            "name": "commentFooterItem",
                                            "restrict": [
                                              "li"
                                            ],
                                            "description": "Single meta entry such as Like button, like count, or timestamp.",
                                            "repeats": true,
                                            "attributes": {
                                              "static": {
                                                "class": "slds-item"
                                              }
                                            },
                                            "children": [
                                              {
                                                "name": "commentLikeButton",
                                                "restrict": [
                                                  "button"
                                                ],
                                                "description": "Reset-styled Like toggle for the comment.",
                                                "attributes": {
                                                  "static": {
                                                    "class": "slds-button_reset slds-text-color_weak"
                                                  }
                                                }
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "name": "publisher",
                    "restrict": [
                      "div"
                    ],
                    "description": "Inline comment publisher rendered as a media object with avatar and publisher control.",
                    "attributes": {
                      "static": {
                        "class": "slds-media slds-comment slds-hint-parent"
                      }
                    },
                    "children": [
                      {
                        "name": "publisherFigure",
                        "restrict": [
                          "div"
                        ],
                        "description": "Media figure holding the current user avatar.",
                        "attributes": {
                          "static": {
                            "class": "slds-media__figure"
                          }
                        },
                        "children": [
                          {
                            "name": "publisherAvatar",
                            "restrict": [
                              "a"
                            ],
                            "description": "Linked current user avatar rendered as a medium circular image.",
                            "attributes": {
                              "static": {
                                "class": "slds-avatar slds-avatar_circle slds-avatar_medium"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "name": "publisherBody",
                        "restrict": [
                          "div"
                        ],
                        "description": "Media body containing the publisher control.",
                        "attributes": {
                          "static": {
                            "class": "slds-media__body"
                          }
                        },
                        "children": [
                          {
                            "name": "publisherControl",
                            "restrict": [
                              "div"
                            ],
                            "description": "Comment publisher control with text input and inline actions.",
                            "attributes": {
                              "static": {
                                "class": "slds-publisher slds-publisher_comment"
                              }
                            },
                            "children": [
                              {
                                "name": "publisherLabel",
                                "restrict": [
                                  "label"
                                ],
                                "description": "Visually hidden label associated with the publisher textarea.",
                                "attributes": {
                                  "static": {
                                    "class": "slds-assistive-text"
                                  }
                                }
                              },
                              {
                                "name": "publisherInput",
                                "restrict": [
                                  "textarea"
                                ],
                                "description": "Textarea where the user writes their comment.",
                                "attributes": {
                                  "static": {
                                    "class": "slds-publisher__input slds-input_bare slds-text-longform"
                                  }
                                }
                              },
                              {
                                "name": "publisherActions",
                                "restrict": [
                                  "div"
                                ],
                                "description": "Spread row containing inline action buttons and the submit button.",
                                "attributes": {
                                  "static": {
                                    "class": "slds-publisher__actions slds-grid slds-grid_align-spread"
                                  }
                                },
                                "children": [
                                  {
                                    "name": "publisherInlineActionsList",
                                    "restrict": [
                                      "ul"
                                    ],
                                    "description": "Inline action group (e.g., add user, attach file).",
                                    "attributes": {
                                      "static": {
                                        "class": "slds-grid"
                                      }
                                    },
                                    "children": [
                                      {
                                        "name": "publisherInlineActionItem",
                                        "restrict": [
                                          "li"
                                        ],
                                        "description": "Single inline action wrapper.",
                                        "repeats": true,
                                        "children": [
                                          {
                                            "name": "publisherInlineActionButton",
                                            "restrict": [
                                              "button"
                                            ],
                                            "description": "Icon-only inline action button.",
                                            "attributes": {
                                              "static": {
                                                "class": "slds-button slds-button_icon slds-button_icon-container"
                                              }
                                            },
                                            "children": [
                                              {
                                                "name": "publisherInlineActionIcon",
                                                "description": "Glyph rendered inside the inline action button.",
                                                "attributes": {
                                                  "static": {
                                                    "class": "slds-button__icon"
                                                  }
                                                },
                                                "component": "PrimitiveIcon"
                                              },
                                              {
                                                "name": "publisherInlineActionAssistiveText",
                                                "restrict": [
                                                  "span"
                                                ],
                                                "description": "Visually hidden label for the inline action button.",
                                                "attributes": {
                                                  "static": {
                                                    "class": "slds-assistive-text"
                                                  }
                                                }
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    ]
                                  },
                                  {
                                    "name": "publisherSubmitButton",
                                    "restrict": [
                                      "button"
                                    ],
                                    "description": "Brand-styled submit button that posts the comment.",
                                    "attributes": {
                                      "static": {
                                        "class": "slds-button slds-button_brand"
                                      }
                                    }
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ]
      }
    ]
  },
  "stateClasses": [
    {
      "state": "activeAction",
      "class": "slds-is-active"
    },
    {
      "state": "publisherActive",
      "class": "slds-is-active"
    },
    {
      "state": "publisherFocused",
      "class": "slds-has-focus"
    }
  ],
  "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"
        }
      }
    }
  },
  "states": [
    {
      "name": "activeAction",
      "type": "boolean",
      "description": "Whether the component is in the activeAction state"
    },
    {
      "name": "publisherActive",
      "type": "boolean",
      "description": "Whether the component is in the publisherActive state"
    },
    {
      "name": "publisherFocused",
      "type": "boolean",
      "description": "Whether the component is in the publisherFocused state"
    }
  ]
}
