"use strict";

var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = EditorComponent;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
require("./index.css");
var monaco = _interopRequireWildcard(require("monaco-editor/esm/vs/editor/editor.api"));
var _reactMonacoEditor = _interopRequireDefault(require("react-monaco-editor"));
var React = _interopRequireWildcard(require("react"));
var _excluded = ["width", "height", "language", "theme"]; // import * as React from 'react';
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function EditorComponent(props) {
  var _props$width = props.width,
    width = _props$width === void 0 ? '100%' : _props$width,
    _props$height = props.height,
    height = _props$height === void 0 ? '500' : _props$height,
    _props$language = props.language,
    language = _props$language === void 0 ? 'powershell' : _props$language,
    _props$theme = props.theme,
    theme = _props$theme === void 0 ? 'vs-dark' : _props$theme,
    others = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded);
  return /*#__PURE__*/React.createElement("div", {
    className: "Editor"
  }, /*#__PURE__*/React.createElement(_reactMonacoEditor["default"], (0, _extends2["default"])({
    width: width,
    height: height,
    language: language,
    theme: theme
  }, others)));
}

// export default class EditorComponent extends React.Component<any, EditorComponentProps, void> {
//   width: any;
//   height: any;
//   language: any;
//   theme: string;
//   constructor(props) {
//     super(props);
//     this.width = props.width || '100%';
//     this.height = props.height || '500';
//     this.language = props.language || 'powershell';
//     this.theme = 'vs-dark';
//     // const { width = '100%', height = '500', language = 'powershell', theme = 'vs-dark', ...others } = props;
//   }
//   render() {
//     return (
//         <MonacoEditor 
//           width={this.width}
//           height={this.height}
//           language={this.language}
//           theme={this.theme}
//         // {...others}
//       />
//     )
//   }
// }