> ## Documentation Index
> Fetch the complete documentation index at: https://doc.lucidworks.com/llms.txt
> Use this file to discover all available pages before exploring further.

# widget:modal

export const LwTemplate = ({title = "Key questions to get you started", icon = "sparkles", cta = "Powered by Agent Studio", linkHref = "https://lucidworks.com/demo/?utm_source=docs&utm_medium=referral&utm_campaign=docs_cta_ai"}) => {
  const [isLoaded, setIsLoaded] = useState(false);
  useEffect(() => {
    const timer = setTimeout(() => {
      setIsLoaded(true);
    }, 500);
    return () => clearTimeout(timer);
  }, []);
  return <div className="lw-template-container">
      <Card title={title} icon={icon}>
        {isLoaded && <span dangerouslySetInnerHTML={{
    __html: `<lw-template id="a029c1a9-28be-427e-b0e1-5d918920246a"></lw-template
            >`
  }} />}
        <Link href={linkHref} className="agent-studio-link text-left text-gray-600 gap-2 dark:text-gray-400 text-sm font-medium flex flex-row items-center hover:text-primary dark:hover:text-primary-light group-hover:text-primary group-hover:dark:text-primary-light">Powered by Lucidworks Agent Studio</Link>
      </Card>
    </div>;
};

[localhost link]: http://localhost:3000/docs/4/app-studio/reference/tags/lightning.directive.widgetModal

[mintlify link]: https://doc.lucidworks.com/docs/4/app-studio/reference/tags/lightning.directive.widgetModal

[old doc.lw link]: https://doc.lucidworks.com/app-studio/4.2/1108

<LwTemplate />

## Description

Creates a modal. The directive is automatically moved to the body so it
works consistently.

## Usage

as element:

```xml wrap  theme={"dark"}
<widget:modal
       id="{string}"
       [title="{string}"]
       [modal-classes="{string}"]>
</widget:modal>
```

#### Parameters

| Param                       | Type       | Details                                             |
| --------------------------- | ---------- | --------------------------------------------------- |
| id                          | **string** | An ID that can be used to trigger the modal to open |
| title  *(optional)*         | **string** | Title for the modal                                 |
| modal-classes  *(optional)* | **string** | Add classes to the modal elements                   |

## Example

#### Source

```xml wrap  theme={"dark"}
<button class="tk-stl-button" widget-open-modal="id">Open Modal</button>
<widget:modal title="Hello World" id="id">
    <search:platform var="platform" conf="platorms.solr"></search:platform>
    <search:query var="query" query="docs"></search:query>
    <search:response var="response" query="query" platform="platform"></search:response>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</widget:modal>
```

#### Result

<img src="https://mintcdn.com/lucidworks/J_LymSfRoWq3UOvg/assets/images/app-studio/as-examples/tags/widgetModal.png?fit=max&auto=format&n=J_LymSfRoWq3UOvg&q=85&s=ecabbcf3239c738c880ee6644e2c9f6f" alt="Result" width="1024" height="89" data-path="assets/images/app-studio/as-examples/tags/widgetModal.png" />
