@domternal/core 0.8.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -1399,6 +1399,7 @@ interface ExtensionEditor {
1399
1399
  readonly view: EditorView;
1400
1400
  readonly schema: unknown;
1401
1401
  readonly commands: SingleCommands;
1402
+ readonly isEditable: boolean;
1402
1403
  }
1403
1404
  /**
1404
1405
  * Any extension type (forward declaration)
@@ -2392,8 +2393,18 @@ declare const lift: CommandSpec;
2392
2393
  * @param listNodeName - The name of the list node type (e.g., 'bulletList', 'orderedList')
2393
2394
  * @param listItemNodeName - The name of the list item node type (usually 'listItem')
2394
2395
  * @param attributes - Optional attributes for the list node
2395
- */
2396
- declare const toggleList: CommandSpec<[listNodeName: string, listItemNodeName: string, attributes?: Attrs]>;
2396
+ * @param options - `perItem: true` converts ONLY the cursor's item (Notion
2397
+ * turn-into via slash / block menu); the default whole-list toggle is what the
2398
+ * toolbar button and Mod-Shift shortcut use.
2399
+ */
2400
+ declare const toggleList: CommandSpec<[
2401
+ listNodeName: string,
2402
+ listItemNodeName: string,
2403
+ attributes?: Attrs,
2404
+ options?: {
2405
+ perItem?: boolean;
2406
+ }
2407
+ ]>;
2397
2408
 
2398
2409
  /**
2399
2410
  * Attribute commands - updateAttributes, resetAttributes
@@ -2446,7 +2457,14 @@ declare module '@domternal/core' {
2446
2457
  wrapIn: CommandSpec<[nodeName: string, attributes?: Attrs]>;
2447
2458
  toggleWrap: CommandSpec<[nodeName: string, attributes?: Attrs]>;
2448
2459
  lift: CommandSpec;
2449
- toggleList: CommandSpec<[listNodeName: string, listItemNodeName: string, attributes?: Attrs]>;
2460
+ toggleList: CommandSpec<[
2461
+ listNodeName: string,
2462
+ listItemNodeName: string,
2463
+ attributes?: Attrs,
2464
+ options?: {
2465
+ perItem?: boolean;
2466
+ }
2467
+ ]>;
2450
2468
  insertContent: CommandSpec<[content: Content]>;
2451
2469
  selectNodeBackward: CommandSpec;
2452
2470
  updateAttributes: CommandSpec<[typeOrName: string, attributes: Record<string, unknown>]>;
@@ -2553,6 +2571,14 @@ interface PositionFloatingOptions {
2553
2571
  padding?: number;
2554
2572
  /** Track ancestor scroll events. Disable for static anchors (e.g. toolbar buttons). @default true */
2555
2573
  trackScroll?: boolean;
2574
+ /**
2575
+ * Clipping boundary for flip/shift overflow detection. Defaults to the
2576
+ * floating-ui clipping ancestors (overflow containers plus viewport).
2577
+ * Since the theme stopped clipping `.dm-editor` itself, floats that must
2578
+ * stay inside the editor box (e.g. the table cell toolbar, which would
2579
+ * otherwise cover app chrome above the editor) pass the wrapper here.
2580
+ */
2581
+ boundary?: Element;
2556
2582
  }
2557
2583
  /**
2558
2584
  * Positions a floating element relative to a reference element or virtual rect,
@@ -3957,6 +3983,87 @@ declare class FloatingMenuController {
3957
3983
  private updateDisabledStates;
3958
3984
  }
3959
3985
 
3986
+ declare const floatingMenuPluginKey: PluginKey<any>;
3987
+ /** Default visibility: cursor at the start of an empty `paragraph` in an editable editor. */
3988
+ declare function defaultFloatingMenuShouldShow({ editor, state, }: {
3989
+ editor: Editor;
3990
+ view: EditorView;
3991
+ state: EditorState;
3992
+ }): boolean;
3993
+ /**
3994
+ * Keyboard shortcuts to move focus from the editor into the menu. Defaults
3995
+ * pair the WAI-ARIA `Alt-F10` with `Mod-/`; empty array disables keyboard entry.
3996
+ */
3997
+ interface FloatingMenuKeymap {
3998
+ /** Shortcuts that focus the first menu item when the menu is visible. */
3999
+ enterMenu?: string[];
4000
+ }
4001
+ interface FloatingMenuOptions {
4002
+ /**
4003
+ * The HTML element that contains the menu. Required when used directly;
4004
+ * framework wrappers create this element and pass it in.
4005
+ */
4006
+ element: HTMLElement | null;
4007
+ /**
4008
+ * Visibility predicate. Defaults to `defaultFloatingMenuShouldShow` (empty
4009
+ * paragraph at cursor start).
4010
+ */
4011
+ shouldShow: (props: {
4012
+ editor: Editor;
4013
+ view: EditorView;
4014
+ state: EditorState;
4015
+ }) => boolean;
4016
+ /**
4017
+ * Pixel offset from the anchor. @default 0
4018
+ */
4019
+ offset: number;
4020
+ /**
4021
+ * Items override. Array replaces defaults entirely; function receives the
4022
+ * collected defaults and returns a new list. Consumed by the controller;
4023
+ * the plugin reads it only when the wrapper doesn't build its own controller.
4024
+ */
4025
+ items?: FloatingMenuItemsOverride;
4026
+ /** Keyboard shortcuts for entering the menu via keyboard. */
4027
+ keymap?: FloatingMenuKeymap;
4028
+ /**
4029
+ * When `true`, the menu only opens via `showFloatingMenu(view)` (the gutter
4030
+ * `+` button); pressing Enter into an empty paragraph no longer auto-shows
4031
+ * it. Mirrors Notion: empty rows show a placeholder, `/` is the keyboard trigger.
4032
+ *
4033
+ * @default false (auto-shows on every empty paragraph, backward compat)
4034
+ */
4035
+ requireExplicitTrigger?: boolean;
4036
+ }
4037
+ interface CreateFloatingMenuPluginOptions {
4038
+ pluginKey: PluginKey;
4039
+ editor: Editor;
4040
+ element: HTMLElement;
4041
+ shouldShow?: FloatingMenuOptions['shouldShow'];
4042
+ offset?: number;
4043
+ keymap?: FloatingMenuKeymap | undefined;
4044
+ requireExplicitTrigger?: boolean;
4045
+ }
4046
+ /**
4047
+ * Meta key for `showFloatingMenu` / `hideFloatingMenu`. A STRING (not a
4048
+ * PluginKey) so callers don't need a plugin-instance reference: framework
4049
+ * wrappers create per-instance PluginKeys but all read this shared meta.
4050
+ */
4051
+ declare const FLOATING_MENU_META = "dm:floatingMenuTrigger";
4052
+ /**
4053
+ * Programmatically show the FloatingMenu, used by BlockHandle's `+` button
4054
+ * after inserting a fresh empty paragraph. With `requireExplicitTrigger: true`
4055
+ * this is the only way the menu opens (the `Mod-/` shortcut still focuses an
4056
+ * already-visible menu).
4057
+ */
4058
+ declare function showFloatingMenu(view: EditorView): void;
4059
+ /** Programmatically hide the FloatingMenu (clears the explicit-trigger flag). */
4060
+ declare function hideFloatingMenu(view: EditorView): void;
4061
+ /**
4062
+ * Creates the FloatingMenu plugin. Framework wrappers call this directly so
4063
+ * they own element creation and rendering.
4064
+ */
4065
+ declare function createFloatingMenuPlugin(options: CreateFloatingMenuPluginOptions): Plugin;
4066
+
3960
4067
  declare const defaultIcons: IconSet;
3961
4068
 
3962
4069
  /**
@@ -4485,6 +4592,7 @@ declare const CodeBlock: Node<CodeBlockOptions, unknown>;
4485
4592
  declare module '@domternal/core' {
4486
4593
  interface RawCommands {
4487
4594
  toggleBulletList: CommandSpec;
4595
+ turnIntoBulletList: CommandSpec;
4488
4596
  }
4489
4597
  }
4490
4598
  interface BulletListOptions {
@@ -4503,6 +4611,7 @@ declare const BulletList: Node<BulletListOptions, unknown>;
4503
4611
  declare module '@domternal/core' {
4504
4612
  interface RawCommands {
4505
4613
  toggleOrderedList: CommandSpec;
4614
+ turnIntoOrderedList: CommandSpec;
4506
4615
  }
4507
4616
  }
4508
4617
  interface OrderedListOptions {
@@ -4577,6 +4686,7 @@ declare const HardBreak: Node<HardBreakOptions, unknown>;
4577
4686
  declare module '@domternal/core' {
4578
4687
  interface RawCommands {
4579
4688
  toggleTaskList: CommandSpec;
4689
+ turnIntoTaskList: CommandSpec;
4580
4690
  }
4581
4691
  }
4582
4692
  interface TaskListOptions {
@@ -5317,8 +5427,8 @@ declare const ListKeymap: Extension<ListKeymapOptions, unknown>;
5317
5427
  /**
5318
5428
  * Keyboard indent across list boundaries. `Tab` on a top-level block whose
5319
5429
  * previous sibling is a list moves the block INTO the last item as a nested
5320
- * child; `Shift-Tab` reverses for a block sitting as the last child of the
5321
- * last item.
5430
+ * child; `Shift-Tab` lifts the last child of a list item back out to a
5431
+ * top-level sibling, splitting the list when that item is not the last one.
5322
5432
  *
5323
5433
  * Trigger is intentionally narrow so ListKeymap retains in-list Tab/Shift-Tab
5324
5434
  * (`sinkListItem` / `liftListItem`). Schema is validated via `canReplaceWith`;
@@ -5330,9 +5440,9 @@ declare const ListKeymap: Extension<ListKeymapOptions, unknown>;
5330
5440
  * inside the now-nested context (then ListKeymap takes over).
5331
5441
  * - Tab only fires for cursors in TOP-LEVEL blocks (depth === 1). Cursors
5332
5442
  * inside other containers (blockquote, table cell) fall through.
5333
- * - Shift-Tab only fires when the block is BOTH the last child of its
5334
- * item AND the item is the last in its wrapper. Mid-position outdent
5335
- * would require splitting the list item, which is deferred.
5443
+ * - Shift-Tab fires for the LAST child of a list item; a non-last item is
5444
+ * split so the parent survives (Notion parity). Mid children-zone blocks
5445
+ * are still deferred.
5336
5446
  *
5337
5447
  * Registration order: must come AFTER ListKeymap so this extension's keymap
5338
5448
  * runs FIRST and can defer to ListKeymap for in-list flows.
@@ -5347,10 +5457,9 @@ declare const ListKeymap: Extension<ListKeymapOptions, unknown>;
5347
5457
  */
5348
5458
  declare function indentBlockAsListChild(state: EditorState, dispatch?: (tr: Transaction) => void): boolean;
5349
5459
  /**
5350
- * `Shift-Tab` handler: lift a non-label nested block out of its list
5351
- * item to become a top-level sibling AFTER the list wrapper. Only
5352
- * fires for the strict end-of-end case (last child of last item) so
5353
- * the lift is deterministic and never needs to split a list item.
5460
+ * `Shift-Tab` handler: lift the last child of a list item out to a
5461
+ * top-level sibling. Lands after the whole list when the item is last
5462
+ * in its wrapper, else splits the wrapper and lands between the halves.
5354
5463
  *
5355
5464
  * Precondition table:
5356
5465
  * - cursor empty
@@ -5363,7 +5472,6 @@ declare function indentBlockAsListChild(state: EditorState, dispatch?: (tr: Tran
5363
5472
  * immediate li children rather than reaching deeper into nested
5364
5473
  * containers
5365
5474
  * - the block is the LAST child of the list item
5366
- * - the list item is the LAST child of its wrapper
5367
5475
  * - the wrapper's parent accepts the block as a sibling (schema)
5368
5476
  */
5369
5477
  declare function outdentBlockFromListItem(state: EditorState, dispatch?: (tr: Transaction) => void): boolean;
@@ -6351,4 +6459,4 @@ declare const StarterKit: Extension<StarterKitOptions, unknown>;
6351
6459
  */
6352
6460
  declare const VERSION = "0.1.0";
6353
6461
 
6354
- export { type AnyExtension, type AnyExtensionConfig, type AttributeSpec, type AttributeSpecs, type AutolinkPluginOptions, BaseKeymap, type BaseKeymapOptions, BlockColor, type BlockColorOptions, Blockquote, type BlockquoteOptions, Bold, type BoldOptions, BubbleMenu, type BubbleMenuOptions, type BuildCommandPropsOptions, BulletList, type BulletListOptions, type CanChainedCommands, CanChecker, type CanCheckerEditor, type CanCheckerOptions, type CanCommands, ChainBuilder, type ChainBuilderEditor, type ChainBuilderOptions, type ChainFailure, type ChainedCommands, CharacterCount, type CharacterCountOptions, type CharacterCountStorage, type ClearContentOptions, ClearFormatting, Code, CodeBlock, type CodeBlockOptions, type CodeOptions, type Command, type CommandEditor, CommandManager, type CommandManagerEditor, type CommandMap, type CommandProps, type CommandPropsEditor, type CommandSpec, type Content, type ContentErrorProps, type CreateBubbleMenuPluginOptions, type CreateDocumentOptions, type CreateEventProps, DEFAULT_BLOCK_COLORS, DEFAULT_BLOCK_COLOR_TYPES, DEFAULT_HIGHLIGHT_COLORS, DEFAULT_NOTION_COLOR_PALETTE, DEFAULT_TEXT_COLORS, type DeleteEventProps, Document$1 as Document, type DropEventProps, Dropcursor, type DropcursorOptions, Editor, type EditorEventName, type EditorEvents, type EditorInstance, type EditorOptions, EventEmitter, Extension, type ExtensionConfig, type ExtensionEditor, ExtensionManager, type ExtensionManagerEditor, type ExtensionManagerOptions, FLOATING_MENU_NO_FOCUS, type FindChildResult, type FindParentNodeResult, FloatingMenuController, type FloatingMenuGroup, type FloatingMenuItem, type FloatingMenuItemsOverride, Focus, type FocusEventProps, type FocusOptions, type FocusPosition, FontFamily, type FontFamilyOptions, FontSize, type FontSizeOptions, Gapcursor, type GenerateHTMLOptions, type GenerateJSONOptions, type GenerateTextOptions, type GlobalAttributeSpec, type GlobalAttributes, HardBreak, type HardBreakOptions, Heading, type HeadingOptions, Highlight, type HighlightOptions, History, type HistoryOptions, HorizontalRule, type HorizontalRuleOptions, type IconSet, type InlineStyleOverrides, type InsertAsListItemChildArgs, type InsertAsListItemChildResult, InvisibleChars, type InvisibleCharsOptions, type InvisibleCharsStorage, type IsNodeEmptyOptions, type IsValidUrlOptions, Italic, type ItalicOptions, type JSONAttribute, type JSONContent, type JSONMark, type KeyboardShortcutCommand, LIST_ITEM_TYPE_NAMES, LineHeight, type LineHeightOptions, Link, type LinkAttributes, type LinkClickPluginOptions, type LinkExitPluginOptions, type LinkOptions, type LinkPastePluginOptions, LinkPopover, type LinkPopoverOptions, ListIndent, ListItem, type ListItemCursorContext, type ListItemOptions, ListKeymap, type ListKeymapOptions, Mark, type MarkConfig, type MarkInputRuleOptions, type MarkParseRule, type MarkRange, type MarkRenderHTMLProps, type MountEventProps, Node, type NodeConfig, type NodeInputRuleOptions, type NodeParseRule, type NodeRenderHTMLProps, type NodeViewContext, NotionColorPicker, type NotionColorPickerOptions, type NotionColorPickerStorage, OrderedList, type OrderedListOptions, Paragraph, type ParagraphOptions, type PasteEventProps, Placeholder, type PlaceholderOptions, type PositionFloatingOptions, type Range, type RawCommands, Selection, SelectionDecoration, type SelectionDecorationOptions, type SelectionOptions, type SelectionStorage, type SetContentOptions, type SingleCommands, type SplitListForInsertRange, StarterKit, type StarterKitOptions, Strike, type StrikeOptions, Subscript, type SubscriptOptions, Superscript, type SuperscriptOptions, TaskItem, type TaskItemOptions, TaskList, type TaskListOptions, Text, TextAlign, type TextAlignOptions, TextColor, type TextColorOptions, type TextInputRuleOptions, TextStyle, type TextStyleOptions, type TextblockTypeInputRuleOptions, type ToolbarButton, ToolbarController, type ToolbarControllerEditor, type ToolbarDropdown, type ToolbarGroup, type ToolbarItem, type ToolbarLayoutDropdown, type ToolbarLayoutEntry, type ToolbarSeparator, TrailingNode, type TrailingNodeOptions, type TransactionEventProps, Typography, type TypographyOptions, Underline, type UnderlineOptions, UniqueID, type UniqueIDOptions, VERSION, type WrappingInputRuleOptions, applyInlineStyles, autolinkPlugin, autolinkPluginKey, blur, bubbleMenuPluginKey, buildCommandProps, builtInCommands, callOrReturn, characterCountPluginKey, clearContent, copyThemeClass, createAccumulatingDispatch, createBubbleMenuPlugin, createCanChecker, createChainBuilder, createDocument, defaultBlockAt, defaultBubbleContexts, defaultIcons, deleteSelection, findChildren, findListItemAncestorDepth, findParentNode, focus, focusPluginKey, generateHTML, generateJSON, generateText, getListItemCursorContext, getMarkRange, groupFloatingMenuItems, indentBlockAsListChild, inlineStyles, insertAsListItemChild, insertChildrenZoneSibling, insertContent, insertText, invisibleCharsPluginKey, isDocumentEmpty, isInListItemLabel, isInsideListItem, isNodeEmpty, isValidUrl, lift, liftCurrentListItem, liftEmptyChildrenZoneParagraph, linkClickPlugin, linkClickPluginKey, linkExitPlugin, linkExitPluginKey, linkPastePlugin, linkPastePluginKey, markInputRule, markInputRulePatterns, nodeInputRule, outdentBlockFromListItem, placeholderPluginKey, positionFloating, positionFloatingOnce, resetAttributes, selectAll, selectNodeBackward, selectionDecorationPluginKey, setBlockType, setContent, setMark, splitListForInsert, stripInlineColorConflicts, textInputRule, textblockTypeInputRule, toggleBlockType, toggleList, toggleMark, toggleWrap, uniqueIDPluginKey, unsetAllMarks, unsetMark, updateAttributes, wrapIn, wrappingInputRule, writeToClipboard };
6462
+ export { type AnyExtension, type AnyExtensionConfig, type AttributeSpec, type AttributeSpecs, type AutolinkPluginOptions, BaseKeymap, type BaseKeymapOptions, BlockColor, type BlockColorOptions, Blockquote, type BlockquoteOptions, Bold, type BoldOptions, BubbleMenu, type BubbleMenuOptions, type BuildCommandPropsOptions, BulletList, type BulletListOptions, type CanChainedCommands, CanChecker, type CanCheckerEditor, type CanCheckerOptions, type CanCommands, ChainBuilder, type ChainBuilderEditor, type ChainBuilderOptions, type ChainFailure, type ChainedCommands, CharacterCount, type CharacterCountOptions, type CharacterCountStorage, type ClearContentOptions, ClearFormatting, Code, CodeBlock, type CodeBlockOptions, type CodeOptions, type Command, type CommandEditor, CommandManager, type CommandManagerEditor, type CommandMap, type CommandProps, type CommandPropsEditor, type CommandSpec, type Content, type ContentErrorProps, type CreateBubbleMenuPluginOptions, type CreateDocumentOptions, type CreateEventProps, type CreateFloatingMenuPluginOptions, DEFAULT_BLOCK_COLORS, DEFAULT_BLOCK_COLOR_TYPES, DEFAULT_HIGHLIGHT_COLORS, DEFAULT_NOTION_COLOR_PALETTE, DEFAULT_TEXT_COLORS, type DeleteEventProps, Document$1 as Document, type DropEventProps, Dropcursor, type DropcursorOptions, Editor, type EditorEventName, type EditorEvents, type EditorInstance, type EditorOptions, EventEmitter, Extension, type ExtensionConfig, type ExtensionEditor, ExtensionManager, type ExtensionManagerEditor, type ExtensionManagerOptions, FLOATING_MENU_META, FLOATING_MENU_NO_FOCUS, type FindChildResult, type FindParentNodeResult, FloatingMenuController, type FloatingMenuGroup, type FloatingMenuItem, type FloatingMenuItemsOverride, type FloatingMenuKeymap, type FloatingMenuOptions, Focus, type FocusEventProps, type FocusOptions, type FocusPosition, FontFamily, type FontFamilyOptions, FontSize, type FontSizeOptions, Gapcursor, type GenerateHTMLOptions, type GenerateJSONOptions, type GenerateTextOptions, type GlobalAttributeSpec, type GlobalAttributes, HardBreak, type HardBreakOptions, Heading, type HeadingOptions, Highlight, type HighlightOptions, History, type HistoryOptions, HorizontalRule, type HorizontalRuleOptions, type IconSet, type InlineStyleOverrides, type InsertAsListItemChildArgs, type InsertAsListItemChildResult, InvisibleChars, type InvisibleCharsOptions, type InvisibleCharsStorage, type IsNodeEmptyOptions, type IsValidUrlOptions, Italic, type ItalicOptions, type JSONAttribute, type JSONContent, type JSONMark, type KeyboardShortcutCommand, LIST_ITEM_TYPE_NAMES, LineHeight, type LineHeightOptions, Link, type LinkAttributes, type LinkClickPluginOptions, type LinkExitPluginOptions, type LinkOptions, type LinkPastePluginOptions, LinkPopover, type LinkPopoverOptions, ListIndent, ListItem, type ListItemCursorContext, type ListItemOptions, ListKeymap, type ListKeymapOptions, Mark, type MarkConfig, type MarkInputRuleOptions, type MarkParseRule, type MarkRange, type MarkRenderHTMLProps, type MountEventProps, Node, type NodeConfig, type NodeInputRuleOptions, type NodeParseRule, type NodeRenderHTMLProps, type NodeViewContext, NotionColorPicker, type NotionColorPickerOptions, type NotionColorPickerStorage, OrderedList, type OrderedListOptions, Paragraph, type ParagraphOptions, type PasteEventProps, Placeholder, type PlaceholderOptions, type PositionFloatingOptions, type Range, type RawCommands, Selection, SelectionDecoration, type SelectionDecorationOptions, type SelectionOptions, type SelectionStorage, type SetContentOptions, type SingleCommands, type SplitListForInsertRange, StarterKit, type StarterKitOptions, Strike, type StrikeOptions, Subscript, type SubscriptOptions, Superscript, type SuperscriptOptions, TaskItem, type TaskItemOptions, TaskList, type TaskListOptions, Text, TextAlign, type TextAlignOptions, TextColor, type TextColorOptions, type TextInputRuleOptions, TextStyle, type TextStyleOptions, type TextblockTypeInputRuleOptions, type ToolbarButton, ToolbarController, type ToolbarControllerEditor, type ToolbarDropdown, type ToolbarGroup, type ToolbarItem, type ToolbarLayoutDropdown, type ToolbarLayoutEntry, type ToolbarSeparator, TrailingNode, type TrailingNodeOptions, type TransactionEventProps, Typography, type TypographyOptions, Underline, type UnderlineOptions, UniqueID, type UniqueIDOptions, VERSION, type WrappingInputRuleOptions, applyInlineStyles, autolinkPlugin, autolinkPluginKey, blur, bubbleMenuPluginKey, buildCommandProps, builtInCommands, callOrReturn, characterCountPluginKey, clearContent, copyThemeClass, createAccumulatingDispatch, createBubbleMenuPlugin, createCanChecker, createChainBuilder, createDocument, createFloatingMenuPlugin, defaultBlockAt, defaultBubbleContexts, defaultFloatingMenuShouldShow, defaultIcons, deleteSelection, findChildren, findListItemAncestorDepth, findParentNode, floatingMenuPluginKey, focus, focusPluginKey, generateHTML, generateJSON, generateText, getListItemCursorContext, getMarkRange, groupFloatingMenuItems, hideFloatingMenu, indentBlockAsListChild, inlineStyles, insertAsListItemChild, insertChildrenZoneSibling, insertContent, insertText, invisibleCharsPluginKey, isDocumentEmpty, isInListItemLabel, isInsideListItem, isNodeEmpty, isValidUrl, lift, liftCurrentListItem, liftEmptyChildrenZoneParagraph, linkClickPlugin, linkClickPluginKey, linkExitPlugin, linkExitPluginKey, linkPastePlugin, linkPastePluginKey, markInputRule, markInputRulePatterns, nodeInputRule, outdentBlockFromListItem, placeholderPluginKey, positionFloating, positionFloatingOnce, resetAttributes, selectAll, selectNodeBackward, selectionDecorationPluginKey, setBlockType, setContent, setMark, showFloatingMenu, splitListForInsert, stripInlineColorConflicts, textInputRule, textblockTypeInputRule, toggleBlockType, toggleList, toggleMark, toggleWrap, uniqueIDPluginKey, unsetAllMarks, unsetMark, updateAttributes, wrapIn, wrappingInputRule, writeToClipboard };
package/dist/index.d.ts CHANGED
@@ -1399,6 +1399,7 @@ interface ExtensionEditor {
1399
1399
  readonly view: EditorView;
1400
1400
  readonly schema: unknown;
1401
1401
  readonly commands: SingleCommands;
1402
+ readonly isEditable: boolean;
1402
1403
  }
1403
1404
  /**
1404
1405
  * Any extension type (forward declaration)
@@ -2392,8 +2393,18 @@ declare const lift: CommandSpec;
2392
2393
  * @param listNodeName - The name of the list node type (e.g., 'bulletList', 'orderedList')
2393
2394
  * @param listItemNodeName - The name of the list item node type (usually 'listItem')
2394
2395
  * @param attributes - Optional attributes for the list node
2395
- */
2396
- declare const toggleList: CommandSpec<[listNodeName: string, listItemNodeName: string, attributes?: Attrs]>;
2396
+ * @param options - `perItem: true` converts ONLY the cursor's item (Notion
2397
+ * turn-into via slash / block menu); the default whole-list toggle is what the
2398
+ * toolbar button and Mod-Shift shortcut use.
2399
+ */
2400
+ declare const toggleList: CommandSpec<[
2401
+ listNodeName: string,
2402
+ listItemNodeName: string,
2403
+ attributes?: Attrs,
2404
+ options?: {
2405
+ perItem?: boolean;
2406
+ }
2407
+ ]>;
2397
2408
 
2398
2409
  /**
2399
2410
  * Attribute commands - updateAttributes, resetAttributes
@@ -2446,7 +2457,14 @@ declare module '@domternal/core' {
2446
2457
  wrapIn: CommandSpec<[nodeName: string, attributes?: Attrs]>;
2447
2458
  toggleWrap: CommandSpec<[nodeName: string, attributes?: Attrs]>;
2448
2459
  lift: CommandSpec;
2449
- toggleList: CommandSpec<[listNodeName: string, listItemNodeName: string, attributes?: Attrs]>;
2460
+ toggleList: CommandSpec<[
2461
+ listNodeName: string,
2462
+ listItemNodeName: string,
2463
+ attributes?: Attrs,
2464
+ options?: {
2465
+ perItem?: boolean;
2466
+ }
2467
+ ]>;
2450
2468
  insertContent: CommandSpec<[content: Content]>;
2451
2469
  selectNodeBackward: CommandSpec;
2452
2470
  updateAttributes: CommandSpec<[typeOrName: string, attributes: Record<string, unknown>]>;
@@ -2553,6 +2571,14 @@ interface PositionFloatingOptions {
2553
2571
  padding?: number;
2554
2572
  /** Track ancestor scroll events. Disable for static anchors (e.g. toolbar buttons). @default true */
2555
2573
  trackScroll?: boolean;
2574
+ /**
2575
+ * Clipping boundary for flip/shift overflow detection. Defaults to the
2576
+ * floating-ui clipping ancestors (overflow containers plus viewport).
2577
+ * Since the theme stopped clipping `.dm-editor` itself, floats that must
2578
+ * stay inside the editor box (e.g. the table cell toolbar, which would
2579
+ * otherwise cover app chrome above the editor) pass the wrapper here.
2580
+ */
2581
+ boundary?: Element;
2556
2582
  }
2557
2583
  /**
2558
2584
  * Positions a floating element relative to a reference element or virtual rect,
@@ -3957,6 +3983,87 @@ declare class FloatingMenuController {
3957
3983
  private updateDisabledStates;
3958
3984
  }
3959
3985
 
3986
+ declare const floatingMenuPluginKey: PluginKey<any>;
3987
+ /** Default visibility: cursor at the start of an empty `paragraph` in an editable editor. */
3988
+ declare function defaultFloatingMenuShouldShow({ editor, state, }: {
3989
+ editor: Editor;
3990
+ view: EditorView;
3991
+ state: EditorState;
3992
+ }): boolean;
3993
+ /**
3994
+ * Keyboard shortcuts to move focus from the editor into the menu. Defaults
3995
+ * pair the WAI-ARIA `Alt-F10` with `Mod-/`; empty array disables keyboard entry.
3996
+ */
3997
+ interface FloatingMenuKeymap {
3998
+ /** Shortcuts that focus the first menu item when the menu is visible. */
3999
+ enterMenu?: string[];
4000
+ }
4001
+ interface FloatingMenuOptions {
4002
+ /**
4003
+ * The HTML element that contains the menu. Required when used directly;
4004
+ * framework wrappers create this element and pass it in.
4005
+ */
4006
+ element: HTMLElement | null;
4007
+ /**
4008
+ * Visibility predicate. Defaults to `defaultFloatingMenuShouldShow` (empty
4009
+ * paragraph at cursor start).
4010
+ */
4011
+ shouldShow: (props: {
4012
+ editor: Editor;
4013
+ view: EditorView;
4014
+ state: EditorState;
4015
+ }) => boolean;
4016
+ /**
4017
+ * Pixel offset from the anchor. @default 0
4018
+ */
4019
+ offset: number;
4020
+ /**
4021
+ * Items override. Array replaces defaults entirely; function receives the
4022
+ * collected defaults and returns a new list. Consumed by the controller;
4023
+ * the plugin reads it only when the wrapper doesn't build its own controller.
4024
+ */
4025
+ items?: FloatingMenuItemsOverride;
4026
+ /** Keyboard shortcuts for entering the menu via keyboard. */
4027
+ keymap?: FloatingMenuKeymap;
4028
+ /**
4029
+ * When `true`, the menu only opens via `showFloatingMenu(view)` (the gutter
4030
+ * `+` button); pressing Enter into an empty paragraph no longer auto-shows
4031
+ * it. Mirrors Notion: empty rows show a placeholder, `/` is the keyboard trigger.
4032
+ *
4033
+ * @default false (auto-shows on every empty paragraph, backward compat)
4034
+ */
4035
+ requireExplicitTrigger?: boolean;
4036
+ }
4037
+ interface CreateFloatingMenuPluginOptions {
4038
+ pluginKey: PluginKey;
4039
+ editor: Editor;
4040
+ element: HTMLElement;
4041
+ shouldShow?: FloatingMenuOptions['shouldShow'];
4042
+ offset?: number;
4043
+ keymap?: FloatingMenuKeymap | undefined;
4044
+ requireExplicitTrigger?: boolean;
4045
+ }
4046
+ /**
4047
+ * Meta key for `showFloatingMenu` / `hideFloatingMenu`. A STRING (not a
4048
+ * PluginKey) so callers don't need a plugin-instance reference: framework
4049
+ * wrappers create per-instance PluginKeys but all read this shared meta.
4050
+ */
4051
+ declare const FLOATING_MENU_META = "dm:floatingMenuTrigger";
4052
+ /**
4053
+ * Programmatically show the FloatingMenu, used by BlockHandle's `+` button
4054
+ * after inserting a fresh empty paragraph. With `requireExplicitTrigger: true`
4055
+ * this is the only way the menu opens (the `Mod-/` shortcut still focuses an
4056
+ * already-visible menu).
4057
+ */
4058
+ declare function showFloatingMenu(view: EditorView): void;
4059
+ /** Programmatically hide the FloatingMenu (clears the explicit-trigger flag). */
4060
+ declare function hideFloatingMenu(view: EditorView): void;
4061
+ /**
4062
+ * Creates the FloatingMenu plugin. Framework wrappers call this directly so
4063
+ * they own element creation and rendering.
4064
+ */
4065
+ declare function createFloatingMenuPlugin(options: CreateFloatingMenuPluginOptions): Plugin;
4066
+
3960
4067
  declare const defaultIcons: IconSet;
3961
4068
 
3962
4069
  /**
@@ -4485,6 +4592,7 @@ declare const CodeBlock: Node<CodeBlockOptions, unknown>;
4485
4592
  declare module '@domternal/core' {
4486
4593
  interface RawCommands {
4487
4594
  toggleBulletList: CommandSpec;
4595
+ turnIntoBulletList: CommandSpec;
4488
4596
  }
4489
4597
  }
4490
4598
  interface BulletListOptions {
@@ -4503,6 +4611,7 @@ declare const BulletList: Node<BulletListOptions, unknown>;
4503
4611
  declare module '@domternal/core' {
4504
4612
  interface RawCommands {
4505
4613
  toggleOrderedList: CommandSpec;
4614
+ turnIntoOrderedList: CommandSpec;
4506
4615
  }
4507
4616
  }
4508
4617
  interface OrderedListOptions {
@@ -4577,6 +4686,7 @@ declare const HardBreak: Node<HardBreakOptions, unknown>;
4577
4686
  declare module '@domternal/core' {
4578
4687
  interface RawCommands {
4579
4688
  toggleTaskList: CommandSpec;
4689
+ turnIntoTaskList: CommandSpec;
4580
4690
  }
4581
4691
  }
4582
4692
  interface TaskListOptions {
@@ -5317,8 +5427,8 @@ declare const ListKeymap: Extension<ListKeymapOptions, unknown>;
5317
5427
  /**
5318
5428
  * Keyboard indent across list boundaries. `Tab` on a top-level block whose
5319
5429
  * previous sibling is a list moves the block INTO the last item as a nested
5320
- * child; `Shift-Tab` reverses for a block sitting as the last child of the
5321
- * last item.
5430
+ * child; `Shift-Tab` lifts the last child of a list item back out to a
5431
+ * top-level sibling, splitting the list when that item is not the last one.
5322
5432
  *
5323
5433
  * Trigger is intentionally narrow so ListKeymap retains in-list Tab/Shift-Tab
5324
5434
  * (`sinkListItem` / `liftListItem`). Schema is validated via `canReplaceWith`;
@@ -5330,9 +5440,9 @@ declare const ListKeymap: Extension<ListKeymapOptions, unknown>;
5330
5440
  * inside the now-nested context (then ListKeymap takes over).
5331
5441
  * - Tab only fires for cursors in TOP-LEVEL blocks (depth === 1). Cursors
5332
5442
  * inside other containers (blockquote, table cell) fall through.
5333
- * - Shift-Tab only fires when the block is BOTH the last child of its
5334
- * item AND the item is the last in its wrapper. Mid-position outdent
5335
- * would require splitting the list item, which is deferred.
5443
+ * - Shift-Tab fires for the LAST child of a list item; a non-last item is
5444
+ * split so the parent survives (Notion parity). Mid children-zone blocks
5445
+ * are still deferred.
5336
5446
  *
5337
5447
  * Registration order: must come AFTER ListKeymap so this extension's keymap
5338
5448
  * runs FIRST and can defer to ListKeymap for in-list flows.
@@ -5347,10 +5457,9 @@ declare const ListKeymap: Extension<ListKeymapOptions, unknown>;
5347
5457
  */
5348
5458
  declare function indentBlockAsListChild(state: EditorState, dispatch?: (tr: Transaction) => void): boolean;
5349
5459
  /**
5350
- * `Shift-Tab` handler: lift a non-label nested block out of its list
5351
- * item to become a top-level sibling AFTER the list wrapper. Only
5352
- * fires for the strict end-of-end case (last child of last item) so
5353
- * the lift is deterministic and never needs to split a list item.
5460
+ * `Shift-Tab` handler: lift the last child of a list item out to a
5461
+ * top-level sibling. Lands after the whole list when the item is last
5462
+ * in its wrapper, else splits the wrapper and lands between the halves.
5354
5463
  *
5355
5464
  * Precondition table:
5356
5465
  * - cursor empty
@@ -5363,7 +5472,6 @@ declare function indentBlockAsListChild(state: EditorState, dispatch?: (tr: Tran
5363
5472
  * immediate li children rather than reaching deeper into nested
5364
5473
  * containers
5365
5474
  * - the block is the LAST child of the list item
5366
- * - the list item is the LAST child of its wrapper
5367
5475
  * - the wrapper's parent accepts the block as a sibling (schema)
5368
5476
  */
5369
5477
  declare function outdentBlockFromListItem(state: EditorState, dispatch?: (tr: Transaction) => void): boolean;
@@ -6351,4 +6459,4 @@ declare const StarterKit: Extension<StarterKitOptions, unknown>;
6351
6459
  */
6352
6460
  declare const VERSION = "0.1.0";
6353
6461
 
6354
- export { type AnyExtension, type AnyExtensionConfig, type AttributeSpec, type AttributeSpecs, type AutolinkPluginOptions, BaseKeymap, type BaseKeymapOptions, BlockColor, type BlockColorOptions, Blockquote, type BlockquoteOptions, Bold, type BoldOptions, BubbleMenu, type BubbleMenuOptions, type BuildCommandPropsOptions, BulletList, type BulletListOptions, type CanChainedCommands, CanChecker, type CanCheckerEditor, type CanCheckerOptions, type CanCommands, ChainBuilder, type ChainBuilderEditor, type ChainBuilderOptions, type ChainFailure, type ChainedCommands, CharacterCount, type CharacterCountOptions, type CharacterCountStorage, type ClearContentOptions, ClearFormatting, Code, CodeBlock, type CodeBlockOptions, type CodeOptions, type Command, type CommandEditor, CommandManager, type CommandManagerEditor, type CommandMap, type CommandProps, type CommandPropsEditor, type CommandSpec, type Content, type ContentErrorProps, type CreateBubbleMenuPluginOptions, type CreateDocumentOptions, type CreateEventProps, DEFAULT_BLOCK_COLORS, DEFAULT_BLOCK_COLOR_TYPES, DEFAULT_HIGHLIGHT_COLORS, DEFAULT_NOTION_COLOR_PALETTE, DEFAULT_TEXT_COLORS, type DeleteEventProps, Document$1 as Document, type DropEventProps, Dropcursor, type DropcursorOptions, Editor, type EditorEventName, type EditorEvents, type EditorInstance, type EditorOptions, EventEmitter, Extension, type ExtensionConfig, type ExtensionEditor, ExtensionManager, type ExtensionManagerEditor, type ExtensionManagerOptions, FLOATING_MENU_NO_FOCUS, type FindChildResult, type FindParentNodeResult, FloatingMenuController, type FloatingMenuGroup, type FloatingMenuItem, type FloatingMenuItemsOverride, Focus, type FocusEventProps, type FocusOptions, type FocusPosition, FontFamily, type FontFamilyOptions, FontSize, type FontSizeOptions, Gapcursor, type GenerateHTMLOptions, type GenerateJSONOptions, type GenerateTextOptions, type GlobalAttributeSpec, type GlobalAttributes, HardBreak, type HardBreakOptions, Heading, type HeadingOptions, Highlight, type HighlightOptions, History, type HistoryOptions, HorizontalRule, type HorizontalRuleOptions, type IconSet, type InlineStyleOverrides, type InsertAsListItemChildArgs, type InsertAsListItemChildResult, InvisibleChars, type InvisibleCharsOptions, type InvisibleCharsStorage, type IsNodeEmptyOptions, type IsValidUrlOptions, Italic, type ItalicOptions, type JSONAttribute, type JSONContent, type JSONMark, type KeyboardShortcutCommand, LIST_ITEM_TYPE_NAMES, LineHeight, type LineHeightOptions, Link, type LinkAttributes, type LinkClickPluginOptions, type LinkExitPluginOptions, type LinkOptions, type LinkPastePluginOptions, LinkPopover, type LinkPopoverOptions, ListIndent, ListItem, type ListItemCursorContext, type ListItemOptions, ListKeymap, type ListKeymapOptions, Mark, type MarkConfig, type MarkInputRuleOptions, type MarkParseRule, type MarkRange, type MarkRenderHTMLProps, type MountEventProps, Node, type NodeConfig, type NodeInputRuleOptions, type NodeParseRule, type NodeRenderHTMLProps, type NodeViewContext, NotionColorPicker, type NotionColorPickerOptions, type NotionColorPickerStorage, OrderedList, type OrderedListOptions, Paragraph, type ParagraphOptions, type PasteEventProps, Placeholder, type PlaceholderOptions, type PositionFloatingOptions, type Range, type RawCommands, Selection, SelectionDecoration, type SelectionDecorationOptions, type SelectionOptions, type SelectionStorage, type SetContentOptions, type SingleCommands, type SplitListForInsertRange, StarterKit, type StarterKitOptions, Strike, type StrikeOptions, Subscript, type SubscriptOptions, Superscript, type SuperscriptOptions, TaskItem, type TaskItemOptions, TaskList, type TaskListOptions, Text, TextAlign, type TextAlignOptions, TextColor, type TextColorOptions, type TextInputRuleOptions, TextStyle, type TextStyleOptions, type TextblockTypeInputRuleOptions, type ToolbarButton, ToolbarController, type ToolbarControllerEditor, type ToolbarDropdown, type ToolbarGroup, type ToolbarItem, type ToolbarLayoutDropdown, type ToolbarLayoutEntry, type ToolbarSeparator, TrailingNode, type TrailingNodeOptions, type TransactionEventProps, Typography, type TypographyOptions, Underline, type UnderlineOptions, UniqueID, type UniqueIDOptions, VERSION, type WrappingInputRuleOptions, applyInlineStyles, autolinkPlugin, autolinkPluginKey, blur, bubbleMenuPluginKey, buildCommandProps, builtInCommands, callOrReturn, characterCountPluginKey, clearContent, copyThemeClass, createAccumulatingDispatch, createBubbleMenuPlugin, createCanChecker, createChainBuilder, createDocument, defaultBlockAt, defaultBubbleContexts, defaultIcons, deleteSelection, findChildren, findListItemAncestorDepth, findParentNode, focus, focusPluginKey, generateHTML, generateJSON, generateText, getListItemCursorContext, getMarkRange, groupFloatingMenuItems, indentBlockAsListChild, inlineStyles, insertAsListItemChild, insertChildrenZoneSibling, insertContent, insertText, invisibleCharsPluginKey, isDocumentEmpty, isInListItemLabel, isInsideListItem, isNodeEmpty, isValidUrl, lift, liftCurrentListItem, liftEmptyChildrenZoneParagraph, linkClickPlugin, linkClickPluginKey, linkExitPlugin, linkExitPluginKey, linkPastePlugin, linkPastePluginKey, markInputRule, markInputRulePatterns, nodeInputRule, outdentBlockFromListItem, placeholderPluginKey, positionFloating, positionFloatingOnce, resetAttributes, selectAll, selectNodeBackward, selectionDecorationPluginKey, setBlockType, setContent, setMark, splitListForInsert, stripInlineColorConflicts, textInputRule, textblockTypeInputRule, toggleBlockType, toggleList, toggleMark, toggleWrap, uniqueIDPluginKey, unsetAllMarks, unsetMark, updateAttributes, wrapIn, wrappingInputRule, writeToClipboard };
6462
+ export { type AnyExtension, type AnyExtensionConfig, type AttributeSpec, type AttributeSpecs, type AutolinkPluginOptions, BaseKeymap, type BaseKeymapOptions, BlockColor, type BlockColorOptions, Blockquote, type BlockquoteOptions, Bold, type BoldOptions, BubbleMenu, type BubbleMenuOptions, type BuildCommandPropsOptions, BulletList, type BulletListOptions, type CanChainedCommands, CanChecker, type CanCheckerEditor, type CanCheckerOptions, type CanCommands, ChainBuilder, type ChainBuilderEditor, type ChainBuilderOptions, type ChainFailure, type ChainedCommands, CharacterCount, type CharacterCountOptions, type CharacterCountStorage, type ClearContentOptions, ClearFormatting, Code, CodeBlock, type CodeBlockOptions, type CodeOptions, type Command, type CommandEditor, CommandManager, type CommandManagerEditor, type CommandMap, type CommandProps, type CommandPropsEditor, type CommandSpec, type Content, type ContentErrorProps, type CreateBubbleMenuPluginOptions, type CreateDocumentOptions, type CreateEventProps, type CreateFloatingMenuPluginOptions, DEFAULT_BLOCK_COLORS, DEFAULT_BLOCK_COLOR_TYPES, DEFAULT_HIGHLIGHT_COLORS, DEFAULT_NOTION_COLOR_PALETTE, DEFAULT_TEXT_COLORS, type DeleteEventProps, Document$1 as Document, type DropEventProps, Dropcursor, type DropcursorOptions, Editor, type EditorEventName, type EditorEvents, type EditorInstance, type EditorOptions, EventEmitter, Extension, type ExtensionConfig, type ExtensionEditor, ExtensionManager, type ExtensionManagerEditor, type ExtensionManagerOptions, FLOATING_MENU_META, FLOATING_MENU_NO_FOCUS, type FindChildResult, type FindParentNodeResult, FloatingMenuController, type FloatingMenuGroup, type FloatingMenuItem, type FloatingMenuItemsOverride, type FloatingMenuKeymap, type FloatingMenuOptions, Focus, type FocusEventProps, type FocusOptions, type FocusPosition, FontFamily, type FontFamilyOptions, FontSize, type FontSizeOptions, Gapcursor, type GenerateHTMLOptions, type GenerateJSONOptions, type GenerateTextOptions, type GlobalAttributeSpec, type GlobalAttributes, HardBreak, type HardBreakOptions, Heading, type HeadingOptions, Highlight, type HighlightOptions, History, type HistoryOptions, HorizontalRule, type HorizontalRuleOptions, type IconSet, type InlineStyleOverrides, type InsertAsListItemChildArgs, type InsertAsListItemChildResult, InvisibleChars, type InvisibleCharsOptions, type InvisibleCharsStorage, type IsNodeEmptyOptions, type IsValidUrlOptions, Italic, type ItalicOptions, type JSONAttribute, type JSONContent, type JSONMark, type KeyboardShortcutCommand, LIST_ITEM_TYPE_NAMES, LineHeight, type LineHeightOptions, Link, type LinkAttributes, type LinkClickPluginOptions, type LinkExitPluginOptions, type LinkOptions, type LinkPastePluginOptions, LinkPopover, type LinkPopoverOptions, ListIndent, ListItem, type ListItemCursorContext, type ListItemOptions, ListKeymap, type ListKeymapOptions, Mark, type MarkConfig, type MarkInputRuleOptions, type MarkParseRule, type MarkRange, type MarkRenderHTMLProps, type MountEventProps, Node, type NodeConfig, type NodeInputRuleOptions, type NodeParseRule, type NodeRenderHTMLProps, type NodeViewContext, NotionColorPicker, type NotionColorPickerOptions, type NotionColorPickerStorage, OrderedList, type OrderedListOptions, Paragraph, type ParagraphOptions, type PasteEventProps, Placeholder, type PlaceholderOptions, type PositionFloatingOptions, type Range, type RawCommands, Selection, SelectionDecoration, type SelectionDecorationOptions, type SelectionOptions, type SelectionStorage, type SetContentOptions, type SingleCommands, type SplitListForInsertRange, StarterKit, type StarterKitOptions, Strike, type StrikeOptions, Subscript, type SubscriptOptions, Superscript, type SuperscriptOptions, TaskItem, type TaskItemOptions, TaskList, type TaskListOptions, Text, TextAlign, type TextAlignOptions, TextColor, type TextColorOptions, type TextInputRuleOptions, TextStyle, type TextStyleOptions, type TextblockTypeInputRuleOptions, type ToolbarButton, ToolbarController, type ToolbarControllerEditor, type ToolbarDropdown, type ToolbarGroup, type ToolbarItem, type ToolbarLayoutDropdown, type ToolbarLayoutEntry, type ToolbarSeparator, TrailingNode, type TrailingNodeOptions, type TransactionEventProps, Typography, type TypographyOptions, Underline, type UnderlineOptions, UniqueID, type UniqueIDOptions, VERSION, type WrappingInputRuleOptions, applyInlineStyles, autolinkPlugin, autolinkPluginKey, blur, bubbleMenuPluginKey, buildCommandProps, builtInCommands, callOrReturn, characterCountPluginKey, clearContent, copyThemeClass, createAccumulatingDispatch, createBubbleMenuPlugin, createCanChecker, createChainBuilder, createDocument, createFloatingMenuPlugin, defaultBlockAt, defaultBubbleContexts, defaultFloatingMenuShouldShow, defaultIcons, deleteSelection, findChildren, findListItemAncestorDepth, findParentNode, floatingMenuPluginKey, focus, focusPluginKey, generateHTML, generateJSON, generateText, getListItemCursorContext, getMarkRange, groupFloatingMenuItems, hideFloatingMenu, indentBlockAsListChild, inlineStyles, insertAsListItemChild, insertChildrenZoneSibling, insertContent, insertText, invisibleCharsPluginKey, isDocumentEmpty, isInListItemLabel, isInsideListItem, isNodeEmpty, isValidUrl, lift, liftCurrentListItem, liftEmptyChildrenZoneParagraph, linkClickPlugin, linkClickPluginKey, linkExitPlugin, linkExitPluginKey, linkPastePlugin, linkPastePluginKey, markInputRule, markInputRulePatterns, nodeInputRule, outdentBlockFromListItem, placeholderPluginKey, positionFloating, positionFloatingOnce, resetAttributes, selectAll, selectNodeBackward, selectionDecorationPluginKey, setBlockType, setContent, setMark, showFloatingMenu, splitListForInsert, stripInlineColorConflicts, textInputRule, textblockTypeInputRule, toggleBlockType, toggleList, toggleMark, toggleWrap, uniqueIDPluginKey, unsetAllMarks, unsetMark, updateAttributes, wrapIn, wrappingInputRule, writeToClipboard };