> ## 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.

# search:offcanvas-toggle

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.searchOffcanvasToggle

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

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

<LwTemplate />

## Description

Creates a toggle button to show/hide the side panel. Adds class to
target element when directive is clicked.

## Usage

as element:

```xml wrap  theme={"dark"}
<search:offcanvas-toggle
       target="{string}"
       [active-class="{string}"]>
</search:offcanvas-toggle>
```

#### Parameters

| Param                      | Type       | Details                                |
| -------------------------- | ---------- | -------------------------------------- |
| target                     | **string** | The element to add the active class to |
| active-class  *(optional)* | **string** | The active class, defaults to 'active' |

## Example

#### Source

```xml wrap  expandable  theme={"dark"}
<layout:grid>
    <layout:block tiny="1-4">
        <layout:box>
            <search:offcanvas-toggle target="#left-sidebar"></search:offcanvas-toggle>
        </layout:box>
    </layout:block>
    <layout:block tiny="1-2">
        <!-- this toggle will not be shown as no element with the ID no-sidebar exists -->
        <search:offcanvas-toggle target="#no-sidebar"></search:offcanvas-toggle>
    </layout:block>
    <layout:block tiny="1-4">
        <layout:box>
            <search:offcanvas-toggle target="#right-sidebar" class="right"></search:offcanvas-toggle>
        </layout:box>
    </layout:block>
</layout:grid>
<layout:grid styling="row-offcanvas">
    <layout:block medium="1-4" drawer="left" id="left-sidebar">
        <layout:box class="tk-stl-bg-red">
            <layout:sidebar>
                <h4 id="example_left-sidebar-content">Left Sidebar Content</h4>
            </layout:sidebar>
        </layout:box>
    </layout:block>
    <layout:block medium="1-2">
        <layout:box>
            <p styling="text-align:center;">Shrink your browser window to toggle sidebars</p>
        </layout:box>
    </layout:block>
    <layout:block medium="1-4" drawer="right" id="right-sidebar">
        <layout:box class="tk-stl-bg-blue">
            <layout:sidebar>
                <h4 id="example_right-sidebar-content">Right Sidebar Content</h4>
            </layout:sidebar>
        </layout:box>
    </layout:block>
</layout:grid>
```

#### Result

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