@gravity-ui/markdown-editor 13.17.0 → 13.18.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 (227) hide show
  1. package/README.md +2 -0
  2. package/build/cjs/bundle/config/action-names.d.ts +1 -1
  3. package/build/cjs/bundle/config/action-names.js +1 -0
  4. package/build/cjs/bundle/config/icons.d.ts +1 -1
  5. package/build/cjs/bundle/config/icons.js +3 -0
  6. package/build/cjs/bundle/config/wysiwyg.d.ts +1 -0
  7. package/build/cjs/bundle/config/wysiwyg.js +13 -1
  8. package/build/cjs/extensions/behavior/Resizable/Resizable.css +38 -0
  9. package/build/cjs/extensions/behavior/Resizable/Resizable.d.ts +9 -0
  10. package/build/cjs/extensions/behavior/Resizable/Resizable.js +14 -0
  11. package/build/cjs/extensions/markdown/Table/actions/innerActions.d.ts +1 -1
  12. package/build/cjs/extensions/markdown/Table/plugins/TableCellContextPlugin/index.js +19 -9
  13. package/build/cjs/extensions/yfm/GPT/ErrorScreen/ErrorScreen.css +18 -0
  14. package/build/cjs/extensions/yfm/GPT/ErrorScreen/ErrorScreen.d.ts +8 -0
  15. package/build/cjs/extensions/yfm/GPT/ErrorScreen/ErrorScreen.js +21 -0
  16. package/build/cjs/extensions/yfm/GPT/ErrorScreen/types.d.ts +14 -0
  17. package/build/cjs/extensions/yfm/GPT/ErrorScreen/types.js +2 -0
  18. package/build/cjs/extensions/yfm/GPT/GptDialog/GptDialog.css +75 -0
  19. package/build/cjs/extensions/yfm/GPT/GptDialog/GptDialog.d.ts +28 -0
  20. package/build/cjs/extensions/yfm/GPT/GptDialog/GptDialog.js +102 -0
  21. package/build/cjs/extensions/yfm/GPT/GptDialog/LoadingScreen/LoadingScreen.css +22 -0
  22. package/build/cjs/extensions/yfm/GPT/GptDialog/LoadingScreen/LoadingScreen.d.ts +3 -0
  23. package/build/cjs/extensions/yfm/GPT/GptDialog/LoadingScreen/LoadingScreen.js +21 -0
  24. package/build/cjs/extensions/yfm/GPT/IconRefuge/IconRefuge.classname.d.ts +1 -0
  25. package/build/cjs/extensions/yfm/GPT/IconRefuge/IconRefuge.classname.js +5 -0
  26. package/build/cjs/extensions/yfm/GPT/IconRefuge/IconRefuge.css +8 -0
  27. package/build/cjs/extensions/yfm/GPT/IconRefuge/IconRefuge.d.ts +14 -0
  28. package/build/cjs/extensions/yfm/GPT/IconRefuge/IconRefuge.js +28 -0
  29. package/build/cjs/extensions/yfm/GPT/IconRefuge/index.d.ts +2 -0
  30. package/build/cjs/extensions/yfm/GPT/IconRefuge/index.js +5 -0
  31. package/build/cjs/extensions/yfm/GPT/PresetList/PresetList.d.ts +9 -0
  32. package/build/cjs/extensions/yfm/GPT/PresetList/PresetList.js +29 -0
  33. package/build/cjs/extensions/yfm/GPT/PresetList/Presetlist.css +6 -0
  34. package/build/cjs/extensions/yfm/GPT/actions.d.ts +2 -0
  35. package/build/cjs/extensions/yfm/GPT/actions.js +14 -0
  36. package/build/cjs/extensions/yfm/GPT/commands.d.ts +2 -0
  37. package/build/cjs/extensions/yfm/GPT/commands.js +13 -0
  38. package/build/cjs/extensions/yfm/GPT/constants.d.ts +13 -0
  39. package/build/cjs/extensions/yfm/GPT/constants.js +15 -0
  40. package/build/cjs/extensions/yfm/GPT/gptExtension/gptExtension.d.ts +13 -0
  41. package/build/cjs/extensions/yfm/GPT/gptExtension/gptExtension.js +18 -0
  42. package/build/cjs/extensions/yfm/GPT/gptExtension/view.css +17 -0
  43. package/build/cjs/extensions/yfm/GPT/gptExtension/view.d.ts +36 -0
  44. package/build/cjs/extensions/yfm/GPT/gptExtension/view.js +171 -0
  45. package/build/cjs/extensions/yfm/GPT/hooks/useGpt.d.ts +27 -0
  46. package/build/cjs/extensions/yfm/GPT/hooks/useGpt.js +148 -0
  47. package/build/cjs/extensions/yfm/GPT/hooks/useGptHotKeys.d.ts +2 -0
  48. package/build/cjs/extensions/yfm/GPT/hooks/useGptHotKeys.js +8 -0
  49. package/build/cjs/extensions/yfm/GPT/hooks/useOverflowingHorizontalItems.d.ts +13 -0
  50. package/build/cjs/extensions/yfm/GPT/hooks/useOverflowingHorizontalItems.js +70 -0
  51. package/build/cjs/extensions/yfm/GPT/hooks/usePresetList.d.ts +14 -0
  52. package/build/cjs/extensions/yfm/GPT/hooks/usePresetList.js +36 -0
  53. package/build/cjs/extensions/yfm/GPT/index.d.ts +2 -0
  54. package/build/cjs/extensions/yfm/GPT/index.js +5 -0
  55. package/build/cjs/extensions/yfm/GPT/plugin.d.ts +13 -0
  56. package/build/cjs/extensions/yfm/GPT/plugin.js +47 -0
  57. package/build/cjs/extensions/yfm/GPT/toolbar.d.ts +3 -0
  58. package/build/cjs/extensions/yfm/GPT/toolbar.js +22 -0
  59. package/build/cjs/extensions/yfm/GPT/utils.d.ts +13 -0
  60. package/build/cjs/extensions/yfm/GPT/utils.js +31 -0
  61. package/build/cjs/extensions/yfm/ImgSize/plugins/ImgSizeNodeView/ImgSettingsButton.css +6 -0
  62. package/build/cjs/extensions/yfm/ImgSize/plugins/ImgSizeNodeView/ImgSettingsButton.d.ts +6 -1
  63. package/build/cjs/extensions/yfm/ImgSize/plugins/ImgSizeNodeView/ImgSettingsButton.js +21 -37
  64. package/build/cjs/extensions/yfm/ImgSize/plugins/ImgSizeNodeView/NodeView.d.ts +1 -1
  65. package/build/cjs/extensions/yfm/ImgSize/plugins/ImgSizeNodeView/NodeView.js +62 -4
  66. package/build/cjs/extensions/yfm/Mermaid/MermaidNodeView/MermaidView.js +8 -7
  67. package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/actions.d.ts +1 -1
  68. package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/actions.js +0 -8
  69. package/build/cjs/extensions/yfm/index.d.ts +1 -0
  70. package/build/cjs/extensions/yfm/index.js +1 -0
  71. package/build/cjs/i18n/gpt/dialog/en.json +16 -0
  72. package/build/cjs/i18n/gpt/dialog/index.d.ts +19 -0
  73. package/build/cjs/i18n/gpt/dialog/index.js +8 -0
  74. package/build/cjs/i18n/gpt/dialog/ru.json +16 -0
  75. package/build/cjs/i18n/gpt/errors/en.json +5 -0
  76. package/build/cjs/i18n/gpt/errors/index.d.ts +8 -0
  77. package/build/cjs/i18n/gpt/errors/index.js +8 -0
  78. package/build/cjs/i18n/gpt/errors/ru.json +5 -0
  79. package/build/cjs/i18n/gpt/extension/en.json +6 -0
  80. package/build/cjs/i18n/gpt/extension/index.d.ts +9 -0
  81. package/build/cjs/i18n/gpt/extension/index.js +8 -0
  82. package/build/cjs/i18n/gpt/extension/ru.json +6 -0
  83. package/build/cjs/i18n/gpt/loading/en.json +3 -0
  84. package/build/cjs/i18n/gpt/loading/index.d.ts +6 -0
  85. package/build/cjs/i18n/gpt/loading/index.js +8 -0
  86. package/build/cjs/i18n/gpt/loading/ru.json +3 -0
  87. package/build/cjs/i18n/menubar/en.json +1 -0
  88. package/build/cjs/i18n/menubar/index.d.ts +2 -1
  89. package/build/cjs/i18n/menubar/ru.json +1 -0
  90. package/build/cjs/i18n/yfm-table/en.json +10 -1
  91. package/build/cjs/i18n/yfm-table/index.d.ts +10 -1
  92. package/build/cjs/i18n/yfm-table/ru.json +10 -1
  93. package/build/cjs/icons/GPT.d.ts +2 -0
  94. package/build/cjs/icons/GPT.js +22 -0
  95. package/build/cjs/icons/GPTLoading.d.ts +2 -0
  96. package/build/cjs/icons/GPTLoading.js +12 -0
  97. package/build/cjs/icons/index.d.ts +3 -1
  98. package/build/cjs/icons/index.js +5 -1
  99. package/build/cjs/react-utils/useAutoFocus.d.ts +1 -1
  100. package/build/cjs/react-utils/useAutoFocus.js +2 -2
  101. package/build/cjs/react-utils/useNodeEditing.d.ts +3 -2
  102. package/build/cjs/react-utils/useNodeEditing.js +1 -1
  103. package/build/cjs/react-utils/useNodeResizing.d.ts +22 -0
  104. package/build/cjs/react-utils/useNodeResizing.js +82 -0
  105. package/build/cjs/table-utils/commands/appendColumn.js +42 -33
  106. package/build/cjs/table-utils/commands/appendRow.js +40 -22
  107. package/build/cjs/table-utils/commands/removeColumn.js +18 -20
  108. package/build/cjs/table-utils/commands/removeRow.js +12 -9
  109. package/build/cjs/table-utils/table-desc.d.ts +53 -0
  110. package/build/cjs/table-utils/table-desc.js +149 -0
  111. package/build/cjs/table-utils/utils.d.ts +1 -1
  112. package/build/cjs/table-utils/utils.js +19 -12
  113. package/build/cjs/version.js +1 -1
  114. package/build/esm/bundle/config/action-names.d.ts +1 -1
  115. package/build/esm/bundle/config/action-names.js +1 -0
  116. package/build/esm/bundle/config/icons.d.ts +1 -1
  117. package/build/esm/bundle/config/icons.js +2 -0
  118. package/build/esm/bundle/config/wysiwyg.d.ts +1 -0
  119. package/build/esm/bundle/config/wysiwyg.js +12 -0
  120. package/build/esm/extensions/behavior/Resizable/Resizable.css +38 -0
  121. package/build/esm/extensions/behavior/Resizable/Resizable.d.ts +10 -0
  122. package/build/esm/extensions/behavior/Resizable/Resizable.js +10 -0
  123. package/build/esm/extensions/markdown/Table/actions/innerActions.d.ts +1 -1
  124. package/build/esm/extensions/markdown/Table/plugins/TableCellContextPlugin/index.js +19 -9
  125. package/build/esm/extensions/yfm/GPT/ErrorScreen/ErrorScreen.css +18 -0
  126. package/build/esm/extensions/yfm/GPT/ErrorScreen/ErrorScreen.d.ts +9 -0
  127. package/build/esm/extensions/yfm/GPT/ErrorScreen/ErrorScreen.js +17 -0
  128. package/build/esm/extensions/yfm/GPT/ErrorScreen/types.d.ts +14 -0
  129. package/build/esm/extensions/yfm/GPT/ErrorScreen/types.js +1 -0
  130. package/build/esm/extensions/yfm/GPT/GptDialog/GptDialog.css +75 -0
  131. package/build/esm/extensions/yfm/GPT/GptDialog/GptDialog.d.ts +29 -0
  132. package/build/esm/extensions/yfm/GPT/GptDialog/GptDialog.js +98 -0
  133. package/build/esm/extensions/yfm/GPT/GptDialog/LoadingScreen/LoadingScreen.css +22 -0
  134. package/build/esm/extensions/yfm/GPT/GptDialog/LoadingScreen/LoadingScreen.d.ts +4 -0
  135. package/build/esm/extensions/yfm/GPT/GptDialog/LoadingScreen/LoadingScreen.js +17 -0
  136. package/build/esm/extensions/yfm/GPT/IconRefuge/IconRefuge.classname.d.ts +1 -0
  137. package/build/esm/extensions/yfm/GPT/IconRefuge/IconRefuge.classname.js +2 -0
  138. package/build/esm/extensions/yfm/GPT/IconRefuge/IconRefuge.css +8 -0
  139. package/build/esm/extensions/yfm/GPT/IconRefuge/IconRefuge.d.ts +15 -0
  140. package/build/esm/extensions/yfm/GPT/IconRefuge/IconRefuge.js +25 -0
  141. package/build/esm/extensions/yfm/GPT/IconRefuge/index.d.ts +2 -0
  142. package/build/esm/extensions/yfm/GPT/IconRefuge/index.js +1 -0
  143. package/build/esm/extensions/yfm/GPT/PresetList/PresetList.d.ts +10 -0
  144. package/build/esm/extensions/yfm/GPT/PresetList/PresetList.js +25 -0
  145. package/build/esm/extensions/yfm/GPT/PresetList/Presetlist.css +6 -0
  146. package/build/esm/extensions/yfm/GPT/actions.d.ts +2 -0
  147. package/build/esm/extensions/yfm/GPT/actions.js +10 -0
  148. package/build/esm/extensions/yfm/GPT/commands.d.ts +2 -0
  149. package/build/esm/extensions/yfm/GPT/commands.js +9 -0
  150. package/build/esm/extensions/yfm/GPT/constants.d.ts +13 -0
  151. package/build/esm/extensions/yfm/GPT/constants.js +12 -0
  152. package/build/esm/extensions/yfm/GPT/gptExtension/gptExtension.d.ts +13 -0
  153. package/build/esm/extensions/yfm/GPT/gptExtension/gptExtension.js +14 -0
  154. package/build/esm/extensions/yfm/GPT/gptExtension/view.css +17 -0
  155. package/build/esm/extensions/yfm/GPT/gptExtension/view.d.ts +37 -0
  156. package/build/esm/extensions/yfm/GPT/gptExtension/view.js +167 -0
  157. package/build/esm/extensions/yfm/GPT/hooks/useGpt.d.ts +27 -0
  158. package/build/esm/extensions/yfm/GPT/hooks/useGpt.js +144 -0
  159. package/build/esm/extensions/yfm/GPT/hooks/useGptHotKeys.d.ts +2 -0
  160. package/build/esm/extensions/yfm/GPT/hooks/useGptHotKeys.js +4 -0
  161. package/build/esm/extensions/yfm/GPT/hooks/useOverflowingHorizontalItems.d.ts +13 -0
  162. package/build/esm/extensions/yfm/GPT/hooks/useOverflowingHorizontalItems.js +65 -0
  163. package/build/esm/extensions/yfm/GPT/hooks/usePresetList.d.ts +14 -0
  164. package/build/esm/extensions/yfm/GPT/hooks/usePresetList.js +32 -0
  165. package/build/esm/extensions/yfm/GPT/index.d.ts +2 -0
  166. package/build/esm/extensions/yfm/GPT/index.js +2 -0
  167. package/build/esm/extensions/yfm/GPT/plugin.d.ts +13 -0
  168. package/build/esm/extensions/yfm/GPT/plugin.js +43 -0
  169. package/build/esm/extensions/yfm/GPT/toolbar.d.ts +3 -0
  170. package/build/esm/extensions/yfm/GPT/toolbar.js +18 -0
  171. package/build/esm/extensions/yfm/GPT/utils.d.ts +13 -0
  172. package/build/esm/extensions/yfm/GPT/utils.js +23 -0
  173. package/build/esm/extensions/yfm/ImgSize/plugins/ImgSizeNodeView/ImgSettingsButton.css +6 -0
  174. package/build/esm/extensions/yfm/ImgSize/plugins/ImgSizeNodeView/ImgSettingsButton.d.ts +7 -1
  175. package/build/esm/extensions/yfm/ImgSize/plugins/ImgSizeNodeView/ImgSettingsButton.js +23 -38
  176. package/build/esm/extensions/yfm/ImgSize/plugins/ImgSizeNodeView/NodeView.d.ts +1 -1
  177. package/build/esm/extensions/yfm/ImgSize/plugins/ImgSizeNodeView/NodeView.js +63 -5
  178. package/build/esm/extensions/yfm/Mermaid/MermaidNodeView/MermaidView.js +5 -4
  179. package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/actions.d.ts +1 -1
  180. package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/actions.js +1 -9
  181. package/build/esm/extensions/yfm/index.d.ts +1 -0
  182. package/build/esm/extensions/yfm/index.js +1 -0
  183. package/build/esm/i18n/gpt/dialog/en.json +16 -0
  184. package/build/esm/i18n/gpt/dialog/index.d.ts +19 -0
  185. package/build/esm/i18n/gpt/dialog/index.js +4 -0
  186. package/build/esm/i18n/gpt/dialog/ru.json +16 -0
  187. package/build/esm/i18n/gpt/errors/en.json +5 -0
  188. package/build/esm/i18n/gpt/errors/index.d.ts +8 -0
  189. package/build/esm/i18n/gpt/errors/index.js +4 -0
  190. package/build/esm/i18n/gpt/errors/ru.json +5 -0
  191. package/build/esm/i18n/gpt/extension/en.json +6 -0
  192. package/build/esm/i18n/gpt/extension/index.d.ts +9 -0
  193. package/build/esm/i18n/gpt/extension/index.js +4 -0
  194. package/build/esm/i18n/gpt/extension/ru.json +6 -0
  195. package/build/esm/i18n/gpt/loading/en.json +3 -0
  196. package/build/esm/i18n/gpt/loading/index.d.ts +6 -0
  197. package/build/esm/i18n/gpt/loading/index.js +4 -0
  198. package/build/esm/i18n/gpt/loading/ru.json +3 -0
  199. package/build/esm/i18n/menubar/en.json +1 -0
  200. package/build/esm/i18n/menubar/index.d.ts +2 -1
  201. package/build/esm/i18n/menubar/ru.json +1 -0
  202. package/build/esm/i18n/yfm-table/en.json +10 -1
  203. package/build/esm/i18n/yfm-table/index.d.ts +10 -1
  204. package/build/esm/i18n/yfm-table/ru.json +10 -1
  205. package/build/esm/icons/GPT.d.ts +2 -0
  206. package/build/esm/icons/GPT.js +19 -0
  207. package/build/esm/icons/GPTLoading.d.ts +2 -0
  208. package/build/esm/icons/GPTLoading.js +9 -0
  209. package/build/esm/icons/index.d.ts +3 -1
  210. package/build/esm/icons/index.js +3 -1
  211. package/build/esm/react-utils/useAutoFocus.d.ts +1 -1
  212. package/build/esm/react-utils/useAutoFocus.js +2 -2
  213. package/build/esm/react-utils/useNodeEditing.d.ts +3 -2
  214. package/build/esm/react-utils/useNodeEditing.js +1 -1
  215. package/build/esm/react-utils/useNodeResizing.d.ts +22 -0
  216. package/build/esm/react-utils/useNodeResizing.js +77 -0
  217. package/build/esm/table-utils/commands/appendColumn.js +44 -35
  218. package/build/esm/table-utils/commands/appendRow.js +42 -24
  219. package/build/esm/table-utils/commands/removeColumn.js +18 -20
  220. package/build/esm/table-utils/commands/removeRow.js +14 -11
  221. package/build/esm/table-utils/table-desc.d.ts +53 -0
  222. package/build/esm/table-utils/table-desc.js +144 -0
  223. package/build/esm/table-utils/utils.d.ts +1 -1
  224. package/build/esm/table-utils/utils.js +18 -12
  225. package/build/esm/version.js +1 -1
  226. package/build/styles.css +190 -0
  227. package/package.json +3 -2
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.usePresetList = void 0;
4
+ const react_1 = require("react");
5
+ const PresetList_1 = require("../PresetList/PresetList");
6
+ const useOverflowingHorizontalItems_1 = require("./useOverflowingHorizontalItems");
7
+ const usePresetList = ({ promptPresets, onPresetClick }) => {
8
+ const presetsContainerRef = (0, react_1.useRef)(null);
9
+ const { visibleItems, hiddenItems, measured } = (0, useOverflowingHorizontalItems_1.useOverflowingHorizontalItems)({
10
+ containerRef: presetsContainerRef,
11
+ items: promptPresets,
12
+ itemSelector: `.${(0, PresetList_1.cnGptDialogPresetList)('preset')}`,
13
+ moreButtonSelector: `.${(0, PresetList_1.cnGptDialogPresetList)('more-button-wrapper')}`,
14
+ marginBetweenItems: 8,
15
+ });
16
+ const hiddenPresets = (0, react_1.useMemo)(() => {
17
+ const items = [];
18
+ for (const item of hiddenItems) {
19
+ items.push({
20
+ text: item.display,
21
+ action: () => onPresetClick(item.data),
22
+ items: [],
23
+ });
24
+ }
25
+ return items;
26
+ }, [onPresetClick, hiddenItems]);
27
+ const showMoreButton = !measured || hiddenPresets.length > 0;
28
+ return {
29
+ measured,
30
+ showMoreButton,
31
+ presetsContainerRef,
32
+ visiblePresets: visibleItems,
33
+ hiddenPresets,
34
+ };
35
+ };
36
+ exports.usePresetList = usePresetList;
@@ -0,0 +1,2 @@
1
+ export * from './toolbar';
2
+ export * from './gptExtension/gptExtension';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./toolbar"), exports);
5
+ tslib_1.__exportStar(require("./gptExtension/gptExtension"), exports);
@@ -0,0 +1,13 @@
1
+ import { Plugin, PluginKey } from 'prosemirror-state';
2
+ import { DecorationSet } from 'prosemirror-view';
3
+ import type { GptWidgetDecoViewParams } from './gptExtension/view';
4
+ export declare type GptWidgetMeta = {
5
+ action: 'show';
6
+ from: number;
7
+ to: number;
8
+ } | {
9
+ action: 'hide';
10
+ };
11
+ declare const key: PluginKey<DecorationSet>;
12
+ export { key as pluginKey };
13
+ export declare const gptWidgetPlugin: (params: GptWidgetDecoViewParams) => Plugin;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.gptWidgetPlugin = exports.pluginKey = void 0;
4
+ const prosemirror_state_1 = require("prosemirror-state");
5
+ const prosemirror_view_1 = require("prosemirror-view");
6
+ const constants_1 = require("./constants");
7
+ const view_1 = require("./gptExtension/view");
8
+ const key = new prosemirror_state_1.PluginKey('gpt-widget');
9
+ exports.pluginKey = key;
10
+ const gptWidgetPlugin = (params) => {
11
+ return new prosemirror_state_1.Plugin({
12
+ key,
13
+ state: {
14
+ init: () => prosemirror_view_1.DecorationSet.empty,
15
+ apply: (tr, decos) => {
16
+ const meta = tr.getMeta(key);
17
+ const paramsGpt = params;
18
+ if ((meta === null || meta === void 0 ? void 0 : meta.action) === 'show') {
19
+ if (meta.to === meta.from) {
20
+ const spanElem = document.createElement('span');
21
+ spanElem.className = constants_1.WIDGET_DECO_CLASS_NAME;
22
+ spanElem.textContent = ' ';
23
+ paramsGpt.disablePromptPresets = true;
24
+ return prosemirror_view_1.DecorationSet.create(tr.doc, [
25
+ prosemirror_view_1.Decoration.widget(meta.from, spanElem, {
26
+ [constants_1.WIDGET_DECO_SPEC_FLAG]: true,
27
+ }),
28
+ ]);
29
+ }
30
+ return prosemirror_view_1.DecorationSet.create(tr.doc, [
31
+ prosemirror_view_1.Decoration.inline(meta.from, meta.to, { nodeName: 'span', class: constants_1.WIDGET_DECO_CLASS_NAME }, { [constants_1.WIDGET_DECO_SPEC_FLAG]: true }),
32
+ ]);
33
+ }
34
+ if ((meta === null || meta === void 0 ? void 0 : meta.action) === 'hide') {
35
+ paramsGpt.disablePromptPresets = false;
36
+ return prosemirror_view_1.DecorationSet.empty;
37
+ }
38
+ return decos.map(tr.mapping, tr.doc);
39
+ },
40
+ },
41
+ props: {
42
+ decorations: (state) => key.getState(state),
43
+ },
44
+ view: (view) => new view_1.GptWidgetDecoView(view, params),
45
+ });
46
+ };
47
+ exports.gptWidgetPlugin = gptWidgetPlugin;
@@ -0,0 +1,3 @@
1
+ import { type WToolbarSingleItemData } from '../../../toolbar';
2
+ export declare const cnGptButton: import("@bem-react/classname").ClassNameFormatter;
3
+ export declare const wGptToolbarItem: WToolbarSingleItemData;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.wGptToolbarItem = exports.cnGptButton = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const classname_1 = require("@bem-react/classname");
6
+ const extension_1 = require("../../../i18n/gpt/extension");
7
+ const GPT_1 = tslib_1.__importDefault(require("../../../icons/GPT"));
8
+ const toolbar_1 = require("../../../toolbar");
9
+ const constants_1 = require("./constants");
10
+ exports.cnGptButton = (0, classname_1.cn)('gpt-button');
11
+ exports.wGptToolbarItem = {
12
+ type: toolbar_1.ToolbarDataType.SingleButton,
13
+ id: 'gpt',
14
+ title: () => `${(0, extension_1.i18n)('help-with-text')}`,
15
+ hotkey: constants_1.gptHotKeys.openGptKeyTooltip,
16
+ icon: { data: GPT_1.default },
17
+ disabledPopoverVisible: false,
18
+ exec: (actionsStorage) => actionsStorage.actions.addGptWidget.run({}),
19
+ isActive: (actionsStorage) => actionsStorage.actions.addGptWidget.isActive(),
20
+ isEnable: (actionsStorage) => actionsStorage.actions.addGptWidget.isEnable(),
21
+ className: (0, exports.cnGptButton)(),
22
+ };
@@ -0,0 +1,13 @@
1
+ import type React from 'react';
2
+ import { GptDialogProps } from './GptDialog/GptDialog';
3
+ declare type CombinedKeyboardEvent = KeyboardEvent | React.KeyboardEvent;
4
+ export declare function getAlertGptInfo(gptAlert: GptDialogProps['gptAlertProps']): {
5
+ alertMessage: string;
6
+ alertTheme: import("@gravity-ui/uikit/build/esm/components/Alert/types").AlertTheme;
7
+ alertClassName: string | undefined;
8
+ };
9
+ export declare function getDisableReplaceButtonText(disablePromptPresets?: boolean): string;
10
+ export declare function getInputPlaceHolder(disablePromptPresets?: boolean, disabledPromptPlaceholder?: string, customPromptPlaceholder?: string): string | undefined;
11
+ export declare const isEnter: (event: CombinedKeyboardEvent) => boolean;
12
+ export declare function focusWithoutScroll(element?: HTMLElement | null): void;
13
+ export {};
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.focusWithoutScroll = exports.isEnter = exports.getInputPlaceHolder = exports.getDisableReplaceButtonText = exports.getAlertGptInfo = void 0;
4
+ const dialog_1 = require("../../../i18n/gpt/dialog");
5
+ function getAlertGptInfo(gptAlert) {
6
+ return {
7
+ alertMessage: (gptAlert === null || gptAlert === void 0 ? void 0 : gptAlert.message) || (0, dialog_1.i18n)('alert-gpt-presets-info'),
8
+ alertTheme: (gptAlert === null || gptAlert === void 0 ? void 0 : gptAlert.theme) || 'info',
9
+ alertClassName: gptAlert === null || gptAlert === void 0 ? void 0 : gptAlert.className,
10
+ };
11
+ }
12
+ exports.getAlertGptInfo = getAlertGptInfo;
13
+ function getDisableReplaceButtonText(disablePromptPresets) {
14
+ return disablePromptPresets ? (0, dialog_1.i18n)(`replace-disabled`) : (0, dialog_1.i18n)(`replace`);
15
+ }
16
+ exports.getDisableReplaceButtonText = getDisableReplaceButtonText;
17
+ function getInputPlaceHolder(disablePromptPresets, disabledPromptPlaceholder, customPromptPlaceholder) {
18
+ return disablePromptPresets ? disabledPromptPlaceholder : customPromptPlaceholder;
19
+ }
20
+ exports.getInputPlaceHolder = getInputPlaceHolder;
21
+ const isEnter = (event) => event.code === 'Enter' || event.code === 'NumpadEnter';
22
+ exports.isEnter = isEnter;
23
+ function focusWithoutScroll(element) {
24
+ const x = window.scrollX;
25
+ const y = window.scrollY;
26
+ element === null || element === void 0 ? void 0 : element.focus({
27
+ preventScroll: true,
28
+ });
29
+ window.scrollTo(x, y);
30
+ }
31
+ exports.focusWithoutScroll = focusWithoutScroll;
@@ -0,0 +1,6 @@
1
+ .g-md-img-settings-button {
2
+ position: absolute;
3
+ z-index: 2;
4
+ top: 3px;
5
+ right: 3px;
6
+ }
@@ -5,6 +5,11 @@ export declare const ImgSettingsButton: React.FC<{
5
5
  node: Node;
6
6
  view: EditorView;
7
7
  getPos: () => number | undefined;
8
- nodeRef: RefObject<HTMLElement>;
9
8
  updateAttributes: (o: object) => void;
9
+ nodeRef: RefObject<HTMLDivElement>;
10
+ visible: boolean;
11
+ toggleEdit: () => void;
12
+ edit: boolean;
13
+ unsetEdit: () => void;
14
+ onDelete: () => void;
10
15
  }>;
@@ -5,49 +5,33 @@ const tslib_1 = require("tslib");
5
5
  const react_1 = tslib_1.__importStar(require("react"));
6
6
  const icons_1 = require("@gravity-ui/icons");
7
7
  const uikit_1 = require("@gravity-ui/uikit");
8
+ const classname_1 = require("../../../../../classname");
8
9
  const common_1 = require("../../../../../i18n/common");
9
10
  const hooks_1 = require("../../../../../react-utils/hooks");
10
- const useNodeEditing_1 = require("../../../../../react-utils/useNodeEditing");
11
- const useNodeHovered_1 = require("../../../../../react-utils/useNodeHovered");
12
- const remove_node_1 = require("../../../../../utils/remove-node");
13
- const const_1 = require("../../const");
14
11
  const ImageForm_1 = require("./ImageForm");
15
- const ImgSettingsButton = function ({ node, view, getPos, nodeRef, updateAttributes }) {
12
+ const b = (0, classname_1.cn)('img-settings-button');
13
+ const ImgSettingsButton = function ({ node, view, updateAttributes, visible, edit, toggleEdit, nodeRef, unsetEdit, onDelete, }) {
16
14
  const [popupOpen, setPopupOpen, unsetPopupOpen] = (0, hooks_1.useBooleanState)(false);
17
15
  const placement = ['bottom-end', 'bottom-start'];
18
16
  const buttonRef = (0, react_1.useRef)(null);
19
- const isNodeHovered = (0, useNodeHovered_1.useNodeHovered)(nodeRef);
20
- const isButtonHovered = (0, useNodeHovered_1.useNodeHovered)(buttonRef);
21
- const [edit, setEditing, unsetEdit, toggleEdit] = (0, useNodeEditing_1.useNodeEditing)({ nodeRef, view });
22
- const visible = (isNodeHovered || isButtonHovered || popupOpen) && !edit;
23
- (0, react_1.useEffect)(() => {
24
- var _a;
25
- if ((_a = const_1.imageRendererKey.getState(view.state)) === null || _a === void 0 ? void 0 : _a.linkAdded) {
26
- setEditing();
27
- }
28
- }, [view, setEditing]);
29
- if (edit)
30
- return (react_1.default.createElement(ImageForm_1.ImageForm, { node: node, view: view, updateAttributes: updateAttributes, dom: nodeRef, unsetEdit: unsetEdit }));
31
- return visible ? (react_1.default.createElement(react_1.default.Fragment, null,
32
- react_1.default.createElement(uikit_1.Button, { onClick: setPopupOpen, ref: buttonRef, size: "s", view: 'raised', style: { position: 'absolute', right: '3px', top: '3px' } },
33
- react_1.default.createElement(uikit_1.Icon, { data: icons_1.Ellipsis })),
34
- react_1.default.createElement(uikit_1.Popup, { open: popupOpen, anchorRef: buttonRef, onClose: unsetPopupOpen, placement: placement },
17
+ const handleEdit = () => {
18
+ toggleEdit();
19
+ unsetPopupOpen();
20
+ };
21
+ const isVisibleImageForm = edit;
22
+ const isVisibleEditButton = !edit && (visible || popupOpen);
23
+ const isVisiblePopup = !edit && popupOpen;
24
+ const handleEditButtonClick = (event) => {
25
+ event.preventDefault();
26
+ setPopupOpen();
27
+ };
28
+ return (react_1.default.createElement(react_1.default.Fragment, null,
29
+ isVisibleImageForm && (react_1.default.createElement(ImageForm_1.ImageForm, { node: node, view: view, updateAttributes: updateAttributes, dom: nodeRef, unsetEdit: unsetEdit })),
30
+ isVisibleEditButton && (react_1.default.createElement(uikit_1.Button, { onClick: handleEditButtonClick, ref: buttonRef, size: "s", view: 'raised', className: b() },
31
+ react_1.default.createElement(uikit_1.Icon, { data: icons_1.Ellipsis }))),
32
+ react_1.default.createElement(uikit_1.Popup, { open: isVisiblePopup, anchorRef: buttonRef, onClose: unsetPopupOpen, placement: placement },
35
33
  react_1.default.createElement(uikit_1.Menu, null,
36
- react_1.default.createElement(uikit_1.Menu.Item, { onClick: () => {
37
- toggleEdit();
38
- unsetPopupOpen();
39
- } }, (0, common_1.i18n)('edit')),
40
- react_1.default.createElement(uikit_1.Menu.Item, { onClick: () => {
41
- const pos = getPos();
42
- if (pos === undefined)
43
- return;
44
- (0, remove_node_1.removeNode)({
45
- node,
46
- pos,
47
- tr: view.state.tr,
48
- dispatch: view.dispatch,
49
- });
50
- view.focus();
51
- } }, (0, common_1.i18n)('delete')))))) : null;
34
+ react_1.default.createElement(uikit_1.Menu.Item, { onClick: handleEdit }, (0, common_1.i18n)('edit')),
35
+ react_1.default.createElement(uikit_1.Menu.Item, { onClick: onDelete }, (0, common_1.i18n)('delete'))))));
52
36
  };
53
37
  exports.ImgSettingsButton = ImgSettingsButton;
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
- import { ReactNodeViewProps } from '../../../../../react-utils/react-node-view';
2
+ import { ReactNodeViewProps } from '../../../../../react-utils';
3
3
  export declare const cnImgSizeNodeView: import("@bem-react/classname").ClassNameFormatter;
4
4
  export declare const ImageNodeView: React.FC<ReactNodeViewProps>;
@@ -4,12 +4,70 @@ exports.ImageNodeView = exports.cnImgSizeNodeView = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const react_1 = tslib_1.__importStar(require("react"));
6
6
  const classname_1 = require("../../../../../classname");
7
+ const react_utils_1 = require("../../../../../react-utils");
8
+ const useNodeResizing_1 = require("../../../../../react-utils/useNodeResizing");
9
+ const utils_1 = require("../../../../../utils");
10
+ const Resizable_1 = require("../../../../behavior/Resizable/Resizable");
11
+ const ImgSizeSpecs_1 = require("../../ImgSizeSpecs");
12
+ const const_1 = require("../../const");
7
13
  const ImgSettingsButton_1 = require("./ImgSettingsButton");
8
14
  exports.cnImgSizeNodeView = (0, classname_1.cn)('img-size-node-view');
9
15
  const ImageNodeView = ({ node, view, getPos, updateAttributes, }) => {
10
- const ref = (0, react_1.useRef)(null);
11
- return (react_1.default.createElement(react_1.default.Fragment, null,
12
- react_1.default.createElement(ImgSettingsButton_1.ImgSettingsButton, { node: node, view: view, getPos: getPos, updateAttributes: updateAttributes, nodeRef: ref }),
13
- react_1.default.createElement("img", Object.assign({}, node.attrs, { ref: ref }))));
16
+ const imageContainerRef = (0, react_1.useRef)(null);
17
+ const imageRef = (0, react_1.useRef)(null);
18
+ const alt = node.attrs[ImgSizeSpecs_1.ImgSizeAttr.Alt] || '';
19
+ const initialHeight = node.attrs[ImgSizeSpecs_1.ImgSizeAttr.Height];
20
+ const initialWidth = node.attrs[ImgSizeSpecs_1.ImgSizeAttr.Width];
21
+ const src = node.attrs[ImgSizeSpecs_1.ImgSizeAttr.Src] || '';
22
+ const title = node.attrs[ImgSizeSpecs_1.ImgSizeAttr.Title] || '';
23
+ const isNodeHovered = (0, react_utils_1.useNodeHovered)(imageContainerRef);
24
+ const [edit, setEditing, unsetEdit, toggleEdit] = (0, react_utils_1.useNodeEditing)({
25
+ nodeRef: imageContainerRef,
26
+ view,
27
+ });
28
+ const handleResize = (0, react_1.useCallback)(({ width, height }) => {
29
+ updateAttributes({
30
+ width: width === undefined ? undefined : String(Math.round(width)),
31
+ height: height === undefined ? undefined : String(Math.round(height)),
32
+ name: title,
33
+ alt,
34
+ });
35
+ }, [alt, title, updateAttributes]);
36
+ const { state, startResizing } = (0, useNodeResizing_1.useNodeResizing)({
37
+ width: initialWidth,
38
+ height: initialHeight,
39
+ ref: imageRef,
40
+ onResize: handleResize,
41
+ });
42
+ const style = {
43
+ width: state.width ? `${state.width}px` : '',
44
+ height: state.height ? `${state.height}px` : '',
45
+ transition: 'width 0.15s ease-out, height 0.15s ease-out',
46
+ };
47
+ const handleDelete = (0, react_1.useCallback)(() => {
48
+ const pos = getPos();
49
+ if (pos === undefined)
50
+ return;
51
+ (0, utils_1.removeNode)({
52
+ node,
53
+ pos,
54
+ tr: view.state.tr,
55
+ dispatch: view.dispatch,
56
+ });
57
+ view.focus();
58
+ }, [getPos, node, view]);
59
+ const createHandleResize = (direction) => (event) => {
60
+ startResizing(event, direction);
61
+ };
62
+ (0, react_1.useEffect)(() => {
63
+ var _a;
64
+ if ((_a = const_1.imageRendererKey.getState(view.state)) === null || _a === void 0 ? void 0 : _a.linkAdded) {
65
+ setEditing();
66
+ }
67
+ }, [view, setEditing]);
68
+ return (react_1.default.createElement("div", { ref: imageContainerRef },
69
+ react_1.default.createElement(Resizable_1.Resizable, { hover: isNodeHovered, resizing: state.resizing, onResizeLeft: createHandleResize('left'), onResizeRight: createHandleResize('right') },
70
+ react_1.default.createElement(ImgSettingsButton_1.ImgSettingsButton, { node: node, view: view, getPos: getPos, updateAttributes: updateAttributes, visible: isNodeHovered && !edit && !state.resizing, edit: edit, toggleEdit: toggleEdit, nodeRef: imageRef, onDelete: handleDelete, unsetEdit: unsetEdit }),
71
+ react_1.default.createElement("img", { ref: imageRef, src: src, alt: alt, style: style }))));
14
72
  };
15
73
  exports.ImageNodeView = ImageNodeView;
@@ -7,8 +7,9 @@ const icons_1 = require("@gravity-ui/icons");
7
7
  const uikit_1 = require("@gravity-ui/uikit");
8
8
  const classname_1 = require("../../../../classname");
9
9
  const TextInput_1 = require("../../../../forms/TextInput");
10
- const hooks_1 = require("../../../../react-utils/hooks");
11
- const remove_node_1 = require("../../../../utils/remove-node");
10
+ const common_1 = require("../../../../i18n/common");
11
+ const react_utils_1 = require("../../../../react-utils");
12
+ const utils_1 = require("../../../../utils");
12
13
  const const_1 = require("../MermaidSpecs/const");
13
14
  exports.cnMermaid = (0, classname_1.cn)('Mermaid');
14
15
  exports.cnDiagramHelper = (0, classname_1.cn)('MermaidHelper');
@@ -58,8 +59,8 @@ const DiagramEditMode = ({ initialText, onSave, onCancel, mermaidInstance }) =>
58
59
  };
59
60
  const MermaidView = ({ onChange, node, getPos, view, getMermaidInstance }) => {
60
61
  const [mermaidInstance, setMermaidInstance] = (0, react_1.useState)(null);
61
- const [editing, setEditing, unsetEditing, toggleEditing] = (0, hooks_1.useBooleanState)(Boolean(node.attrs[const_1.MermaidConsts.NodeAttrs.newCreated]));
62
- const [menuOpen, , , toggleMenuOpen] = (0, hooks_1.useBooleanState)(false);
62
+ const [editing, setEditing, unsetEditing, toggleEditing] = (0, react_utils_1.useBooleanState)(Boolean(node.attrs[const_1.MermaidConsts.NodeAttrs.newCreated]));
63
+ const [menuOpen, , , toggleMenuOpen] = (0, react_utils_1.useBooleanState)(false);
63
64
  const buttonRef = (0, react_1.useRef)(null);
64
65
  (0, react_1.useEffect)(() => {
65
66
  const waitForMermaid = () => setTimeout(() => {
@@ -88,17 +89,17 @@ const MermaidView = ({ onChange, node, getPos, view, getMermaidInstance }) => {
88
89
  react_1.default.createElement(uikit_1.Menu.Item, { onClick: () => {
89
90
  toggleEditing();
90
91
  toggleMenuOpen();
91
- } }, "Edit"),
92
+ } }, (0, common_1.i18n)('edit')),
92
93
  react_1.default.createElement(uikit_1.Menu.Item, { onClick: () => {
93
94
  const pos = getPos();
94
95
  if (pos === undefined)
95
96
  return;
96
- (0, remove_node_1.removeNode)({
97
+ (0, utils_1.removeNode)({
97
98
  node,
98
99
  pos,
99
100
  tr: view.state.tr,
100
101
  dispatch: view.dispatch,
101
102
  });
102
- } }, "Remove"))))));
103
+ } }, (0, common_1.i18n)('remove')))))));
103
104
  };
104
105
  exports.MermaidView = MermaidView;
@@ -1 +1 @@
1
- export declare const controlActions: Record<"deleteTable" | "addRow" | "deleteRow" | "addColumn" | "deleteColumn" | "appendColumn" | "appendRow", import("../../../../../core").ActionSpec>;
1
+ export declare const controlActions: Record<"deleteTable" | "deleteRow" | "deleteColumn" | "appendColumn" | "appendRow", import("../../../../../core").ActionSpec>;
@@ -23,18 +23,10 @@ const removeYfmTable = (state, dispatch, _, attrs) => {
23
23
  return true;
24
24
  };
25
25
  exports.controlActions = (0, actions_1.defineActions)({
26
- addRow: {
27
- isEnable: table_utils_1.addRowAfter,
28
- run: table_utils_1.addRowAfter,
29
- },
30
26
  deleteRow: {
31
27
  isEnable: table_utils_1.removeRow,
32
28
  run: table_utils_1.removeRow,
33
29
  },
34
- addColumn: {
35
- isEnable: table_utils_1.addColumnAfter,
36
- run: table_utils_1.addColumnAfter,
37
- },
38
30
  deleteColumn: {
39
31
  isEnable: table_utils_1.removeColumn,
40
32
  run: table_utils_1.removeColumn,
@@ -11,3 +11,4 @@ export * from './YfmHeading';
11
11
  export * from './YfmNote';
12
12
  export * from './YfmTable';
13
13
  export * from './YfmTabs';
14
+ export * from './GPT';
@@ -14,3 +14,4 @@ tslib_1.__exportStar(require("./YfmHeading"), exports);
14
14
  tslib_1.__exportStar(require("./YfmNote"), exports);
15
15
  tslib_1.__exportStar(require("./YfmTable"), exports);
16
16
  tslib_1.__exportStar(require("./YfmTabs"), exports);
17
+ tslib_1.__exportStar(require("./GPT"), exports);
@@ -0,0 +1,16 @@
1
+ {
2
+ "answer-title": "What do you want to do with the response?",
3
+ "close-button": "Close",
4
+ "dislike": "Bad response",
5
+ "error": "An error occurred",
6
+ "feedback-message": "Thanks for your feedback!",
7
+ "fresh-start-button": "Start again",
8
+ "like": "Good response",
9
+ "more": "More",
10
+ "only-presets-title": "Help with text",
11
+ "refetch": "Try again",
12
+ "replace": "Replace the selected text",
13
+ "replace-disabled": "Insert text",
14
+ "try-again": "Try again",
15
+ "alert-gpt-presets-info": "Highlight text to see Yandex GPT presets"
16
+ }
@@ -0,0 +1,19 @@
1
+ export declare const i18n: <G extends "error" | "replace" | "answer-title" | "close-button" | "dislike" | "feedback-message" | "fresh-start-button" | "like" | "more" | "only-presets-title" | "refetch" | "replace-disabled" | "try-again" | "alert-gpt-presets-info", S extends string>(key: G | (string extends S ? S : never), params?: {
2
+ [key: string]: any;
3
+ } | undefined) => S extends G ? {
4
+ "answer-title": string;
5
+ "close-button": string;
6
+ dislike: string;
7
+ error: string;
8
+ "feedback-message": string;
9
+ "fresh-start-button": string;
10
+ like: string;
11
+ more: string;
12
+ "only-presets-title": string;
13
+ refetch: string;
14
+ replace: string;
15
+ "replace-disabled": string;
16
+ "try-again": string;
17
+ "alert-gpt-presets-info": string;
18
+ }[G] : string;
19
+ export declare type I18nKey = Parameters<typeof i18n>[0];
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.i18n = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const i18n_1 = require("../../i18n");
6
+ const en_json_1 = tslib_1.__importDefault(require("./en.json"));
7
+ const ru_json_1 = tslib_1.__importDefault(require("./ru.json"));
8
+ exports.i18n = (0, i18n_1.registerKeyset)('gpt-dialog', { en: en_json_1.default, ru: ru_json_1.default });
@@ -0,0 +1,16 @@
1
+ {
2
+ "answer-title": "Что вы хотите сделать с ответом?",
3
+ "close-button": "Закрыть",
4
+ "dislike": "Плохой ответ",
5
+ "error": "Произошла ошибка",
6
+ "feedback-message": "Ваш голос учтён!",
7
+ "fresh-start-button": "Начать сначала",
8
+ "like": "Хороший ответ",
9
+ "more": "Ещё",
10
+ "only-presets-title": "Помощь с текстом",
11
+ "refetch": "Попробовать ещё",
12
+ "replace": "Заменить выделенный текст",
13
+ "replace-disabled": "Вставить текст",
14
+ "try-again": "Иначе",
15
+ "alert-gpt-presets-info": "Выделите текст, чтобы увидеть пресеты Yandex GPT"
16
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "error-text": "An error occurred while generating a reply, please retry the request",
3
+ "retry-button": "Try again",
4
+ "start-again-button": "To the beginning"
5
+ }
@@ -0,0 +1,8 @@
1
+ export declare const i18n: <G extends "error-text" | "retry-button" | "start-again-button", S extends string>(key: G | (string extends S ? S : never), params?: {
2
+ [key: string]: any;
3
+ } | undefined) => S extends G ? {
4
+ "error-text": string;
5
+ "retry-button": string;
6
+ "start-again-button": string;
7
+ }[G] : string;
8
+ export declare type I18nKey = Parameters<typeof i18n>[0];
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.i18n = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const i18n_1 = require("../../i18n");
6
+ const en_json_1 = tslib_1.__importDefault(require("./en.json"));
7
+ const ru_json_1 = tslib_1.__importDefault(require("./ru.json"));
8
+ exports.i18n = (0, i18n_1.registerKeyset)('gpt-dialog-error-screen', { en: en_json_1.default, ru: ru_json_1.default });
@@ -0,0 +1,5 @@
1
+ {
2
+ "error-text": "Ошибка при генерации ответа, попробуйте повторить запрос",
3
+ "retry-button": "Повторить",
4
+ "start-again-button": "В начало"
5
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "confirm-cancel": "Cancel",
3
+ "confirm-ok": "Close",
4
+ "confirm-title": "Do you want to close the GPT editor?",
5
+ "help-with-text": "Help with text"
6
+ }
@@ -0,0 +1,9 @@
1
+ export declare const i18n: <G extends "confirm-cancel" | "confirm-ok" | "confirm-title" | "help-with-text", S extends string>(key: G | (string extends S ? S : never), params?: {
2
+ [key: string]: any;
3
+ } | undefined) => S extends G ? {
4
+ "confirm-cancel": string;
5
+ "confirm-ok": string;
6
+ "confirm-title": string;
7
+ "help-with-text": string;
8
+ }[G] : string;
9
+ export declare type I18nKey = Parameters<typeof i18n>[0];
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.i18n = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const i18n_1 = require("../../i18n");
6
+ const en_json_1 = tslib_1.__importDefault(require("./en.json"));
7
+ const ru_json_1 = tslib_1.__importDefault(require("./ru.json"));
8
+ exports.i18n = (0, i18n_1.registerKeyset)('gpt', { en: en_json_1.default, ru: ru_json_1.default });
@@ -0,0 +1,6 @@
1
+ {
2
+ "confirm-cancel": "Отменить",
3
+ "confirm-ok": "Закрыть",
4
+ "confirm-title": "Хотите закрыть помощника GPT?",
5
+ "help-with-text": "Помощь с текстом"
6
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "loading-text": "GPT is generating a response..."
3
+ }
@@ -0,0 +1,6 @@
1
+ export declare const i18n: <G extends "loading-text", S extends string>(key: G | (string extends S ? S : never), params?: {
2
+ [key: string]: any;
3
+ } | undefined) => S extends G ? {
4
+ "loading-text": string;
5
+ }[G] : string;
6
+ export declare type I18nKey = Parameters<typeof i18n>[0];
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.i18n = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const i18n_1 = require("../../i18n");
6
+ const en_json_1 = tslib_1.__importDefault(require("./en.json"));
7
+ const ru_json_1 = tslib_1.__importDefault(require("./ru.json"));
8
+ exports.i18n = (0, i18n_1.registerKeyset)('gpt-dialog-loading-screen', { en: en_json_1.default, ru: ru_json_1.default });
@@ -0,0 +1,3 @@
1
+ {
2
+ "loading-text": "GPT генерирует ответ..."
3
+ }
@@ -19,6 +19,7 @@
19
19
  "file": "File",
20
20
  "folding-heading": "Collapsed section",
21
21
  "folding-heading_hint": "The text under the heading can be collapsed or expanded",
22
+ "gpt": "GPT widget",
22
23
  "heading": "Heading",
23
24
  "heading1": "Heading 1",
24
25
  "heading2": "Heading 2",