@doist/typist 1.3.0 → 1.3.2

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,15 @@
1
+ ## [1.3.2](https://github.com/Doist/typist/compare/v1.3.1...v1.3.2) (2023-06-19)
2
+
3
+ ### Bug Fixes
4
+
5
+ - Extra paragraph node inserted above an Horizontal Rule ([#313](https://github.com/Doist/typist/issues/313)) ([3852309](https://github.com/Doist/typist/commit/38523099af792428531162655a1aabd2bdc9b6ad))
6
+
7
+ ## [1.3.1](https://github.com/Doist/typist/compare/v1.3.0...v1.3.1) (2023-06-13)
8
+
9
+ ### Bug Fixes
10
+
11
+ - Add support for literal autolinks (GFM based) ([#303](https://github.com/Doist/typist/issues/303)) ([4537091](https://github.com/Doist/typist/commit/45370914988eed1226722051f18a2fa49d9aa50f))
12
+
1
13
  ## [1.3.0](https://github.com/Doist/typist/compare/v1.2.9...v1.3.0) (2023-06-12)
2
14
 
3
15
  ### Features
@@ -0,0 +1,12 @@
1
+ import type { HorizontalRuleOptions } from '@tiptap/extension-horizontal-rule';
2
+ /**
3
+ * Custom extension that extends the built-in `HorizontalRule` extension to fix an issue with the
4
+ * built-in input rule that adds extra paragraph node above the horizontal rule.
5
+ *
6
+ * @see https://github.com/ueberdosis/tiptap/issues/3809
7
+ * @see https://github.com/ueberdosis/tiptap/pull/3859#issuecomment-1536799740
8
+ */
9
+ declare const RichTextHorizontalRule: import("@tiptap/core").Node<HorizontalRuleOptions, any>;
10
+ export { RichTextHorizontalRule };
11
+ export type { HorizontalRuleOptions as RichTextHorizontalRuleOptions };
12
+ //# sourceMappingURL=rich-text-horizontal-rule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rich-text-horizontal-rule.d.ts","sourceRoot":"","sources":["../../../src/extensions/rich-text/rich-text-horizontal-rule.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AAO9E;;;;;;GAMG;AACH,QAAA,MAAM,sBAAsB,yDAgB1B,CAAA;AAEF,OAAO,EAAE,sBAAsB,EAAE,CAAA;AAEjC,YAAY,EAAE,qBAAqB,IAAI,6BAA6B,EAAE,CAAA"}
@@ -0,0 +1,27 @@
1
+ import { InputRule } from '@tiptap/core';
2
+ import { HorizontalRule } from '@tiptap/extension-horizontal-rule';
3
+ /**
4
+ * The input regex for Markdown horizontal rules.
5
+ */
6
+ const inputRegex = /^(?:---|—-|___\s|\*\*\*\s)$/;
7
+ /**
8
+ * Custom extension that extends the built-in `HorizontalRule` extension to fix an issue with the
9
+ * built-in input rule that adds extra paragraph node above the horizontal rule.
10
+ *
11
+ * @see https://github.com/ueberdosis/tiptap/issues/3809
12
+ * @see https://github.com/ueberdosis/tiptap/pull/3859#issuecomment-1536799740
13
+ */
14
+ const RichTextHorizontalRule = HorizontalRule.extend({
15
+ addInputRules() {
16
+ const { type } = this;
17
+ return [
18
+ new InputRule({
19
+ find: inputRegex,
20
+ handler({ state: { tr }, range }) {
21
+ tr.insert(range.from - 1, type.create({})).delete(tr.mapping.map(range.from), tr.mapping.map(range.to));
22
+ },
23
+ }),
24
+ ];
25
+ },
26
+ });
27
+ export { RichTextHorizontalRule };
@@ -8,13 +8,13 @@ import type { DropcursorOptions } from '@tiptap/extension-dropcursor';
8
8
  import type { HardBreakOptions } from '@tiptap/extension-hard-break';
9
9
  import type { HeadingOptions } from '@tiptap/extension-heading';
10
10
  import type { HistoryOptions } from '@tiptap/extension-history';
11
- import type { HorizontalRuleOptions } from '@tiptap/extension-horizontal-rule';
12
11
  import type { ItalicOptions } from '@tiptap/extension-italic';
13
12
  import type { ListItemOptions } from '@tiptap/extension-list-item';
14
13
  import type { OrderedListOptions } from '@tiptap/extension-ordered-list';
15
14
  import type { ParagraphOptions } from '@tiptap/extension-paragraph';
16
15
  import type { StrikeOptions } from '@tiptap/extension-strike';
17
16
  import type { RichTextDocumentOptions } from './rich-text-document';
17
+ import type { RichTextHorizontalRuleOptions } from './rich-text-horizontal-rule';
18
18
  import type { RichTextImageOptions } from './rich-text-image';
19
19
  import type { RichTextLinkOptions } from './rich-text-link';
20
20
  /**
@@ -68,7 +68,7 @@ type RichTextKitOptions = {
68
68
  /**
69
69
  * Set options for the `HorizontalRule` extension, or `false` to disable.
70
70
  */
71
- horizontalRule: Partial<HorizontalRuleOptions> | false;
71
+ horizontalRule: Partial<RichTextHorizontalRuleOptions> | false;
72
72
  /**
73
73
  * Set options for the `Image` extension, or `false` to disable.
74
74
  */
@@ -1 +1 @@
1
- {"version":3,"file":"rich-text-kit.d.ts","sourceRoot":"","sources":["../../../src/extensions/rich-text/rich-text-kit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rich-text-kit.d.ts","sourceRoot":"","sources":["../../../src/extensions/rich-text/rich-text-kit.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,6 @@ import { Gapcursor } from '@tiptap/extension-gapcursor';
9
9
  import { HardBreak } from '@tiptap/extension-hard-break';
10
10
  import { Heading } from '@tiptap/extension-heading';
11
11
  import { History } from '@tiptap/extension-history';
12
- import { HorizontalRule } from '@tiptap/extension-horizontal-rule';
13
12
  import { Italic } from '@tiptap/extension-italic';
14
13
  import { ListItem } from '@tiptap/extension-list-item';
15
14
  import { OrderedList } from '@tiptap/extension-ordered-list';
@@ -26,6 +25,7 @@ import { CurvenoteCodemark } from './curvenote-codemark';
26
25
  import { PasteEmojis } from './paste-emojis';
27
26
  import { PasteMarkdown } from './paste-markdown';
28
27
  import { RichTextDocument } from './rich-text-document';
28
+ import { RichTextHorizontalRule } from './rich-text-horizontal-rule';
29
29
  import { RichTextImage } from './rich-text-image';
30
30
  import { RichTextLink } from './rich-text-link';
31
31
  /**
@@ -97,7 +97,7 @@ const RichTextKit = Extension.create({
97
97
  extensions.push(History.configure(this.options?.history));
98
98
  }
99
99
  if (this.options.horizontalRule !== false) {
100
- extensions.push(HorizontalRule.configure(this.options?.horizontalRule));
100
+ extensions.push(RichTextHorizontalRule.configure(this.options?.horizontalRule));
101
101
  }
102
102
  if (this.options.image !== false) {
103
103
  extensions.push(RichTextImage.configure(this.options?.image));
@@ -1 +1 @@
1
- {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../../src/serializers/html/html.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE/C;;GAEG;AACH,KAAK,wBAAwB,GAAG;IAC5B;;;;;;OAMG;IACH,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAA;CAC1C,CAAA;AA0CD;;;;;;;;GAQG;AACH,iBAAS,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,wBAAwB,CA2EtE;AAOD;;;;;;GAMG;AACH,iBAAS,yBAAyB,CAAC,MAAM,EAAE,MAAM,4BAQhD;AAED,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,CAAA;AAE1D,YAAY,EAAE,wBAAwB,EAAE,CAAA"}
1
+ {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../../src/serializers/html/html.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE/C;;GAEG;AACH,KAAK,wBAAwB,GAAG;IAC5B;;;;;;OAMG;IACH,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAA;CAC1C,CAAA;AA0CD;;;;;;;;GAQG;AACH,iBAAS,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,wBAAwB,CAiFtE;AAOD;;;;;;GAMG;AACH,iBAAS,yBAAyB,CAAC,MAAM,EAAE,MAAM,4BAQhD;AAED,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,CAAA;AAE1D,YAAY,EAAE,wBAAwB,EAAE,CAAA"}
@@ -10,6 +10,7 @@ import { rehypeCodeBlock } from './plugins/rehype-code-block';
10
10
  import { rehypeImage } from './plugins/rehype-image';
11
11
  import { rehypeSuggestions } from './plugins/rehype-suggestions';
12
12
  import { rehypeTaskList } from './plugins/rehype-task-list';
13
+ import { remarkAutolinkLiteral } from './plugins/remark-autolink-literal';
13
14
  import { remarkDisableConstructs } from './plugins/remark-disable-constructs';
14
15
  import { remarkStrikethrough } from './plugins/remark-strikethrough';
15
16
  /**
@@ -68,6 +69,11 @@ function createHTMLSerializer(schema) {
68
69
  if (schema.marks.strike) {
69
70
  unifiedProcessor.use(remarkStrikethrough);
70
71
  }
72
+ // Configure the unified processor to use a custom plugin to add support for the autolink
73
+ // literals extension from the GitHub Flavored Markdown (GFM) specification
74
+ if (schema.marks.link) {
75
+ unifiedProcessor.use(remarkAutolinkLiteral);
76
+ }
71
77
  // Configure the unified processor with an official plugin to convert Markdown into HTML to
72
78
  // support rehype (a tool that transforms HTML with plugins), followed by another official
73
79
  // plugin to minify whitespace between tags (prevents line feeds from appearing as blank)
@@ -0,0 +1,17 @@
1
+ import type { Processor } from 'unified';
2
+ /**
3
+ * A remark plugin to add support for the autolink literals extension extension from the GitHub
4
+ * Flavored Markdown (GFM) specification.
5
+ *
6
+ * This is an standalone plugin which makes use of both the `mdast-util-gfm-autolink-literal` and
7
+ * `micromark-extension-gfm-autolink-literal` packages, and the implementation is inspired by the
8
+ * third-party `remark-gfm` plugin.
9
+ *
10
+ * The reason why we don't use `remark-gfm` directly is because we don't want to support all other
11
+ * GFM features (footnotes, tables, tagfilter, and tasklists).
12
+ *
13
+ * @param options Configuration options for the plugin.
14
+ */
15
+ declare function remarkAutolinkLiteral(this: Processor): void;
16
+ export { remarkAutolinkLiteral };
17
+ //# sourceMappingURL=remark-autolink-literal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remark-autolink-literal.d.ts","sourceRoot":"","sources":["../../../../src/serializers/html/plugins/remark-autolink-literal.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAExC;;;;;;;;;;;;GAYG;AACH,iBAAS,qBAAqB,CAAC,IAAI,EAAE,SAAS,QAY7C;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAA"}
@@ -0,0 +1,26 @@
1
+ import { gfmAutolinkLiteralFromMarkdown, gfmAutolinkLiteralToMarkdown, } from 'mdast-util-gfm-autolink-literal';
2
+ import { gfmAutolinkLiteral } from 'micromark-extension-gfm-autolink-literal';
3
+ /**
4
+ * A remark plugin to add support for the autolink literals extension extension from the GitHub
5
+ * Flavored Markdown (GFM) specification.
6
+ *
7
+ * This is an standalone plugin which makes use of both the `mdast-util-gfm-autolink-literal` and
8
+ * `micromark-extension-gfm-autolink-literal` packages, and the implementation is inspired by the
9
+ * third-party `remark-gfm` plugin.
10
+ *
11
+ * The reason why we don't use `remark-gfm` directly is because we don't want to support all other
12
+ * GFM features (footnotes, tables, tagfilter, and tasklists).
13
+ *
14
+ * @param options Configuration options for the plugin.
15
+ */
16
+ function remarkAutolinkLiteral() {
17
+ const data = this.data();
18
+ function add(field, value) {
19
+ const list = (data[field] ? data[field] : (data[field] = []));
20
+ list.push(value);
21
+ }
22
+ add('micromarkExtensions', gfmAutolinkLiteral);
23
+ add('fromMarkdownExtensions', gfmAutolinkLiteralFromMarkdown);
24
+ add('toMarkdownExtensions', gfmAutolinkLiteralToMarkdown);
25
+ }
26
+ export { remarkAutolinkLiteral };
@@ -9,7 +9,7 @@ import type { Processor } from 'unified';
9
9
  * third-party `remark-gfm` plugin.
10
10
  *
11
11
  * The reason why we don't use `remark-gfm` directly is because we don't want to support all other
12
- * GFM features (autolink literals, footnotes, tables, and tasklists).
12
+ * GFM features (footnotes, tables, tagfilter, and tasklists).
13
13
  *
14
14
  * @param options Configuration options for the plugin.
15
15
  */
@@ -9,7 +9,7 @@ import { gfmStrikethrough } from 'micromark-extension-gfm-strikethrough';
9
9
  * third-party `remark-gfm` plugin.
10
10
  *
11
11
  * The reason why we don't use `remark-gfm` directly is because we don't want to support all other
12
- * GFM features (autolink literals, footnotes, tables, and tasklists).
12
+ * GFM features (footnotes, tables, tagfilter, and tasklists).
13
13
  *
14
14
  * @param options Configuration options for the plugin.
15
15
  */
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": "1.3.0",
4
+ "version": "1.3.2",
5
5
  "license": "MIT",
6
6
  "homepage": "https://typist.doist.dev/",
7
7
  "repository": "https://github.com/Doist/typist",
@@ -14,8 +14,7 @@
14
14
  "npm": "^7.0.0 || ^8.0.0 || ^9.0.0"
15
15
  },
16
16
  "publishConfig": {
17
- "access": "public",
18
- "provenance": true
17
+ "access": "public"
19
18
  },
20
19
  "files": [
21
20
  "CHANGELOG.md",
@@ -86,23 +85,23 @@
86
85
  "@semantic-release/changelog": "6.0.3",
87
86
  "@semantic-release/exec": "6.0.3",
88
87
  "@semantic-release/git": "10.0.1",
89
- "@storybook/addon-a11y": "7.0.18",
90
- "@storybook/addon-essentials": "7.0.18",
91
- "@storybook/addons": "7.0.18",
88
+ "@storybook/addon-a11y": "7.0.20",
89
+ "@storybook/addon-essentials": "7.0.20",
90
+ "@storybook/addons": "7.0.20",
92
91
  "@storybook/csf": "0.1.1",
93
92
  "@storybook/mdx2-csf": "1.1.0",
94
- "@storybook/react": "7.0.18",
95
- "@storybook/react-vite": "7.0.18",
93
+ "@storybook/react": "7.0.20",
94
+ "@storybook/react-vite": "7.0.20",
96
95
  "@testing-library/dom": "9.3.0",
97
96
  "@testing-library/jest-dom": "5.16.5",
98
97
  "@testing-library/react": "14.0.0",
99
98
  "@types/hast": "2.3.4",
100
99
  "@types/lodash-es": "4.17.7",
101
- "@types/react": "18.2.8",
102
- "@types/react-dom": "18.2.4",
100
+ "@types/react": "18.2.12",
101
+ "@types/react-dom": "18.2.5",
103
102
  "@types/react-syntax-highlighter": "15.5.7",
104
103
  "@types/turndown": "5.0.1",
105
- "boring-avatars": "1.7.0",
104
+ "boring-avatars": "1.10.1",
106
105
  "classnames": "2.3.2",
107
106
  "conventional-changelog-conventionalcommits": "6.0.0",
108
107
  "emoji-regex": "10.2.1",
@@ -112,7 +111,7 @@
112
111
  "eslint-plugin-simple-import-sort": "10.0.0",
113
112
  "eslint-plugin-storybook": "0.6.12",
114
113
  "eslint-plugin-unicorn": "47.0.0",
115
- "eslint-plugin-vitest": "0.2.5",
114
+ "eslint-plugin-vitest": "0.2.6",
116
115
  "eslint-plugin-vitest-globals": "1.3.1",
117
116
  "github-markdown-css": "5.2.0",
118
117
  "husky": "8.0.3",
@@ -128,20 +127,22 @@
128
127
  "react-markdown": "8.0.7",
129
128
  "react-syntax-highlighter": "15.5.0",
130
129
  "rimraf": "5.0.1",
131
- "semantic-release": "21.0.3",
132
- "storybook": "7.0.18",
130
+ "semantic-release": "21.0.5",
131
+ "storybook": "7.0.20",
133
132
  "storybook-css-modules": "1.0.8",
134
133
  "type-fest": "3.11.1",
135
134
  "typescript": "5.1.3",
136
135
  "typescript-plugin-css-modules": "5.0.1",
137
- "vitest": "0.31.4"
136
+ "vitest": "0.32.0"
138
137
  },
139
138
  "peerDependencies": {
140
139
  "@react-hookz/web": "^14.2.3 || >=15.x",
141
140
  "emoji-regex": "^10.2.1",
142
141
  "hast-util-is-element": "^2.1.0",
143
142
  "lodash-es": "^4.17.21",
143
+ "mdast-util-gfm-autolink-literal": "^1.0.0",
144
144
  "mdast-util-gfm-strikethrough": "^1.0.0",
145
+ "micromark-extension-gfm-autolink-literal": "^1.0.0",
145
146
  "micromark-extension-gfm-strikethrough": "^1.0.0",
146
147
  "react": "^17.0.0 || ^18.0.0",
147
148
  "react-dom": "^17.0.0 || ^18.0.0",