@atlaskit/editor-plugin-code-block-advanced 1.0.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 (110) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/LICENSE.md +11 -0
  3. package/README.md +1 -0
  4. package/afm-cc/tsconfig.json +36 -0
  5. package/build/tsconfig.json +17 -0
  6. package/dist/cjs/codeBlockAdvancedPlugin.js +33 -0
  7. package/dist/cjs/codeBlockAdvancedPluginType.js +5 -0
  8. package/dist/cjs/index.js +12 -0
  9. package/dist/cjs/nodeviews/codeBlockAdvanced.js +212 -0
  10. package/dist/cjs/nodeviews/codeBlockNodeWithToDOMFixed.js +55 -0
  11. package/dist/cjs/nodeviews/codemirrorSync/syncCMWithPM.js +38 -0
  12. package/dist/cjs/nodeviews/codemirrorSync/updateCMSelection.js +36 -0
  13. package/dist/cjs/nodeviews/extensions/bidiCharWarning.js +83 -0
  14. package/dist/cjs/nodeviews/extensions/keymap/backspace.js +33 -0
  15. package/dist/cjs/nodeviews/extensions/keymap/index.js +129 -0
  16. package/dist/cjs/nodeviews/extensions/keymap/maybeEscape.js +63 -0
  17. package/dist/cjs/nodeviews/languages/languageMap.js +100 -0
  18. package/dist/cjs/nodeviews/languages/loader.js +50 -0
  19. package/dist/cjs/nodeviews/lazyCodeBlockAdvanced.js +29 -0
  20. package/dist/cjs/pm-plugins/main.js +17 -0
  21. package/dist/cjs/ui/syntaxHighlightingTheme.js +76 -0
  22. package/dist/cjs/ui/theme.js +55 -0
  23. package/dist/es2019/codeBlockAdvancedPlugin.js +26 -0
  24. package/dist/es2019/codeBlockAdvancedPluginType.js +1 -0
  25. package/dist/es2019/index.js +4 -0
  26. package/dist/es2019/nodeviews/codeBlockAdvanced.js +170 -0
  27. package/dist/es2019/nodeviews/codeBlockNodeWithToDOMFixed.js +42 -0
  28. package/dist/es2019/nodeviews/codemirrorSync/syncCMWithPM.js +35 -0
  29. package/dist/es2019/nodeviews/codemirrorSync/updateCMSelection.js +30 -0
  30. package/dist/es2019/nodeviews/extensions/bidiCharWarning.js +53 -0
  31. package/dist/es2019/nodeviews/extensions/keymap/backspace.js +28 -0
  32. package/dist/es2019/nodeviews/extensions/keymap/index.js +107 -0
  33. package/dist/es2019/nodeviews/extensions/keymap/maybeEscape.js +57 -0
  34. package/dist/es2019/nodeviews/languages/languageMap.js +82 -0
  35. package/dist/es2019/nodeviews/languages/loader.js +37 -0
  36. package/dist/es2019/nodeviews/lazyCodeBlockAdvanced.js +18 -0
  37. package/dist/es2019/pm-plugins/main.js +11 -0
  38. package/dist/es2019/ui/syntaxHighlightingTheme.js +70 -0
  39. package/dist/es2019/ui/theme.js +49 -0
  40. package/dist/esm/codeBlockAdvancedPlugin.js +27 -0
  41. package/dist/esm/codeBlockAdvancedPluginType.js +1 -0
  42. package/dist/esm/index.js +4 -0
  43. package/dist/esm/nodeviews/codeBlockAdvanced.js +205 -0
  44. package/dist/esm/nodeviews/codeBlockNodeWithToDOMFixed.js +48 -0
  45. package/dist/esm/nodeviews/codemirrorSync/syncCMWithPM.js +32 -0
  46. package/dist/esm/nodeviews/codemirrorSync/updateCMSelection.js +30 -0
  47. package/dist/esm/nodeviews/extensions/bidiCharWarning.js +77 -0
  48. package/dist/esm/nodeviews/extensions/keymap/backspace.js +27 -0
  49. package/dist/esm/nodeviews/extensions/keymap/index.js +122 -0
  50. package/dist/esm/nodeviews/extensions/keymap/maybeEscape.js +56 -0
  51. package/dist/esm/nodeviews/languages/languageMap.js +86 -0
  52. package/dist/esm/nodeviews/languages/loader.js +44 -0
  53. package/dist/esm/nodeviews/lazyCodeBlockAdvanced.js +17 -0
  54. package/dist/esm/pm-plugins/main.js +11 -0
  55. package/dist/esm/ui/syntaxHighlightingTheme.js +70 -0
  56. package/dist/esm/ui/theme.js +49 -0
  57. package/dist/types/codeBlockAdvancedPlugin.d.ts +2 -0
  58. package/dist/types/codeBlockAdvancedPluginType.d.ts +11 -0
  59. package/dist/types/index.d.ts +2 -0
  60. package/dist/types/nodeviews/codeBlockAdvanced.d.ts +38 -0
  61. package/dist/types/nodeviews/codeBlockNodeWithToDOMFixed.d.ts +2 -0
  62. package/dist/types/nodeviews/codemirrorSync/syncCMWithPM.d.ts +17 -0
  63. package/dist/types/nodeviews/codemirrorSync/updateCMSelection.d.ts +11 -0
  64. package/dist/types/nodeviews/extensions/bidiCharWarning.d.ts +8 -0
  65. package/dist/types/nodeviews/extensions/keymap/backspace.d.ts +12 -0
  66. package/dist/types/nodeviews/extensions/keymap/index.d.ts +14 -0
  67. package/dist/types/nodeviews/extensions/keymap/maybeEscape.d.ts +17 -0
  68. package/dist/types/nodeviews/languages/languageMap.d.ts +5 -0
  69. package/dist/types/nodeviews/languages/loader.d.ts +11 -0
  70. package/dist/types/nodeviews/lazyCodeBlockAdvanced.d.ts +9 -0
  71. package/dist/types/pm-plugins/main.d.ts +10 -0
  72. package/dist/types/ui/syntaxHighlightingTheme.d.ts +2 -0
  73. package/dist/types/ui/theme.d.ts +1 -0
  74. package/dist/types-ts4.5/codeBlockAdvancedPlugin.d.ts +2 -0
  75. package/dist/types-ts4.5/codeBlockAdvancedPluginType.d.ts +15 -0
  76. package/dist/types-ts4.5/index.d.ts +2 -0
  77. package/dist/types-ts4.5/nodeviews/codeBlockAdvanced.d.ts +38 -0
  78. package/dist/types-ts4.5/nodeviews/codeBlockNodeWithToDOMFixed.d.ts +2 -0
  79. package/dist/types-ts4.5/nodeviews/codemirrorSync/syncCMWithPM.d.ts +17 -0
  80. package/dist/types-ts4.5/nodeviews/codemirrorSync/updateCMSelection.d.ts +11 -0
  81. package/dist/types-ts4.5/nodeviews/extensions/bidiCharWarning.d.ts +8 -0
  82. package/dist/types-ts4.5/nodeviews/extensions/keymap/backspace.d.ts +12 -0
  83. package/dist/types-ts4.5/nodeviews/extensions/keymap/index.d.ts +14 -0
  84. package/dist/types-ts4.5/nodeviews/extensions/keymap/maybeEscape.d.ts +17 -0
  85. package/dist/types-ts4.5/nodeviews/languages/languageMap.d.ts +5 -0
  86. package/dist/types-ts4.5/nodeviews/languages/loader.d.ts +12 -0
  87. package/dist/types-ts4.5/nodeviews/lazyCodeBlockAdvanced.d.ts +9 -0
  88. package/dist/types-ts4.5/pm-plugins/main.d.ts +10 -0
  89. package/dist/types-ts4.5/ui/syntaxHighlightingTheme.d.ts +2 -0
  90. package/dist/types-ts4.5/ui/theme.d.ts +1 -0
  91. package/docs/0-intro.tsx +56 -0
  92. package/package.json +96 -0
  93. package/src/codeBlockAdvancedPlugin.tsx +25 -0
  94. package/src/codeBlockAdvancedPluginType.ts +18 -0
  95. package/src/index.ts +5 -0
  96. package/src/nodeviews/codeBlockAdvanced.ts +223 -0
  97. package/src/nodeviews/codeBlockNodeWithToDOMFixed.ts +59 -0
  98. package/src/nodeviews/codemirrorSync/syncCMWithPM.ts +40 -0
  99. package/src/nodeviews/codemirrorSync/updateCMSelection.ts +40 -0
  100. package/src/nodeviews/extensions/bidiCharWarning.ts +72 -0
  101. package/src/nodeviews/extensions/keymap/backspace.ts +47 -0
  102. package/src/nodeviews/extensions/keymap/index.ts +118 -0
  103. package/src/nodeviews/extensions/keymap/maybeEscape.ts +69 -0
  104. package/src/nodeviews/languages/languageMap.ts +91 -0
  105. package/src/nodeviews/languages/loader.ts +44 -0
  106. package/src/nodeviews/lazyCodeBlockAdvanced.ts +32 -0
  107. package/src/pm-plugins/main.ts +22 -0
  108. package/src/ui/syntaxHighlightingTheme.ts +50 -0
  109. package/src/ui/theme.ts +52 -0
  110. package/tsconfig.json +10 -0
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.keymapExtension = void 0;
8
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
+ var _commands = require("@codemirror/commands");
10
+ var _view = require("@codemirror/view");
11
+ var _commands2 = require("@atlaskit/editor-prosemirror/commands");
12
+ var _history = require("@atlaskit/editor-prosemirror/history");
13
+ var _backspace = require("./backspace");
14
+ var _maybeEscape = require("./maybeEscape");
15
+ var keymapExtension = exports.keymapExtension = function keymapExtension(_ref) {
16
+ var view = _ref.view,
17
+ getNode = _ref.getNode,
18
+ getPos = _ref.getPos,
19
+ selectCodeBlockNode = _ref.selectCodeBlockNode,
20
+ onMaybeNodeSelection = _ref.onMaybeNodeSelection;
21
+ return _view.keymap.of(codeBlockKeymap({
22
+ view: view,
23
+ getNode: getNode,
24
+ getPos: getPos,
25
+ selectCodeBlockNode: selectCodeBlockNode,
26
+ onMaybeNodeSelection: onMaybeNodeSelection
27
+ }));
28
+ };
29
+ var codeBlockKeymap = function codeBlockKeymap(_ref2) {
30
+ var view = _ref2.view,
31
+ getNode = _ref2.getNode,
32
+ getPos = _ref2.getPos,
33
+ selectCodeBlockNode = _ref2.selectCodeBlockNode,
34
+ onMaybeNodeSelection = _ref2.onMaybeNodeSelection;
35
+ return [{
36
+ key: 'ArrowUp',
37
+ run: function run(cm) {
38
+ return (0, _maybeEscape.maybeEscapeKeymap)({
39
+ unit: 'line',
40
+ dir: -1,
41
+ cm: cm,
42
+ view: view,
43
+ getNode: getNode,
44
+ getPos: getPos,
45
+ selectCodeBlockNode: selectCodeBlockNode,
46
+ onMaybeNodeSelection: onMaybeNodeSelection
47
+ });
48
+ }
49
+ }, {
50
+ key: 'ArrowLeft',
51
+ run: function run(cm) {
52
+ return (0, _maybeEscape.maybeEscapeKeymap)({
53
+ unit: 'char',
54
+ dir: -1,
55
+ cm: cm,
56
+ view: view,
57
+ getNode: getNode,
58
+ getPos: getPos,
59
+ selectCodeBlockNode: selectCodeBlockNode,
60
+ onMaybeNodeSelection: onMaybeNodeSelection
61
+ });
62
+ }
63
+ }, {
64
+ key: 'ArrowDown',
65
+ run: function run(cm) {
66
+ return (0, _maybeEscape.maybeEscapeKeymap)({
67
+ unit: 'line',
68
+ dir: 1,
69
+ cm: cm,
70
+ view: view,
71
+ getNode: getNode,
72
+ getPos: getPos,
73
+ selectCodeBlockNode: selectCodeBlockNode,
74
+ onMaybeNodeSelection: onMaybeNodeSelection
75
+ });
76
+ }
77
+ }, {
78
+ key: 'ArrowRight',
79
+ run: function run(cm) {
80
+ return (0, _maybeEscape.maybeEscapeKeymap)({
81
+ unit: 'char',
82
+ dir: 1,
83
+ cm: cm,
84
+ view: view,
85
+ getNode: getNode,
86
+ getPos: getPos,
87
+ selectCodeBlockNode: selectCodeBlockNode,
88
+ onMaybeNodeSelection: onMaybeNodeSelection
89
+ });
90
+ }
91
+ }, {
92
+ key: 'Ctrl-Enter',
93
+ run: function run() {
94
+ if (!(0, _commands2.exitCode)(view.state, view.dispatch)) {
95
+ return false;
96
+ }
97
+ view.focus();
98
+ return true;
99
+ }
100
+ }, {
101
+ key: 'Ctrl-z',
102
+ mac: 'Cmd-z',
103
+ run: function run() {
104
+ return (0, _history.undo)(view.state, view.dispatch);
105
+ }
106
+ }, {
107
+ key: 'Shift-Ctrl-z',
108
+ mac: 'Shift-Cmd-z',
109
+ run: function run() {
110
+ return (0, _history.redo)(view.state, view.dispatch);
111
+ }
112
+ }, {
113
+ key: 'Ctrl-y',
114
+ mac: 'Cmd-y',
115
+ run: function run() {
116
+ return (0, _history.redo)(view.state, view.dispatch);
117
+ }
118
+ }, {
119
+ key: 'Backspace',
120
+ run: function run(cm) {
121
+ return (0, _backspace.backspaceKeymap)({
122
+ cm: cm,
123
+ view: view,
124
+ getNode: getNode,
125
+ getPos: getPos
126
+ });
127
+ }
128
+ }].concat((0, _toConsumableArray2.default)(_commands.defaultKeymap.concat(_commands.indentWithTab)));
129
+ };
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.maybeEscapeKeymap = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _selection = require("@atlaskit/editor-common/selection");
10
+ var _state = require("@atlaskit/editor-prosemirror/state");
11
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
12
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
13
+ var maybeEscapeKeymap = exports.maybeEscapeKeymap = function maybeEscapeKeymap(_ref) {
14
+ var _getPos;
15
+ var unit = _ref.unit,
16
+ dir = _ref.dir,
17
+ view = _ref.view,
18
+ cm = _ref.cm,
19
+ getPos = _ref.getPos,
20
+ getNode = _ref.getNode,
21
+ onMaybeNodeSelection = _ref.onMaybeNodeSelection,
22
+ selectCodeBlockNode = _ref.selectCodeBlockNode;
23
+ if (unit === 'char') {
24
+ onMaybeNodeSelection();
25
+ }
26
+ var node = getNode();
27
+ var state = cm.state;
28
+ var main = state.selection.main;
29
+ if (!main.empty) {
30
+ return false;
31
+ }
32
+ if (unit === 'line') {
33
+ main = _objectSpread(_objectSpread({}, state.doc.lineAt(main.head)), {}, {
34
+ head: 0,
35
+ empty: false
36
+ });
37
+ }
38
+ if (dir < 0 ? main.from > 0 : main.to < state.doc.length) {
39
+ return false;
40
+ }
41
+ var targetPos = ((_getPos = getPos === null || getPos === void 0 ? void 0 : getPos()) !== null && _getPos !== void 0 ? _getPos : 0) + (dir < 0 ? 0 : node.nodeSize);
42
+ if (unit === 'char') {
43
+ view.focus();
44
+ selectCodeBlockNode(dir === -1 ? _selection.RelativeSelectionPos.Start : _selection.RelativeSelectionPos.End);
45
+ return true;
46
+ } else {
47
+ createParagraphIfEndOfDoc(view, targetPos);
48
+ var tr = view.state.tr;
49
+ var selection = _state.Selection.near(tr.doc.resolve(targetPos), dir);
50
+ tr.setSelection(selection).scrollIntoView();
51
+ view.dispatch(tr);
52
+ view.focus();
53
+ return true;
54
+ }
55
+ };
56
+ var createParagraphIfEndOfDoc = function createParagraphIfEndOfDoc(view, targetPos) {
57
+ if (targetPos === view.state.doc.content.size) {
58
+ var paragraph = view.state.schema.nodes.paragraph.createChecked({});
59
+ var tr = view.state.tr.insert(targetPos, paragraph);
60
+ // Note: we purposefully do a multi-dispatch here, otherwise we get stuck in codemirror
61
+ view.dispatch(tr);
62
+ }
63
+ };
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.mapLanguageToCodeMirror = void 0;
8
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
9
+ var _language = require("@codemirror/language");
10
+ var _languageData = require("@codemirror/language-data");
11
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
12
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != (0, _typeof2.default)(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
+ // getLanguageIdentifier defines `language.alias[0]`
14
+ var mapLanguageToCodeMirror = exports.mapLanguageToCodeMirror = function mapLanguageToCodeMirror(language) {
15
+ if (!language || language === 'none') {
16
+ return undefined;
17
+ }
18
+ switch (language) {
19
+ case 'coldfusion':
20
+ return _languageData.languages.find(function (l) {
21
+ return l.name.toLowerCase() === 'xml';
22
+ });
23
+ case 'matlab':
24
+ return _languageData.languages.find(function (l) {
25
+ return l.name.toLowerCase() === 'octave';
26
+ });
27
+ case 'javafx':
28
+ return _languageData.languages.find(function (l) {
29
+ return l.name.toLowerCase() === 'java';
30
+ });
31
+ case 'vbnet':
32
+ return _languageData.languages.find(function (l) {
33
+ return l.name === 'VB.NET';
34
+ });
35
+ case 'pas':
36
+ return _languageData.languages.find(function (l) {
37
+ return l.name.toLowerCase() === 'pascal';
38
+ });
39
+ case 'cuda':
40
+ return _languageData.languages.find(function (l) {
41
+ return l.name.toLowerCase() === 'c++';
42
+ });
43
+ case 'racket':
44
+ return _languageData.languages.find(function (l) {
45
+ return l.name === 'Common Lisp';
46
+ });
47
+ case 'abap':
48
+ return _languageData.languages.find(function (l) {
49
+ return l.name === 'SQL';
50
+ });
51
+ case 'standardmL':
52
+ return _languageData.languages.find(function (l) {
53
+ return l.name === 'SML';
54
+ });
55
+ case 'objective-j':
56
+ return _languageData.languages.find(function (l) {
57
+ return l.name === 'Objective-C';
58
+ });
59
+ case 'docker':
60
+ return _languageData.languages.find(function (l) {
61
+ return l.name === 'Dockerfile';
62
+ });
63
+ case 'arduino':
64
+ return _languageData.languages.find(function (l) {
65
+ return l.name === 'C++';
66
+ });
67
+ case 'visualbasic':
68
+ return _languageData.languages.find(function (l) {
69
+ return l.name === 'VB.NET';
70
+ });
71
+ case 'elixir':
72
+ return _language.LanguageDescription.of({
73
+ name: 'Elixir',
74
+ load: function load() {
75
+ return Promise.resolve().then(function () {
76
+ return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_@atlaskit/editor-plugin-code-block-advanced-lang-elixir" */
77
+ 'codemirror-lang-elixir'));
78
+ }).then(function (m) {
79
+ return m.elixir();
80
+ });
81
+ }
82
+ });
83
+ case 'graphql':
84
+ return _language.LanguageDescription.of({
85
+ name: 'GraphQL',
86
+ load: function load() {
87
+ return Promise.resolve().then(function () {
88
+ return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_@atlaskit/editor-plugin-code-block-advanced-lang-graphql" */
89
+ 'cm6-graphql'));
90
+ }).then(function (m) {
91
+ return m.graphqlLanguageSupport();
92
+ });
93
+ }
94
+ });
95
+ default:
96
+ return _languageData.languages.find(function (l) {
97
+ return l.alias.includes(language) || l.name.toLowerCase() === (language === null || language === void 0 ? void 0 : language.toLowerCase());
98
+ });
99
+ }
100
+ };
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.LanguageLoader = void 0;
8
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _languageMap = require("./languageMap");
12
+ /**
13
+ * Manages loading the languages (for syntax highlighting, etc.)
14
+ * from CodeMirror and updating the language in the CodeMirror view
15
+ */
16
+ var LanguageLoader = exports.LanguageLoader = /*#__PURE__*/function () {
17
+ function LanguageLoader(updateLanguageCompartment) {
18
+ (0, _classCallCheck2.default)(this, LanguageLoader);
19
+ (0, _defineProperty2.default)(this, "languageName", '');
20
+ this.updateLanguageCompartment = updateLanguageCompartment;
21
+ }
22
+ return (0, _createClass2.default)(LanguageLoader, [{
23
+ key: "updateLanguage",
24
+ value: function updateLanguage(languageName) {
25
+ var _this = this;
26
+ if (languageName === this.languageName) {
27
+ return;
28
+ }
29
+ var language = (0, _languageMap.mapLanguageToCodeMirror)(languageName);
30
+ var configureEmpty = function configureEmpty() {
31
+ _this.updateLanguageCompartment([]);
32
+ _this.languageName = '';
33
+ };
34
+ if (!language) {
35
+ configureEmpty();
36
+ return;
37
+ }
38
+ language.load().then(function (lang) {
39
+ if (lang) {
40
+ _this.updateLanguageCompartment(lang);
41
+ _this.languageName = languageName;
42
+ } else {
43
+ configureEmpty();
44
+ }
45
+ }).catch(function () {
46
+ configureEmpty();
47
+ });
48
+ }
49
+ }]);
50
+ }();
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.lazyCodeBlockView = void 0;
8
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
9
+ var _lazyNodeView = require("@atlaskit/editor-common/lazy-node-view");
10
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
11
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != (0, _typeof2.default)(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
+ var lazyCodeBlockView = exports.lazyCodeBlockView = function lazyCodeBlockView(props) {
13
+ return (0, _lazyNodeView.withLazyLoading)({
14
+ nodeName: 'codeBlock',
15
+ getNodeViewOptions: function getNodeViewOptions() {},
16
+ loader: function loader() {
17
+ var result = Promise.resolve().then(function () {
18
+ return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_editor-plugin-code-block-advanced-nodeview" */
19
+ './codeBlockAdvanced'));
20
+ }).then(function (_ref) {
21
+ var getCodeBlockAdvancedNodeView = _ref.getCodeBlockAdvancedNodeView;
22
+ return function (node, view, getPos) {
23
+ return getCodeBlockAdvancedNodeView(props)(node, view, getPos);
24
+ };
25
+ });
26
+ return result;
27
+ }
28
+ });
29
+ };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createPlugin = void 0;
7
+ var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
8
+ var _lazyCodeBlockAdvanced = require("../nodeviews/lazyCodeBlockAdvanced");
9
+ var createPlugin = exports.createPlugin = function createPlugin(props) {
10
+ return new _safePlugin.SafePlugin({
11
+ props: {
12
+ nodeViews: {
13
+ codeBlock: (0, _lazyCodeBlockAdvanced.lazyCodeBlockView)(props)
14
+ }
15
+ }
16
+ });
17
+ };
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.highlightStyle = void 0;
7
+ var _language = require("@codemirror/language");
8
+ var _highlight = require("@lezer/highlight");
9
+ // Based on `platform/packages/design-system/code/src/internal/theme/styles.tsx`
10
+ var highlightStyle = exports.highlightStyle = _language.HighlightStyle.define([{
11
+ tag: _highlight.tags.meta,
12
+ color: "var(--ds-text, #172B4D)"
13
+ }, {
14
+ tag: _highlight.tags.link,
15
+ textDecoration: 'underline'
16
+ }, {
17
+ tag: _highlight.tags.heading,
18
+ textDecoration: 'underline',
19
+ // Custom syntax styling to match existing styling
20
+ // eslint-disable-next-line @atlaskit/design-system/use-tokens-typography
21
+ fontWeight: "var(--ds-font-weight-bold, 700)"
22
+ }, {
23
+ tag: _highlight.tags.emphasis,
24
+ fontStyle: 'italic'
25
+ }, {
26
+ tag: _highlight.tags.strong,
27
+ // Custom syntax styling to match existing styling
28
+ // eslint-disable-next-line @atlaskit/design-system/use-tokens-typography
29
+ fontWeight: "var(--ds-font-weight-bold, 700)"
30
+ }, {
31
+ tag: _highlight.tags.strikethrough,
32
+ textDecoration: 'line-through'
33
+ }, {
34
+ tag: _highlight.tags.keyword,
35
+ color: "var(--ds-text-accent-blue, #0055CC)",
36
+ // Custom syntax styling to match existing styling
37
+ // eslint-disable-next-line @atlaskit/design-system/use-tokens-typography
38
+ fontWeight: "var(--ds-font-weight-bold, 700)"
39
+ }, {
40
+ tag: [_highlight.tags.atom, _highlight.tags.bool, _highlight.tags.url, _highlight.tags.contentSeparator, _highlight.tags.labelName],
41
+ color: "var(--ds-text-accent-blue, #0055CC)"
42
+ }, {
43
+ tag: [_highlight.tags.literal, _highlight.tags.inserted],
44
+ color: "var(--ds-text-accent-blue, #0055CC)"
45
+ }, {
46
+ tag: [_highlight.tags.string, _highlight.tags.deleted],
47
+ color: "var(--ds-text-accent-green, #216E4E)"
48
+ }, {
49
+ tag: [_highlight.tags.regexp, _highlight.tags.escape, _highlight.tags.special(_highlight.tags.string)],
50
+ color: "var(--ds-text, #172B4D)"
51
+ }, {
52
+ tag: _highlight.tags.definition(_highlight.tags.variableName),
53
+ color: "var(--ds-text, #172B4D)"
54
+ }, {
55
+ tag: _highlight.tags.local(_highlight.tags.variableName),
56
+ color: "var(--ds-text, #172B4D)"
57
+ }, {
58
+ tag: [_highlight.tags.typeName, _highlight.tags.namespace],
59
+ color: "var(--ds-text-accent-blue, #0055CC)"
60
+ }, {
61
+ tag: _highlight.tags.className,
62
+ color: "var(--ds-text-accent-purple, #5E4DB2)"
63
+ }, {
64
+ tag: [_highlight.tags.special(_highlight.tags.variableName), _highlight.tags.macroName],
65
+ color: "var(--ds-text, #172B4D)"
66
+ }, {
67
+ tag: _highlight.tags.definition(_highlight.tags.propertyName),
68
+ color: "var(--ds-text, #172B4D)"
69
+ }, {
70
+ tag: _highlight.tags.comment,
71
+ color: "var(--ds-text-subtlest, #626F86)",
72
+ fontStyle: 'italic'
73
+ }, {
74
+ tag: _highlight.tags.invalid,
75
+ color: "var(--ds-text, #172B4D)"
76
+ }]);
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.cmTheme = void 0;
7
+ var _view = require("@codemirror/view");
8
+ var cmTheme = exports.cmTheme = _view.EditorView.theme({
9
+ '&': {
10
+ backgroundColor: "var(--ds-background-neutral, #091E420F)",
11
+ padding: '0',
12
+ marginTop: "var(--ds-space-100, 8px)",
13
+ marginBottom: "var(--ds-space-100, 8px)",
14
+ borderRadius: "var(--ds-border-radius, 4px)",
15
+ fontSize: '0.875rem',
16
+ // Custom syntax styling to match existing styling
17
+ // eslint-disable-next-line @atlaskit/design-system/use-tokens-typography
18
+ lineHeight: '1.5rem'
19
+ },
20
+ '&.cm-focused': {
21
+ outline: 'none'
22
+ },
23
+ '.cm-line': {
24
+ padding: '0'
25
+ },
26
+ '&.cm-editor.code-block.danger': {
27
+ backgroundColor: "var(--ds-background-danger, #FFECEB)"
28
+ },
29
+ '.cm-content': {
30
+ cursor: 'text',
31
+ caretColor: "var(--ds-text, #172B4D)",
32
+ margin: "var(--ds-space-100, 8px)",
33
+ padding: "var(--ds-space-0, 0px)"
34
+ },
35
+ '.cm-scroller': {
36
+ backgroundColor: "var(--ds-background-neutral, #091E420F)",
37
+ // Custom syntax styling to match existing styling
38
+ // eslint-disable-next-line @atlaskit/design-system/use-tokens-typography
39
+ lineHeight: 'unset',
40
+ fontFamily: "var(--ds-font-family-code, ui-monospace, Menlo, \"Segoe UI Mono\", \"Ubuntu Mono\", monospace)"
41
+ },
42
+ '&.cm-focused .cm-cursor': {
43
+ borderLeftColor: "var(--ds-text, #172B4D)"
44
+ },
45
+ '.cm-gutters': {
46
+ backgroundColor: "var(--ds-background-neutral, #091E420F)",
47
+ border: 'none',
48
+ padding: "var(--ds-space-100, 8px)"
49
+ },
50
+ '.cm-lineNumbers .cm-gutterElement': {
51
+ paddingLeft: "var(--ds-space-0, 0px)",
52
+ paddingRight: "var(--ds-space-0, 0px)",
53
+ minWidth: 'unset'
54
+ }
55
+ });
@@ -0,0 +1,26 @@
1
+ import { codeBlockNodeWithFixedToDOM } from './nodeviews/codeBlockNodeWithToDOMFixed';
2
+ import { createPlugin } from './pm-plugins/main';
3
+ export const codeBlockAdvancedPlugin = ({
4
+ api,
5
+ config
6
+ }) => ({
7
+ name: 'codeBlockAdvanced',
8
+ nodes() {
9
+ return [{
10
+ name: 'codeBlock',
11
+ node: codeBlockNodeWithFixedToDOM()
12
+ }];
13
+ },
14
+ pmPlugins() {
15
+ return [{
16
+ name: 'codeBlockAdvancedPlugin',
17
+ plugin: () => {
18
+ var _config$extensions;
19
+ return createPlugin({
20
+ api,
21
+ extensions: (_config$extensions = config === null || config === void 0 ? void 0 : config.extensions) !== null && _config$extensions !== void 0 ? _config$extensions : []
22
+ });
23
+ }
24
+ }];
25
+ }
26
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ /* eslint-disable @atlaskit/editor/no-re-export */
2
+ // Entry file in package.json
3
+
4
+ export { codeBlockAdvancedPlugin } from './codeBlockAdvancedPlugin';