@olddevs/ui 4.5.1 → 4.6.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/CHANGELOG.md +26 -0
- package/dist/editor/RichTextEditor.d.ts +2 -2
- package/dist/editor/RichTextEditor.d.ts.map +1 -1
- package/dist/editor/RichTextEditor.js +3 -0
- package/dist/editor/RichTextEditor.js.map +1 -1
- package/dist/editor/core/blockTypes.d.ts +2 -8
- package/dist/editor/core/blockTypes.d.ts.map +1 -1
- package/dist/editor/core/blockTypes.js +11 -54
- package/dist/editor/core/blockTypes.js.map +1 -1
- package/dist/editor/core/containers.d.ts.map +1 -1
- package/dist/editor/core/containers.js +1 -0
- package/dist/editor/core/containers.js.map +1 -1
- package/dist/editor/core/customMarkdown.js +1 -1
- package/dist/editor/core/customMarkdown.js.map +1 -1
- package/dist/editor/core/customTool.d.ts +6 -6
- package/dist/editor/core/customTool.d.ts.map +1 -1
- package/dist/editor/core/customToolEngine.d.ts +2 -2
- package/dist/editor/core/extensions.d.ts +7 -2
- package/dist/editor/core/extensions.d.ts.map +1 -1
- package/dist/editor/core/extensions.js +96 -64
- package/dist/editor/core/extensions.js.map +1 -1
- package/dist/editor/core/fieldNotice.d.ts +1 -1
- package/dist/editor/core/insertItems.d.ts +5 -28
- package/dist/editor/core/insertItems.d.ts.map +1 -1
- package/dist/editor/core/insertItems.js +3 -94
- package/dist/editor/core/insertItems.js.map +1 -1
- package/dist/editor/core/insertMenuTool.d.ts +13 -0
- package/dist/editor/core/insertMenuTool.d.ts.map +1 -0
- package/dist/editor/core/insertMenuTool.js +20 -0
- package/dist/editor/core/insertMenuTool.js.map +1 -0
- package/dist/editor/core/schema.d.ts +20 -5
- package/dist/editor/core/schema.d.ts.map +1 -1
- package/dist/editor/core/schema.js +18 -3
- package/dist/editor/core/schema.js.map +1 -1
- package/dist/editor/core/shortcuts.d.ts +56 -5
- package/dist/editor/core/shortcuts.d.ts.map +1 -1
- package/dist/editor/core/shortcuts.js +91 -156
- package/dist/editor/core/shortcuts.js.map +1 -1
- package/dist/editor/core/skeleton.d.ts +1 -1
- package/dist/editor/core/skeleton.d.ts.map +1 -1
- package/dist/editor/core/skeleton.js +1 -0
- package/dist/editor/core/skeleton.js.map +1 -1
- package/dist/editor/core/toolButtons.d.ts +3 -3
- package/dist/editor/core/toolDefinition.d.ts +3 -3
- package/dist/editor/core/toolDescriptor.d.ts +49 -30
- package/dist/editor/core/toolDescriptor.d.ts.map +1 -1
- package/dist/editor/core/toolDescriptor.js +2 -5
- package/dist/editor/core/toolDescriptor.js.map +1 -1
- package/dist/editor/core/toolLoader.d.ts +1 -1
- package/dist/editor/core/toolLoader.d.ts.map +1 -1
- package/dist/editor/core/toolOptions.d.ts +19 -2
- package/dist/editor/core/toolOptions.d.ts.map +1 -1
- package/dist/editor/core/toolOptions.js.map +1 -1
- package/dist/editor/core/tools.d.ts +10 -2
- package/dist/editor/core/tools.d.ts.map +1 -1
- package/dist/editor/core/tools.js +1 -0
- package/dist/editor/core/tools.js.map +1 -1
- package/dist/editor/features/builtins.d.ts +6 -8
- package/dist/editor/features/builtins.d.ts.map +1 -1
- package/dist/editor/features/builtins.js +48 -21
- package/dist/editor/features/builtins.js.map +1 -1
- package/dist/editor/features/code/codeBlockTool.d.ts +5 -6
- package/dist/editor/features/code/codeBlockTool.d.ts.map +1 -1
- package/dist/editor/features/code/codeBlockTool.js +10 -1
- package/dist/editor/features/code/codeBlockTool.js.map +1 -1
- package/dist/editor/features/color/colorTools.d.ts +14 -0
- package/dist/editor/features/color/colorTools.d.ts.map +1 -0
- package/dist/editor/features/color/colorTools.js +39 -0
- package/dist/editor/features/color/colorTools.js.map +1 -0
- package/dist/editor/features/details/details.d.ts +68 -0
- package/dist/editor/features/details/details.d.ts.map +1 -0
- package/dist/editor/features/details/details.js +237 -0
- package/dist/editor/features/details/details.js.map +1 -0
- package/dist/editor/features/details/detailsMarkdown.d.ts +17 -0
- package/dist/editor/features/details/detailsMarkdown.d.ts.map +1 -0
- package/dist/editor/features/details/detailsMarkdown.js +84 -0
- package/dist/editor/features/details/detailsMarkdown.js.map +1 -0
- package/dist/editor/features/details/detailsTool.d.ts +16 -0
- package/dist/editor/features/details/detailsTool.d.ts.map +1 -0
- package/dist/editor/features/details/detailsTool.js +39 -0
- package/dist/editor/features/details/detailsTool.js.map +1 -0
- package/dist/editor/features/emoji/emojiTool.d.ts +1 -1
- package/dist/editor/features/heading/headingTool.d.ts +18 -0
- package/dist/editor/features/heading/headingTool.d.ts.map +1 -0
- package/dist/editor/features/heading/headingTool.js +59 -0
- package/dist/editor/features/heading/headingTool.js.map +1 -0
- package/dist/editor/features/history/historyTool.d.ts +15 -0
- package/dist/editor/features/history/historyTool.d.ts.map +1 -0
- package/dist/editor/features/history/historyTool.js +28 -0
- package/dist/editor/features/history/historyTool.js.map +1 -0
- package/dist/editor/features/image/imageTool.d.ts +19 -0
- package/dist/editor/features/image/imageTool.d.ts.map +1 -0
- package/dist/editor/features/image/imageTool.js +28 -0
- package/dist/editor/features/image/imageTool.js.map +1 -0
- package/dist/editor/features/layout/layoutTool.d.ts +11 -0
- package/dist/editor/features/layout/layoutTool.d.ts.map +1 -0
- package/dist/editor/features/layout/layoutTool.js +20 -0
- package/dist/editor/features/layout/layoutTool.js.map +1 -0
- package/dist/editor/features/lists/listTools.d.ts +15 -0
- package/dist/editor/features/lists/listTools.d.ts.map +1 -0
- package/dist/editor/features/lists/listTools.js +78 -0
- package/dist/editor/features/lists/listTools.js.map +1 -0
- package/dist/editor/features/marks/markTools.d.ts +16 -0
- package/dist/editor/features/marks/markTools.d.ts.map +1 -0
- package/dist/editor/features/marks/markTools.js +43 -0
- package/dist/editor/features/marks/markTools.js.map +1 -0
- package/dist/editor/features/search/searchTool.d.ts +1 -1
- package/dist/editor/features/table/tableTool.d.ts +3 -3
- package/dist/editor/features/wrapper/wrapperTool.d.ts +11 -0
- package/dist/editor/features/wrapper/wrapperTool.d.ts.map +1 -0
- package/dist/editor/features/wrapper/wrapperTool.js +32 -0
- package/dist/editor/features/wrapper/wrapperTool.js.map +1 -0
- package/dist/editor/index.d.ts +1 -1
- package/dist/editor/index.d.ts.map +1 -1
- package/dist/editor/index.js.map +1 -1
- package/dist/editor/schema-entry.d.ts +1 -1
- package/dist/editor/styles/prose.d.ts.map +1 -1
- package/dist/editor/styles/prose.js +26 -0
- package/dist/editor/styles/prose.js.map +1 -1
- package/dist/editor/ui/EditorToolbar.d.ts.map +1 -1
- package/dist/editor/ui/EditorToolbar.js +5 -38
- package/dist/editor/ui/EditorToolbar.js.map +1 -1
- package/dist/editor/ui/SelectionBubble.d.ts.map +1 -1
- package/dist/editor/ui/SelectionBubble.js +1 -1
- package/dist/editor/ui/SelectionBubble.js.map +1 -1
- package/dist/editor/ui/ToolButtonView.d.ts.map +1 -1
- package/dist/editor/ui/ToolButtonView.js +1 -1
- package/dist/editor/ui/ToolButtonView.js.map +1 -1
- package/dist/i18n/defaults.d.ts.map +1 -1
- package/dist/i18n/defaults.js +3 -0
- package/dist/i18n/defaults.js.map +1 -1
- package/dist/i18n/messages.d.ts +16 -1
- package/dist/i18n/messages.d.ts.map +1 -1
- package/dist/icons.d.ts +8 -1
- package/dist/icons.d.ts.map +1 -1
- package/dist/icons.js +1 -1
- package/dist/icons.js.map +1 -1
- package/dist/locales/ru.d.ts.map +1 -1
- package/dist/locales/ru.js +3 -0
- package/dist/locales/ru.js.map +1 -1
- package/docs/api/editor-extension.en.md +68 -68
- package/docs/api/editor-extension.md +55 -55
- package/docs/api/messages.en.md +4 -1
- package/docs/api/messages.md +3 -0
- package/docs/api/migration-notes.en.md +11 -11
- package/docs/api/migration-notes.md +2 -2
- package/docs/api/utilities.en.md +6 -6
- package/docs/components/actions/split-button.en.md +9 -9
- package/docs/components/content/data-display.en.md +1 -1
- package/docs/components/content/layout-primitives.en.md +3 -3
- package/docs/components/content/rich-text-toc.en.md +1 -1
- package/docs/components/content/rich-text-view.en.md +23 -17
- package/docs/components/content/rich-text-view.md +17 -11
- package/docs/components/content/virtual-grid.en.md +2 -2
- package/docs/components/date-time/date-picker.en.md +1 -1
- package/docs/components/inputs/rich-text-editor.en.md +283 -230
- package/docs/components/inputs/rich-text-editor.md +139 -86
- package/docs/components/navigation/mega-menu.en.md +10 -10
- package/docs/components/overlays/menu.en.md +2 -2
- package/docs/components/overlays/shortcuts-help.en.md +1 -1
- package/docs/components/table/data-table.en.md +3 -3
- package/docs/components/table/filter-bar.en.md +1 -1
- package/docs/components/table/toolbar.en.md +1 -1
- package/docs/conventions.en.md +2 -2
- package/docs/conventions.md +1 -1
- package/docs/getting-started.en.md +9 -9
- package/docs/getting-started.md +8 -8
- package/docs/glossary.en.md +193 -133
- package/docs/glossary.md +191 -132
- package/docs/icons.en.md +12 -9
- package/docs/icons.md +3 -0
- package/docs/palette.en.md +3 -3
- package/docs/theming.en.md +6 -6
- package/package.json +2 -1
- package/src/editor/RichTextEditor.tsx +9 -6
- package/src/editor/core/atomText.ts +2 -2
- package/src/editor/core/blockTypes.ts +19 -83
- package/src/editor/core/containers.ts +4 -2
- package/src/editor/core/customMarkdown.ts +2 -2
- package/src/editor/core/customTool.ts +6 -6
- package/src/editor/core/customToolEngine.ts +9 -9
- package/src/editor/core/extensions.ts +165 -110
- package/src/editor/core/fieldNotice.ts +1 -1
- package/src/editor/core/handle.ts +2 -2
- package/src/editor/core/insertItems.ts +12 -158
- package/src/editor/core/insertMenuTool.ts +32 -0
- package/src/editor/core/jsonDocument.ts +1 -1
- package/src/editor/core/schema.ts +42 -7
- package/src/editor/core/shortcuts.ts +116 -177
- package/src/editor/core/skeleton.ts +4 -3
- package/src/editor/core/toolButtons.ts +3 -3
- package/src/editor/core/toolDefinition.ts +4 -4
- package/src/editor/core/toolDescriptor.ts +65 -52
- package/src/editor/core/toolLoader.ts +3 -3
- package/src/editor/core/toolOptions.ts +21 -2
- package/src/editor/core/tools.ts +10 -1
- package/src/editor/core/viewIsland.ts +1 -1
- package/src/editor/features/builtins.ts +76 -41
- package/src/editor/features/code/codeBlockTool.ts +16 -8
- package/src/editor/features/color/colorTools.ts +68 -0
- package/src/editor/features/details/details.ts +389 -0
- package/src/editor/features/details/detailsMarkdown.ts +158 -0
- package/src/editor/features/details/detailsTool.ts +69 -0
- package/src/editor/features/emoji/emojiTool.tsx +1 -1
- package/src/editor/features/heading/headingTool.ts +96 -0
- package/src/editor/features/history/historyTool.ts +42 -0
- package/src/editor/features/image/imageTool.ts +49 -0
- package/src/editor/features/layout/layoutTool.ts +40 -0
- package/src/editor/features/lists/listTools.ts +112 -0
- package/src/editor/features/marks/markTools.ts +78 -0
- package/src/editor/features/search/searchTool.ts +1 -1
- package/src/editor/features/table/tableTool.ts +3 -3
- package/src/editor/features/toc/tocTool.ts +1 -1
- package/src/editor/features/wrapper/wrapperTool.ts +52 -0
- package/src/editor/index.ts +1 -0
- package/src/editor/schema-entry.ts +1 -1
- package/src/editor/styles/prose.ts +49 -0
- package/src/editor/ui/EditorToolbar.tsx +7 -50
- package/src/editor/ui/SelectionBubble.tsx +2 -5
- package/src/editor/ui/ToolButtonView.tsx +2 -1
- package/src/i18n/defaults.ts +3 -0
- package/src/i18n/messages.ts +14 -1
- package/src/icons.ts +7 -0
- package/src/locales/ru.ts +3 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { DetailsIcon, UnwrapIcon } from "../../../icons.js";
|
|
3
|
+
import { DETAILS_CONTENT_NODE, DETAILS_NODE, detailsExtensions, unwrapDetailsAt, } from "./details.js";
|
|
4
|
+
export const DETAILS_DEFAULTS = { persist: false };
|
|
5
|
+
export const DETAILS_TOOL = {
|
|
6
|
+
name: "details",
|
|
7
|
+
defaults: DETAILS_DEFAULTS,
|
|
8
|
+
checks: { persist: (value) => typeof value === "boolean" },
|
|
9
|
+
engine: (context, options) => detailsExtensions({
|
|
10
|
+
persist: options?.persist === true,
|
|
11
|
+
toggleLabel: context.detailsToggle,
|
|
12
|
+
}),
|
|
13
|
+
blocks: { [DETAILS_CONTENT_NODE]: { container: true } },
|
|
14
|
+
kitTags: ["details", "summary"],
|
|
15
|
+
insertItems: [
|
|
16
|
+
{
|
|
17
|
+
id: "details",
|
|
18
|
+
section: "insert",
|
|
19
|
+
label: (m) => m.details,
|
|
20
|
+
icon: DetailsIcon,
|
|
21
|
+
aliases: ["details", "summary", "toggle", "accordion", "spoiler", "collapse"],
|
|
22
|
+
run: (chain) => chain.insertDetails(),
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
|
+
blockActions: [
|
|
26
|
+
{
|
|
27
|
+
id: "unwrapDetails",
|
|
28
|
+
label: (messages) => messages.unwrapDetails,
|
|
29
|
+
icon: UnwrapIcon,
|
|
30
|
+
blocks: [DETAILS_NODE, DETAILS_CONTENT_NODE],
|
|
31
|
+
run: (editor, pos) => void editor
|
|
32
|
+
.chain()
|
|
33
|
+
.focus()
|
|
34
|
+
.command(({ tr }) => unwrapDetailsAt(tr, pos))
|
|
35
|
+
.run(),
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=detailsTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detailsTool.js","sourceRoot":"","sources":["../../../../src/editor/features/details/detailsTool.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG5D,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EACjB,eAAe,GAChB,MAAM,cAAc,CAAC;AAGtB,MAAM,CAAC,MAAM,gBAAgB,GAAuB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAYvE,MAAM,CAAC,MAAM,YAAY,GAAmB;IAC1C,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,gBAAgB;IAC1B,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,SAAS,EAAE;IAM1D,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAC3B,iBAAiB,CAAC;QAChB,OAAO,EAAG,OAA0C,EAAE,OAAO,KAAK,IAAI;QACtE,WAAW,EAAE,OAAO,CAAC,aAAa;KACnC,CAAC;IAEJ,MAAM,EAAE,EAAE,CAAC,oBAAoB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;IAEvD,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;IAC/B,WAAW,EAAE;QACX;YACE,EAAE,EAAE,SAAS;YACb,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO;YACvB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC;YAC7E,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE;SACtC;KACF;IACD,YAAY,EAAE;QACZ;YACE,EAAE,EAAE,eAAe;YACnB,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa;YAC3C,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,CAAC,YAAY,EAAE,oBAAoB,CAAC;YAE5C,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CACnB,KAAK,MAAM;iBACR,KAAK,EAAE;iBACP,KAAK,EAAE;iBACP,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;iBAC7C,GAAG,EAAE;SACX;KACF;CACF,CAAC"}
|
|
@@ -21,7 +21,7 @@ export declare function insertEmoji(editor: Editor, char: string): boolean;
|
|
|
21
21
|
/**
|
|
22
22
|
* Эмодзи на описании Инструмента (ADR-0058, п. 10.4) — проверка
|
|
23
23
|
* кнопки с поповером на той же форме, что у своего Инструмента. Своей Схемы и
|
|
24
|
-
*
|
|
24
|
+
* Extensions нет: эмодзи — обычный текст.
|
|
25
25
|
*
|
|
26
26
|
* Поповер — сетка `EmojiGrid` в рамке кита у кнопки. Выбор вставляет эмодзи и
|
|
27
27
|
* закрывает поповер; фокус возвращается в Документ, а не на кнопку: человек
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ToolDescriptor } from "../../core/toolDescriptor.js";
|
|
2
|
+
/**
|
|
3
|
+
* Заголовки на описании Инструмента (ADR-0058, п. 10).
|
|
4
|
+
*
|
|
5
|
+
* Узел и его клавиши даёт StarterKit, поэтому в описании — доля StarterKit, а
|
|
6
|
+
* не `engine`. H1 — только с `heading1`; без него `#` и `<h1>` остаются
|
|
7
|
+
* прежними: правило ввода и разбор HTML строятся по этим уровням. Меню «¶»
|
|
8
|
+
* (`BlockTypeMenu`) — виджет кита и описания не касается.
|
|
9
|
+
*/
|
|
10
|
+
export declare const HEADING_TOOL: ToolDescriptor;
|
|
11
|
+
/**
|
|
12
|
+
* `heading1` — надстройка над `heading`: своего узла у неё нет, она добавляет
|
|
13
|
+
* только H1 (уровни заголовка спрашивают `has("heading1")`, пункты H1 лежат в
|
|
14
|
+
* описании `heading`). В описании — строка справочника `⌘⌥1`, которая есть
|
|
15
|
+
* лишь вместе с `heading`.
|
|
16
|
+
*/
|
|
17
|
+
export declare const HEADING1_TOOL: ToolDescriptor;
|
|
18
|
+
//# sourceMappingURL=headingTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"headingTool.d.ts","sourceRoot":"","sources":["../../../../src/editor/features/heading/headingTool.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAyBnE;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,EAAE,cA8B1B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,cAY3B,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { Heading1Icon, Heading2Icon, Heading3Icon, Heading4Icon, HeadingIcon, } from "../../../icons.js";
|
|
3
|
+
import { turnIntoTypes } from "../../core/blockTypes.js";
|
|
4
|
+
import { SHORTCUT_KEYS } from "../../core/shortcuts.js";
|
|
5
|
+
const LEVELS = [1, 2, 3, 4];
|
|
6
|
+
const BLOCK_TYPE_ICONS = [Heading1Icon, Heading2Icon, Heading3Icon, Heading4Icon];
|
|
7
|
+
const HEADING_ITEMS = LEVELS.map((level) => ({
|
|
8
|
+
id: `heading${level}`,
|
|
9
|
+
section: "turnInto",
|
|
10
|
+
label: (m) => m.heading({ level }),
|
|
11
|
+
icon: HeadingIcon,
|
|
12
|
+
aliases: [`h${level}`],
|
|
13
|
+
markdown: "#".repeat(level),
|
|
14
|
+
keys: SHORTCUT_KEYS[`h${level}`],
|
|
15
|
+
requires: level === 1 ? "heading1" : undefined,
|
|
16
|
+
run: (chain) => chain.setHeading({ level }),
|
|
17
|
+
}));
|
|
18
|
+
export const HEADING_TOOL = {
|
|
19
|
+
name: "heading",
|
|
20
|
+
starterKit: (context) => ({
|
|
21
|
+
heading: { levels: context.has("heading1") ? [1, 2, 3, 4] : [2, 3, 4] },
|
|
22
|
+
}),
|
|
23
|
+
insertItems: HEADING_ITEMS,
|
|
24
|
+
blockTypes: turnIntoTypes("heading", HEADING_ITEMS).map((item, index) => ({
|
|
25
|
+
...item,
|
|
26
|
+
icon: BLOCK_TYPE_ICONS[index],
|
|
27
|
+
alsoTool: item.requires,
|
|
28
|
+
})),
|
|
29
|
+
shortcuts: [
|
|
30
|
+
{
|
|
31
|
+
id: "paragraph",
|
|
32
|
+
group: "blockType",
|
|
33
|
+
tool: "heading",
|
|
34
|
+
keys: SHORTCUT_KEYS.paragraph,
|
|
35
|
+
label: (m) => m.textBlock,
|
|
36
|
+
},
|
|
37
|
+
...[2, 3, 4].map((level) => ({
|
|
38
|
+
id: `h${level}`,
|
|
39
|
+
group: "blockType",
|
|
40
|
+
tool: "heading",
|
|
41
|
+
keys: SHORTCUT_KEYS[`h${level}`],
|
|
42
|
+
label: (m) => m.heading({ level }),
|
|
43
|
+
})),
|
|
44
|
+
],
|
|
45
|
+
};
|
|
46
|
+
export const HEADING1_TOOL = {
|
|
47
|
+
name: "heading1",
|
|
48
|
+
shortcuts: [
|
|
49
|
+
{
|
|
50
|
+
id: "h1",
|
|
51
|
+
group: "blockType",
|
|
52
|
+
tool: "heading1",
|
|
53
|
+
requires: "heading",
|
|
54
|
+
keys: SHORTCUT_KEYS.h1,
|
|
55
|
+
label: (m) => m.heading({ level: 1 }),
|
|
56
|
+
},
|
|
57
|
+
],
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=headingTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"headingTool.js","sourceRoot":"","sources":["../../../../src/editor/features/heading/headingTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ToolDescriptor } from "../../core/toolDescriptor.js";
|
|
2
|
+
/**
|
|
3
|
+
* Отмена и повтор на описании Инструмента.
|
|
4
|
+
*
|
|
5
|
+
* Расширение — доля StarterKit (`undoRedo`): `{}` включает его умолчание так же,
|
|
6
|
+
* как прежний `undefined`. Клавиши `Mod+Z` и `Mod+Shift+Z` вешает оно, а не
|
|
7
|
+
* кнопки: поэтому у кнопок `keys` (подпись для подсказки, `aria-keyshortcuts` и
|
|
8
|
+
* справочника), а не `shortcut` — тот привязал бы клавишу второй раз. Строки
|
|
9
|
+
* справочника — те же кнопки с группой «История» (`shortcutGroup`), отдельных
|
|
10
|
+
* `shortcuts` у Инструмента нет: иначе строка встала бы дважды.
|
|
11
|
+
*
|
|
12
|
+
* Место кнопок — последняя группа Панели (`slot("history")`, `EditorToolbar.tsx`).
|
|
13
|
+
*/
|
|
14
|
+
export declare const HISTORY_TOOL: ToolDescriptor;
|
|
15
|
+
//# sourceMappingURL=historyTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"historyTool.d.ts","sourceRoot":"","sources":["../../../../src/editor/features/history/historyTool.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,EAAE,cAuB1B,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { RedoIcon, UndoIcon } from "../../../icons.js";
|
|
3
|
+
import { SHORTCUT_KEYS } from "../../core/shortcuts.js";
|
|
4
|
+
export const HISTORY_TOOL = {
|
|
5
|
+
name: "history",
|
|
6
|
+
starterKit: () => ({ undoRedo: {} }),
|
|
7
|
+
buttons: [
|
|
8
|
+
{
|
|
9
|
+
id: "undo",
|
|
10
|
+
label: ({ messages }) => messages.undo,
|
|
11
|
+
icon: UndoIcon,
|
|
12
|
+
keys: SHORTCUT_KEYS.undo,
|
|
13
|
+
shortcutGroup: "history",
|
|
14
|
+
run: (editor) => void editor.chain().focus().undo().run(),
|
|
15
|
+
can: (editor) => editor.can().undo(),
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
id: "redo",
|
|
19
|
+
label: ({ messages }) => messages.redo,
|
|
20
|
+
icon: RedoIcon,
|
|
21
|
+
keys: SHORTCUT_KEYS.redo,
|
|
22
|
+
shortcutGroup: "history",
|
|
23
|
+
run: (editor) => void editor.chain().focus().redo().run(),
|
|
24
|
+
can: (editor) => editor.can().redo(),
|
|
25
|
+
},
|
|
26
|
+
],
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=historyTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"historyTool.js","sourceRoot":"","sources":["../../../../src/editor/features/history/historyTool.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAexD,MAAM,CAAC,MAAM,YAAY,GAAmB;IAC1C,IAAI,EAAE,SAAS;IACf,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACpC,OAAO,EAAE;QACP;YACE,EAAE,EAAE,MAAM;YACV,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI;YACtC,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,aAAa,CAAC,IAAI;YACxB,aAAa,EAAE,SAAS;YACxB,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE;YACzD,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE;SACrC;QACD;YACE,EAAE,EAAE,MAAM;YACV,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI;YACtC,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,aAAa,CAAC,IAAI;YACxB,aAAa,EAAE,SAAS;YACxB,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE;YACzD,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE;SACrC;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ToolDescriptor } from "../../core/toolDescriptor.js";
|
|
2
|
+
/**
|
|
3
|
+
* Картинка на описании Инструмента (ADR-0058, п. 10).
|
|
4
|
+
*
|
|
5
|
+
* Картинка — `figure` с подписью (`image.ts`). Без Инструмента `<img>` из
|
|
6
|
+
* вставки и `value` отбрасывается, а файлы из буфера не перехватываются:
|
|
7
|
+
* расширения нет в списке, пока нет моста `image` (его даёт `RichTextEditor`
|
|
8
|
+
* только с Инструментом).
|
|
9
|
+
*
|
|
10
|
+
* Картинке нужен адрес, и ни кнопка, ни пункт его не знают: оба готовят пустой
|
|
11
|
+
* абзац и открывают поповер картинки (`ImagePopover`), команда `openImageEditor`
|
|
12
|
+
* — из `image.ts`. Картинка из поповера встаёт на место этого абзаца. Закрытый
|
|
13
|
+
* без адреса поповер оставляет пустой абзац — как Блок, который передумали
|
|
14
|
+
* писать. Сам поповер и панель выделенной картинки (`ImageToolbar`) — виджеты
|
|
15
|
+
* кита, у описания их нет. Форма Блока для Скелета не нужна: его Схеме мост
|
|
16
|
+
* картинки подставлен заглушкой (`skeleton.ts`), и расширение то же.
|
|
17
|
+
*/
|
|
18
|
+
export declare const IMAGE_TOOL: ToolDescriptor;
|
|
19
|
+
//# sourceMappingURL=imageTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imageTool.d.ts","sourceRoot":"","sources":["../../../../src/editor/features/image/imageTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAGnE;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,UAAU,EAAE,cA0BxB,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { ImageIcon } from "../../../icons.js";
|
|
3
|
+
import { RichImage } from "./image.js";
|
|
4
|
+
export const IMAGE_TOOL = {
|
|
5
|
+
name: "image",
|
|
6
|
+
engine: (context) => (context.image ? [RichImage.configure(context.image)] : []),
|
|
7
|
+
buttons: [
|
|
8
|
+
{
|
|
9
|
+
id: "image",
|
|
10
|
+
label: ({ messages }) => messages.image,
|
|
11
|
+
icon: ImageIcon,
|
|
12
|
+
run: (editor) => editor.commands.openImageEditor(),
|
|
13
|
+
can: (editor) => editor.can().openImageEditor(),
|
|
14
|
+
isActive: (editor) => editor.isActive("image"),
|
|
15
|
+
},
|
|
16
|
+
],
|
|
17
|
+
insertItems: [
|
|
18
|
+
{
|
|
19
|
+
id: "image",
|
|
20
|
+
section: "insert",
|
|
21
|
+
label: (m) => m.image,
|
|
22
|
+
icon: ImageIcon,
|
|
23
|
+
aliases: ["img", "picture", "photo", "![]()"],
|
|
24
|
+
run: (chain) => chain.openImageEditor(),
|
|
25
|
+
},
|
|
26
|
+
],
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=imageTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imageTool.js","sourceRoot":"","sources":["../../../../src/editor/features/image/imageTool.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAkBvC,MAAM,CAAC,MAAM,UAAU,GAAmB;IACxC,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,OAAO,EAAE;QACP;YACE,EAAE,EAAE,OAAO;YACX,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK;YACvC,IAAI,EAAE,SAAS;YAEf,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE;YAClD,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,eAAe,EAAE;YAG/C,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;SAC/C;KACF;IACD,WAAW,EAAE;QACX;YACE,EAAE,EAAE,OAAO;YACX,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK;YACrB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC;YAC7C,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE;SACxC;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ToolDescriptor } from "../../core/toolDescriptor.js";
|
|
2
|
+
/**
|
|
3
|
+
* Раскладка на описании Инструмента: узлы колонок и их клавиатура
|
|
4
|
+
* (`layout.ts`), пункт Меню вставки и место в модели содержимого Документа.
|
|
5
|
+
*
|
|
6
|
+
* Варианты раскладки («Добавить › Раскладка ›», «Формат ›», «Раскладка ›» колонки)
|
|
7
|
+
* — меню-виджеты Ручки Блока: своего Инструмента у них нет, и они остаются в
|
|
8
|
+
* `BlockHandle.tsx`, показ — по `has("layout")`.
|
|
9
|
+
*/
|
|
10
|
+
export declare const LAYOUT_TOOL: ToolDescriptor;
|
|
11
|
+
//# sourceMappingURL=layoutTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layoutTool.d.ts","sourceRoot":"","sources":["../../../../src/editor/features/layout/layoutTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAInE;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,EAAE,cAwBzB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { ColumnLayoutIcon } from "../../../icons.js";
|
|
3
|
+
import { DEFAULT_LAYOUT } from "./columnLayouts.js";
|
|
4
|
+
import { LAYOUT_NODE, layoutExtensions } from "./layout.js";
|
|
5
|
+
export const LAYOUT_TOOL = {
|
|
6
|
+
name: "layout",
|
|
7
|
+
engine: (context) => layoutExtensions({ wrapper: context.has("wrapper") }),
|
|
8
|
+
documentContent: [LAYOUT_NODE],
|
|
9
|
+
insertItems: [
|
|
10
|
+
{
|
|
11
|
+
id: "layout",
|
|
12
|
+
section: "insert",
|
|
13
|
+
label: (m) => m.layout,
|
|
14
|
+
icon: ColumnLayoutIcon,
|
|
15
|
+
aliases: ["columns", "cols"],
|
|
16
|
+
run: (chain) => chain.insertLayout(DEFAULT_LAYOUT),
|
|
17
|
+
},
|
|
18
|
+
],
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=layoutTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layoutTool.js","sourceRoot":"","sources":["../../../../src/editor/features/layout/layoutTool.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAU5D,MAAM,CAAC,MAAM,WAAW,GAAmB;IACzC,IAAI,EAAE,QAAQ;IAGd,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;IAE1E,eAAe,EAAE,CAAC,WAAW,CAAC;IAQ9B,WAAW,EAAE;QACX;YACE,EAAE,EAAE,QAAQ;YACZ,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM;YACtB,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;YAC5B,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC;SACnD;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ToolDescriptor } from "../../core/toolDescriptor.js";
|
|
2
|
+
/**
|
|
3
|
+
* Маркированный список. Расширение — доля StarterKit: `{}` включает его
|
|
4
|
+
* умолчание так же, как прежний `undefined`.
|
|
5
|
+
*/
|
|
6
|
+
export declare const BULLET_LIST_TOOL: ToolDescriptor;
|
|
7
|
+
/** Нумерованный список: `start` и `1.` в Markdown — умолчания StarterKit. */
|
|
8
|
+
export declare const ORDERED_LIST_TOOL: ToolDescriptor;
|
|
9
|
+
/**
|
|
10
|
+
* Чек-лист. Подпись флажка пункта — из каталога, читается при каждой
|
|
11
|
+
* перерисовке пункта (`context.taskCheckbox`), поэтому смена локали не
|
|
12
|
+
* пересоздаёт движок.
|
|
13
|
+
*/
|
|
14
|
+
export declare const TASK_LIST_TOOL: ToolDescriptor;
|
|
15
|
+
//# sourceMappingURL=listTools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listTools.d.ts","sourceRoot":"","sources":["../../../../src/editor/features/lists/listTools.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAiEnE;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,cAM9B,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,iBAAiB,EAAE,cAM/B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,cAa5B,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { TaskItem, TaskList } from "@tiptap/extension-list";
|
|
3
|
+
import { ListIcon, OrderedListIcon, TaskListIcon } from "../../../icons.js";
|
|
4
|
+
import { turnIntoTypes } from "../../core/blockTypes.js";
|
|
5
|
+
import { SHORTCUT_KEYS, shortcutKeys } from "../../core/shortcuts.js";
|
|
6
|
+
function shortcutOf(id) {
|
|
7
|
+
return {
|
|
8
|
+
id,
|
|
9
|
+
group: "lists",
|
|
10
|
+
tool: id,
|
|
11
|
+
keys: SHORTCUT_KEYS[id],
|
|
12
|
+
label: (m) => m[id],
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
const BULLET_LIST_ITEMS = [
|
|
16
|
+
{
|
|
17
|
+
id: "bulletList",
|
|
18
|
+
section: "turnInto",
|
|
19
|
+
label: (m) => m.bulletList,
|
|
20
|
+
icon: ListIcon,
|
|
21
|
+
aliases: ["ul", "-"],
|
|
22
|
+
markdown: "-",
|
|
23
|
+
keys: shortcutKeys("bulletList"),
|
|
24
|
+
run: (chain) => chain.toggleBulletList(),
|
|
25
|
+
},
|
|
26
|
+
];
|
|
27
|
+
const ORDERED_LIST_ITEMS = [
|
|
28
|
+
{
|
|
29
|
+
id: "orderedList",
|
|
30
|
+
section: "turnInto",
|
|
31
|
+
label: (m) => m.orderedList,
|
|
32
|
+
icon: OrderedListIcon,
|
|
33
|
+
aliases: ["ol", "1."],
|
|
34
|
+
markdown: "1.",
|
|
35
|
+
keys: shortcutKeys("orderedList"),
|
|
36
|
+
run: (chain) => chain.toggleOrderedList(),
|
|
37
|
+
},
|
|
38
|
+
];
|
|
39
|
+
const TASK_LIST_ITEMS = [
|
|
40
|
+
{
|
|
41
|
+
id: "taskList",
|
|
42
|
+
section: "turnInto",
|
|
43
|
+
label: (m) => m.taskList,
|
|
44
|
+
icon: TaskListIcon,
|
|
45
|
+
aliases: ["todo", "[]"],
|
|
46
|
+
markdown: "[ ]",
|
|
47
|
+
keys: shortcutKeys("taskList"),
|
|
48
|
+
run: (chain) => chain.toggleTaskList(),
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
export const BULLET_LIST_TOOL = {
|
|
52
|
+
name: "bulletList",
|
|
53
|
+
starterKit: () => ({ bulletList: {} }),
|
|
54
|
+
insertItems: BULLET_LIST_ITEMS,
|
|
55
|
+
blockTypes: turnIntoTypes("bulletList", BULLET_LIST_ITEMS),
|
|
56
|
+
shortcuts: [shortcutOf("bulletList")],
|
|
57
|
+
};
|
|
58
|
+
export const ORDERED_LIST_TOOL = {
|
|
59
|
+
name: "orderedList",
|
|
60
|
+
starterKit: () => ({ orderedList: {} }),
|
|
61
|
+
insertItems: ORDERED_LIST_ITEMS,
|
|
62
|
+
blockTypes: turnIntoTypes("orderedList", ORDERED_LIST_ITEMS),
|
|
63
|
+
shortcuts: [shortcutOf("orderedList")],
|
|
64
|
+
};
|
|
65
|
+
export const TASK_LIST_TOOL = {
|
|
66
|
+
name: "taskList",
|
|
67
|
+
engine: (context) => [
|
|
68
|
+
TaskList,
|
|
69
|
+
TaskItem.configure({
|
|
70
|
+
nested: true,
|
|
71
|
+
a11y: { checkboxLabel: (node) => context.taskCheckbox(node.textContent) },
|
|
72
|
+
}),
|
|
73
|
+
],
|
|
74
|
+
insertItems: TASK_LIST_ITEMS,
|
|
75
|
+
blockTypes: turnIntoTypes("taskList", TASK_LIST_ITEMS),
|
|
76
|
+
shortcuts: [shortcutOf("taskList")],
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=listTools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listTools.js","sourceRoot":"","sources":["../../../../src/editor/features/lists/listTools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ToolDescriptor } from "../../core/toolDescriptor.js";
|
|
2
|
+
/** Жирный: доля StarterKit, `{}` включает его умолчание. */
|
|
3
|
+
export declare const BOLD_TOOL: ToolDescriptor;
|
|
4
|
+
/** Курсив: доля StarterKit. */
|
|
5
|
+
export declare const ITALIC_TOOL: ToolDescriptor;
|
|
6
|
+
/** Подчёркнутый: доля StarterKit. */
|
|
7
|
+
export declare const UNDERLINE_TOOL: ToolDescriptor;
|
|
8
|
+
/** Зачёркнутый: доля StarterKit. */
|
|
9
|
+
export declare const STRIKE_TOOL: ToolDescriptor;
|
|
10
|
+
/** Код в строке: доля StarterKit. */
|
|
11
|
+
export declare const CODE_TOOL: ToolDescriptor;
|
|
12
|
+
/** Верхний индекс: отдельное расширение Tiptap, место в `ENGINE_ORDER` — первое. */
|
|
13
|
+
export declare const SUPERSCRIPT_TOOL: ToolDescriptor;
|
|
14
|
+
/** Нижний индекс: отдельное расширение Tiptap. */
|
|
15
|
+
export declare const SUBSCRIPT_TOOL: ToolDescriptor;
|
|
16
|
+
//# sourceMappingURL=markTools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markTools.d.ts","sourceRoot":"","sources":["../../../../src/editor/features/marks/markTools.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAyBnE,4DAA4D;AAC5D,eAAO,MAAM,SAAS,EAAE,cAIvB,CAAC;AAEF,+BAA+B;AAC/B,eAAO,MAAM,WAAW,EAAE,cAIzB,CAAC;AAEF,qCAAqC;AACrC,eAAO,MAAM,cAAc,EAAE,cAI5B,CAAC;AAEF,oCAAoC;AACpC,eAAO,MAAM,WAAW,EAAE,cAIzB,CAAC;AAEF,qCAAqC;AACrC,eAAO,MAAM,SAAS,EAAE,cAIvB,CAAC;AAEF,oFAAoF;AACpF,eAAO,MAAM,gBAAgB,EAAE,cAI9B,CAAC;AAEF,kDAAkD;AAClD,eAAO,MAAM,cAAc,EAAE,cAI5B,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { Subscript } from "@tiptap/extension-subscript";
|
|
3
|
+
import { Superscript } from "@tiptap/extension-superscript";
|
|
4
|
+
import { SHORTCUT_KEYS } from "../../core/shortcuts.js";
|
|
5
|
+
function shortcutOf(id) {
|
|
6
|
+
return { id, group: "marks", tool: id, keys: SHORTCUT_KEYS[id], label: (m) => m[id] };
|
|
7
|
+
}
|
|
8
|
+
export const BOLD_TOOL = {
|
|
9
|
+
name: "bold",
|
|
10
|
+
starterKit: () => ({ bold: {} }),
|
|
11
|
+
shortcuts: [shortcutOf("bold")],
|
|
12
|
+
};
|
|
13
|
+
export const ITALIC_TOOL = {
|
|
14
|
+
name: "italic",
|
|
15
|
+
starterKit: () => ({ italic: {} }),
|
|
16
|
+
shortcuts: [shortcutOf("italic")],
|
|
17
|
+
};
|
|
18
|
+
export const UNDERLINE_TOOL = {
|
|
19
|
+
name: "underline",
|
|
20
|
+
starterKit: () => ({ underline: {} }),
|
|
21
|
+
shortcuts: [shortcutOf("underline")],
|
|
22
|
+
};
|
|
23
|
+
export const STRIKE_TOOL = {
|
|
24
|
+
name: "strike",
|
|
25
|
+
starterKit: () => ({ strike: {} }),
|
|
26
|
+
shortcuts: [shortcutOf("strike")],
|
|
27
|
+
};
|
|
28
|
+
export const CODE_TOOL = {
|
|
29
|
+
name: "code",
|
|
30
|
+
starterKit: () => ({ code: {} }),
|
|
31
|
+
shortcuts: [shortcutOf("code")],
|
|
32
|
+
};
|
|
33
|
+
export const SUPERSCRIPT_TOOL = {
|
|
34
|
+
name: "superscript",
|
|
35
|
+
engine: () => [Superscript],
|
|
36
|
+
shortcuts: [shortcutOf("superscript")],
|
|
37
|
+
};
|
|
38
|
+
export const SUBSCRIPT_TOOL = {
|
|
39
|
+
name: "subscript",
|
|
40
|
+
engine: () => [Subscript],
|
|
41
|
+
shortcuts: [shortcutOf("subscript")],
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=markTools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markTools.js","sourceRoot":"","sources":["../../../../src/editor/features/marks/markTools.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAwB,MAAM,yBAAyB,CAAC;AAoB9E,SAAS,UAAU,CACjB,EAAqF;IAErF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACxF,CAAC;AAGD,MAAM,CAAC,MAAM,SAAS,GAAmB;IACvC,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAChC,SAAS,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;CAChC,CAAC;AAGF,MAAM,CAAC,MAAM,WAAW,GAAmB;IACzC,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAClC,SAAS,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;CAClC,CAAC;AAGF,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C,IAAI,EAAE,WAAW;IACjB,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IACrC,SAAS,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;CACrC,CAAC;AAGF,MAAM,CAAC,MAAM,WAAW,GAAmB;IACzC,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAClC,SAAS,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;CAClC,CAAC;AAGF,MAAM,CAAC,MAAM,SAAS,GAAmB;IACvC,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAChC,SAAS,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;CAChC,CAAC;AAGF,MAAM,CAAC,MAAM,gBAAgB,GAAmB;IAC9C,IAAI,EAAE,aAAa;IACnB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC;IAC3B,SAAS,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;CACvC,CAAC;AAGF,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C,IAAI,EAAE,WAAW;IACjB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC;IACzB,SAAS,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;CACrC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ToolDescriptor } from "../../core/toolDescriptor.js";
|
|
2
2
|
import type { SearchToolOptions } from "../../core/toolOptions.js";
|
|
3
3
|
/**
|
|
4
|
-
* Поиск и замена на описании Инструмента.
|
|
4
|
+
* Поиск и замена на описании Инструмента. Extensions —
|
|
5
5
|
* плагин состояния и подсветки с сочетаниями `Mod+F` и `Mod+Alt+F`; панель
|
|
6
6
|
* держит `RichTextEditor` и открывает её мостом `openSearch`. Кнопка «Поиск» —
|
|
7
7
|
* виджет фиксированной Панели у правого края (`EditorToolbar.tsx`), как
|
|
@@ -9,11 +9,11 @@ type TableChunk = typeof TableChunkModule;
|
|
|
9
9
|
export declare const tableChunk: () => TableChunk | undefined;
|
|
10
10
|
/**
|
|
11
11
|
* Таблица на описании Инструмента (ADR-0058, п. 11.1): её нет в
|
|
12
|
-
* `basic`, а
|
|
13
|
-
*
|
|
12
|
+
* `basic`, а Extensions с `prosemirror-tables` тяжелее 10 кБ, поэтому они
|
|
13
|
+
* грузятся тем же загрузчиком, что у своего Инструмента. В том же чанке — меню
|
|
14
14
|
* «Таблица» и окно «Вставить таблицу»: код кита меряется и статическим графом.
|
|
15
15
|
*
|
|
16
|
-
* Переехали
|
|
16
|
+
* Переехали Extensions и пункт Меню вставки. Меню «Таблица» — виджет
|
|
17
17
|
* Панели и остаётся её местом (`EditorToolbar.tsx`), только компонент берёт из
|
|
18
18
|
* чанка.
|
|
19
19
|
*/
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ToolDescriptor } from "../../core/toolDescriptor.js";
|
|
2
|
+
/**
|
|
3
|
+
* Обёртка на описании Инструмента: узел и выход из неё по Enter (`wrapper.ts`),
|
|
4
|
+
* пункт Меню вставки, Действие «Снять обёртку» и место в модели содержимого
|
|
5
|
+
* Документа.
|
|
6
|
+
*
|
|
7
|
+
* «Тон ›» — меню-виджет Ручки Блока: своего Инструмента у него нет, и он
|
|
8
|
+
* остаётся в `BlockHandle.tsx`, показ — по `has("wrapper")`.
|
|
9
|
+
*/
|
|
10
|
+
export declare const WRAPPER_TOOL: ToolDescriptor;
|
|
11
|
+
//# sourceMappingURL=wrapperTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wrapperTool.d.ts","sourceRoot":"","sources":["../../../../src/editor/features/wrapper/wrapperTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAGnE;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,EAAE,cAqC1B,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { UnwrapIcon, WrapperIcon } from "../../../icons.js";
|
|
3
|
+
import { unwrapWrapperAt, WRAPPER_EXTENSIONS, WRAPPER_NODE } from "./wrapper.js";
|
|
4
|
+
export const WRAPPER_TOOL = {
|
|
5
|
+
name: "wrapper",
|
|
6
|
+
engine: () => WRAPPER_EXTENSIONS,
|
|
7
|
+
documentContent: [WRAPPER_NODE],
|
|
8
|
+
insertItems: [
|
|
9
|
+
{
|
|
10
|
+
id: "wrapper",
|
|
11
|
+
section: "insert",
|
|
12
|
+
label: (m) => m.wrapper,
|
|
13
|
+
icon: WrapperIcon,
|
|
14
|
+
aliases: ["group", "container", "div"],
|
|
15
|
+
run: (chain) => chain.insertWrapper(),
|
|
16
|
+
},
|
|
17
|
+
],
|
|
18
|
+
blockActions: [
|
|
19
|
+
{
|
|
20
|
+
id: "unwrap",
|
|
21
|
+
label: (messages) => messages.unwrap,
|
|
22
|
+
icon: UnwrapIcon,
|
|
23
|
+
blocks: [WRAPPER_NODE],
|
|
24
|
+
run: (editor, pos) => void editor
|
|
25
|
+
.chain()
|
|
26
|
+
.focus()
|
|
27
|
+
.command(({ tr }) => unwrapWrapperAt(tr, pos))
|
|
28
|
+
.run(),
|
|
29
|
+
},
|
|
30
|
+
],
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=wrapperTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wrapperTool.js","sourceRoot":"","sources":["../../../../src/editor/features/wrapper/wrapperTool.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAUjF,MAAM,CAAC,MAAM,YAAY,GAAmB;IAC1C,IAAI,EAAE,SAAS;IAGf,MAAM,EAAE,GAAG,EAAE,CAAC,kBAAkB;IAEhC,eAAe,EAAE,CAAC,YAAY,CAAC;IAM/B,WAAW,EAAE;QACX;YACE,EAAE,EAAE,SAAS;YACb,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO;YACvB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC;YACtC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE;SACtC;KACF;IACD,YAAY,EAAE;QACZ;YACE,EAAE,EAAE,QAAQ;YACZ,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM;YACpC,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,CAAC,YAAY,CAAC;YAEtB,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CACnB,KAAK,MAAM;iBACR,KAAK,EAAE;iBACP,KAAK,EAAE;iBACP,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;iBAC7C,GAAG,EAAE;SACX;KACF;CACF,CAAC"}
|
package/dist/editor/index.d.ts
CHANGED
|
@@ -34,7 +34,7 @@ export type { RichTextEditorPreset } from "./core/tools.js";
|
|
|
34
34
|
export { tool } from "./core/toolOptions.js";
|
|
35
35
|
export { defineTool } from "./core/toolDefinition.js";
|
|
36
36
|
export type { CustomToolBody, ToolDefinition, ToolDefinitionContext, ToolDefinitionInput, } from "./core/toolDefinition.js";
|
|
37
|
-
export type { ConfiguredTool, RichTextTools, SearchToolOptions, TocLevel, TocToolOptions, } from "./core/toolOptions.js";
|
|
37
|
+
export type { ConfiguredTool, DetailsToolOptions, RichTextTools, SearchToolOptions, TocLevel, TocToolOptions, } from "./core/toolOptions.js";
|
|
38
38
|
export type { SearchToolCommands, TocToolCommands } from "./core/toolCommands.js";
|
|
39
39
|
export type { SearchToolState, TocToolHeading, TocToolState } from "./core/toolState.js";
|
|
40
40
|
export { markRange } from "./core/customTool.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/editor/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACrF,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,YAAY,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC1E,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC5F,YAAY,EACV,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,YAAY,EACV,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,cAAc,GACf,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAClF,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,YAAY,EACV,aAAa,EACb,eAAe,EACf,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,cAAc,EACd,WAAW,EACX,SAAS,IAAI,IAAI,EACjB,QAAQ,GACT,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/editor/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACrF,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,YAAY,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC1E,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC5F,YAAY,EACV,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,YAAY,EACV,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,cAAc,GACf,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAClF,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,YAAY,EACV,aAAa,EACb,eAAe,EACf,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,cAAc,EACd,WAAW,EACX,SAAS,IAAI,IAAI,EACjB,QAAQ,GACT,MAAM,sBAAsB,CAAC"}
|
package/dist/editor/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/editor/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAI5D,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAS5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/editor/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAI5D,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAS5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAiBtD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
*
|
|
13
13
|
* Свои Инструменты (ADR-0058, п. 2.3) сюда приходят массивом `tools` в
|
|
14
14
|
* `sanitizeRichText` и `richTextSchema`: читаются только правила Схемы из
|
|
15
|
-
* описания (`customTool.ts`, тоже без движка),
|
|
15
|
+
* описания (`customTool.ts`, тоже без движка), Extensions не трогаются.
|
|
16
16
|
* Описание своего Инструмента с Карточкой у текста собирается и на сервере,
|
|
17
17
|
* поэтому её помощник `markRange` (функция над состоянием, Tiptap — только
|
|
18
18
|
* типом) отдаётся и здесь.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prose.d.ts","sourceRoot":"","sources":["../../../src/editor/styles/prose.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGpD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAOvE,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAUhE,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAMvE,CAAC;
|
|
1
|
+
{"version":3,"file":"prose.d.ts","sourceRoot":"","sources":["../../../src/editor/styles/prose.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGpD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAOvE,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAUhE,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAMvE,CAAC;AAwXF;;;GAGG;AACH,eAAO,MAAM,WAAW,QAA0C,CAAC;AAEnE;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,QAEW,CAAC;AAE1C,8DAA8D;AAC9D,eAAO,MAAM,iBAAiB,QAC2C,CAAC;AAE1E,mDAAmD;AACnD,wBAAgB,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAE3D"}
|