@olddevs/ui 4.5.0 → 4.6.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 +24 -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/toc/RichTextToc.d.ts.map +1 -1
- package/dist/editor/features/toc/RichTextToc.js +9 -2
- package/dist/editor/features/toc/RichTextToc.js.map +1 -1
- 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 +56 -56
- 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 +3 -3
- package/docs/api/migration-notes.md +2 -2
- package/docs/components/content/rich-text-view.en.md +18 -12
- package/docs/components/content/rich-text-view.md +17 -11
- package/docs/components/inputs/rich-text-editor.en.md +140 -87
- package/docs/components/inputs/rich-text-editor.md +139 -86
- 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 +80 -52
- package/docs/glossary.md +79 -51
- package/docs/icons.en.md +4 -1
- package/docs/icons.md +3 -0
- 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/RichTextToc.tsx +14 -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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skeleton.js","sourceRoot":"","sources":["../../../src/editor/core/skeleton.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skeleton.js","sourceRoot":"","sources":["../../../src/editor/core/skeleton.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,9 +49,9 @@ export interface ToolButtonsOptions {
|
|
|
49
49
|
*/
|
|
50
50
|
export declare function keymapName(keys: readonly string[]): string;
|
|
51
51
|
/**
|
|
52
|
-
*
|
|
53
|
-
* записи и единственный его источник, поэтому клавишу вешает кит, а не
|
|
54
|
-
*
|
|
52
|
+
* Сочетания у кнопок описаний (ADR-0058, п. 5.7): сочетание — поле
|
|
53
|
+
* записи и единственный его источник, поэтому клавишу вешает кит, а не
|
|
54
|
+
* Extensions Инструмента. `run` выполняется, поповер открывается у выделения.
|
|
55
55
|
* Недоступная кнопка клавишу не берёт: она идёт дальше, в Документ.
|
|
56
56
|
*/
|
|
57
57
|
export declare const ToolButtons: Extension<ToolButtonsOptions, any>;
|
|
@@ -74,14 +74,14 @@ export interface ToolDefinition<Name extends PrefixedName = PrefixedName, Option
|
|
|
74
74
|
* - `defaults` — полный набор Опций; тип Опций выводится из него, второй раз его
|
|
75
75
|
* объявлять не нужно.
|
|
76
76
|
* - `create(options)` отдаёт тело описания — ту же форму, что `CustomTool`, без
|
|
77
|
-
* имени:
|
|
77
|
+
* имени: Extensions, правила Схемы, UI-записи. Зовётся один раз на запись
|
|
78
78
|
* `tools` (определение само или объект, что вернул `tool(definition, options)`):
|
|
79
79
|
* кит запоминает результат, и Остров, замкнутый над Опциями, один и тот же на
|
|
80
80
|
* каждом рендере. Запись, созданная заново на каждом рендере экрана
|
|
81
81
|
* (`tools={[tool(mention, …)]}` в теле компонента), для кита новая — выносите
|
|
82
|
-
* `tools` из рендера. Загрузчик
|
|
82
|
+
* `tools` из рендера. Загрузчик Extensions стоит держать константой
|
|
83
83
|
* модуля: кэш загрузчика живёт на самой функции, а новая функция на каждый
|
|
84
|
-
* вызов `create` загружала бы
|
|
84
|
+
* вызов `create` загружала бы Extensions заново для каждой записи.
|
|
85
85
|
* - `state({ editor, options })` — Состояние для `useRichTextToolState(ref, name)`.
|
|
86
86
|
* Зовётся при каждой транзакции и при каждом чтении хука, поэтому должна быть
|
|
87
87
|
* быстрой и без побочных эффектов; вернуть — данные без DOM-узлов. Простые данные
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Editor, Extensions } from "@tiptap/core";
|
|
2
|
+
import type { StarterKitOptions } from "@tiptap/starter-kit";
|
|
2
3
|
import type { ComponentType, ReactNode } from "react";
|
|
3
4
|
import type { UiMessages } from "../../i18n/messages.js";
|
|
4
5
|
import type { IconProps } from "../../icons.js";
|
|
@@ -14,7 +15,7 @@ import type { Tool } from "./tools.js";
|
|
|
14
15
|
* Внутреннее описание встроенного Инструмента (ADR-0058, п. 10).
|
|
15
16
|
*
|
|
16
17
|
* НАДФОРМА. Тип — надмножество будущего публичного описания своего
|
|
17
|
-
* Инструмента: те же
|
|
18
|
+
* Инструмента: те же Extensions, Признаки Блока и UI-записи, а сверху
|
|
18
19
|
* привилегии кита, которых своему Инструменту не дают (теги Схемы кита,
|
|
19
20
|
* модель содержимого, виджеты Панели, своё место в порядке поверхности).
|
|
20
21
|
* Наружу описания встроенных не экспортируются: публичны только имена и
|
|
@@ -24,35 +25,36 @@ import type { Tool } from "./tools.js";
|
|
|
24
25
|
* (`expandTools`, `features/builtins.ts`), и реестры по имени — движок, Меню
|
|
25
26
|
* вставки, «¶», справочник сочетаний и следующие за ними — читают его
|
|
26
27
|
* проекцию (`projectRecords`). Правило «выключенный Инструмент убирает и
|
|
27
|
-
* кнопку, и Схему» этим держится само: записи и
|
|
28
|
+
* кнопку, и Схему» этим держится само: записи и Extensions Инструмента,
|
|
28
29
|
* которого нет в списке, не попадают никуда.
|
|
29
30
|
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
31
|
+
* У КАЖДОГО ВСТРОЕННОГО — ОПИСАНИЕ: `BUILTIN_TOOLS` полон, и
|
|
32
|
+
* компилятор не даст добавить имя в `TOOLS` без описания. Место записи на
|
|
33
|
+
* поверхности держит порядок кита этой поверхности (`INSERT_ORDER`,
|
|
34
|
+
* `BLOCK_TYPE_ORDER`, `SHORTCUT_ORDER`, `ENGINE_ORDER`), а не описание. Виджеты
|
|
35
|
+
* Панели и Меню выделения, «…», подменю Ручки и поповеры картинки остаются
|
|
36
|
+
* компонентами кита и спрашивают набор по имени (`tools.has`).
|
|
36
37
|
*/
|
|
37
38
|
export interface ToolDescriptor {
|
|
38
39
|
/** Имя Инструмента — то же, что в `tools`; у своего — с Префиксом потребителя. */
|
|
39
40
|
name: Tool | PrefixedName;
|
|
40
41
|
/**
|
|
41
|
-
*
|
|
42
|
-
* старых реестрах. Остальные поля у заглушки пусты, кроме `blockActions`:
|
|
43
|
-
* Действия над Блоком переезжают отдельно от остального и
|
|
44
|
-
* читаются у всех описаний списка, переехавших и нет (`blockActionsOf`).
|
|
45
|
-
*/
|
|
46
|
-
legacy?: true;
|
|
47
|
-
/**
|
|
48
|
-
* Часть для движка: расширения Tiptap Инструмента — Node, Mark, Extension,
|
|
42
|
+
* Extensions: расширения Tiptap Инструмента — Node, Mark, Extension,
|
|
49
43
|
* плагины ProseMirror. Функция от контекста — привилегия кита: встроенным
|
|
50
44
|
* нужны мосты `RichTextEditor` (поповер ссылки, Меню вставки, `Alt+F10`).
|
|
51
45
|
* Второй аргумент — Опции этого Редактора (`options`), если они есть.
|
|
52
46
|
*/
|
|
53
47
|
engine?: (context: ToolEngineContext, options?: object) => Extensions;
|
|
54
48
|
/**
|
|
55
|
-
*
|
|
49
|
+
* Доля StarterKit: ключи `StarterKit.configure`, которые включают Блоки и
|
|
50
|
+
* Метки Инструмента (`bold: {}`, `heading: { levels }`). Привилегия кита.
|
|
51
|
+
* Доли всех описаний сливаются в ОДИН `StarterKit` (`extensions.ts`): так
|
|
52
|
+
* порядок Меток в сохранённом HTML и список пакетов движка остаются теми же,
|
|
53
|
+
* что при StarterKit целиком. Ключ, которого нет ни в одной доле, выключен.
|
|
54
|
+
*/
|
|
55
|
+
starterKit?: (context: ToolEngineContext) => Partial<StarterKitOptions>;
|
|
56
|
+
/**
|
|
57
|
+
* Загрузчик Extensions (`toolLoader.ts`): движок создаётся после
|
|
56
58
|
* загрузчиков всех описаний списка, и `engine` читает отданное `loaded`.
|
|
57
59
|
*/
|
|
58
60
|
load?: ToolLoader;
|
|
@@ -116,7 +118,7 @@ export interface ToolDescriptor {
|
|
|
116
118
|
/** Пункты виджета «¶» Панели: у него свои слова и иконки (`blockTypes.ts`). */
|
|
117
119
|
blockTypes?: readonly BlockTypeItem[];
|
|
118
120
|
/**
|
|
119
|
-
* Строки справочника сочетаний для клавиш, которые
|
|
121
|
+
* Строки справочника сочетаний для клавиш, которые вешают Extensions
|
|
120
122
|
* (`shortcuts.ts`): у записи сочетание — её поле, а у Метки из движка — нет.
|
|
121
123
|
*/
|
|
122
124
|
shortcuts?: readonly ShortcutCommand[];
|
|
@@ -163,8 +165,16 @@ export interface ToolBridge {
|
|
|
163
165
|
export type TriggerRecord = CustomTrigger & {
|
|
164
166
|
tool: string;
|
|
165
167
|
};
|
|
166
|
-
/**
|
|
167
|
-
|
|
168
|
+
/**
|
|
169
|
+
* Что Extensions встроенного Инструмента получают от `RichTextEditor`: мосты и —
|
|
170
|
+
* вместо всего набора — вопрос `has`. Связи между Инструментами (уровни
|
|
171
|
+
* заголовка при `heading1`, Обёртка в колонке Раскладки, очистка формата)
|
|
172
|
+
* спрашивают его, а не список описаний.
|
|
173
|
+
*/
|
|
174
|
+
export type ToolEngineContext = Omit<EditorExtensionOptions, "tools"> & {
|
|
175
|
+
/** Включён ли Инструмент кита в этом Редакторе. */
|
|
176
|
+
has: (tool: Tool) => boolean;
|
|
177
|
+
};
|
|
168
178
|
type EditorMessages = UiMessages["editor"];
|
|
169
179
|
/**
|
|
170
180
|
* Признаки Блока, которые понимает только кит. Все выключены по умолчанию:
|
|
@@ -244,7 +254,19 @@ export type ToolButton = ToolButtonFields & ({
|
|
|
244
254
|
* Кнопка встроенного Инструмента: публичная форма и привилегии кита, которых
|
|
245
255
|
* своей кнопке не дают.
|
|
246
256
|
*/
|
|
247
|
-
export type KitToolButton = ToolButton & {
|
|
257
|
+
export type KitToolButton = ToolButton & ({
|
|
258
|
+
/**
|
|
259
|
+
* Сочетание, которое вешает не кит, а Extensions (`undoRedo` у
|
|
260
|
+
* StarterKit, `Mod-B` у Метки): только подпись — подсказка,
|
|
261
|
+
* `aria-keyshortcuts` и строка справочника. Взаимоисключимо с
|
|
262
|
+
* `shortcut`: та и вешает клавишу, и подписывает её, и две привязки
|
|
263
|
+
* одной клавиши спорили бы.
|
|
264
|
+
*/
|
|
265
|
+
keys: readonly string[];
|
|
266
|
+
shortcut?: undefined;
|
|
267
|
+
} | {
|
|
268
|
+
keys?: undefined;
|
|
269
|
+
}) & {
|
|
248
270
|
/**
|
|
249
271
|
* Группа справочника сочетаний. Нет — строка встаёт в группу Инструмента без
|
|
250
272
|
* заголовка после групп кита, как у своего Инструмента.
|
|
@@ -307,9 +329,9 @@ export interface TextCardRecord {
|
|
|
307
329
|
* Развёрнутый набор Инструментов: список описаний и — как `Set` — имена
|
|
308
330
|
* включённых Инструментов кита.
|
|
309
331
|
*
|
|
310
|
-
* Набор имён — тоже проекция списка:
|
|
311
|
-
*
|
|
312
|
-
*
|
|
332
|
+
* Набор имён — тоже проекция списка: виджеты кита, которые спрашивают набор по
|
|
333
|
+
* имени (`tools.has("table")`), читают его без правок. Свои Инструменты есть
|
|
334
|
+
* только в списке описаний.
|
|
313
335
|
*/
|
|
314
336
|
export interface ToolList extends ReadonlySet<Tool> {
|
|
315
337
|
/**
|
|
@@ -319,8 +341,8 @@ export interface ToolList extends ReadonlySet<Tool> {
|
|
|
319
341
|
*/
|
|
320
342
|
readonly error?: string;
|
|
321
343
|
/**
|
|
322
|
-
* Описания включённых Инструментов: встроенные в порядке
|
|
323
|
-
*
|
|
344
|
+
* Описания включённых Инструментов: встроенные в порядке кита, за ними
|
|
345
|
+
* свои в порядке `tools`.
|
|
324
346
|
*/
|
|
325
347
|
readonly descriptors: readonly ToolDescriptor[];
|
|
326
348
|
}
|
|
@@ -334,8 +356,6 @@ export declare function toolList(names: Iterable<Tool>, descriptors: readonly To
|
|
|
334
356
|
* `tool()`. Инструмента нет в наборе или у него нет Опций — `undefined`.
|
|
335
357
|
*/
|
|
336
358
|
export declare function toolOptions<Name extends ConfigurableToolName>(tools: ToolList, name: Name): RichTextTools[Name]["options"] | undefined;
|
|
337
|
-
/** Описания переехавших Инструментов набора — в порядке списка. */
|
|
338
|
-
export declare function describedTools(tools: ToolList): readonly ToolDescriptor[];
|
|
339
359
|
/**
|
|
340
360
|
* Действия над Блоком набора — проекция списка описаний, в порядке кита. Фильтра
|
|
341
361
|
* по Блоку здесь нет: имя и предикат видимости спрашивает меню Ручки на
|
|
@@ -363,11 +383,10 @@ export declare function blockActionVisible(action: BlockAction, editor: Editor,
|
|
|
363
383
|
* - `order` — место встроенных Инструментов на поверхности, привилегия кита.
|
|
364
384
|
* Инструменты набора вне него идут следом, в порядке списка: так встаёт
|
|
365
385
|
* запись, у которой своего места на поверхности нет.
|
|
366
|
-
* - `legacy` — старый реестр: записи Инструмента, ещё не переехавшего на описание.
|
|
367
386
|
* - `own` — поле описания с записями этой поверхности.
|
|
368
387
|
*
|
|
369
388
|
* Фильтра по включённым Инструментам здесь нет: его держит сам список.
|
|
370
389
|
*/
|
|
371
|
-
export declare function projectRecords<R>(tools: ToolList, order: readonly Tool[],
|
|
390
|
+
export declare function projectRecords<R>(tools: ToolList, order: readonly Tool[], own: (descriptor: ToolDescriptor) => readonly R[] | undefined): R[];
|
|
372
391
|
export {};
|
|
373
392
|
//# sourceMappingURL=toolDescriptor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolDescriptor.d.ts","sourceRoot":"","sources":["../../../src/editor/core/toolDescriptor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,EACpB,UAAU,EACV,aAAa,EACb,YAAY,EACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,cAAc;IAC7B,kFAAkF;IAClF,IAAI,EAAE,IAAI,GAAG,YAAY,CAAC;IAC1B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"toolDescriptor.d.ts","sourceRoot":"","sources":["../../../src/editor/core/toolDescriptor.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,9 +8,6 @@ export function toolOptions(tools, name) {
|
|
|
8
8
|
const descriptor = tools.descriptors.find((candidate) => candidate.name === name);
|
|
9
9
|
return descriptor?.options;
|
|
10
10
|
}
|
|
11
|
-
export function describedTools(tools) {
|
|
12
|
-
return tools.descriptors.filter((descriptor) => !descriptor.legacy);
|
|
13
|
-
}
|
|
14
11
|
export function blockActionsOf(tools) {
|
|
15
12
|
return tools.descriptors.flatMap((descriptor) => descriptor.blockActions ?? []);
|
|
16
13
|
}
|
|
@@ -24,10 +21,10 @@ export function blockActionVisible(action, editor, pos, block) {
|
|
|
24
21
|
return ((action.blocks.includes(block.name) || action.blocks.includes(block.container)) &&
|
|
25
22
|
(action.isVisible?.(editor, pos) ?? true));
|
|
26
23
|
}
|
|
27
|
-
export function projectRecords(tools, order,
|
|
24
|
+
export function projectRecords(tools, order, own) {
|
|
28
25
|
const list = tools.descriptors;
|
|
29
26
|
const placed = order.flatMap((name) => list.filter((descriptor) => descriptor.name === name));
|
|
30
27
|
const rest = list.filter((descriptor) => !order.includes(descriptor.name));
|
|
31
|
-
return [...placed, ...rest].flatMap((descriptor) =>
|
|
28
|
+
return [...placed, ...rest].flatMap((descriptor) => own(descriptor) ?? []);
|
|
32
29
|
}
|
|
33
30
|
//# sourceMappingURL=toolDescriptor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolDescriptor.js","sourceRoot":"","sources":["../../../src/editor/core/toolDescriptor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"toolDescriptor.js","sourceRoot":"","sources":["../../../src/editor/core/toolDescriptor.ts"],"names":[],"mappings":"AA0OA,MAAM,UAAU,SAAS,CAAC,KAAgB,EAAE,OAAyB;IACnE,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC5D,CAAC;AAqJD,MAAM,UAAU,QAAQ,CACtB,KAAqB,EACrB,WAAsC,EACtC,KAAc;IAEd,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;AAC/F,CAAC;AAMD,MAAM,UAAU,WAAW,CACzB,KAAe,EACf,IAAU;IAEV,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAClF,OAAO,UAAU,EAAE,OAAqD,CAAC;AAC3E,CAAC;AAOD,MAAM,UAAU,cAAc,CAAC,KAAe;IAC5C,OAAO,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;AAClF,CAAC;AAMD,MAAM,UAAU,WAAW,CAAC,KAAe;IACzC,OAAO,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;AAC/E,CAAC;AAGD,MAAM,UAAU,UAAU,CAAC,KAAe;IACxC,OAAO,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;AAC9E,CAAC;AAMD,MAAM,UAAU,kBAAkB,CAChC,MAAmB,EACnB,MAAc,EACd,GAAW,EACX,KAA0C;IAE1C,OAAO,CACL,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC/E,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,CAC1C,CAAC;AACJ,CAAC;AAYD,MAAM,UAAU,cAAc,CAC5B,KAAe,EACf,KAAsB,EACtB,GAA6D;IAE7D,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC;IAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;IAC9F,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAE,KAA2B,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAClG,OAAO,CAAC,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;AAC7E,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** Загрузчик
|
|
1
|
+
/** Загрузчик Extensions: функция с динамическим импортом. */
|
|
2
2
|
export type ToolLoader = () => Promise<unknown>;
|
|
3
3
|
/** Ход загрузки: промис не отклоняется никогда, итог — в `done` или `failed`. */
|
|
4
4
|
export interface ToolLoad {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolLoader.d.ts","sourceRoot":"","sources":["../../../src/editor/core/toolLoader.ts"],"names":[],"mappings":"AAeA,
|
|
1
|
+
{"version":3,"file":"toolLoader.d.ts","sourceRoot":"","sources":["../../../src/editor/core/toolLoader.ts"],"names":[],"mappings":"AAeA,6DAA6D;AAC7D,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;AAEhD,iFAAiF;AACjF,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,MAAM,CAAC,EAAE,IAAI,CAAC;CACf;AAID,0EAA0E;AAC1E,wBAAgB,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,CAiBvE;AAED,4DAA4D;AAC5D,eAAO,MAAM,MAAM,GAAI,QAAQ,UAAU,KAAG,OAAmC,CAAC"}
|
|
@@ -47,10 +47,24 @@ export interface TocToolOptions {
|
|
|
47
47
|
*/
|
|
48
48
|
listWidth: number | string;
|
|
49
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* Опции Инструмента `details` (по расширению Details из Tiptap, ADR-0048).
|
|
52
|
+
*/
|
|
53
|
+
export interface DetailsToolOptions {
|
|
54
|
+
/**
|
|
55
|
+
* Пишется ли открытость Блока в Документ: открытый Блок сохраняется с
|
|
56
|
+
* `open` и открытым же отдаётся в `RichTextView`. По умолчанию `false`, как
|
|
57
|
+
* у Tiptap: раскрытый при правке Блок не публикуется раскрытым без спроса,
|
|
58
|
+
* открытость живёт только в показе (в Редакторе и в Просмотре читатель
|
|
59
|
+
* открывает Блок сам). Со `true` Блок, вставленный из Меню вставки, сразу
|
|
60
|
+
* открыт и пишет `open`, а `open` из `value` и вставки читается.
|
|
61
|
+
*/
|
|
62
|
+
persist: boolean;
|
|
63
|
+
}
|
|
50
64
|
/**
|
|
51
65
|
* Типы Инструментов Редактора по имени: что экран задаёт при настройке (`options`),
|
|
52
66
|
* что читает (`state`) и что вызывает (`commands`). Расширяемый интерфейс, как
|
|
53
|
-
* `Storage` и `Commands` у Tiptap: кит объявляет в нём `search` и `
|
|
67
|
+
* `Storage` и `Commands` у Tiptap: кит объявляет в нём `search`, `toc` и `details`, а
|
|
54
68
|
* потребитель дописывает свои Инструменты через declaration merging:
|
|
55
69
|
*
|
|
56
70
|
* ```ts
|
|
@@ -80,6 +94,9 @@ export interface RichTextTools {
|
|
|
80
94
|
state: TocToolState;
|
|
81
95
|
commands: TocToolCommands;
|
|
82
96
|
};
|
|
97
|
+
details: {
|
|
98
|
+
options: DetailsToolOptions;
|
|
99
|
+
};
|
|
83
100
|
}
|
|
84
101
|
/**
|
|
85
102
|
* Имена встроенных Инструментов, у которых есть опции: ключи карты, совпадающие
|
|
@@ -147,7 +164,7 @@ export declare function mergeOptions(base: object, given: object): object;
|
|
|
147
164
|
* опции (из JS без типов) заменяется умолчанием, в разработке — один
|
|
148
165
|
* `console.error`; опции своего Инструмента проверяет его автор.
|
|
149
166
|
*
|
|
150
|
-
* Встроенный — только Инструмент с опциями: `search` и `
|
|
167
|
+
* Встроенный — только Инструмент с опциями: `search`, `toc` и `details`. Серверно-безопасна.
|
|
151
168
|
*/
|
|
152
169
|
export declare function tool<Name extends ConfigurableToolName>(name: Name, options?: ToolOptionsInput<OptionsOf<Name>>): ConfiguredTool<Name>;
|
|
153
170
|
export declare function tool<Name extends PrefixedName, Options extends object>(definition: ToolDefinition<Name, Options, unknown, object>, options?: ToolOptionsInput<Options>): ConfiguredTool<Name>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolOptions.d.ts","sourceRoot":"","sources":["../../../src/editor/core/toolOptions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"toolOptions.d.ts","sourceRoot":"","sources":["../../../src/editor/core/toolOptions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolOptions.js","sourceRoot":"","sources":["../../../src/editor/core/toolOptions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"toolOptions.js","sourceRoot":"","sources":["../../../src/editor/core/toolOptions.ts"],"names":[],"mappings":"AAmKA,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,KAAa;IAEtD,MAAM,KAAK,GAAG,CAAC,KAAc,EAAmB,EAAE,CAC/C,KAA0C,EAAE,WAAW,KAAK,MAAM,CAAC;IACtE,MAAM,MAAM,GAA4B,EAAE,GAAG,IAAI,EAAE,CAAC;IACpD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC9F,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAuCD,MAAM,UAAU,IAAI,CAClB,KAAgC,EAChC,UAAmC,EAAE;IAErC,OAAO,OAAO,KAAK,KAAK,QAAQ;QAC9B,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE;QAC5C,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;AACzE,CAAC;AAGD,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACb,KAAkC,CAAC,UAAU,KAAK,IAAI,CACxD,CAAC;AACJ,CAAC"}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* новым именем для него не ломающее. Зато имя без реализации стало бы
|
|
14
14
|
* молчаливой ловушкой: `tools={["x"]}` компилировался бы и ничего не давал.
|
|
15
15
|
* Так пришли `link`, `color`, `highlight`, `align`, `table`, `image`, `emoji`,
|
|
16
|
-
* `layout`, `wrapper` и `source`; зарезервированных имён сейчас нет.
|
|
16
|
+
* `layout`, `wrapper`, `details` и `source`; зарезервированных имён сейчас нет.
|
|
17
17
|
*
|
|
18
18
|
* `heading1` — заголовок первого уровня, надстройка над `heading`:
|
|
19
19
|
* с ним уровни Блока — 1–4, без него — 2–4. Отдельным инструментом он стоит
|
|
@@ -42,6 +42,14 @@
|
|
|
42
42
|
* Выключенный инструмент разворачивает Обёртку из вставки и `value` в Блоки
|
|
43
43
|
* подряд. В `basic` её нет по той же причине, что и Раскладки.
|
|
44
44
|
*
|
|
45
|
+
* `details` — сворачиваемый Блок: заголовок (`summary`) и содержимое из Блоков
|
|
46
|
+
* (`details.ts`), API по расширению Details из Tiptap (ADR-0048: заказчика при
|
|
47
|
+
* выпуске не было). Кнопки Панели у него нет — Меню вставки и меню ручки.
|
|
48
|
+
* Выключенный инструмент разворачивает Блок из вставки и `value`: заголовок
|
|
49
|
+
* становится абзацем, содержимое идёт Блоками следом. Есть в `full`, в `basic`
|
|
50
|
+
* нет — по той же причине, что у Раскладки и Обёртки. Открытость в Документ
|
|
51
|
+
* пишет Опция `tool("details", { persist: true })`.
|
|
52
|
+
*
|
|
45
53
|
* `source` — HTML-режим: кнопка «HTML» фиксированной Панели меняет
|
|
46
54
|
* Документ на поле с его исходным HTML, а выход применяет правку через Схему,
|
|
47
55
|
* как входящий `value`. Своей Схемы у него нет, как у `clearFormatting`:
|
|
@@ -60,7 +68,7 @@
|
|
|
60
68
|
* описанию нужно и там, а кнопка у правого края ряд не удлиняет. Стартовые
|
|
61
69
|
* флажки панели задаёт запись `tool("search", { matchCase, wholeWord, regex })`.
|
|
62
70
|
*/
|
|
63
|
-
export declare const TOOLS: readonly ["history", "heading", "heading1", "bold", "italic", "underline", "strike", "code", "superscript", "subscript", "clearFormatting", "link", "color", "highlight", "align", "bulletList", "orderedList", "taskList", "blockquote", "codeBlock", "horizontalRule", "table", "image", "layout", "wrapper", "emoji", "source", "search", "insertMenu", "toc"];
|
|
71
|
+
export declare const TOOLS: readonly ["history", "heading", "heading1", "bold", "italic", "underline", "strike", "code", "superscript", "subscript", "clearFormatting", "link", "color", "highlight", "align", "bulletList", "orderedList", "taskList", "blockquote", "codeBlock", "horizontalRule", "table", "image", "layout", "wrapper", "details", "emoji", "source", "search", "insertMenu", "toc"];
|
|
64
72
|
/** Имя инструмента Редактора. Список и смысл каждого — на странице компонента. */
|
|
65
73
|
export type Tool = (typeof TOOLS)[number];
|
|
66
74
|
/** Готовый набор инструментов. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/editor/core/tools.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/editor/core/tools.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AACH,eAAO,MAAM,KAAK,8WAgCR,CAAC;AAEX,kFAAkF;AAClF,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1C,kCAAkC;AAClC,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,OAAO,CAAC;AAEpD;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,oBAAoB,EAAE,SAAS,IAAI,EAAE,CAejE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,oBAAoB,EAAE,SAAS,IAAI,EAAE,CAAC,CAIlF,CAAC;AAEL;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,SAAS,GACjC,WAAW,CAAC,IAAI,CAAC,CAGnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/editor/core/tools.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/editor/core/tools.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAwEb,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,SAAS;IACT,SAAS;IACT,UAAU;IACV,MAAM;IACN,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,MAAM;IACN,aAAa;IACb,WAAW;IACX,iBAAiB;IACjB,MAAM;IACN,OAAO;IACP,WAAW;IACX,OAAO;IACP,YAAY;IACZ,aAAa;IACb,UAAU;IACV,YAAY;IACZ,WAAW;IACX,gBAAgB;IAChB,OAAO;IACP,OAAO;IACP,QAAQ;IACR,SAAS;IACT,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,YAAY;IACZ,KAAK;CACG,CAAC;AAkBX,MAAM,CAAC,MAAM,OAAO,GAAkD;IAEpE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC;IAC5C,KAAK,EAAE;QACL,SAAS;QACT,MAAM;QACN,QAAQ;QACR,QAAQ;QACR,MAAM;QACN,MAAM;QACN,YAAY;QACZ,aAAa;QACb,YAAY;QACZ,QAAQ;KACT;CACF,CAAC;AASF,MAAM,CAAC,MAAM,iBAAiB,GAC5B,MAAM,CAAC,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;CACzC,CAAC,CAAC;AAWL,MAAM,UAAU,YAAY,CAC1B,MAA4B,EAC5B,KAAkC;IAElC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAS,KAAK,CAAC,CAAC;IACrC,OAAO,IAAI,GAAG,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC/F,CAAC"}
|
|
@@ -2,16 +2,14 @@ import type { ToolEntry } from "../core/customTool.js";
|
|
|
2
2
|
import { type ToolDescriptor, type ToolList } from "../core/toolDescriptor.js";
|
|
3
3
|
import { type RichTextEditorPreset, type Tool } from "../core/tools.js";
|
|
4
4
|
/**
|
|
5
|
-
* Описания встроенных
|
|
6
|
-
* (ADR-0058, п. 10; тип — `toolDescriptor.ts`).
|
|
5
|
+
* Описания встроенных Инструментов (ADR-0058, п. 10; тип — `toolDescriptor.ts`).
|
|
7
6
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* их не ждёт.
|
|
7
|
+
* Запись полная, по каждому имени `TOOLS`: встроенный Инструмент
|
|
8
|
+
* берётся только из описания, старых реестров по имени нет, и компилятор не
|
|
9
|
+
* пропустит новое имя без описания. Виджеты Панели и Меню выделения остаются
|
|
10
|
+
* компонентами кита и спрашивают набор по имени.
|
|
13
11
|
*/
|
|
14
|
-
export declare const BUILTIN_TOOLS:
|
|
12
|
+
export declare const BUILTIN_TOOLS: Record<Tool, ToolDescriptor>;
|
|
15
13
|
/**
|
|
16
14
|
* Развернуть `tools` (или `preset`) в один список описаний.
|
|
17
15
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../../src/editor/features/builtins.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../../src/editor/features/builtins.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAY,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAKzF,OAAO,EAAuB,KAAK,oBAAoB,EAAE,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAyB7F;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,IAAI,EAAE,cAAc,CAsFtD,CAAC;AAgCF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,GACtC,QAAQ,CAkCV"}
|
|
@@ -1,11 +1,21 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import Blockquote from "@tiptap/extension-blockquote";
|
|
3
3
|
import HorizontalRule from "@tiptap/extension-horizontal-rule";
|
|
4
|
-
import { DividerIcon, QuoteIcon
|
|
4
|
+
import { DividerIcon, QuoteIcon } from "../../icons.js";
|
|
5
5
|
import { turnIntoTypes } from "../core/blockTypes.js";
|
|
6
|
+
import { INSERT_MENU_TOOL } from "../core/insertMenuTool.js";
|
|
7
|
+
import { SHORTCUT_KEYS } from "../core/shortcuts.js";
|
|
8
|
+
import { ALIGN_TOOL, COLOR_TOOL, HIGHLIGHT_TOOL } from "./color/colorTools.js";
|
|
6
9
|
import { CODE_BLOCK_TOOL } from "./code/codeBlockTool.js";
|
|
10
|
+
import { DETAILS_TOOL } from "./details/detailsTool.js";
|
|
7
11
|
import { EMOJI_TOOL } from "./emoji/emojiTool.js";
|
|
12
|
+
import { HEADING1_TOOL, HEADING_TOOL } from "./heading/headingTool.js";
|
|
13
|
+
import { HISTORY_TOOL } from "./history/historyTool.js";
|
|
14
|
+
import { IMAGE_TOOL } from "./image/imageTool.js";
|
|
15
|
+
import { LAYOUT_TOOL } from "./layout/layoutTool.js";
|
|
8
16
|
import { LINK_TOOL } from "./link/linkTool.js";
|
|
17
|
+
import { BULLET_LIST_TOOL, ORDERED_LIST_TOOL, TASK_LIST_TOOL } from "./lists/listTools.js";
|
|
18
|
+
import { BOLD_TOOL, CODE_TOOL, ITALIC_TOOL, STRIKE_TOOL, SUBSCRIPT_TOOL, SUPERSCRIPT_TOOL, UNDERLINE_TOOL, } from "./marks/markTools.js";
|
|
9
19
|
import { devError } from "../../lib/dev-warn.js";
|
|
10
20
|
import { describeCustomTool, describeDefinition } from "../core/customToolEngine.js";
|
|
11
21
|
import { toolList } from "../core/toolDescriptor.js";
|
|
@@ -14,12 +24,12 @@ import { SEARCH_TOOL } from "./search/searchTool.js";
|
|
|
14
24
|
import { TABLE_TOOL } from "./table/tableTool.js";
|
|
15
25
|
import { TOC_TOOL } from "./toc/tocTool.js";
|
|
16
26
|
import { resolveTools, TOOLS } from "../core/tools.js";
|
|
17
|
-
import {
|
|
27
|
+
import { WRAPPER_TOOL } from "./wrapper/wrapperTool.js";
|
|
18
28
|
const BLOCKQUOTE_SHORTCUT = {
|
|
19
29
|
id: "blockquote",
|
|
20
30
|
group: "blockType",
|
|
21
31
|
tool: "blockquote",
|
|
22
|
-
keys:
|
|
32
|
+
keys: SHORTCUT_KEYS.blockquote,
|
|
23
33
|
label: (m) => m.blockquote,
|
|
24
34
|
};
|
|
25
35
|
const BLOCKQUOTE_ITEMS = [
|
|
@@ -37,23 +47,12 @@ const BLOCKQUOTE_ITEMS = [
|
|
|
37
47
|
export const BUILTIN_TOOLS = {
|
|
38
48
|
search: SEARCH_TOOL,
|
|
39
49
|
toc: TOC_TOOL,
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
label: (messages) => messages.unwrap,
|
|
47
|
-
icon: UnwrapIcon,
|
|
48
|
-
blocks: [WRAPPER_NODE],
|
|
49
|
-
run: (editor, pos) => void editor
|
|
50
|
-
.chain()
|
|
51
|
-
.focus()
|
|
52
|
-
.command(({ tr }) => unwrapWrapperAt(tr, pos))
|
|
53
|
-
.run(),
|
|
54
|
-
},
|
|
55
|
-
],
|
|
56
|
-
},
|
|
50
|
+
layout: LAYOUT_TOOL,
|
|
51
|
+
color: COLOR_TOOL,
|
|
52
|
+
highlight: HIGHLIGHT_TOOL,
|
|
53
|
+
align: ALIGN_TOOL,
|
|
54
|
+
wrapper: WRAPPER_TOOL,
|
|
55
|
+
details: DETAILS_TOOL,
|
|
57
56
|
horizontalRule: {
|
|
58
57
|
name: "horizontalRule",
|
|
59
58
|
engine: () => [HorizontalRule],
|
|
@@ -76,8 +75,36 @@ export const BUILTIN_TOOLS = {
|
|
|
76
75
|
blockTypes: turnIntoTypes("blockquote", BLOCKQUOTE_ITEMS),
|
|
77
76
|
shortcuts: [BLOCKQUOTE_SHORTCUT],
|
|
78
77
|
},
|
|
78
|
+
history: HISTORY_TOOL,
|
|
79
|
+
bold: BOLD_TOOL,
|
|
80
|
+
italic: ITALIC_TOOL,
|
|
81
|
+
underline: UNDERLINE_TOOL,
|
|
82
|
+
strike: STRIKE_TOOL,
|
|
83
|
+
code: CODE_TOOL,
|
|
84
|
+
superscript: SUPERSCRIPT_TOOL,
|
|
85
|
+
subscript: SUBSCRIPT_TOOL,
|
|
86
|
+
heading: HEADING_TOOL,
|
|
87
|
+
heading1: HEADING1_TOOL,
|
|
79
88
|
link: LINK_TOOL,
|
|
89
|
+
bulletList: BULLET_LIST_TOOL,
|
|
90
|
+
orderedList: ORDERED_LIST_TOOL,
|
|
91
|
+
taskList: TASK_LIST_TOOL,
|
|
92
|
+
image: IMAGE_TOOL,
|
|
80
93
|
emoji: EMOJI_TOOL,
|
|
94
|
+
insertMenu: INSERT_MENU_TOOL,
|
|
95
|
+
clearFormatting: {
|
|
96
|
+
name: "clearFormatting",
|
|
97
|
+
shortcuts: [
|
|
98
|
+
{
|
|
99
|
+
id: "clearFormatting",
|
|
100
|
+
group: "clear",
|
|
101
|
+
tool: "clearFormatting",
|
|
102
|
+
keys: SHORTCUT_KEYS.clearFormatting,
|
|
103
|
+
label: (m) => m.clearFormatting,
|
|
104
|
+
},
|
|
105
|
+
],
|
|
106
|
+
},
|
|
107
|
+
source: { name: "source" },
|
|
81
108
|
codeBlock: CODE_BLOCK_TOOL,
|
|
82
109
|
table: TABLE_TOOL,
|
|
83
110
|
};
|
|
@@ -103,7 +130,7 @@ export function expandTools(preset, tools) {
|
|
|
103
130
|
...tools.filter((entry) => typeof entry === "string"),
|
|
104
131
|
...configured.map((entry) => entry.name),
|
|
105
132
|
]);
|
|
106
|
-
const builtin = TOOLS.filter((name) => names.has(name)).map((name) => resolveOptions(BUILTIN_TOOLS[name]
|
|
133
|
+
const builtin = TOOLS.filter((name) => names.has(name)).map((name) => resolveOptions(BUILTIN_TOOLS[name], configured.find((entry) => entry.name === name)));
|
|
107
134
|
const custom = (tools ?? []).flatMap((entry) => {
|
|
108
135
|
if (typeof entry !== "object" || entry === null)
|
|
109
136
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtins.js","sourceRoot":"","sources":["../../../src/editor/features/builtins.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,UAAU,MAAM,8BAA8B,CAAC;AACtD,OAAO,cAAc,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"builtins.js","sourceRoot":"","sources":["../../../src/editor/features/builtins.ts"],"names":[],"mappings":"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"}
|