@skbkontur/markdown 2.5.8-alpha.9 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/package.json +3 -3
  2. package/src/Markdown/Emoji/EmojiDropdown.d.ts +1 -0
  3. package/src/Markdown/Emoji/EmojiDropdown.js +3 -2
  4. package/src/Markdown/Markdown.creevey.js +175 -260
  5. package/src/Markdown/Markdown.js +33 -30
  6. package/src/Markdown/Markdown.styled.d.ts +2 -0
  7. package/src/Markdown/Markdown.styled.js +16 -14
  8. package/src/Markdown/MarkdownActions/AIActionsDropdown/AIActionsDropdown.d.ts +1 -0
  9. package/src/Markdown/MarkdownActions/AIActionsDropdown/AIActionsDropdown.js +39 -33
  10. package/src/Markdown/MarkdownActions/AIActionsDropdown/AIActionsDropdown.styled.d.ts +1 -1
  11. package/src/Markdown/MarkdownActions/AIActionsDropdown/AIActionsDropdown.styled.js +2 -2
  12. package/src/Markdown/MarkdownActions/AIActionsDropdown/constants.d.ts +1 -1
  13. package/src/Markdown/MarkdownActions/AIActionsDropdown/constants.js +1 -1
  14. package/src/Markdown/MarkdownActions/MarkdownActions.js +15 -14
  15. package/src/Markdown/MarkdownActions/MarkdownDropdown/MarkdownDropdown.d.ts +6 -0
  16. package/src/Markdown/MarkdownActions/MarkdownDropdown/MarkdownDropdown.js +8 -10
  17. package/src/Markdown/MarkdownActions/MarkdownDropdown/MarkdownDropdown.styled.js +1 -1
  18. package/src/Markdown/MarkdownHelpItems.d.ts +2 -0
  19. package/src/Markdown/MarkdownHelpItems.js +16 -0
  20. package/src/Markdown/MarkdownHelpers/MarkdownFormatButton.d.ts +16 -3
  21. package/src/Markdown/MarkdownHelpers/MarkdownFormatButton.js +7 -6
  22. package/src/Markdown/MarkdownTids.d.ts +24 -0
  23. package/src/Markdown/MarkdownTids.js +25 -0
  24. package/src/Markdown/MarkdownHelpers/types.d.ts +0 -11
  25. package/src/Markdown/MarkdownHelpers/types.js +0 -1
@@ -11,6 +11,7 @@ var _a, _b;
11
11
  import React from 'react';
12
12
  import { MarkdownSymbolWrapper } from './Markdown.styled';
13
13
  import { MarkdownFormat } from './MarkdownFormat';
14
+ import { MarkdownTids } from './MarkdownTids';
14
15
  import { AttachLink } from '../MarkdownIcons/AttachLink';
15
16
  import { AttachPaperclip } from '../MarkdownIcons/AttachPaperclip';
16
17
  import { CheckedList } from '../MarkdownIcons/CheckedList';
@@ -70,6 +71,7 @@ export function checkSpaceSymbol(text, checkedLength) {
70
71
  export var markdownHelpHeaders = [
71
72
  {
72
73
  format: MarkdownFormat.h2,
74
+ tid: MarkdownTids.HeadingH2,
73
75
  node: (React.createElement(React.Fragment, null,
74
76
  React.createElement(MarkdownSymbolWrapper, null, "##"),
75
77
  " \u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A 2")),
@@ -78,6 +80,7 @@ export var markdownHelpHeaders = [
78
80
  },
79
81
  {
80
82
  format: MarkdownFormat.h3,
83
+ tid: MarkdownTids.HeadingH3,
81
84
  node: (React.createElement(React.Fragment, null,
82
85
  React.createElement(MarkdownSymbolWrapper, null, "###"),
83
86
  " \u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A 3")),
@@ -86,6 +89,7 @@ export var markdownHelpHeaders = [
86
89
  },
87
90
  {
88
91
  format: MarkdownFormat.h4,
92
+ tid: MarkdownTids.HeadingH4,
89
93
  node: (React.createElement(React.Fragment, null,
90
94
  React.createElement(MarkdownSymbolWrapper, null, "####"),
91
95
  " \u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A 4")),
@@ -96,6 +100,7 @@ export var markdownHelpHeaders = [
96
100
  export var markdownHelpText = [
97
101
  {
98
102
  format: MarkdownFormat.bold,
103
+ tid: MarkdownTids.Bold,
99
104
  node: (React.createElement(React.Fragment, null,
100
105
  React.createElement(MarkdownSymbolWrapper, null, "**"),
101
106
  "\u0416\u0438\u0440\u043D\u044B\u0439",
@@ -107,6 +112,7 @@ export var markdownHelpText = [
107
112
  },
108
113
  {
109
114
  format: MarkdownFormat.italic,
115
+ tid: MarkdownTids.Italic,
110
116
  node: (React.createElement(React.Fragment, null,
111
117
  React.createElement(MarkdownSymbolWrapper, null, "*"),
112
118
  "\u041A\u0443\u0440\u0441\u0438\u0432",
@@ -118,6 +124,7 @@ export var markdownHelpText = [
118
124
  },
119
125
  {
120
126
  format: MarkdownFormat.crossed,
127
+ tid: MarkdownTids.Crossed,
121
128
  node: (React.createElement(React.Fragment, null,
122
129
  React.createElement(MarkdownSymbolWrapper, null, "~~"),
123
130
  "\u0417\u0430\u0447\u0435\u0440\u043A\u043D\u0443\u0442\u044B\u0439",
@@ -131,6 +138,7 @@ export var markdownHelpText = [
131
138
  },
132
139
  {
133
140
  format: MarkdownFormat.ref,
141
+ tid: MarkdownTids.Ref,
134
142
  node: (React.createElement(React.Fragment, null,
135
143
  React.createElement(MarkdownSymbolWrapper, null, "["),
136
144
  "\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0441\u0441\u044B\u043B\u043A\u0438",
@@ -147,6 +155,7 @@ export var markdownHelpText = [
147
155
  export var markdownHelpLists = [
148
156
  {
149
157
  format: MarkdownFormat.list,
158
+ tid: MarkdownTids.List,
150
159
  node: (React.createElement(React.Fragment, null,
151
160
  React.createElement(MarkdownSymbolWrapper, null, "*"),
152
161
  " \u0421\u043F\u0438\u0441\u043E\u043A")),
@@ -156,6 +165,7 @@ export var markdownHelpLists = [
156
165
  },
157
166
  {
158
167
  format: MarkdownFormat.checkedList,
168
+ tid: MarkdownTids.CheckedList,
159
169
  node: (React.createElement(React.Fragment, null,
160
170
  React.createElement(MarkdownSymbolWrapper, null, "* [x]"),
161
171
  " \u0421\u043F\u0438\u0441\u043E\u043A - \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u043E")),
@@ -165,6 +175,7 @@ export var markdownHelpLists = [
165
175
  },
166
176
  {
167
177
  format: MarkdownFormat.numberedList,
178
+ tid: MarkdownTids.NumberedList,
168
179
  node: (React.createElement(React.Fragment, null,
169
180
  React.createElement(MarkdownSymbolWrapper, null, "1. "),
170
181
  " \u0421\u043F\u0438\u0441\u043E\u043A - \u043D\u0443\u043C\u0435\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0439")),
@@ -176,6 +187,7 @@ export var markdownHelpLists = [
176
187
  export var markdownHelpOther = [
177
188
  {
178
189
  format: MarkdownFormat.codeBlock,
190
+ tid: MarkdownTids.CodeBlock,
179
191
  node: (React.createElement(React.Fragment, null,
180
192
  React.createElement(MarkdownSymbolWrapper, null, "`"),
181
193
  "\u0411\u043B\u043E\u043A \u043A\u043E\u0434\u0430",
@@ -187,6 +199,7 @@ export var markdownHelpOther = [
187
199
  },
188
200
  {
189
201
  format: MarkdownFormat.quote,
202
+ tid: MarkdownTids.Quote,
190
203
  node: (React.createElement(React.Fragment, null,
191
204
  React.createElement(MarkdownSymbolWrapper, null,
192
205
  '>',
@@ -198,6 +211,7 @@ export var markdownHelpOther = [
198
211
  },
199
212
  {
200
213
  format: MarkdownFormat.table,
214
+ tid: MarkdownTids.Table,
201
215
  node: 'Таблица',
202
216
  icon: React.createElement(Table, null),
203
217
  wrapContent: function () { return "| \u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A | \u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A |\n| ------ | ------ |\n| \u042F\u0447\u0435\u0439\u043A\u0430 | \u042F\u0447\u0435\u0439\u043A\u0430 |\n| \u042F\u0447\u0435\u0439\u043A\u0430 | \u042F\u0447\u0435\u0439\u043A\u0430 |"; },
@@ -210,6 +224,7 @@ export var markdownHelpFiles = function (fileApiUrl) {
210
224
  return [
211
225
  {
212
226
  format: MarkdownFormat.image,
227
+ tid: MarkdownTids.AttachFile,
213
228
  node: '',
214
229
  icon: React.createElement("span", null),
215
230
  wrapContent: function (file) { return "![img](".concat(fileApiUrl).concat(file.id, ")"); },
@@ -217,6 +232,7 @@ export var markdownHelpFiles = function (fileApiUrl) {
217
232
  },
218
233
  {
219
234
  format: MarkdownFormat.file,
235
+ tid: MarkdownTids.AttachFile,
220
236
  node: '',
221
237
  icon: React.createElement(AttachPaperclip, null),
222
238
  wrapContent: function (file) { return "[".concat(file.caption, "](").concat(fileApiUrl).concat(file.id, ")"); },
@@ -1,9 +1,22 @@
1
- import { FC } from 'react';
2
- import { MarkdownButtonProps } from './types';
1
+ import { PopupPositionsType, ShortPopupPositionsType } from '@skbkontur/react-ui/cjs/internal/Popup';
2
+ import { FC, ReactNode, SyntheticEvent } from 'react';
3
3
  import { MarkdownFormat } from '../MarkdownFormat';
4
- interface Props extends MarkdownButtonProps {
4
+ import { MarkdownTids } from '../MarkdownTids';
5
+ interface Props {
6
+ hintText: ReactNode;
7
+ icon: ReactNode;
8
+ text: ReactNode;
9
+ dataTid?: MarkdownTids;
10
+ disabled?: boolean;
5
11
  format?: MarkdownFormat;
12
+ hintPos?: ShortPopupPositionsType | PopupPositionsType;
6
13
  href?: string;
14
+ isLoading?: boolean;
15
+ onClick?: (event: SyntheticEvent) => void;
16
+ showActionHint?: boolean;
17
+ showHintWhenDisabled?: boolean;
18
+ showShortKey?: boolean;
19
+ showText?: boolean;
7
20
  }
8
21
  export declare const MarkdownFormatButton: FC<Props>;
9
22
  export {};
@@ -1,16 +1,17 @@
1
1
  import { Hint } from '@skbkontur/react-ui';
2
2
  import React from 'react';
3
3
  import { MarkdownCombination } from '../../MarkdownCombination/MarkdownCombination';
4
- import { MarkdownButtonIcon, MarkdownButtonWrapper, VisuallyHidden } from '../Markdown.styled';
4
+ import { MarkdownButtonContentWrapper, MarkdownButtonIcon, MarkdownButtonWrapper, VisuallyHidden, } from '../Markdown.styled';
5
5
  export var MarkdownFormatButton = function (_a) {
6
- var icon = _a.icon, hintText = _a.hintText, onClick = _a.onClick, format = _a.format, disabled = _a.disabled, text = _a.text, href = _a.href, showActionHint = _a.showActionHint, showShortKey = _a.showShortKey;
7
- var button = (React.createElement(MarkdownButtonWrapper, { borderless: true, disabled: disabled, onClick: onClick },
8
- React.createElement(MarkdownButtonIcon, null, icon),
9
- React.createElement(VisuallyHidden, null, text)));
6
+ var dataTid = _a.dataTid, icon = _a.icon, hintText = _a.hintText, onClick = _a.onClick, format = _a.format, disabled = _a.disabled, text = _a.text, href = _a.href, showActionHint = _a.showActionHint, showHintWhenDisabled = _a.showHintWhenDisabled, showShortKey = _a.showShortKey, showText = _a.showText, hintPos = _a.hintPos;
7
+ var button = (React.createElement(MarkdownButtonWrapper, { borderless: true, disabled: disabled, "data-tid": dataTid, onClick: onClick },
8
+ React.createElement(MarkdownButtonContentWrapper, { onMouseDown: function (e) { return e.preventDefault(); } },
9
+ !!icon && React.createElement(MarkdownButtonIcon, null, icon),
10
+ showText ? text : React.createElement(VisuallyHidden, null, text))));
10
11
  var content = href ? (React.createElement("a", { href: href, tabIndex: -1, target: "_blank", rel: "noopener noreferrer nofollow" }, button)) : (button);
11
12
  if (!showActionHint && !showShortKey)
12
13
  return content;
13
14
  var actualHintText = showActionHint && hintText;
14
15
  var hintComponent = format ? (React.createElement(MarkdownCombination, { format: format, text: actualHintText, showShortKey: showShortKey })) : (actualHintText);
15
- return (React.createElement(Hint, { manual: disabled, text: hintComponent, pos: "top center", maxWidth: 360 }, content));
16
+ return (React.createElement(Hint, { manual: !showHintWhenDisabled && disabled, text: hintComponent, pos: hintPos !== null && hintPos !== void 0 ? hintPos : 'top center', maxWidth: 360 }, content));
16
17
  };
@@ -0,0 +1,24 @@
1
+ export declare enum MarkdownTids {
2
+ HeadingDropdown = "MarkdownHeadingDropdown",
3
+ HeadingH2 = "MarkdownHeadingH2",
4
+ HeadingH3 = "MarkdownHeadingH3",
5
+ HeadingH4 = "MarkdownHeadingH4",
6
+ Bold = "MarkdownBold",
7
+ Italic = "MarkdownItalic",
8
+ Crossed = "MarkdownCrossed",
9
+ Ref = "MarkdownRef",
10
+ List = "MarkdownList",
11
+ CheckedList = "MarkdownCheckedList",
12
+ NumberedList = "MarkdownNumberedList",
13
+ CodeBlock = "MarkdownCodeBlock",
14
+ Quote = "MarkdownQuote",
15
+ Table = "MarkdownTable",
16
+ AttachFile = "MarkdownAttachFile",
17
+ Emoji = "MarkdownEmoji",
18
+ AI = "MarkdownAI",
19
+ Help = "MarkdownHelp",
20
+ SplitView = "MarkdownSplitView",
21
+ EditView = "MarkdownEditView",
22
+ PreviewView = "MarkdownPreviewView",
23
+ FullscreenToggle = "MarkdownFullscreenToggle"
24
+ }
@@ -0,0 +1,25 @@
1
+ export var MarkdownTids;
2
+ (function (MarkdownTids) {
3
+ MarkdownTids["HeadingDropdown"] = "MarkdownHeadingDropdown";
4
+ MarkdownTids["HeadingH2"] = "MarkdownHeadingH2";
5
+ MarkdownTids["HeadingH3"] = "MarkdownHeadingH3";
6
+ MarkdownTids["HeadingH4"] = "MarkdownHeadingH4";
7
+ MarkdownTids["Bold"] = "MarkdownBold";
8
+ MarkdownTids["Italic"] = "MarkdownItalic";
9
+ MarkdownTids["Crossed"] = "MarkdownCrossed";
10
+ MarkdownTids["Ref"] = "MarkdownRef";
11
+ MarkdownTids["List"] = "MarkdownList";
12
+ MarkdownTids["CheckedList"] = "MarkdownCheckedList";
13
+ MarkdownTids["NumberedList"] = "MarkdownNumberedList";
14
+ MarkdownTids["CodeBlock"] = "MarkdownCodeBlock";
15
+ MarkdownTids["Quote"] = "MarkdownQuote";
16
+ MarkdownTids["Table"] = "MarkdownTable";
17
+ MarkdownTids["AttachFile"] = "MarkdownAttachFile";
18
+ MarkdownTids["Emoji"] = "MarkdownEmoji";
19
+ MarkdownTids["AI"] = "MarkdownAI";
20
+ MarkdownTids["Help"] = "MarkdownHelp";
21
+ MarkdownTids["SplitView"] = "MarkdownSplitView";
22
+ MarkdownTids["EditView"] = "MarkdownEditView";
23
+ MarkdownTids["PreviewView"] = "MarkdownPreviewView";
24
+ MarkdownTids["FullscreenToggle"] = "MarkdownFullscreenToggle";
25
+ })(MarkdownTids || (MarkdownTids = {}));
@@ -1,11 +0,0 @@
1
- import { ReactNode, SyntheticEvent } from 'react';
2
- export interface MarkdownButtonProps {
3
- hintText: ReactNode;
4
- icon: ReactNode;
5
- text: string;
6
- disabled?: boolean;
7
- isLoading?: boolean;
8
- onClick?: (event: SyntheticEvent) => void;
9
- showActionHint?: boolean;
10
- showShortKey?: boolean;
11
- }
@@ -1 +0,0 @@
1
- export {};