@eccenca/gui-elements 24.1.0-rc.3 → 24.1.0-rc.5

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 (125) hide show
  1. package/CHANGELOG.md +57 -2
  2. package/dist/cjs/cmem/ActivityControl/ActivityControlWidget.js +7 -2
  3. package/dist/cjs/cmem/ActivityControl/ActivityControlWidget.js.map +1 -1
  4. package/dist/cjs/components/AutoSuggestion/AutoSuggestion.js +5 -3
  5. package/dist/cjs/components/AutoSuggestion/AutoSuggestion.js.map +1 -1
  6. package/dist/cjs/components/AutocompleteField/AutoCompleteField.js +4 -2
  7. package/dist/cjs/components/AutocompleteField/AutoCompleteField.js.map +1 -1
  8. package/dist/cjs/components/Card/CardActions.js +2 -1
  9. package/dist/cjs/components/Card/CardActions.js.map +1 -1
  10. package/dist/cjs/components/Card/CardContent.js +4 -6
  11. package/dist/cjs/components/Card/CardContent.js.map +1 -1
  12. package/dist/cjs/components/Dialog/SimpleDialog.js +3 -3
  13. package/dist/cjs/components/Dialog/SimpleDialog.js.map +1 -1
  14. package/dist/cjs/components/Icon/canonicalIconNames.js +12 -0
  15. package/dist/cjs/components/Icon/canonicalIconNames.js.map +1 -1
  16. package/dist/cjs/components/Label/Label.js +2 -1
  17. package/dist/cjs/components/Label/Label.js.map +1 -1
  18. package/dist/cjs/components/Menu/MenuItem.js +3 -2
  19. package/dist/cjs/components/Menu/MenuItem.js.map +1 -1
  20. package/dist/cjs/components/Switch/Switch.js +6 -4
  21. package/dist/cjs/components/Switch/Switch.js.map +1 -1
  22. package/dist/cjs/components/Tag/TagList.js +1 -1
  23. package/dist/cjs/components/Tag/TagList.js.map +1 -1
  24. package/dist/cjs/components/Typography/OverflowText.js +1 -1
  25. package/dist/cjs/components/Typography/OverflowText.js.map +1 -1
  26. package/dist/cjs/extensions/codemirror/CodeMirror.js +52 -23
  27. package/dist/cjs/extensions/codemirror/CodeMirror.js.map +1 -1
  28. package/dist/cjs/extensions/codemirror/tests/codemirrorTestHelper.js +4 -1
  29. package/dist/cjs/extensions/codemirror/tests/codemirrorTestHelper.js.map +1 -1
  30. package/dist/cjs/extensions/codemirror/toolbars/commands/markdown.command.js +278 -0
  31. package/dist/cjs/extensions/codemirror/toolbars/commands/markdown.command.js.map +1 -0
  32. package/dist/cjs/extensions/codemirror/toolbars/markdown.toolbar.js +47 -0
  33. package/dist/cjs/extensions/codemirror/toolbars/markdown.toolbar.js.map +1 -0
  34. package/dist/cjs/extensions/react-flow/nodes/NodeContent.js +136 -41
  35. package/dist/cjs/extensions/react-flow/nodes/NodeContent.js.map +1 -1
  36. package/dist/cjs/extensions/react-flow/nodes/nodeUtils.js +5 -6
  37. package/dist/cjs/extensions/react-flow/nodes/nodeUtils.js.map +1 -1
  38. package/dist/esm/cmem/ActivityControl/ActivityControlWidget.js +7 -2
  39. package/dist/esm/cmem/ActivityControl/ActivityControlWidget.js.map +1 -1
  40. package/dist/esm/components/AutoSuggestion/AutoSuggestion.js +5 -3
  41. package/dist/esm/components/AutoSuggestion/AutoSuggestion.js.map +1 -1
  42. package/dist/esm/components/AutocompleteField/AutoCompleteField.js +4 -3
  43. package/dist/esm/components/AutocompleteField/AutoCompleteField.js.map +1 -1
  44. package/dist/esm/components/Card/CardActions.js +2 -1
  45. package/dist/esm/components/Card/CardActions.js.map +1 -1
  46. package/dist/esm/components/Card/CardContent.js +4 -5
  47. package/dist/esm/components/Card/CardContent.js.map +1 -1
  48. package/dist/esm/components/Dialog/SimpleDialog.js +4 -4
  49. package/dist/esm/components/Dialog/SimpleDialog.js.map +1 -1
  50. package/dist/esm/components/Icon/canonicalIconNames.js +12 -0
  51. package/dist/esm/components/Icon/canonicalIconNames.js.map +1 -1
  52. package/dist/esm/components/Label/Label.js +2 -1
  53. package/dist/esm/components/Label/Label.js.map +1 -1
  54. package/dist/esm/components/Menu/MenuItem.js +3 -2
  55. package/dist/esm/components/Menu/MenuItem.js.map +1 -1
  56. package/dist/esm/components/Switch/Switch.js +7 -5
  57. package/dist/esm/components/Switch/Switch.js.map +1 -1
  58. package/dist/esm/components/Tag/TagList.js +1 -1
  59. package/dist/esm/components/Tag/TagList.js.map +1 -1
  60. package/dist/esm/components/Typography/OverflowText.js +1 -1
  61. package/dist/esm/components/Typography/OverflowText.js.map +1 -1
  62. package/dist/esm/extensions/codemirror/CodeMirror.js +53 -24
  63. package/dist/esm/extensions/codemirror/CodeMirror.js.map +1 -1
  64. package/dist/esm/extensions/codemirror/tests/codemirrorTestHelper.js +4 -0
  65. package/dist/esm/extensions/codemirror/tests/codemirrorTestHelper.js.map +1 -1
  66. package/dist/esm/extensions/codemirror/toolbars/commands/markdown.command.js +283 -0
  67. package/dist/esm/extensions/codemirror/toolbars/commands/markdown.command.js.map +1 -0
  68. package/dist/esm/extensions/codemirror/toolbars/markdown.toolbar.js +41 -0
  69. package/dist/esm/extensions/codemirror/toolbars/markdown.toolbar.js.map +1 -0
  70. package/dist/esm/extensions/react-flow/nodes/NodeContent.js +145 -48
  71. package/dist/esm/extensions/react-flow/nodes/NodeContent.js.map +1 -1
  72. package/dist/esm/extensions/react-flow/nodes/nodeUtils.js +5 -6
  73. package/dist/esm/extensions/react-flow/nodes/nodeUtils.js.map +1 -1
  74. package/dist/types/cmem/ActivityControl/ActivityControlWidget.d.ts +1 -1
  75. package/dist/types/components/Card/CardActions.d.ts +5 -1
  76. package/dist/types/components/Card/CardContent.d.ts +1 -2
  77. package/dist/types/components/Dialog/SimpleDialog.d.ts +4 -1
  78. package/dist/types/components/Icon/canonicalIconNames.d.ts +12 -0
  79. package/dist/types/components/Label/Label.d.ts +3 -1
  80. package/dist/types/components/Menu/MenuItem.d.ts +8 -1
  81. package/dist/types/components/Switch/Switch.d.ts +3 -3
  82. package/dist/types/components/Typography/OverflowText.d.ts +23 -2
  83. package/dist/types/extensions/codemirror/CodeMirror.d.ts +10 -1
  84. package/dist/types/extensions/codemirror/tests/codemirrorTestHelper.d.ts +1 -0
  85. package/dist/types/extensions/codemirror/toolbars/commands/markdown.command.d.ts +55 -0
  86. package/dist/types/extensions/codemirror/toolbars/markdown.toolbar.d.ts +12 -0
  87. package/dist/types/extensions/react-flow/nodes/NodeContent.d.ts +18 -4
  88. package/dist/types/extensions/react-flow/nodes/nodeUtils.d.ts +7 -6
  89. package/package.json +22 -20
  90. package/src/cmem/ActivityControl/ActivityControlWidget.tsx +5 -2
  91. package/src/cmem/react-flow/configuration/_colors-graph.scss +4 -1
  92. package/src/cmem/react-flow/configuration/_colors-workflow.scss +3 -0
  93. package/src/components/AutoSuggestion/AutoSuggestion.tsx +5 -3
  94. package/src/components/AutocompleteField/AutoCompleteField.tsx +5 -3
  95. package/src/components/Card/CardActions.tsx +6 -0
  96. package/src/components/Card/CardContent.tsx +8 -4
  97. package/src/components/Card/card.scss +15 -0
  98. package/src/components/CodeAutocompleteField/CodeAutocompleteField.stories.tsx +3 -2
  99. package/src/components/ContextOverlay/ContextOverlay.stories.tsx +15 -4
  100. package/src/components/Dialog/SimpleDialog.tsx +9 -2
  101. package/src/components/Dialog/stories/AlertDialog.stories.tsx +5 -1
  102. package/src/components/Dialog/stories/Modal.stories.tsx +4 -2
  103. package/src/components/Dialog/stories/SimpleDialog.stories.tsx +5 -2
  104. package/src/components/Icon/canonicalIconNames.tsx +12 -0
  105. package/src/components/Label/Label.tsx +4 -0
  106. package/src/components/Label/label.scss +5 -1
  107. package/src/components/Menu/MenuItem.tsx +27 -1
  108. package/src/components/Menu/menu.scss +1 -0
  109. package/src/components/OverviewItem/overviewitem.scss +4 -1
  110. package/src/components/Select/Select.stories.tsx +4 -1
  111. package/src/components/Switch/Switch.tsx +27 -8
  112. package/src/components/Tag/TagList.tsx +2 -2
  113. package/src/components/Typography/OverflowText.tsx +24 -3
  114. package/src/components/Typography/stories/OverflowText.stories.tsx +33 -0
  115. package/src/extensions/codemirror/CodeMirror.stories.tsx +5 -17
  116. package/src/extensions/codemirror/CodeMirror.tsx +82 -22
  117. package/src/extensions/codemirror/_codemirror.scss +35 -2
  118. package/src/extensions/codemirror/tests/codemirrorTestHelper.ts +4 -0
  119. package/src/extensions/codemirror/toolbars/commands/markdown.command.ts +340 -0
  120. package/src/extensions/codemirror/toolbars/markdown.toolbar.tsx +117 -0
  121. package/src/extensions/react-flow/_config.scss +1 -0
  122. package/src/extensions/react-flow/nodes/NodeContent.tsx +166 -52
  123. package/src/extensions/react-flow/nodes/_nodes.scss +71 -35
  124. package/src/extensions/react-flow/nodes/nodeUtils.tsx +16 -14
  125. package/src/extensions/react-flow/nodes/stories/NodeContent.stories.tsx +6 -3
@@ -0,0 +1,283 @@
1
+ import { EditorSelection } from "@codemirror/state";
2
+ var Commands;
3
+ (function (Commands) {
4
+ Commands["header1"] = "Heading 1";
5
+ Commands["header2"] = "Heading 2";
6
+ Commands["header3"] = "Heading 3";
7
+ Commands["header4"] = "Heading 4";
8
+ Commands["header5"] = "Heading 5";
9
+ Commands["header6"] = "Heading 6";
10
+ Commands["codeBlock"] = "Code block";
11
+ Commands["quote"] = "Block quote";
12
+ Commands["bold"] = "Bold";
13
+ Commands["italic"] = "Italic";
14
+ Commands["strike"] = "StrikeThrough";
15
+ Commands["inlineCode"] = "Inline code";
16
+ Commands["unorderedList"] = "Unordered list";
17
+ Commands["orderedList"] = "Ordered list";
18
+ Commands["todoList"] = "Todo list";
19
+ Commands["link"] = "Link";
20
+ Commands["image"] = "Image";
21
+ })(Commands || (Commands = {}));
22
+ //contains all utilities for markdown toolbar
23
+ var MarkdownCommand = /** @class */ (function () {
24
+ function MarkdownCommand(view) {
25
+ var _this = this;
26
+ this.view = null;
27
+ /**
28
+ * Supported list types are ol, ul, todo.
29
+ * utility helps to determine which at the start of the line
30
+ */
31
+ this.getListTypeOfLine = function (text) {
32
+ if (!text)
33
+ return;
34
+ text = text === null || text === void 0 ? void 0 : text.trimStart();
35
+ if (text.startsWith("- ")) {
36
+ if (text.startsWith("- [ ] ") || text.startsWith("- [x] "))
37
+ return ["todo"];
38
+ return ["ul"];
39
+ }
40
+ var v = text.match(/^(\d+)\. /);
41
+ return v ? ["ol", Number.parseInt(v[1], 10)] : undefined;
42
+ };
43
+ //factory for different list types.
44
+ this.createList = function (type) {
45
+ if (!_this.view)
46
+ return;
47
+ var view = _this.view;
48
+ var doc = view.state.doc;
49
+ var orderedList = { currentIndex: 1 };
50
+ view.dispatch(view.state.changeByRange(function (range) {
51
+ var text = doc.slice(range.from, range.to);
52
+ var changes = [];
53
+ var selectionStart = range.from;
54
+ var selectionLength = range.to - range.from;
55
+ Array.from({ length: text.lines }).forEach(function (_, index) {
56
+ var line = doc.line(doc.lineAt(range.from).number + index);
57
+ var currentListType = _this.getListTypeOfLine(line.text);
58
+ if (currentListType && currentListType[0] === type) {
59
+ if (currentListType[0] === "ol" && currentListType[1]) {
60
+ orderedList.currentIndex = currentListType[1];
61
+ }
62
+ return;
63
+ }
64
+ var content = _this.createListDelimiter(line.text, type, orderedList);
65
+ var diffLength = content.length - line.length;
66
+ changes.push({
67
+ from: line.from,
68
+ to: line.to,
69
+ insert: content,
70
+ });
71
+ if (index === 0) {
72
+ selectionStart = selectionStart + diffLength;
73
+ }
74
+ else {
75
+ selectionLength = selectionLength + diffLength;
76
+ }
77
+ });
78
+ return {
79
+ changes: changes,
80
+ range: EditorSelection.range(selectionStart, selectionStart + selectionLength),
81
+ };
82
+ }));
83
+ view.focus();
84
+ };
85
+ this.enforceCursorFocus = function (cursorPosition) {
86
+ if (!_this.view)
87
+ return;
88
+ var view = _this.view;
89
+ setTimeout(function () {
90
+ view.dispatch({
91
+ selection: EditorSelection.cursor(cursorPosition),
92
+ });
93
+ view.focus();
94
+ }, 50);
95
+ };
96
+ //supported headers from h1-h6, h6 being the smallest
97
+ this.createHeading = function (level) {
98
+ if (!_this.view)
99
+ return;
100
+ var view = _this.view;
101
+ var state = view.state;
102
+ var flags = "#".repeat(level) + " ";
103
+ var lastCursorPosition = 0;
104
+ view.dispatch(state.changeByRange(function (range) {
105
+ var line = state.doc.lineAt(range.from);
106
+ var content = line.text.replace(/^((#+) )?/, flags);
107
+ var diffLength = content.length - line.length;
108
+ lastCursorPosition = line.to + diffLength;
109
+ return {
110
+ changes: {
111
+ from: line.from,
112
+ to: line.to,
113
+ insert: content,
114
+ },
115
+ range: EditorSelection.range(range.anchor + diffLength, range.head + diffLength),
116
+ };
117
+ }));
118
+ _this.enforceCursorFocus(lastCursorPosition);
119
+ };
120
+ this.applyFormatting = function (_a) {
121
+ var start = _a.start, startDelimiter = _a.startDelimiter, _b = _a.endDelimiter, endDelimiter = _b === void 0 ? startDelimiter : _b, _c = _a.stop, stop = _c === void 0 ? start : _c;
122
+ if (!_this.view)
123
+ return;
124
+ var view = _this.view;
125
+ var _d = view.state.selection.main, from = _d.from, to = _d.to;
126
+ var text = view.state.sliceDoc(from, to);
127
+ view.dispatch(view.state.changeByRange(function (range) {
128
+ return {
129
+ changes: [{ from: range.from, to: range.to, insert: "".concat(startDelimiter).concat(text).concat(endDelimiter) }],
130
+ range: EditorSelection.range(range.from + start, range.to + stop),
131
+ };
132
+ }));
133
+ view.focus();
134
+ };
135
+ this.applyAttachment = function (type) {
136
+ if (!_this.view)
137
+ return;
138
+ var view = _this.view;
139
+ var state = view.state;
140
+ var isImageAttachmentType = type === Commands.image;
141
+ var doc = state.doc;
142
+ view.dispatch(state.changeByRange(function (range) {
143
+ var from = range.from, to = range.to;
144
+ var text = doc.sliceString(from, to);
145
+ var link = "".concat(isImageAttachmentType ? "!" : "", "[").concat(text, "]()");
146
+ var cursor = from + (text.length ? 3 + text.length : 1 + Number(isImageAttachmentType));
147
+ return {
148
+ changes: [
149
+ {
150
+ from: from,
151
+ to: to,
152
+ insert: link,
153
+ },
154
+ ],
155
+ range: EditorSelection.range(cursor, cursor),
156
+ };
157
+ }));
158
+ view.focus();
159
+ };
160
+ this.applyQuoteFormatting = function () {
161
+ if (!_this.view)
162
+ return;
163
+ var view = _this.view;
164
+ var state = view.state;
165
+ var doc = state.doc;
166
+ var lastCursorPosition = 0;
167
+ view.dispatch(view.state.changeByRange(function (range) {
168
+ var startLine = doc.lineAt(range.from);
169
+ var text = doc.slice(range.from, range.to);
170
+ var lineCount = text.lines;
171
+ var changes = [];
172
+ var selectionStart = range.from;
173
+ var selectionLength = range.to - range.from;
174
+ new Array(lineCount).fill(0).forEach(function (_, index) {
175
+ var line = doc.line(startLine.number + index);
176
+ if (line.text.startsWith("> ")) {
177
+ return;
178
+ }
179
+ changes.push({
180
+ from: line.from,
181
+ insert: "> ",
182
+ });
183
+ if (index === 0) {
184
+ selectionStart = selectionStart + 2;
185
+ }
186
+ else {
187
+ selectionLength += 2;
188
+ }
189
+ });
190
+ lastCursorPosition = selectionStart + selectionLength;
191
+ return {
192
+ changes: changes,
193
+ range: EditorSelection.range(selectionStart, selectionStart + selectionLength),
194
+ };
195
+ }));
196
+ _this.enforceCursorFocus(lastCursorPosition);
197
+ };
198
+ this.executeCommand = function (command) {
199
+ var _a;
200
+ switch (command) {
201
+ case Commands.bold:
202
+ return _this.applyFormatting({ start: 2, startDelimiter: "**" });
203
+ case Commands.italic:
204
+ return _this.applyFormatting({ start: 1, startDelimiter: "*" });
205
+ case Commands.codeBlock:
206
+ return _this.applyFormatting({ start: 3, startDelimiter: "```\n", endDelimiter: "\n```" });
207
+ case Commands.strike:
208
+ return _this.applyFormatting({ start: 2, startDelimiter: "~~" });
209
+ case Commands.inlineCode:
210
+ return _this.applyFormatting({ start: 1, startDelimiter: "`" });
211
+ case Commands.header1:
212
+ case Commands.header2:
213
+ case Commands.header3:
214
+ case Commands.header4:
215
+ case Commands.header5:
216
+ case Commands.header6:
217
+ return _this.createHeading(Number(command.slice(-1)));
218
+ case Commands.unorderedList:
219
+ case Commands.orderedList:
220
+ case Commands.todoList:
221
+ return _this.createList((_a = MarkdownCommand.commands.lists.find(function (l) { return l.title === command; })) === null || _a === void 0 ? void 0 : _a.moniker);
222
+ case Commands.image:
223
+ case Commands.link:
224
+ return _this.applyAttachment(command);
225
+ case Commands.quote:
226
+ return _this.applyQuoteFormatting();
227
+ default:
228
+ return; //do nothing;
229
+ }
230
+ };
231
+ this.view = view;
232
+ }
233
+ //inserts the list delimiters of "-", "- [ ]" and "{number}."
234
+ MarkdownCommand.prototype.createListDelimiter = function (text, type, orderedList) {
235
+ return text.replace(/^(( *)(-( \[[x ]])?|\d+\.) )?/, function () {
236
+ var args = [];
237
+ for (var _i = 0; _i < arguments.length; _i++) {
238
+ args[_i] = arguments[_i];
239
+ }
240
+ var _a = args[args.length - 1].space, space = _a === void 0 ? "" : _a;
241
+ var newFlag = "- ";
242
+ if (type === "ol") {
243
+ newFlag = "".concat(orderedList.currentIndex, ". ");
244
+ orderedList.currentIndex++;
245
+ }
246
+ else if (type === "todo") {
247
+ newFlag = "- [ ] ";
248
+ }
249
+ return space + newFlag;
250
+ });
251
+ };
252
+ //list of supported commands as well as the valid icon names.
253
+ MarkdownCommand.commands = {
254
+ paragraphs: [
255
+ Commands.header1,
256
+ Commands.header2,
257
+ Commands.header3,
258
+ Commands.header4,
259
+ Commands.header5,
260
+ Commands.header6,
261
+ Commands.quote,
262
+ Commands.codeBlock,
263
+ ],
264
+ basic: [
265
+ { title: Commands.bold, icon: "operation-format-text-bold" },
266
+ { title: Commands.italic, icon: "operation-format-text-italic" },
267
+ { title: Commands.strike, icon: "operation-format-text-strikethrough" },
268
+ { title: Commands.inlineCode, icon: "operation-format-text-code" },
269
+ ],
270
+ lists: [
271
+ { title: Commands.unorderedList, icon: "operation-format-list-bullet", moniker: "ul" },
272
+ { title: Commands.orderedList, icon: "operation-format-list-numbered", moniker: "ol" },
273
+ { title: Commands.todoList, icon: "operation-format-list-checked", moniker: "todo" },
274
+ ],
275
+ attachments: [
276
+ { title: Commands.link, icon: "operation-link" },
277
+ { title: Commands.image, icon: "item-image" },
278
+ ],
279
+ };
280
+ return MarkdownCommand;
281
+ }());
282
+ export default MarkdownCommand;
283
+ //# sourceMappingURL=markdown.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.command.js","sourceRoot":"","sources":["../../../../../../src/extensions/codemirror/toolbars/commands/markdown.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAKrE,IAAK,QAkBJ;AAlBD,WAAK,QAAQ;IACT,iCAAqB,CAAA;IACrB,iCAAqB,CAAA;IACrB,iCAAqB,CAAA;IACrB,iCAAqB,CAAA;IACrB,iCAAqB,CAAA;IACrB,iCAAqB,CAAA;IACrB,oCAAwB,CAAA;IACxB,iCAAqB,CAAA;IACrB,yBAAa,CAAA;IACb,6BAAiB,CAAA;IACjB,oCAAwB,CAAA;IACxB,sCAA0B,CAAA;IAC1B,4CAAgC,CAAA;IAChC,wCAA4B,CAAA;IAC5B,kCAAsB,CAAA;IACtB,yBAAa,CAAA;IACb,2BAAe,CAAA;AACnB,CAAC,EAlBI,QAAQ,KAAR,QAAQ,QAkBZ;AAMD,6CAA6C;AAC7C;IAgCI,yBAAY,IAAgB;QAA5B,iBAEC;QAjCO,SAAI,GAAsB,IAAI,CAAC;QAmCvC;;;WAGG;QACK,sBAAiB,GAAG,UAAC,IAAY;YACrC,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,IAAI,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,EAAE,CAAC;YAEzB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;oBAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC5E,OAAO,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC;YAED,IAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAElC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7D,CAAC,CAAC;QAoBF,mCAAmC;QAC3B,eAAU,GAAG,UAAC,IAAc;YAChC,IAAI,CAAC,KAAI,CAAC,IAAI;gBAAE,OAAO;YACvB,IAAM,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC;YACvB,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YAE3B,IAAM,WAAW,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;YAExC,IAAI,CAAC,QAAQ,CACT,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,UAAC,KAAK;gBAC3B,IAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC7C,IAAM,OAAO,GAAiB,EAAE,CAAC;gBAEjC,IAAI,cAAc,GAAW,KAAK,CAAC,IAAI,CAAC;gBACxC,IAAI,eAAe,GAAW,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;gBAEpD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,UAAC,CAAC,EAAE,KAAK;oBAChD,IAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;oBAE7D,IAAM,eAAe,GAAG,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAE1D,IAAI,eAAe,IAAI,eAAe,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;wBACjD,IAAI,eAAe,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;4BACpD,WAAW,CAAC,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;wBAClD,CAAC;wBAED,OAAO;oBACX,CAAC;oBACD,IAAM,OAAO,GAAG,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;oBAEvE,IAAM,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;oBAEhD,OAAO,CAAC,IAAI,CAAC;wBACT,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,EAAE,EAAE,IAAI,CAAC,EAAE;wBACX,MAAM,EAAE,OAAO;qBAClB,CAAC,CAAC;oBAEH,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;wBACd,cAAc,GAAG,cAAc,GAAG,UAAU,CAAC;oBACjD,CAAC;yBAAM,CAAC;wBACJ,eAAe,GAAG,eAAe,GAAG,UAAU,CAAC;oBACnD,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,OAAO;oBACH,OAAO,SAAA;oBACP,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,GAAG,eAAe,CAAC;iBACjF,CAAC;YACN,CAAC,CAAC,CACL,CAAC;YAEF,IAAI,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC,CAAC;QAEM,uBAAkB,GAAG,UAAC,cAAsB;YAChD,IAAI,CAAC,KAAI,CAAC,IAAI;gBAAE,OAAO;YACvB,IAAM,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC;YACvB,UAAU,CAAC;gBACP,IAAI,CAAC,QAAQ,CAAC;oBACV,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC,cAAc,CAAC;iBACpD,CAAC,CAAC;gBACH,IAAI,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,CAAC,CAAC;QAEF,qDAAqD;QAC7C,kBAAa,GAAG,UAAC,KAAmB;YACxC,IAAI,CAAC,KAAI,CAAC,IAAI;gBAAE,OAAO;YACvB,IAAM,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC;YACvB,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAEzB,IAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;YAEtC,IAAI,kBAAkB,GAAG,CAAC,CAAC;YAE3B,IAAI,CAAC,QAAQ,CACT,KAAK,CAAC,aAAa,CAAC,UAAC,KAAK;gBACtB,IAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAE1C,IAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;gBAEtD,IAAM,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAChD,kBAAkB,GAAG,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC;gBAC1C,OAAO;oBACH,OAAO,EAAE;wBACL,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,EAAE,EAAE,IAAI,CAAC,EAAE;wBACX,MAAM,EAAE,OAAO;qBAClB;oBACD,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,EAAE,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;iBACnF,CAAC;YACN,CAAC,CAAC,CACL,CAAC;YAEF,KAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;QAChD,CAAC,CAAC;QAEM,oBAAe,GAAG,UAAC,EAKZ;gBAJX,KAAK,WAAA,EACL,cAAc,oBAAA,EACd,oBAA6B,EAA7B,YAAY,mBAAG,cAAc,KAAA,EAC7B,YAAY,EAAZ,IAAI,mBAAG,KAAK,KAAA;YAEZ,IAAI,CAAC,KAAI,CAAC,IAAI;gBAAE,OAAO;YACvB,IAAM,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC;YACjB,IAAA,KAAe,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAtC,IAAI,UAAA,EAAE,EAAE,QAA8B,CAAC;YAC/C,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3C,IAAI,CAAC,QAAQ,CACT,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,UAAC,KAAK;gBAC3B,OAAO;oBACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,UAAG,cAAc,SAAG,IAAI,SAAG,YAAY,CAAE,EAAE,CAAC;oBAChG,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,EAAE,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC;iBACpE,CAAC;YACN,CAAC,CAAC,CACL,CAAC;YACF,IAAI,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC,CAAC;QAEM,oBAAe,GAAG,UAAC,IAAoC;YAC3D,IAAI,CAAC,KAAI,CAAC,IAAI;gBAAE,OAAO;YACvB,IAAM,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC;YACf,IAAA,KAAK,GAAK,IAAI,MAAT,CAAU;YACvB,IAAM,qBAAqB,GAAG,IAAI,KAAK,QAAQ,CAAC,KAAK,CAAC;YAE9C,IAAA,GAAG,GAAK,KAAK,IAAV,CAAW;YAEtB,IAAI,CAAC,QAAQ,CACT,KAAK,CAAC,aAAa,CAAC,UAAC,KAAK;gBACd,IAAA,IAAI,GAAS,KAAK,KAAd,EAAE,EAAE,GAAK,KAAK,GAAV,CAAW;gBAE3B,IAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAEvC,IAAM,IAAI,GAAG,UAAG,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,cAAI,IAAI,QAAK,CAAC;gBAE9D,IAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC;gBAE1F,OAAO;oBACH,OAAO,EAAE;wBACL;4BACI,IAAI,MAAA;4BACJ,EAAE,IAAA;4BACF,MAAM,EAAE,IAAI;yBACf;qBACJ;oBACD,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;iBAC/C,CAAC;YACN,CAAC,CAAC,CACL,CAAC;YAEF,IAAI,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC,CAAC;QAEM,yBAAoB,GAAG;YAC3B,IAAI,CAAC,KAAI,CAAC,IAAI;gBAAE,OAAO;YACvB,IAAM,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC;YACf,IAAA,KAAK,GAAK,IAAI,MAAT,CAAU;YACf,IAAA,GAAG,GAAK,KAAK,IAAV,CAAW;YAEtB,IAAI,kBAAkB,GAAG,CAAC,CAAC;YAE3B,IAAI,CAAC,QAAQ,CACT,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,UAAC,KAAK;gBAC3B,IAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAEzC,IAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;gBAE7C,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;gBAE7B,IAAM,OAAO,GAAiB,EAAE,CAAC;gBAEjC,IAAI,cAAc,GAAW,KAAK,CAAC,IAAI,CAAC;gBACxC,IAAI,eAAe,GAAW,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;gBAEpD,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAC,CAAC,EAAE,KAAK;oBAC1C,IAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;oBAEhD,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC7B,OAAO;oBACX,CAAC;oBACD,OAAO,CAAC,IAAI,CAAC;wBACT,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,MAAM,EAAE,IAAI;qBACf,CAAC,CAAC;oBAEH,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;wBACd,cAAc,GAAG,cAAc,GAAG,CAAC,CAAC;oBACxC,CAAC;yBAAM,CAAC;wBACJ,eAAe,IAAI,CAAC,CAAC;oBACzB,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,kBAAkB,GAAG,cAAc,GAAG,eAAe,CAAC;gBAEtD,OAAO;oBACH,OAAO,SAAA;oBACP,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,GAAG,eAAe,CAAC;iBACjF,CAAC;YACN,CAAC,CAAC,CACL,CAAC;YACF,KAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;QAChD,CAAC,CAAC;QAEF,mBAAc,GAAG,UAAC,OAAiB;;YAC/B,QAAQ,OAAO,EAAE,CAAC;gBACd,KAAK,QAAQ,CAAC,IAAI;oBACd,OAAO,KAAI,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpE,KAAK,QAAQ,CAAC,MAAM;oBAChB,OAAO,KAAI,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;gBACnE,KAAK,QAAQ,CAAC,SAAS;oBACnB,OAAO,KAAI,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC9F,KAAK,QAAQ,CAAC,MAAM;oBAChB,OAAO,KAAI,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpE,KAAK,QAAQ,CAAC,UAAU;oBACpB,OAAO,KAAI,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;gBACnE,KAAK,QAAQ,CAAC,OAAO,CAAC;gBACtB,KAAK,QAAQ,CAAC,OAAO,CAAC;gBACtB,KAAK,QAAQ,CAAC,OAAO,CAAC;gBACtB,KAAK,QAAQ,CAAC,OAAO,CAAC;gBACtB,KAAK,QAAQ,CAAC,OAAO,CAAC;gBACtB,KAAK,QAAQ,CAAC,OAAO;oBACjB,OAAO,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAiB,CAAC,CAAC;gBACzE,KAAK,QAAQ,CAAC,aAAa,CAAC;gBAC5B,KAAK,QAAQ,CAAC,WAAW,CAAC;gBAC1B,KAAK,QAAQ,CAAC,QAAQ;oBAClB,OAAO,KAAI,CAAC,UAAU,CAClB,MAAA,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,KAAK,OAAO,EAAnB,CAAmB,CAAC,0CAAE,OAAmB,CACvF,CAAC;gBACN,KAAK,QAAQ,CAAC,KAAK,CAAC;gBACpB,KAAK,QAAQ,CAAC,IAAI;oBACd,OAAO,KAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBACzC,KAAK,QAAQ,CAAC,KAAK;oBACf,OAAO,KAAI,CAAC,oBAAoB,EAAE,CAAC;gBACvC;oBACI,OAAO,CAAC,aAAa;YAC7B,CAAC;QACL,CAAC,CAAC;QAnRE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAoBD,6DAA6D;IACrD,6CAAmB,GAA3B,UAA4B,IAAY,EAAE,IAAY,EAAE,WAAqC;QACzF,OAAO,IAAI,CAAC,OAAO,CAAC,+BAA+B,EAAE;YAAC,cAAO;iBAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;gBAAP,yBAAO;;YACjD,IAAA,KAAe,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,MAA1B,EAAV,KAAK,mBAAG,EAAE,KAAA,CAA2B;YAE7C,IAAI,OAAO,GAAG,IAAI,CAAC;YAEnB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAChB,OAAO,GAAG,UAAG,WAAW,CAAC,YAAY,OAAI,CAAC;gBAC1C,WAAW,CAAC,YAAY,EAAE,CAAC;YAC/B,CAAC;iBAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACzB,OAAO,GAAG,QAAQ,CAAC;YACvB,CAAC;YAED,OAAO,KAAK,GAAG,OAAO,CAAC;QAC3B,CAAC,CAAC,CAAC;IACP,CAAC;IAnED,6DAA6D;IAC/C,wBAAQ,GAAG;QACrB,UAAU,EAAE;YACR,QAAQ,CAAC,OAAO;YAChB,QAAQ,CAAC,OAAO;YAChB,QAAQ,CAAC,OAAO;YAChB,QAAQ,CAAC,OAAO;YAChB,QAAQ,CAAC,OAAO;YAChB,QAAQ,CAAC,OAAO;YAChB,QAAQ,CAAC,KAAK;YACd,QAAQ,CAAC,SAAS;SACrB;QACD,KAAK,EAAE;YACH,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,4BAA4B,EAAE;YAC5D,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,8BAA8B,EAAE;YAChE,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,qCAAqC,EAAE;YACvE,EAAE,KAAK,EAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,4BAA4B,EAAE;SACvB;QAC/C,KAAK,EAAE;YACH,EAAE,KAAK,EAAE,QAAQ,CAAC,aAAa,EAAE,IAAI,EAAE,8BAA8B,EAAE,OAAO,EAAE,IAAI,EAAE;YACtF,EAAE,KAAK,EAAE,QAAQ,CAAC,WAAW,EAAE,IAAI,EAAE,gCAAgC,EAAE,OAAO,EAAE,IAAI,EAAE;YACtF,EAAE,KAAK,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,+BAA+B,EAAE,OAAO,EAAE,MAAM,EAAE;SACxB;QAChE,WAAW,EAAE;YACT,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE;YAChD,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE;SACF;KACzC,AA1BY,CA0BX;IAuRf,sBAAC;CAAA,AArTD,IAqTC;eArToB,eAAe"}
@@ -0,0 +1,41 @@
1
+ import React from "react";
2
+ import { Button } from "../../../components/Button/Button.js";
3
+ import { ContextMenu } from "../../../components/ContextOverlay/index.js";
4
+ import { Icon, IconButton } from "../../../components/Icon/index.js";
5
+ import { MenuItem } from "../../../components/Menu/index.js";
6
+ import { Spacing } from "../../../components/Separation/Spacing.js";
7
+ import { Toolbar, ToolbarSection } from "../../../components/Toolbar/index.js";
8
+ import MarkdownCommand from "./commands/markdown.command.js";
9
+ export var MarkdownToolbar = function (_a) {
10
+ var view = _a.view, togglePreviewStatus = _a.togglePreviewStatus, showPreview = _a.showPreview, disabled = _a.disabled, readonly = _a.readonly, translate = _a.translate;
11
+ var commandRef = React.useRef(null);
12
+ React.useEffect(function () {
13
+ if (view) {
14
+ commandRef.current = new MarkdownCommand(view);
15
+ }
16
+ }, [view]);
17
+ var getTranslation = function (fallback) {
18
+ var key = fallback.toLowerCase().replace(" ", "-");
19
+ return translate(key) || fallback;
20
+ };
21
+ var _b = MarkdownCommand.commands, basic = _b.basic, lists = _b.lists, attachments = _b.attachments;
22
+ return (React.createElement(Toolbar, { noWrap: true },
23
+ React.createElement(ToolbarSection, { canShrink: true, hideOverflow: true },
24
+ React.createElement(ContextMenu, { togglerElement: React.createElement(Button, { rightIcon: React.createElement(Icon, { name: "toggler-showmore" }), text: getTranslation("Paragraphs"), minimal: true, fill: true, ellipsizeText: true, disabled: showPreview || disabled || readonly }) }, MarkdownCommand.commands.paragraphs.map(function (p, i) { return (React.createElement(MenuItem, { key: p, text: React.createElement(React.Fragment, null,
25
+ React.createElement("span", { style: p.startsWith("Head") ? { fontSize: 22 - (i * (22 - 12)) / 5 } : {} }, getTranslation(p))), onClick: function () { var _a; return (_a = commandRef.current) === null || _a === void 0 ? void 0 : _a.executeCommand(p); } })); }))),
26
+ React.createElement(ToolbarSection, { canShrink: true },
27
+ React.createElement(Spacing, { vertical: true, hasDivider: true, size: "tiny" })),
28
+ [basic, lists, attachments].map(function (section, i) {
29
+ return (React.createElement(React.Fragment, { key: i },
30
+ React.createElement(ToolbarSection, null, section.map(function (command) {
31
+ return (React.createElement(IconButton, { key: command.title, name: command.icon, onClick: function () { var _a; return (_a = commandRef.current) === null || _a === void 0 ? void 0 : _a.executeCommand(command.title); }, text: getTranslation(command.title), disabled: showPreview || disabled || readonly }));
32
+ })),
33
+ i < 2 && (React.createElement(ToolbarSection, { canShrink: true },
34
+ React.createElement(Spacing, { vertical: true, hasDivider: true, size: "tiny" })))));
35
+ }),
36
+ React.createElement(ToolbarSection, { canGrow: true, canShrink: true },
37
+ React.createElement(Spacing, { vertical: true, size: "small" })),
38
+ React.createElement(ToolbarSection, { canShrink: true, hideOverflow: true },
39
+ React.createElement(Button, { minimal: true, ellipsizeText: true, onClick: togglePreviewStatus, text: showPreview ? getTranslation("Continue editing") : getTranslation("Preview"), icon: showPreview ? "item-edit" : "item-viewdetails", disabled: disabled }))));
40
+ };
41
+ //# sourceMappingURL=markdown.toolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.toolbar.js","sourceRoot":"","sources":["../../../../../src/extensions/codemirror/toolbars/markdown.toolbar.tsx"],"names":[],"mappings":"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"}
@@ -98,27 +98,36 @@ var MemoHandler = React.memo(function (props) { return React.createElement(Handl
98
98
  */
99
99
  export function NodeContent(_a) {
100
100
  var _b;
101
- var _c, _d;
102
- var flowVersion = _a.flowVersion, iconName = _a.iconName, depiction = _a.depiction, leftElement = _a.leftElement, typeLabel = _a.typeLabel, label = _a.label, labelSubline = _a.labelSubline, enlargeHeader = _a.enlargeHeader, fullWidth = _a.fullWidth, _e = _a.showExecutionButtons, showExecutionButtons = _e === void 0 ? true : _e, executionButtons = _a.executionButtons, menuButtons = _a.menuButtons, content = _a.content, contentExtension = _a.contentExtension, footerContent = _a.footerContent, _f = _a.size, size = _f === void 0 ? "small" : _f, _g = _a.minimalShape, minimalShape = _g === void 0 ? "circular" : _g, intent = _a.intent, border = _a.border, highlightColor = _a.highlightColor,
101
+ var _c, _d, _e, _f;
102
+ var flowVersion = _a.flowVersion, iconName = _a.iconName, depiction = _a.depiction, leftElement = _a.leftElement, typeLabel = _a.typeLabel, label = _a.label, labelSubline = _a.labelSubline, enlargeHeader = _a.enlargeHeader, fullWidth = _a.fullWidth, _g = _a.showExecutionButtons, showExecutionButtons = _g === void 0 ? true : _g, executionButtons = _a.executionButtons, menuButtons = _a.menuButtons, content = _a.content, contentExtension = _a.contentExtension, footerContent = _a.footerContent, _h = _a.size, size = _h === void 0 ? "small" : _h, _j = _a.minimalShape, minimalShape = _j === void 0 ? "circular" : _j, intent = _a.intent, border = _a.border, highlightColor = _a.highlightColor,
103
103
  //handles = defaultHandles(),
104
- adaptHeightForHandleMinCount = _a.adaptHeightForHandleMinCount, _h = _a.adaptSizeIncrement, adaptSizeIncrement = _h === void 0 ? 15 : _h, _j = _a.getMinimalTooltipData, getMinimalTooltipData = _j === void 0 ? getDefaultMinimalTooltipData : _j, _k = _a.style, style = _k === void 0 ? {} : _k, _l = _a.showUnconnectableHandles, showUnconnectableHandles = _l === void 0 ? false : _l, _m = _a.animated, animated = _m === void 0 ? false : _m, _o = _a.introductionTime, introductionTime = _o === void 0 ? 0 : _o, onNodeResize = _a.onNodeResize, nodeDimensions = _a.nodeDimensions,
104
+ adaptHeightForHandleMinCount = _a.adaptHeightForHandleMinCount, _k = _a.adaptSizeIncrement, adaptSizeIncrement = _k === void 0 ? 15 : _k,
105
+ // FIXME: getMinimalTooltipData is just being ignored, only used in `NodeDefault`
106
+ _l = _a.getMinimalTooltipData,
107
+ // FIXME: getMinimalTooltipData is just being ignored, only used in `NodeDefault`
108
+ getMinimalTooltipData = _l === void 0 ? getDefaultMinimalTooltipData : _l, _m = _a.style, style = _m === void 0 ? {} : _m, _o = _a.showUnconnectableHandles, showUnconnectableHandles = _o === void 0 ? false : _o, _p = _a.animated, animated = _p === void 0 ? false : _p, _q = _a.introductionTime, introductionTime = _q === void 0 ? 0 : _q,
109
+ // resizing
110
+ onNodeResize = _a.onNodeResize, nodeDimensions = _a.nodeDimensions, _r = _a.resizeDirections, resizeDirections = _r === void 0 ? { bottom: true, right: true } : _r, resizeMaxDimensions = _a.resizeMaxDimensions,
105
111
  // forwarded props
106
- _p = _a.targetPosition,
112
+ _s = _a.targetPosition,
107
113
  // forwarded props
108
- targetPosition = _p === void 0 ? Position.Left : _p, _q = _a.sourcePosition, sourcePosition = _q === void 0 ? Position.Right : _q, _r = _a.isConnectable, isConnectable = _r === void 0 ? true : _r, selected = _a.selected, _s = _a.letPassWheelEvents, letPassWheelEvents = _s === void 0 ? false : _s,
109
- // businessData is just being ignored
114
+ targetPosition = _s === void 0 ? Position.Left : _s, _t = _a.sourcePosition, sourcePosition = _t === void 0 ? Position.Right : _t, _u = _a.isConnectable, isConnectable = _u === void 0 ? true : _u, selected = _a.selected, _v = _a.letPassWheelEvents, letPassWheelEvents = _v === void 0 ? false : _v,
115
+ // FIXME: businessData is just being ignored
110
116
  businessData = _a.businessData,
111
117
  // other props for DOM element
112
- otherDomProps = __rest(_a, ["flowVersion", "iconName", "depiction", "leftElement", "typeLabel", "label", "labelSubline", "enlargeHeader", "fullWidth", "showExecutionButtons", "executionButtons", "menuButtons", "content", "contentExtension", "footerContent", "size", "minimalShape", "intent", "border", "highlightColor", "adaptHeightForHandleMinCount", "adaptSizeIncrement", "getMinimalTooltipData", "style", "showUnconnectableHandles", "animated", "introductionTime", "onNodeResize", "nodeDimensions", "targetPosition", "sourcePosition", "isConnectable", "selected", "letPassWheelEvents", "businessData"]);
118
+ otherDomProps = __rest(_a, ["flowVersion", "iconName", "depiction", "leftElement", "typeLabel", "label", "labelSubline", "enlargeHeader", "fullWidth", "showExecutionButtons", "executionButtons", "menuButtons", "content", "contentExtension", "footerContent", "size", "minimalShape", "intent", "border", "highlightColor", "adaptHeightForHandleMinCount", "adaptSizeIncrement", "getMinimalTooltipData", "style", "showUnconnectableHandles", "animated", "introductionTime", "onNodeResize", "nodeDimensions", "resizeDirections", "resizeMaxDimensions", "targetPosition", "sourcePosition", "isConnectable", "selected", "letPassWheelEvents", "businessData"]);
113
119
  var evaluateFlowVersion = useReactFlowVersion();
114
120
  var flowVersionCheck = flowVersion || evaluateFlowVersion;
115
- var _t = __read(React.useState(false), 2), introductionDone = _t[0], setIntroductionDone = _t[1];
116
- var _u = otherDomProps.handles, handles = _u === void 0 ? defaultHandles(flowVersionCheck) : _u, otherProps = __rest(otherDomProps, ["handles"]);
117
- var isResizeable = !!onNodeResize && minimalShape === "none";
118
- var _v = __read(React.useState((_c = nodeDimensions === null || nodeDimensions === void 0 ? void 0 : nodeDimensions.width) !== null && _c !== void 0 ? _c : 0), 2), width = _v[0], setWidth = _v[1];
119
- var _w = __read(React.useState((_d = nodeDimensions === null || nodeDimensions === void 0 ? void 0 : nodeDimensions.height) !== null && _d !== void 0 ? _d : 0), 2), height = _w[0], setHeight = _w[1];
121
+ var _w = __read(React.useState(false), 2), introductionDone = _w[0], setIntroductionDone = _w[1];
122
+ var _x = otherDomProps.handles, handles = _x === void 0 ? defaultHandles(flowVersionCheck) : _x, otherProps = __rest(otherDomProps, ["handles"]);
123
+ var hasValidResizeDirection = resizeDirections.bottom || resizeDirections.right;
124
+ var isResizable = typeof onNodeResize === "function" && hasValidResizeDirection && minimalShape === "none";
125
+ var _y = __read(React.useState((_c = nodeDimensions === null || nodeDimensions === void 0 ? void 0 : nodeDimensions.width) !== null && _c !== void 0 ? _c : undefined), 2), width = _y[0], setWidth = _y[1];
126
+ var _z = __read(React.useState((_d = nodeDimensions === null || nodeDimensions === void 0 ? void 0 : nodeDimensions.height) !== null && _d !== void 0 ? _d : undefined), 2), height = _z[0], setHeight = _z[1];
127
+ // Keeps the initial size of the element
128
+ var originalSize = React.useRef({});
120
129
  var zoom = 1;
121
- if (isResizeable)
130
+ if (isResizable)
122
131
  try {
123
132
  _b = __read(flowVersionCheck === "legacy"
124
133
  ? getStoreStateFlowLegacy(function (state) { return state.transform; })
@@ -129,7 +138,7 @@ export function NodeContent(_a) {
129
138
  // eslint-disable-next-line no-console
130
139
  console.error(error);
131
140
  }
132
- var _x = __read(React.useState({}), 2), adjustedContentProps = _x[0], setAdjustedContentProps = _x[1];
141
+ var _3 = __read(React.useState({}), 2), adjustedContentProps = _3[0], setAdjustedContentProps = _3[1];
133
142
  var nodeContentRef = React.useRef();
134
143
  var handleStack = flowVersionCheck === "legacy"
135
144
  ? {}
@@ -142,27 +151,63 @@ export function NodeContent(_a) {
142
151
  flowVersionCheck === "legacy" ? [] : [];
143
152
  handleStack[Position.Left] =
144
153
  flowVersionCheck === "legacy" ? [] : [];
145
- // initial dimension before resize
154
+ var saveOriginalSize = function () {
155
+ originalSize.current.width = nodeContentRef.current.offsetWidth;
156
+ originalSize.current.height = nodeContentRef.current.offsetHeight;
157
+ };
146
158
  React.useEffect(function () {
147
- if (!!onNodeResize && minimalShape === "none") {
148
- if (!nodeDimensions) {
149
- setWidth(nodeContentRef.current.offsetWidth);
150
- setHeight(nodeContentRef.current.offsetHeight);
151
- onNodeResize({
152
- height: nodeContentRef.current.offsetHeight,
153
- width: nodeContentRef.current.offsetWidth,
154
- });
155
- }
156
- nodeContentRef.current.className = nodeContentRef.current.className + " is-resizeable";
159
+ if (nodeContentRef.current && !(originalSize.current.width || originalSize.current.height)) {
160
+ saveOriginalSize();
157
161
  }
158
- }, [nodeContentRef, onNodeResize, minimalShape, nodeDimensions]);
159
- // update node dimensions when resized
162
+ }, [!!nodeContentRef.current, !(originalSize.current.width || originalSize.current.height)]);
163
+ // Update width and height when node dimensions parameters has changed
160
164
  React.useEffect(function () {
161
- if (nodeDimensions) {
162
- setWidth(nodeDimensions.width);
163
- setHeight(nodeDimensions.height);
165
+ var updateWidth = (nodeDimensions === null || nodeDimensions === void 0 ? void 0 : nodeDimensions.width) ? validateWidth(nodeDimensions === null || nodeDimensions === void 0 ? void 0 : nodeDimensions.width) : undefined;
166
+ var updateHeight = (nodeDimensions === null || nodeDimensions === void 0 ? void 0 : nodeDimensions.height) ? validateHeight(nodeDimensions === null || nodeDimensions === void 0 ? void 0 : nodeDimensions.height) : undefined;
167
+ setWidth(updateWidth);
168
+ setHeight(updateHeight);
169
+ if (!(nodeDimensions === null || nodeDimensions === void 0 ? void 0 : nodeDimensions.width) && !(nodeDimensions === null || nodeDimensions === void 0 ? void 0 : nodeDimensions.height)) {
170
+ // provoke new measuring if no dimensions are set
171
+ saveOriginalSize();
164
172
  }
165
173
  }, [nodeDimensions]);
174
+ var isResizingActive = React.useCallback(function () {
175
+ var currentClassNames = nodeContentRef.current.classList;
176
+ return resizeDirections.right === currentClassNames.contains("is-resizable-horizontal") &&
177
+ resizeDirections.bottom === currentClassNames.contains("is-resizable-vertical");
178
+ }, []);
179
+ // force default size when resizing is activated but no dimensions are set
180
+ React.useEffect(function () {
181
+ var _a, _b;
182
+ var resizingActive = isResizingActive();
183
+ if (isResizable && !resizingActive) {
184
+ if (!width || !height) {
185
+ var newWidth = validateWidth(width !== null && width !== void 0 ? width : (_a = originalSize.current) === null || _a === void 0 ? void 0 : _a.width);
186
+ var newHeight = validateHeight(height !== null && height !== void 0 ? height : (_b = originalSize.current) === null || _b === void 0 ? void 0 : _b.height);
187
+ setWidth(newWidth);
188
+ setHeight(newHeight);
189
+ }
190
+ }
191
+ }, [nodeContentRef.current, onNodeResize, minimalShape, resizeDirections === null || resizeDirections === void 0 ? void 0 : resizeDirections.bottom, resizeDirections === null || resizeDirections === void 0 ? void 0 : resizeDirections.right, width, height]); // need to be done everytime a property is changed and the element is re-rendered, otherwise the resizing class is lost
192
+ // conditional enhancements for activated resizing
193
+ React.useEffect(function () {
194
+ var currentClassNames = nodeContentRef.current.classList;
195
+ var resizingActive = isResizingActive();
196
+ if (isResizable && !resizingActive) {
197
+ if (currentClassNames.contains("is-resizable-horizontal")) {
198
+ nodeContentRef.current.classList.remove("is-resizable-horizontal");
199
+ }
200
+ if (currentClassNames.contains("is-resizable-vertical")) {
201
+ nodeContentRef.current.classList.remove("is-resizable-vertical");
202
+ }
203
+ if (resizeDirections.right) {
204
+ nodeContentRef.current.classList.add("is-resizable-horizontal");
205
+ }
206
+ if (resizeDirections.bottom) {
207
+ nodeContentRef.current.classList.add("is-resizable-vertical");
208
+ }
209
+ }
210
+ }); // need to be done everytime a property is changed and the element is re-rendered, otherwise the resizing class is lost
166
211
  // remove introduction class
167
212
  React.useEffect(function () {
168
213
  var _a;
@@ -216,8 +261,15 @@ export function NodeContent(_a) {
216
261
  var minHeightRight = handleStack[Position.Right].length * adaptSizeIncrement;
217
262
  styleExpandDimensions["minHeight"] = Math.max(minHeightLeft, minHeightRight);
218
263
  }
219
- var _y = evaluateHighlightColors("--node-highlight", highlightColor), highlightClassNameSuffix = _y.highlightClassNameSuffix, highlightCustomPropertySettings = _y.highlightCustomPropertySettings;
220
- var resizableStyles = !!onNodeResize === true && minimalShape === "none" && width + height > 0 ? { width: width, height: height } : {};
264
+ var _4 = evaluateHighlightColors("--node-highlight", highlightColor), highlightClassNameSuffix = _4.highlightClassNameSuffix, highlightCustomPropertySettings = _4.highlightCustomPropertySettings;
265
+ var resizableStyles = isResizable && (width !== null && width !== void 0 ? width : 0) + (height !== null && height !== void 0 ? height : 0) > 0
266
+ ? {
267
+ width: width,
268
+ height: height,
269
+ maxWidth: (_e = resizeMaxDimensions === null || resizeMaxDimensions === void 0 ? void 0 : resizeMaxDimensions.width) !== null && _e !== void 0 ? _e : undefined,
270
+ maxHeight: (_f = resizeMaxDimensions === null || resizeMaxDimensions === void 0 ? void 0 : resizeMaxDimensions.height) !== null && _f !== void 0 ? _f : undefined,
271
+ }
272
+ : {};
221
273
  var introductionStyles = introductionTime && !introductionDone
222
274
  ? {
223
275
  "--node-introduction-time": "".concat(typeof introductionTime === "object" ? introductionTime.run : introductionTime, "ms"),
@@ -271,21 +323,66 @@ export function NodeContent(_a) {
271
323
  addHandles(handleStack, Position.Right, "top", isConnectable, style, flowVersionCheck),
272
324
  addHandles(handleStack, Position.Bottom, "left", isConnectable, style, flowVersionCheck),
273
325
  addHandles(handleStack, Position.Left, "top", isConnectable, style, flowVersionCheck)))));
274
- var resizableNode = function () { return (React.createElement(Resizable, { className: "".concat(eccgui, "-graphviz__node__resizer"), handleWrapperClass: "".concat(eccgui, "-graphviz__node__resizer--cursorhandles nodrag"), size: { height: height, width: width }, enable: { bottomRight: true }, scale: zoom, onResize: function (_0, _1, _2, d) {
275
- if (nodeContentRef.current) {
276
- nodeContentRef.current.style.width = width + d.width + "px";
277
- nodeContentRef.current.style.height = height + d.height + "px";
278
- }
279
- }, onResizeStop: function (_0, _1, _2, d) {
280
- setWidth(width + d.width);
281
- setHeight(height + d.height);
282
- onNodeResize &&
283
- onNodeResize({
284
- height: height + d.height,
285
- width: width + d.width,
286
- });
287
- } }, nodeContent)); };
288
- return isResizeable ? resizableNode() : nodeContent;
326
+ var validateWidth = function (resizedWidth) {
327
+ var _a;
328
+ // only allow value if resize direction is allowed
329
+ if (!resizeDirections.right) {
330
+ return undefined;
331
+ }
332
+ // we need to check because there is probably a min value defined via CSS
333
+ var min = parseFloat(getComputedStyle(nodeContentRef.current).getPropertyValue("min-width"));
334
+ // we need to check for a given max value
335
+ var max = (_a = resizeMaxDimensions === null || resizeMaxDimensions === void 0 ? void 0 : resizeMaxDimensions.width) !== null && _a !== void 0 ? _a : Infinity;
336
+ var validatedWidth = Math.max(Math.min(resizedWidth, max), min);
337
+ return validatedWidth;
338
+ };
339
+ var validateHeight = function (resizedHeight) {
340
+ var _a;
341
+ if (!resizeDirections.bottom) {
342
+ return undefined;
343
+ }
344
+ // we need to check because there is probably a min value defined via CSS
345
+ var min = parseFloat(getComputedStyle(nodeContentRef.current).getPropertyValue("min-height"));
346
+ var max = (_a = resizeMaxDimensions === null || resizeMaxDimensions === void 0 ? void 0 : resizeMaxDimensions.height) !== null && _a !== void 0 ? _a : Infinity;
347
+ var validatedHeight = Math.max(Math.min(resizedHeight, max), min);
348
+ return validatedHeight;
349
+ };
350
+ var resizableNode = function () {
351
+ var _a, _b;
352
+ var size = { height: height !== null && height !== void 0 ? height : "auto", width: width !== null && width !== void 0 ? width : "auto" };
353
+ return (React.createElement(Resizable, { className: "".concat(eccgui, "-graphviz__node__resizer") +
354
+ (resizeDirections.right ? " ".concat(eccgui, "-graphviz__node__resizer--right") : "") +
355
+ (resizeDirections.bottom ? " ".concat(eccgui, "-graphviz__node__resizer--bottom") : ""), handleWrapperClass: "".concat(eccgui, "-graphviz__node__resizer--cursorhandles") + " nodrag", size: size, maxHeight: (_a = resizeMaxDimensions === null || resizeMaxDimensions === void 0 ? void 0 : resizeMaxDimensions.height) !== null && _a !== void 0 ? _a : undefined, maxWidth: (_b = resizeMaxDimensions === null || resizeMaxDimensions === void 0 ? void 0 : resizeMaxDimensions.width) !== null && _b !== void 0 ? _b : undefined, enable: resizeDirections.bottom && resizeDirections.right ? { bottomRight: true } : resizeDirections, scale: zoom, onResize: function (_0, _1, _2, d) {
356
+ var _a, _b;
357
+ if (nodeContentRef.current) {
358
+ var nextWidth = resizeDirections.right
359
+ ? ((_a = width !== null && width !== void 0 ? width : originalSize.current.width) !== null && _a !== void 0 ? _a : 0) + d.width
360
+ : undefined;
361
+ var nextHeight = resizeDirections.bottom
362
+ ? ((_b = height !== null && height !== void 0 ? height : originalSize.current.height) !== null && _b !== void 0 ? _b : 0) + d.height
363
+ : undefined;
364
+ if (nextWidth) {
365
+ nodeContentRef.current.style.width = "".concat(nextWidth, "px");
366
+ }
367
+ if (nextHeight) {
368
+ nodeContentRef.current.style.height = "".concat(nextHeight, "px");
369
+ }
370
+ }
371
+ }, onResizeStop: function (_0, _1, _2, d) {
372
+ var _a, _b;
373
+ var nextWidth = validateWidth(((_a = width !== null && width !== void 0 ? width : originalSize.current.width) !== null && _a !== void 0 ? _a : 0) + d.width);
374
+ var nextHeight = validateHeight(((_b = height !== null && height !== void 0 ? height : originalSize.current.height) !== null && _b !== void 0 ? _b : 0) + d.height);
375
+ setWidth(nextWidth);
376
+ setHeight(nextHeight);
377
+ if (onNodeResize) {
378
+ onNodeResize({
379
+ height: nextHeight,
380
+ width: nextWidth,
381
+ });
382
+ }
383
+ } }, nodeContent));
384
+ };
385
+ return isResizable ? resizableNode() : nodeContent;
289
386
  }
290
387
  var evaluateHighlightColors = function (baseCustomProperty, highlightColor) {
291
388
  var _a;
@@ -311,7 +408,7 @@ var evaluateHighlightColors = function (baseCustomProperty, highlightColor) {
311
408
  try {
312
409
  customColor = Color(color);
313
410
  }
314
- catch (ex) {
411
+ catch (_c) {
315
412
  // eslint-disable-next-line no-console
316
413
  console.warn("Received invalid color for highlight: " + color);
317
414
  }