@atlaskit/editor-plugin-block-type
Version:
BlockType plugin for @atlaskit/editor-core
123 lines (101 loc) • 3.13 kB
Markdown
<!-- API Report Version: 2.3 -->
> Do not edit this file. This report is auto-generated using
> [API Extractor](https://api-extractor.com/).
> [Learn more about API reports](https://hello.atlassian.net/wiki/spaces/UR/pages/1825484529/Package+API+Reports)
- [Main Entry Types](
- [Peer Dependencies](
<!--SECTION START: Main Entry Types-->
```ts
import type { AllowedBlockTypes } from '@atlaskit/editor-common/types';
import type { analyticsPlugin } from '@atlaskit/editor-plugin-analytics';
import type { Command } from '@atlaskit/editor-common/types';
import type { EditorCommand } from '@atlaskit/editor-common/types';
import type { HeadingLevelsAndNormalText } from '@atlaskit/editor-common/types';
import type { INPUT_METHOD } from '@atlaskit/editor-common/analytics';
import type { MenuItem } from '@atlaskit/editor-common/ui-menu';
import type { MessageDescriptor } from 'react-intl';
import type { NextEditorPlugin } from '@atlaskit/editor-common/types';
import type { OptionalPlugin } from '@atlaskit/editor-common/types';
// @public (undocumented)
export interface BlockType {
// (undocumented)
level?: HeadingLevelsAndNormalText;
// (undocumented)
name: string;
// (undocumented)
nodeName: string;
// (undocumented)
tagName?: string;
// (undocumented)
title: MessageDescriptor;
}
// @public (undocumented)
export type BlockTypePlugin = NextEditorPlugin<
'blockType',
{
pluginConfiguration: BlockTypePluginOptions | undefined;
dependencies: [OptionalPlugin<typeof analyticsPlugin>];
sharedState: BlockTypeState | undefined;
actions: {
insertBlockQuote: (inputMethod: InputMethod) => Command;
};
commands: {
setTextLevel: (level: TextBlockTypes, inputMethod: InputMethod) => EditorCommand;
};
}
>;
// @public (undocumented)
export const blockTypePlugin: BlockTypePlugin;
// @public (undocumented)
export interface BlockTypePluginOptions {
// (undocumented)
allowBlockType?: {
exclude?: Array<AllowedBlockTypes>;
};
// (undocumented)
isUndoRedoButtonsEnabled?: boolean;
// (undocumented)
lastNodeMustBeParagraph?: boolean;
}
// @public (undocumented)
export type BlockTypeState = {
currentBlockType: BlockType;
blockTypesDisabled: boolean;
availableBlockTypes: BlockType[];
availableWrapperBlockTypes: BlockType[];
};
// @public (undocumented)
export type DropdownItem = MenuItem & {
value: BlockType;
};
// @public (undocumented)
export type InputMethod =
| INPUT_METHOD.FORMATTING
| INPUT_METHOD.INSERT_MENU
| INPUT_METHOD.KEYBOARD
| INPUT_METHOD.SHORTCUT
| INPUT_METHOD.TOOLBAR;
// @public (undocumented)
export type TextBlockTypes =
| 'heading1'
| 'heading2'
| 'heading3'
| 'heading4'
| 'heading5'
| 'heading6'
| 'normal';
// (No @packageDocumentation comment for this package)
```
<!--SECTION END: Main Entry Types-->
<!--SECTION START: Peer Dependencies-->
```json
{
"react": "^16.8.0",
"react-intl": "npm:react-intl@^5.18.1"
}
```
<!--SECTION END: Peer Dependencies-->