@gravity-ui/markdown-editor 14.9.0 → 14.10.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/build/cjs/bundle/Editor.d.ts +2 -0
- package/build/cjs/bundle/Editor.js +15 -4
- package/build/cjs/bundle/MarkdownEditorView.js +2 -2
- package/build/cjs/bundle/config/action-names.d.ts +1 -1
- package/build/cjs/bundle/config/action-names.js +1 -0
- package/build/cjs/bundle/toolbar/utils/flattenPreset.d.ts +2 -0
- package/build/cjs/bundle/toolbar/utils/flattenPreset.js +14 -0
- package/build/cjs/bundle/toolbar/utils/toolbarsConfigs.d.ts +17 -0
- package/build/cjs/bundle/toolbar/{utils.js → utils/toolbarsConfigs.js} +15 -19
- package/build/cjs/bundle/types.d.ts +6 -0
- package/build/cjs/bundle/useMarkdownEditor.js +8 -2
- package/build/cjs/bundle/wysiwyg-preset.d.ts +1 -0
- package/build/cjs/bundle/wysiwyg-preset.js +1 -1
- package/build/cjs/core/Editor.d.ts +3 -1
- package/build/cjs/core/Editor.js +2 -1
- package/build/cjs/core/ExtensionsManager.d.ts +2 -0
- package/build/cjs/core/ExtensionsManager.js +8 -4
- package/build/cjs/core/ParserTokensRegistry.d.ts +2 -1
- package/build/cjs/core/ParserTokensRegistry.js +2 -2
- package/build/cjs/core/markdown/MarkdownParser.d.ts +3 -1
- package/build/cjs/core/markdown/MarkdownParser.js +5 -2
- package/build/cjs/core/markdown/MarkdownSerializer.js +1 -1
- package/build/cjs/core/markdown/ProseMirrorTransformer/emptyRowTransformer.d.ts +2 -0
- package/build/cjs/core/markdown/ProseMirrorTransformer/emptyRowTransformer.js +15 -0
- package/build/cjs/core/markdown/ProseMirrorTransformer/getTransformers.d.ts +7 -0
- package/build/cjs/core/markdown/ProseMirrorTransformer/getTransformers.js +13 -0
- package/build/cjs/core/markdown/ProseMirrorTransformer/index.d.ts +15 -0
- package/build/cjs/core/markdown/ProseMirrorTransformer/index.js +25 -0
- package/build/cjs/extensions/additional/Math/MathSpecs/index.js +1 -0
- package/build/cjs/extensions/base/BaseSchema/BaseSchemaSpecs/index.d.ts +1 -0
- package/build/cjs/extensions/base/BaseSchema/BaseSchemaSpecs/index.js +23 -3
- package/build/cjs/extensions/behavior/Selection/selection.js +1 -5
- package/build/cjs/extensions/markdown/Blockquote/BlockquoteSpecs/index.js +1 -0
- package/build/cjs/extensions/markdown/CodeBlock/commands.js +1 -1
- package/build/cjs/extensions/markdown/HorizontalRule/HorizontalRuleSpecs/index.js +1 -0
- package/build/cjs/extensions/yfm/YfmTabs/YfmTabsSpecs/schema.js +1 -0
- package/build/cjs/i18n/empty-row/en.json +3 -0
- package/build/cjs/i18n/empty-row/index.d.ts +5 -0
- package/build/cjs/i18n/empty-row/index.js +9 -0
- package/build/cjs/i18n/empty-row/ru.json +3 -0
- package/build/cjs/i18n/yfm-note/index.d.ts +1 -1
- package/build/cjs/index.d.ts +1 -0
- package/build/cjs/index.js +1 -0
- package/build/cjs/markup/codemirror/autocomplete/emptyRow.d.ts +9 -0
- package/build/cjs/markup/codemirror/autocomplete/emptyRow.js +26 -0
- package/build/cjs/markup/codemirror/autocomplete/index.d.ts +5 -0
- package/build/cjs/markup/codemirror/autocomplete/index.js +14 -0
- package/build/cjs/markup/codemirror/create.d.ts +1 -0
- package/build/cjs/markup/codemirror/create.js +6 -1
- package/build/cjs/markup/codemirror/yfm.d.ts +2 -1
- package/build/cjs/markup/codemirror/yfm.js +3 -3
- package/build/cjs/markup/commands/emptyRow.d.ts +2 -0
- package/build/cjs/markup/commands/emptyRow.js +43 -0
- package/build/cjs/markup/commands/index.d.ts +1 -0
- package/build/cjs/markup/commands/index.js +1 -0
- package/build/cjs/shortcuts/const.d.ts +1 -0
- package/build/cjs/shortcuts/const.js +1 -0
- package/build/cjs/shortcuts/default.js +1 -0
- package/build/cjs/version.js +1 -1
- package/build/esm/bundle/Editor.d.ts +2 -0
- package/build/esm/bundle/Editor.js +15 -4
- package/build/esm/bundle/MarkdownEditorView.js +1 -1
- package/build/esm/bundle/config/action-names.d.ts +1 -1
- package/build/esm/bundle/config/action-names.js +1 -0
- package/build/esm/bundle/toolbar/utils/flattenPreset.d.ts +2 -0
- package/build/esm/bundle/toolbar/utils/flattenPreset.js +10 -0
- package/build/esm/bundle/toolbar/utils/toolbarsConfigs.d.ts +17 -0
- package/build/esm/bundle/toolbar/{utils.js → utils/toolbarsConfigs.js} +13 -17
- package/build/esm/bundle/types.d.ts +6 -0
- package/build/esm/bundle/useMarkdownEditor.js +8 -2
- package/build/esm/bundle/wysiwyg-preset.d.ts +1 -0
- package/build/esm/bundle/wysiwyg-preset.js +1 -1
- package/build/esm/core/Editor.d.ts +3 -1
- package/build/esm/core/Editor.js +2 -1
- package/build/esm/core/ExtensionsManager.d.ts +2 -0
- package/build/esm/core/ExtensionsManager.js +8 -4
- package/build/esm/core/ParserTokensRegistry.d.ts +2 -1
- package/build/esm/core/ParserTokensRegistry.js +2 -2
- package/build/esm/core/markdown/MarkdownParser.d.ts +3 -1
- package/build/esm/core/markdown/MarkdownParser.js +5 -2
- package/build/esm/core/markdown/MarkdownSerializer.js +1 -1
- package/build/esm/core/markdown/ProseMirrorTransformer/emptyRowTransformer.d.ts +2 -0
- package/build/esm/core/markdown/ProseMirrorTransformer/emptyRowTransformer.js +11 -0
- package/build/esm/core/markdown/ProseMirrorTransformer/getTransformers.d.ts +7 -0
- package/build/esm/core/markdown/ProseMirrorTransformer/getTransformers.js +9 -0
- package/build/esm/core/markdown/ProseMirrorTransformer/index.d.ts +15 -0
- package/build/esm/core/markdown/ProseMirrorTransformer/index.js +21 -0
- package/build/esm/extensions/additional/Math/MathSpecs/index.js +1 -0
- package/build/esm/extensions/base/BaseSchema/BaseSchemaSpecs/index.d.ts +1 -0
- package/build/esm/extensions/base/BaseSchema/BaseSchemaSpecs/index.js +23 -3
- package/build/esm/extensions/behavior/Selection/selection.js +1 -5
- package/build/esm/extensions/markdown/Blockquote/BlockquoteSpecs/index.js +1 -0
- package/build/esm/extensions/markdown/CodeBlock/commands.js +1 -1
- package/build/esm/extensions/markdown/HorizontalRule/HorizontalRuleSpecs/index.js +1 -0
- package/build/esm/extensions/yfm/YfmTabs/YfmTabsSpecs/schema.js +1 -0
- package/build/esm/i18n/empty-row/en.json +3 -0
- package/build/esm/i18n/empty-row/index.d.ts +5 -0
- package/build/esm/i18n/empty-row/index.js +5 -0
- package/build/esm/i18n/empty-row/ru.json +3 -0
- package/build/esm/i18n/yfm-note/index.d.ts +1 -1
- package/build/esm/index.d.ts +1 -0
- package/build/esm/index.js +1 -0
- package/build/esm/markup/codemirror/autocomplete/emptyRow.d.ts +9 -0
- package/build/esm/markup/codemirror/autocomplete/emptyRow.js +23 -0
- package/build/esm/markup/codemirror/autocomplete/index.d.ts +5 -0
- package/build/esm/markup/codemirror/autocomplete/index.js +10 -0
- package/build/esm/markup/codemirror/create.d.ts +1 -0
- package/build/esm/markup/codemirror/create.js +7 -2
- package/build/esm/markup/codemirror/yfm.d.ts +2 -1
- package/build/esm/markup/codemirror/yfm.js +1 -1
- package/build/esm/markup/commands/emptyRow.d.ts +2 -0
- package/build/esm/markup/commands/emptyRow.js +39 -0
- package/build/esm/markup/commands/index.d.ts +1 -0
- package/build/esm/markup/commands/index.js +1 -0
- package/build/esm/shortcuts/const.d.ts +1 -0
- package/build/esm/shortcuts/const.js +1 -0
- package/build/esm/shortcuts/default.js +1 -0
- package/build/esm/version.js +1 -1
- package/package.json +1 -1
- package/build/cjs/bundle/toolbar/utils.d.ts +0 -17
- package/build/esm/bundle/toolbar/utils.d.ts +0 -17
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export const insertEmptyRow = ({ state, dispatch }) => {
|
|
2
|
+
const emptyRowMarkup = ' ';
|
|
3
|
+
const tr = () => {
|
|
4
|
+
const selrange = state.selection.main;
|
|
5
|
+
const { before, after, selection } = getBlockExtraLineBreaks(state, state.doc.lineAt(selrange.from));
|
|
6
|
+
const insert = state.lineBreak.repeat(before) + emptyRowMarkup + state.lineBreak.repeat(after);
|
|
7
|
+
const from = state.doc.lineAt(selrange.to).to;
|
|
8
|
+
const selAnchor = from + insert.length + selection;
|
|
9
|
+
return { changes: { from, insert }, selection: { anchor: selAnchor } };
|
|
10
|
+
};
|
|
11
|
+
dispatch(state.update(tr()));
|
|
12
|
+
return true;
|
|
13
|
+
};
|
|
14
|
+
function getBlockExtraLineBreaks(state, line) {
|
|
15
|
+
let before = 0;
|
|
16
|
+
let after = 0;
|
|
17
|
+
let selection = 2;
|
|
18
|
+
if (line.text) {
|
|
19
|
+
before = 2;
|
|
20
|
+
}
|
|
21
|
+
else if (line.number > 1 && state.doc.line(line.number - 1).text) {
|
|
22
|
+
before = 1;
|
|
23
|
+
}
|
|
24
|
+
if (line.number + 1 <= state.doc.lines && state.doc.line(line.number + 1).text) {
|
|
25
|
+
after = 1;
|
|
26
|
+
selection = 1;
|
|
27
|
+
}
|
|
28
|
+
else if (line.number + 1 <= state.doc.lines &&
|
|
29
|
+
!state.doc.line(line.number + 1).text &&
|
|
30
|
+
line.number + 2 > state.doc.lines) {
|
|
31
|
+
after = 1;
|
|
32
|
+
selection = 1;
|
|
33
|
+
}
|
|
34
|
+
else if (line.number === state.doc.lines) {
|
|
35
|
+
after = 2;
|
|
36
|
+
selection = 0;
|
|
37
|
+
}
|
|
38
|
+
return { before, after, selection };
|
|
39
|
+
}
|
|
@@ -34,6 +34,7 @@ export var Action;
|
|
|
34
34
|
Action["Heading4"] = "h4";
|
|
35
35
|
Action["Heading5"] = "h5";
|
|
36
36
|
Action["Heading6"] = "h6";
|
|
37
|
+
Action["EmptyRow"] = "EmptyRow";
|
|
37
38
|
Action["BulletList"] = "ulist";
|
|
38
39
|
Action["OrderedList"] = "olist";
|
|
39
40
|
Action["LiftListItem"] = "list__action_lift";
|
|
@@ -20,6 +20,7 @@ formatter
|
|
|
20
20
|
.set(A.Heading4, { pc: [MK.Ctrl, MK.Shift, '4'], mac: [MK.Cmd, MK.Option, '4'] })
|
|
21
21
|
.set(A.Heading5, { pc: [MK.Ctrl, MK.Shift, '5'], mac: [MK.Cmd, MK.Option, '5'] })
|
|
22
22
|
.set(A.Heading6, { pc: [MK.Ctrl, MK.Shift, '6'], mac: [MK.Cmd, MK.Option, '6'] })
|
|
23
|
+
.set(A.EmptyRow, { pc: [MK.Ctrl, MK.Shift, K.Enter], mac: [MK.Cmd, MK.Shift, K.Enter] })
|
|
23
24
|
.set(A.BulletList, [MK.Mod, MK.Shift, 'l'])
|
|
24
25
|
.set(A.OrderedList, [MK.Mod, MK.Shift, 'm'])
|
|
25
26
|
.set(A.SinkListItem, [MK.Tab])
|
package/build/esm/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/** During build process, the current version will be injected here */
|
|
2
|
-
export const VERSION = typeof '14.
|
|
2
|
+
export const VERSION = typeof '14.10.0' !== 'undefined' ? '14.10.0' : 'unknown';
|
package/package.json
CHANGED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { ToolbarsPreset } from '../../modules/toolbars/types';
|
|
2
|
-
import type { MToolbarData, MToolbarItemData, WToolbarData, WToolbarItemData } from '../../toolbar';
|
|
3
|
-
import type { MarkdownEditorViewProps } from '../MarkdownEditorView';
|
|
4
|
-
import { MarkdownEditorPreset } from '../types';
|
|
5
|
-
export declare const createConfig: <T extends MToolbarData | WToolbarData>(editorType: 'wysiwyg' | 'markup', toolbarPreset: ToolbarsPreset | MarkdownEditorPreset, toolbarName: string) => T;
|
|
6
|
-
interface GetToolbarsConfigsArgs {
|
|
7
|
-
toolbarsPreset?: ToolbarsPreset;
|
|
8
|
-
props: Pick<MarkdownEditorViewProps, 'markupToolbarConfig' | 'wysiwygToolbarConfig' | 'wysiwygHiddenActionsConfig' | 'markupHiddenActionsConfig'>;
|
|
9
|
-
preset: MarkdownEditorPreset;
|
|
10
|
-
}
|
|
11
|
-
export declare const getToolbarsConfigs: ({ toolbarsPreset, props, preset }: GetToolbarsConfigsArgs) => {
|
|
12
|
-
wysiwygToolbarConfig: WToolbarData;
|
|
13
|
-
markupToolbarConfig: MToolbarData;
|
|
14
|
-
wysiwygHiddenActionsConfig: WToolbarItemData[];
|
|
15
|
-
markupHiddenActionsConfig: MToolbarItemData[];
|
|
16
|
-
};
|
|
17
|
-
export {};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { ToolbarsPreset } from '../../modules/toolbars/types';
|
|
2
|
-
import type { MToolbarData, MToolbarItemData, WToolbarData, WToolbarItemData } from '../../toolbar';
|
|
3
|
-
import type { MarkdownEditorViewProps } from '../MarkdownEditorView';
|
|
4
|
-
import { MarkdownEditorPreset } from '../types';
|
|
5
|
-
export declare const createConfig: <T extends MToolbarData | WToolbarData>(editorType: 'wysiwyg' | 'markup', toolbarPreset: ToolbarsPreset | MarkdownEditorPreset, toolbarName: string) => T;
|
|
6
|
-
interface GetToolbarsConfigsArgs {
|
|
7
|
-
toolbarsPreset?: ToolbarsPreset;
|
|
8
|
-
props: Pick<MarkdownEditorViewProps, 'markupToolbarConfig' | 'wysiwygToolbarConfig' | 'wysiwygHiddenActionsConfig' | 'markupHiddenActionsConfig'>;
|
|
9
|
-
preset: MarkdownEditorPreset;
|
|
10
|
-
}
|
|
11
|
-
export declare const getToolbarsConfigs: ({ toolbarsPreset, props, preset }: GetToolbarsConfigsArgs) => {
|
|
12
|
-
wysiwygToolbarConfig: WToolbarData;
|
|
13
|
-
markupToolbarConfig: MToolbarData;
|
|
14
|
-
wysiwygHiddenActionsConfig: WToolbarItemData[];
|
|
15
|
-
markupHiddenActionsConfig: MToolbarItemData[];
|
|
16
|
-
};
|
|
17
|
-
export {};
|