@remirror/extension-columns
Version:
Add column support to the nodes in your editor.
122 lines (111 loc) • 3.74 kB
TypeScript
import { ApplySchemaAttributes } from '@remirror/core';
import { CommandFunction } from '@remirror/core';
import { IdentifierSchemaAttributes } from '@remirror/core';
import { LiteralUnion } from '@remirror/core';
import { NodeExtension } from '@remirror/core';
import { NodeExtensionSpec } from '@remirror/core';
import { NodeSpecOverride } from '@remirror/core';
import { PrimitiveSelection } from '@remirror/core';
import { ProsemirrorAttributes } from '@remirror/core';
import { Static } from '@remirror/core';
declare interface BaseColumnAttributes {
/**
* Specifies the number of columns an element should be divided into.
*
* @defaultValue 2
*/
count?: number;
/**
* Specifies how to fill columns.
*
* @defaultValue 'auto'
*/
fill?: 'balance' | 'auto';
/**
* Specifies the gap between the columns.
*
* @defaultValue 'inherit'
*/
gap?: string;
/**
* Specifies the color of the rule between columns.
*
* @defaultValue 'transparent'
*/
ruleColor?: string;
/**
* Specifies the style of the rule between columns.
*
* @defaultValue 'none'
*/
ruleStyle?: 'none' | 'hidden' | 'dotted' | 'dashed' | 'solid' | 'double' | 'groove' | 'ridge' | 'inset' | 'outset';
/**
* Specifies the width of the rule between columns.
*
* @defaultValue 'inherit'
*/
ruleWidth?: LiteralUnion<'medium' | 'thin' | 'thick', string>;
/**
* Specifies a suggested, optimal width for the columns.
*
* @defaultValue 'inherit'
*/
width?: string;
}
export { BaseColumnAttributes }
export { BaseColumnAttributes as BaseColumnAttributes_alias_1 }
declare type ColumnAttributes = ProsemirrorAttributes<BaseColumnAttributes>;
export { ColumnAttributes }
export { ColumnAttributes as ColumnAttributes_alias_1 }
/**
* Add column support to the nodes in your editor.
*/
declare class ColumnsExtension extends NodeExtension<ColumnsOptions> {
get name(): "columns";
createTags(): "block"[];
createNodeSpec(extra: ApplySchemaAttributes, override: NodeSpecOverride): NodeExtensionSpec;
/**
* Add a column span attribute to all block nodes within the editor.
*/
createSchemaAttributes(): IdentifierSchemaAttributes[];
/**
* Toggle a column wrap around the content.
*/
toggleColumns(attrs?: ColumnAttributes, options?: ToggleColumnsOptions): CommandFunction;
}
export { ColumnsExtension }
export { ColumnsExtension as ColumnsExtension_alias_1 }
declare interface ColumnsOptions {
/**
* The default columns to use for created columns.
*
* @defaultValue `DEFAULT_COLUMN_ATTRIBUTES`
*/
defaults?: Static<Required<BaseColumnAttributes>>;
}
export { ColumnsOptions }
export { ColumnsOptions as ColumnsOptions_alias_1 }
declare const DEFAULT_COLUMN_ATTRIBUTES: Required<BaseColumnAttributes>;
export { DEFAULT_COLUMN_ATTRIBUTES }
export { DEFAULT_COLUMN_ATTRIBUTES as DEFAULT_COLUMN_ATTRIBUTES_alias_1 }
declare interface ToggleColumnsOptions {
selection?: PrimitiveSelection;
}
declare const toggleColumnsOptions: Remirror.CommandDecoratorOptions;
export { toggleColumnsOptions }
export { toggleColumnsOptions as toggleColumnsOptions_alias_1 }
export { }
declare global {
namespace Remirror {
interface Attributes {
/**
* The number of columns that a node should span across. This only comes
* into effect if the block node is within a column node.
*/
columnSpan?: 'none' | 'all';
}
interface AllExtensions {
columns: ColumnsExtension;
}
}
}