@doist/typist 14.0.0 → 14.1.0

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/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## [14.1.0](https://github.com/Doist/typist/compare/v14.0.0...v14.1.0) (2026-06-12)
2
+
3
+ ### Features
4
+
5
+ * export the `remarkTable` plugin from the package entry point ([#1376](https://github.com/Doist/typist/issues/1376)) ([cd5987f](https://github.com/Doist/typist/commit/cd5987f0c73d75a465c488e38221097db3046f1b))
6
+
1
7
  ## [14.0.0](https://github.com/Doist/typist/compare/v13.0.1...v14.0.0) (2026-06-12)
2
8
 
3
9
  ### ⚠ BREAKING CHANGES
@@ -11,22 +17,6 @@ and as such the `pasteHTMLTableAsString` option was removed from
11
17
  `RichTextKitOptions` (the extension is still registered by the
12
18
  PlainTextKit, where its option remains available).
13
19
 
14
- * fix: do not register table extensions when the paragraph extension is disabled
15
-
16
- * fix: restore hard breaks nested within styled text in table cells
17
-
18
- * fix: skip the table cell hard break rule for schemas without hard breaks
19
-
20
- * fix: escape text that looks like a br element in the Markdown output
21
-
22
- * fix: disable the table toolbar button when the cursor is inside a table
23
-
24
- * test: cover the table extensions exclusion in singleline documents
25
-
26
- * fix: add a heading row to pasted tables without one
27
-
28
- * fix: keep table extensions registered when the paragraph option is disabled
29
-
30
20
  ### Features
31
21
 
32
22
  * add GFM table support to the rich-text editor ([#1373](https://github.com/Doist/typist/issues/1373)) ([bdcab2d](https://github.com/Doist/typist/commit/bdcab2d7184daefd8a6fdb430be9eb0b7624b431))
package/dist/index.d.ts CHANGED
@@ -12,6 +12,7 @@ import { isMultilineDocument, isPlainTextDocument } from "./helpers/schema.js";
12
12
  import { createHTMLSerializer, getHTMLSerializerInstance } from "./serializers/html/html.js";
13
13
  import { remarkAutolinkLiteral } from "./serializers/html/plugins/remark-autolink-literal.js";
14
14
  import { remarkStrikethrough } from "./serializers/html/plugins/remark-strikethrough.js";
15
+ import { remarkTable } from "./serializers/html/plugins/remark-table.js";
15
16
  import { createMarkdownSerializer, getMarkdownSerializerInstance } from "./serializers/markdown/markdown.js";
16
17
  import { canInsertNodeAt } from "./utilities/can-insert-node-at.js";
17
18
  import { canInsertSuggestion } from "./utilities/can-insert-suggestion.js";
@@ -22,4 +23,4 @@ import * as ProseMirrorModel from "@tiptap/pm/model";
22
23
  import { Suggestion, SuggestionKeyDownProps, SuggestionOptions as TiptapSuggestionOptions } from "@tiptap/suggestion";
23
24
  import * as ProseMirrorView from "@tiptap/pm/view";
24
25
  export * from "@tiptap/extension-character-count";
25
- export { type AnyConfig, BLOCKQUOTE_EXTENSION_PRIORITY, type BeforeCreateProps, type BlurProps, CODE_EXTENSION_PRIORITY, type CoreEditor, type CreateProps, type DestroyProps, type Editor, type EditorEvents, Extension, type FocusProps, Mark, type MarkRange, type NodeViewProps, NodeViewWrapper, PASTE_HTML_TABLE_AS_STRING_EXTENSION_PRIORITY, PASTE_MARKDOWN_EXTENSION_PRIORITY, PlainTextKit, ProseMirrorModel, ProseMirrorState, ProseMirrorView, type Range, ReactRenderer, type ReactRendererOptions, type RichTextImageAttributes, type RichTextImageOptions, RichTextKit, SMART_MARKDOWN_TYPING_PRIORITY, SUGGESTION_EXTENSION_PRIORITY, type SelectionUpdateProps, Suggestion, type SuggestionExtensionResult, type SuggestionKeyDownProps, type SuggestionOptions, type SuggestionRendererProps, type SuggestionRendererRef, type SuggestionStorage, type TiptapSuggestionOptions, type TransacationProps, TypistEditor, type TypistEditorProps, type TypistEditorRef, type UpdateProps, VIEW_EVENT_HANDLERS_PRIORITY, canInsertNodeAt, canInsertSuggestion, combineTransactionSteps, createHTMLSerializer, createMarkdownSerializer, createParagraphEnd, createSuggestionExtension, defaultBlockAt, extendWordRange, findChildren, findChildrenInRange, findParentNode, findParentNodeClosestToPos, generateHTML, generateJSON, generateText, getAttributes, getChangedRanges, getDebugJSON, getExtensionField, getHTMLFromFragment, getHTMLSerializerInstance, getMarkAttributes, getMarkRange, getMarkType, getMarkdownSerializerInstance, getMarksBetween, getNodeAttributes, getNodeType, getSchema, getText, getTextBetween, insertMarkdownContent, insertMarkdownContentAt, isActive, isList, isMarkActive, isMultilineDocument, isNodeActive, isNodeEmpty, isNodeSelection, isPlainTextDocument, isTextSelection, mergeAttributes, posToDOMRect, remarkAutolinkLiteral, remarkStrikethrough };
26
+ export { type AnyConfig, BLOCKQUOTE_EXTENSION_PRIORITY, type BeforeCreateProps, type BlurProps, CODE_EXTENSION_PRIORITY, type CoreEditor, type CreateProps, type DestroyProps, type Editor, type EditorEvents, Extension, type FocusProps, Mark, type MarkRange, type NodeViewProps, NodeViewWrapper, PASTE_HTML_TABLE_AS_STRING_EXTENSION_PRIORITY, PASTE_MARKDOWN_EXTENSION_PRIORITY, PlainTextKit, ProseMirrorModel, ProseMirrorState, ProseMirrorView, type Range, ReactRenderer, type ReactRendererOptions, type RichTextImageAttributes, type RichTextImageOptions, RichTextKit, SMART_MARKDOWN_TYPING_PRIORITY, SUGGESTION_EXTENSION_PRIORITY, type SelectionUpdateProps, Suggestion, type SuggestionExtensionResult, type SuggestionKeyDownProps, type SuggestionOptions, type SuggestionRendererProps, type SuggestionRendererRef, type SuggestionStorage, type TiptapSuggestionOptions, type TransacationProps, TypistEditor, type TypistEditorProps, type TypistEditorRef, type UpdateProps, VIEW_EVENT_HANDLERS_PRIORITY, canInsertNodeAt, canInsertSuggestion, combineTransactionSteps, createHTMLSerializer, createMarkdownSerializer, createParagraphEnd, createSuggestionExtension, defaultBlockAt, extendWordRange, findChildren, findChildrenInRange, findParentNode, findParentNodeClosestToPos, generateHTML, generateJSON, generateText, getAttributes, getChangedRanges, getDebugJSON, getExtensionField, getHTMLFromFragment, getHTMLSerializerInstance, getMarkAttributes, getMarkRange, getMarkType, getMarkdownSerializerInstance, getMarksBetween, getNodeAttributes, getNodeType, getSchema, getText, getTextBetween, insertMarkdownContent, insertMarkdownContentAt, isActive, isList, isMarkActive, isMultilineDocument, isNodeActive, isNodeEmpty, isNodeSelection, isPlainTextDocument, isTextSelection, mergeAttributes, posToDOMRect, remarkAutolinkLiteral, remarkStrikethrough, remarkTable };
package/dist/index.js CHANGED
@@ -4,6 +4,7 @@ import { insertMarkdownContent } from "./extensions/core/extra-editor-commands/c
4
4
  import { isMultilineDocument, isPlainTextDocument } from "./helpers/schema.js";
5
5
  import { remarkAutolinkLiteral } from "./serializers/html/plugins/remark-autolink-literal.js";
6
6
  import { remarkStrikethrough } from "./serializers/html/plugins/remark-strikethrough.js";
7
+ import { remarkTable } from "./serializers/html/plugins/remark-table.js";
7
8
  import { createHTMLSerializer, getHTMLSerializerInstance } from "./serializers/html/html.js";
8
9
  import { insertMarkdownContentAt } from "./extensions/core/extra-editor-commands/commands/insert-markdown-content-at.js";
9
10
  import { BLOCKQUOTE_EXTENSION_PRIORITY, CODE_EXTENSION_PRIORITY, PASTE_HTML_TABLE_AS_STRING_EXTENSION_PRIORITY, PASTE_MARKDOWN_EXTENSION_PRIORITY, SMART_MARKDOWN_TYPING_PRIORITY, SUGGESTION_EXTENSION_PRIORITY, VIEW_EVENT_HANDLERS_PRIORITY } from "./constants/extension-priorities.js";
@@ -21,4 +22,4 @@ import * as ProseMirrorModel from "@tiptap/pm/model";
21
22
  import { Suggestion } from "@tiptap/suggestion";
22
23
  import * as ProseMirrorView from "@tiptap/pm/view";
23
24
  export * from "@tiptap/extension-character-count";
24
- export { BLOCKQUOTE_EXTENSION_PRIORITY, CODE_EXTENSION_PRIORITY, Extension, Mark, NodeViewWrapper, PASTE_HTML_TABLE_AS_STRING_EXTENSION_PRIORITY, PASTE_MARKDOWN_EXTENSION_PRIORITY, PlainTextKit, ProseMirrorModel, ProseMirrorState, ProseMirrorView, ReactRenderer, RichTextKit, SMART_MARKDOWN_TYPING_PRIORITY, SUGGESTION_EXTENSION_PRIORITY, Suggestion, TypistEditor, VIEW_EVENT_HANDLERS_PRIORITY, canInsertNodeAt, canInsertSuggestion, combineTransactionSteps, createHTMLSerializer, createMarkdownSerializer, createParagraphEnd, createSuggestionExtension, defaultBlockAt, extendWordRange, findChildren, findChildrenInRange, findParentNode, findParentNodeClosestToPos, generateHTML, generateJSON, generateText, getAttributes, getChangedRanges, getDebugJSON, getExtensionField, getHTMLFromFragment, getHTMLSerializerInstance, getMarkAttributes, getMarkRange, getMarkType, getMarkdownSerializerInstance, getMarksBetween, getNodeAttributes, getNodeType, getSchema, getText, getTextBetween, insertMarkdownContent, insertMarkdownContentAt, isActive, isList, isMarkActive, isMultilineDocument, isNodeActive, isNodeEmpty, isNodeSelection, isPlainTextDocument, isTextSelection, mergeAttributes, posToDOMRect, remarkAutolinkLiteral, remarkStrikethrough };
25
+ export { BLOCKQUOTE_EXTENSION_PRIORITY, CODE_EXTENSION_PRIORITY, Extension, Mark, NodeViewWrapper, PASTE_HTML_TABLE_AS_STRING_EXTENSION_PRIORITY, PASTE_MARKDOWN_EXTENSION_PRIORITY, PlainTextKit, ProseMirrorModel, ProseMirrorState, ProseMirrorView, ReactRenderer, RichTextKit, SMART_MARKDOWN_TYPING_PRIORITY, SUGGESTION_EXTENSION_PRIORITY, Suggestion, TypistEditor, VIEW_EVENT_HANDLERS_PRIORITY, canInsertNodeAt, canInsertSuggestion, combineTransactionSteps, createHTMLSerializer, createMarkdownSerializer, createParagraphEnd, createSuggestionExtension, defaultBlockAt, extendWordRange, findChildren, findChildrenInRange, findParentNode, findParentNodeClosestToPos, generateHTML, generateJSON, generateText, getAttributes, getChangedRanges, getDebugJSON, getExtensionField, getHTMLFromFragment, getHTMLSerializerInstance, getMarkAttributes, getMarkRange, getMarkType, getMarkdownSerializerInstance, getMarksBetween, getNodeAttributes, getNodeType, getSchema, getText, getTextBetween, insertMarkdownContent, insertMarkdownContentAt, isActive, isList, isMarkActive, isMultilineDocument, isNodeActive, isNodeEmpty, isNodeSelection, isPlainTextDocument, isTextSelection, mergeAttributes, posToDOMRect, remarkAutolinkLiteral, remarkStrikethrough, remarkTable };
@@ -0,0 +1,18 @@
1
+ import { Processor } from "unified";
2
+
3
+ //#region src/serializers/html/plugins/remark-table.d.ts
4
+ /**
5
+ * A remark plugin to add support for the table extension from the GitHub Flavored Markdown (GFM)
6
+ * specification.
7
+ *
8
+ * This is an standalone plugin which makes use of both the `mdast-util-gfm-table` and
9
+ * `micromark-extension-gfm-table` packages, and the implementation is inspired by the third-party
10
+ * `remark-gfm` plugin.
11
+ *
12
+ * The reason why we don't use `remark-gfm` directly is because we don't want to support all other
13
+ * GFM features (footnotes, tagfilter, and tasklists).
14
+ */
15
+ declare function remarkTable(this: Processor): void;
16
+ //#endregion
17
+ export { remarkTable };
18
+ //# sourceMappingURL=remark-table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remark-table.d.ts","names":[],"sources":["../../../../src/serializers/html/plugins/remark-table.ts"],"mappings":";;;;;AAGwC;;;;AAaJ;;;;;iBAA3B,WAAA,CAAY,IAAe,EAAT,SAAS"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@doist/typist",
3
3
  "description": "The mighty Tiptap-based rich-text editor React component that powers Doist products.",
4
- "version": "14.0.0",
4
+ "version": "14.1.0",
5
5
  "license": "MIT",
6
6
  "homepage": "https://typist.doist.dev/",
7
7
  "repository": {