You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					59 lines
				
				2.3 KiB
			
		
		
			
		
	
	
					59 lines
				
				2.3 KiB
			| 
								 
											3 years ago
										 
									 | 
							
								import { NodeSpec, NodeType, Attrs } from 'prosemirror-model';
							 | 
						||
| 
								 | 
							
								import OrderedMap from 'orderedmap';
							 | 
						||
| 
								 | 
							
								import { Command } from 'prosemirror-state';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								An ordered list [node spec](https://prosemirror.net/docs/ref/#model.NodeSpec). Has a single
							 | 
						||
| 
								 | 
							
								attribute, `order`, which determines the number at which the list
							 | 
						||
| 
								 | 
							
								starts counting, and defaults to 1. Represented as an `<ol>`
							 | 
						||
| 
								 | 
							
								element.
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								declare const orderedList: NodeSpec;
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								A bullet list node spec, represented in the DOM as `<ul>`.
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								declare const bulletList: NodeSpec;
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								A list item (`<li>`) spec.
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								declare const listItem: NodeSpec;
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								Convenience function for adding list-related node types to a map
							 | 
						||
| 
								 | 
							
								specifying the nodes for a schema. Adds
							 | 
						||
| 
								 | 
							
								[`orderedList`](https://prosemirror.net/docs/ref/#schema-list.orderedList) as `"ordered_list"`,
							 | 
						||
| 
								 | 
							
								[`bulletList`](https://prosemirror.net/docs/ref/#schema-list.bulletList) as `"bullet_list"`, and
							 | 
						||
| 
								 | 
							
								[`listItem`](https://prosemirror.net/docs/ref/#schema-list.listItem) as `"list_item"`.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								`itemContent` determines the content expression for the list items.
							 | 
						||
| 
								 | 
							
								If you want the commands defined in this module to apply to your
							 | 
						||
| 
								 | 
							
								list structure, it should have a shape like `"paragraph block*"` or
							 | 
						||
| 
								 | 
							
								`"paragraph (ordered_list | bullet_list)*"`. `listGroup` can be
							 | 
						||
| 
								 | 
							
								given to assign a group name to the list node types, for example
							 | 
						||
| 
								 | 
							
								`"block"`.
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								declare function addListNodes(nodes: OrderedMap<NodeSpec>, itemContent: string, listGroup?: string): OrderedMap<NodeSpec>;
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								Returns a command function that wraps the selection in a list with
							 | 
						||
| 
								 | 
							
								the given type an attributes. If `dispatch` is null, only return a
							 | 
						||
| 
								 | 
							
								value to indicate whether this is possible, but don't actually
							 | 
						||
| 
								 | 
							
								perform the change.
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								declare function wrapInList(listType: NodeType, attrs?: Attrs | null): Command;
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								Build a command that splits a non-empty textblock at the top level
							 | 
						||
| 
								 | 
							
								of a list item by also splitting that list item.
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								declare function splitListItem(itemType: NodeType): Command;
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								Create a command to lift the list item around the selection up into
							 | 
						||
| 
								 | 
							
								a wrapping list.
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								declare function liftListItem(itemType: NodeType): Command;
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								Create a command to sink the list item around the selection down
							 | 
						||
| 
								 | 
							
								into an inner list.
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								declare function sinkListItem(itemType: NodeType): Command;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export { addListNodes, bulletList, liftListItem, listItem, orderedList, sinkListItem, splitListItem, wrapInList };
							 |