/*! App Connect Bootbox (bs5) Version: 2.0.0 (c) 2024 Wappler.io @build 2024-04-15 17:48:46 */ dmx.bootbox=dmx.bootbox||{},dmx.bootbox.convertOptions=function(e,o="alert"){const t={backdrop:"static",body:e.message,center:1==e.centerVertical,fade:!1!==e.animate,keyboard:!1!==e.onEscape,scrollable:!0===e.scrollable,showHeaderClose:!1!==e.closeButton,size:e.size,swapButtonOrder:!0===e.swapButtonOrder,title:e.title};if(!0===e.backdrop||"true"===e.backdrop?t.backdrop=!0:!1!==e.backdrop&&"false"!==e.backdrop||(t.backdrop=!1),e.buttons)switch(o){case"alert":e.buttons.ok&&(t.closeButton=dmx.bootbox.convertButtonOptions(e.buttons.ok));break;case"confirm":case"prompt":e.buttons.confirm&&(t.okButton=dmx.bootbox.convertButtonOptions(e.buttons.confirm)),e.buttons.cancel&&(t.closeButton=dmx.bootbox.convertButtonOptions(e.buttons.cancel))}if("prompt"===o){switch(e.inputType){case"select":t.input=`\n \n `;break;case"checkbox":case"radio":t.input=e.inputOptions.map(((o,t)=>`\n
\n \n \n
\n `)).join("");break;case"textarea":t.input=`\n \n ${e.value||""}\n \n `;break;default:t.input=`\n \n `}t.body=`\n ${e.message?`

${e.message}

`:""}\n ${t.input}\n `.trim()}return t},dmx.bootbox.convertButtonOptions=function(e){const o={};return e.label&&(o.label=e.label),e.className&&(o.style=e.className.slice(4)),o},dmx.Actions({"bootbox.alert":function(e){return modbox.alert(dmx.bootbox.convertOptions(this.parse(e)))},"bootbox.info":function(e){return modbox.info(dmx.bootbox.convertOptions(this.parse(e)))},"bootbox.success":function(e){return modbox.success(dmx.bootbox.convertOptions(this.parse(e)))},"bootbox.warning":function(e){return modbox.warning(dmx.bootbox.convertOptions(this.parse(e)))},"bootbox.danger":function(e){return modbox.danger(dmx.bootbox.convertOptions(this.parse(e)))},"bootbox.confirm":function(e){const o={then:(e=Object.assign({},e)).then,else:e.else};return delete e.then,delete e.else,modbox.confirm(dmx.bootbox.convertOptions(this.parse(e),"confirm")).then((()=>!o.then||this._exec(o.then).then((()=>!0)))).catch((e=>(e&&console.error(e),!!o.else&&this._exec(o.else).then((()=>!1)))))},"bootbox.prompt":function(e){const o=dmx.extend(!0,{okButton:{label:"OK",style:"primary"},closeButton:{label:"Close",style:"secondary"}},dmx.bootbox.convertOptions(this.parse(e),"prompt"),{destroyOnClose:!0,defaultButton:!1,button:[]});return new Promise((e=>{const t=new modbox(o),n=t.modalEl.querySelector("input,select,textarea");"radio"==n.type&&(n.checked=!0),o.okButton.close=!1,o.okButton.callback=()=>{if(!n||n.reportValidity()){if("SELECT"==n.nodeName&&n.multiple)e(Array.from(n.selectedOptions).map((e=>e.value)));else if("checkbox"==n.type){const o=t.modalEl.querySelectorAll("input:checked");e(Array.from(o).map((e=>e.value)))}else if("radio"==n.type){const o=t.modalEl.querySelector("input:checked");e(o.value)}else e(n.value);t.hide()}};const r=t.addButton(o.okButton);t.addButton(o.closeButton);n&&"INPUT"==n.nodeName&&n.addEventListener("keyup",(e=>{"Enter"==e.key&&r.click()})),t.addEvent("hide",(()=>e(null))),t.show()}))}}),dmx.Component("bootbox",{methods:{alert:e=>modbox.alert(dmx.bootbox.convertOptions(e)),info:e=>modbox.info(dmx.bootbox.convertOptions(e)),success:e=>modbox.success(dmx.bootbox.convertOptions(e)),warning:e=>modbox.warning(dmx.bootbox.convertOptions(e)),danger:e=>modbox.danger(dmx.bootbox.convertOptions(e))}}); //# sourceMappingURL=dmxBootbox5.js.map