BlockSuite API Documentation / @blocksuite/block-std / BlockComponent
Class: BlockComponent<Model, Service, WidgetName> 
Extends 
ShadowlessElement<this> &DisposableClass<this>
Extended by 
Type Parameters 
• Model extends BlockModel = BlockModel
• Service extends BlockService = BlockService
• WidgetName extends string = string
Constructors 
new BlockComponent() 
new BlockComponent<
Model,Service,WidgetName>():BlockComponent<Model,Service,WidgetName>
Returns 
BlockComponent<Model, Service, WidgetName>
Inherited from 
SignalWatcher(WithDisposable(ShadowlessElement)).constructor
Defined in 
node_modules/@lit/reactive-element/development/reactive-element.d.ts:504
Other 
_disposables 
protected_disposables:DisposableGroup
Inherited from 
SignalWatcher(WithDisposable(ShadowlessElement))._disposables
Defined in 
packages/framework/block-std/src/view/utils/with-disposable.ts:8
[blockComponentSymbol] 
[blockComponentSymbol]:
boolean=true
Defined in 
packages/framework/block-std/src/view/element/block-component.ts:50
disposables 
readonlydisposables:DisposableGroup
Inherited from 
SignalWatcher(WithDisposable(ShadowlessElement)).disposables
Defined in 
packages/framework/block-std/src/view/utils/with-disposable.ts:10
disableShadowRoot 
staticdisableShadowRoot:boolean=true
Inherited from 
SignalWatcher(WithDisposable(ShadowlessElement)).disableShadowRoot
Defined in 
packages/framework/block-std/src/view/element/shadowless-element.ts:6
_renderers 
Defined in 
packages/framework/block-std/src/view/element/block-component.ts:334
blockId 
getblockId():string
Returns 
string
Defined in 
packages/framework/block-std/src/view/element/block-component.ts:69
childBlocks 
getchildBlocks():BlockComponent<BlockModel<object,SignaledProps<object>>,BlockService,string>[]
Returns 
BlockComponent<BlockModel<object, SignaledProps<object>>, BlockService, string>[]
Defined in 
packages/framework/block-std/src/view/element/block-component.ts:73
dirty 
Defined in 
packages/framework/block-std/src/view/element/block-component.ts:345
doc 
Defined in 
packages/framework/block-std/src/view/element/block-component.ts:348
flavour 
getflavour():string
Returns 
string
Defined in 
packages/framework/block-std/src/view/element/block-component.ts:82
host 
gethost():EditorHost
Returns 
Defined in 
packages/framework/block-std/src/view/element/block-component.ts:86
isVersionMismatch 
getisVersionMismatch():boolean
Returns 
boolean
Defined in 
packages/framework/block-std/src/view/element/block-component.ts:90
model 
getmodel():Model
Returns 
Model
Defined in 
packages/framework/block-std/src/view/element/block-component.ts:110
parentComponent 
getparentComponent():null|BlockComponent<BlockModel<object,SignaledProps<object>>,BlockService,string>
Returns 
null | BlockComponent<BlockModel<object, SignaledProps<object>>, BlockService, string>
Defined in 
packages/framework/block-std/src/view/element/block-component.ts:125
renderChildren 
getrenderChildren(): (model,filter?) =>TemplateResult
Returns 
Function
Parameters 
• model: BlockModel<object, SignaledProps<object>>
• filter?
Returns 
TemplateResult
Defined in 
packages/framework/block-std/src/view/element/block-component.ts:131
rootComponent 
getrootComponent():null|BlockComponent<BlockModel<object,SignaledProps<object>>,BlockService,string>
Returns 
null | BlockComponent<BlockModel<object, SignaledProps<object>>, BlockService, string>
Defined in 
packages/framework/block-std/src/view/element/block-component.ts:135
selected 
getselected():null|BaseSelection
Returns 
null | BaseSelection
Defined in 
packages/framework/block-std/src/view/element/block-component.ts:144
selection 
getselection():SelectionManager
Returns 
Defined in 
packages/framework/block-std/src/view/element/block-component.ts:148
service 
getservice():Service
Returns 
Service
Defined in 
packages/framework/block-std/src/view/element/block-component.ts:152
std 
Defined in 
packages/framework/block-std/src/view/element/block-component.ts:351
topContenteditableElement 
gettopContenteditableElement():null|BlockComponent<BlockModel<object,SignaledProps<object>>,BlockService,string>
Returns 
null | BlockComponent<BlockModel<object, SignaledProps<object>>, BlockService, string>
Defined in 
packages/framework/block-std/src/view/element/block-component.ts:167
viewType 
Defined in 
packages/framework/block-std/src/view/element/block-component.ts:354
widgetComponents 
getwidgetComponents():Partial<Record<WidgetName,WidgetComponent<BlockModel<object,SignaledProps<object>>,BlockComponent<BlockModel<object,SignaledProps<object>>,BlockService,string>,BlockService>>>
Returns 
Partial<Record<WidgetName, WidgetComponent<BlockModel<object, SignaledProps<object>>, BlockComponent<BlockModel<object, SignaledProps<object>>, BlockService, string>, BlockService>>>
Defined in 
packages/framework/block-std/src/view/element/block-component.ts:171
widgets 
Defined in 
packages/framework/block-std/src/view/element/block-component.ts:369
addRenderer() 
addRenderer(
renderer):void
Parameters 
• renderer
Returns 
void
Defined in 
packages/framework/block-std/src/view/element/block-component.ts:202
bindHotKey() 
bindHotKey(
keymap,options?): () =>void
Parameters 
• keymap: Record<string, UIEventHandler>
• options?
• options.flavour?: boolean
• options.global?: boolean
Returns 
Function
Returns 
void
Defined in 
packages/framework/block-std/src/view/element/block-component.ts:206
handleEvent() 
handleEvent(
name,handler,options?):void
Parameters 
• name: "blur" | "click" | "doubleClick" | "tripleClick" | "pointerDown" | "pointerMove" | "pointerUp" | "pointerOut" | "dragStart" | "dragMove" | "dragEnd" | "pinch" | "pan" | "keyDown" | "keyUp" | "selectionChange" | "compositionStart" | "compositionUpdate" | "compositionEnd" | "cut" | "copy" | "paste" | "beforeInput" | "focus" | "drop" | "contextMenu" | "wheel"
• handler: UIEventHandler
• options?
• options.flavour?: boolean
• options.global?: boolean
Returns 
void
Defined in 
packages/framework/block-std/src/view/element/block-component.ts:52
renderBlock() 
renderBlock():
unknown
Returns 
unknown
Defined in 
packages/framework/block-std/src/view/element/block-component.ts:269
renderVersionMismatch() 
renderVersionMismatch(
expectedVersion,actualVersion):TemplateResult
Render a warning message when the block version is mismatched.
Parameters 
• expectedVersion: number
If the schema is not found, the expected version is -1. Which means the block is not supported in the current editor.
• actualVersion: number
The version of the block's crdt data.
Returns 
TemplateResult
Defined in 
packages/framework/block-std/src/view/element/block-component.ts:279
lifecycle 
connectedCallback() 
connectedCallback():
void
Invoked when the component is added to the document's DOM.
In connectedCallback() you should setup tasks that should only occur when the element is connected to the document. The most common of these is adding event listeners to nodes external to the element, like a keydown event handler added to the window.
connectedCallback() {
  super.connectedCallback();
  addEventListener('keydown', this._handleKeydown);
}Typically, anything done in connectedCallback() should be undone when the element is disconnected, in disconnectedCallback().
Returns 
void
Overrides 
SignalWatcher(WithDisposable(ShadowlessElement)).connectedCallback
Defined in 
packages/framework/block-std/src/view/element/block-component.ts:222
disconnectedCallback() 
disconnectedCallback():
void
Invoked when the component is removed from the document's DOM.
This callback is the main signal to the element that it may no longer be used. disconnectedCallback() should ensure that nothing is holding a reference to the element (such as event listeners added to nodes external to the element), so that it is free to be garbage collected.
disconnectedCallback() {
  super.disconnectedCallback();
  window.removeEventListener('keydown', this._handleKeydown);
}An element may be re-connected after being disconnected.
Returns 
void
Overrides 
SignalWatcher(WithDisposable(ShadowlessElement)).disconnectedCallback
Defined in 
packages/framework/block-std/src/view/element/block-component.ts:247
rendering 
createRenderRoot() 
createRenderRoot():
HTMLElement|DocumentFragment
Returns 
HTMLElement | DocumentFragment
Inherited from 
SignalWatcher(WithDisposable(ShadowlessElement)).createRenderRoot
Defined in 
packages/framework/block-std/src/view/element/shadowless-element.ts:28
render() 
render():
unknown
Invoked on each update to perform rendering tasks. This method may return any value renderable by lit-html's ChildPart - typically a TemplateResult. Setting properties inside this method will not trigger the element to update.
Returns 
unknown
Overrides 
SignalWatcher(WithDisposable(ShadowlessElement)).render
Defined in 
packages/framework/block-std/src/view/element/block-component.ts:262
styles 
finalizeStyles() 
protectedstaticfinalizeStyles(styles?):CSSResultOrNative[]
Takes the styles the user supplied via the static styles property and returns the array of styles to apply to the element. Override this method to integrate into a style management system.
Styles are deduplicated preserving the last instance in the list. This is a performance optimization to avoid duplicated styles that can occur especially when composing via subclassing. The last item is kept to try to preserve the cascade order with the assumption that it's most important that last added styles override previous styles.
Parameters 
• styles?: CSSResultGroup
Returns 
CSSResultOrNative[]
Nocollapse 
Inherited from 
SignalWatcher(WithDisposable(ShadowlessElement)).finalizeStyles
Defined in 
packages/framework/block-std/src/view/element/shadowless-element.ts:8
updates 
getUpdateComplete() 
protectedgetUpdateComplete():Promise<boolean>
Override point for the updateComplete promise.
It is not safe to override the updateComplete getter directly due to a limitation in TypeScript which means it is not possible to call a superclass getter (e.g. super.updateComplete.then(...)) when the target language is ES5 (https://github.com/microsoft/TypeScript/issues/338). This method should be overridden instead. For example:
class MyElement extends LitElement {
  override async getUpdateComplete() {
    const result = await super.getUpdateComplete();
    await this._myChild.updateComplete;
    return result;
  }
}Returns 
Promise<boolean>
A promise of a boolean that resolves to true if the update completed without triggering another update.
Overrides 
SignalWatcher(WithDisposable(ShadowlessElement)).getUpdateComplete
Defined in 
packages/framework/block-std/src/view/element/block-component.ts:256
update() 
protectedupdate(changedProperties):void
Updates the element. This method reflects property values to attributes and calls render to render DOM via lit-html. Setting properties inside this method will not trigger another update.
Parameters 
• changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>
Map of changed properties with old values
Returns 
void
Overrides 
SignalWatcher(WithDisposable(ShadowlessElement)).update
Defined in 
packages/framework/block-std/src/view/element/block-component.ts:300