@patternfly/react-code-editor 6.2.1-prerelease.0 → 6.2.1-prerelease.10

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.
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { Component, createRef, Fragment } from 'react';
2
+ import { useEffect, useRef, useState } from 'react';
3
3
  import { css } from '@patternfly/react-styles';
4
4
  import styles from '@patternfly/react-styles/css/components/CodeEditor/code-editor.mjs';
5
5
  import fileUploadStyles from '@patternfly/react-styles/css/components/FileUpload/file-upload.mjs';
@@ -94,246 +94,168 @@ export var Language;
94
94
  Language["xml"] = "xml";
95
95
  Language["yaml"] = "yaml";
96
96
  })(Language || (Language = {}));
97
- class CodeEditor extends 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
- }
97
+ const getExtensionFromLanguage = (language) => {
98
+ switch (language) {
99
+ case Language.shell:
100
+ return 'sh';
101
+ case Language.ruby:
102
+ return 'rb';
103
+ case Language.perl:
104
+ return 'pl';
105
+ case Language.python:
106
+ return 'py';
107
+ case Language.mysql:
108
+ return 'sql';
109
+ case Language.javascript:
110
+ return 'js';
111
+ case Language.typescript:
112
+ return 'ts';
113
+ case Language.markdown:
114
+ return 'md';
115
+ case Language.plaintext:
116
+ return 'txt';
117
+ default:
118
+ return language.toString();
121
119
  }
122
- constructor(props) {
123
- super(props);
124
- this.editor = null;
125
- this.wrapperRef = createRef();
126
- this.ref = createRef();
127
- this.timer = null;
128
- this.observer = () => { };
129
- this.onChange = (value, event) => {
130
- if (this.props.height === 'sizeToFit') {
131
- this.setHeightToFitContent();
132
- }
133
- if (this.props.onChange) {
134
- this.props.onChange(value, event);
135
- }
136
- this.setState({ value });
137
- this.props.onCodeChange(value);
138
- };
139
- this.handleResize = () => {
140
- if (this.editor) {
141
- this.editor.layout({ width: 0, height: 0 }); // ensures the editor won't take up more space than it needs
142
- this.editor.layout();
143
- }
144
- };
145
- this.handleGlobalKeys = (event) => {
146
- var _a;
147
- if (this.wrapperRef.current === document.activeElement && (event.key === 'ArrowDown' || event.key === ' ')) {
148
- (_a = this.editor) === null || _a === void 0 ? void 0 : _a.focus();
149
- event.preventDefault();
150
- }
151
- };
152
- this.editorDidMount = (editor, monaco) => {
153
- // eslint-disable-next-line no-bitwise
154
- editor.addCommand(monaco.KeyMod.Shift | monaco.KeyCode.Tab, () => this.wrapperRef.current.focus());
155
- Array.from(document.getElementsByClassName('monaco-editor')).forEach((editorElement) => editorElement.removeAttribute('role'));
156
- this.props.onEditorDidMount(editor, monaco);
157
- this.editor = editor;
158
- if (this.props.height === 'sizeToFit') {
159
- this.setHeightToFitContent();
160
- }
161
- };
162
- this.handleFileChange = (value, filename) => {
163
- this.setState({
164
- value,
165
- filename
166
- });
167
- this.props.onCodeChange(value);
168
- };
169
- this.handleFileReadStarted = () => this.setState({ isLoading: true });
170
- this.handleFileReadFinished = () => this.setState({ isLoading: false });
171
- this.onDropAccepted = (acceptedFiles) => {
172
- if (acceptedFiles.length > 0) {
173
- const fileHandle = acceptedFiles[0];
174
- this.handleFileChange('', fileHandle.name); // Show the filename while reading
175
- this.handleFileReadStarted();
176
- this.readFile(fileHandle)
177
- .then((data) => {
178
- this.handleFileReadFinished();
179
- this.toggleEmptyState();
180
- this.handleFileChange(data, fileHandle.name);
181
- })
182
- .catch((error) => {
183
- // eslint-disable-next-line no-console
184
- console.error('error', error);
185
- this.handleFileReadFinished();
186
- this.handleFileChange('', ''); // Clear the filename field on a failure
187
- });
188
- }
120
+ };
121
+ /**
122
+ * Downloads a file to a users device given its string content and a full file name.
123
+ */
124
+ const defaultOnDownload = (value, fileName) => {
125
+ const link = document.createElement('a');
126
+ link.href = URL.createObjectURL(new Blob([value], { type: 'text' }));
127
+ link.download = fileName;
128
+ link.click();
129
+ };
130
+ export const CodeEditor = ({ className = '', code = '', copyButtonAriaLabel = 'Copy code to clipboard', copyButtonSuccessTooltipText = 'Content added to clipboard', copyButtonToolTipText = 'Copy to clipboard', customControls = null, downloadButtonAriaLabel = 'Download code', downloadButtonToolTipText = 'Download', downloadFileName = Date.now().toString(), editorProps, emptyState = '', emptyStateBody = 'Drag and drop a file or upload one.', emptyStateButton = 'Browse', emptyStateLink = 'Start from scratch', emptyStateTitle = 'Start editing', headerMainContent = '', height, isCopyEnabled = false, isDarkTheme = false, isDownloadEnabled = false, isFullHeight = false, isHeaderPlain = false, isLanguageLabelVisible = false, isLineNumbersVisible = true, isMinimapVisible = false, isReadOnly = false, isUploadEnabled = false, language = Language.plaintext, loading = '', onChange = () => { }, onCodeChange = () => { }, onDownload = defaultOnDownload, onEditorDidMount = () => { }, options = {}, overrideServices = {}, shortcutsPopoverButtonText = 'View Shortcuts', shortcutsPopoverProps = { bodyContent: '', 'aria-label': 'Keyboard Shortcuts' }, showEditor = true, toolTipCopyExitDelay = 1600, toolTipDelay = 300, toolTipMaxWidth = '100px', toolTipPosition = 'top', uploadButtonAriaLabel = 'Upload code', uploadButtonToolTipText = 'Upload', width = '' }) => {
131
+ const [value, setValue] = useState(code);
132
+ const [isLoading, setIsLoading] = useState(false);
133
+ const [showEmptyState, setShowEmptyState] = useState(true);
134
+ const [copied, setCopied] = useState(false);
135
+ const editorRef = useRef(null);
136
+ const wrapperRef = useRef(null);
137
+ const ref = useRef(null);
138
+ const observer = useRef(() => { });
139
+ const setHeightToFitContent = () => {
140
+ var _a, _b, _c;
141
+ const contentHeight = (_a = editorRef.current) === null || _a === void 0 ? void 0 : _a.getContentHeight();
142
+ const layoutInfo = (_b = editorRef.current) === null || _b === void 0 ? void 0 : _b.getLayoutInfo();
143
+ (_c = editorRef.current) === null || _c === void 0 ? void 0 : _c.layout({ width: layoutInfo.width, height: contentHeight });
144
+ };
145
+ const onModelChange = (value, event) => {
146
+ if (height === 'sizeToFit') {
147
+ setHeightToFitContent();
148
+ }
149
+ if (onChange) {
150
+ onChange(value, event);
151
+ }
152
+ setValue(value);
153
+ onCodeChange(value);
154
+ };
155
+ const handleResize = () => {
156
+ if (editorRef.current) {
157
+ editorRef.current.layout({ width: 0, height: 0 }); // ensures the editor won't take up more space than it needs
158
+ editorRef.current.layout();
159
+ }
160
+ };
161
+ const handleGlobalKeys = (event) => {
162
+ var _a;
163
+ if (wrapperRef.current === document.activeElement && (event.key === 'ArrowDown' || event.key === ' ')) {
164
+ (_a = editorRef.current) === null || _a === void 0 ? void 0 : _a.focus();
165
+ event.preventDefault();
166
+ }
167
+ };
168
+ // if the code changes due to the prop changing
169
+ // set the value to the code prop
170
+ useEffect(() => setValue(code), [code]);
171
+ useEffect(() => {
172
+ document.addEventListener('keydown', handleGlobalKeys);
173
+ observer.current = getResizeObserver(ref.current, handleResize, true);
174
+ handleResize();
175
+ return () => {
176
+ document.removeEventListener('keydown', handleGlobalKeys);
177
+ observer.current();
189
178
  };
190
- this.onDropRejected = (rejectedFiles) => {
191
- if (rejectedFiles.length > 0) {
179
+ }, []);
180
+ const editorDidMount = (editor, monaco) => {
181
+ // eslint-disable-next-line no-bitwise
182
+ editor.addCommand(monaco.KeyMod.Shift | monaco.KeyCode.Tab, () => wrapperRef.current.focus());
183
+ Array.from(document.getElementsByClassName('monaco-editor')).forEach((editorElement) => editorElement.removeAttribute('role'));
184
+ onEditorDidMount(editor, monaco);
185
+ editorRef.current = editor;
186
+ if (height === 'sizeToFit') {
187
+ setHeightToFitContent();
188
+ }
189
+ };
190
+ const handleFileChange = (value) => {
191
+ setValue(value);
192
+ onCodeChange(value);
193
+ };
194
+ const handleFileReadStarted = () => setIsLoading(true);
195
+ const handleFileReadFinished = () => setIsLoading(false);
196
+ const readFile = (fileHandle) => new Promise((resolve, reject) => {
197
+ const reader = new FileReader();
198
+ reader.onload = () => resolve(reader.result);
199
+ reader.onerror = () => reject(reader.error);
200
+ reader.readAsText(fileHandle);
201
+ });
202
+ const onDropAccepted = (acceptedFiles) => {
203
+ if (acceptedFiles.length > 0) {
204
+ const fileHandle = acceptedFiles[0];
205
+ handleFileChange(''); // Show the filename while reading
206
+ handleFileReadStarted();
207
+ readFile(fileHandle)
208
+ .then((data) => {
209
+ handleFileReadFinished();
210
+ setShowEmptyState(false);
211
+ handleFileChange(data);
212
+ })
213
+ .catch((error) => {
192
214
  // eslint-disable-next-line no-console
193
- console.error('There was an error accepting that dropped file'); // TODO
194
- }
195
- };
196
- this.copyCode = () => {
197
- navigator.clipboard.writeText(this.state.value);
198
- this.setState({ copied: true });
199
- };
200
- this.download = () => {
201
- const { value } = this.state;
202
- const element = document.createElement('a');
203
- const file = new Blob([value], { type: 'text' });
204
- element.href = URL.createObjectURL(file);
205
- element.download = `${this.props.downloadFileName}.${CodeEditor.getExtensionFromLanguage(this.props.language)}`;
206
- document.body.appendChild(element); // Required for this to work in FireFox
207
- element.click();
208
- };
209
- this.toggleEmptyState = () => {
210
- this.setState({ showEmptyState: false });
211
- };
212
- this.state = {
213
- height: this.props.height,
214
- prevPropsCode: this.props.code,
215
- value: this.props.code,
216
- filename: '',
217
- isLoading: false,
218
- showEmptyState: true,
219
- copied: false
220
- };
221
- }
222
- setHeightToFitContent() {
223
- const contentHeight = this.editor.getContentHeight();
224
- const layoutInfo = this.editor.getLayoutInfo();
225
- this.editor.layout({ width: layoutInfo.width, height: contentHeight });
226
- }
227
- // this function is only called when the props change
228
- // the only conflict is between props.code and state.value
229
- static getDerivedStateFromProps(nextProps, prevState) {
230
- // if the code changes due to the props.code changing
231
- // set the value to props.code
232
- if (nextProps.code !== prevState.prevPropsCode) {
233
- return {
234
- value: nextProps.code,
235
- prevPropsCode: nextProps.code
236
- };
215
+ console.error('error', error);
216
+ handleFileReadFinished();
217
+ handleFileChange('');
218
+ });
237
219
  }
238
- // else, don't need to change the state.value
239
- // because the onChange function will do all the work
240
- return null;
241
- }
242
- componentDidMount() {
243
- document.addEventListener('keydown', this.handleGlobalKeys);
244
- this.observer = getResizeObserver(this.ref.current, this.handleResize, true);
245
- this.handleResize();
246
- }
247
- componentWillUnmount() {
248
- document.removeEventListener('keydown', this.handleGlobalKeys);
249
- this.observer();
250
- }
251
- readFile(fileHandle) {
252
- return new Promise((resolve, reject) => {
253
- const reader = new FileReader();
254
- reader.onload = () => resolve(reader.result);
255
- reader.onerror = () => reject(reader.error);
256
- reader.readAsText(fileHandle);
257
- });
258
- }
259
- render() {
260
- const { height, value, isLoading, showEmptyState, copied } = this.state;
261
- 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, loading, editorProps } = this.props;
262
- const shortcutsPopoverProps = Object.assign(Object.assign({}, CodeEditor.defaultProps.shortcutsPopoverProps), shortcutsPopoverPropsProp);
263
- const options = Object.assign({ scrollBeyondLastLine: height !== 'sizeToFit', readOnly: isReadOnly, cursorStyle: 'line', lineNumbers: isLineNumbersVisible ? 'on' : 'off', tabIndex: -1, minimap: {
264
- enabled: isMinimapVisible
265
- } }, optionsProp);
266
- const isFullHeight = this.props.height === '100%' ? true : this.props.isFullHeight;
267
- return (_jsx(Dropzone, { multiple: false, onDropAccepted: this.onDropAccepted, onDropRejected: this.onDropRejected, children: ({ getRootProps, getInputProps, isDragActive, open }) => {
268
- const emptyState = providedEmptyState ||
269
- (isUploadEnabled ? (_jsxs(EmptyState, { variant: EmptyStateVariant.sm, titleText: emptyStateTitle, icon: CodeIcon, headingLevel: "h4", children: [_jsx(EmptyStateBody, { children: emptyStateBody }), !isReadOnly && (_jsxs(EmptyStateFooter, { children: [_jsx(EmptyStateActions, { children: _jsx(Button, { variant: "primary", onClick: open, children: emptyStateButton }) }), _jsx(EmptyStateActions, { children: _jsx(Button, { variant: "link", onClick: this.toggleEmptyState, children: emptyStateLink }) })] }))] })) : (_jsx(EmptyState, { variant: EmptyStateVariant.sm, titleText: emptyStateTitle, icon: CodeIcon, headingLevel: "h4", children: !isReadOnly && (_jsx(EmptyStateFooter, { children: _jsx(EmptyStateActions, { children: _jsx(Button, { variant: "primary", onClick: this.toggleEmptyState, children: emptyStateLink }) }) })) })));
270
- const tooltipProps = {
271
- position: toolTipPosition,
272
- exitDelay: toolTipDelay,
273
- entryDelay: toolTipDelay,
274
- maxWidth: toolTipMaxWidth,
275
- trigger: 'mouseenter focus'
276
- };
277
- const hasEditorHeaderContent = ((isCopyEnabled || isDownloadEnabled) && (!showEmptyState || !!value)) ||
278
- isUploadEnabled ||
279
- customControls ||
280
- headerMainContent ||
281
- !!shortcutsPopoverProps.bodyContent;
282
- const editorHeaderContent = (_jsxs(Fragment, { children: [_jsx("div", { className: css(styles.codeEditorControls), children: _jsxs(CodeEditorContext.Provider, { value: { code: value }, children: [isCopyEnabled && (!showEmptyState || !!value) && (_jsx(CodeEditorControl, { icon: _jsx(CopyIcon, {}), "aria-label": copyButtonAriaLabel, tooltipProps: Object.assign(Object.assign({}, tooltipProps), { 'aria-live': 'polite', content: _jsx("div", { children: copied ? copyButtonSuccessTooltipText : copyButtonToolTipText }), exitDelay: copied ? toolTipCopyExitDelay : toolTipDelay, onTooltipHidden: () => this.setState({ copied: false }) }), onClick: this.copyCode })), isUploadEnabled && (_jsx(CodeEditorControl, { icon: _jsx(UploadIcon, {}), "aria-label": uploadButtonAriaLabel, tooltipProps: Object.assign({ content: _jsx("div", { children: uploadButtonToolTipText }) }, tooltipProps), onClick: open })), isDownloadEnabled && (!showEmptyState || !!value) && (_jsx(CodeEditorControl, { icon: _jsx(DownloadIcon, {}), "aria-label": downloadButtonAriaLabel, tooltipProps: Object.assign({ content: _jsx("div", { children: downloadButtonToolTipText }) }, tooltipProps), onClick: this.download })), customControls && customControls] }) }), headerMainContent && _jsx("div", { className: css(styles.codeEditorHeaderMain), children: headerMainContent }), !!shortcutsPopoverProps.bodyContent && (_jsx("div", { className: `${styles.codeEditor}__keyboard-shortcuts`, children: _jsx(Popover, Object.assign({}, shortcutsPopoverProps, { children: _jsx(Button, { variant: ButtonVariant.link, icon: _jsx(HelpIcon, {}), children: shortcutsPopoverButtonText }) })) }))] }));
283
- const editorHeader = (_jsxs("div", { className: css(styles.codeEditorHeader, isHeaderPlain && styles.modifiers.plain), children: [hasEditorHeaderContent && (_jsx("div", { className: css(styles.codeEditorHeaderContent), children: editorHeaderContent })), isLanguageLabelVisible && (_jsxs("div", { className: css(styles.codeEditorTab), children: [_jsx("span", { className: css(styles.codeEditorTabIcon), children: _jsx(CodeIcon, {}) }), _jsx("span", { className: css(styles.codeEditorTabText), children: language.toUpperCase() })] }))] }));
284
- const editor = (_jsx("div", { className: css(styles.codeEditorCode), ref: this.wrapperRef, tabIndex: 0, dir: "ltr", children: _jsx(Editor, Object.assign({ height: height === '100%' ? undefined : height, width: width, language: language, value: value, options: options, overrideServices: overrideServices, onChange: this.onChange, onMount: this.editorDidMount, theme: isDarkTheme ? 'vs-dark' : 'vs-light', loading: loading }, editorProps)) }));
285
- const hiddenFileInput = _jsx("input", Object.assign({}, getInputProps(), { hidden: true }));
286
- return (_jsx("div", { className: css(styles.codeEditor, isReadOnly && styles.modifiers.readOnly, isFullHeight && styles.modifiers.fullHeight, className), ref: this.ref, children: (isUploadEnabled || providedEmptyState) && !value ? (_jsxs("div", Object.assign({}, getRootProps({
287
- onClick: (event) => event.stopPropagation() // Prevents clicking TextArea from opening file dialog
288
- }), { className: css(styles.codeEditorContainer, isLoading && fileUploadStyles.modifiers.loading), children: [editorHeader, _jsx("div", { className: css(styles.codeEditorMain, isDragActive && styles.modifiers.dragHover), children: (showEmptyState || providedEmptyState) && !value ? (_jsxs("div", { className: css(styles.codeEditorUpload), children: [hiddenFileInput, emptyState] })) : (_jsxs(_Fragment, { children: [hiddenFileInput, editor] })) })] }))) : (_jsxs(_Fragment, { children: [editorHeader, showEditor && (_jsxs("div", { className: css(styles.codeEditorMain), children: [hiddenFileInput, editor] }))] })) }));
289
- } }));
290
- }
291
- }
292
- CodeEditor.displayName = 'CodeEditor';
293
- CodeEditor.defaultProps = {
294
- className: '',
295
- code: '',
296
- onEditorDidMount: () => { },
297
- language: Language.plaintext,
298
- isDarkTheme: false,
299
- width: '',
300
- isLineNumbersVisible: true,
301
- isReadOnly: false,
302
- isLanguageLabelVisible: false,
303
- loading: '',
304
- emptyState: '',
305
- emptyStateTitle: 'Start editing',
306
- emptyStateBody: 'Drag and drop a file or upload one.',
307
- emptyStateButton: 'Browse',
308
- emptyStateLink: 'Start from scratch',
309
- downloadFileName: Date.now().toString(),
310
- isUploadEnabled: false,
311
- isDownloadEnabled: false,
312
- isCopyEnabled: false,
313
- isHeaderPlain: false,
314
- copyButtonAriaLabel: 'Copy code to clipboard',
315
- uploadButtonAriaLabel: 'Upload code',
316
- downloadButtonAriaLabel: 'Download code',
317
- copyButtonToolTipText: 'Copy to clipboard',
318
- uploadButtonToolTipText: 'Upload',
319
- downloadButtonToolTipText: 'Download',
320
- copyButtonSuccessTooltipText: 'Content added to clipboard',
321
- toolTipCopyExitDelay: 1600,
322
- toolTipDelay: 300,
323
- toolTipMaxWidth: '100px',
324
- toolTipPosition: 'top',
325
- customControls: null,
326
- isMinimapVisible: false,
327
- headerMainContent: '',
328
- shortcutsPopoverButtonText: 'View Shortcuts',
329
- shortcutsPopoverProps: {
330
- bodyContent: '',
331
- 'aria-label': 'Keyboard Shortcuts'
332
- },
333
- showEditor: true,
334
- options: {},
335
- overrideServices: {},
336
- onCodeChange: () => { }
220
+ };
221
+ const onDropRejected = (rejectedFiles) => {
222
+ if (rejectedFiles.length > 0) {
223
+ // eslint-disable-next-line no-console
224
+ console.error('There was an error accepting that dropped file'); // TODO
225
+ }
226
+ };
227
+ const copyCode = () => {
228
+ navigator.clipboard.writeText(value);
229
+ setCopied(true);
230
+ };
231
+ const editorOptions = Object.assign({ scrollBeyondLastLine: height !== 'sizeToFit', readOnly: isReadOnly, cursorStyle: 'line', lineNumbers: isLineNumbersVisible ? 'on' : 'off', tabIndex: -1, minimap: {
232
+ enabled: isMinimapVisible
233
+ } }, options);
234
+ const tooltipProps = {
235
+ position: toolTipPosition,
236
+ exitDelay: toolTipDelay,
237
+ entryDelay: toolTipDelay,
238
+ maxWidth: toolTipMaxWidth,
239
+ trigger: 'mouseenter focus'
240
+ };
241
+ const hasEditorHeaderContent = ((isCopyEnabled || isDownloadEnabled) && (!showEmptyState || !!value)) ||
242
+ isUploadEnabled ||
243
+ customControls ||
244
+ headerMainContent ||
245
+ !!shortcutsPopoverProps.bodyContent;
246
+ return (_jsx(Dropzone, { multiple: false, onDropAccepted: onDropAccepted, onDropRejected: onDropRejected, children: ({ getRootProps, getInputProps, isDragActive, open }) => {
247
+ const hiddenFileInput = _jsx("input", Object.assign({}, getInputProps(), { hidden: true }));
248
+ const editorEmptyState = emptyState ||
249
+ (isUploadEnabled ? (_jsxs(EmptyState, { variant: EmptyStateVariant.sm, titleText: emptyStateTitle, icon: CodeIcon, headingLevel: "h4", children: [_jsx(EmptyStateBody, { children: emptyStateBody }), !isReadOnly && (_jsxs(EmptyStateFooter, { children: [_jsx(EmptyStateActions, { children: _jsx(Button, { variant: "primary", onClick: open, children: emptyStateButton }) }), _jsx(EmptyStateActions, { children: _jsx(Button, { variant: "link", onClick: () => setShowEmptyState(false), children: emptyStateLink }) })] }))] })) : (_jsx(EmptyState, { variant: EmptyStateVariant.sm, titleText: emptyStateTitle, icon: CodeIcon, headingLevel: "h4", children: !isReadOnly && (_jsx(EmptyStateFooter, { children: _jsx(EmptyStateActions, { children: _jsx(Button, { variant: "primary", onClick: () => setShowEmptyState(false), children: emptyStateLink }) }) })) })));
250
+ const editorHeaderContent = (_jsxs(_Fragment, { children: [_jsx("div", { className: css(styles.codeEditorControls), children: _jsxs(CodeEditorContext.Provider, { value: { code: value }, children: [isCopyEnabled && (!showEmptyState || !!value) && (_jsx(CodeEditorControl, { icon: _jsx(CopyIcon, {}), "aria-label": copyButtonAriaLabel, tooltipProps: Object.assign(Object.assign({}, tooltipProps), { 'aria-live': 'polite', content: _jsx("div", { children: copied ? copyButtonSuccessTooltipText : copyButtonToolTipText }), exitDelay: copied ? toolTipCopyExitDelay : toolTipDelay, onTooltipHidden: () => setCopied(false) }), onClick: copyCode })), isUploadEnabled && (_jsx(CodeEditorControl, { icon: _jsx(UploadIcon, {}), "aria-label": uploadButtonAriaLabel, tooltipProps: Object.assign({ content: _jsx("div", { children: uploadButtonToolTipText }) }, tooltipProps), onClick: open })), isDownloadEnabled && (!showEmptyState || !!value) && (_jsx(CodeEditorControl, { icon: _jsx(DownloadIcon, {}), "aria-label": downloadButtonAriaLabel, tooltipProps: Object.assign({ content: _jsx("div", { children: downloadButtonToolTipText }) }, tooltipProps), onClick: () => {
251
+ onDownload(value, `${downloadFileName}.${getExtensionFromLanguage(language)}`);
252
+ } })), customControls && customControls] }) }), headerMainContent && _jsx("div", { className: css(styles.codeEditorHeaderMain), children: headerMainContent }), !!shortcutsPopoverProps.bodyContent && (_jsx("div", { className: `${styles.codeEditor}__keyboard-shortcuts`, children: _jsx(Popover, Object.assign({}, shortcutsPopoverProps, { children: _jsx(Button, { variant: ButtonVariant.link, icon: _jsx(HelpIcon, {}), children: shortcutsPopoverButtonText }) })) }))] }));
253
+ const editorHeader = (_jsxs("div", { className: css(styles.codeEditorHeader, isHeaderPlain && styles.modifiers.plain), children: [hasEditorHeaderContent && _jsx("div", { className: css(styles.codeEditorHeaderContent), children: editorHeaderContent }), isLanguageLabelVisible && (_jsxs("div", { className: css(styles.codeEditorTab), children: [_jsx("span", { className: css(styles.codeEditorTabIcon), children: _jsx(CodeIcon, {}) }), _jsx("span", { className: css(styles.codeEditorTabText), children: language.toUpperCase() })] }))] }));
254
+ const editor = (_jsx("div", { className: css(styles.codeEditorCode), ref: wrapperRef, tabIndex: 0, dir: "ltr", children: _jsx(Editor, Object.assign({ height: height === '100%' ? undefined : height, width: width, language: language, value: value, options: editorOptions, overrideServices: overrideServices, onChange: onModelChange, onMount: editorDidMount, loading: loading, theme: isDarkTheme ? 'vs-dark' : 'vs-light' }, editorProps)) }));
255
+ return (_jsx("div", { className: css(styles.codeEditor, isReadOnly && styles.modifiers.readOnly, (height === '100%' ? true : isFullHeight) && styles.modifiers.fullHeight, className), ref: ref, children: (isUploadEnabled || emptyState) && !value ? (_jsxs("div", Object.assign({}, getRootProps({
256
+ onClick: (event) => event.stopPropagation() // Prevents clicking TextArea from opening file dialog
257
+ }), { className: css(styles.codeEditorContainer, isLoading && fileUploadStyles.modifiers.loading), children: [editorHeader, _jsx("div", { className: css(styles.codeEditorMain, isDragActive && styles.modifiers.dragHover), children: (showEmptyState || emptyState) && !value ? (_jsxs("div", { className: css(styles.codeEditorUpload), children: [hiddenFileInput, editorEmptyState] })) : (_jsxs(_Fragment, { children: [hiddenFileInput, editor] })) })] }))) : (_jsxs(_Fragment, { children: [editorHeader, showEditor && (_jsxs("div", { className: css(styles.codeEditorMain), children: [hiddenFileInput, editor] }))] })) }));
258
+ } }));
337
259
  };
338
- export { CodeEditor };
260
+ CodeEditor.displayName = 'CodeEditor';
339
261
  //# sourceMappingURL=CodeEditor.js.map
@@ -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":";AAAA,OAAO,EAAwB,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,MAAM,2EAAuE;AACpF,OAAO,gBAAgB,2EAAuE;AAC9F,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,uDAAuD,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAgB,MAAM,oDAAoD,CAAC;AAE3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,wDAAwD,CAAC;AAC3F,OAAO,MAA+B,MAAM,sBAAsB,CAAC;AAEnE,OAAO,QAAQ,MAAM,kDAAkD,CAAC;AACxE,OAAO,UAAU,MAAM,oDAAoD,CAAC;AAC5E,OAAO,YAAY,MAAM,sDAAsD,CAAC;AAChF,OAAO,QAAQ,MAAM,kDAAkD,CAAC;AACxE,OAAO,QAAQ,MAAM,kDAAkD,CAAC;AACxE,OAAO,QAA2B,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAUxD,MAAM,CAAN,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,KAAR,QAAQ,QA4EnB;AAyHD,MAAM,wBAAwB,GAAG,CAAC,QAAkB,EAAE,EAAE;IACtD,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ,CAAC,KAAK;YACjB,OAAO,IAAI,CAAC;QACd,KAAK,QAAQ,CAAC,IAAI;YAChB,OAAO,IAAI,CAAC;QACd,KAAK,QAAQ,CAAC,IAAI;YAChB,OAAO,IAAI,CAAC;QACd,KAAK,QAAQ,CAAC,MAAM;YAClB,OAAO,IAAI,CAAC;QACd,KAAK,QAAQ,CAAC,KAAK;YACjB,OAAO,KAAK,CAAC;QACf,KAAK,QAAQ,CAAC,UAAU;YACtB,OAAO,IAAI,CAAC;QACd,KAAK,QAAQ,CAAC,UAAU;YACtB,OAAO,IAAI,CAAC;QACd,KAAK,QAAQ,CAAC,QAAQ;YACpB,OAAO,IAAI,CAAC;QACd,KAAK,QAAQ,CAAC,SAAS;YACrB,OAAO,KAAK,CAAC;QACf;YACE,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;AACH,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAE,QAAgB,EAAE,EAAE;IAC5D,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IACrE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACzB,IAAI,CAAC,KAAK,EAAE,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,SAAS,GAAG,EAAE,EACd,IAAI,GAAG,EAAE,EACT,mBAAmB,GAAG,wBAAwB,EAC9C,4BAA4B,GAAG,4BAA4B,EAC3D,qBAAqB,GAAG,mBAAmB,EAC3C,cAAc,GAAG,IAAI,EACrB,uBAAuB,GAAG,eAAe,EACzC,yBAAyB,GAAG,UAAU,EACtC,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EACxC,WAAW,EACX,UAAU,GAAG,EAAE,EACf,cAAc,GAAG,qCAAqC,EACtD,gBAAgB,GAAG,QAAQ,EAC3B,cAAc,GAAG,oBAAoB,EACrC,eAAe,GAAG,eAAe,EACjC,iBAAiB,GAAG,EAAE,EACtB,MAAM,EACN,aAAa,GAAG,KAAK,EACrB,WAAW,GAAG,KAAK,EACnB,iBAAiB,GAAG,KAAK,EACzB,YAAY,GAAG,KAAK,EACpB,aAAa,GAAG,KAAK,EACrB,sBAAsB,GAAG,KAAK,EAC9B,oBAAoB,GAAG,IAAI,EAC3B,gBAAgB,GAAG,KAAK,EACxB,UAAU,GAAG,KAAK,EAClB,eAAe,GAAG,KAAK,EACvB,QAAQ,GAAG,QAAQ,CAAC,SAAS,EAC7B,OAAO,GAAG,EAAE,EACZ,QAAQ,GAAG,GAAG,EAAE,GAAE,CAAC,EACnB,YAAY,GAAG,GAAG,EAAE,GAAE,CAAC,EACvB,UAAU,GAAG,iBAAiB,EAC9B,gBAAgB,GAAG,GAAG,EAAE,GAAE,CAAC,EAC3B,OAAO,GAAG,EAAE,EACZ,gBAAgB,GAAG,EAAE,EACrB,0BAA0B,GAAG,gBAAgB,EAC7C,qBAAqB,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,oBAAoB,EAAE,EAC/E,UAAU,GAAG,IAAI,EACjB,oBAAoB,GAAG,IAAI,EAC3B,YAAY,GAAG,GAAG,EAClB,eAAe,GAAG,OAAO,EACzB,eAAe,GAAG,KAAK,EACvB,qBAAqB,GAAG,aAAa,EACrC,uBAAuB,GAAG,QAAQ,EAClC,KAAK,GAAG,EAAE,EACM,EAAE,EAAE;IACpB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5C,MAAM,SAAS,GAAG,MAAM,CAAsC,IAAI,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAElC,MAAM,qBAAqB,GAAG,GAAG,EAAE;;QACjC,MAAM,aAAa,GAAG,MAAA,SAAS,CAAC,OAAO,0CAAE,gBAAgB,EAAE,CAAC;QAC5D,MAAM,UAAU,GAAG,MAAA,SAAS,CAAC,OAAO,0CAAE,aAAa,EAAE,CAAC;QACtD,MAAA,SAAS,CAAC,OAAO,0CAAE,MAAM,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;IAChF,CAAC,CAAC;IAEF,MAAM,aAAa,GAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACpD,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3B,qBAAqB,EAAE,CAAC;QAC1B,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChB,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YACtB,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,4DAA4D;YAC/G,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAC,KAAoB,EAAE,EAAE;;QAChD,IAAI,UAAU,CAAC,OAAO,KAAK,QAAQ,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,WAAW,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC;YACtG,MAAA,SAAS,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;YAC3B,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,CAAC;IACH,CAAC,CAAC;IAEF,+CAA+C;IAC/C,iCAAiC;IACjC,SAAS,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAExC,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QACvD,QAAQ,CAAC,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;QACtE,YAAY,EAAE,CAAC;QACf,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAC1D,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,cAAc,GAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;QACxD,sCAAsC;QACtC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9F,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;QACF,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC;QAC3B,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3B,qBAAqB,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,EAAE;QACzC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChB,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,sBAAsB,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAEzD,MAAM,QAAQ,GAAG,CAAC,UAAgB,EAAE,EAAE,CACpC,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACtC,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAgB,CAAC,CAAC;QACvD,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEL,MAAM,cAAc,GAAG,CAAC,aAAqB,EAAE,EAAE;QAC/C,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YACpC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,kCAAkC;YACxD,qBAAqB,EAAE,CAAC;YACxB,QAAQ,CAAC,UAAU,CAAC;iBACjB,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACb,sBAAsB,EAAE,CAAC;gBACzB,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBACzB,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAmB,EAAE,EAAE;gBAC7B,sCAAsC;gBACtC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC9B,sBAAsB,EAAE,CAAC;gBACzB,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;QACP,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,aAA8B,EAAE,EAAE;QACxD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC,CAAC,OAAO;QAC1E,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACrC,SAAS,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,aAAa,mBACjB,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;YACP,OAAO,EAAE,gBAAgB;SAC1B,IACE,OAAO,CACX,CAAC;IAEF,MAAM,YAAY,GAAG;QACnB,QAAQ,EAAE,eAAe;QACzB,SAAS,EAAE,YAAY;QACvB,UAAU,EAAE,YAAY;QACxB,QAAQ,EAAE,eAAe;QACzB,OAAO,EAAE,kBAAkB;KAC5B,CAAC;IAEF,MAAM,sBAAsB,GAC1B,CAAC,CAAC,aAAa,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;QACtE,eAAe;QACf,cAAc;QACd,iBAAiB;QACjB,CAAC,CAAC,qBAAqB,CAAC,WAAW,CAAC;IAEtC,OAAO,CACL,KAAC,QAAQ,IAAC,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,YACtF,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE;YACvD,MAAM,eAAe,GAAG,gCAAW,aAAa,EAAE,IAA6C,MAAM,UAAG,CAAC;YAEzG,MAAM,gBAAgB,GACpB,UAAU;gBACV,CAAC,eAAe,CAAC,CAAC,CAAC,CACjB,MAAC,UAAU,IAAC,OAAO,EAAE,iBAAiB,CAAC,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAC,IAAI,aACtG,KAAC,cAAc,cAAE,cAAc,GAAkB,EAChD,CAAC,UAAU,IAAI,CACd,MAAC,gBAAgB,eACf,KAAC,iBAAiB,cAChB,KAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,IAAI,YACpC,gBAAgB,GACV,GACS,EACpB,KAAC,iBAAiB,cAChB,KAAC,MAAM,IAAC,OAAO,EAAC,MAAM,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,YAC3D,cAAc,GACR,GACS,IACH,CACpB,IACU,CACd,CAAC,CAAC,CAAC,CACF,KAAC,UAAU,IAAC,OAAO,EAAE,iBAAiB,CAAC,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAC,IAAI,YACrG,CAAC,UAAU,IAAI,CACd,KAAC,gBAAgB,cACf,KAAC,iBAAiB,cAChB,KAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,YAC9D,cAAc,GACR,GACS,GACH,CACpB,GACU,CACd,CAAC,CAAC;YAEL,MAAM,mBAAmB,GAAG,CAC1B,8BACE,cAAK,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,YAC5C,MAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,aAC/C,aAAa,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAChD,KAAC,iBAAiB,IAChB,IAAI,EAAE,KAAC,QAAQ,KAAG,gBACN,mBAAmB,EAC/B,YAAY,kCACP,YAAY,KACf,WAAW,EAAE,QAAQ,EACrB,OAAO,EAAE,wBAAM,MAAM,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,qBAAqB,GAAO,EACnF,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,YAAY,EACvD,eAAe,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,KAEzC,OAAO,EAAE,QAAQ,GACjB,CACH,EACA,eAAe,IAAI,CAClB,KAAC,iBAAiB,IAChB,IAAI,EAAE,KAAC,UAAU,KAAG,gBACR,qBAAqB,EACjC,YAAY,kBAAI,OAAO,EAAE,wBAAM,uBAAuB,GAAO,IAAK,YAAY,GAC9E,OAAO,EAAE,IAAI,GACb,CACH,EACA,iBAAiB,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CACpD,KAAC,iBAAiB,IAChB,IAAI,EAAE,KAAC,YAAY,KAAG,gBACV,uBAAuB,EACnC,YAAY,kBAAI,OAAO,EAAE,wBAAM,yBAAyB,GAAO,IAAK,YAAY,GAChF,OAAO,EAAE,GAAG,EAAE;wCACZ,UAAU,CAAC,KAAK,EAAE,GAAG,gBAAgB,IAAI,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oCACjF,CAAC,GACD,CACH,EACA,cAAc,IAAI,cAAc,IACN,GACzB,EACL,iBAAiB,IAAI,cAAK,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,oBAAoB,CAAC,YAAG,iBAAiB,GAAO,EAChG,CAAC,CAAC,qBAAqB,CAAC,WAAW,IAAI,CACtC,cAAK,SAAS,EAAE,GAAG,MAAM,CAAC,UAAU,sBAAsB,YACxD,KAAC,OAAO,oBAAK,qBAAqB,cAChC,KAAC,MAAM,IAAC,OAAO,EAAE,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,KAAC,QAAQ,KAAG,YACpD,0BAA0B,GACpB,IACD,GACN,CACP,IACA,CACJ,CAAC;YAEF,MAAM,YAAY,GAAG,CACnB,eAAK,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,gBAAgB,EAAE,aAAa,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,aAClF,sBAAsB,IAAI,cAAK,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,uBAAuB,CAAC,YAAG,mBAAmB,GAAO,EAC1G,sBAAsB,IAAI,CACzB,eAAK,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,aACvC,eAAM,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAC5C,KAAC,QAAQ,KAAG,GACP,EACP,eAAM,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAG,QAAQ,CAAC,WAAW,EAAE,GAAQ,IAC3E,CACP,IACG,CACP,CAAC;YAEF,MAAM,MAAM,GAAG,CACb,cAAK,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAC,KAAK,YACjF,KAAC,MAAM,kBACL,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAC9C,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,aAAa,EACtB,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,IACvC,WAAW,EACf,GACE,CACP,CAAC;YAEF,OAAO,CACL,cACE,SAAS,EAAE,GAAG,CACZ,MAAM,CAAC,UAAU,EACjB,UAAU,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,EACvC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,UAAU,EACxE,SAAS,CACV,EACD,GAAG,EAAE,GAAG,YAEP,CAAC,eAAe,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAC3C,+BACM,YAAY,CAAC;oBACf,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,sDAAsD;iBACnG,CAAC,IACF,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,mBAAmB,EAAE,SAAS,IAAI,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,aAE1F,YAAY,EACb,cAAK,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,YAAY,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,YACnF,CAAC,cAAc,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAC1C,eAAK,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,aACzC,eAAe,EACf,gBAAgB,IACb,CACP,CAAC,CAAC,CAAC,CACF,8BACG,eAAe,EACf,MAAM,IACN,CACJ,GACG,KACF,CACP,CAAC,CAAC,CAAC,CACF,8BACG,YAAY,EACZ,UAAU,IAAI,CACb,eAAK,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,aACvC,eAAe,EACf,MAAM,IACH,CACP,IACA,CACJ,GACG,CACP,CAAC;QACJ,CAAC,GACQ,CACZ,CAAC;AACJ,CAAC,CAAC;AAEF,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC"}