@olddevs/ui 4.4.0 → 4.5.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.
Files changed (159) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/editor/RichTextEditor.d.ts +11 -4
  3. package/dist/editor/RichTextEditor.d.ts.map +1 -1
  4. package/dist/editor/RichTextEditor.js +90 -60
  5. package/dist/editor/RichTextEditor.js.map +1 -1
  6. package/dist/editor/RichTextView.d.ts +2 -1
  7. package/dist/editor/RichTextView.d.ts.map +1 -1
  8. package/dist/editor/RichTextView.js.map +1 -1
  9. package/dist/editor/core/containers.d.ts +2 -6
  10. package/dist/editor/core/containers.d.ts.map +1 -1
  11. package/dist/editor/core/containers.js +2 -1
  12. package/dist/editor/core/containers.js.map +1 -1
  13. package/dist/editor/core/customTool.d.ts +8 -2
  14. package/dist/editor/core/customTool.d.ts.map +1 -1
  15. package/dist/editor/core/customTool.js.map +1 -1
  16. package/dist/editor/core/customToolEngine.d.ts +9 -1
  17. package/dist/editor/core/customToolEngine.d.ts.map +1 -1
  18. package/dist/editor/core/customToolEngine.js +12 -0
  19. package/dist/editor/core/customToolEngine.js.map +1 -1
  20. package/dist/editor/core/extensions.d.ts.map +1 -1
  21. package/dist/editor/core/extensions.js +1 -1
  22. package/dist/editor/core/extensions.js.map +1 -1
  23. package/dist/editor/core/handle.d.ts +18 -1
  24. package/dist/editor/core/handle.d.ts.map +1 -1
  25. package/dist/editor/core/handle.js +2 -1
  26. package/dist/editor/core/handle.js.map +1 -1
  27. package/dist/editor/core/handleWatchers.d.ts +30 -0
  28. package/dist/editor/core/handleWatchers.d.ts.map +1 -1
  29. package/dist/editor/core/handleWatchers.js +15 -0
  30. package/dist/editor/core/handleWatchers.js.map +1 -1
  31. package/dist/editor/core/nodeNames.d.ts +7 -0
  32. package/dist/editor/core/nodeNames.d.ts.map +1 -0
  33. package/dist/editor/core/nodeNames.js +2 -0
  34. package/dist/editor/core/nodeNames.js.map +1 -0
  35. package/dist/editor/core/schema.d.ts.map +1 -1
  36. package/dist/editor/core/schema.js +4 -2
  37. package/dist/editor/core/schema.js.map +1 -1
  38. package/dist/editor/core/toolCommands.d.ts +78 -0
  39. package/dist/editor/core/toolCommands.d.ts.map +1 -0
  40. package/dist/editor/core/toolCommands.js +2 -0
  41. package/dist/editor/core/toolCommands.js.map +1 -0
  42. package/dist/editor/core/toolDefinition.d.ts +139 -0
  43. package/dist/editor/core/toolDefinition.d.ts.map +1 -0
  44. package/dist/editor/core/toolDefinition.js +28 -0
  45. package/dist/editor/core/toolDefinition.js.map +1 -0
  46. package/dist/editor/core/toolDescriptor.d.ts +71 -2
  47. package/dist/editor/core/toolDescriptor.d.ts.map +1 -1
  48. package/dist/editor/core/toolDescriptor.js +6 -2
  49. package/dist/editor/core/toolDescriptor.js.map +1 -1
  50. package/dist/editor/core/toolOptions.d.ts +157 -0
  51. package/dist/editor/core/toolOptions.d.ts.map +1 -0
  52. package/dist/editor/core/toolOptions.js +21 -0
  53. package/dist/editor/core/toolOptions.js.map +1 -0
  54. package/dist/editor/core/toolState.d.ts +46 -0
  55. package/dist/editor/core/toolState.d.ts.map +1 -0
  56. package/dist/editor/core/toolState.js +2 -0
  57. package/dist/editor/core/toolState.js.map +1 -0
  58. package/dist/editor/core/tools.d.ts +3 -1
  59. package/dist/editor/core/tools.d.ts.map +1 -1
  60. package/dist/editor/core/tools.js.map +1 -1
  61. package/dist/editor/core/viewIsland.d.ts.map +1 -1
  62. package/dist/editor/core/viewIsland.js +2 -1
  63. package/dist/editor/core/viewIsland.js.map +1 -1
  64. package/dist/editor/features/builtins.d.ts +9 -4
  65. package/dist/editor/features/builtins.d.ts.map +1 -1
  66. package/dist/editor/features/builtins.js +36 -7
  67. package/dist/editor/features/builtins.js.map +1 -1
  68. package/dist/editor/features/search/SearchPanel.d.ts.map +1 -1
  69. package/dist/editor/features/search/SearchPanel.js +26 -12
  70. package/dist/editor/features/search/SearchPanel.js.map +1 -1
  71. package/dist/editor/features/search/revealMatch.d.ts +16 -0
  72. package/dist/editor/features/search/revealMatch.d.ts.map +1 -1
  73. package/dist/editor/features/search/revealMatch.js +22 -0
  74. package/dist/editor/features/search/revealMatch.js.map +1 -1
  75. package/dist/editor/features/search/searchPlugin.d.ts +8 -3
  76. package/dist/editor/features/search/searchPlugin.d.ts.map +1 -1
  77. package/dist/editor/features/search/searchPlugin.js +17 -6
  78. package/dist/editor/features/search/searchPlugin.js.map +1 -1
  79. package/dist/editor/features/search/searchSnapshot.d.ts +14 -0
  80. package/dist/editor/features/search/searchSnapshot.d.ts.map +1 -0
  81. package/dist/editor/features/search/searchSnapshot.js +17 -0
  82. package/dist/editor/features/search/searchSnapshot.js.map +1 -0
  83. package/dist/editor/features/search/searchTool.d.ts +3 -0
  84. package/dist/editor/features/search/searchTool.d.ts.map +1 -1
  85. package/dist/editor/features/search/searchTool.js +30 -1
  86. package/dist/editor/features/search/searchTool.js.map +1 -1
  87. package/dist/editor/features/toc/RichTextToc.d.ts +29 -1
  88. package/dist/editor/features/toc/RichTextToc.d.ts.map +1 -1
  89. package/dist/editor/features/toc/RichTextToc.js +55 -10
  90. package/dist/editor/features/toc/RichTextToc.js.map +1 -1
  91. package/dist/editor/features/toc/documentHeadings.d.ts +30 -0
  92. package/dist/editor/features/toc/documentHeadings.d.ts.map +1 -0
  93. package/dist/editor/features/toc/documentHeadings.js +20 -0
  94. package/dist/editor/features/toc/documentHeadings.js.map +1 -0
  95. package/dist/editor/features/toc/headings.d.ts +6 -2
  96. package/dist/editor/features/toc/headings.d.ts.map +1 -1
  97. package/dist/editor/features/toc/headings.js +4 -2
  98. package/dist/editor/features/toc/headings.js.map +1 -1
  99. package/dist/editor/features/toc/tocSnapshot.d.ts +10 -0
  100. package/dist/editor/features/toc/tocSnapshot.d.ts.map +1 -0
  101. package/dist/editor/features/toc/tocSnapshot.js +8 -0
  102. package/dist/editor/features/toc/tocSnapshot.js.map +1 -0
  103. package/dist/editor/features/toc/tocTool.d.ts +6 -0
  104. package/dist/editor/features/toc/tocTool.d.ts.map +1 -0
  105. package/dist/editor/features/toc/tocTool.js +21 -0
  106. package/dist/editor/features/toc/tocTool.js.map +1 -0
  107. package/dist/editor/hooks/useRichTextToolState.d.ts +43 -0
  108. package/dist/editor/hooks/useRichTextToolState.d.ts.map +1 -0
  109. package/dist/editor/hooks/useRichTextToolState.js +77 -0
  110. package/dist/editor/hooks/useRichTextToolState.js.map +1 -0
  111. package/dist/editor/index.d.ts +8 -0
  112. package/dist/editor/index.d.ts.map +1 -1
  113. package/dist/editor/index.js +3 -0
  114. package/dist/editor/index.js.map +1 -1
  115. package/docs/api/editor-extension.en.md +223 -23
  116. package/docs/api/editor-extension.md +224 -22
  117. package/docs/api/migration-notes.en.md +36 -1
  118. package/docs/api/migration-notes.md +35 -0
  119. package/docs/components/content/rich-text-toc.en.md +13 -11
  120. package/docs/components/content/rich-text-toc.md +12 -10
  121. package/docs/components/index.en.md +2 -2
  122. package/docs/components/index.md +1 -1
  123. package/docs/components/inputs/rich-text-editor.en.md +227 -11
  124. package/docs/components/inputs/rich-text-editor.md +228 -10
  125. package/docs/getting-started.en.md +7 -7
  126. package/docs/getting-started.md +6 -6
  127. package/docs/glossary.en.md +52 -48
  128. package/docs/glossary.md +51 -47
  129. package/package.json +1 -1
  130. package/src/editor/RichTextEditor.tsx +94 -39
  131. package/src/editor/RichTextView.tsx +2 -1
  132. package/src/editor/core/containers.ts +8 -6
  133. package/src/editor/core/customTool.ts +8 -2
  134. package/src/editor/core/customToolEngine.ts +20 -1
  135. package/src/editor/core/extensions.ts +2 -1
  136. package/src/editor/core/handle.ts +25 -1
  137. package/src/editor/core/handleWatchers.ts +45 -0
  138. package/src/editor/core/nodeNames.ts +7 -0
  139. package/src/editor/core/schema.ts +5 -2
  140. package/src/editor/core/toolCommands.ts +85 -0
  141. package/src/editor/core/toolDefinition.ts +208 -0
  142. package/src/editor/core/toolDescriptor.ts +94 -3
  143. package/src/editor/core/toolOptions.ts +211 -0
  144. package/src/editor/core/toolState.ts +56 -0
  145. package/src/editor/core/tools.ts +3 -1
  146. package/src/editor/core/viewIsland.ts +5 -4
  147. package/src/editor/features/builtins.ts +72 -13
  148. package/src/editor/features/search/SearchPanel.tsx +38 -14
  149. package/src/editor/features/search/revealMatch.ts +45 -0
  150. package/src/editor/features/search/searchPlugin.ts +40 -11
  151. package/src/editor/features/search/searchSnapshot.ts +29 -0
  152. package/src/editor/features/search/searchTool.ts +51 -1
  153. package/src/editor/features/toc/RichTextToc.tsx +108 -10
  154. package/src/editor/features/toc/documentHeadings.ts +59 -0
  155. package/src/editor/features/toc/headings.ts +10 -3
  156. package/src/editor/features/toc/tocSnapshot.ts +24 -0
  157. package/src/editor/features/toc/tocTool.ts +41 -0
  158. package/src/editor/hooks/useRichTextToolState.ts +153 -0
  159. package/src/editor/index.ts +19 -0
@@ -0,0 +1,21 @@
1
+ export function mergeOptions(base, given) {
2
+ const plain = (value) => value?.constructor === Object;
3
+ const result = { ...base };
4
+ for (const [key, value] of Object.entries(given)) {
5
+ if (value !== undefined) {
6
+ result[key] = plain(value) && plain(result[key]) ? mergeOptions(result[key], value) : value;
7
+ }
8
+ }
9
+ return result;
10
+ }
11
+ export function tool(entry, options = {}) {
12
+ return typeof entry === "string"
13
+ ? { configured: true, name: entry, options }
14
+ : { configured: true, name: entry.name, options, definition: entry };
15
+ }
16
+ export function isConfiguredTool(entry) {
17
+ return (typeof entry === "object" &&
18
+ entry !== null &&
19
+ entry.configured === true);
20
+ }
21
+ //# sourceMappingURL=toolOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolOptions.js","sourceRoot":"","sources":["../../../src/editor/core/toolOptions.ts"],"names":[],"mappings":"AAgJA,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"}
@@ -0,0 +1,46 @@
1
+ import type { SearchToolOptions, TocLevel } from "./toolOptions.js";
2
+ /** Состояние Инструмента `search` (ADR-0058). */
3
+ export interface SearchToolState {
4
+ /** Панель Поиска открыта. */
5
+ open: boolean;
6
+ /**
7
+ * Запрос. Закрытие панели убирает запрос и подсветку; без панели запрос ставит
8
+ * Команда `setQuery`.
9
+ */
10
+ query: string;
11
+ /**
12
+ * Флажки поиска. Закрытие панели возвращает их к стартовым из Опций
13
+ * Инструмента, с которыми панель и откроется.
14
+ */
15
+ flags: Readonly<SearchToolOptions>;
16
+ /** Сколько совпадений запроса в Документе. */
17
+ total: number;
18
+ /** Индекс текущего совпадения, от 0; `-1` — совпадений нет. */
19
+ current: number;
20
+ /**
21
+ * Текст ошибки, если запрос — неверное регулярное выражение (сообщение движка
22
+ * JavaScript, не локализованное); иначе `null`. Совпадений при ошибке нет.
23
+ */
24
+ error: string | null;
25
+ }
26
+ /** Заголовок в Состоянии Инструмента `toc`: пункт списка Оглавления. */
27
+ export interface TocToolHeading {
28
+ /** Уровень по тегу: 1 для `h1` … 4 для `h4`. */
29
+ level: TocLevel;
30
+ /** Текст пункта — текст заголовка без разметки, без крайних пробелов. */
31
+ text: string;
32
+ /** Номер пункта в списке Оглавления, от 0; по нему текущий раздел находит свой заголовок. */
33
+ index: number;
34
+ }
35
+ /** Состояние Инструмента `toc` (ADR-0068). */
36
+ export interface TocToolState {
37
+ /**
38
+ * Заголовки Документа в порядке чтения — те же, что в полосе и списке Оглавления:
39
+ * верхний уровень и Обёртки, только уровни из Опции `levels`, без пустых.
40
+ * Список отдаётся и при одном заголовке, хотя полосы тогда нет.
41
+ */
42
+ headings: readonly TocToolHeading[];
43
+ /** Индекс текущего раздела в `headings`, от 0; `-1` — заголовков нет. Следует за прокруткой. */
44
+ current: number;
45
+ }
46
+ //# sourceMappingURL=toolState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolState.d.ts","sourceRoot":"","sources":["../../../src/editor/core/toolState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAUpE,iDAAiD;AACjD,MAAM,WAAW,eAAe;IAC9B,6BAA6B;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,KAAK,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACnC,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,wEAAwE;AACxE,MAAM,WAAW,cAAc;IAC7B,gDAAgD;IAChD,KAAK,EAAE,QAAQ,CAAC;IAChB,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;IACb,6FAA6F;IAC7F,KAAK,EAAE,MAAM,CAAC;CACf;AAED,8CAA8C;AAC9C,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;IACpC,gGAAgG;IAChG,OAAO,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=toolState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolState.js","sourceRoot":"","sources":["../../../src/editor/core/toolState.ts"],"names":[],"mappings":""}
@@ -50,13 +50,15 @@
50
50
  *
51
51
  * `toc` — Оглавление в левом поле рамки (ADR-0068): полоса и список
52
52
  * `RichTextToc`, липкие под Панелью или в прокручиваемом поле. Своей Схемы нет.
53
+ * Настраивается записью `tool("toc", { offsetVar, levels, listWidth })`.
53
54
  * В пресеты не входит — ни в `full`, ни в `basic`: оно меняет раскладку поля,
54
55
  * и обновление кита не должно сдвигать текст там, где его не просили.
55
56
  *
56
57
  * `search` — поиск и замена по Документу: кнопка «Поиск»
57
58
  * фиксированной Панели и `Mod+F` в поле открывают панель в углу поля. Своей
58
59
  * Схемы нет, как у `clearFormatting`. Есть и в `basic`: искать по длинному
59
- * описанию нужно и там, а кнопка у правого края ряд не удлиняет.
60
+ * описанию нужно и там, а кнопка у правого края ряд не удлиняет. Стартовые
61
+ * флажки панели задаёт запись `tool("search", { matchCase, wholeWord, regex })`.
60
62
  */
61
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"];
62
64
  /** Имя инструмента Редактора. Список и смысл каждого — на странице компонента. */
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/editor/core/tools.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH,eAAO,MAAM,KAAK,mWA+BR,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
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/editor/core/tools.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,eAAO,MAAM,KAAK,mWA+BR,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;AA8Db,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,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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/editor/core/tools.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAgEb,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,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"viewIsland.d.ts","sourceRoot":"","sources":["../../../src/editor/core/viewIsland.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAc,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAYhF,+EAA+E;AAC/E,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IACzC,2FAA2F;IAC3F,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;CAC3D;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,CAO9F"}
1
+ {"version":3,"file":"viewIsland.d.ts","sourceRoot":"","sources":["../../../src/editor/core/viewIsland.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAapE,+EAA+E;AAC/E,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IACzC,2FAA2F;IAC3F,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;CAC3D;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,CAO9F"}
@@ -1,4 +1,5 @@
1
+ import { customToolOf } from "./toolDefinition.js";
1
2
  export function islandsFor(tools, html) {
2
- return (tools ?? []).flatMap((tool) => Object.entries(tool.blocks ?? {}).flatMap(([block, { island, attributes }]) => island && html.includes(`data-block="${block}"`) ? [{ block, island, attributes }] : []));
3
+ return (tools ?? []).flatMap((entry) => Object.entries(customToolOf(entry)?.blocks ?? {}).flatMap(([block, { island, attributes }]) => island && html.includes(`data-block="${block}"`) ? [{ block, island, attributes }] : []));
3
4
  }
4
5
  //# sourceMappingURL=viewIsland.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"viewIsland.js","sourceRoot":"","sources":["../../../src/editor/core/viewIsland.ts"],"names":[],"mappings":"AA2BA,MAAM,UAAU,UAAU,CAAC,KAAuC,EAAE,IAAY;IAE9E,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACpC,MAAM,CAAC,OAAO,CAAE,IAAmB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,CAC5F,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CACxF,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"viewIsland.js","sourceRoot":"","sources":["../../../src/editor/core/viewIsland.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AA0BnD,MAAM,UAAU,UAAU,CAAC,KAAuC,EAAE,IAAY;IAE9E,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACrC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,CAC5F,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CACxF,CACF,CAAC;AACJ,CAAC"}
@@ -16,10 +16,15 @@ export declare const BUILTIN_TOOLS: Partial<Record<Tool, ToolDescriptor>>;
16
16
  * Развернуть `tools` (или `preset`) в один список описаний.
17
17
  *
18
18
  * Имена — те же, что у `resolveTools`: точный `tools` или пресет, неизвестная
19
- * строка отбрасывается молча. Порядок встроенных — порядок кита (`TOOLS`), а
20
- * не `tools`: место встроенного на поверхности решает кит. Свои Инструменты
21
- * (описания в `tools`) идут следом, в порядке `tools` (ADR-0058, п. 5.3);
22
- * набор имён (`Set`) — только имена кита.
19
+ * строка отбрасывается молча. Запись `tool()` включает Инструмент так же, как
20
+ * его имя, а если в `tools` есть и имя (из пресета), и запись, побеждает
21
+ * Настроенный Инструмент; две записи с одним именем — ошибка набора
22
+ * (`ToolList.error`). Порядок встроенных — порядок кита (`TOOLS`), а не
23
+ * `tools`: место встроенного на поверхности решает кит, и Настроенный стоит
24
+ * там же, где голое имя. Свои Инструменты (описания в `tools`) идут следом, в
25
+ * порядке `tools` (ADR-0058, п. 5.3); набор имён (`Set`) — только имена кита.
26
+ *
27
+ * Опции Инструментов читаются здесь, один раз, вместе с набором.
23
28
  */
24
29
  export declare function expandTools(preset: RichTextEditorPreset, tools: readonly ToolEntry[] | undefined): ToolList;
25
30
  //# sourceMappingURL=builtins.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../../src/editor/features/builtins.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAY,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAGzF,OAAO,EAAuB,KAAK,oBAAoB,EAAE,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAyB7F;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAgE/D,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,GACtC,QAAQ,CAeV"}
1
+ {"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../../src/editor/features/builtins.ts"],"names":[],"mappings":"AAYA,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;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAkE/D,CAAC;AAgCF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,GACtC,QAAQ,CAkCV"}
@@ -6,10 +6,13 @@ import { turnIntoTypes } from "../core/blockTypes.js";
6
6
  import { CODE_BLOCK_TOOL } from "./code/codeBlockTool.js";
7
7
  import { EMOJI_TOOL } from "./emoji/emojiTool.js";
8
8
  import { LINK_TOOL } from "./link/linkTool.js";
9
- import { describeCustomTool } from "../core/customToolEngine.js";
9
+ import { devError } from "../../lib/dev-warn.js";
10
+ import { describeCustomTool, describeDefinition } from "../core/customToolEngine.js";
10
11
  import { toolList } from "../core/toolDescriptor.js";
12
+ import { isConfiguredTool, mergeOptions } from "../core/toolOptions.js";
11
13
  import { SEARCH_TOOL } from "./search/searchTool.js";
12
14
  import { TABLE_TOOL } from "./table/tableTool.js";
15
+ import { TOC_TOOL } from "./toc/tocTool.js";
13
16
  import { resolveTools, TOOLS } from "../core/tools.js";
14
17
  import { unwrapWrapperAt, WRAPPER_NODE } from "./wrapper/wrapper.js";
15
18
  const BLOCKQUOTE_SHORTCUT = {
@@ -33,6 +36,7 @@ const BLOCKQUOTE_ITEMS = [
33
36
  ];
34
37
  export const BUILTIN_TOOLS = {
35
38
  search: SEARCH_TOOL,
39
+ toc: TOC_TOOL,
36
40
  wrapper: {
37
41
  name: "wrapper",
38
42
  legacy: true,
@@ -77,12 +81,37 @@ export const BUILTIN_TOOLS = {
77
81
  codeBlock: CODE_BLOCK_TOOL,
78
82
  table: TABLE_TOOL,
79
83
  };
84
+ function resolveOptions(descriptor, configured) {
85
+ const { defaults, checks } = descriptor;
86
+ const given = Object.entries(configured?.options ?? {}).filter(([, value]) => value !== undefined);
87
+ const valid = given.filter(([key, value]) => checks?.[key]?.(value));
88
+ if (valid.length < given.length) {
89
+ devError(`RichTextEditor: tool "${descriptor.name}": ignored invalid options: ` +
90
+ given
91
+ .filter((entry) => !valid.includes(entry))
92
+ .map(([key]) => key)
93
+ .join(", "));
94
+ }
95
+ return defaults
96
+ ? { ...descriptor, options: mergeOptions(defaults, Object.fromEntries(valid)) }
97
+ : descriptor;
98
+ }
80
99
  export function expandTools(preset, tools) {
81
- const names = resolveTools(preset, tools?.filter((tool) => typeof tool === "string"));
82
- const builtin = TOOLS.filter((name) => names.has(name)).map((name) => BUILTIN_TOOLS[name] ?? { name, legacy: true });
83
- const custom = (tools ?? [])
84
- .filter((tool) => typeof tool === "object" && tool !== null)
85
- .map(describeCustomTool);
86
- return toolList(builtin.map((descriptor) => descriptor.name), [...builtin, ...custom]);
100
+ const configured = (tools ?? []).filter((entry) => isConfiguredTool(entry) && !entry.definition);
101
+ const twice = configured.find((entry, index) => configured.some((e, i) => i < index && e.name === entry.name));
102
+ const names = resolveTools(preset, tools && [
103
+ ...tools.filter((entry) => typeof entry === "string"),
104
+ ...configured.map((entry) => entry.name),
105
+ ]);
106
+ const builtin = TOOLS.filter((name) => names.has(name)).map((name) => resolveOptions(BUILTIN_TOOLS[name] ?? { name, legacy: true }, configured.find((entry) => entry.name === name)));
107
+ const custom = (tools ?? []).flatMap((entry) => {
108
+ if (typeof entry !== "object" || entry === null)
109
+ return [];
110
+ if (isConfiguredTool(entry)) {
111
+ return entry.definition ? describeDefinition(entry.definition, entry.options) : [];
112
+ }
113
+ return "defined" in entry ? describeDefinition(entry) : describeCustomTool(entry);
114
+ });
115
+ return toolList(builtin.map((descriptor) => descriptor.name), [...builtin, ...custom], twice && `tool "${twice.name}": two tool() entries share this name`);
87
116
  }
88
117
  //# sourceMappingURL=builtins.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"builtins.js","sourceRoot":"","sources":["../../../src/editor/features/builtins.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builtins.js","sourceRoot":"","sources":["../../../src/editor/features/builtins.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SearchPanel.d.ts","sourceRoot":"","sources":["../../../../src/editor/features/search/SearchPanel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAe3C,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,gBAAgB,+BA2NlF"}
1
+ {"version":3,"file":"SearchPanel.d.ts","sourceRoot":"","sources":["../../../../src/editor/features/search/SearchPanel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAkB3C,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,gBAAgB,+BAkPlF"}
@@ -10,14 +10,15 @@ import { ChevronDownIcon, ChevronUpIcon, CloseIcon } from "../../../icons.js";
10
10
  import { useMessages } from "../../../i18n/useMessages.js";
11
11
  import { cn } from "../../../lib/cn.js";
12
12
  import { GLASS_PANEL_CLASS } from "../../styles/glass.js";
13
- import { revealCurrentMatch } from "./revealMatch.js";
13
+ import { cancelRevealMatch, registerSearchOverlays, scheduleRevealMatch } from "./revealMatch.js";
14
14
  import { searchState } from "./searchPlugin.js";
15
15
  const NO_OPTIONS = { matchCase: false, wholeWord: false, regex: false };
16
+ const FLAGS = ["matchCase", "wholeWord", "regex"];
16
17
  export function SearchPanel({ editor, focus, onClose, className }) {
17
18
  const messages = useMessages().editor;
18
- const [query, setQuery] = useState(focus.query);
19
+ const [query, setQuery] = useState(() => focus.query || searchState(editor.state)?.query || "");
19
20
  const [replacement, setReplacement] = useState("");
20
- const [options, setOptions] = useState(NO_OPTIONS);
21
+ const [options, setOptions] = useState(() => searchState(editor.state)?.options ?? NO_OPTIONS);
21
22
  const searchRef = useRef(null);
22
23
  const replaceRef = useRef(null);
23
24
  const panelRef = useRef(null);
@@ -30,6 +31,8 @@ export function SearchPanel({ editor, focus, onClose, className }) {
30
31
  current: state?.current ?? -1,
31
32
  total: state?.total ?? 0,
32
33
  error: state?.error,
34
+ engineQuery: state?.query ?? "",
35
+ engineOptions: state?.options ?? NO_OPTIONS,
33
36
  editable: current.isEditable,
34
37
  };
35
38
  },
@@ -49,19 +52,30 @@ export function SearchPanel({ editor, focus, onClose, className }) {
49
52
  field?.focus();
50
53
  field?.select();
51
54
  }, [focus.token, focus.query, focus.replace, query]);
52
- const revealFrame = useRef(0);
53
- const reveal = () => {
54
- cancelAnimationFrame(revealFrame.current);
55
- revealFrame.current = requestAnimationFrame(() => {
56
- const panel = panelRef.current;
57
- revealCurrentMatch(editor.view.dom, [panel, panel?.parentElement]);
58
- });
59
- };
60
- useEffect(() => () => cancelAnimationFrame(revealFrame.current), []);
55
+ const reveal = () => scheduleRevealMatch(editor);
56
+ useEffect(() => {
57
+ const unregister = registerSearchOverlays(editor, () => [
58
+ panelRef.current,
59
+ panelRef.current?.parentElement,
60
+ ]);
61
+ return () => {
62
+ unregister();
63
+ cancelRevealMatch(editor);
64
+ };
65
+ }, [editor]);
61
66
  useEffect(() => {
62
67
  editor.commands.setSearch(query, options);
63
68
  reveal();
64
69
  }, [editor, query, options]);
70
+ useEffect(() => {
71
+ const live = searchState(editor.state);
72
+ if (!live)
73
+ return;
74
+ if (live.query !== query)
75
+ setQuery(live.query);
76
+ if (FLAGS.some((flag) => live.options[flag] !== options[flag]))
77
+ setOptions(live.options);
78
+ }, [search.engineQuery, search.engineOptions]);
65
79
  const step = (direction) => {
66
80
  editor.commands.searchStep(direction);
67
81
  reveal();
@@ -1 +1 @@
1
- {"version":3,"file":"SearchPanel.js","sourceRoot":"","sources":["../../../../src/editor/features/search/SearchPanel.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAsB,MAAM,OAAO,CAAC;AAChG,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAchD,MAAM,UAAU,GAAkB,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAevF,MAAM,UAAU,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAoB;IACjF,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC,MAAM,CAAC;IACtC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,MAAM,CAAc,IAAI,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;IAExB,MAAM,MAAM,GAAG,cAAc,CAAC;QAC5B,MAAM;QACN,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;YAChC,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACzC,OAAO;gBACL,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC;gBAC7B,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC;gBACxB,KAAK,EAAE,KAAK,EAAE,KAAK;gBACnB,QAAQ,EAAE,OAAO,CAAC,UAAU;aAC7B,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAGH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,CAAC,KAAK;YAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAO/B,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,eAAe,CAAC,GAAG,EAAE;QACnB,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,KAAK;YAAE,OAAO;QAC5C,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,KAAK,KAAK,CAAC,KAAK;YAAE,OAAO;QACjD,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC;QAC3F,KAAK,EAAE,KAAK,EAAE,CAAC;QACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAClB,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAQrD,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,oBAAoB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC1C,WAAW,CAAC,OAAO,GAAG,qBAAqB,CAAC,GAAG,EAAE;YAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC;YAC/B,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IACF,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAErE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAG1C,MAAM,EAAE,CAAC;IAEX,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAE7B,MAAM,IAAI,GAAG,CAAC,SAAiB,EAAE,EAAE;QACjC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,EAAE,CAAC;IACX,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC1C,MAAM,EAAE,CAAC;IACX,CAAC,CAAC;IAGF,MAAM,KAAK,GAAG,OAAO,CAAC;IAEtB,MAAM,SAAS,GAAG,CAAC,KAAoB,EAAE,EAAE;QACzC,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ;YAAE,OAAO;QACnC,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,KAAK,EAAE,CAAC;IACV,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,GAAwB,EAAE,EAAE,CAAC,CAAC,OAAgB,EAAE,EAAE,CAChE,UAAU,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAE9D,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IACjF,MAAM,MAAM,GACV,KAAK,KAAK,EAAE,IAAI,MAAM,CAAC,KAAK;QAC1B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,UAAU;YACV,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;YAC5E,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;IAEjC,OAAO,CACL,mBACE,GAAG,EAAE,QAAQ,EACb,IAAI,EAAC,QAAQ,gBACD,QAAQ,CAAC,WAAW,EAChC,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,EAAE,CACX,iBAAiB,EACjB,gFAAgF,EAChF,SAAS,CACV,aAED,eAAK,SAAS,EAAC,yBAAyB,aACtC,8BAAkB,MAAM,EAAC,SAAS,EAAC,wCAAwC,YACxE,OAAO,GACH,EACP,cAAK,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,YACnC,MAAM,GACH,EACN,KAAC,MAAM,IACL,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,IAAI,EACT,QAAQ,sBACI,QAAQ,CAAC,cAAc,EACnC,IAAI,EAAE,KAAC,aAAa,IAAC,IAAI,EAAE,EAAE,wBAAgB,EAC7C,QAAQ,EAAE,CAAC,UAAU,EACrB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GACvB,EACF,KAAC,MAAM,IACL,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,IAAI,EACT,QAAQ,sBACI,QAAQ,CAAC,UAAU,EAC/B,IAAI,EAAE,KAAC,eAAe,IAAC,IAAI,EAAE,EAAE,wBAAgB,EAC/C,QAAQ,EAAE,CAAC,UAAU,EACrB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GACtB,EACF,KAAC,MAAM,IACL,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,IAAI,EACT,QAAQ,sBACI,QAAQ,CAAC,WAAW,EAChC,IAAI,EAAE,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,wBAAgB,EACzC,OAAO,EAAE,KAAK,GACd,IACE,EAEN,KAAC,WAAW,IACV,GAAG,EAAE,SAAS,EACd,IAAI,EAAC,IAAI,gBACG,QAAQ,CAAC,WAAW,EAChC,WAAW,EAAE,QAAQ,CAAC,WAAW,EACjC,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,kBACnC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,sBAC3B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EACpD,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;oBACnB,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO;wBAAE,OAAO;oBAClC,KAAK,CAAC,cAAc,EAAE,CAAC;oBACvB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChC,CAAC,GACD,EACD,MAAM,CAAC,KAAK,IAAI,CACf,YAAG,EAAE,EAAE,OAAO,EAAE,SAAS,EAAC,qBAAqB,YAC5C,QAAQ,CAAC,aAAa,GACrB,CACL,EAEA,MAAM,CAAC,QAAQ,IAAI,CAClB,KAAC,WAAW,IACV,GAAG,EAAE,UAAU,EACf,IAAI,EAAC,IAAI,gBACG,QAAQ,CAAC,YAAY,EACjC,WAAW,EAAE,QAAQ,CAAC,YAAY,EAClC,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EACvD,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;oBACnB,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO;wBAAE,OAAO;oBAClC,KAAK,CAAC,cAAc,EAAE,CAAC;oBACvB,UAAU,EAAE,CAAC;gBACf,CAAC,GACD,CACH,EAED,eAAK,SAAS,EAAC,4BAA4B,aACzC,KAAC,QAAQ,IAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,eAAe,EAAE,MAAM,CAAC,WAAW,CAAC,YACjF,QAAQ,CAAC,eAAe,GAChB,EACX,KAAC,QAAQ,IAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,eAAe,EAAE,MAAM,CAAC,WAAW,CAAC,YACjF,QAAQ,CAAC,eAAe,GAChB,EACX,eAAK,SAAS,EAAC,yCAAyC,aACtD,8BAAkB,MAAM,EAAC,SAAS,EAAC,mBAAmB,YACnD,QAAQ,CAAC,WAAW,GAChB,EACP,KAAC,MAAM,IACL,KAAK,EAAE,QAAQ,CAAC,WAAW,EAC3B,OAAO,EAAE,OAAO,CAAC,KAAK,EACtB,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,GAChC,IACE,IACF,EAEL,MAAM,CAAC,QAAQ,IAAI,CAClB,eAAK,SAAS,EAAC,wBAAwB,aACrC,KAAC,MAAM,IAAC,OAAO,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,YACxE,QAAQ,CAAC,UAAU,GACb,EACT,KAAC,MAAM,IACL,OAAO,EAAC,MAAM,EACd,IAAI,EAAC,IAAI,EACT,QAAQ,EAAE,CAAC,UAAU,EACrB,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,YAE5D,QAAQ,CAAC,UAAU,GACb,IACL,CACP,IACO,CACX,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"SearchPanel.js","sourceRoot":"","sources":["../../../../src/editor/features/search/SearchPanel.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { Editor } from "@tiptap/core";
1
2
  /**
2
3
  * Показать текущее совпадение поиска.
3
4
  *
@@ -22,4 +23,19 @@
22
23
  * @param overlays элементы поверх Документа: панель поиска и её липкий родитель
23
24
  */
24
25
  export declare function revealCurrentMatch(documentRoot: HTMLElement, overlays: readonly (Element | null | undefined)[]): void;
26
+ /**
27
+ * Панель поиска сообщает, что лежит поверх Документа, пока открыта. Команды
28
+ * Инструмента (`next`, `previous`, `setQuery`) живут вне панели, но должны
29
+ * обходить её так же. Возвращает снятие регистрации.
30
+ */
31
+ export declare function registerSearchOverlays(editor: Editor, overlays: () => readonly (Element | null | undefined)[]): () => void;
32
+ /**
33
+ * Показать текущее совпадение кадром позже, когда панель уже разложена. Вызовы
34
+ * одного поля в пределах кадра сливаются в одну прокрутку: панель и команда
35
+ * Инструмента, сработавшие на один переход, не прокручивают дважды. Фокус не
36
+ * трогает.
37
+ */
38
+ export declare function scheduleRevealMatch(editor: Editor): void;
39
+ /** Отменить отложенную прокрутку (панель закрылась или поле разобрано). */
40
+ export declare function cancelRevealMatch(editor: Editor): void;
25
41
  //# sourceMappingURL=revealMatch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"revealMatch.d.ts","sourceRoot":"","sources":["../../../../src/editor/features/search/revealMatch.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,WAAW,EACzB,QAAQ,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GAChD,IAAI,CAmCN"}
1
+ {"version":3,"file":"revealMatch.d.ts","sourceRoot":"","sources":["../../../../src/editor/features/search/revealMatch.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAO3C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,WAAW,EACzB,QAAQ,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GAChD,IAAI,CAmCN;AAMD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,SAAS,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GACtD,MAAM,IAAI,CAKZ;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAUxD;AAED,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAGtD"}
@@ -38,4 +38,26 @@ export function revealCurrentMatch(documentRoot, overlays) {
38
38
  delta -= scroller.scrollTop - before;
39
39
  }
40
40
  }
41
+ const overlayProviders = new WeakMap();
42
+ const frames = new WeakMap();
43
+ export function registerSearchOverlays(editor, overlays) {
44
+ overlayProviders.set(editor, overlays);
45
+ return () => {
46
+ if (overlayProviders.get(editor) === overlays)
47
+ overlayProviders.delete(editor);
48
+ };
49
+ }
50
+ export function scheduleRevealMatch(editor) {
51
+ cancelAnimationFrame(frames.get(editor) ?? 0);
52
+ frames.set(editor, requestAnimationFrame(() => {
53
+ frames.delete(editor);
54
+ if (editor.isDestroyed)
55
+ return;
56
+ revealCurrentMatch(editor.view.dom, overlayProviders.get(editor)?.() ?? []);
57
+ }));
58
+ }
59
+ export function cancelRevealMatch(editor) {
60
+ cancelAnimationFrame(frames.get(editor) ?? 0);
61
+ frames.delete(editor);
62
+ }
41
63
  //# sourceMappingURL=revealMatch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"revealMatch.js","sourceRoot":"","sources":["../../../../src/editor/features/search/revealMatch.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AA8Bb,MAAM,UAAU,kBAAkB,CAChC,YAAyB,EACzB,QAAiD;IAEjD,MAAM,KAAK,GAAG,YAAY,CAAC,aAAa,CAAc,qBAAqB,CAAC,CAAC;IAC7E,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,MAAM,IAAI,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC;IAE3C,MAAM,SAAS,GAAc,EAAE,CAAC;IAChC,MAAM,IAAI,GAAS,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;IAC1D,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC,aAAa,EAAE,IAAI,IAAI,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAC/F,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;YAAE,SAAS;QAC3E,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY;YAAE,SAAS;QACrD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACzC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,IAAI,QAAQ,CAAC,eAAe,CAAC,CAAC;IAEtE,MAAM,IAAI,GAAS,EAAE,GAAG,IAAI,EAAE,CAAC;IAC/B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,MAAM,GAAG,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAC5C,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;YACrE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAEjE,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM;QAAE,OAAO;IAC/D,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACxE,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;YAAE,MAAM;QAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC;QAClC,QAAQ,CAAC,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC;QACpC,KAAK,IAAI,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC;IACvC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"revealMatch.js","sourceRoot":"","sources":["../../../../src/editor/features/search/revealMatch.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAgCb,MAAM,UAAU,kBAAkB,CAChC,YAAyB,EACzB,QAAiD;IAEjD,MAAM,KAAK,GAAG,YAAY,CAAC,aAAa,CAAc,qBAAqB,CAAC,CAAC;IAC7E,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,MAAM,IAAI,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC;IAE3C,MAAM,SAAS,GAAc,EAAE,CAAC;IAChC,MAAM,IAAI,GAAS,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;IAC1D,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC,aAAa,EAAE,IAAI,IAAI,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAC/F,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;YAAE,SAAS;QAC3E,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY;YAAE,SAAS;QACrD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACzC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,IAAI,QAAQ,CAAC,eAAe,CAAC,CAAC;IAEtE,MAAM,IAAI,GAAS,EAAE,GAAG,IAAI,EAAE,CAAC;IAC/B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,MAAM,GAAG,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAC5C,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;YACrE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAEjE,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM;QAAE,OAAO;IAC/D,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACxE,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;YAAE,MAAM;QAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC;QAClC,QAAQ,CAAC,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC;QACpC,KAAK,IAAI,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC;IACvC,CAAC;AACH,CAAC;AAGD,MAAM,gBAAgB,GAAG,IAAI,OAAO,EAAyD,CAAC;AAC9F,MAAM,MAAM,GAAG,IAAI,OAAO,EAAkB,CAAC;AAO7C,MAAM,UAAU,sBAAsB,CACpC,MAAc,EACd,QAAuD;IAEvD,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvC,OAAO,GAAG,EAAE;QACV,IAAI,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,QAAQ;YAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjF,CAAC,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAChD,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAC,GAAG,CACR,MAAM,EACN,qBAAqB,CAAC,GAAG,EAAE;QACzB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtB,IAAI,MAAM,CAAC,WAAW;YAAE,OAAO;QAC/B,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAGD,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC"}
@@ -13,8 +13,11 @@ export declare function searchState(state: EditorState): {
13
13
  declare module "@tiptap/core" {
14
14
  interface Commands<ReturnType> {
15
15
  search: {
16
- /** Новый запрос или опции: совпадения пересчитываются, текущее — первое после каретки. */
17
- setSearch: (query: string, options: SearchOptions) => ReturnType;
16
+ /**
17
+ * Новый запрос или флажки: совпадения пересчитываются, текущее — первое после
18
+ * каретки. Не названные флажки остаются как были.
19
+ */
20
+ setSearch: (query: string, options?: Partial<SearchOptions>) => ReturnType;
18
21
  /**
19
22
  * Следующее (`1`) или предыдущее (`-1`) совпадение по кругу; выделяет его.
20
23
  * Прокрутка ProseMirror срабатывает, только когда фокус в Документе; из
@@ -25,12 +28,14 @@ declare module "@tiptap/core" {
25
28
  replaceMatch: (replacement: string) => ReturnType;
26
29
  /** Заменить все совпадения — одна транзакция, одна отмена. */
27
30
  replaceAllMatches: (replacement: string) => ReturnType;
28
- /** Убрать запрос и подсветку. */
31
+ /** Убрать запрос и подсветку; флажки вернутся к Опциям Инструмента. */
29
32
  clearSearch: () => ReturnType;
30
33
  };
31
34
  }
32
35
  }
33
36
  export interface SearchExtensionOptions {
37
+ /** Флажки, с которых стартует поиск и к которым он возвращается: Опции Инструмента. */
38
+ flags: SearchOptions;
34
39
  /**
35
40
  * Открыть панель поиска (`replace` — с фокусом в поле замены). Панель держит
36
41
  * `RichTextEditor`; `false` — панели нет, и `Mod+F` уходит браузеру.
@@ -1 +1 @@
1
- {"version":3,"file":"searchPlugin.d.ts","sourceRoot":"","sources":["../../../../src/editor/features/search/searchPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,kBAAkB,CAAC;AAGjE,OAAO,EAAe,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AA2BrF,wFAAwF;AACxF,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,GAC1C;IACE,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;CACjC,GACD,SAAS,CAKZ;AAsGD,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,QAAQ,CAAC,UAAU;QAC3B,MAAM,EAAE;YACN,0FAA0F;YAC1F,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,KAAK,UAAU,CAAC;YACjE;;;;eAIG;YACH,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,UAAU,CAAC;YACzC,8DAA8D;YAC9D,YAAY,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,UAAU,CAAC;YAClD,8DAA8D;YAC9D,iBAAiB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,UAAU,CAAC;YACvD,iCAAiC;YACjC,WAAW,EAAE,MAAM,UAAU,CAAC;SAC/B,CAAC;KACH;CACF;AAED,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC;CACrC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,wCAmE1B,CAAC"}
1
+ {"version":3,"file":"searchPlugin.d.ts","sourceRoot":"","sources":["../../../../src/editor/features/search/searchPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,kBAAkB,CAAC;AAGjE,OAAO,EAAe,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AA2BrF,wFAAwF;AACxF,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,GAC1C;IACE,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;CACjC,GACD,SAAS,CAKZ;AA4HD,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,QAAQ,CAAC,UAAU;QAC3B,MAAM,EAAE;YACN;;;eAGG;YACH,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,KAAK,UAAU,CAAC;YAC3E;;;;eAIG;YACH,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,UAAU,CAAC;YACzC,8DAA8D;YAC9D,YAAY,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,UAAU,CAAC;YAClD,8DAA8D;YAC9D,iBAAiB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,UAAU,CAAC;YACvD,uEAAuE;YACvE,WAAW,EAAE,MAAM,UAAU,CAAC;SAC/B,CAAC;KACH;CACF;AAED,MAAM,WAAW,sBAAsB;IACrC,uFAAuF;IACvF,KAAK,EAAE,aAAa,CAAC;IACrB;;;OAGG;IACH,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC;CACrC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,wCAqE1B,CAAC"}
@@ -37,17 +37,26 @@ function build(state, query, options, current) {
37
37
  decorations: decorate(state, matches, index),
38
38
  };
39
39
  }
40
- function searchPlugin() {
40
+ function withNamedFlags(current, named = {}) {
41
+ const next = { ...current };
42
+ for (const key of Object.keys(named)) {
43
+ const value = named[key];
44
+ if (value !== undefined)
45
+ next[key] = value;
46
+ }
47
+ return next;
48
+ }
49
+ function searchPlugin(flags) {
41
50
  return new Plugin({
42
51
  key: SEARCH_KEY,
43
52
  state: {
44
- init: (_, state) => build(state, "", EMPTY_OPTIONS, () => -1),
53
+ init: (_, state) => build(state, "", flags, () => -1),
45
54
  apply(tr, previous, _old, state) {
46
55
  const meta = tr.getMeta(SEARCH_KEY);
47
56
  if (meta?.type === "clear")
48
- return build(state, "", previous.options, () => -1);
57
+ return build(state, "", flags, () => -1);
49
58
  if (meta?.type === "set") {
50
- return build(state, meta.query, meta.options, (matches) => indexFrom(matches, state.selection.from));
59
+ return build(state, meta.query, withNamedFlags(previous.options, meta.options), (matches) => indexFrom(matches, state.selection.from));
51
60
  }
52
61
  if (meta?.type === "select") {
53
62
  return {
@@ -90,8 +99,10 @@ function replaceRange(tr, { from, to }, text) {
90
99
  }
91
100
  export const SearchExtension = Extension.create({
92
101
  name: "search",
93
- addOptions: () => ({ open: () => false }),
94
- addProseMirrorPlugins: () => [searchPlugin()],
102
+ addOptions: () => ({ open: () => false, flags: EMPTY_OPTIONS }),
103
+ addProseMirrorPlugins() {
104
+ return [searchPlugin(this.options.flags)];
105
+ },
95
106
  addKeyboardShortcuts() {
96
107
  return {
97
108
  "Mod-f": () => this.options.open(false),
@@ -1 +1 @@
1
- {"version":3,"file":"searchPlugin.js","sourceRoot":"","sources":["../../../../src/editor/features/search/searchPlugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"searchPlugin.js","sourceRoot":"","sources":["../../../../src/editor/features/search/searchPlugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { Editor } from "@tiptap/core";
2
+ import type { SearchToolState } from "../../core/toolState.js";
3
+ /**
4
+ * Снимок Состояния `search` для `useRichTextToolState`: открытые поля
5
+ * `searchState` плагина плюс открытость панели, без позиций совпадений. Лежит
6
+ * отдельно от `searchPlugin.ts`: вычисление нужно только хуку и не должно
7
+ * попадать в статический граф Редактора.
8
+ *
9
+ * Флажки — из плагина и при закрытой панели: их держит движок, а не панель.
10
+ * Закрытие возвращает их к стартовым из Опций, а `setQuery` без панели ставит
11
+ * свои. `null` — плагина нет (Инструмент `search` не вошёл в движок).
12
+ */
13
+ export declare function searchSnapshot(editor: Editor, open: boolean): SearchToolState | null;
14
+ //# sourceMappingURL=searchSnapshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searchSnapshot.d.ts","sourceRoot":"","sources":["../../../../src/editor/features/search/searchSnapshot.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG/D;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,eAAe,GAAG,IAAI,CAYpF"}