mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-11 20:08:37 +00:00
docs(editor): scaffolding docs generator (#10925)
This commit is contained in:
9
.github/workflows/build-test.yml
vendored
9
.github/workflows/build-test.yml
vendored
@@ -117,6 +117,15 @@ jobs:
|
|||||||
run: yarn dedupe --check
|
run: yarn dedupe --check
|
||||||
- name: Run Type Check
|
- name: Run Type Check
|
||||||
run: yarn typecheck
|
run: yarn typecheck
|
||||||
|
- name: Run BS Docs Build
|
||||||
|
run: |
|
||||||
|
yarn affine bs-docs build
|
||||||
|
git status --porcelain | grep . && {
|
||||||
|
echo "Run 'yarn typecheck && yarn affine bs-docs build' and make sure all changes are submitted"
|
||||||
|
exit 1
|
||||||
|
} || {
|
||||||
|
echo "All changes are submitted"
|
||||||
|
}
|
||||||
|
|
||||||
lint-rust:
|
lint-rust:
|
||||||
name: Lint Rust
|
name: Lint Rust
|
||||||
|
|||||||
@@ -35,3 +35,4 @@ packages/frontend/native/index.d.ts
|
|||||||
packages/frontend/native/index.js
|
packages/frontend/native/index.js
|
||||||
packages/frontend/apps/android/App/app/build/**
|
packages/frontend/apps/android/App/app/build/**
|
||||||
tests/blocksuite/snapshots
|
tests/blocksuite/snapshots
|
||||||
|
blocksuite/docs/api/**
|
||||||
|
|||||||
12
blocksuite/docs/README.md
Normal file
12
blocksuite/docs/README.md
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
# BlockSuite Docs
|
||||||
|
|
||||||
|
API docs for BlockSuite.
|
||||||
|
|
||||||
|
Generated by [typedoc](https://typedoc.org/).
|
||||||
|
|
||||||
|
## Build Docs
|
||||||
|
|
||||||
|
```bash
|
||||||
|
yarn typecheck
|
||||||
|
yarn af bs-docs build
|
||||||
|
```
|
||||||
12
blocksuite/docs/api/@blocksuite/block-std/README.md
Normal file
12
blocksuite/docs/api/@blocksuite/block-std/README.md
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
**@blocksuite/block-std**
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../README.md) / @blocksuite/block-std
|
||||||
|
|
||||||
|
# @blocksuite/block-std
|
||||||
|
|
||||||
|
## Modules
|
||||||
|
|
||||||
|
- [gfx](gfx/README.md)
|
||||||
|
- [index](index/README.md)
|
||||||
46
blocksuite/docs/api/@blocksuite/block-std/gfx/README.md
Normal file
46
blocksuite/docs/api/@blocksuite/block-std/gfx/README.md
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../README.md) / [@blocksuite/block-std](../README.md) / gfx
|
||||||
|
|
||||||
|
# gfx
|
||||||
|
|
||||||
|
## Classes
|
||||||
|
|
||||||
|
- [GfxBlockElementModel](classes/GfxBlockElementModel.md)
|
||||||
|
- [GfxSelectionManager](classes/GfxSelectionManager.md)
|
||||||
|
|
||||||
|
## Interfaces
|
||||||
|
|
||||||
|
- [GfxCompatibleInterface](interfaces/GfxCompatibleInterface.md)
|
||||||
|
- [GfxElementGeometry](interfaces/GfxElementGeometry.md)
|
||||||
|
- [GfxGroupCompatibleInterface](interfaces/GfxGroupCompatibleInterface.md)
|
||||||
|
- [PointTestOptions](interfaces/PointTestOptions.md)
|
||||||
|
|
||||||
|
## Type Aliases
|
||||||
|
|
||||||
|
- [GfxCommonBlockProps](type-aliases/GfxCommonBlockProps.md)
|
||||||
|
- [GfxCompatibleProps](type-aliases/GfxCompatibleProps.md)
|
||||||
|
|
||||||
|
## Variables
|
||||||
|
|
||||||
|
- [gfxGroupCompatibleSymbol](variables/gfxGroupCompatibleSymbol.md)
|
||||||
|
- [SURFACE\_TEXT\_UNIQ\_IDENTIFIER](variables/SURFACE_TEXT_UNIQ_IDENTIFIER.md)
|
||||||
|
- [SURFACE\_YMAP\_UNIQ\_IDENTIFIER](variables/SURFACE_YMAP_UNIQ_IDENTIFIER.md)
|
||||||
|
|
||||||
|
## Functions
|
||||||
|
|
||||||
|
- [canSafeAddToContainer](functions/canSafeAddToContainer.md)
|
||||||
|
- [compareLayer](functions/compareLayer.md)
|
||||||
|
- [convert](functions/convert.md)
|
||||||
|
- [derive](functions/derive.md)
|
||||||
|
- [generateKeyBetween](functions/generateKeyBetween.md)
|
||||||
|
- [generateKeyBetweenV2](functions/generateKeyBetweenV2.md)
|
||||||
|
- [generateNKeysBetween](functions/generateNKeysBetween.md)
|
||||||
|
- [getTopElements](functions/getTopElements.md)
|
||||||
|
- [GfxCompatible](functions/GfxCompatible.md)
|
||||||
|
- [isGfxGroupCompatibleModel](functions/isGfxGroupCompatibleModel.md)
|
||||||
|
- [local](functions/local.md)
|
||||||
|
- [observe](functions/observe.md)
|
||||||
|
- [watch](functions/watch.md)
|
||||||
@@ -0,0 +1,147 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [gfx](../README.md) / GfxBlockElementModel
|
||||||
|
|
||||||
|
# Class: GfxBlockElementModel\<Props\>
|
||||||
|
|
||||||
|
The graphic block model that can be rendered in the graphics mode.
|
||||||
|
All the graphic block model should extend this class.
|
||||||
|
You can use `GfxCompatibleBlockModel` to convert a BlockModel to a subclass that extends it.
|
||||||
|
|
||||||
|
## Extends
|
||||||
|
|
||||||
|
- `BlockModel`\<`Props`\>
|
||||||
|
|
||||||
|
## Type Parameters
|
||||||
|
|
||||||
|
### Props
|
||||||
|
|
||||||
|
`Props` *extends* [`GfxCompatibleProps`](../type-aliases/GfxCompatibleProps.md) = [`GfxCompatibleProps`](../type-aliases/GfxCompatibleProps.md)
|
||||||
|
|
||||||
|
## Implements
|
||||||
|
|
||||||
|
- [`GfxCompatibleInterface`](../interfaces/GfxCompatibleInterface.md)
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
|
||||||
|
### responseExtension
|
||||||
|
|
||||||
|
> **responseExtension**: \[`number`, `number`\]
|
||||||
|
|
||||||
|
Defines the extension of the response area beyond the element's bounding box.
|
||||||
|
This tuple specifies the horizontal and vertical margins to be added to the element's [x, y, width, height].
|
||||||
|
|
||||||
|
The first value represents the horizontal extension (added to both left and right sides),
|
||||||
|
and the second value represents the vertical extension (added to both top and bottom sides).
|
||||||
|
|
||||||
|
The response area is computed as:
|
||||||
|
`[x - horizontal, y - vertical, width + 2 * horizontal, height + 2 * vertical]`.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
- Bounding box: `[0, 0, 100, 100]`, `responseExtension: [10, 20]`
|
||||||
|
Resulting response area: `[-10, -20, 120, 140]`.
|
||||||
|
- `responseExtension: [0, 0]` keeps the response area equal to the bounding box.
|
||||||
|
|
||||||
|
#### Implementation of
|
||||||
|
|
||||||
|
[`GfxCompatibleInterface`](../interfaces/GfxCompatibleInterface.md).[`responseExtension`](../interfaces/GfxCompatibleInterface.md#responseextension)
|
||||||
|
|
||||||
|
## Accessors
|
||||||
|
|
||||||
|
### elementBound
|
||||||
|
|
||||||
|
#### Get Signature
|
||||||
|
|
||||||
|
> **get** **elementBound**(): `Bound`
|
||||||
|
|
||||||
|
The bound of the element without considering the response extension.
|
||||||
|
|
||||||
|
##### Returns
|
||||||
|
|
||||||
|
`Bound`
|
||||||
|
|
||||||
|
The bound of the element without considering the response extension.
|
||||||
|
|
||||||
|
#### Implementation of
|
||||||
|
|
||||||
|
[`GfxCompatibleInterface`](../interfaces/GfxCompatibleInterface.md).[`elementBound`](../interfaces/GfxCompatibleInterface.md#elementbound)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### lockedBySelf
|
||||||
|
|
||||||
|
#### Get Signature
|
||||||
|
|
||||||
|
> **get** **lockedBySelf**(): `undefined` \| `boolean`
|
||||||
|
|
||||||
|
Indicates whether the current block is explicitly locked by self.
|
||||||
|
For checking the lock status of the element, use `isLocked` instead.
|
||||||
|
For (un)locking the element, use `(un)lock` instead.
|
||||||
|
|
||||||
|
##### Returns
|
||||||
|
|
||||||
|
`undefined` \| `boolean`
|
||||||
|
|
||||||
|
#### Set Signature
|
||||||
|
|
||||||
|
> **set** **lockedBySelf**(`lockedBySelf`): `void`
|
||||||
|
|
||||||
|
Indicates whether the current block is explicitly locked by self.
|
||||||
|
For checking the lock status of the element, use `isLocked` instead.
|
||||||
|
For (un)locking the element, use `(un)lock` instead.
|
||||||
|
|
||||||
|
##### Parameters
|
||||||
|
|
||||||
|
###### lockedBySelf
|
||||||
|
|
||||||
|
`undefined` | `boolean`
|
||||||
|
|
||||||
|
##### Returns
|
||||||
|
|
||||||
|
`void`
|
||||||
|
|
||||||
|
Indicates whether the current block is explicitly locked by self.
|
||||||
|
For checking the lock status of the element, use `isLocked` instead.
|
||||||
|
For (un)locking the element, use `(un)lock` instead.
|
||||||
|
|
||||||
|
#### Implementation of
|
||||||
|
|
||||||
|
[`GfxCompatibleInterface`](../interfaces/GfxCompatibleInterface.md).[`lockedBySelf`](../interfaces/GfxCompatibleInterface.md#lockedbyself)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### responseBound
|
||||||
|
|
||||||
|
#### Get Signature
|
||||||
|
|
||||||
|
> **get** **responseBound**(): `Bound`
|
||||||
|
|
||||||
|
The bound of the element considering the response extension.
|
||||||
|
|
||||||
|
##### Returns
|
||||||
|
|
||||||
|
`Bound`
|
||||||
|
|
||||||
|
The bound of the element considering the response extension.
|
||||||
|
|
||||||
|
#### Implementation of
|
||||||
|
|
||||||
|
[`GfxCompatibleInterface`](../interfaces/GfxCompatibleInterface.md).[`responseBound`](../interfaces/GfxCompatibleInterface.md#responsebound)
|
||||||
|
|
||||||
|
## Methods
|
||||||
|
|
||||||
|
### isLocked()
|
||||||
|
|
||||||
|
> **isLocked**(): `boolean`
|
||||||
|
|
||||||
|
Check if the element is locked. It will check the lock status of the element and its ancestors.
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
|
||||||
|
`boolean`
|
||||||
|
|
||||||
|
#### Implementation of
|
||||||
|
|
||||||
|
[`GfxCompatibleInterface`](../interfaces/GfxCompatibleInterface.md).[`isLocked`](../interfaces/GfxCompatibleInterface.md#islocked)
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [gfx](../README.md) / GfxSelectionManager
|
||||||
|
|
||||||
|
# Class: GfxSelectionManager
|
||||||
|
|
||||||
|
GfxSelectionManager is just a wrapper of std selection providing
|
||||||
|
convenient method and states in gfx
|
||||||
|
|
||||||
|
## Extends
|
||||||
|
|
||||||
|
- `GfxExtension`
|
||||||
|
|
||||||
|
## Methods
|
||||||
|
|
||||||
|
### has()
|
||||||
|
|
||||||
|
> **has**(`element`): `boolean`
|
||||||
|
|
||||||
|
check if the element is selected in local
|
||||||
|
|
||||||
|
#### Parameters
|
||||||
|
|
||||||
|
##### element
|
||||||
|
|
||||||
|
`string`
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
|
||||||
|
`boolean`
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### hasRemote()
|
||||||
|
|
||||||
|
> **hasRemote**(`element`): `boolean`
|
||||||
|
|
||||||
|
check if element is selected by remote peers
|
||||||
|
|
||||||
|
#### Parameters
|
||||||
|
|
||||||
|
##### element
|
||||||
|
|
||||||
|
`string`
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
|
||||||
|
`boolean`
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [gfx](../README.md) / GfxCompatible
|
||||||
|
|
||||||
|
# Function: GfxCompatible()
|
||||||
|
|
||||||
|
> **GfxCompatible**\<`Props`, `T`\>(`BlockModelSuperClass`): *typeof* [`GfxBlockElementModel`](../classes/GfxBlockElementModel.md)
|
||||||
|
|
||||||
|
Convert a BlockModel to a GfxBlockElementModel.
|
||||||
|
|
||||||
|
## Type Parameters
|
||||||
|
|
||||||
|
### Props
|
||||||
|
|
||||||
|
`Props` *extends* [`GfxCompatibleProps`](../type-aliases/GfxCompatibleProps.md)
|
||||||
|
|
||||||
|
### T
|
||||||
|
|
||||||
|
`T` *extends* `Constructor`\<`BlockModel`\<`Props`\>\> = `Constructor`\<`BlockModel`\<`Props`\>\>
|
||||||
|
|
||||||
|
## Parameters
|
||||||
|
|
||||||
|
### BlockModelSuperClass
|
||||||
|
|
||||||
|
`T`
|
||||||
|
|
||||||
|
The BlockModel class to be converted.
|
||||||
|
|
||||||
|
## Returns
|
||||||
|
|
||||||
|
*typeof* [`GfxBlockElementModel`](../classes/GfxBlockElementModel.md)
|
||||||
|
|
||||||
|
The returned class is a subclass of the GfxBlockElementModel class and the given BlockModelSuperClass.
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [gfx](../README.md) / canSafeAddToContainer
|
||||||
|
|
||||||
|
# Function: canSafeAddToContainer()
|
||||||
|
|
||||||
|
> **canSafeAddToContainer**(`container`, `element`): `boolean`
|
||||||
|
|
||||||
|
This checker is used to prevent circular reference, when adding a child element to a container.
|
||||||
|
|
||||||
|
## Parameters
|
||||||
|
|
||||||
|
### container
|
||||||
|
|
||||||
|
`GfxGroupModel`
|
||||||
|
|
||||||
|
### element
|
||||||
|
|
||||||
|
[`GfxCompatibleInterface`](../interfaces/GfxCompatibleInterface.md)
|
||||||
|
|
||||||
|
## Returns
|
||||||
|
|
||||||
|
`boolean`
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [gfx](../README.md) / compareLayer
|
||||||
|
|
||||||
|
# Function: compareLayer()
|
||||||
|
|
||||||
|
> **compareLayer**(`a`, `b`): `SortOrder`
|
||||||
|
|
||||||
|
A comparator function for sorting elements in the surface.
|
||||||
|
SortOrder.AFTER means a should be rendered after b and so on.
|
||||||
|
|
||||||
|
## Parameters
|
||||||
|
|
||||||
|
### a
|
||||||
|
|
||||||
|
`GfxModel` | `GfxLocalElementModel`
|
||||||
|
|
||||||
|
### b
|
||||||
|
|
||||||
|
`GfxModel` | `GfxLocalElementModel`
|
||||||
|
|
||||||
|
## Returns
|
||||||
|
|
||||||
|
`SortOrder`
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [gfx](../README.md) / convert
|
||||||
|
|
||||||
|
# Function: convert()
|
||||||
|
|
||||||
|
> **convert**\<`V`, `T`\>(`fn`): (`_`, `context`) => `ClassAccessorDecoratorResult`\<`T`, `V`\>
|
||||||
|
|
||||||
|
The convert decorator is used to convert the property value before it's
|
||||||
|
set to the Y map.
|
||||||
|
|
||||||
|
Note:
|
||||||
|
1. This decorator function will not execute in model initialization.
|
||||||
|
|
||||||
|
## Type Parameters
|
||||||
|
|
||||||
|
### V
|
||||||
|
|
||||||
|
`V`
|
||||||
|
|
||||||
|
### T
|
||||||
|
|
||||||
|
`T` *extends* `GfxPrimitiveElementModel`\<`BaseElementProps`\>
|
||||||
|
|
||||||
|
## Parameters
|
||||||
|
|
||||||
|
### fn
|
||||||
|
|
||||||
|
(`propValue`, `instance`) => `unknown`
|
||||||
|
|
||||||
|
## Returns
|
||||||
|
|
||||||
|
`Function`
|
||||||
|
|
||||||
|
### Parameters
|
||||||
|
|
||||||
|
#### \_
|
||||||
|
|
||||||
|
`unknown`
|
||||||
|
|
||||||
|
#### context
|
||||||
|
|
||||||
|
`ClassAccessorDecoratorContext`
|
||||||
|
|
||||||
|
### Returns
|
||||||
|
|
||||||
|
`ClassAccessorDecoratorResult`\<`T`, `V`\>
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [gfx](../README.md) / derive
|
||||||
|
|
||||||
|
# Function: derive()
|
||||||
|
|
||||||
|
> **derive**\<`V`, `T`\>(`fn`): (`_`, `context`) => `ClassAccessorDecoratorResult`\<`GfxPrimitiveElementModel`\<`BaseElementProps`\>, `V`\>
|
||||||
|
|
||||||
|
The derive decorator is used to derive other properties' update when the
|
||||||
|
decorated property is updated through assignment in the local.
|
||||||
|
|
||||||
|
Note:
|
||||||
|
1. The first argument of the function is the new value of the decorated property
|
||||||
|
before the `convert` decorator is called.
|
||||||
|
2. The decorator function will execute after the decorated property has been updated.
|
||||||
|
3. The decorator function will not execute during model creation.
|
||||||
|
4. The decorator function will not execute if the decorated property is updated through
|
||||||
|
the Y map. That is to say, if other peers update the property will not trigger this decorator
|
||||||
|
|
||||||
|
## Type Parameters
|
||||||
|
|
||||||
|
### V
|
||||||
|
|
||||||
|
`V`
|
||||||
|
|
||||||
|
### T
|
||||||
|
|
||||||
|
`T` *extends* `GfxPrimitiveElementModel`\<`BaseElementProps`\>
|
||||||
|
|
||||||
|
## Parameters
|
||||||
|
|
||||||
|
### fn
|
||||||
|
|
||||||
|
(`propValue`, `instance`) => `Record`\<`string`, `unknown`\>
|
||||||
|
|
||||||
|
## Returns
|
||||||
|
|
||||||
|
`Function`
|
||||||
|
|
||||||
|
### Parameters
|
||||||
|
|
||||||
|
#### \_
|
||||||
|
|
||||||
|
`unknown`
|
||||||
|
|
||||||
|
#### context
|
||||||
|
|
||||||
|
`ClassAccessorDecoratorContext`
|
||||||
|
|
||||||
|
### Returns
|
||||||
|
|
||||||
|
`ClassAccessorDecoratorResult`\<`GfxPrimitiveElementModel`\<`BaseElementProps`\>, `V`\>
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [gfx](../README.md) / generateKeyBetween
|
||||||
|
|
||||||
|
# Function: generateKeyBetween()
|
||||||
|
|
||||||
|
> **generateKeyBetween**(`a`, `b`, `digits`?): `string`
|
||||||
|
|
||||||
|
## Parameters
|
||||||
|
|
||||||
|
### a
|
||||||
|
|
||||||
|
`undefined` | `null` | `string`
|
||||||
|
|
||||||
|
### b
|
||||||
|
|
||||||
|
`undefined` | `null` | `string`
|
||||||
|
|
||||||
|
### digits?
|
||||||
|
|
||||||
|
`string`
|
||||||
|
|
||||||
|
## Returns
|
||||||
|
|
||||||
|
`string`
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [gfx](../README.md) / generateKeyBetweenV2
|
||||||
|
|
||||||
|
# Function: generateKeyBetweenV2()
|
||||||
|
|
||||||
|
> **generateKeyBetweenV2**(`a`, `b`): `string`
|
||||||
|
|
||||||
|
generate a key between a and b, the result key is always satisfied with a < result < b.
|
||||||
|
the key always has a random suffix, so there is no need to worry about collision.
|
||||||
|
|
||||||
|
make sure a and b are generated by this function.
|
||||||
|
|
||||||
|
## Parameters
|
||||||
|
|
||||||
|
### a
|
||||||
|
|
||||||
|
`null` | `string`
|
||||||
|
|
||||||
|
### b
|
||||||
|
|
||||||
|
`null` | `string`
|
||||||
|
|
||||||
|
## Returns
|
||||||
|
|
||||||
|
`string`
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [gfx](../README.md) / generateNKeysBetween
|
||||||
|
|
||||||
|
# Function: generateNKeysBetween()
|
||||||
|
|
||||||
|
> **generateNKeysBetween**(`a`, `b`, `n`, `digits`?): `string`[]
|
||||||
|
|
||||||
|
same preconditions as generateKeysBetween.
|
||||||
|
n >= 0.
|
||||||
|
Returns an array of n distinct keys in sorted order.
|
||||||
|
If a and b are both null, returns [a0, a1, ...]
|
||||||
|
If one or the other is null, returns consecutive "integer"
|
||||||
|
keys. Otherwise, returns relatively short keys between
|
||||||
|
a and b.
|
||||||
|
|
||||||
|
## Parameters
|
||||||
|
|
||||||
|
### a
|
||||||
|
|
||||||
|
`undefined` | `null` | `string`
|
||||||
|
|
||||||
|
### b
|
||||||
|
|
||||||
|
`undefined` | `null` | `string`
|
||||||
|
|
||||||
|
### n
|
||||||
|
|
||||||
|
`number`
|
||||||
|
|
||||||
|
### digits?
|
||||||
|
|
||||||
|
`string`
|
||||||
|
|
||||||
|
## Returns
|
||||||
|
|
||||||
|
`string`[]
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [gfx](../README.md) / getTopElements
|
||||||
|
|
||||||
|
# Function: getTopElements()
|
||||||
|
|
||||||
|
> **getTopElements**(`elements`): `GfxModel`[]
|
||||||
|
|
||||||
|
Get the top elements from the list of elements, which are in some tree structures.
|
||||||
|
|
||||||
|
For example: a list `[G1, E1, G2, E2, E3, E4, G4, E5, E6]`,
|
||||||
|
and they are in the elements tree like:
|
||||||
|
```
|
||||||
|
G1 G4 E6
|
||||||
|
/ \ |
|
||||||
|
E1 G2 E5
|
||||||
|
/ \
|
||||||
|
E2 G3*
|
||||||
|
/ \
|
||||||
|
E3 E4
|
||||||
|
```
|
||||||
|
where the star symbol `*` denote it is not in the list.
|
||||||
|
|
||||||
|
The result should be `[G1, G4, E6]`
|
||||||
|
|
||||||
|
## Parameters
|
||||||
|
|
||||||
|
### elements
|
||||||
|
|
||||||
|
`GfxModel`[]
|
||||||
|
|
||||||
|
## Returns
|
||||||
|
|
||||||
|
`GfxModel`[]
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [gfx](../README.md) / isGfxGroupCompatibleModel
|
||||||
|
|
||||||
|
# Function: isGfxGroupCompatibleModel()
|
||||||
|
|
||||||
|
> **isGfxGroupCompatibleModel**(`elm`): `elm is GfxGroupModel`
|
||||||
|
|
||||||
|
Check if the element is a container element.
|
||||||
|
|
||||||
|
## Parameters
|
||||||
|
|
||||||
|
### elm
|
||||||
|
|
||||||
|
`unknown`
|
||||||
|
|
||||||
|
## Returns
|
||||||
|
|
||||||
|
`elm is GfxGroupModel`
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [gfx](../README.md) / local
|
||||||
|
|
||||||
|
# Function: local()
|
||||||
|
|
||||||
|
> **local**\<`V`, `T`\>(): (`_target`, `context`) => `ClassAccessorDecoratorResult`\<`T`, `V`\>
|
||||||
|
|
||||||
|
A decorator to mark the property as a local property.
|
||||||
|
|
||||||
|
The local property act like it is a field property, but it's not synced to the Y map.
|
||||||
|
Updating local property will also trigger the `elementUpdated` slot of the surface model
|
||||||
|
|
||||||
|
## Type Parameters
|
||||||
|
|
||||||
|
### V
|
||||||
|
|
||||||
|
`V`
|
||||||
|
|
||||||
|
### T
|
||||||
|
|
||||||
|
`T` *extends* `GfxPrimitiveElementModel`\<`BaseElementProps`\>
|
||||||
|
|
||||||
|
## Returns
|
||||||
|
|
||||||
|
`Function`
|
||||||
|
|
||||||
|
### Parameters
|
||||||
|
|
||||||
|
#### \_target
|
||||||
|
|
||||||
|
`ClassAccessorDecoratorTarget`\<`T`, `V`\>
|
||||||
|
|
||||||
|
#### context
|
||||||
|
|
||||||
|
`ClassAccessorDecoratorContext`
|
||||||
|
|
||||||
|
### Returns
|
||||||
|
|
||||||
|
`ClassAccessorDecoratorResult`\<`T`, `V`\>
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [gfx](../README.md) / observe
|
||||||
|
|
||||||
|
# Function: observe()
|
||||||
|
|
||||||
|
> **observe**\<`V`, `E`, `T`\>(`fn`): (`_`, `context`) => `ClassAccessorDecoratorResult`\<`GfxPrimitiveElementModel`\<`BaseElementProps`\>, `V`\>
|
||||||
|
|
||||||
|
A decorator to observe the y type property.
|
||||||
|
You can think of it is just a decorator version of 'observe' method of Y.Array and Y.Map.
|
||||||
|
|
||||||
|
The observer function start to observe the property when the model is mounted. And it will
|
||||||
|
re-observe the property automatically when the value is altered.
|
||||||
|
|
||||||
|
## Type Parameters
|
||||||
|
|
||||||
|
### V
|
||||||
|
|
||||||
|
`V`
|
||||||
|
|
||||||
|
### E
|
||||||
|
|
||||||
|
`E` *extends* `YEvent`\<`any`\>
|
||||||
|
|
||||||
|
### T
|
||||||
|
|
||||||
|
`T` *extends* `GfxPrimitiveElementModel`\<`BaseElementProps`\>
|
||||||
|
|
||||||
|
## Parameters
|
||||||
|
|
||||||
|
### fn
|
||||||
|
|
||||||
|
`ObserveFn`\<`E`, `T`\>
|
||||||
|
|
||||||
|
## Returns
|
||||||
|
|
||||||
|
`Function`
|
||||||
|
|
||||||
|
### Parameters
|
||||||
|
|
||||||
|
#### \_
|
||||||
|
|
||||||
|
`unknown`
|
||||||
|
|
||||||
|
#### context
|
||||||
|
|
||||||
|
`ClassAccessorDecoratorContext`
|
||||||
|
|
||||||
|
### Returns
|
||||||
|
|
||||||
|
`ClassAccessorDecoratorResult`\<`GfxPrimitiveElementModel`\<`BaseElementProps`\>, `V`\>
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [gfx](../README.md) / watch
|
||||||
|
|
||||||
|
# Function: watch()
|
||||||
|
|
||||||
|
> **watch**\<`V`, `T`\>(`fn`): (`_`, `context`) => `ClassAccessorDecoratorResult`\<`GfxPrimitiveElementModel`\<`BaseElementProps`\>, `V`\>
|
||||||
|
|
||||||
|
The watch decorator is used to watch the property change of the element.
|
||||||
|
You can thinks of it as a decorator version of `elementUpdated` slot of the surface model.
|
||||||
|
|
||||||
|
## Type Parameters
|
||||||
|
|
||||||
|
### V
|
||||||
|
|
||||||
|
`V`
|
||||||
|
|
||||||
|
### T
|
||||||
|
|
||||||
|
`T` *extends* `GfxPrimitiveElementModel`\<`BaseElementProps`\>
|
||||||
|
|
||||||
|
## Parameters
|
||||||
|
|
||||||
|
### fn
|
||||||
|
|
||||||
|
`WatchFn`\<`T`\>
|
||||||
|
|
||||||
|
## Returns
|
||||||
|
|
||||||
|
`Function`
|
||||||
|
|
||||||
|
### Parameters
|
||||||
|
|
||||||
|
#### \_
|
||||||
|
|
||||||
|
`unknown`
|
||||||
|
|
||||||
|
#### context
|
||||||
|
|
||||||
|
`ClassAccessorDecoratorContext`
|
||||||
|
|
||||||
|
### Returns
|
||||||
|
|
||||||
|
`ClassAccessorDecoratorResult`\<`GfxPrimitiveElementModel`\<`BaseElementProps`\>, `V`\>
|
||||||
@@ -0,0 +1,75 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [gfx](../README.md) / GfxCompatibleInterface
|
||||||
|
|
||||||
|
# Interface: GfxCompatibleInterface
|
||||||
|
|
||||||
|
All the model that can be rendered in graphics mode should implement this interface.
|
||||||
|
|
||||||
|
## Extends
|
||||||
|
|
||||||
|
- `IBound`.[`GfxElementGeometry`](GfxElementGeometry.md)
|
||||||
|
|
||||||
|
## Extended by
|
||||||
|
|
||||||
|
- [`GfxGroupCompatibleInterface`](GfxGroupCompatibleInterface.md)
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
|
||||||
|
### elementBound
|
||||||
|
|
||||||
|
> `readonly` **elementBound**: `Bound`
|
||||||
|
|
||||||
|
The bound of the element without considering the response extension.
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### lockedBySelf?
|
||||||
|
|
||||||
|
> `optional` **lockedBySelf**: `boolean`
|
||||||
|
|
||||||
|
Indicates whether the current block is explicitly locked by self.
|
||||||
|
For checking the lock status of the element, use `isLocked` instead.
|
||||||
|
For (un)locking the element, use `(un)lock` instead.
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### responseBound
|
||||||
|
|
||||||
|
> `readonly` **responseBound**: `Bound`
|
||||||
|
|
||||||
|
The bound of the element considering the response extension.
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### responseExtension
|
||||||
|
|
||||||
|
> **responseExtension**: \[`number`, `number`\]
|
||||||
|
|
||||||
|
Defines the extension of the response area beyond the element's bounding box.
|
||||||
|
This tuple specifies the horizontal and vertical margins to be added to the element's bound.
|
||||||
|
|
||||||
|
The first value represents the horizontal extension (added to both left and right sides),
|
||||||
|
and the second value represents the vertical extension (added to both top and bottom sides).
|
||||||
|
|
||||||
|
The response area is computed as:
|
||||||
|
`[x - horizontal, y - vertical, w + 2 * horizontal, h + 2 * vertical]`.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
- xywh: `[0, 0, 100, 100]`, `responseExtension: [10, 20]`
|
||||||
|
Resulting response area: `[-10, -20, 120, 140]`.
|
||||||
|
- `responseExtension: [0, 0]` keeps the response area equal to the bounding box.
|
||||||
|
|
||||||
|
## Methods
|
||||||
|
|
||||||
|
### isLocked()
|
||||||
|
|
||||||
|
> **isLocked**(): `boolean`
|
||||||
|
|
||||||
|
Check if the element is locked. It will check the lock status of the element and its ancestors.
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
|
||||||
|
`boolean`
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [gfx](../README.md) / GfxElementGeometry
|
||||||
|
|
||||||
|
# Interface: GfxElementGeometry
|
||||||
|
|
||||||
|
The methods that a graphic element should implement.
|
||||||
|
It is already included in the `GfxCompatibleInterface` interface.
|
||||||
|
|
||||||
|
## Extended by
|
||||||
|
|
||||||
|
- [`GfxCompatibleInterface`](GfxCompatibleInterface.md)
|
||||||
@@ -0,0 +1,110 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [gfx](../README.md) / GfxGroupCompatibleInterface
|
||||||
|
|
||||||
|
# Interface: GfxGroupCompatibleInterface
|
||||||
|
|
||||||
|
GfxGroupCompatibleElement is a model that can contain other models.
|
||||||
|
It just like a group that in common graphic software.
|
||||||
|
|
||||||
|
## Extends
|
||||||
|
|
||||||
|
- [`GfxCompatibleInterface`](GfxCompatibleInterface.md)
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
|
||||||
|
### childElements
|
||||||
|
|
||||||
|
> **childElements**: `GfxModel`[]
|
||||||
|
|
||||||
|
All child element models of this container.
|
||||||
|
Note that the `childElements` may not contains all the children in `childIds`,
|
||||||
|
because some children may not be loaded.
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### childIds
|
||||||
|
|
||||||
|
> **childIds**: `string`[]
|
||||||
|
|
||||||
|
All child ids of this container.
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### elementBound
|
||||||
|
|
||||||
|
> `readonly` **elementBound**: `Bound`
|
||||||
|
|
||||||
|
The bound of the element without considering the response extension.
|
||||||
|
|
||||||
|
#### Inherited from
|
||||||
|
|
||||||
|
[`GfxCompatibleInterface`](GfxCompatibleInterface.md).[`elementBound`](GfxCompatibleInterface.md#elementbound)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### lockedBySelf?
|
||||||
|
|
||||||
|
> `optional` **lockedBySelf**: `boolean`
|
||||||
|
|
||||||
|
Indicates whether the current block is explicitly locked by self.
|
||||||
|
For checking the lock status of the element, use `isLocked` instead.
|
||||||
|
For (un)locking the element, use `(un)lock` instead.
|
||||||
|
|
||||||
|
#### Inherited from
|
||||||
|
|
||||||
|
[`GfxCompatibleInterface`](GfxCompatibleInterface.md).[`lockedBySelf`](GfxCompatibleInterface.md#lockedbyself)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### responseBound
|
||||||
|
|
||||||
|
> `readonly` **responseBound**: `Bound`
|
||||||
|
|
||||||
|
The bound of the element considering the response extension.
|
||||||
|
|
||||||
|
#### Inherited from
|
||||||
|
|
||||||
|
[`GfxCompatibleInterface`](GfxCompatibleInterface.md).[`responseBound`](GfxCompatibleInterface.md#responsebound)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### responseExtension
|
||||||
|
|
||||||
|
> **responseExtension**: \[`number`, `number`\]
|
||||||
|
|
||||||
|
Defines the extension of the response area beyond the element's bounding box.
|
||||||
|
This tuple specifies the horizontal and vertical margins to be added to the element's bound.
|
||||||
|
|
||||||
|
The first value represents the horizontal extension (added to both left and right sides),
|
||||||
|
and the second value represents the vertical extension (added to both top and bottom sides).
|
||||||
|
|
||||||
|
The response area is computed as:
|
||||||
|
`[x - horizontal, y - vertical, w + 2 * horizontal, h + 2 * vertical]`.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
- xywh: `[0, 0, 100, 100]`, `responseExtension: [10, 20]`
|
||||||
|
Resulting response area: `[-10, -20, 120, 140]`.
|
||||||
|
- `responseExtension: [0, 0]` keeps the response area equal to the bounding box.
|
||||||
|
|
||||||
|
#### Inherited from
|
||||||
|
|
||||||
|
[`GfxCompatibleInterface`](GfxCompatibleInterface.md).[`responseExtension`](GfxCompatibleInterface.md#responseextension)
|
||||||
|
|
||||||
|
## Methods
|
||||||
|
|
||||||
|
### isLocked()
|
||||||
|
|
||||||
|
> **isLocked**(): `boolean`
|
||||||
|
|
||||||
|
Check if the element is locked. It will check the lock status of the element and its ancestors.
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
|
||||||
|
`boolean`
|
||||||
|
|
||||||
|
#### Inherited from
|
||||||
|
|
||||||
|
[`GfxCompatibleInterface`](GfxCompatibleInterface.md).[`isLocked`](GfxCompatibleInterface.md#islocked)
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [gfx](../README.md) / PointTestOptions
|
||||||
|
|
||||||
|
# Interface: PointTestOptions
|
||||||
|
|
||||||
|
The options for the hit testing of a point.
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
|
||||||
|
### hitThreshold?
|
||||||
|
|
||||||
|
> `optional` **hitThreshold**: `number`
|
||||||
|
|
||||||
|
The threshold of the hit test. The unit is pixel.
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### ignoreTransparent?
|
||||||
|
|
||||||
|
> `optional` **ignoreTransparent**: `boolean`
|
||||||
|
|
||||||
|
If true, the transparent area of the element will be ignored during the point inclusion test.
|
||||||
|
Otherwise, the transparent area will be considered as filled area.
|
||||||
|
|
||||||
|
Default is true.
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### responsePadding?
|
||||||
|
|
||||||
|
> `optional` **responsePadding**: \[`number`, `number`\]
|
||||||
|
|
||||||
|
The padding of the response area for each element when do the hit testing. The unit is pixel.
|
||||||
|
The first value is the padding for the x-axis, and the second value is the padding for the y-axis.
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### useElementBound?
|
||||||
|
|
||||||
|
> `optional` **useElementBound**: `boolean`
|
||||||
|
|
||||||
|
If true, the element bound will be used for the hit testing.
|
||||||
|
By default, the response bound will be used.
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### zoom?
|
||||||
|
|
||||||
|
> `optional` **zoom**: `number`
|
||||||
|
|
||||||
|
The zoom level of current view when do the hit testing.
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [gfx](../README.md) / GfxCommonBlockProps
|
||||||
|
|
||||||
|
# Type Alias: GfxCommonBlockProps
|
||||||
|
|
||||||
|
> **GfxCommonBlockProps** = [`GfxCompatibleProps`](GfxCompatibleProps.md) & `object`
|
||||||
|
|
||||||
|
This type include the common props for the graphic block model.
|
||||||
|
You can use this type with Omit to define the props of a graphic block model.
|
||||||
|
|
||||||
|
## Type declaration
|
||||||
|
|
||||||
|
### rotate
|
||||||
|
|
||||||
|
> **rotate**: `number`
|
||||||
|
|
||||||
|
### scale
|
||||||
|
|
||||||
|
> **scale**: `number`
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [gfx](../README.md) / GfxCompatibleProps
|
||||||
|
|
||||||
|
# Type Alias: GfxCompatibleProps
|
||||||
|
|
||||||
|
> **GfxCompatibleProps** = `object`
|
||||||
|
|
||||||
|
The props that a graphics block model should have.
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [gfx](../README.md) / SURFACE\_TEXT\_UNIQ\_IDENTIFIER
|
||||||
|
|
||||||
|
# Variable: SURFACE\_TEXT\_UNIQ\_IDENTIFIER
|
||||||
|
|
||||||
|
> `const` **SURFACE\_TEXT\_UNIQ\_IDENTIFIER**: `"affine:surface:text"` = `'affine:surface:text'`
|
||||||
|
|
||||||
|
Used for text field
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [gfx](../README.md) / SURFACE\_YMAP\_UNIQ\_IDENTIFIER
|
||||||
|
|
||||||
|
# Variable: SURFACE\_YMAP\_UNIQ\_IDENTIFIER
|
||||||
|
|
||||||
|
> `const` **SURFACE\_YMAP\_UNIQ\_IDENTIFIER**: `"affine:surface:ymap"` = `'affine:surface:ymap'`
|
||||||
|
|
||||||
|
Used for field that use Y.Map. E.g. group children field
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [gfx](../README.md) / gfxGroupCompatibleSymbol
|
||||||
|
|
||||||
|
# Variable: gfxGroupCompatibleSymbol
|
||||||
|
|
||||||
|
> `const` **gfxGroupCompatibleSymbol**: *typeof* `gfxGroupCompatibleSymbol`
|
||||||
|
|
||||||
|
The symbol to mark a model as a container.
|
||||||
28
blocksuite/docs/api/@blocksuite/block-std/index/README.md
Normal file
28
blocksuite/docs/api/@blocksuite/block-std/index/README.md
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../README.md) / [@blocksuite/block-std](../README.md) / index
|
||||||
|
|
||||||
|
# index
|
||||||
|
|
||||||
|
## Classes
|
||||||
|
|
||||||
|
- [~~BlockService~~](classes/BlockService.md)
|
||||||
|
- [CommandManager](classes/CommandManager.md)
|
||||||
|
- [LifeCycleWatcher](classes/LifeCycleWatcher.md)
|
||||||
|
- [RangeBinding](classes/RangeBinding.md)
|
||||||
|
- [RangeManager](classes/RangeManager.md)
|
||||||
|
|
||||||
|
## Variables
|
||||||
|
|
||||||
|
- [RANGE\_QUERY\_EXCLUDE\_ATTR](variables/RANGE_QUERY_EXCLUDE_ATTR.md)
|
||||||
|
- [RANGE\_SYNC\_EXCLUDE\_ATTR](variables/RANGE_SYNC_EXCLUDE_ATTR.md)
|
||||||
|
|
||||||
|
## Functions
|
||||||
|
|
||||||
|
- [BlockViewExtension](functions/BlockViewExtension.md)
|
||||||
|
- [ConfigExtensionFactory](functions/ConfigExtensionFactory.md)
|
||||||
|
- [FlavourExtension](functions/FlavourExtension.md)
|
||||||
|
- [KeymapExtension](functions/KeymapExtension.md)
|
||||||
|
- [WidgetViewExtension](functions/WidgetViewExtension.md)
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [index](../README.md) / BlockService
|
||||||
|
|
||||||
|
# Class: ~~`abstract` BlockService~~
|
||||||
|
|
||||||
|
## Deprecated
|
||||||
|
|
||||||
|
BlockService is deprecated. You should reconsider where to put your feature.
|
||||||
|
|
||||||
|
BlockService is a legacy extension that is used to provide services to the block.
|
||||||
|
In the previous version of BlockSuite, block service provides a way to extend the block.
|
||||||
|
However, in the new version, we recommend using the new extension system.
|
||||||
|
|
||||||
|
## Extends
|
||||||
|
|
||||||
|
- [`Extension`](../../../store/classes/Extension.md)
|
||||||
@@ -0,0 +1,186 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [index](../README.md) / CommandManager
|
||||||
|
|
||||||
|
# Class: CommandManager
|
||||||
|
|
||||||
|
Command manager to manage all commands
|
||||||
|
|
||||||
|
Commands are functions that take a context and a next function as arguments
|
||||||
|
|
||||||
|
```ts
|
||||||
|
const myCommand: Command<input, output> = (ctx, next) => {
|
||||||
|
const count = ctx.count || 0;
|
||||||
|
|
||||||
|
const success = someOperation();
|
||||||
|
if (success) {
|
||||||
|
return next({ count: count + 1 });
|
||||||
|
}
|
||||||
|
// if the command is not successful, you can return without calling next
|
||||||
|
return;
|
||||||
|
```
|
||||||
|
|
||||||
|
Command input and output data can be defined in the `Command` type
|
||||||
|
|
||||||
|
```ts
|
||||||
|
// input: ctx.firstName, ctx.lastName
|
||||||
|
// output: ctx.fullName
|
||||||
|
const myCommand: Command<{ firstName: string; lastName: string }, { fullName: string }> = (ctx, next) => {
|
||||||
|
const { firstName, lastName } = ctx;
|
||||||
|
const fullName = `${firstName} ${lastName}`;
|
||||||
|
return next({ fullName });
|
||||||
|
}
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Commands can be run in two ways:
|
||||||
|
|
||||||
|
1. Using `exec` method
|
||||||
|
`exec` is used to run a single command
|
||||||
|
```ts
|
||||||
|
const [result, data] = commandManager.exec(myCommand, payload);
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Using `chain` method
|
||||||
|
`chain` is used to run a series of commands
|
||||||
|
```ts
|
||||||
|
const chain = commandManager.chain();
|
||||||
|
const [result, data] = chain
|
||||||
|
.pipe(myCommand1)
|
||||||
|
.pipe(myCommand2, payload)
|
||||||
|
.run();
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Command chains will stop running if a command is not successful
|
||||||
|
|
||||||
|
```ts
|
||||||
|
const chain = commandManager.chain();
|
||||||
|
const [result, data] = chain
|
||||||
|
.chain(myCommand1) <-- if this fail
|
||||||
|
.chain(myCommand2, payload) <- this won't run
|
||||||
|
.run();
|
||||||
|
|
||||||
|
result <- result will be `false`
|
||||||
|
```
|
||||||
|
|
||||||
|
You can use `try` to run a series of commands and if one of them is successful, it will continue to the next command
|
||||||
|
```ts
|
||||||
|
const chain = commandManager.chain();
|
||||||
|
const [result, data] = chain
|
||||||
|
.try(chain => [
|
||||||
|
chain.pipe(myCommand1), <- if this fail
|
||||||
|
chain.pipe(myCommand2, payload), <- this will run, if this success
|
||||||
|
chain.pipe(myCommand3), <- this won't run
|
||||||
|
])
|
||||||
|
.run();
|
||||||
|
```
|
||||||
|
|
||||||
|
The `tryAll` method is similar to `try`, but it will run all commands even if one of them is successful
|
||||||
|
```ts
|
||||||
|
const chain = commandManager.chain();
|
||||||
|
const [result, data] = chain
|
||||||
|
.try(chain => [
|
||||||
|
chain.pipe(myCommand1), <- if this success
|
||||||
|
chain.pipe(myCommand2), <- this will also run
|
||||||
|
chain.pipe(myCommand3), <- so will this
|
||||||
|
])
|
||||||
|
.run();
|
||||||
|
```
|
||||||
|
|
||||||
|
## Extends
|
||||||
|
|
||||||
|
- [`LifeCycleWatcher`](LifeCycleWatcher.md)
|
||||||
|
|
||||||
|
## Methods
|
||||||
|
|
||||||
|
### chain()
|
||||||
|
|
||||||
|
> **chain**(): `Chain`\<`InitCommandCtx`\>
|
||||||
|
|
||||||
|
Create a chain to run a series of commands
|
||||||
|
```ts
|
||||||
|
const chain = commandManager.chain();
|
||||||
|
const [result, data] = chain
|
||||||
|
.myCommand1()
|
||||||
|
.myCommand2(payload)
|
||||||
|
.run();
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
|
||||||
|
`Chain`\<`InitCommandCtx`\>
|
||||||
|
|
||||||
|
[success, data] - success is a boolean to indicate if the chain is successful,
|
||||||
|
data is the final context after running the chain
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### created()
|
||||||
|
|
||||||
|
> **created**(): `void`
|
||||||
|
|
||||||
|
Called when std is created.
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
|
||||||
|
`void`
|
||||||
|
|
||||||
|
#### Inherited from
|
||||||
|
|
||||||
|
[`LifeCycleWatcher`](LifeCycleWatcher.md).[`created`](LifeCycleWatcher.md#created)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### mounted()
|
||||||
|
|
||||||
|
> **mounted**(): `void`
|
||||||
|
|
||||||
|
Called when editor host is mounted.
|
||||||
|
Which means the editor host emit the `connectedCallback` lifecycle event.
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
|
||||||
|
`void`
|
||||||
|
|
||||||
|
#### Inherited from
|
||||||
|
|
||||||
|
[`LifeCycleWatcher`](LifeCycleWatcher.md).[`mounted`](LifeCycleWatcher.md#mounted)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### rendered()
|
||||||
|
|
||||||
|
> **rendered**(): `void`
|
||||||
|
|
||||||
|
Called when `std.render` is called.
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
|
||||||
|
`void`
|
||||||
|
|
||||||
|
#### Inherited from
|
||||||
|
|
||||||
|
[`LifeCycleWatcher`](LifeCycleWatcher.md).[`rendered`](LifeCycleWatcher.md#rendered)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### unmounted()
|
||||||
|
|
||||||
|
> **unmounted**(): `void`
|
||||||
|
|
||||||
|
Called when editor host is unmounted.
|
||||||
|
Which means the editor host emit the `disconnectedCallback` lifecycle event.
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
|
||||||
|
`void`
|
||||||
|
|
||||||
|
#### Inherited from
|
||||||
|
|
||||||
|
[`LifeCycleWatcher`](LifeCycleWatcher.md).[`unmounted`](LifeCycleWatcher.md#unmounted)
|
||||||
@@ -0,0 +1,82 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [index](../README.md) / LifeCycleWatcher
|
||||||
|
|
||||||
|
# Class: `abstract` LifeCycleWatcher
|
||||||
|
|
||||||
|
A life cycle watcher is an extension that watches the life cycle of the editor.
|
||||||
|
It is used to perform actions when the editor is created, mounted, rendered, or unmounted.
|
||||||
|
|
||||||
|
When creating a life cycle watcher, you must define a key that is unique to the watcher.
|
||||||
|
The key is used to identify the watcher in the dependency injection container.
|
||||||
|
```ts
|
||||||
|
class MyLifeCycleWatcher extends LifeCycleWatcher {
|
||||||
|
static override readonly key = 'my-life-cycle-watcher';
|
||||||
|
```
|
||||||
|
|
||||||
|
In the life cycle watcher, the methods will be called in the following order:
|
||||||
|
1. `created`: Called when the std is created.
|
||||||
|
2. `rendered`: Called when `std.render` is called.
|
||||||
|
3. `mounted`: Called when the editor host is mounted.
|
||||||
|
4. `unmounted`: Called when the editor host is unmounted.
|
||||||
|
|
||||||
|
## Extends
|
||||||
|
|
||||||
|
- [`Extension`](../../../store/classes/Extension.md)
|
||||||
|
|
||||||
|
## Extended by
|
||||||
|
|
||||||
|
- [`CommandManager`](CommandManager.md)
|
||||||
|
- [`RangeManager`](RangeManager.md)
|
||||||
|
|
||||||
|
## Methods
|
||||||
|
|
||||||
|
### created()
|
||||||
|
|
||||||
|
> **created**(): `void`
|
||||||
|
|
||||||
|
Called when std is created.
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
|
||||||
|
`void`
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### mounted()
|
||||||
|
|
||||||
|
> **mounted**(): `void`
|
||||||
|
|
||||||
|
Called when editor host is mounted.
|
||||||
|
Which means the editor host emit the `connectedCallback` lifecycle event.
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
|
||||||
|
`void`
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### rendered()
|
||||||
|
|
||||||
|
> **rendered**(): `void`
|
||||||
|
|
||||||
|
Called when `std.render` is called.
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
|
||||||
|
`void`
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### unmounted()
|
||||||
|
|
||||||
|
> **unmounted**(): `void`
|
||||||
|
|
||||||
|
Called when editor host is unmounted.
|
||||||
|
Which means the editor host emit the `disconnectedCallback` lifecycle event.
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
|
||||||
|
`void`
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [index](../README.md) / RangeBinding
|
||||||
|
|
||||||
|
# Class: RangeBinding
|
||||||
|
|
||||||
|
Two-way binding between native range and text selection
|
||||||
@@ -0,0 +1,121 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [index](../README.md) / RangeManager
|
||||||
|
|
||||||
|
# Class: RangeManager
|
||||||
|
|
||||||
|
CRUD for Range and TextSelection
|
||||||
|
|
||||||
|
## Extends
|
||||||
|
|
||||||
|
- [`LifeCycleWatcher`](LifeCycleWatcher.md)
|
||||||
|
|
||||||
|
## Methods
|
||||||
|
|
||||||
|
### created()
|
||||||
|
|
||||||
|
> **created**(): `void`
|
||||||
|
|
||||||
|
Called when std is created.
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
|
||||||
|
`void`
|
||||||
|
|
||||||
|
#### Inherited from
|
||||||
|
|
||||||
|
[`LifeCycleWatcher`](LifeCycleWatcher.md).[`created`](LifeCycleWatcher.md#created)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### getSelectedBlockComponentsByRange()
|
||||||
|
|
||||||
|
> **getSelectedBlockComponentsByRange**(`range`, `options`): `BlockComponent`\<`BlockModel`\<`object`\>, [`BlockService`](BlockService.md), `string`\>[]
|
||||||
|
|
||||||
|
#### Parameters
|
||||||
|
|
||||||
|
##### range
|
||||||
|
|
||||||
|
`Range`
|
||||||
|
|
||||||
|
##### options
|
||||||
|
|
||||||
|
###### match?
|
||||||
|
|
||||||
|
(`el`) => `boolean`
|
||||||
|
|
||||||
|
###### mode?
|
||||||
|
|
||||||
|
`"flat"` \| `"all"` \| `"highest"`
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
|
||||||
|
`BlockComponent`\<`BlockModel`\<`object`\>, [`BlockService`](BlockService.md), `string`\>[]
|
||||||
|
|
||||||
|
#### Example
|
||||||
|
|
||||||
|
```ts
|
||||||
|
aaa
|
||||||
|
b[bb
|
||||||
|
ccc
|
||||||
|
ddd
|
||||||
|
ee]e
|
||||||
|
|
||||||
|
all mode: [aaa, bbb, ccc, ddd, eee]
|
||||||
|
flat mode: [bbb, ccc, ddd, eee]
|
||||||
|
highest mode: [bbb, ddd]
|
||||||
|
|
||||||
|
match function will be evaluated before filtering using mode
|
||||||
|
```
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### mounted()
|
||||||
|
|
||||||
|
> **mounted**(): `void`
|
||||||
|
|
||||||
|
Called when editor host is mounted.
|
||||||
|
Which means the editor host emit the `connectedCallback` lifecycle event.
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
|
||||||
|
`void`
|
||||||
|
|
||||||
|
#### Overrides
|
||||||
|
|
||||||
|
[`LifeCycleWatcher`](LifeCycleWatcher.md).[`mounted`](LifeCycleWatcher.md#mounted)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### rendered()
|
||||||
|
|
||||||
|
> **rendered**(): `void`
|
||||||
|
|
||||||
|
Called when `std.render` is called.
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
|
||||||
|
`void`
|
||||||
|
|
||||||
|
#### Inherited from
|
||||||
|
|
||||||
|
[`LifeCycleWatcher`](LifeCycleWatcher.md).[`rendered`](LifeCycleWatcher.md#rendered)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### unmounted()
|
||||||
|
|
||||||
|
> **unmounted**(): `void`
|
||||||
|
|
||||||
|
Called when editor host is unmounted.
|
||||||
|
Which means the editor host emit the `disconnectedCallback` lifecycle event.
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
|
||||||
|
`void`
|
||||||
|
|
||||||
|
#### Inherited from
|
||||||
|
|
||||||
|
[`LifeCycleWatcher`](LifeCycleWatcher.md).[`unmounted`](LifeCycleWatcher.md#unmounted)
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [index](../README.md) / BlockViewExtension
|
||||||
|
|
||||||
|
# Function: BlockViewExtension()
|
||||||
|
|
||||||
|
> **BlockViewExtension**(`flavour`, `view`): `ExtensionType`
|
||||||
|
|
||||||
|
Create a block view extension.
|
||||||
|
|
||||||
|
## Parameters
|
||||||
|
|
||||||
|
### flavour
|
||||||
|
|
||||||
|
`string`
|
||||||
|
|
||||||
|
The flavour of the block that the view is for.
|
||||||
|
|
||||||
|
### view
|
||||||
|
|
||||||
|
`BlockViewType`
|
||||||
|
|
||||||
|
Lit literal template for the view. Example: `my-list-block`
|
||||||
|
|
||||||
|
The view is a lit template that is used to render the block.
|
||||||
|
|
||||||
|
## Returns
|
||||||
|
|
||||||
|
`ExtensionType`
|
||||||
|
|
||||||
|
## Example
|
||||||
|
|
||||||
|
```ts
|
||||||
|
import { BlockViewExtension } from '@blocksuite/block-std';
|
||||||
|
|
||||||
|
const MyListBlockViewExtension = BlockViewExtension(
|
||||||
|
'affine:list',
|
||||||
|
literal`my-list-block`
|
||||||
|
);
|
||||||
|
```
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [index](../README.md) / ConfigExtensionFactory
|
||||||
|
|
||||||
|
# Function: ConfigExtensionFactory()
|
||||||
|
|
||||||
|
> **ConfigExtensionFactory**\<`Config`\>(`flavor`): (`config`) => `ExtensionType` & `object`
|
||||||
|
|
||||||
|
Create a config extension.
|
||||||
|
A config extension provides a configuration object for a block flavour.
|
||||||
|
The configuration object can be used like:
|
||||||
|
```ts
|
||||||
|
const config = std.provider.get(ConfigIdentifier('my-flavour'));
|
||||||
|
```
|
||||||
|
|
||||||
|
## Type Parameters
|
||||||
|
|
||||||
|
### Config
|
||||||
|
|
||||||
|
`Config` *extends* `Record`\<`string`, `any`\>
|
||||||
|
|
||||||
|
## Parameters
|
||||||
|
|
||||||
|
### flavor
|
||||||
|
|
||||||
|
`string`
|
||||||
|
|
||||||
|
The flavour of the block that the config is for.
|
||||||
|
|
||||||
|
## Returns
|
||||||
|
|
||||||
|
(`config`) => `ExtensionType` & `object`
|
||||||
|
|
||||||
|
## Example
|
||||||
|
|
||||||
|
```ts
|
||||||
|
import { ConfigExtensionFactory } from '@blocksuite/block-std';
|
||||||
|
const MyConfigExtensionFactory = ConfigExtensionFactory<ConfigType>('my-flavour');
|
||||||
|
const MyConfigExtension = MyConfigExtensionFactory({
|
||||||
|
option1: 'value1',
|
||||||
|
option2: 'value2',
|
||||||
|
});
|
||||||
|
```
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [index](../README.md) / FlavourExtension
|
||||||
|
|
||||||
|
# Function: FlavourExtension()
|
||||||
|
|
||||||
|
> **FlavourExtension**(`flavour`): `ExtensionType`
|
||||||
|
|
||||||
|
Create a flavour extension.
|
||||||
|
|
||||||
|
## Parameters
|
||||||
|
|
||||||
|
### flavour
|
||||||
|
|
||||||
|
`string`
|
||||||
|
|
||||||
|
The flavour of the block that the extension is for.
|
||||||
|
|
||||||
|
## Returns
|
||||||
|
|
||||||
|
`ExtensionType`
|
||||||
|
|
||||||
|
## Example
|
||||||
|
|
||||||
|
```ts
|
||||||
|
import { FlavourExtension } from '@blocksuite/block-std';
|
||||||
|
|
||||||
|
const MyFlavourExtension = FlavourExtension('my-flavour');
|
||||||
|
```
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [index](../README.md) / KeymapExtension
|
||||||
|
|
||||||
|
# Function: KeymapExtension()
|
||||||
|
|
||||||
|
> **KeymapExtension**(`keymapFactory`, `options`?): `ExtensionType`
|
||||||
|
|
||||||
|
Create a keymap extension.
|
||||||
|
|
||||||
|
## Parameters
|
||||||
|
|
||||||
|
### keymapFactory
|
||||||
|
|
||||||
|
(`std`) => `Record`\<`string`, `UIEventHandler`\>
|
||||||
|
|
||||||
|
Create keymap of the extension.
|
||||||
|
It should return an object with `keymap` and `options`.
|
||||||
|
|
||||||
|
`keymap` is a record of keymap.
|
||||||
|
|
||||||
|
### options?
|
||||||
|
|
||||||
|
`EventOptions`
|
||||||
|
|
||||||
|
`options` is an optional object that restricts the event to be handled.
|
||||||
|
|
||||||
|
## Returns
|
||||||
|
|
||||||
|
`ExtensionType`
|
||||||
|
|
||||||
|
## Example
|
||||||
|
|
||||||
|
```ts
|
||||||
|
import { KeymapExtension } from '@blocksuite/block-std';
|
||||||
|
|
||||||
|
const MyKeymapExtension = KeymapExtension(std => {
|
||||||
|
return {
|
||||||
|
keymap: {
|
||||||
|
'mod-a': SelectAll
|
||||||
|
}
|
||||||
|
options: {
|
||||||
|
flavour: 'affine:paragraph'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
```
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [index](../README.md) / WidgetViewExtension
|
||||||
|
|
||||||
|
# Function: WidgetViewExtension()
|
||||||
|
|
||||||
|
> **WidgetViewExtension**(`flavour`, `id`, `view`): `ExtensionType`
|
||||||
|
|
||||||
|
Create a widget view extension.
|
||||||
|
|
||||||
|
## Parameters
|
||||||
|
|
||||||
|
### flavour
|
||||||
|
|
||||||
|
`string`
|
||||||
|
|
||||||
|
The flavour of the block that the widget view is for.
|
||||||
|
|
||||||
|
### id
|
||||||
|
|
||||||
|
`string`
|
||||||
|
|
||||||
|
The id of the widget view.
|
||||||
|
|
||||||
|
### view
|
||||||
|
|
||||||
|
`StaticValue`
|
||||||
|
|
||||||
|
The widget view lit literal.
|
||||||
|
|
||||||
|
A widget view is to provide a widget view for a block.
|
||||||
|
For every target block, it's view will be rendered with the widget view.
|
||||||
|
|
||||||
|
## Returns
|
||||||
|
|
||||||
|
`ExtensionType`
|
||||||
|
|
||||||
|
## Example
|
||||||
|
|
||||||
|
```ts
|
||||||
|
import { WidgetViewExtension } from '@blocksuite/block-std';
|
||||||
|
|
||||||
|
const MyWidgetViewExtension = WidgetViewExtension('my-flavour', 'my-widget', literal`my-widget-view`);
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [index](../README.md) / RANGE\_QUERY\_EXCLUDE\_ATTR
|
||||||
|
|
||||||
|
# Variable: RANGE\_QUERY\_EXCLUDE\_ATTR
|
||||||
|
|
||||||
|
> `const` **RANGE\_QUERY\_EXCLUDE\_ATTR**: `"data-range-query-exclude"` = `'data-range-query-exclude'`
|
||||||
|
|
||||||
|
Used to exclude certain elements when using `getSelectedBlockComponentsByRange`.
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
[**@blocksuite/block-std**](../../../../@blocksuite/block-std/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../../README.md) / [@blocksuite/block-std](../../README.md) / [index](../README.md) / RANGE\_SYNC\_EXCLUDE\_ATTR
|
||||||
|
|
||||||
|
# Variable: RANGE\_SYNC\_EXCLUDE\_ATTR
|
||||||
|
|
||||||
|
> `const` **RANGE\_SYNC\_EXCLUDE\_ATTR**: `"data-range-sync-exclude"` = `'data-range-sync-exclude'`
|
||||||
|
|
||||||
|
Used to mark certain elements so that they are excluded when synchronizing the native range and text selection (such as database block).
|
||||||
12
blocksuite/docs/api/@blocksuite/store/README.md
Normal file
12
blocksuite/docs/api/@blocksuite/store/README.md
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
**@blocksuite/store**
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../README.md) / @blocksuite/store
|
||||||
|
|
||||||
|
# @blocksuite/store
|
||||||
|
|
||||||
|
## Extension
|
||||||
|
|
||||||
|
- [Extension](classes/Extension.md)
|
||||||
|
- [StoreExtension](classes/StoreExtension.md)
|
||||||
133
blocksuite/docs/api/@blocksuite/store/classes/Extension.md
Normal file
133
blocksuite/docs/api/@blocksuite/store/classes/Extension.md
Normal file
@@ -0,0 +1,133 @@
|
|||||||
|
[**@blocksuite/store**](../../../@blocksuite/store/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../README.md) / [@blocksuite/store](../README.md) / Extension
|
||||||
|
|
||||||
|
# Class: `abstract` Extension
|
||||||
|
|
||||||
|
# Understanding Extensions
|
||||||
|
|
||||||
|
Extensions provide a way to extend the functionality of a system using dependency injection.
|
||||||
|
They allow you to register services, implementations, and factories in the DI container,
|
||||||
|
which can then be retrieved and used by different parts of the application.
|
||||||
|
|
||||||
|
Extensions are particularly useful for:
|
||||||
|
- Registering different implementations for different types
|
||||||
|
- Creating pluggable architecture where components can be added or removed
|
||||||
|
- Managing dependencies between different parts of the application
|
||||||
|
|
||||||
|
# Usage Example: Fruit Processing System
|
||||||
|
|
||||||
|
Let's consider a fruit processing system where different types of fruits need
|
||||||
|
different processing methods. We'll show how to implement this using extensions.
|
||||||
|
|
||||||
|
## Step 1: Define the interfaces
|
||||||
|
|
||||||
|
```ts
|
||||||
|
interface FruitProcessor {
|
||||||
|
process(fruit: Fruit): void;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface Fruit {
|
||||||
|
type: string;
|
||||||
|
// other properties
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Step 2: Create a service identifier
|
||||||
|
|
||||||
|
```ts
|
||||||
|
import { createIdentifier } from '@blocksuite/global/di';
|
||||||
|
|
||||||
|
const FruitProcessorProvider = createIdentifier<FruitProcessor>('fruit-processor-provider');
|
||||||
|
```
|
||||||
|
|
||||||
|
## Step 3: Create implementations
|
||||||
|
|
||||||
|
```ts
|
||||||
|
class AppleProcessor implements FruitProcessor {
|
||||||
|
process(fruit: Fruit): void {
|
||||||
|
console.log('Slicing apple');
|
||||||
|
// Apple-specific processing
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class BananaProcessor implements FruitProcessor {
|
||||||
|
process(fruit: Fruit): void {
|
||||||
|
console.log('Peeling banana');
|
||||||
|
// Banana-specific processing
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Step 4: Create an extension factory
|
||||||
|
|
||||||
|
```ts
|
||||||
|
const FruitProcessorExtension = (
|
||||||
|
fruitType: string,
|
||||||
|
implementation: new () => FruitProcessor
|
||||||
|
): ExtensionType => {
|
||||||
|
return {
|
||||||
|
setup: di => {
|
||||||
|
di.addImpl(FruitProcessorProvider(fruitType), implementation);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
## Step 5: Create concrete extensions
|
||||||
|
|
||||||
|
```ts
|
||||||
|
export const AppleProcessorExtension = FruitProcessorExtension('apple', AppleProcessor);
|
||||||
|
export const BananaProcessorExtension = FruitProcessorExtension('banana', BananaProcessor);
|
||||||
|
```
|
||||||
|
|
||||||
|
## Step 6: Use the extensions
|
||||||
|
|
||||||
|
```ts
|
||||||
|
import { Container } from '@blocksuite/global/di';
|
||||||
|
|
||||||
|
class FruitProcessingSystem {
|
||||||
|
provider: ServiceProvider;
|
||||||
|
|
||||||
|
constructor(extensions: ExtensionType[]) {
|
||||||
|
const container = new Container();
|
||||||
|
|
||||||
|
// Set up all extensions
|
||||||
|
extensions.forEach(ext => ext.setup(container));
|
||||||
|
|
||||||
|
// Create a provider from the container
|
||||||
|
this.provider = container.provider();
|
||||||
|
}
|
||||||
|
|
||||||
|
processFruit(fruit: Fruit) {
|
||||||
|
// Get the appropriate processor based on fruit type
|
||||||
|
const processor = this.provider.get(FruitProcessorProvider(fruit.type));
|
||||||
|
|
||||||
|
// Process the fruit
|
||||||
|
processor.process(fruit);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Initialize the system with extensions
|
||||||
|
const system = new FruitProcessingSystem([
|
||||||
|
AppleProcessorExtension,
|
||||||
|
BananaProcessorExtension
|
||||||
|
]);
|
||||||
|
|
||||||
|
// Use the system
|
||||||
|
system.processFruit({ type: 'apple' }); // Output: Slicing apple
|
||||||
|
system.processFruit({ type: 'banana' }); // Output: Peeling banana
|
||||||
|
```
|
||||||
|
|
||||||
|
Note: We deliberately used a non-block specific example here. In BlockSuite, the extension
|
||||||
|
pattern can be applied to any entity that can be configured by third parties, not just blocks.
|
||||||
|
This includes different tools in the whiteboard, different column types in database blocks,
|
||||||
|
and many other extensible components. The pattern remains the same regardless of what you're extending.
|
||||||
|
|
||||||
|
## Extended by
|
||||||
|
|
||||||
|
- [`StoreExtension`](StoreExtension.md)
|
||||||
|
- [`BlockService`](../../block-std/index/classes/BlockService.md)
|
||||||
|
- [`LifeCycleWatcher`](../../block-std/index/classes/LifeCycleWatcher.md)
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
[**@blocksuite/store**](../../../@blocksuite/store/README.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[BlockSuite API Documentation](../../../README.md) / [@blocksuite/store](../README.md) / StoreExtension
|
||||||
|
|
||||||
|
# Class: StoreExtension
|
||||||
|
|
||||||
|
Store extensions are used to extend the store.
|
||||||
|
They should be registered to the store. And they should be able to run in a none-dom environment.
|
||||||
|
|
||||||
|
## Extends
|
||||||
|
|
||||||
|
- [`Extension`](Extension.md)
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
|
||||||
|
### key
|
||||||
|
|
||||||
|
> `readonly` `static` **key**: `string`
|
||||||
|
|
||||||
|
The key of the store extension.
|
||||||
|
**You must override this property with a unique string.**
|
||||||
|
|
||||||
|
## Methods
|
||||||
|
|
||||||
|
### disposed()
|
||||||
|
|
||||||
|
> **disposed**(): `void`
|
||||||
|
|
||||||
|
Lifecycle hook when the yjs document is disposed.
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
|
||||||
|
`void`
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### loaded()
|
||||||
|
|
||||||
|
> **loaded**(): `void`
|
||||||
|
|
||||||
|
Lifecycle hook when the yjs document is loaded.
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
|
||||||
|
`void`
|
||||||
10
blocksuite/docs/api/README.md
Normal file
10
blocksuite/docs/api/README.md
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
**BlockSuite API Documentation**
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
# BlockSuite API Documentation
|
||||||
|
|
||||||
|
## Packages
|
||||||
|
|
||||||
|
- [@blocksuite/store](@blocksuite/store/README.md)
|
||||||
|
- [@blocksuite/block-std](@blocksuite/block-std/README.md)
|
||||||
21
blocksuite/docs/package.json
Normal file
21
blocksuite/docs/package.json
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"name": "@blocksuite/bs-docs",
|
||||||
|
"description": "BlockSuite documentation",
|
||||||
|
"private": true,
|
||||||
|
"keywords": [],
|
||||||
|
"author": "toeverything",
|
||||||
|
"repository": "toeverything/blocksuite",
|
||||||
|
"license": "MPL-2.0",
|
||||||
|
"type": "module",
|
||||||
|
"devDependencies": {
|
||||||
|
"typedoc": "^0.28.0",
|
||||||
|
"typedoc-plugin-markdown": "^4.5.0"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"build": "typedoc"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@blocksuite/affine": "workspace:*"
|
||||||
|
},
|
||||||
|
"version": "0.20.0"
|
||||||
|
}
|
||||||
11
blocksuite/docs/tsconfig.json
Normal file
11
blocksuite/docs/tsconfig.json
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"extends": "../tsconfig.json",
|
||||||
|
"compilerOptions": {
|
||||||
|
"target": "ES2024",
|
||||||
|
"rootDir": ".",
|
||||||
|
"outDir": "./dist",
|
||||||
|
"tsBuildInfoFile": "./dist/tsconfig.tsbuildinfo"
|
||||||
|
},
|
||||||
|
"include": ["./.vitepress"],
|
||||||
|
"references": [{ "path": "../affine/all" }]
|
||||||
|
}
|
||||||
26
blocksuite/docs/typedoc.json
Normal file
26
blocksuite/docs/typedoc.json
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
"entryPoints": ["../framework/store", "../framework/block-std"],
|
||||||
|
"packageOptions": {
|
||||||
|
"readme": "none",
|
||||||
|
"categorizeByGroup": false,
|
||||||
|
"includeVersion": false,
|
||||||
|
"excludeNotDocumented": true,
|
||||||
|
"excludeInternal": true,
|
||||||
|
"excludePrivate": true,
|
||||||
|
"excludeProtected": true,
|
||||||
|
"excludeExternals": true,
|
||||||
|
"externalPattern": ["node_modules/**/*"],
|
||||||
|
"disableSources": true
|
||||||
|
},
|
||||||
|
"readme": "none",
|
||||||
|
"plugin": ["typedoc-plugin-markdown"],
|
||||||
|
"out": "./api",
|
||||||
|
"entryPointStrategy": "packages",
|
||||||
|
"includeVersion": false,
|
||||||
|
"logLevel": "Error",
|
||||||
|
"name": "BlockSuite API Documentation",
|
||||||
|
"navigation": {
|
||||||
|
"includeCategories": true
|
||||||
|
},
|
||||||
|
"sort": ["source-order"]
|
||||||
|
}
|
||||||
3
blocksuite/framework/block-std/typedoc.json
Normal file
3
blocksuite/framework/block-std/typedoc.json
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"entryPoints": ["src/index.ts", "src/gfx/index.ts", "src/effects.ts"]
|
||||||
|
}
|
||||||
@@ -1,11 +1,6 @@
|
|||||||
import type { Container } from '@blocksuite/global/di';
|
import type { Container } from '@blocksuite/global/di';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generic extension.
|
|
||||||
* Extensions are used to set up the dependency injection container.
|
|
||||||
* In most cases, you won't need to use this class directly.
|
|
||||||
* We provide helper classes like `CommandExtension` and `BlockViewExtension` to make it easier to create extensions.
|
|
||||||
*
|
|
||||||
* # Understanding Extensions
|
* # Understanding Extensions
|
||||||
*
|
*
|
||||||
* Extensions provide a way to extend the functionality of a system using dependency injection.
|
* Extensions provide a way to extend the functionality of a system using dependency injection.
|
||||||
@@ -125,6 +120,8 @@ import type { Container } from '@blocksuite/global/di';
|
|||||||
* pattern can be applied to any entity that can be configured by third parties, not just blocks.
|
* pattern can be applied to any entity that can be configured by third parties, not just blocks.
|
||||||
* This includes different tools in the whiteboard, different column types in database blocks,
|
* This includes different tools in the whiteboard, different column types in database blocks,
|
||||||
* and many other extensible components. The pattern remains the same regardless of what you're extending.
|
* and many other extensible components. The pattern remains the same regardless of what you're extending.
|
||||||
|
*
|
||||||
|
* @category Extension
|
||||||
*/
|
*/
|
||||||
export abstract class Extension {
|
export abstract class Extension {
|
||||||
static setup(_di: Container): void {
|
static setup(_di: Container): void {
|
||||||
|
|||||||
@@ -10,15 +10,31 @@ export const StoreExtensionIdentifier =
|
|||||||
|
|
||||||
export const storeExtensionSymbol = Symbol('StoreExtension');
|
export const storeExtensionSymbol = Symbol('StoreExtension');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Store extensions are used to extend the store.
|
||||||
|
* They should be registered to the store. And they should be able to run in a none-dom environment.
|
||||||
|
*
|
||||||
|
* @category Extension
|
||||||
|
*/
|
||||||
export class StoreExtension extends Extension {
|
export class StoreExtension extends Extension {
|
||||||
|
/**
|
||||||
|
* The key of the store extension.
|
||||||
|
* **You must override this property with a unique string.**
|
||||||
|
*/
|
||||||
static readonly key: string;
|
static readonly key: string;
|
||||||
|
|
||||||
constructor(readonly store: Store) {
|
constructor(readonly store: Store) {
|
||||||
super();
|
super();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Lifecycle hook when the yjs document is loaded.
|
||||||
|
*/
|
||||||
loaded() {}
|
loaded() {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Lifecycle hook when the yjs document is disposed.
|
||||||
|
*/
|
||||||
disposed() {}
|
disposed() {}
|
||||||
|
|
||||||
static readonly [storeExtensionSymbol] = true;
|
static readonly [storeExtensionSymbol] = true;
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ export type DocCollectionOptions = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* @internal
|
||||||
* Test only
|
* Test only
|
||||||
* Do not use this in production
|
* Do not use this in production
|
||||||
*/
|
*/
|
||||||
|
|||||||
3
blocksuite/framework/store/typedoc.json
Normal file
3
blocksuite/framework/store/typedoc.json
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"entryPoints": ["src/index.ts"]
|
||||||
|
}
|
||||||
@@ -35,7 +35,8 @@
|
|||||||
"packages/frontend/native/index.d.ts",
|
"packages/frontend/native/index.d.ts",
|
||||||
"packages/frontend/native/index.js",
|
"packages/frontend/native/index.js",
|
||||||
"packages/frontend/apps/android/App/app/build/**",
|
"packages/frontend/apps/android/App/app/build/**",
|
||||||
"tests/blocksuite/snapshots"
|
"tests/blocksuite/snapshots",
|
||||||
|
"blocksuite/docs/api/**"
|
||||||
],
|
],
|
||||||
"rules": {
|
"rules": {
|
||||||
"import/named": "error",
|
"import/named": "error",
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ const ignoreLoaderScripts = [
|
|||||||
'prisma',
|
'prisma',
|
||||||
'cap',
|
'cap',
|
||||||
'tsc',
|
'tsc',
|
||||||
|
'typedoc',
|
||||||
/^r$/,
|
/^r$/,
|
||||||
/electron(?!-)/,
|
/electron(?!-)/,
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -583,6 +583,11 @@ export const PackageList = [
|
|||||||
'blocksuite/framework/global',
|
'blocksuite/framework/global',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
location: 'blocksuite/docs',
|
||||||
|
name: '@blocksuite/bs-docs',
|
||||||
|
workspaceDependencies: ['blocksuite/affine/all'],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
location: 'blocksuite/framework/block-std',
|
location: 'blocksuite/framework/block-std',
|
||||||
name: '@blocksuite/block-std',
|
name: '@blocksuite/block-std',
|
||||||
@@ -966,6 +971,7 @@ export type PackageName =
|
|||||||
| '@blocksuite/affine-widget-scroll-anchoring'
|
| '@blocksuite/affine-widget-scroll-anchoring'
|
||||||
| '@blocksuite/affine-widget-slash-menu'
|
| '@blocksuite/affine-widget-slash-menu'
|
||||||
| '@blocksuite/affine-widget-toolbar'
|
| '@blocksuite/affine-widget-toolbar'
|
||||||
|
| '@blocksuite/bs-docs'
|
||||||
| '@blocksuite/block-std'
|
| '@blocksuite/block-std'
|
||||||
| '@blocksuite/global'
|
| '@blocksuite/global'
|
||||||
| '@blocksuite/inline'
|
| '@blocksuite/inline'
|
||||||
|
|||||||
@@ -87,6 +87,7 @@
|
|||||||
{ "path": "./blocksuite/affine/widgets/widget-scroll-anchoring" },
|
{ "path": "./blocksuite/affine/widgets/widget-scroll-anchoring" },
|
||||||
{ "path": "./blocksuite/affine/widgets/widget-slash-menu" },
|
{ "path": "./blocksuite/affine/widgets/widget-slash-menu" },
|
||||||
{ "path": "./blocksuite/affine/widgets/widget-toolbar" },
|
{ "path": "./blocksuite/affine/widgets/widget-toolbar" },
|
||||||
|
{ "path": "./blocksuite/docs" },
|
||||||
{ "path": "./blocksuite/framework/block-std" },
|
{ "path": "./blocksuite/framework/block-std" },
|
||||||
{ "path": "./blocksuite/framework/global" },
|
{ "path": "./blocksuite/framework/global" },
|
||||||
{ "path": "./blocksuite/framework/inline" },
|
{ "path": "./blocksuite/framework/inline" },
|
||||||
|
|||||||
53
yarn.lock
53
yarn.lock
@@ -3256,6 +3256,16 @@ __metadata:
|
|||||||
languageName: unknown
|
languageName: unknown
|
||||||
linkType: soft
|
linkType: soft
|
||||||
|
|
||||||
|
"@blocksuite/bs-docs@workspace:blocksuite/docs":
|
||||||
|
version: 0.0.0-use.local
|
||||||
|
resolution: "@blocksuite/bs-docs@workspace:blocksuite/docs"
|
||||||
|
dependencies:
|
||||||
|
"@blocksuite/affine": "workspace:*"
|
||||||
|
typedoc: "npm:^0.28.0"
|
||||||
|
typedoc-plugin-markdown: "npm:^4.5.0"
|
||||||
|
languageName: unknown
|
||||||
|
linkType: soft
|
||||||
|
|
||||||
"@blocksuite/data-view@workspace:*, @blocksuite/data-view@workspace:blocksuite/affine/data-view":
|
"@blocksuite/data-view@workspace:*, @blocksuite/data-view@workspace:blocksuite/affine/data-view":
|
||||||
version: 0.0.0-use.local
|
version: 0.0.0-use.local
|
||||||
resolution: "@blocksuite/data-view@workspace:blocksuite/affine/data-view"
|
resolution: "@blocksuite/data-view@workspace:blocksuite/affine/data-view"
|
||||||
@@ -5192,6 +5202,17 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@gerrit0/mini-shiki@npm:^3.2.1":
|
||||||
|
version: 3.2.1
|
||||||
|
resolution: "@gerrit0/mini-shiki@npm:3.2.1"
|
||||||
|
dependencies:
|
||||||
|
"@shikijs/engine-oniguruma": "npm:^3.2.1"
|
||||||
|
"@shikijs/types": "npm:^3.2.1"
|
||||||
|
"@shikijs/vscode-textmate": "npm:^10.0.2"
|
||||||
|
checksum: 10/7f366cf09b682e1aeef0ebeb32e548f209b4c0b8695efde65e07451634677baf790942ba78ae78a8eca20d8b92ce8251411d0ebc5319a8d9d01c28d9d1368140
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@golevelup/nestjs-discovery@npm:4.0.3":
|
"@golevelup/nestjs-discovery@npm:4.0.3":
|
||||||
version: 4.0.3
|
version: 4.0.3
|
||||||
resolution: "@golevelup/nestjs-discovery@npm:4.0.3"
|
resolution: "@golevelup/nestjs-discovery@npm:4.0.3"
|
||||||
@@ -12055,7 +12076,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@shikijs/engine-oniguruma@npm:3.2.1":
|
"@shikijs/engine-oniguruma@npm:3.2.1, @shikijs/engine-oniguruma@npm:^3.2.1":
|
||||||
version: 3.2.1
|
version: 3.2.1
|
||||||
resolution: "@shikijs/engine-oniguruma@npm:3.2.1"
|
resolution: "@shikijs/engine-oniguruma@npm:3.2.1"
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -12103,7 +12124,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@shikijs/types@npm:3.2.1":
|
"@shikijs/types@npm:3.2.1, @shikijs/types@npm:^3.2.1":
|
||||||
version: 3.2.1
|
version: 3.2.1
|
||||||
resolution: "@shikijs/types@npm:3.2.1"
|
resolution: "@shikijs/types@npm:3.2.1"
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -32342,6 +32363,15 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"typedoc-plugin-markdown@npm:^4.5.0":
|
||||||
|
version: 4.5.0
|
||||||
|
resolution: "typedoc-plugin-markdown@npm:4.5.0"
|
||||||
|
peerDependencies:
|
||||||
|
typedoc: 0.28.x
|
||||||
|
checksum: 10/292bd854c2eeaf1321d5df3b50e4d47f80e5ad8a0ec53c8485a1e22b5d8c3130642c6214699a3f2fde3886de4ff2574456012caf132ca0480fdec5961c7835f2
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"typedoc@npm:^0.27.4":
|
"typedoc@npm:^0.27.4":
|
||||||
version: 0.27.9
|
version: 0.27.9
|
||||||
resolution: "typedoc@npm:0.27.9"
|
resolution: "typedoc@npm:0.27.9"
|
||||||
@@ -32359,6 +32389,23 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"typedoc@npm:^0.28.0":
|
||||||
|
version: 0.28.0
|
||||||
|
resolution: "typedoc@npm:0.28.0"
|
||||||
|
dependencies:
|
||||||
|
"@gerrit0/mini-shiki": "npm:^3.2.1"
|
||||||
|
lunr: "npm:^2.3.9"
|
||||||
|
markdown-it: "npm:^14.1.0"
|
||||||
|
minimatch: "npm:^9.0.5"
|
||||||
|
yaml: "npm:^2.7.0 "
|
||||||
|
peerDependencies:
|
||||||
|
typescript: 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x
|
||||||
|
bin:
|
||||||
|
typedoc: bin/typedoc
|
||||||
|
checksum: 10/41f5f871d314c5a9166e3e449ec01c916d3516c5fcb198304bfeb2bbcab8139f9f090c41035c52556a4b549f55e39822f345e0472641cea24c04b344f6dd34fa
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"typescript-eslint@npm:^8.18.0":
|
"typescript-eslint@npm:^8.18.0":
|
||||||
version: 8.26.1
|
version: 8.26.1
|
||||||
resolution: "typescript-eslint@npm:8.26.1"
|
resolution: "typescript-eslint@npm:8.26.1"
|
||||||
@@ -33808,7 +33855,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"yaml@npm:^2.3.1, yaml@npm:^2.5.1, yaml@npm:^2.6.1, yaml@npm:^2.7.0":
|
"yaml@npm:^2.3.1, yaml@npm:^2.5.1, yaml@npm:^2.6.1, yaml@npm:^2.7.0, yaml@npm:^2.7.0 ":
|
||||||
version: 2.7.0
|
version: 2.7.0
|
||||||
resolution: "yaml@npm:2.7.0"
|
resolution: "yaml@npm:2.7.0"
|
||||||
bin:
|
bin:
|
||||||
|
|||||||
Reference in New Issue
Block a user