# @univerjs/ui

> Language fallback: requested `zh-CN`; content is `en-US`.

- Human documentation: [https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs/ui](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs/ui)

- Agent Markdown: [https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs/ui.md](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs/ui.md)

- Requested language: `zh-CN`

- Content language: `en-US`

- Documentation version: `1.0.0-rc.0`

- Source: [packages/plugins/univerjs/ui.mdx](https://github.com/dream-num/documentation/blob/dev/content/reference/packages/plugins/univerjs/ui.mdx)

---

Shared application UI framework, workbench services, menus, dialogs, and Facade UI APIs for Univer.

```typescript
// [!code word:UniverUIPlugin]
// [!code word:IUniverUIConfig]
import { UniverUIPlugin } from '@univerjs/ui'

univer.registerPlugin(UniverUIPlugin, config)
```

## Entry Points

* Facade: `@univerjs/ui/facade`
* Locale: `@univerjs/ui/locale/*`

## Unit presence and undo/redo groups

The root entry exports `IUnitPresenceUIAdapterRegistry`, `UnitPresenceUIAdapterRegistry`, `IUnitPresenceUIAdapter`, local and remote presence-state types, `IUnitPresencePoint`, and `UndoRedoGroupService`.

Use `HoverTrack` with `HOVER_TRACK_HOST_CLASS_NAME` for themed hover tracking. `preventBrowserZoomInContainers()` blocks browser zoom only inside the supplied containers.

Mobile hosts can use `MOBILE_UI_MODE`, `MobileDialogService`, `MobileDrawer`, `MobileDrawerSnap`, and `MobileMenu`. The Facade also exposes `setRibbonType()` for changing between `collapsed`, `simple`, `classic`, and `grid` layouts at runtime.

## IUniverUIConfig

```ts
import type { DependencyOverride } from '@univerjs/core'
import type { IWorkbenchOptions } from '../controllers/ui/ui.controller'
import type { MenuConfig } from '../services/menu/menu'

export interface IUniverUIConfig extends IWorkbenchOptions {
  /** Disable auto focus when Univer bootstraps. */
  disableAutoFocus?: true

  override?: DependencyOverride

  menu?: MenuConfig

  popupRootId?: string

  /**
   * The fallback avatar for user.
   */
  avatarFallback?: string
}
```
