(window.esUiShared_bundle_jsonpfunction=window.esUiShared_bundle_jsonpfunction||[]).push([[1],{75:function(t,e,i){switch(window.__kbnThemeTag__){case"v8dark":return i(76);case"v8light":return i(78)}},76:function(t,e,i){var o=i(10),s=i(77);"string"==typeof(s=s.__esModule?s.default:s)&&(s=[[t.i,s,""]]);o(s,{insert:"head",singleton:!1}),t.exports=s.locals||{}},77:function(t,e,i){(e=i(11)(!1)).push([t.i,".euiCodeEditorWrapper{position:relative}.euiCodeEditorWrapper .ace_hidden-cursors{opacity:0}.euiCodeEditorWrapper.euiCodeEditorWrapper-isEditing .ace_hidden-cursors{opacity:1}.euiCodeEditorKeyboardHint{align-items:center;background:#ffffffb3;cursor:pointer;display:flex;flex-direction:column;height:100%;justify-content:center;left:0;opacity:0;position:absolute;top:0;width:100%}.euiCodeEditorKeyboardHint:focus{border:2px solid #36a2ef;opacity:1;z-index:1000}.euiCodeEditorKeyboardHint.euiCodeEditorKeyboardHint-isInactive{display:none}",""]),t.exports=e},78:function(t,e,i){var o=i(10),s=i(79);"string"==typeof(s=s.__esModule?s.default:s)&&(s=[[t.i,s,""]]);o(s,{insert:"head",singleton:!1}),t.exports=s.locals||{}},79:function(t,e,i){(e=i(11)(!1)).push([t.i,".euiCodeEditorWrapper{position:relative}.euiCodeEditorWrapper .ace_hidden-cursors{opacity:0}.euiCodeEditorWrapper.euiCodeEditorWrapper-isEditing .ace_hidden-cursors{opacity:1}.euiCodeEditorKeyboardHint{align-items:center;background:#ffffffb3;cursor:pointer;display:flex;flex-direction:column;height:100%;justify-content:center;left:0;opacity:0;position:absolute;top:0;width:100%}.euiCodeEditorKeyboardHint:focus{border:2px solid #07c;opacity:1;z-index:1000}.euiCodeEditorKeyboardHint.euiCodeEditorKeyboardHint-isInactive{display:none}",""]),t.exports=e},80:function(t,e,i){"use strict";i.r(e);var o=i(3),s=i.n(o),n=i(12),r=i.n(n),d=i(1),a=i(8),c=i.n(a),u=i(32),p=i.n(u),h=i(2),l=(i(75),i(0));const E="text",b="textmate";function f(t,e,i){null==i?t.removeAttribute(e):t.setAttribute(e,i)}class EuiCodeEditor extends d.Component{constructor(t){super(t),r()(this,"state",{isHintActive:!0,isEditing:!1,name:Object(h.htmlIdGenerator)()()}),r()(this,"idGenerator",Object(h.htmlIdGenerator)()),r()(this,"aceEditor",null),r()(this,"editorHint",null),r()(this,"aceEditorRef",(t=>{var e,i;if(t){this.aceEditor=t;const e=t.editor.textInput.getElement();e.tabIndex=-1,e.addEventListener("keydown",this.onKeydownAce),f(e,"aria-label",this.props["aria-label"]),f(e,"aria-labelledby",this.props["aria-labelledby"]),f(e,"aria-describedby",this.props["aria-describedby"])}null===(e=(i=this.props).onAceEditorRef)||void 0===e||e.call(i,t)})),r()(this,"onEscToExit",(()=>{this.stopEditing(),this.editorHint&&this.editorHint.focus()})),r()(this,"onKeydownAce",(t=>{t.key===h.keys.ESCAPE&&(t.preventDefault(),t.stopPropagation(),null!==this.aceEditor&&!this.aceEditor.editor.completer&&this.state.isEditing&&this.onEscToExit())})),r()(this,"onFocusAce",((t,e)=>{this.setState({isEditing:!0}),this.props.onFocus&&this.props.onFocus(t,e)})),r()(this,"onBlurAce",((t,e)=>{this.stopEditing(),this.props.onBlur&&this.props.onBlur(t,e)})),r()(this,"startEditing",(()=>{this.setState({isHintActive:!1}),null!==this.aceEditor&&this.aceEditor.editor.textInput.focus()}))}stopEditing(){this.setState({isHintActive:!0,isEditing:!1})}isCustomMode(){return"object"==typeof this.props.mode}setCustomMode(){null!==this.aceEditor&&this.aceEditor.editor.getSession().setMode(this.props.mode)}componentDidMount(){this.isCustomMode()&&this.setCustomMode();const{isReadOnly:t,id:e}=this.props,i={id:e,readOnly:t},o=document.getElementById(this.state.name);if(o){const t=o.querySelector("textarea");t&&(s=i,Object.keys(s)).forEach((e=>{i[e]&&t.setAttribute(`${e}`,i[e].toString())}))}var s}componentDidUpdate(t){this.props.mode!==t.mode&&this.isCustomMode()&&this.setCustomMode()}render(){const{width:t,height:e,onBlur:i,isReadOnly:o,setOptions:n,cursorStart:r,mode:d=E,"data-test-subj":a="codeEditorContainer",theme:u=b,commands:f=[],...g}=this.props,y=c()("euiCodeEditorWrapper",{"euiCodeEditorWrapper-isEditing":this.state.isEditing}),m=c()("euiCodeEditorKeyboardHint",{"euiCodeEditorKeyboardHint-isInactive":!this.state.isHintActive});let C;const x={...n};o?(C=-1,Object.assign(x,{readOnly:!0,highlightActiveLine:!1,highlightGutterLine:!1})):C=r;const j=Object(l.jsx)("button",{className:m,id:this.idGenerator("codeEditor"),ref:t=>{this.editorHint=t},onClick:this.startEditing,"data-test-subj":"codeEditorHint"},Object(l.jsx)("p",{className:"euiText"},o?Object(l.jsx)(h.EuiI18n,{token:"euiCodeEditor.startInteracting",default:"Press Enter to start interacting with the code."}):Object(l.jsx)(h.EuiI18n,{token:"euiCodeEditor.startEditing",default:"Press Enter to start editing."})),Object(l.jsx)("p",{className:"euiText"},o?Object(l.jsx)(h.EuiI18n,{token:"euiCodeEditor.stopInteracting",default:"When you're done, press Escape to stop interacting with the code."}):Object(l.jsx)(h.EuiI18n,{token:"euiCodeEditor.stopEditing",default:"When you're done, press Escape to stop editing."})));return Object(l.jsx)("div",{className:y,style:{width:t,height:e},"data-test-subj":a},j,Object(l.jsx)(p.a,s()({mode:this.isCustomMode()?E:d,name:this.state.name,theme:u,ref:this.aceEditorRef,width:t,height:e,onFocus:this.onFocusAce,onBlur:this.onBlurAce,setOptions:x,editorProps:{$blockScrolling:1/0},cursorStart:C,commands:[{name:"stopEditingOnEsc",bindKey:{win:"Esc",mac:"Esc"},exec:this.onEscToExit},...f]},g)))}}r()(EuiCodeEditor,"defaultProps",{setOptions:{showLineNumbers:!1,tabSize:2}}),e.default=EuiCodeEditor}}]);