openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
42 lines • 2.83 kB
JavaScript
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{Eo as t,Oo as n}from"./control-ui-core-Rwzhj6nO.js";import{J as r,K as i,X as a,q as o}from"./lit-runtime-CV_MH99K.js";import{Rt as s,Yt as c,en as l}from"./control-ui-core-vvcQQV2m.js";function u(e){if(e.signal?.aborted)return Promise.resolve(null);let n=document.createElement(`div`);return document.body.append(n),new Promise(i=>{let s=!1,c=!1,u=null,d=t=>e.requireValue===!0?t.trim():t,f=t=>{let n=d(t);return e.requireValue===!0&&n.length===0||e.requireChange===!0&&n===(e.defaultValue??``)},p=f(e.defaultValue??``),m=t=>{s||(s=!0,e.signal?.removeEventListener(`abort`,h),r(o,n),n.remove(),i(t))},h=()=>m(null),g=()=>n.querySelector(`input[name="value"]`),_=e=>{let t=f(e.target.value);t!==p&&(p=t,x())};async function v(n){if(n.preventDefault(),c)return;let r=g()?.value;if(r===void 0||f(r))return;let i=d(r);if(!e.submit){m(i);return}c=!0,u=null,x();let a;try{a=await e.submit(i)}catch(e){a=t(e)}if(!s){if(c=!1,a===null){m(i);return}u=a,x(),g()?.focus()}}function y(e){if(c){e.preventDefault();return}m(null)}e.signal?.addEventListener(`abort`,h,{once:!0});let b=e.label??e.title;function x(){r(a`
<openclaw-modal-dialog
label=${e.title}
description=${b}
@modal-cancel=${y}
>
<form class="exec-approval-card" @submit=${v}>
<div class="exec-approval-header">
<div class="exec-approval-title">${e.title}</div>
</div>
<label class="field input-dialog__field">
<span>${b}</span>
<input
name="value"
type="text"
autocomplete="off"
spellcheck="false"
.value=${e.defaultValue??``}
?disabled=${c}
aria-invalid=${u?`true`:o}
@input=${_}
autofocus
/>
</label>
${u?a`<div class="exec-approval-error" role="alert">${u}</div>`:o}
<div class="exec-approval-actions">
<button type="submit" class="btn primary" ?disabled=${c||p}>
${e.submitLabel??l(`common.save`)}
</button>
<button
type="button"
class="btn"
?disabled=${c}
@click=${()=>m(null)}
>
${e.cancelLabel??l(`common.cancel`)}
</button>
</div>
</form>
</openclaw-modal-dialog>
`,n)}x()})}function d(e){return f?Promise.resolve(null):(f=!0,u(e).finally(()=>{f=!1}))}var f;function p(){return(p=e((()=>{i(),c(),n(),s(),f=!1})))()}p();export{d as showInputDialog};
//# sourceMappingURL=input-dialog-C6w2KAqY.js.map