bi-components-library 1.0.20 → 1.0.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bi-components-library.css +1 -1
- package/dist/index.es.js +1 -1
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
package/dist/index.umd.js
CHANGED
|
@@ -303,7 +303,7 @@ Learn more: https://react.dev/warnings/version-mismatch`))}(),typeof Map=="funct
|
|
|
303
303
|
You might need to use a local HTTP server (instead of file://): https://react.dev/link/react-devtools-faq`:""),"font-weight:bold")}pm.createRoot=function(e,t){if(!A(e))throw Error("Target container is not a DOM element.");M0(e);var a=!1,i="",c=Pm,h=r0,E=op,x=null;return t!=null&&(t.hydrate?console.warn("hydrate through createRoot is deprecated. Use ReactDOMClient.hydrateRoot(container, <App />) instead."):typeof t=="object"&&t!==null&&t.$$typeof===Iu&&console.error(`You passed a JSX element to createRoot. You probably meant to call root.render instead. Example usage:
|
|
304
304
|
|
|
305
305
|
let root = createRoot(domContainer);
|
|
306
|
-
root.render(<App />);`),t.unstable_strictMode===!0&&(a=!0),t.identifierPrefix!==void 0&&(i=t.identifierPrefix),t.onUncaughtError!==void 0&&(c=t.onUncaughtError),t.onCaughtError!==void 0&&(h=t.onCaughtError),t.onRecoverableError!==void 0&&(E=t.onRecoverableError),t.unstable_transitionCallbacks!==void 0&&(x=t.unstable_transitionCallbacks)),t=Yv(e,1,!1,null,null,a,i,c,h,E,x,null),e[no]=t.current,Ov(e),new th(t)},pm.hydrateRoot=function(e,t,a){if(!A(e))throw Error("Target container is not a DOM element.");M0(e),t===void 0&&console.error("Must provide initial children as second argument to hydrateRoot. Example usage: hydrateRoot(domContainer, <App />)");var i=!1,c="",h=Pm,E=r0,x=op,N=null,j=null;return a!=null&&(a.unstable_strictMode===!0&&(i=!0),a.identifierPrefix!==void 0&&(c=a.identifierPrefix),a.onUncaughtError!==void 0&&(h=a.onUncaughtError),a.onCaughtError!==void 0&&(E=a.onCaughtError),a.onRecoverableError!==void 0&&(x=a.onRecoverableError),a.unstable_transitionCallbacks!==void 0&&(N=a.unstable_transitionCallbacks),a.formState!==void 0&&(j=a.formState)),t=Yv(e,1,!0,t,a??null,i,c,h,E,x,N,j),t.context=$v(null),a=t.current,i=ml(a),i=Xe(i),c=Kr(i),c.callback=null,Tr(a,c,i),a=i,t.current.lanes=a,Ze(t,a),tr(t),e[no]=t.current,Ov(e),new $f(t)},pm.version="19.1.1",typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),pm}var X2;function bR(){if(X2)return Vg.exports;X2=1;function u(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function")){if(process.env.NODE_ENV!=="production")throw new Error("^_^");try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(u)}catch(f){console.error(f)}}}return process.env.NODE_ENV==="production"?(u(),Vg.exports=yR()):Vg.exports=gR(),Vg.exports}var SR=bR();function fE(u,f,d){if(!u.current)return;const s=new Set,p={};for(const w of f)w.exclusionGroup&&w.exclusionGroup!=="separator"&&(s.add(w.exclusionGroup),p[w.exclusionGroup]||(p[w.exclusionGroup]=[]),p[w.exclusionGroup].push({type:w.type,key:w.key,exclusionGroup:w.exclusionGroup}));const b={};for(const w of s){b[w]=!1;for(const q of p[w])if(q.type==="upload"&&q.key){if(d[q.key]!==null&&d[q.key]!==void 0){b[w]=!0;break}}else if(q.type==="variable"&&q.key){const U=u.current.querySelector(`[data-type="variable"][data-key="${q.key}"]`);if(U&&U.innerText.replace(/[\u200B\n]/g,"").trim().length>0){b[w]=!0;break}}}const T=f.some(w=>w.exclusionGroup==="separator"),S=Object.keys(b).filter(w=>b[w]).length>0;let y=null;if(S&&T){for(const w of f)if(w.exclusionGroup&&w.exclusionGroup!=="separator"&&b[w.exclusionGroup]){y=w.exclusionGroup;break}}for(const w of s){const q=u.current.querySelectorAll(`[data-group="${w}"]`);T&&S&&y?w===y?q.forEach(U=>{U.classList.contains("required-upload-group")?U.style.setProperty("display","inline-flex","important"):(U.classList.contains("exclusion-wrapper"),U.style.setProperty("display","inline-block","important"))}):q.forEach(U=>{U.style.display="none",U.style.setProperty("display","none","important")}):q.forEach(U=>{U.classList.contains("required-upload-group")?U.style.setProperty("display","inline-flex","important"):(U.classList.contains("exclusion-wrapper"),U.style.setProperty("display","inline-block","important"))})}u.current.querySelectorAll('[data-group="separator"]').forEach(w=>{w.style.display=S?"none":"inline"})}function dE(u,f,d,s){if(!u.current){s(!1);return}const p=[];for(let S=0;S<f.length;S++){const y=f[S];if((y.type==="variable"||y.type==="upload"||y.type==="multi-variable"||y.type==="select"||y.type==="textarea"||y.type==="richtext"||y.type==="datepicker")&&y.required&&y.key){p.push({exclusionGroup:y.exclusionGroup||"",key:y.key,type:y.type==="multi-variable"?"variable":y.type,isMultiVariable:y.type==="multi-variable",minCount:y.type==="multi-variable"?y.minCount:void 0});continue}if(y.type==="text"&&y.className?.includes("rte-text-required")&&y.exclusionGroup)for(let C=S+1;C<f.length;C++){const w=f[C];if(w.exclusionGroup===y.exclusionGroup&&(w.type==="variable"||w.type==="upload"||w.type==="select"||w.type==="textarea"||w.type==="richtext"||w.type==="datepicker")&&w.key){p.push({exclusionGroup:y.exclusionGroup,key:w.key,type:w.type});break}}}const b=f.some(S=>S.exclusionGroup==="separator");let T=!1;if(b&&p.length>1){const S=f.findIndex(w=>w.exclusionGroup==="separator"),y=p.filter(w=>f.findIndex(U=>(U.type==="variable"||U.type==="upload"||U.type==="select"||U.type==="textarea"||U.type==="richtext"||U.type==="datepicker")&&U.key===w.key&&U.exclusionGroup===w.exclusionGroup)<S),C=p.filter(w=>f.findIndex(U=>(U.type==="variable"||U.type==="upload"||U.type==="select"||U.type==="textarea"||U.type==="richtext")&&U.key===w.key&&U.exclusionGroup===w.exclusionGroup)>S);T=y.length>0&&C.length>0}if(p.length===0){if(f.length===0){if(!u.current){s(!1);return}const S=u.current.textContent?.replace(/[\u200B\n]/g,"").trim()||"";s(S.length>0);return}s(!0);return}const g=p.filter(S=>{if(!u.current)return!1;if(S.exclusionGroup){const y=u.current.querySelectorAll(`[data-group="${S.exclusionGroup}"]`);if(y.length>0)return y[0].style.display!=="none"}if(S.type==="upload"&&S.key){const y=u.current.querySelector(`[data-type="upload"][data-key="${S.key}"]`);if(y){const C=y.closest("[data-group]")||y.parentElement;return C?C.style.display!=="none":!0}}else if(S.type==="variable"&&S.key)if(S.isMultiVariable){const y=u.current.querySelectorAll(`[data-type="variable"][data-multi-key="${S.key}"]`);if(y.length>0){const C=y[0],w=C.closest("[data-group]")||C.parentElement;return w?w.style.display!=="none":!0}}else{const y=u.current.querySelector(`[data-type="variable"][data-key="${S.key}"]`);if(y){const C=y.closest("[data-group]")||y.parentElement;return C?C.style.display!=="none":!0}}else if(S.type==="select"&&S.key){const y=u.current.querySelector(`[data-type="select"][data-key="${S.key}"]`);if(y){const C=y.closest("[data-group]")||y.parentElement;return C?C.style.display!=="none":!0}}else if(S.type==="textarea"&&S.key){const y=u.current.querySelector(`[data-type="textarea"][data-key="${S.key}"]`);if(y){const C=y.closest("[data-group]")||y.parentElement;return C?C.style.display!=="none":!0}}else if(S.type==="richtext"&&S.key){const y=u.current.querySelector(`[data-type="richtext"][data-key="${S.key}"]`);if(y){const C=y.closest("[data-group]")||y.parentElement;return C?C.style.display!=="none":!0}}else if(S.type==="datepicker"&&S.key){const y=u.current.querySelector(`[data-type="datepicker"][data-key="${S.key}"]`);if(y){const C=y.closest("[data-group]")||y.parentElement;return C?C.style.display!=="none":!0}}return!1});if(g.length===0){s(!0);return}if(T){let S=!1;for(const y of g)if(y.type==="upload"&&y.key){if(d[y.key]!==null&&d[y.key]!==void 0){S=!0;break}}else if(y.type==="variable"&&y.key)if(y.isMultiVariable){const C=u.current.querySelectorAll(`[data-type="variable"][data-multi-key="${y.key}"]`);let w=0;for(const U of Array.from(C))U.innerText.replace(/[\u200B\n]/g,"").trim().length>0&&(w+=1);const q=y.minCount&&y.minCount>0?y.minCount:1;if(w>=q){S=!0;break}}else{const C=u.current.querySelector(`[data-type="variable"][data-key="${y.key}"]`);if(C&&C.innerText.replace(/[\u200B\n]/g,"").trim().length>0){S=!0;break}}else if(y.type==="select"&&y.key){const C=u.current.querySelector(`[data-type="select"][data-key="${y.key}"]`);if(C&&(C.value||"").trim().length>0){S=!0;break}}else if(y.type==="textarea"&&y.key){const C=u.current.querySelector(`[data-type="textarea"][data-key="${y.key}"]`);if(C&&(C.value||"").trim().length>0){S=!0;break}}else if(y.type==="richtext"&&y.key){const C=u.current.querySelector(`[data-type="richtext"][data-key="${y.key}"]`);if(C&&(C.textContent||"").replace(/[\u200B]/g,"").trim().length>0){S=!0;break}}else if(y.type==="datepicker"&&y.key){const C=u.current.querySelector(`[data-type="datepicker"][data-key="${y.key}"]`);if(C&&(C.getAttribute("data-value")||"").trim().length>0){S=!0;break}}s(S)}else{let S=!0;for(const y of g)if(y.type==="upload"&&y.key){if(d[y.key]===null||d[y.key]===void 0){S=!1;break}}else if(y.type==="variable"&&y.key)if(y.isMultiVariable){const C=u.current.querySelectorAll(`[data-type="variable"][data-multi-key="${y.key}"]`);let w=0;for(const U of Array.from(C))U.innerText.replace(/[\u200B\n]/g,"").trim().length>0&&(w+=1);const q=y.minCount&&y.minCount>0?y.minCount:1;if(w<q){S=!1;break}}else{const C=u.current.querySelector(`[data-type="variable"][data-key="${y.key}"]`);if(!C){S=!1;break}if(C.innerText.replace(/[\u200B\n]/g,"").trim().length===0){S=!1;break}}else if(y.type==="select"&&y.key){const C=u.current.querySelector(`[data-type="select"][data-key="${y.key}"]`);if(!C||(C.value||"").trim().length===0){S=!1;break}}else if(y.type==="textarea"&&y.key){const C=u.current.querySelector(`[data-type="textarea"][data-key="${y.key}"]`);if(!C||(C.value||"").trim().length===0){S=!1;break}}else if(y.type==="richtext"&&y.key){const C=u.current.querySelector(`[data-type="richtext"][data-key="${y.key}"]`);if(!C||(C.textContent||"").replace(/[\u200B]/g,"").trim().length===0){S=!1;break}}else if(y.type==="datepicker"&&y.key){const C=u.current.querySelector(`[data-type="datepicker"][data-key="${y.key}"]`);if(!C||(C.getAttribute("data-value")||"").trim().length===0){S=!1;break}}s(S)}}function pE(u,f){if(!u.current)return;u.current.querySelectorAll('[data-type="variable"]').forEach(s=>{const p=s.innerText.replace(/\n/g,"");p.replace(/\u200B/g,"")?s.classList.remove("show-placeholder"):(p!==""&&(s.innerText=""),s.classList.add("show-placeholder"))})}function ER(u,f,d,s,p,b={},T){if(!u.current)return;let g="",S=0;for(;S<f.length;){const y=f[S],C=S+1<f.length?f[S+1]:null;if(y.type==="text"&&(y.text?.includes("icon-bitian")||y.className==="rte-text-required")&&C){const A=C.type==="upload"&&C.exclusionGroup==="fileInput"&&y.exclusionGroup==="fileInput"&&y.exclusionGroup===C.exclusionGroup,L=C.type==="variable"&&C.exclusionGroup==="textInput"&&y.exclusionGroup==="textInput"&&y.exclusionGroup===C.exclusionGroup;if(A){const P=`<span ${y.exclusionGroup?`data-group="${y.exclusionGroup}"`:""} class="exclusion-wrapper required-upload-group">`,Q="</span>";let V="";y.className?V=`<span class="${y.className}">${y.text??""}</span>`:V=y.text??"";const J=C,ne=d[J.key]!==null&&d[J.key]!==void 0,ie=ne?d[J.key]:null,W=ne?d[J.key]?.name:J.text,me=ne?"":"hidden",ae=J.tooltip&&!ne?"":"hidden",Te=ne?"has-file":"",ce=ne&&W?` data-file-name="${W.replace(/"/g,""")}"`:"";let te="";ne&&ie&&(ie.type?.startsWith("image/")?te=`<img class="upload-icon-img upload-icon-preview" src="${URL.createObjectURL(ie)}" alt="preview" />`:te="<i class='iconfont icon-exlwenjian'></i>");const Z=`<span contenteditable="false" data-type="upload" data-key="${J.key}" class="upload-chip"><span class="upload-inner-wrapper ${Te}"><span class="upload-icon">${te}</span><span class="upload-label"${ce}>${W||J.text}</span>${J.tooltip?`<i contenteditable="false" class="iconfont icon-tishi upload-info-icon ${ae}" data-upload-key="${J.key}" data-tooltip="${J.tooltip}" title="提示"></i>`:""}<span class="file-remove-btn ${me}" title="移除文件">×</span></span></span>`;g+=P+V+Z+Q,S+=2;continue}if(L){const P=`<span ${y.exclusionGroup?`data-group="${y.exclusionGroup}"`:""} class="exclusion-wrapper required-upload-group">`,Q="</span>";let V="";y.className?V=`<span class="${y.className}">${y.text??""}</span>`:V=y.text??"";const J=C,ie=(J.key?p[J.key]:void 0)||J.text||"",W=!ie,me=W?"":ie,ae=W?"show-placeholder":"",Te=J.exclusionGroup?` data-group="${J.exclusionGroup}"`:"",ce=J.tooltip?` data-tooltip="${J.tooltip.replace(/"/g,""")}" data-variable-key="${J.key||""}"`:"",te=J.tooltip&&W?"":"hidden",Z=`<span contenteditable="true" data-type="variable" data-key="${J.key}" data-placeholder="${J.placeholder||""}"${Te}${ce} class="variable-chip ${ae}">${me}${J.tooltip?`<i contenteditable="false" class="iconfont icon-tishi variable-info-icon ${te}" data-variable-key="${J.key}" data-tooltip="${J.tooltip.replace(/"/g,""")}" title="提示"></i>`:""}</span>`;g+=P+V+Z+Q,S+=2;continue}}const q=y.exclusionGroup?`data-group="${y.exclusionGroup}"`:"",U=y.exclusionGroup?`<span ${q} class="exclusion-wrapper">`:"",R=y.exclusionGroup?"</span>":"";let H="";if(y.type==="tag"){const L=s||T==="hideTagClose"?"":'<span class="tag-close-btn" title="Clear (ESC)"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6L6 18M6 6l12 12"/></svg></span>',B=s?' data-locked="true"':"",P=y.tooltip?` data-tooltip="${y.tooltip.replace(/"/g,""")}" data-tag-key="${y.key||""}"`:"";H=`<span contenteditable="false" class="tag-node group"${B}${P}><span class="tag-label">${y.text}</span>${L}</span>`}else if(y.type==="text"){const A=s?' data-locked="true" contenteditable="false"':' contenteditable="false"',B=(y.text??"").replace(/\n/g,"<br/>");y.className?H=`<span class="${y.className}"${A}>${B}</span>`:H=s?`<span${A}>${B}</span>`:`<span contenteditable="false">${B}</span>`}else if(y.type==="variable"&&y.key){const L=p[y.key]||y.text||"",B=!L,P=B?"":L,Q=B?"show-placeholder":"",V=y.exclusionGroup?` data-group="${y.exclusionGroup}"`:"",J=y.tooltip?` data-tooltip="${y.tooltip.replace(/"/g,""")}" data-variable-key="${y.key||""}"`:"",ne=y.tooltip&&B?"":"hidden",ie=`<span contenteditable="true" data-type="variable" data-key="${y.key}" data-placeholder="${y.placeholder||""}"${V}${J} class="variable-chip ${Q}">${P}${y.tooltip?`<i contenteditable="false" class="iconfont icon-tishi variable-info-icon ${ne}" data-variable-key="${y.key}" data-tooltip="${y.tooltip.replace(/"/g,""")}" title="提示"></i>`:""}</span>`;y.required?H=`<span ${y.exclusionGroup?`data-group="${y.exclusionGroup}"`:""} class="exclusion-wrapper required-upload-group"><span class="rte-text-required"><i class='iconfont icon-bitian' style='font-size: 10px;'></i></span>${ie}</span>`:H=ie}else if(y.type==="upload"&&y.key){const A=d[y.key]!==null&&d[y.key]!==void 0,L=A?d[y.key]:null,B=A?d[y.key]?.name:y.text,P=A?"":"hidden",Q=y.tooltip&&!A?"":"hidden",V=A?"has-file":"",J=A&&B?` data-file-name="${B.replace(/"/g,""")}"`:"";let ne="";A&&L&&(L.type?.startsWith("image/")?ne=`<img class="upload-icon-img upload-icon-preview" src="${URL.createObjectURL(L)}" alt="preview" />`:ne="<i class='iconfont icon-exlwenjian'></i>");const ie=`<span contenteditable="false" data-type="upload" data-key="${y.key}" class="upload-chip"><span class="upload-inner-wrapper ${V}"><span class="upload-icon">${ne}</span><span class="upload-label"${J}>${B||y.text}</span>${y.tooltip?`<i contenteditable="false" class="iconfont icon-tishi upload-info-icon ${Q}" data-upload-key="${y.key}" data-tooltip="${y.tooltip}" title="提示"></i>`:""}<span class="file-remove-btn ${P}" title="移除文件">×</span></span></span>`;y.required?H=`<span ${y.exclusionGroup?`data-group="${y.exclusionGroup}"`:""} class="exclusion-wrapper required-upload-group"><span class="rte-text-required"><i class='iconfont icon-bitian' style='font-size: 10px;'></i></span>${ie}</span>`:H=ie}else if(y.type==="select"&&y.key){const A=p[y.key]||"",L=(y.options||[]).map(Q=>{const V=A===Q.value?"selected":"";return`<option value="${Q.value}" ${V}>${Q.label}</option>`}).join(""),B=y.placeholder?`<option value="" ${A?"":"selected"} disabled hidden>${y.placeholder}</option>`:"",P=`<select data-type="select" data-key="${y.key}" class="rte-select">${B}${L}</select>`;y.required?H=`<span ${y.exclusionGroup?`data-group="${y.exclusionGroup}"`:""} class="exclusion-wrapper required-upload-group"><span class="rte-text-required"><i class='iconfont icon-bitian' style='font-size: 10px;'></i></span>${P}</span>`:H=P}else if(y.type==="textarea"&&y.key){const A=p[y.key]||"",L=y.maxHeight||252,B=y.expandable!==!1,P=y.placeholder?` placeholder="${y.placeholder}"`:"",Q=`<textarea data-type="textarea" data-key="${y.key}" class="rte-textarea" data-max-height="${L}" style="max-height:${L}px;"${P}>${A}</textarea>`,V=B?`<button type="button" class="rte-textarea-toggle" data-key="${y.key}" data-expanded="false">展开</button>`:"",J=`<div class="rte-textarea-wrapper" data-key="${y.key}">${Q}${V}</div>`;y.required?H=`<span ${y.exclusionGroup?`data-group="${y.exclusionGroup}"`:""} class="exclusion-wrapper required-upload-group"><span class="rte-text-required"><i class='iconfont icon-bitian' style='font-size: 10px;'></i></span>${J}</span>`:H=J}else if(y.type==="richtext"&&y.key){const A=p[y.key]||y.text||"",L=y.minHeight||140,B=y.placeholder?` data-placeholder="${y.placeholder}"`:"",P=y.expandable!==!1,Q=A,V=`<div contenteditable="true" data-type="richtext" data-key="${y.key}" class="rte-richtext"${B} style="min-height:${L}px;">${Q}</div>`,J=P?`<button type="button" class="rte-richtext-toggle" data-key="${y.key}" data-expanded="false">展开</button>`:"",ne=`<div class="rte-richtext-wrapper" data-key="${y.key}">${V}${J}</div>`,ie=`<div class="rte-richtext-container" data-key="${y.key}">${ne}</div>`;y.required?H=`<div ${y.exclusionGroup?`data-group="${y.exclusionGroup}"`:""} class="exclusion-wrapper required-upload-group rte-richtext-required"><span class="rte-text-required"><i class='iconfont icon-bitian' style='font-size: 10px;'></i></span>${ie}</div>`:H=ie}else if(y.type==="datepicker"&&y.key){const A=p[y.key]||"",L=y.placeholder?` data-placeholder="${y.placeholder}"`:"",B=`<div data-type="datepicker" data-key="${y.key}" data-value="${A}" class="rte-datepicker-host"${L}></div>`;y.required?H=`<span ${y.exclusionGroup?`data-group="${y.exclusionGroup}"`:""} class="exclusion-wrapper required-upload-group"><span class="rte-text-required"><i class='iconfont icon-bitian' style='font-size: 10px;'></i></span>${B}</span>`:H=B}else if(y.type==="multi-variable"&&y.key){const A=y.maxCount||9,L=b[y.key]||1,B=Math.min(L,A);if(y.required){const P=`<span class="rte-text-required"><i class='iconfont icon-bitian' style='font-size: 10px;'></i></span>`,Q=y.exclusionGroup?`data-group="${y.exclusionGroup}"`:"";let V="";for(let J=0;J<B;J++){const ne=`${y.key}_${J}`,ie=p[ne]||"",W=!ie,me=W?"":ie,ae=W?"show-placeholder":"",Te=y.tooltip?` data-tooltip="${y.tooltip.replace(/"/g,""")}" data-variable-key="${y.key||""}"`:"",ce=y.tooltip&&W?"":"hidden",te=`<span contenteditable="true" data-type="variable" data-key="${ne}" data-multi-key="${y.key}" data-index="${J}" data-placeholder="${y.placeholder||""}"${Te} class="variable-chip ${ae}">${me}${y.tooltip?`<i contenteditable="false" class="iconfont icon-tishi variable-info-icon ${ce}" data-variable-key="${y.key}" data-tooltip="${y.tooltip.replace(/"/g,""")}" title="提示"></i>`:""}</span>`;J===0?V+=`<span ${Q} class="exclusion-wrapper required-upload-group required-multi-first">${P}${te}</span>`:V+=te}H=V}else{let P="";for(let Q=0;Q<B;Q++){const V=`${y.key}_${Q}`,J=p[V]||"",ne=!J,ie=ne?"":J,W=ne?"show-placeholder":"",me=y.tooltip?` data-tooltip="${y.tooltip.replace(/"/g,""")}" data-variable-key="${y.key||""}"`:"",ae=y.tooltip&&ne?"":"hidden",Te=`<span contenteditable="true" data-type="variable" data-key="${V}" data-multi-key="${y.key}" data-index="${Q}" data-placeholder="${y.placeholder||""}"${me} class="variable-chip ${W}">${ie}${y.tooltip?`<i contenteditable="false" class="iconfont icon-tishi variable-info-icon ${ae}" data-variable-key="${y.key}" data-tooltip="${y.tooltip.replace(/"/g,""")}" title="提示"></i>`:""}</span>`;P+=Te}H=P}}g+=U+H+R,S++}u.current&&(u.current.innerHTML=g,setTimeout(()=>{if(!u.current)return;u.current.querySelectorAll('[data-type="variable"]').forEach(C=>{const w=C.innerText.replace(/\n/g,"");w.replace(/\u200B/g,"")?C.classList.remove("show-placeholder"):(w!==""&&(C.innerText=""),C.classList.add("show-placeholder"))})},0))}function TR(u,f,d,s,p={},b,T,g){const S=O.useCallback(()=>{if(!u.current)return;if(f.length===0){u.current.innerHTML="";return}let y={};const w=u.current.__tempVariableValues;if(w?(y=w,setTimeout(()=>{if(u.current){const q=u.current;q.__tempVariableValues===w&&delete q.__tempVariableValues}},100)):(u.current.querySelectorAll('[data-type="variable"]').forEach(L=>{const B=L.dataset.key;if(B){const P=L.innerText.replace(/[\u200B\n]/g,"").trim();P&&(y[B]=P)}}),u.current.querySelectorAll('[data-type="select"]').forEach(L=>{const B=L.dataset.key;if(B){const P=L.value.trim();P&&(y[B]=P)}}),u.current.querySelectorAll('[data-type="textarea"]').forEach(L=>{const B=L.dataset.key;if(B){const P=L.value.replace(/[\u200B]/g,"").trim();P&&(y[B]=P)}}),u.current.querySelectorAll('[data-type="richtext"]').forEach(L=>{const B=L.dataset.key;if(B){const P=(L.textContent||"").replace(/[\u200B]/g,"").trim();P&&(y[B]=P)}}),u.current.querySelectorAll('[data-type="datepicker"]').forEach(L=>{const B=L.dataset.key;if(B){const P=(L.getAttribute("data-value")||"").trim();P&&(y[B]=P)}})),ER(u,f,d,s,y,p,g),b?.current){const{key:q,offset:U}=b.current;setTimeout(()=>{if(!u.current)return;const R=u.current.querySelector(`[data-type="variable"][data-key="${q}"]`);if(R){try{const H=document.createRange(),A=document.createTreeWalker(R,NodeFilter.SHOW_TEXT,null);let L=0,B=null,P=0;for(;A.nextNode();){const Q=A.currentNode,V=Q.textContent?.length||0;if(L+V>=U){B=Q,P=U-L;break}L+=V}if(B){H.setStart(B,Math.min(P,B.textContent?.length||0)),H.collapse(!0);const Q=window.getSelection();Q&&(Q.removeAllRanges(),Q.addRange(H),R.focus())}else{H.selectNodeContents(R),H.collapse(!1);const Q=window.getSelection();Q&&(Q.removeAllRanges(),Q.addRange(H),R.focus())}}catch{const H=document.createRange();H.selectNodeContents(R),H.collapse(!1);const A=window.getSelection();A&&(A.removeAllRanges(),A.addRange(H),R.focus())}b.current=null}},0)}},[f,d,s,u,p,b,T,g]);O.useEffect(()=>{S()},[S])}function xR(u,f,d,s){O.useEffect(()=>{const p=u.current;if(!p)return;const b=g=>{const S=g.target?.closest(".upload-info-icon");if(S&&S.classList.contains("upload-info-icon")){const C=S.dataset.uploadKey;C&&s({key:C,anchorEl:S,type:"upload"});return}const y=g.target?.closest('[data-type="upload"]');if(y){const C=y.dataset.key;if(C){const w=d[C];w&&w.type&&w.type.startsWith("image/")&&s({key:C,anchorEl:y,type:"upload-preview"})}}},T=g=>{const S=g.target?.closest(".upload-info-icon"),y=g.relatedTarget;if(S&&S.classList.contains("upload-info-icon")){!y||!p.contains(y)?s(null):y.closest(".upload-info-icon")||s(null);return}const C=g.target?.closest('[data-type="upload"]');if(C){const w=y;if(w&&C.contains(w))return;s(null)}};return p.addEventListener("mouseover",b,!0),p.addEventListener("mouseout",T,!0),()=>{p.removeEventListener("mouseover",b,!0),p.removeEventListener("mouseout",T,!0)}},[f,d,u,s])}function OR(u,f,d,s){O.useEffect(()=>{if(!u.current)return;const p=S=>{if(s==="hideTagClose")return;const y=S.currentTarget,C=y.dataset.tooltip,w=y.dataset.tagKey||"";C&&d({key:w,anchorEl:y,type:"tag"})},b=()=>{d(null)};let T;const g=()=>{if(!u.current)return;u.current.querySelectorAll(".tag-node[data-tooltip]").forEach(y=>{y.addEventListener("mouseenter",p),y.addEventListener("mouseleave",b)})};return T=requestAnimationFrame(()=>{T=requestAnimationFrame(g)}),()=>{cancelAnimationFrame(T),u.current&&u.current.querySelectorAll(".tag-node[data-tooltip]").forEach(y=>{y.removeEventListener("mouseenter",p),y.removeEventListener("mouseleave",b)})}},[f,u,d,s])}function CR(u,f,d){O.useEffect(()=>{const s=u.current;if(!s)return;const p=T=>{const g=T.target?.closest(".variable-info-icon");if(g&&g.classList.contains("variable-info-icon")){const S=g.dataset.variableKey;S&&d({key:S,anchorEl:g,type:"variable"})}},b=T=>{const g=T.target?.closest(".variable-info-icon"),S=T.relatedTarget;g&&g.classList.contains("variable-info-icon")&&(!S||!s.contains(S)?d(null):S.closest(".variable-info-icon")||d(null))};return s.addEventListener("mouseover",p,!0),s.addEventListener("mouseout",b,!0),()=>{s.removeEventListener("mouseover",p,!0),s.removeEventListener("mouseout",b,!0)}},[f,u,d])}function _R(u,f,d,s){O.useEffect(()=>{if(!u.current)return;const p=S=>{const y=S.currentTarget;y.dataset.fileName&&s({key:"",anchorEl:y,type:"upload-label"})},b=()=>{s(null)};let T;const g=()=>{if(!u.current)return;u.current.querySelectorAll(".upload-label[data-file-name]").forEach(y=>{y.addEventListener("mouseenter",p),y.addEventListener("mouseleave",b)})};return T=requestAnimationFrame(()=>{T=requestAnimationFrame(g)}),()=>{cancelAnimationFrame(T),u.current&&u.current.querySelectorAll(".upload-label[data-file-name]").forEach(y=>{y.removeEventListener("mouseenter",p),y.removeEventListener("mouseleave",b)})}},[f,d,u,s])}function AR(u,f,d,s){O.useEffect(()=>{fE(u,f,d),dE(u,f,d,s)},[d,f,u,s])}function wR(u,f){O.useEffect(()=>{if(!u.current)return;let d=!1,s=0;const p=()=>{d=!0},b=()=>{d=!1,s=Date.now()};let T=!1,g=0;const S=()=>{T=!0},y=()=>{T=!1,g=Date.now()},C=()=>{g=Date.now()},w=()=>{if(!u.current)return;const U=window.getSelection();if(!U||U.rangeCount===0||f.current||d||T||Date.now()-g<500)return;const R=U.getRangeAt(0);if(!R.collapsed)return u.current.contains(R.commonAncestorContainer),void 0;const H=U.anchorNode;if(!H||!u.current.contains(H))return;let A=null;if(H.nodeType===Node.ELEMENT_NODE?A=H.closest('[data-type="variable"]'):H.nodeType===Node.TEXT_NODE&&H.parentElement&&(A=H.parentElement.closest('[data-type="variable"]')),!A){if(Date.now()-s>500)return;const L=u.current.querySelectorAll('[data-type="variable"]');if(L.length>0){let B=null;for(const P of Array.from(L))if(P.style.display!=="none"){B=P;break}if(!B&&L.length>0&&(B=L[0]),B){const P=document.createRange();P.selectNodeContents(B),P.collapse(!1),U.removeAllRanges(),U.addRange(P),B.focus()}else U.removeAllRanges()}else U.removeAllRanges()}},q=u.current;return q&&(q.addEventListener("compositionstart",S),q.addEventListener("compositionend",y),q.addEventListener("input",C)),document.addEventListener("mousedown",p),document.addEventListener("mouseup",b),document.addEventListener("selectionchange",w),()=>{const U=u.current;U&&(U.removeEventListener("compositionstart",S),U.removeEventListener("compositionend",y),U.removeEventListener("input",C)),document.removeEventListener("mousedown",p),document.removeEventListener("mouseup",b),document.removeEventListener("selectionchange",w)}},[u,f])}const P2=({config:u,onSend:f,isProcessing:d=!1,disabled:s=!1,width:p,lockStructure:b=!1,agentOptions:T=[],onAgentSelect:g,onAgentExit:S,loading:y=!1,placeholder:C,border:w,background:q="transparent",hideButtons:U})=>{const R=O.useRef(null),H=O.useRef(null),[A,L]=O.useState({}),[B,P]=O.useState(null),[Q,V]=O.useState(null),J=O.useRef(!1),ne=O.useRef(null),[ie,W]=O.useState(!1),me=O.useRef(null),[ae,Te]=O.useState(!0),[ce,te]=O.useState(()=>{const ye={};return u.forEach(I=>{I.type==="multi-variable"&&I.key&&(ye[I.key]=1)}),ye}),Z=O.useRef({}),D=O.useRef({}),k=O.useRef({});O.useEffect(()=>{D.current=A},[A]),O.useEffect(()=>{k.current=ce},[ce]);const Y=O.useCallback(ye=>ye.find(se=>se.type==="tag")?.text||null,[]),ue=O.useRef(u),M=O.useRef(null);O.useEffect(()=>{const ye=Y(ue.current),I=Y(u);if(ye&&ye!==I&&R.current){const se={};R.current.querySelectorAll('[data-type="variable"]').forEach(Ae=>{const We=Ae.dataset.key;if(We){const Pe=Ae.innerText.replace(/[\u200B\n]/g,"").trim();Pe&&(se[We]=Pe)}}),R.current.querySelectorAll('[data-type="select"]').forEach(Ae=>{const We=Ae.dataset.key;if(We){const Pe=Ae.value.trim();Pe&&(se[We]=Pe)}}),R.current.querySelectorAll('[data-type="textarea"]').forEach(Ae=>{const We=Ae.dataset.key;if(We){const Pe=Ae.value.replace(/[\u200B]/g,"").trim();Pe&&(se[We]=Pe)}}),Z.current[ye]={variableValues:se,files:{...D.current},multiVariableCounts:{...k.current}}}if(I&&Z.current[I]){const se=Z.current[I];M.current=se,L(se.files),te(se.multiVariableCounts)}else if(I){M.current=null;const se={};u.forEach(Ue=>{Ue.type==="multi-variable"&&Ue.key&&(se[Ue.key]=1)}),te(se),L({})}else M.current=null,te({}),L({});ue.current=u},[u,Y]),O.useLayoutEffect(()=>{M.current&&R.current&&(R.current.__tempVariableValues=M.current.variableValues,setTimeout(()=>{M.current&&(M.current=null)},0))}),TR(R,u,A,b,ce,me,void 0,U),xR(R,u,A,V),OR(R,u,V,U),_R(R,u,A,V),CR(R,u,V),AR(R,u,A,W),wR(R,J),O.useEffect(()=>{if(!R.current)return;R.current.querySelectorAll('[data-type="datepicker"]').forEach(I=>{const se=I,Ue=se.dataset.key||"";if(se.__dpRoot)return;const pe=SR.createRoot(se);se.__dpRoot=pe;const Ve=se.getAttribute("data-placeholder")||"",Ae=se.getAttribute("data-value")||"",We=Ae?$l(Ae):void 0;pe.render(ke.jsx(pR,{className:"rte-datepicker-input",placeholder:Ve,prefix:ke.jsx(oE,{}),value:We,onChange:(Pe,Ne)=>{const Ze=Array.isArray(Ne)?Ne[0]:Ne;se.setAttribute("data-value",Ze||"");const Ye=R.current;Ye&&(Ye.__tempVariableValues={...Ye.__tempVariableValues||{},[Ue]:Ze||""})}}))})},[u,ce]),O.useEffect(()=>{if(u.length>0){Te(!1);return}const ye=()=>{if(!R.current){Te(!0);return}const se=R.current.textContent?.replace(/[\u200B\n]/g,"").trim()||"",Ue=R.current.querySelectorAll('[data-type="variable"]'),pe=R.current.querySelectorAll('[data-type="upload"]');let Ve=!1;Ue.forEach(We=>{(We.textContent?.replace(/[\u200B\n]/g,"").trim()||"")&&(Ve=!0)}),pe.forEach(We=>{We.querySelector(".upload-inner-wrapper.has-file")&&(Ve=!0)});const Ae=!se&&!Ve;Te(Ae),u.length===0&&W(!Ae)};ye();const I=new MutationObserver(ye);return R.current&&I.observe(R.current,{childList:!0,subtree:!0,characterData:!0}),()=>{I.disconnect()}},[u]);const K=ye=>{if(s){ye.preventDefault();return}ye.preventDefault();const I=ye.clipboardData.getData("text/plain"),se=window.getSelection();if(se&&se.rangeCount>0){const Ue=se.anchorNode;if(Ue){let pe=null;if(Ue.nodeType===Node.ELEMENT_NODE?pe=Ue.closest('[data-type="variable"]'):Ue.nodeType===Node.TEXT_NODE&&Ue.parentElement&&(pe=Ue.parentElement.closest('[data-type="variable"]')),pe){const Ve=pe.dataset.multiKey;if(Ve){const Ae=/[、,,\s\n\r\t]+/,We=I.split(Ae).map(Pe=>Pe.trim()).filter(Pe=>Pe.length>0);if(console.log("[Paste Event] 粘贴的内容:",I),console.log("[Paste Event] 拆分后的值:",We),We.length>1){const Pe=parseInt(pe.dataset.index||"0",10),Ne=u.find(Jt=>Jt.type==="multi-variable"&&Jt.key===Ve)?.maxCount||9,Ze=ce[Ve]||1,Ye=Math.min(Pe+We.length,Ne);Ye>Ze&&te(gt=>({...gt,[Ve]:Ye}));const Ke=[];for(let gt=0;gt<Ze;gt++){const Jt=`${Ve}_${gt}`,In=R.current.querySelector(`[data-type="variable"][data-key="${Jt}"][data-multi-key="${Ve}"]`);if(In){const Mn=In.innerText.replace(/[\u200B\n]/g,"").trim();Ke.push(Mn)}}Ke.splice(Pe,1,...We.slice(0,Ne-Pe));const it=Ke.slice(0,Ne);it.length>0&&it[it.length-1]!==""&&it.length<Ne&&it.push("");const Xe=Math.max(it.length,1),dt={};it.forEach((gt,Jt)=>{gt&&(dt[`${Ve}_${Jt}`]=gt)}),R.current.querySelectorAll('[data-type="variable"]').forEach(gt=>{const Jt=gt.dataset.key,In=gt.dataset.multiKey;if(Jt&&In!==Ve){const Mn=gt.innerText.replace(/[\u200B\n]/g,"").trim();Mn&&(dt[Jt]=Mn)}}),R.current.__tempVariableValues=dt,te(gt=>({...gt,[Ve]:Xe})),console.log("[Paste Event] 粘贴完成,已填充到多个输入框,值:",it);return}else We.length===1&&console.log("[Paste Event] 粘贴单个值,将在失去焦点时检查是否需要拆分")}}}}document.execCommand("insertText",!1,I),Be(),setTimeout(()=>{const Ue=window.getSelection();if(Ue&&Ue.rangeCount>0){const pe=Ue.anchorNode;if(pe){let Ve=null;if(pe.nodeType===Node.ELEMENT_NODE?Ve=pe.closest('[data-type="variable"][data-multi-key]'):pe.nodeType===Node.TEXT_NODE&&pe.parentElement&&(Ve=pe.parentElement.closest('[data-type="variable"][data-multi-key]')),Ve){const Ae=Ve.innerText.replace(/[\u200B\n]/g,"").trim();/[、,,\s]+/.test(Ae)&&(console.log("[Paste Event] 粘贴后检测到分隔符,内容:",Ae),console.log("[Paste Event] 提示:失去焦点后将自动拆分"))}}}},0)},re=ye=>{if(ye.target.files&&ye.target.files[0]&&B){const I=ye.target.files[0],se=B;L(Ue=>({...Ue,[se]:I}))}ye.target&&(ye.target.value=""),P(null)},le=ye=>{L(I=>{const se={...I};return delete se[ye],se})},be=ye=>{const I=ye.target;if(I.closest(".tag-close-btn")){if(ye.preventDefault(),ye.stopPropagation(),b)return;V(null),S?S():R.current&&(R.current.innerHTML="",R.current.focus());return}if(b){const pe=I.closest(".tag-node"),Ve=I.closest('[data-type="text"]');if(pe||Ve){ye.preventDefault(),ye.stopPropagation();const Ae=window.getSelection();Ae&&Ae.removeAllRanges();return}}I.closest('[data-type="variable"]')||(ne.current={x:ye.clientX,y:ye.clientY},J.current=!1,I.closest(".file-remove-btn")&&(ye.preventDefault(),ye.stopPropagation()))},Me=ye=>{if(!ye.target.closest('[data-type="variable"]')&&ne.current){const Ue=Math.abs(ye.clientX-ne.current.x),pe=Math.abs(ye.clientY-ne.current.y);(Ue>3||pe>3)&&(J.current=!0)}},Oe=ye=>{if(ye.target.closest('[data-type="variable"]')){ne.current=null,J.current=!1;return}ne.current=null,J.current=!1},ze=ye=>{if(s)return;const I=ye.target;if(I.closest('[data-type="datepicker"]'))return;if(I.closest(".tag-close-btn")){ye.preventDefault(),ye.stopPropagation();return}if(u.length===0)return;const pe=(Ye,Ke)=>{if(!R.current)return;Array.from(R.current.children).forEach(Xe=>{if(Xe!==Ye)if(Ke)Xe.dataset.prevDisplay===void 0&&(Xe.dataset.prevDisplay=Xe.style.display||""),Xe.style.setProperty("display","none","important");else if(Xe.dataset.prevDisplay!==void 0){const dt=Xe.dataset.prevDisplay;dt?Xe.style.display=dt:Xe.style.removeProperty("display"),delete Xe.dataset.prevDisplay}else Xe.style.removeProperty("display")})},Ve=I.closest(".rte-textarea-toggle");if(Ve){ye.preventDefault(),ye.stopPropagation();const Ye=Ve.closest(".rte-textarea-wrapper"),Ke=Ye?.querySelector('[data-type="textarea"]'),Xe=!(Ve.getAttribute("data-expanded")==="true");Ve.setAttribute("data-expanded",String(Xe)),Ve.textContent=Xe?"收起":"展开",Ye&&Ye.classList.toggle("rte-textarea-expanded",Xe);const dt=Ye?.closest(".rte-textarea-required");if(dt?dt.classList.toggle("rte-textarea-overlay",Xe):Ye&&Ye.classList.toggle("rte-textarea-overlay",Xe),Ke)if(Xe)Ke.classList.add("rte-textarea-expanded"),Ke.style.maxHeight="none",Ke.style.height="100%";else{Ke.classList.remove("rte-textarea-expanded");const pt=Ke.dataset.maxHeight||"252";Ke.style.maxHeight=`${pt}px`,Ke.style.height="auto"}R.current&&(Xe?R.current.classList.add("rte-overlay-active"):R.current.classList.remove("rte-overlay-active"));return}const Ae=I.closest(".rte-richtext-toggle");if(Ae){ye.preventDefault(),ye.stopPropagation();const Ye=Ae.closest(".rte-richtext-wrapper"),Ke=Ye?.querySelector('[data-type="richtext"]'),Xe=!(Ae.getAttribute("data-expanded")==="true");Ae.setAttribute("data-expanded",String(Xe)),Ae.textContent=Xe?"收起":"展开";const dt=Ye?.closest(".rte-richtext-required");dt?dt.classList.toggle("rte-richtext-expanded",Xe):Ye&&Ye.classList.toggle("rte-richtext-expanded",Xe);const pt=Ye?.closest(".exclusion-wrapper")||Ye?.parentElement;Ke&&(Xe?(Ke.style.height="100%",Ke.style.overflow="auto"):(Ke.style.height="",Ke.style.overflow="")),pt&&(pt.classList.toggle("rte-richtext-host-expanded",Xe),pe(pt,Xe)),R.current&&R.current.classList.toggle("rte-richtext-fullscreen-active",Xe);return}if(I.closest('[data-type="text"]')){ye.preventDefault(),ye.stopPropagation();const Ye=window.getSelection();Ye&&Ye.removeAllRanges();return}if(b&&I.closest(".tag-node")){ye.preventDefault(),ye.stopPropagation();const Ke=window.getSelection();Ke&&Ke.removeAllRanges();return}if(I.closest('[data-type="variable"]')){if(J.current)return;setTimeout(()=>{const Ye=window.getSelection();Ye&&!Ye.isCollapsed||pE(R)},10);return}const Ne=I.closest(".file-remove-btn");if(Ne){ye.preventDefault(),ye.stopPropagation();const Ke=Ne.closest('[data-type="upload"]')?.dataset.key;Ke&&le(Ke);return}const Ze=I.closest('[data-type="upload"]');if(Ze){const Ye=Ze.dataset.key;Ye&&(P(Ye),H.current?.click());return}},qe=ye=>{const se=ye.target.closest('[data-type="variable"]');if(se){const Ue=window.getSelection();if(Ue){const pe=document.createRange(),Ve=se.textContent||"";if(Ve.replace(/\u200B/g,"")){let We=0,Pe=Ve.length;Ve.startsWith("")&&(We=1),Ve.endsWith("")&&Ve.length>1&&(Pe=Ve.length-1);const Ne=se.firstChild;Ne&&Ne.nodeType===Node.TEXT_NODE?(pe.setStart(Ne,We),pe.setEnd(Ne,Pe)):pe.selectNodeContents(se)}else pe.selectNodeContents(se),pe.collapse(!0);Ue.removeAllRanges(),Ue.addRange(pe)}}},Be=()=>{if(u.length===0){if(R.current){const se=!(R.current.textContent?.replace(/[\u200B\n]/g,"").trim()||"");Te(se),W(!se)}return}if(pE(R),R.current&&R.current.querySelectorAll('[data-type="variable"]').forEach(se=>{const Ue=se.querySelector(".variable-info-icon");if(Ue){let pe=!1;const Ve=document.createTreeWalker(se,NodeFilter.SHOW_TEXT,{acceptNode:Ae=>Ue.contains(Ae)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT});for(;Ve.nextNode();)if(Ve.currentNode.textContent?.replace(/[\u200B\n]/g,"").trim()){pe=!0;break}pe?Ue.classList.add("hidden"):Ue.classList.remove("hidden")}}),fE(R,u,A),dE(R,u,A,W),!R.current)return;u.filter(I=>I.type==="multi-variable"&&I.key).forEach(I=>{if(!I.key)return;const se=I.maxCount||9,Ue=ce[I.key]||1,pe=[];for(let Ne=0;Ne<Ue;Ne++){const Ze=`${I.key}_${Ne}`,Ye=R.current.querySelector(`[data-type="variable"][data-key="${Ze}"][data-multi-key="${I.key}"]`);if(Ye){const Ke=Ye.innerText.replace(/[\u200B\n]/g,"").trim();pe.push(Ke)}}const Ae=(pe[pe.length-1]||"")==="";let We=!1,Pe=-1;for(let Ne=0;Ne<pe.length-1;Ne++)if(pe[Ne]===""){We=!0,Pe=Ne;break}if(We&&Pe>=0){const Ne=window.getSelection();if(Ne&&Ne.rangeCount>0){const Xe=Ne.getRangeAt(0),dt=Xe.startContainer,pt=dt.nodeType===Node.ELEMENT_NODE?dt.closest('[data-type="variable"][data-multi-key]'):dt.parentElement?.closest('[data-type="variable"][data-multi-key]');if(pt){const gt=pt.dataset.key;if(gt){const Jt=document.createRange();Jt.setStartBefore(pt),Jt.setEnd(Xe.startContainer,Xe.startOffset);const In=Jt.toString().length;me.current={key:gt,offset:In}}}}const Ze=[...pe];for(let Xe=Pe;Xe<Ze.length-1;Xe++)Ze[Xe]=Ze[Xe+1];Ze.pop();const Ye={};Ze.forEach((Xe,dt)=>{Xe&&(Ye[`${I.key}_${dt}`]=Xe)});const Ke=Math.max(Ae?Ze.length:Ze.length+1,1);R.current.querySelectorAll('[data-type="variable"]').forEach(Xe=>{const dt=Xe.dataset.key,pt=Xe.dataset.multiKey;if(dt&&pt!==I.key){const gt=Xe.innerText.replace(/[\u200B\n]/g,"").trim();gt&&(Ye[dt]=gt)}}),R.current.__tempVariableValues=Ye,te(Xe=>({...Xe,[I.key]:Ke}));return}if(!Ae){const Ne=Ue-1,Ze=`${I.key}_${Ne}`,Ye=R.current.querySelector(`[data-type="variable"][data-key="${Ze}"][data-multi-key="${I.key}"]`);if(Ye&&Ye.innerText.replace(/[\u200B\n]/g,"").trim().length>0&&Ue<se){const it=window.getSelection();if(it&&it.rangeCount>0){const Xe=it.getRangeAt(0),dt=Xe.startContainer,pt=dt.nodeType===Node.ELEMENT_NODE?dt.closest('[data-type="variable"][data-multi-key]'):dt.parentElement?.closest('[data-type="variable"][data-multi-key]');if(pt){const gt=pt.dataset.key;if(gt){const Jt=document.createRange();Jt.setStartBefore(pt),Jt.setEnd(Xe.startContainer,Xe.startOffset);const In=Jt.toString().length;me.current={key:gt,offset:In}}}}te(Xe=>({...Xe,[I.key]:Ue+1}))}}})};O.useLayoutEffect(()=>{const ye=R.current;if(!ye)return;const I=new Map,se=Ve=>{const Ae=Ve.target,We=Ve.relatedTarget;!Ae||!R.current||!R.current.contains(Ae)||We&&R.current.contains(We)||setTimeout(()=>{if(R.current){if(u.length===0){const Pe=R.current.textContent?.replace(/[\u200B\n]/g,"").trim()||"";W(Pe.length>0);return}pE(R),fE(R,u,A),dE(R,u,A,W)}},0)};ye.addEventListener("blur",se,!0);const Ue=()=>{if(!R.current)return;I.forEach((We,Pe)=>{Pe.removeEventListener("blur",We,!1)}),I.clear();const Ve=R.current.querySelectorAll('[data-type="variable"][data-multi-key]'),Ae=We=>{We.stopPropagation(),We.stopImmediatePropagation();const Pe=We.target;if(!Pe||!R.current||!R.current.contains(Pe))return;const Ne=Pe.closest('[data-type="variable"][data-multi-key]');if(!Ne||!R.current.contains(Ne))return;let Ze=!1;if(I.forEach((Jt,In)=>{(In===Ne||In.contains(Pe))&&(Ze=!0)}),!Ze)return;const Ye=Ne.dataset.multiKey,Ke=Ne.dataset.key,it=Ne.dataset.index;if(!Ye||!Ke||it===void 0)return;const Xe=We.relatedTarget;if(!(!Xe||!R.current.contains(Xe)))return;const pt=Ne.innerText.replace(/[\u200B\n]/g,"").trim();console.log("[Blur Event] 失去焦点的 multi-variable 输入框:",{multiKey:Ye,currentKey:Ke,index:it,content:pt});const gt=/[、,,\s]+/;if(gt.test(pt)){const Jt=pt.split(gt).map(En=>En.trim()).filter(En=>En.length>0);console.log("[Blur Event] 拆分前的内容:",pt),console.log("[Blur Event] 拆分后的部分:",Jt);const Mn=Jt.slice(0,9);if(console.log("[Blur Event] 有效的部分(最多9个):",Mn),Mn.length>1){const En=u.find(yn=>yn.type==="multi-variable"&&yn.key===Ye);if(En){const yn=ce[Ye]||1,aa=parseInt(it,10),Un=En.maxCount||9,Ut=[];for(let pn=0;pn<yn;pn++){const la=`${Ye}_${pn}`,zn=R.current.querySelector(`[data-type="variable"][data-key="${la}"][data-multi-key="${Ye}"]`);if(zn){const jn=zn.innerText.replace(/[\u200B\n]/g,"").trim();Ut.push(jn)}}console.log("[Blur Event] 拆分前的所有值:",Ut),console.log("[Blur Event] 当前索引:",aa),console.log("[Blur Event] 要插入的值:",Mn),Ut.splice(aa,1,...Mn);const dn=Ut.slice(0,Un);console.log("[Blur Event] 拆分后的所有值:",dn),dn.length>0&&dn[dn.length-1]!==""&&dn.length<Un&&dn.push("");const Ua=Math.max(dn.length,1),xa={};dn.forEach((pn,la)=>{pn&&(xa[`${Ye}_${la}`]=pn)}),R.current.querySelectorAll('[data-type="variable"]').forEach(pn=>{const la=pn.dataset.key,zn=pn.dataset.multiKey;if(la&&zn!==Ye){const jn=pn.innerText.replace(/[\u200B\n]/g,"").trim();jn&&(xa[la]=jn)}}),R.current.__tempVariableValues=xa,te(pn=>({...pn,[Ye]:Ua}))}}}};Ve.forEach(We=>{We.addEventListener("blur",Ae,!1),I.set(We,Ae)})},pe=setTimeout(()=>{Ue()},0);return()=>{clearTimeout(pe),ye.removeEventListener("blur",se,!0),I.forEach((Ve,Ae)=>{Ae.removeEventListener("blur",Ve,!1)}),I.clear()}},[u,ce,A]);const $e=ye=>{if(s){ye.preventDefault();return}const I=window.getSelection();if(I&&I.rangeCount>0){const se=I.anchorNode;let Ue=null;if(se&&(se.nodeType===Node.ELEMENT_NODE?Ue=se.closest('[data-type="text"]'):se.nodeType===Node.TEXT_NODE&&se.parentElement&&(Ue=se.parentElement.closest('[data-type="text"]'))),Ue){if(ye.preventDefault(),ye.stopPropagation(),R.current){const pe=R.current.querySelector('[data-type="variable"], [data-type="upload"]');pe&&pe.focus()}return}}if(b&&I&&I.rangeCount>0){const se=I.anchorNode;let Ue=null;if(se&&(se.nodeType===Node.ELEMENT_NODE?Ue=se.closest(".tag-node"):se.nodeType===Node.TEXT_NODE&&se.parentElement&&(Ue=se.parentElement.closest(".tag-node"))),Ue){if(ye.preventDefault(),ye.stopPropagation(),R.current){const pe=R.current.querySelector('[data-type="variable"], [data-type="upload"]');pe&&pe.focus()}return}}if(ye.key==="Enter"&&!ye.shiftKey&&(ye.preventDefault(),Fe()),ye.key==="Escape"&&R.current){if(b){ye.preventDefault();return}R.current.innerHTML="",R.current.focus()}if(ye.key==="Backspace"){const se=window.getSelection();if(se&&se.rangeCount>0){const Ue=se.getRangeAt(0),pe=se.anchorNode;if(b){let Ae=null,We=null;if(pe&&(pe.nodeType===Node.ELEMENT_NODE?(Ae=pe.closest(".tag-node"),We=pe.closest('[data-type="text"]')):pe.nodeType===Node.TEXT_NODE&&pe.parentElement&&(Ae=pe.parentElement.closest(".tag-node"),We=pe.parentElement.closest('[data-type="text"]'))),(Ae||We)&&Ue.collapsed&&Ue.startOffset===0){ye.preventDefault();return}}let Ve=null;if(pe&&(pe.nodeType===Node.ELEMENT_NODE?Ve=pe.closest('[data-type="variable"]'):pe.nodeType===Node.TEXT_NODE&&pe.parentElement&&(Ve=pe.parentElement.closest('[data-type="variable"]'))),Ve){if(!Ue.collapsed)return;const Ae=Ve.innerText;if(Ae===""||Ae===""){ye.preventDefault();return}if(Ue.startOffset===0){ye.preventDefault();return}if(Ae.startsWith("")&&Ue.startOffset===1){ye.preventDefault();return}}}}},Fe=()=>{if(d||s||y||!ie||!R.current)return;if(u.length===0){const Ve=R.current.textContent?.replace(/[\u200B\n]/g,"").trim()||"";if(!Ve)return;f(Ve,Ve);return}const ye=R.current;let I="";const se={},Ue=Ve=>{if(!(Ve.nodeType===Node.ELEMENT_NODE&&Ve.style.display==="none")){if(Ve.nodeType===Node.TEXT_NODE)I+=(Ve.textContent||"").replace(/\u200B/g,"");else if(Ve.nodeType===Node.ELEMENT_NODE){const Ae=Ve,We=Ae.dataset.type,Pe=Ae.dataset.key;if(We==="variable"&&Pe){let Ne="";const Ze=document.createTreeWalker(Ae,NodeFilter.SHOW_TEXT,{acceptNode:Ke=>{const it=Ae.querySelector(".variable-info-icon");return it&&it.contains(Ke)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}});for(;Ze.nextNode();)Ne+=Ze.currentNode.textContent||"";const Ye=Ne.replace(/[\u200B\n]/g,"").trim();if(Ye){const Ke=Ae.dataset.multiKey;if(Ke){(!se[Ke]||!Array.isArray(se[Ke]))&&(se[Ke]=[]);const it=se[Ke];it.push(Ye),it.length>1&&(I+=" "),I+=Ye}else se[Pe]=Ye,I+=Ye}}else if(We==="select"&&Pe){const Ne=Ae,Ze=(Ne.value||"").trim();if(Ze){se[Pe]=Ze;const Ye=Ne.selectedOptions?.[0];I+=Ye?.textContent||Ze}}else if(We==="textarea"&&Pe){const Ze=(Ae.value||"").replace(/\u200B/g,"").trim();Ze&&(se[Pe]=Ze,I+=Ze)}else if(We==="richtext"&&Pe){const Ze=(Ae.textContent||"").replace(/\u200B/g,"").trim();Ze&&(se[Pe]=Ze,I+=Ze)}else if(We==="datepicker"&&Pe){const Ze=(Ae.getAttribute("data-value")||"").trim();Ze&&(se[Pe]=Ze,I+=Ze)}else if(We==="upload"&&Pe)se[Pe]=A[Pe]??null,A[Pe]&&(I+=` [附带文件: ${A[Pe]?.name}] `);else{if(Ae.classList.contains("tag-close-btn")||Ae.classList.contains("file-remove-btn"))return;Ae.getAttribute("contenteditable")==="false"&&!We&&Ae.classList.contains("tag-node")?I+=Ae.innerText:Ae.childNodes.forEach(Ue)}}}};if(ye.childNodes.forEach(Ue),I=I.trim(),!I)return;const pe=new FormData;pe.append("fullPrompt",I),Object.keys(se).forEach(Ve=>{const Ae=se[Ve];Ae!=null&&(Ae instanceof File?pe.append(Ve,Ae):Array.isArray(Ae)?u.some(Pe=>Pe.type==="multi-variable"&&Pe.key===Ve)?Ae.forEach(Pe=>{Pe!=null&&Pe!==""&&pe.append(Ve,String(Pe))}):Ae.forEach((Pe,Ne)=>{Pe!=null&&(Pe instanceof File?pe.append(`${Ve}[${Ne}]`,Pe):typeof Pe=="string"?pe.append(`${Ve}[${Ne}]`,Pe):pe.append(`${Ve}[${Ne}]`,String(Pe)))}):typeof Ae=="string"?pe.append(Ve,Ae):pe.append(Ve,String(Ae)))}),f(pe,I)},Le={...p?{width:typeof p=="number"?`${p}px`:p}:{},...w?{border:w}:{},...q?{background:q}:{}};return ke.jsxs("div",{className:"rich-text-editor",style:Le,"data-disabled":s,children:[ke.jsx("div",{ref:R,className:`rte-editor ${u.length===0?"rte-editor-default":""} ${ae&&C?"rte-editor-empty":""}`,contentEditable:u.length===0,suppressContentEditableWarning:!0,"data-placeholder":C,onMouseDown:be,onMouseMove:Me,onMouseUp:Oe,onClick:ze,onDoubleClick:qe,onInput:Be,onKeyDown:$e,onPaste:K}),ke.jsx("input",{type:"file",ref:H,className:"rte-file-input",accept:".csv,.xlsx,.xls,.txt,.pdf,image/*",onChange:re}),ke.jsxs("div",{className:"rich-text-editor-footer",children:[ke.jsx("div",{className:"rich-text-editor-footer-left",children:ke.jsxs("div",{className:"rich-text-editor-brand",children:[ke.jsxs("div",{className:"rte-brand-badge",children:[ke.jsx("img",{src:"https://oospublic.sealseek.cn/file/website/ball.png",alt:""}),ke.jsx("span",{className:"rte-brand-text",children:"SealSeek 1.0"})]}),U!=="hideAgent"&&ke.jsx(Qt.Dropdown,{placement:"top",menu:{items:T.map(ye=>({key:ye.key,label:ke.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[ye.icon&&ke.jsx("i",{className:ye.icon}),ke.jsx("span",{children:ye.label})]}),onClick:()=>{g?.(ye)}}))},trigger:["click"],disabled:s||d,children:ke.jsxs("div",{className:"rte-agent-badge",style:{cursor:T.length>0?"pointer":"default"},children:[ke.jsx("i",{className:"iconfont icon-zhinengti"}),ke.jsx("span",{className:"rte-agent-text",children:"智能体"})]})})]})}),ke.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[(()=>{const ye=u.find(se=>se.type==="tag");if(!ye||!ye.text)return null;const I=T.find(se=>se.label===ye.text);return!I||I.points===void 0||I.points===null?null:ke.jsxs("div",{className:"rte-points-badge",children:[ke.jsx("i",{className:"iconfont icon-jifen",style:{marginRight:"4px"}}),ke.jsxs("span",{style:{fontSize:"16px"},children:["-",String(I.points)]})]})})(),ke.jsx("button",{type:"button",onClick:Fe,disabled:d||s||y||!ie,className:"rich-text-editor-send-button",children:d||y?ke.jsx("span",{className:"rte-send-spinner"}):ke.jsx("i",{className:"iconfont icon-fasong"})})]})]}),Q?.anchorEl&&(()=>{if(!document.body.contains(Q.anchorEl))return null;let ye="",I={background:"var(--neutral-800, #262626)"};if(Q.type==="upload")ye=u.find(pe=>pe.type==="upload"&&pe.key===Q.key)?.tooltip||"";else if(Q.type==="tag")ye=Q.anchorEl.dataset.tooltip||"";else if(Q.type==="upload-label")ye=Q.anchorEl.dataset.fileName||"";else if(Q.type==="variable")ye=Q.anchorEl.dataset.tooltip||"";else if(Q.type==="upload-preview"){const Ue=A[Q.key];if(Ue&&Ue.type&&Ue.type.startsWith("image/")){const pe=URL.createObjectURL(Ue);ye=ke.jsx("div",{style:{width:120,height:120,display:"flex",alignItems:"center",justifyContent:"center"},children:ke.jsx("img",{src:pe,style:{maxWidth:120,maxHeight:120,objectFit:"contain"}})}),I={background:"#fff",padding:4},setTimeout(()=>URL.revokeObjectURL(pe),1e3)}else ye=""}if(!ye)return null;const se=Q.type==="upload-preview"?"#0A0A0A":"#fff";return xl.createPortal(ke.jsx(Qt.Tooltip,{arrow:!1,title:ke.jsx("div",{style:{maxWidth:"200px",fontSize:"12px",color:se},children:ye}),open:!0,placement:"top",getPopupContainer:()=>document.body,overlayInnerStyle:I,children:ke.jsx("div",{style:{position:"fixed",left:`${Q.anchorEl.getBoundingClientRect().left}px`,top:`${Q.anchorEl.getBoundingClientRect().top}px`,width:`${Q.anchorEl.offsetWidth}px`,height:`${Q.anchorEl.offsetHeight}px`,pointerEvents:"none"}})}),document.body)})()]})};P2.__docgenInfo={displayName:"RichTextEditor",description:"结构化富文本输入组件,支持标签、变量输入块、文件上传以及互斥显示逻辑。",props:{config:{name:"config",required:!0,description:"结构化输入配置节点数组",type:{name:"InputNode[]",raw:"InputNode[]"}},onSend:{name:"onSend",required:!0,description:"点击发送按钮时的回调,返回数据与拼接后的 Prompt",type:{name:"function",raw:"(data: Record<string, any>, fullPrompt: string) => void"}},isProcessing:{name:"isProcessing",required:!1,description:"是否处于处理状态(禁用输入与发送)",type:{name:"boolean",raw:"boolean"},defaultValue:{value:"false"}}}};const Q2="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAFSSURBVHgB3ZTtccIwDIaVXv83I2SDZgSP0BHMBG0naEZhA2boBGQDswHdQJUOGRxjO0Z8HPDe6eJzJD2W4gjgEYSIn2xwK6EIFHqBGysJpMP3ZB0oRbEtmal1NtIxl4OWWsoxEsvqofJ0rgTNASOYq+7SXKDsuYvAcgkq/PWwBLQWqIfdjeRStaBUc4qzgLi9/BzJNmS/sh6bpvmrTfSFacU3scWy1mQryWdSnXiFE8QVUJINLTuyhWzzz/1OZmTN9hEckqtfUOwIGlGCpVRjE+94JFqpMtTeVzO8/UmPxpZU8Qa7aln8Tb9pfwla4WHWrjPvvbbnTBsX7PmLs83EDAH0BxSw1G31+/1FoDg/vPcXR+wocQS1apj4+P92FfhOoLyuBfYlmPgYnGoCjWADzAkzUyJ430awLmphPaxWQVU22BuuApPkHaanjcXSN3t6/QNjTMSJWDcs1QAAAABJRU5ErkJggg==",DR=[{label:"5页",value:5},{label:"10页",value:10},{label:"15页",value:15},{label:"30页",value:30}],MR=({autoLoading:u,batchSize:f,loadingProgress:d,loadIcon:s,onBatchSizeChange:p,onLoadNextPage:b,onStartAutoLoad:T,onStopLoad:g})=>u&&d?ke.jsxs("div",{className:"auto_load_progress",children:[s||ke.jsx("img",{src:Q2,alt:"自动加载",width:14,height:14}),ke.jsxs("span",{children:["正在加载第",d.currentPage,"/",d.totalPages,"页"]}),ke.jsx(Qt.Progress,{percent:d.percentage,type:"line",size:[160,8]}),ke.jsx("span",{onClick:g,className:"auto_load_stop_btn",children:"停止加载"})]}):ke.jsxs("div",{className:"auto_load_container",children:[ke.jsx("div",{onClick:b,className:"auto_load_next_btn",style:{backgroundColor:u?"#f5f5f5":"#2563eb"},children:"加载下一页"}),ke.jsxs("div",{className:"right_control_wrap",style:{backgroundColor:u?"#f5f5f5":"#2563eb"},children:[ke.jsxs("div",{className:"auto_load_btn",onClick:u?void 0:T,children:[s||ke.jsx("img",{src:Q2,alt:"自动加载",width:14,height:14}),ke.jsx("span",{children:"自动加载"})]}),ke.jsx(Qt.Select,{value:f,onChange:p,options:DR,disabled:u,size:"small",className:"auto_load_select",popupMatchSelectWidth:84})]})]}),zR=({current:u,loadIcon:f,pageSize:d,total:s,cachedPages:p,loadedCount:b,autoLoading:T=!1,loadingProgress:g,onChange:S,onLoadNextPage:y,onStartAutoLoad:C,onStopLoading:w})=>{const[q,U]=O.useState(5),R=Math.ceil(s/d),H=O.useMemo(()=>p.length>=R,[p,R]),A=()=>Array.from({length:R},(P,Q)=>Q+1).filter(P=>!p.includes(P)).slice(0,q),L=(B,P,Q)=>{const V=p.includes(B);return P==="prev"||P==="next"||P==="jump-prev"||P==="jump-next"?ke.jsx("div",{className:"pageBox",children:Q}):ke.jsxs("div",{className:"pageBox",style:{backgroundColor:u===B?"#2563EB":"#f5f5f5",color:u===B?"#fff":V?"#171717":"#a3a3a3"},children:[B,!V&&ke.jsx("span",{className:"unload_spot"})]})};return ke.jsxs("div",{className:"pagination_footer",children:[ke.jsxs("div",{className:"pagination_leftWrap",children:[ke.jsxs("span",{className:"pagination_total",children:[ke.jsx(bc.InfoCircleOutlined,{style:{color:"#2563EB",marginRight:"4px"}}),"已加载: ",b,"/",s,"条数据"]}),!H&&ke.jsx(MR,{loadIcon:f||void 0,autoLoading:T,batchSize:q,loadingProgress:g,disabled:!y||!C,onBatchSizeChange:U,onLoadNextPage:()=>y?.(),onStartAutoLoad:()=>{const B=A();C?.(B)},onStopLoad:()=>w?.()})]}),ke.jsx(Qt.Pagination,{current:u,pageSize:d,total:s,onChange:B=>S(B),showSizeChanger:!1,showQuickJumper:!1,showTotal:(B,P)=>"",itemRender:L})]})},Z2=u=>{const{loading:f,autoLoading:d,loadingProgress:s,columns:p=[],dataSource:b=[],total:T,current:g,pageSize:S,cachedPages:y,onChangePage:C,onLoadNextPage:w,onStartAutoLoad:q,onStopLoading:U,...R}=u,H=O.useRef(null),A=O.useCallback(L=>{C(L),y.includes(L)&&H.current?.scrollTo({key:`${(L-1)*S+1}`})},[g]);return ke.jsxs("div",{className:"flex flex-col",children:[ke.jsx(Qt.Table,{ref:H,...R,columns:p,dataSource:b,pagination:!1,virtual:!0}),ke.jsx(zR,{loading:f,autoLoading:d,loadingProgress:s,current:g,pageSize:S,total:T,loadedCount:b.length,cachedPages:y,onChange:A,onLoadNextPage:w,onStartAutoLoad:q,onStopLoading:U})]})};Z2.__docgenInfo={displayName:"VirtualTable",description:"虚拟滚动表格组件,支持分页、数据缓存和自动加载功能。",props:{loading:{description:"加载状态",name:"loading",required:!0,type:{name:"boolean",raw:"boolean"},defaultValue:{value:"false"}},total:{description:"总数据条数",name:"total",required:!0,type:{name:"number",raw:"number"},defaultValue:{value:"0"}},current:{description:"当前页码",name:"current",required:!0,type:{name:"number",raw:"number"},defaultValue:{value:"1"}},pageSize:{description:"每页数据条数",name:"pageSize",required:!0,type:{name:"number",raw:"number"},defaultValue:{value:"10"}},cachedPages:{description:"已缓存的页码数组",name:"cachedPages",required:!0,type:{name:"number[]",raw:"number[]"},defaultValue:{value:"[]"}},dataSource:{description:"数据源",name:"dataSource",required:!0,type:{name:"Array<T>",raw:"Array<T>"},defaultValue:{value:"[]"}},onChangePage:{description:"页码变更回调函数",name:"onChangePage",required:!0,type:{name:"function",raw:"function(page: number): void"},defaultValue:{value:"-"}},autoLoading:{description:"是否正在自动加载",name:"autoLoading",required:!0,type:{name:"boolean",raw:"boolean"},defaultValue:{value:"false"}},loadingProgress:{description:"加载进度信息",name:"loadingProgress",required:!0,type:{name:"object",raw:"{percentage: 0, currentPage: 1, totalPages: 5}"},defaultValue:{value:"-"}},onLoadNextPage:{description:"加载下一页回调函数",name:"onLoadNextPage",required:!1,type:{name:"function",raw:"function(page: number): void"},defaultValue:{value:"-"}},onStartAutoLoad:{description:"开始自动加载回调函数",name:"onStartAutoLoad",required:!1,type:{name:"function",raw:"function(loadNextPages: number[]): void"},defaultValue:{value:"-"}},onStopLoading:{description:"停止加载回调函数",name:"onStopLoading",required:!1,type:{name:"function",raw:"function(): void"},defaultValue:{value:"-"}},columns:{description:"表格列配置",name:"columns",required:!0,type:{name:"Array<object>",raw:"Array<object>"},defaultValue:{value:"[]"}}}};const K2=({texts:u=[],placeholder:f="请输入内容",animationSpeed:d=100,autoPlay:s=!0,value:p,onChange:b,...T})=>{const[g,S]=O.useState(""),[y,C]=O.useState(0),[w,q]=O.useState(!1),[U,R]=O.useState(!1),[H,A]=O.useState(!1),L=O.useRef(void 0),B=O.useRef(void 0),P=O.useRef(u),Q=O.useRef(y),V=O.useRef(U),J=O.useRef(g);O.useEffect(()=>{P.current=u,Q.current=y,V.current=U,J.current=g});const ne=O.useCallback((te,Z)=>{let D=0;A(!0);const k=()=>{D<te.length?(S(te.slice(0,D+1)),D++,B.current=window.setTimeout(k,d)):(A(!1),Z?.())};k()},[d]),ie=O.useCallback(te=>{let Z=J.current.length;const D=()=>{Z>0?(S(J.current.slice(0,Z-1)),Z--,B.current=window.setTimeout(D,d/2)):te?.()};D()},[d]),W=O.useCallback(()=>{if(P.current.length===0||V.current)return;q(!0);const te=P.current[Q.current];J.current?ie(()=>{ne(te,()=>{L.current=window.setTimeout(()=>{C(Z=>(Z+1)%P.current.length),q(!1)},2e3)})}):ne(te,()=>{L.current=window.setTimeout(()=>{C(Z=>(Z+1)%P.current.length),q(!1)},2e3)})},[ie,ne]);O.useEffect(()=>(s&&u.length>0&&!U&&W(),()=>{L.current&&window.clearTimeout(L.current),B.current&&window.clearTimeout(B.current)}),[y,U,s,u.length,W]),O.useEffect(()=>{!w&&s&&u.length>0&&!U&&W()},[y,w,s,u.length,U,W]);const me=te=>{R(!0),L.current&&window.clearTimeout(L.current),B.current&&window.clearTimeout(B.current),q(!1),A(!1),T.onFocus?.(te)},ae=te=>{R(!1),!p&&u.length>0&&(S(""),C(0)),T.onBlur?.(te)},Te=te=>{b?.(te.target.value),T.onChange?.(te)},ce=()=>U||p?f:g||f;return ke.jsxs("div",{style:{position:"relative"},children:[ke.jsx(Qt.Input,{...T,value:p,onChange:Te,onFocus:me,onBlur:ae,placeholder:ce(),style:{...T.style,position:"relative",zIndex:1}}),!U&&!p&&g&&ke.jsxs("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,display:"flex",alignItems:"center",paddingLeft:11,paddingRight:11,color:"#bfbfbf",pointerEvents:"none",zIndex:2,fontSize:14,fontFamily:"inherit"},children:[ke.jsx("span",{children:g}),H&&ke.jsx("span",{style:{display:"inline-block",width:1,height:"1.2em",backgroundColor:"#1890ff",marginLeft:2,animation:"blink 1s infinite"}})]}),ke.jsx("style",{children:`
|
|
306
|
+
root.render(<App />);`),t.unstable_strictMode===!0&&(a=!0),t.identifierPrefix!==void 0&&(i=t.identifierPrefix),t.onUncaughtError!==void 0&&(c=t.onUncaughtError),t.onCaughtError!==void 0&&(h=t.onCaughtError),t.onRecoverableError!==void 0&&(E=t.onRecoverableError),t.unstable_transitionCallbacks!==void 0&&(x=t.unstable_transitionCallbacks)),t=Yv(e,1,!1,null,null,a,i,c,h,E,x,null),e[no]=t.current,Ov(e),new th(t)},pm.hydrateRoot=function(e,t,a){if(!A(e))throw Error("Target container is not a DOM element.");M0(e),t===void 0&&console.error("Must provide initial children as second argument to hydrateRoot. Example usage: hydrateRoot(domContainer, <App />)");var i=!1,c="",h=Pm,E=r0,x=op,N=null,j=null;return a!=null&&(a.unstable_strictMode===!0&&(i=!0),a.identifierPrefix!==void 0&&(c=a.identifierPrefix),a.onUncaughtError!==void 0&&(h=a.onUncaughtError),a.onCaughtError!==void 0&&(E=a.onCaughtError),a.onRecoverableError!==void 0&&(x=a.onRecoverableError),a.unstable_transitionCallbacks!==void 0&&(N=a.unstable_transitionCallbacks),a.formState!==void 0&&(j=a.formState)),t=Yv(e,1,!0,t,a??null,i,c,h,E,x,N,j),t.context=$v(null),a=t.current,i=ml(a),i=Xe(i),c=Kr(i),c.callback=null,Tr(a,c,i),a=i,t.current.lanes=a,Ze(t,a),tr(t),e[no]=t.current,Ov(e),new $f(t)},pm.version="19.1.1",typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),pm}var X2;function bR(){if(X2)return Vg.exports;X2=1;function u(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function")){if(process.env.NODE_ENV!=="production")throw new Error("^_^");try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(u)}catch(f){console.error(f)}}}return process.env.NODE_ENV==="production"?(u(),Vg.exports=yR()):Vg.exports=gR(),Vg.exports}var SR=bR();function fE(u,f,d){if(!u.current)return;const s=new Set,p={};for(const w of f)w.exclusionGroup&&w.exclusionGroup!=="separator"&&(s.add(w.exclusionGroup),p[w.exclusionGroup]||(p[w.exclusionGroup]=[]),p[w.exclusionGroup].push({type:w.type,key:w.key,exclusionGroup:w.exclusionGroup}));const b={};for(const w of s){b[w]=!1;for(const q of p[w])if(q.type==="upload"&&q.key){if(d[q.key]!==null&&d[q.key]!==void 0){b[w]=!0;break}}else if(q.type==="variable"&&q.key){const U=u.current.querySelector(`[data-type="variable"][data-key="${q.key}"]`);if(U&&U.innerText.replace(/[\u200B\n]/g,"").trim().length>0){b[w]=!0;break}}}const T=f.some(w=>w.exclusionGroup==="separator"),S=Object.keys(b).filter(w=>b[w]).length>0;let y=null;if(S&&T){for(const w of f)if(w.exclusionGroup&&w.exclusionGroup!=="separator"&&b[w.exclusionGroup]){y=w.exclusionGroup;break}}for(const w of s){const q=u.current.querySelectorAll(`[data-group="${w}"]`);T&&S&&y?w===y?q.forEach(U=>{U.classList.contains("required-upload-group")?U.style.setProperty("display","inline-flex","important"):(U.classList.contains("exclusion-wrapper"),U.style.setProperty("display","inline-block","important"))}):q.forEach(U=>{U.style.display="none",U.style.setProperty("display","none","important")}):q.forEach(U=>{U.classList.contains("required-upload-group")?U.style.setProperty("display","inline-flex","important"):(U.classList.contains("exclusion-wrapper"),U.style.setProperty("display","inline-block","important"))})}u.current.querySelectorAll('[data-group="separator"]').forEach(w=>{w.style.display=S?"none":"inline"})}function dE(u,f,d,s){if(!u.current){s(!1);return}const p=[];for(let S=0;S<f.length;S++){const y=f[S];if((y.type==="variable"||y.type==="upload"||y.type==="multi-variable"||y.type==="select"||y.type==="textarea"||y.type==="richtext"||y.type==="datepicker")&&y.required&&y.key){p.push({exclusionGroup:y.exclusionGroup||"",key:y.key,type:y.type==="multi-variable"?"variable":y.type,isMultiVariable:y.type==="multi-variable",minCount:y.type==="multi-variable"?y.minCount:void 0});continue}if(y.type==="text"&&y.className?.includes("rte-text-required")&&y.exclusionGroup)for(let C=S+1;C<f.length;C++){const w=f[C];if(w.exclusionGroup===y.exclusionGroup&&(w.type==="variable"||w.type==="upload"||w.type==="select"||w.type==="textarea"||w.type==="richtext"||w.type==="datepicker")&&w.key){p.push({exclusionGroup:y.exclusionGroup,key:w.key,type:w.type});break}}}const b=f.some(S=>S.exclusionGroup==="separator");let T=!1;if(b&&p.length>1){const S=f.findIndex(w=>w.exclusionGroup==="separator"),y=p.filter(w=>f.findIndex(U=>(U.type==="variable"||U.type==="upload"||U.type==="select"||U.type==="textarea"||U.type==="richtext"||U.type==="datepicker")&&U.key===w.key&&U.exclusionGroup===w.exclusionGroup)<S),C=p.filter(w=>f.findIndex(U=>(U.type==="variable"||U.type==="upload"||U.type==="select"||U.type==="textarea"||U.type==="richtext")&&U.key===w.key&&U.exclusionGroup===w.exclusionGroup)>S);T=y.length>0&&C.length>0}if(p.length===0){if(f.length===0){if(!u.current){s(!1);return}const S=u.current.textContent?.replace(/[\u200B\n]/g,"").trim()||"";s(S.length>0);return}s(!0);return}const g=p.filter(S=>{if(!u.current)return!1;if(S.exclusionGroup){const y=u.current.querySelectorAll(`[data-group="${S.exclusionGroup}"]`);if(y.length>0)return y[0].style.display!=="none"}if(S.type==="upload"&&S.key){const y=u.current.querySelector(`[data-type="upload"][data-key="${S.key}"]`);if(y){const C=y.closest("[data-group]")||y.parentElement;return C?C.style.display!=="none":!0}}else if(S.type==="variable"&&S.key)if(S.isMultiVariable){const y=u.current.querySelectorAll(`[data-type="variable"][data-multi-key="${S.key}"]`);if(y.length>0){const C=y[0],w=C.closest("[data-group]")||C.parentElement;return w?w.style.display!=="none":!0}}else{const y=u.current.querySelector(`[data-type="variable"][data-key="${S.key}"]`);if(y){const C=y.closest("[data-group]")||y.parentElement;return C?C.style.display!=="none":!0}}else if(S.type==="select"&&S.key){const y=u.current.querySelector(`[data-type="select"][data-key="${S.key}"]`);if(y){const C=y.closest("[data-group]")||y.parentElement;return C?C.style.display!=="none":!0}}else if(S.type==="textarea"&&S.key){const y=u.current.querySelector(`[data-type="textarea"][data-key="${S.key}"]`);if(y){const C=y.closest("[data-group]")||y.parentElement;return C?C.style.display!=="none":!0}}else if(S.type==="richtext"&&S.key){const y=u.current.querySelector(`[data-type="richtext"][data-key="${S.key}"]`);if(y){const C=y.closest("[data-group]")||y.parentElement;return C?C.style.display!=="none":!0}}else if(S.type==="datepicker"&&S.key){const y=u.current.querySelector(`[data-type="datepicker"][data-key="${S.key}"]`);if(y){const C=y.closest("[data-group]")||y.parentElement;return C?C.style.display!=="none":!0}}return!1});if(g.length===0){s(!0);return}if(T){let S=!1;for(const y of g)if(y.type==="upload"&&y.key){if(d[y.key]!==null&&d[y.key]!==void 0){S=!0;break}}else if(y.type==="variable"&&y.key)if(y.isMultiVariable){const C=u.current.querySelectorAll(`[data-type="variable"][data-multi-key="${y.key}"]`);let w=0;for(const U of Array.from(C))U.innerText.replace(/[\u200B\n]/g,"").trim().length>0&&(w+=1);const q=y.minCount&&y.minCount>0?y.minCount:1;if(w>=q){S=!0;break}}else{const C=u.current.querySelector(`[data-type="variable"][data-key="${y.key}"]`);if(C&&C.innerText.replace(/[\u200B\n]/g,"").trim().length>0){S=!0;break}}else if(y.type==="select"&&y.key){const C=u.current.querySelector(`[data-type="select"][data-key="${y.key}"]`);if(C&&(C.value||"").trim().length>0){S=!0;break}}else if(y.type==="textarea"&&y.key){const C=u.current.querySelector(`[data-type="textarea"][data-key="${y.key}"]`);if(C&&(C.value||"").trim().length>0){S=!0;break}}else if(y.type==="richtext"&&y.key){const C=u.current.querySelector(`[data-type="richtext"][data-key="${y.key}"]`);if(C&&(C.textContent||"").replace(/[\u200B]/g,"").trim().length>0){S=!0;break}}else if(y.type==="datepicker"&&y.key){const C=u.current.querySelector(`[data-type="datepicker"][data-key="${y.key}"]`);if(C&&(C.getAttribute("data-value")||"").trim().length>0){S=!0;break}}s(S)}else{let S=!0;for(const y of g)if(y.type==="upload"&&y.key){if(d[y.key]===null||d[y.key]===void 0){S=!1;break}}else if(y.type==="variable"&&y.key)if(y.isMultiVariable){const C=u.current.querySelectorAll(`[data-type="variable"][data-multi-key="${y.key}"]`);let w=0;for(const U of Array.from(C))U.innerText.replace(/[\u200B\n]/g,"").trim().length>0&&(w+=1);const q=y.minCount&&y.minCount>0?y.minCount:1;if(w<q){S=!1;break}}else{const C=u.current.querySelector(`[data-type="variable"][data-key="${y.key}"]`);if(!C){S=!1;break}if(C.innerText.replace(/[\u200B\n]/g,"").trim().length===0){S=!1;break}}else if(y.type==="select"&&y.key){const C=u.current.querySelector(`[data-type="select"][data-key="${y.key}"]`);if(!C||(C.value||"").trim().length===0){S=!1;break}}else if(y.type==="textarea"&&y.key){const C=u.current.querySelector(`[data-type="textarea"][data-key="${y.key}"]`);if(!C||(C.value||"").trim().length===0){S=!1;break}}else if(y.type==="richtext"&&y.key){const C=u.current.querySelector(`[data-type="richtext"][data-key="${y.key}"]`);if(!C||(C.textContent||"").replace(/[\u200B]/g,"").trim().length===0){S=!1;break}}else if(y.type==="datepicker"&&y.key){const C=u.current.querySelector(`[data-type="datepicker"][data-key="${y.key}"]`);if(!C||(C.getAttribute("data-value")||"").trim().length===0){S=!1;break}}s(S)}}function pE(u,f){if(!u.current)return;u.current.querySelectorAll('[data-type="variable"]').forEach(s=>{const p=s.innerText.replace(/\n/g,"");p.replace(/\u200B/g,"")?s.classList.remove("show-placeholder"):(p!==""&&(s.innerText=""),s.classList.add("show-placeholder"))})}function ER(u,f,d,s,p,b={},T){if(!u.current)return;let g="",S=0;for(;S<f.length;){const y=f[S],C=S+1<f.length?f[S+1]:null;if(y.type==="text"&&(y.text?.includes("icon-bitian")||y.className==="rte-text-required")&&C){const A=C.type==="upload"&&C.exclusionGroup==="fileInput"&&y.exclusionGroup==="fileInput"&&y.exclusionGroup===C.exclusionGroup,L=C.type==="variable"&&C.exclusionGroup==="textInput"&&y.exclusionGroup==="textInput"&&y.exclusionGroup===C.exclusionGroup;if(A){const P=`<span ${y.exclusionGroup?`data-group="${y.exclusionGroup}"`:""} class="exclusion-wrapper required-upload-group">`,Q="</span>";let V="";y.className?V=`<span class="${y.className}">${y.text??""}</span>`:V=y.text??"";const J=C,ne=d[J.key]!==null&&d[J.key]!==void 0,ie=ne?d[J.key]:null,W=ne?d[J.key]?.name:J.text,me=ne?"":"hidden",ae=J.tooltip&&!ne?"":"hidden",Te=ne?"has-file":"",ce=ne&&W?` data-file-name="${W.replace(/"/g,""")}"`:"";let te="";ne&&ie&&(ie.type?.startsWith("image/")?te=`<img class="upload-icon-img upload-icon-preview" src="${URL.createObjectURL(ie)}" alt="preview" />`:te="<i class='iconfont icon-exlwenjian'></i>");const Z=`<span contenteditable="false" data-type="upload" data-key="${J.key}" class="upload-chip"><span class="upload-inner-wrapper ${Te}"><span class="upload-icon">${te}</span><span class="upload-label"${ce}>${W||J.text}</span>${J.tooltip?`<i contenteditable="false" class="iconfont icon-tishi upload-info-icon ${ae}" data-upload-key="${J.key}" data-tooltip="${J.tooltip}" title="提示"></i>`:""}<span class="file-remove-btn ${me}" title="移除文件">×</span></span></span>`;g+=P+V+Z+Q,S+=2;continue}if(L){const P=`<span ${y.exclusionGroup?`data-group="${y.exclusionGroup}"`:""} class="exclusion-wrapper required-upload-group">`,Q="</span>";let V="";y.className?V=`<span class="${y.className}">${y.text??""}</span>`:V=y.text??"";const J=C,ie=(J.key?p[J.key]:void 0)||J.text||"",W=!ie,me=W?"":ie,ae=W?"show-placeholder":"",Te=J.exclusionGroup?` data-group="${J.exclusionGroup}"`:"",ce=J.tooltip?` data-tooltip="${J.tooltip.replace(/"/g,""")}" data-variable-key="${J.key||""}"`:"",te=J.tooltip&&W?"":"hidden",Z=`<span contenteditable="true" data-type="variable" data-key="${J.key}" data-placeholder="${J.placeholder||""}"${Te}${ce} class="variable-chip ${ae}">${me}${J.tooltip?`<i contenteditable="false" class="iconfont icon-tishi variable-info-icon ${te}" data-variable-key="${J.key}" data-tooltip="${J.tooltip.replace(/"/g,""")}" title="提示"></i>`:""}</span>`;g+=P+V+Z+Q,S+=2;continue}}const q=y.exclusionGroup?`data-group="${y.exclusionGroup}"`:"",U=y.exclusionGroup?`<span ${q} class="exclusion-wrapper">`:"",R=y.exclusionGroup?"</span>":"";let H="";if(y.type==="tag"){const L=s||T==="hideTagClose"?"":'<span class="tag-close-btn" title="Clear (ESC)"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6L6 18M6 6l12 12"/></svg></span>',B=s?' data-locked="true"':"",P=y.tooltip?` data-tooltip="${y.tooltip.replace(/"/g,""")}" data-tag-key="${y.key||""}"`:"";H=`<span contenteditable="false" class="tag-node group"${B}${P}><span class="tag-label">${y.text}</span>${L}</span>`}else if(y.type==="text"){const A=s?' data-locked="true" contenteditable="false"':' contenteditable="false"',B=(y.text??"").replace(/\n/g,"<br/>");y.className?H=`<span class="${y.className}"${A}>${B}</span>`:H=s?`<span${A}>${B}</span>`:`<span contenteditable="false">${B}</span>`}else if(y.type==="variable"&&y.key){const L=p[y.key]||y.text||"",B=!L,P=B?"":L,Q=B?"show-placeholder":"",V=y.exclusionGroup?` data-group="${y.exclusionGroup}"`:"",J=y.tooltip?` data-tooltip="${y.tooltip.replace(/"/g,""")}" data-variable-key="${y.key||""}"`:"",ne=y.tooltip&&B?"":"hidden",ie=`<span contenteditable="true" data-type="variable" data-key="${y.key}" data-placeholder="${y.placeholder||""}"${V}${J} class="variable-chip ${Q}">${P}${y.tooltip?`<i contenteditable="false" class="iconfont icon-tishi variable-info-icon ${ne}" data-variable-key="${y.key}" data-tooltip="${y.tooltip.replace(/"/g,""")}" title="提示"></i>`:""}</span>`;y.required?H=`<span ${y.exclusionGroup?`data-group="${y.exclusionGroup}"`:""} class="exclusion-wrapper required-upload-group"><span class="rte-text-required"><i class='iconfont icon-bitian' style='font-size: 10px;'></i></span>${ie}</span>`:H=ie}else if(y.type==="upload"&&y.key){const A=d[y.key]!==null&&d[y.key]!==void 0,L=A?d[y.key]:null,B=A?d[y.key]?.name:y.text,P=A?"":"hidden",Q=y.tooltip&&!A?"":"hidden",V=A?"has-file":"",J=A&&B?` data-file-name="${B.replace(/"/g,""")}"`:"";let ne="";A&&L&&(L.type?.startsWith("image/")?ne=`<img class="upload-icon-img upload-icon-preview" src="${URL.createObjectURL(L)}" alt="preview" />`:ne="<i class='iconfont icon-exlwenjian'></i>");const ie=`<span contenteditable="false" data-type="upload" data-key="${y.key}" class="upload-chip"><span class="upload-inner-wrapper ${V}"><span class="upload-icon">${ne}</span><span class="upload-label"${J}>${B||y.text}</span>${y.tooltip?`<i contenteditable="false" class="iconfont icon-tishi upload-info-icon ${Q}" data-upload-key="${y.key}" data-tooltip="${y.tooltip}" title="提示"></i>`:""}<span class="file-remove-btn ${P}" title="移除文件">×</span></span></span>`;y.required?H=`<span ${y.exclusionGroup?`data-group="${y.exclusionGroup}"`:""} class="exclusion-wrapper required-upload-group"><span class="rte-text-required"><i class='iconfont icon-bitian' style='font-size: 10px;'></i></span>${ie}</span>`:H=ie}else if(y.type==="select"&&y.key){const A=p[y.key]||"",L=(y.options||[]).map(Q=>{const V=A===Q.value?"selected":"";return`<option value="${Q.value}" ${V}>${Q.label}</option>`}).join(""),B=y.placeholder?`<option value="" ${A?"":"selected"} disabled hidden>${y.placeholder}</option>`:"",P=`<select data-type="select" data-key="${y.key}" class="rte-select">${B}${L}</select>`;y.required?H=`<span ${y.exclusionGroup?`data-group="${y.exclusionGroup}"`:""} class="exclusion-wrapper required-upload-group"><span class="rte-text-required"><i class='iconfont icon-bitian' style='font-size: 10px;'></i></span>${P}</span>`:H=P}else if(y.type==="textarea"&&y.key){const A=p[y.key]||"",L=y.maxHeight||252,B=y.expandable!==!1,P=y.placeholder?` placeholder="${y.placeholder}"`:"",Q=`<textarea data-type="textarea" data-key="${y.key}" class="rte-textarea" data-max-height="${L}" style="max-height:${L}px;"${P}>${A}</textarea>`,V=B?`<button type="button" class="rte-textarea-toggle" data-key="${y.key}" data-expanded="false">展开</button>`:"",J=`<div class="rte-textarea-wrapper" data-key="${y.key}">${Q}${V}</div>`;y.required?H=`<span ${y.exclusionGroup?`data-group="${y.exclusionGroup}"`:""} class="exclusion-wrapper required-upload-group"><span class="rte-text-required"><i class='iconfont icon-bitian' style='font-size: 10px;'></i></span>${J}</span>`:H=J}else if(y.type==="richtext"&&y.key){const A=p[y.key]||y.text||"",L=y.minHeight||140,B=y.placeholder?` data-placeholder="${y.placeholder}"`:"",P=y.expandable!==!1,Q=A.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'"),V=`<div contenteditable="true" data-type="richtext" data-key="${y.key}" class="rte-richtext"${B} style="min-height:${L}px;">${Q}</div>`,J=P?`<button type="button" class="rte-richtext-toggle" data-key="${y.key}" data-expanded="false">展开</button>`:"",ne=`<div class="rte-richtext-wrapper" data-key="${y.key}">${V}${J}</div>`,ie=`<div class="rte-richtext-container" data-key="${y.key}">${ne}</div>`;y.required?H=`<div ${y.exclusionGroup?`data-group="${y.exclusionGroup}"`:""} class="exclusion-wrapper required-upload-group rte-richtext-required"><span class="rte-text-required"><i class='iconfont icon-bitian' style='font-size: 10px;'></i></span>${ie}</div>`:H=ie}else if(y.type==="datepicker"&&y.key){const A=p[y.key]||"",L=y.placeholder?` data-placeholder="${y.placeholder}"`:"",B=`<div data-type="datepicker" data-key="${y.key}" data-value="${A}" class="rte-datepicker-host"${L}></div>`;y.required?H=`<span ${y.exclusionGroup?`data-group="${y.exclusionGroup}"`:""} class="exclusion-wrapper required-upload-group"><span class="rte-text-required"><i class='iconfont icon-bitian' style='font-size: 10px;'></i></span>${B}</span>`:H=B}else if(y.type==="multi-variable"&&y.key){const A=y.maxCount||9,L=b[y.key]||1,B=Math.min(L,A);if(y.required){const P=`<span class="rte-text-required"><i class='iconfont icon-bitian' style='font-size: 10px;'></i></span>`,Q=y.exclusionGroup?`data-group="${y.exclusionGroup}"`:"";let V="";for(let J=0;J<B;J++){const ne=`${y.key}_${J}`,ie=p[ne]||"",W=!ie,me=W?"":ie,ae=W?"show-placeholder":"",Te=y.tooltip?` data-tooltip="${y.tooltip.replace(/"/g,""")}" data-variable-key="${y.key||""}"`:"",ce=y.tooltip&&W?"":"hidden",te=`<span contenteditable="true" data-type="variable" data-key="${ne}" data-multi-key="${y.key}" data-index="${J}" data-placeholder="${y.placeholder||""}"${Te} class="variable-chip ${ae}">${me}${y.tooltip?`<i contenteditable="false" class="iconfont icon-tishi variable-info-icon ${ce}" data-variable-key="${y.key}" data-tooltip="${y.tooltip.replace(/"/g,""")}" title="提示"></i>`:""}</span>`;J===0?V+=`<span ${Q} class="exclusion-wrapper required-upload-group required-multi-first">${P}${te}</span>`:V+=te}H=V}else{let P="";for(let Q=0;Q<B;Q++){const V=`${y.key}_${Q}`,J=p[V]||"",ne=!J,ie=ne?"":J,W=ne?"show-placeholder":"",me=y.tooltip?` data-tooltip="${y.tooltip.replace(/"/g,""")}" data-variable-key="${y.key||""}"`:"",ae=y.tooltip&&ne?"":"hidden",Te=`<span contenteditable="true" data-type="variable" data-key="${V}" data-multi-key="${y.key}" data-index="${Q}" data-placeholder="${y.placeholder||""}"${me} class="variable-chip ${W}">${ie}${y.tooltip?`<i contenteditable="false" class="iconfont icon-tishi variable-info-icon ${ae}" data-variable-key="${y.key}" data-tooltip="${y.tooltip.replace(/"/g,""")}" title="提示"></i>`:""}</span>`;P+=Te}H=P}}g+=U+H+R,S++}u.current&&(u.current.innerHTML=g,setTimeout(()=>{if(!u.current)return;u.current.querySelectorAll('[data-type="variable"]').forEach(C=>{const w=C.innerText.replace(/\n/g,"");w.replace(/\u200B/g,"")?C.classList.remove("show-placeholder"):(w!==""&&(C.innerText=""),C.classList.add("show-placeholder"))})},0))}function TR(u,f,d,s,p={},b,T,g){const S=O.useCallback(()=>{if(!u.current)return;if(f.length===0){u.current.innerHTML="";return}let y={};const w=u.current.__tempVariableValues;if(w?(y=w,setTimeout(()=>{if(u.current){const q=u.current;q.__tempVariableValues===w&&delete q.__tempVariableValues}},100)):(u.current.querySelectorAll('[data-type="variable"]').forEach(L=>{const B=L.dataset.key;if(B){const P=L.innerText.replace(/[\u200B\n]/g,"").trim();P&&(y[B]=P)}}),u.current.querySelectorAll('[data-type="select"]').forEach(L=>{const B=L.dataset.key;if(B){const P=L.value.trim();P&&(y[B]=P)}}),u.current.querySelectorAll('[data-type="textarea"]').forEach(L=>{const B=L.dataset.key;if(B){const P=L.value.replace(/[\u200B]/g,"").trim();P&&(y[B]=P)}}),u.current.querySelectorAll('[data-type="richtext"]').forEach(L=>{const B=L.dataset.key;if(B){const P=(L.textContent||"").replace(/[\u200B]/g,"").trim();P&&(y[B]=P)}}),u.current.querySelectorAll('[data-type="datepicker"]').forEach(L=>{const B=L.dataset.key;if(B){const P=(L.getAttribute("data-value")||"").trim();P&&(y[B]=P)}})),ER(u,f,d,s,y,p,g),b?.current){const{key:q,offset:U}=b.current;setTimeout(()=>{if(!u.current)return;const R=u.current.querySelector(`[data-type="variable"][data-key="${q}"]`);if(R){try{const H=document.createRange(),A=document.createTreeWalker(R,NodeFilter.SHOW_TEXT,null);let L=0,B=null,P=0;for(;A.nextNode();){const Q=A.currentNode,V=Q.textContent?.length||0;if(L+V>=U){B=Q,P=U-L;break}L+=V}if(B){H.setStart(B,Math.min(P,B.textContent?.length||0)),H.collapse(!0);const Q=window.getSelection();Q&&(Q.removeAllRanges(),Q.addRange(H),R.focus())}else{H.selectNodeContents(R),H.collapse(!1);const Q=window.getSelection();Q&&(Q.removeAllRanges(),Q.addRange(H),R.focus())}}catch{const H=document.createRange();H.selectNodeContents(R),H.collapse(!1);const A=window.getSelection();A&&(A.removeAllRanges(),A.addRange(H),R.focus())}b.current=null}},0)}},[f,d,s,u,p,b,T,g]);O.useEffect(()=>{S()},[S])}function xR(u,f,d,s){O.useEffect(()=>{const p=u.current;if(!p)return;const b=g=>{const S=g.target?.closest(".upload-info-icon");if(S&&S.classList.contains("upload-info-icon")){const C=S.dataset.uploadKey;C&&s({key:C,anchorEl:S,type:"upload"});return}const y=g.target?.closest('[data-type="upload"]');if(y){const C=y.dataset.key;if(C){const w=d[C];w&&w.type&&w.type.startsWith("image/")&&s({key:C,anchorEl:y,type:"upload-preview"})}}},T=g=>{const S=g.target?.closest(".upload-info-icon"),y=g.relatedTarget;if(S&&S.classList.contains("upload-info-icon")){!y||!p.contains(y)?s(null):y.closest(".upload-info-icon")||s(null);return}const C=g.target?.closest('[data-type="upload"]');if(C){const w=y;if(w&&C.contains(w))return;s(null)}};return p.addEventListener("mouseover",b,!0),p.addEventListener("mouseout",T,!0),()=>{p.removeEventListener("mouseover",b,!0),p.removeEventListener("mouseout",T,!0)}},[f,d,u,s])}function OR(u,f,d,s){O.useEffect(()=>{if(!u.current)return;const p=S=>{if(s==="hideTagClose")return;const y=S.currentTarget,C=y.dataset.tooltip,w=y.dataset.tagKey||"";C&&d({key:w,anchorEl:y,type:"tag"})},b=()=>{d(null)};let T;const g=()=>{if(!u.current)return;u.current.querySelectorAll(".tag-node[data-tooltip]").forEach(y=>{y.addEventListener("mouseenter",p),y.addEventListener("mouseleave",b)})};return T=requestAnimationFrame(()=>{T=requestAnimationFrame(g)}),()=>{cancelAnimationFrame(T),u.current&&u.current.querySelectorAll(".tag-node[data-tooltip]").forEach(y=>{y.removeEventListener("mouseenter",p),y.removeEventListener("mouseleave",b)})}},[f,u,d,s])}function CR(u,f,d){O.useEffect(()=>{const s=u.current;if(!s)return;const p=T=>{const g=T.target?.closest(".variable-info-icon");if(g&&g.classList.contains("variable-info-icon")){const S=g.dataset.variableKey;S&&d({key:S,anchorEl:g,type:"variable"})}},b=T=>{const g=T.target?.closest(".variable-info-icon"),S=T.relatedTarget;g&&g.classList.contains("variable-info-icon")&&(!S||!s.contains(S)?d(null):S.closest(".variable-info-icon")||d(null))};return s.addEventListener("mouseover",p,!0),s.addEventListener("mouseout",b,!0),()=>{s.removeEventListener("mouseover",p,!0),s.removeEventListener("mouseout",b,!0)}},[f,u,d])}function _R(u,f,d,s){O.useEffect(()=>{if(!u.current)return;const p=S=>{const y=S.currentTarget;y.dataset.fileName&&s({key:"",anchorEl:y,type:"upload-label"})},b=()=>{s(null)};let T;const g=()=>{if(!u.current)return;u.current.querySelectorAll(".upload-label[data-file-name]").forEach(y=>{y.addEventListener("mouseenter",p),y.addEventListener("mouseleave",b)})};return T=requestAnimationFrame(()=>{T=requestAnimationFrame(g)}),()=>{cancelAnimationFrame(T),u.current&&u.current.querySelectorAll(".upload-label[data-file-name]").forEach(y=>{y.removeEventListener("mouseenter",p),y.removeEventListener("mouseleave",b)})}},[f,d,u,s])}function AR(u,f,d,s){O.useEffect(()=>{fE(u,f,d),dE(u,f,d,s)},[d,f,u,s])}function wR(u,f){O.useEffect(()=>{if(!u.current)return;let d=!1,s=0;const p=()=>{d=!0},b=()=>{d=!1,s=Date.now()};let T=!1,g=0;const S=()=>{T=!0},y=()=>{T=!1,g=Date.now()},C=()=>{g=Date.now()},w=()=>{if(!u.current)return;const U=window.getSelection();if(!U||U.rangeCount===0||f.current||d||T||Date.now()-g<500)return;const R=U.getRangeAt(0);if(!R.collapsed)return u.current.contains(R.commonAncestorContainer),void 0;const H=U.anchorNode;if(!H||!u.current.contains(H))return;let A=null;if(H.nodeType===Node.ELEMENT_NODE?A=H.closest('[data-type="variable"]'):H.nodeType===Node.TEXT_NODE&&H.parentElement&&(A=H.parentElement.closest('[data-type="variable"]')),!A){if(Date.now()-s>500)return;const L=u.current.querySelectorAll('[data-type="variable"]');if(L.length>0){let B=null;for(const P of Array.from(L))if(P.style.display!=="none"){B=P;break}if(!B&&L.length>0&&(B=L[0]),B){const P=document.createRange();P.selectNodeContents(B),P.collapse(!1),U.removeAllRanges(),U.addRange(P),B.focus()}else U.removeAllRanges()}else U.removeAllRanges()}},q=u.current;return q&&(q.addEventListener("compositionstart",S),q.addEventListener("compositionend",y),q.addEventListener("input",C)),document.addEventListener("mousedown",p),document.addEventListener("mouseup",b),document.addEventListener("selectionchange",w),()=>{const U=u.current;U&&(U.removeEventListener("compositionstart",S),U.removeEventListener("compositionend",y),U.removeEventListener("input",C)),document.removeEventListener("mousedown",p),document.removeEventListener("mouseup",b),document.removeEventListener("selectionchange",w)}},[u,f])}const P2=({config:u,onSend:f,isProcessing:d=!1,disabled:s=!1,width:p,lockStructure:b=!1,agentOptions:T=[],onAgentSelect:g,onAgentExit:S,loading:y=!1,placeholder:C,border:w,background:q="transparent",hideButtons:U})=>{const R=O.useRef(null),H=O.useRef(null),[A,L]=O.useState({}),[B,P]=O.useState(null),[Q,V]=O.useState(null),J=O.useRef(!1),ne=O.useRef(null),[ie,W]=O.useState(!1),me=O.useRef(null),[ae,Te]=O.useState(!0),[ce,te]=O.useState(()=>{const ye={};return u.forEach(I=>{I.type==="multi-variable"&&I.key&&(ye[I.key]=1)}),ye}),Z=O.useRef({}),D=O.useRef({}),k=O.useRef({});O.useEffect(()=>{D.current=A},[A]),O.useEffect(()=>{k.current=ce},[ce]);const Y=O.useCallback(ye=>ye.find(se=>se.type==="tag")?.text||null,[]),ue=O.useRef(u),M=O.useRef(null);O.useEffect(()=>{const ye=Y(ue.current),I=Y(u);if(ye&&ye!==I&&R.current){const se={};R.current.querySelectorAll('[data-type="variable"]').forEach(Ae=>{const We=Ae.dataset.key;if(We){const Pe=Ae.innerText.replace(/[\u200B\n]/g,"").trim();Pe&&(se[We]=Pe)}}),R.current.querySelectorAll('[data-type="select"]').forEach(Ae=>{const We=Ae.dataset.key;if(We){const Pe=Ae.value.trim();Pe&&(se[We]=Pe)}}),R.current.querySelectorAll('[data-type="textarea"]').forEach(Ae=>{const We=Ae.dataset.key;if(We){const Pe=Ae.value.replace(/[\u200B]/g,"").trim();Pe&&(se[We]=Pe)}}),Z.current[ye]={variableValues:se,files:{...D.current},multiVariableCounts:{...k.current}}}if(I&&Z.current[I]){const se=Z.current[I];M.current=se,L(se.files),te(se.multiVariableCounts)}else if(I){M.current=null;const se={};u.forEach(Ue=>{Ue.type==="multi-variable"&&Ue.key&&(se[Ue.key]=1)}),te(se),L({})}else M.current=null,te({}),L({});ue.current=u},[u,Y]),O.useLayoutEffect(()=>{M.current&&R.current&&(R.current.__tempVariableValues=M.current.variableValues,setTimeout(()=>{M.current&&(M.current=null)},0))}),TR(R,u,A,b,ce,me,void 0,U),xR(R,u,A,V),OR(R,u,V,U),_R(R,u,A,V),CR(R,u,V),AR(R,u,A,W),wR(R,J),O.useEffect(()=>{if(!R.current)return;R.current.querySelectorAll('[data-type="datepicker"]').forEach(I=>{const se=I,Ue=se.dataset.key||"";if(se.__dpRoot)return;const pe=SR.createRoot(se);se.__dpRoot=pe;const Ve=se.getAttribute("data-placeholder")||"",Ae=se.getAttribute("data-value")||"",We=Ae?$l(Ae):void 0;pe.render(ke.jsx(pR,{className:"rte-datepicker-input",placeholder:Ve,prefix:ke.jsx(oE,{}),value:We,onChange:(Pe,Ne)=>{const Ze=Array.isArray(Ne)?Ne[0]:Ne;se.setAttribute("data-value",Ze||"");const Ye=R.current;Ye&&(Ye.__tempVariableValues={...Ye.__tempVariableValues||{},[Ue]:Ze||""})}}))})},[u,ce]),O.useEffect(()=>{if(u.length>0){Te(!1);return}const ye=()=>{if(!R.current){Te(!0);return}const se=R.current.textContent?.replace(/[\u200B\n]/g,"").trim()||"",Ue=R.current.querySelectorAll('[data-type="variable"]'),pe=R.current.querySelectorAll('[data-type="upload"]');let Ve=!1;Ue.forEach(We=>{(We.textContent?.replace(/[\u200B\n]/g,"").trim()||"")&&(Ve=!0)}),pe.forEach(We=>{We.querySelector(".upload-inner-wrapper.has-file")&&(Ve=!0)});const Ae=!se&&!Ve;Te(Ae),u.length===0&&W(!Ae)};ye();const I=new MutationObserver(ye);return R.current&&I.observe(R.current,{childList:!0,subtree:!0,characterData:!0}),()=>{I.disconnect()}},[u]);const K=ye=>{if(s){ye.preventDefault();return}ye.preventDefault();const I=ye.clipboardData.getData("text/plain"),se=window.getSelection();if(se&&se.rangeCount>0){const Ue=se.anchorNode;if(Ue){let pe=null;if(Ue.nodeType===Node.ELEMENT_NODE?pe=Ue.closest('[data-type="variable"]'):Ue.nodeType===Node.TEXT_NODE&&Ue.parentElement&&(pe=Ue.parentElement.closest('[data-type="variable"]')),pe){const Ve=pe.dataset.multiKey;if(Ve){const Ae=/[、,,\s\n\r\t]+/,We=I.split(Ae).map(Pe=>Pe.trim()).filter(Pe=>Pe.length>0);if(console.log("[Paste Event] 粘贴的内容:",I),console.log("[Paste Event] 拆分后的值:",We),We.length>1){const Pe=parseInt(pe.dataset.index||"0",10),Ne=u.find(Jt=>Jt.type==="multi-variable"&&Jt.key===Ve)?.maxCount||9,Ze=ce[Ve]||1,Ye=Math.min(Pe+We.length,Ne);Ye>Ze&&te(gt=>({...gt,[Ve]:Ye}));const Ke=[];for(let gt=0;gt<Ze;gt++){const Jt=`${Ve}_${gt}`,In=R.current.querySelector(`[data-type="variable"][data-key="${Jt}"][data-multi-key="${Ve}"]`);if(In){const Mn=In.innerText.replace(/[\u200B\n]/g,"").trim();Ke.push(Mn)}}Ke.splice(Pe,1,...We.slice(0,Ne-Pe));const it=Ke.slice(0,Ne);it.length>0&&it[it.length-1]!==""&&it.length<Ne&&it.push("");const Xe=Math.max(it.length,1),dt={};it.forEach((gt,Jt)=>{gt&&(dt[`${Ve}_${Jt}`]=gt)}),R.current.querySelectorAll('[data-type="variable"]').forEach(gt=>{const Jt=gt.dataset.key,In=gt.dataset.multiKey;if(Jt&&In!==Ve){const Mn=gt.innerText.replace(/[\u200B\n]/g,"").trim();Mn&&(dt[Jt]=Mn)}}),R.current.__tempVariableValues=dt,te(gt=>({...gt,[Ve]:Xe})),console.log("[Paste Event] 粘贴完成,已填充到多个输入框,值:",it);return}else We.length===1&&console.log("[Paste Event] 粘贴单个值,将在失去焦点时检查是否需要拆分")}}}}document.execCommand("insertText",!1,I),Be(),setTimeout(()=>{const Ue=window.getSelection();if(Ue&&Ue.rangeCount>0){const pe=Ue.anchorNode;if(pe){let Ve=null;if(pe.nodeType===Node.ELEMENT_NODE?Ve=pe.closest('[data-type="variable"][data-multi-key]'):pe.nodeType===Node.TEXT_NODE&&pe.parentElement&&(Ve=pe.parentElement.closest('[data-type="variable"][data-multi-key]')),Ve){const Ae=Ve.innerText.replace(/[\u200B\n]/g,"").trim();/[、,,\s]+/.test(Ae)&&(console.log("[Paste Event] 粘贴后检测到分隔符,内容:",Ae),console.log("[Paste Event] 提示:失去焦点后将自动拆分"))}}}},0)},re=ye=>{if(ye.target.files&&ye.target.files[0]&&B){const I=ye.target.files[0],se=B;L(Ue=>({...Ue,[se]:I}))}ye.target&&(ye.target.value=""),P(null)},le=ye=>{L(I=>{const se={...I};return delete se[ye],se})},be=ye=>{const I=ye.target;if(I.closest(".tag-close-btn")){if(ye.preventDefault(),ye.stopPropagation(),b)return;V(null),S?S():R.current&&(R.current.innerHTML="",R.current.focus());return}if(b){const pe=I.closest(".tag-node"),Ve=I.closest('[data-type="text"]');if(pe||Ve){ye.preventDefault(),ye.stopPropagation();const Ae=window.getSelection();Ae&&Ae.removeAllRanges();return}}I.closest('[data-type="variable"]')||(ne.current={x:ye.clientX,y:ye.clientY},J.current=!1,I.closest(".file-remove-btn")&&(ye.preventDefault(),ye.stopPropagation()))},Me=ye=>{if(!ye.target.closest('[data-type="variable"]')&&ne.current){const Ue=Math.abs(ye.clientX-ne.current.x),pe=Math.abs(ye.clientY-ne.current.y);(Ue>3||pe>3)&&(J.current=!0)}},Oe=ye=>{if(ye.target.closest('[data-type="variable"]')){ne.current=null,J.current=!1;return}ne.current=null,J.current=!1},ze=ye=>{if(s)return;const I=ye.target;if(I.closest('[data-type="datepicker"]'))return;if(I.closest(".tag-close-btn")){ye.preventDefault(),ye.stopPropagation();return}if(u.length===0)return;const pe=(Ye,Ke)=>{if(!R.current)return;Array.from(R.current.children).forEach(Xe=>{if(Xe!==Ye)if(Ke)Xe.dataset.prevDisplay===void 0&&(Xe.dataset.prevDisplay=Xe.style.display||""),Xe.style.setProperty("display","none","important");else if(Xe.dataset.prevDisplay!==void 0){const dt=Xe.dataset.prevDisplay;dt?Xe.style.display=dt:Xe.style.removeProperty("display"),delete Xe.dataset.prevDisplay}else Xe.style.removeProperty("display")})},Ve=I.closest(".rte-textarea-toggle");if(Ve){ye.preventDefault(),ye.stopPropagation();const Ye=Ve.closest(".rte-textarea-wrapper"),Ke=Ye?.querySelector('[data-type="textarea"]'),Xe=!(Ve.getAttribute("data-expanded")==="true");Ve.setAttribute("data-expanded",String(Xe)),Ve.textContent=Xe?"收起":"展开",Ye&&Ye.classList.toggle("rte-textarea-expanded",Xe);const dt=Ye?.closest(".rte-textarea-required");if(dt?dt.classList.toggle("rte-textarea-overlay",Xe):Ye&&Ye.classList.toggle("rte-textarea-overlay",Xe),Ke)if(Xe)Ke.classList.add("rte-textarea-expanded"),Ke.style.maxHeight="none",Ke.style.height="100%";else{Ke.classList.remove("rte-textarea-expanded");const pt=Ke.dataset.maxHeight||"252";Ke.style.maxHeight=`${pt}px`,Ke.style.height="auto"}R.current&&(Xe?R.current.classList.add("rte-overlay-active"):R.current.classList.remove("rte-overlay-active"));return}const Ae=I.closest(".rte-richtext-toggle");if(Ae){ye.preventDefault(),ye.stopPropagation();const Ye=Ae.closest(".rte-richtext-wrapper"),Ke=Ye?.querySelector('[data-type="richtext"]'),Xe=!(Ae.getAttribute("data-expanded")==="true");Ae.setAttribute("data-expanded",String(Xe)),Ae.textContent=Xe?"收起":"展开";const dt=Ye?.closest(".rte-richtext-required");dt?dt.classList.toggle("rte-richtext-expanded",Xe):Ye&&Ye.classList.toggle("rte-richtext-expanded",Xe);const pt=Ye?.closest(".exclusion-wrapper")||Ye?.parentElement;Ke&&(Xe?(Ke.style.height="100%",Ke.style.overflow="auto"):(Ke.style.height="",Ke.style.overflow="")),pt&&(pt.classList.toggle("rte-richtext-host-expanded",Xe),pe(pt,Xe)),R.current&&R.current.classList.toggle("rte-richtext-fullscreen-active",Xe);return}if(I.closest('[data-type="text"]')){ye.preventDefault(),ye.stopPropagation();const Ye=window.getSelection();Ye&&Ye.removeAllRanges();return}if(b&&I.closest(".tag-node")){ye.preventDefault(),ye.stopPropagation();const Ke=window.getSelection();Ke&&Ke.removeAllRanges();return}if(I.closest('[data-type="variable"]')){if(J.current)return;setTimeout(()=>{const Ye=window.getSelection();Ye&&!Ye.isCollapsed||pE(R)},10);return}const Ne=I.closest(".file-remove-btn");if(Ne){ye.preventDefault(),ye.stopPropagation();const Ke=Ne.closest('[data-type="upload"]')?.dataset.key;Ke&&le(Ke);return}const Ze=I.closest('[data-type="upload"]');if(Ze){const Ye=Ze.dataset.key;Ye&&(P(Ye),H.current?.click());return}},qe=ye=>{const se=ye.target.closest('[data-type="variable"]');if(se){const Ue=window.getSelection();if(Ue){const pe=document.createRange(),Ve=se.textContent||"";if(Ve.replace(/\u200B/g,"")){let We=0,Pe=Ve.length;Ve.startsWith("")&&(We=1),Ve.endsWith("")&&Ve.length>1&&(Pe=Ve.length-1);const Ne=se.firstChild;Ne&&Ne.nodeType===Node.TEXT_NODE?(pe.setStart(Ne,We),pe.setEnd(Ne,Pe)):pe.selectNodeContents(se)}else pe.selectNodeContents(se),pe.collapse(!0);Ue.removeAllRanges(),Ue.addRange(pe)}}},Be=()=>{if(u.length===0){if(R.current){const se=!(R.current.textContent?.replace(/[\u200B\n]/g,"").trim()||"");Te(se),W(!se)}return}if(pE(R),R.current&&R.current.querySelectorAll('[data-type="variable"]').forEach(se=>{const Ue=se.querySelector(".variable-info-icon");if(Ue){let pe=!1;const Ve=document.createTreeWalker(se,NodeFilter.SHOW_TEXT,{acceptNode:Ae=>Ue.contains(Ae)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT});for(;Ve.nextNode();)if(Ve.currentNode.textContent?.replace(/[\u200B\n]/g,"").trim()){pe=!0;break}pe?Ue.classList.add("hidden"):Ue.classList.remove("hidden")}}),fE(R,u,A),dE(R,u,A,W),!R.current)return;u.filter(I=>I.type==="multi-variable"&&I.key).forEach(I=>{if(!I.key)return;const se=I.maxCount||9,Ue=ce[I.key]||1,pe=[];for(let Ne=0;Ne<Ue;Ne++){const Ze=`${I.key}_${Ne}`,Ye=R.current.querySelector(`[data-type="variable"][data-key="${Ze}"][data-multi-key="${I.key}"]`);if(Ye){const Ke=Ye.innerText.replace(/[\u200B\n]/g,"").trim();pe.push(Ke)}}const Ae=(pe[pe.length-1]||"")==="";let We=!1,Pe=-1;for(let Ne=0;Ne<pe.length-1;Ne++)if(pe[Ne]===""){We=!0,Pe=Ne;break}if(We&&Pe>=0){const Ne=window.getSelection();if(Ne&&Ne.rangeCount>0){const Xe=Ne.getRangeAt(0),dt=Xe.startContainer,pt=dt.nodeType===Node.ELEMENT_NODE?dt.closest('[data-type="variable"][data-multi-key]'):dt.parentElement?.closest('[data-type="variable"][data-multi-key]');if(pt){const gt=pt.dataset.key;if(gt){const Jt=document.createRange();Jt.setStartBefore(pt),Jt.setEnd(Xe.startContainer,Xe.startOffset);const In=Jt.toString().length;me.current={key:gt,offset:In}}}}const Ze=[...pe];for(let Xe=Pe;Xe<Ze.length-1;Xe++)Ze[Xe]=Ze[Xe+1];Ze.pop();const Ye={};Ze.forEach((Xe,dt)=>{Xe&&(Ye[`${I.key}_${dt}`]=Xe)});const Ke=Math.max(Ae?Ze.length:Ze.length+1,1);R.current.querySelectorAll('[data-type="variable"]').forEach(Xe=>{const dt=Xe.dataset.key,pt=Xe.dataset.multiKey;if(dt&&pt!==I.key){const gt=Xe.innerText.replace(/[\u200B\n]/g,"").trim();gt&&(Ye[dt]=gt)}}),R.current.__tempVariableValues=Ye,te(Xe=>({...Xe,[I.key]:Ke}));return}if(!Ae){const Ne=Ue-1,Ze=`${I.key}_${Ne}`,Ye=R.current.querySelector(`[data-type="variable"][data-key="${Ze}"][data-multi-key="${I.key}"]`);if(Ye&&Ye.innerText.replace(/[\u200B\n]/g,"").trim().length>0&&Ue<se){const it=window.getSelection();if(it&&it.rangeCount>0){const Xe=it.getRangeAt(0),dt=Xe.startContainer,pt=dt.nodeType===Node.ELEMENT_NODE?dt.closest('[data-type="variable"][data-multi-key]'):dt.parentElement?.closest('[data-type="variable"][data-multi-key]');if(pt){const gt=pt.dataset.key;if(gt){const Jt=document.createRange();Jt.setStartBefore(pt),Jt.setEnd(Xe.startContainer,Xe.startOffset);const In=Jt.toString().length;me.current={key:gt,offset:In}}}}te(Xe=>({...Xe,[I.key]:Ue+1}))}}})};O.useLayoutEffect(()=>{const ye=R.current;if(!ye)return;const I=new Map,se=Ve=>{const Ae=Ve.target,We=Ve.relatedTarget;!Ae||!R.current||!R.current.contains(Ae)||We&&R.current.contains(We)||setTimeout(()=>{if(R.current){if(u.length===0){const Pe=R.current.textContent?.replace(/[\u200B\n]/g,"").trim()||"";W(Pe.length>0);return}pE(R),fE(R,u,A),dE(R,u,A,W)}},0)};ye.addEventListener("blur",se,!0);const Ue=()=>{if(!R.current)return;I.forEach((We,Pe)=>{Pe.removeEventListener("blur",We,!1)}),I.clear();const Ve=R.current.querySelectorAll('[data-type="variable"][data-multi-key]'),Ae=We=>{We.stopPropagation(),We.stopImmediatePropagation();const Pe=We.target;if(!Pe||!R.current||!R.current.contains(Pe))return;const Ne=Pe.closest('[data-type="variable"][data-multi-key]');if(!Ne||!R.current.contains(Ne))return;let Ze=!1;if(I.forEach((Jt,In)=>{(In===Ne||In.contains(Pe))&&(Ze=!0)}),!Ze)return;const Ye=Ne.dataset.multiKey,Ke=Ne.dataset.key,it=Ne.dataset.index;if(!Ye||!Ke||it===void 0)return;const Xe=We.relatedTarget;if(!(!Xe||!R.current.contains(Xe)))return;const pt=Ne.innerText.replace(/[\u200B\n]/g,"").trim();console.log("[Blur Event] 失去焦点的 multi-variable 输入框:",{multiKey:Ye,currentKey:Ke,index:it,content:pt});const gt=/[、,,\s]+/;if(gt.test(pt)){const Jt=pt.split(gt).map(En=>En.trim()).filter(En=>En.length>0);console.log("[Blur Event] 拆分前的内容:",pt),console.log("[Blur Event] 拆分后的部分:",Jt);const Mn=Jt.slice(0,9);if(console.log("[Blur Event] 有效的部分(最多9个):",Mn),Mn.length>1){const En=u.find(yn=>yn.type==="multi-variable"&&yn.key===Ye);if(En){const yn=ce[Ye]||1,aa=parseInt(it,10),Un=En.maxCount||9,Ut=[];for(let pn=0;pn<yn;pn++){const la=`${Ye}_${pn}`,zn=R.current.querySelector(`[data-type="variable"][data-key="${la}"][data-multi-key="${Ye}"]`);if(zn){const jn=zn.innerText.replace(/[\u200B\n]/g,"").trim();Ut.push(jn)}}console.log("[Blur Event] 拆分前的所有值:",Ut),console.log("[Blur Event] 当前索引:",aa),console.log("[Blur Event] 要插入的值:",Mn),Ut.splice(aa,1,...Mn);const dn=Ut.slice(0,Un);console.log("[Blur Event] 拆分后的所有值:",dn),dn.length>0&&dn[dn.length-1]!==""&&dn.length<Un&&dn.push("");const Ua=Math.max(dn.length,1),xa={};dn.forEach((pn,la)=>{pn&&(xa[`${Ye}_${la}`]=pn)}),R.current.querySelectorAll('[data-type="variable"]').forEach(pn=>{const la=pn.dataset.key,zn=pn.dataset.multiKey;if(la&&zn!==Ye){const jn=pn.innerText.replace(/[\u200B\n]/g,"").trim();jn&&(xa[la]=jn)}}),R.current.__tempVariableValues=xa,te(pn=>({...pn,[Ye]:Ua}))}}}};Ve.forEach(We=>{We.addEventListener("blur",Ae,!1),I.set(We,Ae)})},pe=setTimeout(()=>{Ue()},0);return()=>{clearTimeout(pe),ye.removeEventListener("blur",se,!0),I.forEach((Ve,Ae)=>{Ae.removeEventListener("blur",Ve,!1)}),I.clear()}},[u,ce,A]);const $e=ye=>{if(s){ye.preventDefault();return}const I=window.getSelection();if(I&&I.rangeCount>0){const se=I.anchorNode;let Ue=null;if(se&&(se.nodeType===Node.ELEMENT_NODE?Ue=se.closest('[data-type="text"]'):se.nodeType===Node.TEXT_NODE&&se.parentElement&&(Ue=se.parentElement.closest('[data-type="text"]'))),Ue){if(ye.preventDefault(),ye.stopPropagation(),R.current){const pe=R.current.querySelector('[data-type="variable"], [data-type="upload"]');pe&&pe.focus()}return}}if(b&&I&&I.rangeCount>0){const se=I.anchorNode;let Ue=null;if(se&&(se.nodeType===Node.ELEMENT_NODE?Ue=se.closest(".tag-node"):se.nodeType===Node.TEXT_NODE&&se.parentElement&&(Ue=se.parentElement.closest(".tag-node"))),Ue){if(ye.preventDefault(),ye.stopPropagation(),R.current){const pe=R.current.querySelector('[data-type="variable"], [data-type="upload"]');pe&&pe.focus()}return}}if(ye.key==="Enter"&&!ye.shiftKey&&(ye.preventDefault(),Fe()),ye.key==="Escape"&&R.current){if(b){ye.preventDefault();return}R.current.innerHTML="",R.current.focus()}if(ye.key==="Backspace"){const se=window.getSelection();if(se&&se.rangeCount>0){const Ue=se.getRangeAt(0),pe=se.anchorNode;if(b){let Ae=null,We=null;if(pe&&(pe.nodeType===Node.ELEMENT_NODE?(Ae=pe.closest(".tag-node"),We=pe.closest('[data-type="text"]')):pe.nodeType===Node.TEXT_NODE&&pe.parentElement&&(Ae=pe.parentElement.closest(".tag-node"),We=pe.parentElement.closest('[data-type="text"]'))),(Ae||We)&&Ue.collapsed&&Ue.startOffset===0){ye.preventDefault();return}}let Ve=null;if(pe&&(pe.nodeType===Node.ELEMENT_NODE?Ve=pe.closest('[data-type="variable"]'):pe.nodeType===Node.TEXT_NODE&&pe.parentElement&&(Ve=pe.parentElement.closest('[data-type="variable"]'))),Ve){if(!Ue.collapsed)return;const Ae=Ve.innerText;if(Ae===""||Ae===""){ye.preventDefault();return}if(Ue.startOffset===0){ye.preventDefault();return}if(Ae.startsWith("")&&Ue.startOffset===1){ye.preventDefault();return}}}}},Fe=()=>{if(d||s||y||!ie||!R.current)return;if(u.length===0){const Ve=R.current.textContent?.replace(/[\u200B\n]/g,"").trim()||"";if(!Ve)return;f(Ve,Ve);return}const ye=R.current;let I="";const se={},Ue=Ve=>{if(!(Ve.nodeType===Node.ELEMENT_NODE&&Ve.style.display==="none")){if(Ve.nodeType===Node.TEXT_NODE)I+=(Ve.textContent||"").replace(/\u200B/g,"");else if(Ve.nodeType===Node.ELEMENT_NODE){const Ae=Ve,We=Ae.dataset.type,Pe=Ae.dataset.key;if(We==="variable"&&Pe){let Ne="";const Ze=document.createTreeWalker(Ae,NodeFilter.SHOW_TEXT,{acceptNode:Ke=>{const it=Ae.querySelector(".variable-info-icon");return it&&it.contains(Ke)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}});for(;Ze.nextNode();)Ne+=Ze.currentNode.textContent||"";const Ye=Ne.replace(/[\u200B\n]/g,"").trim();if(Ye){const Ke=Ae.dataset.multiKey;if(Ke){(!se[Ke]||!Array.isArray(se[Ke]))&&(se[Ke]=[]);const it=se[Ke];it.push(Ye),it.length>1&&(I+=" "),I+=Ye}else se[Pe]=Ye,I+=Ye}}else if(We==="select"&&Pe){const Ne=Ae,Ze=(Ne.value||"").trim();if(Ze){se[Pe]=Ze;const Ye=Ne.selectedOptions?.[0];I+=Ye?.textContent||Ze}}else if(We==="textarea"&&Pe){const Ze=(Ae.value||"").replace(/\u200B/g,"").trim();Ze&&(se[Pe]=Ze,I+=Ze)}else if(We==="richtext"&&Pe){const Ze=(Ae.textContent||"").replace(/\u200B/g,"").trim();Ze&&(se[Pe]=Ze,I+=Ze)}else if(We==="datepicker"&&Pe){const Ze=(Ae.getAttribute("data-value")||"").trim();Ze&&(se[Pe]=Ze,I+=Ze)}else if(We==="upload"&&Pe)se[Pe]=A[Pe]??null,A[Pe]&&(I+=` [附带文件: ${A[Pe]?.name}] `);else{if(Ae.classList.contains("tag-close-btn")||Ae.classList.contains("file-remove-btn"))return;Ae.getAttribute("contenteditable")==="false"&&!We&&Ae.classList.contains("tag-node")?I+=Ae.innerText:Ae.childNodes.forEach(Ue)}}}};if(ye.childNodes.forEach(Ue),I=I.trim(),!I)return;const pe=new FormData;pe.append("fullPrompt",I),Object.keys(se).forEach(Ve=>{const Ae=se[Ve];Ae!=null&&(Ae instanceof File?pe.append(Ve,Ae):Array.isArray(Ae)?u.some(Pe=>Pe.type==="multi-variable"&&Pe.key===Ve)?Ae.forEach(Pe=>{Pe!=null&&Pe!==""&&pe.append(Ve,String(Pe))}):Ae.forEach((Pe,Ne)=>{Pe!=null&&(Pe instanceof File?pe.append(`${Ve}[${Ne}]`,Pe):typeof Pe=="string"?pe.append(`${Ve}[${Ne}]`,Pe):pe.append(`${Ve}[${Ne}]`,String(Pe)))}):typeof Ae=="string"?pe.append(Ve,Ae):pe.append(Ve,String(Ae)))}),f(pe,I)},Le={...p?{width:typeof p=="number"?`${p}px`:p}:{},...w?{border:w}:{},...q?{background:q}:{}};return ke.jsxs("div",{className:"rich-text-editor",style:Le,"data-disabled":s,children:[ke.jsx("div",{ref:R,className:`rte-editor ${u.length===0?"rte-editor-default":""} ${ae&&C?"rte-editor-empty":""}`,contentEditable:u.length===0,suppressContentEditableWarning:!0,"data-placeholder":C,onMouseDown:be,onMouseMove:Me,onMouseUp:Oe,onClick:ze,onDoubleClick:qe,onInput:Be,onKeyDown:$e,onPaste:K}),ke.jsx("input",{type:"file",ref:H,className:"rte-file-input",accept:".csv,.xlsx,.xls,.txt,.pdf,image/*",onChange:re}),ke.jsxs("div",{className:"rich-text-editor-footer",children:[ke.jsx("div",{className:"rich-text-editor-footer-left",children:ke.jsxs("div",{className:"rich-text-editor-brand",children:[ke.jsxs("div",{className:"rte-brand-badge",children:[ke.jsx("img",{src:"https://oospublic.sealseek.cn/file/website/ball.png",alt:""}),ke.jsx("span",{className:"rte-brand-text",children:"SealSeek 1.0"})]}),U!=="hideAgent"&&ke.jsx(Qt.Dropdown,{placement:"top",menu:{items:T.map(ye=>({key:ye.key,label:ke.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[ye.icon&&ke.jsx("i",{className:ye.icon}),ke.jsx("span",{children:ye.label})]}),onClick:()=>{g?.(ye)}}))},trigger:["click"],disabled:s||d,children:ke.jsxs("div",{className:"rte-agent-badge",style:{cursor:T.length>0?"pointer":"default"},children:[ke.jsx("i",{className:"iconfont icon-zhinengti"}),ke.jsx("span",{className:"rte-agent-text",children:"智能体"})]})})]})}),ke.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[(()=>{const ye=u.find(se=>se.type==="tag");if(!ye||!ye.text)return null;const I=T.find(se=>se.label===ye.text);return!I||I.points===void 0||I.points===null?null:ke.jsxs("div",{className:"rte-points-badge",children:[ke.jsx("i",{className:"iconfont icon-jifen",style:{marginRight:"4px"}}),ke.jsxs("span",{style:{fontSize:"16px"},children:["-",String(I.points)]})]})})(),ke.jsx("button",{type:"button",onClick:Fe,disabled:d||s||y||!ie,className:"rich-text-editor-send-button",children:d||y?ke.jsx("span",{className:"rte-send-spinner"}):ke.jsx("i",{className:"iconfont icon-fasong"})})]})]}),Q?.anchorEl&&(()=>{if(!document.body.contains(Q.anchorEl))return null;let ye="",I={background:"var(--neutral-800, #262626)"};if(Q.type==="upload")ye=u.find(pe=>pe.type==="upload"&&pe.key===Q.key)?.tooltip||"";else if(Q.type==="tag")ye=Q.anchorEl.dataset.tooltip||"";else if(Q.type==="upload-label")ye=Q.anchorEl.dataset.fileName||"";else if(Q.type==="variable")ye=Q.anchorEl.dataset.tooltip||"";else if(Q.type==="upload-preview"){const Ue=A[Q.key];if(Ue&&Ue.type&&Ue.type.startsWith("image/")){const pe=URL.createObjectURL(Ue);ye=ke.jsx("div",{style:{width:120,height:120,display:"flex",alignItems:"center",justifyContent:"center"},children:ke.jsx("img",{src:pe,style:{maxWidth:120,maxHeight:120,objectFit:"contain"}})}),I={background:"#fff",padding:4},setTimeout(()=>URL.revokeObjectURL(pe),1e3)}else ye=""}if(!ye)return null;const se=Q.type==="upload-preview"?"#0A0A0A":"#fff";return xl.createPortal(ke.jsx(Qt.Tooltip,{arrow:!1,title:ke.jsx("div",{style:{maxWidth:"200px",fontSize:"12px",color:se},children:ye}),open:!0,placement:"top",getPopupContainer:()=>document.body,overlayInnerStyle:I,children:ke.jsx("div",{style:{position:"fixed",left:`${Q.anchorEl.getBoundingClientRect().left}px`,top:`${Q.anchorEl.getBoundingClientRect().top}px`,width:`${Q.anchorEl.offsetWidth}px`,height:`${Q.anchorEl.offsetHeight}px`,pointerEvents:"none"}})}),document.body)})()]})};P2.__docgenInfo={displayName:"RichTextEditor",description:"结构化富文本输入组件,支持标签、变量输入块、文件上传以及互斥显示逻辑。",props:{config:{name:"config",required:!0,description:"结构化输入配置节点数组",type:{name:"InputNode[]",raw:"InputNode[]"}},onSend:{name:"onSend",required:!0,description:"点击发送按钮时的回调,返回数据与拼接后的 Prompt",type:{name:"function",raw:"(data: Record<string, any>, fullPrompt: string) => void"}},isProcessing:{name:"isProcessing",required:!1,description:"是否处于处理状态(禁用输入与发送)",type:{name:"boolean",raw:"boolean"},defaultValue:{value:"false"}}}};const Q2="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAFSSURBVHgB3ZTtccIwDIaVXv83I2SDZgSP0BHMBG0naEZhA2boBGQDswHdQJUOGRxjO0Z8HPDe6eJzJD2W4gjgEYSIn2xwK6EIFHqBGysJpMP3ZB0oRbEtmal1NtIxl4OWWsoxEsvqofJ0rgTNASOYq+7SXKDsuYvAcgkq/PWwBLQWqIfdjeRStaBUc4qzgLi9/BzJNmS/sh6bpvmrTfSFacU3scWy1mQryWdSnXiFE8QVUJINLTuyhWzzz/1OZmTN9hEckqtfUOwIGlGCpVRjE+94JFqpMtTeVzO8/UmPxpZU8Qa7aln8Tb9pfwla4WHWrjPvvbbnTBsX7PmLs83EDAH0BxSw1G31+/1FoDg/vPcXR+wocQS1apj4+P92FfhOoLyuBfYlmPgYnGoCjWADzAkzUyJ430awLmphPaxWQVU22BuuApPkHaanjcXSN3t6/QNjTMSJWDcs1QAAAABJRU5ErkJggg==",DR=[{label:"5页",value:5},{label:"10页",value:10},{label:"15页",value:15},{label:"30页",value:30}],MR=({autoLoading:u,batchSize:f,loadingProgress:d,loadIcon:s,onBatchSizeChange:p,onLoadNextPage:b,onStartAutoLoad:T,onStopLoad:g})=>u&&d?ke.jsxs("div",{className:"auto_load_progress",children:[s||ke.jsx("img",{src:Q2,alt:"自动加载",width:14,height:14}),ke.jsxs("span",{children:["正在加载第",d.currentPage,"/",d.totalPages,"页"]}),ke.jsx(Qt.Progress,{percent:d.percentage,type:"line",size:[160,8]}),ke.jsx("span",{onClick:g,className:"auto_load_stop_btn",children:"停止加载"})]}):ke.jsxs("div",{className:"auto_load_container",children:[ke.jsx("div",{onClick:b,className:"auto_load_next_btn",style:{backgroundColor:u?"#f5f5f5":"#2563eb"},children:"加载下一页"}),ke.jsxs("div",{className:"right_control_wrap",style:{backgroundColor:u?"#f5f5f5":"#2563eb"},children:[ke.jsxs("div",{className:"auto_load_btn",onClick:u?void 0:T,children:[s||ke.jsx("img",{src:Q2,alt:"自动加载",width:14,height:14}),ke.jsx("span",{children:"自动加载"})]}),ke.jsx(Qt.Select,{value:f,onChange:p,options:DR,disabled:u,size:"small",className:"auto_load_select",popupMatchSelectWidth:84})]})]}),zR=({current:u,loadIcon:f,pageSize:d,total:s,cachedPages:p,loadedCount:b,autoLoading:T=!1,loadingProgress:g,onChange:S,onLoadNextPage:y,onStartAutoLoad:C,onStopLoading:w})=>{const[q,U]=O.useState(5),R=Math.ceil(s/d),H=O.useMemo(()=>p.length>=R,[p,R]),A=()=>Array.from({length:R},(P,Q)=>Q+1).filter(P=>!p.includes(P)).slice(0,q),L=(B,P,Q)=>{const V=p.includes(B);return P==="prev"||P==="next"||P==="jump-prev"||P==="jump-next"?ke.jsx("div",{className:"pageBox",children:Q}):ke.jsxs("div",{className:"pageBox",style:{backgroundColor:u===B?"#2563EB":"#f5f5f5",color:u===B?"#fff":V?"#171717":"#a3a3a3"},children:[B,!V&&ke.jsx("span",{className:"unload_spot"})]})};return ke.jsxs("div",{className:"pagination_footer",children:[ke.jsxs("div",{className:"pagination_leftWrap",children:[ke.jsxs("span",{className:"pagination_total",children:[ke.jsx(bc.InfoCircleOutlined,{style:{color:"#2563EB",marginRight:"4px"}}),"已加载: ",b,"/",s,"条数据"]}),!H&&ke.jsx(MR,{loadIcon:f||void 0,autoLoading:T,batchSize:q,loadingProgress:g,disabled:!y||!C,onBatchSizeChange:U,onLoadNextPage:()=>y?.(),onStartAutoLoad:()=>{const B=A();C?.(B)},onStopLoad:()=>w?.()})]}),ke.jsx(Qt.Pagination,{current:u,pageSize:d,total:s,onChange:B=>S(B),showSizeChanger:!1,showQuickJumper:!1,showTotal:(B,P)=>"",itemRender:L})]})},Z2=u=>{const{loading:f,autoLoading:d,loadingProgress:s,columns:p=[],dataSource:b=[],total:T,current:g,pageSize:S,cachedPages:y,onChangePage:C,onLoadNextPage:w,onStartAutoLoad:q,onStopLoading:U,...R}=u,H=O.useRef(null),A=O.useCallback(L=>{C(L),y.includes(L)&&H.current?.scrollTo({key:`${(L-1)*S+1}`})},[g]);return ke.jsxs("div",{className:"flex flex-col",children:[ke.jsx(Qt.Table,{ref:H,...R,columns:p,dataSource:b,pagination:!1,virtual:!0}),ke.jsx(zR,{loading:f,autoLoading:d,loadingProgress:s,current:g,pageSize:S,total:T,loadedCount:b.length,cachedPages:y,onChange:A,onLoadNextPage:w,onStartAutoLoad:q,onStopLoading:U})]})};Z2.__docgenInfo={displayName:"VirtualTable",description:"虚拟滚动表格组件,支持分页、数据缓存和自动加载功能。",props:{loading:{description:"加载状态",name:"loading",required:!0,type:{name:"boolean",raw:"boolean"},defaultValue:{value:"false"}},total:{description:"总数据条数",name:"total",required:!0,type:{name:"number",raw:"number"},defaultValue:{value:"0"}},current:{description:"当前页码",name:"current",required:!0,type:{name:"number",raw:"number"},defaultValue:{value:"1"}},pageSize:{description:"每页数据条数",name:"pageSize",required:!0,type:{name:"number",raw:"number"},defaultValue:{value:"10"}},cachedPages:{description:"已缓存的页码数组",name:"cachedPages",required:!0,type:{name:"number[]",raw:"number[]"},defaultValue:{value:"[]"}},dataSource:{description:"数据源",name:"dataSource",required:!0,type:{name:"Array<T>",raw:"Array<T>"},defaultValue:{value:"[]"}},onChangePage:{description:"页码变更回调函数",name:"onChangePage",required:!0,type:{name:"function",raw:"function(page: number): void"},defaultValue:{value:"-"}},autoLoading:{description:"是否正在自动加载",name:"autoLoading",required:!0,type:{name:"boolean",raw:"boolean"},defaultValue:{value:"false"}},loadingProgress:{description:"加载进度信息",name:"loadingProgress",required:!0,type:{name:"object",raw:"{percentage: 0, currentPage: 1, totalPages: 5}"},defaultValue:{value:"-"}},onLoadNextPage:{description:"加载下一页回调函数",name:"onLoadNextPage",required:!1,type:{name:"function",raw:"function(page: number): void"},defaultValue:{value:"-"}},onStartAutoLoad:{description:"开始自动加载回调函数",name:"onStartAutoLoad",required:!1,type:{name:"function",raw:"function(loadNextPages: number[]): void"},defaultValue:{value:"-"}},onStopLoading:{description:"停止加载回调函数",name:"onStopLoading",required:!1,type:{name:"function",raw:"function(): void"},defaultValue:{value:"-"}},columns:{description:"表格列配置",name:"columns",required:!0,type:{name:"Array<object>",raw:"Array<object>"},defaultValue:{value:"[]"}}}};const K2=({texts:u=[],placeholder:f="请输入内容",animationSpeed:d=100,autoPlay:s=!0,value:p,onChange:b,...T})=>{const[g,S]=O.useState(""),[y,C]=O.useState(0),[w,q]=O.useState(!1),[U,R]=O.useState(!1),[H,A]=O.useState(!1),L=O.useRef(void 0),B=O.useRef(void 0),P=O.useRef(u),Q=O.useRef(y),V=O.useRef(U),J=O.useRef(g);O.useEffect(()=>{P.current=u,Q.current=y,V.current=U,J.current=g});const ne=O.useCallback((te,Z)=>{let D=0;A(!0);const k=()=>{D<te.length?(S(te.slice(0,D+1)),D++,B.current=window.setTimeout(k,d)):(A(!1),Z?.())};k()},[d]),ie=O.useCallback(te=>{let Z=J.current.length;const D=()=>{Z>0?(S(J.current.slice(0,Z-1)),Z--,B.current=window.setTimeout(D,d/2)):te?.()};D()},[d]),W=O.useCallback(()=>{if(P.current.length===0||V.current)return;q(!0);const te=P.current[Q.current];J.current?ie(()=>{ne(te,()=>{L.current=window.setTimeout(()=>{C(Z=>(Z+1)%P.current.length),q(!1)},2e3)})}):ne(te,()=>{L.current=window.setTimeout(()=>{C(Z=>(Z+1)%P.current.length),q(!1)},2e3)})},[ie,ne]);O.useEffect(()=>(s&&u.length>0&&!U&&W(),()=>{L.current&&window.clearTimeout(L.current),B.current&&window.clearTimeout(B.current)}),[y,U,s,u.length,W]),O.useEffect(()=>{!w&&s&&u.length>0&&!U&&W()},[y,w,s,u.length,U,W]);const me=te=>{R(!0),L.current&&window.clearTimeout(L.current),B.current&&window.clearTimeout(B.current),q(!1),A(!1),T.onFocus?.(te)},ae=te=>{R(!1),!p&&u.length>0&&(S(""),C(0)),T.onBlur?.(te)},Te=te=>{b?.(te.target.value),T.onChange?.(te)},ce=()=>U||p?f:g||f;return ke.jsxs("div",{style:{position:"relative"},children:[ke.jsx(Qt.Input,{...T,value:p,onChange:Te,onFocus:me,onBlur:ae,placeholder:ce(),style:{...T.style,position:"relative",zIndex:1}}),!U&&!p&&g&&ke.jsxs("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,display:"flex",alignItems:"center",paddingLeft:11,paddingRight:11,color:"#bfbfbf",pointerEvents:"none",zIndex:2,fontSize:14,fontFamily:"inherit"},children:[ke.jsx("span",{children:g}),H&&ke.jsx("span",{style:{display:"inline-block",width:1,height:"1.2em",backgroundColor:"#1890ff",marginLeft:2,animation:"blink 1s infinite"}})]}),ke.jsx("style",{children:`
|
|
307
307
|
@keyframes blink {
|
|
308
308
|
0%, 50% { opacity: 1; }
|
|
309
309
|
51%, 100% { opacity: 0; }
|