@patternfly/react-code-editor 6.0.0-alpha.9 → 6.0.0-alpha.90

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 (26) hide show
  1. package/CHANGELOG.md +880 -0
  2. package/README.md +46 -36
  3. package/dist/esm/components/CodeEditor/CodeEditor.d.ts +8 -2
  4. package/dist/esm/components/CodeEditor/CodeEditor.d.ts.map +1 -1
  5. package/dist/esm/components/CodeEditor/CodeEditor.js +47 -41
  6. package/dist/esm/components/CodeEditor/CodeEditor.js.map +1 -1
  7. package/dist/esm/components/CodeEditor/CodeEditorControl.d.ts.map +1 -1
  8. package/dist/esm/components/CodeEditor/CodeEditorControl.js +1 -1
  9. package/dist/esm/components/CodeEditor/CodeEditorControl.js.map +1 -1
  10. package/dist/js/components/CodeEditor/CodeEditor.d.ts +8 -2
  11. package/dist/js/components/CodeEditor/CodeEditor.d.ts.map +1 -1
  12. package/dist/js/components/CodeEditor/CodeEditor.js +47 -41
  13. package/dist/js/components/CodeEditor/CodeEditor.js.map +1 -1
  14. package/dist/js/components/CodeEditor/CodeEditorControl.d.ts.map +1 -1
  15. package/dist/js/components/CodeEditor/CodeEditorControl.js +1 -1
  16. package/dist/js/components/CodeEditor/CodeEditorControl.js.map +1 -1
  17. package/package.json +9 -10
  18. package/src/components/CodeEditor/CodeEditor.tsx +77 -65
  19. package/src/components/CodeEditor/CodeEditorControl.tsx +8 -3
  20. package/src/components/CodeEditor/__test__/CodeEditor.test.tsx +69 -39
  21. package/src/components/CodeEditor/__test__/CodeEditorControl.test.tsx +18 -0
  22. package/src/components/CodeEditor/__test__/__snapshots__/CodeEditor.test.tsx.snap +116 -536
  23. package/src/components/CodeEditor/__test__/__snapshots__/CodeEditorControl.test.tsx.snap +26 -0
  24. package/src/components/CodeEditor/examples/CodeEditor.md +5 -0
  25. package/src/components/CodeEditor/examples/CodeEditorCustomControl.tsx +2 -1
  26. package/src/components/CodeEditor/examples/CodeEditorShortcutMainHeader.tsx +51 -18
@@ -7,7 +7,7 @@ const react_styles_1 = require("@patternfly/react-styles");
7
7
  const code_editor_1 = tslib_1.__importDefault(require("@patternfly/react-styles/css/components/CodeEditor/code-editor"));
8
8
  const file_upload_1 = tslib_1.__importDefault(require("@patternfly/react-styles/css/components/FileUpload/file-upload"));
9
9
  const react_core_1 = require("@patternfly/react-core");
10
- const react_monaco_editor_1 = tslib_1.__importDefault(require("react-monaco-editor"));
10
+ const react_1 = tslib_1.__importDefault(require("@monaco-editor/react"));
11
11
  const copy_icon_1 = tslib_1.__importDefault(require('@patternfly/react-icons/dist/js/icons/copy-icon'));
12
12
  const upload_icon_1 = tslib_1.__importDefault(require('@patternfly/react-icons/dist/js/icons/upload-icon'));
13
13
  const download_icon_1 = tslib_1.__importDefault(require('@patternfly/react-icons/dist/js/icons/download-icon'));
@@ -93,8 +93,32 @@ var Language;
93
93
  Language["verilog"] = "verilog";
94
94
  Language["xml"] = "xml";
95
95
  Language["yaml"] = "yaml";
96
- })(Language = exports.Language || (exports.Language = {}));
96
+ })(Language || (exports.Language = Language = {}));
97
97
  class CodeEditor extends React.Component {
98
+ static getExtensionFromLanguage(language) {
99
+ switch (language) {
100
+ case Language.shell:
101
+ return 'sh';
102
+ case Language.ruby:
103
+ return 'rb';
104
+ case Language.perl:
105
+ return 'pl';
106
+ case Language.python:
107
+ return 'py';
108
+ case Language.mysql:
109
+ return 'sql';
110
+ case Language.javascript:
111
+ return 'js';
112
+ case Language.typescript:
113
+ return 'ts';
114
+ case Language.markdown:
115
+ return 'md';
116
+ case Language.plaintext:
117
+ return 'txt';
118
+ default:
119
+ return language.toString();
120
+ }
121
+ }
98
122
  constructor(props) {
99
123
  super(props);
100
124
  this.editor = null;
@@ -194,30 +218,6 @@ class CodeEditor extends React.Component {
194
218
  copied: false
195
219
  };
196
220
  }
197
- static getExtensionFromLanguage(language) {
198
- switch (language) {
199
- case Language.shell:
200
- return 'sh';
201
- case Language.ruby:
202
- return 'rb';
203
- case Language.perl:
204
- return 'pl';
205
- case Language.python:
206
- return 'py';
207
- case Language.mysql:
208
- return 'sql';
209
- case Language.javascript:
210
- return 'js';
211
- case Language.typescript:
212
- return 'ts';
213
- case Language.markdown:
214
- return 'md';
215
- case Language.plaintext:
216
- return 'txt';
217
- default:
218
- return language.toString();
219
- }
220
- }
221
221
  setHeightToFitContent() {
222
222
  const contentHeight = this.editor.getContentHeight();
223
223
  const layoutInfo = this.editor.getLayoutInfo();
@@ -257,25 +257,22 @@ class CodeEditor extends React.Component {
257
257
  }
258
258
  render() {
259
259
  const { height, value, isLoading, showEmptyState, copied } = this.state;
260
- const { isDarkTheme, width, className, isCopyEnabled, copyButtonSuccessTooltipText, isReadOnly, isUploadEnabled, isLanguageLabelVisible, copyButtonAriaLabel, copyButtonToolTipText, uploadButtonAriaLabel, uploadButtonToolTipText, downloadButtonAriaLabel, downloadButtonToolTipText, toolTipDelay, toolTipCopyExitDelay, toolTipMaxWidth, toolTipPosition, isLineNumbersVisible, isDownloadEnabled, language, emptyState: providedEmptyState, emptyStateTitle, emptyStateBody, emptyStateButton, emptyStateLink, customControls, isMinimapVisible, headerMainContent, shortcutsPopoverButtonText, shortcutsPopoverProps: shortcutsPopoverPropsProp, showEditor, options: optionsProp, overrideServices } = this.props;
260
+ const { isDarkTheme, width, className, isCopyEnabled, copyButtonSuccessTooltipText, isReadOnly, isUploadEnabled, isLanguageLabelVisible, copyButtonAriaLabel, copyButtonToolTipText, uploadButtonAriaLabel, uploadButtonToolTipText, downloadButtonAriaLabel, downloadButtonToolTipText, toolTipDelay, toolTipCopyExitDelay, toolTipMaxWidth, toolTipPosition, isLineNumbersVisible, isDownloadEnabled, language, emptyState: providedEmptyState, emptyStateTitle, emptyStateBody, emptyStateButton, emptyStateLink, customControls, isMinimapVisible, isHeaderPlain, headerMainContent, shortcutsPopoverButtonText, shortcutsPopoverProps: shortcutsPopoverPropsProp, showEditor, options: optionsProp, overrideServices, editorProps } = this.props;
261
261
  const shortcutsPopoverProps = Object.assign(Object.assign({}, CodeEditor.defaultProps.shortcutsPopoverProps), shortcutsPopoverPropsProp);
262
262
  const options = Object.assign({ scrollBeyondLastLine: height !== 'sizeToFit', readOnly: isReadOnly, cursorStyle: 'line', lineNumbers: isLineNumbersVisible ? 'on' : 'off', tabIndex: -1, minimap: {
263
263
  enabled: isMinimapVisible
264
264
  } }, optionsProp);
265
265
  return (React.createElement(react_dropzone_1.default, { multiple: false, onDropAccepted: this.onDropAccepted, onDropRejected: this.onDropRejected }, ({ getRootProps, getInputProps, isDragActive, open }) => {
266
266
  const emptyState = providedEmptyState ||
267
- (isUploadEnabled ? (React.createElement(react_core_1.EmptyState, { variant: react_core_1.EmptyStateVariant.sm },
268
- React.createElement(react_core_1.EmptyStateHeader, { titleText: emptyStateTitle, icon: React.createElement(react_core_1.EmptyStateIcon, { icon: code_icon_1.default }), headingLevel: "h4" }),
267
+ (isUploadEnabled ? (React.createElement(react_core_1.EmptyState, { variant: react_core_1.EmptyStateVariant.sm, titleText: emptyStateTitle, icon: code_icon_1.default, headingLevel: "h4" },
269
268
  React.createElement(react_core_1.EmptyStateBody, null, emptyStateBody),
270
269
  !isReadOnly && (React.createElement(react_core_1.EmptyStateFooter, null,
271
270
  React.createElement(react_core_1.EmptyStateActions, null,
272
271
  React.createElement(react_core_1.Button, { variant: "primary", onClick: open }, emptyStateButton)),
273
272
  React.createElement(react_core_1.EmptyStateActions, null,
274
- React.createElement(react_core_1.Button, { variant: "link", onClick: this.toggleEmptyState }, emptyStateLink)))))) : (React.createElement(react_core_1.EmptyState, { variant: react_core_1.EmptyStateVariant.sm },
275
- React.createElement(react_core_1.EmptyStateHeader, { titleText: emptyStateTitle, icon: React.createElement(react_core_1.EmptyStateIcon, { icon: code_icon_1.default }), headingLevel: "h4" }),
276
- !isReadOnly && (React.createElement(react_core_1.EmptyStateFooter, null,
277
- React.createElement(react_core_1.EmptyStateActions, null,
278
- React.createElement(react_core_1.Button, { variant: "primary", onClick: this.toggleEmptyState }, emptyStateLink)))))));
273
+ React.createElement(react_core_1.Button, { variant: "link", onClick: this.toggleEmptyState }, emptyStateLink)))))) : (React.createElement(react_core_1.EmptyState, { variant: react_core_1.EmptyStateVariant.sm, titleText: emptyStateTitle, icon: code_icon_1.default, headingLevel: "h4" }, !isReadOnly && (React.createElement(react_core_1.EmptyStateFooter, null,
274
+ React.createElement(react_core_1.EmptyStateActions, null,
275
+ React.createElement(react_core_1.Button, { variant: "primary", onClick: this.toggleEmptyState }, emptyStateLink)))))));
279
276
  const tooltipProps = {
280
277
  position: toolTipPosition,
281
278
  exitDelay: toolTipDelay,
@@ -283,7 +280,12 @@ class CodeEditor extends React.Component {
283
280
  maxWidth: toolTipMaxWidth,
284
281
  trigger: 'mouseenter focus'
285
282
  };
286
- const editorHeader = (React.createElement("div", { className: (0, react_styles_1.css)(code_editor_1.default.codeEditorHeader) },
283
+ const hasEditorHeaderContent = ((isCopyEnabled || isDownloadEnabled) && (!showEmptyState || !!value)) ||
284
+ isUploadEnabled ||
285
+ customControls ||
286
+ headerMainContent ||
287
+ !!shortcutsPopoverProps.bodyContent;
288
+ const editorHeaderContent = (React.createElement(React.Fragment, null,
287
289
  React.createElement("div", { className: (0, react_styles_1.css)(code_editor_1.default.codeEditorControls) },
288
290
  React.createElement(CodeEditorUtils_1.CodeEditorContext.Provider, { value: { code: value } },
289
291
  isCopyEnabled && (!showEmptyState || !!value) && (React.createElement(CodeEditorControl_1.CodeEditorControl, { icon: React.createElement(copy_icon_1.default, null), "aria-label": copyButtonAriaLabel, tooltipProps: Object.assign(Object.assign({}, tooltipProps), { 'aria-live': 'polite', content: React.createElement("div", null, copied ? copyButtonSuccessTooltipText : copyButtonToolTipText), exitDelay: copied ? toolTipCopyExitDelay : toolTipDelay, onTooltipHidden: () => this.setState({ copied: false }) }), onClick: this.copyCode })),
@@ -293,20 +295,23 @@ class CodeEditor extends React.Component {
293
295
  React.createElement("div", { className: (0, react_styles_1.css)(code_editor_1.default.codeEditorHeaderMain) }, headerMainContent),
294
296
  !!shortcutsPopoverProps.bodyContent && (React.createElement("div", { className: `${code_editor_1.default.codeEditor}__keyboard-shortcuts` },
295
297
  React.createElement(react_core_1.Popover, Object.assign({}, shortcutsPopoverProps),
296
- React.createElement(react_core_1.Button, { variant: react_core_1.ButtonVariant.link, icon: React.createElement(help_icon_1.default, null) }, shortcutsPopoverButtonText)))),
298
+ React.createElement(react_core_1.Button, { variant: react_core_1.ButtonVariant.link, icon: React.createElement(help_icon_1.default, null) }, shortcutsPopoverButtonText))))));
299
+ const editorHeader = (React.createElement("div", { className: (0, react_styles_1.css)(code_editor_1.default.codeEditorHeader, isHeaderPlain && code_editor_1.default.modifiers.plain) },
300
+ hasEditorHeaderContent && (React.createElement("div", { className: (0, react_styles_1.css)(code_editor_1.default.codeEditorHeaderContent) }, editorHeaderContent)),
297
301
  isLanguageLabelVisible && (React.createElement("div", { className: (0, react_styles_1.css)(code_editor_1.default.codeEditorTab) },
298
302
  React.createElement("span", { className: (0, react_styles_1.css)(code_editor_1.default.codeEditorTabIcon) },
299
303
  React.createElement(code_icon_1.default, null)),
300
304
  React.createElement("span", { className: (0, react_styles_1.css)(code_editor_1.default.codeEditorTabText) }, language.toUpperCase())))));
301
305
  const editor = (React.createElement("div", { className: (0, react_styles_1.css)(code_editor_1.default.codeEditorCode), ref: this.wrapperRef, tabIndex: 0, dir: "ltr" },
302
- React.createElement(react_monaco_editor_1.default, { height: height, width: width, language: language, value: value, options: options, overrideServices: overrideServices, onChange: this.onChange, editorDidMount: this.editorDidMount, theme: isDarkTheme ? 'vs-dark' : 'vs-light' })));
306
+ React.createElement(react_1.default, Object.assign({ height: height, width: width, language: language, value: value, options: options, overrideServices: overrideServices, onChange: this.onChange, onMount: this.editorDidMount, theme: isDarkTheme ? 'vs-dark' : 'vs-light' }, editorProps))));
303
307
  return (React.createElement("div", { className: (0, react_styles_1.css)(code_editor_1.default.codeEditor, isReadOnly && code_editor_1.default.modifiers.readOnly, className), ref: this.ref }, isUploadEnabled || providedEmptyState ? (React.createElement("div", Object.assign({}, getRootProps({
304
308
  onClick: (event) => event.stopPropagation() // Prevents clicking TextArea from opening file dialog
305
- }), { className: `${file_upload_1.default.fileUpload} ${isDragActive && file_upload_1.default.modifiers.dragHover} ${isLoading && file_upload_1.default.modifiers.loading}` }),
309
+ }), { className: (0, react_styles_1.css)(isLoading && file_upload_1.default.modifiers.loading) }),
306
310
  editorHeader,
307
- React.createElement("div", { className: (0, react_styles_1.css)(code_editor_1.default.codeEditorMain) },
308
- React.createElement("input", Object.assign({}, getInputProps())),
309
- (showEmptyState || providedEmptyState) && !value ? emptyState : editor))) : (React.createElement(React.Fragment, null,
311
+ React.createElement("div", { className: (0, react_styles_1.css)(code_editor_1.default.codeEditorMain, isDragActive && code_editor_1.default.modifiers.dragHover) },
312
+ React.createElement("div", { className: (0, react_styles_1.css)(code_editor_1.default.codeEditorUpload) },
313
+ React.createElement("input", Object.assign({}, getInputProps())),
314
+ (showEmptyState || providedEmptyState) && !value ? emptyState : editor)))) : (React.createElement(React.Fragment, null,
310
315
  editorHeader,
311
316
  showEditor && React.createElement("div", { className: (0, react_styles_1.css)(code_editor_1.default.codeEditorMain) }, editor)))));
312
317
  }));
@@ -335,6 +340,7 @@ CodeEditor.defaultProps = {
335
340
  isUploadEnabled: false,
336
341
  isDownloadEnabled: false,
337
342
  isCopyEnabled: false,
343
+ isHeaderPlain: false,
338
344
  copyButtonAriaLabel: 'Copy code to clipboard',
339
345
  uploadButtonAriaLabel: 'Upload code',
340
346
  downloadButtonAriaLabel: 'Download code',
@@ -1 +1 @@
1
- {"version":3,"file":"CodeEditor.js","sourceRoot":"","sources":["../../../../src/components/CodeEditor/CodeEditor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CodeEditor.js","sourceRoot":"","sources":["../../../../src/components/CodeEditor/CodeEditor.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CodeEditorControl.d.ts","sourceRoot":"","sources":["../../../../src/components/CodeEditor/CodeEditorControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAU,WAAW,EAAW,MAAM,wBAAwB,CAAC;AAGtE;;GAEG;AAEH,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC;IAC1E,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,gDAAgD;IAChD,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC7C,wEAAwE;IACxE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kEAAkE;IAClE,YAAY,CAAC,EAAE,GAAG,CAAC;CACpB;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC,sBAAsB,CAsB7E,CAAC"}
1
+ {"version":3,"file":"CodeEditorControl.d.ts","sourceRoot":"","sources":["../../../../src/components/CodeEditor/CodeEditorControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAU,WAAW,EAAW,MAAM,wBAAwB,CAAC;AAGtE;;GAEG;AAEH,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC;IAC1E,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,gDAAgD;IAChD,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC7C,wEAAwE;IACxE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kEAAkE;IAClE,YAAY,CAAC,EAAE,GAAG,CAAC;CACpB;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC,sBAAsB,CA2B7E,CAAC"}
@@ -12,7 +12,7 @@ const CodeEditorControl = (_a) => {
12
12
  onClick(context.code, event);
13
13
  };
14
14
  return isVisible ? (React.createElement(react_core_1.Tooltip, Object.assign({}, tooltipProps),
15
- React.createElement(react_core_1.Button, Object.assign({ className: className, onClick: onCustomClick, variant: "control", "aria-label": ariaLabel }, props), icon))) : null;
15
+ React.createElement(react_core_1.Button, Object.assign({ className: className, onClick: onCustomClick, variant: "plain", "aria-label": ariaLabel }, props, { icon: icon })))) : null;
16
16
  };
17
17
  exports.CodeEditorControl = CodeEditorControl;
18
18
  exports.CodeEditorControl.displayName = 'CodeEditorControl';
@@ -1 +1 @@
1
- {"version":3,"file":"CodeEditorControl.js","sourceRoot":"","sources":["../../../../src/components/CodeEditor/CodeEditorControl.tsx"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAC/B,uDAAsE;AACtE,uDAAsD;AAqB/C,MAAM,iBAAiB,GAAoD,CAAC,EAQ1D,EAAE,EAAE;QARsD,EACjF,IAAI,EACJ,SAAS,EACT,YAAY,EAAE,SAAS,EACvB,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,EAClB,SAAS,GAAG,IAAI,EAChB,YAAY,GAAG,EAAE,OAEM,EADpB,KAAK,sBAPyE,2EAQlF,CADS;IAER,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,mCAAiB,CAAC,CAAC;IAEpD,MAAM,aAAa,GAAG,CAAC,KAAsD,EAAE,EAAE;QAC/E,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEF,OAAO,SAAS,CAAC,CAAC,CAAC,CACjB,oBAAC,oBAAO,oBAAK,YAAY;QACvB,oBAAC,mBAAM,kBAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAC,SAAS,gBAAa,SAAS,IAAM,KAAK,GACrG,IAAI,CACE,CACD,CACX,CAAC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CAAC;AAtBW,QAAA,iBAAiB,qBAsB5B;AAEF,yBAAiB,CAAC,WAAW,GAAG,mBAAmB,CAAC"}
1
+ {"version":3,"file":"CodeEditorControl.js","sourceRoot":"","sources":["../../../../src/components/CodeEditor/CodeEditorControl.tsx"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAC/B,uDAAsE;AACtE,uDAAsD;AAqB/C,MAAM,iBAAiB,GAAoD,CAAC,EAQ1D,EAAE,EAAE;QARsD,EACjF,IAAI,EACJ,SAAS,EACT,YAAY,EAAE,SAAS,EACvB,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,EAClB,SAAS,GAAG,IAAI,EAChB,YAAY,GAAG,EAAE,OAEM,EADpB,KAAK,sBAPyE,2EAQlF,CADS;IAER,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,mCAAiB,CAAC,CAAC;IAEpD,MAAM,aAAa,GAAG,CAAC,KAAsD,EAAE,EAAE;QAC/E,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEF,OAAO,SAAS,CAAC,CAAC,CAAC,CACjB,oBAAC,oBAAO,oBAAK,YAAY;QACvB,oBAAC,mBAAM,kBACL,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,aAAa,EACtB,OAAO,EAAC,OAAO,gBACH,SAAS,IACjB,KAAK,IACT,IAAI,EAAE,IAAI,IACV,CACM,CACX,CAAC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CAAC;AA3BW,QAAA,iBAAiB,qBA2B5B;AAEF,yBAAiB,CAAC,WAAW,GAAG,mBAAmB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@patternfly/react-code-editor",
3
- "version": "6.0.0-alpha.9",
3
+ "version": "6.0.0-alpha.90",
4
4
  "description": "This package provides a PatternFly wrapper for the Monaco code editor\n",
5
5
  "main": "dist/js/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -30,20 +30,19 @@
30
30
  "clean": "rimraf dist"
31
31
  },
32
32
  "dependencies": {
33
- "@patternfly/react-core": "^6.0.0-alpha.9",
34
- "@patternfly/react-icons": "^6.0.0-alpha.6",
35
- "@patternfly/react-styles": "^6.0.0-alpha.6",
33
+ "@monaco-editor/react": "^4.6.0",
34
+ "@patternfly/react-core": "^6.0.0-alpha.90",
35
+ "@patternfly/react-icons": "^6.0.0-alpha.31",
36
+ "@patternfly/react-styles": "^6.0.0-alpha.30",
36
37
  "react-dropzone": "14.2.3",
37
- "tslib": "^2.5.0"
38
+ "tslib": "^2.6.2"
38
39
  },
39
40
  "peerDependencies": {
40
41
  "react": "^17 || ^18",
41
- "react-dom": "^17 || ^18",
42
- "react-monaco-editor": "^0.51.0"
42
+ "react-dom": "^17 || ^18"
43
43
  },
44
44
  "devDependencies": {
45
- "rimraf": "^2.6.2",
46
- "typescript": "^4.7.4"
45
+ "monaco-editor": "^0.49.0"
47
46
  },
48
- "gitHead": "59c15d424bc97363eee2fc8437ea3d39d00dda66"
47
+ "gitHead": "390b5bdf9230e199a0559a69b9a8e33b70e5dc10"
49
48
  }
@@ -7,18 +7,16 @@ import {
7
7
  ButtonVariant,
8
8
  EmptyState,
9
9
  EmptyStateBody,
10
- EmptyStateIcon,
11
10
  EmptyStateActions,
12
11
  EmptyStateVariant,
13
12
  EmptyStateFooter,
14
13
  getResizeObserver,
15
14
  Popover,
16
15
  PopoverProps,
17
- TooltipPosition,
18
- EmptyStateHeader
16
+ TooltipPosition
19
17
  } from '@patternfly/react-core';
20
- import MonacoEditor, { ChangeHandler, EditorDidMount } from 'react-monaco-editor';
21
- import { editor } from 'monaco-editor/esm/vs/editor/editor.api';
18
+ import Editor, { EditorProps, Monaco } from '@monaco-editor/react';
19
+ import type { editor } from 'monaco-editor';
22
20
  import CopyIcon from '@patternfly/react-icons/dist/esm/icons/copy-icon';
23
21
  import UploadIcon from '@patternfly/react-icons/dist/esm/icons/upload-icon';
24
22
  import DownloadIcon from '@patternfly/react-icons/dist/esm/icons/download-icon';
@@ -28,6 +26,9 @@ import Dropzone, { FileRejection } from 'react-dropzone';
28
26
  import { CodeEditorContext } from './CodeEditorUtils';
29
27
  import { CodeEditorControl } from './CodeEditorControl';
30
28
 
29
+ export type ChangeHandler = (value: string, event: editor.IModelContentChangedEvent) => void;
30
+ export type EditorDidMount = (editor: editor.IStandaloneCodeEditor, monaco: Monaco) => void;
31
+
31
32
  export interface Shortcut {
32
33
  description: string;
33
34
  keys: string[];
@@ -134,6 +135,8 @@ export interface CodeEditorProps extends Omit<React.HTMLProps<HTMLDivElement>, '
134
135
  downloadButtonToolTipText?: string;
135
136
  /** Name of the file if user downloads code to local file. */
136
137
  downloadFileName?: string;
138
+ /** Additional props to pass to the monaco editor. */
139
+ editorProps?: EditorProps;
137
140
  /** Content to display in space of the code editor when there is no code to display. */
138
141
  emptyState?: React.ReactNode;
139
142
  /** Override default empty state body text. */
@@ -154,6 +157,8 @@ export interface CodeEditorProps extends Omit<React.HTMLProps<HTMLDivElement>, '
154
157
  isCopyEnabled?: boolean;
155
158
  /** Flag indicating the editor is styled using monaco's dark theme. */
156
159
  isDarkTheme?: boolean;
160
+ /** Flag indicating the editor has a plain header. */
161
+ isHeaderPlain?: boolean;
157
162
  /** Flag to add download button to code editor actions. */
158
163
  isDownloadEnabled?: boolean;
159
164
  /** Flag to include a label indicating the currently configured editor language. */
@@ -260,6 +265,7 @@ class CodeEditor extends React.Component<CodeEditorProps, CodeEditorState> {
260
265
  isUploadEnabled: false,
261
266
  isDownloadEnabled: false,
262
267
  isCopyEnabled: false,
268
+ isHeaderPlain: false,
263
269
  copyButtonAriaLabel: 'Copy code to clipboard',
264
270
  uploadButtonAriaLabel: 'Upload code',
265
271
  downloadButtonAriaLabel: 'Download code',
@@ -491,12 +497,14 @@ class CodeEditor extends React.Component<CodeEditorProps, CodeEditorState> {
491
497
  emptyStateLink,
492
498
  customControls,
493
499
  isMinimapVisible,
500
+ isHeaderPlain,
494
501
  headerMainContent,
495
502
  shortcutsPopoverButtonText,
496
503
  shortcutsPopoverProps: shortcutsPopoverPropsProp,
497
504
  showEditor,
498
505
  options: optionsProp,
499
- overrideServices
506
+ overrideServices,
507
+ editorProps
500
508
  } = this.props;
501
509
  const shortcutsPopoverProps: PopoverProps = {
502
510
  ...CodeEditor.defaultProps.shortcutsPopoverProps,
@@ -520,12 +528,7 @@ class CodeEditor extends React.Component<CodeEditorProps, CodeEditorState> {
520
528
  const emptyState =
521
529
  providedEmptyState ||
522
530
  (isUploadEnabled ? (
523
- <EmptyState variant={EmptyStateVariant.sm}>
524
- <EmptyStateHeader
525
- titleText={emptyStateTitle}
526
- icon={<EmptyStateIcon icon={CodeIcon} />}
527
- headingLevel="h4"
528
- />
531
+ <EmptyState variant={EmptyStateVariant.sm} titleText={emptyStateTitle} icon={CodeIcon} headingLevel="h4">
529
532
  <EmptyStateBody>{emptyStateBody}</EmptyStateBody>
530
533
  {!isReadOnly && (
531
534
  <EmptyStateFooter>
@@ -543,12 +546,7 @@ class CodeEditor extends React.Component<CodeEditorProps, CodeEditorState> {
543
546
  )}
544
547
  </EmptyState>
545
548
  ) : (
546
- <EmptyState variant={EmptyStateVariant.sm}>
547
- <EmptyStateHeader
548
- titleText={emptyStateTitle}
549
- icon={<EmptyStateIcon icon={CodeIcon} />}
550
- headingLevel="h4"
551
- />
549
+ <EmptyState variant={EmptyStateVariant.sm} titleText={emptyStateTitle} icon={CodeIcon} headingLevel="h4">
552
550
  {!isReadOnly && (
553
551
  <EmptyStateFooter>
554
552
  <EmptyStateActions>
@@ -569,45 +567,50 @@ class CodeEditor extends React.Component<CodeEditorProps, CodeEditorState> {
569
567
  trigger: 'mouseenter focus'
570
568
  };
571
569
 
572
- const editorHeader = (
573
- <div className={css(styles.codeEditorHeader)}>
574
- {
575
- <div className={css(styles.codeEditorControls)}>
576
- <CodeEditorContext.Provider value={{ code: value }}>
577
- {isCopyEnabled && (!showEmptyState || !!value) && (
578
- <CodeEditorControl
579
- icon={<CopyIcon />}
580
- aria-label={copyButtonAriaLabel}
581
- tooltipProps={{
582
- ...tooltipProps,
583
- 'aria-live': 'polite',
584
- content: <div>{copied ? copyButtonSuccessTooltipText : copyButtonToolTipText}</div>,
585
- exitDelay: copied ? toolTipCopyExitDelay : toolTipDelay,
586
- onTooltipHidden: () => this.setState({ copied: false })
587
- }}
588
- onClick={this.copyCode}
589
- />
590
- )}
591
- {isUploadEnabled && (
592
- <CodeEditorControl
593
- icon={<UploadIcon />}
594
- aria-label={uploadButtonAriaLabel}
595
- tooltipProps={{ content: <div>{uploadButtonToolTipText}</div>, ...tooltipProps }}
596
- onClick={open}
597
- />
598
- )}
599
- {isDownloadEnabled && (!showEmptyState || !!value) && (
600
- <CodeEditorControl
601
- icon={<DownloadIcon />}
602
- aria-label={downloadButtonAriaLabel}
603
- tooltipProps={{ content: <div>{downloadButtonToolTipText}</div>, ...tooltipProps }}
604
- onClick={this.download}
605
- />
606
- )}
607
- {customControls && customControls}
608
- </CodeEditorContext.Provider>
609
- </div>
610
- }
570
+ const hasEditorHeaderContent =
571
+ ((isCopyEnabled || isDownloadEnabled) && (!showEmptyState || !!value)) ||
572
+ isUploadEnabled ||
573
+ customControls ||
574
+ headerMainContent ||
575
+ !!shortcutsPopoverProps.bodyContent;
576
+
577
+ const editorHeaderContent = (
578
+ <React.Fragment>
579
+ <div className={css(styles.codeEditorControls)}>
580
+ <CodeEditorContext.Provider value={{ code: value }}>
581
+ {isCopyEnabled && (!showEmptyState || !!value) && (
582
+ <CodeEditorControl
583
+ icon={<CopyIcon />}
584
+ aria-label={copyButtonAriaLabel}
585
+ tooltipProps={{
586
+ ...tooltipProps,
587
+ 'aria-live': 'polite',
588
+ content: <div>{copied ? copyButtonSuccessTooltipText : copyButtonToolTipText}</div>,
589
+ exitDelay: copied ? toolTipCopyExitDelay : toolTipDelay,
590
+ onTooltipHidden: () => this.setState({ copied: false })
591
+ }}
592
+ onClick={this.copyCode}
593
+ />
594
+ )}
595
+ {isUploadEnabled && (
596
+ <CodeEditorControl
597
+ icon={<UploadIcon />}
598
+ aria-label={uploadButtonAriaLabel}
599
+ tooltipProps={{ content: <div>{uploadButtonToolTipText}</div>, ...tooltipProps }}
600
+ onClick={open}
601
+ />
602
+ )}
603
+ {isDownloadEnabled && (!showEmptyState || !!value) && (
604
+ <CodeEditorControl
605
+ icon={<DownloadIcon />}
606
+ aria-label={downloadButtonAriaLabel}
607
+ tooltipProps={{ content: <div>{downloadButtonToolTipText}</div>, ...tooltipProps }}
608
+ onClick={this.download}
609
+ />
610
+ )}
611
+ {customControls && customControls}
612
+ </CodeEditorContext.Provider>
613
+ </div>
611
614
  {<div className={css(styles.codeEditorHeaderMain)}>{headerMainContent}</div>}
612
615
  {!!shortcutsPopoverProps.bodyContent && (
613
616
  <div className={`${styles.codeEditor}__keyboard-shortcuts`}>
@@ -618,6 +621,14 @@ class CodeEditor extends React.Component<CodeEditorProps, CodeEditorState> {
618
621
  </Popover>
619
622
  </div>
620
623
  )}
624
+ </React.Fragment>
625
+ );
626
+
627
+ const editorHeader = (
628
+ <div className={css(styles.codeEditorHeader, isHeaderPlain && styles.modifiers.plain)}>
629
+ {hasEditorHeaderContent && (
630
+ <div className={css(styles.codeEditorHeaderContent)}>{editorHeaderContent}</div>
631
+ )}
621
632
  {isLanguageLabelVisible && (
622
633
  <div className={css(styles.codeEditorTab)}>
623
634
  <span className={css(styles.codeEditorTabIcon)}>
@@ -631,7 +642,7 @@ class CodeEditor extends React.Component<CodeEditorProps, CodeEditorState> {
631
642
 
632
643
  const editor = (
633
644
  <div className={css(styles.codeEditorCode)} ref={this.wrapperRef} tabIndex={0} dir="ltr">
634
- <MonacoEditor
645
+ <Editor
635
646
  height={height}
636
647
  width={width}
637
648
  language={language}
@@ -639,8 +650,9 @@ class CodeEditor extends React.Component<CodeEditorProps, CodeEditorState> {
639
650
  options={options}
640
651
  overrideServices={overrideServices}
641
652
  onChange={this.onChange}
642
- editorDidMount={this.editorDidMount}
653
+ onMount={this.editorDidMount}
643
654
  theme={isDarkTheme ? 'vs-dark' : 'vs-light'}
655
+ {...editorProps}
644
656
  />
645
657
  </div>
646
658
  );
@@ -652,14 +664,14 @@ class CodeEditor extends React.Component<CodeEditorProps, CodeEditorState> {
652
664
  {...getRootProps({
653
665
  onClick: (event) => event.stopPropagation() // Prevents clicking TextArea from opening file dialog
654
666
  })}
655
- className={`${fileUploadStyles.fileUpload} ${isDragActive && fileUploadStyles.modifiers.dragHover} ${
656
- isLoading && fileUploadStyles.modifiers.loading
657
- }`}
667
+ className={css(isLoading && fileUploadStyles.modifiers.loading)}
658
668
  >
659
669
  {editorHeader}
660
- <div className={css(styles.codeEditorMain)}>
661
- <input {...getInputProps()} /* hidden, necessary for react-dropzone */ />
662
- {(showEmptyState || providedEmptyState) && !value ? emptyState : editor}
670
+ <div className={css(styles.codeEditorMain, isDragActive && styles.modifiers.dragHover)}>
671
+ <div className={css(styles.codeEditorUpload)}>
672
+ <input {...getInputProps()} /* hidden, necessary for react-dropzone */ />
673
+ {(showEmptyState || providedEmptyState) && !value ? emptyState : editor}
674
+ </div>
663
675
  </div>
664
676
  </div>
665
677
  ) : (
@@ -38,9 +38,14 @@ export const CodeEditorControl: React.FunctionComponent<CodeEditorControlProps>
38
38
 
39
39
  return isVisible ? (
40
40
  <Tooltip {...tooltipProps}>
41
- <Button className={className} onClick={onCustomClick} variant="control" aria-label={ariaLabel} {...props}>
42
- {icon}
43
- </Button>
41
+ <Button
42
+ className={className}
43
+ onClick={onCustomClick}
44
+ variant="plain"
45
+ aria-label={ariaLabel}
46
+ {...props}
47
+ icon={icon}
48
+ />
44
49
  </Tooltip>
45
50
  ) : null;
46
51
  };