UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

42 lines 2.83 kB
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