# Custom Components

- Human documentation: [https://docs.univer.ai/guides/bases/ui/components](https://docs.univer.ai/guides/bases/ui/components)

- Agent Markdown: [https://docs.univer.ai/guides/bases/ui/components.md](https://docs.univer.ai/guides/bases/ui/components.md)

- Requested language: `en-US`

- Content language: `en-US`

- Documentation version: `1.0.0-rc.0`

- Source: [bases/ui/components.mdx](https://github.com/dream-num/documentation/blob/dev/content/guides/bases/ui/components.mdx)

---

`@univerjs-pro/bases-ui` exports the components used by the Bases workbench. They run inside an initialized Univer injector and are not standalone design-system widgets.

## Public workbench components

```ts
import {
  BaseTableSidebarFrame,
  BaseToolbar,
  BaseUnitCollaborationStatus,
  BaseViewIcon,
  ViewTabs,
} from '@univerjs-pro/bases-ui'
```

The package also exports focused panels such as `AddViewMenu`, `FilterPanel`, and `FormulaEditorPanel`. Render them only when the surrounding Bases services and unit context are available.

## Supported extension points

* `IBaseViewUIRegistryService` registers a DOM or canvas renderer for a Base view type.
* `IBaseDashboardUIExtensionRegistryService` supplies one dashboard UI extension.
* `IBaseRecordActionService` adds record actions with the current unit, table, view, and record context.

Each registration returns a disposable handle. Dispose it when the host plugin is removed so stale actions or renderers are not left in the workbench.
