{
  "_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": "Lookup",
  "description": "Deprecated single- or multi-entity typeahead input that pairs a search field with a results menu. Each result row is a media object with an entity icon, primary name, and optional meta line. Superseded by Combobox and Combobox Group.",
  "extensions": {
    "com.salesforce-ux": {
      "genReady": false
    }
  },
  "cssSource": "./lookup.deprecated.css",
  "styleApi": {
    "status": "deprecated",
    "ready": false
  },
  "deprecated": {
    "message": "The .slds-lookup pattern has been replaced by .slds-combobox and .slds-combobox-group. Migrate to the Combobox or ComboboxGroup component.",
    "replacement": {
      "component": "Combobox"
    }
  },
  "structure": {
    "name": "lookup",
    "restrict": [
      "div"
    ],
    "description": "Root form-element wrapper that hosts the lookup input and its results menu. Doubles as a form-element so labels and help text can sit alongside the search control.",
    "attributes": {
      "static": {
        "class": "slds-form-element slds-lookup"
      }
    },
    "children": [
      {
        "name": "label",
        "restrict": [
          "label"
        ],
        "description": "Visible or assistive label associated with the search input via for/id. Use slds-assistive-text on the host node when the label should be hidden.",
        "attributes": {
          "static": {
            "class": "slds-form-element__label"
          }
        }
      },
      {
        "name": "control",
        "restrict": [
          "div"
        ],
        "description": "Positioning context that places search and clear icons inside the input.",
        "attributes": {
          "static": {
            "class": "slds-form-element__control slds-input-has-icon slds-input-has-icon_left-right"
          }
        },
        "children": [
          {
            "name": "searchIcon",
            "description": "Search glyph rendered at the inline-start edge of the input.",
            "attributes": {
              "static": {
                "class": "slds-input__icon slds-input__icon_left"
              }
            },
            "component": "PrimitiveIcon"
          },
          {
            "name": "searchInput",
            "restrict": [
              "input"
            ],
            "description": "Text input that captures the user's search term.",
            "attributes": {
              "static": {
                "class": "slds-input slds-lookup__search-input"
              }
            }
          },
          {
            "name": "clearButton",
            "restrict": [
              "button"
            ],
            "description": "Icon button at the inline-end edge of the input that clears the current search term.",
            "renderWhen": "propFilled",
            "attributes": {
              "static": {
                "class": "slds-input__icon slds-input__icon_right slds-button slds-button_icon"
              }
            },
            "children": [
              {
                "name": "clearIcon",
                "description": "Close glyph rendered inside the clear button.",
                "attributes": {
                  "static": {
                    "class": "slds-button__icon"
                  }
                },
                "component": "PrimitiveIcon"
              },
              {
                "name": "clearAssistiveText",
                "restrict": [
                  "span"
                ],
                "description": "Visually hidden label announcing the clear action.",
                "attributes": {
                  "static": {
                    "class": "slds-assistive-text"
                  }
                }
              }
            ]
          }
        ]
      },
      {
        "name": "pillContainer",
        "restrict": [
          "div"
        ],
        "description": "Container that holds the selected-entity pill once a selection has been made. Pill is rendered as a flex row with the remove control pushed to the end.",
        "attributes": {
          "static": {
            "class": "slds-lookup__pill-container"
          }
        }
      },
      {
        "name": "menu",
        "restrict": [
          "div"
        ],
        "description": "Floating results menu that hangs below the input. Shown when the lookup is open.",
        "attributes": {
          "static": {
            "class": "slds-lookup__menu"
          }
        },
        "children": [
          {
            "name": "list",
            "restrict": [
              "ul"
            ],
            "description": "Scrollable list of result items grouped under an optional section heading.",
            "attributes": {
              "static": {
                "class": "slds-lookup__list"
              }
            },
            "children": [
              {
                "name": "listHeading",
                "restrict": [
                  "li"
                ],
                "description": "Presentational wrapper for a section heading inside the list.",
                "children": [
                  {
                    "name": "listHeadingLabel",
                    "restrict": [
                      "h3"
                    ],
                    "description": "Non-actionable section label rendered inside the list (e.g. \"Recent Items\").",
                    "attributes": {
                      "static": {
                        "class": "slds-lookup__item_label slds-text-body_small"
                      }
                    }
                  }
                ]
              },
              {
                "name": "item",
                "restrict": [
                  "li"
                ],
                "description": "Presentational list item wrapping a single actionable result row.",
                "repeats": true,
                "children": [
                  {
                    "name": "itemAction",
                    "restrict": [
                      "span",
                      "a",
                      "button"
                    ],
                    "description": "Actionable result row laid out as a media object with an entity icon, primary text, and optional meta line.",
                    "attributes": {
                      "static": {
                        "class": "slds-lookup__item-action slds-media"
                      }
                    },
                    "children": [
                      {
                        "name": "itemIconContainer",
                        "restrict": [
                          "span"
                        ],
                        "description": "Media figure that frames the standard entity icon for this result.",
                        "attributes": {
                          "static": {
                            "class": "slds-icon_container slds-media__figure"
                          }
                        },
                        "children": [
                          {
                            "name": "itemIcon",
                            "restrict": [
                              "svg"
                            ],
                            "description": "Standard entity icon glyph.",
                            "attributes": {
                              "static": {
                                "class": "slds-icon slds-icon_small"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "name": "itemBody",
                        "restrict": [
                          "span"
                        ],
                        "description": "Media body that holds the primary entity name and optional meta text.",
                        "attributes": {
                          "static": {
                            "class": "slds-media__body"
                          }
                        },
                        "children": [
                          {
                            "name": "itemResultText",
                            "restrict": [
                              "span"
                            ],
                            "description": "Primary entity name, truncated with ellipsis when it overflows.",
                            "attributes": {
                              "static": {
                                "class": "slds-lookup__result-text"
                              }
                            }
                          },
                          {
                            "name": "itemResultMeta",
                            "restrict": [
                              "span"
                            ],
                            "description": "Secondary metadata line (e.g. \"Account - San Francisco\").",
                            "attributes": {
                              "static": {
                                "class": "slds-lookup__result-meta slds-text-body_small"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "name": "itemActionLabel",
                    "restrict": [
                      "span",
                      "a",
                      "button"
                    ],
                    "description": "Single-line actionable label variant of a result row, used when the row has no media figure or meta line.",
                    "attributes": {
                      "static": {
                        "class": "slds-lookup__item-action slds-lookup__item-action_label"
                      }
                    }
                  }
                ]
              }
            ]
          }
        ]
      }
    ]
  },
  "stateClasses": [
    {
      "state": "open",
      "class": "slds-is-open"
    },
    {
      "state": "hasSelection",
      "class": "slds-has-selection"
    },
    {
      "state": "focused",
      "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": "open",
      "type": "boolean",
      "description": "Whether the component is in the open state"
    },
    {
      "name": "hasSelection",
      "type": "boolean",
      "description": "Whether the component is in the hasSelection state"
    },
    {
      "name": "focused",
      "type": "boolean",
      "description": "Whether the component is in the focused state"
    }
  ]
}
