# Web Component

- Human documentation: [https://docs.univer.ai/guides/docs/getting-started/integrations/web-component](https://docs.univer.ai/guides/docs/getting-started/integrations/web-component)

- Agent Markdown: [https://docs.univer.ai/guides/docs/getting-started/integrations/web-component.md](https://docs.univer.ai/guides/docs/getting-started/integrations/web-component.md)

- Requested language: `en-US`

- Content language: `en-US`

- Documentation version: `1.0.0-rc.0`

- Source: [docs/getting-started/integrations/web-component.mdx](https://github.com/dream-num/documentation/blob/dev/content/guides/docs/getting-started/integrations/web-component.mdx)

---

> [!NOTE]
> If you are looking for how to use Web Component components as custom components, please refer to [here](https://docs.univer.ai/guides/docs/ui/components.md#web-component).

Univer can be integrated into Web Components.

> Interactive example: [Open the playground](/playground/docs/lit)

### Example

The following code is an example of integrating Univer into a Web Component using [Lit](https://lit.dev).

```typescript
import { UniverDocsCorePreset } from '@univerjs/preset-docs-core'
import docsCoreEnUS from '@univerjs/preset-docs-core/locales/en-US'
import { createUniver, LocaleType, mergeLocales } from '@univerjs/presets'
import { html, LitElement } from 'lit'

class MyWebComponent extends LitElement {
  override firstUpdated() {
    const container = this.renderRoot.querySelector('#containerId') as HTMLDivElement

    const { univerAPI } = createUniver({
      locale: LocaleType.EN_US,
      locales: {
        [LocaleType.EN_US]: mergeLocales(
          docsCoreEnUS,
        ),
      },
      presets: [
        UniverDocsCorePreset({
          container,
        }),
      ],
    })

    univerAPI.createDocument({})
  }

  override render() {
    return html`
      <link rel="stylesheet" href="https://unpkg.com/@univerjs/preset-docs-core/lib/index.css">
      <div style="height: 100%;" id="containerId" />
    `
  }
}

window.customElements.define('my-univer', MyWebComponent)
```
