@patternfly/react-code-editor 6.0.0-alpha.1 → 6.0.0-alpha.100

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 (28) hide show
  1. package/CHANGELOG.md +1199 -1
  2. package/README.md +46 -36
  3. package/dist/esm/components/CodeEditor/CodeEditor.d.ts +9 -3
  4. package/dist/esm/components/CodeEditor/CodeEditor.d.ts.map +1 -1
  5. package/dist/esm/components/CodeEditor/CodeEditor.js +51 -44
  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 +9 -3
  11. package/dist/js/components/CodeEditor/CodeEditor.d.ts.map +1 -1
  12. package/dist/js/components/CodeEditor/CodeEditor.js +55 -48
  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 +102 -83
  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/CodeEditorBasic.tsx +0 -2
  26. package/src/components/CodeEditor/examples/CodeEditorCustomControl.tsx +2 -1
  27. package/src/components/CodeEditor/examples/CodeEditorShortcutMainHeader.tsx +51 -20
  28. package/src/components/CodeEditor/examples/CodeEditorSizeToFit.tsx +0 -2
@@ -5,13 +5,14 @@ const tslib_1 = require("tslib");
5
5
  const React = tslib_1.__importStar(require("react"));
6
6
  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
+ const file_upload_1 = tslib_1.__importDefault(require("@patternfly/react-styles/css/components/FileUpload/file-upload"));
8
9
  const react_core_1 = require("@patternfly/react-core");
9
- const react_monaco_editor_1 = tslib_1.__importDefault(require("react-monaco-editor"));
10
- const copy_icon_1 = tslib_1.__importDefault(require("@patternfly/react-icons/dist/esm/icons/copy-icon"));
11
- const upload_icon_1 = tslib_1.__importDefault(require("@patternfly/react-icons/dist/esm/icons/upload-icon"));
12
- const download_icon_1 = tslib_1.__importDefault(require("@patternfly/react-icons/dist/esm/icons/download-icon"));
13
- const code_icon_1 = tslib_1.__importDefault(require("@patternfly/react-icons/dist/esm/icons/code-icon"));
14
- const help_icon_1 = tslib_1.__importDefault(require("@patternfly/react-icons/dist/esm/icons/help-icon"));
10
+ const react_1 = tslib_1.__importDefault(require("@monaco-editor/react"));
11
+ const copy_icon_1 = tslib_1.__importDefault(require('@patternfly/react-icons/dist/js/icons/copy-icon'));
12
+ const upload_icon_1 = tslib_1.__importDefault(require('@patternfly/react-icons/dist/js/icons/upload-icon'));
13
+ const download_icon_1 = tslib_1.__importDefault(require('@patternfly/react-icons/dist/js/icons/download-icon'));
14
+ const code_icon_1 = tslib_1.__importDefault(require('@patternfly/react-icons/dist/js/icons/code-icon'));
15
+ const help_icon_1 = tslib_1.__importDefault(require('@patternfly/react-icons/dist/js/icons/help-icon'));
15
16
  const react_dropzone_1 = tslib_1.__importDefault(require("react-dropzone"));
16
17
  const CodeEditorUtils_1 = require("./CodeEditorUtils");
17
18
  const CodeEditorControl_1 = require("./CodeEditorControl");
@@ -92,8 +93,32 @@ var Language;
92
93
  Language["verilog"] = "verilog";
93
94
  Language["xml"] = "xml";
94
95
  Language["yaml"] = "yaml";
95
- })(Language = exports.Language || (exports.Language = {}));
96
+ })(Language || (exports.Language = Language = {}));
96
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
+ }
97
122
  constructor(props) {
98
123
  super(props);
99
124
  this.editor = null;
@@ -193,30 +218,6 @@ class CodeEditor extends React.Component {
193
218
  copied: false
194
219
  };
195
220
  }
196
- static getExtensionFromLanguage(language) {
197
- switch (language) {
198
- case Language.shell:
199
- return 'sh';
200
- case Language.ruby:
201
- return 'rb';
202
- case Language.perl:
203
- return 'pl';
204
- case Language.python:
205
- return 'py';
206
- case Language.mysql:
207
- return 'sql';
208
- case Language.javascript:
209
- return 'js';
210
- case Language.typescript:
211
- return 'ts';
212
- case Language.markdown:
213
- return 'md';
214
- case Language.plaintext:
215
- return 'txt';
216
- default:
217
- return language.toString();
218
- }
219
- }
220
221
  setHeightToFitContent() {
221
222
  const contentHeight = this.editor.getContentHeight();
222
223
  const layoutInfo = this.editor.getLayoutInfo();
@@ -256,25 +257,22 @@ class CodeEditor extends React.Component {
256
257
  }
257
258
  render() {
258
259
  const { height, value, isLoading, showEmptyState, copied } = this.state;
259
- 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;
260
261
  const shortcutsPopoverProps = Object.assign(Object.assign({}, CodeEditor.defaultProps.shortcutsPopoverProps), shortcutsPopoverPropsProp);
261
262
  const options = Object.assign({ scrollBeyondLastLine: height !== 'sizeToFit', readOnly: isReadOnly, cursorStyle: 'line', lineNumbers: isLineNumbersVisible ? 'on' : 'off', tabIndex: -1, minimap: {
262
263
  enabled: isMinimapVisible
263
264
  } }, optionsProp);
264
265
  return (React.createElement(react_dropzone_1.default, { multiple: false, onDropAccepted: this.onDropAccepted, onDropRejected: this.onDropRejected }, ({ getRootProps, getInputProps, isDragActive, open }) => {
265
266
  const emptyState = providedEmptyState ||
266
- (isUploadEnabled ? (React.createElement(react_core_1.EmptyState, { variant: react_core_1.EmptyStateVariant.sm },
267
- 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" },
268
268
  React.createElement(react_core_1.EmptyStateBody, null, emptyStateBody),
269
- React.createElement(react_core_1.EmptyStateFooter, null,
269
+ !isReadOnly && (React.createElement(react_core_1.EmptyStateFooter, null,
270
270
  React.createElement(react_core_1.EmptyStateActions, null,
271
271
  React.createElement(react_core_1.Button, { variant: "primary", onClick: open }, emptyStateButton)),
272
272
  React.createElement(react_core_1.EmptyStateActions, null,
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 },
274
- React.createElement(react_core_1.EmptyStateHeader, { titleText: emptyStateTitle, icon: React.createElement(react_core_1.EmptyStateIcon, { icon: code_icon_1.default }), headingLevel: "h4" }),
275
- React.createElement(react_core_1.EmptyStateFooter, null,
276
- React.createElement(react_core_1.EmptyStateActions, null,
277
- 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)))))));
278
276
  const tooltipProps = {
279
277
  position: toolTipPosition,
280
278
  exitDelay: toolTipDelay,
@@ -282,7 +280,12 @@ class CodeEditor extends React.Component {
282
280
  maxWidth: toolTipMaxWidth,
283
281
  trigger: 'mouseenter focus'
284
282
  };
285
- 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,
286
289
  React.createElement("div", { className: (0, react_styles_1.css)(code_editor_1.default.codeEditorControls) },
287
290
  React.createElement(CodeEditorUtils_1.CodeEditorContext.Provider, { value: { code: value } },
288
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 })),
@@ -290,22 +293,25 @@ class CodeEditor extends React.Component {
290
293
  isDownloadEnabled && (!showEmptyState || !!value) && (React.createElement(CodeEditorControl_1.CodeEditorControl, { icon: React.createElement(download_icon_1.default, null), "aria-label": downloadButtonAriaLabel, tooltipProps: Object.assign({ content: React.createElement("div", null, downloadButtonToolTipText) }, tooltipProps), onClick: this.download })),
291
294
  customControls && customControls)),
292
295
  React.createElement("div", { className: (0, react_styles_1.css)(code_editor_1.default.codeEditorHeaderMain) }, headerMainContent),
293
- !!shortcutsPopoverProps.bodyContent && (React.createElement("div", { className: "pf-v5-c-code-editor__keyboard-shortcuts" },
296
+ !!shortcutsPopoverProps.bodyContent && (React.createElement("div", { className: `${code_editor_1.default.codeEditor}__keyboard-shortcuts` },
294
297
  React.createElement(react_core_1.Popover, Object.assign({}, shortcutsPopoverProps),
295
- 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)),
296
301
  isLanguageLabelVisible && (React.createElement("div", { className: (0, react_styles_1.css)(code_editor_1.default.codeEditorTab) },
297
302
  React.createElement("span", { className: (0, react_styles_1.css)(code_editor_1.default.codeEditorTabIcon) },
298
303
  React.createElement(code_icon_1.default, null)),
299
304
  React.createElement("span", { className: (0, react_styles_1.css)(code_editor_1.default.codeEditorTabText) }, language.toUpperCase())))));
300
305
  const editor = (React.createElement("div", { className: (0, react_styles_1.css)(code_editor_1.default.codeEditorCode), ref: this.wrapperRef, tabIndex: 0, dir: "ltr" },
301
- 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))));
302
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({
303
308
  onClick: (event) => event.stopPropagation() // Prevents clicking TextArea from opening file dialog
304
- }), { className: `pf-v5-c-file-upload ${isDragActive && 'pf-m-drag-hover'} ${isLoading && 'pf-m-loading'}` }),
309
+ }), { className: (0, react_styles_1.css)(isLoading && file_upload_1.default.modifiers.loading) }),
305
310
  editorHeader,
306
- React.createElement("div", { className: (0, react_styles_1.css)(code_editor_1.default.codeEditorMain) },
307
- React.createElement("input", Object.assign({}, getInputProps())),
308
- (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,
309
315
  editorHeader,
310
316
  showEditor && React.createElement("div", { className: (0, react_styles_1.css)(code_editor_1.default.codeEditorMain) }, editor)))));
311
317
  }));
@@ -334,6 +340,7 @@ CodeEditor.defaultProps = {
334
340
  isUploadEnabled: false,
335
341
  isDownloadEnabled: false,
336
342
  isCopyEnabled: false,
343
+ isHeaderPlain: false,
337
344
  copyButtonAriaLabel: 'Copy code to clipboard',
338
345
  uploadButtonAriaLabel: 'Upload code',
339
346
  downloadButtonAriaLabel: 'Download code',
@@ -1 +1 @@
1
- {"version":3,"file":"CodeEditor.js","sourceRoot":"","sources":["../../../../src/components/CodeEditor/CodeEditor.tsx"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAC/B,2DAA+C;AAC/C,yHAAoF;AACpF,uDAcgC;AAChC,sFAAkF;AAElF,yGAAwE;AACxE,6GAA4E;AAC5E,iHAAgF;AAChF,yGAAwE;AACxE,yGAAwE;AACxE,4EAAyD;AACzD,uDAAsD;AACtD,2DAAwD;AAOxD,IAAY,QA4EX;AA5ED,WAAY,QAAQ;IAClB,yBAAa,CAAA;IACb,uBAAW,CAAA;IACX,yBAAa,CAAA;IACb,2BAAe,CAAA;IACf,uBAAW,CAAA;IACX,2BAAe,CAAA;IACf,mBAAO,CAAA;IACP,iCAAqB,CAAA;IACrB,+BAAmB,CAAA;IACnB,yCAA6B,CAAA;IAC7B,uBAAW,CAAA;IACX,6BAAiB,CAAA;IACjB,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,yBAAa,CAAA;IACb,qCAAyB,CAAA;IACzB,uBAAW,CAAA;IACX,6BAAiB,CAAA;IACjB,6BAAiB,CAAA;IACjB,qBAAS,CAAA;IACT,+BAAmB,CAAA;IACnB,qCAAyB,CAAA;IACzB,uBAAW,CAAA;IACX,yBAAa,CAAA;IACb,uBAAW,CAAA;IACX,yBAAa,CAAA;IACb,qCAAyB,CAAA;IACzB,yBAAa,CAAA;IACb,2BAAe,CAAA;IACf,6BAAiB,CAAA;IACjB,yBAAa,CAAA;IACb,2BAAe,CAAA;IACf,6BAAiB,CAAA;IACjB,uBAAW,CAAA;IACX,qBAAS,CAAA;IACT,iCAAqB,CAAA;IACrB,yBAAa,CAAA;IACb,2BAAe,CAAA;IACf,2BAAe,CAAA;IACf,uCAA6B,CAAA;IAC7B,6BAAiB,CAAA;IACjB,mCAAuB,CAAA;IACvB,yBAAa,CAAA;IACb,2BAAe,CAAA;IACf,uBAAW,CAAA;IACX,mCAAuB,CAAA;IACvB,iCAAqB,CAAA;IACrB,qCAAyB,CAAA;IACzB,qCAAyB,CAAA;IACzB,uBAAW,CAAA;IACX,6BAAiB,CAAA;IACjB,mBAAO,CAAA;IACP,2BAAe,CAAA;IACf,2BAAe,CAAA;IACf,iCAAqB,CAAA;IACrB,iDAAqC,CAAA;IACrC,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,qBAAS,CAAA;IACT,2BAAe,CAAA;IACf,6BAAiB,CAAA;IACjB,yBAAa,CAAA;IACb,2BAAe,CAAA;IACf,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,qBAAS,CAAA;IACT,2BAAe,CAAA;IACf,2CAA+B,CAAA;IAC/B,uBAAW,CAAA;IACX,yBAAa,CAAA;IACb,qCAAyB,CAAA;IACzB,qBAAS,CAAA;IACT,+BAAmB,CAAA;IACnB,uBAAW,CAAA;IACX,yBAAa,CAAA;AACf,CAAC,EA5EW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QA4EnB;AA0HD,MAAM,UAAW,SAAQ,KAAK,CAAC,SAA2C;IAgFxE,YAAY,KAAsB;QAChC,KAAK,CAAC,KAAK,CAAC,CAAC;QA/EP,WAAM,GAAwC,IAAI,CAAC;QACnD,eAAU,GAAG,KAAK,CAAC,SAAS,EAAkB,CAAC;QAC/C,QAAG,GAAG,KAAK,CAAC,SAAS,EAAkB,CAAC;QACxC,UAAK,GAAkB,IAAI,CAAC;QAC5B,aAAQ,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QA6F5B,aAAQ,GAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACzC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,WAAW,EAAE;gBACrC,IAAI,CAAC,qBAAqB,EAAE,CAAC;aAC9B;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;gBACvB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;aACnC;YACD,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC,CAAC;QAkBF,iBAAY,GAAG,GAAG,EAAE;YAClB,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;aACtB;QACH,CAAC,CAAC;QAaF,qBAAgB,GAAG,CAAC,KAAoB,EAAE,EAAE;;YAC1C,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,KAAK,QAAQ,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,WAAW,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE;gBAC1G,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK,EAAE,CAAC;gBACrB,KAAK,CAAC,cAAc,EAAE,CAAC;aACxB;QACH,CAAC,CAAC;QAEF,mBAAc,GAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YAClD,sCAAsC;YACtC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;YACnG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE,CACrF,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,CACtC,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,WAAW,EAAE;gBACrC,IAAI,CAAC,qBAAqB,EAAE,CAAC;aAC9B;QACH,CAAC,CAAC;QAEF,qBAAgB,GAAG,CAAC,KAAa,EAAE,QAAgB,EAAE,EAAE;YACrD,IAAI,CAAC,QAAQ,CAAC;gBACZ,KAAK;gBACL,QAAQ;aACT,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC,CAAC;QAEF,0BAAqB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,2BAAsB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAWnE,mBAAc,GAAG,CAAC,aAAqB,EAAE,EAAE;YACzC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC5B,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBACpC,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,kCAAkC;gBAC9E,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC7B,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;qBACtB,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;oBACb,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBAC9B,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACxB,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC/C,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,KAAmB,EAAE,EAAE;oBAC7B,sCAAsC;oBACtC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;oBAC9B,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBAC9B,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,wCAAwC;gBACzE,CAAC,CAAC,CAAC;aACN;QACH,CAAC,CAAC;QAEF,mBAAc,GAAG,CAAC,aAA8B,EAAE,EAAE;YAClD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC5B,sCAAsC;gBACtC,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC,CAAC,OAAO;aACzE;QACH,CAAC,CAAC;QAEF,aAAQ,GAAG,GAAG,EAAE;YACd,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAClC,CAAC,CAAC;QAEF,aAAQ,GAAG,GAAG,EAAE;YACd,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;YAC7B,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YACjD,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YACzC,OAAO,CAAC,QAAQ,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,UAAU,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChH,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,uCAAuC;YAC3E,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC,CAAC;QAEF,qBAAgB,GAAG,GAAG,EAAE;YACtB,IAAI,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3C,CAAC,CAAC;QAjJA,IAAI,CAAC,KAAK,GAAG;YACX,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;YACzB,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;YAC9B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;YACtB,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,KAAK;YAChB,cAAc,EAAE,IAAI;YACpB,MAAM,EAAE,KAAK;SACd,CAAC;IACJ,CAAC;IApCD,MAAM,CAAC,wBAAwB,CAAC,QAAkB;QAChD,QAAQ,QAAQ,EAAE;YAChB,KAAK,QAAQ,CAAC,KAAK;gBACjB,OAAO,IAAI,CAAC;YACd,KAAK,QAAQ,CAAC,IAAI;gBAChB,OAAO,IAAI,CAAC;YACd,KAAK,QAAQ,CAAC,IAAI;gBAChB,OAAO,IAAI,CAAC;YACd,KAAK,QAAQ,CAAC,MAAM;gBAClB,OAAO,IAAI,CAAC;YACd,KAAK,QAAQ,CAAC,KAAK;gBACjB,OAAO,KAAK,CAAC;YACf,KAAK,QAAQ,CAAC,UAAU;gBACtB,OAAO,IAAI,CAAC;YACd,KAAK,QAAQ,CAAC,UAAU;gBACtB,OAAO,IAAI,CAAC;YACd,KAAK,QAAQ,CAAC,QAAQ;gBACpB,OAAO,IAAI,CAAC;YACd,KAAK,QAAQ,CAAC,SAAS;gBACrB,OAAO,KAAK,CAAC;YACf;gBACE,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC;SAC9B;IACH,CAAC;IAeD,qBAAqB;QACnB,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;IACzE,CAAC;IAaD,qDAAqD;IACrD,0DAA0D;IAC1D,MAAM,CAAC,wBAAwB,CAAC,SAA0B,EAAE,SAA0B;QACpF,qDAAqD;QACrD,8BAA8B;QAC9B,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,aAAa,EAAE;YAC9C,OAAO;gBACL,KAAK,EAAE,SAAS,CAAC,IAAI;gBACrB,aAAa,EAAE,SAAS,CAAC,IAAI;aAC9B,CAAC;SACH;QACD,6CAA6C;QAC7C,qDAAqD;QACrD,OAAO,IAAI,CAAC;IACd,CAAC;IAQD,iBAAiB;QACf,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC5D,IAAI,CAAC,QAAQ,GAAG,IAAA,8BAAiB,EAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAC7E,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,oBAAoB;QAClB,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAiCD,QAAQ,CAAC,UAAgB;QACvB,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAgB,CAAC,CAAC;YACvD,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5C,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAgDD,MAAM;QACJ,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACxE,MAAM,EACJ,WAAW,EACX,KAAK,EACL,SAAS,EACT,aAAa,EACb,4BAA4B,EAC5B,UAAU,EACV,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,EACzB,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,QAAQ,EACR,UAAU,EAAE,kBAAkB,EAC9B,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,0BAA0B,EAC1B,qBAAqB,EAAE,yBAAyB,EAChD,UAAU,EACV,OAAO,EAAE,WAAW,EACpB,gBAAgB,EACjB,GAAG,IAAI,CAAC,KAAK,CAAC;QACf,MAAM,qBAAqB,mCACtB,UAAU,CAAC,YAAY,CAAC,qBAAqB,GAC7C,yBAAyB,CAC7B,CAAC;QACF,MAAM,OAAO,mBACX,oBAAoB,EAAE,MAAM,KAAK,WAAW,EAC5C,QAAQ,EAAE,UAAU,EACpB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAChD,QAAQ,EAAE,CAAC,CAAC,EACZ,OAAO,EAAE;gBACP,OAAO,EAAE,gBAAgB;aAC1B,IACE,WAAW,CACf,CAAC;QAEF,OAAO,CACL,oBAAC,wBAAQ,IAAC,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,IAChG,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE;YACvD,MAAM,UAAU,GACd,kBAAkB;gBAClB,CAAC,eAAe,CAAC,CAAC,CAAC,CACjB,oBAAC,uBAAU,IAAC,OAAO,EAAE,8BAAiB,CAAC,EAAE;oBACvC,oBAAC,6BAAgB,IACf,SAAS,EAAE,eAAe,EAC1B,IAAI,EAAE,oBAAC,2BAAc,IAAC,IAAI,EAAE,mBAAQ,GAAI,EACxC,YAAY,EAAC,IAAI,GACjB;oBACF,oBAAC,2BAAc,QAAE,cAAc,CAAkB;oBACjD,oBAAC,6BAAgB;wBACf,oBAAC,8BAAiB;4BAChB,oBAAC,mBAAM,IAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,IAAI,IACpC,gBAAgB,CACV,CACS;wBACpB,oBAAC,8BAAiB;4BAChB,oBAAC,mBAAM,IAAC,OAAO,EAAC,MAAM,EAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,IAClD,cAAc,CACR,CACS,CACH,CACR,CACd,CAAC,CAAC,CAAC,CACF,oBAAC,uBAAU,IAAC,OAAO,EAAE,8BAAiB,CAAC,EAAE;oBACvC,oBAAC,6BAAgB,IACf,SAAS,EAAE,eAAe,EAC1B,IAAI,EAAE,oBAAC,2BAAc,IAAC,IAAI,EAAE,mBAAQ,GAAI,EACxC,YAAY,EAAC,IAAI,GACjB;oBACF,oBAAC,6BAAgB;wBACf,oBAAC,8BAAiB;4BAChB,oBAAC,mBAAM,IAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,IACrD,cAAc,CACR,CACS,CACH,CACR,CACd,CAAC,CAAC;YAEL,MAAM,YAAY,GAAG;gBACnB,QAAQ,EAAE,eAAe;gBACzB,SAAS,EAAE,YAAY;gBACvB,UAAU,EAAE,YAAY;gBACxB,QAAQ,EAAE,eAAe;gBACzB,OAAO,EAAE,kBAAkB;aAC5B,CAAC;YAEF,MAAM,YAAY,GAAG,CACnB,6BAAK,SAAS,EAAE,IAAA,kBAAG,EAAC,qBAAM,CAAC,gBAAgB,CAAC;gBAExC,6BAAK,SAAS,EAAE,IAAA,kBAAG,EAAC,qBAAM,CAAC,kBAAkB,CAAC;oBAC5C,oBAAC,mCAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;wBAC/C,aAAa,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAChD,oBAAC,qCAAiB,IAChB,IAAI,EAAE,oBAAC,mBAAQ,OAAG,gBACN,mBAAmB,EAC/B,YAAY,kCACP,YAAY,KACf,WAAW,EAAE,QAAQ,EACrB,OAAO,EAAE,iCAAM,MAAM,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,qBAAqB,CAAO,EACnF,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,YAAY,EACvD,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,KAEzD,OAAO,EAAE,IAAI,CAAC,QAAQ,GACtB,CACH;wBACA,eAAe,IAAI,CAClB,oBAAC,qCAAiB,IAChB,IAAI,EAAE,oBAAC,qBAAU,OAAG,gBACR,qBAAqB,EACjC,YAAY,kBAAI,OAAO,EAAE,iCAAM,uBAAuB,CAAO,IAAK,YAAY,GAC9E,OAAO,EAAE,IAAI,GACb,CACH;wBACA,iBAAiB,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CACpD,oBAAC,qCAAiB,IAChB,IAAI,EAAE,oBAAC,uBAAY,OAAG,gBACV,uBAAuB,EACnC,YAAY,kBAAI,OAAO,EAAE,iCAAM,yBAAyB,CAAO,IAAK,YAAY,GAChF,OAAO,EAAE,IAAI,CAAC,QAAQ,GACtB,CACH;wBACA,cAAc,IAAI,cAAc,CACN,CACzB;gBAEP,6BAAK,SAAS,EAAE,IAAA,kBAAG,EAAC,qBAAM,CAAC,oBAAoB,CAAC,IAAG,iBAAiB,CAAO;gBAC3E,CAAC,CAAC,qBAAqB,CAAC,WAAW,IAAI,CACtC,6BAAK,SAAS,EAAC,yCAAyC;oBACtD,oBAAC,oBAAO,oBAAK,qBAAqB;wBAChC,oBAAC,mBAAM,IAAC,OAAO,EAAE,0BAAa,CAAC,IAAI,EAAE,IAAI,EAAE,oBAAC,mBAAQ,OAAG,IACpD,0BAA0B,CACpB,CACD,CACN,CACP;gBACA,sBAAsB,IAAI,CACzB,6BAAK,SAAS,EAAE,IAAA,kBAAG,EAAC,qBAAM,CAAC,aAAa,CAAC;oBACvC,8BAAM,SAAS,EAAE,IAAA,kBAAG,EAAC,qBAAM,CAAC,iBAAiB,CAAC;wBAC5C,oBAAC,mBAAQ,OAAG,CACP;oBACP,8BAAM,SAAS,EAAE,IAAA,kBAAG,EAAC,qBAAM,CAAC,iBAAiB,CAAC,IAAG,QAAQ,CAAC,WAAW,EAAE,CAAQ,CAC3E,CACP,CACG,CACP,CAAC;YAEF,MAAM,MAAM,GAAG,CACb,6BAAK,SAAS,EAAE,IAAA,kBAAG,EAAC,qBAAM,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAC,KAAK;gBACtF,oBAAC,6BAAY,IACX,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,GAC3C,CACE,CACP,CAAC;YAEF,OAAO,CACL,6BAAK,SAAS,EAAE,IAAA,kBAAG,EAAC,qBAAM,CAAC,UAAU,EAAE,UAAU,IAAI,qBAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,IACtG,eAAe,IAAI,kBAAkB,CAAC,CAAC,CAAC,CACvC,6CACM,YAAY,CAAC;gBACf,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,sDAAsD;aACnG,CAAC,IACF,SAAS,EAAE,uBAAuB,YAAY,IAAI,iBAAiB,IAAI,SAAS,IAAI,cAAc,EAAE;gBAEnG,YAAY;gBACb,6BAAK,SAAS,EAAE,IAAA,kBAAG,EAAC,qBAAM,CAAC,cAAc,CAAC;oBACxC,+CAAW,aAAa,EAAE,EAA+C;oBACxE,CAAC,cAAc,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CACnE,CACF,CACP,CAAC,CAAC,CAAC,CACF;gBACG,YAAY;gBACZ,UAAU,IAAI,6BAAK,SAAS,EAAE,IAAA,kBAAG,EAAC,qBAAM,CAAC,cAAc,CAAC,IAAG,MAAM,CAAO,CACxE,CACJ,CACG,CACP,CAAC;QACJ,CAAC,CACQ,CACZ,CAAC;IACJ,CAAC;;AAGM,gCAAU;AAtbV,sBAAW,GAAG,YAAY,CAAC;AAO3B,uBAAY,GAAoB;IACrC,SAAS,EAAE,EAAE;IACb,IAAI,EAAE,EAAE;IACR,gBAAgB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC1B,QAAQ,EAAE,QAAQ,CAAC,SAAS;IAC5B,WAAW,EAAE,KAAK;IAClB,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,EAAE;IACT,oBAAoB,EAAE,IAAI;IAC1B,UAAU,EAAE,KAAK;IACjB,sBAAsB,EAAE,KAAK;IAC7B,OAAO,EAAE,EAAE;IACX,UAAU,EAAE,EAAE;IACd,eAAe,EAAE,eAAe;IAChC,cAAc,EAAE,qCAAqC;IACrD,gBAAgB,EAAE,QAAQ;IAC1B,cAAc,EAAE,oBAAoB;IACpC,gBAAgB,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACvC,eAAe,EAAE,KAAK;IACtB,iBAAiB,EAAE,KAAK;IACxB,aAAa,EAAE,KAAK;IACpB,mBAAmB,EAAE,wBAAwB;IAC7C,qBAAqB,EAAE,aAAa;IACpC,uBAAuB,EAAE,eAAe;IACxC,qBAAqB,EAAE,mBAAmB;IAC1C,uBAAuB,EAAE,QAAQ;IACjC,yBAAyB,EAAE,UAAU;IACrC,4BAA4B,EAAE,4BAA4B;IAC1D,oBAAoB,EAAE,IAAI;IAC1B,YAAY,EAAE,GAAG;IACjB,eAAe,EAAE,OAAO;IACxB,eAAe,EAAE,KAAK;IACtB,cAAc,EAAE,IAAI;IACpB,gBAAgB,EAAE,KAAK;IACvB,iBAAiB,EAAE,EAAE;IACrB,0BAA0B,EAAE,gBAAgB;IAC5C,qBAAqB,kBACnB,WAAW,EAAE,EAAE,EACf,YAAY,EAAE,oBAAoB,IAC/B,oBAAO,CAAC,YAAY,CACxB;IACD,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,EAAE;IACX,gBAAgB,EAAE,EAAE;IACpB,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC;CACvB,CAAC"}
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.1",
3
+ "version": "6.0.0-alpha.100",
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.1",
34
- "@patternfly/react-icons": "^6.0.0-alpha.1",
35
- "@patternfly/react-styles": "^6.0.0-alpha.1",
33
+ "@monaco-editor/react": "^4.6.0",
34
+ "@patternfly/react-core": "^6.0.0-alpha.100",
35
+ "@patternfly/react-icons": "^6.0.0-alpha.35",
36
+ "@patternfly/react-styles": "^6.0.0-alpha.34",
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": "abccf530a0a642a4d7b4eda6ada09c5822c855b0"
47
+ "gitHead": "aee9a75f90293e6533c2d7b59d7cf099b5f3d506"
49
48
  }
@@ -1,23 +1,22 @@
1
1
  import * as React from 'react';
2
2
  import { css } from '@patternfly/react-styles';
3
3
  import styles from '@patternfly/react-styles/css/components/CodeEditor/code-editor';
4
+ import fileUploadStyles from '@patternfly/react-styles/css/components/FileUpload/file-upload';
4
5
  import {
5
6
  Button,
6
7
  ButtonVariant,
7
8
  EmptyState,
8
9
  EmptyStateBody,
9
- EmptyStateIcon,
10
10
  EmptyStateActions,
11
11
  EmptyStateVariant,
12
12
  EmptyStateFooter,
13
13
  getResizeObserver,
14
14
  Popover,
15
15
  PopoverProps,
16
- TooltipPosition,
17
- EmptyStateHeader
16
+ TooltipPosition
18
17
  } from '@patternfly/react-core';
19
- import MonacoEditor, { ChangeHandler, EditorDidMount } from 'react-monaco-editor';
20
- 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';
21
20
  import CopyIcon from '@patternfly/react-icons/dist/esm/icons/copy-icon';
22
21
  import UploadIcon from '@patternfly/react-icons/dist/esm/icons/upload-icon';
23
22
  import DownloadIcon from '@patternfly/react-icons/dist/esm/icons/download-icon';
@@ -27,6 +26,9 @@ import Dropzone, { FileRejection } from 'react-dropzone';
27
26
  import { CodeEditorContext } from './CodeEditorUtils';
28
27
  import { CodeEditorControl } from './CodeEditorControl';
29
28
 
29
+ export type ChangeHandler = (value: string, event: editor.IModelContentChangedEvent) => void;
30
+ export type EditorDidMount = (editor: editor.IStandaloneCodeEditor, monaco: Monaco) => void;
31
+
30
32
  export interface Shortcut {
31
33
  description: string;
32
34
  keys: string[];
@@ -133,6 +135,8 @@ export interface CodeEditorProps extends Omit<React.HTMLProps<HTMLDivElement>, '
133
135
  downloadButtonToolTipText?: string;
134
136
  /** Name of the file if user downloads code to local file. */
135
137
  downloadFileName?: string;
138
+ /** Additional props to pass to the monaco editor. */
139
+ editorProps?: EditorProps;
136
140
  /** Content to display in space of the code editor when there is no code to display. */
137
141
  emptyState?: React.ReactNode;
138
142
  /** Override default empty state body text. */
@@ -153,6 +157,8 @@ export interface CodeEditorProps extends Omit<React.HTMLProps<HTMLDivElement>, '
153
157
  isCopyEnabled?: boolean;
154
158
  /** Flag indicating the editor is styled using monaco's dark theme. */
155
159
  isDarkTheme?: boolean;
160
+ /** Flag indicating the editor has a plain header. */
161
+ isHeaderPlain?: boolean;
156
162
  /** Flag to add download button to code editor actions. */
157
163
  isDownloadEnabled?: boolean;
158
164
  /** Flag to include a label indicating the currently configured editor language. */
@@ -259,6 +265,7 @@ class CodeEditor extends React.Component<CodeEditorProps, CodeEditorState> {
259
265
  isUploadEnabled: false,
260
266
  isDownloadEnabled: false,
261
267
  isCopyEnabled: false,
268
+ isHeaderPlain: false,
262
269
  copyButtonAriaLabel: 'Copy code to clipboard',
263
270
  uploadButtonAriaLabel: 'Upload code',
264
271
  downloadButtonAriaLabel: 'Download code',
@@ -490,12 +497,14 @@ class CodeEditor extends React.Component<CodeEditorProps, CodeEditorState> {
490
497
  emptyStateLink,
491
498
  customControls,
492
499
  isMinimapVisible,
500
+ isHeaderPlain,
493
501
  headerMainContent,
494
502
  shortcutsPopoverButtonText,
495
503
  shortcutsPopoverProps: shortcutsPopoverPropsProp,
496
504
  showEditor,
497
505
  options: optionsProp,
498
- overrideServices
506
+ overrideServices,
507
+ editorProps
499
508
  } = this.props;
500
509
  const shortcutsPopoverProps: PopoverProps = {
501
510
  ...CodeEditor.defaultProps.shortcutsPopoverProps,
@@ -519,40 +528,34 @@ class CodeEditor extends React.Component<CodeEditorProps, CodeEditorState> {
519
528
  const emptyState =
520
529
  providedEmptyState ||
521
530
  (isUploadEnabled ? (
522
- <EmptyState variant={EmptyStateVariant.sm}>
523
- <EmptyStateHeader
524
- titleText={emptyStateTitle}
525
- icon={<EmptyStateIcon icon={CodeIcon} />}
526
- headingLevel="h4"
527
- />
531
+ <EmptyState variant={EmptyStateVariant.sm} titleText={emptyStateTitle} icon={CodeIcon} headingLevel="h4">
528
532
  <EmptyStateBody>{emptyStateBody}</EmptyStateBody>
529
- <EmptyStateFooter>
530
- <EmptyStateActions>
531
- <Button variant="primary" onClick={open}>
532
- {emptyStateButton}
533
- </Button>
534
- </EmptyStateActions>
535
- <EmptyStateActions>
536
- <Button variant="link" onClick={this.toggleEmptyState}>
537
- {emptyStateLink}
538
- </Button>
539
- </EmptyStateActions>
540
- </EmptyStateFooter>
533
+ {!isReadOnly && (
534
+ <EmptyStateFooter>
535
+ <EmptyStateActions>
536
+ <Button variant="primary" onClick={open}>
537
+ {emptyStateButton}
538
+ </Button>
539
+ </EmptyStateActions>
540
+ <EmptyStateActions>
541
+ <Button variant="link" onClick={this.toggleEmptyState}>
542
+ {emptyStateLink}
543
+ </Button>
544
+ </EmptyStateActions>
545
+ </EmptyStateFooter>
546
+ )}
541
547
  </EmptyState>
542
548
  ) : (
543
- <EmptyState variant={EmptyStateVariant.sm}>
544
- <EmptyStateHeader
545
- titleText={emptyStateTitle}
546
- icon={<EmptyStateIcon icon={CodeIcon} />}
547
- headingLevel="h4"
548
- />
549
- <EmptyStateFooter>
550
- <EmptyStateActions>
551
- <Button variant="primary" onClick={this.toggleEmptyState}>
552
- {emptyStateLink}
553
- </Button>
554
- </EmptyStateActions>
555
- </EmptyStateFooter>
549
+ <EmptyState variant={EmptyStateVariant.sm} titleText={emptyStateTitle} icon={CodeIcon} headingLevel="h4">
550
+ {!isReadOnly && (
551
+ <EmptyStateFooter>
552
+ <EmptyStateActions>
553
+ <Button variant="primary" onClick={this.toggleEmptyState}>
554
+ {emptyStateLink}
555
+ </Button>
556
+ </EmptyStateActions>
557
+ </EmptyStateFooter>
558
+ )}
556
559
  </EmptyState>
557
560
  ));
558
561
 
@@ -564,48 +567,53 @@ class CodeEditor extends React.Component<CodeEditorProps, CodeEditorState> {
564
567
  trigger: 'mouseenter focus'
565
568
  };
566
569
 
567
- const editorHeader = (
568
- <div className={css(styles.codeEditorHeader)}>
569
- {
570
- <div className={css(styles.codeEditorControls)}>
571
- <CodeEditorContext.Provider value={{ code: value }}>
572
- {isCopyEnabled && (!showEmptyState || !!value) && (
573
- <CodeEditorControl
574
- icon={<CopyIcon />}
575
- aria-label={copyButtonAriaLabel}
576
- tooltipProps={{
577
- ...tooltipProps,
578
- 'aria-live': 'polite',
579
- content: <div>{copied ? copyButtonSuccessTooltipText : copyButtonToolTipText}</div>,
580
- exitDelay: copied ? toolTipCopyExitDelay : toolTipDelay,
581
- onTooltipHidden: () => this.setState({ copied: false })
582
- }}
583
- onClick={this.copyCode}
584
- />
585
- )}
586
- {isUploadEnabled && (
587
- <CodeEditorControl
588
- icon={<UploadIcon />}
589
- aria-label={uploadButtonAriaLabel}
590
- tooltipProps={{ content: <div>{uploadButtonToolTipText}</div>, ...tooltipProps }}
591
- onClick={open}
592
- />
593
- )}
594
- {isDownloadEnabled && (!showEmptyState || !!value) && (
595
- <CodeEditorControl
596
- icon={<DownloadIcon />}
597
- aria-label={downloadButtonAriaLabel}
598
- tooltipProps={{ content: <div>{downloadButtonToolTipText}</div>, ...tooltipProps }}
599
- onClick={this.download}
600
- />
601
- )}
602
- {customControls && customControls}
603
- </CodeEditorContext.Provider>
604
- </div>
605
- }
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>
606
614
  {<div className={css(styles.codeEditorHeaderMain)}>{headerMainContent}</div>}
607
615
  {!!shortcutsPopoverProps.bodyContent && (
608
- <div className="pf-v5-c-code-editor__keyboard-shortcuts">
616
+ <div className={`${styles.codeEditor}__keyboard-shortcuts`}>
609
617
  <Popover {...shortcutsPopoverProps}>
610
618
  <Button variant={ButtonVariant.link} icon={<HelpIcon />}>
611
619
  {shortcutsPopoverButtonText}
@@ -613,6 +621,14 @@ class CodeEditor extends React.Component<CodeEditorProps, CodeEditorState> {
613
621
  </Popover>
614
622
  </div>
615
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
+ )}
616
632
  {isLanguageLabelVisible && (
617
633
  <div className={css(styles.codeEditorTab)}>
618
634
  <span className={css(styles.codeEditorTabIcon)}>
@@ -626,7 +642,7 @@ class CodeEditor extends React.Component<CodeEditorProps, CodeEditorState> {
626
642
 
627
643
  const editor = (
628
644
  <div className={css(styles.codeEditorCode)} ref={this.wrapperRef} tabIndex={0} dir="ltr">
629
- <MonacoEditor
645
+ <Editor
630
646
  height={height}
631
647
  width={width}
632
648
  language={language}
@@ -634,8 +650,9 @@ class CodeEditor extends React.Component<CodeEditorProps, CodeEditorState> {
634
650
  options={options}
635
651
  overrideServices={overrideServices}
636
652
  onChange={this.onChange}
637
- editorDidMount={this.editorDidMount}
653
+ onMount={this.editorDidMount}
638
654
  theme={isDarkTheme ? 'vs-dark' : 'vs-light'}
655
+ {...editorProps}
639
656
  />
640
657
  </div>
641
658
  );
@@ -647,12 +664,14 @@ class CodeEditor extends React.Component<CodeEditorProps, CodeEditorState> {
647
664
  {...getRootProps({
648
665
  onClick: (event) => event.stopPropagation() // Prevents clicking TextArea from opening file dialog
649
666
  })}
650
- className={`pf-v5-c-file-upload ${isDragActive && 'pf-m-drag-hover'} ${isLoading && 'pf-m-loading'}`}
667
+ className={css(isLoading && fileUploadStyles.modifiers.loading)}
651
668
  >
652
669
  {editorHeader}
653
- <div className={css(styles.codeEditorMain)}>
654
- <input {...getInputProps()} /* hidden, necessary for react-dropzone */ />
655
- {(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>
656
675
  </div>
657
676
  </div>
658
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
  };