@atlaskit/editor-plugin-code-block 14.1.32 → 14.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/dist/cjs/pm-plugins/language-list.js +10 -1
- package/dist/cjs/pm-plugins/toolbar.js +5 -5
- package/dist/es2019/pm-plugins/language-list.js +9 -0
- package/dist/es2019/pm-plugins/toolbar.js +6 -6
- package/dist/esm/pm-plugins/language-list.js +9 -0
- package/dist/esm/pm-plugins/toolbar.js +6 -6
- package/dist/types/pm-plugins/language-list.d.ts +259 -258
- package/dist/types/pm-plugins/toolbar.d.ts +0 -3
- package/package.json +8 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-code-block
|
|
2
2
|
|
|
3
|
+
## 14.2.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies
|
|
8
|
+
|
|
9
|
+
## 14.2.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- [`6891ca32d94cc`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/6891ca32d94cc) -
|
|
14
|
+
Add `Mermaid` as a selectable language in the code block language picker, behind the
|
|
15
|
+
`platform_editor_code_block_mermaid_language` feature gate. When the gate is enabled, Mermaid
|
|
16
|
+
appears in the picker and the advanced (CodeMirror) code block provides Mermaid syntax
|
|
17
|
+
highlighting via `codemirror-lang-mermaid`. The language is intentionally kept out of the shared
|
|
18
|
+
`@atlaskit/code` supported-languages list so it is fully gated and does not leak into other
|
|
19
|
+
consumers.
|
|
20
|
+
|
|
3
21
|
## 14.1.32
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.DEFAULT_LANGUAGES = void 0;
|
|
7
|
+
exports.MERMAID_LANGUAGE = exports.DEFAULT_LANGUAGES = void 0;
|
|
8
8
|
exports.createLanguageList = createLanguageList;
|
|
9
9
|
exports.filterSupportedLanguages = filterSupportedLanguages;
|
|
10
10
|
exports.findMatchedLanguage = findMatchedLanguage;
|
|
@@ -17,6 +17,15 @@ var DEFAULT_LANGUAGES = exports.DEFAULT_LANGUAGES = [{
|
|
|
17
17
|
alias: ['none'],
|
|
18
18
|
value: 'none'
|
|
19
19
|
}].concat((0, _toConsumableArray2.default)(_constants.SUPPORTED_LANGUAGES));
|
|
20
|
+
// Feature-gated languages injected into the picker at runtime. Kept out of the
|
|
21
|
+
// shared @atlaskit/code SUPPORTED_LANGUAGES so they stay gated and don't leak to
|
|
22
|
+
// other consumers (e.g. the renderer). The mutable-array literal matches the
|
|
23
|
+
// `Language` union's catch-all member, so the verbose types above need no change.
|
|
24
|
+
var MERMAID_LANGUAGE = exports.MERMAID_LANGUAGE = {
|
|
25
|
+
name: 'Mermaid',
|
|
26
|
+
alias: ['mermaid'],
|
|
27
|
+
value: 'mermaid'
|
|
28
|
+
};
|
|
20
29
|
function findMatchedLanguage(supportedLanguages, language) {
|
|
21
30
|
if (!language) {
|
|
22
31
|
return undefined;
|
|
@@ -86,11 +86,14 @@ var getToolbarConfig = exports.getToolbarConfig = function getToolbarConfig() {
|
|
|
86
86
|
var api = arguments.length > 1 ? arguments[1] : undefined;
|
|
87
87
|
var overrideLanguageName = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
|
|
88
88
|
var formatCodeProvider = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : undefined;
|
|
89
|
-
|
|
89
|
+
// Append gated languages (e.g. Mermaid) at runtime. Build a fresh array since
|
|
90
|
+
// createLanguageList sorts in place and would otherwise mutate DEFAULT_LANGUAGES.
|
|
91
|
+
var supportedLanguages = (0, _platformFeatureFlags.fg)('platform_editor_code_block_mermaid_language') ? [].concat((0, _toConsumableArray2.default)(_languageList.DEFAULT_LANGUAGES), [_languageList.MERMAID_LANGUAGE]) : _languageList.DEFAULT_LANGUAGES;
|
|
92
|
+
var languageList = (0, _languageList.createLanguageList)(overrideLanguageName ? supportedLanguages.map(function (languageOption) {
|
|
90
93
|
return _objectSpread(_objectSpread({}, languageOption), {}, {
|
|
91
94
|
name: overrideLanguageName(languageOption.name)
|
|
92
95
|
});
|
|
93
|
-
}) :
|
|
96
|
+
}) : supportedLanguages);
|
|
94
97
|
var languagePickerOptions = languageList.map(function (lang) {
|
|
95
98
|
return {
|
|
96
99
|
label: lang.name,
|
|
@@ -304,9 +307,6 @@ var getToolbarConfig = exports.getToolbarConfig = function getToolbarConfig() {
|
|
|
304
307
|
|
|
305
308
|
/**
|
|
306
309
|
* Filters language list based on both name and alias properties.
|
|
307
|
-
* @param option
|
|
308
|
-
* @param rawInput
|
|
309
|
-
* @example
|
|
310
310
|
*/
|
|
311
311
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
312
312
|
var languageListFilter = exports.languageListFilter = function languageListFilter(option, rawInput) {
|
|
@@ -6,6 +6,15 @@ export const DEFAULT_LANGUAGES = [{
|
|
|
6
6
|
alias: ['none'],
|
|
7
7
|
value: 'none'
|
|
8
8
|
}, ...SUPPORTED_LANGUAGES];
|
|
9
|
+
// Feature-gated languages injected into the picker at runtime. Kept out of the
|
|
10
|
+
// shared @atlaskit/code SUPPORTED_LANGUAGES so they stay gated and don't leak to
|
|
11
|
+
// other consumers (e.g. the renderer). The mutable-array literal matches the
|
|
12
|
+
// `Language` union's catch-all member, so the verbose types above need no change.
|
|
13
|
+
export const MERMAID_LANGUAGE = {
|
|
14
|
+
name: 'Mermaid',
|
|
15
|
+
alias: ['mermaid'],
|
|
16
|
+
value: 'mermaid'
|
|
17
|
+
};
|
|
9
18
|
export function findMatchedLanguage(supportedLanguages, language) {
|
|
10
19
|
if (!language) {
|
|
11
20
|
return undefined;
|
|
@@ -18,7 +18,7 @@ import { DETECT_LANGUAGE_VALUE, NONE_LANGUAGE_VALUE, PLAIN_TEXT_LANGUAGE_VALUE }
|
|
|
18
18
|
import { preloadFormatterOnIntent } from '../utils/format-code/formatter';
|
|
19
19
|
import { autoDetectPluginKey } from './auto-detect-state';
|
|
20
20
|
import { provideVisualFeedbackForCopyButton, removeVisualFeedbackForCopyButton } from './codeBlockCopySelectionPlugin';
|
|
21
|
-
import { createLanguageList, DEFAULT_LANGUAGES, getLanguageIdentifier } from './language-list';
|
|
21
|
+
import { createLanguageList, DEFAULT_LANGUAGES, getLanguageIdentifier, MERMAID_LANGUAGE } from './language-list';
|
|
22
22
|
import { pluginKey } from './plugin-key';
|
|
23
23
|
const getDetectLanguageOption = formatMessage => ({
|
|
24
24
|
alias: [],
|
|
@@ -63,10 +63,13 @@ const getAutoDetectPickerValue = ({
|
|
|
63
63
|
return undefined;
|
|
64
64
|
};
|
|
65
65
|
export const getToolbarConfig = (allowCopyToClipboard = false, api, overrideLanguageName = undefined, formatCodeProvider = undefined) => {
|
|
66
|
-
|
|
66
|
+
// Append gated languages (e.g. Mermaid) at runtime. Build a fresh array since
|
|
67
|
+
// createLanguageList sorts in place and would otherwise mutate DEFAULT_LANGUAGES.
|
|
68
|
+
const supportedLanguages = fg('platform_editor_code_block_mermaid_language') ? [...DEFAULT_LANGUAGES, MERMAID_LANGUAGE] : DEFAULT_LANGUAGES;
|
|
69
|
+
const languageList = createLanguageList(overrideLanguageName ? supportedLanguages.map(languageOption => ({
|
|
67
70
|
...languageOption,
|
|
68
71
|
name: overrideLanguageName(languageOption.name)
|
|
69
|
-
})) :
|
|
72
|
+
})) : supportedLanguages);
|
|
70
73
|
const languagePickerOptions = languageList.map(lang => ({
|
|
71
74
|
label: lang.name,
|
|
72
75
|
value: getLanguageIdentifier(lang),
|
|
@@ -272,9 +275,6 @@ export const getToolbarConfig = (allowCopyToClipboard = false, api, overrideLang
|
|
|
272
275
|
|
|
273
276
|
/**
|
|
274
277
|
* Filters language list based on both name and alias properties.
|
|
275
|
-
* @param option
|
|
276
|
-
* @param rawInput
|
|
277
|
-
* @example
|
|
278
278
|
*/
|
|
279
279
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
280
280
|
export const languageListFilter = (option, rawInput) => {
|
|
@@ -7,6 +7,15 @@ export var DEFAULT_LANGUAGES = [{
|
|
|
7
7
|
alias: ['none'],
|
|
8
8
|
value: 'none'
|
|
9
9
|
}].concat(_toConsumableArray(SUPPORTED_LANGUAGES));
|
|
10
|
+
// Feature-gated languages injected into the picker at runtime. Kept out of the
|
|
11
|
+
// shared @atlaskit/code SUPPORTED_LANGUAGES so they stay gated and don't leak to
|
|
12
|
+
// other consumers (e.g. the renderer). The mutable-array literal matches the
|
|
13
|
+
// `Language` union's catch-all member, so the verbose types above need no change.
|
|
14
|
+
export var MERMAID_LANGUAGE = {
|
|
15
|
+
name: 'Mermaid',
|
|
16
|
+
alias: ['mermaid'],
|
|
17
|
+
value: 'mermaid'
|
|
18
|
+
};
|
|
10
19
|
export function findMatchedLanguage(supportedLanguages, language) {
|
|
11
20
|
if (!language) {
|
|
12
21
|
return undefined;
|
|
@@ -22,7 +22,7 @@ import { DETECT_LANGUAGE_VALUE, NONE_LANGUAGE_VALUE, PLAIN_TEXT_LANGUAGE_VALUE }
|
|
|
22
22
|
import { preloadFormatterOnIntent } from '../utils/format-code/formatter';
|
|
23
23
|
import { autoDetectPluginKey } from './auto-detect-state';
|
|
24
24
|
import { provideVisualFeedbackForCopyButton, removeVisualFeedbackForCopyButton } from './codeBlockCopySelectionPlugin';
|
|
25
|
-
import { createLanguageList, DEFAULT_LANGUAGES, getLanguageIdentifier } from './language-list';
|
|
25
|
+
import { createLanguageList, DEFAULT_LANGUAGES, getLanguageIdentifier, MERMAID_LANGUAGE } from './language-list';
|
|
26
26
|
import { pluginKey } from './plugin-key';
|
|
27
27
|
var getDetectLanguageOption = function getDetectLanguageOption(formatMessage) {
|
|
28
28
|
return {
|
|
@@ -77,11 +77,14 @@ export var getToolbarConfig = function getToolbarConfig() {
|
|
|
77
77
|
var api = arguments.length > 1 ? arguments[1] : undefined;
|
|
78
78
|
var overrideLanguageName = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
|
|
79
79
|
var formatCodeProvider = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : undefined;
|
|
80
|
-
|
|
80
|
+
// Append gated languages (e.g. Mermaid) at runtime. Build a fresh array since
|
|
81
|
+
// createLanguageList sorts in place and would otherwise mutate DEFAULT_LANGUAGES.
|
|
82
|
+
var supportedLanguages = fg('platform_editor_code_block_mermaid_language') ? [].concat(_toConsumableArray(DEFAULT_LANGUAGES), [MERMAID_LANGUAGE]) : DEFAULT_LANGUAGES;
|
|
83
|
+
var languageList = createLanguageList(overrideLanguageName ? supportedLanguages.map(function (languageOption) {
|
|
81
84
|
return _objectSpread(_objectSpread({}, languageOption), {}, {
|
|
82
85
|
name: overrideLanguageName(languageOption.name)
|
|
83
86
|
});
|
|
84
|
-
}) :
|
|
87
|
+
}) : supportedLanguages);
|
|
85
88
|
var languagePickerOptions = languageList.map(function (lang) {
|
|
86
89
|
return {
|
|
87
90
|
label: lang.name,
|
|
@@ -295,9 +298,6 @@ export var getToolbarConfig = function getToolbarConfig() {
|
|
|
295
298
|
|
|
296
299
|
/**
|
|
297
300
|
* Filters language list based on both name and alias properties.
|
|
298
|
-
* @param option
|
|
299
|
-
* @param rawInput
|
|
300
|
-
* @example
|
|
301
301
|
*/
|
|
302
302
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
303
303
|
export var languageListFilter = function languageListFilter(option, rawInput) {
|