var t,e;t=void 0,e=function(){var t={setEventEmitter(t,e){return void 0===e&&(e=Phaser.Events.EventEmitter),this._privateEE=!0===t||void 0===t,this._eventEmitter=this._privateEE?new e:t,this},destroyEventEmitter(){return this._eventEmitter&&this._privateEE&&this._eventEmitter.shutdown(),this},getEventEmitter(){return this._eventEmitter},on(){return this._eventEmitter&&this._eventEmitter.on.apply(this._eventEmitter,arguments),this},once(){return this._eventEmitter&&this._eventEmitter.once.apply(this._eventEmitter,arguments),this},off(){return this._eventEmitter&&this._eventEmitter.off.apply(this._eventEmitter,arguments),this},emit(t){return this._eventEmitter&&t&&this._eventEmitter.emit.apply(this._eventEmitter,arguments),this},addListener(){return this._eventEmitter&&this._eventEmitter.addListener.apply(this._eventEmitter,arguments),this},removeListener(){return this._eventEmitter&&this._eventEmitter.removeListener.apply(this._eventEmitter,arguments),this},removeAllListeners(){return this._eventEmitter&&this._eventEmitter.removeAllListeners.apply(this._eventEmitter,arguments),this},listenerCount(){return this._eventEmitter?this._eventEmitter.listenerCount.apply(this._eventEmitter,arguments):0},listeners(){return this._eventEmitter?this._eventEmitter.listeners.apply(this._eventEmitter,arguments):[]},eventNames(){return this._eventEmitter?this._eventEmitter.eventNames.apply(this._eventEmitter,arguments):[]}};const e=Phaser.Scene;var i=function(t){return t instanceof e};const n=Phaser.Game;var s=function(t){return t instanceof n};const o=Phaser.Utils.Objects.GetValue;class r{constructor(t,e){this.setParent(t),this.isShutdown=!1,this.setEventEmitter(o(e,"eventEmitter",!0)),this.parent&&(this.parent===this.scene?this.scene.sys.events.once("shutdown",this.onEnvDestroy,this):this.parent===this.game?this.game.events.once("shutdown",this.onEnvDestroy,this):this.parent.once&&this.parent.once("destroy",this.onParentDestroy,this))}shutdown(t){this.isShutdown||(this.parent&&(this.parent===this.scene?this.scene.sys.events.off("shutdown",this.onEnvDestroy,this):this.parent===this.game?this.game.events.off("shutdown",this.onEnvDestroy,this):this.parent.once&&this.parent.off("destroy",this.onParentDestroy,this)),this.destroyEventEmitter(),this.parent=void 0,this.scene=void 0,this.game=void 0,this.isShutdown=!0)}destroy(t){this.shutdown(t)}onEnvDestroy(){this.destroy(!0)}onParentDestroy(t,e){this.destroy(e)}setParent(t){var e;return this.parent=t,this.scene=null==(e=t)||"object"!=typeof e?null:i(e)?e:e.scene&&i(e.scene)?e.scene:e.parent&&e.parent.scene&&i(e.parent.scene)?e.parent.scene:null,this.game=function(t){return null==t||"object"!=typeof t?null:s(t)?t:s(t.game)?t.game:i(t)?t.sys.game:i(t.scene)?t.scene.sys.game:void 0}(t),this}}Object.assign(r.prototype,t);var h=void 0;const a={id:["id",void 0],text:["value",void 0],maxLength:["maxLength",void 0],minLength:["minLength",void 0],placeholder:["placeholder",void 0],tooltip:["title",void 0],readOnly:["readOnly",!1],spellCheck:["spellcheck",!1],autoComplete:["autocomplete","off"]},l={align:["textAlign",void 0],paddingLeft:["padding-left",void 0],paddingRight:["padding-right",void 0],paddingTop:["padding-top",void 0],paddingBottom:["padding-bottom",void 0],fontFamily:["fontFamily",void 0],fontSize:["font-size",void 0],color:["color","#ffffff"],backgroundColor:["backgroundColor","transparent"],border:["border",0],borderColor:["borderColor","transparent"],borderRadius:["border-radius",void 0],outline:["outline","none"],direction:["direction",void 0]},d={input:"textchange",click:"click",dblclick:"dblclick",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",keydown:"keydown",keyup:"keyup",keypress:"keypress",compositionstart:"compositionStart",compositionend:"compositionEnd",compositionupdate:"compositionUpdate",focus:"focus",blur:"blur",select:"select"},c=Phaser.Utils.Objects.GetValue;var u=function(t,e,i){var n,s;for(var o in void 0===i&&(i={}),t)n=t[o],void 0!==(s=c(e,o,n[1]))&&(i[n[0]]=s);return i};const p=Phaser.Utils.Objects.GetValue;var v=function(t){t.stopPropagation()};const m=Phaser.GameObjects.DOMElement,g=Phaser.Utils.Objects.IsPlainObject,f=Phaser.Utils.Objects.GetValue;class y extends m{constructor(t,e,i,n,s,o){var r;g(e)?(e=f(o=e,"x",0),i=f(o,"y",0),n=f(o,"width",0),s=f(o,"height",0)):g(n)&&(n=f(o=n,"width",0),s=f(o,"height",0)),void 0===o&&(o={});var h=f(o,"inputType",void 0);void 0===h&&(h=f(o,"type","text")),"textarea"===h?(r=document.createElement("textarea")).style.resize="none":(r=document.createElement("input")).type=h,u(a,o,r);var c=f(o,"style",void 0);c=u(l,o,c);var m=r.style;for(var y in o)y in a||y in l||y in m&&(c[y]=o[y]);c["box-sizing"]="border-box",super(t,e,i,r,c),this.type="rexInputText",this.resize(n,s),function(t,e,i,n){var s=p(n,"preventDefault",!1),o=p(n,"preTest");for(let n in i)e.addEventListener(n,(function(e){o&&!o(t,n)||t.emit(i[n],t,e),s&&e.preventDefault()}))}(this,r,d),function(t){t.addEventListener("touchstart",v,!1),t.addEventListener("touchmove",v,!1),t.addEventListener("touchend",v,!1),t.addEventListener("mousedown",v,!1),t.addEventListener("mouseup",v,!1),t.addEventListener("mousemove",v,!1)}(r),f(o,"selectAll",!1)&&this.selectAll(),this._isFocused=!1,this.on("focus",(function(){this._isFocused=!0}),this).on("blur",(function(){this._isFocused=!1}),this)}get inputType(){return"textarea"===this.node.tagName.toLowerCase()?"textarea":this.node.type}get text(){return this.node.value}set text(t){this.node.value=t}setText(t){return this.text=t,this}get maxLength(){return this.node.maxLength}set maxLength(t){this.node.maxLength=t}setMaxLength(t){return this.maxLength=t,this}get minLength(){return this.node.minLength}set minLength(t){this.node.minLength=t}setMinLength(t){return this.minLength=t,this}get placeholder(){return this.node.placeholder}set placeholder(t){this.node.placeholder=t}setPlaceholder(t){return this.placeholder=t,this}selectText(t,e){return void 0===t?this.node.select():this.node.setSelectionRange(t,e),this}selectAll(){return this.selectText(),this}get selectionStart(){return this.node.selectionStart}get selectionEnd(){return this.node.selectionEnd}get selectedText(){var t=this.node;return t.value.substring(t.selectionStart,t.selectionEnd)}get cursorPosition(){return this.node.selectionStart}set cursorPosition(t){this.node.setSelectionRange(t,t)}setCursorPosition(t){return void 0===t?t=this.text.length:t<0&&(t=this.text.length+t),this.cursorPosition=t,this}get tooltip(){return this.node.title}set tooltip(t){this.node.title=t}setTooltip(t){return this.tooltip=t,this}setTextChangedCallback(t){return this.onTextChanged=t,this}get readOnly(){return this.node.readOnly}set readOnly(t){this.node.readOnly=t}setReadOnly(t){return void 0===t&&(t=!0),this.readOnly=t,this}get spellCheck(){return this.node.spellcheck}set spellCheck(t){this.node.spellcheck=t}setSpellCheck(t){return this.spellCheck=t,this}get fontColor(){return this.node.style.color}set fontColor(t){this.node.style.color=t}setFontColor(t){return this.fontColor=t,this}setStyle(t,e){return this.node.style[t]=e,this}getStyle(t){return this.node.style[t]}scrollToBottom(){return this.node.scrollTop=this.node.scrollHeight,this}setEnabled(t){return void 0===t&&(t=!0),this.node.disabled=!t,this}setBlur(){return this.node.blur(),this}setFocus(){return this.node.focus(),this}get isFocused(){return this._isFocused}}var E={resize:function(t,e){if(this.scene.sys.scale.autoRound&&(t=Math.floor(t),e=Math.floor(e)),this.width===t&&this.height===e)return this;var i=this.node.style;return i.width=`${t}px`,i.height=`${e}px`,this.updateSize(),this}};Object.assign(y.prototype,E);const x=Phaser.GameObjects.Text,b=Phaser.Utils.Objects.GetValue,C=Phaser.Utils.Objects.Clone;var _=function(t,e){void 0===e&&(e={}),e=C(e);var i=t.scene,n=t.style,s=b(e,"backgroundColor",n.backgroundColor);null===s&&(s="transparent"),e.text=b(e,"text",t.text),e.fontFamily=b(e,"fontFamily",n.fontFamily),e.fontSize=b(e,"fontSize",n.fontSize),e.color=b(e,"color",n.color),e.backgroundColor=s,e.direction=b(e,"rtl",n.rtl)?"rtl":"ltr",e.align=b(e,"align",w(n)),"rtl"===e.direction&&t instanceof x&&(e.align="right");var o=t.padding;o.left>0&&(e.paddingLeft=`${o.left}px`),o.right>0&&(e.paddingRight=`${o.right}px`),n.backgroundCornerRadius&&(e.borderRadius=b(e,"borderRadius",`${n.backgroundCornerRadius}px`));var r=new y(i,t.x,t.y,b(e,"width",t.width),b(e,"height",t.height),e);r.setScale(t.scaleX,t.scaleY).setOrigin(t.originX,t.originY).setScrollFactor(t.scrollFactorX,t.scrollFactorY);var h=t.parentContainer;return h?h.add(r):i.add.existing(r),r},w=function(t){return t.hasOwnProperty("align")?t.align:t.hasOwnProperty("halign")?t.halign:"left"};const O=Phaser.Utils.Objects.GetValue,k=Phaser.Utils.Objects.Merge;var L={open:function(t,e){var i,n;void 0===t&&(t={}),t=k(t,this.openConfig),(i=this)!==h&&(void 0!==h&&h.close(),h=i),(n=t)&&"function"==typeof n&&(e=t,t=void 0);var s=O(t,"inputType",void 0);void 0===s&&(s=O(t,"type","text")),void 0===e&&(e=O(t,"onClose",void 0));var o=O(t,"onOpen",void 0),r=O(t,"onTextChanged",void 0);return this.inputText=_(this.parent,t).on("textchange",(function(t){var e=t.text;r?r(this.parent,e):this.parent.text=e}),this).setFocus(),this.parent.setVisible(!1),this.onClose=e,O(t,"enterClose","textarea"!==s)&&this.scene.input.keyboard.once("keydown-ENTER",this.close,this),this.delayCall=function(t,e,i){return t.time.delayedCall(0,e,[],i)}(this.scene,(function(){this.scene.input.once("pointerdown",this.close,this),o&&o(this.parent),this.emit("open",this.parent)}),this),this},close:function(){return this===h&&(h=void 0),this.parent.setVisible(!0),this.inputText&&(this.inputText.destroy(),this.inputText=void 0),this.delayCall&&(this.delayCall.remove(),this.delayCall=void 0),this.scene.input.keyboard.off("keydown-ENTER",this.close,this),this.scene.input.off("pointerdown",this.close,this),this.onClose&&this.onClose(this.parent),this.emit("close",this.parent),this}};const P=Phaser.Utils.Objects.GetValue;class T extends r{constructor(t,e){super(t),this.inputText=void 0,this.onClose=void 0,this.delayCall=void 0,this.setOpenConfig(e),P(e,"clickEnable",!0)&&t.on("pointerdown",(function(){this.open()}),this).setInteractive()}shutdown(t){this.isShutdown||(this.close(),super.shutdown(t))}setOpenConfig(t){return void 0===t&&(t={}),this.openConfig=t,this}get isOpened(){return void 0!==this.inputText}get text(){return this.isOpened?this.inputText.text:this.parent.text}}Object.assign(T.prototype,L);class S extends Phaser.Plugins.BasePlugin{constructor(t){super(t)}start(){this.game.events.on("destroy",this.destroy,this)}add(t,e){return new T(t,e)}}var j={edit:function(t,e,i){return t._edit||(t._edit=new T(t,{clickEnable:!1})),t._edit.open(e,i),t._edit}};return Object.assign(S.prototype,j),S},"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).rextexteditplugin=e();