UNPKG

@kwiz/fluentui

Version:
32 lines 1.78 kB
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime"; import { isNotEmptyArray, isNullOrUndefined, isString } from "@kwiz/common"; import { Editor, loader } from '@monaco-editor/react'; /** it is recommended to lazy load this control into its own chunk */ export function CodeEditor(props) { if (!isNullOrUndefined(props.loaderOptions)) //load from our build do not load from cdn loader.config(isString(props.loaderOptions) ? { paths: { vs: props.loaderOptions //'https://apps.kwizcom.com/libs/monaco-editor/4.7.0/min/vs', }, } : { monaco: props.loaderOptions }); return _jsxs(_Fragment, { children: [_jsx("style", { children: `.force-ltr{direction:ltr;}` }), _jsx(Editor, { className: "force-ltr", defaultLanguage: props.defaultLanguage, options: { minimap: { enabled: false }, lineNumbers: props.hideLineNumbers ? "off" : undefined }, value: props.value, beforeMount: monaco => { // extra libraries if (props.extraLibs) Object.keys(props.extraLibs).forEach(key => monaco.languages.typescript.javascriptDefaults.addExtraLib(props.extraLibs[key], key)); if (isNotEmptyArray(props.jsonSchemaValidations)) monaco.languages.json.jsonDefaults.setDiagnosticsOptions({ validate: true, schemas: props.jsonSchemaValidations }); }, onChange: (value, ev) => { props.onChange(value); } })] }); } //# sourceMappingURL=editor.js.map