@blocksuite/global
Advanced tools
Comparing version 0.4.1 to 0.5.0-alpha.0
@@ -72,2 +72,6 @@ // eslint-disable-next-line @typescript-eslint/no-explicit-any | ||
enable_slash_menu: boolean; | ||
/** | ||
* Block selection can trigger format bar | ||
*/ | ||
enable_block_selection_format_bar: boolean; | ||
enable_edgeless_toolbar: boolean; | ||
@@ -88,27 +92,2 @@ readonly: Record<string, boolean>; | ||
} | ||
import type { | ||
// Model | ||
CodeBlockModel, | ||
DatabaseBlockModel, | ||
DividerBlockModel, | ||
EmbedBlockModel, | ||
FrameBlockModel, | ||
ListBlockModel, | ||
PageBlockModel, | ||
ParagraphBlockModel, | ||
SurfaceBlockModel, | ||
} from '@blocksuite/blocks/models'; | ||
export type BlockModels = { | ||
'affine:paragraph': ParagraphBlockModel; | ||
'affine:page': PageBlockModel; | ||
'affine:list': ListBlockModel; | ||
'affine:frame': FrameBlockModel; | ||
'affine:code': CodeBlockModel; | ||
'affine:divider': DividerBlockModel; | ||
'affine:embed': EmbedBlockModel; | ||
'affine:surface': SurfaceBlockModel; | ||
'affine:database': DatabaseBlockModel; | ||
}; | ||
} | ||
@@ -129,2 +108,3 @@ | ||
declare namespace BlockSuiteModelProps { | ||
import type { Text } from '@blocksuite/store'; | ||
interface CodeBlockModel { | ||
@@ -155,3 +135,3 @@ language: string; | ||
interface PageBlockModel { | ||
title: string; | ||
title: Text; | ||
} | ||
@@ -158,0 +138,0 @@ |
{ | ||
"name": "@blocksuite/global", | ||
"version": "0.4.1", | ||
"version": "0.5.0-alpha.0", | ||
"types": "./index.d.ts", | ||
"type": "module", | ||
"scripts": { | ||
"test:unit": "vitest --run", | ||
"test:unit:coverage": "vitest run --coverage", | ||
"test:unit:ui": "vitest --ui", | ||
"build": "tsc" | ||
}, | ||
"sideEffects": false, | ||
"exports": { | ||
".": "./index.d.ts", | ||
"./database": "./dist/database.js", | ||
"./utils": "./dist/utils.js", | ||
"./debug": "./dist/debug.js", | ||
"./error": "./dist/error.js", | ||
"./config": "./dist/config/index.js" | ||
"./database": "./src/database.ts", | ||
"./types": "./src/types.ts", | ||
"./utils": "./src/utils.ts", | ||
"./debug": "./src/debug.ts", | ||
"./config": "./src/config/index.ts", | ||
"./error": "./src/error.ts" | ||
}, | ||
@@ -19,2 +26,10 @@ "author": "toeverything", | ||
"access": "public", | ||
"exports": { | ||
".": "./index.d.ts", | ||
"./database": "./dist/database.js", | ||
"./utils": "./dist/utils.js", | ||
"./debug": "./dist/debug.js", | ||
"./error": "./dist/error.js", | ||
"./config": "./dist/config/index.js" | ||
}, | ||
"files": [ | ||
@@ -39,9 +54,3 @@ "dist", | ||
} | ||
}, | ||
"scripts": { | ||
"test:unit": "vitest --run", | ||
"test:unit:coverage": "vitest run --coverage", | ||
"test:unit:ui": "vitest --ui", | ||
"build": "tsc" | ||
} | ||
} | ||
} |
export * from './consts/affine-style-consts.js'; | ||
export * from './consts/blockhub.js'; | ||
export const BLOCK_ID_ATTR = 'data-block-id' as const; | ||
export const BLOCK_SERVICE_LOADING_ATTR = 'data-service-loading' as const; | ||
export const BLOCK_ID_ATTR = 'data-block-id'; | ||
export const BLOCK_SERVICE_LOADING_ATTR = 'data-service-loading'; | ||
export const PREVENT_DEFAULT = false; | ||
@@ -30,1 +30,2 @@ export const ALLOW_DEFAULT = true; | ||
export const BLOCK_CHILDREN_CONTAINER_PADDING_LEFT = 26; | ||
export const DRAG_HANDLE_OFFSET_LEFT = 20; |
@@ -6,6 +6,6 @@ export const plate = { | ||
hoverBackground: '#f1f3ff', | ||
cardHoverBackground: '#f1f3ff', | ||
codeBackground: '#f2f5f9', | ||
codeBlockBackground: '#fafbfd', | ||
blockHubBackground: '#fbfbfc', | ||
blockHubHoverBackground: '#f8f9ff', | ||
textColor: '#3a4c5c', | ||
@@ -45,4 +45,4 @@ edgelessTextColor: '#3a4c5c', | ||
{ | ||
name: 'blockHubHoverBackground', | ||
cssProperty: '--affine-block-hub-hover-background', | ||
name: 'cardHoverBackground', | ||
cssProperty: '--affine-card-hover-background', | ||
}, | ||
@@ -49,0 +49,0 @@ { name: 'textColor', cssProperty: '--affine-text-color' }, |
@@ -202,5 +202,5 @@ import type { TemplateResult } from 'lit/html.js'; | ||
name: 'Divider', | ||
description: 'A visually divide block.', | ||
description: 'A visual divider.', | ||
icon: DividerIcon, | ||
toolTip: 'Drag to insert Divider', | ||
toolTip: 'A visual divider', | ||
}, | ||
@@ -216,3 +216,3 @@ ]; | ||
icon: BulletedListIcon, | ||
toolTip: 'Drag to insert Bulleted List.', | ||
toolTip: 'Drag to insert Bulleted List', | ||
}, | ||
@@ -223,5 +223,5 @@ { | ||
name: 'Numbered List', | ||
description: '1. A list with numbering.', | ||
description: 'A list with numbering.', | ||
icon: NumberedListIcon, | ||
toolTip: 'Drag to insert Numbered List.', | ||
toolTip: 'Drag to insert Numbered List', | ||
}, | ||
@@ -234,3 +234,3 @@ { | ||
icon: TodoIcon, | ||
toolTip: 'Drag to insert To-do List.', | ||
toolTip: 'Drag to insert To-do List', | ||
}, | ||
@@ -246,4 +246,4 @@ ]; | ||
icon: ImageIcon, | ||
toolTip: 'Drag to insert Image.', | ||
toolTip: 'Drag to insert Image', | ||
}, | ||
]; |
@@ -0,1 +1,5 @@ | ||
import type { BaseBlockModel } from '@blocksuite/store'; | ||
import type { BlockModels } from './types.js'; | ||
export type { Disposable } from './utils/disposable.js'; | ||
@@ -26,13 +30,23 @@ export { DisposableGroup, flattenDisposable } from './utils/disposable.js'; | ||
export function matchFlavours< | ||
Key extends keyof BlockSuiteInternal.BlockModels & | ||
string = keyof BlockSuiteInternal.BlockModels & string | ||
>( | ||
model: { flavour: Key }, | ||
expected: readonly Key[] | ||
): boolean /* model is BlockModels[Key] */ { | ||
return expected.includes(model.flavour as Key); | ||
type BlockModelKey = keyof BlockModels; | ||
type Flavours<T> = T extends BlockModelKey[] ? BlockModels[T[number]] : never; | ||
type Writeable<T> = { -readonly [P in keyof T]: T[P] }; | ||
export function matchFlavours<Key extends Readonly<Array<string>>>( | ||
model: BaseBlockModel, | ||
expected: Key | ||
): model is Flavours<Writeable<Key>> { | ||
return expected.includes(model.flavour); | ||
} | ||
// export function matchFlavours< | ||
// Key extends keyof BlockModels & | ||
// string = keyof BlockModels & string | ||
// >( | ||
// model: { flavour: Key }, | ||
// expected: readonly Key[] | ||
// ): model is BlockModels[Key] { | ||
// return expected.includes(model.flavour as Key); | ||
// } | ||
export const nonTextBlock: (keyof BlockSuiteInternal.BlockModels)[] = [ | ||
export const nonTextBlock: (keyof BlockModels)[] = [ | ||
'affine:database', | ||
@@ -45,7 +59,6 @@ 'affine:divider', | ||
export const isNonTextBlock = < | ||
Key extends keyof BlockSuiteInternal.BlockModels & | ||
string = keyof BlockSuiteInternal.BlockModels & string | ||
>(model: { | ||
flavour: Key; | ||
}) => matchFlavours(model, nonTextBlock); | ||
Key extends keyof BlockModels & string = keyof BlockModels & string | ||
>( | ||
model: BaseBlockModel | ||
) => matchFlavours(model, nonTextBlock); | ||
@@ -52,0 +65,0 @@ type Allowed = |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
124748
30
2233