open-index/open-npm huggingface dataset:
npm package: @smx913/core
Description: Core library for Univer.
Author: DreamNum
Latest version: 0.12.3

# @smx913/core

## Package Overview

| Package Name | UMD Namespace | Version | License | Downloads | Contains CSS | Contains i18n locales |
| --- | --- | --- | --- | --- | :---: | :---: |
| `@smx913/core` | `UniverCore` | [![][npm-version-shield]][npm-version-link] | ![][npm-license-shield] | ![][npm-downloads-shield] | ❌ | ❌ |

## Introduction

`@smx913/core` as its name shows, is the core package of Univer, and provides foundational capabilities including:

* Provision of the Univer type, which serves as the entry point for applications and a mounting point for other plugins, as well as the UniverDoc and UniverSheet types for managing different document types
* Basic models for each document type
* Definition or implementation of several fundamental services, such as:
  * Permission control
  * Command system
  * Undo/Redo
  * Configuration system
  * Logging system
  * Context system
  * Lifecycle
  * Local storage
  * Internationalization
  * Resource management

For more information about `@smx913/core`'s API, please refer to the [API documentation](https://reference.univer.ai/).

## Usage

### Installation

```shell
# Using npm
npm install @smx913/core

# Using pnpm
pnpm add @smx913/core
```

### Configuration

```typescript
import { Univer } from '@smx913/core';

new Univer({
    theme: defaultTheme,
    locale: LocaleType.EN_US,
    locales,
    logLevel: LogLevel.VERBOSE,
});
```

#### Options

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| theme | [Theme](https://docs.univer.ai/guides/sheets/ui/themes) | - | The theme of the application, which is used to control the appearance of the application. |
| locale | [LocaleType](https://docs.univer.ai/guides/sheets/getting-started/i18n) | `LocaleType.ZH_CN` | The locale of the application. The default value is `LocaleType.ZH_CN`.
| locales | [ILocales](https://docs.univer.ai/guides/sheets/getting-started/i18n) | - | The supported locales of the application. By default, the application supports Chinese.
| logLevel | [LogLevel](https://github.com/dream-num/univer/blob/dev/packages/core/src/services/log/log.service.ts#L22) | `LogLevel.SILENT` | The log level of the application. |

<!-- Links -->
[npm-version-shield]: https://img.shields.io/npm/v/@smx913/core?style=flat-square
[npm-version-link]: https://npmjs.com/package/@smx913/core
[npm-license-shield]: https://img.shields.io/npm/l/@smx913/core?style=flat-square
[npm-downloads-shield]: https://img.shields.io/npm/dm/@smx913/core?style=flat-square
npm package: @smx913/data-validation
Description: Data validation library for Univer
Author: DreamNum
Latest version: 0.12.3

# @smx913/data-validation

## Package Overview

| Package Name | UMD Namespace | Version | License | Downloads | Contains CSS | Contains i18n locales |
| --- | --- | --- | --- | --- | :---: | :---: |
| `@smx913/data-validation` | `UniverDataValidation` | [![][npm-version-shield]][npm-version-link] | ![][npm-license-shield] | ![][npm-downloads-shield] | ❌ | ❌ |

## Introduction

> `@smx913/data-validation` provides Univer Sheet with basic capabilities for data validation computation.

## Usage

### Installation

```shell
# Using npm
npm i @smx913/data-validation

# Using pnpm
pnpm add @smx913/data-validation
```

### Register the plugin

```typescript
import { UniverDataValidationPlugin } from '@smx913/data-validation';

univer.registerPlugin(UniverDataValidationPlugin);
```

<!-- Links -->
[npm-version-shield]: https://img.shields.io/npm/v/@smx913/data-validation?style=flat-square
[npm-version-link]: https://npmjs.com/package/@smx913/data-validation
[npm-license-shield]: https://img.shields.io/npm/l/@smx913/data-validation?style=flat-square
[npm-downloads-shield]: https://img.shields.io/npm/dm/@smx913/data-validation?style=flat-square
npm package: @smx913/design
Description: UI component library for building exceptional Univer.
Author: DreamNum
Latest version: 0.12.3

# @smx913/design

## Package Overview

| Package Name | UMD Namespace | Version | License | Downloads | Contains CSS | Contains i18n locales |
| --- | --- | --- | --- | --- | :---: | :---: |
| `@smx913/design` | `UniverDesign` | [![][npm-version-shield]][npm-version-link] | ![][npm-license-shield] | ![][npm-downloads-shield] | ⭕️ | ⭕️ |

## Introduction

To ensure better consistency in the UI of Univer plugins and to reduce the effort required for custom development, we provide some fundamental design guidelines and components.

The components are developed using React and less, and you can find out more information by visiting the [component library website](https://univer-design.vercel.app).

![](./assets/design.jpeg)

:::note
If you only need to extend the toolbar, context menu, and so on, you can directly use the extension interfaces provided by `@smx913/ui` without implementing the UI yourself. For more information, please refer to [Extending UI](https://docs.univer.ai/guides/recipes/tutorials/custom-plugin).
:::

## Usage

### Installation

```shell
# Using npm
npm install @smx913/design

# Using pnpm
pnpm add @smx913/design
```

This package contains CSS and has the highest priority. Please import it before importing any other Univer style files.

<!-- Links -->
[npm-version-shield]: https://img.shields.io/npm/v/@smx913/design?style=flat-square
[npm-version-link]: https://npmjs.com/package/@smx913/design
[npm-license-shield]: https://img.shields.io/npm/l/@smx913/design?style=flat-square
[npm-downloads-shield]: https://img.shields.io/npm/dm/@smx913/design?style=flat-square
npm package: @smx913/docs
Description: UniverSheet normal base-docs
Author: DreamNum
Latest version: 0.12.3

# @smx913/docs

## Package Overview

| Package Name | UMD Namespace | Version | License | Downloads | Contains CSS | Contains i18n locales |
| --- | --- | --- | --- | --- | :---: | :---: |
| `@smx913/docs` | `UniverDocs` | [![][npm-version-shield]][npm-version-link] | ![][npm-license-shield] | ![][npm-downloads-shield] | ❌ | ❌ |

## Introduction

`@smx913/docs` package provides the fundamental operations for rich text models, including the following capabilities:

* Logic for selection areas
* Commands/mutations for altering rich text data
* Canvas rendering for document presentation

Additionally, `@smx913/docs` offers support for editors in other domains, such as cell editors for spreadsheets and formula editors, among others.

## Usage

### Installation

```shell
# Using npm
npm install @smx913/docs

# Using pnpm
pnpm add @smx913/docs
```

<!-- Links -->
[npm-version-shield]: https://img.shields.io/npm/v/@smx913/docs?style=flat-square
[npm-version-link]: https://npmjs.com/package/@smx913/docs
[npm-license-shield]: https://img.shields.io/npm/l/@smx913/docs?style=flat-square
[npm-downloads-shield]: https://img.shields.io/npm/dm/@smx913/docs?style=flat-square
npm package: @smx913/docs-drawing
Description: ## Package Overview
Author: DreamNum
Latest version: 0.12.3

# @smx913/docs-drawing

## Package Overview

| Package Name | UMD Namespace | Version | License | Downloads | Contains CSS | Contains i18n locales |
| --- | --- | --- | --- | --- | :---: | :---: |
| `@smx913/docs-drawing` | `UniverDocsDrawing` | [![][npm-version-shield]][npm-version-link] | ![][npm-license-shield] | ![][npm-downloads-shield] | ❌ | ❌ |

## Introduction

## Usage

### Installation

```shell
# Using npm
npm install @smx913/docs-drawing

# Using pnpm
pnpm add @smx913/docs-drawing
```

<!-- Links -->
[npm-version-shield]: https://img.shields.io/npm/v/@smx913/docs-drawing?style=flat-square
[npm-version-link]: https://npmjs.com/package/@smx913/docs-drawing
[npm-license-shield]: https://img.shields.io/npm/l/@smx913/docs-drawing?style=flat-square
[npm-downloads-shield]: https://img.shields.io/npm/dm/@smx913/docs-drawing?style=flat-square
npm package: @smx913/docs-drawing-ui
Description: ## Package Overview
Author: DreamNum
Latest version: 0.12.3

# @smx913/docs-drawing-ui

## Package Overview

| Package Name | UMD Namespace | Version | License | Downloads | Contains CSS | Contains i18n locales |
| --- | --- | --- | --- | --- | :---: | :---: |
| `@smx913/docs-drawing-ui` | `UniverDocsDrawingUi` | [![][npm-version-shield]][npm-version-link] | ![][npm-license-shield] | ![][npm-downloads-shield] | ⭕️ | ⭕️ |

## Introduction

## Usage

### Installation

```shell
# Using npm
npm install @smx913/docs-drawing-ui

# Using pnpm
pnpm add @smx913/docs-drawing-ui
```

<!-- Links -->
[npm-version-shield]: https://img.shields.io/npm/v/@smx913/docs-drawing-ui?style=flat-square
[npm-version-link]: https://npmjs.com/package/@smx913/docs-drawing-ui
[npm-license-shield]: https://img.shields.io/npm/l/@smx913/docs-drawing-ui?style=flat-square
[npm-downloads-shield]: https://img.shields.io/npm/dm/@smx913/docs-drawing-ui?style=flat-square
npm package: @smx913/docs-hyper-link
Description: Univer thread comment plugin
Author: DreamNum
Latest version: 0.12.3

# @smx913/docs-hyper-link

## Introduction

`@smx913/docs-hyper-link` provides the link function of Univer Docs.

## Usage

### Installation

```shell
# Using npm
npm install @smx913/docs-hyper-link

# Using pnpm
pnpm add @smx913/docs-hyper-link
```

### Register the plugin

```typescript
import { UniverDocsHyperLinkUIPlugin} from '@smx913/docs-hyper-link';

univer.registerPlugin(UniverDocsHyperLinkUIPlugin);
```

<!-- Links -->
[npm-version-shield]: https://img.shields.io/npm/v/@smx913/docs-hyper-link?style=flat-square
[npm-version-link]: https://npmjs.com/package/@smx913/docs-hyper-link
[npm-license-shield]: https://img.shields.io/npm/l/@smx913/docs-hyper-link?style=flat-square
[npm-downloads-shield]: https://img.shields.io/npm/dm/@smx913/docs-hyper-link?style=flat-square
npm package: @smx913/docs-hyper-link-ui
Description: Univer thread comment plugin
Author: DreamNum
Latest version: 0.12.3

# @smx913/docs-hyper-link-ui

## Introduction

`@smx913/docs-hyper-link-ui` provides the link function of Univer Docs.

## Usage

### Installation

```shell
# Using npm
npm install @smx913/docs-hyper-link-ui

# Using pnpm
pnpm add @smx913/docs-hyper-link-ui
```

### Register the plugin

```typescript
import { UniverDocsHyperLinkUIPlugin} from '@smx913/docs-hyper-link-ui';

univer.registerPlugin(UniverDocsHyperLinkUIPlugin);
```

<!-- Links -->
[npm-version-shield]: https://img.shields.io/npm/v/@smx913/docs-hyper-link-ui?style=flat-square
[npm-version-link]: https://npmjs.com/package/@smx913/docs-hyper-link-ui
[npm-license-shield]: https://img.shields.io/npm/l/@smx913/docs-hyper-link-ui?style=flat-square
[npm-downloads-shield]: https://img.shields.io/npm/dm/@smx913/docs-hyper-link-ui?style=flat-square
npm package: @smx913/docs-quick-insert-ui
Description: ## Package Overview
Author: DreamNum
Latest version: 0.12.3

# @smx913/docs-quick-insert-ui

## Package Overview

| Package Name | UMD Namespace | Version | License | Downloads | Contains CSS | Contains i18n locales |
| --- | --- | --- | --- | --- | :---: | :---: |
| `@smx913/docs-quick-insert-ui` | `UniverDocsDrawingUi` | [![][npm-version-shield]][npm-version-link] | ![][npm-license-shield] | ![][npm-downloads-shield] | ⭕️ | ⭕️ |

## Introduction

## Usage

### Installation

```shell
# Using npm
npm install @smx913/docs-quick-insert-ui

# Using pnpm
pnpm add @smx913/docs-quick-insert-ui
```

<!-- Links -->
[npm-version-shield]: https://img.shields.io/npm/v/@smx913/docs-quick-insert-ui?style=flat-square
[npm-version-link]: https://npmjs.com/package/@smx913/docs-quick-insert-ui
[npm-license-shield]: https://img.shields.io/npm/l/@smx913/docs-quick-insert-ui?style=flat-square
[npm-downloads-shield]: https://img.shields.io/npm/dm/@smx913/docs-quick-insert-ui?style=flat-square
npm package: @smx913/docs-thread-comment-ui
Description: Univer thread comment plugin
Author: DreamNum
Latest version: 0.12.3

# @smx913/sheets-thread-comment

## Package Overview

| Package Name | UMD Namespace | Version | License | Downloads | Contains CSS | Contains i18n locales |
| --- | --- | --- | --- | --- | :---: | :---: |
| `@smx913/sheets-thread-comment` | `UniverSheetsThreadComment` | [![][npm-version-shield]][npm-version-link] | ![][npm-license-shield] | ![][npm-downloads-shield] | ⭕️ | ⭕️ |

## Introduction

`@smx913/sheets-thread-comment` provides the comment/annotation function of Univer Sheets.

## Usage

### Installation

```shell
# Using npm
npm install @smx913/sheets-thread-comment

# Using pnpm
pnpm add @smx913/sheets-thread-comment
```

### Register the plugin

```typescript
import { UniverDocsThreadCommentUIPlugin } from '@smx913/docs-thread-comment-ui';

univer.registerPlugin(UniverDocsThreadCommentUIPlugin);
```

<!-- Links -->
[npm-version-shield]: https://img.shields.io/npm/v/@smx913/docs-hyper-link-ui?style=flat-square
[npm-version-link]: https://npmjs.com/package/@smx913/docs-hyper-link-ui
[npm-license-shield]: https://img.shields.io/npm/l/@smx913/docs-hyper-link-ui?style=flat-square
[npm-downloads-shield]: https://img.shields.io/npm/dm/@smx913/docs-hyper-link-ui?style=flat-square
npm package: @smx913/docs-ui
Description: Univer normal ui-plugin-docs
Author: DreamNum
Latest version: 0.12.3

# @smx913/docs-ui

## Package Overview

| Package Name | UMD Namespace | Version | License | Downloads | Contains CSS | Contains i18n locales |
| --- | --- | --- | --- | --- | :---: | :---: |
| `@smx913/docs-ui` | `UniverDocsUi` | [![][npm-version-shield]][npm-version-link] | ![][npm-license-shield] | ![][npm-downloads-shield] | ⭕️ | ⭕️ |

## Introduction

`@smx913/docs-ui` package provides the User Interface for Docs.

## Usage

### Installation

```shell
# Using npm
npm install @smx913/docs-ui

# Using pnpm
pnpm add @smx913/docs-ui
```

<!-- Links -->
[npm-version-shield]: https://img.shields.io/npm/v/@smx913/docs-ui?style=flat-square
[npm-version-link]: https://npmjs.com/package/@smx913/docs-ui
[npm-license-shield]: https://img.shields.io/npm/l/@smx913/docs-ui?style=flat-square
[npm-downloads-shield]: https://img.shields.io/npm/dm/@smx913/docs-ui?style=flat-square
npm package: @smx913/drawing
Description: ## Package Overview
Author: DreamNum
Latest version: 0.12.3

# @smx913/drawing

## Package Overview

| Package Name | UMD Namespace | Version | License | Downloads | Contains CSS | Contains i18n locales |
| --- | --- | --- | --- | --- | :---: | :---: |
| `@smx913/drawing` | `UniverDrawing` | [![][npm-version-shield]][npm-version-link] | ![][npm-license-shield] | ![][npm-downloads-shield] | ❌ | ❌ |

## Introduction

## Usage

### Installation

```shell
# Using npm
npm install @smx913/drawing

# Using pnpm
pnpm add @smx913/drawing
```

<!-- Links -->
[npm-version-shield]: https://img.shields.io/npm/v/@smx913/drawing?style=flat-square
[npm-version-link]: https://npmjs.com/package/@smx913/drawing
[npm-license-shield]: https://img.shields.io/npm/l/@smx913/drawing?style=flat-square
[npm-downloads-shield]: https://img.shields.io/npm/dm/@smx913/drawing?style=flat-square
npm package: @smx913/drawing-ui
Description: ## Package Overview
Author: DreamNum
Latest version: 0.12.3

# @smx913/drawing-ui

## Package Overview

| Package Name | UMD Namespace | Version | License | Downloads | Contains CSS | Contains i18n locales |
| --- | --- | --- | --- | --- | :---: | :---: |
| `@smx913/drawing-ui` | `UniverDrawingUi` | [![][npm-version-shield]][npm-version-link] | ![][npm-license-shield] | ![][npm-downloads-shield] | ❌ | ❌ |

## Introduction

## Usage

### Installation

```shell
# Using npm
npm install @smx913/drawing

# Using pnpm
pnpm add @smx913/drawing
```

<!-- Links -->
[npm-version-shield]: https://img.shields.io/npm/v/@smx913/drawing-ui?style=flat-square
[npm-version-link]: https://npmjs.com/package/@smx913/drawing-ui
[npm-license-shield]: https://img.shields.io/npm/l/@smx913/drawing-ui?style=flat-square
[npm-downloads-shield]: https://img.shields.io/npm/dm/@smx913/drawing-ui?style=flat-square
npm package: @smx913/engine-formula
Description: UniverSheet normal base-formula-engine
Author: DreamNum
Latest version: 0.12.3

# @smx913/engine-formula

## Package Overview

| Package Name | UMD Namespace | Version | License | Downloads | Contains CSS | Contains i18n locales |
| --- | --- | --- | --- | --- | :---: | :---: |
| `@smx913/engine-formula` | `UniverEngineFormula` | [![][npm-version-shield]][npm-version-link] | ![][npm-license-shield] | ![][npm-downloads-shield] | ❌ | ❌ |

## Introduction

The `@smx913/engine-formula` is a formula engine that provides fundamental capabilities for formula computation, including but not limited to: formula string parsing, formula calculation, and formula dependency analysis.

## Usage

### Installation

```shell
# Using npm
npm install @smx913/engine-formula

# Using pnpm
pnpm add @smx913/engine-formula
```

<!-- Links -->
[npm-version-shield]: https://img.shields.io/npm/v/@smx913/engine-formula?style=flat-square
[npm-version-link]: https://npmjs.com/package/@smx913/engine-formula
[npm-license-shield]: https://img.shields.io/npm/l/@smx913/engine-formula?style=flat-square
[npm-downloads-shield]: https://img.shields.io/npm/dm/@smx913/engine-formula?style=flat-square
npm package: @smx913/engine-render
Description: UniverSheet normal base-render
Author: DreamNum
Latest version: 0.12.3

# @smx913/engine-render

## Package Overview

| Package Name | UMD Namespace | Version | License | Downloads | Contains CSS | Contains i18n locales |
| --- | --- | --- | --- | --- | :---: | :---: |
| `@smx913/engine-render` | `UniverEngineRender` | [![][npm-version-shield]][npm-version-link] | ![][npm-license-shield] | ![][npm-downloads-shield] | ❌ | ❌ |

## Introduction

The `@smx913/engine-render` provides the ability to render Univer documents on a canvas element, including the capability to draw graphical elements, handle cursor interactions, and process scrolling and zooming.

The rendering layer for various document types is extended based on the foundational infrastructure provided by `@smx913/engine-render`.

## Usage

### Installation

```shell
# Using npm
npm install @smx913/engine-render

# Using pnpm
pnpm add @smx913/engine-render
```

<!-- Links -->
[npm-version-shield]: https://img.shields.io/npm/v/@smx913/engine-render?style=flat-square
[npm-version-link]: https://npmjs.com/package/@smx913/engine-render
[npm-license-shield]: https://img.shields.io/npm/l/@smx913/engine-render?style=flat-square
[npm-downloads-shield]: https://img.shields.io/npm/dm/@smx913/engine-render?style=flat-square
npm package: @smx913/network
Description: ## Package Overview
Author: DreamNum
Latest version: 0.12.3

# @smx913/network

## Package Overview

| Package Name | UMD Namespace | Version | License | Downloads | Contains CSS | Contains i18n locales |
| --- | --- | --- | --- | --- | :---: | :---: |
| `@smx913/network` | `UniverNetwork` | [![][npm-version-shield]][npm-version-link] | ![][npm-license-shield] | ![][npm-downloads-shield] | ❌ | ❌ |

## Introduction

The `@smx913/network` library provides basic network service capabilities, primarily for use in collaborative editing scenarios.

## Usage

### Installation

```shell
# Using npm
npm install @smx913/network

# Using pnpm
pnpm add @smx913/network
```

## Credit

This package is inspired by [Angular's implementation](https://github.com/angular/angular/tree/main/packages/common/http). Removed zone.js dependency and features that are not necessary for Univer.

<!-- Links -->
[npm-version-shield]: https://img.shields.io/npm/v/@smx913/network?style=flat-square
[npm-version-link]: https://npmjs.com/package/@smx913/network
[npm-license-shield]: https://img.shields.io/npm/l/@smx913/network?style=flat-square
[npm-downloads-shield]: https://img.shields.io/npm/dm/@smx913/network?style=flat-square
npm package: @smx913/rpc
Description: ## Package Overview
Author: DreamNum
Latest version: 0.12.3

# @smx913/rpc

## Package Overview

| Package Name | UMD Namespace | Version | License | Downloads | Contains CSS | Contains i18n locales |
| --- | --- | --- | --- | --- | :---: | :---: |
| `@smx913/rpc` | `UniverRpc` | [![][npm-version-shield]][npm-version-link] | ![][npm-license-shield] | ![][npm-downloads-shield] | ❌ | ❌ |

## Introduction

When handling some time-intensive tasks, such as formula computation, Univer can offload them to a location outside of the main thread, such as a Web Worker thread. The `@smx913/rpc` library provides an RPC mechanism that simplifies communication between the main thread and other threads.

For more information, see the [Architecture of Web Worker](https://docs.univer.ai/guides/recipes/architecture/web-worker).

## Usage

### Installation

```shell
# Using npm
npm install @smx913/rpc

# Using pnpm
pnpm add @smx913/rpc
```

<!-- Links -->
[npm-version-shield]: https://img.shields.io/npm/v/@smx913/rpc?style=flat-square
[npm-version-link]: https://npmjs.com/package/@smx913/rpc
[npm-license-shield]: https://img.shields.io/npm/l/@smx913/rpc?style=flat-square
[npm-downloads-shield]: https://img.shields.io/npm/dm/@smx913/rpc?style=flat-square
npm package: @smx913/rpc-node
Description: [![npm version](https://img.shields.io/npm/v/@smx913/rpc-node)](https://npmjs.org/packages/@smx913/rpc-node) [![license](https://img.shields.io/npm/l/@smx913/rpc-node)](https://img.shields.io/npm/l/@smx913/rpc-node)
Author: DreamNum
Latest version: 0.12.3

# @smx913/rpc-node

[![npm version](https://img.shields.io/npm/v/@smx913/rpc-node)](https://npmjs.org/packages/@smx913/rpc-node)
[![license](https://img.shields.io/npm/l/@smx913/rpc-node)](https://img.shields.io/npm/l/@smx913/rpc-node)

## Introduction

> TODO: Introduction

## Usage

### Installation

```shell
npm i @smx913/rpc-node
```
npm package: @smx913/sheets
Description: UniverSheet normal base-sheets
Author: DreamNum
Latest version: 0.12.3

# @smx913/sheets

## Package Overview

| Package Name | UMD Namespace | Version | License | Downloads | Contains CSS | Contains i18n locales |
| --- | --- | --- | --- | --- | :---: | :---: |
| `@smx913/sheets` | `UniverSheets` | [![][npm-version-shield]][npm-version-link] | ![][npm-license-shield] | ![][npm-downloads-shield] | ❌ | ⭕️ |

## Introduction

`@smx913/sheets` serves as the foundation for the core business logic of spreadsheets, with base-sheets designed to be UI-agnostic, allowing for functionality such as collaborative editing to be implemented in a Node.js environment.

`@smx913/sheets` provides the following capabilities for Univer Sheet:

* Core functionality, including numerical formatting, selection management, permissions, etc.
* Commands/mutations for modifying spreadsheet data
* Formula core functionality
* Core numerical formatting functionality

## Usage

### Installation

```shell
# Using npm
npm install @smx913/sheets

# Using pnpm
pnpm add @smx913/sheets
```

### `SheetInterceptorService`

`SheetInterceptorService` is a more specialized service provided by `@smx913/sheets` that allows higher-level business to modify the results of operations such as obtaining cell data, retrieving row/column hiding information from a Worksheet, and supplementing mutations or operations at specific command executions. This service's primary goal is to enable specific functionalities, including:

1. Sheet formulas
2. Sheet conditional formatting
3. Sheet data validation
4. Sheet pivot tables

For detailed usage, please refer to the API documentation.

#### When to use `SheetInterceptorService` and when not to?

Use `SheetInterceptorService` when multiple features need to operate on the same data or state, but do not have a clear dependency relationship. For example: pivot tables, formulas, conditional formatting, data validation, and raw cell data can all affect how other features retrieve a cell's value, but they do not depend on each other. In this case, using `SheetInterceptorService` to implement these features is appropriate.

However, if one feature relies explicitly on another feature, such as a formula needing to perform certain actions when the fill down or copy-paste functions are called, the formula module should directly depend on the fill down and copy-paste modules, instead of using `SheetInterceptorService` for implementation.

<!-- Links -->
[npm-version-shield]: https://img.shields.io/npm/v/@smx913/sheets?style=flat-square
[npm-version-link]: https://npmjs.com/package/@smx913/sheets
[npm-license-shield]: https://img.shields.io/npm/l/@smx913/sheets?style=flat-square
[npm-downloads-shield]: https://img.shields.io/npm/dm/@smx913/sheets?style=flat-square
npm package: @smx913/sheets-conditional-formatting
Description: Conditional formatting plugin for Univer Sheets
Author: DreamNum
Latest version: 0.12.3

# @smx913/sheets-conditional-formatting

## Package Overview

| Package Name | UMD Namespace | Version | License | Downloads | Contains CSS | Contains i18n locales |
| --- | --- | --- | --- | --- | :---: | :---: |
| `@smx913/sheets-conditional-formatting` | `UniverSheetsConditionalFormatting` | [![][npm-version-shield]][npm-version-link] | ![][npm-license-shield] | ![][npm-downloads-shield] | ❌ | ❌ |

## Introduction

`@smx913/sheets-conditional-formatting` provides Univer Sheet with basic capabilities for conditional format rendering computation.

## Usage

### Installation

```shell
# Using npm
npm install @smx913/sheets-conditional-formatting

# Using pnpm
pnpm add @smx913/sheets-conditional-formatting
```

### Register the plugin

```typescript
import { UniverSheetsConditionalFormattingPlugin } from '@smx913/sheets-conditional-formatting';

univer.registerPlugin(UniverSheetsConditionalFormattingPlugin);
```

<!-- Links -->
[npm-version-shield]: https://img.shields.io/npm/v/@smx913/sheets-conditional-formatting?style=flat-square
[npm-version-link]: https://npmjs.com/package/@smx913/sheets-conditional-formatting
[npm-license-shield]: https://img.shields.io/npm/l/@smx913/sheets-conditional-formatting?style=flat-square
[npm-downloads-shield]: https://img.shields.io/npm/dm/@smx913/sheets-conditional-formatting?style=flat-square
npm package: @smx913/sheets-conditional-formatting-ui
Description: Conditional formatting plugin for Univer Sheets
Author: DreamNum
Latest version: 0.12.3

# @smx913/sheets-conditional-formatting-ui

## Package Overview

| Package Name | UMD Namespace | Version | License | Downloads | Contains CSS | Contains i18n locales |
| --- | --- | --- | --- | --- | :---: | :---: |
| `@smx913/sheets-conditional-formatting-ui` | `UniverSheetsConditionalFormattingUi` | [![][npm-version-shield]][npm-version-link] | ![][npm-license-shield] | ![][npm-downloads-shield] | ⭕️ | ⭕️ |

## Introduction

`@smx913/sheets-conditional-formatting-ui` provides full capabilities for Univer Sheet conditional formatting, including panel capabilities.

## Usage

### Installation

```shell
# Using npm
npm install @smx913/sheets-conditional-formatting-ui

# Using pnpm
pnpm add @smx913/sheets-conditional-formatting-ui
```

### Register the plugin

```typescript
import { UniverSheetsConditionalFormattingUIPlugin } from '@smx913/sheets-conditional-formatting-ui';

univer.registerPlugin(UniverSheetsConditionalFormattingUIPlugin);
```

<!-- Links -->
[npm-version-shield]: https://img.shields.io/npm/v/@smx913/sheets-conditional-formatting-ui?style=flat-square
[npm-version-link]: https://npmjs.com/package/@smx913/sheets-conditional-formatting-ui
[npm-license-shield]: https://img.shields.io/npm/l/@smx913/sheets-conditional-formatting-ui?style=flat-square
[npm-downloads-shield]: https://img.shields.io/npm/dm/@smx913/sheets-conditional-formatting-ui?style=flat-square
npm package: @smx913/sheets-crosshair-highlight
Description: ## Package Overview
Author: DreamNum
Latest version: 0.12.3

# @smx913/sheets-crosshair-highlight

## Package Overview

| Package Name | UMD Namespace | Version | License | Downloads | Contains CSS | Contains i18n locales |
| --- | --- | --- | --- | --- | :---: | :---: |
| `@smx913/sheets-crosshair-highlight` | `UniverSheetsCrosshairHighlight` | [![][npm-version-shield]][npm-version-link] | ![][npm-license-shield] | ![][npm-downloads-shield] | ⭕️ | ⭕️ |

## Introduction

This plugin adds a crosshair highlight to the Univer Sheet.

## Usage

### Installation

```shell
# Using npm
npm i @smx913/sheets-crosshair-highlight

# Using pnpm
pnpm add @smx913/sheets-crosshair-highlight
```

<!-- Links -->
[npm-version-shield]: https://img.shields.io/npm/v/@smx913/sheets-crosshair-highlight?style=flat-square
[npm-version-link]: https://npmjs.com/package/@smx913/sheets-crosshair-highlight
[npm-license-shield]: https://img.shields.io/npm/l/@smx913/sheets-crosshair-highlight?style=flat-square
[npm-downloads-shield]: https://img.shields.io/npm/dm/@smx913/sheets-crosshair-highlight?style=flat-square
npm package: @smx913/sheets-data-validation-ui
Description: Data validation UI for Univer Sheets
Author: DreamNum
Latest version: 0.12.3

# @smx913/sheets-data-validation-ui

## Package Overview

| Package Name | UMD Namespace | Version | License | Downloads | Contains CSS | Contains i18n locales |
| --- | --- | --- | --- | --- | :---: | :---: |
| `@smx913/sheets-data-validation-ui` | `UniverSheetsDataValidationUi` | [![][npm-version-shield]][npm-version-link] | ![][npm-license-shield] | ![][npm-downloads-shield] | ⭕️ | ⭕️ |

## Introduction

> `@smx913/sheets-data-validation-ui` provides UI Univer Sheet data validation.

## Usage

### Installation

```shell
# Using npm
npm i @smx913/sheets-data-validation-ui

# Using pnpm
pnpm add
```

### Register the plugin

```typescript
import { UniverSheetsDataValidationUiPlugin } from '@smx913/sheets-data-validation-ui';

univer.registerPlugin(UniverDataValidationPlugin);
univer.registerPlugin(UniverSheetsDataValidationUiPlugin);
```

<!-- Links -->
[npm-version-shield]: https://img.shields.io/npm/v/@smx913/sheets-data-validation-ui?style=flat-square
[npm-version-link]: https://npmjs.com/package/@smx913/sheets-data-validation-ui
[npm-license-shield]: https://img.shields.io/npm/l/@smx913/sheets-data-validation-ui?style=flat-square
[npm-downloads-shield]: https://img.shields.io/npm/dm/@smx913/sheets-data-validation-ui?style=flat-square
npm package: @smx913/sheets-drawing
Description: ## Package Overview
Author: DreamNum
Latest version: 0.12.3

# @smx913/sheets-drawing

## Package Overview

| Package Name | UMD Namespace | Version | License | Downloads | Contains CSS | Contains i18n locales |
| --- | --- | --- | --- | --- | :---: | :---: |
| `@smx913/sheets-drawing` | `UniverSheetsDrawing` | [![][npm-version-shield]][npm-version-link] | ![][npm-license-shield] | ![][npm-downloads-shield] | ❌ | ❌ |

## Introduction

This plugin adds drawing features to Univer.

### Installation

```shell
# Using npm
npm install @smx913/sheets-drawing

# Using pnpm
pnpm add @smx913/sheets-drawing
```

<!-- Links -->
[npm-version-shield]: https://img.shields.io/npm/v/@smx913/sheets-drawing?style=flat-square
[npm-version-link]: https://npmjs.com/package/@smx913/sheets-drawing
[npm-license-shield]: https://img.shields.io/npm/l/@smx913/sheets-drawing?style=flat-square
[npm-downloads-shield]: https://img.shields.io/npm/dm/@smx913/sheets-drawing?style=flat-square
npm package: @smx913/sheets-filter
Description: A library for filtering data in Univer Sheet
Author: DreamNum
Latest version: 0.12.3

# @smx913/sheets-filter

## Package Overview

| Package Name | UMD Namespace | Version | License | Downloads | Contains CSS | Contains i18n locales |
| --- | --- | --- | --- | --- | :---: | :---: |
| `@smx913/sheets-filter` | `UniverSheetsFilter` | [![][npm-version-shield]][npm-version-link] | ![][npm-license-shield] | ![][npm-downloads-shield] | ❌ | ❌ |

## Introduction

`@smx913/sheets-filter` is a filter plugin for Univer Sheet.

## Usage

You should use this plugin with the `@smx913/sheets-filter-ui` package.

### Installation

```shell
# Using npm
npm install @smx913/sheets-filter

# Using pnpm
pnpm add @smx913/sheets-filter
```

<!-- Links -->
[npm-version-shield]: https://img.shields.io/npm/v/@smx913/sheets-filter?style=flat-square
[npm-version-link]: https://npmjs.com/package/@smx913/sheets-filter
[npm-license-shield]: https://img.shields.io/npm/l/@smx913/sheets-filter?style=flat-square
[npm-downloads-shield]: https://img.shields.io/npm/dm/@smx913/sheets-filter?style=flat-square
npm package: @smx913/sheets-filter-ui
Description: Univer Sheets Filter UI
Author: DreamNum
Latest version: 0.12.3

# @smx913/sheets-filter-ui

## Package Overview

| Package Name | UMD Namespace | Version | License | Downloads | Contains CSS | Contains i18n locales |
| --- | --- | --- | --- | --- | :---: | :---: |
| `@smx913/sheets-filter-ui` | `UniverSheetsFilterUi` | [![][npm-version-shield]][npm-version-link] | ![][npm-license-shield] | ![][npm-downloads-shield] | ⭕️ | ⭕️ |

## Introduction

`@smx913/sheets-filter-ui` provides a user interface for filtering in sheets.

## Usage

You should use this plugin with the `@smx913/sheets-filter` package.

```typescript
import '@smx913/sheets-filter-ui/lib/index.css';

import { UniverSheetsFilterPlugin } from '@smx913/sheets-filter';
import { UniverSheetsFilterUIPlugin } from '@smx913/sheets-filter-ui';

univer.registerPlugin(UniverSheetsFilterPlugin);
univer.registerPlugin(UniverSheetsFilterUIPlugin);
```

### Installation

```shell
# Using npm
npm install @smx913/sheets-filter-ui

# Using pnpm
pnpm add @smx913/sheets-filter-ui
```

<!-- Links -->
[npm-version-shield]: https://img.shields.io/npm/v/@smx913/sheets-filter-ui?style=flat-square
[npm-version-link]: https://npmjs.com/package/@smx913/sheets-filter-ui
[npm-license-shield]: https://img.shields.io/npm/l/@smx913/sheets-filter-ui?style=flat-square
[npm-downloads-shield]: https://img.shields.io/npm/dm/@smx913/sheets-filter-ui?style=flat-square
npm package: @smx913/sheets-formula
Description: ## Package Overview
Author: DreamNum
Latest version: 0.12.3

# @smx913/sheets-formula

## Package Overview

| Package Name | UMD Namespace | Version | License | Downloads | Contains CSS | Contains i18n locales |
| --- | --- | --- | --- | --- | :---: | :---: |
| `@smx913/sheets-formula` | `UniverSheetsFormula` | [![][npm-version-shield]][npm-version-link] | ![][npm-license-shield] | ![][npm-downloads-shield] | ⭕️ | ⭕️ |

## Introduction

`@smx913/sheets-formula` provides the ability to edit formulas in spreadsheets, including features such as auto-completion, formula suggestions, drop-down filling for formulas, and copy-paste functionality.

> [!NOTE]
> Formula calculation is one of the core functionalities of spreadsheets, and formula calculation scheduling is done in `@smx913/sheets`.

## Usage

### Installation

```shell
# Using npm
npm install @smx913/sheets-formula

# Using pnpm
pnpm add @smx913/sheets-formula
```

### How To Customize Formulas

If the officially provided formula does not meet your needs, you can expand the formula yourself. Depending on different needs, we provide multiple ways to support registering one or more custom formulas.

- [Register formula using Facade API](https://reference.univer.ai/zh-CN/classes/FFormula#registerfunction)
- [Custom Formula](https://docs.univer.ai/guides/recipes/tutorials/custom-formula)

<!-- Links -->
[npm-version-shield]: https://img.shields.io/npm/v/@smx913/sheets-formula?style=flat-square
[npm-version-link]: https://npmjs.com/package/@smx913/sheets-formula
[npm-license-shield]: https://img.shields.io/npm/l/@smx913/sheets-formula?style=flat-square
[npm-downloads-shield]: https://img.shields.io/npm/dm/@smx913/sheets-formula?style=flat-square
npm package: @smx913/sheets-note
Description: Univer sheets note base plugin
Author: DreamNum
Latest version: 0.12.3

# @smx913/sheets-note

| Package | Description | Version | License | Downloads | Continuous Integration | Coverage |
|---------|-------------|---------|----------|-----------|----------------------|----------|
| `@smx913/sheets-note` | `UniverSheetsNote` | [![][npm-version-shield]][npm-version-link] | ![][npm-license-shield] | ![][npm-downloads-shield] | ❌ | ❌ |

## Introduction

`@smx913/sheets-note` core package for sheet note. For using, please refer to [@smx913/sheets-note](../sheets-note/README.md)

## Usage

### Installation

```shell
npm install @smx913/sheets-note
```

or

```shell
pnpm add @smx913/sheets-note
```

[npm-version-shield]: https://img.shields.io/npm/v/@smx913/sheets-note?style=flat-square
[npm-version-link]: https://npmjs.com/package/@smx913/sheets-note
[npm-license-shield]: https://img.shields.io/npm/l/@smx913/sheets-note?style=flat-square
[npm-downloads-shield]: https://img.shields.io/npm/dm/@smx913/sheets-note?style=flat-square
npm package: @smx913/ui
Description: UniverSheet normal plugin UI manager
Author: DreamNum
Latest version: 0.1.5-custom

# @univerjs/ui

## Package Overview

| Package Name | UMD Namespace | Version | License | Downloads | Contains CSS | Contains i18n locales |
| --- | --- | --- | --- | --- | :---: | :---: |
| `@univerjs/ui` | `UniveUi` | [![][npm-version-shield]][npm-version-link] | ![][npm-license-shield] | ![][npm-downloads-shield] | ⭕️ | ⭕️ |

## Introduction

`@univerjs/ui` defines basic UI services and provides a set of desktop Workbench implementations based on React.

Please note that this implementation can only display only 1 unit in the workbench. If you would like to embed units
into a rich text document, or a mind node, you should implement a new UI plugin for that. Refer to our uniui
plugin for an example.

## Usage

### Installation

```shell
# Using npm
npm install @univerjs/ui

# Using pnpm
pnpm add @univerjs/ui
```

This package contains CSS and has the second highest priority. Please import it after `@univerjs/design` and before any other Univer style files.

### UI service

UI services define a set of user interface services that run on the client side but are agnostic to the specific host environment (such as desktop browsers, mobile webviews, etc.). By injecting these services, business functionalities can invoke the same interfaces across different hosts without worrying about host disparities.

These UI services include:

- Menu service, used to register menu items and their associated commands.
- Shortcut service, for registering keyboard shortcuts and their corresponding commands.
- Clipboard service, to read from or write to the clipboard.
- Popup service, which includes confirmations, dialogs, and more.

### Workbench

In addition to UI services, `@univerjs/ui` also implements a workspace based on React, which includes elements such as the title bar, toolbar, main content area, context menu, sidebar, and more. Businesses can customize the rendered content using the APIs provided by the Workbench.

<!-- Links -->
[npm-version-shield]: https://img.shields.io/npm/v/@univerjs/ui?style=flat-square
[npm-version-link]: https://npmjs.com/package/@univerjs/ui
[npm-license-shield]: https://img.shields.io/npm/l/@univerjs/ui?style=flat-square
[npm-downloads-shield]: https://img.shields.io/npm/dm/@univerjs/ui?style=flat-square