{
  "_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": "GlobalHeader",
  "description": "Fixed top-of-viewport header containing the Salesforce logo, global search combobox, and the global actions toolbar (favorites, task, help, setup, notifications, user avatar).",
  "extensions": {
    "com.salesforce-ux": {
      "genReady": false
    }
  },
  "cssSource": "./globalHeader.css",
  "styleApi": {
    "status": "stable",
    "ready": true
  },
  "structure": {
    "name": "globalHeaderContainer",
    "restrict": [
      "header"
    ],
    "description": "Outer container that fixes the global header to the top of the viewport and holds skip-link assistive anchors.",
    "attributes": {
      "static": {
        "class": "slds-global-header_container"
      }
    },
    "children": [
      {
        "name": "skipLink",
        "restrict": [
          "a"
        ],
        "description": "Visually hidden anchor that becomes visible on focus and lets keyboard users skip past the header.",
        "repeats": true,
        "attributes": {
          "static": {
            "class": "slds-assistive-text slds-assistive-text_focus"
          }
        }
      },
      {
        "name": "globalHeader",
        "restrict": [
          "div"
        ],
        "description": "Inner header bar; uses the SLDS grid to spread the logo, search, and global actions regions.",
        "attributes": {
          "static": {
            "class": "slds-global-header slds-grid slds-grid_align-spread"
          }
        },
        "children": [
          {
            "name": "item",
            "restrict": [
              "div"
            ],
            "description": "Region within the global header (logo, search, or global actions toolbar).",
            "repeats": true,
            "attributes": {
              "static": {
                "class": "slds-global-header__item"
              }
            },
            "modifiers": [
              {
                "name": "search",
                "attribute": "class",
                "value": "slds-global-header__item_search",
                "description": "Sizes the region to host the global search combobox group."
              }
            ],
            "children": [
              {
                "name": "logo",
                "restrict": [
                  "div"
                ],
                "description": "Container that renders the Salesforce logo via background-image.",
                "attributes": {
                  "static": {
                    "class": "slds-global-header__logo"
                  }
                },
                "children": [
                  {
                    "name": "logoAssistiveText",
                    "restrict": [
                      "span"
                    ],
                    "description": "Visually hidden product name accompanying the logo image.",
                    "attributes": {
                      "static": {
                        "class": "slds-assistive-text"
                      }
                    }
                  }
                ]
              },
              {
                "name": "searchButton",
                "restrict": [
                  "button"
                ],
                "description": "Faux search button rendered when the search input is collapsed; opens the search combobox on click.",
                "attributes": {
                  "static": {
                    "class": "slds-button slds-global-header_search-button"
                  }
                }
              },
              {
                "name": "globalActions",
                "restrict": [
                  "ul"
                ],
                "description": "Toolbar list of global action items (favorites, task, help, setup, notifications, user avatar).",
                "attributes": {
                  "static": {
                    "class": "slds-global-actions"
                  }
                },
                "children": [
                  {
                    "name": "globalActionsItem",
                    "restrict": [
                      "li"
                    ],
                    "description": "List item wrapping a single global action.",
                    "repeats": true,
                    "attributes": {
                      "static": {
                        "class": "slds-global-actions__item"
                      }
                    },
                    "modifiers": [
                      {
                        "name": "help",
                        "attribute": "class",
                        "value": "slds-global-actions__item_help",
                        "description": "Tightens spacing for the help action item."
                      },
                      {
                        "name": "notification",
                        "attribute": "class",
                        "value": "slds-global-actions__item_notification",
                        "description": "Tightens spacing for the notifications action item."
                      }
                    ],
                    "children": [
                      {
                        "name": "favorites",
                        "restrict": [
                          "div"
                        ],
                        "description": "Favorites action group: a button-group with a toggle button and a More dropdown trigger.",
                        "attributes": {
                          "static": {
                            "class": "slds-global-actions__favorites slds-dropdown-trigger slds-dropdown-trigger_click"
                          }
                        },
                        "children": [
                          {
                            "name": "favoritesButtonGroup",
                            "restrict": [
                              "div"
                            ],
                            "description": "Button group wrapping the favorites toggle and the favorites More dropdown trigger.",
                            "attributes": {
                              "static": {
                                "class": "slds-button-group"
                              }
                            },
                            "children": [
                              {
                                "name": "favoritesAction",
                                "restrict": [
                                  "button"
                                ],
                                "description": "Toggle button that marks the current record as a favorite.",
                                "attributes": {
                                  "static": {
                                    "class": "slds-button slds-button_icon slds-global-actions__favorites-action slds-button_icon-border slds-button_icon-small"
                                  }
                                },
                                "children": [
                                  {
                                    "name": "favoritesActionIcon",
                                    "description": "Star glyph rendered inside the favorites toggle.",
                                    "attributes": {
                                      "static": {
                                        "class": "slds-button__icon"
                                      }
                                    },
                                    "component": "PrimitiveIcon"
                                  },
                                  {
                                    "name": "favoritesActionAssistiveText",
                                    "restrict": [
                                      "span"
                                    ],
                                    "description": "Visually hidden label announcing the favorites toggle action.",
                                    "attributes": {
                                      "static": {
                                        "class": "slds-assistive-text"
                                      }
                                    }
                                  }
                                ]
                              },
                              {
                                "name": "favoritesMore",
                                "restrict": [
                                  "button"
                                ],
                                "description": "Dropdown trigger that opens the list of favorited records.",
                                "attributes": {
                                  "static": {
                                    "class": "slds-button slds-button_icon slds-global-actions__favorites-more slds-button_icon-border slds-button_icon-small"
                                  }
                                },
                                "children": [
                                  {
                                    "name": "favoritesMoreIcon",
                                    "description": "Down chevron glyph rendered inside the favorites More trigger.",
                                    "attributes": {
                                      "static": {
                                        "class": "slds-button__icon slds-button__icon_small"
                                      }
                                    },
                                    "component": "PrimitiveIcon"
                                  },
                                  {
                                    "name": "favoritesMoreAssistiveText",
                                    "restrict": [
                                      "span"
                                    ],
                                    "description": "Visually hidden label announcing the View Favorites action.",
                                    "attributes": {
                                      "static": {
                                        "class": "slds-assistive-text"
                                      }
                                    }
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "name": "actionDropdownTrigger",
                        "restrict": [
                          "div"
                        ],
                        "description": "Dropdown trigger wrapper around an icon-button action (task, help, setup, notifications, avatar).",
                        "attributes": {
                          "static": {
                            "class": "slds-dropdown-trigger slds-dropdown-trigger_click"
                          }
                        },
                        "children": [
                          {
                            "name": "taskAction",
                            "restrict": [
                              "button"
                            ],
                            "description": "Global action launcher (the create / task button).",
                            "attributes": {
                              "static": {
                                "class": "slds-button slds-button_icon slds-button_icon-container slds-button_icon-small slds-global-actions__task slds-global-actions__item-action"
                              }
                            },
                            "children": [
                              {
                                "name": "taskActionIcon",
                                "description": "Plus glyph rendered inside the task button.",
                                "attributes": {
                                  "static": {
                                    "class": "slds-button__icon"
                                  }
                                },
                                "component": "PrimitiveIcon"
                              },
                              {
                                "name": "taskActionAssistiveText",
                                "restrict": [
                                  "span"
                                ],
                                "description": "Visually hidden label announcing the global-actions launcher.",
                                "attributes": {
                                  "static": {
                                    "class": "slds-assistive-text"
                                  }
                                }
                              }
                            ]
                          },
                          {
                            "name": "helpAction",
                            "restrict": [
                              "button"
                            ],
                            "description": "Help and training menu trigger.",
                            "attributes": {
                              "static": {
                                "class": "slds-button slds-button_icon slds-button_icon-container slds-button_icon-small slds-global-actions__help slds-global-actions__item-action"
                              }
                            },
                            "children": [
                              {
                                "name": "helpActionIcon",
                                "description": "Question-mark glyph rendered inside the help button.",
                                "attributes": {
                                  "static": {
                                    "class": "slds-button__icon slds-global-header__icon"
                                  }
                                },
                                "component": "PrimitiveIcon"
                              },
                              {
                                "name": "helpActionAssistiveText",
                                "restrict": [
                                  "span"
                                ],
                                "description": "Visually hidden label announcing the help action.",
                                "attributes": {
                                  "static": {
                                    "class": "slds-assistive-text"
                                  }
                                }
                              }
                            ]
                          },
                          {
                            "name": "setupAction",
                            "restrict": [
                              "button"
                            ],
                            "description": "Setup menu trigger.",
                            "attributes": {
                              "static": {
                                "class": "slds-button slds-button_icon slds-button_icon-container slds-button_icon-small slds-global-actions__setup slds-global-actions__item-action"
                              }
                            },
                            "children": [
                              {
                                "name": "setupActionIcon",
                                "description": "Gear glyph rendered inside the setup button.",
                                "attributes": {
                                  "static": {
                                    "class": "slds-button__icon slds-global-header__icon"
                                  }
                                },
                                "component": "PrimitiveIcon"
                              },
                              {
                                "name": "setupActionAssistiveText",
                                "restrict": [
                                  "span"
                                ],
                                "description": "Visually hidden label announcing the setup action.",
                                "attributes": {
                                  "static": {
                                    "class": "slds-assistive-text"
                                  }
                                }
                              }
                            ]
                          },
                          {
                            "name": "notificationsAction",
                            "restrict": [
                              "button"
                            ],
                            "description": "Notifications menu trigger; uses aria-live to announce count changes.",
                            "attributes": {
                              "static": {
                                "class": "slds-button slds-button_icon slds-button_icon-container slds-button_icon-small slds-global-actions__notifications slds-global-actions__item-action"
                              }
                            },
                            "children": [
                              {
                                "name": "notificationsActionIcon",
                                "description": "Bell glyph rendered inside the notifications button.",
                                "attributes": {
                                  "static": {
                                    "class": "slds-button__icon slds-global-header__icon"
                                  }
                                },
                                "component": "PrimitiveIcon"
                              },
                              {
                                "name": "notificationsActionAssistiveText",
                                "restrict": [
                                  "span"
                                ],
                                "description": "Visually hidden label announcing the notification count.",
                                "attributes": {
                                  "static": {
                                    "class": "slds-assistive-text"
                                  }
                                }
                              }
                            ]
                          },
                          {
                            "name": "notificationBadge",
                            "restrict": [
                              "span"
                            ],
                            "description": "Counter badge overlaid on the notifications icon to communicate the unread count.",
                            "renderWhen": "propFilled",
                            "attributes": {
                              "static": {
                                "class": "slds-notification-badge"
                              }
                            }
                          },
                          {
                            "name": "avatarAction",
                            "restrict": [
                              "button"
                            ],
                            "description": "User-menu trigger rendered as an avatar.",
                            "attributes": {
                              "static": {
                                "class": "slds-button slds-global-actions__avatar slds-global-actions__item-action"
                              }
                            },
                            "children": [
                              {
                                "name": "avatar",
                                "restrict": [
                                  "span"
                                ],
                                "description": "Avatar element wrapping the user image; sized as a circle medium avatar.",
                                "attributes": {
                                  "static": {
                                    "class": "slds-avatar slds-avatar_circle slds-avatar_medium"
                                  }
                                }
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "name": "notificationItem",
        "restrict": [
          "div",
          "li",
          "a"
        ],
        "description": "Single notification row rendered inside the notifications dropdown surface.",
        "repeats": true,
        "attributes": {
          "static": {
            "class": "slds-global-header__notification"
          }
        },
        "modifiers": [
          {
            "name": "unread",
            "attribute": "class",
            "value": "slds-global-header__notification_unread",
            "description": "Highlights the row to indicate the notification has not yet been read."
          }
        ]
      }
    ]
  },
  "stateClasses": [
    {
      "state": "favoritesSelected",
      "class": "slds-is-selected"
    },
    {
      "state": "favoritesDisabled",
      "class": "slds-is-disabled"
    },
    {
      "state": "incomingNotification",
      "class": "slds-incoming-notification"
    },
    {
      "state": "notificationVisible",
      "class": "slds-show-notification"
    }
  ],
  "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": "favoritesSelected",
      "type": "boolean",
      "description": "Whether the component is in the favoritesSelected state"
    },
    {
      "name": "favoritesDisabled",
      "type": "boolean",
      "description": "Whether the component is in the favoritesDisabled state"
    },
    {
      "name": "incomingNotification",
      "type": "boolean",
      "description": "Whether the component is in the incomingNotification state"
    },
    {
      "name": "notificationVisible",
      "type": "boolean",
      "description": "Whether the component is in the notificationVisible state"
    }
  ]
}
