@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.
- package/README.md +2 -0
- package/build/cjs/bundle/config/action-names.d.ts +1 -1
- package/build/cjs/bundle/config/action-names.js +1 -0
- package/build/cjs/bundle/config/icons.d.ts +1 -1
- package/build/cjs/bundle/config/icons.js +3 -0
- package/build/cjs/bundle/config/wysiwyg.d.ts +1 -0
- package/build/cjs/bundle/config/wysiwyg.js +13 -1
- package/build/cjs/extensions/behavior/Resizable/Resizable.css +38 -0
- package/build/cjs/extensions/behavior/Resizable/Resizable.d.ts +9 -0
- package/build/cjs/extensions/behavior/Resizable/Resizable.js +14 -0
- package/build/cjs/extensions/markdown/Table/actions/innerActions.d.ts +1 -1
- package/build/cjs/extensions/markdown/Table/plugins/TableCellContextPlugin/index.js +19 -9
- package/build/cjs/extensions/yfm/GPT/ErrorScreen/ErrorScreen.css +18 -0
- package/build/cjs/extensions/yfm/GPT/ErrorScreen/ErrorScreen.d.ts +8 -0
- package/build/cjs/extensions/yfm/GPT/ErrorScreen/ErrorScreen.js +21 -0
- package/build/cjs/extensions/yfm/GPT/ErrorScreen/types.d.ts +14 -0
- package/build/cjs/extensions/yfm/GPT/ErrorScreen/types.js +2 -0
- package/build/cjs/extensions/yfm/GPT/GptDialog/GptDialog.css +75 -0
- package/build/cjs/extensions/yfm/GPT/GptDialog/GptDialog.d.ts +28 -0
- package/build/cjs/extensions/yfm/GPT/GptDialog/GptDialog.js +102 -0
- package/build/cjs/extensions/yfm/GPT/GptDialog/LoadingScreen/LoadingScreen.css +22 -0
- package/build/cjs/extensions/yfm/GPT/GptDialog/LoadingScreen/LoadingScreen.d.ts +3 -0
- package/build/cjs/extensions/yfm/GPT/GptDialog/LoadingScreen/LoadingScreen.js +21 -0
- package/build/cjs/extensions/yfm/GPT/IconRefuge/IconRefuge.classname.d.ts +1 -0
- package/build/cjs/extensions/yfm/GPT/IconRefuge/IconRefuge.classname.js +5 -0
- package/build/cjs/extensions/yfm/GPT/IconRefuge/IconRefuge.css +8 -0
- package/build/cjs/extensions/yfm/GPT/IconRefuge/IconRefuge.d.ts +14 -0
- package/build/cjs/extensions/yfm/GPT/IconRefuge/IconRefuge.js +28 -0
- package/build/cjs/extensions/yfm/GPT/IconRefuge/index.d.ts +2 -0
- package/build/cjs/extensions/yfm/GPT/IconRefuge/index.js +5 -0
- package/build/cjs/extensions/yfm/GPT/PresetList/PresetList.d.ts +9 -0
- package/build/cjs/extensions/yfm/GPT/PresetList/PresetList.js +29 -0
- package/build/cjs/extensions/yfm/GPT/PresetList/Presetlist.css +6 -0
- package/build/cjs/extensions/yfm/GPT/actions.d.ts +2 -0
- package/build/cjs/extensions/yfm/GPT/actions.js +14 -0
- package/build/cjs/extensions/yfm/GPT/commands.d.ts +2 -0
- package/build/cjs/extensions/yfm/GPT/commands.js +13 -0
- package/build/cjs/extensions/yfm/GPT/constants.d.ts +13 -0
- package/build/cjs/extensions/yfm/GPT/constants.js +15 -0
- package/build/cjs/extensions/yfm/GPT/gptExtension/gptExtension.d.ts +13 -0
- package/build/cjs/extensions/yfm/GPT/gptExtension/gptExtension.js +18 -0
- package/build/cjs/extensions/yfm/GPT/gptExtension/view.css +17 -0
- package/build/cjs/extensions/yfm/GPT/gptExtension/view.d.ts +36 -0
- package/build/cjs/extensions/yfm/GPT/gptExtension/view.js +171 -0
- package/build/cjs/extensions/yfm/GPT/hooks/useGpt.d.ts +27 -0
- package/build/cjs/extensions/yfm/GPT/hooks/useGpt.js +148 -0
- package/build/cjs/extensions/yfm/GPT/hooks/useGptHotKeys.d.ts +2 -0
- package/build/cjs/extensions/yfm/GPT/hooks/useGptHotKeys.js +8 -0
- package/build/cjs/extensions/yfm/GPT/hooks/useOverflowingHorizontalItems.d.ts +13 -0
- package/build/cjs/extensions/yfm/GPT/hooks/useOverflowingHorizontalItems.js +70 -0
- package/build/cjs/extensions/yfm/GPT/hooks/usePresetList.d.ts +14 -0
- package/build/cjs/extensions/yfm/GPT/hooks/usePresetList.js +36 -0
- package/build/cjs/extensions/yfm/GPT/index.d.ts +2 -0
- package/build/cjs/extensions/yfm/GPT/index.js +5 -0
- package/build/cjs/extensions/yfm/GPT/plugin.d.ts +13 -0
- package/build/cjs/extensions/yfm/GPT/plugin.js +47 -0
- package/build/cjs/extensions/yfm/GPT/toolbar.d.ts +3 -0
- package/build/cjs/extensions/yfm/GPT/toolbar.js +22 -0
- package/build/cjs/extensions/yfm/GPT/utils.d.ts +13 -0
- package/build/cjs/extensions/yfm/GPT/utils.js +31 -0
- package/build/cjs/extensions/yfm/ImgSize/plugins/ImgSizeNodeView/ImgSettingsButton.css +6 -0
- package/build/cjs/extensions/yfm/ImgSize/plugins/ImgSizeNodeView/ImgSettingsButton.d.ts +6 -1
- package/build/cjs/extensions/yfm/ImgSize/plugins/ImgSizeNodeView/ImgSettingsButton.js +21 -37
- package/build/cjs/extensions/yfm/ImgSize/plugins/ImgSizeNodeView/NodeView.d.ts +1 -1
- package/build/cjs/extensions/yfm/ImgSize/plugins/ImgSizeNodeView/NodeView.js +62 -4
- package/build/cjs/extensions/yfm/Mermaid/MermaidNodeView/MermaidView.js +8 -7
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/actions.d.ts +1 -1
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/actions.js +0 -8
- package/build/cjs/extensions/yfm/index.d.ts +1 -0
- package/build/cjs/extensions/yfm/index.js +1 -0
- package/build/cjs/i18n/gpt/dialog/en.json +16 -0
- package/build/cjs/i18n/gpt/dialog/index.d.ts +19 -0
- package/build/cjs/i18n/gpt/dialog/index.js +8 -0
- package/build/cjs/i18n/gpt/dialog/ru.json +16 -0
- package/build/cjs/i18n/gpt/errors/en.json +5 -0
- package/build/cjs/i18n/gpt/errors/index.d.ts +8 -0
- package/build/cjs/i18n/gpt/errors/index.js +8 -0
- package/build/cjs/i18n/gpt/errors/ru.json +5 -0
- package/build/cjs/i18n/gpt/extension/en.json +6 -0
- package/build/cjs/i18n/gpt/extension/index.d.ts +9 -0
- package/build/cjs/i18n/gpt/extension/index.js +8 -0
- package/build/cjs/i18n/gpt/extension/ru.json +6 -0
- package/build/cjs/i18n/gpt/loading/en.json +3 -0
- package/build/cjs/i18n/gpt/loading/index.d.ts +6 -0
- package/build/cjs/i18n/gpt/loading/index.js +8 -0
- package/build/cjs/i18n/gpt/loading/ru.json +3 -0
- package/build/cjs/i18n/menubar/en.json +1 -0
- package/build/cjs/i18n/menubar/index.d.ts +2 -1
- package/build/cjs/i18n/menubar/ru.json +1 -0
- package/build/cjs/i18n/yfm-table/en.json +10 -1
- package/build/cjs/i18n/yfm-table/index.d.ts +10 -1
- package/build/cjs/i18n/yfm-table/ru.json +10 -1
- package/build/cjs/icons/GPT.d.ts +2 -0
- package/build/cjs/icons/GPT.js +22 -0
- package/build/cjs/icons/GPTLoading.d.ts +2 -0
- package/build/cjs/icons/GPTLoading.js +12 -0
- package/build/cjs/icons/index.d.ts +3 -1
- package/build/cjs/icons/index.js +5 -1
- package/build/cjs/react-utils/useAutoFocus.d.ts +1 -1
- package/build/cjs/react-utils/useAutoFocus.js +2 -2
- package/build/cjs/react-utils/useNodeEditing.d.ts +3 -2
- package/build/cjs/react-utils/useNodeEditing.js +1 -1
- package/build/cjs/react-utils/useNodeResizing.d.ts +22 -0
- package/build/cjs/react-utils/useNodeResizing.js +82 -0
- package/build/cjs/table-utils/commands/appendColumn.js +42 -33
- package/build/cjs/table-utils/commands/appendRow.js +40 -22
- package/build/cjs/table-utils/commands/removeColumn.js +18 -20
- package/build/cjs/table-utils/commands/removeRow.js +12 -9
- package/build/cjs/table-utils/table-desc.d.ts +53 -0
- package/build/cjs/table-utils/table-desc.js +149 -0
- package/build/cjs/table-utils/utils.d.ts +1 -1
- package/build/cjs/table-utils/utils.js +19 -12
- package/build/cjs/version.js +1 -1
- package/build/esm/bundle/config/action-names.d.ts +1 -1
- package/build/esm/bundle/config/action-names.js +1 -0
- package/build/esm/bundle/config/icons.d.ts +1 -1
- package/build/esm/bundle/config/icons.js +2 -0
- package/build/esm/bundle/config/wysiwyg.d.ts +1 -0
- package/build/esm/bundle/config/wysiwyg.js +12 -0
- package/build/esm/extensions/behavior/Resizable/Resizable.css +38 -0
- package/build/esm/extensions/behavior/Resizable/Resizable.d.ts +10 -0
- package/build/esm/extensions/behavior/Resizable/Resizable.js +10 -0
- package/build/esm/extensions/markdown/Table/actions/innerActions.d.ts +1 -1
- package/build/esm/extensions/markdown/Table/plugins/TableCellContextPlugin/index.js +19 -9
- package/build/esm/extensions/yfm/GPT/ErrorScreen/ErrorScreen.css +18 -0
- package/build/esm/extensions/yfm/GPT/ErrorScreen/ErrorScreen.d.ts +9 -0
- package/build/esm/extensions/yfm/GPT/ErrorScreen/ErrorScreen.js +17 -0
- package/build/esm/extensions/yfm/GPT/ErrorScreen/types.d.ts +14 -0
- package/build/esm/extensions/yfm/GPT/ErrorScreen/types.js +1 -0
- package/build/esm/extensions/yfm/GPT/GptDialog/GptDialog.css +75 -0
- package/build/esm/extensions/yfm/GPT/GptDialog/GptDialog.d.ts +29 -0
- package/build/esm/extensions/yfm/GPT/GptDialog/GptDialog.js +98 -0
- package/build/esm/extensions/yfm/GPT/GptDialog/LoadingScreen/LoadingScreen.css +22 -0
- package/build/esm/extensions/yfm/GPT/GptDialog/LoadingScreen/LoadingScreen.d.ts +4 -0
- package/build/esm/extensions/yfm/GPT/GptDialog/LoadingScreen/LoadingScreen.js +17 -0
- package/build/esm/extensions/yfm/GPT/IconRefuge/IconRefuge.classname.d.ts +1 -0
- package/build/esm/extensions/yfm/GPT/IconRefuge/IconRefuge.classname.js +2 -0
- package/build/esm/extensions/yfm/GPT/IconRefuge/IconRefuge.css +8 -0
- package/build/esm/extensions/yfm/GPT/IconRefuge/IconRefuge.d.ts +15 -0
- package/build/esm/extensions/yfm/GPT/IconRefuge/IconRefuge.js +25 -0
- package/build/esm/extensions/yfm/GPT/IconRefuge/index.d.ts +2 -0
- package/build/esm/extensions/yfm/GPT/IconRefuge/index.js +1 -0
- package/build/esm/extensions/yfm/GPT/PresetList/PresetList.d.ts +10 -0
- package/build/esm/extensions/yfm/GPT/PresetList/PresetList.js +25 -0
- package/build/esm/extensions/yfm/GPT/PresetList/Presetlist.css +6 -0
- package/build/esm/extensions/yfm/GPT/actions.d.ts +2 -0
- package/build/esm/extensions/yfm/GPT/actions.js +10 -0
- package/build/esm/extensions/yfm/GPT/commands.d.ts +2 -0
- package/build/esm/extensions/yfm/GPT/commands.js +9 -0
- package/build/esm/extensions/yfm/GPT/constants.d.ts +13 -0
- package/build/esm/extensions/yfm/GPT/constants.js +12 -0
- package/build/esm/extensions/yfm/GPT/gptExtension/gptExtension.d.ts +13 -0
- package/build/esm/extensions/yfm/GPT/gptExtension/gptExtension.js +14 -0
- package/build/esm/extensions/yfm/GPT/gptExtension/view.css +17 -0
- package/build/esm/extensions/yfm/GPT/gptExtension/view.d.ts +37 -0
- package/build/esm/extensions/yfm/GPT/gptExtension/view.js +167 -0
- package/build/esm/extensions/yfm/GPT/hooks/useGpt.d.ts +27 -0
- package/build/esm/extensions/yfm/GPT/hooks/useGpt.js +144 -0
- package/build/esm/extensions/yfm/GPT/hooks/useGptHotKeys.d.ts +2 -0
- package/build/esm/extensions/yfm/GPT/hooks/useGptHotKeys.js +4 -0
- package/build/esm/extensions/yfm/GPT/hooks/useOverflowingHorizontalItems.d.ts +13 -0
- package/build/esm/extensions/yfm/GPT/hooks/useOverflowingHorizontalItems.js +65 -0
- package/build/esm/extensions/yfm/GPT/hooks/usePresetList.d.ts +14 -0
- package/build/esm/extensions/yfm/GPT/hooks/usePresetList.js +32 -0
- package/build/esm/extensions/yfm/GPT/index.d.ts +2 -0
- package/build/esm/extensions/yfm/GPT/index.js +2 -0
- package/build/esm/extensions/yfm/GPT/plugin.d.ts +13 -0
- package/build/esm/extensions/yfm/GPT/plugin.js +43 -0
- package/build/esm/extensions/yfm/GPT/toolbar.d.ts +3 -0
- package/build/esm/extensions/yfm/GPT/toolbar.js +18 -0
- package/build/esm/extensions/yfm/GPT/utils.d.ts +13 -0
- package/build/esm/extensions/yfm/GPT/utils.js +23 -0
- package/build/esm/extensions/yfm/ImgSize/plugins/ImgSizeNodeView/ImgSettingsButton.css +6 -0
- package/build/esm/extensions/yfm/ImgSize/plugins/ImgSizeNodeView/ImgSettingsButton.d.ts +7 -1
- package/build/esm/extensions/yfm/ImgSize/plugins/ImgSizeNodeView/ImgSettingsButton.js +23 -38
- package/build/esm/extensions/yfm/ImgSize/plugins/ImgSizeNodeView/NodeView.d.ts +1 -1
- package/build/esm/extensions/yfm/ImgSize/plugins/ImgSizeNodeView/NodeView.js +63 -5
- package/build/esm/extensions/yfm/Mermaid/MermaidNodeView/MermaidView.js +5 -4
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/actions.d.ts +1 -1
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/actions.js +1 -9
- package/build/esm/extensions/yfm/index.d.ts +1 -0
- package/build/esm/extensions/yfm/index.js +1 -0
- package/build/esm/i18n/gpt/dialog/en.json +16 -0
- package/build/esm/i18n/gpt/dialog/index.d.ts +19 -0
- package/build/esm/i18n/gpt/dialog/index.js +4 -0
- package/build/esm/i18n/gpt/dialog/ru.json +16 -0
- package/build/esm/i18n/gpt/errors/en.json +5 -0
- package/build/esm/i18n/gpt/errors/index.d.ts +8 -0
- package/build/esm/i18n/gpt/errors/index.js +4 -0
- package/build/esm/i18n/gpt/errors/ru.json +5 -0
- package/build/esm/i18n/gpt/extension/en.json +6 -0
- package/build/esm/i18n/gpt/extension/index.d.ts +9 -0
- package/build/esm/i18n/gpt/extension/index.js +4 -0
- package/build/esm/i18n/gpt/extension/ru.json +6 -0
- package/build/esm/i18n/gpt/loading/en.json +3 -0
- package/build/esm/i18n/gpt/loading/index.d.ts +6 -0
- package/build/esm/i18n/gpt/loading/index.js +4 -0
- package/build/esm/i18n/gpt/loading/ru.json +3 -0
- package/build/esm/i18n/menubar/en.json +1 -0
- package/build/esm/i18n/menubar/index.d.ts +2 -1
- package/build/esm/i18n/menubar/ru.json +1 -0
- package/build/esm/i18n/yfm-table/en.json +10 -1
- package/build/esm/i18n/yfm-table/index.d.ts +10 -1
- package/build/esm/i18n/yfm-table/ru.json +10 -1
- package/build/esm/icons/GPT.d.ts +2 -0
- package/build/esm/icons/GPT.js +19 -0
- package/build/esm/icons/GPTLoading.d.ts +2 -0
- package/build/esm/icons/GPTLoading.js +9 -0
- package/build/esm/icons/index.d.ts +3 -1
- package/build/esm/icons/index.js +3 -1
- package/build/esm/react-utils/useAutoFocus.d.ts +1 -1
- package/build/esm/react-utils/useAutoFocus.js +2 -2
- package/build/esm/react-utils/useNodeEditing.d.ts +3 -2
- package/build/esm/react-utils/useNodeEditing.js +1 -1
- package/build/esm/react-utils/useNodeResizing.d.ts +22 -0
- package/build/esm/react-utils/useNodeResizing.js +77 -0
- package/build/esm/table-utils/commands/appendColumn.js +44 -35
- package/build/esm/table-utils/commands/appendRow.js +42 -24
- package/build/esm/table-utils/commands/removeColumn.js +18 -20
- package/build/esm/table-utils/commands/removeRow.js +14 -11
- package/build/esm/table-utils/table-desc.d.ts +53 -0
- package/build/esm/table-utils/table-desc.js +144 -0
- package/build/esm/table-utils/utils.d.ts +1 -1
- package/build/esm/table-utils/utils.js +18 -12
- package/build/esm/version.js +1 -1
- package/build/styles.css +190 -0
- 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,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,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;
|
|
@@ -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
|
|
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
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
react_1.default.createElement(uikit_1.Button, { onClick:
|
|
33
|
-
react_1.default.createElement(uikit_1.Icon, { data: icons_1.Ellipsis })),
|
|
34
|
-
react_1.default.createElement(uikit_1.Popup, { open:
|
|
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
|
-
|
|
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
|
|
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
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
|
11
|
-
const
|
|
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,
|
|
62
|
-
const [menuOpen, , , toggleMenuOpen] = (0,
|
|
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
|
-
} },
|
|
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,
|
|
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
|
-
} },
|
|
103
|
+
} }, (0, common_1.i18n)('remove')))))));
|
|
103
104
|
};
|
|
104
105
|
exports.MermaidView = MermaidView;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const controlActions: Record<"deleteTable" | "
|
|
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,
|
|
@@ -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,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,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
|
+
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 });
|